በSO-100 ደረጃ ክንዶች ላይ የተቀረጹ የLeRobot ዳታ ስብስቦችን የሚያሳይ የAY-Robots የህዝብ ዳታ ስብስብ ማውጫ
የዳታ ስብስቦችOpen X-EmbodimentDROIDSO-100LeRobot

DROID፣ BridgeData V2 እና Open Xን በSO-100 ላይ መጠቀም

AY-Robots ResearchAugust 23, 202618 ደቂቃ ንባብ

DROID፣ BridgeData V2 እና Open X-Embodiment በ6 እና 7-DoF ክንዶች ላይ ወደ 7-D end-effector ድርጊቶች ይቀየራሉ። አንድ SO-100 6 የመገጣጠሚያ ቦታዎችን ይወስዳል። ምን ይተላለፋል፣ ምን አይተላለፍም፣ በምትኩ ምን ማድረግ እንዳለበት።

አጭር እትም

  • የሶስቱም የLeRobot ግንባታዎች አንድ አይነት ስምምነት ይጋራሉ፡ 7-D end-effector action [x, y, z, roll, pitch, yaw, gripper] እና 8-D state ከፓድ ማስገቢያ ጋር። አንድ SO-100 ስድስት ፍፁም የጋራ ቦታዎችን ይወስዳል።
  • ያ 7-D ቬክተር የኮንቨርተሩ ውጤት ነው፡ የDROID የራሱ RLDS action field 6 የጋራ ፍጥነቶች እና የ gripper አቀማመጥ ሲሆን፣ የካርቴዥያን እይታ በ action_dict ውስጥ ይገኛል።
  • አራት ሰዓቶች፡ DROID 15 fps፣ BridgeData V2 5 fps፣ የ google_robot slice 3 fps፣ አንድ SO-100 በ 30 fps እየቀረጸ።
  • ከራስዎ ዳታ ጋር ማዋሃድ አይችሉም። validate_all_metadata በ fps፣ robot_type ወይም features ውስጥ ልዩነት ሲያገኝ ስህተት ያሳያል፣ እና ሦስቱም ይለያያሉ።
  • የሚተላለፈው ቅድመ-ስልጠና የተደረገባቸው ክብደቶች እንጂ ክፍሎች አይደሉም። ክፍት ምንጭ ዳታ ከ pi0 ቅድመ-ስልጠና ድብልቅ 9.1 በመቶ ነው።
  • በጣም ርካሹ ትክክለኛ አጠቃቀማቸው የሙከራ መሳሪያ ነው፡ ቅዳሜና እሁድ ከመቅረጽዎ በፊት የእርስዎን ፓይፕላይን የሚያረጋግጥ የታወቀ-ጥሩ 2 GB፣ 100-episode DROID ናሙና።

በGoogle Cloud bucket ላይ አንድ ሚሊዮን-ትራጀክተሪ የህዝብ ዳታ ስብስብ አለ እና SO-100 በጠረጴዛው ላይ በ110 እስከ 150 EUR ክፍሎች ያስወጣ SO-100 አለ። የመጀመሪያው ሁለተኛውን ማስተማር የማይችለው ለምንድን ነው? በከፊል ይችላል፣ ነገር ግን አብዛኛው ሽግግር ሰዎች በሚጠብቁት ቦታ አይከሰትም፣ እና በጣም ቀላል የሚመስለው ክፍል በጭራሽ አይሰራም።

የሚከተለው፡ በውስጥ ያለው ምንድን ነው DROIDBridgeData V2 እና Open X-Embodiment፣ እያንዳንዳቸው ከዝቅተኛ ወጪ 5-DoF ክንድ ጋር የሚጋጩበት፣ እና በምትኩ ምን ማድረግ እንዳለብን። ከታች ያለው እያንዳንዱ ቁጥር የመጣው ከወረቀቱ፣ ከዳታ ስብስብ ካርዱ ወይም ከሚመለከተው ምንጭ ፋይል ነው።

ሦስቱ የዳታ ስብስቦች በትክክል የያዙት ነገር

