← All tools

Message & Error Explainer

What an ArduPilot message means and what to do about it

Українська

Plane decided it has crashed or landed hard

Act nowFailsafes and emergencies in flightPlane only

What ArduPilot says:

Crash detection works in AUTO only, when CRASH_DETECT is not 0. Plane decides it has crashed when it is armed and had been flying for at least 2.5 s, and then for half a second has neither airspeed (below 75% of AIRSPEED_MIN) nor ground speed (below 1.5 m/s). At the end of a landing a roll or pitch beyond 60° counts as a crash too; within 75 m of the landing point it is reported as “Hard landing detected”. With CRASH_DETECT bit 0 set the motor is disarmed, so that a blocked propeller does not burn the ESC.

What to do, most likely first

  1. It did crash, or came down away from the landing point.

    FixDisconnect the battery before you touch the propeller. Then read the log back from the message: airspeed, height and throttle in the last half minute usually tell the story.

  2. A hand or catapult launch failed: the launch was detected, but the plane never flew.

    CheckThe message comes a few seconds after “Triggered AUTO” and the log shows no climb.

    FixCheck that the motor starts quickly enough after the throw (TKOFF_THR_DELAY) and throw harder and level. If handling the plane set it off, TKOFF_THR_MINACC is too low for your launch.

  3. The automatic landing ended on the nose or on a wing (“Hard landing detected”).

    FixLook at the “Flare” line of that landing: the height and sink rate at which the flare began. Flare higher (LAND_FLARE_ALT, LAND_FLARE_SEC) or approach slower.

The check needs a GPS 3D fix or a working airspeed sensor. “Flare crash detected” is sent in place of the usual “Flare” line when the flare begins while the plane's flying state is more than 3 s old; it is seldom seen. In 4.7 a failed launch counts as a crash only when TKOFF_ACCEL_CNT is 1.

Parameters to look at

ParameterWhat it is
CRASH_DETECTCrash Detection
CRASH_ACC_THRESHCrash Deceleration Threshold
AIRSPEED_MINMinimum Airspeed
TKOFF_THR_MINACCTakeoff throttle min acceleration
LAND_FLARE_ALTLanding flare altitude
LAND_FLARE_SECLanding flare time
The code that sends it

Hard landing detected

ArduPlane/is_flying.cpp Plane::crash_detection_update() · Open in ArduPilot Plane-4.7.1

Flare crash detected: speed=N.N

libraries/AP_Landing/AP_Landing_Slope.cpp AP_Landing::type_slope_verify_land() · Open in ArduPilot Plane-4.7.1

Crash detected

ArduPlane/is_flying.cpp Plane::crash_detection_update() · Open in ArduPilot Plane-4.7.1

Written here for Plane 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