Chapter8.3: 制御システムのキャリブレーションのための根軌跡法

この一連のブログでは、主に自動制御における Matlab ソフトウェアのアプリケーションについて説明します. 自動制御の理論的根拠がない場合は、まず自動制御に関する一連のブログ投稿を学習してください. この一連のブログでは、自動制御の理論的な知識については説明しません.詳細に。
自動制御の理論的基礎に関するリンク: https://blog.csdn.net/qq_39032096/category_10287468.html?spm=1001.2014.3001.5482
ブログ参考書: 「MATLAB/Simulink と制御システムのシミュレーション」。



3. 制御系校正の根軌跡法

3.1 概要
  • 根軌跡法はグラフィカルな方法であり、システムの特定のパラメーターがゼロから無限大に変化したときの閉ループの極位置の変化を表します。
  • 適切な補正デバイスを導入して元のシステムの根軌跡を変更し、目的のシステム パフォーマンスを取得します。
  • 補正装置の導入は、システムにゼロ極点を追加し、ゼロ極点の変更によって根軌跡の形状を変更することです。
  • 根軌跡法による修正の基本は、システムの開ループ伝達関数に零点と極点を追加して根軌跡の形状を変更し、システムの根軌跡がssになるようにすることです。s平面は、目的の閉ループ極を通過します。
  • 根軌跡法による補正の特徴は、閉ループ システムに 1 対の優勢な閉ループ極があり、ゼロ極と追加の極が応答特性に影響を与えることです。
  • 補正のために根軌跡を適用することは、本質的に、補正デバイスを使用して根軌跡を変更することであり、それにより、支配的な閉ループ極のペアを目的の位置に配置します。
  • 開ループ伝達関数に極を追加すると、根軌跡が右に移動する可能性があるため、システムの相対的な安定性が低下し、システムの調整時間が長くなります。
  • 開ループ伝達関数にゼロ点を追加すると、根軌跡が左に移動するため、システムの相対的な安定性が向上し、システムの調整時間が短縮されます。
  • システム性能指標が最大オーバーシュート、立ち上がり時間、調整時間、減衰比、および目的の閉ループ減衰比、閉ループ極非減衰周波数などで表される場合、根軌跡法を使用する方が便利です。修正用;
  • 根軌跡法を使用して系列補正パラメーターを決定する条件は次のとおりです。
    • カスケード補正方式を採用することが決定されました。
    • 与えられた時間領域インデックス: σ p , ts , ess ( ∞ ) \sigma_p, t_s, e_{ss}(\infty)pptsss( )
3.2 根軌跡法によるリード補正

根軌跡法によるリード修正装置の設計手順:

  • 最初に、システムの制御性能が、虚軸に最も近い閉ループ共役極のペアsd s_dによって決定されると仮定します。sdリーディング;

  • 2 次システム パラメーターζ \zetaの適用ζω n \omega_nおおn与えられたσ p \sigma_pによる時間領域インデックスとの関係ppts t_sts閉ループの支配的な極の位置を決定します。

  • 元のシステムの根軌跡を描きます. 根軌跡が目的の閉ループ主極を通過できない場合, ゲインを調整するだけでは与えられた要件を満たすことができず, 補正デバイスを追加する必要があることを意味します; 根軌跡が元のシステムが予想される極の右側にある場合は、事前補正をデバイスに追加する必要があります。

  • リーディング補正デバイスが提供する必要があるリーディング位相角を計算します。

  • 補正デバイスの極-零点位置を次のように計算します:
    φ c = ± ( 2 k + 1 ) π − ∠ G 0 ( sd ) \varphi_c=±(2k+1)\pi-\angle{G_0(s_d) }ファイc=± ( 2k _+1 ) p∠G _0( sd)

  • 補正されたシステム ゲインは、振幅条件によって決まります。

  • システムの性能指数をチェックして、システムが必要な指数を満たさない場合は、ゼロ極位置を適切に調整し、大きな静的誤差係数が必要な場合は、他の方式を採用する必要があります。

