← All tools

Message & Error Explainer

What an ArduPilot message means and what to do about it

Українська

The accelerometers of two IMUs disagree

Stops itIMU: accelerometers, gyros, vibration

What ArduPilot says:

On a board with two or more IMUs, each accelerometer in use is compared with the first. The difference, with the vertical axis counted at half, must stay under ARMING_ACCTHRESH: 0.75 m/s² by default, and three times that for a third IMU. After any failure they have to agree for 10 s in a row before the check passes, so the message stays for 10 s after the cause has gone.

What to do, most likely first

  1. The aircraft was just powered on or was just moved, and the 10 s of agreement have not passed.

    FixLeave it still for 15 s.

  2. The calibration no longer fits: it is old, or was done at a very different temperature, or the board warms up unevenly.

    CheckWith the aircraft level and still, look at the raw accelerations of each IMU in the ground station: each should read about 9.8 m/s² on the vertical axis and near 0 on the others. The message may clear by itself after a few minutes of warming.

    FixCalibrate the accelerometers again, at about the temperature you fly in; on a board with a heater, let it reach its temperature first.

  3. One accelerometer is damaged, usually after a crash.

    CheckOne IMU reads far from 9.8 m/s² however you turn the board, and a fresh calibration fails or does not help.

    FixReplace the flight controller.

A larger ARMING_ACCTHRESH only hides the disagreement: the EKF would still be fed two different pictures of gravity.

Parameters to look at

ParameterWhat it is
ARMING_ACCTHRESHAccelerometer error threshold
INS_USEUse first IMU for attitude, velocity and position estimates
INS_USE2Use second IMU for attitude, velocity and position estimates
INS_USE3Use third IMU for attitude, velocity and position estimates
BRD_HEAT_TARGBoard heater temperature target
The code that sends it

PreArm: Accels inconsistent

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