Microduck
El robot pato caminante de $399 de Pollen Robotics: software de código abierto, hardware cerrado
Licencia
- software (pollen-robotics/microduck) and training code (microduck_rl): Apache 2.0
- 3D model files (microduck_rl STL meshes, also used by community replicas; credit Pollen Robotics): CC BY-NC-SA 4.0
Licencias divididas. El software de Microduck y su código de entrenamiento son Apache-2.0. Desde el 9 de octubre de 2026, Pollen Robotics licencia los archivos del modelo 3D del robot (las mallas STL de microduck_rl) bajo CC BY-NC-SA 4.0: uso no comercial, con reconocimiento a Pollen Robotics, y los cambios que se compartan mantienen la misma licencia. Esto también se aplica a las réplicas impresas a partir de esas mallas. Pollen no publica CAD, placas de circuito ni lista de materiales del propio robot. Comprobado el 5 de noviembre de 2026.
Resumen
Microduck es un robot pato caminante de 25 cm y 800 g fabricado por Pollen Robotics, parte de Hugging Face, que se vende montado por 399 $ antes de impuestos y envío y está en preventa en la tienda de Pollen. Su software es de código abierto y su hardware no: este repositorio es la pila a bordo del robot, un workspace de Rust bajo Apache-2.0, que ejecuta un lazo de control de 50 Hz que acciona quince servos a partir de políticas de redes neuronales exportadas a ONNX. El repositorio contiene todo lo que un robot necesita para funcionar (robotd para el lazo de control y el bus de motores, updaterd para versiones firmadas con reversión condicionada a la salud del sistema, configd para el wifi y la identidad, btd para la vía Bluetooth que usa un teléfono, padd para el mando, mediad para la transmisión de cámara por WebRTC y tofd para el sensor de profundidad), y todos hablan un mismo contrato JSON-RPC sobre sockets Unix, de modo que la aplicación, la consola, el mando y un script de usuario envían las mismas llamadas. Las políticas de locomoción y de recuperación se entrenan por separado en microduck_rl con MuJoCo y PPO. El robot en sí lo vende Pollen Robotics, una empresa de Hugging Face.
La pila es deliberadamente sencilla: Rust, sin framework, un único espacio de trabajo Cargo y un conjunto de demonios pequeños, cada uno responsable de una sola cosa. robotd gobierna el bucle de control y el bus de motores; updaterd instala versiones firmadas y las revierte cuando un robot arranca en mal estado; configd se encarga del wifi y la identidad; btd es la vía Bluetooth que usa un teléfono; padd lee el mando; mediad transmite la cámara por WebRTC; tofd sirve el sensor de profundidad. Todo corre sobre un Rockchip RK3566, y cada cliente habla el mismo contrato JSON-RPC sobre sockets Unix en lugar de usar un canal privado. Los comportamientos llegan como políticas y no como código: caminar, levantarse tras una caída, rodar con ruedas y recoger un objeto del suelo con el pico son redes distintas, entrenadas en microduck_rl con MuJoCo, PPO y aleatorización de dominio, exportadas a ONNX y cargadas por robotd. Las notas de diseño de docs/design son inusualmente francas, y docs/project registra qué ha salido mal y qué lo resolvería.
Por qué importa
Los robots con patas pequeños suelen venderse con un firmware cerrado, así que la parte interesante —cómo una política llega realmente a quince servos a 50 Hz sobre un SoC de bajo coste, y cómo se envía una actualización a un robot sin dejarlo inservible— permanece oculta. Microduck publica esa capa completa bajo Apache-2.0, incluida la maquinaria de actualización, el contrato de IPC y la cadena de simulación a realidad que vive al lado, en microduck_rl. Para quien construya un bípedo pequeño movido por aprendizaje por refuerzo es una referencia completa y funcional, no una demostración, y por 399 dólares el hardware para probarla está al alcance de un aula.
Qué problema resuelve
Los robots con patas económicos se entregan con firmware cerrado, de modo que la capa entre una política entrenada y los servos —control en tiempo real, IPC, medios y actualizaciones remotas seguras— es justo la que nadie fuera del fabricante puede leer. Microduck abre exactamente esa capa para un robot que la gente puede comprar.
Puntos clave
- Pila embarcada completa para un bípedo de 25 cm y 800 g: bucle de control a 50 Hz que acciona quince servos con políticas ONNX sobre un Rockchip RK3566
- Espacio de trabajo en Rust con demonios de propósito único —robotd, updaterd, configd, btd, padd, mediad, tofd— sobre un mismo contrato JSON-RPC en sockets Unix
- Actualizaciones firmadas y condicionadas al estado de salud, que se revierten solas cuando un robot arranca en mal estado
- Los comportamientos son políticas entrenadas, no guiones: caminar, levantarse solo, rodar con ruedas y recoger con el pico
- Las políticas provienen de microduck_rl: MuJoCo, PPO y aleatorización de dominio, exportadas a ONNX
- Apache-2.0, con las decisiones de diseño y los problemas abiertos escritos en docs/design y docs/project
Para quién es
- Ingenieros que construyen robots con patas guiados por aprendizaje por refuerzo sobre Linux embebido
- Investigadores de simulación a realidad que buscan un objetivo físico barato para políticas entrenadas en MuJoCo
- Docentes que enseñan arquitectura de software robótico con hardware asequible para el alumnado
- Propietarios de Microduck que quieran escribir sus propios comportamientos contra la API JSON-RPC
Limitaciones
- El software es abierto pero el hardware no: Pollen no publica CAD ni lista de materiales, y las mallas STL de microduck_rl están bajo una licencia no comercial, así que el robot está pensado para comprarse, no para construirse
- La pila está dirigida a una sola placa y un solo robot, el Rockchip RK3566 y el bus de servos del Microduck, en lugar de ser un framework general
- El repositorio es solo el cerebro del robot; el pipeline de entrenamiento y la receta sim2real están por separado en microduck_rl
- Proyecto joven: el repositorio se creó en julio de 2026 y los daemons, el contrato IPC y la vía de actualización todavía están cambiando
- Los plugins de GStreamer para el codificador por hardware de Rockchip proceden de un repositorio aarch64 precompilado aparte, en lugar de compilarse en el árbol
- Desde la versión 0.18.3 del daemon, el robot envía datos de uso anónimos a PostHog EU, activado por defecto: inicio del daemon, resultados de actualizaciones, un latido diario y qué políticas públicas están cargadas, bajo un id de robot aleatorio. Se puede desactivar; la página de telemetría del proyecto original explica cómo.