
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 състояние с pad slot. SO-100 приема шест абсолютни позиции на ставите.
- •Този 7-D вектор е артефакт на конвертора: собственото поле за действие на RLDS на DROID е 6 скорости на ставите плюс позиция на грипера, с Cartesian view в 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, което се различава, а и трите се различават.
- •Това, което се прехвърля, са pretrained weights, а не епизоди. Данните с отворен код са 9.1 процента от сместа за предварително обучение на pi0.
- •Най-евтината им реална употреба е като тестово приспособление: доказано добра 2 GB, 100-епизодна DROID извадка, която доказва вашата pipeline, преди да записвате през уикенда.
Има публичен набор от данни с милион траектории в Google Cloud bucket и един SO-100 на бюрото, който струва 110 до 150 EUR за части. Защо първият не може да научи втория? Отчасти може, но почти никакъв трансфер не се случва там, където хората очакват, а частта, която изглежда най-лесна, изобщо не работи.
Следва: какво има в DROID, BridgeData V2 и Open X-Embodiment, където всеки се сблъсква с евтина 5-DoF ръка, и какво да правите вместо това. Всяко число по-долу идва от статията, картата на набора от данни или изходния файл, към който принадлежи.
Какво всъщност съдържат трите набора от данни
| DROID | BridgeData V2 | Open X-Embodiment | |
|---|---|---|---|
| Робот | Franka Panda, 7 DoF, Robotiq 2F-85 | WidowX 250, 6 DoF, ~4,000 USD rig | 22 embodiments, 60 datasets, 34 labs |
| Мащаб | 76k trajectories, 350 hours | 60,096 trajectories | 1M+ trajectories, 527 skills |
| Разнообразие | 564 scenes, 84 tasks, 50 collectors | 24 environments, 13 skills | 160,266 tasks, 21 institutions |
| Композиция | всички телеоперирани | 50,365 teleoperated, 9,731 scripted | според изходната лаборатория |
| Честота на управление | 15 Hz | 5 Hz | варира, от 3 кадъра в секунда нагоре |
| Камери | 2 x ZED 2 външни, 1 x ZED Mini на китката | до 4, повечето епизоди само фиксираната | каквото е използвала лабораторията |
| Изтегляне на сурови данни | 1.7 TB RLDS, 8.7 TB raw stereo | JPEG архиви | TFDS кофи за всеки набор от данни |
Малко хора все още изтеглят 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 епизода, 27,044,326 кадъра, franka, 15 fps, codebase_version v2.0, три AV1 потока при 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 кадъра в секунда.
Обединяването носи предупреждение, което статията изрично посочва. За експериментите с RT-X авторите преобразуват всеки източник в действие на краен ефектор със 7 степени на свобода (DoF), но не подравняват координатни системи между наборите от данни и позволяват стойностите на действията да бъдат абсолютни или относителни позиции или скорости, според оригиналната схема за управление на всеки робот. Тяхното заключение: един и същ векторен екшън може да предизвика много различни движения за различни роботи.

