stall crash - suspect strange instant airspeed dip

519 views
Skip to first unread message

Tom Pittenger

unread,
Sep 25, 2015, 9:03:43 PM9/25/15
to drones-discuss
I stalled and crashed my plane today and I could use some help with the core reason. Here's the log..

Context: Flight was all auto on a skywalker x8 running a pixhawk with pitot tube on the code from PR 2878 (xtrack intengrator) but otherwise master v3.4.0beta2 dated Sept 16th (so *just* before 3.4.0 release). I doubt the changes in that branch came into play on this crash. This was my 8th flight that day on this code, almost 2 hours flight time on that branch before this crash and many hours in SITL.

- flying away from the land point from higher than usual so I'm descending down to the land_approach waypoint which is 80m at a pitch of -10deg.
- I hit the land_approach point at alt 100m so I'm still diving and have an increased airspeed of 18 instead of cruise of 16. Nav_pitch jumps from -10deg to -20deg due to TECS_SINK_MAX=4 (for testing) and TECS_LAND_SINK=8 (I know I know).
- initiate hard u-turn to land at point which is behind us and constrain roll to a conservative limit of 35deg.
- about a second or two into the u-turn the airspeed jumps from 18m/s down to 8.5 and back to 18 in a single log sample which I think is 10Hz. The raw baro pressure take a similar huge dip at the exact instant too so those coincide which is expected.
- the airspeed dip appears to trigger a hard pitch-up and then max throttle.

Inline image 1

In general, I've seen poor performance when doing a tight turn on the land approach waypoint. Pitch/throttle over-correction causing wild altitude change of 10m as we're turning to line up on the approach path.

This airspeed thing may be coincidental and the real problem is trying to perform a hard turn while in a flight mode optimized for slow-and-steady landing approach.

Or maybe it's something in my params?

Any help is appreciated, thank you!

-TomP

john...@gmail.com

unread,
Sep 26, 2015, 5:46:01 AM9/26/15
to drones-discuss
Whenever someone mentions a hard turn and crash on a flying wing, my immediate suspicion is that you flat spin stalled it.

Just speculating here but could it be that the log actually caught the laminar separation bobble forming as the stall was in progress? And If so, then doing a hard pitch up and max throttle is probably the worst thing you can do, pretty much guaranteeing a deep stall.

In general it's a no no to have aggressive maneuvers during landing approach, and even more so for wings.

Tom Pittenger

unread,
Sep 26, 2015, 10:56:22 AM9/26/15
to drones-discuss

Is it really a hard turn if it has a 35 dev roll limit?

--
You received this message because you are subscribed to the Google Groups "drones-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to drones-discus...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Josh Welsh

unread,
Sep 26, 2015, 1:10:01 PM9/26/15
to drones-...@googlegroups.com

Aw Tom sorry for your crash!  I’ve played with X8’s a lot and just love them.

 

X8’s will turn with much more aggressive roll limits as long as the air is there.  35 degrees is definitely enough for an “X8 deathroll” if the air stops long enough – and “long enough” unfortunately isn’t very long; During my time with playing with X8’s (still my fav airframe) I got to the point where I could also reproduce the deathroll on purpose if the wind and other conditions were right.  John’s correct as well, full pitch-up in that case is 100% the absolute wrong thing to do to fix it.  Additional throttle and some nose-down likely would have recovered. The only way to recover from these deathroll/flatspins is to invoke manual mode and nose down while adding throttle, and anything else just makes the deathroll trigger faster.

 

As soon as I saw your images and your comments about airspeed and baro, I reminisced about the airframes I’ve lost to the same condition.  18m/s down to 8.5 and back up the next log iteration is certainly quick, but if there is any chance of those samples being accurate, 8.5m/s in a 35deg turn will for sure stuff an X8 in to a spin.

Andy Little

unread,
Sep 26, 2015, 7:39:59 PM9/26/15
to drones-discuss


stall warning indicator would be an interesting project.

One design involves 2 plates one at nominal +45 deg to the air flow and one at nominal -45 deg.  Each plate has central hole  with a pressure sensor attached behind and the pressure difference is monitored. A standard differential pressure senor is all that is required. As to the exact mechanism by which stall approaching is detected; The simple analog is a "tell tale" , a piece of wool or cassette tape which will lift and flutter as stall is approached and is often used for the purpose on gliders and yacht sails. You would need 2 sensors of course, each maybe 2/3 out on each wing

