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

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

3天内不再提示

扩展卡尔曼滤波的原理

我快闭嘴 来源:空中机器人前沿 作者:火山 2022-08-12 10:06 次阅读

1 前言

在很多实际工程问题当中,非线性系统占大多数,而卡尔曼提出来的卡尔曼滤波器是一种针对线性系统的估计算法[1]。 为了解决这一问题,Schmidt学者分析了卡尔曼滤波器中的系统模型部分,并提出将卡尔曼理论应用到非线性系统的扩展卡尔曼算法 Extended Kalman Filter(EKF)[2]。相比于线性卡尔曼滤波器,扩展卡尔曼滤波器有更广的适用范围[3, 4],更高的状态估计精度,可以处理任意更新频率的系统。 有了上文的基础,这里,我们将通过一个二维小车的例子并来介绍扩展卡尔曼滤波的原理。

2 扩展卡尔曼滤波算法介绍

在介绍扩展卡尔曼滤波算法之前,我们先回忆一下之前介绍的卡尔曼滤波算法:

pYYBAGL1tquAW-EuAAAOayZlD5A620.jpg

其中前两个公式为系统状态预测部分,后三个公式为系统的修正部分。其中整个系统最重要的是要通过公式将系统的模型和测量与状态之间的关系表示出来:

poYBAGL1trOAchuuAAAOayZlD5A414.jpg

式中为系统矩阵,为控制矩阵,为观测矩阵。为目标在时刻的状态,为控制量,和分别为系统误差和测量误差。在线性卡尔曼滤波算法中,和是常值矩阵,其对应的系统就是线性系统。如果想将卡尔曼理论应用到非线性系统中,则需要对非线性系统进行线性化处理。

2.1 扩展卡尔曼滤波算法的不同

非线性系统方程及其观测方程通常可以表示为:

poYBAGL1tsuAOsOoAAANsXleTl0546.jpg

扩展卡尔曼滤波算法可以通过将非线性系统在其参考点处做泰勒级数展开,从而使非线性系统可以线性化。展开后,我们可以得到:

pYYBAGL1ttuAPKEqAAAhvGb1eP0226.jpg

其中和是非线性系统函数在时刻求偏导数后的雅可比矩阵,和为非线性测量函数求偏导数后的雅克比矩阵。那么,扩展卡尔曼滤波算法可以写成:

poYBAGL1tumAFW1VAABBiBn4P9c840.jpg

介绍完公式,接下来我们将通过2维平面内的小车来对扩展卡尔曼滤波算法进行讲解。

3 二维小车实例

如果要估计一个在二维平面内运动的小车,首先要根据要求选择一个较为合适的系统模型。在二维平面内,小车的运动可能是直线也可能是曲线,那么在一维平面用的线性匀速模型constant velocity model(CV) 将不适用。这里将采用一个简单的非线性模型匀转速、速度模型 constant turning rate and velocity magnitude model(CTRV)。

3.1 非线性模型CTRV

ctrv模型是cv模型的一般形式。这里我们假设观测到的状态变量为:

pYYBAGL1tv-AeGhVAAAJATWEtq4665.jpg

分别对应目标在,方向上的位置,速度,角度和角速度,变量之间的关系如图1所示。

e425d078-196d-11ed-ba43-dac502259ad0.jpg

图 1: 二维平面ctrv模型

状态量关系从图中可以看出,各变量之间的相互关系。那么,从时刻到时刻,状态的变化应该是:

poYBAGL1tyqAJkpaAAAcKrwgFms961.jpg

根据积分,我们可以得到下式:

pYYBAGL1tziAM81XAAAlUlSYw3g783.jpg

这里,我们对系统函数求偏导得到其雅克比矩阵为

e44661b2-196d-11ed-ba43-dac502259ad0.png

这里为了将系统误差为:

pYYBAGL1t0mAWEuVAAA5I5c26fc417.jpg

后续再套入到卡尔曼滤波器中,我们就可以得到一个CTRV的跟踪模型:

poYBAGL1t1mALR7dAAAy7BQSOJY492.jpg

3.2 仿真

这里我们假设二维小车系统可以观测到目标的位置:

poYBAGL1t2WAJ-O4AAAGfrKJxFY643.jpg

那么观测方程为:

poYBAGL1t3KAWel6AAANlGPqBQk258.jpg

仿真总时间10s,时间间隔,目标小车绕原点,半径以速度做匀速圆周运动。观测信息为目标的位置,测量误差。

视频中我们可以看到,不同的模型即使在当前估计状态相差不大的情况下,其估计目标未来的状态也是有很大差别的。在这个例子中,目标做的是匀速绕圈运动,CTRV模型更能描述系统的运动状态,但该模型是非线性系统。因此,需要结合EKF,来实现对非线性系统的状态跟踪和预测。

仿真结果如图2所示,红色轨迹为小车真实轨迹,红点为测量小车位置,蓝色圆圈为CV模型估计的小车当前位置,绿色圆圈为CTRV模型估计的小车当前位置,蓝色实线为CTRV模型估计小车轨迹,蓝色虚线为CTRV模型预测未来一段时间内的小车轨迹,绿色实线为CV模型估计小车轨迹,绿色虚线为CV模型预测未来一段时间内的小车轨迹。可以看出CTRV模型的预测比CV模型的预测在绕圈运动中更为准确。

