
Funza Action Chunking Transformer kutoka mwanzo kwenye SO-100 ukitumia lerobot: usanidi wa act, chunk_size na n_action_steps, ratiba ya hatua 100000, utekelezaji wa 20 ms.
ACT ni tofauti kati ya sera za SO-100. GR00T N1.7 na N1.5 huanza kutoka nvidia/GR00T-N1.7-3B na nvidia/GR00T-N1.5-3B, Pi0.5 kutoka lerobot/pi05_base. ACT huanza kutoka mwanzo: hakuna kituo cha msingi cha ukaguzi, kwa sababu si mfumo msingi. Ni transformer yenye takriban vigezo milioni 80 unayoifundisha kutoka mwanzo kwenye kazi moja, kwenye mkono wako, chini ya mwangaza wako.
Hiyo pia ndiyo sababu inatekeleza hatua ya udhibiti katika milisekunde 20 ambapo VLA yenye vigezo bilioni 3 inahitaji milisekunde 152 hadi 485, na inagharimu USD 1 hadi 3 kwa kila utekelezaji badala ya 4 hadi 12. Mwongozo huu unaeleza njia ya mikono na lerobot kwenye SO-100: rekodi, usanidi wa act, nini chunk_size na n_action_steps hudhibiti, ratiba ya hatua 100000, utekelezaji. Kisha kazi hiyo hiyo kwenye AY-Robots, ikiwemo pale ambapo jukwaa halisaidii.
Unachohitaji kujua
- •ACT hufundishwa kutoka mwanzo: hakuna mfumo msingi, hakuna mafunzo ya awali, hakuna pembejeo ya lugha. Kituo kimoja cha ukaguzi, kazi moja.
- •Karatasi: takriban vigezo milioni 80, karibu saa 5 kwenye RTX 2080 Ti ya 11 GB, 0.01 s ya utambuzi.
- •Mipangilio chaguomsingi ya lerobot: chunk_size 100, n_action_steps 100, batch 8, lr 1e-5, hatua 100000, seed 1000.
- •Kwenye AY-Robots: milisekunde 20 kwa kila hatua, ya haraka zaidi kati ya tano. Vipindi 50 angalau, LeRobot v3.0, kadi ya 24 GB, USD 1 hadi 3 kwa kila utekelezaji.
- •Inashinda kwenye kazi iliyoiona, na inapoteza mara tu unapotaka masharti ya lugha.
Imekaguliwa Agosti 23, 2026 dhidi ya lerobot 0.6.x: pyproject.toml on main reads version = "0.6.2", newest tag v0.6.1, 3 August 2026. Mafunzo yanayoanza na python lerobot/scripts/train.py yanatangulia sehemu za kuingilia za koni lerobot-train, lerobot-record and lerobot-rollout.
ACT ni nini hasa
Action Chunking with Transformers inatokana na karatasi ya ALOHA, Kujifunza Udhibiti wa Mikono Miwili kwa Usahihi wa Juu kwa Kutumia Vifaa vya Gharama Nafuu, na Zhao, Kumar, Levine na Finn, arXiv, 23 Aprili 2023. Mfumo huo hurekodi kwa 50 Hz na kamera nne za wavuti zinazotiririsha 480x640 kwa 30 fps: mbili kwenye vishikio, moja juu, moja mbele. Muhtasari unadai ujuzi sita kwa asilimia 80 hadi 90 ya mafanikio, miongoni mwao kufungua kikombe cha mchuzi kisichoonekana wazi na kuweka betri, kutoka dakika 10 za maonyesho.
Sehemu ya maelezo ni muhimu zaidi wakati wa kupanga kipindi cha kurekodi: maonyesho 50 kwa kila kazi, isipokuwa Thread Velcro kwa 100, ambayo ni dakika 10 hadi 20 za data na dakika 30 hadi 60 za muda halisi baada ya kuhesabu uwekaji upya. Mafanikio si sawa pia: Thread Velcro huishia kwa asilimia 20, Put On Shoe kwa 92, Cup Open 84, Prep Tape 64.
| Kigezo cha Juu | Karatasi ya ALOHA, Jedwali III | lerobot kwenye main |
|---|---|---|
| kiwango cha kujifunza | 1e-5 | optimizer_lr = 1e-5 |
| ukubwa wa kundi | 8 | batch_size = 8, in TrainPipelineConfig not ACTConfig |
| tabaka za encoder / decoder | 4 / 7 | n_encoder_layers = 4 / n_decoder_layers = 1 |
| ukubwa wa chunk k | 100 | chunk_size = 100 |
| kipimo fiche cha z | haipo; Mchoro 11 unaonyesha makadirio ya 32 hadi 512 | latent_dim = 32 |
| uunganishaji wa muda | haipo; --temporal_agg katika msimbo wa rejea | temporal_ensemble_coeff = None |
Karatasi inaorodhesha tabaka 7 za avkodari, lerobot inasafirisha 1, kwa makusudi. Maoni katika configuration_act.py yanasema utekelezaji wa asili una hitilafu inayomaanisha kuwa tabaka la kwanza tu ndilo linalotumika, ikinukuu suala la 25 katika tonyzhaozh/act: kichwa cha kitendo kinasoma hs[0], hivyo tabaka zote saba zinafanya kazi lakini pato la kwanza tu ndilo linafika kwenye utabiri. Suala hilo liko wazi na halijajibiwa tangu 23 Aprili 2024. lerobot inalingana na tabia iliyotoa matokeo yaliyochapishwa, si nambari iliyochapishwa. Ongeza --policy.n_decoder_layers na utafundisha modeli ambayo karatasi haikuwahi kutathmini.
Kugawanya vitendo ni wazo zima
Uigaji wa tabia wa kawaida huunganisha uchunguzi mmoja na kitendo kimoja, na makosa hujikusanya: mkengeuko huweka mkono nje ya usambazaji, na kutoa kitendo kibaya zaidi, na hatua thelathini baadaye kishika hakiko karibu na kitu. Kugawanya vitendo hutabiri vitendo k mara moja na kuvitekeleza, ikipunguza upeo halisi kwa sababu ya k. Pia inashughulikia kero maalum kwa data ya binadamu: waendeshaji wa mbali husitisha, na Markovian ya hatua moja sera haiwezi kuiga kusitisha kunakotegemea kilichotangulia.
Karatasi inachunguza k badala ya kudai. Kwa kuunganisha kwa muda kumezimwa, kwa wastani wa mipangilio minne, mafanikio huongezeka kutoka asilimia 1 kwa k = 1 hadi asilimia 44 kwa k = 100, kisha hupungua kwa 200 na 400 kadri sera inavyokaribia udhibiti wa wazi. Mchoro huo ndio sababu chaguo-msingi ni 100.
- chunk_size: idadi ya vitendo vya baadaye ambavyo kidekodari hutabiri kwa kila pasi ya mbele. Chaguomsingi 100.
- n_action_steps: ni vingapi kati ya hivyo unavyotekeleza kabla ya kuuliza tena. Chaguomsingi 100, hivyo lerobot huendesha kipande chote kwa kitanzi huru.
- lerobot inathibitisha
n_action_steps <= chunk_sizena huibuaValueErrorikiwa utaweka kinyume.
Kinachohitajika kiutendaji ni chunk_size kugawanywa na kasi ya fremu. Kwa fremu 30 kwa sekunde ambazo mifano ya SO-100 ya lerobot hutumia, kipande cha 100 huahidi takriban sekunde 3.3 kutoka uchunguzi mmoja. Ikiwa kazi inahitaji marekebisho ndani ya dirisha hilo, punguza n_action_steps, si chunk_size: unaweka utabiri mrefu na kuchunguza tena mara nyingi zaidi.
# 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=cudaWeka --policy.temporal_ensemble_coeff na lerobot inahitaji n_action_steps = 1, ikitoa NotImplementedError vinginevyo. Kuunganisha huuliza sera kila hatua ya muda na kuchanganya utabiri unaoingiliana kwa hatua hiyo ya muda na uzito w_i = exp(-m * i), wa zamani zaidi akipata w_0. Karatasi inaiweka kwa asilimia 3.3 kwa ACT: halisi lakini ya kawaida, na inazidisha idadi ya utabiri kwa urefu wa kipande. Inafaa kwa 20 ms kwa kila hatua, si kwa 485 ms. Tazama inference latency.
Wakati ACT inaposhinda modeli msingi
Sera tano zinazoweza kufunzwa zikiwa sambamba, pamoja na nambari ambazo AY-Robots hupima na kutumia kuamua ukubwa wa GPU inayoikodi.
| Sera | Familia | Vigezo | Kwa hatua | Kiwango cha GPU | Vipindi vya chini | Seti ya data |
|---|---|---|---|---|---|---|
| ACT | Transformer ya kugawanya, kutoka mwanzo | ~80 M | 20 ms | RTX 4090 / 24 GB | 50 | LeRobot v3.0 |
| SmolVLA | VLA iliyoshikana | ~450 M | 245 ms | RTX 4090 / 24 GB | 30 | LeRobot v3.0 |
| GR00T N1.7 | Msingi wa VLA, kichwa cha usambaaji | ~3 B (~40 M trained) | 152 ms | A100 / H100 80 GB | 50 | LeRobot v2.0 or v2.1 |
| GR00T N1.5 | Msingi wa VLA, mtangulizi | ~3 B | 165 ms | A100 / H100 80 GB | 50 | LeRobot v2.0 or v2.1 |
| Pi0.5 | VLA ya kulinganisha mtiririko, angalia ulinganishaji wa mtiririko | ~3 B, PaliGemma backbone | 485 ms | A100 / H100 80 GB | 50 | LeRobot v3.0 |

