摘 要:随着人工智能的发展和应用,不少研究人员采用专家系统、神经网络等方法探索创成式CAPP的研究,根据作者开发的钣金件计算机辅助工艺设计系统,详细地介绍了运用专家系统原理进行工艺过程自动设计的原理和方法,提出采用网络图来描述零件信息和表达工艺决策路线,并利用分层推理的方法和灵活的知识表达以解决CAPP系统开发的复杂性,实现了系统的实用性、开放性、智能性要求。
关键词:钣金件;工艺过程设计;专家系统
计算机辅助工艺过程设计(CAPP)发展至今,涌现出不少系统和设计开发方法。但由于工艺设计的复杂性,仅仅依靠某一项技术是难以满足CAPP系统要求的。如何综合应用各种相对成熟的技术且相对通用的方法来简化CAPP的开发,使之能满足CAPP系统开放性和实用性一直是研究人员所追求的目标之一。随着人工智能的发展和应用,不少研究人员采用专家系统、神经网络等方法探索创成式CAPP的研究,以取代以往使用较多的派生式CAPP,取得了一些理论和实用成果[1-2]。
作者认为,开发CAPP有2个主要的难点:
1)如何将千差万别的零件完整、准确而又快速地描述并输入计算机,即零件输入识别问题。零件的参数包括2类:一类是总体特征参数,如材料、热处理要求、拓扑形状和尺寸等,第二类是几何参数,包括各组成要素的种类、尺寸、位置关系、精度等。与CAD需要和输出的数据不同,CAPP需要的不是一些点、线、面的具体坐标,而是以零件及其组成要素的所谓特征参数和隐含的工艺信息,且要求输入快速方便。
2)加工工艺是各种加工方法的有序排列,得到零件各特征要素的加工方法并不难,但其加工顺序却比较难以解决,虽然有一些工艺编制原则如“先粗后精”等,但在实际应用中如何具体化却是一个问题。
作者开发的钣金类零件CAPP系统,运用成组技术的基本原理对零件进行分类,采用基于特征要素的描述方法来描述零件几何特征,用户只要根据图形或文字提示选择相应的项目并输入必要的参数即可,如图1。这样既直观快速、又精确地描述了零件,便于编制工艺时零件识别。 (图片) 工艺编制分为预处理和工艺生成两部分。预处理是根据特征要素的参数信息通过计算、分析、推理得到各要素的局部工艺信息,如各要素的定位、尺寸精度要求、工装条件等,然后进行综合归纳,得到零件总体信息。
因为输入零件信息时是分别描述零件特征参数,而各加工要素、加工方法、步骤相互影响,需要综合各方面信息来对零件作统一的分析识别。这部分由零件几何信息推理得到工艺信息,可以认为是对零件进行工艺识别,最终得到零件从局部到整体的详细信息,为工艺路线决策和加工方法的选择提供依据,并准备好加工数据。
工艺生成是根据前面推理得到的零件局部和总体信息,结合工艺编制的基本原则如工序集中、基准重合等,生成具体工序、加工余量及工装设备,生成工艺卡和钣金展开图,如图2所示。(图片)
图2 工艺路线编制 1 推理系统的工作原理
本钣金件CAPP系统进行全局推理和局部推理都采用同一推理机,推理时采用双向混合推理,即正向推理结合反向求证,推理时推理机为每一特征要素建立一个局部动态数据库,整个零件信息建立一个全局动态数据库[3]。全局动态数据库存储零件总体特征信息,为工艺路线决策和加工方法的选择提供依据,局部动态数据库存储各特征要素信息,是全局推理的主要依据,编制工艺时还能根据这些信息对各特征要素进行针对性处理。
局部推理时,推理机根据当前特征要素及其局部动态数据库和局部知识库(共有)里的知识进行推理,全局推理从各个局部动态数据库里的结论根据全局知识库里的知识来加以综合归纳,其工作原理,如图3、图4所示。(图片)
图3 局部推理 (图片)
图4 全局推理 这种分层处理方式更合乎人们对零件识别的过程和习惯,推理时目的和对象明确,减少了知识表达和零件识别的复杂性,且每次访问的数据(如动态数据库)较少。最终就可得到带有充足的工艺信息的零件对象。
局部推理和全局推理的推理系统用C语言编制[4],采用深度优先搜索,推理的过程如下:
读取某一条知识(产生式规则)的结论,查看是否已经存在,如果不存在且该规则未经处理,读取其条件,进行求证,如果有条件未知,则求证,如果全满足,得证,如图5所示:(图片)
图5 推理过程 2 知识表达和知识库
系统知识库分为局部知识库和全局知识库2类,知识用产生式规则表示,并以用户可读形式存储,能直接编辑修改。
知识库的知识包括以一阶谓词表示的符号型知识和过程型知识两大类,符号型知识这里略去不讲,过程型知识主要有3种[5-6]:
1)表达式:由于本系统有很多加工要素的数字信息需要根据具体条件加以换算分析,这就需要大量随机而又简单的数学运算,考虑扩充性要求,将它们以文本形式编在知识库里,采用通用的表达式处理程序来执行,例如一个以自然语言表示的知识:
如果圆孔到折弯边距离小于2倍的板材厚度则必须弯曲后加工,分解条件后得:(名称“圆孔”)and(L<2&),前者为符号型知识,相当于一阶谓词逻辑,后者变为知识库中的表达式:P(L)<2×P0(&)(对于圆孔,L表示到折弯边距离,&即板厚),这里P(),P0()为根据关键词从零件参数表中检索出具体参数值,假设距离为3,&为2,代换后:
3<2×2 ---> 3<4 条件成立
2)函数型:使用频繁、较复杂且通用性较强的功能性知识,用系统函数表示,如上面的P0()表示从零件主特征要素参数表取数,P()从当前辅助特征参数表中取数,其它还包括一些系统操作提示关键字。
3)应用程序:有些复杂或通用性较差的知识在考虑扩充性、内存容量等问题的基础上,用独立的应用程序来表达,需要时以子进程方式动态调用。应用程序本身同样要考虑通用性和扩充性,用外部功能知识型数据来支持,比较典型的如模具查找和钣金展开的计算。
3 工艺路线生成
由于工艺设计的复杂性,专家系统要兼顾到各种情况下的加工工艺优化是一个难点,通常由用户提供的工艺知识是工艺人员考虑零件加工过程中的工艺决策思路。可以用加工──决策树来表示,如图6所示。(图片)
图6 决策路线图 可以看到,树的纵向是零件工艺路线安排,而横向是相应加工阶段考虑的不同条件下的加工方案,其中,路线分枝的依据是由前面通过推理得到的结果。
考虑到树形结构是开口状,对于复杂的零件树形综合考虑将产生大量分支,而实际上各分支在相应阶段存在着相同或者相近的加工决策和方案,采用下列的方法来简化。
1)将具有相同决策树路线加以合并,成为“图”的数据结构。图是加权有向图,顶点代表加工行动的一个状态,含有目前的状态、结果和下一步路线的决策方案,边代表从目前状态过渡的方向;权值代表状态过渡的操作。
2)某些决策方案在加工树中重复程度很高,尤其是一些与零件结构关系较少的决策和大量使用但变化种类不多的特征要素加工方法集,如果都编在工艺决策路线里将使路线复杂化和增加顶点数量及联接指针(边),将它们作为一个决策子集提取出来,使用时象函数一样由路线图中的权值所代表的操作来调用它。因而整个零件加工──决策图包括一系列主路线图(主要工艺路线)和次路线图(次要工艺路线),如图7所示。(图片)
图7 主路线图和次路线图 实践表明,采用图的数据结构来表示工艺决策路线,对其搜索匹配而产生具体零件工艺,可较好地解决加工顺序安排问题,有一定优化工艺的能力;减少工艺决策路线存储量,提高搜索效率,表达灵活,有较好柔性;图与程序分离存于外存,格式有一定的规律,接近工艺人员编制工艺的思维方式,清楚易懂,容易维护和扩充;对局部的编程采用递规程序设计就可推广到整个路线图,设计不太复杂。
基于上述原理和方法,作者开发了钣金件CAPP系统。该系统主要由零件信息描述模块、工艺编制模块、工艺编辑模块、工艺文件输出模块和零件信息检索模块组成,如图8所示。各组成模块在软件设计上相对独立,由系统总控模块控制,以数据的流动建立联系。(图片)
图8 钣金件CAPP系统总体结构 4 结论
人工智能技术是计算机技术的一个很重要的发展方向,广泛应用于各个领域,而CAPP一直是制造自动化的难点,就目前看来,纯粹的专家系统或其它人工智能方法来解决加工工艺过程的编制还有一定的困难。而综合采用成组技术相似性原理、人工智能原理和其它可用技术来实现工艺过程的编制,达到系统的实用性、开放性、智能性,这也是所有人工智能系统追求的目的。总的说来,该方法和系统具有如下特点:
1)系统编制思想符合工程技术人员编制工艺的习惯方法,因而其知识库的建立非常方便直观,而建立完善的知识库是一般专家系统最困难的。
2)系统知识库和推理机是相互独立,便于扩充修改,函数库包括了各种通用的方法,应用程序库包括了相对通用的算法和应用程序,系统是基于数据驱动的系统,具体工艺文件和工序图都可存储修改,可以说是一个开放的系统。
3)采用成组技术的相似性原理对实际生产中的各种钣金类零件进行了分类和归纳,简化了系统的设计和操作的复杂性,使系统达到真正的实用性。
12/16/2004
|