a b/README.md
1
Modeling musculoskeletal kinematic and dynamic redundancy using null space projection
2
===
3
4
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.2000421.svg)](https://doi.org/10.5281/zenodo.2000421)
5
6
`git lfs install`
7
8
`git lfs clone https://github.com/mitkof6/musculoskeletal-redundancy.git`
9
10
11
Description
12
---
13
14
This project contains the source code related to the following publication:
15
16
D. Stanev and Konstantinos Moustakas, Modeling musculoskeletal kinematic and 
17
dynamic redundancy using null space projection, PLoS ONE, 14(1): e0209171, 
18
Jan. 2019, DOI: https://doi.org/10.1371/journal.pone.0209171
19
20
The coordination of the human musculoskeletal system is deeply influenced by its
21
redundant nature, in both kinematic and dynamic terms. Noticing a lack of a
22
relevant, thorough treatment in the literature, we formally address the issue in
23
order to understand and quantify factors affecting the motor coordination. We
24
employed well-established techniques from linear algebra and projection
25
operators to extend the underlying kinematic and dynamic relations by modeling
26
the redundancy effects in null space. We found that there are three operational
27
spaces, namely task, joint and muscle space, which are directly associated with
28
the physiological factors of the system. A method for consistently quantifying
29
the redundancy on multiple levels in the entire space of feasible solutions is
30
also presented. We evaluate the proposed muscle space projection on segmental
31
level reflexes and the computation of the feasible muscle space forces for
32
arbitrary movement. The former proves to be a convenient representation for
33
interfacing with segmental level models or implementing controllers for tendon
34
driven robots, while the latter enables the identification of force variability
35
and correlations between muscle groups, attributed to the system's
36
redundancy. Furthermore, the usefulness of the proposed framework is
37
demonstrated in the context of estimating the bounds of the joint reaction
38
loads, where we show that misinterpretation of the results is possible if the
39
null space forces are ignored. This work presents a theoretical analysis of the
40
redundancy problem, facilitating application in a broad range of fields related
41
to motor coordination, as it provides the groundwork for null space
42
characterization. The proposed framework rigorously accounts for the effects of
43
kinematic and dynamic redundancy, incorporating it directly into the underlying
44
equations using the notion of null space projection, leading to a complete
45
description of the system.
46
47
Repository Overview
48
---
49
50
- arm_model: simulation of simple arm model
51
- feasible_joint_reaction_loads: calculation of the feasible reaction loads, by
52
  accounting for musculoskeletal redundancy effects
53
- docker: a self contained docker setup file, which installs all dependencies
54
  related to the developed algorithms
55
56
57
Demos
58
---
59
60
The user can navigate into the corresponding folders and inspect the source
61
code. The following case studies are provided in the form of interactive Jupyter
62
notebooks:
63
64
- [Arm Model](arm_model/model.ipynb) presents a case study using muscle space
65
  projection to study the response of segmental level reflexes
66
67
- [Muscle Space Projection](arm_model/muscle_space_projection.ipynb)
68
  demonstrates muscle space projection in the context of segmental level
69
  (reflex) modeling
70
71
- [Feasible Muscle Forces](arm_model/feasible_muscle_forces.ipynb) uses
72
  task space projection to simulate a simple hand movement, where the feasible
73
  muscle forces that satisfy this task are calculated and analyzed
74
75
- [Feasible Joint Reaction Loads](feasible_joint_reaction_loads/python/feasible_joint_reaction_loads.ipynb)
76
  demonstrates the utilization of the feasible muscle forces to calculate the
77
  bounds of the joint reaction loads during walking
78
79
The .html files corresponding to the .ipynb notebooks included in the folders
80
contain the pre-executed results of the demos.
81
82
83
<a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img
84
alt="Creative Commons License" style="border-width:0"
85
src="https://i.creativecommons.org/l/by/4.0/88x31.png" /></a><br />This work is
86
licensed under a <a rel="license"
87
href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution
88
4.0 International License</a>.