94
Passive Exoskeletons to Support Human Locomotion - a computational study Marta Sofia Galrito Pinto Thesis to obtain the Master of Science Degree in Enginnering Physics Supervisors: Prof. Miguel Pedro Tavares da Silva Prof. Maria Teresa Haderer de la Peña Stadler Examination Committee Chairperson: Prof. Rui Manuel Agostinho Dilão Supervisor: Prof. Miguel Pedro Tavares da Silva Members of the Committee: Prof. Carlos Miguel Fernandes Quental Prof. Horácio João Matos Fernandes October 2017

Passive Exoskeletons to Support Human Locomotion - a

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Passive Exoskeletons to Support Human Locomotion - a

Passive Exoskeletons to Support Human Locomotion - acomputational study

Marta Sofia Galrito Pinto

Thesis to obtain the Master of Science Degree in

Enginnering Physics

Supervisors: Prof. Miguel Pedro Tavares da SilvaProf. Maria Teresa Haderer de la Peña Stadler

Examination Committee

Chairperson: Prof. Rui Manuel Agostinho DilãoSupervisor: Prof. Miguel Pedro Tavares da SilvaMembers of the Committee: Prof. Carlos Miguel Fernandes Quental

Prof. Horácio João Matos Fernandes

October 2017

Page 2: Passive Exoskeletons to Support Human Locomotion - a

ii

Page 3: Passive Exoskeletons to Support Human Locomotion - a

Agradecimentos

Primeiramente, quero agradecer ao meu orientador, o professor Miguel Tavares da Silva, pela oportuni-

dade que me deu em desenvolver este trabalho, pela total disponibilidade e apoio, por todo o conheci-

mento que me transmitiu e por todas as palavras de incentivo ao longo de todos estes meses.

Quero tambem agradecer ao Sergio Goncalves por toda a ajuda e por todo o tempo despendido no

desenvolvimento deste trabalho.

Agradeco a todas as pessoas que de alguma forma me ajudaram ao longo de toda a minha vida

academica, professores, colegas e amigos, porque so com a contribuicao de todos e que me foi possıvel

chegar ao fim desta etapa.

A Debora e a Mariana, um agradecimento muito especial por toda a sincera amizade, por todas as

conversas, por toda a forca e apoio que me deram ao longo de todos estes anos.

Ao Tiago, por estar sempre do meu lado, por me fazer rir todos os dias, e porque sem ele nao teria

conseguido chegar aqui.

A minha famılia, agradeco por todo o apoio e uniao, em especial a minha mae por todo o esforco

que sempre fez para que eu pudesse frequentar a faculdade.

A todos um sincero obrigado.

iii

Page 4: Passive Exoskeletons to Support Human Locomotion - a

iv

Page 5: Passive Exoskeletons to Support Human Locomotion - a

Resumo

A marcha humana e um dos movimentos mais otimizados ao longo da evolucao do homem. E atraves do

estudo detalhado da marcha que e possıvel diagnosticar patologias no movimento procurando solucoes

para a sua correcao atraves de sistemas de suporte como ortoteses.

Este trabalho consiste numa analise de dinamica inversa de uma marcha nao patologica, e pos-

teriormente na analise da marcha otimizada com a ajuda de um exoesqueleto passivo implementado

computacionalmente.

Foram recolhidos dados do movimento da marcha humana no Laboratorio de Biomecanica de Lisboa

(LBL) e posteriormente tratados. Para a sua analise foi criado um modelo biomecanico 3D de corpo

inteiro e de seguida implementado em conformidade com o indıviduo estudado. De seguida foi criado

um modelo computacional do exoesqueleto em estudo que tem como funcao diminuir o esforco da

perna na execucao da tarefa da marcha de fazer o pe empurrar o chao elevando o calcanhar.

Observou-se, comparando os resultados das duas analises, uma diminuicao do momento produzido

pelo tornozelo biologico com o uso do exoesqueleto. Esta diminuicao em media foi de aproximadamente

24.2%.

Tais resultados reforcam a ideia de que com a ajuda de exoesqueletos passivos, sem o uso de

fontes de energia externas ao sistema do corpo humano, e possıvel diminuir os momentos de forca em

algumas articulacoes.

Palavras-chave: Biomecanica do movimento, Marcha, Exoesqueleto passivo, Analise dinamica

inversa.

v

Page 6: Passive Exoskeletons to Support Human Locomotion - a

vi

Page 7: Passive Exoskeletons to Support Human Locomotion - a

Abstract

Human gait is one of the most optimized motions through human evolution. It is by the detailed study

of gait that it is possible to diagnose motion pathologies and to find solutions for their correction through

support systems like orthoses.

This work consists of an inverse dynamic analysis of a non-pathological gait and later in the optimized

gait analysis with the help of a passive exoskeleton implemented in a computational way.

Data was collected from the human gait movement at the Laboratorio de Biomecanica de Lisboa

(LBL) and later treated. For its analysis, a 3D biomechanical model of the entire body was created

and then implemented in accordance with the studied subject. Later, a computational model of the

exoskeleton under study was created, whose function is to reduce the leg effort in the execution of the

gait task of making the foot to push the ground raising the heel.

It was observed, comparing the results of the two analyzes, a decrease of the moment produced by

the biological ankle with the use of the exoskeleton. This decrease was on average 24.2%.

These results reinforce the idea that, with the help of passive exoskeletons, without the use of exter-

nal energy sources applied in the human body system, it is possible to reduce the moments-of-force at

some joints.

Keywords: Biomechanics of movement, Gait, Passive exoskeleton, Inverse dynamic analysis.

vii

Page 8: Passive Exoskeletons to Support Human Locomotion - a

viii

Page 9: Passive Exoskeletons to Support Human Locomotion - a

Contents

Agradecimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii

Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v

Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii

List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi

List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii

Nomenclature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii

Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix

1 Introduction 1

1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.3 State of the art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.3.1 Support devices for human motion . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.3.2 Passive Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.4 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.5 Document structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2 Gait 9

2.1 Biomechanics of walking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.2 Metabolic cost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.3 Energetics of gait . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3 Multibody dynamics with Natural coordinates 13

3.1 Natural coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.2 Kinematic analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.3 Constraint equations definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.3.1 Scalar product constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.3.2 Kinematic joint constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.4 Dynamic analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.4.1 The principle of virtual power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.4.2 Mass matrix for a 3D rigid body . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.4.3 Inverse dynamics analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.5 Apollo software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

ix

Page 10: Passive Exoskeletons to Support Human Locomotion - a

3.5.1 Input data preparation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.6 Graphic visualization of the simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

4 Computational biomechanical model 27

4.1 Kinematic structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4.2 Kinematic drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4.3 Model kinematics database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

5 Experimental acquisition and data processing 35

5.1 Acquisition protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

5.2 Data collection - QTM software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

5.3 Data processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

5.3.1 Joints location determination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

5.3.2 Static trial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

5.3.3 Dynamic trials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

6 Sawicki exoskeleton computational model 47

6.1 Exoskeleton specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

6.2 Fortran routine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

6.3 Ankle joint moments balance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

7 Results and discussion 51

7.1 Natural gait . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

7.2 Application of the exoskeleton influence and results comparison . . . . . . . . . . . . . . 53

7.3 Knee comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

8 Conclusions and future developments 59

8.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

8.2 Future developments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

References 61

A Example of modulation file 63

B Additional Fortran routine in the Apollo software 73

x

Page 11: Passive Exoskeletons to Support Human Locomotion - a

List of Tables

3.1 Most common types of kinematic constraints defined with the use of the scalar product

constraint. Vectors ri, rj , rk and rl are the Cartesian coordinates of points i, j, k and l

and unit vector a and b, used in the definition of rigid bodies. [21]. . . . . . . . . . . . . . 18

4.1 Markers numbers and correspondent anatomical location. . . . . . . . . . . . . . . . . . . 30

4.2 Vectors used to define the kinematic structure and drivers of the biomechanical model

here created. The highlighted vectors are the ones which needs to be calculated their

local direction with the correspondent rotation axis of each revolute joint, which happens

at the elbow and knee joints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4.3 Superposition constraints definition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

4.4 Inner product constraints definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

4.5 Drivers definition. Here are defined the main motions of the human segments: flexion,

extension, abduction, adduction, inversion, eversion, and internal rotation. And also for

the right (R) and left (L) segments of the body. . . . . . . . . . . . . . . . . . . . . . . . . 33

4.6 Relative necessary anthropometric parameters taken from several databases [24, 21, 25,

23]. These values are relative to a female individual as it corresponds to the one studied

here. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

5.1 Markers numbers and correspondent anatomical location. . . . . . . . . . . . . . . . . . . 36

5.2 Representation and necessary formulas for the calculation of joint and extremity points.

There are also the calculation of the unit vector of each fixed body (the unit vectors of the

mobile bodies are further explained). Vectors u, v and w refer to x, y and z directions of

each body. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

5.2 Continuation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

5.2 Continuation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

5.2 Continuation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

5.3 Mobile rigid bodies local vectors definition. . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

7.1 Comparison between the principal results for the ankle and knee joints. a) Moment varia-

tion along stride; b) Mechanical power variation along stride; c) Moment along joint angle;

d) Joint angle along stride. In the last two results type are represented the principal mo-

ments of the gait cycle: IC, FF, HO, TO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

xi

Page 12: Passive Exoskeletons to Support Human Locomotion - a

xii

Page 13: Passive Exoskeletons to Support Human Locomotion - a

List of Figures

1.1 Some exoskeleton systems already being implemented: a) Rewalk - locomotion assi-

tance system [9], b) Lokomat - gait rehabilitation system [10] and c) BLEEX - augmenting

strength system [11]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.2 Ankle-foot system designed to provide assistance to the ankle joints during walking. A

reduction of 10% on the metabolic rate is observed through the results [12]. . . . . . . . . 5

1.3 Passive exoskeleton design for reducing the energy cost of walking [1]. . . . . . . . . . . 6

1.4 Sawicki et. al. work. Net metabolic rate results of this study, showing the larger reduction

with the use of a spring with stiffness coefficient of 180 N m rad−1 [1]. . . . . . . . . . . . 7

2.1 Gait cycle representation. Here are the main phases of the cycle as well the definition of

the main moments in the cycle, starting on heel strike and ending on the same foot heel

strike. Adapted from [16] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.2 A - Anatomical reference planes. The body is in the anatomical reference position, the

reference position when describing human articulation movements. B - Diagram of the

leg shown in the rest position (0 deg at all joints) with the positive direction indicated. [16] 10

2.3 Angle variation along a stride of the lower limb joints, adapted from [17] Here it is possible

to identify the basis joint movements within the gait cycle as well as its angle amplitude

and duration (flexion, extension,plantar flexion and dorsiflexion. . . . . . . . . . . . . . . . 11

2.4 Mechanical power normalized to bodyweight for the three main lower limb joints [17]. . . . 12

3.1 Representation of a 3D basic rigid body composed by two points (i and j) and two non-

coplanar vectors (u and v) in its kinematic structure. p is a generic point that belongs to

the rigid body. The inertial reference frame is represented by (xyz) and the local reference

frame, which is attached to the rigid body, by (ξηζ). Based in [21]. . . . . . . . . . . . . . . 20

3.2 Graphic visualization interface for reading Apollo analysis output. It is possible to see

several interest elements along the simulation time. . . . . . . . . . . . . . . . . . . . . . . 25

3.3 Graphic visualization of the Apollo analysis with the influence of the exoskeleton in study. 25

4.1 Right arm model: Revolute joint in the elbow and universal joint at the wrist - Main types

of joints used in the full body biomechanical model creation. . . . . . . . . . . . . . . . . . 28

xiii

Page 14: Passive Exoskeletons to Support Human Locomotion - a

4.2 Biomechanical 3D model developed has entry for the Apollo software. Detailed numbering

of points, rigid bodies (inside circles), and unit vectors. Some of the unit vectors here

represented, despite being represented in the y direction, they have the specific directions

of the rotation axis of the associated joint (see Table 4.2) . . . . . . . . . . . . . . . . . . . 29

4.3 In this figure the biomechanical model is represented with the centers of mass approxi-

mately located of each human segment. The head and the foot are illustrated in different

views for better understanding. There is also a schematic representation of the CM% dis-

tance (distance between CM and the proximal joint of the rigid body) presented in Table

4.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

5.1 Markers protocol used in the gait motion acquisition. The right foot is represented sepa-

rately for better visualization. The marker numbers and its anatomical location are speci-

fied at Table 5.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

5.2 Qualysis Track Manager software, data collection software used in this work. . . . . . . . 37

5.3 Inertia and mass distribution among the two bodies of the representation, one mobile (M )

and one fixed (F ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

5.4 Schematic representation of the various stages of data processing with the created Matlab

program. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

6.1 Representation of the changes made to the model in the leg and foot in order to add the

passive exoskeleton influence. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

6.2 Model developed for the addition of the exoskeleton influence in natural gait. Schematic

representation of the main necessary distances and vectors for the creation of the imple-

mented Fortran routine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

6.3 Representation of the main moments and forces involved in the leg-foot system under the

exoskeleton influence. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

7.1 Averaged a) hip and b) knee joints angle variation along stride without the influence of

the exoskeleton (average over ten studied strides). The standard deviation is also repre-

sented here. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

7.2 Ankle angle variation along stride without the influence of the exoskeleton. The ankle

angle pattern is what triggers the choice of spring engagement and disengagement mo-

ments. The engagement is done on foot flat and the disengagement at toe off. . . . . . . 52

7.3 Ankle angular velocity variation along stride for natural gait (average over ten strides, and

standard deviation lines). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

7.4 Illustration of the gait cycle with the influence of the exoskeleton. The engagement is done

on foot flat and the disengagement at toe off. It is possible to see that, while the spring is

engaged, the stretching and recoil phases. . . . . . . . . . . . . . . . . . . . . . . . . . . 53

xiv

Page 15: Passive Exoskeletons to Support Human Locomotion - a

7.5 Ankle moment average (normalized to body weight) along stride percentage for the anal-

ysis without the exoskeleton and with the exoskeleton being with the optimal value for

spring stiffness. It is possible to see a significant moment reduction on the biological an-

kle when it has the influence of the exoskeleton. There are two marks represented by the

vertical lines: the moments when the spring engages and disengages the exoskeleton. . 54

7.6 Ankle moment (normalized to body weight) values for each stiffness coefficient used along

stride percentage. As greater the stiffness coefficient greater the exoskeleton torque pro-

duced and consequently greater the biological ankle moment reduction. The spring en-

gagement and disengagement are also marked. . . . . . . . . . . . . . . . . . . . . . . . 54

7.7 Exoskeleton produced moment (normalized to body weight) values along stride percent-

age. With the increase of the spring stiffness coefficient the exoskeleton moment also

increases. The spring engagement and disengagement are also marked here. . . . . . . 55

7.8 Ankle joint mechanical power (normalized to body weight) along stride. Here is repre-

sented the results for the analysis without the exoskeleton influence and also with the

exoskeleton influence for the five values of spring stiffness under analysis. . . . . . . . . . 56

xv

Page 16: Passive Exoskeletons to Support Human Locomotion - a

xvi

Page 17: Passive Exoskeletons to Support Human Locomotion - a

Nomenclature

γ Right-hand-side of acceleration equation

λ Vector of Lagrange multipliers

ν Right-hand-side of velocity equation

Φ Vector of kinematic constraints

Φq Jacobian matrix of kinematic constraints

τ Torque

auxi Auxiliar vector number i

C Coordinate transformation matrix

c Vector containing coefficients c1, c2 and c3

g Vector of generalized forces

Ix,y,z Inertia parameters in the directions x, y and z

I3 Identity matrix (3x3)

M , M e Mass matrix of the system (global) and mass matrix of the rigid body (local)

q, q, q Vectors of generalized coordinates, velocities and accelerations

rJi Global coordinates of model point number i

rMi Global coordinates of marker number i

rp Vector with the Cartesian coordinates of a point p

u∗n, v∗n, w∗n Auxiliar local vectors of body named n for x, y, z directions

un, vn, wn Unit local vectors of body named n for x, y, z directions

vi Vector number i

X, X ′ Matrices representing a generic three-dimensional base of vectors

P∗ Virtual power

xvii

Page 18: Passive Exoskeletons to Support Human Locomotion - a

Ω Rigid body volume

ω Angular velocity of a rigid body

ρ Rigid body density

Di Kinematic driver number i

IPi Inner product constraint number i

Mi Marker number i

Pi Point number i

RBi Rigid body number i

SPi Superposition constraint number i

θ Joint angle

ξηζ Local reference frame

A Distance between ASIS markers

Fs Force done by a linear spring

k Spring stiffness coefficient

l Anatomical segment length

Lij , Lu Lengths of segment rij and unit vector u

m Anatomical segment mass

m% Anatomical segment mass percentage of total body mass

Mj Moment of force of joint j

nc Number of generalized coordinates

Pj Mechanical power of joint j

t Time variable

xyz Global reference frame

xviii

Page 19: Passive Exoskeletons to Support Human Locomotion - a

Glossary

3D Tri-dimensional

BLEEX Berkeley Lower Extremity Exoskeleton

CM Center of mass

DOF’s Degrees of freedom

FF Foot Flat

GRF Ground reaction forces

HO Heel Off

IC Initial Contact

LBL Laboratorio de Biomecanica de Lisboa

QTM Qualysis Track Manager

TO Toe Off

xix

Page 20: Passive Exoskeletons to Support Human Locomotion - a

xx

Page 21: Passive Exoskeletons to Support Human Locomotion - a

Chapter 1

Introduction

1.1 Motivation

Locomotion is an essential task for all humans. It is through the combined set of our skeletal, muscular

and nervous systems that we are able to efficiently walk in our daily activities. Throughout evolution,

humans became experts in walking, naturally choosing, for example, the length of each step and the

arm movement that minimizes energy expenditure [1]. Despite its high efficiency it is still of great interest

to study gait improvement strategies.

Along centuries the development of external devices for human motion support was on the rise, from

simple crutches to complex robotic structures. In the present, it is already possible to support human

motions using powered structures connected to the body, supporting people with motion pathologies or

even augmenting the capabilities of able-bodied individuals.

With aging the human body suffers wear at various levels, for example loss of muscle tone, bone

strength decrease and cartilage naturally deterioration. These body changes can make physical activi-

ties more demanding with a greater energy cost. A mechanism capable of reducing the effort of human

daily movements could not only help able-bodied individuals to perform longer tasks without getting tired

but also prevent joint wear diseases in older people.

The present work will focus on the possibility of reducing the metabolic energy cost of non-pathological

human locomotion with the use of passive elements. Such achievement could bring, when well studied

and systematized, a long-term prevention or in other cases retardation of joint wear or other locomotion

pathologies without needing expensive power sources and control elements.

1.2 Objectives

The main objective of this work is the computational study and analysis of a passive external solution

for non-pathological gait augmentation. More specifically, this dissertation work aims to construct a

computational model of a passive exoskeleton based on the prototype solution proposed by Sawicki et

al. [1]. This experimentally tested passive exoskeleton, provides support to the ankle function during

propulsion of the foot push the ground with the use of a clutch-spring system. Further in this document

this device is explained in more detail.

In order to reproduce the results of Sawicki et al. [1], the method here presented consists in the

1

Page 22: Passive Exoskeletons to Support Human Locomotion - a

study of a natural non-pathological gait motion and its consequent dynamic analysis. Once the analysis

is done, then the exoskeleton information is added computationally, making it possible to simulate a

real person motion with the influence of the exoskeleton. A comparison analysis is then made with the

results of both situations: with and without the exoskeleton influence.

