Optimal control: Systemanalyse

Problemstellung

Die Steue­rung zeit­ab­hän­gi­ger Sys­te­me ist ein schwie­ri­ges Unter­fan­gen, des­sen Erfolg nicht unter allen Umstän­den garan­tiert wer­den kann. Man­che Sys­te­me sind instrin­sisch insta­bil und gera­ten aus­ser Kon­trol­le unab­hän­gig vom Steuerungsinput. 

Ande­re Sys­te­me stel­len dem ent­schei­dungs­tref­fen­den Algo­rith­mus nicht genug Infor­ma­tio­nen zur Ver­fü­gung, um sinn­vol­le Steue­rungs­an­wei­sun­gen abzuleiten. 

Es ist zur Abschät­zung des Steue­rungs­er­fol­ges not­wen­dig, zen­tra­le Sys­tem­cha­rak­te­ris­ti­ken wie Sta­bi­li­tät, Steu­er­bar­keit, und Beob­acht­bar­keit zu unter­su­chen. Erst dann kön­nen die poten­ti­el­len Pro­ble­me bei der Steue­rung des Sys­te­mes iden­ti­fi­ziert und Gül­tig­keits­gren­zen sowie Erfolgs­ga­ran­tien aus­ge­spro­chen wer­den. In der Pra­xis wird die­se theo­re­ti­sche Sys­tem­ana­ly­se noch erschwert durch unbe­kann­te dyna­mi­sche Zusam­men­hän­ge, die vor jeg­li­cher wei­te­rer Unter­su­chung aus Beob­ach­tungs­da­ten und Vor­über­le­gun­gen abzu­lei­ten sind.

Abbil­dung 1: Illus­tra­ti­on von Systemzusammenhängen.

Beispielhaftes Systemverhalten

Sei ein dyna­mi­sches Sys­tem defi­niert durch die Glei­chung eines gedämpf­ten har­mo­ni­sche Oszillators.

$$ \ddot{x} = \frac{c}{m} \dot{x} + \frac{k}{m}x=0$$

Die Glei­chung beschreibt Posi­ti­on \(x\), Geschwin­dig­keit \(\dot{x}\), und Beschleu­ni­gung \(\ddot{x}\) einer elas­tisch schwin­gen­den Mas­se \(m\) in einer typi­scher­wei­se vis­ko­sen Flüs­sig­keit mit Dämp­fungs­ko­ef­fi­zi­ent \(c\). Der Para­me­ter \(k\) ist die Feder­kon­stan­te, wel­che Aus­len­kung und Beschleu­ni­gung koppelt.

Abbil­dung 2: Der Dämp­fungs­ko­ef­fi­zi­ent deter­mi­niert die Sta­bi­li­tät des Systemes.

Beispielhafte Systemanalyse

Die qua­li­ta­ti­ven Unter­schie­de im Sys­tem­ver­hal­ten las­sen sich erklä­ren und direkt prä­di­zie­ren. Die Dif­fe­ren­ti­al­glei­chung für den gedämpf­ten Oszil­la­tor lässt sich auch schrei­ben als

$$ v=\begin{bmatrix} v_1 \\ v_2 \end{bmatrix}= \begin{bmatrix} x \\ \dot{x}\end{bmatrix} ~~~ \dot{v} = \begin{bmatrix} \dot{x}\\ \ddot{x}\end{bmatrix} = \begin{bmatrix} v_2 \\ -(c/m)v_2 -(k/m) v_1\end{bmatrix} = \begin{bmatrix} 0 & 1 \\ -(k/m) & -(c/m)\end{bmatrix} \begin{bmatrix} v_1 \\ v_2 \end{bmatrix} = Av$$

wobei \(\dot{v}\) die zeit­li­che Ablei­tung von \(v\) ist. Aus der Glei­chung \(\dot{v}=Av\) las­sen sich direkt pro­ble­ma­ti­sche Kon­stel­la­tio­nen Ablei­ten: Gäbe es z.B. ein \(v_0\) mit \(Av_0=\lambda v_0\) und \(\lambda > 0\), dann gäl­te für \(v_0=v(0)\) gerade

