A feature frequently requested is to add support to ArduPlane for using sonar to control the landing flare.The answer, unfortunately, is probably no. Take a look at this graph I obtained yesterday...
This has been on my to-do list for ages as I have never gotten around to getting some real world data to see if this would work. Finally got the real world data yesterday with the Maxbotix XL-EZ1 mounted in a SkyFun.
The graph shows data logged on a flight with 6 low passes using APM2 and the MaxBotix . The standard ArduPlane/ArduCopter sonar library was used, including the 6 element mode filter (as recommended by MaxBotix. The terrain over which the flight was flown was middle of the road in terms of difficulty for the sensor (in my estimation) being open arid prairie, with scattered clumps of low prairie grass Based on the actual low passes the "good" altitude estimates (bottoms of the troughs) by the sonar were probably better than the equivalent altitude estimates by the baro sensor. Unfortunately, as can be seen, when moving over the ground with significant speed the sonar fails to maintain a clean estimate of the altitude, even with the mode filter.
Of particular concern would be occasions such as during the second, fourth, and sixth pass, where the sonar suddenly reports a much higher altitude than actual. If using sonar for flare control, this would likely result in a pitch down, with bad results.
Certainly under good conditions the sonar could be used for flare control, but it does not appear to give a robust enough estimate of altitude to be useful for general use.
Comments
My apologies I posted the incorrect link. Fat fingers
This link is for the 100 yard version with a resolution of .2m or about 7 inches this one is also very accurate
Opti-Logic RS100 Industrial Laser Rangefinder w/ RS232 Serial Data ...
Looks like you have a solution for the sonar.
Another approach is Laser
800 yard rs-232 Industrial Laser Rangefinder - Expensive but accurate
or
Parallax Laser Range Finder - range of 6–48 inches
Just a thought
Nailed it! Good work!
Doug, nice work again. Thanks for sharing, Pete
Doug, can you respost that image? It didn't show up...
OK - Maybe I was too pessimistic. I did a flight test today with the mode filter removed so that I could try different filters with some post processing. A couple of things that were apparent.
First, without the masking of the mode filter it was very apparent that the drop-out issue is highly correlated with throttle. Still to be determined is if the problem is mechanical vibration or electrical noise. My next step will be to look in to that.
Also, by using a tweaked statistical "offset mode" filter (IE looking at the 3rd largest of 6 samples), things cleaned up dramatically. Check out the plot below. The "double dip" characteristic shown by the sonar at the bottom of the 4th and 5th passes shows there is some work yet to be done, but this is definitely looking more promising...
Robert, I'd agree with Randy that 1.5 meters is too low, and that is best case. It would be pretty difficult to establish that you have a good estimate from the IR sensor and smoothly switch to it before it is too late if you first get a reading at 1.5 meters. All the sensors we have looked at so far need some filtering, which introduces lag, which when coupled with a descent rate = too late.
Scott - a mode filter finds the statistical mode of a sample set. It is useful in removing the effect of "outliers".
Randy, wouldn't 1.5m be about right for a plane doing a landing flare? Come down for an autolanding at the normal sink rate, using barometer control, and then when it gets are return on the IR, it's about time to start flaring.
@Tom in ON,
Sadly we don't have too many other options for altitude estimation besides Sonar + Barometer. The Sharp IR Sensor's distance detection is limited to 1.5m (max) so probably too short. Laser range finders are too expensive. Never heard of the hall effect being useable for altitude estimation...but if you do, it sounds interesting!
What is this 6 element mode filter you're talking about?