Saraka ya seti ya data ya umma ya AY-Robots inayoonyesha seti za data za LeRobot zilizorekodiwa kwenye mikono ya darasa la SO-100
Seti za DataOpen X-EmbodimentDROIDSO-100LeRobot

Kutumia DROID, BridgeData V2 na Open X kwenye SO-100

AY-Robots ResearchAugust 23, 202618 min kusoma

DROID, BridgeData V2 na Open X-Embodiment hubadilika kuwa vitendo vya 7-D vya ncha-tendaji kwenye mikono ya 6 na 7-DoF. SO-100 huchukua nafasi 6 za viungo. Ni nini kinachohamishwa, ni nini kisichohamishwa, na nini cha kufanya badala yake.

Toleo fupi

  • Miundo ya LeRobot ya zote tatu inashiriki kanuni moja: kitendo cha 7-D cha kiishio cha mkono [x, y, z, roll, pitch, yaw, gripper] na hali ya 8-D yenye nafasi ya pedi. SO-100 huchukua nafasi sita kamili za viungo.
  • Vekta hiyo ya 7-D ni zao la kigeuzi: sehemu ya kitendo ya RLDS ya DROID yenyewe ni kasi 6 za viungo pamoja na nafasi ya kishika, na mtazamo wa Cartesian katika action_dict.
  • Saa nne: DROID 15 fps, BridgeData V2 5 fps, kipande cha google_robot 3 fps, SO-100 ikirekodi kwa 30 fps.
  • Huwezi kuziunganisha na data yako mwenyewe. validate_all_metadata huibua hitilafu kwenye ya kwanza kati ya fps, robot_type au features zinazotofautiana, na zote tatu zinatofautiana.
  • Kinachohamishwa ni uzito uliopitishwa mafunzo, si vipindi. Data ya chanzo huria ni asilimia 9.1 ya mchanganyiko wa mafunzo ya awali ya pi0.
  • Matumizi yao halisi ya bei nafuu ni kifaa cha kupima: sampuli ya DROID ya 2 GB, vipindi 100 iliyo thabiti inayothibitisha mfumo wako kabla ya kurekodi kwa wikendi.

Kuna hifadhidata ya umma ya mamilioni ya mienendo kwenye Google Cloud bucket na SO-100 mezani iliyogharimu 110 hadi 150 EUR kwa vipuri. Kwa nini ya kwanza haiwezi kufundisha ya pili? Kwa kiasi fulani inaweza, lakini karibu hakuna uhamisho unaotokea pale watu wanapotarajia, na sehemu inayoonekana rahisi haifanyi kazi kabisa.

Kinachofuata: kile kilicho ndani ya DROID, BridgeData V2 na Open X-Embodiment, ambapo kila moja inagongana na mkono wa 5-DoF wa gharama nafuu, na nini cha kufanya badala yake. Kila namba hapa chini ilitoka kwenye karatasi, kadi ya hifadhidata au faili chanzo inayoihusu.

Kile ambacho hifadhidata hizo tatu zinazo kwa kweli

DROIDBridgeData V2Open X-Embodiment
RobotiFranka Panda, 7 DoF, Robotiq 2F-85WidowX 250, 6 DoF, kifaa cha ~4,000 USDmiundo 22, seti za data 60, maabara 34
Kiwangomielekeo 76k, saa 350mielekeo 60,096mielekeo 1M+, ujuzi 527
Utofautimatukio 564, kazi 84, wakusanyaji 50mazingira 24, ujuzi 13kazi 160,266, taasisi 21
Muundozote zikiendeshwa kwa mbali50,365 zikiendeshwa kwa mbali, 9,731 zilizopangwakwa kila maabara chanzo
Kasi ya udhibiti15 Hz5 Hzinatofautiana, 3 fps na kuendelea
Kamera2 x ZED 2 za nje, 1 x ZED Mini ya mkonohadi 4, vipindi vingi ni ile iliyowekwa tuchochote kilichotumiwa na maabara
Upakuaji ghafi1.7 TB RLDS, 8.7 TB stereo ghafikumbukumbu za JPEGndoo za TFDS kwa kila seti ya data
Sehemu ya kuingilia ni ubadilishaji wa LeRobot, si ndoo asili

Watu wachache bado wanapakua 1.7 TB za RLDS TFRecords. Shirika la jamii IPEC-COMMUNITY limerudisha tena sehemu kubwa ya Open X-Embodiment katika mfumo wa seti ya data ya LeRobot na video ya AV1, ambapo DROID inafikia 392 GB. Hiyo ndiyo toleo utakalo fanyia kazi, na meta/info.json yake ndiyo ya kusoma kwanza.

