From e654fabf5aefa030ed8280243191bd3457da8d35 Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Sun, 21 Apr 2013 13:26:15 +0200 Subject: doc: Update report --- doc/abstract.tex | 6 +- doc/bibliography_additional.bib | 32 ++++++++ doc/conclusion.tex | 8 +- doc/discussion.tex | 6 +- doc/images/screenshot_opensim_gait2354.png | Bin 1907170 -> 262564 bytes doc/introduction.tex | 8 +- doc/methods.tex | 117 +++++++++++++++++++---------- doc/results.tex | 4 + 8 files changed, 134 insertions(+), 47 deletions(-) (limited to 'doc') diff --git a/doc/abstract.tex b/doc/abstract.tex index e1173a7..83b3932 100644 --- a/doc/abstract.tex +++ b/doc/abstract.tex @@ -1,3 +1,5 @@ -\chapter{Abstract} +\chapter*{\abstractname} -\TODO{Even needed?} \ No newline at end of file +Coordinating and learning to coordinate the movement of the human body is a non-trivial problem. One theory of how this could possibly be achieved suggests that complex movements are a result of the combination of simple, rudimentary building blocks called motor primitives. + +In the context of this project thesis data from a study on the development of motor primitives for biped locomotion was applied to a musculoskeletal model of the human legs in the OpenSim simulation software. The model could not be made to reproduce walking behavior, however valuable insights were gained on the capabilities of the OpenSim environment. OpenSim is targeted at -- and primarily used in -- studies in biomechanics were detailed clinical data are available. Thus the application of OpenSim to the analysis of more abstract data is not easily possible and would call for the availability of additional high resolution data and the precise modeling of ground contact forces. \ No newline at end of file diff --git a/doc/bibliography_additional.bib b/doc/bibliography_additional.bib index 5473e42..c59d4cd 100644 --- a/doc/bibliography_additional.bib +++ b/doc/bibliography_additional.bib @@ -1,3 +1,11 @@ +@book{Bear2007, + author = {Bear, Mark F. and Connors, Barry and Paradiso, Michael}, + title = {Neuroscience: Exploring the Brain}, + publisher = {Lippincott Williams \& Wilkins}, + address = {Philadelphia, PA, USA}, + edition = {Third Edition}, + year = {2007} +} @book{Bernstein1967, author = {Bernstein, Nikolai A.}, title = {The co-ordination and regulation of movements}, @@ -12,10 +20,34 @@ address = {Cambridge}, year = {1970} } +@book{Pfeifer1999, + author = {Pfeifer, Rolf and Scheier, Christian}, + title = {Understanding intelligence}, + year = {1999}, + isbn = {0-262-16181-8}, + publisher = {MIT Press}, + address = {Cambridge, MA, USA}, +} +@book{Pfeifer2006, + author = {Pfeifer, Rolf and Bongard, Josh C.}, + title = {How the Body Shapes the Way We Think: A New View of Intelligence (Bradford Books)}, + year = {2006}, + isbn = {0262162393}, + publisher = {The MIT Press}, +} @inbook{Shadmehr2005, author = {Shadmehr, R. and Wise, S. P.}, title = {A Simple Muscle Model}, booktitle = {Supplementary documents for ``Computational Neurobiology of Reaching and Pointing''.}, publisher = {MIT Press}, year = {2005} +} +@article{Torres-Oviedo2006, +author = {Torres-Oviedo, Gelsy and Macpherson, Jane M. and Ting, Lena H.}, +title = {Muscle Synergy Organization Is Robust Across a Variety of Postural Perturbations}, +volume = {96}, +number = {3}, +pages = {1530-1546}, +year = {2006}, +journal = {Journal of Neurophysiology} } \ No newline at end of file diff --git a/doc/conclusion.tex b/doc/conclusion.tex index 55d03d4..0f2ebba 100644 --- a/doc/conclusion.tex +++ b/doc/conclusion.tex @@ -3,6 +3,12 @@ \TODO{Conclusion about work done} +Musculoskeletal modeling has been instrumental in understanding joint torque and muscle function +during movements based on the physics of the musculoskeletal system. Because generating de novo +muscle-actuated simulations of movement based on performance criteria is challenging as a result +of both muscle redundancy and the stiffness of the solution space, particularly for unstable tasks +such as walking \cite{Ting2012} + Thus OpenSim with the provided and used muscle-skeleton models is in its current state not feasible for the simulation of tasks such as those that were subject of this project. @@ -14,4 +20,4 @@ not feasible for the simulation of tasks such as those that were subject of this \item Muscles were removed from the model ``arbitrarily'' (because no data is available for them), consequences for behavior of model unclear \end{itemize} -More abstract models such as the ones used by Geyer and Herr \cite{Geyer2010}, Marques et al \cite{Marques2012a, Marques2012} might be more suitable. \ No newline at end of file +More abstract models such as the ones used by Geyer and Herr \cite{Geyer2010}, Marques et al. \cite{Marques2012a, Marques2012} or Wang et al. \cite{Wang2012} might be more suitable. \ No newline at end of file diff --git a/doc/discussion.tex b/doc/discussion.tex index 6fb55ed..2f79705 100644 --- a/doc/discussion.tex +++ b/doc/discussion.tex @@ -1,6 +1,8 @@ \chapter{Discussion} \label{ch:discussion} -Problems with data (missing ground contact forces), OpenSim more suited for analysis of precise data acquired in subject studies. Ground contact forces key to investigate walking. +\TODO{Discuss the few results obtained. With a lot of interpretation an alternating movement of the legs could be seen. Problems with data (missing ground contact forces), OpenSim more suited for analysis of precise data acquired in subject studies. Ground contact forces key to investigate walking.} -\section{Evaluation of OpenSim} \ No newline at end of file +\section{Evaluation of OpenSim} + +\TODO{Describe what OpenSim is targeted at, how common studies done with it are done. How does it differ from what we intended to do? What would we need to provide in order to work with OpenSim for this project? Would it even be possible? What's the effort needed?} \ No newline at end of file diff --git a/doc/images/screenshot_opensim_gait2354.png b/doc/images/screenshot_opensim_gait2354.png index ac08810..d51e164 100644 Binary files a/doc/images/screenshot_opensim_gait2354.png and b/doc/images/screenshot_opensim_gait2354.png differ diff --git a/doc/introduction.tex b/doc/introduction.tex index 03dd594..8b1d210 100644 --- a/doc/introduction.tex +++ b/doc/introduction.tex @@ -1,12 +1,12 @@ \chapter{Introduction} -Controlling and learning to control movements of a many degree of freedom system such as the human body is a non-trivial task. How does the central nervous system (CNS) choose from the infinitely many possibilities of how to achieve a certain movement? This problem is famously known as Bernstein's problem \cite{Bernstein1967}. +Controlling and learning to control movements of a many degree of freedom system such as the human body is a non-trivial task. How does the central nervous system (CNS) choose from the infinitely many possibilities of how to achieve a certain movement? This problem is famously known as Bernstein's problem \cite{Bernstein1967}. Understanding how natural agents such as humans and animals control their movements is one of the fundamental questions in embodied artificial intelligence \cite{Pfeifer1999,Pfeifer2006} -Complex movements of humans (and other animals) are thought to develop based on a simple, rudimentary set of building blocks -- commonly called motor primitives -- during ontogenetic development \cite{Flash2005, Hart2010}. These primitives are defined by the pattern of simultaneous activation of different muscles and are then combined in order to achieve a certain movement. +Complex movements of humans (and other animals such as cats \cite{Torres-Oviedo2006}) are thought to develop based on a simple, rudimentary set of building blocks -- commonly called motor primitives or muscle synergies -- during ontogenetic development \cite{Flash2005, Hart2010}. These primitives are defined by the pattern of simultaneous activation of different muscles and are then combined in order to achieve a certain movement or pose. -Contrary to the hitherto belief that these innate simple reflexes get completely replaced by more complex ones with age, a recent publication by Dominici et al. \cite{Dominici2011} shows that certain basic patterns of muscle activation are instead retained and are being built upon during development in order to achieve a variety of walking movement behaviors. They measured EMG activity of 24 muscles simultaneously in neonates\footnote{Even though neonates of course can't walk by themselves, stepping can be evoked when they're being held upright and by gently pushing the infant along the pathway. However this behavior typically disappears 4 to 6 weeks after birth.} ($\sim{}3$ days old), toddlers (11-14 months old), preschoolers (22-48 months old) and adults (25-40 years old). Additionally foot pressure was recorded as well as the limb kinematics. +Contrary to the hitherto belief that these innate simple reflexes get completely replaced by more complex ones with age, a recent publication by Dominici et al. \cite{Dominici2011} shows that certain basic patterns of muscle activation involved in biped walking are instead retained and are being built upon during development in order to achieve a variety of walking movement behaviors. The study measured EMG activity of 24 muscles (the same 12 muscles in each leg) simultaneously in neonates\footnote{Even though neonates of course can't walk by themselves, stepping can be evoked when they're being held upright and by gently pushing the infant along the pathway. However this behavior typically disappears 4 to 6 weeks after birth.} ($\sim{}3$ days old), toddlers (11-14 months old), preschoolers (22-48 months old) and adults (25-40 years old). Additionally foot pressure was recorded as well as the limb kinematics. -This project thesis attempts to investigate the role these locomotor primitives play in the development of human bipedal walking by building a musculoskeletal simulation model in the OpenSim software \cite{Delp2007} and then applying the basic activation patterns at different stages of human development (neonate, toddlers, preschooler and adults) identified by Dominici et al. \cite{Dominici2011} to it in order to achieve a walking behavior. +This project thesis attempts to investigate the role these locomotor primitives play in the development of human bipedal walking by building a musculoskeletal simulation model in the OpenSim software \cite{Delp2007} and then applying the basic activation patterns at different stages of human development (neonate, toddlers, preschooler and adults) identified by Dominici et al. \cite{Dominici2011} to it in order to achieve a walking behavior. Thereby we hope to understand the basis of the development of biped walking in order to possibly be applied to humanoid robots, especially anthropomimetic robots \cite{Wittmeier2013} which more closely mimic the internal structure of the human body with respect to muscles, tendons, bones and joints. The basic process of developing the necessary components and finally reproducing the walking behavior will consist of the following distinct steps: diff --git a/doc/methods.tex b/doc/methods.tex index a08a982..517138d 100644 --- a/doc/methods.tex +++ b/doc/methods.tex @@ -5,68 +5,70 @@ Simulation is performed using the OpenSim\footnote{Not to be confused with the 3D virtual world software OpenSimulator, which is sometimes also abbreviated as OpenSim.} software \cite{Delp2007}. OpenSim is an open-source platform for modeling and analyzing neuromusculoskeletal structures and simulating their dynamic movement behavior. It's developed and maintained at the NIH Center for Biomedical Computation at Stanford University and is distributed as part of the Simtk.org repository. -\TODO{Describe working principle (controllers, models etc)} +In OpenSim, a simulation typically consists of a musculoskeletal model and a controller. The model can either be built individually or one of the models provided with OpenSim can be used. The model contains any combination of rigid bodies (such as bones), joints (simple or complex), constraints, springs, dampers, muscles and other actuators. A model is then assigned a controller which defines its dynamic behavior during simulation. There are predefined controllers available for forward dynamics (drive simulation with given muscle excitations), inverse kinematics (position model in simulation according to experimental markers and coordinate data at each time step) and inverse dynamics (determine generalized forces at each joint responsible for a given movement). -The software provides an extensive application programming interface (API) in order to develop custom simulation controllers. Additionally it contains a graphical user interface (GUI) used to visualize simulations, edit models and muscle excitation data, as well as to access predefined simulation controllers. +The software provides an extensive C++ application programming interface (API) in order to develop custom simulation controllers. Additionally it contains a graphical user interface (GUI) used to visualize models and simulations, edit models and muscle excitation data, as well as to access predefined simulation controllers. The GUI can be used independently from the simulation and the visualization is done using the data previously generated in the offline simulation. -The controllers provided with the OpenSim distribution turned out to require a very specific data collection as its input. These types of data are typically generated during experiments using motion capturing systems and force plates. +The controllers provided with the OpenSim distribution turned out to require a very specific data collection as its input. These types of data are typically generated during experiments using motion capturing systems and force plates. In the context of this project, no such data was or is available or could easily be acquired. Instead we rather rely on relatively sparse muscle activation data and have no ground force measurements available. Also we are interested in general principles of movement rather than the detailed analysis of the walking behavior of an individual subject. -In the context of this project, no such data was or is available or could easily be acquired. Instead we rather rely on relatively sparse muscle activation data and have no ground force measurements available. Also we are interested in general principles of movement rather than the detailed analysis of the walking behavior of an individual subject. +Thus a custom controller making use of the provided OpenSIM C++ API was developed which actuates the model based on the basic activation patterns from \cite{Dominici2011}. This approach also allows to specifically tune the simulation behavior to the requirements of this project and the data available. -Thus a custom controller making use of the provided OpenSIM API was developed which should actuate the model based on the basic activation patterns. This approach also allows to specifically tune the simulation behavior to the requirements of this project and the data available. - -For all tasks performed as part of this project, version 3.0 of OpenSim was used as provided on \url{http://www.simtk.org}. The source version was used and built accord +For all tasks performed as part of this project, version 3.0 of OpenSim was used as provided on \url{http://www.simtk.org}. The source version was used and built on Ubuntu Linux according to the provided instructions. Since the Linux version of OpenSim does not provide the GUI, the Windows version of OpenSim was used for visualization. \section{Musculoskeletal Model} \subsection{Simple Leg Model} +\label{subsec:simple_leg_model} + +In order to get familiar with modeling and controlling models in OpenSim, a simple model of a leg was created. It consists of three rigid bodies -- pelvis, femur and tibia -- and two joints -- hip and knee. The pelvis was fixed in space, the femur attached to it and the tibia attached to the femur. The model can be actuated using two muscles: Rectus Femoris and Biceps Femoris, which are an agonist/antagonist pair of muscles. They're attached to the pelivs on one end and to the femur and the tibia on the other end respectively. See figure \ref{fig:screenshot_opensim_simpleleg} for a visualization of the model. -\TODO{Describe SimpleLeg} +\begin{figure}[htb!] +\label{fig:screenshot_opensim_simpleleg} +\centering +\includegraphics[scale=0.6]{images/screenshot_opensim_simpleleg.png} +\caption{Visualization of the SimpleLeg model} +\end{figure} \subsection{Two-legged Model} -In the study by Dominici et al. \cite{Dominici2011} EMG activity of the following set of 14 muscles was recorded for each leg of the subject: +In the study by Dominici et al. \cite{Dominici2011} EMG activity of the following set of 12 muscles was recorded for each leg of the subject: \begin{itemize} - \item Tibialis Anterior (TA) - \item Gastrocnemius Lateralis (LG) - \item Gastrocnemius Medialis (MG) - \item Soleus (Sol) - \item Vastus Lateralis (VL) - \item Vastus Medialis (VM) - \item Rectus Femoris (RF) - \item Hamstring (HS) -- a group of four muscles, namely Semitendinosus, Semimembranosus, Biceps Femoris-Long Head and Biceps Femoris-Short Head - \item Adductor Longus (Add) - \item Tensor Fascia Latae (TFL) - \item Gluteus Maximus (GM) - \item Erector Spinae (ES) - \item External Oblique (OE) - \item Latissimus Dorsi (LD) + \item \emph{Tibialis Anterior (TA)} + \item \emph{Gastrocnemius Lateralis (LG)} + \item \emph{Gastrocnemius Medialis (MG)} + \item \emph{Soleus (Sol)} + \item \emph{Vastus Lateralis (VL)} + \item \emph{Vastus Medialis (VM)} + \item \emph{Rectus Femoris (RF)} + \item \emph{Hamstring (HS)} -- a group of four tigh muscles and their respective tendons, namely \emph{Semitendinosus}, \emph{Semimembranosus}, \emph{Biceps Femoris-Long Head} and \emph{Biceps Femoris-Short Head} + \item \emph{Adductor Longus (Add)} + \item \emph{Tensor Fascia Latae (TFL)} + \item \emph{Gluteus Maximus (GM)} + \item \emph{Erector Spinae (ES)} \end{itemize} -The musculoskeletal model to be used thus had to incorporate all these muscles, so the proper activation pattern could be directly applied. Several musculoskeletal models of human legs are already provided with OpenSim 3.0. For this project the Gait2354 model was used as a basis. This is a 23-degree-of-freedom model of the musculoskeletal system of the human leg. By default it contains 54 musculo-tendon actuators and represents a subject with a height of 1.8 m and a mass of 75.16 kg\footnote{More information on the Gait2354 model and its kinematic and dynamic properties as well as references to the studies the model is based on can be found on \url{http://simtk-confluence.stanford.edu:8080/display/OpenSim/Gait+2392+and+2354+Models}}. See figure \ref{fig:screenshot_opensim_gait2354} for a visualization of the model. +The musculoskeletal model to be used thus had to incorporate all these muscles for each leg, so the proper activation patterns could be applied. + +Several musculoskeletal models of human legs are already provided with OpenSim 3.0. For this project the \emph{Gait2354} model was used as a basis. This is a 23-degree-of-freedom model of the musculoskeletal system of the human leg. By default it contains 54 musculo-tendon actuators and represents a subject with a height of 1.8 m and a mass of 75.16 kg\footnote{More information on the \emph{Gait2354} model and its kinematic and dynamic properties as well as references to the studies the model is based on can be found on \url{http://simtk-confluence.stanford.edu:8080/display/OpenSim/Gait+2392+and+2354+Models}}. See figure \ref{fig:screenshot_opensim_gait2354} for a visualization of the model. Since the model represents an adult subject, the adult data from \cite{Dominici2011} was of primary interest. However OpenSim provides means to scale a given musculoskeletal model to different sizes, so the model could possibly be adapted to represent a neonate, toddler or preschooler respectively. \begin{figure}[htb!] \label{fig:screenshot_opensim_gait2354} \centering -\includegraphics[width=\textwidth]{images/screenshot_opensim_gait2354.png} -\caption{Screenshot of the Gait2354 model visualized in the OpenSim 3.0 GUI} +\includegraphics[scale=1.0]{images/screenshot_opensim_gait2354.png} +\caption{Visualization of the \emph{Gait2354} model} \end{figure} -The model was then adapted in order to only in its final version incorporate only the 28 muscles for which data was available. Table \ref{table:muscles_correspondence} shows the muscles from the study and the Gait 2354 musculoskeletal model respectively and how their activation was determined from the study data in the final model. The table shows only the muscles for one leg, the muscles of second leg were handled correspondingly. The leg to which each muscle in the model belongs, is signified by it having a postfix \emph{\_l} for the left leg, or a postfix \emph{\_r} for the right leg. +The model was then adapted in order to only in its final version incorporate only the muscles for which data was available. Table \ref{table:muscles_correspondence} shows the muscles from the study and the \emph{Gait2354} musculoskeletal model respectively and how their activation was determined from the study data in the final model. Some of the muscles (the \emph{Hamstring} and \emph{Gluteus Maximus} specifically) were measured as one in the study, but the muscles were present individually in the model. They were left as is and later on the controller was adapted to distribute the entire activation among the individual muscles (see \ref{subsec:locomotor_primitives_controller} for details). Furthermore for some of the muscles in the original \emph{Gait2354} model no activation data was available from the study, thus they were removed in the model for this project. The table shows only the muscles for one leg, the muscles of second leg were handled correspondingly. The leg to which each muscle in the model belongs, is signified by it having a postfix \emph{\_l} for the left leg, or a postfix \emph{\_r} for the right leg. \begin{center} \begin{longtable}{llll} \label{table:muscles_correspondence} -\\ + \textbf{Muscle} & \textbf{Name in model} & \textbf{Name in \cite{Dominici2011}} & \textbf{Activation Usage} \\ [1ex] \hline \\ [-1.5ex] Adductor Longus & add\_long & Add & used directly \\ [1ex] \hline \\ [-1.5ex] -Erector Spinae & ercspn & ES & used directly \\ -[1ex] \hline \\ [-1.5ex] -External Oblique & extobl & OE & used directly \\ -[1ex] \hline \\ [-1.5ex] Gastrocnemius Lateralis & lat\_gas & LG & used directly \\ [1ex] \hline \\ [-1.5ex] Gastrocnemius Medialis & med\_gas & MG & used directly \\ @@ -99,6 +101,8 @@ Gluteus Maximus 3 & glut\_max3 & part of GM & $\frac{1}{3}$ of GM activation \\ [1ex] \hline \\ [-1.5ex] Adductor Magnus 2 & add\_mag2 & - & removed from model \\ [1ex] \hline \\ [-1.5ex] +Erector Spinae & ercspn & ES & removed from model \\ +[1ex] \hline \\ [-1.5ex] Gluteus Medius 1 & glut\_med1 & - & removed from model \\ [1ex] \hline \\ [-1.5ex] Gluteus Medius 2 & glut\_med2 & - & removed from model \\ @@ -109,6 +113,8 @@ Gracilis & grac & - & removed from model \\ [1ex] \hline \\ [-1.5ex] Iliacus & iliacus & - & removed from model \\ [1ex] \hline \\ [-1.5ex] +Internal Oblique & intobl & - & removed from model \\ +[1ex] \hline \\ [-1.5ex] Inferio gemellus & gem & - & removed from model \\ [1ex] \hline \\ [-1.5ex] Pectineus & pect & - & removed from model \\ @@ -125,29 +131,64 @@ Tibialis Posterior & tib\_post & - & removed from model \\ [1ex] \hline \\ [-1.5ex] Vastus Intermedius & vas\_int & - & removed from model \\ [1ex] \hline \\ [-1.5ex] -Latissmus Dorsi & n/a & LD & no data available in \cite{Dominici2011} \\ -\caption{Muscles in the Gait2354 model and their correspondents in \cite{Dominici2011}} +\caption{Muscles in the Gait2354 model and their correspondents in \cite{Dominici2011}.} \end{longtable} \end{center} -Gait model provided with OpenSim (\TODO{Add reference to paper describing model}), muscles removes where no data was available from the paper. Muscles which were measured in combination in the study (hamstring, \dots) needed to be properly accounted for. +Because no data was available for the \emph{External Oblique (OE)} muscle -- one of the muscles which connects the torso to the pelvis -- the torso was removed from the model because otherwise only the back muscles, the \emph{Erector Spinae (ES)} would connect the torso to the pelvis, but would have no antagonist. Therefor OE and ES were removed for the final model, which then included 17 muscles for each leg. + +The joints were left as in the original \emph{Gait2354 models}. For initial experiments the ``joint'' connecting the pelvis to the world was fixed in space. + +Figure \ref{fig:screenshot_opensim_locomotorprimitives} shows the resulting musculoskeletal model. + +\begin{figure}[htb!] +\label{fig:screenshot_opensim_locomotorprimitives} +\centering +\includegraphics[scale=1.0]{images/screenshot_opensim_locomotorprimitives.png} +\caption{Visualization of the final musculoskeletal model used for the project.} +\end{figure} \section{Muscle Model} \subsection{Thelen Muscle Model} -For all muscles in the model, the Thelen muscle model \cite{Thelen2003} was used. This model is the default muscle model used OpenSim 3.0\footnote{\TODO{Add note about deprecated model of same name from previous versions of OpenSim}} and is employed in all muscluloskeletal models provided with OpenSim. The Thelen muscle model is based on the well-known and widely used Hill-type muscle-tendon model \cite{Hill1922,Hill1970,Shadmehr2005}, but incorporates adjustments in order to better account for age-related changes in the muscle properties. +For all muscles in the model, the Thelen mathematical muscle model \cite{Thelen2003} was used. This model is the default muscle model used by OpenSim 3.0\footnote{Note that OpenSim version up to 2.4 included numerical errors in the implementation. This deprecated version of the muscle model is still available in the software in the C++ class \texttt{OpenSim::Thelen2003Muscle\_Deprecated} but shouldn't be used for actual simulations.} and is available in the C++ class \texttt{OpenSim::Thelen2003Muscle}. This muscle model is employed in all musculoskeletal models provided with OpenSim. + +The Thelen muscle model is based on the well-known and widely used Hill-type muscle-tendon model \cite{Hill1922,Hill1970,Shadmehr2005,Zajac1989}, but incorporates adjustments in order to better account for age-related changes in the muscle properties. + +\begin{figure}[htb!] +\label{fig:hill_muscle_model} +\centering +\includegraphics[scale=2.0]{images/hill_muscle_model.pdf} +\caption{Schematic of the Hill-type mathematical muscle model.Illustration taken from \cite{Shadmehr2005}} +\end{figure} + +In the Thelen as well as in the Hill model, the muscle-tendon complex of an actuator consists of three components: a \emph{contractile element (CE)}, a \emph{passive element (PE)}, and a \emph{series elastic element (SEE or SE)}. See figure \ref{fig:hill_muscle_model} for an illustration, where $T$ is the tension, $K_{SE}$ the spring constant of the \emph{SE}, $K_{PE}$ the sprain constant of the \emph{PE}, $b$ the damping coefficient (of the \emph{CE}) and $A$ the active force of the muscle. + +The following parameters are used to characterize each Thelen-type muscle: maximum isometric force, optimal muscle fiber length, tendon slack length, maximum contraction velocity, and pennation angle. During simulation, the muscle force is calculated using two states: the activation value and the muscle fiber length. \section{Simulation Controller} \subsection{Simple Leg Controller} -\TODO{Describe ideas behind it} +The Simple Leg Controller was used in order to create a simulation using the Simple Leg model described in \ref{subsec:simple_leg_model} in order to get familiar with the OpenSim workflow. + +It implements a behavior similar to the stretch reflex (\emph{myotatic reflex}): An increase of muscle length causes the muscle spindles to be stretched, leading them to increase neural activity. This increases the activity of alpha motor neurons, which cause the muscle fibers to contract in order to regain the original muscle length. Using a second set of neurons, the antagonist muscle is caused to relax \cite{Bear2007}. \subsection{Locomotor Primitives Controller} +\label{subsec:locomotor_primitives_controller} \TODO{Describe ideas behind it} \section{Data Preparation} -Since the original data from the publication by Dominici et al. \cite{Dominici2011} could not be used, the respective pattern curves had to be extracted from the paper. In order to gather the data from there, a graph digitizer software (GraphClick by Arizona Software) was used. The data was then preprocessed by applying a curve interpolation in order to allow arbitrary, linearly spaced sampling of data points later on in the OpenSim model controller. \ No newline at end of file +\begin{figure}[htb!] +\label{fig:dominici_patterns_graphs} +\centering +\includegraphics[scale=1.0]{images/dominici_patterns_graphs.pdf} +\caption{Muscle activation pattern curves for the 24 muscles (EMG profiles averaged over all subjects). Taken from \cite{Dominici2011}.} +\end{figure} + +Since the original data from the publication by Dominici et al. \cite{Dominici2011} could not be used, the respective pattern curves had to be extracted from the paper (see figure \ref{fig:dominici_patterns_graphs}). This also lead to the fact, that neither data on ground contact forces nor kinematic tracker data was available. + +In order to gather the activation data from the publication, a graph digitizer software (GraphClick by Arizona Software) was used. The data was then preprocessed by applying a curve interpolation in order to allow arbitrary, linearly spaced sampling of data points later on in the OpenSim model controller. Curve interpolation was done in a Python script using the \emph{NumPy} and \emph{SciPy} toolboxes. \ No newline at end of file diff --git a/doc/results.tex b/doc/results.tex index 191588c..5c8a0b0 100644 --- a/doc/results.tex +++ b/doc/results.tex @@ -1,6 +1,10 @@ \chapter{Results} \label{ch:results} +\section{Reflexes in Simple Leg Model} + +\TODO{Describe results} + \section{Random Data} In order to validate the principal working of the model and the developed controller, random data resembling muscle activation patterns was generated for all the 53 muscles of the model. -- cgit v1.2.3-54-g00ecf