Instructions to use nocrab/microduck-backflip with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Microduck
How to use nocrab/microduck-backflip 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-backflip
- Notebooks
- Google Colab
- Kaggle
backflip
Backflip from a stand (head-spring style) and land on its feet; starts when twist[0] goes to 1. SIM ONLY.
Command — twist slots of the 13-D command block (head / body slots: unused (zeros), unused (zeros)); idle = [0, 0, 0]
| slot | meaning |
|---|---|
| twist[0] | start switch: 1 for ~0.2-0.5 s starts the flip, then 0 while it flies and lands (install with --command 1,0,0) |
| twist[1] | unused (0) |
| twist[2] | unused (0) |
⚠️ Simulation only
Never run on a real robot. The flip uses the head as a spring: the duck sits back, pushes off the floor with its head (~0.1–0.3 s), flies upside down for ~0.15 s and lands on its feet. Landings peak around 2.6 g. A pure standing backflip is out of reach for this robot (best measured jump: 0.40 m/s takeoff, ~0.08 s in the air).
What it does
From a two-foot stand, a short pulse on twist[0] starts a full 360° backward flip; it lands and stands. With twist[0] held at 0 it just stands (it was trained to wait for the switch, so it doesn't flip by itself when installed as a skill).
Try it (duck-sim, the real robot software)
scripts/duck-sim ctl policy --file ~/.cache/duck-sim/robotd-duck-a.toml add backflip nocrab/microduck-backflip --command 1,0,0
scripts/duck-sim ctl robot do backflip
--command 1,0,0 is required: the manifest can't carry the start switch, and policy add feeds zeros by default (then it only stands). Hold (0.3 s) and unwind (2.5 s on zeros) come from the manifest.
Results
| test | result |
|---|---|
| training env, switch on at 1.0 s for 0.3 s (64 starts) | 100 % flip and land |
| switch at 0.3 s / 2.5 s | 100 % / 100 % |
| switch window 0.2 s / 0.5 s | 100 % / 98 % |
| switch never on | 0 flips, 100 % standing |
duck-sim, robot do backflip ×30 |
29/30 full flips, 30/30 standing, no fall/limp |
media/preview.mp4: one flip under real robotd in duck-sim, real time then 4× slow motion.
Contract obs[1,61] f32 → actions[1,14] f32, normalizer baked in, 50 Hz, targets around HOME × 1.0. Kind episodic, entry pose standing.
Provenance Mjlab-Backflip-Flat-MicroDuck — pollen-robotics/microduck_rl @ 4757d6ae, run local 2026-10-26_15-47-20_run2, model_2999 (3000 it, 4096 envs, RTX 5080, 1h34m); exported with scripts/export.py.
Files policy.onnx · manifest.json (all of the above, machine-readable) · media/preview.mp4 (sim rollout)
Format: Microduck policy sharing.