Implements saltybot_velocity_smoother package: - Subscribes to /odom, applies digital Butterworth low-pass filter - Filters linear (x,y,z) and angular (x,y,z) velocity components independently - Publishes smoothed odometry on /odom_smooth - Reduces encoder jitter and improves state estimation stability - Configurable filter order (1-4), cutoff frequency (Hz), publish rate - Can be enabled/disabled via enable_smoothing parameter - Comprehensive test suite: 18+ tests covering filter behavior, edge cases, scenarios Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
34 lines
1.2 KiB
Python
34 lines
1.2 KiB
Python
from setuptools import setup, find_packages
|
|
|
|
package_name = 'saltybot_velocity_smoother'
|
|
|
|
setup(
|
|
name=package_name,
|
|
version='0.1.0',
|
|
packages=find_packages(exclude=['test']),
|
|
data_files=[
|
|
('share/ament_index/resource_index/packages',
|
|
['resource/saltybot_velocity_smoother']),
|
|
('share/' + package_name, ['package.xml']),
|
|
('share/' + package_name + '/config', ['config/velocity_smoother_config.yaml']),
|
|
('share/' + package_name + '/launch', ['launch/velocity_smoother.launch.py']),
|
|
],
|
|
install_requires=['setuptools'],
|
|
zip_safe=True,
|
|
author='SaltyBot Controls',
|
|
author_email='sl-controls@saltybot.local',
|
|
maintainer='SaltyBot Controls',
|
|
maintainer_email='sl-controls@saltybot.local',
|
|
keywords=['ROS2', 'velocity', 'filtering', 'butterworth'],
|
|
classifiers=[
|
|
'Intended Audience :: Developers',
|
|
'License :: OSI Approved :: MIT License',
|
|
'Programming Language :: Python :: 3',
|
|
'Topic :: Software Development',
|
|
],
|
|
entry_points={
|
|
'console_scripts': [
|
|
'velocity_smoother_node=saltybot_velocity_smoother.velocity_smoother_node:main',
|
|
],
|
|
},
|
|
) |