一种同质模块化机器人拓扑优化算法
【技术领域】
1.本发明涉及一种同质模块化机器人拓扑优化算法,属于机器人拓扑优化领域。
背景技术:
2.随着空间探索的逐渐深入,大型空间结构建造、空间系统维修、轨道垃圾清理等在轨服务任务将日益繁重。现阶段执行在轨服务任务的方式主要有航天员作业和基于空间机械臂等设备作业。结合各国多年空间探索经验,可发现航天员在参与在轨服务任务过程中存在诸多劣势。由于在轨服务任务载荷的多样性,其质量、惯量、刚度等物理特性覆盖范围大,不同载荷操作任务对空间机器人等设备的负载能力和精细操作能力的需求差异较大。因此,使用模块化机器人执行在轨服务任务是我国航天工程的重点发展方向。
3.拓扑结构优化是使模块化机器人依据任务要求而进行的构型优化过程,最优构型能够实现工作的高效性及任务执行成功率的最大化等,其本质是实现对可重构机器人的构型设计。现有关于模块化机器人拓扑优化的研究,常集中在异构模块化机器人,即模块种类多样,性能不一。而同质模块化机器人,因各个模块结构、性能等均完全一致,因而可修复性更高。将异构模块化机器人的拓扑优化直接应用于同质模块化机器人,会带来操作过程繁琐、一旦模块信息更改则无法适用等情况,因而开展同质模块化机器人的拓扑优化研究具有重要的理论研究价值。
技术实现要素:
4.有鉴于此,本发明提供了一种同质模块化机器人拓扑优化算法,以实现同质模块化机器人的拓扑结构优化。
5.本发明实施例提供了一种同质模块化机器人拓扑优化算法,包括:
6.获得单个模块的面接口个数、面接口类型、面接口分布、面接口连接面上的连接方位关系个数、可用模块总个数、建立面接口坐标系和模块中心坐标系;
7.依据单个模块的面接口个数、面接口类型、面接口分布、面接口连接面上的连接方位关系个数,获得模块接口间连接约束;
8.依据单个模块面接口坐标系和模块中心坐标系,获得单个模块各个面接口坐标系在模块中心坐标系下的齐次变换矩阵;
9.依据面接口连接面上的连接方位关系个数,获得模块不同连接方位关系所对应的奇次变换矩阵;
10.依据单个模块的面接口个数、面接口类型、面接口分布,获得单个模块通用数学表征;
11.依据拓扑结构中的模块数量、处于连接状态的模块接口关系与连接方位关系,获得模块化机器人拓扑结构通用数学表征;
12.依据可用模块总数、模块接口间连接约束、单个模块通用数学表征、模块化机器人拓扑结构通用数学表征,获得多个任意生成且符合模块接口间连接约束的模块化机器人拓
扑结构及对应的数学表征;
13.依据多个任意生成且符合模块接口间连接约束的模块化机器人拓扑结构及对应的数学表征、单个模块各个面接口坐标系在模块中心坐标系下的齐次变换矩阵,基于ga框架,设计同质模块化机器人拓扑优化算法,通过编码、选择、交叉、变异、解码,获得同质模块化机器人最优拓扑。
14.上述方法中,所述依据单个模块的面接口个数、面接口类型、面接口分布,获得单个模块通用数学表征为:
[0015][0016]
其中,n
surf_con
表示单个模块的面接口个数;ai(i=1,2,...,n
surf_con
)表示接口i所属半球类型,ai=0表示接口i所属半球类型为被动半球,不可主动输出扭矩,ai=1表示接口i所属半球类型为主动半球,可主动输出扭矩;bi(i=1,2,...,n
surf_con
)表示接口i的类型,bi=0表示接口i为母接口,不可主动输出扭矩,bi=1表示接口i为公接口,可主动输出扭矩;di(i=1,2,...,n
surf_con
)表示接口i的所处状态,di=0表示接口i的所处状态为空闲,di=1表示接口i的所处状态为连接;ei(i=1,2,...,n
surf_con
)表示与接口i处于连接状态的模块编号;fi(i=1,2,...,n
surf_con
)表示与接口i处于连接状态的模块接口编号;gi(i=1,2,...,n
surf_con
)表示接口i所处的连接方位关系。
[0017]
上述方法中,所述依据拓扑结构中的模块数量、处于连接状态的模块接口编号与连接方位关系,获得模块化机器人拓扑结构通用数学表征为:
[0018][0019][0020][0021][0022]
其中,n
topo_module
表示模块化机器人拓扑结构中所包含的模块数量;mi(i=1,2,...,n
topo_module
)表示模块化机器人拓扑结构中的各个模块编号;矩阵b称为接地关系矩阵,bai(i=1,2,...,n
topo_module
)表示模块化机器人拓扑结构中模块是否在使用时接地作为基座,bai=0表示模块mi在使用时不接地,bai=1表示模块mi在使用时接地作为基座,且矩阵c称为模块化机器人的连接关系矩阵,c
ij
(i=1,2,...,n
topo_module
;j=
1,2,...,n
topo_module
)∈{1,...,n
surf_con
}表示模块mi与模块mj相连接的接口编号,当i=j时,c
ij
=0(i=1,2,...,n
topo_module
;j=1,2,...,n
topo_module
),n
surf_con
表示单个模块的面接口个数;矩阵co称为模块化机器人的连接方位关系矩阵,co
ij
(i=1,2,...,n
topo_module
;j=1,2,...,n
topo_module
)表示模块mi与模块mj的连接方位关系,当i=j时,co
ij
=0(i=1,2,...,n
topo_module
;j=1,2,...,n
topo_module
)。
[0023]
上述方法中,所述依据任意生成且符合模块接口间连接约束的模块化机器人拓扑结构及对应的数学表征、单个模块各个面接口坐标系在模块中心坐标系下的齐次变换矩阵,基于ga框架,设计同质模块化机器人拓扑优化算法,通过编码、选择、交叉、变异、解码,获得同质模块化机器人最优拓扑,包括:
[0024]
依据模块化机器人拓扑结构通用数学表征,获取模块化机器人拓扑结构通用数学表征所具有的特殊属性;
[0025]
依据模块化机器人拓扑结构通用数学表征所具有的特殊属性,获取针对模块化机器人拓扑结构的编码机制。
[0026]
上述方法中,所述依据模块化机器人拓扑结构通用数学表征,获取模块化机器人拓扑结构通用数学表征所具有的特殊属性,包括:
[0027]
对包含n
topo_module
个模块的模块化机器人拓扑结构,其数学表征为
[0028][0029][0030][0031][0032]
其中,n
topo_module
表示模块化机器人拓扑结构中所包含的模块数量;mi(i=1,2,...,n
topo_module
)表示模块化机器人拓扑结构中的各个模块编号;矩阵b称为接地关系矩阵,bai(i=1,2,...,n
topo_module
)表示模块化机器人拓扑结构中模块是否在使用时接地作为基座,bai=0表示模块mi在使用时不接地,bai=1表示模块mi在使用时接地作为基座,且矩阵c称为模块化机器人的连接关系矩阵,c
ij
(i=1,2,...,n
topo_module
;j=1,2,...,n
topo_module
)∈{1,
…
,n
surf_con
}表示模块mi与模块mj相连接的接口编号,当i=j时,c
ij
=0(i=1,2,...,n
topo_module
;j=1,2,...,n
topo_module
),n
surf_con
表示单个模块的面接口个数;矩阵co称为模块化机器人的连接方位关系矩阵,co
ij
(i=1,2,...,n
topo_module
;j=1,2,...,n
topo_module
)表示模块mi与模块mj的连接方位关系,当i=j时,co
ij
=0(i=1,2,...,n
topo_module
;j=1,2,...,n
topo_module
);
[0033]
因为c
ij
(i=1,2,...,n
topo_module
;j=1,2,...,n
topo_module
)表示模块mi与模块mj相连接的接口编号,当i=j时,c
ij
=0(i=1,2,...,n
topo_module
;j=1,2,...,n
topo_module
),所以可知模块化机器人的连接关系矩阵c具有如下特殊属性:
[0034]
矩阵c的上下三角元素性能对称,矩阵中对称位置满足模块接口间连接约束;矩阵中每一行的非0个数表示与行数相对应的模块编号处于连接状态的接口个数;
[0035]
同理,连接方位关系矩阵co具有相同属性。
[0036]
上述方法中,所述依据模块化机器人拓扑结构通用数学表征所具有的特殊属性,获取针对模块化机器人拓扑结构的编码机制,包括:
[0037]
依据模块化机器人拓扑结构通用数学表征中的连接关系矩阵c、连接方位关系矩阵co和接地关系矩阵ba,结合模块化机器人拓扑结构通用数学表征所具有的特殊属性,获得模块化机器人拓扑结构的编码机制,则模块化机器人拓扑结构的基因型表示为矩阵c-co:
[0038][0039]
其中,n
surf_con
表示单个模块的面接口个数;branch_con_ni(i=1,
…
,n
surf_con
)表示基座模块接口i上所连接的总模块个数;表示接地模块的接口i上的第j组连接状态,由连接关系矩阵c、连接方位关系矩阵co中的对应元素的二进制组成,共包含(n
bin_surf_con_num
+n
bin_surf_con_num
+n
bin_con_ori_num
)位二进制,n
bin_surf_con_num
表示单个模块的面接口个数所对应的最大二进制位数,n
bin_con_ori_num
表示面接口连接面上的连接方位关系个数所对应的最大二进制位数;
[0040]
矩阵c-co中每个元素作为个体基因,每个基因分别表示连接关系间的模块接口编号与模块方位关系编号。
[0041]
上述方法中,所述依据多个任意生成且符合模块接口间连接约束的模块化机器人拓扑结构及对应的数学表征、单个模块各个面接口坐标系在模块中心坐标系下的齐次变换矩阵,基于ga框架,设计同质模块化机器人拓扑优化算法,通过编码、选择、交叉、变异、解码,获得同质模块化机器人最优拓扑,包括:
[0042]
使用机器人的工作空间最大作为目标函数,依据模块化机器人拓扑结构的编码机制,对模块化机器人拓扑结构的基因型进行解码,获得模块化机器人拓扑结构的矩阵m、ba、c、co;
[0043]
依据模块化机器人拓扑结构的矩阵c、co,基于深度搜索,单个模块各个面接口坐标系在模块中心坐标系下的齐次变换矩阵、模块不同连接方位关系所对应的奇次变换矩阵,获得模块化机器人拓扑结构所对应的运动学模型;基于蒙特卡洛,获得模块化机器人的工作空间;
[0044]
遍历多个模块化机器人拓扑结构,获得各自对应的模块化机器人工作空间为f(topo_i)(i=1,...,n
topo_total
),其中n
topo_total
表示模块化机器人拓扑结构总个数;
[0045]
计算多个模块化机器人拓扑结构的个体适应度p(topo_i)(i=1,...,n
topo_total
),
[0046][0047]
通过求取多个模块化机器人拓扑结构该个体前面的所有个体适应度之和,计算个体的累计适应度
[0048][0049]
其中,topo_i表示个体列表中的第i个个体,p(topo_k)表示个体列表中第i个个体的适应度函数值,q(topo_i)表示个体列表中第i个个体的累计适应度函数值,
[0050]
生成与种群个体数量相等的[0,1]区间内的随机数,若该随机数小于或等于个体的累计适应度且大于前一个体的累积适应度,则选择该个体进入子代种群。
[0051]
上述方法中,所述依据多个任意生成且符合模块接口间连接约束的模块化机器人拓扑结构及对应的数学表征、单个模块各个面接口坐标系在模块中心坐标系下的齐次变换矩阵,基于ga框架,设计同质模块化机器人拓扑优化算法,通过编码、选择、交叉、变异、解码,获得同质模块化机器人最优拓扑,包括:
[0052]
任意生成[1,n
surf_con
]区间内的随机整数randnum1,任意生成,任意生成区间内的随机整数randnum2,对父代和母代个体的c-co矩阵中元素进行交叉变换,其中,n
surf_con
表示单个模块的面接口个数;branch_con_ni(i=1,...,n
surf_con
)表示基座模块接口i上所连接的总模块个数。
[0053]
由以上技术方案可以看出,本发明实施例具有以下有益效果:
[0054]
本发明实施例的技术方案中,获得单个模块的面接口个数、面接口类型、面接口分布、面接口连接面上的连接方位关系个数、可用模块总个数、建立面接口坐标系和模块中心坐标系;依据单个模块的面接口个数、面接口类型、面接口分布、面接口连接面上的连接方位关系个数,获得模块接口间连接约束;依据单个模块面接口坐标系和模块中心坐标系,获得单个模块各个面接口坐标系在模块中心坐标系下的齐次变换矩阵;依据面接口连接面上的连接方位关系个数,获得模块不同连接方位关系所对应的奇次变换矩阵;依据单个模块的面接口个数、面接口类型、面接口分布,获得单个模块通用数学表征;依据拓扑结构中的模块数量、处于连接状态的模块接口关系与连接方位关系,获得模块化机器人拓扑结构通用数学表征;依据可用模块总数、模块接口间连接约束、单个模块通用数学表征、模块化机器人拓扑结构通用数学表征,获得多个任意生成且符合模块接口间连接约束的模块化机器人拓扑结构及对应的数学表征;依据多个任意生成且符合模块接口间连接约束的模块化机器人拓扑结构及对应的数学表征、单个模块各个面接口坐标系在模块中心坐标系下的齐次变换矩阵,基于ga框架,设计同质模块化机器人拓扑优化算法,通过编码、选择、交叉、变异、解码,获得同质模块化机器人最优拓扑,因此可以实现同质模块化机器人拓扑优化,与同质模块化机器人特点相结合,可获得使用同质模块数量最少情况下工作空间最大的模块化机
器人拓扑结构,为后续模块化机器人的使用提供拓扑结构基础。
【附图说明】
[0055]
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单介绍,显而易见,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性和劳动性的前提下,还可以根据这些附图获得其它附图。
[0056]
图1是本发明实施例所提供的同质模块化机器人拓扑优化算法的流程示意图;
[0057]
图2是本发明实施例中单个模块概念图;
[0058]
图3是本发明实施例中单个模块坐标系建立示意图。
【具体实施例】
[0059]
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
[0060]
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0061]
本发明实施例给出一种同质模块化机器人拓扑优化算法,请参考图1,其为本发明实施例所提供的同质模块化机器人拓扑优化算法的流程示意图,如图1所示,该方法包括以下步骤:
[0062]
步骤101,获得单个模块的面接口个数、面接口类型、面接口分布、面接口连接面上的连接方位关系个数、可用模块总个数、建立面接口坐标系和模块中心坐标系。
[0063]
单个模块概念图请参考图2所示,面接口个数为4,面接口类型为2公2母,主动半球和被动半球上各分布有1公1母两个接口,面接口连接面上的连接方位关系共有2种,可用模块总个数为7,面接口坐标系和模块中心坐标系建立请参考图3所示。
[0064]
步骤102,依据单个模块的面接口个数、面接口类型、面接口分布、面接口连接面上的连接方位关系个数,获得模块接口间连接约束。
[0065]
具体的,以模块化机器人的面接口数量与排布,以及面接口类型,结合模块内部关节力矩输出方式,分析模块接口间连接约束,比如主动半球的接口仅可以与被动半球的接口相连,主动接口与被动接口相连,或者当面接口分布紧凑时,可能出现相邻接口不能同时连接的约束关系。
[0066]
本实例中,模块接口间连接约束是,主动半球上的接口仅可与被动半球上的接口相连,母接口仅可与公接口相连。
[0067]
步骤103,依据单个模块面接口坐标系和模块中心坐标系,获得单个模块各个面接口坐标系在模块中心坐标系下的齐次变换矩阵。
[0068]
步骤104,依据面接口连接面上的连接方位关系个数,获得模块不同连接方位关系所对应的奇次变换矩阵。
[0069]
步骤105,依据单个模块的面接口个数、面接口类型、面接口分布,获得单个模块通用数学表征。
[0070]
具体的,依据单个模块的面接口个数、面接口类型、面接口分布,获得单个模块通
用数学表征为:
[0071][0072]
其中,n
surf_con
表示单个模块的面接口个数;ai(i=1,2,...,n
surf_con
)表示接口i所属半球类型,ai=0表示接口i所属半球类型为被动半球,不可主动输出扭矩,ai=1表示接口i所属半球类型为主动半球,可主动输出扭矩;bi(i=1,2,...,n
surf_con
)表示接口i的类型,bi=0表示接口i为母接口,不可主动输出扭矩,bi=1表示接口i为公接口,可主动输出扭矩;di(i=1,2,...,n
surf_con
)表示接口i的所处状态,di=0表示接口i的所处状态为空闲,di=1表示接口i的所处状态为连接;ei(i=1,2,...,n
surf_con
)表示与接口i处于连接状态的模块编号;fi(i=1,2,...,n
surf_con
)表示与接口i处于连接状态的模块接口编号;gi(i=1,2,...,n
surf_con
)表示接口i所处的连接方位关系。
[0073]
步骤106,依据拓扑结构中的模块数量、处于连接状态的模块接口关系与连接方位关系,获得模块化机器人拓扑结构通用数学表征。
[0074]
具体的,依据拓扑结构中的模块数量、处于连接状态的模块接口编号与连接方位关系,获得模块化机器人拓扑结构通用数学表征为:
[0075][0076][0077][0078][0079]
其中,n
topo_module
表示模块化机器人拓扑结构中所包含的模块数量;mi(i=1,2,...,n
topo_module
)表示模块化机器人拓扑结构中的各个模块编号;矩阵b称为接地关系矩阵,bai(i=1,2,...,n
topo_module
)表示模块化机器人拓扑结构中模块是否在使用时接地作为基座,bai=0表示模块mi在使用时不接地,bai=1表示模块mi在使用时接地作为基座,且矩阵c称为模块化机器人的连接关系矩阵,c
ij
(i=1,2,...,n
topo_module
;j=1,2,...,n
topo_module
)∈{1,...,n
surf_con
}表示模块mi与模块mj相连接的接口编号,当i=j时,c
ij
=0(i=1,2,...,n
topo_module
;j=1,2,...,n
topo_module
),n
surf_con
表示单个模块的面接口个数;矩阵co称为模块化机器人的连接方位关系矩阵,co
ij
(i=1,2,...,n
topo_module
;j=1,2,...,n
topo_module
)表示模块mi与模块mj的连接方位关系,当i=j时,co
ij
=0(i=1,2,...,ntopo_module
;j=1,2,...,n
topo_module
)。
[0080]
步骤107,依据可用模块总数、模块接口间连接约束、单个模块通用数学表征、模块化机器人拓扑结构通用数学表征,获得多个任意生成且符合模块接口间连接约束的模块化机器人拓扑结构及对应的数学表征。
[0081]
第一步,输入可用模块数量、面接口数量、面接口类型、面接口所处半球、可行接口方位关系,初始化m_free、m_link、connector_00、connector_01、connector_10、connector_11;
[0082]
第二步,对于可用模块,依次设置模块id、模块面接口信息、模块使能位,完成可用模块初始化,将完成初始化的模块存储于m_free;
[0083]
第三步,任意生成小于可用模块总数的拓扑图所包含模块个数n,和第一个连入拓扑图中的模块编号;
[0084]
第四步,将连入拓扑图中的模块从m_free中剔除,存储于m_link中,同时遍历m_link中模块状态,更新connector_00、connector_01、connector_10、connector_11;
[0085]
第五步,任意生成模块编号、模块接口编号、连接方位关系,依据当前模块接口编号所对应的接口属性,在connector_00、connector_01、connector_10、connector_11中挑选满足接口约束的目标模块接口;
[0086]
第六步,执行第四步,,同时更新m_link中模块接口状态;
[0087]
第七步,:重复执行第五步,和第六步,,直到m_link中所包含的模块数等于第三步,生成的模块个数n。
[0088]
其中,m_link,用于存储连入拓扑图中的模块;m_free,用于存储所有可用但未连入拓扑图中的模块;connector_00,用于存储拓扑图中所有可用的被动半球母接口;connector_01,用于存储拓扑图中所有可用的被动半球公接口;connector_10,用于存储拓扑图中所有可用的主动半球母接口;connector_11,用于存储拓扑图中所有可用的主动半球公接口。
[0089]
步骤108,依据多个任意生成且符合模块接口间连接约束的模块化机器人拓扑结构及对应的数学表征、单个模块各个面接口坐标系在模块中心坐标系下的齐次变换矩阵,基于ga框架,设计同质模块化机器人拓扑优化算法,通过编码、选择、交叉、变异、解码,获得同质模块化机器人最优拓扑。
[0090]
具体的,第一步:初始化与个体二进制编码。设置
[0091]
依据模块化机器人拓扑结构通用数学表征,获取模块化机器人拓扑结构通用数学表征所具有的特殊属性。
[0092]
对包含n
topo_module
个模块的模块化机器人拓扑结构,其数学表征为
[0093][0094][0095]
[0096][0097]
其中,n
topo_module
表示模块化机器人拓扑结构中所包含的模块数量;mi(i=1,2,...,n
topo_module
)表示模块化机器人拓扑结构中的各个模块编号;矩阵b称为接地关系矩阵,bai(i=1,2,...,n
topo_module
)表示模块化机器人拓扑结构中模块是否在使用时接地作为基座,bai=0表示模块mi在使用时不接地,bai=1表示模块mi在使用时接地作为基座,且矩阵c称为模块化机器人的连接关系矩阵,c
ij
(i=1,2,...,n
topo_module
;j=1,2,...,n
topo_module
)∈{1,...,n
surf_con
}表示模块mi与模块mj相连接的接口编号,当i=j时,c
ij
=0(i=1,2,...,n
topo_module
;j=1,2,...,n
topo_module
),n
surf_con
表示单个模块的面接口个数;矩阵co称为模块化机器人的连接方位关系矩阵,co
ij
(i=1,2,...,n
topo_module
;j=1,2,...,n
topo_module
)表示模块mi与模块mj的连接方位关系,当i=j时,co
ij
=0(i=1,2,...,n
topo_module
;j=1,2,...,n
topo_module
);
[0098]
因为c
ij
(i=1,2,...,n
topo_module
;j=1,2,...,n
topo_module
)表示模块mi与模块mj相连接的接口编号,当i=j时,c
ij
=0(i=1,2,...,n
topo_module
;j=1,2,...,n
topo_module
),所以可知模块化机器人的连接关系矩阵c具有如下特殊属性:
[0099]
矩阵c的上下三角元素性能对称,矩阵中对称位置满足模块接口间连接约束;矩阵中每一行的非0个数表示与行数相对应的模块编号处于连接状态的接口个数;
[0100]
同理,连接方位关系矩阵co具有相同属性。
[0101]
依据模块化机器人拓扑结构通用数学表征所具有的特殊属性,获取针对模块化机器人拓扑结构的编码机制。
[0102]
依据模块化机器人拓扑结构通用数学表征中的连接关系矩阵c、连接方位关系矩阵co和接地关系矩阵ba,结合模块化机器人拓扑结构通用数学表征所具有的特殊属性,获得模块化机器人拓扑结构的编码机制,则模块化机器人拓扑结构的基因型表示为矩阵c-co:
[0103][0104]
其中,n
surf_con
表示单个模块的面接口个数;branch_con_ni(i=1,...,n
surf_con
)表示基座模块接口i上所连接的总模块个数;表示接地模块的接口i上的第j组连接状态,由连接关系矩阵c、连接方位关系矩阵co中的对应元素的二进制组成,共包含(n
bin_surf_con_num
+n
bin_surf_con_num
+n
bin_con_ori_num
)位二进制,n
bin_surf_con_num
表示单个模块的面接口个数所对应的最大二进制位数,n
bin_con_ori_num
表示面接口连接面上的
连接方位关系个数所对应的最大二进制位数;
[0105]
矩阵c-co中每个元素作为个体基因,每个基因分别表示连接关系间的模块接口编号与模块方位关系编号。
[0106]
使用上述编码机制对个体进行编码。
[0107]
第二步:个体评价,即适应度比较。使用机器人的工作空间最大作为目标函数,依据模块化机器人拓扑结构的编码机制,对模块化机器人拓扑结构的基因型进行解码,获得模块化机器人拓扑结构的矩阵m、ba、c、co;
[0108]
依据模块化机器人拓扑结构的矩阵c、co,基于深度搜索,单个模块各个面接口坐标系在模块中心坐标系下的齐次变换矩阵、模块不同连接方位关系所对应的奇次变换矩阵,获得模块化机器人拓扑结构所对应的运动学模型;基于蒙特卡洛,获得模块化机器人的工作空间;
[0109]
遍历多个模块化机器人拓扑结构,获得各自对应的模块化机器人工作空间为f(topo_i)(i=1,...,n
topo_total
),其中n
topo_total
表示模块化机器人拓扑结构总个数,并判断任务点是否在工作空间内;
[0110]
计算多个模块化机器人拓扑结构的个体适应度p(topo_i)(i=1,...,n
topo_total
),
[0111][0112]
通过适应度函数值寻找工作空间最大所对应的拓扑结构。
[0113]
第三步:选择运算。将选择算子作用于此种群所有拓扑结构,将优化个体直接遗传给下一代或者通过配对交叉产生新的拓扑结构再遗传给下一代。本实例采用轮盘赌法选择拓扑结构,即适应度最高的拓扑结构一定被选择,且每个拓扑结构的选择概率与适应度值成比例。通过求取多个模块化机器人拓扑结构该个体前面的所有个体适应度之和,计算个体的累计适应度
[0114][0115]
其中,topo_i表示个体列表中的第i个个体,p(topo_k)表示个体列表中第i个个体的适应度函数值,q(topo_i)表示个体列表中第i个个体的累计适应度函数值;
[0116]
生成与种群个体数量相等的[0,1]区间内的随机数,若该随机数小于或等于个体的累计适应度且大于前一个体的累积适应度,则选择该个体进入子代种群。
[0117]
第四步:交叉运算。将交叉算子作用于此种群所有拓扑结构。按照交叉概率挑选父体进行配对,然后任意生成[1,n
surf_con
]区间内的随机整数randnum1,任意生成区间内的随机整数randnum2,其中,n
surf_con
表示单个模块的面接口个数;branch_con_ni(i=1,...,n
surf_con
)表示基座模块接口i上所连接的总模块个数,对父代和母代个体的c-co矩阵中元素按照单点交叉的规则产生新拓扑结构。
[0118]
第五步:变异运算。将变异算子作用于此种群所有拓扑结构。按照变异概率挑选变
异拓扑结构,对其关节角进行变异操作。
[0119]
第六步:终止条件判断。当达到最大进化代数时,则将进化过程中任务点在工作空间内,模块数量最少的具有最大适应度的拓扑结构作为最优情况。反之,回到第二步继续进化过程。
[0120]
本发明实施例的技术方案具有以下有益效果:
[0121]
本发明实施例的技术方案中,获得单个模块的面接口个数、面接口类型、面接口分布、面接口连接面上的连接方位关系个数、可用模块总个数、建立面接口坐标系和模块中心坐标系;依据单个模块的面接口个数、面接口类型、面接口分布、面接口连接面上的连接方位关系个数,获得模块接口间连接约束;依据单个模块面接口坐标系和模块中心坐标系,获得单个模块各个面接口坐标系在模块中心坐标系下的齐次变换矩阵;依据面接口连接面上的连接方位关系个数,获得模块不同连接方位关系所对应的奇次变换矩阵;依据单个模块的面接口个数、面接口类型、面接口分布,获得单个模块通用数学表征;依据拓扑结构中的模块数量、处于连接状态的模块接口关系与连接方位关系,获得模块化机器人拓扑结构通用数学表征;依据可用模块总数、模块接口间连接约束、单个模块通用数学表征、模块化机器人拓扑结构通用数学表征,获得多个任意生成且符合模块接口间连接约束的模块化机器人拓扑结构及对应的数学表征;依据多个任意生成且符合模块接口间连接约束的模块化机器人拓扑结构及对应的数学表征、单个模块各个面接口坐标系在模块中心坐标系下的齐次变换矩阵,基于ga框架,设计同质模块化机器人拓扑优化算法,通过编码、选择、交叉、变异、解码,获得同质模块化机器人最优拓扑,因此可以实现同质模块化机器人拓扑优化,与同质模块化机器人特点相结合,可获得使用同质模块数量最少情况下工作空间最大的模块化机器人拓扑结构,为后续模块化机器人的使用提供拓扑结构基础。
[0122]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
[0123]
本发明说明书中未作详细描述的内容属本领域技术人员的公知技术。
技术特征:
1.一种同质模块化机器人拓扑优化算法,其特征在于,所述方法包括:获得单个模块的面接口个数、面接口类型、面接口分布、面接口连接面上的连接方位关系个数、可用模块总个数、建立面接口坐标系和模块中心坐标系;依据单个模块的面接口个数、面接口类型、面接口分布、面接口连接面上的连接方位关系个数,获得模块接口间连接约束;依据单个模块面接口坐标系和模块中心坐标系,获得单个模块各个面接口坐标系在模块中心坐标系下的齐次变换矩阵;依据面接口连接面上的连接方位关系个数,获得模块不同连接方位关系所对应的奇次变换矩阵;依据单个模块的面接口个数、面接口类型、面接口分布,获得单个模块通用数学表征;依据拓扑结构中的模块数量、处于连接状态的模块接口关系与连接方位关系,获得模块化机器人拓扑结构通用数学表征;依据可用模块总数、模块接口间连接约束、单个模块通用数学表征、模块化机器人拓扑结构通用数学表征,获得多个任意生成且符合模块接口间连接约束的模块化机器人拓扑结构及对应的数学表征;依据多个任意生成且符合模块接口间连接约束的模块化机器人拓扑结构及对应的数学表征、单个模块各个面接口坐标系在模块中心坐标系下的齐次变换矩阵,设计同质模块化机器人拓扑优化算法,基于ga框架,通过编码、选择、交叉、变异、解码,获得同质模块化机器人最优拓扑,其中,所述同质模块化机器人指组成机器人的各个模块结构、功能完全相同。2.根据权利要求1所述的方法,其特征在于,依据单个模块的面接口个数、面接口类型、面接口分布,获得单个模块通用数学表征为:其中,n
surf_con
表示单个模块的面接口个数;a
i
(i=1,2,...,n
surf_con
)表示接口i所属半球类型,a
i
=0表示接口i所属半球类型为被动半球,不可主动输出扭矩,a
i
=1表示接口i所属半球类型为主动半球,可主动输出扭矩;b
i
(i=1,2,...,n
surf_con
)表示接口i的类型,b
i
=0表示接口i为母接口,不可主动输出扭矩,b
i
=1表示接口i为公接口,可主动输出扭矩;d
i
(i=1,2,...,n
surf_con
)表示接口i的所处状态,d
i
=0表示接口i的所处状态为空闲,d
i
=1表示接口i的所处状态为连接;e
i
(i=1,2,...,n
surf_con
)表示与接口i处于连接状态的模块编号;f
i
(i=1,2,...,n
surf_con
)表示与接口i处于连接状态的模块接口编号;g
i
(i=1,2,...,n
surf_con
)表示接口i所处的连接方位关系。3.根据权利要求1所述的方法,其特征在于,依据拓扑结构中的模块数量、处于连接状态的模块接口编号与连接方位关系,获得模块化机器人拓扑结构通用数学表征为:
其中,n
topo_module
表示模块化机器人拓扑结构中所包含的模块数量;m
i
(i=1,2,...,n
topo_module
)表示模块化机器人拓扑结构中的各个模块编号;矩阵b称为接地关系矩阵,ba
i
(i=1,2,...,n
topo_module
)表示模块化机器人拓扑结构中模块是否在使用时接地作为基座,ba
i
=0表示模块m
i
在使用时不接地,ba
i
=1表示模块m
i
在使用时接地作为基座,且矩阵c称为模块化机器人的连接关系矩阵,c
ij
(i=1,2,...,n
topo_module
;j=1,2,...,n
topo_module
)∈{1,...,n
surf_con
}表示模块m
i
与模块m
j
相连接的接口编号,当i=j时,c
ij
=0(i=1,2,...,n
topo_module
;j=1,2,...,n
topo_module
),n
surf_con
表示单个模块的面接口个数;矩阵co称为模块化机器人的连接方位关系矩阵,co
ij
(i=1,2,...,n
topo_module
;j=1,2,...,n
topo_module
)表示模块m
i
与模块m
j
的连接方位关系,当i=j时,co
ij
=0(i=1,2,...,n
topo_module
;j=1,2,...,n
topo_module
)。4.根据权利要求1所述的方法,其特征在于,依据任意生成且符合模块接口间连接约束的模块化机器人拓扑结构及对应的数学表征、单个模块各个面接口坐标系在模块中心坐标系下的齐次变换矩阵,基于ga框架,通过编码、选择、交叉、变异、解码,获得同质模块化机器人最优拓扑,包括:依据模块化机器人拓扑结构通用数学表征,获取模块化机器人拓扑结构通用数学表征所具有的特殊属性;依据模块化机器人拓扑结构通用数学表征所具有的特殊属性,获取针对模块化机器人拓扑结构的编码机制。5.根据权利要求4所述的方法,其特征在于,依据模块化机器人拓扑结构通用数学表征,获取模块化机器人拓扑结构通用数学表征所具有的特殊属性,包括:对包含n
topo_module
个模块的模块化机器人拓扑结构,其数学表征为个模块的模块化机器人拓扑结构,其数学表征为
其中,n
topo_module
表示模块化机器人拓扑结构中所包含的模块数量;m
i
(i=1,2,...,n
topo_module
)表示模块化机器人拓扑结构中的各个模块编号;矩阵b称为接地关系矩阵,ba
i
(i=1,2,...,n
topo_module
)表示模块化机器人拓扑结构中模块是否在使用时接地作为基座,ba
i
=0表示模块m
i
在使用时不接地,ba
i
=1表示模块m
i
在使用时接地作为基座,且矩阵c称为模块化机器人的连接关系矩阵,c
ij
(i=1,2,...,n
topo_module
;j=1,2,...,n
topo_module
)∈{1,...,n
surf_con
}表示模块m
i
与模块m
j
相连接的接口编号,当i=j时,c
ij
=0(i=1,2,...,n
topo_module
;j=1,2,...,n
topo_module
),n
surf_con
表示单个模块的面接口个数;矩阵co称为模块化机器人的连接方位关系矩阵,co
ij
(i=1,2,...,n
topo_module
;j=1,2,...,n
topo_module
)表示模块m
i
与模块m
j
的连接方位关系,当i=j时,co
ij
=0(i=1,2,...,n
topo_module
;j=1,2,...,n
topo_module
);因为c
ij
(i=1,2,...,n
topo_module
;j=1,2,...,n
topo_module
)表示模块m
i
与模块m
j
相连接的接口编号,当i=j时,c
ij
=0(i=1,2,...,n
topo_module
;j=1,2,...,n
topo_module
),所以可知模块化机器人的连接关系矩阵c具有如下特殊属性:矩阵c的上下三角元素性能对称,矩阵中对称位置满足模块接口间连接约束;矩阵中每一行的非0个数表示与行数相对应的模块编号处于连接状态的接口个数;同理,连接方位关系矩阵co具有相同属性。6.根据权利要求4所述的方法,其特征在于,依据模块化机器人拓扑结构通用数学表征所具有的特殊属性,获取针对模块化机器人拓扑结构的编码机制,包括:依据模块化机器人拓扑结构通用数学表征中的连接关系矩阵c、连接方位关系矩阵co和接地关系矩阵ba,结合模块化机器人拓扑结构通用数学表征所具有的特殊属性,获得模块化机器人拓扑结构的编码机制,则模块化机器人拓扑结构的基因型表示为矩阵c-co:其中,n
surf_con
表示单个模块的面接口个数;branch_con_n
i
(i=1,...,n
surf_con
)表示基座模块接口i上所连接的总模块个数;表示接地模
块的接口i上的第j组连接状态,由连接关系矩阵c、连接方位关系矩阵co中的对应元素的二进制组成,共包含(n
bin_surf_con_num
+n
bin_surf_con_num
+n
bin_con_ori_num
)位二进制,n
bin_surf_con_num
表示单个模块的面接口个数所对应的最大二进制位数,n
bin_con_ori_num
表示面接口连接面上的连接方位关系个数所对应的最大二进制位数;矩阵c-co中每个元素作为个体基因,每个基因分别表示连接关系间的模块接口编号与模块方位关系编号。7.根据权利要求1所述的方法,其特征在于,依据多个任意生成且符合模块接口间连接约束的模块化机器人拓扑结构及对应的数学表征、单个模块各个面接口坐标系在模块中心坐标系下的齐次变换矩阵,基于ga框架,通过编码、选择、交叉、变异、解码,获得同质模块化机器人最优拓扑,包括:使用机器人的工作空间最大作为目标函数,依据模块化机器人拓扑结构的编码机制,对模块化机器人拓扑结构的基因型进行解码,获得模块化机器人拓扑结构的矩阵m、ba、c、co;依据模块化机器人拓扑结构的矩阵c、co,基于深度搜索,单个模块各个面接口坐标系在模块中心坐标系下的齐次变换矩阵、模块不同连接方位关系所对应的奇次变换矩阵,获得模块化机器人拓扑结构所对应的运动学模型;基于蒙特卡洛,获得模块化机器人的工作空间;遍历多个模块化机器人拓扑结构,获得各自对应的模块化机器人工作空间为f(topo_i)(i=1,...,n
topo_total
),其中n
topo_total
表示模块化机器人拓扑结构总个数;计算多个模块化机器人拓扑结构的个体适应度p(topo_i)(i=1,...,n
topo_total
),通过求取多个模块化机器人拓扑结构该个体前面的所有个体适应度之和,计算个体的累计适应度其中,topo_i表示个体列表中的第i个个体,p(topo_k)表示个体列表中第i个个体的适应度函数值,q(topo_i)表示个体列表中第i个个体的累计适应度函数值,生成与种群个体数量相等的[0,1]区间内的随机数,若该随机数小于或等于个体的累计适应度且大于前一个体的累积适应度,则选择该个体进入子代种群。8.根据权利要求1所述的方法,其特征在于,依据多个任意生成且符合模块接口间连接约束的模块化机器人拓扑结构及对应的数学表征、单个模块各个面接口坐标系在模块中心坐标系下的齐次变换矩阵,基于ga框架,通过编码、选择、交叉、变异、解码,获得同质模块化机器人最优拓扑,包括:任意生成[1,n
surf_con
]区间内的随机整数randnum1,任意生成[1,区间内的随机整数randnum2,对父
代和母代个体的c-co矩阵中元素进行交叉变换,其中,n
surf_con
表示单个模块的面接口个数;branch_con_n
i
(i=1,...,n
surf_con
)表示基座模块接口i上所连接的总模块个数。
技术总结
本发明实施例提供了一种同质模块化机器人拓扑优化算法,实现了同质模块化机器人拓扑结构优化,包括:获得单模块的面接口个数、类型、分布、连接面上的连接方位关系个数、可用模块总个数,并建立面接口与模块中心坐标系;进而分析获得模块接口间连接约束、单模块各面接口坐标系相对中心坐标系以及不同连接方位关系所对应的奇次变换矩阵、单模块与模块化机器人拓扑结构通用数学表征;任意生成多个符合模块接口间连接约束的拓扑结构及对应的数学表征;基于GA框架的编码、选择、交叉、变异,获得同质模块化机器人最优拓扑。根据本发明实施例提供的技术方案,可实现使用模块数量最少情况下工作空间最大的同质模块化机器人拓扑结构优化。化。化。
技术研发人员:陈钢 费军廷 谭春林 贾庆轩 孙丰磊 宋康 李彤
受保护的技术使用者:北京邮电大学
技术研发日:2021.11.23
技术公布日:2022/3/8