DROIDBridgeData V2Open X-Embodiment
ሮቦትFranka Panda, 7 DoF, Robotiq 2F-85WidowX 250, 6 DoF, ~4,000 USD rig22 አካላት, 60 የውሂብ ስብስቦች, 34 ላቦራቶሪዎች
መጠን76ሺህ ትራጀክተሪዎች, 350 ሰዓታት60,096 ትራጀክተሪዎች1M+ ትራጀክተሪዎች, 527 ክህሎቶች
ብዝሃነት564 ትዕይንቶች, 84 ተግባራት, 50 ሰብሳቢዎች24 አካባቢዎች, 13 ክህሎቶች160,266 ተግባራት, 21 ተቋማት
ቅንብርሁሉም በቴሌኦፕሬትድ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 ጥሬ ስቴሪዮJPEG ማህደሮችበእያንዳንዱ የውሂብ ስብስብ TFDS ባልዲዎች
የመግቢያ ነጥቡ የ LeRobot ልወጣ ነው፣ ዋናው ባልዲ አይደለም

ጥቂት ሰዎች አሁንም 1.7 TB የ RLDS TFRecords ያወርዳሉ። የማህበረሰብ ድርጅት IPEC-COMMUNITY አብዛኛውን የ Open X-Embodiment በ LeRobot dataset ቅርጸት በ AV1 ቪዲዮ፣ DROID 392 GB የሚይዝበት። የምትሰሩበት ስሪት ይህ ነው፣ እና የእሱ meta/info.json መጀመሪያ ማንበብ ያለብዎት ነው።

DROID

ከሶስቱ በጣም ደረጃውን የጠበቀ። በሁሉም ቦታ አንድ ሪግ: Franka Panda ከ Robotiq 2F-85 ግሪፐር ጋር፣ ሁለት የሚስተካከሉ ZED 2 ስቴሪዮ ካሜራዎች እና የእጅ አንጓ ZED Mini፣ በ Meta Quest 2 መቆጣጠሪያዎች በቴሌኦፕሬትድ የሚሰራ፣ በ Polymetis በ 15 Hz በሁለቱም የመገጣጠሚያ እና መጨረሻ-ተፅዕኖ ፈጣሪ ቦታ። የቋንቋ መለያዎች በኋላ በ tasq.ai በኩል መጡ፣ በእያንዳንዱ ክፍል እስከ ሶስት።

  • 76ሺህ ትራጀክተሪዎች፣ 350 ሰዓታት፣ 564 ትዕይንቶች፣ 84 ተግባራት፣ በሶስት አህጉራት ላይ 50 ሰብሳቢዎች።
  • ዋናው ውጤት የጋራ ስልጠና እንጂ ብቸኛ ስልጠና አይደለም፡ 50/50 ከውስጥ-ጎራ ማሳያዎች ጋር የተቀላቀሉ ባችዎች በሚሰራጭበት ጊዜ ቀጣዩን ምርጥ ዘዴ በ22 በመቶ ፍጹም ስኬት፣ ከሱ ውጪ ደግሞ በ17 በመቶ አሸንፈዋል።
  • IPEC-COMMUNITY/droid_lerobot: 92,233 ክፍሎች፣ 27,044,326 ፍሬሞች፣ ፍራንካ፣ 15 fps፣ codebase_version v2.0፣ ሶስት AV1 ዥረቶች በ180x320፣ 392 ጂቢ።
  • 2 ጂቢ፣ 100-ክፍል ማረሚያ ናሙና በ gs://gresearch/robotics/droid_100 ላይ ይገኛል። ከዚያ ይጀምሩ።

ብሪጅዳታ V2

ለሆቢ ማዋቀር በጣም ቅርብ የሆነው፡ WidowX 250 6-DoF ክንድ፣ 60,096 ትራጀክተሪዎች በ24 አካባቢዎች እና 13 ክህሎቶች በ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 ያንብቡ እንጂ አንዱንም አይጥቀሱ።

ክፍት ኤክስ-ኢምቦዲመንት

