Open Source Robotics

Una raccolta curata di progetti, strumenti e software di robotica open source di alta qualità per la comunità della robotica.

Microduck

Il robot anatra camminante da 399 $ di Pollen Robotics: software open source, hardware chiuso

Licenza

  • 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

Licenza suddivisa. Il software di Microduck e il suo codice di addestramento sono Apache-2.0. Dal 9 ott 2026 Pollen Robotics concede i file del modello 3D del robot (le mesh STL in microduck_rl) con licenza CC BY-NC-SA 4.0: non commerciale, con attribuzione a Pollen Robotics, e le modifiche condivise mantengono la stessa licenza. Ciò vale anche per le repliche stampate da quelle mesh. Pollen non pubblica CAD, circuiti stampati né distinta base del robot stesso. Verificato il 5 nov 2026.

Panoramica

Microduck è un robot anatra camminante di 25 cm e 800 g realizzato da Pollen Robotics, parte di Hugging Face, venduto assemblato a 399 $ tasse e spedizione escluse e in preordine nel negozio di Pollen. Il suo software è open source e il suo hardware no: questo repository è lo stack di bordo del robot, un workspace Rust, Apache-2.0, che esegue un ciclo di controllo a 50 Hz che comanda quindici servo a partire da policy di reti neurali esportate in ONNX. Il repository contiene tutto ciò che serve a un robot per funzionare (robotd per il ciclo di controllo e il bus dei motori, updaterd per le release firmate con rollback condizionato allo stato di salute, configd per wifi e identità, btd per il canale Bluetooth usato da un telefono, padd per il gamepad, mediad per lo streaming della telecamera via WebRTC e tofd per il sensore di profondità), tutti con un unico contratto JSON-RPC su socket Unix, così l'app, la console, il gamepad e uno script dell'utente inviano tutti le stesse chiamate. Le policy di locomozione e di recupero vengono addestrate separatamente in microduck_rl con MuJoCo e PPO. Il robot stesso è venduto da Pollen Robotics, un'azienda di Hugging Face.

Lo stack è volutamente semplice: Rust, nessun framework, un solo workspace Cargo e un insieme di piccoli daemon, ciascuno responsabile di una sola cosa. robotd gestisce il ciclo di controllo e il bus dei motori; updaterd installa le release firmate e le annulla quando un robot si avvia in cattivo stato; configd gestisce wifi e identità; btd è il canale Bluetooth usato da un telefono; padd legge il gamepad; mediad trasmette la telecamera via WebRTC; tofd serve il sensore di profondità. Tutto gira su un Rockchip RK3566, e ogni client comunica con lo stesso contratto JSON-RPC su socket Unix anziché tramite un canale laterale privato. I comportamenti arrivano come policy anziché come codice: camminare, rialzarsi dopo una caduta, rotolare sulle ruote e raccogliere un oggetto dal pavimento con il becco sono reti separate addestrate in microduck_rl in MuJoCo con PPO e domain randomization, esportate in ONNX e caricate da robotd. Le note di progettazione in docs/design sono insolitamente schiette, e docs/project documenta che cosa è andato storto e che cosa servirebbe per risolverlo.

Perché è importante

I piccoli robot con gambe di solito vengono venduti con un blob di firmware chiuso, così la parte interessante (come una policy raggiunge davvero quindici servo a 50 Hz su un SoC economico, e come si distribuisce un aggiornamento a un robot senza renderlo inutilizzabile) resta nascosta. Microduck pubblica l'intero livello con licenza Apache-2.0, compresi il meccanismo di aggiornamento, il contratto IPC e la pipeline sim-to-real accanto, in microduck_rl. Per chiunque costruisca un piccolo bipede guidato da RL è un riferimento completo e funzionante, non una demo, e a 399 $ l'hardware su cui eseguirlo è alla portata di una classe.

Il problema che risolve

I robot con gambe economici vengono distribuiti con firmware chiuso, quindi il livello tra una policy addestrata e i servo (controllo in tempo reale, IPC, media e aggiornamenti over-the-air sicuri) è la parte che nessuno al di fuori del produttore può leggere. Microduck apre proprio quel livello per un robot che le persone possono acquistare.

Punti chiave

  • Stack di bordo completo per un bipede di 25 cm e 800 g: ciclo di controllo a 50 Hz che comanda quindici servo a partire da policy ONNX su un Rockchip RK3566
  • Workspace Rust di daemon con un solo compito (robotd, updaterd, configd, btd, padd, mediad, tofd) su un unico contratto JSON-RPC su socket Unix
  • Aggiornamenti firmati e condizionati allo stato di salute, che si annullano da soli quando un robot si avvia in cattivo stato
  • I comportamenti sono policy addestrate, non script: camminata, auto-raddrizzamento, rotolamento su ruote e raccolta da terra con il becco
  • Le policy provengono da microduck_rl: MuJoCo, PPO e domain randomization, esportate in ONNX
  • Apache-2.0, con decisioni di progettazione e problemi aperti documentati in docs/design e docs/project

A chi si rivolge

  • Ingegneri che costruiscono robot con gambe guidati da RL su Linux embedded
  • Ricercatori sim-to-real che vogliono un bersaglio fisico economico per policy addestrate in MuJoCo
  • Docenti che insegnano l'architettura del software robotico con hardware alla portata degli studenti
  • Proprietari di Microduck che scrivono i propri comportamenti tramite l'API JSON-RPC

Limiti

  • Il software è aperto ma l'hardware no: Pollen non pubblica CAD né distinta base, e le mesh STL in microduck_rl sono sotto una licenza non commerciale, quindi il robot è pensato per essere acquistato e non costruito
  • Lo stack è pensato per una sola scheda e un solo robot (Rockchip RK3566 e il bus dei servo di Microduck) anziché essere un framework generico
  • Il repository è solo il cervello del robot; la pipeline di addestramento e la ricetta sim2real si trovano separatamente in microduck_rl
  • Progetto giovane: il repository è stato creato a luglio 2026 e i daemon, il contratto IPC e il percorso di aggiornamento sono ancora in evoluzione
  • I plugin GStreamer per l'encoder hardware Rockchip provengono da un repository aarch64 precompilato separato anziché essere compilati nell'albero dei sorgenti
  • Dalla versione 0.18.3 del daemon il robot invia dati di utilizzo anonimi a PostHog EU, attivi per impostazione predefinita: avvio del daemon, risultati degli aggiornamenti, un heartbeat giornaliero e quali policy pubbliche sono caricate, con un ID robot casuale. Si possono disattivare; la pagina sulla telemetria del progetto upstream spiega come.

Questo sito richiede JavaScript. Attiva JavaScript per esplorare i nostri progetti di robotica open source.