Content uploaded by Dimitar Stanev

Author content

All content in this area was uploaded by Dimitar Stanev on Jan 23, 2019

Content may be subject to copyright.

Stiﬀness Modulation of Redundant Musculoskeletal

Systems

Dimitar Staneva,∗, Konstantinos Moustakasa,∗

aDepartment of Electrical and Computer Engineering, University of Patras, Greece

Abstract

This work presents a framework for computing the limbs’ stiﬀness using inverse meth-

ods that account for the musculoskeletal redundancy eﬀects. The musculoskeletal

task, joint and muscle stiﬀness are regulated by the Central Nervous System (CNS)

towards improving stability and interaction with the environment during movement.

Many pathological conditions, such as Parkinson’s disease, result in increased rigid-

ity due to elevated muscle tone in antagonist muscle pairs, therefore the stiﬀness is

an important quantity that can provide valuable information during the analysis phase.

Musculoskeletal redundancy poses signiﬁcant challenges in obtaining accurate stiﬀness

results without introducing critical modeling assumptions. Currently, model-based es-

timation of stiﬀness relies on some objective criterion to deal with muscle redundancy,

which, however, cannot be assumed to hold in every context. To alleviate this source

of error, our approach explores the entire space of possible solutions that satisfy the

action and the physiological muscle constraints. Using the notion of null space, the

proposed framework rigorously accounts for the eﬀect of muscle redundancy in the

computation of the feasible stiﬀness characteristics. To conﬁrm this, comprehensive

case studies on hand movement and gait are provided, where the feasible endpoint and

joint stiﬀness is evaluated. Notably, this process enables the estimation of stiﬀness dis-

tribution over the range of motion and aids in further investigation of factors aﬀecting

?All authors are fully involved in the study and preparation of the manuscript. The material within this

publications has not been and will not be submitted elsewhere.

∗Corresponding author. Tel: +302610969809; Fax: +302610991855

Email addresses: stanev@ece.upatras.gr (Dimitar Stanev), moustakas@upatras.gr

(Konstantinos Moustakas)

Preprint submitted to Journal of Biomechanics January 23, 2019

the capacity of the system to modulate its stiﬀness. Such knowledge can signiﬁcantly

improve modeling by providing a holistic overview of dynamic quantities related to the

human musculoskeletal system, despite its inherent redundancy.

Keywords: stiﬀness, musculoskeletal systems, mixed dynamics

1. Introduction

The regulation of the limbs’ stiﬀness by the CNS has been subject to many stud-

ies over the past decades (Hogan, 1981; Flash & Hogan, 1985; Flash, 1987; Flash &

Mussa-Ivaldi, 1990; Perreault et al., 2001; Babikian et al., 2015). Intuitively, stiﬀ-

ness (or rigidity) is the extent to which the limbs resist movement induced by external

forces. In this work, task1(e.g., endpoint stiﬀness), joint and muscle stiﬀness are

distinguished and their relationship is studied. Since muscles are the main actors in

musculoskeletal systems, their co-contraction aﬀects the joint and task stiﬀness (Kutch

& Valero-Cuevas, 2011; Inouye & Valero-Cuevas, 2016). Due to the redundancy of ac-

tuators, there exist inﬁnitely many solutions for muscle forces giving rise to the same

movement, it is thus important to consider not only the motion of the limbs, but also

the degrees of muscle co-contraction.

Musculoskeletal systems are intrinsically redundant (Bernshtein, 1967), i.e., there

are more Degrees of Freedom (DoFs) than those required to perform certain tasks

(kinematic redundancy) and each DoF is actuated by multiple muscles (dynamic redun-

dancy). This poses numerous challenges in modeling and simulation and as a result, it

has been pointed out that many common approaches are oversimpliﬁed (Valero-Cuevas

et al., 2009). This, although deliberate since it simpliﬁes the mathematical implemen-

tation and analysis, may also negatively aﬀect the validity of these models and the ob-

tained results (Wesseling et al., 2015) (e.g., estimation of muscle forces, joint reaction

loads and stiﬀness characteristics). Minimum eﬀort solutions (e.g., activation squared)

tend to underestimate muscle co-contraction, since co-contraction has by construction

1The use of endpoint instead of task stiﬀness would lead to a more intuitive presentation, however, we

can compute the stiﬀness of any point on the model, thus a more general term of “task” stiﬀness is adopted.

2

zero net joint eﬀect, rendering it unsuitable in applications where this assumption may

not hold (Pedotti et al., 1978; Prilutsky & Zatsiorsky, 2002; Koeppen et al., 2017).

Therefore, appropriate methods need to be developed for ﬁnding the possible system

realizations and further classifying strategies available to the CNS.

Experimental methods for measuring the endpoint stiﬀness have been proposed and

used in conjunction with model-based estimates in order to study the eﬀect of muscle

co-contraction on it (Mussa-Ivaldi et al., 1985; Flash & Mussa-Ivaldi, 1990). Model-

based estimation of joint and task stiﬀness requires the assessment of muscle forces,

which can be obtained either from Electromyography (EMG) recordings or by mini-

mizing some objective criterion, such as minimum eﬀort. However, both approaches

have their drawbacks, namely not all muscles are easily accessible in practice (e.g.,

deep muscles), transformation from EMG to muscle force is inexact and optimization

assumptions do not always hold. The authors in (Hu et al., 2011) compared the exper-

imentally measured endpoint stiﬀness against the model-based estimates, concluding

that deviations from their predictions can be explained by muscle redundancy. To over-

come these limitations, a method for identifying all possible solutions of muscle forces

that satisfy the task as well as physiological muscle constraints is proposed, in order to

evaluate their inﬂuence on the task and joint space stiﬀness.

The main contribution of this work is the calculation of the feasible task and joint

stiﬀness in the context of an arbitrary action, by modeling musculoskeletal redundancy

using the notion of null space. In Subsection 2.1, the relationship between muscle, joint

and task space stiﬀness is presented, while in Subsection 2.2, a method for describing

the feasible muscle forces is introduced, enabling the calculation of the feasible stiﬀ-

ness. The feasible endpoint stiﬀness of a simpliﬁed arm model performing a hand

movement and the joint stiﬀness of a realistic gait model are studied in Subsections 3.1

and 3.2, respectively. These case studies highlight the assumption-free nature of the

proposed framework, which therefore is able to recover the entire stiﬀness space.

3

2. Methods

2.1. Muscle, joint and task space stiﬀness

In this section, we will present a short overview of the mathematical deﬁnitions

for calculating the muscle, joint and task space stiﬀness as outlined by previous stud-

ies (Hogan, 1981; Flash & Hogan, 1985; Flash, 1987; Perreault et al., 2001; Inouye &

Valero-Cuevas, 2016), while a more detailed presentation can be found in Supplemen-

tary materials. In the following section, we will introduce a method for calculating the

feasible muscle forces that satisfy the motion and the physiological muscle constraints.

As the muscles are the main actors of the system, it is important to examine the eﬀect

of muscle redundancy on the calculation of limbs’ stiﬀness.

The muscle stiﬀness is deﬁned as

Km=∂fm

∂lm

,Km∈Rm×m(1)

where fm∈Rmrepresents the muscle forces, lm∈Rmthe musculotendon lengths and

