Как обучать навигации роботов разных типов с помощью ИИ-агентов
NVIDIA описала рабочий процесс обучения навигационной политики для разных роботов и сцен с помощью ИИ-агентов. В основе — программная платформа COMPASS, которая использует готовую политику NVIDIA X-Mobility и дообучает для конкретной пары «робот — среда» остаточную RL-политику. В качестве эталонного робота взят Boston Dynamics Spot, а в качестве сцен — встроенный склад COMPASS и помещения из SAGE-10K. ИИ-агент проверяет зависимости, подготавливает ресурсы, запускает тесты и обучение, диагностирует сбои и сравнивает контрольные точки. Человек подтверждает ключевые этапы: готовность сцены, результаты теста в одной среде и продвижение контрольной точки.
Навигация позволяет роботу превращать восприятие и движение в целенаправленное автономное поведение. В отличие от локомоции, которая отвечает за устойчивое перемещение, навигация должна постоянно определять положение робота, интерпретировать меняющееся окружение, выбирать маршрут и обходить препятствия, чтобы безопасно достичь цели.
Перенос такой способности на нового робота или в новую сцену может потребовать новых данных, ресурсов для симуляции, интерфейсов робота, обучения, диагностики и оценки. Повторять весь процесс для каждой пары «робот — сцена» дорого и сложно воспроизводимо.
ИИ-агент уменьшает объём этой работы. Разработчик задаёт робота, источник сцены и навигационную цель. Агент для программирования использует навыки из репозитория, чтобы проверить зависимости, подготовить ресурсы, выполнить быстрые тесты, запустить обучение, найти причины ошибок и сравнить контрольные точки. Человек подтверждает принятие сцены, тест в одной среде и продвижение контрольной точки на следующий этап.
В качестве эталонного робота используется Spot. В руководстве показан рабочий процесс COMPASS с агентом для встроенной сцены и сцены SAGE-10K, а также объясняется, как NVIDIA Omniverse NuRec работает с реконструированными окружениями. Процесс проходит через быстрый тест, остаточное обучение, оценку контрольных точек и интеграцию во время работы, включая необязательную одометрию.
Что такое COMPASS
COMPASS расшифровывается как «мобильность роботов разных типов с помощью остаточного RL и синтеза навыков». Это единая программная платформа для масштабируемой мобильности роботов разных типов, которая использует экспертные демонстрации одного робота.
COMPASS повторно применяет навигационное поведение предварительно обученной политики NVIDIA X-Mobility. Для выбранных робота и среды он обучает остаточную специализированную политику — RL-политику, которая корректирует базовое действие вместо того, чтобы заново учить навигацию с нуля. Позже данные от нескольких таких специалистов можно дистиллировать в единую политику, работающую с разными типами роботов.
Архитектура политики COMPASS, которую обучает и оценивает описанный рабочий процесс, показана в источнике на рисунке 1.
COMPASS оформляет этот процесс разработки в виде навыков репозитория. В руководстве для разработки используется Codex. После обучения политика и контроллер робота выполняют навигацию во время работы автономно, без участия агента для программирования.
В эталонном процессе используется четвероногий Boston Dynamics Spot. Встроенный склад — основной воспроизводимый путь. SAGE-10K позволяет перейти к сгенерированной сцене, а NVIDIA Omniverse NuRec предлагает дополнительный вариант для реконструированного окружения.
Если у робота нет совместимой одометрии и преобразований координат, для работы можно использовать NVIDIA cuVSLAM — библиотеку визуальной одометрии и одновременной локализации и построения карты, ускоренную с помощью CUDA.
Подготовка репозитория
При переносе процесса в другую среду нужно использовать закреплённый в репозитории программный набор COMPASS и соответствующие аппаратные требования.
Сначала следует подготовить репозиторий и заранее задать агенту для программирования понятный рабочий контракт. До начала работы со сценой нужно скачать ресурсы с ограниченным доступом, сделать навык COMPASS доступным для Codex, проверить набор программ и остановиться на этапе одобрения среды.
Блоки `$compass` предназначены для копирования в чат Codex из корня репозитория COMPASS, а не для запуска в командной строке. В Claude Code тот же процесс вызывается командой `/compass`.
В Codex сначала нужно открыть навыки репозитория через `.agents/skills`, затем выбрать COMPASS с помощью `/skills` или упомянуть `$compass` в запросе. Codex поддерживает каталоги навыков, подключённые символическими ссылками, поэтому текущий навык можно оставить в поддерживаемом месте. В Claude Code используется тот же рабочий процесс через `/compass`.
ИИ-агент может клонировать репозиторий, собирать проект, скачивать ресурсы без секретов и проверять программный набор. Условия доступа к репозиториям должен принять разработчик, и он же должен ввести токен Hugging Face вне чата. Агент не должен запрашивать, показывать или сохранять токен в журналах.
Нужно клонировать репозиторий COMPASS и пройти быстрое начало работы из руководства COMPASS в контейнере, закреплённом репозиторием. До первого запуска следует открыть доступ к закрытым репозиториям Hugging Face `nvidia/COMPASS` и `nvidia/X-Mobility`, создать токен Hugging Face с правом чтения и проверить, что он позволяет читать доступные аккаунту общедоступные репозитории с ограниченным доступом. Токен нужно передавать только в текущую оболочку. Его нельзя вставлять в запрос агента или добавлять в систему контроля версий.
Этап подготовки ресурсов скачивает зарегистрированные ресурсы симуляции в `./assets/usd/`, а предварительно обученную контрольную точку X-Mobility — в `./assets/x_mobility.ckpt`. Ответы 401 или 403 обычно означают, что доступ к репозиторию не настроен полностью или у токена недостаточный набор прав. Сначала нужно исправить аутентификацию и только потом искать проблемы в Isaac Lab.
Каждый этап должен завершаться проверяемыми свидетельствами до перехода к следующему. Критерии одобрения зависят от проекта, но на каждом этапе нужно ответить на четыре вопроса: все ли необходимые входные данные на месте, появились ли ожидаемые результаты, остались ли нерешённые ошибки и достаточно ли свидетельств для продолжения.
После запуска контейнера разработчик открывает агента для программирования из корня репозитория и описывает робота, сцену, ожидаемый результат навигации и этапы, требующие одобрения. Для базового процесса в чат агента передаётся соответствующий запрос.
Навык `$compass` проверяет запрошенный процесс по содержимому репозитория и запускает нужные проверки. Если запуск завершается ошибкой, `$compass-doctor` выполняет проверку состояния только для чтения и сообщает вероятные причины, не меняя окружение без разрешения.
Подготовка сцен
В процессе рассматриваются три источника сцен:
Для каждой сцены нужно выполнить свои проверки регистрации, карты занятости и одобрения перед началом обучения.
Начинать рекомендуется с зарегистрированного склада `combined_multi_rack`. Это самый быстрый воспроизводимый базовый вариант: робот, сцена и карта занятости уже зарегистрированы. Такой путь подходит для проверки установки до перехода к новой сцене.
ИИ-агенту можно передать запрос, который запускает базовый процесс и останавливается после быстрого теста.
SAGE-10K содержит 10 000 сгенерированных сцен помещений 50 типов. Это набор сцен, а не политика и не симулятор. Каждая сцена включает геометрию, материалы, метаданные планировки и предварительный просмотр. Подготовка сцен гостиной и склада проходит одинаково, поэтому скачивать весь набор не требуется: достаточно выбрать подходящий вариант.
Для SAGE-10K предусмотрены две точки одобрения человеком. Сначала в NVIDIA Isaac Sim нужно проверить преобразованный USD-файл: геометрию, материалы, масштаб и коллизионные сетки. После регистрации сцены и создания карты занятости нужно одобрить предварительный просмотр в одной среде перед полным обучением.
Карта занятости показывает свободное и заблокированное пространство. Она определяет, где робот может корректно появляться, а навигационные цели могут считаться допустимыми.
ИИ-агенту можно передать запрос для отбора сцены, а затем остановить процесс на обеих точках одобрения.
Реконструкция с NuRec
Omniverse NuRec подходит, если COMPASS нужно дообучить и проверить в реконструкции среды, где будет работать робот. NuRec превращает стереосъёмку RGB-камерой в реконструкцию, готовую для Isaac Sim, с согласованной визуальной геометрией, коллизионными сетками и возможностью дополнительно расширять сцену.
Документированный процесс COMPASS для NuRec включает регистрацию отрисованной сцены, проверку предоставленной карты занятости и принятой системы отсчёта, проверку зазоров для робота и быстрый тест в одной среде перед обучением.
NuRec в руководстве остаётся дополнительным вариантом. Практическая часть обучения продолжается на SAGE-10K, чтобы показать весь путь на одной сцене — от подготовки до оценки. Для реконструированного окружения следует использовать рабочий процесс COMPASS NuRec и руководство NVIDIA Isaac Sim NuRec, включая пример с гостиной. Эти материалы описывают подготовку сцены, обучение, оценку, экспорт и развёртывание в ROS 2.
Для подготовки зарегистрированной сцены NuRec и остановки перед обучением агенту передаётся отдельный запрос.
Быстрый тест
После того как выбранная сцена стала доступна COMPASS, нужно выполнить предварительный просмотр в одной среде и только потом увеличивать масштаб обучения. Для SAGE-10K до этого необходимо завершить визуальную проверку и одобрение регистрации сцены.
Во время быстрого теста нужно убедиться, что:
ИИ-агент должен обобщить журналы предварительного просмотра и визуальные свидетельства, указать блокирующие проблемы и остановиться для одобрения человеком. К остаточному обучению можно переходить только после проверки совместной работы сцены, робота, наблюдений и интерфейса действий.
Остаточное обучение
На этом этапе предварительно обученная политика X-Mobility адаптируется к выбранным роботу и сцене. Нужно запустить остаточное обучение с подкреплением, следить за процессом, сохранять подходящие контрольные точки и собирать свидетельства для последующей оценки.
После одобрения быстрого теста в одной среде ИИ-агент может запустить стандартный процесс остаточного RL. Пример использует Spot и встроенный склад. При работе со сгенерированной сценой ключ среды нужно заменить на зарегистрированную сцену SAGE-10K.
Остаточное обучение может идти долго. Агенту следует запускать его в постоянном сеансе или через управляемый планировщик, записывать журналы и контрольные точки в настроенный каталог результатов и сообщать о ходе процесса, не удерживая открытым интерактивный сеанс.
До старта обучения нужно зафиксировать:
Если процесс прервался, следует проверить целостность последней контрольной точки и уточнить поддерживаемые параметры продолжения обучения.
Параметр `--num_envs` задаётся с учётом доступной памяти GPU. Для быстрого теста используется только одна среда. Во время обучения нужно отслеживать компоненты награды, продвижение к цели, контакты и падения, завершения эпизодов, производительность и расход памяти GPU.
Контрольные точки следует сохранять периодически и проверять в одинаковых условиях. Нельзя считать, что лучшей окажется именно последняя итерация. COMPASS также поддерживает распределённое обучение на нескольких GPU для более крупных запусков. Время обучения зависит от оборудования, сложности сцены, числа сред и критериев остановки.
Перед изменением среды или конфигурации обучения нужно использовать диагностический процесс COMPASS. Ошибки аутентификации следует направлять к проверке доступа Hugging Face, проблемы загрузки сцены и коллизий — к подготовке сцены, ошибки камеры и интерфейса действий — к этапу быстрого теста, а нехватку памяти — к настройке числа сред или многопроцессорного обучения на нескольких GPU.
Нужно сохранить конфигурацию обучения, команду запуска, ревизию репозитория, регистрацию сцены, карту занятости, свидетельства быстрого теста, журналы, контрольные точки и манифест артефактов. Перед изменением зависимостей, ресурсов сцены, наград или параметров обучения требуется одобрение разработчика.
Оценка контрольных точек
После обучения нужно определить, готова ли остаточная контрольная точка к продвижению. Для этого предварительно обученную базовую политику и кандидатов на основе остаточного обучения сравнивают в одинаковых условиях.
Стандартная оценка COMPASS включает три показателя:
Дополнительные сведения — например, продвижение к цели, поведение при контактах, время ожидания и стабильность команд — нужно помечать как производный анализ или данные пользовательской инструментализации.
Контрольную точку можно продвигать только после того, как сопоставимые результаты пройдут проектные требования по навигации и безопасности, а человек одобрит упаковку результата. Для запуска оценки агенту передаётся запрос, адаптированный под конкретных робота, сцену, контрольные точки и необходимый набор свидетельств.
Подключение к роботу
После завершения разработки обученная политика подключается к рабочему процессу робота. На этом этапе проверяются входы и выходы политики, возможность использовать cuVSLAM для одометрии и отдельный процесс для робота, которого ещё нет в реестре.
ИИ-агент координирует разработку и проверку, но во время работы робота не управляет им.
Этап подготовки ресурсов COMPASS скачивает предварительно обученную контрольную точку X-Mobility для быстрого теста и остаточного обучения. Обучение создаёт остаточную контрольную точку для выбранных робота и сцены. Экспорт и развёртывание упаковывают обученную политику для инференса. Базовую и остаточную политики не нужно подключать вручную как два отдельных компонента ROS 2.
В эталонной интеграции ROS 2 компонент `compass_inference` преобразует изображения с передней камеры, навигационную цель или маршрут и скорость робота, полученную из одометрии, во входы экспортированной политики. Компонент публикует команды линейной скорости вперёд и угловой скорости в `/cmd_vel`.
Рекуррентное состояние и предыдущее действие остаются внутренними данными реализации инференса и не относятся к внешним входам интеграции ROS. Для конкретного развёртывания нужно проверить системы координат, частоты обновления, нормализацию, ограничения команд, поведение при остановке и контроллер физического робота.
Одометрия с cuVSLAM
cuVSLAM следует использовать, когда роботу требуется оценка состояния по камере в окружении без GPS или с нестабильным GPS, а сам робот не предоставляет совместимую и проверенную одометрию с преобразованиями координат.
Одометрия cuVSLAM может поддерживать навигатор COMPASS, но карта, построенная этой библиотекой, не подаётся на вход навигационной политики.
cuVSLAM не участвует в обучении политики COMPASS и не требует навыка агента. Библиотеку нужно запускать как отдельный компонент ROS 2 с согласованными версиями, подключить или перенаправить её одометрию в `/chassis/odom`, передать обязательное преобразование `odom` в `base_link`, а также проверить калибровку, временные метки, имена топиков и соглашения о системах координат.
Для настройки и диагностики этого компонента во время разработки можно использовать дополнительные навыки `$cuvslam-onboard` и `$cuvslam-troubleshoot`.
Новый тип робота
Если робот ещё не зарегистрирован, `$compass-newembodiment` проводит разработчика через настройку робота, регистрацию среды, сопоставление действий и визуальный быстрый тест в одной среде.
Подключение нового типа робота — отдельная инженерная задача по сравнению с обучением специалиста для уже поддерживаемого робота. При этом используется тот же принцип проверок и одобрений.
Руководство заканчивается на этапе оценки контрольных точек. Экспорт в ONNX, JIT или TensorRT, интеграция с ROS 2 и запуск на физическом оборудовании требуют отдельной проверки для конкретного робота и рабочего окружения.
Качество сцены, длительность обучения и характеристики контрольной точки зависят от типа робота, среды, устройства награды и доступных вычислительных ресурсов. Поэтому рабочий процесс не задаёт универсальный порог успешности.
Для воспроизведения и расширения процесса предлагается начать с эталонного пути, а затем добавлять по одному компоненту за раз и обратиться к указанным в источнике ресурсам.
Ежедневные новости об ИИ
Каждый день отбираем важные новости об ИИ, роботах и метавселенных и рассказываем главное — без хайпа и воды. Если хотите понимать, что происходит в ИИ раньше остальных, — подписывайтесь.
Только важное — каждый день
В Telegram