Microduck je 25 cm visok dvonožni robot francoske ekipe Pollen Robotics, danes del robotskega oddelka Hugging Face. Zanimiv ni zato, ker je simpatičen, ampak zato, ker vsako njegovo gibanje teče kot naučena nevronska politika, ki jo lahko ponovno naučimo v simulaciji in prenesemo na fizični robot.

Hitri odgovor
Microduck je 25 cm visok dvonožni robot francoske ekipe Pollen Robotics, ki je od aprila 2025 robotski oddelek Hugging Face. Uporaben je takoj iz škatle prek priloženega igralnega ploščka, njegova prava vrednost pa je v tem, da je vsako gibanje nevronska politika (policy), ki jo lahko ponovno naučite v simulaciji in prenesete na fizični robot. Cena je 399 USD pred davki in dostavo, prednaročila so odprta od 27. avgusta 2026, prve dostave so ciljane pred božičem 2026, trga ob lansiranju pa sta Severna Amerika in Evropa.
1. Kaj Microduck je
Robot hodi z zibajočo hojo, sedi, počepne, vozi se na rolerjih, s kljunom pobira predmete in vstane iz večine običajnih padcev. Ambicija projekta je, da bi bila gradnja umetne inteligence na resnični strojni opremi tako dostopna kot poganjanje modela: kompleksna vedenja takoj ob nakupu, nato pa odprtokodni sklad, ki pokriva krmiljenje robota, simulacijo, RL-učenje in sim-to-real prenos.
Specifikacije
| Postavka | Vrednost |
|---|---|
| Dimenzije / masa | 25 cm visok, 14 cm širok, pod 800 g |
| Aktuatorji | 15 stopenj prostosti (noge, glava, vrat); 14 servomotorjev Dynamixel XL330 + kljun |
| Računalnik | Rockchip RK3566 z AI-pospeševalnikom, 1 GB RAM, 32 GB pomnilnika |
| Vid | Sprednja kamera z ločenim indikatorjem uporabe kamere |
| Zaznavanje gibanja | 2 × IMU (v telesu in glavi) |
| Zaznavanje razdalje | Kompaktni LiDAR, matrika 8×8 time-of-flight (VL53L5CX / VL53L8CX) |
| Zvok | Mikrofoni in zvočnik, glas generiran za vsakega robota posebej |
| NFC | 2 anteni (glava, kljun) |
| Povezljivost | Wi‑Fi in Bluetooth |
| Napajanje | Odstranljiva baterija NP‑F550, 2600 mAh, približno ena ura delovanja |
| Krmilna zanka | 50 Hz, politike v formatu ONNX |
| Licenca | Apache‑2.0 (programska oprema); 3D-modeli CC BY‑SA‑NC |
Provizorično: ločljivost in vidno polje kamere, doseg LiDAR-ja, radijske različice, jeziki SDK in starostno priporočilo še niso dokončani.
Paketi: robot 399 USD (robot, baterija, kabel USB‑C, igralni plošček), Charger pack 39 USD, Dev pack 119 USD (rezervni motorji, kabli, 10 × NFC-oznak, izvijač), Accessory pack 39 USD (rolerji, žogica, laserski kazalec, NFC-oznake).

2. Kako deluje — arhitektura
Programska oprema je napisana v Rustu, brez ogrodja, kot sedem demonov na eni plošči, ki se pogovarjajo prek JSON‑RPC 2.0 po unix vtičnicah: ena vrstica je en objekt, torej NDJSON.

robotdje edini, ki se dotika motorjev. Odjemalci pošiljajo namere — »pojdi tako hitro«, »poglej tja«, »vstani« — varnostni sloj vrobotdpa odloči, kaj je dejansko izvedljivo.- Deadman je vgrajen. Če ukazi nehajo prihajati ali se odzivni čas podaljša čez prag,
robotdrobota ustavi sam od sebe. - Za LLM-agente je predvidena pot prek WebSocketa, ne WebRTC. Agent noče dekodirati videotoka pri 30 fps; hoče sličico vsako sekundo ali dve in blob stanja. Latenca LLM-ja pomeni, da je agent visokonivojski krmilnik, reaktivno krmiljenje pa ostane lokalno.
- Posodobitve se zamenjajo, ne popravijo, s podpisom, zdravstvenim testom in samodejnim povratkom na prejšnjo različico.

