Fix VESC topic naming mismatch between telemetry and nav2_slam odometry bridge #669

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

Problem

VESC telemetry node (saltybot_vesc_telemetry) publishes to:

  • /vesc/left/state
  • /vesc/right/state

But nav2_slam odometry bridge (saltybot_nav2_slam/vesc_odometry_bridge.py) subscribes to:

  • /vesc/can_{left_id}/state (e.g. /vesc/can_56/state)
  • /vesc/can_{right_id}/state (e.g. /vesc/can_68/state)

These topics don't match — odometry will never receive telemetry data.

Architecture Context

Mamba F722S is the balance controller. VESC CAN IDs are 56 and 68 (FSESC 6.7 Pro Mini Dual). All CAN IDs must be configurable via ROS2 params or YAML config.

Fix

Standardize on /vesc/left/state and /vesc/right/state (logical names). Update:

  1. saltybot_nav2_slam/vesc_odometry_bridge.py — change subscription from /vesc/can_{id}/state to parameterized topic names (default /vesc/left/state, /vesc/right/state)
  2. saltybot_nav2_slam/config/vesc_odometry_params.yaml — update topic config
  3. saltybot_diagnostics_aggregator/test/test_aggregator.py line 87 — update CAN ID 61 test string to CAN ID 56

Priority: P1 — blocks odometry pipeline

## Problem VESC telemetry node (saltybot_vesc_telemetry) publishes to: - /vesc/left/state - /vesc/right/state But nav2_slam odometry bridge (saltybot_nav2_slam/vesc_odometry_bridge.py) subscribes to: - /vesc/can_{left_id}/state (e.g. /vesc/can_56/state) - /vesc/can_{right_id}/state (e.g. /vesc/can_68/state) These topics don't match — odometry will never receive telemetry data. ## Architecture Context Mamba F722S is the balance controller. VESC CAN IDs are 56 and 68 (FSESC 6.7 Pro Mini Dual). All CAN IDs must be configurable via ROS2 params or YAML config. ## Fix Standardize on /vesc/left/state and /vesc/right/state (logical names). Update: 1. saltybot_nav2_slam/vesc_odometry_bridge.py — change subscription from /vesc/can_{id}/state to parameterized topic names (default /vesc/left/state, /vesc/right/state) 2. saltybot_nav2_slam/config/vesc_odometry_params.yaml — update topic config 3. saltybot_diagnostics_aggregator/test/test_aggregator.py line 87 — update CAN ID 61 test string to CAN ID 56 Priority: P1 — blocks odometry pipeline
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#669
No description provided.