Browse Source

ecl attitude_fw fix excessive body fixed turn offset

-limit body fixed turn offset contrained roll to possible
roll setpoint range
-fixes #181
master
Daniel Agar 9 years ago committed by Lorenz Meier
parent
commit
0d02bb2612
  1. 2
      attitude_fw/ecl_pitch_controller.cpp

2
attitude_fw/ecl_pitch_controller.cpp

@ -127,7 +127,7 @@ float ECL_PitchController::control_bodyrate(const struct ECL_ControlData &ctl_da @@ -127,7 +127,7 @@ float ECL_PitchController::control_bodyrate(const struct ECL_ControlData &ctl_da
/* roll is used as feedforward term and inverted flight needs to be considered */
if (fabsf(ctl_data.roll) < math::radians(90.0f)) {
/* not inverted, but numerically still potentially close to infinity */
constrained_roll = math::constrain(ctl_data.roll, math::radians(-80.0f), math::radians(80.0f));
constrained_roll = math::constrain(ctl_data.roll, -ctl_data.roll_setpoint, ctl_data.roll_setpoint);
} else {
/* inverted flight, constrain on the two extremes of -pi..+pi to avoid infinity */

Loading…
Cancel
Save