3.3 根軌跡法によるラグ補正

根軌跡法によるヒステリシス補正デバイスの設計手順:

  • 修正されていないシステムの根軌跡をプロットします。
  • 必要な過渡応答指数に従って、目的の閉ループ主極を決定し、根軌跡の振幅条件に従って、主極に対応する開ループ ゲインを計算します。
  • 指定されたパフォーマンス インデックスの定常状態エラーの要件に従って増加させる必要があるエラー係数値を計算します。
  • 増加させるべき誤差係数の値によって補正デバイスβ \betaを決定します。β値、通常はβ \betaβの値が10 10を超えない10
  • ヒステリシス補正デバイスの極ゼロ点を決定するには、極ゼロ点を座標の原点に近づけることが原則であり、2 つの間の距離は β \ betaです。β倍;
  • 修正されたシステムの根軌跡を描画し、目的の支配的な極を見つけます。
  • 目的の閉ループ ポールから、振幅条件に従って、アンプのゲインを適切に調整します。
  • システムの性能指標をチェックして修正し、要件が満たされていない場合は、校正デバイスのゼロ極位置を適切に調整します。
3.4 根軌跡法による進み遅れ補正

根軌跡法を使用して進み遅れ補正デバイスを設計する手順:

  • 必要なパフォーマンス インデックスに従って、目的のドミナント ポールsd s_dを決定します。sd位置;

  • 目的の位置で閉ループ極を取得するには、進み遅れ補正の進み部分によって生成される進み位相角を計算します。
    φ c = ± ( 2 k + 1 ) π − ∠ G 0 ( sd ) \varphi_c=±(2k+1) \pi-\angle{G_0(s_d)}ファイc=± ( 2k _+1 ) p∠G _0( sd)

  • 進み遅れ補正デバイスの伝達関数は
    次のとおりです。 ) ( s + 1 T 2 s + 1 T 2 β ) \varphi_c=±(2k+1)\pi-\angle{G_0(s_d)}, G_c(s)=K_c\left(\frac{s+\displaystyle \frac{ 1}{T_1}}{s+\displaystyle\frac{\beta}{T_1}}\right)\left(\frac{s+\displaystyle\frac{1}{T_2}}{s+\displaystyle\frac {1} {T_2\beta}}\right)ファイc=± ( 2k _+1 ) p∠G _0( sd)Gc()=Kc s+T1bs+T11 s+T2b1s+T21

  • T 2リードラグ補正におけるラグ部分のT_2T2選択要足够大,即:
    ∣ sd + 1 T 2 sd + 1 T 2 β ∣ = 1 , ∣ sd + 1 T 1 sd + β T 1 ∣ ∣ K 1 G 0 ( sd ) ∣ = 1 , ∠ ( sd + 1 T 1 ) − ∠ ( sd + β T 1 ) = φ \begin{vmatrix} \displaystyle\frac{s_d+\displaystyle\frac{1}{T_2}}{s_d+\displaystyle\frac{1}{T_2\ beta}} \end{vmatrix}=1,\begin{vmatrix} \displaystyle\frac{s_d+\displaystyle\frac{1}{T_1}}{s_d+\displaystyle\frac{\beta}{T_1}} \end{ vmatrix}\begin{vmatrix}K_1G_0(s_d)\end{vmatrix}=1,\angle\left(s_d+\displaystyle\frac{1}{T_1}\right)-\angle\left(s_d+\displaystyle\frac{ \beta}{T_1}\right)=\varphi sd+T2b1sd+T21 =1 sd+T1bsd+T11 K1G0( sd) =1 ( sd+T11)( sd+T1b)=ファイ

  • 得られたβ \betaを使用してβ値、T 2 T_2T2,使:
    ∣ sd + 1 T 2 sd + 1 T 2 β ∣ ≈ 1 , 0 ° < ∠ ( sd + 1 T 2 sd + 1 T 2 β ) < 3 ° \begin{vmatrix} \displaystyle\frac{s_d+ \displaystyle\frac{1}{T_2}}{s_d+\displaystyle\frac{1}{T_2\beta}} \end{vmatrix}≈1,0°<\angle\left(\frac{s_d+\displaystyle\frac {1}{T_2}}{s_d+\displaystyle\frac{1}{T_2\beta}}\right)<3° sd+T2b1sd+T21 1 < sd+T2b1sd+T21 <

  • パフォーマンス指標を確認します。

