Changing QNH during flight


So my thought has been that there should be a way to compensate for the drift in barometric pressure during flights. Has anybody been thinking about this already?

Currently the situation seems to be that if you change SENS_BARO_QNH, the EKF goes wild and it really doesn’t work. Possible solutions that came to my mind:

  • Adding an offset to the EKF global position. Maybe the best solution, does anybody know how to implement it?
  • Adding an offset to all the waypoint adtitudes in FW/MC position controller. Easy, but not very elegant.


This sort of idea is valid, although it can be pretty complicated to implement. Any time you are modifying directly with EKF I’d recommend you be sure you really know what you are doing, or try to get assistance from some of the core developers who are real experts with the EKF. Handling altitude offsets outside of EKF is also a valid approach.

One question you should ask is what are the reasons for doing this? Is it because you want to maintain a super accurate “true” altitude during a mission or is it because you want to improve your landing accuracy on glide-slope landings?

Let’s assume the goal is more accurate landings. In this case barometric pressure changes is only one of many factors impacting landing accuracy. At a minimum, you should consider temperature calibrating your baro sensor before worrying about atmospheric changes.

After you’ve done that, you need to think about how you would know what the atmospheric pressure changes actually are at your landing location. One approach I’ve seen used on other UAVs is to have a local weather station at the landing site, or more simply a 2nd baro sensor (for example in the same box as your ground telemetry radio), and use a “differential barometer” approach that sends pressure offsets from the ground to the vehicle’s baro sensor in real time over the course of a flight.

I know @dagar has had thoughts on this QNH topic before.

Best of luck, looking forward to hearing about what you come up with.

Thanks for your comment @Antiheavy. Your assumption was right, the goal here is to improve the landing accuracy (can’t afford a Lidar hehe). But in general, I think that the possibility to make altitude adjustments is a powerful tool that should be investigated.