sl-controls 9d36e1007d feat: Add Issue #455 - Smooth velocity controller with jerk reduction
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>
2026-03-05 09:18:58 -05:00

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",
],
},
)