当前位置:首页 期刊杂志

装配关系矩阵的分层表达与求解

时间:2024-07-28

黄国权,司前前

(哈尔滨工程大学机电工程学院,黑龙江 哈尔滨 150001)

1 引言

产品的装配工艺规划是一个基于知识的过程,从产品的三维CAD装配模型中提取出工艺规划所需信息是至关重要的,对此国内外学者进行了相关的研究。

文献[1]对基于UG 的数据表达、UG/Open API 及装配体的模型树结构进行了研究,提出了一种基于装配模型树结构的装配信息提取算法。文献[2]提出一种检索装配模型中配合关系的检测方法,通过检测分析各零部件间的干涉情况,确定他们之间的装配关系,将提取出的信息在层次性的装配信息模型中进行分类处理,以便于装配模型信息的检索,并开发了相应的功能应用。文献[3]对装配部件及其接触面的识别进行了研究,设计了运用CAD软件的应用程序编程接口API来处理装配模型和提取相关装配数据的系统框架,直接通过CAD 数据接口提取相关装配信息。文献[4]提出了一种检索几何与非几何信息的模型检索算法,构建了基于MBD数据集标准框架的本体结构,给出了基于本体结构的比较两层相似性的方法,完成了基于几何与非几何信息的MBD 模型检索,实现了MBD 数据集结构及语义的表达和存储。文献[5]利用存储在CAD装配模型中的信息及优先级技术来提取零件优先信息,结合相关应用案例对其有效性进行了验证。文献[6]深入研究了飞机装配工艺系统的数据转换与集成方法,开发了可与PDM系统集成的飞机装配工艺系统。

文献[7]对产品零件位置信息的获取及装配体的重构方法进行了研究,通过基于CAA的CATIA二次开发方式,实现了装配体中零件装配信息及位置信息的准确获取。文献[8]以CATIA 为平台,运用二次开发技术对基于MBD模型的装配信息的获取进行了研究,实现了数字化装配技术中制孔信息的自动获取。文献[9]为提高获取复杂产品装配关系的计算效率,提出了一种通过运用零件与子装配体的交包围盒、层次包围盒及多包围盒与表面包围盒的联合相交检测的方式,来减少各包围盒间相交检测次数的方法。文献[10]以Pro/E 为平台运用Pro/Toolkit 开发工具,开发出一个用于获取产品装配信息的接口,可完成产品各零部件属性信息及装配关系信息的获取与载入。文献[11]提出了一种基于改进的递归深度优先遍历的算法,将MBD模型中的信息存储在多叉树中,以层级控制的方式,根据实际所需遍历多叉树,解决了所有信息均要遍历的问题,提高了信息提取的效率。

由上述研究情况可以得出:现阶段主要以现有CAD软件为平台,通过系统所提供的二次开发接口对其进行二次开发,实现装配信息的获取。对于所含零部件较多的复杂产品(如船用柴油机),在实际装配过程中,首先将产品进行结构划分,然后根据生成的装配层次结构图组织装配。因此,以船用柴油机为研究对象,以CATIA为平台,利用CATIA V5 Automation技术,对具有层次关系的装配关系矩阵模型的直接生成与自动获取进行研究,为船用柴油机的数字化装配工艺设计提供数据支撑。

2 层次性装配关系矩阵模型

对于所含零部件较多的复杂产品,对应的装配关系矩阵将是一个维数较大的方阵,当以如此大的一个矩阵作为算法的输入求解装配序列时,将会大大增加求解时间。此外,在产品的实际装配过程中,通常根据产品的结构组成及功能将其划分成各装配单元进行分段装配,然后总装,根据产品中子装配的划分情况,首先将产品中的子装配体当做一个独立的“零件”处理,获取产品的外层装配关系矩阵,然后求解产品中各子装配体的装配关系矩阵,对装配关系矩阵进行分层表达。产品装配关系矩阵的分层表达,如式(1)~式(3)所示。

式中:A,B—子装配体,与其对应的关系矩阵式(1)~式(3)。

