首页 理论教育如何优化控制器参数的整定方案

如何优化控制器参数的整定方案

【摘要】:采用分离定理大大地简化了ADRC控制器的参数的整定难度。ESO的三个参数β01、β02和β03直接决定着ESO的性能,从而影响着整个控制器设计的好坏,一般首先调节的是最为重要的参数β03,它的取值越大,越能降低系统的滞后性,然而当大到一定限度时,会造成系统的振荡。速度因子r影响着控制量的增益,可根据实际的输出情况进行调整。另外两个参数的整定过程类似于比例微分控制的参数整定方法。

自抗扰控制具有比传统PID控制更多的优势,但现在并未取代传统PIO的主导地位,一个主要的原因就是自抗扰控制技术的各部分参数较多,调节难度较大。基于此,许多学者开始关注并试图简化ADRC控制器的参数整定方法,目前对控制器参数进行整定的主要方法有[53]:经验试凑法、时间尺度法[54]、遗传算法优化[55]和带宽法[56]

自抗扰控制器是由上面提到的TD、ESO和NLSEF三部分构成,虽然必须由三部分组成为一个整体才能起着应有的作用,但在参数整定时,可以分成三个独立的部分进行设计,然后再组合起来。这种先将各个组成部分分别独立地设计出来后再组合出整体结构的整个过程就叫作分离性定理。采用分离定理大大地简化了ADRC控制器的参数的整定难度。

1.经验试凑法

对于TD而言,需要进行整定的参数主要有决定过渡过程速度的速度因子r0和滤波因子h0。跟踪微分器的跟踪效果好坏与r0有直接关系,其值越大,效果越好,反之则越差。然而当速度因子过大的话,如果恰好TD的输入被噪声干扰,就会无法达到预期的输出效果,甚至变得更为糟糕,从而导致滤波因子h0的滤波特性变差,只有二者协同调节,才能提高跟踪速度,抑制系统噪声[57]

对于ESO而言,需要进行整定的主要有fal函数中的参数α和δ以及ESO的三个主要参数β01、β02和β03。参数α决定着函数非线性部分的形状,它的取值大小直接影响着扩张状态观测器的估计效果。参数δ决定着线性区间的长度,取值过大时,会使得线性区间长度增加,无法体现出非线性函数的优势;取值过小时,会使得函数近乎一个开关函数,这样很可能造成系统的高频震颤现象,因此它们的具体取值要根据实际情况来定。ESO的三个参数β01、β02和β03直接决定着ESO的性能,从而影响着整个控制器设计的好坏,一般首先调节的是最为重要的参数β03,它的取值越大,越能降低系统的滞后性,然而当大到一定限度时,会造成系统的振荡。在确定好β03的前提下,再去细调另外两个参数,从而提升ESO的估计性能[57]。对于NLSEF而言,调节的参数有速度因子r、阻尼因子c和滤波因子h1。速度因子r影响着控制量的增益,可根据实际的输出情况进行调整。另外两个参数的整定过程类似于比例−微分控制的参数整定方法。

2.时间尺度法

时间尺度在ADRC控制器中作为衡量整个系统响应快慢的标准,它的具体作用为:假定一个时间尺度为T的系统,具有一定鲁棒性且参数调整好的ADRC,那么仅仅通过简单的时间变换,就能将该ADRC用在另一个时间尺度为T的系统上,而且该系统的ADRC具有一样的鲁棒特性[58]

韩京清研究员通过简单的二阶系统提出了时间尺度的问题,并给出了时间尺度的定义。

定义3.1 对于一般二阶系统¨x=f(x,˙x,t),记img,其中q1、q2为确定系统工作范围的适当常数,定义系统的时间尺度为[59]

对于系统¨x=f(x,˙x,t),如果加上一个确定的输入激励,那么就会产生一个完全确定的响应与之对应,其响应快慢将取决于输入的过程值和系统状态[59]。同样地,当给系统一个单位阶跃信号作为输入时,即u=1(t),也会得到确定的阶跃响应,从而有

M确定好之后,就可以得到时间尺度。因此,可以通过单位阶跃响应来确定开环稳定对象的时间尺度。

下面通过简单二阶系统对利用时间尺度整定ADRC参数进行介绍。

现有两个二阶系统,其状态方程分别是

假设S1是基准系统,S2是实际系统,而二者的时间尺度分别为p1和p2。如果取基准系统整定好的控制器参数U1={β11,β12,β13,k11,k12,b1},则系统S1的控制算法为输出为y1,该系统的时间尺度为img。如果取实际系统S2的控制器参数

通过该控制算法,基准系统就被改造为积分串联型系统b1/s2,其输入为u01,U2={β21,β22,β23,k21,k22,b2},则得到其控制算法为

同样可知,实际系统会被改造为积分串联型系统b2/s2,其输入为u02,输出为y2,时间尺度为img

对实际系统和基准系统进行尺度变换:

经过一系列推导计算,可以将实际系统S2的控制算法转变为

通过这个控制算法,就可以将实际系统改造成二阶积分串联型系统(b2/m2)/s2,其输入为u02,输出为y1,时间尺度为img得到

