Matrika treniranja AY-Robots s petimi vrsticami politik in štirimi stolpci robotskih rok, vsaka celica povezuje na specifičen model in vodnik za treniranje roke
ACTSO-100lerobotučenje z imitacijotreniranje politik

Kako trenirati ACT na SO-100 od začetka

AY-Robots ResearchAugust 23, 202616 min branja

Trenirajte Action Chunking Transformer od začetka na SO-100 z lerobot: konfiguracija act, chunk_size in n_action_steps, razpored 100000 korakov, 20 ms sklepanja.

ACT je izjema med politikami SO-100. GR00T N1.7 in N1.5 izhajata iz nvidia/GR00T-N1.7-3B in nvidia/GR00T-N1.5-3B, Pi0.5 iz lerobot/pi05_base. ACT začne iz nič: ni osnovne kontrolne točke, ker ni temeljnega modela. Gre za transformator s približno 80 milijoni parametrov, ki ga trenirate od začetka za eno nalogo, na vaši roki, pod vašo osvetlitvijo.

Zato tudi izvede kontrolni korak v 20 ms, medtem ko 3 milijarde parametrov velik VLA potrebuje 152 do 485 ms in stane 1 do 3 USD na zagon namesto 4 do 12. Ta vodnik opisuje ročno pot z lerobot na SO-100: snemanje, konfiguracija act, kaj chunk_size in n_action_steps nadzorujeta, razpored 100000 korakov, izvedba. Nato isto delo na AY-Robots, vključno s tem, kje platforma ne pomaga.

Kaj morate vedeti

  • ACT se trenira od začetka: brez osnovnega modela, brez predhodnega treniranja, brez jezikovnega vnosa. Ena kontrolna točka, ena naloga.
  • Članek: približno 80 M parametrov, okoli 5 ur na 11 GB RTX 2080 Ti, 0.01 s sklepanja.
  • lerobot defaults: chunk_size 100, n_action_steps 100, batch 8, lr 1e-5, 100000 steps, seed 1000.
  • Na AY-Robots: 20 ms na korak, najhitrejši od petih. Najmanj 50 epizod, LeRobot v3.0, 24 GB kartica, 1 do 3 USD na zagon.
  • Zmaguje pri nalogi, ki jo je že videl, in izgubi v trenutku, ko želite jezikovno pogojenost.
Katere različice to opisuje

Preverjeno 23. avgusta 2026 proti lerobot 0.6.x: pyproject.toml na main bere version = "0.6.2", najnovejša oznaka v0.6.1, 3. avgust 2026. Vodnik, ki se začne z python lerobot/scripts/train.py je starejši od vstopnih točk konzole lerobot-train, lerobot-record in lerobot-rollout.

Kaj je ACT v resnici

Action Chunking with Transformers izhaja iz članka ALOHA, Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware, avtorjev Zhao, Kumar, Levine in Finn, arXiv, 23. april 2023. Naprava snema pri 50 Hz s štirimi spletnimi kamerami, ki pretakajo 480x640 pri 30 sličicah na sekundo: dve na prijemalih, ena zgoraj, ena spredaj. Povzetek trdi, da je doseženih šest spretnosti z 80 do 90-odstotno uspešnostjo, med njimi odpiranje prozorne posodice za začimbe in vstavljanje baterije, na podlagi 10 minut demonstracij.

Glavni del je bolj uporaben pri načrtovanju snemalne seje: 50 demonstracij na nalogo, razen Thread Velcro pri 100, kar pomeni 10 do 20 minut podatkov in 30 do 60 minut realnega časa, ko so vključene ponastavitve. Uspešnost prav tako ni enotna: Thread Velcro se konča pri 20 odstotkih, Put On Shoe pri 92, Cup Open 84, Prep Tape 64.

HiperparameterČlanek ALOHA, Tabela IIIlerobot na main
učna stopnja1e-5optimizer_lr = 1e-5
velikost paketa8batch_size = 8, in TrainPipelineConfig not ACTConfig
plastni kodirnika / dekodirnika4 / 7n_encoder_layers = 4 / n_decoder_layers = 1
velikost bloka k100chunk_size = 100
latentna dimenzija zmanjka; Slika 11 prikazuje projekcijo od 32 do 512latent_dim = 32
časovno združevanjemanjka; --temporal_agg v referenčni koditemporal_ensemble_coeff = None
Vrstica dekoderskega sloja ni tipkarska napaka