3. Kako se ga programira — tri ravni
| Raven | Orodje | Kdo | Kaj dosežete |
|---|---|---|---|
| L1 — brez kode | igralni plošček (Bluetooth) | vsak | hoja, sedenje, brce, pobiranje s kljunom, roleranje, prevali |
| L2 — CLI in konfiguracija | robotctl na robotu, duckctl prek Bluetootha |
tehnično pismen uporabnik | skriptiranje, tuje politike, WiFi, zvok, teremin, zborovsko petje več robotov |
| L3 — lastne politike | microduck_rl (MuJoCo/mjlab + PPO) |
razvijalec z GPU | popolnoma novo vedenje, naučeno v simulaciji, izvoženo v ONNX in preneseno na robota |

L2 — kaj CLI dejansko zna
robotctl version # kaj teče proti temu, kar je nameščeno
robotctl health # strojna + programska diagnostika; non-zero exit → uporabno v skriptah
robotctl monitor # živa zanka: zahtevano vs. izvedeno, IMU, ToF, odometrija
robotctl monitor --json --hz 50 > run.jsonl # telemetrija za analizo
sudo robotctl configure # interaktivni urejevalnik /etc/robot/robotd.toml
robotctl quack # glas, generiran iz serijske številke SoC
robotctl theremin # ToF-senzor kot glasbilo
robotctl chorale # več robotov zapoje štiriglasno, brez skupne ure
Lastno politiko lahko poskusite brez izdaje nove verzije — samo pokažete na svojo datoteko .onnx:
# /etc/robot/robotd.toml
[policy]
walk = "/home/radxa/my_walking.onnx"
stand = "/home/radxa/my_stand.onnx"
Vaše poti preživijo posodobitve: izdaja zamenja binarne datoteke in politike, ki jih prinaša, ne pa datoteke, ki kaže drugam.
L3 — učni sklad
Politike se učijo pri 50 Hz, izvozijo v ONNX in namestijo na resničnega robota prek izvajalnega okolja. Repozitorij vsebuje celoten sim2real recept: fiziko aktuatorjev BAM, randomizacijo domene, simulacijo zračnosti zobnikov in naučene lekcije pri oblikovanju nagrad.
Bistvena tehnična podrobnost: vse politike si delijo isto 61-dimenzionalno opazovanje (48 propriocepcije + ukazi), zaradi česar lahko izvajalno okolje politike vroče zamenjuje med delovanjem. Izhod je 14-dimenzionalen (14 servomotorjev).
Že obstoječe naloge vključujejo Mjlab-Velocity-{Flat,Rough}-MicroDuck (hoja), Mjlab-StandUp, Mjlab-SitStand, Mjlab-GroundPick, Mjlab-BallKick, Mjlab-Roulade in vrsto roler-nalog.