由式(4.43)可以得出,实际系统和基准系统分别在其对应控制器的控制下所得到的时间尺度一样。因此,它们的控制输入是可以相同的,即u01=u02。比较基准系统的控制算法以及变换后的实际系统控制算法,其相关系数具有下列关系:

也就意味着能够得到实际控制器U2

综上所述,如果有一个受控系统S1,具有ADRC控制器U1且时间尺度为p1,我们可以根据上述关系式得到另一个受控系统S2,其时间尺度为p2,控制器为U2,从而实现了对自抗扰控制器的参数整定。

3.遗传算法优化法

遗传算法作为一种随机的全局并行最优搜索算法,主要模拟了遗传选择和生物进化论的模型[60]。对于经验试凑法整定ADRC参数,局限性较强,它需要多年的经验累积,在调节过程中费时费力,且最终的参数调整结果并不是最优的。因而,结合遗传算法这种智能优化算法,可以使得ADRC参数得到进一步优化,能够更准确地确定使系统性能最优时的参数取值。它的基本思想就是先将待优化的参数进行编码,生成由编码后的个体所组成的初始种群,利用选择、交叉和变异三种算子,不断地进行迭代优化,直到达到目标效果。围绕该基本思想,对自抗扰控制器中ESO的三个参数β01、β02和β03进行优化。

1)设定初始种群

在确定初始种群之前,首先要对待优化的参数进行编码,也就是将其转变到遗传算法能处理的搜索空间内,在编码之前,要估算被优化参数的取值范围,这样可以减小计算量,为参数的优化指明路径,减少参数优化所需时间。结合之前的经验试凑法,这里确定了ESO三个参数β01、β02和β03的初始范围,分别为[80,230]、[5 000,12 000]、[80 000,170 000],根据随机生成函数,在该范围内得到了初始参数,再用最常用的二进制编码方式对其进行编码,使得每个参数都表示成具有固定位长的字符串的个体,这些个体就成为初始种群,能够被遗传算法直接使用。

2)确定适应度函数

对于遗传算法而言,首先对每个个体进行生存能力的评估,之后再进行遗传算法的基本操作,而不用搜索整个空间的知识。适应度函数作为个体评估标准,反映着个体的生存能力与适应性,它的选取与目标函数直接相关。由于参数优化的目的就是得到较好的ESO参数,使得对扰动估计能力更强,因而选择了一种基于误差的积分型性能指标:

由于要对每个负重轮都要设计一个自抗扰控制器,那么性能指标中包含了每个控制器中ESO扰动估计值与实际扰动值。式(3.45)中,zi为第i个ADRC中ESO的扰动估计,ffi为其所受的实际扰动总和,其可根据系统模型得知。

进一步,定义适应度函数:

直接对适应度函数进行参数优化,当其达到最大值,即使性能指标最低时所对应的参数就是ADRC控制器的参数优化结果。

3)遗传操作

遗传操作分为选择、交叉以及变异,分别对应三种不同的遗传算子。选择操作就是对种群优胜劣汰的选择。这种选择和适应度高低有直接关系,适应度越高,个体就有更大的可能被选择生存下来,反之则可能性较小。这里我们选取最常用的比例选择算子。如果存在第一个大小为M的群体,那么适应度为Fi的个体i被挑选而遗传下来的可能性为

交叉操作指的是独立的染色体之间通过一些途径进行相互配对,通过对局部的基因进行互换来生成新的个体。交叉操作在整个算法过程中具有关键作用,作为主要特点与其他的进化方法进行区分。这里我们采用的是单点交叉法进行交叉操作,也就是在整个群体里随机地挑选出两个个体,并在它们的染色体编码串中随机地找一点作为交叉点,最后在这一点以概率Pc对它们的某一部分染色体进行编码交换。通常根据经验取Pc的范围为0.4~0.99,这里选取交叉概率Pc=0.9。

变异操作是指用其他的等位基因来代替个体中某部位染色体基因座上的基因值来形成新的个体。这里假设变异操作的概率为Pm,通常取Pm的范围为0.000 1~0.1。

遗传优化算法的具体实现流程如图3.3所示。

图3.3 遗传算法优化流程

利用遗传算法对ESO的三个参数进行了优化,所获得的优化值被用作初始参考值,为下面带宽法调整ESO参数的引出做基础。通过五次仿真优化,得到性能指标优化曲线,如图3.4所示。

图3.4 性能指标优化曲线

对五次优化结果求和再取平均值,得到ESO的三个参数:

带宽法

高志强老师将非线性扩张状态观测器改为线性扩张状态观测器(LESO),又将非线性误差反馈控制律改为线性PD组合控制,也就将控制器转变为线性自抗扰控制(LADRC)[56]。在此基础上,他研究出了利用带宽法对ESO和反馈控制律进行参数调节的方法,假设扩张状态观测器带宽为wo、控制器带宽为wc,那么就可得到常见的二阶系统的ESO参数和线性控制律参数:

李杰博士通过多次试验仿真验证,同样得到了非线性扩张状态观测器的近似带宽法调参公式[61]:β1=3wo,β2=3wo2/5,β3=wo3/9,其中β2的分母取值范围可以是3~5,β3的分母取值范围可以是7~12。