Как обучать навигации роботов с помощью ИИ-агентов
Навигация позволяет роботу превратить восприятие окружающей среды и движение в самостоятельное выполнение задачи: локализоваться, понимать изменения вокруг, выбирать маршрут, обходить препятствия и безопасно достигать цели. Перенос такой способности на другого робота или новую сцену требует новых данных, симуляционных ресурсов, интерфейсов, обучения, диагностики и оценки. В NVIDIA предлагают агентный рабочий процесс COMPASS: агент для программирования проверяет зависимости, подготавливает сцены, запускает тесты и обучение, ищет причины ошибок и сравнивает контрольные точки, а человек подтверждает ключевые этапы.
Что такое COMPASS
Локомоция отвечает за устойчивое движение, а навигация должна постоянно решать более широкий набор задач: определять положение робота, интерпретировать меняющуюся обстановку, выбирать маршрут и избегать препятствий по пути к цели.
Перенос этой способности на новую модель робота или другую сцену может потребовать повторной подготовки данных, симуляционных ресурсов и интерфейсов робота, а также нового обучения, диагностики и оценки. Если делать это отдельно для каждой пары «робот — сцена», процесс становится дорогим и плохо воспроизводимым.
Рабочий процесс с ИИ-агентом снижает объём ручной работы. Разработчик задаёт робота, источник сцены и навигационную цель. Агент для программирования использует навыки репозитория, чтобы проверить зависимости, подготовить ресурсы, провести дымовые тесты, запустить обучение, диагностировать сбои и сравнить контрольные точки. Человек подтверждает принятие сцены, тест в одной среде и продвижение контрольной точки на следующий этап.
В качестве эталонного робота в руководстве используется квадрупед Boston Dynamics Spot. Рабочий процесс COMPASS проходит через встроенную сцену и сцену из SAGE-10K, а NVIDIA Omniverse NuRec показан как вариант для реконструированных окружений. Далее рассматриваются дымовое тестирование, остаточное обучение, оценка контрольных точек и подключение политики к роботу, включая необязательное использование одометрии.
COMPASS расшифровывается как «мобильная политика для разных воплощений с помощью остаточного RL и синтеза навыков». Это единая платформа для масштабируемой мобильности роботов разных конструкций, которая использует экспертные демонстрации одного воплощения.
В основе лежит предварительно обученная политика NVIDIA X-Mobility. Для выбранного робота и окружения COMPASS обучает остаточного специалиста — политику обучения с подкреплением, которая корректирует действие базовой политики. Ей не приходится заново осваивать навигацию с нуля. Позднее данные от нескольких специалистов можно свести в общую политику для разных роботов.
COMPASS адаптирует базовую политику X-Mobility в специализированные политики для разных воплощений и дистиллирует их в политику для разных воплощений
Источник: developer.nvidia.com
Показанная архитектура COMPASS обучается и оценивается описанным рабочим процессом с ИИ-агентом.
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` выполняет проверку состояния только для чтения и сообщает вероятные причины, не меняя окружение без разрешения.
Подготовка сцены
COMPASS поддерживает три источника сцен: встроенный склад COMPASS, сгенерированные сцены SAGE-10K и окружения, реконструированные с помощью Omniverse NuRec. Для каждого варианта нужно выполнить регистрацию, подготовить карту занятости и пройти проверки одобрения до начала обучения.
Начать рекомендуется с зарегистрированного склада `combined_multi_rack`. Это самый быстрый воспроизводимый базовый сценарий: робот, сцена и карта занятости уже зарегистрированы. Такой путь позволяет проверить установку до добавления новой сцены.
Датасет SAGE-10K содержит 10 000 сгенерированных интерьеров 50 типов помещений. Это набор сцен, а не готовая политика или симулятор. Для каждой сцены доступны геометрия, материалы, метаданные планировки и предварительный просмотр. Сцены гостиных и складов подготавливаются одинаково, поэтому загружать весь датасет не требуется: достаточно выбрать подходящий вариант.
Для SAGE-10K предусмотрены две точки одобрения со стороны человека. Сначала нужно открыть преобразованный USD в NVIDIA Isaac Sim и проверить геометрию, материалы, масштаб и сетки столкновений, затем зарегистрировать сцену. После регистрации и создания карты занятости необходимо одобрить предварительный просмотр в одной среде перед полным обучением.
Карта занятости показывает свободное и заблокированное пространство, в котором можно выбирать допустимые начальные положения робота и навигационные цели. ИИ-агенту можно передать запрос для поиска подходящей сцены и остановки на обеих точках одобрения.
Omniverse NuRec используется, если COMPASS нужно дообучить и оценить в реконструкции окружения, где предполагается работа робота. NuRec преобразует стереоскопические RGB-съёмки в реконструкцию, совместимую с Isaac Sim, с согласованной визуальной геометрией, сетками столкновений и возможностью дополнительно изменять сцену.
Документированный путь COMPASS для NuRec включает регистрацию отрисованной сцены, проверку предоставленной карты занятости и соглашения о начале координат, оценку зазоров для робота и дымовой тест в одной среде до начала обучения.
NuRec в этом руководстве остаётся необязательным вариантом. Практическая часть обучения продолжается на SAGE-10K, чтобы провести одну сцену через подготовку и оценку. Для реконструированного окружения следует использовать рабочий процесс COMPASS NuRec и руководство NVIDIA Isaac Sim NuRec, включая пример с гостиной. Там описываются подготовка сцены, обучение, оценка, экспорт и развёртывание в ROS 2.
Для подготовки зарегистрированной сцены NuRec до обучения ИИ-агенту передаётся отдельный запрос.
Дымовой тест
После того как выбранная сцена стала доступна COMPASS, перед масштабированием обучения нужно выполнить предварительный запуск в одной среде. Для SAGE-10K сначала необходимо завершить визуальную проверку и одобрение регистрации сцены.
Нужно убедиться, что Isaac Sim запускается, сцена загружается, Spot появляется в допустимом месте, доступны изображения с камеры, а робот реагирует на команды политики без пересечений с объектами, падений и нерешённых ошибок симуляции.
ИИ-агент должен обобщить журналы предварительного запуска и визуальные свидетельства, перечислить препятствия и остановиться до получения одобрения человека. К остаточному обучению переходят только после проверки совместной работы сцены, робота, наблюдений и интерфейса действий.
Остаточное обучение
На этом этапе COMPASS адаптирует предварительно обученную политику X-Mobility к выбранным роботу и сцене. Нужно запустить остаточное обучение с подкреплением, следить за процессом, сохранять варианты контрольных точек и подготовить свидетельства для оценки.
После одобрения дымового теста ИИ-агент может запустить стандартный рабочий процесс остаточного обучения. В базовом примере используются Spot и встроенный склад. При работе со сгенерированной сценой ключ окружения заменяется на зарегистрированную сцену SAGE-10K.
Остаточное обучение длится долго. Агент должен запускать его в постоянной сессии или через управляемый планировщик, сохранять журналы и контрольные точки в настроенный каталог и сообщать о ходе работы, не удерживая открытой интерактивную сессию.
До начала запуска нужно зафиксировать команду, ревизию репозитория, ключ сцены, конфигурацию, интервал сохранения контрольных точек и критерии остановки. Если процесс прерван, следует проверить целостность последней контрольной точки и уточнить поддерживаемые варианты продолжения обучения.
Параметр `--num_envs` выбирают с учётом доступной памяти GPU. Для дымового теста используется только одна среда. Во время обучения нужно отслеживать компоненты награды, продвижение к цели, контакты и падения, завершения эпизодов, пропускную способность и расход памяти GPU.
Контрольные точки сохраняют периодически и оценивают в одинаковых условиях, не считая последнюю итерацию автоматически лучшей. COMPASS также поддерживает распределённое обучение на нескольких GPU для более крупных запусков. Время обучения зависит от оборудования, сложности сцены, числа сред и критериев остановки.
При сбоях следует использовать диагностический рабочий процесс COMPASS до изменения окружения или конфигурации обучения. Ошибки аутентификации направляют к проверке доступа Hugging Face, проблемы загрузки сцены и столкновений — к подготовке сцены, ошибки камеры и интерфейса действий — к этапу дымового теста, а ошибки памяти — к настройкам числа сред или многопроцессорного обучения на нескольких GPU.
Нужно сохранить конфигурацию обучения, команду запуска, ревизию репозитория, регистрацию сцены, карту занятости, свидетельства дымового теста, журналы, контрольные точки и манифест артефактов. Перед изменением зависимостей, ресурсов сцены, наград или параметров обучения требуется одобрение разработчика.
Оценка контрольной точки
Готовность остаточной контрольной точки к продвижению определяют сравнением предварительно обученной базовой политики и кандидатов в одинаковых условиях. При этом учитываются стандартные метрики COMPASS, происхождение дополнительных свидетельств и одобрение человека перед упаковкой результата.
Оценивать нужно одновременно качество выполнения задачи и безопасность. Стандартная оценка COMPASS включает долю достигнутых целей, долю падений и время перемещения.
Дополнительные показатели — продвижение к цели, поведение при контактах, превышения времени ожидания и стабильность команд — следует помечать как производный анализ или данные собственной инструментализации. Контрольную точку можно продвигать только после того, как согласованные свидетельства проходят навигационные и защитные проверки проекта, а человек одобряет упаковку.
Запрос для оценки адаптируют под конкретного робота, сцену, набор контрольных точек и требуемые свидетельства.
Подключение к роботу
После завершения разработки обученную политику подключают к рабочему контуру робота. В этом разделе описываются входы и выходы эталонной политики, случаи применения cuVSLAM для одометрии и рабочий процесс для незарегистрированного робота. ИИ-агент координирует разработку и проверку, но не управляет роботом во время работы.
На этапе подготовки ресурсов COMPASS скачивается предварительно обученная контрольная точка X-Mobility, которая используется для дымового теста и остаточного обучения. Обучение создаёт остаточную контрольную точку для выбранных робота и сцены. Экспорт и развёртывание упаковывают обученную политику для инференса: базовая и остаточная политики не превращаются в два компонента ROS 2, которые разработчик должен вручную соединять.
В эталонной интеграции ROS 2 компонент `compass_inference` преобразует изображения с передней камеры, навигационную цель или маршрут и скорость робота, рассчитанную по одометрии, во входы экспортированной политики. Он публикует команды линейной скорости вперёд и угловой скорости в `/cmd_vel`.
Рекуррентное состояние и предыдущее действие остаются внутренними данными реализации инференса и не относятся к внешним входам интеграции ROS. Для целевого развёртывания нужно проверить системы координат, частоты обновления, нормализацию, ограничения команд, поведение при остановке и контроллер физического робота.
cuVSLAM применяют, если роботу в окружении с недоступным или нестабильным GPS нужна оценка состояния по камере, а совместимой проверенной одометрии и преобразований у него нет. Одометрия cuVSLAM может поддерживать навигатор COMPASS, но карта cuVSLAM не подаётся на вход навигационной политики.
cuVSLAM не участвует в обучении политики COMPASS и не требует навыка агента. Его запускают как отдельный компонент ROS 2 с согласованными версиями, подключают или перенаправляют его одометрические данные в `/chassis/odom`, передают необходимое преобразование `odom` в `base_link`, а затем проверяют калибровку, временные метки, имена каналов и соглашения о системах координат. Для настройки и диагностики этого компонента во время разработки можно использовать необязательные навыки `$cuvslam-onboard` и `$cuvslam-troubleshoot`.
Для незарегистрированного робота `$compass-newembodiment` проводит разработчика через настройку робота, регистрацию окружения, сопоставление действий и визуальный дымовой тест в одной среде. Подключение нового воплощения — отдельная инженерная задача по сравнению с обучением специалиста для уже зарегистрированного робота, однако в обоих случаях применяются одинаковые проверки и точки одобрения.
Вывод
Руководство останавливается на оценке контрольных точек. Экспорт в ONNX, JIT или TensorRT, интеграция с ROS 2 и развёртывание на физическом оборудовании требуют отдельных проверок для конкретного робота и рабочего окружения.
Качество сцены, длительность обучения и результаты контрольных точек зависят от конструкции робота, окружения, схемы наград и доступных вычислительных ресурсов. Поэтому рабочий процесс не задаёт универсального порога успеха.
Рекомендуемый порядок — начать с эталонного сценария и затем по одному расширять его отдельными компонентами.

Агент программирования использует навыки COMPASS для проверки окружения, подготовки сцены, запуска дымовых тестов и остановки на этапах, требующих одобрения человека
Источник: developer.nvidia.com

Четвероногий робот Spot перемещается по зарегистрированному в COMPASS складу combined_multi_rack
Источник: developer.nvidia.com

Четвероногий робот Spot в преобразованной сцене помещения SAGE-10K, подготовленной для валидации COMPASS
Источник: developer.nvidia.com

Codex отбирает подходящие сцены SAGE-10K и останавливается для одобрения разработчика
Источник: developer.nvidia.com

Политика NuRec Real2Sim (справа) огибает стол, направляясь к цели, в сравнении с синтетической политикой (слева)
Источник: developer.nvidia.com

При инференсе политика COMPASS использует RGB-вход, одометрию и точку цели, а также опциональные данные карты и маршрута, чтобы выдавать команды линейной и угловой скорости для контроллера робота
Источник: developer.nvidia.com
Ежедневные новости об ИИ
Каждый день отбираем важные новости об ИИ, роботах и метавселенных и рассказываем главное — без хайпа и воды. Если хотите понимать, что происходит в ИИ раньше остальных, — подписывайтесь.
Только важное — каждый день
В Telegram