በተመሳሳይ መልኩ የውሂብ ስብስብ አይደለም፡ ከ34 ላብራቶሪዎች የተገኙ 60 ነባር የሮቦት የውሂብ ስብስቦች በአንድ የRLDS ስብስብ ውስጥ ተሰብስበው 22 አካላትን እና ከአንድ ሚሊዮን በላይ የትራጀክተሪዎችን ይሸፍናል። BridgeData V2 በውስጡ እንደ bridge_orig ይገኛል፤ የ google_robot ክፍል፣ fractal20220817_data፣ በ3 fps ወደ 87,212 ክፍሎች ይቀየራል።

ይህ አሰባሰብ ወረቀቱ በግልጽ የሚገልጸውን ማስጠንቀቂያ ይዟል። ለRT-X ሙከራዎች ደራሲዎቹ እያንዳንዱን ምንጭ ወደ 7-DoF የመጨረሻ-አክተር እርምጃ ይለውጣሉ፣ ነገር ግን የውሂብ ስብስቦች ላይ የማስተባበሪያ ፍሬሞችን አያስተካክሉም፣ እና የእርምጃ እሴቶች እንደ እያንዳንዱ ሮቦት የመጀመሪያ የቁጥጥር እቅድ ፍጹም ወይም አንጻራዊ አቀማመጥ ወይም ፍጥነት እንዲሆኑ ይፈቅዳሉ። የእነሱ መደምደሚያ፡ ተመሳሳይ የእርምጃ ቬክተር ለተለያዩ ሮቦቶች በጣም የተለያዩ እንቅስቃሴዎችን ሊያስከትል ይችላል።

ያልተጣጣመው ነገር፣ በአራት ክፍሎች

የአካላዊ መመሳሰል አለመጣጣም ብዙውን ጊዜ እንደ አንድ ግልጽ ያልሆነ ችግር ይቆጠራል። አራት ናቸው፣ በተለያየ መንገድ ይበላሻሉ፣ እና ሁለቱ በስክሪፕት ሊስተካከሉ አይችሉም።

1. የእንቅስቃሴ ነጻነት ደረጃዎች

አንድ SO-100 አምስት የእጅ መገጣጠሚያዎች እና አንድ ግሪፐር አለው። እንደ ሞተሮች ሲቆጠር 6-DoF ክንድ ነው፣ እና የSmolVLA ወረቀትም እንደዚያ ይጠራዋል። እንደ አቀማመጥ ዘዴ ሲቆጠር 5-DoF ነው፣ እና LeRobot በእሱ inverse-kinematics docstring ውስጥ እንደዚያ ይጠራዋል፣ ይህም የእጅ አንጓው አቅጣጫን በከፊል ብቻ በሚከታተልበት 5-DOF SO-101 ላይ ያለውን ለስላሳ-አቅጣጫ IK ይገልጻል። አንድ Franka ሰባት የአቀማመጥ መገጣጠሚያዎች አሉት። ይህ ክፍተት የትኞቹ አቀማመጦች እንዳሉ ይወስናል፡ 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 ስድስት ሰርቮዎች ወዴት መሄድ እንዳለባቸው ይናገራል። ለመቀየር የኪነማቲክ ሞዴል እና መፍቻ ያስፈልጋል እንጂ ቅርፅን መቀየር አይደለም።

ባሕርይOXE, DROID እና Bridge በ LeRobot ቅርፅSO-100 በ LeRobot
የድርጊት ቬክተር7-D: x, y, z, roll, pitch, yaw, gripper6-D: ለእያንዳንዱ ሞተር አንድ የግብ አቀማመጥ
የሁኔታ ቬክተር8-D, ከፓድ ማስገቢያ ጋር (google_robot ኳተርኒዮን ይጠቀማል)6-D, ለእያንዳንዱ ሞተር አንድ
ፍሬምካርቴዥያን, በመረጃ ስብስቦች ላይ ያልተስተካከለየመገጣጠሚያ ቦታ, ለእያንዳንዱ ክንድ ማስተካከያ
ፍፁም ወይም አንፃራዊሁለቱም, በመነሻ ላብራቶሪ የሚወሰንፍፁም የግብ አቀማመጦች
አሃዶችበእያንዳንዱ የመረጃ ስብስብ መሠረት የተስተካከለ, ከዚያም የተከፋፈለበነባሪ ዲግሪዎች (use_degrees=True), አለበለዚያ -100 እስከ 100
ጸጥ ያለ ውድቀትእንደ ፍፁም የተነበበ ዴልታያልተስተካከለ ክንድ
የ7-D Cartesian ቬክተር የመቀየሪያው ስምምነት ነው እንጂ የDROID አይደለም።

