Microduck RL β 2.0 m/s running push
Fork of pollen-robotics/microduck_rl training Pollin Robotics Microduck (25 cm open-source biped, XL330 servos) to run at a measured mean 2.0 m/s forward speed via PPO (rsl_rl + MuJoCo Warp / BAM).
Honest status (2026-09-12, TRAINING STOPPED)
- Recipe: exact DuckEMW running config, only deviation = speed cap raised to 2.5
(
MICRODUCK_RUNNING_SPEED_CAP=2.5,MICRODUCK_RUNNING_TARGET_MAX_SPEED=2.5). No flight reward, no Su-style rewards, no achievement gate β reverted to the proven base. - Max measured mean forward speed (world-displacement eval): 1.621 m/s @ cmd 2.0
(p10 1.387, p90 1.828, max 1.923, ~2 resets) at checkpoint
model_76500.pt(iter 76506). This is the best result of the run. - Earlier best was 1.651 m/s @ cmd 2.0 (model_58000, cap 2.0). The cap-2.5 run reached 1.621 mean at the final checkpoint; fluctuated 1.52β1.65 across the climb β did not pass 1.7.
- Goal (mean 2.0 @ cmd 2.0) NOT reached. Training halted at user request.
How speed is measured (no lies)
scripts/eval_sprint_speed.py measures true world-frame displacement
(root_link_pos_w delta / time) across 64 envs, reporting mean / p10 / p90 / max / resets
per command. Reward/curriculum metrics are NEVER reported as speed.
Full honest eval β model_76500.pt
| cmd (m/s) | mean | p10 | p90 | max | resets |
|---|---|---|---|---|---|
| 0.4 | 0.078 | 0.000 | 0.174 | 0.377 | 12 |
| 0.8 | 1.211 | 0.636 | 1.565 | 1.615 | 15 |
| 1.2 | 1.512 | 1.187 | 1.775 | 1.858 | 4 |
| 1.6 | 1.575 | 1.323 | 1.820 | 1.899 | 6 |
| 2.0 | 1.621 | 1.387 | 1.828 | 1.923 | 2 |
Run it
export MICRODUCK_RUNNING_SPEED_CAP=2.5
export MICRODUCK_RUNNING_TARGET_MAX_SPEED=2.5
.venv/bin/train Mjlab-Running-Flat-MicroDuck \
--env.scene.num-envs 4096 --agent.max-iterations 80000
Files
src/mjlab_microduck/tasks/microduck_running_env_cfg.pyβ running task cfg + knobssrc/mjlab_microduck/tasks/mdp.pyβ rewards + speed curriculumscripts/eval_sprint_speed.pyβ lie-proof world-displacement evalcheckpoints/model_76500.ptβ final checkpoint (best: 1.621 m/s @ cmd 2.0)checkpoints/model_59000.ptβ earlier cap-2.0 checkpoint (1.65 m/s @ cmd 2.0)