APP下载

某型飞机武器发控通道故障诊断专家系统*

2014-11-23

舰船电子工程 2014年2期
关键词:知识库检索故障诊断

(海军驻兰州地区军事代表室 兰州 730070)

1 引言

飞机武器发控通道是指用于控制和管理飞机所携带的各种武器,涉及“机载武器控制系统(又称悬挂物管理系统)—发射装置—机载武器”的航空武器综合体。目前,部队维护人员通过相关测试设备可以对某型飞机武器发控通道进行维护,但维护工作中存在故障定位周期长、故障隔离与定位不准确和故障排除效率低等状况。因此,本文将人工智能技术应用到武器发控通道故障诊断领域[1],通过建立故障诊断专家系统,对导弹发射通道故障进行快速准确定位,并提出专家级维修建议。

传统的诊断类专家系统大都采用基于规则推理(Rule-Based Reasoning,RBR)的方法,这种方法适合于专家知识易用规则表达的简单系统。但是,对于武器发控通道这样复杂的系统,许多故障现象是难以用结构化数据来表达的,如果全部用规则的形式来表示故障诊断知识,不仅提炼规则相当困难,而且规则库也十分庞大和复杂。因此,单纯采用基于规则的方法并不是很有效。论文采用基于案例推理(Case-Based Reasoning,CBR)与基于规则推理相结合的思想,将过去已有的大量诊断案例和可能发生的故障和排除方案作为知识的来源,同时与传统的基于规则推理方法相结合,设计了基于CBR 和RBR 混合推理的武器发控通道故障诊断专家系统[2]。

2 故障诊断专家系统设计

基于CBR 和RBR 的武器发控通道故障诊断专家系统结构模型如图1所示。

图1 故障诊断专家系统结构模型

系统主要由基于CBR 的高层诊断模块和基于RBR 的低层诊断模块构成,其设计思想是基于分层诊断的策略[3]。高层诊断模块由诊断信息获取模块、案例库、案例库管理单元、CBR 推理机、动态数据库和自学习模块组成,完成基于案例的诊断推理。高层诊断原则上主要用于诊断过程的剪枝,即缩小状态空间的搜索范围,以提高系统工作的效率。低层诊断模块实际上是一个典型的基于规则的专家系统,主要由知识库、RBR 推理机、动态数据库、知识获取单元、解释单元等部分组成。当用户提交一个诊断任务时,首先由高层诊断模块进行诊断,将故障范围确定到功能单元级部位。高层诊断模块的求解方案都是以定位到功能单元级部位的子故障描述作为最小解单元,这些功能单元级的子故障又作为低层诊断单元的诊断任务进行进一步诊断。按照层次诊断策略设计的武器发控通道故障诊断专家系统,不仅降低了知识提取和组织的难度,而且大大提高了系统的工作效率。

3 知识库及其管理系统设计

武器发控通道是个复杂的大系统。作为一个对象系统,武器发控通道具有结构层次性,可以将其划分为若干系统,然后进一步划分为若干分系统、子系统和功能单元。通过分析武器发控通道故障的产生及传播机理,可以总结出武器发控通道的故障具有层次性、相关性、时间性和不确定性等特点。针对诊断对象的上述特性,采用分层和分类的方法对知识库及其管理系统进行合理设计[4]。

3.1 知识的分类

武器发控特点结构复杂,进行故障诊断所需要的知识覆盖面很广,为了很好地组织和记忆知识,并便于检索和维护,将完成诊断任务时有关具体对象的知识分为以下五类:

1)功能结构知识:指对发控通道结构和性能的描述知识,主要包括测控设备的结构层次,功能层次,相互间的输入、输出行为关系以及设备本身的工作原理等。

2)专家经验知识:指对发控通道故障、征兆和原因等直接联系的专家启发式经验知识,它是领域专家的经验总结,常以规则的形式存在于专家的头脑而被专家非常灵活的应用。

3)信号特征知识:指在发控通道进行诊断时,许多参数是无法检测的,因此,大量应用的是运行过程中产生的外部直接可观测的信号(如振动、噪声、温度等),通过对这些特征参数信号的分析,能比较准确地诊断设备故障。

4)环境知识:表示与诊断对象有关的外围知识,如设备使用时间、工作环境与故障频率及故障类型分布等。

5)控制知识:表示对领域知识的运用起指导作用的知识,即表示问题求解的控制策略。

3.2 知识库的建立

知识库是专家知识的存储器,其结构是否合理关系着系统诊断的效率。知识库的表示方法很多,复杂系统的知识往往需要将多种不同的表示方法相结合才能有效表达出领域知识,本文主要采用了产生式表示法和基于案例的表示法。

