From 0c4719de3ede6f3124e3550cfeb375f932d8801c Mon Sep 17 00:00:00 2001 From: Matthias Grob Date: Wed, 26 Apr 2017 16:40:18 +0200 Subject: [PATCH] mc_pos_control: smooth takeoff, fixed gradient of the velocity ramp by takeoff speed parameter because we need a workaround for the broken auto takeoff logic which can start the vehicle with a loiter setpoint in this case the very first moment is still a jump but then it gets taken over by the fix gradient ramp this can basically be reverted after the auto takeoff logic is fixed --- src/modules/mc_pos_control/mc_pos_control_main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/mc_pos_control/mc_pos_control_main.cpp b/src/modules/mc_pos_control/mc_pos_control_main.cpp index e9da4d0f46..b81a27ac57 100644 --- a/src/modules/mc_pos_control/mc_pos_control_main.cpp +++ b/src/modules/mc_pos_control/mc_pos_control_main.cpp @@ -1736,7 +1736,7 @@ MulticopterPositionControl::calculate_velocity_setpoint(float dt) if (_in_takeoff) { _in_takeoff = _takeoff_vel_limit < -_vel_sp(2); /* ramp vertical velocity limit up to takeoff speed */ - _takeoff_vel_limit += -_vel_sp(2) * dt / _takeoff_ramp_time.get(); + _takeoff_vel_limit += _params.tko_speed * dt / _takeoff_ramp_time.get(); /* limit vertical velocity to the current ramp value */ _vel_sp(2) = math::max(_vel_sp(2), -_takeoff_vel_limit); }