首页> 中国专利> 一种变形机器人姿态变换最佳途径的确定方法

一种变形机器人姿态变换最佳途径的确定方法

摘要

本发明公开了一种变形机器人姿态变换最佳途径的确定方法,它在变形机器人的姿态控制上引入了图论理论,将姿态变换问题转化为图论相关问题,这样,变形机器人就可按照姿态变形复杂度权值最小原则,当求出最佳姿态变换途径之后,控制系统就可以给变形机器人各关节的电机发送相应的驱动命令,使得变形机器人能够按照最佳变换途径依次变换其关节转角,实现其姿态的合理顺序变形,实现其不同姿态间的相互转换,针对不同环境情况,可以稳定、高效、合理地实现变形机器人的姿态变换,使其具有很好的环境适应性。

著录项

  • 公开/公告号CN104943762A

    专利类型发明专利

  • 公开/公告日2015-09-30

    原文格式PDF

  • 申请/专利权人 山东科技大学;

    申请/专利号CN201510387024.1

  • 申请日2015-06-30

  • 分类号

  • 代理机构济南金迪知识产权代理有限公司;

  • 代理人段毅凡

  • 地址 266590 山东省青岛市经济技术开发区前湾港路579号山东科技大学

  • 入库时间 2023-12-18 11:04:47

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-06-23

    未缴年费专利权终止 IPC(主分类):B62D57/02 授权公告日:20170322 终止日期:20190630 申请日:20150630

    专利权的终止

  • 2017-03-22

    授权

    授权

  • 2015-11-04

    实质审查的生效 IPC(主分类):B62D57/02 申请日:20150630

    实质审查的生效

  • 2015-09-30

    公开

    公开

说明书

技术领域

本发明涉及变形机器人,尤其是一种变形移动机器人。

背景技术

针对不同复杂环境的变形机器人、尤其是变形移动机器人的研究越来越多,而且机器人变形的姿态也越来越多。例如,一种变形移动机器人,有四条带有驱动电机的履带(属于小腿),每条履带都通过一加长杆(属于大腿)经由两个运动关节与机器人主体相连,其各个运动关节都采用电机驱动。通过各自围绕其关节的转动,每一条小腿和大腿都可实现不同角度的转动变化,从而组合成变形移动机器人的多种姿态,实现其不同的行走方式,以适应在不同环境状况时的运动需要。在变形移动机器人姿态变换中,有些姿态之间的变换相对容易;有些姿态之间的变换相对复杂,有些甚至需要经过另一些姿态作为中间变换姿态来实现。例如,由某姿态A到某姿态B,可能会途径A-C-B,也可能会途径A-D-F-B变换过程;为使得的转动幅度最小,同时保证重心的偏移最小,达到机器人姿态变换的能耗小,速度快,整个机身稳定的效果,需要确定从某姿态A到某姿态B最佳的变换途径。

但目前针对其姿态变形的科学合理性问题,仍没有一种科学有效的解决方法。如何设计一种变形移动机器人在姿态互变时的科学、合理的最佳变形途径,是我们必须要解决的问题。

发明内容

本发明针对变形移动机器人在姿态互变时的科学、合理的最佳变形途径,提出一种基于图论的变形机器人姿态变换最佳途径的确定方法。

一种变形机器人姿态变换最佳途径的确定方法,采取如下步骤:

第一步,确立变形机器人各种可能的变形姿态,并为其取一个对应图论顶点的名称代号(i=1,2,3···,n),同时,建立起表明各种姿态是否可以相互直接变换的顶点连通图;

第二步,确定各个顶点Vi(i=1,2,3···,n)间姿态变换复杂度权值的计算方法:

对于可直接变换或直接连通的顶点,各顶点间姿态变换的复杂度权值由关节的运动角度及重心的偏移量两个因素来确定;

设变形机器人从某种姿态到另一种姿态变换时,相对于当前姿态,其4个大腿关节转动的角度分别定义为θb1,θb2,θb3,θb4,对应的4个小腿关节运动角度分别定义为θs1,θs2,θs3,θs4,机器人主体重心的水平偏移分量为Xd,重心的垂直偏移分量为Yd,并且取XdMax是水平方向上重心的最大偏移量,YdMax为垂直方向上重心的最大偏移量,则大腿关节平均运动角度为:

