概率机器人-贝叶斯滤波

本文介绍了概率机器人中的贝叶斯滤波,详细阐述了置信度的概念和贝叶斯滤波算法,包括预测和测量更新过程,并进行了公式推导。贝叶斯滤波是基于动态贝叶斯网络的,适用于平面SLAM技术,如gmapping。
摘要由CSDN通过智能技术生成

概率机器人-贝叶斯滤波

贝叶斯状态迭代是概率机器人的基础,理解它对平面slam技术,如gmapping算法原理有很大的帮助。先掌握基础原来,以后再考虑如何进行创新。



前言

书中介绍的概率机器人是基于隐马尔可夫模型,或者叫动态贝叶斯网络,即时刻 t t t的状态随机地依赖t-1时刻的状态和控制输入 u t u_t ut,测量 z t z_t zt随机地依赖时刻t的状态。这就是贝叶斯滤波的基本假设了。看到这个假设,其实我们会想时刻 t t t的状态是如何与前面的东西关联起来的,即那状态是如何更新的?大家可以带着问题进行思考。


一、什么是贝叶斯滤波?

1、置信度

首先介绍置信度的概念,贝叶斯滤波就是置信度的递归计算。

置信度的概念:
概率机器人通过条件概率分布表示置信度,是对给定所有过去的传感器测量和所有过去控制的环境状态的一个后验分布。比如 b e l ( x t ) = p ( x t ∣ z 1 : t , u 1 : t ) bel(x_t)=p(x_t|z_{1:t},u_{1:t}) bel(xt)=p(xtz1:t,u1:t),表示状态变量 x t x_t xt的置信度。

如何理解置信度?
机器人的状态是不能测量的,你说 x t x_t xt发生的可能性是多少,给个概率吧!那不就是以过去测量 z 1 : t z_{1:t} z1:t和所有过去控制 u 1 : t u_{1:t} u1:t为条件,时刻t下状态 x t x_t xt的概率分布。

有了 b e l ( x t ) bel(x_t) bel(xt),据说刚执行完控制 u t u_t ut,用 z t − 1 z_{t-1} zt1计算后验也是有用的。 b e l ‾ ( x t ) = p ( x t ∣ z 1 : t − 1 , u 1 : t ) \overline{bel}(x_t)=p(x_t|z_{1:t-1},u_{1:t}) bel(xt)=p(xtz1:t1,u1:t)。该概率被称为预测,是基于以前状态的后验。由 b e l ‾ ( x t ) \overline{bel}(x_t) bel(xt)计算 b e l ( x t ) bel(x_t) bel(xt)称为测量更新。理解了置信度的概念,那到底怎么进行更新?

2、贝叶斯滤波算法

贝叶斯滤波算法讲的就是测量更新的过程。

伪代码如下:

Algorithm Bayes filter
for all x t x_t xt do
b e l ‾ ( x t − 1 ) = ∫ p ( x t ∣ u t , x t − 1 ) b e l ( x t − 1 ) d x t − 1 \quad \overline{bel}(x_{t-1}) =\int p(x_t \mid u_t,x_{t-1})bel(x_{t-1})dx_{t-1} be
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值