Absolute/MSL Altitude usage

The information about altitude references in Ardupilot/MP feels a little scattered to me, and I was hoping for some clarification on how to use different altitudes to plan missions. Hopefully what I’ve scrounged up and any responses to this thread will be useful to other users :slight_smile:

As far as I know:

  • Relative altitude: Altitude delta from the home altitude (in this case, altitude at time of arming)
  • Terrain altitude: Altitude above the terrain to fly at - this will be based on the LIDAR if available, otherwise the SRTM terrain data (that Google Earth uses) will be the reference.
  • Verify Height: The altitude of a particular waypoint will be increased based on the SRTM-based terrain altitude at that particular point
  • Absolute altitude: MSL altitude

I’m likely going to be flying missions into unfamiliar terrain soon, and most likely all I will have to go on is the MSL altitude on aviation charts if available, and the elevation data from Google Earth otherwise.

My main question is: if I use the Absolute altitude mode, and I plot a waypoint say 100 km away with a particular MSL altitude, can I reasonably expect Ardupilot to land at that location reliably? (I’m using a quadplane). I don’t want to use terrain following, more of just flying at a particular MSL height during cruise, so this is only relevant for takeoff, approach and landing.

I’m concerned about certain things:

  • do I have to worry about QNH/any baro settings?
  • Is the baro expected to drift by a large amount? Is there some EKF fusion with the GPS altitude that is likely to correct any drift?
  • Could I use a LIDAR as a correction/backup to this system? How would I employ it?

Thanks in advance.

Additional questions: It seems from the baro code that we are getting the relative altitude from the barometer (based on the calibrated ground pressure on startup and the International Standard Atmosphere). How is Absolute altitude calculated?