辛弗斯特
此示例使用辛弗斯特
用于调整固定结构控制器的命令
限制。
这个辛弗斯特
命令扩展了经典
综合(见辛夫辛
)对于固定结构控制系统。此命令适用于已经熟悉辛夫辛
工作流。如果你不熟悉
合成或发现增强植物和权重函数,使用系统
和环调
相反,看到了吗系统
与此示例相对应。
本例使用硬盘驱动器中的9阶磁头磁盘组件(HDA)。该模型捕获HDA中的前几个灵活模式。
负载hinfstruct_演示G博德(G),网格
我们使用如下所示的反馈回路将磁头定位在正确的轨道上。该控制结构由PI控制器和返回路径中的低通滤波器组成。磁头位置Y
应该跟踪阶跃变化R
响应时间约为1毫秒,几乎没有超调,并且没有稳态误差。
图1:控制结构
在图1的控制结构中有两个可调元件:PI控制器 和低通滤波器
使用可调PID
类来参数化PI块并指定过滤器
作为传递函数,取决于可调实参数
.
C0=可调PID(“C”,“圆周率”);%可调PI一个= realp (“a”,1);%过滤系数F0=tf(a[1a]);%由
环路成形是一种频域技术,用于强制要求响应速度、控制带宽、滚降和稳态误差。其思想是为开环响应指定目标增益剖面或“环路形状” .此应用的合理环路形状应具有积分作用,交叉频率约为1000 rad/s(期望响应时间的倒数为0.001秒)。这表明以下环路形状:
wc=1000;%目标交叉s=tf('s');LS = (1 + 0.001 * s / wc) / (0.001 + s / wc);bodemag (LS, {1 e1, 1 e5}),网格,标题(“目标循环形状”)
请注意,我们选择了一种双正确、双稳定的实现方式,以避免出现极点略微稳定和反转不正确的技术困难
和
具有辛弗斯特
,则必须将目标环路形状化为对闭环增益的约束。有一种系统的方法是测量反馈回路,如下所示:
添加测量噪声信号N
使用目标循环形状LS
和它的倒数来滤除误差信号E
以及白噪声源西北
.
图2:闭环公式
如果
表示来自的闭环传递函数(右,西北)
到电子战(y)
,增益约束
确保以下理想属性:
在低频(w
在高频(w>wc)下,开环增益保持在LS
闭环系统具有足够的稳定裕度
闭环阶跃响应具有较小的超调量。
因此,我们可以专注于调整 和 强制 .
在MATLAB中,可以使用连接
建模命令
根据图2的方框图连接固定和可调组件:
%标记块I/OWn=1/LS;Wn.u=“西北”; Wn.y=“n”;We=LS;We.u=“e”;我们=“呃”;C0.u=“e”; C0.y=“你”;F0.u=“伊恩”;F0.y=“yf”;%指定求和连接Sum1=sumblk(‘e=r-yf’);Sum2=sumblk(‘yn=y+n’);%把这些块连在一起T0=连接(G,Wn,We,C0,F0,Sum1,Sum2{“r”,“西北”},{“是的”,“呃”});
这些命令构造了一个广义状态空间模型T0
属于
。此模型取决于可调块C
和A.
:
T0.街区
ans=带字段的结构:C:[1x1可调PID]a:[1x1 realp]
注意T0
捕获图2方框图的以下“标准形式”,其中可调组件
与固定动力学分离。
图3:磁盘驱动器环路成形的标准形式
我们现在可以使用了辛弗斯特
调整PI控制器
和过滤
对于图1的控制体系结构,为了降低局部极小值的风险,运行三个优化,其中两个优化从随机初始值开始C0
和F0
:
rng (“默认”)opt=hinf结构(“显示”,“决赛”,“随机启动”,5); T=hinfstruct(T0,opt);
最后:峰值增益= 3.88,最后迭代= 67:峰值增益= 597,迭代= 191一些闭环极点略微稳定(衰变率接近1 e-07)最后:峰值增益= 108,迭代= 49略微有些闭环极点稳定(衰变率接近1 e-07)最后:峰值增益= 1.91,最后迭代= 91:峰值增益= 1.56,最后迭代= 97:峰值增益= 1.56,迭代次数= 94
最佳闭环增益为1.56,因此
他几乎满意了辛弗斯特
命令返回经过调优的闭环传输
使用可显示
查看
和滤波系数
:
showTunable (T)
C=1 Kp+Ki*--s,Kp=0.000846,Ki=0.0103名称:并行形式的C连续时间PI控制器。--------------------------------------a=5.49e+03
使用getBlockValue
获取
和使用getValue
对过滤器进行评估
对于调整后的
:
C=getBlockValue(T,“C”); F=getValue(F0,T块);%将调谐参数从T传播到F工作队(F)
ans=从输入“yn”到输出“yf”:5486------s+5486连续时间传递函数。
为了验证设计,绘制开环响应图L=F*G*C
并与目标回路形状进行比较LS
:
博德(LS,“r——”,G*C*F,“b”,{1e1,1e6}),网格,标题(“开环响应”),传说(“目标”,“实际的”)
0dB交叉频率和整体环路形状与预期一致。通过右键单击并选择特点菜单。该设计具有24dB增益裕度和81度相位裕度。根据参考图绘制闭环阶跃响应R
定位Y
:
步骤(反馈(G*C,F)),表格,标题(“闭环响应”)
虽然响应没有超调,但由于中的第一个共振峰,存在一些剩余抖动G
您可能会考虑在前向路径中添加一个陷波滤波器,以消除这些模式的影响。
假设你用这个r、 e,y,n
作为Simulink模型中的线性分析点。万博1manbetx
然后创建单反调谐器
接口和标记的Simulink块万博1manbetxC
和F
作为可调的:
ST0 = slTuner (“rct_磁盘驱动器”,{“C”,“F”});
自从过滤器
具有特殊结构,显式指定如何参数化F
区块:
一个= realp (“a”,1);%过滤系数setBlockParam(ST0,“F”,tf(a,[1a]);
最后,使用转移
推导闭环传递函数的可调模型
(见图2)
%闭环传输的计算可调模型(r,n)->(y,e)T0=getIOTransfer(ST0{“r”,“n”},{“是的”,“e”});%在n和e通道中添加加权函数T0=blkdiag(1,LS)*T0*blkdiag(1,1/LS);
现在,您可以使用调整控制器增益了辛弗斯特
:
rng(0)opt=HINF结构(“显示”,“决赛”,“随机启动”,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,Kp=0.000846,Ki=0.0103名称:并行形式的C连续时间PI控制器。--------------------------------------a=5.49e+03