基于案例推理的折弯排序方法研究

2015-07-01 09:31成,许
锻压装备与制造技术 2015年3期
关键词:角码钣金分支

李 成,许 超

(东南大学 机械工程学院,江苏 南京211100)

0 前言

钣金折弯件的工序编排是折弯工件工艺设计的关键环节,工序编排的效果对保证折弯加工精度,提高加工效率有着至关重要的影响。然而,在数控折弯加工中,由于工件几何变化、生产条件不同、折弯要求差异、加工效率等因素,使得折弯工序编排成为一个复杂的工艺决策过程[1]。

针对折弯工序编排特点,国内外有很多学者对其进行了研究。一种方法是利用启发式方法来削减解的搜索范围,使用不同的启发式规则来获取较优解。如J.Doflou[2]等人提出了一种折弯排序解决方案,在几何约束优先的基础上,再结合一个更加细化,基于惩罚的搜索引擎来进行约束求解。但启发式规则过分依赖于零件的形状,有可能会无法获取排序最优解。另一种方法是根据人工智能的原理和方法,通过专家知识的获取、表达和推理来获取目标实例排序最优解。如盛兵等人[3]将类比学习和启发式搜索相结合,开发出了具有一定自学习能力的钣金折弯专家系统。但系统中类比推理方法仅仅是通过部分形状特征匹配实例,匹配相似度受到一定的局限,获取的编排结果的可信度也不高。

作者尝试在数控系统中利用CBR 技术来获取折弯件的工序编排结果。首先向折弯工艺知识库中添加若干典型加工实例,将带求解的目标零件分解成几个实例对象的组合,再从案例库中匹配出属性一致的案例,调用案例的排序解获取分解实例对象的编排,最后将分解模型的局部解按照一些经验规则进行组合,进而得到目标零件的折弯工序,提高了折弯工艺知识的利用率和钣金折弯件的加工效率。

1 典型实例模型及知识表达

作为人工智能研究的一个方法,案例推理(Case-Based Reasoning,CBR)的研究开始于上世纪80年代初[5-6]。CBR 是一种相似类比推理,其核心思想是通过访问和调整实例库中过去同类问题,推理出当前问题的解决策略。实例就是已完成问题的解决方案,它描述了一个问题的状态及求解策略,如图1 所示,通常可用框架、面向对象或语义网络等来表示。其中问题描述部分主要用于实例的分类标识,实例相似度匹配和实例相似性检索。问题解决方案是一个实例成功的解决方案,简单来说,CBR 依据以前成功的工艺设计实例进行当前工艺规划问题的推理求解。运用案例推理技术,就必须建立一个合理的实例模型,同时采用一种方式将实例知识表达出来。

图1 工艺实例基本模型

1.1 折弯实例模型

避免钣金件受到自身干涉以及和机床模具间碰撞干涉的影响,不同形状的折弯件会采取不同的折弯编排策略,本文根据以往工艺经验知识提取出截面类似为“Z”、“反Z”、“U”、“反U”四种类型的典型案例,如图2 所示。其中“Z”和“反Z”,“U”和“反U”这两组只是折弯边的折弯方向不一致,干涉尺寸约束一样,但为了提高匹配效率,故将它们区分表示。钣金折弯件案例的描述部分主要是指实例几何信息的描述,采用角码(AngleCode)、规则码(RuleCode)以及关键尺寸对折弯案例的几何形状进行描述,关键尺寸主要包括案例所有的折弯长度(LengthArray)以及折弯角度(AngleArray),案例的解决方案(Knowledge)即为折弯实例的编排结果。所以钣金折弯件实例模型可表示为:

图2 典型案例

1.1.1 角码

