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/actions.php on line 38
MM 2 Muskelaktivierung [Institut für Sportwissenschaft]

Benutzer-Werkzeuge

Webseiten-Werkzeuge


biomechanik:modellierung:mm2

MM 2 Muskelaktivierung


Modul-Icon MM 2 Umsetzung Muskelaktivierung in Matlab
Veranstaltung keine
Autor Daniel Maykranz
Voraussetzung Module MUS 3 und MUS 4, Matlab MAT 1
Matlab Datei Muskelaktivierung
Bearbeitungsdauer 30 min
Zuletzt geändert 17.10.2013


Einleitung

In diesem Modul sollen die mathematische Umsetzung der Muskelaktivierungsdynamik näher erläutert und die Programmierung in Matlab vorgestellt werden.

Inhalte

Einfache Aktivierungsdynamik

Die einfache Aktivierungsdynamik wird durch eine gewöhnliche Differentialgleichung erster Ordnung beschrieben (siehe Numerik gewöhnlicher Differentialgleichungen):

;#; $\frac{\mathrm{d}Act}{\mathrm{d}t}=\frac{1}{\tau}(STIM(t)-Act)$ ;#;

Der Parameter $\tau$ beschreibt dabei, wie schnell die Aktivierung auf eine Änderung der Stimulation STIM reagiert. Die Stimulation kann dabei durch eine einfache Funktion (z.B. Sprungfunktion) vorgegeben werden. Falls eine komplexere Bewegung erreicht werden soll, kann die dafür notwendige Stimulation ebenfalls sehr komplex sein (z.B. Geyer 2003).

Da die vorgegebene Stimulation immer zwischen Null und Eins skaliert wird, ist die Aktivierung ebenfalls auf Werte zwischen Null und Eins beschränkt. Dabei bedeutet der Wert Null keine Aktivierung und der Wert Eins volle Aktivierung.

Beispiel für eine einfache Stimulation

Die vorgegebene Stimulation kann beispielsweise durch eine einfache Sprungfunktion (Heaviside-Funktion) dargestellt werden. Die Funktion hat ihren Namen daher, da sie plötzlich von Null auf Eins springt. D.h. für Zeiten kleiner Null ist die Stimulation ebenfalls Null und zum Zeitpunkt t>=0 wird die Stimulation auf eins gesetzt. In diesem Fall kann die Lösung der Differentialgleichung analytisch bestimmt werden:

;#; $Act(t)=1-e^{-\frac{1}{\tau} t} \:\:\:\:\:\: \text{für} \: t\ge0$ ;#;

Die Aktivierung folgt somit der vorgegebenen Stimulation verzögert. Die Verzögerung ist dabei abhängig von der Zeitkonstante $\tau$.

<imgcaption image1 | Stimulation und Aktivierung einfaches Aktivierungsmodell> </imgcaption>

Solange die Stimulation gleich Null ist, ist die Aktivierung ebenfalls Null. Springt die vorgegebene Stimulation dann auf eins, ändert sich die Aktivierung ebenfalls sprunghaft und nähert sich dann (abhängig von der Zeitkonstante $\tau$) eins.

Umsetzung in Matlab

Die Umsetzung in Matlab/Simulink ist im Vergleich zur Programmierung des Feder-Masse-Modells relativ einfach.

<imgcaption image2 | Umsetzung einfaches Aktivierungsmodell in Simulink> </imgcaption>

Man muss lediglich die Stimulation vorgeben (hier z.B. mit einer „Repeating Sequence“) und die Differentialgleichung samt Anfangsbedingungen formulieren. Mit einem „Scope“ kann die Stimulation und Aktivierung graphisch dargestellt werden. Als freier Parameter muss noch $tau$ entsprechend gewählt werden (z.B. 0,05 s).

Erweiterte Aktivierungsdynamik

Die erweiterte Aktivierungsdynamik wird ebenfalls durch eine gewöhnliche Differentialgleichung erster Ordnung beschrieben (He 1989).

;#; $\frac{\mathrm{d}Act}{\mathrm{d}t}= (c_1 STIM(t)+c_2)(STIM(t)-Act)$ ;#;

Mit dieser Aktivierungsdynamik erfolgt die Aktivierung des Muskels schneller als die Deaktivierung. Die Zeitkonstante für die Aktivierung lautet dabei:

;#; $\tau_{Act}=\frac{1}{c_1+c_2}$ ;#;

und für die Deaktivierung:

;#; $\tau_{Deact}=\frac{1}{c_2}$ ;#;

Beispiel für die erweiterte Aktivierungsdynamik

Hier wird als Beispiel für die Stimulation eine Rechteckfunktion gewählt. Für Zeiten zwischen Null und einer halben Sekunde ist die Stimulation Null. Bei einer halben Sekunde springt die Stimulation auf eins und bleibt eine halbe Sekunde auf diesem Wert. Danach fällt die Stimulation wieder für eine halbe Sekunde auf Null. Mit geeignet gewählten Parametern für `c_1` und `c_2` kann man deutlich sehen, dass die Aktivierung deutlich schneller erfolgt als die Deaktivierung.

<imgcaption image3 | Stimulation und Aktivierung erweitertes Aktivierungsmodell> </imgcaption>

Zusammenfassung

Die Aktivierungsdynamik wird durch eine gewöhnliche Differentialgleichung erster Ordnung beschrieben. Die Aktivierung hat dabei die Eigenschaft, dass sie Änderungen in der vorgegebenen Stimulation verzögert folgt. Die Stimulation und die Aktivierung sind auf Werte zwischen Null und Eins beschränkt.



Downloads

Unter folgendem Link ist das Simulink-Modell zu finden, welches die einfache Aktivierungsdynamik berechnet.

Fragen

  • Programmiere das erweiterte Aktivierungsmodell in Matlab-Simulink! Gib eine wie im Text beschriebene Rechteck-Funktion als Stimulation vor! Wähle geeignete Parameter für $c_1$ und $c_2$ und bilde die in Abbildung 3 dargestellte Stimulation und Aktivierung qualitativ nach!


Literatur

  • Geyer, H., Seyfarth, A., Blickhan, R. (2003) Positive force feedback in bouncing gaits? Proc. R. Soc. Lond. B. 270:2173-2183
  • He, J., Levine, W.S., Loeb, G.E. (1991) Feedback gains for correcting small perturbations to standing posture Automatic Control, IEEE Transactions on 36.3: 322-332.
  • Winters, J.M., Stark, L. (1987) Muscle Models: What is gained and what is lost by varying model complexity Biological Cybeernetics. 55:403-420


indexmenu_n_31

biomechanik/modellierung/mm2.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