主要内容

固定结构h∞的合成hinfstruct

本例使用hinfstruct命令来调优固定结构控制器<年代pan class="inlineequation"> H 约束。

简介

hinfstruct命令扩展经典<年代pan class="inlineequation"> H 合成(见hinfsyn)至固定结构控制系统。命令适用于已经熟悉hinfsyn工作流。如果你不熟悉<年代pan class="inlineequation"> H 合成或发现增强植物和加权功能吓人,使用systune而且looptune代替。看到<一个href="//www.tatmou.com/de/de/help/control/ug/tuning-control-systems-with-systune_btl4p3_.html" class="a">调节控制系统与SYSTUNE为systune与本例对应。

工厂模式

本例使用硬盘驱动器中头部磁盘组件(HDA)的九阶模型。该模型捕获了HDA中的前几个柔性模态。

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

图包含2个轴。标题为From: u To: y的轴1包含一个类型为line的对象。该对象表示g。Axes 2包含一个line类型的对象。这个对象表示G。

我们使用如下所示的反馈循环来将头部定位在正确的轨道上。该控制结构由PI控制器和回路低通滤波器组成。头部位置y应该跟踪一个步骤的变化吗r响应时间约为1毫秒,很少或没有超调,并且没有稳态误差。

图1:控制结构

可调的元素

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

F 年代 一个 年代 + 一个

使用tunablePID类来参数化PI块并指定过滤器<年代pan class="inlineequation"> F 年代 作为传递函数依赖于一个可调实参数<年代pan class="inlineequation"> 一个

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

环形造型设计

环路整形是一种频域技术,用于加强对响应速度、控制带宽、滚转和稳态误差的要求。其思想是为开环响应指定一个目标增益剖面或“环路形状”<年代pan class="inlineequation"> l 年代 F 年代 G 年代 C 年代 .对于这种应用,合理的回路形状应具有积分作用,交叉频率约为1000 rad/s(期望响应时间的倒数为0.001秒)。这建议使用以下循环形状:

Wc = 1000;<年代pan style="color:#228B22">%目标交叉S = tf(<年代pan style="color:#A020F0">“年代”);LS = (1+0.001*s/wc)/(0.001+s/wc);bodemag(LS,{1e1,1e5}), grid, title(<年代pan style="color:#A020F0">“目标循环形状”)

图中包含一个轴。坐标轴包含一个line类型的对象。该节点表示LS。

请注意,我们选择了双固有、双稳定的实现,以避免边际稳定极点和不适当逆的技术困难。为了调优<年代pan class="inlineequation"> C 年代 而且<年代pan class="inlineequation"> F 年代 hinfstruct时,我们必须将这个目标环路形状转化为对闭环增益的约束。要做到这一点,一个系统的方法是将反馈循环仪器如下:

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

  • 使用目标循环形状LS和它的倒数来滤波误差信号e还有白噪声源西北

图2:闭环公式

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

T < 1

确保以下理想的属性:

  • 在低频(wLS

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

  • 闭环系统具有足够的稳定裕度

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

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

在MATLAB中指定控制结构

在MATLAB中,你可以使用连接建模命令<年代pan class="inlineequation"> T 年代 将固定组件和可调组件按图2框图连接:

%标记块I/ oWn = 1/LS;Wn。u =<年代pan style="color:#A020F0">“西北”;Wn。y =<年代pan style="color:#A020F0">“n”;We = 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 = connect(G,Wn,We,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。块
ans =<年代pan class="emphasis">带字段的结构:C: [1x1 tunablePID] a: [1x1 realp]

请注意,T0获取图2中可调组件所在的框图的以下“标准形式”<年代pan class="inlineequation"> C F 都是从固定动力中分离出来的。

图3:磁盘驱动器环整形的标准表格

控制器增益调优

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

rng (<年代pan style="color:#A020F0">“默认”) opt = hinfstructOptions(<年代pan style="color:#A020F0">“显示”,<年代pan style="color:#A020F0">“最后一次”,<年代pan style="color:#A020F0">“RandomStart”5);T = hinfstruct(T0,opt);
最终:峰值增益= 3.88,迭代= 67最终:峰值增益= 597,迭代= 191一些闭环极点是边缘稳定的(衰减率接近1e-07)最终:峰值增益= 108,迭代= 49一些闭环极点是边缘稳定的(衰减率接近1e-07)最终:峰值增益= 1.91,迭代= 91最终:峰值增益= 1.56,迭代= 97最终:峰值增益= 1.56,迭代= 94

最佳闭环增益为1.56,因此约束<年代pan class="inlineequation"> T < 1 几乎满足了。的hinfstruct命令返回调优后的闭环传输<年代pan class="inlineequation"> T 年代 .使用showTunable的调优值<年代pan class="inlineequation"> C 还有滤波系数<年代pan class="inlineequation"> 一个

showTunable (T)
C = 1 Kp + Ki *——s with Kp = 0.000846, Ki = 0.0103名称:C并行形式的连续时间PI控制器。----------------------------------- a = 5.49e+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”,{1e1,1e6}), grid, title(<年代pan style="color:#A020F0">的开环反应),传说(<年代pan style="color:#A020F0">“目标”,<年代pan style="color:#A020F0">“实际”)

图包含2个轴。标题为From: yn To: y的坐标轴1包含2个line类型的对象。这些对象表示目标、实际。坐标轴2包含2个line类型的对象。这些对象表示目标、实际。

0dB交叉频率和整体环路形状符合预期。稳定裕度可以通过右击并选择<年代trong class="emphasis bold">特征菜单。该设计具有24dB增益裕度和81度相位裕度。根据参考图绘制闭环阶跃响应图r定位y

step(feedback(G*C,F)), grid, title(<年代pan style="color:#A020F0">“闭环反应”)

图中包含一个轴。标题为From: In(1) To: y的轴包含一个类型为line的对象。该对象表示untitled1。

虽然响应没有超调,但由于第一个共振峰在G.您可以考虑在正向路径中添加陷波滤波器,以消除这些模式的影响。

从Simulink调优控制器增益金宝app

假设你用这个<一个href="matlab:open_system('rct_diskdrive')" target="_blank">金宝app仿真软件模型来表示控制结构。如果您已安装了Simul金宝appink Control Design,则可以按以下方式调整此Simulink模型的控制器增益。首先标记信号r, e, y, n作为Simulink模型中的线性分析点。金宝app

对象的实例slTuner接口并标记Simulink块金宝appC而且F可调:

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

因为过滤器<年代pan class="inlineequation"> F 年代 具有特殊结构,显式指定如何参数化F布洛克:

A = 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(1,LS) * T0 * blkdiag(1,1/LS);

现在您已经准备好调优控制器增益hinfstruct

rng(0) opt = hinfstructOptions(<年代pan style="color:#A020F0">“显示”,<年代pan style="color:#A020F0">“最后一次”,<年代pan style="color:#A020F0">“RandomStart”5);T = hinfstruct(T0,opt);
最终:峰值增益= 3.88,迭代= 67最终:峰值增益= 597,迭代= 189一些闭环极点是边缘稳定的(衰减率接近1e-07)最终:峰值增益= 596,迭代= 170一些闭环极点是边缘稳定的(衰减率接近1e-07)最终:峰值增益= 3.88,迭代= 69最终:峰值增益= 1.56,迭代= 102最终:峰值增益= 1.56,迭代= 108

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

showTunable (T)
C = 1 Kp + Ki *——s with Kp = 0.000846, Ki = 0.0103名称:C并行形式的连续时间PI控制器。----------------------------------- a = 5.49e+03

另请参阅

相关的话题