Skip to content
Robotensor
All pages8

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.

2 min read

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 changesame task, same objects,different positionsone success rateEnvironment changesame task, same layout,different table and lightsone success rateObject changesame operation,different objectone success rateComposition12two tasks in onecontinuous demonstrationone success rate
Every duel draws the same number of units on each axis for both sides. Each axis is scored as a success rate on its own; the crown rule reads their average.

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.