From e1ad1b60d03095e52fb396ec7a67d111b8bc4f89 Mon Sep 17 00:00:00 2001 From: Silvan Fuhrer Date: Thu, 11 Jan 2024 13:35:01 +0100 Subject: [PATCH] VTOL: change transition airspeed threshold: only look at VT_ARSP_TRANS (#22581) Signed-off-by: Silvan Fuhrer --- src/modules/vtol_att_control/vtol_type.cpp | 13 +++++++------ src/modules/vtol_att_control/vtol_type.h | 9 +-------- 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/src/modules/vtol_att_control/vtol_type.cpp b/src/modules/vtol_att_control/vtol_type.cpp index 2695da5cf2..6fd14359f5 100644 --- a/src/modules/vtol_att_control/vtol_type.cpp +++ b/src/modules/vtol_att_control/vtol_type.cpp @@ -598,18 +598,19 @@ float VtolType::getOpenLoopFrontTransitionTime() const } float VtolType::getTransitionAirspeed() const { - return math::max(_param_vt_arsp_trans.get(), getMinimumTransitionAirspeed()); -} -float VtolType::getMinimumTransitionAirspeed() const -{ + // Since the stall airspeed increases with vehicle weight, we increase the transition airspeed + // by the same factor. + float weight_ratio = 1.0f; if (_param_weight_base.get() > FLT_EPSILON && _param_weight_gross.get() > FLT_EPSILON) { - weight_ratio = math::constrain(_param_weight_gross.get() / _param_weight_base.get(), kMinWeightRatio, kMaxWeightRatio); + weight_ratio = math::constrain(_param_weight_gross.get() / + _param_weight_base.get(), kMinWeightRatio, kMaxWeightRatio); } - return sqrtf(weight_ratio) * _param_airspeed_min.get(); + return sqrtf(weight_ratio) * _param_vt_arsp_trans.get(); } + float VtolType::getBlendAirspeed() const { return _param_vt_arsp_blend.get(); diff --git a/src/modules/vtol_att_control/vtol_type.h b/src/modules/vtol_att_control/vtol_type.h index c8cecb8fb0..3707acb68e 100644 --- a/src/modules/vtol_att_control/vtol_type.h +++ b/src/modules/vtol_att_control/vtol_type.h @@ -237,12 +237,6 @@ public: */ float getOpenLoopFrontTransitionTime() const; - /** - * - * @return The minimum calibrated airspeed compensated for weight [m/s] - */ - float getMinimumTransitionAirspeed() const; - /** * * @return The calibrated blending airspeed [m/s] @@ -371,8 +365,7 @@ protected: (ParamFloat) _param_mpc_land_alt2, (ParamFloat) _param_vt_lnd_pitch_min, (ParamFloat) _param_weight_base, - (ParamFloat) _param_weight_gross, - (ParamFloat) _param_airspeed_min + (ParamFloat) _param_weight_gross )