Repolode
pollen-robotics

pollen-robotics/microduck

Open-source Rust software that runs a tiny biped duck robot, covering motion control, gamepad, updates and camera streaming.

Stars
9,611
Forks
1,248
Open issues
43
Last commit
11 hours ago

What is it?

Microduck is the software stack for a small biped duck robot, about 25 cm tall and 800 g. It runs on a Rockchip RK3566 and is built from a set of daemons: robotd runs a 50 Hz control loop that drives fifteen servos from neural-network policies, while other daemons handle wifi and identity, Bluetooth, gamepad input, WebRTC camera streaming and a depth sensor.

The robot's locomotion policies are trained in a separate repository, microduck_rl, which uses MuJoCo and PPO and exports ONNX models that this repo loads. Updates are signed, health-checked and can be rolled back if a robot comes up unhealthy. Daemons communicate through one JSON-RPC contract over Unix sockets, so the app, console, gamepad and scripts all issue the same calls.

A MuJoCo-based simulator lets developers run the real daemons against a simulated body without hardware, and a cheat sheet documents the robot's command-line tool.

Key features

  • 01Runs a 50 Hz control loop driving fifteen servos from neural-network policies.
  • 02Loads ONNX policies exported from the microduck_rl training project.
  • 03Supports gamepad control and Bluetooth access from a laptop.
  • 04Streams the camera over WebRTC and reads a depth sensor.
  • 05Signed, health-gated software updates with rollback.

Use cases

  • Building or customizing a Microduck biped robot's control software.
  • Experimenting with sim-to-real reinforcement learning locomotion on a small legged robot.
  • Testing robot code in a MuJoCo simulator before running it on hardware.

Quick start

  1. 1

    Read the simulation guide

  2. 2

    Run the simulated duck without hardware

    scripts/duck-sim

Things to know

  • Runs on a specific robot built on a Rockchip RK3566 with fifteen servos, so most features need the physical duck.
  • The policies it loads are trained in a separate repository, microduck_rl.

Topics

FAQ

What is microduck?
Open-source Rust software that runs a tiny biped duck robot, covering motion control, gamepad, updates and camera streaming. Microduck is the software stack for a small biped duck robot, about 25 cm tall and 800 g. It runs on a Rockchip RK3566 and is built from a set of daemons: robotd runs a 50 Hz control loop that drives fifteen servos from neural-network policies, while other daemons handle wifi and identity, Bluetooth, gamepad input, WebRTC camera streaming and a depth sensor.
Is microduck free to use? What license does it have?
microduck is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is microduck still maintained?
Actively maintained. The last commit to microduck was on Oct 19, 2026.
What can I use microduck for?
Building or customizing a Microduck biped robot's control software. Experimenting with sim-to-real reinforcement learning locomotion on a small legged robot. Testing robot code in a MuJoCo simulator before running it on hardware.
How do I install microduck?
Read the simulation guide Run the simulated duck without hardware: scripts/duck-sim
Where can I get microduck?
The source code and installation instructions are on GitHub: https://github.com/pollen-robotics/microduck

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects