AN-1157: 在ADIS16480中调谐扩展卡尔曼滤波器 (Rev. B) PDF

AN-1157
应用笔记
One Technology Way • P.O. Box 9106 • Norwood, MA 02062-9106, U.S.A. • Tel: 781.329.4700 • Fax: 781.461.3113 • www.analog.com
在ADIS16480中调谐扩展卡尔曼滤波器
作者:Mark Looney和Glenn Romano
简介
ADIS16480是一款MEMS惯性测量单元(IMU),内置一个三
ADIS16480在用户可访问的寄存器中为陀螺仪偏置、陀螺
轴加速度计、一个三轴陀螺仪、一个三轴磁力计和一个气
仪速率随机游动(RRW)以及加速度计和磁力计的协方差值
压计。除了提供完全校准、帧同步的惯性MEMS传感器,
提供了用户写入控制(见表1)。在ADIS16480中使用自适应
ADIS16480还集成了一个扩展卡尔曼滤波器(EKF),可计算
的EKF选项时,这些寄存器可根据传感器的测量条件实时
动态方位角。
更新。
EKF使用陀螺仪、加速度计和磁力计所测数据估算方位
表1. ADIS16480协方差项寄存器
角。加速度计根据地球重力测量方位角。磁力计根据地球
寄存器
QCVR_NOIS_UPR
QCVR_NOIS_LWR
QVCR_RRW_UPR
QVCR_RRW_LWR
RCVR_ACC_UPR
RCVR_ACC_LWR
RCVR_MAG_UPR
RCVR_MAG_LWR
磁场测量方位角。图1表示使用两种独立数据输入的EKF:
集成陀螺仪与当前方位,由加速度计和磁力计的几何测量
结合而得。卡尔曼增益级包含加权因子,在最终角度估算
中决定每一因素的贡献程度。ADIS16480根据分配给每个
传感器的不确定程度的协方差项实时导出加权因子。
在给定的应用环境下,性能的优化来自为传感器选择合适
地址1
0x62
0x60
0x66
0x64
0x6E
0x6C
0x72
0x70
用途
陀螺仪噪声,高位字
陀螺仪噪声,低位字
陀螺仪RRW,高位字
陀螺仪RRW,低位字
加速度计,高位字
加速度计,低位字
磁力计,高位字
磁力计,低位字
的协方差。选择优化的协方差值时,可能需经过反复测
试、观察、分析、调整以及再测试的过程。虽然本应用笔
记提供简化此过程的分析工具,但针对不同应用的观察和
1
这些寄存器均可在第3页的ADIS16480用户寄存器存储器映射中找到。访
问这些地址前,先设置PAGE_ID = 0x0003 (DIN = 0x8003)。
调整也是必须的。
∫ ωdt
GEOMETRIC
COMBINER
ACCELEROMETERS
MAGNETOMETERS
ORIENTATION
K–1
KALMAN
GAIN
K
COVARIANCES
图1. ADIS16480扩展卡尔曼滤波器的信号通道
Rev. B | Page 1 of 8
10825-001
GYROSCOPES
AN-1157
目录
简介...................................................................................................... 1
调谐指南 ............................................................................................. 4
修订历史 ............................................................................................. 2
针对动态性能调谐 ...................................................................... 4
理论协方差值 .................................................................................... 3
针对静态精度调谐 ...................................................................... 7
自适应特性......................................................................................... 3
结论 ................................................................................................ 8
修订历史
2013年1月—修订版A至修订版B
更改表2和表3 .................................................................................... 3
2012年12月—修订版0至修订版A
更改“调谐指南” ................................................................................ 4
2012年7月—修订版0:初始版
Rev. B | Page 2 of 8
AN-1157
理论协方差值
ADIS16480采用的默认协方差值如表3所列。注意,由于纳
调谐EKF通常是个迭代过程,因为某些误差源难以建立模
入了典型、未建模误差源,表中数值大于理论值。
型。开始该过程的方法之一是假设这些误差源不存在,并
表3. 出厂默认协方差项
设置协方差值为理论噪声值和稳定值。陀螺仪噪声的协方
陀螺仪噪声
1 × 10-5 (rad/sec)2
差初始值来源于该陀螺仪的总噪声规格。将该数值的单位
陀螺仪漂移
5 × 10-11 (rad/sec)2
转换为弧度/每秒(即rad/sec)并求它的平方。
加速度计
4 × 10-9 LSB2
磁力计
3 × 10-8 LSB2

π 


