当前位置: 代码迷 >> 综合 >> [SLAM]粒子滤波中部分推导(Monte Carlo in Particle Filter(PF))
  详细解决方案

[SLAM]粒子滤波中部分推导(Monte Carlo in Particle Filter(PF))

热度:38   发布时间:2024-02-28 06:21:07.0

Monte Carlo在粒子滤波中的应用

  • 基本推导
  • Monte Carlo积分拟合表达

基本推导

bel?(x)=∫p(xt∣ut,xt?1)bel(xt?1)dx\overline{bel}(x)=\int p(x_{t}|u_{t},x_{t-1})bel(x_{t-1})dxbel(x)=p(xt?ut?,xt?1?)bel(xt?1?)dx

∵bel(xt?1)=p(xt?1∣ut?1,zt?1)\because bel(x_{t-1})=p(x_{t-1}|u_{t-1},z_{t-1})bel(xt?1?)=p(xt?1?ut?1?,zt?1?)

∴bel(xt?1)≥0,且∫bel(xt?1)dx=1\therefore bel(x_{t-1})\geq 0, 且\int bel(x_{t-1})dx=1bel(xt?1?)0,bel(xt?1?)dx=1

此时可以使用Monte Carlo抽样拟合bel?(x)\overline{bel}(x)bel(x)中的积分,即:

p(xt∣ut,xt?1)p(x_{t}|u_{t},x_{t-1})p(xt?ut?,xt?1?)多次采样后求取平均值,即可近似得到积分值

Monte Carlo积分拟合表达

如果有积分I=∫DG(x)dxI=\int_D G(x)dxI=D?G(x)dx,其中G(x)G(x)G(x)可分解为G(x)=g(x)?p(x)G(x)=g(x)·p(x)G(x)=g(x)?p(x)

其中p(x)p(x)p(x)满足:p(x)≥0,且∫p(x)dx=1p(x)\geq0, 且\int p(x)dx=1p(x)0,p(x)dx=1

则可证明

p(lim?N→+∞1N∑i=1Ng(xi)=I)=1p(\lim \limits_{N\to +\infty} \frac{1}{N} \sum_{i=1}^N g(x_{i})=I)=1p(N+lim?N1?i=1N?g(xi?)=I)=1

1N∑i=1Ng(xi)\frac{1}{N} \sum_{i=1}^N g(x_{i})N1?i=1N?g(xi?)依概率趋近于III,即当NNN很大时,可以使用下式拟合积分III

I≈1N∑i=1Ng(xi)I\approx\frac{1}{N} \sum_{i=1}^N g(x_{i})IN1?i=1N?g(xi?)

  相关解决方案