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>
20 lines
623 B
XML
20 lines
623 B
XML
<?xml version="1.0"?>
|
|
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
|
|
<package format="3">
|
|
<name>saltybot_pid_scheduler</name>
|
|
<version>0.1.0</version>
|
|
<description>Adaptive PID gain scheduler for SaltyBot</description>
|
|
<maintainer email="sl-controls@saltylab.local">SaltyLab Controls</maintainer>
|
|
<license>MIT</license>
|
|
|
|
<buildtool_depend>ament_python</buildtool_depend>
|
|
<depend>rclpy</depend>
|
|
<depend>std_msgs</depend>
|
|
|
|
<test_depend>pytest</test_depend>
|
|
|
|
<export>
|
|
<build_type>ament_python</build_type>
|
|
</export>
|
|
</package>
|