基于STEP CAD装配序列规划方法研究

2012-10-10 03:25赵国辉王彤宇
长春工业大学学报 2012年1期
关键词:数据结构顶点方向

赵国辉, 王彤宇

(长春理工大学 机电工程学院,吉林 长春 130022)

0 引 言

装配序列规划是装配规划的核心,国外学者在这方面进行了广泛研究,文献[1]奠定了计算机辅助装配顺序规划研究的基础。他们主要集中研究装配顺序的可行性以及几何可行性。在此基础上,文献[2]提出了将装配转化为拆卸问题,再以割集法求解装配序列。割集法系统性强,但组合爆炸缺陷在很大程度上限制了其应用。因此,文献[3]提出了基于子装配体提取的装配序列规划方法,即可得到合理拆卸顺序进而求出装配顺序。文献[4]从几何方面考虑零件是否可以沿一定方向移动,若不能,则先移去其外侧零件来获取装配序列。文献[5]在文献[4]的基础上,又考虑了零件的特性,引入了关于螺栓、螺帽等紧固件的启发式规则。上述这些方法充分利用了几何配合信息,有的也用到了装配经验知识,但是对装配经验知识利用还很薄弱,有待加以进一步提高规划效率。在国内一些专家学者针对装配序列规划的复杂性将人工智能应用在装配序列规划中,例如,重庆大学的廖小云将遗传算法应用到装配顺序自动规划中,西北工业大学的王辉将装配语义建模的方法引入到装配工艺规划中,浙江大学人工智能研究所的季忠齐等人将装配序列规划中成熟的割集法和人工智能中启发式搜索算法相结合,使装配序列规划具有很高的智能性。

文中提出使用利用STEP CAD格式文件从计算机辅助设计系统输出设计信息,并输入设计信息给装配次序计划的方法。

1 CAD文件自动提取几何信息的算法研究

1.1 用JSDAI从STEP文件中提取几何信息

产品模型数据交换标准STEP(Standard for the Exchange of Product model data)是国际标准化组织ISO为在CAX/PDM中表示和交换工业产品数据而建立的标准。

STEP Part21(实际的文件格式)定义了一个STEP文件的格式和结构。另外,机械零件的格式和包含在文件中的装配数据必须遵守AP203号应用协议。

STEP Part22(SDAI,STEP数据存储界面标准)是一个抽象的说明书,它定义了API的功能(Application Programming Interface,即应用程序界面)[6-7]。

数据储存界面标准SDAI(Standard Data Access Interface)为了读取STEP-file数据提供一个API (Application Programming Interface),STEP-file数据是由STEP建模语言(EXPRESS)编写的。SDAI定义了一个基于语义学的抽象界面,它是依靠编程语言的,使用SDAI到某种编程语言的联编(language binding)来解决这个问题。JSDAI是一个绑定到SDAI规格完整的Java编程语言的API。

在输入Java包裹到应用程序中以后,实际上可直接从STEP第21部分文件读取几何数据,无需将STEP文件转化成另一个数据文件格式。

1.2 从STEP文件中提取局部坐标

为从STEP文件提取局部坐标,需要JSDAI的 “jsdai.lang”包 裹 中 的 4 类:SdaiSession,SdaiReposito-ry,SdaiModel和EntityExtent。

SdaiSession类是被用来开始和结束任意JSDAI活动。SdaiSession类可以初始化和终结SDAI的活动,在程序和一个STEP Part21文件之间完成数据转换处理工作,并动态地建立新的存储库(“JSDAI V 2.3:Core API,”2003)。

SdaiRepository类是图表案例、SdaiModel和应用程序案例永久性存储器的一个物理容器(“JSDAI V 2.3:Core APl,”2003)。

SdaiModel类是被用来对属于同一表达图表的分组实体实例。每一个SdaiModel基于一个EXPRESS图表,称为基础图表。

