固定的结构h∞合成与hinfstruct
下面的例子使用了hinfstruct
命令来优化一个固定的结构控制器<年代pan class="inlineequation">
约束。
介绍
的hinfstruct
命令扩展了经典<年代pan class="inlineequation">
合成(见hinfsyn
)固定的结构控制系统。这个命令是用于用户已经熟悉了hinfsyn
工作流。如果你不熟悉<年代pan class="inlineequation">
合成或找到增强植物和加权函数恐吓,使用systune
和looptune
代替。看到<一个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)、网格
我们使用如下所示的反馈循环位置正确的轨道上。这种控制结构由一个比例积分控制器和一个低通滤波器在返回路径中。头的位置y
应该跟踪阶跃变化r
约1毫秒的响应时间,几乎没有超调,没有稳态误差。
图1:控制结构
可调的元素
有两个可调控制结构元素的图1:PI控制器<年代pan class="inlineequation"> 和低通滤波器
使用tunablePID
类参数化π块并指定过滤器<年代pan class="inlineequation">
作为一个传递函数取决于一个真正可调参数<年代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"> 。合理的回路形状对于这个应用程序应该积分作用和交叉频率约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">“目标回路形状”)
注意,我们选择了一个bi-proper、双稳态实现避免技术上的困难稍微稳定的波兰人和广义逆。为了优化<年代pan class="inlineequation">
和<年代pan class="inlineequation">
与hinfstruct
,我们必须把这个目标循环形成约束闭环收益。系统方法是仪器反馈循环如下:
添加一个测量噪声信号
n
使用目标回路的形状
LS
及其相应的滤波器的误差信号e
和白噪声来源西北
。
图2:闭环配方
如果<年代pan class="inlineequation">
表示的闭环传递函数(r,西北)
来电子战(y)
,增益约束
获得理想的属性如下:
在低频率(w < wc),指定的开环增益保持高于增益目标回路的形状
LS
在高频(w > wc),指定的开环增益保持低于增益
LS
闭环系统有足够的稳定利润
闭环阶跃响应的超调小。
因此,我们可以专注于调优<年代pan class="inlineequation"> 和<年代pan class="inlineequation"> 执行<年代pan class="inlineequation"> 。
指定在MATLAB控制结构
在MATLAB中,您可以使用连接
命令模式<年代pan class="inlineequation">
通过连接固定和可调组件根据图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">
。这个模型依赖于可调C
和一个
:
T0.Blocks
ans =<年代pan class="emphasis">结构体字段:C: [1 x1 tunablePID]: [1 x1 realp]
请注意,T0
捕获以下的标准形式的框图图2的可调谐组件<年代pan class="inlineequation">
是分开固定动力学。
图3:磁盘驱动器循环形成的标准形式
调优控制器增益
我们现在可以使用了hinfstruct
调整PI控制器<年代pan class="inlineequation">
和过滤<年代pan class="inlineequation">
图1的控制体系结构。减轻局部最小值的风险,运行三个优化,其中两个是开始从随机的初始值C0
和F0
。
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">
几乎是满意的。的hinfstruct
命令返回调整闭环传输<年代pan class="inlineequation">
。使用showTunable
看到的调整值<年代pan class="inlineequation">
和滤波器系数<年代pan class="inlineequation">
:
showTunable (T)
C = 1 + Ki *——年代Kp = 0.000846, Ki = 0.0103名称:C连续时间比例积分控制器并联形式。- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -一个= 5.49 e + 03
使用getBlockValue
得到的优化值<年代pan class="inlineequation">
和使用getValue
评价过滤器<年代pan class="inlineequation">
的调整值<年代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">“实际”)
0数据库交叉频率循环和整体形状像预期的那样。稳定的利润可以读出情节右击选择<年代trong class="emphasis bold">特征菜单。这个设计有24分贝增益裕度和81度的阶段。情节闭环阶跃响应的参考r
定位y
:
步骤(反馈(G * C、F)),网格,标题(<年代pan style="color:#A020F0">“闭环反应”)
而没有过度的反应,有一些残留摆动,由于第一共振峰G
。你可以考虑添加一个陷波滤波器在前进的道路上移除这些模式的影响。
调优控制器收益模型万博1manbetx
假设你使用这个<一个href="matlab:open_system('rct_diskdrive')" target="_blank">万博1manbetx仿真软件模型来表示控制结构。如果你安装了仿真软件控制万博1manbetx设计,您可以调整控制器收益这个仿真软件模型如下。第一个标记信号r, e, y, n
线性分析的仿真软件模型。万博1manbetx
然后创建的实例slTuner
接口和仿真软件模块万博1manbetxC
和F
可调:
ST0 = slTuner (<年代pan style="color:#A020F0">“rct_diskdrive”,{<年代pan style="color:#A020F0">“C”,<年代pan style="color:#A020F0">“F”});
由于滤波器<年代pan class="inlineequation">
有一种特殊的结构,显式地指定如何参数化F
布洛克:
一个= realp (<年代pan style="color:#A020F0">“一个”1);<年代pan style="color:#228B22">%滤波器系数setBlockParam (ST0<年代pan style="color:#A020F0">“F”特遣部队([1]));
最后,使用getIOTransfer
获得一个可调的闭环传递函数模型<年代pan class="inlineequation">
(见图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