基于MOPSO 算法的工业机器人运行轨迹优化

2022-12-28 07:52刘双龙金晓怡王安然奚鹰
农业装备与车辆工程 2022年12期
关键词:样条轨迹粒子

刘双龙,金晓怡,王安然,奚鹰

(1.201620 上海市 上海工程技术大学 机械与汽车工程学院;2.201804 上海市 同济大学 机械与能源工程学院 )

0 引言

工业机器人的末端执行器是机器人的一个重要组成部分,它通过直接抓取部件工作,其运动轨迹直接关系到工件的加工质量。通过算法优化末端执行器的运动轨迹,可以减少工作时间,简化工作过程,减少能量消耗,减少工作过程中的冲击。

依据算法中优化目标个数的差异,优化算法可以分为单目标优化和多目标优化。在优化单个目标时,时间通常作为优化目标,这样就能得到一个轨迹,使机器人用最短的时间工作。付荣等[1]为了获得运行轨迹,利用3-5-3 多项式插值得到关节轨迹方程,然后利用粒子群优化算法(PSO)进行时间最优的轨迹优化,最后证明在运行时间和平稳性方面,这种算法能得到比通常的3-5-3 多项式插值更好的结果。

对于单目标优化问题,利用粒子群算法可以快速高效地解决,但在多目标优化问题中,往往某一特定目标函数的最优解对其他目标函数来说并不一定合适,故需要引入Pareto 最优解集对解进行筛选得到非劣解集[2],并引入自适应网格对非支配解集的粒子引导更新,确保粒子的多样性。

本文中首先采用五次B 样条曲线函数得到关节空间机械臂的运行轨迹曲线,然后根据多目标粒子群优化算法(MOPSO)计算简便、参数易调等优点,利用多目标粒子群优化算法实现对上述五次B 样条运行轨迹的多目标优化,最后通过对利用多目标粒子群算法得到优化后的各关节的运动角度、角加速度和角加加速度的运动曲线,进一步证明多目标粒子群算法对运动轨迹优化的可行性。

1 轨迹规划

1.1 B 样条曲线表达式

B 样条曲线是由贝济埃曲线(又称贝塞尔曲线、或贝兹曲线)进一步演变得到的,该曲线不仅继承了贝济埃曲线的所有优点,同时也补充了贝济埃曲线所欠缺的局部可控性[3-4]。

一般B 样条曲线用式(1)描述:

式中:di(i=0,1,…,n)——B 样条曲线的控制顶点;i——B 样条曲线的控制顶点的序号;P(u)——u 时刻曲线上的型值点,特别的时刻u 要与控制顶点的序号i 一一对应。

B 样条基函数为:

式中:k——B 样条曲线的阶数。

1.2 构造五次B 样条曲线轨迹

在得到的五次B 样条曲线上确定某一指定点在坐标系上的对应位置P(u),需满足3 个基本条件:(1)确定五次B 样条曲线的控制顶点di;(2)保证曲线的次数k 已知;(3)确定各节点的矢量U。

根据文献[5]的五次B 样条曲线轨迹的构造方法,可得n+5 个与n+5 控制顶点有关的方程:

式中:D=[d0,d1,…,dn,…,dn+4]T;P=[P0,P1,…,Pn,ω0,ωf,a0,af]T;An——系数矩阵,

根据式(3)可以求出曲线的控制顶点:

事实上,许多运动约束和空间约束会对加工过程产生影响,但五次B 样条插值曲线是采用各关节运动同一运动时间,并且没有对任何加工条件进行约束,因此我们采用多目标粒子(MOPSO)算法,并将时间最短、能量消耗最小和冲击最少作为约束条件,来确定运动轨迹的最佳规划,提高加工的生产效率和装置的使用寿命。

2 多目标粒子群算法流程

多目标粒子群(MOPSO)算法由CarlosA Coello Coello 等学者提出[6],是基于单目标粒子群算法的进一步研究,将粒子群算法从单一约束问题寻优算法转换为解决多个目标约束的智能算法。

若无法确定该颗粒的最优位置是否适于所有目标函数的最优解,多目标粒子群算法将随机搜寻所有最优解中的粒子历史最优解[7]。在搜寻群体的历史最优解时,利用网格法划分粒子的位置,依据网格中粒子密度进行审查得到一个非劣解集,之后在非劣解集中进一步审查粒子,最后对粒子进行存档[8]。整体的多目标粒子群算法的流程如图1 所示。

图1 多目标粒子群流程图Fig.1 Flow chart of multi-objective particle swarm optimization

3 适应度函数设置

3.1 优化目标函数

