Web-based dashboard for visualizing CHARS task allocation and DAG execution in real time.
This package launches a browser dashboard that connects to ROS 2 through rosbridge and displays:
- Global task DAG state
- Agent status (idle/busy)
- Dispatch, completion, and failure events
chars_dashboard is the operator-facing entry point in Layer 3/Layer 2 monitoring:
- Shows the global plan progression generated from the cognitive planning pipeline.
- Visualizes allocator decisions as tasks are dispatched to swarm agents.
- Provides live visibility into success/failure events and reallocation behavior.
chars_dashboard/
launch/
dashboard.launch.py
web/
dashboard.html
CMakeLists.txt
package.xml
Declared in package.xml:
ament_cmakerosbridge_server
Frontend libraries are loaded from CDN in web/dashboard.html:
- D3.js
- Dagre
- roslibjs
From your ROS 2 workspace root:
colcon build --packages-select chars_dashboard
source install/setup.bashros2 launch chars_dashboard dashboard.launch.pyThis launch file starts:
rosbridge_websocket(WebSocket bridge, default port9090)- Python HTTP server for static dashboard files (default port
8080)
Open in browser:
http://localhost:8080/dashboard.html
- ROS 2 nodes publish planner/allocator/execution state.
rosbridge_serverexposes ROS topics/services to web clients.- Dashboard (via
roslibjs) subscribes to runtime data and updates UI. - DAG rendering uses D3 + Dagre for graph layout and status coloring.
- ROS 2 environment sourced.
rosbridge_serveravailable in your installation.- Browser access to local ports
8080and9090.
If running on another machine or container, update host/port references in the dashboard JS as needed.
- Dashboard page opens but no live data:
- Confirm
rosbridge_websocketis running. - Verify WebSocket endpoint is reachable on port
9090.
- Confirm
- Launch fails with missing package:
- Install
rosbridge_serverfor your ROS 2 distribution.
- Install
- Blank page or broken layout:
- Check internet connectivity for CDN-hosted JS libraries.
- Open browser developer tools for script/network errors.
Recommended screenshot assets:
- Full dashboard with DAG + agent panel + event log.
- Connection state indicator (connected/disconnected).
- Example run showing task transitions.
A short GIF of task dispatch and completion events improves repository readability.
Apache-2.0