Main Content

モデル参照適応制御

Model Reference Adaptive Control ブロックは、不確かさをもつ制御対象システムを特定の参照プラント モデルの動作に追従させる制御動作を計算します。このブロックを使用して、次のモデル参照適応制御 (MRAC) アルゴリズムを実装できます。

  • 直接 MRAC — 参照プラント モデルと制御対象システムの状態のリアルタイムの追従誤差に基づいて、フィードバック コントローラーとフィードフォワード コントローラーのゲインを推定します。

  • 間接 MRAC — 参照プラント モデルと推定されるシステムの状態の追従誤差に基づいて、制御対象システムのパラメーターを推定します。その後、推定されるシステムと参照モデルのパラメーターに基づいて、フィードバック コントローラーとフィードフォワード コントローラーのゲインを派生させます。

MRAC では、直接と間接のどちらでも、さらに制御対象システムの外乱と不確かさのモデルを推定します。コントローラーは制御動作を計算する際に、このモデルを使用して外乱と不確かさを補正します。

いずれの場合も、コントローラーは、推定されたパラメーターと外乱モデルを追従誤差に基づいてリアルタイムで更新します。

参照モデル

直接と間接のどちらの MRAC でも、参照プラント モデルは次のようになります。これは、実際に達成する目標の動作を特徴付ける理想的なシステムを示します。

x˙m(t)=Amxm(t)+Bmr(t)

ここで

  • r(t) は外部基準信号です。

  • xm(t) は参照プラント モデルの状態です。r(t) がわかっているため、参照モデルをシミュレートして xm(t) を取得できます。

  • Am は定数の状態行列です。安定した参照モデルの場合、Am はすべての固有値が厳密に負の実数部をもつフルビッツ行列でなければなりません。

  • Bm は制御有効行列です。

外乱と不確かさのモデル

Model Reference Adaptive Control ブロックは、制御対象システムの外乱とモデルの不確かさを内部モデル uad として保持します。

uad=wTϕ(x)

ここで、ϕ(x) はモデルの特徴のベクトルです。w は、コントローラーが追従誤差に基づいてリアルタイムで更新する適応制御の重みベクトルです。

ϕ(x) の定義には、次のいずれかの特徴の定義を使用できます。

  • 制御対象プラントの状態ベクトル — この方法では、システムの不確かさが十分に表現されないことがあります。状態を特徴として使用すると、外乱とモデルの不確かさの複雑度がわからない場合の開始点として便利です。

  • ガウス放射基底関数 — このオプションは、外乱とモデルの不確かさが非線形であり、外乱モデルの構造がわからない場合に使用します。

  • コントローラー ブロックに提供される外部ソース — このオプションは、独自のカスタム特徴ベクトルを定義する場合に使用します。このオプションは外乱と不確かさのモデルの構造がわかっている場合に使用できます。たとえば、カスタム特徴ベクトルを使用することで特定の不明なプラント パラメーターを識別できます。

直接 MRAC

直接 MRAC コントローラーの制御構造は次のとおりです。

Direct MRAC control structure with feedforward and feedback gains and a disturbance model all updated based on the tracking error between the states of a reference model and the controlled system.

コントローラーは、制御入力 u(t) を次のように計算します。

u(t)=kxx(t)+krr(t)uaduad=wTϕ(x)

ここで

  • x(t) は制御対象システムの状態です。

  • r(t) は外部基準信号です。

  • kx と kr はフィードバック コントローラーとフィードフォワード コントローラーのゲインです。

  • uad は外乱モデルから派生する適応制御コンポーネントです。

    ϕ(x) には外乱モデルの特徴が含まれます。

  • w は適応外乱モデルの重みベクトルです。

コントローラーは、制御対象システムの状態と参照モデルの状態の誤差 e(t) を計算します。その後、その誤差を使用して kx、kr、および w の値をリアルタイムで適応させます。

ノミナル モデル

制御対象システムには、一般にモデル化の不確かさと外乱があります。制御対象システムのノミナルの状態方程式を次に示します。コントローラーは、この想定されるノミナルのプラント動作をコントローラーのパラメーターの更新時に使用します。

x˙(t)=Ax(t)+B(u(t)+f(x))

ここで

  • x(t) は制御するシステムの状態です。

  • u(t) は制御入力です。

  • A は定数の状態遷移行列です。

  • B は定数の制御有効行列です。

  • f(x) はシステム内の一致する不確かさです。

パラメーターの更新

