SLAM Course - WS13/14 by Cyrill Stachniss (4) 贝叶斯滤波器及相关模型

课件及相关资源下载:http://blog.csdn.net/yoouzx/article/details/53098176

贝叶斯滤波器

测量和控制输入

定义 z1:t 为不同时刻 t 的环境测量值,z1:t提供机器人周围的环境信息,可以是激光、图像数据等形式。定义 u1:t 为不同时刻 t 的控制输入,u1:t给出改变机器人状态的指令。由于传感器测量噪声和执行机构的误差(如齿轮间的不完全啮合,车轮大小不一致等), 实际的测量和控制输入都是有噪声的,这引起了机器人状态的不确定性。定义 x0t 为机器人不同时刻的状态, x0 表示机器人的初始状态。则 z1:tu1:tx0t 之间的关系可以由下图表示。
状态、测量和控制转换图

预测方程和矫正方程的推导

贝叶斯滤波器的推导基于贝叶斯概率公式和马尔科夫假设。
1. 贝叶斯概率公式(后验概率):

p(x|y)=p(y|x)p(x)p(y)=ηp(y|x)p(x)

当条件概率涉及到的变量比较多,上式分母就会变得比较复杂,为表示方便这里定义 η 为归一化参数。
相似的,我们可以考虑 p(x|y,z) 的条件概率,这里可以看成在 z 发生的条件下,将概率p(x|y)进行贝叶斯公式展开,代入二元贝叶斯公式得到:
p(x|y,z)=p(y|x,z)p(x|z)p(y|z)

2. 定义可信度:
bel(xt)=p(xt|z1:t,u1:t)

3. 根据贝叶斯概率公式将上式展开(参考1.中三个变量贝叶斯公式推导)为:
bel(xt)=p(xt|z1:t,u1:t)=ηp(zt|xtz1:t1,u1:t)(1)p(xt|z1:t1u1:t)(2)

4. 根据马尔科夫假设进行简化
在probability robotics 这本书里,马尔科夫假设是全书的基本假设,所有的公式都是在这个假设基础行推导而来的,马尔科夫假设核心思想是:已知当前时刻的状态 xt ,不会影响过去和将来的状态。
对于3.公式(1)部分, xt 可以根据之前 t1 个时刻的测量值 z1t1 和t个时刻控制输入 u1:t 得到(参考1. 中状态转移图)。所以(1)部分简化为:
p(zt|xt,z1:t1,u1:t)=p(zt|xt)

对于公式(2)部分,在连续域进行展开:
p(xt|z1:t1u1:t)=xt1p(xt|xt1,z1:t1u1:t)p(xt1|z1:t1u1:t)dxt1

这一部分可以类比以下公式(B对应于上式 xt1 ):
p(A)=Bp(A|B)p(B)dB()Bp(A|B)p(B)()

在马尔科夫假设前提下,已知将来的状态 ut 对估计 xt1 没用提供任何信息,所以:
p(xt|z1:t1u1:t)=xt1p(xt|xt1,z1:t1u1:t)p(xt1|z1:t1u1:t)dxt1=xt1p(xt|xt1,z1:t1u1:t)p(xt1|z1:t1u1:t1)dxt1=xt1p(xt|xt1,ut)bel(xt1)dxt1

5. 根据1-4推导,得到迭代的贝叶斯滤波公式:
bel(xt)=ηp(zt|xt)x(t1)p(xt|xt1,ut)bel(xt1)dt1

贝叶斯滤波的更新过程可以分为两个过程:
预测过程(由上一时刻状态 xt1 和当前时刻控制量 ut 预测当前状态 xt ):
bel(xt)¯¯¯¯¯¯¯¯¯¯=x(t1)p(xt|xt1,ut)bel(xt1)dt1

校准过程(在已知当前状态 xt 的条件下,计算当前测量值 zt 的可信度):
bel(xt)=ηp(zt|xt)bel(xt1)¯¯¯¯¯¯¯¯¯¯¯¯¯

贝叶斯滤波设计了以概率方式进行状态估计的框架,但没有规定状态变量需要服从哪种分布,在实际应用中,我们可以根据传感器和机器人实际参数进行相关分布律假设。

运动模型(motion model)

基于速度的模型

里程计模型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值