Warning: Undefined array key "DW68700bfd16c2027de7de74a5a8202a6f" in /is/htdocs/wp1019470_OPI92FFHXV/www/wikiLehre/lib/plugins/translation/action.php on line 237

Warning: Trying to access array offset on value of type null in /is/htdocs/wp1019470_OPI92FFHXV/www/wikiLehre/lib/plugins/translation/action.php on line 237

Warning: Cannot modify header information - headers already sent by (output started at /is/htdocs/wp1019470_OPI92FFHXV/www/wikiLehre/lib/plugins/translation/action.php:237) in /is/htdocs/wp1019470_OPI92FFHXV/www/wikiLehre/inc/Action/Export.php on line 104

Warning: Cannot modify header information - headers already sent by (output started at /is/htdocs/wp1019470_OPI92FFHXV/www/wikiLehre/lib/plugins/translation/action.php:237) in /is/htdocs/wp1019470_OPI92FFHXV/www/wikiLehre/inc/Action/Export.php on line 104

Warning: Cannot modify header information - headers already sent by (output started at /is/htdocs/wp1019470_OPI92FFHXV/www/wikiLehre/lib/plugins/translation/action.php:237) in /is/htdocs/wp1019470_OPI92FFHXV/www/wikiLehre/inc/Action/Export.php on line 104
====== 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 [[biomechanik/dynamik/dyn02#masse|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 und der folgenden Übersicht dargestellt werden. \\ \\ {{ :adp_laufrobotik:adp_2012_ws_group2:bezeichnung_der_einzelnen_modelle.png?nolink&700 |}} \\ ^ **//Bezeichnung//** | **//Parameter//** | **//Beschreibung//** | ^ Punktmasse | $m$ | [[biomechanik/dynamik/dyn02?&#masse|Masse]] des [[biomechanik/dynamik/dyn05#koerperschwerpunkt|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 dargestellt: \\ \\ {{ :adp_laufrobotik:adp_2012_ws_group2:3_1_eingabemaske1.jpg?nolink&500 |}} \\ ==== 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. \\ \\ {{ :adp_laufrobotik:adp_2012_ws_group2:3_1_eingabemaske2.jpg?nolink&500 |}} \\ Die Beschreibung der einzelnen Parameter sind und der folgenden Übersicht zu entnehmen: \\ \\ {{ :adp_laufrobotik:adp_2012_ws_group2:3_1_abbild3.jpg?nolink&300 |}} \\ ^ **//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 dargestellt. \\ \\ {{ :adp_laufrobotik:adp_2012_ws_group2:3_1_modellbedienung.jpg?nolink&700 |}} \\ 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 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 zu sehen. \\ \\ {{ :adp_laufrobotik:adp_2012_ws_group2:3_1_steps_ev.jpg?nolink&500 |Quellcode stepsEvaluate}} \\ 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 zu sehen. \\ \\ {{ :adp_laufrobotik:adp_2012_ws_group2:f_k.jpg?nolink&400 |}} \\ ===== 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 aus. \\ \\ {{ :adp_laufrobotik:adp_2012_ws_group2:3_1_apex.jpg?nolink&500 |}} \\ 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}}