2026 04 30 robotics remaining plan
Robotics SOTA — Remaining Work Plan (2026-04-30)
Section titled “Robotics SOTA — Remaining Work Plan (2026-04-30)”Wave 1: Backend + Frontend independents (parallel, no conflicts)
Section titled “Wave 1: Backend + Frontend independents (parallel, no conflicts)”1A — Backend: controlledBy attribute
Section titled “1A — Backend: controlledBy attribute”- Add
controlledByProperty toAgriRobotentity creation inorion_robots.py - Add
PATCH /robots/{id}/claim-controlandPATCH /robots/{id}/release-controlendpoints infleet.py - Update teleoperation WS to set
controlledByon MANUAL, clear on MONITOR
1B — Frontend: FleetMap directional arrows + GeofenceEditor + RouteHistory
Section titled “1B — Frontend: FleetMap directional arrows + GeofenceEditor + RouteHistory”- Unify
FleetMap.tsxto use same arrow canvas logic asRobotMapLayer.tsx GeofenceEditor.tsx: wire Cesium draw tools (polygon drawing)RouteHistory.tsx: render GeoJSON on Cesium map + animate playback
1C — Frontend: Phase B fleet experience
Section titled “1C — Frontend: Phase B fleet experience”- New
FleetTable.tsxcomponent (columns: ID, Estado, SOC%, ETA, Apero, Operador, Última) - Quick filter chips in FleetDashboard
- Smart sorting (alerts → stopped → running → idle)
GNSSQualityBadgein TelemetryHUD- Semantic palette consistency pass across all components
Wave 2: Integration (after Wave 1 completes)
Section titled “Wave 2: Integration (after Wave 1 completes)”2A — FleetDashboard integration
Section titled “2A — FleetDashboard integration”- Add FleetMap, FleetTable (toggleable with cards), GeofenceEditor, RouteHistory to FleetDashboard layout
- Wire filter chips + search + sort
2B — Cockpit improvements
Section titled “2B — Cockpit improvements”- ImplementPanel reads from SSE telemetry instead of hardcoded
- Pause All / E-Stop All buttons in FleetDashboard header
- E-STOP re-arm flow in CockpitLayout (overlay with cause → resolve → confirm → waiting state)
2C — Polish
Section titled “2C — Polish”- VideoViewport: timestamp + latency overlay on canvas
- WCAG basics: ARIA roles on critical buttons (E-STOP, mode selector), keyboard nav
- eu.json (Euskera)
Wave 3: Infrastructure
Section titled “Wave 3: Infrastructure”3A — ArgoCD + K8s
Section titled “3A — ArgoCD + K8s”- Create ArgoCD app manifest in nkz repo
- Document zenoh-secret creation + cert-manager TLS setup