MATLAB模型预测控制工具箱函数_第1页
MATLAB模型预测控制工具箱函数_第2页
MATLAB模型预测控制工具箱函数_第3页
MATLAB模型预测控制工具箱函数_第4页
MATLAB模型预测控制工具箱函数_第5页
免费预览已结束,剩余7页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ss2mod()mod2ss()poly2tfd()tfd2mod()mod2step()tfd2step()ss2step()mod2mod()th2mod()addmod()addmd()addumd()paramod()sermod()appmod()MATLAB模型预测控制工具箱函数8.2系统模型建立与转换函数前面读者论坛了利用系统输入库俞出数据进行系统模型辨识的有关函数及使用方法,为时行模型预测控制器的设计,需要对系统模型进行进一步的处理和转换。MATLAB的模型预测控制工具箱中提供了一系列函数完成多种模型转换和复杂系统模型的建立功能。在模型预测控制工具箱中使用了两种专用的系统模型格

2、式,即MPC状态空间模型和MPC传递函数模型。这两种模型格式分别是状态空间模型和传递函数模型在模型预测控制工具箱中的特殊表达形式。这种模型格式化可以同时支持连续和离散系统模型的表达,在MPC传递函数模型中还增加了对纯时延的支持。表8-2列出了模型预测控制工具箱的模型建立与转换函数。表8-2模型建立与转换函数功能函数名将通用状态空间模型转换为MPC状态空间模型将MPC状态空间模型转换为通用状态空间模型将通用传递函数模型转换为MPC传递函数模型将MPC传递函数模型转换为MPC状态空间模型将MPC状态空间模型转换为MPC阶跃响应模型将MPC传递函数模型转换为MPC附跃响应模型将通用状态空间模型转换为

3、MPC附跃响应模型改变MPC状态空间模型的采样周期将Theta格式模型转换为MPC状态空间模型将两个开环MPC模型连接构成闭环模型,使其中一个模型输出叠加到另一个模型输入向MPC对象添加一个或多个测量扰动向MPC对象添加一个或多未测量扰动将两个MPC系统模型并型将两个MPC系统模型串联用两个MPC系统模型构成增广系统模型8.2.1 模型转换在MATLAB模型预测工具箱中支持多种系统模型格式。这些模型格式包括:通用状态空间模型;通用传递函数模型;MPC阶跃响应模型;MPC状态空间模型;MPC传递函数模型。在上述5种模型格式中,前两种模型格式是MATLAB通用的模型格式,在其他控制类工具箱中,如控

4、制系统工具箱、鲁棒控制工具等都予以支持;而后三种模型格式化则是模型预测控制工具箱特有的。其中,MPC状态空间模型和MPC传递函数模型是通用的状态空间模型和传递函数模型在模型预测控制工具箱中采用的增广格式。模型预测控制工具箱提供了若干函数,用于完成上述模型格式间的转换功能。下面对这些函数的用法加以介绍。1.通用状态空间模型与MPC状态空间模型之间的转换MPC状态空间模型在通用状态空间模型的基础上增加了对系统输入/输出扰动和采样周期的描述信息,函数ss2mod()和mod2ss()用于实现这两种模型格式之间的转换。1)通用状态空间模型转换为MPC状态空间模型函数ss2mod()该函数的调用格式为p

5、mod=ss2mod(A,B,C,D)pmod=ss2moe(A,B,C,D,minfo)pmod=ss2mod(A,B,C,D,minfo,x0,u0,y0,f0)式中,A,B,C,D为通用状态空间矩阵;minfo为构成MPC状态空间模型的其他描述信息,为7个元素的向量,各元素分别定义为:minfo(1)=dt,系统采样周期,默认值为1;minfo(2)=n,系统阶次,默认值为系统矩阵A的阶次;minfo(3)=nu,受控输入的个数,默认值为系统输入的维数;minfo(4)=nd,测量扰的数目,默认值为0;minfo(5)=nw,未测量扰动的数目,默认值为0;minfo(6)=nym,测量输

6、出的数目,默认值系统输出的维数;minfo(7)=nyu,未测量输出的数目,默认值为0;注:如果在输入参数中没有指定minfo,则取默认值。x0,u0,y0,f0为线性化条件,默认值均为0;pmod为系统的MPC状态空间模型格式。例8-5将如下以传递函数表示的系统模型转换为MPC状态空间模型。G(s)=s23s1s32s22s1解:MATLAB命令如下:num=131;den=1221;A,B,C,D=tf2ss(num,den);pmod=ss2mod(A,B,C,D)第2页共10页其输出结果为:pmod=1310010NaN-2-2-11000100000001000001310002)M

