Add stack health monitor contract prototype - #36
Conversation
|
Follow-up update pushed in
Review/check sweep before posting:
Verification:
|
|
xbattlax - thank you again! |
|
xbattlax, my Claude has reviewed the PR, found a few things. Please see below. === Claude ===
|
|
xbattlax, would it be possible for you to self-host ROS2 packages (health-monitor, including docs) - and replace the code in This would allow me/anyone to integrate it, try it out, vendor it into oomwoo-install Dockerfile. |
|
Thank you for both follow-ups. Done:
Verification in the standalone repository:
Thanks for catching the QoS race and for suggesting the repository split. |
|
One more follow-up to the vendoring request: the runtime integration is now open It pins This should complete the path from the prototype here to a reproducible package |
Summary
Follow-up to the maintainer comment on #33 about generalizing
/cmd_velholding into component health monitoring.This PR adds a namespaced
health-monitor/xbattlaxstack-health monitor contribution and records the public draft contract indocs/SOFTWARE_INTERFACES.md.What it includes:
oomwoo_health_monitorpackage withhealth_monitor_nodeand launch filestd_msgs/msg/Stringadapter for/oomwoo/health/rosterand/oomwoo/health/component/oomwoo/health/stackpublication on each monitor tick/oomwoo/health/mcu_heartbeatpublication only while the aggregate state is healthyReview Context
This keeps
/cmd_velholding as a motion-quality fix, but moves the robot-wide safety question to a general stack-health deadman: components publish work-path heartbeats, a health monitor checks the active roster, and only then is one MCU-facing stack heartbeat emitted.Verification
python3 -m unittest discover -s contributions/health-monitor/xbattlax/tests -p 'test_*.py'python3 contributions/health-monitor/xbattlax/tools/sim_health_monitor.pypython3 -m py_compile contributions/health-monitor/xbattlax/oomwoo_health_monitor/oomwoo_health_monitor/core.py contributions/health-monitor/xbattlax/oomwoo_health_monitor/oomwoo_health_monitor/health_monitor_node.py contributions/health-monitor/xbattlax/tools/sim_health_monitor.pygit diff --check