Benutzer-Werkzeuge

Webseiten-Werkzeuge


adp_laufrobotik:adp_2012_ws_group1:simulation

Dies ist eine alte Version des Dokuments!


Simulation01


Thema Simulation
Veranstaltung ADP Laufrobotik
Semester WS 2012/13
Namen Burbach, J.-N.; Erler, P.; Hoitz, F.; Stuhlenmiller, F.; Xiaoguang, Z.; Zimmermann, C.; Zwetsch, F.
Bearbeitungsdauer 60 min
Author/Verantwortlich Xiaoguang Zhang


Einleitung

Ein wesentlicher Teil des ADPs ist die Entwicklung der Matlab/Simulink-Simulation des Marco-Hopper-Robots mit einem Muskelmodell nach Hill sowie dem CE nach Häufle. Diese dient dazu, das Verhalten des Systems, d. h. des Marco-Hopper-Robots mit Muskelnachbildung bei einem Sprung oder Hüpfen möglichst exakt nachzubilden, um anhand dieser Informationen die einzelnen Komponenten (z. B. Federsteifigkeiten, Dämpfungen) für die Konzeptionierung auszulegen. Zudem ist anhand der Simulation eine erste Abschätzung möglich, ob die gesetzten Ziele erreicht bzw. die Anforderungen an das System (z. B. Sprunghöhe) erfüllt werden können.
Da der Gesamtaufbau von der Struktur und der Anzahl der Parameter her sehr komplex ist, wird das Modell schrittweise aufgebaut. Dazu wird basierend auf einer Veröffentlichung von Häufle [Haeufle u. a. (2012)] das CE-Element nachgebildet und validiert. Dieses wird sukzessiv um einzelnen Komponente erweitert und nach jeder Erweiterung so weit wie möglich plausibilisiert. Die mit der Erhöhung des Detaillierungsgrades des Modells gewonnen Informationen werden direkt verwendet und fließen in die Auslegung der Komponenten ein. Zudem flossen in umgekehrter Richtung Informationen, die bei der Konzeptionierung gewonnen werden in die Simulation ein, z. B. Restriktionen bei Stellwegen der Federn. Auf diesem Weg kann die Simulation nach und nach an das reale Verhalten angenähert werden.

Implementierung und Validierung des CE

Als Grundlage für das CE dient der von Guenther [Guenther und Schmitt (2010)] vorgestellte mechanischen Aufbau erster Ordnung. Häufle zeigt in [Haeufle u. a. (2012)], dass unter Verwendung dieses Modells das Kraft-Geschwindigkeits-Verhalten eines Muskels durch zwei Quick Release Experimente nachgewiesen werden kann. Diese Experimente wurden sowohl anhand eines numerisches Modells als auch einem Hardware Aufbau durchgeführt.
Ziel ist es, das CE in Form der vorgestellten Struktur [Haeufle u. a. (2012)] als numerisches Modell nachzubilden und durch Simulation der Quick Release Experimente das System zu validieren. Die Formel 1 zeigt das makroskopische Modell mit einer trägen Masse $m_2$ am unteren Ende sowie die zugehörige Freischnitt-Skizze. Aus dem Kräftegleichgewicht am Punkt $y_{m1}$ ergibt sich folgende Gleichung:

\begin{equation} F_{CE} = F_{SE} = F_{AE} + F_{PDE}. \end{equation}
Die Kraft die durch den Dämpfer erzeugt wird ist proportional zur Geschwindigkeit

\begin{equation} \setcounter{equation}{2} F_{PDE} = d_{PDE}(F_{CE}) \cdot l'_{PDE}, \end{equation}
und besitzt einen nicht konstanten Dämpfungswert der eine Abhängigkeit der CE-Kraft besitzt

\begin{equation} \setcounter{equation}{3} d_{PDE}(F_{CE}) = D_{PDE,max} \cdot ((1-R_{PDE}) \cdot \frac {F_{CE}}{F_{AE,max}}+R_{PDE}). \end{equation}
Am Punkt $y_{m2}$ ergibt sich durch Anwendung des Kräftesatzes folgender Zusammenhang

\begin{equation} \setcounter{equation}{4} y''_{m2} = \frac {F_{SE}}{m2} - g, \end{equation}
<imgcaption image1 |CE Modell mit Freischnitt-Skizze> </imgcaption>

und zwischen den beiden Freiheitsgraden besteht durch die Feder SE die nichtlineare Zwangsbedingung