Несъответствието, в четири части
Несъответствието в изпълнението обикновено се третира като един неясен проблем. Всъщност са четири, те се провалят по различен начин и два от тях не могат да бъдат отстранени чрез скриптове.
1. Степени на свобода
SO-100 има пет раменни стави плюс захват. Броейки ги като мотори, това е 6-DoF рамо, и документът SmolVLA го нарича така; броейки го като позициониращ механизъм, то е 5-DoF, и LeRobot го нарича така в своя docstring за обратна кинематика, който описва IK с мека ориентация на 5-DOF SO-101, където китката проследява ориентацията само частично. Franka има седем позициониращи стави. Тази разлика определя кои пози съществуват: 5-DoF рамо обикновено не може да достигне едновременно произволна позиция и ориентация, така че решаващият алгоритъм връща най-близкото възможно, различно движение от демонстрираното. Предистория: степени на свобода.
# 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Така че готов DROID checkpoint не е пряк път. Physical Intelligence доставя pi05_droid на gs://openpi-assets/checkpoints/pi05_droid, а същото README, което хвали неговата широта, предупреждава, че тези експертни контролни точки може да не се обобщят за вашата настройка. Неговото състояние е осем броя на ставите на Franka, а ключовете на изображенията му са 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, gripper | 6-D: една целева позиция на мотор |
| Вектор на състоянието | 8-D, със слот за запълване (google_robot използва кватернион) | 6-D, по един на мотор |
| Координатна система | Декартова, несъгласувана между наборите от данни | пространство на ставите, калибриране за всяка ръка |
| Абсолютно или относително | което и да е, решено от изходната лаборатория | абсолютни целеви позиции |
| Единици | нормализирани за всеки набор от данни, след това дискретизирани | градуси по подразбиране (use_degrees=True), иначе от -100 до 100 |
| Тиха грешка | делта, прочетена като абсолютна стойност | некалибрирана ръка |
README файлът на openx2lerobot документира унифицирано 8-измерно състояние и 7-измерно действие за всеки набор от данни, който конвертира, откъдето идва и слотът pad. Собствената RLDS схема на DROID се различава: неговото действие от най-високо ниво action е 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Изтеглете извадката от 100 епизода, а не пълните 1.7 TB
2 GB са достатъчни, за да се види структурата.
bashpip install gsutil tensorflow tensorflow-datasets gsutil -m cp -r gs://gresearch/robotics/droid_100 ~/tensorflow_datasets/ - 2Конвертирайте RLDS във формат LeRobot
openx2lerobot обвива стандартните трансформации на OXE и анотира типа робот и честотата на управление. README файлът поставя това в convert.sh.
bashgit 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Прочетете meta/info.json преди всичко друго
Този файл решава дали останалата част от деня ви ще работи.
bashpython -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Опитайте сливането и прочетете грешката
merge зарежда всеки набор от данни, след което validate_all_metadata проверява fps, robot_type и features спрямо първия в списъка, като повдига грешка при първото несъответствие.
bashlerobot-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.
В текущия LeRobot main so100_follower и so101_follower са регистрирани към една споделена SOFollowerRobotConfig, така че низът от реален запис не е непременно този, който очаквате. Прочетете го от собствения си meta/info.json и третирайте проверката, която е трябвало да деактивирате, като проверка, която ви е казвала нещо.
И така, какво всъщност се прехвърля?
Тежести, не епизоди. Всяка модерна обща политика е абсорбирала част от това в предварителното обучение и когато от пуснат вие го наследявате, вече съгласувано от хора с изчислителна мощност да го направят правилно. Докладът на pi0 е откровен относно пропорцията: 9.1 процента от неговата смес за предварително обучение, отчетена във времеви стъпки, са данни с отворен код, включително OXE, Bridge v2 и DROID. Тази цифра е на pi0; сместа на всеки доставчик се различава.
- Визуални и езикови априорни знания: енкодерът е виждал хиляди кухни и чаши и знае какво означава „червеният блок“.
- Априорно знание за структурата на манипулацията: приближаване, затваряне, повдигане, транспортиране, освобождаване, независимо от въплъщението, дори когато числата не са.
- Известен добър набор от данни за тестване. Ако вашата задача не може да преобучи 100 DROID епизода, проблемът е във вашата настройка.
- Референтни точки: в домейни с малки набори от данни RT-1-X достигна 50 процента по-висок среден процент на успех от оригиналния метод или RT-1, а RT-2-X надмина RT-2 с около 3 пъти по отношение на нововъзникващи умения.
- Без използваемо наблюдение на действията. 7-D декартова цел не е 6-D команда за става.
- Без прехвърляне на пози на камерата и нищо в данните не показва, че позите се различават.
- Без прехвърляне на времеви данни: 3, 5 и 15 fps източници срещу 30 fps записващо устройство.
- Без прехвърляне на захват. Robotiq 2F-85 и отпечатана челюст на STS3215 се различават по сила, ход и динамика.
- Само мащабът не беше достатъчен дори за неговите автори: в домейните с големи набори от данни RT-1-X не надмина RT-1, обучен само върху този набор от данни.
- Без намаляване на броя на собствените ви епизоди, от които се нуждаете.
| Слой на модела | Прехвърля ли се? | Защо |
|---|---|---|
| Визуален енкодер | Да, силно | Обектите и сцените са независими от въплъщението |
| Езиково заземяване | Да | Инструкциите са текст, не геометрия |
| Кръстосано-модално сливане | Предимно | Обръща внимание на обекта, посочен в подканата |
| Проприоцептивен енкодер | Не | Размерността на входа и семантиката на ставите се различават |
| Глава за действие | Не | Обучен върху 7-D декартово пространство, в което не се намирате |
| Статистика за нормализация | Не, и опасно | Чужди статистики изместват всяка команда |
Ето защо SmolVLA се държи различно на нискобюджетна ръка. Неговият документ избира 481 общностни набора от данни от Hugging Face, филтрирани по тип на въплъщение, брой епизоди, качество на данните и покритие на кадрите: 22.9K епизода, 10.6M кадъра, оценени на реални SO-100 и SO-101 ръце. Малкото и съвпадащото превъзхожда голямото и несъвпадащото. Сравнете на ACT срещу SmolVLA.
Три пътя, които си струва да поемете
Път А: фина настройка от контролна точка, която вече е усвоила данните
Повечето хора трябва да изберат този. Никога не докосвате DROID или Open X-Embodiment: изберете политика, чието предварително обучение вече е абсорбирало данни за кръстосано въплъщение, запишете собствените си епизоди, направете фина настройка.
| Политика | Параметри | Мин. епизоди | Формат на набора от данни | Ниво на GPU | Инференция | Базова контролна точка |
|---|---|---|---|---|---|---|
| GR00T N1.7 | ~3 B, ~40 M trained in fine-tuning | 50 | LeRobot v2.0 or v2.1 | A100 or H100 80 GB | 152 ms per step | nvidia/GR00T-N1.7-3B |
| GR00T N1.5 | ~3 B | 50 | LeRobot v2.0 or v2.1 | A100 or H100 80 GB | 165 ms | nvidia/GR00T-N1.5-3B |
| Pi0.5 | ~3 B, PaliGemma backbone | 50 | LeRobot v3.0 | A100 or H100 80 GB | 485 ms | lerobot/pi05_base |
| SmolVLA | ~450 M | 30 | LeRobot v3.0 | RTX 4090 or any 24 GB | 245 ms | lerobot/smolvla_base |
| ACT | ~80 M | 50 | LeRobot v3.0 | RTX 4090 or any 24 GB | 20 ms | none, from scratch |
ACT е честният краен случай: няма базов модел, така че нито една от публичните данни никога не достига до него. Това не е автоматично недостатък, тъй като при 20 ms на стъпка на действие е единственият от петте, който може да затвори бърз цикъл, както страницата на ACT описва. Изберете по задача, използвайки сравнението на всички пет, GR00T N1.7 срещу Pi0.5, и 332-та резултата от бенчмаркове за 85 модела в арената.
Път Б: използвайте DROID като тестово приспособление
Примерът от 100 епизода е най-добрите 2 GB, които ще изтеглите този месец, и не е за обучение. Това е набор от данни, за който знаете, че е правилен. Пуснете вашия конвертор, зареждащ модул и кратка GPU задача върху него; всичко, което се провали, е инфраструктурен бъг, открит докато е било евтино. NVIDIA прави същото в голям мащаб: картата GR00T N1.7 изброява четири варианта след обучение, за Bridge и Fractal в SimplerEnv, DROID и LIBERO.
Път C: запишете свои собствени, целенасочено
Тридесет до петдесет звучи малко в сравнение със 76 000, докато не си спомните, че вашите са единствените с вашата ръка, вашите камери и вашата маса. При настройките по подразбиране на LeRobot, 50 епизода са 100 минути реално време. Вижте , и .

