MINIPROJEKT–OPTIMAL CONTROL - Karsten Pinno

MINIPROJEKT–OPTIMAL CONTROL - Karsten Pinno MINIPROJEKT–OPTIMAL CONTROL - Karsten Pinno

karstenpinno.de
von karstenpinno.de Mehr von diesem Publisher
01.12.2012 Aufrufe

MINIPROJEKT–OPTIMAL CONTROL LÖSUNG VON OC-PROBLEMEN DURCH REIHENENTWICKLUNG Lehrstuhl für Systemtheorie und Regelungstechnik Institut für Elektro- und Informationstechnik Otto-von-Guericke-Universität Magdeburg RENÉ KELLING STK105-S KARSTEN PINNO STK105-S ALEXANDER ZINSER STK205-S 28. Januar 2009

<strong>MINIPROJEKT–OPTIMAL</strong> <strong>CONTROL</strong><br />

LÖSUNG VON OC-PROBLEMEN DURCH<br />

REIHENENTWICKLUNG<br />

Lehrstuhl für Systemtheorie und Regelungstechnik<br />

Institut für Elektro- und Informationstechnik<br />

Otto-von-Guericke-Universität<br />

Magdeburg<br />

RENÉ KELLING STK105-S<br />

KARSTEN PINNO STK105-S<br />

ALEXANDER ZINSER STK205-S<br />

28. Januar 2009


Inhaltsverzeichnis<br />

Inhaltsverzeichnis 2<br />

1 Optimal Control-Problem und Anwendung der Methode 3<br />

2 Reglerdesign an speziellem Beispiel 4<br />

2.1 Approximation der Zielfunktion und des Feedbacks . . . . . . . . . . . . . . . . . . . . . . . 4<br />

2.2 Vergleich von linearem und nichtlinearem Feedback für spezielle q und a . . . . . . . . . . . 6<br />

2.3 Simulationen für verschiedene Anfangsbedingungen und Variation von q . . . . . . . . . . . . 7


1 Optimal Control-Problem und Anwendung der Methode 3<br />

1 Optimal Control-Problem und Anwendung der Methode<br />

Die folgende Methode wird angewendet, um eine Näherungslösung des optimalen Inputs eines OC-Problems<br />

zu erhalten. Somit wird umgangen, dass die Hamilton-Jacobi-Bellmann-Gleichung analytisch gelöst werden<br />

muss, was in den wenigsten Fällen möglich ist. (partielle Differentialgleichung) Im Folgenden wird das Problem<br />

beschrieben:<br />

Betrachtet wird ein OC-Problem mit der folgenden nichlinearen Dynamik:<br />

˙x = Ax+Bu+f(x,u) = F(x,u) (1)<br />

Das Performanceintegral (2) stellt die Kostenfunktion dar. Es soll ein Feedback u∗(x) gefunden werden, welches<br />

dieses Integral minimiert. Bei Anfangsbedingungen x0 nahe des Ursprungs wird das System stabilisiert.<br />

J(x0,u) =<br />

�∞<br />

0<br />

� x T Qx+2x T Nu+u T Ru+g(x,u) � dt (2)<br />

Dabei sind f(x,u) und g(x,u) Potenzreihen zweiter bzw. dritter Ordnung und A,B,Q,N,R reale Matrizen mit<br />

folgenden Eigenschaften:<br />

� Q N<br />

N T R<br />

Q ≥ 0 (3)<br />

R ≥ 0 (4)<br />

�<br />

≥ 0 (5)<br />

In [Luk69] wird gezeigt, dass das Integral unter Verwendung eines stabilisierenden Feedbacks nahe des Ursprungs<br />

konvergiert. Das Haupttheorem 1.1 postuliert die Existenz eines optimalen, stabilisierenden Feedbacks,<br />

welches Gleichung (6) löst.<br />

Fu(x0,u∗(x0))Jx(x0,u∗)+Gu(x0,u∗(x0)) = 0 (6)<br />

