Chris Anderson

Is GPS good enough for altitude hold?

In our quest to create the simplest and cheapest autopilot available, we're debating whether we need a barometric pressure sensor or can do reasonable altitude control with GPS alone. The old answer to this was the GPS alone wouldn't work--not only were errors of as much as 10s of meters, but glitching could leave you without any altitude data at all for many seconds at a time. But the newer SiRF III chipsets are much better at altitude calculation, and the even newer yet uBlox5 GPS module is almost as good as a pressure sensor at altitude (it's too expensive for our purposes, but a glimpse of the way things are going). So let's look at that question agan: do we need a pressure sensor?

The way to tell is to test a pressure sensor head-to-head against GPS under varying condition. Here's a paper that did just that, using the older (and worse) SiRF II chipset. A sample of the data is the graph above, which as you can see shows errors of as much as 60m in some cases. Needless to say, that would be unusable. (It turns out that many of those errors were due to GPS lag, and shifting the GPS line forward by 13 seconds improves the fit considerably. But if you're trying to fly on that data, you're stuck in real time, so those sort of corrections don't help.)

Jack Crossfire has been testing more modern GPSs, including both the SiRF III-based EM406 that we use and the uBlox5, and his data is more encouraging. A sample post on EM406 data is here, and a chart from that post follows:


Unfortunately this isn't calibrated so there are no units on the scale, and we can't calculate the absolute error. (Jack, any chance you still have that data and can oblige?). But given that the data was taken in a heli and he's probably flying at around 30m, my sense is that we're looking at errors of less than 6m and no crazy glitches.

If so, that's within the usable range for us. We're typically looking at holding altitude around 50-100m, so single-digit variation is acceptable. It's not perfect, but doing without a pressure sensor would save us about $25 on the autopilot (keeping it below the magic $100 figure), and simplify calibration and instrument-compartment design (no need to pressure-isolate it).

I've got a pressure sensor coming and will do a proper head-to-head with the EM406 and the surface-mount EM312 (which will be built in to the autopilot on the production version) under various conditions before making the final decision, but for now we're betting on GPS being good enough (and getting better) to do the trick. Anybody disagree?

Views: 84

Genesis Factor Comment by Genesis Factor on June 22, 2008 at 1:03pm
I love this chart, this explanation, and the information. GREAT JOB!
Jack Crossfire Comment by Jack Crossfire on June 22, 2008 at 11:30pm
There is no absolute altitude with a barometer. The air pressure changes depending on weather. The change in pressure per meter is fixed.
Chris Anderson Comment by Chris Anderson on June 23, 2008 at 7:30am
Jack,

That's what I meant--the greatest absolute difference between GPS and baro in your example (approximate).
Jack Crossfire Comment by Jack Crossfire on June 23, 2008 at 5:55pm
As far as how fast the barometer drifts from GPS over time, there's no record of that. People usually blend their barometer height with GPS to keep it from drifting.
Chris Anderson Comment by Chris Anderson on June 23, 2008 at 6:29pm
I actually meant if you could estimate the maximum error of GPS from your example. Was I right in guessing <6m?
ian powell Comment by ian powell on June 24, 2008 at 3:53am
Why the need for accurate alt.
If it is to accurate then your uav and system is going to chase the height.
In real flight as a pilot the craft is going to rise and fall due to turbelance and other factours but on average will remain constant.
You will have trouble trying be accurate within at lest 15%.
i feel gps is more than accurate in the time span of things.
The only other method is a microvave alt meter
You can make one from the many security Pir dectors in the market
more on that at a late date.
Chris Anderson Comment by Chris Anderson on June 24, 2008 at 7:37am
Ian,

You raise a good point that there's no need for 1m accuracy--we're just trying to maintain altitude within a band. If that band is +-5-7m that's fine, but if it's +- 20m that's not okay (for reasons from possible obstructions and difficulty in stitching imaging from different altitudes) . Worse of all would be data dropouts. I'm just trying to confirm that SiRF III can reliably get us <10m errors and no dropouts.
Achal Agrawal Comment by Achal Agrawal on June 24, 2008 at 10:00am
Does anybody knows about the accuracy of the EB-85A GPS module?
Jack Crossfire Comment by Jack Crossfire on June 24, 2008 at 1:18pm
Well you really can't get anything except delay & rate of drift out of a GPS vs barometer test. For sensor testing, our best results came from video. Onboard video can show exactly how bad the IMU is. Ground video can show exact altitude.
wayne garris Comment by wayne garris on June 24, 2008 at 3:30pm
i will be playing with the eb-85a and alt, this summer i have a beromerter to compare with. in the near future gps will replace most sensors ie.. speed , alt. , and imu. and fyi cloud caps AP uses GPS to calibrate the barometer every so often .

Comment

You need to be a member of DIY Drones to add comments!

Join DIY Drones

Groups

© 2012   Created by Chris Anderson.

Badges  |  Report an Issue  |  Terms of Service