主要内容

优化LTI系统以满足频域要求

此示例显示了如何使用频域设计要求来优化系统中LTI系统的响应控制系统设计师应用程序。

与控制系统工具箱一起使用时™ 软件,您可以放置万博1manbetx®设计优化™图纸上的设计要求或约束控制系统设计师(控制系统工具箱)应用程序。您可以在频域和时域中包含响应优化的设计要求。

您可以指定频域设计要求,以优化在中设计的任何模型的响应信号控制系统设计师应用程序,例如:

  • 使用控制系统工具箱命令创建的命令行LTI模型

  • 万博1manbetx已使用线性化的Simulink模型万博1manbetxSimulink控制设计™软件

设计要求

在本例中,使用Simulink模型的线性化版本,万博1manbetxsrotut1.

使用优化方法设计补偿器,以便在使用单位阶跃输入激励系统时,闭环系统满足以下设计规范:

  • 最长30秒的稳定时间

  • 最大10%超调量

  • 最大10秒上升时间

  • 执行器信号的±0.7限值

创建LTI工厂模型

srotut1模型中,对象模型由增益、有限积分器、传递函数和传输延迟块组成。

线性化系统开环传递函数的补偿器设计srotut1模型。线性化srotut1对象模型由增益、无限积分、传递函数和传输延迟的Padé近似组成。

基于线性化的传递函数创建开环传递函数srotut1在模型中,输入以下命令。

w0=1;zeta=1;Kint=0.5;Tdelay=1;[delayNum,delayDen]=pade(Tdelay,1);integrator=tf(Kint,[10]);transfer_fcn=tf(w0^2,[12*w0*zeta w0^2]);delay_block=tf(delayNum,delayDen);open_loopTF=integrator*transfer_fcn*delay_block;

如果工厂模型是一系列模型(控制系统工具箱),控制器仅为标称型号设计。您还可以分析阵列中其余型号的控制器设计。有关详细信息,请参阅多模态控制设计(控制系统工具箱).

提示

您可以使用直接线性化Simulink模型万博1manbetx万博1manbetxSimulink控制设计软件

打开控制系统设计器应用程序

本例使用根轨迹图设计开环传递函数的响应,开环.创建一个控制系统设计师对于开环传递函数的根轨迹图,使用以下命令:

