Microduck
Le robot canard marcheur à $399 de Pollen Robotics : logiciel open source, matériel fermé
Licence
- 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
Licences distinctes. Le logiciel de Microduck et son code d'entraînement sont sous Apache-2.0. Depuis le 9 octobre 2026, Pollen Robotics place les fichiers du modèle 3D du robot (les maillages STL de microduck_rl) sous CC BY-NC-SA 4.0 : usage non commercial, avec attribution à Pollen Robotics, et les modifications partagées conservent la même licence. Cela s'applique aussi aux répliques imprimées à partir de ces maillages. Pollen ne publie ni CAO, ni circuits imprimés, ni nomenclature pour le robot lui-même. Vérifié le 5 novembre 2026.
Aperçu
Microduck est un robot canard marcheur de 25 cm et 800 g fabriqué par Pollen Robotics, qui fait partie de Hugging Face, vendu assemblé pour 399 $ hors taxes et frais de port et en précommande sur la boutique de Pollen. Son logiciel est open source, mais pas son matériel : ce dépôt est la pile embarquée du robot, un espace de travail Rust sous Apache-2.0, qui exécute une boucle de commande à 50 Hz pilotant quinze servos à partir de politiques de réseaux de neurones exportées en ONNX. Le dépôt contient tout ce dont un robot a besoin pour fonctionner : robotd pour la boucle de commande et le bus moteur, updaterd pour les versions signées avec retour arrière conditionné à l'état de santé, configd pour le Wi-Fi et l'identité, btd pour la liaison Bluetooth utilisée par un téléphone, padd pour la manette, mediad pour la diffusion de la caméra en WebRTC et tofd pour le capteur de profondeur, tous parlant un même contrat JSON-RPC sur des sockets Unix, de sorte que l'application, la console, la manette et un script utilisateur envoient tous les mêmes appels. Les politiques de locomotion et de récupération sont entraînées séparément dans microduck_rl avec MuJoCo et PPO. Le robot lui-même est vendu par Pollen Robotics, une entreprise de Hugging Face.
La pile est volontairement simple : Rust, sans framework, un seul espace de travail Cargo et un ensemble de petits démons dont chacun ne s'occupe que d'une chose. robotd détient la boucle de contrôle et le bus moteurs ; updaterd installe des versions signées et les rétablit lorsqu'un robot démarre en mauvaise santé ; configd gère le wifi et l'identité ; btd est la voie Bluetooth qu'utilise un téléphone ; padd lit la manette ; mediad diffuse la caméra en WebRTC ; tofd sert le capteur de profondeur. Tout tourne sur un Rockchip RK3566, et chaque client s'adresse au même contrat JSON-RPC sur sockets Unix plutôt qu'à un canal privé. Les comportements arrivent sous forme de politiques et non de code : marcher, se relever après une chute, rouler sur des roues et ramasser un objet au sol avec le bec sont des réseaux distincts, entraînés dans microduck_rl sous MuJoCo avec PPO et randomisation de domaine, exportés en ONNX et chargés par robotd. Les notes de conception de docs/design sont d'une franchise inhabituelle, et docs/project consigne ce qui a échoué et ce qui le corrigerait.
Pourquoi c'est important
Les petits robots à pattes sont généralement vendus avec un micrologiciel fermé : la partie intéressante — comment une politique atteint réellement quinze servos à 50 Hz sur un SoC bon marché, et comment livrer une mise à jour sans transformer le robot en presse-papier — reste invisible. Microduck publie toute cette couche sous Apache-2.0, y compris la mécanique de mise à jour, le contrat d'IPC et la chaîne simulation-vers-réel voisine, dans microduck_rl. Pour qui construit un petit bipède piloté par apprentissage par renforcement, c'est une référence complète et fonctionnelle plutôt qu'une démonstration, et à 399 dollars le matériel correspondant reste accessible à une salle de classe.
Le problème résolu
Les robots à pattes bon marché sont livrés avec un micrologiciel fermé : la couche entre une politique entraînée et les servos — contrôle temps réel, IPC, médias et mises à jour à distance sûres — est précisément celle que personne, hors du fabricant, n'a le droit de lire. Microduck ouvre exactement cette couche pour un robot que l'on peut acheter.
Points clés
- Pile embarquée complète pour un bipède de 25 cm et 800 g : boucle de contrôle à 50 Hz pilotant quinze servos depuis des politiques ONNX sur un Rockchip RK3566
- Espace de travail Rust fait de démons à usage unique — robotd, updaterd, configd, btd, padd, mediad, tofd — sur un seul contrat JSON-RPC en sockets Unix
- Mises à jour signées et conditionnées à l'état de santé, qui se rétablissent d'elles-mêmes quand un robot démarre mal
- Les comportements sont des politiques entraînées, pas des scripts : marche, relevé autonome, roulage sur roues et ramassage au bec
- Les politiques viennent de microduck_rl — MuJoCo, PPO et randomisation de domaine, exportées en ONNX
- Apache-2.0, avec les décisions de conception et les problèmes ouverts consignés dans docs/design et docs/project
Pour qui
- Ingénieurs construisant des robots à pattes pilotés par apprentissage par renforcement sur Linux embarqué
- Chercheurs en simulation-vers-réel cherchant une cible physique bon marché pour des politiques entraînées sous MuJoCo
- Enseignants abordant l'architecture logicielle robotique avec du matériel abordable pour les étudiants
- Propriétaires de Microduck souhaitant écrire leurs propres comportements sur l'API JSON-RPC
Limites
- Le logiciel est ouvert mais pas le matériel : Pollen ne publie ni CAO ni nomenclature, et les maillages STL de microduck_rl sont sous licence non commerciale ; le robot est donc fait pour être acheté plutôt que construit
- La pile cible une seule carte et un seul robot, le Rockchip RK3566 et le bus de servos du Microduck, plutôt que d'être un framework générique
- Le dépôt ne contient que le cerveau du robot ; la chaîne d'entraînement et la recette sim2real se trouvent séparément dans microduck_rl
- Projet jeune : le dépôt a été créé en juillet 2026, et les démons, le contrat IPC et le chemin de mise à jour évoluent encore
- Les plugins GStreamer pour l'encodeur matériel Rockchip proviennent d'un dépôt aarch64 précompilé séparé au lieu d'être construits dans l'arborescence
- Depuis la version 0.18.3 du démon, le robot envoie des données d'utilisation anonymes à PostHog EU, activées par défaut : démarrage du démon, résultats des mises à jour, un signal quotidien et les politiques publiques chargées, sous un identifiant de robot aléatoire. Cela peut être désactivé ; la page de télémétrie du projet amont explique comment.