高精度IMU精对准原理和代码实现

本文介绍了一种通过速度误差进行高精度IMU姿态校准的方法,包括理论分析和实际的C++代码实现。重点展示了姿态角、速度和陀螺零偏的收敛过程,并进行了7维状态可观测性理论探讨。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言


高精度imu经过初始对准后,获得了载体坐标b系到导航坐标系n的粗略姿态矩阵Cnb,但还存在一定的误差,若此时直接进行纯惯性导航,误差会迅速发散,因此,需要共进一步求准Cnb。

一、基于速度误差的精对准

速度误差的精对准,可以理解为在静止的时刻进行零速约束,对常规的姿态和速度更新算法进行简化(此时位置不变,不需要更新)
在这里插入图片描述对误差方程进行简化得:
在这里插入图片描述最终构建以EN方向速度误差为观测量,3个失准角误差、EN方向速度误差、NU方向的陀螺零偏误差为状态量的滤波模型,如下:
在这里插入图片描述

二、代码实现

上传在github的c++工程文件,有数据可以运行,代码包含粗对准和精对准2部分。

链接: https://github.com/shaoudelaochao/ImuAlignment/tree/master/ImuAlignment

结果分析

1、姿态角及其协方差图:
在这里插入图片描述水平姿态角很容易收敛,航向角收敛慢一点(跟初始给的P0设置有关),有个pitch角慢慢漂了,说明这个轴的零偏稳定性较其他2个轴差一点。

2、速度及其协方差
在这里插入图片描述速度误差是直接观测量,收敛也很快。

3、零偏及其协方差
在这里插入图片描述N方向的零偏有收敛,U方向基本没有收敛,因为u方向零偏误差可观测性最弱(反过来说,如果滤波器中可观测性最弱的状态都收敛了,那整个滤波器就很稳定了)。

7维状态的可观测性理论分析如下:
在这里插入图片描述

结论:理论分析跟上面的实验数据结果一致:速度误差是直接观测的,最先收敛;N和E方向的失准角是一次求导算的,慢收敛一点;U方向失准角和N方向零偏误差是二次求导算的,慢慢才收敛,2个收敛曲线一致;U方向零偏误差是三次求导的,收敛最慢。

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值