Two attitude estimates disagree
What ArduPilot says:
- … … inconsistent N deg. Wait or reboot
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
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.
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.
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.
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
| Parameter | What it is |
|---|---|
EK3_IMU_MASK | Bitmask of active IMUs |
COMPASS_USE | Use compass for yaw |
AHRS_EKF_TYPE | Use NavEKF Kalman filter for attitude and position estimation |
INS_GYR_CAL | Gyro Calibration scheme |
Where to do it:Setup & Tuning GuideSetup & Tuning Guide
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