Instructions to use nocrab/microduck-flamingo with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Microduck
How to use nocrab/microduck-flamingo 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 nocrab/microduck-flamingo
- Notebooks
- Google Colab
- Kaggle
flamingo
Stand on one foot, either side, on command, and come back to a two-foot stand: twist = [flag, side, 0].
⚠️ Simulation only
Never tested on a real robot. Trained and checked in simulation only (MuJoCo with the XL330 servo model, and duck-sim with the real robot software). If you try it on hardware anyway, keep a hand under the duck: standing on one foot, it falls on pushes of about 0.2 m/s or more.
Credits
This is a retrain of RemiFabre/microduck-flamingo-cycle by Rémi Fabre: same task (Mjlab-FlamingoCycleHard-Flat-MicroDuck on the flamingo branch of pollen-robotics/microduck_rl), same command layout, and control.py is his driver script, unchanged. Only the training run is ours. All credit for the task design goes to him.
Command — twist slots of the 13-D command block (head / body slots: unused (zeros), unused (zeros)); idle = [0, 0, 0]
| slot | meaning |
|---|---|
| twist[0] | flag: 0 = stand on two feet (HOME), 1 = stand on one foot |
| twist[1] | side: +1 = right foot down / left leg lifted, -1 = left foot down / right leg lifted; 0 allowed while flag = 0 |
| twist[2] | unused (0) |
Results
| test | result |
|---|---|
| model card timeline (right foot, then left, 8 s holds), CPU MuJoCo | never falls |
| duck-sim (real robotd vs MuJoCo body), both sides | one-foot hold at gz −0.89, no fall verdicts |
| 32-push grid (0.15–0.3 m/s × 4 directions × both feet) | 5/32 falls (the reference flamingo: 6/32) |
media/preview.mp4: the published policy under real robotd in duck-sim, front view, driven by control.py --timeline "0:0,1;2:1,1;10:0,1;14:1,-1;22:0,-1" — right foot down for 8 s, both feet, left foot down for 8 s, both feet.
Contract obs[1,61] f32 → actions[1,14] f32, normalizer baked in, 50 Hz, targets around HOME × 1.0. Kind perpetual, entry pose standing.
Provenance Mjlab-FlamingoCycleHard-Flat-MicroDuck — pollen-robotics/microduck_rl @ 4757d6ae on branch flamingo (not merged yet), run local 2026-10-25_22-40-46_ours-hard, model_2999 (3000 it, 4096 envs, RTX 5080, 1h44m); exported with scripts/export.py.
Files policy.onnx · manifest.json (all of the above, machine-readable) · media/preview.mp4 (sim rollout) · control.py
Format: Microduck policy sharing.