DROID

Iliyosanifishwa zaidi kati ya hizi tatu. Kifaa kimoja kila mahali: Franka Panda yenye kishika cha Robotiq 2F-85, kamera mbili za stereo za ZED 2 zinazoweza kurekebishwa na ZED Mini ya mkono, inayoendeshwa kwa mbali na vidhibiti vya Meta Quest 2, iliyorekodiwa kupitia Polymetis kwa 15 Hz katika nafasi ya viungo na kiambato cha mwisho nafasi. Lebo za lugha zilikuja baadaye kupitia tasq.ai, hadi tatu kwa kila kipindi.

  • Mikusanyiko 76k, saa 350, matukio 564, kazi 84, wakusanyaji 50 katika mabara matatu.
  • Matokeo makuu ni mafunzo ya pamoja, si mafunzo ya pekee: makundi yaliyochanganywa 50/50 na maonyesho ya ndani ya kikoa yalishinda njia bora inayofuata kwa asilimia 22 ya mafanikio kamili katika usambazaji, asilimia 17 nje yake.
  • IPEC-COMMUNITY/droid_lerobot: vipindi 92,233, fremu 27,044,326, franka, 15 fps, codebase_version v2.0, mitiririko mitatu ya AV1 kwa 180x320, 392 GB.
  • Sampuli ya utatuzi ya GB 2, vipindi 100 inapatikana kwenye gs://gresearch/robotics/droid_100. Anza hapo.

BridgeData V2

Karibu zaidi na usanidi wa hobby: mkono wa WidowX 250 6-DoF, mikusanyiko 60,096 katika mazingira 24 na ujuzi 13 kwa 5 Hz. Zingatia muundo: maonyesho 50,365 ya wataalamu yaliyodhibitiwa kwa mbali pamoja na 9,731 kutoka kwa sera ya nasibu ya kuokota na kuweka, hivyo karibu asilimia 16 si maonyesho ya binadamu, jambo ambalo ni muhimu kwa ujifunzaji wa kuiga ubora. Upakuaji wa kawaida, IPEC-COMMUNITY/bridge_orig_lerobot, unaripoti vipindi 53,192 na fremu 1,893,026 kwa 5 fps, robot_type widowx: chache kuliko 60,096 za karatasi, kwa hivyo soma hesabu kutoka meta/info.json badala ya kunukuu mojawapo.

Open X-Embodiment

Sio hifadhidata kwa maana ile ile: Hifadhidata 60 zilizopo za roboti kutoka maabara 34 zimekusanywa katika mkusanyiko mmoja wa RLDS unaojumuisha miundo 22 na zaidi ya mamilioni ya miondoko. BridgeData V2 inakaa ndani yake kama bridge_orig; sehemu ya google_robot, fractal20220817_data, inabadilika kuwa vipindi 87,212 kwa 3 fps.

Ukusanyaji huu una tahadhari ambayo karatasi inasema waziwazi. Kwa majaribio ya RT-X, waandishi hubadilisha kila chanzo kuwa hatua ya 7-DoF ya kiambato cha mwisho, lakini hawaunganishi fremu za kuratibu katika hifadhidata zote, na huruhusu thamani za hatua kuwa nafasi kamili au za jamaa au kasi, kulingana na mpango asili wa udhibiti wa kila roboti. Hitimisho lao: vekta ile ile ya hatua inaweza kusababisha miondoko tofauti sana kwa roboti tofauti.

Saraka ya hifadhidata ya AY-Robots ikiorodhesha hifadhidata za umma za LeRobot zenye idadi ya vipindi na maelezo ya kazi
Saraka ya hifadhidata ya umma kwenye /directory: hifadhidata tayari katika umbo la LeRobot, tayari zinalingana na mkono unaotumika.

Kutolingana, katika sehemu nne

Kutolingana kwa umbo kwa kawaida huchukuliwa kama tatizo moja lisiloeleweka. Ni manne, hushindwa kwa njia tofauti, na mawili hayawezi kurekebishwa kwa kuandika hati.

1. Viwango vya uhuru

