激光slam学习笔记——基于已知位姿的构图算法
栅格地图适合用来路径规划,一般用八叉树来进行分类,标记哪里被占用,哪里是自由区域
给定机器人的位姿和观测,用概率的方法估计最可能出现的地图。
假设地图为静态的,那么我们可以认为地图中的每个栅格都是独立的,最终地图的概率可表示为所有概率的乘积
下面就是个贝叶斯估计,把第二个式子带入第一个式子进行化简
地图是一个二元随机变量,0, 1。所以他的对立事件也是类似的
将两个概率相除,因为是对立事件,所以0和1 的概率之和为1,然后用 1 - m 的概率 替换 -m 的概率,继续化简
两边同时取对数运算,就可以变成累加的形式,t-1时候的状态加上一个t时候的状态,然后减去初始时刻自己设置的值
就是激光在扫描过程中,开始时候有一个初值, 然后free栅格会被减去一个log(free),被占用的栅格会加上log(occ),没扫秒的不变。
最后如果接近 1 那么就是被占据,接近 0为空闲
计数建图算法
c = 1 是意味着没有障碍物,光束打到了空气上
m表示被占用的概率,没有障碍物时概率进行累乘表示当前观测的概率
有障碍物时把占据的概率进行相乘
要估计地图概率最大,可以表示成已知地图估计观测的概率的最大,用贝叶斯公式就可
被击中的栅格少一个累加,因为激光只能击中一个栅格,但是可以一次用过好多个栅格,要把栅格都加上
我们的目的是想让m的值最大,所以可以进行直接求导
其中 aj表示击中的次数,bj表示通过的次数
最后我们可以设定一个阈值,大于阈值则认定为障碍物,小于则认定为空闲
最后式子背后实质就是最大似然概率