The two GPS receivers report different places
What ArduPilot says:
- PreArm: GPS positions differ by N.Nm
With two receivers, ArduPilot measures the straight-line distance between the positions the first and the second report, height included, and refuses to arm at 50 m or more. The number in the message is that distance.
What to do, most likely first
One of the receivers has a poor fix: just started, or its antenna is shaded.
CheckCompare the satellite count and HDOP of GPS 1 and GPS 2 in the ground station.
FixWait in the open until both have settled; give the weaker one a better place on the aircraft.
The two agree on the map but not in height.
CheckCompare the two altitudes. GPS height is far less exact than horizontal position, and a receiver with few satellites can be tens of metres off.
FixWait for both to settle with a good satellite count. If one stays off, check its antenna and its settings.
One receiver is disturbed by equipment mounted next to it.
FixMove that receiver away from transmitters, cameras and power wiring.
Parameters to look at
| Parameter | What it is |
|---|---|
GPS1_TYPE | GPS type |
GPS2_TYPE | GPS type |
GPS_AUTO_SWITCH | Automatic Switchover Setting |
The code that sends it
PreArm: GPS positions differ by N.Nm
libraries/AP_Arming/AP_Arming.cpp AP_Arming::gps_checks() · Open in ArduPilot Copter-4.7.1