Adding Drone Instrumentation With No Additional Parts

Soon the skies will be filled with drones, or so the conventional wisdom goes, and these flying droids will deliver pizza, mail, packages, and medical supplies right to one of the taller trees in our backyards. To date, advanced fixed-wing UAVs and toy quadcopters have proven themselves to be exceptionally dumb; they have no idea what their airspeed is, and no, ground speed measured by GPS will not keep you in the air.

The sensors to measure airspeed and angle of attack can be adapted to small drones, but [gallinazo] has a better idea: why not estimate these figures using sensors a drone already has? He’s measuring synthetic airspeed, something that would have already saved a few hundred lives if it were implemented passenger airliners.

Small drones are able to take a few measurements of their surroundings using standard accelerometers, magnetometers, and of course recording the position of the throttle and control surfaces. All of these variables are related to airspeed – at a constant throttle setting, with no movement of the control surfaces, an aircraft will eventually settle at a stable airspeed.

The trick, though, is to tie all of these variables together to produce a number related to the airspeed of the drone. This is done with a Python script implementing a radial basis function and eating all the memory on [gallinazo]’s desktop. This Python script is effectively a black box that turns the throttle position, bank angle, elevator position, and pitch rate into an airspeed.

Does this black box work? Judging by the graphs comparing synthetic airspeed to measured airspeed, this is amazing work. [gallinazo]’s airspeed estimator accurately and reliably matches the measured airspeed. It does this with zero extra parts on the airframe.

All of the code required to implement this synthetic airspeed indicator is available on GitHub, and could conceivably be implemented in a small RC plane after all the variables are pre-computed. Awesome work that pushes the state of the art forward quite a bit.


12 thoughts on “Adding Drone Instrumentation With No Additional Parts

  1. Added to commercial aircraft wont correct for human error.
    It’s no good adding more instruments if the pilot ignores those already there.
    Can you really trust a machine made algorithm? Machines don’t make mistakes as we all know, but when a human picks the training data and recording parameters? Removing yourself from the generation is denying an opportunity to realize an omission in your theory. Importantly for aircraft is if there is a problem someone will want to know why it went wrong, what was the bug? inevitably the answer will be “we don’t know” well ask the guy that wrote it. except you can’t.
    is there a big interest in stats like this for hobby drone operators outside of the implementation?

  2. The Pitot tube is a hundred year old tech and works like a charm; modern refinements augment its accuracy such as wind sheer warning systems but the bottom line remains: the thing flies based on what the tube says; no computers and fancy sensors there

  3. “He’s measuring synthetic airspeed, something that would have already saved a few hundred lives if it were implemented passenger airliners.”

    No. Simple instrument failures are compensated by cross referencing the ones that are still working – tense but workable. The horrific failures you read about are often a unique combination of failed sensors, lack of specific training (ice, inversion), distracting problems (the front fell off) and/or crew confusion (ignoring the flashing and beeping that’s already going on).

    There is already a redundant array of sensors aboard, and there are at least two high-speed neural networks in operation (the Pilot in Command and First Officer) both of whom have a pretty good idea of seat-of-the-pants aerodynamics is about. For more information on that, hunt up a copy of Wolfgang Langewiesche’s classic “Stick and Rudder” that every pilot eventually reads.

    ” …turns the throttle position, bank angle, elevator position, and pitch rate into an airspeed” is already in place after a few hundred hours in the air.

    If you think you’d like to trust anyone’s life to the algorithm alone, spend ~$150 at the local airport for an aircraft and instructor and have them show you what a stall (at a safe altitude) feels like. It’s unmistakable (and fun for some of us)

  4. Another option that is available and may be significantly more reliable, although sitll needing occasional recalibration, is to compare the throttle at the ESC times system voltage to the output RPM (or magnetic RPM, which are already known to the ESC). ESCs equipped with governor mode already do this to some extent.

    Compared to the method in this article.. you’d have much higher time resolution and per-motor values possibly precise enough to give you angular speed / accelerations too.

    The brushless sensorless ESC and motor pair together can form a very versatile sensor/actuator/generator that is underutilized in “drones”. It can even be a precise tachometer or an encoder, assuming some minimum RPMs, all with just ESC firmware code.

  5. A flying thing I picked up a long time ago is to always be aware of the distance between your two joysticks! The closer they are to each other, the closer you are to falling out of the sky. Particularly around base leg. As your airspeed decays, you tend to pull back to maintain your attitude.. It saved me once.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.