Članek navaja 7 dekoderskih slojev, lerobot jih namerno uporablja 1. Komentar v configuration_act.py pravi, da ima prvotna implementacija napako, kar pomeni, da se uporablja samo prvi sloj, sklicujoč se na težavo 25 v tonyzhaozh/act: glava akcije bere hs[0], tako da se vseh sedem slojev izvede, vendar le prvi izhod doseže napoved. Ta težava je odprta in neodgovorjena od 23. aprila 2024. lerobot se ujema z vedenjem, ki je proizvedlo objavljene rezultate, ne z natisnjenim številom. Povečajte --policy.n_decoder_layers in trenirali boste model, ki ga članek nikoli ni ovrednotil.

Razdelitev akcij na bloke je bistvo ideje

Običajno kloniranje vedenja preslika eno opazovanje v eno akcijo, napake pa se kopičijo: odstopanje postavi roko izven porazdelitve, kar povzroči slabšo akcijo, in trideset korakov kasneje je prijemalo daleč od predmeta. Razdelitev akcij na bloke hkrati napove k akcij in jih izvede, s čimer zmanjša učinkovit horizont za faktor k. Obravnava tudi nadležno posebnost človeških podatkov: teleoperatorji se ustavijo, enostopenjski Markovsko politika ne more modelirati premora, ki je odvisen od prejšnjih dogodkov.

Članek ablira k, namesto da bi ga potrdil. Z izključenim časovnim združevanjem, povprečno čez štiri nastavitve, se uspešnost dvigne z 1 odstotka pri k = 1 na 44 odstotkov pri k = 100, nato pa se zmanjša pri 200 in 400, ko se politika približuje odprtozančnemu nadzoru. Ta krivulja je razlog, zakaj je privzeta vrednost 100.

  • chunk_size: koliko prihodnjih dejanj dekoder predvidi na en prehod naprej. Privzeto 100.
  • n_action_steps: koliko jih izvedete, preden ponovno pošljete poizvedbo. Privzeto 100, tako da lerobot celoten kos izvede v odprti zanki.
  • lerobot preveri n_action_steps <= chunk_size in sproži ValueError, če sta vrednosti zamenjani.

Operativno je pomembno razmerje med chunk_size in hitrostjo sličic. Pri 30 sličicah na sekundo, ki jih uporabljajo primeri lerobot SO-100, kos 100 dejanj zajema približno 3,3 sekunde od enega opazovanja. Če naloga zahteva popravek znotraj tega okna, znižajte n_action_steps, ne chunk_size: ohranite dolgo napoved in pogosteje ponovno opazujete.

bash
# predict 100 actions, re-query after 25 of them (about 0.8 s at 30 fps)
lerobot-train \
  --dataset.repo_id=${HF_USER}/so100_cube \
  --policy.type=act \
  --policy.chunk_size=100 \
  --policy.n_action_steps=25 \
  --policy.device=cuda
Skrajšanje izvedenega dela kosa brez skrajšanja napovedi.
Past časovnega združevanja

Nastavite --policy.temporal_ensemble_coeff in lerobot zahteva n_action_steps = 1, sicer sproži NotImplementedError. Združevanje poizveduje politiko v vsakem časovnem koraku in združuje prekrivajoče se napovedi za ta časovni korak z utežmi w_i = exp(-m * i), pri čemer najstarejša dobi w_0. Članek navaja 3,3 odstotka za ACT: resnično, a skromno, in pomnoži število sklepanj z dolžino kosa. Cenovno ugodno pri 20 ms na korak, ne pa pri 485 ms. Glejte latenco sklepanja.

Ko ACT premaga temeljni model

Pet učljivih politik druga ob drugi, s številkami, ki jih AY-Robots meri in uporablja za določanje velikosti GPU-ja, ki ga najema.

