基于双种群鲨鱼优化算法的自抗扰机械臂轨迹跟踪

2021-06-21 01:53徐兴雷
计算机应用与软件 2021年6期
关键词:扰动鲨鱼种群

吴 敏 徐兴雷 尚 猛

1(浙江东方职业技术学院 浙江 温州 325000)2(温州职业技术学院 浙江 温州 325011)3(岭南大学经营学院 庆尚北 庆山 385141)

0 引 言

随着自动化技术和航天技术的迅速发展,机械臂的应用范围也越来越广。近年来,机械臂已逐渐应用于许多工程领域之中,如搬运机械臂[1]、康复机械臂[2]、农业采摘[3]、3D打印[4]、空间抓捕[5]和微创手术[6]等。由于机械臂一般用于一些高精度工程作业,对于机械臂运动轨迹精度有极为严格的要求,因此,国内外学者提出许多不同的机械臂轨迹跟踪控制策略。例如:王伟等[7]提出一种快速非奇异终端滑模控制的机械臂轨迹跟踪方法;王勇等[8]提出一种模糊自适应的机械臂轨迹跟踪方法;刘福才等[9]提出一种间隙补偿控制器,对机械臂进行轨迹跟踪控制;Sun等[10]提出一种自适应运动力跟踪控制方法;Zhao等[11]提出一种非线性扩张状态观测器的双关节机械臂轨迹跟踪控制策略;Bauakrif等[12]提出一种迭代学习的轨迹跟踪策略。以上控制方法有效提高了机械臂的轨迹跟踪精度,但在实际控制过程中,机械臂受到外负载扰动时,控制精度均受到很大程度的影响。因此,本文选取具有强抗扰动能力的非线性自抗扰控制器对机械臂进行轨迹跟踪控制。

自抗扰控制器(Active Disturbance Rejection Control,ADRC)[13]区别于其他控制器的优点在于,ADRC不依赖精确的数学模型,具有较强的抗扰动特性,且ADRC具有较高的控制精度和响应速度。但其缺点在于ADRC存在多个耦合参数,传统的经验整定法难以整定出合理有效的控制参数,一定程度降低了ADRC的控制精度和抗扰动能力。针对上述问题,Du等[14]提出一种动态惯性权重的自适应粒子群算法对ADRC参数进行在线整定;Zhou等[15]提出一种改进遗传算法的参数整定策略;海星朔等[16]提出一种改进鸽群算法的参数整定策略;刘福才等[17]提出一种混沌粒子群的参数整定方法。此外,还有入侵杂草算法[18]以及基于莱维飞行的鲸鱼优化算法[19]等参数整定策略。但上述整定方法均采用单一机制的优化算法对参数进行在线整定,当被控对象具有较高耦合性和非线性时,难以整定出有效的控制参数。因此,本文提出一种双种群鲨鱼优化算法的参数整定策略。

鲨鱼优化算法(Shark Smell Optimization,SSO)[20]是Abedinia等提出的一类新的种群智能优化算法。其优点在于算法所需调整参数少、结构简单、易于实现,且具有较强的局部搜索能力。算法的缺陷在于易陷入局部最优、早熟收敛,且算法的开发能力和勘探能力极为不平衡。因此,本文提出一种双种群鲨鱼优化算法(Double Population Shark Smell Optimization,DPSSO)。该算法中两个种群的寻优机制各不相同,其中:种群1的寻优机制用来平衡算法的开发能力和勘探能力;种群2的寻优机制用来有效增加算法跳出局部最优的机率,提高了算法的收敛精度和收敛速度,加强了算法的全局搜索能力。实验结果表明,DPSSO可以有效整定ADRC参数,提高了控制精度和抗扰动能力,降低了机械臂轨迹跟踪误差。

1 自抗扰控制数学模型

自抗扰控制器由微分跟踪器(Tracking Differentiator,TD)、扩张状态观测器(Extended State Observe,ESO)、非线性反馈控制率(Nonlinear State Error Feedback Control Law,NLSEF)组成。ADRC的控制流程如图1所示。

图1 自抗扰控制流程示意图

图1中,ω为系统所受外部扰动,TD通过安排过渡过程给出系统输入的跟踪量v1以及跟踪量的微分信号v2,目的是平衡系统响应速度和系统超调的矛盾。其数学表达式为:

(1)

(2)

式中:T为积分步长;y(k)为系统输出;b0为控制器增益;δ1和δ2为平滑因子;α1和α2为非线性因子;β1、β2和β3为修正系数,三个参数具有很强的耦合关系,并且很大程度影响ESO的观测效果。因此修正系数整定是否合理,决定了ADRC抗扰动能力的强弱。NLSEF对误差e1和e2进行非线性组合,并输出控制信号u0,其数学表达式为:

(3)