Throughout the work there will be several goals to be achieved and are stated as follows:

• Study the human natural gait cycle.

• Collect experimental data for natural gait.

• Create a biomechanical model for the entire body.

• Carry out the inverse dynamic analysis of natural gait.

• Develop a computational model of a passive exoskeleton to study the improvement in the energetic

performance of natural gait.

• Carry out the inverse dynamic analysis of gait optimized by the implementation of the device.

1.3 State of the art

The research in the area of gait support devices is very broad based on various types of applications

according to their function and modes of operation.

The two main fields where the use of exoskeletons are present nowadays are on augmenting the

capabilities of able-bodied individuals and supporting/correcting people with motion pathologies. The

first comprehends exoskeleton systems commonly present in areas such as military and industrial, and

the second corresponds to the medical area directed to patients with physical disabilities or on the other

hand that need special mechanisms for motor rehabilitation.

In this research area the powered devices became the most studied type of exoskeletons, mainly

due to the technological evolution of sensors, actuators and control systems of the past decades [2] and

also by the huge capacity in terms of power that they could bring for many functions. By contrast, more

recently it became of great interest to some research units to make use of the wasted energy by the

human motions using passive elements with the aim of reducing cost and weight of powered systems.

Here after some examples of the studied exoskeletons that are being study and others that are

already being commercialized are referred.

1.3.1 Support devices for human motion

There are many people suffering daily with locomotion difficulties. Mobility disorders may be caused by

a variety of pathologies from neurological to musculoskeletal disorders and can lead to major movement

difficulties in the simplest daily activities. The locomotor system may also be affected by the ageing of

people causing, for example, the wear of joints and tendons which hinder locomotion. As a response to

the population needs, the research on complex mechanical devices to augment human movements has

2

Page 23: Passive Exoskeletons to Support Human Locomotion - a

been increasing since the 19th century [3]. Exoskeletons, orthoses and prostheses are all designed with

the same main function: support the human locomotory system.

This work will focus on exoskeletons and orthoses which can be defined as mechanical devices that

are essentially anthropomorphic, are attached to an operator and work in concert with his movements

[2]. Ocasionally in the literature, the term ’exoskeleton’ is used to describe a device that augments

the physical capabilities of an able-bodied wearer, whereas the term ’orthosis’ describes a device used

to support the movements of a person with a limb pathology [2]. In this document both solutions are

referred as exoskeletons.

Exoskeletons can be classified into two categories accordingly with wether they use an external

power source or not: named active and passive, respectively. Passive exoskeletons are often lightweight,

but due to their lack of power supply and electronics, are unable to provide the mechanical power needed

to support certain more demanding tasks. Active exoskeletons generally have implemented electronic

control systems that can model exoskeletal behaviors for different conditions. Furthermore, exoskeletons

can be classified in regard to their need of external connections: as tethered if they require a connection

and as autonomous if not [4].

Another important classification of exoskeletons elements is if they actuate in series or in parallel

with the lower limbs. Elements in series with the biological leg, for example a special shoe for running

[2], can reduce the metabolic cost of running by lowering impact losses and by providing energy return.

Parallel exoskeletons actuate in parallel with the human limbs for example by transferring load directly

to the ground, or by augmenting joint torque and work [2].

It is possible to organize the main types of exoskeletons considering their function in four groups.

Exoskeletons for gait assistance and solutions to help clinical methods for limbs rehabilitation, are two

of these groups usually found when assisting individuals with pathologies linked to the lower limbs. Re-

garding systems to support people without any physical disability, it is possible to find exoskeletons with

the main porpuse of augmentating human capabilities, and finally systems aiming to reduce metabolic

energy expenditure of daily activities [5, 6]. Within this main division, an example of the most relevant

ones in each exoskeleton type will be presented in the following sections.

Gait assistance

Exoskeletons for locomotion assistance are primarily used to help paralyzed patients who have partially

or completely lost mobility in the lower limbs. This type of systems can provide external torque on human

joints helping to overcome patients deficient motor function, and thereby giving them ability to perform

essential daily life motions [5].

ReWalk (see Figure 1.1 a) ) is a powered exoskeleton for mobility-impaired adults [7]. This solution

aims to help patients with spinal cord injuries to walk again without the use of a wheelchair.

This 23 kg structure requires the use of crutches to provide stability as the system does not have

balance control [6]. The exoskeleton is controlled by on-board computers with motion sensors, starting

gait motion by sensing the forward tilt of the upper body, producing the natural gait motion. Paralyzed

patients can practically stand upright and walk with increased independence improving their life quality

[5].

3

Page 24: Passive Exoskeletons to Support Human Locomotion - a

Physical rehabilitation

Robotic devices that can release the burden of therapists and provide effective and repetitive gait train-

ing have been widely studied recently [5]. Patients who have injuries such as cerebral paralysis or

orthopaedic injuries in the lower limbs need rehabilitation training to help recover and reestablish mo-

bility [5]. At present, rehabilitation therapy in locomotion is mainly done with the constant assistance of

the therapist so that the patient remains standing and in balance. Robotic solutions that can support

therapists on this work, and provide better results in the patient rehabilitation are very helpful.

The robotic assistance exoskeleton Lokomat (see Figure 1.1 b) ) is a commercially available device

for helping gait rehabilitation. This type of exoskeletons provide functional walking training for patients

with mobility dysfunctions in their lower limbs, consequence of a wide variety of pathologies. Lokomat

is a treadmill-based gait rehabilitation device with a robotic gait system, a body weight support and a

virtual reality feedback environment [5, 8]. The robotic gait system operates with a total of 4 degrees

of freedom, and the hip and knee joints are actuated by linear drivers to provide assistive torque in the

sagittal plane [5].

The effectiveness of Lokomat as an intervention in gait rehabilitation has been verified in many clinical

studies [5].

Augmenting human capabilities

Some important areas on where the need for exoskeletons is observable are mainly military and in-

dustrial environments, where these are needed to enhance human capabilities to, for example, heavy

load-carrying without causing physical damages [6].

The Berkeley Lower Extremity Exoskeleton (BLEEX) (see Figure 1.1 c) ) was developed in the scope

of military use for carrying heavy loads. Each exoskeleton leg has seven DOFs spread through the

joints: three at the hip, one at the knee, and three at the ankle [5]. The exoskeleton is constituted by

two parallel actuation elements, a power source and a structure for load support. This system allows to

directly transfer the load to the ground, augmenting considerably the wearer capability [6].

It has been reported that BLEEX wearers can walk at an average speed of 1.3 m/s while carrying a

34 kg payload [5]. The exoskeleton system consumes an average of 1143 W of hydraulic power during

level-ground walking, and 200 W of electrical power for the electronics and control. In comparison, a

similarly sized, 75 kg human consumes approximately 165 W of metabolic power during level-ground

walking [2].

Reducing metabolic expenditure

Despite of the human skill and efficiency while walking, this task still generates a considerable metabolic

expenditure during daily life [1]. Therefore, systems that could enable a significant reduction on people’s

fatigue, helping them to walk for longer periods of time, are important to study.

Despite the difficulties on improving the metabolic expenditure of walking a recent work, based on

an ankle-foot system exoskeleton, was able to obtain a significant reduction of the metabolic rate by

4

Page 25: Passive Exoskeletons to Support Human Locomotion - a

(a) (b) (c)

Figure 1.1: Some exoskeleton systems already being implemented: a) Rewalk - locomotion assitancesystem [9], b) Lokomat - gait rehabilitation system [10] and c) BLEEX - augmenting strength system [11].

10±3% (see Figure 1.2) [12]. This autonomous exoskeleton was designed to provide assistance to the

ankle joints during walking and it is composed by three main parts: a pair of fiberglass struts attached

to each boot, unidirectional actuators mounted on the anterior shank segments, a battery and control

package worn on the waist [12].

Figure 1.2: Ankle-foot system designed to provide assistance to the ankle joints during walking. Areduction of 10% on the metabolic rate is observed through the results [12].

1.3.2 Passive Solutions

The research on passive elements for locomotion support is quite recent. Passive elements, such as

springs, started to appear in active exoskeletons as a way to reduce the need of external power sources

for the operation [13]. But the idea to totally remove the external power sources making use of all the

energy wasted in human-machine overall system started to appear [1].

In this section one example of a passive exoskeletons is presented, included in the group of solutions

5

Page 26: Passive Exoskeletons to Support Human Locomotion - a

that aim to decrease the metabolic cost of human motions. One of the studied objectives with the use of

passive elements, is the possibility to passively actuate the ankle motion, supporting its task of plantar

flexion, to make the foot push the ground. Ankle injuries are a common pathology due to the constant use

of the articulation, so it is interesting to have a solution of this type, that could be used in the prevention

of this injuries. Among other studies of this type [4] (see Figure 1.2), the one that is more relevant for

this dissertation is the work of Sawicki et al. [1]. This experimental study [1] presents the design of a

lightweight passive exoskeleton (see Figure 1.3) that reduces the metabolic rate while walking, helping

the lower limb system on the task of pushing the ground, reducing the needed biologic force of the

system composed by the calf muscles and the Achilles tendon.

Figure 1.3: Passive exoskeleton design for reducing the energy cost of walking [1].

The device consists in a lightweight elastic device that acts in parallel with the user’s calf muscles, off-

loading muscle force and thereby reducing the metabolic energy consumed in contractions. The device

uses a mechanical clutch to hold a spring as it is stretched and relaxed by ankle movements when the

foot is on the ground. The exoskeleton consumes no chemical or electrical energy and delivers no net

positive mechanical work, yet it reduces the metabolic cost of walking by 7.2 ± 2.6% for healthy human

users under natural conditions (observed in Figure 1.4), comparable to savings with powered devices.

This work will be studied in great detail, from the computational point of view, in this dissertation.

6

Page 27: Passive Exoskeletons to Support Human Locomotion - a

Figure 1.4: Sawicki et. al. work. Net metabolic rate results of this study, showing the larger reductionwith the use of a spring with stiffness coefficient of 180 N m rad−1 [1].

1.4 Contributions

The main contributions of this work are the following:

• A 3D biomechanical model of the entire human body with natural coordinates;

• Experimental data collected for natural gait in the laboratory of motion;

• A computational model created based on a passive device for energetic performance augmenta-

tion of human gait.

1.5 Document structure

This document is divided into eight main chapters. The first and present chapter corresponds to the

introduction where it is explained the motivation, the main objectives, the state of the art and the contri-

butions of the present work. Chapter 2 introduces some necessary theoretical concepts that will help to

understand the human gait and its patterns of motion. Chapter 3 makes a brief description of a Multibody

System formulation using Natural coordinates, explains the mechanisms of an inverse dynamic analysis

and presents the software used here for that purpose. The practical work corresponds to the Chapters

4 to 6 including details about experimental acquisition, computational models construction and data pro-

cessing. Chapter 7 presents the work results, comparison and further discussion. Finally Chapter 9

presents a set of conclusions and future developments on this matter.

7

Page 28: Passive Exoskeletons to Support Human Locomotion - a

8

Page 29: Passive Exoskeletons to Support Human Locomotion - a

Chapter 2

Gait

In order to assist human locomotion it is necessary to understand the human physiology during gait, to

later understand how the human biology interacts with the projected device. Biomechanics is a multi-

disciplinary science responsible for the study of human motion. It is through the laws and concepts of

Mechanics that we are able to study the behaviour of biological systems [14]. For a better understand-

ing of exoskeletons concepts it is important to have in mind some Biomechanics considerations and

terminologies. More detailed information on this topic can be found in the literature [15].

2.1 Biomechanics of walking

Gait is commonly described in the literature by the lower limbs movements which occur during one stride

and that are repeated during human locomotion. Figure 2.1 shows a representation of a gait cycle with

the main phases and events on the sagittal plane, the dominant plane of gait motion named accordingly

with the Biomechanics terminolgy used to precisely describe the human body movements (see Figure

2.2 a) ). Gait data is often represented along the stride percentage, as the timing of the labelled events

is approximate, and varies across individuals and conditions [16]. The gait cycle is divided into two main

phases - the stance phase, which corresponds to the period when the foot is in contact with the ground

and the swing phase, when the foot is airborne. Starting with the initial contact (also known as heel

strike), the point when the heel first touches the ground and ending in the same point of the next stride,

thus completing the cycle. The principal moments of the gait cycle are:

• IC (Initial Contact) - represents the first instant of stance phase when the heel first touches the

ground;

• FF (Foot Flat) - represents the instant of stance phase when the foot is totally flat in the ground;

• HO (Heel Off) - represents the instant of stance phase when the heel leaves the ground;

• TO (Toe Off) - represents the first instant of swing phase when the foot totally leaves the ground.

The joint movements occurring in the sagittal plane, i.e the plane that divides the body in two equal

parts (left and right), are mostly described as hip and knee flexion/ extension (positive/negative direction

respectively), and the same for the ankle but named as dorsiflexion/ plantar flexion (see Figure 2.2 b) )

[16, 17].

9

Page 30: Passive Exoskeletons to Support Human Locomotion - a

Figure 2.1: Gait cycle representation. Here are the main phases of the cycle as well the definition ofthe main moments in the cycle, starting on heel strike and ending on the same foot heel strike. Adaptedfrom [16]

Although this work is focused primarily on the lower limbs movement, it is also important to mention

that the movement of the arms plays a fundamental role of balancing the body during walking. Arms

swing is not essential for walking, but recent studies (that could positively contribute to the development

of lower limbs exoskeletons) point that swinging our arms reduces the overall amount of energy it takes

during locomotion [18].

Figure 2.2: A - Anatomical reference planes. The body is in the anatomical reference position, thereference position when describing human articulation movements. B - Diagram of the leg shown in therest position (0 deg at all joints) with the positive direction indicated. [16]

Some important parameters when analysing gait are joint angles (see Figure 2.3), net moments of

force and mechanical power variation along stride. While walking data may differ somewhat across

subject and condition, the qualitative nature of data remains similar [16], for example being possible to

identify the main joint movements along the stride as it is done in Figure 2.3. By observing gait data

patterns it is possible to distinguish between normal and pathological gait, making this a clinical analysis

10

Page 31: Passive Exoskeletons to Support Human Locomotion - a

tool that can be used to support medical decision and pathology diagnosis [17].

Besides skeletal muscles and the skeleton itself there are some other important biological structures,

such as tendons and ligaments, that play an important role during walking, as they assure for force

transmission and at the same time they allow for energy storing and also dissipation. On this matter

there are some exoskeletons researchers that tend to study the relevant capabilities of these tissues

trying to mimic them on the development of exoskeleton elements, being this concept called biomimetics

[1]