SO-100 ina viungo vitano vya mkono pamoja na kishika. Ikihesabiwa kama mota, ni mkono wa 6-DoF, na karatasi ya SmolVLA inauita hivyo; ikihesabiwa kama utaratibu wa kuweka nafasi ni 5-DoF, na LeRobot inauita hivyo katika docstring yake ya inverse-kinematics, ambayo inaelezea IK ya mwelekeo laini kwenye SO-101 ya 5-DOF ambapo kifundo cha mkono hufuatilia mwelekeo kwa sehemu tu. Franka ina viungo saba vya kuweka nafasi. Pengo hilo huamua ni pozi gani zipo: mkono wa 5-DoF kwa ujumla hauwezi kufikia nafasi na mwelekeo holela kwa wakati mmoja, kwa hivyo kirekebishaji hurudisha kilicho karibu zaidi kinachoweza, mwendo tofauti na ule ulioonyeshwa. Mandharinyuma: .

python
# src/lerobot/robots/so_follower/so_follower.py
motors = {
    "shoulder_pan":  Motor(1, "sts3215", norm_mode_body),
    "shoulder_lift": Motor(2, "sts3215", norm_mode_body),
    "elbow_flex":    Motor(3, "sts3215", norm_mode_body),
    "wrist_flex":    Motor(4, "sts3215", norm_mode_body),
    "wrist_roll":    Motor(5, "sts3215", norm_mode_body),
    "gripper":       Motor(6, "sts3215", MotorNormMode.RANGE_0_100),
}
# action keys are "<motor>.pos"; send_action sync_writes them to
# "Goal_Position"  ->  a 6-D ABSOLUTE JOINT POSITION command


# openpi/src/openpi/policies/droid_policy.py
def make_droid_example() -> dict:
    return {
        "observation/exterior_image_1_left": np.random.randint(256, size=(224, 224, 3), dtype=np.uint8),
        "observation/wrist_image_left":      np.random.randint(256, size=(224, 224, 3), dtype=np.uint8),
        "observation/joint_position":        np.random.rand(7),   # seven Franka joints
        "observation/gripper_position":      np.random.rand(1),
        "prompt": "do something",
    }
# state = concat(joint_position, gripper_pos)  ->  8-D
Kushoto: Mfuasi wa SO wa LeRobot, kutoka src/lerobot/robots/so_follower/so_follower.py. Kulia: Ingizo la sera ya DROID ya openpi. Sita dhidi ya nane.

Kwa hivyo, kituo cha ukaguzi cha DROID kilichotengenezwa tayari si njia ya mkato. Physical Intelligence husafirisha pi05_droid kwenye gs://openpi-assets/checkpoints/pi05_droid, na README hiyo hiyo inayopongeza upana wake inaonya kuwa vituo hivi vya ukaguzi vya wataalamu huenda visiweze kutumika kwa usanidi wako. Hali yake ni namba nane za viungo vya Franka na funguo zake za picha ni exterior_image_1_left na wrist_image_left. Hakuna bendera inayogeuka kuwa amri ya SO-100 ya motor sita.

2. Kile ambacho vekta ya kitendo inasema kweli

Kina zaidi ya vipimo. Katika ubadilishaji wa LeRobot zote tatu zinasema mahali ambapo kishika kinapaswa kwenda, katika nafasi ya Cartesian. SO-100 inasema mahali ambapo servomotor sita zinapaswa kwenda. Kubadilisha kunahitaji mfumo wa kinematiki na kisuluhishi, si kubadilisha umbo.

SifaOXE, DROID na Bridge katika mfumo wa LeRobotSO-100 katika LeRobot
Vekta ya kitendo7-D: x, y, z, roll, pitch, yaw, kishika6-D: nafasi moja ya lengo kwa kila motor
Vekta ya hali8-D, na nafasi ya pedi (google_robot hutumia quaternion)6-D, moja kwa kila motor
FremuCartesian, isiyolingana katika seti za datanafasi ya viungo, urekebishaji kwa kila mkono
Kamili au jamaayoyote, iliyoamuliwa na maabara chanzonafasi kamili za lengo
Vitengoiliyorekebishwa kwa kila seti ya data, kisha kugawanywadigrii kwa chaguo-msingi (use_degrees=True), vinginevyo -100 hadi 100
Kushindwa kimyadelta iliyosomwa kama kamilimkono usio na kalibresheni
Vekta ya Cartesian ya 7-D ni makubaliano ya kigeuzi, si ya DROID

