寇啸溪,曹 岩,乔 虎
(西安工业大学 机电工程学院,西安 710021)
对于装配结构繁复、零件过多的产品进行装配序列规划时,极大概率需要面临“组合爆炸”的问题,这需要极大的运算资源成本,对规划结果的实用价值影响斐然。要解决这一难点,子装配体的识别与生成应运而生[1]。复杂产品分解为一定数量的子装配体和零件,将子装配视为整体与其他零件一起进行装配,能有效地降低求解问题规模。
文献[2]根据提取装配体的计算机辅助设计模型信息,将零件间的接触与配合信息转变为全方位标识的邻接矩阵,根据相应的计算规则生成子装配体。文献[3]提出了一种基于优先级图的装配子集预测方法。文献[4]根据马尔可夫聚类进行内部高聚合力、外部低耦合性筛选子装配结构,基于装配频率判定识别子装配。文献[5]基于本体映射构建装配语义模型,通过节点合并和简化加权装配图,以识别子装配。文献[6]引入图论中度的概念,结合装配体的结构信息矩阵,根据推演判别准则实现子装配体的确定。文献[7]基于图搜索策略通过对联接关系图的极大连通子图的搜索,对有向阻碍图节点的合并与边的动态调整来生成子装配体。文献[8]在装配关系及其相应图模型、矩阵的基础上,检索生成潜在子装配体集合,然后依据矩阵判断公式从集合中排除不符合原则的子装配体。文献[9]利用基于复杂网络的装配体模型数据结合动态层次聚类的算法,提出了一种基于粗糙集理论的关键子装配功能零件的识别方法。文献[10]通过联接关系和自由度的计算来划分子装配体。
本文在综合上述研究的基础上采取装配混合图(G图)建立装配体对应模型,能清晰完整地呈现装配体零件之间的联接结构及关系。装配混合G图可以将零件之间的装配关系语义以有向边和无向边进行呈现,并实现数学转换生成相应装配联接关系矩阵及装配优先关系矩阵。结合子装配体的判别条件与相应矩阵完成子装配体的判定与划分。通过算法编译实现子装配体的自动识别与提取,给出实例验证算法可行性与有效性。在面对复杂装配体时子装配体的自动识别与提取,可以为智能装配序列规划提供数据支持,从而可以满足并行规划,降低装配难度,简化装配序列,缩短装配时间,降低装配成本。
在数字化装配过程中,子装配的提取必不可少。子装配的自动提取需要集合装配信息数据及信息处理平台等多方面支持。实现子装配的自动识别需经历从装配体模型到子装配信息提取等步骤,其基本过程如图1所示。
图1 子装配自动识别过程
信息完备的装配模型和装配关系语义转化能为数字化装配提供先决条件,保障虚拟装配的可行性。本文着重研究能满足装配关系语义数据转换需求的装配混合G图模型的构建与子装配的判别提取。
以图论为基础选择有向图及无向图等概念进行混合结合,可以满足清晰表达装配体结构及装配关系语义的模型需求。因此,采用装配混合G图进行装配模型的构建。选择混合图中的节点代表零部件,混合图的有向边和无向边代表零部件之间的不同装配关系语义。节点仅代表零部件的本体,其大小、外形、材质等相关信息不在混合图中体现。边则可以分别表示零部件之间的装配联接关系和装配优先关系等。
本文构建的装配混合G图是指根据装配体建立的以代表装配关系语义的有向边及无向边混合联接节点的图论模型,可以表示为G= (V,E,DE)。G代表装配混合图;V是节点,代表装配模型的零件。E为无向边,代表两个零部件之间的装配联接关系。DE为有向边,代表两个零部件之间的装配优先关系。装配优先关系存在接触和非接触两种情况,即存在一零件使另一零件无法装配,但二者之间无装配联接关系。装配混合G图模型描述装配关系语义示意图如图2所示。图2中,节点Pi、Pj、Pk分别为V中不同零件;节点Pi到节点Pj为无向边联接,表示零件Pi和Pj之间有装配联接关系;节点Pk到节点Pi为有向边联接,表示零件Pk必须在零件Pi之前装配。节点Pj到节点Pk同时具备有向边和无向边两种联接,表示零件Pj和Pk之间有装配联接关系,且零件Pj必须在零件Pk之前装配。
图2 装配混合G图示意图
结构相对简单的装配体可以根据装配混合G图模型直接人为提取子装配体及序列关系。一旦零件数目过多,结构繁复,只用图解无法清晰描述且人为提取容易出错、效率极低。所以,用装配关系矩阵来描述装配混合G图可以实现产品零部件之间关系的数学转换,便于后期计算及自动化提取时的程序实现。
根据装配体建立装配混合G图模型时存在有向边和无向边混合联接节点的情况。为明确装配关系语义的表达,可以将装配混合G图模型G=(V,E,DE)拆分为代表零件装配联接关系的无向图G1=(V,E)和代表零件装配优先关系的有向图G2=(V,DE)。假定装配体模型包含n个零件,装配混合G图即包含n个节点。拆分成的G1和G2也包含n个节点。可以将G1和G2分别用两个n阶装配关系矩阵进行定义。
定义装配联接关系矩阵
(1)
式(1)中eij(i,j=1 ,2 ,3 ,…,n)表示零件i与零件j之间的装配联接关系,n为零件总数。eij=0表示零件i与零件j无装配联接关系;eij=1表示零件i与零件j有装配联接关系;当i=j时,eij=0。零件i与零件j互为装配联接关系,因此G1为n阶对称方阵。
定义装配优先关系矩阵
(2)
式(2)中dij(i,j=1 ,2 ,3 ,…,n)表示零件i与零件j之间的装配优先关系,n为零件总数。dij=0表示零件i与零件j无装配优先关系约束;dij=1表示零件j必须在零件i之前装配;当i=j时,dij=0。零件i与零件j装配存在先后次序优先关系,因此G2为n阶不对称方阵。
子装配体可以认为是为达到某种实际需求,可作为一个整体进行装配或拆卸的一系列零件的组合。其实际工程意义优于所有零部件独立拆卸或安装的价值。可以将子装配体分成事实子装配体和理想子装配体两类。事实子装配体是指在产品装配阶段已生成的部件等。理想子装配体则可以是为满足装配过程中某些需求,人为将若干零部件作为整体进行装配。根据子装配定义[11],子装配必须满足三个原则:① 可行性原则,子装配体不应干涉装配体中其余零部件的装配;② 连续性原则,子装配体中包含的任一零部件至少与其余零部件有1个联接;③ 稳定性原则,子装配体应能以零部件为组合,作为一个稳定整体进行安装或拆卸。
装配混合G图可以清晰描述零部件装配关系,装配联接矩阵和装配优先矩阵可以满足零部件装配关系的数学表达。故基于装配混合G图及其两个装配关系矩阵可以判别子装配体。将装配混合G图中同时具备装配联接关系约束和装配优先关系约束的零件组合起来可以生成子装配体集合,然后利用矩阵实现子装配体的判定与划分。根据装配混合G图定义,V表示装配体零件集,n是零件个数。结合装配混合G图拆分的两个n阶装配关系矩阵判断零件i是独立零件或划分为子装配体。当零件i与装配体中其他任一零件j之间只存在单一装配联接约束关系或单一装配优先关系约束。则零件i为孤立零件。如果零件i与零件j同时满足既有装配联接约束关系又有装配优先关系约束,则零件i与零件j属于同一子装配结构。即满足零件i、j可被划分为子装配体的判别条件如下
eij=1且dij=1。
提取子装配首先需要根据装配混合G图将具备装配联接关系元素和装配优先关系元素的零件集中成包含子装配体元素的集合。产品作为一个装配整体,通常具备基础件。一般基础件同时具备多种装配联接及装配优先关系,在整装阶段具备重要工程意义。因此算法识别过程中假设基础件不参与子装配的识别。具备多个装配联接关系的基础件在装配混合G图中表现为联接无向边最多的节点。即遍历所有零件,取无向联接边最多的零件作为基础件。判定并舍去基础件后,建立子装配体集合Z=φ,将具备无向边联接关系的零件纳入同一集合。依次从子装配集合Z中选择一个节点P(零件P)进行装配优先约束的矩阵判断;将与节点P联接且具备装配优先关系约束的若干节点合并为Z的子集Zi,遍历与P联接的其余节点,若同时具备装配优先关系约束,则将该节点加到Zi并进行更新,同时更新Z。依次往复直至完成装配体中所有零件判定。输出只具备单一的装配联接关系约束或装配优先关系约束的孤立零件及子装配Zi的集合。
选择铣削夹具为实例,三维模型装配图及零件爆炸图如图3~4所示。以铣削夹具为对象建立相应装配混合G图如图5所示。
图3 铣削夹具装配图Fig.3 Assembly drawing of milling fixture
1-本体;2-V型块;3-导板;4-定向块;5-导板;6-压紧块;7-支板;8-压板;9-螺钉CM10x80;10-螺母M10;11-圆柱销A4×20;12-螺母BM10;13-螺钉M8×35;14-圆柱销A6×45;15-圆柱销A6×60;16-螺钉M8×40;17-圆柱销A6×70;18-螺钉M10×50;19-螺钉M12×90;20-圆柱销10×12;21-螺钉M8×50;22-螺母M8;23-垫圈8;24-螺栓M8×60;25-螺母M8;26-调节支承M8×45。
图5中节点1到节点14是无向边,表示零件1和14之间有装配联接关系。节点14到节点4是有向边,表示零件14必须在零件4之前进行装配。节点7到节点18同时具备有向边和无向边两种联接,表示零件7和18之间有装配联接关系,且零件7必须在零件18之前装配。
1-本体;2-V型块;3-导板;4-定向块;5-导板;6-压紧块;7-支板;8-压板;9-螺钉CM10x80;10-螺母M10;11-圆柱销A4×20;12-螺母BM10;13-螺钉M8×35;14-圆柱销A6×45;15-圆柱销A6×60;16-螺钉M8×40;17-圆柱销A6×70;18-螺钉M10×50;19-螺钉M12×90;20-圆柱销10×12;21-螺钉M8×50;22-螺母M8;23-垫圈8;24-螺栓M8×60;25-螺母M8;26-调节支承M8×45。
铣削夹具装配混合G图被转化为装配联接关系矩阵G1和装配优先关系矩阵G2,两者皆为26阶方阵。根据子装配体的判别条件,遍历26个零件进行判定。将同时具有装配联接关系约束和装配优先关系约束的零件进行相应的子装配提取。可以得出铣削夹具的孤立零件为1和20,提取的子装配为7个,分别为Z1,Z2,Z3,Z4,Z5,Z6,Z7。其中子装配Z1,包括零件2,13和14;子装配Z2,包括零件3,4,17,19,21;子装配Z3,包括零件5,6,15,16;子装配Z4,包括零件7,18;子装配Z5,包括零件8,22,23,24;子装配Z6,包括零件9,10,11,12;子装配Z7,包括零件25,26。以铣削夹具装配混合G图表示相应提取的子装配结果,如图6所示。
1-本体;2-V型块;3-导板;4-定向块;5-导板;6-压紧块;7-支板;8-压板;9-螺钉CM10×80;10-螺母M10;11-圆柱销A4×20;12-螺母BM10;13-螺钉M8×35;14-圆柱销A6×45;15-圆柱销A6×60;16-螺钉M8×40;17-圆柱销A6×70;18-螺钉M10×50;19-螺钉M12×90;20-圆柱销10×12;21-螺钉M8×50;22-螺母M8;23-垫圈8;24-螺栓M8×60;25-螺母M8;26-调节支承M8×45。
子装配体识别与生成是装配序列规划重要环节,可以降低搜索空间维度,满足并行工程等,具有重要的工程意义。本文采用装配混合G图模型有效描述装配关系语义,满足数据化装配需求,进一步转化为零件之间的装配联接关系矩阵和装配优先关系矩阵。装配联接关系矩阵和装配优先关系矩阵在保证装配体结构完整的前提下为子装配判别提供先决条件。给出基于装配混合G图提取子装配体的判别条件与方法,可以有效识别与判定子装配体。通过编译实现子装配体提取流程,完成子装配体的自动识别与提取。以铣削夹具为研究实例,验证了子装配自动识别方法的可行性和有效性。可以为智能装配序列规划提供信息基础与数据储备,能满足复杂机械产品在装配序列规划时需要降低复杂度的要求。