Figure 2.3: Angle variation along a stride of the lower limb joints, adapted from [17] Here it is possibleto identify the basis joint movements within the gait cycle as well as its angle amplitude and duration(flexion, extension,plantar flexion and dorsiflexion.

2.2 Metabolic cost

The metabolic cost of human locomotion is the energy consumed during walking due to the muscles

actuation to produce the force needed on the center of mass, to swing the lower limbs and, simultane-

ously, to support body weight [19]. A common manner to quantify the metabolic cost during a movement

task, is to measure the rates of oxygen consumption and carbon dioxide production of the subject. This

method gives an aproximate value of how physically demanding the activity is to the body [16]. With a

proper analysis and comparison of this type of metabolic data it is possible to measure the efficiency

of the human-machine system, with the use of either an exoskeleton or other type of motion support

structure. Thus, it is possible to determine experimentaly, using a gas analyser, if there is any energetic

advantage of using the device or not [16].

The human locomotion natural system has extremely efficient operation methods, for example rapidly

adapting its response to irregularities in the ground. As this natural system always chooses the better

way to work, adapting to any type of soil or choosing each step’s length, almost any change in its

11

Page 32: Passive Exoskeletons to Support Human Locomotion - a

operating pattern may increase its metabolic rate (energy expenditure per unit time) which makes it very

difficult to achieve better performance results [1].

2.3 Energetics of gait

For the development of passive exoskeletons it becomes even more important to understand, in detail,

the human body mechanisms that occur during walking. As a passive element, this type of device does

not use any external power supply and therefore it will operate based on the utilization of the energy

already present in the system as power supply.

One important parameter to analyze regarding energy absorption and generation is the mechanical

power done by a human joint durign a specific human motion. Regarding the human gait, as other

important parameters presented above, the mechanical power present a well defined pattern of variation

along the stride percentage.

Figure 2.4 (taken from the literature [17]) shows the mechanical power variation along a normal gait

stride for the leg’s main joints. Looking to the case of the ankle joint (the one that brings more interest

to this experimental study) it is possible to see two main phases represented: negative power phase,

corresponding to an energy absorption by the ankle joint and during ground contact, and a positive

power phase that corresponds to energy generation by the muscles crossing the ankle joint.

Figure 2.4: Mechanical power normalized to bodyweight for the three main lower limb joints [17].

Analyzing the correspondent curves of the mechanical power with and without the influence of any

support mechanical system provides a way to understand the energy changes verifying the feasibility of

the added system.

12

Page 33: Passive Exoskeletons to Support Human Locomotion - a

Chapter 3

Multibody dynamics with Natural coordinates

The detailed study of complex mechanical systems subjected to displacements, rotations and inter-

nal/external forces can lead to important results for a wide variety of engineering research areas, such

as automobile industry, aerospace, robotics, biomechanics and others [20]. The use of multibody system

approaches, with efficient computer codes, allow for the systematic formulation and solution of complex

mechanical systems equations of motion [21].

A multibody system is defined as an assembly of bodies that are joined together by kinematic joints,

having the possibility of relative movement between them due to the application of external forces [20].

There are two main types of analyses that can be performed within a multibody systems formulation: a

kinematic analysis and a dynamic analysis. The first accounting only for the motion apart forces involved,

and the second adding the influence of the forces and accelerations that are present in the system.

In order to study a mechanical system with the formulation of a multibody analysis, describing the

position and orientation of each rigid body, it is necessary to define a set of coordinates. The type of

coordinates used may vary considering the type of problem, its simplicity and analysis efficiency. In the

present work will be used Natural coordinates that, make use of the Cartesian coordinates of a set of

points and unit vectors, to describe the position and orientation of a rigid body in space.

In this chapter a multibody formulation with the use of Natural coordinates is described [21, 22, 23].

3.1 Natural coordinates

In a formulation with Natural coordinates the defined points are usually interest points such as joints or

rigid bodies extremity points, while unit vectors are comonly used to define the kinematic joints rotation

and direction axes. This definition avoids the necessity to introduce angular variables since these are

implicit in the model [21].

To perform a kinematic or dynamic analysis the Cartesian coordinates of each point and vector used

in the description of the mechanical system need to be defined. These coordinates are organized in a

column vector q called generalized coordinates vector. Vector q defines in a unique way the system for

each instant of time as follows,

q =xP1

yP1zP1

· · · xPnyPn

zPnxV1

yV1zV1

· · · xVmyVm

zVm

T

(3.1)

13

Page 34: Passive Exoskeletons to Support Human Locomotion - a

where the index P stands for the correspondent point, the index V for unit vectors and x, y and z

represents the three Cartesian coordinates of a point or components of a vector. The indexes n and

m refer respectively to the total number of points and the total number of vectors used in the system

description. Looking to equation 3.1, the total number of coordinates will be given by nc = 3(m+ n).

The generalized coordinates present in vector q can be independent if they can vary independently,

or in other way, dependent if they are related with each other through algebraic equations. In a multibody

system formulation with natural coordinates all the generalized coordinates are dependent, as they

are related by algebraic equations defining the system topology at every instant of time. Constraining

the respective degrees of freedom, these expressions define the system joints, rigid bodies and driver

actuators thus being called kinematic constraint equations. There are two main types of constraint

equations regarding there dependency with time: the scleronomic and rheonomic ones. Scleronomic

constraints are kinematic constraints in which the time variable does not appear explicitly in the algebraic

equation (used to define rigid body properties and joints) while in rheonomic constraints this dependency

is explicit (used to define driver actuators). All these constraint equations are organized in the column

vector Φ in their homogeneous form as,

Φ(q, t) =

Φ1(q)...

Φns(q)

Φns+1(q, t)...

Φns+nr(q, t)

= 0 (3.2)

where Φi refers to the ith kinematic constraint equation, ns the total number of scleronomic con-

straints, nr the total number of rheonomic constraints and 0 the null vector.

3.2 Kinematic analysis

In a kinematic analysis the various elements of a mutibody system are studied by obtaining their position,

velocity and acceleration leaving aside the influence of external forces of the system.

To obtain kinematic consistent positions of the constituent elements of the mechanical system under

analysis it is necessary to solve equation 3.2 with respect to the generalized coordinates vector q, that

is the resultant positions will satisfy the kinematic constraint equations at every instant of time.

As the kinematic constraints have a non-linear behavior its resolution requires the use of numerical

methods. When solving this type of systems of equations, the Newton-Raphson’s method is usually

used. This method presents a quadratic convergence in the vicinity of the solution i.e the error in each

iteration is proportional to the square of the error in the previous iteration.

Using the first two terms of equation 3.2 expansion in a Taylor series evaluated at an approximate

initial position qi, for a given time t this equation can be rewritten as,

14

Page 35: Passive Exoskeletons to Support Human Locomotion - a

Φ(q, t) ∼= Φ(qi, t) + Φq(qi)(q − qi) (3.3)

which represents a system of linear equations, where Φq(qi) stands for the Jacobian matrix evaluated

for the initial approximation vector qi. This matrix is given by the expression,

Φq(q) =∂Φm

∂qn=

∂Φ1

∂q1∂Φ1

∂q2· · · ∂Φ1

∂qnc

∂Φ2

∂q1

. . ....

.... . .

...∂Φnh

∂q1· · · · · · ∂Φnh

∂qnc

(3.4)

which contains the partial derivatives of each kinematic constraint with respect to the vector of gener-

alized coordinates. The subscript nh refers to the total number of constraints and nc the number of

dependent coordinates.

As the Newton-Raphson method is an iterative procedure, q = qi+1 is an approximate solution of

equation 3.2 for the next iteration. Considering that the residual for the current iteration is given by

∆qi = qi+1 − qi , equation 3.2 can be written as,

Φq(qi)∆qi = −Φ(qi) (3.5)

The iteration is made repeatedly applying the equation 3.5 until the norm of ∆qi reaches a chosen

tolerance value.

Then, in order to calculate the velocity of each element used in the mechanical system description,

it is necessary to first obtain the velocity constraint equations. As there cannot be any violation of the

position constraint equations, there cannot be either for their derivatives. Thus, differentiating equation

3.5 with respect to time, it is obtained,

Φ(q, q, t) =dΦ(q, t)

dt=∂Φ(q, t)

∂t+∂Φ(q, t)

∂q

dq

dt= 0 (3.6)

where ∂Φ(q,t)∂t is the vector containing the constraints partial derivatives with respect to time, ∂Φ(q,t)

∂q is the

constraints Jacobian matrix defined in equation 3.4 above, and the term dqdt is the generalized velocities

vector q.

It is possible to rewrite the equation 3.6 above as follows,

Φqq = ν (3.7)

where ν represents to the right hand-side of the velocity equation i.e,

ν(t) = −∂Φ(q, t)

∂t(3.8)

The velocities of each point and unit vector present in the system description can now be determined.

The same procedure is repeated for the accelerations determination, differentiating this time the velocity

15

Page 36: Passive Exoskeletons to Support Human Locomotion - a

equation, as follows,

Φ(q, q, q, t) =dΦ(q, q, t)

dt= Φqq + (Φqq)qq − νt = 0 (3.9)

where νt refers to the ν partial derivative with respect to time. Rewriting the acceleration equation as,

Φqq = γ (3.10)

where γ is the right-hand side of equation 3.9, that is,

γ(q, q, t) = νt − (Φqq)qq (3.11)

3.3 Constraint equations definition

With the use of natural coordinates in a multibody systems formulation there are three possible types of

constraint equations to be defined. First the rigid body constraint which allow to maintain the rigid body

properties of each mechanical system element. Then the joint constraints, as their name indicates,

are used in the definition of the mechanical system kinematic pairs and topology. And finally the driver

constraints which are responsible for prescribing and controlling the motion of the system. To apply

these constraints to the multibody system, in this work, a scalar product constraint formulation is used

and it will be explained below.

3.3.1 Scalar product constraint

It is possible to constrain the angle between two generic vectors, u and v, using an equation describing

the scalar product between them as follows,

ΦSP (q, t) = vTu− LvLu cos(〈v,u〉(t)) = 0 (3.12)

where Lv and Lu correspond to the lengths of the vector v and u, respectively, and 〈v,u〉(t) is the angle

defined between them at a specific instant of time. As this generic constraint equation explicitly varies

with time (rheonomic constraint) in relation with the angle value, it becomes possible to either prescribe

a constant angle between two elements or define a variation of it through time. Thus, using equation

3.12, the scalar product constraint can be used to define a rigid body constraint or a driver constraint.

Due to the quadratic dependency on the generalized coordinates, the contribution of the scalar prod-

uct constraint to the Jacobian matrix is linear and given by,

ΦSPq =

∂(vTu)

∂q= uT ∂v

∂q+ vT

∂u

∂q=[0T · · · uT · · · 0T · · · vT · · · 0T

](3.13)

where the only non-zero entries are those which are associated with the generalized coordinates used

to calculate the vectors u and v.

16

Page 37: Passive Exoskeletons to Support Human Locomotion - a

Using equations 3.8 and 3.10 together with equation 3.13 the resultant right-hand sides of the velocity

and acceleration for the scalar product constraint equations are respectively given by,

νSP (t) = −LvLu sin(〈v,u〉(t)

)∂〈v,u〉(t)∂t

(3.14)

and

γSP (q, t) = νSPt (t)− 2(vT u) (3.15)

The scalar product constraint can be applied in several types of kinematic constraints, the most

common ones are described in Table 3.1.

3.3.2 Kinematic joint constraint

In order to define the relative movements allowed between elements of the mechanical system under

study the system joints are defined mathematically with constraint equations. A kinematic joint constraint

equation will restrict the relative motion between two system elements reducing the correspondent de-

grees of freedom.

In the present work, revolute, universal and spherical joints were used to describe the developed

biomechanical model. These joints are represented below with examples from the model created here.

The revolute joint enables only one rotation between two rigid bodies (restraining three translations

and two rotations) along the direction of a specified unit vector. There are two possible ways to math-

ematically define this type of joint. In the first method the rigid bodies, which are constrained by the

revolute joint, are defined in such a way that they are sharing one point and one vector (with the direc-

tion of the joint rotation axis). The second method uses superposition constraints to replicate the same

aspects. Considering two n and m two points one of each rigid body involved and a and b two vectors

also one of each the rigid bodies. Using the second method, in order to superimpose the two points, the

first joint constraint to be applied is defined as follows,

ΦSPH(q) = rn − rm = 0 (3.16)

and, in order to superimpose the two vectors, the correspondent constraint equation is expressed by,

ΦREV (q) = b− a = 0 (3.17)

The revolute joint is used, in this work, to define, for example, the joint between the toes and the foot

enabling the toes flexion and extension (1 DOF).

The universal joint only enables two DOF restricting the remaining four. The enabled movements by

this joint correspond to two rotations along two orthogonal vectors. This joint can be defined assuring or-

thogonality between two vectors, one of each rigid bodies involved. The kinematic constraint associated

with the universal joint constraint is defined by a scalar product constraint and is presented in Table 3.1.

In the biomechanical model created in this work (further explained in detail) the ankle joint is defined as

17

Page 38: Passive Exoskeletons to Support Human Locomotion - a

Constraint description v u Lv Lu 〈v,u〉 Graphical representation

Constant distance be-tween points i and j.

(rj − ri) (rj − ri) Lij Lij 0

Unit vector. a a 1 1 0

Constant angle betweenunit vectors a and b.

a b 1 1 α

Constant angle betweensegment rij and unitvector a.

(rj − ri) a Lij 1 β

Constant angle betweensegments rij and rkl.

(rj − ri) (rl − rk) Lij Lkl γ

Orthogonal unit vectors. a b 1 1 π/2

Rotational driver about arevolute joint located inpoint i, using segmentsrij and rik.

(rj − ri) (rk − ri) Lij Lik φ = f(t)

Translational driver de-fined between point iand point j belonging todifferent rigid bodies.

(rj − ri) (rj − ri) L = f(t) L = f(t) 0

Table 3.1: Most common types of kinematic constraints defined with the use of the scalar product con-straint. Vectors ri, rj , rk and rl are the Cartesian coordinates of points i, j, k and l and unit vector aand b, used in the definition of rigid bodies. [21].

being an universal joint enabling, in the sagittal plane, the foot plantar flexion and dorsiflexion and, in the

frontal plane the foot inversion and eversion (2 DOF).

The spherical joint enables three DOF’s which correspond to the three rotation movements. This joint

can be defined implicitly by defining that two rigid bodies are sharing one point or explicitly by applying

the kinematic constraint equation presented above in Equation 3.16. In this work, for example, the hip

joint is described as a spherical joint enabling the flexion, extension and internal rotation of the upper

leg (3 DOF).

18

Page 39: Passive Exoskeletons to Support Human Locomotion - a

3.4 Dynamic analysis

A dynamic analysis can be of two kind: a forward dynamic analysis and an inverse dynamic analysis.

The first approach is used when, for a given set of applied external forces, the goal is to determine the

movement of the mechanical system. In other way, an inverse dynamic analysis is useful to find, for a

given observed movement, the set of forces that was on its origin. This work will focus on the inverse

dynamics analysis as the set of forces involved in a known motion is what is needed to be known here.

In the next two sections it will be exposed, in a generic form, procedures that are common to both types

of dynamic analysis.

3.4.1 The principle of virtual power

In order to obtain the equations of motion of a constrained mechanical system, although there are other

ways presented in literature [20], here it will be exposed the principle of virtual power. This principle is

mathematically expressed as,

P∗ = q∗T (Mq − g) = 0 (3.18)

and establishes that the sum of the virtual power P∗ produced by the inertial and external forces acting

in a mechanical system must be zero at any instant of time. Here, in equation 3.18, q∗ corresponds to

the virtual velocities vector i.e a set of fictional velocities, at a given stationary instant of time, belonging

to the Jacobian matrix null space, thus,

Φqq∗ = 0 (3.19)

In equation 3.18 the term in brackets, Mq− g, also defined as the vector f , represents the resultant

of the inertial forces (Mq) and the set of the applied external forces and the velocity-dependent inertial

forces (g). M is the global mass matrix, q the generalized acceleration vector and g the generalized

force vector.

Vector f does not include any contribution of internal forces since they do not produce virtual power.

Thus, to calculate the internal forces associated to the mechanical system in study it is necessary to use

other method called Lagrange multipliers method, that is expressed by,

gΦ = ΦTq λ (3.20)

where gΦ is the generalized force vector containing the internal constraint forces and λ is the Lagrange

multipliers vector. In this model, of great physical meaning, the internal forces are calculated having the

same direction as the Jacobian Matrix rows and the same magnitude of the Lagrange multipliers vector.

Now considering the internal forces contribution, taking into account vector f definition, and using

equation 3.19 and 3.20, equation 3.18 can now be rewritten as,

19

Page 40: Passive Exoskeletons to Support Human Locomotion - a

P∗ = q∗T (Mq − g + ΦTq λ) = 0 (3.21)

Rewriting the equation 3.21 above results,

Mq + ΦTq λ = g (3.22)

which represent the equations of motion associated to a constrained multibody system with nc general-

ized coordinates and nh constraint equations. Equation 3.22 represents then a second-order ordinary

differential equation with nc + nh unknowns (the generalized accelerations vector q and the Lagrange

multipliers vector λ ) and nc equations.

3.4.2 Mass matrix for a 3D rigid body

The expressions presented above, as well as the way to solve them, are independent of the type of

coordinates chosen to perform the multibody analysis. Now, for the calculation of the mass matrix of

the system, the type of coordinates need to be established as the mass matrix depends on the type of

coordinates adopted to carry out the analysis. Each rigid body will have an associated specific matrix

but it can be determined from a basic mass matrix (for a basic rigid body represented in Figure 3.1)

using a coordinate transformation.

Figure 3.1: Representation of a 3D basic rigid body composed by two points (i and j) and two non-coplanar vectors (u and v) in its kinematic structure. p is a generic point that belongs to the rigid body.The inertial reference frame is represented by (xyz) and the local reference frame, which is attached tothe rigid body, by (ξηζ). Based in [21].

It order to calculate the mass matrix for a basic rigid body, the principal of virtual power is used. The

virtual power generated in a rigid body by the inertial forces, P∗, is expressed in its integral form as

follows,

P∗ = −ρ∫

Ω

r∗T rdΩ (3.23)

where vector r∗ is the position vector of a generic point p (see Figure 3.1) and it does not belong to the

20

Page 41: Passive Exoskeletons to Support Human Locomotion - a

set of generalized coordinates which define the rigid body. In equation 3.23 ρ is the rigid body density,

Ω its volume, r and r the vectors of virtual velocities and accelerations respectively. In order to include

the term of the inertial forces power in the equations of motion it is necessary to rewrite r as a function

of the rigid body’s generalized coordinates vector. For that an appropriate coordinate transformation is

used, as follows,

r − ri = c1(rj − ri) + c2u+ c3v (3.24)

where vector r (which defines the global position of point p) can be expressed by the Cartesian coordi-

nates of segment rij and unit vectors u v. In equation 3.24, c1, c2 and c3 are the coordinates of segment

rip in the 3D base formed by the vector rij , u and v. In a matrix form, Equation 3.24 is expressed as,

r =[(1− c1)I3 c1I3 c2I3 c3I3

]

ri

rj

u

v

(3.25)

and in a more compact form as,

r = Cqe (3.26)

where C corresponds to a transformation matrix constant in time due to their motion independence, and

qe is the vector of generalized coordinates for the basic rigid body. Differentiating equation 3.26 twice

the follow equations are obtained,

r = Cqe (3.27)

r = Cqe (3.28)

where qe and qe are respectively the generalized velocity and acceleration vectors of the basic rigid

body. Rewriting equation 3.24 as follows, the coefficients c1, c2 and c3 can be obtained,

r′ − r′i = c1(r′j − r′i) + c2u′ + c3v

′ (3.29)

which can be expressed in matrix form as, where r′ refers to the local reference frame,

r′ − r′i =[rij u′ v′

]c1

c2

c3

= X ′c (3.30)

where c is the vector containing the three coefficients and matrix X ′ contains the local coordinates of

segment rij and vectors u and v. Matrix X ′ is invertible as, by definition, the correspondent vectors are

21

Page 42: Passive Exoskeletons to Support Human Locomotion - a

non-coplanar. Thus equation 3.30 can be solved in order to c as follows,

c = X ′−1(r′ − r′i) (3.31)

Using equations 3.27 and 3.28 and making the correspondent replacements in the equation of virtual

power of the inertial forces 3.23, results,

P∗m = −ρ

∫Ω

q∗Te CTCqedΩ (3.32)

where q∗e and qe are independent of the body’s volume Ω and therefore can be isolated from the integral

resulting the expression for the mass matrix of the basic rigid body as follows,

M = ρ

∫Ω

CTCdΩ (3.33)

The product CTC can be evaluated using matrix C (equation 3.25), resulting in,

M =

∫Ω

ρ

1− 2c1 + c21I3 c1 − c21I3 c2 − c1c2I3 c3 − c1c3I3

c1 − c21I3 c21I3 c1c2I3 c1c3I3

c2 − c1c2I3 c1c2I3 c22I3 c2c3I3

c3 − c1c3I3 c1c3I3 c2c3I3 c23I3

dΩ (3.34)

The integration of the previous expression ([21, 20]) results in the final form of the mass matrixM for

a basic rigid body, described with two points and two non-coplanar unit vectors, with natural coordinates

as follows,

M e =

(m− 2ma1 + z11)I3 (ma1 − z11)I3 (ma2 − z12)I3 (ma3 − z13)I3

(ma1 − z11)I3 z11I3 z12I3 z13I3

(ma2 − z21)I3 z21I3 z22I3 z23I3

(ma3 − z31)I3 z31I3 z32I3 z33I3

(3.35)

wherem is the total mass of the rigid body, ai and zij are respectively the first and second area moments

of the rigid body.

The obtained mass matrix is constant in time, so it is only evaluated once, at beginning of the anal-

ysis. This mass matrix only depends of a set of ten different parameters. The parameters are the total

mass of the rigid body, the coordinates of the center of mass in the local reference frame and the six

different elements of the inertia tensor, also calculated with respect to the local reference frame. In the

most cases it is possible to use the formulation above (with a kinematic structure of two points and two

unit vectors) in the construction of the basic mass matrix, however sometimes the rigid body cannot be

described with this specific kinematic structure and, in that case, other notations need to be used for the

mass matrix calculation (notations presented in [21] and [20]).

22

Page 43: Passive Exoskeletons to Support Human Locomotion - a

3.4.3 Inverse dynamics analysis

A multibody system can exhibit a complex behavior when driven by external and internal forces. An

inverse dynamic analysis consists on the reconstruction of the internal forces and/or torques from the

known movements and external forces. This type of analysis allows calculating the forces and torques

that produce a specific movement. Applying the calculations of inverse dynamics to human motion

data it is possible to analyze the moments of force associated with biological joints temporally along the

associated motion.

To perform an inverse dynamic analysis, the studied motion need to be already known and consis-

tent through time with the kinematic constraints used to describe the mechanical system. That is, the

trajectories of each natural coordinate (equation 3.1) of the model need to be first obtained, being con-

sistent with the kinematic constraint equations (equation 3.2). In order to obtain a consistent generalized

coordinates vector the procedure here used is to interpolate the trajectories of each generalized coor-

dinate using cubic splines and then obtaining their velocity and acceleration using spline differentiation

techniques.

To solve an inverse dynamics problem there are several methods that could be applied in order to

obtain the forces involved in a mechanical system. In this work only the Lagrange multipliers method will

be exposed. Using this method the equations of motion presented in expression 3.22 are solved with

respect to the Lagrange multipliers vector as follows,

ΦTq λ = g −Mq (3.36)

With this method the Lagrange multipliers associated with the driving constraints are used to calculate

the external forces associated with each degree of freedom. The remaining Lagrange multipliers are

used to calculate the internal forces developed in the kinematic joints and rigid bodies.

3.5 Apollo software

The analysis software used for this work was the academic software Apollo, a multibody dynamics

software with Natural coordinates developed in Fortran, that was created at Instituto Superior Tecnico

[21].

To perform an inverse dynamic analysis of an individual motion is necessary to provide the position,

velocity and acceleration of the biomechanical system and all the external forces applied [20]. Despite

all this, it is also necessary that the given motion is consistent with the model kinematic constraints.

More specifically the necessary data for an inverse dynamic analysis applied to the human motion

requires the following information:

• Anthropometric information - anatomical segments lengths, center of mass location, inertial prop-

erties and mass.

• Kinematic information - trajectories of the anatomical joints and extremity points.

23

Page 44: Passive Exoskeletons to Support Human Locomotion - a

• Dynamic information - external forces applied through the motion under analysis.

With the creation of files containing detailed information about the created model, along with all the

necessary information about the desired simulation, the Apollo software provides the necessary results

to analyze a mechanical system motion along the simulation time.

During the next sections a brief introduction to the multibody formulation used in the Apollo software

is presented.

3.5.1 Input data preparation

To proceed with the analysis of movement in the Apollo software it is necessary to construct some input

data files with the model and simulation information. In this particular work the necessary files are of

four different extensions: *.mdl, *.sml, *.dat, *.frc. The main information that each one contains is as

follows:

• The *.mdl file corresponds to a modulation file containing the information about the model itself,

where it is gathered data about the number of rigid bodies, local coordinates of each point, mass

and inertia parameters of each segment, kinematic constraints and its description (one of the *.mdl

files created for this work is presented in the Appendix A).

• The *.sml file corresponds to a simulation file containing the analysis specifications: type, initial

conditions for each rigid body (center of mass position, acceleration and euler angles), the analysis

time, and the gravity field specification.

• The *.dat files contain the information about the kinematic drivers applied to the system, having

then one *.dat file for each kinematic driver defined. This information corresponds to the driver

variation along time, that could be an angle or a set of coordinates.

• The *.frc files contain the information about the external forces and/or torques applied to the system

along time.

3.6 Graphic visualization of the simulation

In order to visualize the motion simulation it was used a graphic interface developed at IST [22] as well

as the Apollo software.

With this interface it is possible to see the model performing the motion under analysis with all the

points, local vectors, CM points and the reaction forces.

24

Page 45: Passive Exoskeletons to Support Human Locomotion - a

Figure 3.2: Graphic visualization interface for reading Apollo analysis output. It is possible to see severalinterest elements along the simulation time.

Figure 3.3: Graphic visualization of the Apollo analysis with the influence of the exoskeleton in study.

25

Page 46: Passive Exoskeletons to Support Human Locomotion - a

26

Page 47: Passive Exoskeletons to Support Human Locomotion - a

Chapter 4

Computational biomechanical model

A biomechanical model consists of a mathematical approximation of a given biological real system [14],

in this case the human body. The analysis done in this work was an inverse dynamics analysis of human

gait within the framework of multibody systems in which the creation of a full body biomechanical model

is relevant and necessary.

4.1 Kinematic structure

The biomechanical model created for this work has 28 rigid bodies and 62 points. The human joints in

multibody systems analysis with natural coordinates are defined between rigid bodies points and also

with rigid bodies unit vectors. For the creation of this biomechanical model two types of mechanical

joints are reproduced: the revolute joint and the universal joint.

To better understand the method used to implement kinematic joints in this biomechanical model,

two good examples are the elbow and wrist joints.

The elbow is described here as two revolute joints: the first allowing the lower arm flexion and the

other allowing its internal rotation. In another way, the wrist joint is described as a universal joint, allowing

for the hand flexion and extension and medial and lateral movements. Figure 4.1 represents the right

upper limb of the model. With this representation it is possible to see that with the use of inner product

constraints between vectors and/or segments, and with superposition constraints between points it is

possible to mathematically define biological joints.

In the case of the elbow joint the four correspondent points (P44, P46, P47, P49) are superposed

(mathematically represented by the constraint equations 4.1) and the vectors v28 and v30, having the

direction of the elbow flexion/extension axis, are constrained to be parallel with the use of a scalar

product constraint (see equation 4.2). Here lower arm internal rotation is described with the addition of

a second rigid body that may be seen as a mobile rigid body (M) that rotates around a fixed one (F) only

via the superposition of the pair of points P47/P49 and P48/P50, which naturally create the revolute joint.

Adding a second rigid body to describe an internal rotation is a useful method that can be found here in

the definition of several segments of the human body.

27

Page 48: Passive Exoskeletons to Support Human Locomotion - a

Figure 4.1: Right arm model: Revolute joint in the elbow and universal joint at the wrist - Main types ofjoints used in the full body biomechanical model creation.

ΦREV = P44 − P46 = 0

ΦREV = P46 − P47 = 0

ΦREV = P47 − P49 = 0

(4.1)

ΦREV = v28 − v30 = 0 (4.2)

Constraint equations of the type of 4.1 and 4.2 are defined in the Apollo software as superposition

constraints (SP). At the level of the wrist, vectors v31 and v32 are constrained to be orthogonal along

time (constrained by the scalar product constraint in equation 4.3) and the points P48, P50 and P51 are

superposed (see equation 4.4), only allowing the flexion/extension and radial/ulnar deviations of the

hand. The hand rigid body needs to be constrained with the lower arm mobile rigid body in order to

reproduce the hand natural motion which follows the lower arm rotation.

ΦSP = vT31v32cos(90) = 0 (4.3)

ΦREV = P44 − P46 = 0

ΦREV = P46 − P47 = 0

ΦREV = P47 − P49 = 0

(4.4)

Constraint equations of the type of 4.3 (scalar product constraints) are defined in the Apollo software

as inner product constraints (IP). This is how it is possible to reproduce the movement of the human body

mathematically, applying this type of constraints throughout all the other biological joints. By reproducing

the biological joints motion restrictions it is possible to obtain approximately the same degrees of freedom

28

Page 49: Passive Exoskeletons to Support Human Locomotion - a

of the human body gross movement.

At the creation of the model it is important to notice that a unit vector cannot be coplanar to the rigid

body, otherwise the Apollo software is not able to find the rigid body orientation in space.

Figure 4.2: Biomechanical 3D model developed has entry for the Apollo software. Detailed numberingof points, rigid bodies (inside circles), and unit vectors. Some of the unit vectors here represented,despite being represented in the y direction, they have the specific directions of the rotation axis of theassociated joint (see Table 4.2)

The entire body model is illustrated in Figure 4.2, where all the defined bodies are represented, rigid

and mobile ones, and correspondent points. Most of the rigid bodies are defined here by two points, yet

there are also 3 point bodies (in the case of the head, pelvis, and feet) and 4 point bodies (in the case of

the mobile trunk). All the remaining information required about the model definition, such as rigid bodies

names, correspondent points and unit vectors, kinematic constraints and drivers definition can be found

in Tables 4.1, 4.2, 4.3, 4.4 and 4.5.

4.2 Kinematic drivers

In order to prescribe motion to the biomechanical model it is necessary to mathematically define each

of the existent degrees of freedom. From the kinematic point of view, the DOF’s can be defined with

superposition and inner product constraints.

The created model has a total of 42 degrees of freedom including rotation and translation ones. This

29

Page 50: Passive Exoskeletons to Support Human Locomotion - a

RB Name Defined by the points

RB1 Pelvis P1, P2, P3

RB2 Trunk (fixed) P4, P5

RB3 Trunk (mobile) P6, P7, P8, P9

RB4 Neck (fixed) P10, P11

RB5 Neck (mobile) P12, P13

RB6 Head P14, P15, P16

RB7 Right upper leg (fixed) P17, P18

RB8 Right upper leg (mobile) P19, P20

RB9 Right leg (fixed) P21, P22

RB10 Right leg (mobile) P23, P24

RB11 Right foot P25, P26, P27

RB12 Right toes P28, P29

RB13 Left upper leg (fixed) P30, P31

RB14 Left upper leg (mobile) P32, P33

RB15 Left leg (fixed) P34, P35

RB16 Left leg (mobile) P36, P37

RB17 Left foot P38, P39, P40

RB18 Left toes P41, P42

RB19 Right arm (fixed) P43, P45

RB20 Right arm (mobile) P45, P46

RB21 Right lower arm (fixed) P47, P48

RB22 Right lower arm (mobile) P49, P50

RB23 Right hand P51, P52

RB24 Left arm (fixed) P53, P54

RB25 Left arm (mobile) P55, P56

RB26 Left lower arm (fixed) P57, P58

RB27 Left lower arm (mobile) P59, P60

RB28 Left hand P61, P62

Table 4.1: Markers numbers and correspondent anatomical location.

means that 42 driving constraints are needed to fully describe the model kinematics.

The degrees of freedom are guided with angular and translational drivers defined in the Apollo soft-

ware. The calculation of the driver values along time is done with a Matlab program developed to analyze

the experimental data from the laboratory. This and other data processing needed is further explained

in Chapter 5.

The Apollo software allows the driver definition in several different types. In the case of angular

drivers, an angle can be defined between: two unit vectors, two rigid body segments, one unit vector

and one segment. Regarding the translation ones, its definition is made by the global coordinates of a

point or a vector. Along with the model description at Apollo (modeling file) it is necessary to describe

the system drivers (simulation file), which are defined in table 4.5.

4.3 Model kinematics database

For the construction of a biomechanical model in accordance with a specific individual it is necessary

to consult databases with information about the anthropometry of the human being, making a proper

approximation of the biological system to the mathematical one. The information consulted for the

realization of this model was, for each anatomical segment, the relative position of the CM, the segment

30

Page 51: Passive Exoskeletons to Support Human Locomotion - a

Vector RB Local coordinates Vector RB Local coordinates

v1 1 0.0 1.0 0.0 v21 15 Left knee flexion axis

v2 1 1.0 0.0 0.0 v22 16 0.0 1.0 0.0

v3 2 0.0 1.0 0.0 v23 17 0.0 1.0 0.0

v4 3 1.0 0.0 0.0 v24 17 1.0 0.0 0.0

v5 4 0.0 1.0 0.0 v25 18 0.0 1.0 0.0

v6 5 1.0 0.0 0.0 v26 19 0.0 1.0 0.0

v7 6 0.0 1.0 0.0 v27 20 1.0 0.0 0.0

v8 7 0.0 1.0 0.0 v28 21 Right lower arm flexion axis

v9 8 1.0 0.0 0.0 v29 21 1.0 0.0 0.0

v10 8 Right knee flexion axis v30 21 Right lower arm flexion axis

v11 9 1.0 0.0 0.0 v31 22 0.0 1.0 0.0

v12 9 Right knee flexion axis v32 23 1.0 0.0 0.0

v13 10 0.0 1.0 0.0 v33 24 0.0 1.0 0.0

v14 11 0.0 1.0 0.0 v34 25 1.0 0.0 0.0

v15 11 1.0 0.0 0.0 v35 25 Left lower arm flexion axis

v16 12 0.0 1.0 0.0 v36 26 1.0 0.0 0.0

v17 13 0.0 1.0 0.0 v37 26 Left lower arm flexion axis

v18 14 1.0 0.0 0.0 v38 27 0.0 1.0 0.0

v19 14 Left knee flexion axis v39 28 1.0 0.0 0.0

v20 15 1.0 0.0 0.0

Table 4.2: Vectors used to define the kinematic structure and drivers of the biomechanical model herecreated. The highlighted vectors are the ones which needs to be calculated their local direction with thecorrespondent rotation axis of each revolute joint, which happens at the elbow and knee joints.

mass and inertia parameters. For this work data was collected from several databases [24, 21, 25, 23].

The reference database for this model was obtained from De Leva [24], which contains information about

the mass, the center of mass location, and the radius of gyration as a function of the total body mass

and segments length. For the head anatomical segment it was consulted the work of Silva [21]. The

information about the foot and toes, it is based on the work of Malaquias [23] and Anderson & Pandy

[25].

With some necessary calculations the relative parameters were obtained and are reported in Table

4.6. With this relative parameters, knowing the individual body mass and the static trial data acquired,

the corresponding data for the subject under analysis is easily obtained.

31

Page 52: Passive Exoskeletons to Support Human Locomotion - a

SP Between SP Between

SP1 P1, P4 SP23 P37, P38

SP2 P2, P17 SP24 P40, P41

SP3 P3, P30 SP25 P43, P45

SP4 P4, P6 SP26 P44, P46

SP5 P8, P43 SP27 P46, P47

SP6 P9, P53 SP28 P47, P49

SP7 P7, P10 SP29 P48, P50

SP8 P10, P12 SP30 P50, P51

SP9 P11, P13 SP31 P53, P55

SP10 P13, P14 SP32 P54, P56

SP11 P17, P19 SP33 P56, P57

SP12 P18, P20 SP34 P57, P59

SP13 P20, P21 SP35 P58, P60

SP14 P21, P23 SP36 P60, P61

SP15 P22, P24 SP37 P5, P7

SP16 P24, P25 SP38 v10, v12

SP17 P27, P28 SP39 v19, v21

SP18 P30, P32 SP40 v23, v25

SP19 P31, P33 SP41 v14, v16

SP20 P33, P34 SP42 v28, v30

SP21 P34, P36 SP43 v28, v30

SP22 P35, P37

Table 4.3: Superposition constraints definition.

Inner product constraints

(of 90 degrees)

IP1 v2 v3

IP2 v4 v5

IP3 v6 v7

IP4 v2 v8

IP5 v13 v15

IP6 v2 v17

IP7 v22 v24

IP8 v4 v26

IP9 v31 v32

IP10 v4 v33

IP11 v38 v39

Table 4.4: Inner product constraints definition

32

Page 53: Passive Exoskeletons to Support Human Locomotion - a

DriverAngle

Description DriverAngle

Descriptionbetween between

D1 v2, P4P5 Trunk flex./ext. D22 v24, P35P34 L. Foot plantar/dorsi flex.

D2 v1, P4P5 Trunk lateral flex. D23 v23, P35P34 L. Foot Inv./Ev.

D3 v3, v4 Trunk rotation D24 P39P40, P41P42 L. Toes flex.

D4 v4, P10P11 Neck flex./ext. D25 v4, P44P43 R. Arm flex./ext.

D5 v5, P6P7 Neck ab./ad. D26 v26, P6P7 R. Arm ab./ad.

D6 v5, v6 Neck rotation D27 v26, v27 R. Arm rotation

D7 P12P13 , P15P16 Head flex./ext. D28 v29, P46P45 R. Lower arm flex.

D8 v7, P12P13 Head ab./ad. D29 v29, v31 R. Lower arm rotation

D9 v2, P18P17 R. Upper leg flex./ext. D30 v32, P50P49 R. Hand flex./ext.

D10 v1, P18P17 R. Upper leg ab./ad. D31 v31, P52P51 R. Hand rad./uln. deviation

D11 v8, v9 R. Upper rotation D32 v4, P54P53 L. Arm flex./ext.

D12 v11, P20P19 R. Leg flex. D33 v33, P6P7 L. Arm ab./ad.

D13 v11, v13 R. Leg rotation D34 v33, v34 L. Arm rotation

D14 v15, P24P23 R. Foot plantar/dorsi flex. D35 v36, P56P55 L. Lower arm flex.

D15 v14, P24P23 R. Foot inv./ev. D36 v36, v38 L. Lower arm rotation

D16 P26P27, P28P29 R. Toes flex. D37 v39, P58P57 L. Hand flex./ext.

D17 v2, P31P30 L. Upper leg flex./ext. D38 v38, P62P61 L. Hand rad./uln. deviation

D18 v2, P31P30 L. Upper leg ab./ad. D39 — Point P1 translation

D19 v17, v18 L. Upper rotation D40 — Vector v1 translation

D20 v20, P33P32 L. Leg flex. D41 — Vector v2 translation

D21 v20, v22 L. Leg rotation

Table 4.5: Drivers definition. Here are defined the main motions of the human segments: flexion,extension, abduction, adduction, inversion, eversion, and internal rotation. And also for the right (R)and left (L) segments of the body.

Anatomical segmentCM%

m%Inertia parameters

(to proximal joint) Ix Iy Iz

Head 58.94 6.68 0.0190 0.0225 0.0177

Trunk 49.82 25.53 1.1589 0.4526 0.8313

Neck 49 1.2 0 0.0056 0

Pelvis 49.2 12.47 0.0045 0.0038 0.0047

Upper leg 36.16 14.78 0.1803 0.1755 0.0348

Leg 44.16 4.81 0.0286 0.0278 0.0034

Arm 57.54 2.55 0.0081 0.0071 0.0023

Lower arm 45.59 1.38 0.0030 0.0029 0.0004

Hand 74.74 0.56 1.1589 0.4526 0.8313

Foot (along x) 13.30 1.69 0.0013 0.0038 0.0036

Foot (along z) 19 — ——————-

Toes (along x) 9.96 0.289 0.0001 0.0001 0.0001

Toes (along z) 6.85 — ——————-

Table 4.6: Relative necessary anthropometric parameters taken from several databases [24, 21, 25, 23].These values are relative to a female individual as it corresponds to the one studied here.

33

Page 54: Passive Exoskeletons to Support Human Locomotion - a

Figure 4.3: In this figure the biomechanical model is represented with the centers of mass approximatelylocated of each human segment. The head and the foot are illustrated in different views for betterunderstanding. There is also a schematic representation of the CM% distance (distance between CMand the proximal joint of the rigid body) presented in Table 4.6

34

Page 55: Passive Exoskeletons to Support Human Locomotion - a

Chapter 5

Experimental acquisition and data processing

In this chapter it is given a detailed explanation of the methods used to collect, treat and implement the

data acquired from the laboratory of movement.

5.1 Acquisition protocol

The data acquisition in biomechanics is commonly made by a motion software that uses infra-red cam-

eras combined with retro reflective markers to acquire their trajectories information. In order to have a

good biomechanical analysis, it is necessary to attach the markers in strategical places accordingly with

already existent protocols.

A marker set protocol defines a set of anatomical locations where the markers need to be attached,

making possible the comparison between motion trials and individuals. This can be achieved because

each marker is placed at some human body protuberances of bones or other references of a natural

individual. The markers locations for this work are specified in Table 5.1, exhibiting the marker numbers

and its correspondent anatomical location.

At the time of the experimental acquisition, the markers need to be located as precise as possible,

being necessary the careful observation of the markers along the movement to detect possible exagger-

ated displacements of their locations avoiding errors on the acquisition.

Along with the markers trajectories acquisition, the external forces are also acquired with the use of

force platforms. In the experimental acquisitions made here three force platforms were used strategically

placed in order to acquire data for an entire stride.

5.2 Data collection - QTM software

The acquisition software used in this work was the Qualysis Track Manager, QTM. This software makes

the collection from the markers trajectories and force platforms data, also containing a graphic display

interface (see Figure 5.2).

In this stage, it is necessary to assure a continuous trajectory for each marker used so that it does

not cause errors in the motion analysis. QTM has the necessary tools for trajectories that might not be

completely filled, by filling trajectory gaps that are pointed by the user. This approaches can be done by

linear or polynomial approximations.

A static acquisition of the studied individual (being in the anatomical reference position) is acquired

35

Page 56: Passive Exoskeletons to Support Human Locomotion - a

Figure 5.1: Markers protocol used in the gait motion acquisition. The right foot is represented separatelyfor better visualization. The marker numbers and its anatomical location are specified at Table 5.1.

Marker Anatomical location Marker Anatomical location

M1 Right frontal bone M23 Left posterior superior iliac spine (PSIS)M2 Left frontal bone M24 Right hip jointM3 Right occipital bone M25 Left hip jointM4 Left occipital bone M26 Right medial kneeM5 7th cervical vertebra M27 Right lateral kneeM6 Right shoulder M28 Right medial malleolusM7 Left shoulder M29 Right lateral malleolusM8 Right medial elbow M30 Right calcaneousM9 Right lateral elbow M31 Right metatarsus IM10 Right medial wrist M32 Right metatarsus VM11 Right lateral wrist M33 Right phalange IIM12 Right metacarpus II M34 Right halluxM13 Right metacarpus V M35 Left medial kneeM14 Left medial elbow M36 Left lateral kneeM15 Left lateral elbow M37 Left Right medial malleolusM16 Left medial wrist M38 Left lateral malleolusM17 Left lateral wrist M39 Left calcaneousM18 Left metacarpus II M40 Left metatarsus IM19 Left metacarpus V M41 Left metatarsus VM20 Right anterior superior iliac spine (ASIS) M42 Left phalange IIM21 Left anterior superior iliac spine (ASIS) M43 Left halluxM22 Right posterior superior iliac spine (PSIS) M44 Top of the Head

Table 5.1: Markers numbers and correspondent anatomical location.

36

Page 57: Passive Exoskeletons to Support Human Locomotion - a

Figure 5.2: Qualysis Track Manager software, data collection software used in this work.

to later obtain anthropometric measurements of the person. Then dynamic trials of the movement under

analysis are recorded (in this case natural cadence gait). For the dynamic trials the interval of data

defined in QTM for data exportation starts 10 frames before the foot initial contact with the ground and

ends 10 frames after a whole stride. This needs to be done for a correct data filtering.

5.3 Data processing

Before creating the files needed for motion analysis, it is necessary to fully treat and process the data

from the laboratory of movement. For that, it is necessary to create a set of Matlab functions and scripts

capable to process the QTM data and generate the required information for the Apollo simulation. In the

next sections the set of calculations made in Matlab for data processing will be exposed.

5.3.1 Joints location determination

The data acquired in the QTM software, regarding the markers trajectories and the correspondent ex-

ternal forces measured with the force platforms, can be exported to *.tsv format files. Further the data is

processed accordingly with the necessary information to the creation of Apollo input files.

The data processing starts with the use of a 3rd order low pass Butterworth filter to attenuate the

high frequency noise signals present in the trajectories of the markers. For that, first it is necessary to

process the markers coordinates in order to have the model points coordinates, that is the human body

joints and extremity points. The methods presented below (see Table 5.2) were based on the method

proposed by Vila [26], adapted to the acquisition protocol used in the experimental acquisition.

According to the proposed method, for each rigid body is necessary to define 3 local vectors defining

x, y and z directions of the local reference frame of the body. These directions are approximately

chosen such as the local coordinate system of the body is aligned with the global coordinate system

when the individual is in the anatomical reference position. Some of the joints need the definition of

the correspondent rigid body local vectors for the determination of its joint center or rotation axis, as

reported after.

37

Page 58: Passive Exoskeletons to Support Human Locomotion - a

Trunk and upper arms

wP =w∗RP ×w∗LP

|w∗RP ×w∗LP |vP = (rM21 − rM20)/|rM21 − rM20|

uP = vP ×wP

w∗RP = (rM22 − rM20)/|rM22 − rM20|

w∗LP = (rM23 − rM21)/|rM23 − rM21|

rJ2 = (rM22 + rM23)/2 + (0.598uP

−0.344vP − 0.290wP )A

rJ3 = (rM22 + rM23)/2 + (0.598uP

+0.344vP − 0.290wP )A

rJ1 = (rJ2 + rJ3)/2 + (−0.01uP

+0.275wP )A

Pelvis

vMT = (rM7 − rM6)/|rM7 − rM1|

uMT =(rM7 − rJ1)× (rM6 − rJ1)

|(rM7 − rJ1)× (rM6 − rJ1|wT =wMT = uMT × vMT

uT = vT ×wT

rJ4 = rM6 − 0.02vMT − 0.05wT

rJ5 = rM7 + 0.02vMT − 0.05wT

rJ6 = 0.5rM5 + 0.25(rJ4 + rJ5)

vRA = (rM7 − rM6)/|rM7 − rM1|

uRA = vRA ×wRA

wRA = (rJ4 − rJ20)/|rJ4 − rJ20|

rJ20 = (rM9 + rM8)/2

vLA = (rM7 − rM6)/|rM7 − rM1|

uLA = vLA ×wLA

wLA = (rM7 − rM6)/|rM7 − rM1|

rJ23 = (rM14 + rM15)/2

Table 5.2: Representation and necessary formulas for the calculation of joint and extremity points. Thereare also the calculation of the unit vector of each fixed body (the unit vectors of the mobile bodies arefurther explained). Vectors u, v and w refer to x, y and z directions of each body.

38

Page 59: Passive Exoskeletons to Support Human Locomotion - a

Lower arms and hands

v∗RLA = (rM8 − rM9)/|rM8 − rM9|

wRLA = (rJ20 − rJ21)/|rJ20 − rJ21|

uRLA = v∗RLA ×wRLA

vRLA =wRLA × uRLA

rJ21 = (rM10 + rM11)/2

v∗LLA = (rM15 − rM14)/|rM15 − rM14|

uLLA = v∗LLA ×wLLA

vLLA =wLLA × uLLA

wLLA = (rJ23 − rJ24)/|rJ23 − rJ24|

rJ24 = (rM16 + rM17)/2

v∗RH = (rM10 − rM11)/|rM10 − rM11|

uRH = v∗RH ×wRH

vRH =wRH × uRH

wRH = (rJ21 − rJ22)/|rJ21 − rJ22|

rJ22 = (rM12 + rM13)/2

v∗LH = (rM17 − rM16)/|rM17 − rM16|

uLH = v∗LH ×wLH

vLH =wLH × uLH

wLH = (rJ24 − rJ25)/|rJ24 − rJ25|

rJ25 = (rM18 + rM19)/2

Upper legs

v∗RUL = (rJ3 − rJ2)/|rJ3 − rJ2|

wRUL = (rJ2 − rJ10)/|rJ2 − rJ10|

uRUL = v∗RUL ×wRUL

vRUL =wRUL × uRUL

rJ10 = (rM26 + rM27)/2

v∗LUL = v∗RUL

wLUL = (rJ3 − rJ15)/|rJ3 − rJ15|

uLUL = v∗LUL ×wLUL

vLUL =wLUL × uLUL

rJ15 = (rM35 + rM36)/2

Table 5.2: Continuation.

39

Page 60: Passive Exoskeletons to Support Human Locomotion - a

Legs

v∗RL = (rM26 − rM27)/|rM26 − rM27|

wRL = (rJ10 − rJ11)/|rJ10 − rJ11|

uRL = v∗RL ×wRL

vRL =wRL × uRL

rJ11 = (rM28 + rM29)/2

v∗LL = (rM36 − rM35)/|rM36 − rM35|

wLL = (rJ15 − rJ16)/|rJ15 − rJ16|

uLL = v∗LL ×wLL

vLL =wLL × uLL

rJ16 = (rM37 + rM38)/2

Feet

v∗RF = (rM28 − rM29)/|rM28 − rM29|

uRF = (rJ13 − rJ12)/|rJ13 − rJ12|

wRF =uRF × v∗RF

vRF =wRF × uRF

rJ12 = (rM34x, rM33y, rM34z)

rJ13 = rM30

vRToes = (rM31 − rM32)/|rM31 − rM32|

uRToes = (rJ14 − rJ13)/|rJ14 − rJ13|

wRToes =uRToes × vRToes

rJ14 = (rM34x, rM33y, rM34z)

v∗LF = (rM38 − rM37)/|rM38 − rM37|

uLF = (rJ18 − rJ17)/|rJ18 − rJ17|

wLF =uLF × v∗LF

vLF =wLF × uLF

rJ17 = rM39

rJ18 = (rM40 + rM41)/2

vLToes = (rM41 − rM40)/|rM41 − rM40|

uLToes = (rJ19 − rJ18)/|rJ19 − rJ18|

wLToes =uLToes × vLToes

rJ19 = (rM43x, rM42y, rM43z)

Table 5.2: Continuation.

40

Page 61: Passive Exoskeletons to Support Human Locomotion - a

Upper legs

vH = (rM2 − rM1)/|rM2 − rM1|

uH =(aux1 − rM44)× (aux2 − rM44)

|(aux1 − rM44)× (aux2 − rM44)‖wH =uH × vHaux1 = (rM44x, rM1y, rM1z)

aux2 = (rM44x, rM2y, rM2z)

rJ7 = (aux1 + aux2)/2− 0.1wH

vN = vT

wN = (rJ7 − rJ6)/|rJ7 − rJ6|

uN = vN ×wN

Table 5.2: Continuation.

Table 5.2 shows all the model points location relatively to markers coordinates. It also presents the

definition of each human segment local vectors. It is, however, important to note that this set of local

vectors, for anatomical segments that need to be described as a system of two bodies (one fixed and

one mobile), correspond to the fixed one. In the case of the mobile body it is necessary to give other set

of local vectors in a way to define the internal rotation of the rigid body in question.

The local vectors definition with the superposition constraints and inner product constraints define

the degrees of freedom and the principal motions of the human body during gait.

Observing Table 5.2, and considering the formulation used and also through the anatomical seg-

ments illustrations presented there, the locations of the biomechanical model points are perceptible. It

is through the application of this type of calculations to each frame of the movement acquisition, that it

is possible to obtain the information about the defined kinematic drivers.

5.3.2 Static trial

In order to acquire anthropometric data about the individual under study, a static acquisition is made

first. In this work the static trial is performed with the subject in the anatomical reference position. Then

the generated static data is processed in order to find the individual anatomical segments lengths. With

the use of the anthropometry databases, the CM location for each rigid body of the model can now be

calculated, as well as the rigid bodies points local coordinates. Knowing the subject mass, with the

relative segments masses from the databases, each rigid body mass is obtained. After this, for each

anatomical segment of the individual, the inertia parameters for the 3 main directions are calculated. For

cases where what is known are the values of the radii of gyration, the following expression is used for

the inertia parameters calculation,

Ix,y,z = m(l rx,y,z)2 (5.1)

41

Page 62: Passive Exoskeletons to Support Human Locomotion - a

Mobile Local vectors

rigid body

RB5

vMN = vH

wMN =wN

uMN = vMN ×wMN

RB8

vMRUL = vRL

wMRUL =wRUL

uMRUL = vMRUL ×wMRUL

RB10

vMRL = vRF

wMRL =wRL

uMRL = vMRL ×wMRL

RB14

vMLUL = vLL

wMLUL =wLUL

uMLUL = vMLUL ×wMLUL

RB15

vMLL = vLF

wMLL =wLL

uMLL = vMLL ×wMLL

RB20

vMRA = vRLA

wMRA =wRA

uMRA = vMRA ×wMRA

RB22

vMRLA = vRH

wMRLA =wRLA

uMRLA = vMRLA ×wMRLA

RB25

vMLA = vLLA

wMLA =wLA

uMLA = vMLA ×wMLA

RB26

vMLLA = vLH

wMLLA =wLLA

uMLLA = vMLLA ×wMLLA

Table 5.3: Mobile rigid bodies local vectors definition.

where m corresponds to the mass of the considered rigid body, l represents its length and rx,y,z the

radii of gyration values taken from the database. These inertia parameters are calculated with respect

to the CM of the rigid body. When necessary the Parallel-axis theorem is used to calculate the inertia

parameters with respect to other relevant body points.

Representing an anatomical segment through a set of two rigid bodies, a mobile one and a fixed one,

it is necessary to use a different approach in the determination of the previous parameters. In the next

section the methodology used for this purpose is presented.

42

Page 63: Passive Exoskeletons to Support Human Locomotion - a

Two rigid bodies approach

In the biomechanical model here created, some human segments are described as a set of two rigid

bodies, one mobile and one fixed, appearing when an internal rotation needs to be defined. For those

cases the mass of the human segment needs to be distributed among the two representative rigid

bodies, as well as the inertia properties. The method used for this purpose was a division into two rigid

bodies considering that the fixed one has the properties of a cylinder with mass equal to 1/6 of the mass

of the total biological segment, and the mobile one corresponding to the remaining part of the human

segment. The value for the fixed rigid body was chosen to be relative to the anatomical segment total

mass in order to establish a consistent approach for all segments. The fraction of 1/6 was established

so as to be small enough not to cause errors in the following calculations.

Figure 5.3: Inertia and mass distribution among the two bodies of the representation, one mobile (M )and one fixed (F )

It is also imposed for the fixed rigid body (F ) a z direction inertia of 0.01 kg m2 . Then the inertia

values on the x and y directions of body F are calculated with the cylinder equation,

IFx,y = 1

4mF r2 + 1

12mFL2

IFz = 0.01 [kg m2]

(5.2)

where mF corresponds to the mass of the fixed rigid body, r represents the cylinder radius and L its

length (corresponding to the length of the considered anatomical segment).

At this stage the database is consulted to obtain the correspondent inertia values of the human

biological segment in order to find body M correspondent part.

ITz = IMz + IFz (5.3)

Regarding the z direction inertia values, as the total and body F values are known, the body M value

can be determined by the equation 5.3 presented above.

For the calculation of body M inertia parameters in the x and y directions it is used the parallel-axis

theorem as follows,

ITx,y = IFx,y +mF dF2

+ IMx,y +mMdM2

(5.4)

43

Page 64: Passive Exoskeletons to Support Human Locomotion - a

where dF and dM respectively represent the distances from the fixed and mobile rigid bodies center of

mass to the entire anatomical segment center of mass (as it can be seen in the illustration presented in

Figure 5.3). The parameter mM corresponds to the mobile rigid body mass, that is 5/6 of the total mass

of the anatomical segment in question.

It is also necessary the system center of mass equation, given as follows,

rTCM =rFCMm

F − rMCMmM

mF +mM(5.5)

from where the CM location of the mobile rigid body (rMCM ) can be obtained once the remaining con-

stituents of the equation are known.

With the use of the parallel-axis theorem together with the center of mass equation the following

equations are obtained making it possible to determine the inertia values for the three directions.

IMx = IMy = ITx − IFx −mF (rFCM − rTCM )2 −mM (rMCM − rTCM )2

IMz = ITz − IFz(5.6)

5.3.3 Dynamic trials

The dynamic trials correspond, in this experimental work, to natural cadence continuous gait, further

divided into strides in which only the right ones are chosen for the analysis.

The model points and vectors coordinates are determined for each frame of acquisition. The set

of each rigid body local vectors with relation to the global reference frame define the rotation matrix

for each rigid body over the acquisition time. Through a conversion method present in the literature

the euler angles are determined for the initial time step [27]. Then the linear and angular velocities of

the CM of each RB for the initial time step are determined from the rotation matrix and its derivative.

This information, together with linear and angular positions of the CM that define the initial stage of the

system, is provided to the Apollo software.

From the dynamic data it is also necessary to take the drivers values for each frame of the acquisition

for further creation of *.dat files for the Apollo simulation. As described above, the created model has

38 angular drivers and 3 translation drivers which can be defined in several different ways. For angu-

lar drivers calculation, it is only necessary to define the corresponding vectors (being unit vectors or

direction vectors of a segment) and then determine the angle between them. In the case of translation

drivers they correspond to the global coordinates of a vector or a point. To the creation of *.dat files it is

necessary the time vector and the correspondent driver value for each frame.

There are 38 angle drivers which are calculated with the Matlab functions between the same vectors

defined in the Apollo software. The other three drivers are translation ones which correspond to P1 and

vectors v1 and v2 translations along time.

The external forces data are also processed in a way of define, for each frame of the acquisition, its

point-of-application to the correspondent rigid body where the force is being applied.

Figure 5.4 illustrates schematically the various stages of data processing. The static and dynamic

44

Page 65: Passive Exoskeletons to Support Human Locomotion - a

Figure 5.4: Schematic representation of the various stages of data processing with the created Matlabprogram.

data acquired in the laboratory of movement together with the antropometry information are processed

in a Matlab environment for the subsequent creation of the Apollo necessary files.

45

Page 66: Passive Exoskeletons to Support Human Locomotion - a

46

Page 67: Passive Exoskeletons to Support Human Locomotion - a

Chapter 6

Sawicki exoskeleton computational model

The computational implementation of the exoskeleton developed by Sawicki et al. [1] is done by first

modifying the initial biomechanical model so that its influence can be added. Then, in order to add the

exoskeleton influence, a Fortran routine was implemented. In the next sections the specifications of the

exoskeleton and of the added routine will be explained in detail.

6.1 Exoskeleton specifications

The passive exoskeleton implemented herein (a computational implementation of the exoskeleton ex-

posed in Chapter 1 section 1.3) may be summarized by adding the influence of a spring between the leg

and the foot (as illustrated in Figure 6.1) within a specific interval of the stride period. Along one stride

the spring engagement and disengagement instants are triggered by the ankle angle pattern [1], where

the engagement corresponds to the first minimum and the disengagement instants before the second

minimum. In this way, being the spring engaged at foot flat (first peak of plantar flexion) and disengaged

at toe off (second peak of plantar flexion), the spring will be loaded during its stretching along the dor-

siflexion period and then, during the next plantar flexion period, the spring will recoil releasing energy

to the system. This will interact with the muscles crossing the ankle biological joint reducing the net

mechanical positive power in this joint.

Figure 6.1: Representation of the changes made to the model in the leg and foot in order to add thepassive exoskeleton influence.

Sawicki et al. [1], constructed an exoskeleton prototype to be tested by nine adults participants

with an averaged height of 1.84 ± 0.10 m. Thus, it was here considered, that the exoskeleton structure

47

Page 68: Passive Exoskeletons to Support Human Locomotion - a

needs to be scaled allowing its use by other participants from other height ranges. In the case of this

computational study the locations of the two additional points on the model (the two points to which

the spring is connected represented in Figure 6.2 by PL and PF ), taking account the Sawicki et al. [1]

prototype dimensions, are approximataly scaled to have the same relative dimensions in relation to the

individual leg studied here.

6.2 Fortran routine

In order to add the exoskeleton influence into the analysis of the normal gait an additional Fortran

routine to the Apollo software was implemented. This routine reproduces the clutch task of connecting

and disconnecting the spring at the necessary moments along the stride and is presented in Appendix

B.

Figure 6.2: Model developed for the addition of the exoskeleton influence in natural gait. Schematicrepresentation of the main necessary distances and vectors for the creation of the implemented Fortranroutine

This routine needs to apply the influence of the exoskeleton spring between the two plantar flexion

maximums (between FF and TO) and, on the remaining time, has to assume the influence of the spring

to be null. Looking to the resultant angle variation from the natural gait experimental results it is possible

to take the percentage values of the stride where these peaks are appearing. In this way, the additional

routine needs to have has input the two instants so that the spring is applied at the correct interval.

To reproduce the spring influence, the routine needs to perform calculations regarding the force of

the spring applied. First, the direction vector between the two points where the spring will be attached

needs to be defined.

rFL = rPF − rPL (6.1)

The vector rFL goes from the foot point PF to the leg point PL where the spring is being connected

48

Page 69: Passive Exoskeletons to Support Human Locomotion - a

as illustrated in the Figure 6.2 presented above.

Other important quantity is the length between these two points that corresponds to the spring length.

This value will vary along the stride as the spring stretches and recoils.

LFL = |rFL| = (rTFLrFL)1/2 (6.2)

Now, it is possible to calculate the force done by the spring (FS) between these two points using

Hooke’s law for a linear spring as follows,

FS = k(LFL(t)− L0), L0 = LFL(t0) (6.3)

where k is the spring stiffness coefficient, L0 the spring length at the moment of the engagement and t0

the correspondent instant of first peak of the ankle angle.

F S = FSrLF

LLF(6.4)

Equation 6.4 defines the force vector done by the spring at point PF , with the direction of rFL. An

opposite force vector is applied at point PL.

The additional routine in Fortran will be responsible to calculate the force applied between these two

points at each frame of the analysis, considering the spring length variation along time and the stiffness

constant k.

This new routine will have as input the following variables: spring stiffness k, number of the leg rigid

body, number of the point of appliance on the leg, number of the foot rigid body, number of the point of

appliance on the foot, initial instant, final instant.

6.3 Ankle joint moments balance

To a proper results analysis it is necessary to understand the forces and moments of force present in

the ankle joint.

First, while the system is under the influence of the exoskeleton, the spring force (FS) is being

applied generating the correspondent moment in the ankle joint. The exoskeleton produced torque τ

was calculated as the cross product of spring force FS and the lever arm vector r, assuming constant

leverage, as follows,

τ = r × FS (6.5)

Taking τ norm along stride is possible to represent the exoskeleton moment value contribution along

stride.

Looking to Figure 6.3 it is possible to see a representation of the main forces and moments involved

in the foot and leg during the period which is being applied the exoskeleton influence.

49

Page 70: Passive Exoskeletons to Support Human Locomotion - a

Figure 6.3: Representation of the main moments and forces involved in the leg-foot system under theexoskeleton influence.

In the case of natural gait the resultant moment that the ankle joint will have to do (MA) corresponds

to the following equation, in which the inertial term was not included as the foot is approximately resting

in the ground:

MA = MGR = bGRFGR (6.6)

In this case the only moment that the ankle joint needs to counteract is the ground reaction force

FGR correspondent moment, MGR. In the equation 6.6, bGR stands for the perpendicular distance from

the rotation axis to the line of action of the force, also known as lever arm.

Under the exoskeleton spring influence the necessary ankle joint moment changes to,

MA = MGR −MS = bGRFGR − bSFS (6.7)

where the ankle moment calculation is made now with the influence of spring moment also calculated

with the correspondent lever arm bS and spring force FS (determined as explained above).

In this case, the spring moment MS actuates in the same direction as the ankle moment, also sup-

porting the ground reaction forces. Equation above demonstrates the reduction of the ankle moment

with the application of the exoskeleton spring.

With these set of equations and concepts, it is possible to make a relevant comparison between the

analysis results with and without the influence of the exoskeleton.

50

Page 71: Passive Exoskeletons to Support Human Locomotion - a

Chapter 7

Results and discussion

In the case of the natural gait, through inverse dynamic analysis, the result of the Apollo software for

the ankle moment corresponds to the moment the joint would need to produce to withstand the ground

reaction forces.

When the influence of the exoskeleton is added to the simulation the result for the ankle joint moment

will then be changed. In this case, the resulting moment for the ankle will be the one that counterbal-

ances the two contributions of the external forces, those of the exoskeleton and those of the ground

reaction. Equation 6.7 presented in the previous chapter illustrates this result.

7.1 Natural gait

Ten right strides were studied for the same subject. It was taken the average over strides for some

relevant results, for example, the three main leg joint angles of the hip, knee and ankle, and then it

was calculated the standard deviation. Figure 7.1 below presents the hip joint and the ankle joint angle

variation.

0 20 40 60 80 100

Stride (%)

-15

-5

5

15

25

Hip

ang

le (

º)

(a)

0 20 40 60 80 100

Stride (%)

0102030405060

Kne

e an

gle

(º)

(b)

Figure 7.1: Averaged a) hip and b) knee joints angle variation along stride without the influence of theexoskeleton (average over ten studied strides). The standard deviation is also represented here.

