← All tools

Message & Error Explainer

What an ArduPilot message means and what to do about it

Українська

Two attitude estimates disagree

Stops itPosition and attitude estimate (EKF, AHRS)

What ArduPilot says:

ArduPilot runs several attitude estimates side by side: one copy of the EKF (its position and attitude estimator) for each IMU, and DCM, a simpler back-up. Before arming it compares each with the one in use. The message names the one that differs (EKF3, EKF2 or DCM), the axis and the angle: more than 10° in roll or pitch, or more than 20° in yaw (heading), stops arming. Yaw is compared only when a compass is in use; DCM is compared on planes and on copters that run a single EKF copy.

What to do, most likely first

  1. The aircraft was moved, tilted or turned while it was starting, and the estimates have not caught up with each other.

    CheckLeave it still for 30 to 60 s: the angle in the message should shrink and the message go away.

    FixWait; if the angle does not shrink, reboot with the aircraft still and level.

  2. Yaw: the compass is disturbed (steel, a magnet or a power wire nearby) or badly calibrated, so the estimates settle on different headings.

    CheckThe heading in the ground station is off from the real one or turns while the aircraft stands still. Move 3 m away from cars, reinforced concrete and steel tables and look again.

    FixMove away from metal and reboot. If it comes back in an open field, calibrate the compass again and check its orientation.

  3. Roll/Pitch: the accelerometers of two IMUs disagree about where down is.

    Check“Accels inconsistent” appears as well, or the message comes back after every boot with a similar angle.

    FixDo the accelerometer calibration again, holding each position still; it calibrates every IMU at once.

  4. DCM Roll/Pitch: the gyros were calibrated while the aircraft was moving, so they drift.

    CheckThe horizon in the ground station tilts slowly while the aircraft stands still.

    FixReboot and keep the aircraft still for the first seconds, while the gyros calibrate.

The angle in the message is the size of the error the aircraft would take off with. Do not force the arming: find which estimate is wrong.

Parameters to look at

ParameterWhat it is
EK3_IMU_MASKBitmask of active IMUs
COMPASS_USEUse compass for yaw
AHRS_EKF_TYPEUse NavEKF Kalman filter for attitude and position estimation
INS_GYR_CALGyro Calibration scheme
The code that sends it

… … inconsistent N deg. Wait or reboot

libraries/AP_AHRS/AP_AHRS.cpp AP_AHRS::set_failure_inconsistent_message() · 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