Нам не подошла ни одна среда для MARL в непрерывном пространстве - поэтому мы сделали CAMAR
Представьте себе склад, цех или логистический терминал: десятки и сотни мобильных роботов носятся по площадке, каждый спешит к своей цели, нужно всё это организовать так, чтобы они не сталкивались, не застревали в пробках и при этом доезжали как можно быстрее. А теперь уберите людей‑операторов и дайте управление алгоритму. Именно такую задачу в общем виде описывает многоагентное планирование маршрутов - MAPF (Multi-Agent Pathfinding).
От MAPF к непрерывной навигации
В классическом MAPF мир устроен просто: есть клеточное поле или граф, а агенты прыгают из вершины в вершину. У каждого есть стартовая позиция и цель. Дополнительное ограничение: два агента не могут одновременно занимать одну клетку или пересекаться на ребре. Вопрос: по каким траекториям по сетке нужно провести всех роботов так, чтобы каждый добрался до цели, а столкновений не произошло?
Такое дискретное приближение удобно для теории и алгоритмики, но плохо отражает то, как ведут себя реальные роботы. В настоящем мире они двигаются не по квадратам, а по плоскости; у них есть инерция, ограничения по скорости и ускорению. Поэтому естественный шаг - перейти от клеточной постановки к непрерывному пространству, где траектории описываются гладкими кривыми, а не цепочками клеток.
Существуют и промежуточные варианты - например, any‑angle маршрутизация, когда перемещение допускается не только по рёбрам решётки, но и "наискось" по плоскости, хотя среда всё ещё задаётся сеткой. Мы же сознательно ушли дальше - в полностью непрерывную многоагентную навигацию, где важно явно моделировать кинематику и динамику движения.
Почему просто взять готовый симулятор не получилось
Когда мы начали работать с многоагентным обучением с подкреплением (Multi-Agent Reinforcement Learning, MARL) для задач навигации в непрерывном пространстве, первой мыслью было: "Наверняка уже существует подходящая среда, надо просто выбрать лучшую".
На практике оказалось, что выбор сводится к двум крайностям:
- Слишком упрощённые среды.
Много популярных тестовых площадок для MARL дискретны и придуманы скорее для проверки алгоритмов, чем для приближения к реальной робототехнике. Они удобны, но плохо масштабируются к физическому миру, а многие нюансы движения в них попросту отсутствуют.
- Чрезмерно детализированные физические симуляторы.
Есть и другой полюс - среды с реалистичной физикой, столкновениями тел, трением, контактами и т.п. В них можно достоверно моделировать отдельного робота, но как только мы пытаемся прогнать десятки или сотни агентов и обучать сложную модель RL, симуляция становится слишком тяжёлой. Масштабные эксперименты занимают дни или недели, а некоторые постановки просто не поддаются массовому прогону.
Нам же была нужна середина: достаточно богатая модель, чтобы она имела смысл для робототехники и многоагентного движения, но при этом достаточно быстрая и лёгкая, чтобы запускать десятки тысяч эпизодов обучения. Оказалось, такой ниши практически никто не закрыл.
В итоге в команде "RL‑агенты" Лаборатории когнитивных систем искусственного интеллекта AIRI мы решили сделать собственную среду‑бенчмарк и назвали её CAMAR. Именно в ней можно тестировать и сравнивать методы MARL для навигации в непрерывном пространстве.
Нашу работу по CAMAR приняли на основную секцию конференции AAAI‑2026, а также на воркшоп WoMAPF'26. Я - Артём Пшеницын, стажёр‑исследователь команды и студент магистратуры ЦКМ МФТИ - расскажу, что именно мы сделали и зачем.
Что такое MARL и чем он отличается от одиночного RL
Если классическое обучение с подкреплением (RL) - это история про одного агента, который взаимодействует со средой и учится максимизировать свою награду, то в MARL агентов уже много.
Несколько ключевых особенностей:
- Агенты делят общую среду: их действия влияют не только на них самих, но и на соседей.
- Наблюдения могут быть частичными: каждый видит только локальное окружение.
- Награда может быть общей или индивидуальной:
- кооперация - все выигрывают или проигрывают вместе;
- соперничество - один выигрывает за счёт другого;
- смешанные сценарии, как в многороботной навигации: каждый стремится к своей цели, но есть общие ограничения безопасности (запрет на столкновения).
В такой постановке нам нужно научить уже не одного "умного" агента, а целую команду, которая в идеале должна уметь:
- согласованно разъезжаться в узких местах;
- избегать пробок и тупиков;
- не устраивать заторы у целей;
- действовать устойчиво при увеличении числа роботов.
CAMAR создавалась как раз под такие сценарии: много агентов, общее непрерывное пространство, сложное взаимодействие и при этом быстрый симулятор.
Почему мы выбрали JAX
Одно из принципиальных инженерных решений - реализовать CAMAR на JAX. Это заметно повлияло и на скорость, и на удобство интеграции с MARL‑алгоритмами.
Что нам даёт JAX:
- Автоматическая векторизация.
Мы можем одновременно симулировать сразу множество независимых эпизодов или конфигураций карты. Это критично для обучения: чем больше эпизодов в секунду, тем быстрее сходится политика.
- Компиляция на GPU/TPU.
Динамика агентов и проверка столкновений реализованы как численные операции над массивами. JAX позволяет скомпилировать их в высокопроизводительный код и выполнять на ускорителях.
- Совместимость с современными библиотеками RL.
Политики, критики и другие компоненты легко реализуются на том же стеке, что и сама среда. Это уменьшает количество "клеевого" кода между симуляцией и обучающей частью.
Итог: мы получаем среду, которая по сложности сценариев ближе к робототехнике, а по скорости - к лёгким RL‑бенчмаркам. Это тот компромисс, которого нам не хватало.
Как устроена динамика агентов в CAMAR
В CAMAR агенты двигаются по непрерывной плоскости. Состояние каждого робота описывается его позицией и скоростью, а действия - непрерывным управлением. В общих чертах можно выделить два уровня модели:
1. Кинематический:
- агенты задают желаемое направление и скорость;
- движение рассчитывается по упрощённым уравнениям без полной физики контактов;
- этого достаточно, чтобы учитывать скорость, инерцию и ограничения управления.
2. Упрощённая динамика:
- можно вводить ограничения по максимальному ускорению и угловой скорости;
- важно, чтобы траектории были "правдоподобными" с точки зрения реальных мобильных роботов.
Мы сознательно не моделируем детализированную механику колёс или подвесок - это слишком тяжело для многоагентных экспериментов. Вместо этого концентрируемся на тех аспектах динамики, которые критичны для планирования и координации.
Как устроены столкновения и запреты на столкновения
Одна из ключевых составляющих многоагентной навигации - корректная обработка столкновений. В CAMAR мы рассматриваем роботов как диски или окружности радиуса r, движущиеся по плоскости. Столкновение фиксируется, если расстояние между центрами двух агентов меньше суммы их радиусов.
Дальше на уровне среды можно задавать разные режимы:
- Жёсткий запрет на столкновения.
При контакте эпизод либо обрывается, либо сильно штрафуется - это стимулирует агентов избегать рискованных манёвров.
- Мягкое наказание.
Штраф начисляется пропорционально числу и длительности пересечений: это поощряет безопасное поведение, но не обрывает обучение из‑за единичной ошибки.
- Учёт расстояния безопасности.
Награда может зависеть и от того, насколько близко агенты подходят друг к другу, даже не сталкиваясь. Это формирует "социальное дистанцирование" роботов, снижая плотность потоков.
Такое гибкое задание штрафов и ограничений позволяет исследовать разные типы кооперативного поведения - от агрессивного "пролезания любой ценой" до аккуратного, почти "человеческого" вежливого разъезда.
Карты, препятствия и сценарии планирования
CAMAR не ограничивается пустой плоскостью. Среда поддерживает различные типы карт, которые задают конфигурацию препятствий и проходов:
- Коридоры и перекрёстки.
Позволяют изучать, как агенты разъезжаются в узких местах, где двухсторонний поток неизбежен.
- Складские решётки.
Сценарии, напоминающие реальные склады с рядами стеллажей, где важную роль играют узкие проезды и "бутылочные горлышки".
- Открытые пространства с локальными препятствиями.
Хорошо подходят для тестирования алгоритмов уклонения и обхода.
Начальные и конечные позиции агентов генерируются так, чтобы создавать нагруженные сценарии: неоднородное распределение целей, пересекающиеся потоки, конфликтующие маршруты. Это позволяет выявить, насколько алгоритм справляется с "трафиком", а не только с одиночным движением.
Что наблюдают агенты и чему они учатся
Чтобы среда была ближе к реальной робототехнике, мы не даём агентам глобальной карты "из коробки". Наблюдения, как правило, ограничены локальной информацией:
- собственная позиция и скорость;
- относительные направления и расстояния до ближайших агентов;
- информация о препятствиях в некотором радиусе (например, в виде лучевых дальномеров или дискретизированного локального обзора);
- направление на свою цель.
На основе этих наблюдений агент выдаёт непрерывное действие - изменение скорости/курса или управляющее воздействие, в зависимости от конкретной параметризации.
Награда обычно складывается из нескольких компонент:
- поощрение за приближение к цели;
- штраф за столкновения или опасное сближение;
- небольшой штраф за длину пути или время в пути, чтобы стимулировать не просто доезжать, а делать это быстро и эффективно.
Таким образом, мы учим не только "добраться куда‑то", но и делать это кооперативно, учитывая соседей и пропускную способность пространства.
Скорость симуляции и масштабируемость
Одно из главных преимуществ CAMAR - высокая производительность. Благодаря JAX и векторизованной реализации:
- можно одновременно запускать десятки и сотни параллельных эпизодов;
- в каждом эпизоде могут действовать десятки и даже сотни агентов;
- симуляция включается в обучающий цикл без серьёзного "бутылочного горлышка".
Для исследователя это означает, что:
- можно быстро обкатывать новые архитектуры политик;
- легко сравнивать разные схемы кооперации (общая награда, индивидуальные награды, централизованный критик и т.п.);
- становится доступным масштабный перебор гиперпараметров и сценариев без недельного ожидания.
По сути, CAMAR позволяет перенести идеи из мира "игрушечных" сред в постановки, которые ближе к реальной многороботной логистике, не жертвуя скоростью экспериментов.
А где же сами алгоритмы?
CAMAR - это, прежде всего, бенчмарк‑среда, а не один‑единственный алгоритм. То, что в ней можно тестировать, включает:
- централизованное обучение с децентрализованным исполнением (CTDE‑подходы);
- методы с общими или разделяемыми параметрами политик у агентов;
- алгоритмы кооперативного RL (например, распределение общей награды между агентами);
- гибридные решения, где традиционный планировщик строит грубый маршрут, а MARL‑политика отвечает за локальное разруливание конфликтов.
В рамках наших экспериментов мы проверяли, как CAMAR ведёт себя на популярных базовых алгоритмах MARL, и использовали её для сравнения разных подходов к многоагентной навигации. Среда показала себя достаточно сложной, чтобы алгоритмы не решали её "с наскока", но при этом стабильной и предсказуемой с точки зрения обучения.
Что показали первые тесты
При прогоне классических MARL‑подходов на CAMAR мы увидели несколько характерных тенденций:
- Алгоритмы, которые хорошо работают в дискретных средах с малыми командами, начинают "сыпаться", когда количество агентов растёт до десятков и больше.
- В непрерывной постановке особенно важна стабильность политики: даже небольшие флуктуации в действиях могут приводить к каскаду мелких столкновений и заторов.
- Методы с учётом совместной награды и некоторой формой кооперации (например, через централизованный критик) обычно дают более устойчивое поведение в плотном трафике, чем чисто индивидуальные агенты.
- Учитывание локальной плотности агентов и "ажиотажа" в награде помогает существенно снизить количество пробок и резко улучшить среднее время достижения целей.
Эти результаты подтверждают, что CAMAR хорошо подходит для исследования именно тех аспектов MARL, которые важны для масштабной навигации: взаимодействие, координация и устойчивость при росте числа агентов.
Почему CAMAR закрывает важную нишу
Если обобщить, то наша среда заняла место между двумя мирами:
- между теоретическими, сильно упрощёнными MARL‑средами, где легко писать статьи, но сложно делать мост к реальным роботам;
- и тяжёлыми физическими симуляторами, в которых картинка красивая, но массовый прогон алгоритмов MARL становится практически нереализуемым.
CAMAR позволяет:
- работать в непрерывном пространстве с реалистичной для планирования динамикой;
- моделировать масштабные команды агентов;
- проводить массовые RL‑эксперименты за разумное время;
- строить сценарии, напоминающие реальные склады, фабрики и другие объекты с плотным движением роботов.
Взгляд вперёд
Дальнейшее развитие CAMAR мы видим в нескольких направлениях:
- добавление более сложных типов роботов и динамики;
- поддержка неоднородных команд (разные типы агентов в одной среде);
- расширение набора карт, включая генерацию сложных топологий "на лету";
- интеграция с планировщиками более высокого уровня, чтобы можно было изучать гибридные схемы "планирование + MARL";
- исследование устойчивости политик к шумам сенсоров, задержкам связи и другим факторам, которые неизбежны в реальном мире.
Итог прост: нам не хватило подходящей среды для MARL в непрерывном пространстве - мы её сделали. CAMAR уже показала, что способна служить удобным и мощным бенчмарком для многоагентной навигации, а значит, может стать рабочей лошадкой для тех, кто хочет не только теоретически обсуждать MARL, но и двигаться в сторону практических многороботных систем.



