sl-controls d7051fe854
Some checks failed
social-bot integration tests / Lint (flake8 + pep257) (push) Failing after 11s
social-bot integration tests / Core integration tests (mock sensors, no GPU) (push) Has been skipped
social-bot integration tests / Latency profiling (GPU, Orin) (push) Has been cancelled
feat: Add Issue #467 - Power management supervisor with battery protection
- New ROS2 node: power_supervisor_node for battery state monitoring
- Battery thresholds: 30% warning, 20% dock search, 10% graceful shutdown, 5% force kill
- Charge cycle tracking and battery health estimation
- CSV logging to battery_log.csv for external analysis
- Publishes /saltybot/power_state for MQTT relay
- Graceful shutdown cascade: save state, stop motors, disarm on critical low battery
- Replaces/extends Issue #125 battery_node with supervisor-level power management

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-03-05 14:34:37 -05:00

30 lines
944 B
Python

from setuptools import find_packages, setup
import glob
package_name = 'saltybot_power_supervisor'
setup(
name=package_name,
version='0.1.0',
packages=find_packages(exclude=['test']),
data_files=[
('share/ament_index/resource_index/packages',
['resource/' + package_name]),
('share/' + package_name, ['package.xml']),
('share/' + package_name + '/launch', glob.glob('launch/*.launch.py')),
('share/' + package_name + '/config', glob.glob('config/*.yaml')),
],
install_requires=['setuptools'],
zip_safe=True,
maintainer='Seb',
maintainer_email='seb@vayrette.com',
description='Power management supervisor with battery protection and graceful shutdown',
license='MIT',
tests_require=['pytest'],
entry_points={
'console_scripts': [
'power_supervisor_node = saltybot_power_supervisor.power_supervisor_node:main',
],
},
)