From 4fe51d4911fe2af284fe1daa60665111c86e4988 Mon Sep 17 00:00:00 2001 From: Silvan Fuhrer Date: Wed, 22 May 2024 16:48:28 +0200 Subject: [PATCH] VTOL Standard: fix transition pusher motor slew rate Signed-off-by: Silvan Fuhrer --- src/modules/vtol_att_control/standard.cpp | 5 ++++- src/modules/vtol_att_control/standard.h | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/modules/vtol_att_control/standard.cpp b/src/modules/vtol_att_control/standard.cpp index d74ab45f42..84606aad43 100644 --- a/src/modules/vtol_att_control/standard.cpp +++ b/src/modules/vtol_att_control/standard.cpp @@ -200,8 +200,11 @@ void Standard::update_transition_state() } else if (_pusher_throttle <= _param_vt_f_trans_thr.get()) { // ramp up throttle to the target throttle value + const float dt = math::min((now - _last_time_pusher_transition_update) / 1e6f, 0.05f); _pusher_throttle = math::min(_pusher_throttle + - _param_vt_psher_slew.get() * _dt, _param_vt_f_trans_thr.get()); + _param_vt_psher_slew.get() * dt, _param_vt_f_trans_thr.get()); + + _last_time_pusher_transition_update = now; } _airspeed_trans_blend_margin = getTransitionAirspeed() - getBlendAirspeed(); diff --git a/src/modules/vtol_att_control/standard.h b/src/modules/vtol_att_control/standard.h index 280f2e5042..6136f87207 100644 --- a/src/modules/vtol_att_control/standard.h +++ b/src/modules/vtol_att_control/standard.h @@ -76,6 +76,7 @@ private: float _pusher_throttle{0.0f}; float _airspeed_trans_blend_margin{0.0f}; + hrt_abstime _last_time_pusher_transition_update{0}; void parameters_update() override;