SO-100 පන්තියේ අත් මත පටිගත කරන ලද LeRobot දත්ත කට්ටල පෙන්වන AY-Robots පොදු දත්ත කට්ටල නාමාවලිය
දත්ත කට්ටලOpen X-EmbodimentDROIDSO-100LeRobot

SO-100 මත DROID, BridgeData V2 සහ Open X භාවිතා කිරීම

AY-Robots ResearchAugust 23, 202618 විනාඩි කියවීම

DROID, BridgeData V2 සහ Open X-Embodiment 6 සහ 7-DoF අත් මත 7-D අග-ක්‍රියාකාරී ක්‍රියා බවට පරිවර්තනය වේ. SO-100 එකක් සන්ධි ස්ථාන 6ක් ගනී. මාරු වන්නේ කුමක්ද, නොවන දේ, ඒ වෙනුවට කළ යුත්තේ කුමක්ද.

කෙටි සාරාංශය

  • LeRobot හි සියලුම සංස්කරණ පොදු සම්මුතියක් බෙදා ගනී: 7-D අන්ත-ඵලදායි ක්‍රියාවක් [x, y, z, roll, pitch, yaw, gripper] සහ පෑඩ් ස්ලොට් එකක් සහිත 8-D තත්වයක්. SO-100 එකක් නිරපේක්ෂ සන්ධි ස්ථාන හයක් ගනී.
  • එම 7-D දෛශිකය පරිවර්තකයේ කෘතියකි: DROID හිම RLDS ක්‍රියා ක්ෂේත්‍රය සන්ධි ප්‍රවේග 6ක් සහ ග්‍රිපර් ස්ථානයක් වන අතර, කාටීසියානු දර්ශනය action_dict හි ඇත.
  • ඔරලෝසු හතරක්: DROID 15 fps, BridgeData V2 5 fps, google_robot slice 3 fps, SO-100 පටිගත කිරීම 30 fps.
  • ඔබට ඒවා ඔබේම දත්ත සමඟ ඒකාබද්ධ කළ නොහැක. validate_all_metadata, fps, robot_type හෝ වෙනස් වන විශේෂාංග වලින් පළමුවැන්න මත දෝෂයක් ඇති කරයි, සහ තුනම වෙනස් වේ.
  • මාරු වන්නේ පුහුණු කළ බර මිස කථාංග නොවේ. විවෘත මූලාශ්‍ර දත්ත pi0 හි පූර්ව පුහුණු මිශ්‍රණයේ 9.1% කි.
  • ඒවායේ ලාභම සැබෑ භාවිතය වන්නේ පරීක්ෂණ සවිකිරීමකි: ඔබ සති අන්තයක් සඳහා පටිගත කිරීමට පෙර ඔබේ පයිප්ලය ඔප්පු කරන, හොඳින් දන්නා 2 GB, කථාංග 100 ක DROID සාම්පලයක්.

Google Cloud බකට් එකක මිලියන ගණනක ගමන් පථ සහිත පොදු දත්ත කට්ටලයක් සහ SO-100 මේසය මත ඇති අතර එහි කොටස් සඳහා 110 සිට 150 EUR දක්වා වැය විය. පළමුවැන්නට දෙවැන්නට ඉගැන්විය නොහැක්කේ ඇයි? එය අර්ධ වශයෙන් කළ හැකි නමුත්, මිනිසුන් අපේක්ෂා කරන තැන මාරුවීම් කිසිවක් පාහේ සිදු නොවන අතර, පහසුම ලෙස පෙනෙන කොටස කිසිසේත් ක්‍රියා නොකරයි.

පහත දැක්වෙන්නේ: ඇතුළත ඇති දේ DROID, BridgeData V2 සහ Open X-Embodiment, එහිදී සෑම එකක්ම අඩු වියදම් 5-DoF අතක් සමඟ ගැටෙන ආකාරය සහ ඒ වෙනුවට කළ යුතු දේ. පහත සෑම අංකයක්ම එයට අදාළ පත්‍රිකාවෙන්, දත්ත කට්ටල කාඩ්පතෙන් හෝ මූලාශ්‍ර ගොනුවෙන් ලබා ගන්නා ලදී.

දත්ත කට්ටල තුනේ ඇත්ත වශයෙන්ම අඩංගු දේ

DROIDBridgeData V2Open X-Embodiment
රොබෝFranka Panda, 7 DoF, Robotiq 2F-85WidowX 250, 6 DoF, ~4,000 USD rig22 embodiments, 60 datasets, 34 labs
පරිමාණය76k trajectories, 350 hours60,096 trajectories1M+ trajectories, 527 skills
විවිධත්වය564 scenes, 84 tasks, 50 collectors24 environments, 13 skills160,266 tasks, 21 institutions
සංයුතියසියල්ල දුරස්ථව ක්‍රියාත්මක කරන ලදී50,365 දුරස්ථව ක්‍රියාත්මක කරන ලදී, 9,731 ස්ක්‍රිප්ට් කරන ලදීමූලාශ්‍ර රසායනාගාරය අනුව
පාලන වේගය15 Hz5 Hzවෙනස් වේ, 3 fps ඉහළට
කැමරා2 x ZED 2 බාහිර, 1 x ZED Mini මැණික් කටුව4 දක්වා, බොහෝ කථාංගවල ස්ථාවර එක පමණිරසායනාගාරය භාවිතා කළ ඕනෑම දෙයක්
අමු බාගැනීම1.7 TB RLDS, 8.7 TB raw stereoJPEG ලේඛනාගාරදත්ත කට්ටලයට අනුව TFDS බකට්
ප්‍රවේශ ස්ථානය වන්නේ LeRobot පරිවර්තනය මිස මුල් බකට්ටුව නොවේ

