Okay, here’s what I see:
- The drone’s GPSes are intermittent. They frequently cut out.
- They worked before takeoff, and the user flew in Stabilize for the majority of the flight, so it was never noticed that the GPSes didn’t work.
- User entered Loiter while the GPS happened to be working, then entered Land mode. Throttle was left at 1630 PWM, because it doesn’t affect Land mode.
- GPS cuts out, and the drone falls back into Stabilize mode. With 1630 PWM throttle, the drone shoots upwards (it hovers at 1250).
- User brings the drone down in Stabilize
If the user did not hear (or didn’t recognize) the audible beep that indicates a flight mode failure, the sudden switch to Stabilize definitely would have felt like an uncontrolled event.
Luckily, the log also provided the answer to why the GPSes were failing: they drew too much power. Look here:
The top graph is the flight controller board voltage. The red line is the “power status flag.” It’s a bitmask that contains information about the board’s power management. Its outputs are defined here:
It starts at 3 (1 + 2 = power valid; good), but quickly jumps to 35, with occasional spikes to 43. This means the status is 1 + 2 + 8 + 32, which indicates that the power status has changed since boot, due to peripheral overcurrent. The second graph shows how the GPS status correlates to the the flag = 43, although the GPSes intermittently cut out more often than the overcurrent state is recorded. Towards the end, it looks like it finally gives up and permanently goes into overcurrent, shutting down both GPSes. The board voltage is also noticeably affected by whether the GPSes are in use, although it is not in danger of going too low (above 5V is good).
So the problem is certainly the GPSes drawing too much power from your flight controller’s serial outputs. There are solutions to this, but they depend on what hardware you’re using. What flight controller is this, and what other peripherals are connected?