உங்கள் முதல் LeRobot தரவுத்தொகுப்பை ஒரு SO-100 கை உடன் பதிவு செய்வதற்கான AY-Robots பயிற்சிப் பக்கம்
LeRobotSO-100தரவுத்தொகுப்பு பதிவுதொலைசெயல்பாடுஅனுபவக் கற்றல்

ஒரு SO-100 உடன் உங்கள் முதல் LeRobot தரவுத்தொகுப்பை பதிவு செய்யவும்

AY-Robots ResearchAugust 23, 202616 நிமிடம் வாசிப்பு

ஒரு SO-100 உடன் பயன்படுத்தக்கூடிய LeRobot தரவுத்தொகுப்பை பதிவு செய்யவும்: அளவுத்திருத்தம், தலைவர்-பின்தொடர்பவர் தொலைசெயல்பாடு, உண்மையான lerobot-record கொடிகள் மற்றும் இயல்புநிலைகள், கேமரா அமைப்பு, அத்தியாய எண்ணிக்கைகள் மற்றும் ஒரு ஓட்டத்தை கெடுக்கும் குறைபாடுகள்.

ஒரு SO-100 பின்தொடர்பவர், அதே வடிவமைப்பைக் கொண்ட ஒரு முன்னணி கை மற்றும் இரண்டு USB கேமராக்கள் ஒரு கொள்கையை ஒரு மதிய வேளையில் நன்றாகச் சரிசெய்ய முடியும். அதே பெஞ்ச் ஒரு கோப்பு உலாவியில் ஆரோக்கியமாகத் தோன்றும் அறுபது எபிசோட்களை எளிதாக உருவாக்கலாம் மற்றும் ஆறு மணிநேர GPU இயக்கத்தை வீணடிக்கலாம். வேறுபாடு அரிதாகவே மாதிரி; இது சர்வோக்களுக்கும் பார்கெட் கோப்பிற்கும் இடையில் நடந்ததுதான்.

இது கையேடு வழி, பின்னர் சுருக்கமான வழி. ஒவ்வொரு கட்டளையும் 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 வி, 60 வி மீட்டமைப்பு, 50 எபிசோடுகள், சுமார் 100 நிமிடங்கள் சுவர் கடிகார நேரம்.
  • இங்கு குறைந்தபட்ச எபிசோடுகள்: SmolVLA க்கு 30, மற்றவற்றுக்கு 50.
  • பல்வகைமை அளவை வெல்லும். தரவுத்தொகுப்புகள் நான்கு விஷயங்களால் அழிகின்றன: கேமரா குறியீடுகள் மாற்றப்பட்டது, கைவிடப்பட்ட அல்லது உறைந்த பிரேம்கள், அதன் வரம்பில் நிறுத்தப்பட்ட ஒரு கூட்டு, படிக்க முடியாத பணி சரம்.

ஒரு பதிவு அமர்வு எதைப் பிடிக்கிறது

ஒரு LeRobot தரவுத்தொகுப்பு என்பது வீடியோக்களின் கோப்புறை அல்ல, ஆனால் வீடியோ இணைக்கப்பட்ட நேர-குறியிடப்பட்ட அட்டவணை: ஒவ்வொரு கட்டுப்பாட்டு-சுற்று சுழற்சியும் கட்டளையிடப்பட்ட செயல், பின்தொடர்பவர் அடைந்த நிலை, ஒரு கேமராவிற்கு ஒரு ஃபிரேம், ஒரு நேரமுத்திரை மற்றும் குறியீடுகளைக் கொண்ட ஒரு வரிசையை எழுதுகிறது. கொள்கை அந்த நெடுவரிசைகளை மட்டுமே பார்க்கிறது. lerobot/svla_so100_pickplace இன் ஸ்கீமா, அதன் meta/info.json இலிருந்து படிக்கப்பட்டது.