>θb=θb1+θb2+θb3+θb44---(1)>

同理,小腿关节平均运动角度为:

>θs=θs1+θs2+θs3+θs44---(2)>

将变量θb和θs进行归一化处理,即使得数据处于0到1之间;归一化处理的方法是:将所得的θb和θs数值除以360度;再将重心水平和垂直偏移分量分别除以各方向上的最大偏移量,同时,考虑垂直方向上重心上升或下降对电机的负荷不同,设定重心上升时Yd为正,重心下落时Yd为负,那么,重心水平偏移的复杂度权值通过式表示,重心垂直偏移的复杂度权值通过式表示,式中λ是介于0和之间的某个试验数值;再将机身上升时的复杂度权值稍微调大,将下降时的复杂度权值稍微调小,然后将重心分量合成为矢量p,则p矢量的模可以写成:

>|p|=(|λ+Yd|YdMax)2+(XdXdMax)2---(3)>

然后,根据变形时θb、θs和p对变形难易程度的影响和经验,确定它们各自在姿态变换复杂度权值中所占的比重,分别用常数w1、w2、w3表示,其中w1、w2、w3符合w3>w1>w2的规律,最后为了使计算机可以准确快速地处理数据,可将计算出的姿态变换的复杂度权值放大100倍并取整,使其处于合理的整数范围内;

这样,各种姿态之间变换的复杂度权值计算公式即可写为:

>W=(w1×θb360+w2×θs360+w3×|p|)×100---(4)>

当机身参数一定时,就可由此获得各顶点间不同的姿态变换复杂度权值;上述的姿态变换复杂度权值代表了机器人从一种姿态变换到另一种姿态时的难易程度,权值越低,姿态之间的变换越容易,反之,则越难;

对于不可直接连通顶点间的权值以无穷大符号∞表示;

第三步,建立各顶点Vi(i=1,2,3···,n)间的权值矩阵

把第二步计算方法得出各顶点间的权值,用Wij分别表示由顶点Vi直接变换到顶点Vj时的权值,此时,会有对角线上i=j的权值Wij=0;据此建立一个具有i×j(此处,i=j)个元素的权值矩阵W:

>W=W11W12...W1jW21W22...W2j.........Wi1Wi2...Wij---(5)>

第四步,确定权值最小的变换途径

首先,设定V为可连通姿态变换图中所有顶点Vi(i=1,2,3···,n)的集合;设定Si为V一个动态子集,Si集合用来在遍历循环中不断地加入这样一些顶点:以某Vi(i=1,2,3···,n)为起始顶点时,采用遍历方法搜索其到达当前V-Si集合中各顶点的权值之和为最小的途径,并且用变量Best[Vj](j=1,2,3···,n)专门记录当前可搜索到的从起始顶点Vi变换到任意一顶点Vj的最佳姿态变换途径的权值之和;同时用变量ROAD[Vj]专门记录顶点Vj在其当前最佳姿态变换途径中对应的前一个顶点,记为ROAD[Vj]=“前向顶点”,将各个Best[Vj](j=1,2,3···,n)相互比较后,选出具有最小权值之和的那个顶点Va,每次,将这样一个Va放入Si集合中;

然后,计算权值最小的变换途径,计算过程如下:

步骤1、初始化:确定起始顶点Vi(i=1,2,3···,n),和目标顶点Vend(end=1,2,···,n),将起始顶点Vi放入Si集合中,此时,Si={Vi},并且将顶点Vi与V集合中每个顶点之间的权值各自放入Best[Vj](j=1,2,3···,n)之中,作为起始顶点当前与各顶点之间最小的权值之和,此时有,Best[Vj]=Wij,同时将其各自对应的前向顶点设为起始顶点,即ROAD[Vj]=Vi(j=1,2,3···,n);

步骤2、比较当前Si集合中起始顶点Vi与当前V-Si集合中所有顶点之间的变换途径,选出各个权值之和为最小的变换途径所对应的V-Si集合中的顶点Va,Va所对应变换途径的权值之和应为Best[Va];

若Va≠Vend,则将顶点Va加入到当前Si集合中,表示为Si=Si∪{Va};

若Va=Vend,执行步骤4;

