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