胡 轶,王民钢,杨 尧
(西北工业大学航天学院,陕西 西安 710072)
自抗扰控制器(ADRC)是在继承经典PID控制器不依赖被控对象的精确模型优点的基础上,只用控制目标与对象实际行为之间误差来产生消除此误差的控制策略的过程控制思想下,克服其固有的缺陷,诸如:微分器物理不可实现、积分反馈负作用、控制量线性组合缺陷,逐渐发展起来的一类新型控制器[1-2]。各类研究表明,ADRC对具有强干扰、大时滞、强耦合、非线性的被控系统具有良好的控制品质。但ADRC可调参数众多,且不易整定。目前还缺乏相关成熟理论,使得整定过程和效果在很大程度上依赖于人的经验,多采用试验加试凑的方式由人工进行优化。本文探讨了ADRC的应用,并基于 AFSA[3],探索出一套行之有效的ADRC参数整定方法。AFSA是一种新型的、基于种群的启发式仿生进化算法,采用动物自治体的模式,强调智能主体对环境的自适应行为,不需要利用导数信息,具有较好地全局寻优能力,对初值和参数的选择不敏感,简单易实现。仿真结果表明,基于AFSA的ADRC设计,较好地克服了传统ADRC参数整定的不足,整定出的ADRC控制器具有良好的动、静态特性和鲁棒性。
水域中,鱼生存最多的地方就是本水域中富含营养物质最多的地方,根据这一特点来模仿鱼群的觅食等行为,从而实现全局寻优,这就是AFSA的基本思想[4]。AFSA采用自下而上的设计方法,首先实现人工鱼模型的建立,接着完成个体人工鱼觅食行为、聚群行为和追尾行为的描述与实现,模拟出自然界鱼群集体觅食的过程,完成最优解的寻找。
个体人工鱼模型类似面向对象语言中的类对象,这个对象封装了人工鱼自身的状态信息和行为描述,可以感知外界状况,并做出相应的反应。个体人工鱼的状态表示为 X=(x1,x2,…,xn),其中,xi(i=1,…,n)为欲寻优的状态解。
视野:生物都有自己的视觉,且视觉有一定的感知范围,本文定义人工鱼的视野范围为Visual。
步长:为便于算法的数学实现,将人工鱼的移动能力数学模型化后,设定为定步长step。
拥挤度因子:表明人工鱼群的拥挤程度,用来限制人工鱼群聚集的规模,设为δ。
食物浓度:人工鱼所处位置的食物浓度,表示为Y=f(x),Y为性能指标函数。
公告板:记录最优状态的演化过程,作为鱼群基本行为所需的比较参数,方便最优解的最终获取。
1)觅食行为
鱼群趋向食物的一种天生行为,通过视觉、嗅觉等感官来感知周边食物存在来选择下一步的行动方向。设人工鱼所处状态为Xi,在其视野Visual范围内随机选择一个状态Xj,如式(1)所示,得出目标函数值Yj,求极小问题中,Yj<Yi(极大问题中,Yj>Yi,极大极小问题可以相互转换,本文所述均以极小问题为对象),则游至Xj状态。反之,则重复式(1)行为,判断是否满足前进条件,重复完try-number次后,仍不满足前进条件,则按式(2)随机移动一步。
2)聚群行为
鱼类较常见的一种自然行为,聚集成群,方便进行集体觅食,一般集群中心就是食物浓度较高的位置。设人工鱼当前所处状态为Xi,视野范围Visual内同伴数目为 nf,中心位置为 Xc,如果 Yc/nf> δYi,则按式(3)向鱼群中心位置前进一步,否则,执行觅食行为。
3)追尾行为
当有鱼发现食物时,附近的鱼会尾随其后,一条接一条,远处的鱼儿也会向其靠近。在视野范围Visual中找出Y值最小的同伴,如果Ybest/nf>δYi,则按式(4),向其方向前进一步,否则执行觅食行为。
4)随机行为
鱼群的随机游动,可以看作是觅食行为的缺省行为。在视野范围内,随机选取一个状态,向该方向前进一步。
基于上述人工鱼的模型和行为描述,对每一条人工鱼判断现在所处状态,依据目标函数选择合适行为,使得鱼群向最优解附近集结。
算法流程如下:
1)初始化人工鱼群:定义人工鱼视野Visual,移动步长step,拥挤度因子 δ,试探次数 try-number,在定义域内随机生成人工鱼数目,迭代次数。
2)初始化公告板:计算初始化出的人工鱼群各个个体对应的性能指标函数值(适应度值),将最优的人工鱼个体状态赋值给公告板。
3)鱼群开始生物行为:人工鱼群个体分别进行聚群和追尾行为,通过比较目标函数值选择下一步行动,缺省行为为觅食行为。
4)更新公告板:人工鱼将自己对应的目标函数值与公告板的记录进行对比,如果优于对方,则将自身状态和目标函数取而代之。否则,不进行任何处理。
5)判断终止条件:满足最大迭代次数时,算法终止,否则,返回3)。
自抗扰控制器[5]是一种估计补偿不确定因素的控制技术。它把系统的模型作用当作系统内扰,同系统外扰一起,作为系统的总扰动。通过误差反馈的方法进行估计并给出补偿,从而最终将被控对象化为积分器串联型,构造出理想的控制器,具有较强的鲁棒性。
自抗扰控制器主要由安排过渡过程、扩张状态观测器、非线性组合、扰动补偿四个模块组成,以二阶不确定被控对象为例,典型二阶自抗扰控制器的结构原理图如图1所示。
图1 典型二阶自抗扰控制器结构图
1)二阶跟踪微分器[6](TD):提取微分信号,安排过渡过程。
2)三阶扩张状态观测器(ESO):给出系统内外扰总和估计值和被控对象状态变量估计值。
3)非线性状态误差反馈控制律(NLSEF):实现误差信号的非线性组合,类似PD控制器。
4)扰动补偿系数b0:整个控制器中唯一与被控对象有关的变量,对ADRC的性能起着至关重要的作用。
其中,
由上所述,可知ADRC参数众多,难于调节。但依据TD、ESO、误差反馈控制率的功能,按照“分离性原理”设定参数整定规则如下:
跟踪微分器(TD):参数r依据过渡过程快慢的需要和系统的承受能力来决定。r越大,跟踪器响应速度越快,超调越大。反之,响应慢,超调小。
扩张状态观测器(ESO):依据文献[7],采用参数化的调参思路,β01、β02、β03为观测器带宽w0的函数,β01。只要确定w0,就可大大简化了调参过程。
状态误差反馈率和补偿系数b0:kp类似PID控制中的比例增益,增大它可以加快响应速度,缩短过渡过程。kd类似PID控制中的微分增益,增大它可以减小过渡过程中出现的超调。补偿系数b0是整个控制器中唯一与被控对象有关的变量,对ADRC的性能起着至关重要的作用。
TD与ESO的参数依据规则很易确定,根据“分离性原理”可以就此固定。状态误差反馈系数与补偿系数的确定是ADRC参数整定的关键。以kp、kd、b0作为人工鱼状态的三个特征值,引入具有高度鲁棒性的AFSA,发挥AFSA擅长全局寻优的特点,避免了在局部解周边徘徊,实现ADRC参数的自整定。
基于AFSA的ADRC参数整定流程如图2。
本文以某地空导弹俯仰通道控制为例,依据所述基于AFSA的ADRC参数整定流程,用M语言编写AFSA程序部分,并用Simulink模块搭建ADRC控制器和被控对象部分,进行仿真实验 ,来验证AFSA优化ADRC控制器参数的控制效果。
图2 基于AFSA的自抗扰控制器参数整定流程图
某地空导弹在某设计点俯仰通道舵偏角到过载的传递函数为
先选取ADRC参数,采样周期为0.1ms,依据过渡过程需求取r=2500000,设定观测器带宽为200Hz,有β01=600,β02=120000,β03=8000000。
AFSA参数如下:个体鱼数目10条,迭代次数10次,试探次数20次,视野值0.1,步长值0.02,虽然拥挤度因子引入能避免人工鱼过度拥挤而陷入局部极值,但该参数也会使得位于极值点附近的人工鱼之间存在相互排斥的影响,从而难以向极值点精确靠近,再考虑算法的简化处理,本次仿真不引入拥挤度因子的概念。
仿真结果如图3所示。
图3 公告板最优参数更新图
因此,经过鱼群迭代10次,公告板更新6次,得到最终最优控制参数为:kp=77.5823,kd=2,b0=41.896。做出此伺服系统的闭环阶跃响应图如图4所示。
图4 伺服系统阶跃响应图
可见,伺服控制系统无稳态误差、上升时间小于34ms、调节时间小于41ms、超调量小于2%。优化后的ADRC系统,针对输入信号动态响应快,系统超调量小,控制精度高,鲁棒性好。系统具有良好的动态特性和稳态特性。
理论分析和仿真结果表明,本文提出的基于AFSA的ADRC参数整定规则有效可行,解决了ADRC参数众多,不易整定的问题。不仅提高了设计出的ADRC控制系统品质,降低了设计难度,还提高了ADRC控制器的设计与实现效率。
[1]韩京清.自抗扰控制技术[M].北京:国防工业出版社,2008:17-18,255-262.
[2]韩京清.从PID技术到“自抗扰控制技术”[J].控制工程,2002,9(3):13-18.
[3]李晓磊,邵之江,钱积新.一种基于动物自治体的寻优模式[J].系统工程理论与实践,2002,22(11):32-38.
[4]李晓磊.一种新型的智能优化方法-人工鱼群算法[D].杭州:浙江大学,2003.
[5]韩京清.自抗扰控制技术[J].前沿科学,2007,1(1):24-31.
[6]韩京清,袁露林.跟踪-微分器的离散形式[J].系统科学与数学,1999,19(3):268-273.
[7]Z.Gao.Scaling and Bandwidth—Parameterization Based Controller Tuning[C]//American Control Conference,2003,6(6):4989-4996.
[8]薛定宇.控制系统计算机辅助设计:MATLAB语言与应用[M].北京:清华大学出版社,2006:183-231.