Quadrotor Crash upon Entering AltHold

Hi,

We’ve been using APM:Copter for a number of years now, and had our first crash which we can’t diagnose the cause of. Any help would be much appreciated to work out what went wrong. If I’ve forgotten to provide any info, let me know and I can add it in.


Hardware & Software
PixFalcon, PDB, GPS+Mag (from HK). Spektrum Tx/Rx
Runs 3S 2200 mAh, 6x3, Turnigy 2211-2300kv motors, 12 A ESC, 260 mm diag frame
Copter 3.3.2
Flown well previously in stabilise, alt-hold, loiter, RTL, previously about 5 h flight time

Crash Description
The quadrotor was flying well in stabilise for 3-4 minutes, responding well to inputs. The flight was conducted indoors with all gains known to have worked before. This was the second flight for the day (flown in stabilise).

At 291.4 s, the quad was switched to AltHold. Immediately, the magnetometer innovations become very unstable and the vehicle has lost control and crashed at 292.5 s, appearing to accelerate towards the ground. The vehicle appears to know exactly where it is, but is unable to stabilise itself.

The battery voltage calibration is slightly out - the quad runs a 3S so the read voltage is 11 % high than the actual voltage. The battery is not new, but is known to be reasonably good and appears not to have gone flat (60-70 % full after the crash).

Good description, but it would be nice to have the log…

Sorry, It said it uploaded but apparently that didn’t work. Here’s the log.

Sorry, still not seeing it. You might need to upload to (e.g.) dropbox and paste a link instead. It maybe failing silently for you.

Yeah, exactly what was happening (derp). Uploaded log to dropbox. ( https://www.dropbox.com/s/jxx8horrcgxf3zr/50.BIN?dl=0 )

It looks like it was not commanded:

It also looks like EKF was sane:

Your magnetometer innovations follow a spike in current, so they’re probably effect rather than cause:

Sadly, your log doesn’t contain your motor outputs. I would be checking your motor outputs to see if one of your motors stopped producing thrust. The timing on the switch to ALT_HOLD is a bit much of a coincidence, 'though.