Многослойные карты стоимости

Многосло́йные ка́рты сто́имости — это метод создания и обновления карт для навигации роботов и планирования маршрутов, предложенный Дэвидом В. Лу в 2014 году[1]. В процессе навигации многослойные стоимостные карты абстрагируют реальную окружающую среду робота в карты, которые могут быть обработаны навигационными алгоритмами. Метод состоит из нескольких слоёв карт, каждый из которых отражает препятствия с разными характеристиками. Каждая многослойная стоимостная карта разбита на ячейки и представляется в виде матрицы, где значения элементов связаны с риском прохождения через соответствующие ячейки (чем выше значение — тем больше риск и тем насыщеннее цвет ячейки). В стоимостной карте цвет ячейки указывает уровень риска: глубокий цвет соответствует высокой вероятности столкновения. При обновлении многослойной карты изменяется только та область, которая покрывается сенсорами (например, лидаром), а не вся карта целиком.

Стандартные слои

Многослойные стоимостные карты — гибкий подход, позволяющий добавлять специальные категории слоёв в зависимости от условий навигации мобильного робота. В Robot Operating System (ROS) реализованы базовые категории слоёв для навигации мобильных роботов[2], которые являются стандартными в большинстве случаев.

Слой статической карты

Слой статической карты находится в основании многослойной структуры и отражает все известные статические препятствия до начала навигации. Такой слой может быть построен с помощью алгоритма SLAM или создан по архитектурному плану[1].

Если в матрице статической карты реальная точка соответствует индексу элемента , пример правила формирования слоя может быть записан так:

Слой препятствий

Слой препятствий отражает объекты, обнаруженные сенсорами робота в процессе навигации. Поскольку зона обзора сенсора ограничена, этот слой обновляется только в области, находящейся в зоне действия сенсоров[1].

Пусть в сцене есть только один сенсор, закреплённый на роботе, его зона действия — квадрат со стороной , а координаты робота — . Если в матрице слоя препятствий реальная точка соответствует индексу , то правило определения слоя записывается так:

при условии и .

Слой раздувания (инфляции)

Слой инфляции формирует вокруг каждого препятствия буферную зону, чтобы робот не приближался к ним слишком близко. При этом учитываются препятствия как из слоя статической карты, так и из слоя препятствий. В слое инфляции ячейки, находящиеся дальше от препятствия, имеют меньшую стоимость.

Правила инфляции могут свободно разрабатываться в зависимости от особенностей среды и робота. Например, можно использовать две пороговые величины и функцию. Пусть максимальный радиус робота равен . Если в матрице слоя инфляции реальная точка соответствует индексу , то инфляция может рассчитываться так:

где функция обозначает расстояние от точки до ближайшего препятствия.

В дистрибутиве ROS 2 Kilted Kaiju (май 2025 г.) была представлена концепция слоя-контейнера для плагинов (англ. Plugin Container Layer). Этот новый тип слоя позволяет группировать несколько других слоёв в один, что открывает возможности для более сложных конфигураций. Например, это позволяет по-разному «раздувать» (англ. inflate) препятствия, обнаруженные разными сенсорами, в рамках одной и той же карты стоимости[3].

Социальные навигационные слои

Хотя социальные навигационные слои не столь обязательны, как стандартные, они могут добавить больше информации на карту при наличии пешеходов в среде. В стандартных слоях скорость препятствий не учитывается, но в социальных слоях она включается, а поведение в слое корректируется с учётом социальных привычек людей.

Слой проксемики

undefined

Проксемический слой отражает социальное пространство вокруг пешеходов — как движущихся, так и стоящих на месте.

  • Движущиеся пешеходы не желают появления препятствий на пути своего движения, поэтому в проксемическом слое «цена» движения в этом направлении увеличивается[4].
  • Неподвижные пешеходы испытывают дискомфорт, если робот приближается к ним сзади — в проксемическом слое стоимость прохождения за их спиной повышается[5].

Слой обгона

undefined

В ряде стран, как и в автомобильных правилах, существует привычка придерживаться правой стороны при движении по тротуарам и коридорам. В слое обгона стоимость передвижения справа от пешехода устанавливается выше, что направляет робота обходить людей слева при наличии такой возможности[6].

Развитие и новые возможности в ROS 2

Улучшения безопасности и планирования

В дистрибутивах ROS 2 2024—2025 годов были представлены два различных механизма для повышения безопасности навигации, работающих на разных уровнях планирования.

В дистрибутиве Jazzy Jalisco (май 2024 года) был усовершенствован узел nav2_collision_monitor[7]. Он представляет собой реактивную систему безопасности, которая работает как низкоуровневый фильтр команд скорости (cmd_vel) для экстренной остановки или замедления робота при риске неминуемого столкновения[8]. Ключевым нововведением стала функция полигонов, изменяемых в зависимости от скорости (англ. Velocity-Scheduled Polygons), которая позволяет задавать различные по форме и размеру зоны безопасности вокруг робота в зависимости от его текущей скорости, например, увеличивая зону при движении вперёд и уменьшая при вращении на месте[9].