\begin{equation} \setcounter{equation}{5} F_{SE} =\begin{cases}-k_{SE} \cdot \Delta l_{SE}, & \Delta l_{SE} > 0\\ 0 & \Delta l_{SE} \leq 0. \end{cases} \end{equation}
Durch dieses unidirektionale Verhalten ist gewährleistet, dass das Muskelmodell entsprechend einem realen Muskel nur Kontraktionen ausführen kann.
Mit diesen Gleichungen wird ein Simulink-Modell erzeugt. Als Parameter werden die in [Haeufle u. a. (2012)] aus einem Rattenmuskel hergeleiteten Werte verwendet. Bei den Quick Release Experimenten wird der Muskel zunächst auf konstanter Länge gehalten und die Aktivität $q_{AE}=1$ gesetzt, sodass sich die Maximalkraft $F_{AE,max}$ vor Lösen ausbildet (isometrisch Kontraktion). In der Simulation wird dies erreicht indem die Beschleunigung $y''_2$ in dieser Zeit gleich $0$ gesetzt wird. Häufle nutzte zwei Experimente um das F-V-Verhältnis nachzuweisen: Ein isometrisches Quick Release Experiment ($QR_F$), bei dem die Gegenkraft des „Muskels“ durch einen geregelten Motor aufgebracht wird, sodass sich eine isotonische Kontraktion einstellt und eine Kontraktion gegen die Gewichtskraft einer Trägen Masse ($QR_M$).Da sich bei der isotonisch Kontraktion der Zusammenhang ergibt, wird für die Simulation lediglich das Experiment ($QR_M$) nachgebildet.

Validierung

Zur Validierung wird lediglich das Experiment ($QR_M$) nachgebildet. Dazu wird die Simulation automatisch durch ein Matlabskript mit verschiedenen Massen $m_2$ ausgeführt, deren Werte im Bereich

\begin{equation} \setcounter{equation}{6} 0< m_2 < \frac{F_{AE,max}}{g}, \end{equation}
liegen. Um das Kraft-Geschwindigkeits-Verhältnis zu erhalten, wird nach dem Lösen des Muskels zum Zeitpunkt der maximalen Kontraktionsgeschwindigkeit $y'_{m2, max}$ die Kraft $F_{CE}$ gemessen. Beim Experiment ($QR_F$) bzw. isotonischer Kontraktion hat die serielle Feder keinen Einfluss, sodass sich der Zusammenhang

\begin{equation} \setcounter{equation}{7} y'_{m2} = y'_{m1}, \end{equation}
ergibt (vgl. [Haeufle u. a. (2012)]). Dieser Sachverhalt wird genutzt, um aus der Simulation von ($QR_M$) ebenfalls die Ergebnisse von ($QR_F$) zu erhalten. Dazu wird nach dem Lösen des Muskels zum Zeitpunkt der maximalen Kontraktionsgeschwindigkeit $y'_{m1, max}$ die Kraft $F_{CE}$ gemessen. Das diese Überlegung korrekt ist, zeigt sich im Vergleich der eigenen Simulationsergebnisse mit denen von Häufle ermittelten Werte. In den Abbildungen 2 und 3 ist erkennbar, dass die aus den Simulationen (bei Häufle als „Numerical model“ bezeichnet) erhaltenen Kurven quantitativ identisch sind und das Modell des CE ordnungsgemäß arbeitet. Daher ist anzunehmen, dass die Struktur des implementierten Modells korrekt ist und für die weitere Modellierung genutzt werden kann.
<imgcaption image2 |Kraftgeschwindigkeitsverhältnis des CE aus QRF , linkes Diagramm aus [Häufle u. a. (2012)], rechtes Diagramm eigene Ergebnisse> </imgcaption>
<imgcaption image3 |Kraftgeschwindigkeitsverhältnis des CE aus QRM, linkes Diagramm aus [Häufle u. a. (2012)], rechtes Diagramm eigene Ergebnisse> </imgcaption>

Erweiterung zum Hill-Modell

Der nächste Schritt besteht darin, dieses CE-Modell durch ein paralleles elastisches Element (PEE) und ein serielles elastisches Element (SEE) zu erweitern und damit ein vollständiges Hill-Modell zu erhalten. Die Erweiterung um PEE gestaltet sich einfach, da dies durch ergänzen der Kraft

\begin{equation} \setcounter{equation}{8} F_{PEE} = - k_{PEE} \cdot y_{m2}, \end{equation}
in Gleichung 4 zu

\begin{equation} \setcounter{equation}{9} y''_{m2} = \frac{1}{m_{2}} \cdot (F_{PEE} +F_{SE} - m_2 \cdot g), \end{equation}
die einzige Änderung in den Bewegungsgleichungen ergibt. Durch die Erweiterung mit SEE ergibt sich ein neuer Freiheitsgrad und somit eine weitere Bewegungsgleichung um die Koordinate $y_2$