由式(1)~式(3)可得:由装配体的层次结构,将关系矩阵分层次表达的方式将9维方阵降阶为5维的方阵,使矩阵得到简化。此外,求解产品装配序列时可根据装配关系矩阵的层次来分层求解,然后依据层次信息将各层序列合并即可得到整个产品的装配序列。如:首先以矩阵U为输入,求出P1,P2,P3,A,B间的装配顺序q1,然后分别以A,B为输入求出P4,P5,P6间的装配顺序q2及P7,P8,P9之间的装配顺序q3,之后将q2与q3插入到q1中即可得到整个产品的装配序列q。通过这种分层求解产品装配序列的方式,能够同时得到整个产品与各子装配体的装配序列。对于需要并行完成装配的子装配体(A,B),可方便的按照各子装配体的装配序列(q2,q3)分别进行各自的装配操作,完成各子装配体的装配后,按照各子装配体间的装配序列(q1)进行总装,完成产品的装配。

3 分层求解方法

3.1 问题分析

产品的层次结构信息可通过三维CAD软件中的装配树来表达,遍历装配树可查看产品的结构、组成及各零件的MBD信息,对于装配关系矩阵的生成及分层表达至关重要。某产品的层次结构树,如图1所示。

由图1所示的结构树可得:该产品由两个子装配体Z1、Z2与两个零件P1、P2构成,Z1又由P3、P4两零件组成等,直观、明确的表达了该产品的层次结构信息。

图1 产品的层次结构树Fig 1 Product Hierarchical Structure Tree

求解产品装配关系矩阵时,通常利用CATIA软件已集成的干涉检测功能来检测装配体中的连接关系,以及产品中各零部件装配过程中的动态干涉情况,但只能检测出各零件间的连接关系,不能将产品中的子装配体当做独立的“零件”来处理,得到独立子装配体与零件间的接触-干涉情况。如一个由子装配体Z(由零件P3、P4组成)与零件P1、P2组成的产品,通过CATIA软件的干涉检测功能仅能检测出P1,P2,P3,P4间的连接关系,不能将Z作为一个“零件”来处理直接得到Z,P3与P4间的连接关系,即不能直接获取Z,P3,P4的三维装配关系矩阵N3×3。若能将Z内部的连接关系“过滤”掉,便可只输出Z,P3,P4间的干涉,直接获得N3×3。

3.2 求解方法

利用CATIA的干涉检测功能,依据产品模型树的层次结构信息,由外至内逐层遍历模型树,并结合子装配体内部连接关系的“过滤”,首先将产品中子装配体处理为独立的“零件”,获取产品的外层装配关系矩阵,然后求解产品中各子装配体的装配关系矩阵,实现装配关系矩阵的分层求解。设Z1、Z2是装配体P中的两个子装配体,P1、P2是P中的零件,则当产品层级为2(即产品模型树仅有两层零部件)时,存在连接关系的两零件具有如下关系:(1)当连接关系属于Z1(或Z2)内部时,则存在连接关系的两零件的父级相同。图2中零件3、4,其父级均为Z1。(2)当连接关系属于Z1与Z2(或Z2与P1、Z2与P2等)时,则存在连接关系的两零件的父级不同。图2中3与5间的连接关系,3的父级是Z1,5的父级是Z2;4与1间的连接关系,4的父级是Z1,1的父级是P。(3)当连接关系属于P2与P1时,则存在连接关系的两零件的父级相同均为P。图2中1,2间的连接关系,其父级均是P,如图2所示。

图2 装配实例模型Fig.2 Assembly Example Model

设待检测的两零部件为OP1与OP2,OP1与OP2中存在的连接关系数为count,则根据上述存在连接关系的两零件的父级关系,以及两待检测零部件间的连接关系数,能够实现子装配体内部连接关系的“过滤”。判断方法如下:

(1)若count>1,且存在连接关系的两零件的父级相同,则OP1与OP2之间无接连接关系;若父级不同,则存在连接关系。

(2)若count=1,且存在连接关系的两零件与OP1、OP2不同,则OP1与OP2间无连接关系;若与OP1、OP2相同,则有连接关系。图2中Z1(P1)与2(OP2)间仅3与4间有连接关系,但此连接关系属于Z1内部,不属于Z1与2,故Z1与2间无连接关系。

(3)若count=0,则OP1与OP2间不存在连接关系。

利用CATIA已集成的干涉检测功能,并结合子装配体内部连接关系的“过滤”方法,来检测存在连接关系的零部件,实现装配关系矩阵的分层求解。