- Milisekunde 20 kwa hatua ya kitendo, ya haraka zaidi kati ya tano, kwenye kadi ya GB 24 si A100.
- Dola 1 hadi 3 kwa kila uendeshaji dhidi ya 4 hadi 12 kwa darasa la 3 B.
- Sahihi kwenye kazi zenye mguso mwingi ilizoziona: asilimia 88 na 96 kwenye Slide Ziploc na Slot Battery, ambapo mbinu za awali hazikuwahi kupita hatua ya kwanza.
- Hakuna masharti ya lugha: mfuatano wa kazi hupuuzwa, kwa hivyo sehemu moja ya kukagua ni kazi moja.
- Hakuna vipaumbele vya kisemantiki: kila kitu inachojua kilitokana na vipindi vyako 50.
- Ujumlishaji finyu: sogeza kamera na utakuwa unafunza upya.
- Inashindwa kimya kimya: hasara inapungua, mkono haufanyi chochote, kumbukumbu hazisemi chochote.
- Faida ya kasi husaidia tu ikiwa hitimisho liko karibu na servomotor.
Chagua ACT wakati kazi na eneo zimerekebishwa na mwendo lazima uwe wa haraka na sahihi. Chagua wakati sehemu moja ya kukagua lazima ifunike maelekezo kadhaa. Kurasa mbili zinafanya kazi ya uamuzi ana kwa ana: na . Kwa vigezo vilivyochapishwa, huunganisha kila nambari na chanzo chake.
Unachohitaji kabla ya kuanza
Mkono mmoja wa mfuasi, mkono mmoja wa kiongozi kwa , angalau kamera moja, GPU ya GB 24. ACT husoma picha na nafasi za viungo pekee. Kamera mbili ndio mahali pazuri: mtazamo wa mbele uliowekwa kwa ajili ya mahali vitu vilipo, kamera ya mkono kwa ajili ya kile kinakaribia kugusa, kama ilivyo kwenye ALOHA.
| Mkono | Servos | Volti | Gharama ya sehemu | Hali |
|---|---|---|---|---|
| SO-100 | Feetech STS3215 | 7.4 V | ~110 to 150 EUR | Usaidizi kamili, mkono wa marejeleo |
| SO-101 | Feetech STS3215 | 7.4 V | ~130 to 170 EUR | Usaidizi kamili |
| Koch v1.1 | Dynamixel XL330 / XL430 | 5 V and 12 V rails | ~250 to 350 EUR | Inaendana |
| LeKiwi | Feetech STS3215 (arm) | 7.4 V arm, 12 V base | ~400 to 500 EUR | Inaendana |
SO-100 na SO-101 hutumia servos za Feetech STS3215 kwenye reli ya 7.4 V. Kuzipa 12 V huziharibu, kimya kimya kiasi kwamba watu hulaumu programu kwanza, na usambazaji wa Koch 12 V unaingia kimwili kwenye bodi ya SO-100. Angalia lebo. Dalili: servo haijibu, mkono unatetemeka kisha unalegea. Pia SO-100 dhidi ya SO-101.
Kutoka mkono tupu hadi seti ya data iliyorekodiwa
Mchakato ufuatao ni lerobot 0.6.x. Uruke ikiwa una mkono uliorekebishwa na seti ya data. Vinginevyo mwongozo wa kuanza wa SO-100 unashughulikia uunganishaji, mwongozo wa kurekodi unashughulikia kunasa na nyaraka za seti ya data umbizo.
- 1Sakinisha lerobot na nyongeza sahihi
Kurekodi kunahitaji
core_scripts, mafunzotraining, serva za Feetechfeetech. 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 - 2Pata bandari ya USB ya kila mkono
Endesha ikiwa na mikono yote miwili imeunganishwa, ukichomoa mmoja unapoombwa. Kwenye Linux unaweza kuhitaji kufungua ruhusa za nodi.
bashlerobot-find-port # on Linux, if the port exists but is unreadable: sudo chmod 666 /dev/ttyACM0 - 3Weka vitambulisho vya motor na kasi ya baud
Kwenye SO-100 hii hutokea kabla ya kuunganisha: tofauti na SO-101 viunganishi haviwezi kufikiwa mara tu vinapojengwa. Skripti hupitia basi motor moja kwa wakati kutoka kwa kishika, ikiandika vitambulisho kwenye EEPROM.
bashlerobot-setup-motors \ --robot.type=so100_follower \ --robot.port=/dev/ttyACM0 lerobot-setup-motors \ --teleop.type=so100_leader \ --teleop.port=/dev/ttyACM1 - 4Rekebisha mikono yote miwili
Weka kila kiungo katikati ya masafa yake, bonyeza Enter, kisha pitisha kila kimoja kupitia masafa yake kamili. Urekebishaji huruhusu sera iliyefunzwa kwenye mkono mmoja kuendeshwa kwenye mwingine. Tumia tena
idsawa.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 - 5Endesha kwa mbali mara moja na kamera zikiwa zimewashwa
Kanuni ya jumla ya lerobot: unapaswa kuweza kufanya kazi ukiangalia tu picha za kamera. Ikiwa huwezi, ACT pia haiwezi. Hii inakamata seti mbaya za data zaidi kuliko utatuzi wa baadaye.
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 - 6Rekodi vipindi 50
50 ni kiwango cha chini cha AY-Robots na kile ALOHA ilitumia kwa kila kazi. lerobot inashauri 10 kwa kila eneo la kitu, kamera zimewekwa sawa, mshiko thabiti.
ninamaliza kipindi,rinarekodi upya,qinasimamisha na kusimba.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 haina vipaumbele vya kutegemea, kwa hivyo kila utofauti unakuwa wa kudumu. Vitatu vya gharama kubwa zaidi: kamera iliyosogezwa kidogo kati ya kipindi cha 20 na 21, mwanga uliopita kwa sababu ulirekodi nusu ya seti alasiri, mshiko uliofanywa kwa njia mbili. Kila moja inatoa mkondo wa hasara unaoonekana kamilifu na mkono unaokwenda mahali pabaya. Tazama hasara inashuka, sera haifanyi chochote, sera inafanya kazi katika usanidi mmoja tu na kukusanya data ya mafunzo ya hali ya juu.
Kabla ya mafunzo, cheza tena angalau vipindi vitano. Muundo wa seti ya data ya LeRobot huhifadhi mitiririko ya kamera, hali za viungo na vitendo kwa kila kipindi, na uchezaji tena hurudisha vitendo hivyo kwenye mkono. Ikiwa uchezaji tena haufanyi kazi, data haijumuishi na mafunzo hayataibuni.
lerobot-replay \
--robot.type=so100_follower \
--robot.port=/dev/ttyACM0 \
--robot.id=my_follower \
--dataset.repo_id=${HF_USER}/so100_cube \
--dataset.episode=0Kufunza sera ya ACT
Huu ndio amri nzima. Kila kitu mahususi kwa ACT tayari ni chaguo-msingi, ndiyo maana ukurasa wa lerobot ACT unasema kuanza nao.
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 hupakia ACTConfig, ambayo hujirekebisha kulingana na idadi ya mota na kamera ambazo seti yako ya data ilirekodi, kwa hivyo hutawahi kutangaza umbo la uchunguzi. --wandb.enable=true ni hiari na inafaa: mkunjo wa hasara ndio ishara pekee ya bei nafuu katika mchakato wa hatua 100000. Ratiba inatoka kwenye usanidi wa mafunzo wa lerobot, sio ACTConfig: hatua 100000, kundi 8, mbegu 1000, kituo cha ukaguzi kila hatua 20000, na kuweka kumbukumbu kila 200.
Mchakato kamili huacha saraka tano za vituo vya ukaguzi, 020000 hadi 100000, pamoja na kiungo cha ishara cha mwisho. Zihifadhi zote: sera bora mara nyingi si ile ya mwisho.
| Mpangilio | Chaguo-msingi cha lerobot | Fomu ya AY-Robots ACT | Maoni |
|---|---|---|---|
| ukubwa wa kundi | 8 | 8 | Punguza kwanza ukifikia mipaka ya VRAM. |
| kiwango cha kujifunza | 1e-5 | 1e-5 | Sawa na karatasi ya ALOHA. |
| hatua za juu | 100000 | 100000 | Takriban pale seti ya vipindi 50 inapoacha kuboreshwa. |
| mkusanyiko wa gradient | 1 | 1, haitumiki | Badilisha ukubwa wa kundi badala yake. |
| mbegu | 1000 | imefichuliwa | Sehemu ya kuingilia ya tyro ya GR00T haina mbegu; mchakato wa ACT ndio unaoweza kurudiwa. |
| ukubwa wa kipande / idadi ya hatua za kitendo | 100 / 100 | 100 / 100, inaweza kuhaririwa | Upeo wa utabiri na utekelezaji. Punguza ya pili, sio ya kwanza. |
| marudio ya kituo cha ukaguzi | 20000 | haijafichuliwa | saveSteps ni kifundo cha GR00T hapa. |
ACT kwa ukubwa wa kundi 8 na kamera mbili za 640x480 inatoshea vizuri kwenye GB 24. Inaacha kutoshea wakati watu wanapoongeza ukubwa wa kundi kwa kasi, au kuipa fremu za 1920x1080 ambazo mfano mmoja wa rekodi ya lerobot unaonyesha. Miundo miwili ya ResNet-18 kwa 1080p ina wasifu tofauti sana wa kumbukumbu. Punguza --batch_size hadi 4 kabla ya kukodisha kadi kubwa zaidi. Tazama kukosa kumbukumbu wakati wa mafunzo.
Muda: takriban saa 5 kwenye RTX 2080 Ti ya GB 11 kwenye karatasi, saa chache kwa hatua 100k kwa kila ukurasa wa ACT wa lerobot, saa 2 hadi 5 kwenye kiwango cha AY-Robots cha GB 24. Usiikate fupi. README ya repo ya marejeleo inasema sera inayoyumbayumba au kusimama mara kwa mara kwa kawaida inahitaji tu zaidi mafunzo, kwa sababu mafanikio na ulaini huendelea kuboreka baada ya hasara kufikia kiwango cha juu: kwa data halisi inahitaji angalau epoki 5000, au mara 3 hadi 4 urefu tena baada ya kiwango cha juu.
lerobot-train \
--config_path=outputs/train/act_so100_cube/checkpoints/last/pretrained_model/train_config.json \
--resume=trueKuendesha sera iliyefunzwa kwenye mkono
Utekelezaji hutumia lerobot-rollout. Funguo za kamera lazima zilingane na zile zilizorekodiwa: sera iliyefunzwa kwenye front na wrist haitakubali cam0 na cam1, na rename_map haisaidii, kwani inahitaji kituo cha ukaguzi kilichofunzwa awali. Mfuatano wa kazi unaweza kuachwa; mfano wa lerobot wenyewe unauweka kama unaoweza kurukwa kwa ACT.
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=60Tathmini ilikuwa ikifanywa kupitia lerobot-record --policy.path=.... Katika 0.6.x, ni lerobot-rollout na kiteuzi cha --strategy.type: base, sentry (kurekodi na kupakia kiotomatiki), highlight (buffer ya pete iliyohifadhiwa kwa kubonyeza kitufe), dagger (binadamu katika mzunguko) na episodic. Kufikia Agosti 23, 2026, ukurasa wa nyaraka wa ACT bado unasema "kutumia amri ya lerobot-record" moja kwa moja juu ya kizuizi kinachoendesha lerobot-rollout. Fuata amri, si sentensi.
Ili kubandika sehemu ya kukagua badala ya modeli ya mwisho, ongeza --policy.pretrained_revision. Hiyo inahitaji utekelezaji uwe umeanza na --save_checkpoint_to_hub=true, imezimwa kwa chaguo-msingi: bila hiyo lerobot inasukuma modeli ya mwisho na hakuna kingine. Kwa hiyo, kila sehemu ya kukagua inawekewa lebo na hatua yake iliyojazwa sifuri, hivyo --policy.pretrained_revision=060000 inarejesha ile ya hatua 60000. Kuilinganisha na 100000 kwenye mkono halisi ndio jaribio la bei nafuu zaidi linalopatikana.
Njia mbili za kufikia sehemu moja ya kukagua
Yote yaliyo hapo juu ni njia ya mikono na inafanya kazi. Njia ya jukwaa inabadilisha udhibiti kwa kutomiliki GPU au mazingira ya Python.
- Sakinisha lerobot 0.6.x na
core_scripts,training,feetech, ffmpeg. - Pata bandari, weka vitambulisho vya motor, rekebisha mikono yote miwili, rekodi vipindi 50.
- Cheza tena vipindi vichache ili kuthibitisha data ina kazi husika.
- Kodisha au miliki GPU ya 24 GB, linganisha CUDA na PyTorch, endesha
lerobot-train --policy.type=act. - Subiri masaa machache, kisha endesha
lerobot-rolloutkwenye mashine iliyo karibu na mkono.
# 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=cudaUdhibiti kamili: hariri configuration_act.py, ongeza kamera, tawi la mkufunzi. Kwa utafiti badala ya kusafirisha kazi, jukwaa ni kero.
- Rekodi na mteja wa kompyuta ya mezani, au leta kitambulisho cha repo cha Hugging Face au seti ya data ya ndani.
- Fungua mwongozo wa ACT kwenye SO-100 na uchague modeli na seti ya data. Chaguomsingi ni zile za lerobot; chunkSize, nActionSteps, seed na logFreq zinaweza kuhaririwa.
- Sehemu ya nyuma inakodisha GPU yenye ukubwa wa VRAM na kuandika vituo vya ukaguzi kwenye hifadhi ya vitu.
/api/inference/podkisha inatoa sera kwa mteja wa roboti wa ndani. Mlinzi asiyefanya kazi anaharibu pod, kwa hivyo hakuna kinachotozwa kimya kimya.- Shughuli hizo hizo zipo katika CLI, seva ya MCP na nyaraka za mafunzo.
Haurekebishi data yako: seti ya data yenye kamera iliyosogezwa inafunzwa vibaya vile vile hapa, na fomu haiwezi kuigundua. Wala haiondoi tatizo la kuchelewa. Kitanzi cha udhibiti ni 20 hadi 485 ms kwa kila hatua ya kitendo, na safari za kwenda na kurudi za intaneti ya umma juu yake, na ACT inaathirika zaidi kwa sababu hatua yake ni fupi zaidi: 60 ms ni upungufu wa asilimia 12 kwenye 485 ms ya Pi0.5 lakini mara nne ya hatua kwenye 20 ms ya ACT. Utabiri wa mbali unafaa kwa kuchukua na kuweka polepole, sio mwendo wa haraka wa kuitikia.

