第7章模型预测控制系统的计算机辅助设计.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第7章模型预测控制系统的计算机辅助设计.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模型 预测 控制系统 计算机辅助设计
- 资源描述:
-
1、第第7章章 模型预测控制系统的模型预测控制系统的 计算机辅助设计计算机辅助设计 7.1 模型预测控制工具箱概述模型预测控制工具箱概述7.2 基于阶跃响应的模型预测控制基于阶跃响应的模型预测控制7.3 基于状态空间模型的模型预测控制基于状态空间模型的模型预测控制7.1 模型预测控制工具箱概述模型预测控制工具箱概述 模型预测控制(MPC)工具箱是分析和设计模型预测控制系统的函数集合。模型预测控制首先于20世纪70年代运用到工业控制中,到80年代后期得到广泛应用。现在,该方法已经广泛应用于化工工业和其它工业领域的多变量控制系统。MPC方法几乎可以适用于任何控制问题,它主要用来解决以下类型的问题:(1
2、)系统具有大量需要控制的变量。(2)被控变量具有约束。(3)控制目标的改变以及控制/传感设备的失效。(4)具有时延的系统。在实际工程中,MPC方法又经常被分为动态矩阵控制(DMC)、IDCOM和模型算法控制等等。7.2 基于阶跃响应的模型预测控制基于阶跃响应的模型预测控制 7.2.1 阶跃响应模型 对于一个线性时不变(LTI)的单输入单输出(SISO)系统,设系统在单位输入变化v下的系统输出变化为 0,s1,s2,sn,这里我们假设系统在n步以后进入稳定状态,这样,系统开始n步s1,s2,sn的阶跃响应可以完全刻画系统的模型,我们可以利用这些阶跃响应计算任何输入序列下的系统输出响应:1()()
3、(1)niniy kskiskn(7.1)上述阶跃响应模型也可以用于稳定且具有积分性质的过程。对于一个积分过程,我们可以假设系统在n步以后的响应信号的斜率保持常数,也就是说:1121nnnnnnssssss(7.2)对于具有nv个输入和ny个输出的多输入多输出(MIMO)系统,我们可以得到一系列阶跃响应的系数矩阵1,1,1,2,1,2,1,1,2,yyyiin iiinininn issssSsss(7.3)其中,sl,m,i是第m个输入到第l个输出的第i个阶跃响应。MPC工具箱将按照下面的格式存储阶跃响应模型:12(1)00(2)00()0000200nyySSSnoutplantnoutn
4、out nndelt 其中的delt2是系统采样时间;向量nout表示相应的输出是否正在进行积分:nout(i)=0表示第i个输出正在积分,nout(i)=1表示第i个输出是稳定的。系统的阶跃响应可以直接从系统辨识数据中获得,也可以由连续或离散传递函数和状态空间模型产生。例如,如果某个离散系统的描述(采样时间假定为T=0.1 s)为()0.5(1)(3)y ky kk 下面的程序将产生该系统的阶跃响应模型,并且绘制阶跃响应曲线(如图7.1所示)。%创建传递函数格式的模型 num=1;den=1 0.5;delt1=0.1;delay=2;g=poly2tfd(num,den,delt1,del
5、ay);写成传递函数形式为 31()10.5zg zz%计算阶跃响应模型tfinal=1.6;delt2=delt1;nout=1;plant=tfd2step(tfinal,delt2,nout,g);%绘制阶跃响应曲线plotstep(plant)图 7.1 系统的阶跃响应曲线 我们也可以首先生成系统的状态空间模型,然后使用tf2ss函数和ss2step生成阶跃响应模型:num=0 0 0 num;den=den 0 0;phi,gam,c,d=tf2ss(num,den);%转换成状态空间形式 plant=ss2step(phi,gam,c,d,tfinal,delt1,delt2,no
6、ut);%计算阶跃响应 通过MPC工具箱中的函数mpcinfo,可以获取创建的阶跃响应模型中的信息:mpcinfo(plant)This is a matrix in MPC Step format.sampling time=0.1 number of inputs=1 number of outputs=1 number of step response coefficients=16 All outputs are stable.7.2.2 模型辨识 MATLAB中的MPC工具箱可以完成MISO系统模型的辨识。基于输入v1(k),,和输出yl(k)的历史数据,有n121212(1)(1)
7、(1)(1)(2)(2)(2)(2)(3)(3)(3)(3)nlnlllnyyyyvy(7.5)其中,阶跃响应系数矩阵为,1,1,2,1,1,1,2,2,2,2,1,2,1,lll nlll nlill n isssssssss 为了估计上述阶跃响应系数矩阵,将SISO模型写成下面的形式1()()niiy khki其中,y(k)=y(k)-y(k-1),脉冲响应系数hi=si-si-1。如果输出端正在积分,则1()()niiy khki (7.6)其中,(y(k)=y(k)-y(k-1),hi=hi-hi-1。式(7.6)可以用来估计hi,这样,hi和si可以写成1111iikkjiiijkj
8、jkhhshh 参数估计中通常将所有的变量缩放成相同的数量级。这可以通过MPC函数autosc或scal完成。整个系统数据可以写成下面的形式YX(7.7)其中,Y包含了所有的系统输出信息(如果是稳定的,则为y(k);如果正在积分,则为(y(k))。X包含了所有的输入信息(v(k))。包含所有被估计的参数(如果是稳定的,则为hi;如果正在积分,则为hi)。式(7.7)可以通过函数wrtreg得到。参数可以利用多变量最小方差回归(mlr)或局部最小方差回归(plsr)计算得到。下面的程序(mpctutid)演示了具体的计算步骤:%载入系统输入和输出数据,这些数据由下面的传递函数和随机白噪声产生%从
9、输入1到输出1的传递函数:g11=5.72exp(-14s)/(60s+1)%从输入2到输出1的传递函数:g12=1.52exp(-15s)/(25s+1)load mlrdat ax,mx,stdx=autosc(x);mx=0*mx;%将输入数据写成相同数量级的形式sx=scal(x,mx,stdx);n=35;%一共具有35个系数xreg,yreg=wrtreg(sx,y,n);%构造标准的辨识模型(见式(7.7)ninput=2;plotopt=2;theta,yres=mlr(xreg,yreg,ninput,plotopt);%计算脉冲响应系数theta=scal(theta,mx
10、,stdx);%将脉冲模型转换成阶跃模型,用于MPC设计nout=1;delt=7;model=imp2step(delt,nout,theta);plotstep(model)%绘制阶跃响应曲线图 7.2 实际输出与估计输出的误差分析曲线 7.2.3 无约束模型预测控制 MPC控制的基本原理可以用图7.4表示。对于任何假定的现在和将来的控制输入u(k),u(k+1),,u(k+m-1),系统将来的输出y(k+1|k),y(k+2|k),,y(k+p|k)都可以在一定的时间跨度p内进行预测。从而可以计算m个现在和将来的控制输入(mp),使得下面的二次指标最小 2()(1)121min(|)()
11、(1)pyu ku k mllmully kl kr klu kl (7.8)图 7.3 辨识后系统的阶跃响应曲线 图 7.4 MPC的控制过程 在缺省情况下,MPC将获得一个线性时不变的反馈控制规律()(1|)MPCpu kKEkk 其中,Ep(k+1|k)是时间跨度为p的将来输出误差的预测向量,它是在假定现在和将来的所有输入变量不发生变化(u(k)=u(k+1)=0)的情况下计算得到的。对于开环稳定的系统,闭环系统的稳定性是由KMPC决定的,而KMPC与计算的时间跨度p、m以及加权矩阵yl和ul有关。我们一般无法知道关于这些参数保持系统闭环稳定的确切条件。但是一个定性的描述是相对于p减小m
12、可以增加系统的稳定度。对于p=1,闭环系统的稳定性可以由某个确定的m和时不变的输入输出权重加以保证。通常,权重矩阵ul用作可调常数,因为增加ul一般可以使对系统的控制显得不那么“激进”,从而增加系统的稳定性。噪声滤波器的时间常数tfilter(1,:)和干扰时间常数tfilter(2,:)不会影响闭环系统的稳定性和对参考点变化或测量噪声的系统响应,但是这些时间常数的设置会影响到系统的鲁棒性和对不可测干扰的响应。增加噪声滤波器的时间常数可以使系统的鲁棒性增大,使系统对不可测干扰的敏感度降低。而增加干扰的时间常数会使对系统的控制更加“激进”。通过MPC工具箱所设计的控制器都可以无误差地跟踪阶跃信号
13、(类型1),如果系统扰动模型或者系统自身具有积分特性,则设计的控制器还可以无误差地跟踪斜坡信号。下面的程序是MATLAB中MPC工具箱中演示例子(mpctutst.M)的一部分,其中介绍了运用MPC工具箱进行模型预测控制系统设计的一般步骤和方法。%系统传递函数:g=5.72exp(-14s)/(60s+1)%干扰的传递函数:gd=1.52exp(-15s)/(25s+1)%创建阶跃响应模型,采样周期指定为7秒delt1=0;delay1=14;num1=5.72;den1=60 1;g=poly2tfd(num1,den1,delt1,delay1);tfinal=245;delt2=7;no
14、ut1=1;plant=tfd2step(tfinal,delt2,nout1,g);delay2=15;num2=1.52;den2=25 1;gd=poly2tfd(num2,den2,delt1,delay2);delt2=7;nout2=1;dplant=tfd2step(tfinal,delt2,nout2,gd);%计算MPC控制器的增益矩阵%输出权重=1,输入权重=0%输入计算的时间跨度=5,输出计算的时间跨度=20model=plant;ywt=1;uwt=0;M=5;P=20;Kmpc1=mpccon(model,ywt,uwt,M,P);%仿真系统dplant对不可测干扰和
15、测量噪声的阶跃响应tend=245;r=;usat=;tfilter=;dmodel=;dstep=1;y1,u1=mpcsim(plant,model,Kmpc1,tend,r,usat,tfilter,.dplant,dmodel,dstep);dmodel=dplant;%包含测量噪声y2,u2=mpcsim(plant,model,Kmpc1,tend,r,usat,tfilter,.dplant,dmodel,dstep);plotall(y1,y2,u1,u2,delt2);pause;%对测量噪声干扰的阶跃响应,暂停程序的运行,观察计算的仿真曲线%在另一组参数下重新计算MPC控制
16、器的增益矩阵%输出权重=1,输入权重=10%输入计算的时间跨度=5,输出计算的时间跨度=20model=plant;ywt=1;uwt=10;M=5;P=20;mpc2=mpccon(model,ywt,uwt,M,P);%仿真系统dplant对不可测干扰和测量噪声的阶跃响应tend=245;r=;usat=;tfilter=;dmodel=;dstep=1;y3,u3=mpcsim(plant,model,Kmpc2,tend,r,usat,tfilter,.dplant,dmodel,dstep);dmodel=dplant;%包含测量噪声y4,u4=mpcsim(plant,model,
17、Kmpc2,tend,r,usat,tfilter,.dplant,dmodel,dstep);plotall(y3,y4,u3,u4,delt2);pause;%暂停程序,观察仿真结果 7.2.4 闭环回路分析 除了直接进行仿真,MPC工具箱中还包含其它用来分析闭环系统稳定性和动态行为的函数和工具。我们可以通过mpcc1函数获得闭环系统的状态空间描述,然后可以利用smpcpole函数决定系统的极点位置。下面的程序是mpctutst.M的一部分:%构造无干扰的闭环系统,uwt=0,确定系统的极点 clmod=mpccl(plant,model,Kmpc1);poles=smpcpole(clm
18、od);maxpole=max(poles)计算结果为:maxpole=1.0。如果系统所有的极点均位于单位圆内或圆上,则闭环系统是稳定的,进一步还可以分析闭环系统的频率响应。对于多变量系统,还可以利用svdfrsp函数计算系统奇异值关于频率的函数。例如(mpctutst.M)%计算灵敏函数和辅助灵敏函数的频率响应Cfreq=-3,0,30;ny=1;in=1:ny;%辅助灵敏函数的输入为rout=1:ny;%辅助灵敏函数的输出为 ypfrsp,eyefrsp=mod2frsp(clmod,freq,out,in);plotfrsp(eyefrsp);%计算灵敏度 pause;plotfrsp
展开阅读全文