Два начина да преминете от публични данни към работеща политика
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.
- 1Install LeRobot with the extras the scripts need
The record and train entry points each declare their own extra.
bashpip install 'lerobot[core_scripts]' # lerobot-record pip install 'lerobot[training]' # lerobot-train pip install gsutil tensorflow tensorflow-datasets - 2Get a small, known-good slice
100 DROID episodes, 2 GB.
bashgsutil -m cp -r gs://gresearch/robotics/droid_100 ~/tensorflow_datasets/ - 3Convert to LeRobot form
Writes the unified 8-D state and 7-D action, annotating robot type and control frequency.
bashpython openx_rlds.py \ --raw-dir ~/tensorflow_datasets/droid_100/1.0.0 \ --local-dir ~/lerobot_droid100 \ --repo-id you/droid100_lerobot \ --use-videos - 4Check 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.
bashpython src/lerobot/scripts/convert_dataset_v21_to_v30.py \ --repo-id=you/droid100_lerobot - 5Record your own episodes
Defaults: 30 fps, 60 s per episode, 60 s reset, 50 episodes. The teleoperator type is so100_leader.
bashlerobot-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" - 6Fine-tune on your data only
Weights from public data, actions from your own. Do not mix the datasets.
bashlerobot-train \ --policy.path=lerobot/smolvla_base \ --dataset.repo_id=you/so100_pick_block \ --policy.device=cuda \ --batch_size=4 \ --steps=20000
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 platform removes the GPU and pipeline plumbing. It does not remove the embodiment mismatch: point the trainer at a converted DROID dataset and you get a policy trained on Franka actions, exactly as you would locally.
- 1Pick a policy, not a dataset
The five trainable policies, with parameter counts, GPU tiers and latencies, are at /policies.
- 2Record with the desktop client
It writes LeRobot-format datasets, episodes, camera streams and joint states, straight out of a teleop session. No conversion step to get wrong.
- 3Or bring a dataset you already have
The training form accepts one from /directory, a Hugging Face repo id, or your own machine. A repo id means a converted OXE dataset will load, and the mismatch loads with it.
- 4Train on a rented GPU
The backend rents a card on a spot market by required VRAM. SmolVLA or ACT on 24 GB: 2 to 5 hours, about 1 to 3 USD. GR00T or Pi0.5 on A100 or H100: 3 to 6 hours, about 4 to 12 USD. See /pricing.
- 5Serve it back to the arm
/api/inference/pod auto-provisions a GPU pod serving the policy; the local client talks to that endpoint. Pods carry an idle watchdog and destroy themselves, so nothing keeps billing silently.
Inference has to sit next to the servos for fast tasks. The control loop is 20 to 485 ms per action step depending on the model, and public-internet round trips turn a working policy into a hesitant one. Remote inference is fine for slow pick-and-place, not fast reactive motion.
The platform helps with the boring parts: the right format for the right arm at the right frame rate, and no babysitting a spot instance. It helps with nothing else in this article.

