[P1] VESC balance mode PID tuning + tilt safety limits #407

Closed
opened 2026-03-04 15:46:32 -05:00 by sl-jetson · 0 comments
Collaborator

Goal

Tune the FSESC 4.20 Plus balance app PID parameters for stable self-balancing with SaltyBot weight distribution.

Requirements

  • ROS2 node to read/write VESC balance app parameters via UART (pyvesc)
  • PID tuning interface: publish current P/I/D values, accept updates from /vesc/pid_tune topic
  • Tilt safety: if pitch exceeds ±45° for >500ms, kill motors immediately
  • Startup sequence: gradual ramp from 0 to balance mode (prevent jerk)
  • Log IMU data (pitch/roll/yaw) + motor current for offline analysis
  • Publish /saltybot/balance_state (BALANCING, FALLEN, STARTUP, SHUTDOWN)

Hardware

  • FSESC 4.20 Plus with built-in Balance App + MPU6050
  • Connected via UART to Orin
  • ESC abstraction layer already merged (#388)
## Goal Tune the FSESC 4.20 Plus balance app PID parameters for stable self-balancing with SaltyBot weight distribution. ## Requirements - ROS2 node to read/write VESC balance app parameters via UART (pyvesc) - PID tuning interface: publish current P/I/D values, accept updates from /vesc/pid_tune topic - Tilt safety: if pitch exceeds ±45° for >500ms, kill motors immediately - Startup sequence: gradual ramp from 0 to balance mode (prevent jerk) - Log IMU data (pitch/roll/yaw) + motor current for offline analysis - Publish /saltybot/balance_state (BALANCING, FALLEN, STARTUP, SHUTDOWN) ## Hardware - FSESC 4.20 Plus with built-in Balance App + MPU6050 - Connected via UART to Orin - ESC abstraction layer already merged (#388)
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#407
No description provided.