资源描述:
《模型预测控制系统的计算机辅助设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第7章模型预测控制系统的计算机辅助设计7.1模型预测控制工具箱概述7.2基于阶跃响应的模型预测控制7.3基于状态空间模型的模型预测控制7.1模型预测控制工具箱概述模型预测控制(MPC)工具箱是分析和设计模型预测控制系统的函数集合。模型预测控制首先于20世纪70年代运用到工业控制中,到80年代后期得到广泛应用。现在,该方法已经广泛应用于化工工业和其它工业领域的多变量控制系统。MPC方法几乎可以适用于任何控制问题,它主要用来解决以下类型的问题:(1)系统具有大量需要控制的变量。(2)被控变量具有约束。(3)控制目标的改变以及控制/传感设备的失效。(4)
2、具有时延的系统。在实际工程中,MPC方法又经常被分为动态矩阵控制(DMC)、IDCOM和模型算法控制等等。7.2基于阶跃响应的模型预测控制7.2.1阶跃响应模型对于一个线性时不变(LTI)的单输入单输出(SISO)系统,设系统在单位输入变化Δv下的系统输出变化为{0,…,s1,s2,…,sn,…}这里我们假设系统在n步以后进入稳定状态,这样,系统开始n步{s1,s2,…,sn}的阶跃响应可以完全刻画系统的模型,我们可以利用这些阶跃响应计算任何输入序列下的系统输出响应:(7.1)上述阶跃响应模型也可以用于稳定且具有积分性质的过程。对于一个积分过程,我们
3、可以假设系统在n步以后的响应信号的斜率保持常数,也就是说:(7.2)对于具有nv个输入和ny个输出的多输入多输出(MIMO)系统,我们可以得到一系列阶跃响应的系数矩阵(7.3)其中,sl,m,i是第m个输入到第l个输出的第i个阶跃响应。MPC工具箱将按照下面的格式存储阶跃响应模型:其中的delt2是系统采样时间;向量nout表示相应的输出是否正在进行积分:nout(i)=0表示第i个输出正在积分,nout(i)=1表示第i个输出是稳定的。系统的阶跃响应可以直接从系统辨识数据中获得,也可以由连续或离散传递函数和状态空间模型产生。例如,如果某个离散系统
4、的描述(采样时间假定为T=0.1s)为下面的程序将产生该系统的阶跃响应模型,并且绘制阶跃响应曲线(如图7.1所示)。%创建传递函数格式的模型num=1;den=[10.5];delt1=0.1;delay=2;g=poly2tfd(num,den,delt1,delay);写成传递函数形式为%计算阶跃响应模型tfinal=1.6;delt2=delt1;nout=1;plant=tfd2step(tfinal,delt2,nout,g);%绘制阶跃响应曲线plotstep(plant)图7.1系统的阶跃响应曲线我们也可以首先生成系统的状态空间模型,然
5、后使用tf2ss函数和ss2step生成阶跃响应模型:num=[000num];den=[den00];[phi,gam,c,d]=tf2ss(num,den);%转换成状态空间形式plant=ss2step(phi,gam,c,d,tfinal,delt1,delt2,nout);%计算阶跃响应通过MPC工具箱中的函数mpcinfo,可以获取创建的阶跃响应模型中的信息:mpcinfo(plant)ThisisamatrixinMPCStepformat.samplingtime=0.1numberofinputs=1numberofoutputs=
6、1numberofstepresponsecoefficients=16Alloutputsarestable.7.2.2模型辨识MATLAB中的MPC工具箱可以完成MISO系统模型的辨识。基于输入v1(k),…,和输出yl(k)的历史数据,有(7.5)其中,阶跃响应系数矩阵为为了估计上述阶跃响应系数矩阵,将SISO模型写成下面的形式其中,Δy(k)=y(k)-y(k-1),脉冲响应系数hi=si-si-1。如果输出端正在积分,则(7.6)其中,Δ(Δy(k))=Δy(k)-Δy(k-1),Δhi=hi-hi-1。式(7.6)可以用来估计Δhi,这
7、样,hi和si可以写成参数估计中通常将所有的变量缩放成相同的数量级。这可以通过MPC函数autosc或scal完成。整个系统数据可以写成下面的形式(7.7)其中,Y包含了所有的系统输出信息(如果是稳定的,则为Δy(k);如果正在积分,则为Δ(Δy(k)))。X包含了所有的输入信息(Δv(k))。Θ包含所有被估计的参数(如果是稳定的,则为hi;如果正在积分,则为Δhi)。式(7.7)可以通过函数wrtreg得到。参数Θ可以利用多变量最小方差回归(mlr)或局部最小方差回归(plsr)计算得到。下面的程序(mpctutid)演示了具体的计算步骤:%载入
8、系统输入和输出数据,这些数据由下面的传递函数和随机白噪声产生%从输入1到输出1的传递函数:g11=5.72e