Adds saltybot_speed_controller ROS2 package — sits between person_follower (/cmd_vel_raw) and cmd_vel_bridge (/cmd_vel), providing adaptive speed profiles tuned for balance stability during outdoor follow-me up to 8 m/s (EUC ride mode). Key features: - walk/jog/ride profiles (1.5/3.0/8.0 m/s) selected via UWB target velocity - Hysteresis-based switching (5 ticks up, 15 ticks down) prevents oscillation - Trapezoidal accel/decel ramps per profile; ride accel 0.3 m/s² (balance-safe) - Emergency decel (2.0 m/s²) triggered by sudden target stop or hard decel - GPS runaway protection: if GPS > commanded×1.5 AND > 50% profile_max → brake - 52/52 unit tests (no ROS2 runtime required) Topics: /cmd_vel_raw → [speed_controller] → /cmd_vel, /speed_controller/profile Launch: ros2 launch saltybot_speed_controller outdoor_speed.launch.py Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
32 lines
1.1 KiB
XML
32 lines
1.1 KiB
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_speed_controller</name>
|
|
<version>0.1.0</version>
|
|
<description>
|
|
Outdoor adaptive speed controller for SaltyBot follow-me mode.
|
|
Inserts between person_follower (/cmd_vel_raw) and cmd_vel_bridge (/cmd_vel),
|
|
selecting walk/jog/ride profiles based on estimated target velocity (UWB + GPS),
|
|
applying smooth trapezoidal acceleration curves, GPS runaway protection,
|
|
and emergency deceleration for balance stability at speeds up to 8 m/s.
|
|
</description>
|
|
<maintainer email="sl-controls@saltylab.local">sl-controls</maintainer>
|
|
<license>MIT</license>
|
|
|
|
<depend>rclpy</depend>
|
|
<depend>geometry_msgs</depend>
|
|
<depend>sensor_msgs</depend>
|
|
<depend>std_msgs</depend>
|
|
|
|
<buildtool_depend>ament_python</buildtool_depend>
|
|
|
|
<test_depend>ament_copyright</test_depend>
|
|
<test_depend>ament_flake8</test_depend>
|
|
<test_depend>ament_pep257</test_depend>
|
|
<test_depend>python3-pytest</test_depend>
|
|
|
|
<export>
|
|
<build_type>ament_python</build_type>
|
|
</export>
|
|
</package>
|