式中:β1、β2为控制系数,很大程度影响ADRC的控制精度;e1、e2为误差,e1为指令信号与被控对象位置输出误差,e2为指令信号微分与被控对象速度输出误差;α1、α2为[0,1]之间的常数;fal(·)函数是一类非线性函数,代表输出误差校正率,其表达式为:

(4)

由式(1)-式(4)可得,控制系数和修正系数等5个耦合参数是ADRC的待整定参数。5个参数很大程度上会影响ADRC的控制精度和抗扰动能力。

2 鲨鱼优化算法

鲨鱼优化算法来源于鲨鱼在海中的猎食行为。算法的搜索方式由直线运动和螺旋运动构成。如算法的种群规模为NP,则鲨鱼优化算法种群初始化的数学表达式为:

X=(X1,X2,…,Xi,…,XNP)

(5)

式中:第i个初始位置向量为Xi。如优化问题的决策变量个数为ND,则Xi可表示为:

Xi=(Xi,1,Xi,2,…,Xi,j,…,Xi,ND)

(6)

式中:Xi,j为第i个鲨鱼个体的第j个决策变量。

此外,由于鲨鱼在捕猎时,会朝具有强烈血腥味的猎物游动,且鲨鱼距离猎物的距离越近,游动速度越快。因此,鲨鱼在捕猎过程中,每个阶段的速度都取决于上一阶段速度的大小,且游动速度具有一个限定范围。因此鲨鱼优化算法的速度更新公式为:

(7)

鲨鱼在游动过程中会先以直线运动的方式寻找猎物,这种捕猎行为的位置更新公式可表示为:

(8)

(9)

式中:R3为[0,1]之间的随机数;m表示在位置搜索中每个阶段的猎物的数量。鲨鱼会向具有更强气味的猎物进行移动,并继续搜索路径,这一特点在SSO算法中实现如下:

(10)

3 改进鲨鱼优化算法

3.1 双种群寻优

双种群寻优在算法迭代过程中,不仅可以避免算法更新机制单一而引起的早熟收敛现象,还可以避免算法在迭代后期,进化缓慢甚至停滞进化的情况。针对机械臂具有较强的非线性和耦合性的特点,单一机制的鲨鱼优化算法难以整定出合理的自抗扰控制器参数的问题。本文将种群规模为N的鲨鱼种群平均分为两个子种群S1和S2,其中种群S1中的个体,在迭代过程中,引入位置废弃策略和自适应控制因子。种群S2中的个体,在迭代过程中,引入扩张算子以及非线性递增惯性权重。计算S1和S2种群中每次迭代所得最优粒子的适应度值,并进行比较。适应度值较大的粒子放入种群S2中,适应度值较小的粒子,放入种群S1中。双种群策略极大程度地保持了算法的种群多样性,避免了单一机制寻优所引起的进化缓慢以及早熟收敛的现象。

3.2 自适应控制因子

在基本SSO算法中,控制因子αk是调整算法全局搜索能力和局部搜索能力的重要参数。αk的加入是为了防止SSO算法局搜能力过强导致算法早熟收敛。但根据研究表明,具有随机性的控制因子虽然一定程度上增强了算法的全局搜索能力,但也一定程度上忽略了SSO进化的阶段性。通常,在SSO进化搜索初期,算法应具有较强的全局搜索能力,获得较大的搜索范围,提高算法的种群多样性。在算法迭代后期,算法应具有较强的局部搜索能力,可以在最优解附近进行精确搜索,提高算法的收敛精度和收敛速度。因此,本文通过粒子取得的适应度值来自适应调整控制因子αk,以此平衡算法的开发能力和勘探能力,防止算法进化方向的盲目性。改进后的αk的数学表达式如下:

(11)

(12)

3.3 位置废弃

位置废弃策略是一种有别于传统依赖变异跳出局部最优的位置更新方式。位置废弃策略的思想是,假设被废弃位置的上限值为L。在该位置上,粒子第L次陷入局部最优、早熟收敛,且在该位置被重复搜索L次的过程中,收敛精度均没有得到改善,因此当此位置被搜索到第L次时,该位置被废弃,算法在之后的迭代过程中不再对该位置进行搜索,并生成新的搜索位置,所生成的新位置数学表达式为:

(13)

式中:t为当前迭代次数;rand表示随机数;η为[-r,r]之间的随机数,随着算法的迭代,r值从1非线性降低到0。该策略可以保证算法在迭代后期,粒子将围绕在全局最优解附近进行局部搜索,有效避免了算法陷入局部最优、早熟收敛,提高了算法的全局搜索能力。

3.4 非线性惯性权重