В свою очередь, в дистрибутиве Kilted Kaiju (май 2025 года) в состав сервера маршрутов nav2_route была добавлена операция CollisionMonitor[10]. Это проактивный инструмент планирования, который проверяет будущий участок запланированного маршрута на наличие коллизий с препятствиями, появившимися на карте стоимости уже после построения пути. Если путь оказывается заблокирован, система может инициировать его перепланирование[11].

Таким образом, nav2_collision_monitor обеспечивает немедленное предотвращение столкновений на уровне выполнения команд, в то время как операция CollisionMonitor в nav2_route работает на стратегическом уровне, проверяя валидность долгосрочного маршрута[7][10].

Управление группами роботов

Для координации движения нескольких автономных мобильных роботов (англ. Autonomous Mobile Robots, AMR) в общем пространстве разрабатываются подходы, использующие специализированные слои стоимостных карт. Эти слои позволяют управлять трафиком и предотвращать конфликты между роботами. В научных работах предложены следующие типы слоёв[12]:

  • Слой запретных зон (англ. Prohibition Layer) — позволяет пользователю задавать области, в которые роботам запрещён въезд.
  • Слой полос движения (англ. Lane Layer) — организует одностороннее движение на определённых участках, например, в узких коридорах.
  • Слой флота (англ. Fleet Layer) — помогает роботам избегать столкновений друг с другом путём динамического добавления на карту стоимости информации о местоположении других роботов.
  • Слой регионов (англ. Region Layer) — даёт возможность одному роботу временно зарезервировать эксклюзивную зону (например, перекрёсток), заставляя других роботов ожидать за её пределами.

По состоянию на 2025 год данные слои являются предметом исследований и существуют в виде отдельных реализаций, но не входят в стандартный состав стека навигации Nav2 в дистрибутивах ROS 2[13][14].

Интеграция с искусственным интеллектом

Наблюдается тенденция к объединению карт стоимости с нейросетями и большими языковыми моделями (англ. Large Language Models, LLM) для более интеллектуальной навигации и планирования[15].

Одним из направлений является оптимизация хранения карт. Учёные из ФИЦ ИУ РАН разработали метод построения навигационных карт в виде топологических карт — сети взаимосвязанных локаций (например, коридоров и комнат) вместо традиционных плотных сеток. Этот подход использует нейронные сети для сопоставления данных с датчиков и описаний локаций, что, по заявлениям разработчиков, требует в 5-6 раз меньше оперативной памяти для хранения карт при сопоставимой эффективности[16].

Другое направление — использование LLM для высокоуровневого планирования задач. Предложена архитектура, в которой несколько языковых моделей используются для послойной декомпозиции сложных заданий. В этой системе визуально-языковая модель (англ. Visual-Language Model, VLM) выступает в роли сенсора, воспринимая окружение. Эта информация объединяется с целью задачи в основной LLM, которая генерирует план движения, адаптированный к текущей среде. Результат представляется в виде «тепловой карты» (англ. heatmap), которая может быть интерпретирована как слой стоимостной карты для навигационной системы робота[17].

После построения многослойных стоимостных карт

undefined

После построения многослойные стоимостные карты постоянно обновляются на основе данных сенсоров[19], а навигационный алгоритм управляет движением робота к цели без столкновений, используя эту информацию.

Для упрощения отладки и анализа карт стоимости в дистрибутиве ROS 2 Kilted Kaiju (май 2025 г.) были представлены новые инструменты для разработчиков. В RViz был добавлен инструмент, позволяющий пользователю кликнуть на любую ячейку карты и получить её значение. Кроме того, был введён сервис nav2_msgs/GetCosts, который даёт возможность программно запрашивать стоимость в определённой области, например, под контуром робота[20].

Применение

undefined

Многослойные стоимостные карты являются методом по умолчанию для построения карты при работе мобильных роботов под управлением ROS. Разработчики могут использовать ROS для управления роботами (например, TurtleBot) при работе в помещениях и на улице, с присутствием или без присутствия людей. В процессе навигации такие карты постоянно обновляются для своевременной оценки окружающей обстановки.

Помимо навигации одиночных роботов, многослойные карты стоимости применяются для координации движения в системах с несколькими автономными мобильными роботами (англ. Autonomous Mobile Robots, AMR). Для управления трафиком и предотвращения конфликтов разрабатываются специализированные слои, которые могут задавать одностороннее движение в узких коридорах, определять запретные для въезда зоны или динамически отображать других роботов как временные препятствия.

Другой областью применения является навигация на открытой местности, в частности в сельском хозяйстве. Стандартные подходы, использующие лидар, могут ошибочно принимать высокую траву за непреодолимое препятствие. Для решения этой проблемы был разработан метод, который с помощью камеры глубины анализирует проходимость участков и вносит корректировки в локальную карту стоимости. Это позволяет роботу безопасно пересекать зоны, которые навигационная система без такой адаптации сочла бы заблокированными[21].

Преимущества и недостатки

