Introduction
Currently, there are many types of autonomous unmanned aerial vehicles and robots navigation. In general, they can be divided into indoor navigation , and outdoor navigation .
In turn, indoor navigation also addresses multiple challenges. As a rule, these are mobile robots designed to move goods in a warehouse, robotic vacuum cleaners, robots for merchandising, interactive communication with customers, waiters, etc. When we move to indoor navigation, we immediately lose all the benefits of satellite navigation, because the satellite signal usually does not reach devices through concrete and metal structures. On the other hand, due to the fact that the space inside buildings is often limited to relatively small areas, it is possible to use navigation aids such as triangulation, navigation according to various marks (QR codes indicating subsequent commands for the robot, signal lines in the direction of travel, marks on the walls for correction location),SLAM navigation , as well as combinations of the above methods.
The presented navigation methods are fundamentally different in the technologies used and have their own advantages and disadvantages. In this article, only the SLAM navigation method will be considered, which is the most promising of the listed ones for working in unexplored space. This method is interesting in that it can be used in an unprepared room unknown to the robot to create a map and then use it. It should be borne in mind that SLAM requires a variety of data sources, including odometry.
1. SLAM
SLAM from eng. stands for Simultaneous Localization and Mapping . This method of navigation is used to determine the location and orientation of autonomous robots in a previously unknown area, as well as to update or supplement already known maps of the surrounding space.
, SLAM . , , , , , . , . , (, , IMU ). , , . , , , . , , , .
, SLAM , . , , . SLAM [1]:
u t,
z , t,
m , x – t. , , ( 1):
SLAM 2D, 3D. 3D , , . , , . , SLAM SLAM . , SLAM, (grid-based), (feature-based) (graph-based) , (topological) (semantic) [1].
1.1 Feature-based SLAM
Feature-based SLAM . SLAM (EKF – Extended Kalman Filter).
1.2 Graph-based SLAM
SLAM , , , . . , , . SLAM (VSLAM Rtabmap), [1].
1.3 Grid-based SLAM
. . , . , 1 , 0 [1]. 0 1 .
1.4 Topological SLAM
SLAM - , . , . , , . , [1].
1.5 SemanticSLAM
. , , . , , . , Carlos Miguel [1] SLAM [7, 9].
1.6 SLAM
SLAM Robotic Operating System (ROS) , , : GMapping [2], Cartographer [3], Rtabmap [4, 9]. ROS. , SLAM, .
Gmapping . , 2D , 360 . , , .
- (Adaptive Monte Carlo Localization – AMCL). , [5]. , , , . , « » . , , , .
Google Cartographer GMapping , 2D . , Gmapping, . , Cartographer , – cells. , Cartographer «» «» «» «» [3]. , Cartographer - . - , . ( ) , , .
, SLAM SLAM. SLAM . , SLAM , , SLAM . , SLAM [3, 6].
, Cartographer 3D [3, 6]. , . , .
, GMapping, Cartographer ( , 3D ), RGBD -, .
, Cartographer – SLAM. , GMapping, .
Rtabmap – SLAM, , [4, 7, 8, 9].
. Rtabmap 2D , , . . , . , .
, , , , . , , , . , Rtabmap , , , – . Rtabmap , . , , , – , . . Rtabmap .
, 2D , . Rtabmap : , RGBD , -, , IMU. , RGBD -. . 2D , RGBD - 2D Rtabmap. , , «» , .
, . , Rtabmap . , , . , , 2D . Rtabmap , , . , , . , , . , «» .
, , SLAM – . – Rtabmap , ( , , IMU, ). , , , , , , SLAM .
SLAM
SLAM . , . 5 , 100 2.
GMapping. . , , ( 3020 ), «» 2D , , .
, . SLAM.
Google Cartographer . , . , Cartographer .
GMapping Cartographer, Rtabmap SLAM 2D , . , Rtabmap , .
SLAM
Rtabmap. , RGBD . , SLAM.
, Cartographer – RGBD . Cartographer , Rtabmap .
, , , , , . , , , , , . , , – 2D , - ( 2D , . . , 3D , , 2D , RGBD -).
. , ( ), , , . , – , , , . - , , , . , ( ) , .
, , , . . -, . , , . -, , , , (Rtabmap , ). ROS. , , , , .
, , , . Rtabmap , ICP (Iterative Closest Point). , . , , ICP , ICP , .
, , , . Rtabmap , , , . , , , . , – , , .
. , . , , . , ; , , , , , .
Rtabmap . , . Cartographer.
, SLAM Gmapping, Rtabmap Google Cartographer. , . Gmapping – SLAM, . , 2D . , Cartographer Rtabmap , ( Rtabmap). , – Gmapping.
SLAM .
Pedrosa, E., L. Reis, C. M. D. Silva and H. S. Ferreira. Autonomous Navigation with Simultaneous Localization and Mapping in/outdoor. 2020.
Gmapping [ ] URL: http://wiki.ros.org/gmapping, – . . . : 14.08.2020 .
Google Cartographer ROS [ ] URL: https://google-cartographer-ros.readthedocs.io/en/latest/#, – . . . : 04.11.2020 .
RTAB-Map, Real-Time Appearance-Based Mapping [ ] URL: http://introlab.github.io/rtabmap/, – . . . : 22.06.2020 .
Adaptive Monte Carlo localization [ ] URL: http://wiki.ros.org/amcl, – . . . : 03.08.2020 .
Building Maps Using Google Cartographer and the OS1 Lidar Sensor [ ] URL: https://ouster.com/blog/building-maps-using-google-cartographer-and-the-os1-lidar-sensor/, – . . . : 25.02.2021 .
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. J Field Robotics. 2019; 35: 416- 446.
Silva, BMFD; Xavier, RS; Gonçalves, LMG Mapping and Navigation for Indoor Robots under ROS: An Experimental Analysis. Preprints 2019.
Mathieu Labbé and François Michaud. Online Global Loop Closure Detection for LargeScale Multi-Session Graph-Based SLAM. 2014 IEEE / RSJ International Conference on Intelligent Robots and Systems, pages 2661-2666, 2014.