# How do I implement accurate distance measuring (to ground) on a plane-like UAV for heights over 10m?

How do I implement drone-to-ground distance-measuring for autopilot landings for heights over 10m? I found ultrasonic to be too inacurate, let alone GPS. Maximum height is 1000m, Vmax is 100 km/h, Vaverage is 72 km/h. The drone is plane-like, no *copter or so.

Thank you for any input!

• uh... 20 m/s is 72 km/h – AndrejaKo Jan 18 '11 at 11:04
• Vmax is 100 kph. Vaverage is 20m/s. Thanks for pointing it out. :) – fakemustache Jan 18 '11 at 12:38
• You can click the 'edit' text beneath the tags to fix any errors or clarify your question. Other users with enough rep can also do this, so I'll fix that for you. – Kevin Vermeer Jan 18 '11 at 17:11
• @reemrevnikev, thx! – fakemustache Jan 18 '11 at 18:32
• Why do you need heights over 10m? When you are landing anyway you are within the 7 or so meters an ultrasonic sensor can do. – AndreKR Feb 22 '11 at 21:57

You are probably looking for a radar altimeter, but I think that 1000m height will be a challenge if you want to build it yourself, because of power required to get detectable reflection at such distance. Couple hundred meters may be more realistic target for home made low power radar.

Here is schematics of radar landing altimeter that is usefull to about 1000 feet.

• There is also commercial equipment, like this: bennettavionics.com/radaraltimeter.html – Jaroslav Cmunt Jan 18 '11 at 11:28
• We have considered this. It's not quite a "homebrew"-project, so I think we have the means to build, perhaps even buy a radar-altimeter. Thanks! – fakemustache Jan 18 '11 at 12:54
• make sure whatever you do is in compliance with emission regulations for your region – vicatcu Jan 18 '11 at 15:11
• that design is a good example but you could easily get to 3000m with a higher power PA (200mW maybe) and a more sensitive receiving circuit as well as improved post processing. Controlling the sweep in an intelligent manor and bringing the output of the LPF into a DSP for post processing will help a lot. At that point you've really built an FMCW radar and can get a fair bit of additional information out of it (weather conditions, type of ground cover, other planes under you, etc). The antenna used will greatly influence performance and what kind of information you can determine. – Mark Jan 18 '11 at 23:46
• SiverIMA (siversima.com) makes some front ends you could probably use to save yourself from the RF development, but they aren't cheap and likely overkill for this application. I've used the 10Ghz FMCW front end for prototype testing. – Mark Jan 18 '11 at 23:47

On real aircraft, they will have both a Radar Altimeter and a Barometric Altimeter. The Barometric Altimeter is used at higher altitudes and the Radar Altimeter is used during takeoff and landing to gauge distance to the actual ground (i.e. at altitudes where terrain elevation changes are a significant concern - typically 5000 feet).

• Or for more general coarse/fine sensors you could use GPS for a coarse sensor and below some height use radar/ultrasonic/IR/whatever. – Nick T Jan 18 '11 at 18:49
• @Nick, agreed though for GPS altitude is by far the least accurate dimension. I've seen variations on some GPS receivers on the order of +/-30 meters for a stationary receiver. – vicatcu Jan 18 '11 at 19:12
• I tend to agree with vicatcu, GPS is way to inaccurate. Unfortunately, since GPS is implemented one way or the other. – fakemustache Jan 18 '11 at 20:35

In reality, a single sensor will probably not be accurate enough to do what you want. Most of what I know is related to AGVs (Ground Vehicles), but I think that some of the same principles apply.

You probably want to use a combination of sensors to get the accuracy that you need. Some of these can be quite expensive.

• GPS: A standard GPS module should be able to get you down to about 1m +/- accuracy. If you step up to a differential setup (one station on the ground, one on the plane), then you should be able to get significantly more accuracy, but at a much higher cost. Something like 10cm or even 1cm should be possible (with velocity data), but with a significantly higher cost.

• INS: You can supplement your GPS system with intertial measurements. The boom in MEMS devices has made relatively decent solid-state sensors available at consumer prices. Adding accelerometer, gyrometer, and magnetometer data to the GPS data should make the signal more accurate, and account for possible "glitches" in you GPS readings.

• Radio-assisted navigation: I'm not entirely up on this, but many airports use a radio-assist to help land the planes. You may be able to research how these systems actually work and implement your own (legally, of course).

