Linear SLAM: A Linear Solution to the Featurebased, Pose Graph and DSLAM based on Submap Joining.  
Authors Liang Zhao; Shoudong Huang; Gamini Dissanayake;  
Get the Source Code via SVN svn co https://svn.openslam.org/data/svn/linearslam  
Long Description Linear SLAM is a strategy for largescale pose feature and pose graph SLAM through solving a sequence of linear least squares problems. The algorithm is based on building largescale maps through submap joining, where submaps are built using any existing SLAM technique that is able to deal with a small size SLAM problem. It is demonstrated that if submaps coordinate frames are judiciously selected, least squares objective function for joining two submaps becomes a quadratic function of the state vector. Therefore, solution to a largescale SLAM problem that requires joining a number of local submaps either sequentially or in a more efficient Divide and Conquer manner, can be obtained through solving a sequence of linear least squares problems. The proposed Linear SLAM technique is applicable to both featurebased, pose graph and DSLAM, in two and three dimensions, and does not require any assumption on the character of the covariance matrices or an initial guess of the state vector. Although this algorithm is still an approximation to the optimal full nonlinear least squares SLAM, simulations and experiments using publicly available datasets in 2D and 3D show that Linear SLAM produces results that are very close to the best solutions that can be obtained using full nonlinear least squares optimization algorithm started from an accurate initial value.  
Example Images  
Result of Victoria Park 2D pose feature dataset 

Result of DLR 2D pose feature dataset 

Result of Intel 2D pose graph dataset 

Result of Parking Garage 3D pose graph dataset 

Input Data The input to the Linear SLAM algorithm is a sequence of local submaps. Each local map contains a state vector estimate and the corresponding information matrix.  
Logfile Format mat file for MATLAB code, text file for C/C++ code  
Type of Map Pose feature or pose graph map  
Hardware/Software Requirements Matlab, or Windows, Microsoft Visual Studio, or Linux/Unix  
Documentation Documentation for Linear SLAM MATLAB and C/C++ Source Code  
Papers Describing the Approach Liang Zhao, Shoudong Huang and Gamini Dissanayake: Linear SLAM: A Linear Solution to the Featurebased and Pose Graph SLAM based on Submap Joining, IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2013 (link)  
License Information This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. The authors allow the users of OpenSLAM.org to use and modify the source code for their own research. Any commercial application, redistribution, etc has to be arranged between users and authors individually and is not covered by OpenSLAM.org. Linear SLAM by Liang Zhao, Shoudong Huang, Gamini Dissanayake is licensed under a Creative Commons AttributionNonCommercialShareAlike 3.0 Unported License.  
*** OpenSLAM.org is not responsible for the content of this webpage *** *** Copyright and V.i.S.d.P.: Liang Zhao; Shoudong Huang; Gamini Dissanayake; *** 