主要内容

sim卡

模拟一个MPC控制器在闭环线性植物

描述

使用模型预测控制工具箱™sim卡函数来模拟,在离散时间,闭环或开环反应的植物和约束和权重的MPC控制器在运行时不改变。MPC控制器可以隐式或显式,工厂必须线性定常控制,您必须指定参考提前和干扰信号。默认情况下,使用的植物模拟的mpcobj.Model.Plant,但是您可以使用一个不同的植物模型控制器鲁棒性评估模型不匹配。

运行仿真软件编万博1manbetx程模型相反,看到的sim卡(万博1manbetx模型)

sim卡(mpcobj,Ns,r)模拟闭环响应指定的参考信号,r。在离散时间模拟运行时,样品时间mpcobj,因为Ns-1仿真的步骤,并绘制仿真结果。工厂模式中指定的一个mpcobj.Model.Plant(离散或重新取样,如果需要的话)。MPC控制器mpcobj可以是一个传统的MPC控制器(货币政策委员会)或显式MPC控制器(explicitMPC)。如果您省略Nsr然后使用默认值。

例子

sim卡(mpcobj,Ns,r,v)还指定了测量的干扰信号v

sim卡(___,SimOptions)指定额外的模拟选项。这个语法允许您更改默认的模拟选项,如初始状态、输入/输出噪声,和无边无际的干扰,植物不匹配等。它还允许您在开环模拟工厂。您可以使用SimOptions与任何以前的输入组合。

(y,t,u,xp,xc,SimOptions)= sim卡(___)抑制绘图和相反的回报:

  • 植物的顺序输出y,

  • 的时间序列t(等距的mpcobj.Ts),

  • 被操纵的变量u生成的MPC控制器,

  • 序列xp州的工厂的模型用于模拟,

  • 序列xmpc州的MPC控制器(由状态观测器提供),

  • 和仿真选择对象,SimOptions

例子

全部折叠

模拟味噌的MPC控制系统。系统有一个操纵变量,一个测量干扰,一个无边无际的扰动,和一个输出。

创造了连续时间模型。这种植物的预测模型将被用作MPC控制器。

sys = ss (tf ({1 1 1}、{[1 5 1], [1], [。7。5 1]}));

离散化植物模型使用的采样时间0.2单位。

t = 0.2;sysd =汇集(sys、Ts);

指定MPC信号类型的输入信号。

sysd = setmpcsignals(马里兰州sysd, MV = 1 = 2, UD = 3);

创建一个MPC控制器sysd工厂模式。使用默认值重量和视野。

mpcobj = mpc (sysd);
- - >“PredictionHorizon”是空的。假设默认10。- - >“ControlHorizon”是空的。假设默认2。- - >“权重。ManipulatedVariables”是空的。假设默认的0.00000。- - >“权重。ManipulatedVariablesRate”是空的。假设默认的0.10000。 -->"Weights.OutputVariables" is empty. Assuming default 1.00000.

限制的被控变量[0 1]的范围内。

mpcobj。MV =结构(Min = 0, Max = 1);

指定仿真停止时间。

Tstop = 30;

定义参考信号和测量的干扰信号。

num_sim_steps =圆(Tstop / Ts);r = 1 (num_sim_steps, 1);v = [0 (num_sim_steps / 3,1);的(2 * num_sim_steps / 3,1)];

参考信号,r单位阶跃。测量的干扰信号,v是一个单位阶跃,10单位延迟。

模拟控制器。

sim (mpcobj num_sim_steps, r, v)
- - >”模型。干扰”属性是空的:假设无边无际的输入扰动# 3是集成的白噪声。假设没有干扰# 1添加到测量输出。- - >”模型。噪音”是空的。假设白噪声在每个测量输出。

图包含3轴对象。轴与ylabel对象1 1/2 MV1包含一个类型的对象。这些对象代表驾驶输入,MPC response1。轴2与ylabel MD1对象包含一个类型的对象。这些对象代表驾驶输入,MPC response1。坐标轴对象3 ylabel UD1包含一个类型的对象。这些对象代表驾驶输入,MPC response1。

图包含一个坐标轴对象。坐标轴对象包含2线类型的对象。这些对象代表驾驶输入,MPC response1。

输入参数

全部折叠

模型预测控制器,指定为以下之一:

数量的模拟点,包括零,指定为一个正整数。的模拟运行Ns-1之间的步骤,0Ts * (Ns-1)

如果您省略Ns,默认值是下列哪个数组的行数的最大行数:

  • 输入参数r

  • 输入参数v

  • UnmeasuredDisturbance的属性SimOptions如果指定的

  • OutputNoise的属性SimOptions如果指定的

  • 预测地平线之间的最大价值mpcobj.P10

例子:20.

参考信号,指定为一个数组。这个数组纽约列,纽约是总数量的输出(测量和无边无际的)工厂。r可以从1到地方吗Ns行。如果小于的行数Ns失踪的行设置等于最后一行。

如果Ns是空的或不明,它默认为名义的输出向量mpcobj.Model.Nominal.Y

例子:3(20日)

测量输入扰动信号,指定为一个数组。这个数组nv列,nv是测量的数量输入扰动。v可以从1到地方吗Ns行。如果小于的行数Ns失踪的行设置等于最后一行。

如果v是空的或不明,它默认的名义价值测量输入扰动,mpcobj.Model.Nominal.U (md),在那里医学博士是向量包含指数的测量干扰信号,所定义的setmpcsignals

例子:[0 (50,1),1 (50,1)]

模拟选项,用来指定额外的模拟选项以及噪声和干扰信号反馈到工厂,但未知的控制器。你也可以用这个对象来模拟植物在开环,或指定一个植物模型用于模拟中不同的mpcobj.Model.Plant,它允许您评估控制回路响应模型的鲁棒性不匹配。

有关更多信息,请参见mpcsimopt

输出参数

全部折叠

序列的植物输出价值观,作为一个返回Ns——- - - - - -纽约数组,Ns仿真步骤的数量和吗纽约是植物的数量输出。中的值y包括添加剂输出扰动和添加剂测量噪声(如果有的话)。

时间序列作为一个返回Ns1组,Ns仿真步骤的数目。中的值t是等距的mpcobj.Ts

序列生成的MPC控制器操纵变量的值,作为一个返回Ns——- - - - - -ν数组,Ns仿真步骤的数量和吗ν是操纵变量的数量。

州值序列的植物模型,作为一个返回Ns——- - - - - -Nxp数组,Ns仿真步骤的数量和吗Nxp在植物模型的状态数。工厂模型mpcobj.ModelSimOptions.Model,如果后者是指定的。

序列MPC控制器的状态,作为一个返回Ns1结构数组。结构数组中的每个条目都有相同的字段作为一个mpcstate对象。控制器使用内置线性卡尔曼滤波器来估计状态的植物,增强的干扰和噪声模型。控制器的状态是其内部卡尔曼滤波器的状态。为开环仿真,xc是空的。

用于模拟仿真选择对象。这个对象可以指定噪音和干扰信号反馈到工厂,但未知的控制器。它还可以指定如果模拟系统是开环或植物模型用于模拟不同于一个mpcobj.Model.Plant

有关更多信息,请参见mpcsimopt

版本历史

之前介绍过的R2006a