(武汉大学卫星导航定位技术研究中心,武汉 430079)
在嵌入式组合导航系统中,传感器短时间的故障对系统稳定性有很大影响.自适应卡尔曼滤波可在全球卫星导航系统(GNSS)定位精度突变的情况下保证定位的精度[1].而该算法是在假定只有GNSS 粗差的情况下使用的.GNSS/惯性导航系统(INS)组合导航中,传统的χ2检验可以判断出系统是否存在故障,不过其不能区分出故障所在的传感器[2].基于神经网络的χ2检验方法和利用粒子滤波的故障检测方法可辨别出故障传感器[3-4].由于其计算开销较大,并不适用于嵌入式导航系统.
在所有故障中,GNSS 故障对组合导航的性能影响最为显著,且该故障可分为软故障和硬故障[5-6].当GNSS 整体的可观测性较差时,检测灵敏度较低的残差卡方检验将在GNSS 软故障下偏离真实值[7].任旭阳[8]提出基于贯序概率比检验法(SPRT)的故障检测算法对软故障的检出具有较好的效果,但该算法并不能对故障进行及时地隔离及纠正处理.张浩等[9]提出的双状态卡方故障检测系统对具有高精度惯性测量单元(IMU)系统的GNSS 软故障具有较好的效果,该方法并不适用于低成本IMU 组合导航系统,并且双状态同时面临着INS、里程计(ODO)等故障污染的风险.
隧道、林荫道等复杂环境下,实时动态(RTK)定位结果无法长时间保持在固定解,因此本文针对这一问题实现了基于多GNSS 状态的INS/GNSS/ODO抗差组合导航算法,提高了系统对GNSS 状态的容错性.同时,在此基础上提出了一种两级故障检测方法,提高了系统对各传感器故障的容错性.其中,第一级检测使用了基于解析冗余[10]的残差卡方检验法,可检验出ODO、INS 和部分GNSS 故障,并保证了第二级检验的状态传播过程不受污染.第二级检测使用了改进的双状态传播卡方检验算法,可用于进一步检出GNSS 软故障.
INS/GNSS/ODO 松组合导航系统选取十六维向量作为系统状态向量,
式中:δr为位置误差;δv为速度误差;ψ为姿态误差;bg为陀螺仪零偏;ba为加速度计零偏;δk为里程计标度因子误差.
系统状态方程可表示为
式中:F(t)为状态转移矩阵;G(t)为系统噪声驱动矩阵;w(t)为系统噪声.该系统是以GNSS、ODO 辅助INS 的形式运行的.
在式(2)中,状态转移矩阵推导自INS 的误差方程,常用的有ψ 角误差模型[11]:
式中:f为加速度计输出的比力;δg为重力误差;投影坐标系b系为载体坐标系;投影坐标系c系为计算坐标系;p系为平台坐标系;ψ 为c系到p系间的误差角.
根据机械编排误差模型和MEMS 的一阶马尔可夫模型可得到离散的状态转移矩阵,如式(6)~(8)所示[18]:
式中:RM为子午圈曲率半径;RN为酉卯圈曲率半径;g为当地重力;h为地理高度;∆t为时间更新的时间间隔;ϕk/k−1为离散形式的状态转移矩阵;i系为地心赤道惯性系;e系为地心地固系;n系为导航系.
当林荫道、隧道等复杂场景下,GNSS 信号容易受到影响,RTK 解在固定解、浮点解、抗差解和无有效解四种状态下变化.GNSS 量测不确定协方差矩阵
式中:Ξ()函数将向量变换为对角矩阵,同时非对角线上元素全为0 的方阵;σ2为具体GNSS 状态下的通过参数估计法获取的三轴上协方差向量.
由于R1的不连续性,在R1从低定位精度解状态变为低定位精度解状态时,系统状态量可靠性不高,系统检出量测粗差或故障的能力差.同时GNSS 量测中存在较多的粗差,故可根据式(23)~(32)所表示的抗差滤波算法对组合时的量测不确定性进行调整[13].
式中:Qk为系统状态动态变化中噪声的协方差矩阵;Ση为任意参量η的协方差矩阵;为预测残差,又称为新息[14];为量测不确定协防差矩阵R1,k的参数估计值;N 表示参数估计的窗口大小;βk为抗差因子;在贯序卡尔曼滤波中,下标1 特指GNSS的量测更新过程.
由于模型中错误地判断GNSS 固定解将对系统的稳定性造成的影响极大,在滤波前可使用GNSS 位置精度因子(PDOP)对可疑值进行剔除.
式中:pdop为测得的PDOP 值;CBAD为给定的阈值常量.
抗差滤波算法可以降低GNSS 粗差的影响,但是在假定其仅有GNSS 异常下进行的,当ODO 异常或机械编排结果异常时,抗差滤波反而会降低组合结果的精度.同时当GNSS 在一段时间内出现偏差时,抗差的效果并不如故障检出后将GNSS 屏蔽的效果好.
χ2故障检测是一种通过判断n维高斯分布的随机向量的均值是否与假设一致来判断系统是否故障的方法.根据随机向量选取的不同,可分为基于状态向量的χ2故障检测和基于残差的χ2
根据式(25)和式(29),可构造评价函数
如图1 所示,双状态传播χ2故障检测器由双状态传播器和卡方检验器组成.其中双状态传播器又由两个相互独立的状态传播器及其控制开关组成,状态传播过程是从标准卡尔曼滤波中独立出来的.
图1 双状态传播卡方故障检测器
传统的双状态传播χ2故障检测法一般用于具有高性能IMU 的系统中.由于消费级MEMS 的精度较差,状态传播的误差呈指数增长,导致故障检出率比传统的残差χ2故障检测法差.针对这一问题,如图2所示,本文在状态传播器后增加了ODO 量测更新单元,使状态递推的误差在一定时间内呈线性增长趋势.
图2 改进的双状态传播器