On the X8 and other wings you can make it more stable by moving the C.G forward . As you move the C.G forward, you need more Up elevon. This effectively adds washout near the tips so reducing the angle of attack there and unloading the wingtips. It also reduces efficiency but that is the tradeoff. It is the search for the best efficiency which tends to illuminate the problem :)

regards
Andy

Tom Pittenger

unread,
Sep 27, 2015, 2:02:50 AM9/27/15
to drones-discuss

Hi Andy,

Thanks for the kind words. The aircraft is fixable so I'll be up and flying in it very soon.

Regarding your advise on turn angle, do you have any suggestions on my params from that log? Do you have a param file you can share from your x8 Skywalker configuration?

I think the big question here is why did it stall while in auto mode especially with a roll limit of 35. There's something about the transition from normal stage to approach stage that makes the turns act funny. Everything works great if the transition is done while flying straight and level. On a turn there is a huge altitude bump and that contributed to the stall.

--

john...@gmail.com

unread,
Sep 27, 2015, 7:03:25 AM9/27/15
to drones-discuss
There are external factors that also come into play here.. For example, are you sure you had a head wind during the landing approach? Turning at low speed during the landing approach and getting a tail wind making the effective airspeed to low, is a very common way to get into a stall.

Andy Little

unread,
Sep 27, 2015, 10:29:41 AM9/27/15
to drones-discuss

Tom,

I dont have an X8 or any flight logs. Its all armchair flying :)

Whatever   The blip in the airspeed to me looks like a failed read. I am questioning quite what happens on a failed read.

I am guessing we are in  bool AP_Airspeed_PX4::get_differential_pressure( float & pressure) ?

That is called  from private AP_Airspeed::get_pressure(), but cant really see anywhere that checks if the lower function has actually returned good data. If  whatever calls  AP_Airspeed::get_pressure() doesnt check _healthy (think only caller is AP_Airspeed::read()  after start up..calibrate which does check _healthy) ?) I would guess you will get zero from reading the result  .. but dont shoot me if I'm wrong. If so apologies for time wasting :)



regards
Andy

Jason Franciosa

unread,
Sep 27, 2015, 12:30:17 PM9/27/15
to drones-discuss
It is quite scary that a blocked airspeed sensor or a airspeed sensor failure can be fatal. If the autopilot see's a sudden change of more than x percentage could those values be ignored? or you could possibly use the min and max speed parameters and if the airspeed sensor detects a sudden change out of that range it disengages and switches to just using GPS speed as it's most likely an issue with the airspeed sensor?

I think this also brings up the need for stall recovery code in auto and stabilized modes that we spoke about here https://github.com/diydrones/ardupilot/issues/2669

Tom Pittenger

unread,
Sep 27, 2015, 12:58:51 PM9/27/15
to drones-discuss

Andy,

I haven't had time to look into it yet but I suspected exactly what you are describing. A failed read, or a read that results in zero-ish, gets through the system. For the record, the only other i2c device sharing that bus was the compass. The standard 3dr GPS combo one.

Jason,
See https://github.com/diydrones/ardupilot/issues/1628
There is a synthetic airspeed that is used when no hardware airspeed is available. Problem is we can switch between them before only one is running at a time. For example, the EKF can call back to the DCM because both are always running. We need to change the airspeed library to always execute all airspeed options and log their data which will allow us to revert to internal airspeed when we detect a failed hardware pitot tube for whatever reason.

Johnarne,
The land approach was mostly into the wind so the turn started with a trail wind. As described, i was descending at the time so my airspeed was actually higher than normal: 18m/s where my stall speed param is set to 12. Cruise is 16 (up from 15 recently).

Andy Little

unread,
Sep 29, 2015, 8:52:02 AM9/29/15
to drones-discuss


On Sunday, September 27, 2015 at 5:30:17 PM UTC+1, Jason Franciosa wrote:
It is quite scary that a blocked airspeed sensor or a airspeed sensor failure can be fatal. If the autopilot see's a sudden change of more than x percentage could those values be ignored? or you could possibly use the min and max speed parameters and if the airspeed sensor detects a sudden change out of that range it disengages and switches to just using GPS speed as it's most likely an issue with the airspeed sensor?

