I have a multicopter setup with two F9P-receivers in RTK Heading Configuration. Both modules are connected to PX4, their UART2 ports are connected, and PX4 retrieves and uses heading information from the setup. So far so good.
In the recent months, however, we have regularly encountered GPS altitude errors, which we have been able to isolate and reproduce in the following test setup:
- The copter was stationary on the ground, on a free field without obstructions. No propellers were attached, the vehicle was not moved for the entire test duration.
- The drone was armed to simulate flights and generate log files.
- Before some of the flights, PX4 was rebooted to reset the GPS fix.
In the plots below you see GPS data from these flights. A few things stand out:
- The altitude reported by the GPSs (mind you: both sensor messages) occasionally jumps by ~5 meters. These jumps loosely correlate with the secondary GPS switching from a 3D to a RTCM fix type.
- GPS1 always has a “RTK Fixed” GPS fix. When GPS2 has a 3D fix, both GPSs report a epv of 500 to 700 mm. When GPS2 moves to the “RTCM Code Differential” fix, both GPSs converge to a epv of 230 to 320 mm, so roughly half as before.
- The jump in reported altitude is an order of magnitude higher than the reported epv before the jump.
- Strangely, both GPSs report zero vertical velocity, although the jump has a slope of 15-20 cm/s.
Has anyone experienced something similar before? If you have any hint, or recommendations on what to try to eliminate next, please let me know.
Setup:
- Multicopter running with an Auterion Skynode, AOS v3.7.9 with APX4 v3.2.1, which is based on PX4 v1.15.
- Dual Holybro H-RTK ZED-F9P Ultralight GNSS modules
GPS_UBX_MODE= 1,EKF2_GPS_CTRL= 15








