CoolFace
Datasetpublic

alfayoung/robomme_1cuben_fixedcup_split

robomme_1cuben_fixedcup_split (VideoUnmaskSwap1CubeN — fixed cups, disjoint split) A single red cube is hidden under one of three cups; the cups are shuffled a variable number of times (0..3) and the robot must pick the cup now hiding the cube. Prompt is color-free: "watch the video carefully, then pick up the container hiding the cube". Derived from robomme_1cuben_allcases, with two changes for a clean generalization study: 1. Fixed cup locations. Cup-pose perturbation is… See the full description on the dataset page: https://huggingface.co/datasets/alfayoung/robomme_1cuben_fixedcup_split.

sourceHugging Faceapache-2.0updated 2mo agoView on Hugging Face
0likes73downloads
Dataset Card

robomme1cubenfixedcup_split (VideoUnmaskSwap1CubeN — fixed cups, disjoint split)

A single red cube is hidden under one of three cups; the cups are shuffled a variable number of times (0..3) and the robot must pick the cup now hiding the cube. Prompt is color-free: "watch the video carefully, then pick up the container hiding the cube".

Derived from `robomme_1cuben_allcases`, with two changes for a clean generalization study:

1. Fixed cup locations. Cup-pose perturbation is removed (no_cup_perturb): the three cups sit at their exact nominal lanes (x=0, y ∈ {-0.25, 0, +0.25}) in every episode, so the only variation across episodes is the discrete swap trajectory — the layout confound is removed.

2. Train/test disjoint in state transitions. The 120 unique discrete cases (3 hide positions × every swap-pair sequence of length 0..3) are split 96 train / 24 test by a seeded shuffle (seed 0). Every swap-pair, sequence length, and hide position still appears in training; only the specific full (hide, swap-sequence) combinations are held out — a compositional-novelty split. Each kept case is drawn 3× from recovery mode {none, z, xy} (weights 0.7 / 0.15 / 0.15; ~30% contain a deliberate failed grasp + recovery).

This repo is the TRAIN split: 288 episodes (89119 frames). The held-out 72-episode test split (the 24 disjoint cases) is listed in record_dataset_VideoUnmaskSwap1CubeN_test_metadata.json and shipped in the RoboMME benchmark (env_metadata/test, task index 17); it is re-simulated at eval time with the same fixed cups.

The three samples of a case share an identical initial scene but are three distinct demonstrations — the oracle planner's path (and, when present, the recovery grasp) differ.

Format

Standard LeRobot v2.1 layout (Franka Panda, 10 fps). Action = 8-dim absolute joint position (pd_joint_pos: 7 arm joint angles in radians + 1 gripper open/close). state is the matching 8-dim joint observation. Precomputed VAE latents are not included (they are model-specific; regenerate with the RoboMME latent-precompute step).

Split metadata (at repo root)

  • —record_dataset_VideoUnmaskSwap1CubeN_train_metadata.json — the 288 train records (case, seed, hide_idx, swap_pairs, n_swaps, recovery_mode, no_cup_perturb).
  • —record_dataset_VideoUnmaskSwap1CubeN_test_metadata.json — the 72 held-out test records.