WillXH commited on
Commit
f631def
Β·
verified Β·
1 Parent(s): 8cad95d

Upload README.md with huggingface_hub

Browse files
Files changed (1) hide show
  1. README.md +45 -20
README.md CHANGED
@@ -13,7 +13,7 @@ tags:
13
 
14
  # HAMPER β€” G1 basket pickup policy
15
 
16
- Pretrained weights for [HAMPER](https://github.com/<your-github-username>/HAMPER):
17
  a Unitree G1 humanoid that walks up to a basket on the floor, threads its
18
  forearm through the handle, lifts it, and carries it away. Trained with PPO
19
  (rsl_rl) in Isaac Lab through a staged curriculum, on a single RTX A6000.
@@ -29,16 +29,21 @@ Pinned stack: Isaac Sim 5.1.0, Isaac Lab v2.3.2, rsl_rl 3.1.2, torch 2.7.0+cu128
29
 
30
  ## Files
31
 
32
- | File | What it is | Trained iterations |
33
- |---|---|---|
34
- | `chain.pt` | **The final policy** β€” the full task | 9,496 total (2,000 on the chain stage) |
35
- | `stage_thread.pt` | Parent of `chain.pt`: walk + carry + lift + thread | 7,497 |
36
- | `stage_lift.pt` | Parent of `stage_thread.pt`: walk + carry + lift | 5,498 |
37
- | `stage_carry.pt` | Parent of `stage_lift.pt`: walk + carry | 3,499 |
38
- | `generalist.pt` | Root of the chain: squat-capable walking with a commanded hand target; no basket | 2,000 |
39
- | `banks/standing_states.pt` (+ `.json`) | 5,000 harvested standing states used to initialize episodes | β€” |
40
- | `banks/squat_states.pt` (+ `.json`) | 5,000 harvested squatting states used to initialize the lift and thread stages | β€” |
41
- | `hero_video.mp4` | 60 s demo: full chain, threading close-up, robustness, failure case, ablation | β€” |
 
 
 
 
 
42
 
43
  Each checkpoint is an rsl_rl `OnPolicyRunner` save (actor, critic, optimizer
44
  state). The banks are required for evaluating or fine-tuning any stage other
@@ -47,20 +52,40 @@ from bank states.
47
 
48
  ## Results (`chain.pt` with the repository's commander)
49
 
50
- Full task: **98.4 Β± 0.5 %** success over 500 episodes under each of 3
51
- evaluation seeds. Zero falls, zero baskets knocked away, no drops at the
52
- nominal configuration.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53
 
54
  | | Walk | Carry | Lift | Thread | **Full chain** |
55
  |---|---|---|---|---|---|
56
  | Success | 98.7 % | 95.9 % | 98.9 % | 82.2 % | **98.4 %** |
57
 
58
- Robustness (one policy, no retraining): success is flat across handle openings
59
- of 15–35 cm (trained on 25 cm) and basket masses of 0.3–1.5 kg (trained on
60
- 0.4–1.0 kg). Basket-pose observation noise is the limiting input: above 97 %
61
- up to 5 cm of position noise, 23.5 % at 10 cm (time-outs, not falls). On a
62
- spawn distribution the state machine was never tuned on (basket 1–3 m away,
63
- Β±90Β°, 15 s episodes) the chain succeeds in 98.6 % of 500 episodes.
 
 
 
 
 
 
64
 
65
  Things the numbers do not show: the 3 seeds are evaluation seeds of one trained
66
  policy (retraining variance was not measured); the evaluation environment turns
 
13
 
14
  # HAMPER β€” G1 basket pickup policy
15
 
16
+ Pretrained weights for [HAMPER](https://github.com/WilliamHangXu/HAMPER):
17
  a Unitree G1 humanoid that walks up to a basket on the floor, threads its
18
  forearm through the handle, lifts it, and carries it away. Trained with PPO
19
  (rsl_rl) in Isaac Lab through a staged curriculum, on a single RTX A6000.
 
29
 
30
  ## Files
31
 
32
+ | File | What it is | Cumulative PPO updates | Checkpoint index |
33
+ |---|---|---:|---|
34
+ | `chain.pt` | **The final policy** β€” the full task | 9,500 (2,000 on the chain stage) | `model_9495` |
35
+ | `stage_thread.pt` | Parent of `chain.pt`: walk + carry + lift + thread | 7,500 | `model_7496` |
36
+ | `stage_lift.pt` | Parent of `stage_thread.pt`: walk + carry + lift | 5,500 | `model_5497` |
37
+ | `stage_carry.pt` | Parent of `stage_lift.pt`: walk + carry | 3,500 | `model_3498` |
38
+ | `generalist.pt` | Root of the chain: squat-capable walking with a commanded hand target; no basket | 2,000 | `model_1999` |
39
+ | `banks/standing_states.pt` (+ `.json`) | 5,000 harvested standing states used to initialize episodes | β€” | β€” |
40
+ | `banks/squat_states.pt` (+ `.json`) | 5,000 harvested squatting states used to initialize the lift and thread stages | β€” | β€” |
41
+ | `hero_video.mp4` | 60 s demo: full chain, threading close-up, robustness, failure case, ablation | β€” | β€” |
42
+
43
+ Checkpoint indices are rsl_rl iteration indices, which undercount cumulative
44
+ updates by one per resume; the update column is the number of PPO updates. The
45
+ staged pipeline additionally used a separate 1,500-update reach policy plus
46
+ state-bank harvesting to produce the banks above.
47
 
48
  Each checkpoint is an rsl_rl `OnPolicyRunner` save (actor, critic, optimizer
49
  state). The banks are required for evaluating or fine-tuning any stage other
 
52
 
53
  ## Results (`chain.pt` with the repository's commander)
54
 
55
+ All numbers use this one checkpoint (training seed 42), three evaluation
56
+ seeds, 500 episodes each. Strict full-chain success requires reaching the
57
+ carry phase, keeping the elevated basket to episode timeout, and moving it at
58
+ least 1.0 m after the carry begins.
59
+
60
+ - Strict, 10 s episodes (the training horizon): **1,216 of 1,500 β€” 81.1 %**
61
+ (95 % Wilson CI 79.0–83.0 %; per-seed 80.8 / 81.0 / 81.4 %). The shortfall
62
+ against the softer metric is the episode clock: carry distances have a median
63
+ of 1.4 m with no mass near zero, and with 15 s episodes on the same spawns
64
+ strict success is **99.4 %** (median carry distance 3.2 m).
65
+ - Reached the carry phase and retained the elevated basket through timeout (no
66
+ distance requirement): 1,476 of 1,500 β€” 98.4 % (97.6–98.9 %; per-seed
67
+ 98.4 / 97.8 / 99.0 %).
68
+
69
+ We observed zero falls, zero basket knock-away events, and three transient
70
+ retention-latch loss events (0.002 per episode); an episode can re-establish
71
+ retention after a latch loss.
72
 
73
  | | Walk | Carry | Lift | Thread | **Full chain** |
74
  |---|---|---|---|---|---|
75
  | Success | 98.7 % | 95.9 % | 98.9 % | 82.2 % | **98.4 %** |
76
 
77
+ Robustness (one policy, no retraining): mean success per tested handle opening
78
+ stayed at or above 95.5 % across 15–35 cm (lowest single evaluation seed:
79
+ 94.6 %, at 35 cm; trained on 25 cm) and was flat
80
+ across basket masses of 0.3–1.5 kg (trained on 0.4–1.0 kg). Among the
81
+ variables tested, basket-pose noise had the largest effect. The noise is
82
+ bounded uniform per Cartesian coordinate with the stated half-width (the policy
83
+ and the state machine share the observation model and bounds but draw
84
+ independent samples): above 97 % up to a 5 cm half-width, 23.5 % at 10 cm
85
+ (time-outs, not falls; sweep numbers use the reached-carry metric). On a spawn
86
+ distribution the state machine was never tuned on (basket 1–3 m away, Β±90Β°,
87
+ one evaluation seed, 15 s episodes) the chain reaches 98.2 % strict success
88
+ over 500 episodes.
89
 
90
  Things the numbers do not show: the 3 seeds are evaluation seeds of one trained
91
  policy (retraining variance was not measured); the evaluation environment turns