I’ve been increasing flight duration and can see a growing error in home altitude after (auto) landing, fortunately I have lidar.
However my last flight of 105 minutes resulted in a altitude error of 20 meters and I had to land manually.
This is of course due to ambient pressure changes in the weather. I can think of two possible solutions:
Set APM to be more biast towards GPS altitude, it looks like the GPS is more accurate in determining altitude as soon as 20 minutes into the flight. Can someone confirm that POS.Alt is the correct log value to look at to see GPS Altitude?
Send a new ground pressure value via MAVLINK to calibrate it in real time. I think the best method is to set the GND_ALT_OFFSET parameter while in flight, but this needs to happen frequently, otherwise the EKF might reject the alt as noise, if I understand from github.com/diydrones/ardupilot/issues/1586. In it, Tridge mentioned “I’ve tested the EKF reponse to GND_ALT_OFFSET and it does work, but the response is slow, not sudden like with DCM.” What is the DCM he is referring to? Is it a better way to keep altitude accurate?
Any other suggestions?
The flight: droneshare.com/mission/123259