The observation of the ankle angle pattern (observed in Figure 7.2) is what triggers the choice of the

interval in which the clutch allows the spring influence in the leg system. The spring is engaged at foot

flat moment (FF) and disengaged at toe off moment (TO). Then the spring is stretching between FF and

HO (heel off) taking advantage of movement of the leg to easily stretch. This spring mechanisms during

the gait cycle are further represented in Figure 7.4.

51

Page 72: Passive Exoskeletons to Support Human Locomotion - a

0 10 20 30 40 50 60 70 80 90 100

Stride (%)

-5

0

5

10

15A

nkle

ang

le (

º)

Spring engages Spring disengages

Figure 7.2: Ankle angle variation along stride without the influence of the exoskeleton. The ankle anglepattern is what triggers the choice of spring engagement and disengagement moments. The engage-ment is done on foot flat and the disengagement at toe off.

Other important result to take from the analysis, as it will be necessary further for the calculation

of the mechanical power, is the angular velocity. In Figure 7.3 is represented graphically the angular

velocity for the ankle joint along stride percentage (average over 10 strides and respective standard

deviation lines). The angular velocity is obtained by differentiating the joint angle with respect to time, as

follows,

ω =dθ

dt(7.1)

where ω is the associated joint angular velocity and θ the joint angle.

