0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

详细介绍概率模型SLAM方法中的卡尔曼滤波

产业大视野 来源:未知 作者:胡薇 2018-10-15 09:05 次阅读

智能服务机器人逐渐成为行业风口浪尖的今天,移动机器人的身影越来越多地出现在人们身边。相信随着传感技术、智能技术和计算技术等的不断提高,智能移动机器人一定能够在生产和生活中融入人类生活中。上一期小编大致介绍了基于概率模型的SLAM方法的基本原理,本期,小编给大家详细介绍下概率模型SLAM方法中一个比较重要的家族:卡尔曼滤波。

什么是卡尔曼滤波

卡尔曼滤波(Kalman filtering),又称线性二次型估计(Linear quadratic estimation),是Swerling(1958)和Kalman(1960)作为线性高斯系统中的预测和滤波技术而提出的。

最早由Stanley Schmidt首次实现,后被Kalman发掘并应用于NASA的阿波罗计划。提到阿波罗计划,大家可能会有种小编是在帮卡尔曼滤波蹭“人类登月”热度的感觉,其实不然,在工程领域里,卡尔曼滤波一样也很“高大上”。

作为线性高斯系统预测方法中最优、最高效的工具,卡尔曼滤波器及其变种已经被广泛应用在诸如机器人导航,传感器数据融合,导弹追踪,人脸识别等多种领域近半个世纪。

卡尔曼滤波解决的问题是“线性高斯系统的预测和滤波”,那么什么是线性高斯系统呢?高斯分布想必大家应该都有所耳闻,或者换个说法,正态分布,这个高中经常被数学老师拿来让我们估算人群身高分布的“大杀器”。它的长相是下图这个样子的:

正态分布很简单,只需要两个参数就可以表示了,即期望μ和方差σ。一个多元正态分布的表达式为:

呃,上面的公式看看就好,其实只需要知道正态分布的期望μ就是它的对称轴,方差σ就是它的“胖瘦”情况,上面的图中给出了几个不同μ和σ的正态分布的样子。一个所谓的“高斯线性系统”需要满足三个条件:

1)状态转移概率p(xt|ut,xt-1)是带有随机高斯噪声的线性函数;

xt是t时刻的状态向量,它是上一时刻的状态xt-1和当前时刻的控制量ut的线性组合,εt表示一个随机的高斯噪声,它是由状态转移引入的不确定性。需要注意的是,式2表达的不是一个确定的解,而是一个分布,它由期望Atxt-1+Btut和方差rt确定。

2)测量概率p(zt|xt)也与带有高斯噪声的状态量呈线性关系;

zt是t时刻的测量向量,ωt是测量时的高斯噪声。同样,式3也是一个分布,期望是Ctxt,方差是qt。

3) 初始置信度bel(x0)也是正态分布的,它期望是μ0方差是σ0。

如果一个系统能满足上述三个条件,则它的后验估计也满足高斯分布,其期望为μt方差为σt。换句话说,一个最优估计的问题,它的先验概率分布是高斯分布,同时它的测量概率分布也是高斯分布,那么它的后验概率也满足高斯分布,并可求它的期望和方差。

下面拿擎朗智能第三代系列机器人——peanut举个例子,一辆做匀速运动的peanut,它的初始位置为s0,速度为v,求它在t时刻的位置,大家一定立马就能给出答案:st=s0+vt。

没错,理论上t时刻的位置就应该是这个值。但在实际工程应用中,位置s和速度v并不会是理想值,它会有一定的不确定性,我们假设这个不确定性是满足高斯分布的。

如果没有后验的话,这个不确定性会不断地叠加,就如上图(a)所示,随着peanut的不断前行,位置s概率分布的方差会越来越大,peanut对自己位置的估计也就越来越不准确。

为了确保位姿估计的准确性,加入了一个观测值去修正计算得到的速度,例如用里程计去测量每次走过的距离st’,如上图(b)所示,

蓝色表示peanut当前时刻的先验估计,它由上一时刻的估计值st-1通过运动方程求得;

绿色表示从里程计获得的观测值得概率分布,它与先验估计有一定的偏差;

紫色表示通过卡尔曼滤波后,修正的概率分布。

从滤波的结果来看,后验估计也是高斯分布,它的分布综合了先验和观测的期望,且缩小了方差。