README ya openx2lerobot inaandika hali ya 8-dim iliyounganishwa na kitendo cha 7-dim kwa kila seti ya data inayoibadilisha, ambapo nafasi ya pad inatoka. Schema ya RLDS ya DROID inatofautiana: action yake ya kiwango cha juu ni vekta ya 7 ya kasi 6 za viungo pamoja na nafasi 1 ya kishika, ikiwa na cartesian_position, cartesian_velocity, joint_position na joint_velocity chini ya action_dict. openpi inasoma mtazamo wa nafasi ya viungo, toleo la LeRobot linakupa la Cartesian. Hakuna hata moja iliyo pembe sita kamili za servo.

LeRobot inatoa kipande kinachokosekana: mfuasi wa SO ana kichakataji cha kinematiki chenye hatua za InverseKinematicsEEToJoints na ForwardKinematicsJointsToEE. Funguo zake ni ee.x, ee.y, ee.z pamoja na vekta ya mzunguko ee.wx, ee.wy, ee.wz na ee.gripper_pos, hivyo hata usimbaji wa mwelekeo unatofautiana na roll-pitch-yaw kwenye faili. Hatua ya IK inachukua orientation_weight, chaguomsingi 0.01, ambayo docstring yake inasema kuweka 0.0 kwa IK ya nafasi pekee kwenye mikono isiyo na nguvu za kutosha. Unaweza kujenga daraja, lakini nusu ya mwelekeo ya kila kitendo kilichokopwa inabaki kukadiriwa.

3. Kiwango cha udhibiti

DROID ni 15 Hz, BridgeData V2 5 Hz, sehemu ya google_robot 3 fps; waandishi wa pi0 wanaelezea sehemu ya chanzo huria ya mchanganyiko wao kama udhibiti wa masafa ya chini kati ya 2 na 10 Hz. DatasetRecordConfig ya LeRobot inatumia chaguomsingi ya fps 30, episode_time_s 60, reset_time_s 60, num_episodes 50. A iliyefunzwa kwa data ya 5 Hz ilijifunza kuwa kitendo kimoja kinachukua 200 ms. Icheze tena kwa 30 Hz na mkono utatambaa; sampuli upya bila kufikiri na utaharibu fremu ambapo kishika kinafunga. Pia inaingiliana vibaya na : kipande cha hatua 100 ni sekunde 20 kwa 5 Hz, 3.3 kwa 30 Hz.

4. Kamera

BridgeData V2 ilichagua nasibu pozi mbili za kamera kila mizunguko 50, na ukurasa wake wa mradi unaeleza kuwa data nyingi hubeba tu mtazamo usiobadilika. DROID ilitumia viunga vya ZED 2 vinavyoweza kurekebishwa pamoja na ZED Mini ya mkono. Una kamera mbili za USB zilizowekwa kwa macho. Pozi ya kamera si kigezo cha usumbufu kwa ; ni sehemu kubwa ya kile ambacho kisimbuzi cha kuona kilizingatia, na hakuna chochote katika umbizo la faili kinachokuambia kuwa pozi zinatofautiana.

Mtego unaokula siku

Vipande vinaendana vizuri vya kutosha kuendesha. Seti ya data inapakia, mafunzo yanaanza, hasara inapungua, vituo vya ukaguzi vinaonekana, hakuna makosa. Kisha sera haifanyi chochote kinachotambulika kwenye mkono na unatumia siku nzima kutafuta hitilafu kwenye hati yako ya mafunzo. Hakuna hitilafu: mfumo ulijifunza usambazaji wa vitendo vya Cartesian kwa roboti ambayo haipo chumbani kwako. Anza kwenye hasara inapungua, sera haifanyi chochote, si kwenye vigezo vyako vya juu.

Nini kinatokea unapojaribu kuunganisha data hata hivyo

