IMUGNSS 误差状态卡尔曼滤波器(ESKF)的离散时间的ESKF 运动方程与运动过程

本文主要是介绍IMUGNSS 误差状态卡尔曼滤波器(ESKF)的离散时间的ESKF 运动方程与运动过程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

IMU&GNSS 误差状态卡尔曼滤波器(ESKF)的离散时间的ESKF 运动方程与运动过程

  • 离散时间的ESKF 运动方程
  • ESKF的运动过程

离散时间的ESKF 运动方程

名义状态变量的离散时间运动方程可以写为:(不用考虑噪声,噪声在误差状态中)
在这里插入图片描述

误差状态变量的离散时间运动方程为:
在这里插入图片描述
式中右侧部分省略了括号里的(t)以简化公式
噪声项并不参与递推,需要把它们单独归入噪声部分。连续时间的噪声项可以视为随机过程的能量谱密度,而离散时间下的噪声 变量就是我们日常看到的随机变量。这些噪声随机变量的标准差可以列写为:
在这里插入图片描述
其中前两式的 delta t 是由于积分关系导致的,后两式则和 离散时间下的 零偏游走的标准差公式 一致

至此,完成了在ESKF中进行IMU递推的过程,对应卡尔曼滤波器中的状态方程。为了让滤波器收敛,需要外部的观测对卡尔曼滤波器进行修正,也是所谓的组合导航。当然组合导航的方法很多,从传统的EKF,到本节介绍的ESKF,以及预积分和图优化都可以用于组合导航中。

下面以融合GNSS观测为离,梳理如何在ESKF中融合这些观测数据,形成一个收敛的卡尔曼滤波器。

ESKF的运动过程

下面写出ESKF的运动过程。根据误差状态变量 离散时间运动方程,可以整体的记为:
在这里插入图片描述
其中w为噪声,按照前面的定义,Q应该为
在这里插入图片描述
两侧的零,是由于第一个和最后一个方程本身没有噪声导致的

为了保持与EKF的符号统一,计算运动方程的线性化形式
在这里插入图片描述
其中,F为线性化后的雅克比矩阵。由于 误差状态变量的离散时间运动方程 已经线性化,所以F矩阵就是把它们线性系数拿出来(注意变量定义的顺序)
在这里插入图片描述

在此基础上,执行ESKF的预测过程。预测过程包括对名义状态的预测(IMU积分)及对误差状态的预测
在这里插入图片描述
由于ESKF的误差状态在每次更新以后会被重置为零,即
在这里插入图片描述
因此,运动方程的均值部分,即
在这里插入图片描述
没有太大意义

协方差部分则描述了整个误差估计的分布情况。

从直观意义上来看,运动方程的噪声协方差中增加了Q项,可以看作增大的过程。

这篇关于IMUGNSS 误差状态卡尔曼滤波器(ESKF)的离散时间的ESKF 运动方程与运动过程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/922585

相关文章

python处理带有时区的日期和时间数据

《python处理带有时区的日期和时间数据》这篇文章主要为大家详细介绍了如何在Python中使用pytz库处理时区信息,包括获取当前UTC时间,转换为特定时区等,有需要的小伙伴可以参考一下... 目录时区基本信息python datetime使用timezonepandas处理时区数据知识延展时区基本信息

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

Java中字符串转时间与时间转字符串的操作详解

《Java中字符串转时间与时间转字符串的操作详解》Java的java.time包提供了强大的日期和时间处理功能,通过DateTimeFormatter可以轻松地在日期时间对象和字符串之间进行转换,下面... 目录一、字符串转时间(一)使用预定义格式(二)自定义格式二、时间转字符串(一)使用预定义格式(二)自

SpringSecurity JWT基于令牌的无状态认证实现

《SpringSecurityJWT基于令牌的无状态认证实现》SpringSecurity中实现基于JWT的无状态认证是一种常见的做法,本文就来介绍一下SpringSecurityJWT基于令牌的无... 目录引言一、JWT基本原理与结构二、Spring Security JWT依赖配置三、JWT令牌生成与

Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码

《Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码》:本文主要介绍Java中日期时间转换的多种方法,包括将Date转换为LocalD... 目录一、Date转LocalDateTime二、Date转LocalDate三、LocalDateTim

PyInstaller打包selenium-wire过程中常见问题和解决指南

《PyInstaller打包selenium-wire过程中常见问题和解决指南》常用的打包工具PyInstaller能将Python项目打包成单个可执行文件,但也会因为兼容性问题和路径管理而出现各种运... 目录前言1. 背景2. 可能遇到的问题概述3. PyInstaller 打包步骤及参数配置4. 依赖

golang获取当前时间、时间戳和时间字符串及它们之间的相互转换方法

《golang获取当前时间、时间戳和时间字符串及它们之间的相互转换方法》:本文主要介绍golang获取当前时间、时间戳和时间字符串及它们之间的相互转换,本文通过实例代码给大家介绍的非常详细,感兴趣... 目录1、获取当前时间2、获取当前时间戳3、获取当前时间的字符串格式4、它们之间的相互转化上篇文章给大家介

Feign Client超时时间设置不生效的解决方法

《FeignClient超时时间设置不生效的解决方法》这篇文章主要为大家详细介绍了FeignClient超时时间设置不生效的原因与解决方法,具有一定的的参考价值,希望对大家有一定的帮助... 在使用Feign Client时,可以通过两种方式来设置超时时间:1.针对整个Feign Client设置超时时间

springboot+dubbo实现时间轮算法

《springboot+dubbo实现时间轮算法》时间轮是一种高效利用线程资源进行批量化调度的算法,本文主要介绍了springboot+dubbo实现时间轮算法,文中通过示例代码介绍的非常详细,对大家... 目录前言一、参数说明二、具体实现1、HashedwheelTimer2、createWheel3、n

关于WebSocket协议状态码解析

《关于WebSocket协议状态码解析》:本文主要介绍关于WebSocket协议状态码的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录WebSocket协议状态码解析1. 引言2. WebSocket协议状态码概述3. WebSocket协议状态码详解3