Robotics
Safetensors
English
gr00t
gr00t-n1.7
vla
vision-language-action
humanoid
imitation-learning
diffusion-policy
unitree-g1
inspire-ftp
sonic-wbc
falconjv commited on
Commit
1caaff4
Β·
1 Parent(s): a83c5de

eval: publish closed-loop 12-position grid results + photo (checkpoint-20000)

Browse files

Real-G1 closed-loop eval: bottle placed at 12 fixed positions on one table half-side
(same grid used for data collection), 1 trial/position, plus 5-trial fixed positions
where collected. Legend: red=knocked over, orange=indecision loop, green=success.

Results: 🟩 Success | 8/12 | 67%.
Adds the eval photo (eval_12_positions_20k.png), the procedure, the results table,
and a data-driven conclusion. Lineage table Closed-loop column now carries each
model's grid verdict; v2 champion updated 11/12 -> 10/12 (canonical).

Files changed (3) hide show
  1. .gitattributes +1 -0
  2. README.md +24 -8
  3. eval_12_positions_20k.png +3 -0
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ *.png filter=lfs diff=lfs merge=lfs -text
README.md CHANGED
@@ -32,9 +32,9 @@ pipeline_tag: robotics
32
 
33
  Single-handed pick task ("grab the bottle", RIGHT hand). Trained at the **CloudWalk Robotics Lab (CW-RL)**, 2026-06, on a **502-episode / 120,017-frame** real-robot teleoperation dataset β€” the **largest and best-curated** of the lineage β€” for the `UNITREE_G1_SONIC` embodiment. Released as a reference fine-tune for teams building manipulation policies on the GR00T + SONIC + MuJoCo/G1 stack.
34
 
