diff --git a/msg/RoverSteeringSetpoint.msg b/msg/RoverSteeringSetpoint.msg index 4876d3e9b7..cbfc33209a 100644 --- a/msg/RoverSteeringSetpoint.msg +++ b/msg/RoverSteeringSetpoint.msg @@ -1,5 +1,3 @@ uint64 timestamp # time since system start (microseconds) -float32 normalized_steering_angle # [-1, 1] Normalized steering angle (Ackermann only, Positiv: Steer right, Negativ: Steer left) - -float32 normalized_speed_diff # [-1, 1] Normalized speed difference between the left and right wheels of the rover (Differential/Mecanum only, Positiv = Turn right, Negativ: Turn left) +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) diff --git a/src/modules/rover_ackermann/AckermannActControl/AckermannActControl.cpp b/src/modules/rover_ackermann/AckermannActControl/AckermannActControl.cpp index b448d09396..4c1c7085e0 100644 --- a/src/modules/rover_ackermann/AckermannActControl/AckermannActControl.cpp +++ b/src/modules/rover_ackermann/AckermannActControl/AckermannActControl.cpp @@ -83,7 +83,7 @@ void AckermannActControl::updateActControl() if (_rover_steering_setpoint_sub.updated()) { rover_steering_setpoint_s rover_steering_setpoint{}; _rover_steering_setpoint_sub.copy(&rover_steering_setpoint); - _steering_setpoint = rover_steering_setpoint.normalized_steering_angle; + _steering_setpoint = rover_steering_setpoint.normalized_steering_setpoint; } if (PX4_ISFINITE(_steering_setpoint)) { diff --git a/src/modules/rover_ackermann/AckermannRateControl/AckermannRateControl.cpp b/src/modules/rover_ackermann/AckermannRateControl/AckermannRateControl.cpp index 30cb26510b..a0d0a9c6d0 100644 --- a/src/modules/rover_ackermann/AckermannRateControl/AckermannRateControl.cpp +++ b/src/modules/rover_ackermann/AckermannRateControl/AckermannRateControl.cpp @@ -96,7 +96,7 @@ void AckermannRateControl::updateRateControl() rover_steering_setpoint_s rover_steering_setpoint{}; rover_steering_setpoint.timestamp = _timestamp; - rover_steering_setpoint.normalized_steering_angle = math::interpolate(steering_setpoint, + rover_steering_setpoint.normalized_steering_setpoint = math::interpolate(steering_setpoint, -_param_ra_max_str_ang.get(), _param_ra_max_str_ang.get(), -1.f, 1.f); // Normalize steering setpoint _rover_steering_setpoint_pub.publish(rover_steering_setpoint); @@ -104,7 +104,7 @@ void AckermannRateControl::updateRateControl() _pid_yaw_rate.resetIntegral(); rover_steering_setpoint_s rover_steering_setpoint{}; rover_steering_setpoint.timestamp = _timestamp; - rover_steering_setpoint.normalized_steering_angle = 0.f; + rover_steering_setpoint.normalized_steering_setpoint = 0.f; _rover_steering_setpoint_pub.publish(rover_steering_setpoint); } } diff --git a/src/modules/rover_ackermann/DriveModes/ManualMode/ManualMode.cpp b/src/modules/rover_ackermann/DriveModes/ManualMode/ManualMode.cpp index cdedb950c2..cbcef4405a 100644 --- a/src/modules/rover_ackermann/DriveModes/ManualMode/ManualMode.cpp +++ b/src/modules/rover_ackermann/DriveModes/ManualMode/ManualMode.cpp @@ -58,7 +58,7 @@ void ManualMode::manual() _manual_control_setpoint_sub.copy(&manual_control_setpoint); rover_steering_setpoint_s rover_steering_setpoint{}; rover_steering_setpoint.timestamp = hrt_absolute_time(); - rover_steering_setpoint.normalized_steering_angle = manual_control_setpoint.roll; + rover_steering_setpoint.normalized_steering_setpoint = manual_control_setpoint.roll; _rover_steering_setpoint_pub.publish(rover_steering_setpoint); rover_throttle_setpoint_s rover_throttle_setpoint{}; rover_throttle_setpoint.timestamp = hrt_absolute_time(); diff --git a/src/modules/rover_differential/DifferentialActControl/DifferentialActControl.cpp b/src/modules/rover_differential/DifferentialActControl/DifferentialActControl.cpp index c9b67b0b6c..fa324e4317 100644 --- a/src/modules/rover_differential/DifferentialActControl/DifferentialActControl.cpp +++ b/src/modules/rover_differential/DifferentialActControl/DifferentialActControl.cpp @@ -65,7 +65,7 @@ void DifferentialActControl::updateActControl() if (_rover_steering_setpoint_sub.updated()) { rover_steering_setpoint_s rover_steering_setpoint{}; _rover_steering_setpoint_sub.copy(&rover_steering_setpoint); - _speed_diff_setpoint = rover_steering_setpoint.normalized_speed_diff; + _speed_diff_setpoint = rover_steering_setpoint.normalized_steering_setpoint; } if (PX4_ISFINITE(_throttle_setpoint) && PX4_ISFINITE(_speed_diff_setpoint)) { diff --git a/src/modules/rover_differential/DifferentialDriveModes/DifferentialManualMode/DifferentialManualMode.cpp b/src/modules/rover_differential/DifferentialDriveModes/DifferentialManualMode/DifferentialManualMode.cpp index 99f8f8e2d0..dbb0645a6e 100644 --- a/src/modules/rover_differential/DifferentialDriveModes/DifferentialManualMode/DifferentialManualMode.cpp +++ b/src/modules/rover_differential/DifferentialDriveModes/DifferentialManualMode/DifferentialManualMode.cpp @@ -58,7 +58,7 @@ void DifferentialManualMode::manual() _manual_control_setpoint_sub.copy(&manual_control_setpoint); rover_steering_setpoint_s rover_steering_setpoint{}; rover_steering_setpoint.timestamp = hrt_absolute_time(); - rover_steering_setpoint.normalized_speed_diff = manual_control_setpoint.roll; + rover_steering_setpoint.normalized_steering_setpoint = manual_control_setpoint.roll; _rover_steering_setpoint_pub.publish(rover_steering_setpoint); rover_throttle_setpoint_s rover_throttle_setpoint{}; rover_throttle_setpoint.timestamp = hrt_absolute_time(); diff --git a/src/modules/rover_differential/DifferentialRateControl/DifferentialRateControl.cpp b/src/modules/rover_differential/DifferentialRateControl/DifferentialRateControl.cpp index 045d992157..abdca32aa7 100644 --- a/src/modules/rover_differential/DifferentialRateControl/DifferentialRateControl.cpp +++ b/src/modules/rover_differential/DifferentialRateControl/DifferentialRateControl.cpp @@ -82,7 +82,7 @@ void DifferentialRateControl::updateRateControl() _param_ro_yaw_decel_limit.get() * M_DEG_TO_RAD_F, _param_rd_wheel_track.get(), dt); rover_steering_setpoint_s rover_steering_setpoint{}; rover_steering_setpoint.timestamp = _timestamp; - rover_steering_setpoint.normalized_speed_diff = speed_diff_normalized; + rover_steering_setpoint.normalized_steering_setpoint = speed_diff_normalized; _rover_steering_setpoint_pub.publish(rover_steering_setpoint); } else { diff --git a/src/modules/rover_differential/DifferentialVelControl/DifferentialVelControl.cpp b/src/modules/rover_differential/DifferentialVelControl/DifferentialVelControl.cpp index 83d9542865..2d17e015be 100644 --- a/src/modules/rover_differential/DifferentialVelControl/DifferentialVelControl.cpp +++ b/src/modules/rover_differential/DifferentialVelControl/DifferentialVelControl.cpp @@ -149,7 +149,7 @@ float DifferentialVelControl::calcSpeedSetpoint() if (_rover_steering_setpoint_sub.updated()) { rover_steering_setpoint_s rover_steering_setpoint{}; _rover_steering_setpoint_sub.copy(&rover_steering_setpoint); - _normalized_speed_diff = rover_steering_setpoint.normalized_speed_diff; + _normalized_speed_diff = rover_steering_setpoint.normalized_steering_setpoint; } if (fabsf(speed_setpoint_normalized) > 1.f - fabsf( diff --git a/src/modules/rover_mecanum/MecanumActControl/MecanumActControl.cpp b/src/modules/rover_mecanum/MecanumActControl/MecanumActControl.cpp index ff65646970..1eb7d90cd3 100644 --- a/src/modules/rover_mecanum/MecanumActControl/MecanumActControl.cpp +++ b/src/modules/rover_mecanum/MecanumActControl/MecanumActControl.cpp @@ -67,7 +67,7 @@ void MecanumActControl::updateActControl() if (_rover_steering_setpoint_sub.updated()) { rover_steering_setpoint_s rover_steering_setpoint{}; _rover_steering_setpoint_sub.copy(&rover_steering_setpoint); - _speed_diff_setpoint = rover_steering_setpoint.normalized_speed_diff; + _speed_diff_setpoint = rover_steering_setpoint.normalized_steering_setpoint; } if (PX4_ISFINITE(_throttle_x_setpoint) && PX4_ISFINITE(_throttle_y_setpoint) && PX4_ISFINITE(_speed_diff_setpoint)) { diff --git a/src/modules/rover_mecanum/MecanumDriveModes/MecanumManualMode/MecanumManualMode.cpp b/src/modules/rover_mecanum/MecanumDriveModes/MecanumManualMode/MecanumManualMode.cpp index 9864798c9c..9984fd10cd 100644 --- a/src/modules/rover_mecanum/MecanumDriveModes/MecanumManualMode/MecanumManualMode.cpp +++ b/src/modules/rover_mecanum/MecanumDriveModes/MecanumManualMode/MecanumManualMode.cpp @@ -58,7 +58,7 @@ void MecanumManualMode::manual() _manual_control_setpoint_sub.copy(&manual_control_setpoint); rover_steering_setpoint_s rover_steering_setpoint{}; rover_steering_setpoint.timestamp = hrt_absolute_time(); - rover_steering_setpoint.normalized_speed_diff = manual_control_setpoint.yaw; + rover_steering_setpoint.normalized_steering_setpoint = manual_control_setpoint.yaw; _rover_steering_setpoint_pub.publish(rover_steering_setpoint); rover_throttle_setpoint_s rover_throttle_setpoint{}; rover_throttle_setpoint.timestamp = hrt_absolute_time(); diff --git a/src/modules/rover_mecanum/MecanumRateControl/MecanumRateControl.cpp b/src/modules/rover_mecanum/MecanumRateControl/MecanumRateControl.cpp index 1440881dfd..8403498bab 100644 --- a/src/modules/rover_mecanum/MecanumRateControl/MecanumRateControl.cpp +++ b/src/modules/rover_mecanum/MecanumRateControl/MecanumRateControl.cpp @@ -82,7 +82,7 @@ void MecanumRateControl::updateRateControl() _param_ro_yaw_decel_limit.get() * M_DEG_TO_RAD_F, _param_rm_wheel_track.get(), dt); rover_steering_setpoint_s rover_steering_setpoint{}; rover_steering_setpoint.timestamp = _timestamp; - rover_steering_setpoint.normalized_speed_diff = speed_diff_normalized; + rover_steering_setpoint.normalized_steering_setpoint = speed_diff_normalized; _rover_steering_setpoint_pub.publish(rover_steering_setpoint); } else { diff --git a/src/modules/rover_mecanum/MecanumVelControl/MecanumVelControl.cpp b/src/modules/rover_mecanum/MecanumVelControl/MecanumVelControl.cpp index 25810822e4..edb8be5c26 100644 --- a/src/modules/rover_mecanum/MecanumVelControl/MecanumVelControl.cpp +++ b/src/modules/rover_mecanum/MecanumVelControl/MecanumVelControl.cpp @@ -154,7 +154,7 @@ Vector2f MecanumVelControl::calcSpeedSetpoint() if (_rover_steering_setpoint_sub.updated()) { rover_steering_setpoint_s rover_steering_setpoint{}; _rover_steering_setpoint_sub.copy(&rover_steering_setpoint); - _normalized_speed_diff = rover_steering_setpoint.normalized_speed_diff; + _normalized_speed_diff = rover_steering_setpoint.normalized_steering_setpoint; } float speed_x_setpoint_normalized = math::interpolate(_speed_x_setpoint,