APP下载

嵌入式智能汽车故障检测分析仪专家系统的设计与实现

2013-11-24宋卫海

山东农业工程学院学报 2013年6期
关键词:知识库实例故障诊断

宋卫海

(山东农业工程学院机械电子工程系,山东 济南 250100)

汽车故障诊断专家系统是利用车载传感器获取车辆运行状态信息,然后对获取的信息进行综合处理,找出故障信息,分析诊断产生故障的原因,并将诊断结果提供给用户。通常使用神经网络、模糊控制、小波算法等方法进行故障的分析和知识的提取,在推理方面,运用较多的有正向推理、反向推理以及正反混合推理[1]。本文提出了基于规则的汽车故障诊断专家系统,运用不确定性的正向演绎推理,增加了一个实例数据库,用于存储推理结果,避免了重复推理,提高了推理效率[2]。

一、汽车故障诊断专家系统设计

汽车故障诊断专家系统的整体功能模块(如图1所示),主要由数据处理模块和故障诊断模块组成。专家系统的功能是当用户需要故障诊断时,接收由车辆的故障码信息,运用知识库中的知识推理诊断,并将诊断结果反馈给用户[3]。

图1 整体功能模块图

其中车辆的故障码信息通过总线传递给数据处理模块,数据处理模块处理和转换故障码信息,并传递给故障诊断模块;同时处理和转换故障诊断模块传递来的诊断结果并进行故障显示。故障诊断模块是专家系统的核心部分,它根据发送来的故障码,运用知识库中的知识进行推理,得出故障部位、维修建议和置信度,并将诊断结果返回给数据处理模块。本系统在正向演绎推理的过程中,使用深度优先搜索策略以达到对汽车故障的诊断。

二、故障诊断原理

2.1 专家系统基本实现原理。故障诊断模块主要由人机接口、推理机、知识库、综合数据库、知识获取机构、解释系统等组成。其中推理机和知识库是故障诊断的核心部件。人机接口是专家系统与领域专家或知识工程师及一般用户间进行信息交互的媒介;推理机模拟领域专家的思维过程,根据当前已知的事实,利用知识库中的知识,按一定的推理方法和控制策略进行推理,最后得出问题的解;知识库是专家系统的知识存储器,用来存放被求解问题相关领域内的原理性知识或一些相关的事实以及专家的经验性知识;综合数据库用来存储有关领域问题的初始事实、问题描述及其系统推理过程中得到的各种中间状态或结果等,系统的目标结果也存于其中;知识获取机构从知识工程师那里获取知识或从训练数据中自动获取知识,并把得到的知识送入知识库中,并确保知识的一致性及完整性;解释系统通过对自身行为的解释回答用户的提问[1]。此功能模块的流程图(如图2所示)。

图2 故障诊断模块

2.2 知识获取。采用故障树分析法将知识组织成树状结构,故障树分析法是一种将系统故障形成的原因由总体至部分按树枝状逐渐细化的分析方法,可以用来判明故障部位及其原因、影响和发生概率。故障树分析法就是把所研究系统的最不希望发生的故障状态作为故障分析的目标,然后寻找直接导致这一故障发生的全部因数,再找出造成下一级事件发生的全部直接因素,一直追查到那些原始的、无须再深究的因素为止。故障树分析法将最不希望发生的事件称为顶端事件,最终原因称为底端事件,介于二者之间用于推理的事件称为中间事件,并用相应符号表示这些事件,再用适当的逻辑门把顶端事件、中间事件和底端事件连接成树形图,用以 表示故障现象和故障原因之间的关系[4]。

故障树分析过程如下:对系统进行分析,将最不希望发生的事件称为顶端事件;将系统各部分故障现象和故障原因进行定义并组织成故障树形式的逻辑图;运用布尔代数对故障树进行简化,求故障树的最小割集;根据各元部件间关联的故障概率,对系统故障做定量分析。

2.3 推理原理。本系统是基于规则的专家系统,知识被表示为“如果……那么……”的产生式规则,即“IF P THEN Q”的形式,其中P是产生式的前件,指出该产生式规则的条件;Q是一组结论或操作,指出当前提条件满足时应得出的结论或进行的操作。由于此系统一次获取所有故障码,无法在推理过程中询问用户相关信息,用反向演绎推理或正反向演绎推理比较困难,所以用正向演绎推理;正向演绎推理的基本思想是:用户首先用已知的初始事实集初始化临时数据库,在知识库中寻找与临时数据库中的模式匹配的知识,构成可用的知识集。然后运用深度优先搜索作为冲突消解策略选出一条规则进行推理,并将推理出的新事实加入到临时数据库中作为下一步推理的已知事实。如此反复这一过程直到求出所要求的解或者知识库中再无其他可用的知识为止。

