无迹卡尔曼滤波器(UKF)

正如我们在前一章中所看到的,当状态转移模型f (x)和观测模型h (x)接近于线性时,EKF的性能是令人满意的。然而,当f (x)或h (x)模型是高度非线性的时,线性化误差会导致与状态的真实值显著不同的估计,以及不能捕获状态中的真实不确定性的估计不确定性。

无迹卡尔曼滤波器是线性化的另一种方法。扩展卡尔曼滤波器使用解析线性化来处理非线性,而无迹卡尔曼滤波器基于一组规则进行无味变换(UT)-统计线性化。

杰弗里·乌尔曼最初提出了无香味变换(UT)作为他的博士论文[18]的一个组成部分;然而,它主要是来自[8]

“无香味”这个名字的意思是什么?一个流传的笑话是,“无味”与“香味”形成对比,意思是EKF的表演是“臭的”。UKF的创始人杰弗里·乌尔曼解释说,“无味”是他随意使用的名字,目的是避免被称为“乌尔曼过滤器”。

最初,我只把它称为“新过滤器”。由于需要一个更具体的名字,我实验室里的人们开始把它称为“乌尔曼过滤器”,这显然不是一个我可以使用的名字,所以我不得不想出一个官方术语。一天晚上,实验室里的其他人都在皇家歌剧院,当我工作的时候,我注意到桌子上有人有除臭剂。“无味”这个词作为一个完美的技术术语吸引了我的注意。

杰弗里·乌尔曼还说:“对人们来说,最引人注目的不是它的准确性,而是它的容易实施能力。不再需要推导出一个线性化的近似值,然后它就必须被编码起来,以便在过滤器中使用。

无迹变换(UT)

无味变换是一种计算经过非线性变换[8]的随机变量的统计量的方法

无香味变换包括三个步骤:

步骤1-从输入分布中选择一组点。这些点是根据一个特定的、确定性的算法来选择的。

•步骤2-通过非线性函数传播每个选定的点,产生一组属于输出分布的新点。

•步骤3-计算西格玛点的权重。

•步骤4-使用传播的点集和精心选择的权重来近似输出分布的样本均值和协方差。

步骤1-sigma点的选择

西格玛点的集合包括平均值和位于距离平均值一定距离处的一定数量的点

 -》选定点数

所选点的数量取决于输入的分布。N维随机变量近似为2N +1点。对于一维分布(N = 1),点的数量是3。对于一个二维分布(N = 2),点的数量为5个。

在无迹卡尔曼滤波(UKF)中,选定 sigma 点的数量与增强状态向量的维度 N有关。通常,sigma 点的数量由以下公式确定:

M=2N+1

这里的 M是生成的 sigma 点的总数,N 是增强状态向量的维度。

假设你在跟踪一个物体的位置和速度,状态向量定义为:

x=\begin{vmatrix} x & y &v_x & v_y \end{vmatrix}^T

这个状态向量的维度 N 是 4,因此你将生成 M=2×4+1=9M = 2 \times 4 + 1 = 9M=2×4+1=9个 sigma 点。

 -》选定的点位置

第一个点是输入分布的平均值:

\mathcal{X}_{n,n}^{(0)}=\hat{x}_{n,n}

括号中的上标0 关于\mathcal{X}_{n,n}^{(0)}是一个sigma点数。

