激光slam课程学习笔记--第9课:基于已知位姿的构图算法

激光slam课程学习笔记--第9课:基于已知位姿的构图算法,第1张

前言:这系列笔记是学习曾书格老师的激光slam课程所得,这里分享只是个人理解,有误之处,望大佬们赐教。这节课主要介绍基于已知位姿的构图算法(grid-based)

[slam里面最难的是位姿估计]
[位姿估计,前面学习过的方法,帧间匹配方法,优化方法;这两个属于图优化方法,pose-graph其表示机器人的位姿]

1.地图分类 1.1 地图


1)地图即为环境的空间模型
2)环境地图是机器人进行定位和规划的前提
3)地图主要分为三类:尺度地图,拓扑地图,语义地图

[定位的话,可以使用特征地图或者栅格地图;规划的话,只能用栅格地图]

[尺度地图,具体的尺寸信息和真实世界是对应的;栅格地图,特征地图,点云点图都属于尺度地图]

[拓扑地图,只是关心两个点是否连通以及连通的距离,不关心两个点的连通路线如何][对应大常见情况,会构建拓扑地图,机器人先在拓扑地图上构建路线,然后在栅格地图上找路径]

[语义地图,是一种加了标签的尺度地图;其公认是SLAM的未来,其跟深度学习结合起来][语义地图可以极大提高机器人的鲁棒性,其更加符合人的定位方式]

2.覆盖栅格建图算法 2.1 栅格地图的特征点


覆盖栅格地图算法:

1)把环境分解成一个一个小栅格
2)每个栅格有两种状态:占用(Occupied)[表示障碍物]或者空闲(free)[表示可通行区域]

3)非参模型
4)随着地图的增大,内存的需求急剧增加
5)天然区分可通行区域,适合进行轨迹规划

[栅格地图,会去除小的可通行区域]

2.2 构建栅格地图的数学描述


给定机器人的位姿和传感器的观测数据(主要指激光雷达),估计出最可能的地图
[data里面的x表示机器人的位置pose,z表示scan]

2.3 假设


假设:

1)栅格地图中的栅格是一个二元随机变量,只能取两个值:占用(occupied)或者空闲(free)
2)p(mi)=1表示占用,p(mi)=0表示空闲,p(mi)=0.5表示不知道(unknown)

3)在建图的过程中,环境不会发生改变
4)地图中的每一个栅格都是独立的

5)地图估计问题可表示为条件概率(贝叶斯估计)问题
6)估计环境的地图只需要对每一个独立的栅格进行估计即可

2.4 地图估计


[上面使用的是贝叶斯公式推导得到]


[上图中,使用贝叶斯公式进行推导;上下的m对比,下面的带符号的m属于一个相反事件]

[根据相反事件的性质(两者的概率之和为1),实现上面的推导]


[这里说的先验值为0.5,第一次用了之后就不再用]

2.5 算法流程


该算法对某一个栅格进行 *** 作时候,只有加法 *** 作,因此具有非常高的更新速度;更新时候,需要知道传感器的逆测量模型

2.6 激光雷达的逆观测模型


[激光经过的是free,击中的栅格为占用,其余栅格为unknown][个人没理解整体含义]

3. 计数(count model)


1)对于每一个栅格进行两个量:misses(i)和hits(i)
2)misses(i)表示栅格i被激光束通过的次数,即被标为free的次数

3)hits(i)表示栅格i被激光束击中的次数,即被标为occupied的次数
4)当hits(i)/(missed(i)+hits(i))超过阈值则认为该栅格为occupied,否则认为栅格为free

5)hits(i)/(missed(i)+hits(i))表示栅格i的极大拟然估计

3.1 数学描述

3.2 观测模型

3.3 地图估计


[没理解]

[没理解][公式中,从右开始数,第一个f(xt,n,ztn=j)的ztn应该为k的,如下截图]

3.4 地图估计的优化函数


[最后得到的化简公式,其背后是极大拟然估计]

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

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

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

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

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/725020.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-26
下一篇 2022-04-26

发表评论

登录后才能评论

评论列表(0条)

保存