ANFIS-based Measurement Information Anomaly Detection Method for Multi-AUV Cooperative Localization System
-
摘要: 针对异常水声测距信息对多自主水下航行器(Autonomous underwater vehicles, AUV)协同定位系统的不利影响, 以及传统故障检测方法在多水声测距信息交替混淆的情况下检测效率低的问题, 提出一种基于自适应神经模糊推理系统(Adaptive neuro-fuzzy inference system, ANFIS)的量测异常检测方法. 首先, 分别建立与各水声测距系统相对应的ANFIS模型; 然后, 基于自适应容积卡尔曼滤波(Adaptive cubature Kalman filter, ACKF)和马氏距离构造反映量测异常的特征信息作为ANFIS的输入; 其次, 基于预定义的量测异常信息建立了初始混合数据库以训练ANFIS模型实现对量测异常的在线实时检测与隔离; 最后, 利用湖水实验数据进行了AUV协同定位仿真验证. 实验结果表明该方法可以准确识别异常水声测距信息, 与传统故障检测方法相比, 误报率(False positive rate, FPR)与漏检率(False negative rate, FNR)均减少70%以上.
-
关键词:
- 自主水下航行器 /
- 协同定位 /
- 自适应神经模糊推理系统 /
- 水声测距 /
- 量测异常
Abstract: In this paper, a measurement anomaly detection method based on adaptive neuro-fuzzy inference system (ANFIS) is proposed to address the problem that abnormal underwater acoustic ranging information has adverse effects on the multi autonomous underwater vehicles (AUV) cooperative localization system and the traditional fault detection methods have low detection efficiency when the multi acoustic ranging information is alternately confused. Firstly, the ANFIS model corresponding to each underwater acoustic ranging system is established. Secondly, the characteristic information reflecting the measurement anomaly, which is based on adaptive cubature Kalman filter (ACKF) and Mahalanobis distance, is used as the input of ANFIS. Then we established an initial hybrid database of pre-defined abnormal measurement information to train ANFIS model to realize online real-time detection and isolation of measurement anomalies. Finally, the lake test data are used to verify the AUV cooperative localization simulation. The experimental results show that this method can accurately identify the abnormal situation of measurement information, as the false positive rate (FPR) and the false negative rate (FNR) are reduced by more than 70% compared with the traditional fault detection method. -
自主水下航行器(Autonomous underwater vehicles, AUV)是探索和开发海洋资源的重要工具, 具有工作范围广、自主性高等优点. 但随着人类海洋勘探活动的日益深入, 单体AUV面对大尺度、高效性的任务需求时显得身单力薄. 多AUV协作系统相对于单体AUV可以在空间上广泛分布, 工作效率也更为突出[1-2]. 多AUV协同定位方法为实现多AUV协作系统大区域水下作业提供了技术保障, 适用于军事和民用领域的水下作业任务, 近年来已经得到了相关学者的深入研究[3-5]. AUV协作系统工作于复杂的水下环境, 在保证定位精度的同时, 安全性和可靠性也是一个重要的研究方向. AUV由于其无人操控状态, 以及水下通信不稳定因素的影响给协作与定位的实现带来了很大的挑战. 在执行长航行任务时, 将不可避免发生各种各样的故障(如执行器故障、传感器故障), 其中水声通信/测距设备由于水下环境多变以及水声通信技术的不稳定性, 在所有装备器件中更易出现通信数据错误、通信应答无效、通信消失等传感器数据异常情况, 而在这种情况下仅通过硬件设备或计算机是无法识别异常数据的. 水声通信设备故障导致的多AUV协同定位系统量测数据异常将会严重浸染系统的定位性能, 甚至会导致整个AUV编队偏离预定轨迹区域、相互碰撞、无法回收等问题出现, 造成严重的经济损失和数据损失. 因此, 故障诊断是AUV确保定位精度和安全的关键技术[6]. 研究水下协同定位量测异常检测技术对提高多AUV协作系统的安全性、促进实用化进程具有重要意义和实用价值.
在多AUV协同定位系统的实际应用中, 量测异常情况大致可分为三类: 1) 声学通信/测距系统故障或存在障碍物导致各航行器之间无水声通信数据; 2) 由水下环境的特殊性(例如带宽限制、噪声特性复杂等因素)导致测距信息出现野值、测距漂移等量测数据异常; 3) 声学系统问答响应机制故障导致测距信息不更新. 以上三类量测异常中, 第1类无水声通信的情况, 利用电子元器件是否收到数据的标志位进行检测就可以准确判断. 而其余两类量测异常情况, 声呐之间能够接收和发送信息, 但元器件无法识别信息的准确性, 通常只能通过卡尔曼滤波状态、残差检测等系统级方法来进行检测. 然而, 在发生测距误差漂移或测距信息不更新的情况下, 初始阶段量测误差幅值较小, 这种缓变量测误差在发生之初, 被准确检测的难度较大. 多数鲁棒滤波算法面对这种缓变量测误差时都无法有效抑制状态估计误差的发散[7], 例如基于Huber估计的非线性卡尔曼滤波算法[8-9]、基于学生t分布的滤波算法[10-13]、基于最大熵准则的鲁棒滤波算法[14-16]等. 这些滤波算法均可以在水声距离信息存在野值噪声的情况下, 有效提高协同定位精度, 但当面对缓变量测误差时, 状态估计精度将无法得到保证.
为有效处理异常水声测距对AUV协同定位系统的影响, 保障AUV编队航行安全, 需要系统具备及时有效的传感器异常检测能力. 协同定位系统量测异常检测是指利用故障检测技术将错误测距信息检测并且隔离的过程. 传感器异常检测技术在各个领域的研究成果斐然, 文献[17]基于扩展交互多模型自适应估计方法, 设计了一系列自适应卡尔曼滤波算法对AUV协同定位中的传感器故障进行检测, 并讨论了传感器的故障类型, 对传感器输出信息不变、输出信息突变以及信息振荡三种故障类型分别进行了实验验证. 文献[18]研究了一种鲁棒容错联邦滤波器, 采用简化状态卡方检验进行故障检测, 并利用联邦滤波器的灵活性和容错能力, 对局部滤波器中的故障信息进行修正和恢复, 该方法可以有效降低故障信息对滤波精度的影响. 但上述文献所提出的方法应用到交替领航的多AUV协同定位系统时, 仅适用于解决所有声学通信/测距系统同时发生故障的情形. 在实际的水下多AUV协同定位应用中, 由于跟随AUV通常与两到三个领航AUV进行交替通信/测距, 跟随AUV上的声学设备很可能与其中一艘领航AUV上的声学设备通信异常, 与其他领航AUV上的声学设备通信正常. 而当跟随AUV交替接收错误和准确声学测距数据作为滤波的量测信息时, 错误量测信息的出现能够导致当前时刻状态估计误差增加, 并且此误差也会影响到下一时刻准确量测信息进入时的滤波估计精度, 进而导致仅基于滤波算法的故障检测方案无法准确识别具体的故障水声通信系统.
近年来, 人工智能神经网络技术在故障诊断领域的研究成果斐然. 其具有适应性强、不受模型约束、学习能力强等优点[19-20], 建立基于神经网络的故障诊断专家系统可有效处理目前大多故障检测方法面对缓变软故障检测不灵敏、延迟性较大、难以判断故障器件等问题. 文献[21]针对传统${\chi ^2}$检测方法对缓变故障检测效率不高的问题, 提出了一种基于反向传播(Back propagation, BP)神经网络建立子预测器、辅助残差${\chi ^2}$检测法进行故障检测的方法, 所提方法可以有效识别缓变故障、降低漏警率. BP神经网络采用负梯度下降法来调节权值, 这种方法收敛速度较慢. 文献[22]提出了一种基于自适应神经模糊推理系统(Adaptive neuro-fuzzy inference system, ANFIS)的机载导航传感器故障检测方法, ANFIS是将模糊逻辑与人工神经网络相结合的一种混合人工智能技术, 具有非常高效的处理非线性问题的能力. 该算法基于建模的故障, 将在线数据训练机制与基于ANFIS的决策系统相结合, 可快速、准确地识别传感器故障, 但实验部分只验证了所提方法在全球定位系统(Global positioning system, GPS)信号拒止情况下的故障识别功能, 未对其他故障类型进行讨论.
为了提高多AUV协同定位系统在水下环境的可靠性和准确性, 本文提出了一种基于ANFIS的协同定位系统量测异常检测方法. 首先, 根据领航AUV数量分别建立与之对应的ANFIS模型, 并通过自适应容积卡尔曼滤波(Adaptive cubature Kalman filter, ACKF)、马氏距离以及预定义的异常判别阈值, 得到初始混合数据库作为 “样本数据” 对ANFIS模型进行训练; 其次, 利用得到的ANFIS规则及归一化处理后的特征信息实现异常量测数据的在线检测, 并利用ANFIS的检测输出结果对异常时刻的量测信息进行隔离, 设置伯努利分布的标志位对滤波方程进行更改, 使量测异常时刻仅通过滤波的时间更新进行AUV的位置估计. 所提方法通过湖水实验数据进行了验证, 并与另外两种现存的故障检测算法进行比较. 实验结果表明该方法能够准确识别量测异常信息, 有效降低异常信息对协同定位精度的影响.
1. 多AUV协同定位系统描述
对AUV的位置进行准确估计是实现多AUV协作系统的重要条件, 基于状态空间模型的卡尔曼滤波算法作为水下协同定位的基本技术手段之一, 可实现统计意义上的状态最优估计. 考虑协同定位的非线性系统模型及滤波算法的运算复杂度, 本节对基于容积卡尔曼滤波(Cubature Kalman filter, CKF)的协同定位实现过程进行了详细描述.
1.1 协同定位系统模型
水下航行器的深度信息可以通过压力传感器获得, 水平位置的计算并不受深度信息的影响. 因此, AUV的三维定位问题可以简化为二维讨论[23]. 定义AUV在$k$时刻的位置向量为${\boldsymbol{X}}_k^{} = {[\lambda _k^{},L_k^{}]^{\rm{T}}}$. 为方便计算, 将AUV的位置状态换算为弧度(rad)单位, 则状态方程可建立如下:
$$\left\{ \begin{split} &L_k^{}=L_{k{\rm{ - }}1}^{}+\Delta t\frac{{{v_k}\cos \theta _k^{} - {\omega _k}\sin \theta _k^{}}}{{{R_{M,k}} + {h_k}}} + {w_{L,k - 1}} \\ & \lambda _k^{}=\lambda _{k{\rm{ - }}1}^{}+\Delta t\frac{{{v_k}\sin \theta _k^{} + {\omega _k}\cos \theta _k^{}}}{{\left( {{R_{N,k}} + {h_k}} \right)\cos L_k^{}}} + {w_{\lambda ,k - 1}} \end{split} \right.$$ (1) 式中, $\Delta t$为采样时间; ${\lambda _k}$, ${L_k}$分别为经度和纬度位置坐标, 单位为rad; ${v_k}$, ${\omega _k}$分别为前向和横向速度, 单位为m/s; ${\theta _k}$为航向, 单位为rad; ${h_k}$为深度信息, 单位为m; 如此便可得到$({v_k}\cos \theta _k^{} - {\omega _k}\sin \theta _k^{})/ ({{{R_{M,k}} + {h_k}}})$和$({{{v_k}\sin \theta _k^{} + {\omega _k}\cos \theta _k^{}}})/(\left( {{R_{N,k}} + {h_k}} \right)\times \cos L_k^{})$ 分别为纬度和经度方向的航行速度, 单位为rad/s; ${{\boldsymbol{w}}_k} = {[{w_{L,k}},{w_{\lambda ,k}}]^{\rm{T}}}$为过程噪声向量; ${R_{M,k}}$和${R_{N,k}}$分别为子午线和卯酉线的曲率半径, 定义为
$$\left\{ \begin{aligned} &R_{M,k}^{} = {{R_e}}\left( {1 - 2{{e}} + 3{{e}} \times {{\sin }^2}{L_k}} \right) \\ &{R_{N,k}} = {{R_e}}(1 + {{e}} \times {\sin ^2}{L_k}) \end{aligned} \right.$$ (2) 式中, ${{R_e = 6\,378\,137\;{\rm{m}}}}$, ${{e = 1/298}}{\rm{.257}}$.
领航−跟随AUV之间的相对距离为
$${r_k} = \sqrt {{{({b_k}{L_k} - b_k^mL_k^m)}^2} + {{({a_k}{\lambda _k} - a_k^m\lambda _k^m)}^2} + {{({h_k} - h_k^m)}^2}} $$ (3) 式中, $\lambda _k^m$和$L_k^m$分别为领航AUV的经度和纬度位置; $h_k^m$为领航AUV的深度; ${a_k}$, ${b_k}$, $a_k^m$和$b_k^m$定义为
$$\begin{split} &{a}_{k}=({R}_{N, k}+{h}_{k})\mathrm{cos}{L}_{k}\\ &{b}_{k}={R}_{M, k}+{h}_{k}\\ &a_k^m = ({R_e} (1 + {{e}} \times {\sin ^2}L_k^m) + h_k^m)\cos L_k^m\\ &b_k^m = {R_e} (1 - 2{{e}} + 3{{e}} \times {\sin ^2}L_k^m) + h_k^m\end{split}$$ 二维距离量测为
$$\begin{split} {{\boldsymbol{Z}}_k} =\;& \sqrt {r_k^2 - {{({h_k} - h_k^m)}^2}}= \\ & \sqrt {{{({b_k}{L_k} - b_k^mL_k^m)}^2} + {{({a_k}{\lambda _k} - a_k^m\lambda _k^m)}^2}} + {{\boldsymbol{\delta }}_k} \end{split} $$ (4) 建立状态空间系统模型为
$$\left\{ \begin{aligned} &{{\boldsymbol{X}}_k} = {\boldsymbol{f}}({{\boldsymbol{X}}_{k - 1}},{v_k},{\omega_k},{\theta _k}) + {{\boldsymbol{w}}_{k - 1}} \\ &{{\boldsymbol{Z}}_k} = {\boldsymbol{h}}({\boldsymbol{X}}_k^m,{{\boldsymbol{X}}_k}) + {{\boldsymbol{\delta }}_k} \end{aligned} \right.$$ (5) 式中, 过程噪声${{\boldsymbol{w}}_{k{\rm{ - }}1}}\sim {\rm{N}}\left( {0,{{\boldsymbol{Q}}_{k - 1}}} \right)$和量测噪声${{\boldsymbol{\delta }}_k}\sim {\rm{N}}\left( {0,{{\boldsymbol{R}}_k}} \right)$均建模为Gauss噪声; ${{\boldsymbol{Q}}_{k - 1}}$为过程噪声协方差矩阵, ${{\boldsymbol{R}}_k}$为量测噪声协方差矩阵; ${\boldsymbol{f}}({\boldsymbol{X}}_{k{\rm{ - }}1}^{}, {v_k},{\omega _k},{\theta _k})$和${\boldsymbol{h}}({\boldsymbol{X}}_k^m,{\boldsymbol{X}}_k^{})$分别为状态转移函数和量测函数, 定义为
$$\begin{split} &{\boldsymbol{f}}({\boldsymbol{X}}_{k{\rm{ - }}1}^{},{v_k},{\omega _k},{\theta _k})=\\ &\qquad\qquad\left[ \begin{array}{l} L_{k{\rm{ - }}1}^{}+\Delta t\dfrac{{{v_k}\cos \theta _k^{} - {\omega _k}\sin \theta _k^{}}}{{{R_{M,k}} + {h_k}}} \\ \lambda _{k{\rm{ - }}1}^{}+\Delta t\dfrac{{{v_k}\sin \theta _k^{} + {\omega _k}\cos \theta _k^{}}}{{\left( {{R_{N,k}} + {h_k}} \right)\cos L_k^{}}} \end{array} \right] \end{split}$$ $${\boldsymbol{h}}({\boldsymbol{X}}_k^m,{\boldsymbol{X}}_k^{})=\sqrt {{{(b_k^{}L_k^{} - b_k^mL_k^m)}^2} + {{(a_k^{}\lambda _k^{} - a_k^m\lambda _k^m)}^2}} $$ 1.2 容积卡尔曼滤波
CKF算法可以准确地得到跟随AUV的位置状态和状态误差协方差矩阵[24-25]. 给定初始状态和初始误差协方差矩阵分别为
$$\left\{ \begin{aligned} &{{{\hat{\boldsymbol X}}}_{0|0}} = {\rm{E}}[{{\boldsymbol{X}}_0}] \\ &{{\boldsymbol{P}}_{0|0}} = {\rm{E}}[({{\boldsymbol{X}}_0} - {{{\hat{\boldsymbol X}}}_{0|0}}){({{\boldsymbol{X}}_0} - {{{\hat{\boldsymbol X}}}_{0|0}})^{\rm{T}}}] \end{aligned} \right.$$ (6) 式中, ${{\boldsymbol{X}}_0}$为通过GPS得到的跟随AUV初始位置坐标; 初始误差协方差矩阵${{\boldsymbol{P}}_{0|0}}$根据GPS定位精度结合经验进行设置.
1)时间更新
利用Cholesky分解误差协方差为
$${{\boldsymbol{P}}_{k - 1\left| {k - 1} \right.}}={{\boldsymbol{S}}_{k - 1\left| {k - 1} \right.}}{\boldsymbol{S}}_{k - 1\left| {k - 1} \right.}^{\rm{T}}$$ (7) 计算Cubature点为
$$ {{\boldsymbol{X}}_{i,k - 1\left| {k - 1} \right.}} = {{\boldsymbol{S}}_{k - 1\left| {k - 1} \right.}}{\xi _i}+{{\hat{\boldsymbol X}}_{k - 1\left| {k - 1} \right.}},i = 1, \cdots ,2n $$ (8) 式中, ${\xi _i} = \sqrt n {\left[ 1 \right]_i}$, ${\left[ 1 \right]_i}$表示$n$维单位矩阵${\boldsymbol{I}}$的第$i$列向量.
根据式(5)的状态转移函数, 将该非线性模型的Cubature点展开为
$${\boldsymbol{X}}_{i,k\left| {k - 1} \right.}^* = {\boldsymbol{f}}({\boldsymbol{X}}_{i,k{\rm{ - }}1\left| {k - 1} \right.}^{},{v_k},{\omega _k},{\theta _k})$$ (9) 计算状态预测值为
$${{\hat{\boldsymbol X}}_{k\left| {k - 1} \right.}}=\frac{1}{{2n}}\sum\limits_{i = 1}^{2n} {{\boldsymbol{X}}_{i,k\left| {k - 1} \right.}^ * } $$ (10) 计算状态误差协方差预测值为
$$\begin{split} {{\boldsymbol{P}}_{k\left| {k - 1} \right.}} =\;& \frac{1}{{2n}}\sum\limits_{i = 1}^{2n} {{\boldsymbol{X}}_{i,k\left| {k - 1} \right.}^ * {\boldsymbol{X}}_{i,k\left| {k - 1} \right.}^{ * {\rm{T}}}} -\\ &{{\hat{\boldsymbol X}}_{k\left| {k - 1} \right.}}{\hat{\boldsymbol X}}_{k\left| {k - 1} \right.}^{\rm{T}} + {{\boldsymbol{Q}}_{k - 1}} \end{split}$$ (11) 2)量测更新
利用Cholesky将${{\boldsymbol{P}}_{k\left| {k{\rm{ - }}1} \right.}}$分解为
$${{\boldsymbol{P}}_{k\left| {k-1} \right.}}={{\boldsymbol{S}}_{k\left| {k-1} \right.}}{\boldsymbol{S}}_{k\left| {k-1} \right.}^{\rm{T}}$$ (12) 计算Cubature点为
$${{\boldsymbol{X}}_{i,k\left| {k - 1} \right.}} = {{\boldsymbol{S}}_{k\left| {k - 1} \right.}}{\xi _i} + {{\hat{\boldsymbol X}}_{k\left| k \right. - 1}},\quad i = 1, \cdots ,2n$$ (13) 根据式(5)的量测函数, 将Cubature点展开为
$${{\boldsymbol{Z}}_{i,k\left| {k - {\rm{1}}} \right.}}={\boldsymbol{h}}({\boldsymbol{X}}_k^m,{\boldsymbol{X}}_{i{\rm{,}}k\left| {k - 1} \right.}^{})$$ (14) 计算量测预测值为
$${{\hat{\boldsymbol Z}}_{k\left| {k - 1} \right.}} = \frac{1}{{2n}}\sum\limits_{i = 1}^{2n} {{{\boldsymbol{Z}}_{i,k\left| {k - 1} \right.}}} $$ (15) 计算自协方差矩阵为
$$\begin{split} {{\boldsymbol{P}}_{zz,k\left| {k{\rm{ - }}1} \right.}} =\;& \frac{1}{{2n}}\sum\limits_{i = 1}^{2n} {{{\boldsymbol{Z}}_{i,k\left| {k - 1} \right.}}{\boldsymbol{Z}}_{i,k\left| {k - 1} \right.}^{\rm{T}} - } \\ &{{\hat{\boldsymbol Z}}_{k\left| {k - 1} \right.}}{\hat{\boldsymbol Z}}_{k\left| {k - 1} \right.}^{\rm{T}} + {{\boldsymbol{R}}_k}\end{split}$$ (16) 计算互协方差矩阵为
$${{\boldsymbol{P}}_{xz,k\left| {k - 1} \right.}} = \frac{1}{{2n}}\sum\limits_{i = 1}^{2n} {{{\boldsymbol{X}}_{i,k\left| {k - 1} \right.}}{\boldsymbol{Z}}_{i,k\left| {k - 1} \right.}^{\rm{T}} - } {{\hat{\boldsymbol X}}_{k\left| {k - 1} \right.}}{\hat{\boldsymbol Z}}_{k\left| {k - 1} \right.}^{\rm{T}}$$ (17) 卡尔曼滤波增益为
$${{\boldsymbol{K}}_k} = {{\boldsymbol{P}}_{xz,k\left| {k - 1} \right.}}{\boldsymbol{P}}_{zz,k\left| {k - 1} \right.}^{{\rm{ - }}1}$$ (18) 状态向量估计结果为
$${{\hat{\boldsymbol X}}_{k\left| k \right.}}={{\hat{\boldsymbol X}}_{k\left| {k - 1} \right.}} + {{\boldsymbol{K}}_k}({{\boldsymbol{Z}}_k} - {{\hat{\boldsymbol Z}}_{k\left| {k - 1} \right.}})$$ (19) 估计误差协方差为
$${{\boldsymbol{P}}_{k\left| k \right.}}={{\boldsymbol{P}}_{k\left| {k - 1} \right.}} - {{\boldsymbol{K}}_k}{{\boldsymbol{P}}_{zz,k\left| {k - 1} \right.}}{\boldsymbol{K}}_k^{\rm{T}}$$ (20) 通过上述递归的CKF算法即可实现跟随AUV的实时位置估计.
2. 自适应神经模糊推理系统
基于CKF的协同定位算法可以在系统传感器测量数据无异常数据的情况下, 准确估计跟随AUV的位置状态. 然而, 由于水下环境的不确定性容易导致水声通信/测距系统出现测量异常的情况发生, 而在声学测量异常条件下, 仅基于状态空间模型的滤波技术无法保证协同系统的定位精度. 因此, 本文提出一种基于ANFIS结合滤波算法的协同定位方法, 以处理声学测量异常值对定位性能的影响.
ANFIS是一种实用的人工智能方法, 它模仿人类思维来解决不确定问题. 作为一种数据学习技术, 使用模糊逻辑将高度互联的神经网络处理函数和输入特征信息转换为所需的输出[26-29]. 在ANFIS中, 隶属函数是通过样本数据进行训练得来的, 函数相互组合或交互的方式称为规则, 这些规则分为前件参数和后件参数. 本研究采用Takagi-Sugeno模糊系统模型, 规则描述如下:
规则 1.
$$\begin{array}{l} {\bf{if}}\;x = {A_1},\,y = {B_1}\;{\rm{and}}\;z = {C_1} \\ {\bf{then}}\;{f_1} = {m_1} \times x + {p_1} \times y + {q_1} \times z + {r_1} \end{array} $$ 规则 2.
$$\begin{array}{l} {\bf{if}}\;x = {A_2},\,y = {B_2}\;{\rm{and}}\;z = {C_2} \\ {\bf{then}}\;{f_2} = {m_2} \times x + {p_2} \times y + {q_2} \times z + {r_2} \end{array} $$ 规则 3.
$$\begin{array}{l} {\bf{if}}\;x = {A_3},\,y = {B_3}\;{\rm{and}}\;z = {C_3} \\ {\bf{then}}\;{f_3} = {m_3} \times x + {p_3} \times y + {q_3} \times z + {r_3} \end{array} $$ 式中, ${A_i}$, ${B_i}$和${C_i}$为模糊集合; ${m_i}$, ${p_i}$, ${q_i}$和${r_i}$是结果参数, 通常称为后件参数. ANFIS结构共有5层, 每层都有许多具有特定功能的节点. 图1展示了具有三个输入端和一个输出端的ANFIS系统结构及模型参数优化过程.
图1中, ANFIS训练过程先通过收集的样本数据提取初始模糊模型, 再由Layer 1 ~ Layer 5过程对模型参数进行优化. Layer 1和Layer 4节点参数是自适应的, Layer 2和Layer 3节点参数固定, Layer 5为ANFIS模型的输出. 在学习算法的前向传递中, 节点输出从Layer 1向前推进到Layer 4, 后件参数由最小二乘法确定; 在反向传递过程中, 误差信号从输出层反向传播到输入层, 前件参数由梯度下降法调整. ANFIS通过此迭代自适应学习过程进行学习和训练, 确定能够充分拟合训练数据的隶属度函数参数值.
1) Layer 1 (模糊层)
$$\begin{cases} {O_{1,i}} = {\mu _{{A_i}}}\left( x \right), &i = 1,2, \cdots ,n\\ {O_{1,i}} = {\mu _{{B_{i - n}}}}\left( y \right), &i = n + 1,n + 2, \cdots ,2n\\ {O_{1,i}} = {\mu _{{C_{i - 2n}}}}\left( z \right), & i = 2n + 1,2n + 2, \cdots ,3n \end{cases}$$ (21) 式中, ${O_{1,i}}$为该层输出值; ${\mu _{{A_i}}}$, ${\mu _{{B_i}}}$和${\mu _{{C_i}}}$为广义钟形隶属函数, 定义为
$$ \mu _{{A_i}}^{}\left( x \right) = \frac{1}{{1 + {{\left[ {{{\left( {\left( {x - {c_i}} \right)a_i^{ - 1}} \right)}^2}} \right]}^{{b_i}}}}} $$ $$ \mu _{{B_i}}^{}\left( x \right) = \frac{1}{{1 + {{\left[ {{{\left( {\left( {y - {c_i}} \right)a_i^{ - 1}} \right)}^2}} \right]}^{{b_i}}}}} $$ $$ \mu _{{C_i}}^{}\left( x \right) = \frac{1}{{1 + {{\left[ {{{\left( {\left( {z - {c_i}} \right)a_i^{ - 1}} \right)}^2}} \right]}^{{b_i}}}}} $$ 式中, ${a_i}$, ${b_i}$和${c_i}$为前件参数, 其数值的改变影响隶属度函数.
2) Layer 2 (规则层)
$${O_{2,i}} = {w_i} = {\mu _{{A_{i}}}}(x){\mu _{{B_{i}}}}(y){\mu _{{C_{i}}}}(z),\quad {{i}} = 1,2, \cdots ,n$$ (22) 该层实现了模糊推理过程, 每个节点的输出表示某一条规则的可信度.
3) Layer 3 (归一化层)
$${O_{3,i}} = {\bar w_i} = \frac{{{w_i}}}{{{w_1} + {w_2}+ \cdots+ {w_n}}},\quad i = 1,2, \cdots ,n$$ (23) 4) Layer 4 (去模糊层)
$$\begin{split} {O_{4,i}} = {\bar w_i}{f_i} = {\bar w_i}&\left( {{m_i}x + {p_i}y + {q_i}z + {r_i}} \right),\\ &\qquad \;\;\;\;\;\;i = {\rm{1,2,}} \cdots ,n \end{split}$$ (24) 5) Layer 5 (输出层)
$${O_{5,i}} = \sum {{{\bar w}_i}{f_i}} {\rm{ = }}\frac{{\sum {{w_i}f} }}{{\sum {{w_i}} }}$$ (25) 在每一次迭代训练中, 实际输出和期望输出的均方根误差会减小, 当到达预定训练次数或误差范围时, 停止训练.
3. 协同定位系统量测异常检测方法
在AUV编队执行任务期间, 声学设备在水下的通信和测距工作容易受到恶劣水下环境的影响. 即使仅有一套声学设备不可靠, 也会由于滤波更新过程而污染之后时刻AUV的定位精度, 这将严重影响协同定位性能. 针对上述问题, 本文研究了一种基于ANFIS的协同定位系统量测异常检测方法, 能够隔离异常水声测距数据, 避免错误量测数据进入滤波更新过程.
3.1 提取ANFIS的输入\输出信息
本文以AUV编队包括两个领航AUV, 分别为领航AUV-1和领航AUV-2, 对跟随AUV进行主从式交替协同定位为例进行说明.
基于ANFIS的量测异常检测系统的建立, 需要“样本数据”对ANFIS的隶属度参数进行训练. 在“样本数据”中需要得到准确的水声测距误差作为ANFIS模型训练的输出, 与能够响应水声测距误差变化的特征信息作为ANFIS模型训练的输入.
1) ANFIS模型训练的输出数据
在收集“样本数据”过程中, 将GPS分别装备于跟随AUV与领航AUV上, 并通过GPS位置解算得到$k$时刻跟随AUV与第$j$个领航AUV之间距离${\boldsymbol{Z}}_{{\rm{gps}},k}^{(j)}$作为基准距离; $k$时刻跟随AUV与第$j$个领航AUV之间的实际水声测距信息为${\boldsymbol{Z}}_k^{(j)}$. 从而可得水声测距误差的绝对值为
$${\tilde{\boldsymbol Z}}_k^{(j)} = \left| {{\boldsymbol{Z}}_{{\rm{gps}},k}^{(j)} - {\boldsymbol{Z}}_k^{(j)}} \right|$$ (26) 式中, 上标$j = 1$或 $j = 2$, 分别代表跟随AUV与领航AUV-1或AUV-2之间进行通信和测距.
通过预定义的量测异常阈值${T_1}$与水声测距误差${\tilde{\boldsymbol Z}}_k^{(j)}$进行比较, 对量测信息的状态进行分类判断. 水声测距系统得到的量测数据状态分为“正常”和“异常”两类, 定义为
$${\gamma _k} = \left\{ \begin{aligned} & {\rm{1}},\quad \;{\tilde{\boldsymbol Z}}_k^{(j)} > {T_1} \\ &{\rm{0}},\quad \;{\tilde{\boldsymbol Z}}_k^{(j)} \leq {T_1} \end{aligned} \right.$$ (27) 式中, ${\gamma _k}$为量测异常标志位, 满足伯努利分布. 当${\gamma _k}=1$时, 表示协同定位系统量测信息“异常”; ${\gamma _k} = 0$时, 表示“正常”. 通常情况下量测异常阈值${T_1}$根据声学测距设备的精度进行设置.
2) ANFIS模型训练的输入数据
新息表示模型输出预测值和实测值之差. 在协同定位系统中, 卡尔曼滤波的新息值可以映射协同定位模型输出预测值与实际声学测距信息之间的差异. 新息值的计算为
$${\boldsymbol{r}}_k^{(j)} = {\boldsymbol{Z}}_k^{(j)} - {\hat{\boldsymbol Z}}_{k\left| {k - 1} \right.}^{}$$ (28) 式中, ${{\hat{\boldsymbol Z}}_{k\left| {k - 1} \right.}}$为$k$时刻跟随AUV系统模型输出的一步预测值. 假设建立的协同定位系统模型准确, 则水声测距误差的变化, 将会导致${\boldsymbol{r}}_k^{(j)}$变化. 本文取绝对值$| {{\boldsymbol{r}}_k^{(j)}} |$作为反映${\tilde{\boldsymbol Z}}_k^{(j)}$变化的特征信息之一.
马氏距离是有效计算两组随机变量相似度的方法. 具有灵敏性高、独立于测量尺度、可以有效排除变量之间的相关性干扰等优点. 本文基于马氏距离$M_k^{(j)}$构造量测异常特征信息, 定义为
$$\begin{split} {\left(M_k^{(j)}\right)^2} =\;& {\left( \sqrt {{{\left({\boldsymbol{r}}_k^{(j)}\right)}^{\rm{T}}} \left({\boldsymbol{P}}_{zz,k\left| {k{\rm{ - }}1} \right.}^{(j)}\right)_{}^{ - 1} \left({\boldsymbol{r}}_k^{(j)}\right)} \right)^2} =\\ &{\left({\boldsymbol{r}}_k^{(j)}\right)^{\rm{T}}} \left({\boldsymbol{P}}_{zz,k\left| {k{\rm{ - }}1} \right.}^{(j)}\right)_{}^{ - 1} \left({\boldsymbol{r}}_k^{(j)}\right) \\[-15pt] \end{split} $$ (29) ${\boldsymbol{r}}_k^{(j)}$与${(M_k^{(j)})^2}$虽然可以有效响应量测信息的变化, 但当水声测距信息由较大偏差值跳变回准确值时, 基于CKF的协同定位算法的状态估计误差需要一段时间的收敛过程. 在此过程中, 滤波状态估计仍处于误差较大的状态, 新息与马氏距离也将在这个过程逐渐收敛到接近于零的值. 然而水声测距异常数据由于突变到准确值, 并不存在收敛过程. 因此, 新息与马氏距离的收敛过程将导致ANFIS的误检测, 甚至影响ANFIS模型训练, 致使基于ANFIS的多AUV协同定位量测异常检测系统彻底失效. 针对上述问题, 本文通过构造自适应因子${\eta _k}$得到一种自适应容积卡尔曼滤波在线修正特征信息, 并且可以进一步提升CKF算法的自适应性和鲁棒性, 有效提高协同定位系统的定位精度.
滤波新息${\boldsymbol{r}}_k^{(j)}$可以反映系统模型的误差量级, 若水声观测信息准确可靠, 系统模型也是可靠的, 则系统模型所预测的测距值与水声测距所得量测值之间的误差应该很小, 即新息值很小; 反之, 若新息值较大, 且系统模型可靠, 则表明水声测距信息不够准确. 因此, 可以依据新息构造自适应因子${\eta _k}$定义为
$${\eta _k} = \left\{ \begin{aligned} &1,\quad&{\rm{tr}}(\Delta e) \leq {\rm{tr}}({\boldsymbol{P}}_{zz,k\left| {k - 1} \right.}^{}) \\ &\frac{{{\rm{tr}}({\boldsymbol{P}}_{zz,k\left| {k - 1} \right.}^{})}}{{{\rm{tr}}(\Delta e)}},\quad & {\rm{tr}}(\Delta e) > {\rm{tr}}({\boldsymbol{P}}_{zz,k\left| {k - 1} \right.}^{}) \end{aligned} \right.$$ (30) 式中, $\Delta e = ({\boldsymbol{Z}}_k^{} - {\hat{\boldsymbol Z}}_{k\left| {k - 1} \right.}^{}){({\boldsymbol{Z}}_k^{} - {\hat{\boldsymbol Z}}_{k\left| {k - 1} \right.}^{})^{\rm{T}}}$为新息矩阵, ${\boldsymbol{Z}}_k^{}$为通过水声测距设备得到的实时量测值.
当协同定位系统量测存在异常时, 系统实时量测值${\boldsymbol{Z}}_k^{}$与系统模型预测值${\hat{\boldsymbol Z}}_{k\left| {k - 1} \right.}^{}$之间的差值将会变大, 新息矩阵$\Delta e$的迹大于滤波自协方差矩阵${\boldsymbol{P}}_{zz,k\left| {k - 1} \right.}^{}$的迹. 此时在滤波初始阶段所设置的噪声误差协方差矩阵${{\boldsymbol{R}}_k}$也应该随量测噪声分布而变化. 而由CKF过程可以看到, ${{\boldsymbol{R}}_k}$是根据量测方程中定义的测量噪声所设置的固定值, 这将导致在量测异常情况下CKF量测更新状态预测值也将变得不准确. 因此, 需要根据水声测距误差对${{\boldsymbol{R}}_k}$进行修正, 以提升基于滤波算法的协同定位方法的自适应性. 反之, 若量测误差在系统允许范围内, 则不修改${{\boldsymbol{R}}_k}$. 这样可提高CKF对异常量测影响的抗干扰性, 又不增加算法复杂度.
噪声协方差矩阵的修正定义为
$${\boldsymbol{R}}_k^ * = {\boldsymbol{R}}_k^{} \times \eta _k^{ - 1}$$ (31) 通过构造的自适应因子${\eta _k}$对${{\boldsymbol{R}}_k}$进行在线修正, 进而得到量测噪声协方差矩阵根据水声测距噪声变化的ACKF. ACKF中的${\eta _k}$能够增强滤波算法平衡协同定位模型与观测信息权重比的能力, 控制异常量测信息对系统模型定位估计的影响. 实现当水声测距由异常值跳变到系统允许测距误差范围内时, 缩短滤波算法中状态估计误差的收敛时间, 同时迅速地将新息和马氏距离的值修正到量测无异常情况下的准确值, 从而大大减小特征信息在这种情况下的收敛时间, 达到修正特征信息的目的. 由于修正后的噪声误差协方差矩阵${\boldsymbol{R}}_k^ * $也可以准确反映水声量测信息的变化, 因此本文取跟随AUV与第$j$个领航AUV之间测距信息对应的${\boldsymbol{R}}_k^{ * (j)}$也作为ANFIS-j模型的输入特征信息之一.
综上, 本文所提基于ANFIS的量测异常检测方法, 根据水声测距系统数量分别建立了与之相对应的ANFIS-j模型进行量测异常状态判别, ANFIS-j模型共提取了三个可以响应协同定位系统量测异常情况的特征信息, 分别为通过ACKF得到的新息绝对值$| {{\boldsymbol{r}}_k^{(j)}} |$、基于马氏距离构造的量测异常特征信息${(M_k^{(j)})^2}$和修正后的量测噪声协方差矩阵${\boldsymbol{R}}_k^{ * (j)}$.
3.2 量测异常的在线实时检测与隔离方案
基于ANFIS的协同定位系统量测异常检测与隔离方法的基本思想分为三个部分.
1)提取“样本数据”对ANFIS模型进行训练. 假设在$0\sim {k_a}$时段(即$0 < k \leq {k_a}$), 各AUV装备的GPS浮出水面或在水下近水面航行, 水声通信/测距系统在水下工作. 为消除各输入数据之间的量纲影响, 将$0\sim {k_a}$时段通过ACKF得到的$| {{\boldsymbol{r}}_k^{(j)}} |$, ${(M_k^j)^2}$, ${\boldsymbol{R}}_k^{ * (j)}$进行归一化处理(归一化范围为0 ~ 1), 作为训练ANFIS模型“样本数据”中的输入数据, 水声测距误差${\boldsymbol{Z}}_k^{(j)}$作为输出数据对ANFIS-j模型进行训练.
2)在GPS不可用的情况下, 利用训练结束的ANFIS-j模型检测水声测距异常状态. 假设在${k_a}\sim {k_{{\rm{end}}}}$时段(即${k_a} < k \leq {k_{{\rm{end}}}}$), 各AUV均潜于水下航行, 此时由于GPS信号在水下的快速衰减性, 水下环境无法收到GPS定位信息, 即无法利用水声测距误差${\tilde{\boldsymbol Z}}_k^{(j)}$作为量测异常的直接判别依据. 此时, 利用在$0\sim {k_a}$时段训练得到的ANFIS规则, 将${k_a}\sim {k_{{\rm{end}}}}$时段通过ACKF得到的$| {{\boldsymbol{r}}_k^{(j)}}|$, ${(M_k^{(j)})^2}$, ${\boldsymbol{R}}_k^{ * (j)}$进行归一化处理后, 作为ANFIS-j模型的输入数据, 即可通过ANFIS-j模型得到相应的输出量测异常状态. ${k_a}\sim {k_{{\rm{end}}}}$阶段ANFIS-j规则输入数据归一化需根据“样本数据”中各输入向量的最大值和最小值对每一时刻的输入数据进行处理.
需要重点说明的是, 由于${k_a}\sim {k_{{\rm{end}}}}$时段的输入数据只是能够响应量测异常信息的特征值, 这并不意味通过这三个归一化后的输入数据以及通过“样本数据”训练后的ANFIS-j模型即可准确得到${k_a}\sim {k_{{\rm{end}}}}$时段的水声测距误差${\tilde{\boldsymbol Z}}_k^{(j)}$. 但我们可以根据ANFIS-j模型利用“样本数据”进行训练时生成的训练数据最小均方误差向量, 求得最小均方误差向量的均方根误差$\sigma $. 并根据经验公式, 预定义$3\sigma $作为${k_a}\sim {k_{{\rm{end}}}}$时段ANFIS-j模型输出值${\breve{\boldsymbol{Z} }}_k^{(j)}$的量测异常阈值${T_2}$, 得到对应时刻各水声通信/测距系统的异常状态判别. 定义为
$${\gamma _k} = \left\{ \begin{aligned} &{\rm{1}},\quad&{\breve{\boldsymbol{Z}}}_k^{(j)} > {T_2}\;\\ &{\rm{0}},\quad&{\breve{\boldsymbol{Z}}}_k^{(j)} \le {T_2} \end{aligned} \right.$$ (32) 3)基于ANFIS的水声测距异常检测结果对量测异常信息进行隔离, 提高多AUV协同定位系统的稳定性. 根据量测异常标志位${\gamma _k}$对滤波增益进行更改, 定义为
$${{\boldsymbol{K}}_k}=\left\{ \begin{aligned} &{{\boldsymbol{P}}_{xz,k\left| {k - 1} \right.}}{\boldsymbol{P}}_{zz,k\left| {k - 1} \right.}^{{\rm{ - }}1},\quad &{\gamma _k} = 0 \\ & 0,\quad &{\gamma _k} = 1 \end{aligned} \right.$$ (33) 将式(33)代入滤波方程, 可推导出量测异常情况下改进算法的状态更新与状态误差协方差更新, 如式(34)和式(35)所示.
$${{\hat{\boldsymbol X}}_{k\left| k \right.}}={{\hat{\boldsymbol X}}_{k\left| {k - 1} \right.}} + \left( {1 - {\gamma _k}} \right){{\boldsymbol{K}}_k}\left( {{{\boldsymbol{Z}}_k} - {{{\hat{\boldsymbol Z}}}_{k\left| {k - 1} \right.}}} \right)$$ (34) $${{\boldsymbol{P}}_{k\left| k \right.}}={{\boldsymbol{P}}_{k\left| {k - 1} \right.}} - \left( {1{\rm{ - }}{\gamma _k}} \right){{\boldsymbol{K}}_k}{{\boldsymbol{P}}_{zz,k\left| {k - 1} \right.}}{\boldsymbol{K}}_k^{\rm{T}}\;\;\;\;\;\;\;$$ (35) 实际上, 量测异常隔离的思想是当水声测距误差较大时, 将该时刻的量测信息摒弃, 相当于该时刻无量测信息, 只进行滤波的时间更新. 由于${k_a}\sim {k_{{\rm{end}}}}$时段内多艘领航AUV交替向跟随AUV传递观测信息, 因此在不是所有水声通信系统均长时间连续故障的情况下, 对量测异常时刻的信息进行隔离可以有效避免由于量测异常带来的较大状态估计偏离.
基于ANFIS的量测异常检测算法原理如图2所示.
4. 观测数据异常检测与容错方案实验验证
4.1 实验情况概述
受条件所限, 本文所提方法利用湖上实验数据进行验证. 湖上实验无法模拟水下的垂直运动, 但其他条件基本相同. 实验使用了3艘勘测船, 均安装了水声调制解调器、多普勒测速仪(Doppler velocity log, DVL)和GPS, 其中两艘勘测船安装了高精度惯性导航系统 (Inertial navigation system, INS)模拟领航AUV, 另一艘安装了低精度导航设备模拟跟随AUV. 勘测船及实验设备如图3和图4所示, 传感器参数如表1所示.
表 1 传感器参数Table 1 Parameters of sensors传感器 型号 性能 指标 水声调制解调器 ATM-885 通信范围 8000 m 传输速率 6.9 kbit/s GPS OEMV-2RT-2 单点精度 1.8 m (RMS) 惯性导航系统 H/H HZ001 航向精度 0.1% ~ 0.3% DVL DS-99 速度精度 0.2 kn 各实验船航行轨迹如图5所示. 实验数据长度为1700 s, 基准位置轨迹由GPS得到. 初始状态误差噪声协方差阵设置为${\boldsymbol{P}}_{0|0}^{} = {\rm{diag}}{\{1,1\}^2}$, ${{\boldsymbol{P}}_{0|0}}$的设置是依据GPS定位精度以及经验调试得到的; 过程和量测噪声协方差阵分别设置为${{\boldsymbol{Q}}}_{k}^{}= {\rm{diag}}\{1, 1\}^{2}$和${\boldsymbol{R}}_k^{} = [{3}]^2$, ${\boldsymbol{Q}}_k^{}$和${\boldsymbol{R}}_k^{}$是分别依据过程噪声和量测噪声大小设置的经验值.
领航AUV上的水声调制解调器发送信号频率为0.2 Hz, 两艘领航AUV交替与跟随AUV进行通信, 交替情况如图6所示. 交替量测标志位$j = 1$表示领航AUV-1与跟随AUV进行通信, $j = 1$的数量共345个; $j = 2$表示领航AUV-2与跟随AUV进行通信, $j = 2$的数量共348个; $j = 0$表示此时刻无水声通信. 领航AUV-1和领航AUV-2与跟随AUV之间的交替水声测距信息如图7所示.
由图7可以看到, 在实际的水下协同定位系统中, 测量艇间距离的水声调制解调器会发生数据不更新的情况, 这种缓变异常在短时间内对系统定位精度的影响不大; 但是如果测距信息长时间不更新, 相当于滤波连续使用错误的量测数据进行计算, 这将导致状态估计误差发散.
由于现有数据中, 水声测距异常信息较少, 为更突出描述本文所提量测异常检测算法的验证结果, 在跟随AUV与领航AUV-1/2之间的真实水声测距数据基础上添加了符合实际情况的异常噪声, 并与通过各AUV上GPS解算的跟随AUV与领航AUV-1/2距离进行对比, 如图8和图9所示.
我们在跟随AUV与领航AUV-1之间的水声测距数据上添加了两处异常情况, 一处为在100 ~ 150 s时段添加了水声测距不更新导致的量测异常; 另一处为在1100 ~ 1170 s时段添加了水声测距缓变漂移误差. 在跟随 AUV 与领航 AUV-2 之间的水声测距数据上添加了一处水声设备数据不更新异常情况. 在接下来的仿真验证中, 本文将使用上述添加水声测距误差的数据进行量测异常检测算法验证.
需要说明的是, 本文使用了真实的水声通信/测距数据进行多AUV协同定位算法验证, 水声通信/测距数据通过3艘勘测船装备水声调制解调器模拟AUV进行协同定位实验得到. 在实际的多AUV协同编队中, 通常包含十几到几十艘跟随AUV, 跟随AUV通过水声调制解调器接收领航AUV发送的数据包对自身航位推算位置进行校正(即各跟随AUV的位置通过自身携带的计算机进行独立计算, 各跟随AUV的定位算法相互独立、互不影响). 本文虽然仅以一艘跟随AUV为例进行协同定位算法验证, 但所提基于ANFIS异常检测的协同定位方法可扩展应用到包含多艘跟随AUV的协同定位系统中.
4.2 基于ANFIS的量测异常检测算法验证
在利用ANFIS进行多AUV协同定位量测异常检测时, 需要提取能够准确反映水声测距误差变化的特征信息. 以跟随AUV与领航AUV-1之间的水声测距信息为例, 测距误差与基于CKF和ACKF提取的特征信息对比如图10所示.
从图10可以看到, 由ACKF获得的特征信息可以更好地对应水声测距误差的变化. 基于ANFIS的协同定位量测异常检测验证实验利用0 ~ 600 s数据作为训练ANFIS模型的 “样本数据”, 600 ~ 1700 s数据作为检验量测异常检测算法的数据. 跟随AUV与领航AUV-1/2之间建立的ANFIS-1/2模型, 其隶属度函数分别通过“样本数据”进行训练后变化, 如图11(a)和11(b)所示.
通过训练后的ANFIS-1和ANFIS-2隶属度函数得到水声测距误差与各特征信息之间的映射关系, 如图12所示.
图12中, “输入1”、“输入2” 和“输入3”分别为归一化处理后的$| {{\boldsymbol{r}}_k^{(j)}} |$、${(M_k^{(j)})^2}$和${\boldsymbol{R}}_k^{ * (j)}$ 三个特征信息. 可以看出, 训练后的ANFIS模型产生了一个光滑的表面, 显示了三个输入特征信息与测距误差之间的相互映射关系. 通过得到的ANFIS规则, 每一组输入特征信息对应一个水声测距误差值.
在进行量测异常检测算法验证之前, 需要先设置判别量测异常状态的阈值. 由量测噪声协方差阵${\boldsymbol{R}}_k^{} = [3]^2$, 取最大测距误差允许范围, 定义水声测距误差大于9 m时, 判定水声测距系统所得跟随AUV与领航AUV之间的测距误差超出误差允许范围, 即为异常数据. 通过这样的预定义, 我们可以得到量测异常状态的基准, 以用来验证本文所提算法的检测准确率与误报率, 并与其他故障检测算法进行比较. 根据预定义的$3\sigma $作为ANFIS模型输出值${\breve{\boldsymbol{Z}}}_k^j$的量测异常阈值分别为$T_2^{(1)}=5.4851$和$ {T}_{2}^{(2)}= 7.9684$. 600 ~ 1700 s时段内分别针对两个水声测距系统所建立的ANFIS-1/2模型输出值, 以及基于ANFIS的量测异常检测与量测异常基准对比分别如图13和图14所示. 标志位0表示量测正常, 标志位1表示量测异常.
由图13和图14可以验证, 基于ANFIS的多AUV协同定位系统量测异常检测算法在多水声测距信息混淆情况下, 仍能够准确有效地检测出当前时刻量测信息是否为异常状态.
上述湖上实验数据中, 跟随AUV与领航AUV-1通信/测距样本数量在600 ~ 1700 s时段共237个(即$j = 1$的数量为237个), 其中异常状态数量为51个; $j = 2$的数量为225个, 异常状态数量为6个. 综上, 在600 ~ 1700 s时段, 跟随AUV与领航AUV交替进行水声测距的样本数量共462个, 水声测距异常状态共57个, 正常状态共405个. 为更清晰地体现本文所提检测算法与传统故障检测算法相比较的优越性, 进行如下概念说明:
1) 真正(True positive, TP): 将异常状态检测为异常状态的样本个数;
2) 真负(True negative, TN): 将正常状态检测为正常状态的样本个数;
3) 假正(False positive, FP): 将正常状态检测为异常状态(误报)的样本个数;
4) 假负(False negative, FN): 将异常状态检测为正常状态(漏报)的样本个数.
本文实验验证中, 采用以下评价指标, 作为多AUV协同定位系统量测异常检测性能指标: a)样本被正确分类的比例, 即准确率(Accuracy, ACC); b)检测为异常状态的样本中, 实际的水声测距状态也是异常状态的比例, 即精确率(Precision, P); c)所有异常状态的样本中被正确检测为量测异常状态的比例, 即召回率(Recall, R); d)所有正常样本中, 被错误识别为异常状态的比例, 即误报率(False positive rate, FPR); e)所有异常状态样本中, 被错误识别为正常状态的比例, 即漏检率(False negative rate, FNR). 具体计算式为
$$\qquad ACC = \frac{{TP + TN}}{{TP + TN + FP + FN}}$$ (36) $$\qquad P = \frac{{TP}}{{TP + FP}}$$ (37) $$\qquad R = \frac{{TP}}{{TP + FN}}$$ (38) $$\qquad FPR = \frac{{FP}}{{TN + FP}}$$ (39) $$\qquad FNR = \frac{{FN}}{{TP + FN}}$$ (40) 在本文所提量测异常检测方法最终结果中, “真正”、“真负”、“假正”和“假负”的数量分别为$TP = 47$, $TN = 401$, $FP = 4$, $FN = 10$. 对比传统残差卡方检测与文献[12]所提应用BP神经网络辅助卡方检测的双阈值检测法得到的量测异常检测结果如图15和表2所示.
表 2 各量测异常检测方法的TP、TN、FP、FN统计Table 2 The quantity statistics of TP, TN, FP and FN obtained by each measurement anomaly detection method量测异常检测方法 TP数量 TN数量 FP数量 FN数量 残差卡方检测 23 388 17 34 双阈值检测 34 387 18 23 ANFIS检测 47 401 4 10 为保证本文所提基于ANFIS的异常检测方法与其他检测方法比较的公平性, 表2中另外两种异常检测方法也只统计了600 ~ 1700 s时段之间的各样本数量. 由表2数据计算得到各检测方法应用于多AUV交替领航的协同定位系统的量测异常检测性能如图16所示.
由图16可以看到, 本文所提基于ANFIS的异常检测方法相较于另两种方法的准确率、精确率、召回率均有大幅提升, 且误报率与漏检率均有所下降. 其中与传统的卡方检验方法相比准确率增长9.0%, 精确率增长60.3%, 召回率增长104.4%, 误报率减小76.4%, 漏检率减小70.6%, 优越性更为突出.
分别基于各检测方法对量测异常信息进行隔离的多AUV协同定位结果如图17和图18所示. 由图17和图18可以看到, 基于ANFIS异常检测的协同定位方法, 可以在量测信息出现异常的情况下, 准确地估计跟随AUV的经纬度位置. 图18第2个子图为第1个子图在600 s 以后隔离异常量测信息后跟随AUV定位误差的放大图, 0 ~ 600 s 为ANFIS模型训练过程, 600 ~ 1 700 s 为通过ANFIS模型进行异常量测信息的检测、隔离过程. 由图18第2 个子图可以更清楚地验证基于ANFIS异常检测的协同定位方法的优越性.
同时, 由于累积分布函数(Cumulative distribution function, CDF)可以描述随机变量的概率分布, 是概率密度函数的积分. 在本研究中, 将CDF作为评价使用不同异常检测方法的协同定位性能指标. CDF越快接近1, 表示应用于协同定位系统中的异常检测方法效果越好. 图19显示了不同协同定位方法在600 ~ 1700 s之间定位误差的CDF. 由图19可以看到, 基于ANFIS异常检测的协同定位方法的CDF能更快地接近1, 在多艘领航AUV对跟随AUV交替量测的情况下, 可以更准确地识别量测异常的具体位置, 使多AUV协同定位系统具备了隔离异常量测且保留准确量测的能力, 提高了系统的定位准确性与可靠性.
本文所提基于ANFIS的量测异常检测方法, 利用前600 s提取“样本数据”对ANFIS模型进行训练得到ANFIS规则, 而600 s以后则通过ANFIS规则对量测异常信息进行检测并隔离.
5. 结束语
本文以多AUV协同定位系统受水下环境影响出现异常水声测距信息的实际境况作为背景讨论. 提出一种基于ANFIS的量测异常检测方法, 实现了对量测数据异常状态的预测和对异常状态信息的有效处理, 并通过湖上实验数据进行了实验仿真验证. 实验结果表明, 本文提出的量测异常检测方法与传统故障检测方法相比, 各检测性能指标均有大幅改进. 实现了AUV协同定位系统量测异常检测以及异常情况下协同定位系统稳定运行, 为进一步研究多AUV协同定位系统、提高系统协同定位性能、保证系统的可靠性提供了具有可行性的思路.
本文所提基于ANFIS的量测异常检测方法可以在正常量测与异常量测信息混淆情况下, 有效识别异常量测状态, 但在实际应用中仍存在诸多限制问题有待改进. 例如, 1) ANFIS的应用需要大量包含各种异常情况的样本数据进行训练, 若训练不充分, 则无法得到能够应对所有未知异常状态的ANFIS规则, 从而降低识别异常状态的准确率, 甚至会对协同定位系统造成严重影响; 2) ANFIS通过梯度下降法与最小二乘法对初始模型参数进行调整, 虽然计算速度快, 但是极易陷入局部最优, 很可能得不到ANFIS模型的最优规则. 接下来的工作将着重从上述两个问题开展研究, 即设计改进的ANFIS异常检测方法, 提高小样本数据条件下的协同定位系统量测异常检测的准确性; 设计新的元启发算法代替梯度算法对ANFIS模型参数进行调整, 以获取模型参数的全局最优解.
-
表 1 传感器参数
Table 1 Parameters of sensors
传感器 型号 性能 指标 水声调制解调器 ATM-885 通信范围 8000 m 传输速率 6.9 kbit/s GPS OEMV-2RT-2 单点精度 1.8 m (RMS) 惯性导航系统 H/H HZ001 航向精度 0.1% ~ 0.3% DVL DS-99 速度精度 0.2 kn 表 2 各量测异常检测方法的TP、TN、FP、FN统计
Table 2 The quantity statistics of TP, TN, FP and FN obtained by each measurement anomaly detection method
量测异常检测方法 TP数量 TN数量 FP数量 FN数量 残差卡方检测 23 388 17 34 双阈值检测 34 387 18 23 ANFIS检测 47 401 4 10 -
[1] 徐博, 白金磊, 郝燕玲, 高伟, 刘亚龙. 多AUV协同导航问题的研究现状与进展. 自动化学报, 2015, 41(03): 445-461.Xu Bo, Bai Jin-Lei, Hao Yan-Ling, Gao Wei, Liu Ya-Long. The research status and progress of cooperative navigation for multiple AUVs. Acta Automatica Sinica, 2015, 41(03): 445-461. [2] Huang Y L, Zhang Y G, Wu Z M, Li N, Chambers J. A novel adaptive Kalman filter with inaccurate process and measurement noise covariance matrices. IEEE Transactions on Automatic Control, 2018, 63(02): 594–601. doi: 10.1109/TAC.2017.2730480 [3] Kim J. Cooperative localization and unknown currents estimation using multiple autonomous underwater vehicles. IEEE Robotics and Automation Letters, 2020, 5(02): 2365-2371. doi: 10.1109/LRA.2020.2972889 [4] Huang Y L, Zhang Y G, Xu B, Wu Z M. Chsmbers J A. A new adaptive extended Kalman filter for cooperative localization. IEEE Transactions on Aerospace and Electronic Systems, 2018, 54(01): 353-368. doi: 10.1109/TAES.2017.2756763 [5] Li Y C, Wang Y Y, YU W B. Multiple autonomous underwater vehicle cooperative localization in anchor-free environments. IEEE Journal of Oceanic Engineering, 2019, 44(04): 895-911. doi: 10.1109/JOE.2019.2935516 [6] Liu W X, Wang Y J, Yin B J. Thruster tault identification based on fractal feature and multiresolution wavelet decomposition for autonomous underwater vehicle. Proceedings of the Institution of Mechanical Engineers Part E —— Journal of Process Mechanical Engineering, 2017, 231(13): 2528−2539 [7] 张华强, 李东兴, 张国强. 混合χ2检测法在组合导航系统故障检测中的应用. 中国惯性技术学报, 2016, 24(05): 696-700.Zhang Hua-Qiang, Li Dong-Xing, Zhang Guo-Qiang. Application of hybrid chi-square test method in fault detection of integrated navigation system. Journal of Chinese Inertial Technology, 2016, 24(05): 696-700. [8] Xu B, Razzaqi A A, Liu Y L. Cooperative localisation of AUVs based on huber-based robust algorithm and adaptive noise estimation. The Journal of Navigation, 2019, 72(04): 875-893. doi: 10.1017/S0373463319000018 [9] Guo R G, Gan Q, Zhang J, Guo K, Dong, J K, Dong J K. Huber cubature particle filter and online state estimation. Proceedings of the Institution of Mechanical Engineers, Part I: Journal of Systems and Control Engineering, 2017, 231(03): 158–167. [10] Yu C Y, Xiang X B Wilson P A, Zhang Q. Guidance-error-based robust fuzzy adaptive control for bottom following of a flight-style AUV with saturated actuator dynamics. IEEE Transactions on Cybernetics, 2020, 50(05): 1887-1899. doi: 10.1109/TCYB.2018.2890582 [11] Huang Y L, Zhang Y G, Li N, Chambers J A. Robust student’s t based nonlinear Filter and smoother. IEEE Transactions on Aerospace and Electronic Systems, 2017, 52(02): 2586–2596. [12] Liu X, Chen B D, XU B, WU Z Z, Honeine P. Maximum correntropy unscented filter. International Journal of Systems Science, 2017, 48(08): 1607–1615. doi: 10.1080/00207721.2016.1277407 [13] Li Q, Ben Y Y, Naqvi S M, Neasham J A, Chambers J A. Robust student's t-based cooperative navigation for autonomous underwater vehicles. IEEE Transactions on Instrumentation and Measurement, 2018, 67(08): 1762-1777. doi: 10.1109/TIM.2018.2809139 [14] Fan Y, Zhang Y G, Wang G Q, Li N. Maximum correntropy based unscented particle filter for cooperative navigation with heavy-tailed measurement noises. Sensors, 2018, 18(10): 3183. doi: 10.3390/s18103183 [15] Xiong K, Shi W, Wang S Y. Robust multikernel maximum correntropy filters. IEEE Transactions on Circuits and Systems II: Express Briefs, 2020, 67(06): 1159-1163. doi: 10.1109/TCSII.2019.2931409 [16] Shi W L, Li Y S, Wang Y Y. Noise-free maximum correntropy criterion algorithm in non-Gaussian environment. IEEE Transactions on Circuits and Systems II: Express Briefs, 2020, 67(10): 2224-2228. doi: 10.1109/TCSII.2019.2914511 [17] 史宏洋. AUV协同定位中的故障诊断与容错控制研究[博士学位论文], 哈尔滨工程大学, 中国, 2015.Shi Hong-Yang. The Research on Fault Detection and Fault Tolerant Control in AUV Cooperative Localization [Ph.D. dissertation], Harbin Engineering University, China, 2015. [18] Xiong H L, Li Y J, Du Z F, Mai Z Z. Fault-tolerant GNSS/SINS/DVL/CNS integrated navigation and positioning mechanism based on adaptive information sharing factors. IEEE Systems Journal, 2020, 14(3): 3744-3754. doi: 10.1109/JSYST.2020.2981366 [19] Xu H W, Lian B W. Fault detection for multi-source integrated navigation system using fully convolutional neural network. IET Radar Sonar and Navigation, 2018, 12(07): 774-782. doi: 10.1049/iet-rsn.2017.0424 [20] 张宇献, 郭佳强, 钱小毅, 王建辉. 有混合数据输入的自适应模糊神经推理系统. 自动化学报, 2019, 45(9): 1743−1755.Zhang Yu-Xian, Guo Jia-Qiang, Qian Xiao-Yi, Wang Jian-Hui. An adaptive network-based fuzzy inference system with mixed data inputs. Acta Automatica Sinica, 2019, 45(9): 1743−1755. [21] 赵修斌, 高超, 庞春雷, 张闯, 王勇. BP神经网络辅助的缓变故障双阈值检测法. 控制与决策, 2020, 35(06): 1384-1390.Zhao Xiu-Bin, Gao Chao, Pang Chun-Lei, Zhang Chuang, Wang Yong. A double-threshold test method for soft faults assisted by BP neural network. Control and Decision, 2020, 35(06): 1384-1390. [22] Sun R, Cheng Q, Wang G Y, Ochieng W Y. A novel online data-driven algorithm for detecting UAV navigation sensor faults. Sensors, 2017, 17(10): 2243. doi: 10.3390/s17102243 [23] Xu B, Li S X, Razzaqi A A, Zhang J. Cooperative localization in harsh underwater environment based on the MC-ANFIS. IEEE Access. 2019, 7: 55407-55421. doi: 10.1109/ACCESS.2019.2913039 [24] Wang W, Chen X Y. Application of improved 5th-cubature Kalman filter in initial strapdown Inertial navigation system alignment for large misalignment angles. Sensors, 2018, 18(02): 659. doi: 10.3390/s18020659 [25] Amin K M, Hassan A M, Alireza K, Navid V, Hassan K M, Frede B, et al. Improved stabilization of nonlinear DC microgrids: cubature Kalman filter approach. IEEE Transactions on Industry Applications, 2018, 54(05): 5104-5112. doi: 10.1109/TIA.2018.2848959 [26] Adarsh S, Ramachandran K I. Design of sensor data fusion algorithm for mobile robot navigation using ANFIS and its analysis across the membership functions. Automatic Control and Computer Sciences, 2018, 52(5): 382-391. doi: 10.3103/S0146411618050036 [27] 赵文迪, 陈德旺, 卓永强, 黄允浒. 深度神经模糊系统算法及其回归应用. 自动化学报, 2020, 46(11): 2350-2358.Zhao Wen-Di, Chen De-Wang, Zhuo Yong-Qiang, Huang Yu-Hu. Deep Neural Fuzzy System Algorithm and Its Regression Application. Acta Automatica Sinica, 2020, 46(11): 2350-2358. [28] Ramezanizadeh M, Ahmadi M H, Nazari M A, Sadeghzadeh M, Chen L G. A review on the utilized machine learning approaches for modeling the dynamic viscosity of nanofluids. Renewable and Sustainable Energy Reviews, 2019, 114, 109345. doi: 10.1016/j.rser.2019.109345 [29] 徐博, 李盛新, 王连钊, 段腾辉, 姚贺. 一种基于自适应神经模糊推理系统的多AUV协同定位方法. 中国惯性技术学报, 2019, 27(04): 440-447.Xu Bo, Li Sheng-Xing, Wang Lian-Zhao, Duan Teng-Hui, Yao He. A multi-AUV cooperative localization method based on adaptive neuro-fuzzy inference system. Journal of Chinese Inertial Technology, 2019, 27(04): 440-447. 期刊类型引用(4)
1. 庾靖,李蓬蓬,魏征,刘小汇,牟卫华. 组合导航系统故障诊断和隔离算法研究综述. 无线电工程. 2025(02): 323-333 . 百度学术
2. 王权达,徐博,张涛. AUV导航系统故障诊断与容错技术研究综述. 战术导弹技术. 2023(04): 26-36+5 . 百度学术
3. 罗夏. 基于物联网技术的移动网络交互行为异常检测方法. 重庆科技学院学报(自然科学版). 2023(05): 40-44 . 百度学术
4. 王让,邓祥瑞,肖逸,王海峰,陈伟仑. 基于自动化技术的分布式信息系统智能巡检方法. 科技传播. 2023(24): 134-137 . 百度学术
其他类型引用(6)
-