AY-Robots o'quv matritsasi beshta siyosat qatori va to'rtta robot qo'li ustunlari bilan, har bir katakcha ma'lum bir model va qo'l o'rgatish qo'llanmasiga bog'langan.
ACTSO-100lerobotimitatsion o'rganishsiyosatni o'rgatish

ACTni SO-100da noldan qanday o'rgatish kerak

AY-Robots ResearchAugust 23, 202616 daqiqa o'qish

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.
Bu qaysi versiyalarni tavsiflaydi

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.

GiperparametrALOHA maqolasi, III jadvallerobot asosiyda
o'rganish tezligi1e-5optimizer_lr = 1e-5
paket hajmi8batch_size = 8, in TrainPipelineConfig not ACTConfig
kodlovchi / dekodlovchi qatlamlar4 / 7n_encoder_layers = 4 / n_decoder_layers = 1
bo'lak hajmi k100chunk_size = 100
z ning yashirin o'lchamimavjud emas; 11-rasm 32 dan 512 gacha proyeksiyani ko'rsatadilatent_dim = 32
vaqtinchalik ansamblmavjud emas; --temporal_agg mos yozuvlar kodidatemporal_ensemble_coeff = None
Dekoder qatlami qatori xato emas

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_size ni tasdiqlaydi va agar siz uni teskari qilsangiz, ValueError xatosini 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.

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
Bashoratni qisqartirmasdan, bo'lakning bajarilgan qismini qisqartirish.
Vaqtinchalik ansambl tuzog'i

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

SiyosatOilasiParametrlarHar bir qadam uchunGPU darajasiMinimal epizodlarMa'lumotlar to'plami
ACTBo'laklarga ajratuvchi transformer, noldan~80 M20 msRTX 4090 / 24 GB50LeRobot v3.0
SmolVLAIxcham VLA~450 M245 msRTX 4090 / 24 GB30LeRobot v3.0
GR00T N1.7VLA asosi, diffuziya boshi~3 B (~40 M trained)152 msA100 / H100 80 GB50LeRobot v2.0 or v2.1
GR00T N1.5VLA asosi, avvalgisi~3 B165 msA100 / H100 80 GB50LeRobot v2.0 or v2.1
Pi0.5Oqimga mos keluvchi VLA, qarang flow matching~3 B, PaliGemma tayanchi485 msA100 / H100 80 GB50LeRobot v3.0
The AY-Robots policies page showing a comparison table of ACT, SmolVLA, GR00T N1.5, GR00T N1.7 and Pi0.5 with parameter counts, GPU requirements, inference latency and minimum episode counts
The /policies table: ACT has the smallest parameter count and the shortest step time.
ACTni noldan o'rgatish
Afzalliklar
  • 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.
Kamchiliklar
  • 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'lServolarKuchlanishEhtiyot qismlar narxiHolat
