Unexpected RTL while in Land Mode

Ran into an unexpected behavior last week while executing a mission. I planned a simple mission…

  1. Takeoff (w/ lat/lon A)
  2. Waypoint (w/ lat/lon B)
  3. Land (w/ lat/lon C)

It executed #1, then #2 and then began #3 as expected… as my vehicle was descending in it’s LAND procedure, at around 10m from the ground, the battery fell below it’s failsafe limit and it switched into RTL… which then took the vehicle up to its RTL altitude, moved to it’s home location and landed. No crash (which is ALWAYS good), but I would have expected it to just complete its LAND action since that was the quickest most direct path to get the vehicle to the ground safely. I guess I thought there would be some sort of condition in the code to check if the vehicle was already in a LAND mode (w/ and alt of zero) prior to executing RTL? Is there a flag or bit that I can set to enable this sort of behavior?

Thanks kindly,

Different RTL behaviours can be set using these parameters.

copter.ardupilot.com/wiki/rtl-mo … Parameters

Setting to always LAND when RTL triggers may also not be advisable in some situations. ie. if LAND was followed by a TAKEOFF and return, you may want to mission to abort.

The more behaviours and options we program in the more complex the code is for testing (and somebody always needs something different). The ultimate would be scripting, so either the Ground station or the Copter on Battery Fail safe condition met would follow a user scripted instruction.

This question really is an APM:Copter question so I have moved it to that topic.