基于状态变量分析的船舶主机控制系统传感器偶发性故障检测
2021-03-09李奇钟朱慧敏谭笑张瑞薛晨习文
李奇钟,朱慧敏,谭笑,张瑞,薛晨,习文
(震兑工业智能科技有限公司,广东 深圳 518101)
0 引言
近年来,随着电子、信息等技术的高速发展,一种不同于传统持续故障形式的特殊故障类型,即偶发性故障逐渐引起了人们的重视。偶发性故障是指一类持续时间有限,没有外部补偿措施仍然可以自行消失使系统重新恢复可接受性能的故障。
目前,对船舶主机控制系统的故障检测已成为热点研究课题。然而多年来,人们大多仅关注持续故障的检测问题,而偶发性故障检测问题研究较少。船舶主机控制系统由复杂电子电路构成,虚焊老化等都会导致控制电路松动进而引发控制器偶发性故障。此外,船舶主机控制系统运行环境复杂,传感器易受震动、电磁干扰等影响,导致传感器偶发性失效。
随着偶发性故障的积累,最终失效无法自行消失而影响主机控制系统的正常工作,对船舶安全构成严重威胁,如果能在偶发性失效转化为永久性失效之前就提前检测到传感器的异常,提前予以修复或更换,便可以避免更大的经济损失和安全风险。船舶主机上布置有多种传感器,其所监测的物理量对于船舶主机的工况(通常用转速表征)都有不同程度的贡献,主机的工况(输出)正是由这些物理量构成的状态向量及状态方程所决定的,其非线性动态系统可简化为如下模型[1]。
规范变量分析是一种动态过程监控和分析的技术,通过最大化历史和未来数据集之间的相关度来获取系统的特征信息,并进一步建立系统的统计模型。如果某传感器传回的读数相较于正常值间歇性发生明显偏移,则认为传感器可能发生了偶发性故障。基于这种思路,本文提出了一种能够对船舶主机控制系统的传感器偶发性故障进行准确检测的方法和系统。
1 CVA检测模型
基于CVA算法的故障诊断技术最早由Negiz和Cinar在1997年提出[2],文献[3-4]对CVA在故障检测中的应用做了详细的介绍。
CVA作为一种子空间算法能有效处理高阶多变量系统,能直接从数据中辨识状态变量的特性使其适用于多变量系统。
(2)按照一定的准则如交叉验证法,确定规范变量的个数f,p。
(3)求标准化后的数据矩阵Χf、ΧP的协方差和互协方差矩阵,并执行奇异值分解:
(4)根据给定的置信水平a,设置状态空间霍特林统计量和残差空间霍特林统计量的阈值和[5]:
其中l为保留的状态个数,U1包含了U的前l列,Ue包含了U的最后mp-l列,为从数据中提取的CVA状态。
(5)实时检测故障时,取一段时间的实时数据进行标准化,在线计算两种统计量:
若结果超出(4)中的阈值,则认为发生了故障。
CVA算法属于故障诊断方法中的多变量统计的方法,与CVA类似的还有包括PCA、PLS、FDA等常见算法[6],但由于船舶主机的各种变量之间往往具有强烈的自相关性和互相关性,使得考虑变量相关性最大化的CVA从多种多变量统计算法中脱颖而出。虽然DPCA和DFDA等算法通过对原有的基础算法进行改进,考虑状态变量的时滞性,但对于自相关性较强的系统仍然容易显得力不从心[7]。同时,考虑到对传感器偶发性故障检测的实时性要求,我们需要选择一种计算代价小、效率高的算法,而CVA以其只需要计算一次奇异值分解的理论优势超越了其他许多同类算法[8]。综上所述,我们最终选择了CVA算法作为故障检测的基础算法。
近年来,CVA及其改进算法往往用于化工过程的故障检测,相关的工作大多在公开的数据集比如田纳西-伊斯曼(TE)化工过程仿真平台[6,9-15]和模拟青霉素生产过程[16]产生的数据上进行仿真和研究,研究者从算法的鲁棒性[17]、时变性[10]等各个角度予以创新,但很少脱离化工过程的模型进行仿真,这一方面是出于化工过程往往有清晰的状态方程可以用于理论验证,另一方面缺少其他工业过程的数据集也导致难以开展仿真工作。王宝祥[18]利用CVA算法对滚动轴承退化过程监测,得到振动信号故障特征之后再用经验模态法(EMD)进行分解,再从模态的角度予以分析,对于将CVA算法用于非化工过程有很好的指导意义。
2 实验与结果分析
2.1 数据来源及实验流程
我们采集了本公司经营的一条二十万吨级货运船出厂后一年内的航行数据。由于船上的设备均为全新,我们取第一周的数据作为正常样本,将后半年航行的数据作为测试样本,用于检测是否存在控制系统传感器偶发性故障。算法流程图如图1所示。为了提升算法的准确性,我们将所有传感器的数据均进行去均值和方差归一化的预处理。
值得注意的是,由于CVA本身只关注对主机状况贡献较大的一些特征变量,可能会舍弃部分贡献较小的变量,通过控制前l个变量的累积贡献率达到95%以上,被舍弃的变量对于主机控制系统无足轻重,即使传感器发生了故障,其对主机控制系统的决策的影响也微乎其微,甚至我们可以据此去掉一些不必要的传感器。
图1 故障检测流程
我们的数据包含船主机气缸上多个传感器的读数。具体变量情况如表1所示。
表1 变量编码表
2.2 结果与分析
利用CVA方法,首先可以根据各变量的贡献率选出特征变量,其中各变量的贡献率如图2所示。为了验证算法的正确性,我们也用了动态主成分分析(Dynamic Principal Component Analysis, DPCA)算法计算出了各变量的贡献率(如图3所示),通过对上述两种方法的比较,可以看出对于主要特征变量的选择是一致的。
图2 CVA方法下各变量的贡献率
图3 DPCA方法下各变量的贡献率
从中选取贡献率累积超95%的前l个变量,可得l=19。后续统计量阈值画线,我们只针对这19个特征变量进行。由于奇异值分解时一些小量的倒置,导致统计量可能过于敏感,故只有当连续3个采样点都超过阈值,才认为发生了故障[5]。在某段时间内19个变量的两种T2统计量以及相应阈值画线如图4所示。由此可见气缸排气温度、滑油出口压力、燃油进出口温度三种物理量对应的传感器最容易发生偶发性故障,这可能与其恶劣的工作环境有关。
为了进一步验证CVA方法的准确性,我们采用在高关联度数据集上常用的DPCA算法对同一数据集进行分析,将两种算法的结果进行比较。DPCA算法需要预先设定最大延时,延时越大则考虑数据时序相关性越充分,结果越准确,但计算效率也更低。当延时超过某个阈值(在系统的物理最大延时附近)时,其检测结果趋于稳定。通过计算,本数据集的物理最大延时大约在30个单位时间,保险起见,取延时为50个单位长度的DPCA模型检测结果作为标准,各模型的相对准确率及在同一单核CPU上的运行时间如表2所示。从中可以看出,CVA利用很小的算量开销,达到了较大延时下DPCA模型的同等效果,这也从侧面印证了CVA适用于高关联性数据分析的理论优势。
图4 变量1-22(除去9,15,19)的两种统计量以及相应阈值
表2 不同模型下的检测准确率和程序运行时间
3 结论
(1)CVA方法适用于从船舶主机控制系统的多维传感器数据中提取特征变量,可以找出对主机工作状态有主要影响的物理量,利用相应的统计量阈值设置算法,可以排查出传感器的偶发性故障。
(2)和PCA方法相比,CVA方法考虑了数据的自相关性和互相关性,更适用于对来自船舶主机传感器组等高维强关联数据的分析;DPCA方法虽然也考虑了数据的时序相关性,但计算效率不及CVA,后者更加适用于实时故障检测。
(3)实例分析表明,基于CVA的数据分析方法,为船舶主机控制系统传感器偶发性故障检测提供了新思路,在实船数据上表现出较高的准确性,具有较为广阔的应用前景。