
DROID, BridgeData V2 и Open X-Embodiment преобразуются в 7-мерные действия концевого эффектора для 6- и 7-степенных манипуляторов. SO-100 принимает 6 позиций суставов. Что переносится, что нет, и что делать вместо этого.
Краткая версия
- •Сборки LeRobot всех трех систем используют одно соглашение: 7-мерное действие эффектора [x, y, z, roll, pitch, yaw, gripper] и 8-мерное состояние с заполняющим слотом. SO-100 принимает шесть абсолютных положений суставов.
- •Этот 7-мерный вектор — артефакт конвертера: собственное поле действия RLDS DROID — это 6 скоростей суставов плюс положение захвата, с декартовым представлением в action_dict.
- •Четыре тактовых частоты: DROID 15 кадров/с, BridgeData V2 5 кадров/с, срез google_robot 3 кадров/с, запись SO-100 30 кадров/с.
- •Вы не можете объединить их со своими данными. validate_all_metadata выдает ошибку при первом отличии fps, robot_type или features, а все три отличаются.
- •Передаются предварительно обученные веса, а не эпизоды. Данные с открытым исходным кодом составляют 9.1 процента от смеси предварительного обучения pi0.
- •Их самое дешевое реальное применение — это тестовый стенд: заведомо хороший образец DROID объемом 2 ГБ, состоящий из 100 эпизодов, который подтверждает работоспособность вашего конвейера, прежде чем вы будете записывать данные в течение выходных.
Существует публичный набор данных из миллиона траекторий в бакете Google Cloud и SO-100 на столе, который стоил от 110 до 150 EUR в запчастях. Почему первый не может научить второго? Частично может, но почти никакая передача не происходит там, где люди ожидают, а та часть, которая кажется самой простой, вообще не работает.
Далее: что находится внутри DROID, BridgeData V2 и Open X-Embodiment, где каждый сталкивается с недорогим 5-степенным манипулятором, и что делать вместо этого. Каждое число ниже взято из статьи, карточки набора данных или исходного файла, к которому оно относится.
Что на самом деле содержат три набора данных
| 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 телеуправляемых, 9,731 по сценарию | по исходной лаборатории |
| Частота управления | 15 Hz | 5 Hz | varies, 3 fps upwards |
| Камеры | 2 x ZED 2 внешние, 1 x ZED Mini на запястье | до 4, в большинстве эпизодов только фиксированная | что использовала лаборатория |
| Исходная загрузка | 1.7 TB RLDS, 8.7 TB raw stereo | JPEG archives | per-dataset TFDS buckets |
Мало кто до сих пор загружает 1.7 ТБ RLDS TFRecords. Сообщество IPEC-COMMUNITY переиздало большую часть Open X-Embodiment в формате набора данных LeRobot с видео AV1, где DROID занимает 392 ГБ. Это та версия, с которой вы будете работать, и ее meta/info.json — это то, что нужно прочитать в первую очередь.
DROID
Наиболее стандартизированный из трех. Единая установка повсюду: Franka Panda с захватом Robotiq 2F-85, две регулируемые стереокамеры ZED 2 и ZED Mini на запястье, телеуправляемая с помощью контроллеров Meta Quest 2, записываемая через Polymetis на частоте 15 Гц как в пространстве суставов, так и в пространстве конечного эффектора . Языковые метки появились позже через tasq.ai, до трех на эпизод.
- 76 тысяч траекторий, 350 часов, 564 сцены, 84 задачи, 50 сборщиков на трех континентах.
- Главный результат — это совместное обучение, а не автономное: пакеты, смешанные 50/50 с демонстрациями из предметной области, превосходят следующий лучший метод на 22 процента абсолютного успеха в распределении и на 17 процентов вне его.
- IPEC-COMMUNITY/droid_lerobot: 92 233 эпизода, 27 044 326 кадров, franka, 15 кадров/с, codebase_version v2.0, три потока AV1 с разрешением 180x320, 392 ГБ.
- Отладочный образец размером 2 ГБ, состоящий из 100 эпизодов, находится по адресу gs://gresearch/robotics/droid_100. Начните с него.
BridgeData V2
Наиболее близкая к любительской установке: манипулятор WidowX 250 с 6 степенями свободы, 60 096 траекторий в 24 средах и 13 навыках при 5 Гц. Обратите внимание на состав: 50 365 экспертных телеуправляемых демонстраций плюс 9 731 из рандомизированной скриптовой политики «взять и положить», так что около 16 процентов — это не человеческие демонстрации, что важно для имитационного обучения качества. Обычная загрузка, IPEC-COMMUNITY/bridge_orig_lerobot, сообщает о 53 192 эпизодах и 1 893 026 кадрах при 5 кадрах/с, 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 степенями свободы (7-DoF), но не выравнивают системы координат между наборами данных и допускают, что значения действий могут быть абсолютными или относительными положениями или скоростями, в соответствии с исходной схемой управления каждого робота. Их вывод: один и тот же вектор действия может вызывать очень разные движения у разных роботов.