I think this also brings up the need for stall recovery code in auto and stabilized modes that we spoke about here https://github.com/diydrones/ardupilot/issues/2669

 The failure of airspeed sensors was fatal for AirFrance Flight 447  https://en.wikipedia.org/wiki/Air_France_Flight_447#Airspeed_inconsistency

 The generally accepted "base level" solution to failed sensors appears to be for the autopilot to own up and say "I dont know what is going on. Dont trust me ..please take manual control"  . IOW the autopilot should not be considered as a replacement for poor flying skills but only as a convenience to be used with caution and awareness of its limitations.

regards
Andy

john...@gmail.com

unread,
Sep 29, 2015, 9:34:03 AM9/29/15
to drones-discuss
> IOW the autopilot should not be considered as a replacement for poor flying skills but only as a convenience to be used with caution and awareness of its limitations.

Amen brother. Amen..

Robert Lefebvre

unread,
Sep 29, 2015, 9:46:14 AM9/29/15
to drones-discuss
+2

On 29 September 2015 at 09:34, <john...@gmail.com> wrote:
> IOW the autopilot should not be considered as a replacement for poor flying skills but only as a convenience to be used with caution and awareness of its limitations.

Amen brother. Amen..

--

Jason Franciosa

unread,
Sep 29, 2015, 10:12:30 AM9/29/15
to drones-discuss
Would it be possible to produce and use a cheap AOA indicator instead of Airspeed sensor? Technically, airspeed really doesn't matter if you know the true angle of attack of the wing to the relative wind. I'm not 100% sure exactly what these sensors look like, but, it could make the chance of a stall even less likely, especially during hard maneuvers during landing patterns. General aviation is finally pushing for them and in aviation terms they are quite inexpensive (Around $2000 for full scale). I'm sure if they are that cheap for general aviation we could make one for under $100 on a UAV or less.

Any thoughts on flying AOA instead of airspeed for UAV's?

Tom Pittenger

unread,
Sep 29, 2015, 10:58:24 AM9/29/15
to drones-discuss
Sorry guys, I have to disagree. If the plane is in auto it should be conservative and intelligent enough to not crash under any (non-tornado) circumstances. A stall happened while stall prevention was enabled. What's up with that? The airspeed was high enough to not cause a stall, it was 2 m/s above cruise. It was the reaction of the controller that induced a stall. That is unacceptable.

TODO list:
- sanitize airspeed data
- enable dual (synthetic and external) airspeed calculations and be able to switch between them easily.
- beef-up stall prevention
- detect stalls
- recover stalls


On Tue, Sep 29, 2015 at 7:12 AM, Jason Franciosa <jason.f...@gmail.com> wrote:
Would it be possible to produce and use a cheap AOA indicator instead of Airspeed sensor? Technically, airspeed really doesn't matter if you know the true angle of attack of the wing to the relative wind. I'm not 100% sure exactly what these sensors look like, but, it could make the chance of a stall even less likely, especially during hard maneuvers during landing patterns. General aviation is finally pushing for them and in aviation terms they are quite inexpensive (Around $2000 for full scale). I'm sure if they are that cheap for general aviation we could make one for under $100 on a UAV or less.

Any thoughts on flying AOA instead of airspeed for UAV's?

--

Holger Steinhaus

unread,
Sep 29, 2015, 4:57:35 PM9/29/15
to drones-discuss
Hi Tom,

a stall is not an airspeed thing, it is purely an AOA thing. You can stall any plane at any speed up to V_ne, if you just pull hard enough - given that the plane allows enough elevator control authority to reach that critical AOA. A lot of model airplanes offer this amount of control authority, at least with a certain CoG setting (far enough aftwards). A stall protection that looks on airspeed only is therefore nothing more than snake oil. To make it work, either we need a way to measure the AoA directly, or we need to consider at least the dynamic wing loading (the number of Gs that you pull in that moment). But no idea if the wing loading approach will really work for our agile little planes...

Regards,
  Holger

Tom Pittenger

unread,
Sep 29, 2015, 5:54:08 PM9/29/15
to drones-discuss
The stall prevention is used here in wing loading calc

Jason Franciosa

unread,
Sep 29, 2015, 7:22:14 PM9/29/15
to drones-discuss
Is an AOA sensor something that could be designed or developed for UAV's? I understand the importance of AOA, but, don't fully understand how they measure it at all times.

Tom Pittenger

unread,
Sep 29, 2015, 8:12:00 PM9/29/15
to drones-discuss
There's only two ways that I know of to measure AOA:

