主要内容

固定的结构h∞合成与hinfstruct

下面的例子使用了hinfstruct命令来优化一个固定的结构控制器<年代pan class="inlineequation"> H 约束。

介绍

hinfstruct命令扩展了经典<年代pan class="inlineequation"> H 合成(见hinfsyn)固定的结构控制系统。这个命令是用于用户已经熟悉了hinfsyn工作流。如果你不熟悉<年代pan class="inlineequation"> H 合成或找到增强植物和加权函数恐吓,使用systunelooptune代替。看到<一个href="//www.tianjin-qmedu.com/it/help/control/ug/tuning-control-systems-with-systune.html" data-docid="control_ug#btl4p3_" class="a">使用systune优化控制系统为systune对应的例子。

工厂模式

这个示例使用的9阶模型头磁盘组装()注重科技进步在硬盘驱动器。这个模型捕获的头几个灵活的模式。注重科技进步

负载<年代pan style="color:#A020F0">hinfstruct_demoG波德(G)、网格

图包含2轴对象。坐标轴对象1的标题:u: y, ylabel级(dB)包含一个类型的对象。这个对象表示g .坐标轴对象2 ylabel阶段(度)包含一个类型的对象。这个对象表示G。

我们使用如下所示的反馈循环位置正确的轨道上。这种控制结构由一个比例积分控制器和一个低通滤波器在返回路径中。头的位置y应该跟踪阶跃变化r约1毫秒的响应时间,几乎没有超调,没有稳态误差。

图1:控制结构

可调的元素

有两个可调控制结构元素的图1:PI控制器<年代pan class="inlineequation"> C ( 年代 ) 和低通滤波器

F ( 年代 ) = 一个 年代 + 一个

使用tunablePID类参数化π块并指定过滤器<年代pan class="inlineequation"> F ( 年代 ) 作为一个传递函数取决于一个真正可调参数<年代pan class="inlineequation"> 一个

C0 = tunablePID (<年代pan style="color:#A020F0">“C”,<年代pan style="color:#A020F0">“π”);<年代pan style="color:#228B22">%可调π一个= realp (<年代pan style="color:#A020F0">“一个”1);<年代pan style="color:#228B22">%滤波器系数F0 =特遣部队(a [1]);<年代pan style="color:#228B22">%过滤器的参数化

循环成型设计

循环成形是一种频域技术实施需求响应速度,控制带宽,碾轧,稳态误差。这个想法是指定一个目标获得配置文件或循环结构的开环反应<年代pan class="inlineequation"> l ( 年代 ) = F ( 年代 ) G ( 年代 ) C ( 年代 ) 。合理的回路形状对于这个应用程序应该积分作用和交叉频率约1000 rad / s(所需的响应时间为0.001秒的倒数)。这表明以下循环的形状:

wc = 1000;<年代pan style="color:#228B22">%的目标交叉s =特遣部队(<年代pan style="color:#A020F0">“年代”);LS = (1 + 0.001 * s / wc) / (0.001 + s / wc);bodemag (LS, {1 e1, 1 e5}),网格,标题(<年代pan style="color:#A020F0">“目标回路形状”)

图包含一个坐标轴对象。坐标轴对象ylabel级(dB)包含一个类型的对象。该对象代表LS。

注意,我们选择了一个bi-proper、双稳态实现避免技术上的困难稍微稳定的波兰人和广义逆。为了优化<年代pan class="inlineequation"> C ( 年代 ) 和<年代pan class="inlineequation"> F ( 年代 ) hinfstruct,我们必须把这个目标循环形成约束闭环收益。系统方法是仪器反馈循环如下:

  • 添加一个测量噪声信号n

  • 使用目标回路的形状LS及其相应的滤波器的误差信号e和白噪声来源西北

图2:闭环配方

如果<年代pan class="inlineequation"> T ( 年代 ) 表示的闭环传递函数(r,西北)电子战(y),增益约束

T < 1

获得理想的属性如下:

  • 在低频率(w < wc),指定的开环增益保持高于增益目标回路的形状LS

  • 在高频(w > wc),指定的开环增益保持低于增益LS

  • 闭环系统有足够的稳定利润

  • 闭环阶跃响应的超调小。