7、PC状态空间模型转换为通用状态空间模型函数mod2ss()该函数的调用格式为A,B,C,D=mod2ss(pmod)A,B,C,D,minfo=mod2ss(pmod)A,B,C,D,minfo,x0,u0,y0,f0=mod2ss(pmod)式中,pmod为系统的MPC状态空间模型格式;A,B,C,D为通用状态空间矩阵;minfo为构成MPC状态空间模型的其他描述彳t息,其说明参见函数ss2moc()。2.通用传递函数模型转换为MPC传递函数模型通用传递函数模型与MPC传递函数模型的转换函数poly2tfd()的调用格式为g=poly2tfd(num,den,delt,delay)式中,nu

8、m为通用传递函数模型的分子多项式系数向量;den为通用传递函数模型的分母多项式系数向量;delt为采样周期,对连续系统,该参数为0;delay为系统纯时延,对于离散系统,纯时延为采样时间周期的整数倍;g为被控对象的MPC传递函数模型。例8-6考虑如下的纯时延二阶对象,并将其转换为MPC传递函数模型。10-5s/G(s)=e(s1)2s4s4解:MATLAB命令如下:>>num=11;den=144;>>g=poly2tfd(num,den,0,0.5)结果显示:g=01.00001.00001.00004.00004.000000.500003. MPC传递函数模型转换

9、为MPC状态空间模型函数tfd2mod()该函数的调用格式为pmod=tfd2mod(delt,ny,g1,g2,g25)式中,delt为采样时间;ny为输出个数;g1,g2,为SISO传递函数,对应多变量系统传递函数矩阵的各个元素按行向量顺序排序构成的向量,其最大个数限制为25;pmod为系统的MPC犬态空间模型。4. MPC阶跃响应模型与其他模型格式之间的转换函数mod2step()、tfd2step()和ss2step)分别用于将MPC状态空间模型、MPC传递函数模型和通用状态空间模型转换为MPC阶跃响应模型。下面对这个三函数的用法进行说明。1) MPC状态空间模型转换为MPC阶跃响应模

10、型函数mod2step()plant=mod2step(pmod,tfinal)plant,dplant=mod2step(pmod,tfinal,delt,nout)式中,pmod为系统的MPC状态空间模型;tfinal为阶跃响应模型的截断时间;delt为采样周期,默认值由MPC状态空间模型的参数minfo(1)决定;nout为输出稳定性向量,用于指定输出的稳定性。对于稳定的系统,nout等于输出的个数;对于具有一个或多个积怨分输出的系统,nout为一个长度等于输出个数的向量,该向量对应积分输出的分量为0,其余分量为1;plant为对象在受控变量作用下的阶跃响应系数矩阵;dplant为对象在

11、扰动作用下阶跃响应矩阵。2) MPC传递函数模型转换为MPC阶跃响应模型函数tfd2step()该函数的调用格式为plant=tfd2step(tfinal,delt,nout,g1)plant=tfd2step(tfinal,delt,nout,g1,g25)式中,情nal为阶跃响应的截断时间;delt为采样周期;nout为输出稳定性向量,参见函数mod2step()的有关说明;g1,g25为SISO传递函数,对应多变量系统传递函数矩阵的各个元素按行向量顺序排列构成的向量,其最大个数限制为25;plant为对象的阶跃响应系统矩阵。例8-8设系统传递函数为G(s)二2s3s1将其转换为阶跃响应

12、模型。解:MATLAB命令如下:>>num=12;den=131;>>tf1=poly2tfd(num,den,0,0);>>plant=tfd2step(5,0.1,1,tf1);>>plotstep(plant)由阶跃响应模型绘制的系统阶跃响应曲线如图8-5所示图8-5系统阶跃响应曲线8.4基于阶跃响应模型的控制器设计与仿真函数基于系统的阶跃响应模型进行模型预测控制器设计的方法称为动态矩阵控制方法。该方法是采用工程上易于获取的对象阶跃响应模型,算法较为简单,计算量较少,鲁棒性较强,适用于纯时迟、开环渐近稳定的非最小相位系统,在工业过程控制中得

