pollen-robotics/microduck — a trending Rust project
A Tiny biped duck robot 🦆
pollen-robotics/microduck — Rust · 10,621 stars · 1,376 forks · +421 today
A Tiny biped duck robot 🦆
Microduck
#A tiny biped robot that moves using reinforcement learning policies.
Get yours here · Cheat sheet · Training the policies · How it works · Contributing
This repo is the duck's brain. About 25 cm and 800 g of robot, run by a handful of daemons on a Rockchip RK3566: a 50 Hz control loop driving fifteen servos from neural policies, the radios and the camera, and the update machinery that gets new software onto a robot without bricking it.
Everything you need to run a Microduck is here. If you want one, get yours here.
The policies it runs are trained next door, in microduck_rl — MuJoCo and PPO, the sim2real recipe, and the export to ONNX that this repo loads.
It does things
#| It walks. Pick up a gamepad and drive. | It rolls. Put wheels on, ask for roller mode, and it loads the other brain. |
| It picks things up. Beak to the floor, one button. | It gets back up. Knock it over and it stands itself up. |
It also sits, kicks a ball, rolls forward on command, and quacks in a voice that is its own.
Where to find things
#You have a duck
#| Cheat sheet | Every robotctl command: drive, configure, voice, chorale, theremin, wifi, updates, logs. Start here. |
| Gamepad | The full button mapping, and pairing a pad — once per pad, plus what to do when it will not bond. |
duckctl |
The robot from a laptop over Bluetooth, with no network and no ssh. |
| Updates | Install, roll back, pin. Every update is verified, health-gated and reversible. |
You are building on it
#| microduck_rl | Where the policies come from: MuJoCo, PPO, domain randomisation, and the ONNX export this repo loads. |
| How it works | The whole system on one page — the daemons, the bus, how an update reaches a robot — then a page per part. |
| Set up a dev board | From a blank board to a robot that takes branch builds. |
| Dev cheat sheet | Branch builds, release candidates, driving from a laptop, and the restart traps after an update. |
| Push your branch | Build on your machine, install over ssh, about a minute. |
| The simulated duck | No robot on the desk? scripts/duck-sim runs the real daemons against a body in MuJoCo — one duck in a window, or four as machines you log into. |
| CONTRIBUTING.md | Building, testing, layout, conventions, releasing. |
| Docs index | Everything, including the design pages and the open problems. |
Under the hood
#Rust, no framework, one workspace. robotd owns the control loop and the motor bus; updaterd
installs signed releases and rolls them back when a robot comes up unhealthy; configd owns wifi
and identity; btd is the Bluetooth path a phone uses; padd reads the gamepad; mediad streams
the camera over WebRTC; tofd serves the depth sensor. They talk over one JSON-RPC contract on
Unix sockets, and every client — the app, the console, the gamepad, your script — sends exactly the
same calls.
The interesting decisions are written down: docs/design/ is why things are the
way they are, and docs/project/ is what has gone wrong and what would close it.
A note on ducks
#No duck was harmed in the making of this robot. Several were consulted.
Content above is the README of pollen-robotics/microduck, reproduced from GitHub’s trending list. All rights remain with the original authors.
Newsletter
New posts in your inbox. Confirm by email, unsubscribe any time.
More in Rust Programming
View allmacro-inc/macro — a trending Rust project
Macro is a unified workspace for teams: email, chat, docs, tasks, agents, calls, and CRM — @-linked together with shared AI memory.
via GitHub · 11 min
xerj-org/xerj — a trending Rust project
XERJ is the new way for AI to search data. Its autoindex capability activates agents to know your data without the token waste of grep and sed. One command indexes code, docs, logs and PDFs for search, RAG, security audits and agent memory, using 40x fewer tokens than grep. Elasticsearch compatible,
via GitHub · 3 min
rust-lang/rust — a trending Rust project
Empowering everyone to build reliable and efficient software.
via GitHub · 1 min
storytold/artcraft — a trending Rust project
ArtCraft is an intentional crafting engine for artists, designers, and filmmakers
via GitHub · 3 min
Comments
Posting as a guest