
በSO-100 ሊሰራ የሚችል LeRobot ዳታሴት ይመዝግቡ: ካሊብሬሽን፣ መሪ-ተከታይ ቴሌኦፕሬሽን፣ ትክክለኛዎቹ lerobot-record ፍላጎች እና ነባሪ ቅንብሮች፣ ካሜራ ማዋቀር፣ የክፍሎች ብዛት፣ እና ሩጫውን የሚያበላሹ ጉድለቶች።
አንድ SO-100 ተከታይ፣ ተመሳሳይ ዲዛይን ያለው መሪ ክንድ እና ሁለት የዩኤስቢ ካሜራዎች በአንድ ከሰዓት በኋላ ፖሊሲን ማስተካከል ይችላሉ። ተመሳሳይ የሙከራ ቦታ በፋይል ማሰሻ ውስጥ ጤናማ የሚመስሉ ስልሳ ክፍሎችን በቀላሉ ማምረት እና የስድስት ሰዓት የጂፒዩ ስራን ማባከን ይችላል። ልዩነቱ ሞዴሉ እምብዛም አይደለም፤ በሰርቮስ እና በፓርኬት ፋይል መካከል የተፈጠረው ነገር ነው።
ይህ በእጅ የሚሰራው መንገድ ነው፣ ከዚያም አጭሩ። እያንዳንዱ ትዕዛዝ ከlerobot 0.6.1 ነው፣ በኦገስት 3፣ 2026 የተለቀቀ እና በPyPI ላይ ወቅታዊ ነው። ወደ ኮንሶል መግቢያ ነጥቦች ተዛውሯል፣ ስለዚህ የሚሰሩ ትምህርቶች python lerobot/scripts/control_robot.py ከእንግዲህ የሌለ ፋይልን ይገልጻሉ።
አጭር እትም
- •lerobot 0.6.1 v3.0 ይመዘግባል፤ GR00T N1.7 እና N1.5 ደግሞ v2.1 ይፈልጋሉ። ከመቅዳትዎ በፊት ቅርጸቱን ያረጋግጡ።
- •አራት ትዕዛዞች: lerobot-find-port, lerobot-setup-motors, lerobot-calibrate, lerobot-record. ተመሳሳይ --robot.id እና --teleop.id ከካሊብሬሽን ወደ ቀረጻ ክፍለ ጊዜ ይውሰዱ።
- •ትክክለኛ ነባሪዎች: 30 fps, 60 s በአንድ ክፍል, 60 s ዳግም ማስጀመር, 50 ክፍሎች, ወደ 100 ደቂቃ የሚጠጋ የሰዓት ጊዜ።
- •እዚህ ዝቅተኛው ክፍሎች: 30 ለSmolVLA, 50 ለቀሪዎቹ።
- •ብዝሃነት ከብዛት ይበልጣል። የውሂብ ስብስቦች በአራት ነገሮች ይሞታሉ: የተለዋወጡ የካሜራ ኢንዴክሶች, የወደቁ ወይም የቀዘቀዙ ፍሬሞች, በመገደቢያው ላይ የቆመ መገጣጠሚያ, የማይነበብ የሥራ ሕብረቁምፊ።
የቀረጻ ክፍለ ጊዜ ምን ይይዛል
አንድ LeRobot ዳታ ስብስብ የቪዲዮዎች ማህደር ሳይሆን ጊዜ-መረጃ ያለው ቪዲዮ የተያያዘበት ሰንጠረዥ ነው፡ እያንዳንዱ የቁጥጥር-ዑደት ምት የታዘዘውን ተግባር፣ ተከታዩ የደረሰበትን ሁኔታ፣ ለእያንዳንዱ ካሜራ አንድ ፍሬም፣ የጊዜ ማህተም እና ኢንዴክሶችን የያዘ አንድ ረድፍ ይጽፋል። ፖሊሲው እነዚህን ዓምዶች ብቻ ነው የሚያየው። የlerobot/svla_so100_pickplace፣ ከ meta/info.json የተነበበ።
| ባህሪ | dtype | ቅርጽ | ምንድን ነው |
|---|---|---|---|
| action | float32 | [6] | ከመሪው ክንድ የመገጣጠሚያ ኢላማዎች |
| observation.state | float32 | [6] | ተከታዩ የደረሰባቸው የመገጣጠሚያ ቦታዎች |
| observation.images.top | video | [480, 640, 3] | የቦታ ካሜራ፣ MP4 (እዚህ av1) |
| observation.images.wrist | video | [480, 640, 3] | የእጅ አንጓ ካሜራ፣ ተመሳሳይ ፍጥነት |
| timestamp | float32 | [1] | ክፍል ከጀመረበት ጊዜ ጀምሮ ያሉ ሰከንዶች |
| frame_index, episode_index, index, task_index | int64 | [1] | በራስ-ሰር የሚሞላ የሂሳብ አያያዝ |
መገጣጠሚያዎቹ main_shoulder_pan, main_shoulder_lift, main_elbow_flex, main_wrist_flex, main_wrist_roll እና main_gripper ናቸው፡ የ SO-100 ስድስት የነጻነት ደረጃዎች። ተግባር እና ሁኔታ ቅርጽ የሚጋሩት መሪ-ተከታይ ቴሌኦፕሬሽን ኢላማን እና አንድ እርምጃ በኋላ የደረሰበትን ቦታ ስለሚመዘግብ ነው። ያ ክፍተት መረጃ ነው፡ ክንዱ ስበትን ወይም የተጣበቀ ነገርን የተዋጋበት። እነዚያ ሕብረቁምፊዎች የዚያ ዳታ ስብስብ ናቸው። ዛሬ በ0.6.1 የተመዘገበ ክፍለ ጊዜ shoulder_pan.pos እስከ gripper.pos ድረስ፣ በአውቶቡስ ላይ ከ1 እስከ 6 ያሉ መታወቂያዎችን ይጽፋል፡ ተመሳሳይ ስድስት መገጣጠሚያዎች፣ የተለያዩ ቁልፎች፣ ይህም አንድ ኮንፊግ ባህሪን በስም በሚጠራበት ጊዜ አስፈላጊ ይሆናል።
ያ ዳታ ስብስብ 50 ክፍሎችን እና 19,631 ፍሬሞችን በ30 fps ይይዛል፡ በአንድ ክፍል ወደ 393 ፍሬሞች ወይም 13 ሰከንዶች። የእርስዎ በአማካይ አንድ ደቂቃ ከሆነ፣ የበለጠ ከባድ ነገር እየሰሩ ነው ወይም በሁለቱም ጫፎች ላይ የሞተ ጊዜ እየመዘገቡ ነው።

