← All tools

Message & Error Explainer

What an ArduPilot message means and what to do about it

Українська

Dead reckoning: flying on an estimated position, without GPS

Act nowFailsafes and emergencies in flightCopter only

What ArduPilot says:

The EKF lost its position source (usually GPS) and is estimating position from the wind and drag model alone, which works only when that model is set up (EK3_DRAG_BCOEF_X, EK3_DRAG_BCOEF_Y). “Dead Reckoning started”: in a mode that needs position the copter takes the FS_DR_ENABLE action at once (2, RTL, by default) while the estimate is still usable. “Dead Reckoning timeout”: FS_DR_TIMEOUT seconds (30 by default) have passed, the estimate is no longer trusted and the EKF failsafe follows. “Dead Reckoning stopped”: the position source is back.

What to do, most likely first

  1. The GPS was lost in flight: jamming, spoofing protection, an antenna or cable fault.

    CheckGPS.Status and GPS.NSats in the log drop right before “Dead Reckoning started”.

    FixLet the copter use the time it has: the default action flies it home while the estimate lasts. If you see it, take over in AltHold before the timeout.

  2. FS_DR_TIMEOUT is longer than the estimate stays good: the position error grows with every second and with every change of wind.

    FixChoose FS_DR_TIMEOUT from a test: fly with the GPS switched off by an auxiliary switch near you and see how far the estimate wanders in that time.

“ERR FAILSAFE_DEADRECKON-1” is written when the action is taken. On a copter without the drag model set up, dead reckoning never starts: losing the GPS leads straight to the EKF failsafe.

Parameters to look at

ParameterWhat it is
FS_DR_ENABLEDeadReckon Failsafe Action
FS_DR_TIMEOUTDeadReckon Failsafe Timeout
EK3_DRAG_BCOEF_XBallistic coefficient for X axis drag
EK3_DRAG_BCOEF_YBallistic coefficient for Y axis drag
FS_EKF_ACTIONEKF Failsafe Action

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