基于多种群竞争松鼠搜索算法的机械臂时间最优轨迹规划
Time-optimal trajectory planning of manipulator based on multi-group competition squirrel search algorithm
通讯作者:
收稿日期: 2022-01-19
基金资助: |
|
Received: 2022-01-19
Fund supported: | 国家重点研发计划资助项目(2019YFB1312600);浙江省重点研发计划资助项目(2021C01008) |
作者简介 About authors
赵业和(1998—),男,硕士生,从事机器人与智能制造研究.orcid.org/0000-0001-9793-9716.E-mail:
针对传统智能优化算法在机械臂关节空间进行时间最优轨迹规划应用中存在的寻优效率低、优化结果全局性和稳定性差的问题,提出新的机械臂时间最优轨迹规划方法. 在建立机械臂关节空间内的时间最优轨迹规划模型时考虑位置约束,根据输入的关节点列,使用S形曲线估算时间的取值区间,对生成算法的所有个体进行多种群竞争迭代,得出机械臂关节空间轨迹规划的时间最优解. 与不同算法的仿真对比试验结果表明,所提方法较传统的优化算法具有更高的寻优效率和更好的优化全局性;所提方法的稳定性好,其多次优化结果的方差相较单种群算法低3个数量级.
关键词:
Aiming at the problems of low optimization efficiency, poor global and stability of optimization results in the application of traditional intelligent optimization algorithms to time-optimal trajectory planning of manipulator in the joint space, a new time-optimal trajectory planning method for manipulator was proposed. The position constraints were considered when the time-optimal trajectory planning model in the joint space of the manipulator was established. According to the input joint point sequence, an S-shaped curve was used to estimate the time interval, and all the individuals in the algorithm were generated to perform multi-group competition iterations. After that, the time-optimal solution of trajectory planning of manipulator in the joint space was obtained. Results of simulation comparison experiments with different algorithms show that the proposed method has higher optimization efficiency and better global optimization than the traditional optimization algorithms. Also, the proposed method has good stability. The variance of its multiple optimization results can be 3 orders of magnitude lower than that of the single population algorithm.
Keywords:
本文引用格式
赵业和, 刘达新, 刘振宇, 谭建荣.
ZHAO Ye-he, LIU Da-xin, LIU Zhen-yu, TAN Jian-rong.
机械臂轨迹规划是机器人作业规划的重要内容. 机械臂的轨迹规划方法分为笛卡尔空间的轨迹规划和关节空间的轨迹规划,2种方法都要求规划的轨迹加速度连续[1]. 笛卡尔空间的轨迹规划存在须规避奇异点、起始点和终止点有不同解、大量的矩阵运算等问题,因此在对末端轨迹没有特殊要求的情况下,使用关节空间的规划效率更高. 关节空间的轨迹规划通常使用多项式进行插值. 在关节空间对多个路径点进行轨迹规划时,不仅相邻2个路径点间的插值时间难以确定,而且须考虑机械臂存在运动约束的影响. 为了在满足速度、加速度的约束前提下,充分发挥机械臂的性能,须优化机械臂运动的性能指标.
时间最优是常被采用的关节空间轨迹优化指标,但基于多项式插值的轨迹表达式具有阶次高、没有凸包性质的特点,因此该指标难以使用传统方法优化. 利用智能优化方法优化轨迹规划的插值时间,能够让多项式插值应用到更高要求的轨迹规划中[2]. Liu等[3-4]使用粒子群算法对带约束的关节空间进行时间最优轨迹规划. Gasparetto等[5]通过三次多项式对关节空间轨迹进行插值,并用序列二次规划法,通过权重因子平衡选择时间最优或者加加速度最小的轨迹规划. 朱世强等[6]采用7次B样条曲线插值关节位置序列,并利用序列二次规划方法求解非线性约束优化问题. 殷凤健等[7]通过设计交叉概率和变异概率自适应调整的遗传算法,对关节空间进行时间最优轨迹规划. 汪婷等[8]针对时间最优的轨迹规划问题提出遗传算法、差分进化算法和序列二次规划混合的算法,为解决该问题提供了新的思路. Zhao等[9]针对时间最优的轨迹规划问题,提出改进鲸鱼算法和粒子群算法的混合算法. Zhang 等[10]提出高效、稳定性优良的自适应布谷鸟搜索算法,该算法在严格的动态约束下使机械臂在关节空间中的总运动时间最小. Xidas等[11]提出基于标准多种群遗传算法,并将该算法用于超冗余机械臂的最优时间轨迹规划. Yu等[12]采用遗传算法同时优化机械臂的路径点和运动时间,得到机械臂的时间最优运动路径. Zhang等[13-14]基于机械臂动力学模型和动力学约束对机械臂进行时间最优轨迹规划. Palleschi等[15]研究人机共享环境中的协作机器人性能和安全权衡的问题:在保证协作机器人安全性的同时,使运动时间最短. 上述算法在对关节空间内的时间最优轨迹规划问题进行数学建模时都忽略了位置约束,而在使用多项式进行轨迹插值的过程中关节位置可能会超出约束. 此外,已有研究较少涉及优化变量搜索区间的确定方法.
1. 增加位置约束的关节空间时间最优轨迹规划数学建模
机械臂在进行关节空间的任务规划时,须通过对在笛卡尔空间下选取的一系列路径点进行逆运动学求解得到关节空间的点列. 机械臂运动到各路径点时的关节角度
以关节j的插值函数
中间段的三次多项式表达式为
求解多项式的表达式即求解每段表达式的各个系数,共4n+2个系数. 关节j在每个路径点i的角度
解得系数矩阵
建立数学模型,把关节空间时间最优的轨迹规划问题转化为数学优化问题. 设第u段轨迹的时间间隔为
式中:
2. 基于多种群竞争松鼠搜索算法的时间最优问题求解
优化的数学模型阶次高、结构复杂,传统的优化方法难以应用,适合采用智能优化方法求解. 针对传统智能优化算法寻优效率低、全局性差的缺点,采用能够求解复杂系统优化问题的SSA进行求解. 单种群SSA的算法流程如图1所示. 本研究先设计基于单种群SSA的方法,再基于单种群SSA拓展到多种群竞争松鼠搜索算法(multi-group competition squirrel search algorithm, MSSA).
图 1
2.1. 基于S形加减速估计优化变量搜索区间
SSA是随机搜索算法,当优化变量的维度很大时,如果搜索区间也很大或没有合适的搜索区间,可能会导致算法搜索结果失败. 因此,确定好优化变量的搜索区间不仅能确保算法的收敛性,也能加快搜索的效率. 记
为了方便表述,用s简化表示
综上,优化变量X的左边界
2.2. 种群的初始化
单种群个体的数量N=50,即森林中有50棵树,其中1棵为山核桃树
式中:
2.3. 适应度评价
适应度函数的设计须区分满足约束的个体和不满足约束的个体. 对于满足约束的个体,T越小,适应度越大. 对于不满足约束的个体,时间越短插值的多项式就越陡峭,导致多项式各阶导数的绝对值最大值变大. 因此,对于不满足约束的个体来说,T越大,适应度越大. 这样设计的适应度函数能够保证种群的多样性. 适应度函数
T根据松鼠位置向量各元素并结合式(6)计算得到.
2.4. 生成新种群
生成新种群是群体智能算法的关键,SSA生成新种群的过程受松鼠动态觅食过程的启发. 生成新种群时,引入捕食者出现概率
2) 在普通树上的松鼠可能会向橡树移动,获得松鼠新位置的方式为
3) 在普通树上的松鼠可能会向山核桃树移动,获得松鼠新位置的方式为
式中:
式中:
2.5. 季节变化产生的随机搬迁
为了增加算法的随机全局搜索能力,避免算法陷入局部最优解,模拟季节变化对松鼠觅食的影响,引入季节监测条件. 1) 计算季节变化条件. 季节常量
式中:
式中:
式中:
2.6. 加入多种群竞争策略改进松鼠搜索算法
松鼠搜索算法是随机搜索算法,单种群松鼠搜索算法存在2个问题: 1)搜索结果不一定是全局最优,2)每次优化的结果均有差异. 为此,提出多种群竞争策略来改进松鼠搜索算法.
如图2所示,多种群竞争策略1)生成多个种群,每个种群独立迭代,到达一定迭代次数后,从每个种群中选择最优秀的一半个体;2)将选出来的所有个体随机分配给新的多种群,依次进行4轮竞争淘汰,得到最优个体. 图中,
图 2
在使用C++开发算法的过程中,多种群的实现基于多线程库Thread实现. 算法仿真试验所用的计算机CPU为8核,最多可以实现8个真正意义上的多线程,因此多种群竞争策略首轮选择8个种群数. 每轮的迭代结束后,将竞争得到的优秀个体随机分配到各个新种群,此时须将上轮得到的个体打乱,本研究使用C++中的std::shuffle函数将所有个体打乱.
2.7. 应用多种群竞争松鼠搜索算法解决时间最优轨迹规划问题模型
机械臂关节空间轨迹规划的时间最优问题模型的输入是关节空间的点列,输出是所有关节的插值函数. 1)根据输入的关节点列,通过S形加减速估算出优化变量的搜索区间. 2)使用随机数引擎生成满足在搜索区间均匀分布的
图 3
图 3 多种群竞争松鼠搜索算法解决时间最优轨迹规划问题流程图
Fig.3 Flow chart of solving time-optimal trajectory planning problem based on multi-group competition squirrel search algorithm
3. 仿真与试验结果
3.1. 机械臂建模
MSSA和SSA具有通用性,能够应用于不同关节数目的串联机械臂和不同数量路径点的场景. 以7轴协作机械臂为研究对象,在机械臂工作空间选择路径点,通过逆运动学求解关节空间的角度位置. 机械臂的实物图如图4所示. 机械臂采用改进D-H法进行运动学建模,D-H参数如表1所示. 表中,i为关节编号,
图 4
表 1 机械臂的D-H参数
Tab.1
i | αi−1/(°) | ai−1/mm | di/mm | θi/(°) |
1 | 0 | 0 | 249 | 0 |
2 | 90 | 0 | 0 | 0 |
3 | 90 | 0 | 264 | 0 |
4 | −90 | 0 | 0 | 0 |
5 | 90 | 0 | 243 | 0 |
6 | −90 | 0 | 0 | −90 |
7 | −90 | 90 | 80 | −90 |
3.2. 增加位置约束的必要性试验
机械臂关节空间的轨迹规划过程中的位置约束不可忽略,否则规划出来的结果可能会超过机械臂的位置限制. 对单个关节分别使用不增加位置约束的SSA和增加位置约束的SSA进行时间最优轨迹规划,单个关节的路径点0~5对应的关节角度位置分别为30°、−20°、20°、178°、10°、60°. 分别对轨迹进行优化后得到的位置变化情况对比如图5所示. 可以看出,机械臂关节在运动到点3附近时,无位置约束得到的规划结果超出了位置限制. 因此不增加位置约束在某些情况下的规划结果可能会超出机械臂本身的关节位置限制,增加位置约束后可以避免这种情况的发生.
图 5
图 5 有无位置约束的轨迹优化结果对比
Fig.5 Comparison of trajectory optimization results with and without position constraints
3.3. 算法试验结果
为了验证算法的效果,根据机械臂在抓取物体时实际工作空间中示教的路径点,取6个路径点的情况来规划关节空间的轨迹. 通过机械臂的逆运动学求解,得到各个路径点的关节位置序列如表2所示. 表中,I为机械臂关节角度.
表 2 机械臂的关节位置序列
Tab.2
点列 | I/(°) | ||||||
关节1 | 关节2 | 关节3 | 关节4 | 关节5 | 关节6 | 关节7 | |
0 | 0 | 70 | 0 | 70 | −20 | −40 | 0 |
1 | 40 | −5 | −90 | 60 | 40 | 20 | 60 |
2 | 160 | 65 | −10 | 20 | 5 | −60 | 120 |
3 | 50 | −10 | −70 | 90 | −60 | 20 | −30 |
4 | −25 | 50 | −25 | 40 | 150 | −70 | 60 |
5 | −120 | −40 | −75 | 90 | −5 | −130 | −50 |
3.3.1. 使用单种群松鼠搜索算法优化轨迹
根据给定的关节序列,确定优化变量的维度为5,确定各分量的搜索区间. 输入关节约束,取终止迭代次数
图 6
图 7
3.3.2. 使用多种群竞争松鼠搜索算法优化轨迹
图 8
图 8 多种群竞争松鼠搜索算法的适应度变化曲线
Fig.8 Fitness curve of multi-group competition squirrel search algorithm
图 9
3.4. 试验结果分析
试验表明SSA、MSSA在机械臂关节空间时间最优轨迹规划中应用的有效性,2种算法均具有收敛速度快、寻优效果好、优化结果全局性好的优点. 对不同数量的路径点分别使用GA、SSA和MSSA进行优化,得到优化的结果如表3所示. 表中,
表 3 不同路径点数下各算法得到的插值时间对比
Tab.3
点数 | | | | | |
7 | 13.432 6 | 12.569 5 | 12.522 8 | 6.425 4 | 6.773 1 |
8 | 15.252 4 | 13.771 7 | 13.646 7 | 9.708 0 | 10.527 5 |
9 | 16.566 1 | 15.763 8 | 15.049 4 | 4.843 0 | 9.155 4 |
10 | 18.014 9 | 16.847 9 | 16.171 5 | 6.478 0 | 10.232 6 |
11 | 19.629 1 | 17.713 9 | 17.505 1 | 9.756 9 | 10.820 7 |
12 | 21.862 3 | 19.590 9 | 18.928 4 | 10.389 6 | 13.419 9 |
13 | 23.129 3 | 20.932 9 | 19.766 9 | 9.496 2 | 14.537 4 |
14 | 24.193 2 | 22.209 0 | 21.256 7 | 8.201 5 | 12.137 7 |
15 | 26.475 5 | 23.676 0 | 22.580 1 | 10.573 9 | 14.713 2 |
16 | 30.319 4 | 27.810 1 | 25.683 9 | 8.276 2 | 15.288 9 |
17 | 33.922 3 | 30.674 3 | 29.208 6 | 9.574 8 | 13.895 6 |
18 | 34.506 4 | 31.016 3 | 30.525 7 | 10.114 4 | 11.536 1 |
19 | 36.061 2 | 33.230 9 | 32.802 3 | 7.848 6 | 9.037 1 |
20 | 39.790 4 | 36.577 9 | 34.787 0 | 8.073 6 | 12.574 4 |
为了更显著地表现多种群竞争策略的优点,对6个路径点在关节空间的轨迹规划分别使用GA、SSA和MSSA进行多次寻优,取寻优次数为1 000次. 3种算法在优化结果稳定性方面的差异如表4. 表中,
表 4 不同算法优化结果的稳定性对比
Tab.4
算法 | | |
GA | 11.671 2 | 0.019 6 |
SSA | 11.119 6 | 0.018 0 |
MSSA | 11.049 4 | 8.5×10−5 |
4. 结 语
本研究在用4-3-4型连续多段多项式建立机械臂关节空间轨迹插值函数的基础上,通过多种群竞争策略松鼠搜索算法优化插值时间. 区别于常见的关节空间时间最优轨迹规划方法:1)在建立优化数学模型时,增加关节位置约束;2)在利用算法进行优化前,通过估算优化变量的搜索空间,提高算法的收敛速度和效率. 通过仿真试验,对比MSSA、SSA、GA得到的结果表明,MSSA算法具有更好的寻优效果和更加稳定的寻优特性,算法的优化结果提高了机械臂在关节空间的轨迹规划效率. 由于MSSA、SSA算法的迭代性质以及算法运行中涉及的大量矩阵运算,导致算法运行时间较长,不适于在线实时的关节空间轨迹规划,而适合离线阶段对指定路径点和关节轨迹的寻优. 后续计划进一步研究如何提升算法的运算性能,以满足更多应用场景的需要.
参考文献
基于GA的时间最优机械臂轨迹规划算法
[J].DOI:10.3969/j.issn.1671-7848.2012.03.026 [本文引用: 1]
Time-optimal trajectory planning algorithm based on GA for manipulator
[J].DOI:10.3969/j.issn.1671-7848.2012.03.026 [本文引用: 1]
An improved PSO algorithm for time-optimal trajectory planning of Delta robot in intelligent packaging
[J].DOI:10.1007/s00170-019-04421-7 [本文引用: 1]
Optimal trajectory planning for industrial robots
[J].DOI:10.1016/j.advengsoft.2009.11.001 [本文引用: 1]
机械手时间最优脉动连续轨迹规划算法
[J].DOI:10.3901/JME.2010.03.047 [本文引用: 1]
Time-optimal and jerk-continuous trajectory planning algorithm for manipulators
[J].DOI:10.3901/JME.2010.03.047 [本文引用: 1]
基于时间最优的机械臂关节空间轨迹规划算法
[J].DOI:10.13952/j.cnki.jofmdr.2017.0183 [本文引用: 1]
Research on mechanical arm joint space trajectory planning algorithm based on optimal time
[J].DOI:10.13952/j.cnki.jofmdr.2017.0183 [本文引用: 1]
一种六轴机械臂时间最优轨迹规划方法
[J].DOI:10.3969/j.issn.1001-182X.2021.04.027 [本文引用: 1]
A time-optimal trajectory planning method for manipulators
[J].DOI:10.3969/j.issn.1001-182X.2021.04.027 [本文引用: 1]
Serial manipulator time-jerk optimal trajectory planning based on hybrid IWOA-PSO algorithm
[J].DOI:10.1109/ACCESS.2022.3141448 [本文引用: 1]
Time-optimal trajectory planning of serial manipulator based on adaptive cuckoo search algorithm
[J].DOI:10.1007/s12206-021-0638-5 [本文引用: 1]
Time-optimal trajectory planning for hyper-redundant manipulators in 3D workspaces
[J].DOI:10.1016/j.rcim.2017.10.005 [本文引用: 1]
Time-optimal trajectory planning of manipulator with simultaneously searching the optimal path
[J].DOI:10.1016/j.comcom.2021.10.005 [本文引用: 1]
Time-optimal and smooth trajectory planning for robot manipulators
[J].DOI:10.1007/s12555-019-0703-3 [本文引用: 1]
A new approach to time-optimal trajectory planning with torque and jerk limits for robot
[J].DOI:10.1016/j.robot.2021.103744 [本文引用: 1]
Fast and safe trajectory planning: solving the Cobot performance/safety trade-off in human-robot shared environments
[J].DOI:10.1109/LRA.2021.3076968 [本文引用: 1]
数控系统S曲线加减速规划研究
[J].DOI:10.3321/j.issn:1004-132X.2007.12.009 [本文引用: 2]
Study on S-shape curve acceleration and deceleration control on NC system
[J].DOI:10.3321/j.issn:1004-132X.2007.12.009 [本文引用: 2]
A novel nature-inspired algorithm for optimization: squirrel search algorithm
[J].DOI:10.1016/j.swevo.2018.02.013 [本文引用: 3]
/
〈 |
|
〉 |