በስራ ቦታዎ ላይ የሚያስፈልጉዎት ነገሮች
| እቃ | ዝርዝር | ማስታወሻ |
|---|---|---|
| ተከታይ ክንድ | SO-100, ስድስት Feetech STS3215 ሰርቮዎች | ለክፍሎች ከ110 እስከ 150 ዩሮ አካባቢ |
| መሪ ክንድ | ሁለተኛ SO-100, ጊርስ የተወገዱ | ከስድስቱም መሪ ሞተሮች ጊርስ የተወገዱ: ኢንኮደር ብቻ, ያነሰ ግጭት |
| ኃይል | በቁሳቁስ ዝርዝር ውስጥ ካለው 7.4 V STS3215 ልዩነት ጋር የተጣመረ | ከታች ያለውን ማስጠንቀቂያ ይመልከቱ |
| ካሜራዎች | ሁለት ዩኤስቢ ካሜራዎች, 640x480 በ30 fps | አንድ የትዕይንት እይታ, አንድ በእጅ አንጓ ላይ |
| አስተናጋጅ | Python 3.12 ወይም ከዚያ በላይ, ffmpeg | requires-python >= 3.12 |
| የሃብ አካውንት | Hugging Face የመጻፊያ ቶከን | optional with --dataset.push_to_hub=false |
STS3215 በሁለት ስሪቶች ይመጣል: የ SO-ARM100 README የ 7.4 V ስሪት በ 6 V ሲለካ 16.5 kg.cm የማቆሚያ ጉልበት እንዳለው እና የ 12 V ስሪት ደግሞ 30 kg.cm እንዳለው ይገልጻል, እንዲሁም የ 12 V ሞተሮችን መውሰድ ማለት ከ 5 V ይልቅ 12 V 5 A+ የኃይል አቅርቦት መግዛት ማለት እንደሆነ ያስተውላል። የቁሳቁስ ዝርዝር 7.4 V ሰርቮዎችን ይዘረዝራል። 12 V ለ 7.4 V ደረጃ ለተሰጣቸው ሰርቮዎች መስጠት ያጠፋቸዋል, ስለዚህ ማንኛውንም ነገር ከማገናኘትዎ በፊት የሞተሩን መለያ ያንብቡ። ሰርቮ ምላሽ አይሰጥም።
ክንዱ ገና ካልተገነባ፣ ያ የተለየ ምሽት ነው፡ ከዚህ ይጀምሩ SO-100 መጀመርያ እና የSO-100 ሙሉ የማዋቀር መመሪያ። ምንም ነገር ካልገዙ፣ መጀመሪያ SO-100 ከSO-101 ጋር ንፅፅርን ያንብቡ፡ SO-101 የተሻሻለ ሽቦ እና የማርሽ ማስወገጃ ደረጃ የሌለው አዲስ ክለሳ ነው፣ እና የመቅጃው የስራ ፍሰት ተመሳሳይ ነው።
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-infoተጨማሪዎች ሰዎችን በጣም ያደናግራሉ። pip install lerobot ዋና ዋና የML ጥገኞችን ብቻ ይጭናል፣ ከሮቦት ጋር የሚገናኝ ምንም ነገር የለም። የኮች ክንዶች dynamixel ፋንታ feetech ያስፈልጋቸዋል። የእርስዎ ሼል ስለ lerobot-record ሰምቶ የማያውቅ ከሆነ፣ ምክንያቱ ይህ ነው።
ፖርቶች፣ የሞተር መለያዎች እና ካሊብሬሽን
በክፍሎች እና በሚሰራ የቴሌኦፕ ሉፕ መካከል ሶስት የአንድ ጊዜ እርምጃዎች አሉ። በእጅዎ ላይ የሰለጠነ ፖሊሲ በሌላ ሰው ላይ እንዲሰራ ያደርጋል፣ ጥሬ ኢንኮደር ቆጠራዎችን ወደ የጋራ የመገጣጠሚያ ስምምነት ይለውጣል።
- 1የእያንዳንዱን ክንድ የዩኤስቢ ፖርት ያግኙ
ሁለቱንም ክንዶች ሰክተው ያሂዱት፣ ሲጠየቁ የሚለዩትን ይንቀሉ እና የትኛው ፖርት እንደጠፋ ያስተውሉ። በሊኑክስ ላይ
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. - 2የሞተር መለያዎችን እና ባውድሬቶችን ይፃፉ
መለያዎች አንድ ሞተር በአንድ ጊዜ ይፃፋሉ፣ እና ሰነዶቹ እንዴት እንደሆነ በጥብቅ ይገልጻሉ፡ በትክክል አንድ ሞተርን ከቁጥጥር ቦርዱ ጋር ያገናኙ፣ ገና ከሌላው ጋር ያልተገናኘ። ስክሪፕቱ ሰንሰለቱን ወደ ኋላ በመሄድ መጀመሪያ ግሪፐርን እንዲያስገቡ ይጠይቃል እና መለያ 6 ይሰጠዋል፣ ከዚያም wrist_rollን 5፣ እስከ shoulder_panን 1። ይህንን ከመገጣጠምዎ በፊት ያድርጉት።
bashlerobot-setup-motors \ --robot.type=so100_follower \ --robot.port=/dev/ttyACM0 lerobot-setup-motors \ --teleop.type=so100_leader \ --teleop.port=/dev/ttyACM1 - 3ሁለቱንም ክንዶች ካሊብሬት ያድርጉ
እያንዳንዱን መገጣጠሚያ ወደ ክልሉ መሃል ያንቀሳቅሱት፣ አስገባን ይጫኑ፣ ከዚያም እያንዳንዱን በሙሉ ክልሉ ውስጥ ያሽከርክሩት።
idየመገለጫ ፋይል ስም ይሆናል።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 - 4ምንም ነገር ከመቅዳትዎ በፊት ቴሌኦፕሬት ያድርጉ
ከላይ ለተጠቀሱት ነገሮች ሁሉ የመቀበያ ሙከራ። ቴሌኦፕሬሽን የሚንቀጠቀጥ፣ የተገለበጠ፣ ወይም አንድ መገጣጠሚያ የማይከተል ከሆነ፣ ቀረጻ በ50 ክፍሎች ውስጥ ያንን ይጠብቃል።
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
መገለጫዎች ወደ $HF_LEROBOT_CALIBRATION ይሄዳሉ፣ ነባሪው ~/.cache/huggingface/lerobot/calibration ነው፣ እና መለያው የመፈለጊያ ቁልፍ ነው። ለlerobot-record ካሊብሬት የተደረገ መለያ ይስጡት እና መገለጫውን እንደገና ለመጠቀም አስገባን ወይም እንደገና ለመስራት cን ያቀርባል። ያልታወቀ መለያ ከሰጡት ምንም ፋይል የለም፣ ስለዚህ በክፍለ-ጊዜው መካከል ወደ ካሊብሬሽን ይገባል።
ካሜራዎች ፖሊሲው የሚያየውን ይወስናሉ
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.0ሁለት እይታዎች፣ እና የት እንደሚቀመጡ አስፈላጊ ነው፡ የስራ ቦታውን የሚሸፍን ቋሚ የትዕይንት ካሜራ፣ እና የእጅ አንጓ ካሜራ ከየመጨረሻ-ተግባሪ አጠገብ ግሪፐሩ ሊነካው ያለውን ነገር የሚያሳይ። የLeRobot የማህበረሰብ-ዳታሴቶች ዝርዝር በተለይ ሁለት እይታዎችን በ480x640 / 720p ወይም የተሻለ፣ የማይንቀሳቀስ ዳራ፣ ገለልተኛ የተረጋጋ ብርሃን፣ እና የመሪው ክንድ እና የሰው እግሮች ከክፈፍ ውጪ እንዲሆኑ ይጠይቃል። የመቅጃ መመሪያው አጠቃላይ መመሪያውን ይጨምራል፡ ስራውን እራስዎ በካሜራ ምስሎች ብቻ በመመልከት ማከናወን መቻል አለብዎት።
የOpenCV ኢንዴክሶች የሚመጡት ከቁጥር ቅደም ተከተል ነው፣ ስለዚህ ዳግም ማስጀመር ወይም እንደገና መሰካት ኢንዴክስ 0 እና 2 ቦታ እንዲቀያየሩ እና የእጅ አንጓ እይታውን ለአንድ ሙሉ ክፍለ ጊዜ ከላይኛው ማስገቢያ ላይ እንዲያስቀምጡ ያደርጋል። lerobot ራሱ እንደሚለው፡ የካሜራው ክፍል የመሳሪያ መንገድን እንዲሁም ኢንቲጀርን ይወስዳል፣ እና ኢንዴክሶች ዳግም በሚጀመሩበት ወይም ወደብ በሚቀየሩበት ጊዜ በተለይም በሊኑክስ ላይ ያልተረጋጉ መሆናቸውን ያስጠነቅቃል። index_or_pathን በ/dev/v4l/by-id/ ስር ወዳለው የudev symlink ያመልክቱ፣ ይህም የመሳሪያውን እንጂ የቁጥር ቅደም ተከተልን አይከተልም። ይህ አንድ ዳታሴት በውስጥ በኩል ወጥነት የሌለው የሚሆንበት በጣም የተለመደ መንገድ ነው፣ እና ስልጠና ሊያስተካክለው አይችልም። ካሜራ አልተገኘም።
የመቅጃ ትዕዛዙ እና እያንዳንዱ አማራጭ
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=2ከታች ያሉት ነባሪዎች የመጡት src/lerobot/configs/dataset.py ከዋናው (main) ነው እንጂ ከትምህርት መመሪያ አይደለም። አንዳንዶቹ ሰዎች ከሚያስቡት የተለዩ ናቸው።
| አማራጭ | ነባሪ | የሚያደርገው |
|---|---|---|
| --dataset.repo_id | empty | ስም፤ የጊዜ ማህተም በነባሪነት ይታከላል |
| --dataset.single_task | empty | ከእያንዳንዱ ክፍል ጋር የሚቀመጥ የሥራ ሕብረቁምፊ |
| --dataset.root | $HF_LEROBOT_HOME/repo_id | የመጻፊያ መንገድ፣ ነባሪው ~/.cache/huggingface/lerobot/ |
| --dataset.fps | 30 | የመቆጣጠሪያ ዑደት ፍጥነት እና የውሂብ ስብስብ የፍሬም ፍጥነት |
| --dataset.episode_time_s | 60 | አንድ ክፍል በራስ-ሰር ከመቀጠሉ በፊት ያሉ ሰከንዶች |
| --dataset.reset_time_s | 60 | የቦታ ዳግም ማስጀመር፤ ክንድ ይንቀሳቀሳል፣ ምንም አይቀመጥም |
| --dataset.num_episodes | 50 | በዚህ ክፍለ ጊዜ የተቀረጹ ክፍሎች |
| --dataset.push_to_hub | true | በክፍለ ጊዜው መጨረሻ ላይ ይጫናል፤ ሐሰት ከሆነ በአካባቢው ይቆያል |
| --dataset.streaming_encoding | false in the dataclass, true in the docs table | በመቅረጽ ጊዜ ኢንኮድ ያደርጋል፤ በግልጽ ያዘጋጁት |
| --dataset.encoder_queue_maxsize | 30 | በእያንዳንዱ ካሜራ የተሸፈኑ ፍሬሞች፣ በ30 fps ~1 ሰከንድ |
| --dataset.encoder_threads | null (codec decides) | በእያንዳንዱ ኢንኮደር ያሉ ክሮች፤ ቀረጻው ከተቆራረጠ ይቀንሱ |
| --dataset.no_stamp | false | repo_id እንደተጻፈው በትክክል ያቆያል |
| --resume | false | ወደ ነባር የውሂብ ስብስብ ያክላል፤ --dataset.root ያስፈልገዋል |
የእርስዎ የውሂብ ስብስብ እርስዎ በጻፉት ስም አይጠራም። lerobot የቀን-ሰዓት መለያ ያክላል፣ ስለዚህ so100_pick_cube ወደ so100_pick_cube_20260823_141530 ይቀየራል። ለተረጋጋ ስም --dataset.no_stamp=true ይጠቀሙ። መቀጠል የሚቆጥረው ጭማሪዎችን እንጂ ጠቅላላ ድምርን አይደለም። በ--resume=true፣ --dataset.num_episodes ተጨማሪ ክፍሎችን ይቆጥራል እና --dataset.root ግዴታ ይሆናል። በ30-ክፍል የውሂብ ስብስብ ላይ 50 ከጠየቁ 80 ያገኛሉ።
በክፍለ ጊዜ ውስጥ የቁልፍ ሰሌዳ ቁጥጥር
- የቀኝ ቀስት ወይም
n: ክፍሉን ወይም ዳግም ማስጀመሪያውን ደረጃ ቀድመው ያጠናቅቁ። ይህ ቁልፍ በብዛት የሚጠቀሙበት ነው፣ ምክንያቱም ንጹህ መያዝ እምብዛም 25 ሰከንዶች ስለማይፈልግ። - የግራ ቀስት ወይም
r: ክፍሉን ይጣሉ እና እንደገና ያድርጉት። መጥፎ ሙከራ አሁን ምንም አያስከፍልም፣ በኋላ ግን ብዙ ያስከፍላል። - Escape ወይም
q: ክፍለ ጊዜውን ያቁሙ፣ ኢንኮዲንግ ይጨርሱ፣ ይስቀሉ። - እነዚህ በX11፣ Wayland እና headless SSH ላይ ይሰራሉ፡ ምንም ዓለም አቀፍ የቁልፍ ባክኤንድ ከሌለ፣ lerobot-record ተመሳሳይ ቁልፎችን ከሚቆጣጠረው ተርሚናል ያነባል። ፊደሎቹ ቀርፋፋ የSSH ግንኙነቶችን ይቋቋማሉ፣ የቀስት ቅደም ተከተሎች በሚከፋፈሉበት ቦታ።
- የቁልፍ ሰሌዳ ቴሌኦፕሬሽን የተለየ ነው እና ዓለም አቀፍ ባክኤንድ ያስፈልገዋል፡ X11፣ Windows፣ ወይም macOS ከAccessibility ጋር።
ስንት ክፍሎች፣ እና ጥሩ ክፍል ምን እንደሚመስል
የመቅጃው መመሪያ ለመጀመሪያው ተግባር ቢያንስ 50 ክፍሎችን ይጠቁማል፣ በአንድ ነገር ቦታ 10 ያህል። የፖሊሲ ገጾች በአንድ ሞዴል ዝቅተኛውን ይዘረዝራሉ፣ ከዚህ በታች ያለው አሂድ የጂፒዩ ጊዜ ዋጋ የለውም።
| ፖሊሲ | ዝቅተኛ ክፍሎች | የውሂብ ስብስብ ቅርጸት | የጂፒዩ ደረጃ | በአንድ አሂድ ወጪ |
|---|---|---|---|---|
| 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 |
የተሻለው ጥያቄ ስንት እና ምን ያህል ነው የሚለው ነው። Data Scaling Laws in Imitation Learning for Robotic Manipulation (ሊን እና ሌሎች፣ 2024) ከ40,000 በላይ ማሳያዎችን ሰብስበው ከ15,000 በላይ እውነተኛ ዓለም አሂዶችን አከናውነዋል። አጠቃላይነት ከቁጥር ጋር በግምት የኃይል-ህግ ግንኙነትን ተከትሏል environments and objects፣ እና በአንድ አካባቢ ወይም ነገር ከተወሰነ ገደብ በላይ፣ ተጨማሪ ማሳያዎች አነስተኛ ውጤት ነበራቸው። በአንድ ቤንች ላይ፡ አንድን ነገር ማንቀሳቀስ፣ መብራቱን መቀየር፣ ኩብ መቀየር፣ እንጂ አንድን ቀረጻ መድገም አይደለም።
- የቁልፍ ሰሌዳ ወይም የጨዋታ ሰሌዳ በተቃራኒው ሰርቮ ሊባዛ የሚችል ቀጣይነት ያለው የመገጣጠሚያ መንገዶች።
- ድርጊት እና ሁኔታ የማስተባበሪያ ስምምነትን ይጋራሉ፣ ስለዚህ ፖሊሲው በቀጥታ ሊያዝዘው የሚችል ኢላማ ይማራል።
- የ25 ሰከንድ ክፍል እና የ10 ሰከንድ ዳግም ማስጀመር በግምት በሰዓት 100 ክፍሎች ነው።
- ኦፕሬተሩ ተከታዩ ሲቆም ወይም ሲጣበቅ ይሰማዋል፣ ስለዚህ ውሂብ ከመመዝገቡ በፊት ስህተቶች ይወጣሉ።
- ሁለተኛ ክንድ የመለዋወጫ ወጪን በግምት በእጥፍ ይጨምራል።
- ማሳያዎች ኦፕሬተር ልማዶችን ይወርሳሉ፤ ማንደልካር እና ሌሎች የፖሊሲ ጥራት በማሳያ ጥራት ላይ በእጅጉ እንደሚመሰረት አግኝተዋል።
- መሪው በሉፕ ፍጥነት ስለሚወሰድ፣ ለአፍታ ማቆም ፖሊሲው እንዲጠብቅ የሚያስተምሩ ተመሳሳይ ረድፎች ይሆናሉ።
- በክፍለ-ጊዜዎች መካከል ወጥነትን የሚያስገድድ ምንም ነገር የለም፡ 5 ሴ.ሜ የተገፋ ካሜራ የተደበቀ የስርጭት ለውጥ ነው።
ጥሩ ክፍል አሰልቺ ነው፡ ተደጋጋሚ የመነሻ አቀማመጥ፣ አንድ ነገር የተሰራ፣ እቃው በቆሻሻ መጣያ ውስጥ ከገባ በኋላ ያበቃ፣ የፍተሻ ዝርዝሩ በሚመክረው ከ25 እስከ 50 ቁምፊዎች ውስጥ ያለ የሥራ ሕብረቁምፊ። Pick the red cube and drop it in the box የሥራ ሕብረቁምፊ ነው፤ task1 የፍተሻ ዝርዝሩ በግልጽ የሰየመው የተሳሳተ አሠራር ነው። ግልጽ ያልሆኑ ማብራሪያዎች የችግሮቹን ዝርዝር ይመራሉ፣ እና እነሱ በጣም አስፈላጊ የሆኑት ለ የእይታ-ቋንቋ-ድርጊት ሞዴሎች፣ ሕብረቁምፊው የሞዴል ግብዓት እንጂ የፋይል ስም ያልሆነበት።
የውሂብ ስብስብን በጸጥታ የሚያበላሹ ጉድለቶች
አንዳቸውም ልዩ ሁኔታን አይጥሉም። ሁሉም ወደ ስልጠና ይተርፋሉ፣ ጥሩ የሚመስል የኪሳራ ኩርባ እና ምንም የማያደርግ ሮቦት ሆነው ይታያሉ። ትዕይንቱ ሲዘጋጅ ያረጋግጡ።
| ጉድለት | እንዴት እንደሚታይ | ከየት እንደሚመጣ | እንዴት እንደሚገኝ |
|---|---|---|---|
| የተቀያየሩ የካሜራ እይታዎች | የእጅ አንጓ ምስል ከላይኛው ቁልፍ ስር | እንደገና ከተሰካ በኋላ የመረጃ ጠቋሚ ዳግም ምደባ | lerobot-find-cameras በእያንዳንዱ ክፍለ ጊዜ; by-id paths |
| የቀዘቀዙ ፍሬሞች | ለአስርዎች ረድፎች ተመሳሳይ ምስል | ካሜራ ማቅረብ ያቆማል; ዑደቱ የመጨረሻውን ፍሬም ይደግማል | በ lerobot-dataset-viz ውስጥ ያረጋግጡት |
| የተጣሉ ፍሬሞች | የረድፍ ብዛት ከ fps ጊዜ ሰከንዶች በታች | ወረፋው ይሞላል፣ ከመዝጋት ይልቅ ይጥላል | በሎግ ውስጥ 'Encoder queue full'; ረድፎች ከ fps ጊዜ ቆይታ ጋር |
| መገጣጠሚያው በገደቡ ላይ | አንድ መገጣጠሚያ በትንሹ ወይም በከፍተኛው ጠፍጣፋ | የመሪው ክልል የተከታዩን ይበልጣል፣ ወይም መጥፎ መካከለኛ አቀማመጥ | በእያንዳንዱ መገጣጠሚያ ዝቅተኛ/ከፍተኛ በ ds.meta.stats ውስጥ; lerobot-find-joint-limits አስቀድሞ |
| ምስል እና ድርጊት ያልተመጣጠኑ | ፖሊሲው አስቀድሞ ይገምታል ወይም ይዘገያል | ካሜራዎች ከዑደቱ የተለየ fps ላይ | እያንዳንዱን ካሜራ በ --dataset.fps ያቆዩ |
| የሞተ ጊዜ | ተመሳሳይ የድርጊት ረድፎች ረጅም ሩጫዎች | ኦፕሬተሩ መቅጃው እየሰራ እያለ ቆሟል | ተከታታይ ተመሳሳይ የድርጊት ረድፎች ድርሻ |
| የማይጠቅም የሥራ ሕብረቁምፊ | task1, demo2, test | በፍጥነት መተየብ | meta/tasks.parquet በ v3.0 (በ v2.1 meta/tasks.jsonl ነበር); በ lerobot-edit-dataset modify_tasks ያስተካክሉ |
ኢንኮደሩ ለእያንዳንዱ ካሜራ የተወሰነ ወረፋ ይይዛል፣ በነባሪነት 30 ፍሬሞች። መከታተል በማይችልበት ጊዜ፣ ፍሬሞች ከመታገድ ይልቅ ይጣላሉ: ቀረጻ ይቀጥላል እና ምንም አይበላሽም። Encoder queue full for {camera}, dropped N frame(s) የሚል መልእክት እና በእያንዳንዱ ካሜራ የተጣሉ ፍሬሞች ጠቅላላ ቁጥር በትዕይንቱ መጨረሻ ላይ ያገኛሉ። የለሮቦት ገደብ: ወደ 5 በመቶ የሚጠጉ የጎደሉ ፍሬሞች ስርዓቱ ከመጠን በላይ መጫኑን ያመለክታሉ፣ 2 በመቶ የሚጠበቀው የመነሻ ጭነት ነው። የመፍትሄ ሃሳቦች በቅደም ተከተል: --display_data=false, --dataset.encoder_threads መቀነስ, vcodec=h264, ዥረት ማጥፋት።
አንድ ማስጠንቀቂያ: የዥረት-ኢንኮዲንግ መመሪያ ሰንጠረዥ ነባሪውን እንደ True, ዋናው ላይ ያለው የዳታክላስ ግን streaming_encoding: bool = False. ሰነዶች እና ኮድ አይስማሙም፣ ስለዚህ በግልጽ ያዋቅሩት፤ ለሮቦት ባንዲራው ሲጠፋ በጀመረ ቁጥር የሚመክረውን ፍንጭ ይመዘግባል።
ጂፒዩ ከመከራየትዎ በፊት የውሂብ ስብስቡን ያረጋግጡ
ከሰነዶቹ የተገኘው የመቀበያ ሙከራ: የቪዲዮውን ቆይታ ከCLI ከዘገበው የትዕይንት ቆይታ ጋር ያወዳድሩ፣ እና የረድፎች ብዛት ከfps ጊዜ ቆይታ ጋር እኩል መሆኑን ያረጋግጡ። በእያንዳንዱ ትዕይንት እንጂ በጠቅላላው አይደለም።
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"])ከዚያ ይመልከቱት። lerobot-dataset-viz በRerun ወይም Foxglove ውስጥ የካሜራ እይታዎች አጠገብ የመገጣጠሚያ ምልክቶችን (joint traces) በማሳየት አንድን ክፍል ፍሬም በፍሬም ይደግማል። የተቀያየሩ ካሜራዎች እና የቀዘቀዙ ፍሬሞች በአስር ሰከንዶች ውስጥ ይታያሉ። ሰዎች ይህንን ደረጃ ይዘላሉ።
# 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 ወይም v3.0: ከመቅረጽዎ በፊት ይወስኑ
v2.1 ለእያንዳንዱ ክፍል አንድ ፓርኬት እና አንድ MP4 ይጽፍ ነበር። v3.0 ብዙ ክፍሎችን ወደ ተጋሩ ሻርዶች ያዋህዳል እና ድንበሮችን ከሜታዳታ እንደገና ይገነባል፣ ስለዚህ info.json እንደ data/chunk-{chunk_index:03d}/file-{file_index:03d}.parquet ክፍል ቁጥር ከመያዝ ይልቅ የመንገድ አብነቶችን ይይዛል። የዚህ ዋናው ምክንያት ጥቂት፣ ትላልቅ ፋይሎች መኖራቸው ነው፡ ፈጣን ማስጀመሪያ እና በትልቅ ደረጃ አነስተኛ የፋይል ስርዓት ግፊት።
| LeRobot v2.1 | LeRobot v3.0 | |
|---|---|---|
| አቀማመጥ | ለእያንዳንዱ ክፍል አንድ ፓርኬት እና አንድ MP4 | በእያንዳንዱ ሻርድ ብዙ ክፍሎች |
| የክፍል ሜታዳታ | JSONL ፋይሎች | በ meta/episodes/ ስር የተከፋፈለ ፓርኬት፣ በ datasets stack በኩል |
| ከ Hub መልቀቅ | አይ | አዎ፣ በ StreamingLeRobotDataset በኩል |
| በ lerobot 0.6.1 የተጻፈ | አይ | አዎ፣ ዛሬ የሚያገኙት |
| በ GR00T N1.7 እና N1.5 የሚነበብ | አዎ | አይ፣ ወደ ታች መቀየር አለበት |
lerobot 0.6.1 v3.0 ይጽፋል፣ ነገር ግን GR00T N1.7 እና N1.5 v2.0 ወይም v2.1 ያነባሉ እና በእሱ ላይ ይበላሻሉ። የጉዞውን አቅጣጫ ልብ ይበሉ፡ src/lerobot/scripts/ convert_dataset_v21_to_v30.py ይዟል እንጂ ወደ ሌላ አቅጣጫ የሚሄድ ምንም ነገር የለም። ከክፍለ ጊዜው በፊት ይህንን ይፍቱ። መፍትሄ፡ የውሂብ ስብስብ እንደ 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=falseወደ አንድ አይነት የውሂብ ስብስብ የሚወስዱ ሁለት መንገዶች
ከላይ ያለው ሁሉ፣ በእራስዎ ማሽን ላይ: የዩኤስቢ ዝርዝርን፣ የffmpeg ግንባታን፣ ኢንኮደር ማስተካከያን እና የመለኪያ ፋይሎችን እርስዎ ይቆጣጠራሉ። የቧንቧ መስመርን ለመረዳት፣ ያልተለመደ የካሜራ መሳሪያ ለማስኬድ ወይም መረጃን በአካባቢው ለማስቀመጥ ትክክለኛው መንገድ።
ጊዜ: ለእያንዳንዱ ክንድ ለመገጣጠም አንድ ምሽት፣ አስቸጋሪ የመጀመሪያ መለኪያ፣ እና ካሜራ በተሳሳተ ማስገቢያ ውስጥ ስለነበረ የሚጥሉት የመጀመሪያ ክፍለ ጊዜ።
የዴስክቶፕ ደንበኛው የሌሮቦት-ቅርጸት የውሂብ ስብስቦችን፣ ክፍሎችን፣ የካሜራ ዥረቶችን እና የመገጣጠሚያ ሁኔታዎችን፣ በቀጥታ ከቴሌኦፕሬሽን ክፍለ ጊዜ ይመዘግባል። ያ የውሂብ ስብስብ የስልጠና ቅጹን ይመግባል: ሞዴል፣ የውሂብ ስብስብ እና ሃይፐርፓራሜትሮችን ይምረጡ፣ እና የኋላው ክፍል በሞዴሉ VRAM መጠን የተመጠነ ጂፒዩ ይከራያል፣ አሰልጣኙን ያካሂዳል እና ቼክፖይንቶችን ወደ ዕቃ ማከማቻ ይጽፋል።
- 1ደንበኛውን ይጫኑ
በማውረጃ ገጹ ላይ; በየደንበኛ ሰነዶች ውስጥ ማዋቀር።
- 2ከቴሌኦፕ ክፍለ ጊዜ ይመዝግቡ
ክንዱን ያሽከርክሩ; ደንበኛው ክፍሎችን በሌሮቦት ቅርጸት ይጽፋል። ማብራሪያ: የመጀመሪያውን የውሂብ ስብስብዎን ይመዝግቡ።
- 3ወይም የራስዎን ውሂብ ያምጡ
የውሂብ ስብስብ ከHugging Face repo id ወይም ከራስዎ ማሽን ሊመጣ ይችላል: የውሂብ ስብስብ ሰነዶች, የህዝብ ማውጫ።
- 4ያሰልጥኑ እና መልሰው ያሂዱ
በየስልጠና ማትሪክስ ላይ ያለውን ጥምረት ይምረጡ፣ ከዚያ ፖሊሲውን በክንዱ ላይ መልሰው ያሂዱ። በ24 ጊባ ደረጃ በግምት ከ1 እስከ 3 ዶላር፣ በA100 ወይም H100 ደረጃ ከ4 እስከ 12 ዶላር።
ክንድዎን አይገጣጠምም ወይም አያስተካክልም፣ እና የተበላሸ ክፍልን አይጠግንም፣ ስለዚህ የፍተሻው ደረጃ አሁንም ይሠራል። በሌላኛው ጫፍ ላይም ከባድ ገደብ አለ: ለፈጣን ተግባራት፣ ግምት ከሰርቮቹ አጠገብ መቀመጥ አለበት። የቁጥጥር ዑደቱ ለእያንዳንዱ የድርጊት ደረጃ ከ20 እስከ 485 ሚሴ ይወስዳል፣ እና የህዝብ-ኢንተርኔት የጉዞ ጊዜዎች በላዩ ላይ የሚሰራ ፖሊሲን ወደ አመንታነት ይለውጣሉ።
የሌሮቦት የውሂብ ስብስቦችን የቧንቧ መስመር እራስዎ ሳያገናኙ ይመዝግቡ
የAY-Robots ዴስክቶፕ ደንበኛ ክፍሎችን፣ የካሜራ ዥረቶችን እና የመገጣጠሚያ ሁኔታዎችን በሌሮቦት ቅርጸት ከቴሌኦፕሬሽን ክፍለ ጊዜ ይመዘግባል፣ ከዚያም የውሂብ ስብስቡን ለአሰልጣኙ ያስረክባል።
የዴስክቶፕ ደንበኛውን ያግኙከውሂብ ስብስብ ወደ ፖሊሲ
ሃምሳ ንጹህ ክፍሎች እዚህ የሚሰራውን እያንዳንዱን ይመገባሉ። በእርስዎ ተግባር ላይ ብቻ ከባዶ ያሰለጥናል፣ በግምት 80 M መለኪያዎች በአንድ የድርጊት እርምጃ 20 ms ያህል፣ ከፈጣን እንቅስቃሴ ጋር ምቹ ከሆኑት አምስቱ ውስጥ ብቸኛው ነው። በ24 ጂቢ ካርድ ላይ ወደ 450 M መለኪያዎች አለው። ወደ 3 B መለኪያዎች ያለው መሰረታዊ ሞዴል ሲሆን ወደ 40 M መለኪያዎች ይነካል፣ A100 ወይም H100 ያስፈልገዋል፣ እና ያንን v2.1 የውሂብ ስብስብ ይፈልጋል።
በመቀጠል፣ ለጥምረትዎ መመሪያው፡ ፣ ወይም ፤ ለመጀመሪያ ጊዜ ለመስራት፣ አጭር ነው። ፖሊሲው በቤንች ላይ ሲሰራ ነገር ግን ጠረጴዛውን እንዳንቀሳቀሱት ሲበላሽ፣ ያ የውሂብ ችግር ነው፡ እና በልዩነት ላይ በጥልቀት ይሄዳሉ።
ለመጀመሪያ ጊዜ ለሚሰራ ፖሊሲ በእርግጥ ስንት ክፍሎች ያስፈልጉኛል?▾
ለSmolVLA ሰላሳ፣ ለACT፣ Pi0.5፣ GR00T N1.5 እና N1.7 ሃምሳ፣ የAY-Robots አሰልጣኞች የሚያስገድዱት ዝቅተኛው። የLeRobot መመሪያ ለመጀመሪያ ተግባር ቢያንስ 50፣ ለእያንዳንዱ ነገር ቦታ ደግሞ 10 ያህል ይመክራል። የውሂብ-መጠን ስራ አጠቃላይነት ከማሳያ ብዛት ይልቅ ከአካባቢዎች እና ከነገሮች ጋር እንደሚመጣጠን አረጋግጧል፣ ስለዚህ የአንድ ትዕይንት መቶ ቀረጻ በአምስት ቦታዎች ላይ ከሃምሳ የከፋ ነው።
መሪ ክንድ ያስፈልገኛል ወይስ በቁልፍ ሰሌዳ መቆጣጠር እችላለሁ?▾
lerobot የቁልፍ ሰሌዳ እና የጨዋታ ሰሌዳ ቴሌኦፕሬተሮችን ይልካል፣ ስለዚህ መሪ ክንድ በጥብቅ አያስፈልግም፣ ግን በጣም ተመራጭ ነው፡ መሪ-ተከታይ በተቀዳው ድርጊት መጋጠሚያ ስምምነት ውስጥ ቀጣይነት ያለው የመገጣጠሚያ አቅጣጫዎችን ይሰጣል፣ የቁልፍ ሰሌዳ ግብዓት ግን ፖሊሲው እንደ መንቀጥቀጥ የሚማረውን ደረጃ በደረጃ እንቅስቃሴ ያመነጫል። የቁልፍ ሰሌዳ ቴሌኦፕሬሽን ዓለም አቀፍ የቁልፍ ባክኤንድም ያስፈልገዋል፣ ስለዚህ በWayland እና headless ላይ አይሰራም።
በRaspberry Pi ወይም በትንሽ ሚኒ ፒሲ ላይ መቅዳት እችላለሁ?▾
አዎ፣ በማስተካከል (tuning)። የዥረት-ኢንኮዲንግ መመሪያው ዘመናዊ 4-ኮር ማሽኖችን እና Raspberry Pi 5ን የሚሸፍን ዝቅተኛ-ሀብት ቅንፍ አለው፣ እና ሁለት ካሜራዎችን በ640x480 እና 30 fps በሚጠይቀው-አንዳንድ-ማስተካከያ አምድ ውስጥ ያስቀምጣል። ምክሩ፡ ኢንኮደሩ ከቀረጻው ዑደት ጋር እንዳይወዳደር ያቁሙ፣ በ --dataset.rgb_encoder.vcodec=h264 እና --dataset.streaming_encoding=false። ሁለት ካሜራዎችን በ640x480 በሰከንድ ወደ 55 ሚሊዮን ፒክሰሎች እና ሁለት በ1920x1080 ወደ 373 ሚሊዮን ያህል ይገምታል።
የቀዳሁት የውሂብ ስብስብ በእርግጥ ጤናማ መሆኑን እንዴት አውቃለሁ?▾
ሶስት ቀላል ፍተሻዎች። የእያንዳንዱን ክፍል የቪዲዮ ቆይታ CLI ከዘገበው ቆይታ ጋር ያነጻጽሩ እና የረድፍ ብዛት ከfps ጊዜያት ጋር እኩል መሆኑን ያረጋግጡ፣ በአጠቃላይ ሳይሆን ለእያንዳንዱ ክፍል፤ ያ lerobot's encoding guide የሚሰጠው የመቀበያ ፈተና ነው። ds.meta.statsን ያንብቡ፣ ዝቅተኛው ከከፍተኛው ጋር እኩል የሆነ መገጣጠሚያ በጭራሽ አልተንቀሳቀሰም። ከዚያም ሁለት ወይም ሶስት ክፍሎችን በlerobot-dataset-viz ውስጥ መልሰው ያጫውቱ፣ የተቀያየሩ እይታዎች እና የቀዘቀዙ ፍሬሞች የሚታዩበት ብቸኛው መንገድ። በተጣሉ ፍሬሞች ላይ መመሪያው መስመሩን በግምት 5 በመቶ የጎደለ ይስላል፤ ወደ 2 በመቶ የሚሆነው የተለመደ ጊዜያዊ ጭነት ነው፣ ብዙውን ጊዜ ገና ሲጀመር።
የማሰልጠኛ ስራዬ የውሂብ ስብስቡን እንደ v3.0 ውድቅ አደረገው። አሁን ምን?▾
GR00T N1.7 እና N1.5 LeRobot v2.0 ወይም v2.1ን ያነባሉ እና በv3.0 ላይ ይበላሻሉ፣ ይህም lerobot 0.6.1 የሚቀዳው ነው። ከማሰልጠንዎ በፊት ቅርጸቱን ያረጋግጡ፣ ወይም v3.0ን በአፍ መፍቻ ቋንቋ የሚያነብ ፖሊሲ ይጠቀሙ፡ Pi0.5፣ SmolVLA ወይም ACT። lerobot v2.1 ወደ v3.0 መቀየሪያ ይልካል እና በተቃራኒው ምንም የለም።
Sources
- LeRobot: በእውነተኛ ዓለም ሮቦቶች ላይ የማስመሰል ትምህርት
- LeRobot: SO-100 ስብሰባ፣ የሞተር ዝግጅት እና ልኬት
- LeRobot: ካሜራዎች እና lerobot-find-cameras
- LeRobot: ጭነት እና ተጨማሪዎች ማትሪክስ
- LeRobotDataset v3.0: አቀማመጥ እና v2.1 ፍልሰት
- LeRobot: የዥረት ቪዲዮ ኢንኮዲንግ እና የተጣሉ ፍሬሞች
- LeRobot: ትላልቅ የውሂብ ስብስቦችን ወደ v3.0 (DROID) ማዛወር
- lerobot v0.6.1 የተለቀቀበት ቀን፣ ነሐሴ 3 ቀን 2026
- DatasetRecordConfig: እውነተኛው የመቅጃ ነባሪዎች
- lerobot_record.py: የመቅጃ ዑደት እና የማስቀጠል አያያዝ
- TheRobotStudio/SO-ARM100: የሪፖ ማሰባሰቢያ እና የቁሳቁስ ዝርዝር
- Hugging Face: የLeRobot ማህበረሰብ የውሂብ ስብስቦች መፈተሻ ዝርዝር
- lerobot/svla_so100_pickplace: 50 ክፍሎች፣ 19,631 ፍሬሞች
- ሊን እና ሌሎች (2024)፣ በመምሰል ትምህርት ውስጥ የውሂብ መለኪያ ህጎች
- ማንድሌካር እና ሌሎች (2021)፣ ከመስመር ውጭ የሰው ማሳያዎች በመማር ውስጥ አስፈላጊው ነገር
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