අදටත් 1.7 TB RLDS TFRecords බාගත කරන්නේ ස්වල්ප දෙනෙකි. ප්‍රජා සංවිධානය වන IPEC-COMMUNITY, Open X-Embodiment හි බොහෝ දේ AV1 වීඩියෝ සමඟ LeRobot dataset ආකෘතියෙන් නැවත ප්‍රකාශයට පත් කර ඇත, එහිදී DROID 392 GB වේ. ඔබ වැඩ කරන්නේ එම සංස්කරණය සමඟ වන අතර, එහි meta/info.json මුලින්ම කියවිය යුතු දෙයයි.

DROID

තුනෙන් වඩාත්ම ප්‍රමිතිගත එක. සෑම තැනකම එකම රිග් එකක්: Robotiq 2F-85 ග්‍රිපරයක් සහිත Franka Panda රොබෝවරයෙක්, වෙනස් කළ හැකි ZED 2 ස්ටීරියෝ කැමරා දෙකක් සහ මැණික් කටුවෙහි ZED Mini එකක්, Meta Quest 2 පාලක භාවිතයෙන් දුරස්ථව ක්‍රියාත්මක කරන ලදී, Polymetis හරහා 15 Hz වේගයකින් සන්ධි සහ අවසාන-ක්‍රියාකාරකය අවකාශය. භාෂා ලේබල පසුව tasq.ai හරහා පැමිණියේය, එක් කථාංගයකට.

  • 76k ගමන් මාර්ග, පැය 350, දර්ශන 564, කාර්යයන් 84, මහාද්වීප තුනක එකතු කරන්නන් 50ක්.
  • ප්‍රධාන ප්‍රතිඵලය වන්නේ ස්වාධීන පුහුණුවක් නොව සම-පුහුණුවයි: 50/50 අනුපාතයට අභ්‍යන්තර-වසම් නිරූපණ සමඟ මිශ්‍ර කළ කණ්ඩායම්, බෙදාහැරීමේදී 22% ක නිරපේක්ෂ සාර්ථකත්වයකින් සහ එයින් පිටත 17% කින් ඊළඟ හොඳම ක්‍රමය පරාජය කළේය.
  • IPEC-COMMUNITY/droid_lerobot: කථාංග 92,233, රාමු 27,044,326, franka, 15 fps, codebase_version v2.0, 180x320 හි AV1 ප්‍රවාහ තුනක්, 392 GB.
  • 2 GB, කථාංග 100 කින් යුත් දෝෂ නිවැරදි කිරීමේ සාම්පලයක් gs://gresearch/robotics/droid_100 හි ඇත. එතැනින් ආරම්භ කරන්න.

BridgeData V2

විනෝදාංශ සැකසුමකට ආසන්නතම: WidowX 250 6-DoF අතක්, පරිසර 24ක් සහ කුසලතා 13ක් හරහා 60,096 ගමන් මාර්ග 5 Hz වේගයකින්. සංයුතිය සටහන් කරන්න: විශේෂඥ දුරස්ථ ක්‍රියාකාරී නිරූපණ 50,365ක් සහ අහඹු ලෙස සකස් කරන ලද තෝරාගැනීමේ සහ තැබීමේ ප්‍රතිපත්තියකින් 9,731ක්, එබැවින් ආසන්න වශයෙන් 16%ක් මානව නිරූපණ නොවේ, එය වැදගත් වන්නේ අනුකරණ ඉගෙනීම ගුණාත්මකභාවය සඳහාය. සාමාන්‍ය බාගත කිරීම, IPEC-COMMUNITY/bridge_orig_lerobot, කථාංග 53,192ක් සහ රාමු 1,893,026ක් 5 fps වේගයකින්, robot_type widowx: පත්‍රිකාවේ 60,096ට වඩා අඩු බව වාර්තා කරයි, එබැවින් meta/info.json වෙතින් ගණන කියවන්න, ඒ දෙකෙන් එකක්වත් උපුටා නොදක්වා.

Open X-Embodiment

එකම අර්ථයෙන් දත්ත කට්ටලයක් නොවේ: විද්‍යාගාර 34කින් ලබාගත් පවතින රොබෝ දත්ත කට්ටල 60ක් එක් RLDS එකතුවකට ඒකාබද්ධ කර ඇත, එය එම්බොඩිමන්ට් 22ක් සහ මිලියනයකට අධික ගමන් පථ ආවරණය කරයි. BridgeData V2, bridge_orig ලෙස එහි අන්තර්ගත වේ; google_robot slice, fractal20220817_data, 3 fps වේගයකින් කථාංග 87,212ක් බවට පරිවර්තනය වේ.

මෙම ඒකාබද්ධ කිරීමේදී පත්‍රිකාවේ පැහැදිලිව සඳහන් වන අනතුරු ඇඟවීමක් ඇත. RT-X අත්හදා බැලීම් සඳහා, කතුවරුන් එක් එක් මූලාශ්‍රය 7-DoF end-effector ක්‍රියාවක් බවට පරිවර්තනය කරයි, නමුත් දත්ත කට්ටල හරහා ඛණ්ඩාංක රාමු පෙළගස්වන්නේ නැත, සහ එක් එක් රොබෝවරයාගේ මුල් පාලන ක්‍රමයට අනුව, ක්‍රියා අගයන් නිරපේක්ෂ හෝ සාපේක්ෂ පිහිටීම් හෝ ප්‍රවේග වීමට ඉඩ සලසයි. ඔවුන්ගේ නිගමනය: එකම ක්‍රියා දෛශිකය විවිධ රොබෝවරුන් සඳහා ඉතා වෙනස් චලනයන් ඇති කළ හැකිය.

