mc_pos_control: disable roll/pitch modification in manual for multicopters

This causes severe oscillations in aggressive maneuvers with high tilt
angles. It's an issue on VTOL's too, but the modification is specifically
for VTOL's and VTOL's typically do not fly with such high tilt angles
(>50 deg).
See also: https://github.com/PX4/Firmware/issues/7949
This commit is contained in:
Beat Küng 2018-01-18 10:44:38 +01:00 committed by Roman Bapst
parent 8b63dbecde
commit 4b64bfdd95

View File

@ -2950,8 +2950,8 @@ MulticopterPositionControl::generate_attitude_setpoint()
_att_sp.pitch_body = euler_sp(1);
_att_sp.yaw_body += euler_sp(2);
/* only if optimal recovery is not used, modify roll/pitch */
if (!(_vehicle_status.is_vtol && _params.opt_recover)) {
/* only if we're a VTOL and optimal recovery is not used, modify roll/pitch */
if (_vehicle_status.is_vtol && !_params.opt_recover) {
// construct attitude setpoint rotation matrix. modify the setpoints for roll
// and pitch such that they reflect the user's intention even if a yaw error
// (yaw_sp - yaw) is present. In the presence of a yaw error constructing a rotation matrix