The copter is trying again to find the landing target, or has given up
What ArduPilot says:
- PrecLand: Retry Completed
- PrecLand: Failsafe Measures
- PrecLand: Retrying
The landing target is not in sight during a precision landing, and the copter acts as PLND_STRICT says. “PrecLand: Retrying”: it goes back to where it was when it last saw the target (to where the target was, with PLND_RET_BEHAVE 1), 1.5 m higher, to pick the target up again. “PrecLand: Retry Completed”: it is back there, at the height it started the try from. “PrecLand: Failsafe Measures”: the target was never seen, a try ended without finding it, or the tries (PLND_RET_MAX, 4 by default) are used up. Then, with PLND_STRICT 1, it holds still for 7 s and lands straight down; with 2 it hovers and does not land; with 0 it lands straight down at once.
What to do, most likely first
PLND_STRICTis 2 and the target cannot be found: the copter will hover until something else ends the flight.FixTake over now: switch to Loiter or AltHold and land by hand. Use 2 only where landing beside the target is truly worse than not landing.
The landing does not end over the target: the copter came down too far away to see it.
CheckIn the log there is no “PrecLand: Target Found” before “PrecLand: Failsafe Measures”. RTL lands at home, a mission where its landing item says.
FixPut the target where the landing ends, within the sensor's view from the height at which the descent begins.
The sensor keeps losing a target that is there.
Check“PrecLand: Target Found” and “PrecLand: Target Lost” alternate in the log.
FixSee “PrecLand: Target Lost”: the target's size, the light, the companion computer.
With no rangefinder, or outside PLND_ALT_MIN to PLND_ALT_MAX (0.75 to 8 m by default), the copter neither tries again nor takes these measures: it descends straight down.
Parameters to look at
| Parameter | What it is |
|---|---|
PLND_STRICT | PrecLand strictness |
PLND_RET_MAX | PrecLand Maximum number of retires for a failed landing |
PLND_RET_BEHAVE | PrecLand retry behaviour |
PLND_TIMEOUT | PrecLand retry timeout |
PLND_ALT_MIN | PrecLand minimum alt for retry |
PLND_ALT_MAX | PrecLand maximum alt for retry |
The code that sends it
PrecLand: Retry Completed
libraries/AC_PrecLand/AC_PrecLand_StateMachine.cpp AC_PrecLand_StateMachine::retry_landing() · Open in ArduPilot Copter-4.7.1
PrecLand: Failsafe Measures
libraries/AC_PrecLand/AC_PrecLand_StateMachine.cpp AC_PrecLand_StateMachine::get_failsafe_actions() · Open in ArduPilot Copter-4.7.1
PrecLand: Retrying
libraries/AC_PrecLand/AC_PrecLand_StateMachine.cpp AC_PrecLand_StateMachine::retry_landing() · Open in ArduPilot Copter-4.7.1