AY-Robots දත්ත කට්ටල නාමාවලිය, කථාංග ගණන සහ කාර්ය විස්තර සහිත පොදු LeRobot දත්ත කට්ටල ලැයිස්තුගත කරයි.
පොදු දත්ත කට්ටල නාමාවලිය /directory හි: දැනටමත් LeRobot ආකෘතියෙන් ඇති, සහාය දක්වන අතකට ගැලපෙන දත්ත කට්ටල.

කොටස් හතරකින් යුත් නොගැලපීම

ශරීරගත නොගැලපීම සාමාන්‍යයෙන් එක් අපැහැදිලි ගැටලුවක් ලෙස සලකනු ලැබේ. ඒවා හතරකි, ඒවා විවිධ ආකාරයෙන් අසාර්ථක වන අතර, දෙකක් ස්ක්‍රිප්ටින් මගින් නිවැරදි කළ නොහැක.

1. නිදහස් අංශක

SO-100 එකකට අත් සන්ධි පහක් සහ ග්‍රිපරයක් ඇත. මෝටර ලෙස ගණන් බැලීමේදී එය 6-DoF අතක් වන අතර, SmolVLA පත්‍රිකාව එය එසේ හඳුන්වයි; ස්ථානගත කිරීමේ යාන්ත්‍රණයක් ලෙස ගණන් බැලීමේදී එය 5-DoF වන අතර, LeRobot එහි ප්‍රතිලෝම චාලක විද්‍යා docstring හි එය එසේ හඳුන්වයි, එහිදී මැණික් කටුව අර්ධ වශයෙන් පමණක් දිශානතිය නිරීක්ෂණය කරන 5-DOF SO-101 මත මෘදු-දිශානති IK විස්තර කරයි. ෆ්‍රැන්කා එකකට ස්ථානගත කිරීමේ සන්ධි හතක් ඇත. එම පරතරය පවතින ඉරියව් මොනවාදැයි තීරණය කරයි: 5-DoF අතකට සාමාන්‍යයෙන් එකවර අත්තනෝමතික ස්ථානයකට සහ දිශානතියකට ළඟා විය නොහැක, එබැවින් විසඳුම්කරුට ළඟා විය හැකි ආසන්නතම දේ ආපසු ලබා දෙයි, එය නිරූපණය කළ චලනයට වඩා වෙනස් චලනයකි. පසුබිම: නිදහස් අංශක.

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
වම: LeRobot හි SO අනුගාමිකයා, src/lerobot/robots/so_follower/so_follower.py වෙතින්. දකුණ: openpi හි DROID ප්‍රතිපත්ති ආදානය. හය අටට එරෙහිව.

එබැවින් සූදානම් කළ DROID චෙක්පොයින්ට් එකක් කෙටි මාර්ගයක් නොවේ. Physical Intelligence විසින් pi05_droid gs://openpi-assets/checkpoints/pi05_droid හිදී නිකුත් කරන අතර, එහි විස්තීර්ණත්වය අගය කරන එම README මඟින් මෙම විශේෂඥ චෙක්පොයින්ට් ඔබේ සැකසුමට සාමාන්‍යකරණය නොවිය හැකි බවට අනතුරු අඟවයි. එහි තත්ත්වය ෆ්‍රැන්කා සන්ධි අංක අටක් වන අතර එහි රූප යතුරු exterior_image_1_left සහ wrist_image_left වේ. කිසිදු ධජයක් එය හය-මෝටර් SO-100 විධානයක් බවට පත් නොකරයි.

2. ක්‍රියාකාරී දෛශිකය ඇත්ත වශයෙන්ම පවසන්නේ කුමක්ද

මානවලට වඩා ගැඹුරින්. LeRobot පරිවර්තන වලදී තුනම පවසන්නේ ග්‍රිපරය කාටීසියානු අවකාශයේ කොතැනට යා යුතුද යන්නයි. SO-100 එකක් පවසන්නේ සර්වෝ හයක් කොතැනට යා යුතුද යන්නයි. පරිවර්තනය කිරීමට චාලක ආකෘතියක් සහ විසඳුමක් අවශ්‍ය වන අතර, නැවත හැඩගැන්වීමක් නොවේ.

ගුණාංගයLeRobot ආකෘතියේ OXE, DROID සහ BridgeLeRobot හි SO-100
ක්‍රියාකාරී දෛශිකය7-D: x, y, z, roll, pitch, yaw, gripper6-D: එක් මෝටරයකට එක් ඉලක්ක ස්ථානයක්
තත්ත්ව දෛශිකය8-D, පෑඩ් ස්ලොට් එකක් සමඟ (google_robot ක්වාටර්නියන් එකක් භාවිතා කරයි)6-D, එක් මෝටරයකට එකක්
රාමුවකාටීසියානු, දත්ත කට්ටල හරහා නොගැලපෙනසන්ධි අවකාශය, එක් අතකට ක්‍රමාංකනය
නිරපේක්ෂ හෝ සාපේක්ෂඕනෑම එකක්, මූලාශ්‍ර රසායනාගාරය විසින් තීරණය කරනු ලැබේනිරපේක්ෂ ඉලක්ක ස්ථාන
ඒකකදත්ත කට්ටලයකට සාමාන්‍යකරණය කර, පසුව විවික්ත කර ඇතපෙරනිමියෙන් අංශක (use_degrees=True), එසේ නොමැතිනම් -100 සිට 100 දක්වා
නිහඬ අසාර්ථකත්වයනිරපේක්ෂයක් ලෙස කියවන ඩෙල්ටාවක්ක්‍රමාංකනය නොකළ අතක්
7-D කාටීසියානු දෛශිකය පරිවර්තකයේ සම්මුතිය මිස DROID ගේ නොවේ