在折弯工件中,图形元素以一定的角度关系相连接,其二维图形可以看作由一系列线段两两首尾相接组成的不封闭图形。本文规定对于某道折弯,从节点序号较小的一端开始进行右手法则,若大拇指朝上就定义为正向折弯,其弯曲角编码为0,反之为反向折弯,其弯曲角编码为1。每个案例含有两个弯曲角,故角码可用一个字节长度为2 的字符串来表示,值为由外至内弯曲角角码的连接,图2 标出了典型案例折弯角的折弯方向,表1 即为典型案例簇的角码值。

表1 典型案例簇角码表

同类案例具有相同的角码,在匹配案例时,首先根据实例对象的角码进行检索其所在案例簇,即为预匹配,也可以称为定性匹配,可以避免不需要的数据匹配计算,从而提高检索效率。

1.1.2 规则码

仅仅通过角码明显不能匹配出合理的案例。因为即使角码相同,如果折弯尺寸不同,也会影响到最终的编排结果,所以需根据零件的尺寸信息进行深度匹配,也可称之为定量匹配。就折弯件截面而言,影响折弯编排最主要的尺寸为折弯角度、折弯长度。容易发生碰撞干涉的典型案例,其折弯角度以及折弯长度存在一定的规律。本文通过研究各种典型案例碰撞时的尺寸约束,制定了对应的尺寸规则表达式。每个案例都有一个表示尺寸约束的规则码,根据实例的具体尺寸值即可判断表达式的真假。这里用一个字节长度为2 的字符串来表示该案例的规则码,以此表示案例的尺寸约束。

(1)Z 型和反Z 型案例尺寸约束

对于Z 型和反Z 型案例,若一侧法兰面的折弯长度在中间法兰面上的投影大于中间法兰面的折弯长度时,对应折弯边应该最后折弯。如果优先折弯,那么在加工另一条折弯边时,折弯件定位时容易和下模发生干涉,如图3 所示。所以该类型的案例可以确定其编排结果。

图3 一个Z 型典型案例

由此可以设计Z 型案例的规则表达式如下:

考虑到下模宽度,在上式中添加k1为Z 型干涉余量因子,令k1=1.2。规则码不相同的Z 型案例具有不同的折弯排序结果,案例知识如表2 所示。表中Case1 两个表达式结果都为假,原则上两个弯可任意顺序,但是这里案例的折弯边默认顺序是由外向内表示,根据“外部折弯边优先”的原则规定其折弯排序。Case4 表示两个表达式都为真,即折任意一道弯后都会影响另一道弯的加工,所以当一个零件出现这样的特征就应该提示重新设计钣金件。“反Z”型案例与Z 型案例有着同样的碰撞尺寸约束,不一一列出。

表2 Z 型案例知识表

(2)U 型和反U 型案例尺寸约束

对于U 型和反U 型案例,若在折第二道弯时,外侧法兰面折弯长度的水平投影大于中间法兰面的水平投影,折弯件就容易和上模发生干涉,如图4 所示,为了防止发生碰撞,所以该侧的折弯边应该最后折弯。即该类型的案例也可以确定其编排结果。

图4 一个U 型典型案例

由此可以设计U 型案例的规则表达式如下:

考虑到上模宽度,在上式中中添加k2为U 型干涉余量因子,令k2=1.2。规则码不相同的U 型案例具有不同的折弯排序结果,案例知识如表3 所示。表中Case1 表示两个表达式结果都为假,原则上两个弯可以任意顺序,但是这里案例的折弯边默认顺序是有外向内表示,根据“外部折弯边优先”的原则规定其折弯排序。Case4 表示两个表达式都为真,即折任意一道弯后都会影响另一道弯的加工,所以当一个零件出现这样的部分就应该提示重新设计钣金件或者选用鹅颈型上模以防止干涉。“反U”型案例与U型案例有着同样的碰撞尺寸约束,不一一列出。

表3 U 型案例知识表

1.2 折弯实例知识表达

