Vai al contenuto
LF Lomazzi Federico

Home/Appunti/Robotica

Robotica

Microduck: il piccolo robot open source che impara a muoversi con il reinforcement learning

Lomazzi Federico 10 min di lettura

Microduck è un piccolo robot bipede da 25 centimetri, annunciato da Pollen Robotics e Hugging Face il 27 agosto 2026, che porta la Physical AI su una piattaforma da 399 dollari. Usa un Rockchip RK3566, 15 motori, sensori, una policy neurale eseguita a 50 Hz ed un flusso di reinforcement learning in simulazione, con software open source e trasferimento sim-to-real dei comportamenti sul robot reale.

Tre robot Microduck di Pollen Robotics con una pallina, fotografia ufficiale del press kit

Un robot piccolo, ma non un giocattolo nel senso tradizionale

Se avete seguito negli ultimi mesi quello che sta succedendo nella robotica, saprete certamente che quasi tutta l'attenzione finisce sugli umanoidi di grandi dimensioni, sui robot destinati alle fabbriche oppure su macchine che costano decine di migliaia di euro, ed invece Microduck mi ha incuriosito per il motivo opposto, perché prende parecchie idee della robotica moderna e della Physical AI e le mette dentro un bipede alto appena 25 centimetri, pesante meno di 800 grammi e proposto in preordine a 399 dollari prima di tasse e spedizione. È stato annunciato ufficialmente il 27 agosto 2026 da Pollen Robotics, oggi il team di robotica di Hugging Face, e le prime consegne sono previste prima di Natale 2026, quindi al momento in cui scrivo NON È ANCORA un robot che gli acquirenti abbiano già ricevuto e messo sulla scrivania, anche se il software, il simulatore ed il lavoro della community sono già pubblici.

La definizione di robot open source va inoltre usata con un minimo di precisione, perché Pollen Robotics lo dice chiaramente nel proprio press kit: è open source l'intero stack SOFTWARE, distribuito con licenza Apache 2.0, mentre i file di progetto meccanici ed elettronici del prodotto commerciale non vengono dichiarati open source. È una distinzione importante perché in parecchi articoli il termine viene usato come se significasse automaticamente poter scaricare PCB, CAD e distinta base dell'intero robot, mentre qui ciò che possiamo leggere, modificare, compilare ed addestrare è soprattutto il cervello software della macchina.

Da Open Duck Mini a Microduck

La parentela estetica con i piccoli droidi BDX di Disney non è soltanto una mia impressione, perché il progetto da cui questa storia prende origine è Open Duck Mini di Antoine Pirrone, nato dichiaratamente con l'obiettivo di costruire una versione miniaturizzata del BDX Droid. Quel progetto open source aveva già messo assieme modellazione meccanica, simulazione, reinforcement learning e sim-to-real, ed era stato sostenuto anche da Hugging Face e Pollen Robotics. Microduck riprende chiaramente quella linea di ricerca ma diventa un prodotto molto più compatto e rifinito, con un proprio stack software ed una piattaforma hardware diversa.

Esteticamente è difficile non pensare a Star Wars, con quella camminata ciondolante, il corpo piccolo e la testa molto espressiva, ed a me ricorda in parte anche quella categoria di robot cinematografici costruiti apposta per sembrare simpatici prima ancora che efficienti. Ma fermarsi all'aspetto sarebbe riduttivo, perché la parte interessante è proprio vedere come un robot apparentemente giocoso possa essere usato per studiare in maniera abbastanza concreta cose come controllo dinamico, sensori, policy neurali, simulazione ed apprendimento per rinforzo.

Dentro c'è un Rockchip RK3566 con 1 GB di RAM