0 10 20 30 40 50 60 70 80 90 100

Stride (%)

-3

-2

-1

0

1

2

Ank

le a

ngul

ar v

eloc

ity (

rad

s-1)

Figure 7.3: Ankle angular velocity variation along stride for natural gait (average over ten strides, andstandard deviation lines).

52

Page 73: Passive Exoskeletons to Support Human Locomotion - a

7.2 Application of the exoskeleton influence and results comparison

The results obtained in the Apollo software and processed with the Matlab software for graphical repre-

sentation are presented hereafter.

As seen above (Figure 7.2) the time interval in which the spring influence will be added in the system

is triggered by the two minimum peaks at the ankle angle variation along stride. The spring is engaged

on FF and disengaged at TO, which correspond approximately to the interval 8%-63% of the stride period.

An illustration of the gait cycle with the influence of the exoskeleton can be seen in Figure 7.4 in which

the stretching and recoil phases of the spring are pointed out.

Figure 7.4: Illustration of the gait cycle with the influence of the exoskeleton. The engagement is doneon foot flat and the disengagement at toe off. It is possible to see that, while the spring is engaged, thestretching and recoil phases.

The results presented below were obtained from the analysis done in the Apollo software for the ten

right strides acquired. The mean curve was then obtained for each analysis type with and without the