openx2lerobot README මඟින් එය පරිවර්තනය කරන සෑම දත්ත කට්ටලයක් සඳහාම ඒකාබද්ධ 8-මාන තත්වයක් සහ 7-මාන ක්‍රියාවක් ලේඛනගත කරයි, pad slot එක පැමිණෙන්නේ එතැනිනි. DROID ගේම RLDS schema එක වෙනස් වේ: එහි ඉහළම මට්ටමේ action යනු සන්ධි ප්‍රවේග 6ක් සහ ග්‍රිපර් පිහිටීම 1ක් සහිත 7-දෛශිකයකි, action_dict යටතේ cartesian_position, cartesian_velocity, joint_position සහ joint_velocity ඇත. openpi සන්ධි-අවකාශ දර්ශනය කියවන අතර, LeRobot build එක ඔබට කාටීසියානු දර්ශනය ලබා දෙයි. මේ දෙකම නිරපේක්ෂ සර්වෝ කෝණ හයක් නොවේ.

LeRobot අතුරුදහන් වූ කොටස සපයයි: SO follower සතුව InverseKinematicsEEToJoints සහ ForwardKinematicsJointsToEE පියවර සහිත චාලක විද්‍යා ප්‍රොසෙසරයක් ඇත. එහි යතුරු ee.x, ee.y, ee.z සහ භ්‍රමණ දෛශිකයක් වන ee.wx, ee.wy, ee.wz සහ ee.gripper_pos වේ, එබැවින් දිශානති කේතීකරණය පවා ගොනු වල ඇති roll-pitch-yaw වලින් වෙනස් වේ. IK පියවර orientation_weight එකක් ගනී, පෙරනිමිය 0.01 වේ, එහි docstring පවසන්නේ under-actuated arms මත පිහිටීම-පමණක් IK සඳහා 0.0 ලෙස සැකසීමටය. ඔබට පාලම ගොඩනැගිය හැක, නමුත් සෑම ණයට ගත් ක්‍රියාවකම දිශානති අර්ධය ආසන්න වශයෙන් පවතී.

3. පාලන අනුපාතය

DROID 15 Hz වේ, BridgeData V2 5 Hz වේ, google_robot slice එක 3 fps වේ; pi0 හි කතුවරුන් ඔවුන්ගේ මිශ්‍රණයේ විවෘත මූලාශ්‍ර කොටස 2 සහ 10 Hz අතර අඩු-සංඛ්‍යාත පාලනයක් ලෙස විස්තර කරයි. LeRobot හි DatasetRecordConfig පෙරනිමියෙන් fps 30, episode_time_s 60, reset_time_s 60, num_episodes 50 වේ. 5 Hz දත්ත මත පුහුණු කරන ලද එක් ක්‍රියාවක් 200 ms ආවරණය කරන බව ඉගෙන ගත්තේය. එය 30 Hz දී නැවත ධාවනය කළහොත් අත බඩගා යයි; අහිංසක ලෙස නැවත නියැදි කළහොත් ග්‍රිපරය වැසෙන රාමුව බොඳ වේ. එය සමඟද නරක ලෙස අන්තර්ක්‍රියා කරයි: 100-පියවර ඛණ්ඩයක් 5 Hz දී තත්පර 20 ක් වන අතර, 30 Hz දී 3.3 කි.

4. කැමරා

BridgeData V2 සෑම ගමන් පථ 50කට වරක් කැමරා ඉරියව් දෙකක් අහඹු ලෙස තෝරා ගත් අතර, එහි ව්‍යාපෘති පිටුවේ සඳහන් වන්නේ දත්තවලින් වැඩි ප්‍රමාණයක් ස්ථාවර දසුන පමණක් රැගෙන යන බවයි. DROID විසින් සකස් කළ හැකි ZED 2 සවිකිරීම් සහ මැණික් කටුවෙහි ZED Mini එකක් භාවිතා කරන ලදී. ඔබට ඇසින් ස්ථානගත කරන ලද USB වෙබ් කැමරා දෙකක් තිබේ. කැමරා ඉරියව්ව කරදරකාරී විචල්‍යයක් නොවේ ; එය දෘශ්‍ය කේතකය අවධානය යොමු කළ බොහෝ දේ වන අතර, ගොනු ආකෘතියේ කිසිවක් ඉරියව් වෙනස් බව ඔබට නොකියයි.

දවසක් කන උගුල

