CoolFace
Datasetpublic

cloudwalk-research/gr00t-g1-grab-bottle-right-hand-v11

Grab-Bottle (right hand) - v11 (Break Down + Speed Up: v1 wandering detection then DP resampling) LeRobot v2.1 dataset for the Unitree G1 right-hand bottle-grab task. Combines the v1 wandering-detection method ("Break Down") with DP frame resampling ("Speed Up") on the merge of the two source teleoperation sets. Break Down runs first to remove wandering blocks and split into sub-segments; DP resampling is then applied independently to each sub-segment using a dynamic per-frame… See the full description on the dataset page: https://huggingface.co/datasets/cloudwalk-research/gr00t-g1-grab-bottle-right-hand-v11.

sourceHugging Faceapache-2.0updated 3mo agoView on Hugging Face
0likes250downloads
Dataset Card

Grab-Bottle (right hand) - v11 (Break Down + Speed Up: v1 wandering detection then DP resampling)

LeRobot v2.1 dataset for the Unitree G1 right-hand bottle-grab task. Combines the v1 wandering-detection method ("Break Down") with DP frame resampling ("Speed Up") on the merge of the two source teleoperation sets. Break Down runs first to remove wandering blocks and split into sub-segments; DP resampling is then applied independently to each sub-segment using a dynamic per-frame target that scales down near the goal (d_ref = 100 mm), keeping denser coverage for the fine approach motion.

This is the family's "merged set curated like v2 + speedup" dataset — the Break Down + Speed Up combination on the 105+115 merge. Its direct sibling is v10 (Break Down only, no speedup), so the v10↔v11 pair isolates the speedup effect given a fixed Break Down pass.

metricvalue
source datasets105ep-v1 (DS1, 105 ep) + worst-positions-115ep-v3 (DS2, 115 ep)
output episodes355 (DS1 196 + DS2 139 + DS2 as-is 20)
total frames87,148
training samples (40-action chunks)~73,303
fps50
action horizon40 frames

Quick facts

Episodes355
Frames87,148 @ 50 fps
FormatLeRobot v2.1
Cameraego_view 640×480 (head), H.264 yuv420p, no audio
RobotUnitree G1 (29-DoF body) + Inspire FTP hands (7-DoF/hand: 6 finger joints + 1 grip pad, via InspireFTPGripMapper)
Task instruction"grab the bottle" (single task, RIGHT hand)
State dim43 (observation.state)
Actionaction.motion_token [64] (latent) + action.wbc [43] whole-body
Mean episode length~4.9 s (~246 f)
Sources105ep-v1 (105 ep) + 115ep-v3 (115 ep)
Curationv1 wandering detection ("Break Down") + DP resampling ("Speed Up", 2 mm/frame dynamic target)
CollectionPICO 4 Ultra teleop (headset + 2 controllers, 3-pt VR) + 2 ankle trackers -> SMPL retargeting (CloudWalk Robotics Lab)
VisibilityPublic
LicenseApache-2.0

Collection setup