influence of the exoskeleton. The spring stiffness used was the optimal value observed by Sawicki et. al

[1], corresponding, in that study, to the one that produced a greater reduction in the net metabolic cost

observed.

With this optimal stiffness value (7.9 k N m−1) it was here obtained, through the inverse dynamic

analysis performed in the Apollo software, an average reduction of about 24.2% with respect to the

biological ankle moment curve for the natural gait (see Figure 7.5).

53

Page 74: Passive Exoskeletons to Support Human Locomotion - a

0 10 20 30 40 50 60 70 80 90 100

Stride (%)

-0.2

0

0.2

0.4

0.6

0.8

1

1.2

Bio

logi

cal a

nkle

mom

ent (

N m

kg

-1)

Spring engages Spring disengages

Without exoskeleton

k = 7.9 k N-1

Figure 7.5: Ankle moment average (normalized to body weight) along stride percentage for the analysiswithout the exoskeleton and with the exoskeleton being with the optimal value for spring stiffness. Itis possible to see a significant moment reduction on the biological ankle when it has the influence ofthe exoskeleton. There are two marks represented by the vertical lines: the moments when the springengages and disengages the exoskeleton.

The used Fortran routine in the Apollo software had as input variable the spring stiffness coefficient

which allowed to make the simulation analysis for the several coefficient stiffness studied in Sawicki et

al. [1]. The obtained results are further presented in Figure 7.6 where it is possible to see the expected

consecutive reduction of the ankle moment with the increase of the spring stiffness.

0 10 20 30 40 50 60 70 80 90 100

Stride (%)

-0.2

0

0.2

0.4

0.6

0.8

1

1.2

Bio

logi

cal a

nkle

mom

ent (

N m

kg

-1)

Spring engages Spring disengages

Without exoskeleton

k = 5.6 kN m-1

k = 7.9 kN m-1

k = 10.5 kN m-1

k = 13.3 kN m-1

k = 17.2 kN m-1

Figure 7.6: Ankle moment (normalized to body weight) values for each stiffness coefficient used alongstride percentage. As greater the stiffness coefficient greater the exoskeleton torque produced and con-sequently greater the biological ankle moment reduction. The spring engagement and disengagementare also marked.

54

Page 75: Passive Exoskeletons to Support Human Locomotion - a

Using equation 6.5 and then taking the torque vector norm for each analysis made among the differ-

ent values of spring stiffness used here the graphic representation of the exoskeleton produced torque

can also be obtained (illustrated below in Figure 7.7).

0 10 20 30 40 50 60 70 80 90 100

Stride (%)

-0.1

0

0.1

0.2

0.3

0.4

0.5

0.6

Exo

skel

eton

mom

ent (

N m

kg-1

)

Spring engages Spring disengages

k = 5.6 kN m-1

k = 7.9 kN m-1

k = 10.5 kN m-1

k = 13.3 kN m-1

k = 17.2 kN m-1

Figure 7.7: Exoskeleton produced moment (normalized to body weight) values along stride percentage.With the increase of the spring stiffness coefficient the exoskeleton moment also increases. The springengagement and disengagement are also marked here.

An important result to analyze an anatomical joint and its motion is the mechanical power. This

parameter summarizes the muscles role of absorption and generation of mechanical energy necessary

to accomplish the movement observed [17]. The analysis of the mechanical power variation at human

joints during gait provides a perception of the energy expenditure during the gait cycle [22].

The mechanical power is defined as the work performed per unit time and is calculated as follows,

PA = MA ωA (7.2)

where PA is the mechanical power done by the ankle joint, MA corresponds to the ankle joint moment

and ωA is the angular velocity at the ankle joint.

By observing Figure 7.8, comparing the results with and without the exoskeleton influence, it is possi-

ble to see an increase of the ankle joint mechanical power on the negative work phase and subsequently

a reduction on the positive work phase. This means that the ankle joint moment is greater in order to

stretch the spring (approximately until 50 % of the gait cycle), although this movement is easy to do

due to the phase of stride in question. Then, in the positive work phase, there is a reduction of the

mechanical power that the muscles crossing the ankle joint need to generate in order to perform the

heel elevation.

55

Page 76: Passive Exoskeletons to Support Human Locomotion - a

0 10 20 30 40 50 60 70 80 90 100

Stride (%)

-0.8

-0.4

0

0.4

0.8

1.2

1.6

2

Bio

logi

cal a

nkle

pow

er (

W k

g-1

)

Spring engages Spring disengages

Without exoskeleton

k = 5.6 kN m-1

k = 7.9 kN m-1

k = 10.5 kN m-1

k = 13.3 kN m-1

k = 17.2 kN m-1

Figure 7.8: Ankle joint mechanical power (normalized to body weight) along stride. Here is representedthe results for the analysis without the exoskeleton influence and also with the exoskeleton influence forthe five values of spring stiffness under analysis.

Observing the results for the biological ankle moment with different spring stiffness (see Figure 7.6)

one thing that it is possible to discuss, in comparison with the results for this parameter obtained by

Sawicki et. al [1], is the fact that, in the present work the reduction observed with the stiffness increase

seems to be constant, in contrast to a stabilization reached by the three bigger values for stiffness. The

same happens for the mechanical power results (see Figure 7.8). The behavior observed here is due to

the fact that the exoskeleton moment is added to the ankle joint with the same prescribed motion and

not taking into account all the joints involved in gait, and consequently, discarding the influences that

this exoskeleton will have in the other joints. This leads to a constant subtraction of biological moment

needed to prescribe the same motion (with the constant increase of the spring stiffness), and that is the

behavior observed in Figure 7.6

In the Sawicki et al. study [1], by measuring the metabolic energy spent along gait, it is shown a

reduction in the energy cost for an intermediate stiffness value of the exoskeleton spring (7.9 k N−1,

see Figure 1.4) and that with stiffness increasing the energy cost rises to natural gait values. Such a

conclusion cannot be demonstrated here because it is just being considered a mechanical analysis of the

human body. One possible cause for this result is the great level of coordination that exists between all

parts of the human body, tending to make the same patterns of movement along a stride (eg. moments

of force on the hip, knee and ankle). As with the influence of this exoskeleton (for higher tested stiffness

values) we are causing a great change in the ankle site, this can affect negatively the already optimized

locomotion system. More specifically, this may be reflected in a counteraction by other constituents of

the leg system increasing the activity of certain muscles and consequently an increase in the metabolic

cost of gait. Sawicki, in his study, also analyzes the activity of leg muscles along gait and, although

the results bring this possibility, are not enough to draw more conclusive answers about this observed

relation between the spent metabolic energy and the torque of the spring [1]. Much of the mechanical

56

Page 77: Passive Exoskeletons to Support Human Locomotion - a

work at the ankle joint during gait is the result of elastic stretch and recoil of the Achilles tendon which

does not directly cause metabolic energy consumption [1]. Because of tendon compliance, using an

exoskeleton to reduce cyclic musculotendon work can actually preserve or increase the mechanical

work performed by muscle fascicles [1].

7.3 Knee comparison

Studying in detail the exoskeleton influence in the ankle system and comparing it with other joints be-

havior seems a good mechanism to understand if the application of this type of mechanical structure

has applicability in the other joints. In this study was chosen to make the comparison between the ankle

and the knee. To do that, the principal results obtained for the ankle exoskeleton application were placed

side by side with the same results for the knee joint with natural gait. Then, by observing what was the

influence of the exoskeleton in the ankle joint for all types of results, it is possible to predict mechanisms

that can also cause positive influences, this time at knee joint level. The results correspondent to this

comparison between the ankle and knee are presented below in Table 7.1.

In Table 7.1, first is represented biological moment variation for the ankle and for the knee. Then the

biological power is also represented for both joints.

The third graphical results are the representation of the biological moment with the joint angle varia-

tion. This type of diagrams are usually used in studies of this type (studying the applicability of a certain

mechanism [28]) since this representation involves two important joint parameters allowing the observa-

tion of gait changes as a whole. With these diagrams is not only possible to take information about the

joint moment and angle but also the correspondent dissipated energy (to the ground and to the other

leg joints) which corresponds to the area of each curve. Regarding the ankle results it is possible to see

that there is no change at a kinematic level as the prescribed motion is the same (there is not variation

of the angle values range) but, in another way, the associated moment reduction with the application of

the exoskeleton correspond to the maximum ankle angle, that is at HO. Observing now the knee joint

correspondent diagram, and trying to obtain the same result with the application of a mechanical sys-

tem, a possible way would be to try to reduce the moment in the phase of maximum angle, that is, the

moment after the TO. Looking to the knee mechanical power variation above, the moment after TO is

actually where the positive work could be, in the same way of the ankle, reduced.

The joint angles are also represented with the main gait events labeled for matters of guidance

among the other results.

57

Page 78: Passive Exoskeletons to Support Human Locomotion - a

Ankle Knee

0 20 40 60 80 100

Stride (%)

-0.20

0.20.40.60.8

11.2

Bio

logi

cal a

nkle

mom

ent (

N m

kg

-1)

Spring engages Spring disengages

Without exoskeleton

k = 7.9 k N-1

0 20 40 60 80 100

Stride (%)

-0.4-0.2

00.20.40.6

Bio

logi

cal k

nee

mom

ent (

N m

kg-1

)

Without exoskeleton

0 20 40 60 80 100

Stride (%)

-0.8

-0.4

0

0.4

0.8

1.2

1.6

2

Bio

logi

cal a

nkle

pow

er (

W k

g-1)

Spring engages Spring disengages

0 20 40 60 80 100

Stride (%)

-0.4

0

0.4

0.8B

iolo

gica

l kne

e po

wer

(W

kg

-1)

Table 7.1: Comparison between the principal results for the ankle and knee joints. a) Moment variationalong stride; b) Mechanical power variation along stride; c) Moment along joint angle; d) Joint anglealong stride. In the last two results type are represented the principal moments of the gait cycle: IC, FF,HO, TO

58

Page 79: Passive Exoskeletons to Support Human Locomotion - a

Chapter 8

Conclusions and future developments

8.1 Conclusions

With this work it was possible to understand the methodology involving the creation of a 3D biomechan-

ical model as well as its broad potential on motion analysis.

Throughout the work a wide variety of information was gathered. Starting with the deep study of

natural human gait and its characteristics, it was possible to understand the reference patterns of motion

along strides and its meaning regarding the energetics of gait.

Looking at the state of the art in the area of exoskeletons devices, one can find several different

solutions with a variety of technologies to support or augment human locomotion. The possibility of using

passive elements in a device of this type, reducing the need for external power supply and reducing the

device overall weight, was one of the reasons that led to this study.

Learning more about the passive exoskeleton device under study, the device developed by the Saw-

icki et al. [1], it can be seen the potential of a passive device on natural human gait augmentation

showing a 7% reduction on the human net metabolic energy expenditure. One of the results shown by

these researchers was that with the use of this exoskeleton it can be seen a reduction of about 14% on

the averaged biological ankle moment contribution along stride. This is the main parameter to accom-

plish in this study. The obtained result here was a reduction of approximately 24.2% on average. This

greater value, in comparison with the results obtained by Sawicki et. al [1], may have been obtained

due to energy losses at experimental level or, in another way, some failures at the exoskeleton computa-

tional model approach (regarding dimensions for example) to the experimental prototype that was being

reproduced.

Making a comparison between the results achieved for the ankle joint (optimized gait) and the knee

joint results (for the non optimized gait) it was possible to see that this type of comparison could be of

great value for the construction of similar exoskeleton to support other human joints.

8.2 Future developments

In a near future, with continued research, it is expected to obtain a sharper decrease in the metabolic

demands of walking or running, with both active and passive exoskeletons. And thus reducing fatigue

with a significant order of magnitude, in those tasks.

59

Page 80: Passive Exoskeletons to Support Human Locomotion - a

An optimal future research and development on lower limbs exoskeletons design should focus on the

characteristics of used materials, actuators, human-machine interfaces, safety, energy efficiency and

cost-effectiveness of exoskeletons [5]. An interesting goal is the development of a well-suited exoskele-

ton, that does not bring any discomfort to the subject wearing it by being extremely adapted to a specific

person [2].

More specifically with regard to studies on Sawicki et al. work, in further studies of the present work

it would be of great interest to add the muscles influence on the dynamic analysis. Another interesting

research would be the computational study of a similar exoskeleton application to other leg joints (in the

same way that it has been studied superficially upwards) with the objective to augment their functions

during gait also with not entering with external power sources.

Still in this framework, the biomechanics research group at IST intends to soon replicate the prototype

developed by Sawicki et. al [1] to be tested at the laboratory of movement and contribute with more

results for metabolic net energy measuring the oxygen consumption and carbon dioxide production rates.

Thus, in addition to the computational reproduction made here, an experimental prototype analysis will

add a great value for the study of this mechanical system and its applicability in the future.

60

Page 81: Passive Exoskeletons to Support Human Locomotion - a

References

[1] S. H. Collins, M. B. Wiggin, and G. S. Sawicki. Reducing the energy cost of human walking using

an unpowered exoskeleton. Nature, 522(7555):212–215, 2015.

[2] H. Herr. Exoskeletons and orthoses: classification, design challenges and future directions. Journal

of neuroengineering and rehabilitation, 6(1):1, 2009.

[3] N. Yagn. Apparatus for facilitating walking, Jan. 28 1890. US Patent 420,179.

[4] L. M. Mooney and H. M. Herr. Biomechanical walking mechanisms underlying the metabolic reduc-

tion caused by an autonomous exoskeleton. Journal of neuroengineering and rehabilitation, 13(1):

1, 2016.

[5] B. Chen, H. Ma, L.-Y. Qin, F. Gao, K.-M. Chan, S.-W. Law, L. Qin, and W.-H. Liao. Recent devel-

opments and challenges of lower extremity exoskeletons. Journal of Orthopaedic Translation, 5:

26–37, 2016.

[6] L. Quinto, S. B. Goncalves, and M. T. Silva. Exoesqueletos para membros inferiores: estado da

arte. 7 Congresso Nacional de Biomecanica, 2009.

[7] Rewalk: robotic exoskeletons for spinal cord injury. Ottawa: CADTH; 2015 Sep. (CADTH issues in

emerging health technologies; issue 141).

