SLAM学习笔记——贝叶斯滤波(非参数滤波篇)

非参数滤波可以模拟非线性情况,主要介绍两种滤波,直方图滤波和粒子滤波,后者被广泛应用于机器人学中。

离散贝叶斯滤波SLAM学习笔记——贝叶斯滤波(非参数滤波篇)_第1张图片

可以对比一下连续贝叶斯滤波,我在连续贝叶斯滤波中就是按照离散来讲的,离散应该更好理解。

直方图滤波

SLAM学习笔记——贝叶斯滤波(非参数滤波篇)_第2张图片
将先验概率用直方图分段,利用积分求出每个分段平均值和概率代表一个离散的状态,利用离散贝叶斯滤波和转移方程,求出后验概率。

动态分解与静态分解

SLAM学习笔记——贝叶斯滤波(非参数滤波篇)_第3张图片
动态分解就是概率越高,分的越密

粒子滤波

用无数粒子表示状态,概率越密集,采样越密集
SLAM学习笔记——贝叶斯滤波(非参数滤波篇)_第4张图片
直接看伪代码
SLAM学习笔记——贝叶斯滤波(非参数滤波篇)_第5张图片

  • 输入分别是上一时刻的粒子群,控制数据,观测数据,X就代表了bel
  • 3-7计算后验概率 b e l ‾ \overline{bel} bel,也就是新的粒子分布。先通过之前的粒子加上运动计算出新的粒子群,然后计算出粒子的重要性(符合目前观测的粒子重要性大),将新的粒子以及其重要性作为 b e l ‾ \overline{bel} bel
  • 8-10行进行的是重采样,一些重要性非常低的粒子可以适当抛弃,减少运算量;(后面不是一般粒子滤波做的)重要性非常高但是位置非常近的粒子也可以用更少的粒子去表示,减少计算量;还有存在粒子平均重要性很低,说明之前可能抛弃了真正的粒子,需要在全局再撒一些粒子补充,让后面的迭代能准确收敛。
    PS:带权粒子数才是概率,所以有些权很低的粒子也会非常密集,所以要根据权重采样。

你可能感兴趣的:(SLAM,概率论,slam,卡尔曼滤波算法)