- wind vain on the side of aircraft

- fancy pitot tube with additional angled inlets




On Tue, Sep 29, 2015 at 4:22 PM, Jason Franciosa <jason.f...@gmail.com> wrote:
Is an AOA sensor something that could be designed or developed for UAV's? I understand the importance of AOA, but, don't fully understand how they measure it at all times.

--

Dave S.

unread,
Sep 29, 2015, 8:50:57 PM9/29/15
to drones-discuss
Here is a Simple DIY Angle of Attack (AOA) indicator project

http://www.akaflieg.tugraz.at/wp-content/uploads/2013/04/simple-diy-aoa-sensor_v1.pdf

Philip Rowse

unread,
Sep 29, 2015, 9:57:52 PM9/29/15
to drones-...@googlegroups.com
that is perfect, and would suit what you need perfectly Tom! very simple to build.


PHILIP ROWSE
    LEAD SYSTEMS ENGINEER
    3D Robotics Australia
    website | facebook | instagram

Robert Lefebvre

unread,
Sep 29, 2015, 11:00:22 PM9/29/15
to drones-discuss
I really like that vain on the fuselage.  For some reason, I was thinking it would need to be a vane on the end of a stanchion sticking out in front of a wing.

That fuselage mounted one would be easy to do.  Use a pot from a servo, or even better, a completely frictionless magnetic encoder like used in the Iltair Magnetic Induction servos. (and maybe that's essentially what the DIY links is doing?)

john...@gmail.com

unread,
Sep 30, 2015, 5:21:05 AM9/30/15
to drones-discuss
Or an optical counter like what you have in old a ball track computer mouse. Much more accurate and easier do deal with an a micro, then ADC's and analog pot signals.

Philip Rowse

unread,
Sep 30, 2015, 5:44:36 AM9/30/15
to drones-...@googlegroups.com
The magnetic position encoders are very accurate these days.  That would be the best way :)

PHILIP ROWSE
    LEAD SYSTEMS ENGINEER 
    3D Robotics

Tom Pittenger

unread,
Sep 30, 2015, 11:28:38 AM9/30/15
to drones-discuss

There's gathering AOA data and then there's knowing what to do with it. And ideas?

Jason Franciosa

unread,
Sep 30, 2015, 11:49:52 AM9/30/15
to drones-discuss
There's a maximum AOA that a specific wing can achieve. You would have to know this to best optimize performance, however, using conservative estimates (15 degree's or so) you can cover the limitations of most decently designed wings. Maybe have a conservative default estimate of an AOA and make it a user adjustable item if they know the true AOA limit of their airframes wing?

iskess

unread,
Sep 30, 2015, 2:45:43 PM9/30/15
to drones-discuss
I love the thought of an AoA sensor. It's the only way to provide exact stall margin information to the autopilot. It would also be very helpful to analyze in the logs along side the airspeed sensor. I always wondered why model airplanes didn't use AoA. Someone commented that they dont work well at low speeds and small scale due to Reynolds Number. I don't know if that is true or not.

Back when the Pixhawk was released, Tridge said that dual airspeed sensors was on the future todo list. What ever happened to that goal? It seems like an easy way to sanity check abrupt sensor output changes. If the additional airspeed sensor is analog, it would be a very inexpensive addition.

Philip Rowse

unread,
Sep 30, 2015, 5:37:19 PM9/30/15
to drones-...@googlegroups.com
Yes, each wing shape has a critical angle, this could be tuned by test in flight at altitude. Or an angle could be added as a parameter.  Stall angle also decreases with bank angle, and on some aircraft, with enough power can maintain lift well past the critical Stall angle, otherwise known as high Alpha... That would not apply to most of our aircraft.


PHILIP ROWSE
    LEAD SYSTEMS ENGINEER 
    3D Robotics
    website | facebook | Instagram

Tom Pittenger

unread,
Sep 30, 2015, 5:41:56 PM9/30/15
to drones-discuss
I'd really like to make stall prevention bullet proof for auto flight. If that means adding an AOA then I'm interested in implementing it. Delta wings are somewhat hard to recover a stall from so a "test flight at altitude" may not be my way forward. We'll see.

Meanwhile, let's start a new AOA thread. I'm sure there's lots more to talk about.

Dave Skipper

