Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Biomechanics and optimal control
simulations of the human upper extremity
Der Technischen Fakultat
der Friedrich-Alexander-Universitat
Erlangen-Nurnberg
zur
Erlangung des Doktorgrades Dr.-Ing.
vorgelegt
von
Dipl.-Ing. Ramona Maas
aus Saarlouis
Als Dissertation genehmigt
von der Technischen Fakultat
der Friedrich-Alexander-Universitat Erlangen-Nurnberg
Tag der mundlichen Prufung: 13. Januar 2014
Vorsitzende des Promotionsorgans: Prof. Dr.-Ing. habil. Marion Merklein
Gutachter/in: Prof. Dr.-Ing. habil. Sigrid Leyendecker
Prof. Oliver Rohrle, PhD
Prof. Jorge A.C. Ambrosio, PhD
Herausgeber
Prof. Dr.-Ing. habil. Sigrid Leyendecker
Lehrstuhl fur Technische Dynamik
Friedrich-Alexander-Universitat Erlangen-Nurnberg
Haberstrasse 1
91058 Erlangen
c© Ramona Maas
Alle Rechte vorbehalten. Ohne ausdruckliche Erlaubnis der Autorin ist es nicht erlaubt, diese Ar-
beit vollstandig oder auszugsweise nachzudrucken, wiederzugeben, in Datenverarbeitungsanlagen zu
speichern oder zu ubersetzen.
All rights reserved. Without explicit permission of the author it is not allowed to copy or trans-
late this publication or parts of it, neither by photocopy nor in electronic media.
Biomechanische
Optimalsteuerungssimulationen der
oberen Extremitat des Menschen
Der Technischen Fakultat
der Friedrich-Alexander-Universitat
Erlangen-Nurnberg
zur
Erlangung des Doktorgrades Dr.-Ing.
vorgelegt
von
Dipl.-Ing. Ramona Maas
aus Saarlouis
Biomechanics and optimal control
simulations of the human upper extremity
Ramona Maas
Schriftenreihe Technische Dynamik
Band 1 2014
Herausgeber: Prof. Dr.-Ing. habil. Sigrid Leyendecker
Vorwort
Diese Arbeit entstand wahrend meiner Tatigkeit als Wissenschaftliche Mitarbeiterin von Frau
Prof. Dr.-Ing. habil. Sigrid Leyendecker, zunachst in Ihrer Emmy-Noether Nachwuchsgruppe
’Computational Dynamics and Control’ an der TU Kaiserslautern und im spateren Verlauf
an Ihrem Lehrstuhl fur Technische Dynamik an der Friedrich-Alexander-Universitat Erlangen-
Nurnberg.
Die motivierte und engagierte Betreuung durch Frau Prof. Dr.-Ing. habil. Sigrid Leyendecker
hat zum Gelingen dieser Arbeit entscheidend beigetragen und verdient meinen allerherzlichsten
Dank.
Ebenfalls danke ich Prof. Oliver Rohrle, PhD und Prof. Jorge A.C. Ambrosio, PhD fur das Inter-
esse an meiner Arbeit und die Ubernahme der Gutachten, sowie Herrn Prof. Dr.-Ing. habil. Kai
Willner fur die Ubernahme des Vorsitzes.
Prof. Dr.-Ing. habil. Ralf Muller gilt mein besonderer Dank fur die Unterstutzung wahrend
der gesamten Zeit in Kaiserslautern. Auch den Kollegen am LTM an der TU Kaiserslautern
danke ich ganz herzlich fur die fachliche und mentale Unterstutzung sowie fur das nicht-
wissenschaftliche Rahmenprogramm dieser unvergesslichen viereinhalb Jahre. Besonders danke
ich meinem Zimmerkollegen Herrn Dipl. Ing. Michael Koch fur die vielen Diskussionen zum
Ablei(t/d)en sowie fur die vielen lustigen Dienstfahrten.
Herrn Dr.-Ing. Joachim Linn vom Fraunhofer ITWM gilt ebenfalls mein Dank fur die vie-
len spannenden Diskussionen, fur die intensive Beschaftigung mit dem Thema Biomechanik
und nicht zuletzt fur das Korrekturlesen dieser Arbeit.
Den Kollegen am LTD der Universitat Erlangen-Nurnberg mochte ich ebenfalls danken fur
die schone Zeit und die großartige Unterstutzung, besonders durch Frau Dipl.-Ing. Natalia
Kondratieva und Frau Beate Hegen.
Meinen Eltern, meiner Schwester und der ganzen restlichen Großfamilie ganz lieben Dank fur
die nun wirklich langjahrige Unterstutzung auf meinem Ausbildungsweg.
Mein großter Dank gilt jedoch Sven, ohne den ich diesen Weg – vor allem den Endspurt –
niemals geschafft hatte.
Haßloch, im Juni 2014 Ramona Maas
i
Zusammenfassung
Die vorliegende Arbeit stellt eine Verbindung zwischen einem kurzlich entwickelten Verfahren
zur Optimalsteuerungssimulation von Mehrkorpersystemen und biomechanischen Modellierungs-
aspekten der oberen Extremitat des Menschen her. Das Ziel liegt in der Bereitstellung einer
Methode, die die Untersuchung menschlicher Bewegungen mit Modellen der Mehrkoperdynamik
erlaubt und die Losung auftretender Optimalsteuerungsprobleme mit physiologisch motivierten
Zielfunktionen ermoglicht. Eine solche Methode ist besonders nutzlich fur die Auslegung von
Prothesen oder fur Leistungssteigerungen im Sport. Daruber hinaus konnen auch Fragestel-
lungen im Rahmen der Ergonomie untersucht sowie Mediziner bei der Diagnoseerstellung un-
terstutzt werden, beispielsweise bei der Beurteilung von Schonhaltungen. Im Rahmen dieses
Themengebietes treten Optimierungsprobleme auf verschiedenen Ebenen der Simulation auf.
Zum einen weisen biomechanische Systeme meist eine Muskelredundanz auf, d.h. es gibt ublicher-
weise mehr Muskeln, die ein Gelenk aktuieren konnen, als dieses Gelenk Freiheitsgrade be-
sitzt. Zum anderen gibt es unendlich viele Moglichkeiten, eine Bewegung durchzufuhren,
von der nur Anfangs- und Endzustande bekannt sind. Beide Probleme konnen als Opti-
mierungsprobleme verstanden werden. Der vorliegende Ansatz kombiniert beide Probleme
durch die Berucksichtigung von Muskelkraften in der Formulierung des Optimalsteuerungsprob-
lemes. In diesem multidisziplinaren Ansatz ist es von besonderem Vorteil, dass die verwendete
Optimalsteuerungssimulationsmethode ein strukturerhaltendes Verhalten aufweist, so dass bes-
timmte Eigenschaften der realen Dynamik an die approximierte Losung vererbt werden. Dies
fuhrt beispielsweise zu einer konsistenten Drehimpulsabbildung und einem guten Energiever-
halten.
Die Entwicklung der Simulationsmethode umfasst vier Hauptthemengebiete. Zunachst er-
fordert die biomechanische Modellierung Starrkorpermodelle der oberen Extremitat. Insbeson-
dere wird zur Modellierung des Ellbogengelenkes und des Handgelenkes eine Gelenkbeschrei-
bung benotigt, die Rotationen um zwei Gelenkachsen ermoglicht. Des Weiteren werden Muskel-
modelle verwendet, um die skalare Muskelkraft abhangig von der Muskellange und -geschwin-
digkeit zu berechnen. Zu diesem Zweck werden verschiedene Hill-Modelle diskutiert, ins-
besondere im Hinblick auf den Einfluss strukturerhaltender Integratoren auf die Simulation
muskelaktuierter Bewegungen. Schließlich wird ein Muskelmodell an die Anforderungen einer
Optimalsteuerungssimulation angepasst, indem differenzierbare Kraft-Langen- und Kraft-Ge-
schwindigkeits-Funktionen verwendet werden. Das dritte Themengebiet umfasst den Schritt
von der skalaren zur raumlichen Muskelkraft. Schon die skalare Muskelkraft hangt von der
Lange und Geschwindigkeit des Muskels ab und damit vom aktuellen Gelenkwinkel. Zusatzlich
hangt auch die Kraftrichtung am Ursprungs- und Ansatzpunkt des Muskels vom Gelenkwinkel
ab und ein Gleiten der Muskelpfade um Gelenke und Koper ist wahrend einer Bewegung
moglich. Im Rahmen dieser Arbeit wird eine semi-analytische Methode vorgestellt, mit der
Muskelpfade bei uberwiegend glatten Korpern effizient und ausreichend genau berechnet werden
konnen, so dass eine Verwendung innerhalb eines Optimalsteuerungsproblemes moglich wird.
iii
Im vierten Schritt werden geeignete, physiologisch motivierte Zielfunktionen fur biomechanische
Optimalsteuerungsprobleme formuliert. Bereits bekannte Kriterien werden in die vorgestellte
Formulierung des Problems ubertragen und eine Formulierungsidee fur ein Kriterium zur Min-
imierung von Gelenkreaktionen wird entwickelt.
Vielfaltige numerische Beispiele aus dem typischen Bewegungsspektrum der oberen Extremitat
zeigen abschließend das Potential dieser neuen Methode. Dabei werden sowohl reine Aktu-
ierungen mit Gelenkmomenten und reine Muskelaktuierungen als auch Systeme mit gemischter
Aktuierung betrachtet. Opimalsteuerungssimulationen des Greifens werden anhand eines Fin-
germodelles untersucht und ein exemplarischer Vergleich der Ergebnisse unter Verwendung
der verschiedenen Zielfunktionen erfolgt sowohl mit Literaturwerten als auch mit Motion-
Capturing Experimenten. Weitere Simulationen mit dem Armmodell umfassen optimal ges-
teuertes Lenken, Gewichtheben, Ergonomie von Bewegungen am Arbeitsplatz und Bewegungs-
ablaufe im Sport.
iv
Abstract
This work establishes a connection between a recently developed optimal control simulation
method and biomechanical modelling aspects of muscle actuated human motion at the example
of the human upper extremity. The goal is to provide a method that enables the investigation of
human motion modelled as multibody dynamics and the solution of upcoming optimal control
problems with physiologically motivated objective functions. A method like this is especially
useful to improve prostheses or the performance of athletes. Moreover, ergonomical questions
concerning workplace design or everyday activities can be examined and diagnoses of physi-
cians can be supported, for example to assess relieving postures. Within this topic, optimisation
problems occur at two different levels. On the one hand, in biomechanics usually more muscles
are involved to actuate a joint than degrees of freedom are present, which is commonly referred
to as redundancy. On the other hand, there is an infinite number of possibilities to perform a
motion between two given states. The presented approach combines both optimisation prob-
lems by including muscle actuation in the optimal control problem formulation. Within this
multidisciplinary approach, a key benefit is the structure preserving behaviour of the underly-
ing discrete dynamics formulation, i.e. the approximate solution inherits certain characteristics
of the real dynamics. In particular, this guarantees exact angular momentum consistency and
a good energy behaviour of the simulation results.
The development of this simulation method contains four main tasks. First, rigid body mod-
els of the human upper extremity are required, which involves the implementation of a joint
description with two different rotation axes in order to represent the degrees of freedom in the
elbow and the wrist. Second, a model for the scalar muscle actuation has to be set up ac-
cording to the demands resulting from the implementation into an optimal control framework.
For this purpose, common Hill-type muscle models are discussed, in particular with respect to
the influence of structure preservation on muscle actuated motions. Then, a scalar Hill-type
muscle model is set up for the use within an optimal control framework, i.e. a differentiable
force-length and force-velocity behaviour is incorporated. The third task addresses the step
from scalar to spatial muscle forces. The scalar force depends on the actual muscle length
and velocity and therewith on the actual angle of a joint, around which a muscle is redirected.
In addition to that, also the spatial force direction depends on the joint angle and a sliding
of muscle paths during motions is possible. Within this work, a semi-analytical approach is
presented to compute the muscle path around mostly smooth bodies. Here, the focus is on
a robust and efficient computation with adequate accuracy in order to enable optimal control
simulations. The last step is the formulation of appropriate, physiologically motivated objective
functions. Commonly known criteria are transferred into the presented formulation of optimal
control problems and an idea to formulate a criterion that accounts for the minimisation of
joint reactions is presented.
A large variety of numerical examples is presented, dealing with typical motions of the human
upper extremity. The implementation of the rigid body actuation thereby comprises models
v
with complete joint torque or complete muscle actuation as well as mixed systems. Optimal
control simulations of grasping motions are examined with the human finger model and the
results are exemplarily compared to literature and motion capturing experiments. Further sim-
ulations on the human arm cover steering, weight lifting, ergonomics of workplace motions and
sports motions.
vi
Contents
Contents
Vorwort i
Zusammenfassung ii
Abstract v
Nomenclature x
1 Introduction 1
1.1 Current state of research . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Outline of this work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 Anatomy of the human upper extremity 7
2.1 The human arm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 The index finger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3 Muscles of the human upper extremity . . . . . . . . . . . . . . . . . . . . . . . 12
2.3.1 Muscles of the finger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3.2 Muscles of the arm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4 Mechanical characteristics of skeletal muscles . . . . . . . . . . . . . . . . . . . . 16
3 Continuous dynamics of biomechanical structures 19
3.1 Euler-Lagrange equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2 Hamilton’s equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.3 Energy conservation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.4 Noether’s theorem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.4.1 Linear momentum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.4.2 Angular momentum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.5 Null space method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.6 Reparametrisation in generalised coordinates . . . . . . . . . . . . . . . . . . . . 24
4 Discrete dynamics of biomechanical structures 25
4.1 Structure preserving integrator for dynamical systems . . . . . . . . . . . . . . . 25
4.1.1 Discrete Legendre transform . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.1.2 Energy behaviour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.1.3 Discrete Noether’s theorem . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.1.4 Discrete null space method . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.1.5 Nodal reparametrisation . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.2 Matlab/Simulink integrators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
vii
Contents
4.3 Numerical example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5 Rigid multibody formulation 33
5.1 Constrained rigid body formulation . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.2 Joint connections and constraint reactions . . . . . . . . . . . . . . . . . . . . . 36
5.2.1 Spherical pair . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.2.2 Revolute pair . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.2.3 Cardan pair . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.2.4 Numerical example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6 Muscle actuation 53
6.1 Hill-type muscle models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
6.1.1 The influence of structure preservation on simulations of muscle actuated
movements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
6.1.2 Hill-type muscle model for optimal control simulations . . . . . . . . . . 69
6.2 Dynamics of the muscle path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6.2.1 Optimal muscle path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
6.2.2 Semi-analytical path procedure for smooth bodies and joints . . . . . . . 74
7 Optimal control of constrained forced biomechanical systems 81
7.1 Discrete mechanics and optimal control for constrained systems with joint torque
and muscle actuation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
7.2 Physiologically motivated objective functions . . . . . . . . . . . . . . . . . . . . 82
7.2.1 Minimal control effort . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
7.2.2 Minimal control change . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
7.2.3 Minimal kinetic energy . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
7.2.4 Minimal jerk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
7.2.5 Minimal joint reaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
7.2.6 Minimal manoeuvre time . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
7.2.7 Maximal throw distance . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
7.3 Constrained optimisation problems . . . . . . . . . . . . . . . . . . . . . . . . . 86
8 Model of the human finger 89
8.1 Kinematic chain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
8.2 Numerical examples of human finger motion . . . . . . . . . . . . . . . . . . . . 91
8.2.1 Optimal control of grasping with joint torque actuation . . . . . . . . . . 91
8.2.2 Grasping with simplified muscle actuation . . . . . . . . . . . . . . . . . 96
8.2.3 Summary and outlook on future work . . . . . . . . . . . . . . . . . . . . 100
9 Model of the human arm 103
9.1 Kinematic chain representing the human arm . . . . . . . . . . . . . . . . . . . 103
9.1.1 Musculotendon actuation . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
9.2 Numerical examples of human arm motion . . . . . . . . . . . . . . . . . . . . . 106
9.2.1 Optimal control of a steering motion with joint actuation . . . . . . . . . 106
9.2.2 Optimal control of lifting the arm with muscle actuation . . . . . . . . . 109
viii
Contents
9.2.3 Stocking a shelf – the influence of different cost functions . . . . . . . . . 116
9.2.4 On long throw and shot put . . . . . . . . . . . . . . . . . . . . . . . . . 129
9.3 Summary and outlook on future work . . . . . . . . . . . . . . . . . . . . . . . . 137
10 Conclusion and outlook 139
A Analytical gradients of the optimal control problem 143
A.1 Analytical gradients of nonlinear equality constraints . . . . . . . . . . . . . . . 143
A.1.1 Gradient of equations of motion . . . . . . . . . . . . . . . . . . . . . . . 143
A.1.2 Gradient of initial configuration condition . . . . . . . . . . . . . . . . . 145
A.1.3 Gradient of initial momentum condition . . . . . . . . . . . . . . . . . . 145
A.1.4 Gradient of final configuration condition . . . . . . . . . . . . . . . . . . 146
A.1.5 Gradient of final momentum condition . . . . . . . . . . . . . . . . . . . 146
B Constraint Jacobians of the finger and the arm model 147
C Parameters of the muscle models 149
C.1 Hill-type model with three components . . . . . . . . . . . . . . . . . . . . . . . 149
C.2 Hill-type model with two components . . . . . . . . . . . . . . . . . . . . . . . . 150
D Semi-analytical muscle path computation 151
Bibliography 154
ix
Nomenclature
A activation of a muscle
A0 pre-activation of a muscle
Bi parameters of the eccentric fv function
Cd discrete cost function
c constant longitudinal displacement of a helix
Di partial derivative with respect to the i-th argument
E total energy
Echec numerical energy error
Ei nodes of the muscle path
η angle between joint axes
Fm Hill-type muscle force
FCC force of the contractile component (CC)
F PEC force of the parallel elastic component (PEC)
F SEC force of the serial elastic component (SEC)
F1 force of the SEC at change from linear to exponential behaviour
Fim maximal possible active isometric muscle force
fc force factor at slope change of fl function
fl force-length function of a muscle
fv force-velocity function of a muscle
G gearing factor
γ curvature of the concentric fv function
g gravity
H Hamiltonian
xi
Nomenclature
h pitch of a helix
Jd discrete objective function
K number of bodies
kp proportionality constant of PEC
k1, k2 parameters of PEC
kel parameter for change from linear to exponential behaviour of SEC
ksh shape parameter of SEC
L Lagrangian
∆lSEC1 elongation of the SEC at change from linear to exponential behaviour
lCC length of the CC
lPEC length of the PEC
lSEC length of the SEC
lm length of the muscle
le length of a muscle path element
li specific sarcomere lengths
lI length of a cylindrical rigid body
lmin minimal muscle length
lopt optimal muscle length
m number of holonomic constraints
mq point mass
N total number of time nodes
n index of time node
ne number of nodes on the muscle path
density
rI radius of a cylindrical rigid body
rJ radius of a joint
St stimulus of a muscle
xii
σm muscle stress
S action integral
T kinetic energy
∆t time step
t time
tg straight line parametrisation variable
th helix parametrisation variable
V potential energy
vm contraction velocity of a muscle
vCC velocity of the CC
vCCmax maximal possible velocity of the CC
W muscle work
Ad sequence of muscle activations
B input transformation matrix
dI I = 1, 2, 3 director triad
E Euler’s tensor
F iϕ constraint force in i-th joint
ϕ placement of centre of mass
f c constraint forces
f vector of external forces
G constraint Jacobian
g holonomic constraints
hθ constraint torques
hϕ constraint forces with respect to the centre of mass
I identity matrix
J inertia tensor
L angular momentum
xiii
Nomenclature
Lchec numerical error in angular momentum
λ Lagrange multipliers
M mass matrix
n joint axis
ω angular velocity
P null space matrix
p conjugate momentum
p1 origin of a muscle
p2 insertion point of a muscle
q velocity vector
q configuration vector
R rotation matrix
ρrb point location with resect to fixed body frame
rm direction of a muscle force
T iθ constraint torque in i-th joint
τ generalised forces
τ Jd sequence of joint torques
τm three dimensional muscle force
u generalised coordinates
ua unit axis
ud sequence of generalised coordinates
uv unit vector
Vb body volume
x location of a point in space
xg point on a straight line in space
xh point of a helix on a cylindrical rigid body
xiv
1 Introduction
Comprehension of human motion is a research topic of growing interest. Since the last decades,
numerical simulations have been frequently used to gain experience and knowledge about plan-
ing and execution of human movements. Such investigations can be distinguished according to
their focus on the lower or the upper extremity of the human body. The human gait, jump-
ing and running motions are frequently examined, see [Pand 90, Gunt 97, Geye 03, Lim 03,
Acke 06, Geye 10], while hand, arm and finger are in the focus of investigations for example
in [Flas 85, Uno 89, Hard 93, Soec 95, Rose 95, Rose 01, Sant 06, Vale 07, Bies 07, Frie 09],
mainly with regard to grasping motions, with regard to kinematics and coordination of the hu-
man arm [Seth 03, Garn 99], or with regard to the most complex part, the shoulder mechanism
[Helm 94]. Usually, one aims at understanding how these movements are controlled by the
central nervous system (CNS) [Helm 02] or at improving high-tech prostheses and orthopaedic
devices [Cava 05].
In particular, the motion of the human arm and hand is of high interest because together
they form the most versatile tool human knows. From a more historical point of view, it is a
common opinion that the evolution of the arm and the hand enabled the ancient human brain
to evolute new structures building the basis for the modern human brain [Wash 79, Land 87,
Wils 00, Schm 03]. The large variety of grasping possibilities enables even nowadays human
learning and comprehension from childhood on. High precision grips can be performed with
an immense demand on fine motor skills, see [Marz 97]. Just as well, in sports motions or
musicians performances, grips with high strength or velocity are possible. To cover all those
distinct motions within a numerical simulation is a quite ambitious task.
1.1 Current state of research
In the area of biomechanical simulations, one generally distinguishes between experimentally
based methods, such as motion capturing and computer animation methods, see [Mult 99], and
physics-based approaches which are e.g. extensively discussed in the context of human walking
simulations in [Xian 10]. One possibility to simulate such movements is to model the system
of interest as a multibody system. To be able to draw reasonable physiological conclusions
from the simulation results, it is necessary to actuate the system by adequate muscle mod-
els. In gross movement simulation, Hill-based muscle models are applied almost exclusively
[Boge 98, Wint 90]. However, attempts are also made to include more physiological details and
to cover also the three dimensional muscle behaviour with new modelling approaches, see for
example [Rohr 13].
A frequently used approach to investigate human movements is the observation by motion cap-
ture systems followed by an inverse dynamics calculation to deduce the acting muscle forces,
see e.g. [Happ 95]. In most skeleton joint structures the number of muscles exceeds the degrees
1
1 Introduction
of freedom. An optimisation procedure can be useful to solve this redundancy problem (see
e.g. [Silv 03, Quen 12]) with respect to a physiologically motivated cost function, which could
be for example the metabolic effort of the motion [Umbe 03, Acke 06] or a criterion of maximum
endurance of musculoskeletal function [Crow 81].
Another possibility to study muscle actuated locomotion is forward multibody dynamics simu-
lation, where the predefined muscle activation leads to muscle forces that actuate the system,
see for example [Ande 01]. This method supersedes the error-prone motion capturing proce-
dure but often leads to high computational effort, as the muscle activations need to be guessed
accurately to achieve the desired motion. To simulate human walking or in upper limb models,
it can be necessary to use up to 40 Hill-type muscles in one model [Nept 08, Garn 01], which
yields the necessity to save computational costs by using the largest possible time step in the
numerical integration while not losing too much accuracy.
A well known and comfortable tool to investigate multibody dynamics is Matlab/Simulink and
a lot of research has been done using it to simulate muscle driven movements, see for example
[Chen 00, Geye 10, Geye 03, Lim 03]. The standard integration methods implemented within
Matlab are based on an approximation of (time-) derivatives in the continuous equations of
motion by their discrete counterparts based for example on finite differences. It is well known
that, following this approach, the structure of the dynamical system might not be preserved,
i.e. the results can be inconsistent in energy and momentum maps during a dynamic simulation,
see e.g. [Maas 11].
In contrast to that, variational integrators are preserving the structure of the system, due to
their derivation from a discrete variational principle. In particular, the variational integrator
used within this work is symplectic and momentum preserving. i.e. the discrete Noether the-
orem [Mars 01] holds. This means, the resulting approximate trajectories exactly represent
certain characteristics of the real system like for example consistency of momentum maps and
symplecticity. More precisely, if no gravity, bearing, or actuation is present and a system moves
due to initial velocities, then the linear momentum is conserved. In additional presence of a
bearing, angular momentum is preserved. Moreover, if forces or torques actuate the system,
or if gravity is present, then the momentum changes only and exactly according to the applied
forces and torques. Even if this integrator is not exactly energy preserving, the results show
a good energy behaviour. Slight oscillations are visible, but no overall artificial loss or gain is
noticed even for long time simulations.
One of the main goals of this work is to quantify the relevance of structure preservation to mus-
cle actuated motions within forward dynamics simulations by comparison of Matlab/Simulink
integration methods and the symplectic-momentum method [Maas 11].
If a biomechanical motion can be described, either by inverse or by forward dynamics simula-
tion, it still remains an open question, how to get from a predefined initial position to a final
position. More precisely, there exists an infinite number of possible trajectories to perform a
motion between two boundary points with defined velocity and configuration. While in robotics
and automation engineering tasks this is usually treated with control and feedback-control sys-
tems, the human motion is controlled by the central nervous system (CNS). As this control
happens unconsciously, the control mechanisms and objectives often remain obscure.
A frequently used approach to solve such boundary value problems, is to formulate and solve an
optimal control problem. In biomechanics, this usually means one aims at finding an optimal
2
1.1 Current state of research
sequence of joint torques or muscle activations and configurations that minimises a physiolog-
ically motivated criterion such that the equations of motion (and further constraints on the
problem) are fulfilled [Acke 06, Pand 90, Stel 05]. Multiple studies are engaged in optimal con-
trol of human arm or finger motion and investigate different optimality criteria or cost functions
with regard to grasping motions. A criterion of minimum torque change is favoured in [Uno 89]
whereas [Flas 85, Frie 09] introduce a criterion of minimum jerk during the motion. Moreover,
energy related objectives are proposed by [Soec 95, Bies 07]. Accounting for the comfort dur-
ing a motion, a criterion is developed in [Rose 95, Rose 01]. There, the motion is constantly
compared to known comfort postures and the discomfort of the motion is quantified via the
difference of the joint angles to known comfort positions.
The present work investigates the optimal control of human arm and finger motion in a sim-
ilar way, comparing different optimal control criteria and cost functions to understand which
criterion leads to the most realistic motion, i.e. which criterion resembles the control of the
human CNS most closely. Several well known physiologically motivated cost functions and cri-
teria are investigated, similar to those in [Flas 85, Frie 09, Uno 89] and an idea is illustrated to
formulate a criterion that reduces the impact on the joints during a motion by minimising the
constraint forces and torques. Herein, it is of particular importance that a differential algebraic
system of equations of index 3 is solved. In general, such systems are difficult to solve, as con-
ditioning issues related to the Lagrange multipliers may appear. Due to the premultiplication
with a nullspace matrix in the presented formulation, the constraint reactions are eliminated
from the equations of motions during the solution procedure and conditioning problems are
circumvented [Bets 06, Leye 06]. Afterwards, the constraint forces can be directly accessed in
a post-processing step and used within a cost function of the optimal control problem. This
criterion could be of interest for the ergonomic design of everyday or industrial processes. In a
more medical context it could help to explain pathologic motion and confirm a diagnosis, e.g. if
a patient is using relieving postures to minimise pain or discomfort.
Solving an optimal control problem, it gets even more important to enlarge the time step size
of the numerical integrator as far as possible, as the number of optimisation variables is di-
rectly related to the number of time steps used to discretise the simulation time. Hence, using
the largest possible time step without introducing too much error in the discrete trajectory is
crucial for efficient optimal control simulations.
Moreover, a non-structure preserving behaviour, which is for example given for the Mat-
lab/Simulink integrators, can have an impact on the resulting muscle forces as well as on
the activation prediction. If the optimal control problem is formulated with respect to a cost
function related to energy or muscle work, an artificial loss or gain in energy can significantly
influence the results and lead to an over- or underestimation of muscle forces. As this effect
increases with the size of the time step, one possibility to improve angular momentum rep-
resentation in standard methods is to use adequate time step sizes, taking into account the
disadvantage of a larger number of optimisation variables. However, even if the numerical en-
ergy dissipation or gain gets smaller with decreasing time steps, it will not be zero to numerical
accuracy. What clearly distinguishes this work from other related studies is the use of DMOCC
(discrete mechanics and optimal control for constraint systems, see [Leye 10]) for solving the
optimal control problem, which implies the benefit of structure preserving behaviour of the ap-
proximate solution as explained above. This is even given for long term optimal control simula-
3
1 Introduction
tions with large time steps (see for example [Leye 08] or [Maas 12b] including muscle actuation)
and for optimal control simulations with highly nonlinear constraints, see [Leye 10, Maas 12a].
DMOCC belongs to the direct transcription methods, i.e. the infinite dimensional optimal con-
trol problem is transcribed into a finite dimensional nonlinear optimisation problem [Leye 11].
This nonlinear optimisation problem can then be solved using standard sequential quadratic
programming (sqp) algorithms, which rely on finding local minima, i.e. local zeros of the gra-
dient of the problem. For the gradient one can either use finite differences or specify analytical
gradients of the problem, which leads to a more accurate solution and a shorter computation
time.
No matter how different those introduced approaches are, all of the presented simulation meth-
ods in the field of biomechanical multibody simulations have one thing in common. The actu-
ation of the systems is often represented by muscle models in order to actuate the system in a
realistic manner. Therefore, another main focus of this work is on the muscle force simulation
and its implementation within in the optimal control framework.
According to the demands on an optimal control problem, a Hill-type muscle model is intro-
duced that slightly differs from those typically used within forward dynamics simulations. In
particular, the configuration dependent behaviour is smoothened to enable a computation of
analytical gradients of the optimal control problems. Further, a serial elasticity is neglected to
avoid numerical issues during the optimal control simulations. This serial elasticity is usually
related to the cross-bridge stiffness of a muscle and can be neglected in coordination studies
without short tendon actuators [Ambr 07, Zaja 89].
Like in most biomechanical simulations, both the muscle length and the force directions at the
insertion points of the muscles are related to the joint angle. Several studies therefore use an
alterable number of artificial ’via’ or ’wrapping’ points to relate the muscle path to the joint
angle [Murr 95, Sher 10]. The determination of such artificial points requires deep anatomi-
cal knowledge, which is not yet available for all biomechanical structures and the results are
quite sensitive to the location of such points. Additionally, a dynamical sliding of muscle paths
around a joint during a dynamical simulation cannot be represented with this approach.
In this work, it is assumed that a muscle tone, and therewith a residual tension, is always
present, even at rest (see for example [Wink 10, Stav 12, Scho 13]). This leads to the conclu-
sion that tendons and muscles are supposed to follow the path of minimal distance between two
insertion points, while not intersecting the bones. First, an optimisation based possibility is
illustrated to find this path by minimising the length of a discretised tendon/muscle path, such
that the nodes do not intersect the bodies. A similar approach can be found in literature called
the energy string method (ESM), see for example [Mars 08]. Solving this problem yields – due
to the discretisation of the path by several elements – an approximation to the real muscle path
length. The force direction at the insertion points is given via the normalised direction of the
first and the last element. However, using an optimisation procedure like this during forward
dynamics or optimal control simulations leads to several problems. First of all, the computation
is very expensive, as for every muscle in every time step such an optimisation procedure has to
be executed. Additionally, analytical gradients for optimal control simulations are difficult to
calculate, since the muscle length is the solution of a parameter dependent optimisation.
The second presented approach focusses on reducing computational effort in finding the muscle
path. For this reason, an algorithm is developed similar to the obstacle method (see [Garn 00])
4
1.2 Outline of this work
that determines this geodetic path as a G1 (geometrical) continuous combination of straight
lines (wherever possible, i.e. whenever the straight line does not intersect the bodies or joints)
and helices, in a similar way as shown in [Mars 08] for a sphere-cylinder coupling. Note that
G1-continuously joined curves share tangential directions, while the length of the tangent vec-
tors might differ. Thus, the length of the muscle path can directly be calculated as the sum
of the length of the single parts and the force direction is given via the tangent vector at the
origin and the insertion point. By using this semi-analytical algorithm, the simulation time
can be significantly reduced, whereas the resulting force direction and path length are com-
parable to those obtained via optimisation based approaches. However, for certain rigid body
configurations, the problem of finding the minimal path cannot be solved analytically. Here,
in contrast to [Garn 00], we do not use a root-finding algorithm, but use the best fitting path
from those tested before, which can be solved – due to the non-iterative scheme – within a
reasonable amount of computation time, and analytical gradients can be easily provided.
1.2 Outline of this work
In the second chapter of this work, a brief overview on the anatomy of the human upper ex-
tremity is given. Due to the interdisciplinary topic of this work, special anatomical terms and
directional descriptions are explained together with an illustration of the mechanical charac-
teristics of human skeleton muscles.
The third chapter shows a general continuous formulation of the dynamics of constrained forced
multibody systems. Herein, the derivation of the Euler-Lagrange equations is presented. Ad-
ditionally, the meaning of energy and angular momentum consistency is illustrated, including
Noether’s theorem. A continuous version of the null space method and a reparametrisation in
generalised coordinates is shown as well.
The discretisation procedure used within this work is outlined in Chapter 4. A variational in-
tegrator yields discrete analogues to the Euler-Lagrange equations, Noether’s theorem and the
Legendre transform [Mars 01, Leye 08]. Eventually, this leads to a structure preserving time
stepping scheme, i.e. the resulting integrator is symplectic as well as momentum consistent
and the energy is not artificially dissipated. This is illustrated by means of a simple numerical
example at the end of this chapter, comparing Matlab/Simulink results to a variational inte-
grator.
Subsequently, the rigid body formulation used for the multibody modelling is explained in
Chapter 5, see also [Bets 06, Leye 06, Leye 08, Leye 10, Leye 11]. In addition to the kinematic
joint connections described in this literature, a further cardan joint connection is introduced,
allowing two relative rotational degrees of freedom between the bodies. This joint is especially
useful in biomechanical simulations of the arm, as both elbow and wrist can be modelled by
cardan joints with different axes. Furthermore, a possibility to compute the joint reactions is
given for each joint coupling. Those constraint forces and torques can be used in the later part
of the work to formulate objectives related to the joint impact.
In Chapter 6, different possibilities of muscle modelling are presented. The first section de-
scribes the structure of typical Hill-type muscle models. In the first part of this section, the
5
1 Introduction
work concentrates on quantifying the artificial gain or loss in energy and momentum maps
for simple numerical examples of muscle driven movements calculated with Matlab/Simulink.
Therefore, the results are compared to a structure preserving simulation method as introduced
in Chapter 4. In this part of the work, the actuation by a nonlinear Hill-type muscle model
is included in a way strongly based on the work of [Sieb 08]. This enables a direct compar-
ison of the symplectic-momentum method and the different Matlab/Simulink integrators, in
particular regarding the structure preserving characteristics. A further Hill-type muscle model
is composed for optimal control simulations in the second part of this section. Here, a direct
discretisation of the muscle forces for the implementation in the symplectic-momentum scheme
is possible. The second section of this chapter concentrates on the muscle path computation,
which yields the configuration dependent muscle length and force directions. Besides a common
optimisation approach similar to the ESM method, a semi-analytical approach is illustrated.
The goal is to approximate the muscle path during a dynamical simulation such that its dynam-
ically changing behaviour is represented. At the same time, the computational effort is kept in a
reasonable range, allowing the application within optimal control simulations of biomechanical
motion.
An overview on the optimal control framework is provided in Chapter 7. Different physio-
logically motivated objectives are presented. In particular, an idea for an objective function
related to the joint reactions during dynamical simulations is presented. The direct transcrip-
tion method DMOCC used within this work is illustrated, which transfers the optimal control
problem into a finite dimensional constrained optimisation problem. Hence, commonly known
solvers for constrained nonlinear optimisation problems can be applied to solve such problems.
Within this work, Matlab’s fmincon solver and Snopt 7 are used, and the specific solver options
are briefly explained at the end of this chapter.
Finally, the main numerical results are illustrated for simulations of the human finger in Chap-
ter 8 and for the human arm in Chapter 9. Within grasping simulations of the human finger,
different physiologically motivated objectives are compared to literature and experiments. The
promising results encourage the implementation of muscle models to enable more physiological
conclusions. However, implementing a muscle model similar to [Sieb 08, Maas 11] yields several
problems, which motivate the introduction of a second muscle model described in Section 6.1.2.
Using this muscle model enables more ambitious optimal control simulations, shown for the
human arm model in Chapter 9. Starting with joint torque actuation, a steering motion is
investigated. The implementation of muscle actuation enables the use of muscle related objec-
tives, which are compared in a simulation of a simple arm lifting motion. The influence of the
dynamical muscle path compared to a direct line muscle path, is thereby discussed. In addition
to that, weight lifting as a typical motion in everyday activities and sports is examined. A
workplace motion like stocking a shelf is simulated, including again a comparison of different
objectives with a special focus on ergonomic aspects of the motion. Closing, typical sports
motions like long throw and shot put are investigated with particular regard to an appropriate
objective formulation.
6
2 Anatomy of the human upper extremity
The modelling of biomechanical structures and the interpretation of numerical results strongly
depends on the understanding of the underlying anatomical structures. A detailed overview on
functional anatomy of the human upper extremity can be found in [Zanc 79, Kapa 92, Schm 03,
Till 05], on which this chapter is mainly based.
In modern anatomical sciences, it is an established opinion that the human upper extremity
is much more than a simple grasping tool. From a historical point of view, it is known that
the evolution of the hand took place long before the evolution of the human brain. Due to the
formation of hands and arms in primates enabling them to climb on trees and to perform the
first precision grips [Marz 97] by opposing thump to index finger, the structure of the brain
was rebuild. Together with further improvements of the visual organs during evolution, the
grasping abilities improved over time and in the cerebellum certain structures for the control
of hand muscles evolved. The upright gait then released the upper extremity completely from
locomotion tasks, whereby it gained the possibility to evolve a larger mobility spectrum for other
tasks. This was a key step towards the evolution of the modern human brain [Star 79, Land 87],
as the control of such motions needed new structures in the brain. Thus, the evolution of the
central nervous control system (CNS) began, educing the hand and arm to a versatile tool in
everyday movements, in handcraft working as well as for musicians and in sports motion.
Not only in ancient times but also in the evolution of each human, the use of the hand and arm
plays an important role. In particular, they support the comprehension from childhood on,
which is also mirrored in the word comprehension itself. Hence, the evolution of our mind and
brain is controlled by the use of our hand and arm, while vice-versa also the use and motion of
our upper extremity is controlled by the CNS.
Despite the interest of physicians, athletes and biomechanists in human arm motion since many
decades, several open questions still exist, e.g. the control mechanism behind hand and arm
motion mostly remains obscure, as their control is done unconsciously by the CNS. Moreover,
the function of the tendon network in the hand and fingers is not yet completely explained, due
to the large variability in muscle insertions and their arrangement. Like in most biomechanical
systems there is also a redundancy of muscles, i.e. there are more muscles involved in a motion
than degrees of freedom are present.
This work addresses inter alia the question, how such motions are controlled by the CNS. For
this purpose, a simulation method is developed in order to describe biomechanical motions as
optimal control problems with muscle actuation. Thus, a deeper understanding of anatomical
structures forming the upper extremity is necessary to build a modelling framework representing
important physiological aspects. During the next sections, a brief overview on the anatomy
of the human arm and the index finger is given, as both are investigated later in this work
with biomechanical models. The most important muscles working in the upper extremity are
described in the following sections as well. Knowing their typical path and insertion points
is indispensable to treat the aspect of muscle redundancy in biomechanical systems within a
7
2 Anatomy of the human upper extremity
mechanical model.
The mechanical and dynamical characteristics of muscles are discussed in the last section of
this chapter. Based on those fundamentals of muscle behaviour, the Hill-type muscle models
are implemented within the later part of the work.
2.1 The human arm
The human arm is responsible for balanced equilibrium during walking or running and due
to its large motion abilities, it is, together with the hand, an important tool for grasping or
reaching tasks. In a medical or biomechanical context, human motion is described with the help
of medical terminology for directions and orientations. In Figure 2.1 the three major planes,
dividing the human body in certain areas, are illustrated, while Figure 2.2 explains the most
important medical directions used within this work.
Figure 2.1: Anatomical notation of the three major planes of the human body.
The sagittal plane is the symmetry plane of a body, separating the left and the right side.
Orthogonal to the saggital plane and running through the heart, the coronal plane divides the
body into a ventral (front) and a dorsal (back) part. The third plane is called transverse plane
and is orientated orthogonal to the other two planes. The intersection point of all three planes
is located approximately in the center of mass of a body.
8
2.1 The human arm
Figure 2.2: Schematic illustration of anatomical directions within the human body.
The proximal end of the upper arm is connected to the trunk via the shoulder. The shoulder
is a rotational joint with three degrees of freedom, yielding the largest range of motion of all
joints in the human body. In the biomechanical literature, the range of motion is described via
the rotation about three axes, see left hand part of Figure 2.3.
Figure 2.3: Schematic illustration of joint axes within the human arm.
Rotation about the anterior-posterior axis, running in parallel to the transversal and the saggital
plane, enables abduction and adduction motions of the arm. Around the transversal axis
running through both shoulders anteversion and retroversion motions are possible. The vertical
9
2 Anatomy of the human upper extremity
axis is defined by the cut of sagittal and frontal plane. The abducted arm can be rotated around
this axis in an anterior or posterior position. The range of the latter is thereby depending on
the forearm configuration. For a pronated forearm, a complete rotation around the transverse
axis is not possible without an abduction of the shoulder. To perform a full ergonomic circle
without an abduction motion in the shoulder, there has to be a voluntary supination of the
forearm, which is a typical motion in freestyle swimming or throwing.
Figure 2.4: The elbow, taken from [Till 05] by courtesy of Springer Heidelberg.
The upper arm is connected to the forearm via a rather complicated joint – the elbow, as
illustrated in Figure 2.4. In contrast to the single upper arm bone (humerus), the forearm
consists of two bones, the radius and the ulna. The elbow has two degrees of freedom; flex-
ion/extension as well as pronation/supination (palm down – palm up) motions are possible. A
rotation around the longitudinal axis is enabled by the formation of the two forearm bones in
the elbow joint. From an anterior view, they are in parallel in a supinated forearm position.
When moving the forearm into a pronated position, the ulna and radius bones realise this
motion by crossing each other. Further on, the flexion/extension potential of the elbow goes
from neutral outstretched position up to an angle of 30◦ between upper arm and forearm. The
combination of flexion/extension and pronation/supination in the elbow enables for example
the transport of nourishment to the mouth. The motion ability of upper arm and forearm are
therefore also denoted as a compass construction [Kapa 92].
At the distal end of the forearm, the hand is connected via the wrist, which consists of a
complex composition of several parallel and serial joints. An illustration of the joint axes and
the most important medical directions in the human hand is given in Figure 2.5. Numerous
ligaments keep the carpal bones together and constrain the motion to palmar flexion/dorsal
extension and radial abduction/ulnar abduction.
10
2.2 The index finger
Figure 2.5: Schematic illustration of anatomical directions within the right human hand (palm down).
A combination of both degrees of freedom is called circumduction. The joint angle in the
wrist is restricted to [−80◦, 80◦] for flexion/extension motions, and to [−40◦, 40◦] for abduc-
tion/adduction motion, which strongly depends on the individual ligament structure and duc-
tility. The length of a typical humerus varies in the specimens shown in [Murr 00] between
[0.29m, 0.34m], radius and ulna length lie between [0.22m, 0.29m]. The circumference of the
upper arms in their study is in [0.14m, 0.48m], yielding a radius between [0.02m, 0.08m]. Typi-
cal hand dimensions are for example reported in [Buch 92]. They examine hand lengths between
[0.17m, 0.20m| and widths between [0.07m, 0.09m].
2.2 The index finger
The index finger consists of three phalanxes, phalanx proximalis, media and distalis, that are
connected by different joints, as illustrated in Figure 2.6 [Till 05]. These bones and joints
have been analysed in several publications with respect to their shape and dimension. For
example in [Buch 92] a method has been developed to derive several finger dimensions as a
function of external hand measurements. The metacarpo-phalangeal joint (MCP) connecting
the metacarpal bone with the first phalanx is a spherical joint with three rotational degrees of
freedom of which only two, adduction/abduction and flexion/extension, can be actively con-
trolled by muscles and tendons. The third rotational degree of freedom in this joint, rotation
about the longitudinal axis of the phalanx, can only be passively activated as for example in
case of crooked pressing of buttons. The proximal inter-phalangeal joint and the distal inter-
phalangeal joint combining the medial and distal phalanxes to the finger allow rotation around
one axis to perform flexion/extension, only.
11
2 Anatomy of the human upper extremity
Figure 2.6: The bones and joints of the right human index finger, taken from [Till 05] by courtesy of Springer
Heidelberg.
2.3 Muscles of the human upper extremity
2.3.1 Muscles of the finger
Within this first step towards structure preserving optimal control simulations of muscle ac-
tuated motions, the actuation of the finger is simplified by neglecting the so called extensor
mechanism. This stabilisation process of the dorsal aponeurosis by the small interior hand mus-
cles is a complex switching procedure between certain tendon paths, see for example [Vale 07],
that is not yet completely understood by physicians. Moreover, there exist various different
arrangements of this tendon structure in different subjects [Schm 03], i.e. a patient specific
model is probably required [Sant 06].
Thus, in the first finger model with muscle actuation, only the three most important muscles
responsible for a finger motion from extension to flexion are included. According to [Till 05],
there are mainly three muscles involved in grasping motion. The muscle responsible for exten-
sion of the finger is called musculus extensor digitorum, while the flexion motion of the finger
is generated by two muscles, musculus flexor digitorum superficialis, inserting at the medial
phalanx and musculus flexor digitorum profundus, inserting on the distal phalanx.
In the later part of the work, this model is exemplarily extended by the inner hand muscles
(musculus interossei and lumbricales) and the complicated tendon network of the extensor
mechanism, including the dorsal aponeurosis, see Figure 2.7. In this model, the force distribu-
tion to the single tendons is still simplified. Nevertheless, a more realistic force computation
can be easily implemented with a three dimensional force balance at each node of the tendon
network. Still, the switching procedure between the different tendon paths remains an open
12
2.3 Muscles of the human upper extremity
future task.
Figure 2.7: The muscle and tendon network of the right human index finger, taken from [Till 05] by courtesy of
Springer Heidelberg.
2.3.2 Muscles of the arm
Altogether, the human arm is actuated by a large number of muscles, as illustrated in Fig-
ure 2.8. Generally, they can be subdivided into the muscles of the shoulder girdle, the upper
arm muscles, the forearm muscles and the intrinsic hand muscles. Within this work, the focus
is on muscles that actuate the elbow and the fingers, thus shoulder muscles are not discussed.
Among a large number of muscles around the elbow, according to [Kapa 92, Till 05, Murr 95,
Murr 00], the muscles that mainly actuate elbow motion are musculus biceps, musculus bra-
chioradialis, musculus extensor carpi radialis longus, musculus brachialis, musculus pronator
teres, musculus supinator and musculus triceps. As these muscles are included in the model of
the human arm within the later part of this work, their characteristics are explained briefly in
the following.
Musculus biceps brachii The most known muscle of the human arm is probably the musculus
biceps brachii. Located at the front of the arm (from an anterior point of view), this muscle is
responsible for flexion of the elbow. The biceps – as the name implies – consists of two muscle
heads with their origin on the scapula, i.e. the biceps runs over two joints, the shoulder and the
elbow. Because of the insertion on the radius, the biceps is able to induce supination motions
as well.
13
2 Anatomy of the human upper extremity
Musculus brachioradialis As indicated by the name, the brachioradialis muscle’s origin is at
the radial side of the humerus, while it inserts on the radius bone. Mainly, the brachioradi-
alis contributes to flexion of the elbow, but it can also contribute to pronation or supination
motions, depending on the actual configuration of the forearm. If the forearm is in a highly
pronated position, it serves as a supinator, vice-versa in a supinated forearm position it supports
pronation motion.
Musculus extensor carpi radialis longus Covered by the brachioradialis muscle, the musculus
extensor carpi radialis longus is contributing to elbow flexion and extension of the wrist as well
as slightly to an abduction motion of the hand. It’s origin is on the lower third of posterior front
of the humerus. This muscle additionally runs over the wrist and inserts on the metacarpal
phalanx of the index finger.
Musculus brachialis Together with the biceps muscle, the musculus brachialis is the muscle
most responsible for elbow flexion. The origin of the brachialis muscle is located slightly distal
at the anterior side of the humerus bone. In contrast to the biceps, the brachialis inserts on
the ulnar, i.e.hardly any actuation of supination or pronation motion is possible.
Musculus pronator teres Wrapped around the proximal part of the ulna, the pronator teres
muscle induces rotation around the longitudinal axis of the forearm. Its origin is on the distal
part of the humerus, while the insertion point is located on the ulna. As the muscles contributing
to pronation motion are rather slight, they are often supported by abduction motions of the
shoulder.
Musculus supinator The musculus supinator is wrapped around the the radius and represents
the direct antagonist to the pronator teres muscle. Supported by the biceps muscle it induces
supination motion.
Musculus triceps The musculus triceps is the only muscle that extends the elbow. Similar to
the biceps, it has several muscle heads of whom two have their origin on the posterior front of
the humerus. The third muscle head has its origin on the scapula and is therefore acting over
two joints. All three muscle heads insert on the olecranon. This boney bulge serves as a lever
arm for the muscle force, ensuring a good motion capability even if the elbow is outstretched.
As one of the muscles origins is on the scapula, its strength depends on the joint angle of the
shoulder.
14
2.3 Muscles of the human upper extremity
Figure 2.8: The muscles of the human arm, taken from [Till 05] by courtesy of Springer Heidelberg.
15
2 Anatomy of the human upper extremity
2.4 Mechanical characteristics of skeletal muscles
From the mechanical point of view, there exist two types of muscles within the human muscular
system. Smooth muscles are responsible for the function and form of organs, while the trans-
verse muscles are voluntary muscles, that are controlled by the central nervous system. A special
mixed form of transverse and smooth muscle properties are combined within the heart muscle.
The main focus of this work is on skeletal muscles, which are typically transverse muscles. The
name ’transverse’ is related to their appearance in an optical microscope, where they show a
typical periodical transverse pattern. Within this work, the focus is on transverse muscles and
their contraction dynamics, which are for example extensively discussed in [Link 07, Zaja 89],
where most of the theory presented here is explained in detail.
Figure 2.9: Schematic overview of characteristic sarcomere length changes from full contraction (a) to full extension
(d).
To induce a motion, the muscles are excited by the central nervous system (CNS) and the
generated force is transmitted to the bones via tendons [Zaja 89]. Hence, the lever arm and
the force directions of the muscles depend on the insertion point of its tendons as well as on
the actual joint angle, which results in a nonlinear gearing behaviour.
In addition to that, within biomechanical systems typically more muscle forces are involved to
actuate a joint than degrees of freedom are present, i.e. such systems are often over-determined.
Moreover, the muscle force itself depends on the length of the muscle and on its contraction
velocity. The inner architecture of a muscle is formed by several muscle fibre bundles and
each of them individually consists of single muscle fibres. Muscle fibres themselves are a serial
16
2.4 Mechanical characteristics of skeletal muscles
arrangement of several sarcomeres, which form the smallest functional unit of a muscle. As the
composition of muscles can be considered as a homogeneous set of these elements [Zaja 89], the
overall muscle behaviour is usually explained by the behaviour of a single sarcomere, of which a
schematic is illustrated in Figure 2.9 at four characteristic lengths. A sarcomere mainly consists
of proteins like actin, myosin and titin. Generally, a sarcomere can contract with a series of
stroke-like motions of the myosin arms. Therewith, contractile force is produced due to the
cyclic connection of the myosin arms on the actin, whereby ADP (adenosine diphosphate) is
decomposed.
The force that can be generated by a sarcomere depends on how much of the myosin arms can
connect to the actin surrounding. There exists an optimum, where all of the arms are able to
connect (Figure 2.9 (b)). On the one hand, further contraction leads to overlays of the actin
surrounding in the middle and the titin spring on the outside of the sarcomere (Figure 2.9 (a)),
preventing the connection between actin and myosin and therewith reducing the created force.
On the other hand, a stretching of the sarcomere from this optimal position leads to an elon-
gation of the titin spring and an area in the middle, where no myosin arms can connect to the
actin (Figure 2.9 (c)). The force generating capability is decreasing with further elongation of
the sarcomere until it is stretched such that no myosin arms at all can connect to the actin and
the produced force is zero (Figure 2.9 (d)). This yields a piecewise linear force-length relation
as illustrated in Figure 2.10, with certain lengths l1, l2, l3, l4 ∈ R of the sarcomere that are
used later in this work within a Hill-type muscle model.
Figure 2.10: Example of a force-length behaviour of a sarcomere with the characteristic lengths l1, l2, l3, l4 ∈ R
used later in this work within a Hill-type muscle model.
17
2 Anatomy of the human upper extremity
Muscle force production can theoretically be divided into two certain states of the force produc-
tion. An isometric force production induces a motion without a length change of the muscle.
This is realised by a connection and de-connection of the myosin arms at the same location
on the actin for a certain time. Moreover isotonic motions are also possible, meaning that the
muscle contracts while producing a steady force. In reality those two states often occur in a
mixed form.
In addition to the force-length relation of the muscle force, there also exists a force-velocity
relation, which has been first investigated by [Hill 38]. At slow concentric contractions, the
muscles can develop large forces, while fast contracting muscles are only able to generate small
force. For eccentric muscle motions, i.e. the muscle is stretched while activated, the opposite
holds and fast extensions yield large muscle forces. The inverse relation describes the possible
contraction velocities which vice-versa depend on the loading of a biomechanical system. If
the muscle is contracting, the possible contraction velocity vm ∈ R reduces hyperbolically for
increasing loads. This is also called a Hill-hyperbolic behaviour, which is described with a
force-velocity factor fv ∈ R, see Figure 2.11. Due to this opposite behaviour in contraction
and extension motions, there exists an optimal point for the power of the muscle at a certain
velocity.
−1 −0.5 0 0.5 1
0
0.5
1
1.5
Figure 2.11: Example of a force-velocity behaviour of a sarcomere normed to the maximal possible contraction
velocity.
18
3 Continuous dynamics of biomechanical
structures
The basis for investigating the motion of biomechanical systems with numerical methods is
to describe their dynamic behaviour in the time-continuous setting. In contrast to a basic
description with Newtons laws, classical mechanics descriptions concentrate on the energy of
the system. Generally one distinguishes between Lagrangian and Hamiltonian formulations.
While Lagrangian mechanics use variational principles to describe Newton’s fundamental law
of force balance in an arbitrary dimensional space by using the difference between kinetic and
potential energy, the Hamiltonian formulation is based on the total energy of a mechanical
system. The simulation of voluntary biomechanical motions requires the implementation of
an actuation by forces. Within this work both joint torque actuation as well as muscle force
actuations are examined, implying the need for a description of forced dynamical systems.
Furthermore, modelling biomechanical systems by means of multibody systems usually yields
constrained systems, e.g. bones are connected by joints that restrict their relative degrees of
freedom. In reality those constraints are realised with strong ligaments or formations of bones.
The structure, ductility and arrangement of ligaments and bones show a large variety between
different subjects, which is difficult to implement within numerical multibody simulations. For
simplicity, all constraints studied within this work are assumed to be stiff and inelastic. In this
chapter, both the Lagrangian and the Hamiltonian formulations are briefly explained, based
on descriptions given in [Kuyp 97, Mars 99, Mars 01, Leye 06, Leye 08]. Moreover, special
characteristics of mechanical systems like energy consistency and the meaning of Noether’s
theorem are considered, likewise based on the textbooks [Kuyp 97, Mars 99].
3.1 Euler-Lagrange equations
A common way to analytically describe the motion of multibody systems in time t is Lagrangian
mechanics. The Euler-Lagrange equations generalise Newton’s fundamental laws and circum-
vent issues related to coordinate transformations or to the influence of constraint reactions on
the equations of motion. Let a k-dimensional mechanical system within a bounded time interval
[t0, t1] be described by a configuration variable q(t) ∈ Rk and a velocity q(t) ∈ Rk. The La-
grangian L ∈ R of this system is given by the difference of its kinetic energy T (q) =1
2qT ·M · q,
including the constant mass matrix M ∈ Rk×k of the mechanical system, and its potential en-
ergy V (q)
L(q, q) = T (q)− V (q) (3.1)
Note that within this work, we focus on a multibody formulation involving a constant mass
matrix, which yields advantages in the numerical behaviour. Then the action is defined as
19
3 Continuous dynamics of biomechanical structures
S =∫ t1
t0L(q, q) dt and Hamilton’s principle states that a real trajectory can be found as a
stationary point of the action. This means that for all variations δq(t) ∈ TQ that vanish at
the end points, i.e. δq(t0) = δq(t1) = 0,
δS = δ
∫ t1
t0
L(q, q) dt = δ
∫ t1
t0
∂L(q, q)
∂q· δq +
∂L(q, q)
∂q· δq dt = 0 (3.2)
must hold. Using δq =d
dtδq, this leads to the Euler-Lagrange equations
∂L(q, q)
∂q−
d
dt
(∂L(q, q)
∂q
)= 0 (3.3)
Further on, the system is assumed to be actuated by gravity and external forces f ∈ Rk as
for example muscle forces or joint torques. Then Hamilton’s principle is augmented to the
Lagrange-d’Alembert principle by
δS = δ
∫ t1
t0
L(q, q) dt+
∫ t1
t0
f(q, q) · δq dt
= δ
∫ t1
t0
∂L(q, q)
∂q· δq +
∂L(q, q)
∂q· δq dt+
∫ t1
t0
f (q, q) · δq dt = 0 (3.4)
which finally yields the forced Euler-Lagrange equations.
∂L(q, q)
∂q−
d
dt
(∂L(q, q)
∂q
)+ f(q, q) = 0 (3.5)
The motion of multibody systems is frequently constrained, either due to the rigid body for-
mulation resulting in internal constraints or due to external constraints coming from joints in
between the bodies or from fixations in space. Restricting the motion of a k-dimensional system
by m holonomic constraints can be formulated requiring g(q) = 0, g : Rk → Rm. This means
that the degrees of freedom of the system are reduced to k−m. Within biomechanical systems,
such geometrical constraints are achieved by ligaments around joints limiting their rotation
abilities or preventing luxation. Naturally, such biomechanical constraints are rather elastic
and of limited strength, but for simplicity this is not included within the present work. In
order to prevent a dynamical system from violating the external constraints, constraint forces
or – depending on the joint type – constraint torques summarised in f c ∈ Rk, are present in
the joints. D’Alembert’s principle states that for any displacement δq, the work of the con-
straint forces is zero f c · δq = 0. Likewise, it is known that G · δq = 0, introducing the Jacobi
matrix of the constraints G(q) = Dg(q) ∈ Rm×k. Consequently, there exist λ ∈ Rm such
that GT · λ = f c. These λ are called Lagrange multipliers and have the physical meaning of
generalised constraint forces of the dimension m.
Searching for an extremum of the action integral over the constrained Lagrangian and the
virtual work of the actuating forces
δS = δ
∫ t1
t0
[L(q, q)− gT (q) · λ
]dt+
∫ t1
t0
f(q, q) · δq dt
= δ
∫ t1
t0
∂L(q, q)
∂q· δq +
∂L(q, q)
∂q· δq −DgT (q)δq · λ dt+
∫ t1
t0
f(q, q) · δq dt = 0
(3.6)
20
3.2 Hamilton’s equations
yields the constrained forced Euler-Lagrange equations
∂L(q, q)
∂q−
d
dt
(∂L(q, q)
∂q
)−GT (q) · λ+ f (q, q) = 0
g(q) = 0 (3.7)
Altogether (3.7) consists of k +m equations to describe the motion of the present mechanical
system, which are also frequently denoted as Lagrange equations of motion of the first kind.
More precisely those equations are second order differential-algebraic equations of index three,
i.e. three derivations are required during the transformation in a system of ordinary differential
equations.
3.2 Hamilton’s equations
The Legendre transform of a given Lagrangian yields the conjugate momentum
p =∂L
∂q= M · q ∈ R
k (3.8)
Therewith, the Hamiltonian H is defined as
H(q,p) = p · q − L(q, q) (3.9)
Inserting (3.1) with T =1
2p ·M−1 · p this results in
H(q,p) = p · q −
(1
2p ·M−1 · p− V (q)
)(3.10)
A reformulation yields
H(q,p) =1
2p ·M−1 · p+ V (q) (3.11)
giving a further definition of the Hamiltonian as the total energy of a conservative system. The
total derivative of the Hamiltonian reads
dH =∂H
∂p· dp+
∂H
∂q· dq (3.12)
Using the definition given in (3.9), this can also be written as
d (p · q − L(q, q)) = q · dp+ p · dq −∂L
∂q· dq −
∂L
∂q· dq −
∂L
∂tdt (3.13)
A comparison of coefficients yields the partial derivatives of the Hamiltonian
∂H
∂p= q + p ·
∂q
∂p−
∂L
∂q·∂q
∂p= q
∂H
∂q= p ·
∂q
∂q−
∂L
∂q−
L
∂q·∂q
∂q= −
∂L
∂q∂H
∂t=
∂L
∂t(3.14)
21
3 Continuous dynamics of biomechanical structures
With the definition of the conjugate momentum (3.8), Hamilton’s equations of motion read
q =∂H(q,p)
∂p, p = −
∂H(q,p)
∂q(3.15)
which form, together with the initial conditions q(t0) = q0 and p(t0) = p0, a 2k-dimensional
system of first order differential equations. Hamilton’s equations of motion are in this form
equivalent to the Euler-Lagrange equations (3.3) being a k-dimensional system of second order
differential equations.
As within this work the focus is more on the Lagrangian formalism, the reader is referred
to [Mars 99, Leye 06] for further details on the Hamiltonian formalism, in particular for con-
strained systems.
3.3 Energy conservation
The derivative of the total energy of a mechanical system with respect to time reads
dH
dt=
d
dt(p · q − L) =
d
dt
(∂L
∂q· q − L
)(3.16)
If the Lagrangian of a mechanical system is invariant with respect to a time translation t → t+a,
this obviously means∂L
∂t= 0, and therewith
dL
dt=
∂L
∂q· q +
∂L
∂q· q =
d
dt
∂L
∂q· q +
∂L
∂q· q =
d
dt
(∂L
∂q· q
)(3.17)
Inserting (3.17) in (3.16) yields
dH
dt= 0 (3.18)
meaning that the total energy, i.e. the Hamiltonian of a mechanical system, that is not explicitly
depending on time, is conserved.
3.4 Noether’s theorem
Noether’s theorem states that there is a conserved quantity related to a differentiable symmetry
(invariance) of the action of a physical system [Noet 18]. For a given coordinate transformation
q = q(q, α) ∈ Rk, that is invertible and continuously differentiable with respect to a parameter
α ∈ R, a Lagrangian in transformed coordinates can be defined as
L(q, ˙q, α) = L (q(q, α), q(q, α)) (3.19)
22
3.4 Noether’s theorem
and the partial derivative of L(q, ˙q) with respect to α is given by
∂L
∂α=
∂L
∂q·∂q
∂α+
∂L
∂q·∂q
∂α
=d
dt
∂L
∂q·∂q
∂α+
∂L
∂q·d
dt
∂q
∂α
=d
dt
[∂L
∂q·∂q
∂α
](3.20)
If the Lagrangian is invariant with respect to this coordinate transformation, it follows that
L (q, q) = L(q, ˙q) and therewith∂L
∂α= 0 for all α and in particular for α = 0. Consequently,
this yields Noether’s theorem.
Theorem 3.4.1 (Noether’s theorem) The momentum map
J(q, q) =∂L
∂q·∂q
∂α|α=0 (3.21)
is conserved, if the Lagrangian is invariant with respect to the invertible continuously differ-
entiable coordinate transformation q = q(q, α). In particular this means that any differen-
tiable invariance of the Lagrangian of a physical system has a corresponding conservation law
[Noet 18].
3.4.1 Linear momentum
Let the configuration variable q of a mechanical system be translated in direction of a unit
vector uv , such that q = q+αuv. If the Lagrangian of the system is invariant with respect to
that translation, i.e. L(q − αuv, q) = L(q, q), it results from (3.21) that
J(q, q) =∂L
∂q·∂q
∂α= p · uv (3.22)
This means that the linear momentum in direction of uv is conserved.
3.4.2 Angular momentum
Let there be a rotation of a mechanical system around a unit axis ua of the angle α. Then the
configuration variable is given by q = R(αua) · q with the rotation matrix
R(αua) = exp(αua) ∈ SO(3). Herein ua denotes the skew symmetric matrix
ua =
0 −ua3 ua2
ua3 0 −ua1
−ua2 ua1 0
(3.23)
and the rotation matrix can be computed evaluating the exponential map with Rodrigues’
formula
R(αua) = exp(αua) = I3×3 + sin(‖α‖)ua + (1− cos(‖α‖)) (ua ⊗ ua − I3×3) (3.24)
23
3 Continuous dynamics of biomechanical structures
If the Lagrangian of the system is invariant with respect to that rotation, i.e.
L(R−1(αua) · q,R−1(αua) · q) = L(q, q), then the momentum map given by (3.21) reads
J(q, q) =∂L
∂q·∂q
∂α= p ·
d
dα(R(αua) · q) |α=0
= p · (ua · q) = ua · (q × p) (3.25)
representing the angular momentum around the axis ua being conserved.
3.5 Null space method
If a mechanical system is subject to holonomic constraints, then not only the configuration is
constrained, but also constraints on the velocity level are present. Those ’hidden’ constraints
appear by temporal differentiation of the constraint function g(q), i.e.
G(q) · q = 0 (3.26)
This means, for every q the basis vectors of the tangent space TqC form a null space matrix
P (q) ∈ Rk×(k−m) with the property
range(P (q)) = null(G(q)) = TqC (3.27)
A premultiplication of (3.7) with the transposed nullspace matrix consequently yields
P (q)T ·
[∂L(q, q)
∂q−
d
dt
(∂L(q, q)
∂q
)+ f(q, q)
]= 0
g(q) = 0 (3.28)
Therewith, the constraint forces are eliminated from the equations and the size of the system
is reduced to k. Furthermore, this can also be interpreted with d’Alembert’s principle stating
that the work of the constraint forces is zero.
3.6 Reparametrisation in generalised coordinates
In order to further reduce the size of the system illustrated in (3.28), it is often possible to use
a reparametrisation of the constraint manifold F : U ⊆ Rk−m → Rk with the independent
generalised coordinates u ∈ U , such that g(q) = g(F (u)) = 0. As the constraints are fulfilled
automatically, the size of the system reduces to k −m, which is the minimal possible size and
the equations of motion read
DF (u)T ·
[∂L(q, q)
∂q−
d
dt
(∂L(q, q)
∂q
)+ f (q, q)
]= 0 (3.29)
This is equivalent to a formulation of the equations of motion in generalised coordinates u and
generalised forces τ[∂L(u, u)
∂u−
d
dt
(∂L(u, u)
∂u
)+ τ (u, u)
]= 0 (3.30)
24
4 Discrete dynamics of biomechanical structures
Usually it is not possible to solve the equations of motion of a dynamical system analytically.
Thus, their solutions have to be approximated by means of a time discretisation procedure.
During the last centuries, lots of numerical methods have been developed since the first approach
by Euler in 1768.
A key difference between such methods is the stage at which the discretisation takes place.
In contrast to numerical integrators that rely on the discretisation of the ordinary differential
equations of motion, as illustrated for example in (3.30), variational integrators start with a
discretisation somewhat earlier in the derivation process, namely at the variational principle
itself. As a consequence, certain characteristics of the real, analytical system are inherited to
the discrete system, like for example energy or angular momentum consistency.
As the optimal control method used within this work relies on a structure preserving discrete
mechanics formulation, a brief overview on the derivation of such a variational integrator is
given within this chapter. A more detailed formulation and further information on this topic
can be found for example in [Mars 99, Mars 01, Leye 08, Leye 10].
4.1 Structure preserving integrator for dynamical systems
The investigation of a dynamical system via numerical simulation requires a discretisation of
the problem. Commonly, this discretisation is done via discretising the equations of motion. To
achieve an integrator with structure preserving characteristics, a discrete version of the equa-
tions of motion can be achieved by discretising the variational principle (3.6), see for example
[Mars 01] and [Leye 08]. Due to the discretisation at an earlier level, we preserve the structure
of the physical system, i.e. the discrete simulation results exactly represent the behaviour of the
analytical system concerning the consistency of momentum maps or symplecticity and show a
good energy behaviour, described in detail for example by [Mars 01].
Within the discrete formulation, all continuous quantities have to be approximated with dis-
crete counterparts. In this work, the approximations of the continuous configuration q(tn) and
Lagrange multipliers λ(tn) at the discrete time node tn are denoted by qn and λn, respectively.
Let the system be discretised with a constant time step ∆t ∈ R into N time nodes. The
action integral is approximated over a time interval [tn, tn+1] using the discrete Lagrangian
Ld : Q×Q → R
Ld(qn, qn+1) ≈
∫ tn+1
tn
L(q, q)dt (4.1)
which is in this work approximated with finite differences for the kinetic energy and a midpoint
rule for the potential energy
Ld(qn, qn+1) =1
2∆t(qn+1 − qn)
T ·M · (qn+1 − qn)−∆t V
(qn+1 + qn
2
)(4.2)
25
4 Discrete dynamics of biomechanical structures
It is well known that variational integrators based on a discrete Lagrangian like (4.2) are second
order convergent [Leye 11]. An approximation of the scalar product of the discrete constraint
function gd : Rk → Rm, gd(q) = ∆tg(q) and the corresponding Lagrange multipliers λ ∈ Rm
is given by
1
2gTd (qn) · λn +
1
2gTd (qn+1) · λn+1 ≈
∫ tn+1
tn
gT (q) · λ dt (4.3)
The virtual work of external non-conservative forces is approximated by
f−
n · δqn + f+n · δqn+1 ≈
∫ tn+1
tn
f · δq dt (4.4)
Using these discretisations, the discrete version of the constrained Lagrange-d’Alembert prin-
ciple reads
δ
N−1∑
n=0
Ld(qn, qn+1)−∆t
2gT (qn) · λn −
∆t
2gT (qn+1) · λn+1 +
N−1∑
n=0
f−
n · δqn + f+n · δqn+1 = 0 (4.5)
for all variations {δqn}Nn=0 and {δλn}
Nn=0 with δq0 = δqN = 0 and δλ0 = δλN = 0. With a
straight forward calculation one gets
δSd =δqT0 ·D1Ld(q0, q1) +
N−1∑
n=1
δqTn ·[D2Ld(qn−1, qn) +D1Ld(qn, qn+1)
]
+ δqTN ·D2Ld(qN−1, qN)
−
(δqT
0 ·∆t
2GT
d (q0) · λ0 +N−1∑
n=1
δqTn ·∆tGT (qn) · λn
+δqTN ·
∆t
2GT
d (qN) · λN
)
−
(δλT
0 ·∆t
2gTd (q0) +
N−1∑
n=1
δλTn ·∆tg(qn)
+λTN ·
∆t
2gTd (qN)
)
+ δN−1∑
n=0
f−
n · δqn + f+n · δqn+1 = 0 (4.6)
which finally leads to the discrete constrained forced Euler-Lagrange equations of motion
D2Ld(qn−1, qn) +D1Ld(qn, qn+1)−∆tGT (qn) · λn + f+n−1 + f−
n = 0
g(qn+1) = 0(4.7)
with D1 and D2 denoting the differential operator with respect to the first and second argument
of Ld and the discrete constraint forces involving the constraint Jacobian
G(q) = Dg(q) ∈ Rm×k. The dimension of this discrete system of equations is – as in the
continuous case – (k + m). The key feature to notice here is that (4.7) is not obtained via
discretising the equations of motion. Instead it is obtained via a discrete variational principle.
This yields structure preserving properties like symplecticity and consistency of momentum
maps as well as a good energy behaviour, explained in more detail in the following sections.
26
4.1 Structure preserving integrator for dynamical systems
4.1.1 Discrete Legendre transform
So far, velocities are approximated with finite differences within the discrete Lagrange function,
in particular to describe the kinetic energy of the system. Such a velocity formulation does
not fulfil the so called ’hidden’ constraints, i.e. the temporal derivative of the constraints. The
evolution of velocities that do fulfil these hidden constraints can be found using a discrete
Legendre transform defined as
p−
n = −D1Ld(qn, qn+1) +∆t
2GT (qn) · λn − f−
n (4.8)
p+n = D2Ld(qn−1, qn)−
∆t
2GT (qn) · λn + f+
n−1 (4.9)
Consequently, the discrete time-stepping scheme given in (4.7) enforces the matching of mo-
menta p+n − p−
n = 0 at each time node.
4.1.2 Energy behaviour
Using a symplectic-momentum time-stepping scheme as illustrated in (4.7), the energy of the
system is not represented in an exactly consistent way. However, it can be shown that the
Hamiltonian is only oscillating around the real value and no numerical drift can be found, see
for example [Hair 99, Reic 99]. This can also be expressed as the asymptotic average of the
real Hamiltonian being preserved over exponentially long times.
4.1.3 Discrete Noether’s theorem
Similar to the continuous case (see Section 3.4), an invertible, continuously differentiable co-
ordinate transformation is given by qn = qn(qn, α) and qn+1 = qn+1(qn, α). If the discrete
Lagrangian is invariant with respect to such a coordinate transformation, then the discrete
momentum map
Jd(qn, qn+1) = 〈p+n ,
δqn+1
δα|α=0〉 = 〈p−
n ,δqn
δα|α=0〉 (4.10)
is conserved along the solution of the discrete forced constrained Euler-Lagrange equations. A
more detailed derivation with proof can be found in [Mars 01].
4.1.4 Discrete null space method
To save computational effort and to eliminate conditioning issues related with the Lagrange
multipliers, a reduction of the system to a lower dimension is done by pre-multiplying (4.7)
with a discrete null space matrix P (qn) fulfilling
range (P (qn)) = null (G(qn)) (4.11)
as described by [Bets 06]. Therewith, the constraint forces and with them the unknown La-
grange multipliers vanish from the discrete equations of motion (4.7) and the system’s dimension
27
4 Discrete dynamics of biomechanical structures
is reduced to k
P T (qn) ·(D2Ld(qn−1, qn) +D1Ld(qn,F (un+1, qn)) + f+
n−1 + f−
n
)= 0
g(qn+1) = 0 (4.12)
4.1.5 Nodal reparametrisation
A further reduction of the system to its minimal possible dimension can be achieved by express-
ing qn+1 in terms of local discrete generalised coordinates un+1 ∈ U ⊆ Rk−m, such that the
constraints are fulfilled [Bets 06]. Consider a constraint manifold C ={qn ∈ Rk | g(qn) = 0
},
where qn can be expressed via the local reparametrisation map F : U ⊆ Rk−m×Rk → C, such
that it fulfils the constraints
qn+1 = F (un+1, qn) with g(qn+1) = g(F (un+1, qn)) = 0 (4.13)
Using this nodal reparametrisation reduces the system to k −m equations
P T (qn) ·(D2Ld(qn−1, qn) +D1Ld(qn,F (un+1, qn)) + f+
n−1 + f−
n
)= 0 (4.14)
Remark 4.1.1 Note that (4.14) is equivalent to (4.7), thus it is structure preserving. The
symplectic-momentum method permits structure preserving simulation, i.e. the simulation re-
sults of the dynamical system are consistent in angular momentum and symplecticity and for
linear systems, the results are also consistent in energy. For nonlinear systems, the symplectic-
momentum method still has a good energy behaviour. This is what clearly distinguishes the
symplectic-momentum method from commercially available integrators which are available in
Matlab/Simulink.
4.2 Matlab/Simulink integrators
Throughout this work, the results of the symplectic-momentum method are frequently com-
pared to common Matlab/Simulink integrators, which are briefly described in this chapter.
Matlab/Simulink provides several ordinary differential equation (ode) solvers that can be used
during a dynamic simulation to solve the system’s equations of motion. Basically there are two
different solver categories. Fixed step solvers use regular time intervals during a simulation.
The size of these intervals is called step size. Decreasing this step size increases accuracy but
also increases computational effort. Variable step solvers change the step size automatically
depending on a criterion related to the state of the model and save computational effort by
avoiding unnecessary small steps. To be able to easily compare the results to the structure
preserving method, the focus is here on fixed step solvers.
The available fixed step ode solvers in Matlab/Simulink can again be divided into implicit and
explicit integration methods. In this work, the most accurate solvers of both types (ode8 and
ode14x, respectively) are used.
The following descriptions of the used Matlab/Simulink ode solver types are based on the
documentation of [Math 09].
28
4.3 Numerical example
Explicit fixed-step continuous solver – ode8 As an example for explicit fixed step solvers,
we investigate the solver ode8, which is based on the Dormand-Prince RK8(7) Formula. Matlab
characterises ode8 as the most complicated but also most accurate explicit solver type. The
Dormand-Prince Formula belongs to the embedded Runge Kutta methods and yields a fourth-
order accurate solution. The common variable time step solver ode45 is based on the same
method as the fixed step solver ode8.
Implicit fixed-step continuous solver – ode14x The only available implicit fixed step solver
in Matlab/Simulink is ode14x, which uses a combination of Newton’s method and extrapolation
from the current value to compute the value of a model state at the next time step. The number
of Newton iterations and the order of extrapolation can be specified by the user, the higher the
number of Newton iterations and the higher the extrapolation order, the greater is the accuracy
of that solver. In this work, we use 20 Newton iterations and an extrapolation order of four.
4.3 Numerical example
A simple three body pendulum example is used within this section to illustrate the differences
when using a structure preserving integrator, in particular the symplectic-momentum preserving
integrator, instead of common integrators like the ones available in Matlab/Simulink. The
model consists of three rigid bodies (cylinders) connected with joints as illustrated in Figure 4.1
and activated by gravity.
Figure 4.1: Three-body-pendulum fixed in space and activated by gravity.
The implementation in Matlab/Simulink is done via the SimMechanics Toolbox and parameters
like moments of inertia and masses of the bodies are transferred to the Simulink model by
initialisation with the same parameter file as the calculation with the symplectic-momentum
method. An illustration of the Simulink model is given in Figure 4.2.
29
4 Discrete dynamics of biomechanical structures
Revolute3
BF
Revolute2
BF
Revolute1
BF
MachineEnvironment
Env
Ground
Body2
CS1
Body1
CS1 CS2
Body
CS1 CS2
Figure 4.2: Matlab/Simulink model of a three-body-pendulum fixed in space and activated by gravity.
The simulation time of 5s is discretised with a constant time step of 10−2s for both methods.
To examine the influence of the time step size, it is reduced in a further simulation to 10−4s for
the Simulink ode8 solver. The solutions of the symplectic-momentum method are illustrated
in green, the solution of the ode8 solver with the larger time step of 10−2s is depicted in red,
the calculation with ode8 and a reduced time step of 10−4s is highlighted in blue.
0 1 2 3 4 5−4
−3
−2
−1
0
1
2
3
ode8 t=10−2s
ode8 t=10−4s
sm t=10−2s
Figure 4.3: Evolution of angular momentum of the three-body-pendulum over time: Simulation using Mat-
lab/Simulink ode8 with a constant time step of 10−2 s (red) and with a constant time step of 10−4 s
(blue) compared to a simulation with the symplectic-momentum integrator with a constant time step of
10−2 s (green).
The evolution of angular momentum over time is depicted in Figure 4.3. During the first
seconds, all three simulations show the same angular momentum evolution, and after a certain
time the simulink solution with the larger time step splits off first. Finally, all three simulations
show a different evolution during the last seconds. As it is known from Noether’s theorem (see
Section 3.4), in the presence of gravity and the absence of further forces, the angular momentum
changes only and exactly according to the actuating torques resulting from gravity. This means,
the change in angular momentum in one time step must be equal to the gravity torques, i.e. the
difference must be zero. An illustration of this difference in every time step of the simulation
is given in the left hand part of Figure 4.4.
30
4.3 Numerical example
0 1 2 3 4 5−0.2
−0.15
−0.1
−0.05
0
0.05
0.1
0.15
ode8 t=10−2s
ode8 t=10−4s
sm t=10−2s
0 1 2 3 4 5−1.5
−1
−0.5
0
0.5
1
1.5x 10
−3
ode8 t=10−2s
ode8 t=10−4s
sm t=10−2s
Figure 4.4: Change in angular momentum of the three-body-pendulum per time step minus activating gravity torques
(left) and zoomed change in angular momentum of the three-body-pendulum per time step minus
activating gravity torques (right): Simulation using Matlab/Simulink ode8 with a constant time step
of 10−2 s (red) and with a constant time step of 10−4 s (blue) compared to a simulation with the
symplectic-momentum integrator with a constant time step of 10−2 s (green).
0 1 2 3 4 5−6
−5
−4
−3
−2
−1
0
1
ode8 t=10−2s
ode8 t=10−4s
sm t=10−2s
Figure 4.5: Evolution of the total energy of the three-body-pendulum over time: Simulation using Matlab/Simulink
ode8 with a constant time step of 10−2 s (red) and with a constant time step of 10−4 s (blue) compared
to a simulation with the symplectic-momentum integrator with a constant time step of 10−2 s (green).
Obviously, this difference is not zero for the Simulink result with the larger time step (red curve)
and a zoom in the y-axis (see right hand part of Figure 4.4) shows that even if for the smaller
time step, the error in angular momentum representation of the simulink integrator is indeed
reduced (blue curve), it is not zero to numerical accuracy, as it is for the symplectic-momentum
result (green curve).
31
4 Discrete dynamics of biomechanical structures
Moreover, the evolution of the total energy of the system is depicted in Figure 4.5. As no
friction, damping or other physical energy sinks or sources are considered, the sum of kinetic
and potential energy of the real system, represented by its Hamiltonian, is conserved. For the
symplectic-momentum method, we see slight oscillations of the total energy, but no artificial
loss or gain over the simulation time. This is called a good energy behaviour of the integrator.
In contrast to that, the Simulink ode8 integrator shows a significant artificial loss in energy
over simulation time.
This non-structure preserving behaviour can be noticed for every Simulink integrator type in
different markedness. In Section 6.1.1, the influence of this behaviour on muscle actuated
motions is further discussed.
32
5 Rigid multibody formulation
To describe biomechanical structures like bones and joints within dynamical simulations, several
rigid body formulations are conceivable. Generally, one distinguishes between a description in
generalised or in redundant coordinates. The former benefits from naturally being a constraint
free description, as the system moves only in the given degrees of freedom. Thus, the equa-
tions of motion are standard ordinary differential equations, i.e. many kinds of Runge-Kutta
algorithms or multistep methods can be used to solve them. Typical commercial available inte-
grators of that kind can for example be found in [Math 09], whereas ode solvers with structure
preserving characteristics are for example described in [Krys 05, Krys 06, Krys 08, Simo 91].
However, in this formulation a configuration-dependent mass matrix occurs, which may lead to
problems in the time discretisation related to singularities of the mass matrix, see for example
[Leye 06].
A formulation with redundant coordinates is often realised by describing a system as a con-
tinuum with prescribed constant dimensions. Hence, an internal body frame is defined, which
moves with the body and changes its origin and orientation with respect to the global frame ac-
cordingly. Such a redundant formulation is frequently used, see for example [Leye 06, Bets 06,
Leye 08, Leye 10, Ober 09, Mars 99], as it affords certain numerical advantages, in particular by
the avoidance of rotational parameters, angular velocities and accelerations in the Lagrangian
[Leim 04, Bets 98, Bets 01, Leye 08].
A brief description of this rigid body formulation is given in the following section. After that,
kinematic pairs using a spherical, a revolute and a newly developed cardan joint connection are
described using this formulation. A numerical example closes this chapter, where two alterna-
tive descriptions of the nodal reparametrisation are compared. Further details on the rigid body
formulation and on different joint types can be found in [Bets 01, Bets 06, Leye 06, Leye 08,
Leye 10], where a large part of the formulation and notation presented here is introduced.
5.1 Constrained rigid body formulation
If the distance between any two points in a body does never change, and therewith the angle
between any two fibres in a body is constant as well, this body is called a rigid body. With
the kinematic assumptions illustrated in Figure 5.1, the location and orientation of such a rigid
body can be easily described. The location of the centre of mass of a body is given via a vector
ϕ ∈ R3 and its orientation is indicated by an orthonormal body frame fixed in the centre of mass
of the body. This body frame performs the same rotations as the body itself and is, due to the
rigidity of the body, constrained to stay orthonormal. Hence, the directors d1,d2,d3 ∈ R3 span
a rotation matrix R ∈ SO(3). The time dependent location of a point ρrb = ρrbIdI ∈ B ⊂ R3
on this body can be given relative to an orthonormal basis e1, e2, e3 ∈ R3 fixed in space by
x(X, t) = ϕ(t) + ρrbIdI(t) ∈ R3 (5.1)
33
5 Rigid multibody formulation
where ρrbI , I = 1, 2, 3 are coordinates in the body fixed frame.
Figure 5.1: Rigid body formulation: The centre of mass is given relative to the global frame by ϕ, the orientation
of the body is given by an orthonormal body frame in the centre of mass.
The configuration variable q(t) describing the location and orientation of a rigid body reads
q(t) =
ϕ
d1
d2
d3
∈ R
12 (5.2)
With the restriction on the director frame to stay orthonormal during a motion, mint = 6 so
called internal constraints arise
gint(q) =
12
(dT1 · d1 − 1
)12
(dT2 · d2 − 1
)12
(dT3 · d3 − 1
)
dT1 · d2
dT2 · d3
dT3 · d1
∈ R
6 (5.3)
and the Jacobian of these internal constraints is given by
Gint(q) =
0 dT1 0 0
0 0 dT2 0
0 0 0 dT3
0 dT2 dT
1 0
0 dT3 0 dT
1
0 0 dT3 dT
2
∈ R
6×12 (5.4)
By choosing the directors to be aligned with the principal axes of inertia of the body, Euler’s
tensor with respect to the centre of mass can be written as
E =1
2(trJ) · I − J ∈ R
3×3 (5.5)
34
5.1 Constrained rigid body formulation
with the inertia tensor J ∈ R3×3 and the 3 × 3 identity matrix I ∈ R3×3. The mass of a
rigid body is given by Mϕ =∫B(ρ)dV using the density ∈ R+ and the volume of the body
Vb ∈ R+. Within this work a constant density, i.e. homogeneous bone material, is assumed.
Together with the principal values of the Euler tensor, the constant symmetric positive definite
12× 12 mass matrix reads
M =
MϕI 0 0 0
0 E1I 0 0
0 0 E2I 0
0 0 0 E3I
(5.6)
In [Bets 06], where this rigid body formulation has been elaborated, the internal nullspace
matrix related to the internal constraints given in (5.3) is given as
P int(q) =
I 0
0 −d1
0 −d2
0 −d3
∈ R
12×6 (5.7)
which obviously yields G · P = 0 ∈ R6×6. Herein, a denotes the 3× 3 skew symmetric matrix
given in (3.23) related to the axial vector a ∈ R3.
With a nodal reparametrisation F : U × Q → C as introduced in (4.13), the configuration
of a rigid body is given by six unknowns un+1 =[uϕn+1
, θn+1
]representing the incremental
motion within the translational degrees of freedom uϕn+1∈ R3 and the incremental motion
within rotational degrees of freedom uθn+1∈ R3, respectively. The incremental update of the
redundant configuration variable is therewith given by
qn+1 = F (un+1, qn) =
ϕn + uϕn+1
exp(θn+1) · d1n
exp(θn+1) · d2n
exp(θn+1) · d3n
(5.8)
Herein, for the exponential map Rodrigues’ formula is used, see (3.24).
Corresponding to its number of degrees of freedom, the rigid body can be actuated with a
translational force τϕ ∈ R3 in the centre of mass of the body and a torque τ θ ∈ R3, summarised
in τ rb = [τϕ, τ θ]T ∈ R6. In particular, when implementing muscle forces, the rigid body is
usually actuated by a force τ ϕ with an application point located at ρrb = ρrbIdI different from
the centre of mass. Such kind of activation can be transferred into a force τϕ in the centre of
mass and an additional torque ρrb × τϕ. Consequently, this yields[
τϕ
ρrb × τϕ + τ θ
]= Crb(q) · τ rb (5.9)
Herein, the matrix
Crb(q) =
[I 0
ρrb I
]∈ R
6×6 (5.10)
assigns the appropriate lever arm.
35
5 Rigid multibody formulation
5.2 Joint connections and constraint reactions
In addition to the mint internal constraints resulting from the rigid body formulation, mext
external constraints may be present, if a body is fixed in space with a joint connection or if
several rigid bodies are connected via joints that restrict the relative motion of the bodies.
Altogether, the number of constraints on the system is then given by m = mint+mext. In order
to prevent a dynamical system from violating the external constraints, constraint forces or –
depending on the joint type – constraint torques are present in the joints. In the following, a
formulation of the resulting constraints for a spherical and a revolute joint is given as described
in [Bets 06, Leye 06, Leye 08, Leye 10]. Furthermore, an additional description of a cardan joint
is added, which is frequently needed in biomechanics simulations, in order to represent joint
connections with two rotational degrees of freedom like for example the elbow and the wrist.
Moreover, for all three joint types, the Jacobian of the constraints, the nullspace matrices and
the joint torque activations are given as well as a possibility to compute the related constraint
reactions. For further details and a description of other joint types see [Bets 06, Leye 06,
Leye 08, Leye 10]. In the later part of this work, those joints are used to build the kinematic
chain of the arm and finger model.
Figure 5.2: A pair of rigid bodies connected by a joint (left), subject to forces and torques in the centre of mass
(right).
The configuration variable q(t) for a kinematic chain consisting of K bodies is set up as q(t) =
[q1, q2, . . . , qK ]T ∈ R12K , containing the configuration variables of the single bodies q1, q2, ...
qK in the form of (5.2).
Nullspace matrix The complete nullspace matrix for a kinematic pair is given by
P J(q) =
[P int(q
1) 012×rJ
P int(q2) · P 2,J
ext(q)
]∈ R
24×(6+rJ ) (5.11)
as described in [Bets 06]. Herein, the internal nullspace matrix is given by (5.7). Depending
on the joint connection in use, a specific external 6 × (6 + rJ) dimensional matrix P2,Jext(q) is
applied, where rJ denotes the number of relative degrees of freedom in a joint.
The specific nullspace matrices for the kinematic chains used within this work are given in the
36
5.2 Joint connections and constraint reactions
corresponding chapters in the later part of the work. For more information on their detailed
derivation the reader is referred to [Bets 06, Leye 06].
Nodal reparametrisation For each open kinematic chain, it is possible to express the redun-
dant configuration variable q ∈ R12K with rJ generalised coordinates, such that the constraints
are fulfilled.
qn+1 = F J(uJn+1, qn) (5.12)
The generalised coordinates consist of the incremental displacements uϕn+1∈ R3 and rotations
θn+1 ∈ R3 of the first body, if it is free in space, as well as a relative rotation θJKn+1 ∈ RrJ for
each following body depending on the joint type.
Actuation of kinematical chains A rigid multibody system can be actuated via a vector of
joint torques τ J ∈ RrJ , whose dimension depends on the number of degrees of freedom rJ
of the specified joint connection. Additionally, an actuation via forces and torques directly
on the rigid bodies τKrb ∈ R6 is possible, as illustrated in (5.9). Combined, the generalised
forces actuating a k-dimensional kinematic chain consisting of K bodies connected via K − 1
joints and actuated with joint torques and an additional force and torque directly on each rigid
body read[τ 1rb . . . , τ
Krb, τ
J1, . . . , τ JK−1
]T∈ R(12K+
∑
K−1
i=1rJi ). The redundant forces on each body
f =[f1, . . . , fK
]T∈ Rk can be calculated from
f = B(q)T ·[τ 1rb, τ
2rb, τ
J1, . . . , τ JK−1
]T(5.13)
with B(q) ∈ Rk×(12K+∑
K−1
i=1rJi ) representing the configuration dependent input transformation
matrix exemplarily given for two bodies connected by one joint as
B(q) =
[P int(q
1) 0
0 P int(q2)
]·
I 0 0 0
01
2I 0 0
0 0 I 0
0 0 01
2I
·
[Crb(q
1) 0 C1,J(q)
0 Crb(q2) C2,J(q)
](5.14)
see also [Leye 10]. Instead of using joint torques, the actuation on each body can be represented
equivalently by forces hϕ ∈ R3 and torques hθ ∈ R3 in the centre of mass of each body
h =[h1ϕ,h
1θ, . . . ,h
Kϕ ,h
Kθ
]T∈ R6K , see right part of Figure 5.2, via
h = P Tint(q) · f (5.15)
5.2.1 Spherical pair
A spherical joint between two rigid bodies leads to the following mSext = 3 external constraints
on the movement of the bodies
gSext(q) = ϕ2 − ϕ1 + ρ2 − ρ1 (5.16)
37
5 Rigid multibody formulation
Figure 5.3: Free body diagram to visualise the constraint forces in a spherical joint.
The related constraint force F ϕ that prevents the bodies from relative displacement is visualised
in the free body diagram in Figure 5.3. The corresponding Jacobian of the external constraints
is given by
GSext(q) =
[−I −ρ11I −ρ12I −ρ13I I ρ21I ρ22I ρ23I
]∈ R
3×24 (5.17)
With the relation described in (5.11), the total nullspace matrix for a spherical pair is given
using
P int(q2) · P 2,S
ext(q) =
I −ρ1 ρ2
0 0 −d21
0 0 −d22
0 0 −d23
∈ R
12×9 (5.18)
The incremental displacement and rotation of two bodies connected with a spherical joint can
be summarised according to (5.12) in un+1 =[u1
ϕn+1θ1n+1 θ2
n+1
]T∈ R9. Therewith a nodal
reparametrisation can be applied
qn+1 =
ϕn + u1ϕn+1
exp(θ1n+1) · (d
11)n
exp(θ1n+1) · (d
12)n
exp(θ1n+1) · (d
13)n
ϕn + u1ϕn+1
+ exp(θ1n+1) · ρ
1n − exp(θ2
n+1) · ρ2n
exp(θ2n+1) · (d
21)n
exp(θ2n+1) · (d
22)n
exp(θ2n+1) · (d
23)n
(5.19)
using Rodrigues’ formula explained in (3.24).
An actuation with joint torques in a spherical joint can be transformed into an actuation by
redundant body forces using (5.13) and
C1,S(q) =
[0
−I
]∈ R
6×3, C2,S(q) =
[I
0
]∈ R
6×3 (5.20)
38
5.2 Joint connections and constraint reactions
With λSext = λϕ ∈ R3 representing the Lagrange multipliers related to the constrained relative
translation of the bodies, the external constraint forces in redundant coordinates are given by(GS
ext(q))T
· λSext. By premultiplying these redundant constraint forces with the transposed
internal nullspace matrix P Tint(q) following the formulation in (5.7), we finally get a set of
constraint reactions acting on the centre of mass of the rigid bodies
h1ϕ
h1θ
h2ϕ
h2θ
= P T
int · (GSext)
T · λSext =
I 0 0 0 0 0 0 0
0 d11 d1
2 d13 0 0 0 0
0 0 0 0 I 0 0 0
0 0 0 0 0 d21 d2
2 d23
·
−λϕ
−ρ11λϕ
−ρ12λϕ
−ρ13λϕ
λϕ
ρ21λϕ
ρ22λϕ
ρ23λϕ
=
−λϕ
−ρ1 × λϕ
λϕ
ρ2 × λϕ
(5.21)
Considering for example the first body, it is evident that a force h1ϕ = −λϕ acting on the centre
of mass of the body and an additional torque h1θ = −ρ1×λϕ can be equivalently represented by
one force −λϕ, whose point of application is given by ρ1 in the respective body frame. Together
with the illustration of the free body diagram in Figure 5.5 it is obvious that the constraint
force F ϕ acting in the joint and preventing the bodies from relative translational displacement
is given by F ϕ = λϕ
5.2.2 Revolute pair
Figure 5.4: Free body diagram to visualise the constraint forces and torques in a revolute joint.
For a pair connected by a revolute joint, see Figure 5.4, the following external constraints arise
gRext(q) =
ϕ2 −ϕ1 + ρ2 − ρ1
(n1)Td21 − η1
(n1)Td22 − η2
∈ R
5 (5.22)
with n1 = n1Id
1I , I = 1, 2, 3 being the axis of rotation of the second body relative to the first
one fixed in the first body and η1, η2 ∈ R being the prescribed angle between n1 and d21 and
39
5 Rigid multibody formulation
between n1 and d22, respectively. This results in the constraint Jacobian
GRext(q) =
−I −ρ11I −ρ12I −ρ13I I ρ21I ρ22I ρ23I
0T n11(d
21)
T n12(d
21)
T n13(d
21)
T 0T (n1)T 0T 0T
0T n11(d
22)
T n12(d
22)
T n13(d
22)
T 0T 0T (n1)T 0T
∈ R
5×24 (5.23)
The incremental displacement and rotation of two bodies connected with a revolute joint are
given by un+1 =[u1
ϕn+1θ1n+1 θ2n+1
]T∈ R7. Here, θ2n+1 denotes the relative rotation of the
second body with respect to the first one around the axis n1. A nullspace matrix and a nodal
reparametrisation can be given in two different ways. In [Bets 06, Leye 06] a formulation is
illustrated, where the second body is induced to always perform the same rotation as the first
one and to additionally rotate relative to it with θ2 about the joint axis n1. Hence, the angular
velocity of the second body can be calculated by ω2 = ω1 + θ2n1. To keep the second body
at rest, an appropriate opposed rotation around the joint axes has to be applied on the second
body. In this case, a nullspace matrix can be given using
P int(q) · P2,Rext (q) =
I ρ2 − ρ1 ρ2 · n1
0 −d21 −d2
1 · n1
0 −d22 −d2
2 · n1
0 −d23 −d2
3 · n1
∈ R
12×7 (5.24)
and a corresponding nodal reparametrisation reads
qn+1 =
ϕn + u1ϕn+1
exp(θ1n+1) · d
11n
exp(θ1n+1) · d
12n
exp(θ1n+1) · d
13n
ϕn + u1ϕn+1
+ exp(θ1n+1) ·
(ρ1n − exp(θ2n+1 n
1n) · ρ
2n
)
exp(θ1n+1) · exp(θ
2n+1 n
1n) · d
21n
exp(θ1n+1) · exp(θ
2n+1 n
1n) · d
22n
exp(θ1n+1) · exp(θ
2n+1 n
1n) · d
23n
(5.25)
If one is interested in a formulation that addresses the single body rotations independently, one
can introduce another relation between the angular velocities reading ω2 = I11 ·ω1 + θ2n1, as
described in [Leye 10]. Herein, the 3 × 3 matrix I11 = I − n1 ⊗ n1 ensures, that a rotation of
the first body around the axis n1 leaves the second body at rest. Then the nullspace matrix
can be constructed using
P int(q) · P2,Rext (q) =
I ρ2 · I11 − ρ1 ρ2 · n1
0 −d21 · I
11 −d21 · n
1
0 −d22 · I
11 −d22 · n
1
0 −d23 · I
11 −d23 · n
1
∈ R
12×7 (5.26)
40
5.2 Joint connections and constraint reactions
and the corresponding nodal reparametrisation changes accordingly to
qn+1 =
ϕn + u1ϕn+1
exp(θ1n+1) · d
11n
exp(θ1n+1) · d
12n
exp(θ1n+1) · d
13n
ϕn + u1ϕn+1
+ exp(θ1n+1) · ρ
1n −R1,2 · exp(θ2n+1 n
1n) · ρ
2n
R12 · exp(θ2n+1 n1n) · d
21n
R12 · exp(θ2n+1 n1n) · d
22n
R12 · exp(θ2n+1 n1n) · d
23n
(5.27)
where R12 = exp(θ1n+1) · exp(−
(n1n ⊗ n1
n) · θ1n+1). A joint torque actuation of the revolute pair
can be transferred into redundant body forces using
C1,R(q) =
[0
−n1
]∈ R
6×1, C2,R(q) =
[0
n1
]∈ R
6×1 (5.28)
within (5.13). Corresponding to the number of external constraints, for a connection with a
revolute joint, the Lagrange multipliers can be introduced as λRext = [λϕ, λθ1 , λθ2] ∈ R5. Herein,
λϕ ∈ R3 is related to the constraints on relative translation of the bodies and λθ1, λθ2 ∈ R are
related to the constrained rotation axes. Therewith, the constraint forces that arise in the joint
according to the external constraints can be computed in a redundant form with GSext(q)
T ·[λϕ λθ1 λθ2
]T. Premultiplying these redundant constraint forces with the transposed internal
nullspace matrix yields a reduced set of constraint forces acting on the centre of mass
h1ϕ
h1θ
h2ϕ
h2θ
= P T
int (GRext)
T
λϕ
λθ1
λθ2
=
I 0 0 0 0 0 0 0
0 d11 d1
2 d13 0 0 0 0
0 0 0 0 I 0 0 0
0 0 0 0 0 d21 d2
2 d23
−λϕ
−ρ11λϕ + n11λθ1d
21 + n1
1λθ2d22
−ρ12λϕ + n12λθ1d
21 + n1
2λθ2d22
−ρ13λϕ + n13λθ1d
21 + n1
3λθ2d22
λϕ
ρ21λϕ + λθ1n1
ρ22λϕ + λθ2n1
ρ23λϕ
(5.29)
which finally results in
h1ϕ
h1θ
h2ϕ
h2θ
=
−λϕ
−ρ1 × λϕ + λθ1(n1 × d2
1) + λθ2(n1 × d2
2)
λϕ
ρ1 × λϕ − λθ1(n1 × d2
1)− λθ2(n1 × d2
2)
(5.30)
41
5 Rigid multibody formulation
According to Figure 5.4 this means for the revolute pair, that the constraint force F ϕ preventing
the system from translational movements of the second body relative to the first one is given
by F ϕ = λϕ. The constraint torques T θ1 and T θ2 countervailing relative rotation around the
constrained axes can be calculated via T θ1 = λθ1(n1 × d2
1) and T θ2 = λθ2(n1 × d2
2).
5.2.3 Cardan pair
In addition to spherical and revolute joints as described above and in [Bets 06, Leye 06, Leye 10],
within biomechanics there also exist joints with two rotational degrees of freedom. A common
example is the elbow with flexion/extension and pronation/supination motion or the circum-
duction of the wrist. Hence, an additional joint formulation of a so called cardan joint is
required, which is described in the following.
Figure 5.5: Free body diagram to visualise the constraint forces and torque in a cardan joint.
Two rigid bodies connected by a cardan joint have two relative rotational degrees of freedom,
see Figure 5.5, which leads to a number of mCext = 4 external constraints. Let the two axes of
rotation of a cardan joint be given by n11(q1) = n11I d1I ∈ R3 and n12(q2) = n12
I d2I ∈ R3, I =
1, 2, 3 which are orthogonal to each other, i.e. n11(q1)T ·n12(q2) = 0. Constraining the rotation
about the third axis then means that these two rotation axes have to stay in their initial
orientation to each other, yielding the following external constraint function
gCext(q) =
[ϕ2 −ϕ1 + ρ2 − ρ1
n11(q1)T · n12(q2)
](5.31)
The incremental displacements and rotations of the two bodies connected by a cardan pair can
be summarised in un+1 =[u1
ϕn+1θ1n+1 θ2
n+1
]T∈ R8. As in the case of the revolute joint, a
nullspace matrix and a nodal reparametrisation can be given in two different ways. In case the
velocity of the second body is calculated relative to the first one, i.e. ω2 = ω1 + θ21n11 + θ22n
12,
the nullspace matrix is given by (5.11) inserting
P int(q2) · P 2,C
ext (q) =
I ρ2 − ρ1 ρ2 × n11 ρ2 × n12
0 −d21 n11 × d2
1 n12 × d21
0 −d22 n11 × d2
2 n12 × d22
0 −d23 n11 × d2
3 n12 × d23
∈ R
12×8 (5.32)
42
5.2 Joint connections and constraint reactions
and a corresponding nodal reparametrisation reads
qn+1 =
ϕn + u1ϕn+1
exp(θ1n+1) · d
11n
exp(θ1n+1) · d
12n
exp(θ1n+1) · d
13n
ϕn + u1ϕn+1
+ exp(θ1n+1) ·
(ρ1n − exp(θ21n+1
n11n) · ρ
2n − exp(θ22n+1
n12n) · ρ
2n
)
exp(θ1n+1) · exp(θ
21n+1
n11n) · exp(θ
22n+1
n12n) · d
21n
exp(θ1n+1) · exp(θ
21n+1
n11n) · exp(θ
22n+1
n12n) · d
22n
exp(θ1n+1) · exp(θ
21n+1
n11n) · exp(θ
22n+1
n12n) · d
23n
(5.33)
If the velocity of the second body is calculated independently from the velocity of the first
body, the nullspace matrix for the cardan pair is given by (5.11) inserting
P int(q2) · P 2,C
ext (q) =
I ρ2 − ρ1 · I12 ρ2 × n11 ρ2 × n12
0 −d21 · I
12 n11 × d21 n12 × d2
1
0 −d22 · I
12 n11 × d22 n12 × d2
2
0 −d23 · I
12 n11 × d23 n12 × d2
3
∈ R
12×8 (5.34)
with I12 = I − n11 ⊗ n11 − n12 ⊗ n12 ∈ R3×3. A corresponding nodal reparametrisation is in
this case given by
qn+1 =
ϕn + u1ϕn+1
exp(θ1n+1) · d
11n
exp(θ1n+1) · d
12n
exp(θ1n+1) · d
13n
ϕn + u1ϕn+1
+ exp(θ1n+1) · ρ
1n −R22 ·
(exp(θ21n+1
n11n) · ρ
2n + exp(θ22n+1
n12n) · ρ
2n
)
R22 · exp(θ21n+1n11
n) · exp(θ22n+1
n12n) · d
21n
R22 · exp(θ21n+1n11
n) · exp(θ22n+1
n12n) · d
22n
R22 · exp(θ21n+1n11
n) · exp(θ22n+1
n12n) · d
23n
(5.35)
where R22 = exp(θ1n+1) · exp(−
(n11n ⊗ n11
n ) · θ1n+1) · exp(−
(n12n ⊗ n12
n ) · θ2n+1). If the cardan
pair is actuated by torques τC ∈ R2, then the redundant actuation forces on each body are
computed according to (5.13) with
C1,C(q) =
[0 0
−n11 −n12
]∈ R
6×2, C2,C(q) =
[0 0
n11 n12
]∈ R
6×2 (5.36)
The Lagrange multipliers λCext =
[λϕ λθ
]T∈ R4 are composed of a part λϕ ∈ R3 related to the
constraints on relative translation of the bodies and a part λθ ∈ R related to the constrained
43
5 Rigid multibody formulation
rotation about the axis perpendicular to n11 and n12. Consequently, using the Jacobian of the
constraints
GCext(q) =
[−I −ρ11I −ρ12I −ρ13I I ρ21I ρ22I ρ23I
0T n111 (n12)T n11
2 (n12)T n113 (n12)T 0T n12
1 (n11)T n122 (n11)T n12
3 (n11)T
]∈ R
4×24
(5.37)
the constraint forces in redundant coordinates read
(GC
ext(q))T
· λCext =
−λϕ
−ρ11λϕ + n111 λθn
12
−ρ12λϕ + n112 λθn
12
−ρ13λϕ + n113 λθn
12
λϕ
ρ21λϕ + n121 λθn
11
ρ22λϕ + n122 λθn
11
ρ23λϕ + n123 λθn
11
(5.38)
Premultiplying the constraint forces with the transposed internal nullspace matrix, we get a
set of constraint forces on the centre of mass of the bodies
h1ϕ
h1θ
h2ϕ
h2θ
= P T
int · (GCext)
T · λCext =
−λϕ
−ρ1 × λϕ + λθ(n11 × n12)
λϕ
ρ1 × λϕ − λθ(n11 × n12)
(5.39)
When focussing on the first body, one can see that a force h1ϕ = −λϕ acting on the centre of
mass of the body and an additional torque h1θ = −ρ1 × λϕ + λθ(n
11 × n12) can be equivalently
represented by one force −λϕ acting at a point ρ1 in the respective body frame and an addi-
tional torque λθ(n11 × n12). Taking into account the free body diagram of a cardan joint (see
Figure 5.5), we can calculate the constraint force in a cardan joint F ϕ that prevents the bodies
from relative translations and the resulting constraint torque T θ preventing relative rotation
about the axis n11 × n12 via F ϕ = λϕ and T θ = λθ(n11 × n12).
Remark 5.2.1 (Computation of the Lagrange multipliers) Obviously, the constraint forces
and torques are directly related to the Lagrange multipliers. Due to the use of a discrete nullspace
method in (4.14), we save the calculation of the Lagrange multipliers in the first place to reduce
computational effort and to exclude conditioning issues. However, it is possible to calculate
them in a post processing step via
λn = RTd (qn) ·
[D1Ld(qn, qn+1) +D2Ld(qn−1, qn) +
∆t
2BT (qn) · (τ n−1 + τ n)
](5.40)
with the n×m dimensional matrix Rd(qn) = (Gd(qn))T ·(Gd(qn) · (Gd(qn))
T)−1
.
44
5.2 Joint connections and constraint reactions
5.2.4 Numerical example
During the previous sections we have seen that the body velocities can be described in different
ways. Either the velocity of a second body is given relative to the velocity of the first body, see
the update formulas (5.25) for a revolute joint and (5.33) for a cardan joint. Or the velocity
is given by a formulation that is independent of the motion of the first body, see the update
formulas (5.27) for a revolute joint and (5.35) for a cardan joint.
Figure 5.6: Configuration of the pyramids over time with the independent body velocity formulation and an activation
by an initial velocity of the first body.
Figure 5.7: Configuration of the pyramids over time with the relative body velocity formulation and an activation
by an initial velocity of the first body.
Figure 5.8: Configuration of the pyramids over time with the relative body velocity formulation: activation by an
initial velocity of the first body and additional corresponding negative initial velocity on the second body.
If two bodies of equal mass and inertia properties are coupled via a revolute or cardan joint
in their center of mass, it is intuitively clear what distinguishes these formulations. Let the
45
5 Rigid multibody formulation
first body be activated with an initial velocity around the joint axes, while the second body
is not activated at all. Then, the second body will stay at rest, if an independent velocity
formulation is used. In contrast, if a relative velocity formulation is used, it will move together
with the first body without any relative motion. In order to keep the second body at rest,
while using a relative velocity formulation, one has to activate it with the appropriate negative
initial velocity.
In general, typical multibody problems are more difficult than this simple experiment in mind.
Usually, the bodies do not have the same mass and inertia properties and they are not connected
in their center of mass. In order to investigate the difference between the two formulations, a
numerical example is given in this section, increasing the difficulty of the problem step by step.
Herein, two pyramid-shaped bodies are coupled with a cardan joint. In the first step, the two
bodies still have the same inertia properties and masses, but instead of a connection in their
center of mass, they are connected at the pyramid top. When activating this system with an
initial angular velocity on the first rigid body around one of the cardan axes, the differences of
both formulations show up by examining the configurations of the bodies over time (Figure 5.6
for a description with independent body velocities and Figure 5.7 for a description with relative
body velocities). Using an independent velocity formulation, the second body is not affected by
the part of the activation of the first body around the cardan axes, while when using a relative
formulation, the second body is generally affected by the same rotation as the first one. To
achieve the same motion like the one resulting from an independent velocity formulation with
a relative velocity formulation, an additional negative initial velocity has to be added on the
second body around the affected cardan axis, see Figure 5.8.
0 0.5 1 1.5 2 2.5−2
0
2
0 0.5 1 1.5 2 2.50
1
2
0 0.5 1 1.5 2 2.5−2
0
2
0 0.5 1 1.5 2 2.5−5
0
5
0 0.5 1 1.5 2 2.50
2
4
0 0.5 1 1.5 2 2.5−2
0
2
Figure 5.9: Evolution of generalised configuration variables over time for the independent body velocity formulation
(left) and for the relative body velocity formulation (right), with initial velocity on the first body.
The evolution of the resulting configuration variables over simulation time is depicted in the
left part of Figure 5.9 for independent body velocities and in the right part of Figure 5.9 for
relative body velocities. The upper subplot within these figures shows the translation of the
first body in space, the middle plot illustrates the rotation in space and in the lower subplot,
the rotation around the cardan axes is depicted. Again, it is obvious that the translational
46
5.2 Joint connections and constraint reactions
an rotational motions of the first body is significantly different for the two formulations when
using the same initial velocities (compare the upper and middle subplots in Figure 5.9).
0 0.5 1 1.5 2 2.5−2
0
2
0 0.5 1 1.5 2 2.50
1
2
0 0.5 1 1.5 2 2.5−2
0
2
Figure 5.10: Evolution of generalised configuration variables over time for the relative body velocity formulation with
activation by an initial velocity of the first body and additional corresponding negative initial velocity
on the second body.
However, when adding an additional negative initial velocity on the second body around the
cardan axis, the same rigid body motion can be generated (see upper and middle plot in Fig-
ure 5.10). No matter what formulation is used here or what initial velocity is activating the
model, angular momentum is conserved and the constraints are fulfilled to numerical accuracy
over the simulation time for all three simulations, see Figure 5.11, 5.12 and 5.13.
0 0.5 1 1.5 2 2.5−1
−0.5
0
0.5
1
1.5
2
2.5x 10
−15
g1
g2
g3
g4
0 0.5 1 1.5 2 2.5−2
−1.5
−1
−0.5
0
0.5
1
1.5
2x 10
−13
L1
L2
L3
Figure 5.11: Fulfilment of constraints (left) and angular momentum consistency (right) for the independent body
velocity formulation with initial velocity on the first body.
47
5 Rigid multibody formulation
0 0.5 1 1.5 2 2.5−2
−1.5
−1
−0.5
0
0.5
1
1.5
2x 10
−15
g1
g2
g3
g4
0 0.5 1 1.5 2 2.5−2
−1.5
−1
−0.5
0
0.5
1
1.5
2x 10
−13
L1
L2
L3
Figure 5.12: Fulfilment of constraints (left) and angular momentum consistency (right) for the relative body velocity
formulation with initial velocity on the first body.
0 0.5 1 1.5 2 2.5−1
−0.5
0
0.5
1
1.5x 10
−15
g1
g2
g3
g4
0 0.5 1 1.5 2 2.5−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
2.5
3x 10
−13
L1
L2
L3
Figure 5.13: Fulfilment of constraints (left) and angular momentum consistency (right) for the relative body velocity
formulation with initial velocity on the first body and additional opposite velocity on the second body.
Concluding, this means in case of a relative velocity formulation, the initial velocities can be
chosen with respect to this relative formulation to gain the same motion generated with an
independent velocity formulation. This is rather simple in this example with bodies having the
same moment of inertia and mass, but it can be very ambitious for more complex models.
The next step towards more typical multibody systems is to choose different masses and inertia
properties for the bodies. Within this work, the actuation of multibody systems is implemented
rather by joint torques or muscle forces instead of an activation by initial velocities. Moreover,
during optimal control simulations, the initial velocity is requested to be zero within this work.
Therefore, the effect of the different formulations when using a joint torque actuation is exam-
ined additionally in the second part of this example. The simulation time is increased to 25s,
discretised with a time step of 0.05s. For both formulations, the first body is actuated by a
48
5.2 Joint connections and constraint reactions
torque τ rb and the cardan joint is actuated with a torque τC around both cardan axes.
Figure 5.14: Configuration of the pyramids over time: The independent body velocity formulation (top) compared
to the relative body velocity formulation (bottom) with actuation by joint torques.
0 5 10 15 20 25−5
0
5
0 5 10 15 20 25−100
0
100
0 5 10 15 20 250
5
10
0 5 10 15 20 25−5
0
5
0 5 10 15 20 25−100
0
100
0 5 10 15 20 250
200
400
Figure 5.15: Evolution of generalised configuration variables over time: The independent body velocity formulation
(left) compared to the relative body velocity formulation (right) with actuation by joint torques.
In Figure 5.14, snapshots of the resulting motions are illustrated for both formulations. The
upper line shows snapshots of the motion resulting with an independent velocity formulation,
while the lower line shows the motion when using a relative velocity formulation. Obviously,
the same joint torque actuation yields the same motion for both formulations.
49
5 Rigid multibody formulation
0 5 10 15 20 25−8
−6
−4
−2
0
2
4
6x 10
−13
L1
L2
L3
0 5 10 15 20 25−6
−4
−2
0
2
4
6
8x 10
−13
L1
L2
L3
Figure 5.16: Angular momentum consistency for the independent body velocity formulation (left) and for the relative
body velocity formulation (right) for an actuation by joint torques.
0 5 10 15 20 25−4
−3
−2
−1
0
1
2x 10
−15
g1
g2
g3
g4
0 5 10 15 20 25−1.5
−1
−0.5
0
0.5
1
1.5x 10
−15
g1
g2
g3
g4
Figure 5.17: Constraint fulfilment for the independent body velocity formulation (left) and for the relative body
velocity formulation (right) for an actuation by joint torques.
The evolution of the resulting generalised configuration variables is depicted in Figure 5.15
over simulation time, validating that the resulting motion is the same using the two different
formulations. The upper two subplots illustrating the rigid body translation and rotation of the
first body are equal and only the lower subplot showing the generalised configuration variables
related to the motion around the axes of the cardan joint differ because of the independent
(right hand part of Figure 5.15) and the relative description (left hand part of Figure 5.15)
Again, as in the first part of the example, angular momentum is represented consistently for
both formulations, i.e. the change in angular momentum is only and exactly coming from the
joint torque actuation. The difference of the change in angular momentum in every time step
and the actuating joint torques is depicted in Figure 5.16 and is obviously zero to numerical
50
5.2 Joint connections and constraint reactions
accuracy. Moreover the constraints are fulfilled exactly for both formulations, see Figure 5.17.
Consequently this means that for multibody systems actuated only by joint torques with zero
initial velocity the chosen relation between body velocities has no influence on the resulting
motion. This is of particular interest when one aims at computing analytical gradients of the
constraints and cost function within an optimal control simulation. Usually a formulation with
relative body velocities can be differentiated much easier, as for a formulation with independent
body velocities the derivative of the inverse rodrigues formula is needed, which is difficult to
obtain. Within this work, both formulations are used but in particular when it comes to
muscle actuated motions, where analytical gradients are mandatorily needed, the focus is on a
formulation with relative body velocities.
51
6 Muscle actuation
For the modelling and simulation of muscle force generation, there exist different approaches
concerning their attention to the details of tissue behaviour. More precisely, one distinguishes
mainly between models with a focus on the inner muscle function that describe the microscopic
muscle tissue behaviour in detail and more black-box like models characterising the muscle be-
haviour with a simple input-output force generation [Zaja 89]. The well-known Huxley muscle
model [Huxl 57], to cite an example for detailed muscle models, contains an explicit represen-
tation of the the cross-bridge dynamics and the sliding filament theory. Generally, such models
are widely used for comprehension of laboratory behaviour of isolated muscles or muscle units
[Will 11].
If one is interested more in the general macroscopic muscle behaviour during force generation,
e.g. for the implementation within biomechanical or even optimal control simulations, empir-
ical models as presented in [Hill 38, Zaja 89] are commonly used, see also [Boge 98, Wint 90,
Geye 10, Geye 03, Lim 03]. The reason for this is at least twofold. On the one hand, the
detailed structure of muscle tissue is still unknown for many muscles and the large variety
in muscle arrangement and structure from subject to subject requires elaborate models. On
the other hand, a detailed description of the inner tissue structure is often not relevant when
focussing on the overall motion behaviour of a biomechanical multibody system. Hence, the im-
plementation of more detailed muscle models complicates matters unnecessarily. Nevertheless,
it is of high interest to improve those one dimensional, empirical Hill-type models with more
physiologically correct models that cover also the three dimensional muscle behaviour. Steps
towards this direction and approaches for such models are for example given in [Rohr 13].
This chapter provides an overview on the implemented Hill-type muscle models within this
work. Beginning with forward dynamics simulations, a typical Hill-type muscle model with
three components is combined with the symplectic-momentum method. The influence of struc-
ture preservation on the simulation of simple, muscle actuated motions is examined in several
examples comparing computations with the symplectic-momentum method to computations
with a Matlab/Simulink model using Matlab’s fixed step ode solvers.
In a further step, a muscle model is composed for the application with optimal control sim-
ulations. Thus, inner muscle dynamics is neglected in this first step and the model is set up
without a second serial elasticity. Furthermore, the functional muscle behaviour is smoothed
to facilitate the derivation of analytical gradients of the optimal control problem (ocp).
The final section of this chapter describes an approach to calculate the muscle paths around
joints and bodies in order to represent a dynamically changing muscle wrapping around bones,
see also [Maas 13a, Maas 13b]. Here, it is supposed that muscles follow the shortest path
between origin and insertion point, as there is always a muscle tone present, even at rest
[Wink 10, Garn 00, Mars 08, Stav 12]. First, an approach on minimising the path length in
each time step such that the path does not intersect bodies and joints is presented, which is fre-
quently used in the literature in a similar way denoted as energy string method (ESM), see for
53
6 Muscle actuation
example [Mars 08]. Secondly, a semi-analytical procedure is described to obtain this path via a
G1 (geometric) continuous combination of geodesic curves around smooth bodies like cylinders
an spheres. In contrast to other (root-finding) approaches like for example [Stav 12, Scho 13],
the main focus of the presented muscle path algorithm is on the reduction of computational
effort to enable the implementation within optimal control simulations, while not loosing too
much accuracy in muscle path length and force directions.
6.1 Hill-type muscle models
In biomechanical simulations, the actuation of multibody systems is often generated by Hill-
type muscle models [Hill 38] instead of joint torque actuation, enabling the possibility to draw
more realistic physiological conclusions from the simulations, see for example [Zaja 89, Geye 03,
Sieb 08, Geye 10].
If one aims at investigating biomechanics and dynamics of human locomotion, it is a key task
to describe the properties of this musculotendon system and to build up muscle models that
represent its properties in an accurate manner [Wint 90]. In general, the muscles connect
body segments, stabilise the skeleton structure and enable the CNS to control movements. By
excitation, the CNS requests certain muscles to create forces that are applied to bones and
joints via tendons. Thereby, the resulting muscle forces also depend on static and dynamic
effects.
Several models describing the dynamical behaviour of isolated muscles have been developed,
for example by [Epst 98, Wint 90]. Most of them are based on the findings of [Hill 38], who in
particular discovered the force-velocity relation of muscles. However, most of these models do
not or hardly take into account passive muscle forces. One possibility to represent these passive
muscle forces is for example shown in [Zaja 89] or [Sieb 08]. Typically, one or more parallel
(PEC) or serial (SEC) elastic components are combined with a contractile component (CC).
Depending on the arrangement of these additional elasticities, the muscle behaviour changes
significantly. Two typical arrangements of a contractile element with two elasticities are shown
in Figure 6.1.
Figure 6.1: Two typical Hill-type muscle models with different arrangement of parallel and serial elasticities.
The main difference of these models shows up when calculating the resulting muscle force. If
the PEC is in parallel to the contractile element only and the SEC is serial to both of them
(see left hand part of Figure 6.1), the muscle force Fm ∈ R+ can be computed from the forces
of the single components FCC ∈ R+, F SEC ∈ R+ and F PEC ∈ R+ via
Fm = FCC + F PEC = F SEC (6.1)
54
6.1 Hill-type muscle models
In contrast to that, for a model as illustrated in the right hand part of Figure 6.1, where the
SEC is in series to the contractile component only and the PEC is in parallel to both of them,
the muscle force can be calculated by
Fm = FCC + F PEC = F SEC + F PEC (6.2)
In the first section of this chapter, the focus is on a Hill-type muscle as illustrated in the left
hand part of Figure 6.1, as according to the results of [Sieb 08], this model represents the
experimentally observed behaviour best. Based on the experimental data of a rat muscle (mus-
culus gastrocnemius medialis) identified by [Till 08], this model is used to give an overview
on the influence of a structure preserving integrator on simulations that include muscle actua-
tion. In particular, the dynamics of the systems are described with the symplectic-momentum
method on the one hand and on the other hand, commercial ode integrators provided by Mat-
lab/Simulink are used to solve the equations of motion. The results are compared concerning
angular momentum and energy consistency as well.
When investigating fast motions within dynamical simulations, the muscle model illustrated in
Figure 6.1 can lead to certain difficulties. Generally, an inner iteration is needed to evaluate
the length of the CC element. In particular sudden changes of activations may yield numerical
problems within the solution procedure of this inner iteration. This motivates the set up of a
simplified Hill-type muscle model for the use within optimal control problems, which circum-
vents these problems. Moreover, there is a special focus on using differentiable approaches on
force-length and force-velocity behaviour of the muscles in order to be able to evaluate analyti-
cal gradients of the optimal control problem. Further on, an arrangement with only one parallel
elastic component is chosen, to enable a simple discretisation of the muscle forces within the
symplectic-momentum scheme. The challenges in the implementation of an additional serial
elasticity are discussed at the end of this section.
6.1.1 The influence of structure preservation on simulations of muscle
actuated movements
This section is mainly based on [Maas 12a], wherein for first investigations with forward dy-
namics simulations, a muscle model described in [Sieb 08] is implemented. Herein, the PEC
is in parallel with the CC and both of them are connected to a SEC, see left hand part of
Figure 6.1. The muscle parameters used in the simulations are given in the Appendix C.1.
Using this model, the difference between the single forces in the SEC and the PEC equals the
force of the CC, which can be described by a typical multiplicative approach as introduced by
[Soes 93]
F SEC − F PEC = fl fv A(t) Fim (6.3)
Herein, Fim ∈ R is the maximal possible active isometric force of the muscle, a parameter
determined in experiments, while fl ∈ R and fv ∈ R are factors that describe the force-length
and force-velocity property, respectively.
The muscle activation state A(t) ∈ R as a function of time can for example be described by
55
6 Muscle actuation
an exponential function and the stimulus St ∈ R
A(t) =
{St − e−
t
c , St −A0 > e−t
c
A0, St −A0 ≤ e−t
c
(6.4)
The time constants of calcium influx from the sarcoplasmic reticulum into the sarcoplasm are
represented by c ∈ R, as described in [Sieb 08]. To avoid division by zero when isolating fv in
(6.3), A(t) needs to be at least equal to the pre-activation of the muscle A0 ∈ R+.
6.1.1.1 Properties of the serial and parallel elasticities
According to [Wint 90], F SEC depends on the SEC length change ∆lSEC with reference to a
start length, as follows
F SEC(∆lSEC) =
F1
eksh − 1
e
ksh∆lSEC
∆lSEC1
− 1
, 0 < ∆lSEC < ∆lSEC1
F1 + kel(∆lSEC −∆lSEC1
), ∆lSEC1 ≤ ∆lSEC
(6.5)
At the force F1 and the corresponding elongation ∆lSEC1 this relationship changes from expo-
nential to linear, the parameter kel can be calculated from
kel =F1
eksh − 1
ksh∆lSEC1
eksh (6.6)
where the dimensionless shape parameter ksh ∈ R has to be determined by experiments.
The force-elongation relationship of the PEC depends on the PEC length change ∆lPEC with
reference to a start length and is taken from the work of [Brow 96], using the parameters
k1, k2 ∈ R
F PEC(∆lPEC) =
k1
(ek2·∆lPEC
− 1), ∆lPEC > 0
0, ∆lPEC ≤ 0(6.7)
6.1.1.2 Force-length relation of the contractile component
The force-length relation of the CC is described by a piecewise linear function according to
[Sieb 08]
fl(lCC) =
fcl2 − l1
(lCC − l1), l1 ≤ lCC ≤ l2
fc +fc − 1
l2(lCC − l2), l2 < lCC ≤ 0
1, 0 < lCC ≤ l3
1 +−1
l4 − l3(lCC − l3), l3 < lCC ≤ l4
0, lCC < l1 ∨ lCC > l4
(6.8)
56
6.1 Hill-type muscle models
where fc ∈ R is the force factor, at which the ascending limb changes slope, lCC is the length
of the contractile component and l1, l2, l3 and l4 are specific lengths that are crucial for the
sarcomere force-length relationship, see Figure 2.10.
6.1.1.3 Force-velocity relation of the contractile component
The second important property of muscles is their force-velocity behaviour. In this work, we
use the Hill hyperbola for concentric contractions [Hill 38]. An illustration of this behaviour
is given in Figure 2.11. The parameter fv is defined by the maximal possible contraction
velocity vCCmax ∈ R−, the actual contraction velocity vCC ∈ R and a parameter γ ∈ R to
fit the curvature. The eccentric part is described by a mirrored hyperbola [Soes 93], with
experimentally determined constant parameters B1, B2, B3 ∈ R. With these quantities, the
factor fv can be calculated
fv(vCC) =
vCCmax − vCC
vCCmax +
vCC
γ
, vCC < 0 (concentric part)
B1
vCC
vCCmax
− B2
+B3, vCC ≥ 0 (eccentric part)
(6.9)
Later on, we denote the inverse relation of the function (6.9) by vCC(fv).
6.1.1.4 Discrete actuation by muscle forces
The dynamical system considered is actuated by discrete muscle forces and gravity. This
actuation changes the discrete configuration and with it, the length of the musculotendon
complex lm ∈ R. Using a muscle model as shown in the right part of Figure 6.1, the actual
muscle length lmn depends on the lengths of the muscle model components, as described in
[Sieb 08]. Due to the actual muscle length and due to a certain activation level A(tn) evaluated
at the discrete time node tn, the length of the SEC and PEC change. Via equation (6.5) and
(6.7), this results in new forces F PECn and F SEC
n , respectively. With fln resulting from (6.8),
we can evaluate fvn via (6.3). Inverting (6.9) finally yields vCCn . The CC changes its length
with respect to a start length during one time interval [tn, tn+1] depending of the contraction
velocity of the muscle. This length change ∆lCCn+1 is derived via numerical integration of vCC
n ,
in our case, we use a trapezoidal rule
∆lCCn+1 −∆lCC
n
tn+1 − tn=
1
2
(vCC(fvn) + vCC(fvn+1
))
(6.10)
The resulting muscle force F SECn actuates the dynamical model and leads to a new muscle
length lmn+1. From now on, F SEC will therefore be called Fm. A schematic overview over the
simulation workflow is given in Figure 6.2.
57
6 Muscle actuation
given: lmn , ∆lCCn , A(tn)
· calculate ∆lSECn
· calculate ∆lPECn
· calculate Fmn = F SEC
n with (6.5)
· calculate F PECn with (6.7)
· calculate fln via (6.8)
· calculate fvn via (6.3)
· calculate vCCn via inverse of (6.9)
numerical integration of vCCn
· ∆lCCn+1 from (6.10)
actuate dynamic simulation with Fmn
· lmn+1
repeat the procedure with
new iteration counter n + 1
Figure 6.2: Dynamic simulation actuated by muscle forces: algorithm (left) and schematic workflow (right).
6.1.1.5 Numerical examples
Note that within this work, we focus on a multibody formulation involving a constant mass
matrix, which yields advantages in the numerical behaviour. For both examples shown in this
section, the complete models containing both the dynamics and the nonlinear Hill-type muscle
are build up in Matlab/Simulink. The ode solver used during the simulations is selected via the
Matlab/Simulink solver configuration pane. For the symplectic-momentum method, the model
is completely transferred from Matlab/Simulink to Matlab using the procedure described in
the last sections.
Problem formulation of example E1: Muscle lifting a point mass In a first example, we
examine the simple 1-dimensional problem, see left hand plot in Figure 6.3, where the muscle
model introduced in the last chapter is applied to lift a point mass. Herein, the point mass is
described by configuration variable q ∈ R and a mass mq ∈ R, while gravity is given by g ∈ R.
We use the previously described standard Matlab/Simulink integrators and the symplectic-
momentum method to solve this problem and compare the results. With the Lagrangian
L(q, q) =1
2mq2 −mgq (6.11)
the Euler-Lagrange equations of motion can be formulated for this problem
mq −mg −GFm = 0 (6.12)
with G ∈ R being a gearing factor representing the ratio between muscle lever arm and outer
lever arm, as illustrated in the right part of Figure 6.3.
58
6.1 Hill-type muscle models
Figure 6.3: Muscle lifting a point mass: with gearing G = 1 (left, E1a) and with different gearing factors (right,
E1b).
In the first part of this example (E1a) we use a gearing factor of G = 1 and compare accu-
racy and energy consistency of the Matlab/Simulink integrators and the symplectic-momentum
method. Typical skeleton gearing factors (ratio of muscle lever arm and outer lever arm) are
non-constant in the range from 0.1 up to 1. This means that muscle forces get scaled by geo-
metric effects.
In the second part of this example (E1b), the influence of a different mass and gearing factor
is studied. In this example, energy consistency means that the change in total energy of the
system ∆En+1 in each time step of the movement does exactly represent the (muscle) work
that is performed in this time step
∆En+1 = En+1 − En =
∫ tn+1
tn
Fm q dt (6.13)
Thus, we can define an absolute energy error Echec, which is the difference between change in
energy and muscle work per time step. Echec has to be zero for every time step to ensure that
the simulation exactly represents the energy of the real system, i.e.
Echecn+1= ∆En+1 −
∫ tn+1
tn
Fm q dt = 0 (6.14)
In every time step, the percentage value of the actual error Echecn with respect to the value of
the actual muscle work
WMn+1=
∫ tn+1
tn
Fm q dt (6.15)
yields the relative energy error
Eerrn = 100 ·Echecn
WMn
[%] (6.16)
To compare the accuracy of the simulation methods, we use an averaged error σ(qsol) over N
time steps for a solution qsol related to the reference solution qref with ∆tsol > ∆tref that can
59
6 Muscle actuation
be calculated from
σ(qsol) =1
N
N∑
n=1
‖ (qsoln − qrefn) ‖ (6.17)
Numerical results E1a: Accuracy and energy consistency First of all, we compare the con-
vergence of the solutions of all three integrators using a reference solution qref computed with
a small time step of ∆t = 10−6s with the symplectic-momentum method. In Figure 6.4, the
convergence of the two fixed step Matlab/Simulink integrators and the symplectic-momentum
method is shown. Theoretically, we expect a higher accuracy for the Matlab/Simulink in-
tegrators because of the underlying fourth order accurate Runge-Kutta integration scheme
instead of the second order accurate midpoint rule used within the symplectic-momentum
method. As expected, the Matlab/Simulink integrators show a better accuracy order for this
problem, as the slope of the logarithmic convergence plots is mostly larger and the curves
are placed below the symplectic-momentum curves. Particularly the Matlab/Simulink solver
ode14x shows the largest slope and reaches the lowest error values. Nevertheless, the symplectic-
momentum method converges with a similar slope in spite of its theoretically lower accuracy
order. In particular for the contraction velocity calculated with ∆t = 10−3s (see middle part
of Figure 6.4), the symplectic-momentum results are comparably accurate to the results of the
Matlab/Simulink integrators. One of the reasons for this good behaviour of the symplectic-
momentum method for this linear dynamic problem is the energy consistency.
−5 −4 −3−6
−5.5
−5
−4.5
−4
−3.5
−3
−2.5
symplectic momentum simulink ode8 simulink ode14
−5 −4 −3−3.5
−3
−2.5
−2
−1.5
−1
−0.5
−5 −4 −3−5
−4.5
−4
−3.5
−3
−2.5
−2
−1.5
−1
Figure 6.4: Comparison of accuracy with logarithmic convergence plots for Matlab/Simulink integrators ode8 and
ode14 and the symplectic-momentum method for E1a (m = 0.05kg, G = 1): muscle force (left),
contraction velocity (middle) and muscle length (right).
Next, we observe the influence of the different integrators on the kinematics and dynamics
(e.g. muscle length and contraction velocity) and muscle force generation for example E1a
60
6.1 Hill-type muscle models
(m = 0.05kg, G = 1). Compared to a reference solution calculated with a time step ∆t = 10−6s
with the symplectic-momentum method, the results for the symplectic-momentum method and
for both Matlab/Simulink integrators computed with ∆t = 10−3s represent the global behaviour
of the system equally well, see upper plots of Figure 6.5.
0 0.1 0.2 0.3 0.40
0.2
0.4
0.6
0.8
1
0 0.1 0.2 0.3 0.4−200
−150
−100
−50
0
0 0.1 0.2 0.3 0.435
40
45
50
55
0 0.1 0.2 0.3 0.4−200
−100
0
100
0 0.1 0.2 0.3 0.4−5
0
5
10
15
0 0.1 0.2 0.3 0.4−0.1
0
0.1
0.2
0.3
0.4
reference solution 1e−6 symplectic momentum simulink ode8 (explicit) simulink ode14x (implicit)
Figure 6.5: Simulation of E1a (m = 0.05kg, G = 1) with symplectic-momentum method, Matlab/Simulink explicit
solver (ode8) and Matlab/Simulink implicit solver (ode14x): Muscle force (left), contraction velocity
(middle) and muscle length (right) calculated with∆t = 10−3s compared to reference solution calculated
with ∆t = 10−6s with the symplectic-momentum method. Total values (upper plots) and relative
differences to reference solution (lower plots).
To save computational effort in forward dynamics simulations and especially in future opti-
mal control simulations, it is essential to use the largest possible time step that still leads to
reasonable results regarding a reference solution. For this example, the largest possible time
step is ∆t = 10−3s. There can be significant relative differences between the muscle force re-
sults in a range of 5− 15% related to the reference solution, especially at the beginning of the
movement, where the muscle force is still low (Figure 6.5, bottom left). The relative errors in
contraction velocity compared to a reference solution can reach very high values (Figure 6.5,
bottom middle). In spite of the lower accuracy order, the symplectic-momentum method shows
a good behaviour concerning the contraction velocity, even with a larger time step. Naturally,
the relative error in contraction velocity for all methods gets very high, whenever the velocity
is close to zero (Figure 6.5, middle plots). The high relative error in the contraction velocity
at t = 3.5 · 10−3s for the Matlab/Simulink integrators is not induced by this effect but depends
on the strong nonlinear behaviour of the muscle model in this time span. In the middle plot of
Figure 6.6 (zoom into the middle plot of Figure 6.5), a highly nonlinear change in the results
of the reference solution at that time gets visible.
61
6 Muscle actuation
2 3 4 5
x 10−3
0
0.2
0.4
0.6
0.8
1
2 3 4 5
x 10−3
−200
−150
−100
−50
0
2 3 4 5
x 10−3
52.985
52.99
52.995
53
53.005
reference solution 1e−6 symplectic momentum simulink ode8 (explicit) simulink ode14x (implicit)
Figure 6.6: Simulation of E1a (m = 0.05kg, G = 1) with symplectic-momentum method, Matlab/Simulink explicit
solver (ode8) and Matlab/Simulink implicit solver (ode14x) with ∆t = 10−3s compared to reference
solution calculated with ∆t = 10−6s with the symplectic-momentum method: Zoom into region with
big relative differences in muscle force (left), contraction velocity (middle) and muscle length (right).
This behaviour is captured much better by the symplectic-momentum method than by the
Matlab/Simulink integrators, all using a time step of ∆t = 10−3s. It seems that in this case the
better energy consistency of the symplectic-momentum method can balance its lower accuracy
order.
0 0.05 0.1 0.15 0.2 0.25−1
−0.5
0
0.5
1
1.5
2
symplectic−momentumsimulink ode8 (explicit)simulink ode14x (implicit)
0 0.05 0.1 0.15 0.2 0.25−5
0
5
10x 10
−7
symplectic−momentumsimulink ode8 (explicit)simulink ode14x (implicit)
Figure 6.7: Absolute energy error Echec for simulation of E1a (m = 0.05kg, G = 1) with symplectic-momentum
method, Matlab/Simulink explicit solver (ode8) and Matlab/Simulink implicit solver (ode14x): fixed
time step of ∆t = 10−3s (left) and fixed time step of∆t = 10−6s (right).
The resulting absolute energy errors for the symplectic-momentum method and for typical
standard Matlab/Simulink integrators (ode8 and ode14x) are exemplary shown for this exam-
ple E1a for a simulation with ∆t = 10−3s (left part of Figure 6.7) and ∆t = 10−6s (right part
of Figure 6.7). Both Matlab/Simulink integrators ode8 and ode14x lead to very similar results
during most of the simulation time. The calculation with a time step ∆t = 10−3s leads to an
absolute energy error Echec of maximum 1.5J. In contrast to that, the symplectic-momentum
method leads to numerical zero energy error. Reducing the time step to ∆t = 10−6s leads to
62
6.1 Hill-type muscle models
significantly lower energy errors for the Matlab/Simulink integrators as well, but nevertheless,
the error is much larger compared to the results of the symplectic-momentum method (Fig-
ure 6.7, right). To get a better understanding of the meaning of this energy error, we set the
absolute error in relation to the actual muscle work, see equation (6.16).
0 0.05 0.1 0.15 0.2 0.25−1.5
−1
−0.5
0
0.5
1
1.5
2 symplectic−momentumsimulink ode8 (explicit)simulink ode14x (implicit)
Figure 6.8: Relative energy error Eerr related to muscle work for simulation of E1a (m = 0.05kg, G = 1) with
symplectic-momentum method, Matlab/Simulink explicit solver (ode8) and Matlab/Simulink implicit
solver (ode14x) for a fixed time step of ∆t = 10−3s. For clarity and comparability the vertical axes are
cut at −1.5% and 2%.
From Figure 6.8 we can recognise that the resulting relative energy error Eerr of the Mat-
lab/Simulink integrators calculated with a time step ∆t = 10−3s can be very large, especially
if the muscle work is low, e.g. at the beginning of the movement and especially at t = 0.15s.
During the period where the muscle work is not close to zero, the percentage energy error Eerr
of the Matlab/Simulink integrators amounts to maximum 1−2%. Again, it is obvious that the
results of the symplectic-momentum method are energy consistent.
Numerical results E1b: Influence of gearing and mass on energy consistency The global
behaviour for muscle force, contraction velocity and muscle length is again nearly similar for all
methods, if one changes mass and/or gearing factors in the simulations. In the left hand part of
Figure 6.9 the absolute value of the energy error Echec for an increased mass is depicted. Again,
both Matlab/Simulink integrators lead to very similar results for most of the simulation time.
If we compare this to E1a (Figure 6.7, left), we see that the energy error of the Matlab/Simulink
results gets lower when increasing the mass to 0.2kg. Nevertheless, absolute energy errors up
to 0.3J are still possible. Decreasing the gearing to G = 0.5 and leaving m = 0.05 kg leads to a
smaller but more uniform amount of absolute energy error for the Matlab/Simulink integrators
(Figure 6.9, right) compared to the results of E1a (Figure 6.7, left). The results for the relative
energy error Eerr related to the actual muscle work are shown in Figure 6.10. In the beginning
of the movement, there is a small area with undefined energy error as the muscle work is still
zero.
63
6 Muscle actuation
0 0.1 0.2 0.3 0.4−0.1
0
0.1
0.2
0.3
0.4
symplectic−momentum
simulink ode8 (explicit)
simulink ode14x (implicit)
0 0.05 0.1 0.15 0.2 0.25−0.2
0
0.2
0.4
0.6
symplectic−momentum
simulink ode8 (explicit)
simulink ode14x (implicit)
Figure 6.9: Absolute energy error Echec for simulation of E1b with symplectic-momentum method, Matlab/Simulink
explicit solver (ode8) and Matlab/Simulink implicit solver (ode14x), ∆t = 10−3s: increased mass
m=0.2kg, G = 1 (left) and m=0.05kg, decreased gearing G = 0.5 (right).
For an increased mass (Figure 6.10, left), the relative error of the Matlab/Simulink integrators
can locally reach up to −1% at the beginning of the movement, when the muscle work is still
low. During the further movement, the relative energy error stays below 0.25% of the actual
muscle work.
0 0.1 0.2 0.3 0.4−1.5
−1
−0.5
0
0.5
1
1.5
2
symplectic−momentum
simulink ode8 (explicit)
simulink ode14x (implicit)
0 0.05 0.1 0.15 0.2 0.25−1.5
−1
−0.5
0
0.5
1
1.5
2
symplectic−momentum
simulink ode8 (explicit)
simulink ode14x (implicit)
Figure 6.10: Relative energy error Eerr related to actual muscle work for simulation of E1b with symplectic-
momentum method, Matlab/Simulink explicit solver (ode8) and Matlab/Simulink implicit solver
(ode14x), ∆t = 10−3s: increased mass m=0.2kg, G = 1 (left) and m=0.05kg, decreased gearing
G = 0.5 (right). For clarity the vertical axes of the plot are again limited to [−1.5, 2]%.
For an decreased gearing factor G = 0.5 (Figure 6.10, right), the relative energy error is getting
very large for both Matlab/Simulink integrators at t = 0.225s, because of the division by very
small values of the actual muscle work at that time. During the main part of the simulation,
64
6.1 Hill-type muscle models
the relative energy error is between 0.25% and 0.5% of the actual muscle work. Notice that
the symplectic-momentum method is energy consistent during the whole simulation and the
relative energy error is still zero, even if we divide by a very small actual muscle work.
Problem formulation of example E2: Muscle lifting an arm To investigate angular mo-
mentum consistency in addition to energy consistency of both Matlab/Simulink (toolbox Sim-
Mechanics) and symplectic-momentum results, we study a second numerical example. Herein,
an arm supported by a spherical joint at a wall, is lifted by a muscle against gravity, see
Figure 6.11.
Figure 6.11: Muscle lifting an arm (E2).
While lifting this arm, the angular momentum is not constant, but the change in angular
momentum in one time step ∆Ln+1 = Ln+1 − Ln is caused by the momenta resulting from
forces and gravity acting on the bodies (τ ∈ R3), i.e.
Lchecn+1= ∆Ln+1 −
∫ tn+1
tn
τ dt = 0 (6.18)
We simulate one single muscle contraction (E2a) as well as periodic contraction-relaxation
cycles (E2b).
Numerical results E2a: Single contraction cycle In a first simulation, we let the muscle
contract once and lift the arm during a total simulation time of one second. The results for
both Matlab integrators we investigate during this study are again very similar. Therefore, we
only illustrate the results for ode8 for this example.
The global behaviour of all simulation methods calculated at a time step of ∆t = 10−4s fits
again very well to the result of a reference solution calculated with a time step of ∆t = 10−6s.
Simulations with larger time steps than 10−4s are not possible for this example, both the
Matlab/Simulink integrators and the symplectic-momentum method do not converge or show
unreasonable results.
Even though the time step is quite small and despite the fact that there are nearly no visible dif-
ferences between the methods concerning the observed variables, the Matlab/Simulink method
still leads to significant energy and angular momentum errors, see Figure 6.12. In contrast to
that the results of symplectic-momentum method are angular momentum consistent and show
a good energy behaviour.
65
6 Muscle actuation
0 0.2 0.4 0.6 0.8 1−0.02
0
0.02
0.04
0.06
0.08
0 0.2 0.4 0.6 0.8 1−2
−1
0
1
2x 10
−4
0 0.2 0.4 0.6 0.8 1−5
0
5
10x 10
−3
0 0.2 0.4 0.6 0.8 1−1
0
1
2x 10
−5
symplectic momentum Simulink
Figure 6.12: Simulation of muscle lifting an arm with symplectic-momentum method and Matlab/Simulink explicit
solver (ode8), the muscle is stimulated for 1s. Energy (left): absolute values (top) and absolute error
per time step (bottom), angular momentum (right): absolute values (top) and absolute error per time
step (bottom).
Numerical results E2b: Periodic contraction-relaxation cycle In a further simulation, we
let the muscle contract and relax periodically for a longer time (100s), resulting in stretch-
shortening cycles which are comparable to the muscle function during cyclic loading. Starting
at the original length of lm = 52mm, the muscle is active as long as lm is larger than 47mm.
If the muscle contracts further, the activation is set to the pre-activation level A0, until the
muscle is elongated and lm exceeds 52mm again.
In Figure 6.13 and 6.14 we can see the results for energy and angular momentum during this long
term simulation. For clarity only the first and the last second of the simulation are illustrated
in the left hand parts and in the right hand parts of the Figures 6.13 and 6.14, respectively.
One can see that the Matlab/Simulink errors in energy and angular momentum consistency
per time step are still small (order of magnitude 10−3 and 10−5, respectively) but as they stay
apparent over long time they can at least partially be responsible for a phase difference at the
end of the simulation.
Summary In this section, a structure preserving simulation method is compared to com-
mercially available Matlab/Simulink integrators concerning the simulation of muscle forced
movements. Therefore, the actuation by muscle forces is included via nonlinear Hill-type mus-
cle models in a symplectic momentum preserving simulation, see Chapter 4 and [Mars 01,
Leye 08, Leye 10] for details on this integration method.
Due to the discretisation of the variational principle instead of discretising the equations of
motions of a problem, this approach leads to a structure preserving simulation framework. In
comparison, common commercially available integrators as for example the Matlab/Simulink
ode solvers can show numerical dissipation in energy and angular momentum during dynamic
simulation. Within this section, the energy and angular momentum error of standard Mat-
66
6.1 Hill-type muscle models
lab/Simulink integrators is quantified for two simple examples and compared to the results of
the structure preserving symplectic-momentum method.
0 0.2 0.4 0.6 0.8 10
0.01
0.02
0.03
0.04
99 99.2 99.4 99.6 99.8 1000
0.01
0.02
0.03
0.04
0 0.2 0.4 0.6 0.8 1−6
−4
−2
0
2
4x 10
−3
99 99.2 99.4 99.6 99.8 100−6
−4
−2
0
2
4x 10
−3
symplectic momentum Simulink
Figure 6.13: Long term simulation of muscle lifting an arm with symplectic-momentummethod and Matlab/Simulink
explicit solver (ode8): Energy evolution over time (upper plots) and energy error (lower plots). First
second (left) and last second (right) of the total simulation time of 100s.
0 0.2 0.4 0.6 0.8 1−5
0
5
10x 10
−3
99 99.2 99.4 99.6 99.8 100−5
0
5
10x 10
−3
0 0.2 0.4 0.6 0.8 1−2
0
2
4
6x 10
−5
99 99.2 99.4 99.6 99.8 100−2
0
2
4
6x 10
−5
symplectic momentum Simulink
Figure 6.14: Long term simulation of muscle lifting an arm with symplectic-momentummethod and Matlab/Simulink
explicit solver (ode8): Angular momentum evolution over time (upper plots) and error in angular
momentum (lower plots). First second (left) and last second (right) of the total simulation time of
100s.
67
6 Muscle actuation
Even the simple example of a single muscle lifting a point mass shows local differences between
the different simulation methods and it is clearly visible that energy consistency is not given us-
ing the Matlab/Simulink integrators. For more complicated forward dynamics simulations and
even more in the context of optimal control simulations, it is crucial to use the largest possible
time step in the numerical integration without losing too much accuracy to save computational
effort. Therefore it is essential to compare the energy errors resulting from calculations with
the largest possible time steps.
If one calculates a relative energy error related to the actual muscle work, the Matlab/Simulink
energy error can locally result in large values, especially in situations, where the muscle work is
low (low forces or low velocities). Even in areas with larger muscle work, the amount of relative
energy error calculated for the simulation with the maximal possible time step size can reach
up to 2% depending on mass and gearing factor. In contrast to that, the symplectic-momentum
method is energy consistent for this example. Both absolute and even the relative energy error
are always zero to numerical accuracy, no matter how low the actual muscle work is.
In a second example we additionally investigate the angular momentum consistency of the
different simulation methods. Even if the maximal possible time step size is lower for this ex-
ample, Matlab/Simulink integrators again lead to energy and angular momentum inconsistency
whereas the symplectic-momentum method represents angular momentum of the system in a
correct way and shows a good energy behaviour. During a periodically contraction-relaxation
simulation with Matlab/Simulink, these errors in angular momentum and energy stay apparent
and are suspected to at least partially influence a phase difference at the end of a long term
simulation between the results of Matlab/Simulink and the symplectic-momentum method.
We can conclude that the errors for Matlab/Simulink integrators can be significant, depending
on the time step size. Even for smaller time step sizes, the error is not negligible. In contrast
to that, the results of the symplectic-momentum method are energy consistent for the linear
problem and show angular momentum consistency and a good energy behaviour in a further
example including a joint.
To reduce errors in energy and angular momentum caused by the integrator during the simu-
lation of simple movements actuated by a single muscle (or a reduced number of muscles), it
is commonly suggested to simulate with relatively small time steps. In the case of repetitive
movements and in long-term simulations, reducing the step size may not be sufficient and using
a structure preserving method is suggested. This may be even more important in more complex
systems including many muscles and joints and in particular for optimal control simulations,
where cost functions are related to muscle work or energy and where reducing the step size can
cause a dramatical increase in computational effort.
68
6.1 Hill-type muscle models
6.1.2 Hill-type muscle model for optimal control simulations
In the last section as well as in [Maas 12b], it is shown for a typical Hill-type model with three
components that there can be a significant influence on the results, when using the introduced
structure preserving variational integrator compared to Matlab/Simulink integrators in the
context of muscle actuated motions. The presented muscle model is, due to its arrangement
with a parallel and a serial elastic component, well-suited to represent real muscle behaviour, see
for example [Sieb 08]. However, when it comes to fast dynamics and optimal control simulations,
a model with three components as illustrated in Figure 6.1 has certain disadvantages. Actually,
because of the homogenous muscle set up built of a large number of sarcomeres, the muscle force-
length relation is assumed to be proportional to the sarcomere force-length relation. Models
with three components generally contradict this assumption, as the length of the contractile
element is depending on the stretch of the SEC as well.
For the muscle force-velocity relation this is even more obvious. Let the muscle force be suddenly
reduced while the muscle is contacting, for example by a sudden reduction in activation. Then
the shortening velocity of SEC is fast, resulting in a sudden stretch of the CC-element, while the
outer muscle velocity is still contracting. That means according to the model, both velocities
can be directionally opposite within a simulation, which contradicts the sliding filament theory
(see Section 2.4). Additionally, this naturally yields numerical problems in the inner iteration
scheme. A sudden stretch in the CC element yields a sudden increase in the fv factor and a
sudden change in the fl behaviour, which both can increase the CC force although the outer
muscle force is supposed to decrease. Therewith numerically finding an equilibrium can be
difficult.
Moreover, if a sudden relaxation of the muscle occurs due to the dynamical behaviour of the
model, i.e. a passive contraction, it may occur – depending on the experimentally determined
parameter set – that the parallel elasticity still produces a force. This results in negative fvvalues, that are not properly defined, or in other words, this requires the muscle to produce at
least small compressive forces on the bones (see also [Gunt 97]), which is not realistic as well.
The numerical meaning of such issues appears when implementing such a model in an optimal
control framework. During the iterations of the optimiser, several not necessarily realistic
configurations are tested and the problems described above appear more often compared to
forward dynamics simulations. If during the optimisation procedure fl or A reach zero, fv is
not defined, causing an abortion of the simulation.
One possibility to treat such problems is to decrease the time step size in the inner muscle
iteration scheme, naturally accompanied by an increasing simulation time. Certainly, this can
be completely avoided by case decisions and setting hard limits on fl, fv and A to stay larger
than zero, but then the resulting contraction velocity of the CC is insufficiently slow to reach
an equilibrium state of the muscle model within a Newton iteration procedure. Furthermore,
the need of such stringent bounds on the optimisation variables means a limitation to interior
point algorithms as active set algorithms may violate bounds during the iterations. At this
stage, it seems that the only remedy is to include the inner muscle velocity as a state variable
into the dynamics simulation framework, similarly proposed by [Gunt 97], which is a future
topic not included in this work.
Besides, implementing gradients to improve the performance of the optimal control simulations
69
6 Muscle actuation
is difficult in the case of the presented muscle model in the last section. In particular the
force-length relation may lead to problems because of its non differential transitions between
the piecewise linear relations as illustrated in Figure 2.10. Altogether, these issues motivate the
implementation of a Hill-type muscle model with only one parallel elasticity into the optimal
control framework, see Figure 6.15.
Figure 6.15: Hill-type muscle model with a contractile component and a parallel elastic component.
Here, the discrete scalar force amount of the muscle force Fmn in a time interval [tn, tn+1] can
be calculated via Fmn = FCC
n + F PECn . Assuming the parallel elasticity of the muscle to be
proportional to the discrete length of the muscle element lmn with the proportionality constant
kp and introducing a discrete muscle activation An in the time interval [tn, tn+1] yields
Fmn = fl (l
mn ) fv(v
mn ) An F im
max + kp lmn (6.19)
where fl (lmn ) ∈ [0, 1] is a function describing the force-length relation of the muscle and
fv(vmn ) ∈ [0, 1.4] denotes the Hill-hyperbola like force-velocity relation, which now depends on
the complete outer muscle length lmn ∈ R and velocity vmn ∈ R. The contraction velocity of the
muscle is approximated via vmn =lmn+1 − lmn
∆t. The muscle force τm
n acting on the body is given
by the product of the scalar force value and the force direction rn.
τmn = Fm
n rn (6.20)
6.1.2.1 Force-length behaviour
In (6.19), the force-length relation of the muscle model is specified via the function
fl (lmn ) =
(−1
(lopt − lmin)2(lmn − lopt)
2 + 1
)if lmin < lmn < 2lopt − lmin
0 else(6.21)
where lopt ∈ R+ is the optimal muscle length yielding fl = 1. By adapting the muscle
parameters lopt and lmin ∈ R+ to the geometry of our model, it is ensured that fl is mostly in
the parabolic part. An illustration of the parabolic function fl(lmn ) is given in Figure 6.16. For
simplicity, the ratiolmin
loptis chosen to be equal for all muscles.
70
6.1 Hill-type muscle models
0 0.5 1 1.5 2
0
0.2
0.4
0.6
0.8
1
Figure 6.16: Example of a parabolic force-length behaviour.
6.1.2.2 Force-velocity behaviour
As in the muscle model with three components described in the previous section, the force-
velocity behaviour of a muscle is modelled with the typical Hill-hyperbolic relation, see Fig-
ure 2.11
fv(vmn ) =
vmmax − vmn
vmax +vmnγ
, vmn < 0 (concentric part)
B1
vmnvmmax
−B2
+B3, vmn ≥ 0 (eccentric part)(6.22)
Note that in contrast to (6.9), the contraction velocity vmn of the muscle is the outer velocity of
the muscle model and needs not to be determined with an inner iteration scheme. For the lack
of experimental data for arm muscles, a value of vmmax being −2 lopt per second up to −20 lopt per
second is used to keep the fv value in a realistic range during the optimal control simulations. All
other parameters are used as described in Section 6.1.1, see also [Sieb 08, Maas 12b, Maas 12a].
Specific parameters for the muscles used to simulate the elbow actuation in the later part of
this work are given in the Appendix C.2.
6.1.2.3 Discrete muscle forces
For the use within a symplectic-momentum scheme as given in (4.14), the discrete forces f+n−1
and f−
n can now directly be calculated with
f+n−1 =
h
2BT (qn) · τ
mn−1 =
h
2BT (qn) ·
[Fmn−1(qn−1, qn) r
mn−1
](6.23)
f−
n =h
2BT (qn) · τ
mn =
h
2BT (qn) ·
[Fmn (qn, qn+1) r
mn
](6.24)
71
6 Muscle actuation
6.2 Dynamics of the muscle path
The essential task of the muscle models presented above is to represent the typical force-length
and force-velocity relation of real muscles. Hence, the muscle length, the contraction velocity
and the force direction of every muscle has to be provided in every time step of a dynamical
simulation. This section addresses the question, how to approximate the muscle path during
a dynamical simulation such that its dynamically changing behaviour is represented, while the
computational effort is kept in a reasonable range, allowing the application within optimal
control simulations of biomechanical motion.
As this topic is of high interest for dynamical investigations in biomechanics, a lot of research
has been performed in this area during the last decades. Several studies use an alterable num-
ber of artificial ’via’ points or ’wrapping’ points to relate the muscle path to the joint angle
[Murr 95, Sher 10]. The determination of such artificial points requires a lot of anatomical
knowledge, which is not yet available for all biomechanical structures and the results are quite
sensitive to the location of such points. Further on, a dynamical sliding of muscle paths around
a joint during a dynamical simulation can not be represented with this approach.
Other approaches are based on the idea, that a muscle tone is always present, even at rest (see
for example [Wink 10]), which leads to the conclusion that tendons and muscles are supposed
to follow the path of minimal distance between two insertion points, while not intersecting the
bones. To capture this fact together with a sliding of the muscles around bones and other
structures, several iterative or optimisation based methods are developed, in order to solve
the upcoming nonlinear equations, see [Garn 00, Mars 08, Stav 12, Scho 13], to mention just a
few. In [Mars 08], an optimisation based method is compared to an analytical approach for a
sphere-cylinder shaped bone coupling. The ’obstacle-set method’ presented in [Garn 00] deliv-
ers a versatile algorithm to find a muscle path by case decisions for arbitrary coupled mostly
smooth ’obstacle’ bodies like spheres and cylinders. For certain kinds of obstacle couplings,
e.g. two cylinders around the elbow, the upcoming nonlinear equations can not be solved an-
alytical. For such cases, [Garn 00] suggest a root-finding algorithm. In [Stav 12, Scho 13], a
more general approach on finding shortest paths on arbitrary surfaces is investigated. Therein,
also a root-finding algorithm is suggested in the solution procedure.
When implementing such methods in ocp frameworks, the main issue that arises, is the signifi-
cant increase in computation time. Within an optimal control problem, the path of each muscle
has to be computed in each time step during each step of the ocp iteration. If the computation
of a single path then requires an iteration schemes like root-finding or the solution procedure of
an inner optimisation problem, this leads to an immense total computation time. In particular,
to be able to compute problems that comprise an large number of optimisation variables and
involve a large number of muscles, it is necessary to find an appropriate simplification here
without introducing unnecessary modelling errors.
In this chapter, two different approaches to muscle path computation are illustrated. First, an
optimisation based method, similar to the ESM method presented for example in [Mars 08], is
examined. Here, an optimisation problem is formulated with the goal to minimise the length
of a tendon/muscle path between origin and insertion point over a joint, such that the path
does not intersect the bodies. For this purpose, the muscle path is discretised with several
elements. Solving this problem yields an approximation to the length of the muscle path. The
72
6.2 Dynamics of the muscle path
force direction at the insertion points is given via the normalised direction of the first and the
last element. This is a very robust and simple formulation of the problem. However, using an
optimisation procedure like this during forward dynamics or optimal control simulations leads
to several problems as explained above.
Therefore, in a second step, the intend is to reduce computational effort in finding the path of
minimal length around bodies and joints with an algorithm that determines this path as a G1
(geometrical) continuous combination of known geodesic paths, in a similar way as shown in
[Garn 00]. The benefit of our method is the strong orientation towards a short computation
time, meaning to arrange the algorithm such that the most simple path is checked first and the
overall number of operations is reduced therewith.
In space, without an obstacle, the most simple and shortest path between two points is a direct
line, while on the surface of a cylinder, the shortest path between two points is a helix. Thus, the
algorithm uses G1-continuous combinations of straight lines (wherever possible, i.e. whenever
the straight line does not intersect the bodies or joints) and helices. Note that G1-continuously
joined curves share tangential directions, while the length of the tangent vectors might differ.
The length of the muscle path can directly be calculated as the sum of the length of the sin-
gle parts and the force direction is given via the tangent vector at the insertion point. The
simulation time can be significantly reduced by using this case dependent and therefore semi-
analytical algorithm, whereas the resulting force direction and path length are comparable to
those obtained via optimisation. However, for certain rigid body configurations, the problem
of finding the minimal path cannot be solved analytically. Here, in contrast to [Garn 00], we
do not use a root finding algorithm, but we use the best fitting path from those tested before,
which can be solved within a reasonable amount of computation time considering the solution
of the complete ocp. Furthermore, the problem of finding appropriate initial guesses for the
root-finding procedure is circumvented and analytical gradients of the muscle path with respect
to the configuration of the rigid bodies can be derived much easier and without the need to use
an implicit function theorem. This is mandatory for the computation of the complete analytical
gradients of the ocp. As we use a direct transcription method, i.e. the ocp is transformed into
a constrained optimisation problem, we can use gradient based methods like sqp (sequential
quadratic programming) to solve the problem. Naturally, providing analytical gradients signifi-
cantly improves accuracy and crucially reduces the computation time of the solution procedure
of the complete ocp.
6.2.1 Optimal muscle path
Assuming that the muscles and tendons are always under tension, they are supposed to follow
the path of minimal distance between two insertion points. This approach includes effects like
dynamical sliding of the muscles around joints and bodies during a motion. One possibility
to find this path is to minimise the length of a muscle path between two insertion points over
a joint, so that the path does not intersect the bodies Kj. Let the path of a musculotendon
complex be discretised with ne +1 elements with the element length lei. Then we get ne nodes
Ei ∈ R3 between the insertion points p1 ∈ R3 and p2 ∈ R3, which are summarised in the
optimisation variable E = [E1,E2, . . . ,Ene] ∈ R3ne . The constrained optimisation problem
73
6 Muscle actuation
reads
minE
lm =minE
[‖p1 −E1‖+ ‖Ene
− p2‖+ne−1∑
i=1
‖Ei −Ei+1‖
]
such that: ·Ei /∈ Kj for j = 1, . . . , K
·lemin< lei < lemax
for i = 1, . . . , ne + 1
(6.25)
As an initial guess, the direct connection between p1 and p2 is discretised with ne + 1
elements, which is the minimal possible distance when neglecting the constraints. To ensure
that the nodes stay outside the bodies, we constrain the distance between each element node
Ei and the longitudinal axis of the bodies to stay larger than the radii of the cylinders r1, r2and the joint rJ . The fulfilment of these inequality constraints is checked via the algorithm
illustrated in Table 6.1. Here, l1 and l2 denote the longitudinal length of the two cylinders,
respectively. Additionally, the length of the elements has to stay between certain boundaries,
as shown in (6.25).
Table 6.1: Algorithm 1 determines whether a muscle path intersects the bodies.
· straight lines through longitudinal body axis
x = ϕ1 + λ1d13 x = ϕ2 + λ2d
23 λ1, λ2 ∈ R
· planes through Ei with normal vectors equal to longitudinal body axis
(x−Ei)T · d1
3 = 0 (x−Ei)T · d2
3 = 0
· calculating λ1 and λ2 via insertion
λ1 = (Ei −ϕ1)T · d1
3 λ2 = (Ei − ϕ2)T · d2
3
· limit cases
if λ1 > l1 λ1 = l1, if λ1 < −l1 λ1 = −l1if λ2 > l2 λ2 = l2, if λ2 < −l2 λ1 = −l2
· distance between longitudinal body axes and node/distance between joint center and node
xe1 = ϕ1 + λ1d13 d1 = ‖xe1 −Ei‖
xe2 = ϕ2 + λ2d23 d2 = ‖xe2 −Ei‖
xe3 = J2 d3 = ‖xe3 −Ei‖
· inequality constraints for each node Ei
[r1 − d1, r2 − d2, rJ − d3] < 0
6.2.2 Semi-analytical path procedure for smooth bodies and joints
The length of the muscle path and its direction at the insertion points is needed during forward
dynamics and optimal control simulations. Using an inner optimisation procedure, as described
in the previous section, to find this path leads to several problems. First, the calculation is
very expensive. Note that within an optimal control simulation, this path calculation has to
be executed in every function call, for every muscle and in every time step.
74
6.2 Dynamics of the muscle path
Table 6.2: Algorithm 2 determines the muscle path around smooth bodies and joints analytically.
step 1 test whether a direct line between the insertion points p1 and p2 exists, that does not intersect
the bodies or the joints (using algorithm 1)
if yes: direct line is the shortest possible path
; calculate path length and force directions via (6.27)
else go to step 2
step 2 test whether p∗
2 ∈ K2 exists, such that
· a direct line from p1 to p∗
2 exists that does not intersect the bodies or the joints
· the transition between the direct line from p1 to p∗
2 and the helix from p∗
2 to p2
is G1-continuous
if yes: line-helix combination is the shortest possible path
; calculate length of the path via (6.35) and force directions via (6.36)
else go to step 3
step 3 test whether p∗
1 ∈ K1 exists, such that
· a direct line from p∗
1 to p2 exists that does not intersect the bodies or the joints
· the transition between the direct line from p∗
1 to p2 and the helix from p1 to p∗
1
is G1-continuous
if yes: helix-line combination is the shortest possible path
; calculate length of the path via (6.39) and force directions via (6.40)
else go to step 4
step 4 if each of the previously tested connections intersects the bodies
; take the connection which least intersects the bodies
Say we use a model with 7 muscles, one function call of the optimal control simulation includes
20 time steps, and the optimal control procedure needs 10000 function calls, then this yields
a total number of 1.4 million inner optimisations. Secondly, analytical gradients for optimal
control simulations are difficult to calculate, since in this case the muscle length and force
directions are then the solution of a parameter dependent optimisation whose parameters are
related to the actual configuration.
Due to the presence of mostly smooth bodies and joints like cylinders and spheres in the model,
we can make use of known analytical descriptions of shortest paths on and around the surface
of these bodies and combine them with simple logical considerations. If a direct line between
two insertion points p1 and p2 does not intersect the bodies or the joints, this is the path of
minimal length. Further on, if a direct connection between the two points intersects the bodies
or joints, we know that the shortest path on the surface of a cylinder is a helix given by
xh(t) = ϕ+[d1 d2 d3
]·
r cos(2πth)
r sin(2πth)
h th + c
(6.26)
where ϕ ∈ R3 is the placement vector to the center of mass of the cylinder,[d1 d2 d3
]is an
orthonormal body frame representing its orientation in space, th ∈ [0, 1] is the parametrisation
variable of the helix, r ∈ R+ is the radius of the cylinder, h ∈ R is the pitch and c ∈ R is a
75
6 Muscle actuation
parameter for a displacement in longitudinal direction.
With this we can economise computational effort in finding the path of minimal length around
bodies and joints with the algorithm illustrated in Table 6.2. In the different steps of the algo-
rithm, several calculations have to be executed, which are explained below.
step 1 The algorithm shown in Table 6.1 can be used to test if the direct line intersects bodies
and joints. If this is not the case, the direct line is taken as muscle path, with the length lm and
the force directions rm,1 and rm,2 on the first and second body’s insertion points, respectively.
lm = ‖p2 − p1‖, rm,1 =p2 − p1
‖p2 − p1‖, rm,2 =
p1 − p2
‖p2 − p1‖(6.27)
step 2 Supposing that the path of the muscle is redirected around smooth bodies, the path of
this muscle is required to be G1-continuous, i.e. the tangent vectors at the transition between
line and helix need to have the same direction, while their lengths may differ.
Figure 6.17: Example of typical muscle paths around the elbow: the analytical line-helix solution (left) and the
solution of a 30 node optimisation (right).
If the muscle path starts for example on the front side of a cylinder in p1, see Figure 6.17, and
ends at the back side of another one in p2, the path is a combination of a direct line form p1
in direction to the second cylinder’s front and a helix from front to back of the second cylinder
ending at p2, see Figure 6.17. Demanding the transition between the direct line and the helix
to be G1-continuous, a transition point p∗
2 can be calculated. Let the equation of a direct line
between the insertion point p1 and the transition point p∗
2, as well as its derivation with respect
to its parametrisation variable tg, be given by
xg(tg) = p1 + tg(p∗
2 − p1), x′
g(tg) = p∗
2 − p1 (6.28)
76
6.2 Dynamics of the muscle path
Note that due to G1-continuity, a normalisation of the direction vector of the straight line is
not necessary. The helix on the second cylinder can be described as illustrated in (6.26). At
the insertion point p2 on the second cylinder, this yields
xh(thN) = ϕ2 +R2 ·
r2 cos(2πthN
)
r2 sin(2πthN)
h2 · thN+ c2
= p2 (6.29)
with R2 =[d21 d2
2 d23
]. This leads to the parameter thN
=1
2πatan2 (a2, a1) at the helix end
point p2 with a = [a1, a2, a3]T = (R2)T · (p2 − ϕ2) and c2 = a3 − h2 thN
. Using the function
atan2 enables the computation of the correct quadrant. At p∗
2, the helix starts with th0and we
get a tangent vector
xh(th0) = ϕ2 +R2 ·
r2 cos(2πth0
)
r2 sin(2πth0)
h2 · th0+ c2
= p∗
2, x′
h(th0) = R2 ·
−2πr2 sin(2πth0
)
2πr2 cos(2πth0)
h2
(6.30)
To ensure a G1-continuous transition, the cross product of the tangent vector of the direct line
(6.28) and the tangent vector of the helix in point p∗
2 (6.30) has to vanish
R2 ·
−2πr2 sin(2πth0
)
2πr2 cos(2πth0)
h2
× (p∗
2 − p1) = 0 (6.31)
Inserting (6.30), the third row of this cross product finally yields
−r2 = a12 sin(2πth0) + a11 cos(2πth0
) (6.32)
with a1 = [a11, a12, a
13]
T = (R2)T · (ϕ2 − p1). Under certain assumptions, we can summarise
sin(2πth0) and cos(2πth0
) into one trigonometric function using the addition theorems and
solve for th0. For this purpose, we consider a right angled triangle on a circle with the radius
rc =√
(a11)2 + (a12)
2 with the short sides of the length a11 and a12, where α is one of the acute
angles of the triangle. Then eight possible substitutions with sin(α) and cos(α) have to be taken
into account, which are given in the appendix in (D.1). Therewith, we get eight reformulations
of (6.32) using the addition theorems, given in detail in (D.2), where they are also illustrated
in Figure D.1. Concluding, we get maximal eight solutions for th0, if√
(a11)2 + (a12)
2 ≥ r2, all
of the form of (6.33), only differing in arcsin and arccos, the signs, and the computation of α
depending on the chosen substitution in (D.1)
th0=
1
2π
(arccos
(−r2√
(a11)2 + (a12)
2
)+ α
)(6.33)
Otherwise, if√
(a11)2 + (a12)
2 < r2, (6.32) has no solution in R. In detail, the possible solutions
are given in (D.3).
Inserting th0in the first row of the cross product (6.31), we get
h2 =−2πr2 cos(2πth0
)(a3 + a13)
2πr2 cos(2πth0)(th0
− thN)− a12 − r2 sin(2πth0
)(6.34)
77
6 Muscle actuation
Further inserting th0and h2 in (6.30) we get eight solutions for p∗
2 , from which the geometrically
correct one can be found by choosing the points that truly yield a connection tangential on the
cylinder surface and by selecting the one closest to the direct line between p1 and p2.
The algorithm shown in Table 6.1 can then be used to test whether the direct line from p1 to
p∗
2 intersects bodies and joints. In case the direct line does not intersect the bodies, the length
of the muscle path and the force directions can be calculated via
lm = ‖p∗
2 − p1‖+ 2πr2 |thN− th0
|
√1 +
(h2
2πr2
)2
(6.35)
rm,1 =p∗
2 − p1
‖p∗2 − p1‖
, rm,2 = −R2 ·
−2πr2 sin(2πthN
)
2πr2 cos(2πthN)
h2
(6.36)
An illustration of a typical line-helix muscle path around the elbow is given in Figure 6.17.
step 3 If the line-helix connection intersects the bodies, a vice-versa helix-line connection is
tested, see for example Figure 6.18. Here, a point p∗
1 ∈ K1 on the surface of the first cylinder
is searched such that the transition between a helix from p1 to p∗
1 and a direct line from p∗
1 to
p2 is G1-continuous.
Figure 6.18: Example of typical muscle paths around the elbow: the analytical helix-line solution (left) and the
solution of a 30 node optimisation (right).
Following the procedure in step 2, the cross product of the tangent vectors in point p∗
1 has to
vanish
R1 ·
−2πr1 sin(2πthN
)
2πr1 cos(2πthN)
h1
× (p2 − p∗
1) = 0 (6.37)
with R1 =[d11 d1
2 d13
]. The point p∗
1 is the end point of the helix on the first body at thN
which, when inserted into (6.37), yields from the third line of the cross product
r1 = a22 sin(2πth0) + a21 cos(2πth0
) (6.38)
78
6.2 Dynamics of the muscle path
with a2 = [a21, a22, a
23]T = (R1)T · (p2 − ϕ1). Similar to the procedure in step 2, we can solve
for thNand h1, which finally leads to p∗
1. Again, the algorithm shown in Table 6.1 can be used
to test if the direct line from p∗
1 to p2 intersects bodies and joints. If this is not the case, the
length of the muscle path and the force directions can be calculated via
lm = ‖p2 − p∗
1‖+ 2πr1 |thN− th0
|
√1 +
(h1
2πr1
)2
(6.39)
rm,1 = R1 ·
−2πr1 sin(2πth0
)
2πr1 cos(2πth0)
h1
, rm,2 =
p∗
1 − p2
‖p∗1 − p2‖
(6.40)
A typical helix-line muscle path around the elbow is depicted in Figure 6.18.
step 4 In case all of the above presented paths intersect the bodies or if (6.38) or (6.32) or
both of them do not have a solution in R, the muscle path is approximated as that one least
intersecting the bodies. As a criterion to compare the amount of intersection of different paths,
the maximal intersection is weighted by the length of the direct line part. Of course this is a
strong simplification, but these cases only rarely occur for relatively large pronation/supination
joint angles. Nevertheless, the algorithm is to be included in an optimal control framework,
where unrealistic body configurations may occur during the iterations. We therefore have to
guarantee that it is running robustly even for unrealistic body configurations.
Remark 6.2.1 (Alternatives in step 4) An alternative to step 4 is for example a root-finding
algorithm as illustrated in [Stav 12, Scho 13] solving the upcoming equations for a helix-line-
helix or – including also the shortest path on the joint sphere – a helix-orthodrome-line-helix
connection. Or one could formulate an optimisation problem and search for the optimal tran-
sition point such that the length of the helix and line parts is minimised. However, all of this
further approaches yield far too high computational effort when implemented in an optimal con-
trol procedure.
Furthermore, such formulations depend on initial guesses and choosing them, such that the
optimal control simulation is running robustly, is an additional issue.
During forward dynamics simulations muscle paths from earlier time steps serve as good initial
guesses. In contrast to that, during an optimal control simulation, the whole trajectory and
force field are guessed at once during each iteration, meaning the evolution of a muscle path
over time might differ too much to be used as sequential initial guesses for each next time step.
Moreover, derivations of muscle length and force direction with respect to the configuration of
the bodies are needed to compute analytical gradients of the optimal control problem. While a
root-finding algorithm can be differentiated with an implicit function theorem, the derivations
of the optimal control procedure are not easy to achieve when muscle length and force direction
are the result of a parameter dependent optimisation.
79
7 Optimal control of constrained forced
biomechanical systems
Comprehending the control mechanisms behind human motion is of interest in several different
fields of application. On the one hand, sports motions and everyday motions can be inves-
tigated by means of optimal control simulations in order to reduce the effort or to improve
the performance. On the other hand, also the development of prostheses benefits from im-
plementing more realistic controls and medical diagnosis can be verified by interpretation of
pathologic motions with optimal control simulations. Moreover, the optimal ergonomic design
of workplaces can be examined, with particular respect to dynamical effects.
The assumption that such motions are controlled in an optimal way is frequently mentioned
in the literature, investigating different motions with diverse physiologically motivated crite-
ria [Crow 81, Uno 89, Pand 90, Hard 93, Rose 95, Soec 95, Acke 06, Bies 07, Ober 09, Frie 09,
Xian 10]. Among several possibilities to formulate optimal control problems, one can e. g. distin-
guish between indirect and direct optimal control simulation methods. While indirect methods
derive the necessary optimality criteria first and then discretise this ode problem, direct meth-
ods start with a discretisation of the problem and therewith transcribe the infinite dimensional
problem into a finite dimensional nonlinear optimisation problem [Leye 11]. A special recently
developed form of this direct transcription methods called DMOCC (discrete mechanics and
optimal control of constrained systems) is used within this thesis. The goal is to find local
solutions of a nonlinear optimal control problem which consists of minimising a given discrete
objective function subject to constraints describing the system’s dynamics.
The benefit of this method is the use of variational integrators as briefly illustrated in Chap-
ter 4. The key difference to common integrators is the direct discretisation of the variational
principle in order to derive the discrete equations of motion. Consequently, the solutions gener-
ated with this method inherit certain characteristics of the real system like for example angular
momentum consistency and a good energy behaviour. In other words, all applied torques and
forces are exactly transferred into motion of the system and no numerical drift can be noticed.
When using optimal control criteria that are directly related to the actuating torques and
forces, like for example minimising the effort of the motion, it is crucial that those quantities
are represented correctly in order to get meaningful results.
7.1 Discrete mechanics and optimal control for constrained
systems with joint torque and muscle actuation
For a multibody system connected via joints and its dynamics discretised with a constant
time step ∆t ∈ R there exists an infinite number of possible trajectories and force fields to
perform a motion from a predefined start configuration q(t0) = q0 and conjugate momentum
81
7 Optimal control of constrained forced biomechanical systems
p(t0) = p0 to a given end configuration q(tN) = qN and conjugate momentum p(tN ) = pN .
One possibility to treat this, is to formulate and solve an optimal control problem as illustrated
in (7.1) and to use an appropriate discrete objective Jd, or respectively a discrete cost function
Cd, to find a trajectory and force field that minimise this objective. Herein, the discrete
generalised coordinates ud = {un}Nn=0, the generalised joint torques τ J
d = {τ Jn}
N−1n=0 and –
if muscle actuation is implemented – the sequence of muscle activations Ad = {An}N−1n=0 are
the optimisation variables. At the same time, the discrete equations of motion (4.14) and
boundary conditions (for example to perform a rest-to-rest manoeuvre p0 = pN = 0) must
be fulfilled. There may be further constraints like bounds on the optimisation variables and
path constraints (equality or inequality), e. g. to set limits on the joint angles according to
anatomical restrictions
minud,τ J
d,Ad
Jd(ud, τJd ,Ad) = min
ud,τ J
d,Ad
N−1∑
n=0
Cd(un,un+1, τJn,An)
subject to: · fulfilment of the discrete equations of motion (4.14)
· initial and final conditions
· path constraints
(7.1)
Remark 7.1.1 (Biomechanical redundancy) Within this work, complete joint torque actuation
as well as complete muscle actuation of all joints is used, but also mixed systems are inves-
tigated, where for example the joint torque of only one joint is replaced by muscle actuation.
Biomechanical systems usually show an actuation redundancy, i.e. there are more muscles ac-
tuating a joint than degrees of freedom are present. For example, in the human arm model
used within this work, the elbow is a cardan joint with two degrees of freedom. Its two dimen-
sional joint torque actuation per time step is replaced by seven muscle activations per time step.
Consequently, the total number of optimisation variables increases significantly. This strongly
motivates the implementation of analytical gradients of the optimal control problem in particular
for simulations with muscle actuation. The general derivation of those gradients is exemplarily
given for the constraints of the optimal control problem in the Appendix A.
7.2 Physiologically motivated objective functions
Generally, there exists an infinite number of possible trajectories to perform a motion from a
given initial configuration to a target configuration. A possibility to find specific trajectories
is to formulate an optimal control problem and solve it while using different physiologically
motivated objective functions. The resulting trajectories can then be compared to literature or
experiments according to their ability to predict the real motions as for example presented in
[Frie 09]. The implementation of muscle actuation yields the possibility to relate the optimality
criteria to the muscle behaviour.
In the following, several objective functions commonly known from literature are presented
and reformulated in the notation used within this work. In addition to commonly investigated
criteria, an idea is illustrated to formulate a criterion that reduces the impact on the joints
82
7.2 Physiologically motivated objective functions
during a motion. Herein, it is of particular importance that we are solving an index 3 differential-
algebraic system. Therewith, the constraint forces can be directly accessed and used within
a cost function of the optimal control problem. This criterion could be of interest for the
ergonomic design of everyday or industrial processes. In a more medical context, it could help
to explain pathologic motion and confirm a diagnosis, e.g. if a patient is using relieving postures
to minimise pain or discomfort.
7.2.1 Minimal control effort
A typical and in the field of robotic and automation widely used criterion for optimal motion
is the minimisation of control effort [Bett 09, Leye 11]. Minimising the effort of a motion is
supposed to yield less exhausting motions. For simulations with joint actuation, it can be
formulated as follows
Jd(ud, τ d) =1
2∆t
N−1∑
n=1
‖τ n‖2 (7.2)
For mixed systems including muscle forces, this goal can be reformulated in several ways.
The first possibility here is including the total amount of activations together with the joint
torques in other joints, which are not muscle actuated. Note that for simplicity, a slight
abuse of notation is accepted here, in a way that for pure joint torque actuated systems the
objective is denoted by Jd(ud, τJd ), while for systems with muscles, the objective is denoted by
Jd(ud, τJd ,Ad)
Jd(ud, τJd ,Ad) =
1
2∆t
N−1∑
n=1
[ω1
∥∥τ Jn
∥∥2 + ω2 ‖An‖2]
(7.3)
Herein, the weighting factors ω1, ω2 ∈ R ensure that the influence of torques and activations on
the value of the cost function are in the same order of magnitude. A criterion on minimising
the effort of the motion as given in (7.3) can also be formulated in a similar way including
the resulting muscle force τm instead of the muscle activations (together with the joint torque
effort in the other joints)
Jd(ud, τJd ,Ad) =
1
2∆t
N−1∑
n=1
[ω1
∥∥τ Jn
∥∥2 + ω2 ‖τmn ‖
2]
(7.4)
Moreover, it is possible to weight the muscle forces in this cost function by the cross sectional
area of the muscles, like it is done in [Crow 81], to evaluate muscle stresses. This criterion
demands larger force amounts from thicker muscles, which can recover better than thinner
ones. Hence, this criterion is supposed to lead to motions that can be performed with maximum
endurance
Jd(ud, τJd ,Ad) =
1
2∆t
N−1∑
n=1
[ω1
∥∥τ Jn
∥∥2 + ω2 ‖σmn ‖
2]
(7.5)
83
7 Optimal control of constrained forced biomechanical systems
with the muscle stress σmn,i =
τmn,i
PCSAi
for the i’th muscle and its cross sectional area PSCAi,
taken from [Murr 00].
Within all of the above introduced muscle related criteria, we have to find weighting factors ω1
and ω2 to ensure that both parts of the cost function (muscle related and joint torque related)
are minimised.
7.2.2 Minimal control change
A further criterion introduced in [Uno 89] accounts for the minimisation of the change in torques
during the simulation
Jd(ud, τ d) =1
2∆t
N−2∑
n=1
∥∥∥∥τ n+1 − τ n
∆t
∥∥∥∥2
(7.6)
The physiological motivation for such a criterion can for example be explained by a reduction
in control interventions of the CNS. Furthermore, an arbitrary fast change in torques or muscle
activations is physiologically not possible due to an exponential behaviour of muscle activations,
see (6.4). Hence, smooth evolutions of activations are probably more realistic. When including
muscle actuation, (7.6) is reformulated in order to minimise the changes in the activations and
in the joint torques
Jd(ud, τJd ,Ad) =
1
2∆t
N−2∑
n=1
[ω1
∥∥∥∥τ Jn+1 − τ J
n
∆t
∥∥∥∥2
+ ω2
∥∥∥∥An+1 −An
∆t
∥∥∥∥2]
(7.7)
7.2.3 Minimal kinetic energy
To perform the motion with minimal kinetic energy is a goal that often yields motions where the
heaviest bodies move the least. Energy related criteria are in the focus of several investigations,
see for example [Soec 95, Bies 07, Frie 09]. A corresponding objective function reads
Jd(ud, τ d) =1
2∆t
N∑
n=1
(Qp+n )
T ·M−1 · Qp+n (7.8)
with the conjugate momentum Qp+n = Q(qn) ·
[D2Ld(qn−1, qn) + f+
n−1
], where Q(qn) = Ik×k−
GTd ·[Gd ·M
−1 ·GTd
]−1·Gd ·M
−1. This projected momentum fulfils the hidden constraints
on momentum level and is explained in detail in [Leye 08, Leye 10].
7.2.4 Minimal jerk
Minimising the jerk of a motion means to generate a motion with minimal changes in accel-
erations. This is exemplarily used within the grasping simulations to compare the resulting
trajectories with the results of [Frie 09]. There, this criterion is formulated by
Jd(ud, τ d) =1
2∆t
N−2∑
n=1
(s′′′n )2 (7.9)
84
7.2 Physiologically motivated objective functions
with s′′′n being the third derivative of the fingertip trajectory calculated with finite differences.
In case of the arm motion simulated in this work, this criterion is formulated in generalised
coordinates of all joints as follows
Jd(ud, τ d) =1
2∆t
N−2∑
n=1
∥∥∥∥un+2 − 2un+1 + un
(∆t)2
∥∥∥∥2
(7.10)
Generally, this criterion is supposed to yield uniformly accelerated motions, which are in par-
ticular beneficial e.g. for the transport of fragile freight.
7.2.5 Minimal joint reaction
In addition to those commonly known objectives, a further cost function is formulated that
takes into account the impact on the joints. Here, an approximation of the integral of the sum
of squares of all constraint forces F ϕ and torques T θ in the joints is used
Jd(ud, τ d) =1
2∆t
N−1∑
n=1
[‖F ϕ‖
2 + ‖T θ‖2] (7.11)
In Chapter 5, a possibility to compute these constraint forces and torques is shown for kinematic
pairs, while in the numerical examples within the later part of this work (Chapter 8 and 9),
their computation is also explained for the kinematic chains in use to represent the human arm
and finger.
7.2.6 Minimal manoeuvre time
When examining workplace or sports motions, a common goal is to minimise the manoeuvre
time. An objective for this goal is given by
Jd(ud, τJd ,Ad) = N∆t (7.12)
7.2.7 Maximal throw distance
In special sports motions like long throw or shot put, the goal is a maximal throw distance.
When neglecting the air resistance and starting the throw from a height h = 0, the throw
distance R ∈ R+ can be calculated with
R =v2
gsin(2β) (7.13)
Herein, v is the throw velocity, g is the gravitational constant and β is the throw angle. This
means a maximal throw distance is reached by maximising v in direction of β = 45◦. Hence, an
objective function for long throw and shot put motions is given by a finite differences approach
on the final velocity of the hand in the throw direction rd =e2 + e3
‖e2 + e3‖
Jd(ud, τJd ,Ad) = −rT
d ·qhandN − qhand
N−1
∆t(7.14)
85
7 Optimal control of constrained forced biomechanical systems
As this criterion does not affect the overall effort of the motion, it can yield physiologically not
reasonable joint torque and muscle activation evolutions. Therefore, it is suggested to use this
criterion together with a bound on the maximal control effort of the motion.
7.3 Constrained optimisation problems
All constrained optimisation problems arising within the solution of optimal control problems
via the direct discretisation method DMOCC are solved using Matlab’s fmincon algorithm
[Math 09] and the optimisation code Snopt 7 [Gill 08].
Within the fmincon algorithm, several options can be chosen. An interior-point algorithm be-
longing to the barrier methods as well as an active-set algorithm, based on sequential quadratic
programming, are provided. Recently, a more robust version of the active-set algorithm which
always fulfils the bounds on the optimisation variables (similar to the interior point algorithm)
has been added, called sqp. During this work, the interior-point algorithm shows a good per-
formance for systems with mixed actuation by joint torques and muscle models, in particular
when using highly nonlinear objective functions and initial guesses far away from an optimum.
If the initial guess is closer to the optimum and especially for objective functions like (7.2),
(7.3), (7.6) and (7.7), the active-set and sqp algorithms often find better local minima. The
Snopt 7 algorithm is especially useful for smaller problems with strong constraints, like in the
case of the steering optimal control simulations, where a constraint on the hand to stay on a
circle is included, see Section 9.2.1.
John Betts writes ’solving an optimal control problem is not easy’ [Bett 09]. A lot of things can
fail when implementing a numerical formulation, in particular when the examined problems are
of high nonlinearity. In the Matlab documentation [Math 09] a detailed description is provided
on what to do if the solver fails in finding a local minimum. A main point mentioned within
both textbooks is the scaling of the problem. In certain cases it may help to scale the cost
function, especially for large problems, to gain a better performance. According to [Bett 09],
badly-scaled problems yield a bad performance even when using good algorithms. It is not
generally defined, what ’well-scaled’ or ’badly-scaled’ means in this context and how it can be
quantified, but a hint for a well-scaled problem is, if a change in the optimisation variable yields
a change in both the cost function an the constraints in about the same order of magnitude.
This is of even more importance when applying finite difference approximations for the gra-
dients of the problem. The implementation of analytical gradients significantly improves the
performance, particularly for systems including muscle actuation.
Nevertheless, problems in fulfilling the constraints can still occur. Mainly based on the approx-
imation done in the fourth step of the muscle path algorithm, see Table 6.2, there may occur
slight inaccuracies in the analytical gradients, which only rarely occur. However, these inaccu-
racies may influence the convergence behaviour of the optimal control simulation, in particular
if both the gradients of the constraints and the gradient of the objective are affected, if the
time step size is included in the optimisation variables, or if the value of the objective is large.
Generally, it is convenient to scale the objective function such that these discontinuities can be
overcome by the solver. In this case it is important to adjust the tolerances appropriately and
to carefully check the meaningfulness of the result. Using the solution gained with a scaled
86
7.3 Constrained optimisation problems
objective as an initial guess for a simulation with an unscaled objective may give an hint on
the reasonableness. Moreover, it can be helpful to relax the constraints first, e.g. by using
inequality constraints, and then to slowly re-tight them. Another possibility is to try a set of
feasible initial guesses, which can easily be generated by randomly disturbing a solution and
solving the problem with an objective Jd = 1. Thereby, it can also be easily examined, if a
feasible solution can be found at all.
87
8 Model of the human finger
There has been done a lot of research on the control of human motion in recent years. Several
models for the description of how our CNS controls our movements have been developed. Espe-
cially regarding arm movements, energetic considerations like minimising cost functions related
to kinetic energy or change in torques have led to promising models for grasping simulations
[Soec 95, Bies 07]. In [Frie 09], finger movements during grasping are in the focus of research
and they propose a criterion on minimal angular jerk in the fingertip as it yields the fingertip
trajectories best fitting to their experimental results. But all the mentioned works neglect the
influence of gravity on the movements and often only use kinematic models, i.e. they neglect
the dynamics of the model [Frie 09]. For example in [Bies 07] it is stated, that all acting muscle
torques can be additively splitted in a driving torque and a torque that just counteracts gravity.
Therefore they neglected the influence of gravity on the counteracting part of the torques.
In this part of the work, we want to investigate index finger movements and their control by the
CNS similar to [Frie 09] and additionally taking into account the influence of gravity and the
dynamics of the multibody system. Even more important, we use discrete equations of motion,
that preserve the structure of the underlying continuous system as described in Chapter 4.
In a first example, see also [Maas 10], the actuation of the model is implemented via joint
torques. In the formulation of the optimal control problem, we use four different physiologi-
cally motivated cost functions and compare them to the results of [Kamp 03], who state that
fingers follow the trajectory of a logarithmic spiral during a grasping movement. In addition
to that, such simulations can also be compared to motion capturing experiments, which is ex-
emplarily shown in this chapter.
Secondly, nonlinear Hill-type muscle models described in Section 6.1.1 and [Maas 12a] are used
to actuate the finger instead of joint torques, see [Maas 12b]. This leads to an optimal mus-
cle activation and finger trajectory regarding a specified objective function, which are again
compared to the results presented in [Kamp 03].
8.1 Kinematic chain
For the simulation of finger movements, a kinematic chain is used that consists of three rigid
bodies connected by three joints, see Figure 8.1. The first joint called metacarpal joint (MCP)
is a spherical joint that is fixed in point xG. The proximal interphalangeal joint (PIP) and the
distal interphalangeal joint (DIP) combine the medial and distal phalanxes to the finger allowing
rotation around one axis to perform flexion/ extension, only. Hence, they are implemented
as revolute joints. The proximal and medial phalanxes are modelled as cylinders, the distal
phalanx is modelled as a cone. All geometric parameters are approximated from [Buch 92].
89
8 Model of the human finger
Figure 8.1: Illustration of the index finger model used in this study: kinematic chain and free body diagram (left)
as well as the rigid body model (right).
The restriction of the relative motion of neighbouring bodies due to interconnecting joints
yields external constraints, which are a combination of the constraints for spherical and revolute
kinematic pairs described in Section 5.2.1 and 5.2.2, respectively
gFext(q) =
ϕ1 + ρ11 −XG
ϕ2 + ρ21 − ϕ1 − ρ12
(n1)Td22 − η11
(n1)Td23 − η12
ϕ3 + ρ31 − ϕ2 − ρ22
(n2)Td32 − η21
(n2)Td33 − η22
∈ R13 (8.1)
This results in the constraint Jacobian GFext(q) given in Appendix B. The external constraint
forces in redundant coordinates can be calculated from
GFext(q)
T
λϕ1
λϕ2
λθ21
λθ22
λϕ3
λθ31
λθ32
=
λϕ1 − λϕ2
ρ111 λϕ1 − ρ121 λϕ2 + n11λθ2
1d22 + n1
1λθ22d23
ρ112 λϕ1 − ρ122 λϕ2 + n12λθ2
1d22 + n1
2λθ22d23
ρ113 λϕ1 − ρ123 λϕ2 + n13λθ2
1d22 + n1
3λθ22d23
λϕ2 − λϕ3
ρ211 λϕ2 − ρ221 λϕ3 + n21λθ3
1d32 + n2
1λθ32d33
ρ212 λϕ2 − ρ222 λϕ3 + λθ21n1 + n2
2λθ31d32 + n2
2λθ32d33
ρ213 λϕ2 − ρ223 λϕ3 + λθ22n1 + n2
3λθ31d32 + n2
3λθ32d33
λϕ3
ρ311 λϕ3
ρ312 λϕ3 + λθ31n2
ρ313 λϕ3 + λθ32n2
∈ R36 (8.2)
90
8.2 Numerical examples of human finger motion
The reduced set of constraint forces is given by
h1
ϕ
h1
θ
h2
ϕ
h2θ
h3ϕ
h3
θ
= P T
int (GFext)
T
λϕ1
λϕ2
λθ2
1
λθ2
2
λϕ3
λθ3
1
λθ3
2
=
λϕ1 − λϕ2
ρ11λϕ1 − ρ12λϕ2 + λθ2
1
(n1 × d2
2) + λθ2
2
(n1 × d2
3)
λϕ2 − λϕ3
ρ21λϕ2 − ρ22λϕ3 + λθ3
1
(n2 × d3
2) + λθ3
2
(n2 × d3
3)− λθ2
1
(n1 × d2
2)− λθ2
2
(n1 × d2
3)
λϕ3
ρ31λϕ3 − λθ3
1
(n2 × d3
2)− λθ3
2
(n2 × d3
3)
∈ R
18
(8.3)
This means, that the constraint force F 1ϕ that prevents the system from translational move-
ments of the first body relative to the point XG, where it is fixed in space, can be calculated
from
F ϕ1 = λϕ1 ∈ R3 (8.4)
The constraint force F 2ϕ prevents the second body from translational movements relative to the
first one
F ϕ2 = λϕ2 ∈ R3 (8.5)
The third body is prevented from relative translational movements with respect to body two
via a constraint force
F ϕ3 = λϕ3 ∈ R3 (8.6)
The constraint torques T 2θ1
and T 2θ2
that prevent the proximal and medial phalanxes from any
relative rotation except around the revolute axis can be calculated via
T 2θ1= λθ2
1(n1 × d2
2) ∈ R3 and T 2
θ2= λθ2
2(n1 × d2
3) ∈ R3 (8.7)
Similarly, the constraint torques preventing the medial and distal phalanxes from any relative
rotation except around their revolute axis, are given by
T 3θ1= λθ3
1(n2 × d3
2) ∈ R3 and T 3
θ2= λθ3
2(n2 × d3
3) ∈ R3 (8.8)
8.2 Numerical examples of human finger motion
8.2.1 Optimal control of grasping with joint torque actuation
The optimal control problem is formulated as the minimisation of different objective functions
Jd(ud, τ d) subject to constraints as described in Chapter 7. We want to simulate a rest-to-
rest grasping manoeuvre, thus initial momentum p0 and final momentum pN are zero. The
91
8 Model of the human finger
movement ought to start at a specified outstretched horizontal position u0 = 0 and the fingertip
must arrive at a final position xN at the end of the movement. Furthermore, bounds on possible
angles between the phalanxes yield inequality constraints, see Table 8.1.
Table 8.1: Inequality constraints on the joint angles for the optimal control problem of index finger movements.
inequality constraints
joint angle MCP −45◦ ≤ α ≤ 45◦
joint angle PIP 0◦ ≤ β ≤ 100◦
joint angle DIP 0◦ ≤ γ ≤ 70◦
Solving the optimal control problem with different cost functions leads to different trajectories
of the fingertip, see Figure 8.2, left. In case of minimum control effort (7.2), the fingertip
follows a rather unrealistic trajectory. The fingertip stays for a long time on the initial level of
potential energy and approaches the final position only during the last steps. The trajectories
resulting from the minimum torque change (7.6) and minimum kinetic energy criterion (7.8)
look quite similar. Only during the last time steps, the minimum kinetic energy trajectory is
more flat. The minimum jerk criterion (7.9) leads to a trajectory that is much less curved.
0.045 0.05 0.055 0.06 0.065 0.07 0.075 0.08 0.085 0.09−0.045
−0.04
−0.035
−0.03
−0.025
−0.02
−0.015
−0.01
−0.005
0
0.005
minimum control effort
minimum torque change
minimum kinetic energy
minimum jerk in fingertip
logarithmic spiral
0 0.1 0.2 0.3 0.4 0.50
0.005
0.01
0.015
0.02
0.025
0.03
0.035
minimum effort
minimum torque change
minimum kinetic energy
minimum jerk in fingertip
Figure 8.2: Optimal index finger trajectories for different cost functions compared to logarithmic spiral and absolute
difference of optimal trajectories to logarithmic spiral.
In [Kamp 03] it is stated that fingers follow a logarithmic spiral during grasping. If we compare
the absolute differences of the resulting trajectories to a logarithmic spiral through start and
end point of the movement, see right hand plot in Figure 8.2, we can say that the minimum
angular jerk and minimum kinetic energy criteria are best fitting. Looking at the shape of the
curves, we can see that all three criteria, minimum torque change, minimum kinetic energy and
minimum jerk in fingertip lead to trajectories that have only small absolute differences to the
shape of the logarithmic spiral. Especially during the middle part of the motion, the shape
of the minimum torque change curve is nearly equal to that of the logarithmic spiral. From
92
8.2 Numerical examples of human finger motion
Figure 8.3 one can see, that in case of a minimum control effort criterion, the finger is actuated
in particular during the first time steps in the first joint, to accelerate upwards.
0 0.1 0.2 0.3 0.4 0.50
1
2
3
x 10−3
0 0.1 0.2 0.3 0.4 0.5−2
0
2
4
x 10−4
0 0.1 0.2 0.3 0.4 0.5−4
−2
0
2
4x 10
−5
Figure 8.3: Evolution of torques in joints in direction of grasping movement for different cost functions.
Then, during long times of the motion, the torques in the first joint are reduced to a minimal
level and finally, the finger uses gravity to get to the final point and is decelerated by ascending
torques in the first joint during the last time steps. The cost function ’minimal torque change’
(7.6) naturally leads to hardly changing torques over time in all joints, the MCP torques are
actually nearly constant. For the minimum kinetic energy criterion, the evolution of torques is
similar to that resulting from the minimum torque change criterion, but allowing a bit higher
changes in the torques. A movement with minimum jerk in the fingertip leads to compara-
tively high values and changes in all joint torques in order to keep the fingertip at a constant
acceleration. In Figure 8.4, kinetic energy and jerk in the fingertip are shown resulting from
the different cost functions. One can clearly recognise, that the other cost functions result in
substantially higher values of kinetic energy (left hand plot) and jerk (right hand plot). The
configurations of the whole finger during grasping are depicted in Table 8.2 at four particular
times during the movement to show the effect of the different cost functions on the total index
finger movement.
Furthermore, it is possible to compare the results of such optimal control simulations to motion
capturing experiments, see Figure 8.5. We therefore slightly change the geometry of the model
to adapt the subject specific finger dimensions, causing the resulting trajectories to differ from
those of the first simulations, which is most significant for the simulation with the minimum
control effort criterion.
93
8 Model of the human finger
0 0.1 0.2 0.3 0.4 0.50
0.2
0.4
0.6
0.8
1x 10
−4
minimum control effort
minimum torque change
minimum kinetic energy
minimum angular jerk
0 0.1 0.2 0.3 0.4 0.5−4
−3
−2
−1
0
1
2
3x 10
4
minimum control effort
minimum torque change
minimum kinetic energy
minimum jerk in fingertip
Figure 8.4: Kinetic energy (left) and jerk in fingertip (right) of resulting movements with different cost functions.
−0.02 0 0.02 0.04 0.06 0.08−0.07
−0.06
−0.05
−0.04
−0.03
−0.02
−0.01
0
0.01
2−direction [m]
3−
dire
ctio
n [m
]
experimental data
minimum effort
minimum torque change
minimum kinetic energy
minimum jerk in fingertip
Figure 8.5: Optimal index finger trajectories for different cost functions compared to motion capturing experiments.
However, the global differences between the results, when using different objectives, is similar
to the first simulations. Again, the minimum control effort criterion does not yield a realistic
motion, while the other three criteria fit well to the experiments, which themselves show a large
variability of trajectories.
Concluding, we can say, that the minimum control effort criterion does not lead to reasonable
grasping movements at this stage, if comparing to a logarithmic spiral as well as if comparing to
experiments. The trajectories resulting from the minimum kinetic energy and minimum angular
jerk criterion are both fitting equally well to a logarithmic spiral from start to the end point of
the movement and to the motion capturing the experiments. The minimum kinetic energy cost
function actually leads to a slightly better fitting of the shape of the curve. The shape of the
trajectory resulting from the minimum torque change criterion also looks realistic, in particular
during the middle part of the movement for both the comparison to the logarithmic spiral and
the motion capturing experiments.
94
8.2 Numerical examples of human finger motion
t = 0.125 s t = 0.250 s t = 0.375 s t = 0.500 s
(a) minimum control effort
(b) minimum torque change
(c) minimum kinetic energy
(d) minimum jerk in fingertip
Table 8.2: Finger movements during grasping for different cost functions, four typical time steps from left to right
show the differences of movement of the whole finger between (a) minimum control effort, (b) minimum
torque change, (c) minimum kinetic energy and (d) minimum jerk in fingertip.
95
8 Model of the human finger
8.2.2 Grasping with simplified muscle actuation
8.2.2.1 Forward dynamics simulation
To simulate grasping movements, the nonlinear Hill-type muscle model with three components
introduced in Section 6.1.1 is applied to actuate a model of a human finger. According to
[Till 05], there are mainly three muscles responsible for a finger moving from extension to
flexion, as it is the case when grasping. The muscle responsible for extension of the finger
is called musculus extensor digitorum (MED). The flexion of the finger is controlled by two
muscles, musculus flexor digitorum superficialis (MFDS), inserting at the medial phalanx and
musculus flexor digitorum profundus (MFDP), inserting at the distal phalanx.
Figure 8.6: Initial and final configuration of the finger model during grasping simulation: Assumed tendon insertion
and direction for musculus extensor digitorum (blue), musculus flexor digitorum superficialis (red) and
musculus flexor digitorum profundus (green).
According to [Till 05, Wils 00], the assumed directions for the tendons are illustrated by colours
in Figure 8.6. The blue lines indicate the force directions for the MED, the green colour is
related to the MFDP and the red coloured lines to MFDS. The finger movement starts in
an outstretched horizontal position with zero initial velocity while gravity is present. Due to
prescribed muscle activations for each of the three muscles, different time dependent muscle
forces arise, that actuate the finger.
96
8.2 Numerical examples of human finger motion
−1
−0.5
0
0.5
1
0.03
0.04
0.05
0.06
0.07
0.08−0.04
−0.03
−0.02
−0.01
0
1−direction [mm]2−direction [mm]
3−
dire
ctio
n [m
m]
0 0.01 0.02 0.03 0.04 0.05−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1x 10
−9
L1
L2
L3
Figure 8.7: Trajectory of the fingertip during forward dynamics simulation (left) and angular momentum consistency
during simulation (right).
For this first example, we use the model parameters of the rat muscle given in Appendix C.1 for
all three muscles to actuate the finger. Only the maximal possible muscle force parameter Fim
is reduced to 2.4N, to improve convergence of the Newton iteration. Due to those unrealistic
muscle parameters, the resulting movement happens relatively fast. In Figure 8.6 we see an
illustration of the initial configuration of the finger on the left hand side of the plot and the
final configuration after 0.05s simulation time at the right. The trajectory of the fingertip is
illustrated in the left plot of Figure 8.7. With the exception of a small peak in the middle, the
trajectory is similar to typical grasping trajectories, which follow a logarithmic spiral according
to [Kamp 03]. In a further optimal control simulation we can avoid these unrealistic peak by
inequality constraints on the joint angles. On the right side of Figure 8.7 we can see that the
simulation is angular momentum consistent. Figure 8.8 shows the muscle parameters during
this movement for all three involved muscles. We assume the flexor muscles MFDP and MFDS
to be fully activated (A = 1), whereas the MED is assumed to be at the pre-activation level
A = A0 = 0.01 (Figure 8.8, bottom right). From the plot of lm (Figure 8.8, top left), we can see
that the MED is elongated during the movement, whereas the other two, especially the MFDP,
are shortened. This can also be observed from the contraction velocity plot (Figure 8.8, bottom
left), where the MFDP is contracting fast, whereas especially the MED is reducing contraction
velocity in the beginning of the movement until the contraction velocity gets positive, meaning
the contractile element elongates. In the illustration of the muscle forces (Figure 8.8, top right),
we can see that the largest force is produced by the MFDS towards the end of the movement
and by the MED during its elongation phase.
97
8 Model of the human finger
0 0.01 0.02 0.03 0.04 0.0540
45
50
55
60
MFDS
MFDP
MED
0 0.01 0.02 0.03 0.04 0.050
0.5
1
1.5
2
0 0.01 0.02 0.03 0.04 0.05−200
−150
−100
−50
0
50
0 0.01 0.02 0.03 0.04 0.050
0.2
0.4
0.6
0.8
1
Figure 8.8: Muscle behaviour during forward dynamics simulation: length of the musculotendon complex lm (top
left), muscle forces Fm (top right), contraction velocity vCC (bottom left) and muscle activations A
(bottom right).
8.2.2.2 Optimal control simulation
Next, we use the structure preserving simulation framework DMOCC to solve an optimal control
problem for a grasping movement with muscle actuation and use the forward dynamics simu-
lation from the last section as an initial guess. The problem is to find an optimal trajectory
and muscle activation, such that a given discrete objective function Jd(ud,Ad) is minimised,
while the finger is moving from an initial position (at rest) to a final finger tip position inside
a predefined area (the final momentum is not prescribed) and the discrete equations of motion
(6.14) are fulfilled.
The objective function to be minimised in this example is related to the muscle force effort of
the motion as given in (7.4) with zero joint torques. Similar to [Crow 81], we focus on muscle
forces during the movement, but neglect the influence of the cross sectional area of the muscles.
Using the results of the last section as an initial guess for the optimal control problem, we get
a much more grasping like trajectory of the finger tip, see Figure 8.9. Again, we compare the
resulting trajectory to a logarithmic spiral through start and end point of the movement. The
resulting trajectory for this objective function is close to the logarithmic spiral, but neverthe-
less, local differences are visible.
In this simulation, the flexor muscle forces and activation, see Figure 8.10 right, show an oscil-
lating behaviour, whereas the extensor muscle stays at a nearly constant moderate activation
level.
98
8.2 Numerical examples of human finger motion
0.04 0.045 0.05 0.055 0.06 0.065 0.07 0.075 0.08−0.04
−0.035
−0.03
−0.025
−0.02
−0.015
−0.01
−0.005
0
0.005
2−direction [mm]
3−di
rect
ion
[mm
]
fingertip trajectorylogarithmic spiral
Figure 8.9: Trajectory of the fingertip during optimal control grasping simulation compared to logarithmic spiral.
0 0.01 0.02 0.03 0.04 0.0540
45
50
55
60
MFDS
MFDP
MED
0 0.01 0.02 0.03 0.04 0.050
0.5
1
1.5
2
0 0.01 0.02 0.03 0.04 0.05−200
−150
−100
−50
0
50
0 0.01 0.02 0.03 0.04 0.050
0.2
0.4
0.6
0.8
1
Figure 8.10: Muscle behaviour during optimal control simulation: length of the muscolotendon complex lm (top
left), muscle forces Fm (top right), contraction velocity vCC (bottom left) and muscle activation A
(bottom right).
99
8 Model of the human finger
The force it produces increases up to a certain nearly constant level due to elongation. It is
obvious, that the muscle force effort is minimised, as the area under the force curves is reduced
compared to the initial guess (compare top right plot of Figure 8.8 and Figure 8.10).
This example shows, that it is generally possible to include muscle actuation within the op-
timal control framework DMOCC as the resulting trajectories and activations are reasonable.
However, the solution of this optimal control problem with an inner iteration scheme in the
muscle model explained in Section 6.1.1 leads to several numerical problems. In addition to
that, the inner iteration of the muscle model needs a small time step. As both inner and outer
dynamics are coupled, this leads to a large amount of optimisation variables even for this simple
example over only a very short simulation time. Furthermore, it is not possible to simulate real
rest-to-rest manoeuvres with this model as the final momentum condition has to be excluded
to achieve convergence. One of the reasons is probably the negligence of the stabilising inner
hand muscles in this model.
8.2.3 Summary and outlook on future work
As a first step towards a more realistic model that includes the extensor mechanism of the finger
in this work, a tendon network is constructed around the phalanxes in order to implement the
intrinsic hand muscles as well. Furthermore, the muscle model used in the last section is
slightly modified, in particular by setting the maximal isometric force Fim in relation to the
cross sectional area of the finger muscles. In Figure 8.11, this tendon network is illustrated. In
addition to the insertion points of the tendons on diverse locations, there also exist sliding points
(yellow), where several tendons unite and only a normal force can be transmitted to the bodies.
The force directions are adapted to [An 79, Sanc 01], while the bodies are simulated with
truncated cones instead of cylinders and cones. In this example, the mechanical behaviour of
the extensor mechanism is neglected, i.e. in case a tendon splits off, the muscle force distribution
is simplified such that it is evenly distributed on the single paths. With this simplifications,
forward dynamics simulations of grasping are possible, as illustrated in Figure 8.12, even if the
simulation time is still unrealistically short. As a future approach it is suggested to solve a three
dimensional balance of forces problem for each sliding point at each time node. This allows to
decide which part of the force is transmitted to the body and which part is transferred into the
continuing tendon network.
One goal of this work is to simulate prolonged muscle actuated motions as well as to provide
the possibility to investigate more complex multibody systems with a larger number of muscles.
Therefore, it is mandatory to change certain aspects in the muscle modelling to enable a better
performance with more realistic results. This motivates the implementation of a different muscle
model with only a contractile component and a parallel elastic component, explained in detail
in Section 6.1.2, which is used during the following examples concerning motions of the human
arm. The implementation of a serial elasticity in this simulation framework is a future challenge
as well.
100
8.2 Numerical examples of human finger motion
Figure 8.11: Tendon network of the human finger: Insertion points coloured with respect to the muscles and sliding
points illustrated in yellow.
A further challenge is the realistic representation of force directions, which has a main effect
on the finger motion, in particular because of the complex behaviour of extensor mechanism
and the force distribution over the dorsal aponeurosis. A step towards a more realistic model
is given by the implementation of more realistic muscle paths as described in Section 6.2. In
future work, this should be implemented for the finger model together with an approximation
of the force distribution on the different tendons depending on the joint angles, see [Kapa 92].
101
8 Model of the human finger
Figure 8.12: Tendon network of the human finger: Insertion points coloured with respect to the muscles and sliding
points illustrated in yellow.
102
9 Model of the human arm
The motion of the human arm is a central topic in biomechanic investigations. This is mainly
because the human arm provides the largest range of motion among the human extremities. As
in the context of finger motion, a lot of studies investigate control mechanisms of arm motions,
see [Uno 89, Flas 85, Kawa 90, Soec 95, Bies 07].
Another frequently examined topic is the mechanics of the human elbow. This joint connects
the humerus to radius and ulnar and its structure enables rotations around two axes, see for
example [Thom 01]. Several models exist to describe this kinematic behaviour, see for example
[Wein 00, Kecs 05]. Within this work, a cardan joint is introduced in order to model these
rotational degrees of freedom. This joint can similarly be used to represent the wrist only by
changing the direction of the axes.
Moreover, a common field of interest is the muscle actuation of the human arm. The general
characterisation of arm muscles is done with experiments on several subjects, as for example
shown in [Murr 95, Murr 00]. The resulting muscle parameters can for example be used for
inverse dynamics computations, see [Holz 05]. The use of Hill-type muscle models in order
to improve prostheses can also be examined, see [Cava 05] and motions can be assessed with
respect to ergonomics [Denn 07]. In contrast to commonly used forward or inverse dynamics
approaches, this work mainly concentrates on optimal control simulations of the human arm.
Within this chapter, the set up of the human arm as a kinematic chain of rigid bodies is
described first, including a possibility to compute the constraint forces. After that, several
examples on optimal control simulations are given, starting with a steering motion actuated by
joint torques. The implementation of muscle models is shown first with a simple arm lifting
motion, which is further extended to a weight lifting motion, see also [Maas 13a]. At the end
of this chapter, an example of a typical workplace motion is examined with a focus on the
ergonomics on the motion, and long throw and shot put motions are simulated as an example
of sports motions, based on the publication [Maas 14].
9.1 Kinematic chain representing the human arm
For the simulation of human arm motion, we use a kinematic chain of rigid bodies, see left part
of Figure 9.1. The system under investigation consists of two cylindrical bodies representing
the upper arm and the forearm as well as a cuboid representing the hand. The bodies are
connected via three joints as depicted in the right part of Figure 9.1. The shoulder is modelled
as a spherical joint and is fixed in space in a point xG. The joints representing elbow and
wrist are modelled as cardan joints. Combining the constraints of spherical and cardan joint
connections ((5.16) and (5.31)), this results in mAext = mS
ext + 2mCext = 11 external constraints
on the system. The axes of rotation are denoted as n11(q1),n12(q2) and n21(q2),n22(q3) in
103
9 Model of the human arm
the first and second cardan joint, respectively
gAext(q) =
ϕ1 + ρ11 − xG
ϕ2 + ρ21 − ϕ1 − ρ12
n11(q1)T · n12(q2)
ϕ3 + ρ31 − ϕ2 − ρ12
n21(q2)T · n22(q3)
∈ R
11 (9.1)
Figure 9.1: Kinematic chain representing the human arm: Free body diagram (left) and rigid body model of the
human arm (right).
Corresponding to the number of constraints, mAext = 11 Lagrange multipliers are present, which
are arranged as follows
λAext =
[λ1
ϕ λ2ϕ λ2
θ λ3ϕ λ3
θ
]T∈ R
11 (9.2)
With the Jacobian of the constraints denoted by GAext(q) ∈ R11×36 we calculate a set of con-
straint forces in redundant coordinates
(GA
ext(q))T
· λAext =
λ1ϕ − λ2
ϕ
ρ111 λ1ϕ − ρ121 λ2
ϕ + n111 λ2
θn12
ρ112 λ1ϕ − ρ122 λ2
ϕ + n112 λ2
θn12
ρ113 λ1ϕ − ρ123 λ2
ϕ + n113 λ2
θn12
λϕ2 − λϕ3
ρ211 λ2ϕ − ρ221 λ3
ϕ + n121 λ2
θn11 + n21
1 λ3θn
22
ρ212 λ2ϕ − ρ222 λ3
ϕ + n122 λ2
θn11 + n21
2 λ3θn
22
ρ213 λ2ϕ − ρ223 λ3
ϕ + n123 λ2
θn11 + n21
3 λ3θn
22
λϕ3
ρ311 λ3ϕ + n22
1 λ3θn
21
ρ312 λ3ϕ + n22
2 λ3θn
21
ρ313 λ3ϕ + n22
3 λ3θn
21
(9.3)
which can be reduced, as illustrated above, to a set of constraint forces and torques on the
104
9.1 Kinematic chain representing the human arm
center of mass of each body
h1ϕ
h1θ
h2ϕ
h2θ
h3ϕ
h3θ
=
λ1ϕ − λ2
ϕ
ρ11 · λ1ϕ − ρ12 · λ2
ϕ + λ2θ(n
11 × n12)
λ2ϕ − λ3
ϕ
ρ21 · λ2ϕ − ρ22 · λ3
ϕ − λ2θ(n
11 × n12) + λ3θ(n
21 × n22)
λ3ϕ
ρ31 · λ3ϕ − λ3
θ(n21 × n22)
(9.4)
A similar consideration as for the spherical and cardan pair yields the constraint forces and
torques acting in the single joints, as illustrated in the free body diagram in Figure 9.1. The
constraint force F 1ϕ that prevents the first body (upper arm) from translation relative to the
point xG, where it is fixed in space, can be calculated by
F 1ϕ = λ1
ϕ (9.5)
The constraint force F 2ϕ prevents the forearm from translational movements relative to the
upper arm
F 2ϕ = λ2
ϕ (9.6)
The hand is prevented from relative translation with respect to the forearm via the constraint
force
F 3ϕ = λ3
ϕ (9.7)
In every cardan joint, there is one constraint torque because the rotation in this joint around one
axis is blocked. These constraint torques T 2θ and T 3
θ in the elbow and wrist can be calculated
from
T 2θ = λ2
θ(n11 × n12) T 3
θ = λ3θ(n
21 × n22) (9.8)
9.1.1 Musculotendon actuation
While in the first numerical example, the arm is actuated by joint torques, the motion of the
elbow is further on actuated by Hill-type muscles. Therefore, the seven most important muscles
around the elbow are implemented with muscle data according to [Murr 95, Murr 00], which
has to be changed slightly to ensure that fl and fv stay in a reasonable range, as described in
Section 6.1.2. In Figure 9.2, the paths of these muscles around the elbow are shown. Herein,
the black nodes are check points to ensure that the calculated path does not intersect the rigid
bodies, while the magenta points indicate the origin and insertion points of the muscles. For
simplicity, it is assumed that each muscle has only one origin and one insertion point, which is,
in particular for biceps and triceps muscle, a strong simplification (see Section 2.3.2). However,
this assumption facilitates the implementation of an isolated muscle actuation of only the elbow
joint.
105
9 Model of the human arm
Figure 9.2: Typical muscle paths around the elbow for the seven most important arm muscles.
Triceps (TRI) and biceps (BIC) are the most commonly known muscles, which are depicted
in red and green. They contribute to flexion and extension of the elbow, together with the
brachialis muscle (BRA, cyan). Musculus supinator (SUP, blue) and pronator teres (PT,
black) are mostly responsible for supination (palm up) and pronation (palm down) movements.
Additionally, the musculus extensor carpi radialis longus (ECRL, yellow) and the musculus
brachioradialis (BRD, magenta) contribute to elbow motion.
9.2 Numerical examples of human arm motion
9.2.1 Optimal control of a steering motion with joint actuation
For the example of an arm performing a steering motion, the optimal control problem can be
formulated according to (7.1). Additional nonlinear equality constraints for this example result
from prescribing a rest-to-rest manoeuvre. Moreover, the initial configuration is predefined
(u(t0) = u0) as well as the final location of the hand via xh(tN ) = xhN . During the motion,
the hand has to follow a circular path representing the steering wheel. This is implemented
via constraining the location of the hand hd(un,un+1, τ n) = 0 in every time step. The total
motion of the hand describes a quadrant on the wheel during tN = 1.04s simulation time
with a step size of ∆t = 0.04s, while gravity is present. Further on, inequality constraints are
present that impose limits on the possible joint angles according to the anatomical restrictions
in the shoulder, the elbow and the wrist. Beyond that, additional inequality constraints are
formulated to keep the palm oriented inwards. In this example, the model of the human arm
is actuated by joint torques in the shoulder (τ S ∈ R3), in the elbow (τCE ∈ R2) and in the
wrist (τCW ∈ R2). Generally, no bounds are set to configuration and torque values, except for
the simulation using the constraint force criterion. Here the joint torques are limited to stay
between [−20Nm, 20Nm].
The upper left diagram in Figure 9.3 shows the resulting optimal torques in one direction of
the shoulder joint. This direction is exemplarily shown for all torques, as the largest amount
of torque occurs here. One can see in this diagram that the control effort, which is represented
by the area under these curves, is minimal for the trajectory created with the minimal control
effort criterion and the difference to the result of the minimum torque change criterion is only
small. Likewise, it is obvious that the minimum torque change criterion leads to the smoothest
evolution of torques. From the evolution of kinetic energy over time (Figure 9.3, top right), it
106
9.2 Numerical examples of human arm motion
becomes clear that the kinetic energy of the motion can be evidently reduced using a minimum
kinetic energy criterion. In the lower left diagram in Figure 9.3, the norm of the constraint
force in the shoulder is exemplarily depicted. Here, the cost function minimising the constraint
forces naturally leads to the curve with the lowest area below. However, this criterion leads
to a relatively large control effort with alternating torque evolutions over time, see upper left
diagram in Figure 9.3. A numerical verification of angular momentum consistency is shown in
Figure 9.3 bottom right. The angular momentum changes exactly according to the actuating
torques and those resulting from gravity.
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−5
0
5
10
15
20
t [s]
joint torque τS θ1
[Nm]
minimum control effort
minimum torque change
minimum kinetic energy
minimum constraint forces
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10
0.5
1
1.5
2
t [s]
kin
etic e
ne
rgy [J]
minimum control effort
minimum torque change
minimum kinetic energy
minimum constraint forces
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 120
25
30
35
40
45
50
55
t [s]
minimum control effort
minimum torque change
minimum kinetic energy
minimum constraint forces
0 0.2 0.4 0.6 0.8 1
−0.5
0
0.5
x 10−10
(Ln+1−Ln) −τJ n
τ Mg
L1
L2
L3
−
Figure 9.3: Results of optimal control simulations with different cost functions. Evolution of the first component
of the torques in the shoulder τ 1θ1
over time (top left), evolution of the kinetic energy over time (top
right), evolution of the norm of the constraint force F 1ϕ in the shoulder over time (bottom left) and
consistency of angular momentum (bottom right).
When observing the motion itself, which is illustrated in Figure 9.4 for four distinct time nodes,
it is obvious that the criterion for minimum control effort does not lead to a realistic steering
motion, as it seems that there is a tendency of gaining momentum during the first time steps,
see Figure 9.4, left column. A similar behaviour shows up for the minimum constraint forces
criterion, which leads to unrealistic relative rotation between upper arm and forearm in the
end of the motion (see Figure 9.4, bottom right). The criteria of minimum torque change and
minimum kinetic energy both lead to realistic motion and reasonable evolutions of torques.
107
9 Model of the human arm
control effort torque change kinetic energy constraint forces
tn = 0.24 s tn = 0.24 s tn = 0.24 s tn = 0.24 s
tn = 0.52 s tn = 0.52 s tn = 0.52 s tn = 0.52 s
tn = 0.80 s tn = 0.80 s tn = 0.80 s tn = 0.80 s
tn = 1.04 s tn = 1.04 s tn = 1.04 s tn = 1.04 s
Figure 9.4: Resulting motion of optimal control simulations at four distinct time nodes for minimum control ef-
fort (first column), minimum torque change (second column), minimum kinetic energy criterion (third
column) and minimum constraint forces criterion (fourth column).
Remark. As DMOCC uses in this example a solver based on sqp (sequential quadratic pro-
gramming algorithm Snopt7 for Matlab), which provides only local solutions that strongly
depend on the initial guess, see [Leye 10], all simulations are started with the same initial guess
created by a forward dynamics simulation with initial velocities, in order to make the results
comparable. The problem of finding global solutions is a future challenge. Further on, the
focus of this example is not on minimal CPU-time, as no analytical gradients are provided.
On average the CPU time lies between two hours and one day. The solution for the minimum
constraint forces criterion is performed with a feasibility and optimality tolerance of 10−6, all
other calculations are performed with a feasibility and optimality tolerance of 10−8.
108
9.2 Numerical examples of human arm motion
9.2.2 Optimal control of lifting the arm with muscle actuation
9.2.2.1 The influence of different physiologically motivated cost functions
In this example, the arm is supposed to lift from an initial vertical position with neutral el-
bow pronation/supination angle to a flexed position. The optimal control problem can again
be formulated according to (7.1). During step 4 of the muscle path algorithm, a direct line
connection is chosen if no other connection is possible. The motion is a rest-to-rest manoeuvre,
which leads to constraints on the initial and final momentum p0 = pN = 0. Further on, the
initial configuration is predefined (u(t0) = u0) as well as the final location of the hand’s center
of mass via xh(tN) = xhN . In contrast to the first example, the joint torques in the elbow are
replaced by seven Hill-type muscle models representing the actuation of the most important
elbow muscles. Hence, the optimisation variables contain additionally the activations of the
seven muscles in each time step, replacing the torques in the elbow. This leads to the typical
redundancy of biomechanical problems, where usually more muscles are involved than degrees
of freedom are present.
The activations of the muscles are restricted to An ∈ [0, 1] for n = 1, . . . , N −1, and bounds on
the joint torques in the shoulder and the wrist are set to [−5, 5] N. By further bounds on the
configuration variables, unrealistic joint angles are avoided. The simulation time is tN = 0.52s
with a step size of ∆t = 0.02s, while gravity is present. Moreover, analytical gradients of the
cost function and the constraints are implemented, which naturally increases performance and
accuracy of the simulation. We compare several cost functions that minimise certain aspects
of the motion and choose Matlab’s fmincon solver with the algorithm option interior-point.
Especially for cost functions that are highly nonlinear in the optimisation variables, it seems
that the interior-point algorithm shows a better performance than for cost functions that are
linear or quadratic in the optimisation variables. In particular, if the solution is close to the
boundary of the admissible set, the sqp algorithm finds a similar local minimum. This effect has
to be investigated in future work to decide which algorithm type is appropriate for simulations
with muscle actuation.
Several initial guesses are used for this example and for comparability, only the best solutions,
achieved with the interior-point algorithm, are reported. We requested a feasibility and opti-
mality tolerance of 10−8. All simulations finished with exitflag 2, meaning a local minimum is
possible, even if the first order optimality is larger than the optimality tolerance. In particular
for the constraint force criterion, this is an issue. The CPU-times for these simulations lie
between 30 and 120 minutes.
Due to the implementation of muscle models, we can directly involve muscle related quantities
like activations or the resulting muscle forces into the cost function. One can for example ask for
a motion with minimal muscle activations (together with minimal torques in the other joints),
see (7.3), or for a motion with minimal changes in the muscle activations and joint torques,
see (7.7), similar to the criterion of minimal torque change in the first example without mus-
cles. Even the muscle forces can be involved and the minimisation of the muscle force effort
(again together with minimal torques in the other joints) can be the goal, see (7.4). Further
on, weighting the muscle forces by the cross sectional area of the muscles to calculate a stress
in the muscle is possible. Minimising this muscle stress criterion, see (7.5), probably leads to
a motion where the muscles with larger cross sectional area work more than thinner muscles.
109
9 Model of the human arm
The values of the cross sectional areas are taken from [Murr 00]. According to [Crow 81], this
criterion leads to a motion that can be performed with maximal endurance. A key challenge
for all cost functions is to find appropriate weighting factors to get reasonable results, where
both the muscle forces or activations and the joint torques in shoulder and wrist are optimised.
0 0.1 0.2 0.3 0.4 0.50
20
40
60
BIC BRD ELCR BRA PT SUP TRI
0 0.1 0.2 0.3 0.4 0.50
0.5
1
0 0.1 0.2 0.3 0.4 0.50
50
100
BIC BRD ELCR BRA PT SUP TRI
0 0.1 0.2 0.3 0.4 0.50
0.2
0.4
0.6
0.8
Figure 9.5: Activations and muscle forces of the elbow muscles while lifting the arm for a minimum activations and
joint torques criterion (7.3) (left) and for a criterion on minimum change in activations and joint torques
(7.7) (right).
0 0.1 0.2 0.3 0.4 0.50
20
40
60
BIC BRD ELCR BRA PT SUP TRI
0 0.1 0.2 0.3 0.4 0.50
0.5
1
0 0.1 0.2 0.3 0.4 0.50
20
40
60
80
BIC BRD ELCR BRA PT SUP TRI
0 0.1 0.2 0.3 0.4 0.50
0.5
1
Figure 9.6: Activations and muscle forces of the elbow muscles while lifting the arm for a minimum muscle forces
and joint torques criterion (7.4) (left) and for a criterion on minimum muscle stress and joint torques
(7.5) (right).
For the criterion of minimal activations and torques (7.3), the resulting muscle activations
and forces are depicted in the left hand part of Figure 9.5. Obviously, the activations of the
muscles are reduced compared to the resulting activations when using other criteria, see right
hand part of Figure 9.5 and both plots in Figure 9.6. Like for all other criteria, the main
part of muscle force is coming from musculus brachialis and musculus brachidorialis, which is
also reported in anatomy books like [Till 05]. The musculus biceps is also involved during the
first part of the motion but it produces only a small amount of force. This may be related
to the chosen insertion points, which can not be absolutely realistic because of the simplified
elbow mechanics in this model. However, it is frequently reported [Till 05] that the musculus
brachialis is the strongest muscle in elbow flexion and the musculus biceps is more responsible
110
9.2 Numerical examples of human arm motion
for pronation and supination movements, which should be investigated in future work. In the
right hand part of Figure 9.5 the resulting activations and muscle forces are illustrated for the
criterion of minimal changes in activations and joint torques (7.7). The evolution of activations
are nearly constant, which apparently yields a minimal change. This criterion leads to higher
muscle forces in contrast to the other results and especially musculus triceps is involved at the
beginning and the end of the motion. When minimising the muscle forces and the joint torques
(7.4), see left hand part of Figure 9.6, muscle forces are reduced. Yet they are comparable to
the result of the minimal effort criterion. However, for this criterion the muscle activations are
relatively high at time steps, where force-length (fl) or force-velocity (fv) factors are rather
low. There, a high activation has nearly no influence on the resulting muscle force. Thus, there
is no need to reduce the activation, which leads to mostly random activations if fl or fv are
close to zero. If the muscle forces are weighted by their cross sectional area and this resulting
muscle stress is minimised together with the joint torques (7.5), this yields muscle activations
as illustrated in the right hand part of Figure 9.6. The musculus triceps with the largest cross
sectional area is involved more, in particular at the beginning and the end of the motion. The
musculus brachialis takes over some part of the force for the musculus brachidorialis, which has
a smaller cross sectional area.
0 0.1 0.2 0.3 0.4 0.50
20
40
60
BIC BRD ELCR BRA PT SUP TRI
0 0.1 0.2 0.3 0.4 0.50
0.5
1
0 0.1 0.2 0.3 0.4 0.50
20
40
60
80
100
120
140
160
180
minimum activities & joint torquesminimum change of activities & joint torques
minimum muscle forces & joint torques
minimum muscle stress & joint torquesminimum constraint forces
Figure 9.7: Activations and muscle forces of the elbow muscles while lifting the arm for a minimum constraint forces
criterion (7.11) (left) and the norm of the constraint force in the elbow (F 2ϕ) for all criteria (right).
The right hand part of Figure 9.7 shows the evolution of the norm of the constraint force in
the elbow. The amount of constraint force is obviously reduced when using the minimum con-
straint force criterion. In particular, at the beginning and the end of the motion larger muscle
forces arise, while during the mid time of the motion only small muscle forces are necessary,
as depicted in the left hand part of Figure 9.7. However, the high torque effort of the motion
(alternating as in the first example without muscles) increases the total effort of the motion to
a value higher than that of the minimised muscle force and joint torques criterion.
The snapshots of the motions obtained from the optimal control simulations with the different
criteria (Figure 9.8) show comparable final configurations for the criteria of minimal activa-
tions and joint torques, minimal muscle forces and joint torques as well as for minimal muscle
stresses and joint torques. Note that for all simulations only the final position of the hand’s
center of mass is prescribed. However, the whole motions slightly differ. The motion and the
end configuration for the minimal control change criterion and the minimal constraint forces
111
9 Model of the human arm
criterion differ substantially from the others. Both trajectories of the hand seem rather smooth,
while minimising the constraint forces yields a considerable lateral motion of the elbow and the
minimal change in activations and joint torques yields the most natural looking motion.
Figure 9.8: Resulting arm motions from the optimal control simulations: Minimal activations and joint torques (7.3),
minimal change in activations and joint torques (7.7), minimal muscle forces and joint torques (7.4),
minimal muscle stresses and joint torques (7.5) and minimal constraint reactions (7.11) (from top to
bottom).
112
9.2 Numerical examples of human arm motion
9.2.2.2 The influence of dynamical muscle path on optimal control simulations
Again, the lifting motion of a human arm from a mostly outstretched initial configuration to
a final configuration with flexed elbow, where only the position of the hand’s center of mass
is prescribed, is investigated in the following example. In contrast to the first example, the
initial configuration of the forearm conforms a neutral pronation/supination position. For
this purpose, slight rearrangements of the muscle insertion points are necessary to enable the
fulfilment of the initial condition p0 = 0. In particular, the paths of musculus supinator and
musculus pronator are supposed to be symmetric in the pronated initial configuration and the
triceps muscle insertion on the olecranon is represented by a gap between the force insertion
point and the cylinder surface of the second body.
0 0.1 0.2 0.3 0.4 0.50
50
100
150
BIC BRD ELCR BRA PT SUP TRI
0 0.1 0.2 0.3 0.4 0.50
0.5
1
0 0.1 0.2 0.3 0.4 0.50
50
100
150
BIC BRD ELCR BRA PT SUP TRI
0 0.1 0.2 0.3 0.4 0.50
0.5
1
Figure 9.9: Resulting muscle forces and muscle activations from optimal control simulations of lifting the arm with
direct line connection (left) and with dynamical muscle path (right).
Furthermore, from now on the path that least intersects the bodies is chosen in step 4 of
the muscle path algorithm, in order to improve convergence. All other constraints as well
as the simulation time and the time step are equal to those of the first arm lifting example.
The problem is formulated with different approaches on the muscle path. First, a direct line
connection between the muscle insertion points is used and finally compared to a dynamical
muscle path approach.
The difference in muscle length evolution over time for the two muscle path approaches is
illustrated in the left hand part of Figure 9.9. Obviously, the elongation of the extensor muscles
(TRI and ECRL) is not represented correctly when using a direct line connection, since the path
is in this case not redirected around the joint. With the dynamical muscle path, the elongation
of the extensor muscles during this motion is visible. Likewise comparing the two approaches,
the PT muscle and the SUP muscle show a different behaviour at the end of the motion.
Only for the BRD muscle both muscle path approaches yield a similar length evolution. The
resulting muscle forces and muscle activations are shown in the right hand part of Figure 9.9.
The direct line approach yields constant muscle activation of mainly the PT muscle, while for
the dynamical muscle path approach we get a larger diversity of active muscles, which is typical
for biomechanical motions. Another main difference between both approaches becomes clear
when investigating the occurring muscle force directions.
113
9 Model of the human arm
Figure 9.10: Force directions on unit sphere exemplarily for musculus pronator teres with direct line connection (left)
and with dynamical muscle path (right).
As the force directions are unit vectors, they can be represented as points on a unit sphere,
which is exemplarily shown for the PT muscle in Figure 9.10. Note that the time evolution of
the force directions is highlighted via the color of the points. The direction of the force acting
on the upper arm is plotted from red (t = t0) to yellow (t = tN), while the direction of the
force acting on the forearm is depicted from blue (t = t0) to green (t = tN). While the direct
line approach naturally leads to force directions that lie mirror-inverted on this unit sphere
(see Figure 9.10, left), the dynamical path around the joints yields asymmetric force directions
on both bodies. Both force directions substantially differ from those generated with the direct
line approach. This is a key difference to the direct line approach, with which an asymmetric
behaviour, representing the sliding of the muscle around the bodies and joints, cannot be
represented. However, due to the discontinuous behaviour of the muscle path algorithm, there
may be slight inaccuracies in the gradients of the optimal control problem, particularly if
unrealistic configurations are tested by the solver. Hence, using the introduced muscle path
algorithm decelerates the convergence behaviour of the optimal control simulations.
9.2.2.3 Weight lifting
Lifting a weight is a well known everyday motion. We therefore add a point mass of 2kg, 5kg
and 10kg to the hand’s center of mass within the second example, while the same initial and
final conditions as described in the last section are present. In Figure 9.11, snapshots of the
resulting motions are illustrated.
114
9.2 Numerical examples of human arm motion
Figure 9.11: Snapshots of the resulting arm motion from optimal control simulations of weight lifting with point
mass of 2kg (top left), 5kg (top right) and 10kg (bottom) placed in the center of mass of the hand.
The evolution of muscle forces and activations is illustrated for different weights in Figure 9.12.
When adding a point mass of 2kg (top left part of Figure 9.12), we can see that the activa-
tions and muscle forces are considerably increasing compared to Figure 9.9 and the muscles
performing the motion are similar to those used without additional mass (see right hand part
of Figure 9.9). PT and SUP muscle initiate the motion, while the other flexor muscles slowly
increase their activation. Further increase of the point mass to 5kg (9.12, top right) yields
even higher muscle forces and activations. In addition to the activation of PT and SUP, the
muscle activations of BIC and BRA go up to maximal activation during the motion and the
activation of BIC is now comparable to the activation of BRA, while for motions with lower
additional mass, BIC is less involved than BRA. With a point mass of 10kg (see bottom part
of Figure 9.12), BRA and BIC are maximally activated for nearly the complete simulation time
and also the extensor muscles ECRL and TRI produce a remarkable amount of force. For the
simulation with an additional point mass of 10kg, an inequality constraint on the joint angles
in the wrist is necessary to meet anatomical restrictions.
115
9 Model of the human arm
0 0.1 0.2 0.3 0.4 0.50
100
200
300
BIC BRD ELCR BRA PT SUP TRI
0 0.1 0.2 0.3 0.4 0.50
0.5
1
0 0.1 0.2 0.3 0.4 0.50
200
400
600
BIC BRD ELCR BRA PT SUP TRI
0 0.1 0.2 0.3 0.4 0.50
0.5
1
0 0.1 0.2 0.3 0.4 0.50
200
400
600
800
BIC BRD ELCR BRA PT SUP TRI
0 0.1 0.2 0.3 0.4 0.50
0.5
1
Figure 9.12: Resulting muscle forces and muscle activations from optimal control simulations of weight lifting with
point mass of 2kg (top left), 5kg (top right) and 10kg (bottom) placed in the center of mass of the
hand.
9.2.3 Stocking a shelf – the influence of different cost functions
In order to investigate more complicated motions, a further adaption of the triceps muscle path
is necessary. In reality the triceps path is hardly sliding around the bones, as it inserts on the
olecranon and is therefore not affected by relative rotations of upper arm and forearm. This
is implemented by defining the insertion of the triceps in a further orthogonal body frame in
the second body that is not affected by relative rotations. This body frame [d2∗1 ,d2∗
2 ,d2∗3 ] is
constructed as follows
d2∗1 = d1
1, d2∗3 = d2
3, d2∗2 = d2∗
3 × d2∗1 (9.9)
Generally, such a formulation can be used for every muscle that inserts on the ulnar and is
therefore not affected by a pronation/supination motion. However, for the triceps muscle this
has the largest effect as therewith it is ensured that there is always a possibility to extend
the arm. With this slight modification of the model, the arm can be lifted much higher and
a workplace motion like stocking a shelf can be simulated. Here, the arm starts again at an
initial hanging position with zero initial momentum. At the end of the motion, a position over
the head has to be reached with the hand’s center of mass, while the orientation of the upper
arm is bounded by an inequality constraint d12,N ·e2 < 0 in order to prevent unrealistic shoulder
rotations around the longitudinal axis. Again bounds are prescribed restricting the joint angles
116
9.2 Numerical examples of human arm motion
of elbow and wrist to stay in realistic ranges during the motion. To represent an item that is
placed into the shelf, a point mass of 0.5kg is added to the center of mass of the hand. The
problem is discretised with N = 27 time steps. The goal of the optimal control problem is
formulated using different criteria. If such a motion has to be performed several times a day,
one would probably try to minimise the control effort of the motion, see (7.3). Apart from that,
a criterion on minimal changes in torques or muscle activations (7.7) is examined. Furthermore,
the goal can also be to perform the motion as fast as possible, see criterion (7.12). For the
afore-mentioned criteria, the time step size is included in the set of optimisation variables as
well, with bounds at [0.0075, 0.0125]s, i.e. the end time of the simulation is free. If one aims at
performing very smooth motions with minimal changes in acceleration, a criterion like (7.10) is
of interest, while in order to avoid joint pain, it can be beneficial to reduce the joint reactions
during the motion, see (7.11). In particular the last mentioned criterion is of high nonlinearity,
and the discontinuities resulting from the muscle path computation may influence both the
objective and the constraints. In addition to that, the value of the cost function is relatively
large when using the criteria (7.11), (7.10) or (7.7).
0 0.05 0.1 0.15 0.2 0.25 0.30
200
400
BIC BRD ELCR BRA PT SUP TRI
0 0.05 0.1 0.15 0.2 0.25 0.30
0.5
1
0 0.05 0.1 0.15 0.2 0.25 0.30
0.5
1
0 0.05 0.1 0.15 0.2 0.25 0.30
0.5
1
0 0.05 0.1 0.15 0.2 0.25 0.3−10
0
10
0 0.05 0.1 0.15 0.2 0.25 0.3−20
0
20
0 0.05 0.1 0.15 0.2 0.25 0.3−20
0
20
0 0.05 0.1 0.15 0.2 0.25 0.3−5
0
5
0 0.05 0.1 0.15 0.2 0.25 0.3−5
0
5
Figure 9.13: Minimum control effort criterion: Muscle forces, muscle activations, force-length and force-velocity
evolution (left) and joint torque actuation in shoulder and wrist (right).
In Figure 9.13, the results for the muscle forces and joint torques using the minimum control
effort criterion are depicted. On the left hand side, all multiplicative factors that produce the
force of the contractile element are plotted, see (6.19). The right hand side shows the torque
evolution in the shoulder (three top plots) and in the wrist (two bottom plots). The main
muscle forces are generated by TRI, BRA and PT and the main joint torques are present in the
shoulder. The resulting motion follows a nearly direct connection to the target point illustrated
in red, see Figure 9.14, and arrives at the target position from below.
117
9 Model of the human arm
Figure 9.14: Minimum control effort criterion: Snapshots of the resulting motion at different time steps (time in
[s]).
118
9.2 Numerical examples of human arm motion
A criterion minimising the change in torque and activations (7.7) yields smoother evolutions of
the muscle forces and joint torques, see Figure 9.15. However, the effort of the motion increases
mainly regarding the muscle activations. A large variety of muscles are active and produce
significantly higher forces compared to the minimum control effort criterion, see Figure 9.13.
Throughout the motion, particularly the BRD muscle shows a remarkable activation.
0 0.05 0.1 0.15 0.2 0.25 0.30
100
200
BIC BRD ELCR BRA PT SUP TRI
0 0.05 0.1 0.15 0.2 0.25 0.30
0.5
1
0 0.05 0.1 0.15 0.2 0.25 0.30
0.5
1
0 0.05 0.1 0.15 0.2 0.25 0.30
0.5
1
0 0.05 0.1 0.15 0.2 0.25 0.3−2
0
2
0 0.05 0.1 0.15 0.2 0.25 0.3−20
0
20
0 0.05 0.1 0.15 0.2 0.25 0.30
1
2
0 0.05 0.1 0.15 0.2 0.25 0.3−5
0
5
0 0.05 0.1 0.15 0.2 0.25 0.3−2
0
2
Figure 9.15: Minimum control change criterion: Muscle forces, muscle activations, force-length and force-velocity
evolution (left) and joint torque actuation in shoulder and wrist (right).
In Figure 9.16, snapshots of the resulting motion are depicted. The trajectory of the hand is
much more curved, in particular at the end of the motion, and the target is reached from the
top front side. For both criteria related to torques and activations, the time step size is at its
maximal bound for the optimal solutions.
119
9 Model of the human arm
Figure 9.16: Minimum control change criterion: Snapshots of the resulting motion at different time steps (time in
[s]).
120
9.2 Numerical examples of human arm motion
Another frequently used goal in performing such workplace motions is a minimised motion time.
The resulting muscle forces and joint torques are illustrated in Figure 9.17. The x-axis of the
plots shows a reduction in simulation time, actually the time step size is reduced about 8%,
enabled by a significantly larger amount of muscle forces and joint torques and a large number
of active muscles.
0 0.05 0.1 0.15 0.2 0.250
500
1000
BIC BRD ELCR BRA PT SUP TRI
0 0.05 0.1 0.15 0.2 0.250
0.5
1
0 0.05 0.1 0.15 0.2 0.250
0.5
1
0 0.05 0.1 0.15 0.2 0.250
0.5
1
0 0.05 0.1 0.15 0.2 0.25−10
0
10
0 0.05 0.1 0.15 0.2 0.25−20
0
20
0 0.05 0.1 0.15 0.2 0.25−20
0
20
0 0.05 0.1 0.15 0.2 0.25−5
0
5
0 0.05 0.1 0.15 0.2 0.25−5
0
5
Figure 9.17: Minimum manoeuvre time criterion: Muscle forces, muscle activations, force-length and force-velocity
evolution (left) and joint torque actuation in shoulder and wrist (right).
The hand takes a relative short direct trajectory in this case (see Figure 9.18) and arrives at
the target point from the front, but with the dorsum first.
121
9 Model of the human arm
Figure 9.18: Minimum manoeuvre time criterion: Snapshots of the resulting motion at different time steps (time in
[s]).
122
9.2 Numerical examples of human arm motion
From an ergonomical point of view, it is beneficial to reduce the joint reactions. Therefore we use
a criterion given in (7.11). As mentioned, it is difficult to get solutions with this highly nonlinear
objective. As the simulation time did not show a significant difference between the control effort
and the control change criterion, the time step is excluded from the optimisation variables and
set to 0.0125s for this simulation in order to keep the simulation results comparable.
0 0.05 0.1 0.15 0.2 0.25 0.30
100
200
BIC BRD ELCR BRA PT SUP TRI
0 0.05 0.1 0.15 0.2 0.25 0.30
0.5
1
0 0.05 0.1 0.15 0.2 0.25 0.30
0.5
1
0 0.05 0.1 0.15 0.2 0.25 0.30
0.5
1
0 0.05 0.1 0.15 0.2 0.25 0.3−10
0
10
0 0.05 0.1 0.15 0.2 0.25 0.3−20
0
20
0 0.05 0.1 0.15 0.2 0.25 0.3−20
0
20
0 0.05 0.1 0.15 0.2 0.25 0.3−5
0
5
0 0.05 0.1 0.15 0.2 0.25 0.3−5
0
5
Figure 9.19: Minimum joint reaction criterion: Muscle forces, muscle activations, force-length and force-velocity
evolution (left) and joint torque actuation in shoulder and wrist (right).
The muscle activations and forces are relatively low in order to reduce the elbow compression,
see left hand part of Figure 9.19. However, they are not as low as for the control effort criterion.
The joint torques illustrated in the right hand part of Figure 9.19 imply a completely different
motion for this criterion, which is depicted in snapshots in Figure 9.20. Here, the shoulder
is rotated around the anterior-posterior axis first, such that the elbow is moving laterally.
Afterwards, the hand is lifted to the target from below.
123
9 Model of the human arm
Figure 9.20: Minimum joint reaction criterion: Snapshots of the resulting motion at different time steps (time in
[s]).
124
9.2 Numerical examples of human arm motion
When optimising the angular jerk of the motion, the simulation time step is also excluded
from the optimisation variables and set to 0.125s. This criterion yields a significantly higher
amount of muscle activations and forces (Figure 9.21, left) and a distinctly smooth evolution
of force-length and force-velocity factors.
0 0.05 0.1 0.15 0.2 0.25 0.30
500
1000
BIC BRD ELCR BRA PT SUP TRI
0 0.05 0.1 0.15 0.2 0.25 0.30
0.5
1
0 0.05 0.1 0.15 0.2 0.25 0.30
0.5
1
0 0.05 0.1 0.15 0.2 0.25 0.30
0.5
1
0 0.05 0.1 0.15 0.2 0.25 0.3−50
0
50
0 0.05 0.1 0.15 0.2 0.25 0.3−50
0
50
0 0.05 0.1 0.15 0.2 0.25 0.3−50
0
50
0 0.05 0.1 0.15 0.2 0.25 0.3
−4
−2
0
0 0.05 0.1 0.15 0.2 0.25 0.3−5
0
5
Figure 9.21: Minimum jerk criterion: Muscle forces, muscle activations, force-length and force-velocity evolution
(left) and joint torque actuation in shoulder and wrist (right).
The joint torque evolutions are obviously different from the other motions. Apparently, com-
pensational joint toques reduce changes in acceleration. The result is a very smooth and
completely different motion, see Figure 9.22. The arm performs a retroverse motion around
the anterior-posterior axis in the shoulder and is then redirected in a bow back to the target,
which probably saves deceleration.
125
9 Model of the human arm
Figure 9.22: Minimum jerk criterion: Snapshots of the resulting motion at different time steps (time in [s]).
126
9.2 Numerical examples of human arm motion
The significant reduction in joint reactions, when using the appropriate criterion, can be recog-
nised in Figure 9.23, illustrating the constraint forces and the constraint torques in the joints
on the left hand side and the right hand side, respectively.
0 0.05 0.1 0.15 0.2 0.25 0.30
200
400
600
800
0 0.05 0.1 0.15 0.2 0.25 0.30
500
1000
1500
2000
0 0.05 0.1 0.15 0.2 0.25 0.30
100
200
300
minimum manoeuvre time
minimum control change
minimum effort
minimum joint reaction
minimum jerk
0 0.05 0.1 0.15 0.2 0.25 0.30
5
10
15
20
25
30
35
0 0.05 0.1 0.15 0.2 0.25 0.30
5
10
15
20
25
30
Figure 9.23: Evolution of constraint forces in all joints (left) and constraint torques in elbow and wrist (right) for
all criteria.
In contrast to that, the minimal time criterion and the minimal jerk criterion both yield re-
markably large constraint forces, in particular in the elbow, where the largest constraint force
of all motions appears (middle plot of Figure 9.23). This mainly results from the muscle forces,
that compress the joint. Obviously, this is also the reason why a criterion minimising the mus-
cle activations and therefore reducing the muscle forces yields relatively low constraint forces
in the elbow. The evolution of the generalised configuration variables over simulation time,
see Figure 9.24, demonstrates the effect of using a minimal jerk criterion. The left part of
the figure shows the three degrees of freedom in the shoulder, while the right hand part shows
two degrees of freedom in each cardan joint (the upper two plots for the elbow, the lower two
plots for the wrist). With the minimum jerk criterion, those curves get significantly smoother.
They nearly show a linear or even constant behaviour over time for all degrees of freedom. In
contrast to that, the other criteria show a partially jagged evolution, in particular for elbow
pronation/supination motions. Note that for all simulations (see Figures 9.13, 9.15, 9.17, 9.21
and 9.19), the force-length and force-velocity factors show smooth evolutions, despite this is a
really large motion, where many non-differential transitions between the different muscle path
combinations occur over time for each muscle.
127
9 Model of the human arm
0 0.05 0.1 0.15 0.2 0.25 0.3
−0.2
0
0.2
0 0.05 0.1 0.15 0.2 0.25 0.3
−0.2
0
0.2
0.4
0.6
0 0.05 0.1 0.15 0.2 0.25 0.3
0
0.5
1
minimum manoeuvre time
minimum control change
minimum effort
minimum joint reaction
minimum jerk
0 0.05 0.1 0.15 0.2 0.25 0.3
−0.2
0
0.2
0 0.05 0.1 0.15 0.2 0.25 0.3
−0.4
−0.2
0
0.2
0.4
0 0.05 0.1 0.15 0.2 0.25 0.3
−2
0
2
0 0.05 0.1 0.15 0.2 0.25 0.3
−2
−1
0
1
Figure 9.24: Evolution of generalised configuration variables in the shoulder (left) and in elbow and wrist (right) for
all criteria.
Remark 9.2.1 (Initial guesses, numerical accuracy and optimisation options) For this ex-
ample, numerous initial guesses are tested and the best solutions obtained are presented. Initial
guesses are generated by slightly disturbing feasible solutions, e.g. by varying the time step size.
The total number of optimisation variables is 501, for minimum control effort, minimum con-
trol change and minimum manoeuvre time criteria, the time step size is an additional variable.
There are bounds on all variables and the problem is subject to 109 nonlinear inequality con-
straints and 292 nonlinear equality constraints. The simulation times lie between 20 minutes
and several hours for each simulation. All simulations finished with exitflag 5, indicating that
a local minimum is possible, even if the first order optimality is not fulfilled. In future work,
this should be examined further, together with the challenge of finding global minima.
128
9.2 Numerical examples of human arm motion
9.2.4 On long throw and shot put
Among many sports motions, a definitely common movement is throwing. It plays an important
role in ball sports, to precisely pass the ball to a teammate in order to overcome far distances
in a short time. In other disciplines like long throw, javelin throw or shot put, a maximal
throw distance is the goal. In ancient times, throwing was of major importance for efficient
hunting. Anthropologists even suppose that these throwing motions encouraged the evolution
of the human brain by evolving new brain structures [Wash 79, Calv 97].
Within this numerical example, throwing with the goal of maximal throw distance is examined
using the introduced arm model. Hence, a goal has to be formulated that leads to a maximal
velocity of the hand, i.e. the ball, in throw direction during the last time step of the simulation.
One possibility to realise this is shown in (7.14). This formulation is less nonlinear compared
to formulations involving the conjugate momentum, see [Leye 10]. The arm is fixed in space in
the shoulder joint and the simulation starts from a predefined initial arm position, as illustrated
in the first plot of Figure 9.25, with an initial momentum p0 = 0. The end configuration is not
strictly predefined but implemented via inequality constraints. They require an orientation of
palm forward and a distance to the origin in the shoulder of minimal 0.2m in positive e2, e3
direction at the end of the simulation time. Further inequality constraints are set on the joint
angles as illustrated in Table 9.1 via constraining the scalar products of the directors or via an
approximation on the joint angle by summing up the generalised configuration variables.
Table 9.1: Restrictions on joint angles implemented with inequality constraints.
joint rotation dof min. angle max. angle inequality constraint
elbow flexion/extension 0◦ 180◦(d12
)T· d2
3 < 0
pronation/supination −90◦ 90◦ −π
2<∑j
n=1 uC12,j <
π
2wrist circumduction −90◦ 90◦ −
(d23
)T· d2
3 < 0
Restricting the joint angles in the shoulder to anatomical realistic angles is even more compli-
cated, as the range of possible shoulder motion depends on the configuration of the forearm.
While for a supinated forearm, complete rotation cycles in the sagittal plane (anteversion–
retroversion) are possible in both directions, there exists a bound on the shoulder rotation,
if the forearm is pronated. This biomechanical constraint is conquerable only by a voluntary
so called ’adjunct’ rotation around the longitudinal axis to perform a closed ergonomic cycle
[Kapa 92]. Particularly, this effect occurs during swimming motions but also within a throwing
motion, if the motion starts from a retroverse shoulder position.
Hence, to circumvent a case dependent inequality constraint in this numerical example, an
initial configuration is prescribed, where the upper arm is adducted and the forearm is flexed
at 90◦, see first plot in Figure 9.25. A further inequality constraining the hand to positive
e3-direction prevents the upper arm from too large rotations around its longitudinal axis.
Additionally, the centres of mass of the single bodies are constrained to positive e1-directions
in every time step, to prevent the arm from collisions with the pitchers body. The simulation
time is free, as the size of the time step ∆t is included in the set of optimisation variables. The
bounds on the time step size are set to [0.0175, 0.0225]s and the problem is discretised with
129
9 Model of the human arm
N = 15 time steps. Furthermore, there is a bound on the maximal control effort of the motion.
9.2.4.1 Long throw
In this simulation, the focus is on long throw, which is typically performed during sports
education with a small, lightweight ball. To represent the mass of a ball, a point mass of 0.2kg
is added to the hand’s center of mass. Because of the implemented muscle actuation, this
problem is of substantially higher nonlinearity compared to the problem described in [Leye 10].
Figure 9.25: Snapshots of an optimal throw motion.
For an optimal throw motion, momentum is gained by taking the arm far back. Then, the
130
9.2 Numerical examples of human arm motion
arm is usually pulled fast forward like a pitch with the elbow ahead. The biomechanical
principle behind optimal throwing motions is called ’principle of optimal acceleration distance’,
see [Hoch 81]. It states that the longer a constant force acts on a body, the higher is the
final velocity of this body. For throwing motions, this means there is an optimal backswing
motion according to length and direction. However, the optimal trajectory of the throw is not
necessarily the longest path. Excessive backswing motions can also be counterproductive, as
muscles can be stretched over their optimal length, see for example [Sche 10].
0 0.05 0.1 0.15 0.20
500
1000
BIC BRD ELCR BRA PT SUP TRI
0 0.05 0.1 0.15 0.20
0.5
1
0 0.05 0.1 0.15 0.20
0.5
1
0 0.05 0.1 0.15 0.20
0.5
1
0 0.05 0.1 0.15 0.2−50
0
50
0 0.05 0.1 0.15 0.2−50
0
50
0 0.05 0.1 0.15 0.2−50
0
50
0 0.05 0.1 0.15 0.2−0.5
0
0.5
0 0.05 0.1 0.15 0.2−0.5
0
0.5
Figure 9.26: An optimal throw motion: Muscle forces, activations, force-length and force-velocity factor (from top
to bottom, left) and joint torques in the shoulder and in the wrist (from top to bottom, right).
Comparing this to the resulting motion of the optimal control simulation, see snapshots in
Figure 9.25, a large coincidence can be found, in particular concerning the gaining of momentum
by an posterior shoulder motion and the elbow being ahead during the final steps. However,
there certainly exist differences to real throwing motions, as this optimal control simulation
treats a standing throw, while typical throw motions are done with a run up and an additional
twist of the upper body.
The muscle forces that are generated to perform this throwing motion are illustrated in the
left hand part of Figure 9.26, together with the activations of the muscles and the evolutions
of the force-length and force-velocity factors. A large variety of muscles is active to perform
this motion and a large amount of muscle forces is produced, in particular by TRI and ECRL
in order to stretch the arm in the beginning and the end of the motion. In the middle of the
motion, BRA and PT induce a flexion of the elbow. As the triceps muscle is not affected by
pronation/supination motions, and as its insertion point on the olecranon is close to the elbow
joint, this muscle is only affected by small length changes, leading to a fl factor close to the
maximum during the whole motion. In contrast to that, the supinator muscle is naturally highly
131
9 Model of the human arm
affected by the large pronation/supination motions during the throw, hence its fl factor changes
more over the simulation time. All other flexor muscles show a contraction in the beginning,
followed by an elongation again. The force-velocity factor of the triceps stays close to 1, for
all other muscles it changes more significantly from contraction to elongation. Altogether, the
force-length and force-velocity behaviour is smooth, even when using larger time steps as in
the examples before.
0 0.1 0.20
50
100
150
200
250
300
350
400
time [s]
kine
tic e
nerg
y [J
]
0 0.1 0.2−4
−2
0
2
4
6
8
10
12
time [s]
pote
ntia
l ene
rgy
[J]
0 0.1 0.20
50
100
150
200
250
300
350
400
time [s]
tota
l ene
rgy
[J]
Figure 9.27: An optimal throw motion: Evolution of kinetic, potential and total energy over time.
In addition to the muscle actuation in the elbow, the shoulder and the wrist are actuated by
joint torques. Corresponding to the number of degrees of freedom in these joints, the shoulder
is actuated by joint torques τ S ∈ R3 and the wrist is actuated by joint torques τC ∈ R2. The
evolution of these joint torques is depicted in the right hand part of Figure 9.26. The upper
three plots show the torques in the shoulder, while the fourth and fifth plot show the torques
in the wrist. In reality no arbitrary large joint torques are possible, hence they are bound
within the simulation to [−50Nm, 50Nm] in the shoulder and [−0.5Nm, 0.5Nm] in the wrist.
Obviously, the torques are at their bounds during the last time step to generate a large final
momentum and it is also made full use of the limit on the maximal effort of the motion.
When looking at the energy evolution over time, see Figure 9.27, a strong increase in kinetic and
total energy is visible with its maximum at the end of the motion, indicating a maximal velocity
then. The potential energy is slightly varying because of a change in altitude of the bodies.
132
9.2 Numerical examples of human arm motion
The final optimal value of the objective is Jd = −29.45m
s, which means a throw distance about
R = 88.45m.
9.2.4.2 Shot put
In a second example, we investigate a shot put motion. Shot put belongs to the ’track and
field’ athletic disciplines and is part of the olympic games. The goal is to push the shot as far
as possible with an explosive motion of the arm.
Figure 9.28: Snapshots of an optimal shot put motion with a point mass of 7.257kg.
133
9 Model of the human arm
To represent the shot (a heavy spherical object) we increase the point mass on the hand’s center
of mass to 7.257kg, which is the official weight of the men’s shot. Note that concerning the
problem description above, generally nothing but the added point mass has to be changed to
simulate a shot put motion instead of a long throw motion. To get a more realistic shot put
motion, the bound on the maximal effort of the motion is increased and the bounds on the
torques of the wrist are set to [−5Nm, 5Nm] to enable the pushing of the heavy shot.
0 0.05 0.1 0.15 0.2 0.25 0.30
500
1000
BIC BRD ELCR BRA PT SUP TRI
0 0.05 0.1 0.15 0.2 0.25 0.30
0.5
1
0 0.05 0.1 0.15 0.2 0.25 0.30
0.5
1
0 0.05 0.1 0.15 0.2 0.25 0.30
0.5
1
0 0.05 0.1 0.15 0.2 0.25 0.3−50
0
50
0 0.05 0.1 0.15 0.2 0.25 0.3−50
0
50
0 0.05 0.1 0.15 0.2 0.25 0.3−50
0
50
0 0.05 0.1 0.15 0.2 0.25 0.3−5
0
5
0 0.05 0.1 0.15 0.2 0.25 0.3−5
0
5
Figure 9.29: An optimal shot put motion: Muscle forces, activations, force-length and force-velocity factor (from
top to bottom, left) and joint torques in the shoulder and in the wrist (from top to bottom, right).
As an initial guess for this optimal control simulation, a feasible solution with the larger point
mass is created from the optimal long throw motion shown in Figure 9.25. Like the long
throw motion, an optimal motion follows the ’principle of optimal acceleration distance’, where
the optimal distance is not necessarily the longest distance. Instead of a continuously curved
trajectory of the hand in case of a long throw, in shot put a pushing motion, i.e. a straight
acceleration distance, is known to be optimal. The shot put motion resulting from the optimal
control simulation is illustrated in Figure 9.28. The gaining of momentum, which is typical for
long throw motions, is not observable anymore and, as it is typical for shot put motions, the
heavy shot is held close to the neck during a long part of the motion. During the last steps of
the motion, the arm pushes forward explosively. Concluding, the resulting optimal arm motion
during shot put is similar to the illustrations in sports education literature, see for example
[Mull 12], in particular if one keeps in mind that one main part of the motion, the twist of
the upper body, is not included in the model. The muscle forces and activations involved in
this optimal shot put motion are illustrated in the left hand part of Figure 9.29. Compared
to the long throw motion, the muscle forces are not much larger, but more muscles are active
for a longer time. Likewise, the force-length and in particular force-velocity behaviour of the
134
9.2 Numerical examples of human arm motion
muscles is different, in particular the shot put motion is slower than the long throw motion.
When looking at the joint torques depicted in the right hand part Figure 9.29, one can see
that the whole range of possible joint torques is made use of, especially in the shoulder joint
during the last time steps. As in the long throw example, the total and kinetic energy shown in
Figure 9.30 are increasing explosively at the end of the motion. The potential energy is larger
because of the heavy additional point mass, but it does not go above the initial value in the
end, as the hand holding the heavy point mass stays close to the neck and is rather pushed
forward. The final optimal value of the objective is in this case Jd = −9.47m
s, which means a
push distance about R = 9.15m.
0 0.20
100
200
300
400
500
600
time [s]
kine
tic e
nerg
y [J
]
0 0.2−5
0
5
10
15
20
25
30
time [s]
pote
ntia
l ene
rgy
[J]
0 0.20
100
200
300
400
500
600
time [s]
tota
l ene
rgy
[J]
Figure 9.30: An optimal shot put motion: Evolution of kinetic, potential and total energy over time.
Remark 9.2.2 (Initial guesses, numerical accuracy and optimisation options) The solutions
of these numerical examples are computed with Matlab’s fmincon using the active-set algorithm.
Further on, a numerical tolerance of 10−6 is set for constraint fulfilment (TolCon), function
tolerance (TolFun) and optimisation variable tolerance (TolX).
For the long throw example, feasible solutions of the problem are computed with an objective
function Jd = 1 by starting from an initial forward dynamics simulation and slightly varying
the actuating joint torques.
For the initial guess of the shot put example, a feasible solution is created from the long throw
solution with the additional point mass and an objective function Jd = 1.
135
9 Model of the human arm
The optimal control simulations terminated with exitflag 5 again, indicating that a local min-
imum is possible, even if the first order optimality is not fulfilled. The creation of different
initial guesses and the issue of finding global minima is to be examined in future work.
136
9.3 Summary and outlook on future work
9.3 Summary and outlook on future work
This chapter focusses on the application of an optimal control formulation for constrained forced
multibody systems called DMOCC (see [Leye 10]) to biomechanical optimal control problems
including muscle actuation. In this context, we introduce a model of the human arm with
muscle actuation of the elbow by seven muscles represented by Hill-type muscle models.
First, simple numerical examples of lifting the arm are shown to investigate the influence of
dynamical muscle paths and examine weight lifting motions. After that, a typical workplace
motion is simulated, where the arm has to be lifted from a hanging position to a position
over the head, which represents a shelf stocking motion. Here, several objective functions are
compared, which lead to significantly different muscle activations and joint torques and result
in different motions. This shows the wide application spectrum of this method. Only by
adjusting the objective, completely different investigations are possible concerning efficiency,
ergonomics or safe transport of fragile objects. Finally, the model is used to solve optimal control
problems of typical sports motions like long throw and shot put, where the goal is to perform
a throw of maximal distance. To account for this goal, a criterion, i.e. a discrete objective
function is formulated, that maximises the velocity of the hand’s center of mass in direction
of the throw at the end of the motion. For both examples, the same problem formulation,
constraints and objective function are used, only the additional point mass, representing the
lightweight ball or the heavy shot, and the bound on torques and effort of the motion are
different. Nevertheless, the solution of the optimal control problem yields different motions in
both cases that fit well to the motion sequences for these types of sport known from literature.
While the optimal long throw motion is gaining momentum and increasing the acceleration
distance by a posterior shoulder motion, the optimal shot put motion keeps the heavy weight
close to the neck reducing the lever arm of its gravitational force. Furthermore, a difference in
optimal motion time becomes apparent. While the long throw motion is performed as fast as
possible due to the bounds, the shot put motion takes more time, which enables more muscles
to produce forces in order to move the heavy shot.
Concluding, all those numerical examples show that the method is able to predict optimal
motions according to the formulated optimality criterion. However, as DMOCC is a direct
transcription method, only local solutions are found and the issue of finding global minima is
a topic for future investigations. Moreover, the muscle parameters responsible for the shape
of the force-length and force-velocity function have a large influence on the evolution of the
muscle forces. For simplicity, they are chosen with respect to the optimal muscle length for
each muscle within this work, which has to be improved with more realistic data in the future.
137
10 Conclusion and outlook
This thesis combines a recently developed optimal control method DMOCC with biomechanical
models of the human upper extremity and different approaches on muscle actuation modelling.
In the first part of this work, a brief description on continuous dynamics and the derivation of a
variational integrator is given. Common commercially available integrators as for example the
Matlab/Simulink ode solvers can show numerical dissipation in energy and angular momentum
during dynamic simulation. In contrast to that, a variational integrator, e.g. the symplectic-
momentum method, used in this work leads to a structure preserving simulation framework, due
to the discretisation of the variational principle instead of discretising the equations of motions
of a problem. The advantage of a structure preserving integration method concerning energy
and angular momentum consistency is discussed and quantified for muscle actuated forward
dynamics simulations. For this purpose and for comparability with existing Matlab/Simulink
models, a common Hill-type model with a contractile, a parallel elastic and a serial elastic
component is implemented in the symplectic-momentum scheme. It becomes apparent that the
errors for Matlab/Simulink integrators in energy and angular momentum can be significant,
depending on the time step size. Even for smaller time steps, the error is not numerically zero.
In contrast to that, the results of the symplectic-momentum method are energy consistent for
the linear problem and show angular momentum consistency and a good energy behaviour in
a nonlinear example including a joint.
To reduce errors in energy and angular momentum caused by the integrator, it is commonly
suggested to consider relatively small time steps for the simulation. In the case of repetitive
movements and in long-term simulations, reducing the step size may not be sufficient and using
a structure preserving method is suggested. This may be even more important in more complex
systems including many muscles and joints and in particular for optimal control simulations,
where cost functions are related to muscle work or energy and where reducing the step size is
not possible due to dramatical increases in the computational effort.
In the later part of the work, a muscle model is implemented with smoothened force-length
and force-velocity behaviour, neglecting a serial elasticity. This muscle model is particularly
useful, when analytical gradients of the optimal control problem are implemented in order to
solve more ambitious problems.
Another query in biomechanical simulation is the efficient computation of muscle paths wrap-
ping around bodies and joints. For the application within optimal control simulations, such
path calculations are required to meet certain restrictions. On the one hand, the length and
force directions must be differentiable, in case analytical gradients are to be provided, on the
other hand a low computational effort is inevitable to keep the overall computation time in a
reasonable range. Common studies use fixed via or wrapping points that do not represent a
real wrapping behaviour. Instead, this study introduces a possibility to compute more realistic
muscle paths. A semi-analytical algorithm is constructed, combining known geodetic parts to
complete G1 (geometric) continuous paths. The algorithm is exact for most geometrical cases.
139
10 Conclusion and outlook
On rare occasions, if an analytical solution using a combination of line and helix formed paths
is not possible due to large pronation or supination motions or if the solution is not defined in
R, an approximation is made in a way that the solution least intersecting the bodies is chosen.
This guarantees that there is always a muscle path provided during the solution of the optimal
control problem, while the computational effort stays in a reasonable range. The influence of
these wrapping muscle paths is discussed with a numerical example comparing wrapping paths
to direct line connections. The main conclusion is that force directions have a high impact on
the optimal control simulations, meaning that it is important to implement force directions as
correctly and realistically as possible to get realistic results from the simulations. The approach
presented in this work is a first step in this direction, nonetheless muscle insertion points are
assumed to be point insertions, while they are more planar in reality and the elbow mechanics
representation in our model makes it difficult to distinguish between muscle inserting on ulna
and radius and the associated effects. Further limitations appear in particular when it comes
to fast dynamics or large motions. The sliding muscle paths may lead to discontinuities in
the model due to the if-else clauses involved. This may yield convergence problems during the
optimal control simulations. To smoothen the transition between different path combinations
in order to enable a better performance of the optimal control simulations is a delicate future
task.
Generally, optimal control of muscle actuated motions is a complex topic as the underlying
equations are of high nonlinearity. Discontinuous muscle path sliding as well as strong non-
linear force-length and force-velocity behaviour meet a nonlinear constrained optimal control
problem. The constraints include both nonlinear inequality and equality constraints, e.g. the
structure preserving equations of motion premultiplied with a null space matrix and reduced by
a nodal reparametrisation procedure. Altogether, this can yield various problems when running
optimal control simulations. For this purpose, several hints on how to circumvent upcoming
problems are addressed. Concluding, the interior-point algorithm shows a good behaviour even
for problems with higher nonlinearity, but the results are not always reasonable. The recently
added Matlab/ fmincon sqp algorithm as well as Snopt 7 yield far better results which signifi-
cantly minimise the objective function more than Matlab’s interior point algorithm. However,
these algorithms are much more sensitive to discontinuities in the model. Matlab’s active-set
algorithm has shown to be most robust on such problems including discontinuous muscle paths
and the time step size as an optimisation variable. Generally, experience has shown that a
scaling of the objective function may sometimes help to overcome those discontinuities. Yet,
the tolerances have to be adapted as well in this case or the scaling has to be decreased step by
step again in order to generate meaningful results. Another aggravating issue is to find initial
guesses with a good quality. Gradient-based methods, like they are implemented in Matlab’s
fmincon solver, aim at finding local solutions of the optimal control problem, thus they strongly
depend on the applied initial guess.
Despite all those numerical issues, it is possible to present a wide range of different examples
in optimal control of biomechanical motions throughout this work. Starting with pure joint
torque actuation, finger and arm motions are examined with specific interest in appropriate
optimal control criteria. The resulting trajectories are compared to literature, experiments and
subjective opinions on realistic motions defined in this work, in order to judge which criterion
resembles the unconscious control of human motion by the CNS best. In coherence with litera-
140
ture, criteria on minimal control change, minimal energy and minimal jerk yield the best results,
while a minimum control effort criterion does not always deliver realistic motions. Though, the
minimum control effort and minimum control change criteria show a good behaviour concern-
ing the convergence of the optimal control procedure, when joint torque actuation is applied.
This is probably related to their composition of solely weighted sums of squared optimisation
variables. In addition to those criteria, a criterion is introduced to assess ergonomic aspects of
a motion. Here, the joint reactions are quantified by constraint forces and torques that occur
according to the restricted degrees of freedom in a joint. In workplace motions also time optimal
solutions can be of interest. This is formulated as optimal control criterion as well, including
the time step size into the optimisation variables. Another common topic in biomechanical in-
vestigations is covered by the closing example of this work. Sports motions like long throw and
shot put aim to throw a maximal distance, which can also be formulated as an optimal control
criterion. This criterion yields a realistic throwing motion with reasonable muscle activations.
Only by changing the added point mass to the mass of a heavy shot and adjusting the bound
on joint torques and control effort, the resulting motion significantly changes towards a shot
put motion.
A continuation of this work and further research with the developed method is conceivable
based on several open issues. In the first place, a comparison to experiments, i.e. motion
capturing measurements or EMG measurements, would be beneficial to validate the method.
Additionally, it is possible to take advantage from further capabilities of the method. For exam-
ple, parameter optimisations including geometry related quantities can be examined in order
to find dynamically optimal design of workplaces or protheses. Further, muscle origin and
insertion points could be included as optimisation variables in order to find optimal insertion
points for human-like robots, for applications of artificial muscles or even for muscle controlled
prostheses. Regarding the rigid body formulation, it would be preferable to represent the el-
bow joint mechanics in a more realistic manner, i.e. by representing ulna and radius as separate
rigid bodies. A further challenge is the improvement of the convergence behaviour, in partic-
ular of highly nonlinear objectives and a reduction in discontinuities due to the muscle path
computation. Besides other benefits, like an easier adaption of the model to other problems, it
is therefore sensible to implement algorithmic differentiation instead of analytically calculated
gradients. This will probably simplify the computation of even larger motions and long time
manoeuvres.
141
A Analytical gradients of the optimal control
problem
In order to give a brief overview on the dependencies, the analytical gradients of typical non-
linear constraints are given.
A.1 Analytical gradients of nonlinear equality constraints
A.1.1 Gradient of equations of motion
The equality constraints stemming from the equations of motion (4.14) are summarised in Rn
Rn = P T (qn) · [D2Ld(qn−1, qn) +D1Ld(qn,F (un+1, qn)) + f+n−1 + f−
n ] = 0 (A.1)
Herein, the left and right discrete forces are composed of joint torques and muscle forces
f+n−1 =
∆t
2BT (qn) · τ n−1 +
∆t
2BT (qn) ·
[Fmn−1(qn−1, qn) rn−1
]
f−
n =∆t
2BT (qn) · τ n +
∆t
2BT (qn) ·
[Fmn (qn, qn+1) rn
](A.2)
The derivations of the left discrete forces with respect to qn, qn−1 read
∂f+n−1
∂qn
=∆t
2
(∂[BT (qn) · τ n−1
]
∂qn
+∂[BT (qn) ·
[Fmn−1(qn−1, qn) rn−1
]]
∂qn
)
∂f+n−1
∂qn−1
=∆t
2
(∂[BT (qn) · τ n−1
]
∂qn
·∂qn
∂qn−1
+∂[BT (qn) ·
[Fmn−1(qn−1, qn) rn−1
]]
∂qn
·∂qn
∂qn−1
+∂[BT (qn) ·
[Fmn−1(qn−1, qn) rn−1
]]
∂qn−1
)(A.3)
The derivations of the right discrete forces with respect to qn+1, qn read
∂f−
n
∂qn+1
=∆t
2
(∂[BT (qn) ·
[Fmn (qn, qn+1) rn
]]
∂qn+1
)
∂f−
n
∂qn
=∆t
2
(∂[BT (qn) · τ n
]
∂qn
+∂[BT (qn) ·
[Fmn (qn, qn+1) rn
]]
∂qn
+∂[BT (qn) ·
[Fmn (qn, qn+1) rn
]]
∂qn+1
·∂qn+1
∂qn
)(A.4)
143
A Analytical gradients of the optimal control problem
Applying the chain rule and using
sn = [1
∆t
(−qn+1 + 2qn − qn−1
)·M+∆t M ·g+f+
n−1(τ n−1, qn−1, qn)+f−
n (τ n, qn, qn+1)] (A.5)
the derivations of Rn with respect to un+1, un and un−1 can be computed
∂Rn
∂un+1= P T (qn) ·
[(−
1
∆tM) +
∆t
2
(∂[BT (qn) ·
[Fmn (qn, qn+1) rn
]]
∂qn+1
)]·∂qn+1
∂un+1(A.6)
If both P T (qn) and sn have to be derived (e.g. with respect to un), the derivation is splitted in
two parts using the product rule. Within the first part of the product rule, the matrix vector
product P T (qn) · sn is performed first keeping sn constant and then the resulting vector is
derived. Hereby, a derivation of the matrix P T (qn) with respect to a vector is avoided.
∂Rn
∂un
=∂(P T (qn) · sn
)
∂qn
∣∣∣∣∣sn=const
·∂qn
∂un
+ P T (qn) ·
[(2
∆tM ) + (
−1
∆tM) ·
∂qn+1
∂qn
+∆t
2
(∂[BT (qn) · τ n−1
]
∂qn
+∂[BT (qn) ·
[Fmn−1(qn−1, qn) rn−1
]]
∂qn
)
+∆t
2
(∂[BT (qn) · τ n
]
∂qn
+∂[BT (qn) ·
[Fmn (qn, qn+1) rn
]]
∂qn
+∂[BT (qn) ·
[Fmn (qn, qn+1) rn
]]
∂qn+1
·∂qn+1
∂qn
)]·∂qn
∂un
(A.7)
∂Rn
∂un−1=
∂(P T (qn) · sn
)
∂qn
∣∣∣∣∣sn=const
·∂qn
∂qn−1
·∂qn−1
∂un−1
+ P T (qn) ·
[(2
∆tM) ·
∂qn
∂qn−1
+ (−1
∆tM)
+ (−1
∆tM) ·
∂qn+1
∂qn
·∂qn
∂qn−1
+∆t
2
(∂[BT (qn) · τ n−1
]
∂qn
+∂[BT (qn) ·
[Fmn−1(qn−1, qn) rn−1
]]
∂qn
)·
∂qn
∂qn−1
+∂[BT (qn) ·
[Fmn−1(qn−1, qn) rn−1
]]
∂qn−1
+∆t
2
(∂[BT (qn) · τ n
]
∂qn
+∂[BT (qn) ·
[Fmn (qn, qn+1) rn
]]
∂qn
)·
∂qn
∂qn−1
+∆t
2
(∂[BT (qn) ·
[Fmn (qn, qn+1) rn
]]
∂qn+1
)·∂qn+1
∂qn
·∂qn
∂qn−1
]·∂qn−1
∂un−1(A.8)
144
A.1 Analytical gradients of nonlinear equality constraints
The gradient of Rn with respect to τ n, τ n−1 is given by
∂Rn
∂τ n−1=
∆t
2BT (qn)
∂Rn
∂τ n
=∆t
2BT (qn) (A.9)
The gradient of Rn with respect to An, An−1 is given by
∂Rn
∂An−1=
∆t
2BT (qn) ·
∂[Fmn−1(qn−1, qn) rn−1
]
∂An−1
∂Rn
∂An
=∆t
2BT (qn) ·
∂[Fmn (qn, qn+1) rn
]
∂An
(A.10)
A.1.2 Gradient of initial configuration condition
The initial configuration condition solely depends on u1
∂u1
∂u1= I(k−m)×(k−m) (A.11)
A.1.3 Gradient of initial momentum condition
Further, the initial momentum pini in generalised coordinates is constrained to zero
pini = P T (q1) · [p0 −1
∆tM · (q2 − q1) +
∆t
2M · g + f−
1 ] = 0 (A.12)
r1 = [p0 −1
∆tM · (q2 − q1) +
∆t
2M · g + f−
1 ] (A.13)
∂pini
∂u2
= P T (q1) ·
[(−
1
∆tM) ·
∂q2
∂u2
+∆t
2
(∂[BT (q1) · [F
m1 (q1, q2) r1]
]
∂q2
)·∂q2
∂u2
]
(A.14)
∂pini
∂u1
=∂(P T (q1) · r1
)
∂q1
∣∣∣∣∣r1=const
·∂q1
∂u1
+ P T (q1) ·
[(−
1
∆tM) ·
∂q2
∂q1
+ (1
∆tM) +
∆t
2
(∂[BT (q1) · [F
m1 (q1, q2) r1]
]
∂q2
)·∂q2
∂q1
+∆t
2
(∂[BT (q1) · τ 1
]
∂q1
+∂[BT (q1) · [F
m1 (q1, q2) r1]
]
∂q1
)]·∂q1
∂u1(A.15)
∂pini
∂τ 1= BT (q1) (A.16)
∂pini
∂A1= BT (q1) ·
∂ [Fm1 (q1, q2) r1]
∂A1(A.17)
145
A Analytical gradients of the optimal control problem
A.1.4 Gradient of final configuration condition
The final configuration can for example be constrained by arriving at a certain point xe ∈ R3
with the center of mass of the hand
xf = ϕ3n + ρ31 (d
31)n + ρ32 (d
32)n + ρ33 (d
33)n − xe = 0 (A.18)
The appropriate gradient with respect to uN−j for j = 1, . . . , N − 1 then reads
∂xf
∂uN−j
= [03×24, I3×3, ρ31 I3×3, ρ32 I3×3, ρ33 I3×3] ·∂qN
∂uN−j
(A.19)
A.1.5 Gradient of final momentum condition
To simulate rest-to-rest manoeuvres, the final momentum in generalised coordinates pfin is also
constrained to zero.
pfin = P T (qN) · [1
∆tM · (qN −qN−1)+
∆t
2M ·g+f+
N−1(τN−1, qN−1, qN)−pN ] = 0 (A.20)
With
rN = [1
∆tM · (qN − qN−1) +
∆t
2M · g + f+
N−1(τN−1, qN−1, qN)− pN ] (A.21)
the gradient with respect to uN and uN−j for j = 1, . . . , N − 1 becomes
∂pfin
∂uN=
∂(P T (qN ) · rN
)
∂qN
∣∣∣∣∣rN=const
·∂qN
∂uN
+ P T (qN )
[1
∆tM +
∆t
2
(∂[BT (qN ) · τN−1
]
∂qN
+∂[BT (qN ) ·
[FmN−1(qN−1, qN ) rN−1
]]
∂qN
)]·∂qN
∂uN
(A.22)
∂pfin
∂uN−j
=∂(P T (qN) · rN
)
∂qN
∣∣∣∣∣rN=const
·∂qN
∂uN−j
+ P T (qn)
[1
∆tM
+∆t
2
(∂[BT (qN) · τN−1
]
∂qN
+∂[BT (qN ) ·
[FmN−1(qN−1, qN) rN−1
]]
∂qN
)]·
∂qN
∂uN−j
+
[−
1
∆tM
∂[BT (qN ) ·
[FmN−1(qN−1, qN) rN−1
]]
∂qN−1
]·∂qN−1
∂uN−j
(A.23)
∂pfin
∂τN−1= BT (qN) (A.24)
∂pfin
∂AN−1= BT (qN) ·
∂[FmN−1(qN−1, qN ) rN−1
]
∂AN−1(A.25)
146
BConstra
intJaco
biansofthefingerandthearm
model
• Constraint Jacobian of the finger model GFext(q) ∈ R13×36
GFext(q) =
I ρ111 I ρ112 I ρ113 I 0 0 0 0 0 0 0 0
−I −ρ121 I −ρ122 I −ρ123 I I ρ211 I ρ212 I ρ213 I 0 0 0 0
0T n11(d
22)
T n12(d
22)
T n13(d
22)
T 0T 0T (n1)T 0T 0T 0T 0T 0T
0T n11(d
23)
T n12(d
23)
T n13(d
23)
T 0T 0T 0T (n1)T 0T 0T 0T 0T
0 0 0 0 −I −ρ221 I −ρ222 I −ρ223 I I ρ311 I ρ312 I ρ313 I
0T 0T 0T 0T 0T n21(d
32)
T n22(d
32)
T n23(d
32)
T 0T 0T (n2)T 0T
0T 0T 0T 0T 0T n21(d
33)
T n22(d
33)
T n23(d
33)
T 0T 0T 0T (n2)T
(B.1)
147
BConstrain
tJacob
iansof
thefinger
andthearm
model
• Constraint Jacobian of the arm model GAext(q) ∈ R11×36
GAext(q) =
I ρ111 I ρ112 I ρ113 I 0 0 0 0 0 0 0 0
−I −ρ121 I −ρ122 I −ρ123 I I ρ211 I ρ212 I ρ213 I 0 0 0 0
0T n111 (n12)T n11
2 (n12)T n113 (n12)T 0T n12
1 (n11)T n122 (n11)T n12
3 (n11)T 0T 0T 0T 0T
0 0 0 0 −I −ρ221 I −ρ222 I −ρ223 I I ρ311 I ρ312 I ρ313 I
0T 0T 0T 0T 0T n211 (n22)T n21
2 (n22)T n213 (n22)T 0T n22
1 (n21)T n222 (n21)T n22
3 (n21)T
(B.2)
148
C Parameters of the muscle models
C.1 Hill-type model with three components
The parameters used within the Hill-type model introduced in Section 6.1.1 are given by Table
C.1.
Table C.1: Muscle parameters of rat M. gastrocnemius medialis. The parameter identification is described in
[Till 08].
parameter value unit
l1 -7.23 mm
l2 -2.5 mm
l3 1.05 mm
l4 21 mm
fc 0.84 Fim
vmax -182.2 mm/s
γ 0.151 –
k1 0.4509 N
k2 0.0836 mm−1
F1 1.3482 N
∆lSEC10.7427 mm
ksh 4.3555 –
lm 44.8 mm
Fim 11.2 N
S 1 –
A0 0.01 –
c 0.065 s
B1 1.4 –
B2 0.0525 –
B3 0.021 –
149
C Parameters of the muscle models
C.2 Hill-type model with two components
The Hill-type model with smoothened force-length and force-velocity curves is used for the
human arm muscles. Here, some exemplary parameters are given for the most important arm
muscles around the elbow.
Table C.2: Most important muscle parameters of the arm muscles used within this work, adapted from [Murr 95,
Murr 00, Holz 05].
muscle BIC BRD ECRL BRA PT SUP TRI
lmopt [m] 0.331 0.274 0.315 0.263 0.150 0.150 0.365
PCSA [cm2] 5.1 1.2 1.5 5.4 2.8 2.8 14.9
Fim [N] 435.6 261.3 304.9 987.3 566.2 476.0 624.3
150
D Semi-analytical muscle path computation
The eight possible substitutions for solving (6.32) for th0are given by
sin(α) =a12√
(a11)2 + (a12)
2, cos(α) =
a11√(a11)
2 + (a12)2
sin(α) =a12√
(a11)2 + (a12)
2, − cos(α) =
a11√(a11)
2 + (a12)2
sin(α) =a11√
(a11)2 + (a12)
2, cos(α) =
a12√(a11)
2 + (a12)2
sin(α) =a11√
(a11)2 + (a12)
2, − cos(α) =
a12√(a11)
2 + (a12)2
− sin(α) =a12√
(a11)2 + (a12)
2, cos(α) =
a11√(a11)
2 + (a12)2
− sin(α) =a12√
(a11)2 + (a12)
2, − cos(α) =
a11√(a11)
2 + (a12)2
− sin(α) =a11√
(a11)2 + (a12)
2, cos(α) =
a12√(a11)
2 + (a12)2
− sin(α) =a11√
(a11)2 + (a12)
2, − cos(α) =
a12√(a11)
2 + (a12)2
(D.1)
Therewith, we get eight reformulations of (6.32) using the addition theorems
−r2√(a11)
2 + (a12)2
= sin(α) sin(2πth0) + cos(α) cos(2πth0
) = cos(2πth0− α)
r2√(a11)
2 + (a12)2
= sin(α) sin(2πth0)− cos(α) cos(2πth0
) = cos(2πth0+ α)
−r2√(a11)
2 + (a12)2
= sin(α) cos(2πth0) + cos(α) sin(2πth0
) = sin(2πth0+ α)
r2√(a11)
2 + (a12)2
= −(sin(α) cos(2πth0)− cos(α) sin(2πth0
)) = sin(2πth0− α)
−r2√(a11)
2 + (a12)2
= − sin(α) sin(2πth0) + cos(α) cos(2πth0
) = cos(2πth0+ α)
r2√(a11)
2 + (a12)2
= − sin(α) sin(2πth0)− cos(α) cos(2πth0
) = cos(2πth0− α)
−r2√(a11)
2 + (a12)2
= − sin(α) cos(2πth0) + cos(α) sin(2πth0
) = sin(2πth0− α)
r2√(a11)
2 + (a12)2
= −(− sin(α) cos(2πth0)− cos(α) sin(2πth0
)) = sin(2πth0+ α) (D.2)
151
D Semi-analytical muscle path computation
From the schematic illustration in Figure D.1, we can easily obtain that the plotted trigono-
metric functions cut each of the horizontal lines±r2√
(a11)2 + (a12)
2only once in the appropriate
domain of definition of arcsin and arccos, respectively. As the range of motion for pronation-
Figure D.1: Schematic illustration of the eight possible solutions of (D.2).
supination motions of the forearm is limited to angles smaller than π, the eight solutions are
sufficient to compute the shortest helix path. Possible solutions are exemplarily highlighted in
152
Figure D.1 and given by
th0=
1
2π
(arccos
(−r2√
(a11)2 + (a12)
2
)+ α
)
th0=
1
2π
(arccos
(r2√
(a11)2 + (a12)
2
)− α
)
th0=
1
2π
(arcsin
(−r2√
(a11)2 + (a12)
2
)− α
)
th0=
1
2π
(arcsin
(r2√
(a11)2 + (a12)
2
)+ α
)
th0=
1
2π
(arccos
(−r2√
(a11)2 + (a12)
2
)− α
)
th0=
1
2π
(arccos
(r2√
(a11)2 + (a12)
2
)+ α
)
th0=
1
2π
(arcsin
(−r2√
(a11)2 + (a12)
2
)+ α
)
th0=
1
2π
(arcsin
(r2√
(a11)2 + (a12)
2
)− α
)(D.3)
153
Bibliography
[Acke 06] M. Ackermann and W. Schiehlen. “Dynamic analysis of human gait disorder and
metabolical cost estimation”. Arch. Appl. Mech., Vol. 75, No. 10-12, pp. 569–594,
2006.
[Ambr 07] J. A. Ambrosio and A. Kecskemethy. “Multibody dynamics of biomechanical mod-
els for human motion via optimization”. In: Multibody Dynamics, pp. 245–272,
Springer, 2007.
[An 79] K. N. An, E. Y. Chao, W. P. Cooney III, and R. L. Linscheid. “Normative model of
human hand for biomechanical analysis”. J. Biomech., Vol. 12, No. 10, pp. 775–788,
1979.
[Ande 01] F. C. Anderson and M. G. Pandy. “Dynamic optimization of human walking”. J.
Biomech. Eng., Vol. 123, No. 5, pp. 381–390, 2001.
[Bets 01] P. Betsch and P. Steinmann. “Constrained integration of rigid body dynamics”.
Comput. Methods in Appl. Mech. Eng., Vol. 191, No. 3-5, pp. 467–488, 2001.
[Bets 06] P. Betsch and S. Leyendecker. “The discrete null space method for the energy
consistent integration of constrained mechanical systems. Part II: Multibody dy-
namics”. Int. J. Numer. Meth. Eng., Vol. 67, No. 4, pp. 499–552, 2006.
[Bets 98] P. Betsch, A. Menzel, and E. Stein. “On the parametrization of finite rotations in
computational mechanics: A classification of concepts with application to smooth
shells”. Comput. Methods in Appl. Mech. Eng., Vol. 155, No. 3-4, pp. 273–305,
1998.
[Bett 09] J. T. Betts. Practical Methods for Optimal Control and Estimation Using Nonlinear
Programming. Cambridge University Press, New York, NY, USA, 2nd Ed., 2009.
[Bies 07] A. Biess, D. Liebermann, and T. Flash. “A Computational Model for Redundant
Human Three- Dimensional Pointing Movements: Integration of Independent Spa-
tial and Temporal Motor Plans Simplifies Movement Dynamics”. J. Neurosci.,
Vol. 27, No. 48, pp. 13045–13064, 2007.
[Boge 98] A. J. van den Bogert, K. G. Gerritsen, and G. K. Cole. “Human muscle modelling
from a user’s perspective”. J. Electromyogr. Kinesiol., Vol. 8, No. 2, pp. 119–124,
1998.
[Brow 96] I. E. Brown, S. H. Scott, and G. E. Loeb. “Mechanics of feline soleus: II Design and
validation of a mathematical model”. J. Muscle Res. Cell Motil., Vol. 17, No. 2,
pp. 221–233, 1996.
155
Bibliography
[Buch 92] B. Buchholz, T. J. Armstrong, and S. A. Goldstein. “Anthropometric data for
describing the kinematics of the human hand”. Ergonomics, Vol. 35, No. 3, pp. 261–
273, 1992.
[Calv 97] W. H. Calvin. Der Strom, der bergauf fließt: Eine Reise durch die Evolution. Dt.
Taschenbuch-Verlag, 1997.
[Cava 05] E. Cavallaro, J. Rosen, J. C. Perry, S. Burns, and B. Hannaford. “Hill-Based Model
as a Myoprocessor for a Neural Controlled Powered Exoskeleton Arm - Parameters
Optimization”. In: ICRA, pp. 4514–4519, IEEE, 2005.
[Chen 00] E. J. Cheng, I. E. Brown, and G. E. Loeb. “Virtual muscle: a computational
approach to understanding the effects of muscle properties on motor control”. J.
Neurosci. Methods., Vol. 101, No. 2, pp. 117–130, 2000.
[Crow 81] R. D. Crowninshield and R. A. Brand. “A physiologically based criterion of muscle
force prediction in locomotion”. J. Biomech., Vol. 14, No. 11, pp. 793–801, 1981.
[Denn 07] J. T. Dennerlein, I. Kingma, B. Visser, and J. H. van Dieen. “The contribution of
the wrist, elbow and shoulder joints to single-finger tapping”. J. Biomech., Vol. 40,
No. 13, pp. 3013–3022, 2007.
[Epst 98] M. Epstein and W. Herzog. Theoretical Models of Skeletal Muscle: Biological and
Mathematical Considerations. John Wiley Sons, Ed., 1998.
[Flas 85] T. Flash and N. Hogan. “The Coordination of Arm Movements: An Experimentally
Confirmed Mathematical Model”. J. Neurosci., Vol. 5, No. 7, pp. 1688–1703, 1985.
[Frie 09] J. Friedman and T. Flash. “Trajectory of the index finger during grasping”. Exp.
Brain. Res., Vol. 196, No. 4, pp. 497–509, 2009.
[Garn 00] B. A. Garner and M. G. Pandy. “The obstacle-set method for representing muscle
paths in musculoskeletal models”. Comput. Methods Biomech. Biomed. Engin.,
Vol. 3, No. 1, pp. 1–30, 2000.
[Garn 01] B. A. Garner and M. G. Pandy. “Musculoskeletal model of the upper limb based
on the visible human male dataset”. Comput. Methods Biomech. Biomed. Engin.,
Vol. 4, No. 2, pp. 93–126, 2001.
[Garn 99] B. A. Garner and M. G. Pandy. “A kinematic model of the upper limb based on the
visible human project (vhp) image dataset”. Comput. Methods Biomech. Biomed.
Engin., Vol. 2, No. 2, pp. 107–124, 1999.
[Geye 03] H. Geyer, A. Seyfarth, and R. Blickhan. “Positive force feedback in bouncing
gaits?”. Proc. Biol. Sci., Vol. 270, No. 1529, pp. 2173–2183, 2003.
[Geye 10] H. Geyer and H. Herr. “A Muscle-Reflex Model That Encodes Principles of Legged
Mechanics Produces Human Walking Dynamics and Muscle Activities”. IEEE
Trans. Neural. Syst. Rehabil. Eng., Vol. 18, No. 3, pp. 263–273, 2010.
156
[Gill 08] P. Gill, W. Murray, and M. Saunders. Users Guide for SNOPT Version 7: Software
for Large-Scale Nonlinear Programming. 2008.
[Gunt 97] M. Gunther. Computersimulationen zur Synthetisierung des muskular
erzeugten menschlichen Gehens unter Verwendung eines biomechanischen
Mehrkorpermodells. PhD thesis, Eberhard-Karls-Universitat zu Tubingen, 1997.
[Hair 99] E. Hairer. “Backward error analysis for multistep methods”. Numer. Math., Vol. 84,
No. 2, pp. 199–232, 1999.
[Happ 95] R. Happee and F. C. van der Helm. “The control of shoulder muscles during goal
directed movements, an inverse dynamic analysis”. J. Biomech., Vol. 28, No. 10,
pp. 1179–1191, 1995.
[Hard 93] D. C. Harding, K. D. Brandt, and B. M. Hillberry. “Finger joint force minimization
in pianists using optimization techniques”. J. Biomech., Vol. 26, No. 12, pp. 1403–
1412, 1993.
[Helm 02] F. C. van der Helm, A. C. Schouten, E. de Vlugt, and G. G. Brouwn. “Identifica-
tion of intrinsic and reflexive components of human arm dynamics during postural
control”. J. Neurosci. Meth., Vol. 119, No. 1, pp. 1–14, 2002.
[Helm 94] F. C. van der Helm. “Analysis of the kinematic and dynamic behavior of the
shoulder mechanism”. J. Biomech., Vol. 27, No. 5, pp. 527–550, 1994.
[Hill 38] A. V. Hill. “The heat of shortening and the dynamic constants of muscle”. Proc.
R. Soc. B., Vol. 126, No. 843, pp. 136–195, 1938.
[Hoch 81] G. Hochmuth. Biomechanik sportlicher Bewegungen. (4. prazisierte und erweiterte
Auflage). Sportverlag Berlin, 1981.
[Holz 05] K. R. S. Holzbaur, W. M. Murray, and S. L. Delp. “A Model of the Upper Extremity
for Simulating Musculoskeletal Surgery and Analyzing Neuromuscular Control”.
Ann. Biomed. Eng., Vol. 33, No. 6, pp. 829–840, 2005.
[Huxl 57] A. F. Huxley. “Muscle structure and theories of contraction”. Prog. Biophys.
Biophys. Chem., Vol. 7, pp. 255–318, 1957.
[Kamp 03] D. G. Kamper, E. G. Cruz, and M. P. Siegel. “Stereotypical Fingertip Trajectories
During Grasp”. J. Neurophysiol., Vol. 90, No. 6, pp. 3702–3710, 2003.
[Kapa 92] I. A. Kapandji. Funktionelle Anatomie der Gelenke. Ferdinand Enke Verlag
Stuttgart, 1992.
[Kawa 90] M. Kawato, Y. Maeda, Y. Uno, and R. Suzuki. “Trajectory Formation of Arm
Movement by Cascade Neural Network Model Based on Minimum Torque-Change
Criterion”. Biol. Cybern., Vol. 62, No. 4, pp. 275–288, 1990.
157
Bibliography
[Kecs 05] A. Kecskemethy and A. Weinberg. “An improved elasto-kinematic model of the
human forearm for biofidelic medical diagnosis”. Multibody Syst. Dyn., Vol. 14,
No. 1, pp. 1–21, 2005.
[Krys 05] P. Krysl and L. Endres. “Explicit Newmark/Verlet algorithm for time integration
of the rotational dynamics of rigid bodies”. Int. J. Numer. Meth. Eng., Vol. 62,
No. 15, pp. 2154–2177, 2005.
[Krys 06] P. Krysl. “Direct time integration of rigid body motion with discrete-impulse mid-
point approximation: explicit Newmark algorithms”. Commun. Numer. Meth. En.,
Vol. 22, No. 5, pp. 441–451, 2006.
[Krys 08] P. Krysl. “Dynamically equivalent implicit algorithms for the integration of rigid
body rotations”. Commun. Numer. Meth. En., Vol. 24, No. 2, pp. 141–156, 2008.
[Kuyp 97] F. Kuypers. Klassische Mechanik. Lehrbuch Physik, John Wiley & Sons, Limited,
5 Ed., 1997.
[Land 87] J. M. Landsmeer. “The hand and hominisation”. Acta Morphol. Neerl. Scand.,
Vol. 25, No. 2, pp. 83–93, 1987.
[Leim 04] B. Leimkuhler and S. Reich. Simulating Hamiltonian Dynamics. Cambridge Uni-
versity Press, 2004.
[Leye 06] S. Leyendecker. Mechanical integrators for constrained dynamical systems in flexible
multibody dynamics. PhD thesis, Fachbereich Maschinenbau und Verfahrenstech-
nik, TU Kaiserslautern, 2006.
[Leye 08] S. Leyendecker, J. E. Marsden, and M. Ortiz. “Variational integrators for con-
strained dynamical systems”. Z. Angew. Math. Mech., Vol. 88, No. 9, pp. 677–708,
2008.
[Leye 10] S. Leyendecker, S. Ober-Blobaum, J. E. Marsden, and M. Ortiz. “Discrete Mechan-
ics and Optimal Control for Constrained Systems”. Optim. Contr. Appl. Meth.,
Vol. 31, No. 6, pp. 505–528, 2010.
[Leye 11] S. Leyendecker. On optimal control simulations for mechanical systems. PhD
thesis, Habilitationsschrift, Fachbereich Maschinenbau und Verfahrenstechnik, TU
Kaiserslautern, 2011.
[Lim 03] C. L. Lim, N. B. Jones, S. K. Spurgeon, and J. J. A. Scott. “Modelling of knee
joint muscles during the swing phase of gait – a forward dynamics approach using
MATLAB/Simulink”. Simulat. Model. Pract. Theor., Vol. 11, No. 2, pp. 91–107,
2003.
[Link 07] W. Linke and G. Pfitzer. “Kontraktionsmechanismen”. In: Physiologie des Men-
schen, pp. 111–139, Springer, Berlin Heidelberg, 2007.
158
[Maas 10] R. Maas and S. Leyendecker. “Structure preserving optimal control simulation of
index finger dynamics”. In: The First Joint International Conference on Multibody
System Dynamics, IMSD, Lappeenranta, Finland, May 2010.
[Maas 11] R. Maas, T. Siebert, and S. Leyendecker. “Structure preserving optimal control
of finger movements”. In: EUROMECH Colloquium 511 Biomechanics of Human
Motion, Ponta Delgada, Azores, March 2011.
[Maas 12a] R. Maas and S. Leyendecker. “Optimal control of biomechanical motion using phys-
iologically motivated cost functions”. In: The 2nd Joint International Conference
on Multibody System Dynamics, Stuttgart, Germany, June 2012.
[Maas 12b] R. Maas, T. Siebert, and S. Leyendecker. “On the relevance of structure preser-
vation to simulations of muscle actuated movements”. Biomech. Model. Mechan.,
Vol. 11, No. 3–4, pp. 543–556, 2012.
[Maas 13a] R. Maas and S. Leyendecker. “Biomechanical optimal control of human arm mo-
tion”. Proceedings of the Institution of Mechanical Engineers, Part K: Journal of
Multi-body Dynamics, Vol. 227, No. 4, pp. 375–389, 2013.
[Maas 13b] R. Maas and S. Leyendecker. “Muscle paths in biomechanical multibody simu-
lations”. In: ECCOMAS Multibody Dynamics Conference, Zagreb, Croatia, July
2013.
[Maas 14] R. Maas and S. Leyendecker. “Optimal control simulations for biomechanical sys-
tems using Hill-type muscle actuation”. Comput. Methods Biomech. Biomed. En-
gin., submitted 2014.
[Mars 01] J. E. Marsden and M. West. “Discrete mechanics and variational integrators”. Acta
Numer., Vol. 10, pp. 357–514, 2001.
[Mars 08] S. P. Marsden, D. C. Swailes, and G. R. Johnson. “Algorithms for exact multi-
object muscle wrapping and application to the deltoid muscle wrapping around the
humerus”. Proc. Inst. Mech. Eng. H., Vol. 222, No. 7, pp. 1081–1095, 2008.
[Mars 99] J. E. Marsden and T. S. Ratiu. Introduction to Mechanics and Symmetry: A
Basic Exposition of Classical Mechanical Systems (Texts in Applied Mathematics).
Springer, 2 Ed., 1999.
[Marz 97] M. W. Marzke. “Precision grips, hand morphology, and tools”. Am. J. Phys.
Anthropol., Vol. 102, No. 1, pp. 91–110, 1997.
[Math 09] MathWorks Inc. “Matlab R2009b Documentation”. 2009.
[Mull 12] P. Muller. Unterrichtsentwurf zur Einfuhrung des Standstoßes beim Kugelstoßen.
GRIN Verlag, 2012.
159
Bibliography
[Mult 99] F. Multon, L. France, M.-P. Cani, and G. Debunne. “Computer Animation of
Human Walking: a Survey”. J. Vis. Comput. Animat., Vol. 10, No. 1, pp. 39–54,
Jan. 1999. Published under the name Marie-Paule Cani-Gascuel.
[Murr 00] W. M. Murray, T. S. Buchanan, and S. L. Delp. “The isometric functional capacity
of muscles that cross the elbow”. J. Biomech., Vol. 33, No. 8, pp. 943–952, 2000.
[Murr 95] W. M. Murray, S. L. Delp, and T. S. Buchanan. “Variation of muscle moment arms
with elbow and forearm position”. J. Biomech., Vol. 28, No. 5, pp. 513–525, 1995.
[Nept 08] R. R. Neptune, K. Sasaki, and S. A. Kautz. “The effect of walking speed on muscle
function and mechanical energetics”. Gait Posture, Vol. 28, No. 1, pp. 135–143,
2008.
[Noet 18] E. Noether. “Invariante Variationsprobleme [Invariant variational problems]”.
Nachr. Ges. Wiss. Gott., Math.-Phys. Kl., pp. 235–257, 1918.
[Ober 09] S. Ober-Blobaum and J. Timmermann. “Optimal Control for a Pitcher’s Motion
Modeled as Constrained Mechanical System”. In: Proceedings of the 7th Interna-
tional Conference on Multibody Systems, Nonlinear Dynamics, and Control, ASME
International Design Engineering Technical Conferences, San Diego, California,
2009.
[Pand 90] M. G. Pandy, F. E. Zajac, E. Sim, and W. S. Levine. “An optimal control model for
maximum-height human jumping”. J. Biomech., Vol. 23, No. 12, pp. 1185–1198,
1990.
[Quen 12] C. Quental, J. Folgado, J. Ambrosio, and J. Monteiro. “A multibody biomechanical
model of the upper limb including the shoulder girdle”. Multibody Syst. Dyn.,
Vol. 28, No. 1–2, pp. 83–108, 2012.
[Reic 99] S. Reich. “Backward error analysis for numerical integrators”. SIAM J. Numer.
Anal., Vol. 36, No. 5, pp. 1549–1570, 1999.
[Rohr 13] O. Rohrle, M. Sprenger, E. Ramasamy, and T. Heidlauf. “Multiscale Skeletal
Muscle Modeling: From Cellular Level to a Multi-segment Skeletal Muscle Model
of the Upper Limb”. In: G. A. Holzapfel and E. Kuhl, Eds., Computer Models in
Biomechanics, pp. 103–116, Springer Netherlands, 2013.
[Rose 01] D. A. Rosenbaum, R. G. J. Meulenbroek, J. Vaughan, and C. Jansen. “Posture-
Based Motion Planning: Applications to Grasping”. Psychol. Rev., Vol. 108, No. 4,
pp. 709–734, 2001.
[Rose 95] D. A. Rosenbaum, L. D. Loukopoulos, R. G. J. Meulenbroek, J. Vaughan, and S. E.
Engelbrecht. “Planning Reaches by Evaluating Stored Postures”. Psychol. Rev.,
Vol. 102, No. 1, pp. 28–67, 1995.
160
[Sanc 01] J. Sancho-Bru, A. Perez-Gonzalez, M. Vergara-Monedero, and D. Giurintano. “A
3-D dynamic model of human finger for studying free movements”. J. Biomech.,
Vol. 34, No. 11, pp. 1491–1500, 2001.
[Sant 06] V. J. Santos and F. J. Valero-Cuevas. “Reported Anatomical Variability Natu-
rally Leads to Multimodal Distributions of Denavit-Hartenberg Parameters for the
Human Thumb”. IEEE T. Bio-Med. Eng., Vol. 53, No. 2, pp. 155–163, 2006.
[Sche 10] D. Scheibelhut. Die Prinzipien der Biomechanik als Teil der Sportwissenschaft.
GRIN Verlag, 2010.
[Schm 03] H.-M. Schmidt and U. Lanz. Chirurgische Anatomie der Hand. Thieme, 2003.
[Scho 13] A. Scholz, I. Stavness, M. Sherman, S. Delp, and A. Kecskemethy. “Analytical
Determination of Path-Error Jacobians and Velocities of Geodesics Across Multi-
ple Moving Surfaces Using Jacobi Fields”. In: ECCOMAS Multibody Dynamics
Conference, Zagreb, Croatia, July 2013.
[Seth 03] A. Seth, J. J. McPhee, and M. G. Pandy. “Multi-joint coordination of vertical arm
movement”. Appl. Bionics Biomech., Vol. 1, No. 1, pp. 45–56, 2003.
[Sher 10] M. Sherman, A. Seth, and S. Delp. “How to compute muscle moment arm using
generalized coordinates”. http://wiki.simtk.org/opensim/, 2010.
[Sieb 08] T. Siebert, C. Rode, W. Herzog, O. Till, and R. Blickhan. “Nonlinearities make a
difference: comparison of two common Hill-type models with real muscle”. Biol.
Cybern., Vol. 98, No. 2, pp. 133–143, 2008.
[Silv 03] M. P. Silva and J. A. Ambrosio. “Solution of Redundant Muscle Forces in Human
Locomotion with Multibody Dynamics and Optimization Tools”. Mech. based Des.
Struc., Vol. 31, No. 3, pp. 381–411, 2003.
[Simo 91] J. C. Simo and K. K. Wong. “Unconditionally stable algorithms for rigid body
dynamics that exactly preserve energy and momentum”. Int. J. Numer. Meth.
Eng., Vol. 31, No. 1, pp. 19–52, 1991.
[Soec 95] J. Soechting, C. Buneo, U. Herrmann, and M. Flanders. “Moving Effortlessly in
Three Dimensions: Does Donders Law Apply to Arm Movement?”. J. Neurosci.,
Vol. 15, No. 9, pp. 6271–6280, 1995.
[Soes 93] A. J. van Soest and M. F. Bobbert. “The contribution of muscle properties in the
control of explosive movements”. Biol. Cybern., Vol. 69, No. 3, pp. 195–204, 1993.
[Star 79] D. Starck. Vergleichende Anatomie der Wirbeltiere auf Evolutionsbiologischer
Grundlage: Band 2: Das Skeletsystem: Allgemeines, Skeletsubstanzen, Skelet der
Wirbeltiere einschließlich Lokomotionstypen. Springer, 1979.
161
Bibliography
[Stav 12] I. Stavness, M. Sherman, and S. Delp. “A General Approach To Muscle Wrap-
ping Over Multiple Surfaces”. In: American Society for Biomechanics Conference,
August 2012.
[Stel 05] M. Stelzer and O. von Stryk. “From Robots to Humans: Towards efficient for-
ward dynamics simulation and optimization exploiting structure and sensitivity
information”. In: ECCOMAS Multibody Dynamics Conference, Dordrecht, Januar
2005.
[Thom 01] M. Thomsen, M. Loew, and H. Ngerl. “Kinematik und Biomechanik des Ellenbo-
gengelenks”. Orthopade, Vol. 30, No. 9, pp. 582–586, 2001.
[Till 05] B. N. Tillmann. Atlas der Anatomie des Menschen. Springer-Verlag Berlin Heidel-
berg, 2005.
[Till 08] O. Till, T. Siebert, C. Rode, and R. Blickhan. “Characterization of isovelocity
extension of activated muscle: A Hill-type model for eccentric contractions and a
method for parameter determination”. J. Theor. Biol., Vol. 255, No. 2, pp. 176–187,
2008.
[Umbe 03] B. R. Umberger, K. G. M. Gerritsen, and P. E. Martin. “A Model of Human
Muscle Energy Expenditure”. Comput. Meth. Biomech. Biomed. Eng., Vol. 6,
No. 2, pp. 99–111, 2003.
[Uno 89] Y. Uno, M. Kawato, and R. Suzuki. “Formation and Control of Optimal Trajectory
in Human Multijoint Arm Movement”. Biol. Cybern., Vol. 61, No. 2, pp. 89–101,
1989.
[Vale 07] F. J. Valero-Cuevas, J.-W. Yi, D. Brown, R. V. McNamara, C. Paul, and H. Lip-
son. “The Tendon Network of the Fingers Performs Anatomical Computation at
a Macroscopic Scale”. IEEE Trans. Biomed. Eng., Vol. 54, No. 6, pp. 1161–1166,
2007.
[Wash 79] S. Washburn. Human Ancestors, Chap. Tools and Human Evolution, p. 130.
W.H.Freeman & Co Ltd, San Francisco, 1979.
[Wein 00] A. M. Weinberg, I. T. Pietsch, M. B. Helm, J. Hesselbach, and H. Tscherne. “A
new kinematic model of pro- and supination of the human forearm”. J. Biomech.,
Vol. 33, No. 4, pp. 487–491, 2000.
[Will 11] W. O. Williams. “Huxleys Model of Muscle Contraction with Compliance”. J.
Elasticity, Vol. 105, No. 1-2, pp. 365–380, 2011.
[Wils 00] F. R. Wilson. Die Hand – Geniestreich der Evolution. Klett-Cotta, 2 Ed., 2000.
[Wink 10] A. Winkelmann, J. Kirsch, C. A. May, D. Lorke, W. Schwab, G. Herrmann, and
R. Funk. Taschenlehrbuch Anatomie. Thieme, 2010.
162
[Wint 90] J. M. Winters and S. L. Y. Woo. Multiple Muscle Systems: Biomechanics and
Movement Organization. Springer, New York, 1 Ed., 1990.
[Xian 10] Y. Xiang, J. Arora, and K. Abdel-Malek. “Physics-based modeling and simulation
of human walking: A review of optimization-based and other approaches”. Struct.
Multidiscip. O., Vol. 42, No. 1, pp. 1–23, 2010.
[Zaja 89] F. E. Zajac. “Muscle and tendon: properties, models, scaling, and application
to biomechanics and motor control”. Crit. Rev. Biomed. Eng., Vol. 17, No. 4,
pp. 359–411, 1989.
[Zanc 79] E. Zancolli. Structural and Dynamic Bases of Hand Surgery. Lippincott Williams
& Wilkins, 1979.
163