无迹卡尔曼滤波在目标跟踪中的作用(一)

在前一节中,我们介绍了扩展卡尔曼滤波算法EKF在目标跟踪中的应用,其原理是

将非线性函数局部线性化,舍弃高阶泰勒项,只保留一次项

,这就不可避免地会影响结果的准确性,除此以外,实际中要计算雅各比矩阵不是特别的容易,因此有必要研究其他的滤波算法。

无迹卡尔曼滤波UKFEKF不同,UKF不对非线性函数进行线性化,而是

仍采用传统的Kalman滤波算法框架,对于其中的一步预测方程,使用无迹变换来处理参数的非线性传递问题

由于其不是对非线性函数线性化,也无需求雅各比矩阵,因此,在精度上较EKF更加优秀
好了,话不多少,直接开整!!!!

UKF原理

UKF滤波算法的关键之处就在于无迹变换,而所谓的无迹变换就是:

估计点附近确定采样点这些样本点表示的高斯密度近似状态的概率密度函数

那么UT变换(无迹变换)具体如何实现呢,下面将进行介绍。

UT变换实现方法

无迹变换通常按以下步骤进行:

  • 原状态分布中按某一规则选取一些采样点,其中要注意:这些采样点的均值和协方差要等于原状态分布的均值和协方差
  • 将这些点代入非线性函数中,将会得到非线性函数值点集
  • 通过这些点集求取变换后的均值和协方差

通过无迹变换,最终得到的非线性变换后的均值和协方差精度最少具有2阶精度(Taylor序列展开),在高斯分布的条件下,精度更是可以达到三阶精度

UT变换采样点的选择

上述提到了无迹变换需要按照一定的规则选取采样点,一般遵循以下原则:

基于先验均值先验协方差矩阵的平方根的相关列实现的

非线性变换见的对比

我们将之前学过的EKF和今天的UKF进行对比,可见下图:
在这里插入图片描述
从上述的图,我们也可以看到,经过无迹变换(UT)变换后的分布,相比于EKF更加贴近真实的分布,那么自然滤波的精度要比EKF要高一些。

UT变换的基本原理

下面我们将以对称分布采样作为例子,对于无迹变换的原理进行阐述。
此时,假设存在某非线性变换 y = f ( x ) y=f(x) y=f(x),状态向量有n维,且已知其均值 x ‾ \overline{x} x协方差P,此时就可以通过UT变换得到2n+1个Sigma点(采样点)X和相应的权值 ω \omega ω,进而计算y的统计特性:

  • 首先,计算2n+1个Sigma点,其中的n为状态量的维数
    X ( 0 ) = X ‾ , i = 0 X ( i ) = X ‾ + ( ( n + λ ) P ) i , i = 1 ∼ n X ( i ) = X ‾ − ( ( n + λ ) P ) i , i = n + 1 ∼ 2 n \begin{aligned} &X^{\left(0\right)} =\overline{X},i=0 \\ &X^{(i)} =\overline{X}+\left(\sqrt{\left(n+\lambda\right)P}\right)_{i},i=1\sim n \\ &X^{\left(i\right)}=\overline{X}-\left(\sqrt{\left(n+\lambda\right)P}\right)_{i},i=n+1\sim2n \end{aligned} X(0)=X,i=0X(i)=X+((n+λ)P )i,i=1nX(i)=X((n+λ)P )i,i=n+12n
    上式中的 ( P ) T ( P ) = P , ( P ) i 是矩阵方根的第 i 列 \left(\sqrt{P}\right)^{T}\left(\sqrt{P}\right)=P,\left(\sqrt{P}\right)_{i}是矩阵方根的第i列 (P )T(P )=P,(P )i是矩阵方根的第i
  • 然后计算这些采样点的权值
    ω m ( 0 ) = λ n + λ ω c ( 0 ) = λ n + λ + ( 1 − a 2 + β ) ω m ( i ) = ω c ( i ) = λ 2 ( n + λ ) , i = 1 ∼ 2 n \begin{aligned} &\omega_{m}^{\left(0\right)}=\frac{\lambda}{n+\lambda}\\ & \omega_c^{(0)}=\frac{\lambda}{n+\lambda}+\left(1-a^{2}+\beta\right)\\ & \omega_{m}^{\left(i\right)}=\omega_{c}^{\left(i\right)}=\frac{\lambda}{2\left(n+\lambda\right)},i =1\sim2n \\ \end{aligned} ωm(0)=n+λλωc(0)=n+λλ+(1a2+β)ωm(i)=ωc(i)=2(n+λ)λ,i=12n
    上述式中的下标m为均值c为协方差上标为第几个采样点,参数 λ = α 2 ( n + k ) − n \lambda=\alpha^{2}\left(n+k\right)-n λ=α2(n+k)n是一个缩放比例参数用来降低总的预测误差

