1、激光SLAM的发展和应用趋势
1、SLAM是什么
SLAM的定义
- Localization:在给定地图的情况下,估计机器人的位
- SLAM:同时估计机器人的位姿和环境地图。
- Mapping:在给定机器人位姿的情况下,估计环境地图
SLAM解决的问题
自主移动机器人核心技术,路径规划所需要的环境地图,定位位姿估计。
2、SLAM的分类
- 主流分类方法
- 根据应用场景分类
1、静态、动态环境
2、高动态环境(机器人的视野范围内有移动物体)、低动态环境(看不到有动态)
3、根据输出 分为三种类型 尺度(跟现实对应)、拓扑(大环境中)、混合地图
4、尺度地图实现方法:
3、SLAM的框架
- 基于贝叶斯(滤波器)
-
Filter-based SLAM ((, |1:, 1:))
- 状态预测(State Prediction)
- 测量预测(Measurement Prediction)
- 进行测量(Measurement)
- 数据关联(Data Association)
- 状态更新 & 地图更新(State & Map Update)
1、机器人只顾及当前时态的位置 xt,不管上一刻,计算量小了,但前面如果产生误差就会形成累计误差,无法修正。如Gmapping,环境一大 无法简称完整地图。
2、实际上是一个基于(贝叶斯)滤波器估计的过程。卡尔曼滤波器
- 基于图优化
-
Graph-based SLAM (图论)
- Graph:表示SLAM的过程
- Node:机器人的位姿
- Edge:节点之间的空间约束关系
在建图过程中会积累误差,通过最小二乘法来优化过程中累计的误差。
分为前端(构图过程)和后端(图优化)
xi 到 xj 之间 有一个观测值和构图值,形成回环检测,其误差未eij,优化eij; 得到全局一致性。
- …
4、激光SLAM
1、传感器
- 惯性测量单元(IMU)
- 激光雷达(Lidar)
- 轮式里程计(Wheel Odometry)
2、地图类型
- 覆盖栅格地图(Occupany Grid Map)
- 有点-- 对环境做出了鲜明的区分,哪里是通行区,哪里是障碍。
- 点云地图
3、激光SLAM
帧间匹配算法
- ICP(Iterative Closest Point)
- NDT(Normal Distribution Transfomation)
- PI-ICP(Point-to-Line Iterative Closest Point)
- CSM(Correlation Scan Match)
回环检测
- Scan-to-Scan
- Map-to-Map
- Scan-to-Map
2、2D激光SLAM的介绍
传感器换成2D雷达
1、2D激光SLAM的输入
2、2D激光SLAM的输出
- 覆盖栅格地图
- 机器人的轨迹 or PoseGraph
3、2D激光SLAM的帧间匹配算法
- PI-ICP
- 梯度优化方法 (Hecter-SLAM )
- CSM(Correlation Scan Match)
- State of Art: CSM+梯度优化
4、2D激光SLAM的回环检测方法
- Scan-to-Map
- Map-to-Map
- Branch and Bound & Lazy Decision
- 最优解,剪枝 ,叶子节点小于等于父节点。达到回环检测加速。形成回环时 延后优化,(P 40:00),设定阈值 两两回环之间 一致性校验。错误回环偶尔出现。
- 分支定界的CSM 加速回环检测,延时决策。 回环定严格。
5、激光SLAM的发展
1、Filter-based (滤波器)
- EKF-SLAM----90年代 (特征地图)
- Gmapping----07 (Grid版的FastSLAM)
- 缺点 所有粒子一视同仁,误差随机,误差形成,没办法修复。非常依赖于里程计,MRPT,每次选一个最优粒子,减少噪声。
- FastSLAM----02~03
- Optimal RBPF----10
2、Graph-based (图优化) 主流
- Globally Consistent Range Scan For Environment Mapping----97 ( 第一篇论文,稀疏性)
- Karto SLAM----10
- Incremental Mapping of Large Cyclic Environments----99(经典)
- Cartographer----16 (优化版)
- 基于SPA ,map-to -map回环检测;正则表达式 效果最好。
CSM 、 SPA 认识到稀疏性 (用的少)。
gmapping实际上计算量大,每个粒子都携带地图,Scan-match
Cartographer- 每次只需一次 一个csm,一个优化
3、2D激光SLAM的应用
1、数据预处理—非常重要!
算法固然好,不如对原始数据做好预处理
数据处理的三个部分:
odom—mcu—pc 之间都有延时误差。 20ms–50ms;
2、实际环境中的问题 (环境发生变化)
- 动态物体
- 环境变化
- 几何结构相似环境
- 建图的操作复杂 (推广成本)
- 全局定位 (mht)
- 地面材质的变化 (里程计问题)
- 地面凹凸不平
- 机器人载重的改变
4、2D激光SLAM的趋势—与视觉融合
趋势
1、视觉提供的信息
- 高精度的里程信息 (vo vwo)
- 信息量丰富的视觉地图 (wheel)
2、融合解决的问题
- 几何结构相似环境
- 全局定位
- 地面材质的变
- 地面凹凸不平
- 机器人载重的改变
3、视觉的问题:
白墙;
5、3D激光SLAM
1、3D激光SLAM的介绍
1、3D激光SLAM的输入
2、3D激光SLAM的输出
- 3D点云地图
- 机器人的轨迹 or PoseGraph
3、3D激光SLAM的帧间匹配方法
- Point-to-Plane ICP (点面)
- Feature-based Method (提取特征点)
- NDT (纯定位)
4、3D激光SLAM的回环检测方法
- Scan-to-Scan
- Scan-to-Map (用feature-based 方法做)
- Branch and Bound & Lazy Decision
2、3D激光SLAM的发展
- LOAM-纯激光,匀速运动假设,无回环。(作者 zhangji)
- V-LOAM-视觉激光融合、漂移匀速假设,无回环。(精度够高不需要回环)
- VELO-视觉激光融合,无运动畸变假设,有回环。(硕士论文)
3、3D激光SLAM的应用
1、数据的预处理
- 轮式里程计的标定
- 不同系统之间的时间同步
- 激光雷达运动畸变去除
2、与视觉融合
- 3D激光雷达为视觉特征提供深度信息
- 视觉辅助激光雷达进行运动畸变去除 (因为速度快,畸变严重)
- 视觉辅助回环检测
- 视觉提供精确里程信息
4、激光SLAM中的问题
- 退化环境(Degeneration Environment)
- 地图的动态更新(Map Update)
- 全局定位(Global Localization)
- 动态环境定位(Dynamic Localization)
vo 加里程计,好于vio。