High-speed dive into the ground while in LOITER mode

My plane crashed today while in LOITER mode. It had been circling for the past 5 mins at about 380ft AGL when it received a momentary nose-down stick input (STICK_MIXING was 1). The input was quickly removed, however instead of recovering ArduPilot continued to pitch down while rolling to the right at full throttle. At the point of impact the plane was inverted.

I had my wits and had switched to a different mode maybe I could have recovered it, but I had let my guard down while watching it loiter and was shocked when it entered the high-speed dive. I’m used to relying on ArduPilot to help me level the plane when flying in rough winds, so it took me a few seconds to realize that the AP was not going to return to level flight this time. I had around five whole seconds to react, which is not a lot of time but it would have been plenty had I been alert and ready to take over, which is the worst part for me.

Should I open an issue on GitHub for this? While I don’t know if there’s a specific bug I am certain for the first few seconds while it still had lots of altitude and speed was not too great, the AP was well capable of returning to level flight but didn’t.

Log: Dropbox - 00000055.BIN - Simplify your life

The airframe is pretty much completely destroyed, though most of the electronics seem to have survived. If I get to flying with ArduPilot again, you bet I will have STICK_MIXING off. But I hope in the future LOITER mode is not so fragile.

The pitch down input was held at full deflection for almost 4 seconds. By the time it was released the plane was already moving at nearly 35m/s. The plane was only at 40 deg nose down, but also trying to roll to 50 deg to maintain it’s loiter position. I think between the high speed, and high bank angles the plane just ran out of space and time to recover. I don’t know what kind of plane it is, but the speed may have been too much for the servos/control surfaces to make a recovery.

WP_LOITER_RAD was configured to 40m, how should the plane fly such small circles at high speed?

The loiter mode is not fragile, only your parameterization …

It does it pretty easily, actually.

I don’t like playing “what if” but given the performance I had seen from it so far, I’m pretty confident it could have recovered from that if it had just. stopped. rolling.

From my vantage point it did look like a vertical dive, but looking at the logs and video it actually nearly leveled out by the time it collided (though inverted). I imagine that mostly being due to the trim of the airplane, but who knows.

Anyways, I thought there might be an opportunity to improve the loiter mode here. But I guess if no one else sees that then there’s no point discussing it further.

4 seconds of full stick deflection is an eternity. Even a mildly off trim surface deflection for that duration could cause a pretty big upset. This amounts to pilot error, not software.

There’s no disagreement about that, but why is ArduPilot happy to ignore its pitch limits in LOITER mode when it is able to respect them in FBWA?

1 Like

It is absolutely respecting the pitch limit parameter…

image

image

My mistake, I thought it had reached 80 degs. Thanks for being patient with me.

It’s an unfortunate mistake. Looks like it even tried to save you from yourself by rather slowly approaching the limit (and not even actually reaching it before the descent command was canceled).

2 Likes