IMU&GNSS的误差状态卡尔曼滤波器(ESKF)---更新过程

IMU&GNSS的误差状态卡尔曼滤波器(ESKF)---更新过程

ESKF的更新过程

前面介绍的是ESKF的运动过程,现在考虑更新过程。假设一个抽象的传感器能够对状态变量产生观测,其观测方程为抽象的h,那么可以写为

其中z为观测数据,v为观测噪声,V为该噪声的协方差矩阵。

在传统的EKF中,可以直观地对观测方程线性化,求出观测方程相对与状态变量的雅克比矩阵,进而更新卡尔曼滤波器。而在ESKF中,当前拥有名义状态变量x的估计和误差状态变量delta x的估计,且希望更新的是误差状态,因此要计算观测方程相对于误差状态的雅克比矩阵:

然后计算卡尔曼增益,进而计算误差状态的更新过程:

其中,K为卡尔曼增益,Ppred为预测的协方差矩阵,最后的P为修正后的协方差矩阵。

下面就是如何计算H,大部分的观测数据是对名义状态的观测。此时H可以通过链式法则来生成:

其中第一项只需对观测方程进行线性化;第二项,根据之前对状态变量的定义,可以得到

其它几项都是平凡的,只有旋转部分,因为 delat theat 定义为R的右乘,用右乘的BCH即可

相关推荐
和芯星通unicore13 小时前
汽车GNSS保护等级PL赋能智能辅助驾驶安全
安全·汽车·gnss·智能驾驶·辅助驾驶·驾驶安全
jason成都1 天前
RTKLIB 的 Java 移植版来了:rtklib-java v3.3.0 功能全景
java·gnss·rtklib·rtklib_java
jason成都2 天前
RTKLIB-Java 多基线联合RTK:FIX率从0%到91.5%的三层根因修复
java·gnss·rtklib·rtklib_java
jason成都3 天前
rtklib_java PPP-RTK 收官测试:修复 BDS-2 宽巷失效与异常卫星死循环 Bug
java·gnss·rtklib·rtklib_java
记帖4 天前
STM32C5开发ISM330DHCX(6)--倾斜度检测
imu·mems·stm32cubemx2·stm32c542cct6·ism330dhcx
记帖6 天前
STM32C5开发ISM330DHCX(9)--活动/静止检测
imu·mems·stm32cubemx2·stm32c542cct6·ism330dhcx
记帖6 天前
STM32C5开发ISM6HG256X(5)--运动唤醒检测
imu·mems·stm32cubemx2·stm32c542cct6·ism6hg256x
记帖7 天前
STM32C5开发ISM330DHCX(2)--中断获取陀螺仪数据
imu·mems·stm32cubemx2·stm32c542cct6·ism330dhcx
和芯星通unicore7 天前
卫星信号消失的地方,定位如何继续?——解密和芯星通DR 航位推算算法
人工智能·算法·gnss·智能驾驶gnss模块
reikocao8 天前
IMU预积分讲人话:递推、协方差、零偏修正到底在算什么
slam·imu·预积分