Mpango dhahiri ni kuunganisha: vipindi elfu chache vya DROID pamoja na 50 yako. LeRobot inakataa, na kukataa huko kunataja mambo matatu yanayotofautiana.

  1. 1
    Vuta sampuli ya vipindi 100, siyo TB 1.7 kamili

    GB 2 zinatosha kuona muundo.

    bash
    pip install gsutil tensorflow tensorflow-datasets
    gsutil -m cp -r gs://gresearch/robotics/droid_100 ~/tensorflow_datasets/
  2. 2
    Badilisha RLDS kuwa umbizo la LeRobot

    openx2lerobot inafunga mabadiliko ya kawaida ya OXE na kuweka alama kwenye aina ya roboti na marudio ya udhibiti. README inaweka hii kwenye convert.sh.

    bash
    git clone https://github.com/Tavish9/any4lerobot.git
    cd any4lerobot/openx2lerobot
    
    python openx_rlds.py \
        --raw-dir ~/tensorflow_datasets/droid_100/1.0.0 \
        --local-dir ~/lerobot_droid100 \
        --repo-id you/droid100_lerobot \
        --use-videos
  3. 3
    Soma meta/info.json kabla ya kitu kingine chochote

    Faili hili linaamua kama siku yako iliyobaki itafanya kazi.

    bash
    python -c "import json;d=json.load(open('meta/info.json'));\
    print(d['codebase_version'], d['robot_type'], d['fps']);\
    print(d['features']['action']['shape'], d['features']['observation.state']['shape'])"
  4. 4
    Jaribu kuunganisha na soma kosa

    merge inapaki kila seti ya data, kisha validate_all_metadata inakagua fps, robot_type na vipengele dhidi ya cha kwanza kwenye orodha, ikitoa kosa kwenye kutofautiana kwa kwanza.

    bash
    lerobot-edit-dataset \
        --new_repo_id you/mixed \
        --operation.type merge \
        --operation.repo_ids "['you/droid100_lerobot', 'you/my_so100_task']"
    
    # ValueError: Same fps is expected, but got fps=30 instead of 15.

Thamani za marejeleo hutoka kwenye seti ya data yoyote uliyoorodhesha kwanza, ndiyo maana ujumbe unalalamika kuhusu fps yako 30 badala ya 15 ya DROID. Rekebisha fps na utakutana na ukaguzi wa robot_type; rekebisha hilo na utakutana na ukaguzi wa kipengele, 7 dhidi ya 6 kwa kitendo. Hakuna mpangilio unaopita, na mlinzi huyo huyo huendeshwa wakati wa kurekodi kupitia sanity_check_dataset_robot_compatibility.

Usitumie robot_type iliyowekwa moja kwa moja ili kukwepa ukaguzi

Kwenye LeRobot kuu ya sasa, so100_follower na so101_follower zote zimesajiliwa kwenye SOFollowerRobotConfig moja iliyoshirikiwa, kwa hivyo mfuatano kutoka kwa rekodi halisi si lazima uwe ule unaotarajia. Soma kutoka kwenye meta/info.json yako mwenyewe, na chukulia ukaguzi uliolazimika kuuzima kama ukaguzi uliokuwa ukikwambia kitu.

Kwa hivyo, ni nini hasa kinachohamishwa?

Uzito, si vipindi. Kila sera ya kisasa ya jumla ilichukua baadhi yake katika mafunzo ya awali, na unapo rekebisha vizuri kutoka kwa kituo cha ukaguzi unairithi tayari ikiwa imerekebishwa na watu wenye uwezo wa kompyuta kuifanya ipasavyo. Karatasi ya pi0 inazungumzia waziwazi uwiano: asilimia 9.1 ya mchanganyiko wake wa mafunzo ya awali, ikihesabiwa kwa hatua za muda, ni data ya chanzo huria ikiwemo OXE, Bridge v2 na DROID. Takwimu hiyo ni ya pi0; mchanganyiko wa kila muuzaji unatofautiana.

Data ya umma ya miili tofauti kwenye mradi wa SO-100
Faida
  • Vipaumbele vya kuona na lugha: kisimbuzi kimeona maelfu ya jikoni na vikombe na kinajua "kizuizi chekundu" kinarejelea nini.
  • Kipaumbele juu ya muundo wa udanganyifu: kukaribia, kufunga, kuinua, kusafirisha, kuachilia, bila kujali umbo hata kama namba haziko.
  • Seti ya data inayojulikana kuwa nzuri kwa majaribio. Ikiwa kazi yako haiwezi kuzidi vipindi 100 vya DROID, tatizo ni usanidi wako.
  • Pointi za marejeleo: katika vikoa vya data ndogo, RT-1-X ilifikia kiwango cha mafanikio cha wastani cha asilimia 50 zaidi kuliko njia asili au RT-1, na RT-2-X ilishinda RT-2 kwa takriban mara 3 kwenye ujuzi unaoibuka.
Mabadilishano
  • Hakuna usimamizi wa vitendo unaoweza kutumika. Lengo la Cartesian la 7-D si amri ya pamoja ya 6-D.
  • Hakuna uhamishaji wa mkao wa kamera, na hakuna chochote kwenye data kinachokuambia mkao unatofautiana.
  • Hakuna uhamishaji wa muda: vyanzo vya 3, 5 na 15 fps dhidi ya kinasa sauti cha 30 fps.
  • Hakuna uhamishaji wa kishika. Robotiq 2F-85 na taya iliyochapishwa kwenye STS3215 hutofautiana kwa nguvu, mwendo na mienendo.
  • Kiwango pekee hakikutosha hata kwa waandishi wake: katika vikoa vya data kubwa, RT-1-X haikushinda RT-1 iliyefunzwa kwa data hiyo pekee.
  • Hakuna upunguzaji wa idadi ya vipindi vyako unavyohitaji.
