Mechanical structure
Start with the physical arrangement. See how shells, joints, links, and feet form two connected kinematic chains.
Open the 3D explorer ↓
MICRODUCK · SYSTEM OVERVIEW
Microduck turns a simple question—how can a two-legged robot walk?—into a full journey through mechanics, electronics, software, control, and learning.
WHY MICRODUCK?
A walking robot cannot succeed through one model alone. Its body must carry loads, its sensors must estimate motion, its software must coordinate devices, and its controller must turn a requested movement into safe joint targets. Microduck makes those connections small enough to inspect, but rich enough to matter.
Start with the physical arrangement. See how shells, joints, links, and feet form two connected kinematic chains.
Open the 3D explorer ↓Follow power, sensing, computation, and actuation. Learn what each component contributes to reliable movement.
Read the overview ↓Trace a command from the user interface through robot services, safety checks, and the motor bus.
Follow the command path ↓Watch a simulated policy, measure what it does, and separate a successful model run from reliable walking.
Enter the learning lab ↓PART 01 · MECHANICS
The interactive model below shows how the released simulation assembly is organized. Select a part, separate the assembly, or move one joint to see which connected bodies follow.
MICRODUCK A TO Z
Explore the body. Discover how its parts move together.
Loading the robot’s geometry…
PREDICT · TRY · EXPLAIN
A joint connects two bodies. Rotating it moves the attached body and everything connected farther along the chain. Try these three short investigations.
In Assembly, select an outer shell and hide it, or separate the parts with the exploded-view slider.
RUN IT ON YOUR MAC
The public website is the shared example. Your own training and evaluation stay on your computer, where Python can use MuJoCo and read the policy you produced. The local browser page is only the interface; the companion Python process performs the evaluation.
Clone the course repository and open the microduck-training-lab directory. The repository keeps the interface, evaluation code, and expected file formats together.
Use Python 3.12 with MuJoCo, ONNX Runtime, NumPy, and the required BAM motor model. Keep this Mac environment separate from Linux-only CUDA packages.
The training recipe produces a policy that maps 61 observation values to 14 joint targets. Preserve the robot revision, recipe, and model checksum with every run so the result remains traceable.
Start the local companion with python server.py, open the local address it prints, and choose Run local tests. MuJoCo then calculates new stand, walk, and turn trials from your policy.
Inspect the recorded motion together with speed, heading, balance, stopping, and fall measurements. A completed training run means only that optimization ended; these tests determine whether the learned behavior matches the task.
The evaluation path already runs on the Mac. The exact Mac training command and dependency setup will be published after that workflow is validated end to end. Until then, the website does not imply that local training is ready.
Open the local lab guide on GitHub ↗This is the released Microduck simulation assembly, not a complete manufacturing or purchase list. It contains … visible component instances, … distinct geometry files, and … adjustable joints. Repeated motor shapes are counted separately from controllable joints.
Geometry and the body hierarchy come from Pollen Robotics’ Microduck Simulator snapshot, dated by its pinned revision below. The starting pose uses zero for every hinge angle. The torso is fixed; no physics engine runs here. The mouth has no independent control in this selected hierarchy.
The training repository states that its 3D model files use Creative Commons BY-SA-NC; its source code uses Apache 2.0. The notice does not specify a Creative Commons version. These educational assets are reproduced with their attribution, without claiming a different license. Review the upstream terms before redistributing them, especially for commercial use.