From 9fb0f1e43a9beda00c5d6803b84a3fd9479b36b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beat=20K=C3=BCng?= Date: Tue, 16 Jun 2026 13:17:32 +0200 Subject: [PATCH] chore(VehicleControlMode): remove unused flag_control_acceleration_enabled --- msg/VehicleControlMode.msg | 1 - src/modules/commander/Commander.cpp | 3 +-- src/modules/commander/ModeUtil/control_mode.cpp | 4 +++- src/modules/commander/ModeUtil/setpoint_types.cpp | 12 ------------ .../FwLateralLongitudinalControl.cpp | 1 - 5 files changed, 4 insertions(+), 17 deletions(-) diff --git a/msg/VehicleControlMode.msg b/msg/VehicleControlMode.msg index 95e88aab77..c5df59e9e6 100644 --- a/msg/VehicleControlMode.msg +++ b/msg/VehicleControlMode.msg @@ -12,7 +12,6 @@ bool flag_control_position_enabled # true if position is controlled bool flag_control_velocity_enabled # true if horizontal velocity (implies direction) is controlled bool flag_control_altitude_enabled # true if altitude is controlled bool flag_control_climb_rate_enabled # true if climb rate is controlled -bool flag_control_acceleration_enabled # true if acceleration is controlled bool flag_control_attitude_enabled # true if attitude stabilization is mixed in bool flag_control_rates_enabled # true if rates are stabilized bool flag_control_allocation_enabled # true if control allocation is enabled diff --git a/src/modules/commander/Commander.cpp b/src/modules/commander/Commander.cpp index 2fb8fb0622..b03d6a9de9 100644 --- a/src/modules/commander/Commander.cpp +++ b/src/modules/commander/Commander.cpp @@ -2772,8 +2772,7 @@ void Commander::updateControlMode() && (_vehicle_control_mode.flag_control_altitude_enabled || _vehicle_control_mode.flag_control_climb_rate_enabled || _vehicle_control_mode.flag_control_position_enabled - || _vehicle_control_mode.flag_control_velocity_enabled - || _vehicle_control_mode.flag_control_acceleration_enabled); + || _vehicle_control_mode.flag_control_velocity_enabled); _vehicle_control_mode.timestamp = hrt_absolute_time(); _vehicle_control_mode_pub.publish(_vehicle_control_mode); } diff --git a/src/modules/commander/ModeUtil/control_mode.cpp b/src/modules/commander/ModeUtil/control_mode.cpp index f5e5d8d037..03002273a3 100644 --- a/src/modules/commander/ModeUtil/control_mode.cpp +++ b/src/modules/commander/ModeUtil/control_mode.cpp @@ -121,8 +121,10 @@ void getVehicleControlMode(uint8_t nav_state, uint8_t vehicle_type, } else if (offboard_control_mode.acceleration) { getControlMode(SetpointType::Trajectory, vehicle_control_mode); + // There is no dedicated acceleration flag. To make sure the right controllers run, we set the + // velocity flag. + vehicle_control_mode.flag_control_velocity_enabled = true; vehicle_control_mode.flag_control_position_enabled = false; - vehicle_control_mode.flag_control_velocity_enabled = false; vehicle_control_mode.flag_control_altitude_enabled = false; vehicle_control_mode.flag_control_climb_rate_enabled = false; diff --git a/src/modules/commander/ModeUtil/setpoint_types.cpp b/src/modules/commander/ModeUtil/setpoint_types.cpp index 4063a92ead..0f45fa7fa6 100644 --- a/src/modules/commander/ModeUtil/setpoint_types.cpp +++ b/src/modules/commander/ModeUtil/setpoint_types.cpp @@ -57,7 +57,6 @@ void getControlMode(SetpointType setpoint_type, vehicle_control_mode_s &control_ control_mode.flag_control_rates_enabled = true; control_mode.flag_control_attitude_enabled = true; control_mode.flag_control_altitude_enabled = true; - control_mode.flag_control_acceleration_enabled = true; control_mode.flag_control_velocity_enabled = true; control_mode.flag_control_position_enabled = true; control_mode.flag_control_climb_rate_enabled = true; @@ -68,7 +67,6 @@ void getControlMode(SetpointType setpoint_type, vehicle_control_mode_s &control_ control_mode.flag_control_rates_enabled = true; control_mode.flag_control_attitude_enabled = true; control_mode.flag_control_altitude_enabled = true; - control_mode.flag_control_acceleration_enabled = true; control_mode.flag_control_velocity_enabled = true; control_mode.flag_control_position_enabled = true; control_mode.flag_control_climb_rate_enabled = true; @@ -79,7 +77,6 @@ void getControlMode(SetpointType setpoint_type, vehicle_control_mode_s &control_ control_mode.flag_control_rates_enabled = true; control_mode.flag_control_attitude_enabled = true; control_mode.flag_control_altitude_enabled = true; - control_mode.flag_control_acceleration_enabled = true; control_mode.flag_control_velocity_enabled = true; control_mode.flag_control_position_enabled = true; control_mode.flag_control_climb_rate_enabled = true; @@ -100,7 +97,6 @@ void getControlMode(SetpointType setpoint_type, vehicle_control_mode_s &control_ control_mode.flag_control_allocation_enabled = true; control_mode.flag_control_rates_enabled = true; control_mode.flag_control_attitude_enabled = true; - control_mode.flag_control_acceleration_enabled = true; control_mode.flag_control_velocity_enabled = true; control_mode.flag_control_position_enabled = true; break; @@ -109,20 +105,17 @@ void getControlMode(SetpointType setpoint_type, vehicle_control_mode_s &control_ control_mode.flag_control_allocation_enabled = true; control_mode.flag_control_rates_enabled = true; control_mode.flag_control_attitude_enabled = true; - control_mode.flag_control_acceleration_enabled = true; control_mode.flag_control_velocity_enabled = true; break; case SetpointType::RoverSpeedRate: control_mode.flag_control_allocation_enabled = true; control_mode.flag_control_rates_enabled = true; - control_mode.flag_control_acceleration_enabled = true; control_mode.flag_control_velocity_enabled = true; break; case SetpointType::RoverSpeedSteering: control_mode.flag_control_allocation_enabled = true; - control_mode.flag_control_acceleration_enabled = true; control_mode.flag_control_velocity_enabled = true; break; @@ -130,20 +123,17 @@ void getControlMode(SetpointType setpoint_type, vehicle_control_mode_s &control_ control_mode.flag_control_allocation_enabled = true; control_mode.flag_control_rates_enabled = true; control_mode.flag_control_attitude_enabled = true; - control_mode.flag_control_acceleration_enabled = true; control_mode.flag_control_velocity_enabled = true; break; case SetpointType::RoverThrottleRate: control_mode.flag_control_allocation_enabled = true; control_mode.flag_control_rates_enabled = true; - control_mode.flag_control_acceleration_enabled = true; control_mode.flag_control_velocity_enabled = true; break; case SetpointType::RoverThrottleSteering: control_mode.flag_control_allocation_enabled = true; - control_mode.flag_control_acceleration_enabled = true; control_mode.flag_control_velocity_enabled = true; break; @@ -152,7 +142,6 @@ void getControlMode(SetpointType setpoint_type, vehicle_control_mode_s &control_ control_mode.flag_control_rates_enabled = true; control_mode.flag_control_attitude_enabled = true; control_mode.flag_control_altitude_enabled = true; - control_mode.flag_control_acceleration_enabled = true; control_mode.flag_control_velocity_enabled = true; control_mode.flag_control_position_enabled = true; control_mode.flag_control_climb_rate_enabled = true; @@ -167,7 +156,6 @@ void getControlMode(SetpointType setpoint_type, vehicle_control_mode_s &control_ control_mode.flag_control_rates_enabled = true; control_mode.flag_control_attitude_enabled = true; control_mode.flag_control_altitude_enabled = true; - control_mode.flag_control_acceleration_enabled = true; control_mode.flag_control_velocity_enabled = true; control_mode.flag_control_position_enabled = true; control_mode.flag_control_climb_rate_enabled = true; diff --git a/src/modules/fw_lateral_longitudinal_control/FwLateralLongitudinalControl.cpp b/src/modules/fw_lateral_longitudinal_control/FwLateralLongitudinalControl.cpp index b4f9bbaebc..db8e2edccc 100644 --- a/src/modules/fw_lateral_longitudinal_control/FwLateralLongitudinalControl.cpp +++ b/src/modules/fw_lateral_longitudinal_control/FwLateralLongitudinalControl.cpp @@ -189,7 +189,6 @@ void FwLateralLongitudinalControl::Run() const bool should_run = (_control_mode_sub.get().flag_control_position_enabled || _control_mode_sub.get().flag_control_velocity_enabled || - _control_mode_sub.get().flag_control_acceleration_enabled || _control_mode_sub.get().flag_control_altitude_enabled || _control_mode_sub.get().flag_control_climb_rate_enabled) && (_vehicle_status_sub.get().vehicle_type == vehicle_status_s::VEHICLE_TYPE_FIXED_WING