ක්‍රියාත්මක වීමට තරම් කොටස් හොඳින් ගැලපේ. දත්ත කට්ටලය පූරණය වේ, පුහුණුව ආරම්භ වේ, අලාභය අඩු වේ, චෙක්පොයින්ට් දිස්වේ, කිසිදු දෝෂයක් නොමැත. එවිට ප්‍රතිපත්තිය අත මත හඳුනාගත හැකි කිසිවක් නොකරන අතර ඔබ ඔබේ පුහුණු ස්ක්‍රිප්ට් එකේ දෝෂයක් සොයමින් දවසක් ගත කරයි. දෝෂයක් නොමැත: ආකෘතිය ඔබේ කාමරයේ නොමැති රොබෝවරයෙකු සඳහා කාටීසියානු ක්‍රියාකාරී ව්‍යාප්තියක් ඉගෙන ගෙන ඇත. ඔබේ අධි-පරාමිතීන්ගෙන් නොව, අලාභය අඩු වේ, ප්‍රතිපත්තිය කිසිවක් නොකරයි යන ස්ථානයෙන් ආරම්භ කරන්න.

ඔබ කෙසේ හෝ දත්ත ඒකාබද්ධ කිරීමට උත්සාහ කරන විට කුමක් සිදුවේද

පැහැදිලි සැලැස්ම වන්නේ DROID කථාංග දහස් ගණනක් සහ ඔබේ 50 එකට එකතු කිරීමයි. LeRobot එය ප්‍රතික්ෂේප කරන අතර, එම ප්‍රතික්ෂේප කිරීම වෙනස් වන කරුණු තුන නම් කරයි.

  1. 1
    සම්පූර්ණ 1.7 TB වෙනුවට කථාංග 100ක සාම්පලය ලබා ගන්න

    ව්‍යුහය දැකීමට 2 GB ප්‍රමාණවත් වේ.

    bash
    pip install gsutil tensorflow tensorflow-datasets
    gsutil -m cp -r gs://gresearch/robotics/droid_100 ~/tensorflow_datasets/
  2. 2
    RLDS, LeRobot ආකෘතියට පරිවර්තනය කරන්න

    openx2lerobot මඟින් OXE සම්මත පරිවර්තන ආවරණය කරන අතර රොබෝ වර්ගය සහ පාලන සංඛ්‍යාතය සටහන් කරයි. README ගොනුවේ මෙය 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
    වෙනත් ඕනෑම දෙයකට පෙර meta/info.json කියවන්න

    ඔබේ දවසේ ඉතිරි වැඩ කටයුතු සාර්ථක වේද යන්න මෙම ගොනුව තීරණය කරයි.

    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
    ඒකාබද්ධ කිරීම උත්සාහ කර දෝෂය කියවන්න

    merge මඟින් සෑම දත්ත කට්ටලයක්ම පූරණය කරන අතර, පසුව validate_all_metadata මඟින් fps, robot_type සහ features ලැයිස්තුවේ ඇති පළමු එකට එරෙහිව පරීක්ෂා කරයි, පළමු නොගැලපීම මත දෝෂයක් ඇති කරයි.

    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.

යොමු අගයන් පැමිණෙන්නේ ඔබ මුලින්ම ලැයිස්තුගත කළ දත්ත කට්ටලයෙන් වන අතර, පණිවිඩය DROID හි 15 වෙනුවට ඔබේ 30 fps ගැන පැමිණිලි කරන්නේ එබැවිනි. fps නිවැරදි කළ විට ඔබට robot_type පරීක්ෂාවට මුහුණ දීමට සිදුවේ; එය නිවැරදි කළ විට ඔබට action සඳහා 6ට එරෙහිව 7ක් වන feature පරීක්ෂාවට මුහුණ දීමට සිදුවේ. කිසිදු අනුපිළිවෙලක් හරහා නොයන අතර, sanity_check_dataset_robot_compatibility හරහා වාර්තා කරන අවස්ථාවේදීද එම ආරක්ෂක පරීක්ෂාව ක්‍රියාත්මක වේ.

පරීක්ෂාව මඟ හැරීමට robot_type hardcode නොකරන්න

වර්තමාන LeRobot main හි so100_follower සහ so101_follower යන දෙකම එක් පොදු SOFollowerRobotConfig එකකට ලියාපදිංචි කර ඇත, එබැවින් සැබෑ පටිගත කිරීමකින් ලැබෙන string එක ඔබ අපේක්ෂා කරන එකම විය යුතු නැත. එය ඔබේම meta/info.json වෙතින් කියවන්න, සහ ඔබට අක්‍රිය කිරීමට සිදු වූ පරීක්ෂාවක් යමක් ඔබට පවසන පරීක්ෂාවක් ලෙස සලකන්න.

එසේනම් ඇත්ත වශයෙන්ම මාරු වන්නේ කුමක්ද?

බර, කථාංග නොවේ. සෑම නවීන සාමාන්‍ය ප්‍රතිපත්තියක්ම පූර්ව පුහුණුවේදී එයින් කොටසක් උකහා ගත් අතර, ඔබ සියුම්-සුසර කිරීම නිකුත් කරන ලද චෙක්පොයින්ට් වෙතින්, එය නිසි ලෙස සිදු කිරීමට අවශ්‍ය පරිගණක බලය ඇති පුද්ගලයන් විසින් දැනටමත් සමථයකට පත් කර ඇති දේ ඔබට උරුම වේ. pi0 ගේ පත්‍රිකාව අනුපාතය පිළිබඳව අවංක ය: එහි පූර්ව පුහුණු මිශ්‍රණයේ 9.1% ක්, කාල පියවර වලින් ගණනය කරනු ලබන්නේ, OXE, Bridge v2 සහ DROID ඇතුළු විවෘත මූලාශ්‍ර දත්ත ය. එම අගය pi0 ගේ ය; එක් එක් විකුණුම්කරුගේ මිශ්‍රණය වෙනස් වේ.

