SLAM问题概率建模过程的理解

1,目的:

我们的目的是通过传感器实际测量得到的观测值r={r1,r2,…},求解状态量x={T1,T2…;P1,P2…}的 值
遗憾的是,我们并没有一个方程f()能够直接求解出x=f( r ),因此我们需要研究 r 与 x 之间存在什么样的关系?

2,r 与 x 之间的关系

很自然的,我们知道将 r 和 x 联系在一起的是观测方程 :
r* = π(x)
注意:我们通过观测方程解出的是 [在状态x下,传感器应该测得的没有任何误差的观测值 r* ]

但是实际由传感器测量的得到的观测值 r 是存在各种各样的噪声和误差的。也就是说 r != r*,或者说 r = r* + [测量噪声&误差]

就像前面所说的,我们要找到 [r 与 x 之间的关系],但是因为 r = r* + [测量噪声&误差],而我们并不知道[测量噪声&误差]是多少(如果知道的话,就不叫误差了)。所以我们无法通过观测方程 [r 与 x 之间的关系],为了解决这个问题我们可以粗暴的认为 r = r*,这是一种解决方法,但很显然直接忽略测量误差并不是一个优雅的做法。

于是我们找到了另一种做法:
我们认为由于各种原因引入的 [测量噪声&误差] 是一种高斯白噪声:
e~N(0,∑),
于是,我们就有了 [测量噪声&误差] 的模型,也就有了 [ r 与 x 之间的关系] :
r = r* + e , 其中e~N(0,∑)
即:r = π(x) + e , 其中e~N(0,∑)

3,用高斯白噪声表示[测量噪声&误差] 带来的影响

现在仔细地来看一下我们刚推导的 传感器实际测量值 r 与 相应的状态量x 之间的关系:
r = π(x) + e , 其中e~N(0,∑)
π(x)是通过状态x直接算出的,对于一个x是一个确定的实数(向量)
e,是一个满足高斯分布N(0,∑)的随机变量
于是 r 就成了一个满足高斯分布 N( π(x), ∑ ) 随机变量。。。

r是在某段时间内传感器测出来的读数啊,是一个实数啊,怎么会变成一个随机变量了呢?

我们这么理解这个现象。

r = π(x) + e 是通过x求相应的r,即通过x预测传感器的读数可能是多少。但是由于噪声e的随机性,[计算出来的] r 是一个满足高斯分布 N( π(x), ∑ ) 随机变量。于是我们不能通过x去计算r的一个确切值,只能计算出r的一个概率分布。

可是我们想要的是r的确切值,那该怎么做呢?
很简单,既然得到的是r的概率分布,那么取r为概率最大时对应的值作为r的值就好了。
这个值是可以计算的,因为r 是满足高斯分布 N( π(x), ∑ ) 的随机变量,那么r的概率密度函数P(r|x)也就知道了。那为什么是条件概率呢?因为我们是在已知x的情况下计算出的随机变量r的概率分布

上面介绍的这个思想,也是通过r求x的思想。

4,在已知 r 的情况下求解 x

在第2部分,我们推导了r 与 x 之间的关系应满足的方程
在第3部分,我们解释了如何通过第2部分推导的方程,在已知 x 的情况下计算r

那么,这与 [在已知 r 的情况下求解 x] 有什么关系呢?

我们先回忆一下第3部分的结论:
由于为了最准确的计算含有噪声的测量值 r ,我们给相应于x的精确观测值π(x) 引入了高斯噪声e,于是计算出的r是概率密度函数为P(r|x)的一个随机变量:r~N( π(x), ∑ )。

那么,当我们 [在已知 r 的情况下求解 x] ,r是含有噪声测量值,那么即便我们真的有第1部分提到的方程x=f( r ),无论x=f( r )是个什么样的公式、方程,求解出来的x都不是精确值。而且我们并没有x=f( r )这个方程。

既然不可能求出x的精确值,那不妨认为在已知r的情况下x也是满足某种概率分布的随机变量,其概率密度函数为P(x|r)。如果知道了P(x|r),那么就可以像第3部分中那样,找到P(x|r)最大是对应的x,作为x的预测值。

于是问题变成了,如何求P(x|r)

幸运的是,根据第三部分得到的P(r|x)和贝叶斯公式,我们可以得到P(x|r)的表达式:
P(x|r) = P(r|x)P(x)/P®

于是,问题就解决了。
这里要注意一点:求随机变量r时将其建模为高斯分布,但x的概率密度表达为P(x|r) = P(r|x)P(x)/P®时,随机变量x满足的分布不再是高斯分布,它的分布是很复杂的形式,是无法参数化的。
你可以想象:因为在一个x下r的分布是一个高斯分布,在无数个x下面,r就分别有无数个不同的高斯分布。那么在这无数个不同的高斯分布中取出同一个r,然后观察x的取值满足什么样的分布。。。

也许你会问,为什么要通过P(r|x)来算P(x|r),而不式用获得P(r|x)的一系列推导过程来直接推导P(x|r)?
原因是:我们并没有x=f( r )这个方程,它对应于推导P(r|x)时的π(x)。
可以看出,f( r )是π(x)的逆函数,你可以试着写一下π(x),就会发现通过π(x)直接写出π(x)的逆函数是不可能的。

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值