← All tools

Message & Error Explainer

What an ArduPilot message means and what to do about it

Українська

The transmitter's telemetry warns that a sensor disagrees with the EKF

WarningPosition and attitude estimate (EKF, AHRS)

What ArduPilot says:

These lines go only to the telemetry shown on the transmitter (CRSF, FrSky, Spektrum), not to the ground station. Each means one of the EKF's innovation ratios is at 0.8 or more: an innovation is the difference between what a sensor says and what the EKF, ArduPilot's position and attitude estimator, expected, and at 1.0 the reading is rejected. The 0.8 is fixed here, whatever FS_EKF_THRESH holds, and the lines repeat at most every 10 s. They are an early warning: the EKF failsafe needs more than one of them at once.

What to do, most likely first

  1. Compass variance: the compass disagrees with the heading, from motor current, metal nearby or a poor calibration.

    CheckIt comes at high throttle, or on the ground near steel.

    FixOn the ground, move away from metal before arming. If it comes in flight, land and deal with the compass: position, calibration, compass-motor calibration.

  2. Velocity or horizontal position variance: the GPS data jumps, or vibration makes the EKF's own velocity drift.

    CheckThe satellite count on the telemetry screen at that moment; the vibration levels in the log afterwards.

    FixBe ready to take over in a mode that needs no position. After landing, look at the GPS reception and the vibration.

  3. Vertical position variance: the barometer disagrees with the EKF's height, from airflow or light on the sensor, or from vibration.

    FixShield the barometer with open-cell foam and reduce vibration.

“Error terrain alt variance” is mislabelled in the code: the number it tests is the airspeed ratio, not anything about terrain. On a plane it points at the airspeed sensor; on a copter without one it should not appear.

Parameters to look at

ParameterWhat it is
FS_EKF_THRESHEKF failsafe variance threshold
The code that sends it

Error terrain alt variance

libraries/AP_RCTelemetry/AP_RCTelemetry.cpp AP_RCTelemetry::check_ekf_status() · Open in ArduPilot Copter-4.7.1

Error pos vert variance

libraries/AP_RCTelemetry/AP_RCTelemetry.cpp AP_RCTelemetry::check_ekf_status() · Open in ArduPilot Copter-4.7.1

Error velocity variance

libraries/AP_RCTelemetry/AP_RCTelemetry.cpp AP_RCTelemetry::check_ekf_status() · Open in ArduPilot Copter-4.7.1

Error pos horiz variance

libraries/AP_RCTelemetry/AP_RCTelemetry.cpp AP_RCTelemetry::check_ekf_status() · Open in ArduPilot Copter-4.7.1

And 1 more messages, sent from the same places.

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