Skip to main content
There is not yet a verified public FastWAM-to-Reactor simulator adapter in the cookbook. The existing LingBot LIBERO client uses different track names, state inputs, and execution feedback; changing its model slug is insufficient.

Simulator and observation mapping

Use the upstream FastWAM evaluator and its environment instructions to establish the reference behavior. The original checkpoint’s evaluation uses MuJoCo 3.3.2 and LIBERO’s Panda controller. Those upstream commands run local model inference; they are not Reactor client commands. A cloud adapter would replace the evaluator’s prediction call while keeping the simulator, camera layout, initial states, and controller conventions. The service performs the image rotation and action/gripper conversion. Skip those upstream preprocessing and postprocessing steps in a Reactor client to avoid applying them twice.

Episode loop

  1. Reset the simulator to the selected initial state. Reset the model session and set the task.
  2. Obtain both raw camera views and state from the same simulator observation.
  3. Publish the views continuously, send a new chunk_id, and wait for its matching action reply.
  4. Validate the reply and execute its selected prefix through env.step(action).
  5. Capture fresh observations and repeat until success, termination, or your episode limit.
The upstream configuration uses 30 settling steps at episode start and executes 10 actions per replan from each 32-row chunk. The LIBERO wrapper defaults to 20 Hz control. Those are evaluator settings, not requirements to echo executed actions to the API. FastWAM needs another state request to produce another chunk. Record task ID, initial-state ID, seed, executed rows, and success separately from inference timing. Pausing simulation while waiting for the cloud can establish task behavior, but does not measure uninterrupted physical-time control. Hosted end-to-end rollouts have not been validated for this guide.