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