因此,我们可以专注于调优<年代pan class="inlineequation"> C ( 年代 ) 和<年代pan class="inlineequation"> F ( 年代 ) 执行<年代pan class="inlineequation"> T < 1

指定在MATLAB控制结构

在MATLAB中,您可以使用连接命令模式<年代pan class="inlineequation"> T ( 年代 ) 通过连接固定和可调组件根据图2的框图:

块I / o %标签Wn = 1 / LS;Wn。u =<年代pan style="color:#A020F0">“西北”;Wn。y =<年代pan style="color:#A020F0">“n”;我们= LS;我们。u =<年代pan style="color:#A020F0">“e”;我们。y =<年代pan style="color:#A020F0">“电子战”;C0。u =<年代pan style="color:#A020F0">“e”;C0。y =<年代pan style="color:#A020F0">“u”;F0。u =<年代pan style="color:#A020F0">“yn”;F0。y =<年代pan style="color:#A020F0">“。”;<年代pan style="color:#228B22">%指定求和结Sum1 = sumblk (<年代pan style="color:#A020F0">“e = r - yf”);Sum2 = sumblk (<年代pan style="color:#A020F0">“yn = y + n”);<年代pan style="color:#228B22">%连接块连接在一起T0 =连接(G, Wn, C0, F0 Sum1, Sum2, {<年代pan style="color:#A020F0">“r”,<年代pan style="color:#A020F0">“西北”},{<年代pan style="color:#A020F0">“y”,<年代pan style="color:#A020F0">“电子战”});

这些命令构造广义状态空间模型T0的<年代pan class="inlineequation"> T ( 年代 ) 。这个模型依赖于可调C一个:

T0.Blocks
ans =<年代pan class="emphasis">结构体字段:C: [1 x1 tunablePID]: [1 x1 realp]

请注意,T0捕获以下的标准形式的框图图2的可调谐组件<年代pan class="inlineequation"> C , F 是分开固定动力学。

图3:磁盘驱动器循环形成的标准形式

调优控制器增益

我们现在可以使用了hinfstruct调整PI控制器<年代pan class="inlineequation"> C 和过滤<年代pan class="inlineequation"> F 图1的控制体系结构。减轻局部最小值的风险,运行三个优化,其中两个是开始从随机的初始值C0F0

rng (<年代pan style="color:#A020F0">“默认”)选择= hinfstructOptions (<年代pan style="color:#A020F0">“显示”,<年代pan style="color:#A020F0">“最后一次”,<年代pan style="color:#A020F0">“RandomStart”5);T = hinfstruct (T0,选择);
最后:峰值增益= 3.88,最后迭代= 67:峰值增益= 597,迭代= 185一些闭环极点略微稳定(衰变率接近1 e-07)最后:峰值增益= 597,迭代= 161一些闭环极点略微稳定(衰变率接近1 e-07)最后:峰值增益= 3.88,最后迭代= 66:峰值增益= 1.56,最后迭代= 102:峰值增益= 1.56,迭代= 96

最好的闭环增益是1.56,所以约束<年代pan class="inlineequation"> T < 1 几乎是满意的。的hinfstruct命令返回调整闭环传输<年代pan class="inlineequation"> T ( 年代 ) 。使用showTunable看到的调整值<年代pan class="inlineequation"> C 和滤波器系数<年代pan class="inlineequation"> 一个 :

showTunable (T)
C = 1 + Ki *——年代Kp = 0.000846, Ki = 0.0103名称:C连续时间比例积分控制器并联形式。- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -一个= 5.49 e + 03

使用getBlockValue得到的优化值<年代pan class="inlineequation"> C ( 年代 ) 和使用getValue评价过滤器<年代pan class="inlineequation"> F ( 年代 ) 的调整值<年代pan class="inlineequation"> 一个 :

C = getBlockValue (T)<年代pan style="color:#A020F0">“C”);F = getValue (F0 T.Blocks);<年代pan style="color:#228B22">从T F %传播调优参数特遣部队(F)
ans =从输入“yn”输出“yf”: 5486 - - - - - - - - - - s + 5486连续时间传递函数。