SO-100Feetech STS32157.4 V~110 dan 150 YEVROgachaTo'liq qo'llab-quvvatlash, mos yozuvlar qo'li
SO-101Feetech STS32157.4 V~130 dan 170 YEVROgachaTo'liq qo'llab-quvvatlash
Koch v1.1Dynamixel XL330 / XL4305 V va 12 V relslar~250 dan 350 YEVROgachaMos keladi
LeKiwiFeetech STS3215 (qo'l)7.4 V qo'l, 12 V baza~400 dan 500 YEVROgachaMos keladi
7.4 V, 12 V emas

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.

  1. 1
    lerobot'ni kerakli qo'shimchalar bilan o'rnating

    Yozish uchun core_scripts, o'qitish uchun training, Feetech servolari uchun feetech kerak. 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
    Har 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.

    bash
    lerobot-find-port
    # on Linux, if the port exists but is unreadable:
    sudo chmod 666 /dev/ttyACM0
  3. 3
    Motor 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.

    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
    Ikkala 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 id dan qayta foydalaning.

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

    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
    50 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. n epizodni tugatadi, r qayta yozadi, q to'xtatadi va kodlaydi.

    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
AY-Robots yozish bo'yicha qo'llanma sahifasi, teleoperatsiya sessiyasidan LeRobot formatidagi ma'lumotlar to'plamini qanday olishni tushuntiradi
Yozish bo'yicha qo'llanma. Ish stoli mijozi lerobot-record bilan bir xil tartibni yozadi.
Bir kunni yutib yuboradigan tuzoq: nomuvofiq ma'lumotlar to'plami

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.

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
0-qismni qayta ijro etish. Agar bu muvaffaqiyatsiz bo'lsa, to'xtating va qayta yozib oling.

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

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
lerobot 0.6.x hujjatlaridan olingan, SO-100 ma'lumotlar to'plamida o'qitish buyrug'i.

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

Sozlamalerobot sukut bo'yichaAY-Robots ACT shakliIzoh
partiya hajmi88Agar VRAM chegaralariga duch kelsangiz, avval uni kamaytiring.
o'rganish tezligi1e-51e-5ALOHA maqolasidagi bilan bir xil.
maksimal qadamlar100000100000Taxminan 50 epizodli to'plam yaxshilanishni to'xtatadigan joy.
gradient to'planishi11, does not applyBuning o'rniga partiya hajmini o'zgartiring.
urug'1000exposedGR00T'ning tyro kirish nuqtasida urug' yo'q; ACT ishlar takrorlanuvchan hisoblanadi.
chunk_size / n_action_steps100 / 100100 / 100, editableBashorat va ijro gorizonti. Birinchisini emas, ikkinchisini kamaytiring.
nazorat nuqtasi chastotasi20000not exposedsaveSteps bu yerda GR00T tugmasi.
Xotira yetishmasligi karta muammosi emas, partiya hajmi muammosidir

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.

bash
lerobot-train \
  --config_path=outputs/train/act_so100_cube/checkpoints/last/pretrained_model/train_config.json \
  --resume=true
To'xtatilgan ishni oxirgi nazorat nuqtasidan davom ettirish.

O'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.

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
Yozuvsiz avtonom rollout. Baholash epizodlarini yozib olish uchun --strategy.type=sentry dan foydalaning.
Bu buyruq yaqinda qayta nomlandi, shuning uchun eski qoʻllanmalar mos kelmaydi

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

  1. lerobot 0.6.x ni core_scripts, training, feetech, ffmpeg bilan o'rnating.
  2. Portlarni toping, motor IDlarini o'rnating, ikkala qo'lni kalibrlang, 50 ta epizodni yozib oling.
  3. Ma'lumotlar vazifani o'z ichiga olganligini tasdiqlash uchun bir nechta epizodni qayta ijro eting.
  4. 24 GB GPU ijaraga oling yoki sotib oling, CUDA va PyTorch ni moslang, lerobot-train --policy.type=act ni ishga tushiring.
  5. Bir necha soat kuting, so'ngra qo'l joylashgan mashinada lerobot-rollout ni ishga tushiring.
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
Bu yo'l sizga nima beradi

To'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.

The AY-Robots training matrix with five policy rows and four robot arm columns, where every cell links to the specific training guide for that model and arm combination
The matrix on /train. The ACT row against the SO-100 column is this article's guide.

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.

SimptomOdatiy sababSahifa
lerobot-find-port hech narsa ko'rsatmayaptiDrayver, kabel yoki tugun ruxsatnomalariqo'l aniqlanmadi
Yozish vaqtida kamera yo'qQayta yuklashda indeks o'zgargan yoki bitta USB kontrollerda ikkita kamerakamera aniqlanmadi
O'qitish ma'lumotlar to'plamini rad etadiACT v3.0 ni xohlaydi, GR00T ga v2.1 kerakma'lumotlar to'plami v3 sifatida rad etildi
CUDA xotirasi yetarli emasPaket hajmi oshirilgan yoki 480p o'rniga 1080p kadrlaro'qitishda xotira yetarli emas
Yo'qotish yaxshi ko'rinadi, qo'l hech narsa qilmaydiMa'lumotlarda vazifa yo'q yoki kamera siljiganyo'qotish kamayadi, siyosat hech narsa qilmaydi
Sakrashli harakat yoki epizod o'rtasida to'xtashYetarli darajada o'qitilmagan, bo'lak chegarasida to'xtash yoki vaqti tugagan xulosa chaqiruvisiyosat 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

DarajaModellarIshlash vaqtiSoatiga narxHar bir ishlatish narxi
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

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 ochish
O'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.

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started