Waypoint Altitude Offset

Hey guys,

I’ve been using the Waypoint capture capability of Ardupilot to mark ground points with a rover (probably not the best, but it works for now).

For some reason, there is a consistent elevation offset of about 104.4ft. There must be a parameter setting a waypoint elevation offset. I haven’t been able to find where that is.

See my rover parameters:
RoverParams.param (17.1 KB)

Probably ASML vs absolute altitude

@amilcarlucas thank you,
I have looked into this a little bit, it is the Ellipsoid Height vs the MSL height. I’m looking into how to correct this. I have read some comments about how Mission Planner deals with the GPS measurements. It sounds like Mission Planner has no conversion for GPS, but simply spits out whatever the GPS gives it. This means I need to configure the correct height in the F9P GPS itself.

Upon looking at u-center to make this correction, it appears that the F9P is set to the default of WGS84, which should already be ellipsoidal height. But my mission waypoints are clearly not represented in WGS84 height, as the waypoints have a much different height from my Emlid Reach which is also in WGS84 (using EPSG 32615).

I’ll do some more digging on this question. But if someone has experience setting this in Ublox, that would be great to have their input. I may be looking at the wrong thing.

A helpful topic on this: RTK/GPS inject - Vertical datum

And then there is this: Vertical Datum used by C-RTK 2 GPS

In your logs, what is the logged undulation? It would be in GPA.Und. Undulation corresponds to the difference in height between the EGM96 and WGS84 datums at your current location. Is it 104 ft?

If I remember correctly, Ardupilot uses and logs the EGM96 altitude. The undulation is calculated by Ardupilot (not the GPS) if Ardupilot receives both WGS84 and EGM96 altitudes from the GPS (which should be the case).

Thanks Bob!
The Undulation is logged in my data. It has calculated about 108 feet. Not sure what the additional 4 feet would be from, I’ll have to apply this undulation to my next project, and see how close it gets my rover-survey points.

. . . Just realized this is from the log for my flight. This undulation calculation might be a little different at 125 feet above the ground.

I wouldn’t be alarmed by the 4ft discrepancy. The F9P is accurate by 2 m vertically (or 1.5 m with SBAS) if not in RTK. That’s 5-6.5 ft. I don’t know what chip the Emlid Reach uses, but it probably has a similar accuracy vertically if not using RTK.

When comparing the F9P altitude and Emlid altitude, there could technically be a 10-12 ft difference. The calculated altitude will depend on which satellites are visible and where they are in the sky. So it’s best to compare GPS data that are taken at the same time, but even then you can’t control what satellites they’re each receiving data from.

But yeah, the fact that your log contains the undulation means that Ardupilot is using the MSL height (EGM96).

Okay, I am looking at the Rover log now for my specific mission where I obtained the waypoints to begin with. The undulation is giving me a much more exact number now. Right close to the 104.4 feet that would be expected.

Thank you @bobzwik

I also found that the Emlid Reach does have the option to use EGM96 elevations. Right now my Emlid serves as the base station. But if I want to do a survey comparison, the Emlid has that option.

1 Like