4. Vzorčni use case: »Poslovni poklon« (Polite Bow)
Kontekst: demo za delavnico o AI-pismenosti — udeleženci v 90 minutah vidijo celotno pot od nagrajevalne funkcije do fizičnega gibanja. Robot ob koncu predstavitve stopi naprej in se prikloni.
Zakaj je ta primer dober: nima nobene varnostne izpostavljenosti, je vizualno nedvoumen, in pokaže točno tisto, kar je pri LLM-ih nevidno — da je »vedenje« zgolj utežena datoteka, ki jo je nekdo naučil z nagrado.
- Predpogoji. GPU z CUDA in orodje
uv; brez GPU dodate--hf-jobsin učenje teče na Hugging Face Jobs. - Okolje in izhodiščno učenje. Najprej preverite, da veriga deluje na osnovni hoji.
- Nova naloga. V
src/mjlab_microduck/tasks/dodate modul konfiguracije okolja in nagrade za poklon. - Vizualni pregled in izvoz. Politiko pred fizičnim robotom preverite v simulatorju in izvozite v ONNX.
- Namestitev na robota. Politiko objavite na Hugging Face Hub in jo na robotu dodate z
robotctl policy add. - Meritev sim2real vrzeli. Primerjajte JSONL telemetrijo iz resničnega robota s simulacijskim zapisom.
git clone https://github.com/pollen-robotics/microduck_rl
cd microduck_rl
# osnovna hoja, da preverite, da veriga deluje (~1–2 h pri 4096 okoljih)
uv run train Mjlab-Velocity-Flat-MicroDuck --env.scene.num-envs 4096
uv run list-envs
| Komponenta nagrade | Namen | Predznak |
|---|---|---|
bow_pitch_tracking |
naklon trupa/vratu proti ciljnemu kotu v fazi 0,5–2,5 s | + |
feet_stationary |
stopala ostanejo na tleh (poklon, ne korak naprej) | + |
base_height_penalty |
kazen za padec težišča pod prag | − |
return_to_home |
vrnitev v stojno držo do konca epizode | + |
action_rate |
gladkost — sicer se politika trese | − |
uv run train Mjlab-PoliteBow-Flat-Backlash-MicroDuck --env.scene.num-envs 4096
uv run play Mjlab-PoliteBow-Flat-MicroDuck --wandb-run-path <entity/project/run_id>
uv run scripts/export.py Mjlab-PoliteBow-Flat-MicroDuck --wandb-run-path <...>
scripts/export.py, nikoli ročno pretvorjene kontrolne točke.uv run scripts/infer_policy.py --walking walk.onnx --standing stand.onnx \
--sitstand sitstand.onnx --roulade bow.onnx --new-cmd-obs
uv run publish --task Mjlab-PoliteBow-Flat-MicroDuck \
--wandb-run-path <entity/project/run_id> --checkpoint 3000 \
--repo katulusai/microduck-polite-bow --kind episodic --duration-s 4.0 \
--description "Bows from a two-foot stand and comes back up."
sudo robotctl policy add polite-bow katulusai/microduck-polite-bow
robotctl robot do polite-bow
Pred nalaganjem publish preveri, da je graf oblike [1,61] → [1,14], ga požene na verjetnih vhodih in zavrne NaN ali konstanten izhod.
robotctl monitor --json --hz 50 > bow_real.jsonl
# nato primerjava proti simulacijskemu zapisu: uv run scripts/infer_policy.py --save-csv
To je pedagoško najmočnejši del: razlika med simuliranim in resničnim poklonom je konkretna, merljiva ilustracija tega, kaj pomeni »model, ki ne generalizira«.
Realističen časovni okvir: priprava okolja pol dneva, iteracija nagrajevalne funkcije 1–3 dni, učenje 1–2 uri na cikel. Za delavnico se politika nauči vnaprej; v živo se pokažeta koraka 3 in 5.

5. Uporaba doma
| Scenarij | Kaj konkretno |
|---|---|
| Učenje robotike za otroke in mladostnike | Plošček takoj, nato simulator v brskalniku (Hugging Face Space), nato prve spremembe nagrajevalne funkcije. Poteza od igrače do orodja je zvezna, kar je redko. |
| Vstop v RL brez tveganja | 800 g robota ne more nikogar poškodovati in ne more poškodovati sebe s padcem. To je celotna poanta te velikostne kategorije. |
| Domači projekti z zaznavanjem | ToF-teremin, NFC-oznake kot fizični sprožilci, »coo« ob božanju glave (privzeto izklopljeno). |
| Družabno | Dva robota v prostoru zapojeta štiriglasno skladbo; nihče ni glavni, nižji ID dirigira, ni skupne ure. Zborovsko petje je privzeto izklopljeno. |
| Prispevek v skupnost | Objava lastne politike na Hugging Face Hub; kdorkoli z Microduckom jo namesti z enim ukazom. |

6. Uporaba na delovnem mestu
6.1 Matrika učinek/napor za poslovno rabo
Usposabljanje po 4. členu Akta o umetni inteligenci: fizična demonstracija modela, nagrade, generalizacije in odpovedi.
LLM kot visokonivojski planer, WebSocket pot za namere, robotd kot lokalna varnostna plast.
Pozdrav, priklon, pobiranje predmeta. Pripravljalni čas: skoraj nič.
Objektivna merila in telemetrija, vendar zahteva pripravo, GPU ali proračun za HF Jobs.
6.2 Konkretni scenariji
A. Predstavitveni rekvizit. Sejmi, dnevi odprtih vrat, uvod v predavanje. Robot ob priklopu pozdravi, se prikloni, pobere predmet. Pripravljalni čas: nič, plošček zadostuje.
B. Usposabljanje o AI-pismenosti. Za organizacije, ki morajo pokriti obveznost AI-pismenosti po 4. členu Akta o umetni inteligenci, je fizični robot najučinkovitejši način, da se abstraktni pojmi — učni podatki, nagrada, generalizacija, prenos v resnično okolje, odpoved modela — pokažejo namesto opišejo. Modul: »Zakaj model ni program« v 90 minutah, s poklonom kot vodilno nitjo.
C. Interni sim2real hackathon. Ekipe dobijo isti robot in različne cilje (najhitrejša hoja, najbolj stabilno vstajanje). Merilo je objektivno, telemetrija je zapisljiva v JSONL. Napor: dva dni priprave, GPU ali proračun za HF Jobs.
D. Raziskave utelešenih agentov. Ker je predvidena pot za LLM-agente WebSocket + get_frame + pošiljanje namer, je Microduck ena cenejših platform za preizkušanje vprašanja »kaj se zgodi, ko jezikovni model dobi telo«. Za delo z večagentnimi arhitekturami je to naravno nadaljevanje.
E. UX in HRI-raziskave. Kamera z indikatorjem, mikrofon, generiran glas na robota — dovolj za študije zaupanja, sprejemljivosti in tega, kdaj ljudje robotu pripišejo namero.

