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

相关文章

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

将Mybatis升级为Mybatis-Plus的详细过程

《将Mybatis升级为Mybatis-Plus的详细过程》本文详细介绍了在若依管理系统(v3.8.8)中将MyBatis升级为MyBatis-Plus的过程,旨在提升开发效率,通过本文,开发者可实现... 目录说明流程增加依赖修改配置文件注释掉MyBATisConfig里面的Bean代码生成使用IDEA生

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

JSON Web Token在登陆中的使用过程

《JSONWebToken在登陆中的使用过程》:本文主要介绍JSONWebToken在登陆中的使用过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录JWT 介绍微服务架构中的 JWT 使用结合微服务网关的 JWT 验证1. 用户登录,生成 JWT2. 自定义过滤

Java实现时间与字符串互相转换详解

《Java实现时间与字符串互相转换详解》这篇文章主要为大家详细介绍了Java中实现时间与字符串互相转换的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、日期格式化为字符串(一)使用预定义格式(二)自定义格式二、字符串解析为日期(一)解析ISO格式字符串(二)解析自定义

java中使用POI生成Excel并导出过程

《java中使用POI生成Excel并导出过程》:本文主要介绍java中使用POI生成Excel并导出过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录需求说明及实现方式需求完成通用代码版本1版本2结果展示type参数为atype参数为b总结注:本文章中代码均为

Java时间轮调度算法的代码实现

《Java时间轮调度算法的代码实现》时间轮是一种高效的定时调度算法,主要用于管理延时任务或周期性任务,它通过一个环形数组(时间轮)和指针来实现,将大量定时任务分摊到固定的时间槽中,极大地降低了时间复杂... 目录1、简述2、时间轮的原理3. 时间轮的实现步骤3.1 定义时间槽3.2 定义时间轮3.3 使用时

SpringCloud之LoadBalancer负载均衡服务调用过程

《SpringCloud之LoadBalancer负载均衡服务调用过程》:本文主要介绍SpringCloud之LoadBalancer负载均衡服务调用过程,具有很好的参考价值,希望对大家有所帮助,... 目录前言一、LoadBalancer是什么?二、使用步骤1、启动consul2、客户端加入依赖3、以服务