Appearance
RoboLab-120
RoboLab-120 is NVIDIA's 120-task manipulation suite on Isaac Lab. The tasks are pick-place and tidying problems. Each task is labeled with the skill it tests: semantics, spatial reasoning, color, counting, sorting, or stacking. Your policy receives a shoulder view, a wrist view, and a language instruction, and drives a DROID arm with absolute joint targets.


| Benchmark | Tasks | Episodes per task | Total episodes |
|---|---|---|---|
robolab-120 | 120 | 10 | 1200 |
Contract
Observation
Each step, the benchmark sends an observation with these fields. If Manifold has adapters for the difference, it converts the observation to the form that your policy signature declares. Then it passes the observation to your policy.
| Field | Values | Meaning |
|---|---|---|
state["ee_pose"] | x, y, z | position in meters |
| qx, qy, qz, qw | rotation as a quaternion, scalar last | |
state["joint_pos"] | j0 to j6 | joint angles in radians |
| gripper | continuous in [0, 1], 0 opens | |
instruction | the task prompt, a string | |
sensors["over_shoulder_left"] | 640x360 color image, uint8 | |
sensors["wrist"] | 640x360 color image, uint8 |
Action
Return actions in the exact format that your policy signature declares. Manifold will attempt to convert your policy's output to match what the benchmark accepts.
Compatible policy signatures
Change the values to match your policy. If the policy signature below matches what your policy natively requires, then it is guaranteed to be compatible with RoboLab-120.
ProprioceptionFormat
End effector pose
Joint positions
Joints, then gripper
[j0, ..., j6, gripper]CameraOrientationSize
Show policy signature
python
POLICY_SIGNATURE = PolicySignature(
action_space=JointActionSpace(
dof=7,
gripper=GripperFormat.BINARY_OPEN_LOW,
delta=False,
),
proprioception=Proprioception(
ee_pose=EEObservationSpec(rotation=RotationFormat.QUATERNION),
joint_pos=JointObservationSpec(dof=7, gripper=GripperFormat.UNSIGNED_OPEN_LOW),
),
cameras=(
Camera(
name="over_shoulder_left",
shape=(360, 640, 3),
mount=Mount.SCENE,
orientation=CameraOrientation.UPRIGHT,
),
Camera(
name="wrist",
shape=(360, 640, 3),
mount=Mount.WRIST,
orientation=CameraOrientation.UPRIGHT,
),
),
instruction=True,
)Debugging and testing
To check your policy end to end before a full run, submit it against debug-robolab-120, a small debug version of this benchmark.
For the full walkthrough, see Serve your policy.