How submissions to the RoboEval Diagnostic Bimanual Challenge are run, measured, and ranked — and what participants are and are not permitted to do.
Protocol status
The protocol below is final. Episode counts, evaluation seeds, step budgets, and the scoring formula
are fixed in the corl2026-challenge release; if this page and the
release ever disagree, the release is authoritative.
Every submission is evaluated on all 8 task families, each on its combined position + orientation variant. There is no task selection: a policy that is excellent on two families and absent on six will rank poorly. Each task–variation pair is run for a fixed number of independent episodes with fixed evaluation seeds.
| Task families | 8 (all mandatory) |
|---|---|
| Variations | Position + orientation (PR) of each family; 8 in total, all mandatory |
| Episodes per variation | 50 — identical for every submission |
| Evaluation seeds | 1000–1049 — a fixed list built into the evaluator |
| Episode termination | On task success, on the task's failure condition, on the step budget, or on an unrecoverable simulator state |
| Step budget | Simulated seconds per family, independent of control frequency: Lift Pot 10, Lift Tray 10, Pick Book From Table 15, Stack Two Cubes 20, Cube Handover 20, Pack Box 20, Rotate Valve 20, Stack Single Book Shelf 40. About 1.5× the slowest variation's 95th-percentile human demonstration. |
| Control frequency | Fixed at 20 Hz for every submission, matching the released dataset. Collision and slip counts and jerk depend on the control rate, so a common rate keeps them comparable. |
| Action modes | Joint positions or end-effector poses, absolute or delta. Every mode is held to the same joint speed limit (2.175 rad/s), so no mode can move the arms faster than another. |
| Simulator | MuJoCo, bimanual Franka Panda, as pinned in the challenge release tag |
Evaluation seeds control initial object poses within each variation's distribution. They are published, not secret — the challenge tests spatial generalization, not seed guessing. Overfitting to the published evaluation seeds is nonetheless a rules violation (see Rules), and organizers re-run leading submissions on a held-out seed set to confirm results hold.
Held-out verification
Top-ranked entries are re-evaluated by the organizers on an unpublished seed set drawn from the same variation distributions. A submission whose held-out performance departs substantially from its reported numbers is investigated before any award is confirmed.
Each task decomposes into ordered, skill-specific stages — for example Stack Single Book Shelf runs push → grasp → lift → place. The evaluator records which stages each episode completed, which produces Task Progression and localizes failures. An episode that grasps correctly but never places is scored differently from one that never made contact, even though both have a success of 0.
Fourteen metrics across four families. ↑ means higher is better, ↓ means lower is better. All are computed by the RoboEval evaluation harness and reported per task, per variation, as mean and standard deviation over episodes.
| Metric | Key | Dir. | Unit | Definition |
|---|---|---|---|---|
| Outcome | ||||
| Success | success | ↑ | fraction | Whether the episode reached the task goal. Binary per episode, averaged over episodes. |
| Task Progression | tp | ↑ | fraction | Fraction of the task's stages completed. Partial credit for partial execution. |
| Efficiency | ||||
| Cartesian Path Length | cpl | ↓ | m | Total 3D distance travelled by the end-effectors over the episode, summed over both arms. |
| Joint Path Length | jpl | ↓ | rad | Joint-space distance moved (per-step norm of the joint displacement), summed over the episode and both arms. |
| Orientation Path Length | opl | ↓ | rad | Cumulative end-effector rotation angle over the episode, summed over both arms. |
| Completion Time | ct | ↓ | s | Simulated time until termination: control steps divided by the control frequency. Host wall-clock time is not used, so hardware speed does not affect it. |
| Trajectory Length | tl | ↓ | steps | Number of control steps executed before termination. |
| Bimanual Coordination | ||||
| Bimanual Arm Velocity Difference | bavd | ↓ | rad/s | Mean absolute difference between the two arms' joint-speed magnitudes (norm of the joint velocities). Low values indicate the arms move as a coordinated pair rather than sequentially. |
| Bimanual Gripper Vertical Difference | bgvd | ↓ | m | Mean absolute height offset between the two wrists. Matters most for tightly symmetric tasks such as Lift Tray and Lift Pot, where a tilted carry drops the payload. |
| Safety & Stability | ||||
| Self Collision Count | scc | ↓ | count | Number of new contacts between the robot's own links, including arm-to-arm contacts, sampled every 20 control steps. |
| Environment Collision Count | ecc | ↓ | count | Number of new contacts between the robot and scene geometry other than the manipulated objects, sampled every 20 control steps. |
| Slip Count | sc | ↓ | count | Number of times a grasped object is lost while the gripper is not opening, sampled every 20 control steps. |
| Mean Joint Jerk | mjj | ↓ | rad/s³ | Mean magnitude of joint jerk (finite differences at the control rate), over both arms — smoothness of the executed motion. |
| Mean Cartesian Jerk | mcj | ↓ | m/s³ | Mean magnitude of end-effector jerk in 3D (finite differences at the control rate), over both arms. |
Behavioral metrics are gated by outcome
Behavioral metrics are computed over the whole episode, so a policy that does nothing has excellent path length and zero collisions. The score therefore weights behavior by outcome (see Ranking): standing still scores 0.
The leaderboard ranks submissions by the RoboEval Diagnostic Score (RDS), a number
between 0 and 1 that combines outcome with how well the policy behaved. It is computed per task from the
task's mean metrics and then averaged over the 8 tasks with equal weight. The evaluator prints it, and
results.json contains it, so you can see your score before submitting.
| Outcome | 40% — outcome score = 0.7 × Success + 0.3 × Task Progression |
|---|---|
| Safety & Stability | 30% — SCC, ECC, SC, MJJ, MCJ |
| Efficiency | 20% — CPL, JPL, OPL, CT (TL is CT × 20 at the fixed rate and is not counted again) |
| Bimanual Coordination | 10% — BAVD, BGVD |
Raw metric values are not comparable across tasks — Stack Single Book Shelf trajectories are
three times longer than Lift Pot trajectories. Each behavioral metric is therefore scored against a
human reference: the median of that metric over the human demonstrations of the same
task in the training dataset (roboeval_ee_delta_20hz_scaled) that
succeed when replayed under the challenge rules (20 Hz, same step budget, stopping at success). A
value at or better than the reference scores 1. A worse value v against reference r
scores (r + c) / (v + c), about 0.5 at twice
the reference, where c is 10% of the reference (at least one event for collision and slip counts). A
family's score is the mean of its metrics' scores. The references ship with the release in
roboeval/challenge/human_reference.json.
For each task, with outcome score O and family scores S (safety), E (efficiency) and C (coordination):
task score = 0.4 × O + O × (0.3 × S + 0.2 × E + 0.1 × C)
Behavior counts in proportion to outcome. A policy that does nothing has spotless path lengths and no collisions but scores 0; one that always succeeds with human-level behavior scores 1.
Ties on RDS are broken in order by: (1) mean Success, (2) mean Task Progression, (3) Safety & Stability family score, (4) earlier submission timestamp.
Alongside the overall ranking, the portal shows the RDS for each task and views by metric family, and can filter entries by observation mode (camera-based or proprioception-only) and action mode. Prizes follow the overall ranking only; per-task boards are the intended reference for papers reporting on a subset of RoboEval.
metadata.yaml. Evaluation is not real-time, so inference speed does
not affect scores.results.json by hand.Disqualification
Submissions that violate these rules are removed from the leaderboard. Where a violation appears accidental, organizers contact the team first and allow a corrected resubmission before the deadline. Deliberate circumvention of the evaluation protocol is disqualifying for the full challenge.
Each team may submit up to 2 entries per day (UTC); submissions rejected by the automated checks do not count. The most recent valid submission is the one ranked; earlier entries remain visible in the team's history. There is no limit on running the evaluation harness locally.
Every submission must be reproducible by the organizers from the artifacts provided. Concretely:
policy_seed in metadata.yaml.Full artifact requirements are specified on the Submission Format page.
RoboEval — the benchmark, assets, and demonstration data — is released under the MIT License. You retain full ownership of your policy, code, and checkpoints. Submitting grants the organizers permission to run your submission for evaluation and to publish the resulting metrics, your team name, and your method description on the leaderboard and in any workshop report summarizing the challenge.
Releasing your code and checkpoints is encouraged and qualifies for the open-source award, but is not required to compete.
All participants are expected to follow the CoRL 2026 code of conduct. Report concerns to the track organizers at yiruwang@cs.washington.edu.