PolitikaDružinaParametriNa korakRazred GPU-jaMin. epizodeNabor podatkov
ACTTransformator s segmentiranjem, iz nič~80 M20 msRTX 4090 / 24 GB50LeRobot v3.0
SmolVLAKompaktni VLA~450 M245 msRTX 4090 / 24 GB30LeRobot v3.0
GR00T N1.7VLA temelj, difuzijska glava~3 B (~40 M trained)152 msA100 / H100 80 GB50LeRobot v2.0 or v2.1
GR00T N1.5VLA temelj, predhodnik~3 B165 msA100 / H100 80 GB50LeRobot v2.0 or v2.1
Pi0.5VLA z ujemanje tokov, glej ujemanje tokov~3 B, PaliGemma backbone485 msA100 / H100 80 GB50LeRobot v3.0
Stran s politikami AY-Robots, ki prikazuje primerjalno tabelo ACT, SmolVLA, GR00T N1.5, GR00T N1.7 in Pi0.5 s številom parametrov, zahtevami za GPU, zakasnitvijo sklepanja in minimalnim številom epizod
Tabela /policies: ACT ima najmanjše število parametrov in najkrajši čas koraka.
Usposabljanje ACT od začetka
Prednosti
  • 20 ms na korak dejanja, najhitrejši od petih, na 24 GB kartici, ne na A100.
  • 1 do 3 USD na zagon v primerjavi s 4 do 12 za razred 3 B.
  • Natančen pri delu z veliko stiki, ki ga je videl: 88 in 96 odstotkov pri Slide Ziploc in Slot Battery, kjer prejšnje metode nikoli niso prešle prve faze.
Kompromisi
  • Brez jezikovnega pogojevanja: niz naloge je prezrt, zato je ena kontrolna točka ena naloga.
  • Brez semantičnih predznanj: vse, kar ve, izvira iz vaših 50 epizod.
  • Ozka generalizacija: premaknite kamero in že se ponovno usposabljate.
  • Tiho odpove: izguba pade, roka ne naredi ničesar, dnevniki ne povedo ničesar.
  • Prednost hitrosti pomaga le, če sklepanje poteka ob servo motorjih.

Izberite ACT, ko sta naloga in scena fiksni, gibanje pa mora biti hitro in natančno. Izberite ko mora ena kontrolna točka pokrivati več navodil. Dve strani obravnavata odločitev neposredno: in . Za objavljene meritve uspešnosti, povezuje vsako številko z njenim virom.

Kaj potrebujete, preden začnete

Ena sledilna roka, ena vodilna roka za , vsaj ena kamera, 24 GB GPU. ACT bere samo slike in položaje sklepov. Dve kameri sta optimalni: fiksni sprednji pogled za to, kje so stvari, in zapestna kamera za to, česa se bo dotaknil , kot pri ALOHA.

RokaServomotorjiNapetostCena delovStatus
SO-100Feetech STS32157.4 V~110 do 150 EURPolna podpora, referenčna roka
SO-101Feetech STS32157.4 V~130 do 170 EURPolna podpora
Koch v1.1Dynamixel XL330 / XL4305 V in 12 V napajalni tiri~250 do 350 EURZdružljivo
LeKiwiFeetech STS3215 (roka)7.4 V roka, 12 V osnova~400 do 500 EURZdružljivo
7.4 V, ne 12 V

SO-100 in SO-101 uporabljata servomotorje Feetech STS3215 na 7.4 V napajalnem tiru. Napajanje z 12 V jih uniči, dovolj tiho, da ljudje najprej krivijo programsko opremo, in 12 V napajalnik Koch se fizično prilega plošči SO-100. Preverite nalepko. Simptomi: servomotor se ne odziva, roka trza in nato popusti. Glej tudi SO-100 proti SO-101.

Od gole roke do posnetega nabora podatkov