Il computer di bordo è basato su Rockchip RK3566 con acceleratore AI, affiancato da 1 GB di RAM e 32 GB di memoria di archiviazione. Non siamo quindi nel territorio dei microcontrollori TinyML dei quali ho parlato in altri articoli, perché qui c'è un vero SoC ARM capace di eseguire un sistema Linux ed una rete neurale in tempo reale. A bordo troviamo 15 motori, una telecamera frontale, un sensore LiDAR ToF a matrice 8x8, due IMU, microfoni, altoparlante, due antenne NFC, Wi-Fi e Bluetooth, oltre ad un becco articolato che può realmente afferrare piccoli oggetti.

Il controllo della policy avviene a 50 Hz, quindi il robot ricalcola cinquanta volte al secondo la risposta motoria necessaria usando lo stato che riceve dai sensori ed i comandi di movimento. È una frequenza che fa capire bene la differenza fra un movimento preregistrato ed un controllo dinamico, perché non si limita a riprodurre una sequenza identica di angoli dei servo ma continua a correggere quello che sta facendo in base allo stato corrente.

Il software di bordo è scritto in Rust

Una delle cose che mi ha sorpreso positivamente è lo stack software. Sul Rockchip girano diversi daemon scritti in Rust senza un grosso framework robotico interposto, ed ognuno ha un compito abbastanza preciso. robotd possiede il loop di controllo ed il bus dei motori, updaterd gestisce gli aggiornamenti firmati ed il rollback quando una nuova release rende il robot instabile, configd si occupa della configurazione e della rete, btd del percorso Bluetooth, padd legge il gamepad, mediad gestisce lo streaming della telecamera tramite WebRTC mentre tofd espone i dati del sensore di profondità.

Questi servizi comunicano tramite JSON-RPC 2.0 su Unix socket, quindi il robot è programmabile senza dover entrare necessariamente dentro il loop di controllo dei motori. La documentazione mostra per esempio un comando concettualmente molto semplice per chiedere al robot di muoversi, costruito come messaggio JSON-RPC con velocità lineare e rotazione, ed è questo uno degli aspetti che trovo più interessanti perché lo stesso contratto viene usato dall'applicazione, dalla console, dal gamepad oppure da uno script scritto dall'utente.

`json

{"jsonrpc":"2.0","method":"robot.move","params":{"vx":0.2,"vy":0.0,"vyaw":0.4}}

`

Quindi NO, Microduck non si programma soltanto in Python. Rust è il linguaggio del software di bordo e del controllo a basso livello, mentre qualsiasi linguaggio capace di parlare con le API previste può in teoria controllare il robot dall'esterno. Python rimane invece centrale soprattutto quando entriamo nella simulazione, nel Machine Learning e nell'addestramento delle policy.

La parte AI non consiste nel chiedergli qualcosa in linguaggio naturale

Qui secondo me bisogna togliere subito un equivoco, perché oggi basta vedere la parola AI vicino ad un robot per immaginare automaticamente un LLM che ascolta una frase e decide cosa fare. Microduck nasce invece soprattutto attorno alla Physical AI, cioè all'uso dell'Intelligenza Artificiale per produrre COMPORTAMENTI FISICI. Il problema non è fargli rispondere ad una domanda ma insegnargli a stare in piedi, avanzare, recuperare una caduta, sedersi, calciare una pallina oppure pattinare.

Le policy ufficiali vengono addestrate usando reinforcement learning, con MuJoCo come simulatore e PPO (Proximal Policy Optimization) come algoritmo indicato nel repository del progetto. Il motivo della simulazione è abbastanza evidente: se durante l'apprendimento dovessi far cadere fisicamente il robot migliaia di volte per capire quale combinazione di movimenti funziona meglio, dopo poco avrei probabilmente più viti sul pavimento che robot sul tavolo. In simulazione posso invece generare un numero enorme di tentativi, assegnare una reward quando il comportamento si avvicina all'obiettivo e lasciare che la policy migliori progressivamente.

Dal simulatore al robot reale

