sl-controls dab0f96399 feat(controls): Cliff and drop-off detection safety node (Issue #288)
Implements ROS2 cliff detector for SaltyBot with:
- Subscribes to /saltybot/cliff_sensors (IR range array)
- Threshold-based detection (default 0.5m)
- Debouncing (3 consecutive frames) for robustness
- Majority voting (min 2 sensors) for safety
- Publishes Bool on /saltybot/cliff_detected
- Emergency stop trigger on cliff/drop-off detection
- Includes 15+ unit tests for detection logic

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-03-02 20:45:21 -05:00

25 lines
871 B
Python

from setuptools import setup, find_packages
setup(
name='saltybot_cliff_detector',
version='0.1.0',
packages=find_packages(),
data_files=[
('share/ament_index/resource_index/packages', ['resource/saltybot_cliff_detector']),
('share/saltybot_cliff_detector', ['package.xml']),
('share/saltybot_cliff_detector/config', ['config/cliff_detector_config.yaml']),
('share/saltybot_cliff_detector/launch', ['launch/cliff_detector.launch.py']),
],
install_requires=['setuptools'],
zip_safe=True,
author='SaltyLab Controls',
author_email='sl-controls@saltylab.local',
description='Cliff and drop-off detection safety node for SaltyBot',
license='MIT',
entry_points={
'console_scripts': [
'cliff_detector_node=saltybot_cliff_detector.cliff_detector_node:main',
],
},
)