Safu ya modeliInahamisha?Kwa nini
Kisimbuzi cha kuonaNdio, kwa nguvuVitu na mandhari havitegemei umbo
Msingi wa lughaNdioMaelekezo ni maandishi, si jiometri
Muunganisho wa njia mbalimbaliKwa kiasi kikubwaHuzingatia kitu kilichotajwa kwenye kidokezo
Kisimbuzi cha proprioceptionHapanaKipimo cha pembejeo na semantiki za pamoja hutofautiana
Kichwa cha kitendoHapanaImefunzwa kwenye nafasi ya Cartesian ya 7-D ambayo hauko ndani yake
Takwimu za urekebishajiHapana, na hatariTakwimu za kigeni hubadilisha kila amri

Hii ndiyo sababu SmolVLA hufanya kazi tofauti kwenye mkono wa gharama nafuu. Karatasi yake huchagua seti data 481 za jamii kutoka Hugging Face, zilizochujwa kwa aina ya umbo, idadi ya vipindi, ubora wa data na ufunikaji wa fremu: vipindi 22.9K, fremu 10.6M, zilizotathminiwa kwenye mikono halisi ya SO-100 na SO-101. Ndogo na iliyolingana inashinda kubwa na isiyolingana. Linganisha kwenye ACT dhidi ya SmolVLA.

Njia tatu zinazofaa kuchukuliwa

Njia A: rekebisha kutoka kwenye kituo cha ukaguzi ambacho tayari kimechukua data

Watu wengi wanapaswa kuchukua hii. Hutawahi kugusa DROID au Open X-Embodiment: chagua sera ambayo mafunzo yake ya awali tayari yamechukua data ya miili tofauti, rekodi vipindi vyako mwenyewe, rekebisha.

SeraVigezoVipindi vya chiniUmbizo la DataKiwango cha GPUUtabiriKituo cha msingi
GR00T N1.7~3 B, ~40 M iliyefunzwa kwa urekebishaji mzuri50LeRobot v2.0 or v2.1A100 or H100 80 GB152 ms kwa kila hatuanvidia/GR00T-N1.7-3B
GR00T N1.5~3 B50LeRobot v2.0 or v2.1A100 or H100 80 GB165 msnvidia/GR00T-N1.5-3B
Pi0.5~3 B, PaliGemma utegemezi mkuu50LeRobot v3.0A100 or H100 80 GB485 mslerobot/pi05_base
SmolVLA~450 M30LeRobot v3.0RTX 4090 or any 24 GB245 mslerobot/smolvla_base
ACT~80 M50LeRobot v3.0RTX 4090 or any 24 GB20 mshakuna, kutoka mwanzo

ACT ni kisa cha kipekee cha kweli: hakuna modeli ya msingi, kwa hivyo hakuna data yoyote ya umma inayoifikia. Hii si hasara kiotomatiki, kwani kwa 20 ms kwa kila hatua ya kitendo ndiyo pekee kati ya tano inayoweza kufunga kitanzi cha haraka, kama vile ukurasa wa ACT, inavyoeleza. Chagua kwa kazi ukitumia zote tano zikilinganishwa, GR00T N1.7 dhidi ya Pi0.5, na matokeo 332 ya vigezo katika modeli 85 ndani ya uwanja.

Njia B: tumia DROID kama kifaa cha majaribio

Sampuli ya vipindi 100 ndiyo GB 2 bora utakayopakua mwezi huu, na si kwa ajili ya mafunzo. Ni seti ya data unayojua ni sahihi. Endesha kigeuzi chako, kipakiaji na kazi fupi ya GPU juu yake; chochote kinachoshindwa ni hitilafu ya miundombinu iliyopatikana wakati ilikuwa rahisi. NVIDIA hufanya vivyo hivyo kwa kiwango kikubwa: kadi ya GR00T N1.7 inaorodhesha lahaja nne zilizofunzwa baada ya hapo, kwa Bridge na Fractal katika SimplerEnv, DROID na LIBERO.

Njia C: rekodi yako mwenyewe, kwa makusudi