根据实验表明,较大的惯性权重可以提高算法的开发能力,较小的惯性权重可以提高算法的勘探能力。线性优化的惯性权重可以一定程度提高算法的整体性能,但并不能对算法的开发能力和勘探能力起到有效的平衡作用。因此,为了平衡算法的开发能力和勘探能力,本文引入余弦控制方式,对惯性权重进行非线性优化,使得算法在迭代初期,拥有较大的惯性权重,提高算法的勘探范围,在迭代后期拥有较小的惯性权重,提高算法的开发能力。非线性惯性权重的数学表达式如下:

ω=(ωmax-ωmin)×exp(-0.5×t/Tmax)-ωmax

(14)

式中:ωmax=0.8为惯性权重最大值;ωmin=0.4为惯性权重最小值;t为当前粒子迭代次数;Tmax为最大迭代次数。因此,基于非线性惯性权重的位置更新公式为:

(15)

3.5 扩张算子

通过非线性惯性权重改进后的鲨鱼优化算法有效地提高了算法的搜索范围和搜索精度,但受鲨鱼优化算法自身位置更新公式的限制,当算法在迭代后期,拥有较强的局部搜索能力时,一旦粒子陷入局部最优,粒子很难有能力跳出局部最优,向新的搜索区域进行开发。因此本文引入扩张算子策略,赋予最优粒子开发新区域的能力,帮助粒子跳出局部最优。其扩张算子EO的数学表达式为:

(16)

(17)

式中:λ为探索系数,λ=0.45×(1-ω),用来调整算法的搜索范围;R为解空间的随机位置;β为系数,并随迭代次数的增加而减小;t为当前迭代次数;Tmax为算法设定最大迭代次数。因此SSO算法的速度更新公式可修改为:

(18)

改进鲨鱼优化算法DPSSO的流程如图2所示,算法迭代结束的判定条件为是否达到最大迭代次数或控制误差是否小于等于设定的最小误差值。

图2 DFSSO算法流程

3.6 数值实验

为了验证本文算法DPSSO的有效性,选取了10个基准测试函数,如表1所示。其中:f1-f4为单峰函数,用于验证DPSSO的收敛精度和收敛速度;f5-f10为多峰函数,用于验证DPSSO的全局搜索能力。

表1 10个基准测试函数

将本文算法对表1的10个测试函数进行数值实验,并与基本SSO算法和其他3种用于ADRC参数整定的算法——动态惯性权重自适应粒子群算法[14](APSO)、混沌粒子群算法[17](CPSO)、基于Lévy飞行轨迹增强的鲸鱼优化算法[19](LWOA)进行结果对比,其中测试函数f1-f8的维数为50。为了保证对比实验的公平性,5种算法对10个测试函数独立运行50次,并取结果的平均值和标准差,具体结果如表2所示,最优解用加粗字体表示。

表2 数值实验对比结果

续表2

可以看出,对于单峰测试函数f1而言,SSO算法、APSO算法、CPSO算法均早熟收敛陷入局部最优,只有DPSSO算法和LWOA可收敛到全局最优解,但DPSSO算法相较LWOA取得解的质量更优。对于单峰测试函数f3而言,当其他4种算法均早熟收敛时,DPSSO算法仍可以求解到全局最优解,说明DPSSO算法的收敛能力更强。因此对于单峰测试函数的测试结果而言,DPSSO算法相较其他4种算法可以取得更小的平均值和标准差,具有更高的收敛精度和稳定性。

随着高速公路路网规模不断扩大,高速公路稽查管理工作日益复杂化,其中假绿通车辆稽查治理工作逐渐成为整个高速公路稽查管理工作的重点。按照国家有关规定,运输鲜活农产品的车辆在高速公路上行驶可免缴通行费。由此,各种冒充绿通车辆的手段层出不穷,屡禁不止,给高速公路稽查管理工作和收费站日常收费管理工作带来巨大压力。

对于多峰测试函数f6-f8而言,DPSSO算法同样可以取得更小的平均值和标准差,只有在测试函数f5上取得的结果较差,但仍优于其他4种算法。说明DPSSO算法相较其他4种算法而言,具有更高的全局搜索能力,搜索成功率也更高,算法稳定性更强。

对于测试函数f9-f10而言,5种算法的求解能力均有很大提高,甚至可以收敛到理论最优值,这是由于测试函数维数较低所致。但DPSSO的标准差更小,说明DPSSO算法的稳定性更强[22]。整体而言,DPSSO算法具有更高的全局搜索能力,搜索精度更高,并且跳出局部最优的能力较强,可以有效地避免算法早熟收敛,有效地平衡了算法的全局搜索能力和局部搜索能力,可以用于自抗扰参数整定。

4 实验仿真

4.1 基于评价指标的对比实验

为了验证DPSSO可以有效地在线整定自抗扰控制参数,本文选取ITAE指标[21]作为评价函数,两自由度机械臂为被控对象,对自抗扰控制器参数进行在线整定。其中算法判定条件的误差最小值设定为0.001。参数整定流程如图3所示。

