主要内容

使用Hinfstruct构建可调闭环模型

在<一种href="//www.tatmou.com/help/robust/gs/formulating-design-requirements-as-h-infinity-constraints.html" class="a">将设计要求作为H-Infinity约束您将您的设计要求表达为对的约束H闭环传输功能的规范H(S.)。

下一步是创建一个<一种href="//www.tatmou.com/help/control/ug/models-with-tunable-coefficients.html" class="a">广义LTI模型的H(S.)包括控制系统的所有固定和可调元件。该模型还包括代表您设计要求的任何加权函数。有两种方法可以获得控制系统的这种可调模式:

使用闭环系统使用控制系统工具箱命令

在MATLAB中构造闭环控制系统的可调通用线性模型®:

  1. 使用命令如<一种href="//www.tatmou.com/help/control/ref/tf.html">TF.那<一种href="//www.tatmou.com/help/control/ref/zpk.html">ZPK., 和<一种href="//www.tatmou.com/help/control/ref/ss.html">SS.创建数字线性模型,表示控制系统的固定元素和代表您的设计要求的任何加权函数。

  2. 使用可调型号(控制设计块或广义LTI模型)来模拟控制系统的可调元素。有关可调型号的更多信息,请参阅<一种href="//www.tatmou.com/help/control/ug/models-with-tunable-coefficients.html" class="a">带可调系数的模型。

  3. 使用型号 - 互连命令,如<一种href="//www.tatmou.com/help/control/ref/lti.series.html">系列那<一种href="//www.tatmou.com/help/control/ref/lti.parallel.html">平行线, 和<一种href="//www.tatmou.com/help/control/ref/lti.connect.html">连接从数字和可调模型构造闭环系统。

示例:使用可调谐PI控制器和可调滤波器建模控制系统

此示例显示如何构建以下控制系统的可调广义线性模型以进行调谐h

该框图表示硬盘驱动器中的头磁盘组件(HDA)。该建筑包括工厂G在具有PI控制器的反馈循环中C和一个低通滤波器,f = a /(s + a)。可调参数是PI增益C和过滤器参数一种

框图还包括加权函数LS.1 /LS.,表达了环形成形要求。让T.(S.)表示来自输入的闭环传输功能(R.那NW.)输出(y那E.W.)。然后,这H约束:

T. S. < 1

大致强制执行目标开环响应形状LS.。对于此示例,目标循环形状是

L. S. = 1 + 0.001 S. ω. C 0.001 + S. ω. C

这个价值LS.对应于以下开环响应形状。

