• IMU标定之---Allan方差


    0. 简介

    在研究晶体振荡器和原子钟的稳定性时,人们发现这些系统的相位噪声中不仅有白噪声,而且有闪烁噪声。使用标准差分析这类噪声时发现结果是无法收敛的。为了解决这个问题,David Allan于1966年提出了Allan方差分析,该方法不仅可以准确识别噪声类型,还能精确确定噪声的特性参数,其最大优点在于对各类噪声的幂律谱项都是收敛的。对于IMU标定而言,标定可以分为确定性误差和随机误差,确定性误差包括:交轴耦合误差(Axis-misalignment),比例因子误差(Scale Factor),零偏(Bias)。随机误差则主要是高斯白噪声和bias随机游走。Allen方差主要用于标定随机误差。

    在这里插入图片描述

    1. Allan方差使用

    Allen方差的计算方法如下:

    • 保持IMU静止, 采集N个数据点。将采样数据划分为包含不同数量采样点的子集 : T ( n ) = n T s , n = 1 , 2 … N / 2 , T ( n ) T(n)= nT_s,n=1,2…N/2 ,T(n) T(n)=nTsn=1,2N/2,T(n) 为该子集的平均时间。
      在这里插入图片描述

    • 将N个点定长分组,常用的交叠式Allen方差如下(n=3):
      在这里插入图片描述

    • 对于每个子集,计算均值后,计算相邻两组的方差。这样就会得到 n n n个在每一平均时间 T ( n ) T(n) T(n)对应的方差 σ ( n ) σ(n) σ(n)。根据这 n n n个点作图,可得到Allan标准差 σ σ σ随平均时间 T T T变化的双对数曲线。Allan方差有效反映了相邻两个采样段内平均频率差的起伏。
      在这里插入图片描述
      从上面的Allen方差图中可以得到5种随机误差

    • 量化噪声:误差系数为 Q Q Q,Allan方差双对数曲线上斜率为-1的线段延长线与t=1的交点的纵坐标读数为 3 T Q \frac{\sqrt{3}}{T}Q T3 Q
    • 角度随机游走:其误差系数 N N N,Allan方差双对数曲线上斜率为 − 1 / 2 -1/2 1/2的线段延长线与 t = 1 t=1 t=1交点的纵坐标读数即为 N T \frac{N}{\sqrt{T}} T N
    • 零偏不稳定性:其误差系数 B B B,Allan方差双对数曲线上斜率为0的线段延长线与t=1交点的纵坐标读数为 2 ln ⁡ 2 π B \sqrt{\frac{2\ln2}{\pi}}B π2ln2 B ,一般常取底部平坦区的最小值或取 t = 1 0 1 t=10^1 t=101 t = 1 0 2 t=10^2 t=102 处的值;
    • 角速率随机游走:其误差系数 K K K,斜率为1/2的线段延长线与 t = 1 t = 1 t=1交点的纵坐标读数为 K T / 3 \frac{K}{\sqrt{T/3}} T/3 K
    • 角速率斜坡:其误差系数 R R R,斜率为1的线段延长线与 t = 1 t=1 t=1交点的纵坐标读数为 R T 2 \frac{RT}{\sqrt{2}} 2 RT​​;

    假设各种误差源统计独立,那总的艾伦方差为各种误差源之和,即将量化噪声的平方 σ Q σ_Q σQ、角度随机游走的平方 σ R A W σ_{RAW} σRAW、零偏不稳定性的平方 σ b i a s σ_{bias} σbias、角速率随机游走的平方 σ R R W σ_{RRW} σRRW、角速率斜坡的平方 σ R R σ_{RR} σRR的总和。
    在这里插入图片描述

    2. Allan方差与ROS

    下面是读取bag包并获取Allen方差的图片,并会生成对应的allen方差图。这里主要参考了https://github.com/ori-drs/allan_variance_ros对应的C++文件,为了方便这里提供了Python的代码以及注释。这个代码需要事先安装sudo pip install allantools

    …详情请参照古月居

  • 相关阅读:
    C# json序列化实体时,时间戳转Datetime
    学懂如何计算结构体内存大小
    nginx正向代理、反向代理、负载均衡(重中之重)
    C++中的volatile
    体质计算小网页
    2 Redis的安装与配置
    快来手写RPC S2 序列化探究
    ElasticSearch容器化从0到1实践(一)
    中间件 | Kafka - [基本信息]
    优惠券秒杀的优化
  • 原文地址:https://blog.csdn.net/lovely_yoshino/article/details/126386345