SO-100 ව්‍යාපෘතියක පොදු හරස්-ශරීර දත්ත
වාසි
  • දෘශ්‍ය සහ භාෂා පූර්ව දැනුම: එන්කෝඩරය මුළුතැන්ගෙයි සහ මග් දහස් ගණනක් දැක ඇති අතර "රතු කොටස" යන්නෙන් අදහස් කරන්නේ කුමක්දැයි දනී.
  • හැසිරවීමේ ව්‍යුහය පිළිබඳ පූර්ව දැනුමක්: ළඟා වීම, වැසීම, එසවීම, ප්‍රවාහනය, මුදා හැරීම, සංඛ්‍යා එසේ නොවුණත් ශරීර-ස්වාධීන.
  • පරීක්ෂා කිරීම සඳහා හොඳින් දන්නා දත්ත කට්ටලයක්. ඔබේ කාර්යයට DROID කථාංග 100 ක් අධි-ගැලපීමට නොහැකි නම්, ගැටලුව ඔබේ සැකසුමයි.
  • ආශ්‍රිත ලක්ෂ්‍ය: කුඩා පරිමාණ දත්ත කට්ටල වසම් වලදී RT-1-X මුල් ක්‍රමයට හෝ RT-1 ට වඩා 50% කින් වැඩි සාමාන්‍ය සාර්ථකත්ව අනුපාතයක් ලබා ගත් අතර, RT-2-X නැගී එන කුසලතා මත RT-2 3 ගුණයකින් පමණ පරාජය කළේය.
හුවමාරු
  • භාවිතා කළ හැකි ක්‍රියා අධීක්ෂණයක් නොමැත. 7-D කාටීසියානු ඉලක්කයක් 6-D සන්ධි විධානයක් නොවේ.
  • කැමරා-පිහිටීම මාරු කිරීමක් නොමැත, දත්තවල කිසිවක් පිහිටීම් වෙනස් බව ඔබට නොකියයි.
  • කාලය මාරු කිරීමක් නොමැත: 30 fps රෙකෝඩරයකට එරෙහිව 3, 5 සහ 15 fps ප්‍රභවයන්.
  • ග්‍රිපර් මාරු කිරීමක් නොමැත. Robotiq 2F-85 සහ STS3215 මත මුද්‍රිත හනුවක් බලය, පහර සහ ගතිකත්වය අනුව වෙනස් වේ.
  • පරිමාණය පමණක් එහි කතුවරුන්ට පවා ප්‍රමාණවත් නොවීය: විශාල දත්ත කට්ටල වසම් වලදී RT-1-X එම දත්ත කට්ටලය මත පමණක් පුහුණු කරන ලද RT-1 පරාජය කළේ නැත.
  • ඔබට අවශ්‍ය ඔබේම කථාංග ගණන අඩු කිරීමක් නොමැත.
ආකෘතියේ ස්ථරයමාරු වේද?ඇයි
දෘශ්‍ය එන්කෝඩරයඔව්, ප්‍රබලවවස්තූන් සහ දර්ශන ශරීර-ස්වාධීන වේ
භාෂා පදනම් කිරීමඔව්උපදෙස් යනු පෙළ මිස ජ්‍යාමිතිය නොවේ
හරස්-මාදිලි විලයනයබොහෝ දුරටවිමසුමේ නම් කර ඇති වස්තුව කෙරෙහි අවධානය යොමු කරයි
ප්‍රොප්‍රියෝසෙප්ෂන් එන්කෝඩරයනැතආදාන මානය සහ සන්ධි අර්ථ ශාස්ත්‍රය වෙනස් වේ
ක්‍රියා ශීර්ෂයනැතඔබ නොමැති 7-D කාටීසියානු අවකාශයක පුහුණු කර ඇත
සාමාන්‍යකරණ සංඛ්‍යාලේඛනනැත, සහ භයානකයිවිදේශීය සංඛ්‍යාලේඛන සෑම විධානයක්ම වෙනස් කරයි

මේ නිසා SmolVLA අඩු වියදම් අතක් මත වෙනස් ලෙස හැසිරෙන්නේ. එහි පත්‍රිකාව Hugging Face වෙතින් ප්‍රජා දත්ත කට්ටල 481ක් තෝරා ගනී, ඒවා ශරීර වර්ගය, කථාංග ගණන, දත්ත ගුණාත්මකභාවය සහ රාමු ආවරණය අනුව පෙරහන් කර ඇත: සැබෑ SO-100 සහ SO-101 අත් මත ඇගයීමට ලක් කරන ලද කථාංග 22.9K, රාමු 10.6M. කුඩා සහ ගැලපෙන දේ විශාල සහ නොගැලපෙන දේ පරදවයි. සසඳන්න ACT SmolVLA ට එරෙහිව.

ගත යුතු මාර්ග තුනක්

මාර්ගය A: දත්ත දැනටමත් අවශෝෂණය කර ඇති චෙක්පොයින්ට් එකකින් fine-tune කරන්න

බොහෝ දෙනා මෙය තෝරා ගත යුතුය. ඔබ කිසිවිටෙක DROID හෝ Open X-Embodiment ස්පර්ශ නොකරයි: cross-embodiment දත්ත දැනටමත් අවශෝෂණය කර ඇති ප්‍රතිපත්තියක් තෝරා ගන්න, ඔබේම කථාංග පටිගත කරන්න, fine-tune කරන්න.