4 总结

在很多实际工程问题中,系统的描述总存在不同程度的非线性,如平方、三角函数等。针对这一问题,EKF的思路是将非线性系统线性化转换为近似的线性系统,然后应用卡尔曼滤波算法完成状态估计。

审核编辑:汤梓红

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

    关注

    158

    文章

    7329

    浏览量

    174769
  • 滤波算法
    +关注

    关注

    2

    文章

    82

    浏览量

    13661
  • 卡尔曼滤波器

    关注

    0

    文章

    53

    浏览量

    12127

原文标题:扩展卡尔曼滤波器介绍

文章出处:【微信号:雨飞工作室,微信公众号:雨飞工作室】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    [4.5.2]--4.5.2扩展卡尔滤波

    组合导航组合导航系统
    jf_75936199
    发布于 :2023年03月10日 22:44:56

    扩展卡尔滤波matlab

    扩展卡尔滤波matlabTDOA/AOA定位的扩展卡尔滤波定位算法Matlab源码funct
    发表于 07-14 16:01

    MATLAB实现扩展卡尔滤波和无味卡尔滤波

    以下是扩展卡尔滤波和无味卡尔滤波对直线x=2*k+2进行
    发表于 04-03 17:57

    姿态融合算法是什么

    。2.数字滤波算法的选择根据运动传感器噪声模型,一般以下滤波算法可供融合算法选择: a)互补滤波算法 b)扩展卡尔
    发表于 07-19 06:47

    EKF和UKF算法在四轴飞行器视觉组合导航中的应用是什么

    本文基于四轴飞行器的数学模型,研究扩展卡尔滤波( Extended Kalman Filter, EKF) 和不敏卡尔
    发表于 05-13 06:06

    基于DSP的扩展卡尔滤波直流无刷电机控制

    介绍DSP56F805 的各种片内资源,着重讨论与电机控制有关的部分;描述DSP56F805 环境下的基于扩展卡尔滤波的高性能直流无刷电机控制方式, 给出外围电路和控制软件的流程图。
    发表于 04-15 11:52 41次下载

    扩展卡尔滤波估计载波参数的算法研究

    扩展卡尔滤波估计载波参数的算法研究:提出了一种在接收信号幅度未知的情况下进行载波参数估计的扩展卡尔滤波算法,该算法把信号幅度及伪码自相关的乘积作为一个独立变
    发表于 10-20 18:04 34次下载

    基于扩展卡尔滤波算法的无源定位效果分析

    扩展卡尔滤波算法由6维推广至9维,根据观测到的坐标位置、方位角和俯仰角,应用扩展卡尔滤波算法进行滤波,并通过计算机仿真得以验证,从而获
    发表于 03-22 17:17 15次下载
    基于<b class='flag-5'>扩展卡尔</b>曼<b class='flag-5'>滤波</b>算法的无源定位效果分析

    57682543slam_code

    基于扩展卡尔滤波的SLAM算法相关代码。
    发表于 03-22 14:11 34次下载

    采用扩展卡尔滤波磁链观测器的永磁同步电机直接转矩控制

    采用扩展卡尔滤波磁链观测器的永磁同步电机直接转矩控制
    发表于 01-21 11:49 1次下载

    扩展卡尔滤波在永磁同步电机无位置传感器控制中的应用详细概述

    本文提出了一种基于扩展卡尔滤波(EKF)的永磁同步电机(ROM)无位置传感器CONTIOL方法的建模、分析、设计和实验验证,以准确地估计转速和转子位置。
    发表于 05-31 11:45 30次下载
    <b class='flag-5'>扩展卡尔</b>曼<b class='flag-5'>滤波</b>在永磁同步电机无位置传感器控制中的应用详细概述

    基于扩展卡尔滤波等的齿轮啮合刚度辨识算法

    通过监测齿轮的啮合刚度就能够估计齿轮副的工作状态。根据齿轮副的动力学模型建立齿轮啮合刚度的离散辨识模型,提岀基于扩展卡尔滤波器和希尔伯特-黄变换瞬时频率,利用振动信号对齿轮啮合刚度进行估计的动态辨识算法。
    发表于 05-31 10:16 3次下载

    基于扩展卡尔滤波的SOC估算仿真

    基于扩展卡尔滤波SOC估算Simulink仿真,内容完整,模型可仿真,代码可实现
    发表于 08-25 15:22 14次下载

    基于扩展卡尔滤波的机动目标航迹跟踪

    针对高速飞行目标航迹跟踪问题,进行了扩展卡尔滤波的曲线拟和仿真试验研究。首先建立目标跟踪的数学模型,确定了系统对应的参数及状态方程,进而将线性卡尔滤波器进行
    发表于 02-15 17:25 1次下载

    基于扩展卡尔滤波EKF的无感控制+Matlab/Simulink仿真案例

    本章节采用扩展卡尔滤波进行永磁同步电机的无传感器控制,首先分析了扩展卡尔滤波的原理,然后基于扩展卡尔
    发表于 06-08 14:42 2648次阅读
    基于<b class='flag-5'>扩展卡尔</b>曼<b class='flag-5'>滤波</b>EKF的无感控制+Matlab/Simulink仿真案例