EntityExtent类将一个SdaiModel中所有的实体案例都归类到文件夹中。

1.3 信息提取原理

从“topological_representation_item”EntityExtent事例文件夹中获得的一个零件的所有拓扑信息和坐标,包含在文件中作为实体类型和图表类型的B-rep(Boundary representation边界表示)的所有要素。应用STEP的203条约指定B-rep为一个已设计产品的实体模型数据格式。通过读和执行事例的索引和每个事例的组件索引,可以从STEP Part21文件提取零件的树型B-rep数据结构。

1.4 树型B-rep数据结构简介

在此项研究所开发的程序中,零件的B-rep数据结构的3个列阵被用于存放几何个体。在B-rep数据结构中个体之间的几何关系如图1所示。

图1 B-rep数据结构中实体之间的几何关系

在图1中,面-轴的实体表示所有零件的面,并保存在一个一维列阵里。面孔-边平面上的个体表示所有零件的边,并保存在一个二维列阵里。面-边-顶点空间的实体表示所有零件的顶点,并保存在一个三维列阵里。边23表示零件第二个面上的第三条边,而且边23被保存在二维阵列中。顶点02n表示零件第零个面上第二条边上的第n个顶点,而且顶点02n是三维列阵中的其中之一。

在STEP格式文件零件的树型B-rep结构中,每个边被重复两次(属于2个面),每个端点被重复6次(属于3个面,并且在每个面中端点属于2个边)。所以,在二维数组中每个元素被记录2次,三维数组中每个元素则被记录6次。

2 STEP CAD中装配序列规划方法

2.1 确定零件之间的干涉关系

因为在自动化的装配作业中多数机械组件是沿主轴被装配的,所以提出的装配计划考虑零件之间的干涉关系必须在6个主轴方向上(+x,-x,+y,-y,+z和-z)。在装配期间,使用几何3D对2D投射的方法,沿6个主轴方向,确定零件之间的干涉关系。如果两个零件的投射沿一个特定轴方向重叠,当其中一个零件朝该特定方向移动或通过另一个零件时,两个零件也许发生碰撞[8]。3D零件的2D投影是在给出的投影平面的一个指定方向上,能从3D零件顶点坐标上被确定投影方向和投影面的几何轮廓。从2D零件的投影图上,能够确定装配操作中零件之间的干涉关系。

2.2 干涉矩阵

定义6个n×n的无干涉矩阵(Fk),其表示在6个主轴方向上一个装配模型的n个零件之间干涉关系。当沿着k方向从无穷远处到装配位置时,如果组件Pi与零件Pj发生干涉,Fk.i.j(第i行与第j列交叉点的元素)是0,否则Fk.i.j是1。例如,假设+y方向上的3个零件装配结构的无干涉矩阵如图2所示。

图2 +y方向上无干涉矩阵

因为矩阵元素F+y,2,1=0和F+y,1,2=1,当零件2在+y方向进行装配时,如果零件1已经被装配完了,零件2将会与零件1发生干涉。另一方面,当零件1在+y方向进行装配时,如果零件2已经完成了装配,那么零件1将不会与零件2发生干涉。

3 应用实例分析

为了测试所提出的装配计划而使用的一个个例研究,如图3所示。

图3 一个带有通孔的装配模型

模型包括4个零件。零件1有3个通孔,装配期间零件2、零件3和零件4被插入到这3个通孔中。零件2与零件3和零件4相比,必须是在一个不同的装配方向上被插入进去的。因此,至少需要一次装配方向再定位才能完整地装配该模型。模型使用SolidWorks建立的,并以STEP格式保存。

自动化的装配计划进程的流程图如图4所示。

图4 装配计划流程图

变换零件坐标到装配坐标空间如图5所示。

图5 变换零件坐标到装配坐标空间

由图5(a)可见,在输入模型的STEP文件到装配计划以后,每个零件的原始坐标被提取了。由图5(b)可见,在提取原始(零件坐标空间)坐标和每个零件的变换信息以后,装配计划计算了在装配中每个零件的新坐标 (装配坐标空间)。

