Dronekit timeout on a new image

Hello,

I’m another newbie learning Navio2+Raspberrypi 4 (Model B 4G) and trying to build a quadcopter drone. I downloaded and installed the latest Navio2 image as shown below:

And then, I ran the ardupilot to set up my arducopter as shown below:

The arducopter was running successfully.

It looks like the arducopter version is 4.0. I also tried to run @novice’s connect_quad.py example above, but it still failed to run and generated the same error messages as shown below:

Am I missing something to set up the ardupilot and run the example? I don’t think the latest Navio2 image fixed the Dronekit connection issue and it is still occurring.

Would you please give some idea on how to resolve the issue with running the Dronekit examples?

By the way, in Mission Planner, I was able to connect to the Ardupilot on Navio2+Rpi4 board using UDP / 57600 baud rate.

Thank you,

Hi @chong.pak,

Welcome to the community forum!

We’ll check this and will get back to you. Meanwhile, may I ask you to perform the RCIO update? You can use the following command for it:

sudo emlidtool rcio update -f

Hi @polina.buriak,

I ran the RCIO update as requested and it ran successfully.

After rebooting the navio, the arducopter was still running successfully.

But the simple connect_quad.py python script still failed to run:

Do you have any other updates on this issue?

Thanks,

Hi @chong.pak,

Thanks for the update!

Let’s try to check things step-by-step. It seems like there are issues with the barometer as seen on your first screenshot.

Could you please run the barometer example from our docs and post the output here? This way, we’ll be able to check if it’s working correctly and not causing any further issues.

Hi @polina.buriak,

I tried to run the barometer python example, but it failed to run with the following error message:
barometer_error

So, I had to stop Ardupilot and run the Barometer example. This time, it ran successfully as shown below:
barometer_output

Please let me know what I should try to run next.

Thanks,

Hi @polina.buriak,

Do you have any update on this issue?

Thanks,

Hi @chong.pak,

Sorry to keep you waiting.

At the moment, I’m trying to reproduce this issue. I’ll be in touch as soon as I get any news about it.

Hi @chong.pak,

Could you please share what’s in your launch file that can be found by this path /etc/default/arducopter?

Also, please launch the arducopter and run the command journalctl -u arducopter. I’ll need to check the output of this command.

Hi @liudmila.slepova,

Below is the output from “cat /etc/default/arducopter”:

Below is the output from “journalctl -u arducopter”:

Chong

Hi Chong,

When you execute connect_quad.py example script, you need to make sure that the arducopter is running. The script outputs a timeout exception when autopilot is not started. You need to specify 127.0.0.1:14550 IP-address and port in the launch file. After changing the address, you need to reload the configuration, restart the arducopter, and run the script again.

Regarding the barometer, does the ArduPilot still shows the error message ms5611: Failed? If it’s so, please run sudo i2cdetect -y 1 and sudo emlidtool and post the results here.

1 Like

Hi @liudmila.slepova,

Thank you for the info. After changing the IP address to 127.0.0.1 in /etc/default/arducopter, the connect_quad.py example ran successfully without the errors as shown below:

Also, regarding the barometer, I don’t see any error message and all the tests were PASSED as shown below:

By the way, should I keep this IP address as 127.0.0.1 all the time when I even use Mission Planner? When I set up my Navio2+RaspberryPi4 at the beginning, I changed this IP to my laptop IP address where Mission Planner was running following the instructions in “Specifying launching options” section on this link:

I’m not sure if I need to keep this 127.0.0.1 localhost IP address from now on or change it back to my laptop IP address where the Mission Planner is running.

Thanks again,

Chong

Hi Chong,

When you use Dronekit and Mission Planner, you need to specify both IP addresses in the launch file: the loopback IP and the IP of the GCS. It can look like this:

TELEM1="-A udp:127.0.0.1:14500" 
TELEM2="-C udp:192.168.1.165:14550"

ARDUPILOT_OPTS="$TELEM1 $TELEM2"

Hi @liudmila.slepova,

Wait. I’m confused now. I thought “-C” should be used for telemetry. Below is my current configuration:

TELEM1="-A udp:127.0.0.1:14550"
TELEM2="-C /dev/ttyUSB0"


ARDUPILOT_OPTS="$TELEM1 $TELEM2"

Are you saying I need to define “-C” option twice? One is for my laptop IP and the other one is for telemetry? Does it even work?

Thanks,

Hi @liudmila.slepova,

Do you have any updated information on this question?

Thanks,

This is definitely confusing, why use ‘-C’ for IP Address of GCS?
The docs state for telemetry 1.

Still having issues with DroneKit connection to Navio2.

Hey there,

Sorry it took long to get back to you.

I meant using -C for GCS connection only when you use the -A parameter as a loopback IP. It’ll suit you if you want to run the scripts from the vehicle itself for simulation.

In your case, you should leave -C as it is when using USB telemetry modems.

@Vegetabull, have you tried to run the DroneKit examples from the official docs? Please share the output if there will be any errors.

Hello~

Is there any way to have Dronekit(loopbackIP), GCS via UDP, and GCS via telemetry to all be available?
image
In this case, TELEM2 doesn’t connect.

In other words, DroneKit works if I forgo connecting GCS via UDP, but GCS via telemetry still works.

Thoughts on this?

Hi @Vegetabull,

You need to assign the different serial ports for each telemetry option you use in the launch file. You can set -D flag, for example.

1 Like