Zunächst wird das „truncated System“(TS) mit den Eigenschaften f(x,u) = 0 und g(x,u) = 0 gelöst. Das<br />

bedeutet, dass die Terme höherer Ordnung zunächst vernachlässigt werden. Mittels Gleichung (7) lässt sich<br />

P∗ berechnen, sodass das stabilisierende Feedback des TS D∗ nach Gleichung (8) berechnet werden kann.<br />

0 =<br />

�<br />

Q − NR −1 � �<br />

N + P∗ A − BR −1 N ∗�<br />

�<br />

+ A − BR −1 N ∗� ∗ �<br />

P∗ − P∗ BR −1 B ∗�<br />

P∗<br />

D∗ = −R −1 (N ∗ + B ∗ P∗) (8)<br />

u∗ = D∗x (9)<br />

J(x) = x T P∗x (10)<br />

Ausgehend vom TS kann nun das Feedback durch nichtlineare Terme erweitert werden. Für analytische<br />

J(x,u∗(x)) und F(x,u∗(x)) nahe des Ursprungs können u∗(x), J∗(x) und F∗(x) als Potenzreihe entwickelt<br />

werden. Nun können die Terme höherer Ordnung für J (k) (x) und u∗ (k) (x) mit Hilfe der Gleichungen (13) und<br />

(14) bestimmt werden.<br />

u∗(x) = u (1)<br />

∗ (x)+u (2)<br />

∗ (x)+... (11)<br />

J∗(x) = J (2) (x)+J (3) (x)+... (12)<br />

(7)


A∗xJ (m)<br />

m−1<br />

x (x) = −<br />

2 Reglerdesign an speziellem Beispiel 4<br />

∑<br />

k=3<br />

m−1<br />

−<br />

∑<br />

k=2<br />

u∗ (k) (x) = − 1<br />

2 R−1<br />

�<br />

[m−1/2]<br />

− ∑<br />

k=2<br />

Bu∗ (m−k+1) (x) · J (k)<br />

x (x)<br />

f (m−k+1) (x,u∗) · J (k)<br />

x (x)<br />

u∗ (k) (x) · Ru∗ (m−k) (x) − u∗ (m/2) (x) · Ru∗ (m/2) (x)<br />

−g (m) (x,u∗) (13)<br />

B ∗ J (k+1)<br />

x (x)+<br />

k−1<br />

∑<br />

j=1<br />

(fu) ∗( j) J<br />

(k− j+1)<br />

x<br />

(x)+gu (k) (x,u∗)<br />

Die Stabilität des geschlossenen Kreises Laut Theorem 1.1 existiert für das gegebene Problem ein<br />

eindeutiges und stabilisierendes Feedback. Dies zeigt sich auch am Zeitverlauf des geschlossenen Kreises<br />

(Abbildung 2). Bei steigender Ordnung der Potenzreihe und des dazu entwickelten Inputs vergrößert sich der<br />

stabile Bereich um den Ursprung.<br />

Einschränkungen und Nachteil der Methode Das System muss stabilisierbar sein. Dazu muss eine Matrix<br />

D existieren, sodass gilt: A+BD ist stabil. Eine Matrix heißt stabil, wenn der Realteil aller Eigenwerte<br />

echt negativ ist. Außerdem müssen die Nichtlinearitäten der Dynamik und des Performanceintegrals in der<br />

Nähe des Ursprungs analytisch und differenzierbar sein. Wenn nicht der Ursprung, sondern eine andere Ruhelage<br />

stabilisiert werden soll, kann dieses Problem durch eine Koordinatentransformation umgestaltet werden,<br />

sodass der Ursprung als neue Ruhelage mit einem solchen Feedback optimal geregelt wird.<br />

Probleme bei der Erweiterung zu einem MIMO-System<br />

• Aufwendiges Gleichungssystem zur Berechnung von J (k) mittels Ansatz (13)<br />

