- kinematics.py: pure unicycle→differential/skid-steer kinematics, speed_to_pwm (1000–2000µs), compute_wheel_speeds with ±max clip, odometry_from_wheel_speeds inverse helper - rover_driver_node.py: 50 Hz ROS2 node; serial P<ch1>,<ch2>,<ch3>,<ch4>\n protocol; heartbeat H\n; deadman on /cmd_vel silence; runtime 2WD/4WD variant switch via four_wheel param; dead-reckoning odometry; publishes /saltybot/rover_pwm (JSON) + /saltybot/rover_odom - config/rover_params.yaml, launch/rover_driver.launch.py, package.xml, setup.py, setup.cfg - test/test_rover_kinematics.py: 51 unit tests, all passing Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
24 lines
774 B
XML
24 lines
774 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_rover_driver</name>
|
|
<version>0.1.0</version>
|
|
<description>SaltyRover 4-wheel independent ESC motor driver (Issue #110)</description>
|
|
<maintainer email="sl-controls@saltylab.local">sl-controls</maintainer>
|
|
<license>MIT</license>
|
|
|
|
<depend>rclpy</depend>
|
|
<depend>geometry_msgs</depend>
|
|
<depend>nav_msgs</depend>
|
|
<depend>std_msgs</depend>
|
|
|
|
<test_depend>ament_copyright</test_depend>
|
|
<test_depend>ament_flake8</test_depend>
|
|
<test_depend>ament_pep257</test_depend>
|
|
<test_depend>pytest</test_depend>
|
|
|
|
<export>
|
|
<build_type>ament_python</build_type>
|
|
</export>
|
|
</package>
|