一种机械臂轨迹优化方法、装置、计算机设备及存储介质与流程

文档序号:32350634发布日期:2022-11-26 12:55阅读:50来源:国知局
一种机械臂轨迹优化方法、装置、计算机设备及存储介质与流程

1.本技术涉及机械臂技术领域,特别是涉及一种机械臂轨迹优化方法、装置、计算机设备和存储介质。


背景技术:

2.随着科学技术的快速发展,机械性的可重复的工作将会越来越多的由机器人来执行,由此机械臂在工业中的各个领域应用越来越广泛。机械臂在执行抓取和搬运工作过程中,由起始位置运动到目标位置,需要多个关节配合完成,各个关节的转动速度和转动角度决定了如何更快的运动到目标位置,即对机械臂的运动进行合理的轨迹规划可以使得机械臂运动速度更快,机械臂的快速运动能够提高工厂车间的作业效率,从而提高相关的经济效益。
3.现有机械臂的轨迹规划方法,有采用对空间进行网格划分确定机械臂末端的运动路径,然而这种方法只能对机械臂的末端进行轨迹规划,而不能根据机械臂的每个关节进行轨迹优化,并不能很大程度提高机械臂的运动速度。
4.因此,目前亟需一种能够根据机械臂的每个关节的特性来确定机械臂运动轨迹的机械臂轨迹优化方法。


技术实现要素:

5.基于此,有必要针对上述技术问题,提供一种能够快速实现对机械臂各个关节轨迹优化的机械臂轨迹优化方法、装置、计算机设备和存储介质。
6.一种机械臂轨迹优化方法,所述方法包括:
7.s110,根据插值时间的取值范围随机初始化插值时间间隔;其中,随机初始化的插值时间间隔确定初始狼群位置,最优狼的当前插值时间间隔通过随机初始化获得;
8.s120,获取机械臂各关节任务角度,根据最优狼的当前插值时间间隔,采用三次样条插值方法计算机械臂各关节运动轨迹位置、速度和加速度;
9.s130,判断机械臂各关节运动的速度和加速度是否满足运动学约束条件;
10.s140,如果满足运动学约束条件,则将当前适应度值作为最优适应度值,并将α、β、δ三个等级灰狼对应的适应度值与最优适应度值进行比较并更新自身的适应度值;
11.s150,计算收敛因子,并根据收敛因子计算系数;
12.s160,根据α、β、δ三个等级灰狼对应的机械臂各关节的当前插值时间间隔和系数,计算最优狼的当前插值时间间隔;
13.s170,如果最优狼的当前插值时间间隔不满足优化变量的边界条件,使用边界值作为最优狼的当前插值时间间隔;
14.s180,重复s120-s170,直到迭代次数达到最大值,退出。
15.在其中一个实施例中,所述获取机械臂各关节任务角度,根据最优狼的当前插值时间间隔,采用三次样条插值方法计算机械臂各关节运动轨迹位置、速度和加速度包括:获
取机械臂各关节任务角度;设根据机械臂各关节任务角度和最优狼的当前插值时间间隔,使用三次样条插值方法计算得到的各关节速度加速度值分别为υ
i,j
和acc
i,j
,其中i=1,2,3,4,5,6,i为关节标号,j=1,
……
,n,j为插值得到位置点标号;所述判断机械臂各关节运动的速度和加速度是否满足运动学约束条件为:
16.|υ
i,j
|≤v
max

17.|acc
i,j
|≤a
ccmax

