杨庆江, 田志龙
(黑龙江科技大学 电气与信息工程学院, 哈尔滨 150022)
基于交叉熵算法的自抗扰控制器参数整定方法
杨庆江,田志龙
(黑龙江科技大学 电气与信息工程学院, 哈尔滨 150022)
为解决自抗扰控制器参数难以整定的问题,提出基于交叉熵算法的自抗扰控制器参数优化设计方法。通过适应交叉熵算法选择适应度函数,对其中的五个重要参数β01、β02、β03、β1、β2进行了优化分析。仿真结果表明:交叉熵算法比免疫遗传算法的自抗扰控制器超调量更小,响应时间更快。
自抗扰控制器; 交叉熵算法; 参数整定
自抗扰控制器(ADRC)需要整定的参数较多,且整定过程依靠经验,造成整定参数不准确,也比较耗时和繁琐[1]。免疫遗传算法IGA可以对自抗扰控制器进行优化设计,收敛效率较高,也可以全局收敛,但是在优化时需要编码。粒子群算法对自抗扰控制器参数的优化,算法较简单,但容易陷入局部最优,不能高效地得到最优解[2-4]。笔者提出了交叉熵算法优化自抗扰控制器的设计方法。
交叉熵算法作为一种新的优化算法,在许多领域的优化问题中都得到了很好地应用,其在小概率事件的求解优化问题中具有简单和有效的特点。文中在分析ADRC 参数对控制器性能影响的基础上,利用交叉熵优化算法理论,提出了基于交叉熵优化算法的ADRC设计方法,对ADRC的参数进行优化整定。
自抗扰控制器由跟踪微分器(Tracking Differentiator,TD)、扩张状态观测器(Extended State Observer, ESO)和非线性反馈控制律(Nonlinear State Error Feedback Control Law,NLSEF)三部分组成,二阶ADRC的结构如图 1 所示[5]。
图1 自抗扰控制器结构
设二阶受控系统方程为
各模块方程分别为
跟踪微分器TD:
式中:
d=rh0;d0=dh0;y=x1+h0x2;
扩张状态观测器ESO:
非线性组合反馈NLSEF:
式中:
能够决定ESO的估计能力的参数是β01、β02、β03,但这些参数还需要进行调试。在NLSEF的控制规律中,控制器的性能则主要由非线性配置系数β1、β2来决定。由此,对同一类对象而言,除了调试它的{β01、β02、β03、β1、β2},其余的控制器所需参数只需设置成固定值即可。能够根据对象状态量实现ESO的设计和根据积分串联型的控制器要求完成NLSEF的设计,但是以上五个参数之间是相互影响的,仅凭借经验确定其值,很难实现最优控制。对此,采用了交叉熵算法的优化理论,优化整定ADRC的参数{β01、β02、β03、β1、β2},以调试出这几个参数的最优值。
交叉熵方法属于随机优化中的一种新方法,它最先被用在小概率事件的模拟仿真上,后又推广到解决最优化问题。该方法应用领域包括连续多目标优化问题、组合优化问题以及机器学习问题等。交叉熵方法解决问题的基本路线是首先确定优化问题[6]
(1)
然后,把所优化的问题和概率估计问题联系起来。为此,在χ上定义一组概率密度函数{f(·;v),v∈V}和指示函数{I{s(x)≥γ}},对某个u∈V,定义式(1)优化问题的相关估计:
l=Pμ(S(X)≥γ)=Eμ[I{S(X)≥γ}],
(2)
式中,I{·}表示集合。
对式(2)的估计,当γ取值接近式(2)优化问题的最优解时,概率l的值会非常小,S(X)≥γ为一小概率事件。如果直接利用Monte Carlo方法求解式(2),需要有足够大的样本数量,因为对于绝大多数样本来说S(X)≥γ事件是不发生的,为此,引入重要采样密度g(x),则式(2)的参数估计:
(3)
式中,Xi是根据g(x;v)生成的样本。
为求得最优的重要采样密度g*(x;v),从一个函数族f(x;v)与g*(x;v)之间的交叉熵。交叉熵即Kullback-Leiben距离,对于两个分布密度函数g(x)和h(x),它们之间的交叉熵可以表示为[5]
(4)
使f(x;v)与g*(x;v)之间的交叉熵小等价于
(5)
交叉熵方法使用了一个多级更新算法,也就是构造一个分布参数序列{vt,t≥0}和一个级序列{γt,t≥0},式(5)可以表示为
其参数估计式为
交叉熵优化自抗扰控制器参数流程:首先利用样本密度函数产生自抗扰控制器的随机参数值,分别为β01、β02、β03、β1、β2的各个随机数值,将这些随机数值经过自抗扰控制器计算后产生的输出作为交叉熵算法的目标函数,再经过交叉熵算法对目标函数进行寻优,所得到的最优结果用来确定自抗扰控制器的参数。
图2 交叉熵算法整定自抗扰控制器流程
Fig. 2Cross-entropy algorithm tuning ADRC controller flowchart
3.1适应度函数
为了使输入信号在控制系统作用下有较好的响应,能够比较准确地进入跟踪微分器中的过程,须要尽量使系统的输出和跟踪微分器的输出误差平方的积分达到最小,故目标函数选为
(6)
由式(6)目标函数计算它的倒数,由此可得到适应度函数,当适应度函数达到最大值时,就可得到相对应的控制器参数[3]。
3.2算法流程
选择好适应度函数以后,算法的具体步骤为:
Step1初始化相关参数,定义自抗扰控制器的初始参数值,令υ0=u0和t=1;
Step2根据分布密度函数f(x;υt-1)分别生成五组随机样本数:X1,X2,…,XN,分别为β01、β02、β03、β1、β2的各个随机数值,用这些样本数据代入到自抗扰控制器的各个组成部分并依次计算每个样本的目标函数值S(1),S(2),…,S(N),求出S的ρ分位数;
Step3用生成的样本数来求解,解定义为υt;
Step4判断是否满足终止条件,若满足终止,否则t=t+1,返回Step2[7-8]。
在MATLAB的环境下,选取的一组基准参数为β01=10、β02=0.1、β03=0.5、β1=0.035、β2=0.008,其他的参数可设定为r=10 000、h=0.1、a1=0.25、a2=0.125、d=0.1、d=0.01、a3=0.125、a4=0.062 5。经过交叉熵算法迭代优化后的五个优化参数为β01=8.446 1、β02=0.314 2、β03=0.533 1、β1=0.035 2、β2=0.009 5。为验证算法的有效性,仿真得到了优化前后的系统阶跃响应曲线,如图3和4所示。
图3 优化前的系统阶跃响应
由图3和图4对比可见:优化前的超调量为1.30,优化后的超调量为1.15,优化前达到稳定的时间约为500 s,而优化后达到稳定的时间约为300 s。由仿真结果分析可以得出优化后的响应比之前的更加地快速和稳定,跟踪效果比之前的好,系统性能得到很好地提高。从而证明了交叉熵算法应用到自抗扰控制器中的可行性。经过交叉熵算法优化后的自抗扰控制器动态和稳态性能够得到提高。
图4 优化后的系统阶跃响应
利用上面的初始值设定,比较免疫遗传算法IGA和交叉熵算法CE分别优化自抗扰控制器的五个参数[9]。通过两种算法的仿真对比,得到优化后参数,如表1所示。
表1 两种方法优化后参数
通过仿真得到响应曲线对比,如图5所示。从图5的阶跃响应曲线可以看出,采用交叉熵算法优化后的系统的超调量更小,响应时间也更加快速,进而证明了交叉熵算法在自抗扰控制器参数优化上优于免疫遗传算法。
图5 阶跃响应曲线对比
通过分析交叉熵算法和自抗扰控制器的特点和性能,提出了基于交叉熵算法的自抗扰控制器参数优化方法。结合自抗扰控制器模型进行分析,采用交叉熵算法对自抗扰器中的五个参数进行优化,其收敛效率较高。仿真实验结果表明,交叉熵算法在参数优化方面具有收敛效率高、便于实现的优点,可以提高自抗扰控制器的控制性能。
[1]史永丽, 侯朝桢, 苏海滨. 基于粒子群优化算法的自抗扰控制器设计[J]. 系统仿真学报, 2008, 20(2): 433-436.
[2]罗春松. 改进的粒子群算法及其在控制器参数整定中的应用 [D]. 长沙: 湖南大学, 2009: 57.
[3]曾文飞. 基于免疫遗传算法的自抗扰控制器优化设计及其应用 [D]. 长沙: 湖南大学, 2009: 10-30.
[4]姜萍, 王培光, 郝靖宇. 自抗扰控制器参数的免疫遗传优化及应用[J]. 控制工程, 2012, 19(2): 286-289.
[5]韩京清. 自抗扰控制技术[J]. 前沿科学, 2007(1): 24-31.
[6]卢长先. 基于交叉熵方法的布局问题求解算法研究[D]. 北京: 北京交通大学, 2007: 15-22.
[7]边莉. 基于交叉熵算法的唯相位控制方向图零点生成[J]. 信号处理, 2011(5): 791-794.
[8]周勇, 刘三阳, 杨曙光. 基于交叉熵的通讯网的优化算法[J]. 系统工程与电子技术, 2004, 26(10): 1471-1475.
[9]郝靖宇. 自抗扰控制器的免疫遗传算法优化及其应用研究[D]. 保定: 河北大学, 2011: 28-30.
(编辑李德根)
ADRC controller parameter tuning method based on cross-entropy algorithm
YANGQingjiang,TIANZhilong
(School of Electric & Information Engineering, Heilongjiiang University of Science & Technology, Harbin 150022, China)
Aimed at addressing difficult tuning of the ADRC parameters, this paper offers ADRC parameter optimization design method based on cross-entropy algorithm and presents an optimizing analysis of the five important parameters (β01,β02,β03,β1,β2)of fitness function by employing the cross entropy algorithm. The simulation shows that the cross entropy algorithm exhibits a smaller ADRC overshoot and a faster response than the immune genetic algorithm.
ADRC; cross entropy algorithm; parameter tuning
2013-04-02
杨庆江(1969-),男,黑龙江省哈尔滨人,教授,硕士,研究方向:电力电子与电力传动,E-mail:yqj7962@163.oom。
10.3969/j.issn.1671-0118.2013.03.018
TP273
1671-0118(2013)03-0298-04
A