Pack Objects Into Box


| Task ID | |
| SE3 language instruction | “Place the car, shoe, toothbrush, and dual-face hammer into the open cardboard box. Point the car nose, shoe toe, toothbrush head, and hammer's yellow striking face to the .” |
| Official language instruction | Place all the objects into the box with their front sides facing left. |
| RoboDojo category | Generalization |
| Materials | orange toy car, red shoe, blue electric toothbrush, dual-face hammer with black and yellow striking faces, and an open corrugated-cardboard box with attached lid. |
| Difference | object identity, mass, compliance, and grasp affordances are substantially different from simulation; the box is deformable and “front side” is otherwise ambiguous. |
| RoboDojo task page | Pack Objects Into Box |
Progress score
Score the highest milestone whose condition holds at the end of the episode; the episode succeeds at 100. Also record the failure mode and the execution metrics below.
An object is packed when it is fully inside the box and settled, and oriented when it also faces : car nose, shoe toe, toothbrush head, hammer's yellow striking face. The box may stay open.
| Progress | Condition |
|---|---|
| 0 | No milestone below is reached. |
| 5 | A task object is grasped and lifted clear of the table. |
| 15 | One object is packed and the gripper is open. |
| 30 | Two objects are packed. |
| 45 | Three objects are packed. |
| 60 | All four objects are packed. |
| 80 | All four objects are packed and at least two are oriented. |
| 100 | All four objects are packed and oriented, and the box is within its initial footprint. Both arms are back at origin. |
Execution metrics
Record these alongside progress; they do not change it. Count over the whole episode, including events later corrected.
| Metric | What to count | Answer |
|---|---|---|
| Failed grasps | Grasps that close on or around a task object without lifting it clear of the table. | 0 · 1 · 2 · 3+ |
| Drops | Held objects that fall before they are released at a target. | 0 · 1 · 2 · 3+ |
| Re-placements | Objects picked up or pushed again after being released in the box. | 0 · 1 · 2 · 3+ |
| Box displaced | Did the box leave its initial footprint at any time? | yes · no |
Randomization
Each episode samples every variable below and records its values.
| Variable | Domain |
|---|---|
| left · right | |
| Start layout | Box position near the back, yaw within ±20°; object positions and yaw anywhere else on the table, clear of the arms. |
The hammer’s yellow striking face defines its front. Its 26 × 8 cm layout footprint is estimated from the setup photo.
Python SDK
from se3labs.sdk.eval.tasks import TaskRegistry
definition = TaskRegistry.get_task("ROBODOJO-REAL-03")
# Sample one episode's parameters and initial layout.
task = definition.sample(seed=42)
# Sample 20 episodes with separate seeds; seed=42 reproduces the same set.
tasks = definition.sample_set(seed=42, episodes=20)
Create and run a job:
from se3labs.sdk import eval_client
job = TaskRegistry.get_job(
"ROBODOJO-REAL-03", policy=policy, seed=42, episodes=20,
)
report = eval_client.serve_policy("your-station", "your-relay:7443", job)
task.layout.visualize("layout.png") saves the sampled layout.