Combining/Fusing GPS, Pressure, Height data

I have a RC model airplane, currently carrying a RC receiver, 900MHz radio modem, temperature sensor, pitot and static pressure sensors, batteries,
GPS, and a mini video camera. I'm also planning to add an accurate altitude/hight sensor to measure airplane's height above the ground during the final landing approach.(I could not find an accurate range sensor yet).
When there are different sensors which provide the same type of data with different accuracy/uncertainities, how we can combine/fuse these data to improve the accuracy ie reduce the uncertainity of the measurement. For example, both the static pressure sensor and GPS produce altitude data. If I can add another more accurate sensor to be used on final leg of he landing approach I will have one more sensor producing the altitude/height data. So 3 sensor generating same type of data (height/altitude).
I can code a simple "if then else" logic into my flight controller to switch from one sensor to another depending on the airplane's altitute. But I'm sure there must be better methods to utilize, fuse the altitude/height data from the static pressure sensor, GPS and planned new height sensor instead of having "if then else" kind of swithcing code.
Do you know how should I fuse the altitude/height data from the static pressure sesor, GPS and new height sensor so that I can obtain the best and most realistic height value for my RC model airplane?
Thank you
Falco
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Falco wrote:

Your "if then else" logic is probably the best way to go, actually. In order to advantageously fuse sensor data like this you either need sensors whose errors are very close, or you need sensors whose error have markedly different behaviors over time.
As an example of the latter you can get phenomenal improvements in system performance by using a GPS, three gyroscopes and three accelerometers, because the GPS tends to have very good accuracy over a long period and the gyro/accelerometer package has good accuracy over short periods. Merging these disparate measurements into one sensible whole takes a great deal of work by someone with a pretty high-level knowledge of the subject, and adequate gyro/accelerometer packages are pretty expensive.
--

