MINIPROJEKT–OPTIMAL CONTROL - Karsten Pinno
MINIPROJEKT–OPTIMAL CONTROL - Karsten Pinno MINIPROJEKT–OPTIMAL CONTROL - Karsten Pinno
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
- Seite 2 und 3: Inhaltsverzeichnis Inhaltsverzeichn
- Seite 4 und 5: A∗xJ (m) m−1 x (x) = − 2 Regl
- Seite 6 und 7: 2 Reglerdesign an speziellem Beispi
- Seite 8: Literatur 8 Parameterstudie q Abbil
<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.