步骤3、计算当前Si集合中起始顶点Vi途经顶点Va时,到V-Si集合中各个顶点Vj(j=1,2,3···,n)的途径权值之和:Best[Va]+Waj,将其与原来不经过顶点Va的各个权值之和Best[Vj]作对比,若对其中的某些顶点Vj存在:(Best[Va]+Waj)<Best[Vj],则更新其对应的最小权值为Best[Vj]=Best[Va]+Waj,相应更新Vj对应的前向顶点为ROAD[Vj]=Va,否则都不更新;

返回步骤2,继续执行;

步骤4、依次记录目标顶点Vend,及由ROAD[Vend]开始逆向回溯的各个前向顶点,直至ROAD[Vj]为起始顶点Vi为止,所记录途径的逆向过程,即为由起始顶点变换到目标顶点的最佳变换途径,算法结束。

本发明的有益效果是:

1、当求出最佳姿态变换途径之后,控制系统就可以给变形机器人各关节的电机发送相应的驱动命令,使得变形机器人能够按照最佳变换途径依次变换其关节转角,实现其姿态的合理顺序变形。

2、在变形机器人的姿态控制上引入了图论理论,将姿态变换问题转化为图论相关问题。这样,变形机器人就可按照姿态变形复杂度权值最小原则,实现其不同姿态间的相互转换,针对不同环境情况,可以稳定、高效、合理地实现变形机器人的姿态变换,使其具有很好的环境适应性。

附图说明

图1是本发明实施例的一个变形移动机器人基本构造图;

图2是为本发明实施例建立的顶点连通图;

图3是本发明实施例加入权值后的顶点连通图;

图4是本发明实施例寻找最佳路径的程序流程图;

图5-1至5-8是本发明实施例对应的八种变形姿态示意图。

图中:001-机身,002-大腿,003-小腿。

具体实施方式

本发明实施例为一变形移动机器人,机身001长度为648mm,机身001宽度为450mm,大腿002长度为360mm,小腿003长度为262mm,取XdMax为机器人全部伸展开时整个机身001长度的四分之一:473mm,取YdMax为站立最高时整个机身001的重心高度:622mm,同时各个关节转角分别取90°或45°的整数倍计算。

为寻找实施例所述机器人姿态变形的最佳途径,采用本发明来确定其姿态最佳变形途径的过程如下程序:

第一步,确立变形移动机器人各种可能的8种变形姿态,并为其取一个对应图论顶点的名称代号,如表1所示,对应的八种变形姿态如图5-1至5-8所示;

表1:姿态与顶点名称对应表

同时,按照变形中是否会出现运动干涉等因素,由人工建立起表明各种姿态间是否可以相互直接变换的顶点连通图,顶点连通图如图2所示,图中箭头表明可以直接实现的不同顶点间的变换方向。

第二步,确定各个顶点间姿态变换复杂度权值的计算方法

大腿002关节平均运动角度为:

>θb=θb1+θb2+θb3+θb44---(1)>

同理,小腿001关节平均运动角度为:

>θs=θs1+θs2+θs3+θs44---(2)>

将变量θb和θs进行归一化处理,即使得数据处于0到1之间;归一化处理的方法是:将所得的θb和θs数值除以360度;再将重心水平和垂直偏移分量分别除以各方向上的最大偏移量,同时,考虑垂直方向上重心上升或下降对电机的负荷不同,设定重心上升时Yd为正,重心下落时Yd为负,那么,重心水平偏移的复杂度权值通过式表示,重心垂直偏移的复杂度权值通过式表示,式中λ是介于0和之间的某个试验数值;再将机身上升时的复杂度权值稍微调大,将下降时的复杂度权值稍微调小,然后将重心分量合成为矢量p,则p矢量的模可以写成:

>|p|=(|λ+Yd|YdMax)2+(XdXdMax)2---(3)>

然后,根据变形时θb、θs和p对变形难易程度的影响和经验,确定它们各自在姿态变换复杂度权值中所占的比重,分别用常数w1=0.8,w2=0.5,w3=1.0,λ=10表示,机器人主体重心的水平偏移分量Xd及重心的垂直偏移分量Yd可由相互变换的两种姿态实情计算获得,最后为了使计算机可以准确快速地处理数据,可将计算出的姿态变换的复杂度权值放大100倍并取整,使其处于合理的整数范围内;

