郭 磊,张秀芬*,田永廷,蔚 刚
(1.内蒙古工业大学 机械工程学院,内蒙古 呼和浩特 010051;2.内蒙古机电职业技术学院 教学实习部,内蒙古 呼和浩特 010070)
拆卸序列规划是根据产品内部结构、装配约束关系等信息,生成满足一定约束条件的可指导实际拆卸过程的拆卸序列[1]。拆卸信息模型用于表示拆卸约束关系,是拆卸序列规划的基础。目前,国内外学者对该问题进行了广泛的研究,提出的拆卸信息模型包括无向图、有向图、Petri网、AND/ON图、混合图等。SRINIVASAN等[2]提出了采用无向图来描述拆卸零件之间的连接关系。由于无向图无法表示零件间的拆卸优先关系,获取可行序列解困难。为此,部分学者对无向图进行了改进[3]。DONG等[4]通过分析产品各零部件间的连接关系和几何位置推理出了有向图来描述拆卸信息。拆卸Petri网通常被定义为四元组,分别为:库所(P)、变迁(T)、弧、令牌。Petri网可以完整地描述拆卸约束[5-7]。AND/ON图是通过分析产品装配体→子装配体→零件之间的关系而得[8]。拆卸混合图[9]是在结合无向图与有向图的基础上,利用边的多样性表示不同的约束类型,缩小了可行序列求解空间,应用广泛。
但在大型复杂产品再制造拆卸实践中,由于拆卸零件数的增多导致拆卸混合图结构混乱、构建复杂等。为解决该问题,郁元正等[10]以装配关系为基础构建了层次结构模型;陈建等[11]通过分析零件之间的几何约束信息获取了拆卸模型;赵鸿飞等[12]通过解除产品零件之间的约束自动获取了零件爆炸图。但是上述研究没有考虑零件本身的空间约束以及在拆卸过程中的拆卸任务分配等问题。
为此,本文在拆卸混合图的基础上,增加实际拆卸任务分配等约束,并对拆卸混合图进行层次化改进,建立复杂产品拆卸层次模型,简化拆卸模型及其构建方法。
在实际的拆卸过程中,由于装配深度不同导致其对应的拆卸层次不同[13],传统的约束矩阵不能有效地指导实际拆卸过程。为此,基于逐层拆卸的思想,本文在获取邻接矩阵以及约束矩阵的基础上,结合实际拆卸任务,构建了产品的拆卸层次模型。
层次模型是在拆卸混合图的基础上改进的,其数学表达式如下式所示:
G={V,E}
(1)
式中:V—V={vi,i=0,1,2,…,n+1};v0,vn+1—虚任务节点;v1,v2,…vn—实任务节点;n—零件的个数;E—E={Ed,Ec,Ei},节点之间的约束关系,分别表示接触约束、强物理约束和空间约束。
层次模型节点间约束含义及表示方式如表1所示。
表1 层次模型节点间约束含义及表示方式
假设研究对象是由N个零件组成的复杂产品,拆卸需要若干步,则当前可拆卸零件的集合定义为子拆卸体,记为D。
某球阀爆炸图如图1所示。
图1 某球阀爆炸图1—把手;2—阀杆;3—阀杆螺母;4—密封圈1;5—阀体;6—阀芯;7—调整垫;8—阀盖3;9—螺柱;10—螺母
当拆除零件1、10之后才可继续拆除零件2、9。此时可以称零件1、10为一子拆卸体零件。
子拆卸体获取步骤:
(1)通过产品装配图或者在CAD模型中提取产品装配约束信息;
(2)通过补充待拆卸产品组成的零件之间的几何接触关系。定义接触矩阵Mr=(rij)n×n为节点vi与节点vj之间的接触关系,其中Mr的元素rij具体如下式所示:
Mr=(rij)n×n
(2)
(3)在获取产品零件之间的接触关系的基础上,结合几何约束构建约束矩阵Mc=(cij)n×n为表示节点vi与节点vj之间的拆卸优先关系。强物理约束、空间约束表示节点存在拆卸优先关系,接触约束只表示节点之间存在接触但无拆卸优先级,具体如下式所示:
Mc=(cij)n×n
(3)
(4)根据零件拆卸条件判断当前所有可拆卸节点,并将其存储到同一层,即可获取当前拆卸任务的子拆卸体。
以图1所示的某球阀为例,其接触矩阵Mr=(rij)n×n具体如下式所示:
(4)
其约束矩阵Mc=(cij)n×n具体如下式所示:
(5)
根据Mc、Mr的定义,如果节点vj还未被拆卸,则节点vj可拆卸的条件为不存在拆卸优先级高于节点vj的节点,具体如下式所示:
(6)
提取所有符合式(6)的零件置于同一层,同时删除该零件所在矩阵的行和列,即可获得当前任务的子拆卸体。
设Ω={pi,i=1,2,…,n}表示复杂产品中所有可拆节点,n表示节点个数;A表示已经分层的零件节点集合,初始值为空集,即A=φ;层次模型包括开始虚任务节点、实际拆卸任务节点和结束虚任务节点,i=0为开始虚任务节点。
层次模型的构建步骤如下:
(1)在产品装配图或CAD模型的基础上,建立约束矩阵、接触矩阵,设置i=0并构建空栈nodes;
(2)根据式(6)判断当前可拆零件节点B,并压入A栈中;
(3)将A中元素压入栈nodes中;
(4)将A中元素置于第i=i+1层;
(5)判断栈nodes元素个数是否全部处理完毕,是,转(6)。否,更新约束矩阵,转(2);
(6)根据各节点之间的约束关系及类型,分别确定分层后层次模型节点之间的约束关系;
(7)层次模型构建结束。
构建层次模型流程图如图2所示。
图2 构建层次模型流程图
层次模型是在拆卸混合图的基础上发展而来用于表示拆卸节点之间的拆卸优先关系。当拆卸大型复杂零件时,对层次模型进行简化是必然的。因此,定义如下简化规则:
(1)当节点拆卸优先级形成一个环,则拆卸优先级最高的节点vi与优先级最低节点vj间的强物理约束为冗余约束,可去除;
(2)当拆卸任务之间存在接触约束,且处于同一个子拆卸体内时,可去除。
某球阀层次模型简化图如图3所示。
图3 某球阀层次模型简化图
其中,任务0代表虚任务,1~10代表实任务。增加虚任务可以保证每个实任务之间都有紧前任务和紧后任务,方便后续进行优化编码处理。实箭头线代表强物理约束;虚箭头线代表空间约束,直线表示接触约束。
对于一些结构复杂的大型产品,本文通过构建层次模型的形式,可以清楚地描述其拆卸优先关系,同时结合拆卸任务进行后续的拆卸序列优化。
复杂产品可拆卸设计包括拆卸信息建模、拆卸序列规划、可拆卸性评价、可拆卸性再设计等过程。而拆卸信息建模是可拆卸设计的第一环节,建模的效率直接影响后续可拆卸设计进程。为了验证本文方法的可行性和有效性,笔者以某一发动机为研究对象,应用本文方法构建其层次模型,具体的步骤如下:
(1)将拆卸下来的零件进行分类,发动机拆解后的零件图如图4所示。
图4 发动机拆解后的零件图
(2)拆卸方向首先按照人站在车头是+Z,指向人的方向是+X,在Z、X坐标确定后,用右手直角坐标系来确定Y。
发动机拆解后的零件信息如表2所示。
表2 发动机拆解后的零件信息
(3)从三维模型中提出零件信息及装配信息,信息提取如图5所示。
图5 信息提取
(4)通过人工补充待拆卸产品组成的零件之间的几何接触关系,建立某发动机的接触矩阵如表3所示。
表3 某发动机的接触矩阵
(5)在获取产品零件之间的接触关系的基础上结合几何约束构建某发动机的约束矩阵如表4所示。
表4 某发动机的约束矩阵
(6)基于拆卸任务及约束关系按照层次结构构造出发动机的层次模型图,零件之间的拆卸任务优先关系如表1所示的表示方式描述。
根据式(6)确定处于第一层拆卸任务的子拆卸体为零件13、20、22、30、31、37,然后将其置于第一层,同时删除其零件所在矩阵信息的行和列,得到发动机层次模型图如图6所示。
根据本文所述方法,由图6可知,发动机可以划分为12个实任务,以这12个实任务为节点构建产品的层次模型,该层次模型总共有14层,由于篇幅有限,只画出实任务所在层即为12层实任务。由图6可知,后4层中每层只有一个拆卸节点,分别是12号连杆,9号气缸,11号曲轴以及26号气缸体。在做完全串(并)行拆卸序列规划时,可将这4个拆卸节点不做规划,在得到的序列结果后加上12-9-11-26即可。
图6 发动机层次模型图
该层次模型可以更加清晰地描述发动机各部件间的连接及约束关系,同时可以指导实际拆卸任务,通过分配各任务的人员以及工位来提高拆卸效率。同时本研究在构建层次模型结束后,提取出矩阵信息,利用笔者课题组[14]开发的拆卸序列规划系统可以直接获取最优(较优)拆卸序列。
本文针对现有的复杂产品再制造拆卸过程中拆卸混合图结构混乱而导致的拆卸过程难度增大的问题,在拆卸混合图的基础上,笔者增加了拆卸实际拆卸任务的分配等约束,对拆卸混合图进行层次化改进。笔者通过构建层次模型,使实际拆卸信息融入到拆卸混合图中,表达了产品间的拆卸优先信息,并为后续的拆卸序列规划提供依据。
以某一发动机为例证明了所提方法的可行性和有效性。该方法的主要特点如下:
(1)通过分析产品拆卸信息建模问题,建立了基于拆卸任务的拆卸层次模型,充分结合了复杂产品的模块化设计的特点,提高了建模效率,为复杂产品自动化拆卸问题的计算机求解提供了支持;
(2)通过去除冗余约束简化了拆卸层次模型,简化了后续序列规划问题的复杂度,提高了问题求解效率。
但是,在拆卸层次模型建构过程中,仍然需要人工交互以补充相关装配/拆卸语义信息。因此,构建装配/拆卸优先级知识库,以提高拆卸信息模型构建的自动化程度是未来的研究方向之一。