Sign inSign up

srayuth089/microduck-docker

By srayuth089

โ€ขUpdated 9 days ago

Microduck bipedal robot simulator โ€” one command, runs in your browser ๐Ÿฆ†

Image
Internet of things
Machine learning & AI
Developer tools
0

377

srayuth089/microduck-docker repository overview

โ ๐Ÿฆ† microduck-docker

The Microduckโ  robot simulator โ€” in one command.

Docker Pulls Image size Build Architectures Buy me a book

Microduck is a 25 cm robot that walks on two legs, made by Pollen Roboticsโ  and open-sourced with Hugging Face. This image lets you watch it walk, teach it tricks, and train your own robot brain โ€” in your browser, on the computer you already have.

You do not need the real robot. You do not need to install Python, or a GPU, or know what a neural network is. You need Docker and one line:

docker run --rm -p 63317:63317 -p 8788:8788 srayuth089/microduck-docker

Then open http://localhost:63317โ  ๐ŸŽ‰


โ What you get

Everything is already inside the image โ€” no downloads on first run, no setup.

Inside the boxWhat it means
๐Ÿง  9 pretrained robot brainswalking, standing, kicking a ball, a forward rollโ€ฆ press play and watch
๐Ÿฆด The real robot modelthe actual 3D Microduck, with real joint limits and real physics (MuJoCo)
๐ŸŽ“ Teach panelask for a trick in plain English โ€” "stand on one leg" โ€” and watch it learn
๐Ÿ‹๏ธ Full training toolkittrain a brand-new walking brain on your own laptop's CPU in minutes
๐ŸŽฌ Video capturefilm your robot and export mp4/GIF to share
๐Ÿ–ฅ๏ธ Runs anywhereIntel, AMD, Apple Silicon, Raspberry Pi, even IBM mainframes

โ ๐Ÿš€ Start here (5 minutes, no experience needed)

โ 1. Install Docker

Docker Desktopโ  โ€” free, for Windows, Mac and Linux. Install it, open it, wait for the whale icon to settle.

โ 2. Run the duck

Copy this into a terminal (Mac: Terminal, Windows: PowerShell):

docker run --rm -p 63317:63317 -p 8788:8788 srayuth089/microduck-docker

The first time, Docker downloads the image (~1.5 GB, a few minutes). After that it starts in seconds. When you see this, it's ready:

  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
  โ”‚  ๐Ÿฆ†  Microduck is running!                     โ”‚
  โ”‚                                                โ”‚
  โ”‚  Open this in your browser:                    โ”‚
  โ”‚      http://localhost:63317                    โ”‚
  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ 3. Open your browser

Go to http://localhost:63317โ . You should see two ducks: one walking, one standing.

To stop: press Ctrl+C in the terminal.


โ ๐ŸŽฎ Things to try

โ Drive the duck

Click a duck to select it, then steer with W A S D. It balances by itself โ€” you only tell it where to go.

โ Swap its brain mid-stride

Open the policy panel and drag a different brain onto a duck. It changes behaviour without missing a step. Try dropping roulade on a walking duck.

โ Teach it a new trick ๐ŸŽ“

Open the Teach panel and type something like:

  • stand on one leg
  • wave
  • crouch

The lab starts training right there. Every ~15 seconds the duck reloads with what it just learned, so you watch it get better in real time. Drag the reward sliders to change what it is rewarded for โ€” that is the whole idea of reinforcement learning, and here you can feel it.

โ Film it ๐ŸŽฅ

The Capture panel takes a PNG, or films a clip and converts it to mp4 + GIF.


โ ๐Ÿงช For teachers and tinkerers

โ See what brains are available
docker run --rm srayuth089/microduck-docker policies
โ Start with specific brains
docker run --rm -p 63317:63317 -p 8788:8788 \
  -e DUCKS="BEST_alpha_walking ball_kick_left roulade" \
  srayuth089/microduck-docker
โ Keep your training between runs

Add a volume so trained brains, videos and settings survive a restart:

docker run --rm -p 63317:63317 -p 8788:8788 \
  -v microduck-data:/data \
  srayuth089/microduck-docker
โ Train a walking brain from scratch

A few minutes on a normal laptop CPU:

docker run --rm -v microduck-data:/data srayuth089/microduck-docker \
  train --envs 32 --steps 3000000 --run-name my-first-duck

docker run --rm -v microduck-data:/data srayuth089/microduck-docker \
  export /data/runs/my-first-duck

Then start the viewer with the same volume and your duck appears in the roster, ready to race against the official one.

โ All the commands
CommandDoes
serve (default)start simulator + viewer
policieslist available brains
versionshow exact upstream code this image was built from
train โ€ฆtrain a walking policy (train-walk)
behavior โ€ฆtrain a trick (train-behavior)
export โ€ฆexport a run to ONNX
eval โ€ฆscore a policy (falls, tracking)
render โ€ฆrender a rollout to mp4
bench โ€ฆfind the best worker count for your machine
shella shell inside the image

Full details: docs/USER-MANUAL.mdโ 


โ โ“ Troubleshooting

The page is blank / "can't connect" Both ports matter. -p 63317:63317 serves the page; -p 8788:8788 carries the physics. Use http://localhost:..., not the 127.0.0.1 shown by other tools and not your LAN IP โ€” the lab only trusts localhost origins.

"port is already allocated" Something else is using the port. Move it: -p 8080:63317 then browse to localhost:8080.

It's slow / the fan is loud Physics is real work. Give Docker Desktop more CPUs in Settings โ†’ Resources, or run fewer ducks with -e DUCKS="BEST_alpha_walking".

Apple Silicon warning about platform Harmless if it appears โ€” native arm64 is published. Force it with --platform linux/arm64.


โ ๐Ÿ—๏ธ How this is built

This repo contains no robot code of its own. On a schedule, GitHub Actions pulls the newest upstream code, builds it for every architecture, smoke-tests that the physics really runs, and pushes to Docker Hub. So the image tracks the official projects instead of drifting away from them.

microduck-lab  (trainer + viewer)  โ”€โ”
microduck_rl   (robot model, MJCF) โ”€โ”ผโ”€โ–บ GitHub Actions โ”€โ–บ Docker Hub (multi-arch)
MicroDuckModels (pretrained ONNX)  โ”€โ”˜

Every image records the exact commits it came from:

docker run --rm srayuth089/microduck-docker version

Architectures: linux/amd64, linux/arm64 (and ppc64le, s390x on request).

Build it yourself: docs/BUILD.mdโ 


โ ๐Ÿ™ Credits

This is a packaging project. All the hard work belongs to:

Not affiliated with or endorsed by Pollen Robotics.

โ ๐Ÿ“„ License

Packaging (this repo): Apache-2.0.

The image also contains upstream material under its own terms โ€” notably the 3D robot meshes, which Pollen releases under Creative Commons BY-SA-NC (non-commercial). Play with it, teach with it, learn from it. Do not sell it or ship it in a commercial product. See NOTICEโ .


Made for classrooms, kitchen tables and anyone curious about robots.

Buy Me a Coffee

More projects by srayuth โ†’โ 

Tag summary

Content type

Image

Digest

sha256:b349cfa64โ€ฆ

Size

668.3 MB

Last updated

9 days ago

docker pull srayuth089/microduck-docker