知识表达的目的是把人类的知识进行逻辑表示,采用有效的数据结构,物理地表示并存储到计算机中,以便灵活地操作所存储的知识。实例表达方法主要有规则表达法、框架表达法和面向对象的表示方法。在实例表达中,实例的表达问题信息描述部分最为关键,因为它更加体现领域知识的理论精髓,这部分信息通常是一类领域知识中关键性的属性信息,通过上节分析可知,折弯实例的问题描述主要是对实例的几何形状进行描述,主要属性信息包含实例的折弯尺寸信息(包括折弯长度以及折弯角度)、实例规则码和实例角码。面向对象的方法能有效表示客观世界各种复杂的实体及其关系,能够从客观世界的具体事物及事物间的联系进行抽象,更符合人们认识问题和分析问题的习惯思维方式,并具有代码重用和可维护性好等特点。基于面向对象方法的这些优点,本文采用对象类Class Case 来表达折弯实例模型,类中含有几何相关的成员数据,以及处理数据的成员函数。

2 基于CBR的折弯排序流程

基于案例推理的折弯排序流程如图5 所示。

图5 基于案例折弯排序流程

2.1 零件分解

每个复杂的零件可以看作典型案例模型的组合,所以可以将零件分解成若干实例对象,然后通过与案例知识库中的案例进行匹配,从而获取局部排序。零件的分解涉及到创建零件采用的数据结构。由于折弯件的折弯边和面在零件的结构中相互连接,即折弯边和面之间有一个拓扑关系,故本文采用面边属性连接图(FEA)来表示一个钣金件,图6 即为一个钣金件实例及其面边属性连接图。在连接图中,根节点表示钣金件的中心面,其余节点代表法兰面,连接代表折弯边。其中,节点和边分别存储了自身的属性信息。典型案例模型的拓扑关系为通过两条折弯边连接3 个折弯法兰面的模型,故从中心面的每个分支叶子节点逐层遍历向上提取3 个节点以及2条连接作为一个实例对象。重复这个操作,起始点依次递减,直至第3 个节点到达根节点,说明该分支分解结束。按照这种分解规则,图6 所示零件左侧分支可以分解为[f4,e4,f3,e3,f2]、[f3,e3,f2,e2,f1]和[f2,e2,f1,e1,f0]3 个实例对象。

图6 钣金零件实例及其面边属性连接图

2.2 推理机设计

基于案例推理的知识系统的推理机的设计主要是案例检索方法的设计。推理策略有多种,基于本文创建的实例,采用归纳检索策略。通过实例的角码和规则码这两个关键特征属性将实例区分开。首先通过角码将同案例库分割成簇,再通过规则码将每个簇分割成具体案例,构建决策树模型如图7所示。首先根据分解实例对象的属性信息计算它们的角码和规则码,再按照角码进行事例检索,最后根据规则码匹配出最终相似的案例。通过这种从根节点逐层向下进行案例检索,最终获取同型案例,将分解的实例模型与案例的折弯编排结果配对起来,即可求出所有分解实例模型的折弯编排结果。

图7 案例匹配决策树

2.3 模型解组合

将一个零件分解成一个实例对象集,通过案例匹配可以获取每个实例的编排结果,但这只是零件编排的局部解。为了得到零件的整体编排解,就需要按一定的规则将这些局部解组合起来。首先对一个零件,一般中心面的各个分支的内部排序不会影响到其他分支的排序,将中心面的各分支连续编排,按照“外部折弯优先”的顺序依次编排,获得各个分支的折弯排序。因为通常干涉会发生在相邻边的折弯处,所以同向分支排序就涉及到与基板相连的两道折弯排序,提取中心面和相连两道折弯边以及其法兰面作为一个实例对象来进行二级案例匹配求解其排序。上例就可以在X 向提取模型[f1,e1,f0,e5,f5]。如果e1比e5优先折弯,说明左侧分支折弯优先,左侧折弯全部加工好后再折右侧的弯,同样方法组合Y 向分支的编排。最后按照“折弯线长度较短边优先的原则”将两个方向的解组合起来,即可求得零件的编排结果。

