混沌天牛须算法在分数阶PID参数优化中的应用
2021-02-23蔡文成
王 粟,蔡文成,曾 亮
(湖北工业大学电气与电子工程学院,湖北 武汉 430068)
在工业控制中,PID控制器凭借结构简单、成本低、鲁棒性强等优点成为了应用最为广泛的控制器[1]。随着微积分和控制理论的不断深入,分数阶PID控制的设计也日渐成熟。分数阶PID控制器由于多了两个可调参数λ和μ,相较于整数阶控制器能够更灵活地控制受控对象[2]。
在实际应用中,分数阶PID控制器有三种常用的整定方法:1)相位裕量与幅值裕量法,利用相位裕量和幅值裕量与控制器参数的数学关系式求出;2)主导极点法,利用主导极点的特点来确定;3)基于Bode理想传递函数的分数阶控制器参数整定法,根据Bode理想传递函数作为参考系统来确定[3]。
上述三种方法通过计算或实验可以得出控制器参数,实现对受控系统的有效控制,但也存在一些问题,例如:整定规则多,计算量大,方法复杂,而且当受控系统发生变化时,又需要重新计算[4]。这些问题的存在使分数阶PID控制器很难满足当今工业控制中实时性、快速性、稳定性的要求,因此寻找一种快速、稳定的算法就显得尤为重要。
随着人工智能算法的迅速发展,本质上,控制器参数整定也是一种寻优过程,有关学者提出了利用智能算法对分数阶PID控制器参数进行寻优。张艳珠[5]等人提出了遗传算法寻优,齐战[6]等人提出了基于改进状态空间模型的遗传算法寻优;金滔[7]等人提出了粒子群算法参数寻优,赵华东[8]等人提出了基于改进惯性权重和学习因子的粒子群算法寻优,那景童[9]提出了模糊自适应粒子群算法寻优;吴正平[10]提出了改进生理地理学优化算法寻优;熊兼海[11]提出基于模糊免疫的分数阶控制器设计。
天牛须搜索(Beetle Antennae Search,简称BAS)算法是学者受天牛觅食的启发提出的一种仿生算法。该算法有两个优点:第一,不需要知道函数具体形式和梯度信息[12];第二,能够降低运算量,缩短寻优时间[13]。这两个优点应用于控制器参数整定十分合适,因此汪玉风[14]等人利用天牛须算法的优点对PID控制器进行参数寻优。本文作者在阅读大量有关文献的基础上,提出一种基于混沌天牛须算法的分数阶PID控制器参数寻优,仿真结果显示该方法收敛速度快、精确度高。
1 分数阶PID控制器实现
分数阶PID控制器由Podlubny教授最先提出,一般格式简记为PIλDμ,传递函数为:
(1)
式中:KP为比例增益;KI为积分增益;KD为微分增益;λ和μ分别为积分阶次和微分阶次。
本文采用Oustaloup法对控制器中的微积分算子近似处理[15],基本步骤如下:
1)确定近似频段的范围[ωb,ωh]和近似阶次N;
(2)
(3)
(4)
3)最后根据式(5)得出分数阶Laplace算子sα的整数阶有理传递函数的表达形式;
(5)
实现了从分数阶传递函数到整数阶传递函数的近似后,采用simulink模块封装技术,即可设计出分数阶传递函数模块。
2 天牛须算法
BAS算法是2017年提出的智能优化算法,其生物原理为:天牛通过左右须感应到的食物气味的强弱来判断其大致方向,如果左边的触角收到的气味强度比右边大,就会向左飞,反之则向右飞,依据这一原理天牛就可以快速准确地找到食物[16]。
根据天牛的觅食原理,建立通用系统模型,过程如下:
1) 随机生成天牛种群所在的位置以及天牛须的朝向,并对其进行归一化处理;
(6)
其中,Dim为空间维度,rands()为matlab中生成随机矩阵函数。
2) 建立天牛左右须与天牛个体的质心对应的空间坐标方程;
(7)
其中,xi表示天牛个体的质心在第i次迭代的位置,d0表示天牛须之间的距离,xli表示天牛左须在第i次迭代的位置,xri表示天牛右须第i次迭代的位置。
3) 确定天牛下一步移动的方向;
根据系统所选的适应度函数,计算天牛左右须的适应度值,并往适应度值小的触须方向移动。
4) 迭代更新天牛的位置;
xi+1=xi-eta·b·sign(f(xri)-f(xli))
(8)
其中,eta为步长因子,通常取0.95左右,sign(·)为符号函数,其作用是返回参数的正负值,f(·)表示为适应度函数。
3 混沌天牛须算法
混沌是一种非线性科学概念,是指系统对因对初值敏感而表现出的不可预测的、类似随机性的运动。该现象普遍存在于自然界,具有遍历性、随机性、规律性等特点[17]。
从数学形式上看,Logistic映射是一种非常简单的混沌映射,所以本文使用Logistic映射产生混沌序列变量。Logistic映射的公式为:
Xn+1=Xn·μ·(1-Xn)
(9)
式中,μ∈[0,4],是Logistic参数。需要注意的是,当Xn∈[0,1]时,Logistic映射工作处于混沌状态。
本文设计的混沌优化步骤如下,基本思想是把混沌变量通过Logistic线性映射到优化变量的取值空间,然后利用混沌变量进行搜索。
1)按照公式(9)将最优天牛位置映射到Logistic方程的定义域[0,1]中,形成混沌变量;
2)将形成的混沌变量按照公式(10)逆映射到函数解空间中;
(10)
3)利用公式(11)对个体进行混沌扰动;
(11)
式中,X′为经过扰动后的新个体,step为扰动步长,可以由公式(12)确定,
step=a+(b-a)·rand(1,Dim)
(12)
式中,a为参数下限,取-1;b为参数上限,取1;Dim为空间维度,rand()为生成随机矩阵函数。
混沌搜索能在一定范围内按其自身的规律不重复地遍历所有状态,所以利用混沌扰动产生的混沌变量进行搜索毫无疑问地比盲目随意的随机搜索更具优越性[17]。利用混沌搜索的这一优点,本文将两者有机结合在一起,每次天牛位置更新后,利用混沌扰动机制,避免天牛个体陷入局部最优。
算法迭代步骤如下:
步骤1 设置混沌天牛须算法参数;
步骤2 初始化天牛须种群;
步骤3 根据公式(6)进行归一化处理;
步骤4 根据公式(7)搜寻可行解;
步骤5 根据公式(8)更新天牛须位置;
步骤6 将最优天牛个体通过Logistic映射,形成混沌变量;
步骤7 根据公式(10)逆映射到解空间中;
步骤8 进行混沌扰动,
步骤9 对扰动后的个体判断是否满足终止准则,满足则退出循环,不满足则返回步骤3。
4 实验分析
本文利用Matlab/Simulink对混沌天牛须算法程序和系统模型进行仿真。混沌天牛须算法与simulink模型之间连接的桥梁是天牛个体(即分数阶PID控制参数)和该天牛对应的适应度值(即控制系统的性能指标)。
4.1 仿真实验
混沌天牛须算法参数设置为:天牛种群规模Size=10,维数Dim=5,左右须距离d=1,初始步长step=2,步长系数eat=0.95,混沌系数u=4,迭代次数MaxIter=80,最小适应度值MinFit=0.6,选取的被控对象的传递函数
(10)
选误差性能指标ITAE作为适应度函数
(11)
4.2 仿真分析
经过算法寻优,得出的分数阶控制器为:
(12)
为了验证利用混沌天牛须算法寻优后的分数阶PID控制器参数是否能达到预期的控制效果,再使用天牛须算法、粒子群算法对分数阶PID参数进行寻优,寻优后的控制器传递函数为:
(13)
(14)
各自的性能指标见表1。
表1 算法性能指标
将控制器参数带入到仿真模型中,得出图1所示的仿真波形。
图 1 仿真阶跃波形
结合表1 和图1可以看出混沌天牛须算法相较于天牛须算法和粒子群算法有较好的寻优能力。
5 结束语
分数阶PID控制器参数对控制器性能起着决定性作用,本文运用混沌天牛须算法,通过引进混沌扰动机制,使天牛个体能够找到全局最优值,寻优得出的参数也具有很好的控制效果。经过仿真结果对比,混沌天牛须算法相较于天牛须算法、粒子群算法寻优后的参数更具有效性。更进一步,对于比例系数,其阶次是否也能为分数阶,这有待研究。