基于改进差分进化算法的机械手轨迹控制*

2022-06-08 06:46:46沈孝龙王吉芳秦宇飞曹佳庆
组合机床与自动化加工技术 2022年5期
关键词:机械手差分群落

沈孝龙,王吉芳,秦宇飞,曹佳庆

(北京信息科技大学机电工程学院,北京 100192)

0 引言

机械手系统在运行中不可避免的会产生振荡,使系统稳定性与轨迹控制效果变差,还会消耗额外能量。在固定时间定点位置运动中,运动轨迹不同产生的振荡也不同。因此,有必要研究出一种最优轨迹控制器使系统运行平稳,降低不必要能量消耗。

因轨迹规划属最优化问题,常规法很难求得全局最优解,而智能优化算法处理此类问题表现出色,并且可用来优化各种形式的定点运动,受到众多学者的研究。万子刚等[1]采用差分进化和前馈补偿方法对模糊PID控制系统进行优化,提高了并联液压机械臂运动轨迹追踪精度。徐庆增等[2]利用自适应差分进化算法对采摘机械臂轨迹进行优化,提高了动作稳定性与轨迹跟踪精度。史义等[3]改造基本差分进化算法控制参数和变异策略,提高了机械手轨迹运行稳定性与跟踪精度。王琦等[4]基于改进差分进化算法降低了平面四杆机构运动轨迹误差,性能胜于传统轨迹规划方法。余阳等[5]提出一种罚函数与修复的混合遗传算法,提高了机械臂工作效率与轨迹运行平稳性。黄自鑫等[6]利用遗传算法与差分进化算法的融合,改进滑模变结构控制器以跟踪机械臂轨迹,性能显著提升。韩亚军等[7]将差分进化与粒子群融合优化B样条曲线规划机械臂运动,使角位移跟踪误差较小,误差峰值降低48.2%。

上述学者大都基于常规规划方法与智能优化算法相结合设计机械手的轨迹规划器,提高系统稳定性与控制精度,少有考虑机械手运行过程中因振荡产生的额外能量消耗问题且优化性能出色的差分进化算法仍有改进空间。基于此,设计一种基于改进差分进化算法的机械手最优轨迹控制器,并进行不同方法的仿真实验对比,证明所提算法能使机械手运行轨迹精度更高、能量消耗更少,鲁棒性更强。

1 机械手控制与参考轨迹

1.1 独立PD控制

n关节机械手动力学方程描述[8]如下:

(1)

(2)

PD控制律为:

(3)

式中,Kp>0;Kd>0。

(4)

即:

(5)

取Lyapunov(李雅普诺夫)函数为:

(6)

由D(q)及Kp正定性知,V亦正定,则:

(7)

(8)

1.2 参考运动轨迹

假设参考轨迹是在定点运动的摆线轨迹上[3],方程如下:

(9)

(10)

(11)

2 规划器设计

机械手最优轨迹可由优化轨迹与摆线轨迹间的偏差间接获取。假如系统最终运动到稳定状态的最长时间为Tmax,根据能量守恒定理,可用非保守力做功表示机械手系统在运行过程中消耗的能量W,故第i关节目标函数定义为[8]:

(12)

式中,i为关节数;αi为权值;τi为控制输入;Δhi为实际轨迹与理想轨迹间偏差,Δhi=qopi(tj)-qri(tj)。n关节机械手总目标函数为:

W=W1+W2+...+Wn

(13)

运行本文不同改进算法来优化式(13),使W值最小,获得最优能量消耗。通过优化算法可得到任意关节机械手的最优离散轨迹:

(14)

为得到连续轨迹,选择三次样条插值使轨迹连续化,其表达式为:

qi(t)=at3+bt2+ct+d,i=1,2,...,n-1

(15)

为确定系数a、b、c、d,根据插值的边界条件可得:

(16)

插值节点为:

(17)

将插值产生的连续函数qopi(m)当作第i个机械手关节角度跟踪的最优轨迹。

3 改进的差分进化算法

差分进化(differential evolution,DE)是一种处理最优化问题行之有效的算法,与经典遗传算法一脉相承[11]。但因其有出色的全局优化性和鲁棒性,广泛在连杆机构、机械臂轨迹规划、混合流水车间调度问题等工程优化领域运用。算法通过模拟达尔文“优胜劣汰、适者生存”思想,利用上代向量间差分的原理进行种群的进化更新产生变异新个体以求得所优化问题的最优解[12]。算法优劣主要由初始种群产生策略和变异、交叉策略决定,众多学者对此进行了大量研究和改进。

3.1 改进的种群初始化