unread,
Sep 30, 2015, 7:34:46 PM9/30/15
to drones-discuss
I am looking to make a batch of the DIY AOA sensors with Jurgen from Auvidea. He is working on CAN Modules. https://groups.google.com/forum/#!topic/uavcan/G-0mNLgG4HA

Tom Pittenger

unread,
Sep 30, 2015, 8:12:52 PM9/30/15
to drones-discuss
After a log review by Tridge on mumble, it looks like I had a few issues:
- TECS_LAND_SPDWGT = 0 (bad idea)
- I was doing a sharp turn while my flight_stage was LAND_APPROACH and that is not designed for hard turns.

We tossed around several ideas to try and inhibit the LAND_APPROACH restrictions when not quite yet on the actual approach due to turning to get onto it (uturn or high winds blowing you off course). Ultimately the easiest thing was to just not go into approach stage until you've stabilized and that is covered in this issue: https://github.com/diydrones/ardupilot/issues/2921

Lets make a new thread for AOA chatter.

Auvidea

unread,
Oct 5, 2015, 10:55:02 AM10/5/15
to drones-discuss
Hi,

as David already indicated, I am developing a little CAN to sensor adapter, with reads the rotary position. I guess this could be used for many different applications including an AOA sensor. It uses the AS5045 sensor made by Austrian Microsystems. 

Under the sensor I have placed a hole with a diameter of 6mm. This allows to insert a 6mm ball bearing from the back. The ball bearing has an inner hole diameter of 3mm. There a magnet with 3mm diameter and a length of typically 8mm may be inserted. Next the magnet can be attached to a carbon or aluminum shaft. The larger picture shows 2 extra adapter boards on the bottom. They can be mounted on the back of the module. One has a 6mm hole. So it doubles the board thickness for the 6mm ball bearing. The other has a 8mm hole for 8mm ball bearings. They come for shafts with 3, 4, or 5 mm diameter.

I am looking at designing a simpler version of this. No CAN. Just analog and PWM out. To connect to Pixhawk or other flight controllers. What do you think? Is there any interest?

Specification:
Size: 18 x 30 mm
CAN: 2 Clik-Mate connectors for CAN in and out (UAVCAN)
USB: 4 pin USB header for debug
Analog port: for legacy systems there is a 4 pin connector with 5V power, PWM out (proportional to the rotary position), analog position and GND
Micro controller: STM32F042 or STM32F103
Status: design is complete, it will go to PCB production now, first prototypes in November 2015

Please also have a look at my other CAN adapters, which I have posted on the UAVCAN thread.
1. 38159: CAN to USB
2. 38160: CAN to UART, I2C or PWM (to interface CAN to ESCs with I2C bus for example)
3. 38161: CAN to MPU9250 (9 axis acc.) and MS5611 (air pressure) sensor
4. 38162: CAN to ESP8266 Wifi (UART via Wifi)
5. 38174: CAN to dual battery power distribution board (for dual current, voltage and temperature) - this is a new project - more later
6. CAN to battery monitor (3S to 8S - measures individual voltages of all cells and battery current- up to 150 or 200A - cell balancing optional)

Regards,

Jurgen



39173 CAN2ROT.png
38173 CAN2ROT plus .png

Federico Mari

unread,
Oct 8, 2015, 2:24:41 AM10/8/15
to drones-discuss
Hi Jurgen,

See my post here
I did the same product a year ago, never finished for various reasons.
I did employ the same components you are using, just in a different shape PCB. 
I will suggest you to put a DF13 connector for the airspeed I2C sensor. If you set the STM32 as an I2C master you can read the airspeed  sensor data and send that on the CAN bus together with the AOA information. This will allow users with big airframes to overcome the 20cm limit on the Airspeed sensor bus. 
I also had integrated on my design a barometer and an OAT sensor, in that way my AoA sensor became one HUB for all the AIR sensors . 
I will be interested to know if you already have worked the mechanical hardware side, as is the really tricky bit to get a vane to respond properly at different airspeeds and AoA. To perform a proper evaluation you need a wind tunnel.  

Regards,
Federico 

Tom Pittenger

unread,
Oct 8, 2015, 8:56:20 AM10/8/15
to drones-discuss

Frederico,

This is great info. Please post it to https://github.com/diydrones/ardupilot/issues/2928 to keep the info all together. Everyone keeps posting on my stall log thread! LOL!

Reply all
Reply to author
Forward
0 new messages