导弹故障诊断与预测系统的设计
2018-12-14王文双刘崇屹许才雄朱桂芳徐廷学
王文双,刘崇屹,许才雄,朱桂芳,徐廷学
(1.海军航空大学,山东烟台264001;2.海军舰艇学院,山东青岛266000)
导弹是现代化的高技术武器之一,国家武装力量的重要组成部分,打赢未来战争的杀手锏。从德国最早研制的V1导弹投入使用至今,多种高新技术不断地被运用到导弹上,导弹的综合性能得到了大幅度的提升。但是也不可避免地出现了导弹故障等问题。由于导弹是一个包含大量元器件和电路的复杂、庞大的系统,各个组成部件之间联系紧密,导弹武器系统任何一个部分的故障都可能导致导弹发射失败或发射后失效,导弹部分或完全丧失战斗力,无法对敌方目标形成有效的打击,由此引发的经济损失甚至灾难性的后果更是不堪设想[1]。因此,必须进行有效的故障诊断准确定位导弹故障,同时实现故障发生前的故障预报,评价故障发展趋势及后果,由此预先地做出规划,将潜在的故障消灭在萌芽状态[2],最大限度地减小故障发生的可能及危害,提升导弹综合作战能力,保证最大限度发挥作战效能。
国外在故障诊断与预测技术领域起步较早。以美国为代表的发达国家在装备故障诊断与预测方面做出了大量研究工作,并成立了众多科研机构和组织,取得了较多研究成果。美国成立的卓越技术中心(Center of Excellence,COE)主要从事故障诊断、预测与状态管理方面的研究与应用;美国国防工业协会(National Defense Industrial Association,NDIA)参与美军JSF项目中的电子产品故障诊断、预测工作;美军还成立了故障预测与健康管理联盟(Prognostics and Health Management Consortium,PHMC)[3-4]。
国内虽然在故障诊断与预测技术领域起步较晚,但是研究进展很快,工程应用方面进步也很大。倪巧云[5]和年夫顺[6]等深入探讨了故障诊断与健康管理的发展以及应用,对于国内开展相关工作具有借鉴意义。海军航空大学冯玉光教授等人提出的军用自动测试系统中GPIB总线故障定位的方法,解决了总线通信诊断的难题[7]。虽然学者们取得了许多可喜的研究成果,但是从总体上看,国内故障诊断与预测技术的研究成果绝大部分还停留在理论阶段,缺少一个面向实际应用的工程系统。尤其是导弹受自身以及外部因素的影响,测试信息在一定程度上存在着不确定性,给导弹故障诊断与预测系统的设计增加了难度,相关研究成果寥寥。
针对这一问题,本文在深入分析导弹测试信息不确定性和故障诊断与预测系统需求的基础上,划分功能模块,规划工作流程,讨论实现算法,设计了一个导弹故障诊断与预测系统,以期为导弹故障的准确定位和状态的有效评估提供依据和指导。
1 系统分析
1.1 测试信息分析
导弹测试信息是对导弹状态的客观反映,是判明导弹故障的依据。受导弹自身以及外部因素的影响,导弹测试信息在一定程度上存在着不确定性,并且主要表现为冗余性、不完备性和不协调性。
1)冗余性。导弹测试信息中的某些测试参数不是判断导弹故障情况所必须的。它们占用大量存储空间,增加了定位故障和预测故障的发生发展趋势的计算复杂度。
2)不完备性。导弹测试信息中存在着空值信息。它们可能是定位导弹故障的关键信息,影响故障诊断规则的获取和故障趋势的预测。
3)不协调性。导弹测试信息中,某些超差测试参数相同而故障情况却不同。这可能导致规则提取时产生不确定性诊断规则,即某些不确定性规则的超差测试参数相同,诊断结果不同。利用不确定性规则对某一样本进行故障诊断时可能产生多个彼此冲突的诊断结果。
因此,系统在故障诊断与预测之前必须减小甚至消除测试信息冗余性、不完备性和不协调性的影响,从而降低故障诊断与预测结果中的不确定性[8-9]。
1.2 系统需求分析
能够对采集到的具有不确定性的导弹测试信息进行处理,提取诊断规则。通过故障诊断实现导弹故障的准确定位。通过故障预测实现导弹状态的有效评估。进而建立导弹测试信息数据库、故障诊断规则库和故障诊断预测结果库。要求具有操作简单、界面友好、功能强大的人机交互界面,并且能够对历史信息进行查询。
主要功能包括:通过人机交互界面将采集的测试信息录入系统数据库,对录入的不确定性测试信息进行处理,包括删除正常、重复测试信息和冗余测试参数以及缺失值的完备化处理,最终提取诊断规则;能够对导弹进行故障诊断,在已有故障诊断规则无法直接对超差测试信息进行诊断以及出现规则冲突时,能够实现故障诊断推理;能够结合已有的特征参数信息,对未来某一时刻的值进行预测;能够对历史测试信息、故障诊断结果和故障预测结果进行模糊和精确查询;能够实现用户名和密码的修改并且提供一套严格的身份验证机制,确保安全。
2 总体设计
2.1 功能结构设计
根据软件系统的功能需求,系统主要包含测试信息管理、故障诊断、故障预测、历史信息查询和系统管理5个功能模块,如图1所示。
1)测试信息管理模块。最终目的是从原始测试信息中提取故障诊断规则丰富导弹故障诊断规则库。本模块首先将采集到的不确定性原始测试信息录入导弹测试信息数据库,删除正常测试信息、重复测试信息和冗余参数,对不完备测试信息进行完备化处理;然后,分别从中提取确定性诊断规则与不确定性诊断规则,删除重复规则;最后,整理合并规则,录入导弹故障诊断规则数据库。
2)故障诊断模块。本模块将故障诊断样本信息录入导弹测试信息数据库,利用导弹故障诊断规则库中的确定性诊断规则对样本信息进行故障诊断推理,得到唯一诊断结果。
3)故障预测系统。本模块首先删除采集到的故障预测测试信息中的缺失值,再录入导弹测试信息数据库;然后,构造预测模型,预测未来某个时刻的特征参数值;最后,将该预测值与故障门限值比较,判断故障情况。
4)历史信息查询模块。在界面输入导弹编号或(和)测试时间,查询导弹测试信息数据库中的测试信息或者故障诊断预测结果库中的故障诊断、预测结果。
5)系统管理模块。主要包括用户名和密码的修改以及用户登录和连接数据库的身份验证。
图1 功能模块结构图Fig.1 Structure graph of function module
2.2 工作流程设计
通过系统的功能结构设计,系统已经有了总体的框架结构,但是系统各个模块之间的协作过程仍然是模糊抽象的。因此,必须对系统的工作流程进行规划,帮助设计者把握全局,为下一步各个功能模块的设计实现奠定基础。
导弹故障诊断与预测系统整体的工作流程描述如下:
1)用户通过身份验证进入系统主界面后可以进行用户名和密码的修改,也可以对历史测试信息、故障诊断结果和故障预测结果进行查询,或者连接数据库以便下一步进行故障诊断与预测。
2)成功连接数据库后,用户可以录入原始测试信息通过测试信息处理提取诊断规则;也可以录入故障诊断样本信息进行故障诊断推理;或者录入故障预测测试信息进行故障预测。
3)关闭界面,用户退出系统。如图2所示。
图2 工作流程图Fig.2 Work flow graph
3 算法实现
3.1 测试信息管理模块
本模块分为测试信息录入、测试信息处理和提取诊断规则3个部分。
首先,剔除正常测试信息、重复测试信息和冗余测试参数,避免冗余性造成的故障诊断时间和空间上的浪费。其次,采用完备化算法填补缺失值,避免不完备性造成的有用故障诊断信息的丢失。最后,从测试信息中提取故障诊断规则,包括确定性诊断规则和不确定性诊断规则,从而克服导弹测试信息的不协调性对故障诊断的影响,录入导弹故障诊断规则库。本模块流程如图3所示。
冗余测试参数的处理采用属性约简[10]算法,具体步骤如下。
Step1:计算分辨矩阵D和相对核CoreC(D)。将相对核作为初始的约简集R,即R=CoreC(D)。
Step2:检验分辨矩阵D中的每一个元素项是否含有约简集R中的元素,如果含有,令该元素为空,分辨矩阵D转化为再生分辨矩阵Z。
Step3:检验Z是否是空矩阵,如果成立,则算法结束。否则,执行Step4。
Step4:计算Z的再生集S。
Step5:计算S中再生集属性ck在Z中出现的频率f(ck)。
Step6:统计f(ck)=1的再生集属性ck个数。如果个数为1,则R=R⋃ck,算法结束。如果个数为0,则计算所有再生集属性ck的决策熵E(R⋃ck→D),跳到Step7。否则,找出决策熵最小的再生集属性ck,令R=R⋃ck,算法结束。
Step7:找出最小决策熵E(R⋃ck→D)对应的再生集属性ck,统计ck个数。如果个数为1,则R=R⋃ck,跳到Step2。否则,执行Step8。
Step8:选取在Z中出现频率f(ck)最高的ck,令R=R⋃ck,跳到Step2。
图3 测试信息管理模块流程图Fig.3 Flow graph of test information management module
关于缺失值的完备化处理,常用的完备化处理方法有删除法、补齐法和扩展法[11]。文献[12]中的ROUSTIDA算法是一种填补性能较好的经典算法。但是当该算法应用在不完备不协调决策系统中可能会导致新的冲突情况。本文采用文献[13]的方法,考虑不同子系统中相似对象对填补效果的影响,对不完备决策系统进行重新划分,避免产生冲突。具体算法步骤在此不再赘述。
导弹故障诊断规则是反映故障与故障征兆之间关系的一种表现形式,分为确定性诊断规则和不确定性诊断规则。确定性诊断规则指所有与规则相符的样本都一定会得到唯一诊断结果;不确定性诊断规则指与规则相符的样本可能得到多个彼此冲突的诊断结果。经过测试信息处理后的信息仍具有不协调性。这就导致不确定性诊断规则的产生,在一定程度上影响了故障诊断的可靠性。因此,本文采用一种属性值约简算法,分别筛选出确定性诊断规则和不确定性诊断规则,将二者区别对待,具体步骤如下。
Step1:令决策系统的行序号p=1,执行如下循环。
Step2:计算决策系统规则rp的规则辨识矩阵M(rp)。
Step3:检验M(rp)是否有全零行。如果成立,记录该规则的行序号p值与全零行对应对象的行标i值,该规则和全零行对应对象的规则属于不确定性规则,均不约简,跳到Step8。否则,执行Step4。
Step4:删除重复的行。
Step5:计算规则rp的值核属性。令值核Core(rp)=∅。在M(rp)中找出只存在一个1而其余元素均为0的行。将这唯一的一个1所在的列加入Core(rp)。删除M(rp)中该列元素也为1的所有行。Core(rp)中的元素即为所求值核属性。
Step6:检验M(rp)是否为空。如果成立,根据Core(rp)得到规则rp的简化规则,跳到Step8。否则,执行Step7。
Step7:计算规则区分函数。从规则区分函数中得出极小合取范式,再转化为析取范式。析取范式中的每个合取式都是诊断规则rp的简化规则。
Step8:p=p+1,若p<|U|(U为决策系统的行数),则结束循环。
3.2 故障诊断模块
本模块分为测试信息录入、完备决策系统录入和故障诊断推理3个部分。
首先,判断录入的样本信息是否为正常测试信息。然后,利用导弹故障诊断规则库中的确定性诊断规则与样本测试信息进行比对,若得到唯一诊断结果,则输出诊断结果并将诊断结果录入故障诊断预测结果库,以便查询。否则,结合冲突证据合成方法[14]进行判断。本模块流程如图4所示。
DS证据理论能够有效解决冲突问题[15],但是不适用于证据高度冲突的情况[16],并且基本概率赋值获取受主观因素影响较大。本文在文献[17]的基础上,选取证据信任度作为基本概率赋值,引入证据可信度作为权重对DS证据理论进行改进,解决了上述问题,实现了诊断推理。完整的运算步骤如下:
Step1:将样本信息与导弹故障诊断规则库中的确定性规则进行比对,若能够得出唯一诊断结果,则输出诊断结果。否则,跳到Step2。
Step2:构造识别框架Θ={θ1,θ2,…,θN}。完备决策系统中所有的决策属性作为识别框架的元素θ1,θ2,…,θN,所有测试参数作为证据E。
其中,基本概率赋值最大的决策属性即为诊断出的故障部件,输出诊断结果。
图4 故障诊断模块流程图Fig.4 Flow graph of fault diagnosis module
3.3 故障预测模块
本模块分为测试信息录入和故障预测两个部分。
首先,将测试信息录入导弹测试信息数据库,删除空值信息,避免测试信息的不完备性使得故障趋势难以预测。然后,设置故障门限值和预测时间,通过构造预测模型得到预测值,与故障门限值比较,从而判断故障是否会发生。最后,将预测结果录入故障诊断预测结果库,以便查询。本模块流程如图5所示。
图5 故障预测模块流程图Fig.5 Flow graph of fault prognosis module
灰色系统是指同时具有已知信息和未知或非确定信息的系统。导弹测试数据具有不确定性,因而导弹可以看作是一个灰色系统。又因导弹特征参数的监测是由具体任务而定,大多是不等时间间隔的[18]。因此,本文提出一种改进UGM(1,1)的非等间隔预测方法,依据测试数据进行故障预测,主要运算步骤如下。
Step4:构造数据矩阵B和Yn。其中,。
3.4 信息查询模块
本模块分为历史测试信息查询、故障诊断结果查询和故障预测结果查询。首先,输入查询条件;然后,数据库中的结果与查询条件进行匹配。若匹配成功,则输出查询结果。否则,输出提示语句“没有找到符合条件的测试文件”。
3.5 系统管理模块
本模块分为用户管理和安全管理。用户管理包括用户名和密码的修改;安全管理包括登录和连接数据库时的安全验证。以密码修改为例,首先输入原始密码,检验与登录密码是否相同以防止他人恶意修改。如果不相同,则弹出错误提示重新输入。否则,再次输入新密码。然后,检验两次输入的密码是否相同以防止误输入,如果不相同,则弹出错误提示重新输入。否则,将新密码写入注册表,完成修改。完整的流程如图6所示。
图6 系统管理模块流程图Fig.6 Flow graph of system management module
4 结束语
本文针对导弹保障需求,结合导弹测试信息不确定性的特点,从系统的需求分析入手,按照模块化的原则,对系统进行总体设计,确定了系统的功能结构和工作流程,并且给出了各个功能模块的工作流程和实现算法,最终设计出一个导弹故障诊断与预测系统,克服了测试信息冗余性、不完备性和不协调性的问题,实现了故障的准确定位和状态的有效预测,具有一定的实际应用意义。但是,系统还存在一些不足。例如,导弹测试信息的不确定性因素有很多,本文只讨论了冗余性、不完备性和不协调性,对于其他因素,特别是测试信息的随机性,还有待进一步深入研究。