mthe number of muscles. The joint stiﬀness is deﬁned as

Kj=∂τ

∂q,Kj∈Rn×n(2)

where τ∈Rn,q∈Rnare the generalized forces and coordinates, respectively and n

the DoFs of the system. Finally, the task stiﬀness is deﬁned as

Kt=∂ft

∂xt

,Kt∈Rd×d(3)

where ft∈Rddenotes the forces, xt∈Rdthe positions and dthe DoFs of the task.

The derivation starts with a model for computing the muscle stiﬀness matrix Km.

The two most adopted approaches are to either use the force-length characteristics of

the muscle model or to approximate it using the deﬁnition of the short range stiﬀness,

where the latter is shown to explain most of the variance in the experimental measure-

ments (Hu et al., 2011). The short range stiﬀness is proportional to the force developed

4

by the muscle ( fm)

ks=γfm

lo

m

(4)

where γ=23.4 is an experimentally determined constant (Cui et al., 2008) and lo

mthe

optimal muscle length. This deﬁnition will be used to populate the diagonal elements

of the muscle stiﬀness matrix, whereas inter-muscle coupling (non-diagonal elements)

will be assumed zero since it is diﬃcult to measure and model in practice.

The joint stiﬀness is related to the muscle stiﬀness through the following relation-

ship

Kj=−∂RT

∂q•2fm−RTKmR(5)

where the ﬁrst term captures the varying eﬀect of the muscle moment arm (R∈Rm×n),

while the second term maps the muscle space stiﬀness to joint space. The notation

•2(Supplementary materials) denotes a product of a rank-3 tensor ( ∂RT

∂q∈Rn×m×n,

a 3D matrix) and a rank-1 tensor (fm∈Rm, a vector), where the index 2 speciﬁes

that the tensor dimensional reduction (by summation) is performed across the second

dimension, resulting in a reduced rank-2 tensor of dimensions n×n(Kolda & Bader,

2009).

In a similar manner, the task stiﬀness is related to the muscle stiﬀness through the

following relationship

Kt=−J+T

t ∂JT

t

∂q•2ft+∂RT

∂q•2fm+RTKmR!J+

t(6)

where the task Jacobian matrix (Jt∈Rd×n) describes the mapping from joint to task

space (Rn→Rd), +stands for the Moore-Penrose pseudoinverse and +Tthe trans-

posed pseudoinverse operator.

2.2. The inﬂuence of musculoskeletal redundancy

In this section, we propose a method for identifying the feasible muscle forces that

satisfy the movement and the physiological muscle constraints. This method does not

assume minimization of some objective criterion, but relies solely on the movement

5

context, the muscle model (e.g., linear/nonlinear muscle model and synergy encoding)

and the anatomical properties of the muscle routing (the muscle moment arm and its

null space). The family of solutions is guaranteed to preserve the system’s kinematic

behavior, i.e., produce the same movement, corresponding to diﬀerent levels of muscle

co-activation.

In a typical experimental setup the motion and externally applied forces are recorded.

Given these recordings, Inverse Kinematics (IK) and Inverse Dynamics (ID) are per-

formed in order to assess the model kinematics and kinetics that satisfy the experi-

mental measurements (Erdemir et al., 2007). Instead of estimating the muscle forces

using Static Optimization (SO) or some other method (Anderson & Pandy, 2001; The-

len & Anderson, 2006), we can solve τ=−RTfmfor fmaccounting for the null space

muscle forces, which are present only when projecting from low- to high-dimensional

space. More formally, the muscle forces fmcan be expressed as the sum of two

mutually orthogonal subspaces (Stanev & Moustakas, 2019), spanning the column

(fk

m∈(R+T)) and null space (f⊥

m∈(R+)), respectively

fm=fk

m+f⊥

m=−R+Tτ+NTRfm0,NTR=I−RR+(7)

where NTR∈Rm×mis the moment arm null space projection operator and fm0∈Rm

a vector of arbitrarily selected null space muscle forces. Note that this deﬁnition spans

the entire Rmfor some arbitrary value of τ, whereas in reality muscle forces are strictly

positive (contraction) and bounded (limited force). Therefore, in general, this solution

may not be physiologically correct (namely ∃i:fi

m>fi

max or fi

m<0). However, the

null space term f⊥

mcan provide a suitable correction in order to satisfy the physiological

constraints of the muscles. In this study, we will assume a linear muscle model, such

as that the force is proportional to the strength and activation level of the muscle

fm=fmax ◦am,0am1(8)

where am∈Rmrepresents a vector of muscle activations, fmax ∈Rma vector specify-

6

ing the maximum muscle force and ◦the Hadamard (elementwise) product2. We can

impose bounds on the possible solutions of fm0in the form of linear inequalities, by

noting that equations (7) and (8) must be equal

fmax ◦am=fk

m+NTRfm0,0am1→

−NTR

NTR

fm0

fk

m

fmax −fk

m

Zfm0β.

(9)

An important advantage of this formulation is that diﬀerent muscle models can be

included in the derivation of the feasible inequality. For example, we can incorporate

muscle synergies (Steele et al., 2015) by substituting am=W c in Eq. (9). Term

W∈Rm×srepresents the muscle synergy matrix and c∈Rsthe synergy activations.

Moreover, Eq. (9) deﬁnes a closed, convex space for fm0( Supplementary materials),

which can therefore be sampled using vector enumeration techniques (Avis & Fukuda,

1992; Vempala, 2005). Finally, the feasible muscle force set is computed as the sum of

the particular solution and the null space forces

f⊕

m=fk

m+NTRfi

m0,∀i.(10)

In order to compute the feasible muscle force set f⊕

m, the physiological null space

muscle forces fm0must be obtained by sampling the space deﬁned by a set of lin-

ear inequalities (Eq. (9)). The linear inequalities deﬁne a closed polytope (a convex

polyhedron) as an intersection of a ﬁnite number of half-spaces (hyperplane- or H-

representation). The conversion from H-representation to V-representation is called

vertex enumeration and can be achieved by using either a deterministic or randomized

approach. From an arrangement of nhyperplanes in Rd,vvertices are determined

in O(n2dv) time. We used the lrs library (Avis & Fukuda, 1992), which provides a

self-contained ANSI C implementation of the reverse search algorithm for vertex enu-

2Elementwise multiplication is preferred in comparison to the traditional matrix vector approach (e.g,

fm=Fmaxam) to explore the fact that Fmax is always a diagonal matrix.

7

meration. After obtaining the extreme points of the polytope, additional solutions are

generated by interpolating (ψ=λx+(1−λ)y) between vertices. This process generates

samples spanning the entire polytope due to its convexity.

3. Results

We will present two case studies, where the inﬂuence of musculoskeletal redun-

dancy on the feasible task and joint stiﬀness will be evaluated. In the ﬁrst case, a

simpliﬁed planar arm model (Figure 1), having three DoFs and nine muscles, is ap-

propriately constructed to demonstrate both kinematic and dynamic redundancy (i.e.,

d<n<m). The movement will be planned in task space by controlling the position

of the hand using task space projection (Stanev & Moustakas, 2018). In the second

experiment, the feasible joint stiﬀness of the hip, knee and ankle joints during walking

will be assessed using the OpenSim (Delp et al., 2007) gait model that has ten DoFs

