CoolFace
Datasetpublic

deformable-bench/grasp_bag_strap_dr_v1

grasp_bag_strap_dr_v1 Bimanual grasp-the-strap-and-lift on a deformable non-woven bag, collected in simulation (Newton SolverStyle3D cloth + SolverMuJoCo robot co-simulation, Omniverse Kit rendering). Two randomisation axes vary per episode: the bag appearance (10 texture variants of one mother asset) and the strap stretch/shear stiffness. Everything else is held fixed. Contents Episodes / frames 200 / 83,566 FPS 25 Cameras static_cam… See the full description on the dataset page: https://huggingface.co/datasets/deformable-bench/grasp_bag_strap_dr_v1.

sourceHugging Faceapache-2.0updated 4d agoView on Hugging Face
0likes444downloads
Dataset Card

graspbagstrapdrv1

Bimanual grasp-the-strap-and-lift on a deformable non-woven bag, collected in simulation (Newton SolverStyle3D cloth + SolverMuJoCo robot co-simulation, Omniverse Kit rendering).

Two randomisation axes vary per episode: the bag appearance (10 texture variants of one mother asset) and the strap stretch/shear stiffness. Everything else is held fixed.

Contents

Episodes / frames200 / 83,566
FPS25
Camerasstatic_cam, left_hand_cam, right_hand_cam, 1280x720, h264
Action / state14-D (dual Piper arms, 6 joints + gripper each)
Instructiongrasp the strap of the bag and lift it
FormatLeRobot v3.0

Randomisation

Strap stiffness — sampled once per episode, constant over the trajectory: value = exp(U(ln 300, ln 8000)) (log-uniform, N/m). It replaces tri_aniso_ke on the 3,588 of 40,682 triangles whose three vertices all lie in the left_strap / right_strap vertex sets; both straps share the value. The bag body stays at 8,000 and bending at 1e-5. Saved episodes span 302 - 7,957.

Appearance — one of 10 texture variants per episode (beige-dense-weave, caramel-leather-visual-proxy, fine-sand-stripe, herb-crest-screen-print, mist-blue-navy, oatmeal-charcoal, open-trail-screen-print, sage-fine-check, soft-terracotta-burgundy, warm-ivory-olive), 18-23 episodes each. All variants share the mother asset's geometry (20,274 vertices / 40,682 faces) and physical metadata, so appearance is a pure render-side change.

Pose — bag at x 0.43 +/- 0.03 m, y +/- 0.02 m, yaw +/- 15 deg; robot initial-pose noise 0.5. Lighting and table texture randomisation are off.

Per-episode metadata

meta/episodes/**/*.parquet carries, in addition to the LeRobot columns:

  • —synreal/attempt_id - collection attempt index (not equal to episode_index: failed attempts are not saved)
  • —synreal/seed - collection seed (43)
  • —synreal/parameters - JSON with region_stretch_stiff, body_stretch_stiff, bend_stiff, appearance_asset, cloth_base_pos, cloth_rot_z_deg, contact and gripper settings
  • —synreal/metrics - JSON with the lift-time strap heights and pinch distances
  • —synreal/success - always true for saved episodes

Per-episode RNG is default_rng([seed, attempt_id]), so every episode is reproducible from those two numbers. asset_schedule_s{0..3}.json record the appearance assigned to each attempt id.

Collection

Collected in four parallel shards on one 4-GPU machine, with disjoint attempt-id ranges (0-, 10000-, 20000-, 30000-), 50 saved episodes each; 19 attempts failed and were dropped. Because stiffness is sampled before the outcome is known, the saved stiffness distribution is conditioned on success and is therefore not exactly log-uniform; the unconditioned samples live in the collection run's attempt records, not in this dataset.

Success requires the bag centre of mass to rise above 30 mm with both strap tips and midpoints above 350 mm and both gripper pinch distances under 20 mm. Control is position-servoed (PD) with the stopface_h contact recipe.