第三篇(第7-8-9章)模型预测控制及其MATLAB实现2模型预测控制(ModelPredictiveControl:MPC)是20世纪80年代初开始发展起来的一类新型计算机控制算法。该算法直接产生于工业过程控制的实际应用,并在与工业应用的紧密结合中不断完善和成熟。模型预测控制算法由于采用了多步预测、滚动优化和反馈校正等控制策略,因而具有控制效果好、鲁棒性强、对模型精确性要求不高的优点。3实际中大量的工业生产过程都具有非线性、不确定性和时变的特点,要建立精确的解析模型十分困难,所以经典控制方法如PID控制以及现代控制理论都难以获得良好的控制效果。而模型预测控制具有的优点决定了该方法能够有效地用于复杂工业过程的控制,并且已在石油、化工、冶金、机械等工业部门的过程控制系统中得到了成功的应用。4目前提出的模型预测控制算法主要有基于非参数模型的模型算法控制(MAC)和动态矩阵控制(DMC),以及基于参数模型的广义预测控制(GPC)和广义预测极点配置控制(GPP)等。其中,模型算法控制采用对象的脉冲响应模型,动态矩阵控制采用对象的阶跃响应模型,这两种模型都具有易于获得的优点;广义预测控制和广义预测极点配置控制是预测控制思想与自适应控制的结合,采用CARIMA模型(受控自回归积分滑动平均模型),具有参数数目少并能够在线估计的优点,并且广义预测极点配置控制进一步采用极点配置技术,提高了预测控制系统的闭环稳定性和鲁棒性。。57.1动态矩阵控制理论动态矩阵控制是一种基于计算机控制的技术,它是一种增量算法,并基于系统的阶跃响应,它适用于稳定的线性系统,系统的动态特性中具有纯滞后或非最小相位特性都不影响该算法的直接应用。由于它直接以对象的阶跃响应离散系数为模型,从而避免了通常的传递函数或状态空间方程模型参数的辩识,采用多步预估技术从而能有效地解决时延过程问题,按使预估输出与给定值偏差最小的二次性能指标实施控制,因此是一种最优控制技术,动态矩阵控制算法的控制结构主要由预测模型、滚动优化和误差校正及闭环控制形式构成。6图7-1单位阶跃响应曲线7.1.1预测模型从被控对象的阶跃响应出发,对象动态特性用一系列动态系数即单位阶跃响应在采样时刻的值来描述,p称为模型时域长度,ap是足够接近稳态值的系数。paaa,,,217根据线性系统的比例和叠加性质(系数不变原理),若在某个时刻k-i(k=i)输入u(k-i),则对输出y(k)的贡献为:(7-1)若在所有时刻同时有输入,则跟据叠加原理有(7-2)利用上式容易得到y(k+j的n步预估(np)为:(7-3))(ikupiikuapiikuakypi)(1)()(),,2,1(kiik)()()(11pkuaikuakyppii)()()(ˆ11pjkuaijkuajkyppii),,2,1(nj8由于只有过去的控制输入是已知的,因此在利用动态模型作预估时有必要把过去的输入对未来的输出贡献分离出来,上式可写为(7-4)上式右端的后二项即为过去输入对输出n步预估,记为(7-5)将式(3-4)写成矩阵形式(7-6))()()()(ˆ111pjkuaijkuaijkuajkyppjiijii),,2,1(nj)()()(110pjkuaijkuajkyppjii),,2,1(nj)()2()1()1()1()()(ˆ)2(ˆ)1(ˆ00011121nkykykynkukukuaaaaaankykykynn9为增加系统的动态稳定性和控制输入的可实现性,以及减少计算量可将向量减少为m维(mn),则式(7-6)变为(7-7)记u)()2()1()1()1()(0)(ˆ)2(ˆ)1(ˆ00011121nkykykymkukukuaaaaaankykykymnnnTnkykykyY)](ˆ,),2(ˆ),1(ˆ[ˆTmkukukuU)]1(,),1(),([TnkykykyY)](,),2(),1([000010则(7-7)式可写为(7-8)式中矩阵A为n×m维的常数矩阵,由于它完全由系统的阶跃响应参数所决定,反映了对象的动态特性,故称之为动态矩阵。n,m分别称之为最大预测长度和控制长度。111210mnnnaaaaaaA0ˆYUAY117.1.2滚动优化系统的模型预测是根据动态响应系数和控制增量来决定的,该算法的控制增量是通过使最优化准则(7-9)的值为最小来确定的,以使系统在未来n(p=n=m)个时刻的输出值尽可能接近期望值。为简单起见取控制加权系数(常数)2112)1()()]()([jkujjkwjkyJmjnj)(j12若令则式(7-9)可表示为(7-10)式中w(k+j)称为期望输出序列值,在预测控制这类算法中,要求闭环响应沿着一条指定的、平滑的曲线到达新的稳定值,以提高系统的鲁棒性.一般取其中为柔化系数;y(k)为系统实测输出值;yr为系统的给定值。TnkwkwkwW)](,),2(),1([UUWYWYJTT)()(rjjyakyajkw)1()()(),,2,1(nj1013用Y的最优预测值代替Y,即将式(3-8)代入式(3-10)中并令得(7-11)式(7-11)与实际检测值无关,是DMC算法的开环控制形式。由于模型误差,弱非线性特性等影响,开环控制式(7-11),不能紧密跟踪期望值,若等到经过m个时刻后,再重复式(7-11),必然造成较大的偏差,更不能抑制系统受到的扰动。故必须采用闭环控制算式,即仅将计算出来的m个控制增量的第一个值付诸实施,即现时的控制增量为(7-12)式中;Yˆ0UJ)()(01YWAIAAUTT)()()()(001YWdYWAIAAckuTTTT001TcTTTTAIAAcd1)(14如果A,λ都已确定,d可事先离线解出,在线计算Δu(k)只需完成两个矢量的点积即可。可见,预测控制的控制策略是在实施了Δu(k)之后,采集k+1时刻的输出数据,进行新的预测、校正、优化,从而避免在等待m拍控制输入完毕期间,由于干扰等影响造成失控。因此优化过程不是一次离线进行,而是反复在线进行的,其优化目标也是随时间推移的,即在每一时刻都提出一个立足于该时刻的局部优化目标,而不是采用不变的全局优化目标。157.1.3误差校正由于每次实施控制,只采用了第一个控制增量Δu(k),故对未来时刻的输出可用下式预测。(7-13)式中表示在t=kT时刻预测的有作用时的未来p个时刻的系统输出;表示在t=kT时刻预测的无作用时的未来p个时刻的系统输出;为单位阶跃响应在采样时刻的值。0)(ˆppYkuaYTppkykykyY)](ˆ,),2(ˆ),1(ˆ[ˆ)(kuTppkykykyY)](,),2(),1([0000)(kuTpaaaa],,,[2116由于对象及环境的不确定性,在k时刻实施控制作用后,在k+1时刻的实际输出y(k+1)与预测的输出未见得相等,这就需要构成预测误差并用此误差加权后修正对未来其它时刻的预测即(7-14)式中为t=(k+1)T时刻经误差校正后所预测的t=(k+1)T时刻的系统输出;为误差校正矢量,。)()1()1(ˆ10kuakyky)1(ˆ)1()1(kykyke)1(ˆ~kheYYppTpkykykyY)](~,),2(~),1(~[~Tphhhh],,,[2111h17经校正后的作为下一时刻的预测初值,由于在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()()1(ˆ)(010kehpkypkypiikehikyikypi187.2广义预测控制理论十多年来产生了许多自校正器,都成功地用于实际过程,但是对变时延,变阶次与变参数过程,控制效果不好。因此研制具有鲁棒性的自校正器成为人们关注的问题。Richalet等人提出了大范围预测概念,在此基础上,Clarke等人提出了广义预测自校正器,该算法以CARIMA模型为基础,采用了长时段的优化性能指标,结合辨识和自校正机制,具有较强的鲁棒性,模型要求低等特点,并有广泛的适用范围。19这个算法可克服广义最小方差(需要试凑控制量的加权系数)、极点配置(对阶的不确定性十分敏感)等自适应算法中存在的缺点,近年来,它在国内外控制理论界已引起了广泛的重视,GPC法可看成是迄今所知的自校正控制方法中最为接近具有鲁棒性的一种。广义预测控制是一种新的远程预测控制方法,概括起来具有以下特点①基于CARIMA模型②目标函数中对控制增量加权的考虑③利用输出的远程预报④控制时域长度概念的引入⑤丢番图方程的递推求解207.2.1预测模型在预测控制理论中,需要有一个描述系统动态行为的基础模型,称为预测模型。它应具有预测的功能,即能够根据系统的历史数据和未来的输入,预测系统未来输出值。GPC采用CARIMA模型作为预测模型,模型CARIMA是ContrlledAuto-RegressiveIntegratedMoving-Average的缩写,可以译为“受控自回归积分滑动平均模型”,这个模型可以写成(7-17)其中A(z-1),B(z-1),C(z-1)分别是n,m和n阶的的多项式,=;y(k),u(k)和分别表示输出、输入和均值为零的白噪声序列,如果系统时滞大于零;B(z-1)多项式领头的一项或几项系数等于零。/)()()1()()()(111kzCkuzBkyzA1z11z)(k21Clarke等人在推导广义预测控制时,为了简单起见,令C(z-1)=1CARIMA模型具有下述优点①模型中的积分作用可消除余差;②可适用于一类非平稳随机噪声过程;③可以描述能用ARMAX模型描述的过程;④在大多数情况下,CARIMA模型比ARMAX模型辩识效果更好;⑤用CARIMA模型导出的控制器对未建模动态具有较好的鲁棒性。227.2.2滚动优化1.目标函数为增强系统的鲁棒性(Robustness),在目标函数中考虑了现在时刻的控制u(k)对系统将来时刻的影响,采用下列目标函数(7-18)其中n称为最大预测长度,一般应大于B(z-1)的阶数;m表示控制长度(m=n);λ(j)是大于零的控制加权系数。为简单起见取λ(j)=λ(常数)。mjnjjkujjkwjkyJ1212)]1()[()]()([23为了柔化控制作用,控制的目的不是使输出直接跟踪设定值,而是跟踪参考轨线,参考轨线由下式产生(7-19)式中yr,y(k),w(k)分别为设定值、输出和参考轨线,α为柔化系数,0α1。rjjyakyajkw)1()()(),,2,1(nj目标函数中后一项的加入,主要用于压制过于剧烈的控制增量,