openx2lerobot README የሚቀይራቸውን እያንዳንዱን የውሂብ ስብስብ አንድ ወጥ የሆነ 8-dim ሁኔታ እና 7-dim ተግባር ይመዘግባል፣ የpad ማስገቢያ የመጣው ከዚያ ነው። የDROID የራሱ RLDS ስኪማ የተለየ ነው፡ ዋናው action 6 የጋራ ፍጥነቶች እና 1 የግሪፐር አቀማመጥ ያለው 7-ቬክተር ነው፣ ከcartesian_positioncartesian_velocityjoint_position እና joint_velocity ጋር በaction_dict ስር። openpi የጋራ-ቦታ እይታን ያነባል፣ የLeRobot ግንባታ የካርቴዥያንን ይሰጥዎታል። ሁለቱም ስድስት ፍጹም የሰርቮ አንግል አይደሉም።

LeRobot የጎደለውን ክፍል ይልካል፡ የSO follower InverseKinematicsEEToJoints እና ForwardKinematicsJointsToEE ደረጃዎች ያሉት የኪነማቲክስ ፕሮሰሰር አለው። ቁልፎቹ ee.x, ee.y, ee.z በተጨማሪም የሽክርክር ቬክተር ee.wx, ee.wy, ee.wz እና ee.gripper_pos ናቸው፣ ስለዚህ የአቅጣጫ ኢንኮዲንግ እንኳን በፋይሎቹ ውስጥ ካለው roll-pitch-yaw የተለየ ነው። የIK ደረጃ ነባሪው 0.01 የሆነ orientation_weight ይወስዳል፣ የዶክስትሪንግ 0.0 ለቦታ-ብቻ IK ከስር-ተንቀሳቃሽ ክንዶች ላይ እንዲቀመጥ ይናገራል። ድልድዩን መገንባት ይችላሉ፣ ነገር ግን የእያንዳንዱ የተበደረ ተግባር የአቅጣጫ ግማሽ ግምታዊ ሆኖ ይቆያል።

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 ተጠቅሟል። እርስዎ በዓይንዎ ያስቀመጧቸው ሁለት የዩኤስቢ ዌብካሞች አሉዎት። የካሜራ አቀማመጥ ለ የሚያስቸግር ተለዋዋጭ አይደለም፤ የእይታ ኢንኮደር በአብዛኛው የተመካው በእሱ ላይ ነው፣ እና በፋይል ቅርጸቱ ውስጥ አቀማመጦቹ የተለዩ መሆናቸውን የሚነግርዎት ምንም ነገር የለም።

አንድ ቀን የሚበላው ወጥመድ

ክፍሎቹ ለመስራት በበቂ ሁኔታ ይጣጣማሉ። የዳታ ስብስብ ይጫናል፣ ስልጠና ይጀምራል፣ ኪሳራው ይቀንሳል፣ ቼክፖይንቶች ይታያሉ፣ ምንም ስህተት አይፈጠርም። ከዚያም ፖሊሲው በእጁ ላይ የሚታወቅ ነገር አያደርግም እና ስልጠና ስክሪፕትዎ ውስጥ ስህተት ለማደን አንድ ቀን ያጠፋሉ። ስህተት የለም፡ ሞዴሉ ክፍልዎ ውስጥ የሌለ ሮቦት የካርቴዥያን የድርጊት ስርጭት ተምሯል። ከኪሳራው ሲቀንስ ፖሊሲው ምንም አያደርግም ይጀምሩ፣ ከሃይፐርፓራሜትሮችዎ አይደለም።

