
Action Chunking Transformer'ni SO-100da lerobot yordamida noldan o'rgating: act config, chunk_size va n_action_steps, 100000 qadamli jadval, 20 ms inferens.
ACT SO-100 siyosatlari orasida g'ayrioddiy hisoblanadi. GR00T N1.7 va N1.5 quyidagilardan boshlanadi: nvidia/GR00T-N1.7-3B va nvidia/GR00T-N1.5-3B, Pi0.5 esa quyidagidan: lerobot/pi05_base. ACT hech narsadan boshlanadi: asosiy nazorat nuqtasi yo'q, chunki u asosiy model emas. Bu taxminan 80 million parametrlik transformer bo'lib, uni siz bir vazifa uchun, o'z qo'lingizda, o'z yoritgichingiz ostida noldan o'rgatasiz.
Shuning uchun ham u 20 ms ichida boshqaruv qadamini bajaradi, holbuki 3 milliard parametrlik VLA uchun 152 dan 485 ms gacha va har bir ishga tushirish uchun 4 dan 12 USD o'rniga 1 dan 3 USD turadi. Ushbu qo'llanma quyidagilar bilan qo'lda ishlash yo'lini ko'rsatadi: lerobot ustida: SO-100: yozish, act konfiguratsiyasi, chunk_size va n_action_steps nimani boshqarishi, 100000 qadamli jadval, rollout. Keyin AY-Robots platformasida xuddi shu ish, shu jumladan platforma yordam bermaydigan joylar ham.
Bilishingiz kerak bo'lgan narsalar
- •ACT noldan o'rgatiladi: asosiy model yo'q, oldindan o'qitish yo'q, til kiritish yo'q. Bitta nazorat nuqtasi, bitta vazifa.
- •Maqola: taxminan 80 M parametr, 11 GB RTX 2080 Ti da taxminan 5 soat, 0.01 s inferensiya.
- •lerobot sukut bo'yicha: chunk_size 100, n_action_steps 100, batch 8, lr 1e-5, 100000 qadam, seed 1000.
- •AY-Robots da: har bir qadam uchun 20 ms, beshtadan eng tezkor. Kamida 50 epizod, LeRobot v3.0, 24 GB karta, har bir ishga tushirish uchun 1 dan 3 USD.
- •U ko'rgan vazifada g'alaba qozonadi va til shartini xohlagan paytingizda yutqazadi.
2026-yil 23-avgustda lerobot 0.6.x ga nisbatan tekshirildi: main dagi pyproject.toml da version = "0.6.2" deb yozilgan, eng yangi teg v0.6.1, 2026-yil 3-avgust. python lerobot/scripts/train.py bilan boshlanadigan qo'llanma lerobot-train, lerobot-record va lerobot-rollout konsol kirish nuqtalaridan oldin yaratilgan.
ACT aslida nima
Action Chunking with Transformers ALOHA maqolasidan olingan, Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware, Zhao, Kumar, Levine va Finn tomonidan, arXiv, 2023-yil 23-aprel. Qurilma 50 Hz chastotada yozib oladi, to'rtta veb-kamera 480x640 o'lchamda 30 kadr/sek tezlikda oqim uzatadi: ikkitasi tutqichlarda, bittasi tepada, bittasi oldinda. Abstraktda 10 daqiqalik namoyishlardan so'ng, 80-90 foiz muvaffaqiyatga ega oltita ko'nikma, jumladan, shaffof ziravorlar idishini ochish va batareyani joylashtirish da'vo qilingan.
Yozib olish sessiyasini rejalashtirishda asosiy qism foydaliroq: har bir vazifa uchun 50 ta namoyish, Thread Velcro uchun 100 ta bundan mustasno, bu 10 dan 20 daqiqagacha ma'lumot va qayta tiklashlar hisobga olinganda 30 dan 60 daqiqagacha umumiy vaqtni tashkil qiladi. Muvaffaqiyat ham bir xil emas: Thread Velcro 20 foizda tugaydi, Put On Shoe 92, Cup Open 84, Prep Tape 64.
| Giperparametr | ALOHA maqolasi, III jadval | lerobot asosiyda |
|---|---|---|
| o'rganish tezligi | 1e-5 | optimizer_lr = 1e-5 |
| paket hajmi | 8 | batch_size = 8, in TrainPipelineConfig not ACTConfig |
| kodlovchi / dekodlovchi qatlamlar | 4 / 7 | n_encoder_layers = 4 / n_decoder_layers = 1 |
| bo'lak hajmi k | 100 | chunk_size = 100 |
| z ning yashirin o'lchami | mavjud emas; 11-rasm 32 dan 512 gacha proyeksiyani ko'rsatadi | latent_dim = 32 |
| vaqtinchalik ansambl | mavjud emas; --temporal_agg mos yozuvlar kodida | temporal_ensemble_coeff = None |
Maqolada 7 ta dekoder qatlami ko'rsatilgan, lerobot ataylab 1 ta qatlamni yetkazib beradi. `configuration_act.py` dagi izohda aytilishicha, asl implementatsiyada faqat birinchi qatlam ishlatilishini anglatuvchi xato bor, tonyzhaozh/act dagi 25-sonli muammoga havola qilingan: harakat boshi `hs[0]` ni o'qiydi, shuning uchun barcha yetti qatlam ishlaydi, ammo faqat birinchi natija bashoratga yetib boradi. Bu muammo 2024-yil 23-apreldan beri ochiq va javobsiz qolmoqda. lerobot chop etilgan natijalarni keltirib chiqargan xatti-harakatlarga mos keladi, bosilgan raqamga emas. `--policy.n_decoder_layers` ni oshirsangiz, maqolada hech qachon baholanmagan modelni o'rgatasiz.
Harakatni bo'laklarga bo'lish butun g'oya
Oddiy xulq-atvor klonlash bir kuzatuvni bir harakatga moslashtiradi va xatolar yig'ilib boradi: og'ish qo'lni taqsimotdan chiqarib yuboradi, yomonroq harakatni keltirib chiqaradi va o'ttiz qadamdan keyin tutqich ob'ektga yaqin ham bo'lmaydi. Harakatni bo'laklarga bo'lish bir vaqtning o'zida k ta harakatni bashorat qiladi va ularni bajaradi, samarali gorizontni k faktoriga kamaytiradi. Shuningdek, u inson ma'lumotlariga xos bo'lgan noqulaylikni ham hal qiladi: teleoperatorlar pauza qiladi va bir bosqichli Markov siyosat oldingi narsalarga bog'liq bo'lgan pauzani modellashtira olmaydi.
Maqolada k ni tasdiqlash o'rniga uni ablatatsiya qiladi. Vaqtinchalik ansambl o'chirilgan holda, to'rtta sozlamada o'rtacha hisobda, muvaffaqiyat k = 1 da 1 foizdan k = 100 da 44 foizgacha ko'tariladi, so'ngra siyosat ochiq-kontur boshqaruviga yaqinlashganda 200 va 400 da pasayadi. Bu egri chiziq nima uchun standart qiymat 100 ekanligini ko'rsatadi.
- chunk_size: dekoder har bir oldinga o'tishda qancha kelajakdagi harakatlarni bashorat qiladi. Standart 100.
- n_action_steps: qayta so'rov qilishdan oldin ulardan qanchasini bajarishingiz. Standart 100, shuning uchun lerobot butun bo'lakni ochiq tsiklda ishga tushiradi.
- lerobot
n_action_steps <= chunk_sizeni tasdiqlaydi va agar siz uni teskari qilsangiz,ValueErrorxatosini ko'taradi.
Operatsion jihatdan muhimi chunk_size ning kadr tezligiga bo'linganidir. lerobot'ning SO-100 misollari foydalanadigan 30 kadr/sekund tezligida, 100 ta bo'lak bitta kuzatuvdan taxminan 3.3 soniyani o'z ichiga oladi. Agar vazifa shu vaqt oralig'ida tuzatishni talab qilsa, n_action_steps ni kamaytiring, chunk_size ni emas: siz uzoq bashoratni saqlab qolasiz va tez-tez qayta kuzatasiz.
# 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--policy.temporal_ensemble_coeff ni o'rnating va lerobot n_action_steps = 1 ni talab qiladi, aks holda NotImplementedError xatosini ko'taradi. Ansambl har bir vaqt qadamida siyosatni so'raydi va shu vaqt qadami uchun bir-biriga mos keladigan bashoratlarni w_i = exp(-m * i) og'irliklari bilan aralashtiradi, eng eskisi w_0 ni oladi. Maqolada ACT uchun bu 3.3 foiz deb ko'rsatilgan: haqiqiy, ammo kamtarona, va u xulosa chiqarish sonini bo'lak uzunligiga ko'paytiradi. Har bir qadam uchun 20 ms da arzon, 485 ms da emas. Qarang: xulosa chiqarish kechikishi.
ACT asosiy modeldan ustun kelganda
Besh o'qitiladigan siyosat yonma-yon, AY-Robots o'lchaydigan va ijaraga olgan GPU hajmini aniqlash uchun foydalanadigan raqamlar bilan.
| Siyosat | Oilasi | Parametrlar | Har bir qadam uchun | GPU darajasi | Minimal epizodlar | Ma'lumotlar to'plami |
|---|---|---|---|---|---|---|
| ACT | Bo'laklarga ajratuvchi transformer, noldan | ~80 M | 20 ms | RTX 4090 / 24 GB | 50 | LeRobot v3.0 |
| SmolVLA | Ixcham VLA | ~450 M | 245 ms | RTX 4090 / 24 GB | 30 | LeRobot v3.0 |
| GR00T N1.7 | VLA asosi, diffuziya boshi | ~3 B (~40 M trained) | 152 ms | A100 / H100 80 GB | 50 | LeRobot v2.0 or v2.1 |
| GR00T N1.5 | VLA asosi, avvalgisi | ~3 B | 165 ms | A100 / H100 80 GB | 50 | LeRobot v2.0 or v2.1 |
| Pi0.5 | Oqimga mos keluvchi VLA, qarang flow matching | ~3 B, PaliGemma tayanchi | 485 ms | A100 / H100 80 GB | 50 | LeRobot v3.0 |

