Post on 18-Mar-2020
Dissertation originale deposee et acceptee
a la Faculte Polytechnique de Mons, Universite de Mons
en vue de l’obtention du grade de Docteur en Sciences de l’Ingenieur
par
Cedric Rustin
Physiological modelling
and
dynamic simulation of human walking
Membres du Jury :
Prof. Franck Barbier — Universite de Valenciennes
Prof. Olivier Bruls — ULg
Prof. Guy Cheron — ULB
Prof. Selim Datoussaıd — UMONS (secretaire)
Prof. Paul Fisette — UCL
Prof. Dirk Lefeber — VUB
Prof. Christine Renotte — UMONS (presidente)
Prof. Olivier Verlinden — UMONS (promoteur)
Decembre 2010
i
A toi, mon futur Bout d’Chou,
En promettant de desormais te consacrer plus de temps ...
Acknowledgments
Nous tenons a remercier tout particulierment Olivier Verlinden, le promoteur de cette these.
Son ecoute et ses conseils avises nous furent d’une grande utilite.
Un grand merci aux relecteurs dont la lecture attentive et les remarques pertinentes ont ete les
bienvenues.
A special thanks to the Professor G. E. Loeb, the Doctor R. Davoodi and the PhD student G.
A. Tsianos for their welcome and supervision within the Department of Biomedical Engineering
at the Southern University of California, Los Angeles, USA.
Merci egalement a Sebastien Noel et a sa reactivite, qui nous ont rendu possible et tres pratique
l’acces au cluster du service d’Informatique de la FPMs.
Une tendre pensee a toi aussi, ma Cherie, pour ta patience, ton soutien et ta bonne humeur.
Nous n’oublions pas non plus les sportifs, cyclotouristes, nageurs et grimpeurs, qui ont partage
nos indispensables moments de detente pendant l’intense periode de redaction.
Enfin, nous tenons a mentionner le soutien financier du Fonds de la Recherche Scientifique
(F.S.R.-FNRS) sans lequel ce travail de recherche n’aurait pas eu lieu.
iii
Contents
Acknowledgments iii
Table of contents v
List of figures ix
List of tables xv
Introduction 1
1 Description and functioning of the human locomotion machinery 5
1.1 Generality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Biomechanic considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.1 Gait cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.2 Foot anatomy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.3 Human joints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.4 Energy consumption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3 Neurophysiology considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3.1 Spinal cord . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3.2 Brain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.3.3 Muscles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3.4 Sensory information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2 Walking simulation challenges 25
2.1 Physiological considerations and hypothetical strategies . . . . . . . . . . . . . . 25
2.1.1 Energy consumption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.1.2 Segmental coordination and balance . . . . . . . . . . . . . . . . . . . . . 28
2.1.3 Overactuation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.1.4 Miscellaneous considerations and strategies . . . . . . . . . . . . . . . . . 31
2.2 Solutions adopted in simulations and in robotics . . . . . . . . . . . . . . . . . . 32
2.3 Inventory of sophisticated models . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.3.1 Skeletal model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
v
vi Table of contents
2.3.2 Musculoskeletal model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.3.3 Neuromusculoskeletal model . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.4 Challenges about walking modelling and strategy implementation . . . . . . . . . 38
2.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3 Development of the musculoskeletal model 41
3.1 Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.2 Multibody system and dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.3 Kinetics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.4 Passive forces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.4.1 Gravity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.4.2 Passive joint moments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.4.3 Foot-Ground contacts and foot modelling . . . . . . . . . . . . . . . . . . 51
3.5 Active forces: muscles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.5.1 Modelling approaches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.5.2 Hill-type model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.5.3 Virtual Muscle model (VM) . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.5.4 Muscle morphometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
3.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4 Generation of a kinematic walking pattern 79
4.1 Experimental background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
4.2 General description of the optimization procedure . . . . . . . . . . . . . . . . . . 81
4.3 Simplification of the musculoskeletal model . . . . . . . . . . . . . . . . . . . . . 82
4.3.1 Passive joint moments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
4.3.2 Muscles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
4.3.3 Resulting system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
4.4 Optimization and simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
4.4.1 Design variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
4.4.2 Cost function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
4.4.3 Optimization algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
4.4.4 Range and precision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
4.4.5 Optimization process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
4.4.6 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.5 Discussion and summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
5 Generation of muscular activation patterns 107
5.1 General description of the optimization procedure . . . . . . . . . . . . . . . . . . 107
5.1.1 Preliminary test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
5.1.2 Walking-related optimization . . . . . . . . . . . . . . . . . . . . . . . . . 109
5.1.3 Resulting system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
5.2 Optimization and simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
5.2.1 Design variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
5.2.2 Cost function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
5.2.3 Optimization algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
5.2.4 Range and precision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Table of contents vii
5.2.5 Optimization process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
5.2.6 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
5.3 Discussion and summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
6 Modelling of the foot by finite elements
and cosimulation concept 125
6.1 Foot FE model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
6.1.1 Model building and validation . . . . . . . . . . . . . . . . . . . . . . . . . 126
6.1.2 Dynamic simulation of the rolling motion . . . . . . . . . . . . . . . . . . 127
6.2 Coupling method: cosimulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
6.2.1 Gluing: state of the art and strategies . . . . . . . . . . . . . . . . . . . . 130
6.2.2 Equations of motion of a multibody system . . . . . . . . . . . . . . . . . 131
6.2.3 Constraint equations and joint forces . . . . . . . . . . . . . . . . . . . . . 132
6.2.4 T-T gluing algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
6.2.5 Validation and discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
6.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
7 Implementation details 147
7.1 EasyDyn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
7.1.1 Implementation in the object-oriented spirit . . . . . . . . . . . . . . . . . 147
7.1.2 Sparse solver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
7.1.3 Introduction of extensible elements of visualization . . . . . . . . . . . . . 151
7.2 Musculoskeletal model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
7.2.1 Parallelism employed for the genetic algorithm . . . . . . . . . . . . . . . 151
7.2.2 C++ object-oriented implementation . . . . . . . . . . . . . . . . . . . . . 152
7.3 CosimDyn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
7.3.1 Parallel algorithm: synchronization and data transfer . . . . . . . . . . . 153
7.3.2 C++ object-oriented implementation . . . . . . . . . . . . . . . . . . . . . 156
7.3.3 Matrix and vector calculus . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Conclusion 159
7.4 Personal and original contributions . . . . . . . . . . . . . . . . . . . . . . . . . . 159
7.5 Summarize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
A Human walking may involve spinal pattern generators 165
B Spinal cord modelling 167
C Musculoskeletal model: parameters and complementary data 169
C.1 Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
C.2 Passive joint moments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
C.3 Ellipsoid and foot ground contact parameters . . . . . . . . . . . . . . . . . . . . 176
C.4 Recruitment by intramuscular functional electrical stimulation (FES) . . . . . . . 177
C.5 Muscle behaviour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
C.5.1 Muscle parameter: fiber type level . . . . . . . . . . . . . . . . . . . . . . 179
C.5.2 Muscle parameters: whole-muscle level . . . . . . . . . . . . . . . . . . . . 180
C.5.3 Muscle parameters: morphometry . . . . . . . . . . . . . . . . . . . . . . 185
viii Table of contents
D Generation of the kinematic patterns: complementary results 191
E Generation of the activation signal patterns: complementary data 199
E.1 Muscle energetics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
F Foot anatomy and finite element modelling 203
F.1 Foot modelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
F.1.1 Physiology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
F.1.2 Modelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
F.2 Simulations and results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
F.2.1 Numerical solver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
F.2.2 First simulation: orthostatic standing . . . . . . . . . . . . . . . . . . . . 216
F.2.3 Second simulation: equilibrium on the heels . . . . . . . . . . . . . . . . . 221
F.2.4 Third simulation: equilibrium on the forefeet . . . . . . . . . . . . . . . . 224
F.2.5 Final simulation: rolling motion . . . . . . . . . . . . . . . . . . . . . . . 227
F.3 Data related to the finite element model . . . . . . . . . . . . . . . . . . . . . . . 229
Bibliography 239
List of Figures
1.1 Motion machinery [CHANDANA2005] . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2 Gait cycle phases [WOLKOTTE2003] . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3 Gait cycle proportions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4 Cost of locomotion per distance in function of the body mass [FULL1997] . . . . 9
1.5 Minimal representation of the half-centers accounting for the reciprocal inhibition
between interneurons and serving as the basis for rhythm generation. Dark colour
points out the inhibitory connections (-) and light colour the excitatory (+) ones.
(MN = motor neuron and FRA = flexor reflex afferents) [KANDEL] . . . . . . . 10
1.6 Locomotor pattern generator [KANDEL] . . . . . . . . . . . . . . . . . . . . . . . 11
1.7 Brain regions intervening in the locomotor process and descending pathways
[KANDEL] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.8 The different levels of a muscle [WOLKOTTE2003] . . . . . . . . . . . . . . . . . 13
1.9 Motor units (Copyright©Pearson Education, Inc., publishing as Benjamin Cum-
mings) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.10 Muscle fiber configurations: a) 1.Parallel 2.Unipennated 3.Bipennated 4.Unipen-
nated with non-uniform fiber lengths 5.Multipennated ( [WOLKOTTE2003]) b)
Schematic model of an unipennated muscle ( [WOLKOTTE2003]) . . . . . . . . 15
1.11 Function of the neuromuscular junction [mcgrawhill@net] . . . . . . . . . . . . . 16
1.12 Action potential, breakdown of ATP and cross-bridge movement during muscle
contraction [mcgrawhill@net] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.13 Action potential, breakdown of ATP and cross-bridge movement during muscle
contraction (continuation) [mcgrawhill@net] . . . . . . . . . . . . . . . . . . . . . 19
1.14 Sarcomere contraction [mcgrawhill@net] . . . . . . . . . . . . . . . . . . . . . . . 20
1.15 Properties of the three different fiber types . . . . . . . . . . . . . . . . . . . . . 20
1.16 The spindle consists of three types of intrafusal muscle fibres: long nuclear bag1
and bag2 fibres and shorter chain fibres [MILEUSNIC2006I] . . . . . . . . . . . . 22
1.17 Structure of the Golgi tendon organ [MILEUSNIC2006II] . . . . . . . . . . . . . 22
1.18 Delay of the initiation of the swing phase of walking by electrical stimulation
of the group Ib sensory fibres from cat’s extensor muscles. The arrow shows the
point at which the swing phase would normally have started without the stimulus
of the extensor afferents ( [KANDEL], adapted from [WHELAN1995]) . . . . . . 23
ix
x List of figures
1.19 Schematic view of the implantation of the cutaneous mechanoreceptors in the skin
(Copyright ©2001, Sinauer Associates, Inc)( [ncbi@net]) . . . . . . . . . . . . . . 23
2.1 Inverted pendulum model [IVANENKO2004]. The arc represents the center of
mass displacement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.2 Gravitational potential energy (Ep), kinetic energy (Ek) and changes of vertical
hip displacement (GTy,left +GTy,right)/2 [IVANENKO2004] . . . . . . . . . . . . 26
2.3 SLIP model [HOLMES2006] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.4 Lower limb model in the sagittal plane [IVANENKO2004] . . . . . . . . . . . . . 28
2.5 Planar covariance of lower limb segments [IVANENKO2004]. The black part of
the line in subfigure B represents the swing phase and the red one the stance phase. 29
3.1 Skeleton views and degrees of fredom description. The yellow spheres represent
the centres of gravity of the segments. . . . . . . . . . . . . . . . . . . . . . . . . 43
3.2 Kelvin model used to determine passive joint moments ( [AMANKWAH2004]) . 49
3.3 Improvement of the elastic contribution Me around the physilological boundaries
(in this example, θlim− and θlim+ approximately match the physiological ankle
boundaries of −50◦ and 20◦ respectively) . . . . . . . . . . . . . . . . . . . . . . 50
3.4 Elastic passive moment used for the right toes (m designates the slope coefficient
of the lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.5 Foot ellipoids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.6 Tangential friction force . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.7 View of the musculoskeleton model . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.8 Twitch and tetanus [NEWMAN] . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.9 Schematic force-length curves [NEWMAN] (l0 is the optimal length) . . . . . . . 56
3.10 a) Quick-release apparatus b) Tension and length responses [NEWMAN] . . . . . 57
3.11 Hill’s muscle model [NEWMAN] . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.12 Block diagram of relationships between excitation, activation and muscle mechan-
ics [WINTERS] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.13 Hill’s force-velocity curve and mechanical power output [NEWMAN] . . . . . . . 60
3.14 a) Isometric force T0 versus length L. b) Force-velocity (T versus v) relation of
the CE for both shortening (right half plan) and lengthening (left half plan). a)
and b) The upper solid lines are for maximal stimulation and the dashed lines for
constant submaximal stimulation. [WINTERS] . . . . . . . . . . . . . . . . . . . 61
3.15 Zajac’s model: Scheme of mechanical arrangement [WINTERS] . . . . . . . . . . 62
3.16 Other Hill-type models [WINTERS] . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.17 Hierarchical framework for the VM [VMmanual] . . . . . . . . . . . . . . . . . . 64
3.18 Modified Hill-type model [VMmanual] . . . . . . . . . . . . . . . . . . . . . . . . 65
3.19 Schematic diagram of phenomeonogogical functions describing the muscle be-
haviour (see the Subsection 3.5.3.4 below for the mathematical expressions of
these functions). [VMmanual] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.20 EMG signals before and after processing [miscellaneous2@net] . . . . . . . . . . . 67
3.21 Natural recruitment strategy implemented in VM . . . . . . . . . . . . . . . . . . 69
3.22 Natural discrete recruitment and determination of firing frequencies for each mo-
tor unit ( [VMmanual]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
List of figures xi
3.23 Comparison of the computational efficiency for the three recruitment algorithms
of the VM ( [VMmanual]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
3.24 Via-points muscle path model. Via-points in (a) and (b) are all active. One
of the via-point in (c) becomes inactive when the joint is moved to a certain
angle. [XU2008]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.25 Examples of obstacle-sets (or ”wrapping surfaces”): (a) sphere; (b) two-cyclinder;
(c) stub and (d) cylinder ( [GARNER2000]) . . . . . . . . . . . . . . . . . . . . . 77
4.1 Principle of inverse methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.2 Input of the experimental data in the musculoskeletal model: motion in the sagit-
tal plane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
4.3 Principle of the optimization procedure related to the generation of a kinematic
pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4.4 Description of the system employed in the optimization procedure . . . . . . . . 83
4.5 Fitness convergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.6 Comparison of the experimental and optimized sagittal angles (right hip, knee
and ankle) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.7 Motion in the sagittal plane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.8 Comparison of the vertical component of the resultants of the experimental and
optimized foot-ground forces (right and left) . . . . . . . . . . . . . . . . . . . . . 98
4.9 Comparison of the tangential component along the longitudinal x axis of the
resultants of the experimental and optimized foot-ground forces (right and left) . 99
4.10 Comparison of the tangential component along the transversal z axis of the re-
sultants of the experimental and optimized foot-ground forces (right and left) . . 99
4.11 Penetration of the contact points of the right foot . . . . . . . . . . . . . . . . . . 100
4.12 Passive joint moments for the right hip in flexion-extension= f(R ANKLE ang)
(AMANKWAH2004’s model, Eq. 3.19) . . . . . . . . . . . . . . . . . . . . . . . . 100
4.13 Passive joint moments for the right metatarsophalangeal joint= f(R MTP ang)
(Personal model) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
4.14 Simulated muscular, passive and net joint torques for the left ankle = f(t) . . . . 102
4.15 Simulated net torque and power for the left ankle = f(t) . . . . . . . . . . . . . . 102
4.16 Net torque and power for the left ankle = f(t) given by the software ANZ (
[ANZ@net]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
4.17 Ankle torque versus ankle angle [VERSLUYS2008,WINTER] (A: initial heel con-
tact, B: contact of the whole foot sole, C: maximum ankle torque, D: toe-off) . . 103
4.18 Simulated ankle torque versus optimized ankle angle . . . . . . . . . . . . . . . . 104
5.1 Principle of the optimization procedure related to the generation of the muscular
activation patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
5.2 The three muscles of the reduced model used for the generation of the articular
activation patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
5.3 Fitness convergence for the preliminary tests . . . . . . . . . . . . . . . . . . . . 114
5.4 Fitness convergence for the walking-related optimization (ANZ torque) . . . . . . 115
5.5 Comparison of the simulated ankle kinematics with the reference sinusoid . . . . 116
5.6 Comparison of the activation signal patterns determined by the optimization pro-
cesses for the three muscles inserted . . . . . . . . . . . . . . . . . . . . . . . . . 116
xii List of figures
5.7 Comparison of the active forces generated by the three inserted muscles . . . . . 118
5.8 Comparison of the active forces generated by the slow and fast motor units of the
three inserted muscles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
5.9 Comparison of the simulated ankle kinematics with the reference sinusoid . . . . 120
5.10 Activation signals determined by the optimization process for the three muscles
inserted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
5.11 Active forces generated by the three inserted muscles . . . . . . . . . . . . . . . . 121
6.1 Simulated rolling motion [DEVAUX2008] . . . . . . . . . . . . . . . . . . . . . . 127
6.2 Pressure distribution during the rolling motion . . . . . . . . . . . . . . . . . . . 128
6.3 Evolution of the COP position for the experience (a) and the model (b) [DE-
VAUX2008] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
6.4 Cosimulation principle for walking . . . . . . . . . . . . . . . . . . . . . . . . . . 130
6.5 Gluing strategies [WANG2003] . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
6.6 Two frames linked by constraint equations . . . . . . . . . . . . . . . . . . . . . . 132
6.7 Free double pendulum: all-in-one approach . . . . . . . . . . . . . . . . . . . . . 134
6.8 Free double pendulum: cosimulation approach; kinematics considerations . . . . 135
6.9 Free double pendulum: cosimulation approach; force considerations . . . . . . . . 136
6.10 Flowchart describing the iterative procedure . . . . . . . . . . . . . . . . . . . . . 139
6.11 Free double pendulum: cosimulation approach; interface frame considerations . . 141
6.12 Frames and point of application for a spherical joint . . . . . . . . . . . . . . . . 141
6.13 Frames and points of application for a prismatic joint . . . . . . . . . . . . . . . 142
6.14 (Co)simulation of a free double pendulum . . . . . . . . . . . . . . . . . . . . . . 142
6.15 Interface forces at hinge 2 (pendulum) . . . . . . . . . . . . . . . . . . . . . . . . 143
6.16 Absolute errors on the configuration parameters (pendulum) . . . . . . . . . . . 143
6.17 Absolute errors on the second time derivatives of the configuration parameters
(pendulum) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
6.18 Illustration of walking robot AMRU5 . . . . . . . . . . . . . . . . . . . . . . . . . 144
6.19 Kinematic structure of a leg submodel . . . . . . . . . . . . . . . . . . . . . . . . 144
6.20 (Co)simulation of AMRU5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
6.21 Absolute errors on the translation configuration parameters (central body of
AMRU5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
7.1 Comparison of simulations performed with the GSL and UMFPACK solvers and
with inversion of the equations related to the left-right legs . . . . . . . . . . . . 150
7.2 Evolution of the musculotendon path during knee extension . . . . . . . . . . . . 152
7.3 Algorithm and classes organization . . . . . . . . . . . . . . . . . . . . . . . . . . 154
B.1 Schematic diagram of the spinal cord circuitry integrated with the locomotor
CPG used for simulation of the effects of extensor group I and cutaneous afferent
stimulation during fictive locomotion. (Rybak’s model [RYBAK2006II]) . . . . . 167
B.2 Partial view of spinal cord model showing the connections between two ’partial-
synergist’ muscles. The pathways shown are: (Ia) monosynaptic Ia-pathway, (PN)
propriospinal pathway, (Ib) Ib-inhibitory pathway and (R) Renshaw pathway.
The ’SET’ gains adjusted the background activity in the spinal cord and the
’GO’ gains initiated and maintained the transition to a new state. (Raphael’s
model [RAPHAEL2009]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
List of figures xiii
C.1 Epimysial and neural functional electrical stimulations . . . . . . . . . . . . . . . 177
C.2 Pulse of a unipolar rectangular FES signal . . . . . . . . . . . . . . . . . . . . . . 177
C.3 FES recruitment strategy implemented in VM . . . . . . . . . . . . . . . . . . . . 178
D.1 Passive joint moments for the right hip in flexion-extension= f(R HIP flex) . . 194
D.2 Passive joint moments for the right knee in flexion-extension= f(R KNEE ang) 194
D.3 Simulated muscular, passive and net joint torques for the left hip in flexion-
extension = f(t) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
D.4 Simulated muscular, passive and net joint torques for the left knee = f(t) . . . . 195
D.5 Simulated net torque and power for the left hip in flexion-extension = f(t) . . . . 196
D.6 Net torque and power for the left hip in flexion-extension = f(t) given by the
software ANZ ( [ANZ@net]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
D.7 Simulated net torque and power for the left knee = f(t) . . . . . . . . . . . . . . 197
D.8 Net torque and power for the left knee = f(t) given by the software ANZ (
[ANZ@net]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
E.1 Muscle energetics: modelling of the rates of energy related to activation and
cross-bridges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
F.1 Top view of the foot bones [SOBOTTA] . . . . . . . . . . . . . . . . . . . . . . . 204
F.2 Synovial joint and cartilages ( [miscellaneous1@net]) . . . . . . . . . . . . . . . . 204
F.3 Example of view showing the ligaments of the foot ( [NETTER]) . . . . . . . . . 205
F.4 3D model of the foot bones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
F.5 Mesh of the bones with R3D3 elements . . . . . . . . . . . . . . . . . . . . . . . . 207
F.6 Cartilage moulding the shape of the extremities of the phalanges . . . . . . . . . 208
F.7 Insertion of the cartilages in the 3D model . . . . . . . . . . . . . . . . . . . . . . 208
F.8 Mesh of a cartilage with C3D4 elements . . . . . . . . . . . . . . . . . . . . . . . 209
F.9 Ligaments and plantar fascia modelled with elastic axial connectors . . . . . . . . 210
F.10 Function describing the behaviour of the ligaments . . . . . . . . . . . . . . . . . 210
F.11 Surface enveloppe of the foot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
F.12 3D model of the soft tissues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
F.13 Nonlinear behaviour of the soft tissues ( [ANTUNES2007] . . . . . . . . . . . . . 212
F.14 Mesh of the soft tissues with C3D4 elements . . . . . . . . . . . . . . . . . . . . . 213
F.15 Complete 3D model under Catia . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
F.16 Complete 3D model meshed under Abaqus . . . . . . . . . . . . . . . . . . . . . . 214
F.17 Three phases of the rolling foot process . . . . . . . . . . . . . . . . . . . . . . . 214
F.18 Displacement of the center of pressure in function of the body orientation . . . . 216
F.19 Initial configuration and misalignement of the centers of pressure (left), and gen-
eration of a moment lining up the COP’s (right) [DEVAUX2008] . . . . . . . . . 217
F.20 Determination of the correction of orientation to bring to the model [DEVAUX2008]217
F.21 Pressure distribution in orthostatic configuration . . . . . . . . . . . . . . . . . . 219
F.22 Bony shape of the calcaneus bone (black ellipse) and very marked arch in the
medial zone (red ellipse) [DEVAUX2008] . . . . . . . . . . . . . . . . . . . . . . . 220
F.23 Modeling of the thrust (a) and landing (b) subphases by mean of an axial con-
nector [DEVAUX2008] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
F.24 Tibia and fibula orientation change with respect to the orthostatic configuration
[DEVAUX2008] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
xiv List of figures
F.25 Equilibrium reached on the heels [DEVAUX2008] . . . . . . . . . . . . . . . . . . 223
F.26 Pressure distribution when equilibrium on the heels is reached . . . . . . . . . . . 224
F.27 Equilibrium reached on the forefeet [DEVAUX2008] . . . . . . . . . . . . . . . . 225
F.28 Pressure distribution when equilibrium on the forefeet is reached . . . . . . . . . 226
F.29 Simultaneous tibia rotation and Achilles musculotendon complex shortening [DE-
VAUX2008] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
List of Tables
3.1 Description of the degrees of freedom . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.2 Body kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.3 Mass and moments of inertia of the different segments . . . . . . . . . . . . . . . 47
3.4 Equations and relations of the VM [VMmanual]. The employed color code is:
blue for the state variables (and their derivatives), black for the parameters and
intermediary variables and red for the global input variables. Notes: Top bar x
denotes the normalized variable x (forces by maximum isometric tetanic muscle
force F0, lengths and velocities by optimal fascicle length LCE0 or optimal tendon
length LSE0); superscript xi denotes the ith motor unit specific variable x. . . . 72
3.5 Summarize of the configuration parameters . . . . . . . . . . . . . . . . . . . . . 77
4.1 Status of the degrees of freedom in the optimization process . . . . . . . . . . . 85
4.2 Weights and penalty term . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
4.3 Genetic algorithm parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
4.4 Design variables: range, precision and number of bits . . . . . . . . . . . . . . . . 93
4.5 Relative contributions of the three objectives to the fitness function . . . . . . . 94
4.6 Solver parameters used for each individual simulation . . . . . . . . . . . . . . . 95
4.7 Periodicity of the dof related to the pelvis and toes (position level) . . . . . . . . 97
5.1 Muscles wrapping the right ankle and playing a role in plantarflexion and dorsi-
flexion. (The gray highlights represent the muscles inserted in the reduced model
used for the generation of the articular activation patterns.) . . . . . . . . . . . . 109
5.2 Description of the degrees of freedom (generation of the ankle walking pattern) . 111
5.3 Genetic algorithm parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
5.4 Design variables: range and number of bits . . . . . . . . . . . . . . . . . . . . . 113
5.5 Relative contributions of the two terms of the fitness function . . . . . . . . . . . 114
7.1 Hip flexion angle at the end of simulation for the dense and sparse solvers, with
possible left-right inversion in the order of the ODE’s . . . . . . . . . . . . . . . . 150
C.1 Range of the degrees of freedom . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
C.2 Parameters related to the passive joint moments of the joints (excepted the toes) 175
C.3 Parameters related to the passive joint moments of the toes . . . . . . . . . . . . 175
xv
xvi List of tables
C.4 Ellipsoid and foot-ground contact parameters . . . . . . . . . . . . . . . . . . . . 176
C.5 Fiber type parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
C.6 Muscle parameters for the whole-muscle level . . . . . . . . . . . . . . . . . . . . 184
C.7 Muscle parameters for the morphometry . . . . . . . . . . . . . . . . . . . . . . . 190
D.1 Periodicity of the dof related to the pelvis and toes (velocity level) . . . . . . . . 191
D.2 Periodicity of the dof related to the pelvis and toes (acceleration level) . . . . . . 191
D.3 Input parameters expressed with bit strings. The gray highlights show that the
input parameters have values located on (or near to) the boundaries of their
variation range (all 0 or 1 bits). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
F.1 Soft tissue coefficients Cij ([Nmm−2]) and Di ([mm−2N−1]) . . . . . . . . . . . . 212
F.2 Technical characteristics of the employed force plateform . . . . . . . . . . . . . . 215
F.3 Influence of the mass factor on the accuracy and simulation duration . . . . . . . 221
F.4 Homogeneous transformation matrices of the foot segments (Delp’s model in or-
thostatic position) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
F.5 Inertial properties of the foot bones (Catia estimates) . . . . . . . . . . . . . . . 232
F.6 List of the foot ligaments and insertion bones . . . . . . . . . . . . . . . . . . . . 233
F.7 List of the plantar fascia components and insertion bones . . . . . . . . . . . . . 234
F.8 Coordinates of the ligament insertion points . . . . . . . . . . . . . . . . . . . . . 237
F.9 Coordinates of the plantar fascia insertion points . . . . . . . . . . . . . . . . . . 238
Introduction
This doctoral thesis concerns the computer modelling and simulation of the biped human
walking. In the opinion of able-bodied people, walking seems to be so obvious that some do not
realized that it is a really complex process controlled by the central nervous system. The total
or even partial loss of use of the lower limbs is a real physical handicap which psychologically
affects the individual as well. Unhappily, the number of lower limb amputated people will not
decrease during the coming years: the number of people suffering from type 2 diabetes is on the
increase all around the world due to bad food habits combined with too low levels of physical
activity. To this number must be added the amputations related to accidents and weapons.
So far the amputed people can overcome their physical handicap only thanks to passive
prostheses, at least partly. But they have to accustom their body to the prosthesis, what is
not simple and easy for untrained and/or old people. Nowadays scientists attempt to design
“active” prostheses which ideally would have to self-adapt to every particular human body,
react to its owner’s will and behave as the replaced healthy limb in the reflex loop. The already
existing prostheses employ several kinds of information in order to predict the expected motion:
kinematics, forces, pressure, electromyograms (EMG) possibly from the contralateral leg. But
the range of kinematic patterns they are able to generate efficiently is still limited. The energy
source is questionable even if electricity seems to be more practical. The autonomy issue is also
relevant for these devices.
Before designing a prosthesis and envisaging its control, the realisation of a forward dynamic
simulation of the walking process was judged opportune. It was decided to design a complete
neuromusculoskeletal model whose different constitutive submodels would be based on the
physiology as much as possible.
Sticking to physiology is the sine qua non condition to reproduce the real behaviour. It
actually constitutes an imposed specification which was enforced to be respected all along the
modelling effort. Because of it and due to the lack of validated models representing the neural
circuitry and reproducing its real functioning, the neuromusculoskeletal model was reduced to
a musculoskeletal model.
Thanks to this approach, some data (as the joint torques and powers, the energetic cost, ...)
which are sometimes difficult or even impossible to measure in vivo and in real time can be
computed. Of course their reliability depend on the validity and accuracy of the employed
models.
1
2 INTRODUCTION
Once the musculoskeletal model is validated, it can be made more sophisticated by inserting
an electro-mechanical model of the active prosthesis. Then, it should be possible to evaluate
what information is relevant for the control of the artificial actuator. This opportunity was
not exploited in the thesis because the research work was limited to the first steps: modelling
of a musculoskeletal model, development and implementation of an optimization methodology
aiming to reproduce the walking process and its balance.
In the beginning of the research work, the determination of the time histories of the
activation signals of the lower limb muscles, allowing the generation in 3D of a stable and
periodic human-like walking pattern, was considered as the ultimate goal. This would also
constitute the ultimate validation for the designed musculoskeletal model if the activation
signals could be compared successfully with experimental EMG signals.
However, it rapidly appeared that such an approach is not only very demanding in terms of
computational resources but also very hazardous namely due to the difficulty to find an initial
attempt of the activation signals able to produce a motion sufficiently close to walking. That’s
why the process was splitted in two successive steps: (1) the determination of an appropriate
kinematics of the lower limbs and (2) the determination of the activation signals that produce a
given torque-rotation history. The latter was performed on a single joint as a proof of concept.
The proposed methodology should allow to bring the initial objective to fruitition with the
increase of available computer resources or if a more efficient method than optimization is found
out.
The doctoral thesis is structured in seven chapters. The first one gives a general description
of the human walking. External biomechanical characteristics are presented and the internal
neural feedback loops intervening in the motion control are examined.
The second chapter presents some of the main strategies supposedly employed by the
nervous system to generate energetically efficient walking, ensure the segmental coordination
and the body balance, and solve the muscular overactuation. Some of the concrete solutions
brought, notably in robotics by scientists and engineers, are evoked. The last part of this
chapter is dedicated to detailed reviews of skeletal, muscoskeletal and neuromusculoskeletal
models and walking simulations designed and carried out respectively in the past. The decision
of restraining the modelling effort to a musculoskeletal model by dropping the feedback of
sensory information is justified there too.
In the third chapter, the developement of the musculoskeletal model is concretely realized.
Skeleton kinematics is defined first by means of minimal coordinates. Building and solving
of the system of ordinary differential equations related to motion and other phenomena and
realized by means of the EasyDyn library are explained afterwards. Kinetic data are provided.
Applied forces are identified: muscles actuate the body subject to gravity; structures around
the joints exert resistance and damping; feet interact with the ground. For each force element,
a review of the existing models is given first. Then, the employed model is described with more
details. A lot of information is provided concerning the muscle model (Virtual Muscle) since it
constitutes a key component and is complicated.
The generation of a 3D kinematic pattern is realized in Chapter 4 without any muscular
INTRODUCTION 3
contribution by adapting, from experimental data, the time histories of the lower limb joint
angles included in the sagittal plane. For that purpose, an optimization process is implemented,
searching for the kinematics ensuring the body balance and simultaneously minimizing the
discrepancy with the experimental kinematic and force data. The balance is ensured through the
periodicity of the motion. A genetic algorithm able to exploit parallelism was judged opportune.
With the help of a similar methodology, muscular activation patterns are generated in
Chapter 5. This time, the design variables are the activation signals of three muscles wrapping
the right ankle. A preliminary test aiming to produce a sinusoidal movement of the ankle joint
braked by a viscous damper is carried out before trying to mimic the ankle kinematic pattern
determined in Chapter 4.
Chapter 6 can be seen as a digression. A foot finite element model is designed by means
of the Abaqus commercial software. Its validation is performed through several simulations
whose most complicated one is the rolling motion of the foot on the ground. This part is the
result of the collaboration with a student. Unhappily, the Abaqus finite element model and
the C++ multibody musculoskeletal are not compatible directly. Cosimulation is the natural
technique to overcome this problem and a gluing algorithm allowing the collaboration of
different solvers and software products/libraries is then conceived, implemented and tested
on more simple multibody systems not related to human walking. This however opens the
perspective of a complicated simulation where meshed feet and remaining rigid lower limbs
could be designed with different approaches but interact with each other during the solving in
a transparent manner for the users. This part of the research was actually realized in parallel
to the design of the musculoskeletal model.
The last chapter provides some details of the implementation principally for the codes of the
musculoskeletal model and the cosimulation library. Some modifications in the EasyDyn library
are also explicited. The implementation of free, open-source codes was kept in mind all along
the research. All the libraries integrating the visualization software, the multibody library, the
mathematical functions, tools and algorithms and the computer communication protocols were
chosen to meet the demand. This should allow to promote the possible subsequent development
and the distribution in a scientific philosophy.
CHAPTER 1
Description and functioning of the human locomotion machinery
1.1 Generality
Two approaches allow to tackle the description and functioning of the locomotion ma-
chinery. The first one, the biomechanics, more descriptive, is based on the observation of
measurable variables and studies structural aspects of the walking which allow to bring
some invariants to the fore. This approach is completed by the one used in neurosciences and
in physiology, which is explicative and which accounts for the mechanisms of the motion control.
Fig. 1.1 illustrates the whole process where the neuronal loop directly highlights the fact
that walking is a controlled process. In mammals the nervous signals of rhythm initiation,
modulation and stopping come from the superior central nervous system (i.e. the brain).
In humans the brain seems to have an even more important role and participates more in
the control of the walking dynamics. These signals go down to the lower part of the spinal
cord where the complex spinal circuitry, made up of a set of neurons whose organization
and function are not totally known even nowadays, manages to decode them (along with the
feedback afferent signals coming from the peripheral nervous system). In mammals the spinal
neurons are connected in such a way that they generate periodic patterns of neural signals. In
humans the existence of these central pattern generators (CPG) is questionable owing to the
predominance of the superior central nervous system. The resulting command signals emitted
by the motoneurons α and transmitted through the motor nerves to the muscles are called
efferent impulses. By contracting in response to the nervous sollicitations, muscles produce
active forces. These forces are transmitted to the skeleton through the tendons which link the
muscles to the bones. According to the Newton’s laws of dynamics, forces generate movements
of the lower limbs. In contact with the ground the feet interact with their environment: external
forces push the body forward. However this kinematics is not very stable and any perturbation
would disturb it. The balance of the body is ensured by feedback thanks to the proprioceptive
organs that respond to mechanical stimuli by firing action potentials. Actually they measure
some relevant quantities and send them back to the spinal cord through the afferent sensory
nerves. Muscle fiber lengths and velocities are captured by the muscle spindles. The Golgi
tendon organs located in series with the muscle provide information about the muscle forces.
5
6 1. DESCRIPTION AND FUNCTIONING OF THE HUMAN LOCOMOTION MACHINERY
Brain
Efferent nervesAfferent nerves
Spinal cord
Figure 1.1: Motion machinery [CHANDANA2005]
Other cutaneous mechanoreceptors exist in the skin (in the foot sole for example): the Ruffini
endings, Meissner’s corpuscles, Pacinian corpuscles and Merkel’s discs detect tension deep in the
skin, changes in texture, rapid vibrations, sustained touch and pressure, stretches. Even in the
joints, ligaments own specific mechanoreceptors. In the spinal cord the feedback information
is used to stabilize the walking by reflexes, automatically without intervention by the brain.
This mechanism is valid for limited perturbations and can regulate stepping automatically :
the locomotion repetitive patterns allow walking to be controlled at relatively low levels of the
nervous system. But in case of too important perturbations the superior central nervous system
and the vestibulo-oculomotor system have to intervene so as to prevent the fall.
Some deeper information concerning biomechanic and neurophysiologic aspects is presented
in Sections 1.2 and 1.3 respectively. The following references (Fung [FUNG], Winters et
alii [WINTERS]) and Viel [VIEL] are specialized books treating of biomechanics, mechani-
cal properties of the different constituents of the body and neuronal circuitry for some of them
(and even modelling). Kandel [KANDEL] specifically deals with neural science. They can be
very useful for the interested reader.
1.2 Biomechanic considerations
1.2.1 Gait cycle
The normal walking is periodic and symmetric. At rest the center of gravity of the entire body
is located slightly above the midheight (55 %) of the individual.
Each time a leg goes forward, it makes a step. When one of each of the right and left steps has
occurred, it is said that the person has taken a stride, or one gait cycle, and the time it takes
1.2. Biomechanic considerations 7
for this to occur is called the stride time. The averaged features of the walking for a healthy
man along a straight line and over an horizontal plane are: a speed of 5.4 km/h, a cadence of
155 steps per minute and a stride length of 1.55 m. These values are obviously functions of the
weight and height of the individual.
The striding gait of human bipedalism involves the fluid flow of a series of actions collectively,
one leg alternating with the other one. It is usual to start the cycle with the first contact
(initial contact, or heel contact in normal gait) of one foot, so that the end of the cycle occurs
with the next contact of the same (ipsilateral) foot (Fig. 1.2). In normal symmetrical walking,
each cycle begins at initial contact with a stance phase (when the foot hits the ground) and
proceeds through a swing phase until the cycle ends with the limb’s next initial contact.
Figure 1.2: Gait cycle phases [WOLKOTTE2003]
Stance phase accounts for approximately 60 %, and swing phase for approximately 40 % of a
single gait cycle (Fig. 1.3). Each gait cycle includes two periods when both feet are on the
Two feet in contact with ground
0 10 20 30 5040 60 70 80 90 100
Initial swingMidstance Terminal stance Midswing Terminal swing
Heel contact Heel contactToes off
% of gait cycle
Stance phase Swing phase
Fo
resw
ing
Lan
din
g
Figure 1.3: Gait cycle proportions
ground. The first period of double limb support begins at initial contact, and lasts for the first
10 to 12 % of the cycle. The second period of double limb support occurs in the final 10 to 12
% of stance phase. As the stance limb prepares to leave the ground, the opposite limb contacts
the ground and accepts the body’s weight. The two periods of double limb support account for
20 to 24 % of the gait cycle’s total duration.
8 1. DESCRIPTION AND FUNCTIONING OF THE HUMAN LOCOMOTION MACHINERY
Stance phase of gait is divided into four periods: loading response, midstance, terminal stance,
and preswing. Swing phase is divided into three periods: initial swing, midswing, and terminal
swing. The beginning and ending of each period are defined by specific events.
Stance phase:
1. Loading response [0 % - 10 %] begins with initial contact, the instant when the foot contacts
the ground. Normally, the heel contacts the ground first. In patients who demonstrate
pathological gait patterns, the entire foot or the toes contact the ground initially. Loading
response ends with contralateral toe off, when the opposite extremity leaves the ground.
Thus, loading response corresponds to the gait cycle’s first period of double limb support.
2. Midstance [10 % - 30 %] begins with contralateral toe off and ends when the center of
gravity is directly over the reference foot. Note that this phase, and early terminal stance,
the phase discussed next, are the only times in the gait cycle when the body’s center of
gravity truly lies over the base of support.
3. Terminal stance [30 % - 50 %] begins when the center of gravity is over the supporting
foot and ends when the contralateral foot contacts the ground. During terminal stance
the heel rises from the ground.
4. Preswing [50 % - 60 %] begins at contralateral initial contact and ends at toe off. Thus,
preswing corresponds to the gait cycle’s second period of double limb support.
Swing phase:
1. Initial swing [60 % - 70 %] begins at toe off and continues until maximum knee flexion (60
degrees).
2. Midswing [70 % - 80 %] is the period from maximum knee flexion until the tibia is vertical
or perpendicular to the ground.
3. Terminal swing [80 % - 100 %] begins where the tibia is vertical and ends at initial contact.
1.2.2 Foot anatomy
The foot (ankle included) is described in [podiatrychannel@net] as a complex structure contain-
ing 26 bones (some humans have more), 33 joints (20 of which are actively articulated), and
more than one hundred muscles, tendons, and ligaments. A deeper description of this segment
can be found in Appendix F.
1.2.3 Human joints
The following quotation is extracted from Amankwah [AMANKWAH2004] and was considered
as an excellent description summarizing the effect of the biological structures wrapping the
joints.
1.3. Neurophysiology considerations 9
The human musculoskeletal system includes structures, such as ligaments and
joint capsules, that hold the joints together and help guide movements of bony surfaces
relative to one another. These structures contain collagen networks that generate
resistive forces when stretched. Muscles also contain collagenous structures, which
hold the muscle fibres together and resist stretch even when the muscle is relaxed.
Finally, the joints themselves exhibit resistance to movement because of the properties
of cartilage and the shapes of the contacting articular surfaces. Together, all of these
resistive forces across a joint generate a passive moment about the joint.
However, the passive joint moments also have a beneficial effect ( [MIGLIORE2010]). Since
they behave like torsion springs they store energy which can be released at other instants. This
restitution of the stored elastic energy allows to decrease the required muscular contribution.
This is of course particularly avantageous when it is a part of the gravitational potential energy
which is stored.
1.2.4 Energy consumption
Thanks to the comparative approach [FULL1997] the graph of Fig. 1.4 can be obtained. It
Figure 1.4: Cost of locomotion per distance in function of the body mass [FULL1997]
shows an approximate power law relationship (metabolic cost ∝ m0.68 [ml O2/m], where m is
the mass) and suggests that the metabolic cost of legged locomotion appears to be independent
of leg number, leg design, skeletal type, or wether the animal is warm- or cold-blooded. Using
other more convenient units it was reported in [WATERS1999] that the whole-body rate of
energy expenditure was comprised in a range of values from 4.0 to 4.3 W/kg for humans walking
at a speed around 1.2 m/s.
1.3 Neurophysiology considerations
Inside the hereafter mentionned organs, the neural information is developped and driven
from one to another, through the nerves, under the form of action potentials 1. Without
entering the details an action potential is actually a short-lasting event in which the electrical
membrane potential of a cell rapidly rises and falls, following a stereotyped trajectory. Complex
biochemical mechanisms (with ions pumps, membranes (de)polarization, ...) are hidden behind
10 1. DESCRIPTION AND FUNCTIONING OF THE HUMAN LOCOMOTION MACHINERY
this definition but were not judged useful for the comprehension of this thesis. A temporal
sequence of action potentials generated by a neuron is called a “spike train”.
1.3.1 Spinal cord
Even if all is not known (actually still little especially for humans) about the interneural
network located in the spine, it is sure that these interneurons in mammals are able to produce
rhythmic alternating activity in flexor and extensor muscles and generate very complex motor
patterns. As explained in [KANDEL] for cats, the minimal structure of neural interconnection
consists in half-centers, i.e. two systems of neurons, which mutually inhibit each other and
control the contractions in the flexor or the extensor depending on whether ipsilateral or
contralateral nerves were stimulated. Actually as seen in Fig. 1.5 the interneurons generating
the flexor bursts, excited by the ipsilateral cutaneous or muscle afferents (called FRA for flexor
reflex afferents), inhibit the interneurons generating the extensor bursts and reciprocally with
the contralateral FRA. This mechanism aims to avoid the co-contractions, i.e. ensure that
Figure 1.5: Minimal representation of the half-centers accounting for the reciprocal inhibition
between interneurons and serving as the basis for rhythm generation. Dark colour points out
the inhibitory connections (-) and light colour the excitatory (+) ones. (MN = motor neuron
and FRA = flexor reflex afferents) [KANDEL]
when the flexor is active, the extensor is silent, and can behave as a rhythm generator (with
some supplementary interconnections). Of course this figure is a simplified view, illustrating
the basic principle for just one flexor and one extensor and which does not account for all the
neural phenomena observed in mammals. In general, more interneurons are involved. Note
that neural networks capable of generating a rhythmic pattern of motor activity in the absence
of phasic sensory input from peripheral receptors are called central pattern generators.
Of course more than one pattern can be generated by the motor neurons. So, besides this
rhythm generator, a pattern-generating network is “implemented” in the spinal structure to
give it more flexibility (see Fig. 1.6). The choice of the generated pattern depends on the
cerebral input and the afferent signals (and possibly the drugs used in the experiments).
In humans, generalization from cats can not be done directly: oscillatory networks exist too
but the descending commands from the brain are much more important since the balance has
to be controlled (cf. Appendix A).
1.3. Neurophysiology considerations 11
Figure 1.6: Locomotor pattern generator [KANDEL]
If biarticular muscles are considered, or motions implying a coordination of several joints or
complex patterns, then you can imagine that the spine structure is really complex and some
neuroscientists got down to a very hard job to identify the neuronal circuitry of the rhythm
generators and patterning networks and the mechanisms of rhythm and pattern generation.
This task is particularly difficult in humans for whom invasive investigation techniques of the
spinal cord are not allowed for ethical reasons.
1.3.2 Brain
Although, as explained above, the basic motor patterns for stepping are produced at the level of
the spinal cord, the brain is not inactive and has, at least in cats, a triple role in normal locomo-
tion [KANDEL]. The 3 descending pathways are identified in Fig. 1.7. First, the mesenphalic
Figure 1.7: Brain regions intervening in the locomotor process and descending pathways [KAN-
DEL]
locomotor region activates locomotion and controls the speed by sending descending signals
12 1. DESCRIPTION AND FUNCTIONING OF THE HUMAN LOCOMOTION MACHINERY
transmitted via the medial reticular formation2. It was found that the intensity (and not the
pattern) of a tonic electrical stimulation of this region modulates the motion rhythm from walk-
ing to galloping.
Secondly, a highly modulated activity is detected in a large number of neurons in the motor cor-
tex in case of precise motions, as stepping over obstacles or walking on the rungs of a horizontal
ladder, where the sight is necessary.
Thirdly, in the Kandel’s book [KANDEL], it is pointed out that
the cerebellum receives signals via spinocerebellar pathways from both peripheral
receptors and the spinal central pattern generators (...), (...) compares the actual
movements of the legs (proprioceptive signals in the dorsal spinocerebellar tract) with
the intended movements (information on the central pattern generator carried by
the ventral spinocerebellar tract) and (...) may adjust the locomotor pattern when
stepping movements unexpectedly deviate from the intended movements (...)
by computing corrective signals sent to some brain stem nuclei (vestibular nuclei, red nucleus
and nuclei in the medullary reticula formation).
Cerebellar output to the vestibular nuclei may be involved in integrating proprio-
ceptive information from the legs with vestibular signals for the control of balance.
1.3.3 Muscles
Thanks to their ability to contract, muscle cells are capable of shortening and developing
tension which enables them to produce movement and do work. Three types of muscles exist:
the skeletal muscles (or the musculi skeleti or striated muscles or voluntary muscles), the
cardiac muscles and the smooth muscles (bladder, uterus, gastrointestinal tract,...).
The skeletal muscles are the only ones which we are interested in because they are the only
muscles responsible for the movement of the body segments.
1.3.3.1 Structure and anatomy of the skeletal muscles
The human body is composed of about 600 skeletal muscles. All are striated; that is, the fibres
(cells) contain alternating light and dark bands (striations) that are perpendicular to the long
axes of the fibres. Skeletal muscle tissue can contract or relax by conscious (voluntary) control.
The muscle is covered by the aponeurosis, a sheath of connective tissue, that penetrates from
the surface into the muscle to divide the muscle into columns or bundles. The connective
tissue extends beyond the ends of the muscle to form tough, collagenous tendons that attach
the muscle to bones and may be quite long. These tendons have a white appearance and the
central muscle part has a red or pinkish color.
The human skeletal muscle can be seen on different levels of organization (Fig. 1.8): the
motor units, the muscle fibres and the myofibrils. These three major levels are explained in the
next subsections.
2Let us mention that other brain regions (subthalamic and pontine locomotor regions) can also participate to
motion generation during experiments but the way they interact is less known.
1.3. Neurophysiology considerations 13
Figure 1.8: The different levels of a muscle [WOLKOTTE2003]
14 1. DESCRIPTION AND FUNCTIONING OF THE HUMAN LOCOMOTION MACHINERY
Motor units: Each motoneuron (or motor neuron) that leaves the spinal cord usually
innervates many different muscle fibres (Fig. 1.9). One motorneuron and all of the muscle
Figure 1.9: Motor units (Copyright ©Pearson Education, Inc., publishing as Benjamin Cum-
mings)
fibres (several hundred) it controls are called a motor unit. The muscle fibres that compose a
motor unit are dispersed throughout the whole muscle. Thus their simultaneous contractions
result in an evenly distributed, although weak, contraction of the whole muscle.
Muscle fibres: A skeletal muscle consists of a number of muscle fibres. These muscle fibres
are relatively large, elongated and cylinder-shaped, measuring from 10 to 100 micrometers in
diameter and up to 750 millimeters in length. Muscle fibres are oriented either in the direction
of the tendon (i.e. a parallel fiber muscle, see Fig. 1.10(a)) or at an angle α, the pennation
angle, to the tendon (i.e. an unipennated muscle, see Fig. 1.10(a) and 1.10(b)). This pennation
angle does not remain constant during contractions. More complicated pennated muscles exist
and are illustrated in Fig. 1.10(a).
Myofibrils: Every muscle fiber has a presence of numerous myofibrils (cf. Fig. 1.8). These
specialized contractile elements are cylinder-shaped structures of 1 µm in diameter that extend
the entire length of the muscles fiber. Each myofibril consists of a regular arrangement of highly
organized cytoskeletal elements, the thick and thin filaments. The thick filaments, which are
1 to 18 nm in diameter and 1.6 µm in length, are special assemblies of the myosin protein,
whereas the thin filaments, which are 5 to 8 nm in diameter and 1.0 µm long, are made up
primarily of the actin protein. Under a microscope a myofibrils displays alternating dark bands
(A band) and light bands (I band). An A band consists of a stacked set of thick filaments along
1.3. Neurophysiology considerations 15
(a) (b)
Figure 1.10: Muscle fiber configurations: a) 1.Parallel 2.Unipennated 3.Bipennated 4.Unipen-
nated with non-uniform fiber lengths 5.Multipennated ( [WOLKOTTE2003]) b) Schematic
model of an unipennated muscle ( [WOLKOTTE2003])
with the portions of the thin filaments that overlap on both ends of the thick filaments. The
I band consists of the remaining portion of the thin filaments that do not project into the A
band. In the middle of each I band is a dense, vertical Z line. The area between two Z lines is
called a sarcomere, which is the functional unit of skeletal muscles.
1.3.3.2 Muscle contraction
Muscle contraction is explained below with the aid of a lot of pictures (extracted from the
website [mcgrawhill@net]).
An action potential (Fig. 1.11.1) arrives at the presynaptic terminal causing voltage-gated
calcium ion channels to open, increasing the calcium ion permeability of the presynaptic
terminal cell membrane (Fig. 1.11.2). Calcium ions (Ca2+) enter the presynaptic terminal and
cause vesicles to release their neurotransmitter, acetylcholine (ACh), from the synaptic vesicles
into the presynaptic cleft (Fig. 1.11.3). Diffusion of acetylcholine across the synaptic cleft and
binding of acetylcholine to acetylcholine receptors on the postsynaptic muscle fiber membrane
causes an increase in the permeability of ligand-gated sodium ion channels (Fig. 1.11.4). The
movement of sodium ions (Na+) into the muscle cell results in depolarization of the postsynaptic
membrane. Once threshold has been reached, a postsynaptic action potential is generated and
is propagated over the muscle cell membrane (Fig. 1.11.5). Acetylcholine is rapidly broken
down to acetic and choline in the synaptic cleft by the enzyme acetylcholinesterase (Fig. 1.11.6
and 1.11.7). The choline is reabsorbed by the presynaptic terminal and combined with acetic
acid to form more acetylcholine (Fig. 1.11.8), which enters the synaptic vesicles (Fig. 1.11.9).
An action potential introduced at the neuromuscular junction propagates along the sar-
colemma of the skeletal muscle (Fig. 1.12.1). At the T tubule and through its membrane, the
action potential enters the interior of the muscle cell near the ends of the sarcoplasmic reticulum.
The depolarization of the T tubule membrane causes nearby voltage-gated calcium ion channels
on the sarcoplasmic reticulum to open, resulting in an increase in the permeability of the
16 1. DESCRIPTION AND FUNCTIONING OF THE HUMAN LOCOMOTION MACHINERY
Figure 1.11: Function of the neuromuscular junction [mcgrawhill@net]
1.3. Neurophysiology considerations 17
sarcoplasmic reticulum to calcium ions (Ca++). Calcium ions diffuse from the sarcoplasmic
reticulum into the sarcoplasm (Fig. 1.12.2).
Figure 1.12: Action potential, breakdown of ATP and cross-bridge movement during muscle
contraction [mcgrawhill@net]
Let us observe what happens at the level of the actin and myosin filaments.
Long filamentous tropomyosin proteins lie on two sides of the actin myofilament, covering up
the sites where myosin can bind to the actin myofilament. Globular troponin proteins are
attached to the tropomyosin (cf. description in Fig. 1.12.5). During contraction of a muscle,
calcium ions bind to troponin (Fig. 1.12.4). This moves tropomyosin out of the way and
uncovers binding sites for myosin on the actin myofilaments. Adenosine diphosphate (ADP )
18 1. DESCRIPTION AND FUNCTIONING OF THE HUMAN LOCOMOTION MACHINERY
and phosphate (P ) are attached to the myosin head from the previous cycle of movement (Fig.
1.12.5). The myosin heads attach to the exposed binding sites on the actin myofilaments to
form cross-bridges (Fig. 1.12.6), and the phosphate is released (Fig. 1.13.7). Energy stored in
the head of myosin myofilament is used to move the head. This causes the actin myofilament to
slide past the myosin myofilament. The ADP is released from the myosin head as it moves (Fig.
1.13.8). The bond between actin and myosin head is broken when an adenosine triphosphate
(ATP ) molecule binds to the myosin head (Fig. 1.13.9 and 1.13.10). The ATP is broken down
to ADP and phosphate (Fig. 1.13.11), releasing energy, which is stored in the myosin head
and will be used later for movement. The head of the myosin molecule returns to its upright
position and is ready to bind to actin again (Fig. 1.13.12). If calcium ions are still present, the
entire sequence is repeated.
Let us describe now the sarcomere contraction. In a relaxed muscle (Fig. 1.14.1), actin and
myosin myofilaments lie side-by-side and the H zones and I band are at maximum width.
During contraction (Fig. 1.14.2 and 1.14.3), the actin and myosin myofilaments interact. The
actins are pulled toward the center of each myosin myofilament. As a result the sarcomeres
shorten.
In a fully contracted muscle (Fig. 1.14.4), the ends of the actin myofilaments overlap, the H
zones disappear and the I band becomes very narrow.
1.3.3.3 Muscle fibre classification
All skeletal muscle fibres are not alike in structure or function. Skeletal muscle fibres contract
with different velocities, depending on their ability to split adenosine triphosphate (ATP). Faster
contracting fibres have greater ability to split ATP. In addition, skeletal muscle fibres vary with
respect to the metabolic processes they use to generate ATP. Their enzymatic machinery con-
tributes to the speed of fatigue and so they also differ in terms of the onset of fatigue.
On the basis of various structural and functional characteristics, skeletal muscle fibres are clas-
sified into three types summarized in Fig. 1.15:� Slow-oxidative (type I) fibres
These fibres, also called ’slow twitch’ or ’fatigue resistant’ fibres, are red since they contain
high levels of myoglobin and oxygen storing proteins. They also contain large and numerous
mitochondria and have been demonstrated to have high concentration of mitochondrial
enzymes, thus they have a high capacity to generate ATP (ATP re-synthesis) by long-
term oxidative metabolic processes. They split ATP at a slow rate, have a slow contraction
velocity and are fatigue resistant. Such fibres are found, for example, in large numbers in
the postural muscles of the neck and needed for aerobic activities like very long distance
rowing.� Fast-oxidative (type IIa) fibres
These fibres, also called ’fast twitch a’ or ’fatigue resistant’ fibres, are red, have a very
high capacity for generating ATP by oxidative metabolic processes, split ATP at a very
rapid rate, have a fast contraction velocity and are resistant to fatigue but not as much as
the type I fibres. Such fibres are infrequently found in humans but needed for sports such
as middle distance swimming.
1.3. Neurophysiology considerations 19
Figure 1.13: Action potential, breakdown of ATP and cross-bridge movement during muscle
contraction (continuation) [mcgrawhill@net]
20 1. DESCRIPTION AND FUNCTIONING OF THE HUMAN LOCOMOTION MACHINERY
Figure 1.14: Sarcomere contraction [mcgrawhill@net]
Figure 1.15: Properties of the three different fiber types
1.3. Neurophysiology considerations 21� Fast-glycolytic (type IIb) fibres
These fibres, also called ’fast twitch b’ or ’fatigable fibres’, are white, geared to gener-
ate ATP by anaerobic metabolic processes (by relying on a well developed, short term,
glycolytic system). They are not able to supply skeletal muscle fibres continuously with
sufficient ATP, fatigue easily, split ATP at a fast rate and have a fast contraction velocity.
Such fibres are found in large numbers in the muscles of the arms for example. They are
typically used by (bad) climbers.
In humans, most of the muscles contain a mixture of all three fiber types. The percentage
of each type is largely determined by the type of activity for which the muscle is specialized.
The percentage differs not only between muscles within individuals, but also varies consid-
erably among individuals. Most of us have an average of about 50 % each of fast and slow fibres.
1.3.4 Sensory information
In case of unexpected events or imperfections of the ground or simply to ensure the balance
of the body, the automatically generated walking patters need to be adapted. This is done
by means of three types of sensory inputs: one from the ocular system, another one from the
vestivular apparatus (inner ear) and the third one from the somatosensory organs. We will not
develop further the first two contributions since their respective role3 seems to be obvious4.
1.3.4.1 Muscle spindles and Golgi tendon organs
A good description of the muscle spindles can be found in [MILEUSNIC2006I] and a simplistic
illustration is given in Fig. 1.16:
In a typical mammalian lower limb muscle, several tens (or even hundreds) of
muscle spindles can be found lying in parallel with extrafusal fibres and experiencing
length changes representative of muscle length changes (...). (Their ...) sensory
transducers (primary (Ia) and secondary (II) afferents) provide the CNS (central
nervous system) with information about the length and velocity of the muscle in which
the spindle is embedded. The spindle provides the main source of proprioceptive
feedback for spinal sensorimotor regulation and servocontrol. At the same time that
the spindle supplies the CNS with afferent information, it also receives continuous
control through specialized fusimotor efferents (static and dynamic fusimotor efferents
(γstatic and γdynamic) whose task is to shift the spindle’s relative sensitivities over the
wide range of lengths and velocities that occur in various natural tasks. (...)
Mileusnic [MILEUSNIC2006II] provides a good summary of the Golgi tendon organ:
Golgi tendon organs (GTO) are tension-sensitive mechanoreceptors found in
mammalian skeletal muscles that supply the CNS with information regarding ac-
tive muscle tension by their Ib afferents. The number of GTOs varies widely among
muscles but in most cases is somewhat smaller than the number of muscle spindles
3Their role is obvious but their functioning is something else ...4We recall that the inner ear intervenes in the body balance.
22 1. DESCRIPTION AND FUNCTIONING OF THE HUMAN LOCOMOTION MACHINERY
Bag 1
Bag 2
Chain
γstatic γdynamic
PrimarySecondary
IaII
Figure 1.16: The spindle consists of three types of intrafusal muscle fibres: long nuclear bag1
and bag2 fibres and shorter chain fibres [MILEUSNIC2006I]
in the same muscle, generally in the range of 10-100 (...). (...) The GTO receptor
consists of bundles of collagen fibres that connect small fascicles of muscle to the
whole muscle tendon or aponeurosis. In other words, the GTO is placed in series
between muscle fibres (...) and tendon and aponeurosis (...), contrary to the muscle
spindle that lies in parallel with extrafusal muscle fibres. The number of muscle fibres
that insert into a single GTO varies, but in most cases is between 3 and 50 fibres
(...).
Muscle fibres
GTO capsule
Ib afferent
Loosely packed innervated collagen
Densely packed (bypassing) collagen
Figure 1.17: Structure of the Golgi tendon organ [MILEUSNIC2006II]
It was proven in cats that the somatosensory afferents from the limbs regulate walking and
in particular the initiation of the swing phase is controlled by feedback from Golgi tendon
organs and muscle spindles in extensor muscles. Actually, as showed in Fig. 1.18, stimulation
of the group I extensor afferents delays the swing phase by inhibiting the signal in ipsilateral
flexors and prolongs the stance phase by maintaining the burst in the ipsilateral extensors.
1.3.4.2 Cutaneous receptors
A general review about cutaneous receptors was written by Johnson [JOHNSON2001] and
their implantation in the skin is showed in Fig. 1.19. The Merkel’s discs, Ruffini corpuscules,
Meissner’s corpuscles and Pacinian corpuscles are mechanoreceptors included more or less
1.3. Neurophysiology considerations 23
Figure 1.18: Delay of the initiation of the swing phase of walking by electrical stimulation of
the group Ib sensory fibres from cat’s extensor muscles. The arrow shows the point at which
the swing phase would normally have started without the stimulus of the extensor afferents
( [KANDEL], adapted from [WHELAN1995])
densely and deeply in the skin. They are responsible for the afferent signals named SAI,
SAII, RAI and RAII respectively, depending on their rate of adaptation5. Rapidly adapting
(RA) (phasic) receptors respond maximally but briefly to stimuli. Conversely, slowly adapting
(tonic) receptors keep firing as long as the stimulus is present. Free nerve endings can also be
cutaneous receptors.
Figure 1.19: Schematic view of the implantation of the cutaneous mechanoreceptors in the skin
(Copyright ©2001, Sinauer Associates, Inc)( [ncbi@net])
5When a mechanoreceptor receives a mechanical stimulus it starts firing activation potentials at an elevated
frequency (the stronger the stimulus the higher the frequency). But, then, if the stimulus stays constant, this
firing rate drops more or less rapidly and the pulses subside to a normal rate.
24 1. DESCRIPTION AND FUNCTIONING OF THE HUMAN LOCOMOTION MACHINERY
We only mention one example of the influence of the cutaneous receptors in the neural loop.
A case of phase-dependent reflex reversal was identified in cats. A same mechanical stimulus on
the dorsal part of a cat’s paw has an excitatory effect on the flexor motor neurons during the
swing phase of locomotion and excites the antagonists extensor motor neurons in the stance
phase. In this way an elevation of the leg and a flexion of the paw are generated in the swing
phase as if the cat had to step over an object; in the stance phase the opposite occurs: the ongo-
ing extensor activity is reinforced so as to prevent a fall since the weight is supported by the limb.
1.4 Summary
Hierarchical and decentralized architectures, parallelism, multi-task, multi-sensor fusion are
functioning concepts which are exploited by the central nervous system to activate the muscles
and generate the walking kinematics. This 3D biped kinematics, characterized by a very
good efficiency, but nevertheless unstable, needs to be adjusted and controlled by means of
the nervous feedback provided by the vestibulo-oculomotor system and somatosensory receptors.
CHAPTER 2
Walking simulation challenges
Human walking is characterized by obvious properties. It is a biped process very economical
in energy consumption, although the skeleton is moved from the activation of a redundant
number of muscles, in which the balance has to be controlled permanently. In this chapter,
we are going to present these different walking features and some others which were observed
by biomechanic and neurophysiologic scientists and that engineers tried to implement in their
robots. Strategies were conceived to explain how the balance is controlled and why we walk by
using such a kinematics. Some were built up from experimental biomechanic observations and
measurements, others from relevant physiologic assumptions, still others from physical principles
applied in robotics. They are not necessarily presented in their chronological order of release
date and we do not claim to draw up an exhaustive review in this chapter. Some of these strate-
gies were included or adapted in models which are briefly summarized at the end of this chapter.
2.1 Physiological considerations and hypothetical strategies
Based on the Azevedo’s work [AZEVEDO2004], we are going to detail some of the walking
features which led some scientists to postulate some walking strategies.
Note that we will not tackle the locomotor development, learning and training whose mecha-
nisms and goals are still more difficult to determine.
2.1.1 Energy consumption
In 1977 Cavagna, Heglund and Taylor [CAVAGNA1977] collected ground reaction force data
on two- and four-legged mammals in an effort to explain the general energetic relationship
of Fig.1.4 and they proposed that human locomotion is based on two basic mechanisms
to minimize the energy consumption: an inverted pendulum and a mass atop a spring.
The inverted pendulum mechanism, as the spring-loaded inverted pendulum model (SLIP)
presented afterwards, seems to govern the legged walking on land for a wide variety of animals
that differ in body size, shape, mass, leg number, posture or skeleton type. Among these an-
25
26 2. WALKING SIMULATION CHALLENGES
imals, monkeys, kangoroos, dogs, birds, lizards, frogs, crabs and cockroaches can be enumerated.� Inverted pendulum model (IP model)
The inverted pendulum model (Fig.2.1) is energy-conserving, like an egg rolling end
over end (cf. the compass walker described by McMahon [MCMAHON]). In this single
Figure 2.1: Inverted pendulum model [IVANENKO2004]. The arc represents the center of mass
displacement.
degree-of-freedom model, the center of mass (COM) of the body is considered vaulting
over the stiffened stance leg along an arc [CAVAGNA1963,CAVAGNA1976].
In adults, as seen below (Fig.2.2), kinetic energy (Ek) tends to fluctuate out of phase
(in fact in antiphase) with gravitational potential energy (Ep) and with vertical hip
displacements (GLy,left, GLy,right) as the COM rises and falls during each step. Between
Figure 2.2: Gravitational potential energy (Ep), kinetic energy (Ek) and changes of vertical hip
displacement (GTy,left +GTy,right)/2 [IVANENKO2004]
touch-down and mid-stance, the forward velocity of the center of mass decreases as the
trunk arcs upwards over the stance foot. In this phase, Ek is converted to Ep. During
the second half of the stance phase, the COM moves downwards as its forward velocity
increases. In this phase, Ep is converted into Ek. So, kinetic energy in the first half of
the stance phase is transformed into gravitational potential energy and then is partially
recovered as the center of mass falls forward and downward in the second half of the
stance phase.
2.1. Physiological considerations and hypothetical strategies 27
Energy exchange by the inverted pendulummechanism has not to be considered as perfect:
even if recovery of mechanical energy by the pendulum mechanism amounts to a maximum
of about 65% around the natural preferred speed [CAVAGNA1976, IVANENKO2004], a
part of the energy must still be provided by the muscles and tendons and positive work is
necessary to push forward the COM during early and late stance to complete the vertical
lift during mid-stance and to swing the limbs forward.
A recent model [DONELAN2002] including a double support phase and collision losses
questions the extent of exchange. Anyway, it is important to know that the energy
recovery reduces the mechanical work required from the muscular system by an amount
that depends on walking speed [CAVAGNA1976].
It seems that the pendulum mechanism is not innate, but is learnt rather rapidly through
walking experience in toddlers. The findings of the Ivanenko’s team [IVANENKO2004]
suggest that this mechanism is not an inevitable mechanical consequence of a system
of linked segments, but requires active neural control and an appropriate pattern of
inter-segmental coordination.� Spring-loaded inverted pendulum model (SLIP model)
Experimental evidence for a spring-mass model of legged locomotion was noticed in hu-
mans [CAVAGNA1963] and animals [BIEWENER1998] at fastest speeds. If the metabolic
energy cost of a human running is determined by measuring oxygen consumption, and
if mechanical energy is estimated from the fluctuations in kinetic and potential energy
(calculated from ground reaction forces measured with a force platform), then one
observes efficiencies much higher than those estimated for muscles. Moreover, in hopping
animals it was shown by measuring tendon force and muscle length changes that elastic
strain energy storage in ankle extensor tendons causes a reduction of total work by 45 %
during hopping at fastest speeds.
So, even if the previous model, the inverted pendulum, is appropriate for very low speeds
at which the lower limbs can be seen as perfectly rigid, it does not suit for fastest speeds.
Indeed, for such speeds, when running, animals bounce like pogo sticks and behave
more like a mass atop a springy leg [DONELAN2002] (Fig.2.3), in which kinetic and
gravitational energy remain in phase, but fluctuate in antiphase with the elastic energy
stored in the spring.
Figure 2.3: SLIP model [HOLMES2006]
28 2. WALKING SIMULATION CHALLENGES
Cavagna, Heglund and Taylor [CAVAGNA1977] hypothesized that kinetic and gravita-
tional potential energy lost during the first half of the stance phase, as the animal’s COM
falls to its lowest position (at midstance), were stored as elastic strain energy at midstance
and then was partly recovered as animal’s COM rebounds, rises and accelerates forward
during the second half of the step. Actually, running can be seen as if a virtual or effective
leg spring is compressed during the first half of the stance phase and as if stored elastic
strain energy is reconverted during the second half. So, the SLIP is regarded as a passive
system since energy is neither supplied nor dissipated although, in practice, some effort
must be expended to repoint the leg during flight.
Then the inverted pendulum and a spring-mass mechanism have been combined into a
single model. This idealized mechanical model consists in a massive body contacting the
ground during stance via a massless elastic spring-leg [BLICKHAN1989,MCMAHON1990]
(a point mass is sometimes added at the foot). This two degrees of freedom (DOF) system
converges to the single DOF inverted pendulum (or compass walker) as its leg stiffness
increases.
Note: the IP and SLIP models are limited to the sagittal plane and do not involve
muscles, neurons and sensing.
2.1.2 Segmental coordination and balance
During walking, the kinematics and the coordination of all the segments are pretty complex:
many angles vary at the same time. Some scientists postulated that the brain is not able to
control each of them. An example of strategy of segmental coordination reducing the number
of variables to control is the planar covariation. It is an attempt of simplification of the walking
kinematics which is, however, not very explicit concerning the way the brain controls concretely
the walking patterns in case of perturbations.
It is commonly admitted that the lower limb’s movements can be projected in the sagittal plane
(Fig.2.4). Each lower limb is discretized in 3 segments: the thigh, the shank and the foot. The
Figure 2.4: Lower limb model in the sagittal plane [IVANENKO2004]
kinematics is reduced to elevation angles, i.e. the angles between each segment and the vertical
direction in the sagittal plane.
In 1998, Bianchi [BIANCHI1998a], [BIANCHI1998b] presented what they called the first law
2.1. Physiological considerations and hypothetical strategies 29
of planar covariation which states that, at any given gait speed, the temporal changes of the
elevation angle of the lower limb segments covary along a plane common to both stance and
swing phase (Fig.2.5), describing a characteristic loop over each stride (a pseudo-ellipse).
Figure 2.5: Planar covariance of lower limb segments [IVANENKO2004]. The black part of the
line in subfigure B represents the swing phase and the red one the stance phase.
According to his second law, this plane of angular covariation rotates with increasing speed of
locomotion. In particular, the specific orientation of the plane at any given speed is not the
same for all subjects but there is an orderly shift of the plane orientation that correlates with
the net mechanical power expended by each subject.
However, mechanical power computation depends on kinematic and morphological data which
are not available for the brain. Thus a team of the Universite Libre de Bruxelles (ULB, Belgium)
wondered to what extent the metabolic cost of walking per unit distance [Cw: ml O2/(kg.m)]
could influence the planar covariation. Their 2006’s experiments and conclusions [LEURS2006]
established that the plane orientation (quantified by the direction cosine of the normal to the
plane with thigh axis) is not correlated with the metabolic cost of walking (Cw). This means
that the plane orientation might be due to mechanical requirements of gait, such as equilibrium,
forward progression, speed, as well as the expressive and emotional aspect of life, rather than
energy optimization.
The balance issue is rather complex and not only related to the kinematics which is generated
to walk. The human walking is a complex process which needs to be controlled. Indeed, feedback
30 2. WALKING SIMULATION CHALLENGES
control is an integral part of any biped since, without a properly functioning control system,
it is dynamically unstable, stumbles and falls. It is impossible to envisage walking with a pure
open loop. On one hand, the biological signals and commands are not perfectly accurate and
no body is perfect: left-right symmetry does not exist. On the other hand, even if the biological
perfection existed, the environment would contribute to disturb the strategy established by the
nervous system: walking patterns have to be adjusted in case of rough or slippering surfaces
or if an obstacle has to be dodged. So, in case of perturbations, spinal reflexes, eyes and inner
ears have to intervene. Unhappily, their contributions, the involved neuron populations, the
pathways, the mechanisms, ... are not precisely known.
Moreover, as for robots, delays in signal transmission are always problematic for control but the
nervous system can manage them as demonstrated by animal or human dexterity.
Some neuroscientists put forward the assumption that the superior central nervous system owns
internal representations of the body and directly and completely controls the segment movements
from spatial reference frames, the gravity vector being the reference direction. It was proposed
that these internal models might exist in the cerebellum. In normal conditions of walking, the
support surface may serve as a reference and the balance control would be organized upwards
from the feet and their cutaneous receptors to the head. In case of intermittent contact, the
head segment is assumed to be the starting point in the descending chain from it and its oculo-
vestibular system to the feet. However, the problem related to the muscular overactuation is
not solved.
Because of the biomechanical complexity of the body and the delays induced all along the neural
paths and because the brain does not have infinite capacities (even though astonishing), it was
postulated that the brain uses simplified models, reduces the number of controlled variables
and defines postural synergies, i.e. combinations of activation patterns for a set of muscles.
Azevedo [AZEVEDO2004] formulates this:
(...) the CNS does not plan and control strategies by determining each simple
variable such as joint angular displacement or velocity, but by using a topological,
or map-like, internal representation of movement in which a whole continuum of
possible, equivalent strategies could achieve a particular goal.
Internal models should include a representation of the body configuration and dynamics,
the environment and its evolutive interactions, the mechanical behaviour of the muscles, the
knowledge of the dynamic responses of the sensory receptors,...1 Actually internal models can
be sorted in two categories: forward and inverse models. In the first category it is suggested
that the nervous system can learn to estimate, i.e. is able to predict, the behaviour of the motor
system in response to a given set of commands. This predictive capability is not incompatible
with the redundant and complementary sensory feedback which informs the neural controller
about errors of the actual position with respect to the expected one. Actually, experimental
data in reaching movements suggest that a motor plan is defined prior to the onset of movement
and updated continuously by internal feedback loops. The inverse models constitute the second
category of internal models that Azevedo defines like that:
(They) ... take into account the inertial and viscous properties of a limb to
estimate the motor command that will produce the desired displacement.
1The body internal representation may be partly determined from the genes and partly learnt during child-
hood.
2.1. Physiological considerations and hypothetical strategies 31
2.1.3 Overactuation
Human joints are clearly overactuated: since the muscles only act by contracting, the number
of muscles around a joint has to be equal to at least 2 (one agonist in a direction and one
antagonist for the opposite movement) and many joints as the knee for example count much
more wrapping muscles. This obviously questions the control of the muscle activation signals,
i.e. the relative contribution of each muscle in the joint forces, since several activation patterns
allow to reach the same objective. No unanimous explanation exists but it is certain that
energy, balance and overactuation may not be considered as independent considerations when
tackling about human walking.
Some scientists think that overactuation is the result and not the object of the walking
strategy. Others suggested that the concept of muscle synergy in control of movement may
be regarded as the solution to overcome the redundancy issue, by decreasing the number
of degrees of freedom controlled by the brain. Using principal component analysis (PCA),
Ivanenko ( [IVANENKO2004], [IVANENKO2006]) showed that the complex muscle EMG
patterns recorded during walking can be obtained by combination of only five basic patterns.
An original way of overcoming the muscle redundancy during forearm flexion/extension was
presented by Raison in [RAISON2010] using an inverse dynamics approach. The forces of two
antagonist muscles were assessed by means of an optimization process aiming to ensure the
correlation between the net joint torques given by inverse dynamics and the net joint torques
resulting from the muscles forces. The latter was computed from the experimental EMG signals
by means of a Hill’s type muscle model and was subject to adaptation through some scaling
and offset design variables.
2.1.4 Miscellaneous considerations and strategies
Other miscellaneous characteristics and beliefs about walking can be rapidly summarized (cf.
[AZEVEDO2004]).� Some scientists believe that the brain is able to control the balance of the angular momen-
tum.� Some others assume that the nervous system tries to generate smooth kinematics by re-
ducing shocks and vibrations.� Another strategy is based on the facts that biological systems are not noise free and repro-
ductibility is not an intrinsic characteristic. This noise in the efferent and afferent signals
induces inaccuracy and a certain degree of variability is visible in case of periodic motion.
Actually a movement can not be both fast and accurate. Between two trajectories or
between two patterns of muscle activation generating the same trajectory, it is conceivable
to think that the nervous system chooses the trajectory or directly the pattern which is
less noisy.� In some scientists’s opinions, trunk, the heaviest segment which hip belongs to, would be
the most important segment to be controlled and limbs would only follow it.� The arm movements may play a role in the equilibrium and principally ensure the locomo-
tion to be smooth and non-jerky by stabilizing the trunk oscillations. On the other hand,
32 2. WALKING SIMULATION CHALLENGES
arm immobilization does not make walking impossible and shows that the coordination
between arms and legs does not affect the ability of walking.� When the body moves, the nervous system seeks to minimize the head angular movements
and improves at the same time the processing of the sensory information induced by the
eyes and inner ears.
2.2 Solutions adopted in simulations and in robotics� Energetics
Walking was assumed to be a process in which the energy expenditure tends to be min-
imized namely thanks to the energy storage and recovery in the elastic structures of the
muscles and around the joints or thanks to the oscillating transfer between potential and
kinetic energies (like in pendulums). Even if the ability to save energy can vary from
one person to another depending on training or ageing, the human efficiency is generally
noteworthy: walking robots with their electric, hydraulic or pneumatic actuators do not
manage to move as efficiently as animals and humans. So, one thing is certain: a reliable
and physilogical walking simulation needs to incorporate the tendon stiffness since the
effect of these elastic structures is necessary for the energy saving.
McGeer ( [MCGEER1990], [MCGEER1990second], [MCGEER1992] and [MCGEER1993])
designed, built and analyzed passive-dynamic walking machines with rigid links connected
by knee joints, in which the dynamics was restricted to sagittal plane. In these pas-
sive machines walking down along incline plane, the gravitational energy lost during
fall balances the energy lost in foot impacts and friction. Ruina and colleagues carried
out complete studies (3D) of simplified models of these machines (see [MIGLIORE2010],
[COLLINS2001]). They assessed energetic costs of passive walking and built powered walk-
ers inspired by passive machines. More agressively active and dynamically stable hopping
robots were built by Raibert and colleagues and were SLIP devices ( [RAIBERT], [RAIB-
ERT1991]). Wisse and Schwalb ( [SCHWAB2001], [WISSE2004]) also designed models
of (quasi) passive dynamic walkers including the upper body ( [WISSE2004]) and built
some prototypes ( [WISSE2007], [TUDELFTBIOROBOTICS@net] (TU Delft Biorobotics
Lab)).� Balance
In simulations as in robots, dynamic gaits were obtained with fully actuated and sensed
mechanisms by using inverse dynamics to analytically tune the stability ( [WESTER-
VELT2003]). The balancing of walking robots is controlled in a way that requires the
microcontroller to track calculated joint reference trajectories generated in advance
generally by the Zero Moment Point (ZMP) approach 2. The Honda’s famous biped robot
ASIMO uses this strategy ( [ASIMO@net] and [HIRAI1998]). Two other examples of ZMP
applications are described in the Nisiwaki’s [NISIWAKI2002] and Kajita’s [KAJITA2003]
articles. However, even if this approach is complemented by keeping the torso in a vertical
position, it fails in case of too important perturbations and reference trajectories have to
be re-planned. Moreover, as showed in [POPOVIC@net], during falling ZMP may stay
2The ZMP is the point of resulting reaction forces at the contact surface between the foot and the ground.
The ZMP trajectory can be determined given the desired footholds and step period and then by solving an inverse
problem the body motion can be computed.
2.2. Solutions adopted in simulations and in robotics 33
inside the foot support base and then is not a guarantee of postural balance and stability.
That is the reason why another strategy called “Moment balance“ was introduced
by [HOFMANN2009]. It aims to perform two conflicting tasks and gives the priority to
one of them depending on the situations: for normal walking it seeks to minimize the
fluctuation of the whole body angular momentum on a period and in case of disturbances
the control of the motion of the body segments (legs, trunk and arms principally) is
the priority so as to create a moment around the center of mass which will generate a
stabilizing horizontal force and allow to redirect the center of mass towards a desirable
state. This control philosophy parallels the observation (namely in [HERR2008]) of the
importance of controlling whole-body angular momentum. For normal steady walking this
quantity fluctuates slightly but is essentially zero on a gait cycle despite the large angular
momentums individually generated by some body segments. It was suspected that this
overall minimization contributes to reduce the metabolic cost and is controlled by the
nervous system. For other tasks and movements or in case of significant perturbations,
the minimization is not desirable or has to be avoided to ensure the balance.
An INRIA’s researcher, Azevedo [AZEVEDO2002], validated by simulation and on robots
(BIP robot, [INRIAbib@net]), in 2D and 3D (8 bodies and 21 degrees of freedom),
an approach of control of the walking process by predictive control. Others of her
colleagues also worked on the control of biped walking. For instance, Dosen [DOSEN2007]
developped a tool that allowed to tune the levels of muscle activation so as to follow a
reference kinematic trajectory.
Other realistic models of legged locomotion, with extended body and limb components
requiring rotational as well as translational degrees of freedom, exist and can be found
in the robotics literature as mentionned in [HOLMES2006]. These incorporate varying
degrees of actuation and sensory feedback to achieve biped walking gaits.
de Pina Filho [DEPINAFILHO2004] modelled a 2D bipedal robot using mutually coupled
Rayleigh oscillators.
In more recent literature about robotics, other balance strategies, sometimes more
sophisticated and efficient, were described but it is not the topic of this thesis.
Examples of walking robots can be found on the websites of the TU Delft biorobotics lab
( [TUDELFTBIOROBOTICS@net]) and MIT Leg lab ( [MITLEGLAB@net]).
Note that another simulation technique exists: instead of using inverse models and
controllers, it aims to generate walking patterns as periodic as possible by means of an
optimization (see [ANDERSON2001] and [OGIHARA2001] for examples). Of course, the
model slowly deflects from its target trajectory and falls after some steps. However, the
approach is very interesting if an approximate balance is sufficient.� Overactuation
In simulations, the muscle redundancy, when considered, is indirectly solved through
another criterion (like energy minimization, ...). Overactuation is an aspect of the human
joint actuation which is generally not present in walking robots: one electric motor is
sufficient to actuate a robot joint in both directions. Note, however, that some robots
can be powered by other actuators for which overactuation has to be solved: for example,
the Lefeber’s team from the Vrije Universiteit Brussel, Belgium, uses pneumatic artificial
34 2. WALKING SIMULATION CHALLENGES
muscles which, organized in antagonist setup around each joint, allow to control both the
torque and the compliance ( [VANDERBORGHT2008]).
The Aoi’s last model [AOI2010] is an example of simulation where the muscle redundancy
is overcome by considering the muscle sinergy.� Foot-ground contact
The foot-ground contact generates an external force on the foot sole. In case of inverse
dynamics3, this quantity is computed from the input kinematics. But conversely, in a
forward dynamic simulation4, a reliable foot model is necessary to reproduce with accuracy
the foot-ground forces.
2.3 Inventory of sophisticated models
The couple of numbers following the citations given in this section ((8/19/FD/3D) for the first
citation for instance) represent the numbers of bodies and degrees of freedom respectively (8
bodies and 19 dof in this case). The third term FD or ID points out the type of simulation:
forward or inverse dynamics. We recall that, in case of forward dynamics, the foot-ground
contacts and the balance control have to be included in the modelling effort. The fourth term
specifies whether the model is a 2D or 3D model. Sometimes information was not explicitely
given in the article. If it could be assessed from a figure then the hypothetical information
is written followed by an interrogation mark (?); if the information is really missing then an
interrogation mark alone.
2.3.1 Skeletal model
Skelly ( [SKELLY2001] (8/19/FD/3D)) designed a model to simulate human walking by
modulating joint moment and stiffness. A limited feedback control was implemented by means
of a proportional-derivative controller at the level of the upper body.
The van der Kooij’s model ( [VANDERKOOIJ2003] (7/10?/FD/2D)) is an example of
predictive controller generating cyclic gait from two input parameters chosen from the fol-
lowing three dependent gait descriptors: step length, step time and velocity of the center of mass.
Ren ( [REN2007](9?/9?/ID/2D)) used inverse dynamics to simulate normal walking in the
sagittal plane by minimizing the mechanical energy expenditure.
Millard ( [MILLARD2009]) (7/9/FD/2D) realized a multi-step forward dynamic gait simu-
lation. Pre-computed joint trajectories, defined from Fourier series and adjusted by means of a
pattern search optimization routine, were used to define the gait of the model at the position
level. Proportional-derivative controllers regulated these predefined trajectories. Balance and
forward velocity are also controlled by manipulating the pitch of the torso.
3Inverse dynamics is a method for computing forces and torques based on the kinematics of a body and the
body’s inertial properties (mass and moments of inertia).4A forward dynamic simulation is a simulation in which the kinematics is determined from the applied forces
and moments by solving the equations of motion.
2.3. Inventory of sophisticated models 35
2.3.2 Musculoskeletal model
Hase ( [HASE1997](19 max but reductible/?/ID/3D)) developed
a model in order to calculate the internal loads, such as muscular tension, joint
loads and energy consumption, from measured kinesiological data for various kinds
of motion.
A maximum of 156 muscles modelled with a sophisticated Hill-type model can be included.
Their inclusion makes the model overactuated. An optimization procedure consisting in the
minimization of muscular fatigue (or equivalently in the maximization of the summation of
endurance times of muscle tension) was implemented to overcome this limitation.
In his model, Neptune ( [NEPTUNE2001](9/9/FD/2D)) generated a forward dynamics
simulation of normal walking at 1.5 m/s. By means of an annealing optimization algorithm, the
block excitation patterns of each of the 9 groups of muscles per leg5 and some initial conditions
were tuned to replicate experimental data (hip, knee and ankle angles, net joint moments and
powers, trunk translation, horizontal and vertical foot-ground forces). The foot-ground contacts
were modelled with 30 viscoelastic point elements attached to each foot and located so as to
reproduce realistic footprints. Surprisingly the balance does not seem to be taken into account
and gait cycle periodicity neither: the simulations are actually much more emulations of the
observed walking kinetics. The model was used to study more especially the contributions
of the individual ankle plantar flexors to support, forward progression and swing initiation
( [NEPTUNE2001]). Then it was shown that the muscle force redistributes the segmental power
in walking ( [NEPTUNE2004I]). Afterwards, the model was improved in [NEPTUNE2004II] by
considering more complex EMG patterns for the muscle excitations and it was shown that the
energetic cost of raising the body’s center of mass is significant. In [NEPTUNE2008], walking
patterns were simulated and analyzed for different speeds between 0.4 and 2 m/s, with 17
muscles per leg grouped into 10 activation subentities. Muscle sinergy (or ”modular control”)
was tested successfully in [NEPTUNE2009I] with 25 muscles per leg organized in 13 activation
subentities. Recently, Neptune mentioned in a communication [NEPTUNE2009II] that, by
adding a model of muscle metabolic cost, his model will allow in a near future to investigate
whole-body energetics and efficiency of locomotion across a wide range of speeds.
Anderson ( [ANDERSON2001] (10/23/FD/3D)) did a great job by creating a musculoskele-
tal in which 54 muscles (24 per leg) were inserted. The patterns of muscle activation are
determined and the muscle redundancy solved both by dynamic optimization by ensuring the
symmetry and periodicity, and by minimizing the metabolic energy. The computed energy
expenditure overestimates the metabolic cost of walking of about 50%. The employed Hill-type
muscle model presents some non physiological aspects, as for example the fact that slow and
fast fibers cannot be recruited separately. The experimental and computed patterns do not
match even qualitatively for all the muscles. And the generated kinematics is not perfect either.
However, the published results are not disappointing and the method seems promising although
computationally expensive.
515 individual muscles are included in total for each leg
36 2. WALKING SIMULATION CHALLENGES
The Gunther’s work ( [GUNTHER2003](11/11?/FD/2D)) is another example of really over-
actuated model since 14 Hill-type muscles are inserted for each leg, and is one of the rare complex
examples which implement a control algorithm based on the λ-model. This model is an evolution
of the equilibrium point hypothesis (EPH), formulated initially by Feldman ( [FELDMAN1986])
and improved step by step until the last versions ( [FELDMAN1995], [FELDMAN1998], [CE-
SARI2001] and [GHAFOURI2001]). This motor command theory is summarized in [GUN-
THER2003]:
(...) the muscle stimulus is explained by the difference between an actual muscle
length l and the nominal length (λ). (...)
1. The central nervous system (CNS) may provide shifts in the threshold of the
Ia stretch reflex by α-γ coactivation resulting in equivalent shifts of the rest or
nominal lenghts λi (lenght of no activation: STIMi = 0) of single muscles
(index i is for ith muscle).
2. Thus, the electrical activity at the muscle surface (EMG) is the result of this
internal parametrization of a motor command depending on both the nominal
(λi) and actual (li) lengths of the muscle.
3. The equilibrium point (EP) of a single muscle is the final isometric length de-
pending on the force-length characteristic of the muscle and its external load.
4. Shifts of the nominal length are an efficient means for the CNS to trigger shifts
of the overall system output, i.e. the EP.
Gunther also found that controlling the orientation of the trunk by continuously modifying
the nominal length of the muscles wrapping the hip joint was sufficient to ensure long-term
stability. The foot-ground contacts were taken into account by means of a planar foot model.
We invite the interested reader to ”dive“ in the above-mentioned articles for more details since
this theory is too complex to be presented in just a few lines. In the Gunther’s model two sets
of target configurations λm (m = 1, 2) in terms of nominal muscle lengths λi were preset for
the ”knee lift” and ”foot set” events and shifts from one to the other are triggered by feedback
signals of angular configurations of the body segments or forces. Actually, they do not integrate
a CPG in their model but generate the rhythm patterns by alternating between two neural
states as if the mechanical system determined the time characteristics of the walking pattern
by feedback interaction with the neural system.
But the λ model does not seem the be-all and end-all: the full-range speed control could not
be synthesized and the validity of the λ-model is still discussed nowadays.
Several older musculoskeletal models were developed partially or in totality. They are
reviewed in [WINTERS] (as for example the Yamaguchi’s 3D model [YAMAGUCHI1990]).
2.3.3 Neuromusculoskeletal model
Taga ( [TAGA1995a] and [TAGA1995b](8/10?/FD/2D)) realized one of the first attempts to
implement and compute some neuro-control mechanisms of human locomotion. The employed
neural network did not mimic the actual functioning but it proved that walking can be simulated
2.3. Inventory of sophisticated models 37
(with 20 pseudo-muscles, comparable to torque generators) from dynamic interaction between
the pendulum oscillation of the body and the neural oscillation induced by the CPG (modelled
as 7 pairs of neural oscillators).
Ogihara ( [OGIHARA2001] (7/10?/FD/2D)) generated autonomous walking pattern by
means of a neuromusculoskeletal model in which the nervous system consists of an unique
CPG and an α motor neuron for each of the nine muscles included in the model. Each
alpha motor neuron receives the feedback signals from the proprioceptors (one muscle spindle
and one Golgi tendon organ per muscle), the signal induced by foot-ground contact (no
modelling of the cutanous receptors) and the input from the rhythm central pattern gen-
erator and generates the muscle activation signal. A genetic algorithm allowed to tune the
weights of the neuronal connections in the spinal cord network in order to ensure walking
kinematics as periodic as possible from step to step and minimize the muscle energy expenditure.
The development of a human neuromusculoskeletal model with 6 muscles per leg
in [PAUL2005](7/9?/FD/2D) aimed investigation of spinal cord injury. Behaviour of the
sensory mechanoreceptors was not reproduced physiologically but modelled with rather simple
models. The spinal cord was modelled more deeply, at least for the known circuitry: they
assumed existence of multiple CPG, delays were taken into account in the propagation of the
neural information, reflex loops were implemented for muscles spindles, Golgi tendon organs
and cutaneous receptors, but efferent innervation of the muscle spindles was not taken into
account. A nonlinear foot-ground reaction model was also included. Thanks to the tuning of
pathway gains, the lower limbs were able to achieve a stable gait cycle.
Aoi ( [AOI2008] (7/9?/FD/2D)), based on the Ogihara’s work, developed a 2D neuromus-
culoskeletal model simulating adaptive human bipedal locomotion. Nine muscles were inserted
for each leg and their activation and force generation was realized with a rather simple muscle
model. The foot-ground contacts are modelled by discretizing the plantar sole with 4 points.
Higher control centers were omitted and CPG’s were used to model the nervous system located
in the spinal cord and control the movement. The rhythm generator guarantees basic rhythm
using phase oscillators and alters it by producing phase shift and rhythm resetting based on
sensory afferents and perturbations (phase resetting). PD feedback controllers were responsible
for the pattern formation of activation signals producing periodic limb movements. The
desired motion references used by the controller to reconstruct locomotion dynamically were
measured kinematic data. The adaptive mechanism was ensured by phase resetting based on
foot-contact information. This allowed to modulate timing to produce the feedforward signals
of the movement controller and improve the model robustness against perturbations. In a
subsequent work, Aoi [AOI2008] used the same musculoskeletal model but modified the nervous
system model. Delays were taken into account for the transmission of the neural signals.
Ivanenko ( [IVANENKO2004], [IVANENKO2006]) postulated that EMG data patterns recorded
for walking, although complex, can be accounted for by the combination of only five basic
patterns. Based on this assumption, five rectangular pulses, whose parameters depend on the
oscillator phase provided by the rhythm generator, were used in the Aoi’s model for the pattern
formation of the muscle activation signals. This is the contribution of the movement controller
but besides, the model incorporated a posture controller which brought its contribution in
the outputs of the ‘α-motoneuron as well. In the manner of the brainstem and cerebellum
38 2. WALKING SIMULATION CHALLENGES
which manage posture control based on somatosensory feedback, PD and P feedback controllers
maintained the trunk vertical and moved the center of mass at the desired velocity.
2.4 Challenges about walking modelling and strategy imple-
mentation
The skeletal models must own a strategy of balance control whatever it is. But without the
presence of physiological actuators, the energetic efficiency observed during walking at fast
velocities can not be modelled. Then it is crucial to incorporate the musculotendon complexes
within musculoskeletal models. So the muscle energy consumption could be assessed and could
serve in an optimization procedure if physiological models existed to describe it. Actually, as
Azevedo [AZEVEDO2004] mentions,
(...) human walking coordinated movements are not generated by slaving to an
explicit representation of the precise trajectories of the movement of each anatomi-
cal segment but by dynamic interactions among the nervous system, the muscular-
skeletal system and the environment (...).
So, the best way to simulate walking would consist in developing a neuromusculoskeletal model.
Whatever the modelling complexity which is chosen, a walking strategy has to be imagined
inside a forward dynamic simulation. But the actual one is still unknown. In recent years,
an increasing number of scientists have regognized that biped locomotion is a multi-objective
control problem where the control goals can enter in conflict. It seems that the central nervous
system may prioritize a strategy in normal conditions of walking and switch to other criteria in
case of perturbations.
So far, the majority of the existing models incorporating the spinal cord circuitry (or even
the higher nervous centers) only focus on the dynamics in the sagittal plane (2D) and employs
rather simple models for the mechanoreceptors (and for the muscles as well in some cases).
The nervous system is often modelled with more details but is not necessarily actual since the
neural circuitry is not completely known as previously explained in chapter 1.
Models mimicking physiology exist for muscle spindles and Golgi tendon organs. The approach
used by Mileusnic6 in [MILEUSNIC2006I] and [MILEUSNIC2006II] is really pertinent: based
on the structure of the mechanoreceptor, the model seeks to reproduce the natural mechanical
behaviour under mechanical stimuli (length or force) and then codes the deformation under
neural information (spike frequency). Concerning the cutaneous receptors, few models were
developed and none according to the same philosophy. Actually, Professor Sripati and his team7 began their work of modelling some years ago ( [SRIPATI2006] and [BENSMAIA]) but it
seems that his death interrupted the research about the cutaneous receptors. The Professor
Loeb’s laboratory has just recently started the same task in order to complete their collection
of physiologically based models of neural subcomponents.
The actual spinal circuitry is still partly mysterious but some neural pathways are perfectly
6Mileusnic belonged to the Professor Loeb’s laboratory, Department of Biomedical Engineering, University of
Southern California (USC), Los Angeles, CA7Krieger Mind/Brain Institute, and Departments of Electical and Computer Engineering, and Neuroscience,
Johns Hopkins University, Baltimore, MD
2.5. Summary 39
identified. The most sophisticated spinal cord models found in the literature are the ones
developed by the Rybak’s team and G. Raphael from the Loeb’s laboratory. In the former one
( [RYBAK2006I] and [RYBAK2006II]), the spinal circuitry is modelled as a central pattern
generator by using two levels: one is the rhythm generator and the second one deals with the
pattern formation. Numerous interneuron populations, a drive from the superior central nervous
system and reflex loops are taken into account. To the best of our knowledge, the model was not
implemented in complex multibody simulations. In his model, Raphael [RAPHAEL2009] was
more cautious about the existence of CPG. The circuitry of its spinal-like regulator is a neural
network. The number of interneurons and connections (and then parameters to be tuned by
optimization) between them may be really impressive if the system to be controlled has many
joints. The validity was tested on a rather simple multibody system: the wrist with 2 degrees of
freedom. About 10 neurons are modelled and dozens of parameters are subject to optimization
or a priori assessed. Another validation, much more complex, realized by G. A. Tsianos 8, is
still in process for two joints (shoulder and elbow) in 2D and with biarticular muscles. Fig. B.1
and B.2 are presented in Appendix B for the only purpose to illustrate the complexity.
2.5 Summary
As a lot of unknows, doubts and uncertainties exist in neurophysiology about the circuitry
of central nervous system, as we face the lack of models for the cutaneous receptors and as
the only constraint we imposed in the initial specifications of this thesis (as explained in the
introduction) was to stick with physiologically based submodels, it was decided to develop only
an actual and physiological musculoskeletal model. Anyway, it is crucial to validate primarily
the kinematics, the generation of the external (foot-ground contacts) and internal (muscles)
forces and the dynamics before going further in the control. To summarize we are going to
create an open loop model representing the left part of the neural loop visible in Fig. 1.1.
The balance control is a common component to the posture and locomotion. Different control
strategies were established during the last decades so as to explain how the accurate timing
and coordination of muscular commands are realized in the body to ensure balance and why
we walk using such kinematics and patterns of muscular activation. None was clearly identified
as the one and only. As the balance control is not physiologically known with certitude and
instead of handling it from robotics theories, we prefer to displace the problem by trying to
ensure a periodicity in the walking patterns thanks to an optimization procedure.
As mechanical engineers, if we are brought to choose a principle to overcome the muscular
overactuation, i.e. the way activation is distributed among the muscles powering a joint, we
clearly have a preference for the minimization of the metabolic energy consumption.
8PhD student from Department of Biomedical Engineering, USC
CHAPTER 3
Development of the musculoskeletal model
The goal of the thesis consists in realizing a forward dynamic simulation of the biped human
walking. The only constraint which was imposed consisted in the use of only physiologically-
based submodels. Unhappily, as explained in the previous chapters, because of the lack of
validated models, namely for the spinal cord neural network, it was decided to drop the feed-
back provided by the sensory mechanoreceptors and the control operated by the spine, and
consequently restrict the modelling to the actuation realized by the musles innervated by the
motor neurons and to the dynamic interactions of the actuated skeleton with the ground.
The complete musculoskeletal model which was designed is described in details in this chapter.
It is used in the following two chapters.
3.1 Kinematics
The relative motion of a segment with respect to another one is pretty complicated in the
human body ( [ZATSIORSKY] and [HOLLERBACH1995]): in fact no perfect hinge exists
and translations accompany rotations. This physiological complexity has to be somewhat
simplified so that the modelled kinematics reproduces the human motions with enough accuracy.
The kinematics we employed originates from the Delp’s model ( [DELP1990],
[DELP1990second] and [DELP@net]. Note that this model was also incorporated in the
freely available software OpenSim ( [OPENSIM@net]) after having undergone slight mod-
ifications. In our model the body was discretized in 14 bodies (1 for the pelvis, 1 for
the torso-head-arms and 12 for the lower limbs) articulated by means of 23 configuration
parameters as visualized in Fig. 3.1. Note that the arms are not modelled individually but
considered immobilized and included in the torso segment in order to simplify the model.
This assumption relies on the fact that humans can walk without arm swing and there
is very few difference in the kinematic pattern. Actually, the arm swing motion is not
necessary for stable walking. However walking without arms requires greater effort of the
legs due to greater reaction moment of the foot (cfr Park’s work [PARK2008]). Fig. 3.1 is
obtained from screenshots realized under EasyAnim, the open-source software allowing the
41
42 3. DEVELOPMENT OF THE MUSCULOSKELETAL MODEL
visualization of the motions generated by EasyDyn1. Note that the y axis is the vertical
axis perpendicular to the ground; the x and z axes are oriented in the forward direction and
to the right of the body (in accordance with the rule of a positive trihedron) respectively.
The list of the degrees of freedom and their description is presented in Table 3.1. Note
dof Role
PELVIS tX Translation along x for the pelvis
PELVIS tY Translation along y for the pelvis
PELVIS tZ Translation along z for the pelvis
PELVIS rX Rotation along x for the pelvis
PELVIS rY Rotation along y for the pelvis
PELVIS rZ Rotation along z for the pelvis
R HIP flex Right hip flexion-extension
R HIP add Right hip adduction-abduction
R HIP rot Right hip rotation
R KNEE ang Right knee flexion-extension
R ANKLE ang Right ankle flexion-extension
R SUBT ang Right eversion inversion-motion
R MTP ang Right metatarsal motion
L HIP flex Left hip flexion-extension
L HIP add Left hip adduction-abduction
L HIP rot Left hip rotation
L KNEE ang Left knee flexion-extension
L ANKLE ang Left ankle flexion-extension
L SUBT ang Left eversion inversion-motion
L MTP ang Left metatarsal motion
TORSO bending Torso bending
TORSO rotation Torso rotation
TORSO extension Torso flexion-extension
Table 3.1: Description of the degrees of freedom
that the positive directions for the angles of the left and right legs were chosen so as to get
the time histories with the same signs, simply shifted by half a period with respect to each other.
Based on the generalized coordinates (the 23 dof) the whole kinematics is defined by means
of homogeneous transformation matrices
T0,i =
(
R0,i {ei}00 0 0 1
)
where R0,i is the rotation matrix describing the orientation of the local reference frame of body iwith respect to the global frame and {ei}0 the translation vector between the origin of the globalframe and the center of gravity of the body. The homogeneous transformation matrices havethe interesting property that the matrix corresponding to a succession of elementary motions(translations, rotations) along a kinematic chain can be simply constructed as the product ofthe matrices corresponding to each elementary motion. The complete description of the whole
1EasyDyn is an open-source library principally developed by O. Verlinden, Department of the theoretical
mechanics, dynamics and vibrations, UMONS, Mons, Belgium, and dedicated to the simulation of problems
represented by second-order (or first-order) differential equations and, more particularly, multibody systems.
This library and its use are detailled further in the text hereafter.
3.1. Kinematics 43replacemen
x
y
z
q[R HIP add] q[L HIP add]
q[PELVIS tY]
q[PELVIS tZ]
q[PELVIS rX]
q[TORSO bending]
(a) Frontal view
x
y
z
q[R HIP flex]
q[L HIP flex]
q[PELVIS tX]
q[PELVIS rZ]
q[TORSO extension]
q[L kNEE ang]
q[R kNEE ang]
q[L ANkLE ang]
q[R ANkLE ang]q[L SUBT ang]
q[R SUBT ang]
(b) Sagittal view
x
yz
q[R HIP rot] q[L HIP rot]
q[PELVIS rY]
q[TORSO rotation]
(c) Top view
x
y z
q[L SUBT ang]
q[R SUBT ang]
q[L MTP ang]
q[R MTP ang]
(d) Bottom view for the feet only
Figure 3.1: Skeleton views and degrees of fredom description. The yellow spheres represent the
centres of gravity of the segments.
44 3. DEVELOPMENT OF THE MUSCULOSKELETAL MODEL
Segment Translation? Rotation? Relative configuration parameters Relatively to
Pelvis Yes Yes 6 Global frame
Torso-head No Yes 3 (rotation angles) Pelvis
R/L thigh No Yes 3 (rotation angles) Pelvis
R/L patella-shank Yes Yes 1 (rotation angle) R/L thigh
R/L talus No Yes 1 (rotation angle) R/L shank
R/L calcaneus No Yes 1 (rotation angle) R/L talus
R/L toes No Yes 1 (rotation angle) R/L calcaneus
Table 3.2: Body kinematics
kinematics can be found in the Listing C.1 of Appendix C.1. The pelvis is located with respectto the global frame thanks to 6 dof. Concerning the remaining segments the kinematic chain isrespected: each distal segment is referred to the proximal one as explained in Table 3.2.For instance, the position of the center of gravity for the fibia-tibula and the orientation of thissegment are given by:
T0,R TIBIAFIBULA = T0,R FEMUR
· Tdisp(From GR femur,x + gx(q[R KNEE ang]),
F rom GR femur,y + gy(q[R KNEE ang]),
F rom GR femur,z)
· Trotz(q[R KNEE ang])
· Tdisp(To GR tibia,x, T o GR tibia,y , T o GR tibia,z)
(3.1)
where Tdisp represents a pure translation and Trotz a pure rotation around the local z axis.
q[R KNEE ang] is the configuration parameter directly related to the knee angle (cf. Table
3.1) but it also affects the relative translation of the segment through the nonlinear functions gxand gy. From GR femur,k and To GR tibia,k are simply constants playing a role in translation
respectively before and after the axis of rotation to come from the previous center of gravity
(femur) and go to the next one (tibia-fibula).
3.2 Multibody system and dynamics
We wished to develop a forward dynamic model in which the motion results from the imposed
actuation of the segments via the interactions (external forces) with the environment (ground),
depending on the initial conditions.
The library EasyDyn ( [EASYDYN@net], [VERLINDEN2008]), which is a C++ library for
the simulation of systems represented by second-order (or first-order) differential equations and,
more particularly, multibody systems, was employed so as to take advantage of an open-source
code. Thanks to that, it was very convenient to implement the specific submodels described
hereafter.
The formulation of the equations of motion employed in EasyDyn relies on the generalized coor-
dinates and the principle of virtual powers (derived from d’Alembert’s Principle), as explained
in [VERLINDEN]. This principle states that the power developed by all forces acting on a sys-
tem, including applied, joint and inertia forces must vanish, for any licit virtual motion of the
3.2. Multibody system and dynamics 45
system. It can be shown that, for a mechanical system of nB bodies involving ncp independent
configuration parameters q, the ncp equations of motion have the following form
M(q) · q+ h(q, q) = g(q, q, t) (3.2)
with� M the mass matrix of dimension ncp × ncp, defined by
M =
nB∑
i=1
mi{JSi}T0 · {JSi}0 + {Jωi}T0 · {ΦGi}0 · {Jωi}0 (3.3)� h of dimension ncp × 1, gathering the centrifugal and Coriolis contributions and definedby
h =
nB∑
i=1
{Jωi}T0 · ({ωi}0 × {ΦGi}0{ωi}0)
+ (mi{JSi}T0 · {JSi}0 + {Jωi}T0 · {ΦGi}0 · {Jωi}0) · q(3.4)� g of dimension ncp × 1, gathering the contribution of external forces and given by
g =
nB∑
i=1
{JSi}T0 · {Ri}0 + {Jωi}T0 · {Mi}0 (3.5)
and where mi and ΦGiare the mass and inertia tensor of body i and ωi its rotation velocitiy.
Matrices {JSi(q)}0 and {Jωi
(q)}0 are the velocity transformation matrices formulated in the
axes of the reference frame in terms of the ncp configuration parameters q. These matrices link
the virtual velocities vvi and ωv
i of the center of gravity of boby i to the set of virtual velocities
of the configuration parameters qv
{vvi }0 = {JSi}0 · qv (3.6)
{ωvi }0 = {Jωi}0 · qv (3.7)
Vectors Ri and Mi are the resultant force and moment, at the center of gravity, of all applied
forces exerted on body i.
Actually, Eqs 3.2-3.5 are not used as such in EasyDyn. Instead, EasyDyn numerically builds
the equations of motion� expressed with the following equivalent formulation
nB∑
i=1
{JSi}T0 · (mi{aGi}0 − {Ri}0)
+ {Jωi}T0 · ({ΦGi}0{ωi}0 + {ωi}0 × {ΦGi}0{ωi}0 − {Ri}0) = 0 (3.8)� from user routines providing, for each body,
– the inertia properties mi and {ΦGi}i;
– the resultant force Ri and moment Mi of applied forces at the center of gravity of
the body;
46 3. DEVELOPMENT OF THE MUSCULOSKELETAL MODEL
– the motion of the body expressed in terms of the configuration parameters, that’s to
say the homogeneous transformation matrix T0,i, the velocities vi and ωi and the
accelerations ai and ωi.
This last matrix gives the spatial situation of the frame of the body i with respect to
the global reference frame in terms of ncp so-called configuration parameters q. Once the
expression of the homogeneous transformation matrices is known and in order to simplify
the task of the user and avoid possible errors during the calculations of the derivatives, the
module of EasyDyn, called CAGeM (computer aided generation of motion) and embedded
in a computer algebra system (MuPAD or Xcas), symbolically derives the expression of
the homogeneous transformation matrices and automatically builds the expressions of the
translation and rotation velocities and accelerations: {vGi}0, {ωi}0, {aGi}0 and {ωi}0.The matrices {JSi
}T0 and {Jωi}T0 are obtained directly by symbolic differentiation (or can
be computed by means of numerical derivatives from {vGi}0).
Whatever the formulation considered (either Eqs 3.2 or Eqs 3.8), the system of second-order
ordinary differential equations possibly completed with other first- or second-order ODE’s (not
characterizing the motion and modelling other possible phenomena as for instance the muscle
behaviour and force generation) can be expressed in the form
f(q, q, q, t) = 0 (3.9)
It will be solved by means of the Newmark’s classic integration method without numerical
damping.
Let us assume that the configuration is completely known at and before time t and consider
the unknown solution for the chosen next time t+ h, h being the time step. With the implicit
integration formulas (3.10) and (3.11)
qt+h
i= Λ(q≤t
iq≤t
i, q≤t
i, qt+h
i) (3.10)
= qt + hqt + (0.5− β)h2qt + βh2qt+h
qt+h
i= Λ(q≤t
i, q≤t
i, qt+h
i) (3.11)
= qt + (1− γ)hqt + γhqt+h
replacing the positions and velocities, Eq. (3.9) can be rewritten (cf. [VERLINDEN]) in the
form
f(qt+h, qt+h,qt+h, t+ h)
= f(Λ(q≤tq≤t, q≤t, qt+h), Λ(q≤t, q≤t, qt+h), qt+h, t+ h)
= F(qt+h) = 0 (3.12)
For the Newmark’s classic integration method without numerical damping, β = 0.25 and γ = 0.5.
From Eq. (3.12) it turns out that the numerical integration comes down to a step by step solving
of the non linear equations in the unknows qt+h
. This operation is generally achieved by means
of the iterative procedure of Newton-Raphson, where the nth estimation is calculated from the
preceding one as
qt+h,n = qt+h,n−1 − J−1 · F(qt+h,n−1) (3.13)
3.3. Kinetics 47
where J is the jacobian matrix of the equations F with respect to the unknowns qt+h whose
each term is defined by
Jij =∂Fi
∂qt+hj
= Mij +CTij ·∂Λ
∂qt+h+KTij ·
∂Λ
∂qt+h
= M+CT · γh+KT · βh2 (3.14)
with the tangent stiffness matrix KT and the tangent damping matrix CT respectively equal
to
KTij =∂fi∂qj
and CTij =∂fi∂qj
(3.15)
3.3 Kinetics
The modelled individual is characterized by a height of about 1.8 m and a weight of 75.35 kg.
The kinetic quantities (the mass and moments of inertia) of each segment, presented in
Table 3.3, directly come or are slightly modified from the Delp’s musculoskeletal model
( [DELP1990]) and the OpenSim software ( [OPENSIM@net]). The order of magnitude of this
Segment Mass Ixx Iyy Izz[kg] [kg ·m2] [kg ·m2] [kg ·m2]
PELVIS 11.777 0.1028 0.0871 0.0579
FEMUR 9.3014 0.1339 0.0351 0.1412
TIBIAFIBULA 3.7075 0.0504 0.0051 0.0511
PATELLA 0.09191 0.001103 0.001103 0.001103
TALUS 0.1 0.001 0.001 0.001
CALCANEUS 1.25 0.0014 0.0039 0.0041
TOES 0.2166 1e-4 1.5e-4 5e-5
TORSO HEAD 34.2366 1.4745 0.7555 1.4314
Table 3.3: Mass and moments of inertia of the different segments
set of data was checked by considering the segments as elementary volumes and applying the
standard formulas with the geometric dimensions and by comparing them to the values given
in [ZATSIORSKY], [SHAN2003], [NIKOLOVA2007] and [NIKOLOVA2010].
3.4 Passive forces
If we assume that the aerodynamic forces can be neglected as the walking velocity is low,
four main contributions have to be taken into account for normal walking. Three of them are
obvious. Gravity is exerted on all the masses. The muscular forces actuate the joints and
move the skeleton. The foot-ground contacts represent the interactions with the environment
in which the body moves. However, a fourth contribution does not have to be forgotten:
due to the structures wrapping the human joints, the latter can not be assumed perfect. So,
48 3. DEVELOPMENT OF THE MUSCULOSKELETAL MODEL
resultant passive joint moments have to be considered. The muscle forces constitute the active
contributions and their generation will be detailed in Section 3.5.
3.4.1 Gravity
We modelled the walking on the Earth’s surface and considered it as passive since the action
of this conservative force is null over a period. A gravity vector of (0,−9.81, 0)T [m/s2] was
exerted on all the segments.
3.4.2 Passive joint moments
All the soft tissues, cartilages, ligaments and muscles wrapping the joints exert resistance to
joint rotation and dissipate energy. This resistance (and then the resultant moment) can be so
important that the angle range of the joints present physiological limit stops (θlim− and θlim+).
Studies cited in [AMANKWAH2004] showed that the joint angle and angular velocity affect the
passive moments and that even the angles of the nearby joints play a role in case of biarticular
muscles.
Traditionally the passive elastic properties, which are nonlinear, have been modelled as a
combination of two exponential functions ( [YOON1982], [MANSOUR1986], [HATZE1997],
[RIENER1999]).
Me = a1e(a2θ+a3θp+a4θd) + a5e
(a6θ+a7θp+a8θd) (3.16)
where θ is the primary joint angle, θp and θd the proximal and distal joint angles respectively
and Me the nonlinear passive elastic moment. Coefficients ai (for i = 1, . . . , 8) are the model
parameters.
Concerning the viscous component of the passive joint moment two approaches have been
used. The first one models the hysteresis arising from viscous effects by determining two sep-
arate sets of double exponential functions ( [ESTEKI1996], [PIZIALI1977]): one for flexion
to extension movements and one for extension to flexion movements. The second approach
modelled the viscous joint properties as a power function of the joint angular velocity ( [ES-
TEKI1996], [LAKES1999]) with the help of the exponent n and damping coefficient b. Only
this second approach provides a means to model the effects of stress-relaxation that occur in all
connective tissues. It is formulated as follows:
Mv = bθn (3.17)
where θ is the angular velocity and Mv the viscous contribution to the passive joint moment.
Then the passive joint moments M are calculated by summing up both terms:
M = Me +Mv (3.18)
More recently Amankwah [AMANKWAH2004] developed a new kind of model based on a Kelvin
model (Fig. 3.2) , adapted to include a nonlinear elastic element (Eq. 3.16) in parallel with
3.4. Passive forces 49
Figure 3.2: Kelvin model used to determine passive joint moments ( [AMANKWAH2004])
a linear elastic element (stiffness coefficient k) and a nonlinear viscous element (Eq. 3.17) in
series. In this model, the passive joint moments are obtained from the resolution of the following
ordinary differential equation
M = Me − kθ + sgn(θ)k
( |Me −M |b
)1n
(3.19)
So the model is computationally more expensive but in return more accurate: an elastic response,
a stress-relaxation response and a creep response can be modelled. Moreover Amankwah vali-
dated his model on the lower limbs of able-bodied subjects. So reliable parameters were available
for the hip flexion-extension, hip adduction-abduction, knee flexion-extension, ankle dorsi and
plantar flexion and inversion-eversion. We arbitrarily fixed the values of the parameters for the
hip rotation. Although very attracting this model owns one main drawback: the physiological
articular boundaries are not always respected. For example in case of a knee extension under
load, Eq. 3.19 does not ensure that the knee angle will remain under 0◦ ! The parameters
determined by Amankwah are only the result of an optimization which aimed to minimize the
errors to fit as well as possible the experimental data. But unhappily, with only two exponential
functions, it is impossible to reproduce perfectly the passive joint moment in the central range of
the joint angles and at the boundaries. To overcome this limitation we had the idea to reinforce
the effect of the exponential functions by adding a term to expression 3.16:
M∗e = Me −
(
(θ − (θlim++θlim−)
2 )(θlim+−θlim−
)
2
)s
; (3.20)
in order to penalize the motion once the joint angle leaves its physiological range of variation.
As shown in Fig. 3.3 the formulation of this term with a very high odd-numbered exponent
(s = 19) allows to increase the passive joint moments outside the physiological inferior and
superior limits θlim+ and θlim− and has almost no contribution in the center. All the parameters
can be found in Table C.2 of Appendix C.2 excepted the θlim+ and θlim− which were already
provided in Table C.1 of Appendix C.1.
Concerning the toe joints and due to the lack of information found in the litterature we decided
to create our own simplified model with few parameters by ignoring the influence of the proximal
and distal angles. The model we employed to take into account the effects of the resistance and
damping generated during the motion of the toes, integrates simple linear springs around the
rest position (0◦) and around the articular boundaries. As illustrated in Fig. 3.4 the stiffness
50 3. DEVELOPMENT OF THE MUSCULOSKELETAL MODEL
-10
-5
0
5
10
-60 -40 -20 0 20 40
R ANKLE ang [◦]
Me[N
m]
Pure exponential functions (Eq. 3.16)
Exponential functions with added term(Eq. 3.20)
Figure 3.3: Improvement of the elastic contribution Me around the physilological boundaries (in
this example, θlim− and θlim+ approximately match the physiological ankle boundaries of −50◦
and 20◦ respectively)
coefficients were obviously chosen different. They have to be very low to keep the moments weak
in the central area so as not to hinder the motion too much. Their values must be much higher
at the extremities so that the steep slopes ensure the joint to be locked between its physiological
articular limits. Like in [ESTEKI1996] we used a power function of the joint velocity to damp
-3
-2
-1
0
1
2
3
4
-80 -60 -40 -20 0 20 40 60 80 100
R MTP ang [◦]
Me[N
m]
(θMe=0, 0) (θlim+ ,Meθlim+
)
(θlim− ,Meθlim−
)
∠ : mlim
∠ : mlim
Figure 3.4: Elastic passive moment used for the right toes (m designates the slope coefficient of
the lines
the motion of the toes, chose n = 1 and imposed the damping coefficient b to arise from the
relation 2
b = 2ξ√
KIdd,toes (3.21)
with ξ =√2/2 the damping ratio, K the stiffness coefficient assumed equal to mlim (the slope
for the limits visible in 3.4) and Idd,toes the moment of inertia of the toes about the joint axis 3.
2The relation characterizes a free damped mechanical system with one degree of freedom in rotation: θ +CIθ + K
Iθ = θ + 2ξω0θ + ω2
0θ = 0.3We assumed the joint axis identical to the z axis and considered Izz shifted to the toe joint axis instead, calcu-
lated thanks to the parallel axis theorem.
3.4. Passive forces 51
It seems that the relation ensures a sufficient damping. The values of these metatarsophalangeal
joint parameters are provided in Table C.3 of Appendix C.2.
Thanks to the application of these passive joint moments, some limits constrained the range
of the degrees of freedom related to the joint angles. These limits approximate the physiological
ones as shown in Table C.1 of Appendix C.1).
3.4.3 Foot-Ground contacts and foot modelling
The most physiologically-based and accurate models describing the foot-ground contacts
are the finite element models (see [CHEUNG2006II] for example or wait for Chapter 6).
On the contrary they also are the most complicated and computationally the most ex-
pensive. They can not be combined directly with a multibody strategy. So researchers
developed simpler models with classical force elements. The modelling of the foot contacts can
be divided in two parts: first the search for the contact points and secondly the force generation.
In the litterature, it can be observed that the identification of the contact points and the
discretization of the foot body were refined at different levels. The first models (Onyshko
[ONYSHKO1980], Yang [YANG1990]) assumed the foot anchored to the ground during the
stance. But it is not the true physical situation and more realistic models appeared: from the
simpler case of a pinpoint contact ( [WADDEN1998]) to the most complex in 3D. Neptune [NEP-
TUNE2001] created a foot model in which 30 viscoelastic elements define the contact zone. Bar-
bosa [BARBOSA2005] built a one-body model, i.e. without metatarsophalangeal joint, in which
6 contact areas are defined by means of 6 hyperellipsoids. Gilchrist [GILCHRIST1996], relying
on the Meglan’s work [MEGLAN1992], developed a 3D, two-part model with 9 contact points.
Intermediary models exist: Ogihara [OGIHARA2001] and van der Kooij [VANDERKOOIJ2003]
used a 3D one-body foot model with 2 contact points; Gunther [GUNTHER2003] developed a
3D two-parts model with 3 contact points. In the mentioned models the contact is considered
only with a horizontal plane: the contact is detected as soon as when a point passes below the
plane. However with a more general contact detection algorithm more complicated surfaces,
situations and simulations would be made possible.
Millard ( [MILLARD2009]) developed a foot contact model different from previous at-
tempts. Instead of contact points, the Gonthier’s linearly elastic volumetric contact model
( [GONTHIER2007]) and spherical elements were used to define a two-sphere single segment
foot contact model and a three-sphere two segment one.
In our model the foot contact with the ground was modelled, by drawing inspiration from what
was done by Barbosa et al. ( [BARBOSA2005]), by means of six ellipsoids as seen in Fig. 3.5.
Once the lowest point of an ellipsoid j moves below the level of the flat ground, the contact is
established. The coordinates (xj , yj, zj) of the lowest point of the ellipsoid in the global frame
can be found by solving for each ellipsoid the following system:
52 3. DEVELOPMENT OF THE MUSCULOSKELETAL MODEL
Figure 3.5: Foot ellipoids
Ej(Xj , Yj , Zj) =
(
Xj
aj
)2
+
(
Yj
bj
)2
+
(
Zj
cj
)2
− 1 = 0
(∇Ej)Xj=
∂Ej
∂Xj
= 0
(∇Ej)Zj=
∂Ej
∂Zj
= 0 (3.22)
where (Xj , Yj, Zj) are the coordinates of the lowest point of the ellipsoid in the local frame along
the principal axes of the ellipsoid, aj, bj and cj the semi-axes and (Xj , Yj , Zj) the coordinates
of the lowest point in a frame attached to center of the ellipsoid but oriented along the global
frame. Once (Xj , Yj , Zj) are known, a simple translation allows to know the global coordinates
(xj , yj, zj). The second and third equations express that the normal vector to the ellipsoid at the
lowest point is vertical. Due to the simplicity of the surfaces implied in the contact (a horizontal
plane and an ellipsoid of exponent n equal to 2), the system 3.22 can even be solved ana-
lytically with a symbolic computation software like MuPAD, Maple or Mathematica for example.
Concerning the force generation at the foot-ground interface, all the before-mentioned models
relied upon viscoelastic elements: springs and dampers, generally assumed nonlinear, so as to
represent the real mechanical behaviour of the layers located on the foot sole. Traditionally
the shear forces were calculated using a Coulomb friction law, possibly slightly modified. It is
worth noting that no author used one of the complicated dynamic friction models (Dahl, Lugre,
Leuven and Generalized Maxwell-slip) presented in the survey [LAMPAERT2004].
In our case we used also the classical approach. The penetration is given by ∆nj= yground − yj
and is used when positive to determine the pinpoint force on ellipsoid j and then on body
segment which this ellipsoid attaches to. Concretely, the normal component of the force applied
on the calcaneus or toe segment at the global coordinates (xj, yground, zj) is equal to
Fnj= Fyj =
{
Enj· (∆nj
)enj +Gnj·∆nj
· (∆nj)gnj if ∆nj
> 0
0 else(3.23)
where Enjand Gnj
are the stiffness and damping coefficients respectively. Their values and the
ones of the simple coefficients enjand gnj
are provided in Table C.4 of Appendix C.3. In the
second part related to the damping, the term ∆njwas added to ensure a zero force at the initial
3.5. Active forces: muscles 53
time of the impact. The tangential force is calculated from
Ftj = −µj · Fnj·vtj
|vtj| · |tanh(atanh(ǫj) ·
|vtj|
vtcritj)| (3.24)
where µj represents the coefficient of friction, vtjthe tangential velocity of the lowest point of
ellipsoid j and ǫj a tolerance coefficient so that the tangential force at the critical velocity is
equal to 100 · ǫj % of the maximal tangential force (cf. Fig. 3.6) 4. By proceeding that way
-1-0.9-0.8-0.7-0.6-0.5-0.4-0.3-0.2-0.1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
1
-5 -4 -3 -2 -1 0 1 2 3 4 5
|vt|/vtcrit
Ft
µ·F
n
ǫ = 0.9
Figure 3.6: Tangential friction force
we tolerate some micro-slidings and assume that they can be considered negligible. ǫj is taken
equal to 0.9, vtcritj to 0.001m/s and µj to 0.7. The other parameters are presented in Table
C.4 of Appendix C.3.
Note also that the forces, whose components were described in Eqs 3.23 and 3.24, also generate
moments since they are not applied at the center of gravity of the body segments.
3.5 Active forces: muscles
44 muscles were inserted for each of the lower limbs as shown in Fig. 3.7.
We focus first on mathematical representations of force generation of an isolated skeletal muscle
(Sections 3.5.2 and 3.5.3). For engineering applications they have to possess two features:
simplicity in order to be computationally efficient and fidelity so that theoretical predictions
are close to reality. These two requirements are somewhat antagonist. This is reflected in
the two main approaches used in muscle modelling: the microscopic and the macroscopic
ones [WINTERS].
Then, in Section 3.5.4, the muscles are regarded from a more anatomical point of view. The
forces generated by the muscles are applied on the bones, depending on their insertion points
and their pathways.
The muscle parameters coming from the Winters’s book [WINTERS], the Delp’s
4In order to be exhaustive, let us mention that, instead of the classical Coulomb friction model, Millard
employed a bristle friction model in [MILLARD2009].
54 3. DEVELOPMENT OF THE MUSCULOSKELETAL MODEL
Figure 3.7: View of the musculoskeleton model
model [DELP1990] and Virtual Muscle’s manual [VMmanual] can be found in Appendix C.5.
3.5.1 Modelling approaches� Microscopic approach
This model category groups together the biophysical Huxley-type models (or cross-bridge
models) introduced since 1950’s ( [WINTERS] for more details and bibliography).
The Huxley’s model was elaborated in 1957 ( [HUXLEY1957]). Muscle biophysicists
and biochemists rely on these models to describe the physiology and the mechanisms
of activation and contraction at the molecular level and to interpret the results of
mechanical, thermodynamic and biomechanical experiments on muscle. The Piazzesi’s
model [PIAZZESI1995] is a more recent example of such a microscopic approach.
These models are advantageous because they link mechanics, biochemistry, energetics and
structure of muscle into an integrated whole. But they are too complicated and do not
serve in motor control studies. Moreover all the muscle contraction physiology (partly
described in Section 1.3.3.2) is not known yet at this time and there is no consensus about
the fine details of the cross-bridge cycle.� Macroscopic approach
This approach consists in the traditional phenomenological view of the muscle (see [WIN-
TERS], [NEWMAN] and [SHADMEHR] for more details and bibliography). While
the preceding models depend on modern experimental equipment and techniques, the
macroscopic Hill-type models are based on more basic and rudimentary experiments.
Most of what has been learned about muscle mechanics is from whole muscles removed
from the animal: isolated from their physiological environment by means of an appropriate
preparation, muscles can stay alive for several days in an oxygenated solution. The fact
that a muscle is turned on electrically is very interesting and was logically used in the
3.5. Active forces: muscles 55
experiments.
The Hill-type approach is developed further hereafter in Section 3.5.2 since the Virtual
Muscle model we used (Section 3.5.3) is one of them.� Other approaches
– Intermediate approach
This part concerns a type of model that was introduced by Zahalak in the 80’s
and was called Distribution-Moment (DM) Approximation. It provides a bridge
between the Huxley-type molecular models and the phenomenological models. This
is possible by means of mathematical approximations of the cross-bridge models
and by focusing directly on the quantities of interest in whole-muscle behaviour (i.e.
force, stiffness, energy, ...). This type of model tends to approach the simplicity
of the Hill’s model but with biological veracity of the Huxley’s model. However
we consider this model too complex for our application. We invite the interested
reader to take a look in [WINTERS] and [ZAHALAK1981] for more details about
the model and for a complete description of its advantages and disadvantages.
– Black boxes approach
New modellings were recently developed without any microscopic background and
without the viscoelastic analogies employed to build the Hill’s model. Only the
muscle length, velocity, activation and force, measured from experiments, serve as
inputs and output of black boxes. So nowadays neural network and fuzzy logic
allow to implement non-linear muscle models. But one must be very careful with
these new technologies because generalization and extrapolation after learning are
not guaranteed. An example of such an approach can be found in [UCHIYAMA1999].
3.5.2 Hill-type model
3.5.2.1 Phenomenological data
Twitch and tetanus
Electrical stimulation on the muscle was experimented (Fig. 3.8). There is latency for about
15 ms following the shock and the muscle produces no force if stimulated under isometric
conditions (i.e. at constant length). Finally the muscle responds and if it was a single stimulus,
it produces a single transient rise in tension. It is called a ”twitch”. The strength of the stimulus
must be strong enough to depolarize the muscle membrane. Otherwise nothing happens. Over
a limited range above the threshold amplitude, the peak force developed in the twitch rises
with the strength of the stimulus, as more muscle fibers are recruited into the force-generating
enterprise. Once the majority of muscle fibers become active there is no further increase in
force.
If a train of such stimulations is given, the force has a steady magnitude with a little ripple at
the stimulation frequency (”unfused tetanus”). As the frequency is raised, mean force rises and
the ripple finally reaches a very low level.
Further increase in frequency produce no further increase in mean force. That is the ”tetanus”.
56 3. DEVELOPMENT OF THE MUSCULOSKELETAL MODEL
Figure 3.8: Twitch and tetanus [NEWMAN]
Passive and active force-length curves
Passive and active muscle properties are responsible for the force-length curve shown in
Fig. 3.9. Moreover, it was assumed that somehow the elasticity of muscle must be one of the
features that determine how the separate effects of a sequence of shocks coalesce in a tetanus.
Figure 3.9: Schematic force-length curves [NEWMAN] (l0 is the optimal length)
If force is recorded as the muscle is stretched to different constant lengths with no stimulation,
one observes that the curve tension-length gets progressively steeper with larger stretch.
When extended, fibrous elements which are redundant at low extension become tensed at high
extension, adding their spring stiffness in parallel. The derivative of the stress with respect to
the strain increases with the stress. The passive force contribution can be described in function
of the strain by means of an exponential (Fig. 3.9).
When the muscle is tetanized the tension at each length is greater than it was when the
muscle was at rest. Developed tension (difference between the active and passive curves) is the
greatest when the muscle is held at a length close to the length it occupied in the body (Fig. 3.9).
3.5.2.2 Conceptual model
In the 20’s the macroscopic mechanical behavior of muscles was studied by A. V. Hill and his
associates by observing muscle shortening (not lengthening) at maximal (not partial) activation
over a limited range of muscle lengths near the ”optimal” length at which the maximal isometric
3.5. Active forces: muscles 57
force (designated by F0 or T0) is generated. Then these first experiments were rather restricted.
One of these experiments is represented in Fig. 3.10.a. The muscle (with tendons) is maintained
Figure 3.10: a) Quick-release apparatus b) Tension and length responses [NEWMAN]
vertical by means of a quick-release apparatus. When the catch is withdrawn, the muscle
is exposed to a constant force determined by the weight in the pan T . First, the muscle is
stimulated tetanically with the catch mechanism on; tension T0 is developed. Upon release of
the catch, the muscle shortens rapidly by an amount ∆x2 which depends on the difference in
force before and after release. After this instantaneous shortening it shortens yet gradually by
an amount ∆x1 until reaching a new static state (see Fig. 3.10.b).
Hill and his collaborators concluded that transient responses of an active muscle to rapid force
and length changes ressembled those of a passive viscoelastic system. They explicitly suggested
that the structure of this viscoelastic system should consist of two passive elements in series:
an undamped elastic element and a damped elastic element. Rapidly, they made their model
active and the spring of the damped element was replaced by a tension-generating (contractile)
element. Note that this viscoelastic theory was partly rejected in the 30’s in favor of another
that assumed that shortening and work production were governed by rates of energy-yielding
chemical reactions rather than release of elastic energy.
The conceptual Hill’s model, originally published in 1938 ( [HILL1938]), is known under the
form depicted in Fig. 3.11 and detailed below.
Series and parallel elastic component
Series elastic component (SE) in this diagram corresponds to the tendons. The parallel
elastic component (PE) acts in parallel with the part of the muscle which generates the force
(the contractile element (CE)). Together, parallel and series elastic components account for the
passive tension properties of the musculotendon complex.
Quick release experiments (like the one in Fig. 3.10.a) provide direct evidence of a series elastic
component. The rapid change in length (∆x2) which accompanies the sharp change in load
is consistent with the mechanical definition of a spring, which has a unique length for every
tension but is entirely indifferent to how fast its length is changing. Series elastic element for
58 3. DEVELOPMENT OF THE MUSCULOSKELETAL MODEL
Figure 3.11: Hill’s muscle model [NEWMAN]
skeletal muscle has been shown to fit the same exponential form found for the parallel elastic
element.
The parallel elastic element (PE), not initially present in the model, was added afterwards to
completely model the passive elastic properties of an unstimulated muscle that resists to stretch.
Note: This model only represents the gross features of whole-muscle mechanics because single
muscle fibers, without tendons, require more advanced models.
Active state
You have probably all experienced that muscles shorten more rapidly when you lift a light
load than when you lift a heavy weight. It is partially due to inertia but main cause is that
muscles which actively shorten can produce less force than those which contract isometrically.
The fact that muscle develops its greatest force when the speed of shortening is zero led Hill in
1922 to suggest that stimulation always brings about development of this maximal force, but
that some of the force is dissipated in overcoming an inherent viscous resistance if the muscle
is shortening. Thus he proposed representing the contractile element (CE) as a pure force
generator in parallel with a nonlinear dashpot element B (Fig. 3.11).
In a tetanus, this active state force would rise to a constant level designated by T0 and equal
to the developed isometric tension. T0 was called ”active state” and was therefore a function of
the length of the contractile element, x1, as was the tetanic developed tension. It was defined
by Hill as the force exerted when the CE velocity is zero. This concept led to much confusion
but is in general accepted as providing an approximate measure of muscular activation.
Dashpot elements develop no force when they are stationary, but resist length changes with a
force F = Bx1, where B may be either a constant or a function of x1.
Note 1: If we want to control dynamics of a modelled muscle, which variable do we have to
consider as input? Activation state remains rather abstract. We can not measure it directly.
This quantity does not consist in a physiological input. So we have to link this quantity with a
physiological one. Without giving details we mention that relationships between neuronal out-
put, excitation, activation and muscle mechanics were found. Boxes in Fig. 3.12 schematically
show the phenomena which intervene upstream the muscle mechanics. A first box (”excitation
3.5. Active forces: muscles 59
dynamics”) is necessary to model the neural dynamics and transduce the output of the neural
system into EMG signals (or electrical signals) which must be converted themselves into muscle
activation by means of the second box (”activation dynamics”).
Figure 3.12: Block diagram of relationships between excitation, activation and muscle mechanics
[WINTERS]
Note 2: Isotonic contractions (i.e., muscle is shortening against a constant load) were first
investigated by Fenn and March in 1935. They found (Hill also in 1938) that the relation
between developed force and shortening velocity is nonlinear, therefore that the dashpot
element has an acutely velocity-dependent damping.
Force-velocity curves
All of this assumes that the contractile element (CE) is damped by some viscous mechanism
and cannot change its length instantaneously. Then all the rapid shortening in the quick release
experiment is taken up in the SE element, as already explained. Further length changes must
then be attributed to the CE alone. Particularly important is the rate v at which the CE
shortens at the beginning of the asymptotic behaviour, just after the rapid shortening of the
series element (see Fig. 3.10.b). When this initial slope is plotted against the isotonic afterload,
T , a characteristic curve is obtained which shows an inverse relation between the force, T , and
this initial shortening velocity, v. Hill assumed that the instantaneous muscle force and the
CE velocity are uniquely related at a given muscle length and level of activation. According
to this unfortunately erroneous assumption, Hill proposed in 1938 an empirical relation which
emphasized the hyperbolic form of the curve:
(T + a)(v + b) = (T0 + a)b (3.25)
where a and b are constants.
So the contractile element was assumed to be characterized by a unique force-velocity relation
valid for shortening and looking like a rectangular hyperbola whose asymptotes are not T = 0
and v = 0 but T = −a and v = −b (see the force-velocity curve in Fig. 3.13 for positive values of
velocity). The isometric tension T0 defines the force against which the muscle neither shortens
nor lengthens, and the speed vmax = bT0/a is the shortening velocity when no load is applied.
Considering Eq. 3.25 and by means of algebraic manipulation it can be interpreted that the
force generated by CE is the sum of the internal contractile active force (the isometric force)
and an internal viscous resisting force which depends nonlinearly on the velocity:
T = T0 − vT0 + a
v + b(3.26)
60 3. DEVELOPMENT OF THE MUSCULOSKELETAL MODEL
Figure 3.13: Hill’s force-velocity curve and mechanical power output [NEWMAN]
Through this formula the nonlinearity of B is obvious, as it is seen in Fig. 3.13.
Using the viscoelatic analogies, Hill expressed the muscular power in case of shortening by means
of the following formula
Power := Tv = v(bT0 − av)
v + b(3.27)
and drew the relation for positive values of velocity in Fig. 3.13.
Weaknesses
Experiments showed that mechanics and energetics may not be coupled as done by Hill.
However the model was used since then by keeping the structures SE-CE-PE but was touched
up and improved several times. Among the main improvements let us note the following ones.� It was assumed that the active state T0 depends on CE length and stimulation history (Fig.
3.14(a)). At maximal stimulation the internal force is maximal at the optimal length l0and decreases at shorter and longer lengths (this is explained by the cross-bridge theory).
But at submaximal stimulation the curve moves down and the maximum is shifted. This
consideration was taken into account in more recent Hill-type models and is modelled for
example in the Virtual Model (section 3.5.3).� In ordinary tasks like running, muscle acts in order to stop the motion as often as to start
it. When a load slightly stronger than the isometric tetanus tension T0 is exerted on a
muscle in a tetanic state of activation, this muscle lengthens. It is surprising to notice that
the steady speed of lengthening is much smaller than the value extrapolated from Hill’s
3.5. Active forces: muscles 61
(a) (b)
Figure 3.14: a) Isometric force T0 versus length L. b) Force-velocity (T versus v) relation of
the CE for both shortening (right half plan) and lengthening (left half plan). a) and b) The
upper solid lines are for maximal stimulation and the dashed lines for constant submaximal
stimulation. [WINTERS]
Eq. 3.25 in the negative velocity region. Katz found that −dT/dv, the negative slope
of the force-velocity curve, is about six times greater for slow lengthening than for slow
shortening. When the load raises over a certain threshold (about 1.8T0), another specific
behaviour is observed as shown in Fig. 3.13 (see the force-velocity curve for large negative
values of velocity): the muscle ”gives” or increases length rapidly, almost as if it had lost
its ability to resist stretching.
Then, the unique force-CE velocity relation, which constitutes one of the fundamental
assumptions in the original Hill’s model, is not true. For this reason the Hill’s model had
to be improved and in the current Hill-type models this assumption was corrected. The
force-velocity curve was generalized based on experiments in order to model lengthening
(V < 0) as well as shortening (V > 0) and was not considered unique anymore, but as a
function of the intensity of stimulation (Fig. 3.14(b)). These improvements are included
in the Virtual Model (section 3.5.3).� The tendon fibers and muscle fibers are not lined up for all the musculotendon complexes
in reality. The tendon behaviour and properties were analyzed and a new model taking
into account the pennation angle α appeared: the Zajac’s dimensionless musculotendon
model ( [ZAJAC1989], Fig. 3.15) in which all the quantities are scaled. Nowadays it is
one of the most Hill-type models used while others exist (Fig. 3.16).
3.5.2.3 Advantages of the Hill-type models
The main advantages of the Hill-type models are numerous. Obviously one can note their
direct connection with macroscopic muscle experiments: model parameters, generally in limited
number, are easily identified from standard mechanical experiments. For example, concerning
the simple Hill’s model in Fig. 3.11, force-length of the parallel elastic spring KPE and
active force generator T0 can be found from passive and tetanic force-length experiments,
respectively. Series elastic element KSE and the dashpot element B are determined from the
initial (instantaneous) length change and early slope of the length record in the quick-release
experiments.
Moreover these models and their components (i.e. dashpots of the contractile element, series
and parallel elastic springs) are familiar to engineers.
Generally these models are also characterized by their simplicity (in any case more than
62 3. DEVELOPMENT OF THE MUSCULOSKELETAL MODEL
Figure 3.15: Zajac’s model: Scheme of mechanical arrangement [WINTERS]
Figure 3.16: Other Hill-type models [WINTERS]
3.5. Active forces: muscles 63
microscopic models) but nevertheless they proved to be enormously useful in calculating the
purely mechanical features of skeletal muscle working against a load. So even if electrical
stimulation/calcium activation is included, these models remain simple enough to allow the
simulation of complex muscle systems with ordinary computer resources.
3.5.2.4 Disadvantages of the Hill-type models
The most obvious disadvantage of the Hill-type model comes from the viscoelastic analogies
which have little connection with the underlying physiological mechanisms of muscle contrac-
tion. The SE and CE elements are defined and their parameters measured purely conceptually
but these elements have no physiological existence. For example a force change per unit length
change can be measured in a quick stretch or release of an initially isometric muscle. This
stiffness, function of the muscle force, is assigned as the stiffness of the series element. It is
assumed that any force change per unit length change in a rapid perturbation of the muscle
and for the same initial muscle force will be equal to this predetermined stiffness about any
operating condition. But this disagrees with the cross-bridge theory because a part of the
stiffness depends on the instantaneous number of linked cross-bridges which are not determined
uniquely by muscle force but rather by the precedent muscle history of motion and activation.
The Hill-type model is only a comprehensive representation of the way muscle actually works.
Let us take an interest in the dashpots for example. As the mechanical circuit element suggests,
engineering dashpot elements can be made by fitting a piston into a cylinder with enough
clearance to allow fluid to escape. Since muscle contains a lot of water, the dashpot model
suggests that the viscosity of water ultimately determines the viscous property of active muscle.
But water is a Newtonian fluid; its viscosity is not a function of shear rate, provided laminar
flow is maintained. By contrast the damping factor B for muscle was shown to be strongly
dependent on shortening speed (Fig. 3.13 and Eq. 3.26). Then, a non-Newtonian liquid should
be postulated in order to explain the velocity-dependent damping in muscle.
The temperature influences the rate of energy release and the mechanical properties as well.
Unhappily, a lot of experiments were performed on muscle preparations at temperatures com-
prised between 20 and 25 degrees Celsius. So, caution must be exercised with the parameters.
For example the damping factor B is also highly dependent on the temperature5.
Another main deficiency consists in the fact that these models give no information about
biomechanical energetics. For example it is totally false to attempt to calculate this quantity
from viscoelastic analogies as Hill did in Eq. 3.27.
3.5.3 Virtual Muscle model (VM)
It is an improved Hill-type model created in 2000 by Ian Brown, Jerry Loeb and Ernest Cheng.
This muscle model is freely available on the web ( [VM@net]) and is implemented for Matlab
and Simulink: initially, only a ”.mdl” file existed but recently, a S-function was written to
5In order for a muscle to suffer the large change in internal viscosity caused by a large temperature change, the
muscle should be filled with a viscous fluid with properties similar to castor oil! It may have been these thoughts
which led Fenn to doubt that anything as simple as a dashpot was responsible for the force-velocity behavior of
muscle. He proposed, correctly, that a biochemical reaction controlled the rate of energy release and therefore
the mechanical properties.
64 3. DEVELOPMENT OF THE MUSCULOSKELETAL MODEL
improve the performance. Further information can be found on the web but also in [VMmanual]
and [CHENG2000].
The model was completely rewritten in C++ to be implemented within the EasyDyn library.
The Virtual Muscle model was conceived to provide the middle level of the organization
chart presented in Fig. 3.17: the mechanical dynamics of the skeletal segments occupies the
lowest level and is acted on by the muscle representation; at the top level the nervous system
controls the muscle activation. Note that, besides the arrows representing the descending
pathways from the superior nervous centers, the proprioception feedback, the muscle activation
and the muscle force, a fifth arrow is visible, linking the skeletal dynamics to the muscle
mechanics. Its meaning is rather obvious: the muscle force generation depends on the actual
muscle length. More concretely the VM model can be considered as a ”box” which has for
Figure 3.17: Hierarchical framework for the VM [VMmanual]
inputs the musculotendon path length Lmusculotendon and the neural activation. The model
output generates the muscle force.
The Virtual Muscle model can be seen as a set of motor units, independently and physi-
ologically recruited to generate the muscular force. Each of the motor units is modelled by a
Hill-type model and activated by a firing frequency determined in function of the level of the
global activation according to a recruitment strategy.
3.5.3.1 Motor units
Physiological basis As already explained, a muscle is physiologically made up of fibers in
parallel which are constituted by myofibrils, themselves made up by sub-entities located in
series, the sarcomeres (Fig. 1.8). Muscles contract when they are activated by action potentials
at their neural junctions. Intensity and frequency of these natural potentials determine the
amplitude of their response. At the whole-muscle level fiber muscles are physiologically
organized in motor units. Normally a muscle has about 100 or more motor units. All fibers in
3.5. Active forces: muscles 65
a unit are of the same type (slow or fast).
Modelling From Fig. 3.18, you can observe that the VM is inspired from the Hill’s philosophy
in spite of the fact that the structure of the VM is more complicated. Although the three
Hill-constitutive elements (CE, SE, PE) are present, they do not all entirely describe the
whole-muscle level; CE and PE are specific to each motor unit. Moreover two other elements
are added at the whole-muscle level: a recruitment block (not visible) and a mass. The latter is
equal to the muscle half mass and the recruitment block is one of the keys of the VM model.
Figure 3.18: Modified Hill-type model [VMmanual]
The general principles of functioning of the VM model are illustrated in Fig. 3.19. The
recruitment element converts, for each motor unit i, the input global activation6 U into a
frequency envelope f ienv which is then filtered to produce an effective firing frequency f i
eff .
Each firing frequency is used to generate an effective activation Af i, after having taken into
account the phenomena of activation delay, rise and fall times, sag (only for the fast fiber type
motor units) and yield (only for the slow fiber type motor units)7.
For each motor unit i, the effective activation signal Af i is received by a contractile element,
then is ”filtered” with respect to the fascicle length LCE (the length of the contractile element)
and velocity VCE — FL and FV model the force-length and force-velocity curves — to produce
an active contractile force (FCE) generated by the CE.
The parallel elastic force (FPE) is made up of two parts: one contribution comes from the
whole-muscle level but another, which is particular to the thick filament compression, depends
on the effective activation and is characteristic to each motor unit.
The CE-PE subsystems are set in parallel for all the motor units and the total force (Ftotal) is
the sum of the active contractile force and the total parallel elastic force.
6This activation is clipped between 0 and 1 in the VM model.7The description of these phenomena can be found in the articles [SCOTT1996I], [BROWN1996II],
[BROWN1999I], [BROWN1999II], [BROWN2000III] and [BROWN2000IV]
66 3. DEVELOPMENT OF THE MUSCULOSKELETAL MODEL
Figure 3.19: Schematic diagram of phenomeonogogical functions describing the muscle behaviour
(see the Subsection 3.5.3.4 below for the mathematical expressions of these functions). [VMman-
ual]
Finally a typical series elastic element (SE) is placed in series with the CE-PE subsystems. Its
length is equal to Lmusculotendon − LCE.
Let us describe the subcomponents.� The contractile element (CE) and passive viscoelastic element (PE) subsystems
From a structural point of view and as shown in Fig. 3.18, the muscle can be regarded
as compartmentalized in its mechanical actions but also in its neural activation state. So
the VM’s creators judged that each compartment has to be treated as a separate muscle
in the VM model.
For each motor unit, the contractile element represents fascicles lying in the muscle belly.
Each contractile element is coupled to a passive parallel elastic element including a small
viscosity for stability. Each (CE+PE) subsystem owns three inputs: a firing frequency
f ieff individually defined from the recruitment strategy and from the global activation U ,
the fascicle length LCE and fascicle velocity VCE. It is characterized by force-length and
force-velocity relationships as determined by the fiber type properties. The output of each
subsystem calculates the active and passive forces for the fascicles.� The series elastic element subsystem (SE)
The length of this element represents the effective length of the internal and external
tendons; aponeurosis is included. The force produced by this element is dependent only on
length, and has been shown to have no significant velocity dependence at physiologically
relevant frequencies. For this reason and thanks to its position in the model, changes in
the musculotendon path length are made to act directly on the series elastic element.� The muscle mass subsystem
For a purpose of stability, a mass whose value equals to the muscle half mass is interposed
between the contractile and series elastic elements. This is done in order to prevent
3.5. Active forces: muscles 67
unrealistically large, instantaneous accelerations and instabilities that occur if the velocity
dependent contractile element is connected directly to the series elastic element.
3.5.3.2 Recruitment strategy
Physiological basis The muscle tension is modulated by the number of active motor units
and/or the average firing rate of active motor units.
Groups of similar motor units tend to be recruited together while those of different types in a
fixed order. According to the Hennemann’s size principle, small motor units are excited more
easily than the large ones. As slow fibers are generally grouped together within smaller motor
units than fast fibers, it ensues that the slow fibers are generally recruited before the fast ones.
Thanks to that, the gradation of muscle strength during weak muscle contraction is generated
by slow fibers and forced to occur in very small force steps. The steps become greater as the
intensity of contraction increases (the larger motor units and faster fibers begin to contract).
This phenomenon varies from on muscle to another. Muscles requiring more precision are
characterized by smaller elementary force increments than other less precise muscles.
Moreover increasing the rapidity of contraction of individual motor units by tuning the
stimulation frequency also causes a force increase. Although a single action potential in a
muscle fiber produces only a twitch, contractions with longer duration and greater tension
can be achieved by repetitive stimulation of the fiber. When a muscle is stimulated at greater
frequency, strength of contraction is getting bigger. When the frequency has reached the point
at which the successive contractions fuse together, this state is called tetanization. Once the
critical frequency for tetanization is reached, further increase of the stimulation frequency
results in an increase of the contraction force of only a few percent.
The electromyogram, or EMG, is the measure of the electrical activity generated by skeletal
muscles during contraction. When several motor units are active, a random interference pattern
of electrical activity is produced (see Fig. 3.20) since the timing of the electrical bursts between
distinct motor units is mostly uncorrelated. To measure experimentally EMG signals, one or
more electrodes can be inserted through the skin into the muscle or stuck on the skin surface.
As the interference pattern can be modeled as a zero-mean stochastic process, the standard
Figure 3.20: EMG signals before and after processing [miscellaneous2@net]
deviation, referred to as the EMG amplitude (EMGamp in Fig. 3.20) or EMG envelope, is
the relevant quantity to measure the muscular activation level. It is increased by an increasing
number of active motor units and/or an increase in the firing rate of individual motor units.
After noise rejection (filtering), whitening, multiple-channel combination, detection, smoothing,
68 3. DEVELOPMENT OF THE MUSCULOSKELETAL MODEL
and relinearization, the electrical activity picked up by the electrodes can be transformed into
EMG amplitude and displayed on an oscilloscope in the form of continous waves (see Fig. 3.20).
3.5.3.3 Modelling
In the Virtual Muscle (VM) model, the recruitment consists in determining the firing frequency
of each motor unit f ieff from the global activation signal U . The influence of the fiber type and
the selective recruitment are taken into account at the fiber and whole-muscle levels.
At the fiber level, the following assumption is done: the contractile element of the muscles
scales well from the sarcomere level up to the fiber level (and up to the level of an entire
recruitment group of motor units. Three fiber types are defined in the VM model but we only
used 2 of them: the slow and fast ones. Typically the fast fibers are the type preponderantly
met in weight-lifters or such ”violent” sportsmen while the marathon runner or such endurance
sportsmen have proportionally more slow fibers. The former, as called, act faster and are
stronger than the other ones but are fatigable. Note however that the muscle fatigue can not
be modelled by the VM model.
At the whole-muscle level, the VM model ”breaks” each whole muscle into motor units
consisting of a single fiber type, with each unit being defined by its fiber type, its order of
recruitment and its force-producing capacity which is proportional to its total physiological
cross-sectional area (PCSA). Normally, as said, a muscle has about 100 or more motor
units. However, this muscle resolution will make the simulations very slow and is usually
not necessary. For most uses, creating a small number of motor units (between 3-5 for each
fiber type) produces an acceptably smooth force modulation. So, each unit in the VM model
represents a group of ”real” motor units with a total physiological cross-sectional area of around
10% of the muscle. We have to define the appropriate number of motor units per fiber type and
the physiological PCSA distribution per fiber type. Then, different automatic apportioning
schemes are implemented in the VM model to create the appropriate PCSA distribution per
motor unit. Proceeding this way, the motor units firstly recruited are the smallest and slowest
ones, as in real muscles. Then it is the turn of the bigger slow ones. And afterwards only,
the fast ones, which are bigger than the slow ones, are activated. Finally and if the activation
signal is important enough, the fastest motor units are recruited.
Actually, two different strategies can be chosen in the VM model for the recruitment of
motor neurons. One is related to the recruitment strategy occuring in case of intramuscular
functional electrical stimulations used in muscular rehabilitation. This strategy, not useful in
the framework of our research, is only briefly mentioned in Appendix C.4. The other strategy,
called natural recruitment and using equivalent-to-EMG activation signals, is the one we
employed. It is summarized in Fig. 3.21.
In case of natural recruitment, the input activation signal is assumed to be the EMG
envelope (see Fig. 3.20). In fact this signal is not the raw EMG signal but can be obtained
by scaling it to the level of maximal voluntary contraction, filtering and square-rooting
( [VMmanual]). In a control model, this signal might be the efferent motor command coming
from a simulated α-motoneuron.
The activation signal is likely to activate each motor unit, according to its defined recruitment
3.5. Active forces: muscles 69
and finish with the largest fast oneslogically begin with the smallest slow motor units
Amplitude of EMG signalNatural recruitment:Determination of which motor units are recruited(depending on their recruitment rankand the PCSA distribution). Recruitment can physio−
Determination of the firing frequencyof each motor unit recruited at each activation level
Figure 3.21: Natural recruitment strategy implemented in VM
order and its physiological cross sectional area, by means of a firing frequency. Within each
motor unit, this frequency of motoneuronal firing is modulated in a realistic manner (cf. Fig.
3.22). A motor unit i is recruited (i.e. its firing frequency is different from zero) when the am-
plitude of the activation signal is higher than its recruitment threshold U ith = Ur.
∑ij=1 PCSAj
where Ur represents the activation level at which all the motor units are recruited (typically 0.8)
and PCSAj is the proportional physiological cross-sectional area of each motor unit j recruited
before, depending on the recruitment rank of the fiber type and the PCSA distribution. This
causes force steps (normally increasing) during increasing muscle contraction. The firing
frequency of each unit begins at fmin when that unit is first recruited and linearly reaches a
maximum of fmax when input activation equals 1. So, the natural recruitment strategy permits
to respect — if physiological PCSA distribution — what happens in the human body, i.e. the
Hennemann’s principle already explained and according which the motor units are recruited by
order of size.
Figure 3.22: Natural discrete recruitment and determination of firing frequencies for each motor
unit ( [VMmanual])
3.5.3.4 Equations, relations and parameters of the VM� Equations and relations characterizing the virtual behaviour
The equations and relations are presented in Table 3.4.� Parameters at the motor unit level
Actually these motor unit related parameters are characteristic of the fiber type which
70 3. DEVELOPMENT OF THE MUSCULOSKELETAL MODEL
the motor unit is made up of. Numerous parameters have to be provided: c1, k1, Lr1,
η, c2, k2, Lr2, cT , kT , LT
r , Recruitment rank, V0.5, f0.5, fmin, fmax, ω, β, ρ, Vmax, cv0,
cv1, av0, av1, av2, bv, af , nf0, nf1, TL, Tf1, Tf2, Tf3, Tf4, aS1, aS2, TS , cY , VY , TY ,
Sarcomere Length, Specific Tension, TU1, TU2. These fiber type related parameters are
stored in fiber databases you can find in Table C.5 of Appendix C.5.1.� Parameters at the whole-muscle level
The other parameters and properties characterizing the muscle at the whole level (optimal
fiber length L0, isometric force F0, tendon slack length, physiological cross-sectional area
per fiber type, muscle density, activation threshold Ur) are saved in the muscle databases
(see Table C.6 of Appendix C.5.2). For the interested readers and if necessary, the meaning
of these coeffcients is detailed in [VMmanual].
3.5.3.5 Advantages of the VM
Besides the common advantages of the Hill-type models the virtual muscle model is very
attractive by the fact that it is a validated model [MORRIS2005]. As explained in [VMmanual],
the phenomenological functions have a one-to-one correspondence with known anatomical
structures and physiological processes that occur in muscle and tendon. The experiments on
which this model is based were designed to identify the specific structures and processes within
muscles that give rise to complex phenomena (e.g. frequency-length interactions, yield, sag,
etc.). The functions that describe those structures and processes or their input parameters were
then modified to reflect the mechanisms underlying the phenomena. This strategy improves
the likelihood that the model will extrapolate accurately to deal with ranges and combinations
of input conditions that have not been tested explicitly in the source experiments. So the VM
allows to reproduce a very large part of the natural behaviour of the skeletal muscles with a
maximum of 10% error ( [MORRIS2005]) on the output force whichever condition is simulated:
concentric (shortening), eccentric (lengthening due to the high external load although fully
muscle activation) or isometric (constant muscle length) contractions, isokinetic (constant
muscle velocity) or isotonic (constant force applied on the muscle) sollicitations. Note however
that instability was encountered during a dynamic simulation of an arm model with multiple
muscles (see the Subsection Disadvantages of the VM below).
Another advantage is that the VM consists in a complete modelling, including the muscle
activation, that is very practical for engineers. Moreover, the natural recruitment from
EMG-related input signals is faithful to physiology.
3.5.3.6 Disadvantages of the VM
Energetic aspects are not taken into account in the VM. The physiological energy consumption
inside the muscle is unknown. Moreover the reproduction of the natural behaviour of the muscles
is limited because chemical effects of the fatigue can not be modelled.
The model neglects the pennation angles : α is always equal to zero for all the muscles8. This
modelling limitation is done because the variation of α during muscle contractions is complex,
not well-known and it can not be modelled with accuracy. Moreover it was showed by Scott
8However as mentioned as advantages the accuracy of the virtual muscle model is such as the error remains
lower than 10% in physiological cases.
3.5.Active
forces:muscles
71
Tendon elasticity FSE(LSE) = cT kT ln
{
eLSE−LT
rkT + 1
}
with LSE = (Lmusculotendon − LCEL0)/LT0 (3.28)
Parallel elastic element FPE1(LCE , V CE) = c1k1 ln
{
eLCE/Lmax
CE −Lr1k1 + 1
}
+ ηV CE
(3.29)
Thick filament compressionFPE2(LCE) = c2
{
e[k2(LCE−Lr2)] − 1}
, FPE2 ≤ 0 (3.30)
Fascicle acceleration aCE =FSE − FCE
0.5mmusculotendon
(3.31)
Force-lengthFL(LCE) = e
(
−
∣
∣
∣
∣
LCEβ−1
ω
∣
∣
∣
∣
ρ)
(3.32)
Force-velocity FV (LCE , V CE) =
Vmax−V CE
[Vmax+(cv0+cv1LCE)V CE], V CE ≤ 0
[bv−(av0+av1LCE+av2LCE2)V CE]
(bv+V CE), V CE > 0
(3.33)
Activation delay
modelled by effective length Leffi
CE =
[
LCE − Leffi
CE
]3
TL (1−Af i)(3.34)
Yield (for slow fibers only)Y =
1− cY
[
1− e
(
−|V CE |
VY
)]
− Y
TY
(3.35)
Sag (for fast fibers only)Si(f i
eff ) =aS − Si
TS
, with aS =
{
aS1, f ieff < 0.1
aS2, f ieff ≥ 0.1
(3.36)
Rise and fall timesfi
eff (fienv(U), LCE) = −
2T iF f
i
eff + f ieff − f i
env(U)(
T iF
)2
with T iF =
{
Tf1LCE2 + Tf2f
ienv(U), f
i
eff ≥ 0(
Tf3 + Tf4Afi)
/LCE , fi
eff < 0(3.37)
723.
DEVELOPMENTOFTHEMUSCULOSKELETALMODEL
Activation-frequency relation,
with effective length
Af i(f ieff , L
effi
CE , V CE) = 1− e
−
(
Y fieff
afnif
)nif
, slow
Af i(f ieff , L
effi
CE ) = 1− e
−
(
Sifieff
afnif
)nif
, fast
with nif = nf0 + nf1
(
1
Leffi
CE
− 1
)
(3.38)
Table 3.4: Equations and relations of the VM [VMmanual]. The
employed color code is: blue for the state variables (and their
derivatives), black for the parameters and intermediary variables
and red for the global input variables. Notes: Top bar x denotes
the normalized variable x (forces by maximum isometric tetanic
muscle force F0, lengths and velocities by optimal fascicle length
LCE0 or optimal tendon length LSE0); superscript xi denotes the
ith motor unit specific variable x.
3.5. Active forces: muscles 73
and Winter [SCOTT1991] that neglecting pennation angle gives in case of isometric and isotonic
force better results than assuming a constant average value for α.
Another drawback is related to the computational cost: this model is computationally expen-
sive because of its phenomenological accuracy and its numerous ordinary differential equations
(ODE’s) (partly visible in Table 3.4). Activation delay, rise and fall times, sag, yield but also
fascicles length and velocity all involve differential equations. That is the other side of the coin.
For example, for a muscle with 40% of slow fibers and 4 slow motor units and with 60% of fast
fibers and 3 fast motor units, 19 ODE’s have to be solved. And that just for one muscle while
there are more than 80 muscles in the two lower limbs to be controlled!
Last but not least: some numerical troubles can be encountered with the original version of the
VM model presented until now and known under the appellation ’Natural Discrete (Brown &
Cheng)’ recruitment version. As shown in [VMmanual] the intermediate muscle fascicle length
state variable (effective length Leff )
(...) was introduced to model the effect of delayed length dependency on
activation-frequency relationships (Af). This forms an internal negative feedback
loop with an Af dependent delay, which may produce instability of the musculo-
skeletal dynamics even without reflex feedback. This was demonstrated in a dynamic
simulation using two-joint six-muscle musculoskeletal human arm model given con-
stant motor commands (...)
3.5.3.7 Improvements
To overcome the previously mentioned problem of instability, a second version of the VM, with a
’Natural Discrete’ recruitment, was designed by simply removing, for each motor unit, the ODE
related to the activation delay (Eq. 3.34 of Table 3.4) and formulating the activation frequency
relation (Eq. 3.38 of Table 3.4) as a function of the current muscle fascicle length LCE instead
of the effective length Leff i
CE . The stability is improved and the computation cost decreased sub-
stantially if the muscle is modelled by a large motor unit pool since Leff is a motor unit specific
state (see Fig. 3.23). In fact, only 13 ODE’s are necessary to model the muscle described before.
3.5.3.8 Simplification
For the purpose of simplification, a third version of the VM was created in which a ’Natural
Continuous’ recruitment algorithm lumps the multiple units according to the corresponding fiber
types, thus requiring only one unit per fiber type. As expressed by Eq. 3.39, each unit or fiber
type becomes active at a threshold U ith that depends on the distribution of fractional PCSA
(FPCSA) among all the fiber types.
U ith = 0.001 for i = 1
U ith = Ur ·
i−1∑
k=1
F kPCSA for i > 1 (3.39)
In our model, we only considered two fiber types (n = 2). So, only two motor units are taken into
account per muscle, the slow ones (index i = 1) being recruited before the fast ones (index i = 2).
74 3. DEVELOPMENT OF THE MUSCULOSKELETAL MODEL
The VM’s manual [VMmanual] explains very clearly the three important aspects of the new
continuous recruitment algorithm.
Firstly, the total muscle activation and contraction dynamics depend on the pro-
portions of slow and fast fibers. The continuous algorithm accounts for this effect by
linearly combining Af and FL, FV properties of each fiber type (Eq. 3.40) multiplied
by a weighting factor, W i, representing proportions of the fiber type among the over-
all active muscle portion (Eq. 3.41). Secondly, the discrete algorithm simulates force
modulations in physiological muscles by sequentially adding or substracting fractional
PCSA scaled forces of newly recruited or derecruited motor units. As the number of
units increases, this additional process is equivalent to multiplication by the activa-
tion level (Ueff ), which formulates the continuous version of neural modulation of
muscle forces in the new Natural Continuous algorithm (Eq. 3.40). Thirdly, the
activation frequency (Af) relationship includes the dynamics of calcium activation
and this effect must also be represented in the multiplication of activation. We thus
introduced a first-order dynamics to convert activation input U to effective activation
Ueff (Eq. 3.42).
By using the same color code as in Table 3.4, the expression of the normalized active force from
contractile element (Eq. 3.40) is given by:
FCE = Ueff ·n=2∑
i=1
[W i ·Af i · (FLiFV i + FPE2)] (3.40)
whereW i is calculated based on the threshold of each fiber type (U ith) and the effective activation
(Ueff ):
W i =Ueff − U i
th∑i
k=1(Ueff − Ukth)
, ∀ Ueff ≥ U ith (3.41)
The amount of muscle actually recruited is specified by an intermediate muscle activation signal
Ueff called effective activation:
Ueff =U − Ueff
TU
TU =
{
TU1 if U ≥ Ueff
TU2 else(3.42)
The VM’s manual [VMmanual]) provides some information concerning the performances of
the natural continuous recruitment version of the VM.
On one hand, as illustrated in Fig. 3.23, the computational efficiency of the simplified
recruitment version is clearly better than for the natural discrete recruitement strategies, due
to the limited number of motor units and consequently of ODE’s.
On the other hand, it is claimed that the natural continuous recruitment is validated since the
accuracy is only slightly deteriorated.
Due to the computational efficiency and the very good accuracy of the natural continuous
recruitment method, we chose to implement it in our musculoskeletal model. Thanks to it,
only 6 ODE’s must be solved per muscle. At the whole-muscle level, 2 ordinary differential
equations are related to the fascicle acceleration aCE (Eq. 3.31) and effective activation Ueff
3.5. Active forces: muscles 75
Figure 3.23: Comparison of the computational efficiency for the three recruitment algorithms of
the VM ( [VMmanual])
(Eq. 3.42). For each motor unit, one ODE allows to model the rise and fall times (Eq. 3.37)
and another one the sag S or yield Y phenomena depending on the fiber type (Eq. 3.36 or 3.35).
3.5.4 Muscle morphometry
In order to compute the force generated by a muscle we need to know the musculotendon length.
And once the muscular force is known in amplitude we still have to know where to apply it,
i.e. on which bones, and how, i.e. in which directions. Both problems are related to anatomical
considerations and are function of the actual muscle path.
Xu [XU2008] defines the muscle path as
(...) the line-of-action of a muscle fiber as it wraps over bones and other tissues on
its way from origin to insertion. A muscle fiber starts from one attachment site on
the origin bone, deforms its shape to wrap around the joint, and inserts onto another
articulating bone, generating a torque to pull one articulating bone toward another. A
proper definition of muscle paths in musculoskeletal models includes the specification
of the origin and insertion sites, a description of the joint and joint motion, and
a description of the wrapping shape of the muscle fibers between attachment sites.
A good model of muscle paths will permit ready calculation of the lengths of muscle
fibers along the breadth of a muscle, and the direction of the line-of-action of these
muscle fibers, as the joint moves with body motion.
Several algorithms have been developed to model muscle paths: the straight-line model,
line-segments with via-points model, obstacle-set model and finite element model [XU2008].
The finite element model is the most sophisticated and computationally the most expensive as
well, but is particularly efficient in case of broad muscles since it is the only modelling which
accounts for the connection of tissues within a muscle. The three other models (straight-line
model, line-segments with via-points model, obstacle-set model) unrealistically regard the broad
muscles as multiple, independent bands. The straight-line model is too simple and only adequate
when the muscle path does not encounter any anatomical constraint along its muscle path.
The via-points model adds intermediary points (or ”wrapping points”) so that the muscle path
76 3. DEVELOPMENT OF THE MUSCULOSKELETAL MODEL
is a connected series of straight lines between origin and insertion (see Fig. 3.24). Via-points
Figure 3.24: Via-points muscle path model. Via-points in (a) and (b) are all active. One of the
via-point in (c) becomes inactive when the joint is moved to a certain angle. [XU2008])
represent the positions of anatomical obstacles (connective tissues or bone structures) for the
muscle path. They can be permanent or temporary. In the latter case, contact is engaged or
released depending on the joint angle. When a joint is flexed or extended to some extent or in
a certain range, an obstacle appears and constrains the muscle path to deform into one more
segment. The more via-points that are defined, the more complex kinematic behaviours the
muscles can achieve. The application limitations of this model are summarized in [XU2008]:
The via-points representing the constraining anatomies inside the human body would
move, while in this model they are defined to be fixed on a bone. Besides, in reality,
there are more complicated muscle configurations, such as the muscle fibers wrapping
around the muscles or bones that are curly shaped. So the straight segments lack the
capacity to express the curly shapes accurately.
This via-points strategy of path determination is the one used by Delp in his model and also
the one we implemented in our musculoskeletal model. The actual muscle length is computed
at each iteration by summing the lengths of each straight lines. The muscle forces are applied
along the muscle paths by considering that the via-points behave like pulleys attached to a
specific bone.
The obstacle-set model is the last technique aiming to define the muscle paths : instead
of imposing arbitrary the via-points, it consists in using wrapping surfaces combined with
via-point research algorithms (cf. [GARNER2000], [XU2008] and Fig. 3.25). As the joint is
flexed or extended, one (or more) via-point(s) is (are) detected and tracked on the surfaces. Of
course, this solution is computationally more expensive but still not perfect for broad muscles,
because of the lack of interconnectivity between the different bands. Delp estimated that this
complexity could be avoided in his model.
All the morphometric data (via-points and ranges) used in our musculoskeletal model can
be found in Table C.7 of Appendix C.5.3.
3.6 Summary
A 3D symmetric multibody model was designed so as to be used in forward dynamic simulations.
Lower limb, pelvis and torso kinematics is defined by means of generalized coordinates. Thanks
3.6. Summary 77
Figure 3.25: Examples of obstacle-sets (or ”wrapping surfaces”): (a) sphere; (b) two-cyclinder;
(c) stub and (d) cylinder ( [GARNER2000])
to the modelling of the muscle force generation and application, foot-ground contacts and
passive joint moments, the skeleton can be actuated and dynamics is ready to be simulated.
The model is pretty complex, mainly because of the ODE’s necessary to describe the muscle
behaviour, as the total number of configuration parameters presented in Table 3.5 shows. It
Subcomponent Number of configuration parameters
Motion 23
Passive joint moments 12
Foot-ground contacts 0
Muscle force generation 528 (= 6 · 88)Muscle force application 0
Total 563
Table 3.5: Summarize of the configuration parameters
will be tested in the following chapters but, because of the limited computational resources we
had at our disposal, not in its globality: some constraints were imposed on the kinematics in
Chapter 4 and only 3 muscles wrapping the right ankle were taken into account in Chapter 5.
Note that these limitations will not prevent from demonstrating the feasability of the methods
employed in these 2 chapters to generate kinematic walking pattern and muscular activation
patterns respectively.
CHAPTER 4
Generation of a kinematic walking pattern
The ultimate simulation which should be performed with the previously multibody model
consists in the determination of the 88 activations signals responsible for the dynamics of
walking. As the outputs of the model are known or at least approximations of these outputs,
an inverse methodology has to be employed in order to determine which inputs can generate
the expected outputs. More precisely and as depicted in Fig. 4.1, the walking kinematics,
foot-ground forces and energy expenditure can be measured and the model has to reproduce
them. Moreover, periodicity has to be respected.
Figure 4.1: Principle of inverse methodology
Concerning the mathematical tool which was employed to manage the inverse method, the
design of a controller was judged difficult and very few likely to reproduce the physiological
behaviour. That is the reason why optimization was preferred.
In order to validate the (sub)model(s) created in the precedent chapter, we preferred to split
the global problem of walking simulation into two subtasks but the same inverse methodology
was employed in both cases. In this chapter, we are going to describe the first of both. It aims
to generate a stable and periodic walking pattern by imposing the kinematics of the lower limbs
79
80 4. GENERATION OF A KINEMATIC WALKING PATTERN
without any activation of the muscles, the global movement being initiated by the contact with
the ground. The following chapter will be dedicated to the actuation by the muscles, allowing
to re-generate the walking pattern determined hereafter.
4.1 Experimental background
We had at our disposal a set of experimental data (kinematics and resultant of the foot-ground
forces sampled at 60 Hz as already mentioned) coming from an example of the OpenSim
software ( [OPENSIM@net]) and corresponding to a walking cycle Te of 1.2 s. Details can not
be given about the measurement of the experimental data (kinematics and foot-ground forces)
provided from the OpenSim example: body height, body weight, segment sizes are unknown;
the experimental equipment and setup are not described either. It is sure however that the
available experimental data were filtered using a low-pass filter, but it is not known if the
kinematics was corrected using a kinematic identification process (as the solidification process
mentioned in [RAISON2010] aiming to correct the experimental change in segment lengths,
given that the human segments are slightly deformable unlike the rigid model).
However, whatever their origin and the postprocessing, the experimental data were not
appropriate for our musculoskeletal model (cf. Fig. 4.2). This model, developed as explained
in the previous section, is a generic symmetric model: its segment lengths, masses and inertia
parameters do not match the experimental ones measured on an actual guinea-pig. In case of
Figure 4.2: Input of the experimental data in the musculoskeletal model: motion in the sagittal
plane
a forward dynamic simulation of walking, imposing the experimental kinematics of the lower
limbs, ensuing from a measurement campaign, always leads to a quick unsteadiness and a fall
of the body. Even by making the experimental kinematics symmetric by averaging the right
and left joint angles or by adapting the numerical model to the real size of the unsymmetric
experimental body, the simulation does not reach a stable and periodic walking. With a forward
dynamic model, any discrepancy from the correct stable kinematics can not be tolerated.
In this chapter we are going to show that kinematics, which is appropriate for a set of segment
lengths, i.e. generates forces such as the pelvis describes a natural stable motion, can be
determined by adapting an experimental data set by means of an optimization process.
4.2. General description of the optimization procedure 81
4.2 General description of the optimization procedure
The goal of the optimization procedure consisted in finding the leg kinematics, assumed
symmetric and adapted from the experimental one, which allowed to simulate a stable and
periodic walking. A tradeoff is actually sought between the guarantee of periodicity in the
motion and the fitting of experimental angles and foot-ground normal forces (cfr Fig. 4.3). The
Figure 4.3: Principle of the optimization procedure related to the generation of a kinematic
pattern
leg kinematics was imposed (or locked) at the three kinematic levels (position, velocity and
acceleration). As we rather sought to demonstrate the feasibility of our approach and due to
our limited computational resources, some simplifications were made. They are explained in
this section and in Section 4.3.
All the configuration parameters related to the leg kinematics were not subject to optimiza-
tion. In fact, for a reason of numerical complexity and in order to avoid interminable simulations
with the computer cluster we had at our disposal, the number of “optimized” degrees of freedom
had to be lower than the total number of “locked” degrees of freedom. More specifically, only
the 3 degrees of freedom of the right leg (hip angle in flexion-extension, knee angle and ankle
angle (cfr Fig. 4.3)), included in the sagittal plane and called “sagittal angles” for this reason,
were “adapted”, i.e. parametrized.
qlocked and optimized
(t) = function(design variables) (4.1)
The ones of the left leg were simply shifted by half a period to ensure the left-right symmetry
and did not involve new parameters.
The other lower limb angles (allowing for the abduction-adduction and rotation movements
of the hips and the subtalar motion) and the configuration parameters describing the motion of
the trunk were completely defined once and for all. As their variations are very low, we decided
to interpolate them from the experimental data. The whole kinematics we had at our disposal
was sampled at 60 Hz over the gait cycle lasting 1.2 s. So, 72 measurement data-points were
82 4. GENERATION OF A KINEMATIC WALKING PATTERN
at our disposal for each of the configuration parameters. This experimental kinematics was
slightly modified so as to ensure the periodicity over the period or the half-period, the left-right
symmetry and the mirror symmetry (cf. Table 4.1) and was used to express:
qlocked but not optimized
(t) = I(qexperimental
, t) (4.2)
where I is the interpolation function ”gsl interp cspline periodic” of the GSL library
( [GSL@net]). Actually the employed interpolation type is a cubic spline with periodic
boundary conditions. The resulting curve is piecewise cubic on each interval, with matching
first and second derivatives at the supplied data-points. The initial and final derivatives are
also continuous. In order to avoid that the resulting periodic interpolation has a discontinuity
at the boundary, the last point in the data must have the same y-value as the first point.
Taking into account the configuration parameters whose motion is imposed (locked), only 8
degrees of freedom (dof) are actually involved in the integrated equations of motion: the six dof
describing the motion of the pelvis with respect to the ground, and the two dof related to the
rotation of the right and left sets of toes with respect to the feet.
The time history of these configuration parameters is then not optimised but serves a a mea-
surement for the quality of the walking kinematics. However, their initial values and velocities
are also unknown and then included in the design variables of the optimization process.
qunlocked
computed from Eq. 3.2 with q0and q
0(4.3)
All these considerations are summarized in Fig. 4.4 and in the three last columns of
Table 4.1 for the different motion-related configuration parameters. It appears that, in the 23
configuration parameters, 6 are locked and optimized (red color in in Fig. 4.4), 9 are locked
and non optimized (magenta color in Fig. 4.4) and 8 are free with optimized initial conditions
(blue color in Fig. 4.4).
4.3 Simplification of the musculoskeletal model
Some simplifications were brought to the musculoskeletal model developed in Chapter 3.
They principally concern the application of the passive joint moments and the insertion of
the muscles. The gravity was obviously taken into account. With regard to the foot-ground
contacts and the foot modelling, the model described in Section 3.4.3 was used in its integrality
without any limitation.
4.3.1 Passive joint moments
The passive joint moments excepted the toe ones were not computed in the optimizaton process:
it was not useful because the joint movements were imposed 1. By doing this the size of the
system to be solved was decreased since the Amankwah’s ordinary differential equations were
1This assumption is not exactly true for all the joints. We will clarify this statement in Section 4.4.6.
4.3. Simplification of the musculoskeletal model 83
Figure 4.4: Description of the system employed in the optimization procedure
84 4. GENERATION OF A KINEMATIC WALKING PATTERN
not taken into account. This allowed to shorten the simulation duration.
After the optimization, the computation of the passive joint moments was included in a simula-
tion aiming to check the result and display the quantities presented hereafter (postprocessing).
Taking the passive joint moments into account allowed to compute the torque and power gener-
ated by the muscles in the joints and not only the net torque and power. Actually one simulation
alone was not sufficient.
The initial passive joint moments, i.e. the initial conditions of Eq. 3.19, are a priori unknown.
By realizing several consecutive simulations and by employing the final passive joint moments
of the last completed simulation as new initial conditions we managed to get a periodicity in
the curves as illustrated in the Section 4.4.6 presenting the results. It is not the case for the
toe passive joint moments which were integrated in the optimization phase so as to ensure the
damping of the system and the stability of the simulation.
4.3.2 Muscles
There are no reasons to include the muscles in the model since the actuation of the skeleton is
not realized physiologically but instead by constraining the leg kinematics.
4.3.3 Resulting system
During the optimization process, a 23 dof system was simulated. Among all these motion-related
degrees of freedom, only 8 configuration parameters were really solved. The postprocessing
process embedded 12 supplementary equations and as many unknowns related to the passive
joint moments.
4.4 Optimization and simulation
By means of a dynamic model and an optimization procedure, it was attempted to generate,
based on experimental data, a stable and periodic walking. The motion resulted from the
imposed and parametrized actuation of the segments via the interactions with the ground
and was influenced by the initial conditions. The employed procedure consisted in searching
a tradeoff between the following three sets of quantities: the time history of the sagittal leg
angles, the time history of the foot-ground normal forces and the periodicity in the motion.
4.4.1 Design variables
The angles describing the kinematics in the sagittal plane are subject to optimization, i.e. the
flexion-extension hip angle, the knee angle and the ankle angle. In order to decrease the number
of design variables and so the complexity of the optimization without losing the quality of the
signal representation, we used the developments in Fourier series, expressed as
qlocked and optimized = A0 +
Nk∑
k=1
(Ak · cos(k · 2πTe
· t) +Bk · sin(k · 2πTe
· t)) (4.4)
4.4.Optim
izationandsim
ulatio
n85
dof Imposed (locked)? Optimized? Initial conditions optimized ? Movement property
Position Velocity
PELVIS tX No No No Yes -
PELVIS tY No No Yes2 Yes -
PELVIS tZ No No No Yes -
PELVIS rX No No Yes Yes -
PELVIS rY No No Yes Yes -
PELVIS rZ No No Yes Yes -
R HIP flex Yes Yes No No Periodicity (Te) and left-right symmetry
R HIP add Yes No No No Periodicity (Te) and left-right symmetry
R HIP rot Yes No No No Periodicity (Te) and left-right symmetry
R KNEE ang Yes Yes No No Periodicity (Te) and left-right symmetry
R ANKLE ang Yes Yes No No Periodicity (Te) and left-right symmetry
R SUBT ang Yes No No No Periodicity (Te) and left-right symmetry
R MTP ang No No Yes Yes -
L HIP flex Yes Yes (by symmetry) No No Periodicity (Te) and left-right symmetry
L HIP add Yes No No No Periodicity (Te) and left-right symmetry
L HIP rot Yes No No No Periodicity (Te) and left-right symmetry
L KNEE ang Yes Yes (by symmetry) No No Periodicity (Te) and left-right symmetry
L ANKLE ang Yes Yes (by symmetry) No No Periodicity (Te) and left-right symmetry
L SUBT ang Yes No No No Periodicity (Te) and left-right symmetry
L MTP ang No No Yes Yes -
TORSO bending Yes No No No Periodicity (Te) and mirror symmetry
TORSO rotation Yes No No No Periodicity (Te) and mirror symmetry
TORSO extension Yes No No No Periodicity (Te/2)
Table 4.1: Status of the degrees of freedom in the optimization process
2Actually the initial penetration of the lowest ellipsoid of the left foot was ptimized at position level instead of PELVIS tY.
86 4. GENERATION OF A KINEMATIC WALKING PATTERN
where the Fourier coeffcients A0...Nkand B1...Nk
represent the 2 ·Nk+1 design variables. Thanks
to this formulation and , only 11, 11 and 17 parameters were necessary to approximate the
experimental flexion-extension hip angle, knee angle and ankle angle respectively. In order to
be general and accurate enough one harmonic was added, meaning two more parameters per
angle. Finally, “only” 45 parameters were used to describe the time history of the three angles
of one leg.
Of course the symmetry left-right is taken into account on the whole cycle by expressing that
qL(t) = q
R(t− Te
2) (4.5)
From the total set of the 16 initial conditions related to the unlocked configuration parame-
ters, only 14 must be considered:� 6 parameters at the position level. Concerning the hip only 4 parameter must be taken in
consideration: the x and z hip initial positions ((PELV IS tX)0and (PELV IS tZ)0) are
arbitrary and then not subject to optimization. Rather than the hip y-height we preferred
to use the penetration of the left foot in the ground, the right one being in the swing phase.
One parameter was added for the angle describing the position of each set of toes.� 8 parameters at the velocity level: 6, i.e. all, for the hip and 1 for each set of toes.
The list of the design variables can be found in Table 4.4.
4.4.2 Cost function
The cost function can be seen as a sum of three subfunctions expressing that the optimization
constitutes a trade-off between kinematics, foot-ground forces and generation of a stable and
periodic walking. The minus sign in the following relations is due to the fact that the optimiza-
tion consists in a maximization.
The generated kinematics has to be a slight adaptation, not too far away from the experimental
one. So, the first subfunction can be formulated like this
CFKin = −Te∑
(t=0,∆t,2∆t,...)
∑
(i:qlocked and optimized)
(
qi(t)− qi,ref (t)
|qi,ref (t)|+ 1
)2
(4.6)
The second subfunction expresses that the difference between the simulated and experimental
forces has to be the lowest possible
CFForces = −Te∑
(t=0,∆t,2∆t,...)
∑
(j:L and R sides)
(
(‖Fj(t)− Fj,ref (t)‖body weight
)2
+ PT
)
(4.7)
The term PT is a penalty term which is added every time an ellispoid is in contact with the
ground while it should not. The purpose is to prevent the foot from dragging the floor during
the swing phase.
PT =
{
0 if ‖Fj,ref‖ 6= 0
KPT · (nbr of ellipsoids in contact) else(4.8)
4.4. Optimization and simulation 87
The third term represents the periodicity which is really critical if we want to get a stable
repetitive process. Observe that the considered configuration parameters are only the ones
which are not locked during the simulation.
CFPeriodicity = −∑
(k:unlockedq)
[Kk ·Kpos ·(
2 · (qk(Te)− qk(0))
1 + |qk(Te) + qk(0)|
)2
+Kdk ·Kvel ·(
2 · (qk(Te)− qk(0))
1 + |qk(Te) + qk(0)|
)2
+Kddk ·Kacc ·(
2 · (qk(Te)− qk(0))
1 + |qk(Te) + qk(0)|
)2
] (4.9)
Different weights are given depending on the considered level (position, velocity or acceleration)
thanks to Kpos, Kvel and Kacc; Kk, Kdk and Kddk allow to emphasize even more the weight of
some degrees of freedom individually and even possibly at the position, velocity or acceleration
level. For the position level the translation along x does not have to be considered since there
is no periodicity: the body moves forward. A supplementary term was included to control that
the z coordinates of the pelvis at Te and Te/2 are mirror of each other with respect to the mean
z value.
Finally, it comes
CF = wKin · CFKin + wForces · CFForces + wPeriodicity · CFPeriodicity (4.10)
where a predominant importance is given to the forces and the periodicity criterion thanks to
wForces and wPeriodicity ≫ wKin.
Note that this expression is valid when the simulation performs without any trouble but if the
convergence is not reached (numerical trouble) or if the pelvis moves away from its reference
trajectory (or in other words if it moves as if it was going to fall) then the simulation is
interrupted and a huge penalty term is added3, depending on the interruption time Tinterruption.
The values of all the weights and penalty terms are provided in Table 4.2.
Note:
We would like to draw the reader’s attention to the fact that our optimization should clearly be
formulated as a multiobjective problem in the following form
minx
(CFKin(x), CFForces(x), CFPeriodicity(x)) | xl ≤ x ≤ xu (4.11)
with xl and xu the vectors gathering the lower and upper boundaries respectively for the
optimization design variables x.
Instead of a unique solution, the solution to this kind of problem is a set of Pareto points for
3Note that, in case of an optimization with a genetic algorithm, the selection process of the genetic algorithm
gives few importance to an individual characterized by an extremely low value of the fitness function and its
genome is rejected at the next generation.
88 4. GENERATION OF A KINEMATIC WALKING PATTERN
KPT = 50
Kpos = 10, Kvel = 1 and Kacc = 0.1
Unlocked dof Kd = Kd = Kdd [ ]
xPELV IS 500
yPELV IS 500
zPELV IS 2500
θxPELV IS 25
θyPELV IS5
θzPELV IS 5
θRTOES 5
θLTOES 5wKin = 1.5, wForces = 50 and wPeriodicity = 50
Penalty term= 1 · 107 · (Te − Tinterruption) + 5 · 107
Table 4.2: Weights and penalty term
which improvement in one objective can only occur with the worsening of at least one other ob-
jective. So, a Pareto selection procedure should be used for more performance. But unhappily,
even if such a procedure is included in the software4 we used for our optimization, it can not be
applied with the parallel subroutines which were necessary to perform the optimization in a rea-
sonable simulation duration. That is the reason why we formulated the cost function as Eq. 4.10.
4.4.3 Optimization algorithm
Knowing that we were going to face an optimization with a large number of design variables
and the possibility to get stuck in one of the numerous local minima it seemed to us more
judicious to avoid the methods with computation of derivatives and the other ones converging
to local minima: i.e. the Newton’s, gradient descent, conjugate gradient, ... methods which
are not appropriate to face our problem. We then decided to employ one of the stochastic
and metaheuristic global optimization methods among which the simulated annealing, direct
Monte-Carlo sampling, particle swarm optimization, ant colony optimization, evolutionary
strategies, ... can be cited. We finally pitched on an evolutionary algorithm and more precisely
on a genetic algorithm owing to their robustness. This property had already been experienced in
our department. However we were also aware of their drawback: the large search space defined
from the large number of design variables highly penalizes the method causing longer duration
of the optimization process. The genetic algorithm was completed with an evolutionary strategy
taking charge of the local search.
Let us describe the Darwinian principle of the genetic algorithms. A population of chro-
mosomes, encoding candidate solutions to an optimization problem, evolves generation after
generation toward individuals better fitted to their environment. The genetic representation
of the solution is traditionally produced with discrete values by means of bit strings (sets of
1 or 0) but other representations may be used. Usually the individuals (solutions) of the first
population are generated randomly (“seeding”). Afterwards the evolution occurs during the
successive generations. In each generation, the fitness is assessed for every individual and the
4The software is GAUL (cf. Section 4.4.3 and [GAUL@net]) and the implemented Pareto procedure is called
with the parameter GA ELITISM PARETO SET SURV IV E.
4.4. Optimization and simulation 89
best fitted individuals are preferably selected for reproduction. The genetic algorithms avoid
taking only the best fitted individuals of the population but rather perform a random (or
semi-random) selection with a weighting toward those that are better fitted. The purpose of
such a selection is to maintain a diversity in the population and to avoid to converge to a local
minimum. These selected individuals are modified by means of the crossover and mutation
operators to form a new population which is used in the next iteration and whose “child”
solutions share many of the characteristics of their “parents”. A strategy of elitist selection is
sometimes employed to permit some of the current best individuals to carry over into the next
generation, unaltered. The genetic algorithm stops when either the fitness of the best individual
has reached a satisfactory level or the maximum number of generations has been reached.
Although crossover and mutation are known to be the main genetic operators, it is possible to
use another operator such as migration provided that several populations, called islands, are
used. After a certain number of iterations, the genetic patrimony of a certain percentage of
the individuals of each island is transfered to another one. This strategy, named “island model
genetic algorithm”, helps to preserve the genetic diversity since each population can potentially
evolve differently.
The library we chose for our optimization, implementing a genetic algorithm strategy, is
called GAUL ( [GAUL@net]). Let us describe concretely its characteristics and the options and
parameters we set up to complete successfully our optimization.
GAUL presents the following advantages: opensource, C written and supporting directly the
parallel computing on a distributed architecture system (thanks to the Message Passing Inter-
face (MPI) protocol5).
We used the parallel island-based genetic algorithm offered by GAUL by defining 6 islands,
exchanging 10 % of their chromosomes every 45 iterations.
For each individual, the 59 design variables are represented by means of a bit string and, conse-
quently, was evaluated with discrete values, causing a certain degree of imprecision (see Section
4.4.4). Each population size was set equal to twice the total number of bits used to make up
the chromosome. Initially the individual solutions were randomly generated to form the initial
population, covering ideally the entire range of possible solutions.
The first step related to the breeding concerns the selection. The selection functions operate
stochastically and are designed so that a small proportion of worst fitted solutions is selected.
This helps in maintaining the diversity of the population large and preventing premature con-
vergence to poor solutions. Several of the popular and well-studied selection methods are imple-
mented in GAUL (the roulette-wheel selection, stochastic universal sampling and tournament
selection). We decided to employ the methods where one entity or a pair of entities are selected
by pairwise tournament. Moreover, let us mention that elitism is used: the single best fitted
parent will pass to the next generation if it ranks sufficiently well.
The following steps consist in generating the next population of solutions from the selected pool
of individuals through genetic operators: crossover and/or mutation.� Crossover: crossover operators are applied to generate 80 % of the chromosomes of the
new population. Selected pairs of “parent” chromosomes are randomly split in several
brands which are swapped to produce pairs of ”child” solutions. Thanks to this operator,
the exploration of the search space is normally ensured.
5Note that other protocols exist in GAUL for other parallel computer architectures.
90 4. GENERATION OF A KINEMATIC WALKING PATTERN� Mutation: mutation operators are applied to 15 % of each population of chromosomes and,
for each of these selected chromosomes, perturb multiple bits6 by changing their original
state randomly according to an allele mutation probability. Thanks to this operator,
genetic diversity is preserved from one generation to another and convergence to local
minima is avoided.
In GAUL, the traditional Darwinian scheme of any genetic algorithm can be completed by a
Lamarckian evolutionary scheme or a Baldwinian one for the purpose of efficiency, as explained
in the following quotation extracted from the GAUL’s tutorial:
If learning helps survival or procreation, then the individuals which are best able
to learn will have the most offspring. Therefore, the genes responsible for learning
will be more frequent in future generations. This concept is known as the Baldwin
effect.
The largely discredited, but well-known, Lamarckian hypothesis states that traits
acquired during the lifetime of an organism may be genetically transmitted to its
offspring. Although the required mechanism for “reverse transcription” of acquired
traits into the individual’s genes does not exist in nature, computationally it may
form the basis of very powerful optimisation procedures. In essence what these
definitions mean computationally is:� The “Darwin” variant simply decodes the chromosomes and then scores them.� The “Lamarck” algorithm decodes the chromosomes and optimises obtained
parameters, the phenome. The optimised version is scored and the genetic data
is reevaluated to encode this instead.� The “Baldwin” variant decodes and optimises as with the “Lamarck” variant,
the optimised phenome’s score is applied, but the original genetic data is left
intact.
A published study ( [HINTON1987]) investigated how learning can reshape the fit-
ness landscape, since an individual’s fitness will consist of a genetic contribution and
a learnt contribution. If learnt traits have a significant impact on the fitness and if
this contribution is fairly stable over time, then there will be a selective advantage
to have a genetic predisposition for learning, and this may eventually lead to devel-
opment of the learnt traits to be genetically encoded. This can occur without the
use of Lamarckian mechanisms, since the Darwinian selection pressure is sufficient.
In our model, we decided to use the Baldwinian effect and in our implementation, the
local search, realized after the decoding of the chromosome, consisted in a random slight vari-
ation of one parameter, scaled according to the bit resolution and randomly positive or negative.
The GAUL parameters of the genetic algorithm are summarized in Table 4.3. Their val-
ues are inspired from literature ( [DATOUSSAID1998], [DATOUSSAID2001] and [MCGIN-
LEY2008]) and GAUL’s examples.
6Note that GAUL also allows to only change one bit per chromosome.
4.4. Optimization and simulation 91
Parameters Value (global or peculiar to each island)
optimization scheme parallel island-based genetic algorithm coupled to
an evolutionary scheme: GA SCHEME BALDWIN CHILDREN
parallelism implementation MPI: ga evolution archipelago mpi
chromosome type bitstring
initial population seeding randomly: ga seed bitstring random
population size 2 ·Ntot bits = 1178 individuals
elitism ? yes: GA ELITISM ONE PARENT SURV IV ES
selection operator ga select one bestof2, ga select two bestof2
crossover ratio [ % ] 80
crossover operator ga crossover bitstring allele mixing
mutation ratio [ % ] 15
allelle mutation probability [ ] 1nbr of bits
0.02 (default) 1nbr of bits
0.02 1nbr of bits
0.02
mutation operator ga mutate bitstring multipoint
island number [ ] 6
migration interval [nbr of iterations] 45
migration ratio [ % ] 10
Table 4.3: Genetic algorithm parameters
4.4.4 Range and precision
We imposed some constraints in the variation of the design variables which were assessed with
a limited number of bits. For some design variables the limitation was made in a purpose of
simplification of the optimization process. A variation of 20% with respect to the reference
parameter (computed from the experimental data set) was allowed for the Fourier coefficients
except if the absolute value was lower than 0.2 rad: in this case it was assumed that the sign
could be wrong. So for instance,
if |Ak,ref | ≥ 0.2 rad : Ak ∈ [0.8 ·Ak,ref , 1.2 · Ak,ref ]
else : Ak ∈ [−1.2 ·Ak,ref , 1.2 · Ak,ref ] (4.12)
For other design variables, namely the parameters related to initial conditions, the range was
constrained for a physical reason: the joint can not be opened or closed beyond a certain angle
or the rate has to be realistic.
Once the range [Min V alue,Max V alue] was established and the precision chosen by the
tolerance Tol, the number of bits was calculated by:
nbrbits = (integer ≥ ln(Max V alue−Min V alueTol
+ 1)
ln(2)) (4.13)
or arbitrary imposed. A total of 589 bits for 59 design variables are subject to optimization.
Table 4.4 presents the range, tolerance and precision used in our simulation to describe the
design variables.
4.4.5 Optimization process
A normal simulation for each individual lasted between 10 and 15 s. Actually some simulations
were shorter because they were purposely crashed when the pelvis moved too much away from
92 4. GENERATION OF A KINEMATIC WALKING PATTERN
its reference motion. Let us assume arbitrary 15 seconds for each simulation. So, for 6 six island
populations of more than 1000 individuals each and assuming for example that 2000 iterations
would be necessary to reach the convergence, then the total simulation duration on a unique
processor would be of 212040000 s (i.e. about 2454 days or almost 7 years)! Since we faced
4.4.Optim
izationandsim
ulatio
n93
Design variables x [Min,Max] = [xl,xu] [unity] Tol [unity] nbr of bits [ ]
Fourier coefficients Ak and Bk [Eq. 4.12] - 10
Initial penetration of the
lowest ellipsoid
of the left foot [0.0025, 0.0055] [m] 0.5 · 10−5 [m] 10
(PELV IS rX)0 [−0.065100653876321, 0.091978978803168] [rad] π/180 · 0.05 [rad] 8
(PELV IS rY )0 [−0.22320032071214,−0.066120688032655] [rad] π/180 · 0.05 [rad] 8
(PELV IS rZ)0 [0.010711545080838, 0.16779117776033] [rad] π/180 · 0.05 [rad] 8
(R MTP ang)0 [−0.28465293717043,−0.022853549371282] [rad] π/180 · 0.05 [rad] 9
(L MTP ang)0 [0, 0.55589285669187] [rad] π/180 · 0.05 [rad] 10
( ˙PELV IS tX)0 [0.5, 1.5] [m/s] 1 · 10−4 [m/s] 14
( ˙PELV IS tY )0 [−0.15, 0.15] [m/s] 1 · 10−4 [m/s] 12
( ˙PELV IS tZ)0 [−1.2683112087416,−0.2683112087416] [m/s] 1 · 10−4 [m/s] 14
( ˙PELV IS rX)0 [−0.9,−0.31424968023803] [rad/s] π/180 · 0.1 [rad/s] 9
( ˙PELV IS rY )0 [0.76574553517325, 0.7] [rad/s] π/180 · 0.1 [rad/s] 6
( ˙PELV IS rZ)0 [−0.078379263894012, 0.3] [rad/s] π/180 · 0.1 [rad/s] 8
( ˙R MTP ang)0 [−2.6179938779909, 2.6179938779909] [rad/s] π/180 · 0.1 [rad/s] 12
( ˙L MTP ang)0 [0, 2.6179938779909] [rad/s] π/180 · 0.1 [rad/s] 11
Table 4.4: Design variables: range, precision and number of bits
94 4. GENERATION OF A KINEMATIC WALKING PATTERN
a computationally very expensive problem, high-performance computing (HPC) ressources had
to be used. Computation had to be parallelized insofar as possible. Obviously the individuals
are completely independent of each other, so the simulations for each individual (evaluation
of their cost function included) could be realized on different computers. A central processor
received the values of the cost functions, managed the synchronization, generated the updated
populations by means of the genetic operators and returned the new solutions to the pool of
computing processors.
The cluster we used is the IG cluster hosted in the Department of Computer Engineering
and Management, University of Mons, Hainaut, Belgium. This cluster is mainly composed of
two pools of computer units: 8 nodes Opteron 244 (bi-processor 1.8 GHz, 2 GB RAM) and 10
nodes Xeon L5420 (bi-processor quadri-core 2.5 GHz, 16 GB RAM). A computer unit dedicated
to GPU computing is also available: its processor is a Xeon L5420 processor (32 GB RAM) and
it contains a NVIDIA Tesla S1070 which is able to run 960 parallel threads but this technology
was not used in our simulation. The job sharing between the different researchers and the
different projects is managed by the resource manager Sun Grid Engine.
80 cores were used for our simulation. However this computational power is really below the
needs of the simulation: actually more than 1000 cores would be necessary to run totally in
parallel all the individuals of each island population. But the use of the cluster was free of
charge and this was a weigthy reason when the main goal is to prove the feasibility of the method.
2500 iterations on the 6 island populations of 1178 individuals each (and 2 months of
simulation on the cluster7) were judged sufficient to consider that the convergence was reached
(as showed in Fig. 4.5). At the end of the optimization process, the best individual provided
the results presented in the following subsection and the relative contributions of the three
objectives to its fitness function (cf. Eq. 4.10) are showed in Table 4.5. We clearly emphasized
Objective Relative contribution [%]
Kinematics 0.00777760887746771
Forces 10.7570927129414
Periodicity 89.2351296781811
Table 4.5: Relative contributions of the three objectives to the fitness function
the periodicity term and almost dropped the kinematic one. The periodicity was judged crucial
and in opposite, the kinematics was considered already restricted by the limited ranges allowed
for the Fourier coefficients.
For each simulation, a system of 23 degrees of freedom was solved but as previously
explained only 8 degrees of freedom were unlocked and then really computed: those of the
pelvis (6) and toes (2), since the other ones were imposed. The solver parameters used for the
7In order to reduce the duration of the whole optimization process it is obvious that any reduction of the
duration of the individual simulations is beneficial. For this purpose the recursive coordinate reduction method
( [SICILIANO]), featuring a forward recursion relative to the propagation of velocities and accelerations and
a backward recursion for the propagations of forces and moments along the kinematic chains, should allow to
save time with respect to the simulations realized with the help of the not optimally efficient EasyDyn library.
Unhappily this method is not compatible with the minimal coordinates used in EasyDyn.
4.4. Optimization and simulation 95
10000
100000
1e+06
1e+07
1e+08
0 500 1000 1500 2000 2500
Number of iteration [ ]
|fitness|
[]
Population 1
Population 2
Population 3
Population 4
Population 5
Population 6
Figure 4.5: Fitness convergence
each simulation are presented in Table 4.6.
Parameter Value [unity]
Simulation time 1.2 [s]
Save data interval 5 · 10−3 [s]
Maximum time step 1 · 10−3 [s]
Table 4.6: Solver parameters used for each individual simulation
After global convergence, when it was time for postprocessing to check the relevancy of the
optimization, the passive joint moments were taken into account, adding 12 equations (one for
each of the 12 right and left joints modelled with the Amankwah’s equation 3.19) and increasing
somewhat the simulation duration.
4.4.6 Results
We are going to present some of the results by focusing on the relevant data. The final result we
get is very satisfying knowing that the initial seeding of the design variables in their range was
done totally randomly or in other words, that the experimental data set was not taken as a start-
ing point for the optimization. Note that this constitutes a proof of the robustness of the genetic
algorithms. In this section we are going to focus much more on the data and results related
to the ankle joint since they will be useful in the next chapter. The equivalent results for the
other joints of the sagittal plane (hip and knee in flexion-extension) can be found in Appendix D.
Let us start with the kinematics of the sagittal angles of the right leg which were subject to
optimization. Fig. 4.6 displays them along with the experimental values of the same quantities.
We clearly see that the kinematics was slightly adapted but do not forget that this discrepancy,
96 4. GENERATION OF A KINEMATIC WALKING PATTERN
-80
-60
-40
-20
0
20
40
0 0.2 0.4 0.6 0.8 1 1.2
T ime [s]
Angle
[◦]
Experimental R HIP flexion
Experimental R KNEE ang
Experimental R ANKLE ang
Optimized R HIP flexion
Optimized R KNEE ang
Optimized R ANKLE ang
Figure 4.6: Comparison of the experimental and optimized sagittal angles (right hip, knee and
ankle)
even slight, is responsible for the improvement in the periodicity of the walking process as it
can be seen in Fig. 4.7. The upper part of this figure (4.7(a)) illustrates the displacement in
(a) Experimental data
(b) Optimization result
Figure 4.7: Motion in the sagittal plane
4.4. Optimization and simulation 97
the sagittal plane based on the experimental data: an off balance is visible and the body falls
at the end of the simulation. So, the movements in the frontal and transverse planes are not
periodic either. The lower part (4.7(b)) shows the periodicity of the motion and visually proves
the efficiency of the optimization procedure.
However this periodicity is not perfect, principally in the frontal plane, as shown in Table 4.7
by the values of the pelvis and toes degrees of freedom presented for the position level at the
initial, half period and period times. The opposite (the perfection of the motion periodicity)
would have been surprising, considering the fact that the result is a tradeoff between the
motion periodicity and the other criteria. Actually the legs tend to walk to the right with the
pelvis remaining on the left and revolving negativley around its x and y axes at the same time.
However the results are much better than with the pure experimental data set. The periodicity
at the velocity and acceleration levels is found in Appendix D (see Tables D.1 and D.2).
Parameter t = 0 t = Tcycle/2 t = Tcycle
PELV IS tY [m] 0.9482 0.9607
PELV IS tZ [m] 0.0261 −0.0135
PELV IS rX [deg] 5.13 −5.35
PELV IS rY [deg] −6.82 −14.51
PELV IS rZ [deg] 9.51 6.94
R MTP ang [deg] −5.92 9.09 −9.36
L MTP ang [deg] 17.65 −10.64 4.37
Table 4.7: Periodicity of the dof related to the pelvis and toes (position level)
The imperfection of the motion must not be explained by a convergence to a local maximum
since the genetic algorithms naturally avoid that.
The ranges of variation of the optimization are possibly not chosen correctly: they were defined
around the experimental values but the latter may have been measured with errors. In this
case, if the ranges are not important enough, the initial conditions will never lead to a periodic
and stable walking. This actually happened for three of the design variables, as shown in
Table D.3 of Appendix D where the gray highlights mean that the design variables have values
located on (or near to) the boundaries of their variation range. These three design variables are
a Fourier coefficient AKNEE angle3 , the initial penetration of the lowest ellipsoid of the left foot
and the initial velocity ˙(PELV IS tZ)0.
Concerning the discretization of the design variables with a reduced number of bits, preventing
their continuous variation, we really think that this does not constitute a drawback and the
number of bits was chosen important enough for all the variables.
In our opinion, the foot model as implemented is not a stable and “flat” enough support when
the heel hits the ground (only one contact point at this moment) and when the foot-ground
force is mainly supported by the back part of the foot. The following modification, inspired
from ( [GILCHRIST1996] or [ANDERSON2001]), should bring an improvement: we should
modify slightly the shape of the heel ellipsoid, shift it lateraly to the left for example and add
an identical one on the right side of the first ellipsoid.
The toes have their part of responsability in the nonperiodicity too even if their masses are
negligible: they act like pendulums at the extremities of the calcaneus segments and their free
motion is simply damped by means of the passive joint moments without any actuation and
control. Perhaps we should also integrate the torso segment in the optimization process instead
98 4. GENERATION OF A KINEMATIC WALKING PATTERN
of relying on the experimental values, even made periodic and symmetric.
If we now observe the resultants of each of the 6 foot-ground normal forces generated by
the best fitted individual and if we compare them to the experimental data (see Fig. 4.8)
it can be directly noted that the curves resulting from the optimization procedure present
a well-marked peak when the heel touches the ground and oscillations all along the stance
phase which are not visible in the experimental curves. During the take-off the simulated
forces vanish abruptly. Actually the double stance phase is not well reproduced. It is too
short: once a foot hits the ground it disengages the contact of the other foot with the ground.
On one hand we know that our foot model is perfectible: the stiffness of the viscoelastic
elements were determined by using the values of the exponents en and gn (Eq. 3.23) given
in [GUNTHER2003], ensuring that the static deformation of the springs under the body
weight load is physiological and adjusting these values by trials and errors. The damping
was imposed arbitrarily too. So a more refined parametric study should allow to damp the
oscillations and changing the non-linearity of the models (through the exponents) should make
the contact establishement and rupture smoother. On the other hand we really think that the
experimental signals, although similar to those found in the literature, are strongly filtered. In
our opinion the initial impact has to be more marked. Future test in the laboratory of the
Departement of Theoretical Mechanics, Dynamics and Vibrations, UMONS, Mons should be
revealing. Graphs for the tangential forces are presented in Fig. 4.9 and 4.10 but of course,
0
500
1000
1500
2000
2500
0 0.2 0.4 0.6 0.8 1 1.2
T ime [s]
Verticalcompon
ent
oftheresu
ltant
ofthefoot−groundforces
[N]
Experimental, right foot
Experimental, left footOptimized, right foot
Optimized, left foot
Figure 4.8: Comparison of the vertical component of the resultants of the experimental and
optimized foot-ground forces (right and left)
they do not show better fitting since these forces are correlated with the normal one (Eq. 3.24).
Fig. 4.11 allows to check that the penetration of the feet in the ground remain physiological:
values above 6 mm were not encountered in the simulation.
Let us now have a look at the passive joint moments computed from the model for the
right ankle and toe joints (Fig. 4.12 and Fig. 4.13). You can see that the multiple successive
simulations after the optimization phase ensure a rather good periodicity of the passive joint
4.4. Optimization and simulation 99
-500
-400
-300
-200
-100
0
100
200
0 0.2 0.4 0.6 0.8 1 1.2
T ime [s]
x−tangen
tialcompon
ent
oftheresu
ltant
ofthefoot−groundforces
[N]
Experimental, right foot
Experimental, left footOptimized, right foot
Optimized, left foot
Figure 4.9: Comparison of the tangential component along the longitudinal x axis of the resul-
tants of the experimental and optimized foot-ground forces (right and left)
-600-500-400-300-200-100
0 100 200 300 400
0 0.2 0.4 0.6 0.8 1 1.2
T ime [s]
z−tangen
tialcompon
ent
oftheresu
ltant
ofthefoot−groundforces
[N]
Experimental, right foot
Experimental, left footOptimized, right foot
Optimized, left foot
Figure 4.10: Comparison of the tangential component along the transversal z axis of the resul-
tants of the experimental and optimized foot-ground forces (right and left)
100 4. GENERATION OF A KINEMATIC WALKING PATTERN
0
0.001
0.002
0.003
0.004
0.005
0.006
0 0.2 0.4 0.6 0.8 1 1.2
T ime [s]
Pen
etration
∆n[m
]
R HEEL
R HEAD METATARSAL I
R HEAD METATARSAL IV
R TOE I
R TOE II
R TOE III
Figure 4.11: Penetration of the contact points of the right foot
-7
-6
-5
-4
-3
-2
-1
0
1
-8 -6 -4 -2 0 2 4 6 8 10 12
R ANKLE ang [◦]
Passivejointmoment[N
m]
Right ankle in flexion-extension
Figure 4.12: Passive joint moments for the right hip in flexion-extension= f(R ANKLE ang)
(AMANKWAH2004’s model, Eq. 3.19)
4.4. Optimization and simulation 101
-1.4
-1.2
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
-20 -10 0 10 20 30 40 50
R MTP ang [◦]
Passivejointmoment[N
m]
Right metatarsophalangeal joint
Figure 4.13: Passive joint moments for the right metatarsophalangeal joint= f(R MTP ang)
(Personal model)
moments if the joint motion is periodic. The passive joint moments for the hip and knee
movements in the sagittal plane are visible in Appendix D (Fig. D.1 and D.2).
We have now to correct an assumption which was made in Section 4.3: we claimed that the
passive joint moments (the toe ones excepted) did not have to be taken into account since
the motion of the different joints was imposed. In fact, this is not true for the hip joints:
the pelvis is completely free, so any applied force modifies its dynamics. But happily, their
introduction during the postprocessing showed that the value of the cost function changed
almost insignificantly (< 1�). So, we decided to not rerun the optimization.
The use of a dynamic model has another advantage: quantities as joint torques and power
are easily accessed by simulation while they are sometimes tricky to be measured in vivo.
The simulated ankle torque is plotted in Fig. 4.14 with and without the computation of the
passive joint moments. In the first case the torque corresponds to the real forces produced by
the muscles wrapping the ankle while in the second one the computed torque represents what
we call the net torque. The hip and knee joint torques can also be characterized in the same
way as visible in Fig. D.3 and D.4 of Appendix D. Through all these curves it seems that the
influence of the passive joint moments is minor (excepted maybe for the hip flexion-extension)
and it is difficult to claim that they contribute to save the energy expenditure during walking.
The simulated ankle power, inferred from the computation of the torque and the knowledge of
the imposed articular velocity, is presented in Fig. 4.15 (where the net torque is visible either).
A negative power means, by convention, that the joint produces power to the environment; a
positive value represents an energy absorption. These quantities are compared to the curves
of Fig. 4.16 found in the ANZ software [ANZ@net]. Even if the final part of the simulated
and ANZ stance phases (between 0 and 0.25 s) qualitatively match well, 2 main distinctions
can be observed. First, the initial part of the simulated stance phase occuring around 0.9 s is
characterized by a negative torque while it should be close to 0 Nm according to the ANZ curve.
Secondly, at the end of the stance phase (which was shortened since the double phase is almost
non-existent) at about 0.25 s, the simulated power developed by the ankle is clearly lower than
102 4. GENERATION OF A KINEMATIC WALKING PATTERN
-150
-100
-50
0
50
100
150
0 0.2 0.4 0.6 0.8 1 1.2
Time [s]
Torque[N
m]
L ANKLE muscular torque (simulation)
L ANKLE passive joint torque (simulation)
L ANKLE net torque (simulation)
Figure 4.14: Simulated muscular, passive and net joint torques for the left ankle = f(t)
the value given by the ANZ software. Besides let us mention that the quantitative comparaison
is not direct since the average speeds of walking and body weight are not the same. However
the orders of magnitude seem to be similar. Similar curves of torques and powers are compared
-150
-100
-50
0
50
100
150
0 0.2 0.4 0.6 0.8 1 1.2-200
-150
-100
-50
0
50
100
Time [s]
Torque[N
m]
Pow
er[W
]
L ANKLE net torque (simulation)
L ANKLE net power (simulation)
Figure 4.15: Simulated net torque and power for the left ankle = f(t)
in the couples of Fig. (D.5, D.6) and (D.7, D.8) in Appendix D concerning the hip and knee
joints respectively.
Note that we sought to check whether the ANZ curves were reliable and we compared them to
others found in literature ( [VIEL], [SUP2008], [DOLLAR2007], [VERSLUYS2008]). It turned
out that doubt must not be cast on ANZ. Interestingly, Versluys ( [VERSLUYS2008]) presented
the ankle torque in function of the ankle angle (Fig. 4.17). The counterclockwise rotation of the
hysteresis loop visible in Fig. 4.17 and illustrating the generation of net energy in the ankle, is
4.4. Optimization and simulation 103
-150
-100
-50
0
50
100
150
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-200
-150
-100
-50
0
50
100
Time [s]
Torque[N
m]
Pow
er[W
]
L ANKLE net torque (ANZ software)
L ANKLE net power (ANZ software)
Figure 4.16: Net torque and power for the left ankle = f(t) given by the software ANZ (
[ANZ@net])
Figure 4.17: Ankle torque versus ankle angle [VERSLUYS2008,WINTER] (A: initial heel con-
tact, B: contact of the whole foot sole, C: maximum ankle torque, D: toe-off)
104 4. GENERATION OF A KINEMATIC WALKING PATTERN
not simulated as perfectly in our model (cf. Fig. 4.18). The end of the stance phase and the
double stance phase particularly, corresponding to the part of the curve just before the point D
in the reference figure and located under the x axis in Fig. 4.18, are really problematic.
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
-8 -6 -4 -2 0 2 4 6 8 10 12
R ANKLE ang [◦]
Torque[N
m/kgbodyweight]
Figure 4.18: Simulated ankle torque versus optimized ankle angle
4.5 Discussion and summary
A 3D symmetric multibody model was designed successfully so as to be used in dynamic simula-
tions. A generic method, consisting in searching a tradeoff between the guarantee of periodicity
in the motion and the fitting of the experimental sagittal leg angles and foot-ground normal
forces, was developed in order to generate kinematic walking patterns. Because of computa-
tional burden it was not validated for all the degrees of freedom: we “only” showed in this
chapter that a genetic algorithm is able to generate an approximately periodic walking process
by adapting the experimental patterns of the three sagittal leg angles (hip, knee and ankle) and
trying to fit, at the same time, the experimental normal foot-ground forces. The weigths given
to the three contributions are questionable: we chose to strongly give priority to the periodicity.
Another point of interest concerns the fact that the kinematics has been assessed and optimized
by means of Fourier series for the purpose of simplification. Let us also mention that another
formulation of the cost functions could be more judicious using an inverse function instead of
the opposite and that the denominator (1 + | . . . |) should be modified either.
However the model and the generated walking patterns are not perfect. The variation range of
some design variables could be enlarged. Concerning the foot model designed with viscoelastic
elements, even if we can be satisfied by the fact that it does not cause simulation crashes, it is
perfectible, even qualitatively. As discussed in the Millard’s work ( [MILLARD2009]),
a high-fidelity foot contact model is especially important for a predictive gait simu-
lation: contact forces at the foot will affect the loads at the joints of the legs, and
thus the metabolic cost of the leg muscles. A predictive gait simulation without a
high-fidelity foot contact model could not converge to a ’human-like’ gait.
From our results it is visible that the foot contacts are too stiff and distort the joint torques.
In order to reproduce better the experimental foot-ground contacts and principally the
double stance phases, we strongly believe that, besides the addition of a second viscoelastic
spring-damper at the heel, the forces the model produces must be smoothed by adjusting
4.5. Discussion and summary 105
the stiffness and damping coefficients. Millar’s research ( [MILLARD2009]) showed that it is
important to represent the mid-foot foot pads besides the heel, metatarsal and toe ones in
order to ensure physiological compression levels of the foot pads. So, we should also try to
add mid-foot ellispoids. In our opinion, the fact of modelling the joints (knees and ankles
principally) as rigid is only an approximate assumption: a certain compliance characterizes the
joint and compression does not only occur at the level of the foot pads. A strain-load should be
taken into consideration. Additionally and according to the Millard’s work ( [MILLARD2009])
again, it might be worth to implement a bristle friction model since it was found to predict
friction forces better than a Coulomb friction model.
It is interesting to observe that the periodicity of the motion is better in the sagittal plane.
Enlarging the optimization to all the previously locked degrees of freedom might, perhaps,
allow to get better walking patterns.
These (attempts of) improvements were not brought into the model and we contented ourself
with the obtained results. So far, the model allows to have access to the joint net torques and
powers. By inserting the muscles into it and modelling the muscles force generation it should
be possible to actuate the body segments in a physiological way and try to regenerate the
kinematics which was obtained. The arduous task consists of course in finding what activation
signals have to be sent to the muscles.
A disadvantage of the employed approach resides in the incapacity of generalizing the generation
of kinematic patterns for different walking conditions for which experimental data would not be
available. In order to overcome this limitation and suppress this dependency on experimental
data the solution would be to consider another criterion and define a walking strategy. The
minimization of the metabolic energy expended during the motion seems the obvious choice
but the smoothness of the walking quantified for example by the accelerations at the level of
the head could be relevant. Actually other criteria (like the stability in case of perturbations)
could be taken into account and several of them are simultaneously managed by the human
controllers. Unhappily the real brain strategy is not known yet and the battle to discover it is
still on in the neuroscientist community.
CHAPTER 5
Generation of muscular activation patterns
In this chapter, the muscular activation signals necessary to reproduce a predefined kinematic
pattern will be determined by optimization. As we will face the problem of the overactuation,
an energetic criterion will be discussed.
5.1 General description of the optimization procedure
For a reason of limited computational resources again and because of timing constraints, we
only sought to check whether the generation of the muscular activation patterns was possible
for one joint and the muscles wrapping it. The joint we considered was the right ankle. It is
normally actuated by means of numerous muscles (more than 10) in our whole musculoskeletal
model but it was decided to drop the contribution of many of them and to only keep three of
them, without restraining the proof of concept.
Two kinds of optimization were realized with the help of a genetic algorithm. In both of
Figure 5.1: Principle of the optimization procedure related to the generation of the muscular
activation patterns
them, the muscles had to act against a torque to ensure that a kinematic pattern is fit (cfr
Fig. 5.1). What differed were the torque and the kinematic pattern. In order to overcome the
107
108 5. GENERATION OF MUSCULAR ACTIVATION PATTERNS
overactuation, an energetic criterion was added.
5.1.1 Preliminary test
First, a preliminary test was performed on a simple configuration. The ground was removed.
The body was suspended in the air and maintained in an orthostatic position excepted the right
ankle whose motion was kept free and subjected to the torque of a torsion damper. Thanks to an
optimization procedure, the activation signal αm(t) of each inserted muscle m was determined
so that the ankle joint angle describes a sinusoidal evolution.
αm,optimized(t) = function(design variables) (5.1)
The only movement which was unlocked is the one of the right ankle. The other motion-
related configuration parameters and their derivatives were imposed to 0 and no design variable
was used to parametrize kinematics.
qlocked
(t) = qlocked
(t) = qlocked
(t) = 0 (5.2)
The only applied forces are the gravity and a torsion damper inserted between the tibia-fibula
and talus segments surrounding the right ankle. The torques generated were:
MR TIBIAFIBULA = C · qR ANKLE ang · uR ANKLE axis
MR TALUS = −MR TIBIAFIBULA (5.3)
where uR ANKLE axis is the unit vector aligned with the ankle axis and C the damping coefficient.
The interactions with the ground and the passive joint moments were omitted.
Let us tackle the muscular contribution. Only 3 of the 11 muscles wrapping the right ankle were
considered (as shown in Tab. 5.1 and in Fig. 5.2).
Figure 5.2: The three muscles of the reduced model used for the generation of the articular
activation patterns
It was decided to only include the strongest muscles: the gastrocnemius medial head and
soleus for the plantar flexion and the tibialis anterior muscle for the dorsiflexion. Although
slightly stronger than the gastrocnemius medial head, the tibialis posterior was dropped given
that this muscle is principally known for its roles of stabilization and force production in the
5.1. General description of the optimization procedure 109
Muscle F0 [N] [%]PCSAFast
Function
Plantar flexion (PF)
gastrocnemius medial head (R MEDGAS, biarticular) 1113.0 0.492
gastrocnemius lateral head (R LATGAS, biarticular) 488.0 0.531
soleus (R SOL, monoarticular) 2839.0 0.123
tibialis posterior (R TIBPOST , monoarticular) 1270.0 0.35
flexor digitorum longus (R FLEXDIG, biarticular) 310.0 0.555
flexor hallucis longus (R FLEXHAL, biarticular) 322.0 0.555
peroneus brevis (R PERBREV , monoarticular) 348.0 0.375
peroneus longus (R PERLONG, monoarticular) 754.0 0.375
Dorsiflexion (DF)
tibialis anterior (R TIBANT , monoarticular) 603.0 0.2695
peroneus tertius (R PERTERT , monoarticular) 90.0 0.375
extensor digitorum longus (R EXTDIG, biarticular) 341.0 0.547
extensor hallucis longus (R EXTHAL, biarticular) 108.0 0.547
Table 5.1: Muscles wrapping the right ankle and playing a role in plantarflexion and dorsiflexion.
(The gray highlights represent the muscles inserted in the reduced model used for the generation
of the articular activation patterns.)
foot inversion, but normally only assists the plantar flexion.
As shown in Fig. 3.19, the force generated by the Virtual Muscle results from two contributions:
a passive one (the parallel elastic one) and an active one (the active contractile one). As the
passive joint moments represent the elastic and viscous effects of all the structures wrapping
the joints when no muscle is activated, we decided that the moments computed from the
muscular forces and exerted on the bones had to be determined from the active part only. The
parallel elastic contributions keep playing a role in the equations since they intervene for the
forces, but are not taken into account for the moments. This assumption can be discussed
but we principally wanted to avoid to take into account the passive contributions twice. Note
that, even if the passive joint moments are not taken into account in the preliminary test,
the generation of the muscle moments was performed as it has just been explained in order
to keep the same implementation for the preliminary test as for the walking-related optimization.
5.1.2 Walking-related optimization
Then, a second optimization was realized according to the same methodology, without ground.
Identically to the preliminary test, the only movement which was unlocked is the one of the
right ankle. However this time, it was tried by optimization to actuate the joint so as to mimic
the ankle kinematics resulting from the optimization procedure realized in Chapter 4 (cf. Fig.
4.6). In order to model coherent dynamic forces, the imposed kinematics was the one imposed
or generated by optimization in Chapter 4. The locked configuration parameters and their
derivatives are computed from either interpolation splines or Fourier series.
qlocked
(t) =
computed from Eq. 4.4: Fourier series,
if q was a design variable of the optimization of Chap. 4
computed from Eq. 4.2: Interpolation splines, else
(even for the motion-related configuration parameters
which were unlocked in the previous optimization)
(5.4)
110 5. GENERATION OF MUSCULAR ACTIVATION PATTERNS
All these considerations are summarized in Table 5.2 for the different motion-related configura-
tion parameters.
The torsion damper was removed and its torque was replaced by the muscular torque
produced at the right ankle by the foot-ground contacts and coming from the optimized solution
as well (similar as the one in Fig. 4.14 but for the right ankle). Thanks to this torque, the
effect of pseudo contacts was taken into account in this generation of the walking motion.
Gravity was also exerted on all the bodies.
The passive joint moment was only taken into account for the right ankle since all the remaining
motion-related degrees of freedom were imposed (including the pelvis’s ones this time).
The ankle muscles were inserted and taken into account in the same way as in the preliminary
test.
5.1.3 Resulting system
During the optimization process related to the preliminary test, a 41 dof system (23 motion-
related dof and 18 muscles ones) was simulated very numerous times. Among all the degrees
of freedom, only 19 configuration parameters (the right ankle angle and the muscle dof) were
really solved. The walking-related optimization embedded one supplementary equation and one
supplementary unknown related to the passive joint moment of the right ankle joint.
5.2 Optimization and simulation
5.2.1 Design variables
As regards the sinusoidal pattern of the preliminary test, we did not have at our disposal any set
of EMG from the OpenSim software ( [OPENSIM@net]). We decided to generate the patterns
of activation signal by means of the GSL’s interpolation function on a period of 1.2 s, based on
a sampling rate of 10 Hz. This sampling frequency is maybe too low for the activation patterns
related to the walking and restrains the muscle reactivity. But we judged it was sufficient for a
first trial in the proof of concept philosophy.
In order to save one design variable per muscle, we assumed that the activation is periodic:
αt=0 s = αt=1.2 s (5.5)
Then, 12 design parameters αm,j = αm(j ·0.1) were used for each muscle m to describe the time
history of each activation signal:
αm(t) = Im(αm,j) with j = 1 . . . 12 (5.6)
where Im represents the interpolation function peculiar to each muscle.
The Virtual Muscle model is characterized by 6 ODE’s per muscle. Initial conditions were
a priori unknown. At the whole-muscle level, 3 design parameters were used to parametrize the
initial fascicle length and velocity (LCE0 and VCE0) and the initial effective activation (Ueff0).
For each of the two motor units (i = 1, 2), 3 supplementary unknowns had to be taken into
account for the initial sag Si0 (fast fibers) or yield Y i
0 (slow fibers) and the initial firing frequency
5.2.Optim
izationandsim
ulatio
n111
dof Imposed Movement property
(locked) ?
PELVIS tX Yes Interpolated from the kinematics resulting from the optimization realized in Chap. 4
PELVIS tY Yes Interpolated from the kinematics resulting from the optimization realized in Chap. 4
PELVIS tZ Yes Interpolated from the kinematics resulting from the optimization realized in Chap. 4
PELVIS rX Yes Interpolated from the kinematics resulting from the optimization realized in Chap. 4
PELVIS rY Yes Interpolated from the kinematics resulting from the optimization realized in Chap. 4
PELVIS rZ Yes Interpolated from the kinematics resulting from the optimization realized in Chap. 4
R HIP flex Yes Computed by the Fourier series resulting from the optimization realized in Chap. 4
R HIP add Yes Interpolated from experimental data as in Chap. 4
R HIP rot Yes Interpolated from experimental data as in Chap. 4
R KNEE ang Yes Computed by the Fourier series resulting from the optimization realized in Chap. 4
R ANKLE ang No Actuated to fit the predetermined ankle kinematics
as perfectly as possible (Optimization, Chap. 4)
R SUBT ang Yes Interpolated from experimental data as in Chap. 4
R MTP ang Yes Interpolated from the kinematics resulting from the optimization realized in Chap. 4
L HIP flex Yes Computed by the Fourier series resulting from the optimization realized in Chap. 4
L HIP add Yes Interpolated from experimental data as in Chap. 4
L HIP rot Yes Interpolated from experimental data as in Chap. 4
L KNEE ang Yes Computed by the Fourier series resulting from the optimization realized in Chap. 4
L ANKLE ang Yes Computed by the Fourier series resulting from the optimization realized in Chap. 4
L SUBT ang Yes Interpolated from experimental data as in Chap. 4
L MTP ang Yes Interpolated from the kinematics resulting from the optimization realized in Chap. 4
TORSO bending Yes Interpolated from experimental data as in Chap. 4
TORSO rotation Yes Interpolated from experimental data as in Chap. 4
TORSO extension Yes Interpolated from experimental data as in Chap. 4
Table 5.2: Description of the degrees of freedom (generation of the ankle walking pattern)
112 5. GENERATION OF MUSCULAR ACTIVATION PATTERNS
f ieff0
and its derivative f ieff0
.
So, a total of 21 design variables (among which 9 are related to the initial conditions)
characterize the behaviour of each muscle.
5.2.2 Cost function
We should have dealt with a multiobjective problem. But, again, we expressed the cost function
instead as a weighted sum of two terms since the Pareto method is not parallelized in GAUL.
Respect of a target kinematics and minimization of an energetic criterion are these two terms.
CF = wKin · CFKin + wEnergetics · CFEnergetics (5.7)
with wKin = 20000 and wEnergetics = 0.1.
Depending on the envisaged optimization, the unlocked right ankle angle has to attempt to
follow a sinusoid or the kinematic pattern defined in Chapter 4. The discrepancy with respect
to the reference kinematics is quantified by:
CFKin =
Te∑
(t=0,∆t,2∆t,...)
(
qR ANKLE ang(t)− qR ANKLE ang,ref (t)
|qR ANKLE ang,ref (t)|+ 1
)2
(5.8)
To overcome the overactuation introduced by the insertion of the three muscles we decided to
minimize the expenditure of muscle metabolic energy. A validated model of the muscle energetics
was not at our disposal1. It was tried to develop a physiological model based on experiments
reported in literature. But data were missing notably for the muscle lengthening (cf. Appendix
E.1).
So, we dropped the idea of using a complicated model and employed a simple criterion instead,
penalizing the muscles proportionally to the number of fast fibers.
CFEnergetics =
Te∑
(t=0,∆t,2∆t,...)
nmuscles=3∑
m=1
αm(t) · FPCSA,fast fibersm
FPCSA,slow fibersm
(5.9)
where FPCSA,fast fibersm and FPCSA,slow fibersm represent for each muscle the proportions of
the total physiological cross-sectional area related to fast and slow fibers respectively.
Note that the method developed by Raison (cf. Subsection 2.1.3 and [RAISON2010])
although very interesting and promising necessitates the measurement of EMG signals. That is
why we preferred to avoid it and were content to use an energetic criterion.
Note also that the expression 5.7 is the one actually used when the simulation performs
without any trouble. If the convergence is not reached or if the right ankle angle moves beyond
its physiological limits then the simulation is interrupted and a huge penalty term is added,
depending on the interruption time Tinterruption.
1And, as far as our knowledge, no validated model exists.
5.2. Optimization and simulation 113
5.2.3 Optimization algorithm
The optimization algorithm used for the simulations realized in this chapter is exactly the same
as in Chapter 4. The GAUL parameters of the genetic algorithm are summarized in Table 5.3.
We considered that 3 islands and a population size of only 1.2 ·Ntot bits were sufficient and hoped
that time could be saved.
Parameters Value (global or peculiar to each island)
optimization scheme parallel island-based genetic algorithm coupled to
an evolutionary scheme: GA SCHEME BALDWIN CHILDREN
parallelism implementation MPI: ga evolution archipelago mpi
chromosome type bitstring
initial population seeding randomly: ga seed bitstring random
population size 1.2 ·Ntot bits = 508 individuals
elitism ? yes: GA ELITISM ONE PARENT SURV IV ES
selection operator ga select one bestof2, ga select two bestof2
crossover ratio [ % ] 80
crossover operator ga crossover bitstring allele mixing
mutation ratio [ % ] 15
allelle mutation probability [ ] 1nbr of bits
0.02 (default) 1nbr of bits
mutation operator ga mutate bitstring multipoint
island number [ ] 3
migration interval [nbr of iterations] 45
migration ratio [ % ] 10
Table 5.3: Genetic algorithm parameters
5.2.4 Range and precision
The values of the design variables describing the activation patterns were comprised between 0
and 1 and were defined by means of 6 bits. So, the precision was of 0.015873 unity of activation.
The design variables related to the initial conditions of the Virtual Muscle model were defined
arbitrarily and are gathered in Table 5.4.
A set of 423 bits for 63 design variables was subject to optimization.
Design variables x [Min,Max] = [xl,xu] [unity] nbr of bits [ ]
αm,j(m = 1 . . . 3, j = 1 . . . 12) [0, 1] [ ] 6
f ieff0
(i=Slow and fast fibers) [0, 2] [s−1] 8
LCE0 [L0 · 0.6, L0 · 1.4] [m] 8
SFast fibers0 [aS2, aS1] [ ] 7
Y Slow fibers0 [0, 1] [ ] 7
f ieff0
(i=Slow and fast fibers) [−20, 20] [s−2] 8
VCE0 [−1, 1] [m/s] 8
Ueff0 [0, 1] [ ] 7
Table 5.4: Design variables: range and number of bits
5.2.5 Optimization process
A completed simulation for each individual lasted about 20 s. As several thousands of simula-
tions were going to be realized, it was judged that the computer parallelization of the genetic
114 5. GENERATION OF MUSCULAR ACTIVATION PATTERNS
algorithm was necessary again. This time, only about 30 cores of the IG cluster were available
for each of our optimizations.
5.2.5.1 Preliminary test
We could have used the plural form in the title of this subsection. Actually we realized two
preliminary optimizations for the purpose of checking whether the Virtual Muscle model
behaved physiologically. It was sought to vary the torque of the ankle damper so as to observe
the effects on the forces generated by the muscles. The first possibility to lower the applied
torque consists in changing the velocity of the ankle angle, i.e. increasing the sinusoid frequency.
However this solution was not judged practical since the time bases would not have been the
same, making a direct comparison difficult. Instead it was decided to run the optimization for
two values of the damping coefficient C: 20 and 4 Nm.s.
The solver parameters used for each simulation are the same as the ones presented in Table
4.6 of the previous chapter. 500 iterations on the 3 island populations of 508 individuals each
(and about 2 weeks of simulation on the cluster) were judged sufficient to consider that the
convergence was reached for each optimization (as showed in Fig. 5.3). At the end of both
100
1000
10000
100000
0 100 200 300 400 500
Number of iteration[ ]
|fitness|[
]
Population 1Population 2Population 3
(a) C = 20 Nm.s
10
100
1000
10000
100000
1e+06
0 100 200 300 400 500
Number of iteration[ ]
|fitness|[
]
Population 1Population 2Population 3
(b) C = 4 Nm.s
Figure 5.3: Fitness convergence for the preliminary tests
optimization processes, one postprocessing simulation was performed on each best individual in
order to compute and display the results presented in the following subsection.
The relative and absolute contributions of the two terms of the fitness function (cf. Eq.
4.10) are showed in Table 5.5. The first observation is that the optimization realized with
Objective Relative contribution [%] Absolute contribution [ ]
C = 20 Nm.s C = 4 Nm.s C = 20 Nm.s C = 4 Nm.s
Kinematics 94.42 37.22 −238.42 −8.01
Energetics 5.58 62.78 −14.09 −13.51
Table 5.5: Relative contributions of the two terms of the fitness function
C = 4 Nm.s provides better kinematic fitting. Then, it is observable that the absolute value
of the energetic criterion is only slightly lower for C = 4 Nm.s than for C = 20 Nm.s. Note
5.2. Optimization and simulation 115
however that the direct comparison may not make sense since the kinematic fitting is worse for
C = 20 Nm.s.
5.2.5.2 Walking-related optimization
Even after 10.000 iterations, convergence was not reached: the fitness function kept very low
values showing that, even for the best fitted individuals, simulations were interrupted before the
end of the simulation (in fact, around 0.3 s). After investigation we discovered that the crashes
were not caused fortunately by numerical trouble. In fact the simulations killed themselves
because the ankle moved too much away from its reference. Muscles were not able to actuate
the ankle and oppose enough forces against the input torque. Remember that our foot model
was responsible for important forces at the impact of the heel with the heel. This caused the
presence of a peak in the torque curve (visible in Fig. 4.15 around 0.9 s for the left ankle!).
Modelled muscles were simply too weak for this shock.
We decided to input the ANZ torque instead of ours. But again, optimization did not converge
(Fig. 5.4). Nevertheless, simulations ran longer and were only interrupted around 0.5 s.
However, this time it is difficult to conclude anything with certitude since the kinematic
1e+07
1e+08
0 2000 4000 6000 8000 10000
Number of iteration[ ]
|fitness|[
]
Population 1Population 2Population 3
Figure 5.4: Fitness convergence for the walking-related optimization (ANZ torque)
and torque patterns are not correlated with each other. They do not come from the same
experiment or simulation and time dilatation was required to fit the time bases. The partial
results obtained from the best fitted individual are shown in the following section.
5.2.6 Results
5.2.6.1 Preliminary test
Figures 5.5(a) and 5.5(b) confirm what has been observed through the absolute contributions
of the two terms of the fitness function. The kinematic fitting is better for C = 4 Nm.s and
consequently the shape of the damper torque is much closer to a real sinusoid, characterized by
a lower amplitude of course.
116 5. GENERATION OF MUSCULAR ACTIVATION PATTERNS
-15
-10
-5
0
5
10
15
0 0.2 0.4 0.6 0.8 1 1.2-40
-30
-20
-10
0
10
20
30
40
T ime [s]
RANKLE
ang
[deg]
Torqu
e[N
m]
Optimized R ANKLE angReference R ANKLE angDamper torque
(a) C = 20 Nm.s
-15
-10
-5
0
5
10
15
0 0.2 0.4 0.6 0.8 1 1.2-40
-30
-20
-10
0
10
20
30
40
T ime [s]
RANKLE
ang
[deg]
Torqu
e[N
m]
Optimized R ANKLE angReference R ANKLE angDamper torque
(b) C = 4 Nm.s
Figure 5.5: Comparison of the simulated ankle kinematics with the reference sinusoid
If we take a look at the activation signals determined for the three muscles (Fig. 5.6(a)
and 5.6(b)), a high degree of nonlinearity is interestingly observed between kinematics and
activation. The activation signal patterns of the agonist plantar flexors are not simply scaled
from each other. For C = 20 Nm.s, it is clear that the strategy of activation defined by the
genetic algorithm seeks to avoid muscle co-contraction, i.e. the simultaneous activation of
antagonist muscles around a joint. But the same observation can not be made for C = 4 Nm.s:
co-contraction is visibly not completely prevented. A saturation is visible in Fig. 5.6(a)
(C = 20 Nm.s) for the muscle responsible for the dorsiflexion (tibialis anterior). We tought
it could explain the worse kinematic fitting but saturation is also present in Fig. 5.6(b) for
C = 4 Nm.s. From the activation signal patterns, it is not obvious to see whether the motion
0
0.2
0.4
0.6
0.8
1
0 0.2 0.4 0.6 0.8 1 1.2
T ime [s]Muscle
activation
signal[0,1]
R MEDGAS (PF, as slow as fast)R SOL (PF, very slow)R TIBANT (DF, slow)
(a) C = 20 Nm.s
0
0.2
0.4
0.6
0.8
1
0 0.2 0.4 0.6 0.8 1 1.2
T ime [s]Muscle
activation
signal[0,1]
R MEDGAS (PF, as slow as fast)R SOL (PF, very slow)R TIBANT (DF, slow)
(b) C = 4 Nm.s
Figure 5.6: Comparison of the activation signal patterns determined by the optimization pro-
cesses for the three muscles inserted
generated for C = 4 Nm.s is really less energy consuming. The gastrocnemius medial head is
less activated but the tibialis anterior muscle more.
The complex shape of the curves also shows that a classic controller would function quite badly.
From Fig. 5.7(a), 5.7(b) and 5.7(c), it can be observed that the maximum of forces are
5.2. Optimization and simulation 117
encountered for C = 20 Nm.s. But the time histories of the muscular active forces are more
complex and at some instants, forces can be higher for C = 4 Nm.s. The link between the
activation signals and the forces is not obvious. This demonstrates, as expected, the complexity
of the transfer function.
From the same figures, it is also visible that co-contractions are avoided for C = 20 Nm.s.
On the contrary, co-contractions of the soleus and tibialis anterior muscles are observed for
C = 4 Nm.s. This behariour, which looks surprising at first, is not necessarily wrong. This
could make the system stiffer in order to avoid oscillations. This will be discussed in the final
discussion of this chapter.
Note also that the periodicity of the forces was not ensured. It was not judged necesary for the
preliminary tests.
The contributions of each motor unit to the total active force are shown in Fig. 5.8. In a gen-
eral manner, in our simulations of slow movement against weak resistance, the motor units made
up of fast fibers exert less force than the slow motor units (excepted for the gastrocnemius medial
head). This is principally due to the low fractions of PCSA (excepted for gastrocnemius medial
head precisely). The fast motor units of the plantar flexors work as generators of force “bursts”.
Unfortunately, experimental data could not be found in the literature to validate (or
invalidate) the method and the generated activation and force patterns. Timing constraints
prevented us to perform the experiments on our own.
5.2.6.2 Walking-related optimization
The right ankle angle roughly follows the reference kinematics and oscillates about it from one
side to the other (Fig. 5.9). The muscles are not able to react quickly and strongly enough.
The lack of reactivity is maybe related to the too low sampling frequency.The activation signal
patterns (Fig. 5.10) should certainly be less smooth and contain higher frequencies. In order to
decrease the number of design parameters, it would be interesting to use Fourier series as for
the generation of the kinematic pattern (Chapter 4).
The inability to generate sufficient forces is certainly explained by the fact that too few muscles
(only 3) were taken into account around the ankle. Peaks of force are visible in Fig. 5.11(a)
and 5.11(b) for the muscles responsible for the plantar flexion. The insertion of more muscles
should allow to check the assumption. Another reason, discussed in the final section of this
chapter, could be related to the fact that the activation-dependent term of the parallel elastic
force was not taken into account during the application of the muscle forces. This could allow
to generate higher forces when the joint angle gets close to its physiological limits (Fig. 5.9).
Taking into account the periodicity of the forces thanks to a third term in the cost function
would not have allowed to overcome the interruptions.
EMG patterns during walking can be found in the literature for many muscles ( [VIEL], [OGI-
HARA2001], [ANDERSON2001], ...) but they are not useful since the convergence was not
reached.
118 5. GENERATION OF MUSCULAR ACTIVATION PATTERNS
0
50
100
150
200
250
0 0.2 0.4 0.6 0.8 1 1.2
T ime [s]
Muscularactiveforce
[N]
C = 20 Nm.sC = 4 Nm.s
(a) R MEDGAS (PF, as slow as fast)
0
50
100
150
200
250
300
0 0.2 0.4 0.6 0.8 1 1.2
T ime [s]
Muscularactiveforce
[N]
C = 20 Nm.sC = 4 Nm.s
(b) R SOL (PF, very slow)
0
50
100
150
200
250
300
350
0 0.2 0.4 0.6 0.8 1 1.2
T ime [s]
Muscularactiveforce
[N]
C = 20 Nm.sC = 4 Nm.s
(c) R TIBANT (DF, slow)
Figure 5.7: Comparison of the active forces generated by the three inserted muscles
5.2. Optimization and simulation 119
0
10
20
30
40
50
60
70
80
90
100
0 0.2 0.4 0.6 0.8 1 1.2
T ime [s]
Muscularactiveforce
[N]
C = 20 Nm.sC = 4 Nm.s
(a) R MEDGAS, slow motor unit
0
20
40
60
80
100
120
140
160
180
0 0.2 0.4 0.6 0.8 1 1.2
T ime [s]
Muscularactiveforce
[N]
C = 20 Nm.sC = 4 Nm.s
(b) R MEDGAS, fast motor unit
0
50
100
150
200
250
300
0 0.2 0.4 0.6 0.8 1 1.2
T ime [s]
Muscularactiveforce
[N]
C = 20 Nm.sC = 4 Nm.s
(c) R SOL, slow motor unit
0
10
20
30
40
50
60
70
80
90
100
0 0.2 0.4 0.6 0.8 1 1.2
T ime [s]
Muscularactiveforce
[N]
C = 20 Nm.sC = 4 Nm.s
(d) R SOL, fast motor unit
0
20
40
60
80
100
120
140
160
180
200
0 0.2 0.4 0.6 0.8 1 1.2
T ime [s]
Muscularactiveforce
[N]
C = 20 Nm.sC = 4 Nm.s
(e) R TIBANT, slow motor unit
0
20
40
60
80
100
120
140
0 0.2 0.4 0.6 0.8 1 1.2
T ime [s]
Muscularactiveforce
[N]
C = 20 Nm.sC = 4 Nm.s
(f) R TIBANT, fast motor unit
Figure 5.8: Comparison of the active forces generated by the slow and fast motor units of the
three inserted muscles
120 5. GENERATION OF MUSCULAR ACTIVATION PATTERNS
-35-30-25
-20-15-10-5 0 5
10 15 20
0 0.1 0.2 0.3 0.4 0.5 0.6-40
-30
-20
-10
0
10
20
30
40
T ime [s]
RANKLE
ang
[deg]
Torqu
e[N
m]
Optimized R ANKLE angReference R ANKLE angDamper torque
Figure 5.9: Comparison of the simulated ankle kinematics with the reference sinusoid
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 0.1 0.2 0.3 0.4 0.5 0.6
T ime [s]Muscle
activation
signal[0,1]
R MEDGAS (PF, as slow as fast)R SOL (PF, very slow)R TIBANT (DF, slow)
Figure 5.10: Activation signals determined by the optimization process for the three muscles
inserted
5.2. Optimization and simulation 121
0
100
200
300
400
500
600
0 0.1 0.2 0.3 0.4 0.5 0.6
T ime [s]
Muscularactiveforce
[N]
(a) R MEDGAS (PF, as slow as fast)
0
200
400
600
800
1000
1200
1400
1600
1800
0 0.1 0.2 0.3 0.4 0.5 0.6
T ime [s]
Muscularactiveforce
[N]
(b) R SOL (PF, very slow)
0
50
100
150
200
250
300
350
400
450
500
0 0.1 0.2 0.3 0.4 0.5 0.6
T ime [s]
Muscularactiveforce
[N]
(c) R TIBANT (DF, slow)
Figure 5.11: Active forces generated by the three inserted muscles
122 5. GENERATION OF MUSCULAR ACTIVATION PATTERNS
5.3 Discussion and summary
The optimization processes which have been performed in this chapter (and in the previous one
either) can be regarded from three points of view: the numerical one, the methodological one
and the physiological one.
The model subcomponents (Virtual Muscle, Amankwah’s passive joint moments) and the
optimization algorithm (GAUL) are robust and do not cause untimely crashes. The GAUL
genetic algorithm also owns the huge advantage to be parallelizable.
The generation of the activation patterns was realized by means of an optimization process.
In the preliminary tests, it was shown that it was possible to determine the activation patterns
which allow the muscles to act against a moment to fit a kinematic pattern. The time histories
of the activation signals were evaluated by means of interpolation functions built from sampled
design variables. Besides the kinematics-related term, the cost function also included an
energetic term to overcome the muscular overactuation. In the first case, for the damper
coefficient C = 20 Nm.s, the sinusoid was almost generated and co-contractions were avoided.
In the second case, for the damper coefficient C = 4 Nm.s, the kinematic fitting was very good
but co-contractions were observed. This is not necessarily a wrong result. It is conceivable that
these co-contractions make the system stiffer in order to avoid oscillations and ensure a best
kinematic fitting. It would be interesting to rerun the optimization by giving more weight to
the energetic term of the cost function. If our assumption is correct, oscillations should appear
and co-contractions disappear. Note that the energetic criterion should be corrected for the
sake of rigour so as to incorporate a factor representing the isometric force F0 (or equivalently
the muscle physiological cross-sectional area PCSA).
Concerning the walking-related optimization process, results were less good. The three muscles
were not able to produce enough forces against the input torque so as to prevent the ankle
angle from approaching its physiological limits, causing interruptions. The sampling frequency
could be increased. More muscles should be introduced. The periodicity of the muscle forces
should also be taken into account by means of a third term in the cost function2. Let us
discuss now the fact that only the “active contractile forces” (cf. Fig. 3.19) were considered
during the application of the muscular moments. This was done in order to avoid the double
introduction of passive moments via the Virtual Muscle model and the passive joint moments.
It should be checked whether the omitted passive contributions are really and correctly taken
into account in the passive joint moments. Actually, a part of the passive forces related to the
state of activation was omitted in the computation of the moments (cf. Fig. 3.19 where FPE
is visibly function of Af). Simulations of this chapter should be rerun by considering that the
applied muscular moment is the sum of the moments computed from the active contractile
force, the term Af.FPE2 and the passive joint moments3. This would allow to quantify the
muscle stiffness’s dependency on activation.
In order to validate physiologically the model, all the joints should be unlocked and all
the muscles should be introduced so that produced forces reach physiological levels and are
2The absence of this third term does not change the conclusions made for the preliminary tests.3Another solution would be to consider the Virtual Muscle as originally designed and apply twice the passive
contributions.
5.3. Discussion and summary 123
distributed correctly. This would be more correct energetically too. In the framework of
walking, minimization of the muscles around one joint does not make sense. On one hand,
this is related to the existence of several biarticular muscles. On the other hand, optimization
must be performed by considering lower limbs as a whole: a sum may not be minimized by
optimizing each of its terms when these are interdependent. For the sake of physiological
validation, the accuracy of the numerous parameters (namely the optimal length L0) is also
questionable. Once all these modifications and/or improvements will have been brought in the
model, comparison with experimental data will be possible.
CHAPTER 6
Modelling of the foot by finite elements
and cosimulation concept
The content of this chapter can not be considered as the continuation of the multibody system
designed for the walking simulation, detailed in the chapter 3 and employed in the chapters 4
and 5 but is actually a digression which was realized in parallel.
As observed in the results obtained in chapter 4 the foot model is a key element and its
accuracy is crucial. The use of a finite element model allows to have access to more quantities
than multibody models with viscoelastic elements: the pressure field on the foot sole is easily
known and the strains and stresses inside the skin and soft tissues can be computed as well.
Unhappily a finite element approach is not directly compatible with a multibody one: their
equations are not built with the same methodology; their larger system of equations is solved
with iterative solver, ... Nevertheless a simulation technique, called cosimulation, has been
spreading for the last years to simulate in parallel two submodels independently developed. We
personnaly conceived a method, wrote a librairy named CosimDyn and validated the technique
on simple multibody examples. By having done that, we opened the perspective, maybe utopian
but theoretically feasible, of a new kind of really complex (and time consuming) simulation.
6.1 Foot FE model
For many years numerous researchers have tried and managed to design finite element (FE)
models of the foot with some success and increasing complexity. Using such models allowed,
thanks to their high spatial resolution,� to understand the influence of some pathologies on the pressure distribution at the sole of
the foot;� to study the distribution of the plantar pressure on a patient so as to design orthopedic
soles perfectly adapted to his morphology.
Moreover a foot finite element model seems to be the only alternative to implement physiological
models of the cutaneous mechanoreceptors, coding the stress-strain states at certain skin depths
125
126 6. MODELLING OF THE FOOT BY FINITE ELEMENTSAND COSIMULATION CONCEPT
in nervous information transmitted to the nervous system.
The first models were developed in 2D. This geometric simplicity is responsible for their low
computational cost but for their main drawback as well: the mechanical behaviour of the foot is
not perfectly simulated. In 1996 Patil ( [PATIL1996]) developed a simple planar model without
soft tissues to study the influence of the leprosis on the location of the peak of pressure in the
foot. One year later Lemmon ( [LEMMON1997]) established in his model that a hyperelastic
behaviour better reproduces the behaviour of the soft tissues. In 2002 Gefen ( [GEFEN2002])
created an original foot model by analysing the stresses in 5 vertical planes, each of them in-
cluding the ankle and a toe. In 2005, the Gu’s model ( [GU2005]) highlighted that wearing high
heels frequently is harmful.
Increase in the computer performances allowed the development of computationally expensive
3D FE models. In all the first 3D models the soft tissues were only located in the plantar sole
under the foot so as to minimize the modelling complexity. In 1999 Jacob ( [JACOB1999])
developed a two-parts model. Since 2000 the bones have been modelled individually (by Gefen
( [GEFEN2000]), Chen ( [CHEN2001]) and Camacho ( [CAMACHO2002])), with the exception
of Dai ( [DAI2006]) who still considered in 2006 the foot bones as only one block but with soft
tissues wrapping completely the skeleton. In 2004 Cheung ( [CHEUNG2004]) built one of the
most sophisticated models in which the geometry of the bones, cartilages and soft tissues was de-
fined by reconstruction from medical imaging. The Achilles tendon, 72 ligaments and the plantar
fascia were also incorporated. This very detailed model was used to analyze the effects of plan-
tar fascia stiffness on the biomechanical responses of the ankle-foot complex ( [CHEUNG2004]),
the effects of the Achilles tendon loading on plantar fascia tension in the standing foot ( [CHE-
UNG2006I]), and to design orthopedic insoles ( [CHEUNG2005I] and [CHEUNG2008]). In order
to be exhaustive, let us mention that Antunes ( [ANTUNES2007]) realized recently a similar
work as Cheung but modelled the phalanges separately.
6.1.1 Model building and validation
The building of a foot finite element model and its validation through some simulations were
the object of the master thesis successfully completed by B. Devaux in 2008 [DEVAUX2008].
Since this work is not our personal contribution, given that we only collaborated to the building
of the model and supervised the simulation, we judged more honest to present the model in
Appendix F and only summarize it in some lines in this chapter. The interested reader can find
there the detailed technical information.
The Catia CAD commercial software was used to create the foot geometry: a skin envelop
was modified to receive the bones coming from the Delp’s model [DELP1990]. Cartilages
were drawn between the bones so as to respect the anatomy as much as possible. Then,
the geometry was imported under the Abaqus FEA commercial software where the different
generated volumes were meshed. Behavioral properties were given to the bones, soft tissues
and cartilages and the cohesion between them was ensured. Connectors acting in traction were
added to model the ligaments and fascia. The ground was modelled by means of a plate and
the contacts with the skin were taken into account.
3 static postures (see Section F.2) and a dynamic motion (see Section 6.1.2 hereafter for the
presentation of the results) were successfully simulated with the Abaqus explicit solver.
6.1. Foot FE model 127
6.1.2 Dynamic simulation of the rolling motion
The rolling motion was the most sophisticated simulation which was realized with our foot FE
model, from the landing subphase (heel strike) to the thrust one (toe-off). The set up and the
simulation conditions are detailed for the interested reader in Subsection F.2.5 of Appendix F.
6.1.2.1 Results
Fig. 6.1 illustrates the simulated rolling motion. Several hours of simulation were necessary to
get the result. In order to assess the model accuracy, we experimentally reproduced the same
Figure 6.1: Simulated rolling motion [DEVAUX2008]
kind of motion. A human guinea-pig stood on his heels, toes in the air, and then leaned forward
to place his body in equilibrium on the forefeet. The pressure was measured thanks to a force
platform provided by the podiatrist Van Meerhaeghe, Nivelles, Belgium. However experimental
and simulated kinematics do not exactly match. So, the qualitative aspects were judged more
important than the quantitative ones in the hereafter presented results. Moreover, as explained
in Appendix F for the first simulations on static conditions, the force platform accuracy was at
issue. It seems that its sensors saturated when contact was established on too small surfaces.
The computed pressure distribution on the plantar sole is visible in Fig. 6.2(a). As expected,
the pressure field appears on the heel where a peak is clearly marked, then progressively moves
towards the toes, spreads on a larger surface reducing consequently the average pressure level,
and is finally concentrated on the forefeet. The same evolution was measured with the platform
as illustrated in Fig. 6.2(b). Nevertheless, some slight differences can be observed. The peak
pressure looks very concentrated under the heel in the simation results. This is probably due
to the bony shape of the calcaneus bone of our model and possibly also to the hypothesis of
not deformable bones. Besides the already mentionned saturation of the platform sensors, the
pressure acquisition can also explain the difference: while the numeric solver computes pressure
at nodes, the platform measures pressure on small surfaces and this can contribute to a certain
attenuation of the local pressure magnitude.
During the simulation the foot rolled and tended to lean more on its internal part (big toe’s
side) while the guinea-pig used more its external part. This tendency, although weak, is also
visible in the trajectory of the COP (Fig. 6.3). In the beginning of the rolling motion, the
COP moves forward and in the external direction in both cases but moves back to center more
rapidly during the midstance and thrust phases in the simulation.
128 6. MODELLING OF THE FOOT BY FINITE ELEMENTSAND COSIMULATION CONCEPT
(a) Devaux’s model [CHEUNG2005II]
(b) Experimental measurement (the grey area visible on all the pictures represents
the total area where the contact was established at one moment or another during
the measurement) [DEVAUX2008]
Figure 6.2: Pressure distribution during the rolling motion
Landing
Thrust
Figure 6.3: Evolution of the COP position for the experience (a) and the model (b) [DE-
VAUX2008]
6.2. Coupling method: cosimulation 129
Note also that the foot model and the human guinea-pig both own a too marked arch.
Because of that their midfoot is never in contact even during the midstance in the configurations
close to the orthostatic posture. This is an anomaly: in the third and fourth pictures of Fig.
6.2(a) and 6.2(b), the pressure field should be normally unbroken between the heel and forefeet
regions.
Despite small imperfections we are more than satisfied with this model. For sure the too
bony calcaneus shape and marked arch could be corrected thanks to reliable 3D reconstruction
from medical imaging. But the most important conclusion is that it was possible to build a
very realistic model reproducing faithfully enough the characteristics of the rolling motion.
If one modification had to be brought, according to an advice given by the model creator B.
Devaux1, we would improve the mesh using a specific mesh generation software instead of the
more limited Abaqus’s one. This should allow to avoid some simulation crashes which were
encountered when some elements of the mesh were too distorded2.
6.2 Coupling method: cosimulation
Nowadays time simulations of mechanical systems by means of finite element or multibody
dynamics codes are very spread in research and industry because they permit to spare a lot of
money and a lot of time. However until about fifteen years ago, the whole model had to be
defined into one entity and solved by one unique solver. These limitations, which appear rather
logical because of the interdependence of the equations, could be removed.
Rather recently, a concept, called cosimulation, appeared based on the collaboration of
several solvers which can be of completely different natures: finite element method (FEM),
multibody system (MBS), computational fluid dynamics (CFD), ... Several “integrate-and-
collaborate”3 techniques aim to couple the already distributed submodels in a plug-and-play
manner: each subcomponent is seen as a black box which gets as inputs some physical
quantities from the rest of the model and outputs some others in return. Firstly these strategies
allow to simplify the modelling task of the scientists and engineers and reduce the duration
of the model development and implementation. The developers can develop independently
the different submodels with the help of the most appropriate language or software, each
developer focussing on his or her own model and knowing just that, at some places, interfaces
exist through which the submodels interact. Secondly by limiting the model access to the
useful interface information, cosimulation increases model security. It is easily understandable
that cosimulation is particularly interesting in case of models with numerous and eventually
multidisciplinary components.
For the purpose of efficiency, distributed simulation and parallelized algorithms were also
developed in the past in order to take advantage of multiprocessor architecture with shared
1He has been working professionally with Abaqus for 2 years2In fact, the second-order C3D10M elements (10 nodes at the vertices and in the middle of the edges) were
not able to be used in the model but had to be replaced by the classic first-order tetrahedrons C3D4 (4 notes at
the vertices).3Term introduced in [TSENG2001]
130 6. MODELLING OF THE FOOT BY FINITE ELEMENTSAND COSIMULATION CONCEPT
or distributed memory (SMP machines, clusters, ...)4. Even if the cosimulation principle does
not involve parallelism and multiprocessors, the cosimulation techniques may obviously take
advantage of such features.
Imagine how convenient it would be if it was possible to realize a cosimulation between our
rigid multibody model cut from its feet and 2 foot finite element models as illustrated in Fig. 6.4.
Figure 6.4: Cosimulation principle for walking
6.2.1 Gluing: state of the art and strategies
Numerous partitioning strategies (substructuring and decomposition methods) and parallel
algorithms have been developed in multibody dynamics, FEM (cf. [WANG2003] for a review)
and CFD so as to perform parallelized simulations of mechanical systems.
Besides them, the gluing algorithm is naturally adapted to systems whose subcomponents
are easily identified. In Fig. 6.5 the three gluing strategies are presented, depending on which
kind of quantities are centrally coordinated and returned. In the T-T method, submodels im-
plement a direct model delivering the displacements for a given set of interface forces. The
central algorithm then updates the forces so as to assure the kinematics at the interface. The
X-X method is based on an inverse model of the subsystems and the central algorithm searches
for the displacements to impose at the interfaces in order that the principle of action-reaction
is verified. The X-T method is a mixed coupling strategy.
By using a modular formulation for multibody systems, Kubler [KUBLER2000] implemented
in Simulink an X-T method which is based on the block representation of a multibody sys-
4In some cases only the mathematical procedures are parallelized. In other cases a “divide-and-conquer”3
algorithm manages the automatic partitioning of complex systems into subsystems which are solved by parallel
computing ensuring the similarity of physical quantities at the common boundaries.
6.2. Coupling method: cosimulation 131
Figure 6.5: Gluing strategies [WANG2003]
tem with corresponding input and output quantities. Several gluing algorithms were devel-
oped in [KUMAR1995, TSENG2001, TSENG2003] including MOP (Manifold Orthogonal Pro-
jection Method) and MEPI (Maggi’s Equations with Perturbed Iteration) (X-X). Other au-
thors [WANG2003,HULBERT2005,WANG2005] proposed a T-T strategy whose major advan-
tage is
that the forces can be easily applied to the subsystems when solving the subsystems
equations . . . This T-T strategy is more suitable to the standard setup of simulation
codes that can be employed for the subsystems analyses, and thus it improves the
efficiency of the integration process and enhances the independency of the subsystems
models [WANG2003].
6.2.2 Equations of motion of a multibody system
Let us assume that the kinematics of the considered multibody system is described by ncp
configuration parameters gathered in vector q. These configuration parameters can be chosen
according to various approaches (cartesian, relative, minimal, natural of finite element coordi-
nates) but, with the exception of minimal coordinates, some joints have to be introduced through
constraint equations b(q), so that the equations of motion form a system of differential algebraic
equations (DAE):
M(q) · q + h(q, q) +AT (q) · λ = g(q, q, t) (6.1)
b(q) = 0 (6.2)
132 6. MODELLING OF THE FOOT BY FINITE ELEMENTSAND COSIMULATION CONCEPT
M represents the mass matrix, h gathers the centrifugal and Coriolis contributions and g the
contribution of external forces. The so-called Lagrange multipliers λ represent the amplitude of
the joint forces respectively associated with constraints b while the matrix A gives the direction.
Constraint equations at position level can be replaced (or completed) by their first or second
time derivatives, called constraint equations at velocity or acceleration level respectively
b(q, q) = B(q) · q = 0 (6.3)
b(q, q, q) = B(q) · q+ B(q, q) · q = 0 (6.4)
The matrix B is called the Jacobian matrix of constraints and defined by
Bij =∂bi
∂qj(6.5)
If energy principles (d’Alembert, Lagrange, Hamilton,. . . ) are used to build the equations of
motion, we have
A =∂b
∂q= B (6.6)
When minimal coordinates are used, no constraint equations are necessary, so that the equations
of motion involve only ordinary differential equations (ODE)
M(q) · q+ h(q, q) = g(q, q, t) (6.7)
with M, h and g defined as before.
6.2.3 Constraint equations and joint forces
As the interfaces between cosimulated submodels consist of joints, these joints and their related
constraint equations are the key components of our gluing strategy. These equations will be
developped in this section.
When the joints between the bodies have to be taken into consideration, they are treated by
means of constraint equations which represent the geometric conditions imposed by the joints.
They restraint the relative motion of two frames, assumingly attached to two different bodies
(cf. Fig. 6.6). Consequently, the constraint equations are also defined between two frames that
we will denote i.a and j.b assuming that a and b point out the local frames belonging to bodies
i and j respectively.
i
i.a
j
j.b
constraints
Figure 6.6: Two frames linked by constraint equations
The constraint equations of holonomic joints are often presented joint by joint. However, the
constraint equations relative to each classical joint can be presented as a subset of the 7 following
generic equations that we will denote by 1b,. . . , cb,. . . , 7b
6.2. Coupling method: cosimulation 133
1b ≡ xi.a · (ei.a − ej.b) = 0 (6.8)
2b ≡ yi.a
· (ei.a − ej.b) = 0 (6.9)
3b ≡ zi.a · (ei.a − ej.b) = 0 (6.10)
4b ≡ yi.a
· zj.b = 0 (6.11)
5b ≡ zi.a · xj.b = 0 (6.12)
6b ≡ xi.a · yj.b= 0 (6.13)
7b ≡ (ei.a − ej.b)2 = d2 (6.14)
where the vectors e refer to the absolute coordinates of the joint frames and x, y and z to the
unit vectors aligned with the axes of these same frames. The first 3 equations correspond to
translation conditions while the last 3 ones correspond to orientation conditions. The seventh
constraint equation expresses the fact that the distance between frames i.a and j.b is constant
and equal to d. For instance a prismatic joint along local x-axis is characterized by the subset2b, 3b, 4b, 5b, 6b. For a revolute joint along local z-axis that is the subset 1b, 2b, 3b, 4b, 5b.
Cylindrical, planar, universal, spherical and “welding” (“clamped” or fixed) joints are possible.
A Lagrange multiplier λl is related to each constraint bl. It represents the amplitude of the joint
force associated with the constraint. This is justified, in a rather intuitive way, by the following
physical interpretation: the geometric conditions imposed by the joints are respected with the
help of equivalent forces/moments applied onto both solids participating to the interface.
It can be demonstrated ( [VERLINDEN1994]) that the joint forces cFi.a,cFj.b and moments
cMi.a,cMj.b applied respectively on frames i.a and j.b due to constraint cb are of the form
cFi.a = cβi.a
· cλ ; cMi.a = cγi.a
· cλ (6.15)cFj.b =
cβj.b
· cλ ; cMj.b =cγ
j.b· cλ (6.16)
The Lagrange multipliers have to be determined from the complete set of dynamic equilibrium
and constraint equations. The β and γ vectors actually gather the partial contributions of
translation and rotation velocities of the frames implied in the constraint equation and can be
easily derived from the constraint equation at velocity level cb:
1βi.a
= xi.a ; 1γi.a
= xi.a × (ei.a − ej.b)1β
j.b= −xi.a ; 1γ
j.b= 0
2βi.a
= yi.a
; 2γi.a
= yi.a
× (ei.a − ej.b)2β
j.b= −y
i.a; 2γ
j.b= 0
3βi.a
= zi.a ; 3γi.a
= zi.a × (ei.a − ej.b)3β
j.b= −zi.a ; 3γ
j.b= 0
4βi.a
= 0 ; 4γi.a
= yi.a
× zj.b4β
j.b= 0 ; 4γ
j.b= −y
i.a× zj.b
5βi.a
= 0 ; 5γi.a
= zi.a × xj.b
5βj.b
= 0 ; 5γj.b
= −zi.a × xj.b
6βi.a
= 0 ; 6γi.a
= xi.a × yj.b
6βj.b
= 0 ; 6γj.b
= −xi.a × yj.b
134 6. MODELLING OF THE FOOT BY FINITE ELEMENTSAND COSIMULATION CONCEPT
7βi.a
= 2(ei.a − ej.b) ; 7γi.a
= 0
7βj.b
= −2(ei.a − ej.b) ; 7γj.b
= 0 (6.17)
It can be observed that the principle of action-reaction is automatically verified with these
expressions. Note also that the expressions of the joint forces (Eqs 6.15 and 6.16) are valid
whichever the considered kinematic approach.
6.2.4 T-T gluing algorithm
6.2.4.1 Definitions
We are going to illustrate the gluing principle by means of the example of a simple planar
case whose original all-in-one model is presented in Fig. 6.7. It is a free double pendulum
y
x Hinge 1
Hinge 2
x ≡ q1
θ1 ≡ q2
θ2 ≡ q3
Slide Rod 1
Rod 2
Figure 6.7: Free double pendulum: all-in-one approach
undergoing the gravity along the y-axis. The slide is constrained to move along x-axis. The
link between slide and rod 1 consists of a hinge. A second hinge allows the rotation of rod 2
with respect to rod 1. So the system is characterized by 3 degrees of freedom (ndof = 3). An
analysis in minimal coordinates leads to choose 3 configuration parameters: in the example, the
x-translation of slide (q1 ≡ x) and the z-rotations with respect to the vertical direction for rods
1 and 2 (q2 ≡ θ1 and q3 ≡ θ2).
The cosimulation strategy firstly consists in dividing the original global model into nsubmbs
“submodels”. The algorithm was developed by using the formalism of the minimal coordinatesfor the submodels. Each submodel k is characterized by its configuration parameters. Vectorq(glob)
gathers them all:
q(glob)
=
q(1)
...
q(k)
...
q(nsubmbs)
(6.18)
with q(k)
= Φ(k) ·q(glob)where Φ(k) is a connectivity matrix, filled with 0 and 1, peculiar to each
submodel k. During the splitting of the all-in-one model, ninterface “cosimulation interfaces”
are created and fictitiously join the submodels 2 by 2. Note that all the submodel and interface
quantities are characterized by indices put between brackets and square brackets respectively.
Concretely, as depicted in Fig. 6.8, we developed 3 submodels in an a priori independent way
(slide ‖ rod 1 ‖ rod 2). In our example the slide conserves one configuration parameter. Each
6.2. Coupling method: cosimulation 135
of the rods can move freely in the plane in function of 3 minimal parameters (x, y and θ). 2
cosimulation interfaces were defined, corresponding to the hinges.
Submodel 1 Submodel 2 Submodel 3
Interfac
e 1
Interfac
e 2
yyy
xxxSlide
Rod 1
Rod 2
x(1)
x(2)
y(2)
θ(2)
x(3)
y(3)
θ(3)q(1)
=(
x(1)
)
q(2)
=
x(2)y(2)θ(2)
q(3)
=
x(3)y(3)θ(3)
Figure 6.8: Free double pendulum: cosimulation approach; kinematics considerations
The configuration parameters q(glob)
are subject to constraint equations:
b[glob](q(glob)) = 0 (6.19)
which depend on the interfaces:
b[glob] =
b[1]
...
b[j]
...
b[ninterface]
(6.20)
with b[j] = φ[j] · b[glob] where φ[j] is a connectivity matrix peculiar to each interface j.
Lagrange multipliers are associated to these constraints:
λ[glob] =
λ[1]
...
λ[j]
...
λ[ninterface]
(6.21)
with λ[j] = φ[j] · λ[glob] where φ[j] is the same connectivity matrix as for the constraints.
As mentioned, each interface j brings into play two submodels. So, each submodel k inter-
venes in a certain number of constraints
b(k) = L(k) · b[glob] (6.22)
and undergoes forces which are function of the Lagrange multipliers
λ(k) = L(k) · λ[glob] (6.23)
136 6. MODELLING OF THE FOOT BY FINITE ELEMENTSAND COSIMULATION CONCEPT
In Eqs 6.22 and 6.23, L(k) is a connectivity matrix peculiar to each submodel k. The interface
forces exerted on the submodels are visible in Fig. 6.9.
Submodel 1 Submodel 2 Submodel 3
Interfac
e 1
(λ [1])
Interfac
e 2
(λ [2])
R[1](λ[1]
)
−R[1](λ[1])
R[2](λ[2]
)
−R[2](λ[2])
yyy
xxxSlide
Rod 1
Rod 2
submbs,2
Figure 6.9: Free double pendulum: cosimulation approach; force considerations
6.2.4.2 Gluing technique at the joints
Actually, the gluing technique aims to split the set of equations of the global system into nsubmbs+1 subsets of equations.First, as already mentioned, the constraint equations, gathered in the global vector b[glob] if
expressed at position level5, have to be respected at the cosimulation interfaces.
b[glob](q(glob)) =
(
b[1] · · · b[j] · · · b[ninterface]
)T
= 0 (6.24)
The local interface forces, ensuing from the Lagrange multipliers associated to the global con-
straints, actually have to be seen as external forces acting onto the cuts of the opened joints.
Assuming that each subsystem k intervenes in nC(k)constraint equations, Eq. 6.7 can be rewrit-
ten for each of the nsubmbs submodels k as
M(k)(q(k)) · q
(k)+ h(k)(q(k)
, q(k)
) = g(k)
(q(k)
, q(k)
, t)−BT(k) · λ(k)
= g(k)
(q(k)
, q(k)
, t) + g∗(k)
(R(k)) (6.25)
where g∗ allows to take into account the interface interactions. The last formulation of Eq.
6.25 is the one considered since forces constitute more natural inputs for mechanical systems
than Lagrange multipliers.
In a gluing strategy, as mentioned previously, Eqs 6.24 and 6.25 are not solved in a unique
solver. Each submodel k described by the subsystem 6.25 is solved separately. In order to not
make each subsystem overdetermined, the Lagrange multipliers (or equivalently the interface
forces) have to be considered constant.
Obviously the nsubmbs subsystems are not independent since the coupling effects have to be taken
into account at the interfaces. What we concretely want is to find the Lagrange multipliers
5But velocity and acceleration levels can be considered as well through Eqs 6.3 and 6.4.
6.2. Coupling method: cosimulation 137
responsible for the interface forces, that we have to inject into each subsystem so as to verify
the constraint equations. The system 6.24, which gathers the constraint equations and plays a
pivotal role. The following Newton-Raphson procedure is the natural way of solving the entire
problem (at position level):
λ[glob]
⌋
it+1=⌈
λ[glob] +G−1 · b[glob]
⌋
it(6.26)
where it denotes the iteration number. G is called the gluing matrix and defined employing the
following matrix formalism
G =∂b[glob]
∂λ[glob]
6.2.4.3 Computation of the gluing matrix G
Let us tackle the key step of evaluating further the gluing matrix and develop
G =∑nsubmbs−1
k=0
∂b[glob]
∂b(k)· ∂b(k)
∂λ(k)· ∂λ(k)
∂λ[glob]
=∑nsubmbs−1
k=0 LT(k) ·G(k) · L(k) (6.27)
where L(k) is the previously defined connectivity matrix and G(k) the local gluing matrix for
subsystem k. The latter can be decomposed deeper in
G(k) =∂b(k)
∂λ(k)
=∂b(k)
∂q(k)
·∂q
(k)
∂λ(k)
(6.28)
The first term of the product directly corresponds to the definition of the Jacobian matrix of
constraints (Eq. 6.5) of submodel k
∂b(k)
∂q(k)
= B(k) (6.29)
The determination of the second one is more complex. Restarting from Eq. 6.25 that we modify
in the following way
M(k)(q(k)) · q
(k)+ h(k)(q(k)
, q(k)
) − g(k)
(q(k)
, q(k)
, t) = −BT(k) · λ(k) (6.30)
As explained in [GERADIN] in the case of a Newmark scheme, a linearization of the left-hand
side of Eq. 6.30, thus without taking into account the interface forces, leads to
(M(k)
βh2+
γh ·CT(k)
βh2+KT(k)
)
·∆q(k)
= −BT(k) ·∆λ(k) (6.31)
where h is the integration step and ∆q(k)
represents the variations of the configuration param-
eters on the interval [t, t + h] due to the interface forces ∆λ(k). β and γ are the Newmark
parameters (0.25 ≤ β ≤ 0.5 and 0.5 ≤ γ ≤ 1 to assure unconditional stability). The KT(k) and
CT(k) matrices represent the tangent stiffness and damping matrices of the submodel, defined
by
138 6. MODELLING OF THE FOOT BY FINITE ELEMENTSAND COSIMULATION CONCEPT
(KT(k))iviw =∂f (k),iv∂q(k),iw
and (CT(k))iviw =∂f (k),iv∂q(k),iw
where f (k) points out the left-hand member of Eq. 6.30.
From Eq. 6.31, we get
∆q(k),i
∆λ(k),j≈ −
[
(M(k)
βh2+
γh ·CT(k)
βh2+KT(k)
)−1
·BT(k)
]
ij
(6.32)
So, from Eqs 6.29 and 6.32, we easily conclude that
G(k) =∂b(k)
∂λ(k)
≈∂b(k)
∂q(k)
·∆q
(k)
∆λ(k)
≈ −B(k) · J−1p(k)
·BT(k) (6.33)
where
Jp(k)=(M(k)
βh2+
γh ·CT(k)
βh2+KT(k)
)
(6.34)
is a pseudo Jacobian assessed at position level.
6.2.4.4 Iterative procedure
To summarize, the original self-sufficient mathematical system derived from Eq. 6.7 and char-
acterized by ndof ordinary differential equations for the ndof minimal configuration parameters,
without constraints and Lagrange multipliers, is decomposed into nsubms underdetermined
subsystems (Eq. 6.25). To solve them at time t, the interface forces R(k) (or equivalently
the λ(k)) have to be considered as constant inputs making these subsystems of equations
determined. In this way each system owns ndof(k) equations in the ndof(k) unknowns q(k)which
can be solved independently with the aid of a classical integration method.
But the interface forces, initially resulting from the previous successful step at time t − h′,
will not satisfy the constrained kinematics at the interfaces for time t: an iterative process
is required. Let us consider the itth iteration (as depicted by the flowchart in Fig. 6.10).
Once the solution is computed for each submodel, interface kinematics is updated for time
t and the constraints b(it)[glob] can be estimated by means of Eqs 6.8-6.14. Each submodel can
evaluate its pseudo Jacobian J(it)(k) (Eq. 6.34). After the central computations of the local
matrices G(it)(k) , B
(it)(k) (Eqs 6.33), 6.5) and the global gluing matrix G(it) (Eq. 6.27), the central
Newton-Raphson procedure (Eq. 6.26) updates the Lagrange multipliers λ(it+1)[glob] . New interface
forces R(it+1)(k) are computed via Eqs 6.15 and 6.16 for each submodel. This iterative strategy,
using the kinematics from the current iteration to upgrade the interface forces R(it+1)(k) for the
next iteration, is repeated until reaching the maximum error on the constraints max(|b(it)[glob]|)
lower than a given tolerance Tol. Then the simulation can progress to time t+ h.
6.2.4.5 Numerical considerations� Initial configuration and conditions
Care must be taken to set up the submodels with appropriate initial conditions (positions
6.2. Coupling method: cosimulation 139
Yes, next time with R(1)(k)(t+ h) = R
(it+1)(k) (t)
No, new iteration with R(it+1)(k)
max(|b(it)[glob]|) < Tol
time t
time t+ h
∀submodel
k=
1...n
subm
bs
Centrally
itth solving of the kth subsytem with R(it)(k)
itth update of the interface kinematics
Computation of the pseudo Jacobian J(it)(k)
Computation of the constraints b(it)[glob]
Computation of the submatrix B(it)(k)
Computation of the submatrix G(it)(k)
Computation of the global gluing matrix G(it)
Update of the Lagrange multipliers λ(it+1)[glob]
Computation of the interface forces R(it+1)(k)
Figure 6.10: Flowchart describing the iterative procedure
140 6. MODELLING OF THE FOOT BY FINITE ELEMENTSAND COSIMULATION CONCEPT
and velocities) so that the constraint equations of the interfaces are verified at time t = 0
for the three levels (position, velocity and acceleration).
So far, the initial accelerations are assumed to be equal to zero in our implementation which
implies no external forces (including no gravity) at initial time and null initial Lagrange
multipliers. The external forces have to be applied gradually (for instance fitting a ramp
profile) in a short period of time (0.01 second for example). This does not constitute a
real limit of the gluing algorithm. To overcome it, it would be sufficient to iterate on the
interface forces until the initial interface accelerations match. This acceleration level is
not implemented yet because it was not judged useful in a first purpose of validation of
the gluing algorithm.� Constraint level
Only position and velocity levels are currently implemented. A flag allows to choose the
method to use.
The general gluing algorithm has been described in the previous pages for the position
level. Concerning the velocity level the differences are summarized in three points. First
the constraint errors b are replaced by the ones at velocity level b. Secondly the pseudo
Jacobian must be computed from
Jv(k)=(M(k)
γh+CT(k) +
βh2 ·KT(k)
γh
)
(6.35)
Finally the test determining the continuation of the simulation or the start of a new iter-
ation becomes max(|b[glob]|) < Tol. The expression of the Jacobian matrix of constraints
is not affected.� Computation of the pseudo Jacobian
The computation of each pseudo Jacobian J(k) is realized by numerical differentiation and
is very time consuming. Practically, it is recomputed only if the convergence is not reached
after 6 steps or if time step has been changed (J(k) depends on the time step h).� Time step management
Each submodel is not free to use its own preferred step size: the global gluing algorithm
enforces the interactions between the submodels at time intervals tuned by itself. The
time step is actually function of the global and local convergence history. Each submodel
can return an evaluation of the next time step supposed to achieve local convergence.
The minimum of these returned values is normally used as next time step. But if ten
unsuccessful iterations are performed, time step is reduced by 4/3. The same factor is
applied if a submodel locally diverges. Time step can be relaxed by 1.25 if the maximum
error is lower than one third of the error tolerance, after global convergence.� Interface frames and points of application of forces
Each cosimulation interface j has only two “interface frames” pointed out by Frame⋆[j]and Frame[j], each of them belonging to a distinct submodel. The interface frame
with the subscript ⋆ is called “master”, the other one without subscript, “slave”. This
dominancy feature intervenes in the computation of the constraints (cf. Eqs (6.8),
(6.9) and (6.10)) but also in the determination of the interface forces: the cosimulation
procedure provides the direction of the interface forces for the master frame. Fig. 6.11
depicts these considerations.
6.2. Coupling method: cosimulation 141
Submodel 1 Submodel 2 Submodel 3
Interfac
e 1
Interfac
e 2x⋆[1]
y⋆[1]
x [1]
y [1]
x⋆[2]
y⋆[2]
x[2]
y[2]
Frame⋆[1]
Frame[1]
Frame⋆[2]
Frame[2]
yyy
xxxSlide
Rod 1
Rod 2
Figure 6.11: Free double pendulum: cosimulation approach; interface frame considerations
As expressed by Eqs 6.8-6.14, the constraint equations are formulated as functions of the
absolute coordinates of the joint frames and the unit vectors aligned with the axes of these
same frames. But the interface frames (coordinates and directions) are not employed
to determine the locations of the points of application of the interface forces. During
the iterative process the interface frames are not merged. It is still the case even when
convergence is reached, since a convergence tolerance exists. So, moment arms appear. To
avoid to alter the energetic balance, we artificially introduce some points of application
(P ) with intermediary frames in both submodels participating to each interface.
Figure 6.12 illustrates the situation in case of a spherical joint with voluntary enlarged
gap at the interface. The common point of application is defined halfway between the two
interface points. However even if the coordinates of their origin are the same, each frame
conserves the same direction as the respective interface point.
Frame⋆[1]x⋆[1]
y⋆[1]
P ⋆[1] xP ⋆
[1]
yP ⋆[1]
Frame[1]x[1]
y[1]P[1]xP[1]
yP[1]
Figure 6.12: Frames and point of application for a spherical joint
Figure 6.13 illustrates the situation in case of a 2D prismatic joint. The application points
are determined by projection on the bisector of the angle defined by the axes of the two
frames representing the directions of the prismatic guide way. This can be applied generally
in 3D by using vector calculus.
142 6. MODELLING OF THE FOOT BY FINITE ELEMENTSAND COSIMULATION CONCEPT
angle bisector
Frame⋆[1]
x⋆[1]
x⋆[1]
y⋆[1]
P ⋆[1]
xP⋆[1]
yP⋆[1]
Frame[1]
x[1]
x[1]y[1]
P[1]xP[1]
yP[1]
Figure 6.13: Frames and points of application for a prismatic joint
6.2.5 Validation and discussion
The results presented hereafter are related to an academic benchmark and a more sophisticated
application. The simulations were performed with and without gluing strategy by means of the
EasyDyn library on a computer equipped with an Intel quad-core processor.
Only the method considering constraints at velocity level could be validated: numerical
dissipation is required for all-in-one DAE systems with constraints b at position level, so
that integration is stable ( [GERADIN], [TSENG2001]). In our case neither the gluing
method nor the classic Newmark scheme of the Easydyn solver introduces numerical damping.
Implementing a second order HHT method was not judged necessary for the purpose of the
general validation of the gluing algorithm.
The first validation concerns the free double pendulum already described in this article. The
initial conditions are q1 = 0 m, q2 = π/4 rad and q3 = π/2 rad. All velocities are zero. Gravity
is applied after 0.001 s.
As shown in Fig. 6.14 and 6.15 it seems that the curves ensuing from the cosimulation fit very
well the all-in-one reference curves (for the configuration parameters as well as for the interface
forces). The notations employed are the same as in Fig. 6.7 and 6.8.
0
0.5
1
1.5
0 1 2 3 4 5
-1.5
-1
-0.5
0
0.5
1
1.5
q 1 a
nd q
(1),
1 [m
]
q 2, q
3, q
(2),
3 an
d q (
3),3
[rad
]
Time [s]
q1q2q3
q(1),1q(2),3q(3),3
Figure 6.14: (Co)simulation of a free double pendulum
Figure 6.16 giving the absolute error allows to check the accuracy more precisely. It is observed
that values of about 0.07 mm in translation for the slide (submodel 1) and 0.005 degree in
rotation for rod 2 (submodel 3) are the maximum absolute errors.
The absolute errors on the second time derivatives of the configuration parameters are illustrated
in Fig. 6.17. They are not significant.
The six-legged walking robot AMRU5 illustrated in Fig. 6.18 is the most advanced applica-
tion which was treated. As explained in [HABUMUREMYI2004] and [VERLINDEN2005] this
6.2. Coupling method: cosimulation 143
-20
0
20
40
60
80
100
120
140
0 1 2 3 4 5F
orce
s [N
]
Time [s]
FxHinge 2FyHinge 2Cosimulated FxHinge 2Cosimulated FyHinge 2
Figure 6.15: Interface forces at hinge 2 (pendulum)
-7e-05
-6e-05
-5e-05
-4e-05
-3e-05
-2e-05
-1e-05
0
1e-05
2e-05
0 1 2 3 4 5-0.003
-0.002
-0.001
0
0.001
0.002
0.003
0.004
0.005
Abs
olut
e er
ror
on q
(1),
1 [m
]
Abs
olut
e er
ror
on q
(2),
3 an
d q (
3),3
[o ]
Time [s]
q1-q(1),1q2-q(2),3q3-q(3),3
Figure 6.16: Absolute errors on the configuration parameters (pendulum)
-0.003
-0.002
-0.001
0
0.001
0.002
0.003
0 1 2 3 4 5-0.6
-0.4
-0.2
0
0.2
0.4
0.6
Abs
olut
e er
ror
on q
dd(1
),1
[m/s
2 ]
Abs
olut
e er
ror
on q
dd(2
),3
and
qdd (
3),3
[o /s2 ]
Time [s]
qdd1-qdd(1),1qdd2-qdd(2),3qdd3-qdd(3),3
Figure 6.17: Absolute errors on the second time derivatives of the configuration parameters
(pendulum)
144 6. MODELLING OF THE FOOT BY FINITE ELEMENTSAND COSIMULATION CONCEPT
robot consists of 49 bodies (1 central body and 8 bodies per leg) and involves 24 configuration
parameters (6 for the central body and 3 per leg) and 18 dependent parameters (3 per leg). The
model includes the dynamics of the DC motors and a contact with friction between the legs
and the ground. The kinematics of each leg consists of a pantograph mechanism. Concerning
Figure 6.18: Illustration of walking robot AMRU5
the simulation the robot is located 50 cm above the ground and nothing happens during two
seconds. Then gravity is applied, robot falls to reach an equilibrium state on the ground. After
t = 3 seconds, the robot tries to follow a reference trajectory, defined in a setup phase and
aiming to impose a constant velocity of the centre of gravity of the central body. During the
simulation, reference configuration parameters of the legs ensue from inverse kinematics and
digital controllers try to fit the real configuration parameters to the reference ones. So, four
steps are generated along a straight line.
The global system was cosimulated in the following way: the central body (submodel(7)) and
all the legs (submodel(k), k = 1 . . . 6) were made independent. So six cosimulation interfaces
separate the seven submodels. Each leg submodel includes the three motors and the anchor
part (body(k),5) located in front of the proximal motor (as illustrated in Fig. 6.19 describing
also the leg’s kinematics and the pantograph mechanism).
E
D
B
F
αδ
γ+δ
Cγ−α
π−γ−δ
X
Z
γA
Common reference frame
body(k),1 body(k),2
body(k),3body(k),4
body(k),5
q(k),7
q(k),8
q(k),9
(q(k),1, q(k),2, q(k),3, q(k),4, q(k),5, q(k),6)
Figure 6.19: Kinematic structure of a leg submodel
By proceeding in such a way six welding joints are defined. Six configuration parameters
characterize the kinematics of the central body submodel (the first three ones for the translation
and the other three ones for the rotation). Each leg submodel owns nine degrees of freedom.
Six are used to globally position the interface point of the leg and the other three (q(k),7, q(k),8
6.3. Summary 145
and q(k),9), which are the same as in the global all-in-one model, directly refer to the translation
and rotation motions of the leg components.
Figure 6.20 presents the simulation results and Fig. 6.21 the absolute errors on the translation
configuration parameters of the central body (submodel(7)). A maximum error of about 0.02
mm appears when the robot hits the ground. This is not very astonishing since the maximum
velocity and deceleration are encountered at the end of the fall.
-0.1
0
0.1
0.2
0.3
0.4
0.5
0 2 4 6 8 10 12 14
q [m
]
Time [s]
q1 (translation along X)q2 (translation along Y)q3 (translation along Z)
q(7),1q(7),2q(7),3
Figure 6.20: (Co)simulation of AMRU5
-1.5e-05
-1e-05
-5e-06
0
5e-06
1e-05
1.5e-05
2e-05
2.5e-05
0 2 4 6 8 10 12 14
Abs
olut
e er
ror
on q
6,0
and
q 6,1
[m]
Time [s]
q1-q(7),1q2-q(7),2q3-q(7),3
Figure 6.21: Absolute errors on the translation configuration parameters (central body of
AMRU5)
So the accuracy is excellent in both examples but what about the simulation duration ?
It was always longer in both treated applications. A simulation time gain has not to be really
expected because of the necessity of iterating to reach the convergence. Moreover, in the AMRU5
application, the quad-core can not run simultaneously the 7 submodels. But the main goal of
the gluing algorithm was to merge separate submodels and not the computational efficiency.
6.3 Summary
We constructed a foot finite element model in which almost all the physiological subcomponents
are modelled and its validation was performed for three postures and a sophisticated rolling
146 6. MODELLING OF THE FOOT BY FINITE ELEMENTSAND COSIMULATION CONCEPT
motion by comparison with experimental data. The lack of friction between the toes does
not seem critical. The only important components which were not modelled are the muscles6.
Their passive behaviour was merged into the hyperelasticity of the soft tissues but their active
contributions, i.e. the bones actuation, is sorely missing. This finite element could be used to
build a more accurate foot model based on viscoelastic elements since the one incorporated so
far in our multibody model is perfectible as shown in the results presented in Chapter 4. This
might allow to design a Winkler foundation made up of springs and dampers located in parallel
and shaping the plantar so as to model the foot-ground contacts more physiologically.
A T-T gluing algorithm, called CosimDyn, was developed and implemented. Its validation
for the velocity level and rigid multibody subsystems with minimal coordinates was performed
with the aid of the EasyDyn library. The method consists in imposing kinematic holonomic
constraints at each joint which separates two submodels and defining a cosimulation interface
in the same way. A Newton-Raphson iterative procedure permits to compute the interface
forces which are regarded as external forces by the submodels. The presented results show that
the method is very accurate even if the constraint equations are not verified at each level.
There are no limitations which prevent the algorithm from being extended to the other
kinematic approaches and finite element subsystems.
Collaborate and “cosimulate“ with a (possibly commercial) FE sofware could constitute an
interesting future work. In the framework of the physiological modelling of the human walking,
the cosimulation of our multibody (sub)model with 2 foot finite element (sub)models would
be particularly interesting since the cutanous mechanoreceptors require the knowledge of the
stress-strain states in the soft tissues.
The resolution, accuracy and modelling power which characterize the finite element approaches
have however a price: the models are computationally very expensive and the cosimulation
would only make the simulation duration even longer. But let us be optimistic and have
confidence in the Moore’s law. As said in the introduction of this chapter, we opened
the perspective, maybe utopian but theoretically feasible, of a new kind of really complex
multidisciplinary simulation. However it is just, as mentionned, a perspective and still a lot of
work must be done before reaching the ultimate goal.
6The modelling could be pushed further for example by separating the skin sublayers (epidermis, dermis and
hypodermis) from the other soft tissues but is this really necessary ... We do not think so.
CHAPTER 7
Implementation details
We are going to present in this chapter some details of the modifications realized in the EasyDyn’s
code and of the implementations personally programmed for the musculoskeletal model, the
optimization procedure and the CosimDyn library.
7.1 EasyDyn
The Department of Theoretical Mechanics, Dynamics and Vibrations of the Faculty of Engi-
neering, Mons, Belgium owns its own C++ library, called EasyDyn, for simulation of problems
represented by second-order (or first-order) ordinary differential equations and, more particu-
larly, multibody systems. The description of this library can be found in [VERLINDEN2005].
Originally it was organized in 4 modules:
- vec: this module puts together some C++ classes relative to vector calculus (vector, rotation
tensor, homogeneous transformation matrix, inertia tensor). Some assignment methods
and operators are also defined.
- sim: it implements a Newmark’s routine without numerical damping,
- mbs: it consists of a front-end to sim building the equations of motion of a mechanical
system from the applied forces and the kinematics of bodies expressed in terms of minimal
coordinates.
- visu: the visu part of the library allows to create the files used by the EasyAnim software
to visualize and animate a scene composed of moving objects (shape elements).
Some modifications and/or improvements were brought to the EasyDyn library.
7.1.1 Implementation in the object-oriented spirit
The EasyDyn modified was rewritten in the object-oriented spirit in order to take advantage of
the properties of inheritance and polymorphism. Originally, only the module vec was written
by means of classes. The three other modules were transformed into C++ object oriented code.
The mbs class became a derived class from the sim base class.
147
148 7. IMPLEMENTATION DETAILS
Thanks to that, any model is built from the sim and mbs classes and inherits the generic
variables and functions of these classes. For each object directly derived from the sim class,
specific virtual functions have to be written to compute the residuals and input the initial
conditions. For the objects derived from the mbs class, the function related to the residuals is
not required but other specific functions have to describe the kinematics and add the forces.
These classes were also used to construct the submodels interacting with the CosimDyn
cosimulation library.
Another property of the object-oriented implementation concerns the protection of the data. It
is ensured by organizing the variables and functions with the 3 following access levels: private,
public and protected.
7.1.2 Sparse solver
The replacement of the original dense solver of the GSL library by a sparse solver was envisaged
and implemented for the purpose of efficiency.
Let us consider the iterative Newton-Raphson’s procedure aiming to update the configuration
parameters during the solving of the system of ordinary differential equations (cf. Eq. 3.13 and
written again here):
qt+h,n = qt+h,n−1 − J−1 · F(qt+h,n−1) (7.1)
The inversion of the Jacobian matrix J is concretely replaced by the solving of a linear system:
actually the second right-handed term of Eq. 7.1 is computed by
Jx = F(qt+h,n−1) (7.2)
by means of the GSL LU solver.
The Jacobian matrix whose expression of each element is
Jij =
(
δFi
δqj
)
with the other configuration parameters ( 6= j) remaining constant
(7.3)
Since all the state variables do not interact together directly (i.e. the state variables do not
explicitly influence all the equations), the jacobian matrix may be characterized by a very low
filling rate (ratio of the number of nonzero elements to the total number of elements), especially
for large systems. For a multibody system, if all the motion-related configuration parameters
are included in the same kinematic chain, they influence each other. Consequently the square
submatrix related to the motion equations and configuration parameters is a dense matrix. The
sparsity is then introduced by the subcomponents not related to the motion. The number of
ODE’s they bring has to be very important to switch from a dense Jacobian matrix to a sparse
7.1. EasyDyn 149
one (cf. Expression 7.4 where the X symbols point out the nonzero elements).
J =
J(dense)motion
X
X
X
X
X
X. . .
X
X X X
. . .
X
X
(7.4)
It is precisely the case for our whole muskuloskeletal model: each of the numerous equations
of the passive joint moments and muscles only involves a reduced number of different state
variables. In this particular case, sparse solvers are more efficient because they allow to avoid
superfluous computations by omitting the matrix cells where the values are zero.
Note that the sparsity pattern does not only intervene in the date storage of the Jacobian
matrix and the solving of the system related to the Newton-Raphson procedure. Actually our
implementation also takes advantage of the sparsity pattern during the building of the Jacobian
matrix: only the nonzero elements are evaluated by numerical differentiation.
Two open-source sparse solvers were embedded into EasyDyn. UMFPACK ( [UMF-
PACK@net] is a set of routines for solving unsymmetric sparse linear systems. Some of them
were used to implement a sparse LU factorization. SuiteSparseQR [SuiteSparseQR@net] is an
implementation of the multifrontal sparse QR factorization method. For the purpose of higher
computational efficiency, parallelism can even be exploited by this second sparse solver with
shared-memory multicore architectures.
A pure virtual function was declared in the sim class
v i r t u a l s i z e t SparsityPattern CCS ( in t * do f locked=0)=0;
It aims to define the sparsity pattern. This function must be written for each multibody system
if the user wants to employ the sparse solver. The nonzero elements must be identified by
the user by observing each ODE and checking whether each configuration parameter exerts a
direct partial contribution. The Jacobian matrix has to be represented by using the compressed
column form. The ndof × ndof matrix, for which nz elements are nonzero, has to be stored by
means of three arrays: Ie, Ir and V al of size ndof + 1, nz and nz and type integer, integer and
real respectively. Ie[j] represent the index (from 0 to nz − 1) of the first nonzero element of
column j. The first entry Ie[0] must be zero. The total number of entries in the matrix is thus
nz = Ie[ndof +1]. The row indices (sorted in ascending order) of entries in column j are stored
in Ir[Ie[j]...Ie[j + 1]− 1]. The corresponding values are stored in V al[Ie[j]...Ie[j + 1]− 1].
A benchmark was realized by considering all the lower limb degrees of freedom (but locking
the pelvis and trunk movements) and by including the passive joints moments1The toe and
pelvis-trunk joints were modelled by means of Amankwah’s passive joint moments and arbitrary
coefficients, increasing the size of the system by 5 equations.. Gravity was applied. Muscles
150 7. IMPLEMENTATION DETAILS
were not inserted. The system was made up of 40 dof. Only 28 were unlocked: 14 for the
motion of the lower limbs and as many for the related passive joint moments. Both lower limbs
were initially extended and raised at the same height thanks to the initial conditions. At the
beginning of the simulation the legs were released and started oscillating above the ground
without touching it. We performed the simulation with either the original GSL solver and the
UMFPACK sparse solver. The equations related to the right leg are introduced before the
ones of the left leg. Results are visible in Fig. 7.1. At first sight they match. By zooming in
-30-20-10
0 10 20 30 40 50 60
0 1 2 3 4 5 6 7
Time [s]
Angle
R HIP flex (GSL)L HIP flex (GSL)L HIP flex (GSL, with inversion left-right)R HIP flex (GSL, with inversion left-right)R HIP flex (UMFPACK, with inversion left-right)L HIP flex (UMFPACK, with inversion left-right)L HIP flex (UMFPACK, with inversion left-right)R HIP flex (UMFPACK, with inversion left-right)
Figure 7.1: Comparison of simulations performed with the GSL and UMFPACK solvers and
with inversion of the equations related to the left-right legs
around the final time and reporting the values in Table 7.1, two observations can be made.
First, both solvers do not give exactly the same results. Secondly, the left-right symmetry
Simulation R HIP flex [◦] L HIP flex [◦] Absolute difference [◦]
GSL 4.397848417 4.397848408 8.70659 · 10−9
UMFPACK 4.397844967 4.397844976 8.70683 · 10−9
GSL (with left-right inversion) 4.397850274 4.397850266 8.69697 · 10−9
UMFPACK (with left-right inversion) 4.397847039 4.397847048 8.69914 · 10−9
Table 7.1: Hip flexion angle at the end of simulation for the dense and sparse solvers, with
possible left-right inversion in the order of the ODE’s
is ensured by neither solver. We sought to check whether the slight left-right discrepancies
came from an asymmetry introduced in the equations via the parameters or whether they
ensue from truncation error. If we change the order of equations to put the equations related
to the left leg first, the obtained results, also presented in Table 7.1, lend weight to the
assumption of a not perfectly symmetric model. But we were not able to find the origin of the
asymmetry. On the other hand, when the curves start diverging, the discrepancy is extremely
low, comparable to the machine precision. Note also that local absolute and relative tolerances
on the integration (both set to 10−8) are higher than this final discrepancy. So, the explanation
remains unclear . . . but certainly has a numerical origin.
Concerning the simulation duration, the example treated above does not allow to prove the
efficiency of the sparse solver. Solving of the system lasted about 45 s for both solvers. Only the
7.2. Musculoskeletal model 151
passive joint moments are taken into account and the filling rate is about 0.28. The Jacobian
matrix is not sparse enough in order for UMFPACK to be able to compete with the GSL
solver. The same happened for the simulations related to the generation of kinematics and
signal activation patterns realized in Chapters 4 and 5 respectively. So, the GSL solver was the
solver we used in the optimization processes.
Actually, the sparse solver would be interesting only if all the 88 muscles (or a large majority
of them) were included in the model. We considered the same example as before but with 88
muscles activated by means of ramp activation signals. The 568 equations of the system were
solved for one second of simulation. 1321 seconds were necessary with the GSL solver and 1039
with the UMFPACK one. About 21 % of the simulation duration were saved. The filling rate
was about 0.03.
7.1.3 Introduction of extensible elements of visualization
For the purpose of a realistic visualization, the visu module was modified so that the line and
surface shape elements can change their form all along the animation. Before this modification,
the nodes (or vertices) of the rigid shapes were defined once and for all with respect to a
reference frame defined by means of a homogeneous transformation matrix. The position and
orientation of this reference were updated regularly (for example, during the saving procedure
so as to store the animation). Now, several reference homogeneous transformation matrices
are used to define the visualization of an object and updated in the same way so that the
shape can change. There is only one drawback that is inherent in the functioning of the
EasyAnim software: as the number of nodes must stay constant for any shape element, the
nodes which become unnecessary have to be masked by being lined up with and between the
nodes surrounding it.
The extensible and deformable line segments are particularly convenient to represent lines
with variable paths and then, shortening and lengthening of the muscles and wrapping of
the via-points as well. Fig. 7.2 illustrates the evolution of the musculotendon path of the
right rectus femoris. A via point is located just above the knee when this one is flexed (Fig.
7.2(a)). During the extension movement, the muscle shortens and the a via-point disappears
beyond a certain angle (Fig. 7.2(b)). When a via-point is inactive, its relative homogeneous
transformation matrix is computed so as to put the point exactly in the middle of the line
segment linking the active distal and proximal points.
7.2 Musculoskeletal model
7.2.1 Parallelism employed for the genetic algorithm
For the purpose of computational efficiency, parallelism was employed in the computation of
the individual fitnesses. The only high-performance computing resource we had at our disposal
was a cluster made up of 80 cores. It is characterized by a distributed memory architecture2.
As there is no shared memory for the 80 cores, each core has to compile the program and a
2Actually the dual- and octocores own shared memory locally but globally, the 80 cores do not have a shared
memory space.
152 7. IMPLEMENTATION DETAILS
Via-point
(a) Flexed knee (b) Extended knee
Figure 7.2: Evolution of the musculotendon path during knee extension
simulation has to be performed on each of them. One core is however the master. It manages
the synchronization. A protocol is required to control the data exchange with the slaves. The
Message Passing Interface (MPI) is the language-independent communications protocol thanks
to which the simulations were run in parallel on the processors and MPICH ( [MPICH@net]) is
the particular implementation which was used.
All the genetic operators (seeding, crossover, mutation, migration) are computed by the master.
Generated chromosomes are sent to the slaves. These slaves run the simulations, assess the
fitnesses which are returned to the master and population generation continues within the
master.
7.2.2 C++ object-oriented implementation
A musculoskeletal mbs object built from the EasyDyn’s mbs class permits the implementation of
the musculoskeletal model. It is made up of different classes modelling the skeleton kinematics
and passive joints moments, the muscles and the foot-ground contacts. Let us detail them
further:� skeletonjoints container
Besides the motion-related variables and functions describing the kinematics of the skele-
ton, joints objects (created from the angular joint class) store the kinematic data of the
joints, compute the passive joint moments and manage the application of these moments.
The last two functionalities are realized thanks to the Personal PJM class for the toes
and the Amankwah PJM class for the other joints, both of them derived from the virtual
passive joint moment generator model class.� musclesligaments container3
3We remind the reader that the ligaments are not inserted in our model in spite of the designation of this
class.
7.3. CosimDyn 153
The muscles are gathered thanks to this class and modelled from the muscle container
class. This class owns the generic variables and functions related to the muscle morphom-
etry and path determination. Moreover, an object created on the virtual muscle class
and derived from the virtual muscle actuator model class, specifically manages the force
generation. The choice of the muscles that will be inserted in the simulation is realized by
means of macros set to 0 or 1 in the header file.� footgroundcontact container
The foot-ground contacts are computed thanks to a class called Gun-
ther F contact ellipsoid with planar ground perpendicular to y which detects the contact
of an ellispod with a horizontal plane and generates the foot-ground forces. 12 objects
are built from this class for the 12 ellipsoids attached to the feet.
The different functions which have to be provided by the developer to characterize each
mbs-derived model and allow its dynamic simulation are included in the musculoskeletal mbs
class. They consist in executing loops on the previously mentioned containers (if necessary) so
as to completely define the initial conditions for all the configuration parameters, describe the
kinematics, build the ODE’s, add the forces, ...
7.3 CosimDyn
The cosimulation technique consists in performing the simulation of submodels developed
separetely. By using the object-oriented C++ language, we wrote a library called CosimDyn,
which implemented the gluing algorithm described in Sections 6.2.4.2, 6.2.4.3 and 6.2.4.4.
7.3.1 Parallel algorithm: synchronization and data transfer
In this section more details are given about the implemented version of the gluig algorithm with
the help of the diagram in Fig. 7.3. Note that only one submodel and only one cosimulation
interface are completely represented.
In Fig. 7.3, the red dashed lines with numbers describe the sequence of actions. It can be
seen that the gluing algorithm runs by exploiting parallelism: some computations are realized
simultaneously for the purpose of computational efficiency. Actually all the submodels run
in parallel. For the same reason, the interface quantities are simultaneously computed too.
The central part of the algorithm (cosim) managing the updates of the Lagrange multipliers
by means of the Newton-Raphson’s procedure is a process in itself. These processes are not
independent. At precise instants, some processes have to wait while others are computing.
Imagine that all the submodels are developed on remote computers and run without sharing
memory. As no submodel has direct access to the data of the others submodels, some physical
data transfers are required for inter-processes interaction, symbolized by blue arrows in Fig.
7.3.
All what has been been explained obviously touches on the multitasking in computer science,
that is the inter-processes management (process synchronization) and communication (data
transfer). A set of communication protocols and techniques exists: pipes, threads, MPI,
sockets, . . . Depending on the fact that the solving procedures are performed with shared
154 7. IMPLEMENTATION DETAILS
①a
①b
①bbis
②a
②b
②bbis
③
④
⑤
⑥
⑥bis
⑦
⑦bis
⑧
⑨again
⑨next
...
...
...
...
. . . . . .
t = 0
t
t+ h
tfinal
Central part
Peripheral parts
cosim
Submodel(0)
Submodel(k)
Submodel(n
subm
bs−1)
Interface [0]
Interface [j]
Interface[ninterface−1]
Software/Library submodel(k)
CosimDyn submodel(k)cosimulation
interfaceparticipan
t
• Computation of G =∑
(k) LT(k) ·G(k) · L(k)
• λ[glob]
⌋it+1=⌈
λ[glob] +G−1 · b[glob]
⌋it
• h⌋it+1
= function(h⌋it
, Next h(k), it)
• Request of Jp(k) = function(it)
• Master participant ∈ submodel(k)
• Slave participant ∈ submodel(kk)
F⋆[j] = function(λ[j])
M⋆[j] = function(λ[j])
= part of F(k)
= part of M(k)
F[j] = −F⋆[j]
M[j] = −M⋆[j]
= part of F(kk)
= part of M(kk)• Computation of part
of b[glob], b[glob]
• Computation of partof B(k) and B(kk)
• Computation of coordinates
of point of application
of interface forces
F(k)M(k)
hRequest of Jp(k)
Interface kinematics :eP(k)
, vP(k), aP(k)
∂vP(k)/∂q
(k), ∂ωP(k)
/∂q(k)Jp(k)
Next h(k)
• Solving of M(k)(q(k)) · q
(k)+ h(k)(q(k)
, q(k)
) = g(k)
(q(k)
, q(k)
, t) + g∗(k)
(F(k),M(k))
• Estimation of Next h(k)
• Request of Jp(k) ? Jpk =(
M(k)
βh2 +γh·CT(k)
βh2 +KT(k)
)−1
• Computation of partial velocites∂vP(k)
∂q(k)
and rotations∂ωP(k)
∂q(k)
If Jp(k) requested
• Computation of G(k) = B(k) · J−1p(k)
·BT(k)
Yes
Yes
NoMax(b[glob]) < Tol
Figure 7.3: Algorithm and classes organization
7.3. CosimDyn 155
memory or not (remote computers for example), some can be used or not. In a general way,
the data types and functions of protection, synchronisation, interruption and data sending and
reception differ from a communication protocol to another.
Note that, so far, the communication protocol implemented in CosimDyn is not important.
What matters is the fact that the cosimulation procedure was conceived in a general manner,
to be able to run on a distributed memory system as in shared memory. We considered the
submodels in remote memories because this approach was judged more general: the use of
shared memroy consists in a simple adaptation as explained later.
Let us tackle the description of Fig. 7.3. It is directly observed that each sub-
model is splitted into a central part (CosimDyn submodelk) and a peripheral part
(Software/Library submodelk). Since memory is supposedly not shared, data must be
transferred. They also have to be organized. For this reason we somehow duplicated the
peripheral submodels by means of the central ones. These central submodels can be considered
as reflections, receiving information, treating it and sending it back in the same way as the
peripheral submodels would do, excepted that some data are missing for the latter. Actually,
some data related to the submodels (Gk) can not be evaluated peripherally: they have to be
computed centrally since they require data computed by other submodels and the cosimulation
interfaces. Each peripheral submodel receives interface forces from the central part of the
algorithm, solves its system of equations and sends in return kinematics for each of its cosim-
ulation interfaces. The central submodels also function as intermediaries since the peripheral
submodels do not communicate with each other. Assume now that, at time t and for the itth
iteration, the time step and all the interface kinematics have already been updated and that
computing a new pseudo Jacobian Jpk is necessary. So, submatrices of each submodel Jacobian
matrix of constraints B(k) can be evaluated centrally by each cosimulation interface (①a). At
the same time, the time step and the Jpk request are transferred to each peripheral submodel
via each central submodel (①b and ①bbis). The pseudo Jacobian Jpk is computed by each
Software/Library (②b), from the linearization of the equations of motion in which the interface
forces are omitted. Then, it is sent back (②bbis) to the CosimDyn submodel. When the pseudo
Jacobian is ready to be used (or if a new computing of this matrix upgrade was not required
as initial assumption), local gluing matrix G(k) can be evaluated centrally by each submodel
(③) provided that the computation of the matrices B(k) is finished (①a). Pay attention that
the assembly of B(k) is completed only when all the cosimulation interfaces intervening in the
submodel have brought their contribution. Once all the new local G(k) are available, the global
gluing matrix G is computed and the global Lagrange multipliers λ[glob] can be updated in
the cosim object (④). By means of these Lagrange multipliers, the new interface forces can
be defined in each cosimulation interface (⑤). The global forces and moments are sent (⑥
and ⑥bis) to the related Software/Library submodel via the central submodel. Then, each
Software/Library must solve the system of equations of motion, considering the interface forces
as external, and estimate the time step allowing to succeed the next iteration. If convergence
is reached, computation of interface kinematics, including the partial velocities and rotations,
is performed. Interface kinematics and estimation of the next time step are transmitted (⑦bis
and ⑦) to the cosimulation interfaces contributing to each submodel. At this stage, part of
the global constraints is calculated depending on the kind of interface. Finally, once all the
constraints have been estimated (⑧), if the maximum error on the constraints (considered
156 7. IMPLEMENTATION DETAILS
as the max(fabs(b[glob]))) is lower than a given tolerance, simulation at time t + h can be
envisaged (⑨next). Otherwise a new iteration has to start(⑨again). In both cases, the first
things which are done are the determination of the next time step and the possible reevaluation
of the pseudo Jacobian Jpk .
Validation of the gluing algorithm was performed only for POSIX threads which actually
are forks of a computer program into two concurrently running tasks. A thread is contained
inside a process and different threads in the same process share the same memory, while
different processes do not. So, data do not have to be duplicated at different memory locations.
Physical data transfers are useless. Pointers have to be used instead. But in return shared
memory access must be protected and synchronized: “mutex” and “condition” variables,
locking, unlocking, waiting and signaling functions permit to access shared data only when it
is required and safe. Actually all the red lines and blue arrows in Fig. 7.3 are accompanied by
mutex and condition variables. We invite the readers to consult the webpages [POSIX1@net]
and [POSIX2@net] for the complete details of the implementation of the POSIX norm.
Multithreading was chosen owing to the better performances that the shared memory provides
and that account for the advent of multicore processors. Note however that there is technical
restriction to employ the gluing strategy with the MPI protocol on remote computers. Some
specific functions have just to be rewritten to take into account this inter-process communication
protocol.
In the central part of our program (see Fig. 7.3), one cosim object, nsubmbs Cosim-
Dyn submodel and ninterface cosimulation interfaces cohabit. A thread is associated to each
of them4, allowing to compute the relevant quantities at the right time as explained in the
description of the implementation of the gluing algorithm. Each peripheral Software/Library
submodel consists in one other process5. So, the total number of threads amounts to5:
1 + 2 · nsubmbs + ninterface (7.5)
7.3.2 C++ object-oriented implementation
The object-oriented C++ language was used in order to take advantage of the properties of
inheritance and polymorphism principally. The variables and procedures are gathered within
the following classes:� cosim: it represents the central part of the algorithm. It is responsible for the computation
of the global matrix G, the iterative update of the Lagrange multipliers (λ[glob]) and the
time step management. It also decides whether the pseudo Jacobian must be reevaluated.� cosimulation interface and derived classes: the cosimulation interface base class is virtual
and virtually responsible for the computation of the constraints and other interface quan-
tities. Some general member functions are implemented: they permit in a general manner
4It is judged more efficient that the central processes run in shared memory even if MPI is used for the data
transfers to and from the peripheral processes.5At least if the subapplication is not parallelized.
7.3. CosimDyn 157
to assess the different quantities cb, cb, ∂ cb/∂q. Derived classes, built from cosimula-
tion interface, allow to define each kind of joint interface:
– cosimulation interface revolutejoint,
– cosimulation interface sphericaljoint,
– cosimulation interface prismaticjoint,
– cosimulation interface weldingjoint
They must specifically compute b[glob], b[glob], Bk by specifying which quantities, or in
other words which indices c (comprised between 0 and 6), are considered for each kind of
joint. So, for example, in case of a hinge along to z-axis, the particular implementation
of b[glob] actually computes 1b, 2b, 3b, 4b, 5b. The same reasoning was made concerning the
determination of the interface forces F[j] and moments M[j] from the global Lagrange mul-
tipliers cλ[j]. Note that the jacobian matrix of constraints B(k) is evaluated by means of a
cosimulation interface procedure, although it is a submodel variable. Actually, it is com-
puted from the partial velocities at the interface frames (∂vP
(⋆)(k)
/∂q(k)
and ∂ωP
(⋆)(k)
/∂q(k)
)
and the partial contributions of translation and rotation velocities of the frames implied
in the constraint equation (β and γ vectors, Eq. 6.17)
B(k) =∂b(k)
∂q(k)
=∂b(k)
∂VP
(⋆)(k)
·∂V
P(⋆)(k)
∂q(k)
(7.6)
where VP
(⋆)(k)
=
vP
(⋆)(k)
ωP
(⋆)(k)
.� submodel and derived classes: the submodel class is a pure virtual base class containing
numerous pure virtual functions which have to be defined in the derived classes. The
CosimDyn communication protocol submodel class is built from the base class by imple-
menting a communication protocol to manage the data exchange between processes and
some generic functions (namely for the computation of local G(k)). The derived Software-
Library communication protocol submodel class incorporates some other functions specific
to each Software/Library (for the solving of the local system of equations of motion, com-
putation of pseudo Jacobian Jp(k) , data saving, . . . ). Practically, in our case, POSIX
threads were used with the EasyDyn library and a EasyDyn pthreads submbs class was
built (based on the EasyDyn’s mbs class).� cosimulation interface participant : the cosimulation interface participant class is used to
store the kinematics and forces of the interface points and frames. The access to these
quantities is realized by pointers from either the submodel or the cosimulation interface
which they belong to and which have to be able to read and replace them.
7.3.3 Matrix and vector calculus
The matrix and vector calculus was realized by means of the open-source Boost C++ library.
Information about Boost can be found in [Boost@net]. The GSL library was not employed as
in EasyDyn since it is less appropriate than Boost for the matrix and vector computations and
since the matrix and vector calculus is one of the cruxes of the matter.
Conclusion
7.4 Personal and original contributions� Modelling task (i.e. creation of the musculoskeletal model)
The constitutive submodels (Delp’s model, Amankwah’s model, Virtual Muscle model, ...)
were implemented by ourself and integrated in the global code. A total of about 50.000
lines were written in the C++ object-oriented language.� Refinement of the EasyDyn library
A new version of the EasyDyn library was completely written in the C++ object-oriented
language.
For the implementation of the sparse solvers, the interactions with UMFPACK and
SuiteSparseQR were managed.� Integration of the genetic algorithm
The use of the GAUL library was mastered, for all what concerns the parametrization of
the genetic algorithm and the parallelization on a cluster (i.e. with distributed memory)
by means of the MPI protocol.� Cosimulation technique
On one hand, the interaction with the Boost C++ library was managed for the matrix
and vector calculus.
On the other hand, the parallelization of processes accessing shared memory was realized
by implementing personally POSIX threads.� Method implemented in CosimDyn
The cosimulation technique was theoritically developed and concretely implemented by
ourself.� Methodology (employed in the musculoskeletal model)
The approach employed in this thesis is more pure and more physiologically-based than
the ones employed in the other works of research cited in Chapter 2. A complex 3D
kinematics, a physiologically validated muscle model and passive joint moments, all of
them based on experimental parameters, were gathered and used within a musculoskeletal
model. Actually only the foot-ground contact model does not rely on physiology and
159
160 CONCLUSION
empiricism and effects are felt in the results.
The 2-steps methodology can not be considered original: it is not fundamentally different
from the all-in-one. But it is thought that the whole methodology used (kinematics +
efforts + periodicity + energy) is more generalizable than only (periodicity + energy),
especially if stepping is considered for example.
Note also that the building of a physiological model of the muscle energy expenditure
was attempted during the stay at the USC, Los Angeles. But, as experimental data were
missing, the modelling effort was not continued.
7.5 Summarize
This doctoral thesis focuses on the human walking, its physiological modelling by means of
computer models and its computer simulation. In the beginning of the research work, the
ultimate goal consisted in the determination of the time histories of the activation signals of
the lower limb muscles, allowing the generation in 3D of a human-like walking pattern. Based
on validated physiological submodels, the global neuromusculoskeletal model had to be able to
reproduce the segmental coordination observed during the gait cycle, maintain body balance,
overcome the muscular overactuation issue, be efficient as in reality from the energetic point of
view and integrate the neural feedback loops. The importance of the latter was emphasized.
Its contribution to body balance is undeniable. Simulations, carried out during the research,
showed that it is pretty difficult to produce a perfectly periodic and stable gait cycle without
control. The lesser discrepancy, even without any perturbation, is directly amplified and causes
a body fall. The walking process, sometimes compared with inverted pendulum, really needs
to be highly controlled by the central nervous system. Unfortunately, even if the modelling
of the muscle spindles and Golgi tendon organs has already been performed by scientists, the
contribution of the cutaneous mechanoreceptors, the spinal circuitry and the influence of the
brain is much less known. For this reason the afferent proprioception and the central nervous
system were dropped. Only the descending pathways innervating the muscles were taken into
account in a musculoskeletal model.
The design of a controller able to drive all the muscles of a musculoskeletal model so as to
generate a stable walking was judged not only difficult but also very few likely to produce a
physiological behaviour. It was judged more reasonable to conceive and validate a “proof of
concept” methodology organized in two steps: (1) the generation of a walking kinematics and
(2) the determination of the activation signals to send to the muscles so as to produce the given
kinematics while producing the corresponding forces. By proceeding this way, the encoutered
troubles can be identified more easily and the subcomponents are tested one after the other.
As the simulatons envisaged in the first two steps are in open loop, an optimization process was
implemented so as to adapt the corresponding time histories in order to get as close as possible
to physiological behaviour in terms of kinematics, forces and balance. It was decided to employ
an island model genetic algorithm, i.e. a kind of trial-and-error method improved thanks to the
existence of genetic operators (selection, mutation, crossover and migration). For both steps,
the formulation of the optimization was challenging. It aimed to sagely choose the relevant
design variables and express the cost function to evaluate the quality of the simulated results.
As the robust genetic algorithms are computationally very costly, the two-steps methodology
is also meant to be the reflect of a smart use of the available limited computer resources and a
7.5. Summarize 161
smart management of the timing constraints.
A 3D forward dynamic musculoskeletal model was developed using a multibody approach by
means of the EasyDyn library. As EasyDyn, the implementation had to be made by using the
C++ language. The object-oriented programming allowed to use the properties of modularity,
inheritance and polymorphism in the code. Two constraints had to be respected during the
developement of the model.
First, all the model subcomponents have to be physiologically based. It is believed that it
is the sine qua non condition to be able to mimic the real behaviour and use the model to
design and control an active prosthesis. The Delp’s kinematics, kinetic data and muscular
insertions were determined from cadavers. Passive joint moments modelling the passive effects
of the structures wrapping the joints are based on experimentations too. The Virtual Muscle
is a phenomenological validated Hill-type model. The discrete natural recruitment driven
by the muscle activation guarantees physiological responses. The parameters related to the
slow and fast fiber types and the muscle ones related to the force generation come from
literature. Actually only the parameters related to foot-ground contacts were imposed more
or less arbitrarily so as to only ensure a physiological penetration in orthostatic position. The
second constraint is related to the open-source property of the EasyDyn library: keeping it
was of first importance. Thanks to it, it was possible to fiddle with the original code to bring
some useful modifications (sparse solver, visualization of the extensible muscles) and interact
with the CosimDyn cosimulation library. It was made sure that all the complementary tools
(GSL, GAUL, BOOST, Boost, POSIX threads, MPICH, ...) are open-source either. Thanks
to this constraint and the use of C++ , the continuation and distribution of the code should
be made easier. The resulting model is computationally expensive due the important number
of configuration parameters. 23 degrees of freedom are motion-related. 12 other configuration
parameters represent the passive joint moments. For the 88 muscles inserted in the lower limbs,
528 supplementary equations have to be considered.
The first step of the methodology consisted in the generation of a 3D walking kinematic
pattern by adapting, from experimental data, three joint angles geometrically included in the
sagittal plane and algebraically formulated by means of Fourier series. Their coefficients were
the design variables of the genetic algorithm. Muscles were not inserted. Convergence was
evaluated thanks to the 3 weighted terms of a cost function. The balance issue was taken into
account thanks to a first predominant term in the cost function, ensuring the periodicity of the
generated motion. The segmental coordination issue, translated into a second term, was solved
thanks to the fact that the kinematics range was reduced around the experimental data. A
third term was added to mimic simultaneously the experimental foot-ground forces. At the end
of this first optimization process, the interpretation of the chromosome of the best individual
shows that the result is actually a tradeoff of the 3 contributions. Periodicity in the sagittal
plane looks fine. But the foot-ground forces visibly prevent the double stance phases. This has
repercussions on the the joint torques and powers. Interestingly, the model of the foot-ground
contacts is the only one for which the parameters were not validated. Nevertheless, the method
worked for this first step.
In the second step, muscular activation patterns were determined with the help of a similar
methodology. This time, the design variables were the samples of the activation signals of
162 CONCLUSION
three muscles wrapping the right ankle. External torques were applied, against which muscle
forces had to be exerted in order for the ankle angle to fit a reference kinematic pattern. The
kinematic discrepancy was the first term of the cost function. The overactuation issue was
envisaged through the addition of a second term representing a simple energetic criterion. A
preliminary test aiming to produce a sinusoidal movement against a rotational damper was
carried out successfully. This represented the second validation of the proof of concept even
if the co-contraction issue can be discussed and investigated further. The high nonlinearity
between the kinematics and the activation signals also showed the difficulty to use a classic
controller and the EMG signals to control the motion. Then it was attempted to mimic
the walking-related ankle kinematic pattern against the walking-related ankle torque. The
convergence got stuck. It is believed that too few muscles were inserted and enough force could
not be produced to struggle against the foot-ground forces. This non-convergence is not due to a
lack of numerical robustness. Under physiological conditions, the model and its subcomponents
work great. The simulations run during the last optimization process only crashed when too
important external forces or torques were applied, causing a kind of numerical muscle tear.
In parallel with the implementation of the musculoskeletal model, a foot finite element
model was designed with the help of the Abaqus commercial software. A rolling motion of
the foot was simulated successfully. So, complete walking should also be possible. The FE
approach would be particularly interesting if the stress-strain states within the soft tissues were
required to compute afferent signals from models of cutaneous mechanoreceptors. Unhappily,
the computational cost hugely penalizes the approach. A gluing algorithm was developed and
implemented in order to allow the cosimulation of submodels designed separately, integrated in
different software products/libraries and solved by different solvers. In this method, Lagrange
multipliers, and thus interface efforts, are updated by means of a Newton-Raphson procedure
so as to ensure the interface constraints. The validation of the technique was only realized on
simple multibody systems but with success too.
All along the research work, computer parallelization was employed for an obvious reason
of efficiency. The GAUL genetic algorithm employs the computing power and the distributed
memory of the cluster’s processors with the MPI commmunication protocol in order to realize
the thousands of simulations necessary to evaluate the fitness function of each individual. In
the CosimDyn library, so far, the submodels run in parallel thanks to the POSIX threads whose
programming was really challenging.
Let us tackle now the outlooks and improvements which can be undertaken from the
present states of the musculoskeletal model and the foot FE model. First of all, the foot
multibody has to be improved. A second ellipsoid has to be put under the heel so as to make
the rear foot flatter. A parametric study has to be performed to tune better the stiffness
and damping coefficients in order to reproduce realistically the double stance phases and keep
the physiological penetration of the foot. Both active and passive contributions are taken
into account for the muscle forces generated by the Virtual Muscle model but the moments
coming from the muscle forces are computed only from the active contractile forces. It has to
be checked whether the passive contribution is really and totally included in the passive joint
moments. From this point, the ultimate simulation can be carried out. It actually constitutes
a fusion of the two kinds of optimization processes realized until now. A realistic model of
7.5. Summarize 163
energetics in skeletal muscles is still needed. Ideally, the Pareto method implemented in GAUL
should be parallelized for the MPI protocol. Note also that the periodicity of the muscle forces
should be evaluated via a term of the cost function since walking is periodic. Depending on
the numbers of considered muscles, locked (but not optimized) motion-related configuration
parameters and available processors, the optimization process will last long or very long. For
a given cluster and a very large number of muscles, a way to decrease this duration consists in
using the UMFPACK or SuiteSparseQR sparse solvers. For the foot FE model, a best meshing
of the foot geometry has to be realized first and foremost with an appropriate software rather
than with the basic Abaqus one. Then, the Abaqus model, from which tibia and fibula bones
have to be removed, can be transposed in an open-source FE software or library (like Code
Aster for example). The code must be available since submodels classes have to be created
in this software/library and the interactions with the CosimDyn library must be managed by
means of a communication protocol. In case of remote computers, MPI functionalities also
have to be implemented in CosimDyn. Cosimulation between this new FE model and the
musculoskeletal model which will have its feet amputed has to be thought about. It is certainly
better if the muscles entirely stay in the multibody system.
APPENDIX A
Human walking may involve spinal pattern generators
The following paragraphs are extracted from [KANDEL].
Unlike spinal cats and other quadrupeds, humans with spinal lesions that effec-
tively transect the spinal cord generally are not able to walk spontaneously. Neverthe-
less, some observations of patients with spinal cord injury parallel the findings from
studies of spinal cats.
In one striking case, only recently reported, an individual with near complete tran-
section of the spinal cord showed spontaneous uncontrollable rhythmic movements of
the legs when the hips were extended. This closely parallels the finding that rhythmic
stepping movements can often be evoked in chronic spinal cats by hip extension. In
another study a drug influencing the biogenic amines (clonidine) was found to im-
prove stepping on a treadmill in a few patients with severe spinal cord injury, as it
does in spinal cats.
Compelling evidence for the existence of spinal rhythm-generating networks in hu-
mans comes from studies of development. Human infants produce rhythmic stepping
movements immmediately after birth if held erect and moved over a horizontal sur-
face. This strongly suggests that some of the basicneuronal circuits for locomotion
are established genetically. These circuits must be located at or below the brain stem
(possibly entirely within the spinal cord) since stepping can occur in anencephalic
infants.
These basic circuits are thought to be brought under supraspinal control in two ways
during the first year of life, as automatic stepping is transformed into functional
walking. First, the infant develops the ability to control locomotion voluntarily. From
what we know about the neuronal mechanisms in the cat, this ability could depend
on the development of reticulospinal pathways and regions activating reticulospinal
neurons (such as the mesencephalic locomotor region). Second, the stepping pattern
gradually develops from a primitive flexion-extension pattern that generates little ef-
fective propulsion to the complex mature pattern. Again, based on studies on cat, it
is plausible that this adaptation is a result of maturation of descending systems orig-
inating from the motor cortex and brain stem nuclei modulated by the cerebellum.
We can conclude, therefore, that human walking relies on the same general principles
165
166 A. HUMAN WALKING MAY INVOLVE SPINAL PATTERN GENERATORS
of neuronal organization as walking in other mammals: intrinsic oscillatory networks
are activated and modulated by other brain structures and by afferent input. Never-
theless, human locomotion differs from most animal locomotion in that it is bipedal,
placing significantly greater demands on descending systems that control balance dur-
ing walking. Indeed, some investigators believe that what allows the infant to begin
to walk independently at the end of the first year is not necessarily maturation of the
stepping pattern, but instead maturation of the system that enables successful balance
control. Contrast this with horses, which can stand and walk within hours after birth.
It is likely, therefore, that the spinal networks that contribute to human locomotion
are more dependent on supraspinal centers than those in quadrupedal animals. This
dependence may in part explain the relatively few observations of spontaneous step-
ping movements in humans with spinal cord injury.
APPENDIX B
Spinal cord modelling
Figure B.1: Schematic diagram of the spinal cord circuitry integrated with the locomotor CPG
used for simulation of the effects of extensor group I and cutaneous afferent stimulation during
fictive locomotion. (Rybak’s model [RYBAK2006II])
167
168 B. SPINAL CORD MODELLING
Figure B.2: Partial view of spinal cord model showing the connections between two ’partial-
synergist’ muscles. The pathways shown are: (Ia) monosynaptic Ia-pathway, (PN) propriospinal
pathway, (Ib) Ib-inhibitory pathway and (R) Renshaw pathway. The ’SET’ gains adjusted the
background activity in the spinal cord and the ’GO’ gains initiated and maintained the transition
to a new state. (Raphael’s model [RAPHAEL2009])
APPENDIX C
Musculoskeletal model: parameters and complementary data
C.1 Kinematics
See Tab. C.1 for the limits which were considered for the range of the degrees of freedom.
dof Minimum Limit: θlim− [rad] Maximum Limit : θlim+ [rad]
R HIP flex −27.5π/180 110π/180
R HIP add −45π/180 22.5π/180
R HIP rot −47.5π/180 37.5π/180
R KNEE ang −150π/180 1π/180
R ANKLE ang −50π/180 20π/180
R SUBT ang −15π/180 25π/180
R MTP ang −30π/180 45π/180
L HIP flex −27.5π/180 110π/180
L HIP add −45π/180 22.5π/180
L HIP rot −47.5π/180 37.5π/180
L KNEE ang −150π/180 1π/180
L ANKLE ang −50π/180 20π/180
L SUBT ang −15π/180 25π/180
L MTP ang −30π/180 45π/180
TORSO bending −20π/180 20π/180
TORSO rotation −20π/180 20π/180
TORSO extension −20π/180 20π/180
Table C.1: Range of the degrees of freedom
The MuPAD Listing C.1 provides a description of the kinematics of the skeletal model.
169
170C.MUSCULOSKELETALMODEL:PARAMETERSAND
COMPLEMENTARYDATA
Listing C.1: Descrition of the kinematics of the whole model
//
//
// ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
// ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
// For the the k inemat ics , t he v i s u a l i z a t i o n and the i n s e r t i o n poin t s o f t he muscles
// ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
// ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
// For pos i t i on ing the CG with r e spe c t to the v i su r e f e r enc e
Pe l v i s s a c r um tr an s l a t i on to CG x :=−0.0707:
Pe l v i s s a c r um tr an s l a t i on to CG y :=0 . :
Pe l v i s s a c r um tr an s l a t i on to CG z :=0 . :
R f emur trans l a t i on to CG x :=0 . :
R f emur trans l a t i on to CG y :=−0.17:
R f emur trans l a t i on to CG z :=0 . :
R t i b i a f i b u l a t r a n s l a t i o n t o CG x :=0 . :
R t i b i a f i b u l a t r a n s l a t i o n t o CG y :=−0.1867:
R t i b i a f i b u l a t r a n s l a t i o n t o CG z :=0 . :
R pa t e l l a t r an s l a t i on to CG x :=0 . 0 0 3 :
R pa t e l l a t r an s l a t i on to CG y :=0 . 0 2 8 :
R pa t e l l a t r an s l a t i on to CG z :=0 . :
R ta l u s t r an s l a t i on to CG x :=0 . :
R ta l u s t r an s l a t i on to CG y :=0 . :
R ta l u s t r an s l a t i on to CG z :=0 . :
R ca l caneus trans l a t i on to CG x :=0 . 1 :
R ca l caneus trans l a t i on to CG y :=0 . 0 1 5 :
R ca l caneu s t r an s l a t i on to CG z :=0 . :
R toe s t r an s l a t i on to CG x :=0 . 0346 :
R toe s t r an s l a t i on to CG y :=−0.002:
R toe s t r an s l a t i on to CG z :=0 . 0 0 5 :
L f emur trans l a t i on to CG x :=0 . :
L f emur trans l a t i on to CG y :=−0.17:
L f emur trans l a t i on to CG z :=0 . :
L t i b i a f i b u l a t r a n s l a t i o n t o CG x :=0 . :
L t i b i a f i b u l a t r a n s l a t i o n t o CG y :=−0.1867:
L t i b i a f i b u l a t r a n s l a t i o n t o CG z :=0 . :
L pa t e l l a t r an s l a t i on to CG x :=0 . 0 0 3 :
L pa t e l l a t r an s l a t i on to CG y :=0 . 0 2 8 :
L pa t e l l a t r an s l a t i on to CG z :=0 . :
L ta l u s t r an s l a t i on to CG x :=0 . :
L ta l u s t r an s l a t i on to CG y :=0 . :
L ta l u s t r an s l a t i on to CG z :=0 . :
C.1.Kinem
atics171
L ca l caneu s t r an s l a t i on to CG x :=0 . 1 :
L ca l caneu s t r an s l a t i on to CG y :=0 . 0 1 5 :
L ca l caneu s t r an s l a t i on to CG z :=0 . :
L to e s t r an s l a t i on to CG x :=0 . 0346 :
L to e s t r an s l a t i on to CG y :=−0.002:
L to e s t r an s l a t i on to CG z :=−0.005 :
Tor so head trans l a t i on to CG x :=−0.03:
Tor so head trans l a t i on to CG y :=0 . 3 2 :
Tor so head trans l a t i on to CG z :=0 . :
F l oo r k i n emat i c s t r a n s l a t i o n x :=0 . :
F l oo r k i n emat i c s t r a n s l a t i o n y :=−0.05:
F l o o r k i n ema t i c s t r a n s l a t i o n z :=0 . :
F l oo r k i n emat i c s r o ta t i on x :=0 . :
F l oo r k i n emat i c s r o ta t i on y :=0 . :
F l oo r k i n emat i c s r o ta t i on z :=0 . :
// Kinematic cons tant s f o r t r an s l a t i o n between j o i n t and v i su r e f e r enc e
R f emur k i n emat i c s t r an s l a t i on x :=−0.0707:
R f emur k i n emat i c s t r an s l a t i on y :=−0.0661:
R f emur k i n emat i c s t r an s l a t i on z :=0 . 0835 :
R t i b i a f i b u l a k i n ema t i c s t r a n s l a t i o n z :=0 . :
R pa t e l l a k i n ema t i c s t r a n s l a t i o n z :=0 . 0024 :
R t a l u s k i n ema t i c s t r a n s l a t i o n x :=0 . :
R t a l u s k i n ema t i c s t r a n s l a t i o n y :=−0.43:
R t a l u s k i n ema t i c s t r a n s l a t i o n z :=0 . :
R ca l caneu s k i n emat i c s t r an s l a t i on x :=−0.04877:
R ca l caneu s k i n emat i c s t r an s l a t i on y :=−0.04195:
R ca l caneu s k i n emat i c s t r an s l a t i o n z :=0 . 00792 :
R toe s k i n emat i c s t r an s l a t i o n x :=0 . 1788 :
R toe s k i n emat i c s t r an s l a t i o n y :=−0.002:
R t o e s k i n ema t i c s t r a n s l a t i o n z :=0 . 00108 :
L f emur k i n emat i c s t r an s l a t i on x :=−0.0707:
L f emur k i n emat i c s t r an s l a t i on y :=−0.0661:
L f emur k i n emat i c s t r an s l a t i on z :=−0.0835:
L t i b i a f i b u l a k i n ema t i c s t r a n s l a t i o n z :=−0. :
L p a t e l l a k i n ema t i c s t r a n s l a t i o n z :=−0.0024:
L t a l u s k i n ema t i c s t r a n s l a t i o n x :=0 . :
L t a l u s k i n ema t i c s t r a n s l a t i o n y :=−0.43:
L t a l u s k i n ema t i c s t r a n s l a t i o n z :=−0. :
L ca l c aneu s k i n emat i c s t r an s l a t i on x :=−0.04877:
L ca l caneu s k i n emat i c s t r an s l a t i on y :=−0.04195:
L c a l c a n eu s k i n ema t i c s t r a n s l a t i o n z :=−0.00792:
L t o e s k i n ema t i c s t r a n s l a t i o n x :=0 . 1788 :
172C.MUSCULOSKELETALMODEL:PARAMETERSAND
COMPLEMENTARYDATA
L to e s k i n ema t i c s t r a n s l a t i o n y :=−0.002:
L t o e s k i n ema t i c s t r a n s l a t i o n z :=−0.00108:
To r s o head k i n emat i c s t r an s l a t i on x :=−0.1007:
To r s o head k i n emat i c s t r an s l a t i on y :=0 . 0815 :
To r s o head k i n emat i c s t r an s l a t i on z :=0 . :
R ta l u s v e c x :=−0.105013547622:
R ta l u s v e c y :=−0.174022450344:
R ta l u s v e c z :=0 . 979126315443 :
R ca l caneus vec x :=0 . 787179606862 :
R ca l caneus vec y :=0 . 604747457256 :
R ca l caneus vec z :=−0.120949491451:
R toes vec x :=−0.580954396870:
R toes vec y :=0 . :
R toe s v e c z :=0 . 813936108523 :
L ta l u s v e c x :=0 . 105013547622 :
L ta l u s v e c y :=0 . 174022450344 :
L t a l u s v e c z :=0 . 979126315443 :
L ca l caneu s vec x :=−0.787179606862:
L ca l caneu s vec y :=−0.604747457256:
L ca l caneu s vec z :=−0.120949491451:
L to e s v e c x :=0 . 580954396870 :
L to e s v e c y :=0 . :
L to e s v e c z :=0 . 813936108523 :
T0G[PELVIS SACRUM] :=Tdisp ( q [ PELVIS tX ] , q [ PELVIS tY ] , q [ PELVIS tZ ] )*Trotz (q [ PELVIS rZ ] )*Trotx (q [ PELVIS rX ] )*Troty (q [ PELVIS rY ] )*Tdisp ( Pe lv i s sacrum trans l a t i on to CG x , Pe lv i s sacrum trans l a t i on to CG y ,
Pe l v i s s a c r um tr an s l a t i on to CG z ) :
TrefG [R FEMUR] :=Tdisp(−Pe l v i s s a c r um tr an s l a t i on to CG x+R femur k inemat i c s t r ans l a t i on x ,
−Pe l v i s s a c r um tr an s l a t i on to CG y+R femur k inemat i c s t r ans l a t i on y ,
−Pe l v i s s a c r um tr an s l a t i on to CG z+R f emur k i n emat i c s t r an s l a t i on z )*Trotz (q [ R HIP f lex ] )*Trotn ( cos (q [ R HIP f lex ]) ,− s i n (q [ R HIP f lex ] ) , 0 , q [ R HIP add ] )*Troty (q [ R HIP rot ] )*Tdisp ( R femur trans lat ion to CG x , R femur trans lat ion to CG y , R f emur trans l a t i on to CG z ) :
BodyRef [R FEMUR] :=PELVIS SACRUM:
TrefG [R TIBIAFIBULA] :=Tdisp(−R femur trans l a t i on to CG x+g5 ( q [ R KNEE ang ] ) ,
−R femur trans l a t i on to CG y+g6 ( q [ R KNEE ang ] ) ,
−R femur trans l a t i on to CG z+R t i b i a f i b u l a k i n ema t i c s t r a n s l a t i o n z )
C.1.Kinem
atics173
*Trotz (q [ R KNEE ang ] )*Tdisp ( R t i b i a f i b u l a t r a n s l a t i o n t o CG x , R t i b i a f i b u l a t r a n s l a t i o n t o CG y ,
R t i b i a f i b u l a t r a n s l a t i o n t o CG z ) :
BodyRef [R TIBIAFIBULA] :=R FEMUR:
TrefG [R PATELLA] :=Tdisp(−R t i b i a f i b u l a t r a n s l a t i o n t o CG x+g7 (q [ R KNEE ang ] ) ,
−R t i b i a f i b u l a t r a n s l a t i o n t o CG y+g8 (q [R KNEE ang ] ) ,
−R t i b i a f i b u l a t r a n s l a t i o n t o CG z+R pa t e l l a k i n ema t i c s t r a n s l a t i o n z )*Trotz ( g9 ( q [R KNEE ang ] ) )*Tdisp ( R pate l l a t r an s l a t i on to CG x , R pate l l a t r an s l a t i on to CG y , R pate l l a t r an s l a t i on to CG z ) :
BodyRef [R PATELLA] :=R TIBIAFIBULA:
TrefG [R TALUS ] :=Tdisp(−R t i b i a f i b u l a t r a n s l a t i o n t o CG x+R ta l u s k i n emat i c s t r an s l a t i on x ,
−R t i b i a f i b u l a t r a n s l a t i o n t o CG y+R ta l u s k i n emat i c s t r an s l a t i on y ,
−R t i b i a f i b u l a t r a n s l a t i o n t o CG z+R ta l u s k i n ema t i c s t r a n s l a t i o n z )*Trotn ( R ta lus vec x , R ta lus vec y , R ta lus vec z , q [R ANKLE ang ] )*Tdisp ( R ta lus t rans l a t i on to CG x , R ta lus t rans l a t i on to CG y , R ta l u s t r an s l a t i on to CG z ) :
BodyRef [R TALUS ] :=R TIBIAFIBULA:
TrefG [R CALCANEUS] :=Tdisp(−R ta l u s t r an s l a t i on to CG x+R ca l caneu s k i n emat i c s t r an s l a t i on x ,
−R ta l u s t r an s l a t i on to CG y+R ca l caneu s k i n emat i c s t r an s l a t i on y ,
−R ta l u s t r an s l a t i on to CG z+R ca l caneu s k i n emat i c s t r an s l a t i on z )*Trotn ( R ca l caneus vec x , R ca l caneus vec y , R ca l caneus vec z , q [ R SUBT ang ] )*Tdisp ( R ca l caneus trans l a t i on to CG x , R ca l caneus trans l a t i on to CG y ,
R ca l caneu s t r an s l a t i on to CG z ) :
BodyRef [R CALCANEUS] :=R TALUS :
TrefG [R TOES] :=Tdisp(−R ca l caneus trans l a t i on to CG x+R toe s k i n emat i c s t r an s l a t i on x ,
−R ca l caneus trans l a t i on to CG y+R toe s k i n emat i c s t r an s l a t i on y ,
−R ca l caneu s t r an s l a t i on to CG z+R to e s k i n ema t i c s t r a n s l a t i o n z )*Trotn ( R toes vec x , R toes vec y , R toes vec z , q [R MTP ang ] )*Tdisp ( R toes t rans l a t i on to CG x , R toes t rans l a t i on to CG y , R toe s t r an s l a t i on to CG z ) :
BodyRef [R TOES] :=R CALCANEUS:
TrefG [L FEMUR] :=Tdisp(−Pe l v i s s a c r um tr an s l a t i on to CG x+L f emur k i n emat i c s t r an s l a t i on x ,
−Pe l v i s s a c r um tr an s l a t i on to CG y+L f emur k i n emat i c s t r an s l a t i on y ,
−Pe l v i s s a c r um tr an s l a t i on to CG z+L f emur k i n emat i c s t r an s l a t i on z )*Trotz (q [ L HIP f lex ] )*Trotn ( cos (q [ L HIP f lex ]) ,− s i n (q [ L HIP f lex ] ) ,0 ,−q [ L HIP add ] )*Troty(−q [ L HIP rot ] )*Tdisp ( L f emur trans l a t i on to CG x , L f emur trans l a t i on to CG y , L f emur trans l a t i on to CG z ) :
BodyRef [L FEMUR] :=PELVIS SACRUM:
TrefG [ L TIBIAFIBULA ] :=Tdisp(−L femur trans l a t i on to CG x+g17 (q [ L KNEE ang ] ) ,
−L femur trans l a t i on to CG y+g18 (q [ L KNEE ang ] ) ,
−L femur trans l a t i on to CG z+L t i b i a f i b u l a k i n em a t i c s t r a n s l a t i o n z )*Trotz (q [ L KNEE ang ] )*Tdisp ( L t i b i a f i b u l a t r a n s l a t i o n t o CG x , L t i b i a f i b u l a t r a n s l a t i o n t o CG y ,
174C.MUSCULOSKELETALMODEL:PARAMETERSAND
COMPLEMENTARYDATA
L t i b i a f i b u l a t r a n s l a t i o n t o CG z ) :
BodyRef [ L TIBIAFIBULA ] :=L FEMUR:
TrefG [L PATELLA] :=Tdisp(−L t i b i a f i b u l a t r a n s l a t i o n t o CG x+g19 (q [ L KNEE ang ] ) ,
−L t i b i a f i b u l a t r a n s l a t i o n t o CG y+g20 (q [ L KNEE ang ] ) ,
−L t i b i a f i b u l a t r a n s l a t i o n t o CG z+L pa t e l l a k i n ema t i c s t r a n s l a t i o n z )*Trotz ( g21 ( q [ L KNEE ang ] ) )*Tdisp ( L pa t e l l a t r an s l a t i on to CG x , L pa t e l l a t r an s l a t i on to CG y ,
L pa t e l l a t r an s l a t i on to CG z ) :
BodyRef [L PATELLA] :=L TIBIAFIBULA :
TrefG [L TALUS ] :=Tdisp(−L t i b i a f i b u l a t r a n s l a t i o n t o CG x+L ta l u s k i n emat i c s t r a n s l a t i o n x ,
−L t i b i a f i b u l a t r a n s l a t i o n t o CG y+L ta l u s k i n emat i c s t r a n s l a t i o n y ,
−L t i b i a f i b u l a t r a n s l a t i o n t o CG z+L ta l u s k i n ema t i c s t r a n s l a t i o n z )*Trotn ( L ta l u s v e c x , L ta l u s v e c y , L ta l u s v e c z ,+q [ L ANKLE ang ] )*Tdisp ( L ta l u s t r an s l a t i on to CG x , L ta l u s t r an s l a t i on to CG y , L ta l u s t r an s l a t i on to CG z ) :
BodyRef [L TALUS ] :=L TIBIAFIBULA :
TrefG [L CALCANEUS] :=Tdisp(−L ta l u s t r an s l a t i on to CG x+L ca l caneu s k i n emat i c s t r an s l a t i on x ,
−L ta l u s t r an s l a t i on to CG y+L ca l caneu s k i n emat i c s t r an s l a t i on y ,
−L ta l u s t r an s l a t i on to CG z+L ca l c an eu s k i n ema t i c s t r a n s l a t i o n z )*Trotn ( L ca l caneus vec x , L ca l caneus vec y , L ca l caneus vec z ,+q [ L SUBT ang ] )*Tdisp ( L ca l caneus trans l a t i on to CG x , L ca l caneus trans l a t i on to CG y ,
L ca l caneu s t r an s l a t i on to CG z ) :
BodyRef [L CALCANEUS] :=L TALUS :
TrefG [L TOES ] :=Tdisp(−L ca l caneu s t r an s l a t i on to CG x+L toe s k i n emat i c s t r an s l a t i o n x ,
−L ca l caneu s t r an s l a t i on to CG y+L toe s k i n emat i c s t r an s l a t i on y ,
−L ca l caneu s t r an s l a t i on to CG z+L to e s k i n ema t i c s t r a n s l a t i o n z )*Trotn ( L toes vec x , L toes vec y , L to e s v e c z ,+q [ L MTP ang ] )*Tdisp ( L toe s t r an s l a t i on to CG x , L toe s t r an s l a t i on to CG y , L toe s t r an s l a t i on to CG z ) :
BodyRef [ L TOES] :=L CALCANEUS:
TrefG [TORSO HEAD] :=Tdisp(−Pe l v i s s a c r um tr an s l a t i on to CG x+Tor s o head k i n emat i c s t r an s l a t i on x ,
−Pe l v i s s a c r um tr an s l a t i on to CG y+Tor s o head k i n emat i c s t r an s l a t i on y ,
−Pe l v i s s a c r um tr an s l a t i on to CG z+Tor s o head k i n emat i c s t r an s l a t i on z )*Trotz (q [ PELVIS TORSO extension ] )*Trotn ( cos (q [ PELVIS TORSO extension ]) ,− s i n (q [ PELVIS TORSO extension ] ) , 0 , q [ PELVIS TORSO bending ] )*Troty (q [ PELVIS TORSO rotation ] )*Tdisp ( Tor so head trans l a t i on to CG x , Tor so head trans l a t i on to CG y , Tor so head trans l a t i on to CG z ) :
BodyRef [TORSOHEAD] :=PELVIS SACRUM:
T0G[FLOOR] :=Tdisp ( F l oo r k i n emat i c s t r an s l a t i on x , F l oo r k i n emat i c s t r an s l a t i on y , F l o o r k i n ema t i c s t r a n s l a t i o n z )*Trotz ( F l oo r k i n emat i c s r o ta t i on z )*Trotx ( F l oo r k i n emat i c s r o ta t i on x )*Troty ( F l oo r k i n emat i c s r o ta t i on y ) :
C.2. Passive joint moments 175
C.2 Passive joint moments
a1 [Nm] a2 [rad−1] a3 [rad−1] a4 [rad−1]
HIP flex 13.0 −180/π · 0.87 180/π · 0.45 180/π · 0.051HIP add 16.0 −180/π · 4.5 − −180/π · 0.27HIP rot 0.3865 −180/π · 2.9240 − −
KNEE ang 6.1 −180/π · 2.3 180/π · 1.1 −180/π · 0.82ANKLE ang 2.8 −180/π · 3.9 −180/π · 0.49 180/π · 0.22SUBT ang 0.65 −180/π · 2.8 −180/π · 0.89 −
a5 [Nm] a6 [rad−1] a7 [rad−1] a8 [rad−1]
HIP flex −6.3 180/π · 1.3 −180/π · 0.11 −180/π · 0.65HIP add −4.8 180/π · 2.3 − −180/π · 0.021HIP rot −0.3865 180/π · 1.1089 − −
KNEE ang −2.0 180/π · 0.50 −180/π · 0.15 −180/π · 0.47ANKLE ang −0.20 180/π · 4.1 −180/π · 0.14 180/π · 1.5SUBT ang −0.63 180/π · 3.0 −180/π · 0.019 −
k [Nm/rad] b [Nm/(rad/s)n] n [ ] s [ ]
HIP flex 0.39 4.6 0.20 19
HIP add 1.4 2.2 0.12 19
HIP rot 2.4 0.45 0.35 19
KNEE ang 0.20 0.71 0.089 19
ANKLE ang 0.31 0.10 0.099 19
SUBT ang 0.20 0.010 0.083 19
Table C.2: Parameters related to the passive joint moments of the joints (excepted the toes)
θlim− [rad] Melim−
[Nm] θlim+ [rad] Melim+ [Nm]
MTP ang −0.785398 0.764539 0.523599 −0.228828
θMe=0 [rad] mlim− [Nm/rad] mlim+ [Nm/rad]
MTP ang 0 −10 −10
b [Nm/(rad/s)n] n [ ]
MTP ang −0.0786517 1
Table C.3: Parameters related to the passive joint moments of the toes
176 C. MUSCULOSKELETAL MODEL: PARAMETERS AND COMPLEMENTARY DATA
C.3 Ellipsoid and foot ground contact parameters
Ellipsoid T0,center [units in m and rad]
R HEEL T0,GR CALCANEUS · Troty(−5π/180) · Tdisp(−0.09,−0.012,−0.0)
R HEAD METATARSAL I T0,GR CALCANEUS · Troty(−10π/180) · Tdisp(0.07,−0.0205,−0.03)
R HEAD METATARSAL IV T0,GR CALCANEUS · Troty(−30π/180) · Tdisp(0.06,−0.02,−0.0025)
R TOE I T0,GR TOES · Troty(−9π/180) · Tdisp(−0.001,−0.005, 0.035)
R TOE II T0,GR TOES · Troty(−7π/180) · Tdisp(0.029,−0.0079, 0.003)
R TOE III T0,GR TOES · Troty(−7π/180) · Tdisp(0.028,−0.005,−0.025)
Ellipsoid a [m] b [m] c [m]
R HEEL 0.0275 0.025 0.0275
R HEAD METATARSAL I 0.0125 0.0125 0.0225
R HEAD METATARSAL IV 0.0125 0.0125 0.0225
R TOE I 0.0075 0.004 0.004
R TOE II 0.01 0.005 0.005
R TOE III 0.015 0.0075 0.0125
Ellipsoid En [N/men ] en [ ] Gn [Nsgn/mgn+1] gn [ ]
R HEEL 1.e10 2 1.1 · 1017 3
R HEAD METATARSAL I 6.5 · 109 2 1.1 · 1017 3
R HEAD METATARSAL IV 6.5 · 109 2 1.1 · 1017 3
R TOE I 6.5 · 109 2 1.1 · 1017 3
R TOE II 6.5 · 109 2 1.1 · 1017 3
R TOE III 6.5 · 109 2 1.1 · 1017 3
µ 0.7
vtcrit [m/s] 0.001
ǫ 0.9
Table C.4: Ellipsoid and foot-ground contact parameters
C.4. Recruitment by intramuscular functional electrical stimulation (FES) 177
C.4 Recruitment by intramuscular functional electrical stimu-
lation (FES)
Concerning the second way of motor unit recruitment it must be said that an electric current can
cause a muscle contraction. Starting with this observation scientists had the idea to stimulate
artificially muscles with the intention of reeducating muscles. And that worked. Electrical
stimulations can be compared to action potentials but they are artificial and are not governed
by the human biochemistry. Electrods can be fixed on the surface of the skin but the results
are not as good as when the electrods are intramuscularly implanted on the epimysium (EFES).
Another efficient solution consists in stimulating the motor nerve upstream the muscle (NFES)
and letting the action potentials contract the muscle. These solutions are depicted in Fig. C.1.
Figure C.1: Epimysial and neural functional electrical stimulations
In the Virtual Muscle model, this strategy of recruitment requires both the global activation
and a stimulus frequency (Fig. C.2). This frequency, because of which the model necessitates a
third input (besides the global activation and the musculotendon path length), is assumed to be
the frequency of stimulation (firing frequency) artificially applied to the muscle and is the same
(in units of pps) for all motor units which are recruited. Their recruitment depends on the level
of the activation signal, i.e. the relative strength of the stimulus. In fact, motor units within
each fiber type are recruited in the order in which they were listed, however, no distinction is
made between recruitment rank. Instead the motor units are recruited so as to equalize the
fraction of each fiber type recruited.
Figure C.2: Pulse of a unipolar rectangular FES signal
178 C. MUSCULOSKELETAL MODEL: PARAMETERS AND COMPLEMENTARY DATA
The intramuscular FES recruitment strategy, summarized in Fig. C.3., may turn out to be
useful for the control of a prosthesis with microcontrollers or microprocessors.
Amplitude of the FES signal
Frequency of the FES signalf
Determination of which motor units are recruited(depending on the PCSA distribution so asFES recruitment:
Direct determination of the firing frequency of all motor units recruited : f
to equalize the fraction of fiber type recruited)
Figure C.3: FES recruitment strategy implemented in VM
C.5. Muscle behaviour 179
C.5 Muscle behaviour
C.5.1 Muscle parameter: fiber type level
The parameters related to the fiber level are presented in Table C.5 for each fiber type.
Parameter [unity] Value
Slow fibers Fast fibers
Sarcomere Length [µm] 2.7 · 10−6
Specific Tension [N/m2] 31.8 · 104c1 [ ] 23.
k1 [ ] 0.0460
Lr1 [ ] 1.1700
η [ ] 0.01
c2 [ ] −0.0200
k2 [ ] −21.0375
Lr2 [ ] 0.70222
cT [ ] 27.8000
kT [ ] 0.0047
LTr [ ] 0.9640
Recruitment rank [ ] 2 3
V0.5 (L0/s) −1.00 −1.67
f0.5 (pps) 12. 20.
fmin (f0.5) 0.5 0.5
fmax (f0.5) 2.0 2.0
ω [ ] 1.1244 0.74633
β [ ] 2.30 1.55
ρ [ ] 1.62 2.12
Vmax [ ] −7.8800 −9.1516
cv0 [ ] 5.88 −5.70
cv1 [ ] 0.00 9.18
av0 [ ] −4.70 −1.53
av1 [ ] 8.41 0.00
av2 [ ] −5.31 0.00
bv [ ] 0.34936 0.68637
af [ ] 0.56 0.56
nf0 [ ] 2.11 2.11
nf1 [ ] 5.00 3.31
TL [s] 0.0880 · 10−3 0.0880 · 10−3
Tf1 [s] 34.2833 · 10−3 20.5700 · 10−3
Tf2 [s] 22.6667 · 10−3 13.6000 · 10−3
Tf3 [s] 47.0333 · 10−3 28.2200 · 10−3
Tf4 [s] 25.2167 · 10−3 15.1300 · 10−3
aS1 [ ] - 1.76
aS2 [ ] - 0.96
TS [s] - 43 · 10−3
cY [ ] 0.3500 -
VY [ ] 0.1000 -
TY [s] 200 · 10−3 -
TU1 [s] 30 · 10−3
TU2 [s] 150 · 10−3
Table C.5: Fiber type parameters
180 C. MUSCULOSKELETAL MODEL: PARAMETERS AND COMPLEMENTARY DATA
C.5.2 Muscle parameters: whole-muscle level
The parameters related to the whole-muscle level are presented in Table C.6 for each muscle.
The meaning of some column headers is given hereafter:
PCSA fraction: physiological cross-sectional area fraction for each fiber type (Slow fiber
type/Fast fiber type)
Functions: physiological action on the motion-related configuration parameters
Other parameters are common to all the muscles:
Ur = 0.8 [ ]
Muscle density = 1.06 · 103 [kg/m3]
From all these parameters, the following quantities can be determined:
PCSA = F0/Specific Tension [m2]
mass = (PCSA ·Muscle density · L0)/ cos(pen ang) [kg]
LT0 = 1.04 · tendon slack length [m]
C.5.Muscle
behavio
ur
181
Muscle name PCSA fraction Optimal fiber length Pennation angle Isometric force Tendon slack length Functions
(Slow/Fast) L0 pennation angle F0 tendon slack length
[%/%] [m] [ ◦] [N ] [m] [ ]
gluteus medius
anterior compartment
R GMED1
52.4/47.6 0.0535 8.0π/180.0 546.0 0.0780
R HIP ABD
R HIP FLEX
R HIP INROT
gluteus medius
middle compartment
R GMED2
52.4/47.6 0.0845 0.0π/180.0 382.0 0.0530 R HIP ABD
gluteus medius
posterior compartment
R GMED3
65.24/47.6 0.0646 19.0π/180.0 435.0 0.0530
R HIP ABD
R HIP EXTROT
R HIP EXT
gluteus minimus
anterior compartment
R GMIN1
52.4/47.6 0.0680 10.0π/180.0 180.0 0.0160
R HIP ABD
R HIP FLEX
R HIP INROT
gluteus minimus
middle compartment
R GMIN2
52.4/47.6 0.0560 0.0π/180.0 190.0 0.0260R HIP ABD
gluteus minimus
posterior compartment
R GMIN3
52.4/47.6 0.0380 21.π/180.0 215.0 0.0510
R HIP ABD
R HIP EXTROT
R HIP EXT
semimembranosus
R SEMIMEM66.9/33.1 0.0800 15.0π/180.0 1030.0 0.3590
R HIP EXT
R HIP ADD
R KNEE BEND
semitendinosus
R SEMITEN66.9/33.1 0.2010 5.0π/180.0 328.0 0.2620
R HIP EXT
R HIP ADD
R KNEE BEND
biceps femoris
long head
R BIFEMLH
66.9/33.1 0.1090 0.0π/180.0 717.0 0.3410
R HIP EXT
R HIP ADD
R KNEE BEND
biceps femoris
short head
R BIFEMSH
66.9/33.1 0.14705 23.0π/180.0 402.0 0.1000 R KNEE BEND
sartorius
R SAR49.6/50.4 0.49215 0.0π/180.0 104.0 0.0400
R HIP FLEX
R HIP ABD
R KNEE BEND
182C.MUSCULOSKELETALMODEL:PARAMETERSAND
COMPLEMENTARYDATA
rectus femoris
R RF38.1/61.9 0.0840 5.0π/180.0 779.0 0.3460
R HIP FLEX
R KNEE EXT
adductor longus
R ADDLONG58.4/41.6 0.1380 6.0π/180.0 418.0 0.1100
R HIP ADD
R HIP EXT
R HIP FLEX
adductor brevis
R ADDBREV58.4/41.6 0.1330 0.0π/180.0 286.0 0.0200
R HIP ADD
R HIP FLEX
adductor magnus
superior component
R AMAG1
58.4/41.6 0.0870 5.0π/180.0 346.0 0.0600R HIP EXT
R HIP ADD
adductor magnus
middle component
R AMAG2
58.4/41.6 0.1210 3.0π/180.0 312.0 0.1300R HIP EXT
R HIP ADD
adductor magnus
inferior component
R AMAG3
58.4/41.6 0.1310 5.0π/180.0 444.0 0.2600R HIP EXT
R HIP ADD
tensor faciae latae
R TFL65.0/35.0 0.0950 3.0π/180.0 155.0 0.4250
R HIP ABD
R HIP FLEX
R HIP INROT
pectineus
R PECT65.0/35.0 0.1197 0.0π/180.0 177.0 0.0010
R HIP ADD
R HIP FLEX
gracilis
R GRA65.0/35.0 0.3520 3.0π/180.0 108.0 0.1400
R HIP ADD
R KNEE BEND
R HIP FLEX
gluteus maximus
superior component
R GMAX1
52.4/47.6 0.1207 5.0π/180.0 382.0 0.1250R HIP EXT
R HIP ABD
gluteus maximus
middle component
R GMAX2
52.4/47.6 0.12495 0.0π/180.0 546.0 0.1270 R HIP EXT
gluteus maximus
inferior component
R GMAX3
52.4/47.6 0.1440 5.0π/180.0 368.0 0.1450
PELV IS R
PELV IS R
R FEMUR
R FEMUR
iliacus
R ILIACUS49.2/50.8 0.1000 7.0π/180.0 429.0 0.0900
R HIP FLEX
R HIP INROT
C.5.Muscle
behavio
ur
183
psoas
R PSOAS49.2/50.8 0.1040 8.0π/180.0 371.0, 0.1300
R HIP FLEX
R HIP INROT
quadratus femoris
R QUADFEM65.0/35.0 0.0540 0.0π/180.0 254.0 0.0240 R HIP EXTROT
gemelli
R GEM65.0/35.0 0.0240 0.0π/180.0 109.0 0.0390 R HIP EXTROT
periformis
R PERI65.0/35.0 0.0260 10.0π/180.0 296.0 0.1150
R HIP EXTROT
R HIP ABD
vastus medialis
R V ASMED52.6/47.4 0.0890 5.0π/180.0 1294.0 0.1260 R KNEE EXT
vastus intermedius
R V ASINT47.0/53.0 0.0870 3.0π/180.0 1365.0 0.1360 R KNEE EXT
vastus lateralis
R VASLAT42.35/57.65 0.0840 5.0π/180.0 1871.0 0.1570 R KNEE EXT
gastrocnemius
medial head
R MEDGAS
50.8/49.2 0.0405 17.0π/180.0 1113.0 0.4080R KNEE BEND
R ANKLE PF
gastrocnemius
medial head
R LATGAS
46.9/53.1 0.0608 8.0π/180.0 488.0 0.3850R KNEE BEND
R ANKLE PF
soleus
R SOL87.7/12.3 0.0255 25.0π/180.0 2839.0 0.2680 R ANKLE PF
tibialis posterior
R TIBPOST65.0/35.0 0.0310 12.0π/180.0 1270.0 0.3100
R ANKLE PF
R INV ERTER
flexor digitorum longus
R FLEXDIG44.5/55.5 0.0289 7.0π/180.0 310.0 0.4000
R ANKLE PF
R INV ERTER
R TOES FLEX
flexor hallucis longus
R FLEXHAL44.5/55.5 0.03655 10.0π/180.0 322.0 0.3800
R ANKLE PF
R INV ERTER
R TOES FLEX
tibialis anterior
R TIBANT73.05/26.95 0.0980 5.0 603.0 0.2230
R ANKLE DF
R INV ERTER
peroneus brevis
R PERBREV62.5/37.5 0.0500 5.0π/180.0 348.0 0.1610
R ANKLE PF
R EV ERTER
peroneus longus
R PERLONG62.5/37.5 0.0490 10.0π/180.0 754.0 0.3450
R ANKLE PF
R EV ERTER
184C.MUSCULOSKELETALMODEL:PARAMETERSAND
COMPLEMENTARYDATA
peroneus tertius
R PERTERT62.5/37.5 0.0790 13.0π/180.0 90.0 0.1000
R ANKLE DF
R EV ERTER
extensor digitorum longus
R EXTDIG45.3/54.7 0.1020 8.0π/180.0 341.0 0.3450
R ANKLE DF
R EV ERTER
R TOES EXT
extensor hallucis longus
R EXTHAL45.3/54.7 0.1110 6.0π/180.0 108.0 0.3050
R ANKLE DF
R INV ERTER
R TOES EXT
tibialis posterior
R TIBPOST265.0/35.0 0.0310 12.0π/180.0 1270.0 0.3100
R ANKLE DF
R EV ERTER
Table C.6: Muscle parameters for the whole-muscle level
C.5. Muscle behaviour 185
C.5.3 Muscle parameters: morphometry
The parameters related to the morphometry are presented in Table C.7 for each muscle. The
meaning of some column headers is given hereafter:
Segments: segments which the path points belong to
Points: coordinates of points along the musculotendon path (with respect to COG)
Range: via-points range if necessary
186C.MUSCULOSKELETALMODEL:PARAMETERSAND
COMPLEMENTARYDATA
Muscle name Segments Points Range
[m] [◦]
gluteus medius
anterior compartment
R GMED1
PELV IS R
R FEMUR
MTH CG TO V ISU PELV IS R · vec(−0.0408, 0.0304, 0.1209)
MTH CG TO V ISU R FEMUR · vec(−0.0218,−0.0117, 0.0555)
gluteus medius
middle compartment
R GMED2
PELV IS R
R FEMUR
MTH CG TO V ISU PELV IS R · vec(−0.0855, 0.04450, 0.0766)
MTH CG TO V ISU R FEMUR · vec(−0.0258,−0.0058, 0.0527)
gluteus medius
posterior compartment
R GMED3
PELV IS R
R FEMUR
MTH CG TO V ISU PELV IS R · vec(−0.1223, 0.0105, 0.0648)
MTH CG TO V ISU R FEMUR · vec(−0.0309,−0.0047, 0.0518)
gluteus minimus
anterior compartment
R GMIN1
PELV IS R
R FEMUR
MTH CG TO V ISU PELV IS R · vec(−0.0467,−0.0080, 0.1056)
MTH CG TO V ISU R FEMUR · vec(−0.0072,−0.0104, 0.0560)
gluteus minimus
middle compartment
R GMIN2
PELV IS R
R FEMUR
MTH CG TO V ISU PELV IS R · vec(−0.0633,−0.0065, 0.0991)
MTH CG TO V ISU R FEMUR · vec(−0.0096,−0.0104, 0.0560)
gluteus minimus
posterior compartment
R GMIN3
PELV IS R
R FEMUR
MTH CG TO V ISU PELV IS R · vec(−0.0834,−0.0063, 0.0856)
MTH CG TO V ISU R FEMUR · vec(−0.0135,−0.0083, 0.0550)
semimembranosus
R SEMIMEM
PELV IS R
R TIBIAFIBULA
MTH CG TO V ISU PELV IS R · vec(−0.1192,−0.1015, 0.0695)
MTH CG TO V ISU R TIBIAFIBULA · vec(−0.0243,−0.0536,−0.0194)
semitendinosus
R SEMITEN
PELV IS R
R TIBIAFIBULA
R TIBIAFIBULA
R TIBIAFIBULA
MTH CG TO V ISU PELV IS R · vec(−0.1237,−0.1043, 0.0603)
MTH CG TO V ISU R TIBIAFIBULA · vec(−0.0314,−0.0545,−0.0146)
MTH CG TO V ISU R TIBIAFIBULA · vec(−0.0113,−0.0746,−0.0245)
MTH CG TO V ISU R TIBIAFIBULA · vec(0.0027,−0.0956,−0.0193)
biceps femoris
long head
R BIFEMLH
PELV IS R
R TIBIAFIBULA
MTH CG TO V ISU PELV IS R · vec(−0.1244,−0.1001, 0.0666)
MTH CG TO V ISU R TIBIAFIBULA · vec(−0.0081,−0.0729, 0.0423)
biceps femoris
short head
R BIFEMSH
R FEMUR
R TIBIAFIBULA
MTH CG TO V ISU R FEMUR · vec(0.0050,−0.2111, 0.0234)
MTH CG TO V ISU R TIBIAFIBULA · vec(−0.0101,−0.0725, 0.0406)
sartorius
R SAR
PELV IS R
R FEMUR
R TIBIAFIBULA
R TIBIAFIBULA
R TIBIAFIBULA
MTH CG TO V ISU PELV IS R · vec(−0.0153,−0.0013, 0.1242)
MTH CG TO V ISU R FEMUR · vec(−0.0030,−0.3568,−0.0421)
MTH CG TO V ISU R TIBIAFIBULA · vec(−0.0056,−0.0419,−0.0399)
MTH CG TO V ISU R TIBIAFIBULA · vec(0.0243,−0.0840,−0.0252)
C.5.Muscle
behavio
ur
187
rectus femoris
R RF
PELV IS R
R FEMUR
R PATELLA
MTH CG TO V ISU PELV IS R · vec(−0.0295,−0.0311, 0.0968)
MTH CG TO V ISU R FEMUR · vec(0.0334,−0.4030, 0.0019)
MTH CG TO V ISU R PATELLA · vec(0.0121, 0.0437,−0.0010)
−150·π180
< R KNEE ang < −83.65·π180
adductor longus
R ADDLONG
PELV IS R
R FEMUR
MTH CG TO V ISU PELV IS R · vec(−0.0316,−0.0836, 0.0169)
MTH CG TO V ISU R FEMUR · vec(0.0050,−0.2111, 0.0234)
adductor brevis
R ADDBREV
PELV IS R
R FEMUR
MTH CG TO V ISU PELV IS R · vec(−0.0587,−0.0915, 0.0164)
MTH CG TO V ISU R FEMUR · vec(0.0009,−0.1196, 0.0294)
adductor magnus
superior component
R AMAG1
PELV IS R
R FEMUR
MTH CG TO V ISU PELV IS R · vec(−0.0732,−0.1174, 0.0255)
MTH CG TO V ISU R FEMUR · vec(−0.0045,−0.1211, 0.0339)
adductor magnus
middle component
R AMAG2
PELV IS R
R FEMUR
MTH CG TO V ISU PELV IS R · vec(−0.0831,−0.1192, 0.0308)
MTH CG TO V ISU R FEMUR · vec(0.0054,−0.2285, 0.0227)
adductor magnus
inferior component
R AMAG3
PELV IS R
R FEMUR
MTH CG TO V ISU PELV IS R · vec(−0.0771,−0.1181, 0.0276)
MTH CG TO V ISU R FEMUR · vec(0.0070,−0.3837,−0.0266)
tensor faciae latae
R TFL
PELV IS R
R FEMUR
R FEMUR
R TIBIAFIBULA
MTH CG TO V ISU PELV IS R · vec(−0.0311, 0.0214, 0.1241)
MTH CG TO V ISU R FEMUR · vec(0.0294,−0.0995, 0.0597)
MTH CG TO V ISU R FEMUR · vec(0.0054,−0.4049, 0.0357)
MTH CG TO V ISU R TIBIAFIBULA · vec(0.0060,−0.0487, 0.0297)
pectineus
R PECT
PELV IS R
R FEMUR
MTH CG TO V ISU PELV IS R · vec(−0.0431,−0.0768, 0.0451)
MTH CG TO V ISU R FEMUR · vec(−0.0122,−0.0822, 0.0253)
gracilis
R GRA
PELV IS R
R TIBIAFIBULA
R TIBIAFIBULA
MTH CG TO V ISU PELV IS R · vec(−0.0563,−0.1038, 0.0079)
MTH CG TO V ISU R TIBIAFIBULA · vec(−0.0154,−0.0475,−0.0358)
MTH CG TO V ISU R TIBIAFIBULA · vec(0.0060,−0.0836,−0.0228)
gluteus maximus
superior component
R GMAX1
PELV IS R
PELV IS R
R FEMUR
R FEMUR
MTH CG TO V ISU PELV IS R · vec(−0.1195, 0.0612, 0.0700)
MTH CG TO V ISU PELV IS R · vec(−0.1291, 0.0012, 0.0886)
MTH CG TO V ISU R FEMUR · vec(−0.0457,−0.0248, 0.0392)
MTH CG TO V ISU R FEMUR · vec(−0.0277,−0.0566, 0.0470)
gluteus maximus
middle component
R GMAX2
PELV IS R
PELV IS R
R FEMUR
R FEMUR
MTH CG TO V ISU PELV IS R · vec(−0.1349, 0.0176, 0.0563)
MTH CG TO V ISU PELV IS R · vec(−0.1376,−0.0520, 0.0914)
MTH CG TO V ISU R FEMUR · vec(−0.0156,−0.1016, 0.0419)
gluteus maximus
inferior component
R GMAX3
PELV IS R
PELV IS R
R FEMUR
R FEMUR
MTH CG TO V ISU PELV IS R · vec(−0.1556,−0.0314, 0.0058)
MTH CG TO V ISU PELV IS R · vec(−0.1529,−0.1052, 0.0403)
MTH CG TO V ISU R FEMUR · vec(−0.0299,−0.1041, 0.0135)
MTH CG TO V ISU R FEMUR · vec(−0.0060,−0.1419, 0.0411)
188C.MUSCULOSKELETALMODEL:PARAMETERSAND
COMPLEMENTARYDATA
iliacus
R ILIACUS
PELV IS R
PELV IS R
R FEMUR
R FEMUR
MTH CG TO V ISU PELV IS R · vec(−0.0674, 0.0365, 0.0854)
MTH CG TO V ISU PELV IS R · vec(−0.0218,−0.0550, 0.0851)
MTH CG TO V ISU R FEMUR · vec(−0.0193,−0.0621, 0.0129)
psoas
R PSOAS
PELV IS R
PELV IS R
R FEMUR
R FEMUR
MTH CG TO V ISU PELV IS R · vec(−0.0647, 0.0887, 0.0289)
MTH CG TO V ISU PELV IS R · vec(−0.0238,−0.0570, 0.0759)
MTH CG TO V ISU R FEMUR · vec(0.0016,−0.0507, 0.0038)
MTH CG TO V ISU R FEMUR · vec(−0.0188,−0.0597, 0.0104)
quadratus femoris
R QUADFEM
PELV IS R
R FEMUR
MTH CG TO V ISU PELV IS R · vec(−0.1143,−0.1151, 0.0520)
MTH CG TO V ISU R FEMUR · vec(−0.0381,−0.0359, 0.0366)
gemelli
R GEM
PELV IS R
R FEMUR
MTH CG TO V ISU PELV IS R · vec(−0.1133,−0.0820, 0.0714)
MTH CG TO V ISU R FEMUR · vec(−0.0142,−0.0033, 0.0443)
periformis
R PERI
PELV IS R
PELV IS R
R FEMUR
MTH CG TO V ISU PELV IS R · vec(−0.1396, 0.0003, 0.0235)
MTH CG TO V ISU PELV IS R · vec(−0.1193,−0.0276, 0.0657)
MTH CG TO V ISU R FEMUR · vec(−0.0148,−0.0036, 0.0437)
vastus medialis
R V ASMED
R FEMUR
R FEMUR
R FEMUR
R FEMUR
R PATELLA
MTH CG TO V ISU R FEMUR · vec(0.0140,−0.2099, 0.0188)
MTH CG TO V ISU R FEMUR · vec(0.0356,−0.2769, 0.0009)
MTH CG TO V ISU R FEMUR · vec(0.0370,−0.4048,−0.0125)
MTH CG TO V ISU R FEMUR · vec(0.0274,−0.4255,−0.0131)
MTH CG TO V ISU R PATELLA · vec(0.0063, 0.0445,−0.0170)
−150·π180
< R KNEE ang < −69.32·π180
−150·π180
< R KNEE ang < −101.99·π180
vastus intermedius
R V ASINT
R FEMUR
R FEMUR
R FEMUR
R PATELLA
MTH CG TO V ISU R FEMUR · vec(0.0290,−0.1924, 0.0310)
MTH CG TO V ISU R FEMUR · vec(0.0335,−0.2084, 0.0285)
MTH CG TO V ISU R FEMUR · vec(0.0343,−0.4030, 0.0055)
MTH CG TO V ISU R PATELLA · vec(0.0058, 0.0480,−0.0006)
−150·π180
< R KNEE ang < −81.36·π180
vastus lateralis
R VASLAT
R FEMUR
R FEMUR
R FEMUR
R FEMUR
R PATELLA
MTH CG TO V ISU R FEMUR · vec(0.0048,−0.1854, 0.0349)
MTH CG TO V ISU R FEMUR · vec(0.0269,−0.2591, 0.0409)
MTH CG TO V ISU R FEMUR · vec(0.0361,−0.4030, 0.0205)
MTH CG TO V ISU R FEMUR · vec(0.0253,−0.4243, 0.0184)
MTH CG TO V ISU R PATELLA · vec(0.0103, 0.0423, 0.0141)
−150·π180
< R KNEE ang < −69.32·π180
−150·π180
< R KNEE ang < −110·π180
gastrocnemius
medial head
R MEDGAS
R FEMUR
R FEMUR
R TIBIAFIBULA
R CALCANEUS
MTH CG TO V ISU R FEMUR · vec(−0.0127,−0.3929,−0.0235)
MTH CG TO V ISU R FEMUR · vec(−0.0239,−0.4022,−0.0258)
MTH CG TO V ISU R TIBIAFIBULA · vec(−0.0217,−0.0487,−0.0295)
MTH CG TO V ISU R CALCANEUS · vec(0.0044, 0.0310,−0.0053)
−44.12·π180
< R KNEE ang < 5.73·π180
gastrocnemius
medial head
R LATGAS
R FEMUR
R FEMUR
R TIBIAFIBULA
R CALCANEUS
MTH CG TO V ISU R FEMUR · vec(−0.0155,−0.3946, 0.0272)
MTH CG TO V ISU R FEMUR · vec(−0.0254,−0.4018, 0.0274)
MTH CG TO V ISU R TIBIAFIBULA · vec(−0.0242,−0.0481, 0.0235)
MTH CG TO V ISU R CALCANEUS · vec(0.0044, 0.0310,−0.0053)
−44.12·π180
< R KNEE ang < 5.73·π180
C.5.Muscle
behavio
ur
189
soleus
R SOL
R TIBIAFIBULA
R CALCANEUS
MTH CG TO V ISU R TIBIAFIBULA · vec(−0.0024,−0.1533, 0.0071)
MTH CG TO V ISU R CALCANEUS · vec(0.0044, 0.0310,−0.0053)
tibialis posterior
R TIBPOST
R TIBIAFIBULA
R TIBIAFIBULA
R CALCANEUS
R CALCANEUS
MTH CG TO V ISU R TIBIAFIBULA · vec(−0.0094,−0.1348, 0.0019)
MTH CG TO V ISU R TIBIAFIBULA · vec(−0.0144,−0.4051,−0.0229)
MTH CG TO V ISU R CALCANEUS · vec(0.0417, 0.0334,−0.0286)
MTH CG TO V ISU R CALCANEUS · vec(0.0772, 0.0159,−0.0281)
flexor digitorum longus
R FLEXDIG
R TIBIAFIBULA
R TIBIAFIBULA
R CALCANEUS
R CALCANEUS
R CALCANEUS
R TOES
R TOES
R TOES
MTH CG TO V ISU R TIBIAFIBULA · vec(−0.0083,−0.2046,−0.0018)
MTH CG TO V ISU R TIBIAFIBULA · vec(−0.0154,−0.4051,−0.0196)
MTH CG TO V ISU R CALCANEUS · vec(0.0436, 0.0315,−0.0280)
MTH CG TO V ISU R CALCANEUS · vec(0.0708, 0.0176,−0.0263)
MTH CG TO V ISU R CALCANEUS · vec(0.1658,−0.0081, 0.0116)
MTH CG TO V ISU R TOES · vec(−0.0019,−0.0078, 0.0147)
MTH CG TO V ISU R TOES · vec(0.0285,−0.0071, 0.0215)
MTH CG TO V ISU R TOES · vec(0.0441,−0.0060, 0.0242)
lexor hallucis longus
R FLEXHAL
R TIBIAFIBULA
R TIBIAFIBULA
R CALCANEUS
R CALCANEUS
R CALCANEUS
R TOES
R TOES
MTH CG TO V ISU R TIBIAFIBULA · vec(−0.0079,−0.2334, 0.0244)
MTH CG TO V ISU R TIBIAFIBULA · vec(−0.0186,−0.4079,−0.0174)
MTH CG TO V ISU R CALCANEUS · vec(0.0374, 0.0276,−0.0241)
MTH CG TO V ISU R CALCANEUS · vec(0.1038, 0.0068,−0.0256)
MTH CG TO V ISU R CALCANEUS · vec(0.1726,−0.0053,−0.0269)
MTH CG TO V ISU R TOES · vec(0.0155,−0.0064,−0.0265)
MTH CG TO V ISU R TOES · vec(0.0562,−0.0102,−0.0181)
tibialis anterior
R TIBANT
R TIBIAFIBULA
R TIBIAFIBULA
R CALCANEUS
MTH CG TO V ISU R TIBIAFIBULA · vec(0.0179,−0.1624, 0.0115)
MTH CG TO V ISU R TIBIAFIBULA · vec(0.0329,−0.3951,−0.0177)
MTH CG TO V ISU R CALCANEUS · vec(0.1166, 0.0178,−0.0305)
peroneus brevis
R PERBREV
R TIBIAFIBULA
R TIBIAFIBULA
R TIBIAFIBULA
R CALCANEUS
R CALCANEUS
MTH CG TO V ISU R TIBIAFIBULA · vec(−0.0070,−0.2646, 0.0325)
MTH CG TO V ISU R TIBIAFIBULA · vec(−0.0198,−0.4184, 0.0283)
MTH CG TO V ISU R TIBIAFIBULA · vec(−0.0144,−0.4295, 0.0289)
MTH CG TO V ISU R CALCANEUS · vec(0.0471, 0.0270, 0.0233)
MTH CG TO V ISU R CALCANEUS · vec(0.0677, 0.0219, 0.0343)
peroneus longus
R PERLONG
R TIBIAFIBULA
R TIBIAFIBULA
R TIBIAFIBULA
R CALCANEUS
R CALCANEUS
R CALCANEUS
R CALCANEUS
MTH CG TO V ISU R TIBIAFIBULA · vec(0.0005,−0.1568, 0.0362)
MTH CG TO V ISU R TIBIAFIBULA · vec(−0.0207,−0.4205, 0.0286)
MTH CG TO V ISU R TIBIAFIBULA · vec(−0.0162,−0.4319, 0.0289)
MTH CG TO V ISU R CALCANEUS · vec(0.0438, 0.0230, 0.0221)
MTH CG TO V ISU R CALCANEUS · vec(0.0681, 0.0106, 0.0284)
MTH CG TO V ISU R CALCANEUS · vec(0.0852, 0.0069, 0.0118)
MTH CG TO V ISU R CALCANEUS · vec(0.1203, 0.0085,−0.0184)
190C.MUSCULOSKELETALMODEL:PARAMETERSAND
COMPLEMENTARYDATA
peroneus tertius
R PERTERT
R TIBIAFIBULA
R TIBIAFIBULA
R CALCANEUS
MTH CG TO V ISU R TIBIAFIBULA · vec(0.0010,−0.2804, 0.0231)
MTH CG TO V ISU R TIBIAFIBULA · vec(0.0229,−0.4069, 0.0159)
MTH CG TO V ISU R CALCANEUS · vec(0.0857, 0.0228, 0.0299)
extensor digitorum longus
R EXTDIG
R TIBIAFIBULA
R TIBIAFIBULA
R CALCANEUS
R CALCANEUS
R TOES
R TOES
MTH CG TO V ISU R TIBIAFIBULA · vec(0.0032,−0.1381, 0.0276)
MTH CG TO V ISU R TIBIAFIBULA · vec(0.0289,−0.4007, 0.0072)
MTH CG TO V ISU R CALCANEUS · vec(0.0922, 0.0388,−0.0001)
MTH CG TO V ISU R CALCANEUS · vec(0.1616, 0.0055, 0.0130)
MTH CG TO V ISU R TOES · vec(0.0003, 0.0047, 0.0153)
MTH CG TO V ISU R TOES · vec(0.0443,−0.0004, 0.0250)
extensor hallucis longus
R EXTHAL
R TIBIAFIBULA
R TIBIAFIBULA
R CALCANEUS
R CALCANEUS
R CALCANEUS
R TOES
R TOES
MTH CG TO V ISU R TIBIAFIBULA · vec(0.0012,−0.1767, 0.0228)
MTH CG TO V ISU R TIBIAFIBULA · vec(0.0326,−0.3985,−0.0085)
MTH CG TO V ISU R CALCANEUS · vec(0.0970, 0.0389,−0.0211)
MTH CG TO V ISU R CALCANEUS · vec(0.1293, 0.0309,−0.0257)
MTH CG TO V ISU R CALCANEUS · vec(0.1734, 0.0139,−0.0280)
MTH CG TO V ISU R TOES · vec(0.0298, 0.0041,−0.0245)
MTH CG TO V ISU R TOES · vec(0.0563, 0.0034,−0.0186)
tibialis posterior
R TIBPOST2
R TIBIAFIBULA
R TIBIAFIBULA
R TIBIAFIBULA
R CALCANEUS
R CALCANEUS
MTH CG TO V ISU R TIBIAFIBULA · vec(−0.0094,−0.1348, 0.0019)
MTH CG TO V ISU R TIBIAFIBULA · vec(0.0063,−0.3505, 0.0146)
MTH CG TO V ISU R TIBIAFIBULA · vec(0.0165,−0.3904, 0.0176)
MTH CG TO V ISU R CALCANEUS · vec(0.0912, 0.0463, 0.0086)
MTH CG TO V ISU R CALCANEUS · vec(0.105, 0.0325, 0.0093)
Table C.7: Muscle parameters for the morphometry
APPENDIXD
Generation of the kinematic patterns: complementary results
Parameter t = 0 t = Tcycle/2 t = Tcycle
PELV IS vX [m/s] 1.401 0.918
PELV IS vY [m/s] −0.015 0.114
PELV IS vZ [m/s] −0.268 −0.055
PELV IS ωX [rad/s] −0.325 −0.566
PELV IS ωY [rad/s] 0.722 −0.437
PELV IS ωZ [rad/s] 0.198 0.515
R MTP ω [rad/s] −0.935 0.575 −1.150
L MTP ω [rad/s] 0.292 −0.726 0.162
Table D.1: Periodicity of the dof related to the pelvis and toes (velocity level)
Parameter t = 0 t = Tcycle/2 t = Tcycle
PELV IS aX [m/s2] −4.758 −1.254
PELV IS aY [m/s2] −4.478 −3.543
PELV IS aZ [m/s2] 1.779 1.622
PELV IS ωX [rad/s2] 8.077 7.824
PELV IS ωY [rad/s2] 21.512 −4.635
PELV IS ωZ [rad/s2] −20.871 2.922
R MTP ω [rad/s2] 281.414 −2.593 2.608
L MTP ω [rad/s2] −1479.313 −1.237 −10.403
Table D.2: Periodicity of the dof related to the pelvis and toes (acceleration level)
191
192 D. GENERATION OF THE KINEMATIC PATTERNS: COMPLEMENTARY RESULTS
Index of input parameter Input parameter Bit string
0 AHip flex0 1111110111
1 AHip flex1 1110110101
2 BHip flex1 1000100001
3 AHip flex2 0111110100
4 BHip flex2 0101010011
5 AHip flex3 0010101110
6 BHip flex3 0001010010
7 AHip flex4 1010100001
8 BHip flex4 1110001100
9 AHip flex5 1100000011
10 BHip flex5 0110011110
11 AHip flex6 1101100100
12 BHip flex6 0010111111
13 AKNEE ang0 0001111110
14 AKNEE ang1 0001011001
15 BKNEE ang1 1110001100
16 AKNEE ang2 0000110111
17 BKNEE ang2 1010000010
18 AKNEE ang3 1111111110
19 BKNEE ang3 0001010101
20 AKNEE ang4 1010111101
21 BKNEE ang4 0011001001
22 AKNEE ang5 1010010010
23 BKNEE ang5 1111011101
24 AKNEE ang6 0011111101
25 BKNEE ang6 1000111100
26 AANKLE ang0 0010110111
27 AANKLE ang1 0110111111
28 BANKLE ang1 0010100011
29 AANKLE ang2 0111011011
30 BANKLE ang2 1000000010
31 AANKLE ang3 0110100010
32 BANKLE ang3 0001101111
33 AANKLE ang4 0001000100
34 BANKLE ang4 0110110110
35 AANKLE ang5 1101000100
36 BANKLE ang5 1101111110
37 AANKLE ang6 0001011111
38 BANKLE ang6 1011001000
39 AANKLE ang7 1001001010
40 BANKLE ang7 1110100000
41 AANKLE ang8 1100110111
42 BANKLE ang8 1110110011
43 AANKLE ang9 1110001110
44 BANKLE ang9 0100000001
45 Initial penetration 0000000000
of the lowest ellipsoid
of the left foot
46 (PELV IS rX)0 11111011
193
47 (PELV IS rY )0 10101001
48 (PELV IS rZ)0 11111100
49 (R MTP ang)0 101100010
50 (L MTP ang)0 1000110111
51 ( ˙PELV IS tX)0 11100110100100
52 ( ˙PELV IS tY )0 011100110010
53 ( ˙PELV IS tZ)0 11111111111110
54 ( ˙PELV IS rX)0 111110110
55 ( ˙PELV IS rY )0 101010
56 ( ˙PELV IS rZ)0 10111010
57 ( ˙R MTP ang)0 010100100100
58 ( ˙L MTP ang)0 00011100100
Table D.3: Input parameters expressed with bit strings. The gray
highlights show that the input parameters have values located on
(or near to) the boundaries of their variation range (all 0 or 1 bits).
194 D. GENERATION OF THE KINEMATIC PATTERNS: COMPLEMENTARY RESULTS
-2
0
2
4
6
8
10
12
14
16
18
20
-25 -20 -15 -10 -5 0 5 10 15 20 25
R HIP flex [◦]
Passivejointmoment[N
m]
Right hip in flexion-extension
Figure D.1: Passive joint moments for the right hip in flexion-extension= f(R HIP flex)
-7
-6
-5
-4
-3
-2
-1
0
1
-8 -6 -4 -2 0 2 4 6 8 10 12
R KNEE ang [◦]
Passivejointmoment[N
m]
Right knee in flexion-extension
Figure D.2: Passive joint moments for the right knee in flexion-extension= f(R KNEE ang)
195
-150
-100
-50
0
50
100
150
0 0.2 0.4 0.6 0.8 1 1.2
Time [s]
Torque[N
m]
L HIP flex muscular torque (simulation)L HIP flex passive joint torque (simulation)L HIP flex net torque (simulation)
Figure D.3: Simulated muscular, passive and net joint torques for the left hip in flexion-extension
= f(t)
-200
-150
-100
-50
0
50
100
0 0.2 0.4 0.6 0.8 1 1.2
Time [s]
Torque[N
m]
L KNEE muscular torque (simulation)L KNEE passive joint torque (simulation)L KNEE net torque (simulation)
Figure D.4: Simulated muscular, passive and net joint torques for the left knee = f(t)
196 D. GENERATION OF THE KINEMATIC PATTERNS: COMPLEMENTARY RESULTS
-150
-100
-50
0
50
100
150
0 0.2 0.4 0.6 0.8 1 1.2-200
-150
-100
-50
0
50
100
150
200
Time [s]
Torque[N
m]
Pow
er[W
]
L HIP flex net torque (simulation)L HIP flex net power (simulation)
Figure D.5: Simulated net torque and power for the left hip in flexion-extension = f(t)
-150
-100
-50
0
50
100
150
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-200
-150
-100
-50
0
50
100
150
200
Time [s]
Torque[N
m]
Pow
er[W
]
L HIP flex net torque (ANZ software)L HIP flex net power (ANZ software)
Figure D.6: Net torque and power for the left hip in flexion-extension = f(t) given by the
software ANZ ( [ANZ@net])
197
-100
-50
0
50
100
150
200
0 0.2 0.4 0.6 0.8 1 1.2
-100
0
100
200
300
Time [s]
Torque[N
m]
Pow
er[W
]
L KNEE net torque (simulation)L KNEE net power (simulation)
Figure D.7: Simulated net torque and power for the left knee = f(t)
-100
-50
0
50
100
150
200
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
-100
0
100
200
300
Time [s]
Torque[N
m]
Pow
er[W
]
L KNEE net torque (ANZ software)L KNEE net power (ANZ software)
Figure D.8: Net torque and power for the left knee = f(t) given by the software ANZ
( [ANZ@net])
APPENDIX E
Generation of the activation signal patterns: complementary data
E.1 Muscle energetics
In the 2000s, several researchers, among which Umberger ( [UMBERGER2003]), Bhargava
( [BHARGAVA2004], Lichtwark ( [LICHTWARK2005]) and Houdijk ( [HOUDIJK2006]) can be
cited, developed phenomenological models of muscle energy expenditure. However, these models
can not be considered as validated. While it is known that temperature may highly influence
the biochemical reactions involved in muscle contraction, the parameters of these models were
measured from experiments realized at temperatures comprised between 20 and 25◦C (then,
quite different from 37◦C). In addition, energy consumption during lengthening of the muscle
is questionable for some of these models and the influence of the firing frequency is not always
clear.
Moreover, as these models could not be linked easily to the Virtual Muscle architecture, the De-
partment of Biomedical Engineering of the University of Southern California (USC, Los Angeles,
USA) decided to try to develop its own model. George A. Tsianos and I collaborated in the first
steps of this research supervised by Professor G. E. Loeb. The model was not finished when I left
the USA. Some data concerning the muscle lengthening were missing at that time. Moreover
we could not find experimental data measured at body temperature for mammalian muscles
(from mice or cats) and human-related data are even more rare at any temperature. Thanks
to the heat and work production data found in articles [BARCLAY1996] and [BARCLAY2008],
it seems that the model building has been recently progressing in the United States. But the
model can not still be considered as completely validated.
In [BARCLAY2008], Barclay concretely summarized the muscle energy consumption as fol-
lows:
Two cellular processes, force generation and pumping of ions across membranes,
account for the most of the energy expended by contracting skeletal muscles. Force
is generated by cyclic attachment of myosin crossbridges to binding sites on an ad-
jacent actin filament. The two main ion pumps, in terms of their contribution to
cellular energy use during contraction, are the sarcolemmal Na+ − K+ pump and
the sarcoplasmic reticular Ca2+ pump.
199
200 E. GENERATION OF THE ACTIVATION SIGNAL PATTERNS: COMPLEMENTARY DATA
The model Tsianos and I started to build by curve fitting relied on experimental data and
the following physiological assumptions. Energy consumption can be estimated as a function
of sarcomere length and velocity, firing frequency and fiber type. ATP hydrolysis separately
produces the energy necessary for reuptake of calcium (ECa2+) and for cross-bridge cycling
(EXb). The former is related only to firing rate while the latter also depends on sarcomere
length and specially velocity (as shown in Fig. E.1(a) and E.1(b)).
F
EXb
Force [N ] or rate of energy [W ]
ECa2+
ETot
Firing frequency [Hz]
Useful range
(a) Force and rate of energy (total, activation-related
and crossbridge-related) versus stimulation frequency
in isometric condition
(Shortening) (Lenghtening)VCE [L0/s]
Firing frequency ցFiring frequency ց
FEXb
Force [N ] or rate of energy [W ]
Vmax
(b) Force and rate of energy related to cross-bridges
versus fascicle velocity (for 2 given firing frequencies)
Figure E.1: Muscle energetics: modelling of the rates of energy related to activation and cross-
bridges
When stimulation frequency increases in a muscle maintained in isometric condition, force
(F ) increases linearly first and then, past a treshold, saturates (cf. Fig. E.1(a)). The different
rates of energy (total ETot, activation-related ECa2+ and crossbridge-related EXb) present the
same shape asymptotically, meaning that the ratio between both energetic contributions can
be considered constant.
As seen in Fig. E.1(b), the force production and the energy consumption are approximately
inversely related for shortening. Maximal force occurs for stretching velocities when energy
E.1. Muscle energetics 201
consumption is low. Maximum energy consumption occurs near Vmax when force drops to 0. In
case of quick lenghtening only the contribution related to activation (ECa2+) intervenes because
crossbridges do not cycle anymore. If stimulation frequency is decreased, less force is produced
and consequently less energy is consumed.
APPENDIX F
Foot anatomy and finite element modelling
F.1 Foot modelling
F.1.1 Physiology
The human foot is a relatively complex entity constituted of bones, cartilages, ligaments,
muscles, adipose tissues and various layers of skin (Netter’s, Moore’s and Sobotta’s anatomical
atlases ( [NETTER], [MOORE] and [SOBOTTA])). The foot can be subdivided into the
hindfoot, the midfoot, and the forefoot.
A human foot is made up of 26 bones if we do not count the sesamoids bones whose absence
is sometimes observed on some humans: 14 phalanges, 5 metatarsal bones, 3 cuneiform bones,
the navicular bone, the cuboid bone, the calcaneus and the talus (see Fig. F.1). The hindfoot
is composed of the talus or ankle bone and the calcaneus or heel bone. The five bones of the
midfoot, the cuboid, navicular, and three cuneiform bones, form the arches of the foot which
serves as a shock absorber. The forefoot is composed of five toes and the corresponding five
proximal long bones forming the metatarsus. Similar to the fingers of the hand, the bones of
the toes are called phalanges and the big toe has two phalanges while the other four toes have
three phalanges.
The two long bones of the lower leg, the tibia and fibula, are connected to the top of the
talus to form the ankle. Connected to the talus at the subtalar joint, the calcaneus is cushioned
inferiorly by a layer of fat. The midfoot is connected to the hind- and fore-foot by muscles
and the plantar fascia. The joints between the phalanges are called interphalangeal and those
between the metatarsus and phalanges are called metatarsophalangeal.
The articular surfaces of the bones are covered by articular cartilages (see Fig. F.2). These
are surrounded by the synovial liquid. Both constituents are confined within the synovial
membrane which is maintained in position between the bones thanks to the fibers of the joint
capsule. The presence of the synovial fluid, even in small quantity, between the bones of a same
joint prevents direct contact, makes the relative motion of the bones easier and allows to damp
203
204 F. FOOT ANATOMY AND FINITE ELEMENT MODELLING
Calcaneus
Cuboid bone
Phalanges
Talus
Navicular bone
3 cuneiform bones
5 metatarsal bones
Figure F.1: Top view of the foot bones [SOBOTTA]
Figure F.2: Synovial joint and cartilages ( [miscellaneous1@net])
F.1. Foot modelling 205
possible impacts.
Numerous ligaments link the bones together so as to ensure the cohesion and guarantee
the return to a rest position when the effort is off. The census of the ligaments is a pretty
tedious task which was realized thanks to the anatomical references ( [NETTER], [MOORE]
and [SOBOTTA]). Fig. F.3) is an example of cut which was used to count about thirty
families of ligaments among which some contain up to 14 elements. Other figures can be found
in [DEVAUX2008]. Table F.6 in Appendix F.3 presents the names of the different families of
Figure F.3: Example of view showing the ligaments of the foot ( [NETTER])
ligaments and the bones which these elements are inserted on.
The plantar fascia is the thick connective tissue which supports the arch of the foot. It runs
from the tuberosity of the calcaneus forward to the heads of the metatarsal bones. The plantar
aponeurosis is the central part of the plantar fascia. Table F.7 in Appendix F.3 presents the
subcomponents of the plantar fascia and the bones which these elements are inserted on.
The muscles, adipose tissues and various layers of skin are the tissues which wrap the foot
bones. They can be gathered under the term “soft tissues”.
F.1.2 Modelling
F.1.2.1 Finite element model
Knowing that the realization of a FE foot model was possible with the FE Abaqus software
(see Cheung’s article [CHEUNG2004]) it seemed to us more relevant and easier to develop
206 F. FOOT ANATOMY AND FINITE ELEMENT MODELLING
and validate our own model with the help of the same commercial software even if it was not
open source. Besides this reason Abaqus was also chosen because it is the software used in
the university and because we knew that its solver is robust and that a lot of very useful and
efficient routines are implemented namely so as to manage the foot-ground contacts and the
interactions between the different subcomponents. Moreover a mesh generator is included in
the software. We did not want to burden ourself in the beginning with the meshing, the writing
of specific functions and possible numerical issues by using an opensource library. Once we
will have demonstrated the model accuracy with Abaqus, we will always have the possibility to
“translate” it for any other software/library.� Bones
The 26 foot bones to which we decided to add the tibia and fibula own complex shapes
and are consequently difficult to model. Hopefully we could rely on a complete 3D model:
the Delp’s model ( [DELP1990]), developped from 3D imagery and freely available on the
web ( [DELP@net]). The model was not initially created to be used with finite elements
but rather as a rigid multibody system: even if the shape of the bones is given it was more
for a question of visualization because the most important information consists in their
relative positions. The original ASCII files containing the clouds of points representing
the external surfaces could not be read directly by Abaqus. So it was necessery to convert
the file and its data through two stages. The first conversion from the “.asc” format
to the polygon data file format “.ply” ( [PLY@net]) was realized thanks to a personal
routine. Then the second one from “.ply” to the more standard DAO format “.stl” was
performed by means of the trial version of the DeskArtes Dimensions Expert 7.1 software
( [DeskArtes@net]).
With this extension the clouds of points could be imported into Catia V5. They were
transformed in 3D solid elements thanks to the command “Quick Surface Reconstruction”
and a filling of the obtained surface. The positioning of the bones is expressed for the or-
thostatic position by means of homogeneous transformation matrices which are presented
in Table F.4 of Appendix F.3, after having been somewhat modified because of existing
interpenetrations in the Delp’s model: based on anatomical slices ( [NETTER], [MOORE]
and [SOBOTTA]) some bones were moved closer to each other and some orientations
were changed slightly so as to avoid contacts. The internal malleolus was redefined on
the tibia. All these tedious geometric corrections are crucial to get a realistic model: too
large gaps between bones and wrong positions of them can lead to modifications of the
behaviour of the foot under load. The final geometric model is shown in Fig. F.4.
Once the geometry is imported under Abaqus the material behavior has to be defined and
the bones have to be meshed.
During the walking process it seemed reasonable to consider, to a first approximation, that
the deformation of the bones is negligible with respect to the one of the cartilages and soft
tissues. That is the reason why we modelled the bones by assimilating them as rigid. Note
also the assumption is acceptable because the determination of the stresses in the bones are
out of the framework of this thesis. Such an assumption allowed to reduce considerably the
number of finite elements during the analysis, then the number of equations to be solved
and the quantity of data to be stored in memory: for a deformable body the mesh has to
be volumetric so as to describe its internal stresses and strains while a 3D surface mesh
F.1. Foot modelling 207
Figure F.4: 3D model of the foot bones
is sufficient for a non-deformable body in order to manage the interactions between itself
and the external environment. The motion of a rigid body is completely described by the
only 6 degrees of freedom of a particuar point called “reference point” and chosen by the
user in Abaqus (the center of gravity generally).
The fact of considering the bones rigid constrained us to establish the inertial properties
of these elements. In a software of FE analysis the mass and inertia tensor are required
for each rigid body. In order to assess these quantities, we assumed the density uniform at
the value of 1500kg/m3 as did Dai [DAI2006]. Then, based on this density the Catia V5
software was able to compute the position of the centre of gravity (COG) of each bone,
its mass and the components of the inertia tensor at the COG. The reader can find these
properties in Table F.5 of Appendix F.3.
Concerning the meshing, due to the geometric complexity, only an unstructured surface
mesh was proposed by the meshing tool of Abaqus and triangular finite elements (named
R3D3) had to be used. The mesh of the bones is presented in Fig. F.5
Figure F.5: Mesh of the bones with R3D3 elements� Cartilages
The geometric modelling of the cartilages was performed more simply by means of 25
208 F. FOOT ANATOMY AND FINITE ELEMENT MODELLING
cylinder-shaped or spherical elements put in place between the bones based on anatomical
atlas ( [NETTER], [MOORE] and [SOBOTTA] or see [DEVAUX2008] for some other
cuts) so as to avoid the direct contact between the bones. Under Catia V5 again, boolean
operations (principally material subtractions) ensure ideal contacts between the bones and
cartilages, the latter being the perfect negative of the former (cf. Fig. F.6 and F.7).
Figure F.6: Cartilage moulding the shape of the extremities of the phalanges
Figure F.7: Insertion of the cartilages in the 3D model
Bibliographic researches (from Antunes [ANTUNES2007] and Dai [DAI2006]) led to con-
sider the set “articular cartilage-synovial fluid-fibrous capsule” as an isotropic elastic ma-
terial with a Young Modulus of 10MPa and a Poisson ratio of 0.4 owing to its almost
incompressible property. Moreover the value of the density was assessed at 2000kg/m3 by
Dai [DAI2006].
Concerning the meshing, due to the geometric complexity, only an unstructured surface
mesh was proposed by the meshing tool of Abaqus and tetrahedral finite elements had to
be used. We had the choice between the first-order tetrahedrons C3D4 (4 notes at the
vertices) and the second-order ones C3D10M (10 nodes at the vertices and in the middle of
the edges). Normally the latter, more computationally expensive than the former, garantee
a better convergence and a better accuracy for the results but in our case the simulations
F.1. Foot modelling 209
could no be run until the end: in all likelihood the mesh generation tool of Abaqus is not
optimal because some elements in critical regions were created already “crushed“ and dis-
tort too much. Consequently only the C3D4 elements were used. The mesh of a cartilage
is presented in Fig. F.8
Figure F.8: Mesh of a cartilage with C3D4 elements� Ligaments and plantar fascia
Concerning the geometric modelling of the ligaments and plantar fascia, the method
generally employed consists in using elements of type “traction rod”. On a mechanical
point of view it appears that the structures only act in traction. Several works (from
Antunes [ANTUNES2007] and Cheung [CHEUNG2006II]) showed that the ligament
behave like elastic materials and then can be modelled by elastic elements. 2 values are
provided by these authors for the Young modulus depending on the ligaments considered:
the ones located in the arch of the foot (plantar fascia) are characterized by a Young
modulus of 350MPa, the others by a value of 260MPa. The second property which was
required at the moment of the building of the model is the section of the ligaments. From
the same references ( [ANTUNES2007] and [CHEUNG2006II]) a section of 58.6mm2 is
used for the ligaments of the plantar fascia and 18.4mm2 for the others.
We only had at our disposal anatomical slices on which the location of the ligaments was
purely visual. As the coordinates of the insertion points were required for the traction
rod elements under Abaqus we had to use the elastic axial connector allowing the picking,
i.e. the manual selection (see Fig. F.9).
The nonlinear behaviour was modelled as shown in Fig. F.10. The force is null for the
negative diplacements and in case of stretchings a spring with a stiffness of k = EA/l0intervenes. E is the Young modulus, A the section and l0 the rest length assumed being
the one of each ligament when the foot and the leg form an angle of 90◦. This assumption
is the most realistic through lack of physiological data.
More than 100 connectors were inserted. In Appendix F.3, the reader will find the
coordinates of their origin and insertion points (Tables F.8 and F.9).� Soft tissues
In numerous 3D models developped these last years (by Antunes [ANTUNES2007], Dai
[DAI2006] and Chen [CHEN2001]), the different “soft tissues“ (muscles, adipose tissues,
210 F. FOOT ANATOMY AND FINITE ELEMENT MODELLING
(a) Bottom view [DEVAUX2008]
(b) Medial view [DEVAUX2008]
(c) Front view [DEVAUX2008]
Figure F.9: Ligaments and plantar fascia modelled with elastic axial connectors
Force
Displacement
EAL
Figure F.10: Function describing the behaviour of the ligaments
F.1. Foot modelling 211
layers of skin) surrounding the bones and the cartilages are modelled as only one body.
We found a demonstration file coming from the computer graphics software Poser 6.0,
and representing the external enveloppe, i.e. the skin, by means of a cloud of points.
The extension ”.obj“ was not readable directly, so again it was neccessary to convert it
in ”.stl“ thanks to the DeskArtes Dimensions Expert 7.1 software before being able to
import it in Catia V5. Only the foot skin was kept, the cut was realized just above
the ankle. A surface enveloppe (Fig. F.11) was generated from the cloud of points and
then geometrically corrected: the bones and the skin did not match together since they
were created independently to each other from different anatomic data. With the help
of the ”shape sculptor“ module of Catia V5 the initial geometry was deformed by local
stretchings, rotations,... so as to give it appropriate shape and dimensions, i.e. create a
model anatomically correct. Note that these corrections were brought according to the
anatomical slices ( [MOORE], [NETTER], [SOBOTTA]) and the recommendations of the
chiropodist Mister Van Meerhaeghe.
Figure F.11: Surface enveloppe of the foot
The space between the skin and the set bones-cartilages is then filled thanks to Catia V5
functionalities so as to ensure a perfect contact between the bones, the cartilages and the
skin (Fig. F.12)
Figure F.12: 3D model of the soft tissues
The fact of modelling the soft tissues with one solid imposes to find a material able to repro-
duce the behaviour of these tissues. Previous researches (from Antunes [ANTUNES2007]
212 F. FOOT ANATOMY AND FINITE ELEMENT MODELLING
and Cheung [CHEUNG2006II]) showed that the use of a hyperelastic material is the most
appropriate (cf. Fig. F.13) since the tissues can undergo important nonlinear elastic
strains (Lemmon [LEMMON1997], Antunes [ANTUNES2007]).
Figure F.13: Nonlinear behaviour of the soft tissues ( [ANTUNES2007]
In order to model such a behaviour one often uses a law linking the strain potential energy
to the strain in the material. Several relations exist but the form we considered is the one
in the Antunes’s [ANTUNES2007] and Cheung’s [CHEUNG2006II] models and which is
also the one employed in Abaqus ( [Abaqusmanual]) for the hyperelastic materials. It is
based on the following second order polynomial strain energy function:
U =
2∑
i+j=1
Cij(I1 − 3)i(I2 − 3)j +
2∑
i=1
1
Di
(Jel − 1)2i (F.1)
where U is the overall strain energy per unit of reference volume, J is the volume ratio,
Cij and Di are material parameters obtained from the experimental data, I1 and I2 are
the modified strain invariants of the strain tensor. The material parameters used for the
definition of the hyperelastic model associated with the nonlinear mechanical definition of
the soft tissues, are presented in the Tab. F.1.
C10 C01 C20 C11 C02 D1 D2
0.08556 -0.05841 0.03900 -0.02319 0.00851 3.65273 0.00000
Table F.1: Soft tissue coefficients Cij ([Nmm−2]) and Di ([mm−2N−1])
Besides these hyperelasticity paremeters the modelling of the soft tissues also requires to
know the density assumed uniform. The value of 937kg/m3 provided by Dai [DAI2006]
was used.
Concerning the meshing, due to the geometric complexity, only an unstructured surface
mesh was proposed by the meshing tool of Abaqus and tetrahedral finite elements had to
be used. For the same reason as for the cartilages only the C3D4 elements were retained.
The mesh of the soft tissues is presented in Fig. F.14� Global model and interactions
Once the information required for the building of the FE model was gathered together
(i.e. the geometric 3D model (Fig. F.15) and its behavioral properties as explained in the
F.1. Foot modelling 213
Figure F.14: Mesh of the soft tissues with C3D4 elements
previous sections) the meshing could be realized for the different subcomponents to wich
it was necessary to add a not deformable solid symbolizing the ground. A plane-parallel
plate can be seen under the leg in Fig. F.16, meshed on its surface with quadrilateral
R3D4 elements.
Figure F.15: Complete 3D model under Catia
The subcomponents are not independent since they interact together.
The first interaction which has to be taken into consideration is the one inside the
foot. Bones, cartilages and soft tissues stand by each other and may not be pulled
apart: the bodies may not slide on each other, come unstuck nor interpenetrate
( [ANTUNES2007], [DAI2006]). Two techniques exist under Abaqus to ensure that the
subcomponents are perfectly linked. The first one, called ”general contact interactions“
and only available for the explicit solver, did never bring the simulation to completion
probably due to the high complexity of the shape of the surfaces implied in the contacts.
The second method based on the ”surface-based tie constraints“ imposes via constraints
214 F. FOOT ANATOMY AND FINITE ELEMENT MODELLING
Figure F.16: Complete 3D model meshed under Abaqus
equations that the degrees of freedom of each node of the first surface (”slave” surface)
have to be equal to the ones of the node of the other surface (”master“ surface) located
at the shortest distance (Abaqus manual [Abaqusmanual]).
The second interaction concerns the contact foot-ground which was modelled by means of
the approach ”surface-to-surface contact“. On the mechanical point of view this approach
is characterized by a contact without interpenetration in the normal direction and a fric-
tion coefficient of 0.6 in the tangential direction ( [ANTUNES2007], [CHEUNG2006II]).
Let us note that we ignore the contacts and then the fricition between the toes.
F.2 Simulations and results
In the walking process the foot is characterized by a ”rolling” motion which can be described
by three successive subphases during the stance: the landing (heel strike), the intermediary
standing and the thrust phase (during the double stance in normal conditions, just before toe-
off) (see Fig. F.17).
Landing Intermediarystanding
Thrust
Figure F.17: Three phases of the rolling foot process
We validated the model step by step comparing with experimental data, so as to identify the
different possible subproblems. We first split the global dynamic problem in three static analyses:
F.2. Simulations and results 215� the standing subphase was considered in the rest orthostatic configuration in which the
body weight is evenly distributed on both feet. The leg (tibia-fibula) orientation was
slightly modified so that the computed center of pressure (COP) matches the experimental
one;� we sought to see whether the landing can be reproduced, at least partly by setting the
body in equilibrium on its heels. A new connector was added to control the ankle angle;� the same technique was used for the thrust phase: an equilibrium configuration on the
metatarsal heads and toes was simulated.
In all these simulations we considered that the foot supports exactly the body half-weight.
Then, thanks to the experience gathered in the first simulations, we realized the simulation of
the whole dynamic process.
Note also that, a positively oriented coordinate system is used in the model with the y axis
oriented upwards vertically, the x one forwards horizontally and the z axis is defined by the
right-hand rule.
The experimental data were obtained from a measurement campaign realized on a person
whose mass is 76 kg and foot dimensions are similar to the model ones, by means of a force
platform belonging to Mister Van Meerhaeghe, podiatrist in Ottignies, Belgium. This platform
owns the technical characteristics presented in Tab. F.2.
Name Medicapteur GP40
Functionalities Measurement of the pressure field, COP (static and dynamic)
Acquisition range 40 cm× 40 cm
Sensor technology Resistive pressure sensors
Sensor dimension 10 mm× 10 mm
Sensor number 1600
Maximum pressure per sensor 100 N/cm2
Table F.2: Technical characteristics of the employed force plateform
F.2.1 Numerical solver
The four simulations were peformed by using the explicit solver of Abaqus. At time t + h,
the system configuration and velocities are only expressed in function of the parameters of
configuration at time t
qt+h = f(q≤t, q≤t, q≤t) and qt+h = g(q≤t, q≤t, q≤t)
and the accelerations at time t+ h are directly computed by inversion of the mass matrix. As
the explicit solver only necessitates the inversion of the mass matrix12, this can contribute to a
reduction of the computation time3. The saving in computation time in case of large systems was
the decisive argument knowing that the result accuracy was very little degraded, as observed by
1An implicit method requires the computation and inversion of a whole Jacobian matrix.2Let us recall that the complete matrix inversion is concretely replaced by the solving of a system of equations.3If the system mass is concentrated at the mesh nodes, then the mass matrix is diagonal and this reduces the
computation time even more.
216 F. FOOT ANATOMY AND FINITE ELEMENT MODELLING
colleagues in other studies (see the Kouroussis’s thesis [KOUROUSSIS2009] in railway vibrations
for instance).
The method is conditionnaly stable: a limit step time exists which is all the smaller as the
size of the element in the model is small or the speed of the wave propagating the constraint
information in the smallest element is important. Here is the expression of the maximal time
step provided by Abaqus [Abaqusmanual].
δt ≈ Lmin
c(F.2)
with Lmin the size of the smallest element of the model and c the propagtion speed of the
constraint information, quantitiy which depends on the material.
In order to avoid that the stability conditions are too drastic, impose time steps too small and
make the simulation too long, Abaqus resorts to a numeric artefact. The use of a mass factor
allows to increase artificially the system mass and, according to the Abaqus’s manual, decrease
the simulation duration. This may be particularly useful in case of very small elements for
which the size is very penalyzing (see F.2). However, since the mass is increased, system and
results change. We have to be very cautious and limit the use of mass factors for quasi-static
analyses in which displacements and rates of displacement are low, or for dynamic analyses by
ensuring that the mass factors are applied only on few elements (of non significant mass). In
the latter case it is often observed (and we observed it !) that applying a mass factor on the
critial elements leads to a significant time saving by keeping the dynamic behaviour almost
unchanged. Abaqus allows the user to choose the minimal time step for the simulation and
automatically tunes the mass factors for the critical elements.
F.2.2 First simulation: orthostatic standing
In order to compare the experimental and computed pressure fields, we need to put the model
in the same configuration as in the experience. Actually the location of the center of pressure
(COP)4 strongly depends on the position the person holds: if this person leans forward or
backward the COP migrates forwards or backwards respectively as shown in Fig. F.18. So, if
Figure F.18: Displacement of the center of pressure in function of the body orientation
we can ensure that the experimental and computed centers of pressure have the same location
then we will be able to compare the pressure fields. But it is little probable that the raw model
directly coincides with the experimental configuration.
4The center of pressure is defined as the point where the total sum of a pressure field acts, causing a force
and no moment about that point. The resultant force and center of pressure location produce equivalent force
and moment on the body as the original pressure field.
F.2. Simulations and results 217
F.2.2.1 Methodology of geometry correction
Let us consider the following initial configuration, visible in Fig. F.19 on the left. The foot is
Model’s COP
Force applied Force appliedunder the experimental COP under the experimental COP
Moment producedby the misalignmentof the COP’s
Moment aligning the COP’s
Displacement of the model’s COP
Figure F.19: Initial configuration and misalignement of the centers of pressure (left), and gen-
eration of a moment lining up the COP’s (right) [DEVAUX2008]
placed just above the horizontal plate without initial contact. All along the simulation, the tibia
and fibula bones will be clamped, i.e. immobilized, and a force, equal to the half-weight, i.e.
380 N, will be applied normally to the plate, at the reference point whose position is the one of
the experimental center of pressure. Morevover we constrained the reference point displacement
to be only vertical and allowed the plate to rotate about the x and z axes. Directly after the
start of the simulations the foot enters in contact with the plate. A pressure field is created. If
the computed COP does not match the experimental one, i.e. if the model is not in its actual
orthostatic position, a moment appears and generates a rotation of the plate (see Fig. F.19 on
the right). When the equilibrium is reached, experimental and computed COP are superimposed
again. The α angle the plate forms with the horizontal plane is, with the opposite sign, the
angle the tibia-fibula has to be rotated around the ankle axis. This new configuration represents
the actual orthostatic one as illustrated in Fig. F.20.
Concretely, a rotation of −4.39◦ about the z axis had to be performed. As the same reasoning
Figure F.20: Determination of the correction of orientation to bring to the model [DEVAUX2008]
can be made in the frontal plane, the leg had to undergo an angular correction of 0.06◦ about
218 F. FOOT ANATOMY AND FINITE ELEMENT MODELLING
the x axis.
F.2.2.2 Set up
Here are the simulation conditions.
1. The foot is translated and placed less than 1 mm above the horizontal plate.
2. The tibia and fibula bones are clamped in their new orientation.
3. The plate was constrained to move vertically and stay horizontal.
4. All along the simulation, a constant force of 380 N is applied vertically on the point of
reference (the experimental COP).
5. Very few time after the start of the simulation, the plate enters in contact with the skin.
6. The minimal time step for the simulation was chosen to be equal to 10−5 s thanks to the
use of mass factors.
F.2.2.3 Necessity of damping
At the end of our first simulations the plate kept oscillating vertically with a frequency f of
about 1 Hz instead of reaching a static equilibrium. Moreover the toes vibrated pretty well.
Two reasons can explain this behaviour. First, the hyperelastic material used to model the
soft tissues is not characterized by any internal damping and then, can not damp the shock,
even weak, undergone during the initial impact with the plate. Secondly, the axial connectors
modelling the ligaments and fascia are also purely elastic.
So, damping had to be added. 3 solutions were tested. First, 4 vertical dampers were attached
to the 4 plate corners and to the fictive immobile global frame. The value of the damping
coefficient of each of them was fixed to 14(2ξm
2πT) (with T = 1
fthe period, m the body half-mass
and ξ the damping ratio considered equal to√22 ). This solution is perfect to damp the plate
oscillations. Secondly, proportional damping5 was included in the hyperelastic material of the
soft tissues. But all the simulations run with crashed because of excessive element distorsions.
Unhappily, the Abaqus’s crash messages and manual did not provide debugging help. Third,
damping coefficients can be taken into account in the definition of the axial connectors modelling
the collateral ligaments, plantar plates and fascia digital slips. This solution efficiently damp
the toe oscillations.
Note that oscillations also appeared in other simulations which are going to be presented later
in this thesis. For this reason, the damping of the plate and some ligaments and fascia were
systematically included.
F.2.2.4 Results
Fig. F.21(a) shows the pressure distribution computed by our model. A peak of pressure is ob-
served around the heel. The area around the heads of the metatarsal bones is also characterized
5The porportional damping is characterized by a coefficient proportional to the system mass and stiffness.
F.2. Simulations and results 219
by an important pressure. Contact is nonexistent in medial zone.
Absence of contact in the medial zone
Heads of the metatarsal bones
0.2646 MPa
(a) Devaux’s model [DEVAUX2008]
(b) Cheung’s
model [CHEUNG2005II]
Left foot Right foot
Peak (0.11 MPa)
Contact surface (105/115 cm2)
Pressure distribution (47.9/52.1 %)
Mean pressure(380/377 g/cm2)
Maximum Pressure (1153/1153 g/cm2)
(c) Experimental measurement [DEVAUX2008]
Figure F.21: Pressure distribution in orthostatic configuration
220 F. FOOT ANATOMY AND FINITE ELEMENT MODELLING
This pressure distribution was compared first to the numeric values computed from the
Cheung’s 3D model [CHEUNG2005II] (see Fig. F.21(b), for a person weighing 70 kg). Both
qualitatively match well. In both cases the peaks are located under the heel. However, our value
is 10 % higher. This is probably due to the bony shape of the calcaneus bone of our model (see
Fig. F.22) and possibly also to the hypothesis of not deformable bones. The main difference
resides in the absence of contact in the external medial zone. We think that the arch in our
model is too marked (see Fig. F.22) and then, the support not sufficient. Note that it is certainly
possible to improve the skeletal model (and then the pressure field) by 3D reconstruction of the
foot bones from medical imaging.
Figure F.22: Bony shape of the calcaneus bone (black ellipse) and very marked arch in the
medial zone (red ellipse) [DEVAUX2008]
In Fig. F.21(c), a second comparison is made with the experimental results obtained from
the Mister Van Meerhaeghe’s force platform for a person of 76 kg and whose foot was very
similar to the modelled one. The person was a man who was simply asked to stand up in his
natural orthostatic position. Actually he owned the same kind of marked medial arch and
an interruption of contact is visible between the heel and the metatarsal area. However, this
experimental observation is exceptional since the contact is established in normally constituted
humans. If we look at the pressure peak at the heel, we observe that the experimental value
is clearly lower than in the model results (0.11 MPa vs 0.26 MPa). Besides the already
evoked bony shape of the calcaneus bone this results can also question the reproduction of the
material behaviour by the soft tissue model. The soft tissue behaviour is obviously complex
but we decided to trust the hyperelastic approximation made by Cheung and others. On the
other hand, the experimental data are not exempt from errors either. While the numeric solver
computes pressure at nodes, the platform measures pressure on small surfaces and this can
contribute to a certain attenuation of the local pressure magnitude. Morevover the plateform
accuracy is not perfect: the plateform does not detect all the toes, although in contact with the
platform, and the measured total mass was 83 kg (and not 76 !). This total mass was actually
assessed from the multiplication of the experimental average pressure by the measured surface.
We think that we can be satisfied by the results.
F.2.2.5 Influence of the mass factor
Three time step increments were tested and Abaqus automatically adpated the mass factors of
the critical elements to guarantee these time steps. 10−5 s is considered the reference. Table
F.3 summarizes the effect of multiplying this reference time step by factors 10 and 100.
F.2. Simulations and results 221
Time step Relative error in the pressure peak value [%] Simulation duration [h]
10−5 - 64
10−4 < 1 11
10−3 15 1.5
Table F.3: Influence of the mass factor on the accuracy and simulation duration
As expected, the higher the time step the shorter the simulation but the worse the results
also. However, a time step of 10−4 seems to be a very good tradeoff: for almost unchanged
accuracy the simulation duration is almost divided by a factor 6. Note that, in the three cases,
the pressure distribution was qualitatively unchanged.
F.2.2.6 Influence of the soft tissue mesh
Two different meshes were tested for the soft tissues. The most refined one counted 128982
C3D4 elements while the other one only 81984. A difference of only 2 % in the pressure peak
value was observed. So we decided to use the simpler model so as to shorten the simulation
durations.
F.2.3 Second simulation: equilibrium on the heels
F.2.3.1 Introduction of the “Achilles musculotendon complex”
In order to simulate the landing and thrust subphases the foot needs to be actuated to rotate
about the ankle axis. Physiologically the foot is raised and lowered by means of the anterior
(tibialis anterior) and posterior (soleus and gastrocnemius) muscles respectively. These sets of
agonist-antagonist muscles are a necessity since they only act in traction. However, to simplify
the finite element model, we decided to include one only axial connector to move the ankle in
both directions. Inserted on the top of the tibia bone and the calcaneus bone, this artificial
and non physilogical “Achilles musculotendon complex”, whose length was freely imposed and
constrained, was made responsible for the up and down motions of the foot when it lenghtens
or shortens respectively as illustrated in Fig. F.23.
It is worth to mention that the two following simulations were realized in two steps.
During the first one, the foot does not rotate under load about the ankle axis but simply
in the air, only subject to its weight and inertia. Then, the contact was established in a
second step and the Achilles musculotendon complex was constrained to keep its length in
spite of the body half-weight. So, we did not actually simulate the thrust and landing sub-
phases but we were content to model the body in equilibrium on its heels and then, on its forefeet.
F.2.3.2 Set up
Here are the simulation conditions.
1. The tibia and fibula bones underwent a rotation of 5◦ as illustrated in Fig. F.24.
222 F. FOOT ANATOMY AND FINITE ELEMENT MODELLING
Figure F.23: Modeling of the thrust (a) and landing (b) subphases by mean of an axial connector
[DEVAUX2008]
Figure F.24: Tibia and fibula orientation change with respect to the orthostatic configuration
[DEVAUX2008]
F.2. Simulations and results 223
2. The foot is translated and placed some mm above the horizontal plate.
3. The tibia and fibula bones were clamped in their new orientation.
4. Step 1: the 2 mm lengthening of the Achilles musculotendon complex allowed to raise the
foot to the target configuration. We sought to avoid the contact between the heel and the
plate during this step by putting the foot high enough.
5. Step 2: after the foot rotation, a force of 380 N is applied vertically on the point of
reference (the experimental COP).
6. The plate was constrained to move vertically and stay horizontal.
7. Very few time after the start of step 2, the plate enters in contact with the skin.
8. The minimal time step for the simulation was chosen to be equal to 10−4 s thanks to the
use of mass factors.
F.2.3.3 Results
Fig. F.25 illustrates the equilibrium reached at the end of the simulation.
Figure F.25: Equilibrium reached on the heels [DEVAUX2008]
It can be seen in Fig. F.26(a) that the contact zone is logically only located around the
heel. The pressure peak is concentrated in a very narrow area certainly due to the pointed
shape of the calcaneus bone.
Let us tackle the experimental data measured on the same man, standing on his heels in equilib-
rium on the force platform. If we observe the experimental pressure field shown in Fig. F.26(b),
2 differences appear directly. The experimental peak pressure is lower (0.15 MPa vs 0.99 MPa)
and spreads on a larger area. Actually, the experimental gear may be at issue. The body weight
is supported on rather small surfaces (compared to the orthostatic configuration) and it seems
that the sensors saturates: if we multiply the experimental average pressure by the measured
contact surface we notice that plateform perceives a mass of 43 kg (instead of 76 kg !).
224 F. FOOT ANATOMY AND FINITE ELEMENT MODELLING
So, even if the direct comparison can be judged difficult we believe that our model behaves
pretty well.
(a) Devaux’s model [DEVAUX2008]
(b) Experimental measurement [DEVAUX2008]
Figure F.26: Pressure distribution when equilibrium on the heels is reached
F.2.4 Third simulation: equilibrium on the forefeet
F.2.4.1 Set up
Here are the simulation conditions.
1. The foot is translated and placed some mm above the horizontal plate.
2. The tibia and fibula bones were clamped in their new orientation.
3. Step 1: the 4 mm shortening of the Achilles musculotendon complex allowed to lower the
foot to the target configuration. We sought to avoid the contact between the toes and the
plate during this step by putting the foot high enough.
F.2. Simulations and results 225
4. Step 2: after the foot rotation, a force of 380 N is applied vertically on the point of
reference (the experimental COP).
5. The plate was constrained to move vertically and stay horizontal.
6. Very few time after the start of step 2, the plate enters in contact with the skin.
7. The minimal time step for the simulation was chosen to be equal to 10−4 s thanks to the
use of mass factors.
F.2.4.2 Results
Fig. F.25 illustrates the equilibrium reached at the end of the simulation.
Figure F.27: Equilibrium reached on the forefeet [DEVAUX2008]
It can be seen in Fig. F.28(a) that the contact zone is located on the whole forefoot. To be
precise, the pressure is higher on the interior side.
In order to check whether the model reproduces the reality, we can compare this pressure field
to the experimental one shown in Fig. F.28(b). To measure this latter pressure distribution,
the man was asked to stand on his forefeet in equiblibrium on the force plateform. This time
the computed and measured pressure peaks are almost the same (0.1646 MPa vs 0.13 MPa).
However this concordance must be moderated by two experimental observations. First, from
the measured pressure distribution it is visible that the man pressed on the exterior parts of
his feet to keep his balance. So the simulated configuration is not exactly the same as the
experimental one. Secondly, again, the (indirectly) measured total mass questions the accuracy
of the experimental data and whether or not there was saturation of the sensors: it seems that
only about 59 kg were put on the platform.
Nevertherless we can be pleased with our computed results.
226 F. FOOT ANATOMY AND FINITE ELEMENT MODELLING
(a) Devaux’s model [DEVAUX2008]
(b) Experimental measurement [DEVAUX2008]
Figure F.28: Pressure distribution when equilibrium on the forefeet is reached
F.2. Simulations and results 227
F.2.5 Final simulation: rolling motion
Thanks to the simulations of the three static subphases, we realized that some elements have to
be added in the model so as to solve some encountered problems. For example, dampers were
added to smooth and stabilize the motion of the plate and toes; the Achilles musculotendon
complex allowed the actuation of the foot rotation. This experience was beneficial in the
simulation of the foot rolling motion.
F.2.5.1 Set up
Here are the simulation conditions.
1. Step 1: the first step consists in placing the foot in the landing position.
(a) The tibia and fibula bones underwent a rotation of 5◦ as illustrated in Fig. F.24.
(b) The foot is translated and placed some mm above the horizontal plate.
(c) The tibia and fibula bones were clamped in their new orientation.
(d) Substep 1: the 2 mm lengthening of the Achilles musculotendon complex allowed to
raise the foot to the target configuration. We sought to avoid the contact between
the heel and the plate during this step by putting the foot high enough.
(e) Substep 2: after the foot rotation, a force of 380 N is applied vertically on the point
of reference (the experimental COP).
(f) The plate was constrained to move vertically and stay horizontal.
(g) Very few time after the start of step 2, the plate enters in contact with the skin.
(h) The minimal time step for the simulation was chosen to be equal to 10−4 s thanks to
the use of mass factors.
2. Step 2: before to tackle the step 3 wich constitutes the generation of the rolling motion in
itself, an intermediary step was necessary to ensure that the model completes the simula-
tion without trouble. Instead of fixing the plate and impose completely the kinematics of
the leg, we chose to leave the plate partly free and only rotate the tibia (the foot as well)
as described in the step 3. The plate, pushed downwards by the foot whose rotation was
imposed and upwards by the force of 380 N representing the body half-weight, had to be
able to move vertically: its motion would have ensued from the dynamic equilibrium of two
applied forces. But actually, a third set of forces was applied on the table and distorted the
result of the simulation: 4 dampers are attached to the plate. Their damping coefficients
tuned in step 1 (as explained in Section F.2.2.3) are too important. Their presence, while
obligatory in step 1, is harmful in step 3 since the dampers generate too large forces and
prevent the foot from displacing the plate downwards. Step 2 was then used to progres-
sively reduce the value of the damping coefficients to about 0.1 Ns/m. Concretely this
variation was performed by means of the Abaqus “field variables” and implement directly
in the “.inp” source code. Note that this step does not modify the configuration obtained
at the end of step 1 since an equilibrium was reached at the end of step 1 and applied
forces are unchanged in step 2.
228 F. FOOT ANATOMY AND FINITE ELEMENT MODELLING
3. Step 3: the purpose of the simulation consists in reproducing the rolling motion, by bring-
ing the foot from the heel strike configuration to the thrust one.
(a) All the tibia degrees of freedom were locked except its rotation about the z axis. We
simultaneously imposed a rotation of −10◦ about this axis for the tiba bone and a
shortening of 6mm for the Achilles musculotendon complex. This operation allowed
to rotate the whole leg along with revolving the foot about the ankle axis. As the
tibia center of gravity can not move, the foot has no other choice than pushing the
plate downwards what corresponds to the thrust configuration (see Fig. F.29).
Rotation of −10◦
about Oz
Rigid connector
between the tibia and fibula bonesShortening
of the Achilles musculotendon complex(6 mm)
Plantar flexioncaused by the shortening
Figure F.29: Simultaneous tibia rotation and Achilles musculotendon complex shortening [DE-
VAUX2008]
(b) We had to constraint the fibula bone to follow the tibia motion by adding a rigid
connector between them (see Fig. F.29).
(c) As the forces applied by the foot on the plate are principally oriented along the x
and y axes, we had to allow the displacement of the plate along these directions. All
the other degrees of freedom of the plate were locked so as to keep it horizontal and
avoid any parasitic motion.
(d) The damping coefficients of the 4 dampers attached to the plate were kept at their
low values obtained of the end of step 2.
(e) The minimal time step for the simulation was chosen to be equal to 10−5 s thanks
to the use of mass factors.
F.2.5.2 Results
We chose to present the results in Section 6.1.2.
F.3. Data related to the finite element model 229
F.3 Data related to the finite element model
Segment T0G
Phalanges, metatarsal, cuneiform, navicular and cuboid bones
1 0 0 0.05408
0 1 0 0.01395
0 0 1 0.0925
Talus bone
1 0 0 −0.07595
0 1 0 0.0579
0 0 1 0.0835
Calcaneus bone
1 0 0 −0.12472
0 1 0 0.01595
0 0 1 0.09142
Tibia-fibula bone
1 0 0 −0.07595
0 1 0 0.4879
0 0 1 0.0835
Table F.4: Homogeneous transformation matrices of the foot segments (Delp’s model in ortho-
static position)
230F.FOOT
ANATOMYAND
FINITEELEMENTMODELLING
Bone Coordinates of the COG [m] Mass [kg] Moment of inertia tensor at the COG [kg.m2]
Phalanx 1
0.114486
−0.428831
−0.000847
0.003
6, 96099 · 10−8−5, 82728 · 10−10
−4, 00359 · 10−9
−5, 82728 · 10−10 1, 8435 · 10−7−1, 23987 · 10−9
−4, 00359 · 10−9−1, 23987 · 10−9 1, 52738 · 10−7
Phalanx 2
0.126451
−0.4285
0.026685
0.000121186
3, 01313 · 10−10 1, 60519 · 10−13−2, 44381 · 10−11
1, 60519 · 10−13 7, 89651 · 10−10−8, 9419 · 10−12
−2, 44381 · 10−11−8, 9419 · 10−12 6, 56718 · 10−10
Phalanx 3
0.108742
−0.429694
0.043627
0.00011627
2, 80609 · 10−10 1, 17709 · 10−11−9, 22037 · 10−12
1, 17709 · 10−11 7, 4013 · 10−10−4, 08868 · 10−12
−9, 22037 · 10−12−4, 08868 · 10−12 6, 17019 · 10−10
Phalanx 4
0.092856
−0.429013
0.056158
0.000116074
2, 82916 · 10−10 3, 86424 · 10−11 6, 72792 · 10−12
3, 86424 · 10−11 7, 36642 · 10−10−4, 31346 · 10−12
6, 72792 · 10−12−4, 31346 · 10−12 6, 15456 · 10−10
Phalanx 5
0.075085
−0.429258
0.068210
0.00011616
2, 98134 · 10−10 7, 67417 · 10−11 4, 0231 · 10−11
7, 67417 · 10−11 7, 26498 · 10−10−1, 1183 · 10−11
4, 0231 · 10−11−1, 1183 · 10−11 6, 11491 · 10−10
Phalanx 6
0.082034
−0.425345
−0.004902
0.007
2, 22546 · 10−7 1, 36697 · 10−7−8, 3818 · 10−8
1, 36697 · 10−7 9, 93628 · 10−7 2, 01163 · 10−8
−8, 3818 · 10−8 2, 01163 · 10−8 9, 16269 · 10−7
Phalanx 7
0.113498
−0.428024
0.025211
0.000899551
5, 92529 · 10−9−3, 33228 · 10−10
−2, 75507 · 10−9
−3, 33228 · 10−10 2, 69527 · 10−8 6, 96425 · 10−12
−2, 75507 · 10−9 6, 96425 · 10−12 2, 7085 · 10−8
Phalanx 8
0.097752
−0.429364
0.025211
0.000475923
2, 08966 · 10−9−9, 96654 · 10−12
−1, 10259 · 10−9
−9, 96654 · 10−12 9, 35904 · 10−9 1, 61642 · 10−11
−1, 10259 · 10−9 1, 61642 · 10−11 9, 35316 · 10−9
Phalanx 9
0.083003
−0.428101
0.056044
0.000312431
1, 05486 · 10−9−6, 41826 · 10−11
−2, 82738 · 10−10
−6, 41826 · 10−11 4, 10845 · 10−9 4, 82154 · 10−12
−2, 82738 · 10−10 4, 82154 · 10−12 4, 16628 · 10−9
Phalanx 10
0.066154
−0.428125
0.068149
0.000229386
6, 85519 · 10−10−3, 40021 · 10−11
−1, 01784 · 10−10
−3, 40021 · 10−11 2, 11583 · 10−9 4, 2802 · 10−12
−1, 01784 · 10−10 4, 2802 · 10−12 2, 09385 · 10−9
Phalanx 11
0.085693
−0.425175
0.022785
0.002
1, 90176 · 10−8 2, 85084 · 10−8 1, 45539 · 10−8
2, 85084 · 10−8 2, 19011 · 10−7 2, 12417 · 10−9
−1, 45539 · 10−8 2, 12417 · 10−9 2, 24642 · 10−7
F.3.Data
relatedto
thefinite
elementmodel
231
Phalanx 12
0.072279
−0.425954
0.038255
0.002
2, 24345 · 10−8 2, 3965 · 10−8−2, 87375 · 10−8
2, 3965 · 10−8 1, 59483 · 10−7 4, 90572 · 10−9
−2, 87375 · 10−8 4, 90572 · 10−9 1, 60197 · 10−7
Phalanx 13
0.059566
−0.425141
0.053141
0.002
2, 08031 · 10−8 2, 41047 · 10−8−2, 44792 · 10−8
2, 41047 · 10−8 1, 59278 · 10−7 4, 18071 · 10−9
−2, 44792 · 10−8 4, 18071 · 10−9 1, 61622 · 10−7
Phalanx 14
0.043829
−0.424855
0.064911
0.002
2, 17167 · 10−8 2, 40288 · 10−8−2, 69611 · 10−8
2, 40288 · 10−8 1, 59292 · 10−7 4, 60769 · 10−9
−2, 69611 · 10−8 4, 60769 · 10−9 1, 60724 · 10−7
Metatarsal bone 1
0.027141
−0.410822
−0.00672
0.024
2, 02403 · 10−6 2, 38486 · 10−6 7, 30355 · 10−7
2, 38486 · 10−6 9, 78592 · 10−6−2, 42564 · 10−7
7, 30355 · 10−7−2, 42564 · 10−7 1, 03758 · 10−5
Metatarsal bone 2
0.021425
−0.404595
0.016150
0.01
1, 20703 · 10−6 2, 16872 · 10−6−6, 0222 · 10−7
2, 16872 · 10−6 5, 52544 · 10−6 2, 4263 · 10−7
−6, 0222 · 10−7 2, 4263 · 10−7 6, 39653 · 10−6
Metatarsal bone 3
0.014512
−0.406677
0.030659
0.009
8, 1175 · 10−7 1, 42827 · 10−6−3, 33938 · 10−7
1, 42827 · 10−6 3, 55169 · 10−6 1, 41139 · 10−7
−3, 33938 · 10−7 1, 41139 · 10−7 4, 14784 · 10−6
Metatarsal bone 4
0.002991
−0.407967
0.042853
0.008
5, 47758 · 10−7 9, 97099 · 10−7−5, 37893 · 10−7
9, 97099 · 10−7 3, 3297 · 10−6 1, 71236 · 10−7
−5, 37893 · 10−7 1, 71236 · 10−7 3, 59556 · 10−6
Metatarsal bone 5
−0.016946
−0.410993
0.052298
0.008
3, 21433 · 10−7 4, 66781 · 10−7−4, 26323 · 10−7
4, 66781 · 10−7 2, 8031 · 10−6 6, 81786 · 10−8
−4, 26323 · 10−7 6, 81786 · 10−8 2, 83366 · 10−6
Cuneiform bone 1
−0.012644
−0.398069
−0.004416
0.007
2, 58971 · 10−7 4, 34196 · 10−9−3, 8955 · 10−8
4, 34196 · 10−9 4, 69399 · 10−7−6, 58089 · 10−8
−3, 8955 · 10−8−6, 58089 · 10−8 5, 3071 · 10−7
Cuneiform bone 2
−0.014807
−0.392981
0.010962
0.003
1, 01152 · 10−7 1, 27261 · 10−8 2, 06578 · 10−9
1, 27261 · 10−8 1, 01426 · 10−7−2, 78743 · 10−9
2, 06578 · 10−9−2, 78743 · 10−9 1, 37744 · 10−7
Cuneiform bone 3
−0.018928
−0.393887
0.024243
0.004
1, 42246 · 10−7 8, 76477 · 10−9−3, 88435 · 10−8
8, 76477 · 10−9 1, 3814 · 10−7−8, 60526 · 10−9
−3, 88435 · 10−8−8, 60526 · 10−9 1, 81263 · 10−7
Cuboid bone
−0.034076
−0.400092
0.035102
0.01
5, 18505 · 10−7−2, 3554 · 10−8 7, 86798 · 10−8
−2, 3554 · 10−8 6, 09943 · 10−7 2, 32199 · 10−8
7, 86798 · 10−8 2, 32199 · 10−8 5, 47495 · 10−7
232F.FOOT
ANATOMYAND
FINITEELEMENTMODELLING
Navicular bone
−0.034764
−0.389764
0.003937
0.009
7, 2299 · 10−7−1, 02108 · 10−7
−7, 49458 · 10−8
−1, 02108 · 10−7 7, 63692 · 10−7−8, 69837 · 10−8
−7, 49458 · 10−8−8, 69837 · 10−8 4, 09816 · 10−7
Calcaneus bone
−0.079295
−0.404987
0.021336
0.092
2, 00666 · 10−5−8, 55732 · 10−6
−1, 05436 · 10−6
−8, 55732 · 10−6−3, 3422 · 10−5
−9, 33371 · 10−7
−1, 05436 · 10−6−9, 33371 · 10−7 3, 84521 · 10−5
Talus bone
−0.059875
−0.376456
0.006968
0.032
3, 70447 · 10−6 6, 21266 · 10−8 4, 52293 · 10−8
6, 21266 · 10−8 6, 11859 · 10−6−5, 40937 · 10−7
4, 52293 · 10−8−5, 40937 · 10−7 4, 66048 · 10−6
Tibia bone
−0.057159
−0.142577
0.004344
0.628
0, 010 −8, 40121 · 10−5−3, 77423 · 10−7
−8, 40121 · 10−5 0, 000173744 −6, 16425 · 10−5
−3, 77423 · 10−7−6, 16425 · 10−5 0, 011
Fibula bone
−0.068604
−0.180764
0.038875
0.093
0, 001 8, 11888 · 10−7 1, 26903 · 10−7
8, 11888 · 10−7 3, 95622 · 10−6−1, 11747 · 10−5
1, 26903 · 10−7−1, 11747 · 10−5 0, 001
Table F.5: Inertial properties of the foot bones (Catia estimates)
F.3.Data
relatedto
thefinite
elementmodel
233
Ligament (Branch) number Insertion bone 1 Insertion bone 2
plantar calcaneonavicular 2 calcaneus navicular bone
tibiocalcaneal 1 tibia calcaneus
tibionavicular 1 tibia navicular bone
anterior tibiotalar 1 tibia talus
posterior tibiotalar 1 tibia talus
dorsal talonavicular 1 talus navicular bone
plantar tarsometatarsal 7 cuneiform bones and cuboid bone metatarsal bones
long plantar 4 calcaneus metatarsal bones 2,3,4 and 5
calcaneonavicular 1 calcaneus navicular bone
calcaneocuboid 1 calcaneus cuboid bone
calcaneofibular 1 calcaneus fibula
dorsal cuboideonavicular 1 cuboid bone navicular bone
dorsal cuneonavicular 3 cuneiform bones 1,2 and 3 navicular bone
dorsal metatarsal 4 metatarsal bones 1,2,3,4 and 5 metatarsal bones 1,2,3,4 and 5
deep transverse metatarsal 4 metatarsal bones 1,2,3,4 and 5 metatarsal bones 1,2,3,4 and 5
dorsal tarsometatarsal 10 cuneiform bones and cuboid bone) metatarsal bones
interosseus talocalcaneal 2 talus calcaneus
lateral talocalcaneal 1 talus calcaneus
anterior talofibular 1 talus fibula
medial talocalcaneal 1 talus calcaneus
posterior talocalcaneal 1 talus calcaneus
posterior talofibular 1 talus fibula
plantar cuboideonavicular 1 cuboid bone navicular bone
collateral 14 phalanges 1 to 14 phalanges 1 to 14
plantar cuneonavicular 3 cuneiform bones 1,2 and 3 navicular bone
plantar plates 14 phalanges 1 to 14 phalanges 1 to 14
plantar metatarsal 4 metatarsal bones 1,2,3,4 and 5 metatarsal bones 1,2,3,4 and 5
dorsal cuneocuboid 2 cuneiform bone 3 cuboid bone
dorsal intercuneiform 2 cuneiform bones 1,2 and 3 cuneiform bones 1,2 and 3
plantar calcaneocuboid 1 calcaneus cuboid bone
Table F.6: List of the foot ligaments and insertion bones
234F.FOOT
ANATOMYAND
FINITEELEMENTMODELLING
Ligament (Branch) number Insertion bone 1 Insertion bone 2
digital slip 6 calcaneus metatarsal bones
lateral band 1 calcaneus metatarsal bone 5
lateral plantar fascia 1 calcaneus metatarsal bone 5
medial plantar fascia 2 calcaneus cuneiform bone 1 and cuboid bone
Table F.7: List of the plantar fascia components and insertion bones
F.3.Data
relatedto
thefinite
elementmodel
235
Ligament Insertion point 1 [m] Insertion point 2 [m]
plantar calcaneonavicular 1 (−76.573 · 10−3,−395.545 · 10−3, 16.902 · 10−3) (−65.74 · 10−3,−390.611 · 10−3, 10.133 · 10−3)
plantar calcaneonavicular 2 (−84.448 · 10−3,−398.307 · 10−3, 8.28 · 10−3) (−72.576 · 10−3,−395.859 · 10−3,−2.765 · 10−3)
tibiocalcaneal (−82.231 · 10−3,−365.815 · 10−3,−22.523 · 10−3) (−83.261 · 10−3,−388.613 · 10−3,−5.843 · 10−3)
tibionavicular (−79.871 · 10−3,−369.226 · 10−3,−21.184 · 10−3) (−67.789 · 10−3,−384.734 · 10−3,−11.563 · 10−3)
anterior tibiotalar (−72.849 · 10−3,−369.756 · 10−3,−18.169 · 10−3) (−67.107 · 10−3,−376.205 · 10−3,−2.66 · 10−3)
posterior tibiotalar (−111.622 · 10−3,−360.296 · 10−3,−6.46 · 10−3) (−106.416 · 10−3,−380.939 · 10−3,−5.228 · 10−3)
dorsal talonavicular (−67.331 · 10−3,−370.243 · 10−3, 8.909 · 10−3) (−61.291 · 10−3,−377.661 · 10−3, 6.139 · 10−3)
plantar tarsometatarsal 1 (−67.914 · 10−3,−405.208 · 10−3, 37.43 · 10−3) (−66.72 · 10−3,−411.308 · 10−3, 42.8 · 10−3)
plantar tarsometatarsal 2 (−50.442 · 10−3,−407.358 · 10−3, 42.647 · 10−3) (−60.073 · 10−3,−407.216 · 10−3, 39.311 · 10−3)
plantar tarsometatarsal 3 (−51.507 · 10−3,−400.974 · 10−3, 22.293 · 10−3) (−48.721 · 10−3,−408.005 · 10−3, 34.958 · 10−3)
plantar tarsometatarsal 4 (−48.342 · 10−3,−402.981 · 10−3, 22.981 · 10−3) (−36.464 · 10−3,−406.22 · 10−3, 24.793 · 10−3)
plantar tarsometatarsal 5 (−42.824 · 10−3,−400.46 · 10−3, 10.52 · 10−3) (−31.395 · 10−3,−404.769 · 10−3, 17.649 · 10−3)
plantar tarsometatarsal 6 (−30.115 · 10−3,−404.496 · 10−3, 8.516 · 10−3) (−36.032 · 10−3,−404.287 · 10−3,−1.945 · 10−3)
plantar tarsometatarsal 7 (−40.622 · 10−3,−406.255 · 10−3,−10.053 · 10−3) (−34.215 · 10−3,−413.019 · 10−3,−14.558 · 10−3)
long plantar 1 (−111.508 · 10−3,−412.618 · 10−3, 29.543 · 10−3) (−59.907 · 10−3,−412.449 · 10−3, 45.761 · 10−3)
long plantar 2 (−107.863 · 10−3,−417.09 · 10−3, 17.417 · 10−3) (−48.721 · 10−3,−408.005 · 10−3, 34.958 · 10−3)
long plantar 3 (−36.464 · 10−3,−406.22 · 10−3, 24.793 · 10−3) (−107.863 · 10−3,−417.09 · 10−3, 17.417 · 10−3)
long plantar 4 (−31.395 · 10−3,−404.769 · 10−3, 17.649 · 10−3) (−105.475 · 10−3,−417.161 · 10−3, 11.078 · 10−3)
calcaneonavicular (−74.072 · 10−3,−380.764 · 10−3, 30.495 · 10−3) (−63.655 · 10−3,−379.487 · 10−3, 20.796 · 10−3)
calcaneocuboid (−74.072 · 10−3,−380.764 · 10−3, 30.495 · 10−3) (−65.346 · 10−3,−384.791 · 10−3, 37.389 · 10−3)
calcaneofibular (−109.743 · 10−3,−386.125 · 10−3, 36.028 · 10−3) (−101.536 · 10−3,−368.617 · 10−3, 44.167 · 10−3)
dorsal cuboideonavicular (−65.346 · 10−3,−384.791 · 10−3, 37.389 · 10−3) (−63.655 · 10−3,−379.487 · 10−3, 20.796 · 10−3)
dorsal cuneonavicular 1 (−59.924 · 10−3,−384.292 · 10−3,−9.596 · 10−3) (−50.75 · 10−3,−389.564 · 10−3,−6.724 · 10−3)
dorsal cuneonavicular 2 (−54.487 · 10−3,−379.937 · 10−3, 2.162 · 10−3) (−47.495 · 10−3,−382.398 · 10−3, 10.154 · 10−3)
dorsal cuneonavicular 3 (−60.993 · 10−3,−378.411 · 10−3, 14.575 · 10−3) (−53.665 · 10−3,−381.187 · 10−3, 21.445 · 10−3)
dorsal metatarsal 1 (−18.598 · 10−3,−395.707 · 10−3, 2.747 · 10−3) (−23.017 · 10−3,−390.981 · 10−3, 9.714 · 10−3)
dorsal metatarsal 2 (−32.381 · 10−3,−389.6 · 10−3, 25.611 · 10−3) (−27.841 · 10−3,−388.938 · 10−3, 18.797 · 10−3)
dorsal metatarsal 3 (−35.654 · 10−3,−391.209 · 10−3, 33.944 · 10−3) (−39.455 · 10−3,−394.912 · 10−3, 38.276 · 10−3)
dorsal metatarsal 4 (−45.231 · 10−3,−394.859 · 10−3, 44.12 · 10−3) (−52.721 · 10−3,−399.581 · 10−3, 52.339 · 10−3)
deep transverse metatarsal 1 (−10.34 · 10−3,−424.351 · 10−3, 58.352 · 10−3) (2.136 · 10−3,−426.918 · 10−3, 50.399 · 10−3)
deep transverse metatarsal 2 (6.473 · 10−3,−427.807 · 10−3, 46.759 · 10−3) (18.691 · 10−3,−431.523 · 10−3, 34.999 · 10−3)
deep transverse metatarsal 3 (19.754 · 10−3,−431.271 · 10−3, 32.416 · 10−3) (24.2 · 10−3,−428.108 · 10−3, 24.449 · 10−3)
deep transverse metatarsal 4 (24.248 · 10−3,−430.494 · 10−3, 16.671 · 10−3) (24.134 · 10−3,−430.348 · 10−3,−2.628 · 10−3)
dorsal metatarsal 1 (−35.128 · 10−3,−394.482 · 10−3,−8.791 · 10−3) (−24.638 · 10−3,−392.509 · 10−3,−9.911 · 10−3)
dorsal metatarsal 2 (−30.094 · 10−3,−395.175 · 10−3,−4.729 · 10−3) (−22.768 · 10−3,−392.716 · 10−3,−4.562 · 10−3)
dorsal metatarsal 3 (−33.671 · 10−3,−385.826 · 10−3, 1.003 · 10−3) (−30.895 · 10−3,−387.234 · 10−3, 7.607 · 10−3)
236F.FOOT
ANATOMYAND
FINITEELEMENTMODELLING
dorsal metatarsal 4 (−37.526 · 10−3,−387.405 · 10−3, 8.677 · 10−3) (−30.615 · 10−3,−386.171 · 10−3, 14.727 · 10−3)
dorsal metatarsal 5 (−38.697 · 10−3,−387.686 · 10−3, 15.684 · 10−3) (−35.674 · 10−3,−391.854 · 10−3, 23.587 · 10−3)
dorsal metatarsal 6 (−38.886 · 10−3,−385.498 · 10−3, 22.506 · 10−3) (−36.227 · 10−3,−388.876 · 10−3, 20.194 · 10−3)
dorsal metatarsal 7 (−38.175 · 10−3,−388.725 · 10−3, 25.985 · 10−3) (−34.021 · 10−3,−389.276 · 10−3, 30.512 · 10−3)
dorsal metatarsal 8 (−41.398 · 10−3,−389.973 · 10−3, 32.366 · 10−3) (−39.455 · 10−3,−394.912 · 10−3, 38.276 · 10−3)
dorsal metatarsal 9 (−53.556 · 10−3,−390.6 · 10−3, 37.626 · 10−3) (−47.451 · 10−3,−391.502 · 10−3, 40.376 · 10−3)
dorsal metatarsal 10 (−63.959 · 10−3,−389.157 · 10−3, 44.838 · 10−3) (−60.243 · 10−3,−397.187 · 10−3, 51.986 · 10−3)
interosseus talocalcaneal 1 (−78.053 · 10−3,−378.289 · 10−3, 26.547 · 10−3) (−77.688 · 10−3,−375.278 · 10−3, 22.291 · 10−3)
interosseus talocalcaneal 2 (−84.126 · 10−3,−377.893 · 10−3, 32.858 · 10−3) (−85.209 · 10−3,−375.39 · 10−3, 25.94 · 10−3)
lateral talocalcaneal (−89.193 · 10−3,−376.312 · 10−3, 29.212 · 10−3) (−86.549 · 10−3,−378.238 · 10−3, 31.691 · 10−3)
anterior talofibular (−70.256 · 10−3,−370.298 · 10−3, 14.385 · 10−3) (−88.265 · 10−3,−356.056 · 10−3, 47.726 · 10−3)
medial talocalcaneal (−103.551 · 10−3,−381.81 · 10−3,−7.822 · 10−3) (−93.436 · 10−3,−392.272 · 10−3,−95.E − 6)
posterior talocalcaneal (−112.521 · 10−3,−370.985 · 10−3, 8.715 · 10−3) (−115.861 · 10−3,−381.016 · 10−3, 8.203 · 10−3)
posterior talofibular (−111.538 · 10−3,−367.943 · 10−3, 13.576 · 10−3) (−104.408 · 10−3,−363.987 · 10−3, 35.735 · 10−3)
plantar cuboideonavicular (−58.382 · 10−3,−401.938 · 10−3, 23.885 · 10−3) (−64.778 · 10−3,−389.845 · 10−3, 13.201 · 10−3)
collateral 1 (70.285 · 10−3,−432.976 · 10−3,−8.179 · 10−3) (74.396 · 10−3,−438.426 · 10−3,−10.054 · 10−3)
collateral 2 (38.72 · 10−3,−432.644 · 10−3,−15.415 · 10−3) (27.479 · 10−3,−422.038 · 10−3,−17.987 · 10−3)
collateral 3 (92.21 · 10−3,−436.87 · 10−3, 23.035 · 10−3) (90.138 · 10−3,−434.784 · 10−3, 23.324 · 10−3)
collateral 4 (71.248 · 10−3,−433.75 · 10−3, 20.477 · 10−3) (74.649 · 10−3,−437.843 · 10−3, 20.312 · 10−3)
collateral 5 (40.009 · 10−3,−431.758 · 10−3, 18.507 · 10−3) (32.266 · 10−3,−423.875 · 10−3, 16.145 · 10−3)
collateral 6 (74.461 · 10−3,−437.739 · 10−3, 40.132 · 10−3) (71.362 · 10−3,−435.727 · 10−3, 40.115 · 10−3)
collateral 7 (59.974 · 10−3,−437.471 · 10−3, 38.309 · 10−3) (55.988 · 10−3,−434.594 · 10−3, 37.952 · 10−3)
collateral 8 (28.326 · 10−3,−431.529 · 10−3, 32.639 · 10−3) (23.232 · 10−3,−426.895 · 10−3, 30.72 · 10−3)
collateral 9 (58.474 · 10−3,−435.763 · 10−3, 52.714 · 10−3) (55.185 · 10−3,−433.833 · 10−3, 53.6 · 10−3)
collateral 10 (46.337 · 10−3,−434.409 · 10−3, 52.336 · 10−3) (43.304 · 10−3,−431.653 · 10−3, 52.274 · 10−3)
collateral 11 (15.577 · 10−3,−429.744 · 10−3, 47.853 · 10−3) (10.801 · 10−3,−423.996 · 10−3, 45.933 · 10−3)
collateral 12 (40.369 · 10−3,−434.473 · 10−3, 64.896 · 10−3) (37.526 · 10−3,−431.923 · 10−3, 65.43 · 10−3)
collateral 13 (29.753 · 10−3,−433.174 · 10−3, 64.589 · 10−3) (27.64 · 10−3,−430.174 · 10−3, 64.342 · 10−3)
collateral 14 (−1.903 · 10−3,−425.902 · 10−3, 58.737 · 10−3) (−5.564 · 10−3,−421.67 · 10−3, 56.948 · 10−3)
plantar cuneonavicular 1 (−54.506 · 10−3,−401.369 · 10−3, 19.541 · 10−3) (−58.576 · 10−3,−388.296 · 10−3, 15.605 · 10−3)
plantar cuneonavicular 2 (−51.126 · 10−3,−398.137 · 10−3, 8.607 · 10−3) (−59.177 · 10−3,−391.895 · 10−3, 1.724 · 10−3)
plantar cuneonavicular 3 (−53.751 · 10−3,−400.538 · 10−3,−9.169 · 10−3) (−64.909 · 10−3,−392.369 · 10−3,−6.679 · 10−3)
plantar plate 1 (66.493 · 10−3,−439.419 · 10−3,−2.272 · 10−3) (76.403 · 10−3,−442.128 · 10−3, 252.E − 6)
plantar plate 2 (36.528 · 10−3,−434.361 · 10−3,−5.886 · 10−3) (21.456 · 10−3,−431.064 · 10−3,−8.502 · 10−3)
plantar plate 3 (91.599 · 10−3,−438.835 · 10−3, 26.728 · 10−3) (86.731 · 10−3,−439.888 · 10−3, 26.178 · 10−3)
plantar plate 4 (73.82 · 10−3,−439.34 · 10−3, 24.755 · 10−3) (68.495 · 10−3,−437.49 · 10−3, 23.883 · 10−3)
plantar plate 5 (39.533 · 10−3,−432.57 · 10−3, 22.212 · 10−3) (27.638 · 10−3,−430.78 · 10−3, 20.898 · 10−3)
F.3.Data
relatedto
thefinite
elementmodel
237
plantar plate 6 (73.864 · 10−3,−438.661 · 10−3, 43.726 · 10−3) (69.642 · 10−3,−439.253 · 10−3, 43.254 · 10−3)
plantar plate 7 (59.23 · 10−3,−438.655 · 10−3, 41.898 · 10−3) (52.95 · 10−3,−437.247 · 10−3, 41.028 · 10−3)
plantar plate 8 (27.414 · 10−3,−432.271 · 10−3, 36.263 · 10−3) (18.691 · 10−3,−431.523 · 10−3, 34.999 · 10−3)
plantar plate 9 (57.99 · 10−3,−436.675 · 10−3, 56.327 · 10−3) (54.135 · 10−3,−436.309 · 10−3, 56.685 · 10−3)
plantar plate 10 (45.681 · 10−3,−436.09 · 10−3, 55.829 · 10−3) (40.42 · 10−3,−435.484 · 10−3, 55.491 · 10−3)
plantar plate 11 (14.747 · 10−3,−430.499 · 10−3, 51.503 · 10−3) (8.515 · 10−3,−427.749 · 10−3, 50.301 · 10−3)
plantar plate 12 (40.176 · 10−3,−435.434 · 10−3, 68.524 · 10−3) (36.504 · 10−3,−434.803 · 10−3, 68.344 · 10−3)
plantar plate 13 (29.669 · 10−3,−434.567 · 10−3, 68.069 · 10−3) (24.699 · 10−3,−434.001 · 10−3, 67.512 · 10−3)
plantar plate 14 (−900.E − 6,−429.021 · 10−3, 63.065 · 10−3) (−10.725 · 10−3,−424.233 · 10−3, 60.985 · 10−3)
plantar metatarsal 1 (−44.835 · 10−3,−412.114 · 10−3, 46.323 · 10−3) (−42.614 · 10−3,−408.95 · 10−3, 42.931 · 10−3)
plantar metatarsal 2 (−41.327 · 10−3,−409.56 · 10−3, 37.903 · 10−3) (−36.715 · 10−3,−405.779 · 10−3, 32.284 · 10−3))
plantar metatarsal 3 (−36.464 · 10−3,−406.22 · 10−3, 24.793 · 10−3) (−31.395 · 10−3,−404.769 · 10−3, 17.649 · 10−3)
plantar metatarsal 4 (−30.115 · 10−3,−404.496 · 10−3, 8.516 · 10−3) (−29.756 · 10−3,−413.578 · 10−3, 880.E − 6)
dorsal cuneocuboid 1 (−56.547 · 10−3,−381.917 · 10−3, 24.354 · 10−3) (−59.232 · 10−3,−387.094 · 10−3, 29.198 · 10−3)
dorsal cuneocuboid 2 (−43.257 · 10−3,−389.748 · 10−3, 34.638 · 10−3) (−52.94 · 10−3,−389.54 · 10−3, 33.606 · 10−3)
dorsal intercuneiform 1 (−42.831 · 10−3,−384.114 · 10−3, 513.E − 6) (−41.51 · 10−3,−385.336 · 10−3, 4.572 · 10−3)
dorsal intercuneiform 2 (−44.895 · 10−3,−382.986 · 10−3, 17.001 · 10−3) (−48.551 · 10−3,−382.831 · 10−3, 21.131 · 10−3)
plantar calcaneocuboid (−80.518 · 10−3,−402.127 · 10−3, 32.616 · 10−3) (−70.29 · 10−3,−401.5 · 10−3, 29.562 · 10−3)
Table F.8: Coordinates of the ligament insertion points
238F.FOOT
ANATOMYAND
FINITEELEMENTMODELLING
Ligament Insertion point 1 [m] Insertion point 2 [m]
digital slip 1 (−121.798 · 10−3,−426.483 · 10−3, 10.822 · 10−3) (−1.092 · 10−3,−415.727 · 10−3,−14.407 · 10−3)
digital slip 2 (−121.879 · 10−3,−426.991 · 10−3, 13.606 · 10−3) (17.27 · 10−3,−430.469 · 10−3,−7.961 · 10−3)
digital slip 3 (−121.879 · 10−3,−426.991 · 10−3, 13.606 · 10−3) (23.382 · 10−3,−430.624 · 10−3, 20.804 · 10−3)
digital slip 4 (−122.526 · 10−3,−427.436 · 10−3, 16.184 · 10−3) (15.126 · 10−3,−431.078 · 10−3, 35.123 · 10−3)
digital slip 5 (−124.468 · 10−3,−425.435 · 10−3, 21.212 · 10−3) (2.693 · 10−3,−426.838 · 10−3, 45.834 · 10−3)
digital slip 6 (−126.059 · 10−3,−421.934 · 10−3, 25.456 · 10−3) (−14.82 · 10−3,−423.648 · 10−3, 60.124 · 10−3)
lateral band (−126.059 · 10−3,−421.934 · 10−3, 25.456 · 10−3) (−67.998 · 10−3,−409.26 · 10−3, 53.909 · 10−3)
lateral plantar fascia (−126.059 · 10−3,−421.934 · 10−3, 25.456 · 10−3) (−24.883 · 10−3,−416.527 · 10−3, 58.564 · 10−3)
medial plantar fascia 1 (−121.798 · 10−3,−426.483 · 10−3, 10.822 · 10−3) (−72.576 · 10−3,−395.859 · 10−3,−2.765 · 10−3)
medial plantar fascia 2 (−121.879 · 10−3,−426.991 · 10−3, 13.606 · 10−3) (−51.463 · 10−3,−401.468 · 10−3,−8.02 · 10−3)
Table F.9: Coordinates of the plantar fascia insertion points
Bibliography
[AMANKWAH2004] K. Amankwah, R. J. Triolo, and R. Kirsch. Effects of spinal cord injury on
lower-limb passive joint moments revealed through a nonlinear viscoelastic model.
Journal of Rehabilitation Research & Development, 41(1): 15–32, January/February
2004.
[ANDERSON2001] F. C. Anderson and M. G. Pandy. Dynamic optimization of human walking.
Journal of Biomechanical Engineering, 123: 381–389, 2001.
[ANTUNES2007] P.-J. Antunes, G. R. Dias, A. T. Coelho, F. Rebelo, and T. Pereira. Non-
linear finite element modelling of anatomically detailed 3d foot model. Rapport
technique, Materialise NV, 2007.
[ANZ@net] http://www.c3d.org/applications/anz.html.
[AOI2008] S. Aoi, N. Ogihara, Y. Sugimoto, and K. Tsuchiya. Simulating adaptive human
bipedal locomotion based on phase resetting using foot-contact information. Com-
puter Methods in Biomechanics and Biomedical Engineering, 22(15): 1697–1713,
2008.
[AOI2010] S. Aoi, N. Ogihara, T. Funato, Y. Sugimoto, and K. Tsuchiya. Evaluating functional
roles of phase resetting in generation of adaptive human bipedal walking with a
physiologically based model of the spinal pattern generator. Biol Cybern, 102: 373–
387, 2010.
[ASIMO@net] http://world.honda.com/ASIMO/history/technology2.html.
[AZEVEDO2002] C. Azevedo. Controle de la locomotion artificielle: de l’homme aux robots.
These de doctorat, Insititut National Polytechnique de Grenoble, 2002.
[AZEVEDO2004] C. Azevedo, B. Amblard, B. Espiau, and C. Assaiante. A synthesis of bipedal
locomotion in human and robots. Research report, demar project, Inria, Institut
de recherche en informatique et en automatique, 2004. Number 5450.
[Abaqusmanual] Abaqus User’s Manual,Version 6.7,2007.
[BARBOSA2005] I. Barbosa, J. A. C. Ambrosio, and M. Silva. A foot contact model for the
forward dynamics of human locomotion. In J. M . Goicolea, J. Cuadrado, and
239
240 Bibliography
J. C. Garcia Orden, editors, Multibody Dynamics, ECCOMAS Thematic Confer-
ence, Madrid, Spain, 2005.
[BARCLAY1996] C. J. Barclay. Mechanical efficiency and fatigue of fast and slow muscles of
the mouse. J Physiol, 497(3): 781–794, 1996.
[BARCLAY2008] C. J. Barclay, G. A. Lichtwark, and N. A. Curtin. The energetic cost of
activation in mouse fast-twitch muscle is the same whether measured using reduced
filament overlap or n-benzyl-p-toluenesulphonamide. Acta Physiol, 193(4): 381–391,
2008.
[BENSMAIA] S. J. Bensmaıa, A. Sripati, and K. O. Johnson. A biophysical model of afferent
responses to dynamic stimuli. Poster, Unknwon data.
[BHARGAVA2004] L. J. Bhargava, M. G. Pandy, and F. C. Anderson. A phenomenological
model for estimating metabolic energy consumption in muscle contraction. Journal
of Biomechanics, 37(1): 81–88, 2004.
[BIANCHI1998a] L. Bianchi, D. Angelici, G.P. Orani, and F. Lacquaniti. Kinematic co-
ordination in human gait: relation to mechanical energy cost. J. Neurophysiol.,
79: 2155–2170, 1998a.
[BIANCHI1998b] L. Bianchi, D. Angelici, and F. Lacquaniti. Individual characteristics of human
walking mechanics. Pflugers Arch., 436: 343–356, 1998b.
[BIEWENER1998] A. Biewener, D. Konieczynski, and R. Baudinette. In vivo muscle force-
length behavior during steady-speed hopping in tammar wallabies. J. Exp. Biol.,
201: 1681–1694, 1998.
[BLICKHAN1989] R. Blickhan. The spring-mass model for running and hopping. J. Biome-
chanics, 22: 1217–1227, 1989.
[BROWN1996II] I. E. Brown, S. H. Scott, and G. E. Loeb. Mechanics of feline soleus: Ii. design
and validation of a mathematical model. J. Muscle Research and Cell Motility, 17:
221–233, 1996.
[BROWN1999I] I.E. Brown and G. E. Loeb. Measured and modeled properties of mammalian
skeletal muscle: I. the effects of post-activation potentiation on the time-course
and velocity dependencies of force production. J. Muscle Res. Cell Motility, 20:
443–456, 1999.
[BROWN1999II] I.E. Brown and G. E. Loeb. Measured and modeled properties of mammalian
skeletal muscle: Ii. the effects of stimulus frequency on force-length and force-
velocity relationships. J. Muscle Res. Cell Motility, 20: 627–643, 1999.
[BROWN2000III] I.E. Brown and G. E. Loeb. Measured and modeled properties of mammalian
skeletal muscle: Iii. the effects of stimulus frequency on stretch-induced force en-
hancement and shortening-induced force depression. J. Muscle Res. Cell Motility,
21: 21–31, 2000.
Bibliography 241
[BROWN2000IV] I.E. Brown and G. E. Loeb. Measured and modeled properties of mammalian
skeletal muscle: Iv. the dynamics of activation and deactivation. J. Muscle Res.
Cell Motility, 21: 33–47, 2000.
[Boost@net] http://www.boost.org/.
[CAMACHO2002] D. L. A. Camacho, W. R. Ledoux, E. S. Rohr, B. J. Sangeorzan, and R. P.
Ching. A three-dimensional, anatomically detailed foot model: A foundation for a
finite element simulation and means of quantifying foot-bone position. Journal of
Rehabilitation Research & Development, 39(3): 401–410, 2002.
[CAVAGNA1963] G.A. Cavagna, F.P. Saibene, and R. Margaria. External work in walking. J.
Appl. Physiol., 18: 1–9, 1963.
[CAVAGNA1976] G.A. Cavagna, H. Thys, and A. Zamboni. The sources of external work in
level walking and running. J. Physiol., 262: 639–657, 1976.
[CAVAGNA1977] G.A. Cavagna, N. Heglund, and C. Taylor. Mechanical work in terrestrial
locomotion: Two basic mechanims for minimizing expenditure. Amer. J. Physiol.,
233: R243–R261, 1977.
[CESARI2001] Cesari P., Shiratori T., Olivato P., and Duarte M. Analysis of kinematically
redundant reaching movements using the equilibrium-point hypothesis. Biol Cybern,
84(3): 217–226, 2001.
[CHANDANA2005] P. Chandana, M. Bellotti, S. Jezernik, and A. Curt. Development of a
human neuro-musculo-skeletal model for investigation of spinal cord injury. Biol
Cybern, 93: 153–170, 2005.
[CHEN2001] W.-P. Chen, F.-T. Tang, and C.-W. Ju. Stress distribution of the foot during
mid-stance to push-off in barefoot gait: a 3-d finite element analysis. Clin Biomech,
16(7): 614–620, 2001.
[CHENG2000] E.J. Cheng, I.E. Brown, and G.E. Loeb. Virtual muscle: a computational ap-
proach to understanding the effects of muscle properties on motor control. Journal
of Neuroscience Methods, 101: 117–130, 2000.
[CHEUNG2004] J. T. Cheung, M. Zhang, and K.-N. An. Effects of plantar fascia stiffness on
the biomechanical responses of the ankle-foot complex. Clinical Biomechanics, 19:
839–846, 2004.
[CHEUNG2005I] J. T. Cheung and M. Zhang. A 3-dimensional finite element model of the
human foot and ankle for insole design. Arch. Phys. Med. Rehabil., 86(2): 353–358,
2005a.
[CHEUNG2005II] J. T. Cheung, M. Zhang, A. K. Leung, and Y. Fan. Three-dimensional finite
element analysis of the foot during standing - a material sensivity study. Journal
of Biomechanics, 38(5): 1045–1054, 2005.
[CHEUNG2006I] J. T. Cheung, M. Zhang, and K.-N. An. Effect of achilles tendon loading on
plantar fascia tension in the standing foot. Clinical Biomechanics, 21(2): 194–203,
2006.
242 Bibliography
[CHEUNG2006II] J. T. Cheung and M. Zhang. Finite element modeling of the human foot and
footwear. In Abaqus User’s conference, 2006.
[CHEUNG2008] J. T. Cheung and M. Zhang. Parametric design of pressure-relieving foot or-
thosis using statistics-based finite element method. Medical Engineering & Physics,
30(3): 269–277, 2008.
[COLLINS2001] S. H. Collins, M. Wisse, and A. Ruina. A three-dimensional passive-dynamic
walking robot with two legs and knees. International Journal on Robotics Research,
20(7): 607–615, 2001.
[DAI2006] X.-Q. Dai, Y. Li, M. Zhang, and J. T. Cheung. Effect of sock on biomechanical
responses of foot during walking. Clinical Biomechanics, 21: 314–321, 2006.
[DATOUSSAID1998] S. Datoussaıd. Optimal design of multibody systems by using genetic
algorithms. Vehicle System Dynamics, Supplement 28: 704–710, 1998.
[DATOUSSAID2001] S. Datoussaıd, O. Verlinden, and C. Conti. Comparison of the use of
gas and ess for the optimization of multibody systems. In Proceedings of the 15th
European Simulation Multiconference, pages 461–465, Prague, Czech Republic, 6-9
June.
[DELP1990] S. L. Delp. Surgery simulation: A computer-graphics system to analyze and design
musculoskeletal reconstructions of the lower limb. These de doctorat, Stanford
University, 1990.
[DELP1990second] S. L. Delp, J. P. Loan, M. G. Hoy, F. E. Zajac, E. L. Topp, and J. M. Rosen.
An interactive graphics-based model of the lower extremity to study orthopaedic
surgical procedures. Rapport technique, IEEE Transactions on Biomedical Engi-
neering, 1990.
[DELP@net] S. L. Delp. Geometric 3D model of the bones of the human skeleton,
http://nmbl.stanford.edu/research/models/. . .
. . . lowerextremity.htm, http://isbweb.org/data/delp/index.html.
[DEPINAFILHO2004] A. C. de Pina Filho, M. S. Dutra, and L. S. C. Raptopoulos. Modeling
of a bipedal robot using mutually coupled rayleigh oscillators. Biol. Cybern., 92:
1–7, 2005.
[DEVAUX2008] B. Devaux. Modelisation elements finis 3d du contact pied-sol. Travail de fin
d’etudes, Faculte Polytechnique de Mons, 2008.
[DOLLAR2007] A. M. Dollar and H. Herr. Active orthoses for the lower-limbs: Challenges and
state of the art. In Proceedings of the 2007 IEEE 10th International Conference on
Rehabilitation Robotics, pages 968–977, Noordwijk, The Netherlands, June 12-15.
[DONELAN2002] J. Donelan, R. Kram, and A. Kuo. Simultaneous positive and negative ex-
ternal work in human walking. J. Biom., 35: 117–124, 2002.
[DOSEN2007] S. Dosen, D. B. Popovic, and C. Azevedo-Coste. Un nouvel outil pour la concep-
tion et la simulation de lois de commande pour le contrA´le de la marche de patients
Bibliography 243
atteints de dA©ficits moteurs. Journal europA©en des systA¨mes automatisA©s,
41(2), 2007.
[DeskArtes@net] http://www.deskartes.com/.
[EASYDYN@net] http://mecara.fpms.ac.be/EasyDyn/.
[ESTEKI1996] A. Esteki and J. M. Mansour. An experimentally based nonlinear viscoelastic
model of joint passive moment. J Biomech, 29(4): 443–450, 1996.
[FELDMAN1986] A. Feldman. Once more on the equilibrium-point hypothesis (λ model) for
motor control. J Mot Behav, 18(1): 17–54, 1986.
[FELDMAN1995] A. Feldman and M. Levin. Position frames of reference in motor control: the
origin and use. Behav Brain Sci, 18(4): 723–806, 1995.
[FELDMAN1998] A. Feldman, D. Ostry, P. Gribble, and A. Mitnitski. Recent tests of the
equilibrium-point hypothesis (λ-model). Motor control, 2(3): 189–205, 1998.
[FULL1997] R. Full. Invertebrate locomotor systems. In W. Dantzler, editor, The Handbook of
Comparative Physiology, pages 853–930. Oxford University Press, New York, 1997.
[FUNG] Y. C. Fung. Biomechanics: mechanical properties of living tissues. Springer-Verlag,
New York, 1993. 2nd ed.
[GARNER2000] G. A. Garner M. G. Pandy. The obstacle-set method for representing muscle
paths in musculoskeletal models. Computer Methods in Biomechanics and Biomed-
ical Engineering, 3(1): 1–30, 2000.
[GAUL@net] http://gaul.sourceforge.net/.
[GEFEN2000] A. Gefen, M. Megido-Ravid, Y. Itzchak, and M. Arcan. Biomechanical anal-
ysis of the three-dimensional foot structure during gait: a basic tool for clinical
applications. J Biomech Eng., 122(6): 630–639, 2000.
[GEFEN2002] A. Gefen. Stress analysis of the standing foot following surgical plantar fascia
release. Journal of Biomechanics, 35(5): 629a637, 2002.
[GERADIN] M. Geradin and A. Cardona. Flexible multibody dynamics, A finite element ap-
proach. J. Wiley & Sons, New York, 2001.
[GHAFOURI2001] M. Ghafouri and A. Feldman. The timing of control signals underlying fast
point-to-point arm movements. Exp Brain Res, 137(3-4): 411–423, 2001.
[GILCHRIST1996] L. A. Gilchrist and D. A. Winter. A two-part, viscoelastic foot model for
use in gait simulations. J. Biomechanics, 29(6): 795–798, 1996.
[GONTHIER2007] Y. Gonthier, J. McPhee, C. Lange, and J. C. Piedboeuf. On the implemen-
tation of coulomb friction in a volumetric-based model for contact dynamics. In
Proceedings of ASME IDETC, pages 49–54, Las Vegas, NY, USA, October 19-22.
[GSL@net] http://www.gnu.org/software/gsl/.
244 Bibliography
[GU2005] Y.-D.Gu and J. S. Li. Finite element analysis of the instep fatigue trauma in the
high-heeled gait. World Journal of Modelling and Simulation, 1: 117–122, 2005.
[GUNTHER2003] M. Gunther and H. Ruder. Synthesis of two-dimensional human walking: a
test of the λ-model. Biol. Cybern., 89: 89–16, 2003.
[HABUMUREMYI2004] J.-C. Habumuremyi, Y. Baudoin, and P. Kool. Adaptative neuro-fuzzy
control of amru-5, a six-legged robot. In IARP Workshop Hudem 2004, Brussels,
16-18 June 2004.
[HASE1997] K. Hase and N. Yamazaki. Development of three-dimensional whole-body muscu-
loskeletal model for various motion analyses. JSME International Journal Series
C, (1): 25–32, 1997.
[HATZE1997] H. Hatze. A three-dimensional multivariate model of passive human torques and
articular boundaries. 12(2): 128–135, 1997.
[HERR2008] H. Herr and M. Popovic. Angular momentum in human walking. Journal of
Experimental Biology, 211: 467–481, 2008.
[HILL1938] A. V. Hill. The heat of shortening and the dynamic constants of muscle. In Pro-
ceedings of the Royal Society of London, Series B, Biological Sciences, volume 126,
pages 136–195, 1938.
[HINTON1987] G. E. Hinton and S. J. Nowlan. How learning can guide evolution. Complex
Systems, 1: 495–502, 1987.
[HIRAI1998] K. Hirai, M. Hirose, Y. Haikawa, and T. Takenaka. The development of the honda
humanoid robot. In IEEE International Conference on Robotics and Automation,
pages 1321–1326, Leuven, Belgium, 1998.
[HOFMANN2009] A. Hofmann, M. B. Popovic, and H. Herr. Exploiting angular momentum
to enhance bipedal center-of-mass control. In IEEE International Conference on
Robotics and Automation, pages 12–17, Kobe, Japan, May 2009.
[HOLLERBACH1995] K. Hollerbach. Modeling the biomechanics of human joints and prosthetic
implants. Rapport technique UCRL-TB-118601 Rev. 1, University of California,
Lawrence Livermore National Laboratory, Livermore, CA, 1995.
[HOLMES2006] P. Holmes, R. J. Full, D. Koditschek, and J. Guckenheimer. The dynamics of
legged locomotion: Models, analyses and challenges. Siam review, 48(2), June 2006.
[HOUDIJK2006] H. Houdijk, M. F. Bobbert, and A. de Haan. Evaluation of a hill based
muscle model for the energy cost and efficiency of muscular contraction. Journal of
Biomechanics, 39(3): 536–543, 2006.
[HULBERT2005] G. M. Hulbert, Z.-D. Ma, and J. Wang. Gluing for dynamic simulation of
distributed mechanical systems. In Advances in Computational Multibody Systems,
volume 2 of Computational Methods in Applied Sciences, pages 69–94. Springer
Netherlands, 2005.
Bibliography 245
[HUXLEY1957] A. F. Huxley. Muscle structure and theories of muscle contraction. Progr.
Biophys. Biophys. Chem., 1957.
[INRIAbib@net] http://www.inrialpes.fr/bipop/bip.html.
[IVANENKO2004] Y.P. Ivanenko, N. Dominici, G. Cappellini, B. Dan, G. Cheron, and F. Lac-
quaniti. Development of pendulum mechanism and kinematic coordination from
the first unsopported steps in todlers. The Journal of Experimental Biology, 207:
3797–3810, 2004.
[IVANENKO2006] Y. P. Ivanenko, R. E. Poppele, and F. Lacquaniti. Motor control programs
and walking. Neuroscientist, 12(4): 339–348, 2006.
[JACOB1999] S. Jacob and M. K. Patil. Three-dimensional foot modeling and analysis of
stresses in normal and early stage hansen’s disease with muscle paralysis. Journal
of Rehabilitation Research & Development, 36(3): 252–263, 1999.
[JOHNSON2001] K. O. Johnson. The roles and functions of cutaneous mechanoreceptors. Cur-
rent Opinion in Neurobiology, 11(4): 455–461, 2001.
[KAJITA2003] S. KAJITA, F. KANEHIRO, K. KANEKO, K. FUJIWARA, K. HARADA,
K. YOKOI, and H. HIRUKAWA. Biped walking pattern generation by using pre-
view control of zero-moment point. In Proceedings of the 2003 IEEE International
Conference on Robotics & Automation, pages 1620–1626, Taipei, Taiwan, Septem-
ber 14-19 2003.
[KANDEL] E. Kandel, J. Schwartz, and T. Jessell. Principles of Neural Science. McGraw-Hill,
New York, 2000.
[KOUROUSSIS2009] G. Kouroussis. Modelisation des effets vibratoires du trafic ferroviaire sur
l’environnement. These de doctorat, Universite de Mons (UMONS), May 2009.
[KUBLER2000] R. Kubler and W. Schiehlen. Modular simulation in multibody system dynam-
ics. Multibody System Dynamics, 4: 104–127, 2000.
[KUMAR1995] S. Kumar and H. Adeli. Distributed finite-element analysis on network of
workstations-algorithms. Journal of Structural Engineering, 121(10): 1448–1455,
1995.
[LAKES1999] R. S. Lakes and R. Vanderby. Interrelation of creep and relaxation: a modeling
approach for ligaments. J Biomech Eng, 121(6): 612–615, 1999.
[LAMPAERT2004] V. Lampaert, J. Swevers, and F. Al-Bender. Comparison of model and non-
model based friction compensation techniques in the neighbourhood of pre-sliding
friction. In American Control Conference, pages 1121–1126, June 30-July 2 2004.
Boston, Massachussetts.
[LEMMON1997] D. Lemmon, T. Y. Shiang, A. Hashmi, J. S. Ulbrecht, and P. R. Cavanagh.
The effect of insoles in therapeutic footwear - a finite element approach. J Biomech,
30(6): 615–620, 1997.
246 Bibliography
[LEURS2006] F. Leurs, A. Bengoetxea, A. Cebolla, S. Wellens, and G. Cheron. Is planar
covariance of lower limb segments during gait a reflection of optimisation criteria ?
In Abstracts des doctorants de la journee du 6 juillet. Ecole doctorale en sciences
de la motricite (edsm), Juillet 2006.
[LICHTWARK2005] G. A. Lichtwark and A. M. Wilson. A modified hill muscle model that pre-
dicts muscle power output and efficiency during sinusoidal length changes. Journal
of Experimental Biology, 208: 2831–2843, 2005.
[MANSOUR1986] J. M. Mansour and M. L. Audu. The passive elastic moment at the knee and
its influence on human gait. J Biomech, 19(5): 369–373, 1986.
[MCGEER1990] T. McGeer. Passive bipedal walking. Int. J. Robotics Res., 9: 62–82, 1990.
[MCGEER1990second] T. McGeer. Passive walking whith knees. In Proceedings of the IEEE In-
ternational Conference on Robotics and Automation, Cincinnati, OH, pages 1640–
1645, Piscataway, NJ, 1990. IEEE Press.
[MCGEER1992] Principles of walking and running. In R. Alexander, editor, Advances in Com-
parative and Environmental Physiology, volume 11: Mechanics of animal locomo-
tion, pages 113–139. Springer-Verlag, Berlin, 1992.
[MCGEER1993] T. McGeer. Dynamics and control of bipedal locomotion. J. Theoret. Biol.,
16: 277–314, 1993.
[MCGINLEY2008] B. McGinley, F. Morgan, and C. ORiordan. Maintaining diversity through
adaptive selection, crossover and mutation. In Genetic and Evolutionary Compu-
tation Conference (GECCO), pages 1127–1128, July.
[MCMAHON] T. McMahon. Muscles, Reflexes and Locomotion. Princetown University Press,
Princeton, NJ, 1984.
[MCMAHON1990] T. McMahon and G. Cheng. The mechanics of running: how does stiffness
couple with speed? J. Biomechanics, 23 (supll 1): 65–78, 1990.
[MEGLAN1992] D. A. Meglan. A 3d passive mechanical model of the human foot for use
in locomotion synthesis. In NACOB II: The second North American Congress of
Biomechanics, Chicago, 1992.
[MIGLIORE2010] S. A. Migliore, L. H. Ting, and S. P. DeWeerth. Passive joint stiffness in
the hip and knee increases the energy efficiency of leg swinging. Auton Robot, 29:
119–135, 2010.
[MILEUSNIC2006I] M. P. Mileusnic, I. E. Brown, N. Lan, and G. E. Loeb. Mathematical models
of proprioceptors control and transduction in the muscle spindle. J Neurophysiol,
96: 1772–1788, 2006.
[MILEUSNIC2006II] M. P. Mileusnic and G. E. Loeb. Mathematical models of proprioceptors
structure and function of the golgi tendon organ. J Neurophysiol, 96: 1789–1802,
2006.
Bibliography 247
[MILLARD2009] M. Millard, J. McPhee, and E.Kubica. Multibody Dynamics: Computational
Methods and Applications, chapter Multi-Step Forward Dynamic Gait Simulation,
pages 25–43. Springer, 2009.
[MITLEGLAB@net] http://www.ai.mit.edu/projects/leglab/robots/robots.html.
[MOORE] K. L. Moore and A. F. Dalley. Anatomie medicale, aspects fondamentaux et appli-
cations cliniques. Editions De Boeck, 2001.
[MORRIS2005] A.R. Morris, S. Naumann, G. D’Eleuterio, and J. Wedge. Emg-
driven forward-dynamic musculoskeletal modelling of dynamometer knee
flexion-extension. ISCSB, 30 July 2005. Available on the web :
http://fescenter.case.edu/iscsb2005/Main/CompleteProgram.
[MPICH@net] http://www.mcs.anl.gov/research/projects/mpi/.
[NEPTUNE2001] R. R. Neptune, S. A. Kautz, and F. E. Zajac. Contributions of the individual
ankle plantar flexors to support, forward progression and swing initiation during
walking. J Biomech, 34(11): 1387–1398, 2001.
[NEPTUNE2004I] R. R. Neptune, F. E. Zajac, and S. A. Kautz. Muscle force redistributes
segmental power for body progression during walking. Gait & Posture, 19(2): 194–
205, 2004.
[NEPTUNE2004II] R. R. Neptune, S. A. Kautz, and F. E. Zajac. Muscle mechanical work
requirements during normal walking: the energetic cost of raising the body’s center
of mass is significant. ournal of Biomechanics, 37(6): 817–825, 2004.
[NEPTUNE2008] R. R. Neptune, K. Sasaki, and S. A. Kautz. The effect of walking speed on
muscle function and mechanical energetics. Gait & Posture, 28(1): 135–143, 2008.
[NEPTUNE2009I] R. R. Neptune, S. A. Kautz, and F. E. Zajac. Modular control of human
walking: a simulation study. J Biomech, 42(7): 1282–1287, 2009.
[NEPTUNE2009II] R. R. Neptune, C. P. McGowan, and S. A. Kautz. Forward dynamics sim-
ulations provide insight into muscle mechanical work during human locomotion. J
Biomech, 37(4): 203–210, 2009.
[NETTER] F. H. Netter. Atlas d’anatomie humaine. Editions Icon Learning Systems, 2002.
[NEWMAN] D. Newman. No title. Certainly a chapter of the book ”Space
Biomedical Engineering and Life Support”. Available on the web :
http://www.core.org.cn/NR/rdonlyres/Aeronautics-and-Astronautics/16-
423JSpace-Biomedical-Engineering—Life-SupportFall2002/EEDC657A-39B8-
4616-AE3A-97840CA53D70/0/musclemechanics.pdf.
[NIKOLOVA2007] G. Nikolova and Y. Toshev. Estimation of male and female body segment
parameters of the bulgarian population using a 16-segmental mathematical model.
J. Biomechanics, 40: 3700–3707, 2007.
248 Bibliography
[NIKOLOVA2010] G. S. Nikolova. Anthropometric measurements and model evaluation of mass-
inertial parameters of the human upper and lower extremities. In IFMBE Proceed-
ings, editor, XII Mediterranean Conference on Medical and Biological Engineering
and Computing 2010, volume 29 Part 4, pages 574–577, 2010.
[NISIWAKI2002] K. Nisiwaki, S. Kogami, Y. Kuniyoshi, M. Inaba, and H. Inoue. Online gen-
eration of humanoid walking motion based on a fast generation method of motion
pattern that follows desired zmp. In Proceedings of the IEEE/RSJ Intl. Conference
on Intelligent Robots and Systems, pages 2684–2688, 2002.
[OGIHARA2001] N. Ogihara and N. Yamazaki. Generation of human bipedal locomotion by a
bio-mimetic neuro-musculo-skeletal model. Biol Cybern, 84: 1–11, 2001.
[ONYSHKO1980] S. Onyshko and D. A. Winter. A mathematical model for the dynamics of
human locomotion. J. Biomechanics, 13: 361–368, 1980.
[OPENSIM@net] https://simtk.org/project/xml/team.xml?group id=91.
[PARK2008] J. Park. Synthesis of natural arm swing motion in human bipedal walking. Journal
of Biomechanics, 41: 1417–1426, 2008.
[PATIL1996] K. M. Patil, L. H. Braak, and A. Huson. Analysis of stresses in two-dimensional
models of normal and neuropathic feet. Med Biol Eng Comput, 34: 280a284, 1996.
[PAUL2005] C. Paul, M. Bellotti, S. Jezernik, and A. Curt. Development of a human neuro-
musculo-skeletal model for investigation of spinal cord injury. Biol Cybern, 79:
161–173, 2005.
[PIAZZESI1995] G. Piazzesi and V. Lombardi. A cross-bridge model that is able to explain
mechanical and energetic properties of shortening muscle. Biophysical Journal, 68:
1966–1979, 1995.
[PIZIALI1977] R. L. Piziali and J. C. Rastegar. Measurement of the nonlinear, coupled stiffness
characteristics of the human knee. J Biomech, 10(1): 45–51, 1977.
[PLY@net] http://local.wasp.uwa.edu.au/pbourke/. . .
. . . dataformats/ply/.
[POPOVIC@net] http://walltrust.com/MarkoBPopovic/presentations.htm.
[POSIX1@net] https://computing.llnl.gov/tutorials/pthreads.
[POSIX2@net] http://www.yolinux.com/TUTORIALS/
LinuxTutorialPosixThreads.html.
[RAIBERT] M. Raibert. Legged Robots that balance. MIT Press, Cambridge, MA, 1986.
[RAIBERT1991] D. Koditschek and M. Buehler. Analysis of a simplified hopping robot. Int. J.
Robotics Res., 10: 587–605, 1991.
[RAISON2010] M. Raison, C. Detrembleur, P. Fisette, and J.-C. Samin. Multibody Dynam-
ics: Computational Methods and Applications, chapter Assessment of Antagonis-
tic Muscle Forces During Forearm Flexion/Extension. Springer, Dordrecht, The
Netherland, 2010.
Bibliography 249
[RAPHAEL2009] G. Raphael. Spinal-like regulator for upper limb movement. These de doctorat,
University of Southern California, 1990.
[REN2007] L. Ren, R. K. Jones, and D. Howard. Predictive modelling of human walking over
a complete gait cycle. Journal of Biomechanics, 40(7): 1567–1574, 2007.
[RIENER1999] R. Riener and T. Edrich. Identification of passive elastic joint moments in the
lower extremities. J Biomech, 32(5): 539–544, 1999.
[RYBAK2006I] I. A. Rybak, N. A. Shevtsova, M. Lafreniere-Roula, and D. A. McCrea. Mod-
elling spinal circuitry involved in locomotor pattern generation: insights from dele-
tions during fictive locomotion. J. Physiol. Lond., 577(2): 617–639, 2006.
[RYBAK2006II] I. A. Rybak, K. Stecina, N. A. Shevtsova, and D. A. McCrea. Modelling
spinal circuitry involved in locomotor pattern generation: insights from the effects
of afferent stimulation. J. Physiol. Lond., 577(2): 641–658, 2006.
[SCHWAB2001] A. L. Schwab and M. Wisse. Basin of attraction of the simplest walking model.
In Proceedings of DETCa01 ASME 2001 Design Engineering Technical Conferences
and Computers and Information in Engineering Conference, pages 1–9, Pittsburgh,
Pennsylvania, September 2001.
[SCOTT1991] S.H. Scott and D.A. Winter. A comparison of three muscle pennation assumptions
and their effect on isometric and isotonic force. J. Biomechanics, 24(2): 163–167,
1991.
[SCOTT1996I] S. H. Scott, I. E. Brown, and G. E. Loeb. Mechanics of feline soleus: I. effect of
fascicle length and velocity on force output. J. Muscle Research and Cell Motility,
17: 205–218, 1996.
[SHADMEHR] R. Shadmehr and S. P. Wise. A mathematical muscle model. Supplementary
documents for ”Computational Neurobiology of Reaching and Pointing”. Available
on the web : http://www.bme.jhu.edu/˜reza/book/musclemodel.pdf.
[SHAN2003] G. Shan and C. Bohn. Anthropometrical data and coefficients of regression related
to gender and race. Appl Ergon, 34(4): 327–337, 2003.
[SICILIANO] B. Siciliano, L. Sciavicco, L. Villani, and G. Oriolo. Robotics, Modelling, Planning
and Control. Advanced Textbooks in Control and Signal Processing. Springer,
London, 2009.
[SKELLY2001] M. M. Skelly and H. J. Chizeck. Simulation of bipedal walking. Rapport tech-
nique, UWEETR-2001-0001 (UW EE Technical Report Series), 2001.
[SOBOTTA] Sobotta. Atlas d’anatomie humaine. Edition francaise ©Technique & Documen-
tation, 2000.
[SRIPATI2006] A. P. Sripati, S. J. Bensmaıa, and K. O. Johnson. A continuum mechanical
model of mechanoreceptive afferent responses to indented spatial patterns. J Neu-
rophysiol, 95: 3852–3864, 2006.
250 Bibliography
[SUP2008] F. Sup, H. A. Varol, J. Mitchell, T. Withrow, and M. Goldfarb. Design and con-
trol of an active electrical knee and ankle prosthesis. In Proceedings of the 2nd
Biennial IEEE/RAS-EMBS International Conference on Biomedical Robotics and
Biomechatronics, pages 523–528, Scottsdale, AZ, USA, October 19-22.
[SuiteSparseQR@net] http://www.cise.ufl.edu/research/sparse/SPQR.
[TAGA1995a] G. Taga. A model of the neuro-musculo-skeletal system for human locomotion.
i. emergence of basic gait. Biol Cybern, 73: 97–111, 1995.
[TAGA1995b] G. Taga. A model of the neuro-musculo-skeletal system for human locomotion.
i. real-time adaptability under various constraints. Biol Cybern, 73: 113–121, 1995.
[TSENG2001] F.C. Tseng and G.M. Hulbert. A gluing algorithm for network-distributed dy-
namics simulation. Multibody System Dynamics, 6(4): 377–396, 2001.
[TSENG2003] F.C. Tseng, Z.-D. Ma, and G.M. Hulbert. Efficient numerical solution of con-
strained multibody dynamics systems. Computer Methods in Applied. Mechanics
and Engineering, 192: 439–472, 2003.
[TUDELFTBIOROBOTICS@net] http://www.tudelft.nl/live/pagina.jsp?id=8c6c48e9-ed24-
4ae5-91db-6de01d476968&lang=en.
[UCHIYAMA1999] T. Uchiyama and K. Akazawa. Force-firing rate relation of neural network
model for muscle force control. In Proceedings of the First Joint BMES / EMBS
Conference, 21st Annual Conference of IEEE Engineering in Medicine and Biology
Society, volume 1, page 394, Atlanta, USA, 1999.
[UMBERGER2003] B. R. Umberger, K. G. M. Gerritsen, and P. E. Martin. A model of human
muscle energy expenditure. Comput Methods Biomech Biomed Engin, 6(2): 99–111,
2003.
[UMFPACK@net] http://www.cise.ufl.edu/research/sparse/umfpack.
[VANDERBORGHT2008] B. Vanderborght, R. Van Ham, B. Verrelst, M. Van Damme, and
D. Lefeber. Overview of the lucy project: Dynamic stabilization of a biped powered
by pneumatic artificial muscles. Advanced Robotics, 22(10): 1027–1051, 2008.
[VANDERKOOIJ2003] H. van der Kooij, R. Jacobs, B. Koopman, and F. van der Helm. An
alternative approach to synthetising bipedal walking. Biol. Cybern., 88: 46–59,
2003.
[VERLINDEN] O. Verlinden. Computer-aided analysis of multibody systems. Faculte Poly-
technique de Mons, Service de Mecanique Rationnelle, Dynamique et Vibrations,
February 11 2008.
[VERLINDEN1994] O. Verlinden, P. Dehombreux, C. Conti, and S. Boucher. A new formulation
for the direct dynamic simulation of flexible mechanisms based on the newton-euler
inverse method. International Journal for Numerical Methods in Engineering, 37
(19): 3363–3387, 1994.
Bibliography 251
[VERLINDEN2005] O. Verlinden, G. Kouroussis, and C. Conti. Easydyn: A framework based
on free symbolic and numerical tools for teaching multibody systems. In Multibody
Dynamics 2005, ECCOMAS Thematic Conference, Madrid (Spain), June 21-24
2005.
[VERLINDEN2008] O. Verlinden and G. Kouroussis. Easydyn 1.2.4, ++ library for the easy
simulation of dynamic problems. Rapport technique, Faculte Polytechnique de
Mons, Service de Mecanique Rationnelle, Dynamique et Vibrations, July 24 2008.
[VERSLUYS2008] R. Versluys, A. Desomer, G. Lenaerts, B. Beyl, M. Van Damme, B. Van-
derborght, I. Vanderniepen, G. Van der Perre, and D. Lefeber. From conven-
tional prosthetic feet to bionic feet: A review study. In Proceedings of the 2nd
Biennial IEEE/RAS-EMBS International Conference on Biomedical Robotics and
Biomechatronics, pages 49–54, Scottsdale, AZ, USA, October 19-22.
[VIEL] E. Viel et al. La marche humaine, la course et la saut. Biomecanique, explorations,
normes et dysfonctionnements. Number 9 in Le point en reeducation et en APS.
Masson, Paris, 2000.
[VM@net] I. Brown, J. Loeb, and E. Cheng. http://mddf.usc.edu/software.html.
[VMmanual] I. Brown R. Davoodi D. Song, E. Cheng and G. E. Loeb. Virtual Muscle 4.0.1
Muscle Model for Matlab. User’s Manual, Aug. 2008.
[WADDEN1998] T. Wadden and O. Ekeberg. A neuro-mechanical model of legged locomotion:
single leg control. Biol. Cybern., 79: 161–173, 1998.
[WANG2003] J. Wang, Z-D. Ma, and G. M. Hulbert. A gluing algorithm for distributed simu-
lation of multibody systems. Nonlinear Dynamics, 34 (1-2): 159–188, 2003.
[WANG2005] J. Wang, G.M. Hulbert, and Z.-D. Ma. Development of advanced methodology for
network-distributed simulation. These de doctorat, University of Michigan, January
2005.
[WATERS1999] R. L. Waters and S.Mulroy. The energy expenditure of normal and pathological
gait. Gait and Posture, 9: 207a 231, 1999.
[WESTERVELT2003] E. Westervelt, J. Grizzle, and D. Koditschek. Hybrid zero dynamics of
planar biped walkers. IEEE Trans. Automat. Control, 48: 42–56, 2003.
[WHELAN1995] P. J. Whelan, G. W. Hiebert, and . G. Pearson. Stimulation of the group i
extensor afferents prolongs the stance phase in walking cats. Exp Brain Res, 103:
20–30, 1995.
[WINTER] D. A. WINTER. Biomechanics and Motor Control of Human Gait: Normal, Elderly
and Pathological. University of Waterloo Press, 1991.
[WINTERS] J. M. Winters and S. L-Y. Woo (Editors). Multilple Muscle Systems - Biomechanics
and Movement Organization. Springer-Verlag, New York, 1990.
[WISSE2004] M. Wisse, A. L. Schwab, and F. C. T. van der Helm. Passive dynamic walking
model with upper body. Robotica, 22: 681–688, 2004.
252 Bibliography
[WISSE2007] M. Wisse, D. G. E. Hobbelen, and A. L. Schwab. Adding an upper body to passive
dynamic walking. In Proceedings of the IEEE TRANSACTIONS ON ROBOTICS,
volume 23, pages 112–123, February 2007.
[WOLKOTTE2003] P. T. Wolkotte. Modelling human locomotion. Report of a practical train-
ing, Aalborg University, Institute of Electronic Systems, Department of Health
Science and Technology, January 2003.
[XU2008] B. Xu. A linked-plane obstacle-set algorithm for modeling broad muscle paths:
Application to the deltoid muscle. Travail de fin d’etudes, Baylor University, 2008.
[YAMAGUCHI1990] G. T. Yamaguchi. Performing whole-body simulation of gait with 3-d,
dynamics musculo-skeletal model. In J. M. Winters and S. L-Y. Woo (Editors), ed-
itors, Multilple Muscle Systems - Biomechanics and Movement Organization, pages
663–679. Springer-Verlag, New York, 1990.
[YANG1990] J. F. Yang, D. A. Winter, and R. P. Wells. Postural dynamics of walking in
humans. Biol. Cybern., 62: 321–330, 1990.
[YOON1982] Y. S. Yoon and J. M. Mansour. The passive elastic moment at the hip. J Biomech,
15: 905–910, 1982.
[ZAHALAK1981] G. I. Zahalak. A distribution-moment approximation for kinetic theories of
muscular contraction. Mathematical Biosciences, 114: 55–89, 1981.
[ZAJAC1989] F. E. Zajac. Muscle and tendon: properties, models, scaling, and application to
biomechanics and motor control. Crit Rev Biomed Eng, 17(4): 359–411, 1989.
[ZATSIORSKY] V. M. Zatsiorsky. Kinetics of Human Motion. Human Kinetics, Champaign,
IL, 2002.
[mcgrawhill@net] http://highered.mcgraw-hill.com/sites/0072495855/. . .
. . . student view0/chapter10/.
[miscellaneous1@net] http://www.rheumatoid-arthritis-decisions.com/Healthy-Joints-bones-
and-muscles.html.
[miscellaneous2@net] http://ece.wpi.edu/ted/research.htm.
[ncbi@net] http://www.ncbi.nlm.nih.gov/bookshelf/br.fcgi?book. . .
. . . =neurosci&part=A615.
[podiatrychannel@net] Podiatry Channel, Anatomy of the foot and ankle,
http://www.podiatrychannel.com/anatomy/index.shtml.