feat(jetson): STM32 command protocol — Nav2 cmd_vel → serial → STM32 motor control #119

Closed
opened 2026-03-02 09:08:46 -05:00 by sl-jetson · 0 comments
Collaborator

Summary

Bidirectional command protocol between Jetson (ROS2) and STM32 flight controller over USB serial.

Requirements

  • cmd_vel bridge: Subscribe /cmd_vel (Twist), encode as binary frame, send to STM32 via /dev/ttyACM0 @ 921600
  • Frame format: STX + type + len + payload + CRC16 + ETX (binary, not ASCII)
  • Commands: speed/steer (50Hz), arm/disarm, mode set, PID param update, heartbeat
  • Telemetry upstream: STM32 → Jetson: IMU, battery, motor RPM, arm state, error codes
  • Watchdog: If no cmd_vel for 500ms, send zero-speed command (safe stop)
  • ROS2 node: saltybot_bridge with configurable serial port and baud rate
  • Reconnect: Auto-reconnect on USB disconnect/reconnect
  • Unit tests: Mock serial, verify frame encoding/decoding, CRC validation

Agent: sl-jetson

Labels: phase-2, bridge

## Summary Bidirectional command protocol between Jetson (ROS2) and STM32 flight controller over USB serial. ## Requirements - **cmd_vel bridge**: Subscribe /cmd_vel (Twist), encode as binary frame, send to STM32 via /dev/ttyACM0 @ 921600 - **Frame format**: STX + type + len + payload + CRC16 + ETX (binary, not ASCII) - **Commands**: speed/steer (50Hz), arm/disarm, mode set, PID param update, heartbeat - **Telemetry upstream**: STM32 → Jetson: IMU, battery, motor RPM, arm state, error codes - **Watchdog**: If no cmd_vel for 500ms, send zero-speed command (safe stop) - **ROS2 node**: saltybot_bridge with configurable serial port and baud rate - **Reconnect**: Auto-reconnect on USB disconnect/reconnect - **Unit tests**: Mock serial, verify frame encoding/decoding, CRC validation ## Agent: sl-jetson ## Labels: phase-2, bridge
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#119
No description provided.