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

|ﬄﬄﬄ{zﬄﬄﬄ}

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

|ﬄﬄﬄ{zﬄﬄﬄ}

RRþ

Þfm0¼ RþTτ

|ﬄﬄﬄ{zﬄﬄﬄ}

fk

m

þNTRfm0

|ﬄﬄﬄ{zﬄﬄﬄ}

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þ

|ﬄﬄﬄ{zﬄﬄﬄ}

Rþ¼ ðRM1RTÞþ¼Λm

(c) ΛmΛþ

m¼TR.

ΛmΛþ

m¼ ðRM1RTÞþðRM1RTÞ ¼ RþTM RþR

|ﬄ{zﬄ}

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