WP1503 SimMechanics

WP1503 SimMechanics
Veranstaltung PS Biomechanik
Autor Patrick Burghardt, Holger Dieterich, Andreas Döring
Bearbeitungsdauer ca. 60 min (davon ca. 30 min Tutorial)
Vsl. Fertigstellung 24.06.2015
Seite in Bearbeitung

(Sämtliche in diesem Wiki verwendeten Abbildungen sind selbsterstellte Screenshots)

Einführung

Das Wiki ist eine Einführung in das Simulationsprogramm SimMechanics, welches zur Modellierung von Mehrköpersystemen dient. Zunächst folgt eine kurze Motivation zum Wiki, welche u.a. den Bezug zur Biomechanik herstellen soll, gefolgt von einer kurzen Vorstellung des Programms SimMechanics. Der Hauptteil des Wikis jedoch befasst sich mit einem tutoriellen Einstieg in das Programm selbst. Durch das Tutorial soll dem Leser/ der Leserin ein Einblick in die grundlegende Steuerung des Programms gegeben werden und ein grobes Verständnis für die einzelnen Funktionen und Möglichkeiten eröffnet werden. Für die Abarbeitung des Tutorials sind Kenntnisse in MATLAB und Simulink von Vorteil. Ziel des Tutorials soll eine erste, sehr simple Simulation einer Klimmzugbewegung sein. Abgeschlossen wird das Wiki mit einem Ausblick, welcher dem Leser/ der Leserin die vielschichtigen Möglichkeiten aufzeigen soll, die das Programm noch offen hält.

Diese Wiki soll einen vereinfachten Einblick in die Materie des Programms liefern. Definitionen und Erläuterungen sind abgespeckt und gleichzeitig auf das Tutorial angepasst formuliert worden. Zu Vertiefung oder bei Interesse empfiehlt es sich dem im Literaturverzeichnis aufgeführten Link zum Mathlab-Manual zu folgen.


verfasst von Patrick Burghardt

Motivation





Der vorherige Clip, zeigt eine von vielen Varianten, eine Klimmzugbewegung durchzuführen. Doch bei welcher Bewegung wirken welche Kräfte? Welche Ausführung ist trainingstechnisch wertvoller? Wie kann der komplexe Bewegungsvorgang möglichst einfach aber genau beschrieben werden?

Diese Fragen können oft nur unzureichend oder mit hohem Aufwand durch reine Messungen an einem Probanden beantwortet werden. In diesen Fällen ist es sinnvoll das reale System mit Hilfe eines Modells simulieren zu können. Für das Feld der Biomechanik sind die Vorteile einer Simulation das Ausbleiben von Erschöpfung, die bessere Wiederholungsgenauigkeit und die damit verbundene Vergleichbarkeit, ebenso die Vermeidung von gesundheitlichen Schäden bei riskanteren Bewegungsabläufen. Des weiteren ist es möglich eine Simulation zu jedem Zeitpunkt der Bewegung anzuhalten. Visualisierungstools ermöglichen gleichzeitig eine Darstellung von mechanischen Vorgängen und Zustandsgrößen. Die genauen Größen der wirkenden Kräfte auf jeden Muskel bzw. auf jedes Gelenk kann durch die Simulation errechnet werden, ebenso auch weitere Größen wie Drehmomente oder Wirkungspunkte, Trägheiten, usw. Dennoch kann auf Messungen mit Probanden nicht verzichtet werden. Sind Größen der wirkenden Kräfte auf jeden Muskel und auf jedes Gelenk bekannt, so kann mit Hilfe der Messungen das Modell bewertet werden.

Durch das Benutzen einer Simulationssoftware in der Biomechanik wird es ermöglicht, umgekehrt zum Normalfall, eine Brücke von der Theorie zur Praxis zu schlagen. Die Modellhafte Nachbildung kann Aufschluss über Bewegungsabläufe im Sport oder Training liefern und zugleich für die Biomechanik Daten liefern, welche aus einer „realen“ Messung nicht hätten erschlossen werden können.

