ArduCopter 3.5/Navio2 RTL, Auto mode not working


I am using Navio2 together with a quadcopter. After initial setup and tuning, stabilize and position hold modes seem to work fine. However, when put into RTL the copter just hovers at the current position. When attempting to fly a mission loaded via APM Planner, the copter takes off to about half off the specified altitude, then starts declining. It never manages to really start navigating towards waypoints. At one time, it tried to speed up again but ended up flipping over and crashing.

log_16_2018-11-19-09-39-07.bin (1.0 MB)
Attached is a log file where the following was tried:

  1. Takeoff and fly a mission containing some waypoints. The takeoff altitude was set to 2 meters, but as can be seen it only reaches approx 1.5 m before starting to decline.

  2. Manually fly the copter a bit away from the home position, and switch to RTL. As can bee seen the copter does not move when set to RTL mode.

We tried recalibrating Accelerometer/Compass but it still does not work. As mentioned the pos hold mode works fine, so the values should be fine.
We also tried several different settings for the RTL-related parameters without any notable changes.


GPS performance is below average (7 to 8 sats with HDOP around 1.6). You could have 15 to 18 sats with HDOB below 1.0. Check the placement of your GPS antenna.

It may be the cause of the Auto or RTL behaviour, as the safe HDOP is set to 1.4



Hi @tobiasfriden,

Did Marc’s advice help you?

Did not have the chance to try ut out on my drone yet, will report back as soon as I so!

1 Like

We tried placing the GPS antenna further away from the electronics which seems to have significantly improved HDOP as well as number of sattelites. However, RTL still doesn’t work.

New log file: 18-11-26_10-46-26.bin (994.3 KB)

As can be seen we put the copter in RTL mode for quite some time but it doesn’t move at all.

Hi @tobiasfriden,

Could you please share hardware setup photos?

@tatiana.andreeva here are some pictures. The cardboard is a placeholder to shield the GPS antenna while we are 3D-printing a permanent solution. As can be seen in the last log this improved GPS performance (in the first log the cardboard was not used).

Hi @tobiasfriden,

Please provide a ground plane for antenna.

@tatiana.andreeva hello, we tried grounding the gps antenna but it’s performance didn’t improve. Still 12-14 antennas and HDOP ~ 1 meter. RTL also still doesn’t work.

We tried resetting all parameters to their default values and redo calibration from scratch. We have trouble with high compass offsets, could this be the cause of the issue? We also occasionally get a ‘ground mag anomaly’ warning during flight. Otherwise all prearm checks pass and stabilize/pos hold still works fine.

We tried setting compass #2 as primary as it has much better offsets than compass #1. Compass calibration is now fine according to QGroundControl, but RTL is still not working (same behaviour as before).

Edit 2:
Performed some additional flights today, to verify loiter behaviour as well. Loiter is also working fine, see below screenshots from dataflash logs:

Desired vs actual alt:

Desired vs actual x/y:

Desired vs actual velX/velY:

What I can tell from the flight tests is that when put into RTL mode the copter significantly increases in altitude. This is even after I set the parameter RTL_ALT=0. This can also be verified in the dataflash logs.

Also when put into RTL the copter sets DPosX,DPosY to 0 which makes sense, however it also sets DVelX,DVelY to 0. This explains why it doesn’t move towards home, but why does it do that?

This was finally resolved by upgrading the binary to latest version on (ArduCopter 3.6).

Now both RTL and Auto modes work fine!

Maybe the supplied raspberry pi image should be updated to use this version as well as there seems to be some kind of bug in 3.5.

This topic was automatically closed 100 days after the last reply. New replies are no longer allowed.