ዳታውን ለማዋሃድ ሲሞክሩ ምን ይከሰታል

ግልጽ የሆነው እቅድ ማጣመር ነው፡ ጥቂት ሺህ የDROID ክፍሎች እና የእርስዎ 50። LeRobot እምቢ ይላል፣ እና እምቢታው የሚለያዩትን ሶስት ነገሮች ይዘረዝራል።

  1. 1
    ሙሉውን 1.7 ቴባ ሳይሆን የ100 ክፍል ናሙናውን ያውርዱ

    አወቃቀሩን ለማየት 2 ጊባ በቂ ነው።

    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 ፍተሻ ያጋጥምዎታል፤ ያንን ሲያስተካክሉ የባህሪ ፍተሻ ያጋጥምዎታል፣ ለድርጊቱ 7 ከ 6 ጋር። ምንም አይነት ቅደም ተከተል አያልፍም፣ እና ተመሳሳይ ጥበቃ በምዝገባ ጊዜ በ sanity_check_dataset_robot_compatibility በኩል ይሰራል።

ፍተሻውን ለማለፍ robot_typeን በሃርድኮድ አያድርጉ

በአሁኑ LeRobot ዋና so100_follower እና so101_follower ሁለቱም በአንድ የጋራ SOFollowerRobotConfig ላይ ተመዝግበዋል፣ ስለዚህ ከእውነተኛ ቀረጻ የመጣው ሕብረቁምፊ እርስዎ የሚጠብቁት ላይሆን ይችላል። ከራስዎ meta/info.json ያንብቡት፣ እና ማሰናከል የነበረብዎትን ፍተሻ የሆነ ነገር እየነገረዎት እንደነበረ አድርገው ይቁጠሩት።

ታዲያ በትክክል የሚተላለፈው ምንድን ነው?

ክብደቶች እንጂ ክፍሎች አይደሉም። እያንዳንዱ ዘመናዊ አጠቃላይ ፖሊሲ በቅድመ-ስልጠናው ወቅት የተወሰነውን ክፍል ወስዷል፣ እና እርስዎ ጥሩ-ማስተካከያ ያደርጉ ከተለቀቀ የፍተሻ ነጥብ ሲያደርጉት በትክክል ለማከናወን የሚያስችል ስሌት ባላቸው ሰዎች አስቀድሞ የተስተካከለውን ይወርሳሉ። የ pi0 ወረቀት ስለ መጠኑ ግልጽ ነው፡ 9.1 በመቶ የሚሆነው የቅድመ-ስልጠና ድብልቅ፣ በጊዜ ደረጃዎች የተቆጠረ፣ OXE፣ Bridge v2 እና DROIDን ጨምሮ ክፍት ምንጭ ዳታ ነው። ያ አሃዝ የ pi0 ነው፤ የእያንዳንዱ አቅራቢ ድብልቅ ይለያያል።

በ SO-100 ፕሮጀክት ላይ ያለ የህዝብ የሰውነት-አቋራጭ ዳታ
ጥቅሞች
  • የእይታ እና የቋንቋ ቅድመ-እውቀቶች፡ ኢንኮደሩ በሺዎች የሚቆጠሩ ኩሽናዎችን እና ኩባያዎችን አይቷል እና "ቀይ ብሎክ" የሚያመለክተውን ያውቃል።
  • በማኒፑሌሽን መዋቅር ላይ ያለ ቅድመ-እውቀት፡ መቅረብ፣ መዝጋት፣ ማንሳት፣ ማጓጓዝ፣ መልቀቅ፣ ቁጥሮቹ ባይሆኑም እንኳ ከሰውነት ነጻ የሆነ።
  • ለመፈተሽ የታወቀ ጥሩ የዳታ ስብስብ። ስራዎ 100 DROID ክፍሎችን ከመጠን በላይ ማስተካከል ካልቻለ፣ ችግሩ የእርስዎ ዝግጅት ነው።
  • የማጣቀሻ ነጥቦች፡ በትናንሽ የዳታ ስብስብ ጎራዎች ውስጥ RT-1-X ከመጀመሪያው ዘዴ ወይም RT-1 በ 50 በመቶ ከፍ ያለ አማካይ የስኬት መጠን ላይ ደርሷል፣ እና RT-2-X ደግሞ RT-2ን በአዳዲስ ክህሎቶች ላይ በግምት 3 እጥፍ አሸንፏል።
