主要内容

明确的MPC控制直流伺服电动机与约束在无边无际的输出

这个例子展示了如何使用显式的MPC控制电压和轴转矩约束下的直流伺服机构。

一个类似的例子,使用传统的隐式MPC,明白了直流伺服电动机与约束在无边无际的输出

定义直流伺服电机模型

线性开环动态模型中定义植物。变量τ最大容许扭矩是用作输出约束。

(植物、τ)= mpcmotormodel;

指定输入和输出信号类型MPC控制器。第二个输出扭矩,是无法计量的。

植物= setmpcsignals(植物,“MV”,1“莫”,1“UO”2);

指定的约束

被操纵的变量是+ / - 220伏之间的限制。由于植物输入和输出不同的数量级,您还可以使用规模因素促进MPC调优。典型的选择比例因子上/下限或操作范围。

MV =结构(“最小值”,-220,“马克斯”,220,“ScaleFactor”,440);

扭矩输出约束只是强加在前三个预测措施限制明确政策委员会设计的复杂性。

OV =结构(“最小值”,{正无穷,τ,τ;τ;负)},“马克斯”,{正无穷,τ;τ,τ;正]},“ScaleFactor”,{2π* 2 *τ});

指定优化权重

控制的任务是得到零跟踪角位置的偏移量。因为你只有一个操纵变量,允许轴扭矩漂浮在其约束通过设置它的重量为零。

重量=结构(“MV”0,“MVRate”,0.1,机汇的,0.1 [0]);

创建MPC控制器

创建一个MPC控制器样品时间Ts,预测地平线p和控制的地平线

t = 0.1;p = 10;m = 2;mpcobj = mpc(植物、t、p、m,重量、MV, OV);

产生明确的MPC控制器

明确的MPC相当于执行显式的分段仿射版本的传统隐式定义的MPC控制律MPC控制器。从一个隐式生成一个显式的MPC控制器MPC控制器,您必须为每个控制器状态指定范围,参考信号,操纵变量,测量干扰,不确定型二次规划问题是解决在这些范围定义的参数设置。

创建一系列结构,您可以为每个参数指定范围。

范围= generateExplicitRange (mpcobj);
- - >将模型转换为离散时间。假设没有干扰测量输出通道# 1。- - >”模型。噪音”属性的“mpc”对象是空的。假设白噪声在每个测量输出通道。

指定范围控制器状态

MPC控制器状态包括从植物模型,扰动模型和噪声模型。设置一个状态变量的范围有时是困难的时候不对应一个物理参数。在这种情况下,收集状态区间数据,运行多个开环装置模拟与典型的参考建议和干扰信号。

range.State.Min (,) = -1000;range.State.Max (,) = 1000;

通常你知道所使用的参考信号的实际范围的名义操作点。用于生成的范围明确的MPC控制器必须至少一样大的实际范围。注意参考转矩的范围是固定的0因为它重量为零。

range.Reference。最小值= (5;0);range.Reference。Max = (5; 0);

如果操纵变量约束,用于生成范围明确的MPC控制器必须至少一样大这些限制。

range.ManipulatedVariable。Min = MV。分钟- 1;range.ManipulatedVariable。Max = MV。Max + 1;

创建一个显式的MPC控制器与指定的范围。

mpcobjExplicit = generateExplicitMPC (mpcobj、范围)
发现/未开拓的地区:75/0明确MPC控制器- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -控制器样品时间:0.1(秒)多面区域:75数量的参数:6是解决方案简化:没有状态估计:默认卡尔曼增益- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -“mpcobjExplicit类型。MPC的原始隐MPC的设计。“mpcobjExplicit类型。范围的参数的有效范围。“mpcobjExplicit类型。OptimizationOptions”选项用于不确定型QP计算。“mpcobjExplicit类型。PiecewiseAffineSolution”区域,并获得在每个解决方案。

情节分段仿射分区

你可以审查任何二维部分的分段仿射分区明确定义的MPC控制律。要做到这一点,首先创建一个参数结构,您可以指定2 d部分情节。

params = generatePlotParameters (mpcobjExplicit);

在本例中,您的阴谋第一个状态变量对第二个状态变量。所有其他参数都必须固定在各自范围内值。

解决其他状态变量。

