Benutzer-Werkzeuge

Webseiten-Werkzeuge


adp_laufrobotik:adp_2012_ws_group2:simulation

Simulation

Um die Auswertung der Simulationsmodelle nachvollziehen zu können, soll an dieser Stelle eine Einführung in den Umgang mit den entwickelten Modellen und Programmen gegeben werden. Es soll also eine Anleitung gegeben werden, mit der es möglich ist, die dargestellten Ergebnisse selbst zu simulieren. Die hier beschriebenen Vorgehensweisen belaufen sich auf:

  • Eingabe der Startparameter in die Datei Initial Values
  • Durchführung einer Simulation
  • Nutzung des Programms Steps Evaluate
  • Nutzung des Programms Apex Evaluate


Eingabe der Startparameter in initialValues

Zunächst soll an dieser Stelle beschrieben werden, wie mit dem erstellten Programm eine Laufsimulation durchgeführt werden kann. Hierzu muss zunächst beschrieben werden, wie die Startparameter für eine Simulation festgelegt werden. Dies geschieht über das m-File initialValues.

Allgemeine Werte und eigene Simulationen

In dem m-File initialValues werden zunächst die Parameter festgelegt, die für alle Modelle gleich sind. Diese sind die Masse und die Erdbeschleunigung. Ebenso sind verwendete Variablen, die immer angegeben sein müssen hier mit willkürlichen Werten vordefiniert. So benötigt Simulink zum Beispiel den Parameter $L_0$ aus dem Modell Laufen seriell, obwohl das Modell Gehen eingestellt ist. Hier können auch eigene Parametersätze definiert werden. Soll keine eigene Simulation durchgeführt werden und stattdessen mit bereits ermittelten, optimierten Parametern simuliert werden, so muss der entsprechende Bereich im unteren Teil des m-Files aktiviert werden. Dies wird im nächsten Abschnitt besprochen. Die einzelnen Parameter und deren Bedeutung sollen anhand <imgref image1> und der folgenden Übersicht dargestellt werden.

<imgcaption image1|Bezeichnung der einzelnen Modelle> </imgcaption>

Bezeichnung Parameter Beschreibung
Punktmasse $m$ Masse des Körperschwerpunktes
Ortsfaktor $g$ Wert der Erdbeschleunigung
Ruhelänge Feder $L_0$ Ruhelänge der Feder in allen Modellen, in denen nur eine Feder zum Einsatz kommt
Ruhelänge System $L_{0s}$ Summierte Ruhelänge der beiden Federn im System Laufen seriell
Ruhelänge Feder 1 $L_1$ Ruhelänge der parallelen Feder im System Laufen seriell
Ruhelänge Feder 2 $L_2$ Ruhelänge der seriellen Feder im System Laufen seriell
Federsteifigkeit $k$ Steifigkeit der Feder in allen Modellen, in denen nur eine Feder zum Einsatz kommt
Federsteifigkeit Feder 1 $k_1$ Steifigkeit der parallelen Feder im System Laufen seriell
Federsteifigkeit Feder 2 $k_2$ Steifigkeit der seriellen Feder im System Laufen seriell
Abbruchschrittzahl $step_a$ Anzahl der Schritte nach der die Simulation abgebrochen werden soll
Rampe $v_xplus$ Bedingung der Geschwindigkeitsrampe [Steigung Anfangsschritt Endschritt]


Die Eingabemaske des m-files ist in <imgref image2> dargestellt:

<imgcaption image2|Eingabemaske für alle Parameter> </imgcaption>

Voreingestellte Simulationsparameter

Neben den allgemeinen und den individuellen Simulationsparametern sind im unteren Teil der Startparameterdatei die einzelnen untersuchten Fälle und die ermittelten Parameterwerte für diese Fälle aufgelistet. Diese sind nach den Modellen Gehen, Laufen und Laufen seriell geordnet und jeweils nach ein- bzw. ausgeschalten Komponenten gegliedert. Zum Start einer bestimmten Simulation muss der entsprechende Fall und der dazugehörige ermittelte Parametersatz aktiviert werden. In den Parametersätzen der einzelnen Fälle tauchen die bereits oben genannten Parameter wieder auf. Die Aktivierung solch eines voreingestellten Parametersatzes erfolgt über das Entfernen der Kommentarzeichen (%), die sich vor den einzelnen Parametern befinden und ist in Abbildung 3 beispielhaft dargestellt.

<imgcaption image3|Vergleich zwischen aktiviertem und deaktiviertem voreingestellten Parametersatz> </imgcaption>
Die Beschreibung der einzelnen Parameter sind <imgref image4> und der folgenden Übersicht zu entnehmen:

<imgcaption image4|Bezeichnung der Parameter> </imgcaption>

