Политика π0.5 предсказывает латентные токены движения SONIC на основе языковой подсказки, состояния робота и данных с камер. Быстрый контроллер, работающий на G1, декодирует эти токены в стабильное полнотелое движение с 29 степенями свободы.
В этой статье показано, как мы объединяем аппаратное обеспечение с открытым исходным кодом, телеуправление, наборы данных и обучение политик в LeRobot для создания этого рабочего процесса на Unitree G1. Вы узнаете, как демонстрации превращаются в политику π0.5, которая предсказывает токены движения SONIC, и как быстрый контроллер всего тела превращает эти токены в движения робота. Наконец, вы узнаете о более широкой экосистеме гуманоидов в LeRobot.
Почему гуманоидам нужен другой стек управления
LeRobot — это полнофункциональная библиотека Python для обучения роботов с открытым исходным кодом. Ранние интеграции были сосредоточены на манипуляторах и мобильных роботах, где политика может отправлять фрагменты действий непосредственно на приводы.
Бипед, напротив, должен постоянно сохранять равновесие во время ходьбы, захвата объектов и реагирования на внешние воздействия. Одного вывода VLA недостаточно для прямого управления такой динамикой. Поэтому мы поместили быстрый контроллер между обученной политикой и роботом: политика предсказывает компактные токены движения, а контроллер превращает их в динамически выполнимые целевые значения для суставов.
Начиная с OpenHLM
Наша отправная точка — OpenHLM: Open Humanoid Loco-Manipulation.
В статье OpenHLM авторы обучают π0.5 из OpenPI на демонстрациях движений всего тела Unitree G1. Политика принимает язык, данные с камер и состояние робота, предсказывая фрагменты латентных токенов движения SONIC. Декодер SONIC превращает эти токены в целевые значения суставов, которые отслеживаются низкоуровневым PD-контроллером робота.
Другими словами, π0.5 изучает поведение на уровне задач, в то время как SONIC отвечает за быстрое выполнение движений всем телом.
Статья OpenHLM также показывает, что полезные навыки локомоции и манипуляции можно изучить на относительно небольшом количестве специфических данных: производительность в рамках бенчмарка в значительной степени насыщается примерно при 40 демонстрациях на задачу.
Мы следуем тому же базовому рецепту, но с небольшими отклонениями:
- Сбор демонстраций телеуправления всем телом.
- Запись 64-мерного латентного представления действий из энкодера SONIC вместо целевых значений суставов робота.
- Обучение VLA предсказанию этого латентного представления.
- Исполнение с помощью декодера SONIC.
Физическая настройка G1
Мы оснащаем Unitree G1 захватами, камерами и дополнительным оборудованием CAN, большая часть которого адаптирована из проекта Unfolding Robotics.
Сначала мы устанавливаем захваты OpenArm на запястья G1 с помощью изготовленных на заказ 3D-печатных адаптеров.
Захваты OpenArm с кастомными адаптерами для запястий
Дополнительная камера установлена на голове G1 с помощью печатного держателя, что дает политике стабильный эгоцентрический обзор, независимый от камер на запястьях. Печатный корпус на спине G1 вмещает адаптер CAN-FD и дополнительную кабельную разводку для захватов и камер. Съемная лицевая панель обеспечивает доступ к интерфейсу без разборки робота.
Рюкзак-корпус G1 в закрытом (по центру) и открытом (справа) виде.
Печатные детали доступны в lerobot/unitree-g1-hardware-modifications.
Превращение движений человека в действия робота
Во время телеуправления оператор предоставляет кинематический ориентир через VR-гарнитуру: позы головы и запястий вместе с позами лодыжек или командами навигации в зависимости от режима телеуправления, который мы переключаем во время эпизода по мере необходимости.
Это опорное движение преобразуется в формат SMPL и проходит через энкодер SONIC.
VR-телеуправление. Оператор задает движение головы и запястий, а SONIC заполняет остальную часть тела. Полученный поток латентных движений становится целевым действием, используемым для обучения с подражанием.
SONIC — это относительно небольшой автокодировщик (42 миллиона параметров), обученный на более чем 100 миллионах кадров движения из BONES-SEED, перенацеленных на Unitree G1. Его компактный размер позволяет запускать его непосредственно на роботе, где важна низкая задержка: задержки между наблюдениями и действиями приводят к отклонению выполняемой траектории от желаемой.
В этой архитектуре различные источники движения, такие как позы VR, опорные суставы, движения человека, движения, полученные из видео, или выходные данные обученной политики, кодируются в общий 64-мерный квантованный токен движения. Декодер объединяет этот токен с короткой историей проприоцептивного состояния и создает исполняемые целевые значения суставов.
Архитектура универсальной политики управления SONIC. Интеграция в LeRobot фокусируется на пути декодирования со стороны робота: вызывающая сторона предоставляет токен движения, а контроллер превращает его в исполняемое движение G1.
Отделение VLA от контроллера означает, что обученной политике не нужно заново открывать баланс и координацию всего тела на основе относительно небольшого набора данных задач.
От демонстраций к VLA
Чтобы продемонстрировать конвейер, мы обучили политику захвата и перемещения банки, используя nepyope/can_clean_final.
Набор данных содержит около 100 эпизодов при 50 кадрах в секунду, или около 71 минуты телеуправления всем телом. Каждый эпизод использует языковую инструкцию «Принеси банку на белый стол».
Для каждого временного шага записываются три потока с камер, все в разрешении 480×640.
Состояние является 31-мерным: 29 позиций суставов G1 + 2 состояния захвата. Действие является 66-мерным: 64 для латентного представления SONIC + 2 команды захвата.
Затем мы дообучаем lerobot/pi05_base в течение 12 000 шагов на 4×H100 GPU. Полученная политика опубликована как nepyope/pi05-can-to-martino-12k.
Полные команды для обучения и развертывания находятся в документации, а не в этой статье. См. G1 training and inference для воспроизводимого рабочего процесса.
ViBE и Depth Dodge
Что, если бы вам не понадобился VLA? В этом эксперименте мы пытаемся воспроизвести результаты ViBE и ORCS: мы обучаем LoRA-адаптер поверх SONIC в mjlab с использованием PPO, с целью избежать брошенных мячей, используя данные глубины с головной камеры вместе с состоянием собственного тела.
Обзор архитектуры: глубина с головной камеры проходит через замороженную Theia-Tiny и 16-кадровый временной адаптер, формируя 128-мерное визуальное резюме. Семь LoRA-адаптеров подают его вместе с состоянием тела G1 в SONIC для создания целевых значений суставов.
Визуальный путь использует замороженную Theia-Tiny, небольшую базовую модель зрения для обучения роботов, дистиллированную из нескольких готовых базовых моделей зрения. Компактный обученный временной адаптер суммирует 16 кадров камеры глубины (около 0,6 секунды) в 128-мерный вектор. Семь низкоранговых адаптеров позволяют SONIC объединить этот вектор с текущим состоянием робота для создания целевых значений суставов. Во время обучения вспомогательная цель требует, чтобы перцепт предсказывал положение и скорость мяча. В симуляции этот визуальный сигнал был ключевым: PPO только с наградой не научился надежно уклоняться. Во время выполнения G1 использует глубину с головной камеры напрямую, как показано выше.
В ходе сиmulyatsionnoy оценки по трем сидам выпущенная политика глубины уклонилась от 79,1% обработанных бросков. Та же политика с нулевой глубиной показала 0% уклонений, в то время как привилегированный оракул, знающий истинное состояние мяча в симуляторе, достиг 97,4%. Это результат симуляции, а не измеренный показатель успешности на реальном железе. Проект также включает демонстрационный ролик развертывания на физическом G1. Это демонстрация работы оборудования, а не контролируемая оценка, и в ролике не указаны конкретный чекпоинт или настройки камеры. Код реализации, примечания по развертыванию и выпущенные веса можно найти здесь here.
Более чем один контроллер всего тела
Управлять G1 также можно с помощью NVIDIA GR00T-WholeBodyControl и Amazon FAR Holosoma в LeRobot. Для их сравнения загляните в этот спейс.
В более широком смысле мы поддерживаем:
- Визуализацию датасетов. Воспроизведение G1 URDF в визуализаторе LeRobot, что позволяет визуально оценивать движения робота.
- Полное проприоцептивное состояние. Интерфейс предоставляет данные о положениях и скоростях суставов, данные IMU, оценку крутящих моментов в суставах и температуры моторов.
- Кинематику рук. Кинематика и обратная кинематика рук G1 позволяют преобразовывать целевые положения конечных эффекторов в целевые положения суставов.
- Компенсацию гравитации. Интерфейс поддерживает ее для суставов верхней части тела.
- Симуляцию в MuJoCo. Тот же интерфейс Unitree G1 может подключаться к поставляемой в комплекте среде MuJoCo, позволяя отрабатывать код контроллеров и телеуправления в симуляции перед запуском на реальном роботе.
Документация Unitree G1 содержит инструкции по настройке и команды для этих рабочих процессов.
Аппаратное обеспечение гуманоидов LeRobot с открытым исходным кодом
За годы работы мы также открыли исходный код нескольких аппаратных компонентов для гуманоидов.
Перчатка Homunculus напрямую измеряет движение суставов пальцев для записи датасетов декстерных манипуляций и телеуправления. Последний релиз открытого железа включает кастомную плату ESP32-C3, которая считывает показания 16 датчиков Холла SS49E через мультиплексор, а также прошивку, разводку платы в KiCad, детали для печати, модель URDF и интерактивный просмотрщик. Стоимость материалов составляет менее 20 долларов, а проект включает интерактивное 3D-руководство по сборке.
Перчатка также интегрирована в LeRobot в качестве устройства телеуправления HomunculusGlove: она считывает серийный поток данных с датчиков, помогает откалибровать диапазон движений каждого пальца и проецирует движения перчатки на руку HOPE-Jr. Это дает разработчикам недорогой путь от носимого устройства ввода до руки робота и рабочего процесса телеуправления в LeRobot.
Позже мы развили эту идею в экзоскелет Homunculus для телеуправления руками. Вместо восстановления движений оператора всего по нескольким отслеживаемым точкам, экзоскелет напрямую измеряет движения суставов и переносит их на робота.
Публичным примером является nepyope/unitree_box_move_blue_full, содержащий 550 эпизодов и примерно 475 тыс. кадров данных телеуправления G1.
Аппаратное обеспечение имеет открытый исходный код. Прошивки, файлы печатных плат, геометрия STEP/STL и описания URDF доступны в:
Информацию о калибровке и рабочем процессе сбора данных в LeRobot см. в документации по локомоции и манипуляциям Homunculus.
Демонстрация HopeJr в SeedStudio
Эти устройства изначально создавались для управления HOPEJr, гуманоидной рукой с открытым исходным кодом для самостоятельной сборки, первоначально разработанной TheRobotStudio. HOPEJr — это полноразмерный гуманоид с ловкими руками на сухожильном приводе, собранный из деталей, напечатанных на 3D-принтере, и стандартных сервоприводов. Стоимость только интегрированных в LeRobot руки и кисти составляет около 500 евро.
Гуманоид LeRobot
Что касается локомоции, Виржиль Батто создал LeRobot Humanoid, полностью напечатанного на 3D-принтере 12-осевого бипеда (по 6 на каждую ногу), работающего на приводных модулях RobStride CAN-FD и Raspberry Pi 5. Стоимость спецификации материалов (BOM) составляет около 2500 долларов. Проект также публикует в качестве ресурсов с открытым исходным кодом CAD-модели Onshape, спецификации, схемы проводки, документацию по сборке, инструменты настройки моторов, симуляцию в MuJoCo, инструменты калибровки и обеспечения безопасности и многое другое.
Датасеты гуманоидов на Hub
HIW-500 — один из крупнейших примеров: более 500 часов и 23 тыс. эпизодов телеуправления Unitree G1 в 12 реальных домах.
Другие коллекции для всего тела включают датасеты UnifoLM-WBT от Unitree и бенчмарк HLM-12 от OpenHLM.
eidon-ai/tracker-pov содержит 1274 часа эгоцентрического видео в паре с 7-точечным трекингом рук с помощью IMU, записанных во время выполнения обычных домашних дел.
EgoHumanoid, например, объединяет демонстрации G1 с эгоцентрическими данными человека без робота, собранными с помощью VR-гарнитуры и закрепленной на голове камеры, объединяя их в единый интерфейс обучения.
BONES-SEED, корпус данных, лежащий в основе SONIC, содержит более 142 тыс. аннотированных человеческих движений (около 288 часов), включая ретаргетинг для Unitree G1.
Другие примеры включают OMG-Data с примерно 798 тыс. эпизодов движений G1, GRAIL от NVIDIA и многое другое.
Куда движутся гуманоиды в LeRobot
Наша цель — объединить все существующие инструменты, модели и данные с открытым исходным кодом для гуманоидов, чтобы их можно было использовать вместе, тем самым развивая сообщество и позволяя исследователям и ИИ тратить больше времени на работу над обучением роботов, а не на пересоздание сопутствующего стека.
Далее мы будем поддерживать ASIMOV, гуманоида с открытым исходным кодом от Menlo Research.
Начните работу с LeRobot.
– Команда LeRobot ❤️
Больше информации: Документация Unitree G1 · Управление всем телом SONIC · Локомоция и манипуляции Homunculus · Модификации оборудования G1 · Датасет can_clean_final · Политика pi05-can-to-martino-12k · HIW-500-LeRobot ·