\begin{align}  ~~~~~~\dot{v}(0) & = \lambda v(0) \\ \Rightarrow v(\Delta t) & \approx (1+\lambda \Delta t)v(0) \\ \Rightarrow v(2\Delta t) &\approx (1+\lambda \Delta t)v(\Delta t) \\ & \vdots \\ \Rightarrow v(n\Delta t) &\approx (1+\lambda \Delta t) v((n‑1)\Delta t) \end{align}

sodass der Zustands­vek­tor \(v(t)=[x(t), \dot{x}(t)]\) mit jedem Zeit­schritt etwas grös­ser wird und somit ins Unend­li­che wächst. Gilt hin­ge­gen für jedes \(v\in \mathbb{R}^2\), dass \(v\) durch \(v+\Delta t A v\) betrags­mäs­sig ver­klei­nert wird, dann kon­ver­giert das Sys­tem für alle Anfangs­zu­stän­de gegen \([0,0]\) und sta­bi­li­siert sich selbst. Die Fra­ge nach der Sta­bi­li­tät ist dem­nach pri­mär eine Fra­ge nach den Vor­zei­chen von Eigen­wer­ten der Matrix \(A\); sind alle nega­tiv ist das Sys­tem sta­bil [1, p. 24].

Äqui­va­lent zu die­sem Kri­te­ri­um ist die linea­re (Lyapu­n­ov) Matrixun­glei­chung [2]

$$ P \succeq 0 ~~~~A^TP+PA \preceq 0 ‚$$

die nur im Fal­le eines sta­bi­len Sys­te­mes erfüll­bar ist. Neben Steu­er­bar­keit und Beob­acht­bar­keit gibt es wei­te­re Eigen­schaf­ten wie etwa Sta­bi­li­sier­bar­keit und Detek­tier­bar­keit, deren Vor­han­den­sein die Exis­tenz eines opti­ma­len kon­stan­ten Feed­back­loops \(u=Kx\) garantiert.

Systeme mit Steuersignal

Kann auf ein Sys­tem aktiv ein­ge­wirkt wer­den mit dem Steu­er­si­gnal \(u\), dann ist die Situa­ti­on kom­pli­zier­ter. Es muss unter­sucht wer­den, ob ein das Sys­tem sta­bi­li­sie­ren­des \(p\)-dimensionales Steu­er­si­gnal \(u\) exis­tiert und ob es aus mög­li­cher­wei­se defi­zi­en­ten Beob­ach­tun­gen abge­lei­tet wer­den kann.

Die recht­sei­ti­ge Skiz­ze illus­triert die Zusam­men­hän­ge: Ein Zustand \(v\) wird inkom­plett beob­ach­tet. Dies führt zum Mess­wert \(y\), wel­cher zu einem Steu­er­si­gnal wei­ter­ver­ar­bei­tet wer­den muss. Zustand, Steu­er­si­gnal, und Zustands­än­de­rung sind über die Matri­zen \(A,B\) mit­ein­an­der gekoppelt.

Drawing_system_analysis_3

Mathe­ma­tisch kom­pak­ter for­mu­liert wer­den die obi­gen Zusam­men­hän­ge als das linea­re Sys­tem \((A, B, C)\)

\begin{align} \dot{v} & = Av(t) + B u(t) ~~~~~&&v\in \mathbb{R}^n ~~ A\in \mathbb{R}^{n\times n}, ~~B\in \mathbb{R}^{n\times p} \\ y(t)&=Cv(t) && y\in \mathbb{R}^m ~~ C \in \mathbb{R}^{m\times n} \end{align}

mit den Matri­zen \(A, B, C \). Es ver­mit­telt zwi­schen Zustands­vek­to­ren, Steu­er­si­gna­len und Beobachtungen.

Steuerbarkeit und Beobachtbarkeit

Das Sys­tem kann mit­hil­fe von linea­ren Matrixun­glei­chun­gen auf sei­ne Steu­er­bar­keit und die Hin­läng­lich­keit der Beob­ach­tun­gen \(y\) für die Steue­rung unter­sucht wer­den. Es gilt [2]

  • Ent­we­der das Sys­tem \((A,B,I)\) ist steu­er­bar oder es exis­tiert eine sym­me­tri­sche Matrix \(P\neq 0\), sodass $$ AP+PA^T\preceq 0 ~~PB=0.$$
  • Ent­we­der das Sys­tem \( ( A, B, C)\) ist beob­acht­bar oder es exis­tiert eine sym­me­tri­sche Matrix \(P\neq 0\), sodass $$ AP+PA^T \preceq C^T=0.$$
So kön­nen aus der Lös­bar­keit von semi­de­fi­ni­ten Pro­gram­men glo­ba­le Sys­tem­ei­gen­schaf­ten abge­lei­tet werden.

Optimale Steuersignale

Für ein Sys­tem der Form \(\dot{x}=Ax+Bu\) mit direkt beob­acht­ba­ren Zustän­den \(x\) kön­nen die Steu­er­si­gna­le direkt aus den Zustands­be­ob­ach­tun­gen abge­lei­tet wer­den. Es sei die qua­dra­ti­sche Kos­ten­funk­ti­on \(\int_0^{\infty}u(t)^TRu(t)+x(t)^TQx(t) dt\) zu mini­mie­ren. Sie besteht aus Kos­ten für die Auf­wen­dung des Steu­er­si­gna­les \(u(t)\) und den Kos­ten für die Abwei­chung des Zustan­des \(x(t)\) vom gewünsch­ten sta­bi­len Zustand \(x=0\).

Es gilt dann \(u=Kx\) mit \(K\) einer Matrix, wel­che Zustän­de auf Steu­er­si­gna­le abbil­det und die fol­gen­den Matrix­glei­chun­gen erfüllt [3, pp. 35–40].

\begin{align} K&=-R^{-1}B^TP \\ 0 & = A^T P + PA — PBR^{-1}B^TP+Q \\ P& \succeq 0\end{align}

Die Glei­chung für die Matrix \(P\) heisst alge­bra­ische Ric­ca­ti Glei­chung und ist qua­dra­tisch in \(P\). Die Suche nach einem das Sys­tem opti­mal steu­ern­den \(K=-R^{-1}B^TP\) kann for­mu­liert wer­den als semi­de­fi­ni­tes Opti­mie­rungs­pro­blem in der Matrixva­ria­ble \(P\) [4, p. 9].

$$ \begin{align} \min_P ~~~& -\operatorname{tr} P \\ \text{s.t.} ~~~&\begin{bmatrix} A^TP+PA+Q & PB \\ B^TP & R\end{bmatrix} \succeq 0 \\ ~~~& P \text{ sym­me­trisch} \end{align}$$

Anwendung

Es sei der gedämpf­te har­mo­ni­sche Oszil­la­tor nun teil­wei­se steu­er­bar mit Steu­er­si­gnal \(u\) gemäss der Gleichung

\begin{align} \dot{x}&=Ax + Bu \\ A&=\begin{bmatrix} 0 & 1 \\ ‑1 & ‑0.2\end{bmatrix} ~~~~~ B =\begin{bmatrix} 0 \\ 1 \end{bmatrix} \end{align}

wobei \( x=[\text{ Posi­ti­on , Geschwin­dig­keit}]\). Dann gilt unter den Neben­be­din­gun­gen \(PB=0\) und \(A^T+PA\preceq 0\) mit \(P\) sym­me­trisch gera­de \(\max (\operatorname{tr} P )=\min( \operatorname{tr} P)\) mit dem opti­ma­len \(P^*=0\) und das Sys­tem ist steu­er­bar. Gleich­zei­tig gilt \(PC^T=0\) und \(AP+PA^T\preceq 0\) mit \(P\) sym­me­trisch und \(\max (\operatorname{tr} P )=\min( \operatorname{tr} P)\) mit \(P^*=0\) und das Sys­tem ist beob­acht­bar. Die Lösung des semi­de­fi­ni­ten Programmes

$$ \begin{align} \min_P ~~~& -\operatorname{tr} P \\ \text{s.t.}
~~~&\begin{bmatrix} A^TP+PA+I & PB \\ B^TP & 1\end{bmatrix} \succeq 0 \\ ~~~& P \text{ sym­me­trisch} \end{align}$$

ist \(P^*=[1.73, 0.414; 0.414, 1.167]\) mit \(K=-B^TP=[-0.414, — 1.167]\). Mit dem Steu­er­si­gnal \(u^*=Kx\) wird das Kos­ten­funk­tio­nal \(\int_{0}^{\infty} x^2(t)+\dot{x}(t)^2 + u^2(t) dt\) minimal.

Abbil­dung 3: Das Steu­er­si­gnal \(u\) opti­mal gewählt durch SDP sta­bi­li­siert den an sich lang­sam kon­ver­gie­ren­den har­mo­ni­schen Oszil­la­tor (a), (b) rapi­de ©, (d). Dar­ge­stellt sind wie­der die zeit­li­chen Ver­läu­fe von \(x\).

Praktisches

Sind die Matri­zen \(A\) und \(B\) zeit­ab­hän­gig, dann ist auch die Feed­back­ma­trix \(K\) zeit­ab­hän­gig und \(P\) erfüllt eine Dif­fe­ren­ti­al­glei­chung. Sind die Zusam­men­hän­ge zwi­schen \(x, u, \) und \(\dot{x}\) nicht­li­ne­ar, so kann eine opti­ma­le Steue­rung unter  Umstän­den trotz­dem erreicht wer­den. Dazu ist zu unter­su­chen, ob die Aus­wir­kun­gen der Nicht­li­nea­ri­tät begrenz­bar sind durch linea­re Unglei­chun­gen. Das­sel­be wie für Nicht­li­nea­ri­tä­ten gilt auch für Zufallseffekte.

In der Pra­xis ist die Model­lie­rung eines Echt­welt­phä­no­me­nes als linea­res Sys­tem \(\dot{x}=Ax+Bu\) ebend­alls her­aus­for­dernd. Dazu sind oft höher­di­men­sio­na­le Ein­bet­tun­gen und Linea­ri­sie­run­gen not­wen­dig und die Model­lie­rung kann trotz aller Tricks scheitern.

Durch die Kom­ple­xi­tät der ech­ten Welt ist Nicht­li­nea­ri­tät ein häu­fi­ger ver­kom­pli­zie­ren­der Fak­tor, der Steu­er­bar­keits­ga­ran­tien auf­weicht und die Ein­füh­rung expe­ri­men­tel­ler Metho­den wie Rein­force­ment lear­ning erfor­dert. Linea­re Model­le und deren Ana­ly­se sind nichts­des­to­trotz nütz­li­che Werk­zeu­ge zur Unter­su­chung vor allem tech­ni­scher und von Men­schen­hand design­ter Prozesse.

Code & Quellen

Bei­spiel­code: OC_harmonic_oscillator_1.py , OC_harmonic_oscillator_2.py  in unse­rem Tuto­ri­al­fol­der.

[1] Dym, C. L. (2002). Sta­bi­li­ty Theo­ry and Its Appli­ca­ti­ons to Struc­tu­ral Mecha­nics. New York: Dover Publications.

[2] Bal­a­krish­n­an, V.,  & Van­den­berg­he, L. (2003). Semi­de­fi­ni­te pro­gramming dua­li­ty and line­ar time-inva­ri­ant sys­tems. IEEE Tran­sac­tions on Auto­ma­tic Con­trol, 48,(1),  30–41.

[3] Ander­son, B. D. O., & Moo­re, J. B. (2007). Opti­mal Con­trol: Line­ar Qua­dra­tic Methods. New York: Cou­rier Corporation.

[4]  Yao, D. D., Zhang, S., & Zhou, X. Y. (2001). Sto­cha­stic Line­ar-Qua­dra­tic Con­trol via Semi­de­fi­ni­te pro­gramming. SIAM Jour­nal on Con­trol and Optimi­zation, 40, (3), 801–823.