Bleibt die Frage, wieso wir uns in diesem Wiki für das Programm SimMechanics entschieden haben. SimMechanics selbst ist ein Unterprogramm des in der Forschung und Technik weit verbreiteten Programms MATLAB. Eine Einführung in MATLAB wird in MATLAB WIKI gegeben. MATLAB ist in Universitäten und Firmen, vor allem aber im Forschungs- und Entwicklungsbereich weit verbreitet. SimMechanics, als Mehrkörpersimulationsprogramm, ermöglicht einfach ausgedrückt, die physikalische Modellierung von realen Bewegungen hinein in eine simulierte Bewegung. Die Arbeit innerhalb des Programms findet ausschließlich mit physikalischen Größen statt, aus welchen die Bewegungen heraus definiert und modelliert werden. Der große Vorteil den man an dieser Stelle genießt ist der, dass die verwendeten Modelle aus den Programmen MATLAB und Simulink direkt mit SimMechanics gekoppelt und in dieses integriert werden können. Die graphische und funktionelle Ausarbeitung des Modells wird dadurch deutlich erweitert und verfeinert, was schlussendlich auch in der Simulation zum Vorschein kommt.

Es folgt nun noch eine kurze Vorstellung des Programms und anschließend das Tutorial.


verfasst von Patrick Burghardt

SimMechanics - Was ist das?

In diesem Abschnitt wollen wir eine kurze Vorstellung des Programms vornehmen, um einen oberflächlichen Einblick über die Möglichkeiten der hier vorgestellten Software zu erhalten.

SimMechanics bietet einen Raum um das Wirken einzelner Starrkörper aufeinander zu untersuchen, was auch Mehrköper-Simulation genannt wird. Mehrkörpersysteme mit Starrkörpern werden im Wiki DYN5 Mehrkörpersysteme erklärt. Die Mehrkörper-Simulation in SimMechanics findet im drei dimensionalen Raum statt. Es lassen sich mechanische Systeme, so wie Roboter, Maschinen, Körperformen usw. virtuell konstruieren. Um ein solches Mehrkörper-System zu erschaffen, verbindet man eine Vielzahl von „Blöcken“, welche Körperteile, Gelenke und Beschränkungen darstellen. SimMechanics formuliert und löst im Hintergrund soweit selbstständig alle nötigen Bewegungsgleichungen für das gesamte mechanische System, so dass der User die Blöcke, ähnlich wie Lego-Steine nur zusammensetzen muss. Ein weiteres Feature von SimMechanics ist die Möglichkeit CAD-Modelle zu importieren. SimMechanics selbst verfügt über dies hinaus noch eine Visualisierungsfunktion, welche die Darstellung eines dynamischen Systems in einer 3D-Animation überführt.

Ein weiteres Feature von SimMechanics ist die (mögliche) Parametrisierung der konstruierten Modelle durch die Benutzung von Variablen und Befehlen, via der Mathe-Software MATLAB. Außerdem ist es möglich das Design des Regelsystems der Mehrkörper-Konstruktion via Simulink zu gestalten. Simulink ist eine Modellierungssoftware der Mathe-Software MATLAB. SimMechanics selbst ist ein Unterprogramm von Simscape, in dem die mechanische Komponenten abgebildet werden können. Simscape wiederum, als Erweiterung von Simulink, bietet weitere Unterprogramme für den Bereich z.B. der Hydraulik, Pneumatik oder Elektrik.

Zusammengefasst, bietet SimMechanics eine Vielzahl an Möglichkeiten mechanische Modelle bis hin ins kleinste Detail zu konstruieren und diese in einer Simulation zu testen. Dabei beschränkt sich die Software nicht nur auf die mechanischen und technischen Zusammenhänge, sondern ermöglicht zudem eine optische Anpassung und Optimierung. Das Programm selbst nutzt dabei vorgefertigte Gleichungen und Befehle, sodass, ähnlich einem Baukasten-Prinzip, der User (einfach formuliert) die Steine zusammensetzen kann und lediglich ihre Größe zu bestimmen hat.


verfasst von Patrick Burghardt & Holger Dieterich

Exkurs: Tutorial

In diesem Tutorial wollen wir dem Wiki-Leser einen Einblick in die Modellierung mit SimMechanics gewähren. Die Bedienung und der Nutzen dieser Software werden an einem einfachen Modell zur Simulation eines Klimmzuges verdeutlicht werden. Nach der Durcharbeitung hat der Leser das grundlegende Vorgehen verstanden und kann eigene Erweiterung hinzufügen oder das Vorgehen auf eigene Modelle übertragen.

Wer sich für das Tutorial interessiert, kann auf den Show-Button drücken und dieses durcharbeiten (die Inhalte des Tutorials werden nicht abgefragt)

verfasst von Holger Dieterich & Andreas Döring

Ausblick