and eighteen muscles (Millard et al., 2013). These models were constructed with an

emphasis on clarity, simultaneously preserving a degree of anatomic realism.

3.1. Variability in the arm endpoint stiﬀness

In this experiment, the feasible task and joint stiﬀness of a simpliﬁed arm model

will be evaluated. More speciﬁcally, equations (5) and (6) will be used to compute

the stiﬀness at each time step of the simulation. Since stiﬀness depends on the muscle

forces and the model is redundant, there are inﬁnitely many solutions that satisfy the

reaching task. To account for this, the space deﬁned by Eq. (9) will be sampled in order

to compute the feasible muscle forces (Eq. (10)), assuming a linear muscle model.

Consequently, these solutions will be used to obtain the feasible stiﬀness values.

Since task forces ftare required in the calculation of Eq. (9), the planning can be

encoded using task space projection (Khatib et al., 2009; Stanev & Moustakas, 2018),

by tracking the desired position of the end eﬀector. Essentially, a mixed dynamics

scheme is adopted, where the task space ID model-based controller accepts the desired

task goal and returns the generalized forces τ. These forces are applied to the model

in a Forward Dynamics (FD) manner and the resulting movement is thus simulated.

8

Figure 1: Diagram of the simpliﬁed arm model with three DoFs and nine muscles, some of them being

bi-articular. The muscle origins are labeled as aiand the muscle insertions as bi.listands for muscle length,

Lcifor center of mass and Jifor joint center.

Furthermore, the generalized forces are used to evaluate the particular solution fk

m(Eq.

(7)), required in the calculation of the feasible muscle forces. A Proportional Derivative

(PD) tracking scheme is adopted

¨xt=¨xd+kp(xd−xt)+kd(˙xd−xt) (11)

where xd,˙xd,¨xdare the desired position, velocity and acceleration of the task and

kp=50,kd=5 the tracking gains. The desired task goal is derived from a smooth

9

sigmoid function that produces bell-shaped velocity proﬁles in any direction around

the initial position of the end eﬀector

xd(t)=hxt(0) +a

2tanh(b(t−t0)) +1,yt(0)iT

˙xd(t)=dxd(t)

dt ,¨xd(t)=d˙xd(t)

dt

x0

d=Hz(γ)xd,˙x0

d=Hz(γ)˙xd,¨x0

d=Hz(γ)¨xd

(12)

where xt,ytrepresent the 2Dcomponents of xt,a=0.3, b=4 and t0=1. Diﬀerent

directions of movement are achieved by transforming the goals with Hz(γ), which

deﬁnes a rotation around the z-axis of an angle γ.

Figure 2 collects three instances of the simulated movement (along the −xdirec-

tion, γ=π). The left diagram shows the feasible major and minor axes of the endpoint

stiﬀness using scaled (scaling =0.0006) ellipses (ellipses are omitted for visibility

reasons). The ellipse is a common way to visualize the task stiﬀness (Flash & Mussa-

Ivaldi, 1990; Cui et al., 2008), where the major axis (red) of the ellipse is oriented along

the maximum stiﬀness and the area is proportional to the determinant of Kt, convey-

ing the stiﬀness amplitude. The stiﬀness capacity (area) is increased in the last pose,

since the arm has already reached its ﬁnal position and muscle forces are not needed

for it to execute any further motion. The second diagram (middle) depicts the distri-

bution of ellipse parameters (area and orientation φ). Finally, the rightmost box plot

shows the feasible joint stiﬀness distribution at three distinct time instants. Experimen-

tal measurements (Perreault et al., 2001) have showed that the orientation of stiﬀness

ellipses varies in a range of about 30◦. While our simulation results conﬁrm this, they

also reveal a tendency of ﬁxation towards speciﬁc directions for higher stiﬀness ampli-

tudes. The large variation of feasible stiﬀness veriﬁes that this type of analysis conveys

important ﬁndings that complement experimental observations.

3.2. Calculation of the feasible joint stiﬀness during walking

This experiment involves a model available in the OpenSim repository, used to

estimate the joint stiﬀness during walking. The model has ten DoFs and a reduced

set of eighteen Hill-type muscles (Millard et al., 2013) that are important for gait.

10

Figure 2: Collected results of the simulated arm movement (along the −xdirection, γ=π) at three time

instants. Left diagram shows the feasible endpoint stiﬀness using scaled ellipses (scaling =0.0006), where

the red and green lines denote the major and minor axes, respectively. The middle plot illustrates the ellipse

parameter distribution (area and orientation φ). The box plot on the right depicts the feasible joint stiﬀness

distribution.

The model was ﬁrst scaled using a static pose in order to match the subject-speciﬁc

anthropometrics. Afterwards, IK and ID were performed to obtain the kinematics and

kinetics required to track the experimental marker trajectories and match the ground

reaction forces.

Recall that in the deﬁnition of joint stiﬀness (Eq. (5)) the muscle moment arm must

be diﬀerentiated with respect to the generalized coordinates. Unfortunately, OpenSim

lacks the analytical means for evaluating higher order derivatives, as it computes the

muscle moment arm numerically from the input joint conﬁguration. In order to derive

a symbolic representation, multivariate polynomial ﬁtting (van den Bogert et al., 2011)

was performed on samples of the muscle moment arm at diﬀerent conﬁgurations. To

reduce the complexity and improve the robustness of the ﬁt, we determined the co-

ordinates aﬀecting each element in the moment arm matrix, by identifying the DoFs

spanned by each muscle. Figure 3 compares the sampled and symbolically obtained

moment arm of the vastus intermedius (a mono-articular muscle) at the knee joint as a

function of the knee ﬂexion angle and the moment arm of the hamstring muscle at the

knee joint as a function of the hip and knee ﬂexion angles.

The feasible muscle force set was computed at each time step of the analysis, using

equations (9) and (10), assuming a linear muscle model. The short range stiﬀness (Eq.

(4)) was used to form the muscle stiﬀness diagonal matrix Km, which does not include

11

Figure 3: Comparison between the sampled and symbolically obtained moment arm of the vastus inter-

medius muscle at the knee joint as a function of the knee ﬂexion angle (left). Likewise, the moment arm of

the hamstring muscle at the knee joint as a function of the hip and knee ﬂexion angles (right).

inter-muscle coupling, since it is diﬃcult to model and measure in practice.

Figure 4 depicts the feasible joint stiﬀness of the hip, knee and ankle joints during

walking with the heel strike and toe-oﬀevents annotated accordingly. These results

conﬁrm experimental measurements (Shamaei et al., 2015) and furthermore present

similarities in the outline of the minimum stiﬀness predicted by our method. Notably,

the hip stiﬀness range is gradually decreasing between heel strike and toe-oﬀ, because

the ﬂexor muscles are preparing for the swing phase and the capacity to increase the

joint stiﬀness reaches its lowest value before the toe-oﬀevent. A similar pattern is ob-

served at the knee joint, which undergoes a ﬂexion and a subsequent extension during

the swing phase. We observe that the capacity of the muscles to modulate the ankle

stiﬀness is not decreased and the range is gradually shifted upwards in the region be-

tween the heel strike and toe-oﬀevents. The increase in the minimum possible values

of the ankle stiﬀness is attributed to the counterbalance of the ground reaction forces

