научный журнал «Актуальные исследования» #3 (82), январь '22

Навигация мобильных роботов (метод SLAM)

В статье рассмотрен SLAM, а также разобраны его виды.

Аннотация статьи
программирование
наука
навигация
SLAM
ROS
робототехника
Ключевые слова

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

Разделить навигационные системы роботов можно на Indoor и Outdoor, т.е. внутри и вне помещения. Отличаются они как способами, так и целями навигации. Так самая распространённая технология Outdoor локализации, GPS работает на микроволновом диапазоне, что обеспечивает точность до единиц метров, но заметно ухудшает своё качество проходя, через стены, крыши, потолки.

В данной статье рассмотрим Indoor навигацию на примере решений и видов SLAM.

SLAM – Simultaneous Localization and Mapping – метод одновременной навигации и построения карты. Метод, который используется роботами (AMR – Automated Mobile Robot) (рис. 1.) и автономными транспортными средствами (AGV – Automated Guide Vehicle) (рис.2) для построения карты в новом для системы пространстве или для обновления карты в заранее известном помещении с одновременным отслеживанием текущего местоположения и пройденного пути.

Рис. 1. Линейка мобильных роботов MiR

Рис. 2. Платформа для перевозки автомобилей Tesla

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

Построение карты представляет из себя процесс сбора и интеграции информации с различных датчиков одного или нескольких видов. Выполняя этот процесс, навигационная система робота пытается понять, как выглядит рабочее пространство. Основными аспектами, которыми орудует процесс, являются интерпретирование данных с сенсоров, а также представление данных об окружающей среде. Локализация – это процесс определения робота в пространстве. Разделить её можно на локальную и глобальную. Локальная отвечает за местоположение в реальном времени в пространстве, при заранее известной нулевой точке, т.е. при известных координатах начального местоположения робота. Глобальная же сможет ответить нам на вопрос, где находится робот, независимо от какого-то помещения, к примеру GPS трекинг. Таким образом можем сделать вывод, что SLAM – это два процесса, которые не могут быть решены независимо друг от друга. Прежде чем робот сможет ответить на вопрос о том, как выглядит окружающая среда (исходя из серии наблюдений), он должен знать, где эти наблюдения были сделаны. В то же время, трудно оценить текущее положение робота без карты. Вот и выходит, что SLAM является типичной проблемой курицы и яйца: карта необходима для локализации, а локализация необходима для создания карты.

Рассмотрим различные виды решения задачи SLAM.

Один из самых первых алгоритмов Feature-based SLAM (рис. 3) используют легко идентифицируемые элементы в среде и создают внутреннее представление о пространстве с учетом местоположения этих ориентиров. Алгоритм основан на расширенном фильтре Калмана (EKF – Extended Kalman Filter).

Рис. 3. Feature-based SLAM

Graph-based SLAM – SLAM на основе графов или сетей также пытается создать карту с помощью графа, узлы которого соответствуют позициям робота в разные моменты времени (рис. 4), а ребра представляют собой пространственные ограничения, связывающие позы робота вместе. Ограничения состоят в распределении вероятностей относительного преобразования между позами. Используя граф, построенный на основе измерений датчиков, система определяет наиболее вероятную конфигурацию поз с учетом ребер графа. Одним из наиболее популярных подходов к SLAM на основе графов является метод отображения вреальном времени (VSLAM Rtabmap), основанный на инкрементном детекторе замыкания цикла на основе визуальных образов [1].

Рис. 4. Graph-based SLAM

Grid-based SLAM (рис. 5) является теоретически наиболее простым подход на основе сетки. Пространство разбивается на сетку точек с определённым равным шагом. У каждой точки может быть своё состояние, занято, свободно, препятствие. К примеру, ячейка обозначенная 1 будет занятой, а другая со значением 0 будет свободной. Также значение точки может варьироваться от 0 до 1 при помощи промежуточных значений [1].

Рис. 5. Grid-based SLAM

Topological SLAM (рис. 6) топологически представить задачу SLAM можно с помощью графо-подобного описания окружающей среды, а не точной метрической карты. Под топологическим описанием понимаются узловые места, которые можно с лёгкостью сравнить и отличить. Идея взята на основе построения карты местности в живой природе, так же как животные помечают территорию или человек подмечает для себя ориентиры. Зачастую, эти методы подходят для навигации в простых средах и применять их в более сложных и больших средах затруднительно из-за возрастающего числа ориентиров и сложности сравнивания их с базовыми [1].

Рис. 6. Topological SLAM

SemanticSLAM (рис. 7), карты в нём также могут быть представлены в виде моделей семантических карт. В отличие от топологических методов, в которых алгоритмы фильтруют метрическую информацию и использует только распознавание мест-ориентиров для различения местоположения, семантическое сопоставление связывает семантические концепции с объектами в окружающей среде. Семантическое отображение все еще находится на ранних стадиях разработки и, в зависимости от уровня необходимых семантических возможностей, оно может быть очень сложным для реализации. Несмотря на это, согласно Carlos Miguel было проведено множество исследований по семантическому отображению и семантическому SLAM.

Рис. 7. Semantic SLAM

Широкую популярность обрела ROS (Robot Operating System), со своими библиотеками для работы с навигационными задачами, которые, зачастую, находятся в открытом доступе. К примеру, некоторые из них GMapping, Google Cartographer и Rtabmap.

GMapping основан на работе с 2D или 3D лидаре, с его помощью он простраивает, соответственно 2D или 3D карту и по мере движения в пространстве алгоритм сопоставляет уже построенную карту с картой, строящейся в реальном времени, и таким образом определяет местоположение робота (рис. 8) [2].

Рис. 8. GMapping

Текст статьи
  1. Pedrosa, E., Reis L., Silva C.M.D., Ferreira H.S. Autonomous Navigation with Simultaneous Localization and Mapping in/outdoor. 2020.
  2. URL: Gmapping http://wiki.ros.org/gmapping (дата обращения: 15.01.2022).
Список литературы
Ведется прием статей
Прием материалов
c 02 июля по 08 июля
Осталось 3 дня до окончания
Публикация электронной версии статьи происходит сразу после оплаты
Справка о публикации
сразу после оплаты
Размещение электронной версии журнала
12 июля
Загрузка в eLibrary
12 июля
Рассылка печатных экземпляров
22 июля