Main Content

線形 2 次ガウシアン (LQG) 設計

"線形 2 次ガウシアン (LQG) 法" は、動的なレギュレーターや積分動作を含むサーボ コントローラー ("設定点トラッカー" ともいいます) を設計するための最新の状態空間手法の 1 つです。この手法では、レギュレーターやトラッキング コントローラーの性能と制御操作のトレードオフを行い、プロセスの外乱と測定ノイズを考慮します。

LQG レギュレーターと設定点トラッカーを設計するには、次の手順を実行します。

  1. LQ 最適ゲインを設定します。

  2. カルマン フィルター (状態推定器) を構築します。

  3. LQ 最適ゲインとカルマン フィルターを接続することにより、LQG 設計を行います。

LQG 法を使用した LQG レギュレーターの設計方法の詳細は、レギュレーターの線形 2 次ガウシアン (LQG) 設計を参照してください。

LQG 法を使用した LQG サーボ コントローラーの設計方法の詳細は、線形 2 次ガウシアン (LQG) 法による積分動作を含むサーボ コントローラーの設計を参照してください。

このトピックでは、連続時間系の設計について説明します。離散時間系の LQG 設計の詳細は、関数 dlqrkalman の説明を参照してください。

レギュレーターの線形 2 次ガウシアン (LQG) 設計

次のモデルを使用して、出力 y をゼロ近傍に制御する LQG レギュレーターを設計します。

このモデルのプラントは、外乱 (プロセス ノイズ) w を受け、制御量 u によって駆動します。レギュレーターで生成する制御量は、ノイズの測定量 y に依存しています。プラントの状態方程式と測定方程式は、次のようになります。

x˙=Ax+Bu+Gwy=Cx+Du+Hw+v

ここで、w と v はいずれもホワイト ノイズとしてモデル化されています。

メモ

LQG 設計では、プラントの状態空間モデルが必要です。関数 ss を使用して、他の形式のモデルを状態空間モデルに変換します。

LQG レギュレーターを設計するには、次の表に示す手法を使用します。

LQG レギュレーターの設計法使用するコマンド