从装配模型的STEP文件提取的变换信息被用于变换零件坐标系从零件坐标系到装配坐标系,如图6所示。

图6 转换所有零件的信息

计算出所有零件的坐标之后,对装配坐标系使用投影的方法,装配计划确定了装配操作期间所有零件的干涉关系。对指定的测试案例,装配计划自动地创建了以下6个无干涉矩阵:

得到6个无干涉矩阵之后,对于指定的装配模型使用基于遗传算法的装配计划方法,装配计划自动寻找一个它的优选或近优选的装配序列。并输出了生成的序列:

装配序列(2,1,4,3),装配方向(±z,±z,-y,-y);

装配序列(2,1,3,4),装配方向(±z,±z,-y,-y);

装配序列(1,2,3,4),装配方向(±z,±z,-y,-y);

装配序列(1,3,4,2),装配方向(-y,-y,-y,±z)。

4 寻找一个指定装配模型的优选或近优选的装配序列

对于输入装配模型,沿着输出序列中每一个零件允许的装配方向,装配计划自动地发现几何上要求装配方向再定位次数是一个极小或接近最小的数字的可行的装配序列。装配计划也允许用户设置查寻和查寻终止标准。例如,群体的大小,允许运行时间的最大值,在最后的世代之内必需的最大适宜值,对于最后的世代必需的平均最后适宜值,或者最后的世代应该包含的唯一的装配序列。

5 结 语

文中的核心内容是从STEP CAD文件自动提取设计信息,翻译设计信息成几何汇编限制信息,将设计信息转化成几何装配约束信息,用一个装配序列规划来生成一个带有最少的装配再定位数字的可行性装配序列,并且核实计划者建议使用的装配次序。此项研究大大提高了装配序列规划的效率和精确性,做到了CAD设计和装配序列规划高效率地自动化集成。

[1]Bourjanlt,Sanderson,Homemde,et al.Contribution to a methoclolgical approach of automated assembly[M].Paris:InAutomation Methocology in Manufacturing Insdustry,1985:12-46.

[2]Sukhan Lee,Chunsik Yi.Tolerance analysis for assembly planning[A].Proceedings of the Fourth International Conference on Computer Integrated Manufacturing and Automation Technology.Troy,NYUSA,1994:306-311.

[3]Frommherz B,Homberger J.Automatic generation of precedence graphs[M].Switzerland:Proc.Int.Symposium on Industrial Robts,Lausanne,1988:453-466.

[4]Zha X F,Lim S Y,Fok S C.Integrated knowledgebased assembly sequence planning[J].International Journal of Advanced Manufacturing Technology,1998,14(1):50-64.

[5]Zha X F,Du H.A PDES/STEP-based model and system for concurrent integrated design and assembly planning[J].Computer-Aided Design,2002,14(8):1087-1110.

[6]赵付青.STEP标准实现方法的研究与应用[J].工程图学学报,2002(4):1-8.

[7]时峰,卢炎麟.基于SDAI的STEP应用协议的信息提取与建模[J].计算机应用与工程,2003(23):127-128.

[8]厦云飞,赵伟.基于模拟退火遗传算法的凸多面体间碰撞检测算法研究[J].长春工业大学学报:自然科学版,2008,29(1):82-85.

猜你喜欢
数据结构顶点方向
2022年组稿方向
过非等腰锐角三角形顶点和垂心的圆的性质及应用(下)
过非等腰锐角三角形顶点和垂心的圆的性质及应用(上)
2021年组稿方向
数据结构线上线下混合教学模式探讨
2021年组稿方向
“翻转课堂”教学模式的探讨——以《数据结构》课程教学为例
高职高专数据结构教学改革探讨
CDIO模式在民办院校数据结构课程实践教学中的应用
位置与方向