What problem does it solve?
Battery health and state of charge information are critical for reliable operation, but ROS 2 systems often lack standardized, real-time monitoring and a consistent BatteryState interface.
This skill provides end-to-end battery monitoring by reading voltages and currents, estimating the state of charge, and publishing BatteryState on a ROS 2 topic.
Core Features & Use Cases
- Voltage measurement via a divider and ADC, with filtering to reduce noise.
- Current measurement using a shunt-based sensor (INA219/INA226) and calibration to support accurate power budgeting.
- State of charge estimation through no-load voltage tracking, IR compensation, and coulomb counting.
- Publishing sensor_msgs/BatteryState on a standard topic with per-cell voltages when available.
- Alert thresholds and integration with behavior trees to trigger docking or safe shutdown.
- Hardware safety guidelines to protect the battery and electronics.
Quick Start
Run the BatteryMonitor node to start publishing BatteryState after wiring up voltage, current sensors, and related hardware.