
与的协同装配环境里,每个人要完成一定的装配任务,而且要求能协作地、无冲突地完成整个装配任务,
就要求合理地对装配任务进行分解,分工明确,并对每个装配任务生成可行的装配序列。
子装配体中含有过多零件(指含多于6个零件),这是因为割集法生成的装配序列随着零件数目的增多呈指数增
,因此在处理零件数目过多的装配体时有一定的局限性。本文通过断集法将这类子装配体的零件分成几部分,使每部分的零件数目不多于6个,从而可对每部分应用割集法,然后通过递归的方式处理整个装配体。针对大型压力机的装配,零件数目成千上万,通过本文的算法分解后,就可生成简化的多个与/或图,我们从中取用一个序列。
2.团队的具体工作
我们在协同设计系统里实现了协同绘图、标记、碰撞、控制权分配、数据传输、立体显示等,接着要进行协同装配的实现,因此需要对复杂装配任务进行规划和分解,以期得到合理的装配任务分配和有效可行的装配序列。
有关装配任务的分解和序列的生成工作,许多人已作了探讨,L.S. Homem de Mello etc.中的割集算法,已成为今天装配序列生成的经典之作,但零件数目过多成为该算法的障碍。针对这种状况,许多文章都提出了改进的方法,因此本文在解决序列生成时引入关键零件,并在该过程中参考了实际的装配经验,使最后的序列更加符合实际使用。
二、 装配任务的分解与序列的生成
1.装配任务的分解和实现的基础
我们以三个假设来保证本文方法的可行性:
(1)两个零件或子装配体之间确实存在连接关系,以保证装配序列生成的可行性;
(2)零件通过连接组成子装配体后,则子装配体内的零件间就建立了接触关系,以确保装配的连续性;
(3)在协同环境中支持两个或两个以上的装配动作。
2.装配任务的初步分解
在装配体的关联图中首先指定起始装配件,去掉该零件顶点的所有边,可能将装配任务分为两部分或几部分,如果是几部分,将离散的顶点划归为一部分,其余有联系的顶点分别作为一部分,这样保持每部分的最大内聚,然后对多于6个零件或部件的部分再进行分解。根据每部分装配任务的关联图,找出关联集最大的顶点,然后求出该图的断集,则该断集将装配体分为两部分。分解过程中的约定:
(1)若出现关联集最大的顶点有多个,则这些顶点作为一部分;
(2)对离散的点,其间不存在连接关系,因此其装配顺序任意,可把它们归为一部分;
(3)关联集最大的顶点在所属于的部分中指定为首装零件;
(4)有同一零件用到多次(关键零件除外),若在装配树中处于同一层次,只取其中一个即可;
以此为原则进行分解,直至每部分零件数不多于6个(不包括由离散点组成的部分)。而最终每个人的装配任务要在整个装配任务分解完毕并生成序列后,按照装配量进行分配。
3.装配体中零件分类
根据零件间的接触关系,我们给出存在连接关系的子装配体中几种零件的定义:
(1)某一子装配体中与其他子装配体无任何关联的零件,称为普通零件;
(2)某一子装配体中与其他子装配体有关联的零件,又分两种:
①与其他子装配体存在装配约束关系的零件,称之为关键零件;
②与其他子装配体只有接触关系的零件,称之为次要零件;
这两类零件主要为解决冲突服务的,以保证装配任务的顺利完成。在安装时的处理方法将在后面详细介绍。
4.装配体的装配序列生成算法
参与协同装配的人数首先决定了整个装配任务的最后安排。整个装配任务经过初步分解后,算法针对每个部分进行,使协同装配中每个人有自己的装配序列;同时算法保证在每个人完成自己的装配后,也就是整个装配任务完成的时候。
(1)首先对每个部分生成装配树,这可从SolidEdge的pathfinder中提取;
(2)从装配树最低层的叶子结点(表示零件)往上依次处理各个子装配体。对每个子装配体首先根据连接关系图,得到关联矩阵:
①对所有含多于6个零件的子装配体转③处理,否则转②;
②对于有6个或6个以下叶子结点的子装配体,可利用割集法生成以与/或图表示的装配序列;
③生成了装配序列的子装配体用一个结点表示,如果有上一层,作为叶子结点加入上一层后,如果使兄弟数多于六个,转(3),否则转②;如果没有上一层即为最顶层装配体(top-level assembly),则最终的装配序列生成,转(4);
(3)对多于6个零件的子装配体,按下列方法分解:
①根据该部分的关联矩阵,找出关联集最大的顶点,然后求出该图的断集,该断集将装配体分为两部分;如果关联集最大的顶点有多个,将其生成序列,作为一个节点,分到零件数少的部分;
②然后逐部分判断零件数,如果存在零件数多于六个的部分,将该部分转①处理;若所有部分中没有零件数多于六个则转③;
③对每个零件数少于等于六个的部分,调用割集法和与或图生成算法生成装配序列,存放于链表中,返回一个链表指针;
④根据返回的链表指针数,如果只有一个,表明最终序列生成则转⑤,否则将每个链表看作一个结点,连同起始装配件组成一个连通图,如果图中顶点数大于六个,转①,少于等于六个则转③;
⑤将最后的装配序列的链表结点逐步用该结点表示的装配序列代替,直至结点表示的是零件为止,此时就是该子装配体最后的一条可行装配序列,转(4);没考虑优化问题;
(4)为了简化整个与/或图,各个子装配体的与/或图不进行合并,因此最终将生成由多个与/或图表示的整个装配体的装配序列,我们选取其中之一的序列使用即可。
5.算法流程
装配序列的主流程和子流程,见图1和图2。
图1 配序列算法主流程
图2 装配序列算法子流程
图3 J39-600压力机装配图
图4 J39-600压力机的装配爆炸图
图5 J39-600的装配树
图6 指定10101为起始装配件,它的关联集将整个关联图分为两部分
图7 一部分10102可生成序列,另一部分20101的关联集最大,它又把该部分分为两部分
图8 在虚拟装配系统中的协同装配情景

[摘要]针对级进模排样的特点以及人...

您知道全球最小的机器人到底有多小呢。这么小的机器人到底有什么样的法宝呢。中国台湾...

前言 线切割加工通过电极丝与导电工件之间放电腐蚀成型来完成工件加工,由于是非接触加...

据测算,“十一五”期间及2020年前中国机械工业年均增速仍将达12%~15%,但机械工业各...

就风电行业的整体形式来看,其正处于高速成长期,正在不断的学习技术和积累经验,相信...