RoboCup中的机器人自主定位——从理论到实践(二):无迹卡尔曼滤波详解

本文介绍了机器人自主定位的核心——无迹卡尔曼滤波(UKF),通过阐述贝叶斯滤波理论,解释了UKF如何解决非线性问题。通过仿真检验,展示了UKF在非线性环境下的高效性能,为机器人定位提供了一种有效方法。
摘要由CSDN通过智能技术生成

上一篇RoboCup中的机器人自主定位(一)我们详细的介绍了RoboCup的背景,在最后给出了几种常用的解决自主定位的算法。
这一篇主要讲解方案的选择,并提供一些必要的数学论证。整个写作思路基本按照我做项目时的流程展开。

1.自定位的本质

定位本质上是要知道机器人的位置,而在2D平面坐标系中坐标就是用 ( x , y ) (x,y) (x,y)来表示的。如果机器人身上装有GPS或者我们的北斗导航系统,那这个 ( x , y ) (x,y) (x,y)就可以借助传感器直接获得,然而事实是室内的机器人并没有这套定位系统,即使有定位系统由于房屋遮挡也无法精确定位,因此位置信息不能直接获得。在这里插入图片描述

既然直接的不行,我们就来“曲线救国”。机器人不是有“眼睛”嘛,那就可以通过观测外部场景来获取信息;机器人还知道自身的运动方向和加速度,那就为下一个位置点的出现提供了预测的可能。这一思想的出现是至关重要的,因为它将概率的思想引入了机器人学,通过概率分布而不是某个确定的值来表示机器人的位姿。因此,这也就很好理解为何那么多的定位方法都是基于概率学基础的了。

2.贝叶斯滤波

接下来的内容就需要一些数学知识了,不过请放心,这些内容只涉及基础的概率论知识,而且我会用通俗易懂的方式来讲解。说回机器人的位姿,这里插一句,“位姿”就是位置和姿态的缩写,表示的除了横纵坐标还有一个方向角,因此之后我们对机器人定位的描述写成数学符号就是求 ( x , y , θ ) (x,y,\theta) (x,y,θ)。好,刚才说这三个状态量无法直接获得,需要通过机器人本身的信息和观测数据进行推测,而既然是推测那就有可能准有可能不准,为了表示这个推测量我们引入概率论中的置信度(belief): 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表示 t t t时刻的三个状态量,写成向量的形式, z 1 : t z_{1:t} z1:t表示1到 t t t时刻所有的观测量, u 1 : t u_{1:t} u1:t表示1到 t t t时刻所有的控制量即输入信息。很显然,这就是一个以内部信息和外部观测为条件的后验分布。
那接下来的问题就是这个置信度怎么求呢?这就需要用到大名鼎鼎的贝叶斯公式了(这也是为什么这个方法被称之为贝叶斯滤波了)
P ( A ∣ B , C ) = P ( A , B , C ) P ( B , C ) P(A|B,C)=\frac{P(A,B,C)}{P(B,C)} P(AB,C)=P(B,C)P(A,B,C)由该公式,再结合马尔科夫假设、全概率公式等计算,就能得出贝叶斯滤波的这套流程,共分两步走,分别被称为“预测”和“更新”。在这里插入图片描述
在这里进行一下通俗的解释就是,系统根据 t − 1 t-1 t1时刻的状态以及 t t t时刻的输入预测出 t t t时刻的状态,但是此时的状态还未结合外部测量,因此是不准确的,存在误差的。那第二步就是结合 t t

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值