rover: streamline rover steering setpoint

This commit is contained in:
chfriedrich98
2025-06-18 08:35:48 +02:00
committed by chfriedrich98
parent 4a5c00d0e4
commit 5a430f0ba6
12 changed files with 13 additions and 15 deletions
@@ -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)) {
@@ -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();
@@ -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 {
@@ -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<float>(_speed_x_setpoint,