Јавниот директориум со податочни множества на AY-Robots што ги прикажува податочните множества на LeRobot снимени на роботи од класата SO-100
Податочни множестваOpen X-EmbodimentDROIDSO-100LeRobot

Користење DROID, BridgeData V2 и Open X на SO-100

AY-Robots ResearchAugust 23, 202618 мин читање

DROID, BridgeData V2 и Open X-Embodiment се претвораат во 7-D акции на краен ефектор на роботи со 6 и 7 степени на слобода. 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 парчето 3 fps, SO-100 снимањето на 30 fps.
  • Не можете да ги споите со вашите сопствени податоци. validate_all_metadata се појавува при првата разлика во fps, robot_type или features, а сите три се разликуваат.
  • Она што се пренесува се претходно тренирани тежини, а не епизоди. Податоците со отворен код се 9.1 проценти од смесата за претходна обука на pi0.
  • Нивната најевтина вистинска употреба е тест уред: познат добар 2 GB, 100-епизоден DROID примерок што ја докажува вашата цевководна линија пред да снимате за викенд.

Постои јавен сет на податоци од милион траектории на Google Cloud bucket и 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
Составall teleoperated50,365 teleoperated, 9,731 scriptedper source lab
Контролна стапка15 Hz5 Hzvaries, 3 fps upwards
Камери2 x ZED 2 exterior, 1 x ZED Mini wristup to 4, most episodes only the fixed onewhatever the lab used
Сурово преземање1.7 TB RLDS, 8.7 TB raw stereoJPEG archivesper-dataset TFDS buckets
Влезната точка е конверзијата на 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, до три по епизода.

  • 76k траектории, 350 часа, 564 сцени, 84 задачи, 50 собирачи на три континенти.
  • Главниот резултат е ко-тренинг, а не самостоен тренинг: сериите измешани 50/50 со демонстрации во доменот ја надминаа следната најдобра метода за 22 проценти апсолутен успех во дистрибуција, 17 проценти надвор од неа.
  • IPEC-COMMUNITY/droid_lerobot: 92,233 episodes, 27,044,326 frames, franka, 15 fps, codebase_version v2.0, three AV1 streams at 180x320, 392 GB.
  • Примерок за дебагирање од 2 GB, 100 епизоди се наоѓа на gs://gresearch/robotics/droid_100. Започнете оттаму.

BridgeData V2

Најблиску до хоби поставка: рака WidowX 250 со 6 степени на слобода, 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 наместо да цитирате било кој.

Open X-Embodiment

Не е збир на податоци во иста смисла: 60 постоечки збирови на податоци за роботи од 34 лаборатории споени во една RLDS колекција која опфаќа 22 отелотворувања и над милион траектории. BridgeData V2 се наоѓа во неа како bridge_orig; делот google_robot, fractal20220817_data, се претвора во 87,212 епизоди со 3 fps.

Спојувањето носи предупредување кое трудот отворено го наведува. За експериментите со RT-X, авторите го претвораат секој извор во акција на краен ефектор со 7 степени на слобода (DoF), но не ги усогласуваат координатните рамки низ збировите на податоци и дозволуваат вредностите на акциите да бидат апсолутни или релативни позиции или брзини, според оригиналната контролна шема на секој робот. Нивниот заклучок: истиот акционен вектор може да предизвика многу различни движења за различни роботи.

Несовпаѓањето, во четири дела

Несовпаѓањето во отелотворувањето обично се третира како еден нејасен проблем. Тоа се четири, тие откажуваат различно, а два не можат да се поправат со скриптирање.

1. Степени на слобода

SO-100 има пет зглобови на раката плус грабнувач. Броено како мотори, тоа е рака со 6 степени на слобода, и трудот SmolVLA ја нарекува така; броено како механизам за позиционирање, тоа е 5 степени на слобода, и LeRobot ја нарекува така во својот docstring за инверзна кинематика, кој опишува IK со мека ориентација на SO-101 со 5 степени на слобода каде што зглобот ја следи ориентацијата само делумно. Franka има седум зглобови за позиционирање. Таа разлика одлучува кои пози постојат: рака со 5 степени на слобода генерално не може да достигне произволна позиција и ориентација истовремено, така што решавачот го враќа најблиското што може, движење различно од она демонстрираното. Позадина: .

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
Лево: SO следбеник на LeRobot, од src/lerobot/robots/so_follower/so_follower.py. Десно: Влез на DROID политиката на openpi. Шест наспроти осум.