\begin{equation} \setcounter{equation}{10} y''_{2}= \frac{1}{m_{2}} \cdot ( F_{SEE} - m_{2} \cdot g ). \end{equation}
Das zugehörige Modell sowie die Freischnitt-Skizze sind in Abbildung 4 dargestellt.
Die Federkraft in SEE berechnet sich zu

\begin{equation} \setcounter{equation}{11} F_{SEE} = k_{SEE} \cdot (y_{m2}- y_{2}), \end{equation}
Um die Koordinate $y_{m2}$ zu erhalten wird das Kräftegleichgewicht um diesen Punkt erstellt

\begin{equation} \setcounter{equation}{12} F_{SEE} = F_{PEE} + F_{SE}, \end{equation}
die Gleichungen 5, 8 und 11 eingesetzt und nach $y_{m2}$ aufgelöst:

\begin{equation} \setcounter{equation}{13} y_{m2}= \frac{k_{SEE} + y_{2}}{k_{PEE} + k_{SE} + k_{SEE}}, \end{equation}

\begin{equation} \setcounter{equation}{14} y_{m2}= \frac{k_{SEE} \cdot y_{2}}{K_{PEE} + k_{SEE}}. \end{equation}
<imgcaption image4 |Hill-Modell mit Freischnitt Skizze> </imgcaption>

Aufgrund der Nichtlinearität von SE ergeben sich zwei Gleichungen zur Berechnung von $y_{m2}$ zwischen denen in Abhängigkeit von der Differenz $y_{m2}-y_{m1}$ geschaltet werden muss. Um keine algebraische Schleife zu erzeugen bzw. den Phasenversatz zwischen $y_{m2}$ und $y_{m1}$ zu korrigieren ($y_{m2}$ ist das Ergebnis einer algebraischen Gleichung, $y_{m1}$ das einer Differenzialgleichung), wird ein Memoryblock verwendet, um $y_{m2}$ um einen Berechnungsschritt zu verzögern.

Validierung

Um Abschätzen zu können, ob das System sich korrekt verhält wird zuerst die statische Auslenkung der Koordinaten für einen bestimmten Parametersatz gemessen und mit berechneten Werten verglichen. Die Parameter werden zu diesem Zeitpunkt willkürlich festgelegt, zudem wird für diese Untersuchung an der Koordinate $y_{2}$ eine fiktive Dämpfung mit der Umgebung eingefügt, die sich nur auf das dynamische Verhalten auswirkt. Für $y_{m2}$ ergibt sich folgende Auslenkungen für $k_{PEE} = 1000\frac{N}{m}$ und $m_2 = 1,42kg$ (SE hat keinen Einfluss):

\begin{equation} \setcounter{equation}{15} y_{m2, stat} = \frac{-g \cdot m_2}{k_{PEE}} = -0,01393m. \end{equation}
Für $y_{2, stat}$ muss zuerst die Steifigkeit berechnet werden, die aus der serielle Anordnung von PEE und SEE ($k_{SEE} = 15000\frac{N}{m}$) resultiert. $k_{SE}$ hat keinen Einfluss auf die statische Auslenkung, da $F_{AE}$ nicht aktiv ist und die Dämpferkraft $F_{PDE}$ nur das dynamische Verhalten beeinflusst:

\begin{equation} \setcounter{equation}{16} k_{res} = \frac {k_{PEE} \cdot k_{SEE}} {k_{PEE}+k_{SEE}} = 937,5000 \frac{N}{m}. \end{equation}

\begin{equation} \setcounter{equation}{17} y_{2, stat} = \frac{-g \cdot m_2}{k_{res}} = -0,014859m. \end{equation}
Der Vergleich mit den Signalverläufen aus Abbildung 5 zeigt, dass die statischen Auslenkungen korrekt sind. Zum Zeitpunkt $t=0s$ wird der Muskel aufgrund der Gewichtskraft $m_2$ auseinandergezogen. Nach dem Einschwingen erreichen die Signale $y_{2}$ und $y_{m2}$ den berechneten Wert. $y_{m1}$ hingegen wird von SE herunter gezogen, aufgrund der Nichtlinearität von SE jedoch nicht mehr nach oben gedrückt. Dieses Verhalten wäre im realen Aufbau wahrscheinlich nicht erwünscht, jedoch ist es plausibel und wird in der Simulation zunächst einmal hingenommen.
<imgcaption image5 |Statische Auslenkung des Hill-Modells. Verwendete Parameter siehe Tabelle A.1> </imgcaption>
Wird die Dämpfung wieder entfernt müsste sich eine Schwingung an $y_2$ einstellen, die der Eigenfrequenz entspricht, die sich aus $k_{res}$ und $m_2$ ergibt, da SE keinen Einfluss darauf hat:

