Instructions to use rumezhak/microduck-roller-ppo-es with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Microduck
How to use rumezhak/microduck-roller-ppo-es with Microduck:
# Replace SLOT with the slot specified in the model card (walk, stand, sitstand, ground_pick, kick_left, kick_right, roulade). sudo robotctl policy load SLOT rumezhak/microduck-roller-ppo-es
- Notebooks
- Google Colab
- Kaggle
Roller sprint: PPO + ES (my own training)
An entry for the 2 m Roller Sprint of the Microduck Arena. Simulation only. Trained from scratch, not a remix.
What it is
A plain 61 -> 512 -> 256 -> 128 -> 14 ELU network, trained from scratch by me, on the roller-blade rig.
Results
Scored with the Arena's own arena score on x86-64 Linux (it reproduces the board): 2.412 s, 5 of 5
official seeds finished, best commanded speed 0.70 m/s.
Generalisation, on 300 fresh seeds (1,000,000 and up) that no search of mine has seen, at that speed: 299 of 300 finish, mean finish time of the finishers 2.427 s (worst 2.50 s).
The five official seeds were not used to pick this policy's weights; the figures above are therefore not in-sample.
How it was made
PPO in mjlab (4096 environments, 1,500 iterations) on the stock roller task plus a linear forward-progress reward next to its saturating wheel-speed term; checkpoint 500 picked with the Arena's evaluator (2.91 s). Then evolution strategies on the last two layers: Evolution strategies on the policy's weights, run inside the Arena's own runner: every generation races a population of mirrored weight perturbations on 32 randomly drawn training seeds (all >= 100, never 1-5), with a fall or a timeout charged a fixed penalty, and moves the weights along the rank-weighted direction. The step is kept only if the mean time on the five official seeds plus the mean time on 40 further held-out seeds (6 and up) does not get worse and no seed is lost. The official seeds therefore take part in accepting a step (half of that acceptance score), but never in computing it, and the figures below are re-measured on seeds that took part in neither.
An AI assistant helped with some of the experiments.
Not for a real robot
Trained and judged only in the Arena's simulator (MuJoCo, float64 on CPU). A fast gait like this one is chaotic, so another machine's floating-point rounding can change a run. Do not load it on a physical MicroDuck.
Files
policy.onnx: inputobs[1, 61], outputactions[1, 14]; the observation normaliser is baked in.manifest.json: the policy manifest (schema 2), written bypublish.README.md: this card.
Credits
- Trained from scratch with PPO in
microduck-challenges(mjlab, MuJoCo Warp), then evolution strategies in the Arena's runner. - Pollen Robotics: the MicroDuck, the Arena and its runner,
microduck-challengesand the publishing tools.
- Downloads last month
- 28