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

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

1. slam是什么

1.1 slam的定义

localization:在给定地图的情况下,估计机器人的位姿

mapping:在给定机器人位姿的情况下,估计环境地图

slam:同时估计机器人的位姿和环境地图

1.2 slam解决的问题

机器人在环境中的位姿

导航过程中需要的环境地图

2. slam的分类

激光slam课程学习笔记--第1课:激光slam的发展和应用_第1张图片
部分术语解析:

metrical map: 尺度地图

topological map:拓扑地图,适用于环境比较大

hybrid map:混合地图

bayesian filters:贝叶斯滤波器

graph-based:基于图形化

2.1 基于图优化的slam

激光slam课程学习笔记--第1课:激光slam的发展和应用_第2张图片
使用图grap来表示slam的过程,node表示机器人的位姿,edge表示节点之间的空间约束关系

[上图,x表示机器人位姿节点]

graph construction(front-end):前端,表示构图过程

graph optimization(back-end):后端,表示优化过程,目的将累计误差降到0

2.2 基于滤波器的slam

激光slam课程学习笔记--第1课:激光slam的发展和应用_第3张图片
基于滤波器的slam,只是考虑当前时刻位姿,不用计算之前位姿,从而使得计算量比较少;但是,这会导致一个致命的问题,由于在slam过程中,不可避免产生累计误差,而对于之前产生的累计误差,基于滤波器slam是无法修复该误差的.

典型的基于滤波器slam的算法,gmapping.

滤波器slam的流程跟贝叶斯估计过程一致,大概可分为六步:状态预测,测量预测,进行测量,数据关联,状态更新,地图更新

3. slam的框架

激光slam课程学习笔记--第1课:激光slam的发展和应用_第4张图片

特点:

传感器:惯性测量单元(imu)[一般用于计算角度],轮式里程计(wheel odometry)[一般用于计算距离],激光雷达(lidar)[前面两者搭配此,组成激光slam]

地图类型:覆盖栅格地图(occupany grid map)[应用更广泛,由于其对环境做了鲜明的区分],点云地图

4. 激光slam

激光slam课程学习笔记--第1课:激光slam的发展和应用_第5张图片

4.1 激光slam帧间匹配算法

1)icp(iterative closest point)[点对点迭代最近匹配,匹配时有可能产生误差,由于激光的不连续造成]

2)pi-icp(point-to-line iterative closest point)[点对线迭代最近匹配,实际使用效果比1)的好]

3)ndt(normal distribution transfomation)[把地图视为很多高斯分布集合,利用高斯分布的方法来做匹配,应用比较少]

4)csm(correlation scan match)[相关匹配,注意csm也可认为是2)的匹配方法的称呼,但是这里特指相关匹配方法,其原理为暴力搜索,所以导致计算量比较大]

4.2 激光slam回环检测

1)scan-to-scan[这种方法基本淘汰了,由于激光的信息量过少,采用该方法容易出错]

2)scan-to-map[应用比较广泛,其利用当前帧信息对比历史数据进行检测]

3)map-to-map[利用当前最近的n帧激光信息组成的子图,将子图和过去的地图进行匹配][老师推荐这种方法,由于激光的信息量比较少,导致前面两者方法容易出错]

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

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

你可能感兴趣的:(slam,自动驾驶)