Il passaggio interessante arriva con il sim-to-real. La rete neurale allenata nel mondo virtuale viene esportata in ONNX e caricata nel runtime di Microduck, dove viene eseguita nel loop a 50 Hz. È proprio qui che la robotica diventa parecchio più difficile rispetto ad un videogioco, perché il simulatore è sempre una rappresentazione imperfetta del mondo vero: attriti, giochi meccanici, tolleranze dei servo, massa, risposta dei motori ed urti non coincidono mai perfettamente, quindi una policy eccellente nella simulazione può comportarsi male quando incontra il pavimento del salotto.

Pollen Robotics mette già a disposizione un Microduck Sandbox eseguibile direttamente nel browser, basato su MuJoCo compilato in WebAssembly ed ONNX Runtime Web, quindi possiamo provare vere policy del robot senza possederlo fisicamente. Nel simulatore sono già presenti comportamenti come camminare, sedersi, rialzarsi, rotolare, calciare e passare alla configurazione con rulli, ed è un modo molto furbo di aprire il progetto alla community mesi prima che la maggior parte delle persone possa avere l'hardware sulla scrivania.

Una community che sta già addestrando nuovi movimenti

Questo è forse l'aspetto che rende Microduck diverso da tanti robot educativi che arrivano con dieci movimenti già programmati e dopo una settimana finiscono sullo scaffale. Su Hugging Face sono già comparsi modelli e policy create dalla community per nuovi comportamenti, fra cui corsa, salti, movimenti particolari e perfino esperimenti per superare un piccolo gradino. Alcuni di questi sono chiaramente dichiarati come validati soltanto in simulazione e NON ancora sul robot fisico, ed è una precisazione importante perché una buona percentuale di successo in MuJoCo non equivale ad una garanzia sul pavimento di casa.

Io trovo molto interessante proprio questa possibilità di condividere una skill robotica quasi come oggi condividiamo un modello ML, scaricandone policy, configurazione ed informazioni sull'addestramento. È ancora presto per sapere quanto questo meccanismo funzionerà realmente quando migliaia di robot fisici inizieranno ad arrivare agli utenti, ma l'idea è forte: invece di condividere soltanto codice che descrive movimenti, si condividono comportamenti APPRESI.

Che cosa posso fargli fare programmando

La cosa più semplice è usare Microduck come una piattaforma robotica classica e costruire comportamenti sopra sensori ed API. Con la telecamera potrei scrivere un programma che individua un oggetto e cerca di mantenerlo al centro dell'immagine, usando il LiDAR potrei fermare il robot davanti ad un ostacolo, con le IMU potrei rilevare che qualcuno lo ha spostato oppure inclinato e reagire di conseguenza, mentre NFC permette di associare oggetti fisici o zone della casa ad azioni specifiche.

La parte più interessante però comincia quando invece di decidere io esattamente ogni angolo dei quindici motori addestro una policy. Posso modificare l'ambiente virtuale, cambiare la reward e provare ad insegnargli un modo diverso di camminare oppure un comportamento che tenga conto di un terreno particolare, quindi esportare la policy ed eseguirla sul robot. È naturalmente molto più complesso del semplice pseudocodice nel quale si scrive cammina() e tutto funziona, ma è proprio questo il motivo per cui considero Microduck interessante come oggetto di studio: non nasconde completamente la robotica sotto una interfaccia giocattolo.

Arriva già utilizzabile senza programmare

Microduck viene comunque fornito con un game controller e sette movimenti addestrati, quindi non serve compilare Rust oppure allenare una rete neurale per vederlo fare qualche cosa quando arriva. Pollen Robotics dichiara che può camminare, sedersi, abbassarsi, pattinare con gli appositi rulli, raccogliere oggetti con il becco ed alzarsi nuovamente dopo diverse cadute comuni. La batteria è una NP-F550 removibile da 2600 mAh ed il produttore indica circa un'ora di autonomia, variabile naturalmente con l'uso.