Преимущества

  • Метод очень гибок: нужные слои могут быть свободно добавлены, изменены или удалены по усмотрению пользователя для адаптации к разным условиям навигации.
  • Обновление карты происходит быстро, поскольку изменяется только область, охваченная сенсорами, что снижает время реакции робота в экстренных случаях.

Недостатки

  • Все слои многослойной стоимостной карты имеют одинаковый размер и разрешение, что увеличивает объём памяти, необходимый для хранения данных. Для решения этой проблемы разрабатываются методы, основанные на нейронных сетях, которые строят топологические карты и, по заявлениям, требуют в 5-6 раз меньше памяти.

Примечания

  1. 1 2 3 Lu, David V. Layered costmaps for context-sensitive navigation // 2014 IEEE/RSJ International Conference on Intelligent Robots and Systems / David V. Lu, Dave Hershberger, William D. Smart. — сентябрь 2014. — P. 709–715. — ISBN 978-1-4799-6934-0. — doi:10.1109/IROS.2014.6942636.
  2. costmap_2d/layered - ROS Wiki. wiki.ros.org. Дата обращения: 25 июня 2024. Архивировано 12 августа 2025 года.
  3. Nav2 Kilted Release! Open Robotics Discourse. Дата обращения: 3 ноября 2025. Архивировано 12 октября 2025 года.
  4. Bruckschen, Lilli. Human-Aware Robot Navigation by Long-Term Movement Prediction // 2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) / Lilli Bruckschen, Kira Bungert, Nils Dengler … [и др.]. — 24 октября 2020. — P. 11032–11037. — ISBN 978-1-7281-6212-6. — doi:10.1109/IROS45743.2020.9340776.
  5. Teja Singamaneni, Phani. Human-Aware Navigation Planner for Diverse Human-Robot Interaction Contexts // 2021 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) / Phani Teja Singamaneni, Anthony Favier, Rachid Alami. — 27 сентября 2021. — P. 5817–5824. — ISBN 978-1-6654-1714-3. — doi:10.1109/IROS51168.2021.9636613.
  6. Smith, Trevor; Chen, Yuhao; Hewitt, Nathan; Hu, Boyi; Gu, Yu (1 апреля 2023). “Socially Aware Robot Obstacle Avoidance Considering Human Intention and Preferences”. International Journal of Social Robotics [англ.]. 15 (4): 661—678. DOI:10.1007/s12369-021-00795-5. ISSN 1875-4805. PMC 8256236. PMID 34249182.
  7. 1 2 Nav2 Jazzy Release. Open Robotics Discourse. Дата обращения: 3 ноября 2025. Архивировано 23 августа 2025 года.
  8. Using the Collision Monitor. Nav2 Documentation. Дата обращения: 3 ноября 2025. Архивировано 11 июля 2025 года.
  9. Migrating from Iron to Jazzy. Nav2 Documentation. Дата обращения: 3 ноября 2025. Архивировано 15 июня 2025 года.
  10. 1 2 nav2_route. ROS 2 Documentation. Дата обращения: 3 ноября 2025.
  11. Class nav2_route::CollisionMonitor. ROS 2 Documentation. Дата обращения: 3 ноября 2025.
  12. “A Centralized Semantic Layer-Based Architecture for Multi-AMR Traffic Coordination”. Applied Sciences. MDPI. 12 (16): 8084. 2022-08-12. DOI:10.3390/app12168084. Дата обращения 2025-11-03.
  13. ROS 2 Kilted Kaiju Released! Open Robotics (23 мая 2025). Дата обращения: 3 ноября 2025. Архивировано 2 июня 2025 года.
  14. “A Lane-Based Costmap Filter for Multi-Robot Navigation in ROS2” (pdf). Procedia Computer Science. 238: 6—15. 2024. Дата обращения 2025-11-03.
  15. ROS cost map with multiple layers. ResearchGate. Дата обращения: 3 ноября 2025.
  16. Революция в робототехнике: новый метод навигации от ученых из ФИЦ ИУ РАН. Поиск. Дата обращения: 3 ноября 2025.
  17. “A Layered LLM-Based Task Planning Framework for Embodied Agents”. Sensors. MDPI. 24 (5): 1687. DOI:10.3390/s24051687. Дата обращения 2025-11-03.
  18. West, Andrew; Wright, Thomas; Tsitsimpelis, Ioannis; Groves, Keir; Joyce, Malcolm J.; Lennox, Barry (17 марта 2022). “Real-Time Avoidance of Ionising Radiation Using Layered Costmaps for Mobile Robots”. Frontiers in Robotics and AI. 9. DOI:10.3389/frobt.2022.862067. PMC 8968874. PMID 35368431.
  19. costmap_2d - ROS Wiki. wiki.ros.org. Дата обращения: 25 июня 2024. Архивировано 17 августа 2025 года.
  20. Migrating from Jazzy to Kilted. Nav2 Documentation. Дата обращения: 3 ноября 2025. Архивировано 5 сентября 2025 года.
  21. Real-Time Local Costmap Correction for Traversable Obstacle Negotiation in Agricultural Environments. arXiv.org (25 июля 2024). Дата обращения: 3 ноября 2025. Архивировано 16 октября 2025 года.

Литература

Категории