这个例子展示了如何鲁棒地调整一个PID控制器的直流电动机的参数不完全已知。
以“伺服控制器对直流电动机的鲁棒性”为例,推导了直流电动机的不确定模型。给出了从外加电压到角速度的传递函数
的阻力,电感,电动势常数电枢常数,粘滞摩擦、惯性载荷为电机的物理参数。这些参数不是完全已知的,并且会发生变化,因此我们将它们建模为具有指定范围或百分比不确定性的不确定值。
R =尿素的(“R”2,“比例”, 40);L =尿素的(“L”, 0.5,“比例”, 40);K =尿素的(“K”, 0.015,“范围”[0.012 - 0.019]);公里= K;Kb = K;Kf =尿素的(Kf的, 0.2,“比例”, 50);J =尿素的(“J”, 0.02,“比例”, 20);P = tf(Km,[J*L J*R+Kf*L Km*Kb+Kf*R]);P.InputName =“电压”;P.OutputName =“速度”;
时间和频率响应函数一步
或波德
自动采样不确定参数在其范围内。这有助于衡量不确定性的影响。例如,绘制不确定植物的阶跃响应P
并注意到工厂直流增益的巨大变化。
步骤(P, getNominal (P), 3)传说(“采样的不确定性”,“名义”)
为了稳健性地调整这个直流电机的PID控制器,创建一个可调PID块C
并建立一个闭环模型CL0
图1中的反馈回路。添加分析点dLoad
在设备输出端测量对负载扰动的灵敏度。
C = tunablePID (“C”,“pid”);美联社= AnalysisPoint (“dLoad”);CL0 =反馈(美联社* P * C, 1);CL0。InputName =“SpeedRef”;CL0。OutputName =“速度”;
图1:直流电机的PID控制
有许多方法可以指定期望的性能。在这里,我们关注负载扰动、滚落和闭环动力学的灵敏度。
R1 = TuningGoal。灵敏度(“dLoad”特遣部队(1.25 [0],[1 - 2]));R2 = TuningGoal。MaxLoopGain (“dLoad”10 (1);R3 = TuningGoal。波兰人(“dLoad”, 0.1, 0.7, 25);
第一个目标R1
指定灵敏度函数所需的配置文件。为了更好地抑制干扰,在低频时灵敏度应该较低。第二个目标R2
施加- 20db / 10年的滚转超过10 rad/s。第三个目标R3
指定闭环极点的最小衰减、最小阻尼和最大固有频率。
viewGoal (R1)
viewGoal (R2)
viewGoal (R3)
您现在可以使用systune
鲁棒地调整PID增益,即尝试和满足的设计目标所有不确定直流电机参数的可能值。因为局部极小值可能存在,从三组不同的初始增益值执行三组单独的调优。
选择= systuneOptions (“RandomStart”2);rng(0), [CL,fSoft] = systune(CL0,[R1 R2 R3],opt);
名义调优:设计1:软= 0.838,硬=负设计2:软= 0.838,硬=负设计3:软= 0.914,=从健壮的调优的设计1:软:[0.838,1.98],硬:负无穷,无穷,迭代= 65软:[0.875,1.76],硬:负无穷,无穷,迭代= 29软:[0.935,2.77],硬:负无穷,无穷,迭代= 28软:[1.35,1.35],困难:[-Inf,-Inf], Iterations = 35 Final: [1.35,1.35], Hard: [-Inf,-Inf], Iterations = 35 Final:, Hard: [-Inf,-Inf],Soft = 1.35, Hard = -Inf, Iterations = 32 Soft: [1.35, 1.37], Hard: [-Inf,-Inf], Iterations = 57 Soft: [0.875,1.77], Hard: [-Inf,-Inf], Iterations = 87 Soft: [1.02,2.98], Hard: [-Inf,-Inf],迭代= 30 Soft: [1.34,1.36], Hard: [-Inf,-Inf], Iterations = 20 Final:软= 1.35,硬= -Inf,迭代= 226
最终值接近1,因此在整个不确定范围内,调优目标几乎都达到了。调谐PID控制器为
showTunable (CL)
C = 1 s Kp + Ki *——+ Kd * -------- s Tf*s+1, Kp = 33.8, Ki = 83.2, Kd = 2.34, Tf = 0.028
接下来,检查这个PID是如何排除30个随机选择的不确定参数值的步进负载扰动的。
S = getSensitivity (CL,“dLoad”);clf步骤(usample(年代,30),getNominal (S), 3)标题(负载扰动抑制的)传说(“采样的不确定性”,“名义”)
拒工厂有很大的变化,但废液性能保持一致。您还可以验证灵敏度函数稳健性地保持在规定的范围内。
viewGoal (R1, CL)
健壮的优化与systune
是很容易的。只需将植物的不确定性包括在可调谐闭环模型使用尿素的
对象,软件会自动尝试实现整个不确定范围的调优目标。