3.5 根軌跡補正における MATLAB/SIMULINK の適用
3.5.1 演習 1: 事前修正

実験要件: 既知の制御システムの開ループ伝達関数は次のとおりです。G ( s ) = 2.3 s ( 1 + 0.2 s ) ( 1 + 0.15 s ) G(s)=\displaystyle\frac{2.3}{s( 1+0.2秒)(1+0.15秒)}G ( s )=s ( 1+0.2) ( 1+0.152.3、高度な補正リンクを設計して、補正後のシステムの静的速度誤差係数K v ≤ 4.6 K_v ≤ 4.6Kv4.6、閉ループ主極は減衰比ζ = 0.2 \zeta=0.2g=0.2、固有振動角周波数ω n = 12.0 rad / s \omega_n=12.0{\rm rad/s}おおn=12.0 rad/s、補正前後のシステムの単位ステップ応答曲線、単位インパルス応答曲線、および根軌跡を描画します。

ほどく:

STEP 1 {\rm STEP1}STEP1】:シリアルリード補正リンクパラメータのサブ機能プログラム設計を計算します。

% get_param子函数,文件名:get_param.m
function Gc=get_param(G,s1,kc)
numG=G.num{
    
    1};denG=G.den{
    
    1};
ngv=polyval(numG,s1);dgv=polyval(denG,s1);
g=ngv/dgv;
theta_G=angle(g);theta_s=angle(s1);
MG=abs(g);Ms=abs(s1);

Tz=(sin(theta_s)-kc*MG*sin(theta_G-theta_s))/(kc*MG*Ms*sin(theta_G));
Tp=-(kc*MG*sin(theta_s)+sin(theta_G+theta_s))/(Ms*sin(theta_G));

Gc=tf([Tz,1],[Tp,1]);

STEP 2 {\rm STEP2}STEP2 ]: システム補正リンクの伝達関数、補正後の閉ループ伝達関数、応答曲線を解きます。

% 实例Chapter8.3.5.1
clc;clear;

% 建立校正前控制系统开环传递函数
num=2.3;den=conv([1,0],conv([0.2,1],[0.15,1]));
G=tf(num,den);

% 校正后系统的性能要求
zeta=0.2;wn=12.0;
[num,den]=ord2(wn,zeta);
s=roots(den);
s1=s(1);kc=2;
Gc=get_param(G,s1,kc);

GGc=G*Gc*kc;                    % 校正后系统开环传递函数
G_bf_close=feedback(G,1);       % 校正前系统闭环传递函数
G_af_close=feedback(GGc,1);     % 校正后系统闭环传递函数

% 绘制单位阶跃响应
figure(1);
step(G_af_close,'b',3.5);hold on;
step(G_bf_close,'r',3.5);grid;
legend('校正后闭环系统阶跃响应','校正前闭环系统阶跃响应');
set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',1.5);
title('校正前后系统阶跃响应','FontSize',15);

% 绘制单位脉冲响应
figure(2);
impulse(G_af_close,'b',3.5);hold on;
impulse(G_bf_close,'r',3.5);grid;
legend('校正后闭环系统脉冲响应','校正前闭环系统脉冲响应');
set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',1.5);
title('校正前后系统脉冲响应','FontSize',15);

% 绘制校正前后系统根轨迹图
figure(3);
rlocus(G,GGc);grid;
legend('校正前系统根轨迹图','校正后系统根轨迹图');
set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',1.5);
title('校正前后系统根轨迹','FontSize',15);

