IMU标定之---Allan方差
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IMU标定之---Allan方差相关的知识,希望对你有一定的参考价值。
0. 简介
在研究晶体振荡器和原子钟的稳定性时,人们发现这些系统的相位噪声中不仅有白噪声,而且有闪烁噪声。使用标准差分析这类噪声时发现结果是无法收敛的。为了解决这个问题,David Allan于1966年提出了Allan方差分析,该方法不仅可以准确识别噪声类型,还能精确确定噪声的特性参数,其最大优点在于对各类噪声的幂律谱项都是收敛的。对于IMU标定而言,标定可以分为确定性误差和随机误差,确定性误差包括:交轴耦合误差(Axis-misalignment),比例因子误差(Scale Factor),零偏(Bias)。随机误差则主要是高斯白噪声和bias随机游走。Allen方差主要用于标定随机误差。
1. Allan方差使用
Allen方差的计算方法如下:
- 保持IMU静止, 采集N个数据点。将采样数据划分为包含不同数量采样点的子集 : 为该子集的平均时间。
- 将N个点定长分组,常用的交叠式Allen方差如下(n=3):
- 对于每个子集,计算均值后,计算相邻两组的方差。这样就会得到个在每一平均时间对应的方差。根据这个点作图,可得到Allan标准差随平均时间变化的双对数曲线。Allan方差有效反映了相邻两个采样段内平均频率差的起伏。
- 从上面的Allen方差图中可以得到5种随机误差
- 量化噪声:误差系数为 ,Allan方差双对数曲线上斜率为-1的线段延长线与t=1的交点的纵坐标读数为 ;
- 角度随机游走:其误差系数 ,Allan方差双对数曲线上斜率为的线段延长线与交点的纵坐标读数即为;
- 零偏不稳定性:其误差系数 ,Allan方差双对数曲线上斜率为0的线段延长线与t=1交点的纵坐标读数为 ,一般常取底部平坦区的最小值或取或
- 角速率随机游走:其误差系数 ,斜率为1/2的线段延长线与交点的纵坐标读数为
- 角速率斜坡:其误差系数 ,斜率为1的线段延长线与交点的纵坐标读数为;
假设各种误差源统计独立,那总的艾伦方差为各种误差源之和,即将量化噪声的平方、角度随机游走的平方、零偏不稳定性的平方、角速率随机游走的平方、角速率斜坡的平方的总和。
2. Allan方差与ROS
下面是读取bag包并获取Allen方差的图片,并会生成对应的allen方差图。这里主要参考了https://github.com/ori-drs/allan_variance_ros对应的C++文件,为了方便这里提供了Python的代码以及注释。这个代码需要事先安装sudo pip install allantools
。
…详情请参照古月居
以上是关于IMU标定之---Allan方差的主要内容,如果未能解决你的问题,请参考以下文章
ROS实验笔记之——基于Kalibr标定event 与imu