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