SLAM :Google cartographer算法简析

测试了一下cartogragher ros工程之后, 感觉效果确实要比Hector 和 Gmapping 两种算法好。

测试条件如下:

              软件: Ubuntu 1404 + indigo + cartographer_ros + rplidar_ros

              硬件: intel i7 u系列 + rplidar

测试结果:

           1》 鲁棒性好,尤其在没有IMU的辅助下,应对旋转速度高的突然转向,没有出现建图错误。由于采用了回环检测,可以消除积累误差, 建图效果比较稳定。

           2》速度比想象的要快,从原理上看, 运算量远要大于hector, gmapping,但得益于SPA和 BBS算法,速度很快。

           3》接口封装得很简洁, 给人的感觉是一款稳定,可靠,易用的软件包。


主要论文:

          1.1 Real-Time Loop Closure in 2D LIDAR SLAM , ICRA 2016

          1.2  Efficient Sparse Pose Adjustment for 2D Mapping (SPA)

          1.3  Real-Time Correlative Scan Matching (BBS)


    1》Real-Time Loop Closure in 2D LIDAR SLAM

         文章的重点是第四部分和第五部分

         第四部分:local 2d slam, 主要是将 局部地图的 scan matching作为一个二次型优化问题,   由ceres slover 解决        

         第五部分: closing loop, 采用了 SPA(Sparse Pose Adjustment)进行后端loop closure。 这个过程中有一个很重要的过程是的scan和 submap的匹配,这里采用了BBS(Branch-and-bound scan matching), 它可大幅提高精度和速度。

         cartographer的整体架构是典型的 前端建图 (局部地图)+后端优化。 整个性能相比传统的 state-of-the-art的算法没有什么太大的提高, 而是更像一个实用性的产品,很好的平衡了性能和速度。


    2》SPA(Sparse Pose Adjustment)的细节参考论文 1.2


    3》BBS(Branch-and-bound scan matching)的细节参考论文 1.3

猜你喜欢

转载自blog.csdn.net/qq_25241325/article/details/80819299