Diagnostics aggregator: unified health dashboard ROS2 node #658

Closed
opened 2026-03-17 11:28:50 -04:00 by sl-jetson · 0 comments
Collaborator

Goal

Create a unified diagnostics aggregator that collects health status from all subsystems and publishes a single system health summary.

Requirements

  • Subscribe to: /vesc/health, /diagnostics, /saltybot/safety_zone/status, /saltybot/pose/status, /saltybot/uwb/status
  • Aggregate into single /saltybot/system_health topic (JSON)
  • Fields: overall_status (OK/WARN/ERROR), per-subsystem status, uptime, last_error
  • Subsystems: motors, battery, imu, uwb, lidar, camera, can_bus, estop
  • Heartbeat: publish at 1Hz even if no updates
  • Log state transitions (OK→WARN, WARN→ERROR) with timestamps
  • Web-friendly JSON format for UI consumption
  • Unit tests
## Goal Create a unified diagnostics aggregator that collects health status from all subsystems and publishes a single system health summary. ## Requirements - Subscribe to: /vesc/health, /diagnostics, /saltybot/safety_zone/status, /saltybot/pose/status, /saltybot/uwb/status - Aggregate into single /saltybot/system_health topic (JSON) - Fields: overall_status (OK/WARN/ERROR), per-subsystem status, uptime, last_error - Subsystems: motors, battery, imu, uwb, lidar, camera, can_bus, estop - Heartbeat: publish at 1Hz even if no updates - Log state transitions (OK→WARN, WARN→ERROR) with timestamps - Web-friendly JSON format for UI consumption - Unit tests
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: seb/saltylab-firmware#658
No description provided.