18.其中,v
max
为机械臂各关节运动的最大速度,a
ccmax
为机械臂各关节运动的最大加速度。
19.在其中一个实施例中,所述如果满足运动学约束条件,则将当前适应度值作为最优适应度值,并将α、β、δ三个等级灰狼对应的适应度值与最优适应度值进行比较并更新自身的适应度值,包括:如果满足运动学约束条件,则将当前适应度值作为最优适应度值,当前适应度值计算公式为:
[0020][0021]
其中,t为当前适应度值,t等于机械臂各关节的插值时间间隔总和,ti为机械臂各关节的最优狼的当前插值时间间隔,m为总的插值时间间隔的数量;将α、β、δ三个等级灰狼对应的适应度值与最优适应度值进行比较并更新自身的适应度值。
[0022]
在其中一个实施例中,所述将α、β、δ三个等级灰狼对应的适应度值与最优适应度值进行比较并更新自身的适应度值,包括:分别计算α、β、δ三个等级灰狼对应的适应度值,计算公式如下:
[0023][0024][0025][0026]
其中,t
α
为α等级灰狼对应的适应度值,t
β
为β等级灰狼对应的适应度值,t
δ
为δ等级灰狼对应的适应度值,t
αi
为α等级灰狼对应的机械臂各关节的当前插值时间间隔,t
βi
为β等级灰狼对应的机械臂各关节的当前插值时间间隔,t
δi
为δ等级灰狼对应的机械臂各关节的当前插值时间间隔;如果t
α
>t,则将t作为α等级灰狼对应的适应度值;其中,ti作为α等级灰狼对应的机械臂各关节的当前插值时间间隔;如果t
β
>t,则将t作为β等级灰狼对应的适应度值;其中,ti作为β等级灰狼对应的机械臂各关节的当前插值时间间隔;如果t
δ
>t,则将t作为δ等级灰狼对应的适应度值;其中,ti作为δ等级灰狼对应的机械臂各关节的当前插值时间间隔。
[0027]
在其中一个实施例中,所述机械臂轨迹优化方法,还包括:如果不满足运动学约束条件,则将最优适应度值取值为100,根据最优适应度值取值计算最优狼的当前插值时间间
隔,回到s120。
[0028]
在其中一个实施例中,所述计算收敛因子,并根据收敛因子计算系数,包括:
[0029]
计算收敛因子a,公式如下:
[0030][0031]
其中,l为算法的最大迭代次数;设a为位置更新系数、c为距离更新系数,根据收敛因子计算系数,计算公式如下:
[0032]
a=2a
·r1-a;
[0033]
c=2r2;
[0034]
其中,r1、r2是0~1之间的随机值,a表示收敛因子。
[0035]
在其中一个实施例中,所述根据α、β、δ三个等级灰狼对应的机械臂各关节的当前插值时间间隔和系数,计算最优狼的当前插值时间间隔,包括:设α、β、δ三个等级灰狼对应的机械臂各关节的当前插值时间间隔分别为x
α,l
、x
β,l
、x
δ,l
,x
l
为前一自适应位置,则根据α、β、δ三个等级灰狼对应的机械臂各关节的当前插值时间间隔和距离更新系数计算与自身的距离d
α
、d
β
、d
δ
,公式如下:
[0036][0037]
其中,c1、c2、c3分别α、β、δ狼对应的距离更新系数;根据距离d
α
、d
β
、d
δ
,计算α、β、δ三个等级灰狼对应的更新的插值时间间隔,公式为:
[0038][0039]
其中,x
α,l+1
、x
β,l+1
、x
δ,l+1
分别为α、β、δ狼对应的更新的插值时间间隔,a1、a2、a3分别α、β、δ狼对应的位置更新系数;根据α、β、δ狼对应的更新插值时间间隔计算当前自适应位置,公式如下:
[0040][0041]
其中,x
l+1
为当前自适应位置,l为算法的最大迭代次数;将当前自适应位置作为最优狼的当前插值时间间隔。
[0042]
一种机械臂轨迹优化装置,所述装置包括:
[0043]
初始化模块,用于根据插值时间的取值范围随机初始化插值时间间隔;其中,随机初始化的插值时间间隔确定初始狼群位置,最优狼的当前插值时间间隔通过随机初始化获得;
[0044]
机械臂运动参数计算模块,用于获取机械臂各关节任务角度,根据最优狼的当前插值时间间隔,采用三次样条插值方法计算机械臂各关节运动轨迹位置、速度和加速度;
[0045]
运动学约束判断模块,用于判断机械臂各关节运动的速度和加速度是否满足运动学约束条件;
[0046]
灰狼位置更新模块,用于如果满足运动学约束条件,则将当前适应度值作为最优适应度值,并将α、β、δ三个等级灰狼对应的适应度值与最优适应度值进行比较并更新自身的适应度值;
[0047]
系数计算模块,用于计算收敛因子,并根据收敛因子计算系数;
[0048]
最优狼位置计算模块,用于根据α、β、δ三个等级灰狼对应的机械臂各关节的当前插值时间间隔和系数,计算最优狼的当前插值时间间隔;
[0049]
最优狼位置修正模块,用于如果最优狼的当前插值时间间隔不满足优化变量的边界条件,使用边界值作为最优狼的当前插值时间间隔;
[0050]
循环模块,用于控制机械臂运动参数计算模块、运动学约束判断模块、灰狼位置更新模块、系数计算模块、最优狼位置计算模块、最优狼位置修正模块依次重复执行,直到迭代次数达到最大值,退出程序。
[0051]
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
[0052]
s110,根据插值时间的取值范围随机初始化插值时间间隔;其中,随机初始化的插值时间间隔确定初始狼群位置,最优狼的当前插值时间间隔通过随机初始化获得;
[0053]
s120,获取机械臂各关节任务角度,根据最优狼的当前插值时间间隔,采用三次样条插值方法计算机械臂各关节运动轨迹位置、速度和加速度;
[0054]
s130,判断机械臂各关节运动的速度和加速度是否满足运动学约束条件;
[0055]
s140,如果满足运动学约束条件,则将当前适应度值作为最优适应度值,并将α、β、δ三个等级灰狼对应的适应度值与最优适应度值进行比较并更新自身的适应度值;
[0056]
s150,计算收敛因子,并根据收敛因子计算系数;
[0057]
s160,根据α、β、δ三个等级灰狼对应的机械臂各关节的当前插值时间间隔和系数,计算最优狼的当前插值时间间隔;
[0058]
s170,如果最优狼的当前插值时间间隔不满足优化变量的边界条件,使用边界值作为最优狼的当前插值时间间隔;
[0059]
s180,重复s120-s170,直到迭代次数达到最大值,退出。
[0060]
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
[0061]
s110,根据插值时间的取值范围随机初始化插值时间间隔;其中,随机初始化的插值时间间隔确定初始狼群位置,最优狼的当前插值时间间隔通过随机初始化获得;
[0062]
s120,获取机械臂各关节任务角度,根据最优狼的当前插值时间间隔,采用三次样条插值方法计算机械臂各关节运动轨迹位置、速度和加速度;
[0063]
s130,判断机械臂各关节运动的速度和加速度是否满足运动学约束条件;
[0064]
s140,如果满足运动学约束条件,则将当前适应度值作为最优适应度值,并将α、β、δ三个等级灰狼对应的适应度值与最优适应度值进行比较并更新自身的适应度值;
[0065]
s150,计算收敛因子,并根据收敛因子计算系数;
[0066]
s160,根据α、β、δ三个等级灰狼对应的机械臂各关节的当前插值时间间隔和系数,计算最优狼的当前插值时间间隔;
[0067]
s170,如果最优狼的当前插值时间间隔不满足优化变量的边界条件,使用边界值作为最优狼的当前插值时间间隔;
[0068]
s180,重复s120-s170,直到迭代次数达到最大值,退出。
[0069]
上述机械臂轨迹优化方法、装置、计算机设备和存储介质,通过改进灰狼算法的收敛因子和自适应位置的更新策略应用于对机械臂的轨迹优化,不仅能够避免收敛速度慢、陷入局部最优解的问题,而且在机械臂的轨迹优化过程中能够根据机械臂每个关节进行轨迹优化,快速求得最优的运动参数,保证机械臂以最快的时间达到指定位置。
附图说明
[0070]
图1为一个实施例中机械臂轨迹优化方法的流程示意图;
[0071]
图2为一个实施例中收敛因子对比图;
[0072]
图3为一个实施例中灰狼算法机械臂轨迹优化过程中运动时间对比图;
[0073]
图4为一个实施例中关节加速度曲线图;
[0074]
图5为一个实施例中关节速度曲线图;
[0075]
图6为一个实施例中关节位置曲线图;
[0076]
图7为一个实施例中机械臂轨迹优化装置的结构框图;
[0077]
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
[0078]
为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
[0079]
灰狼算法是一种群体智能优化算法,该算法根据狼群捕食特性演变而来。灰狼群体拥有非常严格的社会等级制度,按照等级的高低可分为α狼、β狼、δ狼和w狼,一共4层。其中,α狼等级最高,对应问题的最优解;β狼位于第二等级,对应问题的次优解;δ狼代表第三等级的灰狼,对应第三优解;剩余的都属于w狼,属于最低等级。狼群捕食整个过程包括前三匹狼负责带领δ狼搜寻猎物、包围猎物和攻击猎物,最终完成狩猎(得到最优值)。目前的灰狼算法是一种模拟灰狼捕猎行为的新型智能优化算法,灰狼算法在连续空间中表现出很好的应用效果,但在离散空间中表现却不十分满意,在进行机械臂运动轨迹优化时,往往达不到理想的效果。
[0080]
在一个实施例中,如图1所示,提供了一种机械臂轨迹优化方法,包括以下步骤:
[0081]
s110,根据插值时间的取值范围随机初始化插值时间间隔;其中,随机初始化的插值时间间隔确定初始狼群位置,最优狼的当前插值时间间隔通过随机初始化获得。
[0082]
其中,插值时间的取值范围根据机械臂动作完成时间要求设定,例如,插值时间的取值范围可为[0.2,4],单位秒,α,β,δ三个等级的灰狼对应适应度值初始值设为100,插值时间间隔(三次样条插值间隔)为0.01秒。其中,根据灰狼算法,初始种群均设置为20,最大
迭代次数100次;当然,初始种群的数量和迭代次数可以根据需要设定,在此不作限制。随机初始化狼群位置,即每匹灰狼位置为被优化插值时间段集合,即表示为随机初始化狼群位置,即每匹灰狼位置为被优化插值时间段集合,即表示为[t1,t2,

,t
n-1
];ti为两个关节之间的运动时间段,也为插值时间间隔。
[0083]
s120,获取机械臂各关节任务角度,根据最优狼的当前插值时间间隔,采用三次样条插值方法计算机械臂各关节运动轨迹位置、速度和加速度。
[0084]
其中,机械臂具有多个关节,每个关节设置任务角度,例如,对某一个关节设定由第一角度移动到第二角度、由第二角度移动到第三角度、由第三角度移动到第四角度。第一次执行s120时,可以采用初始化的最优狼的当前插值时间间隔进行计算。
[0085]
s130,判断机械臂各关节运动的速度和加速度是否满足运动学约束条件。
[0086]
其中,每个机械臂都对速度、加速度有限制要求,如果超过限制要求则会造成机械臂损坏,因此,需要对速度、加速度进行限制。
[0087]
s140,如果满足运动学约束条件,则将当前适应度值作为最优适应度值,并将α、β、δ三个等级灰狼对应的适应度值与最优适应度值进行比较并更新自身的适应度值。
[0088]
其中,α、β、δ三个等级灰狼对应适应度值初始值设为100。
[0089]
s150,计算收敛因子,并根据收敛因子计算系数。
[0090]
s160,根据α、β、δ三个等级灰狼对应的机械臂各关节的当前插值时间间隔和系数,计算最优狼的当前插值时间间隔。
[0091]
s170,如果最优狼的当前插值时间间隔不满足优化变量的边界条件,使用边界值作为最优狼的当前插值时间间隔。
[0092]
s180,重复s120-s170,直到迭代次数达到最大值,退出。
[0093]
其中,退出后采用最后更新的速度和加速度、最优狼的当前插值时间间隔作为机械臂每个关节运动时间控制机械臂运动,使得机械臂能够快速达到指定位置。
[0094]
上述机械臂轨迹优化方法中,通过改进灰狼算法的收敛因子和自适应位置的更新策略应用于对机械臂的轨迹优化,不仅能够避免收敛速度慢、陷入局部最优解的问题,而且在机械臂的轨迹优化过程中能够根据机械臂每个关节进行轨迹优化,快速求得最优的运动参数,保证机械臂以最快的时间达到指定位置。
[0095]
在其中一个实施例中,所述获取机械臂各关节任务角度,根据最优狼的当前插值时间间隔,采用三次样条插值方法计算机械臂各关节运动轨迹位置、速度和加速度包括:获取机械臂各关节任务角度;设根据机械臂各关节任务角度和最优狼的当前插值时间间隔,使用三次样条插值方法计算得到的各关节速度加速度值分别为υ
i,j
和acc
i,j
,其中i=1,2,3,4,5,6,i为关节标号,j=1,
……
,n,j为插值得到位置点标号;所述判断机械臂各关节运动的速度和加速度是否满足运动学约束条件为:
[0096]

