1、1第三篇 模型预测控制模型预测控制及其及其MATLAB实现实现 2v7.1 动态矩阵控制理论v7.2 广义预测控制理论v7.3 预测控制理论分析第7章 预测控制理论预测控制理论 3模型预测控制(Model Predictive Control:MPC)是20世纪80年代初开始发展起来的一类新型计算机控制算法。该算法直接产生于工业过程控制的实际应用,并在与工业应用的紧密结合中不断完善和成熟。模型预测控制算法由于采用了多步预测、滚动优化和反馈校正等控制策略,因而具有控制效果好、鲁棒性强、对模型精确性要求不高的优点。4 实际中大量的工业生产过程都具有非线性、不确定性和时变的特点,要建立精确的解析模型
2、十分困难,所以经典控制方法如PID控制以及现代控制理论都难以获得良好的控制效果。而模型预测控制具有的优点决定了该方法能够有效地用于复杂工业过程的控制,并且已在石油、化工、冶金、机械等工业部门的过程控制系统中得到了成功的应用。5 目前提出的模型预测控制算法主要有基于非参数模型的模型算法控制(MAC)和动态 矩阵控制(DMC),以及基于参数模型的广义预测控制(GPC)和广义预测极点配置控制 (GPP)等。其中,模型算法控制采用对象的脉冲响应模型,动态矩阵控制采用对象的阶跃响应模型,这两种模型都具有易于获得的优点;广义预测控制和广义预测极点配置控制是预测控制思想与自适应控制的结合,采用CARIMA模
3、型(受控自回归积分滑动平均模型),具有参数数目少并能够在线估计的优点,并且广义预测极点配置控制进一步采用极点配置技术,提高了预测控制系统的闭环稳定性和鲁棒性。67.1 动态矩阵控制理论动态矩阵控制理论 动态矩阵控制是一种基于计算机控制的技术,它是一种增量算法,并基于系统的阶跃响应,它适用于稳定的线性系统,系统的动态特性中具有纯滞后或非最小相位特性都不影响该算法的直接应用。由于它直接以对象的阶跃响应离散系数为模型,从而避免了通常的传递函数或状态空间方程模型参数的辩识,采用多步预估技术从而能有效地解决时延过程问题,按使预估输出与给定值偏差最小的二次性能指标实施控制,因此是一种最优控制技术,动态矩阵
4、控制算法的控制结构主要由预测模型、滚动优化和误差校正及闭环控制形式构成。7图7-1 单位阶跃响应曲线 7.1.1 预测模型预测模型 从被控对象的阶跃响应出发,对象动态特性用一系列动态系数 即单位阶跃响应在采样时刻的值来描述,p称为模型时域长度,ap是足够接近稳态值的系数。paaa,218根据线性系统的比例和叠加性质(系数不变原理),若在某个时刻k-i(k=i)输入u(k-i),则 对输出y(k)的贡献为:(7-1)若在所有 时刻同时有输入,则跟据叠加原理有 (7-2)利用上式容易得到y(k+j的 n步预估(np)为:(7-3)(ikupiikuapiikuakypi)(1)()(),2,1(k
5、iik)()()(11pkuaikuakyppii)()()(11pjkuaijkuajkyppii),2,1(nj9 由于只有过去的控制输入是已知的,因此在利用动态模型作预估时有必要把过去的输入对未来的输出贡献分离出来,上式可写为 (7-4)上式右端的后二项即为过去输入对输出n步预估,记为 (7-5)将式(3-4)写成矩阵形式 (7-6)()()()(111pjkuaijkuaijkuajkyppjiijii),2,1(nj)()()(110pjkuaijkuajkyppjii),2,1(nj)()2()1()1()1()()()2()1(00011121nkykykynkukukuaaaa
6、aankykykynn10 为增加系统的动态稳定性和控制输入的可实现性,以及减少计算量可将 向量减少为m维(m=n=m)个时刻的输出值尽可能接近期望值。为简单起见取控制加权系数 (常数)2112)1()()()(jkujjkwjkyJmjnj)(j13若令 则式(7-9)可表示为 (7-10)式中 w(k+j)称为期望输出序列值,在预测控制这类算法中,要求闭环响应沿着一条指定的、平滑的曲线到达新的稳定值,以提高系统的鲁棒性.一般取 其中 为柔化系数 ;y(k)为系统实测输出值;yr 为系统的给定值。TnkwkwkwW)(,),2(),1(UUWYWYJTT)()(rjjyakyajkw)1()
7、()(),2,1(nj1014用Y的最优预测值 代替Y,即将式(3-8)代入式(3-10)中并令 得 (7-11)式(7-11)与实际检测值无关,是算法的开环控制形式。由于模型误差,弱非线性特性等影响,开环控制式(7-11),不能紧密跟踪期望值,若等到经过m个时刻后,再重复式(7-11),必然造成较大的偏差,更不能抑制系统受到的扰动。故必须采用闭环控制算式,即仅将计算出来的m个控制增量的第一个值付诸实施,即现时的控制增量为 (7-12)式中 ;Y0UJ)()(01YWAIAAUTT)()()()(001YWdYWAIAAckuTTTT001TcTTTTAIAAcd1)(15 如果A,都已确定,
8、d 可事先离线解出,在线计算u(k)只需完成两个矢量的点积即可。可见,预测控制的控制策略是在实施了u(k)之后,采集k+1时刻的输出数据,进行新的预测、校正、优化,从而避免在等待m拍控制输入完毕期间,由于干扰等影响造成失控。因此优化过程不是一次离线进行,而是反复在线进行的,其优化目标也是随时间推移的,即在每一时刻都提出一个立足于该时刻的局部优化目标,而不是采用不变的全局优化目标。167.1.3 误差校正误差校正 由于每次实施控制,只采用了第一个控制增量u(k),故对未来时刻的输出可用下式预测。(7-13)式中 表示在t=kT时刻预测的有 作用时的未来p个时刻的系统输出;表示在t=kT时刻预测的
9、无 作用时的未来p个时刻的系统输出;为单位阶跃响应在采样时刻的值。0)(ppYkuaYTppkykykyY)(,),2(),1()(kuTppkykykyY)(,),2(),1(0000)(kuTpaaaa,2117 由于对象及环境的不确定性,在k时刻实施控制作用后,在k+1时刻的实际输出y(k+1)与预测的输出 未见得相等,这就需要构成预测误差 并用此误差加权后修正对未来其它时刻的预测即 (7-14)式中 为t=(k+1)T时刻经误差校正后所预测的t=(k+1)T时刻的系统输出;为误差校正矢量,。)()1()1(10kuakyky)1()1()1(kykyke)1(kheYYppTpkyky
10、kyY)(,),2(),1(Tphhhh,2111h18 经校正后的 作为下一时刻的预测初值,由于在t=(k+1)T时刻的预测初值,应预测t=(k+2)T,(k+p+1)T时刻的输出值,故令 (7-15)由式(3-14),式(3-15)得下一时刻的预测初值为 (7-16)这一修正的引入,也使系统成为一个闭环负反馈系统,对提高系统的性能起了很大作用。由此可见,动态矩阵控制是由预测模型,控制器和校正器三部分组成的,模型的功能在于预测未来的输出值,控制器则决定了系统输出的动态特性,而校正器则只有当预测误差存在时才起作用。pY)1,2,1()1()(0piikyiky)1()()()1,2,1()()
11、1()(010kehpkypkypiikehikyikypi197.2 广义预测控制理论广义预测控制理论 十多年来产生了许多自校正器,都成功地用于实际过程,但是对变时延,变阶次与变参数过程,控制效果不好。因此研制具有鲁棒性的自校正器成为人们关注的问题。Richalet等人提出了大范围预测概念,在此基础上,Clarke等人提出了广义预测自校正器,该算法以CARIMA模型为基础,采用了长时段的优化性能指标,结合辨识和自校正机制,具有较强的鲁棒性,模型要求低等特点,并有广泛的适用范围。20 这个算法可克服广义最小方差(需要试凑控制量的加权系数)、极点配置(对阶的不确定性十分敏感)等自适应算法中存在的
12、缺点,近年来,它在国内外控制理论界已引起了广泛的重视,GPC法可看成是迄今所知的自校正控制方法中最为接近具有鲁棒性的一种。广义预测控制是一种新的远程预测控制方法,概括起来具有以下特点 基于CARIMA模型 目标函数中对控制增量加权的考虑 利用输出的远程预报 控制时域长度概念的引入 丢番图方程的递推求解 217.2.1 预测模型 在预测控制理论中,需要有一个描述系统动态行为的基础模型,称为预测模型。它应具有预测的功能,即能够根据系统的历史数据和未来的输入,预测系统未来输出值。采用CARIMA模型作为预测模型,模型CARIMA是Contrlled Auto-Regressive Integrate
13、d Moving-Average 的缩写,可以译为“受控自回归积分滑动平均模型”,这个模型可以写成 (7-17)其中 A(z-1),B(z-1),C(z-1)分别是n,m和n阶的 的多项式,=;y(k),u(k)和 分别表示输出、输入和均值为零的白噪声序列,如果系统时滞大于零;B(z-1)多项式领头的一项或几项系数等于零。/)()()1()()()(111kzCkuzBkyzA1z11 z)(k22 Clarke 等人在推导广义预测控制时,为了简单起见,令C(z-1)=1 CARIMA模型具有下述优点 模型中的积分作用可消除余差;可适用于一类非平稳随机噪声过程;可以描述能用ARMAX模型描述的
14、过程;在大多数情况下,CARIMA模型比ARMAX模型辩识效果更好;用CARIMA模型导出的控制器对未建模动态具有较好的鲁棒性。237.2.2 滚动优化1.目标函数 为增强系统的鲁棒性(Robustness),在目标函数中考虑了现在时刻的控制u(k)对系统将来时刻的影响,采用下列目标函数 (7-18)其中 n称为最大预测长度,一般应大于B(z-1)的阶数;m表示控制长度(m=n);(j)是大于零的控制加权系数。为简单起见取(j)(常数)。mjnjjkujjkwjkyJ1212)1()()()(24 为了柔化控制作用,控制的目的不是使输出直接跟踪设定值,而是跟踪参考轨线,参考轨线由下式产生 (7
15、-19)式中 yr,y(k),w(k)分别为设定值、输出和参考轨线,为柔化系数,01。rjjyakyajkw)1()()(),2,1(nj 目标函数中后一项的加入,主要用于压制过于剧烈的控制增量,以防止系统超出限制范围或发生剧烈振荡。25广义预测控制问题,可以归结为求u(k),u(k+1),u(k+m-1)使得目标函数式(7-18)达到最小值的问题,这是一个优化问题。2.输出预测 根据预测理论,为了预测超前j步输出,引入丢番图Dioaphantine方程:(7-20)其中 )()()(1111zFzzAzEjjj1,)(011,1101jjjjjjjezezeezEnjnjjjzfzffzF1
16、101)(26将式(3-17)两边同时左乘以 后与式(7-20)可得时刻k后j步的预测方程为 (7-21)令 注意到 可知 的前j项正是系统单位阶跃响应的前j项故有 为书写方便将式(7-21)简记为 (7-22)(1zEj)()()()()1()()()(1111jkzEkyzFjkuzBzEjkyjjj)()()(111zBzEzGjjjjjjjjjjjzgzgzgg11110)(1)()()()()(111111zFzzAzBzBzEzGjjjjjjj)(1zGj,10ggjjjjjjzgzgzggzG111101)()()()()()1()()(111jkzEkyzFjkuzGjkyjj
17、j27对未来输出值的预报可忽略未来噪声的影响得到 (7-23)上式中包括k时刻的已知量和未知量两部分,用表示已知量,即 写成矩阵形式 (7-24)其中 )()()1()()(11kyzFjkuzGjkyjj),2,1(nj)(jkf)()()()()()()()2()()()()1(01111120112101kyFkuggzgzGznkfkyFkuggzGzkfkyFkugGkfnnnnn)()(kFykuHf2)1(1223122212111011111011201)()(zgzgzgzgzgzgggzgzGzggzGzgGHnnnnnnnnTnFFFF,2128根据式(7-23)可得最优
18、输出预测值为 (7-25)式中 fUGYTnkykykyY)(,),2(),1(TnkukukuU)1(,),1(),(Tnkfkfkff)(,),2(),1(0210100ggggggGnn293.最优控制律 若令 则式(7-18)可表示为 (7-26)用Y的最优预测值 代替Y,即将式(3-25)代入式(3-26)并令 可得 (7-27)实际控制时,每次仅将第一个分量加入系统即 (7-28)式中 为 的第一行 TnkwkwkwW)(,),2(),1(UUWYWYJTT)()(Y0UJ)()(1fWGIGGUTT)()1()(fWgkukuTTgTTGIGG1)(30 为了计算简单,通常选mm
19、时,u(k+j-1)=0。这时,u变成了 m1矩阵,(GTG+I)则变成mm方阵,降低了维数,减小了计算量。对于阶数较低的简单系统,取m=1,则整个过程将不包括任何矩阵运算。与通常的最优控制不同,广义预测控制采用滚动优化,优化目标是随时间推移的。即在每一时刻都提出一个立足于该时刻的局部优化目标,不是采用不变的全局优化目标。因此,优化过程不是一次离线进行,而是反复在线进行的,这种滚动优化目标的局部性,使其在理想条件下,只能得到全局的次优解,然而当模型失配或有时变、非线性及干扰影响时,却能顾及这种不确定性,及时进行弥补,减小偏差,保持实际上的最优。317.2.3 反馈校正 在广义预测控制算法推导过
20、程中,虽然没有明显给出反馈或闭环的表示,但它在进行滚动优化时,强调了优化的基点与实际系统一致。这意味着在控制的每一步,都要检测实际输出并与预测值比较,并以此修正预测的不确定性。当实际系统存在非线性、时变、模型失配、干扰等因素时,这种反馈校正就能及时修正预测值,使优化建立在较准确的预测基础上。因此可降低对基础模型的要求,提高控制的鲁棒性,在实际工业应用中,这点具有十分现实的意义。327.3 预测控制理论分析预测控制理论分析7.3.1 的性能分析的性能分析1、引、引 言言 近年来,广义预测控制无论是在工业应用界还是在控制理论界都得到了广泛的重视,然而由于优化的启发性质和算法的复杂性,对于这一算法的
21、理论研究十分困难,本文通过系统的闭环方块图求出了闭环传递函数,并在内模控制结构的基础上,分析了系统的闭环动态特性、稳定性和鲁棒性。332、GPC系统闭环传递函数系统闭环传递函数1)闭环方块图 为推求系统的闭环方块图,须将GPC算法各部分稍加变换重写如下(1)预测模型式(7-17)(7-29)(2)预测向量f式(7-24)(7-30)(3)参考轨迹W式(7-19)(7-31)其中 )()()(1kACkuABzky)()(kFykuHf)()(kMykQyWrTnkwkwkwW)(,),2(),1(TnQ,2TnM1,1,1 234(4)控制增量 式(7-28)(7-32)由以上4式得闭环方块图
22、为)(ku)()(fWgkuTy(k)M1HQ+-+Tg+W)(ku)(ku+Fryf)(kACABz1图7-2 GPC控制系统闭环方块图352)控制结构图 根据图7-2 的闭环方块图,可画出GPC的控制结构图如图7-3所示。)(ky111 zn1112ACWTg1111zgzgnn)(ku)(kfHnddd21+-MFnFF1rynaa1QABz1图 7-3 GPC控制结构图 36 图中粗线表示矢量信号流,细线表示标量信号流,由此可见,GPC是由柔化、调节和预测三部分构成的。在每一时刻,给定值序列经过柔化作用后得到的期望输出向量,与预测输出相比较构成偏差向量,偏差向量与动态向量gT 点积得到
23、该时刻的控制增量 ,控制增量一方面通过数字积分运算求出控制量u(k)作用于对象,另一方面又与系统输出一起去预测新的系统输出值f。)(ku373)闭环传递函数由图7-2可求出GPC系统的闭环传递函数为 (7-33)闭环系统的输出响应为 (7-34)由以上可得如下结论(1)GPC不是用控制器的极点去对消对象的零点,因此不存在因对消不精确所带来的不稳定性问题,所以GPC可用于非最小相位系统。)()1()()(11QFBgzAHgMBgzkykyTTTr)()()1()1()()()1()(111kQFBgzAHgCHgkyQFBgzAHgMBgzkyTTTrTTT38 (2)闭环传递函数中不包括 ,
24、只要 是稳定的多项式,至于 的精度,它只影响跟踪性能而不影响闭环稳定性和鲁棒性。(3)当 时,而 ,由式(7-20)知 即 ,从而 代入式(7-34)可得 ,即系统在稳态时无差跟踪设定值,既使在有阶跃扰动情况下也是无差跟踪,这里由CARIMA模型内部积分作用所决定的。(4)GPC系统闭环传递函数形式较为复杂(涉及到向量F和H),不能明显看出GPC的设计参数对系统性能的关系,不便进行系统分析,为此将GPC算法结构变为内模结构形式,以便借助于内模原理研究系统的鲁棒性、稳定性和其它特性。)(1zC)(1zC)(1zC)1(zk00)(kE1jF1FQMFryky)(393.广义预测控制的内模控制描述
25、广义预测控制的内模控制描述1)GPC内模结构的推导过程 由图7-2变换依次可得图7-4(a)、(b)和(c)。(a)1Tg)(ku)(kud+-+-MH)(kyry+QF ABz140(c)图7-4 GPC系统内模结构的推导过程 MgT1)(ku+-)(QFgTryHgT11ABz1+d+)(ky)(kuMgTHgT111)(zGABZ1d)(ku)(ku)(ky-ry)(QFgTABQFgzT)(1(b)41最后由图7-4(c)可得GPC的内模结构图为图7-5 GPC系统内模结构图)(sR)(zG)(zGc)(zG)(ku)(kd)(ky)(kd-ry)(zF42图中 被控过程的实际模型;被
26、控过程的预测模型;为控制器;为滤波器;总的扰动量;为模型误差信号。其中 (7-35))(1zG)(1zG)(1zGc)(1zF)(kd)(kd,),1()()()()()()1()(,)(2111111111nTnjjjTnjjjjTTTcdddgdMgzRFdQFgzFBQFgzAHgAzGABzzG432)GPC的闭环稳定性由系统的内模结构图7-5可得系统的控制量和输出量分别为:(7-36)(7-37)系统稳定的充要条件是闭环特征方程的零点位于单位园内)()()()()()()(1)()(1111111kdzFyzRzGzGzFzGzGkurcc)()()()()()()()(1)()()
27、(11111111kdkdzFyzRzGzGzFzGzGzGkyrcc44由式(7-36),式(7-37)得特征方程 (7-38)(7-39)当模型匹配 时,由式(7-38),式(7-39)得 (7-40)(7-41)0)()()()(11111zGzGzFzGc0)()()()()()(1111111zGzGzGzFzGzGc0)(11zGc0)()(111zGzGc)()(11zGzG45由此可得结论:(1)若对象稳定,控制器稳定,则闭环系统稳定;(2)既使控制器具有非线性特性,但只要保证输入输出的稳定性,对稳定的受控对象,一定能得到稳定的闭环响应,也就是说若系统输入u(k)受到约束时,不
28、会影响整个系统的稳定性,这一优点深受广大实际工程人员的欢迎;(3)若对象开环不稳定,除非有准确的极点对消,否则不能得到稳定解。46以上结论(3)说明,如果对消不完全,不稳定因素总会被激励出来。GPC解决这个问题的措施在于控制时域长度概念的引入,即经过一段时间 m后,令控制增量为零,这相当在目标函数中对控制增量作无穷大加权,正是这个无穷大加权,才使不稳定对消因子的作用受到抑制473)GPC系统的鲁棒性 这里我们所谈的鲁棒性是指当模型失配时,系统仍能维持一定的稳定性的程度。在讨论基于模型CARIMA的广义预测控制时,由于我们采用了下列措施,而增强了系统的鲁棒性。(1)参考轨迹的引入 为了使控制过程
29、平稳,我们不要求系统输出y(k)直接跟踪设定值yr,而使对象输出y(k)沿着参考轨迹到达给定值yr。由式(7-19)容易看出,小w(k)很快趋向yr,这时控制系统跟踪的快速性好,但鲁棒性差,增大 ,w(k)跟踪yr的过程较长,这时系统跟踪的快速性变差而鲁棒性提高,在实际应用中,值的选择是控制系统的快速性要求与鲁棒性要求的折衷。)()(11zGzG48(2)在目标函数中考虑了现在时刻的控制u(k)对系统将来输出的影响 广义预测控制问题,可以归结为求,使得目标函数式(7-18)达到最小值的问题,这是一个最优化问题。下面我们借助内模原理对这些措施作一分析。a)由式(7-38)的特征方程 可见当 时,
30、通过对 中参数的调整,可使特征方程的根位于单位圆内。)(ku)1(ku)1(mku0)()()()(11111zGzGzFzGc)()(11zGzG)(1zF49 b)由图7-5得,在干扰d(k)作用下内模控制反馈为 (7-42)当 时,式(3-42)变为 (7-43)由此可知,包含着模型失配的信息,改变的特性,就能获得不同的鲁棒性,而改变 的特性是由选择不同的 来实现的。)()()()()(1)()(11111kdzGzGzFzGzFkdc)()(11zGzG)()()(1kdzFkd)(kd)(kd)(kd)(1zF50 由此可见,滤波器 在这里是一个关键因素,中的参数能直接对系统的鲁棒性
31、进行调整,若有模型失配,则 的作用将使失配的影响减少到尽量小的程度,而且还能镇定由于模型失配可能带来的不稳定性。若无模型失配,则 又可补偿一类动态干扰,若存在模型失配,由式(7-43)直观地可知,要减小失配的影响,可使 减小,而由式(7-35)知,增加柔化因子可使 减小,故增大柔化作用(增大 ),可提高系统的鲁棒性。鲁棒性是预测控制突出的优点之一,现有的文献表明,预测控制在工业过程控制中获得成功的应用,首先应归功于预测控制的鲁棒性。)(1zF)(1zF)(1zF)(1zF)(1zF)(1zF517.3.2 与控制规律的等价性证明与控制规律的等价性证明 1.的最优控制律的最优控制律 由7.2知,
32、当系统采用CARIMA模型式(7-17)对目标函数式(7-18)的最优控制律为式(7-27)/)()()1()()()(111kzCkuzBkyzA2112)1()()()(jkujjkwjkyJmjnj)()(1fWGIGGUTT52其中 矩阵G中的元素 为系统单位阶跃响应的前n项。TnkukukuU)1(,),1(),(TnkwkwkwW)(,),2(),1(Tnkfkfkff)(,),2(),1(0210100ggggggGnn110,nggg532、的最优控制律、的最优控制律 由7.1知,若已知对象的单位阶跃响应,则对用式(7-9)所表示的目标函数 的最优控制律为式(7-11)其中 矩
33、阵A中的元素 为系统单位阶跃响应的前n项,110nggg2112)1()()()(jkujjkwjkyJmjnj)()(01YWAIAAUTTTnkukukuU)1(,),1(),(TnkwkwkwW)(,),2(),1(TnkykykyY)(,),2(),1(00000210101112100ggggggaaaaaaAnnnnnaaa,21543.与的等价性与的等价性由上可得如下结论()中G矩阵和中A矩阵中的元素同为系统单位阶跃响应的前n项,故对同一系统应有A=G。()中的 U与中的U完全一样,同为控制量序列。()中的W与中的W一样,同为柔化作用后的输出跟踪序列 TnkukukuU)1(,)
34、,1(),(TnkwkwkwW)(,),2(),1(rjjyakyajkw)1()()(),2,1(nj55()式(7-27)的导出是基于由式(7-17)表述的 CARIMA 参数模型而式(7-11)导出是基于由式(7-17)表述的同一系统的非参数模型。众所周知,对同一线性系统,在同一目标函数下最优控制解具有唯一性。由 式(7-18)与式(7-9)相同,知式(7-27)和式(7-11)完全等价。()由的控制规律与的控制规律完全等价知,中的f向量相当于中的Y0向量,而Y0的物理意义是明确的,它是在 k时刻预测的未来 n个时刻未加控制增量u(k)的系统输出量。从而可知f就表示k时刻基于以往数据对未
35、来输出的预测。567.3.3 与的比较与的比较 广义预测控制汲取了动态矩阵控制的多步预测、滚动优化策略,同时又保持了自校正控制器的优点。把它与动态矩阵控制作一比较,对于理解其控制机理及优良性能是十分有益的。571 预测模型预测模型 采用了CARIMA模型,可用来描述包括不稳定系统在内的任意对象,而采用有限卷积模型作为预测模型,它只能适用于渐近稳定的对象,若不加以修改,适用范围是有局限性的。2 控制机理控制机理 由于优化策略的一致,两者的控制机理是相同的,系统的动态响应不仅取决于对象参数及优化设计参数,同时也取决于参考轨迹。583 反馈校正反馈校正 在模型失配或存在干扰时,和都可以通过滤波器 F
36、(z-1)抑制干扰或保持闭环稳定性,采用了误差校正修正预测值的策略,主要是通过选择误差校正系数,或者增加滤波器的零点抑制干扰,或者增加其极点改善鲁棒性,但因两者的设计用了同一设计参数,往往难以兼顾。而在中,通过增加滤波器的零点抑制干扰,而对模型失配,主要是通过模型在线辨识和自校正来纠正的。因此,采用了不同的反馈机制分别对付干扰和模型失配,综合的控制效果会更好些。59 由此可见,广义预测控制汲取了动态矩阵控制的优化策略,而在预测模型,反馈机制方面都保留了自校正控制的优点,它依靠多步预测及滚动优化获取良好的动态性能,利用在线辩识与校正增强控制系统的鲁棒性,而以反馈环节有力地抑止了干扰。60小 结
37、本章首先系统地阐明了广义预测控制与动态矩阵控制的原理;然后在内模结构的基础上对广义预测控制进行了理论分析;最后对广义预测控制与动态矩阵控制规律进行了等价性的证明。61v8.1 系统模型辨识函数v8.2 系统模型建立与转换函数v8.3 基于阶跃响应模型的控制器设计与仿真函数v8.4 基于状态空间模型的预测控制器设计函数v8.5 系统分析与绘图函数v8.6 通用功能函数第第8章章 MATLAB预测控制工具箱函数预测控制工具箱函数62 MATLAB的模型预测控制工具箱提供了一系列用于模型预测控制的分析、设计、和仿真的函数。这些函数的类型主要有:(1)系统模型辨识函数主要功能包括通过多变量线性回归方法
38、计算MISO脉冲响应模型和阶跃响应模型、对测量数据的尺度化等;(2)模型建立和转换函数主要功能包括建立模型预测工具箱使用的MPC状态空间模型以及状态空间模型与MPC状态空间模型、阶跃响应模型、脉冲响应模型之间的转换;63(3)模型预测控制器设计和仿真工具一分为面向阶跃响应模型的预测控制器设计与仿真函数和面向 MPC状态空间模型的设计和仿真函数两类;(4)系统分析工具一包括计算模型预测控制系统频率响应、极点和奇异值的有关函数;(5)其他功能函数一包括绘图和矩阵计算函数等。本节将对模型预测工具箱的主要函数的原理和使用方法按以上分类进行介绍,并给出若干设计应用例子。648.1 系统模型辨识函数系统模
39、型辨识函数 为进行模型预测控制器设计,需要根据系统的输入输出数据建立开环系统的脉冲响应模型或阶跃响应模型,即进行系统模型的辨识。MATLAB模型预测工具箱提供的模型辨识函数如表3-1所示。65表8-1 系统模型辨识函数 函 数 名功 能autosc()矩阵或向量的自动归一化scal()根据指定的均值和标准差归一化矩阵rescal()由归一化的数据生成原数据wrtreg()生成用于线性回归计算的数据矩阵mlr()利用多变量线性回归计算MISO脉冲响应模型plsr()利用部分最小二乘回归方法计算MISO脉冲响应模型imp2step()由MISO脉冲响应模型生成MIMO阶跃响应模型validmod(
40、)利用新的数据检验MISO脉冲响应模型668.1.1 数据向量或矩阵的归一化数据向量或矩阵的归一化 获得了系统输入输出的原始数据后,为进行参数估计和模型辨识,往往要求对数据进行归一化处理。模型预测工具箱提供的有关数据归一化处理的函数有:autosc()、scal()和,rescal(),这三个函数都是根据数据的均值和标准差来对数据进行归一化或反归一化处理。设有数据向量:其均值和标准差分别为进行归一化处理后得到的向量为Tnxxxx,211)(,1121nxxxnxniiniiTnxxxxxxx,21671.矩阵或向量的自动归一化函数autosc()该函数的调用格式为:ax,mx,stdx=aut
41、osc(x)例:x=1 1 1 2;ax,mx,stdx=autosc(x)输出结果:ax=-0.5000 -0.5000 -0.5000 1.5000mx=1.2500stdx=0.5000 682.根据指定的均值和标准差进行矩阵或向量的归一化函数scal()该函数的调用格式为:sx=scal(x,mx)sx=scal(x,mx,stdx)例:x=1 2;2 1;sx=scal(x,1 1,0.5 0.5)输出结果为:sx=0 2 2 0 693.由归一化的矩阵或向量计算原矩阵或向量(反归一化)函数rescal()该函数的调用格式为:rx=resca(x,mx)rx=rescal(x,mx,
42、stdx)例:x=0 2;2 0;rx=rescal(x,1 1,0.5 0.5)输出结果:rx=1 2 2 1 708.1.2 基于线性回归方法的脉冲响应模型辨识基于线性回归方法的脉冲响应模型辨识 在获得系统的输入输出数据之后,可以采用最小二乘方或部分最小二乘方等线性回归方法来计算系统的脉冲响应模型的系数。在进行线性回归计算之前,需要对原始数据进行预处理,函数wrtreg()用于完成这一预处理过程。函数 mlr()和 plsr()分别完成基于多变量最小二乘方和部分最小二乘方方法的脉冲响应模型辨识。711.生成用于线性回归计算的输入输出数据矩阵函数wrtreg()该函数的调用格式为:krey,
43、yrey=wrtrey(x,y,n)式中 x为输入数据矩阵;y为输出数据向量;n为脉冲响应模型系数的个数;xreg为预处理后的输入数据矩阵;greg为预处理后的输出数据向量。722.基于多变量最小二乘方的脉冲响应模型辨识函数mlr()该函数的调用格式为:theta,yres=mlr(xreg,yreg,ninput)theta,yres=mlr(xreg,yreg,ninput,plotopt,wtheta,wdeltheta)式中 xreg为预处理后的输入数据矩阵;yreg为预处理后的输出数据向量;ninput为输入变量的个数;plotopt为绘图选项:plotopt=0,缺省值,不绘制图形
44、;plotopt=l,绘制实际输出和预测输出;plotopt=2,绘制实际输出、预测输出以及输出误差;wtheta,wdeltheta为最小二乘方的加权向量,缺省值均为0;theta为脉冲响应模型的系数矩阵。该矩阵的每一列对应一个输入到输出的脉冲响应模型系数向量;yres为预测误差向量。73例例8-1 考虑一个单输入单输出的对象,其传递函数为 解解 采用下面的MATLAB程序对该对象进行脉冲响应模型辨识,系统实际输出和模型的预测输出以及预测误差曲线如图8-1所示。Ex8_1 631)(2ssssG74图8-1 脉冲响应模型预测输出与预测误差曲线 75例例8-2 考虑一个双输入单输出的对象,其传
45、递函数矩阵为采样时间为7秒。解解 采用下面的MATLAB程序对该对象进行脉冲响应模型辨识,系统实际输出和模型的预测输出以及预测误差曲线如图3-7所示。Ex8_2 12552.116072.5)(1514sesesGss76图8-2 脉冲响应模型预测输出与预测误差曲线 773.基于部分最小二乘方(PLS)方法的脉冲响应模型辨识函数plsr()该函数的调用格式为:theta,w,cw,ssqdif,yres=plsr(xreg,yreg,ninput,lv,plotopt)78例例8-3 考虑一个单输入单输出的对象,其传递函数为 解解 采用如下的MATLAB程序对该系统进行模型响应模型辨识,模型的
46、预测输出和预测误差如图3-8所示。ex8_3631)(2ssssG79图8-3 基于PLS线性回归的模型预测输出与预测误差 808.1.3 脉冲响应模型转换为阶跃响应模型脉冲响应模型转换为阶跃响应模型 在模型预测控制工具箱中,模型预测控制器的设计主要基于系统阶跃响应模型。因此在完成系统的脉冲响应模型辨识后,往往需要转换为等价的阶跃响应模型。函数imp2step()用于完成这一转换过程,该函数的调用格式为plant=imp2step(delt,nout,theta1,theta2,)81例例8-4 考虑一个单输入单输出的对象,其传递函数为 解解 采用如下的MATLAB语句对该系统进行脉冲响应模型
47、辨识,并转换为阶跃响应模型,系统的阶跃响应曲线如图3-9所示。ex8_4631)(2ssssG82图8-4 系统阶跃响应的预测曲线 838.1.4 模型的校验模型的校验 在根据系统的输入输出数据完成模型辨识以后,可以进一步利用新的数据对辨识模型进行校验,函数validmod()用于实现这一功能。该函数的调用格式为:yres=validmod(xreg,yreg,theta,plotopt)848.2 系统模型建立与转换系统模型建立与转换 前面讨论了利用系统输入输出数据进行系统模型辨识的有关函数及使用方法,为进行模型预测控制器的设计,需要对系统模型进行进一步的处理和转换。MATLAB的模型预测工
48、具箱中提供了一系列函数完成多种模型转换和复杂系统模型的建立功能。在模型预测工具箱中使用了两种专用的系统模型格式,即 MPC 状态空间模型和 MPC传递函数模型。这两种模型格式分别是状态空间模型和传递函数模型在模型预测工具箱中的特殊表达形式。这两种模型格式可以同时支持连续和离散系统模型的表达,在MPC传递函数模型中还增加了对纯时延的支持。表3-2列出了模型预测工具箱的模型建立与转换函数。85表8-2 模型建立与转换函数 函 数 名功 能ss2mod()将通用状态空间模型转换为MPC状态空间模型mod2ss()将MPC状态空间模型转换为通用状态空间模型poly2tfd()将通用传递函数模型转换为M
49、PC传递函数模型tfd2mod()将MPC传递函数模型转换为MPC状态空间模型mod2step()将MPC状态空间模型转换为MPC阶跃响应模型tfd2step()将MPC传递函数模型转换为MPC阶跃响应模型ss2step()将通用状态空间模型转换为MPC阶跃响应模型mod2mod()改变MPC 状态空间模型的采样周期th2mod()将Theta格式模型转换为MPC状态空间模型addmod()将两个开环MPC模型连接构成闭环模型,使其中一个模型输出叠加到另一个模型输入addmd()向MPC对象添加一个或多个测量扰动addumd()向MPC对象添加一个或多个未测量扰动paramod()将两个MPC
50、系统模型并联sermod()将两个MPC系统模型串联appmod()将两个MPC系统模型构成增广系统模型868.2.1 模型转换模型转换 在MATLAB模型预测控制工具箱中支持多种系统模型格式,这些模型格式包括:通用状态空间模型;通用传递函数模型;MPC阶跃响应模型;MPC状态空间模型;MPC传递函数模型。87 在上述模型格式中,前两种模型格式是MATLAB通用的模型格式,在其他控制类工具箱中如控制系统工具箱、鲁棒控制工具箱等都予以支持;而后三种模型格式则是模型预测工具箱特有的。其中 MPC状态空间模型和 MPC传递函数模型是通用的状态空间模型和传递函数模型在模型预测工具箱中采用的增广格式,为