调整HDA控制系统h,构造闭环系统的可调模型T.(S.),包括加权函数,如下所示。

  1. 装载工厂G从已保存的文件。

    加载hinfstruct_demo.G

    G是一个第9阶SISO状态空间(SS.) 模型。

  2. 创建PI控制器的可调模型。

    您可以使用预定义的控制设计块<一种href="//www.tatmou.com/help/control/ref/tunablepid.html">调音表示可调谐PI控制器。

    c =调谐('C'那'pi');
  3. 创建低通滤波器的可调模型。

    因为过滤器没有预定义的控制设计块f = a /(s + a), 采用<一种href="//www.tatmou.com/help/control/ref/realp.html">实际表示可调滤波器参数一种。然后创建一个可调调节<一种href="//www.tatmou.com/help/control/ref/genss.html">雄鸡代表过滤器的模型。

    a = REAMP('一种',1);f = tf(a,[1 a]);
  4. 指定目标循环形状LC.

    WC = 1000;s = tf(');LS =(1 + 0.001 * S / WC)/(0.001 + S / WC);
  5. 标记控制系统的所有组件的输入和输出。

    标记I / O允许您连接元素以构建闭环系统T.(S.)。

    wn = 1 / ls;wn.inputname =.'nw';wn.outputname =.'n';我们= ls;we.Inputname =.'e';we.outputname =.'ew';c.InputName =.'e';c.outputname =.'U';f.InputName =.'yn';f.outputname ='yf';
  6. 根据控制系统的其他组件的I / O标签指定求和结。

    sum1 = sumblk('e = r  -  yf');sum2 = sumblk('yn = y + n');
  7. 采用<一种href="//www.tatmou.com/help/control/ref/lti.connect.html">连接将所有元素组合成闭环系统的完整模型T.(S.)。

    t0 = connect(g,wn,we,c,f,s sum1,sum2,{'r'那'nw'},{'是'那'ew'});

T0.是A.<一种href="//www.tatmou.com/help/control/ref/genss.html">雄鸡对象是表示具有加权函数的闭环控制系统的通用LTI模型。这财产T0.包含可调块C一种

t0.blocks.
ans =.结构与字段:C:[1x1调谐化] A:[1x1 Realp]

有关包含两个数字和可调组件的控制系统的广义模型的更多信息,请参阅<一种href="//www.tatmou.com/help/control/ug/models-with-tunable-coefficients.html" class="a">带可调系数的模型。

你现在可以使用h调整该控制系统的参数。看<一种href="//www.tatmou.com/help/robust/gs/tune-the-controller-parameters.html" class="a">调整控制器参数。

在此示例中,控制系统模型T0.是一个连续时间模型(T0.TS.= 0)。你也可以使用h使用离散时间模型,只要您指定了明确的示例时间(T0.TS.≠-1)。

使用闭环系统使用金宝app控制设计命令

如果您的控制系统的Simul金宝appink模型和金宝appSimulink控制设计软件,使用<一种href="//www.tatmou.com/help/slcontrol/ug/sltuner.html">SLTUNER.(金宝appSimulink Control Design)创建控制系统的Simulink模型的接口。金宝app创建接口时,您可以指定要在模型中调整哪个块。这SLTUNER.接口允许您提取用于调整的闭环模型h。(金宝app基于Simulink的功能不可用Matlab Online™。)

示例:从a开始创建加权可调调节模型金宝app模型

此示例显示如何在Simulink模型中构建控制系统的可调通用线性模型金宝apprct_diskdrive

要创建该控制系统的广义线性模型(包括循环整形加权函数):

  1. 打开模型。

    打开('rct_diskdrive');

  2. 创建一个SLTUNER.界面到模型。该接口允许您指定可调谐块并提取线性化开环和闭环响应。(有关接口的更多信息,请参阅<一种href="//www.tatmou.com/help/slcontrol/ug/sltuner.html">SLTUNER.(金宝appSimulink Control Design)参考页面。)

    st0 = sltuner('rct_diskdrive',{'C'那'F'});

    此命令指定该命令CF是模型中的可调块。这SLTUNER.接口自动参加这些块。传输功能块的默认参数化F是一个具有两个自由参数的传递函数。因为F是一个低通滤波器,必须约束其系数。为此,请指定自定义参数化F

    a = REAMP('一种',1);%滤波器系数SetBlockParam(ST0,'F',tf(a,[1 a]));
  3. 提取要调整的闭环传输功能的可调模型。

    t0 = getiotransfer(st0,{'r'那'n'},{'是'那'e'});

    此命令返回一个雄鸡来自参考和噪声输入的线性化闭环传递函数的模型r,n对测量和错误输出y,E.。环形整形加权函数需要错误输出。

  4. 定义环形整形加权函数并将其附加到T0.

    WC = 1000;s = tf(');LS =(1 + 0.001 * S / WC)/(0.001 + S / WC);t0 = blkdiag(1,ls)* t0 * blkdiag(1,1 / ls);

广义线性模型T0.是闭环传输功能的可调模型T.(S.),讨论过<一种href="//www.tatmou.com/help/robust/gs/build-tunable-closed-loop-model-for-tuning-with-hinfstruct.html" class="intrnllnk">示例:使用可调谐PI控制器和可调滤波器建模控制系统。T.(S.)是控制系统的加权闭环模型rct_diskdrive。调整T0.强制执行H约束

T. S. < 1

大约强制执行目标循环形状LS.

你现在可以使用h调整该控制系统的参数。看<一种href="//www.tatmou.com/help/robust/gs/tune-the-controller-parameters.html" class="a">调整控制器参数。