Robotika · RL · sim2real · embodied AI

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.

25 cmdvonožni namizni robot
399 USDpred davki in dostavo
50 Hzkrmilna zanka, ONNX politike
2026prednaročila od 27. avgusta, prve dostave pred božičem
Pozor na pogosto napako: odprtokodna je programska oprema, ne strojna oprema. Proizvajalec izrecno prosi, naj se Microducka ne opisuje kot »open-source hardware«.

Microduck v eni sliki: ključne številke in osnovna ideja robota.
Infografika 01/09 — Microduck v eni sliki: ključne številke in osnovna ideja robota.

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).

Vedenje kot naučena politika: simulacija → ONNX → fizični robot.
Infografika 02/09 — Vedenje kot naučena politika: simulacija → ONNX → fizični robot.

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.

Microduck — runtime architecture
gamepadBLE/USB
phoneBLE
laptopssh / robotctl
remote peerWebRTC / WS
GitHub releasehttps
↓
JSON‑RPC 2.0 over unix sockets · robot.* · robot.health · update.* · net.* · pad.* · system.*
robotd50 Hz · policy · safety
configdwifi · identity · pairing
updaterdverify · swap · rollback
↓
Dynamixel bus (one UART) → 15 servos + IMU · tofd → 8×8 depth matrix

Arhitektura varnosti: namere odjemalcev, JSON-RPC in lokalni robotd.
Infografika 03/09 — Arhitektura varnosti: namere odjemalcev, JSON-RPC in lokalni robotd.

  1. robotd je edini, ki se dotika motorjev. Odjemalci pošiljajo namere — »pojdi tako hitro«, »poglej tja«, »vstani« — varnostni sloj v robotd pa odloči, kaj je dejansko izvedljivo.
  2. Deadman je vgrajen. Če ukazi nehajo prihajati ali se odzivni čas podaljša čez prag, robotd robota ustavi sam od sebe.
  3. 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.
  4. Posodobitve se zamenjajo, ne popravijo, s podpisom, zdravstvenim testom in samodejnim povratkom na prejšnjo različico.

Tri ravni uporabe: plošček, CLI in lastne RL-politike.
Infografika 04/09 — Tri ravni uporabe: plošček, CLI in lastne RL-politike.

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

Specifikacije po sistemih: aktuatorji, senzorji, računalnik, povezave in baterija.
Infografika 05/09 — Specifikacije po sistemih: aktuatorji, senzorji, računalnik, povezave in baterija.

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.

Use case za delavnico: poslovni poklon kot demonstracija sim2real poti.
Infografika 06/09 — Use case za delavnico: poslovni poklon kot demonstracija sim2real poti.

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.

  1. Predpogoji. GPU z CUDA in orodje uv; brez GPU dodate --hf-jobs in učenje teče na Hugging Face Jobs.
  2. Okolje in izhodiščno učenje. Najprej preverite, da veriga deluje na osnovni hoji.
  3. Nova naloga. V src/mjlab_microduck/tasks/ dodate modul konfiguracije okolja in nagrade za poklon.
  4. Vizualni pregled in izvoz. Politiko pred fizičnim robotom preverite v simulatorju in izvozite v ONNX.
  5. Namestitev na robota. Politiko objavite na Hugging Face Hub in jo na robotu dodate z robotctl policy add.
  6. 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 <...>
Opozorilo iz dokumentacije: izvoznik vgradi normalizator opazovanj v graf ONNX. Vedno namestite ONNX, ki ga je ustvaril 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.

Uporaba doma: učenje robotike, vstop v RL, senzorji in skupnost.
Infografika 07/09 — Uporaba doma: učenje robotike, vstop v RL, senzorji in skupnost.

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.
Omejitev: ena ura delovanja baterije. Za resno uporabo je Charger pack (39 USD) obvezen, ne opcijski.

Poslovna matrika: učinek in napor pri profesionalni uporabi Microducka.
Infografika 08/09 — Poslovna matrika: učinek in napor pri profesionalni uporabi Microducka.

6. Uporaba na delovnem mestu

6.1 Matrika učinek/napor za poslovno rabo

UČINEK
Quick winB. AI-literacy demo

Usposabljanje po 4. členu Akta o umetni inteligenci: fizična demonstracija modela, nagrade, generalizacije in odpovedi.

Strategic betD. Embodied-agent R&D

LLM kot visokonivojski planer, WebSocket pot za namere, robotd kot lokalna varnostna plast.

Fill-inA. Sejemski / recepcijski ice-breaker

Pozdrav, priklon, pobiranje predmeta. Pripravljalni čas: skoraj nič.

Resource sink?C. Interni sim2real hackathon

Objektivna merila in telemetrija, vendar zahteva pripravo, GPU ali proračun za HF Jobs.

NAPOR: nizko → visoko

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.

Tveganja in pravila igre: open-source, GDPR, PIN, EU AI Act, SDK in dobava.
Infografika 09/09 — Tveganja in pravila igre: open-source, GDPR, PIN, EU AI Act, SDK in dobava.

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