Some checks failed
social-bot integration tests / Lint (flake8 + pep257) (pull_request) Failing after 2s
social-bot integration tests / Core integration tests (mock sensors, no GPU) (pull_request) Has been skipped
social-bot integration tests / Latency profiling (GPU, Orin) (pull_request) Has been cancelled
- 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>
33 lines
955 B
Python
33 lines
955 B
Python
from setuptools import setup, find_packages
|
|
import os
|
|
from glob import glob
|
|
|
|
package_name = "saltybot_rover_driver"
|
|
|
|
setup(
|
|
name=package_name,
|
|
version="0.1.0",
|
|
packages=find_packages(exclude=["test"]),
|
|
data_files=[
|
|
("share/ament_index/resource_index/packages",
|
|
[f"resource/{package_name}"]),
|
|
(f"share/{package_name}", ["package.xml"]),
|
|
(os.path.join("share", package_name, "config"),
|
|
glob("config/*.yaml")),
|
|
(os.path.join("share", package_name, "launch"),
|
|
glob("launch/*.py")),
|
|
],
|
|
install_requires=["setuptools"],
|
|
zip_safe=True,
|
|
maintainer="sl-controls",
|
|
maintainer_email="sl-controls@saltylab.local",
|
|
description="SaltyRover 4-wheel independent ESC motor driver",
|
|
license="MIT",
|
|
tests_require=["pytest"],
|
|
entry_points={
|
|
"console_scripts": [
|
|
f"rover_driver_node = {package_name}.rover_driver_node:main",
|
|
],
|
|
},
|
|
)
|