Bezeichnung Parameter Beschreibung
Vektor d. Anfangsgeschwindigkeit $v_0$ Anfangsgeschwindigkeit d. Punktmasse als Vektor mit $x$- und $y$-Komponente
Vektor d. Anfangsposition $x_0$ Anfangsposition der Punktmasse als Vektor mit $x$- und $y$-Komponente
Landewinkel $\alpha_0$ Landewinkel zu Beginn einer neuen Standphase
Auswahl Laufmodus $modus$ Festlegung des zu simulierenden Laufmodus (1: Gehen; 2: Laufen; 3: Laufen seriell
Dämpferkonstante $b$ Festlegung der Dämpferkonstante
Aktuatorkraft $F$ Festlegung einer konstanten Aktuatorkraft


Simulationsdurchführung

Nachdem die Startparameter festgelegt wurden, kann über die Simulinkdatei FederMasseLaeufer das Blockschaltbild der Modelle aufgerufen werden. Für die Berechnung der Simulation mit den ausgewählten Parametern reicht es aus, die oberste Systemebene zu betrachten. Diese ist in <imgref image5> dargestellt.

<imgcaption image5|Simulationsoberfläche> </imgcaption>
Zunächst wird die Simulationszeit festgelegt, bevor durch ein Drücken des Startknopfes die Simulation gestartet wird. Sobald alle Berechnungen durchgeführt sind ertönt ein akustisches Signal. Nun können die einzelnen Ergebnisgraphen geöffnet werden. Beispielhaft seien in <imgref image5> vier graphische Ausgaben aufgezeigt.

Nutzung des Programms stepsEvaluate

Das Programm stepsEvaluate ermittelt die Anzahl der gelaufenen Schritte bei unterschiedlichen Kombinationen zweier Parameter und gibt diese graphisch aus. Dazu müssen zunächst zwei Parameter bestimmt werden, die überprüft werden sollen. Durch den Aufruf des m-Files steps_evaluate_2Params öffnet sich der Quellcode des Programms. Dieser ist beispielhaft in <imgref image6> zu sehen.

<imgcaption image6|Quellcode von stepsEvaluate> Quellcode stepsEvaluate </imgcaption>
Im oberen Teil des Codes wird festgelegt in welchem Bereich die Parameter untersucht werden sollen. In diesem Beispiel wird also der Parameter $P1$ im Wertebereich von 1 bis 12000 untersucht, wobei die Untersuchungsschritte dabei den Wert 1000 besitzen. Analog dazu wird der Parameter $P2$ im Bereich von 1 bis 25000, unterteilt in Schritte der Größe 1000, untersucht. Durch P1name und P2name wird die Achsenbeschriftung der späteren graphischen Ausgabe festgelegt. Damit das Programm weiß, welche beiden Variablen untersucht werden sollen, müssen diese durch Eingabe an der Stelle des unteren roten markierten Bereichs in das Programm eingefügt werden. In diesem Fall sollen also die Parameter $P1=b$ (Dämpferkonstanten) und $P2=k$ (Federsteifigkeit) untersucht werden. Das Programm wird dann durch den Befehl Run gestartet und gibt nach einiger Rechenzeit eine graphische Ausgabe der gelaufenen Schritte über die verschiedenen Parameterkombinationen aus. Dies ist beispielhaft in <imgref image7> zu sehen.

<imgcaption image7|Graphische Ausgabe des Programms stepsEvaluate> </imgcaption>

Nutzung des Programms Apex-Evaluate

Um ermitteln zu können, wie stabil ein Modell läuft, wurde mit Hilfe der Literatur das Programm ApexEvaluate erstellt. Dieses ermittelt das Verhältnis der $y$-Abweichungen zwischen zwei aufeinanderfolgenden Hochpunkten der Punktmasse (Apex) und stellt diese graphisch dar. Zur Nutzung des Programms müssen keine Änderungen am Quellcode vorgenommen werden, der alleinige Aufruf des m-Files Apex_Evaluate, sowie das Durchführen mittels dem Befehl Run reichen für die Nutzung aus. Das Programm gibt nach einiger Rechenzeit eine graphische Ausgabe ähnlich zu <imgref image8> aus.

<imgcaption image8|Graphische Ausgabe des Programms Apex-Evaluate> </imgcaption>
Hätten alle Hochpunkte der Punktmassenbewegung dieselbe Höhe, so würde sich ein horizontaler Verlauf mit dem Wert 1 ergeben. Dieser ist in der graphischen Ausgabe durch eine rot eingefärbte Horizontale dargestellt. In der angegebenen Abbildung zeigt sich, dass bis ca. 5 $s$ eine annähernd stabile Laufbewegung vorhanden ist, die daraufhin ausbricht. Dadurch, dass die Veränderung immer größer wird, lässt sich schließen, dass das System immer instabiler wird, der Apex sich schnell dem Boden annähert und die Punktmasse den Boden berührt.

indexmenu_n_2

adp_laufrobotik/adp_2012_ws_group2/simulation.txt · Zuletzt geändert: 28.11.2022 00:11 von 127.0.0.1


Warning: Undefined variable $orig_id in /is/htdocs/wp1019470_OPI92FFHXV/www/wikiLehre/lib/plugins/openas/action.php on line 232