The EKF no longer has a position: it holds attitude and height only
What ArduPilot says:
- EKF3 IMUN stopped aiding
- EKF2 IMUN has stopped aiding
A copy of the EKF (ArduPilot's position and attitude estimator; IMU numbers the copy, from 0) has stopped using GPS, or optical flow, or whatever gave it position and speed. It no longer knows where the aircraft is or how fast it moves over the ground. It gives up after 15 s without any usable speed or position reading. “EKF3 IMU0 is using GPS” marks the return. In flight this means a position mode can no longer be held.
What to do, most likely first
The GPS was lost for more than 15 s: indoors, under a roof, an unplugged antenna or jamming.
CheckThe GPS status and satellite count at that moment; on the bench, whether the aircraft had just been carried inside.
FixOn the ground nothing needs fixing: it resumes when the GPS returns. In flight, fly it yourself in a mode that needs no position and land; then find why the GPS dropped out.
The aircraft flies with no heading source set (
EK3_SRC1_YAW0): on every disarm the EKF drops its position on purpose until movement lets it find the heading again.CheckThe line comes at each disarm and at no other time.
FixNothing to change: it is how that set-up works.
With optical flow instead of GPS: the flow data was unusable for 5 s (too high, too dark, a surface with no texture).
FixFly lower, over a lit surface with visible detail, inside the rangefinder's range.
With EK3_OPTIONS bit 0 set, a GPS that returns after a gap of more than 2 s must pass the EKF's pre-flight quality checks again before it is used, provided the EKF can dead-reckon meanwhile.
Parameters to look at
| Parameter | What it is |
|---|---|
EK3_SRC1_POSXY | Position Horizontal Source (Primary) |
EK3_SRC1_VELXY | Velocity Horizontal Source |
EK3_SRC1_YAW | Yaw Source |
EK3_OPTIONS | Optional EKF behaviour |
GPS1_TYPE | GPS type |
Where to do it:Failsafe ExplainerSetup & Tuning Guide
The code that sends it
EKF3 IMUN stopped aiding
libraries/AP_NavEKF3/AP_NavEKF3_Control.cpp NavEKF3_core::setAidingMode() · Open in ArduPilot Copter-4.7.1
EKF2 IMUN has stopped aiding
libraries/AP_NavEKF2/AP_NavEKF2_Control.cpp NavEKF2_core::setAidingMode() · Open in ArduPilot Copter-4.7.1