舰船科学技术  2023, Vol. 45 Issue (2): 155-158    DOI: 10.3404/j.issn.1672-7649.2023.02.027   PDF    
基于卷积神经网络的智能船舶组合导航系统故障检测算法
刘军坡, 吴兆麟, 曹玉墀, 何庆华, 郭沐壮     
大连海事大学 航海学院,辽宁 大连 116000
摘要: 子滤波器中存在的故障会影响组合导航系统的性能,甚至会污染其他子导航系统。针对现有基于残差观测器故障检测算法的检测阈值、观测器参数以及滑动窗口宽度等依赖经验,不够智能,且对软故障不敏感的问题,本文提出一种基于残差频域信息的卷积故障检测网络,通过小波变换对 ${\ \chi ^2}$ 检测的残差信号进行预处理,而后通过短时傅里叶变换获取频域故障信息特征,将其代入卷积神经网络中进行训练。实验结果表明,该算法不仅能够在数据量有限的前提下检测出渐变软故障,且更加智能化,故障检测准确率提高。
关键词: 智能船舶     组合导航系统     故障检测    
An fault detection algorithm for intelligent ship integrated navigation system
LIU Jun-po, WU Zhao-lin, CAO Yu-chi, HE Qing-hua, GUO Mu-zhuang     
School of navigation, Dalian Maritime University, Dalian 116000, China
Abstract: The faults in the sub filter will affect the overall performance of the integrated navigation system, and even pollute other sub-systems. To solve the problem that the existing fault detection algorithm based on residual observer rely on experience, such as detection threshold, observer parameters and sliding window. Moreover, it is not intelligent enough and is not sensitive to soft fault. In this paper, a convolution fault detection network based on residual frequency domain information is proposed. The detected ${\ \chi ^2}$ residual signal is processed by wavelet transform, and then the frequency domain fault information features are obtained by short-time Fourier transform, which are substituted into convolutional neural network for training. Experiment results show that the algorithm can not only detect soft faults with limited amount of data, but also be more intelligent and improve the fault accuracy.
Key words: intelligent ship     integrated navigation system     fault detection    
0 引 言

随着智能船舶技术的发展,船舶运动状态的准确输出成为其行为决策与智能控制的先决条件。单一的导航模式已经不再能够满足对传感器精度和可靠性日益提高的要求。因此,组合导航相关技术被广泛研究,成为智能船舶的主要导航模式。对于船舶组合导航系统而言,子滤波器的正常工作是组合导航系统正常工作的基础,而这依赖于故障能够及时被检测与隔离。然而由于组合导航系统常受到外界工作环境、电磁以及温度等因素影响,会产生各种从而故障导致状态估计的异常[1]

目前,针对传感器故障检测的算法研究主要分为基于模型的故障检测算法,基于信号处理的故障检测算法与基于人工智能数据知识的故障将检测算法。其中,基于模型的故障检测算法以基于残差观测器的状态 ${\chi ^2}$ 和残差 ${\chi ^2}$ 检验法最为常用。状态 ${\chi ^2}$ 检验法计算量大,依赖于先验知识,常因初值设置不当导致检测结果错误。而残差 ${\chi ^2}$ 检验相对简单,但对故障敏感程度低,对渐变故障检测结果较差[2]。其主要原理均是在Kalman滤波框架下,依据特征指标分布概率判断组合导航系统中是否存在故障。除基于模型的故障检测算法外,基于时域或频域特征提取的信号处理故障检测算法近年来也越来越受到关注,其主要原理是提取时域信号中诸如均方根、峰值、平均值以及标准差等统计特征并进行分析[3]。也有学者提出,基于小波变换等频域信息将组合导航中的状态误差估计与小波故障检测等方法结合,降低故障检测的虚警率,提升其灵敏度[4]。随着人工智能技术领域的广泛应用,基于数据知识的故障检测法由于其不依赖于数学模型以及系统先验知识的优势愈发明显,越来越得到重视[5]。该类算法主要是利用卷积神经网络对高维度、海量数据的特征提取优势,对故障特征进行挖掘和分类学习。但这种算法依赖于大量数据进行训练,现实中往往因难以搜集,而较少地被用在水面交通工具的传感器故障检测中[6]