Same data collection as the 105-ep source set and the worst-positions 115-ep set — see those cards for the full setup. In brief:

  • —Robot: Unitree G1 (29-DoF body) + Inspire FTP hands (7-DoF/hand: 6 finger joints + 1 grip pad, via InspireFTPGripMapper)
  • —Whole-body controller: SONIC WBC
  • —Teleoperation: PICO 4 Ultra (headset + 2 controllers, 3-point VR tracking) + 2 ankle trackers -> SMPL retargeting
  • —Camera: Intel RealSense D435I on the G1 head; Hand control: grip buttons close the Inspire FTP right hand during the grasp
  • —Task prompt: the teleop demonstrations were collected under the task prompt "grab the bottle"; the same prompt is used to invoke the policy at inference (see the model cards' "Prompt conditioning" caveat).

Source datasets

DatasetEpisodes usedTreatment
105ep-v1 (DS1)all 105Break Down -> Speed Up
115ep-v3 (DS2)eps 0-94Break Down -> Speed Up
115ep-v3 (DS2)eps 95-114 (static)as-is (no curation)

DS2 episodes 95-114 are as-is (static / empty-scene episodes, ~5 cm wrist travel, no curation applied).

gr00t-g1-grab-bottle-right-hand-105ep-v1  +  worst-positions-115ep-v3
  └─ curate_merge_v5.py  (v1 wandering detection: "Break Down")
       └─ gr00t-g1-grab-bottle-right-hand-v10  (371 ep)
       └─ (+ DP "Speed Up" on top)  →  gr00t-g1-grab-bottle-right-hand-v11  ← this dataset (355 ep)

Action and state layout

This is a GR00T + SONIC dataset, not a flat-joint-vector dataset. The policy action is emitted as a 64-D latent `motion_token` (decoded by the SONIC whole-body controller into whole-body joint commands) plus 7-D left/right hand-joint targets — it only produces motion through the SONIC WBC + ZMQ deploy pipeline, not on a bare G1.

FieldShapeMeaning
observation.state43leftleg 6 + rightleg 6 + waist 3 + leftarm 7 + lefthand 7 + rightarm 7 + righthand 7
action.wbc43whole-body joint targets (same layout as observation.state)
action.motion_token64latent action token decoded by the SONIC WBC
observation.eef_state14left/right wrist pos (3) + abs quat (4), x2
observation.images.ego_view480×640×3head camera (video)

See meta/info.json for the full feature schema, including teleop.* retargeting fields and observation.* base state.

Curation method - Break Down + Speed Up

Break Down (v1 wandering detection)

The right-wrist distance-to-goal curve is computed (wrist position vs the goal wrist position at the grasp). Rising segments — where the wrist moves away from the goal (back-and-forth "wandering" / dithering) — are detected and removed. Each remaining contiguous sub-segment becomes its own episode, so no GR00T action chunk (40 frames) spans a cut.

ParamValueMeaning
rise_thresh24.0 mm/swrist-velocity threshold for "rising" (wandering) detection
smooth_radius7 framessmoothing window (window = 15)
min_segment4 framesminimum kept sub-segment length
margin20 framesexplicit margin around cuts
min_gap0minimum gap between kept segments
safe_frames0frames preserved near the grasp
grasp_frac0.95fraction of the episode marking the grasp moment
min_window40 framesminimum window length (= action horizon)

Speed Up (DP resampling, per sub-segment)

DP resampling is applied independently to each Break Down sub-segment. The per-frame target is dynamic: it scales down near the goal so the fine approach motion is kept at higher density than the fast reaching segments.

Cost function: Σ (arc_gap − target)², with target = target_base × min(1, d/d_ref) where d is the remaining distance to the goal.

ParamValueMeaning
target2.0 mm/framebase wrist-travel target between kept frames
max_K40 framesmax frame-gap cap (= action horizon)
d_ref100 mmdistance over which the target ramps from 0 up to target (denser near the goal)

What this dataset is - and is not

  • —Is: the family's "merged set curated like v2 + speedup" dataset — Break Down (v1 wandering detection) + DP Speed Up on the 105+115 merge → 355 episodes. It pairs with v10 (Break Down only) to isolate the speedup effect given a fixed Break Down pass.
  • —Is not: Break Down only. Use v10 for the Break Down pass without DP resampling.
  • —Is not: a raw-merge speedup set. Unlike speedup-3mm-v1 (which resamples the raw 105+115 merge without prior wandering removal), v11 first removes wandering (Break Down) and then resamples — a different branch.
  • —Is not: the un-segmented source sets. Use the 105-ep / 115-ep sources for the raw distribution.
  • —Right-hand only, single camera, single task — see caveats below.

How to download

python
from huggingface_hub import snapshot_download

snapshot_download(
    repo_id="cloudwalk-research/gr00t-g1-grab-bottle-right-hand-v11",
    repo_type="dataset",
    local_dir="data/real/gr00t-g1-grab-bottle-right-hand-v11",
)

How to load

python
from lerobot.common.datasets.lerobot_dataset import LeRobotDataset

ds = LeRobotDataset(
    "gr00t-g1-grab-bottle-right-hand-v11",
    repo_id="cloudwalk-research/gr00t-g1-grab-bottle-right-hand-v11",
)
print(ds.num_episodes, ds.num_frames, ds.fps)

How to use for fine-tuning & inference

This set is intended for a future GR00T N1.7 fine-tune (Break Down + Speed Up curation on the merged set). Fine-tuning runs on NVIDIA B200 GPUs with the Isaac-GR00T stack. See the family model cards for the exact hyperparameters and the SONIC WBC deploy pipeline.

To run a resulting policy in inference (policy server), from an Isaac-GR00T environment:

bash
python -m gr00t.eval.run_gr00t_server \
    --model-path <checkpoint-dir> \
    --embodiment-tag UNITREE_G1_SONIC \
    --device cuda:0 --host 0.0.0.0 --port 5550

The server must be launched with the same UNITREE_G1_SONIC embodiment tag used in training. Closed-loop control of the G1 is driven by the SONIC WBC in GR00T-WholeBodyControl; see the NVlabs VLA inference tutorial.

Caveats

  1. 1.Right-hand-only, single task, single camera. Only the head ego_view was recorded — no wrist cameras. Left-hand and locomotion dims reflect the largely stationary demonstrations.
  2. 2.Break Down + Speed Up. v11 stacks DP Speed Up on top of the Break Down pass; the v10 variant is Break Down only — the v10↔v11 pair isolates the speedup effect given a fixed Break Down pass.
  3. 3.Static episodes kept as-is. DS2 eps 95-114 (empty scenes, ~5 cm wrist travel) are included un-curated; they are not DP-resampled.
  4. 4.No fine-tune yet. A GR00T N1.7 fine-tune on this set is pending; no checkpoints published.
  5. 5.Deployment needs the SONIC stack. Actions are motion_token + hand joints for the UNITREE_G1_SONIC embodiment; they only produce motion through the SONIC WBC + ZMQ deploy pipeline, not on a bare G1.

Lineage

This set is the Break Down + Speed Up member of the family on the merged set — the "merged set curated like v2 + speedup" dataset. Its direct sibling is v10 (Break Down only on the same merged sources). The full family:

DatasetDerived fromEpisodesFramesNotes
105ep-v1- (source)10570,680Base teleoperation set -> v1 fine-tune
worst-positions-empty-115ep-v3- (source)11578,621Worst-positions + 20 empty-scene episodes (eps 95-114, no bottle/no movement)
right-hand-v2105ep-v121062,772Distance-to-goal wandering removal -> v2 fine-tune (production champion, 10/12)
zero-wandering-smooth-radius-5105ep-v141748,577Zero-wandering r=5 (most aggressive) -> v4 fine-tune (6/12)
zero-wandering-smooth-radius-10105ep-v137149,578Zero-wandering r=10 (experiment, no fine-tune)
zero-wandering-smooth-radius-15105ep-v134250,634Zero-wandering r=15 (experiment, no fine-tune)
zero-wandering-smooth-radius-20105ep-v131450,496Zero-wandering r=20 (least aggressive) -> v5 fine-tune (9/12)
radius-20-merged105ep-v1 + 115ep-v3502120,017Both sources, zero-wandering r=20, grasp-frame preservation -> v6 fine-tune (8/12)
speedup-3mm-v1105ep-v1 + 115ep-v322060,163DP resample 3mm/frame, NO segment removal -> v7 fine-tune (7/12)
speedup-3mm-cycle-removed-v1105ep-v1 + 115ep-v340547,944DP resample + cycle removal -> v8 fine-tune (1/12)
speedup-2mm-v3right-hand-v2 (curated)19332,786DP resample 2mm/frame on curated v2 -> v9 fine-tune (8/12, 0 non-converge)
v10105ep-v1 + 115ep-v3371138,546v1 wandering detection ("Break Down") on the merge; no speedup (no fine-tune yet)
v11 (this)105ep-v1 + 115ep-v335587,148Break Down + DP Speed Up (2mm, dynamic) on the merge (no fine-tune yet)

Attribution

Collected at the CloudWalk Robotics Lab (CW-RL) using PICO 4 Ultra teleoperation on the Unitree G1 with the SONIC whole-body controller, then curated with the v1 wandering-detection method ("Break Down") followed by DP speedup resampling ("Speed Up"). Stored in the LeRobot v2.1 format.

Citation

bibtex
@misc{cwrl_grab_bottle_v11_2026,
  title        = {GR00T G1 "grab the bottle" --- right-hand dataset curated with v1 wandering detection ("Break Down") + DP speedup ("Speed Up", 2 mm/frame dynamic) on the merged 105+115 set (355 episodes, SONIC WBC)},
  author       = {{CloudWalk Robotics Lab}},
  year         = {2026},
  howpublished = {Hugging Face dataset repository},
  url          = {https://huggingface.co/datasets/cloudwalk-research/gr00t-g1-grab-bottle-right-hand-v11}
}

@article{gr00t_n1_2025,
  title         = {{GR00T N1}: An Open Foundation Model for Generalist Humanoid Robots},
  author        = {{NVIDIA}},
  year          = {2025},
  eprint        = {2503.14734},
  archivePrefix = {arXiv},
  url           = {https://arxiv.org/abs/2503.14734}
}

@article{sonic_2025,
  title         = {{SONIC}: Whole-Body Controller for Humanoid Robot Teleoperation},
  year          = {2025},
  eprint        = {2511.07820},
  archivePrefix = {arXiv},
  url           = {https://arxiv.org/abs/2511.07820}
}

@software{lerobot2024,
  title  = {{LeRobot}: State-of-the-art Machine Learning for Real-World Robotics in {PyTorch}},
  author = {{Hugging Face}},
  url    = {https://github.com/huggingface/lerobot},
  year   = {2024}
}

License

Released under Apache-2.0 by CloudWalk Research. Demonstrations were collected on hardware owned by CloudWalk; the SONIC WBC and GR00T stacks retain their respective upstream licenses. Research preview — closed-loop deployment on a physical humanoid requires human oversight.