Not landing in RTL mode

Iam using ArduPilot firmware in my copter, sometimes in RTL mode the drone stay above home without descendind. This is a parameter issue or sensors failures?


As always: without more information we can not guess!

Please provide hardware and firmware version information as well as .bin log files.

Check RTL_ALT_ FINAL parameter .if this is non zero value RTL mode will not land instead just hover at an altitude of RTL_ALT_FINAL.

Copter 3.6.12 with some modifications(PID in servos, failsafes, mavlink packets, not critical) running in a Pixhawk 4.

I burned(literally :frowning: )my SD card… but certainly the descending are not commanded, the CTUN showed that desired altitude matches with altitude and in other flights the structural parts/logs are fine.

In other places I found the explanation: RTL_ALT_FINAL = -1 instead 0, but in code, land_state will be true in <= 0 cases, and this variable is a Int16_t, cant be float errors…

In fw code the transition of loiter state and land state occurs when the auto yaw mode is reset in arm and the difference between initial armed bearing and yaw is less than two degrees or auto yaw mode is another.


My hypothesis is that the high error in yaw controller implies in a forever loiter at home state in RTL mode. I set WP_YAW_BEHAVIOUR = 2.


Maybe it`s time to update to ArduCopter 4.1.0-rc3?

You can try new firmware, such as arducopter 4.07.

Yes, I will upgrade my firmware, but the RTL code is the same in both versions.

Increases the tolerance between yaw measured and yaw setted in arm to 10 degrees is dangerous in any way?


If you can reproduce it in 4.1.0-rc3, open a github issue.