Несоответствие, в четырех частях
Несоответствие воплощения обычно рассматривается как одна расплывчатая проблема. Их четыре, они проявляются по-разному, и две из них нельзя исправить с помощью скриптов.
1. Степени свободы
SO-100 имеет пять суставов манипулятора плюс захват. Если считать по моторам, это 6-степенной манипулятор, и статья SmolVLA называет его так; если считать по механизму позиционирования, это 5-степенной манипулятор, и LeRobot называет его так в своей документации по обратной кинематике, которая описывает IK с мягкой ориентацией для 5-степенного SO-101, где запястье отслеживает ориентацию лишь частично. Franka имеет семь позиционирующих суставов. Этот разрыв определяет, какие позы возможны: 5-степенной манипулятор, как правило, не может одновременно достичь произвольной позиции и ориентации, поэтому решатель возвращает ближайшее возможное положение, что отличается от продемонстрированного движения. Справочная информация: степени свободы.
# 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 не является быстрым решением. 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-мерный: x, y, z, крен, тангаж, рыскание, захват | 6-мерный: одна целевая позиция на мотор |
| Вектор состояния | 8-мерный, с дополнительным слотом (google_robot использует кватернион) | 6-мерный, по одному на мотор |
| Система координат | Декартова, не выровненная по наборам данных | пространство суставов, калибровка для каждой руки |
| Абсолютный или относительный | любой, определяется исходной лабораторией | абсолютные целевые позиции |
| Единицы измерения | нормализованы для каждого набора данных, затем дискретизированы | градусы по умолчанию (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, в докстринге которого указано установить 0.0 для IK только по положению на недоактивированных манипуляторах. Вы можете построить этот мост, но половина ориентации каждого заимствованного действия останется аппроксимированной.
3. Частота управления
DROID работает на 15 Гц, BridgeData V2 на 5 Гц, срез google_robot на 3 кадра/с; авторы pi0 описывают открытую часть своей смеси как низкочастотное управление в диапазоне от 2 до 10 Гц. DatasetRecordConfig LeRobot по умолчанию имеет fps 30, episode_time_s 60, reset_time_s 60, num_episodes 50. обученная на данных 5 Гц, узнала, что одно действие охватывает 200 мс. Воспроизведите его на 30 Гц, и рука будет ползти; наивно пересэмплируйте, и вы размажете кадр, где захват закрывается. Это также плохо взаимодействует с : 100-шаговый фрагмент составляет 20 секунд при 5 Гц, 3.3 при 30 Гц.
4. Камеры
BridgeData V2 рандомизировал две позы камеры каждые 50 траекторий, и на странице проекта отмечается, что большая часть данных в любом случае содержит только фиксированный вид. DROID использовал регулируемые крепления ZED 2 плюс ZED Mini на запястье. У вас есть две USB-веб-камеры, расположенные на глаз. Поза камеры не является переменной-помехой для ; это во многом то, на что ориентировался визуальный кодировщик, и ничто в формате файла не говорит о том, что позы различаются.
Все части достаточно хорошо подходят друг к другу для запуска. Набор данных загружается, обучение начинается, потери уменьшаются, появляются контрольные точки, ошибок нет. Затем политика не делает ничего узнаваемого на руке, и вы тратите день на поиск ошибки в своем скрипте обучения. Ошибки нет: модель изучила декартово распределение действий для робота, которого нет в вашей комнате. Начните с потери уменьшаются, политика ничего не делает, а не с ваших гиперпараметров.
Что происходит, если вы все равно пытаетесь объединить данные
Очевидный план — объединить: несколько тысяч эпизодов DROID плюс ваши 50. LeRobot отказывает, и в отказе названы три вещи, которые отличаются.
- 1Загрузите 100-эпизодный образец, а не полные 1.7 ТБ
2 ГБ достаточно, чтобы увидеть структуру.
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 кадров в секунду, а не на 15 кадров в секунду DROID. Исправьте fps, и вы столкнетесь с проверкой robot_type; исправьте это, и вы столкнетесь с проверкой features, 7 против 6 для действия. Никакой порядок не пройдет, и та же защита запускается во время записи через sanity_check_dataset_robot_compatibility.
В текущей основной версии LeRobot 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-мерная декартова цель — это не 6-мерная команда для суставов.
- Отсутствие переноса позы камеры, и ничто в данных не указывает на различия в позах.
- Отсутствие переноса тайминга: источники 3, 5 и 15 кадров в секунду против записывающего устройства 30 кадров в секунду.
- Отсутствие переноса захвата. Robotiq 2F-85 и напечатанная челюсть на STS3215 различаются по силе, ходу и динамике.
- Одного масштаба было недостаточно даже для его авторов: в областях с большими наборами данных RT-1-X не превзошел RT-1, обученный только на этом наборе данных.
- Отсутствие сокращения количества ваших собственных эпизодов, которые вам нужны.
| Слой модели | Переносится? | Почему |
|---|---|---|
| Визуальный кодировщик | Да, сильно | Объекты и сцены не зависят от воплощения |
| Языковое обоснование | Да | Инструкции — это текст, а не геометрия |
| Кросс-модальное слияние | В основном | Обращает внимание на объект, названный в подсказке |
| Проприоцептивный кодировщик | Нет | Различаются размерность входа и семантика суставов |
| Блок действий | Нет | Обучен в 7-мерном декартовом пространстве, в котором вы не находитесь |
| Статистика нормализации | Нет, и опасно | Чужие статистики смещают каждую команду |
Вот почему SmolVLA ведет себя по-разному на недорогом манипуляторе. В его статье выбраны 481 общедоступных наборов данных из Hugging Face, отфильтрованных по типу воплощения, количеству эпизодов, качеству данных и охвату кадров: 22.9K эпизодов, 10.6M кадров, оцененных на реальных манипуляторах SO-100 и SO-101. Малое и соответствующее превосходит большое и несоответствующее. Сравните на ACT against SmolVLA.
Три пути, которые стоит выбрать
Путь A: дообучение с контрольной точки, которая уже усвоила данные
Большинству людей следует выбрать этот путь. Вы никогда не касаетесь DROID или Open X-Embodiment: выберите политику, предварительное обучение которой уже поглотило данные из разных воплощений, запишите свои собственные эпизоды, дообучите.
| Policy | Параметры | Мин. эпизодов | Формат набора данных | Уровень GPU | Инференс | Базовый чекпоинт |
|---|---|---|---|---|---|---|
| GR00T N1.7 | ~3 B, ~40 M обучено в донастройке | 50 | LeRobot v2.0 или v2.1 | A100 или H100 80 GB | 152 ms за шаг | nvidia/GR00T-N1.7-3B |
| GR00T N1.5 | ~3 B | 50 | LeRobot v2.0 или v2.1 | A100 или H100 80 GB | 165 ms | nvidia/GR00T-N1.5-3B |
| Pi0.5 | ~3 B, основа PaliGemma | 50 | LeRobot v3.0 | A100 или H100 80 GB | 485 ms | lerobot/pi05_base |
| SmolVLA | ~450 M | 30 | LeRobot v3.0 | RTX 4090 или любой 24 GB | 245 ms | lerobot/smolvla_base |
| ACT | ~80 M | 50 | LeRobot v3.0 | RTX 4090 или любой 24 GB | 20 ms | нет, с нуля |
ACT — это честный крайний случай: нет базовой модели, поэтому никакие публичные данные никогда не достигают ее. Это не является автоматически недостатком, поскольку при 20 мс на шаг действия это единственная из пяти моделей, которая может замыкать быстрый цикл, как страница ACT, изложено. Выбирайте по задаче, используя сравнение всех пяти, GR00T N1.7 против Pi0.5, и 332 результата бенчмарков для 85 моделей в арене.
Путь B: используйте DROID в качестве тестового приспособления
Выборка из 100 эпизодов — это лучшие 2 ГБ, которые вы скачаете в этом месяце, и не для обучения. Это набор данных, который, как вы знаете, является корректным. Запустите на нем свой конвертер, загрузчик и короткую задачу на 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, объединенный с вашими эпизодами | both | заблокировано validate_all_metadata | n/a | нет, не запускается |
| SmolVLA, 30–50 собственных эпизодов | a few GB | 100 min recording | 1 to 3 USD | высокая |
| GR00T N1.7, 50 собственных эпизодов | a few GB | 100 min recording | 4 to 12 USD | высокая |
| ACT с нуля, 50 собственных эпизодов | a few GB | 100 min recording | 1 to 3 USD | высокая, 20 ms инференса |
| Образец DROID как тестовый стенд | 2 GB | один день | one short run | высокая, как валидация |
Асимметрия — это главное: путь, который заимствует больше всего данных, является самым дорогим и наименее вероятным для перемещения вашей руки. Менее двух часов вашего собственного телеуправления превосходит терабайт чужой Franka. Ещё нет манипулятора? /live транслирует физический SO-100 без регистрации. Затем обучите свою первую политику, и SmolVLA на SO-100 для конкретного руководства.
Загрузите образец DROID размером 2 ГБ и используйте его для проверки вашего пайплайна. Игнорируйте остальные 1.7 ТБ. Запишите 50 эпизодов одной задачи с фиксированными камерами. Сначала дообучите SmolVLA, потому что при минимуме в 30 эпизодов на карте 24 ГБ это самый дешевый способ итерации, затем попробуйте GR00T N1.7 на тех же данных. Сравнивайте по вашей задаче, а не по бенчмарку.
Записывайте наборы данных, которые уже соответствуют вашей руке
Настольный клиент записывает наборы данных в формате LeRobot прямо из сессии телеуправления: правильная рука, правильная частота кадров, правильное пространство действий. Без преобразования RLDS, без переназначения.
Получить настольный клиентМогу ли я обучить политику на DROID и запустить ее на моем SO-100?▾
Не напрямую. В сборке LeRobot действия DROID представляют собой 7-мерные команды концевого эффектора для Franka Panda при 15 кадрах в секунду; в необработанном RLDS они представляют собой 6 скоростей суставов плюс положение захвата. SO-100 принимает 6 абсолютных положений суставов. Вам потребуется слой обратной кинематики, и даже тогда 5-степенная кисть не сможет воспроизвести произвольные 6-степенные позы.
Могу ли я смешивать эпизоды DROID или Bridge с моими собственными эпизодами SO-100?▾
Нет. validate_all_metadata требует идентичных fps, robot_type и feature schema и вызывает ValueError при первом несоответствии. Все три отличаются: 15 или 5 кадров в секунду против 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,9 тыс. эпизодов и 10,6 млн кадров, оцененных на реальных руках SO-100 и SO-101. ACT — это противоположность: нет базовой модели, 20 мс на шаг действия.
Сколько моих собственных эпизодов мне на самом деле нужно?▾
30 для SmolVLA, 50 для GR00T N1.7, GR00T N1.5, Pi0.5 и ACT. При стандартных настройках LeRobot: 60 с на эпизод и 60 с на сброс, 50 эпизодов — это 100 минут реального времени. Заимствованные данные кросс-воплощения не снижают эти числа.
Sources
- DROID: Масштабный набор данных для манипуляций роботов в реальных условиях
- Документация DROID: размеры для скачивания и схема эпизодов RLDS
- BridgeData V2: Набор данных для масштабного обучения роботов
- Страница проекта BridgeData V2: состав и охват камер
- Open X-Embodiment: Наборы данных для обучения роботов и модели RT-X
- Страница проекта Open X-Embodiment
- google-deepmind/open_x_embodiment: список наборов данных и контрольные точки RT-1-X
- any4lerobot: конвертер openx2lerobot и его унифицированное 8-мерное состояние, 7-мерное действие
- 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