2. 昆明理工大学 信息工程与自动化学院, 昆明 650500
2. Faculty of Information Engineering and Automation, Kunming University of Science and Technology, Kunming 650500, China
模型预测控制[1-2](model predictive control,MPC),又称为滚动时域控制(moving horizon control,MHC)或后退时域控制(receding horizon control,RHC),是近年来被广泛讨论的一种控制策略,它是一种基于预测模型的闭环优化控制策略,通常采用在线反复优化计算并滚动实施控制作用和模型误差反馈校正[3], 并具有控制效果好、鲁棒性强,对模型精确性要求不高的优点[4]。因此在石油、化工、冶金、机械等工业过程控制领域具有广泛的应用前景[5-6],特别地,模型预测控制在汽车行业有着较为广泛的运用[7-8]。针对以上各个行业的应用,以一类工业生产过程中实时跟踪问题,并将其这类问题具体化后,以地面导弹跟踪目标飞行器为研究背景,提出了一套基于跟踪误差的增量式模型预测控制算法。
模型预测控制最为常见的有模型算法控制(model algorithmic control,MAC)[9]和动态矩阵控制(dynamic matrix control,DMC)[10-11]。通常对于MAC采用脉冲响应模型进行研究,而对于DMC则采用阶跃响应模型进行研究,二者均为非参数模型预测控制,且都是在时域内由系统输出误差的平方和以及输入控制信号增量的平方和的加权系数构成优化性能指标函数。这类算法的特点是:采用增量式预测模型,选择适当的加权系数以及预测时域来保证闭环系统的稳定性,并在性能指标函数中对输入信号增量进行加权来消除系统的稳态误差。但是,传统的非参数模型预测控制研究是建立在较低阶的线性近似模型基础之上,而对于具有非线性、高阶次和强干扰的复杂工业对象,这种方法则很难达到令人满意的控制效果。为此,有学者提出把原有的模型算法控制中在指标函数中引入微分项,用以获得更好的动态性能[12-13];还有学者提出同时对模型算法控制和动态矩阵控制进行改进,用以减小内模截断误差,获得更好的动态性能[14-17],也有学者提出在模型预测控制中,引入动态输出反馈,用来辅助优化[18]等。
显然,目前的研究,都是建立在脉冲响应模型和阶跃响应模型之上,即都采用了输出模型与预测模型的误差信号的增量式的模型预测控制,用以改善控制系统的动态性能,但是对于一类工业生产过程中实时跟踪问题,例如地面导弹跟踪目标飞行器等这类问题,原有的模型预测算法或者改进算法就无法满足系统的动态性能要求。汪纪锋老师提出了在DMC优化性能指标函数中的跟踪误差项,在指标函数中引入跟踪误差的微分项,可以使得对象动态响应更加平稳,闭环系统的鲁棒性更强[12]。于此,在分析DMC基础上,针对工业生产过程中实时跟踪问题,笔者提出了一种基于跟踪误差的增量式模型预测控制(error Incremental model predictive control,EI-MPC)算法,将它应用到地面导弹跟踪目标飞行器系统中,它采用速度信号作为预测模型,以使得被控对象在匀加速过程中,更好的满足动态性能,且闭环鲁棒性更好;同时在建立预测模型之后,笔者利用滚动优化方法优化性能指标,且在速度信号预测模型中,采用跟踪误差增量的加权平均值,用以更好的消除稳态误差,满足系统的稳态性能。通过理论推导和计算机仿真结果表明该算法具有更好的控制品质。
1 跟踪误差的增量式模型预测控制算法 1.1 预测模型地面导弹跟踪目标飞行器系统中,若令ai(i=1, 2, …, N)为被控对象的速度响应采样的纵坐标值,且有
根据线性系统的比例和叠加性质,利用速度响应预测模型和给定的输入控制增量,可以预测系统未来时刻的输出值。其中, 控制输入X和Y为计算机在kT时刻的对输入信号模型采样的横坐标值和纵坐标值,控制输入增量ΔX与ΔY为计算机在kT时刻和(k-1)T时刻对输入信号模型的横坐标增量值与纵坐标增量值,输入信号模型即为以上所述的被控对象的速度响应的非参数预测模型。确定在K时刻起的m个时刻控制增量是:[Δx(k),Δy(k)],[Δx(k+1),Δy(k+1)],…,[Δx(k+M-1),Δy(k+M-1)],若在k时刻加一控制增量[Δx(k),Δy(k)],则系统在未来N个时刻的模型输出值为
$ {\mathit{\boldsymbol{y}}_{pm\left( {k + i/k} \right)}} = {\mathit{\boldsymbol{y}}_{po\left( {k + i/k} \right)}} + {a_i}\sqrt {\Delta \mathit{\boldsymbol{x}}_{\left( k \right)}^2 + \Delta \mathit{\boldsymbol{y}}_{\left( k \right)}^2}, $ | (1) |
式(1)中,ypm(k+i/k)(i=1, 2, …, N)是未来N个时刻模型输出的预测值,ypo(k+i/k)(i=1, 2, …, N)是k时刻无控制增量时,N个未来时刻输出的初始值,即零输入响应,
$ {\mathit{\boldsymbol{y}}_{pm\left( {k + i/k} \right)}} = {\mathit{\boldsymbol{y}}_{po\left( {k + i/k} \right)}} + \sum\limits_{j = 1}^M {{a_{i - j + 1}}\sqrt {\Delta \mathit{\boldsymbol{x}}_{\left( {k + j - 1} \right)}^2 + \Delta \mathit{\boldsymbol{y}}_{\left( {k + j - 1} \right)}^2} }, $ | (2) |
式中Δx(k+j-1)=x(k+j-1)-x(k+j-2),Δy(k+j-1)=y(k+j-1)-y(k+j-2)。式(1)也可写成向量形式
$ {\mathit{\boldsymbol{y}}_{pm\left( k \right)}} = {\mathit{\boldsymbol{y}}_{po\left( k \right)}} + \mathit{\boldsymbol{A}}\sqrt {\Delta \mathit{\boldsymbol{x}}_{\left( k \right)}^2 + \Delta \mathit{\boldsymbol{y}}_{\left( k \right)}^2}, $ | (3) |
其中:矩阵A为速度随动矩阵,里面的元素是描述系统动态特性的速度响应系数;M为控制时域长度;P为优化时域长度,且M≤P≤N。式中:ypm(k)=[ypm(k+1/k),ypm(k+2/k), …, ypm(k+P/k)]T,ypo(k)=[ypo(k+1/k),ypo(k+2/k), …, ypo(k+P/k)]T和
$ \mathit{\boldsymbol{A}} = {\left[{\begin{array}{*{20}{c}} {{a_1}}&0& \cdots&\cdots &0\\ {{a_2}}&{{a_1}}& \cdots&\cdots &0\\ \vdots&\vdots&\ddots&\vdots&\vdots \\ {{a_M}}&{{a_{M-1}}}& \cdots&\cdots &{{a_1}}\\ \vdots&\vdots&\vdots&\vdots&\vdots \\ {{a_P}}&{{a_{P-1}}}& \cdots&\cdots &{{a_{P-M + 1}}} \end{array}} \right]_{P \times M}}, $ |
式(3)中,跟踪误差的增量式模型预测控制算法的预测模型由两部分组成:第一部分为系统在k时刻的输入值,即系统的自由项零输入响应;第二部分为系统在k时刻加入输入控制增量的加权平均值,即零状态响应。
1.2 滚动优化为使预测模型和实际期望输出模型误差达到最小值,设每一时刻k开始的M个控制增量为[Δx(k), Δy(k)], [Δx(k+1), Δy(k+1)], …, [Δx(k+M-1), Δy(k+M-1)],在其控制的作用下,未来P个时刻的输出预测值ypm(k+1/k), ypm(k+2/k), …, ypm(k+P/k)接近实际期望输出值yr(k+1), yr(k+2), …, yr(k+P)的跟踪误差增量式模型预测控制二次型优化性能指标为
$ \begin{array}{*{20}{c}} {\mathit{\boldsymbol{J}}\left( k \right) = \sum\limits_{i = 1}^P {{q_i}{{\left[{{\mathit{\boldsymbol{y}}_{r\left( {k + i} \right)}}-{\mathit{\boldsymbol{y}}_{pm\left( {k + i/k} \right)}}} \right]}^2}} + }\\ {\sum\limits_{j = 1}^M {{r_j}{{\left[{\sqrt {\Delta \mathit{\boldsymbol{x}}_{\left( {k + j-1} \right)}^2 + \Delta \mathit{\boldsymbol{y}}_{\left( {k + j-1} \right)}^2} } \right]}^2}}, } \end{array} $ | (4) |
其中,[yr(k+i)-ypm(k+i/k)]为k+i时刻的系统跟踪误差。qi, rj(i=1, 2, …P; j=1, 2, …, M)分别叫做误差权系数和控制权系数,是对速度控制增量的软约束,其目的是抑制控制量的变化过于激烈。式(4)记为向量形式如下
$ \mathit{\boldsymbol{J}}\left( k \right) = \left\| {{\mathit{\boldsymbol{y}}_{r\left( k \right)}} - {\mathit{\boldsymbol{y}}_{pm\left( k \right)}}} \right\|_Q^2 + \left\| {\sqrt {\Delta \mathit{\boldsymbol{x}}_{\left( k \right)}^2 + \Delta \mathit{\boldsymbol{y}}_{\left( k \right)}^2} } \right\|_R^2, $ | (5) |
式中:yr(k)=[yr(k+1), yr(k+2), …, yr(k+P)]T,为未来P个时刻期望输出向量;Q=diag(q1, q2, …, qp)和R=diag(r1, r2, …, rM)分别叫做误差权矩阵和控制权矩阵。将预测模型式(3)代入优化性能指标式(5)可以得到
$ \begin{array}{*{20}{c}} {\mathit{\boldsymbol{J}}\left( k \right) = \left\| {{\mathit{\boldsymbol{y}}_{r\left( k \right)}} - {\mathit{\boldsymbol{y}}_{po\left( k \right)}} - \mathit{\boldsymbol{A}}\sqrt {\Delta \mathit{\boldsymbol{x}}_{\left( k \right)}^2 + \Delta \mathit{\boldsymbol{y}}_{\left( k \right)}^2} } \right\|_Q^2 + }\\ {\left\| {\sqrt {\Delta \mathit{\boldsymbol{x}}_{\left( k \right)}^2 + \Delta \mathit{\boldsymbol{y}}_{\left( k \right)}^2} } \right\|_R^2, } \end{array} $ | (6) |
根据
$ \begin{array}{*{20}{c}} {\frac{{{\rm{d}}\mathit{\boldsymbol{J}}\left( k \right)}}{{{\rm{d}}\sqrt {\Delta \mathit{\boldsymbol{x}}_{\left( k \right)}^2 + \Delta \mathit{\boldsymbol{y}}_{\left( k \right)}^2} }} = - 2{\mathit{\boldsymbol{A}}^{\rm{T}}}\mathit{\boldsymbol{Q}}\left[{{\mathit{\boldsymbol{y}}_{r\left( k \right)}}-{\mathit{\boldsymbol{y}}_{po\left( k \right)}}-} \right.}\\ {\left. {\mathit{\boldsymbol{A}}\sqrt {\Delta \mathit{\boldsymbol{x}}_{\left( k \right)}^2 + \Delta \mathit{\boldsymbol{y}}_{\left( k \right)}^2} } \right] + 2\mathit{\boldsymbol{R}}\sqrt {\Delta \mathit{\boldsymbol{x}}_{\left( k \right)}^2 + \Delta \mathit{\boldsymbol{y}}_{\left( k \right)}^2}, } \end{array} $ | (7) |
上式代入极值条件
$ \begin{array}{*{20}{c}} {\Delta \mathit{\boldsymbol{u}}\left( k \right) = \sqrt {\Delta \mathit{\boldsymbol{x}}_{\left( k \right)}^2 + \Delta \mathit{\boldsymbol{y}}_{\left( k \right)}^2} = {{\left( {{\mathit{\boldsymbol{A}}^{\rm{T}}}\mathit{\boldsymbol{QA}} + \mathit{\boldsymbol{R}}} \right)}^{ - 1}} \cdot }\\ {{\mathit{\boldsymbol{A}}^{\rm{T}}}\mathit{\boldsymbol{Q}}\left[{{\mathit{\boldsymbol{y}}_{r\left( k \right)}}-{\mathit{\boldsymbol{y}}_{po\left( k \right)}}} \right], } \end{array} $ | (8) |
由于在k时刻,yr(k), ypo(k)均为已知,上式给出了k时刻起跟踪误差的增量式预测控制算法的控制律
$ \begin{array}{*{20}{c}} {\Delta \mathit{\boldsymbol{u}}\left( k \right) = \sqrt {\Delta \mathit{\boldsymbol{x}}_{\left( k \right)}^2 + \Delta \mathit{\boldsymbol{y}}_{\left( k \right)}^2} = \left( {1, 0, 0, \cdots, 0} \right) \cdot }\\ {{{\left( {{\mathit{\boldsymbol{A}}^{\rm{T}}}\mathit{\boldsymbol{QA}} + \mathit{\boldsymbol{R}}} \right)}^{ - 1}}{\mathit{\boldsymbol{A}}^{\rm{T}}}\mathit{\boldsymbol{Q}}\left[{{\mathit{\boldsymbol{y}}_{r\left( k \right)}}-{\mathit{\boldsymbol{y}}_{po\left( k \right)}}} \right], } \end{array} $ | (9) |
在上式中令CT=(1, 0, 0, …, 0), dT=CT(ATQA+R)-1ATQ[yr(k)-ypo(k)]=[d1, d2, …, dp]为本算法控制参数向量,在上式中,Q, R, M和P可以确定,那么dT可以离线计算出来,这样使得
但上式在k时刻起,并不是把所有的从该时刻起的M个控制增量当作实现的最优解,而只是取其中的及时控制增量
$ {\mathit{\boldsymbol{y}}_{po\left( k \right)}} = \mathit{\boldsymbol{S}}\left[{{\mathit{\boldsymbol{y}}_{pm\left( k \right)}} + \mathit{\boldsymbol{H}}{\mathit{\boldsymbol{e}}_{\left( {k + i} \right)}}} \right], $ | (10) |
其中S为转移矩阵,
$ \mathit{\boldsymbol{S}} = {\left[{\begin{array}{*{20}{c}} 0&1&{}&{}&0\\ {}&0&1&{}&{}\\ {}&{}& \ddots&\ddots &{}\\ {}&{}&{}&0&1\\ 0&{}&{}&{}&1 \end{array}} \right]_{P \times P}}, $ |
ypm(k)是k时刻起经过该时刻控制增量
为了说明笔者提出的本算法具有更好的控制性能和跟踪性能,现将下述被控对象应用两种算法分别进行仿真比较。
工业生产过程中实时跟踪问题,导弹跟踪目标飞行器的控制具有稳定性、准确性以及快速性的要求,要求系统跟踪性能好,抗干扰性强等,则被控对象的差分方程为
$ {\mathit{\boldsymbol{y}}_{\left( k \right)}} + 10{\mathit{\boldsymbol{y}}_{\left( {k - 1} \right)}} + 40{\mathit{\boldsymbol{y}}_{\left( {k - 2} \right)}} = 20{\mathit{\boldsymbol{u}}_{\left( k \right)}}, $ | (11) |
为了便于分析算法的控制性能,选取建模时域N=20,由被控对象的速度响应的动态性能,取优化时域P=10,控制时域M=6,为了建模的精确性,在本算法仿真中,选取采样时间间隔为T=0.1 s。因为被控对象无延时和非最小相位的特性,故在上式推导的矩阵按一般原则取:误差权矩阵Q=IP×P, 控制权矩阵R=0.2IM×M,校正向量H=[1, 1, 1, …, 1]T, 设系统的初始输入输出为零,在k时刻输入设定的阶跃信号和速度信号,分别对两种信号使用不同的算法进行仿真,系统的响应曲线如图所示,图 2为被控对象阶跃响应曲线图,其中实线为EI-MPC算法对应的阶跃响应,虚线为改进的DMC算法的阶跃响应,可以看出,笔者提出的EI-MPC算法具有上升时间短,超调量小,过渡过程时间短,具有更好的动态性能;图 4为被控对象速度响应曲线图,其中实线为EI-MPC算法的速度响应,虚线为改进的DMC算法的速度响应,从图中可以得出,笔者提出的EI-MPC算法具有快速且稳定的跟随性能,并且可以使系统的稳态误差趋近于零,抗干扰性能更强,具有更高的稳态性能,且闭环系统的鲁棒性跟强;图 3为EI-MPC算法阶跃响应采样控制信号;图 5为EI-MPC算法速度响应采样控制信号。
预测控制由于控制性能好、鲁棒性强等优点而具有广阔的应用前景。笔者提出的一种基于跟踪误差的增量式模型预测控制新算法,将其使用在工业生产过程中的实时跟踪系统,使系统的输出能够更好地跟踪期望输出。通过对新算法的理论推导,以及仿真结果表明,只要适当的选取各时域的参数和权矩阵,该算法具有更快的动态特性响应速度,过渡过程时间短,响应过程也更加平稳,同时也保证了系统的稳态性能,该算法改善了系统的动态性能,加强了系统的鲁棒性。
[1] |
席裕庚, 李德伟, 林妹.
模型预测控制-现状与挑战[J]. 自动化学报, 2013, 39(3): 222–236.
XI Yugeng, LI Dewei, LIN Mei. Model predictive control-status and challenges[J]. Acta Automatica Sinica, 2013, 39(3): 222–236. (in Chinese) |
[2] | Minh V T, Hashim F B M. Tracking setpoint robust model predictive control for input saturated and softened state constraints[J]. International Journal of Control, Automation and Systems, 2011, 9(5): 958–965. DOI:10.1007/s12555-011-0517-4 |
[3] | 李国勇. 智能预测控制及其MATLAB实现[M]. 2版. 北京: 电子工业出版社, 2010. |
[4] | 王树青, 等. 先进控制技术及应用[M]. 北京: 化学工业出版社, 2001. |
[5] | Richalet J, Rautl A, Testud J L, et al. Model predictive heuristic control:application to industrial processed[J]. Automatica, 1978, 14(5): 413–428. DOI:10.1016/0005-1098(78)90001-8 |
[6] | Cutler C R, Ramakar B L. Dynamic matrix control-a computer control algorithm[C]//Proceedings of 1980 Joint Automatic Conference. 会议时间及地点未查到. |
[7] |
舒红, 蒋勇, 高银平.
中度混合动力汽车模型预测控制策略[J]. 重庆大学学报, 2010, 33(1): 36–41.
SU Hong, JIANG Yong, Gao Yinping. Model Predictive predictive Control control Strategy strategy of a Medium medium Hybrid hybrid Electric electric vehicle[J]. Journal of Chongqing University, 2010, 33(1): 36–41. (in Chinese) |
[8] |
舒红, 聂天雄, 邓丽君, 等.
插电式并联混合动力汽车模型预测控制[J]. 重庆大学学报, 2011, 34(5): 36–41.
SU Hong, NIE Tianxiong, DENG Lijun, et al. Model predictive control for a plyg-in hybrid electric vehicle[J]. Journal of Chongqing University, 2011, 34(5): 36–41. DOI:10.11835/j.issn.1000-582X.2011.05.007 (in Chinese) |
[9] |
席裕庚, 李德伟.
预测控制定性综合理论的基本思路和研究现状[J]. 自动化学报, 2008, 34(10): 1226–1234.
XI Yugeng, LI Dewei. Fundamental philos-ophy and status of qualitative synthesis of model predictive control[J]. Acta Automat-ica Sinica, 2008, 34(10): 1226–1234. (in Chinese) |
[10] | Qin S J, Badgwell T A. A survey of industrial model predictive control technology[J]. Control Engineering Practice, 2003, 11(7): 733–764. DOI:10.1016/S0967-0661(02)00186-7 |
[11] | Eshaghi S, Kharrati H, Badamchizadeh M A, et al. A predictive controller based on dynamic matrix control for a non-minimum phase robot manipulator[J]. International Journal of Control, Automation, and Systems, 2012, 10(3): 574–581. DOI:10.1007/s12555-012-0314-8 |
[12] |
汪纪锋, 罗远桥.
一种基于跟踪误差变化率的动态矩阵控制算法[J]. 重庆大学学报, 2005, 28(6): 71–74.
WANG Jifeng, LUO Yuanqiao. Predictive control algorithm based on the track error rate[J]. Journal of Chongqing University, 2005, 28(6): 71–74. (in Chinese) |
[13] |
王剑.
一种改进的模型算法控制[J]. 控制与决策, 2000, 15(2): 245–247.
WANG Jian. An improved model algorithmic control[J]. Control and Decision, 2000, 15(2): 245–247. (in Chinese) |
[14] |
郭伟, 姚少杰.
基于时域的PID动态矩阵控制算法改进[J]. 仪器仪表学报, 2007, 28(12): 2174–2178.
GUO Wei, YAO Shaojie. Improved PID dynamic matrix control algorithm based on time domain[J]. Chinese Journal of Scientific Instrument, 2007, 28(12): 2174–2178. DOI:10.3321/j.issn:0254-3087.2007.12.012 (in Chinese) |
[15] | 温敬红. 基于时域的分阶数PID动态矩阵控制算法研究及其应用[D]. 南京: 南京信息工程大学硕士位论文, 2011. |
[16] |
李嗣福.
MAC和DMC的算法改进[J]. 自动化学报, 1993, 19(4): 414–419.
LI Sifu. Improvement algorithms of MAC and DMC[J]. Acta Automatica Sinica, 1993, 19(4): 414–419. (in Chinese) |
[17] |
李玉红, 刘红军, 等.
一种新型的动态矩阵控制算法及仿真研究[J]. 计算机仿真, 2005, 22(2): 103–109.
LI Yuhong, LIU Hongjun, et al. A new dynamic matrix control algorithm[J]. Computer simul-ation, 2005, 22(2): 103–109. (in Chinese) |
[18] |
平续斌, 丁宝苍, 韩崇昭.
动态输出反馈鲁棒模型预测控制[J]. 自动化学报, 2012, 38(1): 31–37.
PING Xubin, DING Baocang, HAN Chong zhao. Dynamic output feedback robust model predictive control[J]. Acta Automatica Sinica, 2012, 38(1): 31–37. (in Chinese) |