1. Reibmodellierung mit steiler Kennlinie 2. Probleme mit

Werbung
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
m1v1  f  R1
m2 v2  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
m1v1  f  R1
5
m2 v2  u  f  R2
R1  f (v1 )
R2  f (v2 )
v1  v2
Standardvorgehen:
Differenzieren der Zwangsgleichung führt auf die zusätzliche Gleichung
v1  v2
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   v1    R1 
 1  v2   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
m1v1  f  R1
v1  0
m2 v2  u  f  R2
v2  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
m1v1  f  R1
v1  0
7
m2 v2  u  f  R2
v2  0
v1  v2
Standardvorgehen:
Differenzieren der Zwangsgleichung führt auf die zusätzliche Gleichung
v1  v2
und v1 wird als Zustand ausgewählt. Dann ergeben sich die Gleichungen:
gegeben: v1 (Zustand)
v2 : v1
v1 : 0
v2 : 0
1 0  1  R1   m1v1 
0 1 1    R   u  m v 
2 2
  2 

0 0 0   f   v1  v2 
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: vrel  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ß 11>0), ist das
Abtriebsmoment kleiner als das Antriebsmoment.
Wenn Rad 1 getrieben wird (d.h. negativer Energiefluß 11<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. i1 > 2)
Annahme 2: 2 ist antreibend
(d.h. i1 < 2)
z.B. 2 = 20 Nm:
 2  1  i  1
 0.9  2 10
 18
2 
i
2
da 2 > 1i1, kann
1 nicht antreibend sein
 1
2
10
0 .9
 22.22

da 2 < i1/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
n2
  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
Zugehörige Unterlagen
Herunterladen