Spodnji potek je lerobot 0.6.x. Preskočite ga, če imate kalibrirano roko in nabor podatkov. Sicer pa vodnik za začetek uporabe SO-100, zajema sestavljanje, navodila za snemanje zajema zajemanje in dokumentacija nabora podatkov format.

  1. 1
    Namestite lerobot s pravimi dodatki

    Za snemanje so potrebni core_scripts, za usposabljanje training, za Feetech servo motorje feetech. Python 3.12+.

    bash
    conda create -y -n lerobot python=3.12
    conda activate lerobot
    conda install ffmpeg -c conda-forge
    
    pip install 'lerobot[core_scripts,training,feetech]'
    lerobot-info
  2. 2
    Poiščite USB vrata vsake roke

    Zaženite ga z obema rokama priključenima, eno odklopite, ko ste pozvani. V Linuxu boste morda morali odpreti dovoljenja vozlišča.

    bash
    lerobot-find-port
    # on Linux, if the port exists but is unreadable:
    sudo chmod 666 /dev/ttyACM0
  3. 3
    Nastavite ID-je motorjev in hitrost prenosa

    Na SO-100 se to zgodi pred montažo: za razliko od SO-101 so konektorji po sestavi nedosegljivi. Skript preide po vodilu en motor naenkrat od prijemala in zapiše ID-je v EEPROM.

    bash
    lerobot-setup-motors \
        --robot.type=so100_follower \
        --robot.port=/dev/ttyACM0
    
    lerobot-setup-motors \
        --teleop.type=so100_leader \
        --teleop.port=/dev/ttyACM1
  4. 4
    Kalibrirajte obe roki

    Nastavite vsak sklep na sredino njegovega območja, pritisnite Enter, nato pa vsakega premaknite skozi celotno območje. Kalibracija omogoča, da se politika, usposobljena na eni roki, izvaja na drugi. Ponovno uporabite isti id.

    bash
    lerobot-calibrate \
        --robot.type=so100_follower \
        --robot.port=/dev/ttyACM0 \
        --robot.id=my_follower
    
    lerobot-calibrate \
        --teleop.type=so100_leader \
        --teleop.port=/dev/ttyACM1 \
        --teleop.id=my_leader
  5. 5
    Teleoperirajte enkrat z vključenimi kamerami

    Pravilo lerobota: nalogo bi morali biti sposobni opraviti samo z gledanjem slik kamere. Če ne morete, tudi ACT ne more. To zajame več slabih podatkovnih nizov kot kasnejše odpravljanje napak.

    bash
    lerobot-teleoperate \
        --robot.type=so100_follower \
        --robot.port=/dev/ttyACM0 \
        --robot.id=my_follower \
        --robot.cameras="{ front: {type: opencv, index_or_path: 0, width: 640, height: 480, fps: 30}, wrist: {type: opencv, index_or_path: 1, width: 640, height: 480, fps: 30} }" \
        --teleop.type=so100_leader \
        --teleop.port=/dev/ttyACM1 \
        --teleop.id=my_leader \
        --display_data=true
  6. 6
    Posnemite 50 epizod

    50 je minimum za AY-Robots in kar je ALOHA uporabila na nalogo. lerobot svetuje 10 na lokacijo objekta, fiksne kamere, dosleden prijem. n konča epizodo, r ponovno posname, q ustavi in kodira.

    bash
    HF_USER=$(NO_COLOR=1 hf auth whoami | awk -F': *' 'NR==1 {print $2}')
    
    lerobot-record \
        --robot.type=so100_follower \
        --robot.port=/dev/ttyACM0 \
        --robot.id=my_follower \
        --robot.cameras="{ front: {type: opencv, index_or_path: 0, width: 640, height: 480, fps: 30}, wrist: {type: opencv, index_or_path: 1, width: 640, height: 480, fps: 30} }" \
        --teleop.type=so100_leader \
        --teleop.port=/dev/ttyACM1 \
        --teleop.id=my_leader \
        --dataset.repo_id=${HF_USER}/so100_cube \
        --dataset.num_episodes=50 \
        --dataset.single_task="Grab the black cube and put it in the bin" \
        --display_data=true
Stran z vadnico za snemanje AY-Robots, ki pojasnjuje, kako zajeti podatkovni niz v formatu LeRobot iz seje teleoperacije
Vadnica za snemanje. Namizni odjemalec zapiše enako postavitev kot lerobot-record.
Past, ki požre dan: nedosleden podatkovni niz

ACT nima predznanja, na katerega bi se lahko zanašal, zato vsaka nedoslednost postane trajna. Tri najdražje: kamera, premaknjena med epizodo 20 in 21, svetloba, ki se je spremenila, ker ste polovico niza posneli popoldne, prijem, izveden na dva načina. Vsak daje popolno krivuljo izgube in roko, ki gre na napačno mesto. Glejte izguba pade, politika ne dela nič, politika deluje samo v eni nastavitvi in zbiranje visokokakovostnih podatkov za usposabljanje.

Pred usposabljanjem predvajajte vsaj pet epizod. Format podatkovnega niza LeRobot shranjuje tokove kamere, stanja sklepov in dejanja na epizodo, in predvajanje potisne ta dejanja nazaj na roko. Če predvajanje ne opravi naloge, podatki tega ne vsebujejo in usposabljanje tega ne bo izumilo.

bash
lerobot-replay \
    --robot.type=so100_follower \
    --robot.port=/dev/ttyACM0 \
    --robot.id=my_follower \
    --dataset.repo_id=${HF_USER}/so100_cube \
    --dataset.episode=0
