
Taktu upp nothæft LeRobot gagnasafn með SO-100: kvörðun, fjarstýringu leiðtoga-fylgjanda, raunverulegar lerobot-record fánar og sjálfgefnar stillingar, uppsetningu myndavélar, fjölda þátta, og gallana sem eyðileggja keyrslu.
Einn SO-100 fylgjandi, leiðararmur af sömu hönnun og tvær USB myndavélar geta fínstillt stefnu á einum eftirmiðdegi. Sama prófunarbekkur getur jafn auðveldlega framleitt sextíu þætti sem líta vel út í skráavafra og sóað sex klukkustunda GPU keyrslu. Munurinn er sjaldan líkanið; það er það sem gerðist á milli servóanna og parquet skráarinnar.
Hér er handvirka leiðin, síðan sú styttri. Sérhver skipun er frá lerobot 0.6.1, gefin út 3. ágúst 2026 og núverandi á PyPI. Það færðist yfir í inngangspunkta fyrir stjórnborð, svo kennsluefni sem keyra python lerobot/scripts/control_robot.py lýsa skrá sem er ekki lengur til.
Stutta útgáfan
- •lerobot 0.6.1 tekur upp v3.0; GR00T N1.7 og N1.5 vilja v2.1. Ákveðið sniðið áður en þú ýtir á upptöku.
- •Fjórar skipanir: lerobot-find-port, lerobot-setup-motors, lerobot-calibrate, lerobot-record. Notið sömu --robot.id og --teleop.id frá kvörðun inn í upptökulotuna.
- •Raunverulegar sjálfgefnar stillingar: 30 fps, 60 s á hvern þátt, 60 s endurstilling, 50 þættir, um 100 mínútur af rauntíma.
- •Lágmarksþættir hér: 30 fyrir SmolVLA, 50 fyrir restina.
- •Fjölbreytni er betri en magn. Gagnasöfn deyja af fjórum ástæðum: víxluðum myndavélavísitölum, týndum eða frosnum römmum, lið sem er fastur við mörk sín, ólæsilegum verkefnisstreng.
Hvað upptökulota fangar
Gagnasafn LeRobot gagnasafn er ekki mappa af myndböndum heldur tímasett tafla með myndbandi tengdu: hver stýrilásar-tíðni skrifar eina röð sem inniheldur skipaða aðgerð, ástandið sem fylgjandinn náði, einn ramma á hverja myndavél, tímastimpil og vísitölur. Stýringin sér aðeins þessar dálka. Skema lerobot/svla_so100_pickplace, lesið úr meta/info.json þess.
| Eiginleiki | dtype | Lögun | Hvað það er |
|---|---|---|---|
| action | float32 | [6] | liðamarkmið frá leiðararmi |
| observation.state | float32 | [6] | liðastaðsetningar sem fylgjandinn náði |
| observation.images.top | video | [480, 640, 3] | senumyndavél, MP4 (av1 hér) |
| observation.images.wrist | video | [480, 640, 3] | úlnliðsmyndavél, sama tíðni |
| timestamp | float32 | [1] | sekúndur frá upphafi þáttar |
| frame_index, episode_index, index, task_index | int64 | [1] | sjálfvirkt fyllt bókfærsla |
Liðirnir eru main_shoulder_pan, main_shoulder_lift, main_elbow_flex, main_wrist_flex, main_wrist_roll og main_gripper: sex frelsisgráður SO-100. Aðgerð og ástand deila lögun vegna þess að leiðara-fylgjanda fjarstýring skráir markmið og staðsetningu sem náðist einu skrefi síðar. Þetta bil er upplýsingar: hvar armurinn barðist við þyngdarafl eða fastan hlut. Þessar strengir eru úr þessu gagnasafni. Fundur sem var skráður með 0.6.1 í dag skrifar shoulder_pan.pos í gegnum gripper.pos, auðkenni 1 til 6 á strætó: sömu sex liðir, mismunandi lyklar, sem skiptir máli þegar stilling vísar í eiginleika með nafni.
Þetta gagnasafn inniheldur 50 þætti og 19.631 ramma á 30 fps: um 393 ramma, eða 13 sekúndur, á hvern þátt. Ef þínir eru að meðaltali mínútu, ertu að gera eitthvað erfiðara eða taka upp dauðan tíma í báðum endum.

