MATLAB模型预测控制工具箱函数_第1页
MATLAB模型预测控制工具箱函数_第2页
MATLAB模型预测控制工具箱函数_第3页
MATLAB模型预测控制工具箱函数_第4页
MATLAB模型预测控制工具箱函数_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

1、1 1 matlab 模型预测控制工具箱函数8.2 系统模型建立与转换函数前面读者论坛了利用系统输入/输出数据进行系统模型辨识的有关函数及使用方法,为时行模型预测控制器的设计,需要对系统模型进行进一步的处理和转换。matlab 的模型预测控制工具箱中提供了一系列函数完成多种模型转换和复杂系统模型的建立功能。在模型预测控制工具箱中使用了两种专用的系统模型格式,即 mpc 状态空间模型和 mpc 传递函数模型。这两种模型格式分别是状态空间模型和传递函数模型在模型预测控制工具箱中的特殊表达形式。这种模型格式化可以同时支持连续和离散系统模型的表达, 在 mpc 传递函数模型中还增加了对纯时延的支持。表

2、 8-2 列出了模型预测控制工具箱的模型建立与转换函数。表 8-2 模型建立与转换函数函数名功能ss2mod()mod2ss()poly2tfd ()tfd2mod() mod2step() tfd2step() ss2step() mod2mod() th2mod()将通用状态空间模型转换为mpc 状态空间模型将 mpc 状态空间模型转换为通用状态空间模型将通用传递函数模型转换为mpc 传递函数模型将 mpc 传递函数模型转换为mpc 状态空间模型将 mpc 状态空间模型转换为mpc 阶跃响应模型将 mpc 传递函数模型转换为mpc 附跃响应模型将通用状态空间模型转换为mpc 附跃响应模型改

3、变 mpc 状态空间模型的采样周期将 theta 格式模型转换为mpc 状态空间模型addmod() 将两个开环mpc 模型连接构成闭环模型,使其中一个模型输出叠加到另一个模型输入addmd() addumd() paramod() sermod() appmod() 向 mpc 对象添加一个或多个测量扰动向 mpc 对象添加一个或多未测量扰动将两个 mpc 系统模型并型将两个 mpc 系统模型串联用两个 mpc 系统模型构成增广系统模型8.2.1 模型转换在 matlab模型预测工具箱中支持多种系统模型格式。这些模型格式包括: 通用状态空间模型; 通用传递函数模型; mpc 阶跃响应模型;

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

5、信息, 函数 ss2mod()和 mod2ss()用于实现这两种模型格式之间的转换。1)通用状态空间模型转换为mpc 状态空间模型函数ss2mod()该函数的调用格式为pmod= ss2mod(a,b,c,d) pmod= ss2mod(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 的阶次

6、;minfo(3)=nu ,受控输入的个数,默认值为系统输入的维数;minfo(4)=nd ,测量扰的数目,默认值为0;minfo(5)=nw ,未测量扰动的数目,默认值为0;minfo(6)=nym ,测量输出的数目,默认值系统输出的维数;minfo(7)=nyu,未测量输出的数目,默认值为0;注:如果在输入参数中没有指定 minfo,则取默认值。x0, u0, y0, f0 为线性化条件,默认值均为0;pmod 为系统的 mpc 状态空间模型格式。例 8-5 将如下以传递函数表示的系统模型转换为mpc 状态空间模型。解:matlab 命令如下:其输出结果为:pmod = 1 3 1 0 0

7、 1 0 nan -2 -2 -1 1 0 0 0 1 0 0 0 0 0 num=1 3 1;den=1 2 2 1;a,b,c,d=tf2ss(num,den);pmod=ss2mod(a,b,c,d)1 1 0 0 1 0 0 0 0 0 1 3 1 0 0 0 2)mpc 状态空间模型转换为通用状态空间模型函数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 状态空间模型格式;