Ponovno predvajanje epizode 0. Če to ne uspe, ustavite in ponovno posnemite.

Usposabljanje politike ACT

To je celoten ukaz. Vse, kar je specifično za ACT, je že privzeto, zato stran lerobot ACT priporoča, da začnete z njimi.

bash
lerobot-train \
  --dataset.repo_id=${HF_USER}/so100_cube \
  --policy.type=act \
  --output_dir=outputs/train/act_so100_cube \
  --job_name=act_so100_cube \
  --policy.device=cuda \
  --wandb.enable=true \
  --policy.repo_id=${HF_USER}/act_so100_cube
Ukaz za usposabljanje iz dokumentacije lerobot 0.6.x, na naboru podatkov SO-100.

--policy.type=act naloži ACTConfig, ki se prilagodi številu motorjev in kamer, ki jih je zabeležil vaš nabor podatkov, tako da nikoli ne deklarirate oblike opazovanja. --wandb.enable=true je neobvezen in vreden truda: krivulja izgube je edini poceni signal v teku s 100000 koraki. Razpored prihaja iz konfiguracije usposabljanja lerobot, ne iz ACTConfig: 100000 korakov, serija 8, seme 1000, kontrolna točka vsakih 20000 korakov, beleženje vsakih 200.

Celoten zagon pusti pet imenikov kontrolnih točk, od 020000 do 100000, plus simbolno povezavo last. Obdržite jih vse: najboljša politika pogosto ni zadnja.

NastavitevPrivzeto v lerobotAY-Robots ACT oblikaKomentar
Velikost serije88Znižajte jo najprej, če naletite na omejitve VRAM-a.
Učna stopnja1e-51e-5Enako kot v ALOHA članku.
Največ korakov100000100000Približno tam, kjer se nabor 50 epizod preneha izboljševati.
Akumulacija gradienta11, ne veljaNamesto tega spremenite velikost serije.
Seme1000exposedVhodna točka tyro GR00T nima semena; ACT zagoni so tisti, ki jih je mogoče reproducirati.
chunk_size / n_action_steps100 / 100100 / 100, urejivoHorizont napovedi in izvedbe. Znižajte drugega, ne prvega.
Frekvenca kontrolnih točk20000not exposedsaveSteps je tukaj gumb GR00T.
Pomanjkanje pomnilnika je problem velikosti serije, ne problem kartice

ACT pri velikosti serije 8 z dvema kamerama 640x480 se udobno prilega na 24 GB. Preneha se prilegati, ko ljudje povečajo velikost serije za hitrost ali mu dovajajo okvirje 1920x1080, kot kaže en primer snemanja lerobot. Dva ResNet-18 hrbtenici pri 1080p imata zelo drugačen pomnilniški profil. Znižajte --batch_size na 4, preden najamete večjo kartico. Glejte pomanjkanje pomnilnika pri usposabljanju.

Trajanje: približno 5 ur na 11 GB RTX 2080 Ti v članku, nekaj ur za 100k korakov po strani ACT lerobota, 2 do 5 ur na AY-Robots 24 GB nivoju. Ne prekinjajte prezgodaj. README referenčnega repozitorija pravi, da sunkovita ali prekinjajoča se politika običajno potrebuje le več urjenja, ker se uspeh in gladkost še naprej izboljšujeta tudi po tem, ko se izguba stabilizira: za podatke iz resničnega sveta potrebuje vsaj 5000 epoh, ali 3 do 4-kratno dolžino po stabilizaciji.

bash
lerobot-train \
  --config_path=outputs/train/act_so100_cube/checkpoints/last/pretrained_model/train_config.json \
  --resume=true
Nadaljevanje prekinjenega izvajanja od zadnje kontrolne točke.

Izvajanje usposobljene politike na roki

Uporaba v produkciji uporablja lerobot-rollout. Ključi kamere se morajo ujemati z zabeleženimi: politika, usposobljena na front in wrist ne bo sprejela cam0 in cam1, in rename_map ne pomaga, saj potrebuje predhodno usposobljeno kontrolno točko. Niz naloge je mogoče izpustiti; lerobotovi lastni primeri ga označujejo kot izpustljivega za ACT.