by the ankle plantar ﬂexion muscles. As muscle eﬀort is spent by these muscles, one

would expect a lower maximum bound, which is not the case here. This could be

contributed to the fact that the musculoskeletal system is asymmetric, i.e., the plantar

ﬂexion muscles can induce larger magnitudes of moment at the ankle joint in compar-

ison to the dorsiﬂexion muscles. We can conclude that the contribution of the ground

12

reaction forces results in an increase of the ankle stiﬀness.

Figure 4: The feasible joint stiﬀness of the hip, knee and ankle joints during walking with the heel strike

(HS) and toe-oﬀ(TO) events annotated accordingly.

4. Discussion

The evaluation of task and joint stiﬀness is important because the CNS does not co-

ordinate the motion of the limbs alone, but also regulates the overall stability, impedance

and admittance of the musculoskeletal system. As musculoskeletal systems are in-

trinsically redundant, it is very diﬃcult to interpret the hierarchical muscle activation

patterns, especially when diﬀerent muscle groups are co-activated. Considering these

facts, we show that global stiﬀness evaluation is possible, hence this metric can be used

to characterize various actions and complement traditional analyses. The calculation

of the feasible stiﬀness can aid in ﬁnding patterns of low stiﬀness capacity in order to

improve the design of products and interventions that target these aspects of movement

(e.g., exoskeleton design, interaction with the environment, ergonomics, etc.). More-

over, this kind of analysis can be used in combination with the single solution methods

in order to evaluate the uncertainty in the estimated quantities, due to redundancy.

An accurate estimation of muscle forces is necessary for the assessment of the stiﬀ-

ness. Since measuring muscle activity poses many challenges and model-based esti-

mation relies on assumptions that may not hold, a more holistic approach was adopted

in this study. Feasibility studies have been successfully translated into clinical prac-

tice (Valero-Cuevas, 2009; Kutch & Valero-Cuevas, 2011; Valero-Cuevas et al., 2015)

13

and their potential was explored here in the context of the feasible stiﬀness computa-

tion. The main advantage of the proposed approach is that the feasible muscle forces

are action-speciﬁc, accounting for the dynamic evolution of the motion, while also sat-

isfying the physiological constraints of the muscles, outlining the various factors that

aﬀect the solution space. Another important advantage of this formulation is that dif-

ferent muscle models, including nonlinear Hill-type and muscle synergies, can be used

in the derivation of the feasible inequality. The bottleneck of this method lies in the

time complexity of the vertex enumeration algorithm, used for sampling the feasible

space satisfying the constraints presented as linear inequalities. Given that the space

deﬁned by the inequality in Eq. (9) is convex and bounded (Supplementary materi-

als), the complexity is cubic (O(m3)) with respect to the number of muscles. In highly

complicated musculoskeletal models with a large number of muscles, the aforemen-

tioned 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 (Vempala, 2005).

While task and joint stiﬀness can be measured experimentally using specialized

equipment, one cannot estimate the muscle stiﬀness from those measurements alone,

because the mapping from low- (task or joint) to high-dimensional muscle stiﬀness is

not unique. Therefore, accurate estimation of muscle stiﬀness from task or joint stiﬀ-

ness is in general not possible, whereas validation would require direct measurement.

Consequently, identiﬁcation of the feasible solution space, as outlined in this work,

can help to properly interpret results obtained from the redundant musculoskeletal sys-

tems and to quantify the uncertainty in the estimated quantities due to musculoskeletal

redundancy.

The presented studies demonstrate the application of the proposed methodology in

the context of real-world tasks. The ﬁrst used a simpliﬁed model to study the arm end-

point stiﬀness, while the second used a more realistic OpenSim gait model to examine

the joint stiﬀness during walking. The main weakness of the proposed method is that

the accuracy in the predicted quantities depends on the quality of the musculoskeletal

model that is being used, thus it is important to examine the sensitivity of the feasi-

ble stiﬀness with respect to the uncertainties in the model parameters. Nevertheless,

14

the obtained results conﬁrm previous ﬁndings and outline the feasible solution space

emphasizing that misinterpretation due to large variability is possible if the null space

solutions are ignored. The analysis provides useful conclusions and insights, such as

the balance between stiﬀness capacity and task requirements, indicating that higher

task requirements reduce the ability for stiﬀness modulation.

5. Conclusion

In this study, we presented a method to determine the feasible task and joint stiﬀ-

ness of the musculoskeletal system for any movement. Undoubtedly, this is crucial for

understanding the muscle coordination mechanisms and the various strategies avail-

able to the CNS, aiding in the development of eﬀective evaluation and treatment of

disorders such as Parkinson’s disease. Practical and experimental limitations severely

hinder the in vivo measurement of stiﬀness, while model-based estimation suﬀers from

the musculoskeletal redundancy. To overcome the latter limitation, we choose to model

the muscle redundancy using the notion of null space and identify the possible solu-

tions that satisfy the task and muscle constraints. Results show that the musculoskeletal

system is capable of achieving a highly variable stiﬀness using muscle co-contraction,

highlighting the importance of performing feasibility studies.

Conﬂict of interest statement

None of the authors had any conﬂict of interest regarding this manuscript.

Acknowledgment

The authors would like to thank Aristotelis Spathis-Papadiotis for his valuable re-

marks and countless discussions on these topics. Other acknowledgments are owed to

Dr. Evangelia Zacharaki for her comments on the manuscript. This work was supported

by the EC Horizon 2020 project OACTIVE Grant Agreement No. 777159 and by the

EC FP7 project NoTremor Grant Agreement No. 610391. There was no additional

external funding received for this study. The funders had no role in the study design,

data collection and analysis, decision to publish, or preparation of the manuscript.

15

References

Anderson, F. C., & Pandy, M. G. (2001). Static and dynamic optimization solu-

tions for gait are practically equivalent. J. Biomech.,34, 153–161. doi:10.1016/

S0021-9290(00)00155-X.arXiv:154.

Avis, D., & Fukuda, K. (1992). A Pivoting Algorithm for Convex Hulls and Vertex

Enumeration of Arrangements and Polyhedra. Discret. Comput. Geom.,8, 295–313.

doi:10.1007/BF02293050.

Babikian, S., Valero-cuevas, F. J., & Kanso, E. (2015). Bio-inspired Actuation of Slow

Movements. J. Nonlinear Sci., (pp. 1–12). doi:10.1007/s00332-016-9305-x.

Bernshtein, N. A. (1967). The co-ordination and regulation of movements. Oxford:

Pergamon Press.

van den Bogert, A. J., Blana, D., & Heinrich, D. (2011). Implicit methods

for eﬃcient musculoskeletal simulation and optimal control. Procedia IUTAM,

2, 297–316. URL: http://www.sciencedirect.com/science/article/pii/

S2210983811000289. doi:10.1016/j.piutam.2011.04.027.

Cui, L., Perreault, E. J., Mass, H., & Sandercock, T. (2008). Modeling Short-Range

Stiﬀness of Feline Lower Hindlimb Muscles. J. Biomech.,41, 1945–1952. doi:10.

3174/ajnr.A1256.Functional.arXiv:NIHMS150003.

Delp, S. L., Anderson, F. C., Arnold, A. S., Loan, P. L., Habib, A., John, C. T., Guen-

