张志虎,余酣冬,黄 强
(南京电子技术研究所, 南京210039)
随着雷达系统越来越复杂,性能越来越高,对雷达可靠性、可测试性和可维护性的要求也越来越高。在保证雷达可靠性,提高雷达装备的可测试性和可维护性,提高测试维修效率,降低测试维修费用等方面,雷达机内自检(简称雷达BIT)技术无疑是一种重要的途径。
常规BIT在提高武器装备测试性和维修性,提高测试维修效率,降低测试维修成本方面起到了极大的作用[1],但常规BIT同时存在一些不足,例如功能相对简单、故障诊断能力差、状态检测能力有限、虚警率高[2-3]。智能BIT的出现,为弥补常规BIT的不足提供了新的思路。国外大型航空公司和军工生产企业都在大力支持智能BIT技术的研究,并将最先进的研究成果应用于各种飞机、雷达等装备[2]。国内智能BIT技术的研究起步较晚,基础理论和方法相对薄弱。
智能BIT就是将包括专家系统、神经网络、模糊理论、信息融合等智能理论应用到常规BIT的设计、检测、诊断、决策等方面,提高BIT综合效能,从而降低设备全寿命周期费用的理论、技术和方法。本文以机械扫描雷达为例,借助人工智能理论和工具——逻辑程序,设计一种机扫雷达智能BIT系统,使得雷达BIT系统能够进行智能化诊断和决策。
基于常规的机械扫描雷达设备,构建如图1所示的智能BIT系统。系统主要包含罩内设备和舱内设备、状态监测模块、事实产生器、推理机、解释器、知识库、知识库管理模块、控制模块以及人机交互接口。
图1 机扫雷达智能BIT系统架构图
罩内设备包括裂缝天线、馈线、波控器、驱动器、罩内冷却设备等分系统,舱内设备包括发射机、中央单元、信号处理机、数据处理机等分系统。罩内设备和舱内设备实时或定时向状态监测模块上报各个设备BIT状态。
系统控制模块根据推理机产生的指令或者人为指令对罩内设备和舱内设备进行控制。事实上,控制模块是结合专家知识和当前BIT状态控制各设备正常工作、停止工作、性能降级工作或者自动转入另外一种工作方式。控制模块也可直接接受人机交互接口输入的控制指令对设备进行操控。
状态监测模块是故障诊断的前提和基础。通过监测罩内设备和舱内设备状态信号,收集和分析各个设备的数据,判断其运行状态是否正常和故障,从而产生BIT信息发送给事实产生器模块。
事实产生器以某种知识表示方法将状态监测模块收集的BIT信息表示为事实知识,作为推理机开展推理的依据。事实产生器实际上是一个知识获取模块。
临时事实库存放的是当前工作状态下动态的事实。动态事实可由事实产生器动态产生,也可由用户根据实际的工作模式、工作状态以及当前作战任务等实际情况临时添加。临时事实库为用户干预智能推理提供了接口。
推理机是实现推理的程序,按照某种的控制策略,根据目前的事实和知识库中先验专家知识进行推理。推理产生的结果辅助用户进行决策或者直接用于对罩内设备和舱内设备进行操控。专家对故障的诊断和处理思想通过推理机实现。推理机是智能BIT系统的核心模块。
解释器是将形式化的知识转化为计算机或者用户能够理解的结果。例如,解释器将推理机推理产生的知识转化为控制模块可以接收的控制指令,或者将推理结果解释为用户可以理解的操作步骤以便用户进行后续的操作。
知识库是以某种知识表示形式存放专家先验知识的集合。类似数据库,数据库是存放数据的集合,知识库是存放知识的集合。知识库越丰富,推理机可利用的知识就越多,越能够对设备的故障进行诊断和处理,智能BIT系统就越智能。知识库又可以细化分为规则库和事实库。在建立知识库时,专家要确保知识库的存放的知识的正确性和知识之间不存在矛盾。
知识管理模块是专家对知识库进行管理的工具。用于往知识库中增加知识、删除知识以及更新知识的模块。
人机交互接口是用户和专家与内部模块交互界面。一方面,专家通过人机交互接口对知识库进行管理,用户通过人机交互接口对设备进行操控;另一方面,解释器通过人机交互接口向用户展示雷达BIT故障诊断结果以及操作建议。
BIT知识表示和推理是智能BIT系统的核心。本节重点阐述系统所采用的知识表示方法及推理机制。
知识表示方法是构建知识库的基础,表示方法选取得是否合理不仅关系到知识库的有效存储,并且直接影响推理机的推理效率。
已经提出了多种知识表示方法,如基于产生式规则的表示、框架表示、逻辑表示、语义网络表示等方法。本文基于人工智能领域非常成熟的知识表示方法——逻辑程序。逻辑程序早在20世纪60年代末及70年代初就已经开始了研究,目前已被应用于规划、计算机辅助验证系统、安全分析、产品配置及诊断等领域。值得一提的是,美国顾问项目(USA Advisor Project)采用的知识表示方法就是逻辑程序。该项目旨在构建美国航天飞机飞行控制员决策支持系统。
本文设计的智能BIT系统采用的是逻辑程序中文献[4-5]中描述的逻辑程序。逻辑程序具备较强的表达能力和较高的执行效率,被视为知识表示和自动推理中最有价值的工具之一[6]。一个逻辑程序是由一些规则和事实组成。逻辑程序中基本规则的语法形式如下
式中:左边部分为规则头;右边部分为规则体;中间的←符号代表推出含义。规则头中b1,b2,…,bm代表的含义是b1和b2以及 bm。b1,b2,…,bm和 a均是形式化的符号,是规则的基本元素,在具体的应用中指代不同的含义。式(1)中规则代表的直观意义是如果条件b1和b2以及bm均成立,则可以推理得到结论a成立。举一个简单的例子,如果我们想表达“鸟会飞”这样一条知识,用式(1)中的规则表示如下
式中:brid代表“鸟”;fly代表“会飞”。整条规则的含义是如果是鸟则可推理得到结论会飞。
逻辑程序中事实的语法形式为
事实实际是一种特殊的规则。当一条规则的规则体为空时,该规则即为事实。也就是说不需要任何前提条件,便可得到结论,该结论即为直观意义上的客观事实。
逻辑程序中另外一种特殊的规则为完整约束为
完整约束中规则头为空。所代表的含义是,一旦前提条件成立,将推理不出任何结论。完整约束常在逻辑程序中作为约束准则。
系统中知识库中的知识就是由上述基本规则、事实及完整约束表示。临时事实库中的知识仅由事实表示。在用规则来表示系统BIT知识时,首先需要明确规则中基本元素,然后根据专家的经验构建规则。以发射机故障诊断知识为例,首先明确发射机故障知识符号表,如表1所示。
表1 发射机故障知识符号表
其次,根据专家经验构建发射机故障诊断规则。专家知识是:如果雷达设备出现真空度异常、前级故障、调制器故障、过压、欠压、过流、打火故障、末级故障及冷却异常中某一种或者多种异常现象,则代表发射机出现故障。对应于该专家知识,构建以下10条规则:
r1:Tx_Err←Vacuum_Err
r2:Tx_Err←Front_Err
r3:Tx_Err←Modem_Err
r4:Tx_Err←Over Press_Err
r5:Tx_Err←Less Press_Err
r6:Tx_Err←Over Flow_Err
r7:Tx_Err←Fire_Err
r8:Tx_Err←Wave_Err
r9:Tx_Err←Back_Err
r10:Tx_Err←Cold_Err
发射机分系统需要严格的控制和保护机制,一旦检测到异常应立刻停止发射任务。为了表示该知识,可在发射机故障诊断规则集上添加以下符号表和第11条规则,以便对发射机分系统进行保护。
表2 发射机保护符号表
r11:Stop_Work←Tx_Err
下面以另外一条辅助决策知识为例描述决策知识的知识表示过程。机扫雷达在下视模式中,如果和通道和保护通道被检测出故障,可以通过控制逻辑,将故障通道的输入信号,切换到差通道,能够完成系统性能降级的任务[7]。
根据决策知识首先创建符号表,如表3所示。
表3 决策知识示例符号表
然后形成以下规则:
SwitchDelta_Oper←AirDown_Work,SigmaChan_Err,GuardChan_Err
推理机进行推理的过程:首先,根据事实产生器产生的动态事实,结合知识库中的已存在的事实,匹配知识库中的规则体,若匹配成功,则触发此条规则产生结论;其次,结论作为新的事实加入,事实不断地去迭代匹配规则体,直至不再产生新的结论,达到一个稳定的状态;最后,该状态下所有的事实作为推理机在此次推理过程中的输出。
以上一节中发射机故障诊断和保护为例,当状态监测模块监测到发射机调制器故障时,事实产生器产生以下事实并存入临时事实库:
Modem_Err
结合临时事实库中的知识和知识库中存有的知识,当前推理机具备的知识如下:
r1:Tx_Err←Vacuum_Err
r2:Tx_Err←Front_Err
r3:Tx_Err←Modem_Err
r4:Tx_Err←OverPress_Err
r5:Tx_Err←LessPress_Err
r6:Tx_Err←OverFlow_Err
r7:Tx_Err←Fire_Err
r8:Tx_Err←Wave_Err
r9:Tx_Err←Back_Err
r10:Tx_Err←Cold_Err
r11:Stop_Work←Tx_Err
f1:Modem_Err
临时事实库中的事实可以匹配知识库中的规则3,触发规则3产生结论Tx_Err,即发射机故障。结论Tx_Err作为新的事实加入推理。此时推理机具备的知识如下:
r1:Tx_Err←Vacuum_Err
r2:Tx_Err←Front_Err
r3:Tx_Err←Modem_Err
r4:Tx_Err←OverPress_Err
r5:Tx_Err←LessPress_Err
r6:Tx_Err←OverFlow_Err
r7:Tx_Err←Fire_Err
r8:Tx_Err←Wave_Err
r9:Tx_Err←Back_Err
r10:Tx_Err←Cold_Err
r11:Stop_Work←Tx_Err
f1:Modem_Err
f2:Tx_Err
新事实Tx_Err匹配规则11成功,触发规则11产生结论Stop_Work,即发射机停止工作。该结论同样作为新的事实加入推理过程。然而新的事实并不再匹配规则,推理过程达到一个稳定状态,此时输出故障结论--发射机故障和控制决策——发射机停止工作。解释器进而向用户提示发射机故障,同时控制模块根据控制决策实时停止发射机工作以保护发射机避免发射机因为大功率输出而烧坏。
基于逻辑程序的知识表示和推理,可快速构建智能BIT系统。本节主要描述系统流程和原型系统实现。
专家进入系统后可通过人机交互接口向知识库添加故障诊断知识,同时也可以删除认为不正确的知识。雷达领域专家在添加知识时一定要确保新添加的知识和知识库中原有的知识不冲突,以确保推理机能够正常开展推理分析工作。
雷达各分系统正常加电启动后,状态监测模块实时监测各分系统的运行状态和故障信息,一旦收到故障信息,将此信息发送给事实产生器模块。事实产生器模块根据文中上节描述的知识表示方法,将故障信息进行形式化的表达,转化为逻辑程序中的事实存入临时事实库,同时触发推理机开展工作。推理机结合临时事实库中的知识和知识库中的规则,根据推理机制开展匹配和迭代,将推理结论发送给解释器模块。解释器将形式化的推理结果转化为故障信息或者控制指令。故障信息或者控制指令均发送给人机交互接口。通过人机交互接口,用户可观察到目前故障信息和故障产生的原因或者获得对故障该采取相关措施的建议。若解释器送出的是控制指令,则直接发送给系统控制模块,对各分系统进行实时控制。图2给出了关键流程。
图2 系统故障诊断和决策流程图
具体实现过程中采用了Windows操作系统,开发工具使用Visual C++6.0。运用面向对象技术,通过对成熟逻辑程序推理机——DLV[6]的封装,在 VC++支持的MFC对话框开发模式下,实现了智能BIT原型系统。
通过知识符号管理界面添加发射机故障符号表,如图3所示。
图3 知识符号管理界图
通过知识管理界面将规则保存至系统知识库,如图4所示。
图4 知识库规则管理界面
状态监测模块监测到发射机调制器故障,将该故障转化为一条知识存入临时事实库中。系统最终运行结果,如图5所示。
图5 推理结果显示界面
用户可查看诊断结果,了解系统BIT状态,也可根据诊断结果采取相应的操作。系统也可以根据推理结果对设备进行自动控制。
文中给出了一个机扫雷达智能BIT系统体系架构、BIT知识表示方法及推理机制,实现了对机扫雷达罩内设别和舱内设备故障的智能诊断和决策。
机扫雷达智能BIT系统利用智能技术——逻辑程序进行BIT知识的表示和推理。逻辑程序是一种描述性语言,简单、直观,方便雷达专家将领域知识形式化的表达,易于快速建立BIT知识库模型,同时利用成熟的推理机,能够高效、充分利用知识库中的知识对故障进行推理。文中虽然以较为简单的系统级BIT例子为例描述了如何开展智能化的故障诊断和决策,但针对更复杂的雷达BIT故障信息处理过程是完全一样。关键在于雷达专家按照逻辑程序的知识表达方式将知识形式化为规则存入知识库中。雷达专家的知识越丰富,智能BIT系统对故障的诊断和辅助决策的能力就越强大。
文中给出的智能BIT设计方案并不局限于构建机扫雷达的智能BIT系统,同样适用其他类型雷达BIT系统设计。
[1] 温熙森,徐永成,易晓山,等.智能机内测试理论与应用[M].北京:国防工业出版社,2002.Wen Xisen,Xu Yongchen,Yi Xiaoshan,et al.Intelligent built-in test theory and application[M].Beijing:National Defense Industry Press,2002.
[2] 黄运来,梁玉英,张 芳.智能BIT故障诊断技术研究与实现[J].火力与指挥控制,2011,36(2):174-176.Huang Yunlai,Liang Yuying,Zhang Fang.The research and realization on technology of intelligent built-in test fault diagnosis[J].Fire Control& Command Control,2011,36(2):174-176.
[3] 徐永成,温熙森,刘冠军,等.智能BIT概念与内涵探讨[J].计算机工程与应用,2001(14):29-32.Xu Yongcheng,Wen Xisen,Liu Guanjun,et al.Research on the conception and connotation of intelligent built-in test[J].Computer Engineering and Applications,2001(14):29-32.
[4] Gelfond M,Lifschitz V.Classical negation in logic programs and disjunctive databases[J].New Generation Computing,1991(9):365-386.
[5] Przymusinski T C.Stable semantics for disjunctive programs[J].New Generation Computing,1991(9):401-424.
[6] Leone N,Pfeifer G,Faber W,et al.The DLV system for knowledge representation and reasoning[J].ACM Transactions on Computational Logic,2006,7(3):499-562.
[7] 徐 钧.机扫雷达 BIT系统解决方案[J].现代雷达,2006,28(7):30-32.Xu Jun.BIT system design items on the mechanic scan radar[J].Modern Radar,2006,28(7):30-32.