Views
No views yet
UNITREE_G1_SONIC embodiment. Released as a reference fine-tune for teams building manipulation policies on the GR00T + SONIC + MuJoCo/G1 stack.gr00t-g1-grab-bottle-right-hand-105ep-v1 (DS1, 105 ep) + …-worst-positions-empty-115ep-v3 (DS2, 115 ep) — first run through Break-Down wandering removal (rising segments of the distance-to-goal curve removed; each kept sub-segment becomes its own episode), then through a DP resampling ("Speed Up") applied independently per sub-segment with a dynamic per-frame target (2 mm/frame that scales down near the goal, d_ref 100 mm, so the fine approach motion stays dense). Result: 355 episodes (196 DS1 sub-segments + 139 DS2 sub-segments + 20 DS2 as-is) / 87,148 frames (~73,303 training samples). This makes v11 the direct sibling of v10 (Break Down only, no speedup): the v10↔v11 pair isolates the Speed-Up effect given a fixed Break-Down pass. The natural comparisons are v11 vs v10 (does DP speedup help already-Break-Down-curated data?) and v11 vs the v2 champion; secondarily v11 vs v9 (both use the same gentle 2 mm DP speedup, but v9 on the v2-curated data and v11 on the Break-Down-merged data).…-210ep-v2-finetune) — the current validated production champion (checkpoint-20000, 11/12) — v4 (radius-5), v5 (radius-20), v6 (merged radius-20), v7 (speedup-3mm raw), v8 (speedup-3mm + cycle-removed raw), v9 (speedup-2mm on curated), v10 (Break-Down merge) — all eval pending — and v1 (105ep).{checkpoint-10000, checkpoint-20000, checkpoint-30000, checkpoint-40000}, all four published here; wall-clock 2 h 12 min, W&B offline redacted). Closed-loop comparison against v10 (speed-up isolation) and the v2 champion is pending (see Evaluation).| Base | GR00T-N1.7-3B — Qwen3-VL vision-language backbone + flow-matching diffusion-transformer (DiT) action head |
| Parameters | 3.14 B total / 1.62 B trainable (51.5%) |
| Dataset | cloudwalk-research/gr00t-g1-grab-bottle-right-hand-v11 — 355 episodes, 87,148 frames @ 50 Hz (~73,303 training samples), 480×640 ego_view camera (no wrist cams); merged DS1 (105ep) + DS2 (115ep worst-positions), Break-Down v1-wandering curation then DP "Speed Up" (2 mm/frame dynamic target) |
| Robot target | Unitree G1 (29-DoF body) + Inspire FTP hands (7-DoF/hand) + SONIC whole-body controller |
| Embodiment tag | UNITREE_G1_SONIC (unitree_g1_sonic) |
| State space | 43-D (left_leg 6 + right_leg 6 + waist 3 + left_arm 7 + left_hand 7 + right_arm 7 + right_hand 7) |
| Action space | [40 × 78] = 40-step horizon × (64 motion_token + 7 left_hand_joints + 7 right_hand_joints) |
| Hardware | 6× NVIDIA B200 (sm_100 / Blackwell) |
| Mixed precision | bf16 |
| Optimizer | AdamW, lr 1e-4 cosine, warmup_ratio 0.05, weight_decay 1e-5 |
| Steps / batch | 40,000 / global batch 48 (8 per GPU × 6 GPUs); checkpoints saved every 10,000 → {checkpoint-10000, checkpoint-20000, checkpoint-30000, checkpoint-40000} |
| Epochs | 5.51 @ 10k / 11.02 @ 20k / 16.52 @ 30k / 22.03 @ 40k (1.92M frame-views ÷ 87,148 frames) |
| Augmentation | color jitter (brightness 0.3, contrast 0.4, saturation 0.5, hue 0.08) |
| Wall-clock | 2 h 12 min 21 s for 40k steps on 6× B200; ~5.3 it/s |
| Final train loss | per rung: 10k = 0.0698 · 20k = 0.0412 · 30k = 0.0240 · 40k = 0.0302 (per-step log; min 0.0144, mean 0.0649 over 4000 logged steps). No held-out split — a fit probe, not generalization. |
| W&B run | offline redacted (project g1_grab_bottle) |
checkpoint-10000/ # 10k steps (~5.5 ep)
checkpoint-20000/ # 20k steps (~11.0 ep) — under-side bracket of v2's sweet spot
checkpoint-30000/ # 30k steps (~16.5 ep) — over-side bracket, natural production candidate
checkpoint-40000/ # 40k steps (~22.0 ep) — most-trained rung (overfit-knee probe)
README.md # this fileAll four{checkpoint-10000, checkpoint-20000, checkpoint-30000, checkpoint-40000}are published so the closed-loop eval can pick the best one.{20k, 30k}bracket v2's validated ~15.3-epoch sweet spot (20k just under, 30k just over); 40k pushes to ~22 epochs to locate the overfit knee.
checkpoint-NNNNN/ is a self-contained, deploy-ready snapshot:model-00001-of-00002.safetensors + model-00002-of-00002.safetensors (~6.5 GB, bf16)model.safetensors.index.jsonconfig.jsonembodiment_id.json (contains unitree_g1_sonic)processor_config.jsonstatistics.json (dataset normalization stats)experiment_cfg/ (training config snapshot){20k, 30k} bracket it (11.0 ep just under, 16.5 ep just over) and 40k (22.0 ep) probes past it for the overfit knee. The production checkpoint is chosen by closed-loop comparison, not by training loss. There is no held-out split; train loss is a fit probe, not a generalization measure.checkpoint-{10000,20000,30000,40000} will be run closed-loop on the G1 + SONIC stack and compared against each other, the v2 checkpoint-20000 champion (11/12 across hand-placed bottle poses), and the v4–v10 lineage. The central questions are v11 vs v10 (does the DP "Speed Up" help data already curated by Break Down? — the v10↔v11 pair isolates the speedup at matched steps {10k,20k,30k}) and v11 vs v2. If neither rung matches or beats the v2 champion, v2 remains in production. (This section is updated with the verdict once the eval runs.)1from huggingface_hub import snapshot_download
2
3local = snapshot_download(
4 repo_id="cloudwalk-research/gr00t-n17-g1-grab-bottle-rh-355ep-v11-finetune",
5 repo_type="model",
6 allow_patterns=["checkpoint-30000/*"], # or checkpoint-10000/* / -20000/* / -40000/*
7)
8print(local)1python -m gr00t.eval.run_gr00t_server \
2 --model-path <local>/checkpoint-30000 \
3 --embodiment-tag UNITREE_G1_SONIC \
4 --device cuda:0 --host 0.0.0.0 --port 5550motion_token + hand-joint targets that the SONIC WBC decodes into whole-body joint commands. The server must be launched with the same UNITREE_G1_SONIC embodiment tag used in training. See the NVlabs VLA inference tutorial. This checkpoint is not plug-and-play on hardware — it requires the SONIC C++ deploy stack and the matching G1 setup.ego_view (head) camera was recorded — no wrist cameras.motion_token + hand joints for UNITREE_G1_SONIC; it only produces robot motion through the SONIC WBC + ZMQ deploy pipeline. It is not directly executable on a bare G1.{20k, 30k} bracket v2's ~15.3-epoch sweet spot; the eval — not the training loss — picks the rung, and 40k probes whether more epochs help or overfit.checkpoint-10000/-20000/-30000/-40000 are all published so the closed-loop eval can pick the best rung.NCCL_IB_DISABLE=1 NCCL_P2P_LEVEL=NVL (InfiniBand off, P2P over NVLink) and W&B in offline mode (synced post-run). These affect only the training run, not the weights.| Version | Dataset | Episodes | Frames | Epochs | Closed-loop | Notes |
|---|---|---|---|---|---|---|
| v1 | 105ep-v1 | 105 | 70,680 | 13.6 @20k | ✅ validated | First GR00T N1.7 + SONIC fine-tune at CW-RL; right-hand bottle pick. |
| v2 | right-hand-v2 | 210 | 62,772 | 15.3 @20k | ✅ validated (> v1) | Curated (windows split, bad segments removed). checkpoint-20000 = current production champion (11/12). |
| v4 | radius-5 | 417 | 48,577 | 19.8 @20k | ⏳ TBD | Zero-wandering, most aggressive curation (radius 5). |
| v5 | radius-20 | 314 | 50,496 | 19.0 @20k | ⏳ TBD | Zero-wandering, least aggressive curation (radius 20). |
| v6 | radius-20-merged | 502 | 120,017 | 8.0 @20k | ⏳ TBD | Merged (105-ep + 115-ep "worst-positions"), radius-20 with grasp-frame preservation. |
| v7 | speedup-3mm-v1 | 220 | 60,163 | 16.0 @20k | ⏳ TBD | DP speedup (wrist-Cartesian, 3 mm/frame) of the raw merged set; no segment removal — raw-branch baseline. |
| v8 | speedup-3mm-cycle-removed-v1 | 405 | 47,944 | 20.0 @20k | ⏳ TBD | DP speedup + segment removal on the raw merged set (the v7 follow-up). |
| v9 | speedup-2mm-v3 | 193 | 32,786 | 29.3 @20k | ⏳ TBD | Gentle 2 mm DP speedup on the curated (v2-lineage) data. Smallest set. Trained (loss 0.0308 @20k). |
| v10 | right-hand-v10 | 371 | 138,546 | 10.4 @30k | ⏳ TBD | Largest set — merged DS1+DS2, Break-Down v1-wandering only (no speedup). Trained (loss 0.0280 @30k). Speed-up-isolation sibling of v11. |
| v11 (this) | right-hand-v11 | 355 | 87,148 | 22.0 @40k | ⏳ TBD | Break-Down + Speed-Up (v10 merge, then DP 2 mm/frame dynamic resampling). Trained 2026-07-08 (30k=0.0240, 40k=0.0302, min 0.0144). 40k steps → {20k,30k} bracket v2's ~15.3 sweet spot, 40k probes the overfit knee. Compare vs v10 (speedup isolation) and the v2 champion. |
cloudwalk-research/gr00t-g1-grab-bottle-right-hand-v11 (CloudWalk Research, 2026), PICO 4 Ultra teleoperation on the Unitree G1 with SONIC WBC; merged DS1 (105ep) + DS2 (115ep worst-positions), Break-Down v1-wandering curation + DP "Speed Up" (2 mm/frame dynamic target).nvidia/GR00T-N1.7-3B using Isaac-GR00T; targets the Unitree G1 with the SONIC whole-body controller.1@misc{cwrl_gr00t_grab_bottle_v11_2026,
2 title = {GR00T N1.7 Fine-Tune v11 --- Unitree G1 "grab the bottle" (right hand, SONIC WBC, Break-Down + Speed-Up merge, 40k steps)},
3 author = {{CloudWalk Robotics Lab}},
4 year = {2026},
5 howpublished = {Hugging Face model repository},
6 url = {https://huggingface.co/cloudwalk-research/gr00t-n17-g1-grab-bottle-rh-355ep-v11-finetune}
7}nvidia/GR00T-N1.7-3B — see the license terms. This is a research preview: not intended for safety-critical use; closed-loop deployment on a physical humanoid requires human oversight.