Skip to content

MC Poshold attitude control failure when an uncommanded climb occurs #11470

@Jetrell

Description

@Jetrell

Normally an uncommanded climb condition does not occur when entering MC Poshold at lower velocity.
However, if a Copter or especially a VTOL has forward speed when Poshold is engaged. The Copter or VTOL will tilt backward to slowdown. Or even brake if MC Braking mode is active. Causing the model to begin to climb, due to its forward inertial momentum.
As you can imagine, it is even worse with a VTOL, due to the wings angle of attack increasing, and producing an even higher rate of climb.
This can range from 1 to 3m on some Copters. And as much as 10m on a VTOL, depending on forward speed.

When this situation occurs. The Altitude controller over-reacts. And instead of reducing the throttle to a preset minimum, it instead drops it to 0%, in a vain attempt to bring nav_mc_auto_climb_rate to zero and stop the climb. Leaving the copter or VTOL to free-fall in an uncontrolled state.
Meaning the LEVEL controller has no motor authority to even control attitude in the fall. So it ends up back sliding at the braking bank angle.

This issue becomes even worse once the model has free-fallen back down to the original altitude that Poshold was engaged.
By this time the model has a lot of vertical descent velocity. And its attitude is also screwed-up. So the first thing it does is to raise the motor throttle from STOP to 100%, to catch its fall, and hold the original altitude target, while at the same time trying to lift the rear of the copter and bring it back to level.
This causes all sorts of grief. Because the LEVEL controller over-reacts. And 1 time in 3 will flip the copter.
And as any one who has experienced a copter flip in an altitude hold mode knows It never ends well. The odds of recovery before the ground are slim.

I know engaging Poshold at speed doesn't happen often. But is bad if you do activate it. Like in a case I experienced when I had an insect under my goggle. And I switched to it, to halt the quad so I could lift the goggle.

Conclusion :
The motors should never be reduced to 0% throttle or STOP, even when an uncommanded climb occurs. There should be a minimum throttle command for the altitude descent rate.
Otherwise the LEVEL controller becomes inactive. Leading to a complete loss of attitude control. And in a case like this, Airmode idle throttle does not help.

If anyone is interested. I can forward a log or DVR.

EDIT: The other thing that could be done to prevent this. Is not to set the Poshold altitude target, until the copters vertical velocity has hit zero climb rate, after slowdown commences.
This would work similar to CRUISE mode with MC braking. It doesn't set the XY position until the point the copter stops.. Opposed to ATTI mode. Which rubber-bands back to the point which the stick was released.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions