1.SLAM地图划分
slam地图分为尺度地图、拓扑地图和混合地图:
- 尺度地图:具有真实的物理尺度,eg.栅格地图、点云地图,常用于SLAM、小场景路径规划栅格地图时结构化且有序的,能够直接使用位置索引查询该位置状态,查询时间复杂度为O(1)。但栅格地图对场景进行密集的切分,内存占用较大。一种常用的栅格地图格式是PGM,PGM是Portable Gray Map的缩写。
- 拓扑地图:不具备真实的物理尺度,只包含不同位置的连通关系和距离,常用于大规模的机器人路径规划
- 混合地图:是尺度地图和拓扑地图的混合,就是在拓扑地图的每个节点上有一个尺度地图。
- 语义地图(新增):在尺度地图上添加标签,常用于人机交互。高精度地图可以为无人车提供的先验信息包括:道路曲率、航向、坡度和横坡角等信息。
2.Filter-based SLAM
- 状态预测(State Prediction):里程计预测
- 测量预测(Measurement Prediction)
- 进行测量(Measurement)
- 数据关联(Data Association)
- 状态更新&地图更新(State & Map Update)
3.激光 SLAM
- 传感器:IMU、Wheel Odometry、Lidar
- 地图类型:覆盖栅格地图(对环境做出很明显的区分,比如是否可通行),点云地图。
- 帧间匹配算法:
- ICP(Iterative Closest Point)
- PI-ICP*(Point-to-Line Iterative Closest Point)
- NDT(Normal Distribution Transformation)
- CSM(Correlation Scan Match)
- 回环检测:Scan to Map(cartographer)、map to map(好像暂无)
4. 2D激光SLAM
室内机器人使用居多
- 输入输出:传感器输入,输出覆盖栅格地图或者是机器人的轨迹
- 帧间匹配算法:
- PIICP
- CSM
- 梯度优化方法:非线性最小二乘优化(对初值敏感)
- State of Art:CSM + 地图优化(cartographer)
- 回环检测方法:scan to scan,map to map,Branch and Bound(配合CSM,分枝定界)(主要时间浪费在金字塔的构建) & Lazy Decision(回环一定不能出错,所以这个方法就是要:在第一次检测到回环的时候不立刻进行回环,而是等到第二次检测到后两个一起验证一下(一致性校验矩阵),如果超过某个阈值就代表是错的)
- 注意:激光雷达的缺点就是回环信息少,所以回环这部分很重要。其次就是cartographer里面没有使用Lazy Decision,所以在几何环境比较对称的时候是比较容易回环出错的)
- Filter-based发展
- EKF-SLAM(90年代)
- FastSLAM(02–03)
- Gmapping(07:主要问题,粒子传播的时候)
- Optimal RBPF
- Graph-based发展
- Globally Consistent Range Scan For Environment Mapping(97)
- Incremental Mapping of Large Cyclic environment*(99)
- Karto SLAM(10)
- Cartographer(16)
- 2D激光SLAM的应用
- 数据的预处理:
- 轮式里程计的标定(初始解由轮式里程计和IMU来解得,越好的话,得到全局最优解可能性越大):off-line(出厂标定),on-line(实际运行轮子可能形变,所以需要在线标定)
- 激光雷达运动畸变去除
- 不同系统之间的时间同步
- 2d激光slam实际环境中的问题
- 动态物体、环境变化、几个结构相似环境、地面材质变化或者凹凸不平
- 全局定位、建图操作复杂、机器人载重的变化
- 2D激光SLAM的趋势–与视觉融合
- 视觉能提供高精度的里程信息和信息丰富的视觉地图
- 能缓解上面除动态物体、环境变化和建图的操作复杂三个以外的其他问题
- 数据的预处理:
5. 3D激光SLAM(只写与2D的区别)
3D激光雷达数据和3D点云地图
- 帧间匹配方法:
- Point-to-Plane ICP
- NDT
- Feature-based Method
- 回环检测
- Scan-to-Scan
- Scan-to-Map
- Branch and Bound & Lazy Decision
- 3D激光SLAM的发展
- LOAM-纯激光,匀速运动假设,无回环
- V-LOAM-视觉激光融合,漂移匀速假设,无回环
- VELO-视觉激光融合,无运动畸变假设,有回环
- 数据的预处理
- 轮速里程计的标定
- 激光雷达运动畸变去除
- 不同系统之间的时间同步
- 与视觉融合
- 3D激光雷达为视觉特征提供深度信息
- 视觉辅助激光雷达进行运动畸变去除
- 视觉辅助回环检测
- 视觉提供精确里程信息
- 激光SLAM中的问题
- 退化环境(走廊…)
- 地图的动态更新
- 全局定位
- 动态环境定位