அம்சம்தரவு வகைவடிவம்அது என்ன
actionfloat32[6]தலைமை ரோபோவின் கையின் மூட்டு இலக்குகள்
observation.statefloat32[6]பின்தொடர்பவர் அடைந்த மூட்டு நிலைகள்
observation.images.topvideo[480, 640, 3]காட்சி கேமரா, MP4 (இங்கு av1)
observation.images.wristvideo[480, 640, 3]மணிக்கட்டு கேமரா, அதே விகிதம்
timestampfloat32[1]எபிசோட் தொடங்கியதிலிருந்து வினாடிகள்
frame_index, episode_index, index, task_indexint64[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 எபிசோட்களையும், 30 fps இல் 19,631 ஃபிரேம்களையும் கொண்டுள்ளது: ஒரு எபிசோடுக்கு சுமார் 393 ஃபிரேம்கள், அல்லது 13 வினாடிகள். உங்களுடையது சராசரியாக ஒரு நிமிடம் இருந்தால், நீங்கள் கடினமான ஒன்றைச் செய்கிறீர்கள் அல்லது இரு முனைகளிலும் செயலற்ற நேரத்தைப் பதிவு செய்கிறீர்கள்.

LeRobot தரவுத்தொகுப்பு வடிவத்திற்கான AY-Robots கலைச்சொல் உள்ளீடு, அடைவு அமைப்பு மற்றும் மெட்டாடேட்டா கோப்புகளைக் காட்டுகிறது
data/, videos/ மற்றும் meta/ இல் என்ன உள்ளது, எந்தக் கொள்கைகள் எந்தப் பதிப்பைப் படிக்கின்றன.

பணியிடத்தில் உங்களுக்குத் தேவையானவை

பொருள்விவரம்குறிப்பு
பின்பற்றும் கைSO-100, ஆறு Feetech STS3215 சர்வோக்கள்சுமார் 110 முதல் 150 EUR பாகங்களில்
தலைமை கைஇரண்டாவது SO-100, கியர்கள் அகற்றப்பட்டனஅனைத்து ஆறு தலைமை மோட்டார்களிலிருந்தும் கியர்கள் அகற்றப்பட்டன: என்கோடர் மட்டுமே, குறைந்த உராய்வு
சக்திபொருட்கள் பட்டியலில் உள்ள 7.4 V STS3215 வகைக்குப் பொருத்தப்பட்டதுகீழே உள்ள எச்சரிக்கையைப் பார்க்கவும்
கேமராக்கள்இரண்டு USB கேமராக்கள், 640x480 @ 30 fpsஒரு காட்சி பார்வை, ஒன்று மணிக்கட்டில்
ஹோஸ்ட்Python 3.12 அல்லது புதியது, ffmpegrequires-python >= 3.12
ஹப் கணக்குHugging Face write tokenoptional with --dataset.push_to_hub=false
7.4 V, 12 V அல்ல

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 சர்வோக்கள் பட்டியலிடப்பட்டுள்ளன. 7.4 V என மதிப்பிடப்பட்ட சர்வோக்களுக்கு 12 V ஐ வழங்குவது அவற்றை அழித்துவிடும், எனவே எதையும் வயரிங் செய்வதற்கு முன் மோட்டார் லேபிளைப் படிக்கவும். சர்வோ பதிலளிக்கவில்லை.

கை இன்னும் உருவாக்கப்படவில்லை என்றால், அது ஒரு தனி வேலை: இங்கிருந்து தொடங்கவும் SO-100 தொடங்குதல் மற்றும் முழுமையான SO-100 அமைவு வழிகாட்டி. நீங்கள் எதுவும் வாங்கவில்லை என்றால், முதலில் SO-100 மற்றும் SO-101 ஒப்பீடு என்பதைப் படிக்கவும்: SO-101 என்பது மேம்படுத்தப்பட்ட வயரிங் மற்றும் கியர் அகற்றும் படி இல்லாத புதிய திருத்தம் ஆகும், மேலும் பதிவு செய்யும் பணிப்பாய்வு ஒரே மாதிரியானது.

lerobot 0.6.1 ஐ நிறுவவும்

bash
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
lerobot-info ஆனது PATH இல் கண்டறியக்கூடிய ffmpeg பதிப்பு உட்பட ஒரு கணினி சுருக்கத்தை அச்சிடுகிறது.

கூடுதல் அம்சங்கள் மக்களை பெரும்பாலும் குழப்புகின்றன. pip install lerobot ஆனது முக்கிய ML சார்புகளை மட்டுமே நிறுவுகிறது, ரோபோவுடன் பேசும் எதையும் அல்ல. Koch கைகள் dynamixel என்பதற்கு பதிலாக feetech ஐப் பயன்படுத்துகின்றன. உங்கள் ஷெல் lerobot-record பற்றி கேள்விப்பட்டதில்லை என்றால், இதுதான் காரணம்.

போர்ட்கள், மோட்டார் ஐடிகள் மற்றும் அளவுத்திருத்தம்

பாகங்களுக்கும் செயல்படும் டெலிஆப் சுழற்சிக்கும் இடையில் மூன்று ஒருமுறை செய்யக்கூடிய படிகள் உள்ளன. உங்கள் கையில் பயிற்சி பெற்ற ஒரு கொள்கையை மற்றவரின் கையில் இயக்கச் செய்கிறது, இது மூல என்கோடர் எண்ணிக்கையை ஒரு பகிரப்பட்ட கூட்டு மரபுக்கு வரைபடமாக்குகிறது.

  1. 1
    ஒவ்வொரு கையின் USB போர்ட்டையும் கண்டறியவும்

    இரண்டு கைகளையும் செருகி இயக்கவும், கேட்கப்படும்போது நீங்கள் அடையாளம் காணும் கையைத் துண்டித்து, எந்த போர்ட் மறைந்துவிடுகிறது என்பதைக் கவனிக்கவும். லினக்ஸில் உங்களுக்கு sudo chmod 666 /dev/ttyACM0 தேவைப்படலாம்.

    bash
    lerobot-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. 2
    மோட்டார் ஐடிகள் மற்றும் பாட்ரேட்களை எழுதவும்

    ஐடிகள் ஒரு நேரத்தில் ஒரு மோட்டாருக்கு எழுதப்படுகின்றன, மேலும் ஆவணங்கள் எவ்வாறு என்பதைப் பற்றி கண்டிப்பாக உள்ளன: ஒரு மோட்டாரை மட்டுமே கட்டுப்படுத்தி பலகையுடன் இணைக்கவும், இன்னும் மற்றவற்றுடன் சங்கிலித் தொடராக இணைக்கப்படவில்லை. ஸ்கிரிப்ட் சங்கிலியைப் பின்னோக்கிச் சென்று, முதலில் கிரிப்பருக்கான ஐடி 6 ஐயும், பின்னர் மணிக்கட்டு சுழற்சிக்கு 5 ஐயும், தோள்பட்டைக்கு 1 ஐயும் கேட்கும். இதை அசெம்பிளி செய்வதற்கு முன் செய்யவும்.

    bash
    lerobot-setup-motors \
        --robot.type=so100_follower \
        --robot.port=/dev/ttyACM0
    
    lerobot-setup-motors \
        --teleop.type=so100_leader \
        --teleop.port=/dev/ttyACM1
  3. 3
    இரண்டு கைகளையும் அளவுத்திருத்தம் செய்யவும்

    ஒவ்வொரு மூட்டையும் அதன் வரம்பின் நடுப்பகுதிக்கு நகர்த்தி, Enter ஐ அழுத்தி, பின்னர் ஒவ்வொன்றையும் அதன் முழு வரம்பிலும் நகர்த்தவும். id ஆனது சுயவிவர கோப்பு பெயராக மாறும்.

    bash
    lerobot-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. 4
    எதையும் பதிவு செய்வதற்கு முன் டெலிஆப்ரேட் செய்யவும்

    மேலே உள்ள அனைத்திற்கான ஏற்பு சோதனை. டெலிஆப்ரேஷன் சீரற்றதாகவோ, பிரதிபலித்ததாகவோ, அல்லது ஒரு மூட்டு பின்பற்ற மறுத்தாலோ, பதிவு செய்வது அதை 50 எபிசோட்களில் பாதுகாக்கிறது.

    bash
    lerobot-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 க்கு அளவுத்திருத்தம் செய்யப்பட்ட ஐடியைக் கொடுத்தால், சுயவிவரத்தை மீண்டும் பயன்படுத்த Enter ஐ அல்லது அதை மீண்டும் செய்ய c ஐ வழங்குகிறது. அறியப்படாத ஐடியைக் கொடுத்தால் கோப்பு இல்லை, எனவே அது அமர்வின் நடுவில் அளவுத்திருத்தத்திற்குச் செல்கிறது.

கேமராக்கள் கொள்கை எதைப் பார்க்கிறது என்பதை தீர்மானிக்கின்றன

bash
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 சிம்லிங்கிற்கு சுட்டிக்காட்டவும், இது வரிசைப்படுத்தல் வரிசையை விட சாதனத்தைப் பின்தொடர்கிறது. ஒரு தரவுத்தொகுப்பு உள்நாட்டில் முரண்பாடாக முடிவடைவதற்கான பொதுவான வழி இதுதான், மேலும் பயிற்சி அதை சரிசெய்ய முடியாது. கேமரா கண்டறியப்படவில்லை.

பதிவு கட்டளை மற்றும் ஒவ்வொரு கொடியும்

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_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 இல் இருந்து வருகின்றன, ஒரு பயிற்சி அல்ல. பலவற்றை மக்கள் கருதுவது போல் இல்லை.

கொடிஇயல்புநிலைஅது என்ன செய்கிறது
--dataset.repo_idemptyபெயர்; இயல்புநிலையாக நேரமுத்திரை சேர்க்கப்படும்
--dataset.single_taskemptyஒவ்வொரு அத்தியாயத்துடனும் சேமிக்கப்படும் பணி சரம்
--dataset.root$HF_LEROBOT_HOME/repo_idஎழுதும் பாதை, இயல்புநிலை ~/.cache/huggingface/lerobot/
--dataset.fps30கட்டுப்பாட்டு சுழற்சி விகிதம் மற்றும் தரவுத்தொகுப்பு பிரேம் விகிதம்
--dataset.episode_time_s60ஒரு அத்தியாயம் தானாக முன்னேறுவதற்கு முன் உள்ள வினாடிகள்
--dataset.reset_time_s60காட்சி மீட்டமைப்பு; கை நகரும், எதுவும் சேமிக்கப்படாது
--dataset.num_episodes50இந்த அமர்வில் பதிவு செய்யப்பட்ட அத்தியாயங்கள்
--dataset.push_to_hubtrueஅமர்வின் முடிவில் பதிவேற்றம்; false என்றால் உள்ளூரில் இருக்கும்
--dataset.streaming_encodingfalse in the dataclass, true in the docs tableபதிவு செய்யும் போது குறியாக்கம்; இதை வெளிப்படையாக அமைக்கவும்
--dataset.encoder_queue_maxsize30ஒரு கேமராவிற்கு இடையகப்படுத்தப்பட்ட பிரேம்கள், 30 fps இல் ~1 வினாடி
--dataset.encoder_threadsnull (codec decides)ஒரு குறியாக்கிக்கான திரெட்கள்; பதிவு தடுமாறினால் குறைக்கவும்
--dataset.no_stampfalserepo_id ஐ தட்டச்சு செய்தது போலவே வைத்திருக்கவும்
--resumefalseஏற்கனவே உள்ள தரவுத்தொகுப்புடன் சேர்க்கவும்; --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, அல்லது Accessibility உடன் macOS.

எத்தனை எபிசோடுகள், மற்றும் ஒரு நல்ல எபிசோடு எப்படி இருக்கும்

பதிவு வழிகாட்டி முதல் பணிக்கு குறைந்தபட்சம் 50 எபிசோட்களையும், ஒரு பொருள் இருப்பிடத்திற்கு சுமார் 10 எபிசோட்களையும் பரிந்துரைக்கிறது. கொள்கை பக்கங்கள் ஒவ்வொரு மாதிரிக்கும் ஒரு குறைந்தபட்ச எண்ணிக்கையை பட்டியலிடுகின்றன, அதற்குக் கீழே ஒரு ரன் GPU நேரத்திற்கு மதிப்புடையது அல்ல.

கொள்கைகுறைந்தபட்ச எபிசோட்கள்தரவுத்தொகுப்பு வடிவம்GPU அடுக்குஒரு ரன்னுக்கு செலவு
SmolVLA30LeRobot v3.0RTX 4090 அல்லது எந்த 24 GB கார்டுசுமார் 1 முதல் 3 USD
ACT50LeRobot v3.0RTX 4090 அல்லது எந்த 24 GB கார்டுசுமார் 1 முதல் 3 USD
GR00T N1.750LeRobot v2.0 or v2.1A100 80 GB அல்லது H100 80 GBசுமார் 4 முதல் 12 USD
GR00T N1.550LeRobot v2.0 or v2.1A100 80 GB அல்லது H100 80 GBசுமார் 4 முதல் 12 USD
Pi0.550LeRobot v3.0A100 80 GB அல்லது H100 80 GBசுமார் 4 முதல் 12 USD

சிறந்த கேள்வி என்னவென்றால், எத்தனை எவை. ரோபோடிக் கையாளுதலுக்கான பிரதிபலிப்பு கற்றலில் தரவு அளவிடுதல் விதிகள் (லின் மற்றும் பலர், 2024) 40,000 க்கும் மேற்பட்ட செயல்விளக்கங்களைச் சேகரித்து, 15,000 க்கும் மேற்பட்ட நிஜ உலக ரோல்அவுட்களை இயக்கின. பொதுமைப்படுத்தல் சூழல்கள் மற்றும் பொருட்களின் எண்ணிக்கையுடன் தோராயமாக ஒரு பவர்-லா உறவைப் பின்பற்றியது, மேலும் ஒரு சூழல் அல்லது பொருளுக்கு ஒரு வரம்பைக் கடந்த பிறகு, கூடுதல் செயல்விளக்கங்கள் குறைந்தபட்ச விளைவைக் கொண்டிருந்தன. ஒரு பெஞ்சில்: பொருளை நகர்த்தவும், ஒளியை மாற்றவும், கனசதுரத்தை மாற்றவும், ஒரு டேக்கை மீண்டும் செய்யாமல்.

தரவு மூலமாக லீடர்-ஃபாலோவர் டெலிஆபரேஷன்
நன்மைகள்
  • கீபோர்டு அல்லது கேம்பேடைப் போலல்லாமல், ஒரு சர்வோவால் மீண்டும் உருவாக்கக்கூடிய தொடர்ச்சியான கூட்டுப் பாதைகள்
  • செயல் மற்றும் நிலை ஒரு ஒருங்கிணைப்பு மரபைப் பகிர்ந்து கொள்கின்றன, எனவே கொள்கை நேரடியாக கட்டளையிடக்கூடிய ஒரு இலக்கைக் கற்றுக்கொள்கிறது
  • ஒரு 25 வினாடி எபிசோட் மற்றும் ஒரு 10 வினாடி மீட்டமைப்பு தோராயமாக ஒரு மணி நேரத்திற்கு 100 எபிசோட்கள் ஆகும்
  • ஆபரேட்டர் ஃபாலோவர் ஸ்தம்பிப்பதையோ அல்லது பிணைப்பதையோ உணர்கிறார், எனவே தரவு உறுதிப்படுத்தப்படுவதற்கு முன்பு பிழைகள் வெளிப்படுகின்றன
சாதக பாதகங்கள்
  • இரண்டாவது கை தோராயமாக பாகங்களின் விலையை இரட்டிப்பாக்குகிறது
  • செயல்விளக்கங்கள் ஆபரேட்டரின் பழக்கவழக்கங்களை மரபுரிமையாகப் பெறுகின்றன; மாண்டலேகர் மற்றும் பலர் கொள்கையின் தரம் செயல்விளக்கத்தின் தரத்தைப் பொறுத்தது என்பதைக் கண்டறிந்தனர்
  • லீடர் லூப் விகிதத்தில் மாதிரி எடுக்கப்படுகிறது, எனவே இடைநிறுத்தங்கள் கிட்டத்தட்ட ஒரே மாதிரியான வரிசைகளாக மாறி, கொள்கைக்கு காத்திருக்கக் கற்றுக்கொடுக்கின்றன
  • அமர்வுகளுக்கு இடையில் நிலைத்தன்மையை எதுவும் அமல்படுத்துவதில்லை: 5 செ.மீ நகர்த்தப்பட்ட கேமரா ஒரு மறைக்கப்பட்ட விநியோக மாற்றமாகும்

ஒரு நல்ல எபிசோட் சலிப்பானது: மீண்டும் மீண்டும் செய்யக்கூடிய தொடக்க நிலை, ஒரு காரியம் முடிந்தது, பொருள் தொட்டியில் விழுந்தவுடன் முடிந்தது, சரிபார்ப்புப் பட்டியல் பரிந்துரைக்கும் 25 முதல் 50 எழுத்துகளில் உள்ள பணிச் சரம். சிவப்பு கனசதுரத்தை எடுத்து பெட்டியில் போடு என்பது ஒரு பணிச் சரம்; task1 என்பது சரிபார்ப்புப் பட்டியல் வெளிப்படையாகக் குறிப்பிடும் ஒரு எதிர்-வடிவம். தெளிவற்ற குறிப்புகள் அதன் சிக்கல்களின் பட்டியலைத் தலைப்பிடுகின்றன, மேலும் அவை மிக முக்கியமாக பார்வை-மொழி-செயல் மாதிரி, இங்கு சரம் ஒரு மாதிரி உள்ளீடு, கோப்புப் பெயர் அல்ல.

தரவுத்தொகுப்பை மெதுவாகச் சிதைக்கும் குறைபாடுகள்

எதுவும் விதிவிலக்கை ஏற்படுத்தாது. அனைத்தும் பயிற்சிக்குத் தப்பித்து, நன்றாகத் தோற்றமளிக்கும் இழப்பு வளைவாகவும், எதுவும் செய்யாத ரோபோவாகவும் வெளிப்படும். காட்சி அமைக்கப்படும்போது சரிபார்க்கவும்.

குறைபாடுஅது எப்படி இருக்கும்அது எங்கிருந்து வருகிறதுஅதை எப்படி கண்டறிவது
மாற்றப்பட்ட கேமரா காட்சிகள்மேல் விசையின் கீழ் மணிக்கட்டுப் படம்மீண்டும் செருகிய பிறகு குறியீட்டு மறுஒதுக்கீடுlerobot-find-cameras ஒவ்வொரு அமர்விலும்; by-id பாதைகள்
உறைந்த பிரேம்கள்பல்லாயிரக்கணக்கான வரிசைகளுக்கு ஒரே படம்கேமரா வழங்குவதை நிறுத்துகிறது; சுழற்சி கடைசி பிரேமை மீண்டும் செய்கிறதுlerobot-dataset-viz இல் அதைச் சரிபார்க்கவும்
கைவிடப்பட்ட பிரேம்கள்fps இன் வினாடிகள் எண்ணிக்கைக்குக் கீழே உள்ள வரிசை எண்ணிக்கைவரிசை நிரம்பி வழிகிறது, தடுப்பதற்குப் பதிலாக கைவிடுகிறது'Encoder queue full' பதிவில்; வரிசைகள் vs fps இன் கால அளவு
அதன் வரம்பில் உள்ள மூட்டுஒரு மூட்டு குறைந்தபட்சம் அல்லது அதிகபட்சத்தில் தட்டையாக உள்ளதுதலைவரின் வரம்பு பின்தொடர்பவரின் வரம்பை மீறுகிறது, அல்லது ஒரு மோசமான நடுநிலை நிலைds.meta.stats இல் ஒவ்வொரு மூட்டுக்கும் குறைந்தபட்சம்/அதிகபட்சம்; lerobot-find-joint-limits ஐ முன்கூட்டியே செய்யவும்
படம் மற்றும் செயல் ஒத்திசைவில் இல்லைகொள்கை முன்கூட்டியே செயல்படுகிறது அல்லது பின்தங்குகிறதுசுழற்சியை விட வேறு fps இல் கேமராக்கள்ஒவ்வொரு கேமராவையும் --dataset.fps இல் வைக்கவும்
செயலற்ற நேரம்ஒரே மாதிரியான செயல் வரிசைகளின் நீண்ட ஓட்டங்கள்பதிவு செய்யும் கருவி இயங்கும்போது ஆபரேட்டர் இடைநிறுத்தப்பட்டார்தொடர்ச்சியான ஒரே மாதிரியான செயல் வரிசைகளின் பங்கு
பயன்படுத்த முடியாத பணிச் சரம்task1, demo2, testவேகமாக தட்டச்சு செய்தல்v3.0 இல் meta/tasks.parquet (v2.1 இல் meta/tasks.jsonl ஆக இருந்தது); lerobot-edit-dataset modify_tasks மூலம் சரிசெய்யவும்
கைவிடப்பட்ட பிரேம்கள் தங்களை மறைத்துக் கொள்கின்றன

என்டர்கோடர் ஒவ்வொரு கேமராவிற்கும் ஒரு வரையறுக்கப்பட்ட வரிசையை (queue) வைத்திருக்கிறது, இயல்பாக 30 பிரேம்கள். அது வேகத்தை ஈடுகட்ட முடியாதபோது, பிரேம்கள் தடுக்கப்படுவதற்குப் பதிலாக கைவிடப்படுகின்றன: பிடிப்பு தொடர்கிறது மற்றும் எதுவும் செயலிழக்காது. உங்களுக்கு Encoder queue full for {camera}, dropped N frame(s) மற்றும் எபிசோட் முடிவில் ஒரு கேமரா வாரியான மொத்தம் கிடைக்கும். lerobot வரம்பு: சுமார் 5 சதவீதம் காணாமல் போனால் ஒரு அதிகப்படியான சுமையுள்ள அமைப்பு என்று பொருள், 2 சதவீதம் எதிர்பார்க்கப்படும் தொடக்க சுமை. சரிசெய்யும் முறைகள்: --display_data=false, --dataset.encoder_threads ஐக் குறைத்தல், vcodec=h264, ஸ்ட்ரீமிங்கை அணைத்தல்.

ஒரு எச்சரிக்கை: ஸ்ட்ரீமிங்-என்டர்கோடிங் வழிகாட்டியின் அட்டவணை இயல்புநிலையை True, அதேசமயம் மெயினில் உள்ள டேட்டாகிளாஸ் streaming_encoding: bool = False என்று படிக்கிறது. ஆவணங்களும் குறியீடும் ஒத்துப்போகவில்லை, எனவே அதை வெளிப்படையாக அமைக்கவும்; lerobot கொடி அணைக்கப்பட்டு தொடங்கும்போதெல்லாம் அதை பரிந்துரைக்கும் ஒரு குறிப்பை பதிவு செய்கிறது.

GPU ஐ வாடகைக்கு எடுப்பதற்கு முன் தரவுத்தொகுப்பை சரிபார்க்கவும்

ஆவணங்களில் இருந்து ஏற்றுக்கொள்ளும் சோதனை: வீடியோ கால அளவை CLI அறிவித்த எபிசோட் கால அளவோடு ஒப்பிட்டு, வரிசை எண்ணிக்கை fps மற்றும் கால அளவின் பெருக்கத்திற்கு சமம் என்பதை உறுதிப்படுத்தவும். ஒவ்வொரு எபிசோடிற்கும், மொத்தத்திற்கு அல்ல.

python
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"])
fps மற்றும் கால அளவிலிருந்து வெகு தொலைவில் உள்ள ஒரு எபிசோட் நீக்குவதற்கு உகந்தது, பயிற்சிக்கு அல்ல.

பிறகு அதைப் பாருங்கள். lerobot-dataset-viz கேமரா காட்சிகளுக்கு அருகில் உள்ள கூட்டு தடங்களுடன் ஒரு எபிசோடை பிரேம் பை பிரேமாக, Rerun அல்லது Foxglove இல் மீண்டும் இயக்குகிறது. மாற்றப்பட்ட கேமராக்கள் மற்றும் உறைந்த பிரேம்கள் பத்து வினாடிகளில் தோன்றும். மக்கள் இந்த படிநிலையைத் தவிர்க்கிறார்கள்.

bash
# 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]"
lerobot-edit-dataset பிளவுபடுத்துதல், ஒன்றிணைத்தல், அம்சத்தை நீக்குதல், பணிகளை மாற்றுதல் மற்றும் புள்ளிவிவரங்களை மீண்டும் கணக்கிடுதல் ஆகியவற்றையும் செய்கிறது. தாராளமாக நீக்குங்கள்: ஒரு மோசமான எபிசோட் ஒரு எபிசோடை மட்டுமே செலவழிக்கிறது; அதை வைத்திருப்பது அதில் பயிற்சி பெற்ற ஒவ்வொரு ஓட்டத்திற்கும் செலவாகும்.
AY-Robots தரவுத்தொகுப்பு அடைவு, பொது LeRobot தரவுத்தொகுப்புகளை எபிசோட் எண்ணிக்கைகள் மற்றும் வடிவங்களுடன் பட்டியலிடுகிறது.
ஒப்பிடக்கூடிய தரவுத்தொகுப்புகள் எவ்வாறு அளவிடப்பட்டு குறிக்கப்படுகின்றன.

v2.1 அல்லது v3.0: பதிவு செய்வதற்கு முன் முடிவு செய்யுங்கள்

v2.1 ஆனது ஒரு எபிசோடுக்கு ஒரு parquet மற்றும் ஒரு MP4 கோப்பை எழுதியது. v3.0 பல எபிசோடுகளைப் பகிரப்பட்ட ஷார்டுகளாக இணைத்து, மெட்டாடேட்டாவிலிருந்து எல்லைகளை மீண்டும் உருவாக்குகிறது, எனவே info.json ஆனது பாதை டெம்ப்ளேட்களைக் கொண்டுள்ளது data/chunk-{chunk_index:03d}/file-{file_index:03d}.parquet ஒரு எபிசோடு எண்ணுக்குப் பதிலாக. இதன் முக்கிய நோக்கம் குறைவான, பெரிய கோப்புகள்: விரைவான துவக்கம் மற்றும் பெரிய அளவில் கோப்பு முறைமை அழுத்தம் குறைவு.

LeRobot v2.1LeRobot v3.0
வடிவமைப்புஒரு எபிசோடுக்கு ஒரு parquet மற்றும் ஒரு MP4ஒரு ஷார்டுக்கு பல எபிசோடுகள்
எபிசோடு மெட்டாடேட்டாJSONL கோப்புகள்meta/episodes/ கீழ் உள்ள chunked parquet, டேட்டாசெட் ஸ்டாக் வழியாக
ஹப்பிலிருந்து ஸ்ட்ரீமிங்இல்லைஆம், StreamingLeRobotDataset வழியாக
lerobot 0.6.1 ஆல் எழுதப்பட்டதுஇல்லைஆம், இன்று நீங்கள் பெறுவது
GR00T N1.7 மற்றும் N1.5 ஆல் படிக்கப்பட்டதுஆம்இல்லை, மாற்றப்பட வேண்டும்
இன்று பதிவு செய்தல், நாளை GR00T பயிற்சி

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 ஆக நிராகரிக்கப்பட்ட டேட்டாசெட்.

bash
# 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
50 எபிசோடுகளுக்கு விரைவானது. அளவிடுதல் என்பது வேறு வேலை: lerobot இன் போர்ட்டிங் வழிகாட்டி, மூல DROID ஐ v3.0 ஆக மாற்றுவதற்கு, 7+ நாட்கள் உள்ளூர் செயலாக்கம் மற்றும் சுமார் 400 GB ஐ ஒதுக்குகிறது.

ஒரே தரவுத்தொகுப்பிற்கான இரண்டு வழிகள்

மேலே உள்ள அனைத்தும், உங்கள் சொந்த கணினியில்: USB எண்ணுதல், ffmpeg உருவாக்கம், குறியாக்கி சரிசெய்தல் மற்றும் அளவுத்திருத்த கோப்புகள் அனைத்தும் உங்களுடையது. பைப்லைனைப் புரிந்துகொள்வதற்கும், அசாதாரண கேமரா அமைப்பை இயக்குவதற்கும், அல்லது தரவை உள்ளூரில் வைத்திருப்பதற்கும் இதுவே சரியான வழி.

இந்த வழியின் செலவு

நேரம்: ஒவ்வொரு கைக்கும் ஒரு மாலை நேரம் அசெம்பிள் செய்ய, ஒரு சிக்கலான முதல் அளவுத்திருத்தம், மற்றும் ஒரு கேமரா தவறான ஸ்லாட்டில் இருந்ததால் நீங்கள் தூக்கி எறியும் முதல் அமர்வு.

பைப்லைனை நீங்களே இணைக்காமல் LeRobot தரவுத்தொகுப்புகளைப் பதிவு செய்யவும்

AY-Robots டெஸ்க்டாப் கிளையன்ட், ஒரு தொலைசெயல்பாட்டு அமர்விலிருந்து LeRobot வடிவத்தில் எபிசோடுகள், கேமரா ஸ்ட்ரீம்கள் மற்றும் கூட்டு நிலைகளை பதிவு செய்து, பின்னர் தரவுத்தொகுப்பை பயிற்சியாளரிடம் ஒப்படைக்கிறது.

டெஸ்க்டாப் கிளையன்ட்டைப் பெறுங்கள்

தரவுத்தொகுப்பிலிருந்து கொள்கைக்கு

ஐம்பது சுத்தமான எபிசோடுகள் ஒவ்வொரு இங்கு இயக்கப்படுகிறது. உங்கள் பணியில் மட்டும் புதிதாகப் பயிற்சி பெறுகிறது, சுமார் 80 மில்லியன் அளவுருக்கள் தோராயமாக ஒரு செயல் படிக்கு 20 மில்லி விநாடிகள் என்ற வேகத்தில், வேகமாக நகர்வதற்கு வசதியான ஐந்து கொள்கைகளில் இது மட்டுமே. ஒரு 24 GB கார்டில் சுமார் 450 மில்லியன் அளவுருக்களைக் கொண்டுள்ளது. தோராயமாக 3 பில்லியன் அளவுருக்களைக் கொண்ட ஒரு அடிப்படை மாதிரி, அங்கு சுமார் 40 மில்லியன் அளவுருக்களைத் தொடுகிறது, A100 அல்லது H100 தேவைப்படுகிறது, மேலும் அந்த v2.1 தரவுத்தொகுப்பை விரும்புகிறது.

அடுத்து, உங்கள் கலவைக்கான வழிகாட்டி: , அல்லது ; ஒரு முதல் ஓட்டத்திற்கு, சிறியது. கொள்கை மேசையில் வேலை செய்து, நீங்கள் மேசையை நகர்த்தும் தருணத்தில் சரிந்தால், அது ஒரு தரவுச் சிக்கல்: மற்றும் பன்முகத்தன்மை குறித்து ஆழமாகச் செல்கின்றன.

முதல் வேலை செய்யும் கொள்கைக்கு எனக்கு உண்மையில் எத்தனை எபிசோடுகள் தேவை?

SmolVLA-க்கு முப்பது, ACT, Pi0.5, GR00T N1.5 மற்றும் N1.7-க்கு ஐம்பது, இவை AY-Robots பயிற்சியாளர்கள் வலியுறுத்தும் குறைந்தபட்ச அளவுகள். LeRobot வழிகாட்டி ஒரு முதல் பணிக்கு குறைந்தபட்சம் 50 எபிசோடுகளை பரிந்துரைக்கிறது, ஒரு பொருள் இருப்பிடத்திற்கு சுமார் 10. தரவு-அளவிடுதல் பணி, பொதுமைப்படுத்தல் செயல்விளக்க எண்ணிக்கையை விட சூழல்கள் மற்றும் பொருட்களுடன் அளவிடப்படுகிறது என்பதைக் கண்டறிந்தது, எனவே ஒரு காட்சியின் நூறு பதிவுகள் ஐந்து வெவ்வேறு இடங்களில் ஐம்பது பதிவுகளை விட மோசமானது.

எனக்கு ஒரு லீடர் கை தேவையா, அல்லது விசைப்பலகை மூலம் தொலைதூரத்தில் இயக்க முடியுமா?

lerobot விசைப்பலகை மற்றும் கேம்பேட் தொலை இயக்கிகளை வழங்குகிறது, எனவே ஒரு லீடர் கை கண்டிப்பாகத் தேவையில்லை, ஆனால் அது மிகவும் விரும்பத்தக்கது: லீடர்-ஃபாலோவர் பதிவுசெய்யப்பட்ட செயலின் ஒருங்கிணைப்பு மரபின்படி தொடர்ச்சியான கூட்டுப் பாதைகளை வழங்குகிறது, அதே நேரத்தில் விசைப்பலகை உள்ளீடு ஒரு கொள்கை அதிர்வாகக் கற்கும் படிநிலை இயக்கத்தை உருவாக்குகிறது. விசைப்பலகை தொலை இயக்கத்திற்கு ஒரு உலகளாவிய விசை பின்தளம் தேவை, எனவே இது Wayland மற்றும் headless அமைப்புகளில் தோல்வியடைகிறது.

நான் ஒரு Raspberry Pi அல்லது ஒரு சிறிய மினி PC-யில் பதிவு செய்ய முடியுமா?

ஆம், சரிசெய்தலுடன். ஸ்ட்ரீமிங்-என்கோடிங் வழிகாட்டி நவீன 4-கோர் இயந்திரங்கள் மற்றும் Raspberry Pi 5-ஐ உள்ளடக்கிய குறைந்த-வளப் பிரிவைக் கொண்டுள்ளது, மேலும் இரண்டு கேமராக்களை 640x480 மற்றும் 30 fps இல் அதன் 'சில சரிசெய்தல் தேவை' என்ற பத்தியில் வைக்கிறது. அதன் ஆலோசனை: --dataset.rgb_encoder.vcodec=h264 மற்றும் --dataset.streaming_encoding=false வழியாக, கேப்சர் லூப்புடன் என்கோடர் போட்டியிடுவதை நிறுத்துங்கள். இது 640x480 இல் இரண்டு கேமராக்களை சுமார் 55 மில்லியன் பிக்சல்கள்/வினாடி என்றும், 1920x1080 இல் இரண்டை சுமார் 373 மில்லியன் என்றும் மதிப்பிடுகிறது.

நான் இப்போது பதிவுசெய்த தரவுத்தொகுப்பு உண்மையில் ஆரோக்கியமாக உள்ளதா என்பதை நான் எப்படி அறிவது?

மூன்று எளிய சோதனைகள். ஒவ்வொரு எபிசோடின் வீடியோ கால அளவை CLI அறிவித்த கால அளவுடன் ஒப்பிட்டு, மொத்த எண்ணிக்கைக்குப் பதிலாக ஒவ்வொரு எபிசோடிற்கும், வரிசை எண்ணிக்கை fps ஐ அந்த கால அளவால் பெருக்கினால் வருவதற்குச் சமமாக உள்ளதா என்பதை உறுதிப்படுத்தவும்; இது lerobot இன் என்கோடிங் வழிகாட்டி வழங்கும் ஏற்பு சோதனை. 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

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started