图8 零件X 向和Y 向截面图

3 实例验证

以图6 中的钣金零件为例来说明本方法获取折弯工序编排的流程并以此证明该方法的可行性。在创建零件时,就计算出每个折弯边的角码,图8 即为零件的X 向和Y 向的截面图,截面图上含有零件的尺寸信息,以及各折弯边的折弯方向。

首先根据零件的面边属性结构,将零件各个分支分解成若干实例对象,在根据各对象的具体尺寸信息,计算他们的角码和规则码,然后在案例匹配决策树中逐层检索,匹配出相似案例,再调用案例的编排知识,作为实例对象的局部编排结果,如表4 所示。

表4 零件分解及匹配

根据各个分支折弯局部解的组合规则,可以求出各个分支的排序解。上述实例左侧分支的排序即为{e4,e3,e2,e1},右侧分支排序即为{e7,e8,e6,e5},后侧和前侧的组合排序即为{e10,e9}和{e12,e11}。在X 向和Y向分别提取实例模型[f1,e1,f0,e5,f5]和[f9,e9,f0,e11,f11]进行二次匹配,匹配结果均为Case9,为U 型折弯,提取模型的两道折弯没有内外之分,所以X 向和Y向两侧分支先后顺序都不受约束。最后由X 轴向的折弯线长度比Y 轴向的折弯线长度短,根据折弯线长度较短优先的原则应该先弯曲X 向折弯边。所以可以得到最终可行的排序为:

(1)e4-e3-e2-e1-e7-e8-e6-e5-e10-e9-e12-e11

(2)e7-e8-e6-e5-e4-e3-e2-e1-e10-e9-e12-e11

(3)e4-e3-e2-e1-e7-e8-e6-e5-e12-e11-e10-e9

(4)e7-e8-e6-e5-e4-e3-e2-e1-e12-e11-e10-e9

4 总结

本文通过收集和总结已有的知识经验和案例,利用基于案例的推理(CBR)方法来获取一个复杂折弯件的折弯排序,首先将一个复杂的折弯件分解成一个实例对象集,利用归纳检索策略为每个实例模型匹配出相似案例,再根据启发式规则和二次匹配将获取的局部解组合,进而获取目标零件的折弯工序。实例表明,通过该方法可以获取一个复杂件的折弯排序,并能够使折弯数控系统具有一定的自学习能力,提高了钣金折弯工序编排效率和系统的智能性。

[1]张海涛.数控折弯机编程系统的关键技术研究[D].南京:东南大学,2013.

[2]J.Duflou,D.VanOudheusden.Algorithms for the Design Verification and Automatic Process Planning for Bent Sheet Metal Parts [J].Annals of the CIRP 1999,48(1):405-408.

[3]盛 兵.新型折弯数控系统研究[D].武汉:华中科技大学,2002.

[4]陈柏金,丁 静.折弯加工CAD/CAPP 研究[J].锻压装备与制造技术,2004,39(2):98-100.

[5]SongYuyin,Zhang Bopeng,CaiFuzhi,et al.Aknowledge-based design for manufacture system[J].北京:人与控制论国际会议论文集,1996,1220-1224.

[6]陈宏光,王义林,等.基于KBE 的汽车覆盖件工艺方案的决策模型[J].锻压装备与制造技术,2006,41(1):57-60.

[7]罗相文.PACIFIC 折弯机液压系统浅析[J].液压气动与密封,2014,(3).

猜你喜欢
角码钣金分支
钣金V形折弯成形的回弹控制研究
一类离散时间反馈控制系统Hopf分支研究
一类四次扰动Liénard系统的极限环分支
巧分支与枝
高预制率装配式建筑角码支撑体系研究与应用
一种门窗转角连接件
电子钣金结构设计的工艺性分析
浅谈框架式玻璃幕墙闭腔横梁系统
有壹手快修:钣金领域的重度垂直
解决车身钣金异响的方法探究与实践