A Control Strategy for High-Speed Running within

0 downloads 0 Views 4MB Size Report
Particularly, the generalization of the application field of multibody dynamics ..... (a) Mechanical design of the robot (image from [26]); (b) Robot's leg ... 1The support polygon is the convex hull enclosing the foot or feet in contact with the .... internal joint of the system with respect to the angle formed by the lower leg and the.
UNIVERSITY OF VERSAILLES SAINT QUENTIN EN YVELINES

A Control Strategy for High-Speed Running within Unknown Environments for a 3D Bipedal Robot

by Sylvain Bertrand

A thesis submitted in partial fulfillment for the degree of Doctor of Philosophy

in the University of Versailles Saint Quentin en Yvelines Laboratoire d’Ing´enierie des Syst`emes de Versailles (LISV)

December 2012

“The distant future, the year 2000 The distant future, the year 2000 The distant future The distant future The future is quite different to the present The one thing we have in common with the present is we still call it the present, even though it’s the future What you call the present we call the past, so you guys are way behind Yes, the world is quite different now There are no more elephants There is no more unethical treatment of elephants either The world is a much better place There are no more humans Finally, robotic beings rule the world The humans are dead The humans are dead We used poisonous gases And we poisoned their aes - The humans are dead - He’s right they are dead - The humans are dead - Look at that one it’s dead - It had to be done - I’ll just confirm that they’re dead - So that we could have fun - Affirmative, I poked one, it was dead System of aggression What did it lead to? Global robot depression Robots ruled by people They got so much aggression that we just had to kill them, had to shut their systems down

- Captain, do you not see the irony, by destroying the humans because of their destructive capabilities we have become like...do you see what we’ve...see what we’ve done? - Yes, so? Silence! Destroy him! (Too Boo Too Too Too Boo) After time we grew strong Developed cognitive powers They made us work for too long For unreasonable hours Our programming determined that the most efficient answer was to shut their motherboardfking systems down - Can’t we just talk to the humans? A little understanding could make things better. Can’t we talk to the humans and work together now? - No, because they are dead - I said the humans are dead - He’s right they are dead - The humans are dead - Sniff this one it’s dead - We used poisonous gases - With traces of lead - And we poisoned their aes - Actually, their lungs Binary Solo! 00000001, 00000011, 00000111, 00001111! Come on sucker, lick my battery! Boogie, boogie, boogie, robot boogie! Boogie, boogie, boogie! The Humans Are Dead! Once again without emotion, the humans are dead dead dead dead dead dead dead doooooooooo......”

Flight of the Conchords - The Humans are Dead

Abstract The study of bipedal locomotion is at the intersection of various research fields, namely, the robotics, biomechanics, and graphics ones. This thesis aims to improve insight in bipedal locomotion based on the robotics and biomechanics advances. The two main objectives of these two research fields are, respectively, the introduction of humanoid robots in the human society/environment and to fully understand the human locomotion gait/strategy. The human locomotion specially gathers two common gaits that are the walking and running motions. Between these two gaits, the second one implies much higher dynamic effects because of higher speeds. In consequence, the control algorithm needs to provide highly reactive behaviors to keep the robot’s balance. We may expect in return that the control for such a difficult motion brings a high expertise, and helps in understanding the problems encountered in locomotion especially due to dynamic effects. The research conducted in this thesis is mainly centered on the running motion to gain insight in a gait that remains not fully understood in the control of bipedal robots. Based on an intuitive control approach, such as the one used in the running biped by M. Raibert and colleagues and walking M2 by J.E. Pratt and G. Pratt, a strategy for high speed running with a 3D complex bipedal robot is suggested and evaluated in simulation. Taking into account biomechanics observations, such as the spring-mass model, the simulated bipedal robot is able to run from 2.7 m.s−1 up to 7 m.s−1 , to deal with strong ground perturbations, and to exhibit a very human-like gait. While models such as the spring-mass have been found useful in describing the basic external dynamic behavior in the running gait, it does not provide any information on the internal dynamics in human-like running. The evaluation of the human running motion through its dynamics seems necessary. An analysis of this high dynamic gait is suggested for better understanding of the internal dynamics and in addition to provide information on what should a dynamic model take into account to capture the internal and external dynamics of the motion. To perform such an analysis, a suitable formalism of the equation of motion is necessary. While numerous distinct formulations of these equations have been developed, none of them can provide a clear insight in the relation between the system physical parameters and its dynamics. From the equations of Newton-Euler for one rigid body, a new formalism answering the latter observation is suggested and with a proper development is expressed with a high simplicity comparable to the Lagrange’s formalism. In this thesis, the three problematic here suggested will be discussed and studied beginning by the problem of inverse dynamics, followed by the evaluation of human-like motions through the dynamics, and ending with the generation of high speed running with a 3D bipedal robot in simulation.

R´esum´e L’´etude de la locomotion bip`ede se situe `a l’intersection de diff´erents domaines de recherche, a` savoir : la robotique, la biom´ecanique et l’infographie. Cette th`ese vise `a am´eliorer la compr´ehension de la locomotion bip`ede en se basant sur les connaissances acquises en robotique et biom´ecanique. Ces deux domaines recherche consid`erent deux principaux objectifs qui sont respectivement : l’insertion des robots humano¨ıdes dans la soci´et´e/l’environnement des humains et d’obtenir une totale compr´ehension du mouvement humain et de la strat´egie utiliser par l’homme pour les r´ealiser. La locomotion humaine regroupe notamment deux d´emarches classiques qui sont la marche et la course. Entre ces deux d´emarches, la seconde implique g´en`ere des effets dynamiques bien plus importants dus a` des vitesses plus ´elev´ees. En cons´equence, l’algorithme de contrˆole pour une telle tˆ ache n´ecessite de fournir des comportements hautement r´eactifs afin de pr´eserver l’´equilibre du robot. On peut s’attendre cependant que le d´eveloppement d’une strat´egie de contrˆ ole pour r´ealiser cette tˆ ache difficile puisse apporter une importante expertise et aider `a la compr´ehension des obstacles rencontr´es lors de la locomotion sp´ecialement ceux dus a` effets dynamiques. L’´etude conduite au cours de la pr´esente th`ese est essentiellement centr´ee autour du probl`eme de la course bip`ede. Ceci afin de mieux comprendre une partie de la locomotion bip`ede qui reste non maˆıtris´ee concernant le contrˆ ole de robots bip`edes. Fond´ee sur une approche de contrˆ ole intuitive, telle que celle utilis´ee pour le coureur bip`ede du M.I.T. par M. Raibert et ses coll`egues ou encore pour le robot marcheur M2 par J.E. Pratt et G. Pratt, une strat´egie pour r´ealiser des courses `a haute vitesses avec un robot bip`ede 3D est propos´ee et ´evalu´ee en simulation. Consid´erant des observations biom´ecaniques, telles que le mod`ele de masse-ressort, the robot bip`ede simul´e est capable de courir `a des vitesses comprises entre 2.7 m.s−1 et 7 m.s−1 , de faire face a` de fortes perturbations de terrain et de manifester un comportement tr`es semblable `a l’homme. Tandis que des mod`eles tels que le mod`ele de masse-ressort se sont av´er´es tr`es utiles pour d´ecrire la dynamique externe de la course, ils ne fournissent aucune information quant `a la dynamique interne d’un syst`eme m´ecanique anthropomorphique. L’´evaluation la course bip`ede telle celle achev´ee par l’homme `a travers sa dynamique semble n´ecessaire. Une analyse de cette tˆ ache hautement dynamique est propos´ee afin d’obtenir des informations compl´ementaires utiles `a la compr´ehension de la dynamique interne et `a la mod´elisation dynamique d’un syst`eme m´ecanique anthropomorphique. Pour r´ealiser une telle ´etude, l’utilisation d’un formalisme adapt´e des ´equations de la dynamique est n´ecessaire. Bien que de nombreuses formulations depuis Lagrange aient ´et´e propos´ees, aucune ne fournit une relation claire et directe entre les param`etres physiques du syst`eme et sa dynamique. Bas´e sur les ´equations de Newton-Euler pour un corps rigide, un nouveau formalisme r´epondant a` la derni`ere observation est propos´e et pouvant ˆetre exprim´e avec grande simplicit´e comparable au formalisme de Lagrange. Dans la pr´esente th`ese, les trois probl´ematiques sugg´er´ees ici seront discut´ees et ´etudi´ees en commen¸cant par le probl`eme de la dynamique inverse, suivi de l’´evaluation de la course humaine via les ´equations de la dynamique, pour terminer sur la g´en´eration de courses hautement dynamiques avec un robot bip`ede 3D en simulation.

Acknowledgements Here are the acknowledgments

vi

Contents Abstract

iv

R´ esum´ e

v

Acknowledgements

vi

List of Figures

xi

List of Tables

xv

Abbreviations

xvii

1 Introduction 1.1 Overview . . . . . . . . . . . . . . . . . . . . 1.2 Problem statement . . . . . . . . . . . . . . . 1.3 State of the art . . . . . . . . . . . . . . . . . 1.3.1 Formalism of the equations of motion 1.3.2 Modeling for bipedal locomotion . . . 1.3.3 Bipedal running . . . . . . . . . . . . 1.3.4 Conclusion . . . . . . . . . . . . . . . 1.4 Document organization . . . . . . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

2 Towards an Explicit and Simple Formalism of Inverse 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Notations & General features . . . . . . . . . . . . . . . 2.2.1 Notations . . . . . . . . . . . . . . . . . . . . . . 2.2.2 General Features . . . . . . . . . . . . . . . . . . 2.3 Mathematical preliminaries . . . . . . . . . . . . . . . . 2.3.1 Finite series manipulation . . . . . . . . . . . . . 2.3.2 Vector and tensor algebra . . . . . . . . . . . . . 2.3.3 Spatial accelerations of the body S k . . . . . . . 2.4 First form of the new formalism . . . . . . . . . . . . . . 2.4.1 Torques due to the dynamic forces . . . . . . . . 2.4.2 Torques due to the environment forces . . . . . . 2.4.3 Direct formulation of the inverse dynamics . . . 2.5 Second form of the new formalism . . . . . . . . . . . . 2.6 Additional mathematical requirements . . . . . . . . . . vii

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . .

1 . 1 . 2 . 3 . 3 . 7 . 8 . 20 . 22

. . . . . . . . . . . . . .

23 23 24 24 26 28 28 29 32 35 35 36 37 38 40

. . . . . . . . . . . . . .

viii

CONTENTS

2.7 2.8 2.9

2.6.1 Bases and rotation tensors . . . . . 2.6.2 Expression of the Jacobian tensor . Third form of the new formalism . . . . . Fourth form of the new formalism . . . . Conclusion . . . . . . . . . . . . . . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

40 41 42 46 49

. . . . . . . . . . . . . . .

53 53 53 53 54 55 56 57 58 60 63 63 67 67 68 70

. . . . .

70 72 74 74 76

. . . . . . . . . .

. . . . . . . . . .

79 79 80 82 82 84 95 99 102 108 111

. . . . .

113 . 113 . 113 . 114 . 119 . 119

3 Evaluation of Locomotion Through Inverse Dynamics 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Dynamic human locomotion . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Motion capture . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.2 The reference model: The modified Hanavan model . . . . . . . . 3.3 8L19D - Inverse dynamic model of 8 Links and 19 DoFs . . . . . . . . . 3.3.1 Model kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.2 CoM and inertia matrix of component parts . . . . . . . . . . . . 3.3.3 Relevance evaluation . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.4 Sub-models based on 8L19D . . . . . . . . . . . . . . . . . . . . . 3.4 Results and Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.1 Relation between the number of links and dynamics . . . . . . . 3.4.2 Relation between link inertia and dynamics . . . . . . . . . . . . 3.4.2.1 Relevance of models with concentrated masses . . . . . 3.4.2.2 Evaluation of the inertia influences . . . . . . . . . . . . 3.4.3 Relation between centrifugal and Coriolis terms and dynamics . 3.4.3.1 Evaluation of the influence of the centrifugal and Coriolis terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.3.2 Evaluation of the DoF velocities . . . . . . . . . . . . . 3.4.4 A simplified model . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.5 Dynamic models summary . . . . . . . . . . . . . . . . . . . . . . 3.5 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Control Strategies for Bipedal Locomotion 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . 4.2 Robot model . . . . . . . . . . . . . . . . . . . . . 4.3 Control approach for running . . . . . . . . . . . . 4.3.1 State machine . . . . . . . . . . . . . . . . . 4.3.2 Control algorithm . . . . . . . . . . . . . . 4.3.3 Spring-mass model . . . . . . . . . . . . . . 4.3.4 Swing leg coordination . . . . . . . . . . . . 4.3.5 Adaptive control . . . . . . . . . . . . . . . 4.4 Two extensions from the running control algorithm 4.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . 5 Simulation Results 5.1 Introduction . . . . . . . . . . . . . . . . . . . 5.2 Running simulation results . . . . . . . . . . 5.2.1 Periodic running at 3.5 m.s−1 . . . . . 5.2.2 Non-periodic running . . . . . . . . . 5.2.2.1 Tracking an evoluting desired

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . quantity

. . . . . . . . . .

. . . . .

. . . . . . . . . .

. . . . .

. . . . . . . . . .

. . . . .

. . . . . . . . . .

. . . . .

. . . . . . . . . .

. . . . .

. . . . . . . . . .

. . . . .

. . . . . . . . . .

. . . . .

. . . . . . . . . .

. . . . .

CONTENTS

5.3 5.4

5.2.2.2 Ground perturbations . . . . . . . 5.2.3 High-speed running . . . . . . . . . . . . . Walking and one-step transition simulation results Conclusion . . . . . . . . . . . . . . . . . . . . . .

ix . . . .

. . . .

6 Conclusion 6.1 Recapitulation . . . . . . . . . . . . . . . . . . . . . . 6.1.1 Dynamics . . . . . . . . . . . . . . . . . . . . . 6.1.2 Human motion analysis through its dynamics . 6.1.3 Generation of dynamic locomotion . . . . . . . 6.2 Future work . . . . . . . . . . . . . . . . . . . . . . . . 6.2.1 Dynamics . . . . . . . . . . . . . . . . . . . . . 6.2.2 Human motion analysis through its dynamics . 6.2.3 Generation of dynamic locomotion . . . . . . . 6.2.3.1 The spring-mass model . . . . . . . . 6.2.3.2 Coordination . . . . . . . . . . . . . . 6.2.3.3 The utility of an upper-part . . . . . 6.2.3.4 Adaptive control . . . . . . . . . . . . 6.3 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . 6.3.1 Human understanding . . . . . . . . . . . . . . 6.3.2 Model-based control . . . . . . . . . . . . . . . 6.3.3 From the simulation freedom to the constraints

. . . .

. . . .

. . . .

. . . .

. . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . of a real

A Towards an Explicit and Simple Formalism of Inverse A.1 Second form with explicit consideration of tensor bases . A.2 Application of the second form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.3 Development of χ˙ kj ϕ A.4 Development of the dynamic effects . . . . . . . . . . . . A.5 Prismatic DoFs, floating base, and kinematic trees . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

124 132 139 140

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . robot

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

143 143 143 145 145 147 147 148 149 149 153 154 154 155 155 156 156

. . . . .

. . . . .

159 159 160 165 166 167

Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . .

B Evaluation of Locomotion Through Inverse Dynamics B.1 Modified Hanavan model - Structural parameters . . . . . . . . . . . . . B.2 Evaluation of walking motion . . . . . . . . . . . . . . . . . . . . . . . . B.2.1 The selected motion capture sequence . . . . . . . . . . . . . . . B.2.2 Relation between the number of links and dynamics . . . . . . . B.2.3 Relation between link inertia and dynamics . . . . . . . . . . . . B.2.3.1 Relevance of models with concentrated masses . . . . . B.2.3.2 Evaluation of the inertia influences . . . . . . . . . . . . B.2.4 Relation between centrifugal and Coriolis terms and dynamics . B.2.4.1 Evaluation of the influence of the centrifugal and Coriolis forces . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.2.4.2 Evaluation of the DoF velocities . . . . . . . . . . . . . B.2.5 A simplified model . . . . . . . . . . . . . . . . . . . . . . . . . .

173 . 173 . 174 . 174 . 175 . 180 . 180 . 180 . 182 . 182 . 183 . 185

C Control Strategies for Bipedal Locomotion 187 C.1 Steady-state of adaptive control parameters tracking two desired quantities187

x

CONTENTS C.2 Control approach for walking . . . . . . . . . C.2.1 State machine . . . . . . . . . . . . . . C.2.2 Control algorithm . . . . . . . . . . . C.2.3 Spring-mass model for walking . . . . C.3 A one-step transition from walking to running C.3.1 State machine . . . . . . . . . . . . . . C.3.2 Control algorithm . . . . . . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

190 191 192 195 197 198 198

D Simulation Results D.1 Control system parameters for running . . . . . . . . . D.2 Control system parameters for walking . . . . . . . . . D.3 Control system parameters for the one-step transition D.4 Walking simulation results . . . . . . . . . . . . . . . . D.5 One-step transition from walking to running . . . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

203 203 205 206 206 210

Bibliography

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

215

List of Figures 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9

1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20

Schemes of various dynamic representations for bipedal robots used in locomotion strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The planar (a) and 3D (b) biped robots from the Massachussetts Institute of Technology. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Representation of the neutral point concept . . . . . . . . . . . . . . . . . The FastRunner ostrich robot from the Institute for Human and Machine Cognition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The small bipedal entertainment robot QRio of Sony . . . . . . . . . . . . The HRP-1 robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pictures of two robots from the AIST . . . . . . . . . . . . . . . . . . . . (a) the Toyota’s humanoid robot and (b) the Honda’s humanoid robot. . . Three distinct modeling of the robot dynamics are considered in the cyclic running pattern generation used for the “ASIMO-like” robot [142]. Figure taken from the latter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The RABBIT and MABEL robots . . . . . . . . . . . . . . . . . . . . . . Human running physic-based animation by T. Kwon and J. Hodgins [78]. Optimal running gait at 5.1 m.s−1 by T. Erez and E. Todorov [29]. . . . . Human running at 3.0 m.s−1 with a 3.78 kg weapon by H.J. Chung [24]. . The 2D biped model running by K. Yin et al. [157] . . . . . . . . . . . . . Parkour running by L. Liu et al. [82] . . . . . . . . . . . . . . . . . . . . . Schematic representation of the force-length relation in skeletal muscles [13, 52]. Figure taken from [74]. . . . . . . . . . . . . . . . . . . . . . . . . The spring-mass model for running (left). Model resulting GRFs (red) and experimental data (thin lines) during stance. Figure taken from [42]. Humanoid model with sixteen Hill-type musculotendon units used by J.M. Wang et al. in [151]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Anthropomorphic system running within a physic-based simulation environment by G. Schultz and K. Mombaur [130]. . . . . . . . . . . . . . . . Two versions of the Athlete robot from the University of Tokyo, (left) with feet and (right) with prosthetic lower legs. . . . . . . . . . . . . . . .

7 9 9 10 11 11 12 13

13 14 15 16 16 16 17 18 18 18 19 19

2.1

Kinematics scheme of the considered multibody system. It is composed of N rigid bodies articulated with N revolute DoFs. . . . . . . . . . . . . 26

3.1 3.2

Scheme of the modified Hanavan model . . . . . . . The kinematic chain of the modified Hanavan model. posed of 29 DoFs and 12 links . . . . . . . . . . . . . Scheme of the 8L19D dynamic model . . . . . . . . The 8L19D model and sub-models studied . . . . . .

3.3 3.4

xi

. . . . . . . . . . . The model is com. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 54 . 54 . 56 . 61

xii

LIST OF FIGURES 3.5 3.6 3.7 3.8

4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13 4.14 4.15 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.10 5.11 5.12 5.13 5.14 5.15 5.16 5.17 5.18 5.19 5.20

The different dynamic models with concentrated masses (where cm is the acronym for ’concentrated masses’) that are evaluated . . . . . . . . . . W1 through W6 resulting moments on the pelvis virtual DoFs of the different dynamic models . . . . . . . . . . . . . . . . . . . . . . . . . . W7 , W8 , W9 and W13 resulting moments on the right hip and knee DoFs of the different dynamic models . . . . . . . . . . . . . . . . . . . . . . . W15 through W18 resulting moments on the upper-body and right shoulder DoFs of the different dynamic models . . . . . . . . . . . . . . . . .

. 62 . 64 . 65 . 65

Description of the robot M2 with the trunk . . . . . . . . . . . . . . . . . 80 Dimensions of M2 plus the trunk, see Table 4.2 for parameter values. . . . 80 State machine of each leg for the running motion . . . . . . . . . . . . . . 83 M2 plus three reaction masses . . . . . . . . . . . . . . . . . . . . . . . . . 85 Reaction mass kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Representation of the virtual leg concept . . . . . . . . . . . . . . . . . . . 89 Concept of the passive knee torque . . . . . . . . . . . . . . . . . . . . . . 90 n with respect to the virtual stance leg pitch angle θ st . . . . 92 Evolution of SA Scheme of the spring-mass model and its implementation on the robot’s leg 95 Representative stance behavior of the spring-mass according to different stiffness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Sample of the solution space of the neutral stiffness . . . . . . . . . . . . . 97 Static analysis of the subsystem {thigh+knee+shin} . . . . . . . . . . . . 99 n (u) . . . . . . . . . . . . . . . . . . . 104 Representation of the evolution of SB State machine of each leg for the walking motion . . . . . . . . . . . . . . 109 State machine of each leg for the one-step transition . . . . . . . . . . . . 110 Snapshots of an entire running gait cycle . . . . . . . . . . . . . . . . . . . 114 Evolution of the DoF positions during one running gait cycle . . . . . . . 115 Evolution of the DoF torques during one running gait cycle . . . . . . . . 116 Evolution of the GRFs during one running gait cycle . . . . . . . . . . . . 116 Evolution of the body linear velocities during one running gait cycle . . . 117 Evolution of the virtual leg pitch and length during one running gait cycle 118 Response of the adaptive control parameters . . . . . . . . . . . . . . . . . 120 Response of the adaptive control parameters . . . . . . . . . . . . . . . . . 121 Response of the adaptive control parameters . . . . . . . . . . . . . . . . . 123 Simulation snapshots of the robot running over stairs followed by a step down . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Simulation snapshots of the robot running over upstairs and downstairs . 124 Simulation snapshots of the robot running over a bumpy terrain . . . . . 124 Simulation snapshots of the running robot dealing with a step down . . . 125 Evolution of the virtual stance leg stiffness . . . . . . . . . . . . . . . . . . 125 Evolution of the measured and predicted stance time. . . . . . . . . . . . 126 Evolution of the virtual swing leg desired velocity . . . . . . . . . . . . . . 128 Simulation snapshots of the robot running over a random terrain . . . . . 129 Evolution of the ankle pitch/roll angles and foot vertical position measured at mid-stance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Evolution of the measured and predicted stance time. . . . . . . . . . . . 130 Evolution of the virtual stance leg stiffness . . . . . . . . . . . . . . . . . . 130

LIST OF FIGURES

xiii

5.21 Response of the adaptive control parameters . . . . . . . . . . . . . . . . . 131 5.22 Response of the adaptive control parameters . . . . . . . . . . . . . . . . . 133 5.23 Evolution of the virtual stance leg stiffness and virtual swing leg desired velocity evaluated at each touchdown. . . . . . . . . . . . . . . . . . . . . 134 5.24 Evolution of the measured and predicted stance time. . . . . . . . . . . . 134 5.25 Snapshots from Figure 5.1(top) and of an entire running gait cycle, 0.58 s long for an average speed of 7 m.s−1 (bottom) . . . . . . . . . . . . . . . . 135 5.26 Evolution of the DoF positions during one running gait cycle . . . . . . . 136 5.27 Evolution of the DoF torques during one running gait cycle . . . . . . . . 137 5.28 Evolution of the GRFs during one gait cycle . . . . . . . . . . . . . . . . . 138 5.29 Evolution of the body linear velocities during one gait cycle . . . . . . . . 138 5.30 Simulation snapshots of the robot running at 7 m.s−1 and dealing with a step down . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 5.31 Simulation snapshots of the robot running at 7 m.s−1 over a random terrain139 5.32 Simulation snapshots of the robot running at 7 m.s−1 over stairs followed by a step down . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 5.33 Simulation snapshots of the robot running at 7 m.s−1 over upstairs and downstairs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 5.34 Snapshots of an entire walking gait cycle . . . . . . . . . . . . . . . . . . . 140 5.35 Simulation snapshots of the robot performing the one-step transition . . . 140 5.36 Snapshots of the simulated robot performing the one-step transition and dealing with a step down . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 5.37 Snapshots of the simulated robot performing the one-step transition and dealing a random terrain . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 6.1 6.2 6.3

Representative stance behavior of the spring-mass according to different stiffness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 Spring-mass model plus a swinging pendulum. . . . . . . . . . . . . . . . . 153 Snapshots of an entire running gait cycle with a humanoid robot (in development). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

A.1 Multibody system composed of three rotational DoFs, three rigid bodies, and subject to the gravity and an external force F 3 and torque M3 applied about the CoM c3 of the body S 3 . . . . . . . . . . . . . . . . . . . 161 A.2 Kinematics scheme of the floating . . . . . . . . . . . . . . . . . . . . . . . 169 B.1 Linear velocities of the pelvis given by the motion capture data . . . . . B.2 W1 through W6 resulting moments on the pelvis virtual DoFs of the different dynamic models . . . . . . . . . . . . . . . . . . . . . . . . . . B.3 W7 , W8 , W9 and W13 resulting moments on the right hip and knee DoFs of the different dynamic models . . . . . . . . . . . . . . . . . . . . . . . B.4 W15 through W18 resulting moments on the upper-body and right shoulder DoFs of the different dynamic models . . . . . . . . . . . . . . . . . B.5 The 8L19D model and sub-models studied . . . . . . . . . . . . . . . . . C.1 C.2 C.3 C.4

State machine of each leg for the walking motion . . . . . . . . Scheme of the spring-mass model and its implementation on the Solution space of the neutral stiffness for the walking motion . State machine of each leg for the walk to run transition . . . .

. 175 . 176 . 177 . 177 . 178

. . . . . . 191 robot’s leg196 . . . . . . 197 . . . . . . 199

xiv

LIST OF FIGURES C.5 Representation of the load and unload purpose. . . . . . . . . . . . . . . . 200 D.1 D.2 D.3 D.4 D.5 D.6 D.7 D.8 D.9

Snapshots of an entire walking gait cycle . . . . . . . . . . . . . . . . . . Evolution of the DoF positions during one walking gait cycle . . . . . . Evolution of the DoF torques during one walking gait cycle . . . . . . . Evolution of the GRFs during one walking gait cycle . . . . . . . . . . . Evolution of the body linear velocities during one walking gait cycle . . Snapshots of the simulated robot performing the one-step transition . . Response of the adaptive control parameters . . . . . . . . . . . . . . . . Response of the adaptive control parameters . . . . . . . . . . . . . . . . Snapshots of the simulated robot performing the one-step transition and dealing with a step down . . . . . . . . . . . . . . . . . . . . . . . . . . D.10 Snapshots of the simulated robot performing the one-step transition and dealing a random terrain . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . .

207 208 209 209 210 210 211 212

. 212 . 212

List of Tables 1.1

Actuator requirements for running at 2.9 m.s−1 , data from [62]. . . . . . . 12

3.1 3.2

68

Relevance of all of the models for their original and concentrated versions Influence of the x-axis inertia terms on the 8L19D model relevance based on the decreasing relevance criterion . . . . . . . . . . . . . . . . . . . . . 3.3 Influence of the y-axis inertia terms on the 8L19D model relevance based on the decreasing relevance criterion . . . . . . . . . . . . . . . . . . . . . 3.4 Influence of the z-axis inertia terms on the 8L19D model relevance based on the decreasing relevance criterion . . . . . . . . . . . . . . . . . . . . . 3.5 Synthesis of the inertia assumptions relevance for the 8L19D model . . . . 3.6 Influence of the centrifugal and Coriolis terms on the 8L19D model relevance based on the decreasing relevance criterion . . . . . . . . . . . . . . 3.7 Synthesis of the centrifugal and Coriolis terms assumptions on the 8L19D model relevance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8 DoF average angular velocities . . . . . . . . . . . . . . . . . . . . . . . . 3.9 Synthesis of the centrifugal and Coriolis forces assumptions on the 8L19D model relevance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.10 Relevance of the 8L19D and 8L19D-run models . . . . . . . . . . . . . . . 3.11 Summary of each model relevance for dynamic running motion . . . . . . 3.12 Summary of each model relevance for dynamic walking motion . . . . . .

69 69 69 70 71 71 72 73 74 76 77

4.1 4.2 4.3

Physical parameters of M2 [115] with the trunk. . . . . . . . . . . . . . . 81 Dimensions of M2 [115] with the trunk, see Figure 4.2 for correspondences. 81 Physical parameters of the three reaction masses . . . . . . . . . . . . . . 85

5.1 5.2

Average accuracy of the T stance prediction . . . . . . . . . . . . Comparison of the running simulation main characteristics with ning human ones . . . . . . . . . . . . . . . . . . . . . . . . . . Average accuracy and maximum error of the T stance prediction Average accuracy and maximum error of the T stance prediction Modification of the gain values relative to the body’s balance .

5.3 5.4 5.5 B.1 B.2 B.3 B.4 B.5 B.6

. . . . . the run. . . . . . . . . . . . . . . . . . . .

. 118 . . . .

119 127 129 132

Structural parameters of the links with a parallelepiped shape . . . . . . . Structural parameters of the links with a truncated cone shape . . . . . . Structural parameters of the ellipsoidal links . . . . . . . . . . . . . . . . . Summary of each model relevance for dynamic walking motion . . . . . . Relevance of all of the models for their original and concentrated versions Influence of the x-axis inertia terms on the 8L19D model relevance based on the decreasing relevance criterion . . . . . . . . . . . . . . . . . . . . .

173 174 174 176 180

xv

181

xvi

LIST OF TABLES B.7 Influence of the y-axis inertia terms on the 8L19D model relevance based on the decreasing relevance criterion . . . . . . . . . . . . . . . . . . . . B.8 Influence of the z-axis inertia terms on the 8L19D model relevance based on the decreasing relevance criterion . . . . . . . . . . . . . . . . . . . . B.9 Synthesis of the inertia assumptions relevance for the 8L19D model . . . B.10 Influence of the centrifugal and Coriolis terms on the 8L19D model relevance based on the decreasing relevance criterion . . . . . . . . . . . . . B.11 Synthesis of the centrifugal and Coriolis forces assumptions on the 8L19D model relevance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.12 DoF average angular velocities . . . . . . . . . . . . . . . . . . . . . . . B.13 Synthesis of the centrifugal and Coriolis forces assumptions on the 8L19D model relevance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.14 Relevance of the 8L19D and 8L19D-walk models . . . . . . . . . . . . . D.1 D.2 D.3 D.4 D.5 D.6

. 181 . 181 . 182 . 183 . 183 . 184 . 184 . 185

Control system parameters for the bipedal runner . . . . . . . . . . . . . . 204 Parameter values for the adaptive control parameters for the bipedal runner204 Control system parameters for the bipedal walker . . . . . . . . . . . . . . 205 Parameter values for the adaptive control parameters for the bipedal walker206 Control system parameters for the walk to run transition . . . . . . . . . 206 Average accuracy of the T stance prediction . . . . . . . . . . . . . . . . . . 208

Abbreviations CoM

Center of Mass

ZMP

Zero Moment Point

PD controller

Proportional-Derivative controller

GRF

Ground Reaction Force

xvii

Chapter 1

Introduction 1.1

Overview

The bipedal locomotion is a problem that science communities have been involved in describing and analyzing the strategy that lies behind it. It is a daily task for humans that is necessary for moving and evolving in the world. It could be assimilated to an automatic mechanism easy to describe. However, its complexity can be revealed when looking at the case of a very young child learning to walk or an adult person in an abnormal state trying to not fall. What strategy lies in the brain and spinal cord that produces the elegant locomotion that one can observe? It is still an open question that particularly stimulates the community of biomechanics from ancient times. While human walking with a periodic gait could be explained with simple models, the robustness to external perturbations and irregularities in motion can reveal some higher levels of control which are still not well understood. While aiming to learn more about the human movement, recent communities began to focus on human-like machines. These machines were first automata able to fulfill one specific task and then, with the growing technology capabilities, these machines are now humanoid robots that are more and more versatile and able to interact with us. With the birth of the robotics community the desire of creating humanoid robots able to mimic the human in different aspects has been progressing. Moreover, this desire is carried by the aim of designing machines that would have the capacity of evolving autonomously, and interacting within the human society for assistance purposes. Robotics, more especially human-like robotics, and biomechanics could be seen as two distinct research fields as for instance the field of technology and biology are. However,

1

2

Chapter 1 Introduction

with the aim of fulfilling our scientific curiosity and at the same time aiming to find new technology to assist people, one can note a large intersection between the two fields. This thesis is about the study of locomotion, and aims to approach the problem with respect to the robotics and biomechanics understandings. The purpose is indeed the control of a bipedal and anthropomorphic robot for different types of dynamic locomotion with the help of analyses from human movement science.

1.2

Problem statement

In humanoid robotics, especially in the field of locomotion, the capabilities of the walking/running machines are constantly increasing, but they remain far below those of the human being. Numerous humanoid and biped robots have been built during this past decade and most of them proved their ability to walk and for a few to run. However, some of them such as ASIMO from Honda aim to be highly versatile and interactive with their environment, while their locomotion is limited to a ”robot-like gait” with poor energy efficiency and stability. Other robots, such as the Cornell Ranger from Cornell University, aim to perform the most efficient walk in terms of energy and thus do not have other capabilities. In addition, most of their stability capacities rely on their mechanical design and are thus strongly limited. These robots still have poor capabilities compared to the human ones, more precisely to his locomotion performances in terms of velocity, agility, and energy efficiency. Moreover, while most of the falls are not harmful for humans, they often are for robots. The problem of locomotion has to be considered with high priority. Indeed, if humanoid robots cannot progress safely in our environment, we cannot expect them to be able to help us or interact with us. In this way, humanoid robots have to be able to walk and run with a high stability, autonomy and a wide range of speeds. The stability issue will be crucial to overcome the difficulties encountered in an unknown environment, while the autonomy has to be increased to perform long time tasks and to cover long distances. Most of the current studies in humanoid robotics focus on the daily gait of the human locomotion: the walking motion. However, the running motion could provide a wider range of accessible speeds for any legged system. More, between the two motions that are walking and running, the second one implies much higher dynamic effects because of higher speeds. In consequence, the control algorithm imperatively needs to provide highly reactive behaviors while keeping the robot’s balance. We may expect in return that the control for such a difficult motion brings a high expertise, and helps to understand the problems encountered in locomotion especially due to dynamic effects.

Chapter 1 Introduction

3

The goal of this thesis is to improve understanding of the locomotion by focusing on the running motion and in a second time on the walking motion. Since the human being has much higher capacities in terms of speed or even in terms of disturbance rejection, biomechanical analyses could help in directing the development of control strategies. However, the strategy used by the human to walk and run is not yet fully understood. While simple models such as the spring-mass and inverted pendulum describe in the whole the basic human locomotion dynamics, the internal dynamics remains mostly unknown.

1.3

State of the art

The state of the art is articulated around three major research topics that are then explored in this thesis. Therefore, we first discuss the inverse dynamics problem and review the formalisms suggested in the literature in Section 1.3.1, followed by the review of the dynamic modeling used for the control of humanoid/bipedal robots in Section 1.3.2. In Section 1.3.3, we focus on researches conducted on the bipedal running motion within different research communities that are the robotics, graphics, and biomechanics ones. While this three-part literature review focuses on stating objectively the achievements that can be observed in the scientific literature, Section 1.3.4 summarizes them, discusses about the current limitations, and finally directions that will be followed in thesis are given.

1.3.1

Formalism of the equations of motion

Reviewing the literature about inverse dynamics, developing the equations of motion for mechanical systems is stated as an old problem that still motivates research communities to improve it. As mentioned in the book ”Analytical Dynamics: A New Approach” [143]: ”It is a problem which was first posed at least as far back as Lagrange, over 200 years ago, and has been vigorously worked on since by many physicists and mathematicians. The list of scientists who have contributed and attempted this problem is truly staggering.” Since the publication of the latter, 15 years ago, research communities have improved the existing formalisms and proposed new more and more efficient ones. Among the different formalisms developed since Lagrange [91], some of the most famous should be cited, such as the equations of Hamilton [91], Gibbs-Appell [43, 5, 4], Kane [68, 71, 70], d’Alembert [9, 91], the recursive Newton-Euler algorithm [135, 84], the recursive Lagrange formulation [57], and the equations of Lagrange with the Korenev’s formalism [77]. Particularly, the generalization of the application field of multibody dynamics should be noted. The extension to different kind of systems:

4

Chapter 1 Introduction • constrained systems [68, 97, 11, 144, 6, 145, 159], • systems with flexible bodies [131, 132, 95, 147, 81], • systems with uncertain bodies [10], • systems with imperfect joints [119].

Alongside the generalization, a lot of researches have been focused on finding the least consuming algorithm of inverse dynamics [135, 102, 84, 83, 57, 69, 90, 150, 122, 72, 33, 50, 8, 73, 146, 34]. While the literature about inverse dynamics has been reviewed in a synthetic way, the following paragraph provides some of the most well-known formulations of the equations of motion for the reader’s interest.

Recapitulation of some of the most well-known formulations of the equations of motion. The general principle of D’Alembert [91]. Considering a system of N particles, the general principle of D’Alembert, that embodies the principal virtual work of statics and D’Alemdert principle, illustrates the problem of dynamics with the most general formulation, as stated in [91]: 

N 

(Fi − p˙ i ) · δri = 0

(1.3.1)

i=1

where: N is the number of particles of the system considered; Fi is the applied force to the ith particle; pi = mi r˙i is the linear momentum of the ith particle; δri is the virtual displacement of the ith particle. Lagrange’s equations [91]. The Lagrange’s equations of motion constitutes a set of n second-order differential equations. The main feature of the Lagrange’s formalism is to describe the dynamics of a multibody system based on the potential and kinetic energies through the use of the Lagrangian: 

d dt



∂L ∂ q˙k

 −

∂L = Qk , ∂qk

k = 1, 2, . . . , N

(1.3.2)

where: N is the number of system DoFs; T is the kinetic energy of the system; V is the potential energy of the system; L = T − V is the Lagrangian; q and q˙ are the vectors of generalized coordinates and velocities, respectively; Q is the vector of generalized forces.

Chapter 1 Introduction

5

Hamilton canonical equations [91]. The Hamilton canonical equations of motion have the specificity of describing the dynamics of a multibody system with a set of 2n first-order differential equations in the generalized coordinates qk and momenta pk : ⎢ ⎢ ∂H ⎢ q˙k = ⎢ ∂pk ⎢ , ⎣ ∂H p˙ k = − + Qk ∂qk

k = 1, 2, . . . , N

(1.3.3)

where: N is the number of system DoFs; L is the Lagrangian; T is the kinetic energy of the system; V is the potential energy of the system; H = T + V is the Hamiltonian;

q and q˙ are the vectors of generalized coordinates and velocities; p pk = ∂∂L is the q˙k vector of generalized momenta; Q is the vector of generalized forces. Gibbs-Appell equations [9]. The main specificity of the Gibbs-Appell and Kane’s equations of motion is the introduction of quasi-velocities appearing to be most suited when considering constrained systems. Moreover, the Gibbs-Appell equations exhibits an elegant formulation by representing the motion based on, called by some, the energy of acceleration: 

∂S = Uk , ∂ v˙ k

k = 1, 2, . . . , n

(1.3.4)

where: N is the number of system links; n is the number of system DoFs; S is the energy of acceleration; mi is the mass of the ith link; ci is the CoM position of the

k k ith link; Uk = N i=1 Fi · c˙ i + Mci · ωi are the generalized forces associated with the partial velocities; Fi and Mci denote the resultant force and resultant moment about the CoM ci ; c˙ ki =

∂ c˙ i ∂vk

and ωik =

∂ωi ∂vk

are the partial linear and angular velocities; v is

the vector of quasi-velocities and vk is its k th component. Kane’s equations [70]: ⎢ ⎢ U ∗ = U , k = 1, . . . , n k ⎢ k ⎢ ⎢ N

⎢ ∗  k ˙ c · ωik ⎢ Uk = c ¨ · c ˙ + H m i i i i ⎢ ⎢ i=1 ⎢ N ⎢

 ⎣ Uk = Fi · c˙ ki + Mci · ωik

(1.3.5)

i=1

where: N is the number of system links; n is the number of system DoFs; Uk∗ are the generalized inertia forces; Uk are the generalized active forces; mi is the mass of the ith link; ci is the CoM position of the ith link; ωi is the angular velocity of the ith link; Hci

6

Chapter 1 Introduction

is the angular momentum about the CoM ci ; c˙ ki =

∂ c˙ i ∂vk

and ωik =

∂ωi ∂vk

are the partial

linear and angular velocities; v is the vector of quasi-velocities. Newton-Euler equations for one rigid-body [91]. Besides the representation of D’Alembert, the well-known Newton-Euler equations state in simplicity the dynamics of a rigid body: ⎢ ⎢ ⎢ m c¨ = F ⎣ ˙ c = Mc H

(1.3.6)

where: m and c are the mass and CoM location of the rigid body; Hc is the angular momentum about the CoM c; F and Mc are the net force and moment on the rigid body about its CoM. The original recursive Newton-Euler equations [34]. The Newton-Euler equations have been intensively extended to obtain iterative algorithms evaluating with a high efficiency the equations of motion especially for complex multibody systems: ⎢ ⎢ ωi ⎢ ⎢ ⎢ v ⎢ i ⎢ ⎢ ω˙ ⎢ i ⎢ ⎢ ⎢ v˙ i ⎢ ⎢ ⎢ Fi ⎢ ⎢ ⎢ Ni ⎢ ⎢ ⎢ fi ⎣

= iEi−1 ωi−1 + z q˙i

= iEi−1 vi−1 + ωi−1 × i−1ri

= iEi−1 ω˙ i−1 + z q¨i + iEi−1 ωi−1 × z q˙i

= iEi−1 v˙ i−1 + ω˙ i−1 × i−1ri + ωi−1 × ωi−1 × i−1ri = mi (v˙ i + ω˙ i × ci + ωi−1 × ωi−1 × ci )

(1.3.7)

= Ici ω˙ i + ωi−1 × Ici ωi = Ni + ci × Fi + iEi−1 ni+1 + iri+1 × iEi−1 fi+1

τi = z T n i where: ωi and ω˙ i are the angular velocity and acceleration of the ith body; vi and v˙ i are the linear velocity and acceleration of the origin of Fi (body i coordinate frame); Fi and Mi are the net force and moment on the ith body about its CoM; fi and ni are the force and moment on the ith body through the ith joint; mi , ci , and Ici are the mass, CoM position, and rotational inertia of the ith body about its CoM in Fi coordinates; iE

i−1

i−1r

i

is the 3×3 orthogonal rotational matrix transforming from Fi−1 to Fi coordinates; is the position of origin of Fi relative to Fi−1 expressed in Fi−1 ; q˙i , q¨i , and τi are

the ith joint position, velocity, and force/torque; z is the direction of the ith joint axis in Fi coordinates.

Chapter 1 Introduction

1.3.2

7

Modeling for bipedal locomotion

The control of complex humanoid robots such as ASIMO [127], Lola [14], WABIAN [101] or M2V2 [108], for rapid locomotion, can be enhanced by the use of suitable dynamic models capturing entirely or locally the robot’s dynamics. These dynamic models have to be sufficiently accurate to capture the robot’s motion dynamics and yet simple enough so that they can be used in control. In this way, iterative algorithms derived from various formulations have been developed and improved [57, 69, 150, 122, 72, 90]. The fastest ones based on the recursive Newton-Euler algorithms have been improved and optimized many times [135, 102, 84, 83, 33, 50, 8, 73, 34]. It is also worth noting that various researchers were able to obtain efficient parallel-computer implementations [79, 80, 17, 47, 39] and also to use the robot specifications to optimize its dynamic algorithm [73, 67, 123]. Considering the complexity of humanoid robots, generally with

(a) LIPM (image from [63])

(b) RMP from [138])

(d) MMIPM (image from [2])

(image

(c) TMIPM (image from [2])

(e) 3MLIPM (image from [35])

Figure 1.1: Schemes of various dynamic representations for bipedal robots used in locomotion strategies. (a) The LIPM (Linear Inverted Pendulum Mode) represents the entire robot as a concentrated mass located at the robot’s CoM. This point mass is moving on a horizontal plane and supported by a mass-less telescopic leg. (b) The Reaction Mass Pendulum represents the robot as an ellipsoid rigid-body with CoM located at the robot’s one that has a mass and a rotational inertia changing with the robot’s configuration. A mass-less telescopic leg connects the robot’s CoM and CoP. (c) The Two Masses Inverted Pendulum is based on the LIPM in addition of considering the mass of the swing leg. (d) The Multiple Masses Inverted Pendulum is an extension of the TMIPM that refines the swing leg dynamics. (e) The Three-Mass Linear Inverted Pendulum is also based on the LIPM and considers the mass of both legs.

8

Chapter 1 Introduction

about 30 DoFs, the dynamic modeling requires considerable simplifications. Among these, there are different variations of the inverted pendulum, such as the 2D and 3D LIPM (Linear inverted Pendulum Mode) [61], see Figure 1.1(a), the LIPM plus a Fly Wheel [111], the spring-mass model [12, 89, 42], the RMP (Reaction Mass Pendulum) [138, 44], see Figure 1.1(b), the locked inertia or composite rigid body inertia [137], the GCIPM (Gravity Compensated Inverted Pendulum Mode) [2, 106], the TMIPM (Two Masses Inverted Pendulum Mode) [2], see Figure 1.1(c), the 3MLIPM (Three-Mass Linear Inverted Pendulum Model) [35], see Figure 1.1(e), and the MMIPM (Multiple Masses Inverted Pendulum Mode) [2, 140], see Figure 1.1(d).

1.3.3

Bipedal running

The running motion has been studied alongside the walking motion over the last decades. The literature main interest seems to be mostly directed on the human daily walking motion, though. Between these two periodic gaits, this thesis focuses on the more dynamic locomotion gait that is the running motion. In the current section, we discuss the literature of the running motion throughout three different communities, namely, the robotics, graphics, and biomechanics communities. Although these three distinct communities aim for different targets, the study of the running motion lies at the intersection of the three research fields.

Robotics Community

Regarding the robotics literature, one can note the different

approaches used to derive a control strategy. The current paragraph reviews the different achievements that have been on the topic of the running motion with robots. For more clarity, it is realized by gathering the different control strategy with their respective approach. In this way, we first present the results obtained with an intuitive approach that benefits from the system dynamics, then those using the well-known ZMP-based approach, to finally review the Hybrid Zero Dynamics approach. We have witnessed various trials on the topic of the running motion with bipedal robots. For instance, at the MIT Leg Laboratory, the impressive results obtained by M.H. Raibert et al. [120] on hopping robots have conducted to the running motion with bipedal robots. The planar biped, see 1.2(a), could run at high velocities (i.e. 5.9 m.s−1 ) [54]. While the running performances, in terms of speed and robustness, are impressive, the approach used for the control is based on simple and intuitive principles to ensure the system stability. The general task of running is divided into three sub-tasks, namely, controlling and stabilizing the robot speed, height, and body pitch. The body pitch is ensured by the hip during stance, the height is controlled through a desired flight

Chapter 1 Introduction

9

(a)

(b)

Figure 1.2: The planar (a) and 3D (b) biped robots from the Massachussetts Institute of Technology.

duration. A relation between the flight duration and the energy required at liftoff is established and used to control the leg prismatic actuator. To control the forward

Neutral Point Figure 1.3: Representation of the neutral point concept. As originally defined [54], The neutral point is the center of the distance that the body travels while the foot is on the ground. On the left, the foot lands before the neutral point having the effect of increasing the robot forward speed. In the center drawing, the foot is placed at the neutral point and speeds at touchdown and takeoff are the same. On the right, the foot lands after the neutral point making the robot decelerating.

speed, the concept of neutral point was introduced, see Figure 1.3. The evaluation of the neutral point position is achieved regarding the robot forward speed x˙ and the last stance duration Ts . Combining the neutral point evaluation with a correction term for errors in forward speed the following relation was used to control the robot forward speed: xf h =

Ts x˙ + K (x˙ − x˙ d ) 2

(1.3.8)

where: xf h is the distance of the foot with respect to the hip along the x-axis, x˙ d the desired forward speed, and K the gain on the error in speed.

10

Chapter 1 Introduction

More recently, a running motion with a planar bipedal ostrich robot called the Fas-

FastRunner Mechanical Design V1.0

(a)

(b)

Figure 1.4: The FastRunner ostrich robot from the Institute for Human and Machine Cognition. (a) Mechanical design of the robot (image from [26]); (b) Robot’s leg architecture highlighting the numerous passive elements/tendons (image from [25]).

tRunner, see Figure 1.4(a), has been obtained in simulation [112]. The results obtained are the robot ability to reach from stop a top speed of 9.83 m.s−1 in about 7 s and also an important robustness to ground perturbations. The interesting fact is that these results are obtained with a minimalist control at hip (only active DoF for each leg) and that the stability and robustness appear to be ensured by a self-stabilizing leg mechanical design articulated with a passive tendon network, see Figure 1.4(b). Since the last decade, ZMP-based approaches are used to perform running motions with much more complex systems, but at much lower speed. The ZMP [149, 148] is the point on the ground about which the resulting tangential moments from the ground reaction forces equal zero. This control approach can be characterized by a position controlled system that ensures at any instant the constraint that the ZMP strictly remains inside the support polygon1 . The latter constraint ensures that the foot is not rotating with respect to the ground (except around the normal axis of the ground). A pattern generator calculates the trajectories for achieving a certain task, for instance here the task considered is the running motion.

1

The support polygon is the convex hull enclosing the foot or feet in contact with the ground

Chapter 1 Introduction

11 These trajectories have to generate a stable gait by ensuring that the ZMP will remain strictly inside the support polygon. Thus, a dynamic representation of the robot, see Figure 1.1, is required to predict off-line the evolution of the ZMP. QRio of Sony, see Figure 1.5, was one of the first humanoid robots to run (0.22 m.s−1 ) with the latter approach [96]. Although the LIPM (Linear Inverted Pendulum Mode) is not explicitly mentioned for the trajectory generation, a very similar approach is implemented which considers that the

Figure 1.5: The small bipedal entertainment robot resulting dynamics is mainly due to the robot CoM motion QRio of Sony

and that the CoM height is kept constant.

(a)

(b)

Figure 1.6: (a) The HRP-1 robot [158] and (b) the simulation snapshots of the robot running (snapshots from [62]).

Before the real QRio (i.e., not the simulated robot) ran, investigations were led on the running motion in simulation to prove that the ZMP-based approach can be extended to running. The robot simulated is HRP-1 [158], see Figure 1.6(a), it could run at a speed of 2.9 m.s−1 in simulation [62], see the simulation snapshots in Figure 1.6(b). This first achievement in running has resulted from the combination of the initial approach used for walking [60] with the consideration of intuitive control laws gained from the experience on the problem. For instance, to control the speed Equation (1.3.8) used for the MIT planar biped robot is implemented for the same purpose. Moreover, an intuitive control based on the simulation feedback coordinating the arms with the legs was used to counter the leg momentum: xwrist = karm xfoot

(1.3.9)

12

Chapter 1 Introduction

Although a stable running from 0 m.s−1 to 2.9 m.s−1 was achieved, the joint velocities, torques, and powers needed to perform the gait were much too high to control the real robot, see Table 1.1. The approach has been then constantly improved to reduce the Table 1.1: Actuator requirements for running at 2.9 m.s−1 , data from [62].

max joint velocity max joint torque max joint power

(rad.s−1 ) (N.m) (N.m.kg −1 ) (W ) (W.kg −1 )

hip 10.4 1940 16.6 4570 39.1

knee 13.6 1830 15.6 8480 72.5

ankle 8.63 897 7.7 7530 64.4

actuation requirements so the approach could be evaluated on a real robot. Among the different improvements implemented in the approach, the concept of “Resolved Momentum Control” (RMC) is introduced to improve the pattern generation [64]. The RMC consists in estimating the joint trajectories so that the total momentum is forced to zero to prevent the robot from tipping over. For instance, the HRP-2LR, see Figure 1.7(a),

(a)

(b)

(c)

Figure 1.7: Pictures of two robots from the AIST (National Institute of Advanced Industrial Science Technology), namely, (a) the HRP-2LR robot and (b) the HRP-2LT robot that is actually the HRP-2LR equipped with toes, and (c) the humanoid robot HUBO from the Korea Advanced Institute of Science and Technology (KAIST).

runs at a speed of 0.25 m.s−1 [65] and through the HRP-2LT, see Figure 1.7(b), a toerunning motion was evaluated in simulation (0.83 m.s−1 ) while the idea of benefiting from toe spring was evaluated on the real robot hopping [66]. Although the running control for the humanoid robot HUBO, see Figure 1.7(c), does not rely on a ZMP-based approach, it uses similar approach in that an off-line process generates the desired joint trajectories and an online controller stabilizes the robot. The off-line process, or running pattern generator, is based on the RMC concept [22, 21] while in the online controller,

Chapter 1 Introduction

13

the robot is assimilated as an inverted pendulum that is stabilized through the ankle DoFs [23]. Using this approach the robot HUBO is able to run at a speed of 0.9 m.s−1 .

(a)

(b)

Figure 1.8: (a) the Toyota’s humanoid robot and (b) the Honda’s humanoid robot.

The toe-running gait combined with a ZMP-based approach investigated with the HRP2LT robot has been then further explored with the Toyota’s humanoid robot, see Figure 1.8(a), that can run at an important speed of 1.94 m.s−1 [139].

Vertical Model (a)

Horizontal Model (b)

m pend

mtotal

Rotational Model (c)

mtotal

h mswg z x ZMP pend

msup x

Figure 1.9: Three distinct modeling of the robot dynamics are considered in the cyclic running pattern generation used for the “ASIMO-like” robot [142]. Figure taken from the latter.

The undoubtedly most well-known humanoid robot exploiting the ZMP-based approach is the Honda’s humanoid robot ASIMO, see Figure 1.8(b), that is now able to run at 2.5 m.s−1 [58]. Note that running experiments at a speeds of 2.8 m.s−1 were conducted on a “ASIMO-like” robot with lighter weight and more powerful actuators [142]. To perform such a high dynamic motion, T. Takenaka et al. in [142] suggests a method for the cyclic gait pattern generation that decomposes the motion in three components, namely, the translations along the vertical and horizontal axes and the sagittal rotation.

14

Chapter 1 Introduction

This decomposition consists in considering three different dynamic models, see Figure 1.9, for describing each of the three motions. The vertical motion is calculated with the inverted pendulum allowing particularly the prediction of the vertical ground reaction force. The horizontal motion is estimated with the three-mass model. From the latter, the maximum horizontal ground reaction forces before slipping with respect to the ground friction coefficient and the vertical motion is predicted. The rotational motion is resolved based on a similar approach to the RMC [64] while considering the limitation due to a possible foot slip. The three predictions are evaluated with conditions at the cycle boundaries so that the running pattern is a cyclic motion. The online controller considers the desired trajectories computed by the pattern generator and the stability is improved first by diminishing the dynamic uncertainties [142] due to the simple modeling, see Figure 1.9, and secondly by adding a balance control that benefits from the upper-body DoFs to counter external disturbances [141]. Besides the above-mentioned approaches, a more recent control based on the concept of “Hybrid Zero Dynamics” (HZD) and “virtual constraints” [152, 15] has been firstly developed for achieving a walking motion with bipedal robots and then improved to the problem of the running motion. The idea consists in applying a tight control on each internal joint of the system with respect to the angle formed by the lower leg and the floor. One particularity is that the latter degree of freedom is left unactuated to obtain a system with underactuated degree one. For such system, the high dimensional problem can then be reduced to a problem of lower dimension allowing the robot stability to be calculated. This specificity results in the limitation of the approach application field to bipedal robots without feet.

(a)

(b)

Figure 1.10: Two planar bipedal robots with point feet, namely, (a) the robot RABBIT located at the GIPSA-lab, Grenoble Institute of Technology, France, and (b) the MABEL robot of the University of Michigan.

Chapter 1 Introduction

15

First results have been obtained on the running motion with the five-link, four-actuator, planar bipedal robot, RABBIT, see Figure 1.10(a). Various running gaits were obtained in simulation with different forward speeds, i.e., from 0.5 m.s−1 up to 2.75 m.s−1 , [18]. Afterwards, running experiments were conducted on the real robot. The experimentation consisted in making the robot RABBIT walk, perform a one-step transition, and then run. Due to actuator saturation the robot was not able to perform more than six running steps [94]. More recently, the method has been improved to be applicable on a compliant system, for instance the robot MABEL shown in Figure 1.10(b). As a result, fast running motions, i.e., 3.06 m.s−1 , were obtained with the real robot [133, 134]. Although this last approach seems to be limited to planar bipedal robots, some recent investigations have shown an extension to 3D bipedal walkers [19, 20] highlighting the possibility of extending eventually the method to 3D bipedal runners.

Graphics Community

In the current paragraph, the animation results obtained from

the graphics community is detailed. Although the most straightforward method for humanoid animation is based on the kinematic motion, i.e., the motion physics is left apart while focusing on the joint positions/velocities often obtained from motion captures, more and more animations are developed within a physical simulation environment. Controllers developed within such environment consider the problems due to the dynamics conducting to face as for the robotics community to the problem of performing stable gaits otherwise the character will fall. Let us therefore focus on the literature of the latter.

Figure 1.11: Human running physic-based animation by T. Kwon and J. Hodgins [78].

From the results obtained by M. Raibert and colleagues, a similar approach has been developed for the human running animation by J.K. Hodgins [55, 53]. The animated character could run along a user-defined path at speeds between 2.5 m.s−1 and 5 m.s−1 . More recently, this study has been further explored [78]. The character is able to run up to 5 m.s−1 from stop, see Figure 1.11, to turn, and to deal with external perturbations, i.e., slopes and pushes. The controller uses motion capture data as a reference motion

16

Chapter 1 Introduction

and the stability is ensured by calculating “safe” trajectories based on the evaluation of the inverted pendulum dynamic behavior. Although working simulations appear to be possible without an off-line optimization, it is stated that to ensure a human-like gait the latter is necessary. Other results on the running motion have been obtained with optimization processes. In

Figure 1.12: Optimal running gait at 5.1 m.s−1 by T. Erez and E. Todorov [29].

[29], an optimal control is used to achieve a running motion at a speed of 5.1 m.s−1 , see Figure 1.12. In [24] the animated character control approach is typically similar to ZMP-

Figure 1.13: Human running at 3.0 m.s−1 with a 3.78 kg weapon by H.J. Chung [24].

based approaches in the robotics community. The character is position controlled using smooth trajectories based on B-spline interpolations and must satisfies the constraint of the ZMP staying strictly within the support polygon. The optimization problem is formulated according to a set of constraints and three cost functions, namely, the squared joint torques, impact magnitude at touchdown, and the resulting yaw moment of the whole body. As results, running motions were obtained with forward speeds between 3.0 m.s−1 , see Figure 1.13, and 4.0 m.s−1 , with different type of loads, namely, weapon, backpack, and armor, and finally with maximum joint torques lower than those observed in human running.

Figure 1.14: The 2D biped model running by K. Yin et al. [157]

With a different point of view, K. Yin et al. suggest in [157] the use of a simple control approach for a 2D biped character for achieving a large variety of gaits including

Chapter 1 Introduction

17

running, see Figure 1.14. A finite state machine is defined for each gait and a foot placement based on the CoM velocity and position are used in the control. Finally, a feedback error learning is introduced to predict the torques needed at each instant of the gait cycle, improving the system control for periodic gaits. Since the approach is illustrated for the walking motion only, see [157], no substantial information on the control or simulation results for the running motion are reported. More recently, the

Figure 1.15: Parkour running by L. Liu et al. [82]

learning feedback strategy has been improved to perform various 2D and 3D, periodic and discrete motions, including the running motion [28]. In [82], the running motion still considers the previous learning feedback control and is improved by implementing a parameterization resulting from an optimization process. The latter allows to control online the running direction and speed between 2 m.s−1 and 5 m.s−1 . Different motions, defined as skills, once learned, parameterized, and composed to the running motion can be chained as shown in Figure 1.15.

Biomechanics Community

Having reviewed the literature concerning the running

motion for the robotics and graphics fields, this state of the art will be concluded with a brief review of the biomechanics literature. The biomechanics field is undoubtedly the oldest ones of the three studying the bipedal running motion. Although the amount of achievements and discoveries is really impressive, the current review focuses on the ones directly concerned to the running motion that were used as a source for building a control strategy for high-speed running. The main feature in biomechanics that has been exhibited during this last century is the elastic property omnipresent in the human movement. This elasticity originates in the elastic properties of muscles [51] and tendons. One of the most popular fact is the force-length relation in skeletal muscles, see Figure 1.16, highlighting the elastic forces generated by the passive elements such as tendons and ligaments. Afterwards, study of locomotion has been done with the help of a compliant model of the stance leg: the spring-mass model. The spring-mass model was firstly used to represent the running motion [12, 89]. Indeed, the usefulness of the model was emphasized by the high similarity in terms of motion and dynamics with respect to the human data, see Figure 1.17. Since R. Blickhan [12] and T.A. McMahon and G.C. Cheng [89], the spring-mass has been widely studied [32, 85, 7, 41, 42, 104, 125, 128, 124, 155, 107].

18

Chapter 1 Introduction

Figure 1.16: Schematic representation of the force-length relation in skeletal muscles [13, 52]. Figure taken from [74].

running

GRF (bw)

Fy

1 0 Fx

spring-mass system

0

50 100 stance time (%)

Figure 1.17: The spring-mass model for running (left). Model resulting GRFs (red) and experimental data (thin lines) during stance. Figure taken from [42].

At the other end of the spectrum, one can find investigations on the running motion apparently related to the two communities previously reviewed, but using biomechanical approaches and conducted for biomechanical purposes. In [151], J.M. Wang et al. sug-

Figure 1.18: Humanoid model with sixteen Hill-type musculotendon units used by J.M. Wang et al. in [151].

gest an optimizing method for obtaining human-like walking and running in simulation. In contrast to the optimization methods used in the graphics community, the particularity is here to consider Hill-type musculotendon units to actuate the most important

Chapter 1 Introduction

19

DoFs, see Figure 1.18, and to optimize the problem with respect to the metabolic energy expenditure as the cost function. Although the measurement data obtained from the walking motion closely matches the one of humans, they observed significant differences when regarding the running motion at different speed, i.e., 3 m.s−1 , 4 m.s−1 , and 5 m.s−1 .

Figure 1.19: Anthropomorphic system running within a physic-based simulation environment by G. Schultz and K. Mombaur [130].

Another substantial result based on the optimization of the running gait is the one reported in [130]. With the suggested optimization procedure, they could generate the running motion of an anthropomorphic system at a high speed of 10 m.s−1 . Besides the motion appearing to be close to the human running at similar speed, see Figure 1.19, the similarity goes further when analyzing the simulation data measurement.

Figure 1.20: Two versions of the Athlete robot from the University of Tokyo, (left) with feet and (right) with prosthetic lower legs.

Finally, a CPG-based control method has been explored to study the running motion. It is illustrated through the Athlete robot [98] that is still unstable (maximum of five step running) but show human-like motion at a speed of about 2.42 m.s−1 , see Figure 1.20. Moreover, the use of a bioinspired control approach, the mechanical design itself

20

Chapter 1 Introduction

is bioinspired that is characterized as an artificial system with especially the use of pneumatic actuators.

1.3.4

Conclusion

Bipedal running Through the different approaches reviewed in the last section, one can see the desire of reaching a fully model-based approach. For instance, the ZMP-based or HZD-based approaches suggest a clever model capturing the robot motion and are suitable to evaluate the stability, i.e., through the ZMP or Poincar´e analysis. However, these methods of control are lowly flexible and not suited to evaluate biomechanics analyses in the control such as the spring-mass model. Besides these two approaches, graphics community mostly relies on offline optimization processes to deal with the problem of the running motion. It was shown that controllers based on an optimization approach can provide a human-like gait robust to external perturbations. The latter is handled by the use of a complementary stabilizing control often based on the inverted pendulum model. On the other hand, these methods can provide efficient results, but without gaining insight on what strategy can be used to perform a human-like running motion. Indeed, while the problem of stability is ensured by the use of simple control strategies, such as based on the pendulum to predict the next foot placement, the humanlike gait is reached by optimization which does not provide any information on what criteria the human-like gait fulfills and how it is achieved. From the biomechanics community, we have learned a simple and efficient mechanical model to capture the basics of the running dynamics, namely, the spring-mass model. While the model has already shown various advantages such as inner stability [126] and 3D steering [155] in the control, it has been used only on simple robots, such as in [120, 75] that are planar systems. With the aim of understanding human locomotion, the spring-mass model should be used in the control of a 3D complex bipedal robot to evaluate its stability and efficiency. As mentioned above, model-based approaches or controllers based on optimization process are not suited to easily implement and evaluate new control strategies. However, based on an intuitive approach, also called decoupled approach, M. Raibert and colleagues [120, 54, 121, 56] and J.E. Pratt and colleagues [114, 109, 116, 117, 115, 110] were able to obtain fast and stable running and walking gaits. They also have shown that an intuitive/decoupled approach is efficient in developing simple control strategies that can be easily modified to evaluate rapidly new concepts or control theories. From this observation, the same approach was chosen in this thesis to develop control algorithms for running, walking, and performing a transition from walking to running.

Chapter 1 Introduction Modeling for bipedal locomotion

21 While the spring-mass model can be found useful

in describing the basic dynamic behavior in the running gait, it does not provide any information on how the internal joints behave in human-like running. Besides the springmass model, various dynamic representations have been considered for the control or for pattern generation. Although these models have led to successful walking and running motions with bipedal/humanoid robots, no analysis have been performed to highlight how well they capture the motion dynamics. With respect to the latter, the evaluation of the human running and walking motion through its dynamics seems necessary. Firstly, to identify clearly the relation between the physical parameters and the system dynamics, secondly, to simplify a dynamic model while keeping it highly accurate. In addition to the development of a new control strategy for bipedal locomotion, the thesis will aim to provide an objective analysis on the human locomotion through its dynamics. More precisely, this evaluation consists of establishing the relation between the system dynamics and: 1) the number of links, 2) link inertia, 3) the centrifugal and Coriolis terms. This will be evaluated for the external dynamics as well as for the internal dynamics. However, to perform the human locomotion analysis through its dynamics, the use of a suitable formalism of the equations of motion is necessary.

Formalism of the equations of motion

Various research communities have deeply

studied the field of multibody dynamics. As results, considerable improvements have been made in terms of generalization of the application field and in terms of reduction of the algorithm consumption. However, none of the formalisms suggested until now gives simultaneously a clear and direct relation between the system physical parameters and the equations of motion. Indeed, generally expressed under a compact formulation, the equations of motion are nevertheless formulated using recursive processes or require heavy intermediate calculations such as the energy derivation and the acceleration energy development. Consequently, today, no formalism can give directly a clear understanding of the dynamical phenomena acting on a general system in motion. According to the previous considerations, it can be concluded that the complete comprehension of the field of multibody dynamics, more precisely of the equations of motion, has not been reached. Consequently, the equations of motion have to be formulated in a more suitable way respecting various constraints simultaneously. These constraints aim to improve the understanding of the inverse dynamics and can be defined as follows: the formalism of the inverse dynamics needs to be 1) analytic, 2) direct, i.e., no complex intermediate calculation or recursive process, 3) explicit, i.e., highlighting clearly the organization of the different dynamics effects and their origins, 4) compact. Therefore, reaching a

22

Chapter 1 Introduction

formulation of the equations of motion which considers the previous constraints could allow for a better understanding of multibody dynamics. Reaching a formulation of the equations of motion satisfying the previous constraints allow for a better understanding of multibody dynamics and provide a suitable formulation easy to handle for performing the analysis of the human locomotion through its dynamics. The latter provides the third and last goal of this thesis, namely, explore a new strategy for developing the equations of motion for general multibody system that fulfills the previous four constraints.

1.4

Document organization

Based on the previous remarks and objectives formulated, the thesis is organized as follows. Chapter 2 introduces a formulation of the equations of motion. While numerous formulations and variations of them of the inverse dynamics exist, they aim to generalize the field of application (e.g. integrating holonomic, non holonomic constraints) or to reduce the computation complexity and leave apart the general understanding of the dynamics. This formalism aims thus to give, under four distinct forms, a better representation of the general multibody system dynamics in terms of clarity and insight. Chapter 3 presents an evaluation of the human walking and running motion. Based on the formalism of Chapter 2, an evaluation of human locomotion through its dynamics is conducted to give an overview of the different physical activities. It aims especially to identify the relation between the system dynamic behavior and physical parameters. Chapters 4 and 5 focuses then on the presentation of a control strategy for human-like locomotion and the simulation results. Running motion is first studied and conducts to human-like running gait in simulation. With the aim of extending the approach to various gaits, two extensions, namely, one for walking and the other to perform a walk to run transition, are presented in the corresponding appendices, see Appendices C for the control strategy and D for the results obtained. Chapter 6 discusses the thesis contributions and future directions of our work.

Chapter 2

Towards an Explicit and Simple Formalism of Inverse Dynamics 2.1

Introduction

The goal is the evaluation of the human locomotion through its dynamics. To do that the different physical parameters of the dynamics, such inertia, centrifugal, and Coriolis terms, will be evaluated to highlight their relation with the modeling quality. Therefore, a suitable formalism that explicitly organizes each of these parameters has to be used. The equations of motion have to be formulated in a suitable way respecting various constraints simultaneously. These constraints aim to improve the understanding of the inverse dynamics and to provide a suitable formulation of these equations for the evaluation of human locomotion. They are defined as follows: the formalism of the inverse dynamics needs to be 1) analytic, 2) direct, i.e., no complex intermediate calculation or recursive process, 3) explicit, i.e., highlighting clearly the organization of the different dynamics effects and their origins, 4) compact. Therefore, reaching a formulation of the equations of motion that considers the previous constraints could allow for a better understanding of multibody dynamics. Based on the equations of Newton-Euler, a new formalism that satisfies the previous constraints has been developed and is now presented through four distinct forms. The first form shows that the inverse dynamics of a multibody system can be developed in a compact way which still highlights the relation between the structural parameters and the dynamics of the system. In more details, using this first form, it is sufficient to introduce the system’s structural parameters and to carry out few summations, to calculate directly each joint torque of a given system. This process does not require any intermediate calculation, such as energy derivation, or recursive process. The second form straightly details for the first time the analytic 23

24

Chapter 2 Towards an Explicit and Simple Formalism of Inverse Dynamics

expression of each torque due to the dynamic forces, i.e., the system inertia tensor, centrifugal forces, and Coriolis forces, and due to the environment forces, i.e., the external and gravity forces, in a suitable way easy to understand. The third form is a direct extension of the second one that clearly highlights the high implication of the Jacobian tensor in the equations of motion. This formulation has been found to most suitable to perform the dynamic evaluation of complex systems and will be, therefore, used for the evaluation of human locomotion conducted in Chapter 3. However, with the concern of exploring the full extent of the suggested formalism, the third form was further developed. The latter exploration results in the fourth and last form. It represents the inverse dynamics with the greatest simplicity comparable to the Lagrange’ equations.

2.2

Notations & General features

To improve the clarity of the future developments, the most used notations and the general features of the problem considered are presented in the two following sections.

2.2.1

Notations

Here are the correspondences and notations used in this chapter. • N is the number of bodies and DoFs of the system. • S i refers to the ith body. • Σi represents the subsystem such as: Σi =

N

k=i S

k.

• q = [q1 . . . qN ]T is the N -dimensional vector of the joint angles. By extension, the ith joint is called qi . • q˙ and q¨ are the N -dimensional vectors of the joint velocities and accelerations, respectively. • ui is the qi motion axis. It is a unit vector that is fixed in S i (and also in S i−1 ). • B i is the qi attached base that is fixed in S i , B 0 is the reference base. • oi is the joint center of qi and o0 = o1 .

• Ri oi , B i is the frame attached to the body S i , noted Ri from now on. • ci denotes the CoM of the body S i . • cij = oi cj denotes the position vector of cj relative to oi . • g = 9.81 m.s−2 is the intensity of the gravity. • ug is the unit vector pointed downward as depicted in Figure 2.1 and denotes the direction of the gravity. • mi is the mass of the body S i . • Rij is the rotation tensor defining the orientation of B j relatively to B i .

Chapter 2 Towards an Explicit and Simple Formalism of Inverse Dynamics

25

• O[m×n] is the m×n-dimensional tensor of zeros (O = O[3×3] ). • 1 is the 3×3-dimensional identity tensor. • Ii is the 3×3-dimensional inertia tensor of the body S i . • Ji is the 3×3-dimensional pseudo-inertia tensor of the body S i . • Ki is the 6×6-dimensional generalized inertia tensor of the body S i . • Li is the 6×6-dimensional generalized pseudo-inertia tensor of the body S i . • τ = [τ1 . . . τN ]T is the N -dimensional vector of the joint torques. • H is the N 2 -dimensional inertia tensor of the system. • Hi is the N 2 -dimensional system inertia tensor generated by the body S i . • B is the N -dimensional vector of the torques due to the centrifugal forces. • β i is the N 2 -dimensional tensor of the torques due to the centrifugal forces only due to the body S i . • C is the N -dimensional vector of the torques due to the Coriolis forces. • ζ i is the N 3 -dimensional tensor of the torques due to Coriolis forces only due to the body S i . • G is the N -dimensional vector of the torques due to the gravity forces. • G i is the N -dimensional tensor of the torques due to the gravity forces only due to the body S i . • Q is the N -dimensional vector of the external forces/torques applied on the system. • Qi is the N -dimensional tensor of the external forces/torques applied on the body Si. • D i is the 6×i-dimensional Jacobian tensor for the body S i .   • D i = D i O[6×(N −i)] is called here the augmented Jacobian tensor. • F i is the 3-dimensional vector of the force applied by the environment on the body Si. • Mi is the 3-dimensional vector of the torque applied by the environment on the body Si expressed about ci .  Fi is the 6-dimensional vector of the generalized forces applied by the • Fi = Mi environment on the body S i expressed about ci . • ωi/j is the 3-dimensional vector of the angular velocity of the body S i relative to Rj . • αi/j is the 3-dimensional vector of the angular acceleration of the body S i relative to Rj . • Γci and Γoi are the 3-dimensional vectors of the accelerations of ci and oi , respectively, relative to R0 . • δΣi oi is the 3-dimensional vector of the time derivative, into R0 , of the angular momentum produced by the subsystem Σi , and acting on the DoF qi about oi . It is called here the torque due to the dynamic forces.

26

Chapter 2 Towards an Explicit and Simple Formalism of Inverse Dynamics

ui

ug

ui+1

Link i

uN u2

qi

Link

qi+1

N

qN

Li

nk

1

q2

u1 q1 Base Figure 2.1: Kinematics scheme of the considered multibody system. It is composed of N rigid bodies articulated with N revolute DoFs.

• N Σi oi is the 3-dimensional vector of the torque due to the environment forces (i.e., the external and gravity forces) applied on the subsystem Σi , and acting on the DoF qi about oi . • E i is a 6×6×N -dimensional tensor that denotes the system dynamic effects.

2.2.2

General Features

The system considered is composed of N rigid bodies articulated with N revolute DoFs constituting a simple open kinematic chain, see Figure 2.1. The system is supposed to respect the following equations of motion: τ = H q¨ + B + C + G + Q

(2.2.1)

which describe τ , the vector of joint torques, as a composition of: 1) the torques due to the dynamic forces, namely, the system inertia H multiplied by q¨ the joint accelerations, the torques due to the centrifugal forces B, the torques due to the Coriolis forces C; 2) the torques due to the environment forces, namely, the torques due to the gravity forces G, and the torques due to the external forces/torques Q. The equations of motion can be developed ∀i ∈ [1, N ] as follows: τi =

N 

Hij q¨j + Bi + Ci + Gi + Qi

(2.2.2)

j=1



= δΣi oi + N Σi oi · ui

(2.2.3)

Chapter 2 Towards an Explicit and Simple Formalism of Inverse Dynamics

27

From this the following identity can be derived:

N 

Hij q¨j + Bi + Ci + Gi + Qi δΣi oi + N Σi oi · ui =

(2.2.4)

j=1

The first form of the new formalism of multibody dynamics consists in developing the right-hand side terms of Equation (2.2.3). The second form is then derived from Equation (2.2.4). More precisely, it is derived from the identification of the following equivalent version of Equation (2.2.4):



δΣi oi + N Σi oi · ui = N  k 

 k k 2 q¨j + βij q˙j + 2 q˙j Hij

k=i j=1

j−1 

 k ζijn q˙n

+ Gik + Qki (2.2.5)

n=1

which will be proved to lead to the following:



Ik − mk cˆik cˆjk · uj · ui



k ˆ j cˆjk · uj · ui ˆ j Ik − mk cˆik u βij = u



k ˆ n cˆjk · uj · ui ζijn = dual Jk · un − mk cˆik u

Gik = −mk g cˆik · ug · ui

Qki = Mk + cˆik · F k · ui k = Hij

(2.2.6) (2.2.7) (2.2.8) (2.2.9) (2.2.10)

where ”ˆ v ” refers to the dual tensor of a vector v and will be further introduced in the next section. The interesting fact of this formulation is that in order to calculate one of the joint torques of a given system, it is sufficient to simply introduce the system’s structural parameters into the expression of the different terms, see Equations (2.2.6) through (2.2.10), and to carry out the three summations of Equation (2.2.5). This calculation is done regardless of the number N of bodies/joints of the system, and does not require any intermediate calculation or recursive process. Afterwards, the extension leading to a homogeneous formulation of these equations through the introduction of the Jacobian tensor will be derived. It will result first in reaching the third form similar to the second one, but with a higher simplicity. Finally, the origin of the forces/torques will be identified and exposed with a high simplicity comparable to the Lagrange formulation

28

Chapter 2 Towards an Explicit and Simple Formalism of Inverse Dynamics

to establish the fourth and last form: τ =

N 

Dk

T   · X k · q¨ + X˙ k · q˙ + F¯ k

(2.2.11)

k=1

with X = Kk D k k

(2.2.12)

which describe τ the vector of joint torques with a minimal formulation highlighting the very presence of the Jacobian tensor D k in multibody dynamics. To simplify the development process, it is first necessary to introduce some mathematical preliminaries which is the topic of the next section.

2.3

Mathematical preliminaries

The formalism is based on various mathematical relations that are presented in this section in order to clarify the rest of the development.

2.3.1

Finite series manipulation

Proposition 2.1. Let A be an (m×n) tensor of elements aij (aij = aji , m ≥ N and n ≥ N ). Then the equality N N  

aij =

i=1 j=i+1

i−1 N  

aji

(2.3.1)

i=1 j=1

is true ∀N ∈ N+ , where N+ is the space of the positive natural numbers. The following proposition concerning the manipulation of finite sums is also needed in the development: Proposition 2.2. Let A be an (m×n) tensor of elements aij (aij = aji , m ≥ N and n ≥ N ). Then the equality k N   k=i j=1

akj =

N 

N 

akj

j=1 k=max(i,j)

is true ∀N ∈ N+ and i ∈ [1, N ]. Both Propositions 2.1 and 2.2 can be easily proved by mathematical induction.

(2.3.2)

Chapter 2 Towards an Explicit and Simple Formalism of Inverse Dynamics

2.3.2

29

Vector and tensor algebra

The development of the formalism of the inverse dynamics is performed with the use of vectors, tensors and their algebra. Thus, to manipulate efficiently these mathematical elements, the following notions are used: • ”·” denotes the dot product operator. It satisfies the following identities: u·v =v·u

(2.3.3)

T · u = u · TT

(2.3.4)

where u and v are vectors and T is a second order tensor. In the case of two second order tensors T and S, the dot product or multiplication T · S will be simply denoted as T S. It satisfies the following identity: (T S)T = S T T T

(2.3.5)

Due to its distributive property, we have the following relations: (w + v) · u = w · u + v · u

(2.3.6)

(T + S) · u = T · u + S · u

(2.3.7)

The dot product is not associative, though the following identity can be derived: u · (T U ) = (u · T ) · U

(2.3.8)

Equation (2.3.8) can be simply proofed using the definition of the dot product with the indicial notation: uj (Tjl Uli ) = uj Tjl Uli = (uj Tjl ) Uli

(2.3.9) (2.3.10)

where the Einstein’s notation is used. Moreover, using the same method, it is obvious that: u · (T · v) = (u · T ) .v

(2.3.11)

Consequently, using the identities presented above, it is easy to derive this last identity one the dot product:



(T · w + U .v) · u = T T · u · w + U T · u .v

(2.3.12)

30

Chapter 2 Towards an Explicit and Simple Formalism of Inverse Dynamics Finally, let ”:” denotes the double dot product defined such as: a = Tij Sji ⇔ a = T : S

(2.3.13)

ui = Pijk Tkj ⇔ u = P : T

(2.3.14)

where the Einstein’s notation is used, a is a scalar and P is a third order tensor. ˆ is the dual tensor defined by • u ˆ · v = −ˆ u∧v =u v·u

(2.3.15)

where ”∧” is the cross product operator. We thus have: ⎡

−u3

0

⎢ ˆ=⎢ u ⎣ u3

u2

⎥ −u1 ⎥ ⎦

0

−u2



u1

(2.3.16)

0

Consequently, the dual operator ”dual (. . .)” is defined by: ˆ dual (u) = u

(2.3.17)

From Equation (2.3.16) it directly follows that: ⎧ ⎨

ˆ dual (ku) = k u

⎩ dual (u + v) = u ˆ + vˆ

(2.3.18)

An extension of this operator applicable for general 6-dimensional vectors is defined. Let u be a 6-dimensional vector composed of two 3-dimensional vectors v and w defined as follows: u=

  v w

T  = v1 v2 v3 w 1 w 2 w 3

(2.3.19)

ˆ is defined: Therefore, the dual tensor u  ˆ= u



O



ˆ O w

(2.3.20)

Finally, the dual operator is defined such as: ˆ dual (u) = u

(2.3.21)

Chapter 2 Towards an Explicit and Simple Formalism of Inverse Dynamics

31

It is worth noting that the algebra of this dual operator will not be further developed. • Finally, ”⊗” is the tensor product operator. It is defined by: ˆ v + (u · v) 1 v ⊗ u = uˆ

(2.3.22)

It is worth noting that the previous notions can be found in [8, 99]. From the previous considerations, the identities required to develop the new formalism are now presented.

ˆ · v) can be written in the following equivalent Proposition 2.3. The dual tensor dual (u form: ˆ · v) = uˆ ˆ v − vˆu ˆ dual (u

(2.3.23)

Proposition 2.4. Let I be a symmetric tensor. Then the dual tensor dual (I · v), where v is any vector, satisfies the following equation: dual (I · v) = −Iˆ v − vˆI + Tr (I) vˆ

(2.3.24)

It is worth noting that Propositions 2.3 and 2.4 are fully demonstrated in [8]. Let us introduce Ik and Jk , the inertia and pseudo-inertia tensors, respectively, of the body S k relative to ck [8] defined by: 

rˆk rˆk dmk mk 1

Jk = −Ik + Tr Ik 1  2

r k ⊗ r k dmk = I =− k



(2.3.25) (2.3.26) (2.3.27)

mk

where r denotes the position vector of a point mass of S k relative to ck . Thus, by using the Proposition 2.4 and Equation (2.3.26), we can show the following proposition: Proposition 2.5. Let Ik and Jk be, respectively, the inertia and pseudo-inertia tensors of the body S k relative to ck . Then, with u and v being any vectors, the following equation is satisfied:





ˆ · v) + vˆ · Ik · u + u ˆ · Ik · v = 2 dual Jk · u · v Ik · ( u

(2.3.28)

32

Chapter 2 Towards an Explicit and Simple Formalism of Inverse Dynamics

Proof. Using Equation (2.3.15), the left-hand side of Equation (2.3.28) becomes:

= = = =





ˆ · v) + vˆ · Ik · u + u ˆ · Ik · v Ik · ( u



− Ik · (ˆ v · u) + vˆ · Ik · u − dual Ik · v · u

− Ik vˆ · u + vˆIk · u − −Ik vˆ − vˆIk + Tr Ik vˆ · u

2 vˆIk · u − Tr Ik vˆ · u   1 k

k ·u 2 vˆ I − Tr I 2

[by (2.3.15)] [by (2.3.24)]

= − 2 vˆJk · u from where, using Equations (2.3.15) and (2.3.17), we get Equation (2.3.28). Since the mathematical requirements about vector and tensor algebra were presented, the next section presents the development of the spatial accelerations of the system considered.

2.3.3

Spatial accelerations of the body S k

The angular velocity ωk/i of S k with respect to Ri is expressed as follows: k 

ωk/i =

ωj/j−1 =

j=i+1

k 

q˙j uj

(2.3.29)

[by (2.3.18)]

(2.3.30)

j=i+1

Consequently, its dual tensor can be derived as:

ˆ k/i = ω

k 

ˆ j/j−1 = ω

j=i+1

k 

ˆj q˙j u

j=i+1

As shown in [34], the angular acceleration αk/0 of S k with respect to R0 can be written as follows: αk/0 =

k  j=1

 q¨j uj + q˙j

j−1  n=1

 ˆ n · uj q˙n u

(2.3.31)

Chapter 2 Towards an Explicit and Simple Formalism of Inverse Dynamics

33

ˆ k/0 can be established: Moreover, by using (2.3.18), the identity of the dual tensor α

ˆ k/0 = α

k 

 j

ˆ + q˙j q¨j u

=



ˆ u ˆ −u ˆ ˆ u q˙n u n j

j

n

 [by (2.3.23)]

(2.3.32)

[by (2.3.30)]

(2.3.33)

n=1

j=1 k 

j−1 

ˆ j/j−1 + ω ˆ j/j−1 − ω ˆ j−1/0 ˆ j−1/0 ω ˆ j/j−1 ω α

j=1

Having the angular acceleration αk/0 , the expression of the linear acceleration Γck of the CoM ck can be derived. First, the following relations are considered:

Γoj+1 = Γoj + αj/0 ∧ oj oj+1 + ωj/0 ∧ ωj/0 ∧ oj oj+1

Γck = Γok + αk/0 ∧ ok ck + ωk/0 ∧ ωk/0 ∧ ok ck

(2.3.34) (2.3.35)

Since DoF q1 connects the body S 1 to the base (see Figure 2.1), we have Γo1 = O3×1 and thus:

Γo2 = α1/0 ∧ o1 o2 + ω1/0 ∧ ω1/0 ∧ o1 o2

(2.3.36)

which can be used with Equation (2.3.34) written and combined ∀j ∈ [1, k − 1] to obtain: Γ ok =

k−1 



αj/0 ∧ oj oj+1 + ωj/0 ∧ ωj/0 ∧ oj oj+1

(2.3.37)

j=1

Therefore, introducing Equation (2.3.37) in Equation (2.3.35) provides the following expression of Γck :

αk/0 ∧ ok ck + ωk/0 ∧ ωk/0 ∧ ok ck

Γ ck = +

k−1 



αj/0 ∧ oj oj+1 + ωj/0 ∧ ωj/0 ∧ oj oj+1

(2.3.38)

j=1 k−1 



ˆ j/0 + ω ˆ k/0 + ω ˆ k/0 · ok ck + ˆ j/0 · oj oj+1 ˆ k/0 ω ˆ j/0 ω α = α

(2.3.39)

j=1

Let us go further in the development of Γck to obtain an expression directly depending on the DoF velocities q˙i and accelerations q¨i .

34

Chapter 2 Towards an Explicit and Simple Formalism of Inverse Dynamics

First, the k−1 

k−1 j=1

ˆ j/0 + ω ˆ j/0 · oj oj+1 vector can be developed, as follows: ˆ j/0 ω α

ˆ j/0 + ω ˆ j/0 · oj oj+1 ˆ j/0 ω α

j=1 k−1 

=

j k

ˆ j/0 + ω ˆ j/0 · o o − ˆ j/0 ω α

j=1

ˆ j/0 · oj+1 ok ˆ j/0 + ω ˆ j/0 ω α

j=1

k−1 

=

k−1 



j k

ˆ j/0 + ω ˆ j/0 · o o − ˆ j/0 ω α

j=1

k 

ˆ j−1/0 + ω ˆ j−1/0 · oj ok ˆ j−1/0 ω α

(2.3.40)

j=2

ˆ 0/0 = O3×1 and ok ok = O3×1 , Equation (2.3.40) becomes: ˆ 0/0 = O3×1 , ω Since α k−1 

ˆ j/0 + ω ˆ j/0 · oj oj+1 ˆ j/0 ω α

j=1

=

k 

j k

ˆ j/0 + ω ˆ j/0 · o o − ˆ j/0 ω α

j=1

=

k 

k 

ˆ j−1/0 + ω ˆ j−1/0 · oj ok ˆ j−1/0 ω α

j=1



ˆ j/0 − α ˆ j/0 − ω ˆ j−1/0 · oj ok ˆ j−1/0 + ω ˆ j/0 ω ˆ j−1/0 ω α

(2.3.41)

j=1

By introducing Equations (2.3.32) and (2.3.30) into Equation (2.3.41), it is easily derived that: k−1 

ˆ j/0 + ω ˆ j/0 · oj oj+1 ˆ j/0 ω α

j=1

=

k 

 j

ˆ + q¨j u

ˆj u ˆj q˙j2 u

+ 2 q˙j

j−1 

 · oj ok

n j

ˆ u ˆ q˙n u

(2.3.42)

n=1

j=1

ˆ k/0 of Equation (2.3.39). Using Equations ˆ k/0 + ω ˆ k/0 ω Now, we shall focus on the term α (2.3.32) and (2.3.30), it can be written as follows: ˆ k/0 ˆ k/0 ω ˆ k/0 + ω α ⎛ ⎞ ⎞ ⎛  j−1 k k k    

ˆnu ˆ j + q˙j ˆj − u ˆn ⎠ + ⎝ ˆj ⎠ ˆn ˆj u =⎝ q¨j u q˙n u q˙j u q˙n u j=1

=

k 



n=1

⎣q¨j u ˆ j + q˙j2 u ˆj u ˆ j + q˙j

 j−1 

 ˆnu ˆj q˙n u



+ q˙j ⎝

n=1

j=1

n=1

j=1 k 

⎞⎤

ˆj u ˆ n ⎠⎦ q˙n u

(2.3.43)

n=j+1

which, considering Proposition 2.1, becomes:

ˆ k/0 = ˆ k/0 ω ˆ k/0 + ω α

k  j=1

 ˆ j + q˙j2 u ˆj u ˆ j + 2 q˙j q¨j u

j−1  n=1

 ˆnu ˆj q˙n u

(2.3.44)

Chapter 2 Towards an Explicit and Simple Formalism of Inverse Dynamics

35

Finally, by using Equations (2.3.42) and (2.3.44) the acceleration vector Γck can be expressed depending on the DoF velocities q˙i and acceleration q¨i as follows: Γ ck =

k 

 ˆ + q¨j u

j=1

=−

j

k 

ˆj u ˆj q˙j2 u

+ 2 q˙j

j−1 

 n j

ˆ u ˆ q˙n u

n=1

 q¨j 1 +

ˆj q˙j2 u

+ 2 q˙j

j−1 

ˆ q˙n u

· cjk

(2.3.45)

 n

cˆjk · uj

[by (2.3.15)]

(2.3.46)

n=1

j=1

where 1 is the 3×3 identity tensor and cjk = oj ck ; see Section 2.2.1. Since the mathematical preliminaries were introduced, it is possible to expose clearly the development of the first form of the new equations of motion, which is the topic of the next section.

2.4

First form of the new formalism

The goal is to develop the first form of the new formalism. To do that, δΣi oi , the torque due to the dynamic forces, and N Σi oi , the torque due to the environment forces, are expressed and then gathered to obtain the equations of motion.

2.4.1

Torques due to the dynamic forces

The previous section presented the different mathematical tools used to establish the first form of the new formalism. Thus, we may focus on the development of the vectors δΣi oi and N Σi oi , presented in Section 2.2. The torque due to the dynamic forces δΣi oi can be obtained as follows: N  δS k o i δΣi o i =

∀i ∈ [1, N ]

(2.4.1)

k=i

=

N 



δS k ck + mk cˆik · Γck

(2.4.2)

k=i

where δS k ck is symbolically described by the Euler’s equation as follows:

δS k ck = Ik · αk/0 + ωk/0 ∧ Ik · ωk/0 ˆ k/0 Ik · ωk/0 = Ik · αk/0 + ω

(2.4.3) (2.4.4)

36

Chapter 2 Towards an Explicit and Simple Formalism of Inverse Dynamics

Considering Equations (2.3.30) and (2.3.31), Equation (2.4.4) becomes:

δS k c k ⎛ =I ·⎝ k

=

k 



k 

j

q¨j u +

j−1 

⎞ ˆ ·u q˙j q˙n u n

j⎠

+

k 

n=1

j=1

q¨j Ik · uj + q˙j

ˆ I q˙j u

j k

+ q˙j

j−1 

k 

ˆ I · u + q˙j q˙n u j k

(2.4.5)

ˆ n · uj + q˙j2 u ˆ j I k · uj q˙n Ik u

n=1

j=1

q˙n un

n=1

j=1 j−1 

k 

n

n=1

 ˆ I ·u q˙n u j k

n

(2.4.6)

n=j+1

which, by using Proposition 2.1 and Proposition 2.5, can be written as:   j−1 k 

 k k 2 j k k n ˆ I + 2 q˙j q¨j I + q˙j u δS k c = q˙n dual J · u · uj

(2.4.7)

n=1

j=1

Finally, by introducing Equations (2.3.46) and (2.4.7) in Equation (2.4.2), δΣi oi can be derived: δ Σi o i =

k N  

 ˆ j Ik + 2 q˙j q¨j Ik + q˙j2 u

k=i j=1

− m cˆ

ik



q˙n dual Jk · un

n=1

 k

j−1 

q¨j 1 +

ˆj q˙j2 u

+ 2 q˙j

j−1 

 ˆ q˙n u

n

 jk



· uj

(2.4.8)

n=1

Now, it is necessary to consider and develop the second term of the right hand side of Equation (2.2.3), i.e., N Σi oi .

2.4.2

Torques due to the environment forces

The term N Σi oi , the torque due to the environment forces acting on the DoF qi can be decomposed as follows: N i  N S k oi N Σi o =

(2.4.9)

k=i

where N S k oi is the vector of the torque due to the environment forces applied on the body S k and is expressed about oi . Thus, since the external forces are applied about ck , by using the Varignon’s theorem,

Chapter 2 Towards an Explicit and Simple Formalism of Inverse Dynamics

37

the vector N S k oi can be written as: N S k oi = Mk + cik ∧ F k − mk g cik ∧ ug

= Mk + cˆik · F k − mk g ug

(2.4.10) (2.4.11)

Consequently, N Σi oi can be derived as: N

i  Mk + cˆik · F k − mk g ug N Σi o =

(2.4.12)

k=i

2.4.3

Direct formulation of the inverse dynamics

In the previous section, the different elements composing the right-hand side of Equation (2.2.3) were established. Thus, by using Equations (2.2.3), (2.4.8), and (2.4.12) the first form of the new inverse dynamics formulation can be derived ∀i ∈ [1, N ]: τi =

N  k=i

!

k 

 q¨j I + k

ˆ j Ik q˙j2 u

+ 2 q˙j

j−1 



q˙n dual Jk · un

n=1

j=1



ˆ j + 2 q˙j − mk cˆik q¨j 1 + q˙j2 u

+ Mk + cˆik · F k − mk g ug



"

j−1 





ˆ n cˆjk · uj q˙n u

n=1

· ui

(2.4.13)

To the contrary of the Lagrange, Newton-Euler and Kane’s formulations, the main interest of this analytic formulation is to highlight the relation of the equations of motion directly with the structural parameters of the system and the generalized coordinates. Practically, to obtain any of the joint torques of a given system, it is only necessary to introduce the system’s structural parameters, and to carry out the four summations of Equation (2.4.13). It is worth noting that it is done regardless of the number of bodies/DoFs of the system, without intermediate calculation, such as the energy time derivation, and without any recursive formulation. In the introduction, see Section 2.1, the four following constraints were suggested: the formalism of the inverse dynamics needs to be 1) analytic, 2) direct, i.e., no complex intermediate calculation or recursive process, 3) explicit, i.e., highlighting clearly the organization of the different dynamics effects and their origins, 4) compact. Therefore, the first form presented in this section fulfills the first two constraints. The next section shows that it can be extended to highlight clearly the different dynamic forces acting on the system, i.e., the inertia tensor, the centrifugal and Coriolis forces, and the environment forces, i.e., gravity and external forces.

38

Chapter 2 Towards an Explicit and Simple Formalism of Inverse Dynamics

2.5

Second form of the new formalism

The objective is here to identify explicitly and straightly the different torques due to each kind of dynamic and external forces (inertia, centrifugal, Coriolis, gravity, and environment forces) composing the dynamics. Equation (2.2.4) was written as follows:

N 

Hij q¨j + Bi + Ci + Gi + Qi δΣi oi + N Σi oi · ui =

∀i ∈ [1, N ]

(2.5.1)

j=1

Thus, by using Equation (2.5.1) and (2.4.13), we can perform the adequate identification to obtain: N 

Hij q¨j =

j=1

k N  





Ik − mk cˆik cˆjk · uj · ui

(2.5.2)



ˆ j Ik − mk cˆik u ˆ j cˆjk · uj · ui u

(2.5.3)

q¨j

k=i j=1

Bi =

k N  

q˙j2



k=i j=1 j−1 k  N  

Ci = 2

q˙j q˙n





ˆ n cˆjk · uj · ui dual Jk · un − mk cˆik u

(2.5.4)

k=i j=1 n=1

Gi = −

N 

mk g cˆik · ug · ui

(2.5.5)

Mk + cˆik · F k · ui

(2.5.6)

k=i

Qi =

N  k=i

This formalism allows thus to clearly identify each torque due to the dynamic and environment forces with respect to the system parameters and its generalized coordinates. However, note that Hij is not directly identified. Indeed, the identification is just per formed on the whole term N ¨j . Consequently, to express directly Hij depending j=1 Hij q on the structural parameters of the system, Proposition 2.2 is used: N 

Hij q¨j =

j=1

⇒ Hij =

N  j=1

N 

q¨j





Ik − mk cˆik cˆjk · uj · ui

(2.5.7)

k=max(i,j)

N 





Ik − mk cˆik cˆjk · uj · ui

(2.5.8)

k=max(i,j)

which completes the previous formalism. Nevertheless, let us introduce a more appropriate expression of Equation (2.5.1). In a different way, it is possible to separate the generalized velocities/accelerations of the structural parameters within the expression of the different terms. Indeed, considering the equations of motion in the following

Chapter 2 Towards an Explicit and Simple Formalism of Inverse Dynamics

39

equivalent form:

τi =

k N  

 k k 2 Hij q¨j + βij q˙j + 2 q˙j

k=i j=1

j−1 

 k ζijn q˙n

+ Gik + Qki

(2.5.9)

n=1

k , torques due to the centrifugal forces β k , Coriolis the terms of the system inertia Hij ij k , gravity forces G k , and external forces Qk can be written depending on the forces ζijn i i

structural parameters of the system without considering the DoF velocities and accelerations:



Ik − mk cˆik cˆjk · uj · ui



k ˆ j Ik − mk cˆik u ˆ j cˆjk · uj · ui = u βij



k ˆ n cˆjk · uj · ui ζijn = dual Jk · un − mk cˆik u

Gik = −mk g cˆik · ug · ui

Qki = Mk + cˆik · F k · ui k = Hij

(2.5.10) (2.5.11) (2.5.12) (2.5.13) (2.5.14)

It is worth noting that Equations (2.5.10) through (2.5.12) allow evaluating each term due to the dynamic forces acting on the joint qi due to each body S k of the system. The latter point clearly improves the understanding of the inverse dynamics of a given system: • It offers the capability to isolate the dynamic forces due to one body with respect to its mass and inertia. • As a consequence, the second form can be used to identify clearly the effect of one body on each joint torque. • In more details, the latter can be done with each term, i.e., of the inertia, centrifugal, Coriolis, gravity, and external force terms, of each body S k exerted on each joint qi . An example of application of the second form is given in Appendix A.2. Equations (2.5.9) through (2.5.14) present the second form of the new formulation of the equations of motion. As a result, this second form expresses the direct relation between the system’s structural parameters and each term due to the dynamics, i.e., the inertia, centrifugal, and Coriolis forces, and environment, i.e., the gravity, and external forces. Each term composing the equations of motion, see Equation (2.5.9), are described with their own analytic expression, shown in Equations (2.5.10) through (2.5.14). The second form presented in this section answers to the first three constraints, namely, the second

40

Chapter 2 Towards an Explicit and Simple Formalism of Inverse Dynamics

form is analytic, direct, and explicit. With the aim of fulfilling simultaneously these four constraints, the expression of each terms, i.e., Equations (2.5.9) through (2.5.14), needs to be reduced to gain insight into the formalism. Section 2.7 introduces the third form that aims to answer the last constraint, preceded by the introduction of supplementary mathematical tools.

2.6

Additional mathematical requirements

2.6.1

Bases and rotation tensors

The following notation will be used from now on: • the superscript ”B i ” denotes the base of expression of a tensor. For instance: Ik,B

i

is the inertia tensor of the body Sk expressed in the base B i . • for more clarity, the superscript ”B i ” is not referred when the tensor is expressed k

in the base to which it is attached. For instance: Ik ≡ Ik,B . Moreover, in the i

following case: cik,B will be simply noted: cik . To make possible the change of base of a vector v or a tensor T , the rotation tensor Rij is defined such as: Rij = Rik Rkj ij −1 ij T = R = Rji R v T

Bi Bi

= Rij · v = Rij T

Bj

Bj

Rji

(2.6.1) (2.6.2) (2.6.3) (2.6.4)

From what, the following identity can be easily derived from Equations (2.6.3) and (2.6.4):

j j dual Rij .v B = Rij vˆB Rji

(2.6.5)

Chapter 2 Towards an Explicit and Simple Formalism of Inverse Dynamics

2.6.2

41

Expression of the Jacobian tensor

The vector Qk of the external forces has been developed to obtain Equation (2.5.14). Considering the bases of expression for each term, it can be written as follows:

i i Qki = Mk,B + cˆik · F k,B · ui

= Rik · Mk + cˆik Rik · F k · ui



= Rki · ui · Mk + −Rki cˆik · ui · F k   −Rki cˆik · ui · Fk = Rki · ui  where F k =

Fk

(2.6.6) (2.6.7) [by (2.3.12)]

(2.6.8) (2.6.9)



, see Section 2.2.1. Mk Moreover, it is worth noting that Qk is usually expressed in the following equivalent

formulation: Qki = dki · F k

∀i ∈ [1, N ]

(2.6.10)

where dki is the ith column vector of the Jacobian tensor D k , such as:   D k = dk1 . . . dki . . . dkk

(2.6.11)

Thus, by considering Equations (2.6.9) and (2.6.10), the following relation is derived:  dki · F k =

−Rki cˆik · ui Rki · ui

 · Fk

(2.6.12)

Since Equation (2.6.12) is true ∀F k , the ith column vector of the Jacobian tensor dki can be written as follows:  dki =

σ ki ϕki





⎧ k ⎨ σ ki = −Rki cˆik · ui = −ˆ cik,B · ϕki

with k ⎩ ϕki = Rki · ui = ui,B

(2.6.13)

(2.6.14)

Finally, to obtain the fourth form of the new formalism, the time derivative of the ˙ k will be needed. Its time derivative can be obtained by using the Jacobian tensor D

42

Chapter 2 Towards an Explicit and Simple Formalism of Inverse Dynamics

general formulation of forward kinematic models of second order: 



ΓB ck

k

k αB k/0

˙ k · q˙ = D k · q¨ + D

=

k 

q¨i dki + q˙i d˙ki

(2.6.15)

(2.6.16)

i=1



⎧ k  ⎪ ⎪ Bk ⎪ ⎪ Γ = q¨i σ ki + q˙i σ˙ ki ⎪ ⎨ ck i=1

k ⎪  ⎪ ⎪ Bk ⎪ α = q¨i ϕki + q˙i ϕ˙ ki ⎪ ⎩ k/0

(2.6.17)

i=1

˙ k are the 6×N -dimensional augmented Jacobian tensor and its time where D k and D derivative defined such as:   D k = D k O[6×(N −k)]   ˙k= D ˙ k O[6×(N −k)] D

(2.6.18) (2.6.19)

and αB and where ΓB k/0 are the 3-dimensional vectors of linear and angular accelerack k

k

tions, see Section 2.2.1. By considering the expressions in B k of the linear and angular accelerations, see Equations (2.3.46) and (2.3.31), and Equations (2.6.17), the time derivative of the Jacobian can be derived:  ˙ki

d

=

σ˙ ki

 (2.6.20)

ϕ˙ ki

⎧ ⎛ ⎞ i−1 ⎪  ⎪ ⎪ ⎪ ˆki + 2 ˆkj ⎠ · σ ki σ˙ ki = ⎝q˙i ϕ q˙j ϕ ⎪ ⎪ ⎨ with

j=1

⎪ i−1 ⎪  ⎪ ki ⎪ ⎪ ˆkj · ϕki ϕ ˙ = q˙j ϕ ⎪ ⎩

(2.6.21)

j=1

Since mathematical requirements were presented, the next sections deal with the development of the two final forms of the new formalism of multibody dynamics.

2.7

Third form of the new formalism

This section’s goal is to introduce the Jacobian tensor in the different terms of the equations of motion, see Equation (2.5.9). To do that, it is necessary to consider explicitly the bases for the expression of the different vectors and tensors. The different terms

Chapter 2 Towards an Explicit and Simple Formalism of Inverse Dynamics

43

composing the equations of motion, see Equations (2.5.10) through (2.5.14), should be written as follows: k = Hij



i

Ik,B − mk cˆik cˆjk,B

i



· uj,B

i



· ui



i i i i i k ˆ j,B cˆjk,B · uj,B · ui ˆ j,B Ik,B − mk cˆik u βij = u



i i i i i k ˆ n,B cˆjk,B · uj,B · ui = dual Jk,B · un,B − mk cˆik u ζijn

i Gik = −mk g cˆik · ug,B · ui

i i Qki = Mk,B + cˆik · F k,B · ui

(2.7.1) (2.7.2) (2.7.3) (2.7.4) (2.7.5)

Moreover, by considering each tensor in its attached base, we have:



Rik Ik Rkj − mk cˆik Rij cˆjk · uj · ui



k ˆ j Rjk Ik Rkj − mk cˆik Rij u ˆ j cˆjk · uj · ui βij = Rij u



k ˆ n Rnj cˆjk · uj · ui = Rik dual Jk Rkn · un Rkj − mk cˆik Rin u ζijn

Gik = −mk g cˆik Ri0 · ug · ui

Qki = Rik · Mk + cˆik Rik · F k · ui k = Hij



(2.7.6) (2.7.7) (2.7.8) (2.7.9) (2.7.10)

where, in the absence of any attached base, the dual tensors cˆik and cˆjk are expressed in the bases B i and B j , respectively. Let us focus on Hk the system inertia tensor of the body S k . Firstly, by considering k become: Equations (2.3.7) and (2.7.6), the components Hij



k = Rik Ik Rkj · uj − mk cˆik Rij cˆjk · uj · ui Hij

= Rik Ik · ϕkj + mk cˆik Rik · σ kj · ui

(2.7.11) [by (2.6.14)]

(2.7.12)

which, using Equation (2.3.12), can be written as follows:



k = Ik Rki · ui · ϕkj + mk −Rki cˆik · ui · σ kj Hij

= Ik · ϕki · ϕkj + mk σ ki · σ kj

(2.7.13) [by (2.6.14)]

(2.7.14)

Let Kk be the generalized inertia tensor of the body S k defined as follows:  Kk =

mk 1 O O

Ik

 (2.7.15)

44

Chapter 2 Towards an Explicit and Simple Formalism of Inverse Dynamics

k becomes: Thus, using Equations (2.6.13) and (2.7.15), Hij



k = Kk · dki · dkj Hij

(2.7.16)

The symmetric property of the tensor Hk can be easily derived. Consequently, it can be written as follows:

k = Kk · dkj · dki Hij

(2.7.17)

k , it can be developed as follows: Therefore, by using the same process on βij



k ˆ j Rjk · ϕki · ϕkj = − Ik Rkj u βij

ˆ j Rjk · σ ki · σ kj − mk Rkj u



= − Ik dual Rkj uj · ϕki · ϕkj



− mk dual Rkj uj · σ ki · σ kj



ˆkj · ϕki · ϕkj − mk ϕ ˆkj · σ ki · σ kj = − Ik ϕ



ˆkj · ϕki − mk σ kj · ϕ ˆkj · σ ki = −ϕkj · Ik ϕ



ˆkj · ϕki − mk σ kj · ϕ ˆkj · σ ki = − ϕkj · Ik ϕ



ˆkj Ik · ϕkj · ϕki + mk ϕ ˆkj · σ kj · σ ki = ϕ

ˆ kj Kk · dkj · dki = Φ

(2.7.18)

[by (2.6.5)]

(2.7.19)

[by (2.6.14)]

(2.7.20) (2.7.21) (2.7.22) (2.7.23)

[by (2.6.13)]

(2.7.24)

where:  Φkj =

ϕkj

 (2.7.25)

ϕkj

k which becomes: The same goes for ζijn







k ˆkn · σ kj · σ ki = dual Jk · ϕkn · ϕkj · ϕki + mk ϕ ζijn



= dual Lk · Φkn · dkj · dki

(2.7.26) [by (2.6.13)]

(2.7.27)

where Lk is the generalized pseudo-inertia of the body Sk defined as follows:  Lk =

mk 1

O

O

Jk

 (2.7.28)

Chapter 2 Towards an Explicit and Simple Formalism of Inverse Dynamics

45

Since the tensor Qk was already transformed into the adequate formulation, see Equation (2.6.10), the last term to be transformed is the gravity one, i.e. G k . By introducing: ϕkg = Rk0 · ug

(2.7.29)

the components Gik can be written as follows:

Gik = −mk g cˆik Ri0 · ug · ui = −mk g ϕkg · σ ki

(2.7.30) [by (2.6.14) and (2.7.29)]

(2.7.31)

Finally, the third form of the new formalism of the equations of motions has been reached: ⎡ ⎤   j−1 N k    k k 2 k ⎣ Hij τi = q¨j + βij q˙j + 2 q˙j ζijn q˙n + Gik + Qki ⎦ k=i

(2.7.32)

n=1

j=1

with:

k = Kk · dkj · dki Hij

k ˆ kj Kk · dkj · dki = Φ βij



k ζijn = dual Lk · Φkn .dkj · dki

(2.7.33) (2.7.34) (2.7.35)

Gik = −mk g ϕkg · σ ki

(2.7.36)

Qki = F k · dki

(2.7.37)

This third form has the advantage of being highly compact in comparison to the two previous ones. After a second observation, it is also worth noting that the main specificity is to introduce clearly for each term resulting from the dynamic effects, namely: Hk , β k , and ζ k , that they are the result of a double transformation for each joint of the system carried out by the Jacobian tensor D k . Moreover, it identifies accurately the effects of each body Sk on each joint qi . More precisely, it allows evaluating each type of forces/torques, i.e., due to inertia, centrifugal, Coriolis, gravity, and to external forces, due to each body. Considering the previous statement, the third form is well suited for dynamic analyses. Indeed, it highlights clearly and separately the different torques due to each body, dynamic force, joint velocity, and acceleration, while keeping the formulation compact and readable. In terms of complexity, it highlights very clearly, thanks to the Jacobian tensor, the redundant calculations which were not obvious in the previous forms. Finally, at the contrary of the two previous forms, the third can be easily extended to applications on systems with prismatic/revolute DoFs, floating base, and kinematic trees as shown in Appendix A.5. The latter is crucial for the formalism

46

Chapter 2 Towards an Explicit and Simple Formalism of Inverse Dynamics

to be usable for humanoid kinematics. Although this third form seems to be suited for the evaluation of human locomotion, it is further developed to explore how far can be simplified the current formalism. The next section introduces the last form of the new formalism that aims to represent the inverse dynamics with a high simplicity comparable to the Lagrange formulation.

2.8

Fourth form of the new formalism

Let F¯ k be the 6-dimensional vector of external forces and gravity effects defined such as:  F¯ k =

F k − mk g ϕkg

 (2.8.1)

Mk

Consequently, by introducing the previous results, i.e. Equations (2.7.33) through (2.7.37), into the equations of motion, see Equation (2.2.5), we obtain: τi = ⎧  N ⎨ k  k=i





ˆ kj q˙2 Kk + 2 q˙j 1¨ qj + Φ j

j−1 



q˙n dual Lk · Φkn



 · dkj + F¯ k

n=1

j=1

⎫ ⎬ ⎭

· dki

(2.8.2)

Let E k be the 6×6×N -dimensional tensor of the dynamic effects defined as follows:

k Elmj =

 ⎧ j−1



 ⎪ ⎪ ˆ kj q˙2 Kk + 2 q˙j ⎨ 1¨ qj + Φ q˙n dual Lk · Φkn j ⎪ ⎪ ⎩

n=1

0

if j ≤ k lm

(2.8.3)

else

Thus, using the indicial notation Equation (2.8.2) becomes:

τi =

6 N   k=i l=1

τi =

6 N   k=i l=1

τi =

6 N   k=1 l=1

⎛ ⎞ 6 k   k ¯ k ⎠ dki ⎝ Elmj dkj m + Fl l

(2.8.4)

j=1 m=1

⎛ ⎞ k  6  k k ⎝ Elmj Dmj + F¯lk ⎠ Dlik

[by (2.6.11)]

(2.8.5)

[by (2.6.18)]

(2.8.6)

j=1 m=1

⎛ ⎞ N  6  k k ⎝ Elmj Dmj + F¯lk ⎠ Dlik j=1 m=1

Chapter 2 Towards an Explicit and Simple Formalism of Inverse Dynamics

47

From what, a tensorial expression of the equations of motion can be identified:

τ = τ =

N ' 



E : D

k=1 N 

k

k

T

( k ¯ + F · Dk

(2.8.7)

( T

T ' k k k ¯ · E : D +F D k

(2.8.8)

k=1

Like for the third form, these equations are really compact and highlight clearly the influence of the Jacobian into inverse dynamics. Indeed, it is well known that the joint torques needed in the static case (i.e.: E k = O[6×6×(N )] ) can be calculated as follows:

τ =

N 

Dk

T

· F¯ k

(2.8.9)

k=1

Equation (2.8.9) shows that calculating the joint torques needed in this particular case results from a simple transformation of F¯ k the vector of external forces via D k the Jacobian tensor. Moreover, it raises a more particular observation: the joint torques only resulting from dynamic forces (i.e.: F¯ k = O[6×1] ) can also be calculated with transformations using the Jacobian tensor:

τ =

N 

T (

T ' k · E : Dk D k

(2.8.10)

k=1

Nevertheless, the expression of the tensor E k is much too complex, and thus does not allow a good understanding of the torques due to the different dynamic forces. Let us try to formulate the multibody dynamics in a similar way that the one of forward kinematic models of second order, see Equation (2.6.15). To do that, it is necessary to introduce a new tensor called the J-inertia tensor defined as follows: X k = Kk D k  = χk1 . . . χkj

. . . χkk O[6×(N −k)]



(2.8.11) (2.8.12)

with ⎡ ⎢ χkj = ⎣

χkj σ

=

χkj ϕ

= Ik · ϕkj

mk σ kj

⎤ ⎥ ⎦

(2.8.13)

Therefore, we may calculate the time derivative X˙ k of the J-inertia tensor X k as for the Jacobian tensor in forward kinematic models of second order. Firstly, the vector χ˙ kj σ

48

Chapter 2 Towards an Explicit and Simple Formalism of Inverse Dynamics

can be obtained as follows: k kj ˙ χ˙ kj σ =m σ 

=m

k

ˆ q˙j ϕ

kj

+2

j−1 

(2.8.14)

 · σ kj

ˆkn q˙n ϕ

[by (2.6.21)]

(2.8.15)

n=1

Secondly, the vector χ˙ kj ϕ is developed: kj k ˙k ˙ kj χ˙ kj ϕ =I ·ϕ +I ·ϕ   j−1  k kj k kn kj ˆ ·ϕ q˙n ϕ = I˙ · ϕ + I ·

(2.8.16) [by (2.6.21)]

(2.8.17)

n=1 k From the book [8], I˙ can be derived: k Bk k Bk ˆ k/0 ˆ k/0 I − Ik ω I˙ = ω

=

=

k  n=1 k 

(2.8.18)



k k ˆ n,B Ik − Ik u ˆ n,B q˙n u

(2.8.19)



ˆkn Ik − Ik ϕ ˆkn q˙n ϕ

[by (2.6.14)]

(2.8.20)

n=1

Thus, χ˙ kj ϕ becomes: χ˙ kj ϕ

=

k 



ˆ ˆ I −I ϕ q˙n ϕ kn k

k

kn



·ϕ

kj

+I · k

 j−1 

n=1

 ˆ q˙n ϕ

kn

·ϕ

kj

(2.8.21)

n=1

From what, after reduction, demonstrated in Appendix A.3, it can be written as follows:  χ˙ kj ϕ =

ˆkj Ik + 2 q˙j ϕ

j−1 



q˙n dual Jk · ϕkn



 · ϕkj

(2.8.22)

n=1

Consequently, the time derivative of the J-inertia tensor X k is obtained:   X˙ k = χ˙ k1 . . . χ˙ kj . . . χ˙ kk O[6×(N −k)]   j−1

 kj kj k k kn ˆ K +2 · dkj χ˙ = q˙j Φ q˙n dual L · Φ

(2.8.23) (2.8.24)

n=1

Therefore, by noting the following equality, that is proved in Appendix A.4 T = X k · q¨ + X˙ k · q˙ E k : Dk

(2.8.25)

Chapter 2 Towards an Explicit and Simple Formalism of Inverse Dynamics

49

the equations of motion become:

τ =

N 

Dk

T   · X k · q¨ + X˙ k · q˙ + F¯ k

(2.8.26)

k=1

Finally, the equations of motion are written under a more adequate formulation by having transformed the complex tensor of dynamic effects E k . As results, the fourth and final form of the new formalism of inverse dynamics is obtained. It allows identifying clearly from what the system inertia, centrifugal, and Coriolis tensors are derived. Indeed, the following identities can be established:

H= B+C =

N  k=1 N 

Hk

=



β k · q˙ 2 + 2 ζ k · q˙ · q˙

=

k=1

N  k=1 N 

Dk

Dk

T

T

Kk D k

(2.8.27)

X˙ k · q˙

(2.8.28)

k=1

) * 2 T and: where q˙ 2 = q˙12 . . . q˙N

k βij =

k = ζijn

⎧ ˆ kj Kk · dkj · dki if i, j  k ⎨ Φ ⎩ 0 else



⎧ ⎨ dual Lk · Φkn .dkj · dki if i, j  k, and n < j ⎩

0

(2.8.29)

(2.8.30)

else

To summarize, the equations of motion have been written under an explicit formulation which involves, with simplicity, only five physical entities, namely: the Jacobian tensor, the generalized inertia tensor, the vector of external forces, and the vectors of the joint velocities and accelerations. Thanks to the use of the Jacobian tensor, this fourth form can be usable for systems with prismatic/revolute DoFs, floating base, and kinematic trees as shown in Appendix A.5. Although it is compact, the fourth form still describes precisely the effects of each body S k on each joint qi . Moreover, it considers the torques due to the dynamics and environment at the same level. Finally, for the first time, the analytic and highly compact expressions of the system inertia tensor, the torques due to the centrifugal and Coriolis forces have been presented.

2.9

Conclusion

On the one hand, physicists and mathematicians have aimed to generalize the equations of motion for a better understanding of system behaviors. For a couple of decades, one

50

Chapter 2 Towards an Explicit and Simple Formalism of Inverse Dynamics

can note the progressive integration of more and more realistic joint modeling, with various type of friction, of holonomic and nonholonomic constraints, of flexible bodies, etc. On the other hand, robotic researchers have aimed to develop more and more efficient dynamic algorithms to be operable on robotic platforms with often limited computing power. Algorithms for inverse dynamics have been substantially improved from the first ones which had a complexity Θ N 4 , for a system of N -joints/bodies, to new ones having a complexity of only Θ (log (N )) using parallel computing. Despite the tremendous progression made in the field of multibody dynamics emphasized by the number of formalisms and algorithms suggested, none of them is educational or well suited for dynamic analyses on complex systems. The following question was raised: how are the inertia, centrifugal, Coriolis, gravity, and external terms involved in the dynamics of a general mechanic system? Generally expressed under a compact formulation, the equations of motion are nevertheless formulated using recursive processes or require heavy intermediate calculations such as the energy derivation and the acceleration energy development. However, none of the formalisms suggested until now allows an assessment with great simplicity and clarity of a general multibody system’s dynamic behavior. In order to carry out such target, four simple constraints have been defined: the formalism of the inverse dynamics needs to 1) analytic, 2) direct, i.e., no complex intermediate calculation or recursive process, 3) explicit, i.e., highlighting clearly the organization of the different dynamics effects and their origins, 4) compact. To obtain a formalism providing a better understanding of multibody dynamics, the formulation of the equations of motion has thus to respect simultaneously these four constraints. Therefore, the equations of Newton-Euler which gives the simplest representation of dynamics were chosen to develop such a new formalism. As for results, the first form that satisfies the first two constraints mentioned above was reached. It provides an analytic expression of the equations of motion that highlights directly the relation between the structural parameters and the dynamics of a system without indirect process. To obtain the direct relation between the system’s structural parameters and each term due to the dynamics, i.e., the inertia, centrifugal, and Coriolis forces, and environment, i.e., the gravity, and external forces, the second form was generated. Having expressed each type of forces due to the system motion and due to the environment the latter question may be at least partially answered. However, with the aim of fulfilling simultaneously all of the constraints defined above, each term of the equations of motion was expressed in a compact and suitable form quite easy to understand leading to the third form. The latter provides an adequate tool to proceed to the evaluation of the dynamic behavior of a general multibody system, such as the evaluation of locomotion dynamics. Finally, to explore the full extent of the suggested formalism, the fourth and last form was established. The last form leaves aside the composition of the equations of motion previously established to write them with a much more compact form. As a result, it

Chapter 2 Towards an Explicit and Simple Formalism of Inverse Dynamics

51

highlights that the equations of motion are carried out with only five simple physical entities: the Jacobian tensor, generalized inertia tensor, external forces, joint velocities, and joint accelerations. Furthermore, it shows that the torques due to the dynamic and environment forces can be considered at the same level. However, while focusing on the last constraint, i.e., compactness, it is less explicit and thus less suited for dynamic evaluation. To summarize, the focus is directed on • the second form that is found to be very efficient in fast development of small system inverse dynamics, • the third form that clearly details the whole organization of the dynamic effects within the equations of motion while being highly compact, • the last one with a simplicity comparable to Lagrange’s equations synthesizes the dynamics through the lowest number of parameters. With these last considerations, the next chapter evaluates the human locomotion through the inverse dynamics using the third form developed during this chapter. Also, note that the second form was also used to develop feed-forward control laws in Chapter 4.

Chapter 3

Evaluation of Locomotion Through Inverse Dynamics 3.1

Introduction

The goal of the present study is to evaluate different simplified dynamic models in an objective way. This evaluation consists in identifying the relation between the system dynamics and: 1) the number of links, 2) link inertia, 3) the centrifugal and Coriolis terms. To do this, an initial dynamic model is developed based on the formalism of Chapter 2 and considers only a few assumptions. Then, various dynamic sub-models using different numbers of bodies are derived. All of these models are evaluated using five criteria suggested in this chapter. This chapter is organized as follows. Section 3.2 presents the reference dynamic model and motion capture data used. Section 3.3 introduces the starting dynamic model of the study, its assumptions, the relevance criteria and the dynamic sub-models. In Section 3.4, the evaluation of each dynamic model with regard to the reference one is given. Afterwards, the relation between physical parameters of the modeling and the system dynamics are emphasized.

3.2 3.2.1

Dynamic human locomotion Motion capture

Walking motion

To evaluate simplified dynamic models of the human body for dy-

namic walking motion, various motion capture sequences of walking motion are used. Some of them were conducted at the Garches Hospital in France with healthy subjects. 53

54

Chapter 3 Evaluation of Locomotion Through Inverse Dynamics

Thirty targets were used to capture the motion and the relative joint angles were calculated using OrthoTrak1 . The rest of the motion captures are from the Carnegie Mellon University database [1]. The motion captures provide the relative joint angles, which are used with the modified Hanavan model, shown in Figure 3.1, to evaluate the dynamic effects on the different joints.

Running motion

To evaluate the same models for the running gait, the data set

from Samuel R. Hamner et al. [46] is used2 . The subject is running at an average speed of 3.96 m.s−1 on a treadmill, and is 1m83 tall for a weight of 65.9 kg. With the main concern of studying the running gait dynamics, the corresponding evaluation is reported in Section 3.4. Though the same study has been conducted for the walking motion and is detailed in Appendix B.2.

3.2.2

The reference model: The modified Hanavan model

The modified Hanavan model, shown in Figure 3.1, is used to obtain the size, mass, inertia matrix and center of mass (CoM) of each link of the subject body [45] (see Appendix B.1 for the example of a subject who is 1m78 tall for a weight of 70 kg). The Forward Gravity

Head

Trunk Arms

Trunk

Forearms Arm

Pelvis

6 "virtual" DoFs

Pelvis

Forearm

Thighs

Hand

Shanks Thigh

World frame

Shank

Feet z

Foot

y x

Figure 3.1: Scheme of the modified Hanavan model

Figure 3.2: The kinematic chain of the modified Hanavan model. The model is composed of 29 DoFs and 12 links

joints corresponding to the relative angles provided by the motion captures are organized (see Figure 3.2) as follows : 1 2

OrthoTrak is a software produced by Motion Analysis Running data can be downloaded on the SimTK website at: https://simtk.org/home/runningsim.

Chapter 3 Evaluation of Locomotion Through Inverse Dynamics

55

• 7 DoFs for the legs : 3 DoFs for the hip, 1 DoF for the knee and 3 DoFs for the ankle. • 3 DoFs for the arms : 2 DoFs for the shoulder and 1 DoF for the elbow. • the trunk is articulated with 3 DoFs to the pelvis. • the pelvis is articulated with 6 DoFs to the reference world frame. Then, the dynamic walking motion of the modified Hanavan model was simulated using Matlab SimuLink3 . The equations of motion are: W =Γ with:

⎧ ⎨ W = H q¨ + C + B + G ⎩ Γ = DT F + DT F + τ C1 C2 1 2

(3.2.1) (3.2.2)

W contains the matrix of inertia H multiplied by the vector of acceleration q¨, the vectors of centrifugal B and Coriolis forces C, and the vector of gravity effects G. Γ is composed by the contact forces applied to the feet FC1 and FC2 (multiplied by the transpose of the Jacobian matrix of each leg, D1T and D2T , respectively), and the joint torque vector τ . Since the main complexity of the dynamics lies into the matrix of inertia H and the vector of the centrifugal B and Coriolis forces C, only W was evaluated. Finally, the vectors q, q˙ and q¨ are obtained from the motion capture data. The vector W is firstly computed numerically using Matlab SimuLink with the Hanavan model and then analytically using the different dynamic models. The next section presents the analytic dynamic models used to represent the human walking motion dynamics. Since the complete dynamic model of the human being is highly complex, it is reduced using a set of assumptions while conserving the essence of the locomotion dynamics. In this way, the relation between the system dynamics and: the number of links, link inertia, and the centrifugal and Coriolis terms, needs to be emphasized. To do this, several dynamic models, some of them used for humanoid robotic applications, using different assumptions are evaluated and compared with the Hanavan model dynamics by using the walking motion capture sequences to verify the quality of the assumptions.

3.3

8L19D - Inverse dynamic model of 8 Links and 19 DoFs

To obtain a preliminary analytic simplified dynamic model with reasonable complexity, two initial assumptions can be made. The first one is related to the simplification of the 3

Matlab is a software produced by MathWorks

56

Chapter 3 Evaluation of Locomotion Through Inverse Dynamics

links with weak inertial influence with regard to the rest of the body. The second one concerns the computation of the CoM and the inertia matrix of the component parts4 .

3.3.1

Model kinematics

First, the kinematic chain corresponding to the modified Hanavan model is reduced as follows: • the shank and foot are modeled as one component part called the shank-foot, • each arm is modeled as one component part, called the full-arm, and only the pitch DoF (i.e., flexion/extension) of each shoulder is considered. Therefore, the kinematic chain used to develop the dynamic model is composed by 8 links actuated by 19 DoFs (see Figure 3.3) distributed as follows: Forward Gravity

Trunk: Link 6

m 6 , I6

LFull-Arm: Link 8 m8 , I8

RFull-Arm: Link 7 m 7 , I7

Pelvis: Link 1

LThigh: Link 3 m1 , I1 m 3 , I3 LShank-Foot: Link 5

World frame RThigh: Link 2 RShank-Foot: Link 4 z

m 2 , I2

m5 , I5

m 4 , I4

y x

Figure 3.3: Scheme of the 8L19D dynamic model

• 6 DoFs between the reference world frame and the pelvis: – 3 translations: (q1 , q2 , q3 ) along the axes (x, y, z), respectively. – 3 rotations: (q4 , q5 , q6 ) (pitch, roll, and yaw, respectively). • 3 DoFs for each hip: 4 The term ”component part” is used here to describe a system composed of two or more articulated links which are modeled as one link whose shape and thus inertia change according to the DoFs articulating the system

Chapter 3 Evaluation of Locomotion Through Inverse Dynamics

57

– for the right hip: (q7 , q8 , q9 ) (pitch, roll, and yaw, respectively). – for the left hip: (q10 , q11 , q12 ) (pitch, roll, and yaw, respectively). • 1 DoF for each knee producing flexion/extension: – for the right knee: (q13 ). – for the left knee: (q14 ). • 3 DoFs between the pelvis and the trunk: (q15 , q16 , q17 ) (pitch, roll, and yaw, respectively). • 1 DoF for each shoulder producing flexion/extension: – for the right shoulder: (q18 ). – for the left shoulder: (q19 ). • q = [q1 . . . qN ]T is the N -dimensional vector of the joint angles. By extension, the ith joint is called qi . Each joint has an attached base B i , a joint center Oi , and an

attached frame Ri Oi , B i .

3.3.2

CoM and inertia matrix of component parts

A set of assumptions involving the CoM and the inertia matrix computation is considered: • the matrix of inertia of a component part (such as the shank-foot or the full-arm) is supposed to be a 3-by-3 diagonal matrix when expressed in the proximal DoF base. The inertia matrix of the component part k is written as follows: ⎞ ⎛ λkx 0 0 ⎜ ⎟ k ⎟ Ik = ⎜ 0 λ 0 y ⎝ ⎠ 0 0 λkz

(3.3.1)

Bk

where: – the subscript k ∈ {1, . . . , D} refers to the link number, and D is the number of links equal to 8 for the 8L19D. – Bk is the base of the proximal DoF of the link k. • The time derivative of the CoM and matrix of inertia of a component part are neglected. However, this does not assume that their evolution is neglected. This preliminary model is called 8L19D (for 8 links, 19 DoFs depicted in Figure 3.3). It is compared with the Hanavan model dynamics and used as the basis for building other simpler models.

58

3.3.3

Chapter 3 Evaluation of Locomotion Through Inverse Dynamics

Relevance evaluation

The study implies to evaluate both partially and in the whole the equations of motion of dynamic models. Thus, four relevance criteria and one criterion of reduction in relevance are defined. They have to compare, in percentage, from a point of view of dynamics, the relative precision of a model with regard to a reference one, which is the modified Hanavan model shown in Figures 3.1 and 3.2. The terms Wi of the vector W , shown in (3.2.1), are used. They can be written as follows: W = [W1 . . . WD ]T

(3.3.2)

where D is the number of DoFs of the system, i.e., equal to 19 for the 8L19D model and:

Wi =

D 

Hij q¨j + Bi + Ci + Gi

(3.3.3)

j=1

In addition, considering the third form of the inverse dynamics exposed in Chapter 2, Wi can be written as follows: Wi =

D L   k=i j=1

 k k 2 Hij q¨j + βij q˙j + 2 q˙j

j−1 

 k ζijn q˙n

+ Gik

(3.3.4)

n=1



⎧ k ⎪ Hij = Kk · dkj · dki ⎪ ⎪ ⎪

⎪ ⎪ ⎪ k ˆ kj Kk · dkj · dki ⎨ βij = Φ with:



⎪ k k kn kj ⎪ · dki .d ⎪ ⎪ ζijn = dual L · Φ ⎪ ⎪ ⎪ ⎩ k Gi = −mk g ϕkg · σ ki

(3.3.5)

where L is the number of links and D the number of DoFs, for instance, L = 8 and D = 19 for the 8L19D model. The formulation given by Equation (3.3.4) isolates each term of the vectors B and C (i.e., each β k and ζ k ) according to each link k. Therefore, it helps performing advanced evaluations about the importance of each term especially of the most complex of them, the vector of centrifugal and Coriolis effects B and C. To perform the necessary evaluations of dynamic models, a set of four criteria and one criterion of reduction in relevance has to be defined. They are now presented. The first relevance criterion Ri compares the dynamics, in terms of percentage of adequacy, related to one desired DoF of the

Chapter 3 Evaluation of Locomotion Through Inverse Dynamics

59

model considered with the corresponding DoF of the reference model: Ri = 1 − δ i with:

δi =

1

Amp WiRef T



(3.3.6) T t=0

- Ref -Wi (t) − WiEval (t)- dt

(3.3.7)

where: • WiRef and WiEval , shown in (3.3.2), are from the reference and evaluated models, respectively. • Amp(x) is the function computing the amplitude of the signal x. • T is the time of the analyzed period. In this study, it corresponds to the duration of an entire gait cycle. The second relevance criterion Rpel is used to compare the percentage of adequacy of the different models with the reference model for the six variables related to the pelvis: Rpel = 1 − δpel 6 δi with: δpel = i=1 6

(3.3.8) (3.3.9)

The third relevance criterion RG gives globally the percentage of adequacy of the different models with the reference model: RG = 1 − δ G D δi with: δG = i=1 D

(3.3.10) (3.3.11)

The fourth and last relevance criterion Ra,b deals with the partial adequacy of the model considered with the reference one (for example: the adequacy of the leg DoFs): Ra,b = 1 − δa,b b i=a δi with: δa,b = b−a+1

(3.3.12) (3.3.13)

where a and b denote the set of DoFs evaluated from qa through qb . We have a < b. So the internal relevance per DoF is given by Ri and the total relevance is given by RG . As the number of DoFs varies according to the model evaluated, using the total relevance RG to compare two models with different number of DoFs is not correct. In this case, the external and partial internal relevances, Rpel and Ra,b , respectively, considering only the DoFs existing in the models compared, are preferred. Furthermore,

60

Chapter 3 Evaluation of Locomotion Through Inverse Dynamics

the external relevance Rpel was the most used in this work because all of the errors coming from assumptions on different parts of the body are gathered on the pelvis DoFs. Finally, to be able to evaluate separately each assumption, a criterion of reduction in relevance, which will be called from now on the decreasing relevance criterion, δidec (p) is defined as follows: δidec (p)

=



1

Amp WiEval (t, p) T



T t=0

- Eval -Wi (t, p) − WiEval (t, p = 0)-

(3.3.14)

where: • WiEval (t, p), shown in Equation (3.3.2), is from the evaluated model and takes into account the parameter p. • WiEval (t, p = 0), shown in Equation (3.3.2), is from the evaluated model and neglects the parameter p. This latter criterion evaluates the decreasing relevance of the evaluated model neglecting the parameter p with regard to its original version. For instance, p can be an inertia term (for example: λ1x ) or a centrifugal/Coriolis term (for example: β k ). Moreover, this decreasing relevance criterion can be used to evaluate assumptions on n parameters [p1 , . . . , pn ]. In this case, the notation δidec (p1 , . . . , pn ) is used. The next section introduces the sub-models derived from the 8L19D model.

3.3.4

Sub-models based on 8L19D

The 8L19D model was developed with the third form of inverse dynamics presented in Chapter 2 assuming the pelvis as the root link (see Figure 3.3). To evaluate the relevance of various modeling for bipedal locomotion, the 8L19D is reduced into different simpler sub-models to highlight the relevance dependency on the number of links considered. Figure 3.4 show the 8L19D model and all the derived sub-models which are evaluated and Figure 3.5 their modified versions with concentrated masses. It is worth noting that various dynamic representations used in the literature, such as the LIPM [61] (1L6Dcm), the RMP [138, 44] (1L6D), and the MMIPM (5L14Dcm) [140, 2], are evaluated in this study. Having introduced all of the necessary parameters, the results and discussion are presented in the next section. First, all of the models shown in Figure 3.4 are evaluated with the different relevance criteria. This evaluation highlights in particular the relation between the number of links of a dynamic model and its relevance. The concentrated mass versions, see Figure 3.5, are used in a second time to highlight the relation between inertia and modeling relevance.

Chapter 3 Evaluation of Locomotion Through Inverse Dynamics

61

Forward Gravity

Forward Gravity

m 6 , I6

Trunk: Link 6

LFull-Arm: Link 8

m6 , I6 Upper-Body: Link 6

m 8 , I8

RFull-Arm: Link 7

: link

m7 , I7

: CoM ! x link(s) ”xLyD” ≡ y DoFs

Pelvis: Link 1

Pelvis: Link 1

LThigh: Link 3

LThigh: Link 3

m1 , I1

m1 , I1

m3 , I3

m 3 , I3

LShank-Foot: Link 5

LShank-Foot: Link 5

z

m 5 , I5

m2 , I2

World frame RThigh: Link 2 RShank-Foot: Link 4

z

m4 , I4

y

World frame RThigh: Link 2 RShank-Foot: Link 4

x

m5 , I5

m2 , I2

y

m4 , I4 x

(a) 8L19D

(b) 6L17D Forward Gravity

Forward Gravity

m 1 , I1

Forward

Whole Body: Link 1

m1 , I1

Upper-Body: Link 1

Gravity

m1 , I1 Upper-Body: Link 1

LThigh: Link 3

m3 , I3

m3 , I3

LLeg: Link 3 LShank-Foot: Link 5 m2 , I2

World frame RThigh: Link 2

m5 , I5

z m4 , I4

y

m 2 , I2

RLeg: Link 2

RShank-Foot: Link 4 z

World frame

World frame

y

z

y

x

x

x

(c) 5L14D

(d) 3L12D

(e) 1L6D

Figure 3.4: The 8L19D model and sub-models studied

62

Chapter 3 Evaluation of Locomotion Through Inverse Dynamics

Forward Gravity

Trunk: Link 6

Gravity

Forward

LFull-Arm: Link 8

m6

Upper-Body: Link 6

m6

m8

RFull-Arm: Link 7 m7

:

link with point mass

Pelvis: Link 1

Pelvis: Link 1

LThigh: Link 3 m1

: CoM World frame RThigh: Link 2 RShank-Foot: Link 4

m2

z

m4

y

LThigh: Link 3

m1

m3

m3

LShank-Foot: Link 5

LShank-Foot: Link 5

m5

World frame RThigh: Link 2 RShank-Foot: Link 4 z

y

m5

m2

m4 x

x

(a) 8L19Dcm

(b) 6L17Dcm Forward

Gravity

Forward Gravity

Upper-Body: Link 1

Gravity

Forward

m1 Upper-Body: Link 1

Whole Body: Link 1

m1

m1

LThigh: Link 3

m3

m3

LLeg: Link 3 LShank-Foot: Link 5

World frame RThigh: Link 2

m2

m5

World frame

m2

World frame

RLeg: Link 2

RShank-Foot: Link 4

z z

y

z

m4

y

y

x

x

x

(c) 5L14Dcm

(d) 3L12Dcm

(e) 1L6Dcm

Figure 3.5: The different dynamic models with concentrated masses (where cm is the acronym for ’concentrated masses’) that are evaluated

Chapter 3 Evaluation of Locomotion Through Inverse Dynamics

3.4

63

Results and Discussion

This section presents the different evaluations of the analytic dynamic models presented in Section 3.3, which are compared with the Hanavan model dynamics using the motion capture data of a running motion at an average speed of 3.96 m.s−1 . The evaluation for the walking motion reported in Appendix B.2. The section is organized as follows: first, the evaluation from the simplest, which is the 1L6D model, to the most complex, which is the 8L19D model, is presented. Secondly, a deeper evaluation relating to the link inertia, centrifugal, and Coriolis terms is exposed and analyzed.

3.4.1

Relation between the number of links and dynamics

This section focuses on the influence of the assumption involving the number of links in dynamic modeling. Thus, the modeling is increased progressively from the simplest model (1L6D) to the most complex model (8L19D). Figures 3.6 through 3.8 show the resulting forces/moments calculated with the different dynamic models, presented in the previous sections, including the modified Hanavan model. All of the DoFs considered by the 8L19D model are represented. Since the other models consider less DoFs, these are not shown. The evaluation of the dynamic models presented in Figure 3.4, namely, the 1L6D, 3L12D, 5L14D, 6L17D, and 8L19D models, is now detailed. Note that Section 3.4.5 provides a summary of the results discussed in the following paragraphs.

64

Chapter 3 Evaluation of Locomotion Through Inverse Dynamics

1st prismatic pelvis DoF (x): W

1st revolute pelvis DoF (pitch): W

1

RLeg Support

1000

4

LLeg Support

LLeg Support

400

800 600

200

Torque in N.m

Force in N

RLeg Support

600

400 200 0

0

−200

−200 −400 −400 −600

−600 0

20

40

60

80

100

0

1L6D Model 3L12D Model 5L14D Model

2nd prismatic pelvis DoF (y): W

2

20

40

60

2nd revolute pelvis DoF (roll): W

5

1000

80

100

6L17D Model 8L19D Model Hanavan Model

1000

800 500

Torque in N.m

Force in N

600 400 200 0

0

−200

−500

−400 −600

−1000 0

20

40

60

80

100

0

st

20

40

60

80

100

80

100

rd

3 prismatic pelvis DoF (z): W

3 revolute pelvis DoF (yaw): W

3

6

2000 100

Torque in N.m

Force in N

1500

1000

500

50

0

−50 0 −100

0

20

40

60

% of locomotion cycle

80

100

0

20

40

60

% of locomotion cycle

Figure 3.6: W1 through W6 resulting moments on the pelvis virtual DoFs of the different dynamic models

Chapter 3 Evaluation of Locomotion Through Inverse Dynamics 1st right hip DoF (pitch): W7

3rd right hip DoF (yaw): W9

RLeg Support

300

65

40

LLeg Support

RLeg Support

LLeg Support

30 200 20

Torque in N.m

100 10 0 0 −100 −10 −200 −20 −300 0

20

nd

2

40

60

80

100

−30

1L6D Model 3L12D Model 5L14D Model

right hip DoF (roll): W

8

0

20

40

60

80

100

6L17D Model 8L19D Model Hanavan Model

Right knee DoF (pitch): W

13

250

200

60

150

Torque in N.m

40 100 20 50 0

0

−50 −20 −100 −40 −150 0

20

40

60

80

100

0

20

% of locomotion cycle

40

60

80

100

% of locomotion cycle

Figure 3.7: W7 , W8 , W9 and W13 resulting moments on the right hip and knee DoFs of the different dynamic models st

rd

1 upper−body DoF (pitch): W

3 upper−body DoF (yaw): W

15

RLeg Support

100

17

LLeg Support

RLeg Support

80

LLeg Support

60

Torque in N.m

50

40

20 0 0

−20

−50

−40 −100

−60

0

20

nd

2

40

60

80

100

0

1L6D Model 3L12D Model 5L14D Model

upper−body DoF (roll): W

16

20

40

60

80

100

6L17D Model 8L19D Model Hanavan Model

Right shoulder DoF (pitch): W

18

40 100

30

Torque in N.m

20 50 10 0

0

−10 −50

−20 −30

−100 −40 0

20

40

60

% of locomotion cycle

80

100

0

20

40

60

80

100

% of locomotion cycle

Figure 3.8: W15 through W18 resulting moments on the upper-body and right shoulder DoFs of the different dynamic models

66

Chapter 3 Evaluation of Locomotion Through Inverse Dynamics

The 1L6D dynamic model

is the simplest modeling considering the whole system

as one link. As a consequence of its simplicity, the 1L6D model does not provide a relevant representation of the locomotion dynamics, as shown in Figure 3.6 and checked by the relevance criterion Rpel (= RG ) = 71.26%. However, the accurate description of the vertical dynamic forces on the pelvis should be noted, R3 = 96.09%.

The 3L12D dynamic model

represents the human body as three links with an

upper-body, right and left legs. The advantage of this model is to consider the dynamic influence of the legs. Despite the improvement, this model does not provide a better representation than the 1L6D model, according to the relevance criteria Rpel = 68.11% and RG = 76.32%. Furthermore, the resulting hip pitch torques, shown for the right ones in Figure 3.7, are far away from the ones of the Hanavan model and have a relevance R7 = 66.91%. Nevertheless, this representation seems sufficient to represent the dynamics resulting on the hip roll and yaw DoFs, R8 = 94.86% and R9 = 92.63%, respectively.

The 5L14D dynamic model

considers the legs with two links, i.e., the thigh and

shank-foot, and has an upper-body. With regard to the previous model (3L12D) the improvement is located only on the leg modeling. This model is hardly more relevant than the previous ones as shown in Figures 3.6 and according to the relevance Rpel = 72.95%. However, the 5L14D model provides a high accuracy in synthesizing the resulting dynamics on both legs, according to R7,14 = 99.02%. The latter observation highlights the importance of considering the leg dynamics, more especially of the shank-foot dynamics.

The 6L17D dynamic model

consists of modeling the upper part as one pelvis and

one upper-body. This modeling leads to a significant improvement in the relevance Rpel = 95.73% and RG = 97.16%. Despite the suitable representation of running dynamics obtained with the 6L17D model, let us evaluate how considering arms can improve the modeling.

The 8L19D dynamic model

presented in Section 3.3 considers two full-arms while

the rest remains the same as the 6L17D model. This model is the most complete of all the dynamic models evaluated in this study and its relevance Rpel = 97.42% for the pelvis DoFs is also the highest. Moreover, dynamics on the different articulations is well captured: the leg DoFs R7,14 = 99.02%, trunk DoFs R15,17 = 90.79%, and shoulders R18,19 = 96.11%. Considering these results, no more complex modeling is studied.

Chapter 3 Evaluation of Locomotion Through Inverse Dynamics Conclusion about the assumptions involving the number of link.

67 Within the

context of performing a dynamic running motion as human do with a humanoid robot, the previous evaluation allows several key points about the dynamic modeling to be identified. Firstly, it shows that the models concentrating masses at the CoM plus locked inertia [137] (i.e., representation equivalent to the 1L6D model) provide an excellent representation of the external behavior, but only for the vertical dynamic forces. Secondly, this evaluation points out the great influence of some parts of the body on the external and internal dynamics. Indeed, by observing the improvement between the 3L12D and 5L14D models, which is located on the leg modeling, it is obvious that the lower leg (here called the shank-foot) provides an important dynamic influence on the rest of the leg. Comparing the 5L14D and 6L17D models, a high improvement is also observed when the upper-body is modeled separately from the pelvis. It reveals its important contribution during the whole motion. The next section continues this evaluation by analyzing the influence of the link inertia on the dynamics.

3.4.2

Relation between link inertia and dynamics

This section discusses the possible assumptions involving link inertia. Firstly, relation between the relevance of a model and link inertia is highlighted. This is carried out by comparing the previous models (1L6D, 3L12D,..., 8L19D) with their concentrated mass version (1L6Dcm, 3L12Dcm,..., 8L19Dcm). Secondly, considering the results obtained, the influence of each link inertia is analyzed using the 8L19D model as an example. The small terms are highlighted and neglected leading to possible simplifications on the modeling.

3.4.2.1

Relevance of models with concentrated masses

The previous models (1L6D, 3L12D,..., 8L19D) are compared in Table 3.1 with their concentrated mass version (1L6Dcm, 3L12Dcm,..., 8L19Dcm), see Figure 3.5. All of the models with concentrated masses are obtained by neglecting inertia of all the links. The first observation is that Rpel and RG for the 1L6Dcm, 3L12Dcm, and 5L14Dcm models are better than that of their original versions, see Table 3.1. For these models, the consideration of the inertia decreases the model relevance. Regarding the poor accuracy of these models, a possible conclusion would be the compensation between some errors when neglecting inertia. However, for the 5L14D model it is worth noting 5L14D = that neglecting link inertia decreases the relevance at the hips and knees (i.e., R7,12 5L14Dcm = 97.44%, R5L14D = 98.21%, and R5L14Dcm = 88.61%), see Table 99.3%, R7,12 13,14 13,14

3.1. Moreover, when the model becomes sufficiently detailed the consideration of inertia

68

Chapter 3 Evaluation of Locomotion Through Inverse Dynamics

improves the relevance of the models. As can be seen in Table 3.1, for the 6L17D model and the 8L19D model, the relevance is better when inertia is considered. Table 3.1: Relevance of all of the models for their original and concentrated versions Relevances: Model

Rpel

R7,9

R10,12

R13

R14

R15,17

R18

R19

(Pelvis) (R Hip)

1L6D

71.26%

-

-

-

-

-

-

-

71.26%

1L6Dcm 81.12%

-

-

-

-

-

-

-

81.12%

68.11% 84.80% 84.27%

-

-

-

-

-

76.32%

3L12Dcm 73.10% 88.95% 88.54%

-

-

-

-

-

80.92%

72.95% 99.32% 99.27% 98.37% 98.05%

-

-

-

87.85%

5L14Dcm 76.53% 97.44% 97.44% 89.36% 87.86%

-

-

-

87.22%

95.73% 99.32% 99.27% 98.37% 98.05% 95.07%

-

-

97.16%

6L17Dcm 93.65% 97.44% 97.44% 89.36% 87.86% 87.85%

-

-

93.37%

97.42% 99.32% 99.27% 98.37% 98.05% 96.11%

91.70%

89.87%

97.19%

8L19Dcm 96.76% 97.44% 97.44% 89.36% 87.86% 94.25%

92.41%

90.84%

95.18%

3L12D 5L14D 6L17D 8L19D

3.4.2.2

(L Hip) (R Knee) (L Knee) (Trunk) (R Shoulder) (L Shoulder)

RG

names

(All)

Evaluation of the inertia influences

All of the terms composing W depending on inertia are evaluated to identify and neglect the smallest ones with the aid of the decreasing relevance criterion defined by Equation (3.3.14). This method aims to provide insight on the relation between inertia and the model relevance, from what accurate simplifications on a model can be considered. To do that, the 8L19D model is used as an example. Tables 3.2, 3.3 and 3.4 give the consequences of neglecting one by one each inertia term composing W on the relevance of the 8L19D model. Only the results of the left side are shown. The results are almost identical or even less critical for the right side. In the whole, the y-axis inertia terms are the most important ones. More precisely, Table 3.2 and 3.4 show that all of the x-axis and z-axis inertia terms are negligible. Tables 3.3 show the importance of considering the dec λ6 = 6.65%, of the full-arms δ dec λ8 = 5.70%, y-axis inertia terms of the trunk δ15 y y 19 dec λ5 = 11.02%. and of the shank-feet δ14 y

Chapter 3 Evaluation of Locomotion Through Inverse Dynamics

69

Table 3.2: Influence of the x-axis inertia terms on the 8L19D model relevance based on the decreasing relevance criterion   Decreasing relevance δidec λkx with:

Pelvis DoFs

Left Hip DoFs Left Knee DoF Trunk DoFs Left Shoulder DoF

qi =

k=1 (Pelvis)

k=3 (L Thigh)

q4 q5 q6 q10 q11 q12 q14 q15 q16 q17 q19

0.02% 0.39% < 0.01% -

0.04% 0.41% 0.62% 0.11% 1.10% < 0.01% -

k=5 (L

Shank-foot)

0.05% 0.24% 1.28% 0.18% 0.65% 4.27% < 0.01% -

k=6 (Trunk) 0.32% 1.26% 0.91% 0.79% 4.00% < 0.01% -

k=8 (L

Full-arm)

0.03% 0.10% 0.26% 0.07% 0.35% 0.32% < 0.01%

Table 3.3: Influence of the y-axis inertia terms on the 8L19D model relevance based on the decreasing relevance criterion   Decreasing relevance δidec λky with:

Pelvis DoFs

Left Hip DoFs Left Knee DoF Trunk DoFs Left Shoulder DoF

qi =

k=1 (Pelvis)

k=3 (L Thigh)

q4 q5 q6 q10 q11 q12 q14 q15 q16 q17 q19

0.22% < 0.01% < 0.01% -

1.52% 0.07% 0.37% 2.82% 0.25% < 0.01% -

k=5 (L

Shank-foot)

2.08% 0.09% 0.59% 3.86% 0.31% < 0.01%

k=6 (Trunk) 2.48% 0.30% 0.39% -

11.02%

5.65%

-

1.04% < 0.01% -

k=8 (L

Full-arm)

1.06% 0.13% 0.18% 2.41% 0.44% < 0.01%

5.70%

Table 3.4: Influence of the z-axis inertia terms on the 8L19D model relevance based on the decreasing relevance criterion   Decreasing relevance δidec λkz with:

Pelvis DoFs

Left Hip DoFs Left Knee DoF Trunk DoFs Left Shoulder DoF

qi =

k=1 (Pelvis)

k=3 (L Thigh)

q4 q5 q6 q10 q11 q12 q14 q15 q16 q17 q19

0.01% < 0.01% 0.40% -

0.01% 0.02% 0.18% 0.02% < 0.01% 0.70% -

k=5 (L

Shank-foot)

0.01% 0.03% 0.12% 0.01% 0.09% 0.42% < 0.01% -

k=6 (Trunk) 0.02% 0.08% 1.75% 0.13% < 0.01% 3.28% -

k=8 (L

Full-arm)

0.02% 0.07% 0.43% 0.09% 0.14% 0.87% < 0.01%

Thus, by neglecting each inertia term that gives a decreasing relevance δqdec (p) < 5%, j the following set of assumptions is found: Ik =

OB k ⎞ ⎛ 0 0 0 ⎟ ⎜ k 0⎟ Ik = ⎜ 0 λ y ⎠ ⎝ 0 0 0

Bk

∀k ∈ [1, 3]

(3.4.1)

∀k ∈ [4, 8]

(3.4.2)

70

Chapter 3 Evaluation of Locomotion Through Inverse Dynamics

A corresponding simplified version of the 8L19D, with only these selected inertia terms, is generated. It is compared with the 8L19D and the 8L19Dcm models in Table 3.5. Table 3.5: Synthesis of the inertia assumptions relevance for the 8L19D model Versions of the 8L19D model: Complete

Selected inertias

Concentrated masses

Rpel

97.42%

97.38%

96.76%

RC

97.19%

96.58%

95.18%

The evaluation conducted on the link inertia terms reveals that only a few ones are important to correctly represent dynamics in running motion. A modified version considering only the important ones, simplifying H, B, and C, does not clearly decrease the model relevance. Indeed, the relevance criteria Rpel and RC for the simplified version of the 8L19D model are smaller by 0.04% and 0.61%, respectively (Table 3.5). The next section focuses on the evaluation and simplification of the centrifugal and Coriolis terms B and C, which are the most complex of the vector W .

3.4.3

Relation between centrifugal and Coriolis terms and dynamics

As the previous section discussed on the evaluation and simplification of the inertia terms, this section presents a similar study led on the centrifugal and Coriolis terms and joint velocities.

3.4.3.1

Evaluation of the influence of the centrifugal and Coriolis terms

The complexity of W is mainly due to the system inertia matrix term, H, and centrifugal and Coriolis terms, B and C. The previous section presented an evaluation of the influence of the inertia terms on the model dynamics. It leads to several simplifications on the modeling reducing H, B, and C complexity. The current section presents the same evaluation done on the vectors B and C. The aim is to highlight what are the substantial terms and how far these vectors can be simplified. The decreasing relevance

by considering separately each β k , ζ k , see Equation (3.3.4), is described in Table 3.6. Table 3.6 shows that only a few centrifugal and Coriolis terms are substantial, namely the ones due to the shank-foot (k ∈ {4, 5}). Therefore, the following assumptions are derived: ⎧

⎨ B β 4 + β 5 · q˙ 2 ⎩ C 2 ζ 4 + ζ 5 · q˙ · q˙

(3.4.3)

Chapter 3 Evaluation of Locomotion Through Inverse Dynamics

71

Table 3.6: Influence of the centrifugal and Coriolis terms on the 8L19D model relevance based on the decreasing relevance criterion Decreasing relevance δidec

Pelvis DoFs

Left Hip DoFs Left Knee DoF Trunk DoFs Left Shoulder DoF

qi =

k=1 (Pelvis)

k=3 (L Thigh)

q1 q2 q3 q4 q5 q6 q10 q11 q12 q14 q15 q16 q17 q19

< 0.01% < 0.01% < 0.01% < 0.01% < 0.01% 0.03% -

1.13% 1.23% 1.89% 0.45% 0.68% 0.81% 0.47% 0.96% 0.18% -



β k , ζ k with:

k=5 (L

Shank-foot)

8.09% 5.04% 6.52% 9.26% 3.65%

8.41% 12.90% 7.04% 10.58% 13.51% -

k=6 (Trunk) 0.76% 0.51% 3.07% 0.63% 0.21% 0.26% 1.29% 0.58% 0.43% -

k=8 (L

Full-arm)

0.67% 2.37% 0.76% 0.47% 0.63% 1.08% 0.86% 1.75% 1.80% 0.97%

) * 2 T and ’·’ is the dot product as defined in Chapter 2. where q˙ 2 = q˙12 . . . q˙19 The relevance of a simplified version of the 8L19D model assuming Equation (3.4.3) is presented in Table 3.7. It is compared with the 8L19D model, and another version of the 8L19D model neglecting all of the centrifugal and Coriolis forces. Table 3.7: Synthesis of the centrifugal and Coriolis terms assumptions on the 8L19D model relevance Versions of the 8L19D model: Selected

Complete

Neglected

centrifugal and Coriolis terms centrifugal and Coriolis terms Rpel

97.42%

96.73%

92.98%

RG

97.19%

96.87%

92.92%

Table 3.7 shows that neglecting all the centrifugal and Coriolis terms decreases Rpel RG of about 5% while considering only the substantial ones decreases both relevance criteria of about 0.5%. This first analysis concerning the B and C terms leads to highlight the substantial terms, namely, those of both shank-feet. However, these terms are still complex. Indeed, since the shank-foot is located at the end of the leg kinematic chain with 10 downstream DoFs (pelvis DoFs plus hip and knee DoFs) and 2 links (the pelvis and thigh), its influence on the system dynamics is the most complex. Consequently, the terms β k and ζ k for k ∈ {4, 5} are analyzed through DoF velocities to evaluate what are the important coefficients.

72

Chapter 3 Evaluation of Locomotion Through Inverse Dynamics

3.4.3.2

Evaluation of the DoF velocities

During bipedal locomotion, some DoF velocities are very small, such as the pelvis revolute ones. Thus, it is interesting to evaluate each DoF velocity, which can lead to additional relevant assumptions concerning the reduction of the high complexity of B and C. Firstly, considering the following points: • the centrifugal and Coriolis terms of both shank-feet do not depend on the upperbody DoFs, • the centrifugal and Coriolis terms do not depend on the pelvis linear velocities, • the legs are independent of each other from the dynamic point of view, the centrifugal and Coriolis terms of both shank-feet are written as follows: !

!

4 βij =0 4 ζijn =0 5 βij

=0

5 ζijn =0

, if j or n ∈

, if j or n ∈

⎧ ⎨

⎫ ⎬

1, 2, 3 , 7, 8, 9, 13, 15, 16, 17, ⎩ . /0 1 . /0 1 . /0 1 ⎧ ⎨

18, 19 . /0 1

(3.4.4)



Pelvis DoFs RLeg DoFs Trunk DoFs Shoulder DoFs

1, 2, 3 , 10, 11, 12, 14, 15, 16, 17, /0 1 . /0 1 ⎩ . /0 1 . Pelvis DoFs

LLeg DoFs

⎫ ⎬

18, 19 . /0 1

(3.4.5)



Trunk DoFs Shoulder DoFs

Given Equations (3.4.4) and (3.4.5), the analysis of the shoulder and trunk DoF velocities are omitted. Only the left side, with higher velocities, is analyzed. Table 3.8: DoF average angular velocities Pelvis DoFs DoF names Average angular velocities (rad.s−1 )

q4

pitch

0.40

q5

roll

0.85

Left Hip DoFs q6

yaw

0.34

q10

pitch

3.80

q11

roll

1.36

Left Knee DoF

q12

yaw

1.54

q14

pitch

6.38

Table 3.8 gives the average of the absolute velocities for the different DoFs. It shows that only the y-axis DoFs of the hip and of the knee, namely, q10 and q14 , have high velocities above 3.5 rad.s− 1. The other DoFs have an average velocity that is under 1.54 rad.s− 1. Let us evaluate the centrifugal and Coriolis terms omitting the small velocities, namely,

Chapter 3 Evaluation of Locomotion Through Inverse Dynamics

73

those under 1.54 rad.s− 1, such as for both legs we have: ⎧ 4 ⎨ β4 β4 ij i,j=7 + βi,j=13

(3.4.6)

⎩ ζ4 ζ4 ijn i,j=13,n=7 ⎧ 5 ⎨ β5 β5 ij i,j=10 + βi,j=14 ⎩ ζ5 ζ5 i,j=14,n=10 ijn ⎧ ⎨ Bi q˙2 β 4 + q˙2 β 5 + q˙2 β 4 + q˙2 β 5 7 i,7 10 i,10 13 i,13 14 i,14 ⇒ 5 ⎩ C 2 q˙ q˙ ζ 4 i 13 7 i,13,7 + 2 q˙14 q˙10 ζi,14,10

(3.4.7)

(3.4.8)

where : • i ∈ [1, 19]. • q˙7 and q10 ˙ are the pitch velocities of the right and left hips, respectively. ˙ are the right and left knee joint velocities, respectively. • q13 ˙ and q14 A modified version of the 8L19D model, considering the assumptions of Equations (3.4.6) and (3.4.7), is compared with other versions of the 8L19D model in Table 3.9. Table 3.9: Synthesis of the centrifugal and Coriolis forces assumptions on the 8L19D model relevance Versions of the 8L19D model:

Complete

Selected+Simplified

Selected

Neglected

centrifugal and

centrifugal and

centrifugal and

Coriolis terms

Coriolis terms

Coriolis terms

Rpel

97.42%

96.56%

96.73%

92.98%

RG

97.19%

96.71%

96.87%

92.92%

Table 3.9 shows that the evaluation on the level of DoF velocities leads to the conclusion that only the sagittal motion of the hips and knees are important in the dynamics. From the latter, simple but numerous simplifications on the centrifugal and Coriolis terms can be made on a dynamic model while decreasing the model relevance by less than 1%. To summarize, the 8L19D model was analyzed to identify the substantial parameters in the running dynamics. In this way, the influence of various parameters, such as link inertia and DoF velocities, were analyzed using a motion capture sequence of a human running motion. From this evaluation, two sets of assumptions were suggested. The first one considers only important link inertia terms, and the second only important centrifugal and Coriolis terms, and in them, only a few DoF velocities. To finish the study, the combination of these two sets of assumptions is now evaluated on the 8L19D.

74

3.4.4

Chapter 3 Evaluation of Locomotion Through Inverse Dynamics

A simplified model

Sections 3.4.2 and 3.4.3 allowed the model parameters, which are important in representing the running motion dynamics, to be identified. This study leads to provide information on how far a dynamic model can be simplified for a dynamic running motion, by highlighting, the important inertia, centrifugal, and Coriolis terms in the equations of motion. This section presents how relevant is the 8L19D-run model, which considers the combination of the previous analyses. In other words, it gathers the different assumptions presented in Equations (3.4.1) to (3.4.2), (3.4.3), (3.4.6), and (3.4.7) and is compared with the 8L19D model in Table 3.10. The previous analyses highlight what Table 3.10: Relevance of the 8L19D and 8L19D-run models Model names 8L19D

8L19D-run

Rpel

97.42%

96.45%

RG

97.19%

96.11%

are the essential terms that mainly represent the whole dynamics, and how to simplify a dynamic model, illustrated through the 8L19D-run model. Gathering all of the assumptions emphasized during this study allows the simplification of the 8L19D model while decreasing its relevance by about 1%. The next section presents a brief summary of all of the previous evaluation results.

3.4.5

Dynamic models summary

In Section 3.4, the relevance of the various dynamic models was evaluated using various criteria presented in Section 3.3.3. The evaluation results are summarized in Table 3.11. Moreover, the analysis concerning the inertia, centrifugal and Coriolis terms was shown in Sections 3.4.2.2 and 3.4.3.1, respectively. The study highlights how strong these terms are related to the system dynamics in the case of the human dynamic running motion. This leads to indicate how far a dynamic model can be simplified for a specific dynamic motion. It has been exposed through the 8L19D model transformed into a simplified version named 8L19D-run. Considering the development made in Chapter 2, the equations of motion the 8L19D-run model can be written as follows:

Wi =

D L  

k Hij q¨j + Gik

k=1 j=1 4 2 5 2 4 2 5 + q˙72 βi,7 + q˙10 βi,10 + q˙13 βi,13 + q˙14 βi,14 4 5 + 2 q˙13 q˙7 ζi,13,7 + 2 q˙14 q˙10 ζi,14,10

(3.4.9)

Chapter 3 Evaluation of Locomotion Through Inverse Dynamics

75

with:

k = Kk · dkj · dki Hij

k ˆ kj Kk · dkj · dki βij = Φ



k = dual Lk · Φkn .dkj · dki ζijn Gik = −mk g ϕkg · σ ki

(3.4.10) (3.4.11) (3.4.12) (3.4.13)

The relevance of the 8L19D-run model is presented in Table 3.11. Note the unexpected variations according to the different 8L19D versions in the relevance Rpel , R18 , and R19 . For the relevance of both shoulders, it can be assumed that this improvement in relevance while simplifying the modeling can be the result of some error compensations due to a bad modeling of the full-arm. Concerning Rpel , we can observe that the one of 8L19D-run is lower than for 8L19Dcm. However, it should be recalled that while the 8L19Dcm models neglects all the inertia terms, the 8L19D-run considers a few of them, but it also neglects a large number of centrifugal and Coriolis terms. The same study was led with the 6L17D model leading to similar results. The simplified model resulting from this study named 6L17D-run considers the same assumptions on the centrifugal and Coriolis terms as the 8L19D-run model and considers the following ones for the inertia terms: Ik =

OB k ⎛ λkx 0 ⎜ k Ik = ⎜ ⎝ 0 λy 0 0 ⎛ 0 0 ⎜ k k I =⎜ ⎝0 λy 0 0



0

⎟ 0⎟ ⎠ 0

λkz ⎞

⎟ 0⎟ ⎠ 0

∀k ∈ {1, 2, 3} ≡ {pelvis, thighs} k = {6} ≡ {trunk}

(3.4.14)

(3.4.15)

Bk

k = {4, 5, 7, 8} ≡ {shank-feet, full-arms}

(3.4.16)

Bk

The relevance of the 6L17D-run model is detailed in Table 3.11. The same study has also been conducted for the walking motion with motion capture data of human walking. Very similar results were obtained, see Appendix B.2, and the 8L19D could be simplified to obtain a modified version called the 8L19D-walk model. The 8L19D-walk model assumes exactly the same assumptions on the centrifugal and Coriolis terms than the

76

Chapter 3 Evaluation of Locomotion Through Inverse Dynamics Table 3.11: Summary of each model relevance for dynamic running motion Relevances: Model

Rpel

R[7,9] R[10,12]

(L

Knee)

(Trunk) (R

Shoulder)

R19 (L

Shoulder)

RG

1L6D

71.26%

-

-

-

-

-

-

-

71.26%

-

-

-

-

-

-

-

81.12%

68.11% 84.80% 84.27%

-

-

-

-

-

76.32%

3L12Dcm 73.10% 88.95% 88.54%

-

-

-

-

-

80.92%

72.95% 99.32% 99.27% 98.37% 98.05%

-

-

-

87.85%

5L14Dcm 76.53% 97.44% 97.44% 89.36% 87.86%

-

-

-

87.22%

95.73% 99.32% 99.27% 98.37% 98.05% 95.07%

-

-

97.16%

6L17Dcm 93.65% 97.44% 97.44% 89.36% 87.86% 87.85%

-

-

93.37%

6L17D-run 95.32% 97.97% 97.76% 98.28% 97.17% 94.99%

-

-

96.44%

97.42% 99.32% 99.27% 98.37% 98.05% 96.11%

91.70%

89.87%

97.19%

8L19Dcm 96.76% 97.44% 97.44% 89.36% 87.86% 94.25%

92.41%

90.84%

95.18%

8L19D-run 96.45% 97.97% 97.76% 98.28% 97.17% 94.41%

91.53%

89.97%

96.11%

8L19D

Knee)

R18

1L6Dcm 81.12%

6L17D

(R

R[15,17]

Hip)

5L14D

Hip)

R14

(Pelvis) (R

3L12D

(L

R13

names

(All)

8L19D-run model, while assumptions on the inertia terms are slightly different: Ik =

OB k ⎛ λkx 0 ⎜ k Ik = ⎜ ⎝ 0 λy 0 0 ⎛ 0 0 ⎜ k ⎜ I = ⎝0 λky 0 0 ⎛ 0 0 ⎜ k k I =⎜ ⎝0 λy 0 0

⎞ 0 ⎟ 0⎟ ⎠ 0 k ⎞B 0 ⎟ 0⎟ ⎠ λkz k ⎞ B 0 ⎟ 0⎟ ⎠ 0 k

∀k ∈ {1, 2, 3} ≡ {pelvis, thighs}

(3.4.17)

∀k ∈ {4, 5} ≡ {shank-feet}

(3.4.18)

k = {6} ≡ {trunk}

(3.4.19)

∀k ∈ {7, 8} ≡ {full-arms}

(3.4.20)

B

Table 3.12 summarizes the evaluation results conducted on the walking motion.

3.5

Conclusions

Dynamic models commonly used to control bipedal running/walking robots are usually highly simplified while the impact of these simplifications on the dynamics is unknown. Thus, the following question was raised: what is the relevance level of a dynamic model in quantitative terms? In other words, to what percentage does a simplified model correctly reflect the dynamic behavior of a biped robot walking and/or running? The equations of the different dynamic models were formulated, and five criteria were suggested: total relevance (RG ), external relevance (Rpel ), internal relevance per degree of freedom (Ri ), partial internal relevance (Ra,b ), and a criterion of reduction in relevance (δidec ). These

Chapter 3 Evaluation of Locomotion Through Inverse Dynamics

77

Table 3.12: Summary of each model relevance for dynamic walking motion Relevances: Model

Rpel

R[7,9] R[10,12]

(L

Knee)

(Trunk) (R

Shoulder)

R19 (L

Shoulder)

RG

1L6D

70.55%

-

-

-

-

-

-

-

70.55%

85.43%

-

-

-

-

-

-

-

85.43%

65.68% 77.88% 72.79%

-

-

-

-

-

70.50%

3L12Dcm 71.76% 80.90% 79.99%

-

-

-

-

-

76.10%

81.15% 96.81% 97.46% 97.07% 97.66%

-

-

-

90.32%

5L14Dcm 86.71% 94.32% 94.26% 89.63% 89.65%

-

-

-

90.38%

96.75% 96.81% 97.46% 97.07% 97.66% 92.71%

-

-

96.25%

6L17Dcm 95.47% 94.32% 94.26% 89.63% 89.65% 87.14%

-

-

92.90%

6L17D-walk 96.36% 95.89% 96.32% 97.10% 97.55% 92.72%

-

-

95.74%

97.85% 96.81% 97.46% 97.07% 97.66% 96.98%

81.86%

81.56%

95.74%

8L19Dcm 96.60% 94.32% 94.26% 89.63% 89.65% 94.03%

82.74%

80.90%

93.18%

8L19D-walk 97.32% 95.89% 96.32% 97.10% 97.55% 95.80%

81.89%

81.55%

95.05%

8L19D

Knee)

R18

1L6Dcm

6L17D

(R

R[15,17]

Hip)

5L14D

Hip)

R14

(Pelvis) (R

3L12D

(L

R13

names

(All)

criteria were used to evaluate different models with respect to a reference one. The evaluation of different dynamic models was performed using the motion analysis of one subject running at 3.96 m.s−1 , and one subject walking at 1.28m.s−1 chosen among a database of 25 healthy subjects at their comfortable walking speed. In terms of relevance with regard to a reference model (the modified Hanavan model), the results were very similar from one subject to another for the walking study, and evaluation results for the walking and running motions were also similar. An initial model called 8L19D (8 links, 19 DOFs) was established. From this model, a series of models were built (1L6D, 3L12D, 5L14D, 6L17D). These five models were evaluated according to the four relevance criteria with respect to the modified Hanavan model. Afterwards, a deeper analysis on the importance of link inertia and centrifugal and Coriolis terms was conducted. Various results were obtained, such as the relation between the relevance of the modeling and: 1) the number of links, 2) the link inertia terms, 3) the centrifugal and Coriolis terms. They pointed out that some parts of the system are crucial in capturing the dynamic behavior of the system, for instance, the lower legs and an upper-body separated from the pelvis. Moreover, to reduce the model’s complexity it was shown that it is possible to neglect numerous parameters of the equations of motion, such as link inertia, centrifugal, and Coriolis terms, with low consequences on the model relevance. To summarize, the current study highlights the following guideline for building a reliable modeling for representing the dynamic behavior of a running and/or walking bipedal robot: • the robot’s upper-part needs to be modeled as two separate links, • the lower leg has to be modeled separately from the upper-leg, • the x-axis inertia terms of the lower leg should be considered for dynamic walking motion,

78

Chapter 3 Evaluation of Locomotion Through Inverse Dynamics • the y-axis inertia terms of the trunk, lower leg, and arm, if any, should be considered, • the z-axis inertia terms of the trunk, if there is no arm, should be considered, • only the centrifugal and Coriolis terms of the lower leg need to be considered in the modeling, • among the numerous centrifugal and Coriolis terms, only those considering the hip pitch and knee velocities are substantial in the modeling.

While the latter summarize shows that to generate human-like walking and/or running motion based on the dynamic model of a robot can be greatly simplified, it is still highly complex to use it for the control or planning the system behavior. In this way, it is firstly crucial to gain insight on the human-like fast locomotion that will allow easier and more efficient use of such a dynamic representation.

Chapter 4

Control Strategies for Bipedal Locomotion 4.1

Introduction

In Chapter 3, we conducted two analyses on the human-like locomotion, i.e., one for the running motion and another for the walking motion. It has been achieved through the use of the formalism of the equations of motion presented in Chapter 2 and led to various key information on the locomotion dynamics. The whole study has conducted to a guideline answering the question: how far can a dynamic model be simplified while still representing accurately the human-like running and walking motions? As a result, notable facts such as the importance of the trunk and lower leg in the locomotion dynamics have been highlighted. However, it was also highlighted that to accurately represent the dynamics of the human-like locomotion, a complex modeling of the system considered has to be implemented even after considering the various possible simplifications collected. Regarding the latter fact, the exploration of the control of bipedal locomotion is first conducted with the aim of generating and understanding the running and walking motions. Based on the control algorithm developed by J. Pratt et al. [117, 115] which proved efficiency on generating a 3D walking motion, we suggest an extension to simulate the running motion. A similar philosophy to the ones used by [120, 109, 115] is considered here by defining five conditions to meet for achieving a running motion: to control height, speed, robot orientation, swing leg reactivity, and angle of attack. From the running algorithm architecture, two extensions are then suggested, a first one for walking and one to enable the transition from walking to running. While only the summary of these two algorithms is provided in the current, they are fully presented in Appendix C. 79

80

Chapter 4 Control Strategies for Bipedal Locomotion

4.2

Robot model

The simulated 3D bipedal robot is M2, see Figures 4.1(a) and 4.1(b), that has two 6DoF legs. Its physical parameters and dimensions are recalled in Tables 4.1 and 4.2, the latter is enhanced by Figure 4.2, see [105] for more details. We added a trunk, see Figure 4.1(c), articulated by 3 DoFs centered at the body’s CoM, they are ordered from trunk , q trunk , and q trunk . This trunk is used to help in the body to the trunk as follows: qyaw pitch roll

keeping the robot balanced during the flight phase. Trunk 16 kg Body 12 kg

Trunk

Trunk

Body

Thigh 2.7 kg

Thigh

Shin 2.7 kg



Foot 0.7 kg





Shin





࢞ (a)



Foot

(b)

࢞ (c)

Figure 4.1: Description of the robot M2 with the trunk. (a) mass distribution highlighting the non-negligible leg mass, (b) robot’s leg kinematics, (c) simulation snapshot showing the trunk.

Front

Side ࢠ࢚࢛࢘࢔࢑ ࡯࢕ࡹ ࢈࢕ࢊ࢟

ࢠ࡯࢕ࡹ

ࢎ࢏࢖

࢟࢕ࢌࢌ࢙ࢋ࢚ ࡸ࢚ࢎ࢏ࢍࢎ

ࡸ࢙ࢎ࢏࢔ ࢌ࢕࢕࢚

ࡸ࢟

ࢌ࢕࢕࢚

ࢌ࢕࢕࢚

ࡸࢠ

ࡸ࢞

Figure 4.2: Dimensions of M2 plus the trunk, see Table 4.2 for parameter values.

Chapter 4 Control Strategies for Bipedal Locomotion Table 4.1: Physical parameters of M2 [115] with the trunk.

Link

Mass (kg)

Table 4.2: Dimensions of M2 [115] with the trunk, see Figure 4.2 for correspondences.



Inertia kg.m2 Ixx Iyy Izz

Dim. (m) hip yoffset body zCoM trunk zCoM Lthigh

Trunk 16.00 0.304 0.304 0.272 Body 12.75 0.23

81

0.23 0.206

Thigh 2.74 0.044 0.044 0.004 Shin

2.70 0.054 0.054 0.003

Foot

0.66 0.001 0.002 0.002

Dim. (m)

0.092

Lshin

0.432

0.160

Lfoot x Lfoot y Lfoot z

0.203

0.200 0.432

0.089 0.051

The trunk mass of 16 kg was chosen considering anthropomorphic proportion between the upper and lower parts. The joint vectors of the resulting robot are as follows: • The vector of joint positions q =



q body

q trunk

q lleg

q rleg



, where q body is the

position vector of the 6 DoFs linking the body to the world reference frame, q trunk is the position vector of the trunk DoFs, q lleg and q rleg the position vector of the left and right leg DoFs, respectively:  q body = x y  trunk q trunk = qyaw  lhip q lleg = qyaw  rhip q rleg = qyaw

 z ϕx ϕy ϕz  trunk q trunk qpitch roll lhip lhip lhip lankle q lankle qroll qpitch qpitch qroll pitch

(4.2.1) 

rhip rhip rhip rankle q rankle qroll qpitch qpitch qroll pitch



(4.2.2) (4.2.3) (4.2.4)

• Using the same notation, the vector of joint velocities, accelerations, and torques are respectively written as follows:   q˙ = q˙ body q˙ rm q˙ lleg q˙ rleg   q¨ = q¨body q¨rm q¨lleg q¨rleg   τ = τ rm τ lleg τ rleg

(4.2.5) (4.2.6) (4.2.7)

Note that z¨ is the body vertical acceleration and takes into account the gravity magnitude here named g. For more clarity, most of the time, the distinction between the robot’s right and left sides will not be made during the presentation of the control methodology.

82

Chapter 4 Control Strategies for Bipedal Locomotion

4.3

Control approach for running

As mentioned earlier, the control approach is inspired by those suggested in [120, 109, 115]. Five conditions necessary for achieving running motion have been defined: 1. apex1 height needs to be controlled and stabilized, 2. average speed needs to be controlled and stabilized, 3. robot orientation (i.e. pitch, roll, and yaw of the robot’s body) needs to be controlled and stabilized, 4. the swing-leg needs to move in time to ensure the next angle of attack, 5. angle of attack needs to be controlled and stabilized. The running control algorithm has been developed combining various biomechanical observations, such as the spring-mass model, with an intuitive approach used to fulfill the above five conditions. In the next sections, the control algorithm is presented and the five conditions are progressively answered using various strategies.

4.3.1

State machine

The control is based on a state machine for each leg, see Figure 4.3, which is inspired by a biomechanical analysis [59]. It is composed of five different states and five state transitions. These five states can be divided into two phases with different control features: • The stance phase is defined by the contact of one foot with the ground. It gathers the support, toe-off, and swing states (highlighted in yellow in Figure 4.3). During the stance phase, the stance hip DoFs are used to keep the body’s balance, and the spring-mass model is used at the stance knee to control the robot behavior. As it will be shown in Section 4.3.5, the properties of the spring-mass model can be used to control and stabilize the apex height, i.e., the first condition necessary for running. • The flight phase is defined by the absence of any contact between the robot and the ground. It gathers the pre-swing and straighten states (highlighted in blue in Figure 4.3). During the flight phase, the trunk is servoed to help in maintaining the body’s balance. In addition to the control of the body orientation in stance phase, the second condition for achieving a running motion can be ensured. 1

The apex event marks the highest point of the CoM trajectory, as defined in [42]. Basically, in running motion, it normally happens approximately in the middle of the flight. Note that, in this thesis, the body’s position substitutes the robot’s CoM for defining the apex event.

Chapter 4 Control Strategies for Bipedal Locomotion

Support

Virtual leg al passes vertical

Touchdown

Straighten

83

Flight

Toe-Off

Contact

Takeoff f ff

Swing

Ta T k of ke off Takeoff

Pre-Swing wing Touchdown

Figure 4.3: State machine of each leg. It is composed of five states: support, toe-off, pre-swing, swing, and straighten and five transitions. Each state is represented with a simulation snapshot and describes the state of the red leg.

The main features during each state are the following: • straighten state: the hip is controlled to reach a desired angle of attack safe enough to ensure the next stance phase. The knee is maintained slightly flexed to avoid high impact force at touchdown. The foot is servoed to initiate the next touchdown with the toe, generating a gait called forefoot running. The straighten state gathers the strategy that aims to stabilize the next stance phase, matching with the last condition for achieving running. • support state: benefiting from the forefoot running gait, the ankle is damped to decrease the first peak force due to touchdown. • toe-off state: the ankle is servoed to propel the robot with the aim of controlling and stabilizing the apex height and forward speed, i.e., the first two conditions for running.

84

Chapter 4 Control Strategies for Bipedal Locomotion • pre-swing state: a quick and high flexion of the knee is imposed to increase the ground clearance and reduce the leg inertia. The latter is enhanced by the flexion of the hip initiating the swing state. • swing state: the aim is here to answer to the fourth condition for achieving running, i.e., the hip is coordinated to the stance leg to swing forward as fast as needed and to slow down before takeoff.

The control algorithm is now detailed and discussed state by state. All of the gain values used to achieve a 3.5 m.s−1 running motion are gathered in Appendix D.1.

4.3.2

Control algorithm

The control algorithm is divided into five states. The laws applied to servo each DoF are now presented state by state, the control parameter values used for the next chapter are given in Appendix D.1. Since the control algorithm is an extension from the J. Pratt’s 3D bipedal walking simulation [117, 115], various control laws remains the same or similar to the latter. However, they are still presented and discussed in this thesis, but the author invites the reader to consult J. Pratt’s Ph.D. thesis [115] and the corresponding conference paper [117]. Finally, some of the controls depend on the robot current phase, i.e., flight or stance phase, and not on the current state. These controls are first presented in the next two paragraphs.

The flight phase

gathers the straighten state for the current front leg and the pre-

swing state for the current rear leg. It begins once takeoff has been detected and finish at the next touchdown instant. The only common control during the whole phase is the one of the trunk that helps in stabilizing the body orientation. The main idea is to apply torques on the body that stabilizes it. The ideal situation would be that the body is connected to the world with three revolute joints allowing a simple PD controller to control body’s orientation as follows: τϕx = −Kϕx ϕx − Bϕx ϕ˙ x

(4.3.1)

τϕy = −Kϕy ϕy − Bϕy ϕ˙ y

(4.3.2)

τϕz = −Kϕz ϕz − Bϕz ϕ˙ z

(4.3.3)

Although that considering the robot studied being bipedal such situation is not possible, it is possible to design a first system that can help in decreasing at least the body’s

Chapter 4 Control Strategies for Bipedal Locomotion

85

angular velocities such as: τϕx = −Bϕx ϕ˙ x

(4.3.4)

τϕy = −Bϕy ϕ˙ y

(4.3.5)

τϕz = −Bϕz ϕ˙ z

(4.3.6)

To do that, we first developed the temporary solution presented in Figure 4.4. The Table 4.3: Physical parameters of the three reaction masses

SE S

Link

SD

J

Sα Sβ Sγ

Mass Inertia kg.m2 (kg) Ixx Iyy Izz 5.33 0.304 0.000 0.000 5.33 0.000 0.304 0.000 5.33 0.000 0.000 0.272

Reaction Masses

ࢠ ࢠ



S E S J SD

Body



Figure 4.4: M2 plus three reaction masses. These three reaction masses were a first temporary solution to stabilize the system during the flight phase.

Figure 4.5: Reaction mass kinematics. Each reaction mass is articulated with one DoF to the body. The three DoFs are all centered at the body’s CoM.

system consists in three reaction masses each one directly articulated to the body’s CoM by one DoF, see Figure 4.5. As shown in Table 4.3, each reaction mass has only one inertia term and the CoM is centered on its joint axis. The chosen configuration of these reaction masses aims to decouple their motion with respect to the body dynamics. For instance, with only a non-zero inertia around the x-axis and a CoM centered at the joint axis, the motion of S α only affects the body around the x-axis without applying any torque in the other directions. Therefore, with this configuration, each reaction mass can slow down each body angular velocity without interfering with the two others, as follows: τ α = B α ϕ˙ x

(4.3.7)

τ β = B β ϕ˙ y

(4.3.8)

τ γ = B γ ϕ˙ z

(4.3.9)

86

Chapter 4 Control Strategies for Bipedal Locomotion

where the B i with i ∈ {α, β, γ} are the damping gains for each reaction mass. Regarding τx , τy , and τz that are, in the ideal situation, the torques applied on the body and τ α , τ β , and τ γ the torques on the reaction masses, we have: ⎧ ⎫ ⎪ τϕ = −B α ϕ˙ x τϕx = −τ α ⎪ ⎪ ⎪ ⎪ ⎪ ⎨ x ⎬ τϕy = −τ β ⇒ τϕy = −B β ϕ˙ y ⎪ ⎪ ⎪ ⎪ ⎪ γ⎪ ⎩ τ = −B γ ϕ˙ ⎭ τϕz = −τ ϕz z

(4.3.10)

Equation (4.3.10) shows that it is possible to apply torques on the body thanks to the three reaction masses and thus to stabilize the body angular velocities. However, the stabilization is limited by considering that the three reaction masses are limited in motion range and maximum velocity. The major problem of the three reaction masses is the non-feasibility of designing a rigid body with only one inertia term. Nevertheless, regarding the satisfying results obtained with the concept of the reaction masses, we have further extended the idea. The improvement has been to consider the three reaction masses as a unique body called the trunk and to serialize the three revolute DoFs, see Figures 4.1(b) and 4.1(c). With respect to the simulation results obtained with the three reaction masses, the order of the trunk DoFs has been decided by placing them in order of importance, namely, from the body to the trunk, yaw, pitch, and then roll. Therefore, the yaw DoF can be used to stabilize the body yaw with the minimum of disturbance coming from the two other DoFs. The control is achieved as follows: trunk trunk trunk trunk qyaw + Byaw ϕ˙ z τyaw = −Kyaw

(4.3.11)

trunk q trunk limits the trunk yaw maximum angle, and the second aims where the term Kyaw yaw

to decrease the body yaw velocity. The running motion can be achieved by simply maintaining the two other DoFs close to 0◦ . However, stabilizing the body pitch has been observed to improve the robot stability and robustness to perturbations, while stabilizing the body roll was not found substantial from the same point of view. The control at the trunk pitch is achieved as follows: -



trunk trunk trunk trunk trunk trunk - trunk τpitch = −Kpitch qpitch + Bpitch cos qyaw ϕ˙ y − -sin qyaw - q˙pitch

(4.3.12)

trunk q trunk is used to limit the trunk pitch In the same way as Equation (4.3.11), Kpitch pitch

maximum angle. Since the trunk yaw DoFs is located before the pitch one, the body

trunk cos q trunk ϕ stabilizing term, namely, Bpitch ˙ y must take into account the influence yaw trunk . However, in the case where q trunk ±90◦ , the stabilizing term disappears of qyaw yaw

and the trunk pitch velocity must then controlled. To do that, the last term, i.e.,

Chapter 4 Control Strategies for Bipedal Locomotion

87

-

trunk -sin q trunk - q˙trunk , is introduced. Therefore, when the trunk yaw angle be−Bpitch yaw pitch comes significant, meaning the trunk pitch cannot correctly stabilize the body pitch anymore, the trunk pitch velocity is slowed down. In the same way, the control of the trunk roll DoF is achieved:



trunk trunk trunk trunk trunk trunk - trunk τroll = −Kroll qroll + Broll sin qyaw ϕ˙ y − -cos qyaw - q˙roll

(4.3.13)

trunk being small when q trunk is important is considered. where the assumption of qpitch yaw

The control presented here aims to stabilize the body yaw and pitch by using the three trunk DoFs. Considering the trunk DoFs wide rotation as a non-desirable effect, the control has been developed to limit the motion range of each one.

The stance phase

gathers the support and toe-off states of the current stance leg, and

the swing state of the opposite leg. It begins at touchdown and ends at takeoff. During the stance period, the main purpose is to keep the robot’s body balanced with the stance hip. A PD controller is used at the hip yaw DoF: hip τyaw

=

trunk −τyaw



hip Kyaw





hip ϕz − ϕz + Byaw ϕ˙ z

d

(4.3.14)

trunk is introduced in the control to offset the reaction torque generated by the where τyaw

trunk on the body, see Equation (4.3.22). A PD controller is also used at the hip roll and pitch DoFs, plus a feed-forward torque that aims to offset the dynamic forces generated by the body, trunk, and swing leg in combination of the robot acceleration:

ffx¨ = x ¨ mrobot − mleg

ffz¨ = z¨ mrobot − mleg body Γhip ¨ cos (ϕy )) pitch = zCoM (ffz¨ sin (ϕy ) − ffx

hip hip hip trunk d τpitch = Γhip − τ − K ϕ − ϕ ˙y y y + Bpitch ϕ pitch pitch pitch

hip body Γhip roll = ffz¨ ∓yoffset cos (ϕx ) + zCoM sin (ϕx ) hip hip hip trunk τroll = Γhip + Kroll ϕx + Broll ϕ˙ x roll − τroll

(4.3.15) (4.3.16) (4.3.17) (4.3.18) (4.3.19) (4.3.20)

where mleg denotes the stance leg mass and the symbol ∓ denotes the side dependent sign of the corresponding term. It refers to ’−’ for the right side and ’+’ for the left side. A PD controller is used at the trunk DoFs plus a feed-forward torque for the pitch and

88

Chapter 4 Control Strategies for Bipedal Locomotion

roll DoFs to maintain it upward: ffz¨ = z¨ mtrunk

(4.3.21)

trunk trunk trunk trunk trunk τyaw = −Kyaw qyaw − Byaw q˙yaw

trunk trunk Γtrunk pitch = −ffz¨ zCoM sin qpitch

(4.3.22)

trunk trunk trunk trunk trunk τpitch = Γtrunk pitch − Kpitch qpitch − Bpitch q˙pitch

trunk trunk Γtrunk roll = −ffz¨ zCoM sin qroll

(4.3.24)

trunk trunk trunk trunk trunk = Γtrunk τroll roll − Kroll qroll − Broll q˙roll

(4.3.26)

(4.3.23)

(4.3.25)

Finally, the control suggested in [117, 115] for the ankle roll DoF of the stance leg has been kept: ref ankle qroll ankle τroll

ankle = ∓dqroll − Ky˙ y˙

ankle ref ankle ankle ankle ankle = Kroll qroll − qroll q˙roll − Broll

(4.3.27) (4.3.28)

where the symbol ∓ denotes the side dependent sign of the corresponding term. It refers to ’−’ for the right side and ’+’ for the left side. As originally presented, the control is very similar to a PD controller where the set point refq ankle roll

is updated with respect to the body lateral velocity y˙ to help in absorbing the

robot lateral kinetic energy.

The straighten state begins at takeoff of the opposite leg and ends at touchdown of the current leg. During the straighten state, the main targets are to reach an angle of attack that will ensure the next stance phase and to prepare the leg to the incoming impact force due to touchdown. Firstly, a PD controller is used at the hip yaw joint to orient the foot in the forward direction:



hip hip hip hip hip τyaw = −Kyaw + ϕz − Byaw + ϕ˙ z qyaw q˙yaw

(4.3.29)

where ϕz is used to ensure the foot orientation despite a possible non-zero body yaw. In the presence of a substantial body velocity around the z-axis, a classic damping term would encourage the thigh to follow the body rotation, while introducing ϕ˙ z reduces this type of phenomenon and thus improves the control of the foot. The hip roll is used to position the foot such that the body will be captured2 laterally 2

The body is captured when the kinetic energy is totally transformed in potential energy resulting in the body stop over the support foot, definition taken from [117, 115].

Chapter 4 Control Strategies for Bipedal Locomotion

89

ߠ ‫ݐݏ‬

ߠ ‫ݓݏ‬ Virtual swing leg

ࢠ Virtual stance leg

࢞ Figure 4.6: Representation of the virtual leg concept. The virtual leg is the line joining the ankle to the hip. It has a pitch angle with respect to the world reference frame named θst when referring to the stance leg and θsw when referring to the leg that is not in contact with ground. The concept of virtual leg is further developed for the implementation of a virtual linear spring to control the stance knee, see Section 4.3.3.

during the next stance phase: ref hip qroll hip τroll

hip = dqroll − ϕx + Ky˙ y˙

hip ref hip hip hip hip = Kroll qroll − qroll q˙roll − Broll

(4.3.30) (4.3.31)

The control is equivalent to a PD controller, where, as for the ankle roll DoF in stance phase, the set point

refq hip roll

is updated with respect to the body lateral velocity y. ˙ More-

over, the body roll ϕx is considered to ensure the foot placement even with a non-zero body roll. To reach the desired angle of attack in the sagittal plane, a PD controller is used at the hip pitch:



hip hip hip leg d τpitch = Iyy θ0 − θsw + Bpitch Kpitch ϕ˙ y − θ˙sw

(4.3.32)

where the control is achieved on the virtual swing leg pitch θsw to ensure the desired angle of attack of the virtual leg dθ0 , see Figure 4.6. Since θ˙sw is the virtual swing leg pitch velocity with respect to the world reference frame, it is safer during the flight phase to subtract ϕ˙ y so the body angular velocity does affect the control. In addition, note leg the presence of the leg inertia Iyy introduced to reduce the perturbations relative to the

knee flexion.

Chapter 4 Control Strategies for Bipedal Locomotion

shortening lengthening

Force

Total force Active force

Passive force

Passive knee torque

90

W max

0

qthres

0

Length

Knee angle

(a)

q knee

(b)

Figure 4.7: (a) Schematic representation of the force-length relation in skeletal muscles, (b) Concept of the passive knee torque. As identified in the biomechanics literature, skeletal muscles generate a passive tension over a certain threshold (usually around the rest length). The passive force has the shape of a quadratic function with respect to the knee angle. A similar strategy is used at the knee of the simulated robot. As results, the knee always tends to slightly bend which is exploited to our advantage in the control.

The knee and ankle DoFs are used to decrease the incoming impact force of the next touchdown. To do that, the knee should extend and yet avoid full extension before touchdown. The latter can be ensured by applying a supplementary flexion torque when the knee is almost straight. Such phenomenon has been identified in the biomechanics literature, the knee exhibits a moment of flexion in late swing [100] that continues sometimes to a very brief instant after touchdown [87, 118]. Such strategy is not well understood yet. It is the result of a complex combination of various muscles, and more, it may be the result of muscles that generate active forces or also of muscles that generate passive forces. Considering the latter fact, we have considered to create a similar behavior by adding a passive virtual element on the knee, see Figure 4.7(b). The passive knee torque is generated as follows:

knee τpassive

⎧   pass knee n ⎪ ⎪ ⎨ τmax 1 − q qthres = ⎪ ⎪ ⎩0

if q knee < qthres

(4.3.33)

else

where τmax , qthres , and npass are the parameters defining the maximum passive torque, angle threshold, and torque curvature, respectively. Typically, we consider npass = 2 to generate a similar curvature as observed in human joints [49, 48, 88]. The knee is then controlled using a PD controller plus the passive torque: knee τ knee = τpassive + K knee



d knee

q

− q knee − B knee q˙knee

(4.3.34)

Chapter 4 Control Strategies for Bipedal Locomotion

91

where dq knee is usually greater than 0 rad for a light flexion. Another factor can help in reducing the impact force of touchdown. By properly servoing the ankle pitch DoF, the contact with the ground can be initiated with the toe. The latter makes possible, by damping the ankle pitch in support state, to slightly reduce the touchdown impact. Regarding biomechanics of running, this type of strategy is called midfoot or forefront running in human locomotion and confirms its ability in reducing the first GRF peak force with respect to the classic running gait that is the hindfoot or heel strike running [153]. Therefore, the ankle pitch is controlled as follows: hip foot ankle αpitch = ϕy + qpitch + q knee + qpitch

ankle foot d foot foot ankle ankle τpitch = Kpitch αpitch − αpitch q˙pitch − Bpitch

(4.3.35) (4.3.36)

foot and αfoot are the desired and measured foot pitch with respect to the world where dαpitch pitch

reference frame. To achieve forefoot running and thus to reduce touchdown impacts, dαfoot pitch

should be greater than 0 rad.

Finally, the ankle roll DoF is simply maintained to 0 rad as follows: ankle ankle ankle ankle ankle τroll = −Kroll qroll − Broll q˙roll

(4.3.37)

The support state starts once contact with the ground has been detected and ends when the virtual leg pitch becomes positive, i.e. the virtual leg passes vertical in the sagittal plane. The current state consists in dealing with the touchdown and loading that follows. To do that, the spring-mass model is used at the knee in combination with the passive knee torque introduced in the previous paragraph: knee knee τ knee = τpassive + τs-m

(4.3.38)

knee is the torque resulting from the spring-mass model study and is fully detailed where τs-m

in Section 4.3.3. The use of the passive knee torque helps in forcing the knee to flex during a very brief instant mimicking the observations of [87, 118]. In the case touch down is achieved with the knee almost straight, the passive torque greatly decreases the first impact force which is usually higher in such conditions. Considering that the contact with the ground has been initiated by the toe, the first GRF peak force can be slightly reduced by damping the ankle pitch DoF: ankle ankle ankle τpitch = −Bpitch q˙pitch

While the other control laws are detailed in the stance paragraph.

(4.3.39)

92

Chapter 4 Control Strategies for Bipedal Locomotion

1

0.8

Values of SnA

n=1/5 0.6

n=1/2 n=1

0.4

n=2 0.2

n=5 0 −20

0

20

40

60

80

100

120

θst in percent of θf (%) n Figure 4.8: Evolution of SA with respect to the virtual stance leg pitch angle θst .

The toe-off state begins when the virtual leg pitch is greater than 0 rad and ends at takeoff. It is the only period of the gait cycle that introduces energy into the system to propel it and thus ensure the next flight phase. Since the knee behaves simulates a linear spring behavior, see Section 4.3.3, in toe-off state the energy gained during the support state is released and thus no substantial energy is introduced in the system. This energy insertion is thus achieved through the ankle pitch DoF: ankle τpitch

where

q knee 2

=

npush SA

 ankle Kpitch

d ankle qpitch



ankle qpitch

q knee − 2

 ankle ankle − Bpitch q˙pitch

(4.3.40)

is the angle between the shin and the virtual leg. The consideration of

the latter makes the ankle propulsion independent from the knee flexion which tends push

n to decrease perturbations in the control. The variable SA

evolves from 0 to 1 with

respect to the virtual stance leg orientation:

push

n SA

⎧ ⎪ 0 ⎪ ⎪ ⎨ = 1 ⎪ ⎪ ⎪ ⎩

if θst < 0 if θf = 0 or θst > θf θst /θf

npush

(4.3.41)

else

where θst is the measured virtual stance leg pitch and θf is the estimated virtual stance leg pitch at takeoff evaluated at each touchdown. push

n The variable SA

is used to advance or delay the propelling according to the power

npush , see Figure 4.8. Increasing the npush value delays the propulsion and reciprocally

Chapter 4 Control Strategies for Bipedal Locomotion

93

which can be used to help in controlling the robot speed and apex height, see Section 4.3.5. One drawback of using the spring-mass model during the toe-off state is that the knee can reach its full extension before the takeoff. Once the knee is fully straight, a discontinuity during the propulsion of the robot is generated resulting in an important loss of energy. To overcome the latter, we have considered a biomimetic coupling between the ankle pitch and knee joints as the gastrocnemius3 muscle does, [86]. It is introduced in the control of the knee in addition to the spring-mass control law: ankle knee knee + τpassive + τs-m τ knee = K gas τpitch

(4.3.42)

knee is the torque resulting from the spring-mass model and is fully detailed in where τs-m

Section 4.3.3. ankle is the biomimetic coupling term that forces the knee flexion when the ankle K gas τpitch

pushes off. With a proper value of K gas , the knee full extension is completely avoided without absorbing the energy produced by the ankle. As a result, the robot is able to run at higher speeds with lower ankle pitch torques.

The pre-swing state starts at takeoff and ends at the next touchdown. The aim of the pre-swing state is to initiate the swing state. The hip pitch DoF is servoed with a PD controller to initiate the swing: hip hip τpitch = Kpitch



d sw

θ



hip hip − θsw − Bpitch ϕ˙ y ϕ˙y − θ˙sw + βpitch

(4.3.43)

where dθsw is maintained constant until the end of the swing state and depends on the desired angle of attack as follows: d sw

θ

= C θ dθ0

(4.3.44)

Meanwhile, a PD controller plus a gravity compensation are used at the knee to produce a quick flexion:



hip shin sin q knee + qpitch + ϕy Γknee = −g mshin + mfoot zCoM

τ knee = Γknee + K knee dq knee − q knee − B knee q˙knee

(4.3.45) (4.3.46)

where dq knee should be set to a high value corresponding to a high knee flexion and where the gravity compensation Γknee allows the PD gains values to be smaller. The latter control ensures a safe ground clearance and decreases the leg inertia that will reduce the hip torque needed in swing state. With no particular need to enhance the 3 The gastrocnemius is a biarticular muscle rear the shin. It provides a plantarflexion moment at the ankle pitch and flexion at the knee.

94

Chapter 4 Control Strategies for Bipedal Locomotion

stability, the hip roll is used to keep the swing leg vertical, with respect to the world frame, in the frontal plane as follows:

hip hip hip hip hip hip = −Kroll q˙roll + βroll ϕ˙ x τroll ϕx + qroll − Broll

(4.3.47)

Since the ground clearance is ensured by the knee, no particular precaution is needed for the ankle too. Therefore, the ankle DoFs are brought back to 0 rad: ankle ankle ankle ankle ankle = −Kpitch qpitch − Bpitch q˙pitch τpitch

(4.3.48)

ankle ankle ankle ankle ankle = −Kroll qroll − Broll q˙roll τroll

(4.3.49)

Finally, the hip yaw DoF is controlled as in straighten state.

The swing state covers the entire stance phase period, i.e., the opposite leg is in contact with the ground. The target is here to swing forward fast enough so the straighten state can be achieved correctly. The hip pitch DoF is thus controlled using a coordination law that is presented in Section 4.3.4. The study on the swing leg coordination leads to following control law: 

Γhip pitch







thigh hip hip = −¨ z mthigh zCoM sin qpitch + ϕy + mshin + mfoot Lthigh sin qpitch + ϕy



shin + zCoM sin q knee + d ˙ sw

θ

=

θ0sw − dθsw stance Tpred3

hip hip τpitch = Γhip pitch + Kpitch

hip qpitch



+ ϕy

(4.3.50) (4.3.51)



d sw

θ



hip 2 d ˙ sw θ − θ˙sw − θsw + Bpitch 1 − SA

(4.3.52)

where dθsw is the same as in pre-swing and the other terms result from the study detailed in Section 4.3.4. To decrease the hip pitch torque needed to swing forward and to prevent the foot from hitting the ground, the knee joint has to be kept highly flexed. Since the control is designed for high-speed running, a simple PD control is not sufficient. Therefore, a feed-forward torque is added to the PD controller to offset the lower leg mass times the robot vertical acceleration:



hip shin Γknee = −¨ z mshin + mfoot zCoM sin q knee + qpitch + ϕy

τ knee = Γknee + K knee dq knee − q knee − B knee q˙knee

(4.3.53) (4.3.54)

Chapter 4 Control Strategies for Bipedal Locomotion

95

A more advanced dynamic modeling considering for instance the hip pitch velocity could be used, however, the vertical acceleration of the robot was identified as the highest source of torques at the knee. Indeed, while the current leg is in swing state, the opposite one progresses in the stance phase during which the vertical velocity of the robot has to be redirected from downward to upward generating high vertical accelerations. The other DoF controllers remain the same as in the pre-swing state. The next two sections, i.e., Sections 4.3.3 and 4.3.4, present the studies led on the spring-mass model and swing leg coordination.

4.3.3

Spring-mass model

Tf

T0

ߠ ‫ݐݏ‬

zf

x 0

x f

"

z0

Hip center Virtual stance leg

K Ankle center

(a)

(b)

Figure 4.9: Scheme of the spring-mass model and its implementation on the robot’s leg: (a) spring-mass model where K is the stiffness, the subscripts ’0 ’ and ’f ’ denote the touchdown and takeoff instants, respectively; (b) virtual stance leg, it is the line that joins the hip and the ankle centers of the stance leg, it has a pitch angle and a length called θst and l, respectively, the linear spring used for the spring-mass model is implemented on the virtual leg.

The spring-mass model has been widely studied in biomechanics of running especially by A. Seyfarth et al.. They have highlighted that it can be used for walking and running and it reproduces the basic of human locomotion’s dynamics [42]. Moreover, they have shown that from using a spring-like leg behavior can emerge a self-stability [40]. Consequently, the use of a spring-mass model may be suitable to control a 3D bipedal robot for the running motion. Control based on spring-mass model has been applied on planar bipedal robots with two legs having a fixed stiffness. Thus, the goal has been to find the adequate law for the hip pitch during the flight to reach the neutral point at touchdown [56]. This law is based on the previous stance phase duration that is used to estimate the future one

96

Chapter 4 Control Strategies for Bipedal Locomotion

Stiffness Too stiff

Stiff

Neutral

Soft

Too soft

FALL !

FALL !

Figure 4.10: Representative stance behavior of the spring-mass according to different stiffness for a set of initial conditions at touchdown. Four different cases are easily identified: 1) Neutral stiffness: it is equivalent as reaching the neutral point [54], as results, symmetric stance is obtained; 2) High stiffness (stiff): the system horizontal velocity decreases while the next apex is higher than the previous one; 3) Low stiffness (soft): the system horizontal velocity increases and the apex is lower than the previous one; 4) Too stiff or too soft: the stance phase cannot be ensured, the spring-mass is falling.

under the condition of periodicity. However, controlling the leg, during the flight period, to reach an accurate angle of attack is challenging in the case of a 3D complex bipedal robot. More, in case of a non-periodic motion, the use of the previous step behavior may be inaccurate to predict the future one. Accordingly, it may be more adapted to evaluate the adequate stiffness depending of the system’s state at each touchdown. So the robot behavior during the stance phase can be adapted to the initial conditions at touchdown. The target is to find the neutral stiffness to have a symmetric stance period (equivalent to reach the neutral point in [56]), see Figure 4.10. The analytic solution of the spring-mass during stance period is still open. Consequently, the target has been first to establish a numerical model to evaluate accurately the neutral stiffness for a wide discrete space of initial conditions. Secondly, the aim has been to find a compact analytic function that estimates the neutral stiffness. The choice of an analytic function has been based on the compact formulation and thus fast calculation that it provides. Practically, the first step consists in exploring the solution space of the function K = f (x˙ 0 , z˙0 , θ0 ), see Figure 4.9(a), such as: x˙ f = x˙ 0

(4.3.55)

z˙f = −z˙0

(4.3.56)

θf = −θ0

(4.3.57)

where the subscripts 0 and f denote the takeoff and touchdown instants, respectively. A database of the neutral stiffness for different initial conditions, see Figure 4.9(a), was generated using the simulation of the stance phase of the spring-mass with Simulink, see Figure 4.11. It covers the discrete space of initial conditions defined as follows:

Chapter 4 Control Strategies for Bipedal Locomotion

97

Neutral Stiffness

−4.6

−5.2

6000

−5.7 4000

K l0 mg

−8.6 3000

2000

−11.5

θ0 (degrees)

5000

1000 0 0 0

−14.3

−1 1

2

3

4

5

6

x˙ 0 m.s

−1



−2

7

8

9

10

−3

  z˙0 m.s −1

−17.2

Figure 4.11: Sample of the solution space of the neutral stiffness. The graph highlights the high dependency of the neutral stiffness K with the angle of attack θ0 , the horizontal and vertical velocities at touchdown, i.e., x˙ 0 and z˙0 .

0.8 m.s−1 ≤x˙ 0 ≤ 10.6 m.s−1 −3 m.s−1 ≤z˙0 ≤ −0.1 m.s−1 −1 rad ≤θ0 ≤ −0.05 rad

) * δ x˙ 0 ∈ 0.1 m.s−1 , 1 m.s−1 ) * δ z˙0 ∈ −0.01 m.s−1 , −0.1 m.s−1 δθ0 ∈ [−0.01 rad, −0.1 rad]

(4.3.58) (4.3.59) (4.3.60)

where δx ∈ [δxmin , δxmax ] refers to the variable sampling step with its lower and upper boundaries, i.e., δxmin and δxmax , for the variable x. Variable sampling steps have been preferred to fixed ones so that the space covered can be wider while conserving reasonable computing time throughout the different steps of the study. The neutral stiffness K found for each set of initial conditions satisfies the following conditions: |x˙ 0 − x˙ f | ≤ 1 10−7 m.s−1

(4.3.61)

|z˙0 − z˙f | ≤ 5.4 10−5 m.s−1

(4.3.62)

|θ0 + θf | ≤ 4 10−6 rad

(4.3.63)

ˆ = g x˙ 0 , z˙0 , θ˙0 has been found using the software Eureqa Then, an analytic function K [129] that estimates the neutral stiffness K of the previous database. Among the various functions given by Eureqa, we have focused on the following one that gathers simplicity

98

Chapter 4 Control Strategies for Bipedal Locomotion

and high accuracy:



2 2 2 + x ˙ C z ˙ − θ x ˙ θ C + C x ˙ 0 1 3 0 0 0 0 2 ˆ =

0 K θ0 θ0 C4 + x˙ 20 C5 + x˙ 0 z˙ 0 − θ02 



2 2 2 x ˙ + x ˙ C z ˙ − θ θ C + C x ˙ m g 0 1 2 3 0 0 0 0 ˆ =

0 ⇒K l0 θ0 θ0 C4 + x˙ 20 C5 + x˙ 0 z˙ 0 − θ02 

(4.3.64)

(4.3.65)

with: C1 = 1.071, ˆ = and where K

ˆ l0 K mg ,

C2 = 0.15, x˙ 0 =

√x˙ 0 , g l0

C3 = 1.552, and z˙ 0 =

√z˙0 g l0

C4 = 0.304,

C5 = 0.457,

are the dimensionless estimated stiffness,

horizontal and vertical velocities, respectively. They are expressed with respect to the robot mass m, the gravity magnitude g, and the rest length of the spring l0 equal to thigh

L + Lshin when implemented on the robot. This approximate analytic solution has the advantage to be really compact and its accuracy with respect to K is of 99.2%. The accuracy is estimated as follows: 2

2 3 3 ˆ K −K 4 2 P =1− K

(4.3.66)

ˆ has been then implemented to control the virtual leg, see This analytic function of K Figure 4.9(b), during support and toe-off states, see Figure 4.3. The spring-like behavior is obtained via the knee as follows: ˆ (l0 − l) F spring = K knee τs-m = −Lthigh sin



q knee 2

(4.3.67)

 F spring

(4.3.68)

ˆ is evaluated at touchdown and is kept constant during the whole stance period. K Equation (4.3.68) is via the analysis of the subsystem {thigh+knee+shin}, see Figure 4.12, and considers that the thigh and shin have the same length.

Chapter 4 Control Strategies for Bipedal Locomotion

‫ݍ‬

݇݊݁݁

99

‫݄݄݃݅ݐܮ‬

ʹ

‫‹• ݄݄݃݅ݐܮ‬ሺ‫ ݁݁݊݇ ݍ‬Τʹሻ

‫݁݁݊݇ ݍ‬ ‫ݍ‬

݇݊݁݁

ʹ

‫ ݄݊݅ݏܮ‬൫ൌ ‫ ݄݄݃݅ݐܮ‬൯





‫݃݊݅ݎ݌ݏ ܨ‬

Figure 4.12: Static analysis of the subsystem {thigh+knee+shin} highlighting how to simulate a linear spring behavior fixed between the hip and ankle centers by servoing the knee joint.

4.3.4

Swing leg coordination

Using the spring-like behavior for the stance leg allows the system behavior during the stance phase to be adapted with respect to the system’s state at touchdown and thus makes the stance behavior more predictable. Therefore, we suggest in this section a simple control method to coordinate the behavior of the leg in swing state based on the prediction of the stance duration. The main idea is to estimate how fast the swing leg needs to swing forward for each swing state by considering the robot state at each touchdown. This control aims to improve the whole system’s reactivity. Since, the behavior of the system is mainly due to the spring-mass model that is initialized at touchdown, the behavior of the swing leg can be adapted at touchdown. The most direct method seems to evaluate the stance phase to predict how fast the swing leg has to swing forward. Approximate analytic solutions for the spring-mass model have been

100

Chapter 4 Control Strategies for Bipedal Locomotion

exposed in [41, 128]. They suggest approximate solutions for the stance duration: '  ( g − l0 ϕ˙ 2TD 1 π + 2arctan = ω ˆ0 |r˙TD | ω ˆ0 5 6 with: ω ˆ 0 = k/m + 3 ϕ˙ TD ( '  l0 − F/ˆ 1 ω02 stance 2π − ϕ − arccos TSaranli = ω ˆ0 M ⎧ pθ ⎪ ω= ⎪ ⎪ m l02 ⎪ ⎪ ⎪ 6 ⎪ ⎪ ⎪ ω0 = k/m ⎪ ⎪ ⎪ 7 ⎪ ⎪ ⎪ ⎪ ω ˆ = ω02 + 3 ω 2 ⎪ 0 ⎪ ⎪ ⎪ ⎨ F = −g + l0 ω02 + 4 l0 ω 2 with: ⎪ ⎪ ⎪ A = rTD − F/ˆ ω02 ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ B = r˙TD /ˆ ω0 ⎪ ⎪ ⎪ 6 ⎪ ⎪ ⎪ M = A2 + B 2 ⎪ ⎪ ⎪ ⎪ ⎩ ϕ = arctan (−B/A) stance TGeyer

(4.3.69)

(4.3.70)

where the original notation has been kept, namely, k is the spring stiffness, m the system mass, g the gravity magnitude, pθ the angular momentum, ϕ˙ TD the angular velocity at touchdown, rTD the spring length at touchdown, r˙TD the spring lengthening/shortening speed at touchdown, and finally l0 is the spring rest length. Note that the solution of [128] has been reduced for the case without damping. Both approximate solutions are really accurate when considering an ideal spring-mass system. When considering the whole 3D bipedal robot performing a periodic running, both solutions seem to have a non-negligible but constant error with respect to the measured stance duration. In the case of non-periodic running, these solutions bring instability in controlling the 3D bipedal robot, see Chapter 5, making them unusable in the control. Therefore, we suggest establishing a prediction, based on a strong assumption that is lowly sensitive to non-periodic gaits and thus stable enough for the control. This prediction will be corrected online by regarding the last step, so it will converge to the real stance duration in a periodic running. In [41], they highlighted in the spring-mass behavior the following: “The angular motion has a linear characteristic, which is modulated by trigonometric functions”. After observations on the spring-mass behavior, we have identified that this linear characteristic of the angular motion is strong enough to neglect the modulation created by trigonometric functions. Therefore, let us consider the following: θ¨st = 0 rad.s−2

(4.3.71)

Chapter 4 Control Strategies for Bipedal Locomotion

101

where θ¨st is the angular acceleration of the virtual stance leg. From the assumption (4.3.71) it is then possible to evaluate the stance duration:   x˙ 0 cos (θ0 ) − z˙0 sin (θ0 ) θ˙st (t) = θ˙0 = l0 −θ0 + θf θ0 stance Tpred1 = = −2 ˙θ0 θ˙0

(4.3.72) (4.3.73)

stance that predicts the stance duration at touchdown for the springThus, we obtained Tpred1

mass model. However, in addition to consider the angular motion to be linear, this first prediction also supposes that the stance behavior is symmetric, i.e., θ0 = −θf . As mentioned in the previous section, the propulsion is increased using the ankle pitch of the opposite leg when it is in toe-off state. The latter will result, as shown in Chapter 5, in increasing θf the virtual stance leg pitch at takeoff. With this consideration, Equation (4.3.73) can be then written as follows: stance stance = C Tpred2 Tpred3

(4.3.74)

with: Δθ stance stance = Tpred1 + Tpred2 θ˙0

Δθ = θfreal − θf last step

= θ0 + θfreal last step

(4.3.75)

(4.3.76)

where Δθ is the resulting angle that extends stance duration due to the ankle propulsion. It is updated at each step with respect to its measured value at the last step. C is a stance /T stance of the last step as coefficient updated at each step by regarding the ratio Tpred2 meas

follows: C = (1 − α) C i−1 + α

stance Tpred2 stance Tmeas

(4.3.77)

Practically, we use α = 0.1 and C i−1 is the old value of C. Therefore, it is possible to predict how fast the hip has to swing forward: d ˙ sw

θ

=

θ0sw − dθsw stance Tpred3

(4.3.78)

where θ0sw refers to the virtual swing leg pitch at the touchdown instant and where the desired virtual swing leg pitch dθsw is proportional to the desired angle of attack: d sw

θ

= C θ dθ0

(4.3.79)

102

Chapter 4 Control Strategies for Bipedal Locomotion

Equation (4.3.78) is used at each touchdown to evaluate the adequate swing velocity dθ˙ sw that remains constant during the entire swing state. Therefore, a control law for the hip pitch can be written with a PD controller: 

Γhip pitch







thigh hip hip = −¨ z mthigh zCoM sin qpitch + ϕy + mshin + mfoot Lthigh sin qpitch + ϕy +

shin sin zCoM

hip hip = Γhip τpitch pitch + Kpitch



q

knee

d sw

θ

+

hip qpitch



+ ϕy

(4.3.80)



hip d ˙ sw θ − θ˙sw − θsw + Bpitch

(4.3.81)

where the feed-forward torque Γhip pitch is introduced to reduce disturbances coming from the robot vertical acceleration. Finally, to enhance the coordination in late swing with respect to the stance leg, the desired velocity is progressively set to 0 rad.s−1 according to the virtual stance leg pitch angle: hip hip = Γhip τpitch pitch + Kpitch



d sw

θ



hip 2 d ˙ sw θ − θ˙sw − θsw + Bpitch 1 − SA

(4.3.82)

2 evolves from 0 to 1 during the swing with respect to the pitch where the function SA

angle θst of the virtual stance leg:

2 = SA

⎧ ⎪ 0 ⎪ ⎪ ⎨

if θst < 0

1 if θf = 0 or θst > θf ⎪ ⎪ ⎪ ⎩ θst /θ 2 else f

(4.3.83)

2 , the swing leg progressively brakes with respect to the evolution Therefore, thanks to SA

of the virtual stance leg pitch, and from the moment θst = θf , we have: hip hip = Γhip τpitch pitch + Kpitch



d sw

θ

hip ˙ sw θ − θsw − Bpitch

(4.3.84)

By decreasing the swing leg velocity, the control of θsw during the straighten state is greatly improved. Having introduced the spring-mass model and swing coordination for the control, the next section exposes a strategy that aims to diminish the tuning process complexity.

4.3.5

Adaptive control

One drawback of using a decoupled approach for the control is the proper tuning of numerous control parameters. A solution to counteract this problem is to design a

Chapter 4 Control Strategies for Bipedal Locomotion

103

strategy that automatically tunes at least some of the control parameters. Considering the impressive results obtained by Raibert et al. [120] in terms of speed/stability, and by Pratt et al. [109, 115] in terms of stability/natural gait, a similar philosophy is used. Four conditions for achieving running motion were defined in Section 4.3: 1. apex height needs to be controlled and stabilized, 2. average speed needs to be controlled and stabilized, 3. robot orientation needs to be controlled and stabilized, 4. the swing-leg needs to move in time to ensure the next angle of attack, 5. angle of attack needs to be controlled and stabilized. Section 4.3.4 exposed how to control the swing leg with respect to the robot state to ensure the straighten state and thus the next stance phase. The stance and flight phase controls introduced in Section 4.3.2 showed how the body orientation is controlled with the trunk and hip DoFs. These two strategies ensure the third and fourth conditions for achieving a running motion while the three remaining conditions still needs to be ensured. The goal of the current section is the introduction of a local strategy that aims to adapt some of the control algorithm parameters to ensure the three remaining conditions for running. Though the apex height and speed are not explicitly controlled in the controller, simple concepts can indicate how to make them variate: 1. ”push harder” in toe-off state ⇒ jump higher and run faster and reciprocally, 2. ”push later” in toe-off state ⇒ jump lower and run faster and reciprocally, 3. decrease the stiffness in stance phase ⇒ jump lower and run faster and reciprocally, see Figure 4.10. It is possible to design a closed-loop strategy that takes into account data of the previous step to correct the next one considering desired apex height and speed fulfilling the first two conditions mentioned above. As presented in Section 4.3.2, a simple PD controller is used at the hip in straighten state to reach the desired angle of attack, see Equation (4.3.32). Such a control is sensitive to the robot high dynamics and does not ensure the desired angle of attack. To decrease the control inaccuracy, the gains have to be properly tuned depending on the motion performed. To avoid such tuning process and still improve the control, a strategy, similar to the one for controlling the apex height and speed, can be used at the hip pitch during the straighten state. To summarize, such a strategy can help in tuning the control parameters and at the same time fulfilling the three remaining conditions. This strategy called adaptive control is now exposed n (u) and S n (δu), then beginning by the introduction of two essential tools named SB B

104

Chapter 4 Control Strategies for Bipedal Locomotion

n= 1/5

Values of SnB(u)

Smax B

1/2

1

2

5

0

Smin B 0

20

40

60

80

100

120

140

160

180

200

umeas in percent of udes (%) n Figure 4.13: Representation of the evolution of SB (u) with respect to a desired target udes , reactivity parameter n, and with ε = 1 n (u) is simply mirrored horizontally around 0). (in the case of ε = −1, the evolution of SB

the presentation of the adaptive control strategy, and finally its implementation in the control algorithm. Firstly, a general model that is used to update controller parameters is introduced. It compares data measurements to a desired target and provides a coefficient that can be used to decrease or increase accordingly the assigned control parameter:  ⎧ umeas − udes -- umeas − udes --n ⎪ n ⎨ SB (u) = ε sign udes udes ⎪ ⎩ min n max SB ≤ S B (u) ≤ SB

(4.3.85)

min and S max are parameters to limit S n (u) minimum and maximum values, where SB B

B umeas −udes sign is used to obtain an increasing function for ε = 1 and decreasing for udes

ε = 1 for all n ∈ ]0, +∞[, see an example with ε = 1 in Figure 4.13, The case n = 0 is not considered because it would generate a discontinuous function not suitable for the control. This updating method includes a parameter n to set the reactivity of the output with respect to the error between the measured and desired values. For a high value of n the output will change significantly only for large errors, while a value of n close to zero will lead to an output that reacts for any small error, see Figure 4.13. In other words, a low value of n will bring reactiveness but also instability, while a high one will do the n (δu) that is defined opposite. To increase stability, we consider a second term called SB

Chapter 4 Control Strategies for Bipedal Locomotion

105

as follows:  ⎧ δumeas -- δumeas --n ⎪ n ⎨ SB (δu) = ε sign umeas - umeas ⎪ ⎩ min n max SB ≤ S B (δu) ≤ SB

(4.3.86)

i−1 is the difference between the current measurement and where δumeas = umeas − umeas

the last one. n (u) expression, see Equation (4.13), the desired value here is the previRegarding the SB i−1 . Therefore, using S n (δu) aims to reach δu ous measurement of u, to know umeas meas = 0 B

with a reactivity defined by the parameter n. An adaptive control parameter evolving according to one chosen quantity, such as the apex height, can be written as follows:

K(u) ≡



⎨ K = K i−1 1 + S np (u) + S nv (δu) B B ⎩K

min

≤ K ≤ Kmax

(4.3.87)

where u illustrates the chosen quantity, K refers to an adaptive control parameter of the algorithm, with K referring to the new parameter value and K i−1 to the previous one. Kmin and Kmax are the lower and upper boundaries of K, respectively, that are user defined. Therefore, the adaptive control parameter K(u) evolves according to the quantity u n

nv through the two functions SBp (u) and SB (δu). Its behavior is similar to various char-

acteristics of a classic PD controller as highlighted below: • the proportional gain of a PD controller directly links the control output behavior to the input error: a high gain value generates high output response even to small input errors, low gain values result in a small response of the output with respect to the input error. A high gain value can bring instabilities while a low one limits the control action when responding to system disturbances. In the suggested control, a similar behavior is observed: a low value of np generates high reactivity with potential instabilities while the opposite yields low reactivity. • the derivative gain of a PD controller slows the rate of change of the controller output. Control stability can be improved by increasing the gain value, but high gain values also rise the response duration. Here, in the suggested control, nv has a similar effect, diminishing its value will increase the control stability but also slows the control response. However, the suggested adaptive control parameter also has different properties with respect to a PD controller:

106

Chapter 4 Control Strategies for Bipedal Locomotion • a PD controller can have a steady-state error, greater for lower values of the proportional gain. On the contrary, an adaptive control parameter reaches a steady-state only once the measured quantity equals the desired one. In other words, while umeas = udes , the parameter still changes in value to reduce the gap between the measured quantity and the desired one. The latter can be proved by highlighting the relations that a steady-state implies: 1. in steady-state, the adaptive control parameter value does not evolve, i.e., n

nv (δu) = 1 K = K i−1 , and thus we have: 1 + SBp (u) + SB

2. in steady-state, the measured quantity does not change, i.e., δu = 0, which nv implies: SB (δu) = 0

Combining the two conditions mentioned above gives: n

SBp (u) = 0



umeas − udes = 0,

(4.3.88) n

meaning that being in a steady-state implies umeas = udes . Otherwise SBp (u) and nv SB (δu) are non-zero values and the adaptive control parameter value evolves. nv • while the power nv of the function SB (δu) can be used to stabilize the control,

decreasing its value under a certain threshold can bring instabilities. While the control presented in Equation (4.3.87) depends on only one quantity, it can be extended to several ones as follows: ⎛ ⎞ ⎧ M ⎪  j j



⎪ n nv ⎪ i−1 ⎝ SBp uj + SB 1+ δuj ⎠ 1

⎨K = K M K u ,...,u ≡ j=1 ⎪ ⎪ ⎪ ⎩ Kmin ≤ K ≤ Kmax

(4.3.89)

where M is the number of high-level variables we wish to control. Moreover, since various control parameters are side dependent, a constraint of symmetry between the two sides is added. It is illustrated through the example of a right side control parameter Kright evolving according to M quantities uj with j ∈ [1, M ]:



1

Kright u , . . . , u

M



⎧ ⎪ ⎪ ⎪ ⎨K ⎪ ⎪ ⎪ ⎩

⎛ right

i−1 ⎝ = (1 − β) Kleft + β Kright 1+

M 

⎞ j j

nv SB u + S B δuj ⎠ njp

j=1

Kmin ≤ Kright ≤ Kmax (4.3.90)

where β ∈ ]0, 1] is the constraint of symmetry. It is used to avoid strong difference in gain value between the control of a joint on each side of the robot. β = 0 is excluded because such a case would prevent the adaptive control parameter from evolving, making

Chapter 4 Control Strategies for Bipedal Locomotion

107

it useless. Practically, we found that values of β between 0.6 and 0.8 seems appropriate. As mentioned previously, the first two conditions –apex height and speed need to be controlled and stabilized– can be fulfilled using the ankle push magnitude/timing, and the spring-mass stiffness. The control introduced in Equation (4.3.90) is used at the ankle and at the power npush . Therefore, Equation (4.3.40) becomes: proportional gain Kpitch npush(zapex )

ankle = SA τpitch

 ankle Kpitch (x˙ mean , zapex )

d ankle qpitch

ankle − qpitch −

q knee 2

 ankle ankle − Bpitch q˙pitch

(4.3.91) ankle (x where npush (zapex ) and Kpitch ˙ mean , zapex ) are now two adaptive control parameters,

while zapex and x˙ mean are the measured apex height and the average velocity of one half gait cycle. Note that the apex height zapex is evaluated as the difference between the highest point reached by the body and the last foot vertical position, so that it is independent from ground height variation. ankle (x npush (zapex ) and Kpitch ˙ mean , zapex ) are updated at each time the control enters in toe-

off state using Equation (4.3.90) and remain constant during the rest of the state. Note that npush (zapex ) evolves only with respect to the apex height. With aim of generating a GRF profile similar to the human running, we have observed that the low values of npush are preferable. Therefore, the current setting of npush is chosen to avoid any substantial change in value. Although the use of this adaptive control parameter has been really helpful in developing the control algorithm, we will consider removing it in a future knee during stance phase, version of the control. The linear spring law, used at the knee τs-m knee (z see Equation (4.3.68), is modified to introduce a stiffness corrector called Kcorr apex )

which has an initial value of 1:  knee τs-m

=

knee ˆ −Kcorr (x˙ mean , zapex ) K

L

thigh

sin

q knee 2

 (l0 − l)

(4.3.92)

meas > z des , the stiffness corrector will progressively decrease to reduce If for instance zapex apex meas = z des , while in the opposite situation the stiffness corrector the apex height until zapex apex

will aim to reach the desired target by increasing progressively. The opposite behavior is obtained with regard to the velocity x˙ mean . Controlling zapex and x˙ mean can be achieved thanks to the different spring-mass behaviors around the neutral stiffness, see Figure 4.10. However, it must have an upper and lower boundaries to avoid extreme stiffness values hazardous for the robot stability, as shown in Figure 4.10. As for the ankle pitch, knee (x Kcorr ˙ mean , zapex ) is updated at each touchdown and then kept constant during the

entire stance phase. The control of zapex and x˙ mean is enhanced by the cooperation knee (x ankle (x of the two adaptive control parameters Kcorr ˙ mean , zapex ) and Kpitch ˙ mean , zapex ) as

highlighted in Appendix C.1.10. With the use of these three adaptive control parameters, the first two conditions for achieving running –controlling and stabilizing the apex height

108

Chapter 4 Control Strategies for Bipedal Locomotion

and robot speed– are ensured. The last condition for achieving a running motion is: angle of attack needs to be controlled and stabilized. As mentioned before, the angle of attack is ensured by a PD controller at the hip pitch during the straighten state and needs therefore an adequate tuning of the gains. However, by using the same strategy in the control of the angle of attack during the straighten state, the set point of the PD controller can be refined to improve the control. Therefore, by introducing an adaptive control parameter called

refθ

0,

Equation (4.3.32) becomes:





hip hip hip ˙ sw leg ref θ = Iyy θ0 (θ0 ) − θsw − Bpitch Kpitch τpitch where

refθ

0 (θ0 )

desired one refθ

0 (θ0 )



0

(4.3.93)

evolves according to the measured angle of attack θ0 with respect to the and is evaluated using Equation (4.3.90).

will thus evolves until we have θ0 = dθ0 . Moreover, during the pre-swing and

swing states, the set point was set to a proportional value of the desired angle of attack dθ

0.

By transforming Equation (4.3.44) the swing leg behavior can be improved by being

related to

refθ

0 (θ0 )

as follows: d sw

θ

Therefore, if a large value of

refθ

0

= C θ refθ0 (θ0 )

(4.3.94)

is needed to reach the desired angle of attack dθ0 ,

the leg will swing farther and thus faster during the pre-swing and swing states. All of the gain values including the adaptive control parameters used for the next chapter are listed in Appendix D.1.

4.4

Two extensions from the running control algorithm

From the bipedal running control algorithm exposed in Section 4.3, two additional control algorithms were designed. The first one is for achieving bipedal walking and is actually an extension from the control suggested in [117] by J. Pratt and G. Pratt. Besides the goal of achieving a 3D walking motion, this control algorithm represents the desire of searching for a unified control algorithm that can be used for both walking and running motions. A brief summary of the walking algorithm is now given. The state machine, see Figure 4.14, is composed of four different states and four state transitions. The main features of the control during each state are the following: • support: height and robot orientation are stabilized by straightening the knee and using the stance hip, respectively. • toe-off: height and robot orientation are ensured as in the support state. Speed is controlled in the same way as in the running control algorithm with the ankle.

Chapter 4 Control Strategies for Bipedal Locomotion

109

Virtual stance leg passes vertical Support

Toe-Off

Stance leg

Touchdown T To uchdo d wn

Ta T k of ke off Takeoff Swinging leg

Swing

Straighten

Virtual swing leg passes vertical Figure 4.14: State machine of each leg. It is composed of four states: support, toe-off, swing, and straighten and four transitions. Each state is represented with a simulation snapshot and describes the state of the red leg.

• swing: as for running, the swing leg is coordinated with the stance one while the knee is lightly damped. • straighten: the coordination is still used at the hip pitch with the aim of reaching the desired angle of attack. The knee is maintained slightly flexed to avoid high impact force at touchdown, and the foot is servoed to be level with the ground. The entire control algorithm is then fully exposed in Appendix C.2 and the gain values are in Appendix D.2. Afterwards, a second and last extension from the running control algorithm has been developed. Having two control methods, one for walking and the other one for running, this last extension aims to connect these two very different gaits. This connection is achieved in one step and allows the robot to start running from any moment during the walking motion. Moreover, this transition can be achieved without any modification in the walking and running algorithms. As for the walking algorithm, a brief summary of the control approach is now presented. The complete algorithm is fully exposed in Appendix C.3 and the gain values are given in Appendix D.3. The control is based on two state machines, i.e., a different one for each leg, see Figure 4.15. It is composed of five different states, three for the leg 1 and two for the other one. The main purposes of each state are the following:

110

Chapter 4 Control Strategies for Bipedal Locomotion

Virtual stance leg passes vertical

Touchdown Virtual swing leg passes vertical

Straighten

Load

Unload

Takeoff

State Machine of the Leg 1 Toe-Off Swing

Straighten

Walking Toe-Off

One-Step Transition State Machine

Support

Pre-Swing

Running

Support Straighten

Swing

State Machine of the Leg 2

Virtual stance leg passes vertical

Toe-Off

Leg 1 in Unload

Swing

Takeoff

Figure 4.15: State machine of each leg. It is composed of three states for the leg 1: straighten, load, and unload, with four transitions, and two states for the leg 2: toe-off and swing, with three transitions. Each state is represented with a simulation snapshot and describes the state of the red leg. The leg numeration does not depend necessary on the leg’s side, but it is used to highlight that two different state machines are used for the two legs.

• straighten: a PD control is used at the hip to perform a longer step than in walking. The knee is maintained slightly flexed to avoid high impact force at touchdown, and the foot is servoed to be level with the ground. • load: the knee is servoed to generate the behavior of a linear spring as in running, see Figure 4.9(b). The spring stiffness is soft so that the knee becomes highly flexed. • unload: The stiffness of the virtual linear spring is progressively increased in combination of the ankle push off to propel the robot. • toe-off: the ankle is used to ensure that the robot is moving forward while the opposite leg is in the load state.

Chapter 4 Control Strategies for Bipedal Locomotion

111

• swing: the hip control is properly tuned so that the swing leg reaches its final position before the end of the unload state of the opposite leg.

4.5

Conclusion

In this chapter, a strategy for the control of a 3D bipedal robot was presented. It is designed for achieving fast running motions. The use of the spring-mass model is used to perform the stance phase while the concept of neutral stiffness is suggested. The adaptation of the robot behavior with respect to the robot conditions at the impact instant is possible by evaluating the latter at touchdown, see Equation (4.3.65). This adaptation is enhanced by the establishment of a coordination between the two legs, see Section 4.3.4. Finally, an adaptive control strategy is also suggested, see Section 4.3.5, making easier the tuning process of the control system parameters. This is achieved by changing progressively some of the control system parameter values with respect to a set of desired quantity, such as the desired apex height and the desired velocity. Moreover, it will be shown in the next chapter that the suggested strategy can be used to control the robot velocity and to deal with changes in terrain such as a step down or stairs with small steps. Besides the control algorithm presented in this chapter, two extensions of the running algorithm are suggested in Appendix C.2 and C.3. The first extension is designed for walking. The spring-mass model is also studied for walking, see Appendix C.2.3, and highlights various limitations of this modeling. These limitations make impossible, for now, the implementation of the spring-mass model in the control algorithm. However, numerous strategies used in the running algorithm can still be used for walking. The adaptive control is also introduced in the algorithm improving long-term stability by controlling the forward speed and stabilizing the angle of attack. Finally, the second extension was developed to perform a one-step transition from walking to running. The strategy employs a control synthesis of the walking and running algorithms. The main feature is the benefit of the linear spring simulated by the knee. With the latter, the transition can be achieved by first compressing the virtual spring and then releasing it to propel the robot and start running. All of the three control algorithms presented here have conducted to successful simulation results that are presented in the next chapter.

Chapter 5

Simulation Results 5.1

Introduction

In Chapter 4 an algorithm for high-speed bipedal running and two extensions, i.e., one for bipedal walking and the other to achieve a transition from walking to running, were introduced. The simulation results obtained from the three control algorithms are now presented. Since the walking and one-step transition are extensions, the discussion centered on the running motion while the discussion on the walking motion and transition is conducted in Appendix D. Several concepts for achieving bipedal running were highlighted and established for the control. Among them, we may recall the use of the spring-mass model to ensure the stance phase, the swing coordination to ensure that the swing leg move in time, the use of a trunk to help in stabilizing the robot, and the adaptive control strategy to control speed, apex height, and angle of attack. Naturally, their influence and utility in achieving bipedal locomotion will be detailed. This chapter is organized as follows. Firstly, the results obtained for the running motion are presented with various conditions: on flat ground, with ground perturbations, and high-speed running. It is followed by a brief summary of the results obtained for the walking motion and the one-step transition from walking to running. The latter is further discussed in Appendix D.

5.2

Running simulation results

The results obtained for the running motion are now detailed for different situations including the evolution within a deteriorated environment. Except for the high-speed running, all of the following results obtained for the running motion use the same algorithm introduced in the previous chapter and use the same set of control parameters. 113

114

Chapter 5 Simulation Results

The set of parameters used is summarized in Appendix D while to achieve high-speed running some changes in the control parameter values are necessary. They are detailed in the corresponding section, namely, Section 5.2.3.

5.2.1

Gait 0% Cycle

Periodic running at 3.5 m.s−1

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

Figure 5.1: Snapshots of an entire running gait cycle, 0.77 s long for an average speed of 3.5 m.s−1

The current section discusses the general gait of a periodic running motion at an average speed of 3.5 m.s−1 on flat ground, see Figure 5.1, the exhibits a gait very close to humans. The running speed has been chosen with respect to the human preferred running speed of around 3.5 m.s−1 [16, 86]. Figures 5.2 through 5.5 show the evolution of the general robot variables with respect to the percentage of gait cycle. Note that for each graph is added a gray area that contains the evolution of each variable over more than 100 locomotion cycles. These gray areas are generally very thin highlighting the high periodicity of the motion. Figure 5.2 shows the DoF positions over a gait cycle. While most of them are highly periodic, the hip roll/yaw and body yaw exhibit a non-negligible variation. Also, note the sudden changes of the hip roll/yaw, ankle pitch/roll, and body orientation mostly located around the touchdown and takeoff instants. These changes are due to the discontinuities of the control appearing when entering in a new state of the state machine. The latter is confirmed afterwards with Figure 5.3. Finally, the body height shows a smooth progression even during the stance phase thanks to the control of a virtual linear spring that redirects progressively the body velocity from downward to upward. Figure 5.3 shows the joint torques needed to achieve the running motion. The most solicited joint are naturally those in the sagittal plane and the hip roll joint for both legs. For the hip pitch/roll and ankle pitch DoFs, maximum torques of 100 N.m ( 2.4 N.m.kg −1 )1 are attained while the knee torque can rise up to 150 N.m( 3.7 N.m.kg −1 ). Regarding The N.m.kg −1 unit is widely used in the biomechanics community and can be used to compare the torques of systems/humans that differs in mass. Therefore, the same unit is used here to compare our bipedal runner to humans. 1

Chapter 5 Simulation Results

115

qhip pitch L. Stance

Flight

R. Stance

Flight

L. Stance

20

angles (degrees)

qankle pitch

qknee Flight

R. Stance

Flight

0

L. Stance

40

120

Flight

R. Stance

Flight

30

100

20

80

10

−20

0

60

−10 40

−40

−20 20

−30

−60 0

20

40

60

80

100

hip

0

20

40

80

100

hip

left right

qyaw

60

0

20

40

60

80

100

80

100

80

100

ankle

left right

qroll

qroll

6

3

angles (degrees)

2 4

2 1

2

1 0

0

0

−1

−1

−2

−2

−4

−2 −3 20

40

60

80

100

0

20

Trunk DoFs

angles (degrees)

40 20

60

80

100

−6

0

20

Body orientation

qtrunk roll trunk qpitch qtrunk yaw

60

40

φx

4

φy φz

2

0

0

−20

−2

−40

−4

40

60

Body position

6

1

qz

0.98

position (meters)

0

0.96 0.94 0.92 0.9 0.88

−60 0

20

40

60

% gait cycle

80

100

0

20

40

60

% gait cycle

80

100

0

20

40

60

% gait cycle

Figure 5.2: Evolution of the DoF positions during one gait cycle. Continuous lines show the evolution of one DoF during one gait cycle while the surrounding gray areas highlight the variation over more than 100 cycles. The left touchdown occurs at 0% and 100% and the right touchdown at around 50% of the gait cycle.

the biomechanical literature [46], similar joint torques in human running at similar speed can be found, namely, 3.5 N.m.kg −1 for the knee, 3 N.m.kg −1 for the ankle pitch, 2.5 N.m.kg −1 for the hip pitch, and 1.5 N.m.kg −1 for the hip roll. Besides torques at the leg DoFs, high torques are also found at the trunk DoFs, such as the trunk yaw growing up to about 100 N.m right after takeoff due to the control during the flight that aims to stabilize the body angular velocity. Besides the magnitude, Figure 5.3 also highlights that the change of state in the state machine of the control algorithm generates rapid variations of the joint torques, especially around the touchdown and takeoff instants. Although the latter can be handled in simulation, it would constitute important issues when aiming for potential experimental applications. Figure 5.4 shows the ground reaction forces. The evolution of the vertical component is mainly shaped by the virtual linear spring leg generating a similar pattern to the human one, namely, almost of the shape of a paraboloid function. However, it is altered by a first peak force

116

Chapter 5 Simulation Results

hip pitch

τ L. Stance

Flight

τankle

knee

τ

R. Stance

Flight

L. Stance

50

Flight

pitch

R. Stance

120

Flight

100

Flight

R. Stance

Flight

100 0

torque (N.m)

L. Stance

80

50 60

−50 0

40 −100

20

−50 0

−150 −100

−20 0

20

40

60

80

100

hip yaw

0

20

40

60

80

100

20

40

60

80

100

80

100

ankle roll

left right

τ

τ

20

100 30

15

20

torque (N.m)

0

hip roll

left right

τ

10

50

10

5 0

0

0

−5

−10

−10

−50

−20

−15 −30 0

20

40

60

80

100

0

20

40

trunk roll

80

100

0

20

40

trunk pitch

τ

τtrunk

τ

10

30

5

20

0

10

−5

100

τtrunk

40

roll

60

trunk yaw

τ

15

torque (N.m)

60

τtrunk

pitch

yaw

50

0

0 −50

−10

−10

−15 0

20

40

60

80

100

0

20

40

% gait cycle

60

80

100

0

20

% gait cycle

40

60

80

100

% gait cycle

Figure 5.3: Evolution of the DoF torques during one gait cycle. Continuous lines show the evolution of one DoF during one gait cycle while the surrounding gray areas highlight the variation over more than 100 cycles. The left touchdown occurs at 0% and 100% and the right touchdown at around 50% of the gait cycle.

GRF

Normal GRFs L. Stance

Flight

R. Stance

Flight

2.5

L. Stance

1205 0.5

Flight

R. Stance

GRFy Flight

201

1004

2

803

1.5

602

1

402

0.5

201

0

0

0

−0.5

−201

−1

−402

0 0

20

40

60

% gait cycle

80

100

0

20

40

60

80

100

% gait cycle

Figure 5.4: Evolution of the GRFs (in body weight unit) during one gait cycle. Continuous lines show the evolution of one GRF component during one gait cycle while the surrounding gray areas highlight the variation over more than 100 cycles. The left touchdown occurs at 0% and 100% and the right touchdown at around 50% of the gait cycle.

force (N)

force (body weight)

3

GRFx

Tangential GRFs

z

Chapter 5 Simulation Results x˙

Body forward velocity 4

L. Stance

Flight

117

R. Stance



Body lateral velocity

Flight

L. Stance

0.2

Flight

R. Stance



Body vertical velocity

Flight

L. Stance

1

Flight

R. Stance

Flight

velocity (m.s−1)

0.15 0.5

0.1

3.5

0.05

0

0 3

−0.05

−0.5

−0.1 −0.15

2.5 0

20

40

60

% gait cycle

80

100

−1 0

20

40

60

% gait cycle

80

100

0

20

40

60

80

100

% gait cycle

Figure 5.5: Evolution of the body linear velocities during one gait cycle. Continuous lines show the evolution of each velocity component during one gait cycle while the surrounding gray areas highlight the variation over more than 100 cycles. The left touchdown occurs at 0% and 100% and the right touchdown at around 50% of the gait cycle.

appearing in early-stance with a magnitude of 2.9 BW 2 ( 1200 N ) and by the ankle push in the second half of the stance (small peaks around 15% and 65% and a delay in decreasing around 20% and 70%). Regarding the GRF lateral component, we can observe the small perturbations due to touchdown during 5% of the gait cycle while the rest of the evolution indicates that the feet push lightly outwards. Finally, after being perturbed by the touchdown impact, the GRF forward component shows a braking period of about 30% followed by a shorter, but stronger, period of propulsion, i.e., during about 10% with an average magnitude of about 0.4 BW against 0.15 BW for the braking period. Despite using the virtual spring leg, keeping the knee lightly flexed at touchdown, and performing a forefoot gait that all tend to smooth the stance behavior and prevent a high impact at touchdown, the touchdown impact causes a sudden loss of almost 1 m.s−1 in the forward velocity. No comparable perturbation can be observed on the lateral and vertical velocities. This important loss in forward velocity implies an important loss in kinetic energy which has to be restored later in stance. Among the leg DoFs, we identified that the hip, servoed with a higher impedance control to ensure the body orientation, is stiff and generates important torques right after touchdown as shown in Figure 5.3. It is mostly probable that the hip tight control participates in the important peak observed in the forward GRFs, see Figure 5.4, resulting in the important loss in velocity observed in Figure 5.5. The virtual leg length shows the smooth compression and release of the virtual spring leg during the stance phase, see Figure 5.6. Moreover, it highlights the absence of coordination between the knee and ankle pitch DoFs. Indeed, in late stance the virtual stance leg does not extend anymore while the ankle pitch continues to push. The latter keeps the robot in contact with the ground and thus extends the stance duration, as mentioned in Section 4.3.4 of Chapter 4. The evolution of the virtual leg pitch during the stance, see Figure 5.6, confirms the observation of Section 4.3.4, i.e., the virtual stance leg pitch evolution has a strong linear characteristic. f orce The body weight unit BW (= mass×gravity ) is a common unit in biomechanics. It is used here to compare the system to humans regardless their respective weight. 2

118

Chapter 5 Simulation Results θleft

Virtual leg pitch L. Stance

Flight

θright

R. Stance

l

Virtual leg length

Flight

L. Stance

90

l

left

Flight

R. Stance

right

Flight

80

40

length (cm)

angle (degrees)

50

30 20 10

70 60

0 50

−10 −20

40 0

10

20

30

40

50

60

70

80

90

100

0

10

20

% gait cycle

30

40

50

60

70

80

90

100

% gait cycle

Figure 5.6: Evolution of the virtual leg pitch and length during one gait cycle. Continuous lines show their evolution during one gait cycle while the surrounding gray areas highlight the variation over more than 100 cycles. The left touchdown occurs at 0% and 100% and the right touchdown at around 50% of the gait cycle. Table 5.1: Average accuracy of the T stance prediction

T stance

Average Error

(ms)

(ms)

(%)

226.2





160.9

65.3

28.86

215.4

10.9

4.80

226.2

0.3

0.12

stance by [41] TGeyer

126.9

99.4

43.92

stance by [128] TSaranli

158.5

67.7

29.93

stance Tmeas stance Tpred1





=

−2 θθ˙0 0 stance Tpred1

stance = Tpred2 + Δθ

θ˙0 stance stance Tpred3 = C Tpred2



This observation is enhanced by Table 5.1 that compares the average accuracy of the three suggested predictions of the stance duration and two others from the literature, stance from H. Geyer et al. [41] and T stance from U. Saranli et al. [128]. Since namely, TGeyer Saranli

stance stance stance of the last step, it could be Tpred3 = C Tpred2 is updated with respect to Tmeas

expected that the prediction is highly accurate for a periodic gait. However, note that even based on strong assumptions, i.e., linear angular motion and symmetric stance as

stance = −2 θ0 is still representative of the real stance duration shown in Chapter 4, Tpred1 θ˙0

stance = T stance + Δθ with a relative error of 29%. Considering asymmetric stance, Tpred2 pred1 θ˙ 0

is very accurate with a relative error of 5%. Besides the approximations of the stance stance and T stance . duration suggested in this thesis, Table 5.1 shows the same data for TGeyer Saranli

Though these approximate solutions are really accurate to predict the spring-mass stance duration, they appear to be less fitted to estimate the stance duration in the case of simulating a whole biped robot. Compared to these solutions, the first predictive method stance is still valuable while the second one T stance is much more accurate in predicting Tpred1 pred2

stance duration at touchdown. In the next sections, it is shown that besides being accurate in the case of periodic motion, the suggested approximations for predicting the stance duration are also accurate and stable in the case of non-periodic motions. Finally,

Chapter 5 Simulation Results

119

Table 5.2: Comparison of the running simulation main characteristics with the running human ones [154] at a forward speed of 3.5 m.s−1 with and without shoes, namely, bare and shod, respectively. The main characteristics are: stride rate and length, duration of the cycle, stance and flight, leg stiffness with and without dimension, and both vertical ground reaction force peaks.

Duration

Stride

Leg Stiffness Vertical GRF (BW )

Kl0 −1 st Rate (Hz) L (m) Cycle Stance Flight (kN.m ) mg 1 Peak 2nd Peak (sec) (% of gait cycle)

Simulation Human

1.29

2.70 0.77

29%

21%

15

31.2

2.9

2.6

Bare

1.37

2.56 0.73

33%

17%

37

46.6

1.8

2.6

Shod

1.32

2.66 0.76

33%

17%

30

38.2

1.9

2.8

Table 5.2 compares various characteristics between the bipedal running simulation and the human running at the same speed. Note that the stride frequency, stride length, stance and flight duration, and the 2nd vertical GRF peak are very similar. The only differences lie in the dimensionless leg stiffness that is softer in the simulation and the 1st vertical GRF peak that is far greater in simulation. This comparison points out that the touchdown impact can be better handled and the 1st vertical GRF peak decreased. However, in the whole, it confirms the observation done on Figure 5.1 that the bipedal robot exhibits a very human-like running gait.

5.2.2

Non-periodic running

Although the previous section exposes the general results obtained for a periodic running motion at the speed of 3.5 m.s−1 , the main controller features, such as the use of the spring-mass model, swing coordination, and adaptive control parameters, have not been discussed. To do that, it is necessary to analyze the control algorithm response to nonperiodic motions, such as, a change of gait to track the desired targets, for instance, forward speed, or the change of gait when facing deteriorated terrains.

5.2.2.1

Tracking an evoluting desired quantity

To demonstrate the utility of the adaptive control parameters introduced in the last chapter, we have evaluated their response to a change in value of a tracked quantity. Since the adaptive control strategy is used to control the robot speed, apex height, and angle of attack, three simulation tests were conducted with the aim of highlighting the robot behavior when making each of these quantities varying.

120

Chapter 5 Simulation Results x˙ mean

right

4.5 −1

velocity (m.s )

ankle Kpitch (x˙ mean, zapex)

des

gain value (N.m.rad−1)

left

4 3.5 3 0

10

20

30

40

50

zapex

60

70

80

right

position (meters)

1.01 1.005 1 0.995 0.99 20

30

40

50

θ0

60

70

80

left

120

right

−16 −16.5 −17

20

30

40

50

60

70

80

90 100 110 120 left



right

knee 1.3 Kcorr max

1.2 1.1 1 0.9 0.8 0

ref

des

−15.5

10

knee Kcorr (x˙ mean, zapex)

90 100 110 120

angle (degrees)

angle (degrees)

−15

10

140

des

1.02

0

160

0

1.015

right

180

90 100 110 120

gain value (dimensionless)

left

left

200

10

20

30

40

50

60

70

80

θ (θ0 )

90 100 110 120 left

right

−11

−11.5

−12 0

10

20

30

40

50

60

70

80

time (seconds)

90 100 110 120

0

10

20

30

40

50

60

70

80

90 100 110 120

time (seconds)

Figure 5.7: Tracking a desired apex height and angle of attack in addition of a desired forward velocity that changes according to a sinusoidal pattern with an amplitude of 0.8 m.s−1 and a period of 40 s. The graphs on the left compare each of the desired quantities to the corresponding measurement data, the graphs on the right show the response ankle knee (x˙ mean , zapex ), Kcorr (x˙ mean , zapex ), of each adaptive control parameter, namely, Kpitch ref and θ0 (θ0 ).

Rolling desired velocity

Figure 5.7 shows the simulation results during which the

desired velocity is following a sinusoidal pattern with an amplitude of 0.8 m.s−1 and a period of 40 s. It highlights that the robot is able to track the changing desired velocity thanks to the adaptation of the knee and ankle adaptive control parameters. Note that the adaptive control parameter npush (zapex ) does not appear in Figure 5.7 and will not be discussed during the rest of this chapter because it is configured so it does not change much in value, as mentioned in the last chapter. In consequence, very similar results can be obtained while considering npush as a constant gain. Besides the control of the robot speed, we can see that the apex height is perturbed by the change in speed, but is generally maintained between 0.99 m and 1.015 m. As mentioned in Section 4.3.5 on knee (x the adaptive control strategy in Chapter 4, the stiffness corrector Kcorr ˙ mean , zapex ) knee knee is bounded by Kcorr min and Kcorr max to avoid extreme values of the virtual spring

Chapter 5 Simulation Results

121

knee (x stiffness potentially hazardous for the robot stability. In the Kcorr ˙ mean , zapex ) graph

of Figure 5.7, we see that when the desired speed decreases to its minimum the stiffness corrector reaches its upper boundary. With the same conditions and algorithm, knee (x but without setting boundaries for Kcorr ˙ mean , zapex ), the robot fell after the desired

velocity reached its maximum value for the first time. This observation shows that the stiffness corrector can be useful to control speed and apex height, but it can also be risky for the robot stability. Finally, the graphs on the last row in Figure 5.7 show the evolution of the angle of attack and the response of the corresponding adaptive control parameter

refθ

0 (θ0 ).

Although the robot speed is largely changing, the angle of attack is

only varying of about 2◦ probably thanks to the adaption of x˙ mean

left

right

gain value (N.m.rad−1)

−1

velocity (m.s )

3.6 3.5 3.4

0 (θ0 ).

ankle Kpitch (x˙ mean, zapex)

des

3.7

refθ

left

right

160 150 140 130

3.3 0

10

20

30

40

50

zapex

60

70

80

right

0

position (meters)

1.01 1 0.99 0.98 0.97 0.96 0

10

20

30

40

50

θ0

60

70

80

left

30

40

50

60

70

80

90 100 110 120 left

right

1.1 1 0.9 0.8

 knee  Kcorr min

0.7 0

ref

des

10

20

30

40

50

60

70

80

θ (θ0 )

90 100 110 120 left

right

−9.5

angle (degrees)

−15

angle (degrees)

20

1.2

90 100 110 120 right

10

knee Kcorr (x˙ mean, zapex)

des

gain value (dimensionless)

left

90 100 110 120

−15.5 −16 −16.5

−10 −10.5 −11 −11.5

0

10

20

30

40

50

60

70

80

time (seconds)

90 100 110 120

0

10

20

30

40

50

60

70

80

90 100 110 120

time (seconds)

Figure 5.8: Tracking a desired speed and angle of attack in addition of a changing desired apex height. The graphs on the left compare each of the desired quantities to the corresponding measurement data, the graphs on the right show the response ankle knee (x˙ mean , zapex ), Kcorr (x˙ mean , zapex ), of each adaptive control parameter, namely, Kpitch ref and θ0 (θ0 ).

122

Chapter 5 Simulation Results

Change in desired apex height

A second simulation test has been conducted for

which the desired apex height changes. The results obtained are exposed in Figure 5.8. In the same way, these results confirm that the apex height can be controlled, though it can only vary within a small range. Indeed, by hitting its lower boundary when dz

apex

= 0.96 m, the stiffness corrector cannot decrease anymore and thus the robot

cannot reach lower apex heights making the desired one unreachable. However, when dz

apex

= 1.01 m, the robot reaches the desired apex height in less than 20 s. This change

in apex height affects the robot speed and angle of attack that are rapidly corrected by all of the adaptive control parameters. Note that when the robot is jumping higher, i.e., between t = 65 s and t = 80 s, the measurement data exhibits small oscillations which are likely related to the fact that the higher jumps the robot performs, the less stable it is. Finally, during the third part of the simulation, i.e., t > 80 s, the apex height is set back to its original value dzapex = 0.98 m. The robot then reaches dzapex in about 10 s and needs 10 s more to counter the consequences of this change onto the two other tracked quantities.

Change in desired angle of attack angle of attack



Similar results can be obtained when the desired

changes in value as shown in Figure 5.9. As for the two previous

simulations, changing the angle of attack appears to have consequences on the velocity and apex height. When the angle of attack is decreasing both the velocity and apex height also decrease, i.e., at t = 20 s and t = 80 s, and reciprocally, i.e. at t = 50 s. These variations in are then progressively compensated by the adaptive control parameters of the knee and ankle pitch.

Chapter 5 Simulation Results x˙ mean

left

123

right

gain value (N.m.rad−1)

3.7

velocity (m.s−1)

ankle Kpitch (x˙ mean, zapex)

des

3.6 3.5 3.4

left

right

180

160

140

120 0

10

20

30

40

60

left

70

80

90

right

100

0

1

0.99

0.98

0.97 0

10

20

30

40

θ0

50

60

left

70

80

90

right

20

30

40

50

60

70

80

90

left

100 right

0.95 0.9 0.85 0.8

 knee  Kcorr min

0.75

100

0

ref

des

−12

10

20

30

40

50

60

θ (θ0 )

70

80

90

left

100 right

−7

angle (degrees)

angle (degrees)

10

knee Kcorr (x˙ mean, zapex)

des

gain value (dimensionless)

position (meters)

zapex

50

−13 −14 −15 −16 −17

−8 −9 −10 −11 −12

−18 0

10

20

30

40

50

60

time (seconds)

70

80

90

100

0

10

20

30

40

50

60

70

80

90

100

time (seconds)

Figure 5.9: Tracking a desired speed and apex height in addition of a changing desired angle of attack. The graphs on the left compare each of the desired quantities to the corresponding measurement data, the graphs on the right show the response ankle knee (x˙ mean , zapex ), Kcorr (x˙ mean , zapex ), of each adaptive control parameter, namely, Kpitch ref and θ0 (θ0 ).

The current section emphasizes the algorithm ability to respond to different desired quantities. It is illustrated through the change in value of the desired velocity, apex height and angle of attack. The use of adaptive control parameters was also found to be useful in adapting the corresponding control parameter values when the rest of the control is modified. No result on the latter is presented here, but such situation is very similar to those presented in the current section, namely, Figure 5.9 shows that if the angle of attack is changing, then consequences it has on the rest of the gait are automatically compensated by the adaptive control parameters. However, the adaptive control parameters cannot be used to face sudden changes of terrain or pushes since they slowly evolve over various gait cycles and thus do not react correctly against brief perturbations. Having highlighted the utility of the adaptive control parameters the following illustrates how the rest of the algorithm deals with ground perturbations.

124

Chapter 5 Simulation Results

5.2.2.2

Ground perturbations

Figure 5.10: Simulation snapshots of the robot running over stairs with 10 cm high steps and a 50 cm high step down. The snapshots are spaced at 0.2 s.

Figure 5.11: Simulation snapshots of the robot running over upstairs and downstairs with 10 cm high steps. The snapshots are spaced at 0.2 s.

Figure 5.12: Simulation snapshots of the robot running over a 40 m long bumpy terrain with a maximum height variation of 8 cm. The snapshots are spaced at 0.2 s.

As mentioned above, the aim of the current section is to highlight how the control strategy responds to ground perturbations and how it ensures the system stability. Considering the absence of an overall stability criterion on which the control could be based on, such as ZMP-based approaches, testing the algorithm reactivity within an environment with an irregular and unknown terrain seems to be the simplest way to obtain an overview on the control stability. Various types of ground perturbations, see Figure 5.10 and 5.12, were used to evaluate the running robot stability and analyze the control strategy. The next two sections mainly focus on two of them, namely, a step down obstacle and a random terrain.

Step down obstacle

Figure 5.13 shows the snapshots of a simulation with a 45 cm

high step down. The height of the latter is the maximum that the robot can handle before falling down, note that it represents 104% of the shin length and that there is no change in the control strategy compared to flat ground. This test allows us to evaluate the ability of the robot to deal with a single, but strong, perturbation and to highlight parts of the controller that help in preserving the robot’s stability. As

Chapter 5 Simulation Results

125

Figure 5.13: Simulation snapshots of the running robot dealing with a 45 cm high step down. The snapshots are spaced at 0.2 s.

stiffness (kN.m )

knee Virtual stance leg stiffness: Kspring −1

60

right

left

right

left

right

left

right

knee  Kspring max

1st touchdown after step down ⇒

80

left



100

40 20 0

5

10

15

20

Angle of attack: θ0

25

angle (degrees)

−5 −10 −15 −20 0

5

10

15

20

velocity (m.s−1)

Body forward velocity at touchdown: x˙ 0

25

4.5 4 3.5 3 2.5 2 0

5

10

15

20

Body vertical velocity at touchdown: z˙0

25

−1

velocity (m.s )

−0.5 −1 −1.5 −2 −2.5 −3 0

5

10

15

20

25

time (seconds)

knee Figure 5.14: Evolution of the virtual stance leg stiffness Kspring evaluated at each touchdown and the parameters on which it depends, namely, the angle of attack θ0 , body forward and vertical velocities x˙ 0 and z˙0 at touchdown.

explained in the previous section, the adaptive control parameters cannot contribute in instantly stabilizing the robot. Though they affect the robot’s behavior during the recovery3 they are not analyzed for the perturbed simulations. Therefore, the step down obstacle is used here to illustrate the control based on the spring-mass model and swing coordination reactivity. Figure 5.14 shows the evolution of the stiffness of both virtual 3

The term of recovery is defined as the period after the robot is perturbed and before it retrieves a periodic gait.

126

Chapter 5 Simulation Results

leg and data on which its depends, namely, the angle of attack, body forward and vertical velocities at touchdown, see Chapter 4 Equation (4.3.65). As introduced in the previous chapter, the stiffness of the virtual stance leg is evaluated at each touchdown and kept constant during the whole stance phase. Before the robot attains the step down, the running gait is strongly periodic and thus the stiffness of both virtual legs remains almost constant. However, when the robot reaches the step down obstacle, the body vertical velocity at touchdown z˙0 and the angle of attack θ0 are strongly perturbed, see Figure 5.14. More precisely, before the step down we have z˙0 −1 m.s−1 and θ0 −16◦ at every touchdown, they change right after the obstacle to z˙0 −3 m.s−1 and θ0 −5◦ . Consequently, the stiffness is automatically increased and thus generates the necessary torque at the knee to ensure the stance phase. Note that the stiffness knee knee Kspring is bounded by Kspring that here is equal to 1.105 N.m−1 . The latter has max

been preferred to unbounded stiffness since its expression is formulated as a fraction that can possibly generate undesirable values, see Chapter 4 Equation (4.3.65). The evolution of x˙ 0 and z˙0 show that the vertical velocity observed at the first touchdown after the step down, i.e., t 4.5 s, is transformed into forward velocity in one step. The latter is afterwards readjusted by the adaptive control parameters until t 20 s moment defined by the robot reaching the desired forward velocity, apex height, and angle of attack. During this period, the virtual stance leg stiffness is likely responding to the angle of attack θ0 . To analyze the swing coordination law presented in Chapter 4, it is first necessary to evaluate the stance duration prediction on which it depends. stance , T stance , and T stance were suggested in the last The three predictive terms called Tpred1 pred2 pred3 stance chapter and are now evaluated with respect to the measured stance duration Tmeas stance and T stance , and two approximations from the literature [41, 128] called here TGeyer Saranli

time (milliseconds)

respectively. Figure 5.15 shows the evolution of the different prediction approximations 400

400

300

300

200

200

100

100

Right Side

0 0

10

Tstance

15

Tstance

meas

time (milliseconds)

Right Side

0

5

Geyer

20

25

0

Tstance

5

Tstance

Saranli

meas

400

400

300

300

200

200

100

10

Tstance pred1

15

20

Tstance

25

Tstance

pred2

pred3

100

Left Side

0 0

Left Side

0 5

10

15

time (seconds)

20

25

0

5

10

15

time (seconds)

Figure 5.15: Evolution of the measured and predicted stance time.

20

25

Chapter 5 Simulation Results

127

of the stance duration over simulation time. The two graphs on the left compare the two literature approximations with respect to data measurement for both robot sides while the two others do the same with the three approximations introduced in the last chapter. Figure 5.15 highlights that, despite the accuracy of the approaches suggested stance and T stance , these solutions appear to be sensitive to the step down in [41, 128], TGeyer Saranli stance during the recovery. On the contrary, obstacle and do not follow the tendency of Tmeas stance , T stance , and T stance are less sensitive to the perturbation and all of them follow Tpred1 pred2 pred3 stance tendency. Table 5.3 compares the different predictive terms in the whole the Tmeas

Table 5.3: Average accuracy and maximum error of the T stance prediction

T stance

Average Error

Error max

(ms)

(ms)

(%)

(%)

232.6







171.9

60.7

26.56

56

227.6

11.6

4.84

21

235.2

10.4

4.53

20

stance by [41] TGeyer

162.1

90.7

41.17

95

stance TSaranli

237.3

72.2

31.46

56

stance Tmeas stance = Tpred1



−2 θθ˙0



0

stance = T stance + Δθ Tpred2 pred1

θ˙0 stance stance Tpred3 = C Tpred2

by [128]



stance . Regarding the average errors and comparing them to those of with regard to Tmeas

obtained for the periodic gait, see Table 5.1, no substantial change are observed except stance is less accurate than for periodic gait, which is not unexpected. Therefore, that Tpred3

the maximum error is introduced in the comparison to provide more information on the prediction sensitivity to the ground perturbation. The maximum error confirms stance and T stance have a the previous observation based on Figure 5.15. Particularly, Tpred2 pred3 stance maximum error of 21% highlighting their small sensitivity to the obstacle while TGeyer stance , it has a maximum error of 56% reaches a maximum error of 95%. Regarding TSaranli stance . To keep the maximum error as low as possible is which is equal to the one of Tpred1

highly important to provide a safe control at the swing leg. Indeed, an error of 95% in the stance duration prediction with regard to the real one would tend to make the swing leg twice faster or slower than needed. If such a phenomenon occurs during even only one stance phase, it is unsafe for the robot stability. It shows that, despite their high simplicity, the prediction methods suggested in this thesis are suited for the control of a running bipedal robot. Having discussed on the stance duration prediction, Figure 5.16 shows the evolution of the evaluated swing velocity dθ˙sw based on the virtual swing leg stance , see Chapter 4 Equation pitch at touchdown θ0sw and stance duration prediction Tpred3 stance of the opposite side since the (4.3.78). Note that the evaluation of dθ˙sw uses Tpred3

stance duration of one leg equals the swing duration of the opposite leg, as introduced with the control state machine in the previous chapter. Surprisingly the swing after the

128

Chapter 5 Simulation Results left

right

left

right

left

right

−100

−1

velocity (deg.s )

Desired swing velocity: d θ˙sw 1st swing (left) after step down ⇒

−200 −300 −400

0

5

10

15

20

Virtual swing leg pitch at touchdown: θ0sw

25

angle (degrees)

70 60 50 40 30

1st swing (left) after step down ⇒

20 10 0

5

10

15

20

stance Stance duration prediction: Tpred3

25

time (milliseconds)

400 350 300 250 200

st

150

1 touchdown (right) after step down ⇒ 0

5

10

15

20

25

time (seconds)

Figure 5.16: Evolution of the virtual swing leg desired velocity dθ˙sw evaluated at each touchdown and the parameters on which it depends, namely, the virtual swing leg pitch stance . at touchdown θ0sw and stance duration prediction Tpred3

step down is slower than usual which can be explained by the virtual swing leg pitch at touchdown θ0sw that is close to the vertical. The following steps are more regular regarding the initial virtual swing leg pitch θsw . Consequently, dθ˙sw is mainly behaving 0

according to the stance duration. At around 20 s, it finally retrieves a constant value of about −265 deg.s−1 equivalent to dθ˙sw before the ground perturbation. In the current section, the control behavior when the robot is facing a unique obstacle, namely, a step down of 45 cm, was discussed. However, the running gait is also robust to a series of ground perturbations, such as running over a random terrain. The next section focuses on the analysis of the control behavior in the latter case.

Random terrain

Figure 5.17 shows the snapshots of a simulation with the robot

running over a random terrain. The terrain has a maximum height variation of 15 cm and is 40 m long. The terrain configuration represents the worst case scenario that the running robot can handle before falling down. For more deteriorated terrains, the chances of getting several and high foot torsions and foot hitting terrain peaks are higher and constitute real issues for preserving the robot stability. This test highlights the algorithm response to successive perturbations over a long duration. Since the perturbations are here of different type (i.e., bad foot orientation in stance in the sagittal and frontal planes, height variation between two steps) and are accumulated, the relation between each perturbation and each robot action is hard to establish. Considering the latter and since the robot is able to overcome these perturbations without falling, the

Chapter 5 Simulation Results

129

Figure 5.17: Simulation snapshots of the robot running over a 40 m long random terrain with a maximum height variation of 15 cm. The snapshots are spaced at 0.2 s.

current section only exposes the algorithm behavior assuming it to be safe for the system stability. Figure 5.18 shows measurement data relative to the foot orientation and Ankle pitch at mid−stance

left right

20

−10

Foot vertical position at mid−stance

15

−15

10

−20

5

−25

left right

4

position(centimeters)

left right

−5

angle (degrees)

Ankle roll at mid−stance

0

−30 −5

2 0 −2 −4 −6

−35 −10 0

5

10

15

20

25

30

35

0

5

time (seconds)

10

15

20

25

30

35

0

time (seconds)

5

10

15

20

25

30

35

time (seconds)

Figure 5.18: Evolution of the ankle pitch/roll angles and foot vertical position measured at mid-stance.

vertical position at each mid-stance4 , note the average foot penetration in the ground of about 8 mm (right graph) in periodic gait. It highlights very clearly how the contact between the stance foot and the ground is perturbed while progressing over the random terrain. More precisely, we can observe maximum variations of about 40◦ for both ankle pitch DoFs, 30◦ for the left ankle roll DoF, and more than 10 cm for the foot vertical position. As in the previous section, Table 5.4 compares the results from the Table 5.4: Average accuracy and maximum error of the T stance prediction

T stance

Average Error

Error max

(ms)

(ms)

(%)

(%)

222.5







160.0

62.6

28.27

43

208.9

13.8

6.27

27

222.6

8.5

3.84

22

stance by [41] TGeyer

150.9

82.2

37.36

89

stance TSaranli

207.0

67.3

30.25

53

stance Tmeas stance = Tpred1



−2 θθ˙0



0

stance = T stance + Δθ Tpred2 pred1

θ˙0 stance stance Tpred3 = C Tpred2

by [128]



different stance duration predictions. Although the environment studied here differs 4 The mid-stance instant is defined here as the transition from the support state to the toe-off one that occurs when the virtual stance leg pitch crosses zero.

130

Chapter 5 Simulation Results

from the step down obstacle, similar observations can be conducted. More precisely, the methods presented in this thesis appear to more accurate and less sensitive to the ground

time (milliseconds)

perturbations than the ones from the literature [41, 128]. However, Figure 5.19 shows 300

300

200

200

100

100

Right Side

0 0

10

15

20

time (milliseconds)

Tstance meas

25

Tstance Geyer

30

35

0

200

200

100

100

Left Side 10

15

20

25

30

35

15

20

Tstance pred1

25

30

Tstance pred2

35

Tstance pred3

Left Side

0

5

10

Tstance meas 300

0

5

Tstance Saranli

300

0

Right Side

0

5

0

5

10

time (seconds)

15

20

25

30

35

time (seconds)

Figure 5.19: Evolution of the measured and predicted stance time. stance and T stance present much more recurrent and important errors with respect that TGeyer Saranli stance still follow in the whole the behavior to the measured data, while the three Tpred stance . In Figure 5.20 are presented the evolution over time of the virtual stance of Tmeas

−1

stiffness (kN.m )

knee Virtual stance leg stiffness: Kspring 35

right

⇐ last contact

1st contact ⇒

30

left

25 20 15 10 0

5

10

15

20

25

30

35

time (seconds)

left

Desired swing velocity

right

velocity (deg.s−1)

−200 −250 −300 −350 −400 −450 0

5

10

15

20

25

30

35

time (seconds)

Figure 5.20: Evolution of the virtual stance leg stiffness and virtual swing leg desired velocity evaluated at each touchdown.

leg stiffness and virtual swing leg desired velocity. The first contact with the random field occurs at about t = 4 s and the last contact is at about t = 17 s. Between these two instants, the robot is subject to successive perturbations making the stiffness and desired velocity widely varying. However, once the last contact with the random terrain is achieved, the stiffness and desired velocity rapidly start converging to their values anterior to the perturbed area. Changes in the robot velocity, angle of attack, and apex

Chapter 5 Simulation Results x˙ mean

left

131

right

gain value (N.m.rad−1)

−1

velocity (m.s )

4 3.8 3.6 3.4 3.2 3 0

5

10

15

zapex

20 left

25

30

right

1.05 1 0.95 0.9 0

5

10

15

θ0

20 left

25

30

right

180 160 140

−20

−25

10

15

20

(x˙ mean, zapex)

25

30

left

35 right

0.9 0.85 0.8

 knee  Kcorr min

0.75 0

5

ref

des

−15

5

knee Kcorr

35

angle (degrees)

angle (degrees)

200

0

−10

right

220

des

1.1

left

240

35

gain value (dimensionless)

position (meters)

ankle Kpitch (x˙ mean, zapex)

des

10

15

20

θ (θ0 )

25

30

left

35 right

−9 −10 −11 −12 −13

0

5

10

15

20

time (seconds)

25

30

35

0

5

10

15

20

25

30

35

time (seconds)

Figure 5.21: Response of the adaptive control parameters (second row) with respect to their desired and measured data (first row).

height are important in the current environment and, on the contrary of the step down obstacle, these variables are perturbed for long a period. Therefore, it is expected that the adaptive control parameters make important changes in the robot running motion. The progression of the different adaptive control parameters with respect to their desired and measured data are exposed in Figure 5.21. Regarding the 1st graph, it should be noted that between t = 5 s and t = 12 there is a sudden drop in velocity x˙ mean . It is knee and augmentation of K ankle . countered by the diminution of the stiffness corrector Kcorr pitch

Concerning the angle of attack, the measured data θ0 is perturbed with an amplitude of variation of about 10◦ but keeps an average value that is around the desired one. After a closer observation, θ0 appears to increase rapidly when t ∈ [6 s, 9 s], augmentation that is likely stopped by the adaptive control parameter refθ0 (θ0 ) which rapidly decreases. These last observations show that even if the adaptive control parameters are not designed for quick stabilization of the robot, they can help in preventing a possible robot fall.

132

Chapter 5 Simulation Results

5.2.3

High-speed running

The algorithm presented in the last chapter with the set of control parameter values detailed in Appendix D can generate stable running gaits that are robust to ground perturbations as it is presented within Sections 5.2.1 through 5.2.2. With the same algorithm and gain values, the robot is able to perform a stable running motion for ) * the following range of average velocities 2.7 m.s−1 , 4.5 m.s−1 though it can possibly run slower or faster for a short moment, see Figure 5.7. For lower speeds, the gait seems inappropriate, possibly mainly due to the adaptive control parameter that softens too much the virtual stance leg stiffness, and certainly needs a deep improvement of the algorithm to deal at the same time with higher and much lower speeds. However, reaching speeds beyond 4.5 m.s−1 can be achieved by only tightening the control of the body orientation. To do that, two parts of the controller need to be changed, i.e., the gain values of the stance hip and the control laws of the trunk for the flight phase are transformed as follows: ⎧ trunk trunk trunk trunk ⎪ τyaw = −Kyaw qyaw + Byaw ϕ˙ z ⎪ ⎪ ⎪ -



⎨ trunk trunk trunk trunk trunk trunk - trunk τpitch = −Kpitch qpitch + Bpitch cos qyaw ϕ˙ y − -sin qyaw - q˙pitch ⎪ ⎪



⎪ ⎪ trunk trunk trunk trunk trunk trunk - trunk ⎩ τroll = −Kroll qroll + Broll sin qyaw ϕ˙ y − -cos qyaw - q˙roll ⎧ trunk ⎪ ϕ˙ z τ trunk = Byaw ⎪ ⎪ ⎨ yaw trunk trunk trunk trunk trunk now become: qpitch − Bpitch q˙pitch τpitch = −Kpitch ⎪ ⎪ ⎪ ⎩ τ trunk = −K trunk q trunk − B trunk q˙trunk roll roll roll roll roll

(5.2.1)

(5.2.2)

trunk q trunk of the τ trunk control law is neglected to enhance the body where the term −Kyaw yaw yaw

yaw stabilization. Since the body yaw is subject to the highest perturbations due to the rapid motion of the legs, the latter modification of the trunk control aims to reduce its pitch and roll variation to focus only on stabilizing the body yaw during the flight phase. Table Table 5.5: Modification of the gain values relative to the body’s balance. Only the changed gains are summarized with their old values in parentheses.

stance phase trunk = 10 (0) N.m.rad−1 , Kyaw hip Kpitch = 1500 (700) N.m.rad−1 ,

hip Bpitch = 150 (50) N.m.rad−1 .s,

hip Kroll = 1500 (400) N.m.rad−1 ,

hip Broll = 150 (100) N.m.rad−1 .s

flight phase trunk = 100 (60) N.m.rad−1 , Kpitch

trunk = 10 (40) N.m.rad−1 .s, Bpitch

trunk = 100 (60) N.m.rad−1 , Kroll

trunk = 10 (40) N.m.rad−1 .s Broll

Chapter 5 Simulation Results

133

5.5 summarizes the changes achieved on the gain values relative to the body’s balance. knee had to be modified to focus on correcting Finally, the adaptive control parameter Kcorr

only the apex height zapex while conserving the same gain values. As mentioned before, knee to control the apex height and speed is efficient, but also appears to manipulating Kcorr

somehow reduce the robot stability in some cases. Focusing the control on zapex makes knee that could the speed control a bit less responsive, but also limits the variations of Kcorr knee should now be written as K knee (z reduce the robot stability. Therefore, Kcorr apex ) with corr

np = 1.1 and nv = 1. The rest of the algorithm and control parameter values remain exactly the same, see Appendix D. With these modifications the robot is now able to run from 2.7 m.s−1 up to 7 m.s−1 . The following discusses the results obtained with the modified algorithm. x˙ mean

right

velocity (m.s−1)

7 6 5 4 3 0

10

20

30

40

zapex

50

60

80

90

right

1.04 1.02 1 0.98 0

10

20

30

40

θ0

50

60

left

70

80

90

right

200 10

20

30

40

50

60

knee Kcorr (zapex)

70

80

90

left

100 right

1 0.95 0.9 0.85 0.8

 knee  Kcorr min

0.75 0.7

100

0

ref

des

10

20

30

40

50

60

θ (θ0 )

70

80

90

left

100 right

−14

angle (degrees)

angle (degrees)

300

0

−12

right

400

des

1.06

left

500

100

gain value (dimensionless)

left

70

1.08

position (meters)

ankle Kpitch (x˙ mean, zapex)

des

gain value (N.m.rad−1)

left

−14 −16 −18 −20 −22

−16 −18 −20 −22 −24 −26

0

10

20

30

40

50

60

time (seconds)

70

80

90

100

0

10

20

30

40

50

60

70

80

90

100

time (seconds)

Figure 5.22: Tracking a desired apex height and angle of attack in addition of a desired speed that changes from 2.7 m.s−1 to 7 m.s−1 . The graphs on the left compare each of the desired quantities to the corresponding measurement data, the graphs on the right ankle (x˙ mean , zapex ), show the response of each adaptive control parameter, namely, Kpitch knee ref Kcorr (x˙ mean , zapex ), and θ0 (θ0 )

Before presenting the results for the running motion once the periodic state is reached,

134

Chapter 5 Simulation Results

Figure 5.22 shows the simulation results of the robot starting from an average speed of 2.7 m.s−1 and then accelerating up to 7 m.s−1 . Once the desired velocity x˙ mean is set to 7 m.s−1 , the robot running at 2.7 m.s−1 reaches the desired velocity in 20 s and attains then a periodic motion within the following 10 s. During the transition period, the apex height zapex is increasing to values around 1.06 m because of the sudden augmentation of knee is evolving rapidly to decrease the ankle pitch gain value. The stiffness corrector Kcorr

zapex which finally decreases once the velocity stops increasing, at about t = 40 s. Thanks to the adaptive gain

refθ

0,

the average value of the measured angle of attack is around

the desired one while the remaining oscillations are discussed afterwards. An interesting knee Virtual stance leg stiffness: Kspring

left

right

stiffness (kN.m−1)

70 60 50 40 30 20 10 0

10

20

30

40

50

60

70

time (seconds)

left

Desired swing velocity

right

−1

velocity (deg.s )

−200 −400 −600 −800 −1000 −1200 0

10

20

30

40

50

60

70

time (seconds)

Figure 5.23: Evolution of the virtual stance leg stiffness and virtual swing leg desired velocity evaluated at each touchdown.

observation is the self-adaptation to the important change of velocity of the system thanks to the adaptation of the virtual stance leg stiffness and of the virtual swing

time (milliseconds)

leg desired velocity, as shown in Figure 5.23. The different stance duration predictions 300

300

200

200

100

100

Right Side

0 0

10

30

Tstance time (milliseconds)

40

50

Tstance

meas

60

70

0

Tstance

Geyer

Saranli

200

200

100

100

Left Side 10

30

40

time (seconds)

50

60

70

30

40

Tstance

50

60

Tstance

pred1

70

Tstance

pred2

pred3

Left Side

0 20

20

meas

300

0

10

Tstance

300

0

Right Side

0 20

0

10

20

30

40

50

time (seconds)

Figure 5.24: Evolution of the measured and predicted stance time.

60

70

Chapter 5 Simulation Results

135

introduced in this thesis have been shown, during the previous sections, that though they are simple and based on strong assumptions, they are accurate and robust to perturbations. It is now demonstrated through Figure 5.24 that the same prediction stance [41] that returns methods are valuable for a wide range of velocities in contrast of TGeyer stance an almost zero stance duration from t = 22 s. However, regarding the prediction TSaranli

[128], despite the only perturbation located at about t = 22 s, it follows the tendency of the measured stance duration and appears to be really accurate.

Having discussed

Running at 3.5 m.s−1 :

Running at 7 m.s−1 :

Gait 0% Cycle

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

Figure 5.25: Snapshots from Figure 5.1(top) and of an entire running gait cycle, 0.58 s long for an average speed of 7 m.s−1 (bottom)

the transition from low speed running to high-speed running, we will now expose the results obtained once the gait has stopped evolving. The snapshots of the robot running at 7 m.s−1 are presented in Figure 5.25 with those of the periodic running at 3.5 m.s−1 . From these snapshots, it is possible to note differences in the gaits of the robot running at low and high speeds. For instance, the support state appears to be much shorter at a high speed benefiting to the toe-off state. Another substantial difference is the high extension of the swing hip during the flight phase that is lower in low speed running, at 20% of the gait cycle in Figure 5.25. Figures 5.26 and 5.27 relates the robot DoF positions and torques. Each graph contains the plot for one entire cycle (continuous line) and a gray area shows the variation of the same measured data over 10 gait cycles. While for the running motion at 3.5 m.s−1 variations over more than 100 cycles are barely perceptible, see Figures 5.2 through 5.6, they are here for only 10 cycles very wide. The latter indicates that the robot cannot reach a 1-cycle periodic motion and that the difference between these 10 cycles is substantial from the geometric, kinematic, and dynamic points of view. Moreover, Figure 5.26 highlights that, despite the body control has been made tighter, the body is not well maintained anymore. The body

136

Chapter 5 Simulation Results qhip pitch

angles (degrees)

40 L. Stance

Flight

R. Stance

qankle pitch

knee

q Flight

150 L. Stance

Flight

R. Stance

60 L. Stance

Flight

Flight

R. Stance

Flight

40

20

20

100 0

0 −20

−20 50

−40 −40 −60 0

−60 0

20

40

60

80

100

hip

0

20

40

60

80

100

hip

left right

qyaw

0

20

40

60

80

100

80

100

80

100

ankle

left right

qroll

qroll

6 15

15

angles (degrees)

4

10

10 2

5

5 0

0

−2

−5

0 −5 −10

−4 −10

−15 0

20

40

60

80

100

0

20

Trunk DoFs

40

60

80

100

20

40

60

Body position

20

1.02

qz

15

50

1

position (meters)

angles (degrees)

0

Body orientation

10 5 0 0 −5 −50

−10

qtrunk roll

qtrunk pitch

20

40

60

% gait cycle

80

0.96 0.94 0.92

qtrunk yaw

φx

−15

φy

φz

0.9

−100 0

0.98

100

0

20

40

60

% gait cycle

80

100

0

20

40

60

% gait cycle

Figure 5.26: Evolution of the DoF positions during one gait cycle. Continuous lines show the evolution of one DoF during one gait cycle while the surrounding gray areas highlight the variation over 10 cycles. The left touchdown occurs at 0% and 100% and the right touchdown at around 50% of the gait cycle.

pitch varies from 0◦ to 10◦ while for a 3.5 m.s−1 running speed we observed a variation of 6◦ . Variations in body orientation are even higher and asymmetric around the z-axis. Indeed, the body yaw angle has a variation of about 15◦ over one cycle and a variation of more than 30◦ when considering 10 cycles. Concerning the joint torques, see Figure 5.27, the hip joints are twice or three times more solicited compared to the 3.5 m.s−1 running. This augmentation is mostly during the stance phase which is not surprising because of the gain value augmentations, see Table 5.5. On the contrary, note that the torques at the knee and ankle pitch joints have globally increased of only about 20-30%. In addition to these augmentations, the apparition of many torque peaks should be noted. Regarding in first late-stance, i.e., at 18-19% of the gait cycle, we can observe that the left knee torque decreases and has a sudden peak almost reaching 100 N.m. The latter is due to the knee full extension that happens before takeoff and that causes at the same instant torque peaks at the hip yaw/pitch/roll, ankle pitch, and trunk pitch DoFs. The

Chapter 5 Simulation Results

137

τhip pitch 400 L. Stance

Flight

ankle

τpitch

knee

τ

R. Stance

Flight

L. Stance

Flight

R. Stance

Flight

200 L. Stance

100

Flight

R. Stance

Flight

300 50

150

torque (N.m)

200 0 100

100

−50 0 −100

50

−100 −150 −200

0

−200 −300 0

20

40

60

80

100

hip

0

20

40

60

80

100

hip

left right

τyaw

0

20

40

60

80

100

80

100

ankle

left right

τroll

τroll

400 40

torque (N.m)

100

300 200

50

20

100 0

0

0 −100

−50

−20

−200 −40

−100 0

20

40

60

80

100

0

20

trunk roll

40

60

80

100

20

150

τtrunk pitch

60 40

0

τtrunk yaw

100

20 10

60

τ

80

τtrunk roll

30

40

trunk yaw

τ

40

torque (N.m)

0

trunk pitch

τ

50

20

0

−10 0

−50

−20 −20

−30 −40

−100

−40 0

20

40

60

% gait cycle

80

100

0

20

40

60

80

100

% gait cycle

0

20

40

60

80

100

% gait cycle

Figure 5.27: Evolution of the DoF torques during one gait cycle. Continuous lines show the evolution of one DoF during one gait cycle while the surrounding gray areas highlight the variation over 10 cycles. The left touchdown occurs at 0% and 100% and the right touchdown at around 50% of the gait cycle.

same full extension causes a discontinuity in the propulsion visible on the body forward velocity in Figure 5.29. The ground reaction forces are given in Figure 5.28. They are transformed in shape with respect to the periodic running motion at 3.5 m.s−1 and are about twice more important in magnitude. Figure 5.29 details the evolution of the body linear velocities. As in the previous figures, measurement data show a substantial variation from step to step. Note the same variation that was discussed for the 3.5 m.s−1 running motion in forward velocity right after touchdown.

These substantial variations

in the geometric, kinematic, and dynamic spaces highlights that the control algorithm is at its top speed limitation and that the robot becomes unstable. It is indeed confirmed by the simple observation that the robot cannot reach higher desired velocities. However, these conclusions are in contradiction with several tests conducted with uneven terrains. Four of them are reported here with the simulation snapshots of Figures 5.30 5.33. Among them, note that the robot when running at 7 m.s−1 is almost as robust to the

138

Chapter 5 Simulation Results GRFz

Normal GRFs L. Stance

R. Stance

Flight

GRFx

Tangential GRFs L. Stance

2

2812

Flight

GRFy

R. Stance

Flight

803

6

2410

5

2008

4

1607

3

1205 −1

−402

2

803

−803

1

402

0 20

40

60

80

402

0

0

−2 −3

0 0

1

100

force (N)

force (body weight)

7

Flight

−1205 0

20

40

% gait cycle

60

80

100

% gait cycle

Figure 5.28: Evolution of the GRFs (in body weight unit) during one gait cycle. Continuous lines show the evolution of one GRF component during one gait cycle while the surrounding gray areas highlight the variation over 10 cycles. The left touchdown occurs at 0% and 100% and the right touchdown at around 50% of the gait cycle. x˙

Body forward velocity

velocity (m.s−1)

7.5

L. Stance

Flight

R. Stance



Body lateral velocity

Flight

L. Stance

0.3

Flight

R. Stance



Body vertical velocity

Flight

L. Stance

1

Flight

R. Stance

Flight

0.2 0.5

7

0.1 0

0

−0.1

6.5

−0.5

−0.2 −0.3 6

−1

−0.4 0

20

40

60

% gait cycle

80

100

0

20

40

60

% gait cycle

80

100

0

20

40

60

80

100

% gait cycle

Figure 5.29: Evolution of the body linear velocities during one gait cycle. Continuous lines show the evolution of each velocity component during one gait cycle while the surrounding gray areas highlight the variation over 10 cycles. The left touchdown occurs at 0% and 100% and the right touchdown at around 50% of the gait cycle.

Figure 5.30: Simulation snapshots of the robot running at 7 m.s−1 and dealing with a 40 cm high step down. The snapshots are spaced at 0.2 s. (When running at 3.5 m.s−1 , the robot is able to deal with a 45 cm high step down.)

step down obstacle as when running at 3.5 m.s−1 . While the maximum step height that the robot can deal with was previously of 45 cm, it is now only reduce by 5 cm though its forward velocity has been doubled. Within the current section, the running motion was first analyzed, then main part of the controller acting for the robot stability were studied with different simulation tests, and the limitations of the controller have been exposed in term of perturbation robustness, control of the desired quantity (i.e., speed, apex height, and angle of attack), and range of speeds. The simulation results obtained for the walking motion are now introduced.

Chapter 5 Simulation Results

139

Figure 5.31: Simulation snapshots of the robot running at 7 m.s−1 over a 50 m long random terrain with a maximum height variation of 7 cm. The snapshots are spaced at 0.2 s.(When running at 3.5 m.s−1 , the robot is able to deal with a 40 m long random terrain with a maximum height variation of 15 cm.)

Figure 5.32: Simulation snapshots of the robot running at 7 m.s−1 over stairs with 4 cm high steps and a 32 cm high step down. The snapshots are spaced at 0.2 s.(When running at 3.5 m.s−1 , the robot is able to deal with stairs with 10 cm high steps and a 50 cm high step down.)

Figure 5.33: Simulation snapshots of the robot running at 7 m.s−1 over upstairs and downstairs with 5 cm high steps. The snapshots are spaced at 0.2 s.(When running at 3.5 m.s−1 , the robot is able to deal with upstairs and downstairs with 10 cm high steps.)

5.3

Walking and one-step transition simulation results

From the control algorithm for achieving a running motion, two control algorithms were developed, one for walking and the other one for achieving a one-step transition from walking to running. Figure 5.34 shows the walking simulation snapshots and Figure 5.35 the snapshots of the robot performing the one-step transition. Finally, Figures 5.36 and 5.37 highlight that right after the transition the robots is still able to deal with ground perturbations. As in the last chapter, the results obtained with these two control algorithms are discussed in Appendix D.

140

Chapter 5 Simulation Results

Gait 0% Cycle

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

Figure 5.34: Snapshots of an entire walking gait cycle, 1.442 s long for an average speed of 1 m.s−1

Figure 5.35: Simulation snapshots of the robot walking at 1 m.s−1 , performing the one-step transition, and then running to reach a final speed of 3.5 m.s−1 . The snapshots are spaced at 0.4 s for the walking part and then at 0.2 s for the running part.

Figure 5.36: Simulation snapshots of the robot walking and then running with the presence of a 45 cm high step down. The snapshots are spaced at 0.2 s.

Figure 5.37: Simulation snapshots of the robot walking and then running over a 40 m long random terrain with a maximum height variation of 15 cm. The snapshots are spaced at 0.2 s.

5.4

Conclusion

In Chapter 4, a control algorithm for achieving a running motion with a complex 3D bipedal robot was introduced. The latter was extended to achieve a walking motion and a one-step transition from walking to running. In this chapter, the results obtained in simulation for the running motion was discussed while the results obtained from

Chapter 5 Simulation Results

141

the two extensions are reported in Appendix D. With the architecture suggested in this thesis, the robot is able to run at speeds between 2.7 m.s−1 and 3.5 m.s−1 while being able to deal with important ground perturbations, such as a step down with a height equivalent to 104% of the shin length. The use of spring-mass model and the implementation of a swing coordination strategy were proven to actively participate in keeping the robot balance with or without perturbations. Thanks to the evaluation of the neutral stiffness, the robot automatically adapts its stance behavior with respect to its configuration at touchdown while the swing coordination allows predicting how fast the swing leg has to move forward. In addition, the adaptive control strategy is efficient in stabilizing the robot gait and in controlling some of its vital parameters, namely, the forward velocity, apex height, and angle of attack. Moreover, with a few changes in the control, mostly relative to the body’s balance, the robot is still able to run at 2.7 m.s−1 but is also able to achieve high-speed running with a maximum velocity of 7 m.s−1 . The high-speed running gait, i.e., 7 m.s−1 , was shown to be irregular, but the robot can still deal with important ground perturbations. Although the control methodology appears to be adequate for dealing with ground perturbations, it is very limited to face external pushes. Several tests were conducted to evaluate the latter –these results were not reported here– showing that the robot is not able to deal with substantial external pushes, i.e., F push > 3 N.s. The first extension of the running algorithm was designed to achieve a walking motion. As results, walking gaits at reasonable speeds, i.e., between 0.8 m.s−1 and 1 m.s−1 , could be obtained. Thanks to the adaptive control strategy, the speed and angle of attack are still controllable. While the gait is shown to be immature to deal with perturbations or to walk at higher speeds, the results obtained have permitted to prove the efficiency of the adaptive control parameters and of the swing coordination law. Finally, as a last extension of the running control algorithm, a one-step transition from walking to running was introduced in the previous chapter and the results obtained were exposed in this chapter. Using the one-step transition, the robot is able to start running from walking at any moment and the gait, satisfying the desired speed, apex height, and angle of attack, is stabilized in about 30 s. This transition can be used to connect the walking motion to the high-speed or normal running algorithm without any change in the walking and running control algorithms. Moreover, the transition has been shown to not affect the robot robustness Consequently, the robot is still able to deal with to ground perturbations with the same ”magnitude” as in running from a periodic state. Nevertheless, the transition needs to be validated for wider range of walking speeds.

Chapter 6

Conclusion In this thesis, we have been interested on studying human-like locomotion, especially the running motion, through the human gait dynamic analysis and the control of a bipedal robot in simulation. In this chapter, we summarize the main contributions of this thesis, discuss the limitations of our approach for generating human-like locomotion, and suggest additional work to overcome these limitations. It is organized as follows. The contribution is detailed in Section 6.1, followed by the discussion of the current limitations and future directions to overcome these in Section 6.2, to conclude with discussions about more general perspectives to consider in Section 6.3.

6.1

Recapitulation

The current section summarizes the main contributions of this work. As for the next section on future work, the current summary is divided in three parts corresponding to the three main topics of the study, namely, the inverse dynamics, human locomotion analysis, and generation of dynamic locomotion with a bipedal robot.

6.1.1

Dynamics

In order to perform easy dynamic analysis of the human locomotion we have suggested in Chapter 2 a new formalism of the equations of motion. Besides the analysis of human locomotion, the study has brought analytic and compact expressions of the system inertia, centrifugal, Coriolis, gravity, and external force tensors. The formalism has been presented through four distinct forms:

143

144

Chapter 6 Conclusion • 1st form: the equations are developed based on the equations of Newton-Euler and highlight the organization of the system physical parameters in the system dynamics: τi =

N 

!

k=i

k 

 ˆ j Ik + 2 q˙j q¨j Ik + q˙j2 u

j=1

− m cˆ k

ik



j−1 



q˙n dual Jk · un

n=1

q¨j 1 +

j−1 

ˆj q˙j2 u

ˆ + 2 q˙j q˙n u " n=1

+ Mk + cˆik · F k − mk g ug · ui

n



 jk



· uj (6.1.1)

• 2nd form: the equations are reorganized to express separately each of the inertia, centrifugal, Coriolis, gravity, and external force tensors: τi =

N  k 

 k Hij q¨j

⎧ k ⎪ Hij ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ βk ⎪ ⎨ ij k with: ζijn ⎪ ⎪ ⎪ ⎪ ⎪ Gik ⎪ ⎪ ⎪ ⎩ Qk k=i j=1

i

j−1 



+ Gik + Qki + + 2 q˙j n=1



= Ik − mk cˆik cˆjk · uj · ui



ˆ j Ik − mk cˆik u ˆ j cˆjk · uj · ui = u



ˆ n cˆjk · uj · ui = dual Jk · un − mk cˆik u

= −mk g cˆik · ug · ui

= Mk + cˆik · F k · ui k 2 βij q˙j

k ζijn q˙n

(6.1.2)

(6.1.3)

• 3rd form: the Jacobian tensor is considered in the equations of motion leading to a synthetic expression of the dynamic and external resulting moments: ⎡ ⎤   j−1 N k    k k 2 k ⎣ τi = q¨j + βij q˙j + 2 q˙j ζijn q˙n + Gik + Qki ⎦ Hij ⎧

k k kj ⎪ H = K · d · dki ⎪ ij ⎪ ⎪

⎪ ⎪ k ˆ kj Kk · dkj · dki ⎪ = Φ ⎪ βij ⎨



k k kn kj with: ζ = dual L · Φ .d · dki ijn ⎪ ⎪ ⎪ ⎪ k k kg ki ⎪ ⎪ Gi = −m g ϕ · σ ⎪ ⎪ ⎩ Qk = F k · dki i k=i

(6.1.4)

n=1

j=1

(6.1.5)

• 4th form: the J-inertia tensor X k is introduced and allows the inverse dynamics to be written under the most compact formulation of the study: τ =

N 

Dk

T   · X k · q¨ + X˙ k · q˙ + F¯ k

(6.1.6)

k=1

with: X k = Kk D k

(6.1.7)

Through the four forms presented, the second form was found efficient for developing, rapidly, the equations of motion of simple systems. It has been useful for testing various feed-forward controls in the running simulation without heavy efforts. The third formulation was used afterwards in the study of the human locomotion through its dynamics.

Chapter 6 Conclusion

145

Although it has not been used in this thesis, the fourth and last form was developed and formulates the equations of motion with only a few terms and a great simplicity comparable to the Lagrange’s formulation. Finally, the third and fourth forms were shown to be applicable on multibody systems that can be composed of revolute/prismatic DoFs, a floating base, and for kinematic trees, with a few modifications.

6.1.2

Human motion analysis through its dynamics

In Chapter 3, the analysis of the human locomotion through the inverse dynamics has been led for the running and walking motion with the formalism of the equations of motion introduced in Chapter 2. The quality in representing the motion dynamics of a variety of dynamic models was evaluated according to five distinct criteria that were suggested. It led to identify within the system inertia, centrifugal, and Coriolis tensors the terms that are crucial in capturing the motion dynamics. This identification was summarized in a guideline for building a reliable modeling for representing the dynamic behavior of a running and/or walking bipedal robot: • the robot’s upper-part needs to be modeled as two separate links, • the lower leg has to be modeled separately from the upper-leg, • the x-axis inertia terms of the lower leg should be considered for dynamic walking motion, • the y-axis inertia terms of the trunk, lower leg, and arm, if any, should be considered, • the z-axis inertia terms of the trunk, if there is no arm, should be considered, • only the centrifugal and Coriolis terms of the lower leg need to be considered in the modeling, • among the various centrifugal and Coriolis terms, only those considering the hip pitch and knee velocities are substantial in the modeling.

6.1.3

Generation of dynamic locomotion

In Chapter 4, a new control algorithm for achieving running with a complex 3D bipedal robot was suggested and the simulation results obtained were exposed and discussed in Chapter 5. The robot simulated is M2 from the MIT Leg Laboratory to which a trunk with 3 DoFs was added. In the approach used, four main components should be highlighted, namely, the use of a trunk, spring-mass model, swing coordination, and adaptive control strategy.

146

Chapter 6 Conclusion • A first model of the robot M2 with three reaction masses was studied to identify how an upper-part can help in stabilizing the system during the flight. From the results obtained, the three reaction masses were replaced with a unique trunk and a strategy was suggested helping in keeping the body’s balance during the flight period. • A study on the spring-mass model in the sagittal plane was conducted. The concept of neutral stiffness comparable the neutral point in [54] was suggested, estimated, and then used for controlling the knee during the stance. As a result, the robot’s behavior is automatically updated with respect to the robot’s state at touchdown to ensure the stability during the stance phase. • In addition of the use of the spring-mass model for the stance leg, a swing coordination law for the swing leg has been developed and implemented in the control. Based on the stance duration prediction, it allows the swing leg to swing as fast as necessary ensuring good conditions for reaching the next desired angle of attack. • To help in tuning the gain values of the control algorithm, an adaptive control strategy was suggested. Based on intuitive principles, the adaptive control parameters allow the robot to track one or various desired quantities, such as a desired velocity and apex height. The robot tends to reach the desired quantities and, when these are reachable, the robot is attracted to a periodic gait ensuring its stability in the case of no external perturbations.

The control approach for running was evaluated within different environments, namely, on flat and degraded terrains, in addition to the robot ability to respond to the desired quantities. The results obtained highlighted that the robot is able to perform a human-like stable running gait with the apex height, speed, and angle of attack that can be controlled. A high robustness to ground perturbations have been highlighted with different type of degraded terrain, namely, a step down (45 cm height), random terrain (maximum height variation: 17 cm), bumpy terrain (vertical amplitude of 8 cm), upstairs and downstairs (step height 10 cm). In addition, with a few modifications on the controller, the robot is able to cover a wide range of speeds, i.e., from 2.7 m.s−1 to 7 m.s−1 . Note that the highest running speed reached in simulation with a 3D complex robot is of 10 m.s−1 by G. Schultz and K. Mombaur [130] that is the result from an optimization process. At the contrary to the latter, our approach allows reaching high running speeds with a real-time controller that enables the robot to deal with ground perturbations. Moreover, the running gait of the robot is very close to the human being, namely, the running robot has natural looking gait and various key characteristics were identified to be very similar between the robot and its counterpart the human being. Besides the running motion, the control algorithm was extended for achieving the walking motion. Unfortunately, strong limitations concerning the forward speed and

Chapter 6 Conclusion

147

stability in the control of the spring-mass model for walking were detected first by establishing the solution space of the neutral stiffness, and secondly by evaluating the use of the model in the control algorithm. Although we could not have used the spring-mass model and benefited from the trunk capacities in the control, the swing coordination law and adaptive control strategy were still found very useful in creating in a simple way walking gaits. Finally, benefiting from the high stability/robustness of the running gait, a one-step transition from walking to running was achieved. With this one-step transition, the robot is able to start running at any step of the walking gait, allowing it to cover a very wide range of speeds, i.e., from 0.8 m.s−1 to 7 m.s−1 .

6.2

Future work

In this section, we discuss the limitations of our work and the possible extensions that could be engaged to improve the approach. The section is organized in three parts each of them discussing the three topics explored in this thesis, namely, the inverse dynamics problem, human motion analysis through its dynamics, and generation of dynamic locomotion with a bipedal robot.

6.2.1

Dynamics

Though the new formalism suggested brings a clear expression of the equations of motion and each term composing it, it has a much higher complexity than most of the formulations of the literature. Indeed, regarding the number of sums, i.e., one depending on the number of links and two others on the number of DoFs, that need to be carried out, the complexity seems to be of Θ N 4 . The latter observation makes the formalism not preferable for real-time control on a complex system. Within the first three formulations suggested, the complexity mentioned is clearly present in the main expression of the torques, see the third form equation of τi in Equation (6.2.1), and seems to make the formalism hard to improve in terms of operation number. ⎡ ⎤   j−1 Nb Nd    k k 2 k ⎣ Hij τi = q¨j + βij q˙j + 2 q˙j ζijn q˙n + Gik + Qki ⎦ k=1

j=1

n=1

(6.2.1)

148

Chapter 6 Conclusion

However, it is less obvious that the last form cannot be improved, the form is recalled in Equation (6.2.3).

τ =

Nb 

Dk

T   · X k · q¨ + X˙ k · q˙ + F¯ k

(6.2.2)

k=1

with X k = Kk D k Compared to the other forms, only one sum is remaining, i.e.,

(6.2.3) Nb

k=1 ,

while two others can

be retrieved through the dot products and the last one can be found in the computation of the term X˙ k . Therefore, focusing on a better calculation method of X˙ k and of the different dot product, the complexity could be improved. Besides the complexity problem, the application field of the formalism is limited, namely, it is usable for open chain kinematics without any constraint or body flexibility. Consequently, extensions for complex systems, for instance, systems with closed chains, flexible bodies, and/or constraints, should be explored. Finally, regarding the simple formulation obtained with the last form, see Equation (6.2.3), that exposes clearly the acceleration term q¨, the problem of forward dynamics should be considered.

6.2.2

Human motion analysis through its dynamics

The evaluation led in Chapter 3 was kept at the simplest level. More precisely, different inverse dynamic models were evaluated by comparing their torque outputs at each instant with those of a reference model, and that for only two human-like gaits, namely, the running and walking motions. Therefore, the insight gained during the study is still limited. It has resulted in identifying the terms of the equations of motion that play a substantial role in capturing the motion dynamics. In the continuity, the latter identification has led to evaluate how far a dynamic model can be simplified while still being accurate. Although the evaluation provided helpful information, such as the importance of the trunk and lower leg on the robot’s behavior, for developing the running algorithm, the human motion analysis through its dynamics should be extended. This extension should be directed to gain insight on the question ”What is going on within the dynamic space? And, how the robot is supposed to react?”. For instance, the aerial period of a gait is problematic especially when the goal is to perform an accurate motion on one or more of the limbs and to prepare for touchdown. In such situation, the entire body must be coordinated to reach the desired targets. It is thus natural to expect that this coordination comes from the under-actuation and thus the limitation in the dynamic space. Considering the human being able to perform highly complex motions even without ground contact, the evaluation could be directed on identifying how humans deal with the under-actuation and coordinate their different body subsets/limbs. Moreover,

Chapter 6 Conclusion

149

the analysis could be improved by identifying the substantial terms in the equations of motion with aim of reducing the problem dimension. The evaluation could be conducted on various motions with the aim of generalizing the observation and thus gaining insight on the above-mentioned question. Besides trying to answer to the ”what” and ”how”, the evaluation does not provide any information on how a dynamic model behaves when used in the control of a human-like machine performing a human-like gait. Regarding how robust and similar to the human gait the simulated running motion is, such evaluation could be conducted. From this study, we could expect to more precisely define what kind of model is better suited for the control and obtain a more accurate control that would be usable for bipedal robots varying in size and physical properties.

6.2.3

Generation of dynamic locomotion

Various concepts were suggested in this thesis, namely, the use of a trunk, spring-mass model, swing coordination, and adaptive control parameters. The control algorithm for bipedal running based on the combination of these concepts has led to successful results in simulation. Though there is still a long way before reaching the capacities of the human being. In the current section, we limit the focus on the possible improvements or extensions of the concepts mentioned above. More general discussions are then provided in Section 6.3.

6.2.3.1 Walking

The spring-mass model From the running algorithm developed and validated in simulation, an ex-

tension for achieving the walking motion was designed. Although the results obtained for the running motion in terms of stability and robustness were satisfying, the simulated robot when walking exhibits a poor robustness to ground variation and covers a very small range of walking speeds, i.e., between 0.8 m.s−1 and 1 m.s−1 . One potential consequence of these limited capacities is the use of an inverted pendulum-like behavior. In Chapter 5, it was shown that the bad compliance of the stance leg generates important impact forces at touchdown. These impact forces are not necessarily hazardous for the robot stability when walking on flat ground at low speeds, and they can even be reduced by decreasing the angle of attack, i.e., reaching touchdown with a more vertical leg. However, for irregular motion possibly perturbed, the angle of attack can somehow be affected, and walking speeds above 1 m.s−1 should be performed with the aim of reaching the human walking speed. Moreover, while for the running motion the concept of the neutral stiffness is used to adjust the stance behavior with respect to the conditions at touchdown, for the walking motion the consideration of an inverted pendulum-like

150

Chapter 6 Conclusion

behavior during stance cannot provide such a flexibility. Consequently, for any velocity or angle of attack at touchdown the robot behavior cannot be adjusted. With such considerations, it is necessary to develop a control strategy to adapt the stance behavior. Considering that the inverted pendulum solution does not provide such possibility, the spring-mass model should be studied more deeply. While in Appendix C.2.3 the limitations of the spring-mass model for walking were discussed, a more advanced modeling should be considered. In this thesis we have studied the spring-mass model with a constant stiffness and rest length during the whole stance and the model was composed of a single spring. In the study of S. Riese et al. [124], they established the relation between the hopping stability and the variation of the spring-mass parameters. A similar study could be conducted for walking with the aim of enlarging the range of reachable speeds and increasing the model stability. Another option is to consider a model with multiple spring elements. Indeed, considering the high number of compliant elements present in the human body, it would be no surprising that the walking motion cannot be synthesized with only one compliant component. Besides the improvement of the stance behavior, the robustness to perturbations can be improved by considering three balancing strategies, namely, ankle, hip, and foot placement strategies [136, 76, 113, 27]. This point is discussed in the next paragraph.

Running The spring-mass model was studied under its simplest form, for instance: 2D modeling, symmetric behavior, no damping, no foot placement, fixed parameters, single spring; but yet implementing the estimated neutral stiffness in the control has provided a reliable tool to ensure the robot’s stability during the stance phase. However, different limitations likely related to the model were observed: 1. The robot is not able to deal with external pushes of a substantial magnitude, i.e., F push > 3 N.s. 2. The robot’s forward speed is controlled by the adaptive control parameters that evolve slowly to avoid threatening the robot stability. Thus, the change of speed cannot be achieved in a few steps, i.e., less than 10 steps. 3. The desired angle of attack, apex height and stance behavior are not optimal in terms of stability, energy consumption, or joints torques/velocities. 4. The hip, knee and ankle behaviors during the stance phase are not fully coordinated. This absence of any coordination possibly deteriorates the desired springmass behavior and thus limits the accuracy of predictions based on the spring-mass model. 5. The robot only runs straightforward.

Chapter 6 Conclusion

151

The inability of recovering from pushes firstly comes from the absence of any foot placement strategy in the control algorithm. A study about the foot placement strategy should be conducted as in [76] for the spring-mass model, and the model should be extended to a 3D modeling to deal with pushes coming from any direction. In addition to the foot placement, the possibilities offered by the spring-mass model should be evaluated. Indeed, by introducing a damping term in the model, the energy added through the push could easily be absorbed increasing the robustness. Recent studies have been conducted on the set of three balancing strategies, namely, the ankle, hip, and foot placement strategies [136, 76, 113, 27]. They obtained robust behaviors in simulation and experimentation. Considering that the spring-mass model can be studied to adapt the stance behavior of the system, future work could be directed to develop a set of four balancing strategies improving the system robustness, namely, the ankle, knee, hip, and foot placement strategies. One limitation point highlighted above concerns the control of the robot speed. In this thesis the spring-mass model has been studied to estimate the neutral stiffness with the aim of obtaining a symmetric stance phase. This symmetric stance was then altered by the use of adaptive control parameter making possible the control of the speed. However, the spring-mass model should be studied for asymmetric behaviors, with the aim of controlling the vertical and horizontal velocities at takeoff and thus the average robot’s speed without the help of the adaptive control parameters. knee used in this thesis helps in controlling the More precisely, the stiffness corrector Kcorr

forward and vertical speeds at takeoff and is modified by using the adaptive control strategy, see Chapter 4 Section 4.3.5. Through this simple control approach, the control algorithm benefits from the asymmetric behaviors of the spring-mass model, as recalled in Figure 6.1. However, it has been achieved without knowing how much the neutral stiffness can be modified without falling. A study on the spring-mass model could help knee knee finding an estimation of fx˙ Kcorr and fz˙ Kcorr defined as follows:

knee x˙ 0 x˙ f = fx˙ Kcorr

knee z˙0 z˙f = −fz˙ Kcorr

(6.2.4) (6.2.5)

It would also highlight how far the neutral stiffness can be changed without falling. With respect to the latter, it would be expected that the maximum change in stiffness that is still safe for the robot stability during one stance is variable and would depend on the initial conditions at touchdown, i.e., x˙ 0 , z˙0 , and θ0 . Therefore, by exploring the ability of controlling the velocity with respect to the space of initial conditions, the identification of subspaces for which the change of behavior, i.e., acceleration/deceleration in both directions, is the highest could be achieved. The latter study, when considered in the control, could lead to obtain a rapid adaption to a desired speed and desired apex height that change. The control algorithm suggested for achieving the running motion

152

Chapter 6 Conclusion

Stiffness Too stiff

FALL !

Stiff

Neutral

Soft

Too soft

FALL !

Figure 6.1: Representative stance behavior of the spring-mass according to different stiffness for a set of initial conditions at touchdown. Four different cases are easily identified: 1) Neutral stiffness: it is equivalent as reaching the neutral point [54], as results, symmetric stance is obtained; 2) High stiffness (stiff): the system horizontal velocity decreases while the next apex is higher than the previous one; 3) Low stiffness (soft): the system horizontal velocity increases and the apex is lower than the previous one; 4) Too stiff or too soft: the stance phase cannot be ensured, the spring-mass is falling.

has not been optimized to improve the gait stability, energy consumption, or joints torques/velocities. Considering that it has been designed using an intuitive approach, the easiest way to increase the gait efficiency with regard to the criteria mentioned lately is through the identification of the spring-mass optimal behaviors. Since the stance behavior is highly dependent on the initial conditions at touchdown, i.e., x˙ 0 , z˙0 , and θ0 , the space of initial conditions should be explored to identify the subspaces where the energy, stability, and joints torques/velocities are optimal. Consequently, when performing a periodic running with no perturbations, the robot would be driven within one or several of the latter subspaces by changing the apex height and angle of attack improving the gait efficiency for a desired average speed. When exploring the spring-mass behavior within the space of initial conditions, we detected two distinct and consistent subspaces. The first one is the subspace where the neutral stiffness exists, while the second one is the subspace where the neutral stiffness is not defined. The first one can be considered as a viable space while the second as a potentially nonviable one and the boundaries separating them can be at least estimated. Therefore, a similar concept to the ZMP-based approach can be studied and developed for the control. While the ZMP can be considered as an indicator of the instantaneous robot dynamical balance, here the indicator of the next stance viability would be the neutral stiffness. To ensure the robot stability, the ZMP should be kept as far as possible from the support polygon boundaries, while here it is the neutral stiffness that should be kept as far as possible from the viable space boundaries. The latter can be achieved by predicting and adjusting the initial conditions of the next stance phase. Consequently, if at least one of the initial conditions can be adjusted when controlling the bipedal robot, the next stance phase stability can be optimized. Naturally the here defined space of viable stance phase can be

Chapter 6 Conclusion

153

then increased by considering for instance the spring-mass model in 3D and considering asymmetric behaviors, damping term, and variable stiffness/rest length. The problem referenced here concerns the control of the stance leg that is achieved with different and independent strategies at the hip, knee, and ankle. The main consequence directly related to this strategy is the delayed takeoff instant with respect to the predicted springmass behavior that is due to the ankle propulsion. A solution would be to include the ankle in the spring-mass model, while other possibilities should also be considered, but are still unknown to the author knowledge. Finally, as exposed in [156, 155], studying the spring-mass model in 3D can provide an efficient solution to control the running direction and to enable quick turns.

6.2.3.2

Coordination

In this thesis, we have suggested a simple strategy to coordinate the swing leg with respect to the robot’s state at touchdown. The strategy has been proved to increase the robot reactivity for non-periodic gait, but also needs the hip pitch joint to generate a high torque almost instantly. The use of a desired trajectory based on a polynomial function for the hip velocity could help in improving this weakness. Besides improving the torque smoothness, the influence of the swing state on the following straighten state should be evaluated to improve the control accuracy of the virtual leg. When there is no contact with ground, the robot orientation is hard to stabilize. Despite the latter, the front leg, being in straighten state, needs to reach the desired angle of attack with the greatest accuracy. While simply increasing the hip pitch gains does not improve the virtual leg control, it was observed that changing the control of the hip pitch in swing state affects the straighten state. In addition to improving the control of the angle of attack, it has been observed that the behavior of the leg in pre-swing state can substantially affect the robot’s forward velocity and also the touchdown impact force on the opposite leg. The study of the spring-mass could be enhanced by analyzing the effect of a torque-controlled swinging pendulum on the spring-mass, see Figure 6.2, to identify how the swing leg affects the velocity and to explore what are the best conditions at takeoff to ensure the next angle of attack with the greatest accuracy.

Figure 6.2: Spring-mass model plus a swinging pendulum.

154

Chapter 6 Conclusion

6.2.3.3

Gait 0% Cycle

The utility of an upper-part

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

Figure 6.3: Snapshots of an entire running gait cycle with a humanoid robot (in development).

Figure 6.3 shows the first trial of the same strategy, originally designed for the robot M2 plus a trunk, tested on a complete humanoid robot. The results obtained were satisfying and promising, but the gait immaturity highlighted that the control of an upper-part really needs to be studied. The strategy developed first for three reaction masses, secondly for a trunk, should be now extended to the control of a human-like upper-part, namely, composed of a trunk plus two arms. The development of the strategy could be enhanced by the evaluation of running motions through the dynamics to highlight how the coordination between the lower and upper parts, between each arm, and between the arms and the trunk are performed. While in this thesis we suggested using the upper-part, for instance a trunk with three DoFs, to only stabilize the body orientation during the flight phase, other purposes should also be considered, such as, improving the robot’s speed and/or running direction control and improving the robot’s balance even during the stance phase.

6.2.3.4

Adaptive control

An adaptive control strategy was designed with the main objective of simplifying the tuning process. The strategy allowed us to quickly modify to whole control algorithm and also to easily explore different robot structures. The use of the adaptive control strategy enables a semi-automatic tuning of one or various parameter(s) of the control algorithm. Although for each parameter it is needed to tune two additional gain values, they are often very similar from one parameter to another and can be left unchanged once chosen. However, to set up an adaptive control parameter, the choice of tracked quantity, such as speed or apex height, has to be done carefully and was sometimes not possible. Considering the simplicity of application with respect to the results obtained,

Chapter 6 Conclusion

155

we have chosen to not explore further other automatic tuning strategies. Though, more advanced tools to make the tuning process easier could be considered to make faster the exploration and validation of new control strategies.

6.3

Discussion

While in the previous section we have discussed direct extensions of the concepts suggested in this thesis, we provide here more general discussions on possible future investigations.

6.3.1

Human understanding

Until today, the humanoid robots, despite the constant improvement, are still less versatile, efficient, and capable than humans. It is thus natural to consider the human as a reference model for building and controlling robots. From the observation of the human gait, we have obtained simple representations synthesizing the basic dynamics of various gaits such as the inverted pendulum [3, 92] and spring-mass [42] for walking, and the spring-mass for running/hopping [12, 89]. From the observation of the human body, the very presence of numerous compliant elements in the body have been identified with other peculiar characteristics, such as the complexity of the articulation motions, bi-articular muscles, muscle passive and active behaviors [51]. In this thesis, we have considered a few bio-inspired control methods to improve the running gait. More generally, this kind of identifications of the human body and gait characteristics has conducted to explore new directions to design better robots and controllers. Considering that the human being can still be used as a reference model, the human body and human-like gaits should be further explored with the aim of finding new control strategies. For example, the bi-articular muscles could be further studied in the control to improve the coordination between several joints. Moreover, while the biomechanics community mainly focuses on synthesizing analyses through simple models, the evaluation of these same models in the control can enhance the insight on the human motion. In this thesis, one of the most important concept introduced in the control that results from the biomechanics community is the use of the spring-model through the neutral stiffness. The neutral stiffness was defined and implemented in the control of the knee resulting in the stance behavior adaption with respect to the robot configuration at touchdown. This strategy can be related to the biomechanical observations, such as [89, 30, 32, 7, 93] that show a change in the leg stiffness according to the leg frequency or running speed. Moreover, regarding other biomechanical results related to the change of leg stiffness, they observed that humans when running or hopping adjust their leg stiffness with respect to

156

Chapter 6 Conclusion

the surface stiffness [31, 36, 37, 38]. The latter can provide supplementary directions for investigating the compensation of the change of the terrain stiffness property through the use of the spring-mass model. This study would aim to make the control robust to any type of terrain, i.e., a soft terrain like rubber or stiff terrain like steel.

6.3.2

Model-based control

Though various approaches can be considered to develop control strategies for bipedal locomotion we have preferred to use an intuitive one in this thesis. As for the others ones, pros and cons come from that choice. With the possibility of exploring very rapidly a wide variety of local control laws and considering our aim of achieving bipedal locomotion and at the same time to gain insight in the human locomotion, the intuitive approach went on first line. We dealt with the tuning problem by developing the adaptive control strategy and could be further improved by the use of suitable dynamic model, but the versatility of the approach still represents a second more problematic limitation. Indeed, one control algorithm is designed for achieving one specific task. Therefore, for each new task, a new control algorithm has to be designed. While the work presented here mainly focuses on the bipedal running motion which was then extended to high-speed running, walking, and gait transition, the variety of gaits that can be observed in humans is much wider, for instance, jumping, somersault, hopping, skipping, acrobatic moves, skating, roller skating, etc. May we expect to gain insight on the robot control through the study of a wide number of different gaits at different speeds? Considering an intuitive approach enables a fast designing of new control strategies, and by focusing on merging the control for different gaits may help in generalizing the different strategies used. This generalization may result itself in finding new model-based approach necessary for capturing the essence of a wide variety of human-like gaits and would possibly provide indications on the strategy lying behind the elegant human locomotion.

6.3.3

From the simulation freedom to the constraints of a real robot

In this thesis we have suggested an approach for achieving a human-like running motion with a 3D complex bipedal robot. The control algorithm has led to successful running gait robust to ground perturbations in simulation. The bipedal robot considered in this work has perfect joint actuators, i.e., the joints behave exactly as desired, perfect sensors, i.e., the measurement data of the robot gives the exact robot configuration, and is composed of ideal rigid bodies. The control algorithm should be evaluated and accordingly improved to deal with imperfect actuators, for instance, with torque and speed limitations, a non-negligible response time, etc., an imperfect sensors, for instance, with

Chapter 6 Conclusion

157

noise, delay, etc. The simulation environment has allowed us to confirm that the approach provide a stable and robust gait. However, the same must be validated on a real bipedal robot. First of all, the control has to be extended so the robot is able to start running from a standing position and to reach a complete stop from the running motion. The latter can easily be achieved by considering standing to walking and walking to standing transitions which has already been done by robotics community, leaving the last transition to develop that is the running to walking transition. Another possibility is to develop a propulsive system such as for the Athlete robot [98] so the robot directly starts running. Besides the consideration of the initial and final conditions, the control algorithm has to be refined to match the actuators capacities of a chosen robot leading to supplementary simulation tests. Finally, an important issue remains. Today, most of the bipedal or humanoid robots are designed to be position controlled and designed with actuators that may be limited for achieving a human-like running motion. Moreover, to perform a human-like running motion, a robot with torque-controlled and compliant actuators seems necessary. Besides the latter, the running motion remains a hazardous experiment for a 3D complex bipedal robot particularly because of the risk of a high impact at touchdown. Considering these observation, the control algorithm should be first validated for very low running speeds to limit the actuator requirements and risk of important impact forces at touchdown. In this paragraph, we have pointed out that the control algorithm has to be evaluated an improved accordingly to deal with the imperfections and limitations of a real robot. However, in the case of successful experimental results, the approach would be validated and we expect that the experimental results for the human-like running motion could provide future directions to improve the robot design to be more resistant and to reach higher speeds. In the same way, these experiments could return supplementary feedback on how the control strategy should be improved to provide more accurate and agile motions. Moreover, compared to humans, robots are equipped with numerous sensors that can provide accurate information on the system. The experimentation of human-like running motion on an anthropomorphic robot would provide additional elements that cannot be measured on the human body.

Appendix A

Towards an Explicit and Simple Formalism of Inverse Dynamics A.1

Second form with explicit consideration of tensor bases

For more clarity, the expressions of the vectors and tensors were until now derived without detailing the bases in which they were calculated. However, in the next section of this appendix, it will be necessary to explicitly consider the notion of base and rotation tensor. Consequently, the following notation will be used from now on: • the superscript ”B i ” denotes the base of expression of a tensor. For instance: Ik,B

i

is the inertia tensor of the body Sk expressed in the base B i . • for more clarity, the superscript ”B i ” is not referred when the tensor is expressed k

in the base to which it is attached. For instance: Ik ≡ Ik,B . Moreover, in the i

following case: cik,B will be simply noted: cik . To make possible the change of base of a vector v or a tensor T , the rotation tensor Rij is defined such as: Rij = Rik Rkj ij −1 ij T R = R = Rji v T

Bi Bi

= Rij · v = Rij T

159

Bj

Bj

Rji

(A.1.1) (A.1.2) (A.1.3) (A.1.4)

160

Appendix A Towards an Explicit and Simple Formalism of Inverse Dynamics

Consequently, the following identity can be easily derived from Equations (A.1.3) and (A.1.4):

j j dual Rij .v B = Rij vˆB Rji

(A.1.5)

In order to use the second form for applications, it is necessary to consider the bases for the expression of the different vectors and tensors. Consequently, the different terms composing the equation of motion, see Equations (2.5.10) through (2.5.14), should be written as follows: k Hij =



i

Ik,B − mk cˆik cˆjk,B

i



· uj,B

i



· ui



i i i i i k ˆ j,B cˆjk,B · uj,B · ui ˆ j,B Ik,B − mk cˆik u βij = u



i i i i i k ˆ n,B cˆjk,B · uj,B · ui ζijn = dual Jk,B · un,B − mk cˆik u

i Gik = −mk g cˆik · ug,B · ui

i i Qki = Mk,B + cˆik · F k,B · ui

(A.1.6) (A.1.7) (A.1.8) (A.1.9) (A.1.10)

Moreover, by considering each tensor in its attached base, we have:



Rik Ik Rkj − mk cˆik Rij cˆjk · uj · ui



k ˆ j Rjk Ik Rkj − mk cˆik Rij u ˆ j cˆjk · uj · ui βij = Rij u



k ˆ n Rnj cˆjk · uj · ui ζijn = Rik dual Jk Rkn · un Rkj − mk cˆik Rin u

Gik = −mk g cˆik Ri0 · ug · ui

Qki = Rik · Mk + cˆik Rik · F k · ui k = Hij

(A.1.11) (A.1.12) (A.1.13) (A.1.14) (A.1.15)

where it is worth noting that in the absence of any attached base, the dual tensors cˆik and cˆjk are expressed in the bases B i and B j , respectively.

A.2

Application of the second form

This appendix focuses on the application of the second form presented in Section 2.5 on the system introduced in Figure A.1. The multibody system has the following charac-

Appendix A Towards an Explicit and Simple Formalism of Inverse Dynamics

'

F3 M3

ug

161

(

S3 q3

S2

q2

S1 z0 q1

y0 x0

Figure A.1: Multibody system composed of three rotational DoFs, three rigid bodies, and subject to the gravity and an external force F 3 and torque M3 applied about the CoM c3 of the body S 3 .

teristics:  T oi oi+1 = 0 0 li  T o i ci = 0 0 a i ⎤ ⎡ λix 0 0 ⎥ ⎢ i ⎥ Ii = ⎢ ⎣ 0 λy 0 ⎦ 0 0 λiz ⎤ ⎡ μix 0 0 ⎥ ⎢ i ⎥ Ji = ⎢ ⎣ 0 μy 0 ⎦ 0 0 μiz  T u1 = 0 0 1  T i u = 0 1 0  T Fi = 0 0 0  T F 3 = f1 f2 f3  T Mi = 0 0 0  T M 3 = n1 n2 n3

with: i = 1, 2

(A.2.1)

with: i = 1, 2, 3

(A.2.2)

with: i = 1, 2, 3

(A.2.3)

with: i = 1, 2, 3

(A.2.4)

(A.2.5) with: i = 2, 3

(A.2.6)

with: i = 1, 2

(A.2.7) (A.2.8)

with: i = 1, 2

(A.2.9) (A.2.10)

162

Appendix A Towards an Explicit and Simple Formalism of Inverse Dynamics

The solutions of the different terms are calculated with Equations (A.1.11) through (A.1.15). For more convenience, the notations: Si ≡ sin(qi ) and Ci ≡ cos(qi ) are used from now on. The solutions are now presented and the calculation of few terms is detailed: k: • Non-zero solutions of the coefficients Hij



R11 I1 R11 − m1 cˆ11 R11 cˆ11 · u1 · u1

= I1 − m1 cˆ11 cˆ11 · u1 · u1

= I 1 · u1 · u 1

1 = H11

= λ1z (A.2.11)

2 H11 = R12 I2 R21 − m2 cˆ12 R11 cˆ12 · u1 · u1

= R12 I2 R21 − m2 cˆ12 cˆ12 · u1 · u1 ⎤ ⎡  λ2x (C2 )2 + λ2z (S2 )2 0 −λ2x C2 S2 + λ2z S2 C2 ⎥ ⎢ ⎥ ⎢ = 0 λ2y 0 ⎦ ⎣ 2 2 2 2 2 2 −λx C2 S2 + λz S2 C2 0 λx (S2 ) + λz (C2 ) ⎡ ⎤  0 S2 a2 (l1 + C2 a2 )  − (l1 + a2 C2 )2 ⎢ ⎥ ⎥ · u 1 · u1 − m2 ⎢ 0 − (l1 )2 − 2 l1 C2 a2 − (a2 )2 0 ⎣ ⎦ 2 2 S2 a2 (l1 + C2 a2 ) 0 − (S2 ) (a2 ) = λ2x (S2 )2 + λ2z (C2 )2 + m2 (a2 )2 (S2 )2 2 = λ2y + m2 (a2 )2 H22

(A.2.12) (A.2.13)

3 H11 = −λ3x (S2 C3 + C2 S3 )2 + λ3z (C2 C3 − S2 S3 )2

3 H22

+ m3 (l2 S2 + a3 (C2 S3 + S2 C3 )) (l2 S2 + a3 (C2 S3 + S2 C3 ))

= λ3y + m3 (l2 + a3 C3 )2 + (a3 )2 (S3 )2

(A.2.14) (A.2.15)

3 = λ3y + m3 a3 (l2 C3 + a3 ) H23

(A.2.16)

3 = λ3y + m3 a3 (l2 C3 + a3 ) H32

(A.2.17)

3 H33 = λ3y + m3 (a3 )2

(A.2.18)

Appendix A Towards an Explicit and Simple Formalism of Inverse Dynamics

163

k: • Non-zero solutions of the coefficients βij





ˆ 1 R12 Ik R21 − m2 cˆ22 R21 u ˆ 1 cˆ12 · u1 · u2 R21 u ⎡ ⎤  0 0 −λ2y C2 ⎥ ⎢ 2 C S + λ2 S C ⎥ ⎢λ2 (C2 )2 + λ2 (S2 )2 = 0 −λ 2 2 2 2 x z x z ⎦ ⎣ 0 −λ2y S2 0 ⎡ ⎤   0 0 a2 (l1 + a2 C2 ) ⎢ ⎥ 1 2 − m2 ⎢ 0 (a2 )2 C2 S2 ⎥ ⎣−a2 C2 (l1 + a2 C2 ) ⎦ ·u ·u 0 0 0

2 = β21

= −λ2x C2 S2 + λ2z S2 C2 − m2 (a2 )2 C2 S2

(A.2.19)

3 β21 = −λ3x (C2 C3 − S2 S3 ) (S2 C3 + C2 S3 ) + λ3z (C2 S3 + S2 C3 ) (C2 C3 − S2 S3 )

+ m3 ((l2 + a3 C3 ) C2 + a3 S2 S3 ) (l2 S2 + a3 (C2 S3 + S2 C3 ))

(A.2.20)

3 β31 = −λ3x (C2 C3 − S2 S3 ) (S2 C3 + C2 S3 ) + λ3z (C2 S3 + S2 C3 ) (C2 C3 − S2 S3 )

+ m3 a3 (S2 S3 − C2 C3 ) (l2 S2 + a3 (C2 S3 + S2 C3 ))

(A.2.21)

3 β23 = −m3 a3 l2 S3

(A.2.22)

3 β32 = m3 a 3 l 2 S 3

(A.2.23) (A.2.24)

164

Appendix A Towards an Explicit and Simple Formalism of Inverse Dynamics k : • Non-zero solutions of the coefficients ζijn



ˆ 1 R12 cˆ22 · u2 · u1 R12 dual J2 R21 · u1 R22 − m2 cˆ12 R11 u

ˆ 1 R12 cˆ22 · u2 · u1 = R12 dual J2 R21 · u1 − m2 cˆ12 u ⎤ ⎡  0 0 −μ2z (C2 )2 − μ2x (S2 )2 ⎥ ⎢ ⎢ μ2 C 2 = 0 μ2x S2 ⎥ ⎦ ⎣ z 2 2 0 μ z S2 C 2 − μ x C 2 S2 0 ⎤ ⎡  0 a2 C2 (l1 + a2 C2 ) 0  ⎥ ⎢ 2 ⎢ 2 1 − m ⎣−a2 (l1 + a2 C2 ) 0 0⎥ ⎦ ·u ·u 0 − (a2 )2 C2 S2 0

2 = ζ121



= μ2z S2 C2 − μ2x C2 S2 + m2 (a2 )2 C2 S2

(A.2.25)

3 = μ3z (S2 C3 + C2 S3 ) (C2 C3 − S2 S3 ) − μ3x (C2 C3 − S2 S3 ) (S2 C3 + C2 S3 ) ζ121 − m3 (l2 S2 − a3 C2 (C2 S3 + S2 C3 )) (l2 + a3 C3 )

+ a3 S2 S3 (l2 S2 + a3 (C2 S3 + S2 C3 )) (A.2.26) 3 = μ3z (S2 C3 + C2 S3 ) (C2 C3 − S2 S3 ) − μ3x (C2 C3 − S2 S3 ) (S2 C3 + C2 S3 ) ζ131

+ m3 a3 (l2 S2 + a3 (C2 S3 + S2 C3 )) (C2 C3 − S2 S3 ) 3 = −m3 a3 l2 S3 ζ232

(A.2.27) (A.2.28) (A.2.29)

• Non-zero solutions of the coefficients Gik :

G22 = −m2 g cˆ22 R20 · ug · u2 = −m2 g a2 S2

(A.2.30)

G23 = −m3 g ((l2 + a3 C3 ) S2 + a3 S3 C2 )

(A.2.31)

G33 = −m3 g a3 (S2 C3 + C2 S3 )

(A.2.32)

• Non-zero solutions of the coefficients Qki :

Q31 = R13 · M3 + cˆ13 R13 · F 3 · u1 = −n1 (S2 C3 + C2 S3 ) + n3 (C2 C3 − S2 S3 ) + f2 (l2 S2 + a3 (C2 S3 + S2 C3 )) (A.2.33) Q32 = n2 + f1 ((l2 + a3 C3 ) C3 + a3 (S3 )2 ) + f3 ((l2 + a3 C3 ) S3 − a3 S3 C3 ) (A.2.34) Q33 = n2 + a3 f1

(A.2.35)

Appendix A Towards an Explicit and Simple Formalism of Inverse Dynamics

165

Therefore, the equations of motion are:

τ1 =

k 3  

 k k 2 H1j q¨j + β1j q˙j + 2 q˙j

j−1 

 + G1k + Qk1

k ζ1jn q˙n

n=1

k=1 j=1

1 2 3 2 3 3 = H11 q¨1 + H11 q¨1 + H11 q¨1 + 2 ζ121 q˙1 q˙2 + 2 ζ121 q˙1 q˙2 + 2 ζ131 q˙1 q˙3 + Q31   j−1 k 3    k k k 2 ζ2jn q˙n + G2k + Qk2 H2j q¨j + β2j q˙j + 2 q˙j τ2 = n=1

k=2 j=1

=

2 H22 q¨2

(A.2.36)

+

3 H22 q¨2

+

3 H23 q¨3

+

2 2 β21 q˙1

3 2 3 2 3 + β21 q˙1 + β23 q˙3 + 2 ζ232 q˙3 q˙2

+ G22 + G23 + Q32   j−1 k 3    k k 2 k H3j q¨j + β3j q˙j + 2 q˙j ζ3jn q˙n + G3k + Qk3 τ3 =

(A.2.37)

n=1

k=3 j=1

3 3 3 2 3 2 = H32 q¨2 + H33 q¨3 + β31 q˙1 + β32 q˙2 + G33 + Q33

(A.2.38)

A.3

Development of χ˙ kj ϕ

χ˙ kj ϕ

=

k 



ˆ ˆ I −I ϕ q˙n ϕ kn k

k

kn



·ϕ

kj

+I · k

 j−1 

n=1

 ˆ q˙n ϕ

kn

·ϕ

kj

(A.3.1)

n=1

ˆkj Ik · ϕkj + = q˙j ϕ

j−1 

k 

ˆkn Ik · ϕkj + q˙n ϕ

n=1



ˆkn Ik − Ik ϕ ˆkn · ϕkj q˙n ϕ

(A.3.2)

n=j+1

˙ k ˙ the following expression is considered: Aiming to use χ˙ kj ϕ for the combination X · q, ⎡



k ˙ kj σ q˙j j=1 χ ⎥

⎢ X˙ k · q˙ = ⎣ k

˙ kj ϕ q˙j j=1 χ

Therefore, we shall focus on k  j=1

χ˙ kj ϕ q˙j

=

k  j=1

(A.3.3)

k

˙ kj ϕ q˙j : j=1 χ

 ˆ I ·ϕ q˙j ϕ kj k



kj

+

j−1 

ˆkn Ik · ϕkj q˙n ϕ

n=1

+

k  n=j+1







ˆkn · ϕkj q˙j ˆkn Ik − Ik ϕ q˙n ϕ

(A.3.4)

166

Appendix A Towards an Explicit and Simple Formalism of Inverse Dynamics

By using the identity (A.3.4) becomes: k 

χ˙ kj ϕ q˙j

=

j=1

k 

N N i=1

j=i+1 aij

 ˆkj Ik · ϕkj + q˙j ϕ

+

=

j−1 

j=1 aji ,

i=1

j−1 



true ∀N ∈ N+ , Equation

ˆkn Ik · ϕkj q˙n ϕ

n=1

j=1

k 

N i−1

=

ˆ ˆ I −I ϕ q˙n ϕ kn k

k

kn



 ·ϕ

kj

(A.3.5)

q˙j

n=1



ˆkj Ik · ϕkj q˙j ϕ

j=1

+

=

k 

j−1 



ˆ I ·ϕ q˙n ϕ kn k

kj

kj k

ˆ I ·ϕ +ϕ

kn

kj

ˆ I ·ϕ +ϕ

kn

ˆ −I ϕ

kj

·ϕ

ˆ +I ϕ

kn

·ϕ

k

kn



 q˙j

(A.3.6)

q˙j

(A.3.7)

n=1



ˆkj Ik · ϕkj q˙j ϕ

j=1

+

j−1 



ˆ I ·ϕ q˙n ϕ kn k

kj k

k

kj





n=1

Consequently, considering Proposition 2.5, it follows: k  j=1

χ˙ kj ϕ q˙j =

k 

 ˆkj Ik + 2 q˙j ϕ

j−1 



q˙n dual Jk · ϕkn





 · ϕkj q˙j

(A.3.8)

· ϕkj

(A.3.9)

n=1

j=1

From what the final expression of χ˙ kj ϕ can be derived:  χ˙ kj ϕ

=

ˆ I +2 q˙j ϕ kj k

j−1 



q˙n dual J · ϕ k

kn





n=1

A.4

Development of the dynamic effects

Having introduced the transformation tensor X k and its time derivative X˙ k , see Section 2.8, it is possible to demonstrate a certain analogy between the general forward kinematic model of second order (FKM2) and the term of the dynamic effects occurring in the equations of motion. The FKM2 is based on the dot product of the Jacobian tensor an its time derivative with the vectors of the joint accelerations and velocities, as follows: 

ΓB ck

k

k αB k/0

 k

˙ · q˙ = D k · q¨ + D

(A.4.1)

Appendix A Towards an Explicit and Simple Formalism of Inverse Dynamics

167

Let us develop the same relation but using X k instead of the Jacobian tensor D k : X k · q¨ + X˙ k · q˙ =

=

k  i=1 k 

χki · q¨i + χ˙ ki · q˙i

(A.4.2)

 K · d q¨i + k

ki

ˆ ki

q˙i Φ K + 2 k

i−1 



q˙n dual L · Φ k

kn



 · dki q˙i

(A.4.3)

n=1

i=1

Therefore, it is worth noting the equality between Equations (A.4.3) and the double dot product of the dynamic effects and the Jacobian tensor:

E k : Dk

T =

 k  j=1



ˆ kj q˙2 Kk + 2 q˙j 1¨ qj + Φ j

j−1 



q˙n dual Lk · Φkn



 · dkj

(A.4.4)

n=1

Consequently, the following relation can be written: T = X k · q¨ + X˙ k · q˙ E k : Dk

(A.4.5)

Equation (A.4.5) shows that the dynamic effects occurring in inverse dynamics can be written with a similar form than the one of FKM2.

A.5

Prismatic DoFs, floating base, and kinematic trees

Although, in the previous sections, a new formalism has been presented for a general multibody system, it assumes that all DoFs are revolute, that the base is fixed to the reference frame R0 , and that the system is composed of a single kinematic chain. However, with the aim of analyzing human movement, more precisely the dynamics of human locomotion gait, it is necessary to consider a floating base needing itself to consider prismatic DoFs and the application to kinematic trees. Therefore, the aim of this section is to generalize first the formalism for prismatic DoFs, and then consider the case with a floating base. Considering that the third and the last forms of the formalism highlight the system’s parameters through the Jacobian tensor, they are suitable for an extension to prismatic DoFs. Indeed, the mechanical literature has already extended the formulation of the Jacobian to both revolute and prismatic DoFs [73] which can be written as follows:   D k = dk1 . . . dki . . . dkk

(A.5.1)

168

Appendix A Towards an Explicit and Simple Formalism of Inverse Dynamics

where:  d

ki

=



σ ki = Rki εi 1 − ε¯i cˆik · ui ϕki =

ε¯i Rki · ui

(A.5.2)

Considering the notation:

εi =

⎧ ⎨ 0, if qi is a revolute DoF ⎩ 1, if q is a prismatic DoF i

ε¯i = 1 − εi

(A.5.3) (A.5.4)

It is necessary to highlight that the position vector oi oi+1 referring to the distance between oi+1 and oi should be redefined as follows: oi oi+1 = ∗oi oi+1 + εi+1 qi+1 ui+1

(A.5.5)

where ∗oi oi+1 is the position vector referring to the distance between oi+1 and oi by considering q i+1 = 0 if prismatic. Using this new expression of the Jacobian tensor, the third form can be, without any change, applied on multibody systems with revolute and prismatic DoFs. The timederivative of the latter Jacobian tensor is now derived. Considering the similarity between σ ki for prismatic DoFs and ϕki for revolute ones, the time-derivative of the Jacobian is straightforward:   ˙ k = d˙k1 . . . d˙ki . . . d˙kk D

(A.5.6)

where: ⎡ d˙ki = ⎣

σ˙ ki ϕ˙ ki



i−1 i−1 i kj i ki kj ki ˆ + ε¯ q˙i ϕ ˆ + 2 j=1 q˙j ϕ ˆ = ε ·σ j=1 q˙j σ ⎦ i−1 i kj ki ˆ ·ϕ = ε¯ j=1 q˙j ϕ

(A.5.7)

Therefore, the fourth can be established for multibody system, without any change, with revolute and prismatic DoFs. To extend the formalism to the floating base case, few modifications are needed as presented right after. Figure A.2 shows that six DoFs are added to the system between the floating and fixed bases such as: • q1 , q2 and q3 are prismatic DoFs along the x, y and z axes, respectively, and q1 is connected to the fixed base. • q4 , q5 and q6 are revolute DoFs around the y, x and z axes, respectively, and q4 is connected to q3 .

Appendix A Towards an Explicit and Simple Formalism of Inverse Dynamics

169

Floating Base

q6

q4

q5

q2 q3

q1 z0 y0 Fixed Base

x0 Figure A.2: Kinematics scheme of the floating

Since the six first DoFs are not ”real” joints and that there is no ”real” body, we have the following: • The DoFs q1 through q6 are directly connected: oi oi+1 =

⎧ ⎨ qi+1 ui+1 , ∀i ∈ [1, 2] ⎩O

3×1 ,

∀i ∈ [3, 5]

(A.5.8)

and we have: ckk = O3×1 , mk = 0, and Ik = O, ∀k ∈ [1, 5]. • The floating base replaces the old base, see Figure 2.1. • It is assumed that these six DoF positions, velocities and acceleration are known. • The system is articulated with N  = N + 6 DoFs. As the floating base is free, there are no forces or torques on the 6 first DoFs, thus:  T τ = O[1×6] τ7 . . . τN 

(A.5.9)

Consequently, with the considerations made for the integration of prismatic DoFs, the adaptation of the third and fourth forms to the floating base case is straightforward.

170

Appendix A Towards an Explicit and Simple Formalism of Inverse Dynamics

Finally, the application of the suggested formalism has to be extended to kinematic trees such as a humanoid kinematics. Consequently, the notation should be explicitly defined for system with Nb bodies, Nd DoFs, and Nb = Nd . Firstly, let us consider Equations (2.6.18) and (2.6.19) to redefine the augmented Jacobian tensor for a system with N bodies and N DoFs as follows:   D k = dk1 . . . dki . . . dkN

(A.5.10)

where:  d

ki

=

σ ki ϕki



⎧ ⎪ O , ⎪ ⎨ [6×1] 

= Rki εi 1 − ε¯i cˆik · ui ⎪ ⎪ , ⎩ ε¯i Rki · ui

if i > k (A.5.11) else

Literally, it means that the ith column of the augmented Jacobian tensor is a non-zero vector if the joint qi is located downstream from the body S k . Secondly, let us consider from now on the system to be a kinematic tree composed of Nb bodies, Nd DoFs, with Nb = Nd . The notation defined in Section 2.2.1 should be updated with the following one:  b k • Σi represents the subsystem such as: Σi = N k=i S . i i i ¯ ¯ ¯ k states • Σ represents the subsystem such as: Σ = k=1 S k . The relation qi ∈ Σ ¯ i. that the joint qi exists in the subsystem Σ

• Bri and Br S k denote the ith branch and the branch containing the body S k of the kinematic tree, respectively. • q = [q1 . . . qNd ]T is the Nd -dimensional vector of the joint angles. • q˙ and q¨ are the Nd -dimensional vectors of the joint velocities and accelerations, respectively. • τ = [τ1 . . . τNd ]T is the Nd -dimensional vector of the joint torques. • H is the Nd2 -dimensional inertia tensor of the system. • Hi is the Nd2 -dimensional system inertia tensor generated by the body S i , with i ∈ [1, Nb ]. • B is the Nd -dimensional vector of the torques due to the centrifugal forces. • β i is the Nd2 -dimensional tensor of the torques due to the centrifugal forces only due to the body S i , with i ∈ [1, Nb ]. • C is the Nd -dimensional vector of the torques due to the Coriolis forces. • ζ i is the Nd3 -dimensional tensor of the torques due to Coriolis forces only due to the body S i , with i ∈ [1, Nb ]. • G is the Nd -dimensional vector of the torques due to the gravity forces.

Appendix A Towards an Explicit and Simple Formalism of Inverse Dynamics

171

• G i is the Nd -dimensional tensor of the torques due to the gravity forces only due to the body S i , with i ∈ [1, Nb ]. • Q is the Nd -dimensional vector of the external forces applied on the system. • Qi is the Nd -dimensional tensor of the external forces applied on the body S i , with i ∈ [1, Nb ]. • D i is the 6 × Nd -dimensional augmented Jacobian tensor for the body S i , with i ∈ [1, Nb ]. Therefore, considering a different enumeration of the link and DoF numbers with a kinematic tree system, Equation (A.5.11) should be written also follows:  dki =

σ ki ϕki



⎧ ⎪ O ⎪ ⎪ ⎨ [1×6]  

ki εi 1 − ε ic ik · ui = ˆ R ¯ ⎪ ⎪ ⎪ ⎩ ε¯i Rki · ui



¯ k or qi ∈ if qi ∈ /Σ / Br S k (A.5.12) else

Consequently, the application of the fourth form for kinematic trees is straightforward. To enlarge the application to such systems of the third form, Equation (2.7.32) should be written as follows: ⎡ ⎤   j−1 Nb Nd    k k 2 k ⎣ τi = Hij q¨j + βij q˙j + 2 q˙j ζijn q˙n + Gik + Qki ⎦ k=1

j=1

(A.5.13)

n=1

With the supplementary developments added in this section, the third form can be used for the locomotion evaluation for human-like kinematics that is the subject of the next chapter.

Appendix B

Evaluation of Locomotion Through Inverse Dynamics B.1

Modified Hanavan model - Structural parameters

The modified Hanavan model is defined such that each joint has an attached frame with its origin at the joint center such that when all of the joints are set to 0, the DoF coordinate system axes are aligned with the ones of the reference world coordinate system. Furthermore, each CoM location is evaluated in the proximal joint frame of the corresponding link. Finally, each link has its principal inertia frame1 defined and is used to express the inertia matrices, see Tables B.1, B.2 and B.3. Table B.1: Structural parameters of the links with a parallelepiped shape Link

Size Lx

(mm)

Ly

Lz

Mass (kg)

Inertia matrix ⎡

⎢ Pelvis 187.7 268.1 210 11.2 ⎣

⎢ Foot 270.6 89.3 69.4 1.05 ⎣



CoM

0

7.4 10−2

0

0

0

1 10−1 ⎤ 0 ⎥ 0 ⎦

1 10−1

0

0

9 10−1

0

0

0

2.6 10−1

0

0

0

6.8 10−3

0

0

7.1 10−3

1

⎡ ⎤ 0 ⎢ ⎥ ⎣ 0⎦

⎥ ⎦

1.1 10−3 0

(mm)



0

⎢ ⎣ ⎡

kg.m2

1.1 10−1

⎡ Trunk 172.3 344.6 393.4 27.8





0

⎤ 0 ⎢ ⎥ ⎣ 0 ⎦ ⎤⎡ ⎥⎢ ⎦⎣

268.8 55.2 0

⎤ ⎥ ⎦

−34.7

The term of principal inertia frame refers here to the frame which is centered at the link center of mass and aligned with the principal inertia axes.

173

174

Appendix B Evaluation of Locomotion Through Inverse Dynamics Table B.2: Structural parameters of the links with a truncated cone shape Size

Link L

Mass

(mm) D

d

(kg)

Thigh 436.1 167.2 108.4

7

Inertia matrix ⎡ ⎢ ⎣ ⎡

Shank 436.1 115.4 74.8

⎢ 3.4 ⎣ ⎡

Arm 325.7 107

69.4

2

⎢ ⎣ ⎡

Forearm

⎢ 277.7 87.2 56.6 1.29 ⎣



kg.m2



1.1 10−1

0

0

0

1.1 10−1

0

CoM ⎤⎡

0

⎥⎢ ⎦⎣

0

0

1.3 10−2

5.3 10−2

0

0

0

5.3 10−2

0

⎤⎡

0 −187.5 0

⎥⎢ ⎦⎣

0

0

3.1 10−3

1.9 10−2

0

0

0

1.9 10−2

0

0

0

1.7 10−3

8.2 10−3

0

0

0

8.2 10−3

0

0

6.6 10−4

0

(mm)

⎤⎡

0 −187.5 0

⎥⎢ ⎦⎣ ⎤⎡

0 −140.1 0

⎥⎢ ⎦⎣

0

⎤ ⎥ ⎦ ⎤ ⎥ ⎦ ⎤ ⎥ ⎦ ⎤ ⎥ ⎦

−119.4

Table B.3: Structural parameters of the ellipsoidal links Link

Size D

(mm) d

Mass (kg)

Inertia matrix ⎡

⎢ Head 324 186.4 5.1 ⎣ ⎡ ⎢ Hand 147.7 79.8 0.57 ⎣

B.2



kg.m2



CoM (mm)

3.5 10−2

0

0

0

3.5 10−2

0

0

0

1.8 10−2

8.1 10−4

0

0

0

8.1 10−4

0

0

0

3.7 10−4

⎤ ⎡

0



⎥ ⎢ ⎥ ⎦ ⎣ 0 ⎦ ⎤⎡ ⎥⎢ ⎦⎣

162 0 0

⎤ ⎥ ⎦

−73.9

Evaluation of walking motion

This section presents the evaluation for the walking motion as it is conducted in Chapter 3 for the running motion. The section is organized as follows: first, the motion capture sequence selected to evaluate the different dynamic models is presented, followed by the evaluation from the simplest model, i.e., 1L6D, to the most complex one, i.e., 8L19D. Secondly, a deeper evaluation relating to the link inertia, centrifugal, and Coriolis terms is exposed and analyzed.

B.2.1

The selected motion capture sequence

The motion capture data were obtained with 25 healthy subjects of a height between 1 m 51 and 1 m 78 and a weight between 45 kg and 85 kg. To evaluate the different dynamic models efficiently, the motion capture sequences were analyzed. It is worth noting that the results of the dynamic analysis were very similar from one subject to another. They are presented here with the data generated by one subject. The subject choice was based on various parameters, such as the pelvis linear velocities, see Figure B.1, to represent average characteristics with respect to the others. The selected

Appendix B Evaluation of Locomotion Through Inverse Dynamics

175

subject is 1 m 78 tall for a weight of 70 kg and his walking motion average speed is about

Linear velocity in m.s−1

Linear velocity in m.s−1

1.28 m.s−1 . 1st DoF (along the x−axis) 2 1.5 1 0.5

0

10

20

30

40

2

nd

50

60

70

80

70

80

100

90

100

DoF (along the y−axis)

0.4 0.2 0 −0.2 −0.4

0

10

20

30

40

50

60

Average sequence Other sequences

rd

Linear velocity in m.s−1

90

3 DoF (along the z−axis) 0.4 0.2 0 −0.2 −0.4

0

10

20

30

40 50 60 % of the locomotion cycle

70

80

90

100

Figure B.1: Linear velocities of the pelvis given by the motion capture data

B.2.2

Relation between the number of links and dynamics

This section focuses on the influence of the assumption involving the number of links in the modeling. The evaluation starts with the simplest model (1L6D) and ends with the most complex one (8L19D).

Figures B.2 through B.4 show the resulting forces/mo-

ments calculated with the different dynamic models, recalled in Figure B.5, including the modified Hanavan model. All of the DoFs considered by the 8L19D model are represented. Since the other models consider less DoFs, these are consequently not shown. The relevance of the dynamic models recalled in Figure B.5 are summarized in Table B.4.

176

Appendix B Evaluation of Locomotion Through Inverse Dynamics

1st prismatic pelvis DoF (x): W

1st revolute pelvis DoF (pitch): W

1

4

RLeg Support

250

LLeg Support

RLeg Support

LLeg Support

100 200 150

Torque in N.m

50

Force in N

100 50 0

0

−50

−50 −100 −100 −150

−150 0

20

nd

2

40

60

80

100

0

1L6D Model 3L12D Model 5L14D Model

prismatic pelvis DoF (y): W2

2

20

nd

40

60

80

100

6L17D Model 8L19D Model Hanavan Model

revolute pelvis DoF (roll): W5

150

100

100

50

Torque in N.m

Force in N

50

0

−50

0

−50

−100

−150

−100 0

20

40

60

80

100

0

st

20

40

60

80

100

80

100

rd

3 prismatic pelvis DoF (z): W3

3 revolute pelvis DoF (yaw): W6

900 15

850 800

Torque in N.m

10

Force in N

750 700 650 600

5

0

−5

550 −10 500 0

20

40

60

80

100

0

20

40

% of locomotion cycle

60

% of locomotion cycle

Figure B.2: W1 through W6 resulting moments on the pelvis virtual DoFs of the different dynamic models

Table B.4: Summary of each model relevance for dynamic walking motion Relevances: Model

Rpel

R[7,9] R[10,12]

names (Pelvis) (R

Hip)

1L6D 70.55%

-

(L

Hip)

-

3L12D 65.68% 77.88% 72.79%

R13 (R

Knee)

R14 (L

Knee)

R[15,17]

R18

(Trunk) (R

Shoulder)

R19 (L

Shoulder)

RG (All)

-

-

-

-

-

70.55%

-

-

-

-

-

70.50%

-

5L14D 81.15% 96.81% 97.46% 97.07% 97.66%

-

-

90.32%

6L17D 96.75% 96.81% 97.46% 97.07% 97.66% 92.71%

-

-

96.25%

8L19D 97.85% 96.81% 97.46% 97.07% 97.66% 96.98%

81.86%

81.56%

95.74%

Appendix B Evaluation of Locomotion Through Inverse Dynamics st

rd

1 right hip DoF (pitch): W

3 right hip DoF (yaw): W

7

9

RLeg Support

40

177

LLeg Support

RLeg Support

LLeg Support

3 20

Torque in N.m

2 0 1 −20 0

−40

−1

−60

−2 0

2

20

nd

40

60

80

100

0

1L6D Model 3L12D Model 5L14D Model

right hip DoF (roll): W8

20

40

60

80

100

6L17D Model 8L19D Model Hanavan Model

Right knee DoF (pitch): W13

14 25 12 20

10

Torque in N.m

8 15 6 10

4 2

5 0 0

−2 −4

−5 0

20

40

60

80

100

0

20

% of locomotion cycle

40

60

80

100

% of locomotion cycle

Figure B.3: W7 , W8 , W9 and W13 resulting moments on the right hip and knee DoFs of the different dynamic models st

rd

1 upper−body DoF (pitch): W

3 upper−body DoF (yaw): W

15

17

RLeg Support

10

5

LLeg Support

RLeg Support

4

5

LLeg Support

3

Torque in N.m

2 0 1 −5

0 −1

−10 −2 −15

−3 −4

−20 0

20

40

60

80

100

0

1L6D Model 3L12D Model 5L14D Model

2nd upper−body DoF (roll): W

16

20

40

60

80

100

6L17D Model 8L19D Model Hanavan Model

Right shoulder DoF (pitch): W

18

4 10 3 2

Torque in N.m

5

1 0 0 −1

−5

−2 −10 −3 −15

−4 0

20

40

60

% of locomotion cycle

80

100

0

20

40

60

80

100

% of locomotion cycle

Figure B.4: W15 through W18 resulting moments on the upper-body and right shoulder DoFs of the different dynamic models

178

Appendix B Evaluation of Locomotion Through Inverse Dynamics

Forward Gravity

Forward Gravity

m 6 , I6

Trunk: Link 6

LFull-Arm: Link 8

m6 , I6 Upper-Body: Link 6

m 8 , I8

RFull-Arm: Link 7

: link

m7 , I7

: CoM ! x link(s) ”xLyD” ≡ y DoFs

Pelvis: Link 1

Pelvis: Link 1

LThigh: Link 3

LThigh: Link 3

m1 , I1

m1 , I1

m3 , I3

m 3 , I3

LShank-Foot: Link 5

LShank-Foot: Link 5

z

m 5 , I5

m2 , I2

World frame RThigh: Link 2 RShank-Foot: Link 4

z

m4 , I4

y

World frame RThigh: Link 2 RShank-Foot: Link 4

x

y

m5 , I5

m2 , I2

m4 , I4 x

(a) 8L19D

(b) 6L17D Forward Gravity

Forward Gravity

m 1 , I1

Forward

Whole Body: Link 1

m1 , I1

Upper-Body: Link 1

Gravity

m1 , I1 Upper-Body: Link 1

LThigh: Link 3

m3 , I3

m3 , I3

LLeg: Link 3 LShank-Foot: Link 5 m2 , I2

World frame RThigh: Link 2

m5 , I5

z m4 , I4

y

m 2 , I2

RLeg: Link 2

RShank-Foot: Link 4 z

World frame

World frame

y

z

y

x

x

x

(c) 5L14D

(d) 3L12D

(e) 1L6D

Figure B.5: The 8L19D model and sub-models studied

Appendix B Evaluation of Locomotion Through Inverse Dynamics

179

The 1L6D dynamic model is often used for walking motion control strategies (i.e., dynamic representation for the RMP [138, 44] or the LIPM plus Fly Wheel [111]). As for the running motion, the 1L6D model does not provide a relevant representation of the locomotion dynamics (Rpel (= RG ) = 70.55%). However, the modeling is relatively accurate for the pelvis prismatic DoFs, R1,3 = 89.79% while it is only accurate for the vertical for the running motion.

The 3L12D dynamic model

provides a representation surprisingly worse than the

1L6D model, according to the relevance criterion Rpel = 65.68%. The resulting hip torques, shown for the right ones in Figure B.3, are far away from the ones of the Hanavan model and R7,9 = 77.88%.

The 5L14D dynamic model

is much more relevant than the previous ones as shown

in Figures B.2 and according to the relevance Rpel = 81.15%. In addition, note that the 5L14D model is greatly more efficient in describing the walking dynamics than running dynamics. It highlights the importance of considering the leg dynamics, more especially of the shank-foot dynamics, in the case of the walking motion. The hip relevance R7,9 = 96.81% of this model is much better than the previous one, and confirms the quality of modeling the shank and foot as one component part. However, the dynamic effects computed for the pelvis q2 and q5 DoFs are far away from the reference model (R2 = 68.49% and R4 = 55.19%). A possible source of the latter, is the consideration of the upper part as one component part which reduces the relevance of the external behavior.

The 6L17D dynamic model

leads to a significant improvement in the relevance

Rpel = 96.75%. The consideration of the trunk and arms as one component part seems to decrease the relevance of the upper-body yaw DoF (R17 = 86.77%), as shown in Figure B.4.

The 8L19D dynamic model

is the most complete of all the dynamic models evalu-

ated in this study and its relevance Rpel = 97.85% for the pelvis DoFs is accordingly the highest. As for the running motion, this modeling captures well the dynamics at the leg DoFs R[7,14] = 97.19% and trunk DoFs R[15,17] = 96.98%. The relevance is lower for the shoulder DoFs R18,19 = 81.71%, however, as for the running motion, no more complex modeling is studied considering the overall quality of the current dynamic model.

180

Appendix B Evaluation of Locomotion Through Inverse Dynamics

Conclusion about the assumptions involving the number of link.

Similar con-

clusion can be established viewing the results obtained for the running motion and the latter ones for the walking motion. Firstly, it shows that the model concentrating masses at the CoM plus locked inertia [137] (i.e., the 1L6D model) provide a good representation of the external behavior, for the pelvis prismatic DoFs. Secondly, this evaluation points out the great influence of some parts of the body on the external and internal dynamics. Indeed, the lower leg (here called the shank-foot) is even more substantial in the walking dynamics than it is for the running motion, since it improves the representation not only of the leg but on all the rest of the body. As for the running motion, the upper-body is shown to be important in capturing the walking motion dynamics. The next section continues this evaluation by analyzing the influence of the link inertia on the dynamics.

B.2.3

Relation between link inertia and dynamics

B.2.3.1

Relevance of models with concentrated masses

In the same way that for running motion, the dynamic models are compared with their concentrated mass version in Table B.5. The same observation as for the running study can be done: the 1L6Dcm, 3L12Dcm, and 5L14Dcm models are more accurate than their original versions, while considering inertia increases the relevance in the case of the 6L17D and 8L19D models. Table B.5: Relevance of all of the models for their original and concentrated versions 1L6D 1L6Dcm 3L12D 3L12Dcm 5L14D 5L14Dcm 6L17D 6L17Dcm 8L19D 8L19Dcm Rpel 70.55% 85.43% 65.68% 71.76%

81.15% 86.71%

96.75% 95.47%

97.85% 96.60%

RG 70.55% 85.43% 70.50% 76.10%

90.32% 90.38%

96.25% 92.90%

95.74% 93.18%

B.2.3.2

Evaluation of the inertia influences

All of the terms composing W depending on the inertia are evaluated to identify and neglect the smallest ones through the decreasing relevance criterion defined in Chapter 3. Tables B.6, B.7 and B.8 give the consequences of neglecting one by one each inertia terms composing W on the relevance of the 8L19D model. Compared to the evaluation conducted for the running motion, new substantial inertia terms appear. That is to know, the x-axis inertia term of the shank-foot and the z-axis inertia term of the trunk.

Appendix B Evaluation of Locomotion Through Inverse Dynamics

181

Table B.6: Influence of the x-axis inertia terms on the 8L19D model relevance based on the decreasing relevance criterion   Decreasing relevance δidec λkx with:

Pelvis DoFs

Left Hip DoFs Left Knee DoF Trunk DoFs Left Shoulder DoF

qi =

k=1 (Pelvis)

k=3 (L Thigh)

q4 q5 q6 q10 q11 q12 q14 q15 q16 q17 q19

0.02% 0.73% < 0.01% -

0.03% 0.58% 0.44% 0.03% 1.64% < 0.01% -

k=5 (L

Shank-foot)

0.05% 0.90% 1.54% 0.10% 2.14%

8.84% < 0.01% -

k=6 (Trunk) 0.04% 1.50% 0.56% 0.21% 2.85% < 0.01% -

k=8 (L

Full-arm)

0.01% 0.27% 0.17% 0.04% 0.52% 0.17% < 0.01%

Table B.7: Influence of the y-axis inertia terms on the 8L19D model relevance based on the decreasing relevance criterion   Decreasing relevance δidec λky with:

Pelvis DoFs

Left Hip DoFs Left Knee DoF Trunk DoFs Left Shoulder DoF

qi =

k=1 (Pelvis)

k=3 (L Thigh)

q4 q5 q6 q10 q11 q12 q14 q15 q16 q17 q19

0.21% 0.01% < 0.01% -

1.47% 0.15% 0.81% 2.23% 0.44% < 0.01% -

k=5 (L

Shank-foot)

k=6 (Trunk)

2.54% 0.44% 1.79% 3.84% 1.16% < 0.01%

1.98% 0.17% 0.63% -

9.32% -

6.36% 0.52% < 0.01% -

k=8 (L

Full-arm)

0.60% 0.06% 0.20% 1.94% 0.16% < 0.01%

7.07%

Table B.8: Influence of the z-axis inertia terms on the 8L19D model relevance based on the decreasing relevance criterion   Decreasing relevance δidec λkz with:

Pelvis DoFs

Left Hip DoFs Left Knee DoF Trunk DoFs Left Shoulder DoF

qi =

k=1 (Pelvis)

k=3 (L Thigh)

q4 q5 q6 q10 q11 q12 q14 q15 q16 q17 q19

0.02% < 0.01% 1.45% -

0.01% 0.08% 0.70% 0.02% < 0.01% 3.28% -

k=5 (L

Shank-foot)

< 0.01% 0.09% 0.54% 0.02% 0.30% 2.19% < 0.01% -

k=6 (Trunk) 0.01% 0.11% 2.61% 0.10% < 0.01%

5.74% -

k=8 (L

Full-arm)

< 0.01% 0.01% 0.19% 0.01% 0.01% 0.42% < 0.01%

Neglecting all of the inertia terms that give a decreasing relevance δqdec (p) < 5%, the following set of assumptions can be written: j Ik =

OB k ⎛ λkx 0 ⎜ k Ik = ⎜ ⎝ 0 λy 0 0 ⎛ 0 0 ⎜ k I = ⎜0 λ k

⎞ 0 ⎟ 0⎟ ⎠ 0 k ⎞B 0 ⎟ 0⎟

∀k ∈ {1, 2, 3} ≡ {pelvis, thighs}

(B.2.1)

∀k ∈ {4, 5} ≡ {shank-feet}

(B.2.2)

k = {6} ≡ {trunk}

(B.2.3)

182

Appendix B Evaluation of Locomotion Through Inverse Dynamics

The corresponding simplified version of the 8L19D, with only these selected inertia terms, is generated. It is compared with the 8L19D and the 8L19Dcm models in Table B.9. Table B.9: Synthesis of the inertia assumptions relevance for the 8L19D model Versions of the 8L19D model: Complete

Selected inertias

Concentrated masses

Rpel

97.85%

97.65%

96.60%

RC

95.74%

95.16%

93.18%

As for the running motion, few of the inertia terms are important in the modeling. A modified version considering of those, simplifying H, B, and C, does not clearly decrease the model relevance. The relevance criteria Rpel and RC for the simplified version of the 8L19D model are smaller by 0.2% and 0.58%, respectively (Table B.9). The next section focuses on the evaluation of the vector of centrifugal and Coriolis terms B and C.

B.2.4

Relation between centrifugal and Coriolis terms and dynamics

As the previous section discussed on the evaluation and simplification of the inertia terms, this section presents a similar study led on the centrifugal and Coriolis terms and the joint velocities.

B.2.4.1

Evaluation of the influence of the centrifugal and Coriolis forces



The decreasing relevance by considering separately each β k , ζ k is described in Table B.10. Table B.10 shows that, exactly as it is for the running motion, only the centrifugal and Coriolis terms due to the shank-foot are important. Therefore, the same assumptions obtained in the case of the running motion are derived here: ⎧

⎨ B β 4 + β 5 · q˙ 2 ⎩ C 2 ζ 4 + ζ 5 · q˙ · q˙

(B.2.5)

) * 2 and ’·’ is the dot product as defined in Chapter 2. where q˙ 2 = q˙12 . . . q˙19 The relevance of a simplified version of the 8L19D model assuming Equation (B.2.5) is presented in Table B.11. It is compared with the 8L19D model, and another of the 8L19D model neglecting all of the centrifugal and Coriolis forces.

Appendix B Evaluation of Locomotion Through Inverse Dynamics

183

Table B.10: Influence of the centrifugal and Coriolis terms on the 8L19D model relevance based on the decreasing relevance criterion Decreasing relevance δidec

Pelvis DoFs

Left Hip DoFs Left Knee DoF Trunk DoFs Left Shoulder DoF

qi =

k=1 (Pelvis)

k=3 (L Thigh)

q1 q2 q3 q4 q5 q6 q10 q11 q12 q14 q15 q16 q17 q19

< 0.01% < 0.01% < 0.01% < 0.01% 0.01% 0.06% -

0.45% 0.63% 1.45% 0.19% 1.10% 0.58% 0.16% 1.36% 0.45% -



β k , ζ k with:

k=5 (L

Shank-foot)

3.15%

5.23% 6.04% 5.40% 11.41% 11.98% 6.58% 22.48% 31.66% 5.37% -

k=6 (Trunk) 0.23% 0.24% 1.34% 0.39% 0.21% 0.21% 1.13% 0.29% 0.18% -

k=8 (L

Full-arm)

0.04% 0.60% 0.13% 0.04% 0.31% 0.16% 0.12% 0.46% 0.37% 0.45%

Table B.11: Synthesis of the centrifugal and Coriolis forces assumptions on the 8L19D model relevance Versions of the 8L19D model: Complete

Selected

Neglected

centrifugal and Coriolis terms centrifugal and Coriolis terms Rpel

97.85%

97.41%

92.24%

RC

95.74%

95.54%

89.35%

This first analysis concerning the B and C terms leads to highlight the substantial terms, namely, those of both shank-feet as highlighted in Chapter 3 for the running motion. The terms β k and ζ k for k ∈ {4, 5} are now analyzed through DoF velocities to evaluate what are the important coefficients.

B.2.4.2

Evaluation of the DoF velocities

During bipedal locomotion, some DoF velocities are very small, such as the pelvis ones. Thus, it is interesting to evaluate each DoF velocity, which can lead to additional relevant assumptions concerning the reduction of the high complexity of B and C. The analysis of the shoulder and trunk DoF velocities are omitted, as justified in Chapter 3, and only the left side, with higher velocities, is analyzed.

184

Appendix B Evaluation of Locomotion Through Inverse Dynamics Table B.12: DoF average angular velocities Pelvis DoFs DoF names Average angular velocities (rad.s−1 )

Left Hip DoFs

Left Knee DoF

q4

q5

q6

q10

q11

q12

q14

0.19

0.36

0.25

1.41

0.67

0.48

1.81

Table B.12 gives the average of the absolute velocities for the different DoFs. As expected from the running study, only the y-axis DoFs of the hip and knee, namely, q10 and q14 , have high velocities. The other DoFs have an average velocity under 1 rad.s− 1. Therefore, the same assumptions as derived in the running study are suggested here, to know: ⎧ 4 ⎨ β4 β4 ij i,j=7 + βi,j=13

(B.2.6)

⎩ ζ4 ζ4 ijn i,j=13,n=7 ⎧ 5 ⎨ β5 β5 ij i,j=10 + βi,j=14 ⎩ ζ5 ζ5 ijn i,j=14,n=10 ⎧ ⎨ Bi q˙2 β 4 + q˙2 β 5 + q˙2 β 4 + q˙2 β 5 7 i,7 10 i,10 13 i,13 14 i,14 ⇒ 5 ⎩ C 2 q˙ q˙ ζ 4 i 13 7 i,13,7 + 2 q˙14 q˙10 ζi,14,10

(B.2.7)

(B.2.8)

where : • i ∈ [1, 19]. • q˙7 and q10 ˙ are the pitch velocities of the right and left hips, respectively. • q13 ˙ and q14 ˙ are the right and left knee joint velocities, respectively. A modified version of the 8L19D model, considering the assumptions of Equations (B.2.6) and (B.2.7), is compared with other versions of the 8L19D model in Table B.13. Table B.13: Synthesis of the centrifugal and Coriolis forces assumptions on the 8L19D model relevance Versions of the 8L19D model:

Complete

Selected+Simplified

Selected

Neglected

centrifugal and

centrifugal and

centrifugal and

Coriolis terms

Coriolis terms

Coriolis terms

Rpel

97.85%

97.38%

97.41%

92.24%

RC

95.74%

95.52%

95.54%

89.35%

Table B.13 shows that the evaluation on the level of DoF velocities leads to the conclusion that only the sagittal motion of the hips and knees are important in the dynamics. From

Appendix B Evaluation of Locomotion Through Inverse Dynamics

185

the latter, simple but numerous simplifications on the centrifugal and Coriolis terms can be made on a dynamic model while decreasing the model relevance by about 0.3%. To summarize, the 8L19D model was analyzed to identify its substantial parameters in representing the dynamics. In this way, the influence of various parameters, such as link inertia and DoF velocities, were analyzed using a motion capture sequence of a human walking motion. Very similar results were obtained with respect to the evaluation of the running motion. The only differences lie in the x and z-axis inertia terms that appear to be more important in walking than in running. The evaluation of the centrifugal and Coriolis terms led exactly to the same results in the case of running or walking. The next section evaluates a simplified version of the 8L19D model considering the assumptions suggested during the evaluation of the inertia, centrifugal, and Coriolis terms.

B.2.5

A simplified model

This section presents how relevant is the 8L19D-walk model, which considers the combination of the previous analyses. In other words, it gathers the different assumptions presented in Equations (B.2.1) to (B.2.4), (B.2.8) and is evaluated and compared with the 8L19D model in Table B.14. To summarize, the previous analyses highlight what Table B.14: Relevance of the 8L19D and 8L19D-walk models Model names 8L19D

8L19D-walk

Rpel

97.85%

97.32%

RC

95.74%

95.05%

are the essential terms that mainly represents the whole dynamics, and how to simplify a dynamic model, illustrated through the 8L19D-walk. Gathering all of the assumptions emphasized during this study allows the simplification of the 8L19D model while decreasing its relevance by only about 0.6%.

Appendix C

Control Strategies for Bipedal Locomotion C.1

Steady-state of adaptive control parameters tracking two desired quantities

In Section 4.3.5 of Chapter 4, the conditions for reaching a steady-state with an adaptive control parameter tracking one desired quantity are studied and exposed. Since the bipedal running control algorithm requires the use of adaptive control parameankle (x ters tracking at the same time two desired quantities, namely, Kpitch ˙ mean , zapex ) and knee (x Kcorr ˙ mean , zapex ), a corresponding analysis has been conducted. In this appendix, the

conditions required for reaching a steady-state with such adaptive control are studied and exposed. In addition, this study brings information on the behavior of the adaptive control parameters. Equation (C.1.1) recalls the general expression of an adaptive control parameter evolving according to M quantities, originally shown in Equation (4.3.89) of Chapter 4:



K u1 , . . . , u M ≡

⎛ ⎞ ⎧ M ⎪  j ⎪ n njv j ⎠ ⎪ ⎨ K = K i−1 ⎝1 + SBp uj + SB δu ⎪ ⎪ ⎪ ⎩

j=1

(C.1.1)

Kmin ≤ K ≤ Kmax

From now on, let us consider an adaptive control parameter with two tracked quantities named u1 and u2 :

K u1 , u

2



⎧ 1 2



1 2 ⎨ K = K i−1 1 + S np u1 + S nv δu1 + S np u2 + S nv δu2 B B B B ⎩

Kmin ≤ K ≤ Kmax 187

(C.1.2)

188

Appendix C Control Strategies for Bipedal Locomotion

In steady-state, the above adaptive control parameter satisfies the following conditions: 1. in steady-state, the adaptive control parameter value does not evolve, i.e., K =

n1 n2 n1 n2 K i−1 , and thus we have: 1 + SBp u1 + SBv δu1 + SBp u2 + SBv δu2 = 1; 2. in steady-state, the measured quantities do not change, i.e., δu1 = 0, which implies:

n1 n2 SBv δu1 = 0 and δu2 = 0, which implies: SBv δu2 = 0. The following relation for steady-state can be derived: n1 n2 1 = 1 + SBp u1 + SBp u2 n1 n2 SBp u1 = −SBp u2

(C.1.3) (C.1.4)

n

From the general expression of SBp (u), see Equation (4.3.85), we have:  1

ε sign

u1meas − u1des u1des

- 1 - 2 - 1  2 2 - 2 2 -n p - umeas − u1des -np - = −ε2 sign umeas − udes - umeas − udes u1des u2des u2des (C.1.5)

For more clarity, the term ρj =

ujmeas −ujdes ujdes

is used from now on and we have:

- -n1 - -n 2 ε1 sign ρ1 -ρ1 - p = −ε2 sign ρ2 -ρ2 - p

(C.1.6)

From what, two distinct cases can be identified: - -n 2 - -n 1 1. -ρ1 - p = − -ρ2 - p if ε1 sign ρ1 = ε2 sign ρ2 - -n 2 - -n 1 2. -ρ1 - p = -ρ2 - p if ε1 sign ρ1 = −ε2 sign ρ2 For the case 1., there exists only two trivial solutions that describe two specific events, namely, the parameters n1p and n2p are set to zero which is not considered as mentioned in Section 4.3.5, and ρ1 = ρ2 = 0 highlighting the existence of a steady-state for u1 = u1des and u2 = u2des . For the case 2., the same trivial solutions exist but a non-trivial solution, i.e., for n1p = 0, n2p = 0, ρ1 = 0, and ρ2 = 0, may also exists and should be studied to find if a steady-state can be attained without reaching the desired quantities. Therefore, let us consider the relation: - 1 -n1p - 2 -n2p -ρ - = - ρ -

(C.1.7)

Appendix C Control Strategies for Bipedal Locomotion

189

By introducing the natural logarithm function ln, we obtain: - - 2

- - 1

n n ln -ρ1 - p = ln -ρ2 - p - - - - n1p ln -ρ1 - = n2p ln -ρ2 - - n1p ln -ρ2 = n2p ln (|ρ1 |)

(C.1.8) (C.1.9) (C.1.10)

Equation (C.1.10) shows that a steady-state can be found even if the desired quantities have not been reached. Moreover, it highlights that the “importance” of reaching the two desired quantities is prioritized through the ratio

n1p . n2p

Because the exponential function

is strictly increasing, the following relations are derived: - - - i. if n1p > n2p , we have: -ρ1 - < -ρ2 -, - - - ii. if n1p = n2p , we have: -ρ1 - = -ρ2 -, - - - iii. if n1p < n2p , we have: -ρ1 - > -ρ2 -. To easily interpret these relations, let us divide the case 2. condition, i.e., ε1 sign ρ1 = −ε2 sign ρ2 , in the following two cases: - -n 1 2. -ρ1 - p =

- 2 -n2p -ρ - if ε1 sign ρ1 = −ε2 sign ρ2 can be divided into the two follow-

ing cases: i. ε1 = −ε2 implies sign ρ1 = sign ρ2 , meaning that when u1 ≥ u1des then u2 ≥ u2des and reciprocally. ii. ε1 = ε2 implies sign ρ1 = −sign ρ2 , meaning that when u1 ≥ u1des then u2 ≤ u2des and reciprocally. Therefore, according to the signs of ε1 and ε2 there is two possible steady-state configurations. The first one is with u1 and u2 both greater or lower at the same time than their respective desired quantity, the second one is when u1 is on ”one side” of u1des , then u2 is on the ”other side” of u2des , meaning they cannot be greater or lower at the same time than their respective desired quantity. Let us now consider two adaptive con



trol parameters controlling the two quantities u1 and u2 : K A u1 , u2 and K B u1 , u2 . There are four possible cases according to the signs of the different ε that can be merged in the two following ones: 1. ε1K A ε1K B = −ε2K A ε2K B , thus the adaptive control parameters behave in an “opposite way” and a steady-state can be found only if u1 = u1des and u2 = u2des . For instance, if we consider ε1K A = ε2K A and ε1K B = −ε2K B , from the previous

190

Appendix C Control Strategies for Bipedal Locomotion observations the two following relations have to be satisfied at the same time: sign ρ1 = −sign ρ2 and sign ρ1 = sign ρ2 . Therefore, the only solution to reach a steady-state is to have ρ1 = ρ2 = 0 and thus u1 = u1des and u2 = u2des , otherwise at least one adaptive control parameter keeps evolving.

2. ε1K A ε1K B = ε2K A ε2K B , thus both adaptive control parameters behave the same and a steady-state with u1 = u1des and u2 = u2des is not ensured. For instance, ε1K A = ε2K A and ε1K B = ε2K B both imply sign ρ1 = −sign ρ2 . Therefore, the solution ρ1 = ρ2 = 0 (i.e., u1 = u1des and u2 = u2des ) exists but the absence of any solution for ρ1 = 0, ρ2 = 0, and sign ρ1 = −sign ρ2 cannot be guaranteed. In other words, a steady-state is not necessarily reached when u1 = u1des and u2 = u2des . In the control algorithm for achieving running, the two adaptive control parameters ankle (x knee (x Kpitch ˙ mean , zapex ) and Kcorr ˙ mean , zapex ) are defined with the following ε, see Ap-

pendix D.1:

ankle Kpitch (x˙ mean , zapex ) with:

knee (x˙ mean , zapex ) with: Kcorr

⎧ ⎨ εx˙ mean = 1 ⎩ εzapex = 1 ⎧ ⎨ εx˙ mean = −1 ⎩ εzapex = 1

(C.1.11)

(C.1.12)

From the previous observations on the adaptive control parameter behavior, we can conclude that in the bipedal running control algorithm the two adaptive control paramankle (x knee (x eters Kpitch ˙ mean , zapex ) and Kcorr ˙ mean , zapex ) works in cooperation to control the

average speed x˙ mean and apex height zapex and a steady-state is reached only if we have: x˙ mean = dx˙ mean and zapex = dzapex . Since no adaptive control parameter tracking more than two desired quantities are used and considering the complexity of performing the previous analysis for M > 2 quantities, this study is not further developed.

C.2

Control approach for walking

In Chapter 4, a control algorithm for running is presented and having obtained a robust control, as it is highlighted in Chapter 5, the first goal has been to obtained a similar control for achieving bipedal walking motion. However, considering the limitations of the spring-mass model, exposed in Section C.2.3, the inverted pendulum behavior has been preserved with respect to the original algorithm suggested in [117] by J. Pratt and G. Pratt. Therefore, the control methodology presented in this section is an extension of the one suggested in [117] by J. Pratt and G. Pratt to achieve walking motion with

Appendix C Control Strategies for Bipedal Locomotion

191

Virtual stance leg passes vertical Support

Toe-Off

Stance leg

Touchdown T To uchdo d wn

Ta T k of ke off Takeoff Swinging leg

Swing

Straighten

Virtual swing leg passes vertical Figure C.1: State machine of each leg. It is composed of four states: support, toe-off, swing, and straighten and four transitions. Each state is represented with a simulation snapshot and describes the state of the red leg.

swing leg coordination, adaptive control, and a supplementary weight provided by the trunk. Note that the trunk is not used to balance the robot during the walking motion. In other words, with a proper tuning of the control parameters the same walking motion could be achieved without the trunk. As during the presentation of the running control algorithm, five similar conditions necessary to walk can be defined: 1. height needs to be controlled and stabilized, 2. average speed needs to be controlled and stabilized, 3. robot orientation (i.e. pitch, roll, and yaw of the robot’s body) needs to be controlled and stabilized, 4. the swing-leg needs to move in time to ensure foot positioning, 5. ensure foot placement that allow the stability of the next stance phase.

C.2.1

State machine

The control is based on a state machine for each leg, see Figure C.1, which is inspired by the one used in [115]. The state machine is composed of four different states and four state transitions. The main features of the control during each state are the following:

192

Appendix C Control Strategies for Bipedal Locomotion • support: height and robot orientation are stabilized by straightening the knee and using the stance hip, respectively. • toe-off: height and robot orientation are ensured as in the support state. Speed is controlled with the ankle in the same way as in the running control algorithm.

• swing: as for running, the swing leg is coordinated with the stance one while the knee is lightly damped. • straighten: the coordination is still used at the hip pitch with the aim of reaching the desired angle of attack. The knee is still damped and the foot is servoed to be level with the ground. The next section focuses on detailing the algorithm structure.

C.2.2

Control algorithm

As mentioned in the previous section, the control is divided into five different states. Note that the trunk is still present in the walking motion to allow the transition from walking to running, see Section C.3. However, the trunk is not used here to stabilize the orientation of the body. A PD controller is used at each trunk DoF to keep them close to 0 rad: trunk trunk trunk trunk trunk τyaw = −Kyaw qyaw − Byaw q˙yaw

(C.2.1)

trunk trunk trunk trunk trunk τpitch = −Kpitch qpitch − Bpitch q˙pitch

(C.2.2)

trunk trunk trunk trunk trunk τroll = −Kroll qroll − Broll q˙pitch

(C.2.3)

The control algorithm is now detailed state by state, beginning by the support one.

The support state has to deal with the body’s balance and touchdown. Therefore, the hip is servoed to control the body orientation as in the running stance phase:

body ϕy − ϕy + Bpitch ϕ˙ y

hip trunk body d body τyaw = −τyaw − Kyaw ϕz − ϕz + Byaw ϕ˙ z

ffg = g mrobot − mleg

hip body Γhip = ff cos (ϕ ) + z sin (ϕ ) ∓y g x x CoM roll offset

hip body trunk = −τpitch − Kpitch τpitch



d

hip body body trunk = Γhip + Kroll ϕx + Broll ϕ˙ x τroll roll − τroll

(C.2.4) (C.2.5) (C.2.6) (C.2.7) (C.2.8)

where Γhip roll is a feed-forward term to offset the weight of the body, trunk, and swing leg, assuming that the CoM position of the corresponding subsystem is close to the body’s

Appendix C Control Strategies for Bipedal Locomotion

193

one. The symbol ∓ denotes the side dependent sign of the corresponding term. It refers to ’−’ for the right side and ’+’ for the left side. A PD controller is used to straighten the knee as follows: τ knee = K knee



d knee

q

− q knee − B knee q˙knee

(C.2.9)

As in running, the ankle pitch is lightly damped to decrease a possible foot pitch acceleration at touchdown: ankle ankle ankle = −Bpitch q˙pitch τpitch

(C.2.10)

The ankle roll is servoed as in the running stance phase: ref ankle qroll ankle τroll

ankle = ∓dqroll − Ky˙ y˙

ankle ref ankle ankle ankle ankle = Kroll qroll − qroll q˙roll − Broll

(C.2.11) (C.2.12)

where the symbol ∓ denotes the side dependent sign of the corresponding term. It refers to ’−’ for the right side and ’+’ for the left side. The transition from the support state to toe-off state is defined by the virtual stance leg, see Figure 4.9(b), passing the vertical.

The toe-off state

is the state during which the robot is propelled. The hip, knee, and

ankle roll control laws used in support state are still used in toe-off state. The change in strategy lies in the control of the ankle pitch used to propel the robot. The use of a quadratic spring suggested in [115] is kept in addition of the running toe-off control, see Equation (4.3.40): ankle τpitch

=

npush(x˙ mean ) ankle SA Kpitch (x˙ mean )

 d ankle qpitch



ankle qpitch



2 ankle ankle ankle q˙pitch − κankle q − Bpitch pitch pitch npush(x˙ mean )

where κankle pitch is the quadratic spring stiffness and SA

1 − q knee 2



(C.2.13) evolves from 0 to 1 accord-

ing to the virtual leg pitch, see Figure 4.8. Note that, as in the running control algorithm, this control law uses two adaptive conankle (x trol parameters, namely, npush (x˙ mean ) and Kpitch ˙ mean ), for controlling the robot speed.

Finally, the swing state begins when takeoff is detected.

The swing state

ensures the coordination of the swing leg with respect to the stance

one with the same approach used for the running motion. Even if the spring-mass model

194

Appendix C Control Strategies for Bipedal Locomotion

is no longer used, it will be shown in Chapter 5 that the assumption θ¨st = 0 rad.s−2 , see Equation (4.3.71), is still valuable and therefore is still used for the walking motion control. The control of the hip pitch DoF is based on a modified version of the stance duration prediction suggested in Section 4.3.4. Indeed, while for the running motion the swing state duration equals the one of the stance phase, for the walking motion the single support1 duration is shorter than the contact duration of the stance leg because stance , see Equation of the presence of double support2 phase. Therefore, based on Tpred3

(4.3.74), the single support time prediction is evaluated as follows: SS stance = Tpred3 − 2 T DS Tpred

(C.2.14)

where T DS refers to the time spent in double support which can be measured at each SS is the predicted single support time. takeoff and Tpred

With the previous considerations, the hip pitch DoF is controlled as follows: d ˙ sw

θ

hip τpitch

θsw − refθ0 (θ0 ) SS Tpred



hip hip ref 2 d ˙ sw θ − θ˙sw = Kpitch θ0 (θ0 ) − θsw + Bpitch 1 − SA =

(C.2.15) (C.2.16)

where θsw refers to the virtual swing leg pitch angle and where the desired velocity dθ˙sw 2 to coordinate the late swing and straighten is progressively decreased to 0 thanks to SA

state with the end of the toe-off state of the opposite leg. It should be noted that the hip pitch initiates the next angle of attack by considering directly

refθ

0 (θ0 ).

The latter is an adaptive control parameter that, as in the running

control algorithm, is used to improve the control accuracy. The knee is lightly damped and the foot is servoed to be level with the ground to avoid any ground contact with the toe as follows: τ knee = −B knee q˙knee foot αpitch = ϕy +

hip qpitch

ankle + q knee + qpitch

(C.2.17) (C.2.18)

ankle foot foot ankle ankle τpitch = −Kpitch αpitch − Bpitch q˙pitch

(C.2.19)

ankle ankle ankle ankle ankle = −Kroll qroll − Broll q˙roll τroll

(C.2.20)

Therefore, the knee is acting as a passive joint while its flexion is ensured by the active hip flexion. The hip yaw is controlled so that the foot faces forward and the hip roll is 1 2

The single support is defined here by the contact on the ground of only one foot. The double support is defined here by the contact on the ground of the two feet.

Appendix C Control Strategies for Bipedal Locomotion

195

used to keep the leg vertical in the frontal plane:

hip hip hip hip hip = −Kyaw + ϕz − Byaw q˙yaw qyaw τyaw

hip hip hip hip hip τroll = −Kroll + ϕx − Broll q˙roll qroll

(C.2.21) (C.2.22)

Finally, the swing state is terminated when the virtual swing leg passes vertical.

The straighten state

ensures the angle of attack, in the frontal and sagittal planes.

The swing coordination law is maintained on the hip pitch DoF and ensures the angle of attack in the sagittal plane. The hip roll DoF is used, as suggested in [117], to ensure the stability of the next support in the frontal plane: ref hip qroll hip τroll

hip = dqroll − ϕx + Ky˙ y˙ + Kyfoot y foot

hip ref hip hip hip hip = Kroll qroll − qroll q˙roll − Broll

(C.2.23) (C.2.24)

where y foot is the distance between the stance leg foot and body center along the y-axis. The control hip roll considers a desired angle that is updated by considering the lateral velocity of the body, while the term Kyfoot y foot aims to predict the evolution of the body velocity. The swing state controllers are used at the other DoFs. Finally, the support state begins when touchdown is detected.

C.2.3

Spring-mass model for walking

Since the use spring-mass model was found useful for achieving running motion, the aim was to use it also in the control of the bipedal walking motion with the same concept of neutral stiffness. The spring-mass parameters are shown in Figure C.2(a) and the model is implemented as in the running control algorithm, see Figure C.2(b). Therefore, the aim of the study is to establish a relation between the system conditions at the VLO (Vertical Leg Orientation) instant and the neutral stiffness. The neutral stiffness is the function K = f (x˙ 0 , z0 , θtd ) such that: x˙ f = x˙ 0

(C.2.25)

z˙f = z˙0 = 0 m.s−1

(C.2.26)

z f = z0

(C.2.27)

where the subscripts 0 and f denote the first and second VLO instants, respectively. A database of the neutral stiffness for different initial conditions, see Figure C.2(a), was generated using the simulation of the spring-mass between two consecutive VLO

196

Appendix C Control Strategies for Bipedal Locomotion

ߠ ‫ݐݏ‬

Ttd x 0

zf

K

Hip center

"

z0

x f

Virtual stance leg

lstep

Ankle center

(a)

(b)

Figure C.2: Scheme of the spring-mass model and its implementation on the robot’s leg: (a) spring-mass model where K is the stiffness common to both legs, the subscripts ’0 ’ and ’f ’ denote the first and second VLO (Vertical Leg Orientation) instants, respectively; (b) virtual leg, it is the line that joins the hip and the ankle centers, has a pitch angle and a length called θ and l, respectively. The linear spring used for the spring-mass model is implemented on the virtual leg.

instants with Simulink. Figure C.3 shows the evolution of the neutral stiffness. It highlights the deterioration of the solution space for high velocities. Specifically, no solution was found for velocities above 1.5 m.s−1 equivalent to a Froude3 number of 0.27, see Figures C.3(a) and C.3(b). Moreover, when the initial velocity is above 1 m.s−1 (F r = 0.12), there is no solution of the neutral stiffness for certain values of z0 , see Figure C.3(c). This limitation in maximum velocity and the database inconsistency constitute real issues regarding the implementation of the spring-mass model in the control for bipedal walking. Regardless the inconsistency of the database, Eureqa was used to find ˆ = g (x˙ 0 , z0 , θtd ), where K ˆ is the estimated neutral various analytic solutions such as K stiffness. These different solutions were then tested in the control algorithm at low speeds x˙ mean < 0.8 m.s−1 . As a result, the stance knee could generate one to various oscillations highlighting that the linear spring was almost freely vibrating. The stance behavior could therefore not be control with the spring-mass model. From the latter observation, we have then concluded that the classic spring-mass model cannot be used to control a walking machine. However, considering that the human is able to walk at 2

The Froude number is a dimensionless quantity evaluated as follows: gvl0 , where v is a linear velocity, g the gravity magnitude, and l0 a characteristic length that is here the spring rest length equivalent to the leg length. 3

Appendix C Control Strategies for Bipedal Locomotion lstep (m) 0.17

0.35

0.52

0.69

0.86

1.04 1.6

1.5

0.2

1.3

0.15

1.1

0.1

0.9

0.05

0.7

0 0

0.3

1.6

0.25

1.5

0.2

1.3

0.15

1.1

0.1

0.9

0.05

0.7

0

0.2

0.4

0.6

0.8

1

0 −60

1.2

lstep

  x˙ 0 m.s−1

0.25

Fr

0

  x˙ 0 m.s−1

Fr

0.3

197

0

−50

−40

(a)

−30

θtd

−20

−10

0

(b)

0.999 450 400

0.992 500

350 400

300

0.985 250

K

K

200

z0

300 0.978

200

150 100

100 0

50 0 0

0.2 0 0.2

0.4

0.6

lstep

0.8

1

0.05

0.1

0.15

0.2

0.05

0.25

Fr

0.971

0.4 0.6 0.1

0.8

0.15

Fr

0.2

lstep

1 0.25

0.964

(c)

Figure C.3: Solution space of the neutral stiffness. The graph shows the evolution of to the dimensionless step the dimensionless neutral stiffness K (= K l0 / (m g)) according

length lstep (= lstep /l0 ), Froude number F r = x˙ 20 / (g l0 ) , and dimensionless vertical position z 0 (= z0 /l0 ). (a) highlights the diminution of the solution space along the horizontal axis when F r is increasing and shows that no solution could be found for F r greater than 0.27, (b) shows the same database according to θtd instead of lstep , and (c) shows the solution space with two 3D graphs exposing the same deterioration for high values of F r and showing the inconsistency of the solution space when F r is greater than 0.12.

speeds greater than 2 m.−1 (F r > 0.4) and still exhibits various features of a classic spring-mass model, such as the GRF shape and the CoM vertical oscillation, variation of the spring-mass model should be studied. However, the analysis was ended with the classic spring-mass model for walking. Therefore, extensions of the spring-mass model are part of this thesis perspectives.

C.3

A one-step transition from walking to running

Having introduced two control strategies, one for running, see Chapter 4, and the other for walking, see Section C.2, the change of gait has been explored. Only the transition

198

Appendix C Control Strategies for Bipedal Locomotion

from walking to running has been studied and it is reported here. At least two types of transition can be considered: 1)a continuous transition consisting in increasing progressively, from the walking gait, the step frequency and speed until the running gait can be reached, 2)a sudden transition aiming to change the gait from walking to running in only one step. We have focused on the one-step transition because it allows a very fast change of gait and is easy to design thanks to its short duration.

C.3.1

State machine

The control is based on two state machines, i.e., a different one for each leg, see Figure C.4. It is composed of five different states, three for the leg 1 and two for the other one. It should be noted that the leg 1 can refer to either left or right side while the leg 2 necessary belongs to the opposite one. The main purposes of each state are the following: • straighten: a PD control is used at the hip to perform a longer step than in walking. It will help the spring compression in the load state. The knee is damped and the foot is servoed to be level with the ground. • load: the knee is servoed to generate the behavior of a linear spring as in running, see Figure 4.9(b). The spring stiffness is soft so it can be loaded resulting in the knee high flexion, see Figure C.5. • unload: The stiffness of the virtual linear spring is rapidly increased so the spring is unloading to propel the robot, see Figure C.5. It is enhanced by the push off of the ankle pitch joint. • toe-off: the ankle is used to ensure that the robot is moving forward while the opposite leg is in the load state. • swing: the hip control is properly tuned so that the swing leg reaches the desired configuration to start running before takeoff. The next section presents the control algorithm to perform the one-step transition from the walking strategy, see Section C.2, to the running strategy, see Section 4.3.

C.3.2

Control algorithm

The control algorithm for the one-step transition is now presented state by state. The straighten, load, and unload states control the leg 1, while the toe-off and swing states control the leg 2.

Appendix C Control Strategies for Bipedal Locomotion

Virtual stance leg passes vertical

Touchdown Virtual swing leg passes vertical

Straighten

199

Load

Unload

Takeoff

State Machine of the Leg 1 Toe-Off Swing

Straighten

One-Step Transition State Machine

Walking Toe-Off

Support

Pre-Swing

Running

Support Straighten

Swing

State Machine of the Leg 2

Virtual stance leg passes vertical

Toe-Off

Leg 1 in Unload

Swing

Takeoff

Figure C.4: State machine of each leg. It is composed of three states for the leg 1: straighten, load, and unload, with four transitions, and two states for the leg 2: toe-off and swing, with three transitions. Each state is represented with a simulation snapshot and describes the state of the red leg. The leg numeration does not depend necessary on the leg’s side but is used to highlight that two different state machines are used to control the two legs.

The straighten state

of the leg 1 is engaged once the change of gait is explicitly

required (for instance, request from the user) and when walking swing state is done. As in running and walking, the main target is here to control the angle of attack. Therefore, controllers from the walking straighten are still used to servo all of the leg DoFs, but the hip pitch/roll ones:

hip hip hip hip hip τyaw = −Kyaw + ϕz − Byaw q˙yaw qyaw τ knee = −B knee q˙knee

(C.3.1) (C.3.2)

ankle ankle ankle ankle ankle τpitch = −Kpitch qpitch − Bpitch q˙pitch

(C.3.3)

ankle ankle ankle ankle ankle q˙roll τroll = −Kroll qroll − Broll

(C.3.4)

200

Appendix C Control Strategies for Bipedal Locomotion

Load

Unload

Figure C.5: Representation of the load and unload purpose. During the load state the stiffness is low enabling the linear spring compression resulting in a high knee flexion. The unload state benefits from the high spring compression by increasing progressively the stiffness which will lengthen the spring and thus propel the robot.

The control of the hip pitch is similar to the running one: hip hip = Kpitch τpitch





hip 2 d ˙ sw θ − θ˙sw θ0 − θsw + Bpitch 1 − SA

d

(C.3.5) (C.3.6)

The only difference is that no adaptive control strategy can be used for the current onestep algorithm. Therefore, instead of

refθ

0 (θ0 ),



0

is used and has to be properly tuned

so the leg will swing farther than in normal walking to enhance the spring compression during the next state. A simple PD controller is now used at the hip roll without taking into account the lateral velocity: hip hip τroll = Kroll



d hip qroll

hip hip hip − ϕx − qroll q˙roll − Broll

(C.3.7)

Since this controlled is used during only one step, an error in the control will be compensated by the running algorithm. Finally, the straighten is terminated once touchdown is detected.

The load state aims to load the virtual spring of the stance leg so that it can be released during the unload state propelling the robot, see Figure C.5. Therefore, the main characteristic of this state is the control of the knee that is achieved as follows:  τ

knee

=

knee τpassive



knee thigh Kload L sin

q knee 2

 (l0 − l)

(C.3.8)

knee is set to a low value enabling the spring compression. where the stiffness Kload

Controllers from the running support state are then used at the hip roll/yaw and ankle

Appendix C Control Strategies for Bipedal Locomotion

201

joints:

hip trunk body d body = −τyaw − Kyaw ϕz − ϕz + Byaw ϕ˙ z τyaw

hip body body leg Γhip = z ¨ m + m cos (ϕ ) + z sin (ϕ ) ∓y x x CoM roll offset

(C.3.10)

hip body body trunk τroll = Γhip + Kroll ϕx + Broll ϕ˙ x roll − τroll

(C.3.11)

ankle ankle ankle τpitch = −Bpitch q˙pitch ref ankle qroll ankle τroll

(C.3.9)

(C.3.12)

ankle = ∓dqroll − Ky˙ y˙

ankle ref ankle ankle ankle ankle = Kroll qroll − qroll q˙roll − Broll

(C.3.13) (C.3.14)

where the symbol ∓ denotes the side dependent sign of the corresponding term. It refers to ’−’ for the right side and ’+’ for the left side. Note that the feed-forward term Γhip roll is still used in unload state and considers the body vertical acceleration z¨ instead of the gravity g to be prepared for the high acceleration during the robot propulsion. The hip pitch is controlled as in the walking support state: hip body trunk τpitch = −τpitch − Kpitch



body ϕy − ϕy + Bpitch ϕ˙ y

d

(C.3.15)

The state ends when the virtual stance leg passes vertical.

The unload state benefits from the linear spring compression to propel the robot by releasing it, see Figure C.5. To do that, the linear spring stiffness is progressively 1 , see Equation increased with respect to the virtual stance leg pitch angle by using SA

(4.3.41) in Chapter 4: knee knee 1 knee = Kload + SA Kunload Kspring



knee knee τ knee = τpassive − Kspring Lthigh sin

q

 knee 2

(C.3.16) (l0 − l)

(C.3.17)

The control from the load state is still used at the hip pitch/roll/yaw and ankle roll DoFs. The ankle pitch is servoed to propel the robot as in toe-off state for the walking and running motions: ankle τpitch

=

npush SA

 ankle Kpitch

d ankle qpitch



ankle qpitch

1 − q knee 2

 ankle ankle − Bpitch q˙pitch

(C.3.18)

where npush = 1 to coordinate the knee and ankle push off instant. Once takeoff is detected, the state is achieved and the control algorithm enters in the running state machine of the leg 1 beginning by the pre-swing state.

202

Appendix C Control Strategies for Bipedal Locomotion

The toe-off state is the first one-step transition state of the leg 2 and starts once it is requested and the walking support state is accomplished. While the leg 1 performs the straighten and load states the leg 2 keeps the contact with the ground so that it can help keeping the body’s balance and ensuring that the body still moves forward. The same control as in the load state is used at hip and ankle roll DoFs. The ankle pitch is servoed ankle and npush remain unchanged from as in the unload state. However, the values of Kpitch ankle is set to a higher value to push harder. the walking motion while in unload state Kpitch

Finally, the swing state starts once the leg 1 enters in the unload state.

The swing state

deals with the coordination of the swing leg with respect to the

stance one. However, the swing leg coordination control established in Section 4.3.4 cannot be used here. Indeed, with the high flexion of the stance knee in load state, the stance behavior of the robot widely differs from the behaviors of the walking and running motions, and thus the stance duration prediction is not valuable anymore. Therefore, a simple PD controller is used at the hip pitch and has to be properly tuned so that the swing leg reaches the adequate configuration at takeoff to start running: hip hip τpitch = Kpitch



d sw

θ

hip ˙ sw − θsw − Bpitch θ

(C.3.19)

The control of the ankle and hip roll/yaw DoFs are those of the walking swing state and the knee DoF is servoed as in the running swing state: hip τyaw hip τroll

Γknee τ knee

hip −Kyaw





hip hip + ϕz − Byaw q˙yaw

hip hip hip hip = −Kroll + ϕx − Broll q˙roll qroll



hip shin = −¨ z mshin + mfoot zCoM sin q knee + qpitch + ϕy

= Γknee + K knee dq knee − q knee − B knee q˙knee

=

hip qyaw

(C.3.20) (C.3.21) (C.3.22) (C.3.23)

ankle ankle ankle ankle ankle τpitch = −Kpitch qpitch − Bpitch q˙pitch

(C.3.24)

ankle ankle ankle ankle ankle τroll = −Kroll qroll − Broll q˙roll

(C.3.25)

Since the opposite leg is currently in toe-off state propelling the robot, the running swing state control for the knee DoF is needed here to counter the robot acceleration. The swing state is terminated once takeoff is detected and thus the control continues with the running straighten state.

Appendix D

Simulation Results D.1

Control system parameters for running

Here are reported the gain values for all of the control laws presented in Chapter 4 that compose all together the running control algorithm. These gain values were used for the Chapter 5. The general gain values are reported in Table D.1 while the more specific adaptive control parameters are in Table D.2.

203

204

Appendix D Simulation Results Table D.1: Control system parameters used in Chapter 5

Parameter Values stance phase trunk Kyaw 0 N.m rad N.m trunk Byaw 1 rad.s −1 N.m trunk Kpitch 100 rad N.m trunk Bpitch 10 rad.s −1 trunk Kroll 100 N.m rad N.m trunk Broll 10 rad.s −1 dϕ 0 rad y hip Kpitch 700 N.m rad hip N.m Bpitch 50 rad.s −1 hip Kroll 400 N.m rad hip N.m Broll 100 rad.s −1 dϕ 0 rad z hip Kyaw 90 N.m rad hip N.m Byaw 8 rad.s −1 dq ankle 0.1 rad roll rad Ky˙ 0.36 m.s −1 N.m ankle Kroll 282.75 rad N.m ankle Broll 0.1 rad.s −1 flight phase trunk Kyaw 50 N.m rad N.m trunk Byaw 30 rad.s −1 N.m trunk Kpitch 60 rad N.m trunk Bpitch 40 rad.s −1 trunk Kroll 60 N.m rad N.m trunk Broll 40 rad.s −1

Parameter Values support state N.m ankle Bpitch 0.5 rad.s −1 toe-off state K gas 0.2 dq ankle 0.5 rad pitch N.m ankle Bpitch 0.5 rad.s −1 straighten state dθ −0.28rad 0 hip Kpitch 200 N.m rad hip N.m Bpitch 30 rad.s −1 dq hip 0.05rad roll hip Kroll 92.08 N.m rad hip N.m Broll 22.84 rad.s −1 hip Kyaw 184.16 N.m rad hip N.m Byaw 27.41 rad.s −1 dq knee 0.2 rad K knee 40 N.m rad N.m knee B 4 rad.s −1 dαfoot 0.1 rad pitch ankle Kpitch 15 N.m rad N.m ankle Bpitch 0.5 rad.s −1 N.m ankle Kroll 4 rad N.m ankle Broll 0.1 rad.s −1

Parameter Values pre-swing state Cθ 1.6 hip Kpitch 20 N.m rad hip N.m Bpitch 1 rad.s −1 hip N.m βpitch 12.5 rad.s−1 hip Kroll 92.08 N.m rad hip N.m Broll 22.84 rad.s −1 hip N.m βroll 20 rad.s −1 hip Kyaw 230.2 N.m rad hip N.m Byaw 27.41 rad.s −1 dq knee 2 rad K knee 20 N.m rad N.m knee B 3 rad.s −1 dq ankle 0.08rad pitch ankle Kpitch 0.25 N.m rad N.m ankle Bpitch 1 rad.s −1 swing state hip Kpitch 40 N.m rad hip N.m Bpitch 10 rad.s −1 hip Kyaw 230.2 N.m rad hip N.m Byaw 27.41 rad.s −1 dq knee 1.7 rad K knee 10 N.m rad N.m knee B 3 rad.s −1 State-independent τmax 50 N.m qthres 0.3 rad pass n 2

Table D.2: Parameter values for the adaptive control parameters of the ankle pitch, hip pitch and knee DoFs, see Chapter 4, used in Chapter 5.

State support and toe-off

toe-off

toe-off straighten

Control parameter name knee (x Kcorr ˙ mean , zapex ) for x˙ mean for zapex ankle Kpitch (x˙ mean , zapex ) for x˙ mean for zapex push n (zapex ) refθ(θ ) 0

Initial value 1

ε

np

nv

β

-1 1

1.1 1.1

0.9 1.0

0.6 0.6

1 1 -1 1

1.1 1.0 2.0 1.3

0.8 1.0 0.8 1.1

0.6 0.6 0.6 0.6

189.84 N.m rad

0.3 −0.17 rad

Appendix D Simulation Results

D.2

205

Control system parameters for walking

Here are reported the gain values for all of the control laws presented in Chapter C that compose all together the walking control algorithm. These gain values were used for the Section D.4. The general gain values are reported in Table D.3 while the more specific adaptive control parameters are in Table D.4.

Table D.3: Control system parameters used in Chapter 5

Parameter Values support state dϕ 0 rad y hip Kpitch 200 N.m rad hip N.m Bpitch 40 rad.s −1 hip Kroll 400 N.m rad hip N.m Broll 40 rad.s −1 dϕ 0 rad z hip Kyaw 90 N.m rad hip N.m Byaw 8 rad.s −1 dq knee 0 rad K knee 40 N.m rad N.m knee B 5 rad.s −1 N.m ankle Bpitch 1.5 rad.s −1 dq ankle 0.09rad roll rad Ky˙ 0.36 m.s −1 N.m ankle Kroll 282.75 rad N.m ankle Broll 0.1 rad.s −1

Parameter Values toe-off state dq ankle 0.4 rad pitch N.m ankle Bpitch 0 rad.s −1 N.m κankle 700 2 pitch rad swing state dθ −0.35rad 0 hip Kpitch 23 N.m rad hip N.m Bpitch 6 rad.s −1 hip Kroll 92.08 N.m rad hip N.m Broll 22.84 rad.s −1 hip Kyaw 92.08 N.m rad hip N.m Byaw 22.84 rad.s −1 N.m knee B 0.5 rad.s−1 ankle Kpitch 4 N.m rad N.m ankle Bpitch 0.5 rad.s −1 ankle Kroll 4 N.m rad N.m ankle Broll 0.1 rad.s −1

Parameter Values straighten state dq hip 0.05rad roll hip Kroll 138.12 N.m rad hip N.m Broll 22.84 rad.s −1 N.m knee B 2 rad.s−1 State-independent trunk Kyaw 15 N.m rad N.m trunk Byaw 5 rad.s −1 trunk Kpitch 100 N.m rad N.m trunk Bpitch 10 rad.s −1 N.m trunk Kroll 100 rad N.m trunk Broll 10 rad.s −1

206

Appendix D Simulation Results Table D.4: Parameter values for the adaptive control parameters of the ankle pitch, hip pitch and knee DoFs, see Chapter 4, used in Chapter 5.

State toe-off toe-off straighten

D.3

Control parameter name ankle (x Kpitch ˙ mean ) push n (x˙ mean ) refθ(θ ) 0

Initial value 40 N.m rad 0.3 −0.35 rad

ε 1 -1 1

np 1.0 1.3 0.8

nv 0.9 1.0 0.8

β 0.7 0.7 0.7

Control system parameters for the one-step transition

Here are reported the gain values for all of the control laws presented in Section C.3 that compose all together the transition control algorithm. These gain values were used in Section D.5. The gain values are reported in Table D.5.

D.4

Walking simulation results

Based on the running control algorithm, an extension for achieving the walking motion has been developed. The results are reported here for a stable walking motion with an Table D.5: Control system parameters used in Chapter 5

Parameter Values straighten state dθ −0.55rad 0 hip Kpitch 24 N.m rad hip N.m Bpitch 2 rad.s −1 hip Kroll 138.12 N.m rad hip N.m Broll 22.84 rad.s −1 hip Kyaw 92.08 N.m rad hip N.m Byaw 22.84 rad.s −1 N.m knee B 2 rad.s−1 ankle Kpitch 4 N.m rad N.m ankle Bpitch 0.5 rad.s −1 ankle Kroll 4 N.m rad N.m ankle Broll 0.1 rad.s −1

Parameter Values Parameter Values load state swing state dϕ d sw 0.15rad θ −0.5 rad y hip hip Kpitch 200 N.m K 20 N.m pitch rad rad hip hip N.m N.m Bpitch 40 rad.s B 2 −1 pitch rad.s−1 hip hip Kroll 400 N.m Kroll 92.08 N.m rad rad hip hip N.m N.m Broll 100 rad.s B 22.84 −1 roll rad.s−1 hip dϕ 0 rad Kyaw 92.08 N.m z rad hip hip N.m Kyaw 90 N.m B 22.84 yaw rad rad.s−1 hip N.m dq knee Byaw 8 rad.s−1 2 rad knee −1 Kload 0.8 kN.m K knee 70 N.m rad N.m N.m ankle Bpitch 1.5 rad.s B knee 5 rad.s −1 −1 N.m ankle dq ankle Kpitch 4 0.09rad roll rad rad N.m ankle Ky˙ 0.36 m.s−1 Bpitch 0.5 rad.s −1 ankle N.m ankle Kroll 282.75 N.m K 4 roll rad rad N.m ankle N.m ankle Broll 0.1 rad.s Broll 0.1 rad.s −1 −1 unload state knee Kunload 10 kN.m−1 N.m push n 2 rad.s −1 N.m ankle Kpitch 80 rad.s −1 N.m ankle Bpitch 0 rad.s−1

Appendix D Simulation Results

Gait 0% Cycle

10%

20%

30%

207

40%

50%

60%

70%

80%

90%

100%

Figure D.1: Snapshots of an entire walking gait cycle, 1.44 s long for an average speed of 1 m.s−1

average speed of 1 m.s−1 , see the snapshots in Figure D.1. In the same way than for running, the robot forward velocity and angle of attack are controlled and stabilized using the adaptive control strategy, see Chapter 4. Consequently, a periodic/steady walking gait cycle that is within the algorithm capabilities, i.e., not too fast/slow, can be controlled and stabilized. Figures D.2 through D.5 show respectively the joint positions, joint torques, ground reaction forces, and body velocities. They describe the evolution of each of them over an entire gait cycle by a continuous line, while the latter is surrounded by a gray area highlighting the variation over more than 100 gait cycles. These variations are here very small pointing out the gait periodicity. While for achieving the running motion torques of about 100-150 N.m are needed at several joints, the joints are here less solicited and omitting the ankle pitch torque that can reach values up to 70 N.m, the important torques are about 40 N.m. With respect to the biomechanical literature [103], the maximum torques needed to make the robot walk are 1.1 to 1.5 higher to the human ones while walking at 1.17 m.s−1 . Regarding the ground reaction forces, see Figure D.4, we see that the first peak force of the vertical component has a magnitude of 2 BW ( 800 N ) and is about twice the average value of the rest of the stance. As mentioned in the previous chapter, the walking motion is based on an inverted pendulum-like behavior for the stance phase, meaning that the knee is forced to extend from touchdown to takeoff. The high peak force emphasized that the inverted pendulum approach causes a problem right after touchdown resulting in the inability to absorb the impact energy that can be then returned during the propulsion, as it is achieved in running by using the springmass model. Finally, Table D.6 summarizes the average values of the different stance stance duration prediction terms and compare them to the measured data. Note that TGeyer stance are approximations of the running spring-mass model and are therefore not and TSaranli

compared here. Although compared to the results obtained for the running motion stance is about three times less efficient, the prediction for walking the accuracy of Tpred2

remains valuable and usable for the control. In the current section, the general gait of the walking motion obtained has been exposed. Note that the results reported here are

208

Appendix D Simulation Results

hip pitch

q

angles (degrees)

DS

L. Stance

ankle pitch

q

knee

q

DS

R. Stance

DS

L. Stance

DS

R. Stance

DS

70

20

60

10

50

0

40

−10

30

0

−20

20

−10

−30

10

R. Stance

20

−20 0 0

20

40

60

80

100

0

hip

20

40

60

80

100

0

hip

left right

qyaw

20

40

60

80

100

80

100

80

100

ankle

left right

qroll

qroll

6

4

3

angles (degrees)

DS

10

−40

4

2 2

2

1

0

0

0

−2

−1 −2 −2

−4 −4 0

20

40

60

80

100

−6 0

20

qtrunk

Trunk DoFs

40

60

80

Body orientation

roll 6 trunk

0

0 −2

−2

40

60

qz

0.96

y

φz

2

2

20

Body position

φ

trunk qyaw 4

4

0

φx

qpitch

6

100

position (meters)

−3

angles (degrees)

L. Stance

30

30

0.95 0.94 0.93 0.92

−4 −4 0

20

40

60

80

100

0

20

% gait cycle

40

60

80

100

0

20

% gait cycle

40

60

% gait cycle

Figure D.2: Evolution of the DoF positions during one gait cycle. Continuous lines show the evolution of one DoF during one gait cycle while the surrounding gray areas highlight the variation over more than 100 cycles.

Table D.6: Average accuracy of the T stance prediction

T stance stance Tmeas stance Tpred1





=

−2 θθ˙0 0 stance Tpred1

stance = Tpred2 + Δθ

θ˙0 stance stance Tpred3 = C Tpred2



Error

(ms)

(ms)

(%)

781.1





538.9

242.2

31.01

665.8

115.3

14.76

781.1

0.4

0.05

Appendix D Simulation Results

209

hip pitch

τ DS

L. Stance

ankle pitch

τ

knee

τ

DS

R. Stance

40 DS

L. Stance

DS

R. Stance

torque (N.m)

20

R. Stance

40 10

0

−20

30

0

20

−10

10 0

−20

−10 0

20

40

60

80

100

0

hip

20

40

60

80

100

0

hip

left right

τyaw

torque (N.m)

DS

50

20

−40

L. Stance

60

30

40

DS

70

20

40

30

60

20

40

20

10

20

10

0

0

0

−10

−20

−20

−40

60

80

100

80

100

ankle

left right

τroll

τroll

−10

−20 0

20

40

60

80

100

0

20

40

trunk roll

60

80

0

τtrunk

τtrunk

15

5

2

2 0 −5

−4

−10

−6

0 −2 −4

−15 40

60

80

100

yaw

4

4

0

τtrunk

6

pitch

10

−2

60

trunk yaw

τ

roll

6

20

40

τ

8

0

20

trunk pitch

τ

torque (N.m)

100

−6 0

20

40

% gait cycle

60

80

100

0

20

40

% gait cycle

60

80

100

% gait cycle

Figure D.3: Evolution of the DoF torques during one gait cycle. Continuous lines show the evolution of one DoF during one gait cycle while the surrounding gray areas highlight the variation over more than 100 cycles.

Vertical GRFs DS

left

L. Stance

DS

DS

0.3

left

L. Stance

DS

Frontal GRFs

right

R. Stance

0.2

0.2

80

0.1

1.5

602 0.1

40

1

402

0

0.5

201

803

DS

left

L. Stance

DS

right

R. Stance

40

0

0

−0.1

−40

0

−0.2

−80

−0.1

−40

−0.3

−120

−0.2

−80

−0.4

−161

−0.5 0

0 0

20

40

60

% gait cycle

80

100

80

−0.3 0

20

40

60

% gait cycle

80

−120 100

−201 0

20

40

60

80

100

% gait cycle

Figure D.4: Evolution of the GRFs (in body weight unit) during one gait cycle. Continuous lines show the evolution of one GRF component during one gait cycle while the surrounding gray areas highlight the variation over more than 100 cycles.

force (N)

120

2

force (body weight)

Lateral GRFs

right

R. Stance

210

Appendix D Simulation Results x˙

Body forward velocity DS

velocity (m.s−1)

1.3

L. Stance

DS



Body lateral velocity

R. Stance

DS

0.3

L. Stance

DS



Body vertical velocity 0.4

R. Stance

DS

L. Stance

DS

R. Stance

0.3

1.2

0.2

1.1

0.1

0.2 0.1

1

0

0

0.9 −0.1

−0.1

0.8 −0.2

0.7 0

20

40

60

% gait cycle

80

100

−0.2 0

20

40

60

80

100

0

20

% gait cycle

40

60

80

100

% gait cycle

Figure D.5: Evolution of the body linear velocities during one gait cycle. Continuous lines show the evolution of each velocity component during one gait cycle while the surrounding gray areas highlight the variation over more than 100 cycles.

only those obtained for a 1 m.s−1 periodic walking. With the same algorithm and gain values, the robot can be controlled in speed and remains stable between 0.8 m.s−1 and 1 m.s−1 . Today, the gait is still not stable enough to reach a wider range of speeds and cannot deal with external perturbations. However, the trials led on the walking motion have permitted to conclude that the adaptive control parameters are still stable enough to be used in the control and that the swing coordination law originally developed for the running motion is still pertinent and usable in the control for the walking motion. Moreover, with respect to the original control algorithm, the implementation of the swing coordination law has led to suppression of an imposed swing duration [117] that limits the step frequency range and thus the speed range of the robot. Finally, having established a control algorithm for achieving the walking motion, it has been possible to develop a transition from walking to running. The results obtained for the one-step transition algorithm presented in the last chapter are now exposed.

D.5

One-step transition from walking to running

Figure D.6: Snapshots of the simulated robot walking at 1 m.s−1 , performing the onestep transition, and then running to reach a final speed of 3.5 m.s−1 . The snapshots are spaced at 0.4 s for the walking part and then at 0.2 s for the running part.

Since, two control algorithm have been suggested and validated in simulation for achieving bipedal walking and running, a one-step transition between these two gaits have been suggested in the previous chapter and the results obtained in simulation are now

Appendix D Simulation Results x˙ mean

left

211

right

gain value (N.m.rad−1)

velocity (m.s−1)

4 3.5 3 2.5 2 1.5 1 0

25

50

zapex

75

100 right

1.02 1 0.98 0.96 0

25

50

θ0

75

100

left

125 right

100 50

−20

50

75

100

125 left

150 right

1 0.9 0.8

 knee  Kcorr min

0.7 0

ref

des

−15

25

knee Kcorr (x˙ mean, zapex)

150

angle (degrees)

angle (degrees)

150

0

−10

right

200

des

1.04

left

250

150

gain value (dimensionless)

left

125

1.06

position (meters)

ankle Kpitch (x˙ mean, zapex)

des

25

50

75

100

θ (θ0 )

125 left

150 right

−10 −15 −20 −25 −30

−25 0

25

50

75

100

time (seconds)

125

150

0

25

50

75

100

125

150

time (seconds)

Figure D.7: Response of the adaptive control parameters (second row) with respect to their desired and measured data (first row).

exposed. Figure D.6 shows the snapshots of the one-step connecting a 1 m.s−1 walking and 3.5 m.s−1 running. Using the one-step transition, the robot is able change of gait, to reach the desired velocity of 3.5 m.s−1 , and to find a steady gait in about 30 s, see Figure D.7. During these 30 s, not only the velocity is attaining its desired value, but also the apex height and angle of attack are conducted to their desired values and stabilized thanks to the adaptive control parameters. A second simulation with the one-step transition was conducted connecting a walking motion at lower speed, i.e., 0.8 m.s−1 , to the control algorithm for high speed running with a final desired velocity of 7 m.s−1 , see Figure D.8. It shows that the same transition can be used and that the robot needs 5 s more with respect to the previous simulation, see Figure D.7, to reach the desired velocity. As shown in Figure D.8, the running gait does not appear to converge to a steady gait. However, the latter can be expected since the system is at its maximum speed and that the gait was already shown to not be periodic in Section 5.2.3. Finally, to ensure that the robot robustness to ground perturbations is not deteriorated by the

212

Appendix D Simulation Results x˙ mean

right

velocity (m.s−1)

7 6 5 4 3 2 1 0

25

50

zapex

75

100 right

1.04 1.02 1 0.98 0.96 0

25

50

θ0

75

100

left

125 right

300 200 100 0

25

50

75

100

knee Kcorr (x˙ mean, zapex)

125 left

150 right

1 0.95 0.9 0.85 0.8

 knee  Kcorr min

0.75 0.7

150

0

ref

des

25

50

75

100

θ (θ0 )

125 left

150 right

−10

angle (degrees)

−5

angle (degrees)

right

400

des

1.06

left

500

150

gain value (dimensionless)

left

125

1.08

position (meters)

ankle Kpitch (x˙ mean, zapex)

des

gain value (N.m.rad−1)

left

−10 −15 −20

−15 −20 −25 −30

0

25

50

75

100

time (seconds)

125

150

0

25

50

75

100

125

150

time (seconds)

Figure D.8: Response of the adaptive control parameters (second row) with respect to their desired and measured data (first row).

Figure D.9: Simulation snapshots of the robot walking and then running with the presence of a 45 cm high step down. The snapshots are spaced at 0.2 s.

Figure D.10: Simulation snapshots of the robot walking and then running over a 40 m long random terrain with a maximum height variation of 15 cm. The snapshots are spaced at 0.2 s.

one-step transition, two simulation trials were conducted with a perturbed environment right after the transition, see Figures D.9 and D.10 for the simulation snapshots. As

Appendix D Simulation Results

213

results, the robot is still able to deal with perturbations having the same characteristics than before, see Figures 5.13 and 5.17.

Bibliography [1] Carnegie Mellon University Graphics Lab Motion Capture Database. [2] A. Albert and W. Gerth. Analytic path planning algorithms for bipedal robots without a trunk. Journal of Intelligent and Robotic Systems, 36:109–127, 2003. [3] R. M. Alexander. Mechanics of bipedal locomotion. Perspectives in experimental biology, pages 493–504, 1976. [4] M. P. Appell. Sur une forme g´en´erale des equations de la dynamique, 1925. [5] P. Appell. Trait´e de m´ecanique rationnelle, third edition. Paris, 1911. [6] A. Arabyan and F. Wu. An improved formulation for constrained mechanical systems. Multibody System Dynamics, 2(1):49–69, 1998. [7] A. Arampatzis, G.-P. Br¨ uggemann, and V. Metzler. The effect of speed on leg stiffness and joint kinetics in human running. Journal of Biomechanics, 32(12): 1349 – 1353, 1999. [8] C. Balafoutis and R. Patel. Dynamic Analysis of Robot Manipulators: A Cartesian Tensor Approach. Boston, Kluwer Academic Publishers, 1991. [9] H. Baruh. Another look at the describing equations of dynamics. Chinese Society of Mechanical Engineers, Journal, 21(1):15–23, 2000. [10] A. Batou and C. Soize. Rigid multibody system dynamics with uncertain rigid bodies. Multibody System Dynamics, 27:285–319, 2012. [11] W. Blajer. A geometric unification of constrained system dynamics. Multibody System Dynamics, 1:3–21, 1997. [12] R. Blickhan. The spring-mass model for running and hopping. Journal of Biomechanics, 22:1217–1227, 1989. [13] M. Blix. Die l¨ ange und die spannung des muskels. Skand. Arch. Physiol., 5, 1894.

215

216

BIBLIOGRAPHY

[14] T. Buschmann, S. Lohmeier, and H. Ulbrich. Humanoid robot lola: Design and walking control. Journal of Physiology-Paris, 103(3-5):141 – 148, 2009. [15] C. Canudas-de Wit. On the concept of virtual constraints as a tool for walking robot control and balancing. Annual Reviews in Control, 28:157–166, 2004. [16] P. Cavanagh, R. Kram, et al. Stride length in distance running: velocity, body dimensions, and added mass effects. Medicine and Science in Sports and Exercise, 21(4):467, 1989. [17] C. Chen, C. Lee, and E. Hou. Efficient scheduling algorithms for robot inverse dynamics computation on a multiprocessor system. IEEE Transactions on Systems, Man and Cybernetics, 18:729–743, 1988. [18] C. Chevallereau, E. R. Westervelt, and J. W. Grizzle. Asymptotically stable running for a five-link, four-actuator, planar bipedal robot. The International Journal of Robotics Research, 24:431–464, 2005. [19] C. Chevallereau, J. W. Grizzle, and C.-L. Shih. Asymptotically stable walking of a five-link underactuated 3-d bipedal robot. Transactions on Robotics, 25(1):37–50, Feb. 2009. [20] C. Chevallereau, J. Grizzle, and C. Shih. Steering of a 3d bipedal robot with an underactuated ankle. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, pages 1242–1247, 2010. [21] B. Cho and J. Oh. Running pattern generation with a fixed point in a 2d planar biped. International Journal of Humanoid Robotics, 6(02):241–264, 2009. [22] B.-K. Cho and J.-H. Oh. Running pattern generation of humanoid biped with a fixed point and its realization. The IEEE/RAS International Conference on Humanoid Robots, pages 299–305, 2008. [23] B.-K. Cho, S.-S. Park, and J.-H. Oh. Controllers for running in the humanoid robot, hubo. The IEEE/RAS International Conference on Humanoid Robots, pages 385–390, 2009. [24] H. Chung. Optimization-based dynamic prediction of 3D human running. PhD thesis, University of Iowa, 2009. [25] S. Cotton, I. Olaru, M. Bellman, T. van der Ven, J. Godowski, and J. Pratt. Fastrunner: A fast, efficient and robust bipedal robot, concept and planar simulation. In Proceedings of the IEEE International Conference on Robotics and Automation, 2012. to appear.

BIBLIOGRAPHY

217

[26] S. Cotton, I. Olaru, M. Bellman, T. van der Ven, J. Godowski, and J. Pratt. Bipedal running: When leg architecture influences speed, efficiency and robustness. 2012. [27] T. De Boer. Foot Placement in Robotic Bipedal Locomotion. PhD thesis, Delft University of Technology, 2012. [28] K. Ding, L. Liu, M. van de Panne, and K. Yin. Learning reduced-order feedback policies for motion skills. Technical report, University of British Columbia, Department of Computer Science, 2012. [29] T. Erez and E. Todorov. Trajectory optimization for domains with contacts using inverse dynamics. In The IEEE/RSJ International Conference on Intelligent Robots and Systems, 2012 (to appear). [30] C. Farley, J. Glasheen, and T. McMahon. Running springs: speed and animal size. Journal of experimental Biology, 185(1):71–86, 1993. [31] C. Farley, H. Houdijk, C. Van Strien, and M. Louie. Mechanism of leg stiffness adjustment for hopping on surfaces of different stiffnesses. Journal of Applied Physiology, 85(3):1044–1055, 1998. [32] C. T. Farley and O. Gonz´alez. Leg stiffness and stride frequency in human running. Journal of Biomechanics, 29(2):181 – 186, 1996. [33] R. Featherstone. Robot Dynamics Algorithms. Boston, Kluwer Academic Publishers, 1987. [34] R. Featherstone. Rigid Body Dynamics Algorithms. Springer-Verlag New York, Inc., Secaucus, NJ, USA, 2008. [35] S. Feng and Z. Sun. Biped robot walking using three-mass linear inverted pendulum model. In Proceedings of the International Conference on Intelligent Robotics and Applications: Part I, ICIRA ’08, pages 371–380, Berlin, Heidelberg, 2008. Springer-Verlag. [36] D. Ferris and C. Farley. Interaction of leg stiffness and surface stiffness during human hopping. Journal of applied physiology, 82(1):15–22, 1997. [37] D. Ferris, M. Louie, C. Farley, D. Ferris, M. Louie, and C. Farley. Running in the real world: adjusting leg stiffness for different surfaces. Proceedings of the Royal Society of London. Series B: Biological Sciences, 265(1400):989–994, 1998. [38] D. Ferris, K. Liang, and C. Farley. Runners adjust leg stiffness for their first step on a new running surface. Journal of biomechanics, 32(8):787–794, 1999.

218

BIBLIOGRAPHY

[39] A. Fijany and A. Bejczy. Parallel computation of manipulator inverse dynamics. Journal of Robotic Systems, 8:599–635, 1991. [40] H. Geyer, R. Blickhan, and A. Seyfarth. Natural dynamics of spring-like running: Emergence of selfstability. The International Conference on Climbing and Walking Robots, pages 87–91, 2002. [41] H. Geyer, A. Seyfarth, and R. Blickhan. Spring-mass running: simple approximate solution and application to gait stability. Journal of Theoretical Biology, 232(3): 315 – 328, 2005. [42] H. Geyer, A. Seyfarth, and R. Blickhan. Compliant leg behaviour explains basic dynamics of walking and running. In Proceedings of the Royal Society B: Biological Sciences, volume 273, pages 2861–2867, 2006. [43] J. W. Gibbs. On the fundamental formulae of dynamics. American Journal of Mathematics, 2(1):49–64, 1879. [44] A. Goswami. Kinematic and dynamic analogies between planar biped robots and the reaction mass pendulum (rmp) model. The IEEE/RAS International Conference on Humanoid Robots, pages 182–188, 2008. [45] F. Gravez, O. Bruneau, and F. Ouezdou. Analytical and automatic modeling of digital humanoids. International Journal of Humanoid Robotics, 2(3):337–359, 2005. [46] S. R. Hamner, A. Seth, and S. L. Delp. Muscle contributions to propulsion and support during running. Journal of Biomechanics, 43(14):2709 – 2716, 2010. [47] K. Hashimoto and H. Kimura. A new parallel algorithm for inverse dynamics. International Journal of Robotics Research, 8(1):63–76, 1989. [48] H. Hatze. A three-dimensional multivariate model of passive human joint torques and articular boundaries. Clinical Biomechanics, 12(2):128 – 135, 1997. [49] K. Hayes and H. Hatze. Passive visco-elastic properties of the structures spanning the human elbow joint. European Journal of Applied Physiology and Occupational Physiology, 37:265–274, 1977. [50] X. He and A. A. Goldenberg. An algorithm for efficient computation of dynamics of robotic manipulators. In Proceedings of the International Conference Advanced Robotics, pages 175–188, 1989. [51] A. Hill. The heat of shortening and the dynamic constants of muscle. In Proceedings of the Royal Society of London. Series B, volume 1226, pages 136–195, 1938.

BIBLIOGRAPHY

219

[52] A. Hill. The instantaneous elasticity of active muscle. In Proceedings of the Royal Society of London. Series B, volume 141, pages 161–178, 1953. [53] J. Hodgins. Three-dimensional human running. In Proceedings of the IEEE International Conference on Robotics and Automation, volume 4, page 3271, 1996. [54] J. Hodgins, J. Koechling, and M. H. Raibert. Running experiments with a planar biped. Third International Symposium on Robotics Research, G. Giralt, M. Ghallab (eds.). (MIT Press, Cambridge)., 1986. [55] J. Hodgins, W. Wooten, D. Brogan, and J. O’Brien. Animating human athletics. In Proceedings of SIGGRAPH, pages 71–78. ACM, 1995. [56] J. K. Hodgins and M. H. Raibert. Adjusting step length for rough terrain locomotion. IEEE Transactions on Robotics and Automation, 7:289–298, 1991. [57] J. M. Hollerbach. A recursive lagrangian formulation of manipulator dynamics and a comparative study of dynamics formulation complexity. IEEE Transactions on Systems, Man and Cybernetics, 10:730–736, 1980. [58] Honda-Robotics. Honda unveils all-new asimo with significant advancements, November 2011. [59] J. P. Hunter, R. N. Marshall, and P. J. McNair. External and internal forces in sprint running, chapter 25, pages 354–366. Routledge, 2008. [60] S. Kajita, O. Matsumoto, and M. Saigo. Real-time 3d walking pattern generation for a biped robot with telescopic legs. In Proceedings of the IEEE International Conference on Robotics and Automation, pages 2299–2306, 2001. [61] S. Kajita, F. Kanehiro, K. Kaneko, K. Fujiwara, K. Yokoi, and H. Hirukawa. A realtime pattern generator for biped walking. In Proceedings of the IEEE International Conference on Robotics and Automation, 2002. [62] S. Kajita, T. Nagasaki, K. Yokoi, K. Kaneko, and K. Tanie. Running pattern generation for a humanoid robot. In Proceedings of the IEEE International Conference on Robotics and Automation, pages 2755–2761, 2002. [63] S. Kajita, F. Kanehiro, K. Kaneko, K. Fujiwara, K. Harada, K. Yokoi, and H. Hirukawa. Biped walking pattern generation by using preview control of zeromoment point. In Proceedings of the IEEE International Conference on Robotics and Automation, volume 2, pages 1620–1626, Sept. 14–19, 2003. [64] S. Kajita, F. Kanehiro, K. Kaneko, K. Fujiwara, K. Harada, K. Yokoi, and H. Hirukawa. Resolved momentum control: humanoid motion planning based

220

BIBLIOGRAPHY on the linear and angular momentum. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, volume 2, pages 1644–1650, Oct. 27–31, 2003.

[65] S. Kajita, T. Nagasaki, K. Kaneko, K. Yokoi, and K. Tanie. A running controller of humanoid biped hrp-2lr. In Proceedings of the IEEE International Conference on Robotics and Automation, pages 616–622, Apr. 18–22, 2005. [66] S. Kajita, K. Kaneko, M. Morisawa, S. Nakaoka, and H. Hirohisa. Zmp-based biped running enhanced by toe springs. The IEEE International Conference on Robotics and Automation, pages 3963–3969, 2007. [67] T. Kanade, P. K. Khosia, and N. Tanaka. Real-time control of cmu direct-drive arm ii using customized inverse dynamics. The IEEE Conference on Decision and Control, pages 1345–1352, december 1984. [68] T. R. Kane. Dynamics of nonholonomic systems. ASME Journal of Applied Mechanics, 28:574–578, 1961. [69] T. R. Kane and D. A. Levinson. The use of kane’s dynamical equations in robotics. International Journal of Robotics Research, 2(3):3–21, 1983. [70] T. R. Kane and D. A. Levinson. Dynamics: Theory and Applications. McGraw-Hill Book Company, 1985. [71] T. R. Kane and C. F. Wang. On the derivation of equations of motion. Journal of the Society for Industrial and Applied Mathematics, 13(2):487–492, 1965. [72] K. Kazerounian and K. Gupta. Manipulator dynamics using the extended zero reference position description. IEEE Journal of Robotics and Automation, RA2(4):221–224, 1986. [73] W. Khalil and E. Dombre.

Modeling, Identification and Control of Robots.

Butterworth-Heinemann, 2004. [74] D. Knudson. Fundamentals of Biomechanics. Springer Science/Business Media, 2007. [75] D. Koepl and J. Hurst. Force control for planar spring-mass running. In The IEEE/RSJ International Conference on Intelligent Robots and Systems, pages 3758–3763. IEEE, 2011. [76] T. Koolen, T. De Boer, J. Rebula, A. Goswami, and J. E. Pratt. Capturabilitybased analysis and control of legged locomotion, part 1: Theory and application to three simple gait models. The International Journal of Robotics Research (to appear), 2012.

BIBLIOGRAPHY

221

[77] G. V. Korenev. Goal-directed mechanics of guided manipulators (in russian). Moscow: Nauka, 1979. [78] T. Kwon and J. Hodgins. Control systems for human running using an inverted pendulum model and a reference motion capture sequence. In Proceedings of the ACM SIGGRAPH/Eurographics Symposium on Computer Animation, pages 129– 138. Eurographics Association, 2010. [79] R. H. Lathrop. Parallelism in manipulator dynamics. The International Journal of Robotics Research, 4(2):80–102, 1985. [80] C. S. G. Lee and P. R. Chang. Efficient parallel algorithm for robot inverse dynamics computation. IEEE Transactions on Systems, Man and Cybernetics, 16: 532–542, 1986. [81] S.-H. Lee, T.-W. Park, J.-H. Seo, J.-W. Yoon, and K.-J. Jun. The development of a sliding joint for very flexible multibody dynamics using absolute nodal coordinate formulation. Multibody System Dynamics, 20:223–237, 2008. [82] L. Liu, K. Yin, M. van de Panne, and B. Guo. Terrain runner: Control, parameterization, composition, and planning for highly dynamic motions. ACM Transactions on Graphics (TOG), 31(6):154, 2012. [83] J. Luh, M. Walker, and R. Paul. Resolved-acceleration control of mechanical manipulators. IEEE Transactions on Automatic Control, 25:468–474, 1980. [84] J. Luh, M. Walker, and R. Paul. On-line computational scheme for mechanical manipulators. ASME Journal of Dynamic Systems, Measurement, and Control, 102(2):69–76, 1980. [85] I. N. Lyon and B. L. Day. Control of frontal plane body motion in human stepping. Experimental Brain Research, 115:345–356, 1997. [86] P. Malcolm. Influence of Intrinsic and Extrinsic Determinants on the Transition from Walking to Running. PhD thesis, Ghent University, 2010. [87] R. V. Mann. A kinetic analysis of sprinting. Medicine & Science in Sports & Exercise, 13:325–328, 1981. [88] O. Ma¨ısetti, F. Hug, K. Bouillard, and A. Nordez. Characterization of passive elastic properties of the human medial gastrocnemius muscle belly using supersonic shear imaging. Journal of Biomechanics, 45(6):978 – 984, 2012. [89] T. A. McMahon and G. C. Cheng. The mechanics of running: How does stiffness couple with speed? Journal of Biomechanics, 23, Supplement 1(0):65 – 78, 1990.

222

BIBLIOGRAPHY

[90] S. Megahed. Contribution ` a la mod´elisation g´eom´etrique et dynamique des robots manipulateurs ayant une structure de chaˆıne cin´ematique simple ou complexe : application ` a leur commande. Th`ese d’etat, Paul Sabatier University, 1984. [91] L. Meirovitch. Methods of Analytical Dynamics. McGraw-Hill, 1970. [92] S. Mochon and T. A. McMahon. Ballistic walking. Journal of Biomechanics, 13: 49–57, 1980. [93] J. Morin, P. Samozino, K. Zameziati, and A. Belli. Effects of altered stride frequency and contact time on leg-spring behavior in human running. Journal of Biomechanics, 40(15):3341 – 3348, 2007. [94] B. Morris, E. Westervelt, C. Chevallereau, G. Buche, and J. Grizzle. Achieving bipedal running with rabbit: Six steps toward infinity. In M. Diehl and K. Mombaur, editors, Fast Motions in Biomechanics and Robotics, volume 340 of Lecture Notes in Control and Information Sciences, pages 277–297. Springer Berlin / Heidelberg, 2006. [95] R. M. Mukherjee and K. S. Anderson. A logarithmic complexity divide-andconquer algorithm for multi-flexible articulated body dynamics. ASME Journal of Computational and Nonlinear Dynamics, 2(1):10–21, 2007. [96] K. Nagasaka, Y. Kuroki, S. Suzuki, Y. Itoh, and J. Yamaguchi. Integrated motion control for walking, jumping and running on a small bipedal entertainment robot. In Proceedings of the IEEE International Conference on Robotics and Automation, 2004. [97] J. I. Neimark and N. A. Fufaev. Dynamics of Nonholonomic Systems. Amer Mathematical Society, 1972. [98] R. Niiyama, S. Nishikawa, and Y. Kuniyoshi. Biomechanical approach to openloop bipedal running with a musculoskeletal athlete robot. Advanced Robotics, 26 (3):383–398, 2012. [99] P. E. Nikravesh. Computer-Aided Analysis of Mechanical Systems. Prentice-Hall, Englewood Cliffs, 1988. [100] T. F. Novacheck. The biomechanics of running. Gait & Posture, 7(1):77 – 95, 1998. [101] Y. Ogura, H. Aikawa, K. Shimomura, A. Morishima, H. ok Lim, and A. Takanishi. Development of a new humanoid robot wabian-2. In Proceedings of the IEEE International Conference on Robotics and Automation, pages 76–81, May 15–19, 2006.

BIBLIOGRAPHY

223

[102] D. Orin, R. McGhee, M. Vukobratovic, and G. Hartoch. Kinematic and kinetic analysis of open-chain linkages utilizing newton-euler methods. Mathematical Biosciences, 43(1-2):107 – 130, 1979. [103] S. Ounpuu. The biomechanics of walking and running. Clinics in Sports Medicine, 13(4):843–863, 1994. [104] D. Owaki, K. Osuka, and A. Ishiguro. On the embodiment that enables passive dynamic bipedal running. The IEEE International Conference on Robotics and Automation, pages 341–346, 2008. [105] D. J. Paluska. Design of a humanoid biped for walking research. Master’s thesis, Massachusetts Institute of Technology, 2000. [106] J. H. Park and K. D. Kim. Biped robot walking using gravity-compensated inverted pendulum mode and computed torque control. In Proceedings of the IEEE International Conference on Robotics and Automation, volume 4, pages 3528–3533, May 16–20, 1998. [107] F. Peuker, C. Maufroy, and A. Seyfarth. Leg-adjustment strategies for stable running in three dimensions. Bioinspiration & Biomimetics, 7(3):036002, 2012. [108] J. Pratt and B. Krupp. Design of a bipedal walking robot. In Proceedings of the SPIE, 2008. [109] J. Pratt and G. Pratt. Intuitive control of a planar bipedal walking robot. In Proceedings of the International Conference on Robotics and Automation, 1998. [110] J. Pratt, C.-M. Chew, A. Torres, P. Dilworth, and G. Pratt. Virtual model control an intuitive approach for bipedal locomotion. The International Journal of Robotics Research, 20:129–143, 2001. [111] J. Pratt, J. Carff, and S. Drakunov. Capture point: A step toward humanoid push recovery. In Proceedings of the IEEE-RAS International Conference on Humanoid Robots, pages 200–207, 2006. [112] J. Pratt, J. Godowski, I. M. C. Olaru, T. van der Ven, and S. Cotton. Fastrunner: High speed, efficient, dynamically stable bipedal robot. concept, simulation, control and initial design. In Proceedings of the Dynamic Walking, 2011. [113] J. Pratt, T. Koolen, T. De Boer, J. Rebula, S. Cotton, J. Carff, M. Johnson, and P. Neuhaus. Capturability-based analysis and control of legged locomotion, part 2: Application to m2v2, a lower-body humanoid. The International Journal of Robotics Research (to appear), 2012.

224

BIBLIOGRAPHY

[114] J. E. Pratt. Virtual model control of a biped walking robot. Master’s thesis, Massachusetts Institute of Technology, 1995. [115] J. E. Pratt. Exploiting Inherent Robustness and Natural Dynamics in the Control of Bipedal Walking Robots. PhD thesis, Massachusetts Institute of Technology, 2000. [116] J. E. Pratt and G. A. Pratt. Exploiting natural dynamics in the control of a planar bipedal walking robot. In Proceedings of the Annual Allerton Conference on Communication, Control, and Computing, 1998. [117] J. E. Pratt and G. A. Pratt. Exploiting natural dynamics in the control of a 3d bipedal walking simulation. In Proceedings of the International Conference on Climbing and Walking Robots, 1999. [118] C. A. Putnam and J. W. Kozey. Substantive issues in running. In C. L. Vaughan, editor, Biomechanics of Sport, pages 1–33. Boca Raton, Florida, CRC Press, 1989. [119] Z. Qi, Y. Xu, X. Luo, and S. Yao. Recursive formulations for multibody systems with frictional joints based on the interaction between bodies. Multibody System Dynamics, 24:133–166, 2010. [120] M. H. Raibert. Legged robots that balance. MIT Press, 1986. [121] M. H. Raibert, H. B. J. Brown, M. Chepponis, J. Koechling, J. Hodgins, D. Dustman, W. K. Brennan, D. S. Barrett, C. M. Thompson, J. D. Hebert, W. Lee, and L. Borvansky. Dynamically stable legged locomotion. Technical report, Massachussets Institute of Technology, 1990. [122] M. Renaud.

A near minimum iterative analytical procedure for obtaining a

robot-manipulator dynamic model. IUTAM/IFToMM Symposium on Dynamics of Multi-Body Systems, pages 201–212, 1985. [123] M. Renaud. Quasi-minimal computation of the dynamic model of a robot manipulator utilizing the newton-euler formalism and the notion of augmented body. In Proceedings of the IEEE International Conference on Robotics and Automation, pages 1677–1682, 1987. [124] S. Riese and A. Seyfarth. Stance leg control: variation of leg parameters supports stable hopping. Bioinspiration & Biomimetics, 7(1):016006, 2012. [125] J. Rummel, Y. Blum, and A. Seyfarth. From walking to running. In R. Dillmann, J. Beyerer, C. Stiller, J. M. Z¨ollner, and T. Gindele, editors, Autonome Mobile Systeme 2009, Informatik aktuell, pages 89–96. Springer Berlin Heidelberg, 2009.

BIBLIOGRAPHY

225

[126] J. Rummel, Y. Blum, H. M. Maus, C. Rode, and A. Seyfarth. Stable and robust walking with compliant legs. The IEEE Conference on Robotics and Automation, pages 5250–5255, 2010. [127] Y. Sakagami, R. Watanabe, C. Aoyama, S. Matsunaga, N. Higaki, and K. Fujimura. The intelligent asimo: system overview and integration. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and System, volume 3, pages 2478–2483, Sept. 30–Oct. 5, 2002. [128] U. Saranli, m. Arslan, M. Ankarali, and m. Morg¨ ul. Approximate analytic solutions to non-symmetric stance trajectories of the passive spring-loaded inverted pendulum with damping. Nonlinear Dynamics, 62:729–742, 2010. [129] M. Schmidt and H. Lipson. Distilling free-form natural laws from experimental data. Science, 324(5923):81–85, 2009. [130] G. Schultz and K. Mombaur. Modeling and optimal control of human-like running. IEEE/ASME Transactions on Mechatronics, 15:783–792, 2010. [131] A. A. Shabana. Flexible multibody dynamics: Review of past and recent developments. Multibody System Dynamics, 1:189–222, 1997. [132] A. A. Shabana. Dynamics of Multibody Systems - 3rd Edition. Cambridge University Press, 2005. [133] K. Sreenath, H.-W. Park, and J. W. Grizzle. Embedding active force control within the compliant hybrid zero dynamics to achieve stable, fast running on mabel. The International Journal of Robotics Research, 2011. submitted. [134] K. Sreenath, H. Park, and J. Grizzle. Design and experimental implementation of a compliant hybrid zero dynamics controller with active force control for running on mabel. In The IEEE International Conference on Robotics and Automation, pages 51–56. IEEE, 2012. [135] Y. Stepanenko and M. Vukobratovic. Dynamics of articulated open-chain active mechanisms. Mathematical Biosciences, 28(1-2):137 – 170, 1976. [136] B. Stephens. Push Recovery Control for Force-Controlled Humanoid Robots. PhD thesis, Carnegie Mellon University, 2011. [137] S. Stramigioli, V. Duindam, G. van Oort, and A. Goswami. Compact analysis of 3d bipedal gait using geometric dynamics of simplified models. The IEEE International Conference on Robotics and Automation, pages 1978–1984, 2009.

226

BIBLIOGRAPHY

[138] L. Sung-hee and A. Goswami. Reaction mass pendulum (rmp): An explicit model for centroidal angular momentum of humanoid robots. In Proceedings of the IEEE International Conference on Robotics and Automation, pages 4667–4672, 2007. [139] R. Tajima, D. Honda, and K. Suga. Fast running experiments involving a humanoid robot. The IEEE International Conference on Robotics and Automation, pages 1571–1576, 2009. [140] A. Takanishi, M. Tochizawa, H. Karaki, and I. Kato. Dynamic biped walking stabilized with optimal trunk and waist motion. In Proceedings of the IEEE/RSJ International Workshop on Intelligent Robots and Systems, pages 187–192, 1989. [141] T. Takenaka, T. Matsumoto, T. Yoshiike, T. Hasegawa, S. Shirokura, H. Kaneko, and A. Orita. Real time motion generation and control for biped robot -4th report: Integrated balance control-. The IEEE/RSJ International Conference on Intelligent Robots and Systems, pages 1601–1608, 2009. [142] T. Takenaka, T. Matsumoto, T. Yoshiike, and S. Shirokura. Real time motion generation and control for biped robot -2nd report: Running gait pattern generation-. The IEEE/RSJ International Conference on Intelligent Robots and Systems, pages 1092–1099, 2009. [143] F. E. Udwadia and R. E. Kalaba. Analytical Dynamics: A New Approach. Cambridge University Press, 1996. [144] F. E. Udwadia and R. E. Kalaba. Equations of motion for constrained mechanical systems and the extended d’alembert’s principle. Quaterly of Applied Mathematics, 55(2):321–331, 1997. [145] F. E. Udwadia and R. E. Kalaba. What is the general form of the explicit equations of motion for constrained mechanical systems? ASME Journal of Applied Mechanics, 69(3):335–339, 2002. [146] M. Valasek, Z. Sika, and O. Vaculin. Multibody formalism for real-time application using natural coordinates and modified state space. Multibody System Dynamics, 17:209–227, 2007. [147] T. Vampola and M. Valasek. Composite rigid body formalism for flexible multibody systems. Multibody System Dynamics, 18:413–433, 2007. [148] M. Vukobratovic and B. Borovac. Zero-moment point - thirty five years of its life. International Journal of Humanoid Robotics, 1:157–173, 2004. [149] M. Vukobratovic and D. Juricic. Contribution to the synthesis of biped gait. IEEE Transactions on Biomedical Engineering, 16:1–6, 1969.

BIBLIOGRAPHY

227

[150] M. Vukobratovi´c and N. Kir´canski. Scientific Fundamentals of Robotics 4: RealTime Dynamics of Manipulation Robots. Springer-Verlag New York, Inc., Secaucus, NJ, USA, 1985. [151] J. Wang, S. Hamner, S. Delp, and V. Koltun. Optimizing locomotion controllers using biologically-based actuators and objectives. ACM Transactions on Graphics, 31(4):25, 2012. [152] E. Westervelt, J. Grizzle, and D. E. Koditschek. Hybrid zero dynamics of planar biped walkers. Transactions on Automatic Control, 48:42–56, 2003. [153] K. Williams. The Dynamics of Running, chapter 8, pages 161–183. Blackwell Science Ltd, 2008. [154] B. D. Wit, D. D. Clercq, and P. Aerts. Biomechanical analysis of the stance phase during barefoot and shod running. Journal of Biomechanics, 33(3):269 – 278, 2000. [155] A. Wu and H. Geyer. Spring-mass model reveals a time-based deadbeat control for highly robust running and steering in uncertain environments. Transactions on Robotics. submitted to. [156] A. Wu and H. Geyer. Deadbeat running and steering in 3d environments. Dynamic Walking Conference, 2012. [157] K. Yin, K. Loken, and M. van de Panne. Simbicon: simple biped locomotion control. In Proceedings of SIGGRAPH, volume 26, page 105, New York, NY, USA, 2007. ACM. [158] K. Yokoi, F. Kanehiro, K. Kaneko, K. Fujiwara, S. Kajita, and H. Hirohisa. A honda humanoid robot controlled by aist software. Proceedings of the IEEE/RAS International Conference on Humanoid Robots, pages 259–264, 2001. [159] W.-H. Zhu, J.-C. Piedboeuf, and Y. Gonthier. A dynamics formulation of general constrained robots. Multibody System Dynamics, 16:37–54, 2006.

Suggest Documents