% 超前校正环节传递函数和校正后系统闭环传递函数
Gc,G_af_close
% 校正环节传递函数
Gc = 
  1.016 s + 1
  ------------
  0.0404 s + 1

% 校正后系统闭环传递函数
G_af_close = 
                       4.672 s + 4.6
  -------------------------------------------------------
  0.001212 s^4 + 0.04414 s^3 + 0.3904 s^2 + 5.672 s + 4.6

STEP 3 {\rm STEP3}STEP3】: システム校正前後の単位ステップ応答曲線。

1

STEP 4 {\rm STEP4}STEP4】: システムキャリブレーション前後のユニットインパルス応答曲線。

2

STEP 5 {\rm STEP5}STEP5】: システムキャリブレーション前後の根軌跡。

3

STEP 6 {\rm STEP6}STEP6 ]: パフォーマンス分析。

  • シリアル リード補正リンクの伝達関数は次のとおりです。G c ( s ) = 1.016 s + 1 0.0404 s + 1 G_c(s)=\displaystyle\frac{1.016s+1}{0.0404s+1}Gc()=0.0404+11.016+1
  • 単位ステップ応答曲線によると、補正前のシステム オーバーシュート: σ = 17.3 % \sigma=17.3\%p=17.3%、立ち上がり時間:tr = 0.58 s t_r=0.58{\rm s}tr=0.58、調整時間:ts = 2.92 秒 t_s=2.92{\rm s}ts=2.92秒 _
  • 単位ステップ応答曲線によると、システムは補正後にオーバーシュートします: σ = 31.7 % \sigma=31.7\%p=31.7%、立ち上がり時間:tr = 0.123 s t_r=0.123{\rm s}tr=0.123、調整時間:ts = 2.3 秒 t_s=2.3{\rm s}ts=2.3秒 _
  • したがって、システムを連続して修正すると、システムのパフォーマンスが向上します。
  • 根軌跡図から、システムの根軌跡は修正後に左に移動します。これにより、システムの相対的な安定性が向上し、システムの調整時間が短縮されます。
3.5.2 演習 2: ラグ修正

実験要件: 既知のシステムの開ループ伝達関数は次のとおりです: G ( s ) = 4 s ( s + 2.5 ) G(s)=\displaystyle\frac{4}{s(s+2.5)}G ( s )=s ( s+2.5 )4、修正後のシステムの静的速度誤差係数がK v ≤ 6 K_v ≤ 6 となるように、直列ラグ修正リンクを設計します。Kv6、閉ループ支配極は減衰比を満たします:ζ = 0.407 \zeta=0.407g=0.407、補正前後のシステム ユニット ステップ応答曲線、ユニット インパルス応答、および根軌跡を描画します。

ほどく:

STEP 1 {\rm STEP1}STEP1 ]: 直列遅れ補正リンクのパラメータのサブ機能プログラム設計を計算します。

% get_param_02子函数,文件:get_param_02.m
function [Gc,kc]=get_param_02(G,zeta,wc,Tz)
G=tf(G);[r,k]=rlocus(G);
za=zeta/sqrt(1-zeta^2);

ri=r(1,find(imag(r(1,:))>0));
ra=imag(ri)./real(ri);
kc=spline(ra,k(find(imag(r(1,:))>0)),1/za);

syms x;syms ng;syms dg;
ng=poly2sym(G.num{
    
    1});dg=poly2sym(G.den{
    
    1});
ess=limit(ng*kc/dg*x);
beta=round(100/sym2poly(ess)/wc);Tp=Tz/beta;
Gc=tf([1,Tz],[1,Tp]);

STEP 2 {\rm STEP2}STEP2 ]: システム補正リンクの伝達関数、補正後の閉ループ伝達関数、応答曲線を解きます。

% 实例Chapter8.3.5.2
clc;clear;

% 建立校正前控制系统开环传递函数
num=4;den=conv([1,0],[1,2.5]);
G=tf(num,den);

% 校正后系统的性能要求
zeta=0.407;wc=6;Tz=0.1;
[Gc,Kc]=get_param_02(G,zeta,wc,Tz);