Al prezzo introduttivo di 399 dollari la confezione comprende robot, batteria, cavo USB-C e controller, mentre esistono pacchetti opzionali con batterie aggiuntive, ricambi, tag NFC, rulli ed altri accessori. Ci sono quattro colorazioni, Cream, Graphite, Lavender e Sky, ed al momento gli ordini sono PREORDINI, con le prime consegne previste prima di Natale 2026 in Nord America, Europa e Regno Unito.

Non confondiamolo con un robot domestico autonomo

Per quanto sia simpatico da vedere, non comprerei Microduck aspettandomi un piccolo maggiordomo autonomo capace di girare per casa, capire tutto quello che vede ed eseguire qualsiasi ordine. È una piattaforma per sperimentare robotica e Physical AI che arriva già con comportamenti divertenti, sensori ed un hardware abbastanza completo, ma la sua forza sta proprio nel fatto che l'utente possa METTERCI LE MANI e non nel fingere che tutti i problemi della robotica siano già risolti.

Anche il becco articolato permette di raccogliere piccoli oggetti, ma non trasforma il robot in un manipolatore general purpose, ed il LiDAR 8x8 è utilissimo come sensore di distanza ma non è un sistema di percezione tridimensionale equivalente alle piattaforme robotiche molto più grandi. Lo stesso produttore specifica inoltre che alcune caratteristiche, fra cui risoluzione e campo visivo della telecamera, portata del LiDAR, versioni delle radio e linguaggi definitivi dell'SDK, sono ancora in fase di finalizzazione prima delle consegne.

Perché secondo me Microduck è interessante

A me Microduck piace soprattutto per una ragione che va oltre il suo aspetto da piccolo droide di Star Wars: mette in uno stesso oggetto un computer Linux relativamente economico, quindici attuatori, sensori sufficienti per fare esperimenti seri ed uno stack che parte dalla simulazione ed arriva fino all'esecuzione della policy neurale sul robot. A 399 dollari non è certamente un acquisto banale, ma siamo lontanissimi dai costi normalmente associati alle piattaforme di ricerca bipedi.

Ed è anche un esempio molto concreto di cosa significhi Physical AI, perché l'Intelligenza Artificiale non viene usata per generare una risposta testuale ma per trasformare osservazioni e comandi in azioni fisiche, mantenere l'equilibrio, coordinare i motori ed adattare il movimento. Io aspetterei comunque di vedere le prime unità di produzione realmente consegnate prima di giudicare qualità meccanica, affidabilità e distanza fra simulazione e mondo reale, ma come progetto aperto sul lato software è già oggi parecchio interessante da studiare, perché posso leggere il runtime, provare il simulatore, modificare una policy ed iniziare a capire come si passa DA UNA RETE NEURALE AD UN ROBOT CHE CAMMINA DAVVERO!

Microduck sulla scrivania, dettaglio della telecamera frontale e della struttura bipede
Microduck sulla scrivania, dettaglio della telecamera frontale e della struttura bipede
2 visite

Fonti

  1. Pollen Robotics - Microduck pollen-robotics.com
  2. Pollen Robotics - Meet Microduck pollen-robotics.com
  3. Pollen Robotics - Microduck Press Kit pollen-robotics.com
  4. Pollen Robotics Store - Microduck store.pollen-robotics.com
  5. Pollen Robotics - repository GitHub ufficiale di Microduck github.com
  6. Microduck - architettura software e JSON-RPC github.com
  7. Microduck - design del daemon robotd e API di controllo github.com
  8. Hugging Face - Microduck Sandbox huggingface.co
  9. Hugging Face - modelli e policy Microduck huggingface.co
  10. GitHub - Open Duck Mini, progetto predecessore ispirato al BDX Droid github.com

Commenti

Nessun commento, per ora.

Per commentare serve un accesso. Qui siamo tutti tecnici e colleghi!

Accedi per commentare

Scarica