[8] G. Chen, C. K. Chan, Z. Guo, and H. Yu. A review of lower extremity assistive robotic exoskeletons

in rehabilitation therapy. Critical ReviewsTM in Biomedical Engineering, 41(4-5), 2013.

[9] Fda approves rewalk robotics exoskeleton, 2014. URL http://www.roboticstrends.com/

article/fda_approves_rewalk_robotics_exoskeleton/ReWalk/.

[10] URL http://www.samarit.es/es/ayudas-de-enfermeria/neuro-rehabilitacion/katalog/

kategorie/hocoma/lokomat/.

[11] Berkeley lower extremity exoskeleton. URL http://bleex.me.berkeley.edu/research/

exoskeleton/bleex/.

[12] L. M. Mooney, E. J. Rouse, and H. M. Herr. Autonomous exoskeleton reduces metabolic cost of

human walking during load carriage. Journal of neuroengineering and rehabilitation, 11(1):1, 2014.

[13] C. J. Walsh, K. Endo, and H. Herr. A quasi-passive leg exoskeleton for load-carrying augmentation.

International Journal of Humanoid Robotics, 4(03):487–506, 2007.

61

Page 82: Passive Exoskeletons to Support Human Locomotion - a

[14] M. Silva. Apontamentos curso de biomecanica do movimento. 2004.

[15] S. Hall. Basic biomechanics. McGraw-Hill Higher Education, 2014.

[16] A. M. Dollar and H. Herr. Lower extremity exoskeletons and active orthoses: challenges and state-

of-the-art. IEEE Transactions on robotics, 24(1):144–158, 2008.

[17] D. A. Winter. Biomechanics and motor control of human gait: normal, elderly and pathological.

1991.

[18] S. H. Collins, P. G. Adamczyk, and A. D. Kuo. Dynamic arm swinging in human walking. Proceed-

ings of the Royal Society of London B: Biological Sciences, page rspb20090664, 2009.

[19] T. M. Griffin, T. J. Roberts, and R. Kram. Metabolic cost of generating muscular force in human

walking: insights from load-carrying and speed experiments. Journal of Applied Physiology, 95(1):

172–183, 2003.

[20] J. G. De Jalon and E. Bayo. Kinematic and dynamic simulation of multibody systems: the real-time

challenge. Springer Science & Business Media, 2012.

[21] M. T. Silva. Human motion analysis using multibody dynamics and optimization tools. IST, 2003.

[22] S. Goncalves. Advanced computer methods for pathological and non-pathological human move-

ment analysis. Master thesis, 2010.

[23] T. Malaquias. Development of a three-dimensional multibody model of the human leg and foot for

application to movement analysis. Master thesis, 2013.

[24] P. De Leva. Adjustments to zatsiorsky-seluyanov’s segment inertia parameters. Journal of biome-

chanics, 29(9):1223–1230, 1996.

[25] F. C. Anderson and M. G. Pandy. A dynamic optimization solution for vertical jumping in three

dimensions. Computer methods in biomechanics and biomedical engineering, 2(3):201–231, 1999.

[26] R. P. Vila. Application of multibody dynamics techniques to the analysis of human gait. PhD thesis,

Universitat Politecnica de Catalunya, 2012.

[27] P. E. Nikravesh. Computer-aided analysis of mechanical systems. Prentice-Hall, Inc., 1988.

[28] K. Shamaei, M. Cenciarini, A. A. Adams, K. N. Gregorczyk, J. M. Schiffman, and A. M. Dollar.

Biomechanical effects of stiffness in parallel with the knee joint during walking. IEEE Transactions

on Biomedical Engineering, 62(10):2389–2401, 2015.

62

Page 83: Passive Exoskeletons to Support Human Locomotion - a

Appendix A

Example of modulation file

This Appendix present an example of a modulation file (with extension *.mdl), necessary input for the

Apollo software. This file contains information about the 3D biomechanical model developed.

1 *HEADER2 Inverse Dynamic Analysis - Modelo13 4 *MAIN PARAMETERS5 64 39 28 43 11 0 0 41 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 06 7 *GROUND BODY8 0 19 0 1

10 -0.160612 0.361787 1.01534311 1.000000 0.000000 0.00000012 13 *RIGID BODIES14 15 BODY=RB1_Pelvis16 6.88344 0.000265 0.000132 0.00013217 3 1 2 3 18 2 1 219 0 0 0.028820 0 -0.0733 -0.029821 0 0.0733 -0.029822 0.000000 1.000000 0.00000023 1.000000 0.000000 0.00000024 25 26 BODY=RB2_Trunk_Fixed27 2.7692 0.0362 0.0362 0.000128 2 4 529 1 330 0 0 -0.165731 0 0 0.224632 0.000000 1.000000 0.00000033 34 35 BODY=RB3_Trunk_Mobile36 13.8460 0.2627 0.2627 0.076037 4 6 7 8 938 1 439 0 0 -0.165740 0 0 0.224641 0 -0.1652 0.192342 0 0.1652 0.192343 1.000000 0.000000 0.00000044 45 46 BODY=RB4_Neck_Fixed47 0.0267 0.0001 0.0001 0.000148 2 10 1149 1 550 0 0 -0.060451 0 0 0.060452 0.000000 1.000000 0.00000053 54 55 BODY=RB5_Neck_Mobile56 0.1334 0.0001 0.0001 0.000157 2 12 1358 1 659 0 0 -0.060460 0 0 0.060461 1.000000 0.000000 0.00000062 63 64 BODY=RB6_Head65 3.68736 0.2989 0.3315 0.076166 3 14 15 1667 1 768 -0.0526 0 -0.020669 0.0989 0.0009 0.079170 0.0459 0 -0.131971 0.000000 1.000000 0.00000072 73

63

Page 84: Passive Exoskeletons to Support Human Locomotion - a

1 *HEADER2 Inverse Dynamic Analysis - Modelo13 4 *MAIN PARAMETERS5 64 39 28 43 11 0 0 41 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 06 7 *GROUND BODY8 0 19 0 1

10 -0.160612 0.361787 1.01534311 1.000000 0.000000 0.00000012 13 *RIGID BODIES14 15 BODY=RB1_Pelvis16 6.88344 0.000265 0.000132 0.00013217 3 1 2 3 18 2 1 219 0 0 0.028820 0 -0.0733 -0.029821 0 0.0733 -0.029822 0.000000 1.000000 0.00000023 1.000000 0.000000 0.00000024 25 26 BODY=RB2_Trunk_Fixed27 2.7692 0.0362 0.0362 0.000128 2 4 529 1 330 0 0 -0.165731 0 0 0.224632 0.000000 1.000000 0.00000033 34 35 BODY=RB3_Trunk_Mobile36 13.8460 0.2627 0.2627 0.076037 4 6 7 8 938 1 439 0 0 -0.165740 0 0 0.224641 0 -0.1652 0.192342 0 0.1652 0.192343 1.000000 0.000000 0.00000044 45 46 BODY=RB4_Neck_Fixed47 0.0267 0.0001 0.0001 0.000148 2 10 1149 1 550 0 0 -0.060451 0 0 0.060452 0.000000 1.000000 0.00000053 54 55 BODY=RB5_Neck_Mobile56 0.1334 0.0001 0.0001 0.000157 2 12 1358 1 659 0 0 -0.060460 0 0 0.060461 1.000000 0.000000 0.00000062 63 64 BODY=RB6_Head65 3.68736 0.2989 0.3315 0.076166 3 14 15 1667 1 768 -0.0526 0 -0.020669 0.0989 0.0009 0.079170 0.0459 0 -0.131971 0.000000 1.000000 0.00000072 73 74 BODY=RB7_Right_Thigh_Fixed75 1.3598 0.0190 0.0190 0.000176 2 17 1877 1 878 0 0 0.150079 0 0 -0.264980 0.000000 1.000000 0.00000081 82 83 BODY=RB8_Right_Thigh_Mobile84 6.7988 0.1522 0.1522 0.035885 2 19 2086 2 9 1087 0 0 0.150088 0 0 -0.264989 1.000000 0.000000 0.00000090 0.0000 0.9963 -0.085491 92 93 BODY=RB9_Right_Leg_Fixed94 0.4425 0.0055 0.0055 0.000195 2 21 2296 2 11 1297 0 0 0.169198 0 0 -0.213899 1.000000 0.000000 0.000000

100 0.0000 0.9988 -0.0490101 102 103 BODY=RB10_Right_Leg_Mobile104 2.2126 0.0218 0.0218 0.0033105 3 23 24 63106 1 13107 0 0 0.1691108 0 0 -0.2138109 -0.1053 0.0 0.0447110 0.000000 1.000000 0.000000111 112 113 BODY=RB11_Right_Foot114 0.93288 0.0013 0.0037 0.0039115 4 25 26 27 64116 2 14 15117 -0.0302 0 0.0431118 -0.0913 -0.0117 0.0057119 0.0798 -0.0117 0.0057120 -0.1355 0.0 0.0431121 0.000000 1.000000 0.000000122 1.000000 0.000000 0.000000123 124 125 BODY=RB12_Right_Toes126 0.16008 0.0001 0.0002 0.0001127 2 28 29128 1 16129 -0.0226 0 -0.0155130 0.0430 0.0000 -0.0155131 0.000000 1.000000 0.000000132 133 134 BODY=RB13_Left_Thigh_Fixed135 1.3598 0.0191 0.0191 0.0001136 2 30 31137 1 17138 0 0 0.1502139 0 0 -0.2652140 0.000000 1.000000 0.000000141 142 143 BODY=RB14_Left_Thigh_Mobile144 6.7988 0.1525 0.1525 0.0358145 2 32 33146 2 18 19

64

Page 85: Passive Exoskeletons to Support Human Locomotion - a

74 BODY=RB7_Right_Thigh_Fixed75 1.3598 0.0190 0.0190 0.000176 2 17 1877 1 878 0 0 0.150079 0 0 -0.264980 0.000000 1.000000 0.00000081 82 83 BODY=RB8_Right_Thigh_Mobile84 6.7988 0.1522 0.1522 0.035885 2 19 2086 2 9 1087 0 0 0.150088 0 0 -0.264989 1.000000 0.000000 0.00000090 0.0000 0.9963 -0.085491 92 93 BODY=RB9_Right_Leg_Fixed94 0.4425 0.0055 0.0055 0.000195 2 21 2296 2 11 1297 0 0 0.169198 0 0 -0.213899 1.000000 0.000000 0.000000

100 0.0000 0.9988 -0.0490101 102 103 BODY=RB10_Right_Leg_Mobile104 2.2126 0.0218 0.0218 0.0033105 3 23 24 63106 1 13107 0 0 0.1691108 0 0 -0.2138109 -0.1053 0.0 0.0447110 0.000000 1.000000 0.000000111 112 113 BODY=RB11_Right_Foot114 0.93288 0.0013 0.0037 0.0039115 4 25 26 27 64116 2 14 15117 -0.0302 0 0.0431118 -0.0913 -0.0117 0.0057119 0.0798 -0.0117 0.0057120 -0.1355 0.0 0.0431121 0.000000 1.000000 0.000000122 1.000000 0.000000 0.000000123 124 125 BODY=RB12_Right_Toes126 0.16008 0.0001 0.0002 0.0001127 2 28 29128 1 16129 -0.0226 0 -0.0155130 0.0430 0.0000 -0.0155131 0.000000 1.000000 0.000000132 133 134 BODY=RB13_Left_Thigh_Fixed135 1.3598 0.0191 0.0191 0.0001136 2 30 31137 1 17138 0 0 0.1502139 0 0 -0.2652140 0.000000 1.000000 0.000000141 142 143 BODY=RB14_Left_Thigh_Mobile144 6.7988 0.1525 0.1525 0.0358145 2 32 33146 2 18 19147 0 0 0.1502148 0 0 -0.2652149 1.000000 0.000000 0.000000150 0.0000 0.9984 0.0571151 152 153 BODY=RB15_Left_Leg_Fixed154 0.4425 0.0053 0.0053 0.0001155 2 34 35156 2 20 21157 0 0 0.1673158 0 0 -0.2116159 1.000000 0.000000 0.000000160 0.0000 0.9995 0.0316161 162 163 BODY=RB16_Left_Leg_Mobile164 2.2126 0.0213 0.0213 0.0032165 2 36 37166 1 22167 0 0 0.1673168 0 0 -0.2116169 0.000000 1.000000 0.000000170 171 172 BODY=RB17_Left_Foot173 0.93288 0.0013 0.0037 0.0039174 3 38 39 40175 2 23 24176 -0.0302 0 0.0431177 -0.0913 -0.0117 0.0057178 0.0798 -0.0117 0.0057179 0.000000 1.000000 0.000000180 1.000000 0.000000 0.000000181 182 183 BODY=RB18_Left_Toes184 0.16008 0.0001 0.0002 0.0001185 2 41 42186 1 25187 -0.0226 0 -0.0155188 0.0430 0.0000 -0.0155189 0.000000 1.000000 0.000000190 191 192 BODY=RB19_Right_Arm_Fixed193 0.2346 0.0015 0.0015 0.0001194 2 43 44195 1 26196 0 0 0.1571197 0 0 -0.1159198 0.000000 1.000000 0.000000199 200 201 BODY=RB20_Right_Arm_Mobile202 1.1730 0.0054 0.0054 0.0022203 2 45 46204 2 27 28205 0 0 0.1571206 0 0 -0.1159207 1.000000 0.000000 0.000000208 0.0000 0.9852 -0.1714209 210 211 BODY=RB21_Right_Forearm_Fixed212 0.1270 0.0007 0.0007 0.0001213 2 47 48214 2 29 30215 0 0 0.1090216 0 0 -0.1300217 1.000000 0.000000 0.000000218 0.0000 0.9977 0.0671219

65

Page 86: Passive Exoskeletons to Support Human Locomotion - a

147 0 0 0.1502148 0 0 -0.2652149 1.000000 0.000000 0.000000150 0.0000 0.9984 0.0571151 152 153 BODY=RB15_Left_Leg_Fixed154 0.4425 0.0053 0.0053 0.0001155 2 34 35156 2 20 21157 0 0 0.1673158 0 0 -0.2116159 1.000000 0.000000 0.000000160 0.0000 0.9995 0.0316161 162 163 BODY=RB16_Left_Leg_Mobile164 2.2126 0.0213 0.0213 0.0032165 2 36 37166 1 22167 0 0 0.1673168 0 0 -0.2116169 0.000000 1.000000 0.000000170 171 172 BODY=RB17_Left_Foot173 0.93288 0.0013 0.0037 0.0039174 3 38 39 40175 2 23 24176 -0.0302 0 0.0431177 -0.0913 -0.0117 0.0057178 0.0798 -0.0117 0.0057179 0.000000 1.000000 0.000000180 1.000000 0.000000 0.000000181 182 183 BODY=RB18_Left_Toes184 0.16008 0.0001 0.0002 0.0001185 2 41 42186 1 25187 -0.0226 0 -0.0155188 0.0430 0.0000 -0.0155189 0.000000 1.000000 0.000000190 191 192 BODY=RB19_Right_Arm_Fixed193 0.2346 0.0015 0.0015 0.0001194 2 43 44195 1 26196 0 0 0.1571197 0 0 -0.1159198 0.000000 1.000000 0.000000199 200 201 BODY=RB20_Right_Arm_Mobile202 1.1730 0.0054 0.0054 0.0022203 2 45 46204 2 27 28205 0 0 0.1571206 0 0 -0.1159207 1.000000 0.000000 0.000000208 0.0000 0.9852 -0.1714209 210 211 BODY=RB21_Right_Forearm_Fixed212 0.1270 0.0007 0.0007 0.0001213 2 47 48214 2 29 30215 0 0 0.1090216 0 0 -0.1300217 1.000000 0.000000 0.000000218 0.0000 0.9977 0.0671219 220 221 BODY=RB22_Right_Forearm_Mobile222 0.6348 0.0022 0.0022 0.0003223 2 49 50224 1 31225 0 0 0.1090226 0 0 -0.1300227 0.000000 1.000000 0.000000228 229 230 BODY=RB23_Right_Hand231 0.30912 0.000648 0.000812 0.000648232 2 51 52233 1 32234 0 0 0.0552235 0 0 -0.0186236 1.000000 0.000000 0.000000237 238 239 BODY=RB24_Left_Arm_Fixed240 0.2346 0.0013 0.0013 0.0001241 2 53 54242 1 33243 0 0 0.1458244 0 0 -0.1076245 0.000000 1.000000 0.000000246 247 248 BODY=RB25_Left_Arm_Mobile249 1.1730 0.0046 0.0046 0.0019250 2 55 56251 2 34 35252 0 0 0.1458253 0 0 -0.1076254 1.000000 0.000000 0.000000255 0.0000 0.9745 0.2246256 257 258 BODY=RB26_Left_Forearm_Fixed259 0.1270 0.0006 0.0006 0.0001260 2 57 58261 2 36 37262 0 0 0.1045263 0 0 -0.1248264 1.000000 0.000000 0.000000265 0.0000 0.9959 -0.0905266 267 268 BODY=RB27_Left_Forearm_Mobile269 0.6348 0.0020 0.0020 0.0003270 2 59 60271 1 38272 0 0 0.1045273 0 0 -0.1248274 0.000000 1.000000 0.000000275 276 277 BODY=RB28_Left_Hand278 0.30912 0.008824 0.009905 0.003044279 2 61 62280 1 39281 0 0 0.0558282 0 0 -0.0189283 1.000000 0.000000 0.000000284 285 286 *SUPERPOSITION CONSTRAINT287 288 SP=SP1_Rev_Joint_Point289 1 2 1 4 0290 291 SP=SP2_Rev_Joint_Point292 1 7 2 17 0

66

Page 87: Passive Exoskeletons to Support Human Locomotion - a

220 221 BODY=RB22_Right_Forearm_Mobile222 0.6348 0.0022 0.0022 0.0003223 2 49 50224 1 31225 0 0 0.1090226 0 0 -0.1300227 0.000000 1.000000 0.000000228 229 230 BODY=RB23_Right_Hand231 0.30912 0.000648 0.000812 0.000648232 2 51 52233 1 32234 0 0 0.0552235 0 0 -0.0186236 1.000000 0.000000 0.000000237 238 239 BODY=RB24_Left_Arm_Fixed240 0.2346 0.0013 0.0013 0.0001241 2 53 54242 1 33243 0 0 0.1458244 0 0 -0.1076245 0.000000 1.000000 0.000000246 247 248 BODY=RB25_Left_Arm_Mobile249 1.1730 0.0046 0.0046 0.0019250 2 55 56251 2 34 35252 0 0 0.1458253 0 0 -0.1076254 1.000000 0.000000 0.000000255 0.0000 0.9745 0.2246256 257 258 BODY=RB26_Left_Forearm_Fixed259 0.1270 0.0006 0.0006 0.0001260 2 57 58261 2 36 37262 0 0 0.1045263 0 0 -0.1248264 1.000000 0.000000 0.000000265 0.0000 0.9959 -0.0905266 267 268 BODY=RB27_Left_Forearm_Mobile269 0.6348 0.0020 0.0020 0.0003270 2 59 60271 1 38272 0 0 0.1045273 0 0 -0.1248274 0.000000 1.000000 0.000000275 276 277 BODY=RB28_Left_Hand278 0.30912 0.008824 0.009905 0.003044279 2 61 62280 1 39281 0 0 0.0558282 0 0 -0.0189283 1.000000 0.000000 0.000000284 285 286 *SUPERPOSITION CONSTRAINT287 288 SP=SP1_Rev_Joint_Point289 1 2 1 4 0290 291 SP=SP2_Rev_Joint_Point292 1 7 2 17 0293 294 SP=SP3_Rev_Joint_Point295 1 13 3 30 0296 297 SP=SP4_Rev_Joint_Point298 2 3 4 6 0299 300 SP=SP5_Rev_Joint_Point301 3 19 8 43 0302 303 SP=SP6_Rev_Joint_Point304 3 24 9 53 0305 306 SP=SP7_Rev_Joint_Point307 3 4 7 10 0308 309 SP=SP8_Rev_Joint_Point310 4 5 10 12 0311 312 SP=SP9_Rev_Joint_Point313 4 5 11 13 0314 315 SP=SP10_Rev_Joint_Point316 5 6 13 14 0317 318 SP=SP11_Rev_Joint_Point319 7 8 17 19 0320 321 SP=SP12_Rev_Joint_Point322 7 8 18 20 0323 324 SP=SP13_Rev_Joint_Point325 8 9 20 21 0326 327 SP=SP14_Rev_Joint_Point328 9 10 21 23 0329 330 SP=SP15_Rev_Joint_Point331 9 10 22 24 0332 333 SP=SP16_Rev_Joint_Point334 10 11 24 25 0335 336 SP=SP17_Rev_Joint_Point337 11 12 27 28 0338 339 SP=SP18_Rev_Joint_Point340 13 14 30 32 0341 342 SP=SP19_Rev_Joint_Point343 13 14 31 33 0344 345 SP=SP20_Rev_Joint_Point346 14 15 33 34 0347 348 SP=SP21_Rev_Joint_Point349 15 16 34 36 0350 351 SP=SP22_Rev_Joint_Point352 15 16 35 37 0353 354 SP=SP23_Rev_Joint_Point355 16 17 37 38 0356 357 SP=SP24_Rev_Joint_Point358 17 18 40 41 0359 360 SP=SP25_Rev_Joint_Point361 19 20 43 45 0362 363 SP=SP26_Rev_Joint_Point364 19 20 44 46 0365

