主要内容

调谐2自由度PID控制器(命令行)

这个例子展示了如何在命令行上设计一个两自由度(2-DOF) PID控制器。该实例还比较了二自由度控制器和一自由度PID控制器的性能。

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

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

$ $ G \左(s \右)= {1 \ / {{s ^ 2} + 0.5 s + 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'、wc);T1 =反馈(G * C1, 1);S1 =反馈(G, C1);次要情节(2,1,1)stepplot (T1, T2)标题(“参考跟踪”)子图(2,1,2)Stepplot(S1,S2)标题(“干扰拒绝”) 传奇('1-DOF''2-DOF'

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

选择= pidtuneOptions (“DesignFocus”“抗干扰”);c2dr = pidtune(g,'pid2',WC,选择)
C2dr = 1 u = Kp (b*r-y) + Ki——(r-y) + Kd*s (c*r-y) s,具有Kp = 1.72, Ki = 0.593, Kd = 1.25, b = 0, c = 0并联形式的连续二自由度PID控制器。

使用默认平衡设计焦点,pidtune选择A.B.0到1之间的值。对于这个工厂,当你改变设计重点,以有利于抗干扰,pidtuneB.= 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控制或改变设计焦点对调谐结果的影响较小或没有影响。

也可以看看

|

相关的话题