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

    Randy - I didn't see any issues with electrical noise during my car tests.  However, I was using about 10 feet of cable which could have provided some filtering.  I might try again with some power conditioning. 

    Also, I have been thinking that for this particular use of mode filter may not be the best option.  I've been mulling doing something adaptive taking in to account the variance of the samples.  If the variance is low then use the mode (midpoint).  However if the variance is high then subdivide the ordered sample set till the variance is below a threshold and take the mode of the resulting set?   You have more experience with these Maxbotix - how does that idea strike you?

  • Developer

    Dr Gary,

    Being a former radar engineer I know well enough about Doppler.  The Maxbotix units are not Doppler sensors; they detect range only and not velocity. They have no signal processing to deal with Doppler.  They do not even appear to have incoherent pulse integration.  A measurement perpendicular to the velocity vector is appropriate for this sensor.  There is a popular theory that you should angle the sensor ahead to deal with motion as you will get a stronger return due to the propagation of the pulse through the air (e.g. the banana effect).  While this may have some mild validity it is probably negated by the Doppler shift due to looking at a target with radial velocity and the accompanying loss in the matched filter.

    Your suggestion of getting returns at an angle other than perpendicular causes the Doppler effect to work against detection, not aid it.

    @Ryan - the profile was RPM low on the way down, then RPM high to climb.  I don't see much correlation between the dropouts and the portion of the low pass near the ground, but there does seem to be high correlation between bad sonar estimates and the period of climb out, so that may explain the large amount of noise following the "troughs".

    The units operate at 42 kHz, and I've got a pretty high KV motor in the SkyFun, so one of the lower harmonics may be affecting the sensor at full throttle.  Still, there are dropouts evident at low throttle, too, which is the real problem.

  • Doug:

    I forgot to mention that 60 degrees is optimal for Doppler returns. Try setting your Tx @ 30 degrees off the bottom of the fuselage. You may have to play with exact placement depending on the AOA you desire in the flare.

    Regards,

    Doc
  • Doug:

    Very interesting data. You may have been hoodwinked by the "Doppler Equation"! Not to bore everyone but Doppler returns @ 90 degrees gives a value of "0" to theta which effectively is a division by 0. While imaging with ultrasound is good with perpendicular returns, pure Doppler functions (measurements) are rather meaningless.

    Try getting returns from any angle other than perpendicular.

    Regards,

    Doc (RVT-registered vascular technologist)
  • Developer

    try turning off the motor ;)

  • Developer

    Doug,

         Great analysis anyway.  I guess you checked the sonar before your flight (or some other time) while holding the plane in your hand to ensure that it return clean values when it's not moving?

         There's been a lot of analysis and fixes including a filter on the power supply, shielded cable, etc...just want to make sure those types of issue weren't clouding the problem.

  • Developer
    Hey Peter

    Long time, no chat. I embedded the sensor in the skyfun fuselage so the bottom of the "horn" was nearly flush with the fuselage bottom. The airflow should have been reasonably clean.

    The passes were at normal skyfun landing speeds, so certainly not the slowest but not high speed passes either. I am confident that this could be made to work in limited circumstances, but I was trying to see what it might look like in some sort of median case.

    I have rarely seen the sensor register a shorter range than actual. The problem is always dropouts where it reports a high range. Unfortunately that sort of jump translates to a pitch down which is pretty undesirable at low altitude. For landing we need a pretty "robust" sensor IMO, and I don't think Maxbotix is it (quite unfortunately)
  • 3D Robotics

    Whoops--sorry, hadn't seen the legend. Fingers crossed for optical flow!

  • Developer

    Hi Doug, Thanks for publishing the graph, which is of great interest (for landing flares).

    What speed were the passes done at ? (being a skyfun they might have been quite fast.)

    And what precautions, if any, did you take, for reducing the noise of the wind into the sonar detector ?

    (I note these sensor acoustic noise tests).

    Best wishes, Pete

  • Developer

    Hi Chris,

    Yes, sorry if it was not clear.  The blue curve is from the APM2 baro sensor (MS5611) and the red is from the Maxbotix (XL-EZ1)

    I have been looking closely at the MS5611 as well, and while some "light" flare control may be reasonable I have see drift of 2, sometimes 3 meters during a flight.  In fact I did a 1.5 meter drift correction on the baro altitude data in the graph above.  So I don't think we yet have a sensor we can rely on for tight, robust flare control

    I will be looking next at a technique using the optical flow sensor in combination with the gps to estimate altitude over the ground.  Perhaps that will work out.

This reply was deleted.