Copter rollover in rtl mode

In rtl mode, the drone landed at 30 cm and I lowered the throttle to the lowest point and flipped it. Please help me find the reason. The firmware is ac3.64. The strange thing is that I didn’t switch modes, the motor rotation is controlled by my throttle.

Here’s the log sent separately…


I think this is a case of the landing detector not detecting the vehicle is on the ground so it continues to try and correct it’s position but it can’t because it’s legs are stuck on the ground.

The requirements for detecting the vehicle is on the ground are:

  • check that the average throttle output is near minimum (less than 12.5% hover throttle)
  • check that the airframe is not accelerating (not falling or braking after fast forward flight)
  • check that vertical speed is within 1m/s of zero
  • if we have a healthy rangefinder only allow landing detection below 2 meters
  • all the above must continue for 1 second

I think two changes may help:

  • increase LAND_SPEED from 35 back to the default of 50. This will make the motors slow down more quickly once it’s landed
  • set GND_EFFECT_COMP = 1 to reduce baro disturbances (although actually I don’t see indications of this).

One thing that’s odd in the log is the vehicle seems to lose pitch control at the end. The vehicle pitches forward but this was not commanded by the autopilot. I wonder if it was landing on a hill.

It did not fall on the mountain