Play Stacking Toy


| Task ID | |
| SE3 language instruction | “Place each stacking piece on the table onto the peg holding the matching piece: blue triangle, green square, orange square, and red square.” |
| Official language instruction | Place all stacking toy pieces onto the correct pegs. |
| RoboDojo category | Long-Horizon |
| Materials | a five-peg wooden geometric stacker; 5 starter pieces (purple circle, blue triangle, green square, orange square, red square) and 4 table pieces (blue triangle, green square, orange square, red square). |
| Difference | every peg starts with one seated piece that shows its group; the single purple circle starts on its peg, and the policy places one more piece on each other peg (4 pieces) rather than stacking all 10 from the table. The photo shows the evaluation start state. |
| RoboDojo task page | Play Stacking Toy |
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.
A piece is seated when it is on the peg holding the matching starter piece and seated on that stack; starter pieces must stay on their pegs.
| Progress | Condition |
|---|---|
| 0 | No milestone below is reached. |
| 5 | A loose piece is grasped and lifted clear of the table. |
| 15 | A held piece is carried to the peg board. |
| 30 | One piece is seated and the gripper is open. |
| 50 | Two pieces are seated. |
| 75 | Three pieces are seated. |
| 100 | All four pieces are seated. 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+ |
| Missed insertions | Times a piece contacts a peg tip without sliding onto it. | 0 · 1 · 2 · 3+ |
| Wrong-peg pieces | Pieces released onto a peg of another group. | 0 · 1 · 2 · 3+ |
Randomization
Each episode samples every variable below and records its values.
| Variable | Domain |
|---|---|
| Start layout | Base position near the back, yaw within ±20°; one starter piece seated on each peg; the 4 table pieces scattered anywhere clear of the base and the arms. |
Python SDK
from se3labs.sdk.eval.tasks import TaskRegistry
definition = TaskRegistry.get_task("ROBODOJO-REAL-34")
# 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-34", 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.