直接 MRAC コントローラーは、次の方程式を使用して、コントローラーのゲインと外乱モデルの重みを更新します [1] [2]

k˙x=Γxx(t)eT(t)PBk˙r=Γrr(t)eT(t)PBw˙x=Γwϕ(x)eT(t)PB

ここで、P は参照モデルの状態行列に基づく次のリアプノフ関数の解、B はノミナル プラント モデルからの制御有効行列です。

AmTP+PAm+Q=0

間接 MRAC

間接 MRAC コントローラーの制御構造は次のとおりです。参照モデルは次のようになります。

Indirect MRAC control structure with a disturbance model and estimator model updated based on tracking errors

コントローラーは、制御入力 u(t) を次のように計算します。

u(t)=kxx(t)+krr(t)uaduad=wTϕ(x)

ここで

  • x^(t) は推定器モデルで生成される制御対象システムの推定状態です。

  • r(t) は外部基準信号です。

  • kx と kr はフィードバック コントローラーとフィードフォワード コントローラーのゲインです。

  • uad は外乱モデルから派生する適応制御コンポーネントです。

    ϕ(x) には外乱モデルの特徴が含まれます。

  • w は適応外乱モデルの重みベクトルです。

コントローラーは、実際のシステムと推定されるシステムの状態の誤差 e(t) を計算します。その後、その誤差を使用して w の値をリアルタイムで適応させます。さらに、コントローラーは e(t) を使用して推定器モデルのパラメーターをリアルタイムで更新します。ゲイン kx と kr の値は、推定器モデルと参照モデルのパラメーターから派生します。

推定器モデルとコントローラーのゲイン

間接 MRAC コントローラーには、制御対象システムの推定器モデルとして以下が含まれています。

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

ここで

  • x^(t) は推定されるシステムの状態です。

  • u(t) は制御入力です。

  • A^ は推定器の状態遷移行列です。

  • B^ は推定器の制御有効行列です。

コントローラーは、演算中に推定誤差 e(t) に基づいて A^B^ を更新します。

間接 MRAC コントローラーは、コントローラーのゲインを直接推定する代わりに、次のような動的な反転に基づく手法を使用して、参照モデルと推定器モデルのパラメーターからフィードバック ゲイン kx とフィードフォワード ゲイン kr を派生させます。

kr=BmB^kx=1B^(AmA^)

パラメーターの更新

間接 MRAC コントローラーは、次の方程式を使用して、推定器モデルのパラメーターと外乱モデルの重みを更新します [1] [2]

A^˙=Γax(t)eT(t)PB^˙=Γbu(t)eT(t)Pw˙x=Γwϕ(x)eT(t)PB

ここで、P は次のリアプノフ関数の解です。

kτTP+Pkτ+Q=0

kτ は推定器のフィードバック ゲインです。既定では、この値は参照モデルの状態遷移行列 Am に対応します。ただし、推定器のフィードバック ゲインの別の値を指定できます。

学習修正

直接と間接のどちらの MRAC でも、学習率を高くしてロバスト性を高めるために、パラメーターの更新を変更してオプションのモーメンタム項を含めることができます。学習修正の方法には "シグマ修正""e-修正" の 2 つがあり、いずれかを選択できます。

シグマ修正の場合、それぞれのパラメーター更新のモーメンタム項は、運動量の重みパラメーター σ と現在のパラメーター値の積になります。たとえば、直接 MRAC コントローラー用の次の更新方程式にはシグマ修正項が含まれています。

k˙x=Γxx(t)eT(t)PB+σkxk˙r=Γrr(t)eT(t)PB+σkxw˙x=Γwϕ(t)eT(t)PB+σw

e-修正の場合、コントローラーはシグマ修正のモーメンタム項を誤差ベクトルのノルムでスケーリングします。たとえば、間接 MRAC コントローラー用の次の更新方程式には e-修正項が含まれています。

A^˙=Γax(t)eT(t)P+σ|e(t)|A^B^˙=Γbu(t)eT(t)P+σ|e(t)|B^w˙x=Γwϕ(t)eT(t)PB+σ|e(t)|w

いずれかの方法の学習修正の量を調整するには、運動量の重みパラメーター σ の値を変更します。

参照

[1] Ioannou, Petros A., and Jing Sun. "Robust adaptive control." American control conference, No. 21(June 1984): 333-335.

[2] Naren, Kumpati S, and Anuradha M Annaswamy. Stable Adaptive Systems. Courier Corporation, 2012.

参考

ブロック

関連するトピック