I've been experiencing GPS drift when disarmed. For my application, I'd like as accurate of a position prior to flight as possible. I'd like to make sure that my assumptions about PX4's estimation algorithms are correct before quantifying the drift in flight testing.
Background: During flight testing, when disarmed, I have noticed significant GPS drift (e.g. GPS random walk) up to ~5m from the drone's location. Although I regularly observe GPS drift when disarmed, immediately after take off (usually to above 3m) the GPS's performance greatly increases and I do not observe GPS random walk (i.e. the GPS position is within +- 1m from it's current location). I'm curious if anyone else has observed a similar effect during flight testing.
After digging into the code, it appears that the estimation algorithms (I'm using EKF) is always running at 250 Hz and is utilizing the same data when disarmed and in flight. This leads me to believe that the ground is having an effect on the GPS receiver's performance.
I'd like to verify that the following assumptions are correct:
- The estimator (EKF) is running continuously, using the same sensor data, whether or not is is armed and in flight or disarmed and on the ground.
- Under ideal conditions (no GPS noise) PX4 would report the same gps location whether or not it was on the ground or hovering above the same location.
If the above assumptions are true and the ground is affecting GPS performance, what are some methods to mitigate the performance issues? E.g. Copper Tape?
Regardless, I will be conducting some flight tests to determine accuracy relative to landmarks - if there is any important additional information gathered, I'll post on the flight test channel.
- Running v1.7.3 (slightly modified, but no modifications to estimator/commander/navigation code)
- FC is a PIXHAWK 2.1 with Here GPS module
- GPS is approximately 19 cm from the ground (see photo)
- Regularly seeing between 13 to 16 satellites both on the ground and in flight