LQR/LQG 目標
目的
制御システム調整器を使用しているときに、ホワイトノイズ入力への応答で線形 2 次ガウシアン (LQG) のコストを最小化または制限します。
説明
LQR/LQG 目標は、制御性能の定量化の調整要件を LQG コストで指定します。これは、最適な LQG 制御の標準的なオブサーバー構造だけでなく、任意の制御構造に適用できます。
LQG コストは次のようになります。
J = E(z(t)′ QZ z(t))
z(t) はホワイト ノイズ入力ベクトル w(t) へのシステム応答です。w(t) の共分散は次のようになります。
E(w(t)w(t)′) = QW
ベクトル w(t) は通常、ノイズ、外乱、コマンドなどのシステムに対する外部入力で構成されます。ベクトル z(t) には制御信号、システム状態、出力などの性能を特徴付けるすべてのシステム変数が含まれます。E(x) は確率的変数 x の期待値を示します。
コスト関数 J は経時的平均として記述することもできます。
作成
制御システム調整器の [調整] タブで [新規目標] 、 [LQR/LQG 目的] を選択して LQR/LQG 目標を作成します。
コマンド ラインにおける同等の操作
コマンド ラインで制御システムを調整する場合は、TuningGoal.LQG
を使用して LQR/LQG 目標を指定します。
信号選択
ダイアログ ボックスのこのセクションを使用して、ノイズ入力の位置とパフォーマンス出力の位置を指定します。また、調整目標を評価するためにループを開く位置を指定します。
ノイズ入力の指定 (w)
モデル内の 1 つ以上の信号の位置をノイズ入力として選択します。SISO 応答を制約するには、単一値の入力信号を選択します。たとえば、ノイズ入力
'u'
とパフォーマンス出力'y'
の LQG コストを制約するには、 [信号をリストに追加] をクリックして'u'
を選択します。MIMO 応答の LQG コストを制約するには、複数の信号またはベクトル値の信号を選択します。パフォーマンス出力の指定 (z)
モデル内の 1 つ以上の信号の位置をパフォーマンス出力として選択します。SISO 応答を制約するには、単一値の出力信号を選択します。たとえば、ノイズ入力
'u'
とパフォーマンス出力'y'
の LQG コストを制約するには、 [信号をリストに追加] をクリックして'y'
を選択します。MIMO 応答の LQG コストを制約するには、複数の信号またはベクトル値の信号を選択します。次の開ループの LQG 目的の評価
この調整目標を評価するために、フィードバック ループを開くモデル内の信号の位置を 1 つ以上選択します。調整目標は、特定した位置でフィードバック ループを開くことにより作成される開ループの構成に対して評価されます。たとえば、
'x'
という名前の位置が開始点の調整目標を評価するには、 [信号をリストに追加] をクリックして、'x'
を選択します。
ヒント
Simulink® モデル内で選択された任意の信号を強調表示するには、 をクリックします。入力リストまたは出力リストから信号を削除するには、 をクリックします。複数の信号を選択した場合、 および を使用してそれらの信号を並べ替えることができます。調整目標のために信号の位置を指定する方法の詳細については、対話型調整の目標の指定を参照してください。
LQG 目的
ダイアログ ボックスのこのセクションを使用して、LQG 目標のノイズの共分散とパフォーマンスの重みを指定します。
パフォーマンスの重み Qz
パフォーマンスの重み。スカラーまたは行列として指定します。スカラー値を使用して単位行列の倍数を指定します。それ以外の場合、対称な非負定値行列を指定します。対角行列を使用して個別にスケーリングするか、z の各変数の寄与にペナルティを与えます。
パフォーマンスの重みは、次のようにしてコスト関数に寄与します。
J = E(z(t)′ Qz z(t))
LQG 目標を厳密な目標として使用すると、ソフトウェアはコスト関数 J が 1 より小さくなるようにします。柔軟な目標として使用する場合、コスト関数 J は任意の厳密な目標に従って最小化され、その値は目的関数全体に寄与されます。したがって、コスト関数を適切にスケーリングし、1 未満または最小化することによって必要なパフォーマンスが得られるように、Qz 値を選択します。
ノイズの共分散 Qw
ホワイト ノイズ入力ベクトル w(t) の共分散。スカラーまたは行列として指定します。スカラー値を使用して単位行列の倍数を指定します。それ以外の場合、ベクトル w(t) にあるエントリと同数の行で対称な非負定値行列を指定します。対角行列は w(t) のエントリが無相関であることを意味します。
w(t) の共分散は次のようになります。
E(w(t)w(t)′) = QW
離散時間の制御システムを調整する場合、LQG 目標では次が仮定されます。
E(w[k]w[k]′) = QW/Ts
Ts はモデルのサンプル時間です。この仮定では、連続時間領域における調整で矛盾のない結果が必ず得られます。この仮定では、w[k] は共分散 QW を使用したサンプリング連続ホワイト ノイズ w(t) から取得した離散時間ノイズです。システムの w[k] が既知の共分散 QWd をもつ真の離散プロセスである場合、QW の値として Ts*QWd を使用します。
オプション
ダイアログ ボックスのこのセクションを使用して、LQG 目標の追加特性を指定します。
目標を適用
たとえば、Simulink モデルを異なる操作点またはブロックパラメーター値で線形化することによって得られるモデルの配列などの複数のモデルを同時に調整している場合、このオプションを使用します。既定では、アクティブな調整目標がすべてのモデルに適用されます。調整要件を配列内の一部のモデルに適用するには、[モデルのみ] を選択します。次に目標を適用するモデルの配列インデックスを入力します。たとえば、モデル配列の中の 2 番目、3 番目、4 番目のモデルに調整目標を適用する必要があると仮定します。要件の適用を制限するには、[モデルのみ] テキスト ボックスに
2:4
と入力します。複数モデルの調整の詳細については、Robust Tuning Approaches (Robust Control Toolbox)を参照してください。
ヒント
この要件を使用して制御システムを調整するときに、制御システム調整器は、要件によって制約される伝達に対してゼロの直達 (D = 0) の適用を試みます。ゼロの直達は H2 ノルム、つまり調整目標の値が、非ゼロの直達をもつ連続時間システムで無限であることから適用されます。
制御システム調整器は、直達項に寄与するすべての調整可能なパラメーターをゼロに固定することによってゼロの直達を適用します。これらの調整可能なパラメーターの固定がゼロの直達の適用に不十分な場合、制御システム調整器はエラーを返します。このような場合、要件または制御構造を修正するか、システムの一部の調整可能なパラメーターを直達項を排除する値に手動で固定しなければなりません。
制約された伝達関数が調整可能なブロックを直列でいくつかもつ場合、直達全体に寄与するすべてのパラメーターをゼロに設定するというソフトウェアのアプローチが無難な可能性があります。この場合、いずれか 1 つのブロックの直達項をゼロに設定するだけで十分です。直達をゼロに固定するブロックを制御する場合、選択した調整ブロックの直達を手動で固定できます。
調整可能なブロックのパラメーターを指定した値に固定する方法については、制御システム調整器でのブロック パラメーター化の表示と変更を参照してください。
アルゴリズム
制御システムを調整するときに、各調整目標は正規化されたスカラー値 f(x) に変換されます。ここで x は、制御システムの自由 (調整可能な) パラメーターのベクトルです。その後、ソフトウェアはパラメーター値を調整して f(x) を最小化するか、調整目標が厳密な制約値の場合、f(x) が 1 より小さくなるようにします。
[LQR/LQG 目標] の場合、f(x) は次のコスト関数 J によって定義されます。
J = E(z(t)′ Qz z(t))
LQG 要件を厳密な目標として使用すると、ソフトウェアはコスト関数 J が 1 より小さくなるようにします。柔軟な目標として使用する場合、コスト関数 J は任意の厳密な目標に従って最小化され、その値は目的関数全体に寄与されます。したがって、コスト関数を適切にスケーリングし、1 未満または最小化することによって必要なパフォーマンスが得られるように、Qz
値を選択します。