本記事では,線形行列不等式を用いた制御器設計について述べます。線形行列不等式を用いた設計法は制御工学において非常に有益なツールとして知られています。
以下の解説記事でMATLABを用いた線形行列不等式に基づく制御器設計について説明をしており,それを抜粋し、肉付けしたものになります。
MATLABによる線形行列不等式を用いた制御器パラメータの設計
線形行列不等式と制御系設計
線形行列不等式(Linear Matrix Inequality, LMI)を用いた手法は,制御工学分野における最も強力な制御器(コントローラ)の設計手法の一つです。LMIを使った制御器設計の有用性は以下に挙げられます。
- 様々な設計仕様や制約条件がLMIで表現可能
- LMIを用いて定式化された問題は効率的な凸最適化アルゴリズムによって正確に求解することができる
- 複数の制約や目的を持つ問題を扱いやすい
これら3つの特徴により,様々なタイプの制御問題がLMI問題として定式化され,それによって制御器のパラメータがLMI問題の求解により導出されます。ここではまずはLMIについて説明します。与えられた $n\times n$ の対称行列 $X$ について,$X > 0$ は $X$ が正定であることを意味します。このとき,任意の(非零)実ベクトル $\xi \in R^{n\times 1}$ に対して $\xi^T X \xi$ の値が必ず正の値となります。他方,$X\geq 0$ は半正定,$X < 0$ は負定を意味します。$\xi^T X \xi$ の値が正にも負にもなりうるような $X$ は不定と呼びます。また,$X > 0$ や $X < 0$,$X\geq 0$ などを行列不等式と呼びます。ここでさらに,対称行列 $X_i = X_i^T (i = 0,\cdots,N)$ と $N$ 次ベクトル変数 $x = \left(x_1,\cdots,x_N\right)$ によって定義される以下の行列値関数を考えます。
$$X(x)=X_0 + X_1 x_1 + \cdots + X_N x_N$$
このとき,$X(x)$ は変数 $x$ に関するアファイン関数であり,$X(x) > 0$,$X(x)\geq 0$ などがLMIとなります。ここでは,この不等式条件を満たす $x$ を見つける問題を取り扱います。特に制御器パラメータの設計においてはある指標(評価関数値)を最適にするような問題を扱うことから,これに関連して以下の問題を考えます。
$$\min c^T x , \mathrm{s.t.}, X(x) \geq 0$$
上述の定式化は,半正定値計画問題と呼ばれ,可解なタイプの問題設定であれば大域的な最適解を求めることが可能な問題です。この問題は,$X(x) \geq 0$ の制約を満足するような $x$ の中で $c^T x$ の値を最小とするような $x$ を求める問題です。LMI問題は内点法を利用した求解アルゴリズムが提案されており,効率的に解を求めることができます(有用性2.)。
制御仕様や制御上の制約条件がLMIで記述できた場合,複数の制約条件を同時に考慮することは容易です。具体的には,2つの仕様 $X_1(x) > 0$ および $X_2(x) > 0$ が与えられたとき,次の1つの $\bar{X}(x)$ に関するLMI条件にまとめられます。
\bar{X}(x) := \left(
\begin{array}{cc}
X_1(x) & 0 \\
0 & X_2(x)
\end{array}
\right) > 0
また,等価な条件としてLMI条件は以下のように記述することもできます。
-\left(
\begin{array}{cc}
X_1(x) & 0 \\
0 & X_2(x)
\end{array}
\right) < 0
ここでは2つの仕様が与えられた場合を考えましたが,より多く仕様が組み合わせられていても連立することが可能です(有用性3.)。制御では様々な設計仕様が与えられることが多く,LMIは制御器設計との親和性が高いです。
LMI問題の求解例
ここでは,一つの制御器設計例を用いてLMIによる設計の一連の流れについて述べます。
まず,制御対象は次のように連続時間の状態方程式として与えられます。
$$\dot x = A x + B u + B_2 w$$
$$y = Cx$$
$x$ は状態,$u$ は制御入力,$w$ は外乱,$y$ が出力です。各行列は以下で与えられるものとします。
A = \left(
\begin{array}{ccc}
0 & 1 & 0 \\
0 & 0 & 1 \\
2 & -1.2 & 2.3
\end{array}
\right), B = \left(
\begin{array}{c}
0 \\
0 \\
1
\end{array}
\right),
B_2 = \left(
\begin{array}{c}
5 \\
1 \\
-2
\end{array}
\right), C = \left(
\begin{array}{ccc}
-1 & 5 & 0
\end{array}
\right)
ここでは,外乱 $w$ から $y$ までの $L_2$ 誘導ノルム($L_2$ ゲイン,次式)を最小化するような制御器 $u = -K x$ を求める問題を考えます。
$$\gamma_* = \sup_{w \in L_2} \frac{|y|_2}{|w|_2}$$
ここで, 最悪ケースにおける外乱の影響を表しているのが$\gamma_*$ であり,その値が小さければ外乱 $w$ が出力 $y$ に与える影響が小さいと言えます。
フィードバック制御を施すと上で設定した制御対象に制御器を含めた制御系は次のように記述されます。
$$\dot x = (A-BK)x + B_2 w$$
$$y = (C - D_2 K)x$$
ここでこの問題をLMIを用いて最適化問題として定式化します。制御器 $K$ のパラメータを最適化するために次のLMIを満たす $P > 0$,および $\gamma$,$Z$ を求める問題を解きます。
※元画像の数式部分は読み取れませんでした。適切な数式に置き換えてください。
ただし、$Z^T Z$ は変数積となりますが,Schurの補題によりLMIに変換できます。制御器 $K$ は次式により与えられます。
$$K = ZP^{-1}$$
この最適化問題はMATLABを用いることで効率よく求解できます。MATLABではLMIの求解をサポートするツールボックスが提供されており,問題を簡潔に記述し解を得ることが可能です。
LMIとして与えられる制御仕様
LMI条件として記述できる様々な制御仕様を紹介します。ここでは連続時間線形時不変系についての条件(有用性1.)に触れますが,離散時間系に関する制御仕様を表した様々なLMI条件も存在します。
- 安定性・ロバスト安定性
- $L_2$ 誘導ノルム・$H_\infty$ ノルム・有界実性
- 正実性
- $H_2$ ノルム
- インパルス応答のピーク値
- 極配置
まず,制御系を構成する上で最も重要な性質として(1:)の安定性が挙げられます。安定性の条件はLMIとして記述されます。また,制御対象が不確かさを有する場合のロバスト安定性の条件もLMIとして記述されます。次に(2:)の $L_2$ 誘導ノルムに関するLMI条件は上述した不等式条件で与えられます。$H_\infty$ ノルムは $L_2$ 誘導ノルムに等しく,$H_\infty$ ノルムは一入出力の場合には,ゲイン線図のピーク値を特徴付けています。(3:)の正実性は,位相に関する条件であり,これもLMIとして記述されます。(2:)の有界実性と併せてロバスト制御において重要な役割を果たすLMI条件です。
この他にも,(4:) $H_2$ ノルムや,システムの入力がスカラの場合には(5:)のインパルス応答のピーク値などがLMI条件として記述されます。制御対象の極(6:)に関するLMI条件は,全ての極がある指定された領域内に入っているか否かを解析するためのLMI条件として与えられます。領域の設定においては,セクタ領域,$\alpha$-安定領域,円領域の組み合わせで表現されます。
以上のように,様々なタイプの制御仕様がLMI条件として与えられており,制御系の解析や設計において有用です。特に,(1:)から(3:)で与えられる条件はロバスト制御との親和性が非常に高く,LMIがロバスト制御において果たしてきた役割は大きいです。複数の制御仕様を満たすような制御器を設計する場合には,これらのLMI条件を連立して解くことになります。
ここで挙げた制御仕様の他にも,周波数帯域ごとに細かく設計するための枠組みとして,有限周波数に限定した周波数特性(正実性,有界実性)を与える一般化KYP補題がLMI条件として設定できます。
高度なLMIテクニック
シュールの補行列:LMI問題の重要なツール
シュールの補行列を利用した変換は、非線形行列不等式を等価なLMI形式に再定式化するための手法です。以下の非線形行列不等式を考えてみましょう:
\left(
\begin{array}{cc}
Q(x) & S(x) \\
S(x)^T & R(x)
\end{array}
\right) > 0
ここで $Q(x)$、$S(x)$、および $R(x)$ は変数 $x$ のアフィン行列関数です。$R(x) > 0$ であれば、シュールの補行列を利用すれば、この不等式は以下と等価です:
$R(x) > 0, \quad Q(x) - S(x)R(x)^{-1}S(x)^T > 0$
しかし、2番目の条件には $R(x)^{-1}$ が含まれており、これはアフィン関数ではありません。シュールの補行列により、これをLMI形式に変換することができます:
\left(
\begin{array}{cc}
Q(x) & S(x) \\
S(x)^T & R(x)
\end{array}
\right) > 0 \Leftrightarrow \begin{cases} R(x) > 0 \\ Q(x) - S(x)R(x)^{-1}S(x)^T > 0 \end{cases}
この等価性は、最適化問題をLMI形式に再定式化する上で非常に有用です。例えば、前回の記事では、$Z^T Z$ という項が出てきましたが、これはシュールの補行列を使って線形条件にすることができます。
LMI問題における変数消去
制御設計では、主要な関心変数に関するLMIを得るために消去する必要がある行列変数に遭遇することがよくあります。消去補題(射影補題とも呼ばれる)は、この目的に特に有用です。
以下のLMI問題を考えます:
$\Psi + M \Theta N^T + N \Theta^T M^T < 0$
ここで $\Psi, M, N$ は既知の行列で、$\Theta$ は消去したい変数行列です。消去補題によれば、不等式が成立するような $\Theta$ が存在するための必要十分条件は次式となります。
$W_M^T \Psi W_M < 0 \text{ and } W_N^T \Psi W_N < 0$
ここで $W_M$ と $W_N$ は、それぞれ $M^T$ と $N^T$ のNull空間の基底を形成する列を持つ行列です。
この補題は、解くことができるLMI定式化を得るためにコントローラ変数を消去する必要がある場合が多いコントローラ合成問題で特に有用です。
多目的制御のためのS変数アプローチ
複数の目的を含むより複雑な制御問題に対しては、S変数アプローチが有用です。このアプローチでは、双線形行列不等式(BMI)をLMIに変換するために追加変数を導入します。
同時に以下を達成したい状態フィードバック制御問題は次のようなものが与えられます:
- $H_\infty$ 性能境界
- 特定の領域内での極配置
- 入力制約の満足
S変数アプローチは、多目的制御のさまざまな範囲の問題に対処するための強力なツールであることが示されています。
周波数領域仕様のための一般化KYP補題
一般化KYP補題により、すべての周波数ではなく特定の周波数範囲で制御要件を指定することができます。これは、的を絞ったコントローラ設計に特に有用です。
周波数区間 $[\omega_1, \omega_2]$ に対して、LMIを使用して周波数領域制約を表現できます。
ポリトープ型不確かさを持つロバスト制御
システムパラメータが不確かであるが多面体内に限定される場合、LMIを使用してロバストコントローラを設計できます。多面体不確かさを持つシステムを考えてみましょう:
$\dot{x} = A(\lambda)x + B(\lambda)u$
ここで $A(\lambda) = \sum_{i=1}^L \lambda_i A_i$ および $B(\lambda) = \sum_{i=1}^L \lambda_i B_i$、$\sum_{i=1}^L \lambda_i = 1$、$\lambda_i \geq 0$ です。
LMIを用いた動的出力フィードバック
状態フィードバックが不可能な場合、LMIを使用して動的出力フィードバックコントローラを設計できます。これは特定のLMIを満たす行列 $P$、$Q$、$X$、$Y$、および $Z$ を見つけることを含みます。
結論
本記事では、非線形制約をLMIに変換するためのシュアの補題、複雑な問題を簡略化するための変数消去、様々な制御目標のための実践的な実装など、制御システム設計におけるLMIの使用に関するいくつかの高度な技術を探求しました。
LMIの数学的エレガンスと効率的な数値ソルバーの組み合わせは、現代の制御工学における非常に強力なツールになります。制御問題をLMIとして定式化することで、複数の設計目標と制約を同時に体系的に対処でき、証明された性能保証を持つコントローラが導かれます。
LMIの関連動画
LMI(線形行列不等式)と制御✅ダイジェスト版(数値シミュレーション)
ロバスト制御(robust control)共通リアプノフ行列を用いた安定性解析
LMIの関連記事
関連記事はこちらです。
LMIによる制御(発展編,<特集>初学者のための図解でわかる制御工学II)
MATLABによる線形行列不等式を用いた制御器パラメータの設計
その他の重要な参考文献:
Linear Matrix Inequalities in System and Control Theory - Boyd et al.
Robust constrained model predictive control using linear matrix inequalities - Kothare et al.
Linear Matrix Inequalities in Control - Scherer & Weiland
A linear matrix inequality approach to H∞ control - Gahinet & Apkarian
S-Variable Approach to LMI-Based Robust Control - Ebihara et al.
Multiobjective output-feedback control via LMI optimization - Scherer et al.
H∞ design with pole placement constraints: an LMI approach - Chilali & Gahinet
A Unified Algebraic Approach to Linear Control Design - Skelton et al.
LMIの書籍
蛯原先生による以下の書籍がLMIに基づいた設計を行う上で各種条件とLMI設定の関係について多く説明されており有益です。
「LMIによるシステム制御 (POD版) ロバスト制御系設計のための体系的アプローチ」 蛯原義雄 著
関連記事(blog.control-theory.com)
- Design of controller parameters using linear matrix inequalities in MATLAB(英語) — LMIの基礎からMATLABでの実装まで
- LMIに基づく制御のためのツール(日本語) — シュールの補題、変数消去、S変数アプローチ
- State Observer and State Estimation(英語) — LMIベースのオブザーバ設計を含む総合記事
- Model Error Compensator: Enhance the Robustness(英語) — LMIを用いたMEC設計
- State Feedback Control and State-Space Design(英語) — 状態フィードバック制御の総合記事
関連Qiita記事
- モデル誤差抑制補償器 — LMI設計によるMECのロバスト化
- 外乱オブザーバとモデル誤差抑制補償器の違い — DOBとMECの構造比較
- PID制御の基本理論と設計法