激光slam课程学习笔记--第2课:2D激光slam

Posted 鸿_H

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了激光slam课程学习笔记--第2课:2D激光slam相关的知识,希望对你有一定的参考价值。

前言:这系列笔记是学习曾书格老师的激光slam课程所得,这里分享只是个人理解,有误之处,望大佬们赐教。这节课介绍的是2D激光slam。

1. 2d激光slam的介绍

激光slam的输入:IMU数据,里程计[可以简化理解为一种描述机器人的定位姿态信息的东西]数据,激光雷达数据

激光slam的输出:覆盖栅格地图,机器人的轨迹或pose graph

帧间匹配方法:
PI-ICP,
CSM(correlation scan math)[对初值不敏感,但是只是对一定范围进行细分但不能无限细分以节省计算量,其精度受限于最小分辨率],

梯度优化方法[把匹配问题转换为一个非线性最小优化问题,其对初值敏感],

state of art:CSM+梯度优化[当前最优方式]

回环检测方法:

1)scan-to-map,
2)map-to-map,
3)branch and bound[分支与边界,其思路是,把搜索空间构造一棵树,越到下面,搜索空间划分就越细,父节点的最优得分大于子节点得分之后,若父小于子节点之和,则将整个分支截除][这个方法可以保证回环速度] [CSM]

& lazy decision[目地是避免回环出错带来的灾难性后果.回环时,若检测到相同位置,不立刻进行优化,而是多走几步再优化][该方法可避免错误回环]

[由于2d激光雷达信息比较少,回环严格,可能会导致回环失败;回环过松,可能导致回环失败][方法3)是当前常用的方法]

2. 2d激光slam的发展

2.1 基于滤波器

a、EKF-SLAM,诞生于90年代。[当前导航使用的是栅格地图,而其构建的是特征地图,故基本被舍弃]

b、FastSLAM,诞生于02-03年

c、Gmapping,诞生于07年[栅格版本+scan match,其基于滤波器的,累计误差无法消除,所以该方式非常依赖里程计]

d、Optimal RBPF,诞生于10年[是对gmapping进行优化所得,原理是对一个粒子进行传播n次,在n次里面选择最优粒子出来作为真实传播,从而减低误差][基于滤波器的2d激光slam方法到了10年的停止发展了]

2.2 基于图优化

a、Globally Consistent Range Scan For Envionment Mapping,诞生于97年[基本框架和当前图优化论文毫无区别,采用的是非线性最小二乘,但是忽略了稀疏性]

b、Incremental Mapping of Large Cyclic Environments,诞生于99年[老师说这是一篇跨时代论文,当前2d激光slam框架都是和这篇论文基本一样,局部匹配(local scan match)+全局矫正(global correct),回环检测使用的是map-to-map,但是其也没有认识到稀疏性]

c、Karto SLAM,诞生于10年[基于CSM+SPA两篇论文产生的,跑该开源代码时容易发生崩溃,由于其SPA库有问题,但是其是第一个基于图优化的开源算法]

d、Cartographer,诞生于16年[谷歌开源,可视为是Karto SLAM的升级版本,局部子图实时构建,分阶递进方法来加速回环检测,利用图优化方法进行帧间匹配]

[老师建议,基于滤波器的slam方法不用研究了,直接搞图优化框架里面进行研究得了]

3. 2d激光slam的应用

3.1 数据预处理

[很多情况,数据处理做得好,比花一堆时间改进算法得到的效果更好]

a、轮式里程计的标定

[激光的初始解是由轮式里程计和imu给定的,所以轮式里程计的标定是非常重要的]

[轮式里程计标定一般分为,offline(出厂标定)、online(在线标定)(比如提前标定了轮子直径,满载时,轮子会被压扁的,而此时还采用原有的标定方式,会导致误差继续放大,此时就需要在线标定轮子直径以保持较高的直径精度以缓解误差)]

b、激光雷达运动的畸形去除

[畸变产生原理:由于激光是旋转产生的,过程是需要花时间的,而载体是运动的,那么产生的一圈激光必然不是闭合的]

c、不同系统之间的时间同步

[导航系统,信息流可有odom—>mcu—>主机pc,传递过程中存在时间延迟,导致系统处理时获取的数据并不符合当前状况,导致策略信息生成有错误][这就凸显了时间同步的重要性]

3.2 实际环境中问题

a、动态物体
b、环境变化
c、几何机构相似环境[激光使用的是特征点进行建图的,特征点过少,导致建图的艰难]

d、建图的操作复杂
e、全局定位[单纯靠2d激光来做全局定位,比较难,也有例子如MHT]
f、地面材质的变化[如影响轮子直径导致里程计的不准]

g、地面凹凸不平[影响里程计]
h、机器人载重的改变[影响里程计]

4. 2d激光SLAM的趋势–与视觉融合

4.1 视觉提供的信息

1)高精度的里程信息[VIO,VWO(W表示wheel)]
2)信息量丰富的视觉地图

[视觉面对白色物体,就会失效]

4.2 融合解决的问题

1)动态物体
2)环境变化
3)几何结构相似环境[视觉地图]

4)建图的操作复杂
5)全局定位[视觉地图]
6)地面材质的变化[里程信息]

7)地面凹凸不平[里程信息]
8)机器人载重的改变[里程信息]

[我们都希望多个传感器融合得到1+1>2结果,但是实际情况可能会出现<2情况,这是我们要注意的]

#####################
图片版权归原作者所有
致谢曾老师的付出

不积硅步,无以至千里
好记性不如烂笔头
感觉有点收获的话,麻烦大大们点赞收藏哈

以上是关于激光slam课程学习笔记--第2课:2D激光slam的主要内容,如果未能解决你的问题,请参考以下文章

激光slam课程学习笔记--第3课: 3D激光 slam

激光slam课程学习笔记--第3课: 3D激光 slam

激光slam课程学习笔记--第8课:cartographer代码基本介绍

激光slam课程学习笔记--第8课:cartographer代码基本介绍

激光slam课程学习笔记--第11课:3D激光SLAM介绍

激光slam课程学习笔记--第1课:激光slam的发展和应用