• Berechnung von P∗ für das TS ist nichtlineares Gleichungssystem (7)<br />

• Aufwendige Reihenentwicklung für Funktionen mehrerer Veränderlicher<br />

2 Reglerdesign an speziellem Beispiel<br />

2.1 Approximation der Zielfunktion und des Feedbacks<br />

OC-Problem (Zielfunktion und Dynamik)<br />

J(x(.),u(.)) =<br />

Reihenentwicklung der Nichtlineartität der Zielfunktion<br />

Daraus ergibt sich:<br />

cosh(x) =<br />

�∞<br />

0<br />

�<br />

(14)<br />

�<br />

q cosh(x(t)) − q+ 1<br />

2 u2 �<br />

(t) dt (15)<br />

˙x = ax+u (16)<br />

∞<br />

∑<br />

n=0<br />

x 2n<br />

(2n)!<br />

≈ 1+ x2<br />

2<br />

x4 x6<br />

+ + +... (17)<br />

24 720


Löse „truncated System“<br />

J(x(.),u(.)) =<br />

Unter der Bedingung, dass q ≥ 0:<br />

2 Reglerdesign an speziellem Beispiel 5<br />

=<br />

�∞<br />

0<br />

�∞<br />

0<br />

�<br />

⎛<br />

q<br />

∞<br />

∑<br />

n=0<br />

x 2n<br />

(2n)!<br />

1<br />

− q+<br />

2 u2 �<br />

(t) dt (18)<br />

⎜<br />

⎜q<br />

⎜<br />

⎝2<br />

x2 + 1<br />

2 u2 + q x4<br />

⎟<br />

x6 x8 ⎟<br />

+ q + q ⎟dt<br />

(19)<br />

24 720 40320⎠<br />

� �� �<br />

g(x, ✁ u)<br />

Q = q<br />

2<br />

(20)<br />

N = 0 (21)<br />

R = 1<br />

2<br />

(22)<br />

A = a (23)<br />

B = 1 (24)<br />

⎞<br />

(25)<br />

Q = q<br />

≥ 0 (26)<br />

2<br />

R = 1<br />

≥ 0 (27)<br />

�<br />

2<br />

Q N<br />

NT � �<br />

=<br />

≥ 0 (28)<br />

R<br />

� q<br />

2 0<br />

0 1<br />

2<br />

Somit sind alle Forderungen an die Matrizen (hier: Skalare) erfüllt. Aus N = 0 vereinfacht sich Gleichung<br />

(7) stark:<br />

Q+P∗A+A ∗ P∗ − P∗<br />

q<br />

�<br />

BR −1 B ∗�<br />

P∗ = 0 (29)<br />

2 + 2aP∗ − 2P 2 ∗ = 0 (30)<br />

P∗ = a<br />

2 ±<br />

�<br />

a2 4<br />

Theorem 1.2 ( [Luk69]) fordert, dass P∗ positiv definit sei. Aus diesem Grund entfällt die zweite Lösung<br />

unter der Bedingung, dass g > 0 angenommen wird.<br />

Somit lässt sich D∗ bestimmen:<br />

�<br />

= −2P∗ = −a − � a2 + q (32)<br />

D∗ = −R −1� ✚ ✚N ∗ + B ∗ P∗<br />

Als Eingang für das vereinfachte System ergibt sich:<br />

�<br />

u∗ = D∗x = −a − � a2 �<br />

+ q x = u (1)<br />

∗ (x) (33)<br />

+ q<br />

4<br />

Die Zielfunktion kann nun mit Hilfe der Lösung von (31) ermittelt werden:<br />

J(.) = x T �� �<br />

a2 q<br />

P∗x = +<br />

4 4<br />

(31)<br />

x 2 = J (2)<br />

∗ (x) (34)


2 Reglerdesign an speziellem Beispiel 6<br />

Bestimmung der Terme höherer Ordnung (vgl. [Luk69] S.94)<br />

