Damin3927/dynamic_robot_bench_dr_scripted_14k
dynamic_robot_bench_dr_scripted_14k 14,400 scripted-expert demonstrations across the 72 evaluated task families of dynamic-robot-bench — a conveyor-belt dynamic-manipulation benchmark (Franka Panda + wrist camera, ManiSkill 3 / SAPIEN GPU sim). One LeRobot v2.1 dataset: 200 episodes per family, success-filtered, every domain-randomization knob on, and belt speed uniform over 0.10–0.40 m/s. 1,118,617 frames · 209 distinct language instructions · 20 fps The belt speed… See the full description on the dataset page: https://huggingface.co/datasets/Damin3927/dynamic_robot_bench_dr_scripted_14k.
dynamicrobotbenchdrscripted_14k
14,400 scripted-expert demonstrations across the 72 evaluated task families of [dynamic-robot-bench](https://github.com/Damin3927/dynamic-robot-bench) — a conveyor-belt dynamic-manipulation benchmark (Franka Panda + wrist camera, ManiSkill 3 / SAPIEN GPU sim). One LeRobot v2.1 dataset: 200 episodes per family, success-filtered, every domain-randomization knob on, and belt speed uniform over 0.10–0.40 m/s.
1,118,617 frames · 209 distinct language instructions · 20 fps
The belt speed is uniform by construction, not by luck
The thing that makes this dataset different from a sweep is that the speed distribution is enforced. Collection stratifies the saved episodes over 10 equal-width bins of 0.030 m/s and holds an equal quota in each, discarding surplus successes rather than letting the success filter reshape the band — fast belts fail more often, so an unstratified success-filtered collection skews slow.
The equal counts are enforced, not observed. The collector retargets the draw at whichever bin is most deficient and discards surplus successes, so the counts are exact by construction and carry no information about how many attempts each bin cost. A goodness-of-fit statistic against an IID uniform null does not apply to them either — they have zero variance where an IID sample's would be multinomial — so none is quoted here. The table says the corpus is flat across the band; it does not say the collection was unbiased in any deeper sense.
Per-episode speeds are in meta/bench_episode_provenance.jsonl (14,400 rows), so this table can be recomputed from the files rather than believed.
Collection configuration
Identical for every family, from the recorded stamps:
Scene-background randomization (workspace tint, lighting intensity/colour/direction, independent per-camera eye jitter, clutter props) is drawn once per reconfigure and shared by the batch, which is why the resampling count above is the number of distinct backgrounds a family carries — not 200.
Layout
Standard LeRobot v2.1, plus two bench files:
meta/ranges.json— the family manifest: every family's episode range, frame count, and its own collection stamp. The stamp is per-family becausebench_collectiondescribes one collection run and this dataset is 72 of them; it is carried here rather than dropped.meta/bench_episode_provenance.jsonl— one row per episode:env_seed,belt_speed,belt_direction,object_id, the randomization snapshot, and the initial poses it was drawn into.gym_idnames the owning family.
Features: exterior_image_1_left (224×224, three world-fixed eyes tiled), wrist_image_left (224×224), joint_position (7), gripper_position (1), actions (8 = 7 target joint angles + gripper, DROID convention).
Families
What this data is not
- Successes only.
--filter-successkeeps episodes the scripted expert solved, so the corpus carries no failure modes. Anything learning a recovery behaviour needs data collected without it. - A scripted expert, not a human. Trajectories come from per-family analytic controllers with a bounded velocity SDE perturbing the per-step displacement budget; they are consistent in a way teleoperation is not.
- The evaluated families only. The benchmark registers 100 dynamic families; the 72 here are the ones that clear the suite's rate bar across the whole 0.10–0.40 m/s band under the shipped configuration. The rest are registered and importable but not maintained.
Asset attribution
The manipulated objects come from the sources below — mostly primitives built procedurally by this repository rather than scanned meshes. The dataset is released CC-BY-4.0, which is compatible with each source; attribution flows through to the original authors.
- Procedural (SAPIEN primitives built in this repository) — MIT, with the code (93 distinct objects, 6,190 episodes)
- YCB Object and Model Set — CC-BY 4.0 · https://www.ycbbenchmarks.com/ (6 distinct objects, 210 episodes)
The remaining 8,000 episodes are from families whose manipulated part is fixed, so they record no per-episode object identity. No Google Scanned Objects, RoboCasa or Poly Haven mesh appears in this dataset: the families that draw from those catalogs are the ones held out of the evaluated set.
Citation
The benchmark this was collected with is unpublished; cite the repository until a paper exists.
