基于遗传算法的MFAC参数寻优
2021-11-17冯增喜李丙辉
冯增喜,李丙辉,张 聪
(1.西安建筑科技大学建科学院,陕西 西安 710055;2.安徽建筑大学智能建筑与建筑节能安徽省重点实验室,安徽 合肥 230022)
1 引言
无模型自适应控制(Model Free Adaptive Control,MFAC)是一种基于数据驱动的先进控制方法,它不依赖于对象数学模型,仅基于被控系统的输入输出数据设计控制器,且能实现自适应控制[1]。无模型自适应控制具有广泛的适用性,目前已经在自动泊车、机器人、侧旋翼飞行器等多领域得到了应用[2-3]。对于相同的控制系统,控制器参数不同导致控制效果不同,因此,在控制过程中更快、更准确地设定合适的控制器参数显得尤为重要。然而,目前针对MFAC控制器4个参数的寻优方法十分有限,且不成熟,也没有系统化。文献[4]在PID控制器参数整定方法的基础上提出了基于临界比例度参数整定法、Z-N经验的参数整定方法、基于Cohen-Coon参数整定方法以及基于最速下降的参数整定法,控制性能有待提高;文献[5]提出了基于单纯形法的MFAC参数寻优法,但对初始参数设定有一定的要求;文献[6]提出了基于二阶泛模型的改进的无模型自适应控制器,并在此基础上提出了基于下降梯度法的参数优化整定方法。总的来说,关于MFAC参数整定和优化的研究还处于探索阶段,需进一步的深化和拓展。因此,本文采用遗传算法 (Genetic Algorithm,GA)对MFAC控制器参数进行寻优。
2 无模型自适应控制
MFAC是一种针对非线性系统的控制设计方法,侯忠生教授于1994年在其博士论文中首次提出,逐渐形成一套完整的理论体系[7]。MFAC是在闭环系统的每个工作点处建立非线性系统等价的动态线性数据模型,利用受控系统的输入输出数据在线估计系统的伪偏导数(pseudo partial derivative,PPD)、伪梯度和伪雅可比矩阵参数,然后设计加权一步向前的控制器,进而实现非线性系统数据驱动的无模型自适应控制[8]。由于具有以下4个优点:1)控制器设计不依赖受控系统的模型信息,仅需要被控系统的输入输出数据;2)不需要任何外在的实验信号、测试信号和训练过程;3)计算量小,方法结构简单;4)可实现带有参数变化和结构变化的非线性系统的自适应控制[8],使MFAC得以广泛应用。MFAC数据模型有紧格式动态线性化、偏格式动态线性化和全格式动态线性化等三种形式,本文采用基于紧格式动态线性化的无模型自适应控制进行研究。
2.1 无模型自适应控制系统设计
考虑如下SISO离散时间非线性系统
y(k+1)=f(y(k),…,y(k-ny),u(k),…,u(k-nu))
(1)
其中y(k)∈R,u(k)∈R分别表示系统在k时刻的输出和输入;ny,nu是两个未知的正整数;f(…)为未知的非线性函数。
为了得到系统(1)控制方案,提出如下两个假设:
假设1:除有限时刻点外,f(…)关于第(ny+2)个变量的偏导数是连续的[8];
假设2:除有限时刻点外,系统(1)满足广义Lipschitz条件[8],即对任一时刻k1≠k2,k1,k2≥0时,当u(k1)≠u(k2)有
|Δy(k+1)|≤b|Δu(k)|
(2)
式中:Δy(k+1)=y(k+1)-y(k);b>0是一个常数;Δu(k)=u(k)-u(k-1)。
在满足上述两个假设的情况下,可得到系统式(1)的泛模型,即
y(k+1)=y(k)+φ(k)Δu(k)
(3)
式中:φ(k)∈R为系统式(1)的伪偏导数(pseudo partial derivative,PPD)。
2.2 控制算法
考虑如下准则函数:
J(u(k))=|y*(k+1)-y(k+1)|2
(4)
式中:λ>0是一个权重因子;y*(k+1)为期望的输出信号。
将式(3)带入式(4)中,对u(k)求导,并令其等于零,得到如下控制算法
(5)
其中,ρ∈(0,1]是步长因子。
2.3 PPD估计算法
由式(5)可知,为了实现上述控制算法,需要获取PPD值φ(k),由于系统的数学模型未知,精确的PPD值很难获取,因此需要根据系统的输入输出数据对PPD值进行估计。为了防止参数估计值对不准确的采样数据过于敏感,考虑引入如下准则函数[7]
J(φ(k))=|y(k)-y(k-1)-φ(k)Δu(k-1)|2+
μ|φ(k)-φ(k-1)|2
(6)
其中μ>0是权重因子。
对式(6)关于φ(k)求极值,可得到如下控制算法
(7)
其中,η∈(0,1]为步长因子,为伪偏导数φ(k)的估计值。
(k)=(1)
(8)
其中,ε是一个充分小的正整数;(1)为(k)的初始值。
3 基于遗传算法的MFAC参数寻优
由式(2)~式(8)可知,无模型自适应控制算法存在4个参数μ、ρ、λ、η,在进行无模型自适应控制器的设计时,需要设定参数值。不同的控制器参数值导致不同的控制效果。为得到MFAC最优参数,考虑到遗传算法的全局寻优特点,因此本文采用遗传算法对MFAC控制器参数进行寻优。
3.1 遗传算法
遗传算法是以所求问题可能存在的某一解集为一个初始种群,该种群由经过基因编码的个体组成。初始种群遵循适者生存和优胜劣汰的原理,逐代演化产生更优的近似解。遗传算法迭代寻优过程中,依据每代中个体的适应度大小挑选适应性更好的个体,同时根据遗传算子进行交叉和变异从而产生新的个体,最终形成新种群。此过程可使种群逐代进化,使后代比前代适应环境的能力更强,最终末代种群中的最优个体经过解码就可作为所求问题的近似最优解。
3.2 寻优设计
遗传算法所涉及参数编码、初始群体设定、适应度函数的设计、复制交叉变异等遗传操作和控制参数设定等五大要素[9]。使用遗传算法对MFAC控制器4个参数μ、ρ、λ、η进行寻优时的主要步骤如下:
1)遗传算法运行参数设定。确定遗传算法终止进化代数G、种群大小M、交叉概率Pc及变异概率Pm。
2)参数编码。确定μ、ρ、λ、η的寻优范围以及编码方式,参数范围内随机产生M个个体样本并对个体样本进行编码,从而产生初始种群。
3)适应度计算。调用适应度计算子函数,计算种群中个体的适应度,根据优胜略汰的原则保留适应度较大的个体,淘汰适应度较小的个体。
4)遗传操作。通过复制、交叉和变异等方法对种群个体进行操作,使其进化产生下一代种群。
5)终止。当进化代数达到设定的迭代终止次数G时终止进化,最优个体即为末代种群中的最优个体。
具体的寻优流程如图1所示。
图1 基于遗传算法的MFAC控制器参数寻优流程
3.3 适应度函数选取
在遗传算法优化MFAC控制器参数的过程中,适应度函数的选取对优化效果的好坏有重要的影响。常用的ITAE性能指标函数综合考虑系统的调节时间和误差的影响,调节时间短,具有较好的适用性。但是,ITAE性能指标函数在超调量、上升时间以及稳态误差方面仍有不足[9]。因此本文在ITAE性能指标函数的基础上加入了超调量、上升时间以及控制量作为约束条件,得到如下新的性能指标函数作为适应度函数:
ω3|Δy(t)|]dt+ω4tu
(9)
式中:e(t)为系统误差;u(t)为控制器输出;tu为上升时间;Δy(k)=y(k)-y(k-1),y(t)为被控对象的输出;ω1、ω2、ω3、ω4为权值,其数值需根据被控对象进行选取,本文仿真用到的权值如下:
仿真1:取ω1=0.001,ω2=0.01,ω3=10,ω4=2,即
+10|Δy(t)|]dt+2tu
(10)
仿真2:取ω1=0.001,ω2=0.01,ω3=2500,ω4=1,即
2500|Δy(t)|]dt+tu
(11)
仿真3:取ω1=0.001,ω2=0.01,ω3=2000,ω4=0.5,即
2000|Δy(t)|]dt+0.5tu
(12)
4 仿真
为了验证基于遗传算法的MFAC参数寻优效果,本文选取了具有非线性、一阶惯性加大滞后、高阶加大滞后等三个不同的典型被控系统作为仿真对象。
4.1 仿真1
考虑如下非线性系统
(13)
期望输出信号为
(14)
该非线性系统出自《无模型自适应控制—理论与应用》[8],书中的初始参数u(1)=0,u(2)=0,y(1)=1,y(2)=-1,(1)=2,ε=10-5,MFAC控制器参数为η=1,μ=1,ρ=0.6,λ=1,在此设定下控制效果较好,因此本次仿真将以该组参数下MFAC控制器效果与寻优后的MFAC控制器控制效果进行对比。
在matlab环境下,通过遗传算法对MFAC控制器参数进行优化得到如下MFAC控制器参:η=0.8797,μ=0.2731,ρ=0.8989,λ=2.8074。
具体的仿真结果如图2、图3、图4所示。
图2 适应度函数优化过程
图3 MFAC控制器参数优化过程
图4 仿真结果对比
图2和图3表明在经过6代寻优后,寻优值趋于平稳,在之后的20-100代的寻优过程中,适应度函数值和MFAC控制器参数值保持不变,证明遗传算法优化MFAC控制参数的寻优速度较快,且寻优结果稳定可靠。图4表明优化后的MFAC控制器控制效果相较于有明显提升。被控系统期望值发生变化时,优化前有较大超调,并且在700s之后出现了明显的震荡,而优化后的控制效果超调量有大幅度减小,并且没有出现震荡的现象,且随着控制的推进,700s之后在期望值发生阶跃变化时,超调量均为零,控制性能越来越好。故被控系统在优化后的MFAC控制器参数的控制作用下,无论是超调量还是系统稳定性都有明显改善。
4.2 仿真2
由于大部分的工业控制都是时滞系统,所以以一阶惯性滞后系统为仿真对象
(15)
期望输出信号为
(16)
由式(14)可以看出,该被控系统滞后时间较大,对MFAC控制器控制效果要求较高。仿真采用试凑法寻找到一组最佳的MFAC控制器参数,即η=1,μ=1,ρ=0.6,λ=2,并以此作为对照组与遗传算法寻优后MFAC控制器控制效果进行对比。同时,为了进一步验证寻优前后MFAC控制器在期望值值发生变化时的控制效果,如式(15)所示,让期望值在500时刻发生变化。
在matlab环境下通过遗传算法对MFAC控制器参数进行寻优,得到如下一组控制器参数:
η=0.0053,μ=0.1406,ρ=0.3791,λ=1.6360。
针对两组参数进行了仿真,具体的仿真结果如图5、图6、图7所示。
图5 适应度函数优化过程
图6 MFAC控制器参数优化过程
图7 仿真结果对比
图5表明,在寻优进行到60代以后基本趋于稳定。图6表明在寻优过程中,MFAC控制器四个参数值在寻优进行到40代以后基本趋于稳定。图7表明寻优后的控制器控制效果明显优于寻优前:在500时刻之前,寻优前被控系统输出超调量为11.03%,寻优后超调量为2.56%,寻优后相较于寻优前超调量下降了8.47%;控制性能中调节时间是针对5 %的相对误差而言,调节时间减小。系统期望值在500时刻时发生变化,优化前系统超调量为10.48%,寻优后超调量为2.54%,超调量下降7.94%;调节时间减小。因此,优化后的控制器参数系统具有更小的超调量和更快的调节过程,控制效果更好。
4.3 仿真3
为进一步验证该方法的适用性,本次仿真选取了文献[11]中的三阶滞后系统为被控对象进行仿真
(17)
期望输出信号为
(18)
该系统较仿真2的被控系统阶数更高、更加复杂,且其作者给出一组MFAC控制器参数,即η=0.001,μ=1,ρ=0.14,λ=2,并取采样时间为1s。在matlab环境下,通过遗传算法对MFAC控制器参数进行优化得到如下MFAC控制器参数:η=0.0344,μ=0.9520,ρ=0.1531,λ=2.4773。
具体仿真结果如图8、图9、图10所示。
图8 适应度函数优化过程
图9 MFAC控制器参数优化过程
图10 仿真结果对比
图8表明适应度函数值在寻优进行到第20代时基本趋于稳定。图9表明MFAC控制器四个参数在寻优进行到45代时都趋于稳定,说明寻优最终所得参数稳定可靠。由图10可以看出,虽然按照文献[11]所给定的参数MFAC控制器已取得较好的控制效果,但优化后的MFAC参数仍然显著提升了控制效果,具体对照如下:在1500s之前,优化前的超调量为3.04%,优化后的超调量为0.57%,超调量下降2.47%;控制性能中调节时间是针对2 %的相对误差而言,调节时间减小。在1500s之后,当期望值发生变化时,优化前的超调量为3.04%,优化后的超调量为0.64%,超调量下降2.4%,调节时间减小。仿真结果表明,虽然相较于仿真2被控系统结构更为复杂,但遗传算法对MFAC控制器参数整定依然取得了很好的效果,系统输出超调量几乎为零。
5 总结
本文在MFAC控制器参数整定和优化方法较为匮乏的前提下,提出了一种基于遗传算法的MFAC控制器参数寻优方法,并选取了3个不同的典型被控系统,利用matlab对其进行仿真对比,结果表明:基于遗传算法可快速对MFAC控制器参数寻优,且寻优后控制器在超调量、防止调节过程振荡方面效果明显改善。