图3 基于DPSSO的参数整定流程

本文将基于DPSSO-ADRC的参数整定结果与其他3种算法(LWOA-ADRC、APSO-ADRC、CPSO-ADRC)的整定结果进行对比验证。ITAE指标的数学表达式如下:

(19)

为了保证实验公平性,4种参数整定方法独立运行30次,并分别保存4种整定方法的最优结果。具体结果如图4所示。

图4 评价函数值对比图

可以看出,首先,在迭代初期,DPSSO-ADRC的评价函数值迅速下降,下降速度远大于其他3种算法,说明DPSSO-ADRC算法的寻优速度更快,初值寻优能力更强,且DPSSO-ADRC的寻优范围更广,全局搜索能力更强。其次,DPSSO-ADRC相较其他3种算法可以取得更小的评价函数值,说明DPSSO-ADRC的搜索精度更高,整定出的ADRC参数更为合理有效。因此,相较于其他3种算法优化后的ADRC,DPSSO-ADRC的控制精度更高,抗扰动能力更强。

4.2 基于机械臂的轨迹跟踪实验

本文选取具有非线性和强耦合特性的两自由度机械臂作为被控对象,提出一种DPSSO-ADRC的控制策略对机械臂进行轨迹跟踪实验。实验中以机械臂轨迹跟踪误差大小作为评价标准,分别对APSO-ADRC、CPSO-ADRC、LWOA-ADRC,以及DPSSO-ADRC 4种控制策略进行对比验证。具体实验结果如图5-图8所示。机械臂的数学模型表示为:

图5 q1轨迹跟踪误差对比图

(20)

式中:q为关节位置;D为正规惯性矩阵;C为离心力和科氏力;G为重力向量;d为未知扰动向量;τ为控制率,其数学表达式为:

(21)

以机械臂为被控对象,通过DPSSO算法在线优化后的ADRC控制器参数如表3所示。

表3 ADRC参数优化值

从图5和图6中可得,相比其他3种控制策略,DPSSO-ADRC控制策略的控制误差最小,响应速度更快。对于机械臂关节角度q1而言,DPSSO-ADRC控制策略可以更快地达到稳态,轨迹跟踪误差小于0.001。并且在DPSSO-ADRC控制机械臂启动时,控制器产生的瞬时误差远远小于其他3种控制策略,说明DPSSO-ADRC控制策略的鲁棒性更强。对于机械臂关节角度q2而言,4种控制策略的控制误差均有所增大,这是由于机械臂各关节之间具有强耦合性。但DPSSO-ADRC控制策略相较其他3种控制策略的跟踪误差更小,对比q1的控制误差并无明显增大,说明DPSSO-ADRC控制策略具有较强的解耦特性,对于被控对象自身的内部扰动,具有很高的抗扰动能力。

图6 q2轨迹跟踪误差对比图

为了验证DPSSO-ADRC控制策略具有较强的抗外部扰动能力,当系统稳定后,在t=12 s时加入一个幅值为1的阶跃信号,模拟外部扰动。从图7和图8可知,相较其他三种控制策略,DPSSO-ADRC控制策略受外部扰动干扰最小,对外部扰动进行观测和补偿的时间最短,说明DPSSO-ADRC控制策略的抗扰动能力更优。因此,通过DPSSO算法优化后的ADRC控制器,不仅有效地提高了控制器的控制精度和控制速度,而且加强了ADRC的抗扰动能力。

图7 q1加入扰动后轨迹跟踪误差对比图

图8 q2加入扰动后轨迹跟踪误差对比图

5 结 语

本文针对传统非线性ADRC控制器耦合参数过多、难以整定的缺陷,提出一种基于双种群鲨鱼优化算法的参数整定方式,同时针对传统鲨鱼优化算法易早熟收敛、收敛精度低的问题,通过位置废弃以及非线性惯性权重等策略提出DPSSO算法。首先本文通过数值对比实验和ITAE评价指标对比实验,验证了DPSSO算法具有较强的寻优精度,可以用于ADRC的参数整定上。其次,本文以机械臂作为被控对象,通过机械臂轨迹跟踪仿真实验,验证了DPSSO算法整定后的ADRC控制器,具有较强的控制精度和抗扰动能力。因此,本文算法可以用于ADRC控制器参数整定。

猜你喜欢
扰动鲨鱼种群
山西省发现刺五加种群分布
一类五次哈密顿系统在四次扰动下的极限环分支(英文)
基于扰动观察法的光通信接收端优化策略
带扰动块的细长旋成体背部绕流数值模拟
鲨鱼来袭
背负恶名的鲨鱼
由种群增长率反向分析种群数量的变化
鲨鱼
鲨鱼
带电的标量场扰动下ReissnerNordstrm Antide Sitter黑洞的不稳定性