Dynamic3D · Sort blocks¶
Excluded from the benchmark
not among the hardest (robot_coding_bench 2026-10-04): GPT-6 Luna passed it in both modes
Greyed and last in the task list, left out of the benchmark's numbers; its demo and agent runs stay (excluded: in state/tasks/kinder.yml).
Agent runs
Each mode of this task runs once per run. Est. cost is tokens at list price (data/prices.yml), never a bill; see the KinDER runs for every task of a run.
Codex CLI 0.157–0.159 + GPT-6 Luna, reasoning medium (OpenRouter)default run
| Trial | Started | Agent time | Model requests | Tokens in / out | Est. cost | Grade |
|---|---|---|---|---|---|---|
| U✓ 43m | 09-29 15:04 | 43m | — | 10.3M / 137k | $0.192 | deterministic 1, grader_error 0, missing_trajectory 0, n_actions 1000, video_rendered 1 |
| L✗ 1h 00m | 10-01 14:54 | 1h 00m | — | 20.1M / 183k | $0.340 | deterministic 1, grader_error 0, live_success 0, missing_log 0, n_actions 723, replay_success 0, video_rendered 1 |
1 other run(s) of KinDER
Codex CLI 0.159.2 + GPT-6.1 Sol, reasoning medium (OpenRouter)
| Trial | Started | Agent time | Model requests | Tokens in / out | Est. cost | Billed | Grade |
|---|---|---|---|---|---|---|---|
| U✓ 7m | 10-01 05:56 | 7m | 36 | 1.3M / 11k | $0.348 | $0.375 | deterministic 1, grader_error 0, missing_trajectory 0, n_actions 979, video_rendered 1 |
| L✓ 10m | 10-01 02:51 | 10m | 44 | 1.7M / 16k | $0.450 | $0.481 | deterministic 1, grader_error 0, live_success 1, missing_log 0, n_actions 966, replay_success 1, video_rendered 1 |
Task instruction (upstream)
Sort the four small cubes clustered in the middle of the white table into the four open bins on it by colour: the dark-red cube into the red bin, the dark-green one into the green bin, the dark-blue one into the blue bin and the yellow one into the yellow bin. The task succeeds the moment every cube's centre is inside the bin of its own colour, at least 1 cm from each of its inner walls, at least 1 cm below its rim and at least 0.5 cm above its floor.

What KinDER states about this task
| Success criteria | 1. KinDER's own goal check (the environment's terminated) fires within the episode: at most 1000 control steps (100 s at 10 Hz); no partial credit2. unlimited: both fresh-process replays of the handed-in trajectory reach it and end in the same state 3. limited: the one episode reaches it (no reset in our runs); the service records the episode, and it replays to the same state |
| Env Id | kinder/SortClutteredBlocks3D-o4-sort_the_cluttered_blocks_into_bins-v0 |
| Robot | TidyBot++: holonomic base, Kinova Gen3 7-DoF arm, Robotiq 2F-85 gripper |
| Category | Dynamic3D (MuJoCo) |
| Instance | seed 0: the scene KinDER builds from it, pinned by its digest |
| Holding Still | does not reach the goal (checked by running an episode of zero actions) |
| Action Dim | 11 |
| Actions | base pos and yaw (3), arm joints (7), gripper pos (1); each base and joint delta at most 0.1 a step |
| State Dim | 157 |
| Limited Mode | base RGB and wrist RGB-D cameras (480×640), base odometry, the arm's joint angles and velocities, the fingers' position. Not where any object or the goal region is, not the goal check before the episode ends |
| Agent Budget | 3600 s of wall clock per mode |
From https://github.com/Princeton-Robot-Planning-and-Learning/kindergarden @ 5b2dbac, as defined in our task definitions @ 7d6a7a44.
Tags¶
Why this task is interesting¶
Four cubes sit 2 to 4 cm apart in a cluster, so grasping one disturbs its neighbours; the four bins are loose and slide or topple when an arm or a held cube touches them; and no single base position reaches every cube and bin. Four picks and places have to fit in 1000 steps.
Capability notes¶
Not yet written.
Oracle demo review¶
No demo.
Discussion¶
Both modes pass, limited mode in its sixth episode after three missed grasps led it to a vertical servoed descent. (@williamzhangNU)