GGc=G*Gc*Kc;                    % 校正后系统开环传递函数
G_bf_close=feedback(G,1);       % 校正前系统闭环传递函数
G_af_close=feedback(GGc,1);     % 校正后系统闭环传递函数

% 绘制单位阶跃响应
figure(1);
step(G_af_close,'b');hold on;
step(G_bf_close,'r');grid;axis([0 15 0 1.4]);
legend('校正后闭环系统阶跃响应','校正前闭环系统阶跃响应');
set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',1.5);
title('校正前后系统阶跃响应','FontSize',15);

% 绘制单位脉冲响应
figure(2);
impulse(G_af_close,'b');hold on;
impulse(G_bf_close,'r');grid;
legend('校正后闭环系统脉冲响应','校正前闭环系统脉冲响应');
set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',1.5);
title('校正前后系统脉冲响应','FontSize',15);

% 绘制校正前后系统根轨迹图
figure(3);
rlocus(G,GGc);grid;
legend('校正前系统根轨迹图','校正后系统根轨迹图');
set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',1.5);
title('校正前后系统根轨迹','FontSize',15);

% 超前校正环节传递函数和校正后系统闭环传递函数
Gc,Kc,G_af_close
% 滞后校正环节传递函数
Gc = 
   s + 0.1
  ---------
  s + 0.025

% 系统增益
Kc =
    2.3581

% 校正后系统闭环传递函数
G_af_close = 
           9.433 s + 0.9433
  ----------------------------------
  s^3 + 2.525 s^2 + 9.495 s + 0.9433

STEP 3 {\rm STEP3}STEP3】: システム校正前後の単位ステップ応答曲線。

4

STEP 4 {\rm STEP4}STEP4】: システムキャリブレーション前後のユニットインパルス応答曲線。

5

STEP 5 {\rm STEP5}STEP5】: システムキャリブレーション前後の根軌跡。

6

STEP 6 {\rm STEP6}STEP6 ]: パフォーマンス分析。

  • 直列ラグ補正リンクの伝達関数は次のとおりです。G c ( s ) = s + 0.1 s + 0.025 G_c(s)=\displaystyle\frac{s+0.1}{s+0.025}Gc()=s+0.025s+0.1
  • 単位ステップ応答曲線によると、補正前のシステム オーバーシュート: σ = 8.08 % \sigma=8.08\%p=8.08%、立ち上がり時間:tr = 0.961 s t_r=0.961{\rm s}tr=0.961、調整時間:ts = 2.99 秒 t_s=2.99{\rm s}ts=2.99秒 _
  • 単位ステップ応答曲線によると、システムは補正後にオーバーシュートします: σ = 27.4 % \sigma=27.4\%p=27.4%、立ち上がり時間:tr = 0.478 s t_r=0.478{\rm s}tr=0.478、調整時間:ts = 2.3 秒 t_s=2.3{\rm s}ts=2.3秒 _
  • したがって、システムが直列ラグによって修正された後、システムのパフォーマンスは改善されます。
3.5.3 戦闘 3: リードラグ修正リンク

実験要件: 既知のシステムの開ループ伝達関数は次のとおりです: G ( s ) = 8 s ( s + 0.4 ) G(s)=\displaystyle\frac{8}{s(s+0.4)}G ( s )=s ( s+0.4 )8、リードラグ補正リンクを設計して、補正後のシステムの静的速度誤差係数: K v ≤ 5 K_v ≤ 5Kv5、閉ループ支配極は減衰比を満たします:ζ = 0.2 \zeta=0.2g=0.2と振動の固有角周波数:ω n = 5 rad / s \omega_n=5{\rm rad/s}おおn=5 rad/s、位相余裕:50° 50°50°、補正前後の系の単位ステップ応答曲線、単位インパルス応答曲線、根軌跡を描きます。

ほどく:

STEP 1 {\rm STEP1}STEP1 ]: 主な機能。

% 实例Chapter8.3.5.3
clc;clear;