Durch Lösen der Gleichungen (13) und (14) lassen sich J∗ und u∗ sukzessive neu bestimmen.<br />

J (3) (x) = 0 (35)<br />

u (2)<br />

∗ (x) = 0<br />

J<br />

(36)<br />

(4) q<br />

(x) =<br />

96 � a2 + q x4<br />

(37)<br />

u (3)<br />

q<br />

∗ (x) = −<br />

24 � a2 + q x3<br />

(38)<br />

J (5) (x) = 0 (39)<br />

u (4)<br />

∗ (x) = 0 (40)<br />

J (6) 1<br />

(x) =<br />

6 � a2 �<br />

q 1 q<br />

−<br />

+ q 720 288<br />

2<br />

a2 �<br />

x<br />

+ q<br />

6<br />

(41)<br />

u (5)<br />

�<br />

1 q 1 q<br />

∗ (x) = −�<br />

−<br />

a2 + q 720 288<br />

2<br />

a2 �<br />

x<br />

+ q<br />

5<br />

(42)<br />

Somit ergibt sich als Feedback für eine Entwicklung bis zur 5. Ordnung:<br />

�<br />

u∗(x) = −a − � a2 �<br />

+ q x −<br />

q<br />

24 � a 2 + q x3 −<br />

�<br />

1 q 1<br />

� −<br />

a2 + q 720 288<br />

q 2<br />

a 2 + q<br />

2.2 Vergleich von linearem und nichtlinearem Feedback für spezielle q und a<br />

ax + u(x)<br />

1000<br />

800<br />

600<br />

400<br />

200<br />

0<br />

−200<br />

−400<br />

−600<br />

−800<br />

right hand side vs. x<br />

rhs(x)<br />

steady states<br />

−1000<br />

−25 −20 −15 −10 −5 0<br />

state x<br />

5 10 15 20 25<br />

Abbildung 1: Rechte Seite(43) als Funktion des Zustands x<br />

�<br />

x 5<br />

(43)


x<br />

15<br />

10<br />

5<br />

2 Reglerdesign an speziellem Beispiel 7<br />

open loop<br />

lin. feedback<br />

high order feedback<br />

0<br />

0 0.1 0.2 0.3 0.4 0.5<br />

time t<br />

Abbildung 2: Vergleich open loop und closed loop<br />

Man erkennt leicht, dass das ungeregelte System instabil ist. Durch die lineare Regelung wird es stabilisiert.<br />

2.3 Simulationen für verschiedene Anfangsbedingungen und Variation von q<br />

Anfangsbedingungen Die folgende Abbildung stellt den Einfluss der Anfangsbedingung x0 auf die Lösung<br />

des geregelten Systems dar.<br />

x<br />

10<br />

8<br />

6<br />

4<br />

2<br />

0<br />

−2<br />

−4<br />

−6<br />

−8<br />

Closed Loop mit verschiedenen Anfangsbedingungen<br />

−10<br />

−5<br />

−1<br />

−0.5<br />

0<br />

0.5<br />

1<br />

5<br />

10<br />

−10<br />

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35<br />

time t<br />

Abbildung 3: Einfluss der Anfangsbedingung x0


Literatur 8<br />

Parameterstudie q Abbildung 4 zeigt, dass bei höheren Werten von q das System den Ursprung schneller<br />

erreicht.<br />

Literatur<br />

x<br />

10<br />

8<br />

6<br />

4<br />

2<br />

0<br />

Parameterstudie für q<br />

q=20<br />

q=200<br />

q=2000<br />

−2<br />

0 0.1 0.2 0.3 0.4 0.5<br />

time t<br />

Abbildung 4: Einfluss des Parameters q auf die Dynamik des Systems<br />

[Luk69] D.L. Lukes. Optimal regulation of nonlinear dynamical systems. In SIAM J. Contr., volume 7(1),<br />

pages 75–100. 1969.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!