Rules

One policy. Simulation, then the finale.

You submit a policy as a Docker image. We score it in simulation, and the leaderboard ranks the teams. Stage 1 runs in MolmoSpaces. Stage 2 adds a second simulator. When submissions close, the top 10 run the same image on a real robot, and the real-robot results decide the winners.

Simulation

Two stages, one Total.

MolmoSpaces

From stage 1. Allen AI's simulated homes. A Franka arm picks up objects.

  • Score: the success rate, the share of episodes the robot completes.

A second simulator

From stage 2. Each submission also runs in a second simulator, with a Franka arm.

  • Score: a graded score, the share of each task the robot completes.

The stages

  • Stage 1 starts when submissions open and ends at 23:59 UTC on the mid-season date. Each submission runs in MolmoSpaces. Its Total is the MolmoSpaces score.
  • Stage 2 opens after stage 1 ends and runs until the close. Each submission runs in both simulators. Its Total is the mean of the two scores.
  • When stage 2 opens, the board starts again and ranks stage-2 submissions only. The stage-1 board stays published.

The leaderboard

  • Submissions run in a queue, in the order they arrive. We score each one as soon as we can.
  • The board shows each team's best Total in the current stage. Your team sees the scores of all its submissions.
  • . The guide says what counts. The limit may change during the season, and we announce each change on the home page.
  • A retry with the same --transaction-key returns the same submission. A new key spends a submission.

Failed runs

These hold in simulation and in the finale.

  • If your policy crashes or does not answer a call in time, the episode counts as failed. A policy that stays too slow over many calls fails the whole submission.
  • If the simulator, the robot or our setup causes a fault, the episode runs again.
  • A submission that fails to start gets no score. It still counts toward your submission limit. If the fault is ours, we give the submission back.

Your submission

A Docker image that speaks our public API.

The image

  • A Docker image, public or private. For a private image, you give us a read-only credential for your registry.
  • We run the exact digest you submit.
  • No network at run time. Bake in every weight and package.
  • It runs within the limits below.
  • Test it before you submit: see Get started.

The policy API

  • Your server implements the Positronic policy API, defined in our public repository. The simulators and the real robot call it the same way. What your policy receives and returns: camera images, the robot state and the task in words; it answers with actions.
  • Your server declares its local stack: the processing that runs next to the robot before and after each call, such as action chunking or image resizing. We run that stack in our harness, from the public code. The policy design document explains how the parts fit together.
  • The time of the local stack counts as thinking time, like the call itself.
  • The same image runs in simulation and in the finale.

Time and resources

Thinking time counts.

The simulator clock keeps running while your policy computes, as it does for a real robot. We measure the full time of each inference call and add it to the episode. A slow policy acts late and has less time to finish the task. Every episode has a fixed time limit.

ResourceLimit

These competition limits replace the platform's default limits. Thinking time bounds each episode. Start-up is outside it, so start-up has its own limit: the warmup. The limits in this table are published before submissions open and do not change during the season. A container that goes over a limit fails, and the submission counts.

To stay within the compute budget, we may change the number of episodes per submission, the submission limit and the number of teams in the final re-run. We announce each change on the home page with its date.

Fair play

Build a better policy. Do not work around the test.

  • One person, one account, one team. If a person submits from more than one account, their whole team is disqualified.
  • Do not share code or models privately with other teams. Publishing them openly for everyone is fine.
  • Do not try to read or change the simulator, the scoring or other teams' data from your image.
  • Positronic runs every evaluation. No team scores itself.
  • Baselines are reference models. They take no rank and win no prize.

Finale

The top 10 run on a real robot.

Who goes

  • Submissions close at 23:59 UTC on the close date. A submission sent before then counts, even if its score arrives later.
  • Before the close, choose one of your stage-2 submissions as your final entry. It may still be in the queue. If you choose none, your best stage-2 submission is your final entry.
  • After the close, we run each team's final entry again, with TBD episodes. This run decides the finalists. The best baseline is run again in the same way, and a finalist must beat that run.
  • The 10 teams with the best Total in this run go to the finale, if their Total beats the best baseline by at least points. On a tie, the earlier submission ranks higher. If fewer than 10 teams qualify, all of them go.
  • If a finalist is disqualified or withdraws before the finale, the next team takes its place.
  • We copy the image of your final entry at the close and run that copy. You cannot change it after the close.

How it runs

  • Our DROID setup in Positronic's lab: a Franka Research 3 arm with a Robotiq gripper, and three ZED cameras, two outside the arm and one on the wrist. If we change the setup, we announce it with its date.
  • Every finalist gets the same tasks, the same number of runs and the same setup. The tasks are table-top manipulation tasks like the simulation tasks. They are not published before the finale.
  • The image gets the same limits as in simulation.
  • The finale score is the capped success rate: a run is a success only if the robot finishes the task within . On a tie, the better Total in the final simulation run ranks higher.
  • Every run is filmed. The scores and the videos are published with the results. Logs are shown only to your team.

Prizes

Who wins what.

PrizeCreditsTotal
  • 1st, 2nd and 3rd: the finale ranking.
  • Mid-season prize: at 23:59 UTC on the mid-season date, when stage 1 ends, we take the TBD teams with the best Total on the stage-1 board. We run each team's best submission again, with TBD episodes. The best Total in that run wins.
  • Open-source write-up prize: open to every team with a scored submission. Publish your code under an OSI-approved licence and a write-up of your method within 7 days after the close. The organizers choose the best one, by criteria published before submissions open (TBD).
  • How prizes are paid is in the terms.

These rules are a draft. The final rules are published before submissions open. We make every reasonable effort to keep the rules and the dates as published. We change them only to keep the competition fair, for example to close a loophole, and we announce each change on the home page with its date.