主要内容

PID整定跟踪与干扰抑制

这个示例使用systune探讨整定PID控制器时设定值跟踪和抗干扰之间的权衡。

PID调优的权衡

在整定1-DOF PID控制器时,通常不可能同时实现良好的跟踪和快速的抗干扰。在控制带宽固定的情况下,越快的抗扰要求带宽内的增益越大,这只能通过增加交叉频率附近的斜率来实现。因为较大的斜率意味着较小的相位裕度,这通常是以对设定值变化响应的更多超调为代价的。

图1:1- dof PID调谐的权衡。

这个示例使用systune探索这种折衷并为您的应用程序找到正确的折衷方案。另请参阅pidtool了解实现这种权衡的更直接的方法(参见Controller Options下的“Design Focus”)。

优化设置

考虑图2中的PID环,在目标输入处有负载扰动。

图2:PID控制回路。

在这个例子中,我们使用植物模型

$ $ G (s) = {10 (s + 5) \ (s + 1) (s + 2) (s + 10)}。$$

目标控制带宽为10 rad/s。创建一个可调PID控制器,并将其微分滤波器的时间常数固定为T_f = 0.01美元(10倍带宽),因此只有三种增益可调(比例增益、积分增益和导数增益)。

= zpk(-1,[-1 -2],10);C = tunablePID (“C”“pid”);C.Tf.Value = 0.01;C.Tf.Free = false;%修复Tf = 0.01

构建一个可调模型T0闭环传输的ry.使用“分析点”块来标记位置u扰动进入的地方。

LS = AnalysisPoint (“u”);T0 =反馈(G * LS * C, 1);T0。u =“r”;T0。y =“y”

开环响应的增益L = GC美元是反馈回路行为的关键指标。开环增益在控制带宽内应该是高的(大于1),以确保良好的干扰抑制,而在控制带宽外应该是低的(小于1),以对测量噪声和未建模的植物动态不敏感。因此,用三个要求来表达控制目标:

  • “跟踪”要求指定大约0.2秒的响应时间来进行步进更改r

  • “MaxLoopGain”要求强制- 20db / 10年以上的交叉频率10 rad/s

  • “MinLoopGain”要求在低于0.1 rad/s的频率下调整积分增益。

s =特遣部队(“年代”);wc = 10;目标交叉频率%%跟踪R1 = TuningGoal。跟踪(“r”“y”2 / wc);%带宽和滚动R2 = TuningGoal。MaxLoopGain (“u”、wc / s);%抗干扰性R3 = TuningGoal。MinLoopGain (“u”、wc / s);R3。焦点= [0 0.1];

一自由度PID控制器的整定

使用systune调整PID增益以满足这些要求。将带宽和干扰抑制目标作为硬约束,并在这些约束下优化跟踪。

T1 = systune(T0,R1,[R2 R3]);
Final: Soft = 1.12, Hard = 0.9998, Iterations = 157

确认所有三个要求几乎都满足了。蓝色的曲线是实现的值,黄色的斑块表示违反需求的区域。

图(“位置”,[100,100,560,580])视图目标([R1 R2 R3],T1)

跟踪与拒绝

为了深入了解跟踪和抗干扰之间的权衡,将[0,0.1]rad/s频段的最小环路增益增加一个因子\α美元.重新调整PID增益的值美元\α= 2,4美元

%回路增益增加2倍α= 2;R3。MinGain =α* wc / s;T2 = systune(T0,R1,[R2 R3]);
Final: Soft = 1.17, Hard = 0.99954, Iterations = 115
%回路增益增加4倍α= 4;R3。MinGain =α* wc / s;T3 = systune(T0,R1,[R2 R3]);
Final: Soft = 1.25, Hard = 0.99994, Iterations = 166

比较步骤命令的响应r以及阶跃干扰d在工厂输入处输入u

图中,步骤(T1、T2、T3, 3)标题(“定位点跟踪”)传说(“\α= 1”“\α= 2”“\α= 4”

%计算从u到y的闭环传输D1 = getIOTransfer (T1,“u”“y”);D2 = getIOTransfer (T2,“u”“y”);D3 = getIOTransfer (T3,“u”“y”);步骤(D1、D2、D3 10)标题(“抗干扰”)传说(“\α= 1”“\α= 2”“\α= 4”

注意干扰抑制是如何改进的α增加,但以设置点跟踪中增加的超调为代价。绘制三种设计的开环响应,并注意交叉前的斜率(0dB)随α

L1 = getLoopTransfer (T1,“u”);L2 = getLoopTransfer (T2,“u”);L3 = getLoopTransfer (T3,“u”);bodemag (L1, L2, L3,{1飞行,1 e2}),网格标题(的开环反应)传说(“\α= 1”“\α= 2”“\α= 4”

哪种设计是最合适的取决于你要调优的反馈循环的主要目的。

二自由度PID控制器的整定

如果你不能利用跟踪来提高抗干扰能力,可以考虑使用2-DOF架构。二自由度PID控制器能够快速抑制扰动,而不增加设定值跟踪的超调量。

图3:二自由度PID控制回路。

使用tunablePID2对象来参数化二自由度PID控制器,并构造可调模型T0图3中闭环系统的

C = tunablePID2 (“C”“pid”);C.Tf.Value = 0.01;C.Tf.Free = false;%修复Tf = 0.01T0 =反馈(G * LS * C, 1、2、1,+ 1);T0 = T0 (: 1);T0。u =“r”;T0。y =“y”

接下来调整2-DOF PI控制器,以获得之前尝试过的最大环路增益(\α= 4美元).

%带宽内最小环路增益(用于抑制干扰)α= 4;R3。MinGain =α* wc / s;%调谐2自由度PI控制器T4 = systune(T0,R1,[R2 R3]);
Final: Soft = 1.09, Hard = 0.91898, Iterations = 70

比较1-DOF和2-DOF的设定点跟踪和抗扰特性\α= 4美元

clf、步骤(T3,“b”T4,“g——”4)标题(“定位点跟踪”)传说(“1-DOF”二自由度的

D4 = getIOTransfer (T4,“u”“y”);步骤(D3,“b”D4,“g——”4)标题(“抗干扰”)传说(“1-DOF”二自由度的

对阶跃扰动的响应是相似的,但二自由度控制器消除了响应中对设定值变化的超调。您可以使用showTunable比较1-DOF和2-DOF控制器的调谐增益。

showTunable (T3)% 1-DOFπ
C = 1 s Kp + Ki *——+ Kd * -------- s Tf*s+1, Kp = 9.51, Ki = 14.9, Kd = 0.89, Tf = 0.01
showTunable (T4)%二自由度π
C = 1 s u = Kp (b*r-y) + Ki——(r-y) + Kd -------- (C *r-y) s Tf*s+1, Kp = 6.18, Ki = 21.3, Kd = 0.897, Tf = 0.01, b = 0.688, C = 1.23

另请参阅

相关的话题