% 建立控制系统模型
z=[];p=[0,-0.4];k=8;
Gz=zpk(z,p,k);G=tf(Gz);
zeta=0.2;wn=5;
kc=1;Tz=0.1;dPm=50+5;
ng=G.num{
    
    1};            % 把G.num中的第一个元胞赋给ng.
[num,den]=ord2(wn,zeta);
s=roots(den);
s1=s(1);

Gc1=get_param(G,s1,kc);
G1=G*Gc1*kc;

[Gc2,Kc2]=get_param_02(G,zeta,wn,Tz);
GGc=G1*Gc2*Kc2;                 % 校正后系统开环传递函数
G_bf_close=feedback(G,1);       % 校正前系统闭环传递函数
G_af_close=feedback(GGc,1);     % 校正后系统闭环传递函数

% 绘制单位阶跃响应
figure(1);
step(G_af_close,'b');hold on;
step(G_bf_close,'r');grid;
legend('校正后闭环系统阶跃响应','校正前闭环系统阶跃响应');
set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',1.5);
title('校正前后系统阶跃响应','FontSize',15);

% 绘制单位脉冲响应
figure(2);
impulse(G_af_close,'b');hold on;
impulse(G_bf_close,'r');grid;
legend('校正后闭环系统脉冲响应','校正前闭环系统脉冲响应');
set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',1.5);
title('校正前后系统脉冲响应','FontSize',15);

% 绘制校正前后系统根轨迹图
figure(3);
rlocus(G,GGc);grid;
legend('校正前系统根轨迹图','校正后系统根轨迹图');
set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',1.5);
title('校正前后系统根轨迹','FontSize',15);

% 超前校正环节传递函数和校正后系统闭环传递函数
Gc1,Gc2,G_af_close

STEP 2 {\rm STEP2}STEP2 ]: 進みリンク伝達関数、遅れリンク伝達関数、修正閉ループ伝達関数。

% 超前校正环节传递函数
Gc1 = 
  1.358 s + 1
  -----------
  0.425 s + 1

% 滞后校正环节传递函数
Gc2 = 
   s + 0.1
  ----------
  s + 0.0125

% 校正后系统闭环传递函数
G_af_close = 
              1.358 s^2 + 1.136 s + 0.1
  -------------------------------------------------
  0.425 s^4 + 1.175 s^3 + 1.773 s^2 + 1.141 s + 0.1

STEP 3 {\rm STEP3}STEP3】: 単位ステップ応答曲線。

7

STEP 4 {\rm STEP4}STEP4】: 単位インパルス応答曲線。

8

STEP 5 {\rm STEP5}STEP5】: システム根軌跡曲線。

9

STEP 6 {\rm STEP6}STEP6 ]: システム性能分析。

  • シリアル進み遅れ補正リンクの伝達関数は次のとおりです: G c ( s ) = 0.125 × s + 0.1 s + 0.0125 × 1.358 s + 1 0.425 s + 1 +0.1}{ s+0.0125}\times\displaystyle\frac{1.358s+1}{0.425s+1}Gc()=0.125×s+0.0125s+0.1×0.425+11.358+1
  • 単位ステップ応答曲線によると、補正前のシステム オーバーシュート: σ = 79.9 % \sigma=79.9\%p=79.9%、立ち上がり時間:tr = 0.384 s t_r=0.384{\rm s}tr=0.384、調整時間:ts = 19.1 秒 t_s=19.1{\rm s}ts=19.1
  • 単位ステップ応答曲線によると、システムは補正後にオーバーシュートします: σ = 28.9 % \sigma=28.9\%p=28.9%、立ち上がり時間:tr = 0.907 s t_r=0.907{\rm s}tr=0.907、調整時間:ts = 4.19 秒 t_s=4.19{\rm s}ts=4.19
  • したがって、システムが直列リードラグによって修正された後、システムのパフォーマンスは改善されます。

おすすめ

転載: blog.csdn.net/qq_39032096/article/details/129784482