Datasets
The AR4 behavioural-cloning datasets are stored in LeRobot v3.0 format (15 fps) in
Cloudflare R2, and each is registered as a versioned W&B artifact (type=dataset) on
aigeo/ar4 for lineage — a training run calls
use_artifact(...) on one, so every trained model traces back to the exact data it saw.
Dataset format (LeRobot v3.0)
LeRobot datasets use a standardized directory structure:
v3.0 concatenates many episodes into a few large files (per-chunk Parquet + per-camera
video) instead of one file per episode, which is why a 60-plus-episode set lands as only a
handful of R2 objects. Training must use a v3.0-compatible LeRobot (check_version_compatibility rejects a major
mismatch), so keep the concatenated-video layout.
The AR4 feature schema:
| Feature | Type | Shape | Description |
|---|---|---|---|
observation.state | float32 | (7,) | 6 joint positions (rad) + gripper (0–1) |
action | float32 | (7,) | 6 joint goals + gripper goal |
observation.images.wrist_camera | video | (3, 480, 640) | eye-in-hand camera (on the gripper) |
observation.images.scene_camera | video | (3, 480, 640) | fixed third-person camera |
Early single-camera datasets logged one image stream; the current two-camera datasets (the Furinno line and
…_single_v3/…_moveit_v4) log bothwrist_cameraandscene_camera.
The artifacts are references: the artifact records the R2 URI and provenance metadata
(episode/frame counts, size), not a second copy of the video blobs. The data itself lives in
R2 under datasets/<name>/.
Furinno shelf line (current)
These sets use the twin of the real Furinno product shelf, four destinations (top, middle, and the left and right bottom cubbies), two cameras, and a ground-truth sidecar. They are the corpus behind the corrective-data study in Impact of Training Data.
| Dataset | Episodes | Frames | Size | Role | W&B artifact |
|---|---|---|---|---|---|
ar4_pick_place_furinno_v10 | 105 | 49,087 | 334 MB | corrected DAgger: the same 16 harvested seeds as v9, but sampled uniformly across (shelf, source-zone, failure-class) buckets rather than in proportion to observed failures; the §6 arm that closed the regression (45% → 78%) | dataset |
ar4_pick_place_furinno_v9 | 104 | 45,300 | 310 MB | DAgger correction-only: expert recoveries seeded from 16 harvested policy-failure states (purple cube, 4 destinations); the §6 biased-seed DAgger arm | dataset |
ar4_pick_place_furinno_v8 | 133 | 67,034 | 458 MB | guessed perturbation-recovery: deliberate miss then corrective re-grasp (61 recovery episodes); the §6 v8 arm, with the miss recorded in the labels | dataset |
ar4_pick_place_furinno_v7 | 206 | 93,709 | 664 MB | single-object (purple) added volume; with v5 and the v6 purple slice it forms the 481-episode purple-all baseline (§5) | dataset |
ar4_pick_place_furinno_v6 | 233 | 119,628 | 858 MB | multi-object: six objects (hex and tri prism, teal/orange/purple blocks, red cylinder) across four destinations, 24 cells | dataset |
ar4_pick_place_furinno_v5 | 235 | 86,441 | 604 MB | single-object (purple cube), four destinations; the single-object corpus of §4 | dataset |
The current baseline model trains on purple-all, the 481-episode single-object corpus assembled from v5, v7, and the purple slice of v6, and reaches 78% atomic placement (5xu4mkno). Each corrective arm adds one dataset to that baseline: v8 the guessed perturbation-recovery episodes (62%), v9 the biased-seed DAgger corrections (45%), and v10 the same corrections reseeded uniformly (78%), which recovered the baseline. Why the first two fell below baseline, and how the reseed fixed v9, is the subject of Impact of Training Data §6.
Earlier tabletop / MoveIt datasets
The tabletop line predates the Furinno shelf. ar4_pick_place_moveit_v4 is the anti-shortcut
set that first broke the proprioceptive shortcut, and the …_single sets are the single-task
purple-cube corpora that preceded it.
| Dataset | Episodes | Frames | Size | Notes | W&B artifact |
|---|---|---|---|---|---|
ar4_pick_place_moveit_v4 | 206 | 87,155 | 603 MB | anti-shortcut campaign (AURA-749): trajectory variability, uniform cube coverage, 3 shelves, 2-camera, GT sidecar | dataset |
ar4_pick_place_moveit_single_v3 | 63 | 19,285 | 138 MB | single-task: purple cube → middle shelf, 2-camera | dataset |
ar4_pick_place_moveit_single_v2 | 97 | 38,577 | 261 MB | MoveIt-expert, single-task (v2) | dataset |
ar4_pick_place_moveit_single | 106 | 66,388 | 454 MB | MoveIt-expert, single-task (v1) | dataset |
ar4_pick_place_moveit | 75 | 47,649 | 334 MB | MoveIt-expert, multi-task | dataset |
ar4_pick_place | 20 | 9,472 | 31 MB | early pick-place (per-episode video layout) | dataset |
ar4_pick_place_moveit_v4 was generated to break the proprioceptive shortcut: per-episode
random hover height, recorded via-waypoints (75% of episodes), 0.76–1.35× pacing, uniform cube
coverage (16/16 pick-zone cells), and balanced shelves. Against v3, time-to-grasp CV rose to 20%
from 5% and nearest-neighbour-state future divergence to ×3.2 at 1 s and ×6.0 at 3 s (from
×1.7/×2.0), so the chunk label is ambiguous given joint state alone. It ships a ground-truth
sidecar (gt_sidecar.jsonl, index-aligned) with per-episode object start pose, grasp offset,
shelf target, and sampled variability, usable as labels for auxiliary grounding losses.
All twelve datasets above are registered as type=dataset artifacts on
aigeo/ar4, each recording its R2 URI and provenance so every
training run traces back through use_artifact(...) to the exact data it saw.
Fetching a dataset
Via W&B (records dataset → model lineage in a training run):
Via R2 (the actual blobs — the artifact is a pointer):
Registering a new dataset
After a data-generation run uploads a dataset to datasets/<name>/ in R2, register it as an
artifact so it shows up here and can be used for training with lineage: