補遺:LQ制御

LQ制御…Homework

[1] 可制御な制御対象

\displaystyle{(1)\quad %\left\{\begin{array}{ll} \dot{x}(t)=Ax(t)+Bu(t)\quad (x(t)\in{\bf R}^n,u(t)\in{\bf R}^m)\\ %z(t)=Cx(t)&(z(t)\in{\bf R}^q) %\end{array}\right. }

を安定化する状態フィードバック

\displaystyle{(2)\quad u(t)=-Fx(t) }

の決定法を考えます。一つの方法は,閉ループ系

\displaystyle{(3)\quad %\left\{\begin{array}{l} \dot{x}(t)=(A-BF)x(t)  \\ %z(t)=Cx(t) %\end{array}\right. }

の時間応答に関する評価規範として,2次形式評価関数

(4)\quad \boxed{\begin{array}{l} \displaystyle{J=\int_0^\infty (z^T(t)Qz(t)+u^T(t)Ru(t))\,dt\quad (Q>0,R>0)}\\ \displaystyle{z(t)=Cx(t)\quad (z(t)\in{\bf R}^q)} \end{array}}

を設定し,これを最小化する問題を解くことです。ただし、(A,C)は可観測対とします。これによる状態フィードバックのゲイン行列Fは,リッカチ方程式

\displaystyle{(5)\quad {\boxed{\Pi A+A^T\Pi-\Pi BR^{-1}B^T\Pi+C^TQC=0}} }

の解\Pi>0を用いて,次式で与えられます。

\displaystyle{(6)\quad {\boxed{F=R^{-1}B^T\Pi}} }

この証明はNoteに示しています。

Note A52-1 行列による微分 

いま、任意の行列X(i,j)要素をx_{ij}=[X]_{ij}で表すとき、スカラ関数fを行列変数Xの各要素で微分して得られる行列を\displaystyle{[\frac{\partial f}{\partial X}]_{ij}=\frac{\partial f}{\partial x_{ij}}}で定義します。このとき、行列のトレースについて、次が成り立ちます。

\displaystyle{(1)\ {\rm tr}AB={\rm tr}BA}
\displaystyle{(2)\ \frac{\partial}{\partial X}{\rm tr}AXB=A^TB^T}
\displaystyle{(3)\ \frac{\partial}{\partial X}{\rm tr}AX^TB=BA}
\displaystyle{(4)\ \frac{\partial}{\partial X}{\rm tr}AXBX^T=A^TXB^T+AXB}

実際、

\displaystyle{(1)\ \sum_{i}[AB]_{ii}=\sum_{i}\sum_{j}a_{ij}b_{ji} =\sum_{j}\sum_{i}b_{ji}a_{ij}=\sum_{j}[BA]_{jj}}

\displaystyle{(2)\ [\frac{\partial}{\partial X}{\rm tr}AXB]_{ij} =\frac{\partial}{\partial x_{ij}}\sum_{k}[AXB]_{kk} =\frac{\partial}{\partial x_{ij}}\sum_{k}\sum_{i,j}a_{ki}x_{ij}b_{jk}}
\displaystyle{=\sum_{k}b_{jk}a_{ki}=[BA]_{ji}=[A^TB^T]_{ij}}

\displaystyle{(3)\ [\frac{\partial}{\partial X}{\rm tr}AX^TB]_{ij} =\frac{\partial}{\partial x_{ij}}\sum_{k}[AX^TB]_{kk} =\frac{\partial}{\partial x_{ij}}\sum_{k}\sum_{i,j}a_{ki}x_{ji}b_{jk}}
\displaystyle{=\sum_{k}b_{ik}a_{kj}=[BA]_{ij}}

\displaystyle{(4)\ \frac{\partial}{\partial X}{\rm tr}AXBX^T =\frac{\partial}{\partial X}{\rm tr}(AXB)X^T +\frac{\partial}{\partial X}{\rm tr}AX(BX^T)}
\displaystyle{=AXB+A^TXB^T}

Note A52-2 LQ制御問題の解法 

可制御かつ可観測なn次系

\displaystyle{(1)\quad \dot{x}(t)=Ax(t)+Bu(t),\ y(t)=Cx(t) }

に対する状態フィードバック

\displaystyle{(2)\quad u(t)=-Fx(t) }

による閉ループ系

\displaystyle{(3)\quad \begin{array}{l} \dot{x}(t)=(A-BF)x(t),\ z(t)=Cx(t)\\ A_F=A-BF:\ stable\ matrix \end{array} }

に対して、評価関数

\displaystyle{(4)\quad J=\int_0^\infty(z^T(t)Qz(t)+u^T(t)Ru(t))\,dt }

を最小化するようにFを決める問題を考えます。

閉ループ系における状態の振る舞いは次式で与えられます。

\displaystyle{(5)\quad x(t)=\exp({A_Ft})x(0) }

ここで、1次系の場合は初期状態はx(0)\ne0であればよかったのですが、一般の場合はインパルス応答となるようにBの列ベクトルB^{(i)}を考えます。各インパルス応答

\displaystyle{(6)\quad x^{(i)}(t)=\exp({A_Ft})B^{(i)} }

に対する評価関数Jの総和は

(7)\quad \begin{array}{l} \displaystyle{\sum\int_0^\infty x^{(i)}\,^T(t)(C^TQC+F^TRF)x^{(i)}(t)\,dt}\\ \displaystyle{=\sum B^{(i)}\,^T\underbrace{\int_0^\infty \exp(A_F^Tt)(C^TQC+F^TRF)\exp(A_Ft)\,dt}_{\Pi}B^{(i)}}\\ \displaystyle{=\sum B^{(i)}\,^T\Pi B^{(i)}={\rm tr}\ \Pi BB^T} \end{array} }

と書けます。いま\Gammaをラグランジュの未定定数として

\displaystyle{(8)\quad J'={\rm tr}\ \Pi x(0)x^T(0)+{\rm tr}\ ((\Pi A_F+A_F^T\Pi+C^TQC+F^TRF)\Gamma) }

を最小化する問題を考えます。ここで、制約条件は、リャプノフ方程式と呼ばれる

\displaystyle{(9)\quad \Pi A_F+A_F^T\Pi+C^TQC+F^TRF=0 }

ですが、\Pi>0A_Fが安定行列を意味することに注意します。

そこで、必要条件として次を得ます。

\displaystyle{(11)\quad \frac{\partial J'}{\partial\Pi}&=&BB^T+\Gamma A_F^T+A_F\Gamma=0\Rightarrow \Gamma>0 }
\displaystyle{(12)\quad \frac{\partial J'}{\partial F}&=&2(RF-B^T\Pi)\Gamma=0\Rightarrow F=R^{-1}B^T\Pi }
\displaystyle{(13)\quad \frac{\partial J'}{\partial\Gamma}&=&\Pi A_F+A_F^T\Pi+C^TQC+F^TRF=0 }

ここで、第2式から得られるF=R^{-1}B^T\Piを第3式に代入して

\displaystyle{(14)\quad \begin{array}{l} \Pi (A-BR^{-1}B^T\Pi)+(A-BR^{-1}B^T\Pi)^T\Pi+C^TQ\nonumber\\ +(R^{-1}B^T\Pi)^TRR^{-1}B^T\Pi=0 \end{array} }

すなわち、リッカチ方程式と呼ばれる\Piの行列方程式

\displaystyle{(15)\quad \Pi A+A^T\Pi-\Pi BR^{-1}B^T\Pi+C^TQC=0 }

を得ます。これから\Pi>0を求めて、F

\displaystyle{(16)\quad F=R^{-1}B^T\Pi }

のように得られます。このような制御方式をLQ制御と呼びます。

一方、十分性の議論は次のように行われます。まず、被積分項は次のように表すことができます。

\displaystyle{(17)\quad \begin{array}{lll} &&y^TQy+u^TRu=(u+R^{-1}B^T\Pi x)^TR(u+R^{-1}B^T\Pi x)\nonumber\\ &&-\underbrace{\frac{d}{dt}x^T\Pi x}_{2x^T\Pi\dot{x}} \end{array} }

実際、右辺に\dot{x}=Ax+Buを代入し、リッカチ方程式を用いると

\displaystyle{(18)\quad \begin{array}{lll} &&{\rm RHS}=u^TRu+2x^T\Pi Bu+x^T\Pi BR^{-1}B^T\Pi x-2x^T\Pi(Ax+Bu)\nonumber\\ &&=u^TRu+x^T(\Pi A+A^T\Pi+C^TQC)x-2x^T\Pi Ax={\rm LHS} \end{array} }

したがって、上記の両辺を積分して

\displaystyle{(19)\quad J=\int_0^\infty (u+R^{-1}B^T\Pi x)^TR(u+R^{-1}B^T\Pi x)\,dt-\left[x^T\Pi x\right]_0^\infty }

を得ます。ここで、x(t)=\exp(A_Ft)x(0)\rightarrow 0\ (t\rightarrow\infty)を前提とするので

\displaystyle{(20)\quad J=\int_0^\infty (u+R^{-1}B^T\Pi x)^TR(u+R^{-1}B^T\Pi x)\,dt+x^T(0)\Pi x(0) }

を得ます。これからu=-R^{-1}B^T\Pi xが評価関数を最小化することが分かります。