35
- **Predecessors:** [v2 (`…-210ep-v2-finetune`)](https://huggingface.co/cloudwalk-research/gr00t-n17-g1-grab-bottle-rh-210ep-v2-finetune) β€” the current **validated production champion** (`checkpoint-20000`, grasps from poses where v1 failed) β€” [v4 (`…-417ep-v4-finetune`)](https://huggingface.co/cloudwalk-research/gr00t-n17-g1-grab-bottle-rh-417ep-v4-finetune) (radius-5, aggressive curation, eval pending), [v5 (`…-314ep-v5-finetune`)](https://huggingface.co/cloudwalk-research/gr00t-n17-g1-grab-bottle-rh-314ep-v5-finetune) (radius-20, eval pending), and [v1 (`…-105ep-v1-finetune`)](https://huggingface.co/cloudwalk-research/gr00t-n17-g1-grab-bottle-rh-105ep-v1-finetune). v6's dataset is a **merge of two grab-bottle sets** β€” the 105-ep set + a new **115-ep "worst-positions" set** (hard poses) β€” re-curated at **radius 20** with two filtering improvements over prior versions: **(a) frame removal near the grasp moment is now prohibited** (a defect that had slipped through and likely hurt earlier versions' grasp behavior), and **(b) episodes 95–114 were kept as-is** (curation skipped). The result is **482 clean curated segments + 20 as-is = 502 episodes** (20.3% of frames / 29.5% of samples removed elsewhere), ~239 frames/ep β€” 2.4Γ— the frames of v5.
36
 
37
- This is a behavior-cloning fine-tune of the full 3B model. **Status: trained 2026-06-24, eval pending** β€” only `checkpoint-20000` is published (one checkpoint per repo, lineage storage policy); the production checkpoint is selected by closed-loop comparison against the v2 champion (see [Evaluation](#evaluation)).
38
 
39
  ## Quick facts
40
 
@@ -82,7 +82,23 @@ DeepSpeed ZeRO partition states, optimizer, scheduler and RNG files are intentio
82
 
83
  **Extension to 40k β€” no longer a true-resume.** A clean continuation from `checkpoint-20000` to 40,000 steps would have produced `checkpoint-30000` (~12 ep) and `checkpoint-40000` (~16 ep), bracketing v2's sweet spot. However, the cluster training state (DeepSpeed/optimizer/scheduler) was cleaned from NFS on 2026-06-24, so a true-resume is **no longer possible** β€” reaching 40k now requires re-training from scratch (`MAX_STEPS=40000`). The published deploy weights are unaffected (eval/inference unchanged).
84
 
85
- **Closed-loop evaluation β€” TBD.** `checkpoint-20000` will be run closed-loop on the G1 + SONIC stack and compared against the **v2 `checkpoint-20000` champion** (11/12 across hand-placed bottle poses), v4, v5, and the other family members. If it does not match or beat the v2 champion, **v2 remains in production** (a 40k extension would now require a from-scratch re-train β€” see above). (This section is updated with the verdict once the eval runs.)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
86
 
87
  ## How to download
88
 
@@ -125,11 +141,11 @@ Closed-loop control of the G1 (sim or real) is driven by the **SONIC whole-body
125
 
126
  | Version | Dataset | Episodes | Frames | Epochs @20k | Closed-loop | Notes |
127
  | --- | --- | --- | --- | --- | --- | --- |
128
- | [v1](https://huggingface.co/cloudwalk-research/gr00t-n17-g1-grab-bottle-rh-105ep-v1-finetune) | [105ep-v1](https://huggingface.co/datasets/cloudwalk-research/gr00t-g1-grab-bottle-right-hand-105ep-v1) | 105 | 70,680 | 13.6 | βœ… validated | First GR00T N1.7 + SONIC fine-tune at CW-RL; right-hand bottle pick. |
129
- | [v2](https://huggingface.co/cloudwalk-research/gr00t-n17-g1-grab-bottle-rh-210ep-v2-finetune) | [right-hand-v2](https://huggingface.co/datasets/cloudwalk-research/gr00t-g1-grab-bottle-right-hand-v2) | 210 | 62,772 | 15.3 | βœ… validated (> v1) | Curated (episodes split into shorter windows, bad segments removed). **`checkpoint-20000` = current production champion (11/12).** |
130
- | [v4](https://huggingface.co/cloudwalk-research/gr00t-n17-g1-grab-bottle-rh-417ep-v4-finetune) | [radius-5](https://huggingface.co/datasets/cloudwalk-research/gr00t-g1-grab-bottle-right-hand-zero-wandering-smooth-radius-5) | 417 | 48,577 | 19.8 | ⏳ TBD | Zero-wandering, **most aggressive** curation (radius 5 β†’ short windows). |
131
- | [v5](https://huggingface.co/cloudwalk-research/gr00t-n17-g1-grab-bottle-rh-314ep-v5-finetune) | [radius-20](https://huggingface.co/datasets/cloudwalk-research/gr00t-g1-grab-bottle-right-hand-zero-wandering-smooth-radius-20) | 314 | 50,496 | 19.0 | ⏳ TBD | Zero-wandering, **least aggressive** curation (radius 20 β†’ longer windows, ~161 f/ep). |
132
- | **v6 (this)** | [radius-20-merged](https://huggingface.co/datasets/cloudwalk-research/gr00t-g1-grab-bottle-right-hand-radius-20-merged) | 502 | 120,017 | 8.0 | ⏳ TBD | **Merged** (105-ep + 115-ep "worst-positions"), radius-20 with grasp-frame preservation. Largest set β†’ 20k = only ~8 ep (underfit risk). |
133
  | [v7](https://huggingface.co/cloudwalk-research/gr00t-n17-g1-grab-bottle-rh-220ep-v7-finetune) | [speedup-3mm-v1](https://huggingface.co/datasets/cloudwalk-research/gr00t-g1-grab-bottle-right-hand-speedup-3mm-v1) | 220 | 60,163 | ~16.0 | ⏳ TBD | **DP speedup resampling** (wrist-Cartesian, 3 mm/frame, max_K=40) of the merged set; **no segment removal** β€” reference baseline. β‰ˆ16 ep @20k lands on v2's sweet spot. |
134
 
135
  ## References
 
32
 
33
  Single-handed pick task ("grab the bottle", RIGHT hand). Trained at the **CloudWalk Robotics Lab (CW-RL)**, 2026-06, on a **502-episode / 120,017-frame** real-robot teleoperation dataset β€” the **largest and best-curated** of the lineage β€” for the `UNITREE_G1_SONIC` embodiment. Released as a reference fine-tune for teams building manipulation policies on the GR00T + SONIC + MuJoCo/G1 stack.
34
 
35
+ **Predecessors:** [v2 (`…-210ep-v2-finetune`)](https://huggingface.co/cloudwalk-research/gr00t-n17-g1-grab-bottle-rh-210ep-v2-finetune) β€” the current **validated production champion** (`checkpoint-20000`, grasps from poses where v1 failed) β€” [v4 (`…-417ep-v4-finetune`)](https://huggingface.co/cloudwalk-research/gr00t-n17-g1-grab-bottle-rh-417ep-v4-finetune) (radius-5, 6/12), [v5 (`…-314ep-v5-finetune`)](https://huggingface.co/cloudwalk-research/gr00t-n17-g1-grab-bottle-rh-314ep-v5-finetune) (radius-20, 9/12), and [v1 (`…-105ep-v1-finetune`)](https://huggingface.co/cloudwalk-research/gr00t-n17-g1-grab-bottle-rh-105ep-v1-finetune). v6's dataset is a **merge of two grab-bottle sets** β€” the 105-ep set + a new **115-ep "worst-positions" set** (hard poses) β€” re-curated at **radius 20** with two filtering improvements over prior versions: **(a) frame removal near the grasp moment is now prohibited** (a defect that had slipped through and likely hurt earlier versions' grasp behavior), and **(b) episodes 95–114 were kept as-is** (curation skipped). The result is **482 clean curated segments + 20 as-is = 502 episodes** (20.3% of frames / 29.5% of samples removed elsewhere), ~239 frames/ep β€” 2.4Γ— the frames of v5.
36
 
37
+ This is a behavior-cloning fine-tune of the full 3B model. **Status: trained 2026-06-24, closed-loop eval complete (8/12)** β€” only `checkpoint-20000` is published (one checkpoint per repo, lineage storage policy); the larger merged set underfit and did not beat the v2 champion (see [Evaluation](#evaluation)).
38
 
39
  ## Quick facts
40
 
 
82
 
83
  **Extension to 40k β€” no longer a true-resume.** A clean continuation from `checkpoint-20000` to 40,000 steps would have produced `checkpoint-30000` (~12 ep) and `checkpoint-40000` (~16 ep), bracketing v2's sweet spot. However, the cluster training state (DeepSpeed/optimizer/scheduler) was cleaned from NFS on 2026-06-24, so a true-resume is **no longer possible** β€” reaching 40k now requires re-training from scratch (`MAX_STEPS=40000`). The published deploy weights are unaffected (eval/inference unchanged).
84
 
85
+ **Closed-loop evaluation β€” completed (real G1).** `checkpoint-20000` was run closed-loop on the physical G1 + SONIC stack and measured against the **v2 `checkpoint-20000` champion**. Low BC loss is a healthy prerequisite, **not** evidence of a good policy β€” this closed-loop result is the load-bearing signal.
86
+
87
+ **Procedure.** The bottle was placed at **12 fixed positions** spanning one half-side of the table (the table is fixed relative to the robot). These are the **same 12 positions used for data collection** (see the [source dataset card](https://huggingface.co/datasets/cloudwalk-research/gr00t-g1-grab-bottle-right-hand-105ep-v1)). **One trial per position** (12 trials) gives the grid result. Legend: πŸŸ₯ red = knocked the bottle over Β· 🟧 orange = stuck in an "indecision" loop, never reaching the bottle Β· 🟩 green = successfully grasped the bottle.
88
+
89
+ ![Closed-loop eval: 12-position grid, checkpoint-20000](eval_12_positions_20k.png)
90
+
91
+ **Results β€” checkpoint-20000.**
92
+
93
+ Grid (12 fixed positions, 1 trial each):
94
+
95
+ | Outcome | Count | Rate |
96
+ |---|---|---|
97
+ | 🟩 Success | 8/12 | 67% |
98
+ | 🟧 Non-convergence (indecision loop) | 3/12 | 25% |
99
+ | πŸŸ₯ Error (knocked bottle over) | 1/12 | 8% |
100
+
101
+ **Conclusion.** More data did not beat better data. v6 trains on the largest set (502 episodes / 120,017 frames, 2.4Γ— v5) yet lands below both v2 (10/12) and v5 (9/12). Its bright spot is the tied-lowest knock-over rate (1/12, 8%, tied with v2) β€” the merged set's worst-position coverage taught it to avoid toppling the bottle β€” but the highest non-convergence (3/12, 25%) shows the 2.4Γ— larger set at only ~8 epochs *underfit*: the policy often can't commit. The lineage already flagged underfit as the live risk; the closed-loop result confirms it. **v2 remains in production**.
102
 
103
  ## How to download
104
 
 
141
 
142
  | Version | Dataset | Episodes | Frames | Epochs @20k | Closed-loop | Notes |
143
  | --- | --- | --- | --- | --- | --- | --- |
144
+ | [v1](https://huggingface.co/cloudwalk-research/gr00t-n17-g1-grab-bottle-rh-105ep-v1-finetune) | [105ep-v1](https://huggingface.co/datasets/cloudwalk-research/gr00t-g1-grab-bottle-right-hand-105ep-v1) | 105 | 70,680 | 13.6 | βœ… 4/12 (33%) | First GR00T N1.7 + SONIC fine-tune at CW-RL; right-hand bottle pick. |
145
+ | [v2](https://huggingface.co/cloudwalk-research/gr00t-n17-g1-grab-bottle-rh-210ep-v2-finetune) | [right-hand-v2](https://huggingface.co/datasets/cloudwalk-research/gr00t-g1-grab-bottle-right-hand-v2) | 210 | 62,772 | 15.3 | βœ… 10/12 (83%) β€” **champion** | Curated (episodes split into shorter windows, bad segments removed). **`checkpoint-20000` = current production champion (10/12).** |
146
+ | [v4](https://huggingface.co/cloudwalk-research/gr00t-n17-g1-grab-bottle-rh-417ep-v4-finetune) | [radius-5](https://huggingface.co/datasets/cloudwalk-research/gr00t-g1-grab-bottle-right-hand-zero-wandering-smooth-radius-5) | 417 | 48,577 | 19.8 | βœ… 6/12 (50%) | Zero-wandering, **most aggressive** curation (radius 5 β†’ short windows). |
147
+ | [v5](https://huggingface.co/cloudwalk-research/gr00t-n17-g1-grab-bottle-rh-314ep-v5-finetune) | [radius-20](https://huggingface.co/datasets/cloudwalk-research/gr00t-g1-grab-bottle-right-hand-zero-wandering-smooth-radius-20) | 314 | 50,496 | 19.0 | βœ… 9/12 (75%) | Zero-wandering, **least aggressive** curation (radius 20 β†’ longer windows, ~161 f/ep). |
148
+ | **v6 (this)** | [radius-20-merged](https://huggingface.co/datasets/cloudwalk-research/gr00t-g1-grab-bottle-right-hand-radius-20-merged) | 502 | 120,017 | 8.0 | βœ… 8/12 (67%) | **Merged** (105-ep + 115-ep "worst-positions"), radius-20 with grasp-frame preservation. Largest set β†’ 20k = only ~8 ep (underfit risk). |
149
  | [v7](https://huggingface.co/cloudwalk-research/gr00t-n17-g1-grab-bottle-rh-220ep-v7-finetune) | [speedup-3mm-v1](https://huggingface.co/datasets/cloudwalk-research/gr00t-g1-grab-bottle-right-hand-speedup-3mm-v1) | 220 | 60,163 | ~16.0 | ⏳ TBD | **DP speedup resampling** (wrist-Cartesian, 3 mm/frame, max_K=40) of the merged set; **no segment removal** β€” reference baseline. β‰ˆ16 ep @20k lands on v2's sweet spot. |
150
 
151
  ## References
eval_12_positions_20k.png ADDED

Git LFS Details

  • SHA256: 9f3a115baf373fa9813b6a7d01089c098b82247b00bab6985c3bff7d616fa8eb
  • Pointer size: 131 Bytes
  • Size of remote file: 731 kB