Data
Five cameras watched a person move a vial with a leader arm. There are two training sets: the first 100 demonstrations, and 220 that keep 70 of those and add 150 recorded so the destination can only come from the command. Both sets and every robot recording are public on Hugging Face in the LeRobot format.
| 100 demonstrations | 220 demonstrations | |
|---|---|---|
| Recorded | 14 October 2026 | 70 of the 100, then 51 on 28 October and 99 on 3 November |
| How | Twenty runs of five, one destination per run | One layout recorded three times, to three different destinations |
| Moves | 32 moves, none inside one rack | 48 moves, 51 demonstrations inside one rack |
| Size | 100 episodes, 58,650 frames, 33 min | 220 episodes, 141,735 frames, 79 min |
| Trained | The October models | The November models (Plain Bagel, Mango Pudding) |
| On Hugging Face | vial-sort-slots-100 | vial-sort-slots-220 |
Five cameras
One instant of one demonstration, seen by each camera. All five are recorded at 30 frames a second.
Overhead top_downThe only high-angle view. It sees both racks, the bin and the arm at once, with no people in it.
Across the table left_topHigh, across the table. The operator is in view in every frame, on purpose: someone usually stands there during a rollout too.
Near eye level left_bottomNear table level, the colour stream of a RealSense camera. The vials look largest here and which holes hold a vial can be read.
From the side rightA wide view of the workspace from the other side. A person is in view some of the time.
On the gripper wristClose up, mounted on the gripper. The vial fills the frame during a grasp.
The 100 demonstrations
100 demonstrations, 58,650 frames, about 33 minutes. Each is one move: take the vial from one slot and put it in another slot or the bin. The set is sari-abdan/vial-sort-slots-100, and any episode can be watched in the browser.
Every move that was recorded
Rows are the slot the vial started in, columns where it was put, and each number is how many demonstrations there are of that move. Held-out slots are hatched: they were never recorded, so a model can be tested on them. Every cross-rack move between the other slots, and every slot to the bin, is there.
| Destination: left rack | right rack | bin | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Source | 1 | 2 (held out) | 3 | 4 (held out) | 5 (held out) | 6 | 1 | 2 (held out) | 3 | 4 (held out) | 5 (held out) | 6 | Σ | |
| L1 | 2 | 4 | 4 | 3 | 13 | |||||||||
| L2 (held out) | 0 | |||||||||||||
| L3 | 3 | 4 | 3 | 3 | 13 | |||||||||
| L4 | 2 | 4 | 4 | 3 | 13 | |||||||||
| L5 (held out) | 0 | |||||||||||||
| L6 | 3 | 3 | 4 | 3 | 13 | |||||||||
| R1 | 3 | 3 | 2 | 3 | 11 | |||||||||
| R2 (held out) | 0 | |||||||||||||
| R3 | 4 | 2 | 3 | 4 | 13 | |||||||||
| R4 | 4 | 2 | 3 | 3 | 12 | |||||||||
| R5 (held out) | 0 | |||||||||||||
| R6 | 4 | 3 | 2 | 3 | 12 | |||||||||
| Σ | 15 | 10 | 10 | 10 | 15 | 15 | 25 | 100 | ||||||
- Demonstrations of that move:
- 1
- 2
- 3
- 4 or more
- held out on purpose, never recorded
- same-rack move, not recorded
32 different moves; 75 go from one rack to the other and 25 to the bin. No move stays inside a rack. Slots 2 and 5 are never a source, and slots 2, 4 and 5 are never a destination (slot 4 is only ever a source).
The 220 demonstrations
220 demonstrations, 141,735 frames, about 79 minutes, the same five cameras. With the 100, every run of five had one destination and was recorded in one sitting, so the pictures gave the destination away and the models learned to read it there. In the 150 new demonstrations one layout is recorded three times in a row with three different destinations, so only the command can tell them apart. The set is sari-abdan/vial-sort-slots-220, and any episode can be watched in the browser.
Every move that was recorded
Laid out like the matrix above, now with moves inside one rack: 51 of the 220. The held-out slots are the same, and so is one gap: no demonstration goes from L1 to L6.
| Destination: left rack | right rack | bin | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Source | 1 | 2 (held out) | 3 | 4 (held out) | 5 (held out) | 6 | 1 | 2 (held out) | 3 | 4 (held out) | 5 (held out) | 6 | Σ | |
| L1 | 4 | 9 | 4 | 3 | 26 | |||||||||
| L2 (held out) | 0 | |||||||||||||
| L3 | 5 | 3 | 4 | 7 | 25 | |||||||||
| L4 | 4 | 7 | 5 | 4 | 26 | |||||||||
| L5 (held out) | 0 | |||||||||||||
| L6 | 6 | 4 | 4 | 4 | 24 | |||||||||
| R1 | 5 | 6 | 6 | 6 | 30 | |||||||||
| R2 (held out) | 0 | |||||||||||||
| R3 | 7 | 5 | 6 | 4 | 28 | |||||||||
| R4 | 9 | 4 | 3 | 7 | 31 | |||||||||
| R5 (held out) | 0 | |||||||||||||
| R6 | 6 | 8 | 4 | 6 | 30 | |||||||||
| Σ | 37 | 31 | 25 | 27 | 32 | 27 | 41 | 220 | ||||||
- Demonstrations of that move:
- 1
- 2
- 3
- 4 or more
- held out on purpose, never recorded
- same-rack move, not recorded
48 different moves; 41 go to the bin and 51 stay inside one rack. Every source slot has 24 to 31 demonstrations.
Where they come from
| Part | Recorded | Episodes | Frames | Also published alone |
|---|---|---|---|---|
| The first 70 of the 100 (runs 15 to 20 were too dark and were dropped) | 14 October | 70 | 44,322 | vial-sort-slots-100 |
| Three destinations per layout, first sitting | 28 Oct 2026 | 51 | 36,420 | vial-sort-contrast-51 |
| Three destinations per layout, second sitting, with the RealSense depth stream as well | 3 Nov 2026 | 99 | 60,993 | vial-sort-contrast-99-depth |
The training set leaves the depth stream out: the November models see the five colour cameras only. The across-the-table camera sits slightly differently in the first 70 than in the later 150, and it was knocked again on 4 November; see the note of 9 November.
How it was recorded
- One afternoon, 14 October: twenty runs of five demonstrations. Each run has one destination and was recorded in one sitting.
- For a rack destination the vial always starts in the other rack.
- Three vial colours, red, cyan and dark green. In 95 of the 100 scenes a second vial of the target’s colour stands on the source rack, so colour never identifies the vial to move; the 5 exceptions are the first run.
- The bin was moved to a new spot every ten demonstrations, with small nudges in between, and the first frame of every demonstration is saved so each spot is on record.
- The room got darker through the afternoon. The side cameras are almost black in demonstrations 75 to 99; the overhead camera stays readable.
- The arm is homed before every demonstration, and at the start the operator leans over the robot, so the person is in the wrist and across-the-table views.
- The wrist camera dropped off the bus three times (demonstrations 47, 53 and 60). Those three were recorded again.
Left and right
Left and right are read from the follower arm: the left rack is the rack to the left of the arm, which is the top rack in the overhead view, and the right rack is the bottom one. The bin sits between them. Slot 1 is the one nearest the arm. In August the left rack was the one on the left of the side camera.
How the commands were written
A command names the vial by its position and never by its colour: “Move the vial from position 3 of the right rack to slot 6 of the left rack.” Addressing the source slot keeps the instruction unambiguous even when two vials share a colour. Choosing which vial to move, the step from a colour to a position, is left to the person who types the command.
The recording tool takes one label per run, but the source changes in every demonstration of a run. So each run was recorded with its destination only. Afterwards one script read the recording sheet, which says which slot held the target and where it went, and rewrote every demonstration’s command once. The video was not touched and nothing was recorded again.
Each wording is one draw from independent pools: 6 verbs, 4 object nouns, 5 ways to say a slot, 4 ways to say a rack, 5 ways to say the bin and 4 sentence forms. Multiplied out that is 6 × 4 × (5 × 4) × (5 × 4) × 4 = 38,400, about 3.8 × 10⁴, wordings of one rack-to-rack move, and 9,600 for a move to the bin.
The draw is not random: the k-th demonstration of a move gets the k-th combination, so repeated demonstrations of one move are phrased differently. The result is 100 different wordings across 32 moves, with at most 4 wordings of any one move.
The wording pools
The same six colours mark the parts of the example wordings below.
| Part | Forms | Values |
|---|---|---|
| Verb | 6 | Move, Take, Transfer, Bring, Relocate, Carry |
| Object | 4 | the vial, the tube, the test tube, the sample tube |
| Slot | 5 | for slot 3: position 3, slot 3, the third slot, hole 3, spot 3 |
| Rack | 4 | the left rack, the rack on the left, the left-side rack, the left tube rack (and the same for the right) |
| Bin | 5 | the bin, the trash, the waste bin, the trash can, the rubbish bin |
| Sentence form | 4 | … from S to D; … in S to D; … from S over to D; … at S to / into D |
The recorded wordings of one move
The move R3 → L6 has 3 demonstrations. These are their commands, exactly as they are stored in the set:
- “Move the vial from position 3 of the right rack to slot 6 of the left rack.”
- “Take the vial in slot 3 of the right rack to the sixth slot of the left rack.”
- “Transfer the tube from the third slot of the rack on the right over to hole 6 of the left rack.”
Robot recordings
Autonomous sessions from October, one episode per rollout, uploaded with every camera the model saw. A rollout is one autonomous attempt at one command. The results score every session, including the ones not uploaded.
| Recording | Model | Uploaded | Rollouts | Minutes | Cameras recorded | |
|---|---|---|---|---|---|---|
| rollout_flux_010000_ema_20261007_130022 | – | 7 Oct 2026 | 5 | 1 | Overhead: not seenAcross the table: not seenNear eye level: not seenFrom the side: not seenOn the gripper: seen | watch |
| rollout_pi05_007000_20261016_123138 | – | 16 Oct 2026 | 5 | 4 | Overhead: seenAcross the table: seenNear eye level: seenFrom the side: seenOn the gripper: seen | watch |
| rollout_pi05_012000_20261019_132700 | – | 19 Oct 2026 | 5 | 3 | Overhead: seenAcross the table: seenNear eye level: seenFrom the side: seenOn the gripper: seen | watch |
| rollout_pi05_000500_20261019_181054 | – | 19 Oct 2026 | 10 | 7 | Overhead: seenAcross the table: seenNear eye level: seenFrom the side: seenOn the gripper: seen | watch |
| rollout_pi05_012000_20261021_152902 | – | 21 Oct 2026 | 5 | 4 | Overhead: seenAcross the table: seenNear eye level: seenFrom the side: seenOn the gripper: seen | watch |
| rollout_pi05_000250_20261019_171956 | Pretzel One | 23 Oct 2026 | 1 | 0 | Overhead: seenAcross the table: seenNear eye level: seenFrom the side: seenOn the gripper: seen | watch |
| rollout_pi05_000250_20261019_172115 | Pretzel One | 23 Oct 2026 | 3 | 1 | Overhead: seenAcross the table: seenNear eye level: seenFrom the side: seenOn the gripper: seen | watch |
| rollout_pi05_000500_20261019_184506 | Pretzel Two | 23 Oct 2026 | 1 | 1 | Overhead: seenAcross the table: seenNear eye level: seenFrom the side: seenOn the gripper: seen | watch |
| rollout_pi05_000500_20261019_184850 | Pretzel Two | 23 Oct 2026 | 1 | 0 | Overhead: seenAcross the table: seenNear eye level: seenFrom the side: seenOn the gripper: seen | watch |
| rollout_pi05_000500_20261019_185110 | Pretzel Two | 23 Oct 2026 | 4 | 2 | Overhead: seenAcross the table: seenNear eye level: seenFrom the side: seenOn the gripper: seen | watch |
| rollout_pi05_007000_20261016_122204 | Spicy Chicken | 23 Oct 2026 | 3 | 2 | Overhead: seenAcross the table: seenNear eye level: seenFrom the side: seenOn the gripper: seen | watch |
| rollout_pi05_009000_20261019_152150 | Spicy Chicken | 23 Oct 2026 | 3 | 2 | Overhead: seenAcross the table: seenNear eye level: seenFrom the side: seenOn the gripper: seen | watch |
| rollout_pi05_010000_20261021_152132 | Mango Rice | 23 Oct 2026 | 1 | 0 | Overhead: seenAcross the table: seenNear eye level: seenFrom the side: seenOn the gripper: seen | watch |
| rollout_pi05_010000_20261021_154053 | Mango Rice | 23 Oct 2026 | 2 | 2 | Overhead: seenAcross the table: seenNear eye level: seenFrom the side: seenOn the gripper: seen | watch |
| rollout_pi05_012000_20261019_130903 | Spicy Chicken | 23 Oct 2026 | 1 | 0 | Overhead: seenAcross the table: seenNear eye level: seenFrom the side: seenOn the gripper: seen | watch |
| rollout_pi05_012000_20261019_132219 | Spicy Chicken | 23 Oct 2026 | 2 | 2 | Overhead: seenAcross the table: seenNear eye level: seenFrom the side: seenOn the gripper: seen | watch |
| rollout_pi05_012000_20261019_145507 | Spicy Chicken | 23 Oct 2026 | 4 | 4 | Overhead: seenAcross the table: seenNear eye level: seenFrom the side: seenOn the gripper: seen | watch |
| rollout_pi05_012000_20261019_161834 | Spicy Chicken | 23 Oct 2026 | 1 | 0 | Overhead: seenAcross the table: seenNear eye level: seenFrom the side: seenOn the gripper: seen | watch |
| rollout_pi05_012000_20261019_162034 | Spicy Chicken | 23 Oct 2026 | 1 | 0 | Overhead: seenAcross the table: seenNear eye level: seenFrom the side: seenOn the gripper: seen | watch |
| rollout_pi05_012000_20261019_162401 | Spicy Chicken | 23 Oct 2026 | 1 | 1 | Overhead: seenAcross the table: seenNear eye level: seenFrom the side: seenOn the gripper: seen | watch |
| rollout_pi05_012000_20261021_151423 | Mango Rice | 23 Oct 2026 | 1 | 0 | Overhead: seenAcross the table: seenNear eye level: seenFrom the side: seenOn the gripper: seen | watch |
| rollout_pi05_012000_20261021_151614 | Mango Rice | 23 Oct 2026 | 1 | 0 | Overhead: seenAcross the table: seenNear eye level: seenFrom the side: seenOn the gripper: seen | watch |
| rollout_pi05_012000_20261021_151748 | Mango Rice | 23 Oct 2026 | 1 | 1 | Overhead: seenAcross the table: seenNear eye level: seenFrom the side: seenOn the gripper: seen | watch |
| rollout_flux_010000_20261016_121043 | Crispy Falafel | 23 Oct 2026 | 2 | 1 | Overhead: seenAcross the table: not seenNear eye level: not seenFrom the side: not seenOn the gripper: seen | watch |
| rollout_flux_010000_20261016_121628 | Crispy Falafel | 23 Oct 2026 | 1 | 0 | Overhead: seenAcross the table: not seenNear eye level: not seenFrom the side: not seenOn the gripper: seen | watch |
| rollout_flux_010000_20261016_121859 | Crispy Falafel | 23 Oct 2026 | 1 | 0 | Overhead: seenAcross the table: not seenNear eye level: not seenFrom the side: not seenOn the gripper: seen | watch |
| rollout_flux_010000_20261016_171857 | Crispy Falafel | 23 Oct 2026 | 2 | 1 | Overhead: seenAcross the table: not seenNear eye level: not seenFrom the side: not seenOn the gripper: seen | watch |
| rollout_flux_010000_20261016_172310 | Crispy Falafel | 23 Oct 2026 | 2 | 0 | Overhead: seenAcross the table: not seenNear eye level: not seenFrom the side: not seenOn the gripper: seen | watch |
| rollout_flux_010000_20261016_172502 | Crispy Falafel | 23 Oct 2026 | 1 | 0 | Overhead: seenAcross the table: not seenNear eye level: not seenFrom the side: not seenOn the gripper: seen | watch |
| rollout_flux_010000_ema_20261007_125223 | Sweet Corn | 23 Oct 2026 | 1 | 0 | Overhead: not seenAcross the table: not seenNear eye level: not seenFrom the side: not seenOn the gripper: seen | watch |
| rollout_flux_010000_ema_20261007_125402 | Sweet Corn | 23 Oct 2026 | 1 | 0 | Overhead: not seenAcross the table: not seenNear eye level: not seenFrom the side: not seenOn the gripper: seen | watch |
| rollout_flux_010000_ema_20261007_132958 | Sweet Corn | 23 Oct 2026 | 2 | 1 | Overhead: not seenAcross the table: not seenNear eye level: not seenFrom the side: not seenOn the gripper: seen | watch |
| rollout_flux_020000_20261019_152707 | Crispy Falafel | 23 Oct 2026 | 3 | 0 | Overhead: seenAcross the table: not seenNear eye level: not seenFrom the side: not seenOn the gripper: seen | watch |
| rollout_flux_026000_20261019_153054 | Crispy Falafel | 23 Oct 2026 | 1 | 0 | Overhead: seenAcross the table: not seenNear eye level: not seenFrom the side: not seenOn the gripper: seen | watch |
| rollout_flux_026000_ema_20261019_155347 | Crispy Falafel | 23 Oct 2026 | 1 | 1 | Overhead: seenAcross the table: not seenNear eye level: not seenFrom the side: not seenOn the gripper: seen | watch |
| rollout_flux_030000_20261019_124848 | Crispy Falafel | 23 Oct 2026 | 2 | 1 | Overhead: seenAcross the table: not seenNear eye level: not seenFrom the side: not seenOn the gripper: seen | watch |
| rollout_flux_030000_20261019_130542 | Crispy Falafel | 23 Oct 2026 | 2 | 1 | Overhead: seenAcross the table: not seenNear eye level: not seenFrom the side: not seenOn the gripper: seen | watch |
| rollout_flux_030000_ema_20261019_130024 | Crispy Falafel | 23 Oct 2026 | 3 | 1 | Overhead: seenAcross the table: not seenNear eye level: not seenFrom the side: not seenOn the gripper: seen | watch |
| rollout_pi05_004000_20261104_181333 | – | 4 Nov 2026 | 5 | 4 | Overhead: seenAcross the table: seenNear eye level: seenFrom the side: seenOn the gripper: seen | watch |
| rollout_pi05_004000_20261104_183519 | – | 4 Nov 2026 | 5 | 2 | Overhead: seenAcross the table: seenNear eye level: seenFrom the side: seenOn the gripper: seen | watch |
| rollout_pi05_004000_20261104_184657 | – | 4 Nov 2026 | 20 | 11 | Overhead: seenAcross the table: seenNear eye level: seenFrom the side: seenOn the gripper: seen | watch |
| rollout_pi05_004000_q37_20261104_194652 | – | 4 Nov 2026 | 10 | 6 | Overhead: seenAcross the table: seenNear eye level: seenFrom the side: seenOn the gripper: seen | watch |
| rollout_pi05_016000_20261108_235520 | – | 8 Nov 2026 | 5 | 2 | Overhead: seenAcross the table: seenNear eye level: seenFrom the side: seenOn the gripper: seen | watch |
| rollout_pi05_016000_20261109_000645 | – | 8 Nov 2026 | 25 | 13 | Overhead: seenAcross the table: seenNear eye level: seenFrom the side: seenOn the gripper: seen | watch |
| rollout_pi05_016000_20261109_005131 | – | 9 Nov 2026 | 35 | 14 | Overhead: seenAcross the table: seenNear eye level: seenFrom the side: seenOn the gripper: seen | watch |
| rollout_pi05_004000_20261104_181219 | Mango Lassi | 10 Nov 2026 | 7 | 5 | Overhead: seenAcross the table: seenNear eye level: seenFrom the side: seenOn the gripper: seen | watch |
| rollout_pi05_004000_20261104_182424 | Mango Lassi | 10 Nov 2026 | 2 | 0 | Overhead: seenAcross the table: seenNear eye level: seenFrom the side: seenOn the gripper: seen | watch |
| rollout_pi05_004000_20261104_182814 | Mango Lassi | 10 Nov 2026 | 1 | 0 | Overhead: seenAcross the table: seenNear eye level: seenFrom the side: seenOn the gripper: seen | watch |
| rollout_pi05_004000_20261104_182948 | Mango Lassi | 10 Nov 2026 | 1 | 0 | Overhead: seenAcross the table: seenNear eye level: seenFrom the side: seenOn the gripper: seen | watch |
| rollout_pi05_004000_20261104_183143 | Mango Lassi | 10 Nov 2026 | 1 | 0 | Overhead: seenAcross the table: seenNear eye level: seenFrom the side: seenOn the gripper: seen | watch |
| rollout_pi05_004000_20261104_183350 | Mango Lassi | 10 Nov 2026 | 5 | 2 | Overhead: seenAcross the table: seenNear eye level: seenFrom the side: seenOn the gripper: seen | watch |
| rollout_pi05_004000_20261104_184034 | Mango Lassi | 10 Nov 2026 | 2 | 1 | Overhead: seenAcross the table: seenNear eye level: seenFrom the side: seenOn the gripper: seen | watch |
| rollout_pi05_004000_20261104_184550 | Mango Lassi | 10 Nov 2026 | 21 | 12 | Overhead: seenAcross the table: seenNear eye level: seenFrom the side: seenOn the gripper: seen | watch |
| rollout_pi05_004000_q37_20261104_194544 | Mango Sorbet | 10 Nov 2026 | 11 | 6 | Overhead: seenAcross the table: seenNear eye level: seenFrom the side: seenOn the gripper: seen | watch |
| rollout_pi05_004000_q37g_20261104_201621 | Mango Chutney | 10 Nov 2026 | 4 | 2 | Overhead: seenAcross the table: seenNear eye level: seenFrom the side: seenOn the gripper: seen | watch |
| rollout_pi05_004000_q37g_20261104_233013 | Mango Chutney | 10 Nov 2026 | 3 | 2 | Overhead: seenAcross the table: seenNear eye level: seenFrom the side: seenOn the gripper: seen | watch |
| rollout_pi05_016000_20261108_235412 | Mango Pudding | 10 Nov 2026 | 8 | 4 | Overhead: seenAcross the table: seenNear eye level: seenFrom the side: seenOn the gripper: seen | watch |
| rollout_pi05_016000_20261109_000538 | Mango Pudding | 10 Nov 2026 | 29 | 14 | Overhead: seenAcross the table: seenNear eye level: seenFrom the side: seenOn the gripper: seen | watch |
| rollout_pi05_016000_20261109_005026 | Plain Bagel | 10 Nov 2026 | 37 | 14 | Overhead: seenAcross the table: seenNear eye level: seenFrom the side: seenOn the gripper: seen | watch |
Filled chips are the cameras stored in that recording. The August datasets, versions 1 to 5, are under previous work.