Implement acceleration-limited velocity controller with S-curve jerk limiting: - Subscribe to /cmd_vel_raw, publish smoothed /cmd_vel - Max linear acceleration: 0.5 m/s² - Max angular acceleration: 1.0 rad/s² - Deceleration: 0.8 m/s² (linear), 1.0 rad/s² (angular) - S-curve jerk limiting for smooth acceleration profiles (0.2s ramp) - E-stop immediate stop capability - Command priority system (e-stop > teleop > geofence > follow-me > nav2 > patrol) - Publish /saltybot/velocity_profile for monitoring - Configurable via smooth_velocity_config.yaml - 50Hz update rate (configurable) Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
26 lines
940 B
Python
26 lines
940 B
Python
from setuptools import setup
|
|
|
|
setup(
|
|
name="saltybot_smooth_velocity",
|
|
version="0.1.0",
|
|
packages=["saltybot_smooth_velocity"],
|
|
data_files=[
|
|
("share/ament_index/resource_index/packages", ["resource/saltybot_smooth_velocity"]),
|
|
("share/saltybot_smooth_velocity", ["package.xml"]),
|
|
("share/saltybot_smooth_velocity/launch", ["launch/smooth_velocity.launch.py"]),
|
|
("share/saltybot_smooth_velocity/config", ["config/smooth_velocity_config.yaml"]),
|
|
],
|
|
install_requires=["setuptools"],
|
|
zip_safe=True,
|
|
maintainer="sl-controls",
|
|
maintainer_email="sl-controls@saltylab.local",
|
|
description="Smooth velocity controller with acceleration limiting and S-curve jerk reduction",
|
|
license="MIT",
|
|
tests_require=["pytest"],
|
|
entry_points={
|
|
"console_scripts": [
|
|
"smooth_velocity_node = saltybot_smooth_velocity.smooth_velocity_node:main",
|
|
],
|
|
},
|
|
)
|