σ noise =  0.16 × 180 
2
2
= 7.8 × 10− 6 (rad/sec)2
自适应特性
陀螺仪的RRW协方差初始值可取自运行时的偏置稳定度
(每小时6.25°)。
(RCVR_ACC_xxx)和磁力计(RCVR_MAG_xxx)的协方差
2
 6.25 π 
=
×
 = 3.7 × 10 −13 (rad/sec)2
 3600 180 
σ RRW
2
ADIS16480集成了创新残差算法,可自适应调整加速度计
项。该算法实时调整RCVR_ACC和RCVR_MAG寄存器,
可让用户观察环境条件变化的影响。该特性在调谐EKF的
实际计算中,影响长期漂移的其他因素可能亦须纳入考量
过程中极为有用。
范围以优化该参数,如温度漂移、振动和其他线性加速。
此算法生成的协方差值通常比计算得到的理论值大。差别
加速度计和磁力计的协方差项取自它们的噪声规格,并采
在于一些未建模的误差源,如传感器的失调和比例因子、
2
对齐误差导致的交叉耦合、以及硬铁/软铁磁性失真。
用LSB 作为单位。
σ
2
Accel
1 
 0.0015
=
×

 1.221× 10 −8 231 
σ Accel = 3.39 × 10
2
−9
σ
2
Mag
1 
 0.00045
×

 0.1× 10 − 4 215 
