From 60010ba0570864a2f33a5782dbaa3b1ffac10e08 Mon Sep 17 00:00:00 2001 From: chfriedrich98 Date: Wed, 7 May 2025 11:06:25 +0200 Subject: [PATCH] rover: Update rover setpoints to new uORB message standard --- msg/PurePursuitStatus.msg | 13 +++++++------ msg/RoverAttitudeSetpoint.msg | 5 +++-- msg/RoverAttitudeStatus.msg | 7 ++++--- msg/RoverPositionSetpoint.msg | 14 +++++++------- msg/RoverRateSetpoint.msg | 5 +++-- msg/RoverRateStatus.msg | 9 +++++---- msg/RoverSteeringSetpoint.msg | 5 +++-- msg/RoverThrottleSetpoint.msg | 8 ++++---- msg/RoverVelocitySetpoint.msg | 9 +++++---- msg/RoverVelocityStatus.msg | 15 ++++++++------- 10 files changed, 49 insertions(+), 41 deletions(-) diff --git a/msg/PurePursuitStatus.msg b/msg/PurePursuitStatus.msg index 85c6fd8dfa..ef17246be5 100644 --- a/msg/PurePursuitStatus.msg +++ b/msg/PurePursuitStatus.msg @@ -1,7 +1,8 @@ -uint64 timestamp # time since system start (microseconds) +# Pure pursuit status -float32 lookahead_distance # [m] Lookahead distance of pure the pursuit controller -float32 target_bearing # [rad] Target bearing calculated by the pure pursuit controller -float32 crosstrack_error # [m] Shortest distance from the vehicle to the path (Positiv: Vehicle is on the right hand side with respect to the oriented path vector, Negativ: Left of the path) -float32 distance_to_waypoint # [m] Distance from the vehicle to the current waypoint -float32 bearing_to_waypoint # [rad] Bearing towards current waypoint +uint64 timestamp # [us] Time since system start +float32 lookahead_distance # [m] [@range 0, inf] Lookahead distance of pure the pursuit controller +float32 target_bearing # [rad] [@range -pi, pi] [@frame NED] Target bearing calculated by the pure pursuit controller +float32 crosstrack_error # [m] [@range -inf (Left of the path), inf (Right of the path)] Shortest distance from the vehicle to the path +float32 distance_to_waypoint # [m] [@range -inf, inf]Distance from the vehicle to the current waypoint +float32 bearing_to_waypoint # [rad] [@range -pi, pi] [@frame NED]Bearing towards current waypoint diff --git a/msg/RoverAttitudeSetpoint.msg b/msg/RoverAttitudeSetpoint.msg index 0a37838440..05b5d15086 100644 --- a/msg/RoverAttitudeSetpoint.msg +++ b/msg/RoverAttitudeSetpoint.msg @@ -1,3 +1,4 @@ -uint64 timestamp # time since system start (microseconds) +# Rover Attitude Setpoint -float32 yaw_setpoint # [rad] Expressed in NED frame +uint64 timestamp # [us] Time since system start +float32 yaw_setpoint # [rad] [@range -inf, inf] [@frame NED] Yaw setpoint diff --git a/msg/RoverAttitudeStatus.msg b/msg/RoverAttitudeStatus.msg index bc750d0995..6b8afc192a 100644 --- a/msg/RoverAttitudeStatus.msg +++ b/msg/RoverAttitudeStatus.msg @@ -1,4 +1,5 @@ -uint64 timestamp # time since system start (microseconds) +# Rover Attitude Status -float32 measured_yaw # [rad/s] Measured yaw rate -float32 adjusted_yaw_setpoint # [rad/s] Yaw setpoint that is being tracked (Applied slew rates) +uint64 timestamp # [us] Time since system start +float32 measured_yaw # [rad] [@range -pi, pi] [@frame NED]Measured yaw +float32 adjusted_yaw_setpoint # [rad] [@range -pi, pi] [@frame NED] Yaw setpoint that is being tracked (Applied slew rates) diff --git a/msg/RoverPositionSetpoint.msg b/msg/RoverPositionSetpoint.msg index d2ac0ac088..bc711d2d29 100644 --- a/msg/RoverPositionSetpoint.msg +++ b/msg/RoverPositionSetpoint.msg @@ -1,8 +1,8 @@ -uint64 timestamp # time since system start (microseconds) +# Rover Position Setpoint -float32[2] position_ned # 2-dimensional position setpoint in NED frame [m] -float32[2] start_ned # (Optional) 2-dimensional start position in NED frame used to define the line that the rover will track to position_ned [m] (Defaults to vehicle position) -float32 cruising_speed # (Optional) Specify rover speed [m/s] (Defaults to maximum speed) -float32 arrival_speed # (Optional) Specify arrival speed [m/s] (Defaults to zero) - -float32 yaw # [rad] [-pi,pi] from North. Optional, NAN if not set. Mecanum only. (Defaults to vehicle yaw) +uint64 timestamp # [us] Time since system start +float32[2] position_ned # [m] [@range -inf, inf] [@frame NED] Target position +float32[2] start_ned # [m] [@range -inf, inf] [@frame NED] [@invalid NaN Defaults to vehicle position] Start position which specifies a line for the rover to track +float32 cruising_speed # [m/s] [@range 0, inf] [@invalid NaN Defaults to maximum speed] Cruising speed +float32 arrival_speed # [m/s] [@range 0, inf] [@invalid NaN Defaults to 0] Speed the rover should arrive at the target with +float32 yaw # [rad] [@range -pi,pi] [@frame NED] [@invalid NaN Defaults to vehicle yaw] Mecanum only: Specify vehicle yaw during travel diff --git a/msg/RoverRateSetpoint.msg b/msg/RoverRateSetpoint.msg index ed96012b30..1a3c3b89f1 100644 --- a/msg/RoverRateSetpoint.msg +++ b/msg/RoverRateSetpoint.msg @@ -1,3 +1,4 @@ -uint64 timestamp # time since system start (microseconds) +# Rover Rate setpoint -float32 yaw_rate_setpoint # [rad/s] Expressed in NED frame +uint64 timestamp # [us] Time since system start +float32 yaw_rate_setpoint # [rad/s] [@range -inf, inf] [@frame NED] Yaw rate setpoint diff --git a/msg/RoverRateStatus.msg b/msg/RoverRateStatus.msg index 46a6fe9e4a..fd6c0b7f3c 100644 --- a/msg/RoverRateStatus.msg +++ b/msg/RoverRateStatus.msg @@ -1,5 +1,6 @@ -uint64 timestamp # time since system start (microseconds) +# Rover Rate Status -float32 measured_yaw_rate # [rad/s] Measured yaw rate -float32 adjusted_yaw_rate_setpoint # [rad/s] Yaw rate setpoint that is being tracked (Applied slew rates) -float32 pid_yaw_rate_integral # Integral of the PID for the closed loop yaw rate controller +uint64 timestamp # [us] Time since system start +float32 measured_yaw_rate # [rad/s] [@range -inf, inf] [@frame NED] Measured yaw rate +float32 adjusted_yaw_rate_setpoint # [rad/s] [@range -inf, inf] [@frame NED] Yaw rate setpoint that is being tracked (Applied slew rates) +float32 pid_yaw_rate_integral # [] [@range -1, 1] Integral of the PID for the closed loop yaw rate controller diff --git a/msg/RoverSteeringSetpoint.msg b/msg/RoverSteeringSetpoint.msg index cbfc33209a..f2daa967f9 100644 --- a/msg/RoverSteeringSetpoint.msg +++ b/msg/RoverSteeringSetpoint.msg @@ -1,3 +1,4 @@ -uint64 timestamp # time since system start (microseconds) +# Rover Steering setpoint -float32 normalized_steering_setpoint # [-1, 1] Positiv = Turn right, Negativ: Turn left (Ackermann: Steering angle, Differential/Mecanum: Speed difference between the left and right wheels) +uint64 timestamp # [us] Time since system start +float32 normalized_steering_setpoint # [@range -1 (Left), 1 (Right)] [@frame Body] Ackermann: Normalized steering angle, Differential/Mecanum: Normalized speed difference between the left and right wheels diff --git a/msg/RoverThrottleSetpoint.msg b/msg/RoverThrottleSetpoint.msg index 0452303ec7..333ebee5c3 100644 --- a/msg/RoverThrottleSetpoint.msg +++ b/msg/RoverThrottleSetpoint.msg @@ -1,5 +1,5 @@ +# Rover Throttle setpoint -uint64 timestamp # time since system start (microseconds) - -float32 throttle_body_x # throttle setpoint along body X axis [-1, 1] (Positiv = forwards, Negativ = backwards) -float32 throttle_body_y # throttle setpoint along body Y axis [-1, 1] (Mecanum only, Positiv = right, Negativ = left) +uint64 timestamp # [us] Time since system start +float32 throttle_body_x # [] [@range -1 (Backwards), 1 (Forwards)] [@frame Body] Throttle setpoint along body X axis +float32 throttle_body_y # [] [@range -1 (Left), 1 (Right)] [@frame Body] [@invalid NaN If not mecanum] Mecanum only: Throttle setpoint along body Y axis diff --git a/msg/RoverVelocitySetpoint.msg b/msg/RoverVelocitySetpoint.msg index 2628ea18c4..71387355d0 100644 --- a/msg/RoverVelocitySetpoint.msg +++ b/msg/RoverVelocitySetpoint.msg @@ -1,5 +1,6 @@ -uint64 timestamp # time since system start (microseconds) +# Rover Velocity Setpoint -float32 speed # [m/s] [-inf, inf] Speed setpoint (Backwards driving if negative) -float32 bearing # [rad] [-pi,pi] from North. [invalid: NAN, speed is defined in body x direction] -float32 yaw # [rad] [-pi, pi] (Mecanum only, Optional, defaults to current vehicle yaw) Vehicle yaw setpoint in NED frame +uint64 timestamp # [us] Time since system start +float32 speed # [m/s] [@range -inf (Backwards), inf (Forwards)] Speed setpoint +float32 bearing # [rad] [@range -pi,pi] [@frame NED] [@invalid: NaN, speed is defined in body x direction] Bearing setpoint +float32 yaw # [rad] [@range -pi, pi] [@frame NED] [@invalid NaN, Defaults to vehicle yaw] Mecanum only: Yaw setpoint diff --git a/msg/RoverVelocityStatus.msg b/msg/RoverVelocityStatus.msg index 5de9409f7a..71cacd0e77 100644 --- a/msg/RoverVelocityStatus.msg +++ b/msg/RoverVelocityStatus.msg @@ -1,8 +1,9 @@ -uint64 timestamp # time since system start (microseconds) +# Rover Velocity Status -float32 measured_speed_body_x # [m/s] Measured speed in body x direction. Positiv: forwards, Negativ: backwards -float32 adjusted_speed_body_x_setpoint # [m/s] Post slew rate speed setpoint in body x direction. Positiv: forwards, Negativ: backwards -float32 pid_throttle_body_x_integral # Integral of the PID for the closed loop controller of the speed in body x direction -float32 measured_speed_body_y # [m/s] Measured speed in body y direction. Positiv: right, Negativ: left (Mecanum only) -float32 adjusted_speed_body_y_setpoint # [m/s] Post slew rate speed setpoint in body y direction. Positiv: right, Negativ: left (Mecanum only) -float32 pid_throttle_body_y_integral # Integral of the PID for the closed loop controller of the speed in body y direction (Mecanum only) +uint64 timestamp # [us] Time since system start +float32 measured_speed_body_x # [m/s] [@range -inf (Backwards), inf (Forwards)] [@frame Body] Measured speed in body x direction +float32 adjusted_speed_body_x_setpoint # [m/s] [@range -inf (Backwards), inf (Forwards)] [@frame Body] Speed setpoint in body x direction that is being tracked (Applied slew rates) +float32 pid_throttle_body_x_integral # [] [@range -1, 1] Integral of the PID for the closed loop controller of the speed in body x direction +float32 measured_speed_body_y # [m/s] [@range -inf (Left), inf (Right)] [@frame Body] [@invalid NaN If not mecanum] Mecanum only: Measured speed in body y direction +float32 adjusted_speed_body_y_setpoint # [m/s] [@range -inf (Left), inf (Right)] [@frame Body] [@invalid NaN If not mecanum] Mecanum only: Speed setpoint in body y direction that is being tracked (Applied slew rates) +float32 pid_throttle_body_y_integral # [] [@range -1, 1] [@invalid NaN If not mecanum] Mecanum only: Integral of the PID for the closed loop controller of the speed in body y direction