Skip to main content
Each model expects observations in its own format and returns actions in its own units. Build observations with the model’s helper, and convert actions back to your robot’s units before sending them. Run dreamscale models for every model your organization can use. All camera frames are H×W×3 uint8 RGB.
Matching the vector length is not enough. Joint order, units, camera order, and gripper convention must all match, or the robot moves to the wrong place.

MolmoAct2 SO-101

  • Joints are in LeRobot SO-101 degrees. The gripper uses LeRobot’s 0–100 range.
  • Actions are absolute targets in the same order and units.

Bimanual YAM

molmoact2-bimanual-yam and pi05-yam share one helper:
  • Actions are absolute targets: left six joints, left gripper, right six joints, right gripper. Grippers are at indices 6 and 13.
  • Grippers are continuous. Don’t threshold them to open or closed.
  • pi05-yam was trained on 640 × 360 frames.

π0.5 Trossen WidowX

  • Actions use the same order as YAM: left arm, left gripper, right arm, right gripper.
  • Trained on one task: pouring items from a red cup. An empty instruction uses that task.

MolmoAct2 DROID

  • Actions are seven absolute joint targets in radians, then the gripper.
  • Pass second_exterior_frame= if you have a second exterior camera.

MolmoAct2 LIBERO

  • State is end-effector position, end-effector rotation as an axis-angle vector, then the two gripper joint positions.
  • Actions are robosuite delta actions: [dx, dy, dz, d_axis_x, d_axis_y, d_axis_z, gripper]. They only fit the LIBERO environment.

Your deployment

A deployment names its own cameras and state width. Key frames by the deployment’s camera keys, in order, and send state in the units your checkpoint was trained on:
The camera keys and state width are on the deployment’s page in the dashboard.