= 1.98 × 10
−8
导致协方差值较大的另一因素。
LSB2
σ Mag = 
2
片上温度补偿能尽可能降低与温度有关的误差,但残差是
2
LSB
陀螺仪的比例因子误差未建模,对协方差项会产生噪声影
响。ADIS16480的EKF_CNFG[9]具有存储器淡出功能,以
2
提供一定的补偿。设置EKF_CNFG[9] = 1 (DIN = 0x8003,
0xC102)以使能此项功能;它可向方差中添加陀螺仪速率
2
的百分比,以便计算比例因子误差。当传感器稳定时,对
表2. 理论协方差值
陀螺仪协方差(Q)参数不作修正,但增加旋转速率会使协
陀螺仪噪声
7.8 × 10-6
陀螺仪漂移
3.7 × 10-13
加速度计
3.39 × 10
磁力计
1.98 × 10-8
方差增加,从而增大潜在误差。Q值的调整对器件而言产
生于内部,并且无法通过读取QCVR_NOIS寄存器而观察到。
-9
Rev. B | Page 3 of 8
AN-1157
调谐指南
如前所述,EKF算法通过对陀螺仪、加速度计和磁力计测
磁力计的软铁/硬铁影响
量值的优化组合估算出ADIS16480的方位。每个传感器的
硬铁和软铁影响是常见的磁力计测量值的误差源,并且似
协方差项决定了它们在角度估算中的影响(权重)。较小的
乎与特定应用有关。在尝试调谐EKF前,将ADIS16480绕
协方差值表示该传感器噪声对其他传感器的噪声影响较
三轴中的两轴缓慢旋转360°并测量所有三个磁力计以便表
小,将会提供稳定的测量值。因此,这些传感器的测量值
征磁力计的响应。使用这些测量值获得硬铁和软铁校正系
在最终的估算结果中所占的权重就大。
数,并将这些数值写入SOFT_IRON_Sxx和HARD_IRON_x
协方差项使特定应用中抑制噪声影响变得可行。振动是导
寄存器。
致出厂默认协方差项产生变化的因素之一。本例中,与
折衷空间
RCVR_ACCL_xxx寄存器有关的数值可能会变大,降低加
调谐包括在动态和静态性能之间做出折衷。针对跟踪高速
速度计所占权重,因为加速度计的测量值将会有与振动相
移动来调谐滤波器可能会牺牲稳态精度。同样,针对稳态
关的误差。
精度的调谐将以带宽和跟踪快速移动的能力为代价。这两
磁场干扰和其他误差源的存在提供了协方差项的更新可改
者的相对重要性由应用决定。
进角度精度的另一例证。本例中,增加RCVR_MAG_xxx寄
针对动态性能调谐
存器中的数值可降低磁场误差的影响。降低加速度计和磁
力计的权重所带来的折衷之一是管理陀螺仪饱和度的能
力。较小的加速度计或磁力计的影响力可能导致角度跟踪
的丢失以及从饱和度事件恢复缓慢。另一折衷是设备表现
针对动态条件调谐EKF的第一步是制定协方差值的原因/效
果分析测试方法。该测试方法包括4个基本部分:惯性运
动配置、可观察性能指标、分析技术和数据采集。下述实
例展示了这些对所有应用都有用的步骤。
出了较高的稳态误差。另一方面,降低加速度计和磁力计
惯性运动配置
供了一个控制位,可屏蔽磁力计对角度测量的影响。设置
EKF_CFG[1] = 1 (DIN = 0x8003,0x5001)以屏蔽磁力计对角
惯性运动配置必须包含能够反映实际应用条件的惯性条
件。图2表示本例中涉及的惯性条件——利用1 Hz正弦曲线,
在0至30度之间围绕z轴旋转。
度估算造成的影响。屏蔽磁力计的影响将迫使偏航角度仅
依赖陀螺仪,造成的结果是角度漂移速率与陀螺仪的总偏
置误差成正比。性能的优化包括在互相矛盾的系统需求之
间取得正确的平衡,这通常很困难。
协方差调整对于持续环境噪声的补偿很有用,而对于管理巨
大、偶发性的干扰,ACC_DIST_THR和MAG_DISTB_THR
30
15
0
0
1
2
3
10825-003
若磁场误差对于角度精度目标来说过大,则EKF_CFG[1]提
ROTATION ANGLE (Degree)
的权重似乎可带来较少的噪声输出。
寄存器提供了用户可编程的“干扰水平”。ADIS16480持续
图2. 动态测试激励
将三个维度与反映它们在最后EKF初始化过程中状态的存
相对于水平方向,该配置还使用了两个不同的方向作为旋
储 值 相 比 较 。 当 幅 度 大 于 或 等 于 ACC_DIST_THR或
转轴:水平(图3)和垂直(图4)。当旋转轴位于垂直方向上,
MAG_DISTB_THR寄存器指定阈值的某一百分比时,便在
加速度计的输出基本未被采用,因为输出恒定。将旋转轴
干扰持续期间暂时禁用受影响的测量值。
设置在水平方向上,则旋转平面与磁北一致,确保陀螺
仪、加速度计和磁力计均受到激励。
Rev. B | Page 4 of 8
AN-1157
可观察性能指标
偏航角度输出寄存器YAW_C32_OUT为观察提供了最佳的
输出变量,假定此时惯性运动配置为z轴。
分析技术
为测量信噪比(SNR)而采用的FFT分析技术可为代表惯性的
ADIS16480
偏航输出寄存器提供简单、精确的质量指标。
数据采集
ADIS16480输出数据数率为2460 (DEC_RATE = 0x0000),且
10825-008
数据记录长度为35200个样本,足以代表惯性运动。
图3. 水平旋转轴
下列3D柱状图表示了一系列协方差设置下的信噪比。所有
实例中,陀螺仪漂移协方差QCVR_RRW均设为10-12。至
于其余三个协方差项,一个值固定在一特定图形上(在图形
标题中给出);柱高表示SNR的观察值,该值与几个独立的
设置相关(在10-14至10-4之间)。它证明两个不同的旋转方
IS1
648
0
向导致不同的结果。当旋转轴位于水平方向时,ADIS16480
的协方差项范围较大。
10825-004
AD
图4. 垂直旋转轴
Rev. B | Page 5 of 8
AN-1157
垂直方向
水平方向
下图中的信噪比(SNR)测于旋转轴为垂直方向时。
下图中的SNR测于旋转轴为水平方向时。
40000
40000
35000
35000
30000
30000
25000
20000
15000
15000
10000
10000
5000
5000
10–6
AG
10–14
10–8
10–10 –12
10
RCV
10–14
R_M
AG
图8. 动态性能,水平轴,RCVR_ACC = 1 × 10 -8
图5. 动态性能,垂直轴,RCVR_ACC= 1 × 10 -8
40000
40000
35000
35000
30000
25000
25000
20000
15000
SNR
30000
20000
15000
10000
10000
5000
5000
0
10–4
10–6
10–8
10–10
RCV
R_A
CC
10–12
10–14
10–8
E
IS
10–10
NO
10–12
_
R
10–14
CV
Q
10–4
10825-006
10–4 10–6
图6. 动态性能,垂直轴,RCVR_MAG = 1 × 10 -8
10–6
10–8
10–10 –12
10
RCV
10–14
R_A
CC
0
10–4
10–6
10–8
E
10–10
IS
O
10–12
_N
R
10–14
CV
Q
图9. 动态性能,水平轴,RCVR_MAG = 1 × 10 -8
40000
40000
35000
35000
30000
25000
SNR
30000
25000
20000
20000
15000
15000
10000
10000
5000
5000
0
10–4
10–6
10–8
RCV
R_M
10–10
AG
10–12
10–14
RC
0
10 –4
10 –6
10 –4
10825-007
10–4
10–6
10–8
10–10
CC
10–12
_A
10–14
VR
SNR
10–12
10825-010
RCV
R_M
10–4 10–6
SNR
10–10
10 –6
10 –8
10 –8
10 –10
10 –10
RCV
R_M
AG
10 –12
10 –12
10 –14
10 –14
C
AC
R_
V
RC
图10. 动态性能,水平轴,QCVR_NOISE= 1 × 10 -6
图7. 动态性能,垂直轴,QCVR_NOISE= 1 × 10 -6
Rev. B | Page 6 of 8
10825-011
10–8
10–8
E
IS
10–10
O
_N
R
CV
Q
10–12
10–14
10825-005
10–4 10–6
0
10–4
10–6
E
10–8
IS
O
10–10
_N
10–12
R
10–14
CV
Q
10825-009
0
10–4
SNR
25000
SNR
20000
AN-1157
针对静态精度调谐
水平方向
在检查静态精度的测试中,记录下初始方向,将传感器旋
图15至图17数据为旋转轴处于水平方向时获得。
90
1.0
0.6
RCVR_
ACC
1.0
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
1.0
10
–4
10
–6
10
–
10 8
–1
0
10
–
12
10
–
14
图12. 静态性能,垂直轴,RCVR_ACC = 1 × 10 -8
RCVR_
MAG
10–4
10–6
10–8
10–10
10–12
10–14
0.8
0.6
0.4
10825-014
Q
12
14
10
–
10
–
10
10
–8
10
–
CV
R_
NO
4
IS
E
10–10
10–4
6
10
–
10
–
RCV
R_A
CC
图13. 静态性能,垂直轴,RCVR_MAG = 1 × 10 -8
1
0.8
0.6
0.4
10–4
10–6
10–8
10–10
10–12
10–14
0.2
10825-015
10
10
–8
10
–6
10
AG
_M
VR
RC
10
–
12
10
–
14
10
–
12
10
–
10 4
10 –8
–
–4
0
RC
VR
_A
CC
SE
10–10
10–4
图17. 静态性能,水平轴,QCVR_NOISE= 1 × 10 -6
0.2
0
10–4
10–6
10–8
10–10
10–12
10–14
10825-018
10825-013
10 –14
10 –10
10 –12
10 –8
AG
R_M
RCV
14
图16. 静态性能,水平轴,RCVR_MAG = 1 × 10 -8
10–4
10–6
10–8
10–10
10–12
10–14
10 –4
10 –6
1.0
0.8
0.6
0.4
0.2
0
Q
CV 10 –12
R_ 10 –8
NO 10 –4
IS
E
10–10
10–4
10
–
封顶为1°,以避免图中到处都是更小的误差。
10
10
–
4
方向。测量方向与理想的90°方向之间的差异已标明。误差
12
图12至图14提供了不同协方差项的响应值,旋转轴为垂直
10–4
10–6
10–8
10–10
10–12
10–14
10
–
垂直方向
1.0
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
10
–8
10
–
的范围内变动。
6
个协方差固定在标称值,剩下的其余两个则在1e-14至1e-4
图15. 静态性能,水平轴,RCVR_ACC = 1 × 10 -8
10
–
和动态测试一样,陀螺仪漂移的协方差固定在1e-12,另一
10825-017
60
QC
VR
_N
OI
40
图11. 静态测试激励
RC
VR
_A
CC
20
0.2
0
10–4
E
10–8
IS
10–12 _NO
VR
QC
AG
0
10825-012
0
0.4
10–14
10–12
10–10
10–8
10–6
10–4
10825-016
10–4
10–6
10–8
10–10
10–12
10–14
0.8
_M
VR
RC
ROTATION ANGLE (Degrees)
转90°,然后用初始值减去最终方向值。
图14. 静态性能,垂直轴,QCVR_NOISE = 1 x 10 -6
Rev. B | Page 7 of 8
AN-1157
结论
调谐卡尔曼滤波器以获得优化性能是一个多数情况下需要
虽然本文中的结论并不适用于所有应用,但可作为选择初
反复试错的过程。本应用笔记提供了一种有助于找到合适
始协方差值以供测试的起点。根据所需规格不同,应谨慎
协方差值组合的方法。由于每个SNR读数均采用较大的步
检查静态以及动态性能,然后选择优化组合。
长,良好的调谐对于最终应用的改进极为关键。
©2012–2013 Analog Devices, Inc. All rights reserved. Trademarks and
registered trademarks are the property of their respective owners.
AN10825sc-0-1/13(B)
Rev. B | Page 8 of 8