2自由度PID控制器(命令行)
这个例子展示了如何在命令行上设计一个二自由度(2-DOF) PID控制器。该示例还比较了2-DOF控制器与1-DOF PID控制器的性能。
2-DOF PID控制器包括比例和导数项上的设定值加权。与一自由度PID控制器相比,二自由度PID控制器能在不显著增加设定点跟踪超调量的情况下实现更好的抗干扰。使用2自由度PID控制器的典型控制架构如下图所示。
对于本例,为给定的设备设计一个2自由度控制器:
假设系统的目标带宽是1.5 rad/s。
wc = 1.5;G = tf(1,[1 0.5 0.1]);C2 = pidtune (G,“PID2”wc)
C2 = 1 u = Kp (b*r-y) + Ki——(r-y) + Kd*s (c*r-y) s,其中Kp = 1.26, Ki = 0.255, Kd = 1.38, b = 0.665, c = 0连续时间2-DOF并行PID控制器。
使用类型“PID2”
原因pidtune
生成一个2自由度控制器,表示为pid2
对象。显示屏证实了这一结果。pidtune
调优所有控制器系数,包括设定点权重b
而且c
,以平衡性能和健壮性。
要计算闭环响应,请注意2自由度PID控制器是一个2输入1输出的动态系统。您可以将控制器分解为两个通道,一个用于参考信号,一个用于反馈信号,如图所示。(见连续时间2自由度PID控制器表示为更多的信息。)
将控制器分解为组件Cr
而且Cy
,并用它们来计算闭环响应r来y.
C2tf =特遣部队(C2);Cr = C2tf (1);Cy = C2tf (2);T2 = Cr *反馈(G, Cy, + 1);
为检验抗扰性能,计算传递函数d来y.
S2 =反馈(G, Cy, + 1);
为了进行比较,设计一个具有相同带宽的1自由度PID控制器,并计算相应的传递函数。然后比较步进响应。
C1 = pidtune (G,“PID”、wc);T1 =反馈(G * C1, 1);S1 =反馈(G, C1);次要情节(2,1,1)stepplot (T1, T2)标题(“参考跟踪”) subplot(2,1,2) stepplot(S1,S2)“抗干扰”)传说(“1-DOF”,二自由度的)
结果表明,在不影响干扰抑制的情况下,增加第二个自由度可以消除参考跟踪响应中的超调。您也可以使用DesignFocus
选择。这个选项会导致pidtune
倾向于抑制干扰而不是跟踪设定值。
选择= pidtuneOptions (“DesignFocus”,“抗干扰”);C2dr = pidtune (G,“PID2”、wc、选择)
C2dr = 1u = 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并行形式的连续时间2-DOF PID控制器。
在默认的平衡设计焦点下,pidtune
选择一个b
取值在0到1之间。对于这种植物来说,当你改变设计焦点以适应干扰时,pidtune
集b
= 0和c
= 0。因此,pidtune
自动生成I-PD控制器以优化干扰抑制。(显式指定I-PD控制器而不设置设计焦点将生成一个类似的控制器。)
比较使用所有三种控制器的闭环响应。
C2dr_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自由度控制或改变设计焦点对调谐结果的影响较小或没有影响。