← All tools

Message & Error Explainer

What an ArduPilot message means and what to do about it

Українська

The copter is trying again to find the landing target, or has given up

WarningRangefinder, optical flow, camera, OSD and other devicesCopter only

What ArduPilot says:

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

  1. PLND_STRICT is 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.

  2. 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.

  3. 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

ParameterWhat it is
PLND_STRICTPrecLand strictness
PLND_RET_MAXPrecLand Maximum number of retires for a failed landing
PLND_RET_BEHAVEPrecLand retry behaviour
PLND_TIMEOUTPrecLand retry timeout
PLND_ALT_MINPrecLand minimum alt for retry
PLND_ALT_MAXPrecLand 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

Written here for Copter 4.6. In the tool you choose your vehicle and version, see your own parameter values beside the ones named here, and drop a flight log to have every message in it explained.

Open it in the Message & Error Explainer