主要内容

具有不确定性的Simulink模型万博1manbetx的线性化

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

介绍

Simulink中的图形用户界面是模拟和模拟控制系统的自然环境。万博1manbetx使用Simulink控制设计中的线性化功能和强大的控制工具箱中的不确定性元素,您万博1manbetx可以在Simulink模型中指定特定块的不确定性,然后提取不确定的线性化模型。

在该示例中,在存在不确定性的情况下检查PID控制器的性能。有两种方法可以计算不确定系统的线性化。在Simulink时,每个方法都旨在满足不同的需求。万博1manbetx这些方法总结在以下部分中。

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

当您已经在Simulink中使用不确定状态空间块作为控制系统设计过程的一部分时,第一种方法最适用万博1manbetxSimulink中的鲁棒性分析万博1manbetx,强大的控制工具箱中的不确定状态空间块允许您在Simulink模型中指定不确定性。万博1manbetx

在以下示例中,设备和传感器动态都是不确定的。设备动态的不确定性包括:

  • 真极点Unc_pole.其位置在-10和-4之间变化

  • 未建模动力学输入法(低频时25%的相对不确定度上升到130 rad/s时100%的不确定度)。

unc_极点=ureal(“unc_pole”,-5,“范围”,[ -  10 -4]);植物= ss(Unc_pole,5,1,0);wt =制造(0.25,130,2.5);input_und = ultidyn('input_unc',[1 1]);

不确定传感器动力学定义为:

Sensor_pole =尿尿('sensor_pole',-20,“范围”,[-30-10]);传感器=tf(1,[1/(-sensor_-pole)1]);

rct_ulinearize_uss.模型使用不确定的状态空间块(以蓝色突出显示)来模拟这种不确定性:

mdl =“rct\u ulinearize\u uss”; 开放式系统(“rct\u ulinearize\u uss”

此Simu万博1manbetxlink模型已准备好计算不确定的线性化。线性模型在参考块处具有输入rct\u u u u u u u uss/Reference以及工厂的产量rct_ulinearize_suss /不确定的植物。这些线性化输入和输出点使用Simulink控制设计指定。万博1manbetx使用以下命令找到线性化点:

io=getlinio(mdl);

使用命令计算不确定的线性化铀化。此命令返回依赖于不确定变量的不确定状态空间(USS)对象输入法Sensor_pole.Unc_pole.

sys_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万博1manbetx模型:

bdclose(mdl)

方法2:使用内置Simulink块万博1manbetx

第二种方法使用Simulink控制设计用户界面进行块线性化万博1manbetx规范,以指定线性化的不确定性。Simulink控制设计中的块线性化规范特征允许通过增益,LTI对象或鲁棒控制工具箱不确定变量替换万博1manbetx任何Simulink块。使用不使用不确定状态空间块的模型时,这种方法最适合。这种方法的主要优点在于,不确定性的规范不会影响Simulink中的任何其他操作,例如模拟。万博1manbetx

仅使用内置Simulink块的原始模型的修改版本如下所示。万博1manbetx

mdl =“rct\u ulineralize\u内置”; 开放式系统(mdl);

通过右键单击rct建筑/工厂的专业化块并选择菜单项线性分析 - >指定线性化,您可以指定此块应线性化的值。如果您输入表达式植物*(1 + wt * input_unc)在下面显示的对话框中,“工厂”块将线性化到相应的不确定状态空间模型(USS对象)。

同样,您可以分配不确定的模型传感器作为块的线性化rct\u u u线性化\u内置/传感器增益

现在可以线性化了rct_ulinearize_builtin使用Simulink万博1manbetx控制设计命令线性化

io=getlinio(mdl);系统线性化=线性化(mdl,io)
SYS_LINEARIZE =不确定的连续时间 - 空间模型,具有1个输出,1个输入,5个状态。模型不确定性由以下块组成:Input_unc:不确定1x1 lti,峰值增益= 1,1出现Sensor_pole:不确定的真实,标称= -20,范围= [-30,-10],1个发生Unc_pole:不确定的真实,标称= -5,范围= [-10,-4],1次键入“sys_linearize.nominalvalue”以查看标称值,“get(sys_linearize)”查看所有属性,以及“sys_linearize.unctieraintainty”与不确定互动元素。

由此产生的模型是一个不确定状态空间(USS)模型,相当于使用第一种方法计算的不确定线性化。

利用不确定线性化结果

两种线性化方法都产生了一个不确定状态空间(USS)对象,可以使用标准鲁棒控制工具箱命令对其进行分析。在本例中,该USS模型用于寻找线性化闭环响应的最坏情况增益。

[maxg,worstun]=wcgain(系统线性化);

由此产生的不确定变量的最坏情况值可用于与标称响应进行比较。该比较表明PID性能对设备和传感器的不确定性不具有鲁棒性。

sys_worst = usubs(sys_linearize,ortstun);步骤(sys_linearize.nominalvalue,sys_worst)图例(“名义”'最差的情况');

这一例是这个例子。关闭Simulink万博1manbetx模型:

bdclose(mdl);

也可以看看

阻碍

职能

相关话题