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.
Stiffness 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’ stiffness using inverse meth-
ods that account for the musculoskeletal redundancy effects. The musculoskeletal
task, joint and muscle stiffness 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 stiffness is
an important quantity that can provide valuable information during the analysis phase.
Musculoskeletal redundancy poses significant challenges in obtaining accurate stiffness
results without introducing critical modeling assumptions. Currently, model-based es-
timation of stiffness 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 effect of muscle redundancy in the
computation of the feasible stiffness characteristics. To confirm this, comprehensive
case studies on hand movement and gait are provided, where the feasible endpoint and
joint stiffness is evaluated. Notably, this process enables the estimation of stiffness dis-
tribution over the range of motion and aids in further investigation of factors affecting
?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 stiffness. Such knowledge can significantly
improve modeling by providing a holistic overview of dynamic quantities related to the
human musculoskeletal system, despite its inherent redundancy.
Keywords: stiffness, musculoskeletal systems, mixed dynamics
1. Introduction
The regulation of the limbs’ stiffness 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, stiff-
ness (or rigidity) is the extent to which the limbs resist movement induced by external
forces. In this work, task1(e.g., endpoint stiffness), joint and muscle stiffness are
distinguished and their relationship is studied. Since muscles are the main actors in
musculoskeletal systems, their co-contraction affects the joint and task stiffness (Kutch
& Valero-Cuevas, 2011; Inouye & Valero-Cuevas, 2016). Due to the redundancy of ac-
tuators, there exist infinitely 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 oversimplified (Valero-Cuevas
et al., 2009). This, although deliberate since it simplifies the mathematical implemen-
tation and analysis, may also negatively affect the validity of these models and the ob-
tained results (Wesseling et al., 2015) (e.g., estimation of muscle forces, joint reaction
loads and stiffness characteristics). Minimum effort solutions (e.g., activation squared)
tend to underestimate muscle co-contraction, since co-contraction has by construction
1The use of endpoint instead of task stiffness would lead to a more intuitive presentation, however, we
can compute the stiffness of any point on the model, thus a more general term of “task” stiffness is adopted.
2
zero net joint effect, 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 finding the possible system
realizations and further classifying strategies available to the CNS.
Experimental methods for measuring the endpoint stiffness have been proposed and
used in conjunction with model-based estimates in order to study the effect of muscle
co-contraction on it (Mussa-Ivaldi et al., 1985; Flash & Mussa-Ivaldi, 1990). Model-
based estimation of joint and task stiffness 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 effort. 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 stiffness 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 influence on the task and joint space stiffness.
The main contribution of this work is the calculation of the feasible task and joint
stiffness 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 stiffness is presented, while in Subsection 2.2, a method for describing
the feasible muscle forces is introduced, enabling the calculation of the feasible stiff-
ness. The feasible endpoint stiffness of a simplified arm model performing a hand
movement and the joint stiffness 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 stiffness space.
3
2. Methods
2.1. Muscle, joint and task space stiffness
In this section, we will present a short overview of the mathematical definitions
for calculating the muscle, joint and task space stiffness 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 effect
of muscle redundancy on the calculation of limbs’ stiffness.
The muscle stiffness is defined 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 stiffness is defined 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 stiffness is defined 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 stiffness 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 definition of the short range stiffness,
where the latter is shown to explain most of the variance in the experimental measure-
ments (Hu et al., 2011). The short range stiffness 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 definition will be used to populate the diagonal elements
of the muscle stiffness matrix, whereas inter-muscle coupling (non-diagonal elements)
will be assumed zero since it is difficult to measure and model in practice.
The joint stiffness is related to the muscle stiffness through the following relation-
ship
Kj=−∂RT
∂q•2fm−RTKmR(5)
where the first term captures the varying effect of the muscle moment arm (R∈Rm×n),
while the second term maps the muscle space stiffness 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 specifies
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 stiffness is related to the muscle stiffness 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 influence 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 different 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 definition 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 different 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) defines 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 defined by a set of lin-
ear inequalities (Eq. (9)). The linear inequalities define a closed polytope (a convex
polyhedron) as an intersection of a finite 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 influence of musculoskeletal redun-
dancy on the feasible task and joint stiffness will be evaluated. In the first case, a
simplified 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 stiffness 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 stiffness
In this experiment, the feasible task and joint stiffness of a simplified arm model
will be evaluated. More specifically, equations (5) and (6) will be used to compute
the stiffness at each time step of the simulation. Since stiffness depends on the muscle
forces and the model is redundant, there are infinitely many solutions that satisfy the
reaching task. To account for this, the space defined 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 stiffness 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 effector. 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 simplified 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 profiles in any direction around
the initial position of the end effector
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. Different
directions of movement are achieved by transforming the goals with Hz(γ), which
defines 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
stiffness using scaled (scaling =0.0006) ellipses (ellipses are omitted for visibility
reasons). The ellipse is a common way to visualize the task stiffness (Flash & Mussa-
Ivaldi, 1990; Cui et al., 2008), where the major axis (red) of the ellipse is oriented along
the maximum stiffness and the area is proportional to the determinant of Kt, convey-
ing the stiffness amplitude. The stiffness capacity (area) is increased in the last pose,
since the arm has already reached its final 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 stiffness distribution at three distinct time instants. Experimen-
tal measurements (Perreault et al., 2001) have showed that the orientation of stiffness
ellipses varies in a range of about 30◦. While our simulation results confirm this, they
also reveal a tendency of fixation towards specific directions for higher stiffness ampli-
tudes. The large variation of feasible stiffness verifies that this type of analysis conveys
important findings that complement experimental observations.
3.2. Calculation of the feasible joint stiffness during walking
This experiment involves a model available in the OpenSim repository, used to
estimate the joint stiffness 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 stiffness 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 stiffness
distribution.
The model was first scaled using a static pose in order to match the subject-specific
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 definition of joint stiffness (Eq. (5)) the muscle moment arm must
be differentiated 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 configuration. In order to derive
a symbolic representation, multivariate polynomial fitting (van den Bogert et al., 2011)
was performed on samples of the muscle moment arm at different configurations. To
reduce the complexity and improve the robustness of the fit, we determined the co-
ordinates affecting 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 flexion angle and the moment arm of the hamstring muscle at the
knee joint as a function of the hip and knee flexion 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 stiffness (Eq.
(4)) was used to form the muscle stiffness 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 flexion angle (left). Likewise, the moment arm of
the hamstring muscle at the knee joint as a function of the hip and knee flexion angles (right).
inter-muscle coupling, since it is difficult to model and measure in practice.
Figure 4 depicts the feasible joint stiffness of the hip, knee and ankle joints during
walking with the heel strike and toe-offevents annotated accordingly. These results
confirm experimental measurements (Shamaei et al., 2015) and furthermore present
similarities in the outline of the minimum stiffness predicted by our method. Notably,
the hip stiffness range is gradually decreasing between heel strike and toe-off, because
the flexor muscles are preparing for the swing phase and the capacity to increase the
joint stiffness reaches its lowest value before the toe-offevent. A similar pattern is ob-
served at the knee joint, which undergoes a flexion and a subsequent extension during
the swing phase. We observe that the capacity of the muscles to modulate the ankle
stiffness is not decreased and the range is gradually shifted upwards in the region be-
tween the heel strike and toe-offevents. The increase in the minimum possible values
of the ankle stiffness is attributed to the counterbalance of the ground reaction forces
by the ankle plantar flexion muscles. As muscle effort 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
flexion muscles can induce larger magnitudes of moment at the ankle joint in compar-
ison to the dorsiflexion muscles. We can conclude that the contribution of the ground
12
reaction forces results in an increase of the ankle stiffness.
Figure 4: The feasible joint stiffness of the hip, knee and ankle joints during walking with the heel strike
(HS) and toe-off(TO) events annotated accordingly.
4. Discussion
The evaluation of task and joint stiffness 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 difficult to interpret the hierarchical muscle activation
patterns, especially when different muscle groups are co-activated. Considering these
facts, we show that global stiffness evaluation is possible, hence this metric can be used
to characterize various actions and complement traditional analyses. The calculation
of the feasible stiffness can aid in finding patterns of low stiffness 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 stiff-
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 stiffness computa-
tion. 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 sat-
isfying the physiological constraints of the muscles, outlining the various factors that
affect 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
defined 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 stiffness can be measured experimentally using specialized
equipment, one cannot estimate the muscle stiffness from those measurements alone,
because the mapping from low- (task or joint) to high-dimensional muscle stiffness is
not unique. Therefore, accurate estimation of muscle stiffness from task or joint stiff-
ness is in general not possible, whereas validation would require direct measurement.
Consequently, identification 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 first used a simplified model to study the arm end-
point stiffness, while the second used a more realistic OpenSim gait model to examine
the joint stiffness 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 stiffness with respect to the uncertainties in the model parameters. Nevertheless,
14
the obtained results confirm previous findings 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 stiffness capacity and task requirements, indicating that higher
task requirements reduce the ability for stiffness modulation.
5. Conclusion
In this study, we presented a method to determine the feasible task and joint stiff-
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 effective evaluation and treatment of
disorders such as Parkinson’s disease. Practical and experimental limitations severely
hinder the in vivo measurement of stiffness, while model-based estimation suffers 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 stiffness using muscle co-contraction,
highlighting the importance of performing feasibility studies.
Conflict of interest statement
None of the authors had any conflict 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 efficient 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
Stiffness 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
confirmed mathematical model. J. Neurosci.,5, 1688–1703. doi:4020415.
Flash, T., & Mussa-Ivaldi, F. A. (1990). Human arm stiffness 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 stiffness can
be used to estimate the endpoint stiffness 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 Influence the
Neural Control of Arm Endpoint Stiffness 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 Effort. 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). Effects of voluntary force genera-
tion on the elastic components of endpoint stiffness. 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., Schiffman, J. M., &
Dollar, A. M. (2015). Biomechanical effects of stiffness 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-specific
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., Hoffmann, 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 fitting, respec-
tively. The open source OpenSim framework was used for modeling and simulation of
musculoskeletal systems.
SB. Muscle, joint and task space stiffness
In this section, we will revisit the relationships between muscle-joint and joint-
task space stiffness, so as to establish a link between muscle-task space stiffness. The
muscle stiffness is defined 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 stiffness is defined 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 definitions
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 suffice to fully define 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 defines 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 differentiated with respect to
q
∂τ
∂q=−∂RT
∂q•2fm−RT∂fm
∂lm
∂lm
∂q
Kj=−∂RT
∂q•2fm−RTKmR
(S6)
where the first term captures the varying effect of the moment arm, while the second
term maps the muscle space stiffness 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 specifies 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 stiffness, we start by
providing the task stiffness definition
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 first 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 differentiated 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 stiffness
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.
Definition 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 defined 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) defines 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) defines 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 definition, this inequality has always the following
form
aNTRfm0b
where aand bare finite 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 deficient, 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 defined by a set of linear in-
equalities (Eq. (S15)). 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 S1, 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-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. Simplified Arm Model
The simplified 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 different 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 specified 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 simplified 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 defined 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 different coordinate system
K=1
2
nb
X
i=1
qTJT
iMiJiq.(S19)
Following the above definition, 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 Christoffel 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