НАУЧНО-ТЕХНИЧЕСКИИ ВЕСТНИК ИНФОРМАЦИОННЫХ ТЕХНОЛОГИИ, МЕХАНИКИ И ОПТИКИ май-июнь 2020 Том 20 № 3 ISSN 2226-1494 http://ntv.itmo.ru/
SCIENTIFIC AND TECHNICAL JOURNAL OF INFORMATION TECHNOLOGIES, MECHANICS AND OPTICS May-June 2020 Vol. 20 No 3 ISSN 2226-1494 http://ntv.itmo.ru/en/
HHIIIDPMAPDHHhlX ТЕХНОЛОГИЙ, МЕХАНИКИ И ОПТИКИ
УДК 004.42 doi: 10.17586/2226-1494-2020-20-3-371-376
ИССЛЕДОВАНИЕ СИСТЕМЫ НАВИГАЦИИ ДЛЯ МОБИЛЬНЫХ РОБОТОВ НА ОСНОВЕ ОДНОВРЕМЕННОЙ ЛОКАЛИЗАЦИИ И ПОСТРОЕНИЯ КАРТЫ
Валаа Осман, В.С. Громов
Университет ИТМО, Санкт-Петербург, 197101, Российская Федерация Адрес для переписки: walaa.s.othman@gmail.com Информация о статье
Поступила в редакцию 15.04.20, принята к печати 25.05.20 Язык статьи — русский
Ссылка для цитирования: Осман Валаа, Громов В.С. Исследование системы навигации для мобильных роботов на основе одновременной локализации и построения карты // Научно-технический вестник информационных технологий, механики и оптики. 2020. Т. 20. № 3. С. 371-376. doi: 10.17586/2226-1494-2020-20-3-371-376
Аннотация
Предмет исследования. Рассмотрена задача навигации для мобильных роботов на основе метода одновременной локализации и построения карты. Камера INTEL Realsense Depth использована для получения данных от окружающей среды. Методы. Использован метод Real-Time Appearance-Based Mapping для построения облака точек. Спроецировано изображение на плоскость для получения двухмерной карты стоимости. Применен алгоритм D* для планирования глобального пути к желаемой цели, а подход с динамическим окном использован в качестве локального планировщика. Основные результаты. Представлены методы построения: облака точек изображения, полученного от камеры INTEL Realsense Depth, и пути от местоположения робота до желаемой цели. Практическая значимость. Предлагаемый подход является быстрым и надежным, может быть использован для внутренней навигации (заводы, компании и т. д.), и позволяет проводить вычисления с использованием центрального процессора без необходимости использования графического процессора. Ключевые слова
навигация, планирование пути, RTAB-Map, SLAM, алгоритм D*
doi: 10.17586/2226-1494-2020-20-3-371-376
RESEARCH OF VISUAL SIMULTANEOUS LOCALIZATION AND MAPPING-BASED NAVIGATION SYSTEM FOR MOBILE ROBOTS
W. Othman, V.S. Gromov
ITMO University, Saint Petersburg, 197101, Russian Federation Corresponding author: walaa.s.othman@gmail.com
Article info
Received 15.04.20, accepted 25.05.20 Article in Russian
For citation: Othman W., Gromov V.S. Research of visual simultaneous localization and mapping-based navigation system for mobile robots. Scientific and Technical Journal of Information Technologies, Mechanics and Optics, 2020, vol. 20, no. 3, pp. 371-376 (in Russian). doi: 10.17586/2226-1494-2020-20-3-371-376
Abstract
Subject of Research. The paper considers navigation system for mobile robots by building a map of the environment using Simultaneous Localization and Mapping algorithm and converting the 3D map collected by INTEL Realsense Depth camera into a 2D-cost map. Method. Real-Time Appearance-Based Mapping was used for building a virtual 3D map of the environment. A binary map was obtained by projecting the 3D map on a plane. The D* algorithm was applied on the binary map for planning a global path to the goal. The Dynamic-Window Approach was used as a local planner. Main Results. A point cloud of the environment was created and converted to a 2D map. A robot was safely navigated to the desired location. Practical Relevance. The proposed approach is fast and reliable and can be used for indoor navigation (factories and companies). Since the map needs to be designed only once, the calculation can be handled by CPU without any need for graphics processing unit. Keywords
navigation, path planning, RTAB-Map, SLAM, D* algorithm
Введение
Навигация мобильных роботов — процесс определения их местоположения. Исследование способности робота свободно перемещаться в любой среде была одной из наиболее востребованных тем за последние десятилетия.
В целом задачу навигации можно разделить на три категории: навигация на основе карт, навигация на основе построения карт [1], навигация без карт [2]. При навигации на основе карты роботу предоставляется карта окружающей среды в форме, понятной для программного обеспечения робота. Этот метод подходит для статических сред, где нет изменений положений объектов во времени.
При навигации на основе построения карты сначала происходит исследование окружающей среды и создание карты с помощью датчика на роботе. Точность карты в значительной степени зависит от точности используемого датчика. В дальнейшем эта карта может учитываться полностью или частично.
Навигация без карты не требует какой-либо предварительной информации об окружающей среде, т. е. движение выполняется на основе некоторой информации, извлеченной из данных датчика. Решение задач навигации означает планирование пути без столкновения с препятствиями от исходного положения робота до желаемой цели. Для этого требуется решение ряда подзадач: картирование и локализация, а также планирование пути (нахождение пути, по которому робот должен следовать, чтобы достичь желаемой цели).
В последние десятилетия широко изучалась задача картирования и локализации [3]. Представлено несколько методов визуальной одновременной локализации и построения карты V-SLAM (Visual Simultaneous localization and mapping). Наиболее известными методами при использовании камер глубины являются RTAB-Map (Real-Time Appearance-Based Mapping) [4] и ORB-SLAM2 (Oriented FAST and Rotated BRIEF, ORB) [5].
Планирование пути [6] представляет собой расчет направления и скорости движения робота на основе информации о текущем местоположении и цели. Планирование пути можно разделить на две задачи: планирование глобального пути и планирование локального пути. Планирование глобального пути направлено на то, чтобы найти оптимальный или суб-оп-тимальный путь между местоположением робота и целью. Для этого возможно использование множества алгоритмов, таких как A8 [7], D* [8], Dijkstra и т. п. Задачей локального планировщика (например, на основе методов потенциального поля, подхода с динамическим окном DWA (Dynamic Windows Approach) [9], вероятностных дорожных карт и т. д.) является недопущение столкновения новых появляющихся препятствий, не обозначенных глобальным планировщиком пути, на основании данных от датчиков робота.
Целью работы является применение одновременной локализации и построения карты SLAM с использованием системы технического зрения (RTAB-Map SLAM)
и камеры INTEL Realsense Depth1 для построения карты окружающей среды, применение алгоритма D* в качестве глобального планировщика для поиска оптимального пути робота и использование DWA в качестве локального планировщика для исключения столкновений с динамическими препятствиями.
Используемые методы
Получение облака точек. Алгоритм V-SLAM можно разделить на два модуля [10]:
1) внешний модуль (Front end) обнаруживает особенности изображения, извлекает дескрипторы, оценивает и оптимизирует преобразование на основе результатов сравнения дескрипторов;
2) внутренний модуль (Back end) использует информацию, полученную внешним модулем, и создает карту. Он также обнаруживает замыкание петли и, когда это условие выполняется, оптимизирует карту. Рис. 1 показывает основные блоки V-SLAM. Сбор данных с датчиков. В данном случае — это
получение изображений RGBD (Red-Green-Blue-Depth), показаний IMU (Inertial Measurement Unit) и всех процессов, связанных с калибровкой камеры, синхронизацией кадров.
Визуальная одометрия. Зачастую сложно оценить, как перемещалась камера между двумя изображениями. Тем не менее исследователи обнаружили, что можно извлечь некоторые отличительные точки из изображения (features) или, как называют в классической SLAM, ориентирами. Эти точки останутся неизменными после небольшого перемещения камеры. В зависимости от расположения этих точек задача определения перемещения камеры и задача локализации могут быть решены.
Рис. 1. Основные блоки визуальной одновременной локализации и построения карты
1 INTEL. Intel® realsenseTM depth camera d435i [Электронный ресурс]. Режим доступа: https://www. intelrealsense.com/depth-camera-d435i/ (дата обращения 20.05.2020).
Извлечение объектов с использованием Oriented FAST и Rotated BRIEF (ORB) [11]. Этот алгоритм объединяет дескриптор FAST (Features from Accelerated Segment Test) [12] для нахождения ключевых точек изображения и дескрипторы BRIEF (Binary Robust Independent Elementary Features) для описания области вокруг ключевых точек. После нахождения ключевых точек с помощью FAST, ORB применяет алгоритм определения угла Харриса, чтобы выбрать лучшие N точек из них. Аналогично SIFT (Scale-Invariant Feature Transform) [13] он использует градацию разных масштабов, что делает алгоритм масштабно-инвариантным. Сам FAST не содержит расчета ориентации. ORB решает эту проблему, вычисляя взвешенный по интенсивности центроид участка с расположенным в центре углом. Ориентация - это направление от угловой точки к центроиду.
Сопоставление функций. В OpenCV представлено и реализовано множество алгоритмов для решения проблемы сопоставления, например, таких как метод ближайшего соседа.
Замыкания петли (Loop closure detection) [14]. При каждом движении робота (камеры) добавляется небольшой сдвиг. Подход обнаружения замыкания петли предлагает способ сообщить роботу, когда он снова вернется в исходное место. Зная это, можно исключить сдвиг, пересчитав позицию робота в новом положении. Это условие уменьшает погрешность и неопределенность на карте. Результат обработки зависит от вычисленного сходства между изображениями и, если это условие выполняется, принимается решение, был ли робот в этом месте раньше. Если обнаружено замыкание петли, информация о том, что две точки совпадают, передается в алгоритм оптимизации, который настраивает карту и траекторию в соответствии с новым условием.
Построение карты (mapping). После получения ключевых точек каждого кадра и определения одинаковых точек в двух кадрах, преобразование между кадрами рассчитывается путем нахождения поворота и сдвига между координатами характерных точек на соответствующих изображениях.
Однородное преобразование используется для сшивания облаков точек
T =
R
■3x3
1x3
O3X1 1
где Т — однородная матрица преобразования; R — матрица поворота; S — масштабирующая матрица; O — матрица перевода.
Блок оптимизации направлен на уменьшение общей ошибки, накопленной из ошибок при расчете одоме-трии. Этот блок получает положение камеры в разное время и условие замыкание петли, а после этого он пытается оценить карту и траекторию путем минимизации ошибки, с учетом того, что принятые данные не являются оптимальными и имеют шумы. Этот блок также дает представление о том, насколько карта точна. В данной работе используется V-SLAM-подход, основанный на обработке изображений в реальном времени ^ТАВ-Мар), эти методы могут применяться в помеще-
ниях и на открытом воздухе, а также работают в режиме реального времени без графического процессора.
Для повышения точности карты и уменьшения шума при измерениях IMU был использован фильтр Madgwick.
Преобразование облака точек в 2D-карту. Трехмерное облако точек, сгенерированное алгоритмом SLAM, не подходит для планирования пути, поскольку требует большого количества вычислений. Таким образом, необходимо преобразовать облако точек в двумерную среду. Существуют два способа для получения 2D-карты.
1. Проецирование SD-карты на плоскость. Основной проблемой данного подхода является обнаружение уровня земли. Это может быть достигнуто либо на основе определения высоты уровня земли, либо на основе угла наклона земли. Обозначение в зависимости от высоты может быть неэффективным, например, когда земля неровная.
2. Преобразование облака в срезанные плоские данные и использование алгоритма SLAM для лазерных датчиков при создании карты. Этот способ простой, но он вызывает потерю информации. Когда двумерная карта среды известна, ее можно прочитать как вектор логических векторов, и проблема навигации может быть решена путем планирования пути между текущим местоположением робота и желаемой целью. Эта задача может быть решена с помощью алгоритмов поиска по графу, таких как поиск по ширине (BFS), поиск по глубине (DFS), алгоритм Дейкстры, алгоритм A*, алгоритм D*, и так далее. Алгоритм D* похож на алгоритм А*, но гораздо
быстрее для перепланировки пути, что полезно в условиях меняющейся окружающей среды. Алгоритм начинается от цели и распространяется назад к месту старта робота, для каждого узла точно рассчитана стоимость прохождения к цели. Таким образом, алгоритм рассчитывает путь с наименьшей стоимостью соседних графов по направлению к цели.
Подход с динамическим окном (DWA) — основанный на скорости локальный планировщик, который вычисляет оптимальную скорость без столкновений для робота, необходимую для достижения его цели. Он переводит декартову цель (x, y) в команды скорости (v, w) для мобильного робота, где x, y — координаты, v и w — линейная и угловая скорости.
Алгоритм может быть обобщен с помощью следующих шагов.
Шаг 1. Рассчитать желаемую скорость до цели, основываясь на текущем положении и месте назначения (например, двигаться быстро, если находимся далеко, медленно, если — близко).
Шаг 2. Выбрать допустимые скорости (v и w) с учетом динамики транспортных средств, например, вычесть из скорости компоненту для торможения, в зависимости от удаленности до цели и динамических свойств робота.
Шаг 3. Искать по всем допустимым скоростям. Шаг 4. Для каждой скорости определить ближайшее препятствие (т. е. обнаружение столкновения вдоль траектории).
Шаг 5. Определить, находится ли расстояние до ближайшего препятствия в пределах тормозного пути робота. Если робот не сможет вовремя остановиться, не обращать внимания на эту предложенную скорость.
Шаг 6. В противном случае скорость является «допустимой», поэтому теперь можем вычислить значения, необходимые для целевой функции. В рассматриваемом случае это линейные и угловые координаты.
Шаг 7. Рассчитать «стоимость» для предложенной скорости. Если «стоимость» выше, чем полученная ранее, то установить это как лучший вариант.
Шаг 8. Установить желаемую траекторию движения с наилучшей предложенной скоростью.
Апробация метода
Во время экспериментальной апробации применялся алгоритм RTAB-Map, представленный выше, для расчета карты облака точек для изображений, полученных камерой INTEL Realsense D345i. Применение фильтра Madgwick позволило увеличить точности данных IMU и, следовательно, повысить точность карты. На рис. 2 показаны ключевые точки, обнаруженные с помощью алгоритма ORB.
На рис. 3 показано применение библиотеки FAST по поиску ближайших соседей между двумя изображениями для определения перемещения.
RTAB-Map привязывает карту к облаку точек. На рис. 4 показано облако точек, полученное с помощью RTAB-Map.
Карта для навигации представляет собой сетку из белых и черных квадратов. Белые квадраты представляют безопасную зону, в которой робот может двигаться,
Рис. 2. Ключевые точки, обнаруженные с помощью алгоритма ORB
Рис. 3. Результаты применения библиотеки FAST по поиску ближайших соседей между двумя изображениями для определения перемещения
Рис. 4. Облако точек, полученное с помощью ЯТАБ-Мар, где цветные линии - единичные вектора в местоположении робота
Рис. 5. 2D-карта, сгенерированная из облака точек
а черные — препятствия. На рис. 5 показана 2D-карта, сгенерированная из облака точек.
Проецируя точки, полученные из пространственного представления, на плоскость, определяем точки земли и препятствий на основе определения высоты уровня земли. Результаты применения алгоритма D* на карте показаны на рис. 6.
Рис. 6. Применения алгоритма D* на карте
Заключение
В данной работе представлены результаты исследования навигационной системы для мобильных роботов путем построения карты среды с использованием метода одновременной локализации и картирования, с преобразованием полученных пространственных данных в двухмерное представление. Рассмотрены методы навигации мобильных роботов на основе RTAB-Map SLAM и D* алгоритма. RTAB-Map использовался на-
ряду с фильтром Madgwick для повышения точности данных, полученных камерой INTEL Realsense D345i. Проецируя точки от пространственного представления на плоскость на основе высоты, появляется возможность определить, является ли та или иная точка землей или препятствием. После получения карты D* алгоритм может быть применен для нахождения оптимального пути к цели. Предложенный подход DWA можно также использовать как локальный планировщик для устранения столкновений с появляющимися препятствиями.
Литература
1. Meyer J.-A., Filliat D. Map-based navigation in Mobile robots: II. A review of map-learning and path-planning strategies // Cognitive Systems Research. 2003. V. 4. N 4. P. 283-317. doi: 10.1016/S1389-0417(03)00007-X
2. Gflzel M. Autonomous vehicle navigation using vision and mapless strategies: A survey // Advances in Mechanical Engineering. 2013. P. 234747. doi: 10.1155/2013/234747
3. Aulinas J., Petillot Y., Salvi J., Llado X. The SLAM problem: a survey // Frontiers in Artificial Intelligence and Applications. 2008. V. 184. P. 363-371. doi: 10.3233/978-1-58603-925-7-363
4. Labbe M., Michaud F. RTAB-Map as an open-source lidar and visual simultaneous localization and mapping library for large-scale and long-term online operation // Journal of Field Robotics. 2019. V. 36. N 2. P. 416-466. doi: 10.1002/rob.21831
5. Mur-Artal R., Tardos J.D. ORB-SLAM2: An open-source SLAM system for monocular, stereo, and RGB-D cameras // IEEE Transactions on Robotics. 2017. V. 33. N 5. P. 1255-1262. doi: 10.1109/TR0.2017.2705103
6. Victerpaul P., Saravanan D., Janakiraman S., Pradeep J. Path planning of autonomous mobile robots: A survey and comparison // Journal of Advanced Research in Dynamical and Control Systems. 2017. V. 9. N 12(spec.issue). P. 1535-1565.
7. Liu X., Gong D. A comparative study of a-star algorithms for search and rescue in perfect maze // Proc. of the International Conference on Electric Information and Control Engineering (ICEICE 2011). 2011. P. 24-27. doi: 10.1109/ICEICE.2011.5777723
8. Stentz A. The D* algorithm for real-time planning of optimal traverses: Technical Report, Carnegie Mellon University, Pittsburgh, PA, 1994. CMU-RI-TR-94-37.
9. Fox D., Burgard W., Thrun S. The dynamic window approach to collision avoidance // IEEE Robotics and Automation Magazine. 1997. V. 4. N 1. P. 23-33. doi: 10.1109/100.580977
10. Taketomi T., Uchiyama H., Ikeda S. Visual SLAM algorithms: A survey from 2010 to 2016 // IPSJ Transactions on Computer Vision and Applications. 2017. V. 9. P. 16. doi: 10.1186/s41074-017-0027-2
11. Rublee E., Rabaud V., Konolige K., Bradski G. ORB: An efficient alternative to SIFT or SURF // Proc. of the IEEE International Conference on Computer Vision (ICCV 2011). 2011. P. 2564-2571. doi: 10.1109/ICCV.2011.6126544
12. Hast A., Sablina V.A., Kylberg G., Sintorn I.-M. A simple and efficient feature descriptor for fast matching // Full Papers Proc. 23rd International Conference in Central Europe on Computer Graphics, Visualization and Computer Vision (WSCG). University of West Bohemia, Plzen, Czech Republic. 2015. P. 135-142.
13. Yuvaraju M., Sheela K., Sobana R. Feature extraction of real-time image using sift algorithm // International Journal of Research in Electrical and Electronics Engineering. 2015. V. 3. N 4. P. 1-7.
14. Labbe M., Michaud F. Online global loop closure detection for large-scale multi-session graph-based SLAM // Proc. of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2014). 2014. P. 2661-2666. doi: 10.1109/IROS.2014.6942926
References
1. Meyer J.-A., Filliat D. Map-based navigation in Mobile robots: II. A review of map-learning and path-planning strategies. Cognitive Systems Research, 2003, vol. 4, no. 4, pp. 283-317. doi: 10.1016/ S1389-0417(03)00007-X
2. Guzel M. Autonomous vehicle navigation using vision and mapless strategies: A survey. Advances in Mechanical Engineering, 2013, pp. 234747. doi: 10.1155/2013/234747
3. Aulinas J., Petillot Y., Salvi J., Llado X. The SLAM problem: a survey. Frontiers in Artificial Intelligence and Applications, 2008, vol. 184, pp. 363-371. doi: 10.3233/978-1-58603-925-7-363
4. Labbé M., Michaud F. RTAB-Map as an open-source lidar and visual simultaneous localization and mapping library for large-scale and long-term online operation. Journal of Field Robotics, 2019, vol. 36, no. 2, pp. 416-466. doi: 10.1002/rob.21831
5. Mur-Artal R., Tardos J.D. ORB-SLAM2: An open-source SLAM system for monocular, stereo, and RGB-D cameras. IEEE Transactions on Robotics, 2017, vol. 33, no. 5, pp. 1255-1262. doi: 10.1109/TR0.2017.2705103
6. Victerpaul P., Saravanan D., Janakiraman S., Pradeep J. Path planning of autonomous mobile robots: A survey and comparison. Journal of Advanced Research in Dynamical and Control Systems, 2017, vol. 9, no. 12(spec.issue), pp. 1535-1565.
7. Liu X., Gong D. A comparative study of a-star algorithms for search and rescue in perfect maze. Proc. of the International Conference on Electric Information and Control Engineering (ICEICE 2011), 2011, pp. 24-27. doi: 10.1109/ICEICE.2011.5777723
8. Stentz A. The D* algorithm for real-time planning of optimal traverses. Technical Report, Carnegie Mellon University, Pittsburgh, PA, 1994, CMU-RI-TR-94-37.
9. Fox D., Burgard W., Thrun S. The dynamic window approach to collision avoidance. IEEE Robotics and Automation Magazine, 1997, vol. 4, no. 1, pp. 23-33. doi: 10.1109/100.580977
10. Taketomi T., Uchiyama H., Ikeda S. Visual SLAM algorithms: A survey from 2010 to 2016. IPSJ Transactions on Computer Vision and Applications, 2017, vol. 9, pp. 16. doi: 10.1186/s41074-017-0027-2
11. Rublee E., Rabaud V., Konolige K., Bradski G. ORB: An efficient alternative to SIFT or SURF. Proc. of the IEEE International Conference on Computer Vision (ICCV2011), 2011, pp. 2564-2571. doi: 10.1109/ICCV.2011.6126544
12. Hast A., Sablina V.A., Kylberg G., Sintorn I.-M. A simple and efficient feature descriptor for fast matching. Full Papers Proc. 23rd International Conference in Central Europe on Computer Graphics, Visualization and Computer Vision (WSCG), University of West Bohemia, Plzen, Czech Republic, 2015, pp. 135-142.
13. Yuvaraju M., Sheela K., Sobana R. Feature extraction of real-time image using sift algorithm. International Journal of Research in Electrical and Electronics Engineering, 2015, vol. 3, no. 4, pp. 1-7.
14. Labbé M., Michaud F. Online global loop closure detection for large-scale multi-session graph-based SLAM. Proc. of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2014), 2014, pp. 2661-2666. doi: 10.1109/IR0S.2014.6942926
Авторы
Осман Валаа — студент, Университет ИТМО, Санкт-Петербург, 197101, Российская Федерация, ОЯСГО ГО: 0000-0002-8581-1333, walaa.s.othman@gmail.com
Громов Владислав Сергеевич — кандидат технических наук, доцент, Университет ИТМО, Санкт-Петербург, 197101, Российская Федерация, ОЯСГО ГО: 0000-0002-2416-3766, gromov@itmo.ru
Authors
Walaa Othman — Student, ITMO University, Saint Petersburg, 197101, Russian Federation, ORCID ID: 0000-0002-8581-1333, walaa.s.othman@gmail.com
Vladislav S. Gromov — PhD, Associate Professor, ITMO University, Saint Petersburg, 197101, Russian Federation, ORCID ID: 0000-0002-2416-3766, gromov@itmo.ru