From d8c9ffeea4a214d86a4efb68e14b68f72e82b8f9 Mon Sep 17 00:00:00 2001 From: RomanBapst Date: Wed, 8 Jan 2025 15:34:43 +0300 Subject: [PATCH] added messages for lateral and longitudinal control setpoints and corresponding limits Signed-off-by: RomanBapst --- msg/CMakeLists.txt | 4 ++++ msg/FwLateralControlSetpoint.msg | 11 +++++++++++ msg/FwLongitudinalControlSetpoint.msg | 9 +++++++++ msg/LateralControlLimits.msg | 3 +++ msg/LongitudinalControlLimits.msg | 15 +++++++++++++++ src/modules/logger/logged_topics.cpp | 4 ++++ 6 files changed, 46 insertions(+) create mode 100644 msg/FwLateralControlSetpoint.msg create mode 100644 msg/FwLongitudinalControlSetpoint.msg create mode 100644 msg/LateralControlLimits.msg create mode 100644 msg/LongitudinalControlLimits.msg diff --git a/msg/CMakeLists.txt b/msg/CMakeLists.txt index 7abae77293..facb8a4007 100644 --- a/msg/CMakeLists.txt +++ b/msg/CMakeLists.txt @@ -92,6 +92,8 @@ set(msg_files FollowTargetEstimator.msg FollowTargetStatus.msg FuelTankStatus.msg + FwLateralControlSetpoint.msg + FwLongitudinalControlSetpoint.msg GeneratorStatus.msg GeofenceResult.msg GeofenceStatus.msg @@ -121,10 +123,12 @@ set(msg_files LandingGearWheel.msg LandingTargetInnovations.msg LandingTargetPose.msg + LateralControlLimits.msg LaunchDetectionStatus.msg LedControl.msg LoggerStatus.msg LogMessage.msg + LongitudinalControlLimits.msg MagnetometerBiasEstimate.msg MagWorkerData.msg ManualControlSwitches.msg diff --git a/msg/FwLateralControlSetpoint.msg b/msg/FwLateralControlSetpoint.msg new file mode 100644 index 0000000000..e17954f67e --- /dev/null +++ b/msg/FwLateralControlSetpoint.msg @@ -0,0 +1,11 @@ +uint64 timestamp + +float32 course_setpoint +float32 airspeed_reference_direction # angle of desired airspeed vector [-pi, pi] +float32 lateral_acceleration_setpoint +float32 roll_sp # TODO: remove, only for testing + +float32 heading_sp_runway_takeoff +bool reset_integral + +# TOPICS fw_lateral_control_setpoint fw_lateral_control_status diff --git a/msg/FwLongitudinalControlSetpoint.msg b/msg/FwLongitudinalControlSetpoint.msg new file mode 100644 index 0000000000..ab602bedae --- /dev/null +++ b/msg/FwLongitudinalControlSetpoint.msg @@ -0,0 +1,9 @@ +uint64 timestamp + +float32 height_rate_setpoint +float32 altitude_setpoint +float32 equivalent_airspeed_setpoint +float32 pitch_sp +float32 thrust_sp + +# TOPICS fw_longitudinal_control_setpoint fw_longitudinal_control_status diff --git a/msg/LateralControlLimits.msg b/msg/LateralControlLimits.msg new file mode 100644 index 0000000000..50c2adb6ec --- /dev/null +++ b/msg/LateralControlLimits.msg @@ -0,0 +1,3 @@ +uint64 timestamp + +float32 lateral_accel_max diff --git a/msg/LongitudinalControlLimits.msg b/msg/LongitudinalControlLimits.msg new file mode 100644 index 0000000000..f6b813ed77 --- /dev/null +++ b/msg/LongitudinalControlLimits.msg @@ -0,0 +1,15 @@ +uint64 timestamp + +float32 pitch_min +float32 pitch_max +float32 throttle_min +float32 throttle_max +float32 climb_rate_max +float32 sink_rate_max +float32 equivalent_airspeed_min +float32 equivalent_airspeed_max + +float32 speed_weight + +bool enforce_low_height_condition +bool disable_underspeed_protection diff --git a/src/modules/logger/logged_topics.cpp b/src/modules/logger/logged_topics.cpp index d1e67a5cd7..ac0fbd7b90 100644 --- a/src/modules/logger/logged_topics.cpp +++ b/src/modules/logger/logged_topics.cpp @@ -147,6 +147,10 @@ void LoggedTopics::add_default_topics() add_topic("vehicle_status"); add_optional_topic("vtol_vehicle_status", 200); add_topic("wind", 1000); + add_topic("fw_lateral_control_setpoint"); + add_topic("fw_lateral_control_status"); + add_topic("fw_longitudinal_control_setpoint"); + add_topic("fw_longitudinal_control_status"); // multi topics add_optional_topic_multi("actuator_outputs", 100, 3);