这样,各种姿态之间变换的复杂度权值计算公式即可写为:

>W=(w1×θb360+w2×θs360+w3×|p|)×100---(4)>

根据所给的机身参数,可获得不同的姿态变换复杂度权值;上述的姿态变换复杂度权值代表了机器人从一种姿态变换到另一种姿态时的难易程度,权值越低,姿态之间的变换越容易,反之,则越难。

将上述计算的各姿态变换复杂度权值计入图2所示的顶点连通图中,加入权值后的顶点连通图如图3所示;

第三步,建立各顶点间的权值矩阵

将第二步计算得出的各顶点间权值,代入公式(5),建立起如下权值矩阵W:

>W=0214707102621260558955043426904001275688420>

第四步,确定权值最小的变换途径

首先,设定V为可连通姿态变换图中所有顶点Vi(i=1,2,3···,8)的集合;设定Si为V一个动态子集,Si集合用来在遍历循环中不断地加入这样一些顶点:以某Vi(i=1,2,3···,8)为起始顶点时,采用遍历方法搜索其到达当前V-Si集合中各顶点的权值之和为最小的途径,并且用变量Best[Vj](j=1,2,3···,8)专门记录当前可搜索到的从起始顶点Vi变换到任意一顶点Vj的最佳姿态变换途径的权值之和;同时用变量ROAD[Vj]专门记录顶点Vj在其当前最佳姿态变换途径中对应的前一个顶点,记为ROAD[Vj]=“前向顶点”,将各个Best[Vj](j=1,2,3···,8)相互比较后,选出具有最小权值之和的那个顶点Va,每次,将这样一个Va放入Si集合中;

以起始顶点V4到目标顶点V2的变换途径确定过程为例,说明确定权值最小变换途径的算法过程及其所对应的步骤,寻找最佳路径的程序流程图如图4所示:

步骤1:初始化:确定起始顶点为V4,目标顶点为V2,此时有V={Vi(i=1,2,3,4,5,6,7,8)},S4={V4},同时,Best[V4]=W44=0,Best[V1]=W41=21,Best[V3]=W43=26,Best[V5]=W45=55,对于不与V4直接连通的其它顶点有Best[Vj]=∞(j=2,6,7,8),同时将其各自对应的前向顶点设为起始顶点,即ROAD[Vj]=V4(j=1,2,3,4,5,6,7,8)。

步骤2:比较当前S4集合中起始顶点V4与当前V-S4集合中所有顶点之间的变换途径,可见,Best[V1]=21为最小,此时,V1≠V2,于是将顶点V1添加到S4集合中,当前,S4={V4,V1}。

步骤3:计算当前S4集合中起始顶点V4途经顶点V1时,到V-S4集合中各个顶点Vj的权值之和:Best[V1]+W1j(j=2,3,5,6,7,8),将其与原来不经过顶点V1的各个权值之和Best[Vj](j=2,3,5,6,7,8)作对比,可发现,途经顶点V1到V6时有Best[V1]+W16=21+47=68,小于过去的Best[V6]=∞,故取Best[V6]=Best[V1]+W16=68,同时记录其对应的前向顶点为ROAD[V6]=V1。而途经顶点V1到其它顶点的权值都是无穷大,故其它的Best[Vj](j=2,3,5,7,8)及其对应的前向顶点不再更新。

步骤4:返回步骤2,比较当前S4集合中起始顶点V4与当前V-S4集合中所有顶点之间的变换途径,可见,Best[V3]=26为最小,此时,V3≠V2,于是将顶点V3添加到集合S4中,当前,S4={V4,V1,V3}。

步骤5:返回步骤3,计算当前S4集合中起始顶点V4途经顶点V3时,到V-S4集合中各个顶点Vj的权值之和:Best[V3]+W3j(j=2,5,6,7,8),将其与原来不经过顶点V3的各个权值之和Best[Vj](j=2,5,6,7,8)作对比,可发现,途经顶点V3到其它顶点的权值都是无穷大,故所有的Best[Vj](j=2,5,6,7,8)及其对应的前向顶点都不更新。

步骤6:返回步骤2,比较S4集合中起始顶点V4与当前集合V-S4中所有顶点的权值之和,可见,Best[V5]=55为最小,此时,V5≠V2,于是将顶点V5添加到集合S4中,当前,S4={V4,V1,V3,V5}。