1)产生式表示法

产生式表示法又称规则表示法,其基本形式是:

如果〈前提〉,那么〈结论〉〈可信度〉。

将所有的武器发控通道故障统一编号,以数值故障为例。以“故障编号L(或S)”的形式组合,作为规则的前提。故障编号是指将数值故障进行编号,如编号1是指导弹发射电压,编号2是指某部件电压测量。如果实际测得的数值量比标准量偏大,用L(Large)表示,如果偏小,用S(Small)表示。按这种方式建立规则知识库,如表1所示。

表1 规则知识库结构

2)案例表示法

案例是故障诊断知识的一种表示模式,它将专家的知识与经验用描述案例的数据结构和众多的案例表示出来。实际就是专家求解问题的一个具体例子。用案例进行知识表示并不是一种新的知识表示方法,而是在以往各种表示方法(如产生式、语义网络、框架、面向对象等)上的一级抽象。其实现方法也是基于现有的各种知识表示方法。在武器发控通道故障诊断专家系统中,基于案例的知识表示采用了“而向对象+框架”的知识表示方法来建立案例知识库,其结构如表2所示。

表2 案例知识库结构

3.3 知识库的维护

知识库的维护是对知识库进行类似于数据库对数据的维护。通常,对知识库的维护包括:知识库的建立、删除、查询、更新等。

4 推理机设计

4.1 基于案例的推理机制

基于案例的推理机制的工作流程如图2所示。

图2 CBR 推理的工作流程

问题的提交是指用户按照某种格式向系统描述面临的问题;索引建立是指在分析用户提交问题描述的基础上,建立索引关系;检索与匹配是基于一定的索引方式和类似度定义,完成新问题与案例库中案例的匹配及相似案例的检索;修改与适配是基于一定的适配规则或在用户的自觉参与下,完成对检索出的案例的解策略的修改,使它能够解决当前问题;验证是对适配得出的解策略的有效性检验(一般是通过实践来检验),判断它是否真有效;案例存储是指将有效的解策略及其问题描述构造成一个新案例,存入案例库并维护有关的索引[5]。

1)索引策略。本文采用了基于最近相邻法、归纳法和基于知识法综合的面向对象的案例索引机制。首先用归纳法按照武器发控通道结构的层次性建立案例的分类索引,这个分类索引与武器发控通道结构层次直接对应。然后用最近邻法在同属一类的案例集中进行最近邻索引,即为每个案例建立最重要特征的索引。

2)检索和匹配策略。与案例的索引相对应,CBR 系统中案例的检索也有三种:相联检索、层次检索和基于知识的检索。这里采用了三者结合面向对象的检索策略,首先利用案例的分类信息进行分类检索,确定案例所处的类别。然后在同属一类的案例集中进行最近邻匹配,找到相似度最高的案例。同时,也可根据案例中最重要的特征进行检索,这样可以缩短检索时间。

检索到一个相似案例集后,需确定出当前案例同案例集中哪一个最相似,这就要用到匹配算法,即计算两个案例的相似度。匹配算法公式如下:

式中,i表示第i个匹配的关键特征;相似度[i]表示案例间第i个关键特征的相似度;权重[i]表示第i个关键特征的权重因子。

3)适配策略。通过最近邻匹配检索到的最相似的案例,若与当前案例不完全相同,则历史案例的解决方案只能部分满足当前问题的求解,这种情况下就需调整和修改旧的方案来适配新问题。适配方法通常有置换和转移两种。本文采用了置换的适配策略,即案例求解方案的组成部分能被置换,其中包括故障的检查方法、原因分析和维修建议等部分,置换的多少取决于选择的案例与当前解决问题的差异大小。

4)测试与存储。通过匹配检索,找出相似案例并修改得出诊断报告后,若通过实际测试或实践检验,证明方案正确,则作为一个新的案例被存储在案例库中,若不正确则需继续调整、修改方案。

4.2 基于规则的推理机制

基于规则的推理机制的工作流程如图3所示。

在武器发控通道故障诊断系统基于规则的推理中,采用了基于数据驱动控制策略,即正向推理。其基本思想是:从问题已有的信息(事实)开始,正向使用规则,当规则的条件部分与已有的事实匹配时,就把该规则作为可用规则放入候选规则队列中,然后通过冲突消解,在候选队列中选择一条规则作为启用规则进行处理,并将其结论放入数据库中,作为下一步推理时的证据[6]。如此重复这个过程,直到再无可用规则可被选用或者求得了所要求的解为止。

图3 RBR 推理的工作流程

