Developer

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...

3689443157?profile=original

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.

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones

Comments

  • Developer

    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.

  • Developer

    @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?

  • How about the Sharp IR sensor based detector?

    Or,  Hall effects sensor/magnetic sensor that detects the proximity of the earth below? 

  • Before I may dive in a too complicated topic.
    Instead looking at the data sheet analog out is Vcc/512 per inch for a supply of 5V yield 9.8mV/inch at 3.3V 6.4mV/inch (very low for a noisly enviroment); also Maxbotix average (and peak) current draw for 3,3 power supply is 2.1mA (50mA peak!!!) and at 5v power is 3,4 mA (100mA peak)
    So there is a trasducer signal of mV range with a burst noise on  power supply. Note that there is an analog net of four OA LM341 that filter ,amplify and clipper the signal.
    IMO decoupling power of the sensor with a 220 -1000 uF electrolitic condensator soldered with  a diode near the input of the sensor power should be very good.
    Firmware should only start a burst frame at 42 Khz , waiting after for a trigger of analog net to stop the timer and measuring so the distance of the target. (no dsp work)

  • IMO, and I've done a lot of work with the sonar, your problem is vibration.  I had horrible sonar traces with my helicopter, even after doing all the electronic filters, etc.  I solved it with some extreme vibration isolation techniques.

    The bad sonar traces correlate 100% with your application of power.  Right from the takeoff, until you do the first low pass where it goes smooth, then it gets noisy again when you apply power.

  • Developer

    Falvin - the speed itself is not a problem for the sensor.  I have tested the sensor up to 80km/hr under more ideal conditions (with my car) without problem.  I expect much of the problem is the spread target characteristics when moving over a large patch of uneven ground during a single return interval.  If you are moving over a nice flat hard surface like a paved road, then it does OK.  Not so well apparently when moving over a more uneven surface.

    Yes, there is probably a lot that could be tried with dsp. One of the biggest limitations, though, is that the only output available is a single analog output - no quadrature, no doppler, and with the low pulse repetition frequency not much opportunity to do pulse integration.  I have no reason to think that Maxbotix firmware does a poor job with the dsp, so it is unclear how much improvement could be made.  I would actually expect that for a single, dominant target (eg the ground) it probably does pretty well wrt dsp.

  • Hi Doug,

    I think you have  yourself  already solved the problem: it's speed sensor too much.
    I dont know landing SkyFun speed but sonar operate a 42 Khz with a sampling rate max 10hz(100ms):
    IMHO now just imagine sensor stopped and "land moving" below : we have as a typical performance in clutter,
    after sonar transmit burst, the target spread in many targets because its speed is much greater than measurement time.

    Now for a radar engineer as you, with a dsp get a solving will be a joke!

    bye

  • @gary glad to see doc's on the list ;)
This reply was deleted.