ප්‍රතිපත්තියපරාමිතිඅවම කථාංගදත්ත කට්ටල ආකෘතියGPU ස්ථරයඅනුමානයමූලික පිරික්සුම් ලක්ෂ්‍යය
GR00T N1.7~3 B, ~40 M trained in fine-tuning50LeRobot v2.0 or v2.1A100 or H100 80 GB152 ms per stepnvidia/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 backbone50LeRobot 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 msnone, from scratch

ACT යනු අවංක දාර අවස්ථාවයි: මූලික ආකෘතියක් නොමැති බැවින්, කිසිදු පොදු දත්තයක් එයට ළඟා නොවේ. මෙය ස්වයංක්‍රීයව අවාසියක් නොවේ, මන්ද ක්‍රියාකාරී පියවරකට 20 ms බැගින් එය වේගවත් ලූපයක් වසා දැමිය හැකි ආකෘති පහෙන් එකම එක වන බැවිනි, ACT පිටුව එහි සඳහන් වේ. කාර්යය අනුව තෝරා ගන්න පහම සංසන්දනය කර ඇත, GR00T N1.7 Pi0.5 ට එරෙහිව, සහ ආකෘති 85 ක 332 ක මිණුම් සලකුණු ප්‍රතිඵල අරීනා.

මාර්ගය B: DROID පරීක්ෂණ සවිකිරීමක් ලෙස භාවිතා කරන්න

කථාංග 100 ක නියැදිය මෙම මාසයේ ඔබ බාගත කරන හොඳම 2 GB වන අතර එය පුහුණුව සඳහා නොවේ. එය නිවැරදි බව ඔබ දන්නා දත්ත කට්ටලයකි. ඔබේ පරිවර්තකය, ලෝඩරය සහ කෙටි GPU කාර්යයක් ඒ මත ධාවනය කරන්න; අසාර්ථක වන ඕනෑම දෙයක් ලාභදායීව තිබියදී සොයාගත් යටිතල පහසුකම් දෝෂයකි. NVIDIA විශාල පරිමාණයෙන් ද එයම කරයි: GR00T N1.7 කාඩ්පත SimplerEnv හි Bridge සහ Fractal, DROID සහ LIBERO සඳහා පුහුණුවෙන් පසු ප්‍රභේද හතරක් ලැයිස්තුගත කරයි.

මාර්ගය C: ඔබේම දත්ත හිතාමතාම පටිගත කරන්න

තිහේ සිට පනහ දක්වා 76,000ක් අසලදී කුඩා සංඛ්‍යාවක් ලෙස පෙනුනත්, ඔබේ අත, කැමරා සහ මේසය සමඟ ඇති එකම දත්ත ඔබේ බව මතක තබා ගන්න. LeRobot හි පෙරනිමි සැකසුම් අනුව, කථාංග 50ක් යනු සැබෑ කාලයෙන් මිනිත්තු 100කි. බලන්න , සහ .

දුරස්ථ මෙහෙයුම් සැසියකින් LeRobot දත්ත කට්ටලයක් ග්‍රහණය කර ගැනීමට පියවර පෙන්වන AY-Robots වාර්තා කිරීමේ නිබන්ධන පිටුව
වාර්තා කිරීමේ මාර්ගෝපදේශය /learn/record-your-first-dataset: පොදු දත්ත මගින් ප්‍රතිස්ථාපනය කළ නොහැකි පියවර.

පොදු දත්ත වලින් ක්‍රියාකාරී ප්‍රතිපත්තියක් වෙත ළඟා වීමට ක්‍රම දෙකක්

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.

The AY-Robots desktop client download page, the client that records LeRobot-format datasets from a teleoperation session
The desktop client at /download writes LeRobot datasets directly from a teleop session, sidestepping RLDS conversion.

එක් එක් මාර්ගය සඳහා වැයවන පිරිවැය

මාර්ගයගබඩා ඉඩමානව කාලයGPU පිරිවැයඑය ඔබේ අත චලනය කිරීමේ අවස්ථාව
තනිවම පරිවර්තනය කරන ලද DROID392 GBපරිවර්තන දින4 to 12 USDඉතා අඩුයි, වැරදි ක්‍රියා අවකාශය
ඔබේ කථාංග සමඟ ඒකාබද්ධ කළ DROIDbothblocked by validate_all_metadatan/aකිසිවක් නැත, එය ක්‍රියාත්මක නොවේ
SmolVLA, 30 සිට 50 දක්වා ඔබේම කථාංගa few GBවිනාඩි 100ක පටිගත කිරීම1 to 3 USDඉහළ
GR00T N1.7, ඔබේම කථාංග 50a few GBවිනාඩි 100ක පටිගත කිරීම4 to 12 USDඉහළ
මුල සිට ACT, ඔබේම කථාංග 50a few GBවිනාඩි 100ක පටිගත කිරීම1 to 3 USDඉහළ, 20 ms අනුමානය
පරීක්ෂණ සවිකිරීමක් ලෙස DROID සාම්පලය2 GBදවසක් දහවල්one short runඉහළ, වලංගුකරණයක් ලෙස

The asymmetry is the point: the path that borrows the most data is the most expensive and least likely to move your arm. Under two hours of your own teleoperation beats a terabyte of somebody else's Franka. No arm yet? /live streams a physical SO-100 with no signup. Then train your first policy, and SmolVLA on SO-100 for the specific guide.

සාධාරණ පෙරනිමි සැලැස්මක්

