孙 璞,侯俊杰,石 倩,刘骄剑
(中国航天系统科学与工程研究院,北京 100048)
面向三维工艺设计的知识推送方法研究
孙璞,侯俊杰,石倩,刘骄剑
(中国航天系统科学与工程研究院,北京 100048)
为应对三维工艺设计中知识应用所出现的知识检索效率低、知识获取准确度低及工艺知识缺乏个性化等问题,提出了面向三维工艺设计的知识推送方法。以“工艺设计意图的获取与表达—工艺知识的组织与表示—工艺知识的匹配与筛选”为主线,构建了面向三维工艺设计的知识推送框架,并详细阐述了框架中各个模块的功能及关键技术。最后,以某宇航产品工艺设计过程中工艺知识的应用为例,验证了知识推送方法的有效性。
工艺设计;工艺设计意图;工艺知识;知识推送
随着三维产品建模技术及MBD技术的发展,如何高效继承上游的设计模型信息,推动工艺设计过程的自动化已成为制造企业进行工艺设计的重点方向。目前,在三维工艺设计的研究与应用中,学术界及产业界普遍的看法是工艺的知识化是工艺设计过程自动化、智能化的必要前提。
近年来,随着企业信息化的不断发展,各企业根据自身业务的需要,构建了相应的知识库,致使目前存在于企业知识库中的知识种类多、数量大。然而,在这种的情况下,知识检索技术在支撑知识重复使用过程中显得捉襟见肘,如:经常会出现“知识迷航”,“查准率不足、查全率有余”等情况,使得知识在实践过程中的支撑作用大大削减。基于此,知识推送技术作为一种“知识找人”的知识重用方式,其在知识应用过程中具有诸多优点(如:知识推送服务的主动性、推送知识的精确性等),大大弥补了知识检索所出现的上述不足。
近年来,在产品研制领域,知识推送技术得到了国内外学者的广泛研究。Seung Ki Moon、Timothy W[1]等为支持动态电子市场环境下的产品族设计,运用了一种基于多Agent的设计知识推送方法。该方法首先通过对用户的偏好进行学习,然后基于学习的结果将合适的产品设计知识推送给用户。ZHI Zhang-li、YUAN Yi等[2]在分析知识推送对飞机结构设计的重要性的基础上,通过构建动态的、实时更新的用户兴趣模型,实现了飞机设计知识的主动推送。王克勤、杜军[3]针对知识库中知识推送精度低的问题,在确定设计任务和设计知识、构建设计人员知识需求模型的基础上,将设计知识、设计任务和设计人员知识需求模型进行匹配,从而实现了产品设计知识的精确推送。乐承毅、代风等[4]在对企业知识按照知识属性、流程及领域三个维度进行描述的基础上,给出了面向流程的知识主动推送架构,并提出了流程驱动的知识主动推送方法。谢强、张磊[5]在建立用户知识需求模型的基础上,从而实现知识的自动供给,并为企业员工提供个性化的知识服务。
综上所述,在产品研制领域,知识推送的研究主要集中在产品设计知识、制造知识等方面,而面向三维工艺设计的知识推送方法的研究还并不多见。基于此,本文面向三维工艺设计过程,研究工艺知识推送方法,以期实现工艺知识的精准推送,提升工艺设计的质量和效率。
为满足三维工艺设计过程对知识推送的迫切需求,本节给出面向三维工艺设计的知识推送框架如图1所示。
1)工艺设计意图的获取与表达
工艺设计意图的获取主要包括:零件几何特征的自动识别、MBD模型中非几何信息的提取以及对工艺设计问题的输入;工艺设计意图的表达主要包括对所获取的工艺设计意图信息加以有效组织、表示,以便于工艺设计意图信息为计算机所读取、处理。
2)工艺知识的组织与表示
工艺知识的组织与表示主要包括工艺知识具体类型的介绍,工艺知识组成结构模型的构建以及工艺知识的封装。
图1 面向三维工艺设计的知识推送框架
3)工艺知识的匹配与筛选
工艺知识的匹配与筛选主要包括基于人工免疫算法的候选工艺知识集生成以及基于用户知识兴趣模型的候选工艺知识集筛选及推送两部分内容。基于人工免疫算法的候选工艺知识集生成主要包含:工艺设计意图与工艺知识的匹配以及基于免疫调节机制的候选工艺知识集生成(生成的工艺知识具有解的多样性的特点);基于用户知识兴趣模型的候选工艺知识集筛选及推送主要包含:用户知识兴趣模型构建以及基于用户知识兴趣模型对候选工艺知识集加以筛选,以确定推送工艺知识集,并将其推送给工艺人员。
4)工艺知识应用
工艺知识应用是工艺知识推送活动的出发点和落脚点,它通过提供工艺设计意图及工艺人员信息,从而精确地从知识库中寻找出适当的工艺知识,并最终通过得到的工艺知识,辅助工艺人员进行工艺设计。
2.1工艺设计意图的内涵
1)工艺设计意图的定义
在借鉴设计意图概念及内涵、分析工艺设计特点的基础上,对工艺设计意图定义如下:
定义1工艺设计意图
所谓工艺设计意图,是指在进行工艺设计过程中所需的一些背景、设计目标及工艺人员为实现工艺设计目标的一些预期步骤等信息。
具体地,工艺设计意图主要表现为:继承于设计的几何形状、拓扑结构等几何信息,附着在几何信息上的材料、尺寸、公差、表面粗糙度、精度等非几何信息,以及工艺设计过程中所要求解的具体问题。
2)工艺设计意图与工艺知识间的相互关系
基于以上工艺设计意图的定义,可将工艺设计过程理解为:工艺设计人员基于工艺设计意图,并运用知识,以计划、规划、设想、决策等方式得出工艺设计结果的过程。具体地,可将基于工艺设计意图的工艺设计过程描述如图2所示。
图2 基于工艺设计意图的工艺设计
通过图2可以看出:在工艺设计过程中,工艺设计意图与工艺知识的关系类似于问题与答案间的关系,工艺设计意图负责提出问题,而工艺知识则是针对相应的问题给予相应的解决方案,以辅助工艺设计过程。
将上述概念及内涵落在面向工艺设计的知识主动推送过程中,工艺设计意图可理解为引发工艺知识推送的诱因,推送何种工艺知识,其具体内容是什么,均与工艺设计意图的具体内容息息相关。
综上所述,要实现精确的工艺知识推送,就必须对工艺设计意图予以精确地获取与表示。
2.2工艺设计意图的获取
工艺设计意图信息的获取是工艺设计意图进行表达、应用的前提。因此本节将对零件及特征的几何信息,附着在几何信息上的公差、表面粗糙度等非几何信息以及工艺设计过程中所要求解的三种类型的工艺设计意图信息的获取介绍如下。
2.2.1零件几何特征的识别
近年来,随着基于MBD的三维工艺设计模式逐渐得到广泛研究与应用,基于属性邻接图,运用子图同构算法进行加工特征的识别得到了广泛应用。由于这种方法具有较高的识别精度,且该方法简便高效。因此,本文将采用基于属性邻接图的子图同构算法进行零件几何特征的识别。
属性邻接图(Attributed Adjacency Graph,AAG)首先是由Joshi和Chang在文献[6]中作为基本结构用于对拓扑关系进行描述的。属性邻接图是基于图结构表达零件边界的思想来开展的,在属性邻接图中,图中的节点表示面,而节点间的连线表示两个面之间的公共边,且属性邻接图中还反映了邻接面之间具体的几何关系(如:面与面间的角度),此外,还要用虚实线或数字表示节点间连线的凹凸性。具体的几何特征对应的属性邻接图表示方法如图3所示。
图3 基于属性邻接图的几何特征表示
基于此,本文给出基于属性邻接图的特征识别方法,其具体步骤如下:
步骤1:根据零件几何特征模型的STEP文件,构造几何特征的属性邻接图;
步骤2:确定几何特征中各个边的凹凸性,以“0”代表凹边,“1”代表凸边;
步骤3:去掉属性邻接图中的所有凸边,形成全凹面连接子图;
步骤4:通过去掉凹面子图中代表毛坯面的节点,形成特征子图;
步骤5:调用特征识别器识别各特征子图;
步骤6:输出特征信息,保存结果。
2.2.2MBD模型非几何信息的提取
产品零件MBD模型除了上述的几何特征信息外,还通过标注或属性参数数据描述的方式定义了该零件所需要的所有非几何信息,如:通用公差要求、精度要求、表面技术要求等。通过悉心总结,本文将MBD数据集中的非几何信息加以汇总,其中所含具体的非几何信息如表1所示。
表1 MBD数据集中的非几何信息
为了对MBD数据集中的非几何信息加以提取,首先需要对模型中的区域进行选取,这可以通过2.2.1节中的特征识别方法实现,其次需要对该特征上所对应的MBD数据集进行扫描,得到相应的非几何信息列表及其具体的参数。MBD模型上的非几何信息的具体提取流程如图4所示。
图4 非几何信息提取流程
2.2.3工艺设计问题输入
工艺设计问题是工艺设计意图的重要组成部分。它主要由工艺人员根据工艺设计需求,通过手动输入的方式来实现工艺设计问题的获取。
工艺设计问题主要包含两部分内容,即:工艺设计问题(Process Question,PQ)的问题类型(Question Type,QT)及问题描述(Question Description,QD)。其中,工艺设计问题的问题类型主要明确工艺人员在解决工艺问题时对知识的应用类型,如:用于工艺参考、工艺引用还是进行工艺推理;问题描述则是对所求问题的具体描述。
特别地,在工艺设计过程中,工艺设计问题的问题类型主要包含以下三种主要方式,即:
工艺参考--用于参考标准、手册、公式等成熟的通用知识,来辅助工艺设计;
工艺引用--工艺设计过程中,通过匹配以往相似的成功实例,并对其稍加修改,以实现直接引用的目的;
工艺推理--在工艺设计过程中,通过运用规则等知识实现工艺的自动推理。
问题描述则是对工艺设计过程中所涉及的具体问题进行描述,具体地,如:加工参数选择、刀具选择等。
2.3工艺设计意图的表达
2.3.1工艺设计意图的组成结构
综上所述,工艺设计意图(Design Intention,DI)主要包括零件几何特征、非几何信息以及工艺设计问题等信息。为便于实现与工艺知识间的相互匹配,将这些获取的意图信息进行重新组织。
通过重新组织,可将设计意图表示为一个3元组:DI={IB,QT,QD}。IB(Intention Background,IB)表示意图背景,它是工艺设计的背景信息,是进行工艺设计的原始素材,主要包括零件的几何特征和非几何信息;QT(Question Type,QT)表示工艺问题类型,它用于明确工艺人员在解决工艺问题时,对知识的需求类型,如:需要用工艺知识来供工艺人员参考、引用,或是辅助工艺人员进行工艺决策;QD(Question Description,QD)表示问题描述,它是对所求问题的具体描述。基于此,工艺设计意图的组成结构图可表示如图5所示。
2.3.2工艺设计意图的表示
为了使工艺设计意图可以被计算机所识别,以便于后续处理,需要对工艺设计意图运用形式化语言进行表示。由于可扩展标记语言(Extensible Markup Language,XML)是一种元语言,可以设置自己的标签,使用方便,灵活性好[7],且其可表达模型、文本、图片等各类数据,因此,本文用XML语言对工艺设计意图予以表示。
图5 工艺设计意图的组成结构
一份完整的描述用户知识的XML文档由文件头与文件主体两部分构成,文件头包括XML声明以及数据结构定义,文件主体用树形结构存储知识信息[8]。在应用XML语言对工艺设计意图予以表示时,应首先采用2.3.1节所述的工艺设计意图的组成结构对工艺设计意图进行层次化组织,再根据组织模型对相应的设计意图予以表示。
下面,以半框零件中的孔特征为例,运用XML对工艺设计意图加以表示,具体的XML代码如下所示:
3.1工艺知识的组织
3.1.1工艺知识的类型
为利于知识在工艺设计过程中的使用,本文将工艺知识分为以下三类:
通用工艺知识:是针对知识参考这类知识应用而言的,它是指在工艺设计过程中通过查阅来辅助工艺设计的知识,主要包括工艺设计遵循的标准、规范、手册、原则等指导性和理论性的知识。通常,这类知识一般为文档类知识。
工艺实例知识:是指针对知识引用这类知识应用而言的,它是指在工艺设计中可直接引用或修改后引用的知识,主要包括典型工艺实例、典型工艺片段、常用工艺操作等。一般而言,这类知识具有一定程度的结构化,且不同的知识内容会具有不同的层次结构粒度。
工艺决策知识:是针对工艺推理这类应用而言的,它是指在工艺设计过程中,以知识规则的表现形式支持工艺决策的知识。一般地,这类知识至少包括两个基本部分,即:条件和结论,条件一般描述已知的属性和信息,结论则描述在这些属性和信息发生的基础上所引发的结果。
3.1.2工艺知识的组成结构
对应于2.3.1节的工艺设计意图的组成结构,可将工艺知识(Process Knowledge,PK)表示为一个三元组:PK={KB,KT,KC},其中,KB(Knowledge Background)表示知识背景,它是工艺知识的背景条件,主要包括:零件或特征的几何特征及非几何信息;KT(Knowledge Type)表示知识类型,主要包括:通用工艺知识、工艺实例知识及工艺决策知识;KC(Knowledge Content)表示知识内容,它主要指各类知识的具体内容。具体地,工艺知识的组成结构如图6所示。
3.2工艺知识的表示
为便于工艺知识被计算机识别、被知识库存储以及与工艺设计意图进行匹配,本文按照工艺知识的组成结构,分类、分层地采用XML语言对工艺知识进行表示。
图6 工艺知识的组成结构
下面,以半框零件为例,可运用XML语言对工艺知识表示如下:
4.1基于人工免疫算法的工艺知识匹配
由于在工艺知识的搜寻过程中,通常会出现许多条相似的工艺知识,这将使工艺人员将大量的时间花费在知识的筛选过程中,大大降低了工艺设计的效率。因此,本文引入人工免疫算法,实现对相似工艺知识数量的动态调整,从而在限制工艺知识数量的条件下,还可保证工艺知识的多样性。
在人工免疫算法中,工艺设计意图相当于免疫算法中的抗原,而工艺知识相当于免疫算法中的抗体。工艺设计意图与工艺知识的匹配问题则相当于抗原与抗体相互识别的问题。当捕获到特定的设计意图I后,系统对设计意图I中所含的信息进行分析,并提取出设计意图中的关键特征,基于这些关键特征,在知识库中寻找与之匹配的工艺知识,在找到满足匹配条件的工艺知识后,将其加入到候选工艺知识集中,以供后续处理。若没有与之匹配的工艺知识,则输出相应的提示信息。
令K={K1,K2,…,Kn}表示具有n条知识的知识集合。某条知识可表示为:Kp={KpGF,KpNG,KpKT,KpKC},其中,KpGF表示该条知识知识背景中的几何特征(Geometrical Feature,GF)信息,KpNG={KpNG1,KpNG2,…,KpNGn}表示该条知识知识背景中的非几何(Non Geometry,NG)信息集合,KpKT表示该条知识的知识类型,KpKC={KpKC1,KpKC2,…,KpKCn}表示组成该条知识具体知识内容相关信息的集合。
Iq表示某个特定的工艺设计意图。该设计意图可表示为:Iq={IqGF,IqNG,IqQT,IqQD},其中,IqGF表示该工艺设计意图意图背景中的几何特征信息,IqNG={IqNG1,IqNG2,…,IqNGn}表示该工艺设计意图意图背景中的非几何信息集合,IqQT表示该条工艺设计意图中的问题类型,IqQD={IqQD1,IqQD2,…,IqQDn}表示该工艺设计意图中的问题描述信息集合。
于是,若针对某个特定的工艺设计意图Iq,要选择可与该工艺设计意图匹配的M条工艺知识,其工艺设计意图与工艺知识相匹配的问题的数学模型可表示为:
上述公式中,j=1,2,…,n,表示与特定工艺设计意图Iq进行匹配运算的工艺知识集合中含有n条知识,minR,minS表示集合中取值最小的R和S个值,且有:R>M, S>M。此外,表示各匹配项间的一种相似程度的度量方式。
基于此,通过借鉴以上人工免疫算法机理及其详细的算法流程,可得基于人工免疫算法的工艺设计意图与工艺知识的匹配流程如表2所示。
表2 基于人工免疫算法的工艺设计意图与工艺知识匹配流程
4.2基于知识兴趣模型的工艺知识筛选
4.2.1理论基础
鉴于4.1节中生成的候选工艺知识集中的工艺知识在几何特征和知识类型方面是精确匹配的,因此在工艺知识兴趣模型的构建过程中不予考虑。而在非几何信息和知识内容方面是不完全匹配的,因此可将这些信息作为知识属性,基于这些构建工艺知识兴趣模型。
可将工艺知识中的非几何信息及知识内容看作知识属性,应用知识属性构建工艺知识兴趣模型,须明确以下指标:
定义3工艺知识属性
令一条工艺知识中的知识属性为:KA=(KA1,KA2,…,KAn),其中,KA1,KA2,…,KAn为该条工艺知识中的非几何信息及知识内容信息;基于此,对于一个含有m条工艺知识的工艺知识集合,其知识属性可表示为:
上式中,aij表示第i条工艺知识的第j个属性。
定义4工艺知识关于某属性的相似度
在上述工艺知识集合中,设Kp,Kq为其中的任意两个知识项,则它们关于属性t的属性相似度为:
上式中,apt为工艺知识Kp关于属性t的属性值,aqt为工艺知识Kq关于属性t的属性值,at为工艺集合中所有工艺知识关于属性t的均值。
定义5工艺知识属性相似度
对于任意工艺知识Kp,Kq,其属性(包含知识的所有属性)相似度为:
上式中,tk表示工艺知识中的某一属性。
定义6工艺知识属性相似度矩阵
对含有m条工艺知识的工艺知识集合,其知识属性相似度矩阵为:
定义7工艺知识属性综合相似度
给定一个含有m条工艺知识的工艺知识集合及其属性相似度矩阵。对于其中一条知识Kp,其属性综合相似度ASSp为:
定义8工艺知识属性最大相似度
给定一个含有m条工艺知识的工艺知识集合,以及每条工艺知识的属性综合相似度,其属性最大相似度AMS为:
定义9工艺知识偏离相似度
给定一个含有m条工艺知识的工艺知识集合及其属性最大相似度AMS,对于知识集中的某条知识Kp,则其偏离相似度DSp为:
上式中,偏离相似度DSp反映了某条知识Kp与工艺知识集合的综合兴趣相背离的程度,偏离相似度的值越小,其偏离程度越高。因此,可对偏离相似度DS设定阀值β,若某工艺知识的偏离相似度DS大于β,则可认为该条工艺知识符合工艺人员的兴趣;否则,不符合工艺人员的兴趣。
4.2.2工艺知识筛选
工艺知识筛选是对匹配计算所得的候选工艺知识集的进一步过滤,它通过融入工艺人员的个性化信息,从而使待推送的知识更符合用户的要求。在工艺知识的筛选过程中,首先需要在系统中获取用户的日志信息,查到工艺人员曾经浏览过的工艺知识,并基于这些浏览过的工艺知识构建该工艺人员的知识兴趣模型,并基于该知识兴趣模型对候选工艺知识集进行过滤,对于不符合工艺人员兴趣的工艺知识予以剔除,并将剔除后的工艺知识集推送给工艺人员,用于辅助工艺设计。具体地,工艺知识筛选的过程如图7所示。
图7 工艺知识筛选
综上,基于知识兴趣模型的工艺知识筛选的具体流程如表3所示。
表3 工艺知识筛选的具体流程
最终,待推送工艺知识集Sp将推送至用户界面,用于辅助工艺人员进行工艺规划。
为验证上文所述的工艺知识匹配与筛选算法的有效性,本节以航天某型号厂框类零件的通孔工艺设计过程中的工艺知识应用为例,介绍工艺知识匹配与筛选过程。框类零件是卫星等宇航产品中常用的一种承力构件,因此在框类零件的通孔工艺设计过程中,通常参考以往成熟的典型实例工艺,从而通过派生的方式进行新工艺的工艺规划。
为实现工艺知识的匹配与筛选,首先须获取工艺设计意图,如表4所示。
表4 通孔工艺设计意图
假设待匹配与筛选的工艺知识集中含有10条工艺知识,其具体信息如表5所示。
表5 待匹配、筛选工艺知识集
步骤1:设定候选工艺知识集所含工艺知识条数为M=5;两条相似工艺知识间的相似度至少为:μ=93%;候选工艺知识集中相似工艺知识的条数最多为β=1条,工艺设计意图与工艺知识的相似度至少为:α=60%。
步骤2:针对工艺设计意图,剔除掉工艺知识集中与其几何特征不同构,问题类型与知识类型不匹配的工艺知识,即:剔除掉知识KN_0004、KN_0017、KN_0024三条工艺知识。
步骤3:计算工艺设计意图与工艺知识集中各条工艺知识的相似度,计算得出只有KN_0055这条工艺知识与工艺设计意图的相似度为:53.2%,小于工艺设计意图与工艺知识的相似度阀值:α=60%,故将该条知识剔除。
步骤4:计算工艺知识集中剩余工艺知识间的相似度,得出只有KN_0028与KN_0038这两条工艺知识的相似度为:95.6%>93%,由于知识集中相似工艺知识的条数最多为1条,故删掉与设计意图相似度较低的知识KN_0038。
由于已满足候选工艺知识集所含工艺知识条数为5的条件,故此时工艺设计意图与工艺知识匹配过程完毕,得到候选工艺知识集为:Sh={KN_0006,KN_0028,KN_0103,KN_0134,KN_0235 }。
步骤5:设定偏离相似度阀值γ=30%,并基于工艺人员所浏览过的工艺知识集以及式(5)~式(11),分别计算候选工艺知识集中各条工艺知识与用户浏览过的工艺知识集的偏离相似度DS。
步骤6:计算得到知识KN_0006,KN_0028,KN_0103,KN_0134,KN_0235的偏离相似度DS分别为:22.7%、64.1%、16.3%、27.2%、43.9%,将相似度小于偏离相似度阀值γ的知识均予以剔除,将大于γ的知识添加至待推送工艺知识集Sp={ KN_0028,KN_0235 },Sp的具体内容如表6所示。
表6 待推送工艺知识集
步骤7:将待推送工艺知识集Sp推送给工艺人员,辅助工艺人员进行工艺设计。
本文针对三维工艺设计中知识应用所出现的知识检索效率低、知识获取准确度低及工艺知识缺乏个性化等问题,研究面向工艺设计的知识推送方法。首先,基于人工免疫算法实现工艺设计意图与工艺知识间的相互识别与匹配,从而生成候选工艺知识集。其次,基于用户知识兴趣模型的构建,实现了对候选工艺知识集的个性化筛选,并将筛选结果推送给工艺人员。最后,通过实例验证了上述方法的有效性。实例验证表明,上述方法可有效提高工艺设计的效率和质量,可为基于知识的快速工艺设计提供有效支撑。
[1] Seung Ki Moon,Timothy W.Simpson,Soundar R. T. Kumara. Anagent-based recommender system for developing customized families of products[J].Journal of Intelligent Manufacturing,2009,20(6):649-659.
[2] ZHI Zhang- li,YUAN Yi et al. Knowledge active push based on personalized interest model in aircraft structure design[A].2nd International Conference on E-Business and E-Government[C].2011.
[3] 王克勤,杜军.基于粗糙集的设计人员知识需求模型及知识推送研究[J].制造业自动化,2014,36(8):19-23,37.
[4] 乐承毅,代风,吉祥,等.基于流程驱动的领域知识主动推送研究[J].计算机集成制造系统,2010,16(12):2720-2727.
[5] 谢强,张磊.基于任务类知识需求模板和用户模型的知识需求研究[J].武汉大学学报(工学版),2006,39(2):36-41.
[6] Joshi S,Chang TC.Graph-based heuristics for recognition of machined features from a 3D solid model[J].Computer Aided Design,1988,20(2):58-661.
[7] 范文慧,熊光楞.产品设计历史的捕获与管理[J].计算机工程与应用,2002,38(3):1-4.
[8] 刘骄剑.面向复杂产品网络化制造的知识集成与应用关键技术研究[D].南京:南京航空航天大学,2012.
Research on knowledge push method for 3D process design
SUN Pu,HOU Jun-jie,SHI Qian,LIU Jiao-jian
TP182
A
1009-0134(2016)09-0096-10
2016-05-03
孙璞(1989 -),男,陕西富平人,硕士研究生,研究方向为制造业信息化。