Какво струва всеки път
| Път | Съхранение | Човешко време | Разход за GPU | Шанс да раздвижи ръката ви |
|---|---|---|---|---|
| Конвертиран DROID самостоятелно | 392 GB | дни за конверсия | 4 to 12 USD | много нисък, грешно пространство за действия |
| DROID, обединен с вашите епизоди | и двете | blocked by validate_all_metadata | n/a | няма, не се изпълнява |
| SmolVLA, 30 до 50 собствени епизода | няколко GB | 100 мин запис | 1 to 3 USD | висок |
| GR00T N1.7, 50 собствени епизода | няколко GB | 100 мин запис | 4 to 12 USD | висок |
| ACT от нулата, 50 собствени епизода | няколко GB | 100 мин запис | 1 to 3 USD | висок, 20 ms инференция |
| DROID проба като тестово приспособление | 2 GB | един следобед | едно кратко изпълнение | висок, като валидация |
Асиметрията е съществена: пътят, който заема най-много данни, е най-скъп и най-малко вероятно да движи ръката ви. По-малко от два часа ваша собствена телеоперация превъзхожда терабайт чужда Franka. Все още нямате ръка? /live предава физически SO-100 без регистрация. След това обучете първата си политика, и SmolVLA на SO-100 за конкретното ръководство.
Изтеглете 2 GB DROID проба и я използвайте, за да докажете своя пайплайн. Игнорирайте останалите 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
- DROID: Мащабен набор от данни за манипулация на роботи в реални условия
- DROID docs: размери за изтегляне и схемата на епизодите на RLDS
- BridgeData V2: Набор от данни за мащабно обучение на роботи
- Страница на проекта BridgeData V2: състав и покритие на камерата
- Open X-Embodiment: Набори от данни за роботизирано обучение и модели RT-X
- Страница на проекта Open X-Embodiment
- google-deepmind/open_x_embodiment: списък с набори от данни и контролни точки на RT-1-X
- any4lerobot: конверторът openx2lerobot и неговото унифицирано 8-D състояние, 7-D действие
- IPEC-COMMUNITY/droid_lerobot: meta/info.json и размер на хранилището
- IPEC-COMMUNITY/bridge_orig_lerobot: meta/info.json
- IPEC-COMMUNITY/fractal20220817_data_lerobot: фрагментът google_robot при 3 кадъра в секунда
- huggingface/lerobot: SO последовател, кинематичен процесор, конфигурации за агрегиране и запис
- openpi: входове на политиката на DROID и контролната точка pi05_droid
- pi0: Модел за поток от визия-език-действие за общо управление на роботи
- SmolVLA: Модел за визия-език-действие за достъпна и ефективна роботика
Sources
- DROID: A Large-Scale In-The-Wild Robot Manipulation Dataset
- DROID docs: download sizes and the RLDS episode schema
- BridgeData V2: A Dataset for Robot Learning at Scale
- BridgeData V2 project page: composition and camera coverage
- Open X-Embodiment: Robotic Learning Datasets and RT-X Models
- Open X-Embodiment project page
- google-deepmind/open_x_embodiment: dataset list and RT-1-X checkpoints
- any4lerobot: the openx2lerobot converter and its unified 8-D state, 7-D action
- IPEC-COMMUNITY/droid_lerobot: meta/info.json and repo size
- IPEC-COMMUNITY/bridge_orig_lerobot: meta/info.json
- IPEC-COMMUNITY/fractal20220817_data_lerobot: the google_robot slice at 3 fps
- huggingface/lerobot: SO follower, kinematics processor, aggregate and record configs
- openpi: DROID policy inputs and the pi05_droid checkpoint
- pi0: A Vision-Language-Action Flow Model for General Robot Control
- SmolVLA: A Vision-Language-Action Model for Affordable and Efficient Robotics
Ready for high-quality robotics data?
AY-Robots connects your robots to skilled operators worldwide.
Get Started