bash
lerobot-rollout \
  --strategy.type=base \
  --policy.path=${HF_USER}/act_so100_cube \
  --robot.type=so100_follower \
  --robot.port=/dev/ttyACM0 \
  --robot.id=my_follower \
  --robot.cameras="{ front: {type: opencv, index_or_path: 0, width: 640, height: 480, fps: 30}, wrist: {type: opencv, index_or_path: 1, width: 640, height: 480, fps: 30} }" \
  --display_data=true \
  --duration=60
Avtonomni zagon brez snemanja. Uporabite --strategy.type=sentry za snemanje epizod evalvacije.
Ta ukaz je bil nedavno preimenovan, zato se starejše vadnice ne ujemajo

Evalvacija se je prej izvajala z lerobot-record --policy.path=.... V različici 0.6.x je to lerobot-rollout z izbirnikom --strategy.type: base, sentry (snemanje s samodejnim nalaganjem), highlight (obročasti pomnilnik, shranjen s pritiskom na tipko), dagger (človek v zanki) in episodic. Od 23. avgusta 2026 stran z dokumentacijo ACT še vedno navaja "uporabo ukaza lerobot-record" neposredno nad blokom, ki izvaja lerobot-rollout. Sledite ukazu, ne stavku.

Za pripenjanje kontrolne točke namesto končnega modela dodajte --policy.pretrained_revision. To zahteva, da se je zagon začel z --save_checkpoint_to_hub=true, privzeto izklopljeno: brez tega lerobot potisne končni model in nič drugega. Z njim je vsaka kontrolna točka označena s svojim korakom, dopolnjenim z ničlami, tako da --policy.pretrained_revision=060000 obnovi tisto s 60000 koraki. Primerjava s 100000 na pravi roki je najcenejši razpoložljiv eksperiment.

Dve poti do iste kontrolne točke

Vse zgoraj opisano je ročna pot in deluje. Pot preko platforme zamenja nadzor za to, da vam ni treba imeti lastnega GPU-ja ali Python okolja.

  1. Namestite lerobot 0.6.x z core_scripts, training, feetech, ffmpeg.
  2. Poiščite vrata, nastavite ID-je motorjev, kalibrirajte obe roki, posnemite 50 epizod.
  3. Predvajajte nekaj epizod, da potrdite, da podatki vsebujejo nalogo.
  4. Najemite ali imejte lasten 24 GB GPU, uskladite CUDA in PyTorch, zaženite lerobot-train --policy.type=act.
  5. Počakajte nekaj ur, nato zaženite lerobot-rollout na stroju pri roki.
bash
# the two commands that matter, end to end
lerobot-record --robot.type=so100_follower --robot.port=/dev/ttyACM0 \
  --teleop.type=so100_leader --teleop.port=/dev/ttyACM1 \
  --dataset.repo_id=${HF_USER}/so100_cube --dataset.num_episodes=50 \
  --dataset.single_task="Grab the black cube"

lerobot-train --dataset.repo_id=${HF_USER}/so100_cube --policy.type=act \
  --output_dir=outputs/train/act_so100_cube --policy.device=cuda
Kaj vam omogoča ta pot

Popoln nadzor: uredite configuration_act.py, dodajte kamero, forknite trenerja. Za raziskave, namesto za izvedbo naloge, je platforma moteča.

Matrika za usposabljanje AY-Robots s petimi vrsticami politik in štirimi stolpci robotskih rok, kjer vsaka celica povezuje na specifičen vodnik za usposabljanje za to kombinacijo modela in roke.
Matrika na /train. Vrstica ACT proti stolpcu SO-100 je vodnik tega članka.

Kaj gre dejansko narobe

Skoraj nobena težava ni v samem ukazu za učenje. Težave so v stvareh okoli njega, razvrščenih po pogostosti, s katero se pojavijo prvič.

SimptomObičajen vzrokStran
lerobot-find-port ne prikaže ničesarGonilnik, kabel ali dovoljenja vozliščarobotova roka ni zaznana
Kamera manjka ob času snemanjaIndeks se je spremenil ob ponovnem zagonu, ali dve kameri na enem USB krmilnikukamera ni zaznana
Učenje zavrne nabor podatkovACT zahteva v3.0, GR00T potrebuje v2.1nabor podatkov zavrnjen kot v3
CUDA zmanjkalo pomnilnikaVelikost paketa povečana, ali 1080p sličice namesto 480pzmanjkalo pomnilnika med učenjem
Izguba izgleda odlično, roka ne dela ničesarPodatki nimajo naloge, ali se je kamera premaknilaizguba pade, politika ne dela ničesar
Sunkano gibanje ali premor sredi epizodePremalo naučeno, zastoj na meji bloka, ali časovno potekel klic sklepanjapolitika zamrzne sredi gibanja

