主要内容

调谐2-DOF PID控制器(命令行)

此示例显示如何在命令行中设计两级自由度(2-DOF)PID控制器。该示例还将2-DOF控制器性能与1-DOF PID控制器实现的性能进行了比较。

2-DOF PID控制器包括比例和衍生术语的设定值加权。与一个DOF PID控制器相比,2-DOF PID控制器可以实现更好的扰动抑制,而无需在设定点跟踪中的过冲显着增加。使用2-DOF PID控制器的典型控制架构如下图所示。

对于此示例,为植物设计了一个2-DOF控制器:

$$ \左(s \右)= {1 \ over {{s ^ 2} + 0.5s + 0.1}}。$$

假设系统的目标带宽为1.5 rad / s。

WC = 1.5;g = tf(1,[1 0.5 0.1]);c2 = pidtune(g,'pid2',厕所)
C2 = 1 u = Kp (b*r-y) + Ki --- (r-y) + Kd*s (c*r-y) s with Kp = 1.26, Ki = 0.255, Kd = 1.38, b = 0.665, c = 0 Continuous-time 2-DOF PID controller in parallel form.

使用类型'pid2'原因Pidtune.要生成2-DOF控制器,表示为aPID2.目的。显示器确认此结果。Pidtune.调整所有控制器系数,包括设定值权重B.C,平衡性能和鲁棒性。

要计算闭环响应,请注意,2-DOF PID控制器是2输入,1输出动态系统。您可以将控制器解析为两个通道,一个用于参考信号,一个用于反馈信号,如图所示。(看连续时间2-DOF PID控制器表示表示了解更多信息。)

将控制器分解为组件CR.CY.,并使用它们来计算闭环响应R.y

c2tf = tf(c2);CR = C2TF(1);CY = C2TF(2);T2 = CR *反馈(G,CY,+ 1);

要检查干扰抑制性能,从而计算转移功能D.y

S2 =反馈(G,CY,+ 1);

例如,设计具有相同带宽的1-DOF PID控制器,并计算相应的传输功能。然后比较步骤响应。

c1 = pidtune(g,'PID',厕所);t1 =反馈(g * c1,1);S1 =反馈(G,C1);子图(2,1,1)Stepplot(T1,T2)标题('参考跟踪')子图(2,1,2)Stepplot(S1,S2)标题(“干扰拒绝”) 传奇('1-DOF''2-DOF'

该地图表明,添加第二自由度消除了参考跟踪响应中的过冲,而无需任何成本扰乱拒绝。你可以改善扰动拒绝也使用设计福克斯选项。这个选项原因Pidtune.有利于扰乱扰乱抑制截止值跟踪。

选择= pidtuneOptions('designfocus'“骚扰 - 拒绝”);c2dr = pidtune(g,'pid2',WC,选择)
C2dr = 1 u = Kp (b*r-y) + Ki --- (r-y) + Kd*s (c*r-y) s with Kp = 1.72, Ki = 0.593, Kd = 1.25, b = 0, c = 0 Continuous-time 2-DOF PID controller in parallel form.

使用默认平衡设计焦点,Pidtune.选择A.B.0到1之间的价值,对于这种植物,当您更换设计重点以倾向于扰乱拒绝,Pidtune.B.= 0且C= 0.因此,Pidtune.自动生成I-PD控制器以优化干扰抑制。(明确指定I-PD控制器而不设置设计焦点会产生类似的控制器。)

使用所有三个控制器比较闭环响应。

c2dr_tf = tf(c2dr);cdr_r = c2dr_tf(1);cdr_y = c2dr_tf(2);T2DR = CDR_R *反馈(G,CDR_Y,+ 1);s2dr =反馈(g,cdr_y,+ 1);子图(2,1,1)Stepplot(T1,T2,T2DR)标题('参考跟踪')子图(2,1,2)Stepplot(S1,S2,S2DR);标题(“干扰拒绝”) 传奇('1-DOF''2-DOF''2-DOF拒绝焦点'

该图表明与平衡的2-DOF控制器相比,扰动抑制进一步改善。这种改进具有一些牺牲的参考跟踪性能,这略微慢。但是,参考跟踪响应仍然没有过冲。

因此,使用2-DOF控制可以改善干扰抑制,而不牺牲尽可能多的参考跟踪性能作为1-DOF控制。这些对系统性能的影响强烈依赖于植物的性质。对于某些植物和一些控制带宽,使用2-DOF控制或改变设计焦点对调谐结果的影响较小或没有影响。

也可以看看

|

相关话题