α的选取控制了采样点的分布状态;

k为待选参数,其具体取值虽然没有界限,但通常应确保矩阵 ( n + λ ) P (n+\lambda)P (n+λ)P为半正定矩
。待选参数 β \beta β≥0是一个非负的权系数,它可以合并方程中高阶项的动差,这样就可以把高阶项的影响包括在内。

上述内容即使今天的全部内容了,感谢大家的观看,下次内容将进行具体的仿真验证。

如果方便,辛苦大家点个赞和关注哦!
您的点赞或评论或关注是对我最大的肯定,谢谢大家!!!

ref:卡尔曼滤波原理及应用MATLAB仿真–黄小平

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/33134.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

美团动态线程池实践思路,开源了

使用线程池 ThreadPoolExecutor 过程中你是否有以下痛点呢? 1.代码中创建了一个 ThreadPoolExecutor,但是不知道那几个核心参数设置多少比较合适 2.凭经验设置参数值,上线后发现需要调整,改代码重启服务,非常麻烦 3.线…

TypeScript学习(一):快速入门

文章目录 一、TypeScript 简介1、TypeScript 是什么?2、TypeScript 与 JavaScript 的区别3、JavaScript 的缺点4、为什么使用 TypeScript 二、TypeScript 开发环境搭建1、下载Node.js2、安装Node.js3、使用npm全局安装TypeScript4、创建一个ts文件5、使用tsc对ts文件…

【资料分享】全志科技T507-H评估板规格书(4核ARM Cortex-A53,主频1.416GHz)

1 评估板简介 创龙科技TLT507-EVM是一款基于全志科技T507-H处理器设计的4核ARM Cortex-A53国产工业评估板,主频高达1.416GHz,由核心板和评估底板组成。核心板CPU、ROM、RAM、电源、晶振等所有器件均采用国产工业级方案,国产化率100%。同时&a…

Nexus如何导入jar以及批量导入Maven的本地库目录

前言 本篇基于 Nexus 的版本是 nexus-3.55.0-01本方法适用Linux和WindowsWindows 需要安装Git , 使用Git Bash执行 Nexus上传依赖包的方式 上传依赖包到Nexus 服务器的方式有多种, 包含: 单个jar上传: 在Nexus管理台页面上传单个jar源码编…

Thinkphp5分页后携带参数进行跳转传递

