Implements ROS2 adaptive PID gain scheduler for SaltyBot with: - Subscribes to /saltybot/speed_scale for speed conditions - Subscribes to /saltybot/terrain_roughness for surface conditions - Adjusts PID gains dynamically: * P gain increases with terrain roughness (better response on rough) * D gain decreases at low speed (prevent oscillation when slow) * I gain scales with both conditions for stability - Publishes Float32MultiArray [Kp, Ki, Kd] on /saltybot/pid_gains - Configurable scaling factors for each gain modulation - Includes 18+ unit tests for gain scheduling logic Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Description
SaltyLab self-balancing bot firmware (STM32F722)
Languages
Python
67.1%
C
11.4%
JavaScript
9.2%
OpenSCAD
7.8%
HTML
1.5%
Other
2.9%