卡尔曼滤波的一般步骤

通过上面的介绍,相信大家对卡尔曼滤波能干啥应该有个大致的了解了,那么它是如何使用的呢?废话不多说,先上公式,

卡尔曼滤波的经典五步:

好吧,看到上面的公式大家可能会有点懵,下面小编尽量用比较通俗的语句解释下,

这五步具体做了什么:

1)计算状态转移的期望,μt-1表示上一状态的期望值,其实就是上一次后验分布的期望,ut是控制量,这样就求出了先验概率分布的期望值;

2)光有期望值还不够,还需要计算方差才能得到一个完整的正态分布,公式5就是计算先验概率方差的过程,其中σt-1表示上一次后验的方差,rt是状态转移引入高斯噪声的方差。

3)得到先验概率分布后,就需要通过贝叶斯估计求解后验概率分布。公式6是求解卡尔曼增益K,它通过观测概率分布的方差qt和先验概率分布的方差求得。

4)卡尔曼增益K主要用来衡量“预测值”和“观测值”的比重,即是更相信预测的结果还是更相信观测的结果;具体表现在公式7,后验的期望是先验的期望加上卡尔曼增益乘以估计和观测期望的偏差。

5)后验的期望得到后,再通过公式8更新后验的方差,就得到了后验估计得概率分布。

通过上述五步就精确地求解了一个“线性高斯系统”的后验估计,算法里运算量最大的矩阵求逆运算和矩阵乘法运算时间复杂的分别可近似为O(k2.4)和O(k2),k是矩阵维度。相对其他算法,卡尔曼滤波算法是相当高效的。

卡尔曼滤波的变种

卡尔曼滤波虽然高效且精确,但是他有个致命的缺陷,即要求系统是高斯线性的,而实际应用中,绝大多数系统不是高斯线性的。

于是就有了所谓的扩展卡尔曼滤波EKF(Extended Kalman Filter)和无迹卡尔曼滤波UKF(Unscented Kalmen Filter )的变种。

EKF和UKF都是将实际状态转移模型局部线性化,只不过前者采用的是泰勒展开进行线性化,而后者采用的是通过加权统计线性回归过程实现随机线性化。

通俗的讲,EKF是计算非线性函数的切线来进行线性化的,因此EKF需要知道状态转移方程的雅可比矩阵(Jacobian Matrix),UKF则是通过提取所谓的δ点,用这些δ点拟合的直线作为局部线性化的参考,δ的取值与分布的协方差有关。

EKF和UKF的算法复杂度近似,一般情况下EKF会稍微快一点,而估计的结果一般情况下UKF要优于EKF。

卡尔曼滤波作为经典的估计算法,被广泛应用在各个领域之中,在机器人领域里,卡尔曼滤波主要应用在多传感器融合,SLAM的最优估计等问题中。

以上就是本期关于卡尔曼滤波的内容,下期小编将给大家介绍粒子滤波的相关内容。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • SLAM
    +关注

    关注

    23

    文章

    425

    浏览量

    31847
  • 卡尔曼滤波
    +关注

    关注

    3

    文章

    165

    浏览量

    24653

原文标题:【Robot 学院】SLAM 技术模型实例:卡尔曼滤波