控制系统设计器(“rlocus”,打开(TF)

这个控制系统设计师应用程序打开,一个根轨迹编辑器该应用程序允许您在MATLAB中为单输入单输出(SISO)系统设计控制器®和Sim万博1manbetxulink。有关更多信息,请参阅经典控制设计(控制系统工具箱)类别

该应用程序还显示系统的阶跃响应图。该图显示了闭环系统的响应R(输入到预过滤器,F)到Y(工厂模型的输出,G).

要为正在设计的控制系统选择体系结构,请在应用程序中单击编辑架构. 本例使用默认体系结构。在这个系统中,工厂模型,G,是开环传递函数开环.预滤器,F,以及传感器,H,设置为1.,以及补偿器,C,是使用响应优化方法设计的补偿器。

基于开放优化的调谐方法

设计SISO系统有几种可能的方法;本例使用了一种使用响应优化方法的自动化方法。

要创建响应优化任务,请在调整方法下拉列表中,选择基于优化的调谐.

“响应优化”窗口有四个选项卡。除第一个选项卡外,每个选项卡都对应于响应优化过程中的一个步骤:

  • 概述-响应优化过程的示意图。

  • 补偿器-选择并配置要调整的补偿器元件。请参阅选择可调补偿器元件.

  • 设计要求-选择您希望系统在调整补偿器元件后满足的设计要求。看见添加设计要求.

  • 优化-配置优化选项,并查看响应优化的进度。看见优化系统响应.

笔记

在应用程序中优化响应时,不能向参数或补偿器元素添加不确定性。

选择可调补偿器元件

可以调整系统中补偿器内的补偿器元件或参数,以满足指定的设计要求。

要指定要调整的补偿器元件,请执行以下操作:

  1. 在响应优化窗口中,选择补偿器标签。

  2. 补偿器选项卡中的复选框优化对应于要调整的补偿器元件的列。

    在本例中,选择获得在补偿器中C.

添加设计要求

您可以使用频域和时域设计要求来调整控制系统中的参数。

此示例使用中描述的设计规范设计要求. 创建设计要求以满足这些规范:

添加设计需求后,可以为控制器设计选择需求子集,如中所述选择响应优化期间使用的设计要求.在设计要求选项卡,您可以创建设计需求并选择要用于优化的需求。

沉淀时间设计要求

第一个设计要求是具有30秒或更短的稳定时间。该规范可在根轨迹图上表示为对开环系统极点真实部分的约束。

添加沉降时间设计要求:

  1. 设计要求选项卡,单击增加新的设计要求. 将打开“新设计要求”对话框。

    在此对话框中,可以指定新的设计要求,并将其添加到新绘图或现有绘图中。

  2. 向现有根轨迹图添加设计需求。

    1. 设计需求类型下拉列表中,选择沉淀时间.

    2. 答复要求下拉列表中,选择循环传输.

    3. 具体说明沉淀时间30秒。

    4. 点击好啊.

    沉淀时间的设计要求列在设计要求响应优化窗口的选项卡。

    在应用程序中,设计要求在根轨迹图上显示为垂直线。

超调设计要求

第二个设计要求是10%或更小的百分比超调。该要求与根轨迹图上的阻尼比有关。此外,还增加了一个设计要求增加新的设计要求按钮,也可以直接右键单击绘图以添加需求。

要添加此设计要求,请执行以下操作:

  1. 控制系统设计师应用程序,在根轨迹图的空白处单击鼠标右键。选择设计要求>刚出现的打开“新设计要求”对话框。

  2. 设计需求类型下拉列表中,选择超调百分比.

  3. 具体说明超调百分比10.

  4. 点击好啊.

在应用程序中,设计要求在根轨迹图上显示为与原点成一定角度辐射的两条线。

上升时间设计要求

第三个设计要求是上升时间不超过10秒。这一要求对应于波德震级图上的下限。

要添加此设计要求,请执行以下操作:

  1. 在应用程序中,在调整方法下拉列表中,选择博德编辑.

  2. 在“选择要编辑的响应”对话框中,指定选择要编辑的响应循环传输,然后单击情节.

    Bode图显示在博德编辑.

  3. 在开环波特图的空白处单击鼠标右键,然后选择设计要求>刚出现的,以打开“新设计要求”对话框。

  4. 指定表示上升时间的设计要求,并将其添加到新的Bode图中。

    1. 设计需求类型下拉列表中,选择增益下限.

    2. 指定频率范围为1e-20.17.

    3. 指定巨大范围为00.

    4. 点击好啊.

    设计要求在绘图上显示为水平线。

执行机构极限设计要求

第四个设计要求是将致动器信号限制在±0.7范围内。

要添加此设计要求,请执行以下操作:

  1. 在响应优化窗口中,在设计要求点击增加新的设计要求. 将打开“新设计要求”对话框。

  2. 创建时域设计要求,以表示致动器信号的上限,并将其添加到新的阶跃响应图中:

    1. 设计需求类型下拉列表中,选择阶跃响应振幅上限.

    2. 答复要求下拉列表中,选择生物转移.

    3. 指定时间范围为010.

    4. 指定振幅范围为0.70.7.

    5. 点击好啊. 第二步响应图,用于来自的闭环响应RU在应用程序中生成。该图包含一条水平线,表示致动器信号的上限。

    6. 将此限制一直延长(至T= ∞), 在黄色阴影区域中单击鼠标右键,然后选择扩展到inf.

增加致动器信号下限的相应设计要求:

  1. 在响应优化窗口中,在设计要求点击增加新的设计要求. 将打开“新设计要求”对话框。

  2. 创建时域设计要求,以表示致动器信号的下限,并将其添加到阶跃响应图中:

    1. 设计需求类型下拉列表中,选择阶跃响应振幅下限.

    2. 答复要求下拉列表中,选择生物转移.

    3. 指定时间范围为010.

    4. 指定振幅范围为-0.7-0.7.

    5. 点击好啊.阶跃响应图现在包含第二条水平线,表示致动器信号的下限。

    6. 将此限制一直延长(至T= ∞), 在设计要求的黄色阴影区域中单击鼠标右键,然后选择扩展到inf.

选择响应优化期间使用的设计要求

桌子在桌子上设计要求选项卡列出了所有指定的设计要求。选择要在响应优化中使用的设计要求。此示例使用所有当前设计需求。

优化系统响应

选择要调整和添加设计要求的补偿器元件后,可以优化系统响应。

为了优化系统的响应,在优化在响应优化窗口的选项卡上,单击启动优化.

这个优化选项卡显示优化的进度。

状态消息表示优化解算器找到了在公差范围内满足设计要求的解决方案。验证是否满足设计要求。

创建并显示闭环系统

设计补偿器后,可以将其导出到MATLAB工作区,并创建全闭环系统的模型。要导出调谐补偿器,请执行以下操作:

  1. 在应用程序中,选择出口.

  2. 在“导出模型”对话框中,选择C,您设计的补偿器,然后单击出口.

在命令行中,输入以下命令以创建闭环系统,,从开环传递函数,开环,以及补偿器,C:

CL=反馈(C*开环,1)

将返回以下模型:

CL=-0.19414(s-2)--------------------------------------(s^2+0.409s+0.1136)(s^2+3.591s+3.418)连续时间零/极/增益模型。

要创建闭环系统的阶跃响应图,请输入以下命令。

步骤(CL);

相关话题