delman, E., & Thelen, D. G. (2007). OpenSim : Open-Source Software to Create

and Analyze Dynamic Simulations of Movement. IEEE Trans. Biomed. Eng.,54,

1940–1950.

Erdemir, A., McLean, S. G., Herzog, W., & Van Den Bogert, A. J. (2007). Model-based

estimation of muscle forces exerted during movements. Clin. Biomech.,22, 131–

154. URL: http://www.ncbi.nlm.nih.gov/pubmed/17070969. doi:10.1016/

j.clinbiomech.2006.09.005.

16

Flash, T. (1987). The control of hand equilibrium trajectories in multi-joint arm move-

ments. Biol. Cybern.,57, 257–274. doi:10.1007/BF00338819.

Flash, T., & Hogan, N. (1985). The coordination of arm movements: an experimentally

conﬁrmed mathematical model. J. Neurosci.,5, 1688–1703. doi:4020415.

Flash, T., & Mussa-Ivaldi, F. A. (1990). Human arm stiﬀness characteristics during the

maintenance of posture. Exp. Brain Res.,82, 315–26. URL: http://www.ncbi.

nlm.nih.gov/pubmed/2286234. doi:10.1007/BF00231251.

Hogan, N. (1981). The Mechanics of Multi-Joint Posture and Movement Control. Biol.

Cybern.,52, 315–331.

Hu, X., Murray, W. M., & Perreault, E. J. (2011). Muscle short-range stiﬀness can

be used to estimate the endpoint stiﬀness of the human arm. J. Neurophysiol.,105,

1633–1641. doi:10.1152/jn.00537.2010.

Inouye, J. M., & Valero-Cuevas, F. J. (2016). Muscle Synergies Heavily Inﬂuence the

Neural Control of Arm Endpoint Stiﬀness and Energy Consumption. PLoS Comput.

Biol.,12, 1–24. doi:10.1371/journal.pcbi.1004737.

Khatib, O., Demircan, E., De Sapio, V., Sentis, L., Besier, T. F., & Delp, S. L. (2009).

Robotics-based synthesis of human motion. J. Physiol.,103, 211–219. URL: http:

//linkinghub.elsevier.com/retrieve/pii/S092842570900045X. doi:10.

1016/j.jphysparis.2009.08.004.

Koeppen, R., Sternad, D., Huber, M. E., & Hogan, N. (2017). Controlling Physical

Interactions : Humans do not Minimize Muscle Eﬀort. In Proc. ASME 2017 Dyn.

Syst. Control Conf. (pp. 1–8).

Kolda, T. G., & Bader, B. W. (2009). Tensor Decompositions and Applications. SIAM

Rev.,51, 455–500. URL: http://epubs.siam.org/doi/10.1137/07070111X.

doi:10.1137/07070111X.arXiv:1404.3905.

Kutch, J. J., & Valero-Cuevas, F. J. (2011). Muscle redundancy does not imply

robustness to muscle dysfunction. J. Biomech.,44, 1264–1270. URL: http://

17

dx.doi.org/10.1016/j.jbiomech.2011.02.014. doi:10.1016/j.jbiomech.

2011.02.014.

Millard, M., Uchida, T., Seth, A., & Delp, S. L. (2013). Flexing computational

muscle: modeling and simulation of musculotendon dynamics. J. Biomech. Eng.,

135, 1–12. URL: http://www.pubmedcentral.nih.gov/articlerender.

fcgi?artid=3705831{&}tool=pmcentrez{&}rendertype=abstract. doi:10.

1115/1.4023390.

Mussa-Ivaldi, F. A., Hogan, N., & Bizzi, E. (1985). Neural, mechanical, and geo-

metrical factors subserving arm posture in humans. J. Neurosci.,5, 2732–2743.

doi:10.1056/NEJM197706162962404.

Pedotti, A., Krishnan, V. V., & Stark, L. (1978). Optimization of muscle-force sequenc-

ing in human locomotion. Math. Biosci.,38, 57–76. doi:10.1016/0025- 5564(78)

90018-4.

Perreault, E. J., Kirsch, R. F., & Crago, P. E. (2001). Eﬀects of voluntary force genera-

tion on the elastic components of endpoint stiﬀness. Exp. Brain Res.,141, 312–323.

doi:10.1007/s002210100880.

Prilutsky, B. I., & Zatsiorsky, V. M. (2002). Optimization-based models

of muscle coordination. Exerc. Sport Sci. Rev.,30, 32–38. doi:10.1097/

00003677-200201000-00007.arXiv:NIHMS150003.

Shamaei, K., Cenciarini, M., Adams, A. A., Gregorczyk, K. N., Schiﬀman, J. M., &

Dollar, A. M. (2015). Biomechanical eﬀects of stiﬀness in parallel with the knee

joint during walking. IEEE Trans. Biomed. Eng.,62, 2389–2401. doi:10.1109/

TBME.2015.2428636.

Stanev, D., & Moustakas, K. (2018). Simulation of Constrained Mus-

culoskeletal Systems in Task Space. IEEE Trans. Biomed. Eng.,65,

307–318. URL: http://ieeexplore.ieee.org/document/8074739/. doi:10.

1109/TBME.2017.2764630.

18

Stanev, D., & Moustakas, K. (2019). Modeling musculoskeletal kinematic and

dynamic redundancy using null space projection. PLoS One,14, 1–26. URL:

https://doi.org/10.1371/journal.pone.0209171. doi:10.1371/journal.

pone.0209171.

Steele, K. M., Tresch, M. C., & Perreault, E. J. (2015). Consequences of biome-

chanically constrained tasks in the design and interpretation of synergy analyses. J.

Neurophysiol.,113, 2102–13. URL: http://www.ncbi.nlm.nih.gov/pubmed/

25589591. doi:10.1152/jn.00769.2013.

Thelen, D. G., & Anderson, F. C. (2006). Using computed muscle control

to generate forward dynamic simulations of human walking from experimental

data. J. Biomech.,39, 1107–15. URL: http://www.ncbi.nlm.nih.gov/pubmed/

16023125. doi:10.1016/j.jbiomech.2005.02.010.

Valero-Cuevas, F. J. (2009). A Mathematical Approach to the Mechanical

Capabilities of Limbs and Fingers. Adv Exo Med Biol,629, 619–633.

URL: http://link.springer.com/10.1007/978-0-387-77064-2. doi:10.

1007/978-0-387-77064-2.

Valero-Cuevas, F. J., Cohn, B. A., Yngvason, H. F., & Lawrence, E. L. (2015). Ex-

ploring the high-dimensional structure of muscle redundancy via subject-speciﬁc

and generic musculoskeletal models. J. Biomech.,48, 2887–2896. URL: http://

dx.doi.org/10.1016/j.jbiomech.2015.04.026. doi:10.1016/j.jbiomech.

2015.04.026.

Valero-Cuevas, F. J., Hoﬀmann, H., Kurse, M. U., Kutch, J. J., & Theodorou, E. A.

(2009). Computational Models for Neuromuscular Function. IEEE Rev Biomed

Eng,2, 110–135. doi:10.1109/RBME.2009.2034981.Computational.

Vempala, S. S. (2005). Geometric Random Walks: A Survey. MSRI Comb. Comput.