经典DE算法采用随机分布法产生初始种群,种群内个体多样性差,使最优解质量与收敛速度并不理想[13]。混沌运动独特的随机性和遍历不重复性对生成多样性的个体有优势,可以促使初始种群内个体尽可能均匀分布于搜索空间。为提升最优解质量和保持群落里个体多样性,采用混沌映射对初始种群及子代种群进行改造,以提升算法优化能力。

一维Logistic映射原理如下:

xμ+1=δxμ(1-xμ),x∈[0,1]

(18)

式中,xμ为混沌变量,当δ=4时,系统表现为混沌态,xμ于[0,1]范围随机取值。(0,0.25,0.5,0.75,1)称作一维Logistic映射的5个不动点。对群落初始化的改造其实就是将混沌映射与随机分布法产生的两个群落内的个体元素适应值逐一相互比较,挑出前Np个最优个体当作初始群落,方法如下:

步骤1:随机分布法生成群落A;

xmn,1=xnmin+rand×(xnmax-xnmin)

(19)

式中,m=1,2,...,NP;n=1,2,...,D;rand∈[0,1];xnmax、xnmin为第n个变量的上届与下届。

步骤2:随机产生数x1∈(0,1),但x1不可以为上述5个不动点,从x1起,根据式(18)产生混沌序列;

{x1,x2,...,xNP×D}

(20)

步骤3:将式(20)按行排生成混沌矩阵;

(21)

步骤4:把式(21)的元素映射到种群个体每一维,xmn∈[xnmin,xnmax],得到混沌初始群落B;

xmn=xnmin+xm,n×(xnmax-xnmin)

(22)

步骤5:计算群落A∪B中所有元素的适应度值,从小到大排,选择前NP个元素作为最终初始群落P。

3.2 基于二次混沌映射的子代重构

随着迭代的不断进行,种群中随机分布的个体会逐渐聚集,此时可能发生局部收敛情况,从而难搜索到全局最优解。为此,本文每隔一定代数M重构种群,在迭代过程中,剔除部分高聚集个体,通过迁移因子产生一些新个体补偿,来保持种群多样性,使搜索能跳出局部最优解,提高全局收敛能力。

假设当前最优个体的适应值为best_unit_value,M代前最优个体的适应值为lastbest_unit_value,用二者之比表示进化效果,即:

(23)

σ越小,进化效果越好,反之亦然。当σ>ε时,通过二次混沌映射对子代群落进行重建,ε为设定的阈值,方法如下:

步骤1:执行3.1节的步骤2与步骤3;

步骤2:把式(21)的元素映射到群落个体每一维,xmn∈[xnmin,xnmax],产生混沌迁移量;

(24)

步骤3:基于子代群落P,按下式进行混沌迁移,生成一新群落C。g∈[ 0,1 ]为迁移度;

(25)

步骤4:计算群落P∪C中元素的适应值,从小到大排,挑出前NP个元素到下次迭代的父代群落PG+1。

3.3 改进的缩放因子与交叉因子

影响DE算法优化性能的主要参数有缩放因子F、交叉概率CR和种群规模NP。通常F对优化结果影响最大,一般F∈[0.5,1],CR∈[0.8,1],NP∈[5D,10D],D为问题空间维数[14]。最优参数值选取常常与求解的问题相关,为摆脱这一束缚,应使控制参数在迭代过程中在一定范围内自适应变化。

3.3.1 自适应缩放因子

在变异操作时,随机从种群内选取三个个体,并且保证这三个个体互异,则基本变异方法为:

hij(t+1)=xp1j(t)+F(xp2j(t)-xp3j(t))

(26)

式中,xp2j(t)-xp3j(t)为差异化向量;F为变异因子,是控制种群内个体多样性与收敛性重要参数。阅读相关文献后发现,F一般取值在[0.3,0.6]之间优化效果最好。在迭代初期F取较大值,有利于全局搜索,维持种群个体多样性,但收敛速度减慢。在迭代后期,收敛时希望F较小有利于局部搜索,提高搜索精度。故提出自适应F如下:

(27)

式中,G为最大迭代数;m为当前迭代数。大量实验表明当Fmin=0.40,Fmax=0.55优化性能好。

3.3.2 自适应交叉概率

基本DE算法的交叉概率为固定值,不利于算法优化性能的提升。一般希望交叉概率能随适应值变化而自适应的在一定范围内变化。在迭代前期适应值大应取较小值,有利于适应度好的个体进入下一代。在后期算法局部收敛前,取较大值,加速新个体的生成,保持种群多样性。故提出自适应CR如下:

