#+TITLE: Stiffness Modulation of Redundant Musculoskeletal Systems
#+AUTHOR: Dimitar Stanev
#+EMAIL: stanev@ece.upatras.gr
#+OPTIONS: email:t date:nil toc:nil \n:nil num:nil
#+LATEX_HEADER: \usepackage{fullpage}
#+LATEX_HEADER: \usepackage{parskip}
* Overview
This repository contains the setup scripts, documentation and source
code relevant to the publication "Dimitar Stanev and Konstantinos
Moustakas, Stiffness Modulation of Redundant Musculoskeletal
Systems, Journal of Biomechanics, vol. 85, pp. 101-107, Mar. 2019,
DOI: https://doi.org/10.1016/j.jbiomech.2019.01.017".
* How to run the Docker image
In order to provide a portable setup on which the published simulations and
analyses can be interactively reviewed, modified and executed, the provided
environment is built as a Docker image. Docker is available a multitude of
platforms and detailed installation instructions are provided as [[https://docs.docker.com/install/][part of the
project's online documentation]]. After installation, switch to the toplevel
directory of this repository and build the docker image:
#+BEGIN_SRC bash :exports code
docker build -t ubuntu_opensim_stanev .
#+END_SRC
You can change the name of the image (here =ubuntu_opensim_stanev=) to your
liking. After building, which should take a few minutes, the image can be run
in a container with the following command:
#+BEGIN_SRC bash :exports code
docker run -it -p 4000:80 ubuntu_opensim_stanev
#+END_SRC
The =-it= option instructs =docker= to run in interactive terminal mode, while
the =-p 4000:80= option bind the port 80 of the image to the port 4000 of the
localhost. Of course, the image name should match the one used in the build
command and the port 4000 can be substituted with any available port on the
localhost. After running the docker, open [[http://localhost:4000]] in your
browser and fill in the string 'stanev' (without the quotes) in the password
prompt.
* Demos
The user can navigate into the corresponding folders and inspect the source
code. The following case studies are provided in the form of interactive
Jupyter notebooks:
- *arm\under{}model/model.ipynb* presents a case study using muscle space
projection to study the response of segmental level reflexes
- *arm\under{}model/feasible\under{}muscle\under{}forces.ipynb* uses task space
projection to simulate a simple hand movement, where the feasible muscle
forces that satisfy this task are calculated and analyzed
- *arm\under{}model/feasible\under{}task\under{}stiffness.ipynb* calculates the
feasible task stiffness of the simple arm model for an arbitrary movement
- *feasible\under{}joint\under{}stiffness/feasible\under{}joint\under{}stiffness.ipynb*
calculates the feasible joint stiffness of an OpenSim model during walking
The .html files corresponding to the .ipynb notebooks included in the folders
contain the pre-executed results of the demos.