The guide
The four axes
What each kind of change is — positions, scene, object, composition — how a unit on each axis is built, and why the demonstration always shows the perturbed task.
Everything in the competition is built out of one object: the unit. A unit is one task, one initial state, one demonstration and one seed. Both models see the demonstration, both start from the initial state, and both are scored on whether the task's goal holds at the end. The four axes differ in how the unit is perturbed away from the public benchmark scenes.
Spatial change
Same task as the demonstration, same objects, but the objects and the robot start somewhere else. Positions come from LIBERO-PRO's swap and pose perturbations plus an explicit displacement ladder with a minimum distance at each level, so a unit cannot be solved by replaying the demonstration's motion. The unit record carries the level, the object moved and how far.
Environment change
Same task and layout, but the scene changes: a different table in a different room, and lights randomized from the unit's seed. What the model sees is different; what it has to do is not.
Object change
Same kind of task, but the target object is swapped for another object that affords the same operation — pick a different thing and put it in the same basket. The demonstration shows the new pairing, so the model is told what to do; the pairing itself was never published as training data.
Composition
Two single-step tasks done one after the other. The demonstration is one continuous recording of both steps; success means both goals hold at the end. Partial progress — how many of the goal predicates were satisfied — is recorded as a diagnostic and shown on the clip, but only full success counts.
What every axis shares
- One demonstration, always of the perturbed task, always recorded from a different initial state than the one the model is scored from. The demonstration is the whole prompt.
- No language. The task is never named to the model. The task names are public — the benchmarks are open source — but nothing hands them to the policy.
- No weight updates. Parameters are frozen for the entire unit. The only thing that changes is what enters the prompt.
- The validator owns inference — the prompt encoding, the observation loop, the action chunking. An entrant submits a checkpoint and a config; no participant code runs.
- Both sides see the same unit. Same initial state, same demonstration, same seed.
How the score is built
Each axis is a success rate over its units, excluding any that were void. The score is the mean of the four axis rates. A duel page shows all five numbers for both sides, with the difference in points beside each, so the one comparison the crown rule makes — the average row — sits in the context of the four that produced it.
The draw, at the default duel size
- Default duel size
- heavy
- Units per axis, default duel
- 20
- Units per side, default duel
- 80
- Selectable duel sizes
- smoke, light, medium, heavy
Rendered from spec.json at build time — the same file the validator reads.
Next: what you submit.
