王家海 黄江涛 沈 斌 李 佳
(1.同济大学 机械与能源工程学院 上海 201804;2.同济大学 中德学院 上海 201804)
数控机床是一种结构较为复杂的先进加工设备,对故障的诊断比较复杂。由于故障知识的复杂性和故障的多源性,使得故障知识的表达较为困难。系统的异构有时会出现知识孤岛,不能很好地挖掘隐含信息和推理知识,从而导致系统的知识无法共享和互操作,严重阻碍了故障诊断系统知识的扩展。
由于本体具有有助于领域知识的共享、重用和扩展等优点,所以应用于故障诊断领域的研究已开始起步,并日益受到广大研究者的关注。国内外在对本体运用于故障诊断领域的研究中已取得了一定的成果。Molhanec等运用了基于本体的焊接过程故障诊断方法[1];杜磊等人应用本体构造了发动机故障诊断专家系统,对领域知识库的构建和故障诊断系统的结构定义等做了必要的讨论[2];牛强等提出了使用本体对电动机故障诊断领域知识的描述方法,并对构建的故障知识库进行了检测推理;袁侃等研究了基于本体的飞机舵面结构故障诊断方法。将本体应用在故障诊断方面的其它研究还有汽轮机故障和旋转机械故障等,但在基于本体的数控机床故障诊断领域的研究甚少。
结合上述国内外研究成果,根据本体建模原则,用本体作为数控机床故障诊断知识的表达方式,并提出了构建本体的建模方法,利用Protégé4.3对某型号数控机床的故障诊断知识本体构建进行了实例研究。
当前在本体开发原则中,最具影响力的是Gruber提出的5条本体构建规则:明确性、一致性、可扩展性、最小编码偏差、最小本体承诺。由此可知,数控机床故障诊断本体是一种对于数控机床故障诊断知识领域建模的共同认知,可以明确地定义和描述在该领域中共同认可的术语和关系。
从知识工程学的角度,借助 Protégé4.3构建了数控机床故障诊断知识的核心本体模型。其主要构建步骤如下:(1)确定数控机床的类型;(2)分析数控机床故障诊断领域里的知识,列出所有的相关故障诊断知识,并将其作为本体构建的类;(3)确定在所要构建的本体中的类和关系;(4)使用本体开发工具构建数控机床故障诊断本体,对故障诊断知识进行形式化编码;(5)本体验证。
综合目前的数控机床故障分类方法,分类汇总如表1所示。
表1 数控机床故障分类
数控机床的故障类型多种多样,按故障发生的部位可以不断地细分,如图1所示。
图1 故障部位层次结构
在数控机床故障诊断和解决过程中通常会涉及4个要素:数控机床故障现象、故障原因、故障部位和解决方法。
数控机床故障诊断过程如图2所示。
图2 数控机床故障诊断过程
按照故障诊断本体构建原则并充分分析数控机床故障诊断本体4个要素之后,可得出对数控机床故障诊断的本体形式定义为
定义 1:Fault_Diagnosis_Ontology(FDO)=(S,P,R,HS,HR,I, A,F)
其中包括
(1)S为数控机床故障诊断领域中的概念集合;
(2)P为领域内属性的有限集;
(3)R为某个概念集合S中涉及的概念之间、概念与属性之间的关系集合;
(4)HS为本体的概念层次,表示作用于概念集合S上的偏序集合;HR为本体的关系层次,表示作用于关系集合R上的偏序集合;
(5)I为实例集,对某一特定概念的具体化描述;
(6)A为公理集合,公理中包含许多具体的规则和约束,用来严格约束类和实例的取值范围;
(7)F表示函数,即推理规则。
定义2: 数控机床故障诊断本体类(Classes)是将数控机床故障诊断所需要素抽象形成的集合或概念性表达,是与具体内容无关的抽象集合。例如在对数控机床故障诊断本体构建时,可构建故障现象的子类、故障原因子类、故障机床子类及解决方法子类。
定义3:关系(Relationship)表示在数控机床故障诊断领域中概念之间的交互作用,关系主要有4种(part-of、kind-of、instance-of、attribute-of)。
定义4:属性(Properties)表示故障诊断领域内属性的有限集,包括对象属性、数据属性和注释属性。
定义5:实例(Instances)代表元素,是类的具体化。
定义6:公理(Axioms)代表永真断言,如数控机床包含机械系统。
定义7:函数(Functions)表示一类特殊的关系,该关系的前n-1个元素可以唯一决定第n个元素。形式化的定义为 F:C1×C2××Cn-1→Cn。
在数控机床故障诊断本体中主要包括两种类型的公理:类公理和属性公理。
(1)类公理(ClassAxiom)。其中 DisjointClasses、SubClassOf、EquivalentClasses是类的三大公理。
公理1:
公理2:
公理3:
公理4:
公理5:
公理6:
公理7:
公理8:
(2)属性公理。是对数控机床故障本体类中的属性及属性间关系的一种约束。属性公理主要有属性之间的等价关系owl:Equivalent Property,传递属性owl:Transitive Property,属性之间的包含关系rdfs:Sub Property,属性之间的逆关系 owl:Inverse Of,对称属性owl:Symmeric Property,全局基数限制owl:Functional Property和owl:Inverse Functional Property。
根据上述基本定义和公理等,可以进一步定义数控机床故障诊断本体的类、属性、关系等。
定义8:数控机床故障诊断本体CNC_Machine_Fault_Diagnosis_Ontology(CNCM_F DO)可定义为
式中,CNCM Class为数控机床故障诊断本体类,CNCMProperties为本体属性,CNCM Individuals为实例集,CNCM Relationships为关系类,CNCM Axioms为公理类,CNCM Functions为函数类。
定义9: 数控机床故障诊断本体类CNCMClass可以定义为
式中,CNCM Machine为数控机床故障诊断领域本体类,CNCM Symptom为故障现象类,CNCM Reason为故障原因类,CNCM Ways为解决方案类。
定义10: 数控机床故障诊断本体属性CNCM Properties可以表示为一个三元组,即
式中,Object Property为对象属性;Data Property为数据属性;Annotation Property为注释属性。
根据以上数控机床故障诊断知识的分析和本体构建步骤及原则,用Protégé4.3构建出了按上述描述的某型号数控机床故障诊断知识本体核心模型和故障诊断CNCM Machine类层次树,如图3和图4所示。
图3 数控机床故障诊断知识核心模型
图4 数控机床故障诊断CNCM Machine类层次树
数控机床故障诊断知识本体主要需要进行两种类间的一致性检验:类间循环继承和关系冲突一致性检验。若本体中出现图5(a)所示的情况,则表明所构建的本体是循环继承的;若出现如图5(b)所示的情况,则表明本体的关系冲突的。
图5 循环继承和关系冲突
根据类公理1-8,以上两种不一致现象时可分别通过下面两个算法来进行检查。
算法1:本体中类的循环继承的检验算法,即
(1)设类C1,C2…,Cn是数控机床故障诊断知识本体中的n个互不相同的类;
(2)k=1;
(3)S1=Ф, S2=Ф;
(4)对数控机床故障诊断知识本体中的所有类C*,如果 is-a(Ck,C*),则 S1=S1∪{C*},如果is-a(C*,Ck),则 S2=S2∪{C*};
(5)S1= S1{Ck},S2= S2{Ck};
(6)如果S1∩S2≠Ф,算法结束,数控机床故障诊断知识本体中存在循环继承;
(7)k←k+1;
(8)如果k≤n,转步骤(3);
(9)算法结束,数控机床故障诊断知识本体中不存在循环继承。
算法2:本体中类间关系冲突的检验算法,即
(1)设数控机床故障诊断知识本体中存在 n 个互不相同的类C1,C2…,Cn;
(2)k=1;
(3)S1=Ф, S2=Ф;
(4)对数控机床故障诊断知识本体中的所有类C*,如果is-a(C*,Ck),或者is-a(Ck,C*),则S1=S1∪{C*};如果 disjoint(Ck,C*),则 S2=S2∪{C*};
(5)S1=S1{Ck}, S2=S2{Ck};
(6)如果S1∩S2≠Ф,算法结束,数控机床故障诊断知识本体中存在关系冲突;
(7)k←k+1;
(8)如果k≤n,转步骤(3);
(9)算法结束,数控机床故障知识本体中不存在关系冲突。
经过本体知识的一致性检验,所构建的数控机床故障诊断知识本体是一致的,无矛盾。
根据数控机床故障现象、故障原因、故障部位和解决方法,综合知识工程、人工智能、数控机床故障诊断等理论,对数控机床故障诊断本体建模进行了研究。用Protégé4.3构建的某型号数控机床故障诊断领域对本体的相关算法,验证了对本体诊断的一致性。这将有利于知识推理和共享,为以后基于本体的数控机床智能故障诊断推理机制的研究提供了很好的基础。
[1]M.Molhanec and P.Mach.The ontology based FMEA of lead free soldering process[J]. Electronics Technology.2009(32):13-17.
[2]杜磊,易建军,等.应用本体构造发动机故障诊断专家系统[J].计算机应用.2006,26(3):216-218.