\begin{equation} \setcounter{equation}{18} f_{m2} = \sqrt{\frac{k_{res}}{m_2}} = 4.0894Hz \end{equation}
Da im Zeitbereich nur grob abgeschätzt werden kann, ob $y_2$ mit dieser Frequenz schwingt, wird ein Leistungsdichtespektrum mit der Matlabfunktion PSD erstellt. Dazu wird eine feste Abtastrate von $t_{abt} = 0,0001$ eingestellt und das Signal $20s$ aufgezeichnet. Als Frequenzstützstellen Anzahl wird die Dimension des Datenvektors gewählt und um Leckage-Effekte zu vermeiden eine Hann-Fensterfunktion. Anhand Abbildung 6 ist zu sehen, dass diese Frequenz ziemlich exakt getroffen ist. Das das Peak „abgeschnitten“ ist, liegt vermutlich an geringen Leckage-Effekten.
<imgcaption image6 |Leistungsdichtespektrum y2 Koordinate> </imgcaption>

Aktivierung des Muskels

Die Untersuchung des dynamischen Verhaltens bei Aktivierung des Muskels gestaltet sich v. a. aufgrund der Abhängigkeit der Dämpfung $d_{PDE}(F_{CE})$ von $F_{CE}$ schwierig bzw. ist es schwierig das Verhalten vorherzusagen. Zudem wird sich das Verhalten stark in Abhängigkeit der Aktivierungsform verändern. Aus diesem Grund wird für die weitere Untersuchung die einfache Aktivierung durch einen Puls (Simulink-Block: Puls Generator) gewählt, der in seiner Weite, Frequenz und Pulshöhe (entspricht der Kraft $F_{AE, max}$) moduliert werden kann. Das Ausgangssignal des Puls Generators wird durch ein $PT_1$ Tiefpass gefiltert (siehe Abbildung 7). Das sich daraus ergebende Modell entspricht dem in der Literatur häufig verwendeten Aktivierungsmodell, dass den Zusammenhangs zwischen neuronaler Stimulation $STIM(t)$ und Aktivierunszustand $Akt$ widergibt (vgl. [Otten (1987)], zitiert in [Rode (2009)]):

\begin{equation} \setcounter{equation}{19} A' = \frac{1}{\tau}(STIM(t)-Akt). \end{equation}
Inwiefern dieses Aktivierungsmuster biologisch motiviert ist wird im Rahmen dieser Arbeit nicht weiter untersucht.


<imgcaption image7 |Aufbau der Aktivierung in Simulink> </imgcaption>

Für weitere Untersuchungen des Hill-Modells wird die Aktivierung leicht variiert und die Einflüsse auf die Koordinatenverläufe betrachtet. Auf die gewählten Parameter wird an dieser Stelle nicht genauer eingegangen, da diese bisher mehr oder weniger willkürlich festgelegt wurden A.1. Das Systemverhalten scheint, im Rahmen der Möglichkeiten dies zu beurteilen, plausibel zu sein, wie man anhand Abbildung 8 zeigen kann: Die Muskelaktivierung erfolgt durch einen unverzögerten Puls zum willkürlich festgelegten Zeitpunkt $t=5s$. Die Koordinate $y_{m1}$ erfährt dabei die größte Auslenkung, da an dieser Stelle direkt $F_{AE}$ angreift. Nach der Aktivierung schwingen die Koordinaten mit einer größeren Amplitude als beim Absinken infolge der Gravitation (vgl. Abbildung 5). Dies ist darauf zurückzuführen, dass durch die Aktivierung mehr Energie ins System gesteckt wird. Die Koordinate $y_{m1}$ schwingt wie zuvor aufgrund der Nichtlinearität von SE nicht mit.
Die Dämpfungen $F_{DPE}$ wirkt ausschließlich in der Zeit, in der $F_{AE}>0$ ist oder die relative Auslenkung der Koordinate $y_{m1}$ größer ist als die von $y_{m2}$. Der Einfluss der Dämpfung auf die nach dem Sprung folgende Oszillation kann somit durch Verzögerung der Aktivierung mittels des $PT_1$-Glieds vergrößert werden.
Weitere Untersuchungen werden an dieser Stelle nicht durchgeführt, weshalb das Modell als fehlerfrei angenommen und im folgenden Kapitel die Erweiterung zum Hopper-Modell beschrieben wird.

<imgcaption image8 |Dynamisches Verhalten Hill-Modell. Verwendete Parameter siehe Tabelle A.1> </imgcaption>

Quellen

adp_laufrobotik/adp_2012_ws_group1/simulation.1366108592.txt.gz · Zuletzt geändert: 28.11.2022 00:10 (Externe Bearbeitung)


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