本系统是正向推理的基础上的不确定性推理。知识库中的知识具有不确定性,在推理过程中,结论的不确定度为推理过程中规则不确定度的乘积,最后的推理结果按不确定度的大小进行排序,给出用户结论的优先顺序。本系统设置了一个实例数据库,推理的最后结果存放在实例数据库中,当下次发送来的故障码存在于实例数据库时,可以用实例数据库中已有的结论反馈给用户。

三、专家系统算法设计

故障诊断专家系统整体流程图(如图3所示)。故障诊断需要故障诊断模块各部分间的协调工作,基本步骤如下:

(1)程序对数据处理模块传来的数据进行处理,分离出故障码。(2)在实例数据库中查询有无与故障码匹配的诊断结果,若有,将诊断结果传给数据处理模块,程序结束;若无,进行步骤3。(3)建立用于推理的对象,初始化临时数据库。(4)运用知识库中知识进行推理,如果推理失败,将“推理失败”传给数据处理模块,程序结束;如果推理成功,进行步骤5。(5)将推理实例加入实例数据库,将推理结果传给数据处理模块,程序结束。

四、故障推理及设计

(1)建立临时数据库,用于存储规则前件及其对应规则的概率和最终结果及其对应概率。(2)初始化临时数据库,将各故障码与规则前件匹配,形成规则集,运用宽度优先搜索策略,依次选取规则进行推理,将推理结果中的结论加到存储最终结果的数组中,相应概率加到存储最终结果概率的数组中;将推理结果中的操作加到存储规则前件的数组中,相应概率加到存储规则前件概率的数组中,形成新的事实集进行下一步推理。(3)反复执行步骤2直到存储规则前件的数组中不与任何规则匹配时为止。(4)若诊断失败,返回车牌号和“推理失败”;若诊断成功,将推理结果中相同项合并,对应概率相加,去除结果中概率小于0.1的项,并将推理结果存入“实例数据库”,返回车牌号和推理结果。

图3 专家系统整体流程图

五、系统实现

本系统在Windows操作系统下以C#作为开发平台,使用Berkley DB作为专家系统中知识库、实例数据库的服务器。

5.1 知识库和实例数据库的建立。知识库存储了推理机推理所需的知识,是专家系统最重要的部分,存储了用于推理的知识,对应操作或结论和相应置信度。实例数据库具有提高诊断效率的作用,存储了接收到的故障码序列、对应诊断结果和置信度。辅助库存储了故障部位编码及其对应故障部位和维修建议,用于存储推理前件和最终结果,将推理前件和最终结果组织到一个库中,避免了频繁的库间操作,提高了程序的运行效率。

5.2 实际应用结果。在系统运行过程中,诊断结果反馈给用户的同时也显示给系统管理员,通过系统管理员对系统的实时监测,有利于系统性能的测试和评估,为系统的维护和改进提供了依据。

5.3 效果分析。通过对系统的测试,达到了预期的效果,当提供测试数据时,系统给出了正确的诊断结果,可以作为用户排除故障的依据,根据反馈的维修建议,通过相关处理,最终成功的排除了汽车的故障,完成了专家系统的功能。

[1]张丽莉,储江伟,强添刚等。汽车故障诊断专家系统关键技术的研究与发展 。计算机应用研究,2008.2.5

[2]朱全,黄爱蓉,鲍娟。汽车故障诊断专家系统的设计与实现。湖北汽车工业学院学报,2010年6月

[3]鄂加强,龚金科,王耀南等.特种车辆柴油发动机故障诊断专家系统推理机设计.湖南大学学报,2005.3.25

[4]肖云魁.汽车故障诊断学.北京北京理工大学出版社.2006.

猜你喜欢

知识库实例故障诊断
基于包络解调原理的低转速滚动轴承故障诊断
基于TRIZ与知识库的创新模型构建及在注塑机设计中的应用
高速公路信息系统维护知识库的建立和应用
因果图定性分析法及其在故障诊断中的应用
基于Drupal发布学者知识库关联数据的研究
完形填空Ⅱ
完形填空Ⅰ
基于LCD和排列熵的滚动轴承故障诊断
高速泵的故障诊断
位置与方向测试题