Robotics: Science and Systems XVII

Feature-Based SLAM: Why Simultaneous Localisation and Mapping?

Liang Zhao, Zhehua Mao, Shoudong Huang


In this paper; we first prove an interesting result for point feature based SLAM. "When the covariance matrices of feature observation errors are isotropic; the robot poses and feature positions obtained in each Gauss-Newton iteration (when solving a reformulated least squares optimisation based SLAM) are independent of the feature positions in the previous step". That is; even if we reset the feature positions to different random values before each iteration; the results after the iteration never change. Building on this finding; we propose an algorithm to solve the robot poses only ("localisation") and show that the algorithm generates exactly the same robot poses in each iteration as the Gauss-Newton method (SLAM). The optimal feature positions can be easily recovered using a closed-form formula after the optimal robot poses are obtained. Similarly; when the covariance matrices of odometry translation errors are also isotropic; we can prove that the SLAM results are independent of both the feature positions and the robot positions. Thus; we can have an "rotation-only algorithm" which generates the same robot rotations as the full SLAM. Again; the optimal robot positions and the optimal feature positions can be computed from the obtained optimal robot rotations using a closed-form formula. We have used multiple 2D and 3D SLAM datasets to demonstrate our research findings. The video shows the interesting convergence results can be found at We expect the findings in this paper can help SLAM researchers to further understand the special structure of the SLAM problems and to further develop more efficient and reliable SLAM algorithms.



    AUTHOR    = {Liang Zhao AND Zhehua Mao AND Shoudong Huang}, 
    TITLE     = {{Feature-Based SLAM: Why Simultaneous Localisation and Mapping?}}, 
    BOOKTITLE = {Proceedings of Robotics: Science and Systems}, 
    YEAR      = {2021}, 
    ADDRESS   = {Virtual}, 
    MONTH     = {July}, 
    DOI       = {10.15607/RSS.2021.XVII.009}