提醒:在“卡尔曼滤波语言”中,输入分布的平均值是当前估计值\hat{x}_{n,n},输入分布的不确定性由当前估计值{P}_{n,n}的协方差矩阵表示。协方差矩阵的主对角线包括每个维度的方差({\sigma }_{xx} ,{\sigma }_{yy}

其他的点位于与平均值有一定的统计距离上。统计距离是对概率分布的距离度量。换句话说,统计距离用标准差或sigma (σ)表示。因此,选定的点被称为西格玛点,而未扫描的点变换有时被称为西格玛点变换。

\begin{aligned}&\mathcal{X}_{n,n}^{(i)}=\hat{\boldsymbol{x}}_{n,n}+\left(\sqrt{\left(N+\kappa\right)\boldsymbol{P}_{n,n}}\right)_{i},\quad i=1,\cdots,N\\&&\text{(14.2)}\\&\mathcal{X}_{n,n}^{(i)}=\hat{\boldsymbol{x}}_{n,n}-\left(\sqrt{\left(N+\kappa\right)\boldsymbol{P}_{n,n}}\right)_{i=N},\quad i=N+1,\cdots,2N\end{aligned}

其中

N是维数

\kappa(希腊语字母kappa)是一个调优参数

\sqrt{\left(N+\kappa\right)\boldsymbol{P}_{n,n}} 是 第i行或列的矩阵平方根

对于高斯分布,经验法则是设置: N + κ = 3。

应该选择西格玛点,以便它们捕获先验随机变量xˆ[9]的最重要的统计特性。

是时候做一些数值例子了

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JS实现图片放大镜效果

代码: <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>…

java后端把数据转换为树,map递归生成json树,返回给前端(后台转换)

java后端把数据转换为树,map递归生成json树,返回给前端(后台转换) 2023-12-10 java编程 跟版网 207 首先&#xff0c;需要明确一下这个过程的流程和目的&#xff1a;将后端获得的数据转换为树形结构&#xff0c;再通过递归生成 JSON 树&#xff0c;并返回给前端。下面我们将详…

nodejs项目从头创建

npm是包管理工具命令 参数init表示进行Node应用项目的初始化操作。 # -y 表示项目使用默认配置参数 npm init -y 装包 npm install electron --save-dev启动开发服务器 npm start 启动应用 运行在package.json中定义的脚本 npm run serve构建项目&#xff0c;通常用于生产…

CountDownLatch与CyclicBarrier的比较应用

CountDownLatch与CyclicBarrier的比较&应用 CountDownLatch 说明 一个线程等待其他线程执行完之后再执行&#xff0c;相当于加强版的join&#xff0c;在初始化CountDownLatch是需要设定计数器的数值&#xff08;计数器数据不一定跟线程数相同&#xff0c;但是一定计数器…

金蝶云星空与管易云的数据集成实战案例

金蝶云星空与管易云的数据集成案例分享 在企业信息化系统中&#xff0c;实现不同平台之间的数据无缝对接是提升业务效率的关键。本文将聚焦于一个具体的系统对接集成案例&#xff1a;如何将金蝶云星空中的调拨申请单数据集成到管易云的采购订单新增模块&#xff0c;特别是针对…

成本累计曲线:项目预算的秘密武器

在项目管理的过程中&#xff0c;成本控制是影响项目成败的关键因素之一&#xff0c;而其中“成本累计曲线”就像是一位财务导航员&#xff0c;为项目的成本控制和进度监控提供了极大的帮助。那么&#xff0c;什么是成本累计曲线&#xff1f;它包含哪些步骤&#xff1f;如何应用…

Python入门——iter迭代器—__iter__()方法__next__()方法

iter迭代器 在 Python 中&#xff0c;迭代器&#xff08;Iterator&#xff09;是一个可以记住遍历位置的对象。迭代器对象从集合的第一个元素开始访问&#xff0c;直到所有的元素被访问完毕后结束。迭代器只能往前走&#xff0c;不能回退。 迭代器的核心概念 迭代器协议: 任…

idea连接数据库出现错误的解决方式

在使用idea连接数据库时&#xff0c;出现错误&#xff1a; The server has terminated the handshake. The protocol list option (enabledTLSProtocols) is set, this option might cause connection issues with some versions of MySQL. Consider removing the protocol li…

C++朝花夕拾

目录 目录 函数分文件编写 野指针 const与指针 const修饰指针——常量指针 const修饰常量——指针常量 const既修饰指针,又修饰常量 const阻止函数修改 delete和delete[]的区别 内存四区&#xff08;面试会问&#xff1f;&#xff09; 程序运行前 代码区 全局区 程…

UEFI SHELL更新driver

一、U盘文件UEFI ISOreadme截图&#xff1a;http://172.31.1.20:8082/apt_ubuntu22.04/init-V22.04.sh 二、步骤&#xff1a; 1.KVM挂载uefi_shell_24H1.iso; 2.POWER CYCLE启动进UEFI SHELL&#xff1b; 3.运行以下命令&#xff08;提前解压U盘中更新的zip文件&#xff09;&…

WPF中如何解决DataGrid的Header没有多余的一行

将最后一行设置DataGridTemplateColumn Width"*" 使其自适应

网站制作公司哪家比较靠谱?分享5家2024年口碑好的网站制作公司

想要分辨一家网站制作公司靠不靠谱并不简单&#xff0c;可能它流程透明&#xff0c;设计优秀。但这就一定是适合自己的吗&#xff1f;所以口碑这东西很重要。适合自己也很重要&#xff0c;要多方面去了解。 以下是五家在2024年口碑不错的网站制作公司&#xff0c;分享一下设计…

R学习笔记-单因素重复测量方差分析

R语言之重复测量方差分析——ezANOVA的使用与解析 - 知乎 单因素重复测量方差分析(One-Way Repeated Measures ANOVA)——R软件实现 - 梦特医数通 ### 清空environment rm(list ls()) ### 加载包 if (!require("tidyverse")) install.packages("tidyverse&quo…

51单片机STC8G串口Uart配置

测试环境 单片机型号&#xff1a;STC8G1K08-38I-TSSOP20&#xff0c;其他型号请自行测试&#xff1b; IDE&#xff1a;KEIL C51&#xff1b; 寄存器配置及主要代码 STC8G系列单片机具有4个全双工异步串行通信接口&#xff1b;本文以串口1为例&#xff0c;串口1有4种工作方式…

document 的 TS 类型

在 TypeScript 中&#xff0c;document 的类型是 Document。 Document接口代表整个 HTML 或 XML 文档。它提供了访问和操作文档内容的方法和属性。 一、属性 1. document.title 获取或设置文档的标题。 console.log(document.title); 2. document.documentElement 返回文…

像素、分辨率、PPI(像素密度)、帧率的概念

文章目录 前言一、像素1、定义2、像素点也不是越多越好 二、分辨率1、定义 三、PPI(像素密度)1、定义2、计算公式3、视网膜屏幕 四、帧率1、帧 (Frame)2、帧数 (Frames)3、帧率 (Frame Rate)4、FPS (Frames Per Second)5、赫兹 五、其他1、英寸2、为何显示器尺寸以英寸命名 总结…

编程语言的设计模式

编程语言的设计模式是一种总结和抽象&#xff0c;帮助开发者应对常见的编程问题。以下是几种主要的设计模式&#xff1a; 1. 创建型模式 单例模式 (Singleton Pattern)&#xff1a;确保一个类只有一个实例&#xff0c;并提供一个全局访问点。工厂模式 (Factory Pattern)&…

Linux初阶——信号

一、预备 1、信号的处理方式 1.1. 默认动作 当收到一个信号时&#xff0c;就执行这个信号的默认动作。 1.2. 忽略 当收到一个信号时&#xff0c;就忽略执行这个信号的默认动作。 1.3. 自定义动作 当收到一个信号时&#xff0c;就执行信号的自定义动作。 2、硬件中断 你…

跨设备使用的便签软件哪款好?

在快节奏的现代生活中&#xff0c;便签软件已成为我们不可或缺的数字助手&#xff0c;它们帮助我们记录灵感、安排日程、设置提醒&#xff0c;极大地提升了我们的工作与生活效率。然而&#xff0c;面对市场上琳琅满目的便签应用&#xff0c;选择一款既实用又适合手机使用的便签…

【万兴科技-注册_登录安全分析报告】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 暴力破解密码&#xff0c;造成用户信息泄露短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造成亏损无底洞…