Praktikum Optimale Steuerung

Werbung
Prof. Dr. M. Gerdts
Dr. S.-J. Kimmerle
Dipl.-Math. J. Michael
Dr. J. Pannek
Institut für Mathematik und Rechneranwendung
Fakultät für Luft- und Raumfahrttechnik
Praktikum Optimale Steuerung
(Projekt 3)
Aufgabe: Optimale Steuerung einer Laufkatze
(x,z)
u
psi
l
z
m2*g
x
Vorgehensweise:
• Bauen Sie eine Laufkatze, die auf einer Schiene fahren kann und durch einen Motor
angetrieben wird.
• Modellieren Sie die Laufkatze mit Hilfe der Newton’schen Bewegungsgleichungen.
• Berechnen Sie mit Hilfe von OCPID-DAE1 eine zeitminimale Bahn und eine für die angehängte Last schwankungsminimale Bahn für die Fahrt der Laufkatze aus einer Ruhelage
in eine Ruhelage.
• Fahren Sie die mit OCPID-DAE1 berechnete Bahn unter Verwendung von Regelungsalgorithmen, z.B. einem Riccati-Regler, mit der Laufkatze nach.
Zielfunktion:
x5 (1) + p → min
Differentialgleichungen:
x01 (t) = p · x3 (t)
x02 (t) = p · x4 (t)
m2 `3 sin(x2 )x24 − m2 `2 u(t) + m2 IY 2 `x24 sin(x2 ) − IY 2 u(t) + m22 `2 g cos(x2 ) sin(x2 )
x03 (t) = p 2
−m1 m2 `2 − m1 IY 2 − m22 `2 − m2 IY 2 + m22 `2 cos(x2 )2
m2 ` (m2 ` cos(x2 )x24 sin(x2 ) − cos(x2 )u(t) + g sin(x2 )(m1 + m2 ))
x04 (t) = p
−m1 m2 `2 − m1 IY 2 − m22 `2 − m2 IY 2 + m22 `2 cos(x2 )2
p
x05 (t) =
u(t)2 + 1000x4 (t)2
2
Parameter:
g = 9.81, m1 = 0.3, m2 = 0.5, ` = 0.75, r = 0.1, Iy2 = 0.4m2 r2
Anfangswerte:
x1 (0) = x2 (0) = x3 (0) = x4 (0) = x5 (0) = 0
Endbedingungen:
x1 (1) = 1, x2 (1) = x3 (1) = x4 (1) = 0
Bedeutung:
Größe
x1
x2
x3
x4
x5
u
p
m1
m2
`
Iy2
Bedeutung
x-Koordinate des Wagens
Winkel ψ
Geschwindigkeit des Wagens
Winkelgeschwindigkeit der Last
Zielfunktion
Kraft zur Beschleunigung des Wagens
Endzeit
Masse Wagen
Masse Last
Länge des Seils
Trägheitsmoment für Last (als Kugel mit Radius r angenommen)
Herleitung der Bewegungsgleichungen:
Für die Laufkatze verwenden wir die verallgemeinerten Koordinaten q1 (x-Position des Wagens) und q2 (Drehwinkel ψ des körpereigenen Koordinatensystems der Last gegen das Inertialsystem).
Die Ortsvektoren r1 des Wagenschwerpunkts und r2 der Last lauten dann im Inertialsystem


q1


r1 (q1 ) =  0  ,
0
 



0
q1 − ` sin(q2 )
cos(q2 ) 0 sin(q2 )

 


r2 (q1 , q2 ) = r1 (q1 ) + 
0
0
1
0
.
 0  = 
−`
−` cos(q2 )
− sin(q2 ) 0 cos(q2 )
{z
}
|
=:AI2 (q2 )
Die Geschwindigkeiten (im Inertialsystem) lauten dann


q̇1


ṙ1 (q1 , q̇1 ) =  0  ,
0


q̇1 − ` cos(q2 )q̇2


ṙ2 (q1 , q2 , q̇1 , q̇2 ) = 
0
.
` sin(q2 )q̇2
Die Drehwinkelgeschwindigkeit ω = (ωx , ωy , ωz )> der Last gegen das Inertialsystem (dargestellt
im Körpersystem) ergibt sich aus der Matrix


0 −ωz ωy


ω̃ =  ωz
0 −ωx  := A>
I2 ȦI2
−ωy ωx
0



− sin(q2 )q̇2 0 cos(q2 )q̇2
cos(q2 ) 0 − sin(q2 )



= 
0
0
0
0
1
0


− cos(q2 )q̇2 0 − sin(q2 )q̇2
sin(q2 ) 0 cos(q2 )


0 0 q̇2


=  0 0 0 ,
−q̇2 0 0
also ω = (0, q̇2 , 0)> .
Damit lautet die kinetische Energie
1
T (q, q̇) =
m1 q̇12 + m2 (q̇1 − ` cos(q2 )q̇2 )2 + m2 (` sin(q2 )q̇2 )2 + IY 2 q̇22 .
2
Auf den Wagen wirkt die äußere Kraft F1 = (u1 , 0, 0)> und auf die Last die Erdanziehung
F2 = (0, 0, −m2 g)> , beide dargestellt im Inertialsystem.
Da wir die Winkelgeschwindigkeit im körpereigenen System der Last dargestellt haben, muss
F2 noch gemäß

> 

!
>
1 −` cos(q2 )
0
0
∂r2 (q1 , q2 )

 

Q2 :=
F2 =  0
0
  0 =
∂q
−m2 g` sin(q2 )
0 ` sin(q2 )
−m2 g
umgerechnet werden (dies ist gerade das Drehmoment, welches durch die Erdanziehung im
Aufhängungspunkt der Last am Wagen erzeugt wird). Insgesamt wirkt die verallgemeinerte
Kraft
!
u1
Q=
−m2 g` sin(q2 )
und die Bewegungsgleichungen lauten
∂T
d ∂T
(q, q̇) −
(q, q̇) = Qj ,
dt ∂ q̇j
∂qj
0.1
j = 1, 2.
Modellierung als DAE
DAE Modell:
m1 x00 (t) = u(t) − 2λ(t)(x(t) − xL (t)),
m2 x00L (t) = 2λ(t)(x(t) − xL (t)),
m2 yL00 (t) = −m2 g − 2λ(t)yL (t),
0 = (x(t) − xL (t))2 + yL (t)2 − `2 .
x: x-Position des Wagens, xL : x-Position der Last, yL : y-Position der Last.
Algebraische Variable:
λ=
2(x−xL )u
m1
+ (x0 − x0L )2 + (yL0 )2 − yL g
(x−xL )2
`2
2
+ m2
m1
Herunterladen