Tim Wescott
Wescott Design Services
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
| Do you know how should I fuse the altitude/height data from the static | pressure sesor, GPS and new height sensor so that I can obtain the best and | most realistic height value for my RC model airplane?
Well, GPSs are a good deal less accurate giving the altitude than they are giving the XY coordinates of something, so an error of 50 feet or so should not be unexpected, and that's probably not acceptable at all for landing, though in practice the accuracy may be low but the precision (over a short period of time) should be higher, so it might not be quite so bad.
In case the terms are not familiar, accuracy refers to many measurements all averaging out to the correct value -- the closer the average is, the more accurate it is. Precision refers to many measurements all coming close to each other, nevermind how far they are from the correct value. You can be very precise and very inaccurate and vice versa.
The pressure sensor should be a lot more accurate (both precise and accurate) than the GPS altitude. Errors of only around a foot aren't uncommon at all.
(Of course, it's accurate because you calibrate it when you turn it on -- this reading corresponds to zero feet above ground. But it's very precise as well, with the precision decreasing over time as the pressure and temperature change.)
And your new height sensor is likely to be the most accurate and precise of all three, and shouldn't vary depending on the weather.
So, the solution is pretty obvious ...
Don't use the GPS altitude at all, unless you have to. (But go ahead and use the XY coordinates provided by GPS, because you're not likely to find anything better, at least not without spending lots of weight.)
Use the pressure sensor altitude when you're too high to use your height sensor, and ...
Use your height sensor for landing and any other time when you're close to the ground and high precision matters.
(Your height sensor may become inaccurate if you're banking -- it will depend on exactly how it works.)
So, it looks like if/then/else.
--
Doug McLaren, snipped-for-privacy@frenzy.com
You're getting old when you get the same sensation from a rocking
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

since He's already got a radio link to the aircraft differential GPS may be an option, that'll give a significant improvement in positioning, prolly still need the gyros to track attitude etc.
Bye. Jasen
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Jasen Betts wrote: > since He's already got a radio link to the aircraft differential GPS may be

Now that would be useful if you could do it with lightweight gear, because, with differential GPS, the error approaches zero as the mobile unit approaches the pseudolite. Which, of course, is why the psuedolites for airports are near the runway end, the one place where an aircraft really needs very precise vertical position. Autoland for model aircraft would be a very nice feature.
                John Nagle
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
The barometric altimeter is actually accurate to within about 20 feet, but getting a reliable static air pressure on a moving airplane is the hard part. In the fullscale world, the designer spends some time messing with different locations on the airframe, and with different port syles, and even then there's some error. Varying barometric pressure and temperature are bigger problems but can be calculated out. My son has a Magellan handheld GPS that is accurate to within a couple of feet in altitude. We've tried it t known altitude benchmarks, and if he holds it in his hand, gets an altitude, then moves it up a foot, the thing will detect that change. The accuracy and repeatability is astounding and is better than any of the five GPS nav units we have in our real airplanes. The problem with the handheld is their update rate of only once or twice per second. The ultrasonic tape measures wouldn't work so well in a model, I think. The roughness of the surface would absorb or scatter too much of the signal. Dan
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
If you need accurate altitude for an autoland system, why not use what we used at NASA for landing on the moon and for the Shuttle autoland, and that is a landing radar. Moving from radar you can use a system that uses the same mechanism used in some auto focus cameras which is an infrared sensor. Many of the electronic hobbyist and robotics books and mags have circuits for electronic distance measurements. If you use pressure, GPS, and infrared distance (which is affected by airframe attitude) you will need an algorithm to mix these values together to solve for altitude. Maybe giving more weight to the infrared data as you approach the ground. It is an interesting project.
Also you can mount the altitude sensor from below the model on a two axis gimbal that always points the sensor straight down. It is driven by two servos being fed signals from an FMA Co-Pilot system. I saw a write up on this in a recent AMA Model Aviation mag article, except it was used to keep an aerial camera pointed in a certain orientation. Neat idea.
<Falco> wrote in message >I have a RC model airplane, currently carrying a RC receiver, 900MHz radio

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
You can find cheap low range (30-40 ft) electronic tape measures at most hardware or building supply stores. I believe they operate using ultrasonic sound pulses. At least mine does. They are very directional and accurate to about 1 inch. To my mind the way to do this would be to calibrate a pressure altimeter to 0 ft against the U/S one on the ground prior to take off. The pressure altimeter shouldn't change very drastically over the span of one flight so should be used for any reference above 40 or 50 ft. . You could also create some kind of averaging algorithm to monitor the GPS altitude and use that to check for drastic pressure changes. For example flying through a weather front. You don't indicate what sort of distance or time you plan to fly so this may not be required. If you do use a GPS, make sure it supports WAAS. This will increase the accuracy of both Lat/Long and Alt. a lot. HTH - Sounds like an interesting project
<Falco> wrote in message >I have a RC model airplane, currently carrying a RC receiver, 900MHz radio

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Falco wrote:

Barometric pressure will never tell you how far above the ground you are, only how far above sea level you are, based on standard conditions of course. That's assuming you have adjusted it properly for local pressure variations. Even then you would never want to rely on it for anything finer grain than say 50-75 ft. You need to overlay that data on top of a terrain map to tell how far you are above the ground, and for it to be useful for navigation.
If you are in an aircraft and flying a precision GPS approach, you will use the readout from your barometric altimeter until you descend down to roughly 200' AGL (varies by approach and runway). At that point you are expected to see the runway environment (lights, runway marking, etc.) and use your eyeballs. If you do not see anything, you go around and try again or go elsewhere.
I would focus on the sensor that gives you the most reliable indicator of your current situation. I would follow this approach:
1. Using DGPS and runway elevation data, determine a 3 degree glide slope intercept waypoint for final leg of approach. 2. Descend to pattern altitude using Barometric altimeter and DGPS data. 3. Enter pattern using DGPS data 4. Fly landing pattern using DGPS data. Follow pattern until you reach the glide slope intercept way point. 5. Begin descent (setup landing configuration) 6. Start looking at radar or laser height data. 7. Use DGPS altitude data until sensor starts picking up the ground. 8. Use DGPS data for runway centerline alignment and laser/radar sensor for height indication. Control airspeed, power, etc as needed to stay on glide slope and proceed to landing.
Don't use the altimeter below 75 ft. or the DGPS altitude data below 6 meters. You will be in the margin of error. This makes your decision pretty simple.
Shawn
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Other posters have replied with valid techniques for the problem you are trying to solve, but your original question about "data fusion" made me think of the Kalman Filter algorithm which is used in high-end INS systems to achieve similar types of results to what you are looking for (integrate different sensor with different error models). It is complex math and may be overkill for your application, but if you're interested, do a Google search for "Kalman Filter".
Regards, Tristan.
<Falco> wrote in message> I have a RC model airplane, currently carrying a RC receiver, 900MHz radio

yet).
I
So
switch
data
and
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here. All logos and trade names are the property of their respective owners.