params.State。指数= [3 - 4];params.State。值= [0 0];

修复参考信号。

params.Reference。指数= (1 - 2);params.Reference。值=(π0);

解决操纵变量。

params.ManipulatedVariable。指数= 1;params.ManipulatedVariable。值= 0;

情节指定的二维截面。

plotSection (mpcobjExplicit params);轴([-。3。3 2 2]);网格标题(分区的部分(x3 (t) = 0 x4 (t) = 0, u (t - 1) = 0, r (t) =π)”)包含(“x1 (t)”)ylabel (“x2 (t)”)

模拟控制器使用sim卡函数

比较之间的闭环仿真结果隐含的MPC和明确的MPC控制器。

Tstop = 8;%秒Tf =圆(Tstop / Ts);%模拟迭代πr = [0];%的参考信号(y1, t1, u1) = sim (mpcobj, Tf, r);与传统MPC %模拟(y2, t2, u2) = sim (mpcobjExplicit, Tf, r);使用显式的MPC %模拟
- - >将模型转换为离散时间。假设没有干扰测量输出通道# 1。- - >”模型。噪音”属性的“mpc”对象是空的。假设白噪声在每个测量输出通道。

仿真结果是相同的。

流(隐式和显式的区别MPC轨迹= % g \ n ',规范(u2-u1) +规范(y2-y1));
隐式和显式的区别MPC轨迹= 7.57032 e-12

使用仿真软件模拟金宝app

这个例子中,运行仿真软件®是必需的。金宝app

如果~ mpcchecktoolboxinstalled (“金宝app模型”)disp (”金宝app模型(R)需要运行这个例子。)返回结束

植物模拟闭环控制的线性模型在仿真软件。金宝app块被配置为使用显式MPC控制器mpcobjExplicit作为控制器。

mdl =“empc_motor”;open_system (mdl) sim (mdl)

闭环反应是相同的传统MPC控制器设计直流伺服电动机与约束在无边无际的输出

使用最优显式MPC控制

为了减少内存占用,您可以使用简化函数来减少分段仿射区域的解决方案。例如,您可以删除区域的切比雪夫半径小于0.08。然而,你付出的代价是,控制器性能不佳。

mpcobjExplicitSimplified =简化(mpcobjExplicit,“半径”,0.08)
区域分析:75/75——> 37区域删除。明确MPC控制器- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -控制器样品时间:0.1(秒)多面区域:38号参数:6是解决方案简化:是的状态估计:默认卡尔曼增益- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -“mpcobjExplicitSimplified类型。MPC的原始隐MPC的设计。“mpcobjExplicitSimplified类型。范围的参数的有效范围。“mpcobjExplicitSimplified类型。OptimizationOptions”选项用于不确定型QP计算。“mpcobjExplicitSimplified类型。PiecewiseAffineSolution”区域,并获得在每个解决方案。

分段仿射区域的数量已经减少了。

比较不明确的政策委员会之间的闭环仿真结果和明确的政策委员会。

[y3, t3, u3] = sim (mpcobjExplicitSimplified, Tf, r);
- - >将模型转换为离散时间。假设没有干扰测量输出通道# 1。- - >”模型。噪音”属性的“mpc”对象是空的。假设白噪声在每个测量输出通道。

仿真结果是不一样的。

流(确切的区别和不明确的MPC轨迹= % g \ n ',规范(u3-u2) +规范(y3-y2));
准确和不明确的MPC轨迹之间的区别= 439.399

阴谋的结果。

图次要情节(3、1、1)的阴谋(t1, y1 (: 1), t3、y3 (: 1),“o”网格)标题(“角(rad)”)传说(“明确”,“次优显式”次要情节(3、1、2)情节(t1, y1 (:, 2), t3、y3 (:, 2),“o”网格)标题(“转矩(Nm)”)传说(“明确”,“次优显式”次要情节(3,1,3)情节(t1, u1, t3, u3,“o”网格)标题(“电压(V)”)传说(“明确”,“次优显式”)

仿真结果使用不明确的MPC是稍差。

引用

[1]a Bemporad和e·莫斯卡”,实现硬约束的不确定线性系统通过引用管理”自动化,34卷,不。4、451 - 461年,1998页。

bdclose (mdl)

相关的话题