这个例子展示了如何使用鲁棒控制工具箱计算不确定线性化™ 和Simulink®控制设计™. 根据Simulink的使用方式,提供了两种方便的工作流。由此产生的不确定线性化是鲁棒控制工具箱中金宝app不确定状态空间(USS)数据结构的形式,可由鲁棒控制工具箱中的分析函数使用。
Simulink中的图形用户界面是对控制系统进行建模和仿真的自然金宝app环境。使用Simulink控制设计中的线性化功能和鲁棒控制工具箱中的不确定性元素,可以指定Simulink模型中特定块的不确定性,然后提取不确定性线性化模型。
在本例中,在存在不确定性的情况下检查PID控制器的性能。有两种方法可用于计算不确定系统的线性化。每种方法都是为了满足在Simulink中工作时的不同需要而设计的。这些方法在以下章节中进行了总结。金宝app
当您已经在Simulink中使用不确定状态空间块作为控制系统设计过程的一部分时,第一种方法最适用金宝appSimulink中的鲁棒性分析金宝app,鲁棒控制工具箱中的不确定状态空间块可用于指定Simulink模型中的不确定性。金宝app
在以下示例中,设备和传感器动态都是不确定的。设备动态的不确定性包括:
真极点unc_极
其位置在-10和-4之间变化
未建模动力学输入法
(低频时25%的相对不确定度上升到130 rad/s时100%的不确定度)。
unc_极点=ureal(“unc_pole”,-5,“范围”,[-10 -4]); 设备=不锈钢(unc_杆,5,1,0);wt=制造重量(0.25130,2.5);输入_unc=ultidyn(“输入_unc”,[1 1]);
不确定传感器动力学定义为:
传感器_极=ureal(“传感器极”,-20,“范围”,[-30-10]);传感器=tf(1,[1/(-sensor_-pole)1]);
这个rct________uss
模型使用不确定状态空间块(以蓝色突出显示)对该不确定性进行建模:
mdl=“rct\u ulinearize\u uss”; 开放式系统(“rct\u ulinearize\u uss”)
该Simu金宝applink模型可用于计算不确定线性化。线性模型在参考试块处有一个输入rct\u u u u u u u uss/Reference
以及工厂的产量rct________uss/不确定工厂
. 这些线性化输入和输出点使用Simulink控制设计指定。使用以下命令找到线性化点:金宝app
io=getlinio(mdl);
使用命令计算不确定线性化铀化
。此命令返回依赖于不确定变量的不确定状态空间(USS)对象输入法
,感应极
和unc_极
:
sys\u ulinearize=ulinearize(mdl,io)
sys_ulinearize=具有1个输出、1个输入、5个状态的不确定连续时间状态空间模型。模型不确定性包括以下模块:输入:不确定1x1 LTI,峰值增益=1,1次出现传感器_极点:不确定实值,标称=-20,范围=[-30,-10],1次出现unc极点:不确定实值,标称=-5,范围=[-10,-4],1输入“sys_ulinearize.NominalValue”查看标称值,“get(sys_ulinearize)”查看所有属性,以及“sys_ulinearize.uncertability”与不确定元素交互。
第一种方法到此结束。关闭Simulink模型:金宝app
bdclose(mdl)
第二种方法使用Simulink控制设计用户界面的块线性化规金宝app范来指定线性化的不确定性。Simulink控制设计中的块线性化规范功能允许用增益、LTI对象或鲁棒控制变量替换任何Simulink块。这种方法最适合于处理不使用不确定状态空间块的模型。这种方法的主要优点是,不确定性的规范不会影响Simulink中的任何其他操作,例如模拟。
仅使用内置Simulink块的原始模型的修改版本如下所示。金宝app
mdl=“rct\u ulineralize\u内置”; 开放式系统(mdl);
通过右键单击rct建筑/工厂的专业化
阻止并选择菜单项线性分析->指定线性化,可以指定此块应线性化为的值。如果输入表达式设备*(1+wt*输入)
在如下所示的对话框中,“Plant”块将线性化为相应的不确定状态空间模型(USS对象)。
类似地,可以指定不确定模型传感器
作为块的线性化rct\u u u线性化\u内置/传感器增益
.
现在可以线性化了rct_u-ulineralize_内置
使用Simulink金宝app控制设计命令线性化
:
io=getlinio(mdl);系统线性化=线性化(mdl,io)
sys_线性化=具有1个输出、1个输入、5个状态的不确定连续时间状态空间模型。模型不确定性由以下模块组成:输入:不确定1x1 LTI,峰值增益=1,1次出现传感器极:不确定实数,标称值=-20,范围=[-30,-10],1次出现unc极:不确定实数,标称值=-5,范围=[-10,-4],1次出现类型“sys_linearize.NominalValue”查看标称值,“get(sys_linearize)”查看所有属性,并“系统线性化.不确定性”与不确定性元素交互。
由此产生的模型是一个不确定状态空间(USS)模型,相当于使用第一种方法计算的不确定线性化。
两种线性化方法都产生了一个不确定状态空间(USS)对象,可以使用标准鲁棒控制工具箱命令对其进行分析。在本例中,该USS模型用于寻找线性化闭环响应的最坏情况增益。
[maxg,worstun]=wcgain(系统线性化);
由此产生的不确定变量的最坏情况值可用于与标称响应进行比较。该比较表明PID性能对设备和传感器的不确定性不具有鲁棒性。
sys_最差=usubs(sys_线性化,worstun);步骤(系统线性化。标称值,系统最差)图例(“名义上的”,“最坏情况”);
这个例子到此结束。关闭Simulink模型:金宝app
bdclose(mdl);