Обучение в симуляции, развертывание на реальном роботе: Microduck с Isaac Lab 3.0
Эта публикация подготовлена в сотрудничестве с Антуаном Пирроном, Огюстеном Крампеттом, Матьё Лапейром, Корали Депланн, Анн-Шарлоттой Пассиниси и Томасом Вулфом.
Кратко
Microduck — это недавно выпущенный доступный двуногий робот с открытым исходным кодом от Pollen Robotics и Hugging Face. Теперь вы можете обучить Microduck ходить с помощью Isaac Lab и Newton. Протестируйте политику, экспортируйте её в ONNX и разверните на реальном роботе. Поделитесь ею на Hugging Face Hub или проверьте её для участия в соревнованиях на Microduck Arena, а затем изучите более сложные задачи с помощью NVIDIA Isaac Lab.
Введение
Политика ходьбы, обученная в симуляции, также должна учитывать трение, задержки и механический люфт сервоприводов реального робота. NVIDIA Isaac Lab — это фреймворк с открытым исходным кодом для обучения политик в тысячах параллельных симуляций на GPU. С помощью Newton, моделирования приводов и рандомизации предметной области разработчики могут подготовить политики для реального оборудования. Microduck воплощает этот рабочий процесс в жизнь: обучите политику ходьбы в симуляции, экспортируйте её в ONNX и разверните на реальном двуногом роботе.
В этом руководстве вы пройдёте через обучение и оценку Microduck с помощью Isaac Lab и Newton, а затем экспортируете политику для развертывания. После этого вы сможете поделиться моделью на Hugging Face Hub, проверить её совместимость и принять участие в Microduck Arena или использовать её на собственном Microduck. Ходьба — это только начало: связанные примеры помогут вам изучить новые возможности Isaac Lab 3.0.
1. Установите Isaac Lab и подготовьтесь к обучению Microduck
Для симуляции и обучения вам понадобятся:
Рабочая станция Linux с поддерживаемыми GPU и драйвером NVIDIA. См. требования.
Git и uv.
Для развертывания также понадобятся:
Настроенный физический Microduck.
Установленное и работающее бортовое программное обеспечение робота.
Поддерживаемый интерфейс управления, например подключённый геймпад.
Быстрая установка
В Linux с поддерживаемыми GPU и драйвером NVIDIA установите uv (пропустите первые две строки, если он уже доступен), клонируйте Isaac Lab и установите его зависимости:
curl -LsSf https://astral.sh/uv/install.sh | sh
source "$HOME/.local/bin/env"
git clone --branch develop https://github.com/isaac-sim/IsaacLab.git
cd IsaacLab
uv sync
Убедитесь, что задачи и пресеты Microduck доступны:
uv run isaaclab list_envs --keyword MicroDuck --show_presets
2. Изучите готовую к обучению среду Microduck
Isaac Lab уже предоставляет модель робота Microduck, сцену, наблюдения, действия, награды и рандомизацию предметной области. Начните с задачи ходьбы по ровной поверхности; вариант для пересечённой местности добавляет лестницы, склоны и неровный рельеф.
Рисунок 2. Среды Microduck рядом: ровная поверхность (слева) и неровный рельеф (справа).
Политика получает 61 значение наблюдений и выдаёт 14 позиций суставов. При экспорте и развертывании сохраняйте тот же порядок наблюдений, нормализацию и масштабирование действий. Полный список наблюдений, наград и настроек симуляции см. в конфигурации задачи Microduck.
3. Ускорьте обучение ходьбе с помощью параллельных сред Isaac Lab
Isaac Lab ускоряет обучение ходьбе Microduck, запуская смоделированные среды параллельно на GPU. Isaac Lab также поддерживает распределённое обучение на нескольких GPU, например обучение на 16 GPU для ускорения процесса и повышения устойчивости. В такой конфигурации можно достичь скорости до 1,25 млн шагов в секунду при включённых пересечённой местности и люфте.
В этом руководстве мы используем Newton с решателем MJWarp и улучшенными моделями приводов на базе Newton (BAM) для моделирования реакции сервоприводов, а также пресет люфта, чтобы преобразовывать целевые положения в реалистичные моменты сервоприводов с учётом контроллера прошивки, электрических ограничений двигателя, трения и задержки. Чтобы политика переносилась из симуляции, мы используем рандомизацию предметной области. Для каждой утки мы рандомизируем массу и положение центра масс, трение о поверхность, инерцию суставов, смещения энкодеров, напряжение и просадку батареи, а также задержку команд. Мы также изменяем рельеф и применяем толчки, а люфт задаём независимо для каждого сустава, чтобы имитировать неравномерный износ.
Люфт — это механическая свобода в редукторе: когда сустав меняет направление, передача может немного переместиться, прежде чем войти в зацепление. Моделирование этого эффекта и его изменение для разных суставов во время обучения позволяет познакомить политику с различиями, с которыми она может столкнуться на реальном роботе.
Запустите обучение следующей командой:
uv run isaaclab train \
--rl_library rsl_rl \
--task IsaacContrib-Velocity-Rough-MicroDuck \
--num_envs 4096 \
presets=backlash
Для развертывания мы использовали пересечённую местность, но вместо этого можно обучить среду с ровной поверхностью следующей командой:
uv run isaaclab train \
--rl_library rsl_rl \
--task IsaacContrib-Velocity-Flat-MicroDuck \
--num_envs 4096 \
presets=backlash
4. Оцените политику ходьбы Microduck и экспортируйте её в ONNX
Чтобы развернуть политику ходьбы Microduck на физическом роботе, экспортируйте её в ONNX после оценки в симуляции. Процесс воспроизведения RSL-RL в Isaac Lab автоматически экспортирует файлы TorchScript (policy.pt) и ONNX (policy.onnx). Используйте policy.onnx с бортовой средой выполнения Microduck, сохраняя порядок наблюдений, нормализацию и масштабирование действий, применявшиеся при обучении.
Запустите последнюю контрольную точку в визуализаторе Newton:
uv run isaaclab play \
--rl_library rsl_rl \
--task IsaacContrib-Velocity-Rough-MicroDuck \
--checkpoint latest \
--num_envs 16 \
--viz newton_gl \
presets=backlash
Замените latest путём к конкретной контрольной точке.
Рисунок 4. Microduck выполняют политику ходьбы по неровному рельефу в симуляции.
Экспортируйте политику для Microduck
Для развертывания мы будем использовать политику для среды с пересечённой местностью. Текущая реализация воспроизведения RSL-RL экспортирует файлы TorchScript и ONNX в каталог exported, связанный с выбранным запуском:
exported/
├── policy.pt
└── policy.onnx
Бортовая среда выполнения Microduck загружает политики ONNX. Используйте policy.onnx для передачи на оборудование. Автоматический экспорт реализован в бэкенде воспроизведения RSL-RL Isaac Lab.
5. Делитесь политиками на Hugging Face и оценивайте их в Microduck Arena
После экспорта policy.onnx вы можете:
Сравнить её в Microduck Arena — Space на Hugging Face для тестирования совместимых политик в общих испытаниях и сравнения результатов в таблице лидеров. Arena принимает модели с 61 значением наблюдений, 14 значениями действий и максимальным размером 64 МиБ. Следуйте руководству по отправке, чтобы проверить совместимость и принять участие в испытании.
Запустить её на реальном Microduck. После проверки интерфейса наблюдений и действий из раздела 4 используйте файл ONNX с бортовой средой выполнения робота; перенос на оборудование описан в разделе 6.
Поделиться ею на Hugging Face Hub. Загрузите политику, чтобы другие могли найти и скачать её. Рекомендуем добавить краткую карточку модели с объяснением того, как её использовать. Также можно включить конфигурацию обучения, чтобы помочь другим воспроизвести ваши результаты.
6. Разверните политику ходьбы ONNX на реальном Microduck
После проверки политики в симуляции и её интерфейса (раздел 4) разверните policy.onnx на настроенном Microduck:
- Скопируйте политику с рабочей станции, заменив ROBOT_HOST именем хоста или IP-адресом робота:
scp exported/policy.onnx microduck@ROBOT_HOST:/home/microduck/my_walking.onnx
- Подключитесь к роботу и проверьте его текущие политики:
ssh microduck@ROBOT_HOST
robotctl policy list
- Поддерживайте робота на стойке, затем загрузите политику ходьбы. Если он уже идёт, загрузка вернёт его в исходную позу и возобновит движение.
sudo robotctl policy load walk /home/microduck/my_walking.onnx
- Используйте документированные элементы управления, чтобы проверить стояние, медленную ходьбу, повороты и остановку. Следите за состоянием робота; при необходимости восстановите стандартную политику ходьбы:
robotctl monitor
sudo robotctl policy reset walk
Следуйте руководству по загрузке политик Microduck для настройки среды выполнения и поведения. На рисунке 5 показана устойчивость развернутой политики к падениям: Microduck восстанавливает равновесие и продолжает идти после опрокидывания.
Рисунок 5. Реальный Microduck идёт с политикой ходьбы, обученной в Isaac Lab.
7. Расширьте обучение Microduck для пересечённой местности и задач восприятия с помощью Isaac Lab
Isaac Lab 3.0 открывает возможности параллельного обучения роботов на GPU для задач ходьбы, высокоточных манипуляций и задач на основе зрения, предоставляя расширяемые среды и настраиваемые физические и графические бэкенды. Изучите эти примеры и инструменты:
Более сложная ходьба: Адаптируйте задачу Microduck для пересечённой местности для лестниц, склонов и неровного грунта, используя учебную программу, постепенно повышающую сложность рельефа.
Задачи восприятия и навигации: Расширьте политику ходьбы Microduck данными глубины с камеры на голове и наблюдениями за состоянием робота, чтобы исследовать задачи на основе восприятия в симуляции. На расположенной ниже GIF-анимации показано преодоление рампы. Изучите наблюдения с камер в примерах Kuka–Allegro для манипуляций с использованием зрения.
Высокоточные манипуляции: Попробуйте задачи Kuka–Allegro по подъёму и переориентации, чтобы обучить руку и многопалый захват манипулировать объектами.
Пользовательские среды: Используйте генератор проектов, чтобы создать собственную задачу, затем добавьте готовые к симуляции (SimReady) объекты из библиотеки SimReady Central и настройте наблюдения и награды для новых испытаний.
Рисунок 7. Параллельное обучение в NVIDIA Isaac Lab позволяет смоделированным Microduck практиковаться в преодолении различных рамп и платформ, одновременно обучаясь сохранять равновесие и избегать падений
Рисунок 8. Задача восприятия Microduck в симуляции: выше показан внешний вид, ниже — изображения RGB, глубины и сегментации.
Создайте следующую политику ходьбы
Начните с задачи Microduck в Isaac Lab, обучите свою первую политику ходьбы и поделитесь экспортированной моделью ONNX на Hugging Face Hub. Проверьте её в Microduck Arena, примите участие в испытании и сравните свою политику с другими. Затем развивайте полученные навыки: попробуйте более сложный рельеф, добавьте восприятие или создайте собственную задачу.
Ресурсы
Главная страница Microduck (заказ, быстрый старт, установка)
Руководство по программному обеспечению и развертыванию робота Microduck
Благодарности
Этот рабочий процесс основан на аппаратном и программном обеспечении Microduck от Pollen Robotics, оригинальном проекте обучения Microduck с подкреплением, работах по моделированию приводов BAM, а также интеграциях Isaac Lab и Newton.
Пространства, упомянутые в этой статье 1
Другие материалы этого автора
Сообщество
· Зарегистрируйтесь или войдите, чтобы оставить комментарий
Пространства, упомянутые в этой статье 1
Переведено автоматически с английского. Оригинал статьи — по ссылке ниже.






