Instructions to use betsyxw/microduck-tug-a3 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Microduck
How to use betsyxw/microduck-tug-a3 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 betsyxw/microduck-tug-a3
- Notebooks
- Google Colab
- Kaggle
tug-a3
Mjlab-TugOfWar-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> betsyxw/microduck-tug-a3
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-TugOfWar-MicroDuck - repo:
https://github.com/pollen-robotics/microduck-challenges - branch:
tug-a0 - commit:
0b9f162c2 - checkpoint:
799 - seed:
3 - base:
mjlab-microduck 0.1.0 @ 1efd853be - started:
2026-11-04T03:19:38Z - exported from a checkout with uncommitted changes
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/pollen-robotics/microduck-challenges
cd microduck-challenges
git checkout 0b9f162c2
uv sync
uv run train Mjlab-TugOfWar-MicroDuck --env.scene.num-envs 4096 --agent.max-iterations 300 --agent.save-interval 50 --agent.resume True --agent.load-run 2026-11-01_05-55-22_tug-a0 --agent.load-checkpoint model_500.pt --agent.seed 3 --agent.logger tensorboard --agent.run-name tug-a3
- Downloads last month
- 26