Linear optimal control technique
最適制御 理論は、 動的システムを 最小コストで 動作させることを扱っています。 システムのダイナミクスが 線形微分 方程式で記述され 、コストが 二次 関数 で記述される場合は、LQ問題と呼ばれます。この理論の主要な結果の一つは、その解が 線形二次レギュレータ ( LQR )によって得られるというものです。これは、以下の式で表されるフィードバック制御器です。
LQR制御器は 、 ゲイン と 位相余裕が保証された固有の堅牢性を備えており [1] 、 LQG(線形–二次–ガウス)問題 の解法の一部でもあります 。LQR問題自体と同様に、LQG問題は 制御理論における最も基本的な問題の一つです [2] 。
概要 機械またはプロセス(飛行機や化学反応器 など)を制御する(調整)コントローラの設定は、オペレータが指定した重み係数を用いて コスト関数を 最小化する数学アルゴリズムを用いて決定されます 。コスト関数は、高度やプロセス温度などの主要な測定値の目標値からの偏差の合計として定義されることが多いです。したがって、このアルゴリズムは、望ましくない偏差を最小化するコントローラ設定を見つけます。制御動作自体の振幅もコスト関数に含まれる場合があります。
LQRアルゴリズムは、制御システムエンジニアがコントローラを最適化するために行う作業量を削減します。しかし、エンジニアは依然としてコスト関数パラメータを指定し、その結果を指定された設計目標と比較する必要があります。これは多くの場合、コントローラの構築が反復的なプロセスになることを意味します。エンジニアはシミュレーションによって生成された「最適な」コントローラを判断し、パラメータを調整して設計目標により適合するコントローラを作成します。
LQRアルゴリズムは、本質的に適切な 状態フィードバック制御器を 自動的に見つける方法です。そのため、制御エンジニアが、制御器パラメータと制御器の挙動の関係がより明確な、 極配置法とも呼ばれるフルステートフィードバック 法などの代替手法を好むことは珍しくありません。適切な重み係数を見つけることの難しさは、LQRベースの制御器合成の適用範囲を制限します。
バージョン
有限時間、連続時間 で定義される連続時間線形システムの場合、 次 のように記述されます。 t ∈ [ t 0 , t 1 ] {\displaystyle t\in [t_{0},t_{1}]}
x ˙ = A x + B u {\displaystyle {\dot {\mathbf {x} }}=A\mathbf {x} +B\mathbf {u} }
ここで 、 (つまり、 次元 の実数値ベクトル)はシステムの状態であり、 は制御入力である。システムの二次コスト関数は次のように定義される。 x ∈ R n {\displaystyle \mathbf {x} \in \mathbb {R} ^{n}} x {\displaystyle \mathbf {x} } n {\displaystyle n} u ∈ R m {\displaystyle \mathbf {u} \in \mathbb {R} ^{m}}
J = x T ( t 1 ) F ( t 1 ) x ( t 1 ) + ∫ t 0 t 1 ( x T Q x + u T R u + 2 x T N u ) d t {\displaystyle J=\mathbf {x} ^{\mathsf {T}}\!(t_{1})F(t_{1})\mathbf {x} (t_{1})+\int _{t_{0}}^{t_{1}}\left(\mathbf {x} ^{\mathsf {T}}Q\mathbf {x} +\mathbf {u} ^{\mathsf {T}}R\mathbf {u} +2\mathbf {x} ^{\mathsf {T}}N\mathbf {u} \right)dt}
ここで 、 は終端コスト行列、 は状態コスト行列、 は制御コスト行列、 は 交差項(制御および状態)コスト行列です。コストの値を最小化するフィードバック制御法則は次のとおりです。 F {\displaystyle F} Q {\displaystyle Q} R {\displaystyle R} N {\displaystyle N}
u = − K x {\displaystyle \mathbf {u} =-K\mathbf {x} }
ここで 、は次のように与えられます。 K {\displaystyle K}
K = R − 1 ( B T P ( t ) + N T ) {\displaystyle K=R^{-1}\left(B^{\mathsf {T}}P(t)+N^{\mathsf {T}}\right)}
は 連続時間 リカッチ微分方程式 を解くことによって求められます。 P {\displaystyle P}
A T P ( t ) + P ( t ) A − [ P ( t ) B + N ] R − 1 [ B T P ( t ) + N T ] + Q = − P ˙ ( t ) {\displaystyle A^{\mathsf {T}}P(t)+P(t)A-\left[P(t)B+N\right]R^{-1}\left[B^{\mathsf {T}}P(t)+N^{\mathsf {T}}\right]+Q=-{\dot {P}}(t)}
境界条件は次の通りです。
P ( t 1 ) = F ( t 1 ) . {\displaystyle P(t_{1})=F(t_{1}).}
の第一条件は次 のとおりです。 J min {\displaystyle J_{\min }}
状態方程式 x ˙ = A x + B u {\displaystyle {\dot {\mathbf {x} }}=A\mathbf {x} +B\mathbf {u} } 共状態方程式 − λ ˙ = Q x + N u + A T λ {\displaystyle -{\dot {\boldsymbol {\lambda }}}=Q\mathbf {x} +N\mathbf {u} +A^{\mathsf {T}}{\boldsymbol {\lambda }}} 定常方程式 0 = R u + N T x + B T λ {\displaystyle \mathbf {0} =R\mathbf {u} +N^{\mathsf {T}}\mathbf {x} +B^{\mathsf {T}}{\boldsymbol {\lambda }}} 境界条件 と x ( t 0 ) = x 0 {\displaystyle \mathbf {x} (t_{0})=\mathbf {x} _{0}} λ ( t 1 ) = F ( t 1 ) x ( t 1 ) {\displaystyle {\boldsymbol {\lambda }}(t_{1})=F(t_{1})\mathbf {x} (t_{1})}
無限の地平線、連続時間 次のように記述される連続時間線形システムの場合:
x ˙ = A x + B u {\displaystyle {\dot {\mathbf {x} }}=A\mathbf {x} +B\mathbf {u} }
コスト関数は次のように定義されます。
J = ∫ 0 ∞ ( x T Q x + u T R u + 2 x T N u ) d t {\displaystyle J=\int _{0}^{\infty }\left(\mathbf {x} ^{\mathsf {T}}Q\mathbf {x} +\mathbf {u} ^{\mathsf {T}}R\mathbf {u} +2\mathbf {x} ^{\mathsf {T}}N\mathbf {u} \right)dt}
コストの値を最小化するフィードバック制御法則は次のとおりです。
u = − K x {\displaystyle \mathbf {u} =-K\mathbf {x} }
ここで 、は次のように与えられます。 K {\displaystyle K}
K = R − 1 ( B T P + N T ) {\displaystyle K=R^{-1}\left(B^{\mathsf {T}}P+N^{\mathsf {T}}\right)}
は 連続時間 代数リカッチ方程式 を解くことによって求められます。 P {\displaystyle P}
A T P + P A − ( P B + N ) R − 1 ( B T P + N T ) + Q = 0 {\displaystyle A^{\mathsf {T}}P+PA-\left(PB+N\right)R^{-1}\left(B^{\mathsf {T}}P+N^{\mathsf {T}}\right)+Q=0}
これは次のようにも書けます:
A T P + P A − P B R − 1 B T P + Q = 0 {\displaystyle {\mathcal {A}}^{\mathsf {T}}P+P{\mathcal {A}}-PBR^{-1}B^{\mathsf {T}}P+{\mathcal {Q}}=0}
と
A = A − B R − 1 N T , Q = Q − N R − 1 N T {\displaystyle {\mathcal {A}}=A-BR^{-1}N^{\mathsf {T}},\qquad {\mathcal {Q}}=Q-NR^{-1}N^{\mathsf {T}}}
有限時間、離散時間 離散時間線形システムの場合: [3]
x k + 1 = A x k + B u k {\displaystyle \mathbf {x} _{k+1}=A\mathbf {x} _{k}+B\mathbf {u} _{k}}
パフォーマンス指標は次のように定義されます。
J = x H p T Q H p x H p + ∑ k = 0 H p − 1 ( x k T Q x k + u k T R u k + 2 x k T N u k ) , {\displaystyle J=\mathbf {x} _{H_{p}}^{\mathsf {T}}Q_{H_{p}}\mathbf {x} _{H_{p}}+\sum _{k=0}^{H_{p}-1}\left(\mathbf {x} _{k}^{\mathsf {T}}Q\mathbf {x} _{k}+\mathbf {u} _{k}^{\mathsf {T}}R\mathbf {u} _{k}+2\mathbf {x} _{k}^{\mathsf {T}}N\mathbf {u} _{k}\right),} 時間の範囲 は
どこに ありますか 。 H p {\displaystyle H_{p}}
性能指標を最小化する最適な制御シーケンスは次のように与えられる。
u k = − F k x k {\displaystyle \mathbf {u} _{k}=-F_{k}\mathbf {x} _{k}}
どこ
F k = ( R + B T P k + 1 B ) − 1 ( B T P k + 1 A + N T ) {\displaystyle F_{k}={\left(R+B^{\mathsf {T}}P_{k+1}B\right)}^{-1}\left(B^{\mathsf {T}}P_{k+1}A+N^{\mathsf {T}}\right)}
これは、 動的リカッチ方程式によって時間的に逆方向に反復的に求められます。 P k {\displaystyle P_{k}}
P k − 1 = A T P k A − ( A T P k B + N ) ( R + B T P k B ) − 1 ( B T P k A + N T ) + Q {\displaystyle P_{k-1}=A^{\mathsf {T}}P_{k}A-\left(A^{\mathsf {T}}P_{k}B+N\right)\left(R+B^{\mathsf {T}}P_{k}B\right)^{-1}\left(B^{\mathsf {T}}P_{k}A+N^{\mathsf {T}}\right)+Q}
終端状態から 。 [4] は定義されていないことに注意 。なぜならは によって 最終状態に導かれるからである 。 P H p = Q H p {\displaystyle P_{H_{p}}=Q_{H_{p}}} u H p {\displaystyle \mathbf {u} _{H_{p}}} x {\displaystyle x} x H p {\displaystyle \mathbf {x} _{H_{p}}} A x H p − 1 + B u H p − 1 {\displaystyle A\mathbf {x} _{H_{p}-1}+B\mathbf {u} _{H_{p}-1}}
無限の地平線、離散時間 次のように記述される離散時間線形システムの場合:
x k + 1 = A x k + B u k {\displaystyle \mathbf {x} _{k+1}=A\mathbf {x} _{k}+B\mathbf {u} _{k}}
パフォーマンス指標は次のように定義されます。
J = ∑ k = 0 ∞ ( x k T Q x k + u k T R u k + 2 x k T N u k ) {\displaystyle J=\sum _{k=0}^{\infty }\left(\mathbf {x} _{k}^{\mathsf {T}}Q\mathbf {x} _{k}+\mathbf {u} _{k}^{\mathsf {T}}R\mathbf {u} _{k}+2\mathbf {x} _{k}^{\mathsf {T}}N\mathbf {u} _{k}\right)}
性能指標を最小化する最適な制御シーケンスは次のように与えられる。
u k = − F x k {\displaystyle \mathbf {u} _{k}=-F\mathbf {x} _{k}}
どこ:
F = ( R + B T P B ) − 1 ( B T P A + N T ) {\displaystyle F={\left(R+B^{\mathsf {T}}PB\right)}^{-1}\left(B^{\mathsf {T}}PA+N^{\mathsf {T}}\right)}
これ は離散時間 代数リカッチ方程式 (DARE)の唯一の正定値解である。 P {\displaystyle P}
P = A T P A − ( A T P B + N ) ( R + B T P B ) − 1 ( B T P A + N T ) + Q . {\displaystyle P=A^{\mathsf {T}}PA-\left(A^{\mathsf {T}}PB+N\right)\left(R+B^{\mathsf {T}}PB\right)^{-1}\left(B^{\mathsf {T}}PA+N^{\mathsf {T}}\right)+Q.}
これは次のようにも書けます:
P = A T P A − A T P B ( R + B T P B ) − 1 B T P A + Q {\displaystyle P={\mathcal {A}}^{\mathsf {T}}P{\mathcal {A}}-{\mathcal {A}}^{\mathsf {T}}PB\left(R+B^{\mathsf {T}}PB\right)^{-1}B^{\mathsf {T}}P{\mathcal {A}}+{\mathcal {Q}}}
と:
A = A − B R − 1 N T , Q = Q − N R − 1 N T . {\displaystyle {\mathcal {A}}=A-BR^{-1}N^{\mathsf {T}},\qquad {\mathcal {Q}}=Q-NR^{-1}N^{\mathsf {T}}.}
代数リカッチ方程式を解く 1 つの方法は、有限時間範囲の動的リカッチ方程式を収束するまで反復することであることに注意してください。
制約 実際には、 のすべての値が許容されるわけではない 。 一般的な制約条件の一つは線形制約である。 x k {\displaystyle \mathbf {x} _{k}} u k {\displaystyle \mathbf {u} _{k}} C x + D u ≤ e . {\displaystyle C\mathbf {x} +D\mathbf {u} \leq \mathbf {e} .}
この有限時間版は 凸最適化問題であり、この問題はしばしば後退時間で繰り返し解かれる。これは モデル予測制御 の一種である 。 [5] [6]
二次二次レギュレータ 状態方程式が二次方程式の場合、この問題は二次-二次レギュレータ(QQR)と呼ばれます。アルブレクトアルゴリズムを適用することで、この問題をテンソルベースの線形ソルバーを用いて効率的に解ける問題に簡約することができます。 [7]
多項式二次レギュレータ 状態方程式が 多項式 の場合、この問題は多項式二次レギュレータ(PQR)と呼ばれます。ここでも、アル・ブレヒトアルゴリズムを適用することで、この問題を大規模な線形問題に縮減することができ、これは バーテルス・スチュワートアルゴリズム の一般化によって解くことができます。これは、多項式の次数が高すぎない限り可能です。 [8]
モデル予測制御 モデル予測制御 (MPC)と線形二次レギュレータは、最適化コストの設定方法が異なる2種類の最適制御手法です。特に、LQRを後退ホライズンで繰り返し実行する場合、MPCの一種となります。しかし、一般的にMPCは線形システムに限定されず、制約条件を自然に組み込むことができます。
参考文献 ^ Lehtomaki, N.; Sandell, N.; Athans, M. (1981). 「線形-二次ガウス分布に基づく多変数制御設計におけるロバスト性の結果」. IEEE Transactions on Automatic Control . 26 (1): 75– 93. doi :10.1109/TAC.1981.1102565. ISSN 0018-9286. ^ Doyle, John C. (1978). 「LQGレギュレータの保証マージン」 (PDF) . IEEE Transactions on Automatic Control . 23 (4): 756– 757. doi :10.1109/TAC.1978.1101812. ISSN 0018-9286. ^ チョウ、グレゴリー・C. (1986). 『動的経済システムの分析と制御』 クリーガー出版 ISBN 0-89874-969-7 。 ^ Shaiju, AJ; Petersen, Ian R. (2008). 「離散時間LQR, LQG, LEQGおよびミニマックスLQG最適制御問題のための公式」. IFAC Proceedings Volumes . 41 (2). Elsevier: 8773– 8778. doi :10.3182/20080706-5-KR-1001.01483. ^ 「Ch. 8 - Linear Quadratic Regulators」. underactuated.mit.edu . 2022年 8月20日 閲覧 。 ^ Scokaert, Pierre OM; Rawlings, James B. (1998年8月). 「制約付き線形二次制御」 (PDF) . IEEE Transactions on Automatic Control . 43 (8): 1163– 1169. doi :10.1109/9.704994. hdl :1793/10888 . 2022年 8月20日 閲覧 。 ^ Borggaard, Jeff; Zietsman, Lizette (2020年7月). 「2次-2次レギュレータ問題:2次状態非線形システムのフィードバック制御の近似」. 2020 American Control Conference (ACC). pp. 818– 823. arXiv : 1910.03396 . doi :10.23919/ACC45564.2020.9147286. ISBN 978-1-5386-8266-1 . S2CID 203904925 . 2022年 8月20日 閲覧。 ^ Borggaard, Jeff; Zietsman, Lizette (2021年1月1日). 「多項式-二次レギュレータ問題の近似について」. IFAC-PapersOnLine . 54 (9): 329– 334. arXiv : 2009.11068 . doi : 10.1016/j.ifacol.2021.06.090 . S2CID 221856517.
外部リンク 線形二次レギュレータ設計のためのMATLAB関数 Archived 2012-08-24 at the Wayback Machine 線形二次レギュレータ設計のためのMathematica関数