Geom.,52, 573–612.

Wesseling, M., Derikx, L. C., de Groote, F., Bartels, W., Meyer, C., Verdonschot,

N., & Jonkers, I. (2015). Muscle optimization techniques impact the magnitude of

19

Supplementary materials

SA. Implementation

The source code along with any related material for this publication are publicly

available1, providing simple examples so that the readers can reproduce, understand

and reuse the presented methods. The following Python packages were utilized numpy,

sympy,matplotlib,pandas/seaborn and multipolyfit for linear algebra manipu-

lation, symbolic derivation, plotting, statistical analysis and polynomial ﬁtting, respec-

tively. The open source OpenSim framework was used for modeling and simulation of

musculoskeletal systems.

SB. Muscle, joint and task space stiﬀness

In this section, we will revisit the relationships between muscle-joint and joint-

task space stiﬀness, so as to establish a link between muscle-task space stiﬀness. The

muscle stiﬀness is deﬁned as

Km=∂fm

∂lm

,Km∈Rm×m(S1)

where fm∈Rmrepresents the muscle forces, lm∈Rmthe musculotendon lengths and

mthe number of muscles. The joint stiﬀness is deﬁned similarly

Kj=∂τ

∂q,Kj∈Rn×n(S2)

where τ∈Rn,q∈Rndenote the generalized forces and coordinates, respectively and

nthe Degrees of Freedom (DoFs) of the system. In order to relate the two deﬁnitions

above, the kinematic and dynamic relations between muscle and joint space must be

considered. The musculotendon lengths are given as a function of the generalized

coordinates and depend on the muscle routing parameters (φ)

lm=f(q;φ) (S3)

1https://simtk.org/projects/stiffness

1

implying that the generalized coordinates suﬃce to fully deﬁne it, assuming that the

muscles are pretensioned. The derivative of Eq. (S3) with respect to time (dot notation)

is given by

˙

lm=R(q)˙q,R(q)=∂lm

∂q(S4)

where the moment arm matrix (R∈Rm×n) describes the mapping from joint to muscle

space (Rn→Rm). Furthermore, this matrix deﬁnes a dual relationship between motion

and force quantities. In this case, the virtual work principle can be used to establish the

link between joint and muscle space forces

τTδq=−fT

mδlm

τTδq=−fT

mRδq

τ=−RTfm

(S5)

where the negative sign convention is introduced, admitting that a muscle induces pos-

itive work during shortening (˙

lm≺0). Eq. (S5) can be diﬀerentiated with respect to

q

∂τ

∂q=−∂RT

∂q•2fm−RT∂fm

∂lm

∂lm

∂q

Kj=−∂RT

∂q•2fm−RTKmR

(S6)

where the ﬁrst term captures the varying eﬀect of the moment arm, while the second

term maps the muscle space stiﬀness to joint space. The notation •2(Subsection SC)

denotes a product of a rank-3 tensor ( ∂RT

∂q∈Rn×m×n, a 3D matrix) and a rank-1 tensor

(fm∈Rm, a vector), where the index 2 speciﬁes that the tensor dimensionality reduc-

tion (by summation) is performed across the second dimension, resulting in a reduced

rank-2 tensor of dimensions n×n(Kolda & Bader, 2009).

Continuing with the relationship between joint and task space stiﬀness, we start by

providing the task stiﬀness deﬁnition

Kt=∂ft

∂xt

,Kt∈Rd×d(S7)

2

where ft∈Rddenotes the forces, xt∈Rdthe positions and dthe DoFs of the task.

The task position is given as a function of the generalized coordinates

xt=g(q).(S8)

In this work, a task has an abstract meaning, which can be interpreted either as a

position, an orientation or a spatial primitive, which is a combination of position and

orientation (Sentis, 2007). The ﬁrst derivative of Eq. (S8) with respect to time is given

by

˙xt=Jt(q)˙q,Jt(q)=∂xt

∂q(S9)

where the task Jacobian matrix (Jt∈Rd×n) describes the mapping from joint to task

space (Rn→Rd). From the virtual work principle (as in Eq. (S5)) we can establish a

relationship between task and joint space forces

τTδq=fT

tδxt

τTδq=fT

tJtδq

τ=JT

tft.

(S10)

Eq. (S10) can be diﬀerentiated with respect to q

∂τ

∂q=∂JT

t

∂q•2ft+JT

t

∂ft

∂xt

∂xt

∂q

Kj=∂JT

t

∂q•2ft+JT

tKtJt

(S11)

and by solving for Ktthe forward (from high- to low-dimensional space) mapping is

obtained

Kt=J+T

t Kj−∂JT

t

∂q•2ft!J+

t(S12)

where +stands for the Moore-Penrose pseudoinverse and +Tthe transposed pseu-

doinverse operator. Combining equations (S12) and (S6), we can arrive at the direct

3

mapping between the task and muscle space stiﬀness

Kt=−J+T

t ∂JT

t

∂q•2ft+∂RT

∂q•2fm+RTKmR!J+

t.(S13)

SC. Tensor-vector product

A derivative of a matrix with respect to a vector yields a rank-3 tensor (essentially

a 3D matrix). As these products emerge in the derivations, it is important to follow a

consistent notation.

Deﬁnition S1. [n-model product]

The n-model product •nof a tensor (Kolda & Bader, 2009) T∈RI1×I2×···×INand a

vector v∈RInproduces a tensor of order N−1 with size I1× · · · × In−1×In+1× · · · × IN

such as

(T•nv)i1,...,in−1,in+1,...iN=

In

X

in

Ti1,i2,...,iNvin.(S14)

For the sake of completeness lets present an example

T:,:,0=

14710

25811

36912

T:,:,1=

13 16 19 22

14 17 20 23

15 18 21 24

v=

1

2

3

4

T•2v=

70 190

80 200

90 210

SD. Sampling of the feasible null space muscle forces

In order to compute the feasible muscle force set, the physiological null space mus-

cle forces must be obtained by sampling the space deﬁned by a set of linear inequalities.

4

Before presenting the sampling algorithm, it is important to prove that the feasible null

space muscle forces as outlined by the following inequalities

−NTR

NTR

fm0

fk

m

fmax −fk

m

Zfm0β

(S15)

lie in a convex and bounded polytope.

Proposition S1. [Feasible null space inequality]

The following properties hold true:

1. Eq. (S15) deﬁnes a convex set .

2. Eq. (S15) is bounded if the inequality is feasible and if Zis full column rank.

Proof.

1. Let’s prove that Eq. (S15) deﬁnes a convex set . For any x,y∈and

λ∈[0,1], let ψ=λx+(1 −λ)ythen

Zψ =λZ x +(1 −λ)Zy λβ+(1 −λ)β=β

which proves the convexity property.

2. Let us prove that Eq. (S15) is bounded when the inequality is feasible and Zhas

full column rank. From the deﬁnition, this inequality has always the following

form

aNTRfm0b

where aand bare ﬁnite vectors in Rm. If the system of inequalities is feasible

and NTRhas full column rank, then fm0is upper and lower bounded. Even if

the problem is feasible, if NTRis rank deﬁcient, then ∃i:fi

m0→ ±∞, 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.

5

In order to compute the feasible muscle force set f⊕