8、 a,b,c,d 为通用状态空间矩阵;minfo 为构成 mpc 状态空间模型的其他描述信息,其说明参见函数ss2mod()。2通用传递函数模型转换为mpc 传递函数模型通用传递函数模型与mpc 传递函数模型的转换函数poly2tfd()的调用格式为g=poly2tfd(num,den,delt,delay)式中, num 为通用传递函数模型的分子多项式系数向量;den 为通用传递函数模型的分母多项式系数向量;delt 为采样周期,对连续系统,该参数为0;delay 为系统纯时延,对于离散系统,纯时延为采样时间周期的整数倍;g 为被控对象的mpc 传递函数模型。例 8-6 考虑如下的纯时延二阶

9、对象,并将其转换为mpc 传递函数模型。解:matlab 命令如下: num=1 1;den=1 4 4; g=poly2tfd(num,den,0,0.5) 结果显示:g = 0 1.0000 1.0000 1.0000 4.0000 4.0000 0 0.5000 0 3mpc 传递函数模型转换为mpc 状态空间模型函数tfd2mod()该函数的调用格式为pmod=tfd2mod(delt,ny,g1,g2,g25)式中, delt 为采样时间;ny 为输出个数;g1,g2, 为 siso传递函数,对应多变量系统传递函数矩阵的各个元素按行向量顺序排序构成的向量,其最大个数限制为25;pmo

10、d为系统的 mpc 状态空间模型。1 1 4mpc 阶跃响应模型与其他模型格式之间的转换函数 mod2step()、tfd2step()和 ss2step()分别用于将 mpc 状态空间模型、 mpc传递函数模型和通用状态空间模型转换为mpc 阶跃响应模型。下面对这个三函数的用法进行说明。1)mpc 状态空间模型转换为mpc 阶跃响应模型函数mod2step()plant=mod2step(pmod,tfinal) plant, dplant=mod2step(pmod,tfinal,delt,nout) 式中, pmod 为系统的 mpc 状态空间模型;tfinal 为阶跃响应模型的截断时间

11、;delt 为采样周期,默认值由mpc 状态空间模型的参数minfo(1)决定;nout 为输出稳定性向量,用于指定输出的稳定性。对于稳定的系统,nout 等于输出的个数;对于具有一个或多个积怨分输出的系统,nout 为一个长度等于输出个数的向量,该向量对应积分输出的分量为0,其余分量为 1;plant 为对象在受控变量作用下的阶跃响应系数矩阵;dplant 为对象在扰动作用下阶跃响应矩阵。2)mpc 传递函数模型转换为mpc 阶跃响应模型函数tfd2step()该函数的调用格式为plant=tfd2step(tfinal,delt,nout,g1) plant=tfd2step(tfinal

12、,delt,nout,g1,g25)式中, tfinal 为阶跃响应的截断时间;delt 为采样周期;nout 为输出稳定性向量,参见函数mod2step()的有关说明;g1, ,g25 为 siso传递函数,对应多变量系统传递函数矩阵的各个元素按行向量顺序排列构成的向量,其最大个数限制为25;plant为对象的阶跃响应系统矩阵。例 8-8 设系统传递函数为将其转换为阶跃响应模型。解:matlab 命令如下: num=1 2;den=1 3 1; tf1=poly2tfd(num,den,0,0); plant=tfd2step(5,0.1,1,tf1); plotstep(plant) 由阶

13、跃响应模型绘制的系统阶跃响应曲线如图8-5 所示。图 8-5 系统阶跃响应曲线8.4 基于阶跃响应模型的控制器设计与仿真函数1 1 基于系统的阶跃响应模型进行模型预测控制器设计的方法称为动态矩阵控制方法。该方法是采用工程上易于获取的对象阶跃响应模型,算法较为简单,计算量较少,鲁棒性较强,适用于纯时迟、开环渐近稳定的非最小相位系统,在工业过程控制中得到成功应用。matlab 的模型预测控制工具箱提供了对动态矩阵控制方法的支持,有关的函数能够基于阶跃响应模型的模型预测控制器设计与仿真,见表8-3。表 8-3 动态矩阵控制设计与仿真函数函数名功能cmpc() mpccon() mpccl() mpc