本文所研究轨迹优化问题的优化目标为时间最短、冲击最小和能量消耗最少3 个目标,定义的优化目标函数为:

在处理多目标函数问题时,将3 个目标函数做加权求和处理,作为整体运动过程的目标函数为:

式中:Stotal——整体目标函数;S1——时间目标函数;S2——冲击目标函数;S3——能量消耗大小;λ1,λ2,λ3——3 个分目标函数的权重。本文所研究对象对时间间隔要求较高,故确定为λ1=0.4,λ2=0.3,λ3=0.3。

3.2 约束条件函数

在实际生产加工中,不仅要考虑机器人各个关节物理位置所能达到的运动极限、驱动装置性能限制、超负荷工作对机器人造成的不可逆伤害等,还要考虑其关节的强度极限[9],因此本文工业机器人的运动特性,如角度、加速度和加加速度,不仅要考虑装置的最大性能极限,还要考虑关节本身的强度极限。约束情况如表1 所示。

表1 机械臂各关节运动约束Tab.1 Robotic joint motion constraints of mechanical arm

工业机器人的关节i 在运动过程中存在约束条件主要有

对于其中的非线性约束条件,本文利用自适应网格法进行处理,如图2 所示。

图2 自适应网格法流程图Fig.2 Flow chart of adaptive grid method

4 自适应学习因子设置

4.1 自适应调整权重

本文中粒子的迭代学习过程由适应加权控制,其值随适应函数值变化。总迭代效应可以通过适应函数值控制,以避免在局部最优解出现。调整后的权重方程为:

式中:f——当前适应度值;favg——平均适应度值;fmin——最小适应度。

由式(8)可知,自适应权重的取值由当前适应度、平均适应度和最小适应度值来决定,可通过控制迭代速度,以避免局部最大或最小值出现。除此之外,通过对权重的自适应控制,可以避免发生全局最优解强,但局部最优解弱的情况;或者局部最优解强,但全局最优解弱的情况。

4.2 异步学习因子

学习因子c1负责自我认知部分,c2负责社会认知部分。c1=0 时称为无私型算法,这导致群体多样性的丧失,从而陷入局部最优解;c2=0 时称为自我认识型算法,完全缺失社会认知部分,没有社会信息的共享,算法的收敛相对缓慢。为了避免这2种情况发生,可以引入异步学习因子,限制粒子群的更新速度。异步学习因子公式为:

将本文中的各权重与学习因子代入多目标粒子群算法后得到的相应优化结果见表2,优化后的五次B 样条插值轨迹的控制顶点见表3。

表2 MOPSO 算法寻优之后与寻优之前的时间序列对比Tab.2 Time series comparison of MOPSO algorithm before and after optimization

表3 MOPSO 算法寻优之后的控制顶点Tab.3 Control points of MOPSO algorithm after optimization

由粒子群算法得到新的运行控制点,代入MATLAB 软件进行五次B 样条曲线的绘制,得到新的机器人在指定末端位置和初始位置情况下的各关节的运动特征曲线,如图3 所示。

图3 优化后的运动特性曲线Fig.3 Motion characteristic curve after optimization

利用多目标粒子群算法,以冲击最小、运行时间最短和能量消耗最少为约束条件得出优化后的各关节运动特征曲线。分析优化后的各关节运动曲线,在各关节的运动时间限制在20 s 左右时,根据角加速度和角加速度曲线的变化趋势可知,优化后的轨迹平稳且起伏少,可进一步证实多目标粒子群算法对工业机器人的运动曲线的优化效果。

5 结语

本文研究了多目标粒子群(MOPSO)算法原理,通过五次B 样条曲线得到各关节的运动特征,将能量消耗最少、冲击最小和时间最短作为多目标约束条件,采用Pareto 临时最优边界面和自适应网格法对约束条件进行迭代优化,并且引入自适应适应系数和异步学习因子来控制迭代速度,可以防止优化过程中的局部最优解等问题。

运用MATLAB 得到优化后的各关节的运动特征曲线和新的控制顶点以及各关节的运动时间,进一步验证了该算法对工业机器人添加运动约束的优化可行性。

猜你喜欢
样条轨迹粒子
碘-125粒子调控微小RNA-193b-5p抑制胃癌的增殖和侵袭
对流-扩散方程数值解的四次B样条方法
轨迹
基于膜计算粒子群优化的FastSLAM算法改进
轨迹
Conduit necrosis following esophagectomy:An up-to-date literature review
轨迹
基于粒子群优化极点配置的空燃比输出反馈控制
三次参数样条在机床高速高精加工中的应用
三次样条和二次删除相辅助的WASD神经网络与日本人口预测