One of the specifications you won’t find for your aerial drone is its altitude accuracy. In fact, if you call the manufacturer’s support team, they probably won’t provide you with that spec. So, what do you tell a client when their mapping accuracy requirement is critical?
At FAD-Photo, we have calculated what you can expect in terms of altitude accuracy and can show you how this altitude error affects 3D mapping.
Your drone’s altimeter takes its readings from an internal barometer, does the conversions, and writes them to the photo tags, which are used by the mapping service. Mapping service providers will tell you that their numerical processing is accurate, but subject to the altitude information provided by the drone. But what if the drone’s altitude data is drifting over the duration of the mapping session?
The map processing service assumes the drone flies its mapping session in a perfectly flat plane. If the drone’s altitude readings shift during flight, then its plane shifts. This in turn shifts the ground plane causing terrain elevations to shift.
How does an Altimeter Work?
This blog is an update to our April 2020 blog Aerial Drone Altimeter Accuracy Specification. We analyzed nine months of data to refine our opinion on altimeter accuracy.
As one goes up in altitude, the air pressure goes down. The relationship between air pressure and altitude is quite predictable. So, using the formula below the altitude is easily converted from the drone’s internal air pressure sensor (a miniature barometer):
A = -(RT/gM)*ln(Po/P)
Where A is the drone’s altitude (height difference between the measurement altitude and the starting altitude), R is the gas constant, T is temperature of the air, g is the acceleration due to gravity, M is the molar mass of air, Po is the atmospheric pressure at the starting altitude, and P is the atmospheric pressure at the drone’s measurement altitude.
This formula is coded into the drone’s software so the barometer’s pressure reading can be converted to altitude. The constants R, g and M do not change, but the variables Po and P do change and are used in the calculation. The temperature T is assumed to be constant, but in reality, it’s affected by the temperature of the drone’s barometer and thus contributes to altitude error.
Over the course of a flight session, not only does the drone’s internal barometer sense pressure but it also senses the temperature effects of ambient air and heat dissipation of the internal components.
What Does the Data Tell us?
Our Flight Logs provided the record of end-of-flight altitudes for flights longer than 10 minutes. The resulting graph appears above.
The data indicate that altitude error is positive during the cooler months and negative during the warmer months. We know that average seasonal temperatures follow a sinusoidal curve, starting about 46 days after the autumn equinox (or 55 days before 1/1). Also, temperature variations are dependent on region, weather patterns, and time of day. In our case, this data was taken in central Virginia.
Developing a Trend Line
Using MS Excel’s Solver add-in, we derived the sine wave “trend line”, which follows this formula:
Altitude Error (trend line) = 2.44 + 4.74*sin((Date + 70.2)/365)
The resulting curve represents the altitude error in feet that may be expected throughout the year. The average offset is 2.44 ft plus a sinusoidal component with a peak value of 4.74 ft. The date offset of 70.2 days was expected to be closer to 55 days but is at least in the ballpark. As we collect more data, these numbers should become more accurate.
Statistical Data Calculated from the Trend Line
Other statistical data were calculated from the trend line minus the landing altitude data. We calculated a Standard Deviation of 4.60 ft and a Margin of Error of 1.14 ft (for a confidence interval of 95%). We then stacked these errors, so the expected altitude error at end of flight (EOF) is:
Altitude Error (EOF) = 2.44 +/-4.74 +/-4.60 +/-1.14 ft
Which ranges from 12.93 to -8.04 ft throughout the year
Since the drone altitude at takeoff is zero, we know this error has to build up over the course of a flight. Approximating this buildup as linear, the midpoint error is about half of the EOF altitude error:
Altitude Error (midpoint): ranges from 6.47 to -4.02 ft throughout the year
This means that for a 20-minute mapping session, the altitude error specification is around +/-6.5 ft. That is, the error can start off at zero and end at 13 ft, about a mean of 6.5 ft. The graph shows that the worst-case error can be slightly higher, but in most cases is somewhat less.
We take our maximum calculated error of +/-6.5 ft and round up to +/-7 ft, which we use as our altitude specification. Altitude inaccuracies affect topography mapping because our mapping service takes altimeter readings from the photo tags and cannot compensate for these errors.
For topography maps, contour lines at 10-ft intervals approach the useful limits of this technology. We can generate 5-ft contours (or less), but the overall mapping information becomes less and less useful. However, contour lines on this order may still be useful for assessing localized areas, such as slopes and structures.
Altitude error will be reduced for shorter duration mapping sessions and (as seen on the graph) near the sine wave crossings in late May and late September.
So, why won’t your drone manufacturer tell you its altimeter specification? Well, it’s complicated . . .