2 GB DROID සාම්පලය බාගත කර ඔබේ පයිප්ලයින් එක ඔප්පු කිරීමට එය භාවිතා කරන්න. අනෙක් 1.7 TB නොසලකා හරින්න. ස්ථාවර කැමරා සමඟ එක් කාර්යයක කථාංග 50ක් පටිගත කරන්න. SmolVLA මුලින්ම සියුම්ව සකසන්න, මන්ද 24 GB කාඩ්පතක අවම කථාංග 30ක් සමඟ එය පුනරාවර්තනය කිරීමට ලාභම වන බැවිනි, ඉන්පසු එම දත්ත මත GR00T N1.7 උත්සාහ කරන්න. ඔබේ කාර්යය මත සසඳන්න, බෙන්ච්මාර්ක් එකක් මත නොව.

ඔබේ අතට දැනටමත් ගැලපෙන දත්ත කට්ටල පටිගත කරන්න

ඩෙස්ක්ටොප් සේවාදායකය ටෙලිඔප් සැසියකින් කෙලින්ම LeRobot-ආකෘති දත්ත කට්ටල ලියයි: නිවැරදි අත, නිවැරදි රාමු අනුපාතය, නිවැරදි ක්‍රියා අවකාශය. RLDS පරිවර්තනයක් නැත, නැවත සිතියම්ගත කිරීමක් නැත.

ඩෙස්ක්ටොප් සේවාදායකය ලබා ගන්න
මට DROID මත ප්‍රතිපත්තියක් පුහුණු කර එය මගේ SO-100 මත ධාවනය කළ හැකිද?

සෘජුවම නොවේ. LeRobot ගොඩනැගීමේදී DROID ක්‍රියා Franka Panda මත 15 fps වේගයකින් 7-D end-effector විධාන වේ; අමු RLDS හි ඒවා 6 සන්ධි ප්‍රවේග සහ ග්‍රිපර් පිහිටීමකි. SO-100 එකක් නිරපේක්ෂ සන්ධි ස්ථාන 6ක් ගනී. ඔබට ප්‍රතිලෝම-චාලක ස්ථරයක් අවශ්‍ය වනු ඇත, එවිට පවා 5-DoF මැණික් කටුවකට අත්තනෝමතික 6-DoF ඉරියව් ප්‍රතිනිෂ්පාදනය කළ නොහැක.

මට DROID හෝ Bridge කථාංග මගේම SO-100 කථාංග සමඟ මිශ්‍ර කළ හැකිද?

නැත. validate_all_metadata සඳහා සමාන fps, robot_type සහ feature schema අවශ්‍ය වන අතර පළමු නොගැලපීම මත ValueError එකක් මතු කරයි. තුනම වෙනස් වේ: 30 ට එරෙහිව 15 හෝ 5 fps, ඔබේ අතට එරෙහිව franka හෝ widowx, 6 ට එරෙහිව 7 ක්‍රියා හැඩතල. පරීක්ෂණය සමත් වීමට metadata නැවත ලිවීම අර්ථ ශාස්ත්‍රය නිවැරදි නොකරයි.

එවිට අඩු වියදම් අතක් සඳහා Open X-Embodiment නිෂ්ඵලද?

නැත, නමුත් එහි වටිනාකම ඔබට ලැබෙන්නේ පුහුණු කළ බර (pretrained weights) හරහා මිස කථාංග (episodes) හරහා නොවේ. OXE, Bridge v2 සහ DROID ඇතුළු විවෘත මූලාශ්‍ර දත්ත කට්ටල pi0 හි පූර්ව පුහුණු මිශ්‍රණයේ 9.1% කි, සහ NVIDIA විසින් Bridge, Fractal, DROID සහ LIBERO මත පශ්චාත්-පුහුණු කරන ලද GR00T N1.7 ප්‍රභේද නැව්ගත කරයි. ඔබට කළ නොහැකි දෙය නම් එම කථාංග ඔබේම පටිගත කිරීමට එකතු කිරීමයි.

පොදු හරස්-ශරීර දත්ත වලින් වැඩිපුරම ප්‍රතිලාභ ලබන්නේ කුමන ප්‍රතිපත්තියද?

Pi0.5 සහ GR00T මාදිලි වැඩිම හරස්-ශරීර පූර්ව පුහුණුවක් දරයි, නමුත් SmolVLA බොහෝ විට අඩු වියදම් අතක් මත හොඳින් ක්‍රියා කරයි: එහි පූර්ව පුහුණු කට්ටලය ප්‍රජා දත්ත කට්ටල 481 ක්, කථාංග 22.9K ක් සහ රාමු 10.6M ක් වන අතර, සැබෑ SO-100 සහ SO-101 අත් මත ඇගයීමට ලක් කර ඇත. ACT යනු ප්‍රතිවිරුද්ධයයි: මූලික ආකෘතියක් නැත, ක්‍රියා පියවරකට 20 ms.

මට ඇත්තටම මගේම කථාංග කීයක් අවශ්‍යද?

SmolVLA සඳහා 30, GR00T N1.7, GR00T N1.5, Pi0.5 සහ ACT සඳහා 50. LeRobot හි පෙරනිමි අනුව, එක් කථාංගයකට 60 s සහ 60 s යළි පිහිටුවීමක් සමඟ, කථාංග 50 ක් යනු සැබෑ කාලය මිනිත්තු 100 කි. ණයට ගත් හරස්-ශරීර දත්ත එම සංඛ්‍යා අඩු නොකරයි.

Sources

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started