主要内容

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

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

介绍

Simulink中的图形用户界面是建模和仿真控制系统的自然环境。金宝app利用Simulink Control Design中的线性化功能和鲁棒控制工具箱金宝app中的不确定性元素,您可以在Simulink模型的特定块上指定不确定性,然后提取一个不确定的线性化模型。

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

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

当你已经在Simulink中使用不确定状态空间块作为控制系统设计过程的一部分时,第一种方法是最适用的。金宝app如示例所示Simulink中的鲁棒性分析金宝app,鲁棒控制工具箱中的不确定状态空间块可以让你在Simulink模型中指定不确定性。金宝app

在下面的例子中,设备和传感器的动力学都是不确定的。关于植物动态的不确定性包括:

  • 真正的极unc_pole谁的位置在-10和-4之间变化

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

unc_pole =尿素的(“unc_pole”5,“范围”, -10 [4]);工厂= ss (unc_pole 5 1,0);,130 wt =补足重量的东西(0.25,2.5);input_unc = ultidyn (“input_unc”[1]);

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

sensor_pole =尿素的(“sensor_pole”, -20,“范围”-10年[-30]);传感器= tf(1,[1/(-sensor_pole) 1]);

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

mdl =“rct_ulinearize_uss”;open_system (“rct_ulinearize_uss”

这个Sim金宝appulink模型可以用来计算不确定的线性化。线性模型在参考块处有一个输入rct_ulinearize_uss /参考和植物的产量rct_ulinearize_uss /不确定工厂.这些线性化输入和输出点是用Simulink控制设计指定的。金宝app使用以下命令可以找到线性化点:

io = getlinio (mdl);

使用该命令计算不确定线性化ulinearize.该命令返回一个依赖于不确定变量的不确定状态空间(USS)对象input_uncsensor_pole,unc_pole

io sys_ulinearize = ulinearize (mdl)
sys_ulinearize = 1输出,1输入,5状态的不确定连续时间状态空间模型。该模型的不确定性由以下模块组成:input_unc:不确定1x1 LTI,峰值增益= 1,1发生传感器极点:不确定真实,标称= -20,范围=[-30,-10],1发生unc_极点:不确定真实,标称= -5,范围=[-10,-4],1发生类型"sys_ulinearize。NominalValue“查看名义值”,get(sys_ulinearize)“查看所有属性”,以及“sys_ulinearize. properties”。“不确定性”与不确定因素相互作用。

这就是第一种方法。关闭Simulink金宝app模型:

bdclose (mdl)

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

第二种方法是使用Simulink Control Desi金宝appgn用户界面进行块线性化规范,以指定线性化的不确定性。Simulink控制设计中的块线性化规范特性允许任何Simulink块被增益、LTI对象或鲁棒控制金宝app工具箱中的不确定变量所取代。当处理不使用不确定状态空间块的模型时,这种方法最适合。这种方法的主要优点是不确定性的规范不会影响Simulink中的任何其他操作,比如simulation。金宝app

下面显示了仅使用内置Simulink块的原始模型的修改版本。金宝app

mdl =“rct_ulinearize_builtin”;open_system (mdl);

右键单击rct_ulinearize_builtin /工厂阻止并选择菜单项线性分析- >指定线性化,您可以指定该块应该线性化的值。如果你输入表达式植物* (1 + wt * input_unc)在下面的对话框中,“Plant”块将线性化到对应的不确定状态空间模型(USS对象)。

类似地,您可以分配不确定模型传感器作为块的线性化rct_ulinearize_builtin /传感器获得

现在可以线性化了rct_ulinearize_builtin使用Simulink金宝app控制设计命令线性化

io = getlinio (mdl);io sys_linearize =线性化(mdl)
sys_linearize = 1输出,1输入,5状态的不确定连续时间状态空间模型。模型不确定性由以下模块组成:input_unc:不确定1x1 LTI,峰值增益= 1,1发生传感器极点:不确定真实,标称= -20,范围=[-30,-10],1发生unc_极点:不确定真实,标称= -5,范围=[-10,-4],1发生类型"sys_linearize。NominalValue“查看名义值”,get(sys_linearize)“查看所有属性”,以及“sys_linearize. properties”。“不确定性”与不确定因素相互作用。

得到的模型是一个不确定状态空间(USS)模型,等价于使用第一种方法计算的不确定线性化。

利用不确定的线性化结果

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

[maxg, worstun] = wcgain (sys_linearize);

由此产生的不确定变量的最坏情况值可以用来与名义响应进行比较。这一比较表明,PID性能对被控对象和传感器的不确定性不具有鲁棒性。

sys_worst = usubs (sys_linearize worstun);步骤(sys_linearize.NominalValue sys_worst)传说(“名义”“最坏的”);

这个例子到此结束。关闭Simulink金宝app模型:

bdclose (mdl);

另请参阅

功能

相关的话题