问题: 我在tp框架中写了一个图书详情分页的,代码如下: public function verify_details(){$sell_order_numinput(sell_order_num);$resDB::table(verif)->where(["sell_order_num">$sell_order_num])->paginate(10);// 模…

(三)灌溉系统WIFI通信部分

ESP8266 ESP8266S烧录器:CH430C arduino离线配置esp8266参考:参考文章 灯光闪烁就是烧录成功 ESP8266调试入门:参考文章 ESP8266调试:参考文章 人麻了已经,尝试半天了,AT指令没回应,尝试刷固…

【自监督论文阅读 4】BYOL

文章目录 一、摘要二、引言三、相关工作四、方法4.1 BYOL的描述4.2 Intuitions on BYOL’s behavior(BYOL行为的直觉)4.3 实验细节 五、实验评估5.1 Linear evaluation on ImageNet(ImageNet上的线性评估)5.2 Semi-supervised tra…

Office远程代码执行漏洞(CVE-2017-11882)漏洞复现

Office远程代码执行漏洞(CVE-2017-11882)漏洞复现 1.漏洞原理2.在Kali平台查看漏洞利用文件3.登录目标靶机,打开FTP服务器4.登录Kali,利用FTP服务器上传payload-cale.doc文件5.登录目标靶机,触发doc文件,验…

Angular 与 PDF之五 实现方式的选择与扩展

在纯web的前提下(不考虑移动端native),PDF的功能基本包括: 客户端PDF:最简单的场景,实现方式也很多,基本不需要有什么顾虑的地方,简单的实现可以参考系列第一篇文章。客户端PDF预览&…

华为战略方法论:BLM模型之差距分析(限制版)

目录 说明 差距类型 1、业绩差距 2、机会差距 3、对标差距 专栏列表 个人简介 说明 今天就来谈谈 BLM 模型中的第一把钥匙,也就是差距分析。 从本质上来看。 BLM 模型中的差距与你在日常生活中听到或用到的差距在意义都是一样的。 不同之处就在于问题的复…

网络安全(黑客)自学

建议一:黑客七个等级 黑客,对很多人来说充满诱惑力。很多人可以发现这门领域如同任何一门领域,越深入越敬畏,知识如海洋,黑客也存在一些等级,参考知道创宇 CEO ic(世界顶级黑客团队 0x557 成员&…

java Collection集合使用笔记

1、Collection集合概述 它是单例集合的最顶层接口,它表示一组对象,这些对象也称之为Collection的元素JDK不提供此接口任何直接实现,但提供更具体的子接口(如:List和Set)实现创建Collection集合对象的方法&…

Ant Design Vue 走马灯实现单页多张图片轮播

最近的项目有个需求是,这种单页多图一次滚动一张图片的轮播效果,项目组件库是antd、vue3 然而用了antd的走马灯是这样子的 我们可以看到官网给的api是没有这种功能,百度上也多是在css上动刀,那样也就毕竟繁琐了,我们是…

测试Hyperledger Fabric环境

首先进入fabric-samples目录中的first-networked 子目录 cd fabric-samples/first-network 在first-network目录下有一个自动化脚本byfn.sh,可以使用-help参数查看相应的可 用命令,在命令提示符中输入如下命令: ./byfn.sh --help命令执行成功后&#…

力扣 106. 从中序与后序遍历序列构造二叉树

题目来源:https://leetcode.cn/problems/construct-binary-tree-from-inorder-and-postorder-traversal/description/ C题解:中序遍历是左中右,后序遍历是左右中,所以拿到两个遍历数组,我们可以从后序遍历获取中间节点…

西安石油大学期末考试C++真题解析

1、一、类型、返回值类型 二、参数表、函数重载 2、一、实例化 二、实例化的类型或类类是对象的蓝图,对象是类的实例化 3、const 4、一个 两个 5、一、公有继承 二、私有继承、保护继承 6、抽象类、实例化对象 7、函数模板、类模板 8、try、catch、throw 9、…

SpringBoot初始化接口CommandLineRunner

CommandLineRunner的使用 接口定义使用执行顺序使用 Order 注解实现Orderd接口排序总结 接口定义 Spring官方给出的接口定义 package org.springframework.boot;FunctionalInterface public interface CommandLineRunner {void run(String... args) throws Exception; }在 Sp…

Facebook如何与品牌合作,提升用户体验?

Facebook是全球最大的社交媒体平台之一,每天有数亿用户在上面发布内容、互动交流。对于品牌来说,与Facebook合作可以帮助它们扩大影响力、吸引更多潜在客户。 但是,与Facebook合作不仅仅是在平台上发布广告,还需要更深入的合作来…

如何在 Spring Boot 中使用反向代理

如何在 Spring Boot 中使用反向代理 介绍 在分布式系统中,反向代理是一项非常重要的技术。通过反向代理,可以将客户端的请求转发到后端的多台服务器上,实现负载均衡和故障转移等功能。本文将介绍如何在 Spring Boot 应用中使用反向代理。 环…

Flink DataStream之创建执行环境

新建project&#xff1a; pom文件 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://ma…