自适应MPC控制的非线性化学反应器使用在线估计模型
这个例子展示了如何使用一个适应性MPC控制器来控制非线性连续搅拌釜反应器(装运箱)从低转化率高转化率的转换。
离散时间ARX模型被递归多项式模型识别在线估计块在每个时间间隔的控制。自适应MPC控制器使用它来更新核电站内部模型,成功实现了非线性控制。
连续搅拌釜反应器
连续搅拌釜反应器(装运箱)是一种常见的化学系统过程中产业。装运箱系统的原理是:
这是一个夹套非绝热的釜式反应器广泛描述在Seborg的书,“过程动力学和控制”,由威利出版,2004年。这艘船被认为是完全混合,和一个一阶放热、不可逆的反应,——> B,发生。进口试剂是美联储的流槽以恒定容积率。产品流出口连续在同一液体容积率和密度是常数。因此反应液体的体积是恒定的。
装运箱模型的输入:
和输出(y (t)),也是模型的状态(x (t))是:
控制目标是维持反应堆温度在其预期的定位点,从而改变随着时间的推移,当反应堆从低转化率高转化率的转换。冷却液温度是被操纵的变量使用的MPC控制器跟踪参考以及拒绝进口原料流的测量产生干扰温度。进口原料流浓度,,被认为是常数。仿真软件金宝app模型mpc_cstr_plant
实现了非线性装运箱厂。有关装运箱反应堆的更多信息和相关的例子,看看装运箱模型。
关于自适应预测控制模型
众所周知,装运箱动态强烈非线性对反应堆温度变化,可以开环不稳定在过渡到另一个从一个操作条件。单个MPC控制器设计在特定的操作条件不能令人满意的控制性能在一个宽的操作范围。
与线性控制非线性装运箱厂MPC控制技术,你有几个选择:
如果无法获得线性植物模型在运行时,首先需要获得一些线性植物模型离线在不同的操作条件,典型的操作范围。接下来你可以选择的两种方法之一实现MPC控制策略:
(1)设计几个MPC控制器脱机,每个工厂模型。在运行时,使用多个MPC控制器块从一个到另一个基于开关MPC控制器所需的调度策略。看到Gain-Scheduled MPC控制非线性化学反应器为更多的细节。使用这种方法时,植物模型有不同的订单或时间延迟。
(2)设计一个MPC控制器在初始操作点离线。在运行时,使用自适应MPC控制器块(更新预测模型在每个控制区间)和线性参数变化系统(LPV)块(与调度策略提供线性植物模型)。看到自适应MPC控制使用线性变参数系统的非线性化学反应器为更多的细节。使用这种方法,当所有的植物模型有相同的顺序和时间延迟。
如果一个线性植物模型可以获得在运行时,您应该使用自适应MPC控制器实现非线性控制块。有两种典型的方式来获得线性植物模型在线:
(1)使用逐次线性化。看到自适应MPC控制使用逐次线性化的非线性化学反应器为更多的细节。使用这种方法,当一个非线性植物模型是可用的,并且可以在运行时线性化。
(2)使用在线估计来确定线性模型封闭循环时,如本例所示。使用这种方法,当植物并不表现出快速稳定动力学和当一个线性模型不能获得一个LPV系统或连续的线性化。
获得线性植物模型在初始运行条件
实现一个自适应MPC控制器,首先需要设计一个MPC控制器在初始操作点CAi 10 kgmol / m ^ 3, Ti和Tc 298.15 K。
创建操作规范。
plant_mdl =“mpc_cstr_plant”;op = operspec (plant_mdl);
进料浓度已知的初始条件。
op.Inputs (1)。u = 10;op.Inputs (1)。知道= true;
进料温度是已知的初始条件。
op.Inputs (2)。u = 298.15;op.Inputs (2)。知道= true;
冷却液温度是已知的初始条件。
op.Inputs (3)。u = 298.15;op.Inputs (3)。知道= true;
计算初始条件。
[op_point, op_report] = findop (plant_mdl, op);
操作点搜索报告:- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - opreport mpc_cstr_plant =操作点搜索报告模型。(时变组件评估在时间t = 0)操作点规范成功实现。状态:- - - - - - - - - - - Min x马克斯dxMin dx dxMax………………………………(1) mpc_cstr_plant /装运箱/集成商0 311.2639正0 8.1176 e-11 0 (2) mpc_cstr_plant /装运箱/ Integrator1 0 8.5698正0 -6.8709 e-12 0输入:- - - - - - - - - - -看上去最小u最大长得一样(1)mpc_cstr_plant / CAi 10 10 10 (2) mpc_cstr_plant / Ti 298.15 298.15 298.15 (3) mpc_cstr_plant / Tc 298.15 298.15 298.15输出:- - - - - - - - - - - Min y马克斯说______ (1)mpc_cstr_plant / T 311.2639负无穷到正无穷(2)mpc_cstr_plant / CA负8.5698正无穷
获得的名义值x, y和u。
x0 = [op_report.States(1)方式;op_report.States(2)方式);y0 = [op_report.Outputs (1) .y; op_report.Outputs (2) .y);情况= [op_report.Inputs (1) .u; op_report.Inputs (2) .u; op_report.Inputs (3) .u);
获得线性植物模型的初始条件。
sys =线性化(plant_mdl op_point);
放弃第一个工厂输入CAi和第二输出由MPC CA,因为他们不习惯。
sys =系统(2:3);
工厂模型离散化,因为自适应MPC控制器只接受一个离散时间模型。
t = 0.5;工厂=汇集(sys、Ts);
MPC控制器设计
你设计的MPC初始运行条件。在自适应模式下运行时,植物模型在运行时更新。
指定信号类型用于MPC。
plant.InputGroup。MeasuredDisturbances = 1;plant.InputGroup。ManipulatedVariables = 2;plant.OutputGroup。测量= 1;工厂。InputName = {“透明国际”,“Tc”};工厂。OutputName = {“T”};
创建MPC控制器与违约预测和控制的视野
mpcobj = mpc(植物);
- - >“PredictionHorizon”是空的。假设默认10。- - >“ControlHorizon”是空的。假设默认2。- - >“权重。ManipulatedVariables”是空的。假设默认的0.00000。- - >“权重。ManipulatedVariablesRate”是空的。假设默认的0.10000。 -->"Weights.OutputVariables" is empty. Assuming default 1.00000.
在控制器中设置名义值
mpcobj.Model。名义=结构(“X”x0,“U”情况(2:3),“Y”,y0 (1),“DX”[0 0]);
集规模因素,因为植物输入和输出信号有不同的数量级
Uscale = 50 [30];Yscale = 50;mpcobj.DV。ScaleFactor = Uscale (1);mpcobj.MV。ScaleFactor = Uscale (2);mpcobj.OV。ScaleFactor = Yscale;
由于冷却剂的物理约束的夹克,Tc速度每分钟2度的变化是有界的。
mpcobj.MV。杀鼠灵= 2;mpcobj.MV。RateMax = 2;
在本例中反应堆浓度并不直接控制。如果可以成功控制反应堆温度,浓度将达到期望的性能需求由于强烈的两个变量之间的耦合。
在仿真软件中实现自适应MPC控制装运箱工厂®金宝app
打开仿真软件模型。金宝app
mdl =“ampc_cstr_estimation”;open_system (mdl);
模型包括三个部分:
“装运箱”块实现了非线性植物模型。
“适应性MPC控制器”块设计MPC控制器自适应模式运行。
“递归多项式模型估计量”块估计两个输入(Ti和Tc)和一个输出(T)离散时间ARX模型基于测量温度。然后估计模型转换为状态空间形式的“模型类型转换器”块和美联储“适应性MPC控制器”块在每个时间间隔的控制。
在这个例子中,最初的植物模型用于初始化参数的在线估计协方差矩阵设置为1。在线估计方法与噪声协方差矩阵“卡尔曼滤波器”设置为0.01。对这些参数在线估计结果是敏感,你可以进一步调整达到更好的估计效果。
“递归多项式模型估计”和“模型类型转换器”由系统辨识工具箱提供。您可以使用两个街区作为一个模板来为您自己的应用程序开发合适的网络模型估计。
的初始值(q)和B (q)变量是填充初始的植物模型的分子和分母。
(num窝]= tfdata(植物);Aq =窝{1};Bq = num;
注意,新线性植物模型必须是一个离散时间状态空间系统订单和样品相同的时间与原始模型。如果工厂有时间延迟,它同样也必须与原始时间延迟和吸收状态空间模型。
验证自适应MPC控制性能
控制器性能验证选点跟踪和抗干扰性。
跟踪:反应堆温度T选点转换从原来的311 K(低转化率)到377 K(高转化率)kgmol / m ^ 3。
温度调节:喂Ti缓慢波动代表了振幅的正弦波5度,这是一个测量扰动喂MPC控制器。
模拟闭环性能。
open_system ([mdl/浓度的(mdl) open_system (/温度的])sim (mdl)
- - >输出假设干扰# 1添加到测量输出集成的白噪声。- - >”模型。噪音”是空的。假设白噪声在每个测量输出。
跟踪和调节性能非常满意。
与非自适应的MPC控制
比非自适应的MPC适应性政策委员会提供了优越的控制性能。为了说明这一点,同样的MPC控制器的控制性能在非自适应的运行模式如下所示。MPC控制器的控制器实现。
mdl1 =“ampc_cstr_no_estimation”;open_system mdl1 open_system ([mdl1/浓度的])open_system ([mdl1/温度的])sim (mdl1)
正如所料,跟踪和调节性能是不可接受的。
bdclose (mdl) bdclose (mdl1)