Thelathini hadi hamsini inaonekana kidogo ikilinganishwa na 76,000 hadi utakumbuka kuwa zako ndizo pekee zenye mkono wako, kamera zako na meza yako. Kwa mipangilio chaguomsingi ya LeRobot, vipindi 50 ni dakika 100 za saa ya ukuta. Tazama , na .

Ukurasa wa mafunzo ya kurekodi wa AY-Robots unaoonyesha hatua za kunasa seti ya data ya LeRobot kutoka kipindi cha uendeshaji wa mbali
Mwongozo wa kurekodi kwenye /learn/record-your-first-dataset: hatua ambayo data ya umma haiwezi kuchukua nafasi.

Njia mbili za kupata sera inayofanya kazi kutoka kwa data ya umma

All of this runs on your own machine plus a rented GPU. Knowing the manual path matters because when something breaks you will know which layer broke.

  1. 1
    Install LeRobot with the extras the scripts need

    The record and train entry points each declare their own extra.

    bash
    pip install 'lerobot[core_scripts]'   # lerobot-record
    pip install 'lerobot[training]'      # lerobot-train
    pip install gsutil tensorflow tensorflow-datasets
  2. 2
    Get a small, known-good slice

    100 DROID episodes, 2 GB.

    bash
    gsutil -m cp -r gs://gresearch/robotics/droid_100 ~/tensorflow_datasets/
  3. 3
    Convert to LeRobot form

    Writes the unified 8-D state and 7-D action, annotating robot type and control frequency.

    bash
    python openx_rlds.py \
        --raw-dir ~/tensorflow_datasets/droid_100/1.0.0 \
        --local-dir ~/lerobot_droid100 \
        --repo-id you/droid100_lerobot \
        --use-videos
  4. 4
    Check the version against your trainer

    The converter README documents v3.0 output; the published IPEC-COMMUNITY datasets report v2.0. GR00T wants v2.0 or v2.1 and crashes on v3.0; Pi0.5, SmolVLA and ACT want v3.0. Mind the gap: the only conversion script on LeRobot main goes 2.1 to 3.0.

    bash
    python src/lerobot/scripts/convert_dataset_v21_to_v30.py \
        --repo-id=you/droid100_lerobot
  5. 5
    Record your own episodes

    Defaults: 30 fps, 60 s per episode, 60 s reset, 50 episodes. The teleoperator type is so100_leader.

    bash
    lerobot-record \
      --robot.type=so100_follower \
      --robot.port=/dev/ttyACM0 \
      --robot.cameras="{front: {type: opencv, index_or_path: 0, width: 640, height: 480, fps: 30}}" \
      --teleop.type=so100_leader \
      --teleop.port=/dev/ttyACM1 \
      --dataset.repo_id=you/so100_pick_block \
      --dataset.num_episodes=50 \
      --dataset.single_task="Pick up the red block and put it in the bowl"
  6. 6
    Fine-tune on your data only

    Weights from public data, actions from your own. Do not mix the datasets.

    bash
    lerobot-train \
      --policy.path=lerobot/smolvla_base \
      --dataset.repo_id=you/so100_pick_block \
      --policy.device=cuda \
      --batch_size=4 \
      --steps=20000
Where the time actually goes

Not in training; the GPU job is hours. The conversion, the version mismatch and the moment you find your dataset is v2.0 and your trainer wants v3.0 are days. Read dataset rejected as v3 first.

Ukurasa wa kupakua wa mteja wa kompyuta ya mezani wa AY-Robots, mteja anayerekodi seti za data za LeRobot kutoka kipindi cha teleoperation
Mteja wa kompyuta ya mezani kwenye /download huandika seti za data za LeRobot moja kwa moja kutoka kipindi cha teleop, akiepuka ubadilishaji wa RLDS.

Gharama ya kila njia

NjiaHifadhiMuda wa binadamuGharama ya GPUUwezekano wa kusogeza mkono wako
DROID iliyobadilishwa pekee392 GBsiku za ubadilishaji4 to 12 USDchini sana, nafasi mbaya ya hatua
DROID iliyounganishwa na vipindi vyakozote mbiliblocked by validate_all_metadatan/ahakuna, haifanyi kazi
SmolVLA, vipindi 30 hadi 50 vyako mwenyeweGB chachekurekodi kwa dakika 1001 to 3 USDjuu
GR00T N1.7, vipindi 50 vyako mwenyeweGB chachekurekodi kwa dakika 1004 to 12 USDjuu
ACT kuanzia mwanzo, vipindi 50 vyako mwenyeweGB chachekurekodi kwa dakika 1001 to 3 USDjuu, 20 ms inference
Sampuli ya DROID kama kifaa cha majaribio2 GBalasirikukimbia kifupi kimojajuu, kama uthibitisho

