一:激光SLAM简介
1:SLAM是什么
(1)SLAM的定义
- Localiztion:在给定地图的情况下,估计机器人的位姿
- Mapping:在给定机器人位姿的情况下,估计环境地图
- SLAM:同时估计机器人的位姿和环境地图
(2)SLAM解决的问题
- 机器人在环境中的位姿
- 导航过程中需要的环境地图
2:SLAM的分类
(1)静态环境的SLAM(static environments)
-
尺度地图(Metrical map)
->贝叶斯滤波器(Bayesian filters)
->卡尔曼滤波器(Kalman filter)
->信息滤波器(Information filter)
->粒子滤波器(Particle filter)
->基于图优化(Graph-based)
-
拓扑地图(Topological map)
-
混合地图(Hybrid map)
(2)动态环境(Dynamic environments)
-
高动态环境(High dynamic objects)
-
低动态环境(Low dynamic objects)
3:SLAM的框架
(1)基于图优化的SLAM框架
通过最小二乘使误差error收敛于0
(2)基于滤波器的SLAM框架
- 状态预测(State Prediction)
- 测量预测(Measurement Prediction)
- 进行测量(Measurement)
- 数据关联(Data Association)
- 状态更新 & 地图更新(State & Map Update)
4:激光SLAM
(1)传感器:
- 惯性测量单元(IMU)
- 轮式里程计(Wheel Odometry)
- 激光雷达(Lidar)
(2)地图类型
- 覆盖栅格地图(Occupany Grid Map)
- 点云地图
(3)帧间匹配算法
-
ICP(iterative closest point)
点对点迭代最近匹配,匹配时有可能产生误差,由于激光的不连续性造成
-
PI-ICP(point to-line iterative closest point)
点对线迭代最近匹配,使用效果比1好
-
NDT(normal distribution transfomation)
把地图视为很多高斯分布集合,利用高斯分布的方法来匹配,应用较少
-
CSM(correlation scan match)
相关匹配,注意csm也可认为是2的匹配方法的称呼,其原理为暴力搜索,所以计算量较大
(4)回环检测
-
Scan-to-Scan
这种方法基本淘汰了,由于激光的信息量过小,采用该方法容易出错
-
Scan-to-Map
即激光雷达扫描数据直接与地图进行匹配,得到实际位置坐标[x,y,theta]
应用比较广泛,其利用当前帧信息对比历史数据进行检测
-
Map-to-Map
利用当前最近的n帧激光信息组成的子图,将子图和过去的地图进行匹配
【推荐这种办法,由于激光的信息量比较少,导致前面两种的方法容易出错】
二:2D激光SLAM
1:2D激光SLAM的介绍
(1)2D激光SLAM的输入
- IMU数据
- 里程计数据
- 2D激光雷达数据
(2)2D激光SLAM的输出
- 覆盖栅格地图
- 机器人的轨迹 or PoseGraph
(3)2D激光SLAM的帧间匹配方法
- PI-ICP
- CSM
- 梯度优化方法
- State of Art:CSM+梯度优化
(4)2D激光SLAM的回环检测方法
-
Scan-to-Map
-
Map-to-Map
-
Branch and Bound & Lazy Decision
剪支与延迟决策
2:2D激光SLAM的发展
(1)基于滤波器的SLAM
- EKF-SLAM – 90年代
- FastSLAM – 02~03
- Gmapping – 07
- Optimal RBPF – 10
(2)基于图优化的SLAM
- Globally Consistent Range Scan For Environment Mapping – 97
- Incremental Mapping of Large Cyclic Environment – 99
- Karto SLAM – 10
- Cartographer – 16
3:2D激光SLAM的应用
(1)数据的预处理–是一切准确性的前提
- 轮式里程计的标定
- 激光雷达运动畸变去除
- 不同系统之间的时间同步
(2)实际环境中的问题
- 动态物体
- 环境变化
- 几何结构相似环境
- 建图的操作复杂
- 全局定位
- 地面材质的变化
- 地面凹凸不平
- 机器人载重的改变
4:2D激光SLAM的趋势-与视觉融合
(1)视觉提供的信息
- 高精度的里程计信息
- 信息量丰富的视觉地图
(2)融合解决的问题–3,5,6,7,8
三:3D激光SLAM
1:3D激光SLAM的介绍
(1)3D激光SLAM的输入
- IMU数据
- 里程计数据
- 3D激光雷达数据
(2)3D激光SLAM的输出
- 3D点云地图
- 机器人的轨迹 or PoseGraph
(3)3D激光SLAM的帧间匹配方法
- Point-to-Plane ICp
- NDT
- Feature-based Method
(4)3D激光SLAM的回环检测办法
- Scan-to-Scan
- Scan-to-Map
- Branch and Bound & Lazy Decision
2:3D激光SLAM的发展
- LOAM–纯激光,匀速运动假设(在激光的一个采样周期内),无回环
- V-LOAM-视觉激光融合,漂移线性假设,无回环
- VELO-视觉激光融合,无运动畸变假设,有回环(简单的)
3:3D激光SLAM的应用
(1)数据的预处理
- 轮式里程计的标定
- 激光雷达运动畸变去除
- 不同系统之间的时间同步
(2)与视觉融合
- 3D激光雷达为视觉特征提供深度信息
- 视觉辅助雷达进行运动畸变去除
- 视觉辅助回环检测
- 视觉提供精确里程信息
4:激光SLAM中的问题
- 退化环境
- 地图的动态更新
- 全局定位
- 动态环境定位