i,j
|≤v
max

[0097]
|acc
i,j
|≤a
ccmax

[0098]
其中,v
max
为机械臂各关节运动的最大速度,a
ccmax
为机械臂各关节运动的最大加速度。
[0099]
在其中一个实施例中,所述如果满足运动学约束条件,则将当前适应度值作为最优适应度值,并将α、β、δ三个等级灰狼对应的适应度值与最优适应度值进行比较并更新自
身的适应度值,包括:如果满足运动学约束条件,则将当前适应度值作为最优适应度值,当前适应度值计算公式为:
[0100][0101]
其中,t为当前适应度值,t等于机械臂各关节的插值时间间隔总和,ti为机械臂各关节的最优狼的当前插值时间间隔,m为总的插值时间间隔的数量;将α、β、δ三个等级灰狼对应的适应度值与最优适应度值进行比较并更新自身的适应度值。
[0102]
在其中一个实施例中,所述将α、β、δ三个等级灰狼对应的适应度值与最优适应度值进行比较并更新自身的适应度值,包括:
[0103]
分别计算α、β、δ三个等级灰狼对应的适应度值,计算公式如下:
[0104][0105][0106][0107]
其中,t
α
为α等级灰狼对应的适应度值,t
β
为β等级灰狼对应的适应度值,t
δ
为δ等级灰狼对应的适应度值,t
αi
为α等级灰狼对应的机械臂各关节的当前插值时间间隔,t
βi
为β等级灰狼对应的机械臂各关节的当前插值时间间隔,t
δi
为δ等级灰狼对应的机械臂各关节的当前插值时间间隔;如果t
α
>t,则将t作为α等级灰狼对应的适应度值;其中,ti作为α等级灰狼对应的机械臂各关节的当前插值时间间隔;如果t
β
>t,则将t作为β等级灰狼对应的适应度值;其中,ti作为β等级灰狼对应的机械臂各关节的当前插值时间间隔;如果t
δ
>t,则将t作为δ等级灰狼对应的适应度值;其中,ti作为δ等级灰狼对应的机械臂各关节的当前插值时间间隔。
[0108]
在其中一个实施例中,所述机械臂轨迹优化,还包括:s190,如果不满足运动学约束条件,则将最优适应度值取值为100,根据最优适应度值取值计算最优狼的当前插值时间间隔,回到s120。
[0109]
其中,根据最优适应度值取值计算最优狼的当前插值时间间隔,具体为:最优狼的当前插值时间间隔ti=100
÷
m,m为总的插值时间间隔的数量。
[0110]
在其中一个实施例中,所述计算收敛因子,并根据收敛因子计算系数,包括:计算收敛因子a,公式如下:
[0111][0112]
其中,l为算法的最大迭代次数;设a为位置更新系数、c为距离更新系数,根据收敛因子计算系数,计算公式如下:
[0113]
a=2a
·r1-a;
[0114]
c=2r2;
[0115]
其中,r1、r2是0~1之间的随机值,a表示收敛因子。
[0116]
其中,在标准灰狼算法中,收敛因子a使用的是一种线性递减的方法,但是在整个算法过程中,并不是一直是按线性策略收敛的,本技术收敛因子a基于非线性收敛策略和正余弦收敛策略,在初始阶段的衰减速度较慢,使算法更易跳出局部最优,提升全局搜索能力,增加解的多样性;随着迭代次数的增加,a的下降速度增大,使算法更快找到最优解。
[0117]
其中,如图2所示,蓝色线条为现有灰狼算法的收敛因子随迭代次数变化的图,橙色线条为收敛因子随迭代次数变化的图,对于仿生类种群迭代算法而言,如何平衡全局勘探与局部开采能力是检验算法优劣的重要手段,从基本的灰狼算法模型中可以看出,全局性与局部性均由系数矢量(位置更新系数)a决定,而a中元素值又受a控制,收敛因子a是随着迭代次数的变化由2线性递减到0的线性变换,然而算法的实际优化过程应该是非线性的,线性收敛因子不能准确体现整个优化过程,通过对收敛因子a进行改进,使因子在初期缓慢减小,保持较大值的搜索范围,保证全局性,在迭代提高收敛速度,使用本发明的非线性策略能有效提升灰狼算法的全局搜索能力和收敛速度,从而提高机械臂轨迹优化的效率。
[0118]
在其中一个实施例中,所述根据α、β、δ三个等级灰狼对应的机械臂各关节的当前插值时间间隔和系数,计算最优狼的当前插值时间间隔,包括:设α、β、δ三个等级灰狼对应的机械臂各关节的当前插值时间间隔分别为x
α,l
、x
β,l
、x
δ,l
,x
l
为前一自适应位置,则根据α、β、δ三个等级灰狼对应的机械臂各关节的当前插值时间间隔和距离更新系数计算与自身的距离d
α
、d
β
、d
δ
,公式如下:
[0119][0120]
其中,c1、c2、c3分别α、β、δ狼对应的距离更新系数;根据距离d
α
、d
β
、d
δ
,计算α、β、δ三个等级灰狼对应的更新的插值时间间隔,公式为:
[0121][0122]
其中,x
α,l+1
、x
β,l+1
、x
δ,l+1
分别为α、β、δ狼对应的更新的插值时间间隔,a1、a2、a3分别α、β、δ狼对应的位置更新系数;根据α、β、δ狼对应的更新插值时间间隔计算当前自适应位置,公式如下:
[0123][0124]
其中,x
l+1
为当前自适应位置,l为算法的最大迭代次数;将当前自适应位置作为最优狼的当前插值时间间隔。
[0125]
其中,在标准灰狼算法的位置更新策略中,是以α、β、δ三个等级灰狼对应的更新的插值时间间隔之和的平均值作为当前自适应位置。这种方式没有体现出狼群中头狼的带头作用,并且更新方向不变,易陷入局部最优状态;本技术当前自适应位置计算公式,注重于全局搜索以及收敛速度的平衡,好的全局搜索策略能使算法避免陷入局部最优解的状态,同样,良好的局部开发能力也使算法更快的收敛到最优的位置。
[0126]
在其中一个实施例中,需要对六自由度协作机械臂的关节运动时间最优轨迹规划,获取机械臂六个关节的分别需要经过的角度,每个关节采用四个角度作为四个任务路径点,分别为:关节1位置为[-10,60,20,55],关节2位置为[20,50,120,35],关节3位置为[15,100,-10,30],关节4位置为[150,100,40,10],关节5位置为[30,110,90,70],关节6位置为[120,60,100,25];设代表灰狼位置的每段插值时间ti(i=1,2,3)的取值范围为[0.2,4],单位为秒。α、β、δ三个等级灰狼对应适应度值初始值设为100,三次样条插值间隔为0.01秒,在时间段的取值范围[0.2,4]内随机初始化机械臂运动路径点之间的插值时间段,对比采用现有灰狼算法与改进灰狼算法,初始种群均设置为20,最大迭代次数100次,得到的结果如图3所示,图3中蓝色虚线为现有灰狼算法轨迹优化的总运动时间,图3中橙色实线为本发明改进灰狼算法的轨迹优化的总运动时间,可以看到,使用本发明的方法可以有效提升收敛速度以及更好的适应度值;根据图4中关节加速度曲线图、图5中关节速度曲线图和图6中关节位置曲线图,可以看出,本发明一种机械臂轨迹优化方法优化后的轨迹保证运行路径的连续性以及良好的光滑速度曲线。
[0127]
应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0128]
在一个实施例中,如图7所示,提供了一种机械臂轨迹优化装置,包括:
[0129]
初始化模块210,用于根据插值时间的取值范围随机初始化插值时间间隔;其中,随机初始化的插值时间间隔确定初始狼群位置,最优狼的当前插值时间间隔通过随机初始化获得;
[0130]
机械臂运动参数计算模块220,用于获取机械臂各关节任务角度,根据最优狼的当前插值时间间隔,采用三次样条插值方法计算机械臂各关节运动轨迹位置、速度和加速度;
[0131]
运动学约束判断模块230,用于判断机械臂各关节运动的速度和加速度是否满足运动学约束条件;
[0132]
灰狼位置更新模块240,用于如果满足运动学约束条件,则将当前适应度值作为最优适应度值,并将α、β、δ三个等级灰狼对应的适应度值与最优适应度值进行比较并更新自身的适应度值;
[0133]
系数计算模块250,用于计算收敛因子,并根据收敛因子计算系数;
[0134]
最优狼位置计算模块260,用于根据α、β、δ三个等级灰狼对应的机械臂各关节的当前插值时间间隔和系数,计算最优狼的当前插值时间间隔;
[0135]
最优狼位置修正模块270,用于如果最优狼的当前插值时间间隔不满足优化变量
的边界条件,使用边界值作为最优狼的当前插值时间间隔;
[0136]
循环模块280,用于控制机械臂运动参数计算模块220、运动学约束判断模块230、灰狼位置更新模块240、系数计算模块250、最优狼位置计算模块260、最优狼位置修正模块270依次重复执行,直到迭代次数达到最大值,退出程序。
[0137]
在其中一个实施例中,所述机械臂运动参数计算模块220,包括:关节任务角度获取单元,用于获取机械臂各关节任务角度;节速度加速度计算单元,用于设根据机械臂各关节任务角度和最优狼的当前插值时间间隔,使用三次样条插值方法计算得到的各关节速度加速度值分别为υ
i,j
和acc
i,j
,其中i=1,2,3,4,5,6,i为关节标号,j=1,
……
,n,j为插值得到位置点标号;运动学约束判断单元,用于所述判断机械臂各关节运动的速度和加速度是否满足运动学约束条件为:
[0138]

