|
|
78374668bf
|
feat(ui): telemetry dashboard panels (issue #126)
Adds 6 telemetry tabs to the social-bot dashboard extending PR #112.
IMU Panel (/saltybot/imu, /saltybot/balance_state):
- Canvas artificial horizon + compass tape
- Three.js 3D robot orientation cube with quaternion SLERP
- Angular velocity readouts, balance state detail
Battery Panel (/diagnostics):
- Voltage, SoC, estimated current, runtime estimate
- 120-point voltage history sparkline (2 min)
- Reads battery_voltage_v, battery_soc_pct KeyValues from DiagnosticArray
Motor Panel (/saltybot/balance_state, /saltybot/rover_pwm):
- Auto-detects balance vs rover mode
- Bidirectional duty bars for left/right motors
- Motor temp from /diagnostics, PID detail for balance bot
Map Viewer (/map, /odom, /outdoor/route):
- OccupancyGrid canvas renderer (unknown/free/occupied colour-coded)
- Robot position + heading arrow, Nav2/OSM path overlay (dashed)
- Pan (mouse/touch) + zoom, 2 m scale bar
Control Mode (/saltybot/control_mode):
- RC / RAMP_TO_AUTO / AUTO / RAMP_TO_RC state badge
- Blend alpha progress bar
- Safety flags: SLAM ok, RC link ok, stick override active
- State machine diagram
System Health (/diagnostics):
- CPU/GPU temperature gauges with colour-coded bars
- RAM, GPU memory, disk resource bars
- ROS2 node status list sorted by severity (ERROR → WARN → OK)
Also:
- Three.js vendor chunk split (471 kB separate lazy chunk)
- Updated App.jsx with grouped SOCIAL + TELEMETRY tab nav
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-03-02 09:18:39 -05:00 |
|