VESC odometry: wheel encoder feedback from dual CAN motors for nav2 #646

Closed
opened 2026-03-17 09:45:55 -04:00 by sl-jetson · 0 comments
Collaborator

Goal

Compute and publish odometry from VESC motor RPM feedback for nav2 integration.

Requirements

  • Read RPM from both VESCs (CAN IDs 61, 79) via CAN telemetry
  • Compute differential drive odometry: x, y, theta from left/right wheel speeds
  • Configurable: wheel_radius, wheel_separation, ticks_per_rev (or use RPM directly)
  • Publish nav_msgs/Odometry on /odom
  • Publish TF: odom → base_link
  • Covariance estimates based on wheel slip model
  • Update existing vesc_odometry_bridge.py in saltybot_nav2_slam or create new

Notes

  • Replaces the current UART-based odometry bridge
  • Should integrate with the pose fusion EKF (saltybot_pose_fusion) as a wheel odometry source
## Goal Compute and publish odometry from VESC motor RPM feedback for nav2 integration. ## Requirements - Read RPM from both VESCs (CAN IDs 61, 79) via CAN telemetry - Compute differential drive odometry: x, y, theta from left/right wheel speeds - Configurable: wheel_radius, wheel_separation, ticks_per_rev (or use RPM directly) - Publish nav_msgs/Odometry on /odom - Publish TF: odom → base_link - Covariance estimates based on wheel slip model - Update existing vesc_odometry_bridge.py in saltybot_nav2_slam or create new ## Notes - Replaces the current UART-based odometry bridge - Should integrate with the pose fusion EKF (saltybot_pose_fusion) as a wheel odometry source
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#646
No description provided.