7. Omejitve, tveganja in skladnost
| Področje | Ugotovitev |
|---|---|
| »Odprtokoden« | Samo programska oprema. Mehanska in elektronska zasnova nista objavljeni. Popravilo je odvisno od rezervnih delov proizvajalca (Dev pack). |
| Zasebnost / GDPR | Kamera in mikrofon v pisarni ali domu. Pri uporabi na delovnem mestu potrebujete oceno in obvestilo zaposlenim; pri snemanju udeležencev delavnice soglasje. |
| Privzeti PIN | Tovarniško nastavljen PIN je 000000. Prva stvar po prevzemu: sudo robotctl system set-pin. |
| Akt o umetni inteligenci | Sam po sebi minimalno tveganje. Če pa robota vgradite v storitev, ki ocenjuje ali profilira ljudi, se klasifikacija spremeni. |
| Varnost izdelka | Starostno priporočilo še ni določeno. Če ga uporabljate z otroki v poslovnem kontekstu, tega ne oglašujte kot igračo, dokler proizvajalec ne objavi klasifikacije. |
| SDK | Jeziki SDK še niso dokončani. Danes so zanesljivo dokumentirani robotctl, duckctl in JSON‑RPC pogodba. |
| Avtonomija | Približno ena ura. Za celodnevni dogodek potrebujete vsaj 4 baterije in dvojni polnilnik. |
| Dobavljivost | Prednaročilo, prve dostave ciljane pred božičem 2026. Za delavnico v prvi polovici 2027: naročite zdaj ali računajte na simulator. |
Glosar (EN → SL)
| Angleško | Slovensko / pomen |
|---|---|
| policy | politika — naučena preslikava iz opazovanja v ukaz sklepom |
| sim-to-real (sim2real) | prenos iz simulacije na resnično strojno opremo |
| domain randomization | randomizacija domene — naključno spreminjanje fizikalnih parametrov med učenjem |
| PPO | Proximal Policy Optimization, algoritem spodbujevalnega učenja |
| MuJoCo / mjlab | fizikalni simulator in učno ogrodje |
| ONNX | odprt format za izmenjavo nevronskih modelov |
| backlash | zračnost zobnikov — mrtvi kot v prenosu |
| IMU | inercialna merilna enota |
| ToF | senzor razdalje na osnovi časa preleta |
| deadman | varnostni mehanizem, ki ustavi robota ob izpadu ukazov |
| episodic / perpetual policy | politika s končnim trajanjem / politika, ki teče do preklica |
| hot-swapping | zamenjava politike med delovanjem, brez ponovnega zagona |
Predpostavke in samopreverjanje
Predpostavke: zanima vas predvsem uporabnost za izobraževanje in svetovanje, ne nakup igrače; nimate nujno namenskega GPU-strežnika; cena 399 USD je pred davki in dostavo, evrska cena z DDV in dostavo v Slovenijo še ni objavljena; podatki so povzeti po uradni strani, tiskovnem kompletu in repozitorijih na dan pisanja.
Kaj v tem zapisu ni preverjeno: natančne sheme parametrov klicev JSON‑RPC (robot.do, robot.state). Preden načrtujete integracijo LLM-agenta, preglejte duck-ipc-proto v repozitoriju.
Viri
Microduck — uradna stranTiskovni kompletGitHub: microduckGitHub: microduck_rlSimulator na Hugging Face