የሚደረጉ መስዋዕትነቶች
  • የሚሰራ የድርጊት ቁጥጥር የለም። ባለ 7-ልኬት ካርቴዥያን ኢላማ ባለ 6-ልኬት የመገጣጠሚያ ትዕዛዝ አይደለም።
  • የካሜራ አቀማመጥ ዝውውር የለም፣ እና በዳታው ውስጥ አቀማመጦቹ እንደሚለያዩ የሚነግርዎት ነገር የለም።
  • የጊዜ ዝውውር የለም፡ 3፣ 5 እና 15 fps ምንጮች ከ 30 fps መቅጃ ጋር።
  • የመያዣ ዝውውር የለም። Robotiq 2F-85 እና በ STS3215 ላይ የታተመ መንጋጋ በኃይል፣ በስትሮክ እና በዳይናሚክስ ይለያያሉ።
  • መጠን ብቻውን ለጸሐፊዎቹም በቂ አልነበረም፡ በትላልቅ የዳታ ስብስብ ጎራዎች ውስጥ RT-1-X በዚያ ዳታ ስብስብ ላይ ብቻ የሰለጠነውን RT-1 አላሸነፈም።
  • የሚያስፈልጉዎት የራስዎ ክፍሎች ብዛት ላይ ቅናሽ የለም።
የሞዴሉ ንብርብርይተላለፋል?ለምን
የእይታ ኢንኮደርአዎ፣ በጠንካራ ሁኔታነገሮች እና ትዕይንቶች ከሰውነት ነጻ ናቸው
የቋንቋ መሰረትአዎመመሪያዎች ጽሑፍ እንጂ ጂኦሜትሪ አይደሉም
የሞዳል-አቋራጭ ውህደትበአብዛኛውበጥያቄው ውስጥ ለተጠቀሰው ነገር ትኩረት ይሰጣል
የፕሮፕሪዮሴፕሽን ኢንኮደርአይየግብዓት ልኬት እና የመገጣጠሚያ ትርጉሞች ይለያያሉ
የድርጊት ራስአይእርስዎ በሌሉበት ባለ 7-ልኬት ካርቴዥያን ቦታ ላይ የሰለጠነ
የመደበኛነት ስታቲስቲክስአይ፣ እና አደገኛ ነውየውጭ ስታቲስቲክስ እያንዳንዱን ትዕዛዝ ያዛባል

ለዚህ ነው SmolVLA ዝቅተኛ ዋጋ ባለው ክንድ ላይ በተለየ መንገድ የሚሰራው። ጥናቱ ከHugging Face 481 የማህበረሰብ ዳታ ስብስቦችን ይመርጣል፣ በእምቦዲመንት አይነት፣ የክፍሎች ብዛት፣ የዳታ ጥራት እና የፍሬም ሽፋን ተጣርቶ: 22.9K ክፍሎች፣ 10.6M ፍሬሞች፣ በእውነተኛ SO-100 እና SO-101 ክንዶች ላይ ተገምግሟል። ትንሽ እና የተዛመደ ትልቅ እና ያልተዛመደውን ያሸንፋል። በ ACT against SmolVLA ያወዳድሩ።

መወሰድ ያለባቸው ሶስት መንገዶች

መንገድ ሀ: ዳታውን አስቀድሞ ከወሰደ ቼክፖይንት ማስተካከል

አብዛኛዎቹ ሰዎች ይህንን መውሰድ አለባቸው። DROID ወይም Open X-Embodimentን በጭራሽ አይነኩም: ቅድመ-ስልጠናው አስቀድሞ የክሮስ-እምቦዲመንት ዳታ የወሰደ ፖሊሲ ይምረጡ፣ የራስዎን ክፍሎች ይመዝግቡ፣ ያስተካክሉ።