冲突消解过程,是指在进行模式匹配后,若有两条以上的规则成为竞选规则,系统必须从中选择一条来执行的过程。根据武器发控通道的结构层次性和故障的层次性,如果用树形结构来描述问题求解过程,武器发控通道的故障诊断过程通常呈现出窄而深的链树形状。一颗窄而深的树适合采用深度优先的方法进行搜索。因此,在设计冲突消解策略时采用了深度优先的搜索方法。

5 其他模块设计

1)解释模块。负责回答用户提出的各种问题,并能对专家系统的求解过程和求解结果给出合理解释。本专家系统解释模块的设计采用的是预置文本法,即将每一个问题求解方式的解释框架采用易于被用户理解的形式事先组织好,插入数据库中。在执行目标的过程中,同时生成解释信息。一旦用户询问,只需把相应的解释信息填入解释框架,并组织成合适的文本提交给用户。

2)诊断信息获取模块。完整的诊断信息是进行故障诊断的先决条件。故障诊断信息是指系统发生故障时的异常状态,导弹发射通道故障诊断信息主要包括:多功能显示器、平显显示的故障信息、系统的自检故障信息、自研检测设备提取的信息及检测结果和飞行员反映的空中信息等。

3)诊断报告。用于给出诊断最终结果和维修建议。

4)人机界面。用户与专家系统交互的接口。包括输入和输出两大部分。一方面,它把信息进行识别、理解输入给系统;另一方面,把专家系统产生的结果的内部形式转换成人类能够接受的形式输出给用户。良好的人机界面为用户的使用提供了方便的途径,同时也为系统的维护和改进提供了有效的工具。

6 系统实现

武器发控通道故障诊断专家系统采用Delphi与CLIPS 混合编程的方法进行软件实现[7]。CLIPS(C Language Integrated Production System)是由美国航空航局(NASA)的人工智能部开发的通用专家系统工具,功能完善,语法简捷。由于CLIPS是为人工智能设计的,对数据的处理不是它的技术优势;另一方而,设计者出于可移植性和易于集成的考虑,其操作是基于命令行式的,而且目前也没有汉化版,不支持汉字的输入输出,所以不适合用来编制符合现代软件工程要求的用户交互界面。因此,采用了CLIPS和Delphi混合编程的开发方法。用CLIPS编写核心的基于规则诊断推理部分,用Delphi编写用户界面、数据库管理以及高层的基于案例推理模块。

如何实现CLIPS与Delphi的混合编程是系统实现的关键问题。论文采用了动态链接库(DLL)方式,通过调用动态连接库clips.dll实现CLIPS的混合编程,该动态库倒出了CLIPS中所有的函数。但是DDL 方式并不符合面向对象的编程原则,为了使该动态库更方便地在Delphi环境中开发面向对象的程序,设计了一个类,该类把clips.dll的所有函数封装起来,在程序中对动态库采用静态调用,同时将CLIPS设计为一个面向对象的类,大大方便了对CLIPS的嵌入使用,也更加符合面向对象的程序设计风格。

7 结语

本文综合运用基于CBR 和RBR 的推理机制,设计了某型飞机武器发控通道故障诊断专家系统,并以Delphi和CLIPS混合编程方式予以实现。实际应用表明,通过高效的推理,能够给出合理的维修建议,提高了某型飞机武器发控通道的故障诊断效率。

[1]史慧,王伟,高戈,等.智能故障诊断专家系统开发平台[J].计算机测量与控制,2005,13(11):1167-1169.

[2]敖志刚.人工智能与专家系统导论[M].合肥:中国科学技术大学出版社,2002:78-82.

[3]武波,马玉祥,等.专家系统[M].北京:理工大学出版社,2001.

[4]蔡自兴,约翰.德尔金,等.高级专家系统:原理、设计及应用[M].北京:科学出版社,2005.

[5]胡良名,徐诚,李万平.基于案例推理的自行火炮故障诊断专家系统[J].火炮发射与控制学报,2006(2):53-56.

[6]韩兆福,葛银茂,程江涛,等.故障树分析法在某型飞机火控系统故障诊断中的应用[J].中国测试技术,2006,32(3):39-41.

[7]Joseph Giarratano,Gray Riley.专家系统原理与编程[M].北京:机械工业出版社,2000.

猜你喜欢

知识库检索故障诊断
汉语近义词辨析知识库构建研究
基于包络解调原理的低转速滚动轴承故障诊断
瑞典专利数据库的检索技巧
在IEEE 数据库中检索的一点经验
一种基于Python的音乐检索方法的研究
数控机床电气系统的故障诊断与维修
基于量子万有引力搜索的SVM自驾故障诊断
卫星状态智能诊断知识库设计方法
机构知识库建设的动力研究
江淮同悦纯电动汽车无倒档故障诊断与排除