From db516bc18d089bd12ee6fac58bd5e37d258a7655 Mon Sep 17 00:00:00 2001 From: Balduin Date: Wed, 7 Jan 2026 15:59:26 +0100 Subject: [PATCH] MulticopterRateControl: Remove old battery scaling --- .../mc_rate_control/MulticopterRateControl.cpp | 18 ------------------ .../mc_rate_control/MulticopterRateControl.hpp | 8 +------- .../mc_rate_control/mc_rate_control_params.c | 14 -------------- 3 files changed, 1 insertion(+), 39 deletions(-) diff --git a/src/modules/mc_rate_control/MulticopterRateControl.cpp b/src/modules/mc_rate_control/MulticopterRateControl.cpp index a7a8ed4212..9c92849330 100644 --- a/src/modules/mc_rate_control/MulticopterRateControl.cpp +++ b/src/modules/mc_rate_control/MulticopterRateControl.cpp @@ -237,24 +237,6 @@ MulticopterRateControl::Run() vehicle_torque_setpoint.xyz[1] = PX4_ISFINITE(torque_setpoint(1)) ? torque_setpoint(1) : 0.f; vehicle_torque_setpoint.xyz[2] = PX4_ISFINITE(torque_setpoint(2)) ? torque_setpoint(2) : 0.f; - // scale setpoints by battery status if enabled - if (_param_mc_bat_scale_en.get()) { - if (_battery_status_sub.updated()) { - battery_status_s battery_status; - - if (_battery_status_sub.copy(&battery_status) && battery_status.connected && battery_status.scale > 0.f) { - _battery_status_scale = battery_status.scale; - } - } - - if (_battery_status_scale > 0.f) { - for (int i = 0; i < 3; i++) { - vehicle_thrust_setpoint.xyz[i] = math::constrain(vehicle_thrust_setpoint.xyz[i] * _battery_status_scale, -1.f, 1.f); - vehicle_torque_setpoint.xyz[i] = math::constrain(vehicle_torque_setpoint.xyz[i] * _battery_status_scale, -1.f, 1.f); - } - } - } - vehicle_thrust_setpoint.timestamp_sample = angular_velocity.timestamp_sample; vehicle_thrust_setpoint.timestamp = hrt_absolute_time(); _vehicle_thrust_setpoint_pub.publish(vehicle_thrust_setpoint); diff --git a/src/modules/mc_rate_control/MulticopterRateControl.hpp b/src/modules/mc_rate_control/MulticopterRateControl.hpp index 76e488305a..72a8138762 100644 --- a/src/modules/mc_rate_control/MulticopterRateControl.hpp +++ b/src/modules/mc_rate_control/MulticopterRateControl.hpp @@ -48,7 +48,6 @@ #include #include #include -#include #include #include #include @@ -92,7 +91,6 @@ private: RateControl _rate_control; ///< class for rate control calculations - uORB::Subscription _battery_status_sub{ORB_ID(battery_status)}; uORB::Subscription _control_allocator_status_sub{ORB_ID(control_allocator_status)}; uORB::Subscription _manual_control_setpoint_sub{ORB_ID(manual_control_setpoint)}; uORB::Subscription _vehicle_control_mode_sub{ORB_ID(vehicle_control_mode)}; @@ -123,8 +121,6 @@ private: // keep setpoint values between updates matrix::Vector3f _acro_rate_max; /**< max attitude rates in acro mode */ matrix::Vector3f _rates_setpoint{}; - - float _battery_status_scale{0.0f}; matrix::Vector3f _thrust_setpoint{}; float _energy_integration_time{0.0f}; @@ -161,8 +157,6 @@ private: (ParamFloat) _param_mc_acro_expo, /**< expo stick curve shape (roll & pitch) */ (ParamFloat) _param_mc_acro_expo_y, /**< expo stick curve shape (yaw) */ (ParamFloat) _param_mc_acro_supexpo, /**< superexpo stick curve shape (roll & pitch) */ - (ParamFloat) _param_mc_acro_supexpoy, /**< superexpo stick curve shape (yaw) */ - - (ParamBool) _param_mc_bat_scale_en + (ParamFloat) _param_mc_acro_supexpoy /**< superexpo stick curve shape (yaw) */ ) }; diff --git a/src/modules/mc_rate_control/mc_rate_control_params.c b/src/modules/mc_rate_control/mc_rate_control_params.c index e9937d00fa..540de269fe 100644 --- a/src/modules/mc_rate_control/mc_rate_control_params.c +++ b/src/modules/mc_rate_control/mc_rate_control_params.c @@ -278,20 +278,6 @@ PARAM_DEFINE_FLOAT(MC_YAWRATE_FF, 0.0f); */ PARAM_DEFINE_FLOAT(MC_YAWRATE_K, 1.0f); -/** - * Battery power level scaler - * - * This compensates for voltage drop of the battery over time by attempting to - * normalize performance across the operating range of the battery. The copter - * should constantly behave as if it was fully charged with reduced max acceleration - * at lower battery percentages. i.e. if hover is at 0.5 throttle at 100% battery, - * it will still be 0.5 at 60% battery. - * - * @boolean - * @group Multicopter Rate Control - */ -PARAM_DEFINE_INT32(MC_BAT_SCALE_EN, 0); - /** * Low pass filter cutoff frequency for yaw torque setpoint *