Probabilistic Robotics读书笔记(一)
转自我的博客http://gongzheng92.net
贝叶斯滤波器的推导
模型与方程
首先我们从贝叶斯滤波器谈起。
首先我们需要的是对机器人目前状态(states)的估计,用概率的方式表达为:
上式可以在诸多假设条件(马尔科夫假设,观测不对环境造成影响等)下化为:
p(xt
同样的我们有测量模型:
p(zt
然而,由于 状态(states)(x)的 不可直接观测,于是我们提出了 置信度(belief)的概念。于是我们希望得到的状态(1)估计便可转化为:
bel(xt)=p(xt|z1:t,u1:t
注意这里并没有应用马尔科夫假设。
然而这里对 xt 的估计是先完成测量,再进行估计,因此(3)还有一种形式,便是
bel¯¯¯¯(xt)=p(xt
于是我们就有了贝叶斯滤波器:
Byes_filter(bel(xt−1),ut,zt)for all xt dobel¯¯¯¯(xt)=∫p(xt|ut,xt−1)bel(xt−1)dxbel(xt)=ηp(zt|xt)bel¯¯¯¯(xt)endforreturn bel(xt)(5)
其实在这里, p(xt|ut,xt−1) 就是系统模型, p(zt
│ xt) 就是测量模型。
推导过程
那么这个(5)是怎么来的呢?我们从(3)推起:
其中因为 p(zt
p(x,y)=p(x
p(x│ y)p(y)=p(x)p(y) 记住联合概率(,)的运算级别高于条件概率(|)。
然后在这里推一下书上没推的公式:
Bayes rule: p(x│ y)=p(y│ x)p(x)p(y)
│ y,z)=p(y,z│ x)p(x)p(y,z)=p(y,z,x)p(y│ z)p(z)=p(y│ x,z)p(x,z)p(y│ z)p(z)=p(y│ x,z)p(x)p(y|z)
然后在 p(zt
于是有:
p(xt
即
bel(xt)=ηp(zt
但其实这句话很废话,因为就是“测量前的估计乘以测量等于测量后的估计”。
然后:
bel¯¯¯¯(xt)=p(xt
然后由于状态转移假设(其中包括了马尔科夫假设),则
再加之忽略红色 p(xt−1
bel¯¯¯¯(xt)=∫p(xt|ut,xt−1)bel(xt−1)dx
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