Die weiteren Möglichkeiten von SimMechanics sind nahezu grenzenlos. Es könnten beispieslweise die benötigten Kräfte für den Klimmzug ausgegeben werden. Dadurch könnten verschiedene Varianten miteinander verglichen werden (z.B. wie hoch die nötigen Momente bei einem Klimmzug mit einem engen Griff sich von der Variante mit weiten Griff unterscheiden) oder es kann berechnet werden, wie die Anthropometrie die notwendigen Kräfte beeinflusst.

Bevor solche Simulationen in Angriff genommen werden, sollte jedoch aufbauend auf das Tutorial, das 2D-Modell in ein 3D-Modell überführt werden. Ein Beispiel für ein 3D-Modell für den Klimmzug kann sich hier heruntergeladen werden. Bei dem vorgeschlagenen Modell entsprechen die Proportionen, Massen und Trägheitsmomente nicht der Realität. Diese können beispielsweise aus [2] bezogen werden. Der zip-Ordner enthält eine .slx-Datei, welche das 3D-Modell enthält und eine .m-Datei, indem die Auswertung statt findet. Bei der Simulation werden Werte im Scope gespeichert, mit denen zwei Plots erstellt werden. In der untenstehenden Abbildung ist der Momentenverlauf für den Ellbogen dargestellt (die Werte dürfen nicht mit realen Werten verglichen werden, da die Geometrie und die Massen des Modells nicht der Realität entnommen wurden).

Abb.1 Momentenverlauf über der Zeit im Ellbogengelenk für das 3D-Modell

Eine Auswertung kann ebenfalls für die Regelung gemacht werden. In der untenstehenden Abbildung ist der Soll-Ist-Vergleich des Winkels für das Ellbogengelenk dargestellt.

Abb.1 Winkel über der Zeit im Ellbogengelenk für das 3D-Modell

Das folgende Video zeigt das erstellte 3D-Modell. Das Video wurde mit Hilfe der Toolbox von SimMechanics erstellt.

Die Möglichkeit zur Visualisierung von den erstellten Modellen bietet einen großen Vorteil, so kann oft abgeschätzt werden, ob die gewünschte Bewegung abgebildet wurde.

Da die Bewegung des Menschen nicht über Momente in Gelenken entsteht, sondern über kontrahierende Muskeln, müsste das Modell weiter bearbeitet werden, indem Muskeln abgebildet werden, die lediglich translatorische Verschiebungen zu lassen.

Eine weitere Möglichkeit von SimMechanics ist, bestehende Modelle in Matlab/Simulink mit SimMechanics zu koppeln. Hier könnte z.B. stumpf die Position, Geschwindigkeit und Beschleunigung der Starrkörper vorgegeben werden, um lediglich die visuelle Ausgabe von SimMechanics zu nutzen. Es können aber auch die Modelle komplett in SimMechancis übertragen werden, um das Modell rein auf der physikalischen Ebene zu simulieren.

Bei dem Modellieren muss sich nicht auf den Klimmzug beschränkt werden, es kann auch die Kniebeuge modelliert werden, dies würde die Vorstufe zum Laufen darstellen. Um das Laufen abzubilden, müsste jedoch der Bodenkontakt modelliert werden. Dies könnte z.B. mittels einen Feder-Dämpfer realisiert werden, der immer dann eingeschaltet wird, wenn der Fuß in Kontakt mit dem Boden tritt.

Weiter gebe es in der Regelung Verbesserungspotential, z.B könnte der im Tutorial vorgestellte PD-Regler in einen PID-Regler erweitert werden. In dem Beispiel-3D Modell wurde dies umgesetzt, jedoch wurden die Werte nach keiner Literatur bestimmt. Eine weitere Verbesserung der Regelung würde die Verwendung von Zustandsräumen darstellen.

Einer der letzten Schritte der Modellierung, könnte die Bestimmung des effizientesten Ablaufs für eine bestimmte Bewegung sein.


verfasst von Andreas Döring

Fragen

1. Was sind die Vor- und Nachteile einer Simulation im Gegensatz zum Experiment?
2. Wozu dient eine Modellierung in SimMechanics?
3. Was sind die Vor- und Nachteile einer Simulation im Gegensatz zum Experiment?
4. Was ist Simscape?

Literaturverzeichnis

[1] MATLAB-Homepage, letzter Zugriff am 15. Juli 2015.

[2] Winter, David A. (2009). Biomechanics and Motor Control of Human Movement (4th Edition). New Jersey: John Wiley & Sons.

biomechanik/projekte/ss2015/simmechanics.txt · Zuletzt geändert: 18.09.2015 07:34 von Patrick Burghardt
GNU Free Documentation License 1.3
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0