hofftv's picture
publish nugget-roller: perpetual, Mjlab-RollerSprint2m-MicroDuck
11d7748 verified
|
Raw History Blame Contribute Delete
1.52 kB
---
tags:
- microduck
- robotics
- reinforcement-learning
- onnx
library_name: microduck
pipeline_tag: robotics
---
# nugget-roller
Nugget on roller blades: Pollen's Roller Sprint recipe, checkpoint 1750
A **perpetual** policy for the [microduck](https://github.com/pollen-robotics/microduck) (61-D observation, 14 actions, 50 Hz, on rollers). Runs until told otherwise — a gait, loaded into a policy slot.
## Run it on a robot
```bash
sudo robotctl policy load <slot> hofftv/microduck-nugget-roller
```
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-RollerSprint2m-MicroDuck`
- **repo**: `https://github.com/pollen-robotics/microduck-challenges`
- **branch**: `main`
- **commit**: `6ff40704a`
- **checkpoint**: `1750`
- **seed**: `1`
- **base**: `mjlab-microduck 0.1.0 @ 8d0dbc94c`
- **started**: `2026-10-22T01:15:54Z`
## 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.
```bash
git clone https://github.com/pollen-robotics/microduck-challenges
cd microduck-challenges
git checkout 6ff40704a
uv sync
uv run train Mjlab-RollerSprint2m-MicroDuck --env.scene.num-envs 4096 --agent.max-iterations 3000 --agent.seed 1 --agent.logger tensorboard --agent.run-name nugget-roller-v1
```