Graph Based Simultaneous Localization and Mapping: Computational Complexity Reduction on a Multicore Heterogeneous Architecture
This article deals with the computational complexity issue of graphbased simultaneous localization and mapping (SLAM) SLAM allows a robot that is navigating in an unknown environment to build a map of this environment while simultaneously determining the robot pose on this map. Graph based SLAM is a smoothing method that uses a graph to represent and solve the SLAM problem. We first propose a graph construction that takes advantage of the incremental and sparse characteristics of graph based SLAM. This incremental construction is exploited to perform several algorithmic optimizations. Second, we present a study of using a heterogeneous architecture to implement the graph based SLAM algorithm. Indeed, the emergence of recent heterogeneous embedded architectures should lead to a great advance in the design of embedded systems based robotics applications. As a result of this study, an algorithm architecture mapping is proposed for a central processing unit graphics processing unit (CPU GPU) based architecture. The study also investigates how this kind of architecture can speed up graph based SLAM by offloading some critical compute intensive tasks of the algorithm on the GPU. Some common data sets are used to compare our implementations to the state of the art.
IEEE Robotics Automation Magazine