步骤7:返回步骤3:计算当前S4集合中起始顶点V4途经顶点V5时,到V-S4集合中各个顶点Vj的权值之和:Best[V5]+W5j(j=2,6,7,8),将其与原来不经过顶点V5的各个权值之和Best[Vj](j=2,6,7,8)作对比,可发现:

途经顶点V5到V2时有Best[V5]+W52=55+89=144,小于过去的Best[V2]=∞,故取Best[V2]=Best[V5]+W52=144,同时记录其对应的前向顶点为ROAD[V6]=V5

途经顶点V5到V7时有Best[V5]+W57=55+43=98,小于过去的Best[V7]=∞,故取Best[V7]=Best[V5]+W57=98,同时记录其对应的前向顶点为ROAD[V7]=V5

途经顶点V5到V8时有Best[V5]+W58=55+42=97,小于过去的Best[V8]=∞,故取Best[V8]=Best[V5]+W58=97,同时记录其对应的前向顶点为ROAD[V8]=V5

而途经顶点V5到顶点V6的权值是无穷大,故Best[V6]及其对应的前向顶点不再更新。

步骤8:返回步骤2,比较S4集合中起始顶点V4与当前集合V-S4中所有顶点的复杂度权值之和,可见,Best[V6]=68为最小,此时,V6≠V2,于是将顶点V6添加到集合S4中,当前,S4={V4,V1,V3,V5,V6}。

步骤9:返回步骤3,计算当前S4集合中起始顶点V4途经顶点V6时,到V-S4集合中各个顶点Vj的权值之和:Best[V6]+W6j(j=2,7,8),将其与原来不经过顶点V6的各个权值之和Best[Vj](j=2,7,8)作对比,可发现,途经顶点V6到其它顶点的权值之和都是无穷大,故所有的Best[Vj](j=2,7,8)及其对应的前向顶点都不更新。

步骤10:返回步骤2,比较S4集合中起始顶点V4与当前集合V-S4中所有顶点的权值之和,可见,Best[V8]=97最小,此时,V8≠V2,于是将顶点V8添加到集合S4中,当前,S4={V4,V1,V3,V5,V6,V8}。

步骤11:返回步骤3,计算当前S4集合中起始顶点V4途经顶点V8时,到V-S4集合中各个顶点Vj的权值之和:Best[V8]+W8j(j=2,7),将其与原来不经过顶点V8的各个权值之和Best[Vj](j=2,7)作对比,可发现,途经顶点V8到V2时有Best[V8]+W82=97+56=153,大于过去的Best[V2]=144,故Best[V2]及ROAD[V2]都不更新。

而途经顶点V8到顶点V7的权值之和是无穷大,故Best[V7]及ROAD[V7]都不更新。

步骤12:返回步骤2,比较S4集合中起始顶点V4与当前集合V-S4中所有顶点的权值之和,可见,Best[V7]=98最小,此时,V7≠V2,于是将顶点V7添加到集合S4中,当前,S4={V4,V1,V3,V5,V6,V7,V8}。

步骤13:返回步骤3,计算当前S4集合中起始顶点V4途经顶点V7时,到V-S4集合中各个顶点Vj的权值之和:Best[V7]+W7j(j=2),将其与原来不经过顶点V7的各个权值之和Best[Vj](j=2)作对比,可发现,途经顶点V7到顶点V2的权值之和是无穷大,故Best[V2]及ROAD[V2]都不更新。

步骤14:返回步骤2,比较S4集合中起始顶点V4与当前集合V-S4中所有顶点的复杂度权值之和,可见,Best[V2]=144最小,此时,V2=V2。执行步骤4。

步骤15:即发明内容的步骤4,依次记录目标顶点V2,及由ROAD[V2]开始逆向回溯的各个前向顶点,直至回溯到起始顶点V4为止(有:ROAD[V2]=V5→ROAD[V5]=V4)。

则,所记录途径将依次为V2→V5→V4,其逆向过程:V4→V5→V2即为由V4变换到V2的最佳变换途径,算法结束。

本发明所涉及的图论知识及编程方法均为本领域的公知性知识,不再赘述。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号