13、到成功应用。MATLAB的模型预测控制工具箱提供了对动态矩阵控制方法的支持,有关的函数能够基于阶跃响应模型的模型预测控制器设计与仿真,见表8-3。表8-3动态矩阵控制设计与仿真函数函数名功能cmpc()输入/输出有约束的模型预测控制器设计mpccon()输入/输出无约束的模型预测控制器设计mpccl()计算模型预测控制系统的闭环模型mpcsim()模型预测控制系统的仿真(输入/输出无约束)nlcmpc()Simulink块nlcmpc对应的S函数nlmpcsim()Simulink块nlmpcsim对应的S函数例8-12考虑如下的双输入输出纯时延对象,其传递函数矩阵为一12.8e,s6.6e,

14、sI、16.7s+110.9s+1G(s)=-18.9es-19.4e*s:21.0s+114.4s+1-解:MATLAB程序如下:clc,clear;closeall%等传递函数模型转换为阶跃响应模型g11=poly2tfd(12.8,16.71,0,1);g12=poly2tfd(6.6,10.91,0,7);g21=poly2tfd(-18.9,211,0,3);g22=poly2tfd(-19.4,14.41,0,3);delt=3;须样周期ny=2;tfinal=90;model=tfd2step(tfinal,delt,ny,g11,g12,g21,g22);%进行模型预测控制器设

15、计plant=model;%预测时域长度为6p=6;m=2;ywt=;uwt=;%设置输入约束和参考轨迹等控制器参数r=11;tend=30;%仿真时间为30ulim=-0.1-0.10.550.50.1100;ylim=;y,u,ym=cmpc(plant,model,ywt,uwt,m,p,tend,r,ulim,ylim);plotall(y,u,delt)闭环系统的输出和控制量变化曲线如图1所示图1闭环系统的输出和控制量变化曲线8.4基于状态空间模型的预测控制器设计函数在MATLAB模型预测控制工具箱中,除了提供基于阶跃响应模型的预测控制器设计功能外,还提供了MPC状态空间模型的预测控

16、制器设计功能。有关的函数参见表8-4o表8-4基于MPC状态空间模型的预测控制器设计函数功能函数名scmpc()smpccon()smpccl()smpcsim()smpcest()输入/输出有约束的状态空间模型预测控制器设计输入/输出无约束的状态空间模型预测控制器设计计算输入/输出无约束的模型预测闭环控制系统模型输入有约束的模型预测闭环控制系统仿真状态估计器设计8.4.1 输入/输出有约束的状态空间模型预测控制器设计函数scmpc()用于进行输入/输出有约束条件下的状态空间模型预测控制器设计,该函数的调用格式为y,u,ym=scmpc(pmod,imod,ywt,uwt,M,P,tend,r

17、,ulim,ylim,kest,z,v,w,wu)式中,pmod为MPC状态空间模型格式的对象状态空间模型,用于仿真;imod为MPC状态空间模型格式的对象内部模型,用于预测控制器设计;ywt为二次型性能指标的输出误差加权矩阵;uwt为二次型性能指标的控制量加权矩阵;M为控制时域长度;P为预测时域长度;tend为仿真的结束时间;r为输入设定值或参考轨迹;ulim=ulowuhighdelu,式中,ulow为控制变量的下界,uhigh为控制变量的上界,delu为控制变量的变化率约束;ylim=ylowyhigh,式中,ylow为输出的下界,yhigh为输出的上界;kest为估计器的增益矩阵;z为

18、测量噪声;v为测量扰动;w为输出未测量扰动;wu为施加到控制输入的未测量扰动;y为系统响应;u为控制变量;ym为模型预测输出。例8-15考虑如下的双输入输出纯时延对象,其传递函数矩阵为12.8e,s6.6eJsG(s)=16.7s110.9s1-18.9e郃-19.4e's_21.0s+114.4s1解:MATLAB程序如下:clc,clear;closeall;%等传递函数模型转换为状态空间模型g11=poly2tfd(12.8,16.71,0,1);g12=poly2tfd(6.6,10.91,0,7);g21=poly2tfd(-18.9,211,0,3);g22=poly2tfd(-19.4,14.41,0,3);delt=3;ny=2;imodel=tfd2mod(delt,ny,g11,g12,g21,g22);%进行模型预测控

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论