Download r16_h_ankle/README.md from ETHRC-humanoid/rc-humanoid-locomotion: direct link, hf CLI and curl.
- Browser
- Download file 3.42 kB
-
https://huggingface.co/ETHRC-humanoid/rc-humanoid-locomotion/resolve/main/r16_h_ankle/README.md
- Command line
-
hf download hf://ETHRC-humanoid/rc-humanoid-locomotion/r16_h_ankle/README.md
-
curl -L -o README.md https://huggingface.co/ETHRC-humanoid/rc-humanoid-locomotion/resolve/main/r16_h_ankle/README.md
r16_h_ankle β Report 16 SKY SLATE
H-ANKLE β the REAL measured ankle (rs_kp 8.0/1.5). WALKS: 0.540 m/s @ cmd 1.2. Resolves the deploy-critical ankle unknown positively.
| Branch | test/SjohnU_remodel_actuators |
| Checkpoint | model_9999.pt (10,000 iters, completed) |
| Envs / seed | 4096 / 42 |
| rsl-rl | 5.0.1 (native actor/critic state_dict) |
| wandb | ijog4us3 (project rc_humanoid_rl) |
| Hardware | AWS us-east-2, 1x L40S (g6e.xlarge) |
Report-16 SKY SLATE β measured across the command sweep (physical units)
All arms branch off H (r16_deploy) + exactly one change, 10k iters, 4096 envs, seed 42,
branch test/SjohnU_remodel_actuators. Measured with scripts/rsl_rl/measure_gait.py
(1000 steps x 64 envs) at three forward commands. Physical m/s, not reward-term tvel β
tvel lied repeatedly (e.g. footlift scored tvel 1.19 at 0.001 m/s).
| arm | change vs H | @0.5 | @0.8 | @1.2 | lean@1.2 | walks? |
|---|---|---|---|---|---|---|
r16_final_act |
action smoothing (action_rate -0.3) | 0.407 | 0.697 | 0.977 | 0.2Β° | β fastest |
r16_h2_noar |
action_rate -0.3 -> -0.12 | 0.388 | 0.644 | 0.888 | 1.6Β° | β |
r16_h_ankle |
ankle rs_kp 2.0/0.15 -> 8.0/1.5 (REAL ankle) | 0.222 | 0.382 | 0.540 | 3.4Β° | β |
r16_h_cmd |
limit_ranges lin_vel_y (-1.0,0.5)->(-0.2,1.2) | 0.090 | -0.035 | -0.630 | β | β |
r16_final_phys |
action_rate -0.12 + 100x soft_landing/10x joint_acc | β | β | β | β | π΄ suicidal |
What the slate establishes
The command cap WAS the speed ceiling. Every prior walker measured ~0.4 m/s because
limit_rangescapped the forward command at 0.5. Given a higher command, the good walkers scale cleanly:final_act0.41 -> 0.70 -> 0.98 m/s.final_act@1.2 (0.977 m/s, 0.2 deg lean) is the FASTEST walker of the whole campaign, beatingupright(0.634) andcrouch_nogait(0.572).But widening the command range DURING training (h_cmd) backfired.
h_cmdopened the range to (-0.2, 1.2) and never learned to walk forward β 0.090 m/s at 0.5, and it goes BACKWARD (-0.63 m/s) when commanded +1.2. Read together with (1): the right move is to train with the 0.5 cap and command higher AT DEPLOY, not to widen the training range.The real measured ankle walks (h_ankle). Every prior walker used a PLACEHOLDER ankle; the only policy with the real ankle was bigstep, which couldn't walk -- a confound that sat between sim and hardware.
h_ankleresolves it: the real rs_kp 8.0/1.5 ankle walks (0.222/0.382/0.540 m/s), at ~55% offinal_act's speed. The deploy story holds.action_rate -0.3 vs -0.12 is not decisive; the PHYSICAL-penalty overshoot is fatal.
final_act(-0.3) andh2_noar(-0.12) both walk well, with -0.3 marginally faster. The exploration-tax audit predicted -0.12 would clearly win; measured, it did not. What IS fatal isfinal_phys: keeping action_rate at -0.12 but raising soft_landing 100x (-1e-4 -> -0.01) and joint_acc 10x made LIVING net-negative, so the policy optimized by terminating early (reward rose -24.7 -> -18.2 as episode length fell 46 -> 22). A textbook suicidal policy.
Files
policy.pt,policy.onnxβ exported viascripts/rsl_rl/play_export.pydeploy.yamlβ deploy config (obs/action layout, gains, 50 Hz)model_9999.ptβ raw rsl-rl checkpoint