← All tools

Message & Error Explainer

What an ArduPilot message means and what to do about it

Українська

The EKF no longer trusts the GPS (or the heading is wrong)

Act nowFailsafes and emergencies in flightCopter only

What ArduPilot says:

The EKF, ArduPilot's position and attitude estimator, flagged the GPS as unreliable: the receiver's own speed accuracy went above 1.5 m/s, or for a full second the GPS position and velocity disagreed with what the IMU and compass predict. The line changes nothing by itself, but in Loiter, RTL or Auto the copter may drift or lean away from where it should be, and if it gets worse the EKF failsafe follows (“EKF variance”). Be ready to switch to AltHold or Stabilize and fly by hand: those modes do not use the position.

What to do, most likely first

  1. GPS reception got worse: jamming or spoofing, buildings or trees, few satellites, or noise from a video transmitter or camera next to the antenna.

    CheckIn the log: GPS.NSats falling, GPS.HDop rising, GPA.SAcc above 1.5 at the time of the message.

    FixFly under open sky, mount the GPS away from transmitters and cameras, and take off only with a steady fix. Where jamming is expected, plan to fly without position.

  2. The heading is wrong, so GPS velocity does not match the direction the copter thinks it flies: compass interference from power wires, or a poor calibration.

    CheckThe copter circles around its hold point (“toilet bowl”) before the message; in the log the compass innovations (XKF3.IMX, IMY, IMZ) grow with throttle.

    FixCalibrate the compass outdoors away from metal, raise it away from power wires, and run the motor-interference calibration if the error grows with throttle.

  3. Strong vibration corrupts the IMU's velocity, and the GPS, which is right, looks wrong.

    CheckVIBE.VibeX, VibeY or VibeZ in the log above 30 m/s², or VIBE.Clip counting up.

    FixFind and remove the vibration: balance the props, check the flight controller's mounting.

Parameters to look at

ParameterWhat it is
FS_EKF_ACTIONEKF Failsafe Action
FS_EKF_THRESHEKF failsafe variance threshold
EK3_GLITCH_RADGPS glitch radius gate size (m)
COMPASS_MOTCTMotor interference compensation type
The code that sends it

GPS Glitch or Compass error

ArduCopter/events.cpp Copter::gpsglitch_check() · 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