Nini hasa kinachoenda vibaya
Karibu maumivu yote hayapo kwenye amri ya mafunzo. Yapo kwenye mambo yanayoizunguka, yamepangwa kwa jinsi yanavyojitokeza mara ya kwanza.
| Dalili | Sababu ya kawaida | Ukurasa |
|---|---|---|
| lerobot-find-port haionyeshi chochote | Ruhusa za kiendeshi, kebo au nodi | mkono haujatambuliwa |
| Kamera haipo wakati wa kurekodi | Kielezo kimebadilika baada ya kuwasha upya, au kamera mbili kwenye kidhibiti kimoja cha USB | kamera haijatambuliwa |
| Mafunzo yanakataa seti ya data | ACT inataka v3.0, GR00T inahitaji v2.1 | seti ya data imekataliwa kama v3 |
| CUDA imeishiwa kumbukumbu | Ukubwa wa bechi umeongezwa, au fremu za 1080p badala ya 480p | kumbukumbu imeisha wakati wa mafunzo |
| Hasara inaonekana nzuri, mkono haufanyi chochote | Data haina kazi, au kamera ilihama | hasara inapungua, sera haifanyi chochote |
| Mwendo wa kutetemeka au kusimama katikati ya kipindi | Haijafunzwa vya kutosha, kusimama kwenye mpaka wa kipande, au simu ya inference iliyoisha muda | sera inaganda katikati ya mwendo |
Safu mbili zinastahili kusisitizwa. ACT inafunzwa kwenye LeRobot v3.0 wakati kipakiaji cha GR00T kinagonga kwenye hiyo na kinahitaji v2.1, kwa hivyo seti ya data inayofunza ACT inaweza kufeli utekelezaji wa GR00T. Na safu ya mwisho ina marekebisho mawili: waandishi wa ACT hujibu mwendo wa kutetemeka kwa mafunzo zaidi, wakati na n_action_steps kwa 100 kusimama halisi hutua kwenye mpaka wa kipande, kusimama kunakoonekana kila sekunde 3.3 kwa 30 fps. Mengine mawili ya kujua: kiungo kimoja kilichokufa kwa kawaida ni kitambulisho cha servo ambacho hakikuandikwa kamwe, na kibano kinachokaribia lakini hakifungi kamwe inamaanisha safu ndogo sana ya kibano katika maonyesho. Kielezo kamili: kurasa za aina za hitilafu.
Gharama ya utekelezaji
| Kiwango | Miundo | Muda wa kuendesha | Bei kwa saa | Gharama kwa kila uendeshaji |
|---|---|---|---|---|
| RTX 4090 / 24 GB | ACT, SmolVLA | saa 2 hadi 5 | 0.30 to 0.60 USD | kama 1 hadi 3 USD |
| A100 80 GB / H100 | GR00T N1.7, GR00T N1.5, Pi0.5 | saa 3 hadi 6 | 1.20 to 2.00 USD | kama 4 hadi 12 USD |
Huu ndio hoja ya kuanza na ACT hata kama unataka VLA baadaye. Uendeshaji wa ACT ulioshindwa unagharimu bei ya kahawa na hukujulisha ndani ya masaa kama seti yako ya data ina kazi hiyo. Uendeshaji wa GR00T ulioshindwa unagharimu mara nne zaidi kwa somo hilo hilo. Kuhamia kwenye GR00T N1.7 au SmolVLA baadaye ni mabadiliko ya fomu, sio ujenzi upya. Mandharinyuma: miundo ya maono-lugha-vitendo, mwongozo kamili wa SO-100, funza sera yako ya kwanza na ujifunzaji wa kuiga. Hakuna mkono? ukurasa wa moja kwa moja huonyesha SO-100 halisi ya kuendesha bila kujisajili.
Funza ACT kwenye SO-100 yako
Mwongozo wa mchanganyiko huu kamili: mipangilio chaguomsingi, kiwango cha GPU na gharama ya uendeshaji. Chagua seti ya data, backend inakodisha kadi na kuandika sehemu za kukagua.
Fungua mwongozo wa mafunzoJe, kuna modeli ya ACT iliyefunzwa awali ninayoweza kurekebisha badala yake?▾
Hapana. ACT haina modeli ya msingi; inapatikana tu baada ya kuifunza. Hilo sio pengo katika zana, ndivyo ACT ilivyo: karatasi inafunza sera kutoka mwanzo kwa kila kazi. Kwa sehemu ya kukagua ya muuzaji, tumia GR00T N1.7 au Pi0.5.
Ninahitaji vipindi vingapi hasa?▾
50: kile ALOHA ilirekodi kwa kila kazi (100 kwa Thread Velcro, ngumu zaidi) na kiwango cha chini cha AY-Robots. lerobot inashauri takriban 10 kwa kila eneo la kitu, kamera zimewekwa sawa, mshiko thabiti. Vipindi hamsini safi vinashinda mia moja ambapo kamera ilisogea.
Je, nibadilishe chunk_size kutoka 100?▾
Kwa kawaida hapana. Upunguzaji huongezeka kutoka asilimia 1 kwa k = 1 hadi asilimia 44 kwa k = 100 na hupungua baadaye, kwa hivyo 100 inakaa karibu na kilele. Ikiwa mkono unajishughulisha kwa muda mrefu sana, punguza n_action_steps badala yake: kwa 30 fps, maswali 25 ya kurudia kila sekunde 0.8.
Uendeshaji wa mafunzo huchukua muda gani, na ninaweza kuukomesha mapema?▾
Saa mbili hadi tano kwenye kadi ya 24 GB kwa hatua 100000. Sehemu za kukagua hutua kila hatua 20000 na --resume=true huanzisha tena uendeshaji, kwa hivyo kusitisha mapema ni salama. Sio tu kwenye sehemu ya kwanza tambarare: ulaini huboreshwa baada ya hasara kutulia.
Hasara ilipungua na mkono bado unashindwa. Sasa nini?▾
Karibu kila mara seti ya data. Cheza tena vipindi vilivyorekodiwa kwenye mkono: ikiwa uchezaji tena haufanyi kazi, data haina hiyo. Kisha angalia kama kitu chochote kilihamia, hasa kamera. ACT haina vipaumbele, kwa hivyo msukumo kwenye kipindi cha 21 ni wa kudumu.
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