How to use from the
Use from the
Microduck library
# 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 dashi/microduck-backroll

backroll

Mjlab-GotATalent-MicroDuck

A perpetual policy for the microduck (61-D observation, 14 actions, 50 Hz). Runs until told otherwise — a gait, loaded into a policy slot.

Run it on a robot

sudo robotctl policy load <slot> dashi/microduck-backroll

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

  • task_id: Mjlab-GotATalent-MicroDuck
  • repo: https://github.com/bxshi/microduck-challenges.git
  • branch: HEAD
  • commit: a15317f40
  • checkpoint: 1750
  • seed: 1
  • base: mjlab-microduck 0.1.0 @ 8d0dbc94c
  • started: 2026-10-22T07:55:17Z

Reproduce

Same code, same uv.lock, same command, same seed. Training it again yields a comparable policy, not the same weights: GPU reinforcement learning is not bit-reproducible across machines.

git clone https://github.com/bxshi/microduck-challenges.git
cd microduck-challenges
git checkout a15317f40
uv sync
uv run train Mjlab-GotATalent-MicroDuck --env.scene.num-envs 4096 --agent.max-iterations 2500 --agent.seed 1 --agent.logger tensorboard --agent.run-name roll12c --agent.resume True --agent.load-run 2026-10-22_07-14-05_roll12 --agent.load-checkpoint model_500.pt
Downloads last month
24
Video Preview
loading