- Har bir harakat bosqichi uchun 20 ms, beshtadan eng tezkor, A100 emas, 24 GB kartada.
- 3 B sinfi uchun 4 dan 12 gacha bo'lganiga qarshi har bir ish uchun 1 dan 3 AQSh dollari.
- U ko'rgan kontaktga boy ishlarda aniq: Slide Ziploc va Slot Battery'da 88 va 96 foiz, bu yerda oldingi usullar birinchi bosqichdan o'ta olmagan.
- Til shartlari yo'q: vazifa satri e'tiborga olinmaydi, shuning uchun bitta nazorat nuqtasi bitta vazifadir.
- Semantik old shartlar yo'q: u biladigan hamma narsa sizning 50 epizodingizdan kelgan.
- Tor umumlashtirish: kamerani siljiting va siz qayta o'rgatyapsiz.
- U jimgina ishlamay qoladi: yo'qotish kamayadi, qo'l hech narsa qilmaydi, jurnallar hech narsa demaydi.
- Tezlik afzalligi faqat xulosa servolar yonida joylashgan bo'lsa yordam beradi.
Vazifa va sahna qat'iy belgilangan va harakat tez va aniq bo'lishi kerak bo'lganda ACTni tanlang. bir nazorat nuqtasi bir nechta ko'rsatmalarni qamrab olishi kerak bo'lganda tanlang. Ikki sahifa qarorni to'g'ridan-to'g'ri ko'rib chiqadi: va . Nashr etilgan benchmarklar uchun, har bir raqamni o'z manbasiga bog'laydi.
Boshlashdan oldin nimalar kerak
Bitta ergashuvchi qo'l, bitta yetakchi qo'l uchun, kamida bitta kamera, 24 GB GPU. ACT faqat tasvirlar va bo'g'in pozitsiyalarini o'qiydi. Ikki kamera eng maqbul variant: narsalar qayerda ekanligini ko'rsatish uchun qat'iy old ko'rinish, nima tegmoqchi ekanligini ko'rsatish uchun bilak kamerasi, xuddi ALOHA'dagidek.
| Qo'l | Servolar | Kuchlanish | Ehtiyot qismlar narxi | Holat |
|---|---|---|---|---|
| SO-100 | Feetech STS3215 | 7.4 V | ~110 dan 150 YEVROgacha | To'liq qo'llab-quvvatlash, mos yozuvlar qo'li |
| SO-101 | Feetech STS3215 | 7.4 V | ~130 dan 170 YEVROgacha | To'liq qo'llab-quvvatlash |
| Koch v1.1 | Dynamixel XL330 / XL430 | 5 V va 12 V relslar | ~250 dan 350 YEVROgacha | Mos keladi |
| LeKiwi | Feetech STS3215 (qo'l) | 7.4 V qo'l, 12 V baza | ~400 dan 500 YEVROgacha | Mos keladi |
SO-100 va SO-101 Feetech STS3215 servolarini 7.4 V relsda ishlatadi. Ularga 12 V berish ularni buzadi, shunchalik jimki, odamlar avval dasturiy ta'minotni ayblashadi, va Koch 12 V quvvat manbai SO-100 platasiga jismonan mos keladi. Yorliqni tekshiring. Alomatlar: servo javob bermayapti, qo'l titraydi, keyin osilib qoladi. Shuningdek SO-100 va SO-101.
Yalang'och qo'ldan yozib olingan ma'lumotlar to'plamigacha
Quyidagi oqim lerobot 0.6.x. Agar sizda kalibrlangan qo'l va ma'lumotlar to'plami bo'lsa, uni o'tkazib yuboring. Aks holda SO-100 bilan ishlash bo'yicha qo'llanma yig'ishni qamrab oladi, yozib olish bo'yicha qo'llanma yozib olishni qamrab oladi va ma'lumotlar to'plami hujjatlari formatni qamrab oladi.
- 1lerobot'ni kerakli qo'shimchalar bilan o'rnating
Yozish uchun
core_scripts, o'qitish uchuntraining, Feetech servolari uchunfeetechkerak. Python 3.12+.bashconda 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 - 2Har bir qo'lning USB portini toping
Ikkala qo'lni ham ulangan holda ishga tushiring, so'ralganda birini uzing. Linuxda tugun ruxsatnomalarini ochishingiz kerak bo'lishi mumkin.
bashlerobot-find-port # on Linux, if the port exists but is unreadable: sudo chmod 666 /dev/ttyACM0 - 3Motor identifikatorlari va uzatish tezligini o'rnating
SO-100 da bu yig'ishdan oldin sodir bo'ladi: SO-101 dan farqli o'laroq, ulagichlar qurilgandan so'ng erishib bo'lmaydi. Skript avtobusni bir vaqtning o'zida bitta motorni qisqichdan boshlab aylanib chiqadi va identifikatorlarni EEPROMga yozadi.
bashlerobot-setup-motors \ --robot.type=so100_follower \ --robot.port=/dev/ttyACM0 lerobot-setup-motors \ --teleop.type=so100_leader \ --teleop.port=/dev/ttyACM1 - 4Ikkala qo'lni ham kalibrlang
Har bir bo'g'inni o'z diapazonining o'rtasiga o'rnating, Enter tugmasini bosing, so'ngra har birini to'liq diapazoni bo'ylab harakatlantiring. Kalibrlash bir qo'lda o'qitilgan siyosatni boshqasida ishga tushirish imkonini beradi. Bir xil
iddan qayta foydalaning.bashlerobot-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 - 5Kameralar yoqilgan holda bir marta teleoperatsiya qiling
lerobot ning asosiy qoidasi: siz vazifani faqat kamera tasvirlariga qarab bajarishingiz kerak. Agar qila olmasangiz, ACT ham qila olmaydi. Bu keyingi disk raskadrovkadan ko'ra ko'proq yomon ma'lumotlar to'plamini aniqlaydi.
bashlerobot-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 - 650 ta epizodni yozib oling
50 bu AY-Robots minimal miqdori va ALOHA har bir vazifa uchun ishlatgan miqdor. lerobot har bir obyekt joylashuvi uchun 10 ta, kameralar qat'iy, ushlash izchil bo'lishini tavsiya qiladi.
nepizodni tugatadi,rqayta yozadi,qto'xtatadi va kodlaydi.bashHF_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

ACT ning tayanishi uchun oldingi ma'lumotlari yo'q, shuning uchun har bir nomuvofiqlik doimiy bo'lib qoladi. Eng qimmat uchta holat: 20 va 21-epizodlar orasida siljigan kamera, tushdan keyin to'plamning yarmini yozib olganingiz uchun o'zgargan yorug'lik, ikki xil usulda bajarilgan ushlash. Har biri mukammal ko'rinishdagi yo'qotish egri chizig'ini va noto'g'ri joyga boradigan qo'lni beradi. Qarang: yo'qotish kamayadi, siyosat hech narsa qilmaydi, siyosat faqat bitta sozlamada ishlaydi va yuqori sifatli o'quv ma'lumotlarini yig'ish.
O'qitishdan oldin, kamida beshta epizodni qayta ijro eting. LeRobot ma'lumotlar to'plami formati kamera oqimlari, bo'g'in holatlari va harakatlarini har bir epizod uchun saqlaydi va qayta ijro etish bu harakatlarni qo'lga qaytaradi. Agar qayta ijro etish vazifani bajarmasa, ma'lumotlar uni o'z ichiga olmaydi va o'qitish uni ixtiro qilmaydi.
lerobot-replay \
--robot.type=so100_follower \
--robot.port=/dev/ttyACM0 \
--robot.id=my_follower \
--dataset.repo_id=${HF_USER}/so100_cube \
--dataset.episode=0ACT siyosatini o'qitish
Bu butun buyruq. ACTga xos bo'lgan hamma narsa allaqachon standart hisoblanadi, shuning uchun lerobot ACT sahifasida ular bilan boshlash tavsiya etiladi.
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--policy.type=act ACTConfig'ni yuklaydi, u ma'lumotlar to'plamingizda qancha motor va kamera yozilgan bo'lsa, shunga moslashadi, shuning uchun siz kuzatuv shaklini hech qachon e'lon qilmaysiz. --wandb.enable=true ixtiyoriy va bunga arziydi: yo'qotish egri chizig'i 100000 qadamli ishda yagona arzon signaldir. Jadval ACTConfig'dan emas, balki lerobot'ning o'quv konfiguratsiyasidan keladi: 100000 qadam, partiya 8, urug' 1000, nazorat nuqtasi har 20000 qadamda, har 200 qadamda jurnalga yozish.
To'liq ish beshta nazorat nuqtasi katalogini qoldiradi, 020000 dan 100000 gacha, shuningdek oxirgi simvolik havola. Ularning barchasini saqlang: eng yaxshi siyosat ko'pincha oxirgisi bo'lmaydi.
| Sozlama | lerobot sukut bo'yicha | AY-Robots ACT shakli | Izoh |
|---|---|---|---|
| partiya hajmi | 8 | 8 | Agar VRAM chegaralariga duch kelsangiz, avval uni kamaytiring. |
| o'rganish tezligi | 1e-5 | 1e-5 | ALOHA maqolasidagi bilan bir xil. |
| maksimal qadamlar | 100000 | 100000 | Taxminan 50 epizodli to'plam yaxshilanishni to'xtatadigan joy. |
| gradient to'planishi | 1 | 1, does not apply | Buning o'rniga partiya hajmini o'zgartiring. |
| urug' | 1000 | exposed | GR00T'ning tyro kirish nuqtasida urug' yo'q; ACT ishlar takrorlanuvchan hisoblanadi. |
| chunk_size / n_action_steps | 100 / 100 | 100 / 100, editable | Bashorat va ijro gorizonti. Birinchisini emas, ikkinchisini kamaytiring. |
| nazorat nuqtasi chastotasi | 20000 | not exposed | saveSteps bu yerda GR00T tugmasi. |
Ikki 640x480 kamera bilan 8 partiya hajmidagi ACT 24 GB xotiraga qulay joylashadi. Odamlar tezlik uchun partiya hajmini oshirganda yoki unga lerobot yozuv misoli ko'rsatgan 1920x1080 kadrlar bilan ta'minlaganda, u joylashishni to'xtatadi. 1080p da ikkita ResNet-18 orqa miya juda boshqacha xotira profiliga ega. Kattaroq kartani ijaraga olishdan oldin --batch_size ni 4 ga tushiring. Qarang o'qitishda xotira yetishmasligi.
Davomiyligi: maqolada 11 GB RTX 2080 Ti da taxminan 5 soat, lerobot's ACT sahifasiga ko'ra 100 ming qadam uchun bir necha soat, AY-Robots 24 GB darajasida 2 dan 5 soatgacha. Uni qisqartirmang. Ma'lumotnoma repo'sining README faylida aytilishicha, silkinuvchi yoki to'xtab qoluvchi siyosat odatda ko'proq mashg'ulot, chunki yo'qotish platosi barqarorlashgandan so'ng muvaffaqiyat va silliqlik yaxshilanishda davom etadi: real dunyo ma'lumotlari uchun kamida 5000 epoxa, yoki platodan keyin yana 3-4 marta uzunlik kerak bo'ladi.
lerobot-train \
--config_path=outputs/train/act_so100_cube/checkpoints/last/pretrained_model/train_config.json \
--resume=trueO'qitilgan siyosatni qo'lda ishga tushirish
Joylashtirish lerobot-rollout dan foydalanadi. Kamera kalitlari yozilganlarga mos kelishi kerak: front va wrist da o'qitilgan siyosat cam0 va cam1 ni qabul qilmaydi, va rename_map yordam bermaydi, chunki unga oldindan o'qitilgan nazorat nuqtasi kerak. Vazifa satrini qoldirish mumkin; lerobot'ning o'z misoli uni ACT uchun o'tkazib yuboriladigan deb belgilaydi.
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=60Baholash avval lerobot-record --policy.path=... orqali amalga oshirilgan. 0.6.x versiyasida u lerobot-rollout boʻlib, --strategy.type selektori bilan ishlaydi: base, sentry (avtomatik yuklash bilan yozib olish), highlight (tugma bosish orqali saqlanadigan halqali bufer), dagger (jarayonda inson ishtiroki) va episodic. 2026-yil 23-avgust holatiga koʻra, ACT hujjatlar sahifasida hali ham lerobot-rollout buyrugʻini ishga tushiradigan blokning bevosita tepasida "lerobot-record buyrugʻidan foydalanish" deb yozilgan. Gapga emas, buyruqqa amal qiling.
Yakuniy model oʻrniga nazorat nuqtasini belgilash uchun qoʻshing --policy.pretrained_revision. Buning uchun ish quyidagidan boshlangan boʻlishi kerak: --save_checkpoint_to_hub=true, sukut boʻyicha oʻchirilgan: usiz lerobot faqat yakuniy modelni yuklaydi. U bilan har bir nazorat nuqtasi nol bilan toʻldirilgan qadam bilan belgilanadi, shuning uchun --policy.pretrained_revision=060000 60000-qadamdagini tiklaydi. Uni haqiqiy qoʻlda 100000-qadamdagiga solishtirish mavjud eng arzon tajribadir.
Bir xil nazorat nuqtasiga ikki yoʻl
Yuqoridagi barchasi qo'lda bajariladigan yo'l bo'lib, u ishlaydi. Platforma yo'li GPU yoki Python muhitiga egalik qilmaslik evaziga boshqaruvni almashtiradi.
- lerobot 0.6.x ni
core_scripts,training,feetech, ffmpeg bilan o'rnating. - Portlarni toping, motor IDlarini o'rnating, ikkala qo'lni kalibrlang, 50 ta epizodni yozib oling.
- Ma'lumotlar vazifani o'z ichiga olganligini tasdiqlash uchun bir nechta epizodni qayta ijro eting.
- 24 GB GPU ijaraga oling yoki sotib oling, CUDA va PyTorch ni moslang,
lerobot-train --policy.type=actni ishga tushiring. - Bir necha soat kuting, so'ngra qo'l joylashgan mashinada
lerobot-rolloutni ishga tushiring.
# 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=cudaTo'liq nazorat: configuration_act.py ni tahrirlang, kamera qo'shing, o'qituvchini (trainer) fork qiling. Vazifani yetkazib berishdan ko'ra tadqiqot uchun platforma chalg'ituvchi omil bo'lishi mumkin.
- ish stoli mijozi yordamida yozib oling, yoki Hugging Face repo ID yoki mahalliy ma'lumotlar to'plamini olib keling.
- ACT on SO-100 qo'llanmasini oching va model hamda ma'lumotlar to'plamini tanlang. Standartlar lerobotnikidir; chunkSize, nActionSteps, seed va logFreq tahrirlanadi.
- Bekend VRAM hajmiga mos GPU ijaraga oladi va nazorat nuqtalarini ob'ekt saqlash joyiga yozadi.
/api/inference/podkeyin siyosatni mahalliy robot mijoziga xizmat qiladi. Bo'sh turgan kuzatuvchi (watchdog) podni yo'q qiladi, shuning uchun hech narsa jim turib hisobga olinmaydi.- Xuddi shu operatsiyalar CLI, MCP serveri va o'qitish hujjatlarida mavjud.
U sizning ma'lumotlaringizni tuzatmaydi: kamerasi siljigan ma'lumotlar to'plami bu yerda ham xuddi shunday yomon o'qitiladi va shakl uni aniqlay olmaydi. Shuningdek, u kechikish muammosini ham bartaraf etmaydi. Boshqaruv sikli har bir harakat bosqichi uchun 20 dan 485 ms gacha, ustiga ommaviy internet orqali borib-kelishlar qo'shiladi, va ACT eng ko'p zarar ko'radi, chunki uning bosqichi eng qisqa: 60 ms Pi0.5 ning 485 ms uchun 12 foiz sekinlashuv, ammo ACT ning 20 ms uchun to'rt barobar bosqichdir. Masofaviy xulosa chiqarish sekin tanlash va joylashtirishga mos keladi, tez reaktiv harakatga emas.

Aslida nima noto'g'ri ketadi
Deyarli hech qanday qiyinchilik o'qitish buyrug'ida emas. Uning atrofidagi narsalarda, birinchi marta qanchalik tez-tez muammo tug'dirishiga qarab tartiblangan.
| Simptom | Odatiy sabab | Sahifa |
|---|---|---|
| lerobot-find-port hech narsa ko'rsatmayapti | Drayver, kabel yoki tugun ruxsatnomalari | qo'l aniqlanmadi |
| Yozish vaqtida kamera yo'q | Qayta yuklashda indeks o'zgargan yoki bitta USB kontrollerda ikkita kamera | kamera aniqlanmadi |
| O'qitish ma'lumotlar to'plamini rad etadi | ACT v3.0 ni xohlaydi, GR00T ga v2.1 kerak | ma'lumotlar to'plami v3 sifatida rad etildi |
| CUDA xotirasi yetarli emas | Paket hajmi oshirilgan yoki 480p o'rniga 1080p kadrlar | o'qitishda xotira yetarli emas |
| Yo'qotish yaxshi ko'rinadi, qo'l hech narsa qilmaydi | Ma'lumotlarda vazifa yo'q yoki kamera siljigan | yo'qotish kamayadi, siyosat hech narsa qilmaydi |
| Sakrashli harakat yoki epizod o'rtasida to'xtash | Yetarli darajada o'qitilmagan, bo'lak chegarasida to'xtash yoki vaqti tugagan xulosa chaqiruvi | siyosat harakat o'rtasida muzlaydi |
Ikki qatorga alohida e'tibor berish kerak. ACT LeRobot v3.0 da o'qitiladi, GR00T yuklovchisi esa unda ishlamaydi va v2.1 ni talab qiladi, shuning uchun ACT ni o'qitadigan ma'lumotlar to'plami GR00T ishini buzishi mumkin. Va oxirgi qatorda ikkita tuzatish bor: ACT mualliflari sakrashli harakatga ko'proq o'qitish bilan javob berishadi, shu bilan birga n_action_steps 100 da haqiqiy to'xtash bo'lak chegarasida sodir bo'ladi, har 3.3 soniyada 30 fps da ko'rinadigan pauza. Yana ikkita narsani bilish kerak: bitta o'lik bo'g'in odatda hech qachon yozilmagan servo identifikatori, va yaqinlashadigan, lekin hech qachon yopilmaydigan tutqich namoyishlarda tutqich diapazoni juda kamligini anglatadi. To'liq indeks: nosozlik rejimi sahifalari.
Bir ishlanma qancha turadi
| Daraja | Modellar | Ishlash vaqti | Soatiga narx | Har bir ishlatish narxi |
|---|---|---|---|---|
| RTX 4090 / 24 GB | ACT, SmolVLA | 2 to 5 hours | 0.30 to 0.60 USD | about 1 to 3 USD |
| A100 80 GB / H100 | GR00T N1.7, GR00T N1.5, Pi0.5 | 3 to 6 hours | 1.20 to 2.00 USD | about 4 to 12 USD |
Bu, keyinchalik VLA xohlasangiz ham, ACT bilan boshlash uchun dalildir. Muvaffaqiyatsiz ACT ishlatish bir chashka qahva narxiga tushadi va bir necha soat ichida ma'lumotlar to'plamingizda vazifa bor-yo'qligini aytadi. Muvaffaqiyatsiz GR00T ishlatish xuddi shu saboq uchun to'rt barobar qimmatga tushadi. Keyinchalik GR00T N1.7 yoki SmolVLA ga o'tish qayta qurish emas, balki shakl o'zgarishidir. Ma'lumot: ko'rish-til-harakat modellari, SO-100 ni sozlash, teleoperatsiya va AI o'qitish bo'yicha to'liq qo'llanma, birinchi siyosatingizni o'rgating va taqlidli o'rganish. Qo'l yo'qmi? Jonli sahifa ro'yxatdan o'tmasdan haqiqiy SO-100 ni boshqarish uchun translyatsiya qiladi.
SO-100 da ACT ni o'rgating
Bu aniq kombinatsiya uchun qo'llanma: standart sozlamalar, GPU darajasi va ishlatish narxi. Ma'lumotlar to'plamini tanlang, backend kartani ijaraga oladi va nazorat nuqtalarini yozadi.
O'qitish qo'llanmasini ochishO'rniga nozik sozlashim mumkin bo'lgan oldindan o'qitilgan ACT modeli bormi?▾
Yo'q. ACT ning asosiy modeli yo'q; u faqat siz uni o'qitganingizdan keyin mavjud bo'ladi. Bu vositalardagi bo'shliq emas, balki ACT ning mohiyati shundan iborat: maqola har bir vazifa uchun siyosatni noldan o'rgatadi. Sotuvchi nazorat nuqtasi uchun GR00T N1.7 yoki Pi0.5 dan foydalaning.
Menga aslida nechta epizod kerak?▾
50: ALOHA har bir vazifa uchun yozgan (eng qiyini bo'lgan Thread Velcro uchun 100) va AY-Robots minimal miqdori. lerobot har bir obyekt joylashuvi uchun taxminan 10 ta, kameralar qattiq o'rnatilgan, ushlash izchil bo'lishini tavsiya qiladi. Kamera harakatlangan yuzta epizoddan ko'ra ellikta toza epizod yaxshiroqdir.
chunk_size ni 100 dan o'zgartirishim kerakmi?▾
Odatda yo'q. Ablatsiya k = 1 da 1 foizdan k = 100 da 44 foizgacha ko'tariladi va keyin pasayadi, shuning uchun 100 yuqori qismga yaqin joylashgan. Agar qo'l juda uzoq vaqt harakat qilsa, buning o'rniga n_action_steps ni kamaytiring: 30 fps da, har 0.8 soniyada 25 ta qayta so'rov.
O'qitish qancha vaqt oladi va uni muddatidan oldin to'xtata olamanmi?▾
100000 qadam uchun 24 GB kartada ikki-besh soat. Nazorat nuqtalari har 20000 qadamda saqlanadi va --resume=true ishni davom ettiradi, shuning uchun muddatidan oldin to'xtatish xavfsizdir. Faqat birinchi tekis qismda emas: yo'qotish platoga chiqqandan keyin silliqlik yaxshilanadi.
Yo'qotish kamaydi, lekin qo'l hali ham ishlamayapti. Endi nima qilish kerak?▾
Deyarli har doim ma'lumotlar to'plami. Yozilgan epizodlarni qo'lda qayta ijro eting: agar qayta ijro vazifani bajarmasa, ma'lumotlar uni o'z ichiga olmaydi. Keyin biror narsa, ayniqsa kamera harakatlanganmi, tekshiring. ACT ning oldingi bilimlari yo'q, shuning uchun 21-epizoddagi kichik turtki doimiydir.
Sources
- Zhao, Kumar, Levine, Finn: Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware (ACT), arXiv 2304.13705
- ALOHA / ACT project page
- tonyzhaozh/act, the reference implementation and its training-length advice
- tonyzhaozh/act issue 25: the action head reads only the first decoder layer
- huggingface/lerobot
- lerobot ACTConfig: chunk_size, n_action_steps, n_decoder_layers and the rest of the defaults
- lerobot TrainPipelineConfig: steps, batch_size, seed, save_freq, log_freq, save_checkpoint_to_hub
- lerobot train_utils: zero-padded checkpoint dirs, the last symlink and checkpoint push tagging
- lerobot v0.6.1 release, 3 August 2026
- LeRobot docs: ACT
- LeRobot docs: imitation learning on real robots (record, replay, train, rollout)
- LeRobot docs: SO-100 setup, motor ids and calibration
- LeRobot docs: installation and the optional extras
- Hugging Face blog: LeRobot Community Datasets, the ImageNet of Robotics, When and How?
- TheRobotStudio/SO-ARM100: Standard Open Arm 100
Ready for high-quality robotics data?
AY-Robots connects your robots to skilled operators worldwide.
Get Started