基于容积规则的组合导航系统容错滤波算法
2020-02-06沈华健SHENHuajian
沈华健SHEN Hua-jian
(无锡机电高等职业技术学校,无锡214000)
0 引言
考虑到日趋复杂的应用环境,单独的导航系统无法满足高精度需求,通过组合GNSS 系统和INS 系统可以提高导航精度,组合导航系统已经成为了当今导航领域的主流技术[1,2]。
组合导航系统需要采用滤波算法进行解算,卡尔曼滤波(Kalman Filter,KF)算法是经典的导航滤波算法,但其只适用于线性系统[3]。组合导航系统具有一定的非线性特性,KF 算法会极大地降低解算精度,所以,非线性滤波算法逐渐受到学者的青睐。有学者采用了无迹卡尔曼滤波(Unscented Kalman Filter,UKF)算法进行导航滤波解算,通过无迹变换得到的2n+1 个采样点,能够不断逼近滤波均值和协方差,有效地提高了导航解算精度[4]。此外,容积卡尔曼滤波(Cubature Kalman Filter,CKF)算法在进行组合导航系统解算时[5,6],不仅提高了精度,还保证了状态协方差的正定性,改善了滤波过程的数值稳定性。
状态χ2检测法和残差χ2检测法均有各自的不足,而双状态χ2检测法能够弥补两者的不足,提升故障检测的灵敏度,在导航系统容错滤波算法领域得到较为广泛的应用[7,8]。综合考虑非线性导航系统模型和故障信息对导航解算精度的影响,本文设计了基于容积规则的组合导航系统容错滤波算法。该算法采用了双状态χ2检测法对导航系统进行故障诊断,根据故障检测值分配滤波权重,降低了故障影响;同时利用了CKF 算法的容积规则,降低了非线性滤波误差,进一步改善了容错滤波算法的精度。
1 组合导航系统滤波模型
GNSS 系统中应用最为广泛的是全球定位系统(Global Positioning System,GPS),我国自主研发的北斗二代(BD2)导航系统也具有很好的应用性能,为了保证高可靠性,本文采用了SINS/GPS/BD2 组合导航模式,其滤波结构如图1 所示。
图1 组合导航系统联邦滤波结构
组合导航系统以SINS 为主子导航系统,通过航位推算得到SINS 的姿态、速度和位置信息,与GPS、BD2 输出的位置信息分别组成滤波子系统,得到各自的状态均值和误差协方差。然后,通过故障检测得到两个滤波子系统的故障检测值,根据检测值实时分配权重信息,反馈至SINS进行校正,降低导航解算误差,提高系统的容错性能。
2 结合双状态χ2 检测法的容错滤波算法
无人机在空中飞行时,电磁干扰、电源失效以及机体振动等异常情况会导致故障的产生,影响量测系统的量测值,进而降低导航系统的解算值。因此,为了准确地检测故障信息,本文引入了双状态χ2检测法,结合前述章节的内容,设计了容错滤波算法。
SINS/GPS 子系统的故障检测结构如下图所示:
根据图2,故障检测过程描述如下:
步骤1、选择合适的时间间隔T,两个状态递推器中设置相同的初始状态值和误差协方差。
步骤2、当滤波运行至时间t1时,开关K1打到1 处,复位状态递推器1,状态递推器2 与非线性滤波解算值开始进行双状态χ2检测过程。
步骤3、当滤波运行时间在t1至t1+T 时,开关K1打到0 处,状态递推器1 和状态递推器2 都不复位,在这个过程中,状态递推器2 与滤波结果和完成故障检测过程。
图2 子系统的故障检测结构
步骤4、当滤波运行至时间t1+T 时,开关K1打到2处,复位状态递推器2,状态递推器1 与非线性滤波解算值开始进行双状态χ2检测过程。
步骤5、当滤波运行时间在t1+T 至t1+2T 时,开关K1打到0 处,状态递推器1 和状态递推器2 都不复位,在这个过程中,状态递推器1 与滤波结果和完成故障检测过程。
步骤6、返回步骤2。
可以设计联邦系统的分配系数公式如下:
上述公式中,β1和β2分别为两个子系统的对应权重值。
Step1:初始化联邦结构主滤波器和子滤波器的状态估计值,误差协方差以及双状态χ2检测法的时间间隔。
Step2:SINS/GPS 和SINS/BD2 两个子系统分别采用容积变换规则进行非线性滤波,得到x^gps,Pgps和x^bd2,Pbd2。
Step3:进行双状态χ2故障检测过程,得到两个子系统的故障检测值qgps和qbd2。
Step4:采用权重分配算法计算两个子系统的联邦权重值β1和β2。
Step5:在主滤波器中进行数据融合,得到联邦状态估计值和误差协方差Pm,计算公式如下:
Step6:将主滤波器估计值反馈至SINS,进行输出校正。
通过上述循环,可实现SINS/GPS/BD2 组合导航系统的容错滤波过程,能够提高故障情况下的导航解算精度。
3 仿真分析
为了验证本文所提的算法,采用了导航工具箱进行数值仿真试验。导航工具箱可以生成无人机的空中飞行轨迹数据。此外,导航工具箱还有基准导航数据可用于进行对比分析。空中飞行轨迹如图3 所示,主要包括起飞,爬升、加速、转弯等一系列机动过程,总共时间为1000 秒。为了验证故障情况下的容错算法性能,在400~410 秒,人为增加GPS 的量测误差,各个方向的位置误差分别增加50m,图3~图4 为本文所提算法与CKF 算法的解算性能对比图。
图3 仿真飞行轨迹
图4 位置误差对比
从图4(b)看出,经过主滤波器融合后,滤波曲线没有很大的波动,趋于正常滤波结果,在故障消失后,二者的滤波曲线均趋于平稳,因此,采取本文所提的组合导航系统容错算法,能够减少故障对导航解算过程的影响,在一定程度上提高了导航精度。
4 结论
在无人机长航时飞行过程中,组合导航系统的可靠性是至关重要的。本文提出了一种基于容积规则的组合导航系统容错滤波算法。将双状态χ2检测法应用与联邦结构中,通过两个状态递推器交替校正进行故障检测,利用容积规则进一步提高了非线性导航系统的滤波精度,有助于提高故障检测的灵敏度;通过权重分配公式可以合理地计算两个导航子系统的联邦滤波分配系数,并在主滤波器中进行信息融合。仿真结果表明,本文所提算法能够实现了导航系统的实时故障诊断和重构过程,有效地减少了故障信息对导航解算精度的影响。