← All tools

Message & Error Explainer

What an ArduPilot message means and what to do about it

Українська

The chosen estimator is not the one in use

Stops itPosition and attitude estimate (EKF, AHRS)

What ArduPilot says:

AHRS_EKF_TYPE says which estimator should supply position and attitude (3 is EKF3, the default). Another one is doing the job right now: usually DCM, the simple back-up, because the EKF has not started. A copter cannot fly on DCM, so it will not arm. The comparison is made only when a compass is in use.

What to do, most likely first

  1. The EKF has not started yet: these are the first seconds after power-on.

    FixWait 10 to 20 s; “AHRS: EKF3 active” tells you it has taken over.

  2. The chosen EKF is switched off.

    CheckAHRS_EKF_TYPE is 3 and EK3_ENABLE is 0, or AHRS_EKF_TYPE is 2 and EK2_ENABLE is 0.

    FixUse EKF3: set AHRS_EKF_TYPE to 3 and EK3_ENABLE to 1, then reboot.

  3. The EKF cannot start because it is waiting for the GPS or ran out of memory.

    CheckLook further up the messages for “EKF3 waiting for GPS config data” or “EKF3 not enough memory”.

    FixSolve that message; this one follows from it.

“EKF1 not available” is a start-up error: AHRS_EKF_TYPE is 1, an estimator removed long ago. Set it to 3 and reboot.

Parameters to look at

ParameterWhat it is
AHRS_EKF_TYPEUse NavEKF Kalman filter for attitude and position estimation
EK3_ENABLEEnable EKF3
EK2_ENABLEEnable EKF2
GPS1_TYPEGPS type
COMPASS_USEUse compass for yaw
The code that sends it

not using configured AHRS type

libraries/AP_AHRS/AP_AHRS.cpp AP_AHRS::pre_arm_check() · Open in ArduPilot Copter-4.7.1

Config Error: EKF1 not available

libraries/AP_AHRS/AP_AHRS.cpp AP_AHRS::init() · Open in ArduPilot Copter-4.7.1

invalid EKF type

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