激光slam 理论详解(一)

什么是slam 技术

  slam (Simultaneous Localization and Mapping)叫即时定位与建图,它主要的作用是让机器人在未知的环境中,完成定位(Localization),建图(Mapping)和路径规划(Navigation)。

激光slam简要介绍

   主流的slam技术应用有两种,分别是激光slam(基于激光雷达lidar 来建图导航)和视觉slam(vslam,基于单/双目摄像头视觉建图导航),在此主要先介绍激光slam,它有分为基于滤波的 filter-based 的SLAM,和基于图优化Graph-based的SLAM

基于滤波框架slam:     

      卡尔曼滤波  : EKF UKF  EIF  等

      粒子滤波:   PF  RBPF   FASTSAM 1.0   2.0  MCL

基于图优化框架slam:   

       Graph-slam   工具: g20

(1)基于Graph-based的代表是cartographer,karto_slam,可以修复 t 时刻之前的误差分为两部分Front-end ,和Back-end。

(2)基于(粒子滤波)PF的代表gmapping,只能估计X(t)当前时刻的位姿,不能修复之前时刻产生的误差。在大面积的情况下,就无法建图了。

slam算法实现的几个要点

1. 地图表示问题,比如dense和sparse都是它的不同表达方式,这个需要根据实际场景需求去抉择

(A)覆盖珊格地图 和点云地图

2. 信息感知问题,需要考虑如何全面的感知这个环境,RGBD摄像头FOV通常比较小,但激光雷达比较大

   (A)主要使用传感器惯性测量单元——陀螺仪(Imu)测角度,轮子编码器测里程计odom,及激光雷达

3. 数据关联问题,不同的sensor的数据类型、时间戳、坐标系表达方式各有不同,需要统一处理

4. 定位与构图问题,就是指怎么实现位姿估计和建模,这里面涉及到很多数学问题,物理模型建立,状态估计和优化

5.回环检测问题

(A)分支定界Branch and Bound&lazy Decison(延迟决策) ,代表:cartographer

(B)Scan-to-Map

6.探索问题(exploration)

7.绑架问题(kidnapping)

8.帧间匹配算法

    (A)PI-ICP

    (B)CSM(Correlation Scan Match)

    (C)梯度优化的方法:Hector—SLAM

    (D)CSM+梯度优化:cartographer

2Dslam 技术发展

  激光slam 理论详解(一)_第1张图片

(A)EKF-SLAM构建的是feature 地图,而不是grid栅格地图,所以无法用于导航,只能用于定位。

(B)gmapping是Grid版本的FastSLAM,加入了scan-match。

(C)在Optimal RBPF在gmapping上做了优化,是MRPT上的一个开源算法。

 

你可能感兴趣的:(slam)