ፖሊሲፓራሜትሮችዝቅተኛ ክፍሎችየዳታ ስብስብ ቅርጸትGPU ደረጃግምትመሰረታዊ ቼክፖይንት
GR00T N1.7~3 B, ~40 M በጥሩ ማስተካከያ የሰለጠነ50LeRobot 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 የጀርባ አጥንት50LeRobot 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 msየለም፣ ከመጀመሪያው

ACT ሐቀኛ የሆነ ልዩ ሁኔታ ነው፡ ምንም መሰረታዊ ሞዴል የለውም፣ ስለዚህ ምንም አይነት የህዝብ ዳታ አይደርሰውም። ይህ በራስ-ሰር ጉዳት አይደለም፣ ምክንያቱም በአንድ የድርጊት እርምጃ 20 ms ስለሚወስድ፣ ፈጣን ዑደትን መዝጋት ከሚችሉት አምስቱ ውስጥ ብቸኛው ነው፣ እንደ የACT ገጽ ያብራራል። ተግባርን በመጠቀም ይምረጡ አምስቱም ሲነጻጸሩ, GR00T N1.7 ከ Pi0.5 ጋር ሲነጻጸር, እና በ85 ሞዴሎች ላይ የተደረጉ 332 የቤንችማርክ ውጤቶች በ አሬናው.

መንገድ B: DROIDን እንደ የሙከራ መሳሪያ መጠቀም

የ100-ክፍል ናሙና በዚህ ወር ከሚያወርዷቸው ምርጥ 2 ጊባ ውስጥ አንዱ ነው፣ እና ለስልጠና አይደለም። ትክክል መሆኑን የሚያውቁት የዳታ ስብስብ ነው። የእርስዎን መቀየሪያ፣ ሎደር እና አጭር የGPU ስራ በእሱ ላይ ያሂዱ፤ የሚከሽፍ ማንኛውም ነገር ርካሽ በሆነበት ጊዜ የተገኘ የመሠረተ ልማት ስህተት ነው። NVIDIA በትልቅ ደረጃ ተመሳሳይ ነገር ያደርጋል፡ የGR00T N1.7 ካርድ አራት ከስልጠና በኋላ የተሰሩ ልዩነቶችን ይዘረዝራል፣ ለ Bridge እና Fractal በ SimplerEnv፣ DROID እና LIBERO።

መንገድ ሐ: የራስዎን ሆን ብለው ይመዝግቡ

ከሠላሳ እስከ ሃምሳ ክፍሎች ከ76,000 ጋር ሲነጻጸር ትንሽ ይመስላል፣ ነገር ግን የእርስዎ ክንድ፣ ካሜራዎችዎ እና ጠረጴዛዎ ያሉት የእርስዎ ብቻ መሆናቸውን እስኪያስታውሱ ድረስ። በLeRobot ነባሪዎች፣ 50 ክፍሎች 100 ደቂቃ የሰዓት ጊዜ ነው። ይመልከቱ የመጀመሪያውን የውሂብ ስብስብዎን ይመዝግቡSO-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.

እያንዳንዱ መንገድ ምን ያህል ያስከፍላል

መንገድማከማቻየሰው ጊዜየጂፒዩ ወጪእጅዎን የማንቀሳቀስ ዕድል
የተለወጠ DROID ብቻውን392 GBየመቀየር ቀናት4 to 12 USDበጣም ዝቅተኛ፣ የተሳሳተ የእንቅስቃሴ ቦታ
DROID ከእርስዎ ክፍሎች ጋር ተዋህዷልሁለቱምበ validate_all_metadata ታግዷልn/aምንም የለም፣ አይሰራም
SmolVLA፣ ከ30 እስከ 50 የራስዎ ክፍሎችጥቂት ጊባ100 ደቂቃ ቀረጻ1 to 3 USDከፍተኛ
GR00T N1.7፣ 50 የራስዎ ክፍሎችጥቂት ጊባ100 ደቂቃ ቀረጻ4 to 12 USDከፍተኛ
ACT ከመጀመሪያው፣ 50 የራስዎ ክፍሎችጥቂት ጊባ100 ደቂቃ ቀረጻ1 to 3 USDከፍተኛ፣ 20 ms ግምት
DROID ናሙና እንደ የሙከራ መሳሪያ2 GBአንድ ከሰዓትአንድ አጭር ሩጫከፍተኛ፣ እንደ ማረጋገጫ

