Adithya Balaji
Integration view

On-robot runtime architecture

Every process on MB-1 (with the humanoid H-1 addition), grouped by compute target with its rate. Learned components are indigo, classical components slate, certified safety red. The command path runs left to right from policy to drives; the safety path is independent of every learned component.

On-robot runtime architectureProcesses grouped by compute target with rates; learned components in indigo, classical in slate, certified safety in red; arrows show the command path from policy to drives and the independent safety stop path.CLOUD / WORKCELL · asyncONBOARD GPU · Jetson AGX ThorREAL-TIME CPU · PREEMPT_RTDRIVES & CERTIFIED SAFETYFleet backend & telemetrymetrics 1–10 Hz · bulk at dockRemote assist consoleon monitor alarmsReasoner API (optional S2)0.1–1 Hz · e.g. ER-class VLMS2 task reasoner (small VLM)0.1–2 Hz → subtask, prompt, subgoalPerception for control15–30 Hz · poses, ESDF mapS1 visuomotor policy (VLA / WAM)5–15 Hz · chunk 50×24 · TRT NVFP4/FP8Runtime monitorper chunk · OOD, entropy, value stallHumanoid only: whole-body tracker50 Hz → PD targets · priority streamAction server (RTC, interpolation)50–200 Hz · clock alignment, blendingSafety filter + diff-IK QP0.5–1 kHz · limits, CBF, workspaceCartesian impedance / joint PD1 kHz · force caps, stiffnessResidual actor (RL)50 Hz · bounded ΔposeState estimation0.2–1 kHz proprio · 10 Hz LiDARLogger (MCAP ring buffer)all topics · event uploadDrive servo loops4–40 kHz · current / torqueSafety PLC + scanners≈1–10 ms · PL d / SIL 2-classindependent of every learnedcomponent: E-stop, SSM, SLS, STOSENSORS · PTP-syncedcameras 30 Hz (global shutter, hw trigger) · F/T 1 kHz · tactile 30–60 Hz · joints 0.5–1 kHz (EtherCAT DC) · IMU 0.2–1 kHz · LiDAR 10 Hz · audio 48 kHzSTO / stop
learnedclassicalcertified safetyinfrastructuredashed: humanoid-only path
··

Process table

Sort by rate or compute. The last column is the designed behaviour when the process misses its deadline or fails.

··

Design rules this layout encodes

  • No learned component sits on the path between the safety controller and the drives.
  • Every learned output passes through a classical filter that enforces limits before reaching a controller (stage 09).
  • Slow components (reasoner, policy) are asynchronous to fast ones; their deadline misses degrade capability, not stability.
  • On humanoids the fastest learned component (whole-body tracker) gets a dedicated priority so a slow VLA chunk can never starve balance control.
  • Every process emits telemetry with the version tuple; the logger keeps a ring buffer for incident bundles.