Mobile robots need to be fully autonomous in order to perform their tasks inside their environment. To do that, robots need to have an understanding of their environment, so that they can successfully localize and navigate themselves within it. The understanding of the robots' en
...
Mobile robots need to be fully autonomous in order to perform their tasks inside their environment. To do that, robots need to have an understanding of their environment, so that they can successfully localize and navigate themselves within it. The understanding of the robots' environment is created by solving the SLAM (Simultaneous Localization And Mapping) problem. The SLAM problem is usually approached using probabilistic laws; both the robot's path and the environment are estimated and represented by probability distributions.
The estimate of the environment is incorporated into a map, which could either be one global map or a network of smaller connected local maps. In small areas where the sensors' errors and inaccuracies remain low, the creation of one global map is preferred. However, as the area grows larger, the global map becomes inaccurate due to accumulated errors. Therefore the strategy of creating a network of local maps is employed. Even though this strategy produces low error results, there is still a limit beyond which it does not scale. Specifically, as the mapping area grows even wider, the number of local maps increases which in turn causes the amount of required memory to increase. In addition, when it comes to loop closure or in other words the procedure of estimating whether the robot returned to a previously visited point in the map, the required computational power increases linearly or sometimes quadratically with respect to the number of local maps.
Consequently, SLAM algorithms suffer from scalability problems, especially when the mapping area becomes too large. Since robots are real-world devices, mapping solutions should be efficient and applicable to the robot's resources, even when these resources are limited.
In this thesis we propose a framework which addresses this scalability issue, aiming to reduce the computational needs and memory usage during the SLAM procedure. Additionally, our framework intends to facilitate loop closure, which can become troublesome in large environments.
Our framework uses multiple sensors and creates a network of hierarchically structured local maps. In order to assess our framework, we compare it to a technique which produces a network of non-hierarchically structured local maps. Our experiments show that in large areas our framework works ideally; the speedup is encouraging and the RAM memory overhead is negligible or conditionally lower.