Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

マス-バネ-ダンパー システムの間接的な MRAC 制御

この例では、2 次マス-バネ-ダンパー システムのモデル パラメーターの推定に Simulink の間接的なモデル規範形適応制御 (MRAC) システムを使用する方法を示します。マス-バネ-ダンパー システムのプロパティは不明です。間接的な MRAC コントローラーはプラントのパラメーターを推定し、参照モデルを追従する反転ベースのコントローラーを実装します。

マス-バネ-ダンパー モデル

マス-バネ-ダンパー システムは、互いに接続された 2 台のマス カート m1 および m2 で構成されており、剛性係数 c0 および c1 のバネと減衰係数 d のダンパーを介して接地されています。

mass-spring-damper.png

バネ-マス-ダンパー システムを定義する不明な動的システムは次のように記述できます。

  x(t)˙=Ax(t)+Bu(t)

A=[0100-(c0+c1)m1-2dm1c1m1dm10001c1m2dm2-c1m2-2dm2],B=[001m100001m2]

ここで

  • x=[p1,p1˙,p2,p2˙] はシステムの状態ベクトルです。

  • p1 および p2 は質量の位置です。

  • A および B は不明なシステムのパラメーターです。

この不明な非線形システムについて、次の参照を追従できるコントローラーを設計することが目標です。

xm˙(t)=Amxm(t)+Bmr(t)

Am=[0100-25-1000000100-25-10],Bm=[0025000025]

ここで

  • xm には参照モデルの状態が含まれます。

  • Am および Bm は参照システムのパラメーターです。

  • r(t) はユーザーによって提供される基準信号です。

設定値追従コントローラー

間接的な MRAC コントローラーは推定器モデルを使用して AˆBˆ を計算します。これらはそれぞれ、不明なシステム パラメーター AB の推定値です。

xˆ˙=Aˆx(t)+Bˆu(t)

制御動作 u(t) を計算するために、コントローラーはフィードフォワード ゲイン kr とフィードバック ゲイン kx を使用します。

u(t)=-kxx(t)+krr(t)

コントローラー ゲインは参照モデル パラメーター (AmBm) および推定オブザーバー パラメーター (AˆBˆ) から導出されます。

kr=BmBˆkx=1Bˆ(Am-Aˆ)

コントローラーの構成

マス-バネ-ダンパー システムの実際の剛性係数、減衰係数、および質量を指定します。

% Stiffness
c0 = 1;
c1 = 1;
% Damping
d = 1;
% Mass
m1 = 5;
m2 = 1;

以下のシステム パラメーターを使用して実際のシステム ダイナミクスを定義します。

A = [0 1 0 0;-(c0+c1)/m1 -2*d/m1 c1/m1 d/m1;
    0 0 0 1;c1/m2 d/m2 -c1/m2 -2*d/m2]
A = 4×4

         0    1.0000         0         0
   -0.4000   -0.4000    0.2000    0.2000
         0         0         0    1.0000
    1.0000    1.0000   -1.0000   -2.0000

B = [0 0;1/m1 0;0 0;0 1/m2]
B = 4×2

         0         0
    0.2000         0
         0         0
         0    1.0000

この実際のモデルは、間接的な MRAC コントローラーでは不明です。代わりに、コントローラーは推定器モデルを使用して不明なプラント ダイナミクスを推定します。動作中、コントローラーはこのモデルのパラメーターを適応させ、不明なシステム パラメーターの推定値を改善できます。

Ahat = [0 1 0 0;0 0 0 0;0 0 0 1;0 0 0 0];
Bhat = [0 0.1;0.1 0;0 0;0.1 0.1];

コントローラーの目標は、参照モデルの性能を追従することです。参照モデルのパラメーターを指定します。

Am = [0 1 0 0;-25 -10 0 0;0 0 0 1;0 0 -25 -10];
Bm = [0 0;25 0;0 0;0 25];

プラントの初期条件を指定します。

x_0 = 0;

推定器モデル パラメーターを更新するための学習率を指定します。

gamma_a = 0.1;  % Ahat learning rate
gamma_b = 0.1;  % Bhat learning rate

コントローラーのシミュレーション

Simulink モデルを開きます。

mdl = 'mracMassSpringDamper';
open_system(mdl)

このモデルには次の項目が含まれています。

  • Actual Plant Model ブロックは、マス-バネ-ダンパー システムのノミナル モデルを実装します。

  • Reference ブロックは、両方の質量の基準信号を生成します。

  • Model Reference Adaptive Control ブロックは、推定器モデルの使用から導出される制御動作 "u" を出力します。

MRAC コントローラーでは制御対象のシステムで不明な外乱も推定できますが、この例ではそのような外乱がありません。代わりに、コントローラーの目標は不明なプラント モデルのパラメーターを単純に推定することです。直接的な MRAC コントローラーを使用した不明な外乱を推定する例については、ウイング ロックが発生した航空機のモデル規範形適応制御を参照してください。

モデルのシミュレーションを実行します。

Tf = 100;
sim(mdl);

質量の位置である実際のプラント状態を、対応する基準信号とともに表示します。コントローラーは実際のプラント状態を使用して基準信号を追従できます。

open_system(mdl + "/p1")

open_system(mdl + "/p2")

Model Reference Adaptive Controller ブロックは、"Ahat""Bhat" の出力端子を使用して推定器モデルのパラメーター AˆBˆ をそれぞれ出力するように設定されています。パラメーターをプロットします。

open_system(mdl + "/Ahat")

open_system(mdl + "/Bhat")

時間の経過とともに、コントローラーは推定器パラメーターの値を適応させます。ただし、推定パラメーターは基準信号における励起の永続性が欠如しているため、実際のパラメーターに収束します。モデル パラメーターが収束しないにもかかわらず、コントローラーは参照の動作に収束します。

参考

ブロック

関連するトピック