使用MPC设计器测试MPC控制器的鲁棒性
这个例子展示了如何使用模拟测试模型预测控制器对预测误差的灵敏度MPC设计师.
测试控制器对预测误差的鲁棒性是一个很好的实践。经典相位裕度和增益裕度是量化SISO应用的鲁棒性的一种方法。鲁棒控制工具箱™软件为MIMO系统提供了更复杂的方法。它还可以帮助评估鲁棒性运行模拟与选定的模型不匹配和干扰。
定义植物模型
对于本例,使用中描述的CSTR模型装运箱模型并用于使用MPC设计器设计控制器.
在这个模型中,前两个状态变量是试剂的浓度(这里称为C一个单位是kmol/m3.)和反应堆温度(这里称为T,单位为K),而前两个输入是冷却剂温度(Tc,单位为K,用于控制装置),流入饲料试剂浓度C一个f测量单位为kmol/m3.,(通常被认为是不可测量的干扰)。
创建CSTR系统的状态空间模型。
A = [-5 -0.3427;47.68 - 2.785);B = [0 1 0.3 0];C =翻转(眼(2));D = 0 (2);CSTR = ss(A,B,C,D);
指定信号名称和类型
假设进料流试剂浓度C一个f是一个不可测量的干扰和试剂浓度C一个是一个未测量的输出。
装运箱。在putName = {“T_c”,“C_A_f”};装运箱。OutputName = {“T”,“C_A”};装运箱。StateName = {“C_A”,“T”};CSTR = setmpcsignals(CSTR,“MV”, 1“UD”2,“莫”, 1“UO”2);
开放MPC设计师,并导入植物模型。
mpcDesigner(装运箱)
应用程序导入植物模型并将其添加到数据浏览器.它还创建了一个默认控制器和一个默认模拟场景。
设计控制器
通常,您可以通过指定缩放因子、定义约束和调整调优权重来设计控制器。本例中,只需修改控制器采样时间,其他控制器保持默认值即可。
在MPC设计师,在调优选项卡,在地平线部分,指定样品时间的0.25
秒。
的输入响应而且输出响应绘图更新以反映新的采样时间。
配置仿真场景
为了测试控制器设定值跟踪和不可测扰动抑制,修改默认仿真场景。
在场景部分在左下部分MPC设计师,右键单击scenario1
,并选择编辑.
在“模拟场景”对话框中保持仿真时间的10
秒。
在参考信号表,保持默认值T的参考值
设定值配置,模拟反应器温度的单位步长变化。
将浓度设定值保持在标称值,在第二行,在信号下拉列表,选择常数
.
在5秒的时间内模拟一个单位步长未测量的扰动。在无边无际的干扰表,在信号下拉列表,选择一步
,并指定时间的5
.
点击好吧.
该应用程序运行模拟场景,并更新响应图以反映新的模拟设置,因此在测量和未测量输入中显示对输入步骤的闭环响应。对于这种场景,在仿真中使用控制器的内部模型。因此,仿真结果代表了不存在预测误差时控制器的性能。
定义扰动植物模型
假设你想测试你的控制器对电站变化的敏感性,这些变化改变了冷却剂温度对反应堆温度的影响。你可以通过扰动元素来模拟这种变化B (2, 1)
的CSTR输入到状态矩阵。的标称值的66%B (2, 1)
.
在MATLAB中®命令窗口,指定摄动矩阵。
dB = [0 0;0.2 0];
创建两个扰动植物模型。
perturbUp = CSTR;perturbUp。B = perturbUp。B + dB;微扰向下= CSTR;perturbDown。B =微扰向下。B - dB;
检查受扰植物的阶跃反应
为了检验植物扰动的影响,绘制植物阶跃响应图。
步骤(装运箱,perturbUp perturbDown)传说(“装运箱”,“peturbUp”,“perturbDown”)
设置垂直轴的限制0
来1.5
对于上面的图和-0.1
来0
对于底部的图,右键单击轴,选择属性……,并在Y-Limits面积限制选项卡。
微扰元素B (2, 1)
CSTR装置的温度会改变冷却剂温度的响应幅度,Tc对反应堆温度,T,反应器试剂浓度,C一个输出。
进口受干扰植物
在MPC设计师,在MPC设计师选项卡,在进口部分中,点击进口植物.
在“导入工厂模型”对话框中,选择perturbUp
而且perturbDown
模型。
点击进口.
应用程序导入模型并将它们添加到数据浏览器.
定义扰动植物模拟场景
创建两个使用扰动植物模型的模拟场景。
在场景部分在左下部分MPC设计师,点击scenario1
,并重命名准确的
.
右键单击准确的
,并单击复制.重命名accurate_Copy
来errorUp
.
右键单击errorUp
,并选择编辑.
在“模拟场景”对话框中,单击模拟中使用的植物下拉列表,选择perturbUp
.
点击好吧.
对第二株受干扰的植物重复此过程。
复制准确的
场景并将其重命名为errorDown
.
编辑errorDown
,选择perturbDown
工厂。
检查errorUp
模拟反应
在MPC设计师选项卡,在场景部分中,点击情节场景>errorUp.
应用程序创建errorUp:输入而且errorUp:输出选项卡,并显示模拟响应。
浏览准确的
而且errorUp
响应并排,拖动准确:输出标签到左边的绘图面板。
这种扰动产生了植物,perturbUp
,它对被操纵变量变化的响应速度略快于控制器的预测。在errorUp:输出选项卡,在输出响应情节,T设定值阶跃响应在稳定之前振荡更多。尽管这一反应不出所料,比中国的反应更糟糕准确的
模拟,还是可以接受的。植物响应越快,对不可测扰动的响应峰值误差越小。总的来说,控制器是能够控制的perturbUp
尽管内部模型预测错误,但成功种植。
检查errorDown
模拟反应
在MPC设计师选项卡,在场景部分中,点击情节场景>errorDown.
应用程序创建errorDown:输入而且errorDown:输出选项卡,并显示模拟响应。
浏览准确的
而且errorDown
并排的响应,单击准确:输出选项卡在左侧显示面板。
这种扰动产生了植物,perturbDown
,它对被操纵变量变化的响应慢于控制器的预测。在errorDown:输出选项卡,在输出响应在小区中,设定值跟踪和干扰抑制比未受干扰的植物差。
根据应用需求和现实世界这种植物变化的潜力,退化的响应为perturbDown
工厂可能需要修改控制器设计。