SLAM学习总结笔记

//本文参考自http://www.slamcn.org/index.php/首页   处,除了目录一样,其他都是阅读笔记

目录

1、SLAM介绍

    1.1 什么是SLAM

    1.2 SLAM与视觉里程计

    1.3 SLAM与SfM

2、主流开源SLAM方案

    2.1 视觉传感器

    2.2 激光传感器

    2.3 视觉(Visual)与IMU融合(VI)

    2.4 后端优化工具

3、入门资料推荐

4、泡泡机器人

5、相关博客推荐

6、机器人常用传感器

7、机器人领域优秀实验室及牛人汇总

8、Deep learning for SLAM

9、Augmented Reality for SLAM

10、问题与答复

11、MediaWiki相关


SLAM介绍

什么是SLAM

    SLAM是Simultaneous Localization and Mapping的缩写,即同时定位与构图。

    SLAM的理论提出有近三十年了,早起是使用滤波器理论,最小化运动体位姿和地图的路标点噪声。21世纪之后,借鉴SfM Structure frome motion的方式,以优化优化理论基础求解SLAm的问题,取得了一定的效果,在视觉SLAM领域中取得了主导地位。

    那么这里有两种传感器,激光和视觉。

    对于激光传感器,可直接获得相对于环境的距离信息,从而实现直接相对定位,对于激光传感器的绝对定位及轨迹优化可以在相对定位的基础上进行。

    那么对于视觉传感器,是无法获取相对于环境的直接距离信息的,需要通过两帧或者更多图像来估计自身的位姿变化,再通过累积位姿变化计算出当前的位置,这种方法更类似于直接用里程计进行定位,所以呢称为视觉里程计,里程计的测量积分之后就相当于激光传感器获取的定位信息,这就是图优化SLAM框架中的前端,而后端对定位和位姿轨迹的优化本质上与激光传感器的优化是相同的,都是基于最优估计理论的框架进行的。

SlAM与视觉里程计

    视觉里程计是SLAM的一个子模块,用于增量式的估计相机的运动,完整的SLAM还包括回环检测和全局优化,以获得建缺德一致的地图。

    视觉里程计再SLAM中一般作为SLAM系统的前端,他的增量式估计相机运动,表明相近邻之间的误差会与你共享之后的轨迹估计,随着时间的推移,误差会累加。完整的SLAM系统会考虑相机轨迹和地图的一致性,这需要消耗计算资源来计算全聚德优化。


SLAM与FfM 

    SLAM中采用了大量的SfM中的方法(如特征点跟踪、捆集优化),以至于许多研究者将两者视为同一个研究领域,尽管如此,他们的应用场合有所不同,侧重点也butongSLAM应用于机器人和VR,SLAM应用于机器人和VR,比较强调实时性,要求在有限时间有限资源进行定位,而SfM则是离线情况下进行场景重构,可以调用大量计算资源。



主流开源SLAM方案

视觉传感器:

    稀疏法(特征点):

    ORB-SLAM(单目、双目、RGBD)

    PTAM(单目)

    MonoSlAM(单目)

    半稠密法:

    LSD-SLAM(单目、双目、RGBD)

    DSO(单目)

    SVO(单目、仅VO)

    稠密法:

    DTAM(RGBD)

    Elastic Fusion(RGBD)

    Kintinous(RGBD)

    DVO:

    RGBD-SLAM-V2

    PTAB-MAP:

    MLM(单目)

    其他:

    ScaViSLAM


激光传感器

    Hector SLAM

    Gmapping

    tinySLAM(基于蒙特卡洛定位算法的简单SLAM实现)

    flirtlib提取二维激光数据的。。。


视觉与IMU(融合)

    Release of OKVIS:

后端优化工具:

    g2o:

    ceres:

    GTSAM:

常用数据集。。。(从文首处查看网址)

入门资料(从文首处查看网址)

。。。暂无(未完待续)


学习笔记遗留问题:

    1、gmapping包并没有后端优化,用那种后端优化可以进行处理。

    2、视觉SLAM可以分为前端后端闭环检测,那么激光SLAM是否也可以这么分?




  




你可能感兴趣的:(ROS,base)