由于惯性器件误差的存在,惯性导航系统误差会随着时间迅速累积,因此惯导不能单独用于舰艇的长时间导航与定位。全球卫星定位系统能够提供较精确的当地位置信息,且不会随着时间发散,但是存在输出频率较低,容易受到干扰的缺点,所以常把全球卫星定位系统和惯导系统组合起来用于载体的导航与定位[1-2]。
当前舰艇上的航向传感器主要包括:平台罗经、天文导航系统、惯性导航系统以及卫星导航系统。它们均有各自的缺点,比如平台罗经和惯导航向误差会随着时间的积累而增大;天文导航系统容易受到天气环境的影响,在可见度低的条件下难以正常工作[3],卫导系统在静止和大机动条件下航向指示误差大。因此这些航向传感器也不适合单独使用。
为了提高导航系统的可靠性和航向测量的精度,本文在惯导/卫导组合导航系统中加入了平台罗经和天文导航系统,并通过基于传感器输出误差协方差的权值分配方法实现航向信息的融合,从而更加准确地测量得到舰艇的航向信息。
图1为该组合导航系统的原理图。除了包含航向传感器和导航系统外,该结构还包含优化航向信息融合和故障容错卡尔曼滤波器2个模块。本文主要对这2个系统作特别的说明,并且通过船舶航行试验验证设计方案的可行性。
本文通过权值法对多个位置传感器的数据进行融合:
${k_O}{\rm{ = }}{ W}MK = \left[ {{w_g},{w_c},{w_e}} \right]\left[ {diag{m_g},{m_c},{m_e}} \right]\left[ {{k_g},{k_c},{k_e}} \right] \text{。}$ | (1) |
式中:W为权值矩阵,其中
权值的分配基于误差协方差,以电罗经输出的航向最优信息为例,其权重为:
${w_e} = \frac{{{m_e}}}{{\sigma _e^2({m_e}/\sigma _e^2 + {m_c}/\sigma _c^2 + {m_g}/\sigma _g^2)}}\text{。}$ | (2) |
式中:
在k时刻,如果电罗经输出的航向信息为
$\left\{ \begin{array}{l} \Delta {{\tilde k}_e}(k) = {{\tilde k}_e}(k) - {{\hat k}_e}(k); \\ \Delta {{\bar k}_e} = \frac{1}{N}\sum\limits_{k = 1}^N {\Delta {{\tilde k}_e}(k),{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} k = 1,2,...,N}; \\ {\sigma _e}(k) = \frac{1}{N}\sum\limits_{k = 1}^N {(\Delta {{\tilde k}_e}(k) - \Delta {{\bar k}_e})} \text{。} \\ \end{array} \right.$ | (3) |
式中,
按照以下方式得到航向融合解:
${k_o} = {w_e}{m_e}{k_e} + {w_c}{m_c}{k_c} + {w_g}{m_g}{k_g}\text{。}$ | (3) |
图2为故障容错卡尔曼滤波器的原理框图。其中滤波器O为标准SINS/GNSS组合导航系统,采用文献[4]的状态方程与观测方程,状态变量为
其中
卡尔曼滤波器G的离散化状态方程为:
${X_{g,k}} = {F_{g,k}}{X_{g,k - 1}} + {w_{g,k}},$ | (5) |
${F_{g,k}} = \left[ {\begin{array}{*{20}{c}} {{I_3}}&{\hat C_b^n{\tau _s}} \\ {{0}}&{{I_3}} \end{array}} \right], $ | (6) |
其中:
观测量为:
${Y_g} = {k_s} - {k_g},$ | (7) |
式中,
观测方程为:
${Y_{g,k}} = {H_{g,k}}{X_{g,k}} + {\upsilon _{g,k}},$ | (8) |
${H_{g,k}} = \left[ {\begin{array}{*{20}{c}} {{I_3}}&{{0_3}} \end{array}} \right]{\text{。}}$ | (9) |
其中,
卡尔曼滤波器C以及卡尔曼滤波器E与卡尔曼滤波G具有完全相同的结构,状态矩阵也一样,观测量分别为CNS、电罗经与SINS的航向差。
2.2 状态传播状态传播器只对状态进行预测,不进行量测更新,所以不受故障观测值的影响,因此状态传播器的预测结果可作为子滤波器的参考信号,用于检测观测数据中的故障数据。状态传播器的状态传播方程为:
$\left\{ \begin{array}{l} {{\hat X}_{i,k|k - 1}} = {F_{i,k}}{X_{i,k - 1|k - 1}} \\ {P_{i,k|k - 1}} = {F_{i,k}}{P_{i,k - 1|k - 1}}{F_{i,k}}^{\rm{T}} + {Q_{i,k}} \end{array} \right.,{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} i = 1,2,\cdots \text{,}$ | (10) |
$ {F_{i,k}} = {F_{g,k}}{\text{。}} $ | (11) |
其中,下标i为第i个状态传播器。为了避免状态传播器发散,每隔一段时间利用主滤波器的信息交替对状态传播器进行校准。
2.3 故障检测检验信号和参考信号之间一致性的卡方检验被广泛使用于随机动态系统中的故障检测。通过使用不同的方式来计算检验统计量,卡方检验可以分为3类[5-7]:1)使用滤波器残差的残差卡方检验,尽管该方法可以容易地检测传感器中的故障,但几乎不可能检测到渐变的故障;2)通过使用具有一个状态传播器的状态向量卡方检验,该方法可以检测到渐变故障,但信号的幅度随着运行时间增加最终发散;3)通过使用具有2个状态传播器的状态向量卡方检验,该方法可以通过在一段时间间隔后根据卡尔曼滤波器的输出交替地重置2个状态传播器,从而避免发散。但是,状态传播器的数量是滤波器数量的2倍,这可能严重影响计算速度。
本文采用文献[7]的基于残差
为了得到状态
$\left\{ \begin{array}{l} {e_{i,k}} = {X_k} - {{\hat X}_{i,k}}, \\ {e_{i,g}} = {X_k} - {{\hat X}_{g,k}}, \end{array} \right.$ | (12) |
其中:
本文采用下述变量作为卡尔曼滤波器G的故障检测的检测统计量:
${\beta _{g,k}} = {e_{i,k}} - {e_{i,g}} = {\hat X_{g,k}} - {\hat X_{i,k}},$ | (13) |
该变量的协方差为:
$\begin{split} {T_{g,k}} \!=\!& E\left\{ {{\beta _{g,k}}\beta _{g,k}^{\rm T}} \right\} \!=\! E\left\{ {e_{g,k}}e_{g,k}^{\rm T} - {e_{g,k}}e_{i,k}^{\rm T} - {e_{i,k}}e_{g,k}^{\rm T} \!+\! \right. \\ &\left. {e_{i,k}}e_{i,k}^{\rm T} \right\} = \;\;{P_{g,k}} - {P_{gi,k}} - {P_{ig,k}} + {P_{i,k}} , \end{split} $ | (14) |
其中,
假定卡尔曼滤波器G与状态传播器i的初始状态相同,可以得到
${T_{g,k}} = {P_{g,k}} - {P_{i,k}},$ | (15) |
所以状态
${\lambda _{g,k}} = \beta _{g,k}^TT_{g,k}^{ - 1}{\beta _{g,k}},$ | (16) |
检测统计量
$\left\{ \begin{array}{l} {\lambda _{g,k}} > {\varepsilon _\beta },{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\rm fault}; \\ {\lambda _{g,k}} < {\varepsilon _\beta },{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\rm no}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\rm fault} \text{。} \end{array} \right.$ | (17) |
其中阈值
同理,对于卡尔曼滤波器G定义残差
${d_{g,k}} = \Delta {k_{g,k}} - \Delta {\hat k_{i,k}},$ | (18) |
残差协方差为:
${S_{g,k}} = {H_{g,k}}{P_{g,k}}H_{g,k}^{\rm T} + {R_{g,k}},$ | (19) |
所以残差
${\gamma _{g,k}} = d_{g,k}^{\rm T}S_{g,k}^{ - 1}{d_{g,k}},$ | (20) |
如果状态
为了验证设计方案的可行性,本文以高精度天文导航系统的航向为参考基准,在船上做了验证试验。试验采集了几个设备3 h左右的输出数据,试验结果如下:
1)无故障检测的融合
采用无故障检测融合算法计算出的航向如图3所示。与卫导输出的航向相比,航向值的波动幅度明显减小,从原来的
滤波器G,E,C的残差及状态卡方检测统计量分别如图4和图5所示。从图4可以看出,滤波器G在船静止状态下的残差卡方检测统计量大多数都很大,而在运动状态下的数值较小,这说明卫导在静止条件下得到的航向不可用,动态性能较好,但也存在一些跳跃点。而滤波器E,C的故障检测统计量在整个航行过程中的数值都较小,只存在几个数值较大的点,这说明电罗经与天导系统输出的航向比较稳定,只含有一些幅值较大的故障信息。从图5可以看出,卫导航向数据中含有缓变干扰,而电罗经和天导航向不含有缓变干扰。
2)含有故障检测与隔离的融合算法
使用含有故障检测与隔离的融合算法,选取误警率为1%,则
对比图3和图6,可以看出,经过故障检测与隔离算法后,融合得到的航向信息更加平滑,野值点得到抑制。从图7可以看出,加入故障检测与隔离后,融合出的航向,其相对误差明显减小,从原来的
本文提出了一种适用于舰艇的基于最优信息融合与容错卡尔曼滤波器的多航向传感器信息融合算法,该方法利用了基于协方差的权值分配方法以及状态卡方与残差卡方并行的故障检测策略,能够同时检测到突变故障与缓变故障,为了防止状态传播器的发散,本文还引入了双状态传播器,进一步提高了系统的可靠性,然后利用故障检测结果对故障传感器进行自动隔离和权值的重新分配,最后通过实际试验验证方案的可行性。试验结果表明,本文提出的航向融合算法能够明显的提高系统的可靠性以及航向精度,为工程实践提供参考。
[1] |
SHANKAR R. Fusion of onboard sensors for better navigation[J]. Defence Science Journal, 2013, 63(2): 145-152. DOI:10.14429/dsj |
[2] |
MOHINDER S GREWAL, LAWRENCE R WEILL, ANGUS P ANDREWS. Global positioning systems, inertial navigation, and integration[M].John Wiley & Sons, 2007.
|
[3] |
QUAN Wei, LI Jian-li, GONG Xiao-lin, et al. INS/CNS/GNSS integrated navigation technology[M].Springer, 2015.
|
[4] |
PAUL D. G, ebrary Inc. Principles of GNSS, inertial, and multisensor integrated navigation systems, in GNSS technology and applications series Boston: Artech House,, 2008, pp. xvi, 518 p. ill.
|
[5] |
JOERGER M, PERVAN B. Fault detection and exclusion using solution separation and chi-squared ARAIM[J]. IEEE Transactions on Aerospace and Electronic Systems, 2016, 52(2): 726-742. DOI:10.1109/TAES.2015.140589 |
[6] |
MATHIEU JOERGER, BORIS PERVAN. Kalman filter-based integrity monitoring against sensor faults[J]. Journal of Guidance Control & Dynamics, 2013, 36(2): 349-361. |
[7] |
KE Ke Geng, CHULIN N. A. CHULIN. Applications of multi-height sensors data fusion and fault-tolerant Kalman filter in integrated navigation system of UAV[J]. Procedia Computer Science, 2017, 103: 231-238. DOI:10.1016/j.procs.2017.01.090 |
[8] |
杨春, 张磊, 郭健, 等. 采用双状态传播卡方检验和模糊自适应滤波的容错组合导航算法[J]. 控制理论与应用, 2016(4): 500-511. |