主要内容

不确定性Simulink模型的线性金宝app化

这个例子展示了如何使用鲁棒控制工具箱计算不确定线性化™ 和Simulink®控制设计™. 根据Simulink的使用方式,提供了两种方便的工作流。由此产生的不确定线性化是鲁棒控制工具箱中金宝app不确定状态空间(USS)数据结构的形式,可由鲁棒控制工具箱中的分析函数使用。

介绍

Simulink中的图形用户界面是对控制系统进行建模和仿真的自然金宝app环境。使用Simulink控制设计中的线性化功能和鲁棒控制工具箱中的不确定性元素,可以指定Simulink模型中特定块的不确定性,然后提取不确定性线性化模型。

在本例中,在存在不确定性的情况下检查PID控制器的性能。有两种方法可用于计算不确定系统的线性化。每种方法都是为了满足在Simulink中工作时的不同需要而设计的。这些方法在以下章节中进行了总结。金宝app

方法#1:使用不确定状态空间块

当您已经在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)

方法2:使用内置Simulink块金宝app

第二种方法使用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);

另见

阻碍

功能

相关话题