文章出处:【微信号:robotn,微信公众号:产业大视野】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    卡尔滤波在信号处理的应用分析

    卡尔滤波在信号处理的应用十分广泛,其强大的滤波和预测能力使其成为信号处理领域的一种重要工具。以下是对
    的头像 发表于 12-16 09:14 728次阅读

    卡尔滤波在图像处理的应用实例 如何调优卡尔滤波参数

    卡尔滤波在图像处理的应用实例 卡尔滤波在图像处
    的头像 发表于 12-16 09:11 341次阅读

    卡尔滤波在机器人导航的应用

    ,预测下一时刻的状态和协方差。 更新步骤 :利用新的观测数据,调整预测状态,以减少误差。 卡尔滤波的关键优势在于其递归性,这意味着它可以实时处理数据流,而不需要存储整个观测序列。 机器人导航
    的头像 发表于 12-16 09:08 256次阅读

    利用VLM和MLLMs实现SLAM语义增强

    语义同步定位与建图(SLAM)系统在对邻近的语义相似物体进行建图时面临困境,特别是在复杂的室内环境。本文提出了一种面向对象SLAM的语义增强(SEO-SLAM)的新型
    的头像 发表于 12-05 10:00 181次阅读
    利用VLM和MLLMs实现<b class='flag-5'>SLAM</b>语义增强

    最新图优化框架,全面提升SLAM定位精度

    的类别进行分类,如视觉SLAM、激光SLAM、惯性SLAM等。 解决SLAM问题的经典方法可以分为基于
    的头像 发表于 11-12 11:26 395次阅读
    最新图优化框架,全面提升<b class='flag-5'>SLAM</b>定位精度

    激光雷达在SLAM算法的应用综述

    SLAM算法运行的重要传感器。基于激光雷达的SLAM算法,对激光雷达SLAM总体框架进行介绍详细阐述前端里程计、后端优化、回环检测、地图构
    的头像 发表于 11-12 10:30 660次阅读
    激光雷达在<b class='flag-5'>SLAM</b>算法<b class='flag-5'>中</b>的应用综述

    卡尔滤波器的特性及仿真

    我们前一篇关于人物识别跟踪的文章《视频连续目标跟踪实现的两种方法和示例(更新)》里讲到,视频图像物体的识别和跟踪用到了卡尔滤波器(KF)
    的头像 发表于 11-04 11:36 378次阅读
    <b class='flag-5'>卡尔</b><b class='flag-5'>曼</b><b class='flag-5'>滤波</b>器的特性及仿真

    从算法角度看 SLAM(第 2 部分)

    ,分别是基于滤波器的 SLAM、基于图形的 SLAM 和基于深度学习的 SLAM。 基于滤波器的 SLA
    的头像 发表于 10-02 16:39 330次阅读
    从算法角度看 <b class='flag-5'>SLAM</b>(第 2 部分)

    介绍FIR滤波模型的建立,分4个步骤

    本帖介绍FIR滤波模型的建立,分以下几个步骤: 选定滤波结构:低通、高通、带通、带阻; 选定合适的窗函数,常见的有hamming、hanning、blackman、ExactBlackman
    发表于 09-04 09:08

    贝叶斯滤波卡尔滤波的区别

    贝叶斯滤波卡尔滤波是两种常用的滤波方法,它们在信号处理、导航、机器人定位等领域有着广泛的应用
    的头像 发表于 08-01 15:25 682次阅读

    卡尔滤波的优缺点有哪些

    效地进行状态估计。它只需要存储当前时刻的状态估计和误差协方差,而不需要存储整个观测序列,从而节省了计算资源和存储空间。 1.2 鲁棒性 卡尔滤波对系统模型和观测
    的头像 发表于 08-01 15:24 1739次阅读

    计算机视觉技术的AI算法模型

    计算机视觉技术作为人工智能领域的一个重要分支,旨在使计算机能够像人类一样理解和解释图像及视频的信息。为了实现这一目标,计算机视觉技术依赖于多种先进的AI算法模型。以下将详细介绍几种常
    的头像 发表于 07-24 12:46 894次阅读

    卡尔滤波是什么 卡尔滤波与目标追踪技术分析

    卡尔滤波以及其扩展算法能够应用于目标状态估计,如果这个目标是行人,那么就是行人状态估计(或者说行人追踪),如果这个目标是自身,那么就是车辆自身的追踪(结合一些地图的先验,GPS等数据的话就是自身的定位)。
    的头像 发表于 04-29 09:46 1097次阅读
    <b class='flag-5'>卡尔</b><b class='flag-5'>曼</b><b class='flag-5'>滤波</b>是什么 <b class='flag-5'>卡尔</b><b class='flag-5'>曼</b><b class='flag-5'>滤波</b>与目标追踪技术分析

    卡尔滤波算法c语言实现方法

    数据和预测模型,提供对系统状态的最优估计。 卡尔滤波的核心思想是利用估计的系统状态来更新预测的系统状态,并通过观测数据校正估计值。首先,卡尔
    的头像 发表于 01-17 10:51 3028次阅读

    卡尔滤波家族

    本文对于扩展卡尔滤波、无迹卡尔滤波仅仅做了一些简要介绍
    的头像 发表于 01-14 14:29 914次阅读
    <b class='flag-5'>卡尔</b><b class='flag-5'>曼</b><b class='flag-5'>滤波</b>家族