ゲイン スケジュール PI コントローラーの解析
この例では、線形パラメーター変動システムのゲイン スケジュール PI 制御を解析します。この例は [1] および [2] を基にしています。
プラント は、ダイナミクスがパラメーター に依存する 1 次システムです。
ここで、以下となります。
パラメーター は、区間 [2,7] に制限されています。次の相互接続図に示すように、プラント 、ゲイン スケジュール PI コントローラー 、むだ時間 秒で閉ループ システムが構成されます。
![]()
LPV プラント
lpvss を使用して LPV プラントのモデルを作成します。関数 plantFcnGSPI は、状態空間行列とオフセットを時間 t およびパラメーター rho の関数として返します。この関数のコードを表示するには、ファイル plantFcnGSPI.m を開くか、コマンド ラインで「type plantFcnGSPI」と入力します。
G = lpvss('rho',@plantFcnGSPI);ゲイン スケジュール PI コントローラー
ゲイン スケジュールの比例積分 (PI) コントローラー は、領域 において閉ループの減衰比 および固有振動数 を達成するように設計されています。このコントローラーは 2 つの異なる形式で作成できます。
コントローラー では、積分器の入力に積分ゲインがあります。
コントローラー では、積分器の出力に積分ゲインがあります。
これらの形式は、 と が定数であれば等価です。ただし、パラメーターが時間によって変化する場合は 2 つの形式で入出力応答が異なります。この例では、これらの 2 つのオプションの閉ループ性能を比較します。
この例では、これらの 2 つのコントローラーのコードがファイル k1FcnGSPI.m および k2FcnGSPI.m に用意されています。lpvss を使用して 2 つのコントローラーを作成します。
K1 = lpvss('rho',@k1FcnGSPI); K2 = lpvss('rho',@k2FcnGSPI);
閉ループ モデル
コントローラー および を使用して、相互接続図に示す閉ループ LPV モデルを作成します。
遅延の 2 次パデ近似を使用します。
Td = 0.5; [n,d] = pade(Td,2); H = tf(n,d);
閉ループ モデルを作成します。
CL1 = feedback(G*H*K1,1); CL2 = feedback(G*H*K2,1);
LTI の解析
いくつかの の固定値について、閉ループ応答を評価します。
3 つの rho 値で LPV システムをサンプリングします。
Nvals = 3; pvals = linspace(2,7,Nvals); CL1vals = sample(CL1,[],pvals); CL2vals = sample(CL2,[],pvals);
の固定値における相補感度のボード応答をプロットします。
bode(CL1vals,'b',CL2vals,'r--',{1e-2,1})
![]()
予想どおり、 が定数の場合、積分ゲインの位置はコントローラーに影響しません。したがって、2 つの閉ループ応答は LTI の場合は同一です。
LPV の解析
1 つの特定のパラメーターの軌跡に沿って から までの閉ループ ステップ応答を生成します。
パラメーターの軌跡を指定します。
t = linspace(0,30,1e3); rho = interp1([0 10 30],[2 7 7],t); plot(t,rho,'b') grid on xlabel('Time (seconds)') ylabel('\rho') title('Parameter Trajectory for Step Response')
![]()
ステップ応答をプロットします。
step(CL1,CL2,t,rho) grid on title('Step Responses for Parameter Trajectory'); legend('Ki at input (K1)','Ki at output (K2)','Location','Best');
![]()
2 つの閉ループのシミュレーションに相違があります。これは、ゲイン スケジュール制御での積分器の配置により、パラメーターが変化したときに違いが生じることを示しています。
プラントとコントローラーのデータ関数
type plantFcnGSPI.mfunction [A,B,C,D,E,dx0,x0,u0,y0,Delays] = plantFcnGSPI(t,rho) % LPV data for plant rho = max(2,min(rho,7)); % keep rho in range [2,7] tau = sqrt(133.6-16.8*rho); A = -1/tau; B = 1/tau; C = sqrt(4.8*rho-8.6); D = 0; E = []; % No offsets or delays dx0 = []; x0 = []; u0 = []; y0 = []; Delays = []; end
type k1FcnGSPI.mfunction [A,B,C,D,E,dx0,x0,u0,y0,Delays] = k1FcnGSPI(t,rho) % LPV data for PI controller K1 tau = sqrt(133.6-16.8*rho); c = sqrt(4.8*rho-8.6); % PI Gains sigma = 0.7; wcl = 0.25; Kp = (2*sigma*wcl*tau-1)/c; Ki = wcl^2*tau/c; % State-space and offset data: Ki at the input A = 0; B = Ki; C = 1; D = Kp; E = []; % No offsets or delays dx0 = []; x0 = []; u0 = []; y0 = []; Delays = []; end
type k2FcnGSPI.mfunction [A,B,C,D,E,dx0,x0,u0,y0,Delays] = k2FcnGSPI(t,rho) % LPV data for PI controller K2 tau = sqrt(133.6-16.8*rho); c = sqrt(4.8*rho-8.6); % PI Gains sigma = 0.7; wcl = 0.25; Kp = (2*sigma*wcl*tau-1)/c; Ki = wcl^2*tau/c; % State-space and offset data: Ki at the output A = 0; B = 1; C = Ki; D = Kp; E = []; % No offsets or delays dx0 = []; x0 = []; u0 = []; y0 = []; % no offsets Delays = []; end
参考文献
Tan, Shaohua, Chang-Chieh Hang, and Joo-Siong Chai. “Gain Scheduling: From Conventional to Neuro-Fuzzy.” Automatica 33, no. 3 (March 1997): 411–19. https://doi.org/10.1016/S0005-1098(96)00162-8.
Pfifer, Harald, and Peter Seiler. “Robustness Analysis of Linear Parameter Varying Systems Using Integral Quadratic Constraints.” International Journal of Robust and Nonlinear Control 25, no. 15 (October 2015): 2843–64. https://doi.org/10.1002/rnc.3240.