14、sim() nlcmpc() nlmpcsim()输入/输出有约束的模型预测控制器设计输入/输出无约束的模型预测控制器设计计算模型预测控制系统的闭环模型模型预测控制系统的仿真(输入 /输出无约束 )simulink 块 nlcmpc 对应的 s函数simulink 块 nlmpcsim 对应的 s 函数例 8-12考虑如下的双输入输出纯时延对象,其传递函数矩阵为解:matlab 程序如下:闭环系统的输出和控制量变化曲线如图1 所示。图 1 闭环系统的输出和控制量变化曲线8.4 基于状态空间模型的预测控制器设计函数在 matlab 模型预测控制工具箱中,除了提供基于阶跃响应模型的预测控制器设计功

15、能外, 还提供了 mpc 状态空间模型的预测控制器设计功能。有关的函数参见表 8-4。表 8-4 基于 mpc 状态空间模型的预测控制器设计函数函数名功能scmpc() smpccon() smpccl() smpcsim() smpcest()输入/输出有约束的状态空间模型预测控制器设计输入/输出无约束的状态空间模型预测控制器设计计算输入 /输出无约束的模型预测闭环控制系统模型输入有约束的模型预测闭环控制系统仿真状态估计器设计8.4.1 输入/输出有约束的状态空间模型预测控制器设计函数 scmpc()用于进行输入 /输出有约束条件下的状态空间模型预测控制器设计,该函数的 调用格式 为y, u

16、, ym=scmpc(pmod, imod, ywt, uwt, m, p, tend, r, ulim, ylim, kest, z, v, w, wu) 式中, pmod 为 mpc 状态空间模型格式的对象状态空间模型,用于仿真;imod 为 mpc 状态空间模型格式的对象内部模型,用于预测控制器设计;clc,clear;close all ;% 将传递函数模型转换为阶跃响应模型g11=poly2tfd(12.8,16.7 1,0,1);g12=poly2tfd(6.6,10.9 1,0,7);g21=poly2tfd(-18.9,21 1,0,3);g22=poly2tfd(-19.4,

17、14.4 1,0,3);delt=3; % 采样周期ny=2;tfinal=90;model=tfd2step(tfinal,delt,ny,g11,g12,g21,g22);% 进行模型预测控制器设计plant=model;% 预测时域长度为6p=6;m=2;ywt=;uwt=;% 设置输入约束和参考轨迹等控制器参数r=1 1;tend=30; % 仿真时间为 30ulim=-0.1 -0.1 0.55 0.5 0.1 100;ylim=;y,u,ym=cmpc(plant,model,ywt,uwt,m,p,tend,r,ulim,ylim);plotall(y,u,delt)1 1 yw

18、t 为二次型性能指标的输出误差加权矩阵;uwt 为二次型性能指标的控制量加权矩阵;m 为控制时域长度;p 为预测时域长度;tend为仿真的结束时间;r 为输入设定值或参考轨迹;ulim=ulow uhigh delu ,式中, ulow 为控制变量的下界, uhigh 为控制变量的上界, delu 为控制变量的变化率约束;ylim=ylow yhigh ,式中, ylow 为输出的下界, yhigh 为输出的上界;kest为估计器的增益矩阵;z 为测量噪声; v 为测量扰动; w 为输出未测量扰动;wu 为施加到控制输入的未测量扰动;y 为系统响应; u 为控制变量; ym 为模型预测输出。1 1 例 8-15考虑如下的双输入输出纯时延对象,其传递函数矩阵为解:matlab 程序如下:闭环系统的输出和控制量变化曲线如图2 所示。图 2 闭环系统的输出和控制量变化曲线1 李国勇 . 智能控制及其matlab实现 m. 北京:电子工业出版社, 2005. clc,clear;close all ;% 将传递函数模型转换为状态空间模型g11=poly2tfd(12.8,16.7 1,0,1);g12=poly2tfd(6.6,10.9 1,0,7);g21=poly2tfd(-18.9,21 1,0,3);g22=poly2tfd(-19.4,14.4 1

温馨提示

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

评论

0/150

提交评论