FlightTasks: do not adjust tilt limit of the position control

Adjusting the tilt limit can lead to diverging position control
and should only be used by setting a sanity limit for the controller
and not to adjust during the descent phase of a Land or RTL.
Otherwise it leads to flyaways in important failsafe modes when
there's stronger disturbance e.g. wind.
This commit is contained in:
Matthias Grob
2020-04-19 13:01:57 +02:00
committed by Lorenz Meier
parent 95779ea670
commit 809b45eac8
6 changed files with 4 additions and 13 deletions

View File

@@ -127,14 +127,10 @@ void FlightTaskAutoMapper::_prepareIdleSetpoints()
void FlightTaskAutoMapper::_prepareLandSetpoints()
{
float land_speed = _getLandSpeed();
// Keep xy-position and go down with landspeed
float land_speed = _getLandSpeed();
_position_setpoint = Vector3f(_target(0), _target(1), NAN);
_velocity_setpoint = Vector3f(Vector3f(NAN, NAN, land_speed));
// set constraints
_constraints.tilt = math::radians(_param_mpc_tiltmax_lnd.get());
_gear.landing_gear = landing_gear_s::GEAR_DOWN;
}