67

Page 88: Passive Exoskeletons to Support Human Locomotion - a

293 294 SP=SP3_Rev_Joint_Point295 1 13 3 30 0296 297 SP=SP4_Rev_Joint_Point298 2 3 4 6 0299 300 SP=SP5_Rev_Joint_Point301 3 19 8 43 0302 303 SP=SP6_Rev_Joint_Point304 3 24 9 53 0305 306 SP=SP7_Rev_Joint_Point307 3 4 7 10 0308 309 SP=SP8_Rev_Joint_Point310 4 5 10 12 0311 312 SP=SP9_Rev_Joint_Point313 4 5 11 13 0314 315 SP=SP10_Rev_Joint_Point316 5 6 13 14 0317 318 SP=SP11_Rev_Joint_Point319 7 8 17 19 0320 321 SP=SP12_Rev_Joint_Point322 7 8 18 20 0323 324 SP=SP13_Rev_Joint_Point325 8 9 20 21 0326 327 SP=SP14_Rev_Joint_Point328 9 10 21 23 0329 330 SP=SP15_Rev_Joint_Point331 9 10 22 24 0332 333 SP=SP16_Rev_Joint_Point334 10 11 24 25 0335 336 SP=SP17_Rev_Joint_Point337 11 12 27 28 0338 339 SP=SP18_Rev_Joint_Point340 13 14 30 32 0341 342 SP=SP19_Rev_Joint_Point343 13 14 31 33 0344 345 SP=SP20_Rev_Joint_Point346 14 15 33 34 0347 348 SP=SP21_Rev_Joint_Point349 15 16 34 36 0350 351 SP=SP22_Rev_Joint_Point352 15 16 35 37 0353 354 SP=SP23_Rev_Joint_Point355 16 17 37 38 0356 357 SP=SP24_Rev_Joint_Point358 17 18 40 41 0359 360 SP=SP25_Rev_Joint_Point361 19 20 43 45 0362 363 SP=SP26_Rev_Joint_Point364 19 20 44 46 0365 366 SP=SP27_Rev_Joint_Point367 20 21 46 47 0368 369 SP=SP28_Rev_Joint_Point370 21 22 47 49 0371 372 SP=SP29_Rev_Joint_Point373 21 22 48 50 0374 375 SP=SP30_Rev_Joint_Point376 22 23 50 51 0377 378 SP=SP31_Rev_Joint_Point379 24 25 53 55 0380 381 SP=SP32_Rev_Joint_Point382 24 25 54 56 0383 384 SP=SP33_Rev_Joint_Point385 25 26 56 57 0386 387 SP=SP34_Rev_Joint_Point388 26 27 57 59 0389 390 SP=SP35_Rev_Joint_Point391 26 27 58 60 0392 393 SP=SP36_Rev_Joint_Point394 27 28 60 61 0395 396 SP=SP37_Rev_Joint_Point397 2 3 5 7 0398 399 SP=SP38_Rev_Joint_Point400 8 9 10 12 1401 402 SP=SP39_Rev_Joint_Point403 14 15 19 21 1404 405 SP=SP40_Rev_Joint_Point406 17 18 23 25 1407 408 SP=SP41_Rev_Joint_Point409 11 12 14 16 1410 411 SP=SP42_Rev_Joint_Point412 20 21 28 30 1413 414 SP=SP43_Rev_Joint_Point415 25 26 35 37 1416 417 418 *INNER PRODUCT CONSTRAINT419 IP=1_ip420 1 2 3 2 3 90421 422 IP=2_ip423 3 4 3 4 5 90424 425 IP=3_ip426 5 6 3 6 7 90427 428 IP=4_ip429 1 7 3 2 8 90430 431 IP=5_ip432 10 11 3 13 15 90433 434 IP=6_ip435 1 13 3 2 17 90436 437 IP=7_ip438 16 17 3 22 24 90

68

Page 89: Passive Exoskeletons to Support Human Locomotion - a

366 SP=SP27_Rev_Joint_Point367 20 21 46 47 0368 369 SP=SP28_Rev_Joint_Point370 21 22 47 49 0371 372 SP=SP29_Rev_Joint_Point373 21 22 48 50 0374 375 SP=SP30_Rev_Joint_Point376 22 23 50 51 0377 378 SP=SP31_Rev_Joint_Point379 24 25 53 55 0380 381 SP=SP32_Rev_Joint_Point382 24 25 54 56 0383 384 SP=SP33_Rev_Joint_Point385 25 26 56 57 0386 387 SP=SP34_Rev_Joint_Point388 26 27 57 59 0389 390 SP=SP35_Rev_Joint_Point391 26 27 58 60 0392 393 SP=SP36_Rev_Joint_Point394 27 28 60 61 0395 396 SP=SP37_Rev_Joint_Point397 2 3 5 7 0398 399 SP=SP38_Rev_Joint_Point400 8 9 10 12 1401 402 SP=SP39_Rev_Joint_Point403 14 15 19 21 1404 405 SP=SP40_Rev_Joint_Point406 17 18 23 25 1407 408 SP=SP41_Rev_Joint_Point409 11 12 14 16 1410 411 SP=SP42_Rev_Joint_Point412 20 21 28 30 1413 414 SP=SP43_Rev_Joint_Point415 25 26 35 37 1416 417 418 *INNER PRODUCT CONSTRAINT419 IP=1_ip420 1 2 3 2 3 90421 422 IP=2_ip423 3 4 3 4 5 90424 425 IP=3_ip426 5 6 3 6 7 90427 428 IP=4_ip429 1 7 3 2 8 90430 431 IP=5_ip432 10 11 3 13 15 90433 434 IP=6_ip435 1 13 3 2 17 90436 437 IP=7_ip438 16 17 3 22 24 90439 440 IP=8_ip441 3 19 3 4 26 90442 443 IP=9_ip444 22 23 3 31 32 90445 446 IP=10_ip447 3 24 3 4 33 90448 449 IP=11_ip450 27 28 3 38 39 90451 452 453 *KINEMATIC DRIVERS454 DRIVER=1455 6456 2 1 4 5 2457 458 DRIVER=2459 6460 2 1 4 5 1461 462 DRIVER=3463 5464 2 3 3 4465 466 DRIVER=4467 6468 4 3 10 11 4469 470 DRIVER=5471 6472 3 4 6 7 5473 474 DRIVER=6475 5476 4 5 5 6477 478 DRIVER=7479 4480 5 6 12 13 14 16481 482 DRIVER=8483 6484 5 6 12 13 7485 486 DRIVER=9487 6488 7 1 18 17 2489 490 DRIVER=10491 6492 7 1 18 17 1493 494 DRIVER=11495 5496 7 8 8 9497 498 DRIVER=12499 6500 8 9 20 19 11501 502 DRIVER=13503 5504 9 10 11 13505 506 DRIVER=14507 6508 10 11 24 23 15509 510 DRIVER=15511 6

69

Page 90: Passive Exoskeletons to Support Human Locomotion - a

439 440 IP=8_ip441 3 19 3 4 26 90442 443 IP=9_ip444 22 23 3 31 32 90445 446 IP=10_ip447 3 24 3 4 33 90448 449 IP=11_ip450 27 28 3 38 39 90451 452 453 *KINEMATIC DRIVERS454 DRIVER=1455 6456 2 1 4 5 2457 458 DRIVER=2459 6460 2 1 4 5 1461 462 DRIVER=3463 5464 2 3 3 4465 466 DRIVER=4467 6468 4 3 10 11 4469 470 DRIVER=5471 6472 3 4 6 7 5473 474 DRIVER=6475 5476 4 5 5 6477 478 DRIVER=7479 4480 5 6 12 13 14 16481 482 DRIVER=8483 6484 5 6 12 13 7485 486 DRIVER=9487 6488 7 1 18 17 2489 490 DRIVER=10491 6492 7 1 18 17 1493 494 DRIVER=11495 5496 7 8 8 9497 498 DRIVER=12499 6500 8 9 20 19 11501 502 DRIVER=13503 5504 9 10 11 13505 506 DRIVER=14507 6508 10 11 24 23 15509 510 DRIVER=15511 6512 10 11 24 23 14513 514 DRIVER=16515 4516 11 12 26 25 28 29517 518 DRIVER=17519 6520 13 1 31 30 2521 522 DRIVER=18523 6524 13 1 31 30 1525 526 DRIVER=19527 5528 13 14 17 18529 530 DRIVER=20531 6532 14 15 33 32 20533 534 DRIVER=21535 5536 15 16 20 22537 538 DRIVER=22539 6540 16 17 37 36 24541 542 DRIVER=23543 6544 16 17 37 36 23545 546 DRIVER=24547 4548 17 18 39 38 41 42549 550 DRIVER=25551 6552 19 3 44 43 4553 554 DRIVER=26555 6556 3 19 6 7 26557 558 DRIVER=27559 5560 19 20 26 27561 562 DRIVER=28563 6564 20 21 46 45 29565 566 DRIVER=29567 5568 21 22 29 31569 570 DRIVER=30571 6572 22 23 50 49 32573 574 DRIVER=31575 6576 23 22 52 51 31577 578 DRIVER=32579 6580 24 3 54 53 4581 582 DRIVER=33583 6584 3 24 6 7 33

70

Page 91: Passive Exoskeletons to Support Human Locomotion - a

512 10 11 24 23 14513 514 DRIVER=16515 4516 11 12 26 25 28 29517 518 DRIVER=17519 6520 13 1 31 30 2521 522 DRIVER=18523 6524 13 1 31 30 1525 526 DRIVER=19527 5528 13 14 17 18529 530 DRIVER=20531 6532 14 15 33 32 20533 534 DRIVER=21535 5536 15 16 20 22537 538 DRIVER=22539 6540 16 17 37 36 24541 542 DRIVER=23543 6544 16 17 37 36 23545 546 DRIVER=24547 4548 17 18 39 38 41 42549 550 DRIVER=25551 6552 19 3 44 43 4553 554 DRIVER=26555 6556 3 19 6 7 26557 558 DRIVER=27559 5560 19 20 26 27561 562 DRIVER=28563 6564 20 21 46 45 29565 566 DRIVER=29567 5568 21 22 29 31569 570 DRIVER=30571 6572 22 23 50 49 32573 574 DRIVER=31575 6576 23 22 52 51 31577 578 DRIVER=32579 6580 24 3 54 53 4581 582 DRIVER=33583 6584 3 24 6 7 33585 586 DRIVER=34587 5588 24 25 33 34589 590 DRIVER=35591 6592 25 26 56 55 36593 594 DRIVER=36595 5596 26 27 36 38597 598 DRIVER=37599 6600 27 28 60 59 39601 602 DRIVER=38603 6604 28 27 62 61 38605 606 DRIVER=39607 1608 1 1609 610 DRIVER=40611 2612 1 1613 614 DRIVER=41615 2616 1 2617 618 619 620 *END OF FILE

71

Page 92: Passive Exoskeletons to Support Human Locomotion - a

72

Page 93: Passive Exoskeletons to Support Human Locomotion - a

Appendix B

Additional Fortran routine in the Apollo software

This Appendix present the additional Fortran routine implemented in the Apollo software in order to do

the simulation of the passive exoskeleton influence in the natural gait.

1 *******************************************************************************2 * FILE: Saw_Aux_Funcs.f3 *4 * Called by: INVERSE_DYNAMIC_ANALYSIS5 *6 * Calls to :7 *8 *9 * DESCRIPTION: Apply Sawicki Clutch

10 *11 *12 *13 ****************************************** IST,JULY2017, SGoncalves **********14 15 16 17 18 19 *******************************************************************************20 * SUBROUTINE: SAWICKI_CLUTCH_FORCES21 *22 * Called by: INVERSE_DYNAMIC_ANALYSIS23 *24 * Calls to :25 *26 *27 * DESCRIPTION: Apply a spring element if the clutch is active28 *29 *30 *31 ****************************************** IST,JULY2017, SGoncalves **********32 33 34 SUBROUTINE SAWICKI_CLUTCH_FORCES(T_STEP,FRM_STEP,DATA_OUT)35 36 IMPLICIT NONE37 38 INCLUDE '..\Core\parameter.h'39 INCLUDE '..\Core\vardeclar.h'40 INCLUDE '..\Core\dvardeclar.h'41 42 INTEGER I,J,FRM_STEP,I_P1_SAW,I_P2_SAW43 REAL*8 T_STEP,L_DIR_VEC,F_VEC_N44 REAL*8 DATA_OUT(NPAR_SAW),F_VEC(3),DIR_VEC(3), P1(3),P2(3)45 REAL*8 DIR_VEC_N(3)46 47 IF (T_STEP>=T1_SAW .AND. T_STEP<=T2_SAW) THEN48 P1(1:3)=PTCOORD(1:3,P1_SAW)49 P2(1:3)=PTCOORD(1:3,P2_SAW)50 51 DIR_VEC=P2-P1;52 CALL NORM_V(DIR_VEC,L_DIR_VEC)53 DIR_VEC_N=DIR_VEC/L_DIR_VEC54 55 IF (L0_SAW_SPRING_FLAG==0) THEN56 L0_SAW_SPRING=L_DIR_VEC57 L0_SAW_SPRING_FLAG=158 59 I_P1_SAW=060 I_P2_SAW=061 62 DO I=2,RIGBOD(1,RB1_SAW)+163 IF (RIGBOD(I,RB1_SAW) == P1_SAW) THEN64 I_P1_SAW=I-165 EXIT66 ENDIF67 ENDDO68 69 DO I=2,RIGBOD(1,RB2_SAW)+170 IF (RIGBOD(I,RB2_SAW) == P2_SAW) THEN71 I_P2_SAW=I-172 EXIT73 ENDIF

73

Page 94: Passive Exoskeletons to Support Human Locomotion - a

1 *******************************************************************************2 * FILE: Saw_Aux_Funcs.f3 *4 * Called by: INVERSE_DYNAMIC_ANALYSIS5 *6 * Calls to :7 *8 *9 * DESCRIPTION: Apply Sawicki Clutch

10 *11 *12 *13 ****************************************** IST,JULY2017, SGoncalves **********14 15 16 17 18 19 *******************************************************************************20 * SUBROUTINE: SAWICKI_CLUTCH_FORCES21 *22 * Called by: INVERSE_DYNAMIC_ANALYSIS23 *24 * Calls to :25 *26 *27 * DESCRIPTION: Apply a spring element if the clutch is active28 *29 *30 *31 ****************************************** IST,JULY2017, SGoncalves **********32 33 34 SUBROUTINE SAWICKI_CLUTCH_FORCES(T_STEP,FRM_STEP,DATA_OUT)35 36 IMPLICIT NONE37 38 INCLUDE '..\Core\parameter.h'39 INCLUDE '..\Core\vardeclar.h'40 INCLUDE '..\Core\dvardeclar.h'41 42 INTEGER I,J,FRM_STEP,I_P1_SAW,I_P2_SAW43 REAL*8 T_STEP,L_DIR_VEC,F_VEC_N44 REAL*8 DATA_OUT(NPAR_SAW),F_VEC(3),DIR_VEC(3), P1(3),P2(3)45 REAL*8 DIR_VEC_N(3)46 47 IF (T_STEP>=T1_SAW .AND. T_STEP<=T2_SAW) THEN48 P1(1:3)=PTCOORD(1:3,P1_SAW)49 P2(1:3)=PTCOORD(1:3,P2_SAW)50 51 DIR_VEC=P2-P1;52 CALL NORM_V(DIR_VEC,L_DIR_VEC)53 DIR_VEC_N=DIR_VEC/L_DIR_VEC54 55 IF (L0_SAW_SPRING_FLAG==0) THEN56 L0_SAW_SPRING=L_DIR_VEC57 L0_SAW_SPRING_FLAG=158 59 I_P1_SAW=060 I_P2_SAW=061 62 DO I=2,RIGBOD(1,RB1_SAW)+163 IF (RIGBOD(I,RB1_SAW) == P1_SAW) THEN64 I_P1_SAW=I-165 EXIT66 ENDIF67 ENDDO68 69 DO I=2,RIGBOD(1,RB2_SAW)+170 IF (RIGBOD(I,RB2_SAW) == P2_SAW) THEN71 I_P2_SAW=I-172 EXIT73 ENDIF74 ENDDO75 76 IF (I_P1_SAW == 0 .OR. I_P2_SAW == 0) THEN77 CALL ERROR_MESSAGE(114)78 ENDIF79 80 P1_APP=BODYPNT(((I_P1_SAW-1)*3+1):((I_P1_SAW-1)*3+3),RB1_SAW)81 P2_APP=BODYPNT(((I_P2_SAW-1)*3+1):((I_P2_SAW-1)*3+3),RB2_SAW)82 83 ENDIF84 85 F_VEC_N = K_SAW*(L_DIR_VEC - L0_SAW_SPRING)86 F_VEC = F_VEC_N*DIR_VEC_N87 88 DATA_OUT(1)=T_STEP89 DATA_OUT(2)=F_VEC_N90 DATA_OUT(3:5)=F_VEC(1:3)91 DATA_OUT(6)=L_DIR_VEC92 DATA_OUT(7:9)=DIR_VEC_N(1:3)93 DATA_OUT(10:12)=P1(1:3)94 DATA_OUT(13:15)=P2(1:3)95 96 CALL CONCENTR_FORCE(RB1_SAW,F_VEC,P1_APP)97 CALL CONCENTR_FORCE(RB2_SAW,-F_VEC,P2_APP)98 99 ELSE

100 DATA_OUT(1)=T_STEP101 DATA_OUT(2)=0.0102 DATA_OUT(3:5)=0.0103 DATA_OUT(6)=0.0104 DATA_OUT(7:9)=0.0105 DATA_OUT(10:12)=0.0106 DATA_OUT(13:15)=0.0107 ENDIF108 109 110 111 112 END

74