Smooth velocity controller: acceleration/deceleration ramp for cmd_vel #652

Closed
opened 2026-03-17 11:28:15 -04:00 by sl-jetson · 0 comments
Collaborator

Goal

Add acceleration and deceleration ramping between /cmd_vel input and VESC motor commands to prevent jerky motion and protect mechanical components.

Requirements

  • Subscribe to /cmd_vel, publish smoothed /cmd_vel_smoothed at 50Hz
  • Configurable max_linear_accel (m/s²), max_angular_accel (rad/s²)
  • Configurable max_linear_decel, max_angular_decel (separate braking rates)
  • Emergency stop bypass: if e-stop, immediate zero (no ramp)
  • Jerk limiting (optional): smooth acceleration transitions
  • VESC driver subscribes to /cmd_vel_smoothed instead of raw /cmd_vel
  • Unit tests with ramp timing verification
## Goal Add acceleration and deceleration ramping between /cmd_vel input and VESC motor commands to prevent jerky motion and protect mechanical components. ## Requirements - Subscribe to /cmd_vel, publish smoothed /cmd_vel_smoothed at 50Hz - Configurable max_linear_accel (m/s²), max_angular_accel (rad/s²) - Configurable max_linear_decel, max_angular_decel (separate braking rates) - Emergency stop bypass: if e-stop, immediate zero (no ramp) - Jerk limiting (optional): smooth acceleration transitions - VESC driver subscribes to /cmd_vel_smoothed instead of raw /cmd_vel - Unit tests with ramp timing verification
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: seb/saltylab-firmware#652
No description provided.