m, the physiological null space

muscle forces fm0must be obtained by sampling the space deﬁned by a set of linear in-

equalities (Eq. (S15)). The linear inequalities deﬁne a polytope (a convex polyhedron)

as an intersection of a ﬁnite number of half-spaces (hyperplane- or H-representation).

According to Proposition S1, this polytope has a ﬁnite number of extreme points

(vertex- or V-representation), which we use to sample this polytope suﬃciently. The

conversion from H-representation to V-representation is called vertex enumeration and

can be achieved by using either a deterministic (Avis & Fukuda, 1992) or random-

ized (Vempala, 2005) approach. From an arrangement of nhyperplanes in Rd,v

vertices are determined in O(n2dv) time. In our problem n=2m,d≤m(mbe-

ing number of muscles), thus the time complexity is O(vm3). In this work, we used

the lrs library (Avis & Fukuda, 1992), which provides a self-contained ANSI C im-

plementation of the reverse search algorithm for vertex enumeration. After obtaining

the extreme points of the polytope, additional solutions are generated by interpolating

(ψ=λx+(1 −λ)y) between vertices. This process generates samples spanning the

entire polytope due to its convexity, as proved earlier. An example of Algorithm S1 is

presented (Figure S1) for the following system

Ax ≤b,A=

0 0 −1

0−1 0

100

−1 0 0

010

001

,b=

0.5

0.5

0.5

0.5

0.5

0.5

.(S16)

SE. Simpliﬁed Arm Model

The simpliﬁed arm model (Figure S2) has three DoFs and nine muscles, some of

them being bi-articular. The analytical expressions of the Equations of Motion (EoMs)

6

Algorithm S1 Iterative sampling of a convex bounded polyhedron.

Input: H-representation Ax ≤b,d: iteration depth

Output: A representative set S={x:Ax ≤b}

1: Find the V-representation Vusing lrs (or some other method)

2: for i=0to ddo

3: T=V

4: for all distinct {x,y}∈T do

5: Add ψ=λx+(1 −λ)yto V {λ=0.5}

6: end for

7: end for

8: return V

Figure S1: Example of sampling the inequality Eq. (S16) using Algorithm S1 for diﬀerent levels of iteration

depth (d).

(a) d=0(b) d=1(c) d=2

is given by

M(q)¨q+C(q,˙q)˙q+τg(q)=τ(S17)

where M∈Rn×nrepresents the inertia mass matrix, nthe DoFs of the model, q,˙q,¨q∈

Rnthe generalized coordinates and their derivatives, C∈Rn×nthe Coriolis and cen-

trifugal matrix, τg∈Rnthe gravity contribution and τthe speciﬁed generalized forces.

As the model is an open kinematic chain a simple procedure to derive the EoMs

can be followed. Assuming that the spatial velocity (translational, rotational) of each

body segment is given by vb=[u,ω]T∈R6×1, the Kinetic Energy (KE) of the system

7

Figure S2: Diagram of the simpliﬁed arm model with three DoFs and nine muscles, some of them being

bi-articular. The muscle origins are labeled as aiand the muscle insertions as bi.listands for muscle length,

Lcifor center of mass and Jifor joint center.

in body local coordinates is deﬁned as

K=1

2

nb

X

i=1

(miu2

i+Iiω2

i)=1

2

nb

X

i=1

vT

iMivi(S18)

where Mi=diag(mi,mi,mi,[Ii]3×3)∈R6×6denotes the spatial inertia mass matrix, mi

the mass and Ii∈R3×3the inertia matrix of body i. The spatial quantities are related to

the generalized coordinates by the body Jacobian vb=Jb˙q,Jb∈R6×n. The total KE

8

is coordinate invariant, thus it can be expressed in a diﬀerent coordinate system

K=1

2

nb

X

i=1

qTJT

iMiJiq.(S19)

Following the above deﬁnition, the inertia mass matrix of the system can be written as

M(q)=

nb

X

i=1

JT

iMiJi.(S20)

Furthermore, the Coriolis and centrifugal forces C(q,˙q)˙qcan be determined directly

from the inertia mass matrix

Ci j(q,˙q)=

n

X

k=1

Γi jk ˙qk,i,j∈[1, . . . n],Γi jk =1

2(∂Mi j(q)

∂qk

+∂Mik(q)

∂qj

−∂Mk j(q)

∂qi

)

(S21)

where the functions Γi jk are called the Christoﬀel symbols. The gravity contribution

can be determined from the Potential Energy (PE) function

τg(q)=∂V(q)

∂q,V(q)=

nb

X

i=1

mighi(q)(S22)

where hi(q) denotes the vertical displacement of body iwith respect to the ground. In

this derivation we chose to collect all forces that act on the system in the term f(q,˙q).

The muscle forces fmare transformed into joint space generalized forces (τ) by

the moment arm matrix (τ=−RTfm). For a n-lateral polygon it can be shown that

the derivative of the side length with respect to the opposite angle is the moment arm

component. As a consequence, when expressing the muscle length as a function of

the generalized coordinates of the model, the moment arm matrix is evaluated by

R=∂lm(q)/∂q. The analytical expressions of the EoMs following our convention

are provided below (Eq. (S23)). The parameters of the model (Tahara et al., 2006) are

summarized in Tables 1 and 2, respectively.

M(q)¨q+f(q,˙q)=τ

τ=−RT(q)fm

(S23)

9

(S24)

M1,1=Iz1+Iz2+Iz3+L2

1m2+L2

1m3+2L1L2m3cos (q2(t))

+2L1Lc2m2cos (q2(t)) +2L1Lc3m3cos (q2(t)+q3(t))

+L2

2m3+2L2Lc3m3cos (q3(t)) +Lc2

1m1+Lc2

2m2+Lc2

3m3

(S25)

M1,2=Iz2+Iz3+L1L2m3cos (q2(t)) +L1Lc2m2cos (q2(t))

+L1Lc3m3cos (q2(t)+q3(t)) +L2

2m3+2L2Lc3m3cos (q3(t)) +Lc2

2m2+Lc2

3m3

(S26)M1,3=Iz3+L1Lc3m3cos (q2(t)+q3(t)) +L2Lc3m3cos (q3(t)) +Lc2

3m3

(S27)

M2,1=Iz2+Iz3+L1L2m3cos (q2(t)) +L1Lc2m2cos (q2(t))

+L1Lc3m3cos (q2(t)+q3(t)) +L2

2m3+2L2Lc3m3cos (q3(t)) +Lc2

2m2+Lc2

3m3

(S28)M2,2=Iz2+Iz3+L2

2m3+2L2Lc3m3cos (q3(t)) +Lc2

2m2+Lc2

3m3

(S29)M2,3=Iz3+L2Lc3m3cos (q3(t)) +Lc2

3m3

(S30)M3,1=Iz3+L1Lc3m3cos (q2(t)+q3(t)) +L2Lc3m3cos (q3(t)) +Lc2

3m3

(S31)M3,2=Iz3+L2Lc3m3cos (q3(t)) +Lc2

3m3

(S32)M3,3=Iz3+Lc2

3m3

f1=Lc1gm1cos (q1(t)) +gm2(L1cos (q1(t)) +Lc2cos (q1(t)+q2(t)))