አለመመጣጠኑ ቁም ነገሩ ነው፡ ብዙ ዳታ የሚበደረው መንገድ በጣም ውድ እና ክንድዎን የማንቀሳቀስ እድሉ አነስተኛ ነው። ከሁለት ሰዓት ባነሰ ጊዜ ውስጥ የራስዎ ቴሌኦፕሬሽን የሌላ ሰው ፍራንካን ቴራባይት ይበልጣል። ገና ክንድ የለዎትም? /live ምንም ምዝገባ ሳይኖር አካላዊ SO-100ን ያሰራጫል። ከዚያ የመጀመሪያ ፖሊሲዎን ያሰለጥኑ, እና SmolVLA on SO-100 ለተለየ መመሪያ።

ተመጣጣኝ ነባሪ እቅድ

የ2 ጊባ DROID ናሙናውን ያውርዱ እና የቧንቧ መስመርዎን ለማረጋገጥ ይጠቀሙበት። ሌላውን 1.7 ቴባ ችላ ይበሉ። በቋሚ ካሜራዎች የአንድ ተግባር 50 ክፍሎችን ይመዝግቡ። መጀመሪያ SmolVLAን በጥሩ ሁኔታ ያስተካክሉ፣ ምክንያቱም በ24 ጊባ ካርድ ላይ ቢያንስ 30 ክፍሎች ሲኖሩት ለመድገም በጣም ርካሽ ስለሆነ፣ ከዚያ GR00T N1.7ን በተመሳሳይ ዳታ ላይ ይሞክሩ። በእርስዎ ተግባር ላይ ያወዳድሩ፣ በመለኪያ ላይ አይደለም።

ክንድዎን አስቀድመው የሚዛመዱ የውሂብ ስብስቦችን ይመዝግቡ

የዴስክቶፕ ደንበኛው የLeRobot-ቅርጸት የውሂብ ስብስቦችን በቀጥታ ከቴሌኦፕ ክፍለ ጊዜ ይጽፋል፡ ትክክለኛው ክንድ፣ ትክክለኛው የፍሬም ፍጥነት፣ ትክክለኛው የድርጊት ቦታ። ምንም የRLDS ልወጣ የለም፣ ምንም ዳግም ማስተካከያ የለም።

የዴስክቶፕ ደንበኛውን ያግኙ
በ DROID ላይ ፖሊሲን ማሰልጠን እና በእኔ SO-100 ላይ ማስኬድ እችላለሁ?

በቀጥታ አይደለም። በLeRobot ግንባታ ውስጥ የDROID ድርጊቶች በ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ን ያነሳል። ሦስቱም ይለያያሉ፡ 15 ወይም 5 fps ከ30 ጋር፣ franka ወይም widowx ከክንድዎ ጋር፣ የድርጊት ቅርጾች 7 ከ6 ጋር። ሜታዳታውን ማረጋገጫውን ለማለፍ እንደገና መጻፍ ትርጉሙን አያስተካክለውም።

ታዲያ Open X-Embodiment ለዝቅተኛ ዋጋ ክንድ ከንቱ ነው?

አይ፣ ነገር ግን ዋጋው የሚደርስዎት በቅድመ-የሰለጠኑ ክብደቶች እንጂ በክፍሎች አይደለም። 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 ሰከንድ እና 60 ሰከንድ ዳግም ማስጀመር፣ 50 ክፍሎች 100 ደቂቃ የሰዓት ጊዜ ነው። የተበደረ የመስቀል-አካላዊ ዳታ እነዚህን ቁጥሮች አይቀንስም።

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started