此外,也有学者将上述基于统计知识和数据驱动的算法相结合应用在诸如轴承,齿轮等工业机械的故障检测中,但在传感器领域应用不多[7]。考虑到上述种种不足,需要研究数据量较少情况下的船舶组合导航系统鲁棒故障检测算法值得被研究[8]。为此,本文提出一种基于卷积神经网络的水面船舶组合导航系统智能故障检测算法,该算法在残差 ${\chi ^2}$ 的基础上,对输出的残差进行频域特征提取,并将提取到的特征输入到卷积神经网络中进行训练,提升了网络训练精度,同时故障检测也不再依赖于先验知识。本文首先介绍船舶组合导航系统的基本原理,阐述基于卷积神经网络优化的 ${\chi ^2}$ 导航系统智能故障检测算法,最后对算法进行半物理仿真实验证明。

1 船舶组合导航系统智能故障诊断算法 1.1 组合导航系统方程

组合导航系统中的导航误差模型对整个系统的精度和性能有重要影响。在自主水面船舶导航中,目前的运动状态测量传感器主要包括捷联惯导(Strapdpwn navigation system, SINS)、全球卫星定位系统(global navigation satellite system, GNSS)、多普勒计程仪(Doppler velocity log, DVL)和罗经(compass)。

SINS状态误差模型是组合导航系统状态方程的核心。它通常由3个陀螺仪和3个加速度计组成。在运动状态主要涉及地心惯性坐标系(i系)、地球坐标系(e系)、导航坐标系(n系)以及载体坐标系(b系)之间的变换[9]。其中,若将导航坐标系定义为ENU坐标系,则非线性捷联惯导系统误差模型可由下式给出:

$ \left\{ \begin{gathered} {{\dot \phi }^n} = {\phi ^n} \times \omega _{in}^n + \delta \omega _{in}^n - C_b^n\omega _{ib}^b - {\varepsilon ^n},\\ \delta {{\dot V}^n} = - {\phi ^n} \times {f^n} + C_b^n{f^b}+ \\ \qquad \;\;\delta {V^n} \times (2\omega _{ie}^n + \omega _{en}^e) + \\ \qquad\;\; {V^n} \times (2\delta \omega _{ie}^n + \delta \omega _{en}^e) + {\nabla ^n} ,\\ \delta {{\dot P}^n} = \delta {V^n} + \rho \times \delta {P^n}。\\ \end{gathered} \right. $ (1)

式中: ${\phi ^n}$ $\delta {V^n}$ 以及 $ \delta {P^n} $ 分别为姿态误差,速度误差以及位置误差。 $ {\varepsilon ^n} $ 以及 $ {\nabla ^n} $ 分别代表陀螺仪和加速度计中的未知噪声矢量。 $ \omega _{ab}^c{\text{ (}}a,b,c = i,e,n{\text{)}} $ 代表b坐标系相对于c坐标系在a坐标系上的投影的转动角速率[10]。而 $ \rho = {[ - \dot L,{\text{ }}\dot \lambda \cos L,{\text{ }} - \dot \lambda \sin L]^{\text{T}}} $ $L$ $\lambda $ $h$ 分别对应于纬度,经度以及高度。 $C_b^n$ $b$ 系和 $n$ 系统之间的转换矩阵。综上,连续时间非线性组合导航系统状态方程可由以下方程得到:

$ \dot x(k) = {f_c}({x_k}) + {B_c}{\omega _k}。$ (2)

式中:状态误差量 $ {x_k} = [\delta {P^{\text{T}}},\delta {V^{\text{T}}},{\phi ^{\text{T}}},{\varepsilon ^{\text{T}}},{\nabla ^{\text{T}}}] $ ,噪声 ${\omega _k} = [{\varepsilon ^{\text{T}}}, {\text{ }}{\nabla ^{\text{T}}}]$ $ {f_c} $ $ {B_c} $ 可由式(1)获得。

量测方程的建立主要依据外界传感器的观测量,通常使用如下离散时间方程来表示:

$ {z_k} = {H_k}{x_k} + {v_k} 。$ (3)

式中: ${z_k}$ 表示量测传感器与SINS间的误差, ${H_k}$ 为观测矩阵,具体由外接传感器观测的运动状态决定。 ${v_k}$ 通常表示量测噪声。

而组合导航的核心思想,是假设 ${w_k}$ ${v_k}$ 为相互独立的零均值高斯白噪声,满足 $E({w_k}) = E({v_k}) = 0$ $E[{w_k},{w_j}] = {Q_k}{\delta _{kj}}$ $E[{v_k},{v_j}] = {R_k}{\delta _{kj}}$ ${\delta _{kj}}$ 为克朗尼克 $\delta $ 函数的前提下。采用Kalman估计算法对运动状态 ${x_k}$ 进行合理估计,其估计准则为:估计值 ${\hat x_k}$ ${x_k}$ 的无偏估计,即 $E({x_k}) = E({\hat x_k})$ ${\hat x_k}$ ${x_k}$ 的最小方差估计,即 $E({x_k} - {\hat x_k}) {({x_k} - {\hat x_k})^{\text{T}}} = \min $

1.2 基于残差 ${\chi ^2}$ 的故障检测算法

考虑到基于状态 ${\ \chi ^2}$ 的故障检测算法在应用中计算量较大,且依赖于系统状态的先验统计知识,常因初值设置不当造成误检测。状态传播器的精度直接影响该方法的有效性,其普遍受到初始值和过程噪声的影响,随着时间的增长而检测精度逐渐下降,鲁棒性较差。因此,本文首先采用计算量相对较小的基于残差 ${\ \chi ^2}$ 的故障检测算法,而后对其进行特征提取,做智能优化。

基于残差的 ${\chi ^2}$ 故障检测算法主要思想是,若 $k - 1$ 步前系统没有故障,则经过Kalman递推得到的 $k - 1$ 步的估计值 ${\hat x_{k - 1}}$ 以及 $k$ 时刻的预测值 ${\hat z_{k,k - 1}}$ 应为正确值,即

$ {\hat x_{k,k - 1}} = {f_c}({\hat x_{k - 1}}) ,$ (4)

$k$ 时刻系统的观测值的预测值应为:

$ {\hat z_{k,k - 1}} = {z_k} - {\hat z_{k,k - 1}} = {z_k} - {H_k}{\hat x_{k,k - 1}} ,$ (5)

此时,若 $k$ 时刻的实际量测正确,则系统处于正常工作的状态。 ${\hat z_{k,k - 1}}$ ${z_k}$ 的差值 ${r_k}$ 理论上应满足零均值高斯白噪声分布,即

$ {r_k} = {z_k} - {\hat z_{k,k - 1}} = {z_k} - {H_k}{\hat x_{k,k - 1}} ,$ (6)

其方差理论值应为:

$ {r_k} = {H_k}({\hat x_{k,k - 1}}\hat x_{k,k - 1}^{\text{T}})H_k^{\text{T}} + ({w_k}w_k^{\text{T}}) 。$ (7)

当系统中出现故障时, $ {r_k} $ 依据Kalman滤波理论不再服从零均值高斯白噪声分布。此时,通常采用统计量 ${T_k}$ 判断系统状态如下:

$ J{N_k} = r_k^{\rm{T}}S_k^{ - 1}{r_k} 。$ (8)

当系统处于正常工况下, $J{N_k}$ 服从 $J{N_k}\sim{\chi ^2}(m)$ $m$ 为虚警率。由此可得到检测门限为 $\chi _a^2$ 的判断依据如下:

$ \begin{split} & J{N_k} \leqslant \chi _m^2{\text{(normal)}} ,\\ & J{N_k} > \chi _m^2{\text{(fault)}} 。\end{split} $ (9)

但该算法存在缺陷,仍然受到系统先验知识地制约,对于渐变故障并不敏感,容易漏检。这是因为软故障开始时较小,有故障的输出将影响一步状态预测即 ${\hat x_{k,k - 1}} = {f_c}({\hat x_{k - 1}})$ ,使其对故障信号进行跟踪,致使残差 $JN$ 始终很小,难以观测。

1.3 基于卷积神经网络优化的故障检测算法

考虑到尽管残差 ${\chi ^2}$ 检验法被广泛应用,但仍旧存在对渐变故障不敏感,且滤波过程依赖Kalman滤波的先验知识等不足。为此,考虑将残差振幅时域信号转化为频域特征,采用STFT和小波变换对其进行频域特征提取,并将频谱图输入至卷积神经网络里进行故障诊断,转换方程如下:

$ STFT(\omega ,T) = \sum\limits_{n = 0}^{N - 1} {x[n].\omega [n - T]{e^{ - j\omega n}}}。$ (10)

式中: $ \omega [n - T] $ 为窗口方程; $ \omega [n] $ 为需要被转换的信号。考虑到船舶组合导航系统在正常工作条件下传感器噪声相对稳定,残差信号相对平缓。因此,将理想情况下的周期噪声,即在可接受范围内反映SINS系统噪声和外界传感器量测噪声的残差信号视为基波。在理想噪声基础上,将故障和异常噪声形成的残差信号视作谐波,提取频域特征后进行训练。而为了避免时域信息中的极端值影响网络训练,且变换信号容易受到窗口大小的影响,在进行频域信息变换前,可通过小波变换提取残差特征,其定义为:

$ WT(s,u) = \frac{1}{{\sqrt S }}x[t]\psi \left(\frac{{t - u}}{s}\right){\rm{d}}t。$ (11)

式中: $s$ $u$ 分别为偏移以及缩放参数; $u$ 为小波位置信号。小波基函数 $\psi $ 由下式确定:

$ \psi (t) = \frac{1}{{\sqrt S }}\left(\frac{{t - u}}{s}\right) 。$ (12)

对于给定的信号,小波系数可以表示为复共轭的形式[11]。以便更好地提取出各种尺度和分辨率的频率分量。将提取到的频域信息输入至卷积神经网络中进行训练。

考虑到经STFT提取过的频域信号特征为二维,因此选用分析二维信号特征能力较强的卷积神经网络对该特征进行训练。构建多卷积核,提取出数据中的深层特征,且可以通过空间上采样,降低输入维度。经典的卷积神经网络结构主要由卷积层、池化层、损失函数以及分类器组成。为了从输入数据中最大程度提取特征信息,本文设计一种多通道尺度的特征提取模块,具体结构如下:输入层连接到8个7×7卷积层,1个2×2的最大池层,4个3×3卷积层,1个2×2最大池层,4个3×3卷积层,1个2×2最大池层,最后输出到2个全连接层中,经过训练后即可实现故障检测。

2 实验测试 2.1 实验环境

为验证算法的有效性,在实船传感器历史数据中插入故障后,对其进行故障检测。实验数据来自大连凌水湾内进行的水面无人艇历史数据。历史轨迹包括直线和转弯,上位机工作界面。实验场地长约170 m,宽约70 m。海湾受潮汐影响较小,洋流速度较慢。无人艇顶部安装了Mti-G-710、激光雷达、摄像头、4G通信天线和5.8G Wifi天线。此外,还配备了罗盘和DVL。为了更准确地模拟DVL在船舶实际航行中易受干扰的情况,插入振幅为0.5 m/s的正弦函数干扰。整个实验数据持续437 s。在101~150 s内添加0.18°/h SINS软故障,在201~230 s和301~330 s中添加1m/s的GNSS速度故障和1 m/s的DVL故障。

2.2 实验结果分析

对USV320中的SINS/GNSS系统以及SINS/GNSS/COMPASS组合导航系统进行故障检测,结果如图1图2所示。图1(a)和图2(a)中,可以发现未经小波变换提取的频域特征受到残差异常值影响,噪声较多,这不利于卷积神经网络的训练。将数据输入至堆叠的卷积层和池化层中进行特征提取分类,最后采用反向传播算法对频域信号进行有监督训练。神经网络参数设计如下:在网络中输入仿真数据和实船历史数据进行10000次预训练,根据交叉实验,batch-size设置为50;学习率为0.0001;为防止过拟合,丢包率设置为0.0005;训练目标最小均方误差设定为10−4。经小波变换后的频域特征输入至卷积神经网络训练,在模拟的仿真数据验证集中准确率由75.9%提升至99.32%。

图 1 优化算法对SINS/GNSS的故障检测结果示意图 Fig. 1 Schematic diagram of fault detection results of SINS/GNSS by optimization algorithm

图 2 优化算法对SINS/GNSS的故障检测结果示意图 Fig. 2 Schematic diagram of fault detection results of SINS/DVL/COMPASS by optimization algorithm

图1(b)可以看出,尽管当GNSS出现故障时, $JN$ 出现明显的波动。但很难仅仅依赖 $JN$ 的幅值变化确定一个阈值来判断具体哪些时刻SINS/GNSS系统出现了故障。而对于SINS软故障, $JN$ 波动并不明显,这和基于残差的故障检测算法对于软故障不敏感的理论相对应。经卷积神经网络优化后的算法优化后的结果显示,尽管在软故障开始的阶段没有检测到变化幅度较小的软故障,以及在150~200 s之间出现了少量虚警,但该算法已经能在不依赖先验经验值的情况下检测出包括软故障在内的大多数传感器故障。实验说明,该算法提升了基于残差的船舶SINS/GNSS系统故障检测性能。

在SINS/GNSS/COMPASS组合导航系统中,残差 $JN$ 在实验时间范围内多次出现局部最大值,此时若以阈值来判断故障发生与否,极易出现误检测。当SINS出现软故障时,残差 $JN$ 于100~150 s波动较SINS/GNSS系统明显,经过卷积神经网络对提取到的频域信息进行故障检测。结果可知,包括SINS软故障在内的故障大部分被检测出,尽管在150~200 s之间以及250~300 s之间存在少量虚警,但检测性能同样优于仅仅依靠残差的故障检测算法,证明了算法该类组合导航系统的有效性。

3 结 语

本文首先对传统组合导航 ${\ \chi ^2}$ 故障检测中存在的问题进行分析,其存在检测阈值依赖经验,检测过程参数依赖系统先验信息,对软故障不敏感的不足。为此,设计出一种基于频域信息特征的卷积神经网络智能故障检测优化算法。经半物理仿真验证,该算法检测结果尽管存在少量虚警,但检测效果较之前有显著提升,适用于船舶的SINS/GNSS以及SINS/DVL/COMPASS组合导航系统,可为水面船舶传感器鲁棒融合提供参考。

参考文献
[1]
范新刚, 管日升. 基于JPDA的智能船舶多源信息融合技术研究[J]. 舰船科学技术, 2018, 40(19): 114-117. DOI:10.3404/j.issn.1672-7649.2018.10.022
[2]
张浩, 肖勇, 杨朝旭, 等. 基于双状态卡方故障检测的组合导航系统[J]. 航空学报, 2020, 41(S2): 53-60. DOI:10.7527/S1000-6893.2020.24271
[3]
单彪, 堵俊, 商亮亮. 基于改进PCA空调系统传感器故障检测与诊断[J]. 控制工程, 2020, 27(04): 765-770. DOI:10.14107/j.cnki.kzgc.170900
[4]
安邦, 潘宏侠, 赵雄鹏, 等. 应用多参数融合与ELM的自动机故障诊断[J]. 机械设计与制造, 2017(09): 141-144. DOI:10.3969/j.issn.1001-3997.2017.09.037
[5]
王雯, 王日俊, 张健, 等. 基于神经网络观测器的飞行器传感器故障检测[J]. 控制工程, 2022, 29(01): 39-45.
[6]
孙权, 于翔海, 李宏胜, 等. 基于二维卷积神经网络的BLDCM驱动系统故障检测方法[J]. 电源学报, 2022, 20(01): 180-187. DOI:10.13234/j.issn.2095-2805.2022.1.180
[7]
吴昀璞, 金炜东, 黄颖坤. 基于多域融合CNN的高速列车转向架故障检测[J]. 系统仿真学报, 2018, 30(11): 4492-4497. DOI:10.16182/j.issn1004731x.joss.201811053
[8]
闫帅领, 郑静静, 刘光展. 船舶组合导航系统故障识别的神经网络方法[J]. 舰船科学技术, 2017, 39(22): 106-108.
[9]
赵方, 吴凡. GNSS/INS自适应智能组合导航算法综述[J]. 北京邮电大学学报, 2022, 1-7.
[10]
庞玺斌, 梁成程, 张闯. 一种船舶组合导航系统混合误差模型及应用[J]. 船海工程, 2020, 49(05): 127-132. DOI:10.3963/j.issn.1671-7953.2020.05.030
[11]
贾子威, 朱历平, 杨明超. 基于改进CNN的起重机械滚动轴承故障诊断[J]. 内燃机与配件, 2021(05): 131-133. DOI:10.3969/j.issn.1674-957X.2021.05.061