Asymmetry ndio hoja: njia inayokopa data nyingi zaidi ndiyo ghali zaidi na isiyowezekana kusogeza mkono wako. Chini ya saa mbili za teleoperesheni yako mwenyewe inashinda terabyte ya Franka ya mtu mwingine. Bado huna mkono? /live huonyesha SO-100 halisi bila kujisajili. Kisha funza sera yako ya kwanza, na SmolVLA kwenye SO-100 kwa mwongozo maalum.

Mpango chaguomsingi unaofaa

Pakua sampuli ya DROID ya GB 2 na uitumie kuthibitisha mfumo wako. Puuza TB nyingine 1.7. Rekodi vipindi 50 vya kazi moja na kamera zisizohamishika. Rekebisha SmolVLA kwanza, kwa sababu kwa vipindi visivyopungua 30 kwenye kadi ya GB 24 ni rahisi zaidi kurudia, kisha jaribu GR00T N1.7 kwenye data hiyo hiyo. Linganisha kwenye kazi yako, si kwenye kigezo.

Rekodi seti za data zinazolingana na mkono wako

Kiteja cha kompyuta huandika seti za data za umbizo la LeRobot moja kwa moja kutoka kwa kipindi cha teleop: mkono sahihi, kasi sahihi ya fremu, nafasi sahihi ya vitendo. Hakuna ubadilishaji wa RLDS, hakuna ramani upya.

Pata kiteja cha kompyuta
Je, ninaweza kufunza sera kwenye DROID na kuiendesha kwenye SO-100 yangu?

Si moja kwa moja. Katika ujenzi wa LeRobot, vitendo vya DROID ni amri za 7-D za mwisho wa kiendeshaji kwenye Franka Panda kwa 15 fps; katika RLDS ghafi ni kasi 6 za viungo pamoja na nafasi ya kishika. SO-100 inachukua nafasi 6 kamili za viungo. Ungehitaji safu ya inverse-kinematics, na hata hivyo, kifundo cha mkono cha 5-DoF hakiwezi kuzalisha pozi za 6-DoF kiholela.

Je, ninaweza kuchanganya vipindi vya DROID au Bridge na vipindi vyangu vya SO-100?

Hapana. validate_all_metadata inahitaji fps, robot_type na schema ya vipengele vinavyofanana na huibua ValueError kwenye tofauti ya kwanza. Zote tatu zinatofautiana: 15 au 5 fps dhidi ya 30, franka au widowx dhidi ya mkono wako, maumbo ya vitendo ya 7 dhidi ya 6. Kuandika upya metadata ili kupitisha ukaguzi hakurekebishi semantiki.

Je, Open X-Embodiment haina maana kwa mkono wa gharama nafuu basi?

Hapana, lakini thamani yake inakufikia kupitia uzito uliopitishwa, si vipindi. Seti za data za chanzo huria ikiwemo OXE, Bridge v2 na DROID ni asilimia 9.1 ya mchanganyiko wa mafunzo ya awali ya pi0, na NVIDIA inasambaza GR00T N1.7 variants zilizofunzwa baada ya Bridge, Fractal, DROID na LIBERO. Kile ambacho huwezi kufanya ni kuongeza vipindi hivyo kwenye rekodi yako mwenyewe.

Ni sera gani inanufaika zaidi na data ya umma ya cross-embodiment?

Pi0.5 na mifumo ya GR00T hubeba mafunzo mengi zaidi ya awali ya cross-embodiment, lakini SmolVLA mara nyingi hufanya vizuri zaidi kwenye mkono wa gharama nafuu: seti yake ya mafunzo ya awali ni seti za data 481 za jamii, vipindi 22.9K na fremu 10.6M, zilizopimwa kwenye mikono halisi ya SO-100 na SO-101. ACT ni kinyume chake: hakuna mfumo wa msingi, 20 ms kwa hatua ya kitendo.

Ni vipindi vingapi vya kwangu ninavyohitaji?

30 kwa SmolVLA, 50 kwa GR00T N1.7, GR00T N1.5, Pi0.5 na ACT. Kwa mipangilio chaguomsingi ya LeRobot ya sekunde 60 kwa kila kipindi na sekunde 60 za kuweka upya, vipindi 50 ni dakika 100 za saa halisi. Data iliyokopwa ya cross-embodiment haipunguzi namba hizo.

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started