i,j
|≤v
max

[0139]
|acc
i,j
|≤a
ccmax

[0140]
其中,v
max
为机械臂各关节运动的最大速度,a
ccmax
为机械臂各关节运动的最大加速度。
[0141]
在其中一个实施例中,所述最优狼位置计算模块260,包括:最优适应度值确定单元,用于如果满足运动学约束条件,则将当前适应度值作为最优适应度值,当前适应度值计算公式为:
[0142][0143]
其中,t为当前适应度值,t等于机械臂各关节的插值时间间隔总和,ti为机械臂各关节的最优狼的当前插值时间间隔,m为总的插值时间间隔的数量;灰狼自适应度值更新单元,用于将α、β、δ三个等级灰狼对应的适应度值与最优适应度值进行比较并更新自身的适应度值。
[0144]
在其中一个实施例中,狼自适应度值更新单元包括:灰狼适应度值计算子单元,用于分别计算α、β、δ三个等级灰狼对应的适应度值,计算公式如下:
[0145][0146][0147][0148]
其中,t
α
为α等级灰狼对应的适应度值,t
β
为β等级灰狼对应的适应度值,t
δ
为δ等级灰狼对应的适应度值,t
αi
为α等级灰狼对应的机械臂各关节的当前插值时间间隔,t
βi
为β等级灰狼对应的机械臂各关节的当前插值时间间隔,t
δi
为δ等级灰狼对应的机械臂各关节的当前插值时间间隔;α等级灰狼适应度值更新子单元,用于如果t
α
>t,则将t作为α等级灰狼对应的适应度值;其中,ti作为α等级灰狼对应的机械臂各关节的当前插值时间间隔;β等级
灰狼适应度值更新子单元,用于如果t
β
>t,则将t作为β等级灰狼对应的适应度值;其中,ti作为β等级灰狼对应的机械臂各关节的当前插值时间间隔;δ等级灰狼适应度值更新子单元,用于如果t
δ
>t,则将t作为δ等级灰狼对应的适应度值;其中,ti作为δ等级灰狼对应的机械臂各关节的当前插值时间间隔。
[0149]
在其中一个实施例中,所述最优狼位置计算模块260,还用于如果不满足运动学约束条件,则将最优适应度值取值为100,根据最优适应度值取值计算最优狼的当前插值时间间隔。
[0150]
在其中一个实施例中,系数计算模块250包括:收敛因子计算单元,用于计算收敛因子a,公式如下:
[0151][0152]
其中,l为算法的最大迭代次数;系数计算单元,用于设a为位置更新系数、c为距离更新系数,根据收敛因子计算系数,计算公式如下:
[0153]
a=2a
·r1-a;
[0154]
c=2r2;
[0155]
其中,r1、r2是0~1之间的随机值,a表示收敛因子。
[0156]
在其中一个实施例中,最优狼位置计算模块260,包括:距离计算单元,用于设α、β、δ三个等级灰狼对应的机械臂各关节的当前插值时间间隔分别为x
α,l
、x
β,l
、x
δ,l
,x
l
为前一自适应位置,则根据α、β、δ三个等级灰狼对应的机械臂各关节的当前插值时间间隔和距离更新系数计算与自身的距离d
α
、d
β
、d
δ
,公式如下:
[0157][0158]
其中,c1、c2、c3分别α、β、δ狼对应的距离更新系数;时间间隔更新单元,用于根据距离d
α
、d
β
、d
δ
,计算α、β、δ三个等级灰狼对应的更新的插值时间间隔,公式为:
[0159][0160]
其中,x
α,l+1
、x
β,l+1
、x
δ,l+1
分别为α、β、δ狼对应的更新的插值时间间隔,a1、a2、a3分别α、β、δ狼对应的位置更新系数;当前自适应位置计算单元,用于根据α、β、δ狼对应的更新插值时间间隔计算当前自适应位置,公式如下:
[0161][0162]
其中,x
l+1
为当前自适应位置,l为算法的最大迭代次数;最优狼位置确定单元,用
于将当前自适应位置作为最优狼的当前插值时间间隔。
[0163]
关于机械臂轨迹优化装置的具体限定可以参见上文中对于机械臂轨迹优化方法的限定,在此不再赘述。上述机械臂轨迹优化装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0164]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储插值时间间隔数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种机械臂轨迹优化方法。
[0165]
本领域技术人员可以理解,图8中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0166]
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0167]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0168]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
[0169]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0170]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1