2. 天津市智能机器人重点实验室, 天津 300350
2. Key Lab of Intelligent Robotics of Tianjin, Tianjin 300350, China
自抗扰控制(active disturbance rejection control,ADRC)是韩京清老师提出来的一种先进控制算法。其核心思想是将系统的外部扰动以及内部未建模动态合在一起看成总扰动,然后对总扰动进行实时估计和补偿[1-2]。自抗扰控制既可以有效的抑制扰动的影响,又可以减弱算法对模型的依赖,有很强的鲁棒性[3-5]。
广义预测控制(generalized predictive control,GPC)是1987年Clarke等提出来一种先进控制算法。它以受控自回归积分滑动平均模型(CARIMA)为预测模型,对开环不稳定、带输入输出约束、非最小相位的系统或大时滞过程有很好的控制效果[6-7]。但GPC算法对被控对象精确的数学模型有较强的依赖性,且对模型参数较敏感,在线计算量大,限制了其应用范围。
本文将ADRC算法与GPC算法结合在一起,提出了一种改进的GPC算法。与传统的GPC算法相比,改进的算法可以离线求得丢番图方程的通解,且无需辨识被控对象的参数,因此算法在线计算量大大减少。针对一阶线性定常系统,推导了其闭环反馈结构,给出了闭环系统稳定的条件。然后利用离散域的开环传递函数频率特性,分析算法中各参数的变化对算法性能的影响,获得了控制器参数调整的原则与规律,并通过仿真验证了本文算法相对于β-GPC算法的优越性。
1 自抗扰广义预测控制算法的设计 1.1 自抗扰广义预测控制的结构图ADRC-GPC的结构图如图 1所示。ADRC-GPC算法由三个部分组成:扩张状态观测器(extended state observer, ESO)、动态补偿以及广义预测控制器。首先该算法将被控对象不同于串联积分型的部分看成总扰动,并引入ESO对总扰动进行实时估计,利用动态补偿部分对总扰动进行反馈补偿,从而将图 1虚线框内的部分简化成标准的串联积分器的形式,针对其设计广义预测控制器u,以达到系统控制目标。从结构图中可以看出,只需要知道系统的阶数n以及对总扰动的估计信息zn+1, 就可以完成ADRC-GPC控制器设计。
![]() |
Download:
|
图 1 ADRC-GPC的结构图 Fig. 1 The control structure of the ADRC-GPC algorithms |
考虑如式(1)所示的一阶控制系统:
$ \dot y = g\left( {y, \dot y, t} \right) + w + b\tilde u $ | (1) |
式中:
对于系统(1),在估计和补偿总扰动后,原系统可被简化成一阶积分器的形式[1]:
$ {{\dot x}_1} = u $ | (2) |
因此,在ADRC-GPC算法中,GPC是针对式(2)所示的积分器串联型系统施加控制作用,其从输入u(k)到输出y(k)之间的脉冲传递函数的CARIMA模型表达式为
$ A({z^{ - 1}})y\left( k \right) = B({z^{ - 1}})u\left( {k - 1} \right) + \zeta \left( k \right)/\Delta $ | (3) |
式中:Δ=1-z-1表示差分算子;ζ(k)是扰动信号,z-1表示后移算子;A(z-1)、B(z-1)是后移算子z-1的多项式:
$ \left\{ \begin{array}{l} A({z^{ - 1}}) = 1 + {a_1}{z^{ - 1}} + \cdots + {a_{{n_a}}}{z^{ - n}}\\ B({z^{ - 1}}) = {b_0} + {b_1}{z^{ - 1}} + \cdots + {b_{{n_b}}}{z^{ - n}} \end{array} \right. $ | (4) |
简化后的系统(2)传递函数为
$ {G_0}\left( s \right) = \frac{1}{s} $ | (5) |
采用零阶保持器可以得到式(5)的脉冲传递函数:
$ {G_0}({z^{ - 1}}) = (1 - {z^{ - 1}}){\rm Z}\left[ {\frac{{{G_0}\left( s \right)}}{s}} \right] = {z^{ - 1}}\frac{T}{{1 - {z^{ - 1}}}} $ | (6) |
忽略扰动信号,将式(3)写成:
$ y\left( k \right) = {G_0}({z^{ - 1}})u\left( k \right) $ | (7) |
其中传递函数G0(z-1)可以表示为
$ {G_0}({z^{ - 1}}) = {z^{ - 1}}\frac{{B({z^{ - 1}})}}{{A({z^{ - 1}})}} $ | (8) |
将式(6)和式(8)相对应,可以得到
$ A({z^{ - 1}}) = 1 - {z^{ - 1}}, B({z^{ - 1}}) = T $ | (9) |
考虑丢番图方程:
$ \left\{ \begin{array}{l} 1 = {E_j}({z^{ - 1}})A({z^{ - 1}})\Delta + {z^{ - j}}{F_j}({z^{ - 1}})\\ {E_j}({z^{ - 1}})B({z^{ - 1}}) = {G_j}({z^{ - 1}}) + {z^{ - j}}{H_j}({z^{ - 1}}) \end{array} \right. $ | (10) |
将式(9)代入式(10)可以得到一阶系统丢番图方程的通解:
$ \begin{array}{l} {e_j} = j, \;\;f_1^j = j + 1, \;\;f_2^j = - j\\ \;\;\;\;{g_j} = jT, \;\;\;{H_j}({z^{ - 1}}) = 0 \end{array} $ | (11) |
广义预测控制有如下性能指标函数:
$ \begin{array}{l} J = \sum\limits_{j = 1}^N {{{\left( {y\left( {k + j} \right) - w\left( {k + j} \right)} \right)}^2} + } \\ \;\;\;\;\;\;\;\sum\limits_{j = 1}^{{N_u}} {\lambda {{(\Delta u\left( {k + j - 1} \right))}^2}} \end{array} $ | (12) |
式中:Δu(k+j)=0, j表示在Nu步后控制量不再变化,N表示预测时域,Nu表示控制时域;‘λ(λ>0)表示控制加权因子。为了使得输出y(k)可以平稳的到达设定值yr(k),设定值的柔化序列w(k+j)表示为
$ \begin{array}{l} \mathit{\boldsymbol{W}} = {\left[ {w\left( {k + 1} \right), \cdots , w\left( {k + N} \right)} \right]^{\rm{T}}} = \\ \;\;\;\;\;\;\;\;{\mathit{\boldsymbol{F}}_\alpha }y\left( k \right) + {{\mathit{\boldsymbol{\bar F}}}_\alpha }{y_r}\left( k \right) \end{array} $ | (13) |
式中:α(0≤α < 1)称为柔化因子,Fα=[α, α1, …αN]T, Fα=[1-α, 1-α2, …1-αN]T。
根据GPC的原理[6],可以计算出其控制律为
$ \mathit{\boldsymbol{U}} = {({\mathit{\boldsymbol{G}}^{\rm{T}}}\mathit{\boldsymbol{G}} + \lambda \mathit{\boldsymbol{I}})^{ - 1}}{\mathit{\boldsymbol{G}}^{\rm{T}}}\left[ {\mathit{\boldsymbol{W}} - \mathit{\boldsymbol{Fy}}\left( k \right)} \right] $ | (14) |
取U的第一个元素作为Δu(k),则针对式(2)所示的积分器串联型系统所施加的控制律为
$ u\left( k \right) = u\left( {k - 1} \right) + \Delta u\left( k \right) $ | (15) |
根据式(13)和式(14)可得:
$ T({z^{ - 1}})\Delta u\left( k \right) = R{y_r}\left( k \right) - S({z^{ - 1}})y\left( k \right) $ | (16) |
式中:T(z-1)=1, R=hTFα, S(z-1)=hT(F-Fα), hT=[1, 0, …0][GTG+λI]-1GT
将式(7)两边同时乘以TΔ并代入式(16)可以得到
$ y\left( k \right) = \frac{{{G_0}({z^{ - 1}})D({z^{ - 1}})}}{{1 + G({z^{ - 1}})H({z^{ - 1}})}}{y_r}\left( k \right) $ | (17) |
式中:
因此GPC算法可以转化成如图 2的形式。
![]() |
Download:
|
图 2 广义预测控制下的闭环控制系统 Fig. 2 Close-loop control system of GPC |
![]() |
Download:
|
图 3 ESO的内模控制结构 Fig. 3 IMC-structure of ESO |
其中ωo为LESO的带宽。
因此,ADRC-GPC下的闭环离散系统的结构图如图 4所示。
![]() |
Download:
|
图 4 自抗扰广义预测控制下的闭环离散控制系统 Fig. 4 Simplified close-loop discrete system of ADRC-GPC |
其中G(s)为图 3所示的ESO内模结构下的闭环传递函数:
$ G\left( s \right) = \frac{{{b_0}{{(s + {\omega _o})}^2}}}{{T{b_0}{s^3} + (2{\omega _o}{b_0}T + 1){s^2} + (2{\omega _o}{b_0} + {\omega _o}^2{b_0})s}} $ | (18) |
根据离散系统的稳定性条件,设
$ \begin{array}{l} \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;G({z^{ - 1}}) = \\ {\rm Z}\left[ {\frac{{1 - {{\rm{e}}^{ - \tau s}}}}{s} \cdot \frac{{{b_0}{{(s + {\omega _o})}^2}}}{{T{b_0}{s^3} + (2{\omega _o}{b_0}T + 1){s^2} + (2{\omega _o}{b_0} + {\omega _o}^2{b_0})s}}} \right] \end{array} $ | (19) |
则闭环系统的特征方程为
$ 1 + G({z^{ - 1}})H({z^{ - 1}}) = 0 $ | (20) |
因此,为分析ADRC-GPC算法的性能,只需考虑
$ G({z^{ - 1}})H({z^{ - 1}}) = \frac{{{z^{ - 1}}B({z^{ - 1}})S({z^{ - 1}})}}{{A({z^{ - 1}})T({z^{ - 1}})\mathit{\Delta }}} $ | (21) |
的频率响应就可以。根据离散系统奈式判据,可得ADRC-GPC的控制下,闭环系统稳定的条件[9]。
定理 设A(z-1)T(z-1)Δ在单位圆外的根的个数为P,被控对象的开环传递函数G(z-1)H(z-1)的奈式曲线逆时针包围(-1,j0)的圈数为R,则离散系统稳定的充要条件是P=R。
3 ADRC-GPC算法的性能分析设有如式(22)所示的一阶系统:
$ {G_0}\left( s \right) = \frac{2}{{2s + 1}} $ | (22) |
式中:采样时间T=0.1, b0=b=1。
由上述分析可知,ADRC-GPC算法的性能主要受到N、ωo、α、λ、Nu五个参数的影响。分别对其进行调整,利用Bode图来观察参数变化对算法的性能的影响。
3.1 观测器带宽ωo对系统性能的影响ωo的值分别取2、5、8、12、15、20、30、40时,取N=10, α=0.2, λ=0.005, Nu=1,开环系统的Bode图如图 5所示。
![]() |
Download:
|
图 5 ωo变化时的Bode图 Fig. 5 Bode diagram when ωo changes |
从图 5中可以看出,当ωo增加时,系统的截止频率和相角裕度几乎不变,而ESO的精度随着ωo的增大而提高。但是ωo越大,系统的输入和输出对噪声就越敏感,因此ωo需要限制在一定范围内,起到滤波的作用,且保证一定的观测精度,从而获得满意的控制效果。
3.2 N改变对系统性能的影响N分别取值为5、8、10、15、20、30、40时,取ωo=10, α=0.2, λ=0.005, Nu=1。开环系统的Bode图曲线如图 6所示,相应的相角裕度和截止频率的值见表 1所示。
![]() |
Download:
|
图 6 N变化时系统的Bode图 Fig. 6 Bode diagram when N changes |
![]() |
表 1 N变化时的相角裕度和截止频率 Tab.1 Crossover frequency and phase margin under different N |
从图 6以及表 1中可以看出,预测时域N的改变会同时改变系统的截止频率和相角裕度。当N取值较小时,截止频率的值相对较大,系统具有较快的响应速度,但是相角裕度较小,系统稳定性会相对较低。当N取较大值的时候,截止频率的值相对较小,系统的响应速度减慢,降低了算法的实时性。但是N的增加提高了系统的相角裕度,改善了系统稳定性。因此,应选择合适的N,使控制系统既具有较快的响应速度,又能达到稳定性的要求。
3.3 Nu改变对系统性能的影响在Nu的值分别取1、3、5、6、7、8、9时,其他可调参数不变,即N=10, ωo=1, λ=0.005, α=0.2。开环系统的Bode图如图 7所示。
![]() |
Download:
|
图 7 Nu变化时的Bode图 Fig. 7 Bode diagram when Nu changes |
在广义预测控制中应满足Nu≤N。从图 7和表 2中可以看出,当Nu>1时,系统的截止频率比Nu=1时的截止频率大,即系统的响应速度比Nu=1时的响应速度快。但是相角裕度与Nu=1时相比下降很多,系统的稳定性降低。表 2中可以看出,对于一阶系统,当Nu=2时,系统的响应速度最快,但是稳定性最差。当Nu>2时,系统的截止频率开始减小,稳定裕度开始上升。在Nu≥0.5 N的时,系统截止频率和相角裕度不会随着Nu的增大而发生改变。从GPC的原理可以看出,Nu的增大会使得G矩阵的维数增加,增大了算法的在线计算量,从而使得算法的实时性降低,因此,在选择Nu时,应该综合考虑。
![]() |
表 2 Nu变化时的频域性能指标 Tab.2 Crossover frequency and phase margin under different Nu |
当λ的取值分别为1、0.5、0.1、0.05、0.01、0.005、0.001、0时, 为更明显看出λ的变化对系统的性能的影响,取N=10, α=0.2, ωo=10, Nu=2,采样周期T=0.1,开环系统的Bode图如图 8所示。
![]() |
Download:
|
图 8 λ变化时的Bode图 Fig. 8 Bode diagram whenλchanges |
λ是用来限制控制增量Δu的剧烈变化,以防止对被控对象造成过大冲击。从图中可以看出,λ对系统的影响效果最明显。λ的减小使得系统的截止频率升高,响应速度加快,但是系统的相角裕度减小,稳定性降低,系统逐渐的开始出现超调,增大λ会使得相角裕度增加,可以实现无超调的控制,但是也会使得控制作用减弱。因此实际选择时λ取值较小。
3.5 柔化因子α的变化对系统性能的影响当α的取值为0、0.1、0.2、0.4、0.5、0.6、0.7、0.9时,取N=10, λ=0.005, ωo=10, Nu=2, 采样周期T=0.1,开环系统的Bode图如图 9所示。
![]() |
Download:
|
图 9 α变化时的Bode图 Fig. 9 Bode diagram when α changes |
α为柔化因子。从图 9可以看出,α的增加降低了系统的截止频率,减缓了系统的响应速度,对系统的动态性能有很大影响。但是却提高了系统的稳定性。因此,在实际进行参数选择时,若确定了预测时域N的值,为了保证闭环系统的稳定性,α应充分接近1。
从上述分析中可知,ADRC-GPC算法与GPC算法的参数调整原则基本一致。其中,N、α、λ是ADRC-GPC算法动态性能的主要影响因素。在实际选取参数时,对于简单系统,N等于系统的上升时间,Nu选为1,而α选取接近于1,就能得到比较满意的控制效果。此时,矩阵G为列向量,算法的在线计算量减少,算法的实时性提高。当控制系统的性能要求较高时,Nu的值应该选的稍微大一些。λ应该从0或者一个很小的数开始缓慢增加,直至获得满意的性能且控制律的变化满足设计要求为止。ωo与ESO的估计性能有关,ωo选择较小,则ESO估计性能不好,过大的话,抑制噪声能力弱,系统对噪声更敏感。因此ωo需要限制在一定范围内,既要保证ESO的估计性能,又能有较好的滤波作用。
3.6 实例验证对于式(23)所示的系统,根据上述分析,设ADRC-GPC算法的参数为:N=5, Nu=1, λ=0, α=0.1, ωo=10, b0=1, T=0.1此时,离散系统的开环传递函数为
$ \begin{array}{l} \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;G({z^{ - 1}})H({z^{ - 1}}) = \\ \frac{{1.241{z^{ - 1}} - 1.89{z^{ - 2}} + 0.8858{z^{ - 3}} - 0.1316{z^{ - 4}}}}{{1 - 2.7{z^{ - 1}} + 2.529{z^{ - 2}} - 0.9574{z^{ - 3}} + 0.1287{z^{ - 4}}}} \end{array} $ | (23) |
离散系统的Nyquist曲线如图 10所示。
![]() |
Download:
|
图 10 一阶系统的奈式曲线 Fig. 10 Nyquist diagram of a first-order linear system |
从图 10可以看出,系统的Nyquist曲线逆时针包围(-1,j0)点的圈数为0,它的开环传递函数没有单位圆外的特征根,由定理可知,离散系统稳定。
为了更好地体现ADRC-GPC算法的性能,将ADRC-GPC算法与β-GPC算法的控制性能进行对比。β-GPC算法是一种改进的GPC算法, 主要通过引入控制增量增益β来提高系统的鲁棒性[10]。两种算法的输出响应如图 11所示。其中,ADRC-GPC算法的参数不变,β-GPC算法的参数为:
![]() |
Download:
|
图 11 两种算法的阶跃响应曲线 Fig. 11 Step response of these two GPC methods |
N=10, Nu=1, λ=0, α=0.1, β=0.36, T=0.1。
从图 11可以看出,与β-GPC算法相比,在其他参数取值相同时,ADRC-GPC算法在较小的预测时域下,就能得到更快的输出响应。在GPC及其改进算法中,预测时域N越大,计算量也就越大,因此ADRC-GPC能在有效减少计算量的情况下,具有更好的动态性能。
4 结论1) 与传统的GPC算法相比,ADRC-GPC算法在线计算量大大减少。
2) 利用频域法对离散-连续型混合控制系统进行分析;针对一阶非线性不确定系统,推导了ADRC-GPC算法的闭环反馈结构,证明了算法的稳定性。
3) 利用Bode图得出了算法的参数调节原则,增强了算法的实用性。
4) 通过和β-GPC的动态性能进行对比,验证了新算法的优越性,为新算法的推广应用提供了基础。
[1] |
韩京清. 自抗扰控制技术-估计补偿不确定因素的控制技术[M]. 北京: 国防工业出版社, 2008: 183-287. HAN Jingqing. Active disturbance rejection control technique:the technique for estimating and compensating the uncertainties[M]. Beijing: National Defense Industry Press, 2008: 183-287. ( ![]() |
[2] |
HAN Jingqing. From PID to active disturbance rejection control[J]. IEEE Transactions on industrial electronics, 2009, 56(3): 900-906. DOI:10.1109/TIE.2008.2011621 ( ![]() |
[3] |
GAO Zhiqiang. Active disturbance rejection control: from an enduring idea to an emerging technology[C]//Proceedings of the 10th International Workshop on Robot Motion and Control. Poznan, Poland, 2015: 269-282. http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=7219747
( ![]() |
[4] |
刘丙善, 吕林, 张仁敏. 柴油机Urea-SCR装置非线性自抗扰控制系统研究[J]. 哈尔滨工程大学学报, 2017, 38(3): 385-391. LIU Bingshan, LYU Lin, ZHANG Renmin. A nonlinear active disturbance rejection control system for the urea-SCR device in a diesel engine[J]. Journal of Harbin Engineering University, 2017, 38(3): 385-391. ( ![]() |
[5] |
王健, 赵又群, 杨君, 等. 避让工况下的路径跟踪线性自抗扰控制[J]. 哈尔滨工程大学学报, 2015, 36(10): 1361-1364, 1403. WANG Jian, ZHAO Youqun, YANG Jun, et al. Design of a linear active disturbance rejection controller for collision free path planning[J]. Journal of Harbin engineering university, 2015, 36(10): 1361-1364, 1403. ( ![]() |
[6] |
CLARKE D W, MOHTADI C, TUFFS P S. Generalized predictive control-Part Ⅰ. The basic algorithm[J]. Automatica, 1987, 23(2): 137-148. DOI:10.1016/0005-1098(87)90087-2 ( ![]() |
[7] |
席裕庚. 预测控制[M]. 2版. 北京: 国防工业出版社, 2013: 1-23. XI Yugeng. Predictive control[M]. 2nd ed. Beijing: National Defense Industry Press, 2013: 1-23. ( ![]() |
[8] |
徐琦, 孙明玮, 陈增强, 等. 内模控制框架下时延系统扩张状态观测器参数整定[J]. 控制理论与应用, 2013, 30(2): 1-5. XU Qi, SUN Mingwei, CHEN Zengqiang, et al. Extended state observer tuning for time-delay systems in the framework of internal model control[J]. Control theory & applications, 2013, 30(2): 1-5. ( ![]() |
[9] |
毛宗星, 陈增强, 孙青林, 等. 基于频域的广义预测控制器(GPC)的稳定性分析[J]. 控制与决策, 2002, 17(6): 859-862. MAO Zongxing, CHEN Zengqiang, SUN Qinglin, et al. Stability analysis of generalized predictive control based upon frequency domain[J]. Control and decision, 2002, 17(6): 859-862. ( ![]() |
[10] |
孙明玮, 陈增强, 袁著祉. β增量型广义预测控制[J]. 控制理论与应用, 2000, 17(2): 165-168, 174. SUN Mingwei, CHEN Zengqiang, YUAN Zhuzhi. β-type incremental generalized predictive control[J]. Control theory and applications, 2000, 17(2): 165-168, 174. ( ![]() |