验证设计、绘制开环反应L = F * G * C并比较与目标回路的形状LS:

波德(LS,<年代pan style="color:#A020F0">“r——”F, G * C *,<年代pan style="color:#A020F0">“b”1 e6}、{1 e1),网格,标题(<年代pan style="color:#A020F0">的开环反应),传说(<年代pan style="color:#A020F0">“目标”,<年代pan style="color:#A020F0">“实际”)

图包含2轴对象。坐标轴对象1的标题:yn: y, ylabel级(dB)包含2线类型的对象。这些对象代表目标,实际。坐标轴对象2 ylabel阶段(度)包含2线类型的对象。这些对象代表目标,实际。

0数据库交叉频率循环和整体形状像预期的那样。稳定的利润可以读出情节右击选择<年代trong class="emphasis bold">特征菜单。这个设计有24分贝增益裕度和81度的阶段。情节闭环阶跃响应的参考r定位y:

步骤(反馈(G * C、F)),网格,标题(<年代pan style="color:#A020F0">“闭环反应”)

图包含一个坐标轴对象。坐标轴对象的标题:(1):y包含一个类型的对象。该对象代表untitled1。

而没有过度的反应,有一些残留摆动,由于第一共振峰G。你可以考虑添加一个陷波滤波器在前进的道路上移除这些模式的影响。

调优控制器收益模型万博1manbetx

假设你使用这个<一个href="matlab:open_system('rct_diskdrive')" target="_blank">万博1manbetx仿真软件模型来表示控制结构。如果你安装了仿真软件控制万博1manbetx设计,您可以调整控制器收益这个仿真软件模型如下。第一个标记信号r, e, y, n线性分析的仿真软件模型。万博1manbetx

然后创建的实例slTuner接口和仿真软件模块万博1manbetxCF可调:

ST0 = slTuner (<年代pan style="color:#A020F0">“rct_diskdrive”,{<年代pan style="color:#A020F0">“C”,<年代pan style="color:#A020F0">“F”});

由于滤波器<年代pan class="inlineequation"> F ( 年代 ) 有一种特殊的结构,显式地指定如何参数化F布洛克:

一个= realp (<年代pan style="color:#A020F0">“一个”1);<年代pan style="color:#228B22">%滤波器系数setBlockParam (ST0<年代pan style="color:#A020F0">“F”特遣部队([1]));

最后,使用getIOTransfer获得一个可调的闭环传递函数模型<年代pan class="inlineequation"> T ( 年代 ) (见图2)

%计算可调模型闭环传输(r, n) - > (y, e)T0 = getIOTransfer (ST0, {<年代pan style="color:#A020F0">“r”,<年代pan style="color:#A020F0">“n”},{<年代pan style="color:#A020F0">“y”,<年代pan style="color:#A020F0">“e”});<年代pan style="color:#228B22">在n %添加权重函数和e通道T0 = blkdiag (LS) * T0 * blkdiag (1,1 / LS);

现在,您可以调整控制器增益hinfstruct:

rng(0)选择= hinfstructOptions (<年代pan style="color:#A020F0">“显示”,<年代pan style="color:#A020F0">“最后一次”,<年代pan style="color:#A020F0">“RandomStart”5);T = hinfstruct (T0,选择);
最后:峰值增益= 3.88,最后迭代= 69:峰值增益= 597,迭代= 178一些闭环极点略微稳定(衰变率接近1 e-07)最后:峰值增益= 597,迭代= 166一些闭环极点略微稳定(衰变率接近1 e-07)最后:峰值增益= 3.88,最后迭代= 68:峰值增益= 1.56,最后迭代= 97:峰值增益= 1.56,迭代= 84

验证您获得相同的调整值与MATLAB的方法:

showTunable (T)
C = 1 + Ki *——年代Kp = 0.000846, Ki = 0.0103名称:C连续时间比例积分控制器并联形式。- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -一个= 5.49 e + 03

另请参阅

相关的话题