次の場合に使用できる 1 段階の簡単な設計法

  • 最適な LQG コントローラーが必要で、E(wv') または H が非ゼロである。

  • すべての既知 (決定性) の入力が制御入力であり、すべての出力が測定される。

  • 積分器の状態は、プラントと制御入力の状態とは独立して重み付けされる。

lqg

以下を指定できる柔軟な 3 段階の設計法

  • 任意の G と H。

  • 制御量でない既知の (確定的な) 入力や測定されない出力。

  • 積分器の状態、プラントの状態、制御量に重みを付ける柔軟な方法。

lqrkalmanlqgreg に対応する 3 つの異なるデータセットをリストするポップアップ メニュー

詳細情報の参照先

レギュレーターの最適状態フィードバック ゲインの構成

次の要素から LQ 最適ゲインを構成します。

  • 状態空間系行列

  • 重み付け行列 QR、および N で、レギュレーターの性能 (x(t) がどの程度速くゼロになるか) と制御操作のトレードオフを定義します。

最適ゲインを構築するには、次のコマンドを入力します。

K= lqr(A,B,Q,R,N)

このコマンドは、状態フィードバック則 u=Kx が次の 2 次コスト関数を連続時間で最小にする最適ゲイン行列 K を計算します。

J(u)=0{xTQx+2xTNu+uTRu}dt

ソフトウェアは、代数リカッチ (Riccati) 方程式を解くことによってゲイン行列 K を求めます。

離散時間でコスト関数を最小化する LQ 最適ゲインの構成の詳細は、関数 lqr の説明を参照してください。

カルマン状態推定器の構成

LQG 法によってレギュレーターやサーボ コントローラーを設計するには、カルマン状態推定器が必要です。これは、完全な状態の測定なしに LQ 最適状態フィードバックを実装できないからです。

u=Kx^ が出力フィードバック問題に対し最適のままとなるような状態推定 x^ を構成します。カルマン状態推定器のゲインを次の要素から構成します。

  • 状態空間プラントモデル sys

  • ノイズの共分散データ、QnRn および Nn

    下図は、QnRn および Nn に必要な次元を示します。Nn が 0 の場合は省略できます。

    Qn、Rn および Nn に必要な次元

メモ

カルマン状態推定器の構成は、レギュレーターとサーボ コントローラーのいずれについても同じ方法で行います。

カルマン状態推定器を構成するには、次のコマンドを入力します。

[kest,L,P] = kalman(sys,Qn,Rn,Nn);

このコマンドでは、次のプラント方程式を使用してカルマン状態推定器 kest を計算します。

x˙=Ax+Bu+Gwy=Cx+Du+Hw+v

ここで、w と v はホワイト ノイズとしてモデル化されています。L はカルマン ゲインであり、P は共分散行列です。

ソフトウェアは、u (制御量) と y (測定値) を入力として取る次のカルマン フィルターを使用してこの状態推定を生成します。

ddtx^=Ax^+Bu+L(yCx^Du)

ノイズ共分散データ

E(wwT)=Qn,E(vvT)=Rn,E(wvT)=Nn

は、代数リカッチ (Riccati) 方程式を解くことによって、カルマン ゲイン L を決定します。

ガウス ホワイト ノイズを取り扱う場合、カルマン フィルターは最適な推定器の 1 つです。具体的には、これは次の推定誤差の漸近共分散
    limtE((xx^)(xx^)T)

を最小にします。xx^

詳細は、kalman のリファレンス ページを参照してください。カルマン フィルターの実装の詳細な例については、カルマン フィルター処理を参照してください。

LQG レギュレーターの作成

LQG レギュレーターを作成するには、次のコマンドを入力して、カルマン フィルター kest と LQ 最適ゲイン K を接続します。

regulator = lqgreg(kest, K);
次の図のような LQG レギュレーターが作成されます。

このレギュレーターは、次の状態空間方程式を含んでいます。

ddtx^=[ALC(BLD)K]x^+Lyu=Kx^

LQG レギュレーターの作成の詳細については、lqgreg およびLQG レギュレーター: 圧延機のケース スタディを参照してください。

線形 2 次ガウシアン (LQG) 法による積分動作を含むサーボ コントローラーの設計

次のモデルを使用して、積分動作を含むサーボ コントローラーを設計します。

設計するサーボ コントローラーは、出力 y が基準コマンド r をトラッキングし、プロセス外乱 w と測定ノイズ v を除外します。

上の図のプラントは、外乱 w を受け、制御量 u によって制約を受けます。サーボ コントローラーで生成する制御量は、ノイズの測定量 y に依存しています。プラントの状態と測定方程式は、次のようになります。

x˙=Ax+Bu+Gwy=Cx+Du+Hw+v

ここで、w と v はいずれもホワイト ノイズとしてモデル化されています。

メモ

LQG 設計では、プラントの状態空間モデルが必要です。関数 ss を使用して、他の形式のモデルを状態空間モデルに変換します。

LQG サーボ コントローラーを設計するには、次の表に示す手法を使用します。

LQG サーボ コントローラーの設計法使用するコマンド

次の場合に使用できる 1 段階の簡単な設計法

  • 最適な LQG コントローラーが必要で、E(wv') または H が非ゼロである。

  • すべての既知 (決定性) の入力が制御入力であり、すべての出力が測定される。

  • 積分器の状態は、プラントと制御入力の状態とは独立して重み付けされる。

lqg

以下を指定できる柔軟な 3 段階の設計法

  • 任意の G と H。

  • 制御量でない既知の (確定的な) 入力や測定されない出力。

  • 積分器の状態、プラントの状態、制御量に重みを付ける柔軟な方法。

lqikalmanlqgtrack に対応する 3 つの異なるデータセットをリストするポップアップ メニュー

詳細情報の参照先

サーボ コントローラーの最適状態フィードバック ゲインの構成

次の要素から LQ 最適ゲインを構築します。

  • 状態空間プラントモデル sys

  • 重み付け行列 QR、および N。これらの行列で、トラッキング コントローラーの性能と制御操作のトレードオフを決めます。

最適ゲインを構築するには、次のコマンドを入力します。

K= lqi(sys,Q,R,N)

このコマンドは、状態フィードバック則 u=Kz=K[x;xi] が次の 2 次コスト関数を連続時間で最小にする最適ゲイン行列 K を計算します。

J(u)=0{zTQz+uTRu+2zTNu}dt

ソフトウェアは、代数リカッチ (Riccati) 方程式を解くことによってゲイン行列 K を求めます。

離散時間でコスト関数を最小化する LQ 最適ゲインの構成の詳細は、関数 lqi の説明を参照してください。

カルマン状態推定器の構成

LQG 法によってレギュレーターやサーボ コントローラーを設計するには、カルマン状態推定器が必要です。これは、完全な状態の測定なしに LQ 最適状態フィードバックを実装できないためです。

u=Kx^ が出力フィードバック問題に対し最適のままとなるような状態推定 x^ を構成します。カルマン状態推定器のゲインを次の要素から構成します。

  • 状態空間プラントモデル sys

  • ノイズの共分散データ、QnRn および Nn

    下図は、QnRn および Nn に必要な次元を示します。Nn が 0 の場合は省略できます。

    Qn、Rn および Nn に必要な次元

メモ

カルマン状態推定器の構成は、レギュレーターとサーボ コントローラーのいずれについても同じ方法で行います。

カルマン状態推定器を構成するには、次のコマンドを入力します。

[kest,L,P] = kalman(sys,Qn,Rn,Nn);

このコマンドでは、次のプラント方程式を使用してカルマン状態推定器 kest を計算します。

x˙=Ax+Bu+Gwy=Cx+Du+Hw+v

ここで、w と v はホワイト ノイズとしてモデル化されています。L はカルマン ゲインであり、P は共分散行列です。

ソフトウェアは、u (制御量) と y (測定値) を入力として取る次のカルマン フィルターを使用してこの状態推定を生成します。

ddtx^=Ax^+Bu+L(yCx^Du)

ノイズ共分散データ

E(wwT)=Qn,E(vvT)=Rn,E(wvT)=Nn

は、代数リカッチ (Riccati) 方程式を解くことによって、カルマン ゲイン L を決定します。

ガウス ホワイト ノイズを取り扱う場合、カルマン フィルターは最適な推定器の 1 つです。具体的には、これは次の推定誤差の漸近共分散
    limtE((xx^)(xx^)T)

を最小にします。xx^

詳細は、kalman のリファレンス ページを参照してください。カルマン フィルターの実装の詳細な例については、カルマン フィルター処理を参照してください。

LQG サーボ コントローラーの作成

自由度 2 の LQG サーボ コントローラーを作成するには、次のコマンドを入力して、カルマン フィルター kest と LQ 最適ゲイン K を接続します。

servocontroller = lqgtrack(kest, K);
次の図のような LQG サーボ コントローラーが作成されます。

このサーボ コントローラーは、次の状態空間方程式を含んでいます。

[x^˙x˙i]=[ABKxLC+LDKxBKi+LDKi00][x^xi]+[0LII][ry]u=[KxKi][x^xi]

自由度 1 の LQG サーボ コントローラーの作成方法を含む LQG サーボ コントローラーの作成の詳細は、関数 lqgtrack の説明を参照してください。

参考

| | | | |

関連するトピック