求解流程,如图3所示。

图3 层次性装配关系矩阵的自动获取流程Fig.3 Automatic Acquisition Process of Hierarchical Assembly Relationship Matrix

4 实例验证与结果分析

在CATIA中建立完成的船用柴油机活塞连杆机构的参数化三维模型,如图4所示。

图4 船用柴油机活塞连杆机构爆炸图Fig.4 Explosion Diagram of the Piston Mechanism of Marine Diesel Engine

以该模型为装配对象,运用CATIA V5 Automation 技术,根据3.2节中层次性装配关系矩阵的生成方法,对CATIA进行二次开发,实现层次性装配关系矩阵的自动获取,主要包括层次性连接矩阵、层次性干涉矩阵、层次性支撑矩阵。这里仅以层次性连接矩阵的自动生成为例,验证所提自动获取层次性装配关系矩阵方法的可行性,该方法同样适用于干涉矩阵与支撑矩阵的分层求解,求解过程中判断零部件间的连接关系时,将子装配体内部连接关系的“过滤”考虑进去即可,不再赘述。连接矩阵模型的自动获取流程,如图5所示。

图5 层次性连接矩阵的自动获取流程Fig.5 Automatic Acquisition Process of Hierarchical Connection Matrix

对图4所示的活塞连杆机构模型进行简化,将该机构中两个以上同规格螺纹连接件简化为1个,以提高算法运行速度。大型低速船用柴油机的装配,通常被划分为各装配单元,由几组工人同时进行装配,然后将已装好的各个部件分别送到总装试车台上进行总装配。其中,活塞连杆机构的装配通常被划分为:活塞组件的部装及连杆组件的部装,因此将该机构分为活塞组件与连杆组件两个层次提取该装配体的层次性装配关系矩阵。

在CATIA 的VBA 集成开发环境中所设计的获取层次性装配关系矩阵的程序运行界面,如图6所示。

图6 装配关系矩阵提取程序运行界面Fig.6 Assembly Relationship Matrix Extraction Program Running Interface

根据图3所示层次性装配关系矩阵的获取流程,以及图5所示连接矩阵模型的生成流程,在CATIA的VBA集成开发环境中完成代码编写后,打开如图4所示船用柴油机活塞连杆机构的.CATProduct文档,点击图6所示运行界面中获取层次性连接矩阵按钮,并输入连接矩阵的存储文件路径,即可直接获取到该模型的外层连接矩阵及各子连接矩阵,如图7所示。

图7 活塞连杆机构的各层连接矩阵Fig.7 The Connection Matrix of Each Layer of the Piston Rod Mechanism

由图7所示获取的活塞连杆机构的装配连接矩阵可得:该结果中包含了活塞连杆机构的外层装配连接矩阵、活塞组件的装配连接矩阵和连杆组件的装配连接矩阵。表明:所提装配关系矩阵模型的分层求解方法是可行的,该方法不仅可以在总装配关系矩阵的获取过程中,将产品中的子装配当做独立的“零件”来处理,获取到产品的总装配关系矩阵,又可以实现仅含零件的子装配体关系矩阵的获取,能够方便、快捷的直接生成具有层次关系的总装配关系矩阵及各子装配关系矩阵,同时提取出了装配信息模型中的装配关系信息与层次结构信息。

5 结论

针对所含零部件较多的复杂产品先部装后总装的装配组织形式,对具有层次关系的装配关系矩阵模型的直接生成与自动获取进行了研究。

根据产品的层次结构信息给出了装配关系矩阵模型的分层表达与分层求解方法。依据两待检测零部件间存在的连接关系数,以及存在连接关系的两零件的父级关系,实现了子装配体内部连接关系的“过滤”;通过由外至内逐层遍历结构树的Product节点,利用CATIA软件提供的碰撞干涉检测API函数,并结合子装配体内部连接关系的“过滤”方法,来检测零部件间的接触、碰撞关系,实现了装配关系矩阵的分层求解;利用CATIA V5 Automation 技术实现了层次性装配关系矩阵的自动获取,提取出了MBD装配信息模型中的装配关系信息与层次结构信息;以船用柴油机的活塞连杆机构为例,验证了所给出的装配关系矩阵模型的分层求解方法的可行性。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!