From b95784e8042176b15a082ad8b5e4ddf841d7c77e Mon Sep 17 00:00:00 2001 From: Jaeyoung Lim Date: Fri, 10 Oct 2025 10:00:43 -0700 Subject: [PATCH] Consume speedweight from FW longitudinal config (#25709) * Consume speedweight from longitudinal config * Constrain speed weight --- .../FwLateralLongitudinalControl.cpp | 6 ++++++ .../FwLateralLongitudinalControl.hpp | 1 + 2 files changed, 7 insertions(+) diff --git a/src/modules/fw_lateral_longitudinal_control/FwLateralLongitudinalControl.cpp b/src/modules/fw_lateral_longitudinal_control/FwLateralLongitudinalControl.cpp index 73df2a8683..9c5647f1a5 100644 --- a/src/modules/fw_lateral_longitudinal_control/FwLateralLongitudinalControl.cpp +++ b/src/modules/fw_lateral_longitudinal_control/FwLateralLongitudinalControl.cpp @@ -827,6 +827,12 @@ void FwLateralLongitudinalControl::updateLongitudinalControlConfiguration(const } else { _long_configuration.sink_rate_target = _param_sinkrate_target.get(); } + + if (PX4_ISFINITE(configuration_in.speed_weight)) { + _long_configuration.speed_weight = math::constrain(configuration_in.speed_weight, 0.f, 2.f); + } else { + _long_configuration.speed_weight = _param_t_spdweight.get(); + } } float FwLateralLongitudinalControl::getLoadFactor() const diff --git a/src/modules/fw_lateral_longitudinal_control/FwLateralLongitudinalControl.hpp b/src/modules/fw_lateral_longitudinal_control/FwLateralLongitudinalControl.hpp index 590054ae89..87b94b1bf3 100644 --- a/src/modules/fw_lateral_longitudinal_control/FwLateralLongitudinalControl.hpp +++ b/src/modules/fw_lateral_longitudinal_control/FwLateralLongitudinalControl.hpp @@ -157,6 +157,7 @@ private: (ParamFloat) _param_fw_t_vert_acc, (ParamFloat) _param_ste_rate_time_const, (ParamFloat) _param_seb_rate_ff, + (ParamFloat) _param_t_spdweight, (ParamFloat) _param_speed_standard_dev, (ParamFloat) _param_speed_rate_standard_dev, (ParamFloat) _param_process_noise_standard_dev,