Instructions to use witcheer/microduck-walk-recover-rough with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Microduck
How to use witcheer/microduck-walk-recover-rough with Microduck:
sudo robotctl policy load walk witcheer/microduck-walk-recover-rough
- Notebooks
- Google Colab
- Kaggle
walk-recover-rough
Walk-and-recover policy retrained for rough ground (Mjlab-VelStand-Rough-MicroDuck), simulation only: walk-recover v1's 20,000 iterations plus 3,000 on stairs, slopes and block grids ordered by difficulty, 4096 envs, about 3 h on one RTX 5090. On the hardest row it stayed on its feet for 20 s in 7 of 9 takes (walk-recover v1: 6 of 9), the gap is on stairs (2 of 3 vs 0 of 3, small sample); from lying on its belly or back it did not get up (0 of 9). Not yet tested on a real Microduck.
A perpetual policy for the microduck (61-D observation, 14 actions, 50 Hz). Runs until told otherwise — a gait for the walk slot.
Run it on a robot
sudo robotctl policy load walk witcheer/microduck-walk-recover-rough
The observation normalizer is baked into policy.onnx; feed raw observations.
manifest.json follows schema 2 of the microduck policy manifest (docs/policy-manifest.md in the daemon repo).
Training
- repo:
pollen-robotics/microduck_rl - branch:
develop - commit:
53b8971b6 - exported from a checkout with uncommitted changes
Results in simulation (v1, 2026-10-02)
Proof takes with headless_play in Mjlab-VelStand-Rough-MicroDuck, 20 s each, pushes off, the duck spawned 1.6 m from the patch centre so it starts on the rough part, and the terrain row forced (10 rows, row 9 is the hardest). A fall is the body tilting past 60° (body-frame gravity z above -0.5); a reset is never counted as a get-up.
- From standing on the hardest row: on its feet for the full 20 s in 7 of 9 takes. walk-recover v1 (the flat-ground policy this one started from) in the same takes: 6 of 9.
- stairs 2 of 3 (v1: 0 of 3, falls at 5.3, 15.2 and 17.7 s)
- slopes 3 of 3 (v1: 3 of 3)
- block grid 2 of 3 (v1: 3 of 3)
- From lying on its belly or back (row 6, three terrain types): 0 of 9, and 0 of 9 for v1. Every take was reset by the 8 s fallen timer; neither policy gets up once it is down.
- An earlier check on the 22,900-iteration checkpoint against a rough retrain that used the stock random terrain grid: no fall in 16 of 18 takes against 13 of 18.
So stairs are where the rough training shows, and the samples are small: read it as a hint, not a measured gain. Not tested: pushes on rough ground, how well it follows a speed command there, and anything on a real robot.
Training: 3,000 iterations on top of walk-recover v1's 20,000, 183 min at about 3.7 s/it, 4096 envs. The terrain was laid out as an ordered difficulty ladder (rows 0 to 9) instead of the stock random grid, and the training ran on five local patches to the maker's code, all in the dataset: the fallen and height checks measure against the ground under the duck instead of the patch centre (ground_height_patch.py), a tracking-based terrain level term (terrain_tracking_patch*.py), episodes that start lying down do not move the terrain level (terrain_prone_neutral_patch.py), logging of why a level drops (terrain_demote_arms_patch.py), and curriculum mode on the terrain generator (terrain_curriculum_mode_patch.py). Median mean reward over iterations 22,800 to 22,900 was 38.1, with the average terrain row holding at about 5.9 of 9 from iteration 21,000 on (an env that clears row 9 is sent back to a random row, so the average saturates in the upper middle). Ten training iterations logged huge negative mean rewards (the lowest -1,402,121.9 at iteration 21,509) while the mean episode length stayed at about 660 steps, so they are not mass falls; the cause is not investigated yet.
Take logs, patches, reward curve and the queue item: witcheer/microduck-skill-tree, folder level-05c-walk-recover-rough. For flat ground use witcheer/microduck-walk-recover; for the plain rough-terrain walker, witcheer/microduck-walk-rough. Trained in simulation only. Not yet tested on a real Microduck.
- Downloads last month
- 26