Objektorientierte Modellierung mechatronischer Systeme Prof. Dr.-Ing. Martin Otter (DLR) 12. Vorlesung Veranstaltet vom Lehrstuhl für Elektr. Antriebssysteme und Leistungselektronik (Prof. Kennel), TU München Dozent: Prof. M. Otter: Tel. 08153/28-2473, [email protected], Web-Seite: http://www.eal.ei.tum.de/index.php?id=omms M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 12. Vorlesung 1 Inhalt der 12. Vorlesung 1. Reibmodellierung mit steiler Kennlinie 2. Probleme mit Reibelementen 3. Test zu gekoppelten Reibelementen 4. Zahnflankenreibung bei Getrieben Heute ist kein Rechnerpraktikum. Stattdessen: Vorbereitung auf Prüfung 18:15 – 19:00 M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 12. Vorlesung 2 1. Reibmodellierung mit “steiler” Kennlinie Alternative Formulierung, um (vielleicht) Probleme mit dem Haften zu vermeiden: Coulomb Reibung (im Gleiten): = ∙ + ∙ sign Coulomb-Reibung R Steile Kennlinie: = ∙ + 2∙ 1+ ∙ − Mit Parameter “a” wird die Steilheit der Kennlinie festgelegt (z.B. a = 100) „steile“ Kennlinie vrel Vorteile: Kennlinie ist stetig und differenzierbar (wichtig für inverse Systeme) Kann z.B. zur Reibkompensation verwendet werden (d.h. die Reibung wird berechnet und bei der Sollvorgabe des Motormoments berücksichtigt). M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 12. Vorlesung 3 Nachteile: Qualitativ falsches Einschwingverhalten bei kleinen Geschwindigkeiten (Modell ist ungeeignet zum Auslegen eines Positionier-Reglers). Beispiel: mit Haftphase mit steiler Kennlinie M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 12. Vorlesung 4 2. Probleme mit Reibelementen Im Gegensatz zu anderen Elementen, können Reibelemente nicht “beliebig” zusammengeschaltet werden. Beispiel: v2 v1 m1 m2 f R1 u R2 N1=const feste Verbindung von zwei reibungsbehafteten Massen N2 =const Gleichungen im Gleiten m1v1 f R1 m2 v2 u f R2 R1 f (v1 ) R2 f (v2 ) v1 v2 singuläres System, da v1 und v2 nicht beides Zustände sein können Hinweis: Zur Vereinfachung der Herleitung werden die Positionsgleichungen (v=ds/dt) nicht berücksichtigt! M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 12. Vorlesung m1v1 f R1 5 m2 v2 u f R2 R1 f (v1 ) R2 f (v2 ) v1 v2 Standardvorgehen: Differenzieren der Zwangsgleichung führt auf die zusätzliche Gleichung v1 v2 und v1 wird als Zustand ausgewählt. Damit können die Gleichungen problemlos gelöst werden: gegeben: v1 (Zustand) v2 : v1 R1 : f (v1 ) R2 : f (v2 ) m1 0 1 1 v1 R1 1 v2 u R2 1 0 f 0 0 m2 M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 12. Vorlesung 6 v2 m1 v1 m2 f R1 u R2 N1=const N2 =const Gleichungen im Haften m1v1 f R1 v1 0 m2 v2 u f R2 v2 0 v1 v2 singuläres System, da v1 und v2 nicht beides Zustände sein können M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 12. Vorlesung m1v1 f R1 v1 0 7 m2 v2 u f R2 v2 0 v1 v2 Standardvorgehen: Differenzieren der Zwangsgleichung führt auf die zusätzliche Gleichung v1 v2 und v1 wird als Zustand ausgewählt. Dann ergeben sich die Gleichungen: gegeben: v1 (Zustand) v2 : v1 v1 : 0 v2 : 0 1 0 1 R1 m1v1 0 1 1 R u m v 2 2 2 0 0 0 f v1 v2 Matrix ist singulär. Aber konsistentes Gleichungssystem, d.h. es gibt unendlich viele Lösungen M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 12. Vorlesung 8 v2 v1 m1 R1 N1=const f u m2 R2 N2 =const Anschaulich bedeutet dies, dass das System statisch unbestimmt ist (ähnlich wie man bei einem Tisch mit 4 Beinen die Kräfte in den Beinen nicht eindeutig berechnen kann, wenn die Verformungen vernachlässigt werden). Hier kann zwar die Summe der Reibkräfte, R1 + R2, berechnet werden, nicht aber wie sich die Reibkräfte auf die beiden Massen aufteilen. Behandlung in Dymola: Aus der unendlich grossen Anzahl von Lösungen wird diejenige verwendet, die möglichst Nahe bei den “vorherigen” Werten der Variablen liegen. Hinweis: Die Zahl der Zustandsgrößen ändert sich nicht wenn zwischen Haften und Gleiten geschaltet wird (da das Reibelement keine Zwangsbedingung einführt, sondern = 0) M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 12. Vorlesung 9 Andere Lösungsmöglichkeiten: • Keine “starre” Verbindung, sondern “elastische” Verbindung (= steife Feder) • Reibelemente zu einem Reibelement zusammenfassen. Geht nicht immer einfach. Z.B. wenn Lagerreibung und Reibbremse an derselben Welle befestigt werden. • Kein schaltendes, “ideales” Reibmodell verwenden, sondern entweder genaueres Reibmodell oder Reibmodell mit “steiler” Kennlinie. M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 12. Vorlesung 10 3. Test zu gekoppelten Reibelementen Analysieren Sie die folgenden Systeme: Hat das System in einer Schaltstellung “unendlich” viele Lösungen? Wenn ja, in welcher Schaltstellung? vrel R Reibelement: Gleiten: R f (vrel ) Haften: vrel 0 M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 12. Vorlesung 11 Hat das System in einer Schaltstellung “unendlich” viele Lösungen? Wenn ja, in welcher Schaltstellung (Haften oder Gleiten)? M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 12. Vorlesung 12 4. Zahnflankenreibung bei Getrieben Einfaches Modell vom Zahneingriff bei einem Getriebe: • Nur jeweils ein Zahn im Eingriff. • Zähne gleiten ohne Verformung aufeinander ab. • Beim Kontaktpunkt des Zahneingriffs wirkt Coulomb-Reibung. Basierend auf dieser Modell-Vorstellung kann ein oft ausreichend genaues Modell abgeleitet werden (siehe Folgefolien). Realitätsnäheres Modell: • Mehrere Zähne gleichzeitig im Eingriff (kann sich während eines Umlaufs ändern; z.B. 2-3 Zähne). • Kontaktfläche. Flächenpressung ergibt sich auf Grund der Hertz’schen Theorie. • Elastizität + Dämpfung in der Kontaktfläche. M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 12. Vorlesung 13 Eingriff zweier Zähne eines Getriebes: Im Berührpunkt gleiten die beiden Zähne aufeinander ab, d.h. es gibt eine Relativgeschwindigkeit in Tangentialrichtung. Es wirkt Coulomb-Reibung. v = -1 v = +1 Die Normalkraft ist nicht konstant, sondern hängt vom Antriebsmoment ab. Damit hängt das Reibmoment auch vom Antriebsmoment ab. Formale Ableitung: 1 N l1 R d1 2 N l2 R d 2 R v N 1 (l1 v d1 ) N 2 (l2 v d 2 ) N R,N wirken auf Rad 1 und mit umgekehrter Richtung auf Rad 2 M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 12. Vorlesung 14 d2 ) l2 2 1 d1 l1 (1 v ) l1 l2 (1 v cos l1 l2 l r 2 2 i r1 r2 l1 r1 d2 l2 2 i 1 1 i 1 d1 1 v l1 1 v v = -1 Für andere Drehrichtungen ähnliche Ableitung. Führt auf: ∙ ∙ v = +1 = 1 ∙ ∙ für undefiniert > 0 = 0 >0 < 0 = 0 <0 =0 d2 d 1 v 2 r l2 l2 , 2 , 0 1 , 2 1 i 2 , 1 d1 d1 r1 1 v 1 v l l1 1 M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 12. Vorlesung 15 1 v 2 i 1 > 0 >0 < 0 = 0 <0 =0 = 0 mit = 1 undefiniert für ist der Wirkungsgrad bzw. der Zahnflankenreibfaktor (meist: Wenn Rad 1 antreibt (d.h. positiver Energiefluß 11>0), ist das Abtriebsmoment kleiner als das Antriebsmoment. Wenn Rad 1 getrieben wird (d.h. negativer Energiefluß 11<0), ist das Abtriebsmoment größer als das Antriebsmoment. Bei der Herleitung wurde angenommen, dass die Zähne aufeinander gleiten. Bei verschwindender Drehzahl, kann aber auch Haften auftreten, d.h. das Getriebe ist “verklemmt”. Dann ist “R” unbekannt und wird implizit aus der Bedingung = 0 berechnet (der Wirkungsgrad ergibt sich dann, siehe Folgefolien). M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 12. Vorlesung 16 Messung vom Wirkungsgrad Von Getriebeherstellern werden üblicherweise Meßkurven vom Wirkungsgrad der folgenden Form zur Verfügung gestellt. Zum Aufnehmen der Kurven werden die Getriebe bei den angegebenen Drehzahlen betrieben, ein definiertes Lastmoment 2 aufgebracht, das benötigte Antriebsmoment 1 gemessen und daraus der Wirkungsgrad berechnet. Problem: Dieses Modell ist für Simulationen ungeeignet! Zum Beispiel, kann das Antriebsmoment bei kleinen Abtriebsmomenten nicht ermittelt werden. Dies ist prinzipiell nicht möglich, da dann Was ist hier falsch? M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 12. Vorlesung 17 Ein Getriebe ist gelagert! Damit wirken • die multiplikative Zahnflankenreibung + • die additive Lagerreibung D.h. die Getriebehersteller rechnen den (nicht vom Antriebsmoment abhängigen) Lagerreibungsanteil in den Wirkungsgrad mit ein. Getriebehersteller: 2 ˆ i 1 1 besser: 2 RLager2 i ( 1 RLager1 ) 2 ˆ i 1 ˆ 1 2 RLager2 2 RLager2 i RLager1 RLager1 i i 1 RLager2 ( ) i RLager1 ( ) 2 f ( 2 ), für feste Drehzahl M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 12. Vorlesung 18 unter der Annahme, daß RLager1, RLager2, und für eine feste Drehzahl konstant sind, ergibt sich damit ein „hyperbelförmiger“ Verlauf des Wirkungsgrads ̂ ˆ 1 1 RLager2 ( ) i RLager1 ( ) 2 ˆ 2 0 ˆ 0 2 wie er in den Wirkungsgrad-Diagrammen zu sehen ist. D.h. diese Diagramme haben nur deswegen dieses Aussehen, weil der additive Lagerreibungsanteil in den multiplikativen Anteil eingerechnet wird! Der Wirkungsgrad kann trotzdem abgelesen werden, da 2 ˆ Z.B. kann aus dem vorherigen Diagram abgelesen werden: 0.92 Dagegen kann die Lagerreibung nicht befriedigend aus einem solchen Diagramm ermittelt werden (z.B. Reibkraft bei =0) und muß in einer separaten Messung neu bestimmt werden. M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 12. Vorlesung 19 Simulation vom Wirkungsgrad Annahme: Wirkungsgrad sei konstant (zur Vereinfachung der Ableitung) kritisch: bei Drehzahl = 0, ist unbestimmt, wie der Wirkungsgrad berechnet wird. = 1 für undefiniert > 0 = 0 >0 < 0 = 0 <0 =0 1/2 1 1 1 1 Der Wirkungsgrad ist hier eine Zwangsgröße die so bestimmt wird, dass 1 = 0 ist (Zähne haften aufeinander; bzw. Getriebe ist verklemmt 1=0 ist unkritisch, da dann 2=0, unabhängig von ). M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 12. Vorlesung 20 =0 Anschauliche Erläuterung: Ein Getriebe im Stillstand mit Übersetzung = 2 und 1 = 2 = 0.9 habe ein Eingangsmoment von 1 = 10 Nm. Annahme 1: 1 ist antreibend (d.h. i1 > 2) Annahme 2: 2 ist antreibend (d.h. i1 < 2) z.B. 2 = 20 Nm: 2 1 i 1 0.9 2 10 18 2 i 2 da 2 > 1i1, kann 1 nicht antreibend sein 1 2 10 0 .9 22.22 da 2 < i1/1, kann 2 nicht antreibend sein Das Getriebe “klemmt” im Bereich 18 < 2 < 22.22 Nm (wenn das nicht modelliert wird, bleibt "Simulation stecken"). M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 12. Vorlesung 2 i 1 i (1 Verlust ) 21 1 1 Verlust Verlust (1 ) 1 Definitionsgleichung für das Verlustmoment (Mit dem Verlustmoment, kann die Gleichung auf die Form eines “normalen” Reibelements gebracht werden). Zusammenfassung der Getriebegleichungen: im Gleiten: Verlust (1 ) 1 im Haften: 0 2 i (1 Verlust ) (und (Haftphase-Beginn) = 0) M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 12. Vorlesung 22 Berechnung vom Verlustmoment hängt vom Leistungsfluß ab: 1 = sodass 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 0 1 1 0 1 1 0 1 1 0 Verlust für =0 Verlust Verlust Verlust Verlust > 0 = 0 >0 < 0 = 0 <0 =0 (1 1 ) 1 0 (1 1 / 2 ) 1 0 (1 1 / 2 ) 1 0 (1 1 ) 1 0 Vorwärtsgleiten Rückwärtsgleiten max 1 (if 1 0 then 1 1 else 1 1 / 2 ) 0 1 min 1 (if 1 0 then 1 1 / 2 else 1 1 ) 0 M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 12. Vorlesung Verlust 23 max 1 min Entspricht einer Reibkupplung. Einziger Unterschied: maximale und minimale Reibmomente im Haften hängen bei der Reibkupplung von der vorgegebenen Anpreßkraft ab, hier jedoch vom Wirkungsgrad und vom Antriebsmoment. Damit kann einfach das Modell einer Reibkupplung verwendet werden, wobei die maximalen und minimalen Reibmomente im Haften entsprechend angepasst werden. → Modelica.Mechanics.Rotational.LossyGear M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 12. Vorlesung 24 Objektorientierte Modellierung mechatronischer Systeme Prof. Dr.-Ing. Martin Otter (DLR) 13. Vorlesung Veranstaltet vom Lehrstuhl für Elektr. Antriebssysteme und Leistungselektronik (Prof. Kennel), TU München Dozent: Prof. M. Otter: Tel. 08153/28-2473, [email protected], Web-Seite: http://www.eal.ei.tum.de/index.php?id=omms M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 13. Vorlesung 1 Hinweise Die Prüfung zur Vorlesung ist schriftlich und findet statt als Teil der Prüfung zu „Simulation von mechatronischen Systemen“ Do. 6. Feb. 2014, 17:00-17:45 Uhr im HS1200 Hilfsmittel sind nicht zugelassen außer Deutsch-Wörterbuch für ausländische Studenten Kommen Sie 15 Minuten früher Die Prüfung vom WS 2004/2005 mit Musterlösung gibt es auf derVorlesungs-Homepage. Die Prüfung im WS2013/2014 wird einen ähnlichen Aufbau haben. Heute ist kein Rechnerpraktikum. Stattdessen: Vorbereitung auf Prüfung 18:15 – 19:00 M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 13. Vorlesung 2 Inhalt der 13. Vorlesung 1. Integrationsverfahren - Übersicht 2. Verfahrensordnung 3. Stabilitätsgebiet 4. Integrationsverfahren bei Dymola 5. Zusammenfassung Keine Rechnerpraktikum, stattdessen Vorbereitung auf die Prüfung (Besprechung vom Fragenkatalog der Prüfung) M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 13. Vorlesung 3 1. Integrationsverfahren - Übersicht Nach BLT-Transformation / Tearing / Pantelides Algorithmus liegt ein Modelica Modell in Zustandsform vor. Es wird skizziert wie diese Zustandsform numerisch als Anfangswertproblem gelöst wird und was dabei zu beachten ist. Ausgangspunkt der numerischen Lösung: x (t ) f (x(t ), t ), x(t0 ) x 0 Um Integrationsverfahren zur Lösung dieser Gleichung zu beurteilen und zu vergleichen, werden vor allem die beiden folgenden Eigenschaften herangezogen: • Verfahrensordnung • Stabilitätsgebiet Zur Vereinfachung werden nur Verfahren mit fester Schrittweite genauer betrachtet. Bei Verfahren mit variabler Schrittweite wird die Integrationsschrittweite über eine Schätzung des lokalen Fehler gesteuert. M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 13. Vorlesung 4 Einfachste Methode: Explizites Euler-Verfahren Hier wird dx/dt zum Zeitpunkt ti durch eine Vorwärtsdifferenz approximiert: x (ti ) x(ti t ) x(ti ) t Einsetzen in x (ti ) f (x(ti ), ti ) ergibt x(ti t ) x(ti ) f (x(ti ), ti ) t x(ti t ) x(ti ) t f (x(ti ), ti ) ausgeschrieben: x1 x(t1 ) x 0 t f (x 0 , t0 ) x 2 x(t 2 ) x1 t f (x1 , t1 ) ... x n x(t n ) x n 1 t f (x n 1 , t n 1 ) M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 13. Vorlesung 5 Implizites Euler-Verfahren Hier wird dx/dt zum Zeitpunkt ti durch eine Rückwärtsdifferenz approximiert: x (ti t ) x(ti t ) x(ti ) t Einsetzen in x (ti ) f (x(ti ), ti ) ergibt x(ti t ) x(ti ) f (x(ti t ), ti ) t x(ti t ) x(ti ) t f (x(ti t ), ti ) Dies bedeutet, dass zu jedem Zeitpunkt ein nicht-lineares Gleichungssystem zur Bestimmung von x(ti+Δt) gelöst werden muss (da die Unbekannten x(ti+Δt) links und rechts von "=" auftreten)! Allgemein: Bei allen impliziten Integrationsverfahren muss bei jedem Integrationsschritt ein nicht-lineares Gleichungssystem gelöst werden. M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 13. Vorlesung 6 2. Verfahrensordnung (Wiederholung) ~ x (t t ) x(t t ) O(t n 1 ) c1 t n 1 c 2 t n 2 ... • x(t+Δt) ist die exakte Lösung zum Zeitpunkt t+Δt. x (t t ) ist die numerische Approximation mit einem Integrationsverfahren •~ der Ordnung n x (t t ) x(t t ) ist der Fehler unter der Annahme, dass ~ • ~ x (t ) x(t ) d.h. der Fehler nach einem Schritt mit der Schrittweite Δt ist kleiner als O(Δtn+1) Da n 1 n2 t n 1 1 t t c1 c 2 ... O O t n 1 n 1 10 10 10 10 gibt die Verfahrensordnung insbesondere an, dass eine Verkleinerung der Schrittweite um den Faktor 10 (= Δt/10), zu einer Verkleinerung des lokalen Fehlers um 10n+1 führt. M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 13. Vorlesung 7 Integriert man bis zum Zeitpunkt T = m*Δt, so akkumulieren sich die Einzelfehler zum globalen Fehler ε: m O t n 1 T O t n 1 T O t n t O t n Abschätzung: Eine Verkleinerung der Schrittweite Δt um den Faktor 10 führt bei einem Integrationsverfahren der Ordnung n zu einer Verkleinerung des globalen Fehlers um 10n. Beispiel: Sei Fehler ε=1 für Schrittweite Δt1=1. Reduktion der Schrittweite auf Δt2 für eine Genauigkeit von ε=10-4 (= 4 korrekte Stellen im Ergebnis) n Δt2 Anzahl m an Schritten 1 0.0001 10000 2 0.01 100 4 0.1 10 M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 13. Vorlesung 8 Deswegen: Je größer die Genauigkeit (d.h. je kleiner der globale Fehler) sein soll, desto größer sollte die Ordnung gewählt werden, da sonst die Schrittweite zu klein wird. Wenn auf Grund anderer Gegebenheiten, z.B. vorgegebene Abtastzeit, schon eine sehr kleine Schrittweite benutzt werden muss, kann auch eine kleinere Ordnung sinnvoll sein. M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 13. Vorlesung 9 Ordnung des expliziten Euler Verfahrens Taylor-Reihenentwicklung um den Lösungszeitpunkt ti: x j (t i t) x j (t i ) dx j dt ti 2 1 d xj t 2! dt 2 x j (t i ) f j (x(t i ), t i ) t t 2 ... ti 1 df j 2 dt t 2 ... ti Vergleich mit dem expliziten Euler-Verfahren x(ti t ) x(ti ) f (x(ti ), ti ) t zeigt, dass der lokale Fehler O(Δt2) ist und damit die Ordnung des Verfahrens n=1 ist. Daher: Wenn die Schrittweite halbiert wird, wird der globale Fehler in der Regel ebenfalls halbiert. M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 13. Vorlesung 10 3. Stabilitätsgebiet Es wird untersucht, wie ein numerisches Integrationsverfahren ein lineares, zeitinvariantes System löst: x (t ) A x(t ), x(t0 ) x 0 Minimalforderung: Das qualitative Verhalten der exakten Lösung und der numerischen Approximation soll identisch sein, d.h. ein stabiles System sollte mit dem numerischen Verfahren auf eine stabile Lösung führen!!! Zentrale Frage: Welche stabilen linearen Systeme führen mit dem betrachteten Integrationsverfahren zu einer stabilen Lösungstrajektorie? Da das Stabilitätsverhalten eines linearen Systems ausschließlich von den Eigenwerten von A abhängt (asymptotisch stabil = Re{eig(A)} < 0), bedeutet dies: Welches Gebiet in der Eigenwertebene von A führt mit dem betrachteten Integrationsverfahren zu einer stabilen Lösungstrajektorie? M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 13. Vorlesung 11 Stabilität von Abtastsystemen (Wiederholung von Regelungstechnik-Vorlesung): ~ Sei A diagonalisierbar (hinreichende Bedingung: nur einfache Eigenwerte) mit den Eigenwerten λi und der Eigenvektormatrix X: X diag( ) X 1 A i Ein Abtastsystem der Form: x(t ) x(ti t ) A i X diag(i ) X 1 x(ti ) Im(λ) ist genau dann asymptotisch stabil, wenn alle Eigenwerte λi im Inneren des Einheitskreises liegen: i 1 Re(λ) -1 M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 13. Vorlesung +1 12 Stabilitätsgebiet vom expliziten Euler Verfahren Das explizite Euler-Verfahren x(ti t ) x(ti ) f (x(ti ), ti ) t angewandt auf x A x ergibt x(ti t ) x(ti ) A x(ti ) t I A t x(ti ) I X diag(i ) X 1 t x(ti ) X diag(1 i t ) X 1 x(ti ) x(t ) A i Dies ist ein Abtastsystem welches asymptotisch stabil ist, wenn 1 i t 1 M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 13. Vorlesung 1 i t 1 -2 x(ti t ) x(ti ) t f (x(ti ), ti ) Im(λ Δt) -1 13 Re(λ Δt) Integrationsergebnis ist stabil, wenn Eigenwerte "im Kreis" liegen: Bei gegebenen Eigenwerten der Matrix A eines linearen Systems kann damit die maximal erlaubte Schrittweite für das explizite Euler-Verfahren ermittelt werden, damit zumindest das korrekte Stabilitätsverhalten vorliegt. Z.B. wenn nur reelle Eigenwerte vorliegen mit -10 < λ < 0 muss die Schrittweite ∆t kleiner als 2/10 = 0.2 sein. Offensichtlicher Nachteil des expliziten Euler-Verfahrens: Bei schwach gedämpften Systemen (= Eigenwerte nahe der imaginären Achse) muss die Schrittweite sehr klein gewählt werden. M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 13. Vorlesung 14 Stabilitätsgebiet vom impliziten Euler Verfahren 1 t 1 Im(λ Δt) +1 +2 x(ti t ) x(ti ) t f (x(ti t ), ti ) Fast alle linearen Systeme führen bei der Integration auf ein stabiles Ergebnis (auch wenn das lineare System instabil ist). Re(λ Δt) Integrationsergebnis ist stabil, wenn Eigenwerte "ausserhalb des Kreises" liegen: Z.B. kann für ein stabiles System (Re(λ) < 0) jede beliebige Schrittweite benutzt werden, damit das Integrationsergebnis stabil ist. Das Ergebnis wird in der Regel aber ziemlich "ungenau" sein, wenn die Schrittweite zu groß gewählt wird. M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 13. Vorlesung 15 Beispiel: Sprungantwort von PT2 step.y 3.0 continuous.y explicitEuler.y implicitEuler.y trapezoid.y expliziter Euler (grün) und impliziter Euler (rosa) stimmen sehr schlecht überein: Sehr viel kleinere Abtastzeit notwendig. Trapezverfahren (schwarz): sehr gute Übereinstimmung mit geauer Lösung (“rot” mit DASSL) 2.5 2.0 1.5 1.0 0.5 0.0 0.00 0.25 0.50 Im(λ·Ts) 0.75 1.00 Im(λ ·Ts) Im(λ ·Ts) Re(λ ·Ts) Re(λ ·Ts) +1 +2 Re(λ ·Ts) -2 Trapezverfahren explizites Eulerverfahren implizites Eulerverfahren x (ti Ts ) x (ti ) x(ti Ts ) x(ti ) x(t Ts ) x(ti ) x(t Ts ) x(ti ) x (ti ) i x (ti Ts ) i Ts Otter: Objektorientierte Modellierung mechatronischer Ts Systeme, 13. Vorlesung 2 M. 16Ts Stabilitätsgebiete von expliziten Runge-Kutta Verfahren Ordnung 1 2 Methode x(ti t ) x í t f (x i , ti ) explizites Euler Verfahren k 1 f ( x i , ti ) k 2 f (x i 0.5 t k 1 , ti 0.5 t ) x(ti t ) x i t k 2 3 k 1 f ( x i , ti ) k 2 f (x i 0.5 t k 1 , ti 0.5 t ) k 3 f (x i t (2k 2 k 1 ), ti t ) x(ti t ) x i t (k 1 4k 2 k 3 ) / 6 4 k 1 f ( x i , ti ) k 2 f (x i 0.5 t k 1 , ti 0.5 t ) k 3 f (x i 0.5 t k 2 , ti 0.5 t ) k 4 f (x i t k 3 , ti t ) x(ti t ) x i t (k 1 2k 2 2k 3 k 4 ) / 6 D.h. RK4 ist auch für Systeme geeignet, die schwach gedämpft sind. M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 13. Vorlesung 17 Praktische Vorgehensweise Hinweis: Die “richtige” Schrittweite und Ordnung eines Verfahrens mit fester Schrittweite kann in der Regel nur durch Probieren ermittelt werden (= Schrittweite solange verkleinern, bis sich die Lösung in der k-ten Stelle nicht mehr ändert) Integratoren mit fester Schrittweite werden bei Echtzeit-Simulationen eingesetzt (z.B. Hardware-in-the-Loop Simulation), damit die Zeitdauer für einen Integrationsschritt immer gleich ist. Für Offline-Simulationen werden Integratoren mit variabler Schrittweite, und eventuell variabler Ordnung, eingesetzt (z.B. DASSL). Hierbei wird der Fehler in einem Schritt abgeschätzt (z.B. durch Vergleich mit halber Schrittweite, oder Vergleich mit einem Verfahren einer anderen Ordnung) und die Schrittweite wird so angepasst, dass die vorgegebene Genauigkeit erreicht wird (= automatisches und nicht manuelles Probieren). DASSL hat eine variable Schrittweite und eine variable Ordnung von 1..5. Die Ordnung 1 ist das implizite Euler Verfahren M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 13. Vorlesung 18 4. Integrationsverfahren bei Dymola Integrationsverfahren relative Toleranz = gewünschter lokaler Fehler. 10-4 bedeutet dass globaler Fehler ca. 10-3, d.h. Ergebnis ist auf ca. 3 Stellen genau. Schrittweite bei Integrationsverfahren mit fester Schrittweite M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 13. Vorlesung 19 Mehrschrittverfahren mit variabler Schrittweite und variabler Ordnung explizite Einschrittverfahren mit fester Schrittweite und fester Ordnung (expliziter Euler + Runge-Kutta Verfahren der Ordnung 2,3,4) Für Offline-Test von Echtzeitsimulationen. implizite Einschrittverfahren mit variabler Schrittweite und fester Ordnung (5, 3, 4, 5). explizite Einschrittverfahren mit variabler Schrittweite und fester Ordnung 5 und 8 implizite Einschrittverfahren mit var. Schrittweite und fester Ord. 4 explizite Einschrittverfahren mit variabler Schrittweite und fester Ordnung 3, 4, 5 Welches Integrationsverfahren sollte ausgewählt werden? Empfehlenswert: Dassl: Sehr robustes Integrationsverfahren für die meisten Modelle. Nur wenn Dassl zu langsam ist, einen anderen Löser versuchen. Radau: Viel effizienter als Dassl für sehr schwach gedämpfte Systeme (= viele Eigenwerte nahe an der imaginären Achse; z.B. flexible Systeme) Dopri45: Viel effizienter als Dassl für Abtastsysteme mit sehr kleiner Abtastzeit (und wenn System keine sehr steifen Anteile enthält) M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 13. Vorlesung 20 Beispiel Numerische Lösung der linearen Differentialgleichung: 0 y 2 d y ( 2 d 2 ) y Exakte Lösung: ( 2 f ) y (t0 ) 0, y (t0 ) 1, 2 d 1 y e d t sin( t ) f=5 Hz: Schrittweite für eine relative Toleranz von 10-4 (= 4 Stellen lokale Genauigkeit und 3 Stellen globale Genauigkeit) d explizit Euler RK4 DASSL 0 1e-6 5e-3 1e-6 .. 5e-3 10 1e-5 1e-2 1e-6 ..2e-3 100 1e-4 5e-3 4e-7 .. 0.4 1000 1e-3 2e-3 4e-8 .. 0.4 10000 1e-4 2e-4 1e-9 .. 0.5 100000 1e-5 2e-5 4e-10 .. 0.4 M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 13. Vorlesung 21 f=5 Hz, d=0, explizites Euler Verfahren Schrittweite = 0.01 s qualitativ falsch Schrittweite = 0.001 s qualitativ falsch Schrittweite = 0.0001 s M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 13. Vorlesung 22 Beispiel falsch (es gibt keine Vibrationen) Schlussfolgerung: Man kann sich nicht auf die Fehlerabschätzung verlassen und muss "von Zeit zu Zeit" Simulationen mit unterschiedlichen Toleranzen vergleichen (z.B. tol = 10-4 mit 10-8) um die Mindest-Toleranz zu ermitteln. M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 13. Vorlesung 23 Analyse warum Dopri45 so schlecht funktioniert: Modell initialisieren, linearisieren und dann die Eigenwerte vom linearisierten System plotten: Eigenwerte liegen direkt auf der imaginären Achse (d.h. am Rand vom Stabilitätsgebiet expliziter Verfahren) 24 M. Otter 5. Zusammenfassung • Wenn die Schrittweite eines numerischen Integrationsverfahren der Ordnung n um den Faktor 10 verkleinert wird, dann wird der globale Fehler um den Faktor 10n verkleinert. • Die relative Toleranz gibt bei Integrationsverfahren die Größe des lokalen Fehlers an. Eine relative Toleranz von 10-4 bedeutet also, dass die Schrittweite so gewählt wird, dass das Ergebnis in einem Schritt auf ca. 4 Stellen genau ist. • Bei linearen Systemen wird die Schrittweite durch 2 Faktoren beeinflusst: - Die Schrittweite muss so verkleinert werden, bis sich alle stabilen Eigenwerte im Stabilitätsgebiet des Verfahrens befinden (ansonsten ist die numerische Lösung qualitativ falsch). - Die Schrittweite muss so verkleinert werden, bis die gewünschte Genauigkeit erreicht ist. Es wird angenommen, dass für nicht-lineare Differentialgleichungen ähnliche Vorgaben zu erfüllen sind. • Die “richtige” Schrittweite und Ordnung eines Verfahrens kann in der Regel nur durch manuelles oder automatisches Probieren ermittelt werden (= Schrittweite solange verkleinern, bis sich die Lösung in der k-ten Stelle nicht mehr ändert) M. Otter: Objektorientierte Modellierung mechatronischer Systeme, 13. Vorlesung 25