一种基于装配矩阵的复杂装配体的装配序列规划方法与流程

文档序号:17706244发布日期:2019-05-21 20:52阅读:409来源:国知局
一种基于装配矩阵的复杂装配体的装配序列规划方法与流程
本发明涉及产品自动化装配序列规划领域,具体涉及到一种复杂装配体的装配序列规划方法。
背景技术
:产品的装配成本约占产品制造成本的40%~50%,产品的装配序列规划是产品自动化制造的一项关键技术;传统的复杂装配产品的装配序列规划主要是在CAD系统中,按照可拆即可装的原理对产品进行拆卸后再装配,得到产品的装配序列。拆卸法是在装配模型装配完成后,根据制定的拆卸规则对装配体进行拆卸,并将所拆卸零件和其他零件的装配约束关系记录在约束表中,将拆卸时遇到干涉的拆卸零件记录在干涉表中。拆卸法对于生成序列的可用性来说比较好,但对于复杂部件生成大量序列的效率上十分低,而且干涉表和约束表数据计算量庞大,需优化或改进提高。复杂装配产品从零件设计、建模到装配完成之后,产品零件之间的装配关系也就随之确定,根据装配产品的装配关系信息可以得到装配产品的装配联接矩阵;根据产品零件在实际装配环境下是否获得重力方向上的装配支撑,可以得到装配支撑矩阵;根据产品零件在拆卸时,与其他零件的干涉情况,可以得到装配干涉集成矩阵;通过利用这三个矩阵之间的相互关系,借助计算机就可以得到适应自动化装配生产线的复杂装配产品的装配序列。附图说明图1为基于装配矩阵的复杂装配体的装配序列规划流程图;图2为本发明实施例1的爆炸图;图3为本发明实施例2的爆炸图。技术实现要素:本发明的目的是解决现有复杂装配体在装配序列规划时会生成大量序列,计算量庞大,效率低的问题,提出一种基于装配矩阵的复杂装配体的装配序列规划方法,通过装配联接矩阵、装配支撑矩阵和干涉集成矩阵这三个矩阵之间的内在关系规划装配序列,以提高复杂产品装配效率。本发明所述一种基于装配矩阵的复杂装配体的装配序列规划方法采用的技术方案是包括以下步骤:(1)利用装配矩阵的通用生成方法得到由n个零件组成的装配体P={p1,p2,...,pn}的装配连接矩阵C、装配支撑矩阵G、装配干涉集成矩阵IN;通过装配支撑矩阵G确定出基准件,将基准件存入存放已装配零件的集合VP中;(2)将集合VP中的每一个元素作为装配联接矩阵C的行向量,通过遍历装配联接矩阵C中每一个已装配零件行向量上的每一列确定出候选零件,将候选零件存入存放候选零件的集合VC中,集合VC中的零件数量为q,零件Lb是集合VC中的第b个,b=1,2,...,q;(3)以第b个零件作为装配支撑矩阵G的行向量,将集合VP中的每一个元素作为装配支撑矩阵G的列向量,通过遍历装配支撑矩阵G中第Lb行的每一个已装配零件列上的数字,获得重力支撑零件;(4)将零件Lb作为装配干涉集成矩阵IN的行向量,将集合VP中的每一个元素作为装配干涉集成矩阵IN的列向量,通过装配干涉集成矩阵IN确定出装配方向;(5)将零件Lb存入存放已装配零件的集合VP中,判断剩下每一个零件是否与集合VP中的零件存在装配干涉;将装配体P的所有零件去掉集合VP中的已装配零件后,剩下的零件存入存放未装配零件的集合VF中,重复步骤2至4直至集合VP中的零件数等于n。本发明的有益效果为:本发明通过对装配方向的归类,直接获得可用于自动化生产线的产品装配序列,可以提高生产线的自动化水平,提高关于复杂装配体装配序列规划的效率,减少出错率,降低装配成本,缩短生产周期。具体实施方式针对一个复杂装配体,根据其装配关系信息可以得到装配产品的装配联接矩阵,装配联接矩阵主要反映装配体零部件之间的联接关系。对于一个具有n个零件组成的装配体P={p1,p2,...,pn},其生成的装配联接矩阵为n×n阶矩阵,其装配联接矩阵C定义如下:C=(cij)n×n,其中,cij是装配联接矩阵C的矩阵元素,表示零件pi与零件pj之间的联接关系;1≤i≤n,1≤j≤n,i表示装配联接矩阵C的第i行,j表示装配联接矩阵C的第j列。矩阵元素cij的判断标准如下:因零件本身不会与自己存在联接关系,故cii=0。在数字化装配模型中,零件之间的联接关系由装配关系确定。由此可知,装配联接矩阵C为一个只包含数字0和1的矩阵。根据复杂装配体的零件在实际装配环境下是否获得重力方向上的装配支撑,得到装配支撑矩阵。在虚拟制造与虚拟装配的过程中,由于条件限制,均假定装配体与零件处于“失重”状态,而现实情况中,零件之间,在重力方向上是存在重力支撑关系的,因此在虚拟装配过程中的零部件不能完全反映实际的装配过程,装配过程的稳定性无法考虑,所以引入装配支撑矩阵。对于一个具有n个零件组成的装配体P={p1,p2,...,pn},其生成的装配支撑矩阵为n×n阶矩阵,其装配支撑矩阵G定义如下:G=(gij)n×n,其中,gij是装配支撑矩阵G的矩阵元素gij,i表示装配支撑矩阵G的第i行,1≤i≤n,j表示装配支撑矩阵G的第j列,1≤j≤n。矩阵元素gij表示零件pi与零件pj之间的支撑关系,其判断标准如下:所述的稳定支撑是指零件pi与零件pj在接触面法向矢量与重力方向一致,如零件pi在零件pj下方,则零件pi对零件pj有为稳定支撑作用。当零件pi在重力方向上不能稳定支撑零件pj或者两零件间不存在接触关系时,gij=0,规定零件对自身不存在支撑作用,故gii=0。由此可知,装配支撑矩阵G为一个只包含数字0和1的矩阵。根据零件在拆卸时,与其他零件的干涉情况,可以得到装配干涉集成矩阵。装配干涉矩阵表示零件沿某一方向移动到无穷远的过程中与装配体中其它零件的干涉情况。一个由n个零件组成的装配体P={p1,p2,...,pn},其干涉矩阵I的定义如下:其中,Iijx是装配干涉矩阵I中的矩阵元素,i表示装配干涉矩阵I的第i行,j表示装配干涉矩阵I的第j列,x表示装配干涉矩阵I中零件Pi在+X方向上与零件Pj的干涉情况,矩阵元素Iijx的判断标准如下:同理,Iijy,Iijz就分别表示零件Pi在+Y和+Z方向上和零件Pj的干涉情况。为了提高装配干涉矩阵在运算时的效率,以二进制建立的矩阵向十进制进行转化,建立装配模型的十进制干涉矩阵,称为装配干涉集成矩阵IN。装配干涉集成矩阵IN的矩阵元素INij的取值情况如下:式中,i表示装配干涉集成矩阵IN的第i行,j表示装配干涉集成矩阵IN的第j列;矩阵元素INij表示零件Pi沿坐标轴各正方向装配时与零件Pj的干涉值。由此可知,装配干涉集成矩阵IN为一个包含数字0至7的矩阵。根据装配联接矩阵C、装配支撑矩阵G、装配干涉集成矩阵IN可知,出现在第i行、第j列的数字则是代表零件pi与零件pj的相互关系。在装配连接矩阵C中,数字表示零件pi与零件pj是否存在装配联接关系;在装配支撑矩阵G中,数字表示零件pi与零件pj在重力方向上是否存在支撑关系;在装配干涉集成矩阵IN中,数字表示零件pi与零件pj是否存在干涉关系。对于零件数量为n的装配体,以VP表示存放已装配零件的集合,VC表示存放候选零件的集合,VD表示存放已装配零件的装配方向的集合,VF表示存放未装配零件的集合。本发明定义了五个计算规则,分别是:①装配支撑规则,②确定基准件规则,③候选零件筛选规则,④装配方向规则,⑤装配干涉规则。为了将存放已装配零件的集合VP、存放候选零件的集合VC、存放已装配零件的装配方向的集合VD、存放未装配零件的集合VF以及五个计算规则说明得更清楚,以下面的装配联接矩阵C、装配支撑矩阵G、装配干涉集成矩阵IN为例:①装配支撑规则:在装配支撑矩阵G中,将要装配的零件pi作为行向量,也即以第i行表示将要装配的零件pi;并将已装配零件作为列向量,通过遍历矩阵第i行的已装配零件列上的数字,如存在数字1,则表示存在重力支撑,否则不存在重力支撑。例如:若零件3是将要装配的零件,也即以装配支撑矩阵G的第3行表示零件3,而零件4和零件1是已经装配好的零件,那么通过遍历装配支撑矩阵G第3行的第4列和第1列,可以得到数字1,那么判定零件3在已装配零件上存在重力支撑。②确定基准件规则:在零件装配时,因为开始装配的第一个零件(也称为基准件),在装配空间的重力方向上是没有支撑的,所以在装配支撑矩阵G中存在全为零的一行。所以通过计算装配支撑矩阵G每行的行和,行和为零的那一行所代表的零件即为基准件。例如:通过计算装配支撑矩阵G每行的行和,可知装配支撑矩阵G的第4行的行和为零,那么判定零件4为基准件。若零件4和零件1为已装配的零件,则集合VP中就包含了零件4和零件1,其表示为VP={4,1};那么集合VF中就包含了剩下的未装配的零件2和零件3,其表示为VF={2,3}。③候选零件筛选规则:首先候选零件的定义为:与已装配零件存在装配联接关系的未装配零件并且不包含重复零件。候选零件的确定是在装配联接矩阵C中,以已装配零件为行向量,通过遍历每个已装配零件行向量上的每一列,出现数字为1的列所代表的零件即为候选零件;另外,当对一个已装配零件进行查找与其存在装配联接关系的零件时,同样也会将其他的已装配零件确定为候选零件,以及将已经被其他的已装配零件确定为候选零件的零件,再次被确定为候选零件,这样,总的候选零件中就会包含很多已装配的零件以及重复的零件。然而根据候选零件的定义,就需要去掉总的候选零件中的已装配的零件以及重复的零件,最后将筛选出来的候选零件存入候选零件集合VC中。例如:若零件4和零件1为已装配的零件,也即VP={4,1},那么在装配联接矩阵C中,首先遍历矩阵第4行的所有列,可知第1列、第2列、第3列的数字都为1,所以确定零件1、零件2、零件3为候选零件;同样再遍历矩阵第1行的所有列,可知第3列和第4列的数字为1,所以确定零件3和零件4为候选零件,那么初步遍历出来的总的候选零件应为所有已装配零件的候选零件的总和,此处零件4和零件1的候选零件总和为零件1、零件2、零件3、零件3、零件4,在总和中可知,零件1和零件4是已装配的零件,零件3为重复零件,所以根据候选零件的定义,去掉总和中的零件1、零件3和零件4,可得候选零件为零件2和零件3,将候选零件存入候选零件集合VC中,其表示为VC={2,3})。在装配序列计算的过程中,从第2个装配零件开始,每个装配零件都会带有自己的装配方向,零件的装配方向则依次存入集合VD中,例如:装配序列的装配方向依次为-Z,-Y,+Y,则VD={-Z,-Y,+Y}。④装配方向规则:在装配方向的判定中,以pi表示将要装配的零件。零件pi的装配方向判定,按照正负方向可以分为两种情况:第一种情况,在装配干涉集成矩阵IN中,当零件pi为行向量,也即以装配干涉集成矩阵IN的第i行表示零件pi,已装配零件为列向量,通过遍历矩阵第i行的已装配零件列上的数字,若存在数字3,则装配方向为-X轴方向,若存在数字5,则装配方向为-Y轴方向,若存在数字6,则装配方向为-Z轴方向。例如:若零件3是将要装配的零件,也即以装配干涉集成矩阵IN的第3行表示零件3,而零件4和零件1是已经装配好的零件,那么通过遍历装配干涉集成矩阵IN第3行的第4列和第1列,可以得到数字5,那么就判定此种情况下零件3的装配方向为-Y轴方向。第二种情况,在装配干涉集成矩阵IN中,当零件pi为列向量,也即以装配干涉集成矩阵IN的第i列表示零件pi,已装配零件为行向量,通过遍历矩阵第i列的已装配零件行上的数字,若存在数字3,则装配方向为+X轴方向;若存在数字5,则装配方向为+Y轴方向;若存在数字6,则装配方向为+Z轴方向。例如:若零件3是将要装配的零件,也即以装配干涉集成矩阵IN的第3列表示零件3,而零件4和零件1是已经装配好的零件,那么通过遍历装配干涉集成矩阵IN第3列的第4行和第1行,可以得到数字7,那么判定零件3在此种情况下没有装配方向。在装配方向规则的两种判定情况中,首先判定第一种情况,当第一种情况获得装配方向时,则不进行第二种情况的判定,否则继续判定第二种情况。⑤装配干涉规则:在装配干涉的判定中,pi表示将要装配的零件。在装配干涉集成矩阵IN中,判定零件pi在装配时是否会干涉,分为以零件pi为行向量进行判定和以零件pi为列向量进行判定两种情况:第一种情况,以零件pi为行向量,也即以装配干涉集成矩阵IN的第i行表示零件pi,已装配零件为列向量,通过遍历矩阵第i行的已装配零件列上的数字,若在这些数字中存在数字7或者数字5和6或者数字1和6或者数字3和6或者数字2和5或者数字3和5或者数字3和4或者数字1和2和4这八种类型中的任何一种,则判定此种情况下,装配干涉,否则装配不干涉。例如:若零件3是将要装配的零件,也即以装配干涉集成矩阵IN的第3行表示零件3,而零件4和零件1是已经装配好的零件,那么通过遍历装配干涉集成矩阵IN第3行的第4列和第1列,得到的数字是5,不存在数字7或者数字5和6或者数字1和6或者数字3和6或者数字2和5或者数字3和5或者数字3和4或者数字1和2和4这八种类型中的任何一种,那么判定此种情况下装配不干涉。第二种情况,以零件pi为列向量,也即以装配干涉集成矩阵IN的第i列表示零件pi,已装配零件为行向量,通过遍历矩阵第i列的已装配零件行上的数字,若在这些数字中存在数字7或者数字5和6或者数字1和6或者数字3和6或者数字2和5或者数字3和5或者数字3和4或者数字1和2和4这八种类型中的任何一种,则判定此种情况下,装配干涉,否则装配不干涉。例如:若零件3是将要装配的零件,也即以装配干涉集成矩阵IN的第3列表示零件3,而零件4和零件1是已经装配好的零件,那么通过遍历装配干涉集成矩阵IN第3列的第4行和第1行,得到的数字是7,由于存在数字7或者数字5和6或者数字1和6或者数字3和6或者数字2和5或者数字3和5或者数字3和4或者数字1和2和4这八种类型中的第一种类型——数字7,那么就判定此种情况下装配干涉。只有当两种情况下,都判定零件pi存在装配干涉时,才能判定零件pi干涉,不可装;在装配干涉规则的两种判定情况中,首先判定第一种情况,当第一种情况判定装配不干涉时,则不进行第二种情况的判定,否则继续判定第二种情况。本发明在实施前,通过计算机将前面的五条规则分别编写为程序之后,通过循环调用的方法进行复杂装配产品的装配序列的计算。如图1所示,具体执行方法如下:步骤一:利用装配矩阵的通用生成方法,得到由n个零件组成的装配体P={p1,p2,...,pn}的三个装配矩阵:装配连接矩阵C,装配支撑矩阵G,装配干涉集成矩阵IN,然后将这三个矩阵读取到计算机中;步骤二:当计算机获取到步骤一中的三个矩阵数据后,调用确定基准件规则,根据确定基准件规则,计算机通过遍历装配支撑矩阵G的每一行,并求每一行的行和,将行和为零的那一行所代表的零件确定为基准件(也即第一个装配零件),并将基准件存入存放已装配零件的集合VP中。当基准零件确定之后,就是选择下一个零件进行装配。步骤三:调用候选零件筛选规则,将存放已装配零件的集合VP中的每一个元素作为装配联接矩阵C的行向量(也即将已装配零件作为装配联接矩阵C的行向量),通过遍历装配联接矩阵C中每一个已装配零件行向量上的每一列,出现数字为1的列所代表的零件即为候选零件,去掉这些候选零件中的已装配零件和重复零件后,将剩下的候选零件存入存放候选零件的集合VC中;步骤四:假设存放候选零件的集合VC中的零件数量为q(1≤q≤n),以零件Lb(b=1,2,...,q)表示集合VC中的第b个,首先选择集合VC中的第一个零件作为将要装配的零件(也即以Lb(b=1)为将要装配的零件)。步骤五:调用装配支撑规则,将零件Lb作为装配支撑矩阵G的行向量,将存放已装配零件的集合VP中的每一个元素作为装配支撑矩阵G的列向量(也即将已装配零件作为装配支撑矩阵G的列向量),计算机通过遍历装配支撑矩阵G中第Lb行的每一个已装配零件列上的数字,若存在数字1,则获得重力支撑零件,并执行步骤七;否则执行步骤六。步骤六:判断零件Lb是否为集合VC中的最后一个零件(也即判断b是否等于q),若是则不考虑装配方向,也即是流程执行步骤八时,不考虑装配方向,直到执行流程确定此次的装配零件,执行步骤四;否则将存放候选零件的集合VC中的下一个零件作为要装配的零件(也即零件Lb(b=b+1)),执行步骤五,直至零件Lb为集合VC中的最后一个零件,零件Lb等于q。步骤七:调用装配方向规则,首先进行装配方向规则第一种情况的计算,将零件Lb作为装配干涉集成矩阵IN的行向量,将存放已装配零件的集合VP中的每一个元素作为装配干涉集成矩阵IN的列向量(也即将已装配零件作为装配干涉集成矩阵IN的列向量),通过遍历装配干涉集成矩阵IN中第Lb行的每一个已装配零件列上的数字,若存在数字3,则装配方向为-X轴方向,若存在数字5,则装配方向为-Y轴方向,若存在数字6,则装配方向为-Z轴方向,若第一种情况,没有获取到装配方向,则进行装配方向规则第二种情况的计算,将零件Lb作为装配干涉集成矩阵IN的列向量,将集合VP中的每一个元素作为装配干涉集成矩阵IN的行向量(也即将已装配零件作为装配干涉集成矩阵IN的行向量),通过遍历装配干涉集成矩阵IN中第Lb列的每一个已装配零件行上的数字,若存在数字3,则装配方向为+X轴方向,若存在数字5,则装配方向为+Y轴方向,若存在数字6,则装配方向为+Z轴方向,若第一种情况,获取到了装配方向,则不进行第二种情况的计算,通过这一步的计算获得零件Lb的装配方向。步骤八:判断是否考虑装配方向(流程默认是考虑装配方向,除非步骤六给出了不考虑装配方向的响应,则不考虑),若是则执行步骤九;否则执行步骤十。步骤九:判断零件Lb的装配方向是否与前一零件的装配方向一致(也即是判断零件Lb的装配方向与集合VD中的最后一个元素是否一致),若一致,则执行步骤十;否则执行步骤六。步骤十:将零件Lb存入存放已装配零件的集合VP中,并用装配干涉规则的判断剩下的、还没有装的每一个零件是否与集合VP中的零件存在装配干涉,首先将装配体P的所有零件去掉了集合VP中的已装配零件后剩下的零件存入存放未装配零件的集合VF中,然后对集合VF中的每一个零件依次先进行装配干涉规则的第一种情况的计算,若第一种情况的计算存在干涉,再进行第二种情况的计算,若集合VF中的某一个零件在两种情况的计算中都存在干涉,则判定装配干涉,并将集合VP中的最后一个零件Lb去掉,执行步骤六,否则将零件Lb的装配方向存入集合VD中,执行步骤十一。步骤十一:判断所有零件是否计算完毕,也即判断集合VP中的零件数目是否等于n,若是则输出存放已装配零件的集合VP和存放已装配零件的装配方向的集合VD;否则清空集合VC和集合VF中的零件,并执行步骤三。如此便可完成装配序列规划。以下提供本发明的的两个实施例:实施例1如图2所示,通过装配矩阵的生成方法,列出图2中4个零件组成的装配体的三个装配矩阵:装配联接矩阵C、装配支撑矩阵G、装配干涉集成矩阵IN分别如下:然后根据确定基准件,装配支撑矩阵G的第四行的行和为零,则可判定零件4为基准件,并将4存入存放已装配零件的集合VP中。运用候选零件筛选规则,在装配联接矩阵C中查找与零件4存在装配联接关系的零件;由于装配联接矩阵C的第4行的第1、2、3列都存在数字1,则存在装配联接关系的零件为零件1、零件2、零件3,由于不存在已装配零件和重复的零件,则将为零件1、零件2、零件3存入存放候选零件的集合VC中,VC={1,2,3},将零件1作为要装配的零件。根据装配支撑规则,在装配支撑矩阵G中,第1行的第3、4列都存在数字1,可知零件1获得已装配零件4的支撑。根据装配方向规则,在装配干涉集成矩阵IN中,通过第一种情况,以装配干涉集成矩阵IN的第1行为要装配的零件1,第4列为已装配的零件4,第1行、第4列处的数字为6,所以判定装配方向为-Z方向。当将零件1存入存放已装配零件的集合VP后,集合VP中就包含零件1和零件4两个零件,存放未装配零件的集合VF中就包含零件2和零件3两个零件,接下来判定零件1的安装是否会导致后面零件2和零件3安装时的干涉。根据装配干涉规则,首先判定零件2是否会干涉,在装配干涉集成矩阵IN中,第一种情况,以零件2为行向量,零件1和零件4为列向量,装配干涉集成矩阵IN的第2行、第1列数字为2,第2行、第4列为数字2,所以不存在判定干涉的八种类型中的任何一种,所以零件1的安装不会使零件2安装时产生干涉;然后判定零件3是否会干涉,在装配干涉集成矩阵IN中,第一种情况,以零件3为行向量,零件1和零件4为列向量,装配干涉集成矩阵IN的第3行、第1列数字为5,第3行、第4列为数字5,所以不存在判定干涉的八种类型中的任何一种,所以零件1的安装不会使零件3安装时产生干涉;所以综上判定零件1可装,并将装配方向-Z存入向量VD中。由于四个零件才安装两个,判断所有零件还没有计算完毕,清空存放候选零件的集合VC和存放未装配零件的集合VF中的零件后继续返回,进行下一轮的规划。如此循环计算结果如下表1所示:VP4132VD-Z-Y+Y实施例2参见图3,通过装配矩阵的生成方法,列出图3中11个零件组成的装配体的装配联接矩阵C、装配支撑矩阵G、装配干涉集成矩阵IN分别如下:实施例2的整个规划方法与实施例1雷同,不再赘述,实施例2的结果如下表2所示:表2VP4211310116789VD-Z-Z-Z-Z-Z+Z+X+X+X+X从表1和表2可知:通过本发明可以获得装配方向归类后的复杂装配产品的装配序列,有利于自动化生产车间进行零件摆放位置的规划,以及装配专机的布局,可以极大地提高生产效率。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1