(28)

大量实验结果表明当CRmin=0.6,CRmax=0.9时优化性能好。

3.4 基于对称映射法的越界处理

经变异操作后的试验个体可能会越出边界范围,需要对这些个体处理,运用最多的方法是随机再初始化法,但随机性强,易丢失原变异个体信息。而对称映射法能将越界个体转换成一个相对于边界对称的数值,减小随机性,保留原部分变异个体信息,提高算法收敛精度。方法如下:

(29)

4 仿真与实验结果分析

4.1 参数设置

为验证差分进化算法出色的优化性能及所提算法的有效性,在MATLAB仿真软件中分别进行基本差分进化(DE)、自适应差分进化(ADE即只采用文章中3.3节改进方法)、混沌-自适应差分进化(CADE即采用文章第3大节所述改进方法)以及基本GA算法[5-6]的仿真实验。为对比公平,相同非改进参数取值相同。插值点横坐标固定选取,纵坐标在始末点间随机选取。仿真对象为二关节机械手系统,参数如表1所示。

表1 仿真参数设置

仿真试验中,所有算法使用MATLAB R2016 b进行编程,PC配置为:Intel Core i5-4210H、2.9 GHz、12 GB、Windows10。

4.2 各优化算法性能对比分析

将各算法分别独立连续运行20次取平均值作为实验结果,验证算法可靠性。各算法仿真试验的最优适应值(fbest)、最差适应值(fworst)、第50代平均适应值(F50)及标准差ξ如表2所示;各算法平均适应值变化曲线如图1所示;各算法最优适应值对应的优化效果如图2~图4所示。

表2 不同算法的性能指标统计

图1 不同算法平均适应值变化

(a) 关节角度跟踪 (b) 关节优化路径

(c) 控制信号输入图2 GA算法实验结果

(a) 关节角度跟踪 (b) 关节优化路径

(c) 控制信号输入图3 DE算法实验结果

(a) 关节角度跟踪 (b) 关节优化路径

(c) 控制信号输入图4 CADE算法实验结果

由表2及图2可知,遗传算法相比差分进化算法的全局优化能力差,标准差最大,若使用遗传算法优化机械手运行轨迹难以取得理想效果。由表2及图3可知,基本DE算法相比GA算法标准差降低10倍左右,优化效果较好,但角度跟踪与关节路径优化还有欠缺,误差较大。不同改进DE算法标准差与平均能量逐渐降低。由表2及图4可知,CADE算法相比基本DE算法平均能量降低17.43%,且该算法对于末端关节优化效果显著,在保证能量消耗较小时,第2关节最优轨迹近似与参考轨迹重合,第1关节优化效果较基本DE算法也有所提升,控制信号输入稳定,有利于满足对跟踪精度与动作稳定性要求高的作业任务。

由图1可知,基本GA算法比基本DE算法各代平均适应值都大且收敛速度较慢,再结合图2与图3的优化效果看,GA算法的优化结果并不理想,DE算法在保证较低适应值同时,优化性能强于GA算法,表明DE算法有出色的全局优化性与鲁棒性。不同改进DE算法收敛速度较快,整体平均适应值逐渐降低,其中CADE算法优化效果最出色,由图4可知,关节路径化效果好,角度跟踪误差小,鲁棒性强,算法收敛速度较快,证明本文所提算法的有效性。

5 结论

为提高机械手系统运行稳定性与关节角跟踪精度,设计一种基于改进差分进化算法的最优轨迹规化器,并运用MATLAB仿真软件检验算法有效性,得到如下结论:

(1)运用MATLAB软件对机械手系统进行仿真,可以对系统输出效果进行模拟,验证算法的有效性,为接下来研究6DOF机械臂最优轨迹规划与控制奠定基础。

(2)对比GA算法,仿真结果表明,同属遗传原理的差分进化算法优化性能更好。不同改进DE算法中CADE算法的轨迹优化收敛速度较快,鲁棒性强,各评价指标最优,系统运行消耗的能量最小。

猜你喜欢
机械手差分群落
抓取脆弱物体的机械手
大学生牙龈炎龈上菌斑的微生物群落
合成微生物群落在发酵食品中的应用研究
数列与差分
搬运机械手PLC控制系统设计
基于差分隐私的大数据隐私保护
春季和夏季巢湖浮游生物群落组成及其动态分析
基于ADAMS与MATLAB的机械手控制系统仿真研究
机电信息(2015年3期)2015-02-27 15:54:53
相对差分单项测距△DOR
太空探索(2014年1期)2014-07-10 13:41:50
差分放大器在生理学中的应用