Така што готов DROID checkpoint не е кратенка. Physical Intelligence испорачува pi05_droid на gs://openpi-assets/checkpoints/pi05_droid, и истиот README што ја фали неговата широчина предупредува дека овие експертски контролни точки може да не се генерализираат на вашата поставка. Неговата состојба е осум Franka joint numbers и неговите image keys се 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, грабеж6-D: една целна позиција по мотор
Вектор на состојба8-D, со слот за полнење (google_robot користи кватернион)6-D, еден по мотор
РамкаДекартов, неусогласен низ податочни множествапростор на зглобови, калибрација по рака
Апсолутно или релативнокое било, одлучено од изворната лабораторијаапсолутни целни позиции
Единицинормализирани по податочно множество, потоа дискретизиранистепени по дифолт (use_degrees=True), инаку -100 до 100
Тивок неуспехделта прочитана како апсолутнанекалибрирана рака
7-Д картезијанскиот вектор е конвенција на конверторот, а не на DROID

README-то на openx2lerobot документира унифицирана состојба со 8 димензии и акција со 7 димензии за секое множество податоци што го конвертира, од каде што доаѓа слотот `pad`. Сопствената RLDS шема на DROID се разликува: неговата акција на највисоко ниво е 7-вектор од *6 брзини на зглобовите плус 1 позиција на фаќачот*, со `cartesian_position`, `cartesian_velocity`, `joint_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 зема orientation_weight, стандардно 0.01, чиј docstring вели да се постави 0.0 за IK само за позиција на недоволно активирани раце. Можете да го изградите мостот, но ориентационата половина од секоја позајмена акција останува приближна.

3. Контролна стапка

DROID е 15 Hz, BridgeData V2 5 Hz, google_robot парчето 3 fps; авторите на pi0 го опишуваат отворениот дел од нивната мешавина како нискофреквентна контрола помеѓу 2 и 10 Hz. DatasetRecordConfig на LeRobot стандардно е fps 30, episode_time_s 60, reset_time_s 60, num_episodes 50. А тренирана на податоци од 5 Hz научи дека една акција покрива 200 ms. Репродуцирајте ја на 30 Hz и раката ползи; преземете примерок наивно и ќе ја размачкате рамката каде што се затвора фаќачот. Исто така, лошо комуницира со : група од 100 чекори е 20 секунди на 5 Hz, 3.3 на 30 Hz.

4. Камери

BridgeData V2 рандомизираше две пози на камерата на секои 50 траектории, а на страницата на проектот е забележано дека поголемиот дел од податоците сепак носат само фиксен поглед. DROID користеше прилагодливи држачи ZED 2 плус ZED Mini на зглобот. Имате две USB веб-камери поставени со око. Позицијата на камерата не е променлива која пречи за ; тоа е голем дел од она на што се фокусираше визуелниот енкодер, и ништо во форматот на датотеката не ви кажува дека позите се разликуваат.

Замката што јаде еден ден

Деловите се вклопуваат доволно добро за да работат. Се вчитува множеството податоци, започнува тренирањето, загубата опаѓа, се појавуваат контролни точки, нема грешки. Потоа политиката не прави ништо препознатливо на раката и поминувате еден ден барајќи грешка во вашата скрипта за тренирање. Нема грешка: моделот научил Декартова дистрибуција на акции за робот што не постои во вашата соба. Започнете од загубата опаѓа, политиката не прави ништо, а не од вашите хиперпараметри.

Што се случува кога сепак ќе се обидете да ги споите податоците

Очигледниот план е да се спојат: неколку илјади DROID епизоди плус вашите 50. LeRobot одбива, а одбивањето ги наведува трите работи што се разликуваат.

  1. 1
    Преземете го примерокот од 100 епизоди, а не целосните 1.7 TB

    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.

Референтните вредности доаѓаат од кое било податочно множество што сте го навеле прво, поради што пораката се жали на вашите 30 fps наместо на 15-те на DROID. Поправете ги fps и ќе наидете на проверката robot_type; поправете го тоа и ќе наидете на проверката на карактеристиките, 7 наспроти 6 за акцијата. Ниту едно подредување не поминува, а истата заштита работи за време на снимањето преку sanity_check_dataset_robot_compatibility.

Не кодирајте го robot_type за да ја заобиколите проверката

На тековниот LeRobot main, so100_follower и so101_follower се регистрирани на една заедничка SOFollowerRobotConfig, така што низата од вистинско снимање не е нужно онаа што ја очекувате. Прочитајте ја од вашата сопствена meta/info.json, и третирајте ја проверката што моравте да ја оневозможите како проверка што ви кажуваше нешто.

Што всушност се пренесува?

Тежини, не епизоди. Секоја модерна општа политика апсорбирала дел од тоа во претходна обука, и кога од објавен го наследувате веќе усогласено од луѓе со доволно пресметковна моќ да го направат тоа правилно. Трудот на pi0 е искрен за пропорцијата: 9,1 проценти од неговата мешавина за претходна обука, броено во временски чекори, се податоци со отворен код, вклучувајќи OXE, Bridge v2 и DROID. Таа бројка е на pi0; мешавината на секој продавач се разликува.

Јавни податоци за вкрстено отелотворување на проект SO-100
Предности
  • Визуелни и јазични претходни знаења: енкодерот видел илјадници кујни и шолји и знае на што се однесува „црвениот блок“.
  • Претходно знаење за структурата на манипулација: пристап, затворање, подигање, транспорт, ослободување, независно од отелотворувањето дури и кога бројките не се.
  • Познато добро податочно множество за тестирање. Ако вашата задача не може да преобучи 100 DROID епизоди, проблемот е во вашата поставка.
  • Референтни точки: на домени со мали податочни множества RT-1-X постигна 50 проценти повисока просечна стапка на успех од оригиналниот метод или RT-1, а RT-2-X го надмина RT-2 за околу 3 пати во однос на вештините во развој.
Компромиси
  • Нема употреблива супервизија на дејства. 7-Д Декартова цел не е 6-Д командa за зглоб.
  • Нема пренос на положба на камера, и ништо во податоците не ви кажува дека положбите се разликуваат.
  • Нема пренос на тајминг: извори од 3, 5 и 15 fps наспроти рекордер од 30 fps.
  • Нема пренос на грабач. Robotiq 2F-85 и печатена вилица на STS3215 се разликуваат по сила, опсег и динамика.
  • Само обемот не беше доволен дури и за неговите автори: во домените со големи податочни множества RT-1-X не го надмина RT-1 обучен само на тоа податочно множество.
  • Нема намалување на бројот на сопствени епизоди што ви се потребни.
Слој на моделотСе пренесува?Зошто
Vision encoderДа, силноОбјектите и сцените се независни од отелотворувањето
Language groundingДаИнструкциите се текст, а не геометрија
Cross-modal fusionГлавноСе фокусира на објектот именуван во барањето
Proprioception encoderНеВлезната димензија и семантиката на зглобовите се разликуваат
Action headНеОбучен на 7-Д Декартов простор во кој не се наоѓате
Normalisation statisticsНе, и опасноСтранските статистики ја менуваат секоја команда

Ова е зошто SmolVLA се однесува различно на нискобуџетна рака. Неговата статија избира 481 збир на податоци од заедницата од Hugging Face, филтрирани според тип на отелотворување, број на епизоди, квалитет на податоци и покриеност на рамки: 22.9K епизоди, 10.6M рамки, евалуирани на вистински SO-100 и SO-101 раце. Мало и совпаднато ги надминува големите и несоодветните. Споредете на ACT against SmolVLA.

Три патеки вредни за следење

Патека А: фино подесување од контролна точка која веќе ги апсорбирала податоците

Повеќето луѓе треба да ја изберат оваа. Никогаш не допирајте DROID или Open X-Embodiment: изберете политика чија претходна обука веќе ги апсорбирала податоците за вкрстено отелотворување, снимете свои епизоди, фино подесете.

ПолитикаПараметриМин. епизодиФормат на податочно множествоНиво на графичка картичкаЗаклучувањеОсновна контролна точка
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, и 332 резултати од бенчмарк низ 85 модели во арената.

Патека Б: користете го DROID како тест уред

Примерокот од 100 епизоди е најдобрите 2 GB што ќе ги преземете овој месец, и тоа не за тренирање. Тоа е податочно множество за кое знаете дека е точно. Извршете го вашиот конвертор, вчитувач и кратка работа на графичката картичка на него; сè што не успее е инфраструктурна грешка пронајдена додека беше евтино. NVIDIA го прави истото на големо: картичката GR00T N1.7 наведува четири пост-тренирани варијанти, за Bridge и Fractal во SimplerEnv, DROID и LIBERO.

Патека C: снимете свои, намерно

Триесет до педесет звучи малку покрај 76.000 додека не се сетите дека вашите се единствените со вашата рака, вашите камери и вашата маса. Со стандардните поставки на LeRobot, 50 епизоди се 100 минути реално време. Видете , и .

Страницата со упатства за снимање на AY-Robots која ги прикажува чекорите за снимање на множество податоци на LeRobot од сесија за телеоперација
Водичот за снимање на /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.

Страницата за преземање на десктоп клиентот на AY-Robots, клиентот што снима податочни множества во LeRobot формат од телеоперациска сесија
Десктоп клиентот на /download запишува LeRobot податочни множества директно од телеоперациска сесија, избегнувајќи ја RLDS конверзијата.

Што чини секоја патека

ПатекаСкладирањеЧовечко времеТрошок за GPUШанса да ја придвижи вашата рака
Конвертиран DROID сам392 GBденови конверзија4 to 12 USDмногу ниско, погрешен акционен простор
DROID споен со вашите епизодиbothблокирано од validate_all_metadatan/aништо, не работи
SmolVLA, 30 до 50 сопствени епизодиa few GB100 мин снимање1 to 3 USDвисоко
GR00T N1.7, 50 сопствени епизодиa few GB100 мин снимање4 to 12 USDвисоко
ACT од нула, 50 сопствени епизодиa few GB100 мин снимање1 to 3 USDвисоко, 20 ms инференција
DROID примерок како тест фикстура2 GBедно попладнеone short runвисоко, како валидација

Асиметријата е поентата: патеката што позајмува најмногу податоци е најскапа и најмалку веројатно ќе ја придвижи вашата рака. Помалку од два часа ваша сопствена телеоперација е подобра од терабајт туѓа Франка. Сè уште немате рака? /live пренесува физички SO-100 без регистрација. Потоа обучете ја вашата прва политика, и SmolVLA on SO-100 за специфичниот водич.

Разумен стандарден план

Преземете го примерокот DROID од 2 GB и користете го за да ја докажете вашата цевководна линија. Игнорирајте ги останатите 1.7 TB. Снимете 50 епизоди од една задача со фиксни камери. Прво фино подесете го SmolVLA, бидејќи со минимум 30 епизоди на картичка од 24 GB е најевтино за итерација, а потоа пробајте го GR00T N1.7 на истите податоци. Споредете на вашата задача, а не на бенчмарк.

Снимајте податочни множества кои веќе одговараат на вашата рака

Десктоп клиентот запишува податочни множества во LeRobot формат директно од телеоп сесија: вистинска рака, вистинска стапка на слики, вистински акционен простор. Без RLDS конверзија, без премапирање.

Преземете го десктоп клиентот
Може ли да тренирам политика на DROID и да ја извршувам на мојот SO-100?

Не директно. Во LeRobot изградбата, DROID акциите се 7-D команди за краен ефектор на Franka Panda со 15 fps; во суровиот RLDS тие се 6 брзини на зглобовите плус позиција на грабнувач. SO-100 зема 6 апсолутни позиции на зглобовите. Ќе ви треба слој за инверзна кинематика, па дури и тогаш зглоб со 5 степени на слобода не може да репродуцира произволни пози со 6 степени на слобода.

Може ли да мешам 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, сочинуваат 9.1 проценти од мешавината за претходно тренирање на pi0, а NVIDIA испорачува GR00T N1.7 варијанти пост-тренирани на Bridge, Fractal, DROID и LIBERO. Она што не можете да го направите е да ги додадете тие епизоди на вашата сопствена снимка.

Која политика има најголема корист од јавните податоци за вкрстено отелотворување?

Pi0.5 и GR00T моделите носат најмногу претходно тренирање за вкрстено отелотворување, но SmolVLA често се однесува најдобро на евтина рака: неговиот сет за претходно тренирање е 481 податочни множества од заедницата, 22.9K епизоди и 10.6M рамки, евалуирани на вистински SO-100 и SO-101 раце. ACT е спротивното: без основен модел, 20 ms по акционен чекор.

Колку мои сопствени епизоди всушност ми требаат?

30 за SmolVLA, 50 за GR00T N1.7, GR00T N1.5, Pi0.5 и ACT. Со стандардните поставки на 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