Doppelpendel - Berechnung mit Simulink
  Achtung, hier wird geschummelt! Achtung, hier wird geschummelt!
Doppelpendel (Übersicht)   |  Matlab (einfach)   |  Matlab (mit Kontrollen)
Matlab (einfache Animation)   |  Simulink   |  Grenzen der Simulation
Doppelpendel

Aufgabe


Ein Doppelpendel wird definiert durch die beiden Pendelmassen m1 und m2, die auf die jeweiligen Schwerpunkte bezogenen Massenträgheitsmomente JS1 und JS2, die Schwerpunktabstände von den Drehpunkten s1 und s2 und den Abstand l1 der beiden Drehpunkte voneinander.

Die Bewegung soll durch die Funktionen φ1(t) und φ2(t) beschrieben werden, die für das Zeitintervall t = 0 ... 10 s zu berechnen sind.

Doppelpendel, gegebene Größen

Die Aufgabe wird in den Kapiteln "Prinzipien der Mechanik" und "Verifizieren von Computerrechnungen" behandelt.

Doppelpendel, Anfangsauslenkung

Die gegebenen Werte gelten für zwei schlanke Stäbe gleicher Masse und gleicher Länge. Sie sollen aus der nebenstehend skizzierten Anfangslage ohne Anfangsgeschwindigkeiten freigelassen werden, so dass folgende Anfangsbedingungen gelten:

Doppelpendel, Anfangsbedingungen

Bewegungs-Differenzialgleichungen, Vorbereitung der Simulink-Rechnung

Unter Verwendung der in der Aufgabenstellung skizzierten Koordinaten gelten folgende Bewegungs-Differenzialgleichungen (die ausführlich kommentierte Herleitung findet man im Kapitel "Prinzipien der Mechanik"):

Bewegungs-Differenzialgleichungssystem für das Doppelpendel

Damit kann das Anfangswertproblem so formuliert werden, wie man es in Simulink modellieren kann:

Anfangswertproblem, vorbereitet für die Simulink-Rechnung
Entsprechend der Empfehlung im Kapitel "Verifizieren von Computerrechnungen" wird eine Kontrollfunktion berechnet und graphisch dargestellt. Dort wird für die Gesamtenergie, die im System zu jedem Zeitpunkt gespeichert ist, folgender Ausdruck hergeleitet (hier in dimensionsloser Form aufgeschrieben, das Null-Potenzial liegt auf der Höhe des Aufhängepunktes):
Gesamtenergie im System
Dieser komplizierte Ausdruck muss für jeden Satz der Bewegungsgrößen φ1, φ2, ω1, ω2 eines beliebigen Zeitpunkts t den gleichen Wert ergeben. Es ist die Gesamtenergie, die bereits am Anfang der Bewegung (als potenzielle Energie) vorhanden ist:
Energie beim Start der Bewegung
Diese Funktion wird mit den ermittelten Werten für φ1(t), φ2(t) und deren Ableitungen berechnet und graphisch dargestellt.

Simulink-Blockschaltbild

Das nachfolgend zu sehende Simulink-Blockschaltbild bildet das oben angegebene Anfangswertproblem ab:

Simulink-Blockschaltbild

Ergebnisse der Berechnung

Nachdem (z. B. wie oben beschrieben) die Problemparameter als Zahlenwerte eingegeben wurden, sollte man sich über Simulation|Configuration parameters ... die Standardeinstellungen ansehen, mindestens aber den Zeitbereich für die Berechnung einstellen:

Konfigurations-Parameter

Wenn dieses Fenster wie abgebildet aussieht, kann die Rechnung aus dem Fenster mit der Darstellung des Blockschaltbilds über das Menüangebot Simulation|Start gestartet werden. Man sieht zunächst nichts, die Ergebnisse landen in den "Scopes". Durch Doppelklick auf Scope "phi1(t)" wird die graphische Darstellung des Bewegungsgesetzes des oberen Pendels, durch Doppelklick auf Scope "phi2(t)" wird die graphische Darstellung des Bewegungsgesetzes des unteren Pendels sichtbar (es ist empfehlenswert, jeweils nach dem Öffnen des Graphik-Fensters auf das "Fernglas"-Symbol zu klicken, wodurch automatisch ein geeigneter Maßstab für die Darstellung gewählt wird):

Bewegungsgesetz des oberen Pendels
Bewegungsgesetz des unteren Pendels
Kontrollfunktion Gesamtenergie

Die Kurve der Kontrollfunktion Tges(t) (nebenstehendes Bild, erscheint nach Doppelklick auf Scope "Tges(t)") liefert ein wichtiges Indiz für die Richtigkeit der Rechnung: Es müsste sich im Idealfall eine horizontale Gerade ergeben. Man sieht, dass die Kontrollfunktion davon einige Abweichungen zeigt. Dies sollte Anlass dafür sein, eine etwas genauere Rechnung zu erzwingen. Dazu kann man im Fenster "Configuration parameters" die Einstellungen ändern.

Die "Zacken" in der Kurve der Kontrollfunktion verschwinden jedoch nicht völlig, was vor allem daran liegt, dass nach Anklicken des "Fernglases" die optimale Einstellung des Bereichs der vertikalen Koordinatenachse gnadenlos auch die kleinsten Abweichungen visualisiert.

Für diese Aufgabe (und den vorgegebenen Zeitbereich) ändern sich die Bewegungsgesetze auch bei genauerer Rechnung aber nicht mehr nennenswert, so dass die oben zu sehenden Bewegungsgesetze als ausreichend genau angesehen werden dürfen. Aber die "nie ganz saubere Kontrollfunktion" sollte immer daran erinnern, wie riskant solche numerischen Berechnungen sind und dass man in jedem Fall mehrere Rechnungen, Verfahren und Softwareprodukte bemühen sollte, ehe man den Ergebnissen vertraut. Diese Simulink-Rechnung sollte eigentlich auch nur die Berechnung mit zwei unterschiedlichen Integrationsverfahren bestätigen.

Bemerkung zur Simulink-Berechnung


Die Benutzeroberfläche von Simulink, die im Vergleich zu vielen anderen so ganz anders aussieht, suggeriert, dass hier mit einem Blockschaltbild eine Art Regelkreis definiert wird. Tatsächlich ist das wirklich nur die Oberfläche, intern wird (natürlich!) numerisch gerechnet, und eigentlich passiert nichts anderes als nach dem Schreiben eines Matlab-Scripts, wie es zum Beispiel auf den Seiten "Doppelpendel - Berechnung mit Matlab" oder "Doppelpendel - Matlab (mit Kontrollen)" demonstriert wird.

Man kann sich das anzeigen lassen (und gegebenenfalls beeinflussen), was intern geschieht. In dem Fenster, das über das Menüangebot Simulation|Configuration Parameters ... erreicht wird (Ausschnitt ist hier zu sehen) sieht man, dass die Voreinstellung für den Solver genau der ode45-Algorithmus ist, der auch als Standard-Solver für Matlab-Scripts (und damit für die Berechnungen, auf die oben verwiesen wird) verwendet wird. Man kann sowohl diese Einstellung als auch die "MaxStep"-Einstellungen, auf die bei den Matlab-Berechnungen ausführlich eingegangen wird, verändern.

Fazit: Simulink ist nur eine andere Oberfläche für die Matlab-Funktionen.

Download


Das oben zu sehende Simulink-Blockschaltbild steht als doppelpendelsim.mdl zum Download zur Verfügung.