本发明属于机构综合技术领域,具体涉及一种基于邻接矩阵和环路总数筛选出可分离拓扑图的方法。
背景技术:
确定机构的拓扑结构是机械创新和机械概念设计阶段所要解决的首要问题。在机构综合过程中,综合出所有满足构件数和自由度要求的运动链形成图谱库时,图谱库中一般包含一些不可分离的拓扑图和一些可分离的拓扑图,而根据实际情况常常需要从图谱库中筛选出所有不可分离的拓扑图或者可分离的拓扑图,进而找出一些符合实际要求的新构型。但目前还没有实现不可分离拓扑图和可分离拓扑图的筛选方法。
技术实现要素:
本发明的目的是针对现有技术的不足,提供一种基于邻接矩阵和环路总数筛选出可分离拓扑图的方法,但只适用于存在可分离拓扑图的运动链。
为了实现上述目的,本发明的技术方案为:
本发明是一种基于邻接矩阵和环路总数筛选出可分离拓扑图的方法,具体步骤如下:
步骤一:根据要综合的运动链的构件数和自由度数要求,找出所有对应的邻接矩阵。
步骤二:对于步骤一所找出的邻接矩阵,排除存在单度点的邻接矩阵。
步骤三:对于经过步骤二筛选后的邻接矩阵,排除存在同构的邻接矩阵。
步骤四:对于经过步骤三筛选后的邻接矩阵,排除存在刚性子链的邻接矩阵。
步骤五:对于经过步骤四筛选后的邻接矩阵,画出每个邻接矩阵所对应的拓扑图。
步骤六:对各个拓扑图按照环路总数从低到高依次进行搜索,直到第一次搜索到不可分离的拓扑图为止,该不可分离的拓扑图对应的环路总数计为k,从而来确定环路总数小于k的拓扑图均为可分离的拓扑图,实现所有可分离的拓扑图的筛选;其中,搜索时,将环路总数与l差值最小的那个拓扑图的环路总数作为搜索的初值;l=e-v+1,l为独立环路的个数,e为拓扑图中的边数,v为拓扑图中的总顶点数。
本发明具有的有益效果:本发明是基于邻接矩阵和环路总数来筛选出可分离拓扑图的方法,简单方便,并且其中的步骤一至步骤五也是一种根据邻接矩阵建立拓扑图的新方法。
附图说明
图1是12构件3自由度的不可分离的拓扑图;
图2是12构件3自由度的点可分离的拓扑图;
图3是12构件3自由度的边可分离的拓扑图;
图4是根据7构件2自由度运动链建立的拓扑图;
图5是根据环路总数从图4中筛选出的可分离的拓扑图;
图6是根据9构件2自由度运动链建立的拓扑图;
图7是根据环路总数从图6中筛选出的可分离的拓扑图。
具体实施方式
下面结合附图及实施例对本发明作进一步说明。
具体拓扑图中总环路数的确定:①根据欧拉公式l=e-v+1来确定拓扑图中基本环路集包含的独立环路数(基本环路集中的环路记为独立环路),e为拓扑图中的边数,v为拓扑图中的总顶点数;②根据公式
运算条件为:(1)参加“⊕”运算的两个环路至少有两个公共顶点;(2)在“⊕”运算时,两环路相应位元素值均为1,并且“⊕”运算后所得的数组的相应位仍为1的情况出现且仅出现两次。
“⊕”运算的规则为:数组lp=l(a)⊕l(b),即环路数组l(a)的每一位元素与环路数组l(b)的对应位元素代数求和,如果和大于0且小于相应位顶点的局部度,则lp对应位的值为1,否则为0;其中数组lp的维数与参与运算的两环路数组l(a)及l(b)的维数均相同。
环路的数学描述:环路a用v维环路数组l(a)来表示,其中,v为拓扑图的总顶点数,环路数组l(a)第j位表示拓扑图中第j个顶点与环路a的关系,j=1,2…,v,如果第j个顶点在环路a中,则环路数组l(a)第j位的值为1,否则为0,例如l(1)=[100001111001]表示由第1、6、7、8、9、12个顶点组成的环路。
下面具体以12构件3自由度的不可分离拓扑图(如图1)与12杆3自由度的点可分离的拓扑图(如图2)以及12杆3自由度的边可分离的拓扑图(如图3)为例,来验证可分离拓扑图的总环路数总是小于不可分离拓扑图的总环路数。
如图1所示为12杆3自由度的不可分离拓扑图,此拓扑图中共有边数e=15,顶点数v=12,所以由欧拉公式可知基本环路集包含的独立环路数为l=e-v+1=4,总环路集的阶(总环路集中包含的总环路数)
先找基本环路集s{l(1),l(2),l(3),l(4)},其中基本环路集中各环路的数学描述为:
l(1)=[100001111001]
l(2)=[110001000001]
l(3)=[011111000000]
l(4)=[111000000110]
除基本环路外的其他环路为(此部分可由基本环路集经过“⊕”运算得到)
l(5)=l(1)⊕l(2)=[110001111000]
l(6)=l(2)⊕l(3)=[111111000001]
l(7)=l(2)⊕l(4)=[111001000111]
l(8)=l(3)⊕l(4)=[111111000110]
l(9)=l(1)⊕l(2)⊕l(3)=[111111111000]
l(10)=l(1)⊕l(2)⊕l(4)=[111001111110]
总环路集为
ls={l(1),l(2),l(3),l(4),l(5),l(6),l(7),l(8),l(9),l(10)}
如图2所示为12杆3自由度的点可分离的拓扑图,此拓扑图中共有边数e=15,顶点数v=12,所以由欧拉公式可知基本环路集包含的独立环路数为l=e-v+1=4,总环路集的阶(即总环路集中包含的总环路数)
先找基本环路集s{l(1),l(2),l(3),l(4)},其中基本环路集中各环路的数学描述为:
l(1)=[100111000000]
l(2)=[111101000000]
l(3)=[001000110001]
l(4)=[000000011111]
除基本环路外的其他环路为
l(5)=l(1)⊕l(2)=[111110000000]
l(6)=l(3)⊕l(4)=[001000111111]
总环路集为
ls={l(1),l(2),l(3),l(4),l(5),l(6)}
如图3所示为12杆3自由度的边可分离的拓扑图,此拓扑图中共有边数e=15,顶点数v=12,所以由欧拉公式可知基本环路集包含的独立环路数为l=e-v+1=4,总环路集的阶(即总环路集中包含的总环路数)
先找基本环路集s{l(1),l(2),l(3),l(4)},其中基本环路集中各环路的数学描述为:
l(1)=[100111000000]
l(2)=[111101000000]
l(3)=[000000110011]
l(4)=[000000011111]
除基本环路外的其他环路为
l(5)=l(1)⊕l(2)=[111110000000]
l(6)=l(3)⊕l(4)=[000000111110]
总环路集为
ls={l(1),l(2),l(3),l(4),l(5),l(6)}
综上可知对于构件数和自由度数相同的运动链,综合得出的可分离的拓扑图(包括点可分离的拓扑图和边可分离的拓扑图)的环路总数一定小于不可分离的拓扑图的环路总数。
一种基于邻接矩阵筛选出可分离拓扑图的方法,具体步骤如下:
步骤一:根据要综合的运动链的构件数和自由度数要求,找出所有对应的邻接矩阵。
步骤二:对于步骤一所找出的邻接矩阵,排除存在单度点的邻接矩阵。
步骤三:对于经过步骤二筛选后的邻接矩阵,排除存在同构的邻接矩阵。
步骤四:对于经过步骤三筛选后的邻接矩阵,排除存在刚性子链的邻接矩阵。
步骤五:对于经过步骤四筛选后的邻接矩阵,画出每个邻接矩阵所对应的拓扑图。
步骤六:对各个拓扑图按照环路总数从低到高依次进行搜索,直到第一次搜索到不可分离的拓扑图为止,该不可分离的拓扑图对应的环路总数计为k,从而来确定环路总数小于k的拓扑图均为可分离的拓扑图,实现所有可分离的拓扑图的筛选;其中,搜索时,将环路总数与l差值最小的那个拓扑图的环路总数作为搜索的初值;l=e-v+1,对于构件数和自由度数确定的运动链,各个拓扑图对应的l、e、v的值均相等。
下面具体以7构件2自由度和9构件2自由度的运动链的综合为实例来进一步说明本发明。
实例1:7构件2自由度运动链的综合
7构件2自由度运动链经过本发明步骤一至步骤五后得到的拓扑图如图4所示(包含4个拓扑图);如图4所示的拓扑图经本发明步骤六筛选后得到所有可分离的拓扑图,如图5所示(可分离的拓扑图有1个)。
实例2:9构件2自由度运动链的综合
9构件2自由度运动链经过本发明步骤一至步骤五后得到的拓扑图如图6所示(包含40个拓扑图);如图6所示的拓扑图经本发明步骤六筛选后得到所有可分离的拓扑图,如图7所示(可分离的拓扑图有5个)。