For a more detailed look at some of these considerations, I would check out DIYDrones. They have put together some pretty tightly-integrated systems using GPS, INS, Barometers, and a large array of other sensors. They have also tackled some of the difficult filtering challenges that come with multiple sources of data in an airborne system.

• Very good points. Thank you. We have had the idea with the GPS ground station, I don't know why we didn't pursue it, I will mention it once more on our next meeting. – fakemustache Jan 18 '11 at 20:41
• A possible lower-cost approach to the ground station and rover may be RTKlib. It is an open-source RTK (differential) solution. I believe that the creator of the library has also ported the solution to a Beagleboard, with some pointers on how to do the same. I believe that his implementation uses a uBlox sensor (on the order of 300 dollars) coupled with a more expensive base station, capable of generating RTK corrections. This would drive down the cost from purchasing two RTK-capable units (multiple thousands of dollars). – mjcarroll Jan 18 '11 at 21:33

A barometer would do quite well you get something like 10 cm resolution, the only tricky bit is that your drone will need to know the barometric pressure at ground level and that tends to change with the weather.

If you want really high performance location control, then you will probably not get around a vision based system with a high-power computer that can recognize the the landing strip and hit the right zone at the right speed.

• Unfortunately we can't implement a vision-based solution due to weight-limitations. The core-CPU of the drone is already used for sensor-input and other image-processing and we have reached the maximum amount of payload. – fakemustache Jan 18 '11 at 12:58

If you are going to land on landing sites under your control, I would place several radio emitters around the site and compare signal power. That's the only reliable & easy to implement way.

If you want to land anywhere - only GPS (+-1m possible in USA), ultrasonic or laser measurements are valid options, but none of them are perfect.

• The thing with the radio emitters is very interesting, but too complex. – fakemustache Jan 18 '11 at 20:36
• Not really complex. It would be complex to try to measure propagation delay, but power level is easy to measure with simple detector receiver, capacitor & ADC. – BarsMonster Jan 19 '11 at 10:31
• Could you give a little more info on how one would measure power level; my googling skills have proven lacking. – kasterma Jan 22 '11 at 2:55
• Well, check out simplest RF receiver - LC circuit, diode detector, capacitor to smooth the signal. Then you can measure this with precision ADC. – BarsMonster Jan 22 '11 at 8:06

A laser rangefinder will give you good precision and accuracy, and is designed for your expected distance, but may be heavy (due to the optics) and will resolve the distance to a point rather than a larger area.

The measured result may change rapidly if you're going over terrain that has a lot of variation (such as a forest or city), and it may be hard to get a reading over reflective surfaces such as water which will not return much of the beam in the direction it came.

However, this should be considered as an option. Consumer handheld rangefinders for hunting or golf run from $50 to over$200; I'm not sure about commercial prices for integration into a system like a UAV.

• We had that idea, too, and for now it is our favorite. As accurate height measurement is for autopilot landing only it doesn't matter that the height is for a point only.. I hope the landing area is at ground. :)) The main problem I see with this technique is that the result varies with the angle of the UAV which is especially difficult for landing procedures. Or am I not thinking this through? – fakemustache Jan 18 '11 at 20:49

I always wanted to try this:

Mount a downward-facing camera on the UAV. The quality is mostly irrelevant. Grab frames from it at some fixed interval. Analyze pairs of images to determine how fast the ground appears to be moving. There are a lot of options here for algorithms. Now, given your GPS speed (not airspeed!) you how how fast you are actually going and how fast the ground appears to be moving. At 0 altitude the (properly scaled) apparent movement would be 1:1. As you gain altitude the apparent speed of the ground would slow down.

• Interesting technique! The OP did post a comment to this answer stating that "Unfortunately we can't implement a vision-based solution due to weight limitations." Still, it would be interesting to see if this technique could be used to control horizontal attitude as well. – Kevin Vermeer Jan 18 '11 at 20:03
• This really sounds beautiful. :D I will make sure to mention it. – fakemustache Jan 18 '11 at 21:00
• If you can fit a GPS, you can fit a camera. It may take a bit of effort, but cell-phone cameras are tiny. – Connor Wolf Jan 19 '11 at 6:27
• The problem isn't the camera, we have that. The problem is the cost (complexity) of the image-processing as the core-CPU has to handle it and we don't have the ability to change it. – fakemustache Jan 19 '11 at 14:19