"PreArm: DCM Roll/Pitch inconsistent by xx deg"

Hello,
when trying to arm I get the error “PreArm: DCM Roll/Pitch inconsistent by xx deg”:

Matek F765 & Arduplane 4.0.7

EK3_ENABLE = 1
EK3_IMU_MASK = 3
AHRS_EKF_TYPE = 3
INS_ENABLE_MASK = 3

I have turned the FC and compass,
COMPASS_ORIENT = 6
AHRS_ORIENTATION = 2
but the calibration offsets are good and the compass works correctly

If DCM (Direct Cosign Matrix) is attitude estimation system that pre-dates the EKF and no EKF error appears on HUD, why does this DCM error appear?

Note: https://ardupilot.org/copter/docs/common-apm-navigation-extended-kalman-filter-overview.html

I have read in this post that ion lithium batteries may be the cause but the distance between my 18650 pack and the compass is 30 cm.

Regards

1 Like

I had the same error yesterday, Matek h743, no compass hardware and no compass enabled, no ekf3, Arduplane 4.0.7.
hmmm

I too have issue with DCM Roll/Pitch inconsistency as well as bad AHRS health on Matek H743 Wing. I’m running on EKF3, I disabled all compass (they would generate errors all the time no matter how well they where calibrated) and I encounter this while having a solid GPS fix (13+ satellites). (Arduplane 4.0.9)

I do believe this could be partially related to cold weather causing issues with compass and IMU, but could be a coincidence as well.

My plane is one Tailsitter Dual Motor and it seems that it is a known problem that will be solved in 4.1

https://ardupilot.org/plane/docs/guide-tailsitter.html

Pre-Arm Issues

Due to a issue in DCM related to compass fusion for yaw when pointing straight up, sometimes the AHRS subsystems will disagree when powering up, nose up. Slight errors in compass calibration, while resulting in a successful calibration, may worsen this effect.

The result is that some setups will give a pre-arm failure. Typically it is “Pre-Arm: DCM roll / pitch inconsistent by” x “degrees” or similar. If this happens consistently, then one of two solutions can be used:

Power up horizontally, and allow the autopilot to begin initialization in this position. After the IMUs tilt initialization is completed (usually in the first ten to fifteen seconds or so), the Tailsitter can be set vertically for the remainder of the initialization (ie after GPS lock and EKF is using the GPS) and then armed.
Or, if you get the Pre-Arm failure above, lay the Tailsitter down horizontally for 10-30 seconds to allow the various AHRS subsystems to synchronize. After that it can be raised and arming should proceed normally.