IMU数学模型详细推导
1|0旋转运动学
质量块在body坐标系下的坐标为:
body坐标系为imu坐标系 惯性系为世界坐标系
只考虑旋转 旋转到惯性系下:
对时间求导 如下:
其中
对的求导 有如下推导:
其中
对坐标求二阶导 得出:
其中 自身和自身的叉乘为零
2|0imu测量模型
imu中包含两种测量模型:加速度计和陀螺仪
加速度计用来测量加速度的大小 陀螺仪用来测量角速度的大小
2|1加速度计
这里用弹簧模型理解 实际中会使用电容器
加速度的坐标系通常为东北天坐标系:
静止时 加速度计测得加速度为0 重力加速度为g
自由落体时 加速度计测得加速度为g 重力加速度为0
加速度计不需要考虑科氏力的影响 因为在某一时刻科氏力会等于0 达到平衡状态
2|2陀螺仪
测量 a 和 v 可以求出 w
但是会受到科氏力的影响 所以会采用音叉陀螺 将科氏力抵消掉
3|0误差模型
IMU误差分为确定性误差和随机误差
3|1确定性误差
确定性误差主要分为:bias和scale
bias即经常说的零偏:理论上没有外力作用时 IMU的传感器输出应为0 但实际上会出现一个偏置bias
scale可以看成实际数据与传感器输出数据之间的一个比值
以及还有xyz轴不重合的误差
常使用六面法标定加速度计和陀螺仪 不过多介绍
3|2随机误差(重点)
随机误差分为高斯白噪声和bias随机游走
连续时间上的随机误差
高斯白噪声:
狄拉克函数:当时为1 其他时刻均为0 说明了每段时间的独立性
bias随机游走:
离散时间上的随机误差
一个单轴角速度受到高斯白噪声和bias的影响:
当传感器采集信号时 认为采样时间段内信息为常数
我们无法确定随机误差的积分是否为常数 所以单独对这两种随机误差进行分别积分:
高斯白噪声:
高斯白噪声的方差(这里为什么要平方? 因为这就是方差的定义 详见《矩阵分析与应用》)
我们认为:
其中:
可以得出结论:对比高斯白噪声的连续时间和离散时间的,高斯白噪声的连续时间和离散时间相差一个 其中为传感器的采集时间(1/HZ)
bias随机游走:
bias积分部分:
协方差为:
上面都不重要
结果:
其中:
得出结论:同样这里对比的是 bias随机游走的噪声方差从连续时间到离散时间需要乘以一个
实际操作时 我们会使用kalibr_allan对imu进行标定 算出高斯白噪声误差和bias随机游走误差(即)
使用ROS 生成imu数据包 再使用kalibr_allan将数据包转换为mat文件 再输入进kalibr_allan
4|0IMU模型
其中b为bias随机游走误差 n为高斯白噪声
为理想值 为测量值 a同理
5|0运动模型的离散积分
5|1欧拉法
5|2中值法
__EOF__

本文链接:https://www.cnblogs.com/linglingdog/p/15936721.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探