go1.run([...]) executes open-loop, with no model in
the loop. With one, each Step is run under the strategy’s control.
Sequential: think then move
Single-threaded “guard while you act”. For each action, a guardian (default:
VLAGuardian, a small VLM on the forward camera) watches for obstacles. On a
detection mid-action:
- The current step is cut short at whatever fraction completed.
- The guardian emits an avoidance sequence (turn / side-step / wait).
- Avoidance runs with the guardian off (no recursive interrupts).
- The original action resumes with the remaining distance, bounded by
retriesso the robot can’t thrash.
ChainOfThought: think while you move
Concurrent inference and execution. While the robot executes action N, a
background worker is already running the next inference pass to produce N+1, so
there’s no dead time waiting on the model.
model is any WorldModelAdapter. sense is a list
of modalities merged into each observation.
Any trigger Step you pass to run() hands control to the orchestrator.