Многослойные карты стоимости
Многосло́йные ка́рты сто́имости — это метод создания и обновления карт для навигации роботов и планирования маршрутов, предложенный Дэвидом В. Лу в 2014 году[1]. В процессе навигации многослойные стоимостные карты абстрагируют реальную окружающую среду робота в карты, которые могут быть обработаны навигационными алгоритмами. Метод состоит из нескольких слоёв карт, каждый из которых отражает препятствия с разными характеристиками. Каждая многослойная стоимостная карта разбита на ячейки и представляется в виде матрицы, где значения элементов связаны с риском прохождения через соответствующие ячейки (чем выше значение — тем больше риск и тем насыщеннее цвет ячейки). В стоимостной карте цвет ячейки указывает уровень риска: глубокий цвет соответствует высокой вероятности столкновения. При обновлении многослойной карты изменяется только та область, которая покрывается сенсорами (например, лидаром), а не вся карта целиком.
Стандартные слои
Многослойные стоимостные карты — гибкий подход, позволяющий добавлять специальные категории слоёв в зависимости от условий навигации мобильного робота. В Robot Operating System (ROS) реализованы базовые категории слоёв для навигации мобильных роботов[2], которые являются стандартными в большинстве случаев.
Слой статической карты
Слой статической карты находится в основании многослойной структуры и отражает все известные статические препятствия до начала навигации. Такой слой может быть построен с помощью алгоритма SLAM или создан по архитектурному плану[1].
Если в матрице статической карты реальная точка соответствует индексу элемента , пример правила формирования слоя может быть записан так:
Слой препятствий
Слой препятствий отражает объекты, обнаруженные сенсорами робота в процессе навигации. Поскольку зона обзора сенсора ограничена, этот слой обновляется только в области, находящейся в зоне действия сенсоров[1].
Пусть в сцене есть только один сенсор, закреплённый на роботе, его зона действия — квадрат со стороной , а координаты робота — . Если в матрице слоя препятствий реальная точка соответствует индексу , то правило определения слоя записывается так:
при условии и .
Слой раздувания (инфляции)
Слой инфляции формирует вокруг каждого препятствия буферную зону, чтобы робот не приближался к ним слишком близко. При этом учитываются препятствия как из слоя статической карты, так и из слоя препятствий. В слое инфляции ячейки, находящиеся дальше от препятствия, имеют меньшую стоимость.
Правила инфляции могут свободно разрабатываться в зависимости от особенностей среды и робота. Например, можно использовать две пороговые величины и функцию. Пусть максимальный радиус робота равен . Если в матрице слоя инфляции реальная точка соответствует индексу , то инфляция может рассчитываться так:
где функция обозначает расстояние от точки до ближайшего препятствия.
В дистрибутиве ROS 2 Kilted Kaiju (май 2025 г.) была представлена концепция слоя-контейнера для плагинов (англ. Plugin Container Layer). Этот новый тип слоя позволяет группировать несколько других слоёв в один, что открывает возможности для более сложных конфигураций. Например, это позволяет по-разному «раздувать» (англ. inflate) препятствия, обнаруженные разными сенсорами, в рамках одной и той же карты стоимости[3].
Социальные навигационные слои
Хотя социальные навигационные слои не столь обязательны, как стандартные, они могут добавить больше информации на карту при наличии пешеходов в среде. В стандартных слоях скорость препятствий не учитывается, но в социальных слоях она включается, а поведение в слое корректируется с учётом социальных привычек людей.
Слой проксемики
Проксемический слой отражает социальное пространство вокруг пешеходов — как движущихся, так и стоящих на месте.
- Движущиеся пешеходы не желают появления препятствий на пути своего движения, поэтому в проксемическом слое «цена» движения в этом направлении увеличивается[4].
- Неподвижные пешеходы испытывают дискомфорт, если робот приближается к ним сзади — в проксемическом слое стоимость прохождения за их спиной повышается[5].
Слой обгона
В ряде стран, как и в автомобильных правилах, существует привычка придерживаться правой стороны при движении по тротуарам и коридорам. В слое обгона стоимость передвижения справа от пешехода устанавливается выше, что направляет робота обходить людей слева при наличии такой возможности[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].
После построения многослойных стоимостных карт
После построения многослойные стоимостные карты постоянно обновляются на основе данных сенсоров[19], а навигационный алгоритм управляет движением робота к цели без столкновений, используя эту информацию.
Для упрощения отладки и анализа карт стоимости в дистрибутиве ROS 2 Kilted Kaiju (май 2025 г.) были представлены новые инструменты для разработчиков. В RViz был добавлен инструмент, позволяющий пользователю кликнуть на любую ячейку карты и получить её значение. Кроме того, был введён сервис nav2_msgs/GetCosts, который даёт возможность программно запрашивать стоимость в определённой области, например, под контуром робота[20].
Применение
Многослойные стоимостные карты являются методом по умолчанию для построения карты при работе мобильных роботов под управлением ROS. Разработчики могут использовать ROS для управления роботами (например, TurtleBot) при работе в помещениях и на улице, с присутствием или без присутствия людей. В процессе навигации такие карты постоянно обновляются для своевременной оценки окружающей обстановки.
Помимо навигации одиночных роботов, многослойные карты стоимости применяются для координации движения в системах с несколькими автономными мобильными роботами (англ. Autonomous Mobile Robots, AMR). Для управления трафиком и предотвращения конфликтов разрабатываются специализированные слои, которые могут задавать одностороннее движение в узких коридорах, определять запретные для въезда зоны или динамически отображать других роботов как временные препятствия.
Другой областью применения является навигация на открытой местности, в частности в сельском хозяйстве. Стандартные подходы, использующие лидар, могут ошибочно принимать высокую траву за непреодолимое препятствие. Для решения этой проблемы был разработан метод, который с помощью камеры глубины анализирует проходимость участков и вносит корректировки в локальную карту стоимости. Это позволяет роботу безопасно пересекать зоны, которые навигационная система без такой адаптации сочла бы заблокированными[21].
Преимущества и недостатки
Преимущества
- Метод очень гибок: нужные слои могут быть свободно добавлены, изменены или удалены по усмотрению пользователя для адаптации к разным условиям навигации.
- Обновление карты происходит быстро, поскольку изменяется только область, охваченная сенсорами, что снижает время реакции робота в экстренных случаях.
Недостатки
- Все слои многослойной стоимостной карты имеют одинаковый размер и разрешение, что увеличивает объём памяти, необходимый для хранения данных. Для решения этой проблемы разрабатываются методы, основанные на нейронных сетях, которые строят топологические карты и, по заявлениям, требуют в 5-6 раз меньше памяти.
Примечания
- ↑ 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.
- ↑ costmap_2d/layered - ROS Wiki. wiki.ros.org. Дата обращения: 25 июня 2024. Архивировано 12 августа 2025 года.
- ↑ Nav2 Kilted Release! Open Robotics Discourse. Дата обращения: 3 ноября 2025. Архивировано 12 октября 2025 года.
- ↑ 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.
- ↑ 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.
- ↑ 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.
- ↑ 1 2 Nav2 Jazzy Release. Open Robotics Discourse. Дата обращения: 3 ноября 2025. Архивировано 23 августа 2025 года.
- ↑ Migrating from Iron to Jazzy. Nav2 Documentation. Дата обращения: 3 ноября 2025. Архивировано 15 июня 2025 года.
- ↑ “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.
- ↑ ROS 2 Kilted Kaiju Released! Open Robotics (23 мая 2025). Дата обращения: 3 ноября 2025. Архивировано 2 июня 2025 года.
- ↑ “A Lane-Based Costmap Filter for Multi-Robot Navigation in ROS2” (pdf). Procedia Computer Science. 238: 6—15. 2024. Дата обращения 2025-11-03.
- ↑ ROS cost map with multiple layers. ResearchGate. Дата обращения: 3 ноября 2025.
- ↑ Революция в робототехнике: новый метод навигации от ученых из ФИЦ ИУ РАН. Поиск. Дата обращения: 3 ноября 2025.
- ↑ “A Layered LLM-Based Task Planning Framework for Embodied Agents”. Sensors. MDPI. 24 (5): 1687. DOI:10.3390/s24051687. Дата обращения 2025-11-03.
- ↑ 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.
- ↑ costmap_2d - ROS Wiki. wiki.ros.org. Дата обращения: 25 июня 2024. Архивировано 17 августа 2025 года.
- ↑ Real-Time Local Costmap Correction for Traversable Obstacle Negotiation in Agricultural Environments. arXiv.org (25 июля 2024). Дата обращения: 3 ноября 2025. Архивировано 16 октября 2025 года.
Литература
- Mavrogiannis, Christoforos; Baldini, Francesca; Wang, Allan; Zhao, Dapeng; Trautman, Pete; Steinfeld, Aaron; Oh, Jean (24 апреля 2023). “Core Challenges of Social Robot Navigation: A Survey”. ACM Transactions on Human-Robot Interaction. 12 (3): 36:1–36:39. arXiv:2103.05668. DOI:10.1145/3583741.