Hvað þú þarft á vinnubekknum
| Hlutur | Nánar | Athugasemd |
|---|---|---|
| Fylgihandleggur | SO-100, sex Feetech STS3215 servóar | um 110 til 150 EUR í hlutum |
| Leiðtogahandleggur | annar SO-100, gírar fjarlægðir | gírar fjarlægðir úr öllum sex leiðtogamótorum: aðeins kóðari, minni núningur |
| Aflgjafi | passar við 7.4 V STS3215 útgáfuna í efnisskrá | sjá viðvörun hér að neðan |
| Myndavélar | tvær USB myndavélar, 640x480 við 30 fps | ein fyrir umhverfið, ein á úlnliðnum |
| Hýsill | Python 3.12 eða nýrri, ffmpeg | requires-python >= 3.12 |
| Hub reikningur | Hugging Face skriflykill | valfrjálst með --dataset.push_to_hub=false |
STS3215 kemur í tveimur útgáfum: SO-ARM100 README metur 7.4 V útgáfuna á 16.5 kg.cm stöðvunartog mælt við 6 V og 12 V útgáfuna á 30 kg.cm, og tekur fram að ef 12 V mótorar eru valdir þýðir það einnig að kaupa 12 V 5 A+ aflgjafa í stað 5 V. Efnisskráin listar 7.4 V servóar. Að gefa 12 V spennu á servóar sem eru metnir fyrir 7.4 V eyðileggur þá, svo lestu merkimiða mótorsins áður en þú tengir eitthvað. Servó svarar ekki.
Ef armurinn er ekki smíðaður ennþá, þá er það sér kvöldverkefni: byrjaðu á SO-100 að byrja og fullkominni SO-100 uppsetningarleiðbeiningum. Ef þú hefur ekki keypt neitt, lestu SO-100 samanburðinum við SO-101 fyrst: SO-101 er nýrri útgáfan með bættri raflögn og engu gír-fjarlægingarskrefi, og upptökuferlið er eins.
Setja upp lerobot 0.6.1
conda create -y -n lerobot python=3.12
conda activate lerobot
# TorchCodec is the default video decoder and needs ffmpeg
conda install ffmpeg -c conda-forge
# core_scripts = dataset + hardware + viz extras (record, replay, calibrate)
# feetech = SDK for the STS3215 bus servos in the SO-100
pip install 'lerobot[core_scripts,feetech]'
lerobot-infoAukaþættir valda oftast vandræðum. pip install lerobot setur aðeins upp kjarna ML-háðir, ekkert sem talar við vélmenni. Koch armar þurfa dynamixel í stað feetech. Ef skelin þín hefur aldrei heyrt um lerobot-record, þá er þetta ástæðan.
Portar, mótorauðkenni og kvörðun
Þrjú einu sinni skref standa á milli hluta og virkrar fjarstýringarlykkju. gerir stefnu sem þjálfuð er á þínum armi kleift að keyra á armi einhvers annars, og varpar hráum kóðarafjölda á sameiginlega liðamótareglu.
- 1Finndu USB-port hvers arms
Keyrðu það með báðum örmum tengdum, taktu úr sambandi þann sem þú ert að auðkenna þegar beðið er um það, og skráðu hvaða port hverfur. Á Linux gætirðu þurft
sudo chmod 666 /dev/ttyACM0.bashlerobot-find-port # Finding all available ports for the MotorsBus. # Ports before disconnecting: ['/dev/ttyACM0', '/dev/ttyACM1'] # Remove the USB cable from your MotorsBus and press Enter when done. # The port of this MotorsBus is '/dev/ttyACM1' # Reconnect the USB cable. - 2Skrifaðu mótorauðkenni og baudhraða
Auðkenni eru skrifuð einn mótor í einu, og leiðbeiningarnar eru strangar um hvernig: tengdu nákvæmlega einn mótor við stýriborðið, ekki enn tengdan í keðju við neinn annan. Skriftan gengur afturábak í keðjunni, biður fyrst um gripinn og gefur honum auðkenni 6, síðan wrist_roll sem 5, niður í shoulder_pan sem 1. Gerðu þetta fyrir samsetningu.
bashlerobot-setup-motors \ --robot.type=so100_follower \ --robot.port=/dev/ttyACM0 lerobot-setup-motors \ --teleop.type=so100_leader \ --teleop.port=/dev/ttyACM1 - 3Kvarðaðu báða arma
Færðu hvern lið í miðju sviðs síns, ýttu á Enter, og færðu síðan hvern og einn í gegnum allt svið sitt.
idverður heiti sniðskrárinnar.bashlerobot-calibrate \ --robot.type=so100_follower \ --robot.port=/dev/ttyACM0 \ --robot.id=my_so100_follower lerobot-calibrate \ --teleop.type=so100_leader \ --teleop.port=/dev/ttyACM1 \ --teleop.id=my_so100_leader - 4Fjarstýrðu áður en nokkuð er tekið upp
Viðtökuprófið fyrir allt ofangreint. Ef fjarstýringin er rykkjótt, spegluð, eða einn liður fylgir ekki, varðveitir upptaka það í 50 þáttum.
bashlerobot-teleoperate \ --robot.type=so100_follower \ --robot.port=/dev/ttyACM0 \ --robot.id=my_so100_follower \ --teleop.type=so100_leader \ --teleop.port=/dev/ttyACM1 \ --teleop.id=my_so100_leader \ --display_data=true
Snið fara í $HF_LEROBOT_CALIBRATION, sjálfgefið ~/.cache/huggingface/lerobot/calibration, og auðkennið er uppflettingarlykillinn. Gefðu lerobot-record kvarðað auðkenni og það býður upp á Enter til að endurnýta sniðið eða c til að endurtaka það. Gefðu því óþekkt auðkenni og það er engin skrá, svo það fer í kvörðun í miðri lotu.
Myndavélar ákveða hvað stefnan sér
lerobot-find-cameras opencv # or: lerobot-find-cameras realsense
# --- Detected Cameras ---
# Camera #0:
# Name: OpenCV Camera @ 0
# Type: OpenCV
# Id: 0
# Backend api: AVFOUNDATION
# Default stream profile:
# Format: 16.0
# Width: 1920
# Height: 1080
# Fps: 15.0Tvær sýnir, og staðsetning þeirra skiptir máli: föst sýnismyndavél sem nær yfir vinnusvæðið, og úlnliðsmyndavél nálægt griparmaenda sem sýnir hvað gripurinn er að fara að snerta. Gátlisti LeRobot samfélagsgagnasafna biður um helst tvær sýnir í 480x640 / 720p eða betri upplausn, kyrran bakgrunn, hlutlausa stöðuga lýsingu, og að leiðararminn og mannlegir útlimir séu utan ramma. Upptökuleiðbeiningarnar bæta við þumalputtareglunni: þú ættir að geta framkvæmt verkefnið sjálfur með því einu að horfa á myndirnar frá myndavélinni.
OpenCV vísitölur koma frá upptalningarröð, svo endurræsing eða endurtenging getur valdið því að vísitölur 0 og 2 skipti um stað og setji úlnliðssýnina í efsta raufina fyrir heila lotu. lerobot segir það sjálft: myndavélaklasinn þess tekur við tækjaleið sem og heiltölu, og varar við því að vísitölur séu óstöðugar yfir endurræsingar eða portbreytingar, sérstaklega á Linux. Beindu index_or_path á udev tákntengilinn undir /dev/v4l/by-id/, sem fylgir tækinu frekar en upptalningarröðinni. Þetta er algengasta leiðin til að gagnasafn endar innbyrðis ósamræmt, og þjálfun getur ekki lagað það. Myndavél fannst ekki.
Skráningarskipan og hver fáni
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_so100_follower \
--robot.cameras="{ top: {type: opencv, index_or_path: 0, width: 640, height: 480, fps: 30}, wrist: {type: opencv, index_or_path: 2, width: 640, height: 480, fps: 30}}" \
--teleop.type=so100_leader \
--teleop.port=/dev/ttyACM1 \
--teleop.id=my_so100_leader \
--display_data=true \
--dataset.repo_id=${HF_USER}/so100_pick_cube \
--dataset.single_task="Pick the red cube and drop it in the box" \
--dataset.num_episodes=50 \
--dataset.fps=30 \
--dataset.episode_time_s=25 \
--dataset.reset_time_s=10 \
--dataset.streaming_encoding=true \
--dataset.encoder_threads=2Sjálfgefnar stillingar hér að neðan koma frá src/lerobot/configs/dataset.py á aðalgreininni, ekki úr kennsluefni. Nokkrar eru ekki það sem fólk gerir ráð fyrir.
| Fáni | Sjálfgefið | Hvað það gerir |
|---|---|---|
| --dataset.repo_id | empty | nafn; tímasetning bætt við sjálfgefið |
| --dataset.single_task | empty | verkefnisstrengur geymdur með hverjum þætti |
| --dataset.root | $HF_LEROBOT_HOME/repo_id | skrifslóð, sjálfgefið ~/.cache/huggingface/lerobot/ |
| --dataset.fps | 30 | stýrilykkjuhraði og rammahraði gagnasafns |
| --dataset.episode_time_s | 60 | sekúndur áður en þáttur fer sjálfkrafa áfram |
| --dataset.reset_time_s | 60 | endurstilling senu; armur hreyfist, ekkert geymt |
| --dataset.num_episodes | 50 | þættir skráðir í þessari lotu |
| --dataset.push_to_hub | true | hlaða upp í lok lotu; false heldur staðbundið |
| --dataset.streaming_encoding | false in the dataclass, true in the docs table | kóða meðan á upptöku stendur; stilltu það sérstaklega |
| --dataset.encoder_queue_maxsize | 30 | biðminni ramma á myndavél, ~1 s við 30 fps |
| --dataset.encoder_threads | null (codec decides) | þræðir á kóðara; lækka ef upptaka hikstar |
| --dataset.no_stamp | false | halda repo_id nákvæmlega eins og slegið er inn |
| --resume | false | bæta við núverandi gagnasafn; þarf --dataset.root |
Gagnasafnið þitt heitir ekki það sem þú slóst inn. lerobot bætir við dagsetningar- og tímamerki, svo so100_pick_cube verður so100_pick_cube_20260823_141530. Notaðu --dataset.no_stamp=true fyrir stöðugt nafn. Halda áfram telur viðbætur, ekki heildartölur. Með --resume=true telur --dataset.num_episodes viðbótarþætti og --dataset.root verður skylda. Biddu um 50 á gagnasafni með 30 þáttum og þú færð 80.
Lyklaborðsstýring meðan á lotu stendur
- Hægri ör eða
n: ljúka þætti eða endurstilla fasa snemma. Lykillinn sem þú notar mest, því hreint grip þarf sjaldan 25 sekúndur. - Vinstri ör eða
r: farga þættinum og endurtaka hann. Slæm upptaka kostar ekkert núna en mikið síðar. - Escape eða
q: stöðva lotuna, ljúka kóðun, hlaða upp. - Þetta virkar á X11, Wayland og höfuðlausum SSH: án alþjóðlegs lyklabakenda les lerobot-record sömu lykla frá stjórnunarstöðinni. Stafirnir lifa af seinar SSH tengingar, þar sem örvaröð brotnar.
- Lyklaborðs fjarstýring er öðruvísi og þarf alþjóðlegan bakenda: X11, Windows, eða macOS með aðgengi.
Hversu margir þættir, og hvernig góður þáttur lítur út
Upptökuleiðbeiningarnar benda til að minnsta kosti 50 þátta fyrir fyrsta verkefni, um 10 á hvern staðsetningu hlutar. The stefnusíðurnar lista upp lágmark á hverja gerð, undir því er keyrsla ekki virði GPU tímans.
| Stefna | Lágmarksþættir | Gagnasafnsnið | GPU flokkur | Kostnaður á keyrslu |
|---|---|---|---|---|
| SmolVLA | 30 | LeRobot v3.0 | RTX 4090 or any 24 GB card | about 1 to 3 USD |
| ACT | 50 | LeRobot v3.0 | RTX 4090 or any 24 GB card | about 1 to 3 USD |
| GR00T N1.7 | 50 | LeRobot v2.0 or v2.1 | A100 80 GB or H100 80 GB | about 4 to 12 USD |
| GR00T N1.5 | 50 | LeRobot v2.0 or v2.1 | A100 80 GB or H100 80 GB | about 4 to 12 USD |
| Pi0.5 | 50 | LeRobot v3.0 | A100 80 GB or H100 80 GB | about 4 to 12 USD |
Betri spurningin er hversu mikið af hverju. Data Scaling Laws in Imitation Learning for Robotic Manipulation (Lin o.fl., 2024) söfnuðu yfir 40.000 sýnikennslum og keyrðu meira en 15.000 raunheims keyrslur. Alhæfing fylgdi u.þ.b. veldislögmáli í sambandi við fjölda umhverfa og hluta, og eftir ákveðinn þröskuld á hvert umhverfi eða hlut höfðu viðbótar sýnikennslur lágmarksáhrif. Á einum vinnubekk: færðu hlutinn, breyttu lýsingunni, skiptu um teninginn, frekar en að endurtaka eina töku.
- Samfelldar liðferlar sem servó getur endurtekið, ólíkt lyklaborði eða leikjastýringu
- Aðgerð og ástand deila hnitareglu, svo stefnan lærir markmið sem hún getur stýrt beint
- 25 sekúndna þáttur auk 10 sekúndna endurstillingar er u.þ.b. 100 þættir á klukkustund
- Stjórnandinn finnur þegar fylgjandinn hikstar eða festist, svo gallar koma í ljós áður en gögn eru skráð
- Annar armur tvöfaldar u.þ.b. kostnað við varahluti
- Sýnikennslur erfa venjur stjórnanda; Mandlekar o.fl. komust að því að gæði stefnu ráðast mikið af gæðum sýnikennslunnar
- Leiðtoginn er sýndur á lykkjuhraða, svo hlé verða næstum eins raðir sem kenna stefnunni að bíða
- Ekkert tryggir samræmi milli funda: myndavél sem er hreyfð um 5 cm er falin dreifingarbreyting
Góður þáttur er leiðinlegur: endurtekin heimastelling, eitt verkefni klárað, lýkur þegar hluturinn er í ruslafötunni, verkefnisstrengur í 25 til 50 stöfum eins og gátlistinn mælir með. Taktu rauða teninginn og slepptu honum í kassann er verkefnisstrengur; task1 er andstæðan við það mynstur sem gátlistinn nefnir sérstaklega. Óljósar athugasemdir eru efst á lista yfir vandamál, og þær skipta mestu máli fyrir sjón-tungumál-aðgerðarlíkön, þar sem strengurinn er inntak líkans, ekki skráarnafn.
Gallar sem eyðileggja gagnasafn í hljóði
Enginn kastar undantekningu. Allir lifa af inn í þjálfun, koma fram sem tapferill sem lítur vel út og vélmenni sem gerir ekkert. Athugaðu á meðan sviðsmyndin er sett upp.
| Galli | Hvernig það lítur út | Hvaðan það kemur | Hvernig á að finna það |
|---|---|---|---|
| Víxlaðar myndavélarsýnir | úlnliðsmynd undir efsta lyklinum | endurúthlutun vísitölu eftir endurtengingu | lerobot-find-cameras í hverri lotu; by-id paths |
| Frosnir rammar | sama myndin í tugum raða | myndavél hættir að skila; lykkja endurtekur síðasta ramma | skoða það í lerobot-dataset-viz |
| Tapaðir rammar | fjöldi raða undir rammar á sekúndu sinnum sekúndur | biðröð flæðir yfir, sleppir frekar en að lokar | 'Encoder queue full' í log; raðir vs rammar á sekúndu sinnum lengd |
| Liður á mörkum sínum | einn liður flatur á lágmarki eða hámarki | svið leiðtogans fer yfir svið fylgjandans, eða slæm miðjustelling | min/max fyrir hvern lið í ds.meta.stats; lerobot-find-joint-limits fyrirfram |
| Mynd og aðgerð ósamstillt | stefnan sér fyrir eða dregst aftur úr | myndavélar á öðrum rammar á sekúndu en lykkjan | halda hverri myndavél á --dataset.fps |
| Dauður tími | langar keyrslur af eins aðgerðaröðum | stjórnandi gerði hlé með upptökutækið í gangi | hlutfall samliggjandi eins aðgerðarraða |
| Ónothæfur verkefnisstrengur | task1, demo2, test | fljót að slá inn | meta/tasks.parquet í v3.0 (það var meta/tasks.jsonl í v2.1); laga með lerobot-edit-dataset modify_tasks |
Kóðarinn heldur takmarkaðri biðröð fyrir hverja myndavél, 30 ramma sjálfgefið. Þegar hann ræður ekki við, eru rammar felldir niður frekar en stöðvaðir: upptaka heldur áfram og ekkert hrynur. Þú færð Encoder queue full for {camera}, dropped N frame(s) og heildarfjölda fyrir hverja myndavél í lok þáttar. Lerobot þröskuldurinn: um 5 prósent vantar þýðir ofhlaðið kerfi, 2 prósent er búist við ræsihleðslu. Lagfæringar í röð: --display_data=false, lækka --dataset.encoder_threads, vcodec=h264, slökkva á streymi.
Eitt fyrirvari: taflan í leiðbeiningum um streymiskóðun sýnir sjálfgefna stillingu sem True, á meðan gagnaklasinn á aðalútgáfunni les streaming_encoding: bool = False. Skjöl og kóði eru ósammála, svo stilltu það skýrt; lerobot skráir vísbendingu sem mælir með því hvenær sem það byrjar með flaggið slökkt.
Athugaðu gagnasafnið áður en þú leigir GPU
Viðtökuprófið úr skjölunum: berðu saman lengd myndbands við lengd þáttar sem CLI tilkynnti, og staðfestu að fjöldi raða jafngildi fps sinnum lengd. Fyrir hvern þátt, ekki heildina.
from lerobot.datasets import LeRobotDataset
ds = LeRobotDataset("your-user/so100_pick_cube_20260823_141530")
print("fps:", ds.fps, "frames:", ds.num_frames)
# In v3.0 the per-episode records live in meta/episodes/ as chunked parquet:
# lengths, tasks and offsets into the shared parquet and mp4 shards.
# They load through the datasets stack, so this is a datasets.Dataset --
# use .column_names and integer indexing, not pandas .columns / .head().
eps = ds.meta.episodes
print(eps.column_names)
print(eps[0])
# Global feature statistics, including per-joint min and max.
# A joint whose min equals its max never moved. A joint sitting at a
# hard limit for most of the run is the one that will stall the policy.
print(ds.meta.stats["observation.state"])Skoðaðu það síðan. lerobot-dataset-viz spilar þátt ramma fyrir ramma með liðsporum við hlið myndavélarsýna, í Rerun eða Foxglove. Skiptar myndavélar og frosnir rammar birtast á tíu sekúndum. Fólk sleppir þessu skrefi.
# Replay one episode with camera views and joint traces
lerobot-dataset-viz \
--repo-id your-user/so100_pick_cube_20260823_141530 \
--episode-index 0
# Foxglove instead, for a seekable, scrubbable timeline
lerobot-dataset-viz \
--repo-id your-user/so100_pick_cube_20260823_141530 \
--episode-index 0 \
--display-mode foxglove
# Drop the episodes that did not survive review
lerobot-edit-dataset \
--repo_id your-user/so100_pick_cube_20260823_141530 \
--new_repo_id your-user/so100_pick_cube_clean \
--operation.type delete_episodes \
--operation.episode_indices "[3, 17, 41]"
v2.1 eða v3.0: ákveðið áður en þið takið upp
v2.1 skrifaði eina parquet og eina MP4 á hvern þátt. v3.0 sameinar marga þætti í sameiginlegar skífur og endurbyggir mörk úr lýsigögnum, svo info.json inniheldur slóðasniðmát eins og data/chunk-{chunk_index:03d}/file-{file_index:03d}.parquet í stað þáttanúmers. Rökstuðningurinn er færri, stærri skrár: hraðari frumstilling og minna álag á skráakerfið í stórum skala.
| LeRobot v2.1 | LeRobot v3.0 | |
|---|---|---|
| Uppsetning | eitt parquet og eitt MP4 á hvern þátt | margir þættir á hverja skífu |
| Lýsigögn þátta | JSONL skrár | skipt parquet undir meta/episodes/, í gegnum gagnasafnsstaflann |
| Streymi frá Hub | nei | já, í gegnum StreamingLeRobotDataset |
| Skrifað af lerobot 0.6.1 | nei | já, það sem þú færð í dag |
| Lesið af GR00T N1.7 og N1.5 | já | nei, verður að breyta niður |
lerobot 0.6.1 skrifar v3.0, en GR00T N1.7 og N1.5 lesa v2.0 eða v2.1 og hrynja á því. Athugið ferðastefnuna: src/lerobot/scripts/ inniheldur convert_dataset_v21_to_v30.py og ekkert sem fer hina leiðina. Ljúkið þessu fyrir fundinn. Lagfæring: gagnasafn hafnað sem v3.
# Upgrade an older v2.1 dataset to v3.0
python -m lerobot.scripts.convert_dataset_v21_to_v30 \
--repo-id=your-user/so100_pick_cube
# By default it pushes the converted dataset back to the hub and tags it v3.0.
# To convert a local copy and keep it off the hub:
python -m lerobot.scripts.convert_dataset_v21_to_v30 \
--repo-id=your-user/so100_pick_cube \
--root=/path/to/dataset/directory \
--push-to-hub=falseTvær leiðir að sama gagnasafni
Allt ofangreint, á þinni eigin vél: þú átt USB upptalninguna, ffmpeg smíðina, kóðara stillinguna og kvörðunarskrárnar. Rétta leiðin til að skilja ferlið, keyra óvenjulegan myndavélarbúnað eða halda gögnum staðbundnum.
Tími: eitt kvöld á arm til að setja saman, erfið fyrsta kvörðun og fyrsta lota sem þú hendir vegna þess að myndavél var í röngu raufi.
Skjáborðsforritið skráir LeRobot-sniðin gagnasöfn, þætti, myndavélarstrauma og liðstöður, beint úr fjarstýringar lotu. Þetta gagnasafn fer inn í þjálfunarformið: veldu líkan, gagnasafn og ofbreytur, og bakendinn leigir GPU sem er stærðar eftir VRAM líkansins, keyrir þjálfarann og skrifar eftirlitsstöðvar í hlutageymslu.
- 1Settu upp forritið
Á niðurhalssíðunni; uppsetning í skjölum forritsins.
- 2Taktu upp úr fjarstýringarlotu
Keyrðu arminn; forritið skrifar þætti á LeRobot sniði. Leiðbeiningar: taktu upp fyrsta gagnasafnið þitt.
- 3Eða komdu með eigin gögn
Gagnasafn getur einnig komið frá Hugging Face repo id eða þinni eigin vél: gagnasafnsskjöl, opinber skrá.
- 4Þjálfaðu og keyrðu það aftur
Veldu samsetninguna á þjálfunarfylkinu, keyrðu síðan stefnuna aftur á arminn. Gróflega 1 til 3 USD á 24 GB flokknum, 4 til 12 á A100 eða H100 flokknum.
Það setur ekki saman eða kvarðar arminn þinn, og það lagfærir ekki gallaðan þátt, svo skoðunarskrefið gildir enn. Það er líka hörð takmörkun í hinum endanum: fyrir hröð verkefni verður ályktun að vera við hliðina á servóunum. Stýringarlykkjan keyrir 20 til 485 ms á hverju aðgerðarskrefi, og almennar internetferðir ofan á breyta virkri stefnu í hikandi.
Taktu upp LeRobot gagnasöfn án þess að tengja leiðsluna sjálfur
AY-Robots skjáborðsforritið skráir þætti, myndavélarstrauma og liðstöður á LeRobot sniði úr fjarstýringarlotu, og afhendir síðan gagnasafnið þjálfaranum.
Sæktu skjáborðsforritiðFrá gagnasafni til stefnu
Fimmtíu hreinir þættir næra hvert sem keyrt er hér. þjálfar frá grunni á þínu verkefni einu, um 80 M færibreytur á um það bil 20 ms á hverju aðgerðarskrefi, sú eina af fimm sem er þægileg með hraðar hreyfingar. er um 450 M færibreytur á 24 GB korti. er um það bil 3 B færibreyta grunnlíkan þar sem snertir um 40 M færibreytur, þarf A100 eða H100, og vill þetta v2.1 gagnasafn.
Næst, leiðbeiningarnar fyrir þína samsetningu: , eða ; fyrir fyrstu keyrslu er styttra. Þegar stefnan virkar á prófunarbekknum en hrynur um leið og þú færir borðið, þá er það gagnavandamál: og fara dýpra í fjölbreytileika.
Hversu marga þætti þarf ég raunverulega fyrir fyrstu virku stefnuna?▾
Þrjátíu fyrir SmolVLA, fimmtíu fyrir ACT, Pi0.5, GR00T N1.5 og N1.7, sem eru lágmarkskröfur AY-Robots þjálfaranna. LeRobot leiðbeiningarnar mæla sjálfstætt með að minnsta kosti 50 fyrir fyrsta verkefni, um 10 á hvern staðsetningu hlutar. Gagnaskölunarvinna sýndi að alhæfing skalast með umhverfi og hlutum frekar en fjölda sýnikenna, svo hundrað upptökur af einni senu eru verri en fimmtíu yfir fimm staðsetningar.
Þarf ég stýriarm, eða get ég fjarstýrt með lyklaborði?▾
lerobot sendir með lyklaborðs- og leikjatölvufjarstýringar, svo stýriarmur er ekki stranglega nauðsynlegur, en hann er mjög æskilegur: leiðtoga-fylgja gefur samfelldar liðferlar í hnitakerfi upptekinnar aðgerðar, á meðan lyklaborðsinntak framleiðir stigvaxna hreyfingu sem stefna lærir sem rykk. Lyklaborðsfjarstýring þarf einnig alþjóðlegan lyklabakenda, svo hún virkar ekki á Wayland og höfuðlausum kerfum.
Get ég tekið upp á Raspberry Pi eða lítilli smátölvu?▾
Já, með fínstillingu. Leiðbeiningar um straumkóðun hafa lágt auðlindasvið sem nær yfir nútíma 4-kjarna vélar og Raspberry Pi 5, og setur tvær myndavélar á 640x480 og 30 fps í dálkinn „þarf einhverja fínstillingu“. Ráð hennar: stöðva kóðarann frá því að keppa við upptökulásinn, með --dataset.rgb_encoder.vcodec=h264 og --dataset.streaming_encoding=false. Hún metur tvær myndavélar á 640x480 sem um 55 milljónir pixla á sekúndu og tvær á 1920x1080 sem um 373 milljónir.
Hvernig veit ég að gagnasafnið sem ég tók upp sé í raun heilbrigt?▾
Þrjár einfaldar athuganir. Berðu saman myndbandslengd hvers þáttar við lengdina sem CLI tilkynnti og staðfestu að fjöldi raða jafngildi fps sinnum þá lengd, á hvern þátt frekar en heildina; það er samþykkisprófið sem lerobot kóðunarleiðbeiningarnar gefa. Lestu ds.meta.stats, þar sem liður sem hefur lágmark jafnt hámarki hreyfðist aldrei. Spilaðu síðan tvo eða þrjá þætti í lerobot-dataset-viz, eina leiðin til að sjá skiptar sýnir og frosna ramma. Varðandi týnda ramma dregur leiðbeiningin mörkin við um það bil 5 prósent vantar; um 2 prósent er eðlilegt tímabundið álag, oft bara við ræsingu.
Þjálfunarverkefnið mitt hafnaði gagnasafninu sem v3.0. Hvað nú?▾
GR00T N1.7 og N1.5 lesa LeRobot v2.0 eða v2.1 og hrynja á v3.0, sem er það sem lerobot 0.6.1 tekur upp. Annaðhvort ákveða sniðið fyrir þjálfun, eða nota stefnu sem les v3.0 innfæddur: Pi0.5, SmolVLA eða ACT. lerobot sendir með v2.1 til v3.0 breytir og ekkert í öfuga átt.
Sources
- LeRobot: Herminám á raunverulegum vélmennum
- LeRobot: SO-100 samsetning, mótoruppsetning og kvörðun
- LeRobot: Myndavélar og lerobot-find-cameras
- LeRobot: Uppsetning og aukamatrísan
- LeRobotDataset v3.0: skipulag og v2.1 flutningur
- LeRobot: Straumspilun myndbandsþjöppunar og týndir rammar
- LeRobot: Færsla stórra gagnasafna í v3.0 (DROID)
- lerobot v0.6.1 release, 3 August 2026
- DatasetRecordConfig: sjálfgefnar raunverulegar upptökustillingar
- lerobot_record.py: upptökulykkja og meðhöndlun framhalds
- TheRobotStudio/SO-ARM100: byggingarforðageymsla og efnisskrá
- Hugging Face: LeRobot gagnasöfn samfélagsins gátlisti
- lerobot/svla_so100_pickplace: 50 þættir, 19.631 rammar
- Lin et al. (2024), Lögmál um stærðaraukningu gagna í herminámi
- Mandlekar et al. (2021), Hvað skiptir máli í námi af ótengdum mannlegum sýnikennslum
Sources
- LeRobot: Imitation Learning on Real-World Robots
- LeRobot: SO-100 assembly, motor setup and calibration
- LeRobot: Cameras and lerobot-find-cameras
- LeRobot: Installation and the extras matrix
- LeRobotDataset v3.0: layout and v2.1 migration
- LeRobot: Streaming video encoding and dropped frames
- LeRobot: Porting large datasets to v3.0 (DROID)
- lerobot v0.6.1 release, 3 August 2026
- DatasetRecordConfig: the real recording defaults
- lerobot_record.py: record loop and resume handling
- TheRobotStudio/SO-ARM100: build repo and bill of materials
- Hugging Face: LeRobot Community Datasets checklist
- lerobot/svla_so100_pickplace: 50 episodes, 19,631 frames
- Lin et al. (2024), Data Scaling Laws in Imitation Learning
- Mandlekar et al. (2021), What Matters in Learning from Offline Human Demonstrations
Ready for high-quality robotics data?
AY-Robots connects your robots to skilled operators worldwide.
Get Started