Copter held full throttle after radio failsafe and crashed into tree after several errors

Hardware:
Omnibus F4 V3S (using omnibusF4 firmware, PCB layout seems the same) (no onboard mag)
External compass - QMC5883L
GPS - BN-280
LANRC 35A ESCs on DShot600
DJI 800KV (clones) with 1045 props
Molicel P42A 4S2P Li-ion pack

The newly built hexacopter had maybe 30-40 mins of flight time logged previously without any noticeable issues. I haven’t done a proper tune yet, only used initial values calculated by mission planner. Vibe, Compass health, and everything was okay in the logs. But I had never tested for interference on full throttle. The compass and GPS are about 3.5cm above the ESCs, and the FC is about 5cm above. The receiver was mounted right between the external compass and gps. The ESCs were all mounted near the central hub.

As I was waiting for a new radio to arrive, I modded my old Turnigy 9X stock receiver with speters/pwm2x using an arduino pro mini to convert PWM to SBUS. The receiver didn’t have any failsafe feature, but it had an LED that turned on when the transmitter was connected. So I probed into the LED to get a failsafe signal and modified the ppm2x code to set the failsafe bit in SBUS when the LED was off. I tested it on the ground by turning the transmitter on and off and it worked fine. In fact on the first flight in the log, you can see a complete SRTL triggered by a radio failsafe from far out in the field.

So, here’s how it went on the next flight:
I armed and flew my hexacopter from under a tall (60ft-ish) tree into an open field. GPS was good so I thought there wouldn’t be a problem.
I took off in stabilize mode, and went out over the field, decided to test some SRTL. The drone returned as expected, but apparently my throttle was down when I tried switching to loiter (flipped to stab and then loiter). The copter went in almost a free fall, and that is probably why I slammed the throttle. I don’t remember exactly, But it did a hard hit on the ground before it could decelerate enough. I tried to disarm, but RCIN got stuck at full throttle. Probably a physical failure? Or receiver interference from the ESCs at full throttle which hasn’t been tested before?

The drone took of immediately like a rocket, giving me barely any time to react or even understand what’s happening. A radio failsafe logged within like half a second, and the mode switched to SRTL as expected. But weirdly, the motors remained in full throttle. Why is that? I would expect srtl to throttle down and climb steadily to the rtl altitude. At the same time, several errors triggered, probably due to interference at full throttle (there is clearly some mag interference). Then EKF failsafe caused a switch to land mode. Motors throttled down, but by now the drone had enough velocity to complete the rest of the climb trajectory and get stuck 18+ meters high on the tree.

There was comolete loss of radio control from there. I had to wait for wind to throw it down several minutes later. :upside_down_face:

Coming back, all the electronics seem to be functional, including a GoPro. But the receiver no longer works. It did have the ground cable torn out from the FC, maybe on the first ground hit, maybe on the tree hit, or perhaps on the final drop.

Flight Log

I don’t see full throttle in the log:

Could it be an ESC problem?

The log posted doesn’t show what you described. Oops, looked at the wrong log sorry!

An odd set of circumstances here. The switch to Stabilize with the throttle down started it out. Then a switch to Loiter and full throttle input sent it up and then a series of Failsafes including Vibration Compensation being activated switching to Land mode. When Vib compensation activates control is compromised.

It’s at the end of the last flight, you can see my screenshot.

Just from the text, I’d say it’s a bad idea to take off from under or near to a tree or similar obstacle.
If SRTL doesnt work and the copter does an RTL, the tree could be a real issue.
I would allow at least a 5m gap between the outer reaches of the tree and the take-off point.

1 Like

It was definitely a bad idea to take off from under a tree - that’s the biggest lesson from this crash. I just thought the tree was too high to cause a problem. You can tell I’m relatively new to Ardupilot and drones in general.

But was the SRTL behavior as it should be? I’d expect the motors to throttle down as soon as radio failsafe was triggered.

Activating Rapid Return to Earth mode, AKA Stabilize at low throttle, is never a good idea. Review the log for the series of Failsafes and actions as a result.
Motors throttling down is not always the action desired. Rarely really,
Looks like panic switch flipping, it happens.

2 Likes

Yes, “panic switch flipping”, and also “panic throttle slamming”. It is weird I didn’t notice the throttle was all the way down. I flipped the switch with the intention of switching to loiter mode, which is where the switch originally was when I did SRTL with a separate switch. The whole event was a series of unlucky slips.

As for the errors after liftoff, is it a good idea to do a tied-down-to-hard-floor full throttle test for vibrations and EKF health? I don’t feel like hitting full throttle in flight just yet, especially with uncertain consequences as this log warns of.

I also wonder if there is an foolproof flight mode switch configuration anyone figured out that can reduce the chances of things like this happening. I could also configure a beep and channel 5 hold on OpenTX when trying to switch flight mode below a certain throttle?

I would expect ground testing to give meaningless results as ground contact affects resonance frequencies of the copter.

I have personally seen copters that experienced minor ground resonance during motor spool up, but it was absolutely fine once in the air.