+gm3(L1cos (q1(t)) +L2cos (q1(t)+q2(t)) +Lc3cos (q1(t)+q2(t)+q3(t)))

−2L1L2m3sin (q2(t)) d

dt q1(t)d

dt q2(t)+L1L2m3sin (q2(t)) d

dt q2(t)!2

+2L1Lc2m2sin (q2(t)) d

dt q1(t)d

dt q2(t)+L1Lc2m2sin (q2(t)) d

dt q2(t)!2

+2L1Lc3m3sin (q2(t)+q3(t)) d

dt q1(t)d

dt q2(t)

+2L1Lc3m3sin (q2(t)+q3(t)) d

dt q1(t)d

dt q3(t)

+L1Lc3m3sin (q2(t)+q3(t)) d

dt q2(t)!2

+2L1Lc3m3sin (q2(t)+q3(t)) d

dt q2(t)d

dt q3(t)

+L1Lc3m3sin (q2(t)+q3(t)) d

dt q3(t)!2

+2L2Lc3m3sin (q3(t)) d

dt q1(t)d

dt q3(t)

+2L2Lc3m3sin (q3(t)) d

dt q2(t)d

dt q3(t)+L2Lc3m3sin (q3(t)) d

dt q3(t)!2

(S33)

10

(S34)

f2=−L2Lc3m3 d

dt q1(t)+d

dt q2(t)+d

dt q3(t)!sin (q3(t)) d

dt q3(t)

−L2Lc3m3sin (q3(t)) d

dt q2(t)d

dt q3(t)+Lc2gm2cos (q1(t)+q2(t))

+gm3(L2cos (q1(t)+q2(t)) +Lc3cos (q1(t)+q2(t)+q3(t)))

+ L1(L2m3sin (q2(t)) +Lc2m2sin (q2(t)) +Lc3m3sin (q2(t)+q3(t))) d

dt q1(t)

−L2Lc3m3sin (q3(t)) d

dt q3(t)!d

dt q1(t)

(S35)

f3=Lc3gm3cos (q1(t)+q2(t)+q3(t))

+Lc3m3

L1sin (q2(t)+q3(t)) d

dt q1(t)!2

+L2sin (q3(t)) d

dt q1(t)!2

+2L2sin (q3(t)) d

dt q1(t)d

dt q2(t)+L2sin (q3(t)) d

dt q2(t)!2

(S36)R1,1=−a1b1sin (q1(t))

qa2

1+2a1b1cos (q1(t)) +b2

1

(S37)R1,2=0

(S38)R1,3=0

(S39)R2,1=a2b2sin (q1(t))

qa2

2−2a2b2cos (q1(t)) +b2

2

(S40)R2,2=0

(S41)R2,3=0

(S42)R3,1=0

(S43)R3,2=−b3(2L1−2a3)sin (q2(t))

2qb2

3+b3(2L1−2a3)cos (q2(t)) +(L1−a3)2

(S44)R3,3=0

(S45)R4,1=0

(S46)R4,2=b4(2L1−2a4)sin (q2(t))

2qb2

4−b4(2L1−2a4)cos (q2(t)) +(L1−a4)2

(S47)R4,3=0

R5,1

=−a5(L1sin (q1(t)) +b5sin (q1(t)+q2(t)))

qL2

1+2L1a5cos (q1(t)) +2L1b5cos (q2(t)) +a2

5+2a5b5cos (q1(t)+q2(t)) +b2

5

(S48)

11

R5,2

=−b5(L1sin (q2(t)) +a5sin (q1(t)+q2(t)))

qL2

1+2L1a5cos (q1(t)) +2L1b5cos (q2(t)) +a2

5+2a5b5cos (q1(t)+q2(t)) +b2

5

(S49)

(S50)R5,3=0

R6,1=a6(L1sin (q1(t)) −b6sin (q1(t)+q2(t)))

qL2

1−2L1a6cos (q1(t)) −2L1b6cos (q2(t)) +a2

6+2a6b6cos (q1(t)+q2(t)) +b2

6

(S51)

R6,2=b6(L1sin (q2(t)) −a6sin (q1(t)+q2(t)))

qL2

1−2L1a6cos (q1(t)) −2L1b6cos (q2(t)) +a2

6+2a6b6cos (q1(t)+q2(t)) +b2

6

(S52)

(S53)R6,3=0

(S54)R7,1=0

(S55)R7,2=0

(S56)R7,3=−b7(2L2−2a7)sin (q3(t))

2qb2

7+b7(2L2−2a7)cos (q3(t)) +(L2−a7)2

(S57)R8,1=0

(S58)R8,2=0

(S59)R8,3=b8(2L2−2a8)sin (q3(t))

2qb2

8−b8(2L2−2a8)cos (q3(t)) +(L2−a8)2

(S60)R9,1=0

R9,2=−L2

2(2L1−2a9)sin (q2(t)) −b9

2(2L1−2a9)sin (q2(t)+q3(t))

qL2

2+2L2b9cos (q3(t)) +L2(2L1−2a9)cos (q2(t)) +b2

9+b9(2L1−2a9)cos (q2(t)+q3(t)) +(L1−a9)2

(S61)

R9,3=−L2b9sin (q3(t)) −b9

2(2L1−2a9)sin (q2(t)+q3(t))

qL2

2+2L2b9cos (q3(t)) +L2(2L1−2a9)cos (q2(t)) +b2

9+b9(2L1−2a9)cos (q2(t)+q3(t)) +(L1−a9)2

(S62)

Table 1: Body parameters: mass, inertia, length and center of mass (CoM).

Bodies m(kg)Iz(kg ·m2)L(m)CoM (m)

arm 1.93 0.0141 0.31 0.165

forearm 1.32 0.0120 0.27 0.135

hand 0.35 0.0010 0.15 0.075

12

Table 2: Muscle parameters: muscle origin, insertion and maximum force.

Muscle a(m)b(m)fmax (N)

m10.055 0.080 50

m20.055 0.110 50

m30.220 0.030 50

m40.240 0.030 50

m50.040 0.045 25

m60.040 0.045 25

m70.220 0.048 50

m80.060 0.050 50

m90.260 0.030 25

References

Avis, D., & Fukuda, K. (1992). A Pivoting Algorithm for Convex Hulls and Vertex

Enumeration of Arrangements and Polyhedra. Discret. Comput. Geom.,8, 295–313.

doi:10.1007/BF02293050.

Kolda, T. G., & Bader, B. W. (2009). Tensor Decompositions and Applications. SIAM

Rev.,51, 455–500. URL: http://epubs.siam.org/doi/10.1137/07070111X.

doi:10.1137/07070111X.arXiv:1404.3905.

Sentis, L. (2007). Synthesis and Control of Whole-Body Behaviors in Humanoid

Systems. Stanford University. URL: http://dl.acm.org/citation.cfm?id=

1354211.

Tahara, K., Luo, Z.-w. W., & Arimoto, S. (2006). On Control Mechanism of Human-

Like Reaching Movements with Musculo-Skeletal Redundancy. In Int. Conf. Intell.

Robot. Syst. (pp. 1402–1409). doi:10.1109/IROS.2006.281931.

Vempala, S. S. (2005). Geometric Random Walks: A Survey. MSRI Comb. Comput.

Geom.,52, 573–612.

13