Content uploaded by Dimitar Stanev
Author content
All content in this area was uploaded by Dimitar Stanev on Jan 02, 2019
Content may be subject to copyright.
RESEARCH ARTICLE
Modeling musculoskeletal kinematic and
dynamic redundancy using null space
projection
Dimitar StanevID*, Konstantinos Moustakas
Department of Electrical and Computer Engineering, University of Patras, Patras, Achaia, Greece
*stanev@ece.upatras.gr
Abstract
The coordination of the human musculoskeletal system is deeply influenced by its redun-
dant structure, in both kinematic and dynamic terms. Noticing a lack of a relevant, thorough
treatment in the literature, we formally address the issue in order to understand and quantify
factors affecting the motor coordination. We employed well-established techniques from
linear algebra and projection operators to extend the underlying kinematic and dynamic rela-
tions by modeling the redundancy effects in null space. We distinguish three types of opera-
tional spaces, namely task, joint and muscle space, which are directly associated with the
physiological factors of the system. A method for consistently quantifying the redundancy
on multiple levels in the entire space of feasible solutions is also presented. We evaluate the
proposed muscle space projection on segmental level reflexes and the computation of the
feasible muscle forces for arbitrary movements. The former proves to be a convenient repre-
sentation for interfacing with segmental level models or implementing controllers for tendon
driven robots, while the latter enables the identification of force variability and correlations
between muscle groups, attributed to the system’s redundancy. Furthermore, the useful-
ness of the proposed framework is demonstrated in the context of estimating the bounds of
the joint reaction loads, where we show that misinterpretation of the results is possible if the
null space forces are ignored. This work presents a theoretical analysis of the redundancy
problem, facilitating application in a broad range of fields related to motor coordination, as it
provides the groundwork for null space characterization. The proposed framework rigor-
ously accounts for the effects of kinematic and dynamic redundancy, incorporating it directly
into the underlying equations using the notion of null space projection, leading to a complete
description of the system.
Introduction
The human musculoskeletal system has a redundant structure, i.e., there are more Degrees of
Freedom (DoFs) than those required to perform a certain task (kinematic redundancy) and
each DoF is actuated by multiple muscles (dynamic redundancy). This over-availability poses
numerous challenges in the process of modeling and simulation that can negatively affect the
PLOS ONE | https://doi.org/10.1371/journal.pone.0209171 January 2, 2019 1 / 26
a1111111111
a1111111111
a1111111111
a1111111111
a1111111111
OPEN ACCESS
Citation: Stanev D, Moustakas K (2019) Modeling
musculoskeletal kinematic and dynamic
redundancy using null space projection. PLoS ONE
14(1): e0209171. https://doi.org/10.1371/journal.
pone.0209171
Editor: Marc H.E. de Lussanet, University of
Mu¨nster, GERMANY
Received: December 18, 2017
Accepted: November 30, 2018
Published: January 2, 2019
Copyright: ©2019 Stanev, Moustakas. This is an
open access article distributed under the terms of
the Creative Commons Attribution License, which
permits unrestricted use, distribution, and
reproduction in any medium, provided the original
author and source are credited.
Data Availability Statement: Data are available
from GitHub (https://github.com/mitkof6/
musculoskeletal-redundancy/).
Funding: This work was supported in part by the
EC Horizon 2020 project OACTIVE: Advanced
personalised, multi-scale computer models
preventing OsteoArthritis, Grant Agreement No.
777159 to KM (url: http://oactive.eu/) and by the
EC FP7 project NoTremor: Virtual, Physiological
and Computational Neuromuscular Models for
the Predictive Treatment of Parkinsons Disease,
Grant Agreement No. 610391 to KM (url:
validity of the models and the obtained results, rendering their application frequently inappro-
priate for clinical practice. Despite the fact that mathematical tools for studying redundant sys-
tems do exist, they are still not widely adopted in the field of musculoskeletal simulation.
Proper formalization and interpretation of redundancy can significantly improve our under-
standing of the motor coordination problem.
We introduce an extended derivation of the underlying equations that govern the kinematic
and dynamic evolution of the system, accounting explicitly for the different types of redun-
dancy presented. The derivations rely on the theory of linear projection operators and the
properties of the associated subspaces. An intuitive analogy is the projection of a point from
3D space to a point on a plane (2D). When mapping from a high-dimensional subspace the
problem is straightforward, however, the projection from 2D to 3D is not unique. By incorpo-
rating the null space one can identify the feasible solution space and outline the factors that
influence it.
What makes musculoskeletal systems challenging is not only the process of creating accu-
rate mathematical representations, but also the assumptions that are introduced when they are
analyzed. Traditional solutions of the muscle redundancy problem [1], such as minimum
effort criterion, are very popular and have roots in a compelling evolutionary hypothesis,
which states that motor control systems evolve to minimize energy expenditure during move-
ment. Undeniably, single solution methods are of great importance, however, the assumptions
that are introduced can severely hinder the validity of the obtained results. This is especially
evident in the case of rigidity [2] in Parkinson’s disease, which is characterized by the inability
of the muscles to relax. Clearly, a particular solution will not only bias the results, but will also
affect the calculation of other quantities that depend on the muscle forces, like joint reaction
loads. On the other hand, identification of the feasible solution space, as outlined in this work,
can help to properly interpret results obtained from the redundant musculoskeletal systems.
Contribution—Motivation
The main contributions of this work can be summarized below:
• Identify the properties of kinematic redundancy when performing a specific task and estab-
lish the kinematic and dynamic relations (sections “Relation between task and joint space
quantities” and “Task space equations of motion”). Determine the properties of dynamic
redundancy and their relationship to joint and muscle space quantities both at a kinematic
and dynamic level (sections “Relation between muscle and joint space quantities” and “Mus-
cle space equations of motion”). This description can potentially enable the modeling and
evaluation of hypotheses related to normal and pathological conditions presented in the
coordination process (e.g., slack muscle disorder, increase in joint stiffness, rigidity, etc.).
We also show that these disorders manifest themselves in the null space.
• Propose an alternative representation of the Equations of Motion (EoMs) in muscle space
(section “Muscle space equations of motion”). Muscle space projection is a convenient repre-
sentation for interfacing with segmental level models (e.g., reflexes) [3] or implementing
controllers for tendon driven robots [4]. Furthermore, it has the highest number of DoFs
and permits coordination of different aspects of the movement (e.g., co-contraction) that are
uncontrollable in subspaces of lower dimensionality. Task and joint space projections are
specializations of muscle space.
• Establish an effective model for quantifying redundancy with respect to the movement task,
the neuromuscular model (e.g., linear/nonlinear muscle model, synergy encoding [5]) and
the anatomical characteristics of the muscle routing (the muscle moment arm and its null
Modeling musculoskeletal kinematic and dynamic redundancy using null space projection
PLOS ONE | https://doi.org/10.1371/journal.pone.0209171 January 2, 2019 2 / 26
http://notremor.eu/notremor/). There was no
additional external funding received for this study.
The funders had no role in study design, data
collection and analysis, decision to publish, or
preparation of the manuscript.
Competing interests: The authors have declared
that no competing interests exist.
space) (section “Exploitation of kinematic and dynamic redundancy”). This approach is
advantageous as compared to the local techniques (e.g., minimum effort optimization [1])
that are suitable for finding only a particular solution, because it identifies the entire solution
space of possible muscle force realizations as well as the factors that influence its structure.
The importance of identifying the entire solution space when estimating the bounds of the
joint reaction loads is demonstrated and we further show that misinterpretation of the
results is possible if local techniques are used as compared to the proposed approach.
The results demonstrate working examples of the developed models. The projected EoMs
in muscle space provide a new perspective for studying the musculoskeletal system in this
domain. In section “Muscle space projection and reflexes”, we design a posture controller that
encapsulates the characteristics of the internal regulation process performed in the spinal cord
and study the response of the system under external disturbances. Muscle space projection
proves to be a convenient representation to solve this problem, since no conversion to muscle
activation is required.
In section “Characterization of the feasible muscle force space”, we present a case study in
which we determine the force variability and correlations between different muscle groups for
arbitrary movements and show that there is a significant systematic correlation between differ-
ent muscle pairs that emerges from the muscle routing properties and the functional constraints
of the task. This can be used to estimate the importance of actors/muscles during the move-
ment, to identify synergies and classify the various control strategies available [6,7], considering
the entire solution space. This not only demonstrates an effective approach for finding the fam-
ily of possible solutions, but also exposes the structural relations of the null space solutions.
In section “The effect of null space on the joint reaction loads”, we perform a joint reaction
analysis on a gait, using a realistic full body model, appropriately accounting for the null space
muscle forces that do not alter the movement. Accurate joint reaction force estimation
requires reliable assessment of the muscle forces. As this is an impossible task, we demonstrate
the usefulness of identifying the feasible muscle forces in order to determine the limits of the
reaction loads. The large variance that is evident from the results confirms that misinterpreta-
tion of the reaction loads is possible if the null space contribution is ignored.
To the best of our knowledge this is the first study that incorporates the null space as shaped
by the redundant nature of the system into the kinematic and dynamic relations. We investi-
gate the properties of these projections with emphasis on their physiological counterparts.
Thus, a complete theoretical analysis is constructed, which can be extended for many practical
applications related to the motor coordination. The source code along with any related mate-
rial for this publication are publicly available, providing simple examples so that the readers
can reproduce, understand and reuse the presented methods (S1 File).
Related work
Motor control is the process by which humans and animals use their nervous system to acti-
vate and coordinate the muscles and limbs involved in the performance of a movement. The
redundant nature of the musculoskeletal system was noted over fifty years ago [8], highlighting
the over-availability of DoFs for most common tasks. Subsequently, researchers have created
formal descriptions of the physiological process in order to identify the main variables respon-
sible for coordinated movement [9–12]. Important hypotheses relative to these have been
developed, improving our understanding of the central coordination problem [13,14].
It has been shown that the musculoskeletal system can act as a “filter” that transforms the
feasible muscle activations into a set of feasible wrenches [15,16], revealing an important
direction towards a holistic identification of the system capabilities. We propose a more
Modeling musculoskeletal kinematic and dynamic redundancy using null space projection
PLOS ONE | https://doi.org/10.1371/journal.pone.0209171 January 2, 2019 3 / 26
general approach (section “Exploitation of kinematic and dynamic redundancy”), where the
computed feasible muscle forces are both action-specific, accounting for the dynamic evolu-
tion of the motion, and satisfy the physiological constraints of the muscles, outlining the vari-
ous factors that affect the solution space. Since the entire solution space is obtained using our
framework, we can quantifiably explore the available strategies to the Central Nervous System
(CNS). This is useful because it is still unclear how the CNS explores the musculoskeletal
redundancy by controlling a low-dimensional subset of synergies [5,17] and whether there is a
correlation with the structure of the musculoskeletal system and the functional constraints
each task [16,18]. We will show that both the structure of the model and the task (movement)
indirectly impose some degree of muscle correlation (section “Characterization of the feasible
muscle force space”).
The use of linear projection operators have been successfully utilized in the field of robotics
[19–21] in order to separate and simplify the control problem into multiple objectives. It has
been shown that task-based projection can be used effectively for planning and simulation of
constrained musculoskeletal systems [22,23] and furthermore, it provides the means to iden-
tify the kinematically redundant DoFs. In a similar vein, we explore the null space properties
as well as the potential applications that exploit not only the kinematic redundancy, but also
the dynamic redundancy of the system. Detailed derivations are presented in order to provide
the reader with the appropriate background to understand the implications of the proposed
models for addressing redundant systems.
Preliminaries—Notation
The mathematical notation follows the ISO guidelines. Variables are set in italic (e.g., a2R);
constants and function are set in roman; vector and matrices are set in bold italic. Vectors are
denoted by lower-case letters (e.g., c2Rm) and matrices by upper-case (e.g., C2Rnn).
Linear projection operators are used extensively, deeming the introduction of the relevant
notation necessary. For a given linear transformation
Ax ¼b;x2 <n;b2 <m
A¼
a1;1 a1;n
.
.
...
..
.
.
am;1 am;n
2
6
6
6
6
4
3
7
7
7
7
5¼
j j
c1 cn
j j
2
6
6
6
43
7
7
7
5¼
rT
1
.
.
.
rT
m
2
6
6
6
6
4
3
7
7
7
7
5ð1Þ
where the Amatrix defines a mapping A:Rn!Rm. The column space (a.k.a. image or
range) of Ais a space spanned by its n m-dimensional column vectors
CðAÞ ¼ spanðc1;. . . ;cnÞ Rmð2Þ
which is an r-dimensional (rnindependent columns) subspace of Rmcomposed of all possi-
ble linear combinations of its ncolumn vectors. The row space of Ais a space spanned by its m
n-dimensional row vectors
RðAÞ ¼ spanðr1;. . . ;rmÞ Rnð3Þ
which is an r-dimensional subspace of Rncomposed of all possible linear combinations of its
mrow vectors. The left null space of A(NðAÞ), is the set of all xthat satisfy the homogeneous
equation
NðAÞ ¼ fx2Rn:Ax ¼0g Rnð4Þ
Modeling musculoskeletal kinematic and dynamic redundancy using null space projection
PLOS ONE | https://doi.org/10.1371/journal.pone.0209171 January 2, 2019 4 / 26
and similarly the right null space of A(NðATÞ) is the set of all bthat satisfy
NðATÞ ¼ fb2Rm:ATb¼0g Rm:ð5Þ
The following properties between the various subspaces hold for an operator A(?stand for
orthogonal complement and the symbol denotes the direct sum)
RðAÞ ¼ CðATÞ;CðAÞ ¼ RðATÞ
RðAÞ \ NðAÞ ¼ ;;RðAÞ ? NðAÞ;RðAÞ NðAÞ ¼ <n
CðAÞ\NðATÞ ¼ ;;CðAÞ ? NðATÞ;CðAÞ NðATÞ ¼ <m:
ð6Þ
The general solution of Eq (1) in the underdetermined case (n>m), since this is how
redundancy is presented, is of the form
x¼xkþx?ð7Þ
where xk2RðAÞis a particular solution and x?2NðAÞis an arbitrary vector that belongs to
null space of A(Ax
?
=0). The various relations between the different subspaces can be sum-
marized in Fig 1.
Fig 1. Subspace projection. Various relations between the different subspaces associated with matrix A. Note that the null space
solutions have zero contribution when projected by A.
https://doi.org/10.1371/journal.pone.0209171.g001
Modeling musculoskeletal kinematic and dynamic redundancy using null space projection
PLOS ONE | https://doi.org/10.1371/journal.pone.0209171 January 2, 2019 5 / 26
A projection operator Pis a linear transformation from a vector space to itself, for which
the idempotence property holds (P
2
=P). The operator is termed orthogonal if P=P
T
[20],
which is equivalent to the range and the null space being mutually orthogonal. We continue by
defining four projection operators, their properties and relations among the different sub-
spaces for a general system Ax =b.
Defination 1.[Projection operators]
Let T
A
=AA
+
(Tis used if Ais a tall matrix) and F
A
=A
+
A(Fis used if Ais a fat matrix) be
two orthogonal projection operators derived from matrix A, where A
+
is the Moore-Penrose
Pseudoinverse (MPP) matrix. The following assertions hold true:
1. TT
A¼TAand T2
A¼TA.
2. FT
A¼FAand F2
A¼FA.
3. T
A
A=AF
A
=Aand A
+
T
A
=F
A
A
+
=A
+
.
4. T
A
is the projector onto the CðAÞ.
5. F
A
is the projector onto the RðAÞ.
6. NTA¼ ðITAÞis the projector onto the NðATÞ.
7. NFA¼ ðIFAÞis the projector onto the NðAÞ.
8. NTAA¼0and ANFA¼0are the left and right null spaces, respectively.
Proof. Appendix “Projection operators”.
The following definition summarizes some useful properties of the MPP matrix which is
used extensively in this work.
Definition 2.[Moore—Penrose pseudoinverse]
For a matrix A2Rmn,the MPP of Ais defined as the matrix Aþ2Rnm,satisfying all the
following:
1. AA
+
A=A
2. A
+
AA
+
=A
+
3. (AA
+
)
T
=AA
+
4. (A
+
A)
T
=A
+
A
5. If Ahas full column rank, then A
+
= (A
T
A)
−1
A
T
(left inverse) and A
+
A=I.
6. If Ahas full row rank, then A
+
=A
T
(AA
T
)
−1
(right inverse)and AA
+
=I.
7. The MPP solves the “least squares” problem such that
kAx bk2 k Axpbk2;8x2Rn;xp¼Aþb:
Methods
Relation between task and joint space quantities
This section focuses on the study of kinematic redundancy, which in turn will pave the way
towards addressing the dynamic redundancy. Task space projection, a method that can reveal
the properties of kinematic redundancy, has been thoroughly studied [19,22] and we will
Modeling musculoskeletal kinematic and dynamic redundancy using null space projection
PLOS ONE | https://doi.org/10.1371/journal.pone.0209171 January 2, 2019 6 / 26
briefly introduce the basic concept here. Establishing a link between task execution (e.g.,
movement of the hand) and muscle coordination is essential, as it is more convenient to inter-
pret observations in task space rather than joint space. Furthermore, it is of great importance
to transform the complex movement of the musculoskeletal system as a composition of multi-
ple interleaved task goals, which may then be studied separately [24].
The task space position (x
t
) is given as a function of the generalized coordinates (q)
xt¼gðqÞ;xt2Rd;q2Rn;dnð8Þ
implying that the generalized coordinates fully describe the task. A task has an abstract mean-
ing, it can be interpreted either as a position, an orientation or a spatial primitive, which is a
combination of position and orientation. The first derivative of Eq (8) (the dot notation depicts
a derivative with respect to time) is given by
_
xt¼JtðqÞ_
q;JtðqÞ ¼
@g1
@q1 @g1
@qn
.
.
...
..
.
.
@gd
@q1 @gd
@qn
2
6
6
6
6
6
6
4
3
7
7
7
7
7
7
5ð9Þ
where the task Jacobian matrix (Jt2Rdn) defines a mapping from joint to task space
(Rn!Rd) and in most cases is a fat matrix. The inverse of Eq (9) must be augmented to
account for the kinematic redundancy (Eq (7)) when mapping from task space (Rd—low-
dimensional) to joint space (Rn—high-dimensional)
_
q¼_
qkþ_
q?¼Jþ
t_
xtþNFJt_
q0;NFJt¼ ðIJþ
tJtÞð10Þ
where NFJt2Rnnrepresents the right null space of J
t
(Definition 1) and _
q0an arbitrarily
selected vector in Rn. The derivative of Eqs (9) and (10) with respect to time are provided
below
€
xt¼_
Jt_
qþJt€
qð11Þ
€
q¼_
Jþ
t_
xtþJþ
t€
xtþ_
NFJt_
q0þNFJt€
q0ð12Þ
where €
q0is also an arbitrarily selected vector in Rn.
The task Jacobian defines a dual relation between motion and force quantities. The virtual
work principle can be used to establish the link between task and joint space forces
τTdq¼fT
tdxt
τTdq¼fT
tJtdq
τ¼JT
tft
ð13Þ
where JT
t:Rd!Rndefines a mapping from a low- to high-dimensional space. With the addi-
tion of the null space forces, the relationship between task forces and manipulator joint space
Modeling musculoskeletal kinematic and dynamic redundancy using null space projection
PLOS ONE | https://doi.org/10.1371/journal.pone.0209171 January 2, 2019 7 / 26
generalized forces takes the following general form
τ¼JT
tftþ ðI ðJþ
tJtÞT
|fflfflffl{zfflfflffl}
Jþ
tJt
Þτ0¼JT
tftþNFJtτ0ð14Þ
ft¼JþT
tτð15Þ
where τ02Rnis an arbitrarily selected vector and Eq (15) the inverse mapping of Eq (14).
Note that the null space complements the kinematic and dynamic relations in the sense that
there are several combinations of joint space velocities, accelerations and generalized forces
that bear no effect to the corresponding task space velocities, accelerations and forces. Further-
more, this redundancy is explored by the same null space term (NFJt), both at a motion and
force level by a virtue of the MPP properties (Definition 2).
Remark 1.[Task motion—force duality]
The projection operators derived from Jþ
tand JT
tspan the same subspaces.
Proof. Appendix “Task motion—force duality”.
Task space equations of motion
In the previous section (“Relation between task and joint space quantities”), the various rela-
tions between motion and force quantities of the kinetically redundant system were estab-
lished. The current section continues with the derivation of the EoMs that relate the task
acceleration to task space forces. Let the joint space EoMs have the following form
MðqÞ€
qþfðq;_
qÞ ¼ τð16Þ
where M2Rnndenotes the symmetric, positive definite joint space inertia mass matrix, n
the number of model DoFs and q;_
q;€
q2Rnthe joint space generalized coordinates and their
derivatives with respect to time. The term f2Rnrepresents the sum of all forces that act on
the system (e.g., gravity, Coriolis, centrifugal, external, etc.), whereas τ2Rnthe vector of
applied generalized forces that actuate the model.
We can project Eq (16) onto the task space by multiplying both sides from the left with J
t
M
−1
and using Eqs (11) and (14)
JtM1M€
qþJtM1f¼JtM1τ
€
xt_
Jt_
qþJtM1f¼JtM1ðJT
tftþNFJtτ0Þ
Λtð€
xtþbtÞ þ �
JT
tf¼ftþ�
JT
tNFJtτ0
ð17Þ
where Λt¼ ðJtM1JT
tÞ12Rdddenotes the task space inertia mass matrix, bt¼ _
Jt_
qthe
task bias term and �
JT
t¼ΛtJtM12Rdnthe generalized inverse transpose of J
t
that is used to
project joint space quantities in the task space.
At this point it is worth commenting on the different types of null space operators. If the
null space is derived using the MPP (as in Eq (14)), then the projection operator NFJtdoes not
ensure fully decoupled control in both task and null space. It has been shown that from the
many projection operators that map on the null space [25], there exists a unique generalized
inverse (�
JT
t) that ensures this decoupling [19], which is a useful property in the presence of
multiple prioritized tasks [26]. More specifically, suppose that
τ¼JT
tftþ ðIJT
t�
JT
tÞτ0ð18Þ
then we seek to find the generalized inverse that ensures zero contribution of the null space
Modeling musculoskeletal kinematic and dynamic redundancy using null space projection
PLOS ONE | https://doi.org/10.1371/journal.pone.0209171 January 2, 2019 8 / 26
forces to the acceleration of a task
Λtð€
xtþbtÞ þ �
JT
tf¼ft
JtM1ðIJT
t�
JT
tÞτ0¼
!0;8τ0ð19Þ
where the last requirement (¼
!) implies that
�
JT
t¼ΛtJtM1:ð20Þ
Remark 2.[Task space generalized inverse]
The null space projection operator NFJt¼IJþ
tJtcannot decouple task and null space forces,
owing to the uniqueness of the generalized inverse Jacobian that achieves this decoupling.
Proof. [19].
Relation between muscle and joint space quantities
Interestingly, we can follow a similar approach by establishing the corresponding relations
between the muscle and joint space quantities in order to address the dynamic redundancy
problem.
The musculotendon length is given as a function of the generalized coordinates (q)
lm¼fðqÞ;lm2Rm;q2Rn;n<mð21Þ
implying that the generalized coordinates fully define the musculotendon lengths, assuming
that the muscles are pretensioned. The derivative of Eq (21) with respect to time is given by
_
lm¼RðqÞ_
q;RðqÞ ¼
@f1
@q1 @f1
@qn
.
.
...
..
.
.
@fm
@q1 @fm
@qn
2
6
6
6
6
6
6
4
3
7
7
7
7
7
7
5ð22Þ
where the muscle moment arm (R:Rn!Rm) is always a tall matrix. Due to the over-avail-
ability of muscles, Eq (22) can be reformulated to account for any change in _
lmthat does not
contribute to a change in _
q
_
lm¼_
lk
mþ_
l?
m¼R_
qþNTR
_
lm0;NTR¼ ðIRRþÞð23Þ
_
q¼Rþ_
lmð24Þ
where NTR2Rmmrepresents the null space of R,_
lm0an arbitrarily selected vector in Rmand
Eq (24) the inverse mapping of Eq (23). The derivative of Eqs (23) and (24) with respect to
time are given by
€
lm¼_
R_
qþR€
qþ_
NTR
_
lm0þNTR
€
lm0ð25Þ
€
q¼_
Rþ_
lmþRþ€
lmð26Þ
with €
lm0being an arbitrarily selected vector in Rm. The null space contribution indicates that
the CNS may regulate the lengthening/shortening of the muscles without altering the corre-
sponding joint space quantities. This property can be used in coordinating different aspects of
Modeling musculoskeletal kinematic and dynamic redundancy using null space projection
PLOS ONE | https://doi.org/10.1371/journal.pone.0209171 January 2, 2019 9 / 26
the tendon driven limbs or in the modeling of several pathological conditions of the muscle
coordination process, such as slack muscle disorder.
From the virtual work principle (as in Eq (13)) we can establish a relationship between joint
and muscle space forces
τTdq¼ fT
mdlm
τTdq¼ fT
mRdq
τ¼ RTfm
ð27Þ
where RT:Rm!Rn. The negative sign convention is introduced, admitting that a muscle
induces positive work during shortening (_
lm0). The muscle forces f
m
can be written as the
sum of the two mutually orthogonal vectors fk
m2CðRþTÞand f?
m2NðRþÞ(Eq (7)). In con-
trast to Eq (27), the direct mapping does not require any reformulation, but the inverse
requires reformulation in order to account for the redundancy effect
fm¼ RþTτþ ðI ðRRþÞT
|fflfflffl{zfflfflffl}
RRþ
Þfm0¼ RþTτ
|fflfflffl{zfflfflffl}
fk
m
þNTRfm0
|fflfflffl{zfflfflffl}
f?
mð28Þ
where NTRis the same matrix defined in Eq (23), revealing the dual relationship between the
subspaces of Rand R
+T
(Remark 3). Note, however, that this definition spans the entire Rm,
whereas in reality muscle forces are strictly positive (contraction) and bounded (limited force),
which makes the above definition physiologically ill conditioned. In section “Exploitation of
kinematic and dynamic redundancy”, we will provide an effective solution to this problem. If a
solution satisfying the required torque exists, then there are infinitely many combinations of
muscle forces (NTRfm0) that do not alter the overall required torque. On a physiological level,
this strategy is explored by the CNS in order to regulate joint stiffness through muscle co-con-
traction [7].
Remark 3.[Moment arm motion—force duality]
The projection operators of Rdefines the same subspaces as the projection operators of R
+T
.
Proof. Similar to Appendix “Task motion—force duality”.
To summarize, it is of particular interest, whether pathological conditions can be encoded
in the choice of _
lm0,€
lm0and f
m0
. Examples include the investigation of the cause-effect of slack
muscle tone (e.g., hypotonia or hypertonia) or the increase in co-contraction causing rigidity.
The incorporation of the null space complements the original equations and unveils the struc-
ture of dynamic redundancy. Additional steps have to be performed to ensure that Eq (28)
provides physiologically correct interpretations.
Muscle space equations of motion
In the previous section (“Relation between muscle and joint space quantities”), the various
relations between motion and force quantities of the dynamically redundant system were
established. In this section we will derive the EoMs that relate the muscle lengthening/shorten-
ing accelerations to muscle space forces.
As was previously shown (Eq (28)), the muscle forces f
m
can be expressed as the sum of two
mutually orthogonal subspaces that span Rm(fm¼fk
mþf?
m). We can project Eq (16) onto the
muscle space by multiplying both sides from the left with −RM
−1
, also taking Eqs (25) and (27)
Modeling musculoskeletal kinematic and dynamic redundancy using null space projection
PLOS ONE | https://doi.org/10.1371/journal.pone.0209171 January 2, 2019 10 / 26
into account
RM1M€
qRM1f¼ RM1τ
ð€
lm_
R_
q_
NTR
_
lm0NTR
€
lm0Þ RM1f¼RM1RTfm
Λmð€
lmþbmÞ RþTf¼fk
mþNTRfm0
ð29Þ
where Λm¼ ðRM1RTÞþ2Rmmrepresents the muscle space inertia mass matrix, bm¼
_
R_
q_
NTR
_
lm0the muscle bias term and ΛmRM1¼RþT2Rmnis used to project joint
space quantities onto the muscle space. Note that the null space term NTR
€
lm0cancel out when
multiplied by Λm(Proposition 1). When Eq (29) is solved in an Inverse Dynamics (ID) man-
ner, the quantities of interest are the muscle forces f
m
, while _
lm0,f
m0
are free variables which
are selected to satisfy additional modeling criteria.
Proposition 1.[Muscle space inertia mass matrix]
Given that T
R
=RR
+
and Λm¼ ðRM1RTÞþthe following assertions hold:
1. Λ
m
is symmetric (Λm¼ΛT
m)iff Mis symmetric.
2. Λ
m
remains invariant under the projection operator T
R
.
3. ΛmΛþ
m¼TR.
4. ΛmNTR¼0.
Proof. Appendix “Muscle space inertia mass matrix”.
The introduction of the null space term (NTRfm0) complements the relationship between
muscle and joint space forces (Eq (28)) and the muscle space EoMs (Eq (29)). Without
this term, the relations are ill conditioned due to physiological restrictions of the muscles
(0≼f
m
≼f
max
). Although a particular solution f
m
or fk
mfor some arbitrary τor €
lm, respectively
does not necessarily satisfy these restrictions, a suitable f
m0
can be selected. Furthermore,
several aspects and patterns of muscle co-contractions can be modeled by appropriately select-
ing f
m0
.
Exploitation of kinematic and dynamic redundancy
In the previous section, we derived the EoMs in muscle space. Furthermore, we decomposed
the muscle forces (f
m
) into two mutually orthogonal subspaces that span the entire muscle
space (Rm). Here we will define an effective approach for taking advantage of the null space
contribution in order to satisfy the physiological restrictions of the muscles.
Muscle redundancy manifests itself during ID, whereas the null space term does not con-
tribute to the movement in a Forward Dynamics (FD) setting, because RTNTRfm0¼0. For a
given action a particular solution of muscle forces (fk
m) can be found by initially ignoring the
null space contribution (f?
m), which is not guaranteed to be physiologically correct (namely
9i:fi
m>fi
max or fi
m<0). However, the null space can provide a suitable correction in order to
satisfy the physiological constraints. A solution of muscle forces fk
min the task, joint or muscle
space respectively can be obtained as follows (note that the MPP solves the least squares
Modeling musculoskeletal kinematic and dynamic redundancy using null space projection
PLOS ONE | https://doi.org/10.1371/journal.pone.0209171 January 2, 2019 11 / 26
problem Definition 2)
fk
m¼ ΘTðΛt€
xtþbtÞ þ �
JT
tfÞ;Θ¼JtRþ2 <dxn
fk
m¼ RþTðM€
qþfÞ
fk
m¼ Λmð€
lmþbmÞ RþTf:
ð30Þ
It is well-known that muscle dynamics are described by a complex nonlinear system [27–
29] that depends on a multitude of factors, such as the strength of the muscles, the muscle acti-
vation dynamics, the pennation angle, the elastic properties of the muscle fibers and tendon,
the force-length and the force-velocity characteristics, etc. Consequently, these factors will also
affect the null space solution component f
m0
. Assuming the simplest possible muscle model
fm¼fmax am;0≼am≼1ð31Þ
where am2Rmrepresents a vector of muscle activations, fmax 2Rma vector specifying the
maximum muscle forces and the Hadamard (elementwise) product. We can impose bounds
on the possible solutions of f
m0
in the form of linear inequalities, by noting that Eqs (28) and
(31) must be equal
ð32Þ
Given an appropriately selected cost function, a unique solution of the linear inequalities
can be obtained by solving the constrained optimization problem. A generalization for a non-
linear muscle model [27] is presented below
ð33Þ
where fl;fv;fpe 2Rmare the force-length, force-velocity and passive muscle forces.
It is of great interest to understand the structural dependencies of these inequalities in
order to outline the feasible muscle force space. For a muscle model Mand an arbitrary action
A, the problem is expressed in its most general form (generalization of Eq (33)):
ZðNTRÞfm0≼βðM;AÞð34Þ
where the solutions (f
m0
) lie in a convex subspace of Rr(rm) and the feasible space is
bounded (Proposition 2). Note that the action (A) implicitly encodes the kinematic redun-
dancy (Eq (30)). Finally, the feasible muscle force set is computed as the sum of the particular
solution and the null space forces that satisfy the inequalities
f
m¼ ffk
mþNTRfi
m0;8ig:ð35Þ
Proposition 2.[Feasible null space forces]
The following properties hold true:
1. Eq (34) defines a convex set C.
2. Eq (34) is bounded if the inequality is feasible and if Zis full column rank.
Proof. Appendix “Feasible muscle force space”.
Modeling musculoskeletal kinematic and dynamic redundancy using null space projection
PLOS ONE | https://doi.org/10.1371/journal.pone.0209171 January 2, 2019 12 / 26
Traditional solutions of the muscle redundancy problem [1] (e.g., effort minimization)
ignore the possibilities of the system and prove to be inadequate in quantifying the decisive
factors, whereas Eqs (34) and (35) have an elegant form that outlines the entire set of possible
solutions. More importantly, each solution can be characterized (e.g., minimum effort, high
stiffness, rigidity, etc.), enabling classification of the different manifolds (strategies) available
to the CNS.
In order to compute the feasible muscle force set f
m, the physiological null space muscle
forces f
m0
must be obtained by sampling the space defined by a set of linear inequalities (Eq
(34)). The linear inequalities define a polytope (a convex polyhedron) as an intersection of a
finite number of half-spaces (hyperplane- or H-representation). According to Proposition 2,
this polytope has a finite number of extreme points (vertex- or V-representation), which we
use to sample this polytope sufficiently. The conversion from H-representation to V-represen-
tation is called vertex enumeration and can be achieved by using either a deterministic [30] or
randomized [31] approach. From an arrangement of nhyperplanes in Rd,vvertices are deter-
mined in O(n
2
dv) time. In our problem n= 2 m,dm(mbeing number of muscles), thus
the time complexity is O(vm
3
). In this work, we used the lrs library [30], which provides a
self-contained ANSI C implementation of the reverse search algorithm for vertex enumera-
tion. After obtaining the extreme points of the polytope, additional solutions are generated by
interpolating (ψ¼lxþ ð1lÞy) between vertices. This process generates samples spanning
the entire polytope due to its convexity, as proved earlier. An example of Algorithm 1 is pre-
sented (Fig 2) for the following system
Ax b;A¼
0 0 1
01 0
100
1 0 0
010
001
2
6
6
6
6
6
6
6
6
6
6
4
3
7
7
7
7
7
7
7
7
7
7
5
;b¼
0:5
0:5
0:5
0:5
0:5
0:5
2
6
6
6
6
6
6
6
6
6
6
4
3
7
7
7
7
7
7
7
7
7
7
5
:ð36Þ
Algorithm 1 Iterative sampling of a convex bounded polyhedron.
Input: H-representation Ax b,d: iteration depth
Output: A representative set S¼ fx:Ax bg
1: Find the V-representation Vusing lrs (or some other method)
2: for i= 0 to ddo
Fig 2. Sampling of bounded inequality. The inequality Eq (36) is sampled using Algorithm 1 for different levels of iteration depth
(d).
https://doi.org/10.1371/journal.pone.0209171.g002
Modeling musculoskeletal kinematic and dynamic redundancy using null space projection
PLOS ONE | https://doi.org/10.1371/journal.pone.0209171 January 2, 2019 13 / 26
3: T¼V
4: for all distinct fx;yg 2 Tdo
5: Add ψ¼lxþ ð1lÞyto V{λ = 0.5}
6: end for
7: end for
8: return V
Results
We proceed by demonstrating working examples of the developed models. Section “Muscle
space projection and reflexes” presents the utilization of muscle space projection for solving
the posture control problem, where the muscle length and derivatives are the regulating quan-
tities. This experiment highlights the importance of coordinate projection, which essentially
transforms the EoMs onto some space (e.g., task or muscle) to enable direct control of the
quantity of interest. Subsequently, section “Characterization of the feasible muscle force space”
continues by evaluating the feasible muscle forces in the context of an action and identifying
force variabilities and muscle group correlations. We highlight the main contribution of this
work, which is the calculation of the feasible muscle forces that satisfy both the task and the
physiological constraints of the muscles. The two experiments follow a Mixed Dynamics (MD)
scheme, where the FD method is used for simulating the model combined with an ID model-
based controller (muscle and task space, respectively), representing the underlying system.
These results are included as a mere demonstration of the possibilities that arise under our
framework using simple examples. Last but not least, a joint reaction analysis is performed on
a gait movement, appropriately accounting for the null space muscle forces that do not alter
the movement, demonstrating the importance of estimating the null space contribution and
its impact on the joint reaction loads.
A simplified arm model has been developed in order to demonstrate the utilization of the
proposed methods. It has three DoFs and nine muscles (Fig 3), appropriately constructed to
demonstrate both kinematic and dynamic redundancy (e.g., d<n<m). The EoMs and the
geometric parameters of the model are derived analytically in order to evaluate higher order
derivatives of moment arm and task Jacobian matrices (S1 File). The model is able to capture
the redundancy effects conveying the main contribution of this work and is also an excellent
tool for introducing these methods. An anatomically realistic full body gait model [32] is used
for the joint reaction analysis (OpenSim [33]), illustrating that the presented methods are uni-
versal and can be applied in more practical and realistic scenarios. The model, which has ten
DoFs and eighteen muscles (Millard muscle model [29]), features lower extremity joint defini-
tions, low back joint and a planar knee model.
Muscle space projection and reflexes
Muscle space projection exhibits several advantages in problems related to the segmental level
coordination, mainly because of the different muscle related variables (e.g., length, velocity,
muscle stiffness) that are directly/indirectly controlled by the CNS [11,12]. For example, the
proprioceptive receptors, located in the spinal cord, constantly measure the evolution of these
variables and issue corrective actions [34]. More specifically, the muscle spindle organs [35]
measure changes in the muscle length and the Golgi tendon organs [36] measure the force
exerted by their respective muscles. This indicates that the aforementioned variables are used
in an internal feedback regulation process [3].
We continue with the design of a posture controller that coarsely encapsulates the charac-
teristics of the internal regulation process performed in the spinal cord and the evaluation of
system’s response to external disturbances. As the muscle length and its derivative are the
Modeling musculoskeletal kinematic and dynamic redundancy using null space projection
PLOS ONE | https://doi.org/10.1371/journal.pone.0209171 January 2, 2019 14 / 26
regulating variables, muscle space projection is a natural representation in this setting. The fol-
lowing control scheme is adopted for this experiment
€
lmðtÞ ¼ kpðld
mlmðttsoÞÞ kd_
lmðttsoÞð37Þ
where €
lmðtÞrepresents the muscle length acceleration goals, ld
m¼lmðt¼0Þthe desired muscle
length positions, l
m
(t−τ
so
) and _
lmðtτsoÞthe perceived, delayed (τ
so
= 20 ms originating
from muscle spindle organs [3]) muscle length positions and velocities and k
p
,k
d
the reflex
gains. Note that this control law restores the system to its original posture l
m
(t= 0). A force dis-
turbance impulse in an arbitrary direction is applied on the end effector body. The impulse is
Fig 3. Diagram of the simplified arm model. The model has three DoFs and nine muscles, some of them being bi-articular. The
muscle origins are labeled as a
i
and the muscle insertions as b
i
.l
i
stands for muscle length, Lc
i
for center of mass and J
i
for joint
center.
https://doi.org/10.1371/journal.pone.0209171.g003
Modeling musculoskeletal kinematic and dynamic redundancy using null space projection
PLOS ONE | https://doi.org/10.1371/journal.pone.0209171 January 2, 2019 15 / 26
modeled by a Gaussian function
fðtÞ ¼ ae ðtt0Þ
2s2ð38Þ
where acontrols the magnitude, t
0
the application time and σthe smoothness of the impulse.
For the following experiments we will use a= 15, t
0
= 0.1, σ= 0.01 and the perturbation will
act in the −xdirection. The muscle space EoMs Eq (29) can serve as an ID model-based con-
troller for calculating the required muscle forces f
m
(Algorithm 2), which may then be fed to
the FD module. The _
lm0in Algorithm 2 can be arbitrarily selected by the modeler to encode
various strategies available by the CNS. In our experiments, _
lm0is set zero to encode an unbi-
ased strategy, for the sake of simplicity.
Algorithm 2 Muscle space force computation for a given goal using muscle space
projection.
Input: muscle length accelerations €
lm, null space muscle length veloc-
ities _
lm0
Output: muscle forces f
m
1: Solve Eq (29) for fk
mby initially ignoring the null space term NTRfm0
2: Minimize ||f
m0
||
2
for f
m0
subject to Eq (34)
3: Obtain the required muscle forces as fm¼fk
mþNTRfm0
4: return f
m
Fig 4 depicts collectively the simulation results when the system is perturbed and the two
reflex loops are active (k
p
= 10, k
d
= 10 and τ
so
= 20 ms). The impact is absorbed and the system
Fig 4. Posture analysis of the system in muscle space, including a “descending” command from the CNS. The first row of figures
presents the simulated joint space coordinates and speeds. The second row depicts the evolution of the muscle space quantities of the
controller. The model is perturbed and the response of the system is observed. The system absorbs the impact and returns to its
initial configuration. The controller gains are k
p
= 10, k
d
= 10 and the loop delay τ
so
= 20 ms.
https://doi.org/10.1371/journal.pone.0209171.g004
Modeling musculoskeletal kinematic and dynamic redundancy using null space projection
PLOS ONE | https://doi.org/10.1371/journal.pone.0209171 January 2, 2019 16 / 26
returns to its initial configurations (stable response). Conversely, in Fig 5 the “descending”
command is disabled (k
p
= 0), leaving the response of the reflex loop alone, in which the system
reaches a new, stable equilibrium. The muscle space projection suits this kind of studies well as
it offers a direct interface with segmental level models. On the contrary, additional transforma-
tion of the control variables is required if the problem were expressed in joint space. Different
combinations of reflex loop gains, delays and external factors can be evaluated quantitatively,
demonstrating the usefulness of this projection.
Characterization of the feasible muscle force space
In this experiment, the feasible muscle forces that satisfy the task and the physiological muscle
constraints are computed. The analysis is restricted on a particular time instance, where we
identify the muscle force bounds and correlations between different muscle pairs. The move-
ment of the hand is planned in task space using Eqs (18) and (19) as an ID model-based con-
troller in combination with a Proportional Derivative (PD) tracking scheme
€
xt¼€
xdþkpðxdxtÞ þ kdð_
xdxtÞð39Þ
where x
d
,_
xdand €
xddenote the desired position, velocity and acceleration of the end effector
and k
p
= 50, k
d
= 5 the tracking gains. The planning problem can be encoded naturally in task
space as compared to joint and muscle space controllers. Note that this analysis is independent
of the underlying ID representation (Eq (30)). Furthermore, a linear muscle model (Eq (32)) is
assumed.
Fig 5. Posture analysis of the system in muscle space without “descending” command from the CNS. The first row of figures
presents the simulated joint space coordinates and speeds. The second row depicts the evolution of the muscle space quantities of the
controller. After the perturbation the system settles to a new, stable equilibrium point. The controller gains are k
p
= 0, k
d
= 10 and the
loop delay τ
so
= 20 ms.
https://doi.org/10.1371/journal.pone.0209171.g005
Modeling musculoskeletal kinematic and dynamic redundancy using null space projection
PLOS ONE | https://doi.org/10.1371/journal.pone.0209171 January 2, 2019 17 / 26
The desired task goal is derived from a smooth sigmoid function that produces bell-shaped
velocity profiles in any direction around the initial position of the end effector
xdðtÞ ¼ xtð0Þ þ a
2ðtanhðbðtt0ÞÞþ1Þ;ytð0Þ
h iT
;_
xdðtÞ ¼ dxdðtÞ
dt ;€
xdðtÞ ¼ d_
xdðtÞ
dt
x0
d¼HzðgÞxd;_
x0
d¼HzðgÞ_
xd;€
x0
d¼HzðgÞ€
xd
ð40Þ
where x
t
,y
t
represent the 2 Dcomponents of x
t
,a= 0.3, b= 4 and t
0
= 1. Different directions
of movement are achieved by transforming the goals with H
z
(γ), which defines a rotation
around the z-axis of an angle γ. Eqs (34) and (35) enable the exploration of the feasible muscle
forces. In order to compute the feasible muscle force set f
m(Eq (35)), Eq (34) must be sampled
for f
m0
. In this experiment, we compute the vertices of the polytope using Algorithm 1 with
d= 0. The process is summarized in the following algorithm (Algorithm 3).
Algorithm 3 Calculation of the feasible muscle forces as affected by the moment arm null
space, muscle model and the action.
Input: action τ, muscle model M, null space NTR
Output: feasible muscle forces f
m
1: Find the particular muscle force solution fk
m(Eq (30))
2: Sample Eq (34) for f
m0
(Algorithm 1)
3: Calculate the feasible muscle force set from Eq (35)
4: return f
m
Fig 6 presents the simulation results for the simplified hand movement (movement along
the −xdirection, γ=π) collectively. We can inspect the evolution of the generalized
Fig 6. Collective simulation results for the simplified hand movement. The evolution of the general coordinates and speeds as
well as the simulated movement are presented in the figures of the first row. The second row shows the generalized forces, the
simulated and desired task goals and the task space forces computed by the controller. The parameters used in this experiment are
k
p
= 50, k
d
= 5, a= 0.3, b= 4, t
0
= 1 and γ=π.
https://doi.org/10.1371/journal.pone.0209171.g006
Modeling musculoskeletal kinematic and dynamic redundancy using null space projection
PLOS ONE | https://doi.org/10.1371/journal.pone.0209171 January 2, 2019 18 / 26
coordinates and speeds as well as simulated/desired task goals and the corresponding task
forces computed by the controller. Two instances of the simulation are isolated in Fig 7, where
the feasible muscle forces that satisfy the task are further analyzed. The resulting feasible spaces
are high-dimensional and various useful conclusions can be drawn. The feasible muscle force
space changes as the movement progresses, since it depends on the action, the muscle model
and the muscle routing properties.
The box plot shows the force variability of each muscle, which is attributed to the redundant
nature of the system. From a control point of view, the variability of each muscle seems to be
inversely proportional to the importance of its contribution to the current movement, follow-
ing the Uncontrolled Manifold Hypothesis (UMH) [9]. Fig 7 presents two instances of the sim-
ulated movement, one at the onset of the movement (0.5 s) and one at the peak of the required
effort (0.9 s), permitting a qualitative comparison the feasible muscle forces. As the force
requirements are small in the beginning of the movement (Fig 7a), the feasible muscle forces
span the entire space. On the contrary (Fig 7b), as the demand for movement increases the
agonists retain higher force profiles, while the antagonists’ contribution is attenuated. The pro-
vided correlation matrix between different muscle groups reveals agonist-antagonist relations,
which vary as the movement progresses. It can be concluded that there is a significant system-
atic correlation between different muscle pairs that emerges from the muscle routing proper-
ties and the functional constraints of the task.
Fig 7. The evolution of the feasible force set. Two instances of the simulated movement along the −xdirection are shown to
demonstrate the evolution of the feasible muscle space. The box plot depicts the force variability of each muscle as contributed to the
redundant nature of the system. The correlation matrix shows the positive or negative correlation between the different muscle pairs.
https://doi.org/10.1371/journal.pone.0209171.g007
Modeling musculoskeletal kinematic and dynamic redundancy using null space projection
PLOS ONE | https://doi.org/10.1371/journal.pone.0209171 January 2, 2019 19 / 26
The effect of null space on the joint reaction loads
The importance of evaluating the feasible muscle forces is demonstrated in the context of joint
reaction analysis. An accurate estimation of the muscle forces is essential for the assessment of
joint reaction loads. Consequently, the null space contributions can significantly alter the reac-
tion forces without affecting the movement.
A benchmark gait movement, available from the OpenSim dataset [33] was used for this
analysis. In a typical experimental setup the motion and externally applied forces are recorded.
Given these recordings, Inverse Kinematics (IK) and ID are performed in order to assess the
model kinematics and kinetics required to track the experimental measurements [37]. Instead
of estimating the muscle forces using Static Optimization (SO) or some other method [1,38],
we can recall Eq (28) and solve for f
m
accounting for the null space muscle forces, which are
present only when projecting from low- to high-dimensional space. Different realizations of
muscle forces were calculated by appropriately sampling the feasible muscle force space (Eqs
(34) and (35)). Finally, multiple joint reaction analyses were performed to evaluate the effect of
the feasible muscle forces on the reaction loads.
Fig 8 presents the normalized (with respect to body weight) reaction forces on the hip joint
during walking with the heel strike and toe-off events annotated accordingly. We observe that
the results obtained from OpenSim joint reaction analysis predict low reaction load levels,
since the minimum muscle effort criterion is used to compute the muscle forces, ignoring
muscle co-contraction. On the contrary, it is possible to calculate the feasible reactions without
making any prior assumption, which can limit the scope and extent of the analysis. Last and
perhaps most importantly, the large range of possible values confirms that misinterpretation of
the results is possible if the null space solutions are ignored.
Discussion
In this work, we approached the musculoskeletal redundancy problem by extending the kine-
matic and dynamic relationships using the notion of null space. This allowed us to study the
problem more systematically and to avoid introducing unnecessary assumptions (e.g., muscle
optimization). To achieve this level of modeling three operational spaces (task, joint and mus-
cle space) were introduced, whose main purpose is to allow a distinction between the
Fig 8. The effect of the null space muscle forces on the joint reaction loads. The normalized (with respect to body weight)
reaction loads on the hip joint during walking are reported along with the heel strike and toe-off events. The shaded area is the
reaction force range as attributed to the null space solutions of muscle forces. The red dotted line are the results obtained from
OpenSim. The large range in the reaction loads confirms that misinterpretation of the results is possible if the null space solutions
are ignored.
https://doi.org/10.1371/journal.pone.0209171.g008
Modeling musculoskeletal kinematic and dynamic redundancy using null space projection
PLOS ONE | https://doi.org/10.1371/journal.pone.0209171 January 2, 2019 20 / 26
kinematic and dynamic redundancy effects. More specifically, the kinematically redundant
DoFs in the context of a task were identified by considering the task and joint space relation-
ships. Likewise, the relations between joint and muscle or task and muscle spaces were used to
infer the level of muscle co-contraction, which result in the same movement behavior. From a
theoretical perspective, the main contribution of this work is the modeling of musculoskeletal
redundancy using the notion of null space and the calculation the feasible solution space,
enabling various useful post-analyses (e.g., feasibility studies, joint reaction analysis, task/joint
stiffness evaluation, etc.). The adoption of this framework can potentially enable the modeling
and evaluation of hypotheses related to normal and pathological conditions presented in the
coordination process, which can manifest in the null solution space (e.g., slack muscle disor-
der, increase in joint stiffness and rigidity).
From a control point of view, the purpose of projecting the EoMs onto some space is to
enable the direct control of some quantity of interest. In this work, we used the various repre-
sentations of the EoMs as ID model-based controllers in a MD scheme in order to perform FD
simulations by controlling the task positions or muscle lengths. When dealing with models
that possess many DoFs, their posture is usually controlled by several simultaneous tasks [23,
26]. Task space representation is preferred, since the planning is encoded more naturally com-
pared to joint space (e.g., animation of characters). We introduced the muscle space projection
where the controlled quantities are muscle lengths and derivatives. The disadvantage of this
representation is that it is very difficult to construct the muscle length goals that will result in a
coordinated movement such as walking. Despite this limitation, muscle space projection pres-
ents many attractive features. More DoFs permit coordination of different aspects of the move-
ment (e.g., co-contraction) that are uncontrollable from a low-dimensional space.
Furthermore, muscle projection provides a convenient representation for interfacing musculo-
skeletal and segmental level (proprioceptive) models and forms a basis for practical control
applications, such as tendon-driven robots [4].
The various factors affecting kinematic and dynamic redundancy were identified and
included in a closed form solution in order to calculate the feasible muscle forces. This not
only demonstrated an effective approach for finding the family of feasible solutions, but also
exposes the structure of the null space. The main advantage of the proposed approach is that
the feasible muscle forces are action-specific, accounting for the dynamic evolution of the
motion, while also satisfying the physiological constraints of the muscles, outlining the various
factors that affect the solution space. The bottleneck of this method lies in the time complexity
of the vertex enumeration algorithm, used for sampling the feasible space satisfying the con-
straints presented as linear inequalities. Given that the space defined by the inequality in
Eq (32) is convex and bounded (Proposition 2), the complexity is cubic (O(m
3
)) with respect
to the number of muscles. In highly complicated musculoskeletal models with many muscles,
the aforementioned deterministic approach becomes computationally intractable due to the
cubic time complexity growth. In such cases, randomized algorithms have to be employed to
provide a representative sampling of the high-dimensional polytope [31].
Two case studies were presented to demonstrate the application of the proposed methods
for calculating the feasible muscle forces in the context of an arbitrary task. In the first case
study, a simplified arm model was used for simulating a hand movement. The muscle force
variabilities and muscle group correlations were calculated. It was shown that 1) the variability
of each muscle is inversely proportional to the importance of its contribution to the current
movement and 2) there is a significant systematic correlation between different muscle pairs
that emerges from the muscle routing properties and the functional constraints of the task. In
the second case study, the feasible joint reaction loads were calculated for the hip joint during
walking using a realistic full body model. From the resulting upper and lower bounds, it was
Modeling musculoskeletal kinematic and dynamic redundancy using null space projection
PLOS ONE | https://doi.org/10.1371/journal.pone.0209171 January 2, 2019 21 / 26
concluded that misinterpretation of the results is possible if the null space solutions are
ignored.
Conclusion
In this study, we discuss several extensions of the kinematic and dynamic equations in order
to characterize the redundant nature of musculoskeletal systems. The formal treatment of the
problem with well-known techniques stemming from linear algebra and projection operators
revealed the means of interaction between the different relations, providing hints towards
addressing important scientific questions related to motor coordination. Forming a complete
description enabled the development of powerful tools for investigating the feasible outcomes
of the system as compared to the local techniques that are suitable for finding only a particular
solution. The redundant nature of the musculoskeletal system introduces variability/uncer-
tainty in simulated quantities leading to misinterpretation of the results if ignored. Therefore,
this study provides the appropriate formalization to successfully address these issues, facilitat-
ing the application of broader types of studies in the realm of motor coordination.
Appendices
Projection operators
Let T
A
=AA
+
and F
A
=A
+
Abe two operators derived from matrix A, where A
+
is the
MPP matrix. The following proofs rely on the Singular Value Decomposition (SVD) theorem
(A=USV
T
,A
+
=VS
+
U
T
) and the properties of the MPP (Definition 2).
(a) TT
A¼TAand T2
A¼TA.
ðAAþÞT¼AAþ
ðAAþÞðAAþÞ ¼ AðAþAAþÞ ¼ AAþ
where (AA
+
)
T
=AA
+
and A
+
AA
+
=A
+
are properties of the MPP (Definition 2).
(b) FT
A¼FAand F2
A¼FA. Similar to (a) with (A
+
A)
T
=A
+
Aand AA
+
A=A(Definition 2).
(c) T
A
A=AF
A
=Aand A
+
T
A
=F
A
A
+
=A
+
can be proven using AA
+
A=Aand A
+
AA
+
=
A
+
.
(d) T
A
is the projector onto the CðAÞ.
TA¼AAþ¼UΣVTVΣþUT¼UΣΣþUT¼ ½UrUn
1r0
0 0n
" # UT
r
UT
n
" #¼UrUT
r
where V
T
V=Iand ris the rank and nthe nullity of A.
(e) F
A
is the projector onto the RðAÞ.
FA¼AþA¼VΣþUTUΣVT¼VΣþΣVT¼ ½VrVn
1r0
0 0n
" # VT
r
VT
n
" #¼VrVT
r
where U
T
U=I.
(f) NTA¼ ðITAÞprojects onto the NðATÞ, because CðAÞand NðATÞare mutually orthog-
onal complement (Eq (6)).
Modeling musculoskeletal kinematic and dynamic redundancy using null space projection
PLOS ONE | https://doi.org/10.1371/journal.pone.0209171 January 2, 2019 22 / 26
(g) NFA¼ ðIFAÞprojects onto the NðAÞ, because RðAÞand NðAÞare mutually orthogo-
nal complement (Eq (6)).
(h) NTAA¼0and ANFA¼0.
NTAA¼AAAþA¼0
ANFA¼AAAþA¼0
Task motion—Force duality
Given that Jþ
tis the MPP matrix and the definition of SVD (Jt¼UΣVT), the following hold
true:
(a) JT
t¼VSUT
(b) Jþ
t¼VSþUT
thus their projection operators span the same subspaces.
Muscle space inertia mass matrix
(a) Λmis symmetric (Λm¼ΛT
m) iff Mis symmetric.
ΛT
m¼ ðRM1RTÞþT¼ ðRMTRTÞþ¼ ðRM1RTÞþ¼Λm;iff M¼MT
(b) Λmremains invariant under the projection operator T
R
.
ΛmTR¼ ðRM1RTÞþRRþ¼RþTM RþRRþ
|fflfflffl{zfflfflffl}
Rþ¼ ðRM1RTÞþ¼Λm
(c) ΛmΛþ
m¼TR.
ΛmΛþ
m¼ ðRM1RTÞþðRM1RTÞ ¼ RþTM RþR
|ffl{zffl}
I
M1RT
¼RþTRT¼ ðRRþÞT¼RRþ¼TR
(d) ΛmNTR¼0. This can be shown using (b).
Feasible muscle force space
(a) Let’s prove that Eq (34) defines a convex set C. For any x;y2Cand λ2[0, 1],
let ψ¼lxþ ð1lÞythen
Zc¼lZx þ ð1lÞZy ≼lβþ ð1lÞβ¼β
which proves the convexity property.
(b) Let’s prove that Eq (34) is bounded when the inequality is feasible and Zhas full column
rank. From the definition, this inequality has always the following form
a≼NTRfm0≼b:ð41Þ
where aan bare finite vectors in Rm. If the system of inequalities is feasible and NTRhas
full column rank, then f
m0
is upper and lower bounded. Even if the problem is feasible, if
Modeling musculoskeletal kinematic and dynamic redundancy using null space projection
PLOS ONE | https://doi.org/10.1371/journal.pone.0209171 January 2, 2019 23 / 26
NTRis rank deficient, then 9i:fi
m0! 1, thus the feasible space is not bounded. Note,
however, that we can always reduce the null space projection to full column rank by
eliminating linearly dependent columns in NTR.
Supporting information
S1 File. Supporting information related to this publication. Implementation details and a
detailed derivation of the simplified arm model.
(PDF)
Acknowledgments
The authors would like to thank Aristotelis Spathis-Papadiotis for his valuable remarks.
Author Contributions
Conceptualization: Dimitar Stanev, Konstantinos Moustakas.
Data curation: Dimitar Stanev.
Formal analysis: Dimitar Stanev.
Funding acquisition: Konstantinos Moustakas.
Investigation: Dimitar Stanev, Konstantinos Moustakas.
Methodology: Dimitar Stanev, Konstantinos Moustakas.
Project administration: Konstantinos Moustakas.
Resources: Konstantinos Moustakas.
Software: Dimitar Stanev.
Supervision: Konstantinos Moustakas.
Validation: Dimitar Stanev, Konstantinos Moustakas.
Visualization: Dimitar Stanev.
Writing – original draft: Dimitar Stanev.
Writing – review & editing: Dimitar Stanev, Konstantinos Moustakas.
References
1. Anderson FC, Pandy MG. Static and dynamic optimization solutions for gait are practically equivalent.
Journal of Biomechanics. 2001; 34(2):153–161. https://doi.org/10.1016/S0021-9290(00)00155-X
PMID: 11165278
2. Le Cavorzin P, Carrault G, Chagneau F, Rochcongar P, Allain H. A computer model of rigidity and
related motor dysfunction in Parkinson’s disease. Movement disorders: official journal of the Movement
Disorder Society. 2003; 18(11):1257–65. https://doi.org/10.1002/mds.10532
3. Zhang D, Poignet P, Bo APL, Ang WT. Exploring peripheral mechanism of tremor on neuromusculoske-
letal model: a general simulation study. IEEE Transactions on Biomedical Engineering. 2009; 56(10):
2359–69. https://doi.org/10.1109/TBME.2009.2023979 PMID: 19535320
4. Deshpande AD, Balasubramanian R, Ko J, Matsuoka Y. Acquiring variable moment arms for index fin-
ger using a robotic testbed. IEEE Transactions on Biomedical Engineering. 2010; 57(8):2034–2044.
https://doi.org/10.1109/TBME.2010.2048326 PMID: 20442038
Modeling musculoskeletal kinematic and dynamic redundancy using null space projection
PLOS ONE | https://doi.org/10.1371/journal.pone.0209171 January 2, 2019 24 / 26
5. Steele KM, Tresch MC, Perreault EJ. Consequences of biomechanically constrained tasks in the design
and interpretation of synergy analyses. Journal of Neurophysiology. 2015; 113(7):2102–13. https://doi.
org/10.1152/jn.00769.2013 PMID: 25589591
6. Kutch JJ, Valero-Cuevas FJ. Challenges and new approaches to proving the existence of muscle syner-
gies of neural origin. PLoS Computational Biology. 2012; 8(5):1–11. https://doi.org/10.1371/journal.
pcbi.1002434
7. Inouye JM, Valero-Cuevas FJ. Muscle Synergies Heavily Influence the Neural Control of Arm Endpoint
Stiffness and Energy Consumption. PLoS Computational Biology. 2016; 12(2):1–24. https://doi.org/10.
1371/journal.pcbi.1004737
8. Bernshtein NA. The co-ordination and regulation of movements. Oxford: Pergamon Press; 1967.
9. Latash ML, Levin MF, Scholz JP, Scho
¨ner G. Motor Control Theories and Their Applications. Medicina
(Kaunas). 2010; 46(6):382–92. https://doi.org/10.3390/medicina46060054
10. Loeb GE. Learning from the spinal cord. Journal of Physiology. 2001; 533(1):111–117. https://doi.org/
10.1111/j.1469-7793.2001.0111b.x PMID: 11351019
11. Houk JC, Rymer WZ. Neural control of muscle length and tension. In: Handbook of Physiology, The
Nervous System, Motor Control. John Wiley & Sons, Inc.; 2011. p. 257–323.
12. Stein RB. What muscle variable(s) does the nervous system control in limb movements?. vol. 5. Cam-
bridge University Press; 1982.
13. Feldman AG. Once More on the Equilibrium-Point Hypothesis (λModel) for Motor Control. Journal of
Motor Behavior. 1986; 18(1):17–54. https://doi.org/10.1080/00222895.1986.10735369 PMID:
15136283
14. Latash ML, Scholz JP, Schoner G. Motor Control Strategies Revealed in the Structure of Motor Variabil-
ity. Exercise and Sport Sciences Reviews. 2002; 30(1):26–31. https://doi.org/10.1097/00003677-
200201000-00006 PMID: 11800496
15. Valero-Cuevas FJ, Hoffmann H, Kurse MU, Kutch JJ, Theodorou EA. Computational Models for Neuro-
muscular Function. IEEE Rev Biomed Eng. 2009; 2:110–135. https://doi.org/10.1109/RBME.2009.
2034981 PMID: 21687779
16. Valero-Cuevas FJ. A Mathematical Approach to the Mechanical Capabilities of Limbs and Fingers. Adv
Exo Med Biol. 2009; 629:619–633. https://doi.org/10.1007/978-0-387-77064-2_33
17. Razavian RS, Mehrabi N, McPhee J. A model-based approach to predict muscle synergies using opti-
mization: application to feedback control. Frontiers in Computational Neuroscience. 2015; 9(121):1–13.
18. Kutch JJ, Valero-Cuevas FJ. Muscle redundancy does not imply robustness to muscle dysfunction.
Journal of Biomechanics. 2011; 44(7):1264–1270. https://doi.org/10.1016/j.jbiomech.2011.02.014
PMID: 21420091
19. Khatib O. Inertial Properties in Robotic Manipulation: An Object-Level Framework. International Journal
of Robotics Research. 1995; 14(1):19–36. https://doi.org/10.1177/027836499501400103
20. Fisher W, Mujtaba S. Hybrid Position/Force Control: A Correct Formulation. The International Journal of
Robotics Research. 1991; 11(4):299–311. https://doi.org/10.1177/027836499201100403
21. Aghili F. A unified approach for inverse and direct dynamics of constrained multibody systems based on
linear projection operator: Applications to control and simulation. IEEE Transactions on Robotics. 2005;
21(5):834–849. https://doi.org/10.1109/TRO.2005.851380
22. Khatib O, Demircan E, De Sapio V, Sentis L, Besier TF, Delp SL. Robotics-based synthesis of human
motion. Journal of Physiology-Paris. 2009; 103(3-5):211–219. https://doi.org/10.1016/j.jphysparis.
2009.08.004
23. Stanev D, Moustakas K. Simulation of Constrained Musculoskeletal Systems in Task Space. IEEE
Transactions on Biomedical Engineering. 2018; 65(2):307–318. https://doi.org/10.1109/TBME.2017.
2764630 PMID: 29053446
24. Baerlocher P. Inverse kinematics techniques of the interactive posture control of articulated figures.
Lausanne: EPFL; 2001.
25. Righetti L, Buchli J, Mistry M, Schaal S. Inverse Dynamics Control of Floating-Base Robots With Exter-
nal Contraints: an Unified View. In: 2011 IEEE International Conference on Robotics and Automation;
2011. p. 1085–1090.
26. Sentis L. Synthesis and Control of Whole-Body Behaviors in Humanoid Systems. July. Stanford Univer-
sity; 2007.
27. Zajac FE. Muscle and Tendon: Properties, Models, Scaling and Application to Biomechanics and Motor
Control. Critical Reviews in Biomedical Engineering. 1989; 17(4):359–411. PMID: 2676342
Modeling musculoskeletal kinematic and dynamic redundancy using null space projection
PLOS ONE | https://doi.org/10.1371/journal.pone.0209171 January 2, 2019 25 / 26
28. Thelen DG. Adjustment of Muscle Mechanics Model Parameters to Simulate DynamicContractions in
Older Adults. Journal of Biomechanical Engineering. 2003; 125(1):70–77. https://doi.org/10.1115/1.
1531112 PMID: 12661198
29. Millard M, Uchida T, Seth A, Delp SL. Flexing computational muscle: modeling and simulation of muscu-
lotendon dynamics. Journal of Biomechanical Engineering. 2013; 135(2):1–12. https://doi.org/10.1115/
1.4023390
30. Avis D, Fukuda K. A Pivoting Algorithm for Convex Hulls and Vertex Enumeration of Arrangements and
Polyhedra. Discrete Computational Geometry. 1992; 8(1):295–313. https://doi.org/10.1007/
BF02293050
31. Vempala SS. Geometric Random Walks: A Survey. MSRI Combinatorial and Computational Geometry.
2005; 52:573–612.
32. Delp SL, Loan PJ, Hoy MG, Zajac FE, Topp EL, Rosen JM. An interactive graphics-based model of the
lower extremity to study orthopedic surgical procedures. IEEE Transactions on Biomedical Engineering.
1990; 37(8):757–767. https://doi.org/10.1109/10.102791 PMID: 2210784
33. Delp SL, Anderson FC, Arnold AS, Loan PL, Habib A, John CT, et al. OpenSim: Open-Source Software
to Create and Analyze Dynamic Simulations of Movement. IEEE Transactions on Biomedical Engineer-
ing. 2007; 54(11):1940–1950. https://doi.org/10.1109/TBME.2007.901024 PMID: 18018689
34. Loeb GE, Levine WS, He BJ. Understanding sensorimotor feedback through optimal control. Cold
Spring Harbor Symposia on Quantitative Biology. 1990; 55(1):791–803. https://doi.org/10.1101/SQB.
1990.055.01.074 PMID: 2132855
35. Mileusnic MP, Brown IE, Lan N, Loeb GE. Mathematical models of proprioceptors. I. Control and trans-
duction in the muscle spindle. Journal of Neurophysiology. 2006; 96(4):1772–88. https://doi.org/10.
1152/jn.00868.2005 PMID: 16672301
36. Mileusnic MP, Loeb GE. Mathematical models of proprioceptors. II. Structure and function of the Golgi
tendon organ. Journal of Neurophysiology. 2006; 96(4):1789–802. https://doi.org/10.1152/jn.00869.
2005 PMID: 16672300
37. Erdemir A, McLean SG, Herzog W, Van Den Bogert AJ. Model-based estimation of muscle forces
exerted during movements. Clinical Biomechanics. 2007; 22(2):131–154. https://doi.org/10.1016/j.
clinbiomech.2006.09.005 PMID: 17070969
38. Thelen DG, Anderson FC. Using computed muscle control to generate forward dynamic simulations of
human walking from experimental data. Journal of Biomechanics. 2006; 39(6):1107–15. https://doi.org/
10.1016/j.jbiomech.2005.02.010 PMID: 16023125
Modeling musculoskeletal kinematic and dynamic redundancy using null space projection
PLOS ONE | https://doi.org/10.1371/journal.pone.0209171 January 2, 2019 26 / 26