Dve vrstici si zaslužita poudarek. ACT se uči na LeRobot v3.0, medtem ko se GR00T-ov nalagalnik na njem zruši in potrebuje v2.1, zato lahko nabor podatkov, ki uči ACT, povzroči neuspeh pri zagonu GR00T. In zadnja vrstica ima dva popravka: avtorji ACT na sunkovito gibanje odgovorijo z več učenja, medtem ko z n_action_steps pri 100 se pravi zastoj pojavi na meji bloka, vidna pavza vsakih 3.3 sekunde pri 30 sličicah na sekundo. Še dve stvari, ki jih je dobro vedeti: en sam mrtev sklep je običajno ID servomotorja, ki ni bil nikoli zapisan, in prijemalo, ki se približa, a se nikoli ne zapre pomeni premajhen razpon prijemala v demonstracijah. Celoten indeks: strani z načini napak.

Kaj stane zagon

StopnjaModeliČas izvajanjaCena na uroCena na zagon
RTX 4090 / 24 GBACT, SmolVLA2 to 5 hours0.30 to 0.60 USDabout 1 to 3 USD
A100 80 GB / H100GR00T N1.7, GR00T N1.5, Pi0.53 to 6 hours1.20 to 2.00 USDabout 4 to 12 USD

To je argument za začetek z ACT, tudi če kasneje želite VLA. Neuspešen zagon ACT stane toliko kot kava in vam v nekaj urah pove, ali vaš nabor podatkov vsebuje nalogo. Neuspešen zagon GR00T stane štirikrat več za isto lekcijo. Premik na GR00T N1.7 ali SmolVLA kasneje je sprememba oblike, ne pa ponovna izgradnja. Ozadje: modeli vida, jezika in dejanj, popoln vodnik za SO-100, trenirajte svojo prvo politiko in učenje z imitacijo. Nimate roke? Stran v živo pretaka pravi SO-100, ki ga lahko upravljate brez prijave.

Trenirajte ACT na svojem SO-100

Vodnik za točno to kombinacijo: privzete nastavitve, stopnja GPU-ja in stroški zagona. Izberite nabor podatkov, zaledje najame kartico in zapiše kontrolne točke.

Odpri vodnik za usposabljanje
Ali obstaja predhodno usposobljen model ACT, ki ga lahko namesto tega natančno nastavim?

Ne. ACT nima osnovnega modela; obstaja šele, ko ga usposobite. To ni pomanjkljivost v orodjih, temveč je to, kar ACT je: članek usposablja politiko od začetka za vsako nalogo. Za kontrolno točko prodajalca uporabite GR00T N1.7 ali Pi0.5.

Koliko epizod resnično potrebujem?

50: kar je ALOHA posnela na nalogo (100 za Thread Velcro, najtežjo) in minimum AY-Robots. lerobot svetuje približno 10 na lokacijo predmeta, s fiksnimi kamerami in doslednim prijemom. Petdeset čistih epizod je boljših od sto, kjer se je kamera premikala.

Ali naj spremenim chunk_size iz 100?

Ponavadi ne. Ablacija se povzpne z 1 odstotka pri k = 1 na 44 odstotkov pri k = 100 in se nato zmanjša, tako da je 100 blizu vrha. Če se roka predolgo zavezuje, namesto tega znižajte n_action_steps: pri 30 sličicah na sekundo, 25 ponovnih poizvedb vsakih 0,8 sekunde.

Kako dolgo traja usposabljanje in ali ga lahko ustavim prej?

Dve do pet ur na 24 GB kartici za 100000 korakov. Kontrolne točke se shranijo vsakih 20000 korakov in --resume=true nadaljuje z zagonom, zato je zgodnje ustavljanje varno. Le ne pri prvem ravnem delu: gladkost se izboljša, ko se izguba stabilizira.

Izguba se je zmanjšala, roka pa še vedno odpove. Kaj zdaj?

Skoraj vedno je kriv nabor podatkov. Predvajajte posnete epizode na roki: če predvajanje ne opravi naloge, podatki te ne vsebujejo. Nato preverite, ali se je kaj premaknilo, še posebej kamera. ACT nima predhodnih znanj, zato je premik v epizodi 21 trajen.

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started