-
捷联惯性导航系统(strapdown inertial navigation system,SINS)是一种自主式导航系统,其导航过程就是对惯性测量单元(inertial measurement unit,IMU)的输出进行导航解算,这实际上是一个航位推算过程。因此在SINS进入正常导航状态之前,需要给定初始值,即对其进行初始对准,初始对准的精度和速度决定了惯导系统的工作性能[1]。
卡尔曼滤波(Kalman filter,KF)是一种常用的惯导系统精对准算法[2-6],针对不同的对准条件,延伸出了扩展卡尔曼滤波(extended Kalman filter,EKF)[4]、无迹卡尔曼滤波(unscented Kalman filter,UKF)[2, 5]、自适应卡尔曼滤波(adaptive Kalman filter,AKF)[6]等多种形式。KF初始对准算法的对准精度依赖于惯导系统数学模型的准确性以及观测量的噪声水平。系统数学模型多采用惯导误差模型,观测量一般是通过外界参考系统(如GPS、多普勒计程仪等)获取参考基准后得到的。目前对惯导误差模型的研究已经较为深入,但在初始对准条件设置方面还存在不确定性;另外,观测量的噪声扰动也会影响滤波结果的收敛性。
渐消因子卡尔曼滤波(fading Kalman filter,FKF)是抑制滤波发散的一种有效方法[7-9],通过引入渐消因子对预测误差协方差阵进行调整,增加当前观测值对滤波结果的修正作用。文献[10-11]提出了通过强迫新息序列正交来确定渐消因子的渐消滤波算法,使算法具有自适应性;针对单渐消因子对多变量跟踪能力较差的问题,文献[12-14]提出了基于多重渐消因子的渐消滤波算法,并通过强迫新息序列协方差估计值与理论值相等来确定渐消因子的数值,提高了不同滤波通道的调节能力;文献[15-17]将多重渐消因子滤波算法应用到SINS初始对准问题中,有效提高了复杂干扰环境下的对准精度。
传统FKF算法通过强迫新息序列正交或强迫新息序列协方差估计值与其理论值相等的方式来确定渐消因子的取值,并以渐消因子大于1作为引入条件,这种引入条件具有一定的随机性,制约了FKF的工作性能。文献[18]引入影响函数来验证KF的鲁棒性,并利用M估计对过程噪声进行膨胀以提高KF算法质量。文献[19-20]基于新息向量统计特性构造χ2检验条件,判断观测噪声是否异常,通过标量因子调节量测噪声或先验协方差,以增强滤波器的鲁棒性[21-22]。受此启发,本文引入了基于新息向量统计特性的滤波状态χ2检验条件,以一定置信度条件下的检验异常作为渐消因子的引入门槛,使得渐消因子的引入时机更加合理,算法的自适应性得到增强。仿真和实测数据试验表明,新算法具有更好的滤波精度和鲁棒性。
HTML
-
设线性离散系统的状态方程以及观测方程为:
式中,xk∈Rn为k时刻的状态向量;zk∈Rm为k时刻的量测向量;Φk/k-1∈Rn×n为k-1时刻至k时刻的状态一步转移矩阵;Γk为k时刻的系统噪声阵;Hk∈Rm×n为k时刻的观测阵;wk与vk分别代表k时刻系统的噪声序列与量测噪声序列, 同时,wk与vk满足:
式中,Qk为非负的系统噪声序列方差阵;Rk为正定的量测噪声序列方差阵;δkj为Kronecker-δ函数。
KF基本方程为:
式(3)~(7)中,$ {\mathit{\boldsymbol{\hat x}}_{k - 1}} $是滤波器对k-1时刻状态值的估计值;$ {\mathit{\boldsymbol{\hat x}}_{k/k - 1}} $是滤波器对k时刻状态值的一步预测;Pk-1为k-1时刻的状态估计均方误差阵;Pk/k-1为k-1时刻至k时刻的一步预测均方误差阵;Kk为k时刻的滤波增益矩阵;Qk-1为k-1时刻的系统噪声序列方差阵。
典型的FKF与KF的区别是在滤波方程式(4)中引入渐消因子s,得到:
令sk > 1可以使Pk/k-1增大,由式(5)可知,Kk增大,意味着对当前量测值的利用权重比增大,同时由式(6)可知,对$ {\mathit{\boldsymbol{\hat x}}_{k/k - 1}}$利用的权重相对降低,即降低了陈旧量测值对估计值的影响。渐消因子sk是基于新息向量的统计特性来确定的,滤波器中每一步预测的新息向量为:
在滤波最优的情况下,其协方差理论值满足:
新息序列协方差的估计值${\mathit{\boldsymbol{\hat C}}_k} $可以通过开窗法[10]得到:
文献[14]提出了一种基于指数加权的新息向量协方差估计方法,加大了新近新息向量的权重,进一步提高了$ {\mathit{\boldsymbol{\hat C}}_k} $的估计精度,其计算方法为:
式中,$ {\mathit{\boldsymbol{\hat C}}_0} = 0 $;b为遗忘因子,一般取值为0.7~0.95之间。这种递推计算方式实现起来较为简便,文献[14]通过仿真试验和实测数据试验证明了使用这种估计方法的有效性。
结合式(8)至式(12)可以得到渐消因子sk的确定方法为:
式中,tr(·)为求迹算子;$ {\mathit{\boldsymbol{\hat C}}_k}$为式(12)得到的k时刻的新息序列协方差估计值。
-
单渐消因子对Pk/k-1各通道的调节能力是相同的,制约了其调节能力,引入多重渐消因子Sk可以有效解决这一问题。
设Sk=diag{s1 s2…sn},si表示第i(i=1, 2…n)个状态变量对应的渐消因子,则可将式(8)写成:
将式(14)代入式(10),可得:
将新息序列协方差用式(12)计算得到的估计值${\mathit{\boldsymbol{\hat C}}_k} $代替,则有:
若量测矩阵Hk满足:
式中,λm×m=diag{λ1 λ2…λm};n为状态向量维数;m为量测向量维数。将矩阵Jk分为4个部分:
定义矩阵L=[li, j]=λm×mJm×m11λm×m,将式(16)代入式(15)可以解得多重渐消因子的求法为:
式中,li, i为矩阵L的第i个对角元素;Nk(i, i)为矩阵Nk的第i个对角元素。
由于一般情况下滤波观测维数小于状态维数,因此FKF只对部分状态通道进行了直接渐消,式(19)也反映了这一实际情况。
1.1. 单渐消因子滤波
1.2. 多重渐消因子滤波
-
传统的FKF通过强制新息序列协方差估计值与理论值相等来确定渐消因子的数值,如果数值大于1则引入渐消因子。而实际上通过新息序列协方差的估计值计算出来的渐消因子是否大于1,并不代表滤波器当前是否处于稳定状态,这就有可能造成在并不需要引入渐消因子时,引入了渐消因子。
针对传统渐消滤波中渐消因子的引入条件过于宽松的问题,本文提出了一种基于新息向量统计特性的检验条件。在滤波稳定的情况下,新息序列的统计特性满足[11]:
由式(20)可知,εk服从均值为0、方差为HkPk/k-1HkT+Rk的正态分布;γk服从自由度为m的χ2分布,m为量测的维度。因此可以利用χ2分布上侧分位点的性质来进行滤波稳定性的判断[19-20]。例如,当量测维度m=2时,选取分位点ζ=9.210,则有[23]:
也就是说,在滤波正常的情况下,γk大于ζ的概率只有1%。根据假设检验原理,若γk > ζ,则在99%的置信度下可以认为滤波异常。本文以此作为渐消因子引入的判断条件,即首先进行正常KF并实时计算γk,若满足γk > ζ,则将式(4)换为式(14),引入渐消因子。与§1.2中的多重渐消因子滤波相比,在渐消因子的引入条件上进行了改进。
-
假设SINS处于静基座状态,以SINS水平速度输出作为速度误差的观测量, 并令载体真实速度为Vn=[0 0 0],加速度计输出在n系的分量fn=[0 0 g](g为地球重力加速度),SINS所处的位置(L,λ,h)可由GPS等外部参考基准得到。
建立SINS误差状态模型为:
式中,
式中,δvE、δvN分别为东向和北向速度误差;φx、φy、φz分别为俯仰、横滚、航向3个轴方向的姿态误差角;wδvE、wδvN分别为东向和北向速度误差的系统噪声;wφx、wφy、wφz分别为俯仰、横滚、航向3个轴方向的姿态误差角的系统噪声;$ \nabla $x、$ \nabla $y为加速度计的随机常值偏置;εx、εy、εz为陀螺仪的随机常值漂移;ΩN=wie cosL,ΩU=wie sinL分别为地球自转角速度在北向和天向的分量,wie为地球自传角速度值;L为当地地理纬度;R为地球半径;Cij(i=1, 2, 3;j=1,2,3)为姿态矩阵Cbn中的元素。
以水平速度误差作为观测量,在静基座状态下,惯导输出的速度即为速度误差:
式中,观测量z=[δvE δvN]T;v为量测高斯白噪声,其噪声序列方差阵为Rk;量测矩阵H为:
-
捷联惯导系统初始对准仿真条件为:初始位置为(114.24° E, 30.58° N);粗对准后的初始失准角为φ=[10′ 10′ 30′]。其他参数设置如下:陀螺漂移ε及白噪声wg为:
加速度计零偏$ \nabla $及白噪声wa为:
速度观测误差v为:
初始条件为:
采样时间T=1/10 s。
为验证算法的有效性,设计系统模型不准确及观测量受噪声干扰的初始对准环境。令P′ 0=10P0,Q′ k=100Qk,同时对速度误差观测量施加噪声干扰zk=zk+[vD vD]T,且有:
分别使用常规KF(算法1)、文献[14]提出的多重渐消因子滤波算法(算法2)以及本文提出的基于新息向量统计特性检验的改进算法(算法3)进行初始对准仿真。在进行新息序列协方差估计时,取b=0.85,ζ=9.210。
3种滤波算法得到的航向角对准误差曲线如图 1所示。
由图 1可以看出,在系统建模不准确及观测量受噪声干扰的情况下,算法1出现严重发散,对准结果并不可靠;算法2与算法3都能较好地抑制滤波器的扰动,但算法2的滤波曲线并没有达到很好的收敛效果,在10 min后出现轻微发散的情况;算法3的滤波结果较为稳定,10 min后航向角估计误差稳定在1′以内。表 1为3种算法最终的姿态对准误差。
算法 φx φy φz 算法1 9.94 -2.03 -104.30 算法2 0.31 -0.30 3.33 算法3 0.30 -0.26 -0.69 Table 1. Attitude Errors with Simulation Data/(′)
表 1中,φx、φy、φz分别表示惯导系统俯仰、横滚、航向3个方向上的姿态对准误差。可以看出,算法1的对准误差较大,算法2、算法3都表现出较好的鲁棒性,算法3的对准精度要高于算法2。
-
为进一步验证本文算法的有效性,选用北京自动化控制设备研究所研制的FOSC型光纤陀螺IMU组件,在实验室环境下采集光纤陀螺惯导原始数据,试验环境如图 2所示。
数据采集过程中,给光纤IMU接入GPS信号进行高精度的静基座对准,以此结果作为对比试验的姿态基准, 并设置初始失准角为[10′ 10′ 30′],同样对速度误差观测量施加干扰vD,3种滤波算法得到的航向角对准误差曲线如图 3所示。
由图 3可见,实测数据对准结果与仿真试验基本一致。在外界干扰下,算法1的对准精度较低,算法2有一定改善,算法3的收敛效果优于算法2,最终航向对准精度在2′以内。表 2为种算法最终的姿态对准误差。
算法 φx φy φz 算法1 -1.02 -0.13 -14.50 算法2 -0.43 -0.17 -4.88 算法3 -0.28 0.10 -1.28 Table 2. Attitude Errors with Real Data/(′)
表 2说明实测数据验证结果与仿真试验结果是一致的,算法3的最终航向对准精度约为1.3′,在噪声干扰情况下仍保持了较高的对准精度。
4.1. 仿真试验
4.2. 实测数据验证
-
受系统建模不准确及外界观测噪声的干扰,常规卡尔曼滤波会出现精度下降甚至发散的情况。针对这一问题,本文研究了多重渐消因子卡尔曼滤波算法,提出了基于新息向量统计特性的滤波器工作状态χ2检验方法,使渐消因子的引入时机更加合理,算法的自适应性得到提高,克服了常规多重渐消因子滤波算法中因过度使用渐消因子导致的滤波精度下降问题。仿真试验与实测数据试验表明,本文提出的算法在系统建模不准确及观测噪声扰动的影响下,可以有效抑制滤波发散,与常规多重渐消因子滤波算法相比,精度更高,鲁棒性更好。