GPS speed and the EKF's speed differ by more than 2 m/s on the ground
What ArduPilot says:
- EKF3[N] vel error N.N
The aircraft stands on the ground, the EKF (ArduPilot's position and attitude estimator) is using the GPS, and the horizontal speed the GPS reports differs from the EKF's own by more than 2 m/s. The number in brackets is the EKF copy (1 is the first IMU's); the last number is the difference in m/s. A copter checks this only when the flight mode needs a position, a plane always.
What to do, most likely first
The GPS speed is wrong: poor reception, reflections between buildings, or interference (jamming, spoofing).
CheckLook at the satellite count and HDOP in the ground station, and at whether the position on the map wanders while the aircraft stands still.
FixWait in the open, away from walls and transmitters. Do not take off while the GPS position wanders.
The aircraft is really moving: on a vehicle, on a boat or in your hands.
FixArm standing still.
A device on board disturbs the GPS: a video transmitter, a camera, a USB 3 cable.
CheckSwitch the suspect device off: the error in the message drops.
FixMove the GPS away from it, onto a mast if needed, and shield the source.
The 2 m/s limit is fixed in the code; no parameter changes it.
Parameters to look at
| Parameter | What it is |
|---|---|
EK3_SRC1_VELXY | Velocity Horizontal Source |
EK3_GPS_CHECK | GPS preflight check |
GPS1_TYPE | GPS type |
Where to do it:Setup & Tuning Guide
The code that sends it
EKF3[N] vel error N.N
libraries/AP_NavEKF3/AP_NavEKF3_Outputs.cpp NavEKF3_core::pre_arm_check() · Open in ArduPilot Copter-4.7.1