FixedWingPositionControl: use target climb/sink rate parameters as maximum

rates in manual altitude controlled modes

Signed-off-by: RomanBapst <bapstroman@gmail.com>
This commit is contained in:
RomanBapst 2021-05-06 10:39:55 +03:00 committed by Silvan Fuhrer
parent a5cc449e69
commit 19449a4e75

View File

@ -567,13 +567,13 @@ FixedwingPositionControl::update_desired_altitude(float dt)
if (_manual_control_setpoint_altitude > deadBand) {
/* pitching down */
float pitch = -(_manual_control_setpoint_altitude - deadBand) / factor;
_hold_alt += (_param_fw_t_sink_max.get() * dt) * pitch;
_hold_alt += (_param_sinkrate_target.get() * dt) * pitch;
_was_in_deadband = false;
} else if (_manual_control_setpoint_altitude < - deadBand) {
/* pitching up */
float pitch = -(_manual_control_setpoint_altitude + deadBand) / factor;
_hold_alt += (_param_fw_t_clmb_max.get() * dt) * pitch;
_hold_alt += (_param_climbrate_target.get() * dt) * pitch;
_was_in_deadband = false;
} else if (!_was_in_deadband) {