So I talked with one of the other guys. It’s as I suspected, it occurred because of the change from the Euler Angle attitude controller to Quaternions. I’m not sure if it is considered a Bug or a Feature. The maths to implement the 10° error limit in Quaternions is quite a bit harder. It is being proposed as a Feature, because after a loss of control, the copter will return to it’s original attitude when it regains control.
IMO, it’s a Bug.
Once a vehicle has lost control, the pilot will continue to enter rate commands, trying to regain control. It will store up all those commands. When/if it regains control, it will not return to the attitude it was at when it lost control, but will attempt to return to whatever heading it has stored up after the pilot moved the sticks trying to regain control. The pilot will continue moving the sticks, trying to regain some semblance of control, not understanding that the controller is continuing to sum their movements into the existing built up rate error.
The old behavior, would have it where after control was regained, the copter would now hold whatever attitude it’s at currently, and the pilot would have direct rate control after that point.
Why has this not been noted? IMO, probably because not a lot of people are flying Acro on Ardupilot. And those that do, if/when control loss occurs, they crash. And crashes happen, people move on. And this really only going to manifest itself in Acro mode. Except for yaw. Yaw will be affected in all modes.
But this is a particular problem for UAV helicopters. Consider the case of the classic “Tail Blowout”. You are flying backwards at speed, or even just hovering with a heavy tail wind. Tail blows up, copter rotates to face nose upwind. With AC3.3, it will stop there. The pilot can try to yaw it back around, and it may or may not, depending on conditions. If it can’t do it, it just won’t make it. The pilot will understand that.
With AC3.4, very different. After the blowout, the copter will keep trying to get back to the original heading. It will continue using maximum power on the tail to do so. If the conditions change, such that it suddenly can regain the original heading, it will suddenly do so. ie: flying backward fast, tail blows out, pilot slows the heli down, it suddenly yaws back around backward with no pilot input!
Or, if after the blowout, the pilot tries to yaw the heli backwards again, and it can’t, the error will build up until it passes 180°. At that point yaw will suddenly snap around the other way!
IMO, this is all quite unacceptable. Another roadblock to me moving to 3.4 and 3.5. This isn’t something I can fix myself either. That Quaternion maths stuff is beyond me.