modular framework for dynamic modeling and...

288
MODULAR FRAMEWORK FOR DYNAMIC MODELING AND ANALYSES OF TREE-TYPE ROBOTIC SYSTEMS SURIL VIJAYKUMAR SHAH DEPARTMENT OF MECHANICAL ENGINEERING INDIAN INSTITUTE OF TECHNOLOGY DELHI MAY 2011

Upload: others

Post on 19-Jun-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

MODULAR FRAMEWORK FOR DYNAMIC MODELING

AND ANALYSES OF TREE-TYPE ROBOTIC SYSTEMS

SURIL VIJAYKUMAR SHAH

DEPARTMENT OF MECHANICAL ENGINEERING

INDIAN INSTITUTE OF TECHNOLOGY DELHI

MAY 2011

Page 2: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

© Indian Institute of Technology Delhi (IITD), New Delhi, 2011

Page 3: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

MODULAR FRAMEWORK FOR DYNAMIC MODELING

AND ANALYSES OF TREE-TYPE ROBOTIC SYSTEMS

by

SURIL VIJAYKUMAR SHAH

Department of Mechanical Engineering

Submitted

in partial fulfillment of the requirements for the degree of

DOCTOR OF PHILOSOPHY

to the

INDIAN INSTITUTE OF TECHNOLOGY DELHI

HAUZ KHAS, NEW DELHI-110016

MAY 2011

Page 4: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for
Page 5: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

CERTIFICATE

This is to certify that the thesis entitled Modular Framework for Dynamic

Modeling and Analyses of Tree-Type Robotic Systems being submitted by Mr. Suril

Vijaykumar Shah to the Indian Institute of Technology Delhi for the award of the degree

of Doctor of Philosophy is a bonafide record of original research work carried out by

him under our supervisions in conformity with rules and regulations of the institute.

The results contained in this thesis have not been submitted, in part or in full, to

any other University or Institute for the award of any Degree or Diploma.

Dr. S. K Saha Dr. J. K. Dutt

Professor Professor

Department of Mechanical Engineering

Indian Institute of Technology Delhi

New Delhi-110016, India

i

Page 6: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

ii

Page 7: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Dedicated to my

Parents

who have always been my source of inspiration, guidance and encouragement,

and my gratitude for whom can never be put in words

iii

Page 8: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

iv

Page 9: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

ACKNOWLEDGEMENTS

When I look back at my PhD years it amazed me and at the same time I am thankful

for all I have received throughout these years. This period has shaped me as a person and

has steered me to where I am now.

I would like to express my deep and sincere gratitude to my supervisor, Professor

Subir Kumar Saha, for his invaluable guidance and support. He has always encouraged

me to work intensively, even when I was thinking about doing something else. He has

enlightened me through his wide knowledge of multibody dynamics and his deep

intuitions about where it should go. His knowledge and logical way of thinking has been

of great value for me. Without his encouragement and constant guidance, realization of

this thesis would have not been possible. I am deeply grateful to my co-supervisor,

Professor Jayanta Kumar Dutt for his continued encouragement and invaluable

suggestions during this work. All the discussions with him have always motivated me to

do better in my work. He showed me different ways to approach a research problem and

the need to be persistent to accomplish any goal. Besides my supervisors, I would like to

thank the rest of the Student Research Committee (SRC): Prof. K. Gupta, Prof S.

Mukherjee and Prof. I. N. Kar, for their insightful comments and suggestions.

Far too many people to mention individually have assisted in so many ways

during my work at IIT Delhi. They all have my sincere gratitude. In particular, I would

like to thank Mr. D. Jaitly and Mr. Diwan Singh, the technical staff, and Dr. Ali

Rahamani, Dr. Ashish Mohan, Dr. Himanshu Chaudhry, Dr. Naresh Kamble, Mr. Rajeev,

Mr. Majid, Mr. Vinay, Mr. Arun, Mr. Rajkumar, Mr. Mangal, Mr. Vineet, Mr. Amit and

v

Page 10: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

vi

Mr. Mukesh, all currently or previously stayed for their research work or project in the

Mechatronics Laboratory of IIT Delhi. I would also like to thank fellow Ph.D. students

and friends Mr. Dhaval, Mr. Kaushal and Mr. Mitesh for the time we spent together after

the laboratory hours. My thanks are also due to all the office staff of the department for

their kind support and co-operation.

I am also greatly indebted to my teachers in the past. I greatly appreciate the

guidance of Mr. Bhavesh Mistry during my master's thesis. He instigated research ability

in me and motivated me to pursue Ph. D.

I am thankful to all my family members and friends for helping me in innumerable

ways. Specially, I thank my brother Sohil for his constant encouragement throughout this

period and taking all my duties in my absence. Penultimate thanks go to my wonderful

parents, for always being there when I needed them most, and never complaining about

how infrequently I visited them. They deserve far more credit than I can ever give them.

My final and most heartfelt acknowledgment goes to my wife Kruti. Her support,

encouragement, and companionship have turned my journey through IIT into a pleasure.

Suril Vijaykumar Shah

Department of Mechanical Engineering

Indian Institute of Technology Delhi

Page 11: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

ABSTRACT

Robots have evolved since the birth of first industrial robot in 1961. Rapid

industrialization, automation, rate of production and maximizing human comfort in the

modern times have necessitated various multifaceted applications of robots, which are

required to perform complex tasks. As a result, multiple-chain tree-type robotic systems

such as multi-fingered robotic arms, legged vehicles, humanoid robots, etc. have

emerged. Successful as well as fast operation of such robots calls for systematic, efficient,

and as far as possible generic computational framework to predict dynamic behavior. The

framework should be useful in robot operation, trajectory planning, simulation and

control. Driven by this motivation, an attempt has been made in this work to develop a

modular framework for dynamic modeling and analysis of tree-type robotic systems.

After a detailed survey of relevant literature, modular framework for predicting the

dynamic behavior of tree-type robotic systems has been proposed with the help of a

generic extension of the concept of the Decoupled Natural Orthogonal Complement

(DeNOC) matrices, introduced elsewhere. The DeNOC matrices offer quite a few

advantages, e.g., analytical expressions of the elements of the vectors and matrices that

appear in the dynamic equations of motion, decomposition of the inertia matrix giving

deeper insight into the associated dynamics, unified development of recursive inverse and

forward dynamics algorithms, etc.

Robots having general tree-type architectures have been considered first. The concept of

kinematic modules, where each module is essentially a serial-chain system, has been

introduced. Macroscopically, module may be viewed similar to a link in the serial chain

system. Next, module-level DeNOC matrices are obtained by following the recursive

relationships between any two adjoining modules. This generalizes and encapsulates the

concept of the DeNOC matrices, originally proposed for the serial-chain systems. The

constrained equations of motion are then obtained by using the module-level DeNOC

matrices or simply module-DeNOC matrices. Modular framework offers many

advantages, as it makes the kinematic as well as dynamic representation compact, allows

vii

Page 12: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

module-level expression of various entities, and enables repeated use of module-level

computations.

It is worth mentioning that, while deriving the DeNOC matrices for coupled links, a

significant contribution is made in modeling of multiple-degrees-of-freedom (multiple-

DOF) joints. For example, a spherical joint has been modeled as a combination of three

intersecting revolute joints such that it characterizes different variations of the Euler angle

representation. Hence, a novel concept of Euler-Angle-Joints (EAJs) is introduced to

represent a spherical joint and subsequently for unified representation of multiple-DOF

joints that commonly appear in spatial systems.

Another important contribution of this work is contained in the analytical decomposition

of the Generalized Inertia Matrix (GIM) of a tree-type robotic system. Following the

DeNOC-based approach, it is possible to obtain module-level analytical expression of the

GIM, which is used for module-level decomposition of the GIM in the form UDUT ,

where U and D are the block upper-triangular and diagonal matrices, respectively. The

decomposition allows analytical inversion of the GIM. The analytical inversion provides

recursive forward dynamics algorithm, an insight into the associated dynamics, and can

be helpful in predicting any inconsistency in the dynamic behavior of a robot.

Empowered with the previous advantages, studies of dynamic behavior of fixed-base as

well as floating-base robotic systems have been taken up. Initially, motion and force

analyses of several fixed-base tree-type systems, e.g., a robotic gripper, biped, and hyper-

degrees-of-freedom (hyper-DOF) system, are reported. This is followed by the approach

where the legged robots are modeled as a floating-base with several branches (limbs or

legs) emanating from the floating-base. Such approach provides more realistic modeling

of the legged robots. In order to show the effectiveness of the modeling approach, legged

robots are simulated under model-based control laws (e.g., computed-torque and

feedforward). Computational complexities in terms of operation counts and CPU times

are also reported to show that the proposed methodology performs much better than many

commonly used methodologies, reported in literature. The efficacy of the approach

increases with the complexity, primarily with total number of links and number of

multiple-DOF joints in the system.

viii

Page 13: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

ix

CONTENTS

Certificate i

Acknowledgements v

Abstract vii

Contents ix

List of Figures xv

List of Tables xix

List of Symbols and Abbreviations xxi

Chapter 1 1

INTRODUCTION 1

1.1 Motivation 1

1.2 Tree-type Robotic Systems 2

1.3 Dynamics 4

1.4 Important Contributions 5

1.5 Thesis Organization 7

Chapter 2 11

BACKGROUND AND LITERATURE SURVEY 11

2.1 Robotic Systems 11

2.1.1 Serial robots 12

2.1.2 Tree-type robotic hand 13

2.1.3 Legged robots 14

2.2 Representations of Rotations 17

2.2.1 Denavit-Hartenberg parameters 17

2.2.2 Euler-Angle-Joints 18

2.3 Dynamic Modeling 18

2.3.1 Equations of motion 19

2.3.2 Orthogonal complements 20

Page 14: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

x

2.3.3 Other formulations 22

2.3.4 Open vs. closed chains 22

2.3.5 Dynamics of legged robots 23

2.4 Robot Dynamics Algorithms 24

2.4.1 Model-based control 25

2.4.2 Recursive algorithms 26

2.4.3 Inverse dynamics 27

2.4.4 Forward dynamics 28

2.4.4.1 Implicit inversion 28

2.4.4.2 Other forward dynamics algorithms 30

2.5 Concluding Remarks 30

2.6 Research Objectives 32

2.7 Summary 32

Chapter 3 35

EULER-ANGLE-JOINTS (EAJs) 35

3.1 Euler Angles 36

3.2 Denavit-Hartenberg (DH) Parameters 38

3.3 Euler-Angle-Joints (EAJs) 41

3.3.1 DH parameterization of Euler angles 41

3.3.2 Elementary rotations 43

3.3.3 Composite rotations 45

3.4 Euler Angles Using Euler-Angle-Joints (EAJs) 47

3.4.1 ZYZ-EAJs 47

3.4.2 ZXZ-EAJs 51

3.4.3 ZXY-EAJs 52

3.4.4 XYX-EAJs 55

3.4.5 Other-EAJs 59

3.5 Representation of a Spherical Joint in a Robotic System Using EAJs 63

3.6 Singularity in EAJs 64

3.7 Multiple-DOF Joints 65

3.8 Summary 66

Page 15: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

xi

Chapter 4 67

KINEMATICS OF TREE-TYPE ROBOTIC SYSTEMS 67

4.1 Kinematic Modules 67

4.2 Intra-Modular Velocity Constraints 70

4.2.1 Presence of multiple-DOF joints 73

4.2.2 An illustration: A spatial double pendulum 76

4.3 Inter-Modular Velocity Constraints 77

4.4 Examples 81

4.4.1 A robotic gripper 81

4.4.2 A planar biped 83

4.4.3 A spatial biped 84

4.5 Summary 86

Chapter 5 87

DYNAMICS OF TREE-TYPE ROBOTIC SYSTEMS 87

5.1 Dynamic Formulation Using the DeNOC Matrices 87

5.1.1 NE equations of motion for a module 87

5.1.2 NE equations of motion for a tree-type system 90

5.1.3 Minimal-order equations of motion 91

5.1.4 Wrench due to external force, F

w 92

5.2 Generalized Inertia Matrix (GIM) 93

5.3 Module-level Decomposition of the GIM 95

5.4 Inverse of the GIM 100

5.5 Examples 102

5.5.1 A robotic gripper 102

5.5.2 A biped 104

5.6 Advantages of Modular Framework 105

5.7 Summary 106

Chapter 6 109

RECURSIVE DYNAMICS FOR FIXED-BASE ROBOTIC SYSTEMS 109

6.1 Recursive Dynamics 109

6.1.1 Inverse dynamics 110

Page 16: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

xii

6.1.2 Forward dynamics 114

6.2 Applications 118

6.2.1 Robotic gripper 118

6.2.2 A biped 123

6.2.3 Hyper-DOF systems 130

6.3 Computational Complexity 132

6.4 Summary 136

Chapter 7 137

RECURSIVE DYNAMICS FOR FLOATING-BASE LEGGED ROBOTS 137

7.1 Recursive Dynamics 139

7.1.1 Inverse dynamics 140

7.1.2 Forward dynamics 146

7.2 Biped 151

7.2.1 A planar biped 152

7.2.2 Spatial biped 157

7.3 Quadruped 164

7.4 Hexapod 169

7.5 Computational Efficiency 173

7.6 Summary 177

Chapter 8 179

SIMULATION OF CONTROLLED LEGGED ROBOTS 179

8.1 Model-based Control 179

8.1.1 Computed-torque control 180

8.1.2 Feedforward control 183

8.2 Biped 184

8.2.1 Planar biped 185

8.2.1.1 Computed-torque control 185

8.2.1.2 Feedforward control 186

8.2.2 Spatial biped 188

8.3 Quadruped 189

8.4 Hexapod 191

8.5 Summary 193

Page 17: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

xiii

Chapter 9 195

CONCLUSIONS AND FUTURE WORK 195

9.1 Scope of future work 198

References 199

Appendix A. CLOSED-LOOP SYSTEM 213

Appendix B. COMPUTATIONAL COMPLEXITY 221

Appendix C. TRAJECTORY GENERATION OF LEGGED ROBOT 241

Appendix D. ENERGY BALANCE 249

Appendix D. FOOT-GROUND INTERACTION 253

Publications out of this Work 259

Brief Bio-Data of the Author 261

Page 18: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

xiv

Page 19: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

xv

LIST OF FIGURES

Fig. 1.1 Examples of tree-type robotic systems 3

Fig. 2.1 Robotic systems 12

Fig. 2.2 Industrial robots 12

Fig. 2.3 Robotic hands 14

Fig. 2.4 Legged robots 15

Fig. 2.5 Inverse and forward dynamics 24

Fig. 2.6 Model-based control laws 25

Fig. 3.1 ZYZ Euler angles 37

Fig. 3.2 Frame convention for modified Denavit and Hartenberg (DH) parameters 39

Fig. 3.3 A spherical represented by three intersecting revolute joints 42

Fig. 3.4 Rotation about Z axis denoted as QZ( ) 43

Fig. 3.5 Rotation about Y axis 44

Fig. 3.6 Rotation about X axis 44

Fig. 3.7 Equivalent transformation 45

Fig. 3.8 Representation of DH frames for ZYZ EAJs 49

Fig. 3.9 Representation of DH frames for ZXZ EAJs 51

Fig. 3.10 Representation of DH frames for ZXY EAJs 53

Fig. 3.11 Representation of DH frames for XYX EAJs 57

Fig. 3.12 Representation of a spherical joint by using YXZ EAJs 64

Fig. 3.13 EAJs and singularity 65

Fig. 4.1 Tree-type architectures 68

Fig. 4.2 Different module architectures for the tree-type system in Fig 4.1(a) 68

Fig. 4.3 The kth

and (k-1)th

links coupled by joint k 70

Fig. 4.4 Representation of multiple-DOF joints 74

Fig. 4.5 A spatial double pendulum 76

Fig. 4.6 Module Mi and its parent M 77

Fig. 4.7 Definition of i 80

Page 20: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

xvi

Fig. 4.8 A robotic gripper and its modularization 82

Fig. 4.9 A planar biped and its modularization 83

Fig. 4.10 A spatial biped and its modularization 84

Fig. 5.1 Motion of the link ki of module Mi 88

Fig. 5.2 External forces and moments on link #k 92

Fig. 5.3 The ith

composite module 94

Fig. 6.1 A robotic gripper and it modularization 119

Fig. 6.2 Joint torques for robotic gripper 122

Fig. 6.3 Simulated joint angles for robotic gripper 123

Fig. 6.4 Convergence of joint angle 11 123

Fig. 6.5 A 7-link biped and its module architecture 124

Fig. 6.6 Designed trajectories of the trunk COM and ankle of the spatial biped 125

Fig. 6.7 Joint trajectories of the spatial biped obtained from trunk and ankle trajectories

by using inverse kinematics relationships 126

Fig. 6.8 Torque requirement at joints of the biped 127

Fig. 6.9 Simulated joint angles for the biped 128

Fig. 6.10 Energy balance for the biped 129

Fig. 6.11 A hyper-DOF multibody system 130

Fig. 6.12 Simulation of 2.5m chain with 400 DOF (2 Sec) 131

Fig. 6.13 Energy balance for the long chain 132

Fig. 6.14 Performance of the proposed inverse dynamics algorithm for a system with

multiple-DOF joints 134

Fig. 6.15 Performance of the proposed forward dynamics algorithm for a system with

multiple-DOF joints 135

Fig. 6.16 Comparison of CPU time for hyper-systems (number of steps= 9×105) 136

Fig. 7.1 A 7-link planar biped 152

Fig. 7.2 Designed trajectories of the trunk COM and ankle of the planar biped 154

Fig. 7.3 Joint trajectories of the planar biped obtained from trunk and ankle trajectories by

using inverse kinematics relationships 154

Fig. 7.4 Motions of trunk (Floating-base) of the planar biped 155

Fig. 7.5 Joint torques at different joints of the planar biped 155

Fig. 7.6 Horizontal Reaction (HR) and Vertical Reaction (VR) on the feet of the planar

biped 156

Page 21: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

xvii

Fig. 7.7 Simulated motions of trunk of the planar biped 156

Fig. 7.8 Simulated joint motions of the planar biped 157

Fig. 7.9 A spatial biped and its modularization 158

Fig. 7.10 Designed trajectories of the trunk COM and ankle of the spatial biped 158

Fig. 7.11 Joint trajectories of the spatial biped obtained from trunk and ankle trajectories

by using inverse kinematics relationships 159

Fig. 7.12 Motions of trunk of the spatial biped 160

Fig. 7.14 Simulated motions of trunk of the spatial biped 162

Fig. 7.15 Simulated joint motions of the spatial biped 163

Fig. 7.16 A quadruped and its modularization 165

Fig. 7.17 Designed trajectories of the trunk COM and ankle of the quadruped 165

Fig. 7.18 Joint trajectories of the quadruped obtained from trunk and ankle trajectories by

using inverse kinematics relationships 166

Fig. 7.19 Motions of trunk of the quadruped 167

Fig. 7.20 Joint torques at different joints of the quadruped 167

Fig. 7.21 Simulated motions of trunk of the quadruped 168

Fig. 7.22 Simulated joint motions of the quadruped 168

Fig. 7.23 A hexapod and its modularization 169

Fig. 7.24 Designed trajectories of the trunk COM and ankle of the hexapod 170

Fig. 7.25 Joint trajectories of the hexapod obtained from trunk and ankle trajectories by

using inverse kinematics relationships 170

Fig. 7.26 Motions of trunk of the hexapod 171

Fig. 7.27 Joint torque at different joints of the hexapod 172

Fig. 7.28 Simulated motions of trunk of the hexapod 172

Fig. 7.29 Simulated joint motions of the hexapod 173

Fig. 7.30 Performance of the proposed inverse dynamics algorithm for a system with

multiple-DOF joints 175

Fig. 7.31 Performance of the proposed forward dynamics algorithm for a system with

multiple-DOF joints 176

Fig. 8.1 Computed-torque control scheme 182

Fig. 8.2 Feedforward control scheme 184

Fig. 8.3 Simulated motion of trunk of the planar biped under computed-torque control 185

Fig. 8.4 Simulated joint motions of the planar biped under computed-torque control 186

Fig. 8.5 Simulated motion of trunk of the planar biped under feedforward control 187

Page 22: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

xviii

Fig. 8.6 Simulated joint motions of the planar biped under feedforward control 187

Fig. 8.7 Simulated motion of trunk of the spatial biped under control 188

Fig. 8.8 Simulated joint motions of the spatial biped under control 189

Fig. 8.9 Simulated motion of trunk of the quadruped under control 190

Fig. 8.10 Simulated joint motions of the quadruped under control 191

Fig. 8.11 Simulated motion of trunk of the hexapod under control 192

Fig. 8.12 Simulated joint motions of the hexapod under control 192

Fig. A.1 A robotic leg 214

Fig. A.2 A carpet scrapping mechanism 214

Fig. A.3 Graph representation of the robotic leg 215

Fig. A.4 Tree-type representation of robotic leg 215

Fig. A.5 Module architecture of the robotic leg 215

Fig. A.6 Torque require at joint 11 218

Fig. A.7 Simulated joint angle (Input link) 219

Fig. A.8 Error in joint angle 219

Fig. C. 1 Zero-Moment-Point 241

Fig. C. 2 Parameters of biped 242

Fig. C.3 Inverted-Pendulum-Model 243

Fig. C.4 Parameters of ankle trajectories 245

Fig. C.5 Joint motions of a biped 246

Fig. C.6 Geometry of a biped to determine the joint motions 247

Fig. D.1 Energy balance for planar biped 251

Fig. D.2 Energy balance for spatial biped 251

Fig. D.3 Energy balance for quadruped 252

Fig. D.4 Energy balance for hexapod 252

Fig. E.1 Firm ground model 254

Fig. E.2 Dusty ground model 256

Fig. E.3. Different types of foot contact 257

Page 23: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

xix

LIST OF TABLES

Table 3.1 Rotation matrices using Euler Angles 38

Table 3.2 DH parameters for ZYZ EAJs 48

Table 3.3 DH parameter for ZXZ EAJs 51

Table 3.4 DH parameters for ZXY EAJs 53

Table 3.5 DH parameters for XYX EAJs 57

Table 3.6 Euler-Angle-Joints 60

Table 3.7 Required constant matrix multiplication/Additional set of DH parameter for the

EAJs 63

Table 6.1 Recursive O(n) inverse dynamics algorithm for fixed-base robotic systems 113

Table 6.2 Recursive O(n) forward dynamics algorithm for fixed-base robotic systems 118

Table 6.3 Steps of inverse dynamics for robotic gripper 119

Table 6.4 Steps of forward dynamics for robotic gripper 120

Table 6.5 Joint motions for robotic gripper 121

Table 6.6 Model parameters for the biped 125

Table 6.7 Computational complexity of the recursive O(n) inverse dynamics algorithm for

fixed-base systems 132

Table 6.8 Computational complexity of the recursive O(n) forward dynamics algorithm

for fixed-base systems 133

Table 7.1 Recursive O(n) inverse dynamics algorithm for floating-base robotic systems

145

Table 7.2 Recursive O(n) forward dynamics algorithm for floating-base robotic systems

150

Table 7.3 Computational complexity of the recursive O(n) inverse dynamics algorithm for

floating-base systems 174

Table 7.4 Computational complexity of the recursive O(n) forward dynamics algorithm

for floating-base systems 174

Table A.1: Model parameters of the robotic leg 218

Page 24: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

xx

Table B.1 Computational count for recursive inverse dynamics of fixed-base system 235

Table B.2 Computational count for recursive forward dynamics of fixed-base system 236

Table B.3 Summary of computational count for the kth

link 237

Table B.4 Computational count for recursive inverse dynamics of floating-base system

238

Table B.5 Computational count for recursive forward dynamics of the floating-base

system 239

Table B.6 Summary of computational count for the kth

link 240

Table C.1 Trajectory parameters for biped 246

Table C.2 Trajectory parameter for legged robots 248

Page 25: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

LIST OF SYMBOLS AND ABBREVIATIONS

The important symbols and abbreviations are listed here in alphabetical order. Notational

rules followed in this thesis are as follows:

Matrices are in boldface upper-case letters.

Column matrices, algebraic vectors and arrays are in boldface lower-case letters.

Scalars are in light face letters.

Identification of an item (link or module, etc.) using italics lower or upper case.

A ‘ ’ over an entity signifies that it is associated with a kinematic module or simply

module of the tree-type systems under study.

Latin letters

A 6(n+ 0)×6(n+ 0) matrix for a module

Ak,k-1, ,Ai h 6×6 link-twist propagation matrix from (k-1)th

link to kth

link, and 6ni×6n

h

module-twist propagation matrix from hth

module to ith

module

, ,

ˆˆ ,A Ak j i h 6×6 articulated link-twist propagation matrix, and 6n

i×6n

h articulated

module-twist propagation matrix

1, 1,,k k k ka a 1 3-dimensional position vector of the origin of the kth

link from the origin

of (k-1)th

link, and the 3×3 cross-product tensor associated with vector

1,k ka

ak, ka Link length, i.e., one of the Denavit-Hartenberg (DH) parameter, and 3-

dimensional vector associated with ak

Bk , B i , B Elementary upper triangular matrix (EUTM), Elementary block upper

triangular matrix (EBUTM), and block upper triangular matrix

bk, kb Joint offset (DH parameter) and 3-dimensional vector associated with bk

C (n+n0)×(n+n0) Matrix of Convective Inertia (MCI) terms

D, D (n+n0)×(n+n0) diagonal matrix, and (n+n0)×(n+n0) module-level block

diagonal matrix

dk, kd 1 3-dimensonal vector from the origin of the k

th link to its center-of-mass,

and the 3× 3 cross-product tensor associated with vector dk

xxi

Page 26: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Ek , Ei , E Coupling matrices for kth

link, ith

module, and generalized coupling

matrix. Their sizes are 6×6, 6ni×6n

i and 6(n+ 0)×6(n+ 0), respectively

ek 3-dimensional unit vector parallel to the axis of rotation or translation

Fk kth

Frame

fk 3-dimensional vector of force applied at Ok

g 3-dimensional vector of gravitational acceleration

hk, hi Scalar generalized force due to Coriolis, centrifugal, gravity, and external

forces and moments terms, and ni-dimensional vector of hk terms for the

ith

module

h Generalized vector of forces due to Coriolis, centrifugal, gravity, and

external forces and moments terms

kh , hi Scalar, and n

i-dimensional vector

I, Ii,j (n+n0)×(n+n0) Generalized Inertia Matrix (GIM), and (i,j)th

block

element of I whose size is ni×n

j

Ik 3×3 inertia tensor of the kth

link

ˆIi n

i×n

i inertia matrix of the i

th articulated module

Kp, Kd Matrices of proportional and derivative gains

kp, kd Proportional and derivative gains (scalars)

ki k

th link of the i

th module (scalar)

mk Mass of the kth

link

ˆkm Mass moment of inertia of articulated body k

Mi ith

module

Mk , M i , M Mass matrices of kth

link, ith

module, and generalized mass matrix. Their

sizes are 6×6, 6ni×6n

i, and 6(n+ 0)×6(n+ 0), respectively.

ˆ, M Mk k 6×6 mass matrices of kth

composite- and articulated-body, respectively

ˆ, M Mi i

6ni×6n

i mass matrices of i

th composite- and articulated-module,

respectively

N 6(n+ 0)×(n+n0) Natural Orthogonal Complement (NOC) matrix

Ni 6ni×n

i module-joint-rate propagation matrix associated with i

th module

Nl, Nd 6(n+ 0)×6(n+ 0) and 6(n+ 0)×(n+n0) link-level Decoupled Natural

Orthogonal Complement (DeNOC) matrices

xxii

Page 27: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

,N Nl dd 6(n+ 0)×6(n+ 0) and 6(n+ 0)×(n+n0) module-level DeNOC matrices

ni , n Total number of joint variables in the i

th module and total number of joint

variables in all the modules excluding the base module.

n0 DOF of the base of robotic systems. n0 =0 for fixed-base and n0 =6 for

floating-base

n1, n2, n3 Total number of joint variables associated with 1-, 2-, 3-DOF joints,

respectively

nk 3-dimensional vector of moments applied at Ok

Ok Origin of kth

link

ok 3-dimensional linear velocity vector of the origin of the kth

link

k 6 k× k joint-motion-propagation matrix when kth

joint has multiple-DOF

pk 6-dimensional joint-motion propagation vector of the kth

joint

q, , q q (n+n0)-dimensional vectors of generalized independent coordinates, its

time rate and acceleration, respectively

0q 6-dimensional independent coordinates of the floating-base

Qk , Q kth

elementary rotation matrix, and overall rotation matrix

rk 3-dimensonal vector from the center-of-mass of the kth

link to the origin

of (k+1)th

link

s Total number of modules (excluding base module) in a tree-type system

sk,j, ,k js 1 3-dimensonal vector from the origin of k

th link to the j

th point of

application of external force, and 3×3 cross-product tensor associated

with sk,j

Sk,j 6×6 matrix associated with vector ,k js

Tk 4×4 kth

homogeneous transformation matrix

tk, tk6-dimesional vectors of twist, and twist-rate

,i it t 6ni-dimesional vectors of module-twist, and module-twist-rate

U, U (n+n0)×(n+n0) upper-triangular matrix, (n+n0)×(n+n0) module-level

block upper-triangular matrix

,Ui j Block upper triangular matrix

,U Vi i (n+n0)×n

i matrices

wE

, wC

, wD 6(n+ 0)-dimensional generalized wrenches due to external, constraint,

xxiii

Page 28: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

and driving moments and forces, respectively

wk , wi , w 6-dimesional vector of wrench for the kth

link, 6ni-dimesional vector of

wrench for the ith

module, and 6(n+ 0)-dimensional vector of generalized

wrench

* *, ,k iw w w*

Inertia wrench for kth

link, ith

module, and generalized inertia wrench.

Their sizes are 6-, 6ni-, and 6(n+ 0)-dimensional, respectively

0 Vector of zeros or null vector. Its size is compatible to the dimensions of

the matrices and vectors where it appears

O Matrix of zeros or null matrix with size compatible to the dimensions of

the matrices where it appears

O’s All other block elements are null matrices. Their size are compatible to

the matrices where it appears

1 Identity matrix of size compatible to the dimensions of the matrices

where it appears

,1 1i i ni×n

i and 6n

i×6n

i identity matrices

Greek letters

k twist angle (DH parameter)

, i or (i) Parent, and parent of i

i Array of all the module upstream from as well as including the module i

k Number of joint variables associated with kth

joint

, k k 6-dimensional vectors

, i i 6ni-dimensional vectors

i Total number of links in the i

th module

0 0=0 for fixed-base and 0=1 for floating-base

i n

i-dimensional joint-rate of the i

th module and n-dimensional vector of

joint rates

k, k Joint angle and joint rate of kth

joint

, i i 6n

i×n

i matrices

,k k 6-dimensional vectors

, 1k k 6 k×6 k-1 twist-propagation matrix when k

th joint has multiple-DOF

xxiv

Page 29: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

, i i 6ni-dimensional vectors

, k k 6-dimensional vectors

i or (i) Array of children of i

k, i , Torque at kth

joint, ni-dimensional vector of joint torques for i

th module,

and (n+n0)-dimensional vector of generalized forces and torques

(n+n0)-dimensional generalized vector of non-inertial forces

,k i 6×6 matrix of kth

articulated body transformation and 6ni×6n

i matrix of i

th

articulated module transformation

k, i Scalar generalized force due to of non-inertial forces, and ni-dimensional

vector of k terms for the ith

module

ˆi i Scalars

ˆi i

ni-dimensional vectors

k , ˆ

, i i 6-dimensional vector, and 6n

i×n

i matrices

,k k 1 3-dimensional vector of angular velocity of the kth

link, and 3×3 cross-

product tensor associated with k

k, i , Angular velocity matrices for kth

link, ith

module, and generalized angular

velocity matrix. Their sizes are 6×6, 6ni×6n

i, and 6(n+ 0)×6(n+ 0),

respectively.

Abbreviations

ADAMS Automatic Dynamic Analysis of Mechanical Systems (A commercial

software)

BRGE Block Reverse Gaussian Elimination

CT Computed-Torque

COM Center-of-Mass

CRBA Composite Rigid Body Algorithm

DAE Differential Algebraic Equations

DeNOC Decoupled Natural Orthogonal Complement

DH Denavit-Hartenberg

DOF Degree-of-Freedom

EAJs Euler-Angle-Joints

EL Euler-Lagrange

xxv

Page 30: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

xxvi

FF Feedforward

GE Gaussian Elimination

GIM Generalized Inertia Matrix

IPM Inverted Pendulum Model

MCI Matrix of Convective Inertia

MDH Modified Denavit-Hartenberg

NE Newton-Euler

NOC Natural Orthogonal Complement

ODEs Ordinary Differential Equations

O(n) Order (n)

O(n3) Order (n

3)

RNEA Recursive Newton-Euler Algorithm

RGE Reverse Gaussian Elimination

sym Symmetric

ZMP Zero Moment Point

Page 31: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Chapter 1

INTRODUCTION

1.1 Motivation

Robots find applications in automobile, electronics, chemical and many other industries.

The field of robotics has evolved since the development of industrial robots, which have

mainly fixed base with serial-chain architecture. Since then many new applications like

maintenance task of industrial plants, operations in dangerous and emergency

environments, surveillance, maneuvering in unknown terrains, tele-surgery, human care,

grasping and manipulation of complex objects, multi-point force and tactile feeling, etc.

have come into existence. As a result, multiple-chain tree-type robotic systems such as

multi-fingered robotic arm, legged vehicle, humanoid robot, etc. have emerged. They are

referred to as tree-type robotic systems in this work. Trajectory planning, dynamic

analysis, obtaining stability criterion, and control are some of the basic issues with such

systems. Research in these areas has growing interest and is active field of the robotics.

Dynamic analysis, specifically, involves either force or motion analysis or both. Whereas

force analysis attempts to find the driving and reactive forces for given input motion, the

motion analysis obtains system’s configuration under the input forces. Force analysis

helps in design and control of robotic systems, whereas motion analysis allows one to

study and test a design virtually without really building a real prototype and is called

virtual prototyping.

There has been significant increase in the use of computational dynamics for simulation,

analysis, design, and model-based control of various robotic systems. Hence, an efficient

1

Page 32: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

framework is essential for the dynamic analysis of complex robotic systems. In this

context, recursive dynamics algorithms play an important role. They are attractive due to

simplicity and computational uniformity regardless of ever growing complex robotic

systems. Recursive formulations in robotic applications have significantly helped in

achieving real-time computations and model-based control laws.

In this thesis, an attempt has been made to develop modular framework for kinematic and

dynamic modeling of tree-type robotic systems, and to obtain recursive algorithms for

predicting their dynamic behavior and its control.

1.2 Tree-type Robotic Systems

The concept of robots has been around since medieval times in the form of human-like

toys. Earlier perception of the robots was in the form of machine that performs human-

like work or imitates animals. It wasn’t until 1960’s that the first modern day industrial

robot was built. Since then the field of robotics has grown a lot and many new

applications of robot have come into existence. An industrial robot is like a human arm

and of many applications it finds maximum utility in pick and place operation. It has a

fixed-base wherefrom bodies or links emanate one after another in a serial fashion. The

developments in the field of the industrial robots have encouraged researchers to build

robots which imitate mammals. As a result, many complex robotic systems have

emerged. These robotic systems have multiple chains connected by single as well as

multiple-degrees-of-freedom joints, and, in general, are referred to as tree-type robotic

systems. Figure 1.1 shows several examples of tree-type robotic systems. Figure 1.1(a) is

a multi-fingered gripper. Figure 1.1(b) illustrates an industrial robot with a secondary

manipulator carrying the camera subsystem towards the end-effector, and hence forms a

2

Page 33: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

tree

1.1(

Tree

con

type

to h

Mod

exam

the

back

invo

fram

plan

(a) M

e. A quadru

(d), respecti

e-type robo

straint topo

e of the rob

have a fixed

deling and

mple, the le

ground, ho

kward, the l

olved with

mework for

nning, and c

Multi-fingered

gripper

uped legged

ively.

d (b) In

cam

F

otic systems

ology. The b

botic system

d-base wher

control of

egged robot

owever, wh

legs form op

h the tree-

the dynami

control of th

d robot and

s have essen

base of the

m. The robot

eas the syst

such robots

in Fig. 1.1(

hen the rob

pen-chain a

-type robo

ic analyses,

hose system

ndustrial robot

mera subsyste

Fig. 1.1 Exam

3

d a humano

t with (c

em

mples of tree-ty

ntially multi

systems m

tic systems

tems in Fig.

s are difficu

(c) forms a

ot lifts one

architecture

otic system

which can

ms.

oid robot a

iple branche

may be fixed

in Figs 1.1

. 1.1(c) or F

ult due to t

closed-loop

e or two of

with respec

ms necessit

be useful in

c) A legged ro

ype robotic sy

Trunk

are shown i

es, like in a

d or floating

(a) and (b)

Fig. 1.1(d) h

their variabl

p system wh

f its legs to

ct to the trun

tates effici

n simulation

obot (d

ystems

k

Joints

Join

in Figs. 1.1

a tree, with

g depending

may be con

have floatin

le architect

hen it is stan

o move for

nk. The com

ient compu

n, design, tr

d) Humanoid

nts

1(c) and

variable

g on the

nsidered

ng bases.

ture. For

nding on

rward or

mplexity

utational

rajectory

d

Pelvis

Page 34: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

1.3 Dynamics

Computer-aided dynamic analysis of robotic systems has been a prime motive of the

engineers since the evolution of high speed facilities using computers. In order to perform

computer-aided analysis, the actual system is represented with its dynamic model, which

has information in terms of link parameters, joint variables and constraints. Dynamic

model of a robotic system is represented by a set of equations governed by physical laws

of motions. For a system with few links, it is easier to obtain explicit expressions for the

equations of motion. However, finding equations of motion is not an easy task for

complex systems with many links. Sometimes even with 4 or 5 links, say, a 4-bar

mechanism, it is difficult to find an explicit expression for the system inertia in terms of

the link length, mass and joint angle. Various techniques are available in the literature for

automatic generation of the equations of motion. Development of the equations of motion

is an essential step for dynamic analysis. Objective of dynamic analysis is mainly two

fold.

1) First, to perform force analysis. This is referred to as inverse dynamics, in which

driving forces of the system are computed for a given set of input joint motions.

Knowledge of the driving forces help not only in control but also in actuator design of the

robot. One may also obtain the reaction forces, which may be used for design of

associated linkages and joints from the strength point of view.

2) Second is motion analysis. This is called forward dynamics, where joint motions are

computed under the application of driving forces. This along with numerical integration

helps in obtaining the configuration or state of the system at any instant of time. In other

word forward problem lets one to simulate the actual working of the system.

4

Page 35: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Whereas inverse dynamics requires only evaluation of algebraic equations, forward

dynamics requires the solution of the equations of motion. So, the forward dynamics

problem may involve solutions of either Ordinary Differential Equations (ODE) or

algebraic and differential equations together, i.e., Differential Algebraic Equations

(DAE). Closed form solutions of ODE or DAE for simple systems may be trivial,

however, for a complex system they are not possible. Most common approach to solve

them is to use numerical techniques. It is worth noting here that no numerical method can

give exact solution and, hence, it is prone to errors, either round-off or truncation or

otherwise. Error propagation affects accuracy of the results leading to even numerical

instability. The round-off error is caused mainly due to limitation of the computing

system, whereas the truncation error depends on the algorithm used. Since the latter error

is reduced with the reduced number of computational steps, so the computational count of

an algorithm should be reduced as much as possible for numerical stability and efficiency.

This reduction will certainly reduce the truncation errors as the computer needs to

evaluate less number of functions. As a result, efficient computational framework to

obtain the solution of the equations of motion for the dynamic analysis of tree-type

robotic system is called for. To achieve efficiency, modular framework for the dynamic

analysis of tree-type robotic systems consisting of multiple-DOF joints is proposed in this

thesis.

1.4 Important Contributions

The important contributions of this thesis are outlined below:

1. The concept of Euler-Angle-Joints (EAJs) for the representation of a spherical

joint and its generalization for 1-, 2-, and 3-degrees-of-freedom joints.

5

Page 36: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

2. Generalization of the link-to-link kinematic transformation of velocities, i.e.,

twist-propagation, to module-to-module twist-propagation using the concept of

kinematic modules. As a consequence, definition of the Decoupled Natural

Orthogonal Complement (DeNOC) for a serial chain system is extended to a tree-

type robotic system.

3. Dynamic modeling of a tree-type robotic system using the concept of the module-

DeNOC matrices giving module-level expressions for the vectors and matrices

appearing in the equations of motion.

4. Module-level, analytical block UDUT decomposition of the Generalized Inertia

Matrix (GIM) for the tree-type robotic system using the Block Reverse Gaussian

Elimination (BRGE), where U and D are the block upper triangular and block

diagonal matrices, respectively. Subsequently analytical expressions of the inverse

of the GIM are derived providing deeper insight into the dynamics.

5. Efficient recursive algorithms for the inverse and forward dynamics of the fixed-

and floating-base tree-type robotic systems consisting of multiple-DOF joints

introducing inter- and intra-modular recursions.

6. Dynamic analyses of several tree-type practical robotic systems, namely, (i) a

robotic gripper, (ii) planar and spatial biped, (iii) a quadruped, and (iv) a hexapod,

which would help researcher and practicing engineer to use these results for

design, simulation and control of those robots.

7. Closed-loop control simulation of several robots, mainly, those listed in item 6

above, to study their controlled behaviors.

6

Page 37: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

1.5 Thesis Organization

The thesis contains nine chapters which are organized as follows:

1. Introduction

The motivation and scope of the proposed research work are presented in this chapter.

The important contributions and organization of the thesis are highlighted.

2. Background and literature survey

Background and literature in the fields of dynamic modeling, and tree-type robotic

systems have been critically reviewed in this chapter.

3. Euler-Angle-Joints (EAJs)

A spherical joint in robotic literature is typically modeled as three-intersecting revolute

joints. It is shown in this thesis that it is nothing but a variant of well-known Euler angle

representation. Hence, the term Euler-Angle-Joints (EAJs) is introduced. The evolutions

of different EAJs with examples are shown in this chapter.

4. Kinematics of tree-type robotic systems

The concept of kinematic modules for the tree-type systems is introduced in this chapter.

The recursive kinematic relationships in the form of twist-propagations are first obtained

at intra-modular level (inside the module). Using the concept of Euler-Angle-Joints

introduced in Chapter 3, it was possible to generalize 1-, 2-, and 3-degrees-of-freedom

rotary joints, namely, revolute, universal and spherical joint, respectively. Next, inter-

modular (between the module) kinematic constraints, i.e., module-level twist-

propagations, are derived. This allows one to generalize the definition of DeNOC

matrices for a serial system to tree-type system.

7

Page 38: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

5. Dynamics of tree-type robotic systems

Dynamic modeling of the tree-type robotic system is presented in this chapter. The

module-level expressions for the matrices and vectors appearing in the equations of

motion are presented. Following the analytical expression of the Generalized Inertia

Matrix (GIM), its module-level decomposition is obtained. The GIM is decomposed in

the form of UDUT using the concept of Block Reverse Gaussian Elimination (BRGE),

where U and D are the block upper triangular and block diagonal matrices. This leads to

many physical interpretations of terms associated with the dynamics. The decomposition

helps in obtaining explicit analytical inversion of the GIM and the recursive forward

dynamics.

6. Recursive dynamics of fixed-base systems

In this chapter, dynamic analyses of fixed-base robotic systems are presented. For this

recursive algorithms for inverse and forward dynamics are obtained. Dynamic analyses of

robotic gripper, spatial biped and hyper-degrees-of-freedom system are presented in this

chapter.

7. Recursive dynamics of floating-base legged robot

Modeling of a robotic system with floating or mobile base is proposed in this chapter.

Recursive algorithms for inverse and forward dynamics of floating-base robotic systems

are derived here. Analyses for biped, quadruped and hexapod robotic systems are

presented.

8

Page 39: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

8. Simulation of controlled legged robots

Two model-based control schemes, namely, feedforward and computed-torque control,

have been discussed with the help of proposed dynamic framework. Simulation of biped,

quadruped and hexapod is presented by using them.

9. Conclusions

This chapter gives the summary of the major results obtained in this research work, along

with the conclusions. The scope of future work is also outlined in this chapter.

References

Appendix A: Closed-loop systems

Appendix B: Computational complexity

Appendix C: Trajectory generation of legged robot

Appendix D: Energy balance

Appendix E: Foot-ground interaction

9

Page 40: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

10

Page 41: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Chapterr 2

BACKGRROUND AAND LITTERATURE SURRVEY

The

brie

e field of ro

ef overview

botics has g

of the litera

grown a lot

ature survey

t in last 3-4

y conducted

decades. In

d during this

n this chapt

s research is

er, backgro

s presented.

ound and

.

2.1 Roboticc Systemms

A ro

chai

syst

Figs

para

chai

show

chai

base

floa

obotic syste

in or close

tems, e.g., a

s. 2.1(a) an

allel archite

in systems.

wn in Fig. 2

in. A legge

e with inter

ating. Indus

em can be d

ed-chain. R

a PUMA in

nd 2.1(b), r

ecture, e.g.,

Figure 2.1(

2.1(d) have

ed robot ma

rmittent grou

trial robots

divided into

Robots with

ndustrial ro

respectively

Stewart pla

(c) shows a

time varyin

ay also be v

und contact

and parall

o two categ

h serial an

obot and mu

y. The coop

atform and d

a Stewart pl

ng topology

viewed as a

ts. Thus, a r

el robots ar

gories based

nd tree-type

ulti-fingered

perating ind

delta manipu

atform. On

y, i.e., a com

robotic sys

robotic syst

re example

d on their to

e architectu

d robotic g

dustrial rob

ulator, are e

the contrar

mbination o

stem with f

tem has its b

s of fixed-b

opology, i.e

ure are ope

gripper as sh

ot and robo

examples of

ry, legged r

f open- and

floating- or

base either

base system

(a) PPuma industriaal robot

11

(b) Uttah/MIT hand

d

e., open-

en-chain

hown in

ots with

f closed-

robots as

d closed-

mobile-

fixed or

ms while

Page 42: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

the space manipulators and legged robots are examples of floating-base systems. This

thesis addresses dynamics of tree-type robotic systems with both fixed-base and floating-

base. The analysis of closed-chain systems can be carried out by cutting appropriate joints

to form a tree-type system, where the opened joints are substituted by constraint forces.

(c) Stewart platform (d) Quadruped legged robot (Raibert, 1986)

Fig. 2.1 Robotic systems

2.1.1 Serial robots

Industrial robot (Fig. 2.1a) is a classical example of a fixed-base serial-chain robotic

system. Industrial robots have the capability to perform manipulation task similar to

human arm. Development of such robots started after World War II. The first industrial

(a) UNIMATE robot (b) Sanford arm

Fig. 2.2 Industrial robots

12

Page 43: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

robot, UNIMATE of Fig. 2.2(a), was used in the assembly line in General Motors way

back in 1961. The first electrically powered, computer-controlled robot, Stanford Arm

(Fig. 2.2b), was developed in 1969. Research on industrial robots started in late seventies

and has gone a long way in the areas of kinematics, path planning, dynamics, simulation,

control and design. Denavit and Hartenberg (1955), Hollerbach and Gideon (1983),

Goldenberg et al. (1985), Khatib (1986), Ma and Angeles (1990), Coset at el. (2005) and

others worked on different issues of kinematics and path planning of industrial robots.

The issues of dynamics were addressed by Hollerbach (1980), Luh et al. (1980), Walker

and Orin (1982), Khalil et al. (1986), Angeles et al. (1989) and Balafoutis and Patel

(1991). Simulation aspects were attempted by Featherstone (1987), Bae and Haug (1987),

Rodriguez (1987), Lilly and Orin (1991), McMillan and Orin (1995), and Saha (1997).

Issues on control of industrial robots were investigated in detail by Lewis et al. (2004)

and Kelly et al. (2005), whereas aspects on design was reported by Asada (1984),

Yoshikawa (1985), Kahtib and Burdick (1987), Craig (2006) and Saha et al. (2006). In

this work, serial-chain robotic systems are assumed as a special case of a tree-type robotic

system.

2.1.2 Tree-type robotic hand

Robotic hand, as shown in Fig. 2.1(b), is another important subsystem for a human-hand-

like manipulating system. It has tree-type topology, where a common rigid link, the palm,

and other links emanate from it. The architecture of each finger is the same as that of a

serial robot shown in Fig. 2.1(a). These robotic systems essentially perform the task of

restraining an object and manipulating the same. In the task of restraining, fingers play

the role of keeping the object rigidly attached to the palm. On the other hand,

manipulation involves controlled motion of the grasped object with respect to the palm.

This is also known as dexterous manipulation. Early groundwork on robotic hand was

13

Page 44: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

laid do

Jacobse

fingered

Utah/M

develop

2.1(b),

presente

recently

2003; a

2.1.3

Desire

compel

machin

suitable

fixed m

in Fig.

wn by Sal

en et al. (1

d robotic ha

MIT hand (J

ped. The Ut

Fig. 2.3(a)

ed various

y emphasis

and Furukaw

Legged ro

to make de

led the ne

es was view

e stepping m

motion woul

2.1(d), wou

(a) Sta

isbury and

1986) desig

ands such a

Jacobsen et

tah/MIT ha

) and Fig. 2

issues and

has been g

wa, 2006) w

obots

evices that

eed of legg

wed as the

motion. Ho

d not do the

uld need co

anford/JPL han

Craig (19

gned early

as the Stanf

al. 1986),

and, Stanfor

2.3(b), resp

d comprehen

given on ac

with the help

imitate ma

ged robots.

task of de

owever, late

e trick of w

ontrol. The

nd

Fig. 2.

14

82), where

dexterous

ford/JPL ha

the TUM h

rd/JPL hand

pectively. P

nsive revie

chieving dy

p of a roboti

3 Robotic han

ammals and

In early

esigning kin

er, it had be

walking or ru

scientific st

as Mason

systems. A

and (Mason

hand (Pfeiff

d, and TUM

Pons et al.

w of dexte

ynamic re-g

ic hand.

d to explore

twentieth c

nematic link

ecome clea

unning. A w

tudy of legg

(b

nds

and Salisbu

As a result

n and Salisb

fer, 1996) a

M hand are

(1999) and

erous roboti

grasping (H

e the unkno

century, bu

kages that w

ar that a lin

walking mac

ged locomo

b) TUM hand

ury (1985)

t, several m

bury, 1985)

and others w

e shown in

d Bicchi (2

ic hands. M

Hasegawa et

and

multi

, the

were

Fig.

000)

More

t al.,

own terrain

uilding wal

would gene

nkage provi

chine, as sh

otion began

n has

king

erate

ding

hown

n just

Page 45: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

over fifty year ago when Muybridge (1957) studied the motion of a horse. The first

machine that balanced actively was based on automatically controlled inverted pendulum.

Miura and Shimoyama (1984) built the first walking machine that balanced actively (Fig.

2.4a). According to Mark Raibert (1986) there are two main purposes for interest in

legged locomotion, namely, 1) its potential for high mobility, and 2) the necessity to

understand the motions of animals and humans. It is obvious that high mobility aspect is

predominant as wheeled locomotion is primarily restricted to level surfaces. Raibert

(1986) showed the advantage of legged robots in comparison to the wheeled systems, by

illustrating that legs use isolated footholds for support, whereas wheels or tracks require a

continuous path of support.

(a) 6)

Biper4 (Miura and Shimoyama, 1984) (b) Monopod (Raibert, 198

(c) Hexapod (Saranli et al., 2001) (d) Biped (Collins and Ruina, 2005)

Fig. 2.4 Legged robots

15

Page 46: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

In flight phase, degrees-of-freedom of the legged robot are more than number of

actuators, which makes them under actuated. Moreover, the dynamic model of the legged

robot is highly nonlinear and it is difficult to model interaction of the robot with unknown

environment. This makes control of legged robots difficult. A controller plays major role

in achieving stable periodic motion of the legged robot. The goal of the controller is to

control velocity and posture of the robot while maintaining a cyclic gait. A statically

balanced robot can be controlled in a kinematic way by neglecting the inertial forces. On

the contrary, dynamically balanced robot can only be balanced through its motion, by

taking into account the inertial forces and manipulating them in the right way. As a result,

dynamics plays an important role in control of legged robots. Research in the field of

legged robots has made great stride in the last two decades. Various issues related to

dynamics, trajectory planning and control have been addressed by researchers till date to

obtain walking or running of the legged robots. As a result, various prototypes of the

legged robots have been built. Raibert (1984), Ringrose (1997), Brown and Zeglin (1998),

Ahmadi and Buehler (1999) and Hyon et al. (2003) have contributed in the development

of monopod hopper. Development of bipedal robot and their issues were reported in the

work by Miura and Shimoyama (1984), Vukobratovic et al. (1989), McGeer (1990), Shih

et al. (1991), Hirai et al. (1998), Sakagami et al. (2002), Kuroki et al. (2003), Collins and

Ruina (2005) and Kaneko et al. (2008). Various issues on quadruped robots have been

investigated in the work by Buehler et al. (1998), Fukuoka et al., (2003), Marhefka et al.

(2003) and Kimura et al. (2007), whereas development of hexapod robot was attempted

by Espenschied et al. (1996), Nelson et al (1998), Cham et al (2002), and Saranli et al.

(2004). Some of the legged robots are shown in Fig 2.4.

16

Page 47: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

2.2 Representations of Rotations

Rotation representation of a rigid link moving in a 3-dimensional Cartesian space is

important. Selection of appropriate co-ordinates is vital, particularly, with multiple

Degree-of-Freedom (DOF) joints, e.g., universal and spherical joints, connecting two

neighboring links. Many schemes are available to represent a rotation in space as shown

by Nikravesh (1988), Shuster (1993) and Shabana (2001). The representation of the

rotation matrix with the help of nine direction cosines is one such scheme, however, it is

not preferred by many as it uses dependent co-ordinates. Use of Euler angles (Shabana,

2001) is the alternative choice. It has wide acceptability in the field of aerospace, bio-

mechanics, and others due to its independent representation. The use of Euler parameters

(Nikravesh, 1988) is another popular choice, which uses four parameters though DOF for

a rigid body rotation in three dimensional Cartesian space is three. Rodriguez parameters

(Shabana, 2001) consisting of essentially three independent Euler parameters are also

used for rotation representation.

It may be noted that the Euler angles have three independent parameters but suffer from

inherent numerical singularities, which, however, can be overcome by switching from the

one type of Euler angle representation to another (Shuster and Oh, 1981; Singla et al.,

2005). On the other hand, Euler parameters have no singularity but they are not

independent, and may suffer from constraint violations that may in turn lead to numerical

instability. They are also difficult to visualize.

2.2.1 Denavit-Hartenberg parameters

In robotic applications, the links are joined mainly with one degree-of-freedom (DOF)

joints, e.g., revolute and prismatic. Well-known Denavit-Hartenberg (DH) parameters,

(Denavit, and Hartenberg, 1955) are used to define the configuration of a link with

17

Page 48: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

respect to its previous one. Many modern robotic systems such as humanoid, legged

robot, robotic hand, etc. contain multiple-DOF joints, say, universal, cylindrical or

spherical joints. Such joints are generally modelled as several intersecting one-DOF

joints, i.e., revolute or prismatic (Duffy, 1978). Such representations suffer from

unnecessary calculations associated with zero lengths and masses of the virtual links that

need to be introduced to define the DH parameter of the system.

2.2.2 Euler-Angle-Joints

As such no formal way of representing the Euler angles rotations using DH parameters is

available in literature, even though there exist interesting correlations. Hence, it is

formally introduced in this work (Shah et al., 2009) and their benefits are explored. The

term Euler-Angle-Joints (EAJs) is coined to represent multi-DOF rotary joints. Moreover,

it is shown that significant simplifications in the algorithms for dynamics can be obtained

by not accounting for the zero lengths and masses of the virtual links. This helped in

obtaining recursive, fully O(n), forward dynamics algorithm (as will be explained in

Section 6.2), which would have not been possible to construct by using original definition

of Euler angles or Euler parameters.

2.3 Dynamic Modeling

Over the last two decades, applications of multibody dynamics have spread over the fields

of robotics, automobile, aerospace, bio-mechanics, molecular modeling and many more.

With continuous development in the field of robotics, and evolution of complex robotic

systems, application of multibody dynamics has still wider scope of research in the field

of robotics. History of dynamics goes back to seventeenth century when Newton in 1686

presented the dynamics of a free particle and later Euler in 1776 introduced the concept of

rigid body. This gave birth to Newton-Euler equations of motion. Lagrange in 1788

18

Page 49: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

provided the systematic approach for mathematical formulation of the constrained rigid

body systems. Since then multibody dynamics has grown a lot. Comprehensive

discussion on dynamic formalisms can be found in the seminal text by Roberson and

Schwertassek (1988), Schiehlen (1990), Stejskal and Valasek (1996), and Wittenburg

(2008). Recent trends in dynamic formalisms can also be found in the work by Schiehlen

(1997), Featherstone and Orin (2000) and Eberhard and Schiehlen (2006).

2.3.1 Equations of motion

Derivation of the equations of motion is an important step in order to study the dynamics

of any system. This is also referred to as dynamic modeling. There are several

fundamental methods of formulating equations of motion. For example, Newton-Euler

(NE) formulation, Euler-Lagrange principle, Gibbs-Appel approach, Kane’s method, and

D’Alembert’s principle. All the above mentioned approaches, when applied to robotic

systems, have their own advantages and disadvantages. Newton-Euler (NE) approach is

one of the classical methods for dynamic formulation. This approach is based on the

concept of “free-body.” If it is constrained, associated forces of constraints are included

in the free-body with those, which are externally applied. Mathematically, NE equations

of motion lead to two vector equations, which in scalar form is equivalent to three

translational equations of motion of the Centre-Of-Mass (COM), and three equations

determining the rotational motion of the rigid body. The NE equations are related simply

by the constraint forces and hence for an open-chain system they can easily be solved

recursively. For closed-loop systems, however, some of the NE equations need to be

solved simultaneously in order to obtain constraint and driving forces. Hence, the use of

the NE equations of motion for closed-chain systems is not as efficient as those for serial-

chain systems.

19

Page 50: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Euler-Lagrange (EL) formulation is another classical approach widely used for dynamic

modeling. The EL formulation uses the concept of generalized co-ordinates instead of

Cartesian co-ordinates. It is based on minimization of a functional called “Lagrangian”

which is nothing but the difference between kinetic energy and potential energy of the

system at hand. For open-chain systems, where typically the number of generalized

coordinates equals the degree-of-freedom of system, the constraint forces do not appear in

the equations of motion. For the closed-chain systems, however, forces of constraints

appear as Lagrange’s multipliers. Kane’s formulation, which is same as the Lagrange’s

form of D’Alembert’s principle, has also been used by few researchers for the

development of the equations of motion. It is found to be more beneficial than other

formulations when used for systems with nonholonomic constraints.

2.3.2 Orthogonal complements

It is pointed out here that NE equations of motion are still found popular in the literature

to obtain recursive algorithms. However, it requires solution of the constraint forces and

moments, which does not play any role in the motion of a system. Hence, in motion

studies extra calculations are required. To avoid such extra calculations, there are

formulations proposed in the literature where equations of motion in the EL form, are

obtained from the NE equations. Huston and Passerello (1974) were first to introduce

computer oriented method to reduce the dimension of the unconstrained NE equations by

eliminating the constraint forces. Later, Kim and Vanderploeg (1986) derived the

equations of motion in terms of relative joint coordinates form Cartesian coordinates

through the use of velocity transformation matrix. Velocity transformation matrix relates

linear and angular velocity of links with joint velocities. It is worth noting that the vector

of constraint forces and moments is orthogonal to the columns of velocity transformation

matrix. More precisely, the null space of the transpose of velocity transformation matrix

20

Page 51: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

is orthogonal complement of the column space of velocity transformation matrix. Hence,

velocity transformation matrix is also referred to as orthogonal complement matrix. The

words ‘orthogonal complement’ was first coined by Hemami and Weimer (1981) for the

modeling of nonholonomic systems. Orthogonal complement is not unique; in some

approaches it was obtained numerically using singular value decomposition or Eigen

value problem (Wehage and Haug, 1982; Kamman and Huston, 1984, Mani et al., 1985),

which is computationally inefficient.

Alternatively, Angeles and Lee (1988) presented a methodology where they derived an

orthogonal complement naturally from the velocity constraints. Hence, the name Natural

Orthogonal Complement (NOC) matrix is attached to their methodology. The NOC

matrix, when combined with the uncoupled NE equations of motion, leads to the

minimal-order constrained dynamic equations of motion by eliminating the constraint

forces. This facilitates the representation of the equations of motion in Kane’s form that is

suitable for recursive computation in inverse dynamics or in the EL form that is suitable

for forward dynamics and integration. Later, Angeles and Ma (1988), Cyril (1988),

Angeles et al. (1989), and Saha and Angeles (1991) showed the effectiveness of the use

of NOC matrix while applied to systems with holonomic and nonholonomic constraints.

Subsequently, Saha (1997, 1999) presented the decoupled form of the NOC for the serial

chain systems. The two resulting block matrices, namely, an upper block triangular and a

block diagonal matrices, are referred to as the Decoupled NOC (DeNOC) matrices. In

contrast to NOC, the DeNOC matrices allow one to recursively obtain the analytical

expressions of the vectors and matrices appearing in the equations of motion. This in turn

helps to analytically decompose the Generalized Inertia Matrix (GIM) of the system at

hand, allowing one to obtain a recursive algorithm for forward dynamics. The DeNOC

based formulation was later employed for analysis of closed-chain systems (Saha and

21

Page 52: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Schiehlen, 2001; Khan et al, 2005; and Chaudhary and Saha, 2007) and flexible

manipulators (Mohan and Saha, 2007). Blajer et al. (1994) also presented an orthogonal

complement based formulation for constrained multibody systems.

2.3.3 Other formulations

Several other methods of dynamic formulations were also proposed in the literature. For

example, Khatib (1987) presented the operational-space formulation, Park et al. (1995)

presented robot dynamics using a Lie group formulation, while Stokes and Brockett

(1996) derived the equations of the motion of a kinematic chain using concepts associated

with the special Euclidean group. McPhee (1996) showed how to use linear graph theory

in multibody system dynamics. Cameron and Book (1997) described a technique based

on Boltzmann-Hamel equations to derive dynamic equations of motion for serial-chain

systems.

2.3.4 Open vs. closed chains

It is worth noting that the relative joint coordinates are independent in open-chain

systems. As a result, a large number of unconstrained NE equations of motion can easily

be converted into a reduced form of constrained equations using the velocity

transformation matrix. On the other hand, the relative joint coordinates are not

independent in the case of closed-chain system as they have to satisfy the loop closure

constraints. In order to solve such a problem, methodology based on cut-joints can be

used where the closed kinematic loops are opened by cutting at appropriate joints and

incorporating unknown Lagrange multipliers, ’s, at the cut joints as shown by Nikravesh

and Gim (1993). Recently, Chaudhry and Saha (2009) proposed a methodology to obtain

driving and constraint forces in a closed-chain system using a two-level recursion. They

also used cut-joint method but wrote the dynamic equations of motion using the DeNOC

matrices for the system.

22

Page 53: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

As forward dynamics and simulation are concerned, one generally uses Differential

Algebraic Equations (DAEs) for the closed-loop system instead of Ordinary Differential

Equations (ODEs) as in the case of an open-chain system. Typically, three different

approaches, namely, direct integration method, the constraint stabilization method

(Baumgarte, 1972; Yu and Chen, 2000), and the generalized coordinate partitioning

method (Wehage and Haug, 1982; Yen and Petzold, 1998), are commonly used for the

solution of the DAEs.

2.3.5 Dynamics of legged robots

In contrast to industrial robots, legged robots are system with time varying topology, as

their feet-contacts vary during the motion cycle. Several methods of dynamic formulation

for different legged robots were proposed by Freeman and Orin (1991), Shih et al. (1993),

Perrin et al. (1997), McMillan and Orin (1998), Ouezdou et al. (1998), Berkemeier

(1998), Hu et al. (2005), Vukobratovic et al. (2007) and others. These methods for

formulating the dynamics of legged robot can be divided into two categories. In the first

category contact is defined using a hard constrained model. Doing so increases the

number of constraint forces in the system. The number is further increased with increase

in the number of feet in a legged robot. This results into variable closed-open type of

system for different combinations of feet-ground interactions. As a result, in this approach

a robot has different sets of equations of motion for different configurations of movement,

e.g., single support phase, double support phase, flight phase, etc. This is referred to as

configuration-dependent approach. In the second approach, a legged robot is modeled as a

floating- or mobile-base tree-type robotic system where foot-ground interactions are

modeled as external forces and moments. This is referred to as the configuration-

independent approach. The latter approach is generally preferred as it allows for a single

set of dynamic equations of motion for the legged robots irrespective of their different

23

Page 54: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

configurations. Under this approach, as mentioned earlier, foot-ground interactions are

modeled as contacts, where reactions on feet can be computed by using analytical method

(Baraff, 1994; Stewart and Trinkle, 2000; Lloyd, 2005), impulse based approach (Mirtich

and Canny, 1995), or penalty based method (Gerritsen et al., 1995; Nigg and Herzog,

1999). In penalty based approach the vertical reactions are approximated by using visco-

elastic (spring-damper) model, whereas the horizontal reactions are approximated by

using Coulomb or viscous friction. Variety of walking and running surfaces can be

simulated by varying the parameters of the spring-damper and co-efficient of friction. In

this thesis, configuration independent approach is preferred even though both the

approaches are showed for the legged robots.

2.4 Robot Dynamics Algorithms

As discussed in Section 1.3, analysis of robotic systems involves problems of inverse and

forward dynamics. Inverse dynamics problem attempts to find the joint torques and forces

for given joint motions, which are known for a given set of end-effector motion using

inverse kinematic solution as indicated in Fig. 2.5. Forward dynamics on the other hand

attempts to find the joint motions from the knowledge of the external joint torques and

forces. These joint motions are used to obtain the end-effector configurations using

forward kinematics as shown in Fig. 2.5. Inverse dynamics problem helps in control and

Fig. 2.5 Inverse and forward dynamics

Inverse

kinematics

1

2

Inverse

Dynamics

Forward

Dynamics

pe, Qe

Generalized forces

( 1, 2) End-effector motions

(ae, Qe)

Forward

kinematics

Joint motions

q (q1, q2),

q 1

q 2

,q q

24

Page 55: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

design of a robot, while the forward dynamics enables simulation studies to obtain the

configuration of the system at hand, and so helps in evaluation of a new design without

actually building the physical robot.

2.4.1 Model-based control

With the advent of high speed processors, the dynamic model-based feedforward and

computed-torque control schemes have shown better motion control performance of a

robotic system than the conventional PID controller (Lewis et al., 2004; and Kelly et al.,

2005). Figure 2.6 shows the application of inverse and forward dynamics algorithms to

feedforward and computed-torque control schemes. In feedforward control scheme, as

shown in Fig. 2.6(a), the joint torques computed by using the dynamic model of the robot

are fed forward to the controller, while linear servo feedbacks take care of any error in the

(a) Feedforward control

(b) Computed torque control

Fig. 2.6 Model-based control laws

Dynamic

Model

Position gain

q

q

dq

dq

dq ID

Velocity gain

p

v

Inverse dynamics

Actual

motion

Forward dynamics

(Simulation)

Desired

motion

Robotic

Manipulator q

Dynamic

Model

Position gain

qd

qd

qd

Velocity gain

pq

vq

Desired

motion

q

q

Robotic

Manipulator

Inverse dynamics

Actual

motion

Forward dynamics

(Simulation)

q

25

Page 56: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

trajectory to be followed. Selection of control gains is not very straightforward in the case

of feedforward control and one may use the design methodology proposed by Kelly et al.

(2005) to find the gains. On the other hand, computed-torque control showed in Fig.

2.6(b) works on the principle of the feedback linearization (Craig, 2006). In this control

scheme, robot dynamic model is used along with linear servo feedback to calculate the

driving torque. As the system reduces to a linear one, controlled with a simple servo law,

setting of control gains is much simpler and independent of the system parameters.

Estimating the correct dynamic model and its real-time computation are the two major

challenges in any model-based control scheme. Even when the dynamic model of the

robot is not very accurate, computed-torque scheme eliminates some of the nonlinearities

due to robot’s inertia, and it is easy to remove the remaining nonlinearity using the

associated PID controller.

It is evident from the above two schemes that inverse dynamics is very essential for

computation of control input. In the absence of real robot, forward dynamics followed by

numerical integration (i.e., simulation) will allow an analyst to study the actual working

of the system. Accordingly, design modification in the robot can be made at design stage

itself. Further, real-time simulation during actual working helps one in taking any

preventive control measures. Hence, real-time computation of the robot’s inverse and

forward dynamics is very important. It is more crucial in the case of legged robot due to

complex nature of dynamics involved and presence of intermittent contact. Therefore

efficient computation of the robot dynamics should be of prime importance.

2.4.2 Recursive algorithms

The formalisms of multibody dynamics, as described by Schiehlen (1990), can be divided

into two, a) symbolical formalism and b) numerical formalism. In symbolical formalism,

the equations of motion are obtained symbolically first, before using them for solving

26

Page 57: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

inverse or forward dynamics problems. However, the use of symbolical formalism is

limited to smaller systems. In numerical formalism, the inverse and forward problems are

solved at each time instant numerically. It may be noted that from numerical point of

view recursive formulation is found to be the most efficient. With the advent of digital

computers, various recursive formulations for dynamic analysis of robotic systems have

emerged. Recursive formulations in dynamics are attractive due to simplicity and

computational uniformity. This helps in achieving real-time computations and

consequently helps in model-based control.

2.4.3 Inverse dynamics

Study of dynamics of multibody systems is a classical problem, but it was limited to

analytical results for a system with small number of links until the evolution of high

speed computers. Uicker (1965) and then Kahn and Roth (1971) were first to develop a

method based on the Euler-Lagrange equations to predict dynamic behavior of a system

consisting of rigid bodies. Thereafter, several recursive algorithms for inverse dynamics

were proposed in the literature. Recursive Newton-Euler Algorithm (RNEA) proposed by

Luh et al. (1980) is one of the popular algorithms for inverse dynamics. Several other

algorithms were also proposed by Walker and Orin (1982), Kane and Levision (1983),

Khalil et al. (1986), Featherstone (1987), Cyril (1988), Angles at el. (1989), Balafoutius

and Patel (1991), Li and Sankar (1992), and Saha (1999). These algorithms were based on

different methodologies but their main objective was the efficient recursive

implementation. Typically, the computational complexity of a recursive inverse dynamics

algorithm is of Order (n), where n is the number of joint variables in the system.

Recently, Fang and Pollard (2003) presented an efficient algorithm to obtain partial

derivatives of inverse dynamics problem with respect to design parameters.

27

Page 58: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

2.4.4 Forward dynamics

Forward dynamics problem require solution of nonlinear differential equations arising out

of the equations of motion. An important step in forward dynamics is to compute the joint

accelerations, which require inversion of the Generalized Inertia Matrix (GIM), i.e.,

1q I , where q is the vector of joint accelerations, I is the GIM, and is the vector

of generalized forces containing terms due to Coriolis, centrifugal, gravity, and external

forces and moments. Forward dynamics algorithms can be divided into explicit and

implicit inversion of the GIM. In explicit inversion of the GIM, it is inverted numerically

using Gaussian elimination or Cholesky decomposition (Strang, 1998). This method of

inversion commonly leads to O(n3) algorithm. Walker and Orin (1982) proposed one such

algorithm after introducing the concept of composite body. The algorithm is also referred

to as Composite Rigid Body Algorithm (CRBA). Later, improved versions of the said

algorithm were proposed by Featherstone (1987), Balafoutis and Patel (1991), Lilly and

Orin (1991), Lilly (1993), McMillan and Orin (1995) and others. On the contrary, implicit

inversion obtains joint acceleration analytically without actually inverting the GIM.

Implicit inversion is complex but leads to O(n) algorithms. In literature (Featherstone,

2005) these explicit and implicit methods of inversion are also referred to as the “Inertia

Matrix Method” and the “Propagation Method”, respectively.

2.4.4.1 Implicit inversion

Implicit inversion method is further divided into two categories. In the first category (type

I) (Featherstone, 1983; Bae and Haug, 1987), one starts with the calculating unknowns,

i.e., joint acceleration and joint constraint forces, locally at link-level and then transfers

those to adjacent links till a link is obtained where dynamics can be solved locally.

Adjacent links are then solved. In the second category (type-II) (Saha, 1997), the GIM is

factorized and then solved for the joint accelerations using backward and forward

28

Page 59: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

substitutions. Both the approaches are analogous. However, the latter starts taking into

account the global picture of the whole system while the former starts locally at the link

level. Several such algorithms were proposed in the literature for serial manipulators.

Vereshchagin (1975) was first to propose a recursive algorithm for forward dynamics.

Later, Armstrong (1979) presented a recursive algorithm for a serial system with 3-

degree-of-freedom spherical joints. Featherstone (1983) introduced recursive algorithm

based on the concept of articulated-body inertia from the NE equations of motion of a

free-body interacting with its neighboring bodies, whereas Bae and Haug (1987) used

variational approach based on the principle of virtual work. In both the approaches,

recursion was obtained from the recursive relationships of velocities and accelerations

between the neighboring bodies. Later, Brandl et al. (1988), and McMillan and Orin

(1995) presented efficient implementation of the Featherstone’s articulated body

algorithm. Rodriguez (1987) presented a complex algorithm based on Kalman filtering

and smoothing theory. Soon after, they (Rodriguez et al., 1991, 1992) introduced the

concept of spatial operator algebra for recursive forward dynamics. Rosenthal (1990) and

Anderson (1991) also presented a recursive formulation based on the use of Kane’s

equations of motion. Saha (1997) proposed recursive formulation for the serial-chain

systems based on linear algebra theories and the DeNOC matrices. Several other

algorithms were also proposed in the literature by Stejskal and Valasek (1996), Ascher et

al. (1997), Anderson and Critchley (2003), Lee and Chirikjian (2005), and Mohan and

Saha (2007).

Stelzle el al. (1996) compared different algorithms and showed that for n>7, an O(n)

forward dynamics algorithm is more efficient than an O(n3) algorithm, with proper

selection of reference point and reference frame. Number of bodies in many robotic

applications such as legged vehicle, humanoid, etc. is much more than seven. Hence, the

29

Page 60: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

use of O(n) recursive algorithm is certainly beneficial for large robotic systems.

Moreover, an O(n) algorithm is also reported to be numerically more stable than an O(n3)

due to smooth acceleration plots as shown by Ascher et al.(1997) and Mohan and Saha

(2007). As a result numerical integrations are much faster in O(n) algorithms which were

also reported by Ascher et al. (1997).

2.4.4.2 Other forward dynamics algorithms

Other than explicit and implicit inversion of the GIM in ODE formulation, there is a third

approach shown by Nikravesh (1988), Baraff (1996), Shabana (2001), and others, in

which the equations of motion of individual bodies are clubbed together with kinematic

constraint equations. This leads to the well-known DAE formulation which is more

suitable to closed-chain systems. There are also forward dynamics algorithms that use

parallel computations, e.g., those proposed by Bae et al. (1988), Fijany et al. (1995),

Featherstone (1999), Anderson and Duan (2000), Yamane and Nakamura (2002), and

Critchley and Anderson (2004).

2.5 Concluding Remarks

Rapid development in the field of robotics has given birth to complex robotic systems.

These robotic systems are very sophisticated and require intricate control. Hence, it is

very important to predict their dynamic behavior at design stage itself. This necessitates

efficient computational framework, which can be very useful in design, analysis,

simulation, trajectory planning, and control of robotic systems.

These modern day robotic systems contain multiple-DOF joints such, e.g., a spherical

joint in contrast to only one-DOF joints as in the case of industrial robots. One approach

to model a spherical joint is to represent it by using Euler angles. Modeling of a spherical

joint can also be done by using three intersecting revolute joint axes that can be identified

30

Page 61: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

with DH parameters. It was revealed from the literature that so far no formal way of

describing the Euler angles by using intersecting revolute joints, whose axes are identified

with DH parameters, is reported. An attempt is made here to correlate them by

introducing a concept of Euler-Angle-Joints (EAJs). The concept is later adopted for a

unified representation of multiple-DOF joints and to develop efficient recursive

algorithms.

The Newton-Euler (NE) equations of motion are popular for dynamic modeling due their

simplicity, but, they do not give the minimal set as compared to Euler-Lagrange equations

of motion. The velocity transformation matrix is used for systematic reduction of

dimension of the unconstrained NE equations of motion. The DeNOC matrices are one

such decoupled form of the velocity transformation matrix that gives the minimal set of

equations of motion. The DeNOC-based methodology for serial systems showed several

advantages, viz., 1) Analytical expressions for the elements of the vectors and matrices in

the dynamic equations of motion (Saha, 1999a); 2) Analytical decomposition of the GIM

(Saha, 1997); 3) Analytical inversion of the inertia matrix which gives deeper insight into

the associated dynamics (Saha, 1999b); 4) Uniform development of recursive inverse and

forward dynamics algorithms; and 5) Extendibility to closed-chain systems (Saha and

Schiehlen, 2001). Hence, it is used in this research work for the dynamic formulation of

robotic systems including legged robots. In this thesis, the DeNOC based formulation for

serial-chain systems proposed by Saha (1999) is extended to dynamic modeling and

analysis of more complex tree-type robotic systems consisting of multiple-DOF joints

introducing the concept of kinematic modules. Each kinematic module consists of serially

connected rigid links. In comparison with the work by Saha (1999), where link-to-link

velocity transformation was used to derive the DeNOC matrices, in this work, general

module-to-module velocity transformation is obtained, instead, for the derivation of the

31

Page 62: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

DeNOC matrices of a tree-type system. This approach generalizes the concept of link-to-

link transformation, and the work done by Saha (1999) turns out to be a special case of

the proposed methodology.

2.6 Research Objectives

Based on the literature survey, the objectives of the present research are listed below:

Development of Euler-Angle-Joints (EAJs) to represent the kinematic behavior of

a spherical joint and unification with other multiple-DOF joints.

Kinematic and dynamic modeling of a tree-type robotic system using the concept

of kinematic modules and derivation of the generic form of the Decoupled Natural

Orthogonal Complement (DeNOC) matrices.

Development of recursive algorithms for analyses of fixed-base and floating-base

robotic systems.

To investigate model-based control of the robotic systems using the proposed

recursive algorithms

2.7 Summary

Development in the field of robotic systems has been surveyed in Section 2.1. Many

complex robotic systems have evolved and their control is difficult due to variable

topology, high joint accelerations and dynamic instability. Consequently, the dynamics

plays a vital role in their simulation, control and design. Different rotation representations

have been surveyed in Section 2.2. It is found that there exist no correlation between DH

parameters and Euler angles in the literature. Considering a robot as a multibody system,

consisting of a set of rigidly connected links connected by multiple-DOF joints, literature

on formalism of dynamic modelling and recursive dynamics have been investigated. The

32

Page 63: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Decoupled Natural Orthogonal Complement (DeNOC) matrices based methodology has

emerged as a unified tool for recursive inverse and forward dynamics. The use of DeNOC

based methodology is not much explored for modelling and analysis of the tree-type

robotic system consisting of multiple-DOF joints.

33

Page 64: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

34

Page 65: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Chapter 3

EULER-ANGLE-JOINTS (EAJs)

As frequently noted in literature on robotics (Sugihara et al., 2002; Kurazume et al., 2003;

Vukobratovic et al., 2007; and Kwon and Park, 2009) and mechanism (Duffy, 1978; and

Chaudhary and Saha, 2007) a higher Degrees-of-Freedom (DOF) joint, say, a universal, a

cylindrical or a spherical joint, can be represented using a combination of several

coincident 1-DOF joints. For example, a universal joint also known as Hooke’s joint is a

combination of two revolute joints, the axes of which intersect at a point, whereas a

cylindrical joint is a combination of a revolute joint and a prismatic joint. Similarly, the

kinematic behavior of a spherical joint may be simulated by the combination of three

revolute joints whose axes intersect at a point. The joint axes can be represented using the

popular Denavit and Hartenberg (DH) parameters (Denavit and Hartenberg, 1955). For

the spherical joints, an alternative approach using the Euler angles can be adopted, as

there are three variables. For spatial rotations one may also use other minimal set

representations like Bryant (or Cardan) angles, Rodriguez parameters, etc. or non-

minimal set representation like Euler parameters, quaternion, etc. The non minimal sets

are not considered here due the fact that the dynamic models obtained in this thesis are

desired in minimal sets, the minimal sets, other than Euler/Bryant angles, are discarded as

they do not have direct correlation with the axis-wise rotations. It is worth mentioning

that the fundamental difference between the Euler and Bryant angles lies in a fact that the

former represents a sequence of rotations about the same axis separated with a rotation

about a different axis, denoted as – – , whereas the latter represents the sequence of

35

Page 66: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

rotations about three different axes, denoted as – – . They are also commonly referred

to as symmetric and asymmetric sets of Euler angles in the literature. For convenience,

the name Euler angles in this thesis generally refers to both Euler and Bryant angles,

hereafter.

Euler Angles are defined as rotations about three orthogonal axes, which may be

identified using DH parameters, however, the only difficulty is that, under the DH

parameter scheme the variable rotations always occur about Z axis, whereas the Euler

Angles are defined by rotation about all three axes, i.e., X, Y and Z. In this chapter, a

method has been found out to correlate these rotations so that one can take the advantage

of DH notations in defining the Euler angles to simulate the kinematic behavior of

spherical joints. Such correlations are termed as Euler angle joints (EAJs). The EAJs have

the specific advantage, that they make a unified representation of multiple-DOF joints

possible and thus provide computational efficiency in formulating dynamics algorithms as

highlighted in Sections 4.2.1 and 6.3, respectively. Such advantage is not available by

following the Euler Angle representation.

3.1 Euler Angles

The definition of Euler angles is first revisited in this chapter before the Euler-Angle-

Joints are introduced. According to Euler's rotation theorem (Shabana, 2001), any three-

dimensional spatial rotation can be described using three sequential angles of rotations

about three independent axes. These angles of rotation are called Euler angles. Figure

3.1(a-c) shows the sequence of rotation, a) by an angle 1 about ZM axis, b) by an angle 2

about rotated YM axis, and c) by an angle 3 about current ZM axis. The OR-XRYRZR and

OM-XMYMZM denote the reference frame and moving frame, respectively. The three

angles 1, 2, and 3 are called the ZYZ Euler angles. In a similar way, one can define

36

Page 67: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

twelve such sets of Euler/Bryant angles depending on the sequence of axes about which

the rotations are carried out. They are ZYZ, ZXZ, ZXY, ZYX, YXY, YZY, YXZ, YZX,

XYX, XZX, XZY, and XYZ. Out of these twelve Euler angle sets, the ZYZ scheme is

widely used in the rotation representation of a robotic system, whereas the ZXZ scheme is

more popular in formulating problem in multibody dynamics.

(a) (b) (c)

Fig. 3.1 ZYZ Euler angles

ZM, ZR

XR

YR

XM

YM

ZR

YR

ZM

YM

XM

ZR

YR

XR

ZM

YM

XM

1 1

2 2

1 3

XROROM

If ZYZ scheme of Euler angles is used, then, the elementary rotation matrices Q1, Q2, and

Q3 are given by

1 1 2 2 3 3

1 1 1 2 3 3 3

2 2

0 0

0 , 0 1 0 , and

0 0 1 0 0 0

C S C S C S

S C S C

S C

Q Q Q

0

0

1

1 2

1 2

2

S

S

C

(3.1)

The overall rotation matrix between the frames OR-XRYRZR and OM-XMYMZM can then

be obtained by multiplying the elementary rotation matrices, i.e., Q Q1 Q2 Q3. The

result is as follows:

1 2 3 1 3 1 2 3 1 3

1 2 3 1 3 1 2 3 1 3

2 3 2 3

( )ZYZ

C C C S S C C S S C C

S C C C S S C S C C S

S C S S

Q Q (3.2)

In a similar fashion, overall rotation matrices for all other Euler angle sets may be

obtained as shown in Table 3.1.

37

Page 68: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Table 3.1 Rotation matrices using Euler Angles

Euler

Angle

Scheme

Rotation matrix Euler

Angle

Scheme

Rotation matrix

ZYZ 1 2 3 1 3 1 2 3 1 3

1 2 3 1 3 1 2 3 1 3

2 3 2 3

QZYZ

C C C S S C C S S C

S C C C S S C S C C

S C S S

1

1

C S

S S

C

2

2

2

1 2 3 1 3 1 2 3 1 3 1 2

1 2 3 1 3 1 2 3 1 3 1 2

2 3 2 3 2

QZXZ

S C S C C S C C C S S S

C C S S C C C C S S C S

S S S C C

ZXZ

ZYX 1 2 1 2 3 1 3 1 2 3

1 2 1 2 3 1 3 1 2 3

2 2 3

ZYX

C C C S S S C C S C

S C S S S C C S S C

S C S C

1

1

2

S

C

C

3

3

3

S

S

1 2 3 1 3 1 2 1 2 3 1 3

1 2 3 1 3 1 2 1 2 3 1 3

2 3 2 2 3

QZXY

S S S C C S C S S C C S

C S S S C C C C S C S S

C S S C C

Q

ZXY

XYX 2 2 3 2

1 2 1 2 3 1 3 1 2 3

1 2 1 2 3 1 3 1 2 3 1

XYX

C S S S

S S S C S C C S C C C

C S C C S S C C C C S

3

1 3

3

C

S

S

2 2 3 2 3

1 2 1 2 3 1 3 1 2 3 1 3

1 2 1 2 3 1 3 1 2 3 1 3

XZX

C S C S S

C S C C C S S C C S S C

S S S C C C S S C S C C

Q

XZX

Q

XYZ 2 3 2 3

1 2 3 1 3 1 2 3 1 3

1 2 3 1 3 1 2 3 1 3

XYZ

C C C S S

S S C C S S S S C C S

C S C S S C S S S C C

2

1 2

1 2

C

C

2 3 2 2 3

1 2 3 1 3 1 2 1 2 3 1 3

1 2 3 1 3 1 2 1 2 3 1 3

XZY

C C S C S

C S C S S C C C S S S C

S S C C S S C S S S C C

Q

XZY

Q

YXY 1 2 3 1 3 1 2 1 2 3

2 3 2 2

1 2 3 1 3 1 2 1 2 3

YXY

S C S C C S S S C C

S S C S C

C C S S C C S C C C

1 3

3

1 2 3 1 3 1 2 1 2 3 1 3

2 3 2 2 3

1 2 3 1 3 1 2 1 2 3 1 3

YZY

C C C S S C S C C S S C

S C C S S

S C C C S S S S C S C C

3

1

C S

S S

Q

YZY

Q

YXZ 1 2 3 1 3 1 2 3 1 3

2 3 2 3

1 2 3 1 3 1 2 3 1 3

YXZ

S S S C C S S C C S

C S C C

C S S S C C S C S S

1

1

S C

S

C C

2

2

2

1 2 1 2 3 1 3 1 2 3 1 3

2 2 3 2 3

1 2 1 2 3 1 3 1 2 3 1 3

YZX

C C C S C S S C S S S C

S C C C S

S C S S C C S S S S C C

Q

YZX

Q

3.2 Denavit-Hartenberg (DH) Parameters

The DH parameters were originally proposed by Denavit and Hartenberg in 1955, and

widely used in robotics for the representation of the configuration of a link with respect to

its previous one connected by a one degree-of-freedom (DOF) revolute or prismatic joint.

Later, Khalil and Kleinfinger (1986) showed that the DH parameters form a powerful tool

for serial robots but lead to ambiguity in the case of closed-loop and tree-type systems. In

order to do away with the ambiguity they presented a scheme called Modified DH (MDH)

parameters by retaining all the benefits of the original definition. The use of MDH

parameters can be found in the work of Craig (2006).

38

Page 69: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

In this section, the MDH notation, as proposed by Khalil and Kleinfinger (1986) is

presented, and will be used throughout this thesis. For that, a co-ordinate frame is

attached to each link. The frame Ok-XkYkZk, denoted by Fk, is rigidly attached to the kth

link, as shown in Fig. 3.2. The joint k couples link (k-1) and k. The axis Zk represents the

kth

joint axis. Moreover, the origin of Fk, namely, Ok is located at a point where the

common normal to Zk and Zk+1 intersects Zk, whereas the common normal defines the axis

Xk. Furthermore, the axis Yk is such that axes Xk, Yk, and Zk form a right-handed triad,

i.e., the unit vectors parallel to the axes Xk, Yk, and Zk denoted as ik, jk, and kk, satisfy

ik×jk = kk. The co-ordinate frame is referred to as MDH frame or simply DH frame. Note

that the frame attached to the fixed link, i.e., O0-X0Y0Z0, can be chosen arbitrarily and

hence one can choose Z0 coincident with Z1. Once the link frames are established, using

the above scheme, the position and the orientation between any two frames, say, Fk-1 and

Fk, can be specified using four parameters known as MDH or DH parameters. As system

consists of 1-DOF joints only, out of the four DH parameters one varies whereas the other

three are constant. These parameters are now defined as follows:

Fig. 3.2 Frame convention for modified Denavit and Hartenberg (DH) parameters

Ok

Xk

Link k

Joint k+1

Zk-1

kO

bk

ak

k

ak-1,k

Frame, Fk

Zk+1

Zk

Link k-1

Joint k-1

Ok-1

Xk-1

Joint k

k

39

Page 70: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Referring to Fig. 3.2,

Twist angle ( k) is the angle between Zk-1 and Zk about Xk-1

Link length (ak) is the distance from Zk-1 to Zk along Xk-1

Joint offset (bk) is the distance from Xk-1 to Xk along Zk

Joint angle ( k) is the angle between Xk-1 and Xk about Zk

Depending on the type of joints, i.e., revolute or prismatic, k or bk is a variable quantity.

Based on the definition of the above DH parameters, the homogeneous transformation

matrix (Tk) defining the orientation and position of the frame Fk with respect to frame Fk-1

can be obtained as

1, 1

1

k k k kk

T

Q aT

0

0

0 0

0 1

k k

k

S

1, 1

k

k k k kk

k k

a

b S

b C

(3.3)

where the 3×3 orientation matrix Qk is defined as

( ) ( )

1 0 0

0 0

0

k kk X Z k k k

k k

k k

k k k k k

k k k k k

C

C S S C

S C

C S

S C C C S

S S C S C

Q Q Q

(3.4)

In Eq. (3.3), the position vector , measured from the origin Ok-1 of the frame Fk-1 to

the origin Ok of fame Fk (Fig. 3.2), in the frame Fk-1 is given by

1,ak k

(3.5) a

Note that, in Eqs. (3.4) and (3.5), C(•) Cos(•) and S(•) Sin(•).

40

Page 71: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

3.3 Euler-Angle-Joints (EAJs)

As discussed in Section 3.2, DH parameters are widely used for representation of links

connected by 1-DOF joints. Many modern day robotic systems, however, consist of

multiple-DOF joints, e.g., universal and spherical. One approach to model such multiple-

DOF joints is to represent them using intersecting 1-DOF revolute joints. Similarly, a

spherical joint can be modeled using three intersecting 1-DOF revolute joints axes of

which are identified with DH parameters. On the contrary, the Euler angles that are

popular in representing any 3-dimensional spatial rotation can be employed to model a

spherical joint as well.

Since the modeling of a spherical joint can be done using either Euler angles or three

intersecting revolute joint defined with DH parameters, an attempt is made here to

correlate them by introducing a concept of Euler-Angle-Joints (EAJs). EAJs are three

intersecting revolute joints but their axes are defined using DH parameters such that they

provide a rotation equivalent to the one described by a particular set of Euler angles. Such

correlation has never been attempted earlier, at least not found in the existing literature.

Hence, this forms one of the important contributions of this thesis. The concept is later

adopted for a unified representation of revolute joint based rotations i.e., revolute,

universal and spherical, and used to develop an efficient fully O(n) recursive algorithm. A

fully recursive algorithm is not possible if the representation of a spherical joint is done

using the definition of Euler angles. This is highlighted in Subsection 6.1.2.

3.3.1 DH parameterization of Euler angles

As mentioned earlier, the EAJs are intersecting revolute joints that give Euler angle

rotations. Architecture of an EAJ is shown in Fig. 3.3, where a spherical joint that

connects a moving link #M to a reference link #R. The spherical joint is described by

41

Page 72: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

using three intersecting revolute joints, where joint 1 connects real link #R to an

imaginary link #1, whereas joint 2 connects two imaginary links #1 and #2, and joint 3

connects imaginary link #2 with a real link #M. Two coordinate frames OM-XMYMZM and

OR-XRYRZR are rigidly attached to links #M and #R, respectively. If these frames are

denoted as FM and FR, the rotation matrix between these frames can be obtained by using

any of the Euler angle sets defined in Section 3.1. If the ZYZ Euler angle set is used, one

obtains the orientation matrix Q given in Eq. (3.2). Interestingly, the same rotation matrix

is obtained by treating the spherical joint as a combination of three coincident revolute

pairs and by defining their axes using the DH parameters.

Fig. 3.3 A spherical represented by three intersecting revolute joints

ZM

1

2

#1

#2YM

XM

#M #R

3

OM

YR

XR

ZR

OR

However, it is worth reminding that the definitions of DH parameters include 1) constant

rotation about X axis representing twist angle , and 2) variable rotation about Z axis

representing joint angle . As a result, first step towards the development of EAJs, i.e., to

correlate DH parameters with axes of Euler angle rotations, is to represent any Euler

angle rotation with respect to Z or X axis only. Since the variable joint rotation in the DH

parameter definitions is with respect to Z axis only, an Euler angle rotation about X or Y

axis has to be expressed as a rotation about Z axis. This can be done by first orienting Z

axis parallel to X or Y axis through a fixed set of rotations, typically, by 90os, followed by

the actual or variable rotation about the Z axis. The fixed rotations are then reversed.

These will be clear from the following subsection where each elementary rotation about

X, Y and Z axes is expressed as a rotation about Z axis only.

42

Page 73: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

3.3.2 Elementary rotations

In order to obtain Euler-Angle-Joints (EAJs) corresponding to a particular Euler Angle

set, it is necessary that every elementary rotation, say, about X and Y axes, is finally be

considered as rotation about Z axis only. The concept is illustrated below:

1) Rotation about Z axis

Figure 3.4 shows the elementary rotation about Z axis. In DH parameter definition, a

rotation is defined about an axis that is identified as Z axis. The rotation matrix defining

the rotation of frame O -X Y Z with respect to frame O-XYZ is denoted as QZ( ) or Q for

brevity.

Fig. 3.4 Rotation about Z axis denoted as QZ( )

X

Y

Z, Z

Y

X

O

2) Rotation about Y axis

An elementary rotation about Y axis is shown in Fig. 3.5(a). As per the DH nomenclature,

a variable rotation has to be about Z axis only. Hence, Z axis of Fig. 3.5(a) has to be first

brought parallel to Y axis before the desired rotation is applied. This can be done by

rotation of the frame O-XYZ about X axis by -90o (clockwise rotation is negative), as

shown in Fig. 3.5(b). The new frame is indicated with O-X1Y1Z1. The rotation is

indicated with QX(-90). The desired rotation by an angle is now given about Z1 axis as

shown in Fig. 3.5(c), where the corresponding rotation is indicated by QZ( ). The new

frame is O-X2Y2Z2. Finally, to take care of the initial rotation about X axis by -90o, an

opposite rotation about X2 axis is applied, which is indicated by QX(90), as shown in Fig.

43

Page 74: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

3.5(d). The final frame is O -X Y Z . The resultant of three elementary rotations is the

desired rotation about Y axis, which is given by

(a) (b) QX(-90) (c) QZ( ) (d) QX(90)

Fig. 3.5 Rotation about Y axis

Y X XQ Q Q Q (3.6)

where for brevity, ( ) ( 90) (90), ,Z X X X X Q Q Q QQ Q are used.

3) Rotation about X axis

Similar to the rotation about Y axis, rotation about X axis is equivalent to five elementary

rotations shown in Fig. 3.6. They are

i. Rotation about Z axis by 90o

to reach O-X1Y1Z1 (Fig. 3.6(b)).

ii. Rotation about X1 axis by 90o to reach O-X2Y2Z2 (Fig. 3.6(c)).

iii. Rotation about Z2 axis by to reach O-X3Y3Z3 (Fig. 3.6(d)).

iv. Rotation about X3 axis by -90o

to reach O-X4Y4Z4 (Fig. 3.6(e)).

v. Rotation about Z4 axis by -90o

to reach the final orientation, O-X Y Z (Fig. 3.6(f)).

The above five rotations can be represented as

(a) (b) QZ(90) (c) QX(90) (d) QZ( ) (e) QX(-90) (f) QZ(-90)

Fig. 3.6 Rotation about X axis

X

Y, X1

Z,Z1

Y1

X,Z2

Z,Z1,Y2

Y,X1,X2Y,X1,X2

Z,Z1,Y2Y3,Z4

Y4 X3,X4

X,Z2,Z3,X

Y,X1,X2

Z,Z1,Y2 Y3,Z4Z

X3,X4Y

X,Z2,Z3X,Z2,Z3

Z,Z1,Y2

Y,X1,X2

X3

Y3

X, X

Y

Z Z

Y

O O O O O O

Y1

X, X1

Y, Z1

Z

Y1 X, X1

Y, Z1, Z2

Z

Y2X2

X, X1

Y, Z1,Z2 ,Y

Z

Z

X2,X

X

Y, Y1

Z

Z

X1

Y1

O O O O

44

Page 75: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

X Z X X ZQ Q Q Q Q Q (3.7)

(90) (90) ( ) ( 90) ( 90)where , , , , and .Z Z X X Z X X Z ZQ Q Q Q Q Q Q Q Q Q

3.3.3 Composite rotations

Resultant of two elementary rotations, say, first about X and followed by the next about

Y, denoted as a composite rotation XY, can be obtained by using the elementary rotation

representations derived in Subsection 3.3.2. They are shown below:

1) Rotation about X and Y axes

Rotation matrix QXY due to a rotation about X axis followed by a rotation about Y axis

can be shown to be a combination of rotation matrices QX and QY representing the

elementary rotation about X and Y axes, obtained in Eqs. (3.7) and (3.6), respectively,

i.e.,

1 2Q Q Q Q

X Y

Z X XQ Q Q Q Q Q QXY X Y Z X X (3.8)

where 1

Q and 2

Q represent rotation matrices due to the rotations about X and Y axes by

the angles 1 and 2, respectively. Note that in Eq. (3.8), Q Z represents the rotation

matrix due to rotation about the Z axis by -90o. Since DH nomenclature requires all

rotations about Z axis as a variable angle, such a term in the middle will not allow one to

express the axes of rotations for the Euler angles using the DH parameters. A close look

into the underlined terms of Eq. (3.8), i.e., X Z XQQ Q , however reveals that it is equal

(a) QX(-90) (b) QZ(-90) (c) QX(-90) (d) QZ(-90) (e) QX(-90) (f) QZ(-90)

Fig. 3.7 Equivalent transformation

X, Y1

Y

Z, Z1

X1

X,Y1,Z2

Y

Z, Z1

Y2

X1,X2

X,Y1,Z2,Z

Y

Z, Z1,X

X1,X2,Y O OO

Y2

X, X1

Y, Z1

Z

Y1 X, X1,Y2

Y, Z1,Z2

Z, X2

X, X1,Y2, Z

Y, Z1,Z2

Z, X2,X

Y

Y1

O OO

45

Page 76: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

to Z XQ Q Q

( 90) ( 90)Q Q Q

Z , as evident from Fig. 3.7. The same can be proven using matrix

representation as well.

Note that for any three sequential rotations of 900 represented by the rotation matrix

, the property ( 90) ( 90) ( 90) ( 90) ( 90) ( 90) ( 90)Q Q Q Q Q Q is valid for

and being rotation about X, Y or Z axes.

Hence, replacing Q Q QX Z X in Eq. (3.8) by Z X ZQ Q Q , one obtains the following:

1 2Q Q Q Q QZ X Z XQ Q Q QXY Z X (3.9)

In Eq. (3.9), even if Q Z appears in the middle, but it is next to 1

Q which represents a

variable rotation about Z axis. Hence, the two consecutive rotations about Z axis is

equivalent to one rotation by ( 1-90)o. As a result, no difficulty is faced in defining the

DH parameters.

It is worth mentioning here that the rotation matrix due to sequence of first rotation

about Y axis and then about X axis can be obtained by using the transpose rule of matrix

multiplication, i.e.,

YXQ

1 2Q Q Q QZ X ZQ Q Q Q Q Q

T

YX XY X Z X (3.10)

represents actually 2

Q QT

1Qwhere

2 because the first joint rotation in composite

rotation is denoted with 1. Moreover, since the new variable 1 is introduced it can also

represent 2 without affecting the composite rotation representation. The same, i.e.,

, can also be verified independently using the expressions given in Eqs. (3.6) and

(3.7), as done for Q in Eq. (3.8).

QYX

XY

46

Page 77: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

2) Rotations about Y and Z axes

Rotation about Y axis followed by a rotation about Z axis can be shown to be a

combination of rotations about Y and Z axes obtained in the Subsection 3.3.2. This is

given by

1 2Q Q Q Q Q

Y

Q Q

Z

YZ Y Z X X (3.11)

Similar to in Eq. (3.10), YXQ ZYQ , can be shown to be equal to

1 2Q Q Q Q Q Q

T

ZY YZ X X (3.12)

3) Rotations about Z and X axes

As shown above for XY rotations, XZQ can be obtained as

1 2Q Q Q Q Q

X

Q Q Q Q

Z

XZ X Z Z X X Z

1 2Q Q Q Q Q

(3.13)

Again using the transpose rule, one can show

Q Q QT

ZX XZ Z X X Z (3.14)

3.4 Euler Angles Using Euler-Angle-Joints (EAJs)

In this section, it will be shown how the Euler angle sets can be obtained by using the

concept of Euler-Angle-Joints (EAJs) and the elementary rotations explained in

Subsections 3.3.2 and 3.3.3.

3.4.1 ZYZ-EAJs

The rotation matrix for the ZYZ Euler angles set can be obtained as the combinations of

the rotation representations about Z and the composite rotation about YZ by using the

rotation matrix 1

Q and Eq. (3.11), i.e.,

47

Page 78: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

1 2 3Q Q Q Q Q

YZ

X XQ Q Q

Z

ZYZ Z YZ

(3.15)

In Eq. (3.15), Qk for k=1, 2, 3, represents the rotation matrix corresponding to the angles

1 , 2 , and 3 about Z, Y and Z axes, respectively. However, the rotation is always

performed abut Z axis. Hence, k , for k=1, 2, 3, can be interpreted as the variable DH

parameter or the joint angle. Moreover, the rotation about X axis, i.e., Q X , may be

interpreted as the rotations due to the twist angles ’s. Note that, according to the

definition of the DH parameters obtained in Section 3.2, the transformation due to the

twist angle precedes the one due to the joint angle. This is evident from Eq. (3.4).

Therefore, the DH parameters for the ZYZ Euler angles can be extracted from Eq. (3.15)

as

First rotation matrix 1(Q 1Q

1, 1 being an identity matrix) corresponds to the

rotation 1=0 about X axis, followed by a rotation of 1 about Z axis.

The next rotation matrices 2

and Q QX correspond to the rotation of 2=-90o about X

axis, followed by a rotation of 2 about Z axis.

Finally, the rotation matrices 3

andQ QX correspond to a rotation of 3=90o about

X axis followed by a rotation of 3 about Z axis.

The DH parameters thus obtained for the ZYZ Euler-Angle-Joints (EAJs) are shown in

Table 3.2.

Table 3.2 DH parameters for ZYZ EAJs

k ak bk k (JV)

1 0 a1 0 1

2 -90 0 0 2

3 90 0 0 3

JV: Joint variable

48

Page 79: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Now, a spherical joint connecting the moving link #M with the reference link #R can be

represented using the ZYZ EAJs as indicated in Fig. 3.8. Frames FM, i.e., OM-XMYMZM,

and FR, i.e., OR-XRYRZR, are rigidly attached to the links #M and #R, respectively. The

other frames are assigned in such a manner that they satisfy the DH parameters specified

in Table 3.2. These are explained below:

Fig. 3.8 Representation of DH frames for ZYZ EAJs

Z1, ZM

1

2

#1

#2

ZYZ EAJs

Z2, YM

X1, X2, XM

#M #R

3

OM

YR

XR

ZR

OR

For 1=0o, axis Z1 is parallel to ZR and it represents the joint axis of revolute joint 1

connecting the imaginary link #1 to the reference link #R.

For 2=-90o, axis Z2 is orthogonal to Z1 and it represents the joint axis of the revolute

joint 2 connecting the imaginary link #2 to the imaginary link #1. It is worth noting

that the axis Z2 is initially parallel to YR, as the second Euler angle rotation is about Y

axis.

For 3=90o, the third joint axis is orthogonal to Z2 and parallel to ZM. It connects the

link #M to the imaginary link #2. The axis ZM is initially parallel to the axis ZR as

final Euler angle rotation is about Z axis.

The resulting DH frames are shown in Fig. 3.8. With the simultaneous movement of the

three revolute joints, the frame FM attached to #M will then change its orientation with

respect to the frame FR attached to #R. Using the DH parameters in Table 3.2, the rotation

matrices Qk of Eq. (3.4), for k= 1, 2, 3, are obtained as

49

Page 80: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

1 1 2 2 3 3

1 1 1 2 3

2 2 3 3

0 0

0 , 0 0 1 , and 0 0 1

0 0 1 0 0

Q Q Q

C S C S C S

S C

S C S C

0

1 2

1 2

2

S

S

(3.16)

where Q1 represents the orientation of Frame F1 with respect to (w.r.t.) FR. Similarly, Q2

and Q3 represent the orientations of F2 w.r.t. F1 and FM w.r.t. F2, respectively. Successive

multiplications of Q1, Q2 and Q3, i.e., QZYZ Q1 Q2 Q3, will then provide the overall

orientation of #M w.r.t. #R. Matrix QZYZ is given by

1 2 3 1 3 1 2 3 1 3

1 2 3 1 3 1 2 3 1 3

2 3 2 3

Q ZYZ

C C C S S C C S S C C

S C C C S S C S C C S

S C S S C

(3.17)

The matrix elements of Q given in Eq. (3.17) are nothing but those appearing in Eq. (3.2)

that was obtained using the ZYZ Euler angle set. This proves that the three intersecting

revolute joints shown in Fig. 3.8 are equivalent to the spherical joint whose rotations are

denoted with ZYZ Euler angles. Hence, the revolute joints in Fig. 3.8 are termed as ZYZ

Euler-Angle-Joints (EAJs). Note that the above derivations could also be done by

combining ZY rotations given by Eq. (3.12), followed by the rotation about Z axis to be

denoted as 3

Q , i.e.,

1 2 3Q Q Q Q Q

ZY

Q Q Q

Z

ZYZ ZY Z X X

(3.18)

where QZYZ in Eq. (3.18) is nothing but the one obtained in Eq. (3.15) or Eq. (3.17). It

may also be proved that is associative in nature provided the sequence of rotations is

maintained. So

Q

Q Q Q Q Q (3.19)

50

Page 81: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

3.4.2 ZXZ-EAJs

The rotation matrix for the symmetric ZXZ Euler angles can be obtained as the

combination of rotation about Z and a composite rotation XZ by using the rotation matrix

1Q and Eq. (3.13) as

1 2 3Q Q Q Q Q

XZ

X X ZQ Q Q Q Q

Z

ZXZ Z XZ Z

(3.20)

Once again, in Eq. (3.20), Q X is the rotation matrix corresponding to the twist angle,

and Qk and Q Z correspond to the joint angles. Based on Eq. (3.20), the DH parameters

are shown in Table 3.3.

Like the previous section, one can relate the rotation matrix by using ZXZ Euler angles as

a combination of three intersecting revolute joints. The representations of DH frames,

however, differ from what has been done for ZYZ EAJs. Assignment of the DH frames

for the three intersecting revolute joints representing ZXZ EAJs is shown in Fig. 3.9.

Table 3.3 DH parameter for ZXZ EAJs

k ak bk k (JV)

1 0 a1 0 1 +90

2 90 0 0 2

3 -90 0 0 3-90

JV: Joint variable

The corresponding rotation matrices between F1 and FR, F2 and F1, and FM and F2 are

given below:

Fig. 3.9 Representation of DH frames for ZXZ EAJs

Z1, ZM

X1, X2, YM

1

3

#1

#2

ZXZ EAJs

#M #R

OM2Z2, XM

YR

XR

ZR

OR

51

Page 82: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

1 1 2 2 3 3

1 1 1 2 3

2 2 3 3

0 0

0 , 0 0 1 , and 0 0 1

0 0 1 0 0

S C C S S C

C S

S C C S

Q Q Q

0

2

2

2

(3.21)

The overall rotation matrix, QZXZ, between the frames FM and FR is then given by

1 2 3 1 3 1 2 3 1 3 1

1 2 3 1 3 1 2 3 1 3 1

2 3 2 3

Q ZXZ

S C S C C S C C C S S S

C C S S C C C C S S C S

S S S C C

(3.22)

Here too, it can be seen that the orientation matrix QZXZ of Eq. (3.22) is same as that of

the ZXZ Euler angles set given in Table 3.1.

3.4.3 ZXY-EAJs

In the previous subsections, ZYZ and ZXZ are referred to as symmetric Euler angle sets.

In order to show how EAJs evolve for asymmetric Euler angle set, where the third

rotation is not about Z, the ZXY set is considered next. Similar to the previous

subsections rotation matrix for the ZXY Euler angles can be obtain as a combination of

the rotation matrix QZ and a composite rotation matrix QXY as in Eq. (3.9). Hence

1 2Q Q Q Q Q Q Q Q Q

XYZ

3Q Q Q

ZXY Z XY Z X Z X Z X (3.23)

The above equation forms the basis for the definition of the DH parameters for ZXY

EAJs, which are evolved from Eq. (3.23) as follows:

The first two terms 1 1( ) and ZQ 1Q Q correspond to the twist angle 1= 0

o and net

joint angle of ( 1+90o).

Next, three terms 2

, and Q Q QX Z correspond to the twist angle 2= 90o, and the

net joint angle of ( 2-90o), respectively.

52

Page 83: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

The terms 3

, and Q Q QX Z correspond to twist angle 3= -90o and the net joint

angle of ( 3-90o), respectively.

Finally, an additional constant rotation matrix Q X remains. This necessitates an

additional set of DH parameters. It is worth mentioning that the system under study

has three joints and 3-DOF. As a result, three sets of DH parameters should be

sufficient for defining its configuration. However while obtaining the DH parameters

for ZXY Euler angle the term Q X is inevitable. It corresponds to a fourth set of DH

parameters, namely, 4=90o, 4=0

o. Presence of a constant rotation matrix Q X is the

result of the final rotation of the Euler angles about Y axis. This is an important

observation.

The DH parameters for ZXY Euler angles are shown in Table 3.4. Based on the DH

parameters obtained in Table 3.4, the ZXY EAJs is represented in Fig. 3.10. The DH

frames for the ZXY EAJs using the DH parameters in Table 3.4 are assigned as follows:

Table 3.4 DH parameters for ZXY EAJs

k ak bk k (JV)

1 0 a1 0 1+90

2 90 0 0 2-90

3 -90 0 0 3-90

4 90 0 0 0 (Constant)

JV: Joint variable

Fig. 3.10 Representation of DH frames for ZXY EAJs

YR

XR

ZR

OR Z2, MX , XM

1

2

3

#1

X1, MZ , YM

Z1, ZMZXY EAJs

#M #R

#2

OM

X2

53

Page 84: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

For 1=0o, axis Z1 is parallel to ZR and it represents the joint axis of revolute joint 1

connecting the imaginary link #1 to the reference link #R. Moreover, for the joint

angle ( 1+90o), X1 is perpendicular to XR initially.

For 2=90o, axis Z2 is perpendicular to Z1 and it represents the joint axis of revolute

joint 2 connecting the imaginary link #2 to the imaginary link #1. Once again, X2 is

perpendicular to X1 for initial joint angle of ( 2-90o). It is worth noting that axis Z2 in

initial configuration is parallel to XR as the second Euler angle rotation is about X

axis.

For 3=-90o, the third joint axis is perpendicular to Z2. It is important to note that the

third frame is attached to the moving link #M, however ZM cannot be chosen as the

third joint axis, as X2||ZM, which violates the definition of DH parameters. As a result,

an intermediate frame OM -X MY MZ M was assigned whose Z M axis is perpendicular

to Z2 and X2 both. Axis Z M is parallel to YR in the initial configuration. Both the

frames and FM are attached to the moving link #M and have constant rotation

between them.

MF

Finally, for 4=90o, i.e., corresponding to Q X , the location of frame OM -XMYMZM is

obtained by 90o rotation of the frame OM -X MY MZ M about X M.

Additional constant rotation matrix at the end, i.e., Q X , may be interpreted as the

rotation required to make the DH frame OM -X MY MZ M parallel to the moving frame OM

-XMYMZM in order to obtain the rotation matrix same as ZXY Euler angles. The above

DH parameters are then used to obtain rotation matrices Q1, Q2, Q3 and Q X representing

the rotations between the frames FR and F1, F1 and F2, and F2 and MF , and and FM

respectively, as

MF

54

Page 85: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

1 1 2 2 3 3

1 1 1 2 3

2 2 3 3

0 0

0 , 0 0 1 , 0 0 1

0 0 1 0

1 0 0

and 0 0 1

0 1 0

X

S C S C S C

C S

C S C S

Q Q Q

Q

0

,

0 (3.24)

The overall rotation matrix between FR and FM is obtained from the above successive

frame rotations as

1 2 3 1 3 1 2 1 2 3 1 3

1 2 3 1 2 3 1 3 1 2 1 2 3 1 3

2 3 2 2 3

Q Q Q Q QZXY X

S S S C C S C S S C C S

C S S S C C C C S C S S

C S S C C

(3.25)

The matrix expression of QZXY in Eq. (3.25) is same as the one corresponding to ZXY

Euler angles as shown in Table 3.1. Interestingly, it may be concluded that one always

encounters an additional constant rotation matrix Q+X when DH parameterization of the

Euler Angles set with final rotation about Y, e.g., XZY, YXY, etc., is attempted.

3.4.4 XYX-EAJs

The existence of constant rotation matrix, as shown in Eq. (3.25), necessitates the fourth

set of DH parameters while developing the ZXY EAJs, leads to the exploration of how

the EAJs evolve when initial and/or final rotation is given about the X axis. Hence, the

XYX Euler angles are considered next. Rotation matrix for XYX Euler angles is written

as a combination of rotation matrix QX and a composite rotation matrix Q as obtained

in Eqs. (3.7) and (3.10), respectively, i.e.,

YX

1 2

X Y

3

X

XYX X YX Z X X Z X Z X Z XQ Q Q Q Q Q Q Q Q Q Q Q Q Q Q ZQ (3.26)

where the underlined terms X Z XQ Q Q can be replaced by Z X ZQ Q Q , using the

property shown in Fig. 3.7. As a result, Eq. (3.26) is rewritten as

55

Page 86: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

1 2XYX Z X Z X Z Z X ZQ Q Q Q Q Q Q Q Q Q Q Q Q3 X ZQ

(3.27)

Simplifying further, the terms 2

Q Q QZ Z may be clubbed to result in the rotation

matrix as 2

Q for a net rotation of 2 about Z axis. Thus is given by QXYX

1 2Q Q Q Q Q Q Q Q QXYX Z X Z X X Z 3

Q Q QX Z

, 1

(3.28)

The DH parameters for the XYX EAJs are then obtained with the help of Eq. (3.28) as

given below:

The first term being an identity matrix) corresponds to the twist angle

0=0o and the joint angle 0=90

o.

(Q 1Q Z Z

The terms 1

, , and X ZQ Q Q are corresponding to twist angle 1= 90o and net joint

angle of ( 1-90o), respectively.

Next, the terms 2

andXQ Q correspond to twist angle 2= -90o and joint angle of 2.

Subsequently, the terms 3

, and X ZQ Q Q correspond to twist angle 3= 90

o and net

joint angle of ( 3+90), respectively.

Finally, the constant terms and X ZQ Q correspond to twist angle 4= -90o and joint

angle of 4=-90o.

It is worth noting here that while constructing XYX EAJs, the constant orientation term

ZQ in the beginning, and X ZQ Q at the end are inevitable. The resulting DH

parameters for the XYX EAJs are given in Table 3.5. This results into two additional

constant set of DH parameters in the beginning and at the end as may be seen in Table

3.5.

56

Page 87: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Like any other Euler angle sets, shown earlier, QXYX can also be obtained by XY and X

rotations, respectively. The resulting XYX EAJs are shown in Fig. 3.11, where the DH

frames assigned are as follows:

Table 3.5 DH parameters for XYX EAJs

k ak bk k (JV)

0 0 0 0 90 (Constant)

1 90 0 b1 1-90

2 -90 0 0 2

3 90 0 0 3+90

4 -90 0 0 -90 (Constant)

JV: Joint variable

Fig. 3.11 Representation of DH frames for XYX EAJs

Z1, MZ , XM

Z2, MX , YM

ZM

3 1

2#2 #1

XYX EAJs

#M #R

OM

X1, X2 RX , YR

R ,Z ZR

OR XR

For the constant terms 0=0o and 0=90

o, i.e., Z1Q , the DH frame O R-X RY RZ R is

obtained from frame OR-XRYRZR by rotating OR-XRYRZR by 90o about ZR. Both the

frames are rigidly attached to the reference link #R.

For 1=90o, axis Z1 is perpendicular to Z R and it represents the joint axis of revolute

joint 1 connecting the imaginary link #1 to the reference link #R. Moreover, for the

joint angle ( 1-90o), X1 is perpendicular to X R initially.

For 2=-90o, axis Z2 is perpendicular to Z1 and it represents the joint axis of revolute

joint 2 connecting the imaginary link #2 to the imaginary link #1. It is worth noting

that axis Z2 in initial configuration is parallel to YR as second Euler angle rotation is

about Y axis.

For 3=90o and the net joint angle of ( 3+90

o), the third joint axis is perpendicular to

Z2. Third frame is attached to the moving link #M, however, ZM is not the obvious

57

Page 88: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

choice for the third joint axis as X2||ZM, which violates the definition of the DH

notations. Hence, frame OM -X MY MZ M is assigned such that Z M (Z2 and X2) and

obviously axis Z M is parallel to XR in the initial configuration.

Finally, 4=-90o and 4=-90

o, i.e., the result of constant rotation matrix X ZQ Q , give

constant orientation of frame OM -XMYMZM, with respect to OM -X MY MZ M. Both the

frames are attached to the moving link #M.

Using the DH parameters in Table 3.5, the rotation matrices ZQ , Q1, Q2, Q3, and XZQ

representing rotations between frames FR and RF , RF and F1, F1 and F2, F2 and , and

and FM, respectively, are obtained by using Eq. (3.4) as

MF

F

,

3

3

3

M

1 1 2 2

1 2

1 1 2 2

3 3

3

3 3

0 1 0 0 0

1 0 0 , 0 0 1 , 0 0 1

0 0 1 0 0

0 0 1 0

0 0 1 , 0 0 1

0 1 0 0

Q Q Q

Q Q Q Q

Z

XZ X Z

S C C S

C S S C

S C

C S

(3.29)

The overall rotation matrix between the frames FR and FM is obtained as

1 2 3

2 2 3 2

1 2 1 2 3 1 3 1 2 3 1

1 2 1 2 3 1 3 1 2 3 1

Q Q Q Q Q QXYX Z XZ

C S S S C

S S S C S C C S C C C S

C S C C S S C C C C S S

(3.30)

where QXYX represents the XYX Euler angles. Interestingly enough, EAJs for the Euler

angle sets with first rotation about X, e.g., XYX, XYZ, XZY, require constant orientation

of Q+Z in the beginning, whereas the one with third rotation about X, e.g., XYX, ZYX,

YZX, require constant orientation of Q-XZ at the end.

58

Page 89: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

3.4.5 Other-EAJs

Similarly, Euler-Angle-Joints (EAJs) for all twelve Euler angle sets were obtained. Table

3.6 shows the EAJs and their overall rotation matrices Q , for , , = X, Y, Z,

corresponding to all the twelve Euler angles sets. The proposed concept not only

establishes correlation between the DH parameters and Euler angles but also facilitates

the systematic use of the intersecting revolute joints to describe the Euler Angle rotations

even though the configurations of the links are defined using the DH parameters. Such

correlations were never reported in the literature and thus form one of the important

contributions of this thesis.

While developing EAJs from Euler angles it was found that the definition of some of the

EAJs require additional constant set of DH parameters other than the three regular sets

corresponding to three physical revolute joints. As a result, a constant rotation matrix is

required either in the beginning or at the end. Interestingly, the existence of constant

rotation matrix depends on the axis about which the Euler angle is defined. This is

summarized below:

1. EAJs having first rotation about Z or Y axis do not require any fixed rotation

matrix in the beginning.

2. If the first rotation is about X axis, a fixed rotation matrix of Q Z in the

beginning is required to achieve EAJs.

3. The EAJs having third rotation about Z axis do not require any fixed rotation at

the end.

4. If the third rotation is about Y or X axis, it requires a fixed rotation matrix of Q X

or XZQ at the end.

59

Page 90: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Tab

le 3

.6 E

ule

r-A

ng

le-J

oin

ts

E

ule

r

Ang

le

Eu

ler

ang

le r

ota

tio

ns

usi

ng

equ

ival

ent

rota

tio

ns

w.r

.t. Z

an

d X

on

ly

DH

par

amet

ers

Equ

ival

ent

EA

Js

Ro

tati

on

mat

rix

usi

ng

th

e D

H p

aram

eter

s o

f th

e E

AJs

k

k

1

ZY

Z

12

QQ

QQ

ZYZ

X

11

23

12

31

31

23

13

12

12

31

31

23

13

12

23

23

2

QQ

QQ

ZY

Z

CC

CS

SC

CS

SC

CS

SC

CC

SS

CS

CC

SS

SC

SS

C

0

1

3Q

QX

2-9

02

39

0

3

2

ZX

Z

12

QQ

QQ

QZX

ZZ

X

Z

1,

ZM

1

2

#1 #

2

3Z

QQ

XQ

11

23

12

31

31

23

13

12

12

31

31

23

13

12

23

23

2

QQ

QQ

ZX

Z SC

SC

CS

CC

CS

SS

CC

SS

CC

CC

SS

CS

SS

SC

C

0

1+

90

2

90

2

3-9

03-9

0

3

ZX

Y

12

QQ

QQ

QQ

3Q

QQ

QZ

XY

ZX

ZX

ZX

1

12

3

12

31

31

21

23

13

12

31

31

21

23

13

23

22

3

QQ

QQ

QZ

XY

X

SS

SC

CS

CS

SC

CS

CS

SS

CC

CC

SC

SS

CS

SC

C

0

1+

90

29

0

2-9

0

3-9

03-9

0

49

0

0

4

ZY

X

12

QQ

QQ

QQ

Q3

QQ

QZ

YX

XZ

XZ

XZ

1

12

3

12

12

31

31

23

13

12

12

31

31

23

13

22

32

3

QQ

QQ

QZ

YX

XZ

CC

CS

SS

CC

SC

SS

SC

SS

SC

CS

SC

CS

SC

SC

C

0

1

2

-90

2+

90

39

0

3+

90

4-9

0-9

0

ZY

Z E

AJs

Z2,

YM

X1,

X2,

XM

#M

#R

3

OM

YR

XR

ZR O

R

Z

1,

ZM

X1,

X2, Y

M

1 3

#1

#2

ZX

Z E

AJs

#M

#R

OM

YR

XR

ZR O

R

2Z

2,

XM

YR

XR

ZR O

R

Z2,

MX

,X

M

1

2

3

#1

X1,

MZ

,Y

M

Z1,

ZM

Z

XY

EA

Js

#M

#R

#2

OM X

2

X1,

MZ

,X

M

1

3

2

#1

#2

ZY

X E

AJs

Z2,

MX

,Y

M

#R

#M

OM

YR

XR

ZR O

R

Z1,

ZM

X2

60

Page 91: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

5

XY

X

12

Q QQ

QQ

QQ

Q

XY

X

3Q

QQ

QZ

XZ

XX

ZX

Z

0

12

3

22

32

3

12

12

31

31

23

13

12

12

31

31

23

13

QQ

QQ

QQ

XY

XZ

XZ

CS

SS

C

SS

SC

SC

CS

CC

CS

CS

CC

SS

CC

CC

SS

0

90

19

0

1-9

0

2-9

02

39

0

3+

90

4-9

0-9

0

6

XZ

X

12

XZ

XZ

XX

3X

ZX

QQ

QQ

QQ

QQ

QQ

0

12

3

22

32

3

12

12

31

31

23

13

12

12

31

31

23

13

QQ

QQ

QQ

XZ

XZ

XZ

CS

CS

S

CS

CC

CS

SC

CS

SC

SS

SC

CC

SS

CS

CC

0

90

19

0

1

2-9

02

39

0

3

4-9

0-9

0

7

XY

Z

1Q

QQ

QQ

QX

YZ

ZX

Z2Q

QX

3Q

QX

Z

0

12

3

23

23

2

12

31

31

23

13

12

12

31

31

23

13

12

QQ

QQ

QX

YZ

Z

CC

CS

S

SS

CC

SS

SS

CC

SC

CS

CS

SC

SS

SC

CC

0

90

19

0

1-9

0

2-9

02-9

0

39

0

3

8

XZ

Y

12

QQ

QQ

QQ

XZ

YZ

XX

Z3

QQ

QX

XQ

0

12

3

23

22

3

12

31

31

21

23

13

12

31

31

21

23

13

QQ

QQ

QQ

XZ

YZ

X

CC

SC

S

CS

CS

SC

CC

SS

SC

SS

CC

SS

CS

SS

CC

0

90

19

0

1

2-9

02-9

0

3-9

03

49

0

0

Z1,

MZ

,X

M

Z2,

MX

,Y

M

ZM

XY

X E

AJs

#M

#R

31

2#

2#

1

OM X1,

X2

RX

,Y

R

R,

ZZ

R

OR

XR

X

ZX

EA

Js

X1,

X2,

MX

,Y

M

Z2,

ZM

2

1

3

#2

#1

#M

#R

OM

Z1,

MZ

,X

M

RX

,Y

R

R,

ZZ

R

OR

XR

Z1,

X2,

XM

ZM 3

2

1

#2

#1

XY

Z E

AJs

Z2,

YM

#M

#R

OM

X1

RX

,Y

R

R,

ZZ

R

OR

XR

X1,

MZ

,Y

M

Z2,

ZM

2

3

1 #

1

#2

Z1,

X2,

MX

,X

M

XZ

Y E

AJs

#M

#R

OM

RX

,Y

R

R,

ZZ

R

OR

XR

61

Page 92: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

62

QX

9

YX

Y

12

3Q

QQ

QQ

QQ

YX

YX

ZX

QQ

XZ

1-9

01+

90

12

3

12

31

31

21

23

1

23

22

3

12

31

31

21

23

13

QQ

QQ

QY

XY

X

SC

SC

CS

SS

CC

CS

SS

CS

C

CC

SS

CC

SC

CC

SS

3

29

0

2

3-9

03-9

0

49

0

0

10

YZ

Y

12

QQ

QQ

QYZY

XX

3Q

XQ

QX

1-9

01

12

3

12

31

31

21

23

13

23

22

3

12

31

31

21

23

13

QQ

QQ

QY

ZY

X

CC

CS

SC

SC

CS

SC

SC

CS

S

SC

CC

SS

SS

CS

CC

2

90

2

3-9

03

49

0

0

11

YX

Z

1Q

QQ

QQ

YX

ZX

ZX

2Q

QQ

XZ

3Q

QZ

12

3

12

31

31

23

13

12

23

23

2

12

31

31

23

13

12

QQ

QQ

YX

Z

SS

SC

CS

SC

CS

SC

CS

CC

S

CS

SS

CC

SC

SS

CC

1-9

01+

90

2

90

2+

90

3-9

03-9

0

12

YZ

X

12

QQ

QQ

QQ

YZ

XX

XZ

3Q

QQ

XX

12

3

12

12

31

31

23

13

22

32

3

12

12

31

31

23

13

QQ

QQ

QY

ZX

XZ

CC

CS

CS

SC

SS

SC

SC

CC

S

SC

SS

CC

SS

SS

CC

QZ

1-9

01

2

90

2+

90

39

0

3

4-9

0-9

0

YR

XR

ZR O

R

YR

XR

ZR O

R

3

2

1#

1

#2

Z1,

MZ

,Y

M

YX

Y E

AJs

Z2,

MX

,X

M

ZM

#M

#R

OM X

1,

X2

X1,

X2,

MX

,X

M

3

2

1

#1

#2

Z1,

MZ

,Y

M

YZ

Y E

AJs

Z2,

ZM

#M

#R

OM

X1

Z2,

XM

ZM 3

2

1

#2

#1

YX

Z E

AJs

#M

#R

OM

YR

XR

ZR O

R

Z1,

X2,

YM

X1,

MZ

,X

M

Z2,

ZM

2

1

3

#2

#1

YZ

X E

AJs

#M

#R

OM

YR

XR

ZR O

R

Z1,

X2,

MX

,Y

M

Page 93: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Table 3.7 shows the summary of the requirement of constant matrix multiplication in the

beginning or at the end or the both.

Table 3.7 Required constant matrix multiplication/Additional set of DH parameter for the EAJs

(See last column of Table 3.6)

Constant matrix multiplication/Additional set of DH parameter

Not required Required at

the beginning

Required at

the end

Required at both

the ends

EAJs with three

rotations (Euler

angles)

ZYZ

ZXZ

YXZ

XYZ

ZYX

YZX

ZXY

YXY

YZY

XYX

XZX

XZY

Table 3.7 provides an interesting conclusion. The symmetric EAJs ZYZ and ZXZ, and

asymmetric EAJs YXZ are free from the requirement of multiplication of any constant

rotation matrix. More specifically, only three sets of DH parameters are required to define

these EAJs. Hence, one should use ZYZ and ZXZ EAJs if symmetric set is chosen for

representing a three-dimensional rotation. On the other hand, YXZ EAJs is preferred if

asymmetric set is chosen for the rotation representation of a 3-DOF joints.

3.5 Representation of a Spherical Joint in a Robotic System Using EAJs

The spherical joint shown in Fig 3.3 connects the reference link #R with the moving link #M.

In practice, a robotic system may have serial- or tree-type architecture with several multiple-

DOF joints. This calls for a systematic numbering scheme for intersecting revolute joints and

the associated imaginary or physical links. So, the use of Euler-Angle-Joints (EAJs) and the

associated numbering scheme are presented here for the systematic representation of a

spherical joint. For example, Fig. 3.12 shows a link, #(k-1), coupled to its neighboring link,

#k, by a spherical joint, k, which has three rotational DOF. In order to represent the spherical

joint using YXZ EAJs, links #(k-1) and #k are considered to be connected by three

63

Page 94: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

orthogonally placed revolute joints, denoted as k1, k2, and k3, connecting two virtual links (#k1

and #k2), each of zero length and mass. The link #k3 is the actual physical link #k, which is

attached to the third revolute joint, i.e., k3. The corresponding frame assignment using the DH

notation is shown in Fig. 3.12.

The YXZ scheme of EAJs is chosen and will be used throughout this thesis because 1) it does

not require any fixed rotation at the beginning or at the end, and 2) unlike ZYZ scheme of

EAJs, it does not lead to a singularity in zero-configuration. Zero-configuration is defined

here as the one where all the joint angles are set to zeros.

Fig. 3.12 Representation of a spherical joint by using YXZ EAJs

2Z ,k Xk

1X ,k Zk

Ok

1Z ,k 2

X ,k Yk

#k (or #k3) #(k-1)

k1

k2

#k1

#k2

k3

Yk-1

Xk-1

Zk-1

Ok-1

3.6 Singularity in EAJs

Any three-parameter description of rotations including the Euler angles suffers from

singularity. Singularity is encountered in EAJs when two joint axes become parallel. This

phenomenon is also known as gimbal lock (Wittenburg, 2008). All symmetric EAJs have

zero-configurations as singular whereas all asymmetric EAJs are singular for 2=90.

Discussion on the singularity of EAJs is beyond of the scope of this thesis, hence, no further

discussion on how to avoid them is provided in this thesis. One may, however, be referred to

Shuster and Oh (1981) and Singla et al. (2004) for the singularity avoidance algorithm. In

reality, most of the physical joints have restricted motion, and hence, areas of gimbal lock

stay outside the domain of the movement of joints. Typically, a spherical joint used in

practice is constrained to move as shown in Fig. 3.13 (a). In such a situation, wise selection

64

Page 95: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

of EAJs helps in avoiding the singular configuration. For example, if one uses ZYZ EAJs as

shown in Fig. 3.13(b), singularity is encountered in the zero-configuration. This happens

when axis of joint 1 coincides with that of joint 3. On the contrary, use of YXZ EAJs, as

shown in Fig. 3.13(c), has no singularity corresponding to the zero-configuration. Singularity

occurs when joint 2 is rotated by 90o

about X axis. However, such a configuration is never

encountered due to the constrained movement of the spherical joint and hence singularity is

avoided.

(a) A constrained spherical joint (b) Use of ZYZ EAJs (c) Use of YXZ EAJs

(Singular zero configuration) (Nonsingular zero configuration)

Fig. 3.13 EAJs and singularity

1

Z

X Y2

3

32

Z

X

Y 1

3.7 Multiple-DOF Joints

The concept of EAJs can conveniently be used for the representation of a universal joint by

using the composite rotations as discussed in Subsection 3.3.3. Such EAJs representation will

allow one to treat the velocity transformation relation in a similar way to that of a revolute

joint as given by Eq. (4.11). Thus, the concept of EAJs allows one to treat any rotational

joint, be it 1-, 2- or 3-DOF, in a unified manner. This will be more evident in Chapter 4,

where the kinematics is presented for a system with multiple-DOF joints. Besides, such

relations lead to fully recursive O(n) dynamics algorithms, as highlighted in Section 6.1, and

is not possible with the original definition of the Euler angles. Moreover, it is also shown in

Chapter 6 that by careful treatment of zero lengths and masses, the most efficient algorithms

can be obtained for a tree-type system consisting of multiple-DOF joints.

65

Page 96: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

66

3.8 Summary

In this chapter, Euler angles and modified DH parameters are first revisited. The concept of

the Euler-Angle-Joints (EAJs) is then introduced. Euler-angle-joints (EAJs) are essentially

orthogonally intersecting revolute joints so connected by imaginary links with zero lengths

and masses that they represent a particular set of Euler angles. These EAJs are represented

using the well-known DH parameters. Different evolutions of EAJs corresponding to

different rotation sequences are also reported. The proposed EAJs are used in representing

multiple-DOF joints in the robotic systems studied in this thesis.

Page 97: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Chapter 4

KINEMATICS OF TREE-TYPE ROBOTIC SYSTEMS

Kinematic modeling of a tree-type robotic system is presented in this chapter. In order to

obtain kinematic constraints, a tree-type topology is first divided into a set of modules.

The kinematic constraints are then obtained between these modules by introducing the

concepts of module-twist, module-joint-rate, etc. This helps in obtaining the generic form

of the Decoupled Natural Orthogonal Complement (DeNOC) matrices for a tree-type

system with the help of module-to-module velocity transformations. In the present

derivation, link-to-link velocity transformation as presented by Saha (1999) turns out to

be a special case of the module-to-module velocity transformation proposed in this thesis.

4.1 Kinematic Modules

Conventionally a tree-type system is considered to have a set of links or bodies connected

by kinematic pairs as shown in Fig. 4.1(a). However, in this work a more generic

approach is introduced, where the tree-type architecture is considered to have a set of

kinematic modules, which are defined as a set of serially connected links. This is shown

in Fig. 4.1(b), where the kinematic modules are depicted by dotted boundaries. The tree-

type system is first kinematically modularized before its kinematic constraints are

obtained. In order to modularize a tree-type system, a link in a tree-type system is first

identified as its base, for example, link #0 in Fig. 4.1(b), which may be fixed or floating.

This is referred to as module M0. Once the base module is established, the system is then

modularized outward such that each module

67

Page 98: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

1. contains serially connected links only;

2. emerges from the last link of its parent module.

The first condition defines a module while the second one defines its connectivity with

the adjoining modules. The resulting modules are indicated with M1, M2, etc. It is worth

noting that any tree-type system can be modularized such that it follows the above two

conditions. For a given tree-type system, however, there may be several module

architectures which obey the above conditions. This is evident from Figs. 4.2(a) and (b)

which represent the two different module architectures of the tree-type system shown in

(a) Conventional (b) Multi-modular

Fig. 4.1 Tree-type architectures

(a) (b) (c)

Fig. 4.2 Different module architectures for the tree-type system in Fig 4.1(a)

Base

A link or

body

0

0

M1

Ms

Base

Mi

M

A kinematic

module

M0

0

#13

#12

#23

#5

#2#1

5

#11

#1

#4

M1

M3

M2

M5

M4 #

3

Base

M4

M1

M3

M5

M2

M0

M0

0

#12

#5

# 2#11

#11

#1

#4

M1

M2

M5

M4

Base

#13

#23 M3

#6 M6

M4

M1

M3

M5

M2

M0

M6

M0

0

#3

#k1 #13

#11

#l1

#1

M1

M3

Base

M1

M2 M3

#12

#22

M2

#2

M0

M0

68

Page 99: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Fig. 4.1(a). Moreover, if we consider each link in the tree-type system as a module then

the resultant module architecture also follows the above two modularization conditions.

As a result, Fig. 4.1(a) turns out to be a special case of the proposed architecture shown in

Fig. 4.1 (b). Figure 4.2(c) shows an arbitrary way of modularization that satisfies only the

first modularization condition, i.e., each module is a serial-chain, but does not satisfy the

second one as modules M2 and M3 do not emanate from the last link of their parent

module M1. Such modularization is not advisable as one has to keep track of the links

wherefrom the modules M2 and M3 emanate, for computing the velocities and

accelerations of links of these modules. The tracking index of parent bodies will cause

additional burden on the computational resources, thereby, slowing down the analysis or

simulation speed.

Referring to Fig. 4.1(b), it is assumed that each module, other than the base, is a child

module (Mi) that emerges from its parent module (M ). Obviously the child module bears

a higher module number than its parent, i.e., i > . The links inside the ith

module Mi are

denoted as #1i, …, #k

i, …, #

i, where the superscript i signifies the module number and

represents the total number of links in the ith

module. Moreover, the joints are denoted as

1i, …, k

i, …,

i, whereas the joint variables associated with joint k

i is denoted as k. As a

result, total number of joint variables in the ith

module, denoted as ni, is given by

1

i

i

k

k

n (4.1)

Total number of modules excluding M0 is denoted as s, whereas total number of links in

the s modules is denoted as . Also, the total number of joint variables in s modules is n.

Next, the kinematic constraints at the velocity level are derived amongst the links of a

module.

69

Page 100: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

4.2 Intra-Modular Velocity Constraints

As mentioned in the previous section, module i, for i = 1, …, s, in a tree-type system

contains only serially connected links. Let us consider two serially connected links in the

ith

module, as shown in Fig. 4.3. The kth

link, denoted as #k (or #ki), is connected to the

#(k-1)th

link, i.e., #(k-1)i, by a 1-DOF revolute or prismatic joint k. The velocity

constraints are then written in terms of the twist of these links. The 6-dimensional vector

of twist associated with the angular velocity, k

d linear velocity of the origin of link,

ok, of #k, is defined as

kt he origin of the kth

link is defined using the

Denavit-Hartenberg (DH) parameters described in Section 3.2, and shown in Fig. 4.3 by

point Ok. This is chosen to simplify some of the calculations during dynamic analyses.

Next, the twist of #k, can be written in terms of the twist of #(k-1), as

, an

]T T

, 1 1t A t pk k k k k k

[ T T

k ko .

,t k 1,tk

Fig. 4.3 The kth and (k-1)th links coupled by joint k

(4.2)

In Eq. (4.2), k

1

is the time rate of change of angular or translational displacement of the

kth

joint depending on the type of joint, i.e., revolute or prismatic, respectively. The

matrix

is the 6×6 twist-propagation matrix, and p is the 6-dimensional motion-

propagation vector. They are given by

,A k k k

Ok

ak,k+1

-1)

k

ek

#k

ak-1

#(k

k

link Ok+1

Ok : Origin of the kth

ak-1,k

Ok-1

70

Page 101: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

, 1

, 1

, and (

(for

k

k k k

k k

k

1 eA

a 1 1 0

0

e

for revolute)

prismatic)

p

1

] )

(4.3)

where is the 3×3 cross-product tensor associated with vector

, and when operates on any 3-dimensional

Cartesian vector, x, results in a cross-product vector, i.e., , 1k k

, 1k ka

1,( [k ka a, 1

T

k k k k k k ka b S b C

a x nsor , 1k k

. The te a 1

wing representation: has follo

0

0

k k k k

k k

k k k

b C b S

a

a

, 1

0

k k kb C

b S

a 1

(4.4)

In Eq. (4.3), ek is the unit vector along the axis of rotation or translation of the kth

joint.

The notations ‘O’, ‘1’ and ‘0’ in Eq. (4.3) represent null matrix, identity matrix and null

vector of compatible dimensions, respectively. The matrix , 1A k k

and vector , in Eq.

(4.3), have the following physical interpretations:

kp

Matrix transforms the twist or velocities of the #(k-1) to the twist of #k as if

they are rigidly attached and therefore referred to as “twist propagation matrix”,

which has following properties

, 1A k k

1

, 1 1,nd k k k k A A, 1 1, 2 , 2 ,; ; ak k k k k k k kA A A A 1 (4.5)

Vector contributes to the additional motion due to joint k. Hence, it is named as

“joint-motion propagation vector.”

kp

Next, the vectors of generalized twist and the generalized independent joint-rates for the

-coupled links of a serial module are defined as

71

Page 102: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

1 1, andt t t t q T

T T T

k

T

k

, where l dt Nq N N N

pk

(4.6)

where are the 6 - and -dimensional vectors, respectively. Substituting Eq. (4.2)

into Eq. (4.6), for k=1, …, , the expression for the generalized twist of a serial module, t,

is obtained as

andt q

(4.7)

In Eq. (4.7), 6 ×6 matrix Nl and 6 × matrix Nd are given by

1

2,1

, 1

,1 , -1

's

, and

's

1 O Op 0

A 1N N

A O0 p

A A 1

l d

k k

the base is floating

the base is fixed

0

0 0

0

, and

(4.8)

The matrices Nl and Nd are referred here as the Decoupled Natural Orthogonal

Complement (DeNOC) matrices of the serial-module of a tree-type system, which are

nothing but those reported by Saha (1997) for a serial robot. Now, the velocity constraints

for the module M0, consisting of the fixed or floating-base #0 only, are derived. The twist

of #0 can be expressed as

0 0 0 if

if

t P q

0 (4.9)

where the 6×6 matrix P0 and the 6-dimensional vector have the following

representations:

0q

0P q

1 o

L (4.10)

72

Page 103: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

In Eq. (4.10), , L0 and are the rates of the independent rotation co-ordinates, the

corresponding transformation matrix, and the linear velocity vector, respectively. Vector

contains the time-rates of Euler angles if the Euler angles are used to define the

rotation of the floating-base in the three-dimensional Cartesian space. The dimensions of

L0, and change if the rotation is represented, say, by using Euler parameters. For

planar rotations, the expression greatly simplifies, i.e., L0 and both become scalar

quantities. More specifically, L0 is a scalar one, i.e., 1, whereas scalar is the rotation

about the axis perpendicular to the plane of rotation.

0 0o

0

0

0

0

4.2.1 Presence of multiple-DOF joints

The DeNOC matrices for a serial module obtained in Eq. (4.8) pertain to a system with 1-

DOF joints only. However, a robotic system, e.g., a humanoid or quadruped, may contain

multiple-Degrees-of-Freedom (multiple-DOF) joints, say a universal or a spherical one.

One way of treating multiple-DOF joints is to treat them as a combination of several one-

DOF joints connected by links of zero length and mass as shown by Duffy (1978), and

Chaudhary and Saha (2007). Such consideration, however, increases unnecessary

computations in the kinematic and dynamic algorithms, as zero link lengths and masses

will not yield any non-zero results when operated on the other variable. Therefore

alternatively, Euler angles or Euler parameters are commonly used to represent the three

dimensional rotations due to the presence of, say, a spherical joint. Such representation,

however, do not lead to unified representation of multiple-DOF joints. Moreover, one

cannot avoid the inversion of 3×3 matrices in the recursive forward dynamics algorithm

as pointed in Subsection 6.1.2. On the contrary, Euler-Angle-Joints (EAJs) proposed in

Chapter 3 can be used, as this will avoid the above drawbacks present in the Euler angle

representation. The proposed EAJs can be used for unified representation of a generic

73

Page 104: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

multiple-DOF joint with the significant simplification in dynamics algorithms (Shah et

al., 2009). The general expressions of the velocity constraints associated with the links

connected by a multiple-DOF joint, Fig. 4.4, can then be given by

(a) A revolute joint ( k=1) (b) A universal joint ( k=2) (c) A spherical joint ( k=3)

Fig. 4.4 Representation of multiple-DOF joints

#k #(k-1)

k

#k (or #k2 )

k1 k2

#(k-1)

#k1

#k (or #k3 )

k1

k2 k3

#(k-1)

#k1

#k2

1

, -1 ( 1)for 1: t A t p

t t p

j jk

j j j j

k k k k k

k k k k

if 1

if 1

jk kj j

j

1 ( )k

T T

k

(4.11)

where k corresponds to the joint variable associated with the kth

joint, e.g., k=1 for 1-

DOF joint, k=2 for 2-DOF and k=3 for 3-DOF joints. Next, the twists of associated links

and corresponding joint rates are written as

1 ( ), and

k

T T

k k k k kt t t (4.12)

Using Eqs. (4.11) and (4.12), can be written in terms of tk 1tk as

, -1 1t t P k k k k k k

'

kk

s

(4.13)

where the 6 k×6 k-1 matrix and 6 k× k matrix P are represented as , 1k k k

1

1

, 1

, 1

, 1

, and

kk k

k k k

k k k

p 0

p

O O A

P

O O A p

(4.14)

where ‘O’ and ‘0’ stand for the 6×6 null matrix and 6-dimensional null vector,

respectively. Furthermore, A is the 6×6 twist-propagation matrix, and p is the 6-, 1k k jk

74

Page 105: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

dimensional motion-propagation vector, as obtained in Eq. (4.3). It is worth mentioning

that the unique form of and can only be attained if the origin is selected as the

reference point. It is evident from Eq. (4.14) that the sizes of block matrices

, 1k k k

, 1k k and

change depending on the number of joint variables k and k-1 associated with kth

and

(k-1)th

joints, respectively. For example, if kth

joint is universal, i.e., k=2, and (k-1)th

joint

is spherical, i.e., k-1=3, then the sizes of matrices

k

, 1k k and are 12×18 and 12×2,

respectively. They are expressed as follows:

k

1

p p

k

1 2

dp 0

Pk

k k

, 1

, 1

anO O

O Ok k, 1

A

A

k k

k k

1, 1 andk k p

(4.15)

Similarly if the kth

joint is revolute, i.e., k=1, and (k-1)th

joint is spherical, i.e., k-1=3, then

the sizes of matrices and re 6×18 and 6×1, respectively. The matrices are

given by

, 1k k

, 1k k

ka

O O kA k P

, 1k k

(4.16)

In case a serial system has only 1-DOF joints then, , 1k k and k k P p

1

2

P

O

1 O

A

O

. As a

result Eq. (4.13) simplifies to Eq. (4.2). This shows that Eq. (4.2) is the special case of

Eq. (4.13). Next, the general expression of the DeNOC matrices for a serial-chain system

with multiple-DOF joints can be obtain, similar to Eq. (4.8), as

2,1

,1 , -1

, andl d

1 O

N

O

1 O

O O

P ON

P

(4.17)

75

Page 106: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

where Nl and Nd are the 6n×6n and 6n×n matrices. In contrast to Saha (1997), here a

general form of the DeNOC matrices is proposed for representing a serial-chain system

with multiple-DOF joints.

4.2.2 An illustration: A spatial double pendulum

The concept of DeNOC matrices for a serial-chain system with multiple-DOF joints is

illustrated next using a spatial double pendulum with a spherical and revolute joint,

located at 1 and 2, as shown in Fig. 4.5. The DeNOC matrices for this system can be

obtained using Eq. (4.17) as

1

2

ndP O

NO P

l l

2,1

, a1 O

N 1

2 2nd P p

(4.18)

where the 6×18 matrix , the 18×3 matrix P1, and the 6×1 vector P2 are obtained using

Eq. (4.14) as

2,1

1

1 2

1 2 3

1

2,1 2,1 1 1 1

1 1 1

, a

p 0 0

O O A P p p 0

p p p

(4.19)

in which the 6×6 matrix and the 6-dimensioinal vector are defined in Eq. (4.3). 2,1A

jkp

Fig. 4.5 A spatial double pendulum

# 1

# 2

1

2

76

Page 107: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

4.3 Inter-Modular Velocity Constraints

Tree-type robotic systems have more than one kinematic module. Hence, the velocity

constraints between the modules, i.e., at inter-modular level, will be derived in this

section. For this, recursive relationships between any two adjoining modules are

established first. Figure 4.6 shows module Mi and its parent module M (‘ ’ signifies a

parent). For the module Mi, the 6ni-dimensional vector of module-twist, t

i, that has n

i link

twists, and the ni-dimensional vector of module-joint-rate, qi

, having ni joint rates are

defined as

Fig. 4.6 Module Mi and its parent M

i

1

1i

Mi

iM

ki

, ika

1

ki

i

1i

11

and i k i k

iit

t t q

t

(4.20)

A bar (‘ ’) over an entity, in Eq. (4.20), signifies that the quantity is related to a module

and the superscript, i, outside the bracket identifies the module. As a consequence, the

generic notation t (or t ) in Eq. (4.20) is the 6-dimensional twist vector for the kth

link

in the ith

module. Next, it is shown that the module-twist

k ik

ti, for Mi, can be written in terms

of the module-twist (or )t ti

of its parent M as

77

Page 108: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

, ii i i it A t N q (4.21)

where ,Ai , and N are the 6ni×6n module-twist propagation and 6n

i×n

i module-joint-

motion propagation matrices, respectively, which are given by

i

11 ,

2,1 1 1

,

, 1 1

,1 1 , -1 1,

, and

i

i

i

k

i ik

k k k

i

,

p 0 0O O A

A p pA O O A N

A p 0

O O A A p A p p

(4.22)

In Eq. (4.22), ,Ai propagates the twist of the parent module (th

) to the child module (ith

);

the last column contains the twist propagation matrix from the th

link of the th

module

wherefrom the ith

module emanates, to the different links of the ith

module. Matrix ,ik

A

in the expression of ,Ai denotes the 6×6 twist-propagation matrix from the twist of link

# in M to the twist of link #ki in Mi. Its expression is obtained similar to of Eq.

(4.3) and is associated with the vector

,k kA 1

,a ik

, as indicated in Fig. 4.6. Moreover for any

three adjoining modules i, h and j, module-twist propagation matrix satisfies the

following property

, , ,j h h i j iA A A (4.23)

Equation (4.23) is, however, not true for non adjoining module. For example, referring to

Fig. 4.2 (a), 3,1 1,0 3,0A A A but 3,2 2,1 3,1A A A as modules M2 and M3 form different

branches. It is worth noting that in Eq. (4.22), matrix and vector ,k lA kp are

corresponding to the system with only 1-DOF joints. If higher-DOF joints are present

then and ,k lA kp are to be replaced with and P of Eq. (4.17). Moreover, for a

,l k k

78

Page 109: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

single-chain fixed-base serial system with only 1-DOF joints, the expression in Eq. (4.21)

is effectively the one given by Eq. (4.7), as the parent module is the fixed-base and

t 0 . As a result, the module-joint-rate propagation matrix N iof Eq. (4.22) is the same

as the NOC of a serial-chain system. Now, the module twist for module M0 is expressed

using Eq. (4.21) as

0 0t N

0

0 , if the base is floating

, if the base is fixed

q

(4.24)

0 0 0 0where and .N P q q Considering all the links and joints, the generalized twist

vector, t, consisting of all module-twists, and the generalized joint-rate vector, q ,

consisting of all module-joint-rates are defined next as:

0 0

1 1

and i i

s s

t q

t q

t qt q

t q

(4.25)

In Eq. (4.25), the vector of module-twists ti and module-joint-rates qi

contain link twists

and joint rates, respectively, as defined in Eq. (4.20). Hence, Eq. (4.25) treats modules of

a tree-type system similar to the links in a serial system. This analogy helps one to

extrapolate many concepts of the serial-chain systems directly to the tree-type systems.

One such example is formulation of Eq. (4.21) as an extrapolation of Eq. (4.2).

Substituting Eq. (4.21) into Eq. (4.25), the generalized twist t is expressed as

dt At N q (4.26)

79

Page 110: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

where A and N d are the 6(n+ 0)×6(n+ 0) and 6n×(n+n0) matrices, where n0= 0=0 for a

fixed-base, and 0=1 and n0=6 for a floating-base. Matrices A and N dare given as

0

1,

,

,

''s

, and

's'

d i

i

s

s

s

s

N

O ON O

A O A N

AO N

O A O

(4.27)

In Eq. (4.27), in ,Ai corresponds to the parent of i, for i=1, …, s. Moreover, O’s are

null matrices of compatible dimensions. Rearranging Eq. (4.26), the 6(n+ 0)-dimensional

generalized twist is given by

1here ( )d l, wl d N 1 At N N q (4.28)

The 6(n+ 0)×6(n+ 0) matrix N l is as follows:

0

1,0 1

,2,0 2,1 2

,0 ,1 , 1

's

( ,

1

A 1 O

N A if )O A A 1

A A A 1

l

s s s s s

j i j iM (4.29)

where 1i is the 6ni×6n

i identity matrix and i stands for array of all the modules

upstream from as well as including the module Mi,

as shown within the dashed boundary of Fig. 4.7.

Hence, if module Mj does not belong to i then

,A j i vanishes. This means that the twist of any link

belonging to module Mj does not depend on any

link of any module originating from Mi. This

essentially takes care of branch-induced sparsity.

Fig. 4.7 Definition of i

i i

Modules

Detail inside

the module

80

Page 111: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

The matrices N l and N d of Eq. (4.28) are nothing but the DeNOC matrices for the tree-

type system under study, written in terms of the module information rather than in terms

of the link information. Hence, Eqs. (4.27) and (4.29) are the generic versions of Eq.

(4.8). Under the special case, when the base is fixed all the terms containing subscript ‘0’,

i.e., ,0 0 0, , andA 1 Ni (the elements in the 1st row and column), vanish. Moreover, if each

module consists of one link with no branching, and is connected by 1-DOF joint only,

then N pi i, ,A Ai j i j, and , , ,i j j k i kA A A As a result, the expressions of N l and N d

degenerate to Eq. (4.8), which shows that the work by Saha (1999) is a special case of

what is proposed here. This brings up an important fact that, for different module

architecture, the NOC decouples into different module-DeNOC matrices lN and dN .

Generalization of the DeNOC concept from a serial system of Saha (1997) to a tree-type

system with general module architecture and multiple-DOF joints is one of the important

contributions of this thesis.

4.4 Examples

In order to illustrate the concept of the module-DeNOC matrices, and branch induced

sparsity, several planar and spatial examples are given next.

4.4.1 A robotic gripper

Figure 4.8 shows a 4-link tree-type robotic gripper. The gripper is divided into four

modules, as indicated in Fig. 4.8, using the scheme presented in Section 4.1. They are M0,

M1, M2, and M3, where M0 is the fixed-base. The expression for the DeNOC matrices N l

and N d are then obtained by using Eqs. (4.27) and (4.29) as

81

Page 112: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Fig. 4.8 A robotic gripper and its modularization

M2

M1M3 M3

M2

M1

#22 #12

#11

#13

#0 (M0)

M0

Module architecture

1 1

2,1 2

3,1 3

's

, andl d 2

3

's

's

N O

N

O N

1 O

N A 1 N

A O 1

(4.30)

where N l and N are the 24×24 and 24×4 matrices, respectively. It is worth noting that

since M0 is fixed, the elements with subscripts ‘0’, i.e.,

d

1,0 2,0 3,0 0 0, , , , andA A A 1 N , in

the expression of N l and N vanish. It may also be noted that in Eq. (4.30) d 3,2A O .

This is due to the branch-induced sparsity as module M3 does not belong to the modules

originating from the module M2, i.e., 3 2M . Moreover,

1, 1 21 , and

31 are the 6×6,

12×12 and 6×6, identity matrices, respectively. The block elements 2,1 , A 3,1A , 1N ,

2N ,

and 3N are obtained using Eq. (4.22) as

2 1

3 1 1

2 1

11 1

21 31 1 2 31 1 121 1 22 1

2

, , , , andA p 0

A A A N p N A A p p

31 N p

(4.31)

where matrix ,ik

A , as already explained under Eq. (4.22), denotes the 6×6 twist-

propagation matrix from the twist of link # in M to the twist of link #ki in Mi. In Eq.

(4.31), 2,1A , 3,1 aA nd 2N a the 12×6, 6×6 and 12×2 matrices, respectively, and re

1N and

82

Page 113: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

3N are the 6-dimensional vectors. It is pointed out here that the size of block elements in

N l and N d

pends the number of links and joint variables present in the modules.

For example,

de on

2,1A corresponds to the module-twist propagation from module M1 with one

link to module M2 with two links. Hence, its size is 12×6. Next, matrix 2N correspon

to the module-joint-motion propagation for module M2 containing two joint variables.

Hence, its size is 12×2.

ds

4.4.2 A planar biped

The concept of the DeNOC matrices is illustrated next for a 7-link floating-base biped.

Torso of the biped is assumed to be the floating-base, M0, and two legs form modules M1

and M2 as shown in Fig. 4.9. The DeNOC matrices are then obtained using Eqs. (4.27)

and (4.29) as

Fig. 4.9 A planar biped and its modularization

M1

Trunk

M1 M2

M0

M2

Module architecture

#11

#0 (M0)

#12

#22#2

1

#32#3

1

0 0

1,0 1

2,0 2

, and

'

1 O

N A 1 N

A O 1 O

l d

s

1

2

' 'N O

N

N

s s

(4.32)

83

Page 114: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

where N l and N d are 42×42 and 42×12 matrices. Moreover, 01 , 11 , and 21 are the 6×6,

18×18 and 18×18 identity matrices, respectively. The block elements 1,0A , 2,0A , 1N ,

2 ,N and 0N are obtained by using Eqs. (4.22) and (4.24) as

1,0 1

,0 2,0 2,1 1 2

3,0 3,1 1 3,2 2 3

0 0

,

and

i i

i i

A p O

A A N A p p O

A A p A p

N P

for 1,2i

O

p (4.33)

where superscript i outside of the brackets indicates the module. Moreover, matrices 1,0A ,

2,0A , 1N , 2N and 0N are of sizes 18×6, 18×6, 18×3, 18×3, and 6×6, respectively.

4.4.3 A spatial biped

In order to study the application of the proposed concept for a spatial system with

multiple-DOF joints, a 7-link spatial biped, as shown in Fig. 4.10, is considered. It has

spherical joints at the hips, universal joints at the ankles and revolute joints at the knees.

Fig. 4.10 A spatial biped and its modularization

#32

Spherical joints at hips

Revote joints at knees

Universal joints at ankles

#11

#21

#31

M1

#0 (M0)

M2

#22

#12

M1 M2

M0

Module architecture

84

Page 115: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Again torso of the biped is assumed to be the floating-base, M0, and legs form modules

M1 and M2. The DeNOC matrices are then obtained using Eqs. (4.27) and (4.29) as

0 0

1,0 1

2,0 2

, and

'

1 O

N A 1 N

A O 1 O

l d

s

1

2

' 'N O

N

N

s s

(4.34)

where N l and N are 78×78 and 78×18 matrices. It is worth noting that the module-

level expressions in Eq. (4.34) are exactly the same as Eq. (4.32) as they possess same

number of modules and similar module architecture, however the size of their block

elements will differ. For example,

d

01 , 11 , and 21 are the 6×6, 36×36 and 36×36 identity

matrices. The block elements 1,0A , 2,0A , 1N ,

2N , and0N are obtained by using Eqs.

(4.22) and (4.24) as

1,0 1

,0 2,0 2,1 1 2

3,0 3,1 1 3,2 2 3

; ; fo

i i

i i i

P O O

A N P P O

P P P

0 0r 1,2 and N P

(4.35)

In contrast to the example of the planar biped in Subsection 4.4.2, l and in the

expression of

,kA kp

,0iA and iN are replaced by and P due to the presence of multiple-

DOF joints. The expressions of matrices and P in Eq. (4.35) depend on the number

of joint variables associated with the joints, and are obtained by using Eq. (4.14). For

example, the element in the expression of

,l k

,l k

k

k

1,0

i

,0iA , and the elements i

and 2,1

1

iP in the expression of

iN are obtained by using Eq. (4.14) as

85

Page 116: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

86

r 1,2;

1

1 2

1 2 3

11,0

1,0 1,0 2,1 2,1 1 1 1

1,0 1 1 1

, , ; fo

ii

i i i ii

p O OA

A O O A P p p O

A p p p

(4.36)

Other elements of ,0Ai and iN can similarly be obtained. Moreover, and in Eq.

(4.36) can be obtained by using Eq. (4.3).

,l kAjkp

4.5 Summary

In this chapter, kinematics of a tree-type robotic system is presented with the help of the

concept of kinematic modules. The kinematic constraints are obtained first at intra-

modular level after introducing the efficient generic representation of multiple-DOF

joints. Kinematic constraints are then obtained at inter-modular level. The modular

representation enables one to extrapolate the concept of link-to-link velocity

transformation to module-to-module velocity transformation. The modular approach

lends its utility in writing module-level DeNOC matrices, which is a generic form of the

DeNOC matrices developed for serial chain robotic system. In this way, several module-

level concepts like module-twist propagation, module joint-motion propagation, etc.

evolved and these concepts are found very useful in treating large tree-type robotic

system with multiple-degrees-of-freedom joints.

Page 117: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Chapter 5

DYNAMICS OF TREE-TYPE ROBOTIC SYSTEMS

As reviewed in the literature, Newton-Euler (NE) equations of motion are found to be

popular in dynamic formulations. Several methods were also proposed by various

researchers to obtain the Euler-Langrage’s form of NE equations of motion. One of these

methods is based on velocity transformation of the kinematic constraints, e.g., the Natural

Orthogonal Complement (NOC) or the Decoupled NOC (DeNOC), as obtained in

Chapter 4. The DeNOC matrices of Eq. (4.28) are used in this chapter to obtain the

minimal order dynamic equations of motion that have several benefits.

5.1 Dynamic Formulation Using the DeNOC Matrices

The DeNOC-based methodology for dynamic modeling of a general multibody system,

be it serial, tree-type or closed-loop, begins with the uncoupled Newton-Euler (NE)

equations of motion of all the links constituting the system. The NE equations of motion

are first formulated in a matrix-vector form for a serial kinematic module followed by a

tree-type system consisting of several kinematic modules.

5.1.1 NE equations of motion for a module

Let us consider the ith

module of Fig. 4.6. The ith

module contains i serially connected

links. The NE equations of motion for the kth

link of the ith

module can be written as

(Greenwood, 1988)

c c

k k k k k k

c

k kk km

cI I n

c f (5.1)

87

Page 118: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Fig. 5.1 Motion of the link ki of module Mi

fk

kOk

Ck

akdk

rk

nk

#kk

ko

Ok : Origin of the kth link

Ck : Center of mass of the kth link

where and are the resultant moment about and force applied at the Centre-of-Mass

(COM), Ck, whereas, is the inertia tensor about Ck, and mk is the mass of kth

link.

Moreover, is the linear acceleration of Ck and is the angular velocity of the link. It

is worth mentioning that the main objective of dynamic analysis is to calculate joint

torques or joint motions. Hence, if the origin of a link, which lies on the joint axis, is

selected as a reference point, instead of COM, efficient recursive inverse and forward

dynamics algorithms can be obtained. This was also shown by Stelzle et al. (1997). In

order to represent Eq. (5.1) with respect to the origin, Ok, of the kth

link, Fig. 5.1, the

entities , , and are represented in terms of the linear acceleration of origin Ok,

i.e., , the inertia tensor about Ok, namely, , the resultant force applied at Ok , , and

the resultant moment about Ok, n , as

C

kn

kc

k

C

kf

C

kf

C

kI

C

kn

kc

C

kI

k

o kI kf

k

)

) )

k k k k

i k k

k k

(d

(d 1 (d 1

f

k k k

C

k k

c

k k

c

k k

m

c o d

I I

f f

n n d

(5.2)

where dk is the 3-dimensonal vector from the origin of kth

link to its COM as shown in

Fig. 5.1, whereas is the 3×3 cross-product tensor associated with dk [d1 d2 d3]T. kd 1

88

Page 119: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

The product of kd 1with vector x gives cross-product vector, i.e., . Tensor kd x kd 1

is defined as

3 2

3 1

2 1

0

0

0

k

d d

d d

d d

d 1

( )

d o I n

d f

k k k k k

k k k k km

(5.3)

Substituting Eq. (5.2) into Eq. (5.1), the NE equations of motion for the kth

link can be

represented with respect to the origin Ok as

I

o d

k k k k

k k k k k

m

m m (5.4)

The above equations of motion are then written in terms of the 6-dimensioinal twist tk,

twist-rate and wrench wk (Saha and Schiehlen, 2001) as kt

k kM tD C F

k k kw w w, wherek k k k k kM E t w w (5.5)

where Mk, k and Ek are 6×6 mass, angular velocity and coupling matrices, respectively,

and wk is the 6-dimnesional vector of wrench for the kth

link. The wrench vector wk is

composed of D

k

I d

d 1

k km

m m

w , the wrench due to driving moments and forces, , the wrench due to

constrained moments and forces, and , the wrench due to external moments and

forces other than driving. The matrices Mk, k and Ek and the vector wk are obtained by

comparing the Eqs. (5.4) and (5.5). They are given by

C

kw

k

F

kw

, , , and1 1 n1

M E w1 1 f

k k

k k

k k k k k

k

k (5.6)

89

Page 120: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

In Eq. (5.6), is the 3×3 cross-product tensor associated with vector . For the ith

module, say Mi, comprising of i serially connected links the NE equations of motion, Eq.

(5.5), can be combined in a compact form as

k 1 k

M t M E t wi i i i i i i (5.7)

where the matrices iM , i , and iE , are of sizes 6ni×6n

i each instead of 6×6 for a link in

Eq. (5.6). Moreover, iw is the 6ni -dimensional vector of module-wrench associated with

the module Mi. Matrices iM , i , iE , and vector iw are defined as

1

1

1

diag ,

diag [

diag ,

i k

i k

i k

M M

E E E

] ,

i

i

i

M M

E

1

and

i

i k

w

w w

w

(5.8)

Equation (5.7) represents the NE equations of motion for the ith

module.

5.1.2 NE equations of motion for a tree-type system

The uncoupled NE equations of motion developed in Eq. (5.7) for a module are put

together for (s+ 0) modules as

D, where C Fw w wMt MEt w w (5.9)

In Eq. (5.9), M, , and E are the 6(n+ 0) ×6(n+ 0) generalized matrices of mass,

angular velocity, and coupling, respectively, and w is the 6(n+ 0)-dimensional

generalized vector of wrenches. They are defined as

0 0

0 0

diag , diag [

diag , and

i s i

TT T

i s i

M M M M

E E E E w w w w

],s

T

s

(5.10)

where matrices iM , i , iE , and vector iw are defined in Eq. (5.8).

90

Page 121: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

5.1.3 Minimal-order equations of motion

Power by constraint wrenches is equal to zero (Angeles and Ma, 1988). As a result, the

vector of constraint forces and moments is orthogonal to the columns of the velocity

transformation matrix, i.e., the NOC or the resulting DeNOC matrices of Eq. (4.28), and

one may show that the pre-multiplication of Eq. (5.9) by N NT T

d l yields the minimal set of

equations of motion eliminating the constraint wrenches. More specifically, T T C

d lN N w 0 .

Thus Eq. (5.9) leads to

T T

d lN N Mt MEtT T D F

d lN N (w w ) (5.11)

Now, substitution of l ddt N N q , from Eq. (4.28), and its time derivative into Eq. (5.11)

yields the following equations of motion:

+ = + FIq Cq

and F T FN w

(5.12)

where the expressions of the (n+n0)×(n+n0) generalized inertia matrix (GIM) I,

(n+n0)×(n+n0) matrix of convective inertia (MCI) terms C, and the (n+n0)-dimensional

vectors of the generalized driving forces and the external forces F are given as

, ( ), ,T T T DI N MN C N MN MEN N w (5.13)

where l dN N N . Equation (5.13) represents the constrained dynamic equations of

motion for a tree-type robotic system with general kinematic module architecture. Note

that the formulation can also suitably be used to analyze a closed-loop system. For that

appropriate joints must be cut to form several open-loop serial or tree-type sub-systems.

The cut joints are to be substituted by the constraint forces known as Lagrange multipliers.

These constraint forces can then be treated as external forces to the resulting open-loop

sub-systems, serial- or tree-type. Appendix A illustrates the dynamic analysis of a closed-

91

Page 122: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

loop system using the proposed methodology. However, the detailed description on the

dynamic modeling of closed-loop systems is beyond the scope of this thesis.

Finally, it is to be noted that Eq. (5.12) has similar representation as that of a single-chain

5.1.4 Wrench due to external force, Fw

al acceleration or link-ground interactions are

nw

f

F

F k

k F

k

serial system (Saha, 1999), however, the elements of the matrices and vectors differ, and

this will be evident in Section 5.2.

The forces and moments due to gravitation

two typical examples of external forces that one needs to take care of, particularly, for the

robotic systems studied in this thesis. Figure 5.2 shows the kth

link subjected to external

forces and moments at the points 1, 2 and 3. The vectors connecting the origin of the link

Ok to the points of application of these forces and moments are represented by ,1ks , ,2ks ,

and ,3ks , respectively. Resultant wrench acting at the origin of the link k is then defined as

(5.14)

where F

kn and F

kf

e n

are the resultant moment about and the resultant force at Ok for the kth

link. If ere ar f points of application of the external forces and moments, then wrench

F

kw is given by

th

Ok

sk,3

Fig. 5.2 External forces and moments on link #k

F

kn

#kk

F

kf

,3

F

kf

,2

F

kf,1

F

kf

sk,2

sk,1

1 2

3

,1

F

kn ,2

F

kn

,3

F

kn

92

Page 123: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

, ,

F F

k j k jw ,

,

k j

k j

1

fn

k

j

w = S , where 1 s 1

1

,

,

,

F

k jF

k j F

k j

S and n

wf

(5.15)

In Eq. (5.15), is the 6×6 matrix, and ,k jS,k js 1 is the cross-product tensor associated

with vector s , for j = 1, 2, 3, as shown in Fig. 5.2. ,k j

5.2 Generalized Inertia Matrix (GIM)

The elements of the GIM, I, obtained in Eq. (5.13) will be derived in this section. These

not only enable the factorization of the GIM but are also required for formulating the

inverse dynamics algorithm reported in Chapter 7. For that, the GIM is written as

, whereT T

d d l l M N MNI N MN

(5.16)

In Eq. (5.16), the matrix M is referred to as the generalized mass matrix of composite

modules, and the matrices Nl and N d are the module-DeNOC matrices. Substituting the

expressions for Nl and the mass matrix M from Eqs. (4.29) and (5.10), respectively, into

Eq. (5.16), the symmetric matrix M is obtained as

0

1 1,0 1

,2 2,0 2 2,1 2

,0 ,1 , 1

( , if

M

M A M

M M )A O M A M A M

M A M A M A M

j j i j

s s s s s s s s

sym

M i (5.17)

where ,i jA is the 6ni×6n

j module-twist-propagation matrix defined similar to ,iA in Eq.

(4.22). Once again i in Eq. (5.17) stands for array of all the modules originating from

the module Mi including Mi, and , , when M A O j j i j iM . It is worth noting that in Eq.

93

Page 124: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

(5.17), the 6ni×6n

i matrix

iM represents the mass and inertia properties of the system

comprising of rigidly connected links of modules which are upstream from the ith

module

as depicted in Fig. 5.3 inside the dotted boundary ( i ). Matrix iM is referred to as the

mass matrix of composite-module. It is obtained as

Fig. 5.3 The ith composite module

i

Composite

module i Modules

Detail inside

the module

i (1)i i (2)

, ,M M A M Ai

T

i i j i j i

j

j (5.18)

In Eq. (5.18), iM is expressed in terms of the module mass matrix jM of all the modules

upstream from module Mi, i.e., jM for all ij . Instead, iM may be expressed in terms

of the already computed mass matrices of the composite-modules that are immediate

children ( i) of the ith

module as shown in Fig. 5.3. If these composite modules are

denoted by jM , then for all ij

, ,M M A M Ai

T

i i j i j i

j

j (5.19)

where i denotes the array of children of module Mi. If a module has no child, say, i = {},

it is referred to as the leaf or the terminal module. For the terminal modules, the mass

matrix of composite-module is simply equal to module mass matrix, i.e., i iM M .

94

Page 125: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Here the concept of composite-module is introduced, and this is the generalization over

the similar concept of composite-body used by Featherstone (1983), Rodriguez et al.

(1991) and Saha (1999). It may be shown that the mass matrix of composite-body is a

special case of Eq. (5.19), where each module has only one link, i.e., i=1, for i=1, …, s.

Finally, using the expression in Eq. (5.16), i.e., T

d dMNI N , the block elements of the

GIM are given by

0,0

1,0

2,0

,0

I

I

1,1

2,1 2,2

,1 , 1 ,

I I

I I I

I I I Is s s s s s

sym

(5.20)

where the ni× n

j block element ,Ii j is given, for i=1, …, s and j=1, …, i as

, , , , if (For

, otherwise

I I N M A N

O

T

i j j i i i i j j i jM i ,, ) A = 1i jj (5.21)

The analytical expression derived in Eq. (5.21) is the foundation for obtaining the

analytical decomposition of the GIM, and thus Eq. (5.21) enables one to find analytical

module-level inverse of the GIM and the recursive forward dynamics algorithm.

5.3 Module-level Decomposition of the GIM

Saha (1997) showed the UDUT decomposition of the generalized inertia matrix for a

single-chain serial system. More recently, Featherstone (2005) proposed a similar LTDL

factorization, where LT

U, for branched kinematic tree. However, the approach followed

by the Featherstone was numerical in contrast to the analytical approach taken by Saha. In

both the approaches the decomposition was carried out at the link-level. As compared to

link-level approaches of Saha (1997) and Featherstone (2005), module-level

95

Page 126: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

decomposition in the form of TUDU is presented in this thesis for a tree-type system with

general kinematic module architecture. This provides suitable recursive module-level

expressions to obtain the implicit inverse of the GIM resulting in a recursive forward

dynamics algorithm. The proposed TUDU decomposition is based on the Block Reverse

Gaussian Elimination (BRGE) of the GIM that generalizes the concept of the Reverse

Gaussian Elimination (RGE) of GIM arrived from the link-level velocity transformation

matrix, namely, the DeNOC matrices of a serial system proposed by Saha (1997).

Gaussian Elimination (GE), as commonly used in linear algebra (Stewart, 1973), begins

the annihilation of the first column of a matrix, whereas in Reverse Gaussian Elimination

annihilation starts form the last column of the matrix. Hence the adjective ‘Reverse’ is

added. It actually helps in obtaining various element of the decomposed matrix by

establishing recursive relationships from the terminal link or module to the zeroth link or

module, a process otherwise not possible with the conventional GE. The RGE or BRGE

also preserves the sparsity pattern of the elements of the GIM into its factor U . It is worth

noting that BRGE is performed on the block elements of the GIM, which are square

matrices of variable sizes based on the module architectures.

The BRGE of the GIM given by Eq. (5.20) starts with the annihilation of the sth

block

column and proceeds to the 1st block column by using elementary Block Upper

Triangular Matrices (EBUTM), i.e.,

1ere B B B Bi s, whBI L (5.22)

where the (n+n0)×(n+n0) B and L are the block upper and lower triangular matrices. In

Eq. (5.22) the (n+n0)×(n+n0) EBUTM Bi is obtained as

96

Page 127: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

B 1 U VT

i i i (5.23)

In Eq. (5.23), the (n+n0)×ni matrices iU and Vi have the following representation

0, 1,

T T

i i i iU U U OT

O and V O O 1 OT

i i (5.24)

where ,U j i and 1 are the nj×n

i and n

i×n

i matrices, respectively, and O is the null matrix

of compatible dimension. Using Eqs. (5.23) and (5.24), the structure of

i

Bi is obtained as

0 0,

1 1,

'

1 O U O

1 U O

1 O

O 1

i

i i i

i

B i

ss

(5.25)

The GIM after following the BRGE may be represented as

1 1 1 1 1

1B B B Bs i, where I B L (5.26)

In the above, matrix 1

Bi is the inverse of EBUTM. The EBUTM possesses the following

interesting property:

1 1( )B 1 U V 1 U VT T

i i i i i (5.27)

Now, the expression for the multiplication of the two neighboring EBUTM can be

calculated as

1 1B B

=1

i i 1 1 1

1 1

( )( )1 U V 1 U V

U V U V

T T

i i i i

T T

i i i i

(5.28)

Similarly the product 1 1

1B B Bs i

1is obtained as

97

Page 128: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

1

1 1...B 1 U V U VT T

s s (5.29)

Using Eqs. (5.24) and (5.29), the inverse of the EBUTM 1B , denoted by U , is

represented as

0 0,1

11

'

1 U

1U B i

s

0, 0,

1, 1,

,

U U

U U

1 U

O 1

i s

i i i s

i i s

s

(5.30)

The (n+n0)×(n+n0) matrix U in Eq. (5.30) is a upper block triangular matrix. Now, the

GIM of Eq. (5.26) may also be expressed as I UL . Since, I is a symmetric positive

definite matrix, the lower block triangular matrix L can be written as

TL DU (5.31)

As a result the GIM is decomposed as

(5.32)TI UDU

where the expression for the block upper triangular matrix U is obtained in (5.30) and the

block diagonal matrix D has following representation:

0

1

ˆ '

ˆ

ˆ' s

s

s

I O

I

O I

D (5.33)

where the ni×n

i matrix Ii

is essentially the block pivot of the BRGE. It is worth noting

that the elements of the matrices U and D resulting from the UDUT decomposition of the

98

Page 129: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

GIM f a ser system (Saha, 1997) are scalars, whereas the elements of the matrices o ial U

and D, i.e., ,Ui j and Ii, in Eqs. (5.30) and (5.33), respectively, are matrices. They are

given by

, , ,

, otherwise

ˆˆ

U N A

O

I N

T T

i j i j i j i

T

i i i

if j

(5.34)

In Eq. (5.34), the 6ni×n

i matrices and

ˆi are given by

i

1ˆ ˆˆ ˆ and I M N i i ii i i i (5.35)

The 6ni×6n

i matrix M i in Eq. (5.35) contains the mass and inertia properties of the

articulated-module i, which is obtained as

, ,

ˆ ˆM M A M AT

i i j i j j j i (5.36) ij

where if i = {}, then M Mi i. The articulated-module corresponding to ˆ

iM is nothing

but the composite module of Fig. 5.3 in which fixed joints are replaced with actual joints.

The ni×n

i matrix

-

Ii in Eq. (5.34), on the other hand, may be interpreted as the generalized

inertia matrix of articulated-module. T e relationship between the matrices h ˆiM and Ii

can

be viewed same as that between M and I of Eqs. (5.9) and (5.13), respectively.

Moreover, the 6ni×6n

i matrix j in Eq. (5.36) is obtained as

1 NT

j j j (5.37)

99

Page 130: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Matrix j is referred to as the matrix of articulated-module transformation. Similar

matrix, however at link-level was also derived by Lilly and Orin (1991) and Saha (1997).

The one proposed here is more generic as it is applicable to any general tree-type sys

in contrast to only a single-chain serial system. Co aring Eqs. (5.19) and (5.36) it may

be seen that it is

tem

mp

j , which distinguishes mass matrix of the composite-module, M i,

from the mass matrix of the articulated module, M i. Again the concept of articulated-

body inertia (Featherstone, 1983; Rodriguez et al., 1991; and Saha, 1997) is generalized

to tree-type system consisting of several kinematic modules. If each module of a tree-type

he matrix of the articulated-module degenerates to the

The

system has only one link, t

articulated-body inertia.

5.4 Inverse of the GIM

UDUT decomposition of the GIM presented in the previous section facilita

analytical inversion of GIM expressed in the form of Eq. (5.20). The inverse is given by

tes the

1 1 1T I (5.38)

In Eq. (5.38)

U D U

, 1D is the block diagonal matrix, and, 1

U B is block upper triangular

matrix. From Eq. (5.22), 1U or B is given by

1

1 ... ...U B B B B i s (5.39)

Using the definition of the EBUTM, the multiplication of the two neighboring EBUTM is

obtained as

1 1 1

1,

( )( )

(

1 U V 1 U V

=1 U V U V U V U V

=1 V

i i i i i

T T T T

i i i

(5.40) 1 1 1 1

1 1 1(

B B

U V U U U

T T

i

i i i i i i i i

T T

i i i i

100

Page 131: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

1, 1( )U V UT

i i i i is the last nonzero block element of Ui where as btained in Eq.

The product of EBUTM, i.e.,

o (5.24).

1

1 ... ...U B B B i s , is then calculated as

1

1 1

ˆ ˆ... ...U B B B 1 U V Ui s 1

ˆV U V

T T T

i i s s (5.41)

Ui , for i=1,…, s, is given by where

1 1, 1 1, 1 1 ,

ˆ ˆ . ˆ ˆ( .. ); and ifU U U U U U U =U U =O i i i i i i j i ji (5.42)

Based on Eq. (5.41) the (n+n0)×(n+n0) block upper-triangular and diagonal matrices 1U

and 1D have the following forms

1

00 0,1 1,

111 1andU D 1

1,

1

ˆˆ ˆ '

ˆ,

ˆ

ˆ' '

I O1 U U

1 I

U

O 1 O I

s

s s

s s

s

s s

(5.43)

where the block elements 1

,

ˆ ˆandU Ii j i are obtained as

, ,

1

ˆˆ , if

ˆ ( )

U N A

I N

T T

i j i j i j ij

1

, otherwise

ˆ

O

T

i i i

(5.44)

In Eq. (5.44), ,

ˆA j i

may be interpreted as the articulated module-twist propagation matrix.

and has following representation:

, , ,

ˆ ˆ ˆj i j h h h i

5.4

where h is any intermediate serially connected module between modules j and i.

A A A ( 5)

Interestingly, it is shown in Eq. (4.23) that, the module-twist propagation matrix ,j iA is

101

Page 132: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

represented as , ,j h h iA A . Hence, once again it is the matrix of articulated module

transformation, h , t separates matrix tha ,

ˆj iA form matrix ,j iA . Moreover for any two

adjoining modules, i.e., module j and its parent j the articulated module-twist

propagation matrix ,

ˆjA is simply equal to module-twist propagation matrix, i.e.,

, , ˆ

j jA A (5.46)

5.5 Examples

of the proposed odule-level expression of

5.5.1 A robotic gripper

The GIM of the tree-type robotic gripper with four modules, as shown in Fig. 4.7, is

obtained by using Eqs. (5.20) and (5.21) as

For the clearer understanding concepts, the m

the GIM, its decomposition, and the inverse are shown for a robotic gripper and a biped.

1 1 1

3 3 3,1 1 3 3 3N M A N O N M N

T T

T T

where I is the 4×4 matr

2 2 2,1 1 2 2 2

N M N

I N M A N N M N

T sym

(5.47)

ix. In Eq. (5.47), the block elements ,andi jN A i are obtained in

Eq. (4.22). Moreover, the mass matrix of composite-module M i, for i=3, 2, 1, is ob

by using Eq. (5.19) as

tained

3 3 2 2 1 1 ,1 ,1

3,2

, , T

j j j

j

M M M M M M A M A (5.48)

102

Page 133: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Following the block reverse Gaussian elimination, the GIM of Eq. (5.47) is decomposed

as TI UDU and D , where the expressions of the elements of matrices U are obtained

using Eq. (5.34) as

1 11 1 2,1 2 1 3,1 3

2

ˆ'

'

N O1 N A N A

O 1

TT T T T s

s

2 2

33 3

ˆ, and

ˆ'

U 1 O D N

O N

T

Ts

(5.49)

where U and ˆi

and D are the 4×4 matrices. The block elements i , for i=1, 2, 3, can

be obtained using Eq. (5.35) as

1ˆ ˆˆ ˆ for = 1, 2,3 and where M N I Ii i i i i ii iiˆˆ

NT

i i (5.50)

In Eq. (5.50), the mass matrix of articulated-module ˆiM , for i=3, 2, 1, is then evaluated

, using Eq. (5.36), i.e.

3 3 2 2 1 1 ,1

T

,1

3,2

ˆ ˆ ˆ ˆ, , j j j j

j

M M M M M M A M A (5.51)

The 6ni×6n

i matrix j in Eq. (5.51) is obt ed belo using Eq. (5.37): ain w

, for 2,31 N T

j j j j (5.52)

The inverse of the decomposed GIM, i.e., and 1D

1U are obtained next from Eqs.

and (5.44) as

(5.43)

1

1 11 1 2,1 2 1 3,1 3

1 1

2 2 2

13

3 3

ˆˆ ˆ '

ˆ, and

ˆ' '

(N ) O1 N A N A

U 1 O D (N )

O 1 O ( )

TT T T T

T

T

s

s s

1

N

(5.53)

103

Page 134: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

where 2,1

ˆ TA and 3,1

ˆ TA are available from Eq. (5.45), namely,

2,1 2,1 3,1 3,1

ˆ ˆ, and A A A A (5.54)

In Eq. (5.54), module M1 is the parent of modules M2 and M3. Hence, the expressions for

2,1 3,1and A A are simplify their corresponding module twist-propagation matrices, i.e., ˆ ˆ

2,1A and 3,1A , respectively.

5.5.2 A biped

The gripper mechanism presented in the previous subsection has its base fixed. In this

subsection, the proposed concept is illustrated for a floating-base biped as shown

4.8. The GIM of the biped with three modules is obtained using Eqs. (5.20) and (5.21) as

in Fig.

0 0 0

1 1 1,0 0 1 1 1

N M N

I N M A N N M N

T

T T

sym

2 2 2,0 0 2 2 2N M A N O N M NT T

(5.55)

where I is the 12×12 matrix. After decomposition of the GIM in Eq. (5.55) the 12×12

matrices U and D are obtained by using Eq. (5.34) as

0 00 0 1,0 1 0 2,0 2

1 1

22 2

1

ˆ, and

ˆ' '

1 N A N A

1 O D N

O 1 O N

T

Ts s

ˆ'N O

U

TT T T T s

(5.56)

In Eq. (5.56), the block elements i and ˆi, for i=0, 1, and 2, are obtained by using Eq.

(5.35) as

1ˆ ˆˆ ˆ for = 0,1, 2 and where M N I Ii i i i i ii iiˆˆ

NT

i i (5.57)

104

Page 135: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

ˆiMThe mass matrix of articulated-module , for i=2, 1, 0, is then evaluated by usi

(5.36), i.e.,

ng Eq.

2 2 1 1 0 0

2,1

ˆ ˆ ˆ, , ,0 ,0

ˆT

j j j jA M A (5.58)

The 6ni×6n

i matrix

j

M M M M M M

j in Eq. (5.58) is obtained below using Eq. (5.37):

, for 1,21 N T

j j j j (5.59)

Accordingly, the inverses of the matrices and D U are obtained by using Eqs. (5.43) and

(5.44) as

1

0 00 0 1,0 1 0 2,0 2

1 1 1

1 1 1

1

, and

ˆ

U 1 O D (N ) T

T2

2 2

ˆˆ ˆ '

ˆ

' '

(N ) O1 N A N A

O 1 O (N )

TT T T T s

s s

where

(5.60)

1U and 1

D each is 12×12 block upper triangular and diagonal m

Moreover,

atrices.

2,1

ˆ TA and 3,1

ˆ TA are available from Eq. (5.45), namely,

1,0 1,0 2,0 2,0, and A A A A (5.61) ˆ ˆ

5.6 Advantages of Modular Framework

Generalization of the body-to-body velocity transformation relationships to

module-to-module velocity transformation relationships where the former is a

special case of the latter.

The concept of kinematic modules consisting of serially connected links in tree-type

systems brings several advantages. They are:

105

Page 136: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Compact representation of the system’s kinematic and dynamic models.

Provision of module-level analytical expressions for the matrices and vectors

appearing in the equations of the motion. It is worth noting that the module-level

position of

erties like

rithms with inter- and

module to another module if the

ule at a time.

llel-recursive dynamics algorithms can be obtained, where for a given

module architecture, modules are solved parallelly whereas the links inside

modules are solved recursively.

C mat

expressions of the vectors and matrices appearing in the equations of motion

facilitate the physical interpretation of many associated terms, decom

the GIM, and analytical inversion of the GIM.

Facility of macroscopic purview of several kinematic and dynamic prop

matrix of articulated-module, articulated-module transformation, etc.

Uniform development of inverse and forward dynamics algo

intra-modular recursions, which will be presented in next two chapters.

Ease of adopting already developed serial-chain algorithms (Saha, 1997, 1999) for

each individual serial module of a tree-type system at hand.

Possibility of repeating the computations of a

tree-type system has same number of links in each module.

Ease of investigating any inconsistency in the results of a tree-type system by

examining the results of one mod

Hybrid para

5.7 Summary

In this chapter, dynamic modeling of a tree-type robotic system is proposed based on

kinematic modularization obtained in Chapter 4. The dynamic equations of motion are

obtained using the concept of module-DeNO rices. The module-level expressions

are obtained for the Generalized Inertia Matrix (GIM) which helped in introducing the

concept of mass matrix of composite-module. The analytical expression of the GIM is

106

Page 137: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

then utilized to decompose it in the form of UDUT . The Decomposition enables one to

obtain many physical dynamic properties and analytical inversion of the GIM. The results

f the analytical inversion will be used in Chapters 6 and 7 to obtain recursive forward

dynamics algorithms for several fixed- and floating-base robotic systems with tree

ture and multiple-DOF joints.

o

struc

107

Page 138: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

108

Page 139: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Chapter 6

RECURSIVE DYNAMICS FOR FIXED-BASE

ROBOTIC SYSTEMS

In this chapter, dynamic analyses of fixed-base tree-type robotic systems are presented

using the dynamic modeling proposed in Chapter 5. For this, recursive inverse and

forward dynamics algorithms are developed. The algorithms take care of the multiple-

DOF joints in an efficient manner, as explained in Subsection 4.2.1; in contrast to treating

them as a combination of several 1-DOF joints by taking into account the total number of

links equal to number of 1-DOF joints or joint variables. In the presence of many

multiple-DOF joints in a robotic system the latter approach is relatively inefficient due to

the burden of unnecessary computations with zeros. The improvement in the

computational efficiency in the presence of multiple-DOF joints and the generalization of

multiple-DOF joints as Euler-Angle-Joints (EAJs) are addressed in this thesis for the first

time. They are important contributions of this thesis. Dynamic analyses, namely, the

inverse and forward dynamics, of a robotic gripper, a biped, and a hyper-DOF system are

performed in this chapter.

6.1 Recursive Dynamics

As reviewed in the literature, recursive algorithms are popular due to their efficiency,

computational uniformity, and numerical stability. These essentially help in real-time

computations, realistic visualization and model-based control of a robotic system.

Recursive inverse dynamics helps in force analysis and control, the recursive forward

dynamics enables one to perform motion analysis. It is worth noting that the recursive

109

Page 140: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

algorithms available in the literature, e.g., Featherstone (1987) and Rodriguez (1992),

exploit only body-level recursions; however, in this work the recursion is obtained first

amongst the kinematically serial modules followed by the body level recursions inside a

module. In fact the latter approach encapsulates the former. As result, the problem is

solved in a much elegant manner where a tree-type system has several modules, which in

turn have several bodies or links in them. Hence, inter-modular recursion with intra-

modular recursion inside each module is a logical consequence of the system architecture.

All of the above steps are achieved by defining suitable module-level Decoupled Natural

Orthogonal Complement (DeNOC) matrices for a tree type system.

6.1.1 Inverse dynamics

The problem of inverse dynamics attempts to find the joint torques and forces for a given

set of joint motions of a robot under study. It is formulated with the help of Eq. (5.11) as

* *w Mt MEt, where N N w

T T

d l (6.1)

where represents inertia wrench and is the vector of joint torques and forces to be

applied at the joint actuators to achieve the given motions. The dimension of is ‘n’, that

is equal to the joint variables of the robot at hand. The matrices

*w

l and N

dN are the

module-DeNOC matrices, derived in Eq. (4.28), whereas , , and E are defined in

Subsection 5.1.2. Equation (6.1) can then be evaluated recursively in two steps, similar to

the one for a serial system (Saha, 1999), however, at the module level.

M

Step 1. Forward recursion: Computation of *, and t t w

In this step, generalized twist ( ), generalized twist-rate ( ), and inertia wrench ( ) are

obtained recursively in two levels, namely, the inter- and intra-modular levels, using the

t t*

w

110

Page 141: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

information of the parent module in the inter-modular level and the parent body at intra-

modular level. They are shown below:

A. Inter-modular computations: For i = 1,…, s

,

*

i i

i i

i i

t A

t A

w =M

, ,

i

i i

i i

i i i i i

i i i i i

t N q

t +A t +N q N q

t M E t

(6.2)

where *

iw represents inertia wrench of the ith

module, i.e., the value of the left-hand side

of the NE equations given by Eq. (5.7). Moreover, ,iA and iN are module-twist

propagation and module-joint-motion propagation matrices obtained in Eq. (4.22),

whereas , , andi iM Ei

, 1j jk k

are defined in Eq. (5.8). The above steps actually require

computations in the intra-modular level, which are shown next.

B. Intra-modular computations: For k = 1i,…,

i

( )

( ) ( )

,

, ,

For 1:

, 1

, 1

,

j k j jj

j j

j k k j j jj j

j j j j j

k

k k k k

k k

k k k k k k

k k k k k

j

j

j

j

j

p p

1

t A t p

p

t A t A t

p p

* 0,

,

j

j j j j j j

k k

k k k k k k k

j

j

w

M t M E t

(6.3)

where ,kA and are defined in Eq. (4.3), whereas are obtained in

Eq. (5.6). Moreover, k (k-1) for k > 1 and

jkp , , and j jk kM E

jk

k is the DOF of the kth

joint. Hence, if the

kth

link is connected to its parent link by a higher-DOF joint k, i.e., , then there are 1k

111

Page 142: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

1k virtual links which have no dimensions and masses. As a result, many

computations associated with these links are carefully avoided as evident from Eq. (6.3).

Step 2. Backward recursion: Computation of

In this step, joint torques and forces are obtained by using Eqs. (6.1) as

*, where N w w N wT T

d l (6.4)

NT

lAs is a block upper-triangular matrix, w is obtained using backward substitutions,

while the solution for is straightforward as NT

d is a block diagonal matrix. Hence,

having the results of w in the forward recursion in step 1 above, this step computes the

joint torques/forces using another set of inter- and intra-modular level computations that

start from last module or last body, respectively. They are shown below.

*

A. Inter-modular computations: For i = s, …, 1

*

,w w A w

N w

i

T

i i j i j

j

T

i i i

(6.5)

where *

iw wi

, ,

, ,

T i

l k

T i

k

j k

j k

if i={}, and the intra-modular computations required to complete the

above calculation are shown below:

B. Intra-modular computations: For k = i, …,1

)

1

1

*

,

*

1, ( 1)

For 1

,

j j

k j

j

j

j j j

k

k k l k

l

k k k k

k k

T

k k k

j

j

w w A w

w A w

w

p w

(6.6)

112

Page 143: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

where if *

w wj jk k )jk

={}. Once again, similar to Eq. (6.3), many computations in Eq.

(6.6) associated with the links of multiple-DOF joints that do not have any length and

mass are not carried out, thus, reducing the overall computational complexity. It may be

noted that the computer implantation of the above steps requires assignment of an integer

index for each of the link in a tree-type system. This is obtained as follows:

For example, an integer index for the link of the ith

module is ik

1

1

ih

h

k (6.7)

where h represents total number of links in h

th module. Accordingly, the computer

implementation of the proposed inverse dynamics algorithm is given in Table 6.1. The

computational complexities of the different steps in Table 6.1 are provided in Appendix

B. Resulting computational complexity of the proposed inverse dynamics algorithm is

Table 6.1 Recursive O(n) inverse dynamics algorithm for fixed-base robotic systems

Step 1 (Forward Recursion): j *, , andj jt t w Step 2 (Backward Recursion): j

,

, ,

0

For 1: (Inter modular)

For 1: (Intra modular)

1 (Joint level)

1

if ( 0)

j

j j

i

j

j k j j

j k k

j j j j j

j

i s

k n

r

j j

-

-

t A t p

t A t A t

p p

else

end

j j j

j j j j j j

j

t p

t p p

w 0

1

1

*

*

For 2 :

1

end

k

j j j j

j j j j j j j

j

k k j j k k j

j k

r

j j

t t p

t t p p

w 0

w M t M E t

w w

end

end

For :1 (Inter modular)

For :1 (Intra modular)

For : 2 (Joint level)

1

end

1 (Joint level)

-

-

p w

w w

j

i

k

T

j j j

j

j DOF

i s

k n

r

j j

r

,

if ( 0 )

end

1

end

end

p w

w w A w

j j

T

j j j

j

T

k j

j j

Note: The 6–dimensional vector [0T gT]T , where ‘g’ is the 3-dimensional vector due to gravitational acceleration,

is added to the links emanating from the base to take into account the effect of gravity to other links of the modules.

113

Page 144: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

obtained as 21 2 3 1 2 33

(94 58 46 81)M (82 48 36 75)An n n n n n , where M and A stand for

Multiplications/Divisions and Additions/Subtractions, respectively. Moreover, n1, n2, and

n3 represent the total number of joint variables associated with 1-DOF, 2-DOF and 3-DOF

joints, respectively. Hence, total number of joint variables n is nothing but n1+n2+n3. The

comparison of the computational complexity with those available in the literature is

shown in Section 6.3.

6.1.2 Forward dynamics

Forward dynamics problem attempts to find the joint motions from the knowledge of the

external joint torques and forces. This enables simulation studies, which provide

configuration of the system at hand. Unlike the recursive inverse dynamics algorithm

presented above, a recursive forward dynamics algorithm is rather complex. Inverse

dynamics calculations require only matrix-vector operations which comprise of algebraic

multiplication and addition. In the case of forward dynamics, one needs to solve for the

joint accelerations from a set of equations of motion, Eq. (5.12). A straight forward

solution based on established Gaussian Elimination or Cholesky decomposition

techniques (Strang, 1998) require order (n3) calculations. So for large n, typically n > 7

(Stelzle et al., 1997), computations increase so drastically that the overall computational

efficiency is largely sacrificed. Moreover, such algorithms are known to have problems

with numerical stability (Ascher and Pai, 1997; and Mohan and Saha, 2007). Hence,

recursive order (n) forward dynamics algorithms are preferred. One such algorithm is

presented here for the tree-type systems consisting of several kinematic modules and

multiple-DOF joints. It is done by analytically decomposing the GIM, resulting out of the

constrained equations of motion of a system, as derived in Section 5.3. The decomposed

GIM allows one to calculate the joint accelerations recursively, as highlighted below:

114

Page 145: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Based on the T

UDU decomposition of the GIM, obtained in Eq. (5.32), the

constrained equations of motion, Eq. (5.12), are rewritten as follows

, whereUDU q T F and h h Cq

F (6.8)

where matrices U and D are obtained in Eqs. (5.30-34). Moreover, vector h is obtained

recursively using any recursive inverse dynamics algorithm (Walker and Orin, 1982), say,

the one presented in Subsection 6.1.1, where q 0 in step 1.

The joint accelerations are then solved using three sets of linear algebraic equations,

namely

ˆ ˆ, where

ˆ) , where

)

T

T

T

U DU q

D U q

U q =

i)

ii

iii

(6.9)

Using Eq. (6.9), the recursive algorithm, comprising of backward and forward recursion,

for a general tree-type system can be given next.

Step 1. Backward recursion: Computation of ˆ and

As U is a block upper-triangular matrix, ˆ is obtained using backward substitutions,

while the solution for is straightforward as D is a block diagonal matrix. The vectors

ˆ and are obtained using the inter- and intra-modular level computation given below:

A. Inter-modular computations: For i = s, …, 1

,re, ,

ˆ

A

i

T T

i j i j

j

j j j j

1

ˆi) , whe

and

ˆ ˆii)

N

I

i i i i

i i i

(6.10)

115

Page 146: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

where i and i are the 6ni-dimensional vectors, and i 0 , if i={}. Moreover ˆ

iI and

i are obtained in Eqs. (5.34-35). Intra-modular level computations needed to complete

the above steps are shown below:

B. Intra-modular computations: For k = i ,…, 1

)

1

,

1, ( 1)

For 1

ˆi) , where , ,

, ,

p A

A

j j j j j

k j

k

T T

k k k k k l k l k

l

k k k k

j

j k

j k

i

T i

1,

ˆ and

ˆ ˆii)

j

j j j

k k

l l l l

k k k

j

m

(6.11)

where and are the 6-dimensional vectors. It is worth noting that if the original

definition of the Euler angles (Shabana, 2001) is used to define the motion of the 3-DOF

spherical joint instead of EAJs as introduced in Chapter 3, pk, of Eq. (4.3) would have the

size of 6×3 instead of 6×1 for EAJs. Hence,

k k

ˆˆj j j

T

k k km p M pjk of Eq. (6.11), which is found

to be a scalar quantity by using EAJs, would have been a 3×3 matrix if Euler Angles are

used. As a result, it would require some extra computations to invert the 3×3 matrix in the

range of O(33), which is certainly disadvantageous computationally.

Step 2. Forward recursion: Computation of from Tq U q

As UT

is block lower triangular matrix, the joint accelerations ( q ) are solved next by

using forward substitutions. These also require inter- and intra-modular level

computations that are given below:

A. Inter-modular computations: For i = 1,…, s

, ,A

N q

i

i i i i

i i, where

and

q

T

i i i i

(6.12)

116

Page 147: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

where i and i are the 6ni-dimensional vectors, and i 0 , if i

th module emanates from

the module M0. Intra-modular level computations required for the above step are given

next.

B. Intra-modular computations: For k = 1,…, i

( )

( ) ( )

, 1

, 1

k j

k j

j

j1

( )

,

For 1:

, where

and

A

p

j j j j j

j

k kj j

k

T

k k k k k k

k

j

( )k j

+

(6.13)

In Eq. (6.13), and are the 6-dimensional vectors and k =(k-1) for k >1. Similar to

the inverse dynamics, in forward dynamics also several computations associated with

dimension and mass-less virtual links in the multiple-DOF joints are not carried out. This

was possible due to the introduction of the concept of Euler-Angle-Joints (EAJs) in

Chapter 3. It may be noted that derivation of the intra-modular steps from the inter-

modular steps are not straightforward as in the case of inverse dynamics. Here, one

essentially requires the analytical decomposition of the matrix

k k

T

i i iU D U ˆiI obtained in Eq.

(5.34). Next, iq of Eq. (6.12) in terms of the block expressions i , i and i , are written

to find k of Eq. (6.13), for k=1, …, i. The actual computer implementation of the

proposed forward dynamics algorithm is shown in Table 6.2. Proposed forward dynamics

algorithm has computational complexity of 1 2 3(135 99 87 116)Mn n n

21 2 3n

3123)An n utational counts (131 various steps in Table 6.2

are provided in Appendix B, whereas the comparison of forward dynamics algorithm with

those available in the literature is given in Section 6.3.

92 79 . The comp for

117

Page 148: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Table 6.2 Recursive O(n) forward dynamics algorithm for fixed-base robotic systems

Initialization Step 1: ˆ and

6.2 Applications

In this section, the developed recursive algorithms are applied to analyze several robotic

systems and to present the efficiency of the algorithms. Numerical results are obtained

using the Recursive Dynamics Simulator (ReDySim), a MATLAB-based software,

developed during this research work. ReDySim is based on the recursive algorithms given

in Tables 6.1 and 6.2.

6.2.1 Robotic gripper

A robotic gripper, as shown in Fig. 6.1, can hold objects to be manipulated by a robotic

manipulator. It has four kinematic modules, namely, M0, M1, M2, and M3. Module M0 is

j j j

Step 2:

0

For 1:

(Inter modular)

For 1:

(Intra modular)

For 1:

(Joint level)

1

ˆ

end

ˆ

end

end

i

k

j

j

j

j k

j

i s

k n

r

j j

-

-

M O

0

0

M M

1 ,

1

For :1 (Inter modular)

For :1 (Intra modular)

For : 2 (Joint level)

call function_1

call function_2

ˆ ˆ

1

i

k

j j j

j j

j DOF

i s

k n

r

j j

-

-

M M

, , ,

,

end

1

call function_1

if ( 0 )

call function_2

ˆ ˆ ˆ

end

1

end

end

j j

j j

j

T

k j j k

T

k j

r

j j

M M A M A

A

,

ˆˆ

ˆˆ

ˆ ˆ/

ˆ

ˆ ˆ

ˆ ˆ ˆ

ˆ

j j j

T

j j j

j j j

T

j j j j

j j j

T

j j j j j

j j j j

m

m

m

function_1

M p

p

p

function_2

M M

,

0

For 1: (Inter modular)

For 1: (Intra modular)

1 (Joint level)

1

if ( 0 )

call function_3

else

j

i

j

j k

j

i s

k n

r

j j

-

-

A

1

end

For 2 :

1

call function_3

end

end

+

j j

j j j

k

j j

T

j j j j

j j j j

r

j j

p

function_3

p

118

Page 149: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

the fixed-base, whereas module M1 has one link, module M2 has two links, and module M3

has one link. The expressions of the DeNOC matrices, the GIM, and its factors U and D ,

were already obtained as given in Eqs. (4.30), (5.47) and (5.49), respectively. Next, the

steps of inverse and forward dynamics algorithms, given in Subsections 6.1.1 and 6.1.2,

are shown in Tables 6.3 and 6.4, respectively.

Table 6.3 Steps of inverse dynamics for robotic gripper

Step 1. Forward recursion [Based on Eqs. (6.2) and (6.3)]

Module Mi Inter-modular Link ki Intra-modular

i=1 1 1 1t N q ; 1 1 1 1 1t N q N q

*

1 1w M

1 1 1

1 1 1 1 1t M E t

k=11 1 1 1

t p ;

1 1 1 1 1 11 1 1 1 1 1t p p

1 1 1 1 1 1

*

1 1 1 1 1 1w M t M E t 11

i =2 2 2,1 1 2 2t A t N q

2 2,1 1 2,1 1 2 2 2 2t A t +A t +N q N q

*

2 2 2 2 2 2w M t M E t2

21

k=12 2 2 1 1 21 1 ,1 1 1

t A t p ;

2 2 1 1 2 1 1 2 2 2 21 1 ,1 1 1 ,1 1 1 1 1 1 12t A t A t p p

21

2 2 2 2 2 2

*

1 1 1 1 1 1w M t M E t

k=22 2 2 2 2 22 2 ,1 1 2 22

t A t p ;

2 2 2 2 2 2 2 2 2 2 22 2 ,1 1 2 ,1 1 2 2 2 2 22t A t A t p p

222 2 2 2 2 2

*

2 2 2 2 2 2w M t M E t

i=3 3 3,1 1 3 3t A t N q

3 3t A ,1 1 3,1 1 3 3 3 3t +A t +N q N q

*

3 3 3 3 3 3 3w M t M E t

k=13 3 3 1 1 3 31 1 ,1 1 1 1

t A t p

3 3 1 1 3 1 1 3 3 3 3 31 1 ,1 1 1 ,1 1 1 1 1 1 1

t A t A t p p

3 3 3 3 3 3 3

*

1 1 1 1 1 1 1w M t M E t

Fig. 6.1 A robotic gripper and it modularization

M2

M1M3 M3

M2

M1

#22

#12

#11

#13

#0 (M0)

M0

Module architecture

119

Page 150: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Step 2. Backward re rsion [Based on Eqs. (6.5) an . )] cu d (6 6

i=3 *

3 3w w ; 3 3 3 N wT

31

k=13 3 3

*

1 1w w ; 3 31 1

p wT

i=2 *

2 2w w ; 2 2N wT

2 22

k=22 2 2

*

2 2w w ; 2 22 2

p wT

k=12 2 2 2 2

*

1 1 2 ,1w w A w

T;22

2 21 1p w

T 21

i=1 *w w A w A w

T T; 1 1 2,1 2 3,1 3

*TN w k=11

1 1 1 111 1 11 1 2 1 2 3 1

*

1 1 1 ,1 1 1 ,1w w A w A w

T T;3 1 1p w

T

Note that, in step 1 of Table 6.3, i.e., for k=1 , the 6–dimensional vector [0 g ] ,

where ‘g’ is e 3-dimensional vector due to gravitational acceleration, is added to the

acceleration 1

1 T T T

th

1t odule M1, to take into account the effect of gravity to

other links of the modules.

T r

ward Re tation of

of the first link of m

able 6.4 Steps of forward dynamics for robotic grippe

Step 1. Back cursion: Compu ˆ and [Based on Eq .11)] s. (6.10) and (6

Module M Inter-modular i Intra-m ular i Link k od

i=3 3 3ˆ ;

1

3 3

ˆ ˆ3I 3 31 1

ˆk=13 ; 3 3 31

ˆ1 1

ˆ m

i=2 2 2ˆ ;

1

2 2

ˆ ˆ2I

2 22 2ˆ

k=22 ; 2 22 2 22mˆ

k=12 22;

22

2 2 2 21 1 1 1ˆ p

T ; 2 2 21 2 ,1

TA

2 22 2ˆ

2 21 1 1ˆ m2

i=1 1 1 1 1ˆ N

T ; 1 2,1 2 3,1 3

T TA A ;

2 2 2 ; ˆ3 3

ˆ3

1

1 1 1

ˆ ˆI

k=11 3 ;

1 1 1 11 1 1 1ˆ p

TA; 1 2 1 2 3 1

1 1 ,1 1 1 ,1 1

T TA

2 2 21 1 1ˆ

21; 3 31 1

ˆ31

1 1 11 1 1ˆ m

Step 2. Forward recursion: Computation of q d on Eqs. (6.12) and (6.13)] [Base

i=1 1 1q k=11 1 11 1

i=2 2 2 2 2qT

; 2 2,1 1A ;

1 1N q 1

11k=12 2 2 21 1 1

T;21

2 2 11 1 ,1

1 1A ; 1 1 11

p

k=22 212 2 2 22 2 2 2

T; 22 2 22 ,1

A ;

21 2 2 21 1 1

p +

3 3 31 1 1

T; 31

3 3 11 1 ,1 11A ; 1 11 1i=3 3 3 3 3q

T; 3 3,1 1A ;

1 1 1N q

k=13 11p

Numerical results for inverse dynamics, i.e., to find the joint torques for a given set of

input motions, are obtained using the inverse dynamics module of ReDySim based on

recursive algorithm in Table 6.1, the steps of which for this example are given in Table

120

Page 151: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

6.3. The motion for each joint for this purpose was computed for the time function of the

trajectory given below:

( ) (0)( ) (0)t t

2sin

2

T Tt

T T (6.14)

where (0) and ( )T denote the initial and final joint angles, respectively, as given in

Table 6.5. The joint trajectory in Eq. (6.14) is so chosen that the initial and final joint

rates and accelerations for all the joints are zeros. These ensure smooth motion of the

joints. The length and mass of the links were taken as 1 = 0.1m, 2 = = = 0.05m,

= 0.4 Kg, and = m = m = 0.2 Kg. The joint torques for the robotic gripper are

then plotted in Fig. 6.2.

1l

1l 22

l 31l

11m 21

m 22 31

In order to validate the results a CAD model of the gripper mechanism was developed in

ADAMS (2004) software and used for the computation of the joint torques. The results

are also shown in Fig. 6.2, which shows close match between the values obtained using

the proposed inverse dynamics algorithm. Hence, the numerical results are validated. As

far as the computational complexity is concerned, ReDySim took only 0.025 sec on Intel

[email protected] computing system. The ADMAS software, however, took 1.95 sec,

which is longer and is expected as it is general purpose software whose efficiency cannot

really be compared with the customized program like ReDySim proposed in this thesis.

The comparison of the efficiency with other existing algorithms is provided later in

Section 6.3.

Table 6.5 Joint motions for robotic gripper

Joints 11 12 22 13

(0) 0 0 0 90o

(T) 60o 80o 80o 120o

121

Page 152: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

For simulation studies of the robotic gripper, forward dynamics module of the ReDySim

based on recursive algorithm in Table 6.2 is used. Numerical results for the acceleration

were obtained for the free-fall of the gripper, i.e., it was left to move under gravity

without any external torques applied at the joints. The accelerations were then

numerically integrated twice using the Ordinary Differential Equation (ODE) solver

‘ode45’ (default in ReDySim) of MATLAB. The ‘ode45’ solver is based on the explicit

Runge-Kutta formula shown by Dormand and Prince (1980). The initial joint angles and

rates are taken as 11= -60

o, 12

= 22 = 31

=0, and 11 = 21

= 22= 31

= 0, respectively.

Figure 6.3 shows a comparison of the simulated joint angles with the same obtained in

ADAMS (by using RKF45 solver) over the time duration of 1 second with a step size of

0.001 sec. The ReDySim took 0.29 sec in contrast to 39 sec required by ADAMS. In

order to show the convergence of the results, a variation of the joint angle 11simulated

using the proposed algorithm and that of using the ADAMS software are plotted in Fig.

6.4. The resulting plot is a 45o line, and thus shows a close match between the results.

(a) Torques at joints 11 (b) Torques at joints 12

(c) Torques at joints 22 (d) Torques at joints 13

Fig. 6.2 Joint torques for robotic gripper

Simulated ADAMS

0 0.5 10

0.5

1

time(s)

11 (

Nm

)

0 0.5 1-0.5

0

0.5

time(s)

12 (

Nm

)

0 0.5 1-0.1

0

0.1

time(s)

22 (

Nm

)

0 0.5 1-0.05

0

0.05

time(s)

13 (

Nm

)

122

Page 153: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

6.2.2 A biped

In order to study the effectiveness of the proposed algorithms for tree-type systems

consisting of multiple-DOF joints, a spatial biped, as shown in Fig. 6.5(a), is considered

next. It has spherical joints at the hips, revolute joints at the knees, and universal joints at

Fig. 6.4 Convergence of joint angle 11

-130 -120 -110 -100 -90 -80 -70 -60 -50

-130

-120

-110

-100

-90

-80

-70

-60

-50

Simulated

AD

AM

S

A 45o l ine 1

1 (deg)

(a) Joint 11 (b) Joint 22

(c) Joints 12 (d) Joint 13

Fig. 6.3 Simulated joint angles for robotic gripper

Simulated ADAMS

0 0.2 0.4 0.6 0.8 1-120

-100

-80

-60

time(s)

11 (

de

g)

0 0.2 0.4 0.6 0.8 1-20

0

20

12 (

de

g)

time(s)

0 0.2 0.4 0.6 0.8 1-20

0

20

time(s)

22 (

de

g)

0 0.2 0.4 0.6 0.8 1-50

0

50

time(s)

13 (

de

g)

123

Page 154: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

the ankles. Biped motion was analyzed for a single support phase where one of the feet

(the supporting foot during walking) is assumed to have no relative motion with respect to

the ground. This is indicated in the figure with hatched lines. Hence, the biped dynamics

can be solved as an open tree-type system like those reported in (Shih et al., 1993).

However, the following aspects distinguish the proposed modeling and simulation of the

biped under study that form new contribution of this thesis:

(a) (b)

Fig. 6.5 A 7-link biped and its module architecture

Spherical joints

at hips

Revote joints

at knees

Universal joints

at ankles

0

#11

#2

31

11

21

#31

M1 #1

2

#22

#32

12

22

32

M2

M0

Y (Sidewise)

Z (Vertical)

X (Forward)

1. Treatment of multiple-DOF joints using the concept of Euler-Angle-Joints (EAJs) as

proposed in Chapter 3.

2. Clever avoidance of the unnecessary operations with zeros associated with the

dimensions and the masses of the intermediate links, as pointed out in Section 6.1.

3. The use of modularization of the biped. The biped is divided into three modules, M0,

M1 and M2, as shown in Fig. 6.5(b). Such modularization helps one to treat module M1

and M2 in a similar manner as each module consists of three links, one spherical joint,

one revolute joint, and one universal joint. Hence computationally one can use the

same instructions. This result into a more elegant approach.

124

Page 155: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

The model parameters for the biped are given in Table 6.6. In order to perform dynamic

analysis, the desired trajectories of the swing foot and the Center-of-Mass (COM) of the

trunk are synthesized first. The trunk’s COM trajectories are designed based on the

Inverted Pendulum Model (Kajita and Tani, 1991; and Park and Kim, 1998), which

assumes that the mass of the biped is concentrated at the trunk, the feet remain horizontal

throughout the robot’s motion and trunk moves horizontally with constant height from the

ground. The swing foot trajectory is defined as cosine function. The trajectories of the

trunk’ COM and swing foot are functions of cycle time (T), co-ordinates of COM x0(0),

y0(0) and z0(0) at T=0, stride length (ls,) and maximum foot height (hf), as derived in

Appendix C. For the spatial biped under study, T, x0(0), y0(0), z0(0), ls, and hf are assumed

to be 0.5 sec, -0.15 m, 0.08 m, 0.92 m, 0.3 m and 0.1 m, respectively. The resulting

trajectories of the COM of the trunk and the ankle of the swing foot are shown in Fig. 6.6.

Table 6.6 Model parameters for the biped

Link Length (m) Mass (Kg)

11,32 0.5 1

11, 22 0.6 1

12, 22 0.15 0.2

31 0.1×0.1(width) 5

(a) Trunk COM

(b) Ankle of the swing foot

Fig. 6.6 Designed trajectories of the trunk COM and ankle of the spatial biped

0 0.5-0.2

0

0.2

x0

time (sec)

0 0.50

0.01

0.02

y0

time (sec)

0 0.5-1

0

1

2

z0

time (sec)

0 0.5-0.5

0

0.5

xa

time (sec)

0 0.5-0.06

-0.04

-0.02

0

ya

time (sec)

0 0.5-0.1

0

0.1

za

time (sec)

125

Page 156: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Based on the motion of the trunk and ankles, the desired joint level trajectories, i.e.,

were

calculated using the inverse kinematics relationships, which are also provided in

Appendix C. The joint trajectories thus obtained are shown in Fig. 6.7.

1 1 1 1 11 2 1 2 3

1 1 11 1 3 3 31 2 3[ ] , , [

T T] , 2 2 2 2 21 2 3 1 2

2 2 21 1 1 3 31 2 3[ ] , , and [

T T] ,

(a) Support leg (Module 1)

(b) Swing leg (Module 2)

Fig. 6.7 Joint trajectories of the spatial biped obtained from trunk and ankle trajectories by using inverse

kinematics relationships

0 0.5-40

-30

-20

-10

1,1

1 (

de

gre

e)

time (sec)

0 0.50

0.5

1

1,2

1 (

de

gre

e)

time (sec)

0 0.542

44

46

48

21 (

de

gre

e)

time (sec)

0 0.5-40

-30

-20

-10

time (sec)

3,1

1 (

de

gre

e)

0 0.5-91

-90.5

-90

3,2

1 (

de

gre

e)

time (sec)

0 0.5179

180

181

time (sec)

3,3

1 (

de

gre

e)

0 0.5-1

0

1

1,1

2 (

de

gre

e)

time (sec)

0 0.5-90

-89.5

-89

-88.5

time (sec)

1,2

2 (

de

gre

e)

0 0.5-40

-30

-20

-10

1,3

2 (

de

gre

e)

time (sec)

0 0.540

50

60

70

22 (

de

gre

e)

time (sec)

0 0.5-1.5

-1

-0.5

0

3,1

2 (

de

gre

e)

time (sec)

0 0.5-40

-30

-20

-10

3,2

2 (

de

gre

e)

time (sec)

Next, the inverse dynamics module of ReDySim was used to perform the force analyses

of the biped. The detailed steps (like the robotic gripper of Subsection 6.3.1, as given in

Table 6.3) are avoided for brevity. Figure 6.8 shows the joint torques for a single support

126

Page 157: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

phase of a biped. It is worth noting that a complete walking sequence of a biped consists

of single support phase as well as a momentary double support phase for changing legs

forming a closed-loop system. The changeover of the legs demands the changing the

equations of motion. Though the double support phase may be analyzed by following the

approach given in Appendix A, yet, the same is not an efficient one. More elegant way of

analysis is reported in Chapter 7.

(a) Support leg (Module 1)

(b) Swing leg (Module 2)

Fig. 6.8 Torque requirement at joints of the biped

0 0.5

-10

0

10

time(s)

1 1,1

(N

m)

0 0.54

6

8

10

time(s)

1 1,2

(N

m)

0 0.5-20

-10

0

time(s)

1 2 (

Nm

)

0 0.5-5

0

5

10

15

time(s)

1 3,1

(N

m)

0 0.5-4

-2

0

2

4

6

time(s)

1 3,2

(Nm

)0 0.5

-1

0

1

2

time(s)

1 3,3

(Nm

)0 0.5

-0.5

0

0.5

1

1.5

time(s)

2 1,1

(N

m)

0 0.5-6

-4

-2

0

2

4

time(s)

2 1,2

(N

m)

0 0.5-20

-10

0

10

time(s)

2 1,3

(Nm

)

0 0.5-10

-5

0

5

time(s)

2 2 (

Nm

)

0 0.5

0

2

4

time(s)

2 2,1

(Nm

)

0 0.5-2

0

2

4

6

time(s)

2 2,2

(N

m)

127

Page 158: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Forced simulation is performed next, where the motion of biped is studied under the

application of joint torques calculated above in Fig. 6.8. The joint motions were

calculated using the forward dynamics module of ReDySim. The plots for the simulated

joint angles are shown in Fig. 6.9 along with the desired one. It can be seen that the

simulated joint angles match with the desired joint angles up to 0.1 seconds, i.e., until 0.1

second movement of the biped. After this, system behaves unexpectedly as evident from

(a) Support leg (Module 1)

(b) Swing leg (Module 2)

Fig. 6.9 Simulated joint angles for the biped

Simulated Desired

0 0.5-50

0

50

1,1

1 (

de

gre

e)

time (sec)

0 0.50

5

10

1,2

1 (

de

gre

e)

time (sec)

0 0.5-100

-50

0

50

21 (

de

gre

e)

time (sec)

0 0.5-500

0

500

time (sec)

1,1

2 (

de

gre

e)

0 0.5-150

-100

-50

0

1,2

2 (

de

gre

e)

time (sec)

0 0.5100

200

300

400

time (sec)

1,3

2 (

de

gre

e)

0 0.5-100

0

100

200

1,1

2 (

de

gre

e)

time (sec)

0 0.5-150

-100

-50

0

time (sec)

1,2

2 (

de

gre

e)

0 0.5-200

0

200

400

1,3

2 (

de

gre

e)

time (sec)

0 0.540

60

80

22 (

de

gre

e)

time (sec)

0 0.5-10

0

10

20

3,1

2 (

de

gre

e)

time (sec)

0 0.5-40

-30

-20

-10

3,2

2 (

de

gre

e)

time (sec)

128

Page 159: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

the divergent plots of the simulated angles in Fig. 6.9. The deviation in the simulated

angles is mainly attributed to what is known as zero eigen-value effect (Saha and

Schiehlen, 2001). The real system may also not behave as expected due to disturbances

caused by unmodeled parameters like friction, backlash, etc. and non-exact geometrical

and inertia parameters. Hence, a control scheme must be considered, as this forms a part

and parcel of achieving proper walking. The application of control scheme will be

explained in Chapter 8.

The computational complexity of the biped using the proposed algorithms with those in

the literature is provided later in Section 6.3. In order to validate the simulation results the

law of energy conservation was used (as shown in Appendix D) where the total energy of

the biped while walking remains constant. The energy plots for the biped are shown in

Fig. 6.10, where the total energy remains constant throughout the simulation period with

maximum error in total energy of the order 10-3

. This validates the simulation results.

Fig. 6.10 Energy balance for the biped

(Maximum error in total energy =0.0058)

Total Potential Actuator Kinetic

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5

50

55

60

65

70

time (s)

En

erg

y (

J)

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5

-50

0

50

100

time (s)

En

erg

y (

J)

129

Page 160: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

6.2.3 Hyper-DOF systems

A system consisting of large number of Degrees-of-Freedom (DOF) is considered in this

thesis as a hyper-DOF system, as shown in Fig. 6.11. A long chain, flexible rope or hose,

fly line, cable, etc. are examples of hyper-DOF systems, which may move in serpentine

fashion. The concept of multibody systems may be extended to model dynamics of such

systems, which may be conceptualized as a combination of numerous bodies connected

by kinematic pairs to emulate a shape as shown in Fig. 6.11. Gatti and Perkins (2002),

Wong and Yasu (2006), and Fritzkowski and Kaminski (2008, 2010) attempted to study

the dynamics of such hyper-DOF systems. Variety of hyper-DOF systems can then be

modeled by appropriate combination of linear and torsional spring-dampers at the joints

as shown by Fritzkowski and Kaminski (2010). In a typical analysis (Fritzkowski and

Kaminski, 2008), the DOF was taken as 70 for one meter length of a rope. As indicated in

Subsection 6.1.2, if the DOF is greater than seven, i.e., n>7, the recursive algorithms

(Stelzle et al., 1997) perform much better than any conventional O(n3) algorithms, e.g.,

Fig. 6.11 A hyper-DOF multibody system

0

Ms

M1

Base

Mi Torsion

spring

Detail of the

module Mi

130

Page 161: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Walker and Orin (1982), Ma and Angeles (1988) and others. This aspect is investigated in

this section by applying the recursive forward dynamics algorithm of Table 6.2 with the

help of ReDySim. The dynamics of a hyper-DOF system is studied by taking a chain of

2.5 m length, constituted by 200 cylindrical elements of length 12.5 mm, 10mm diameter,

and mass one gram each. Each such link is connected to its adjoining link by a universal

joint and a torsional spring of stiffness 0.01 N-m/rad. As a result the system has 400

DOF. The simulation of motion of such a rope under free-fall is performed for 2 seconds.

Configurations of the rope are shown in Fig. 6.12 at different instant of time. The energy

plots to validate the correctness of the results appear Fig. 6.13. The CPU time in a

E8400@ 3GHz computing system was recorded to be one minute, in comparison with

estimated 1.32 minutes1 while working with Featherstone’s (1983) algorithm on the same

(a) t= 0 s (b) t= 0.25 s (c) t= 0.50 s

(d) t= 0.75 s (e) t= 1 s (f) t= 1.25 s

(g) t= 1.50 s (h) t= 1.75 s (i) t= 2 s

Fig. 6.12 Simulation of 2.5m chain with 400 DOF (2 Sec)

1 Estimated based on the equal number of steps as the ReDySim took for integration.

-2 -1 0 1 2

1

0

-1

-2

x (m)

y (

m)

-2 -1 0 1 2

-2

-1

0

1

x (m)

y (

m)

-2 -1 0 1 2

-2

-1

0

1

x (m)

y (

m)

-2 -1 0 1 2

-2

-1

0

1

x (m)

y (

m)

-2 -1 0 1 2

-2

-1

0

1

x (m)

y (

m)

-2 -1 0 1 2

-2

-1

0

1

x (m)

y (

m)

-2 -1 0 1 2

-2

-1

0

1

x (m)

y (

m)

-2 -1 0 1 2

-2

-1

0

1

x (m)

y (

m)

-2 -1 0 1 2

-2

-1

0

1

x (m)

y (

m)

131

Page 162: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

computing system. The reduction in time is a direct result of the recursive algorithm

formulated. The time saving increases as the complexity of the systems increases.

Fig. 6.13 Energy balance for the long chain

Total Visco-Elastic Potential Kinetic

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

-0.01

0

0.01

0.02

0.03

time (s)

En

erg

y (

J)

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

-4

-2

0

2

4

time (s)

En

erg

y (

J)

6.3 Computational Complexity

The computational complexities for the different steps in Tables 6.1 and 6.2 are provided

in Appendix B. The resulting computational complexities of the proposed recursive

inverse and forward dynamics algorithms calculated in terms of arithmetic operations,

namely, Multiplications/Divisions (M) and Additions/Subtractions (A) are compared

Table 6.7 Computational complexity of the recursive O(n) inverse dynamics algorithm for fixed-base systems

Algorithms Computational complexity Gripper

n1=4,n2=0,n3=0

n = 4

Biped

n1=2,n2=4,n3=6

n = 12

Hyper-DOF

n1=0,n2=200,n3=0

n =200

Proposed 1 2 3

21 2 33

(94n +58n +46n -81)M

(82n +48n +36 n -75)A

295M253A 615M497A 11519M9525A

Balafoutis et al.

( 1991)

(93n-69)M(81n-65)A 303M259A 1047M907A 18531M16135A

Angeles (1989) (105n-109)M(90n-105)A 311M255A 1151M957A 20891M17895A

Saha (1999) (120n-44)M(97n-55)A 436M333A 1396M1109A 23956M19345A

Featherstone

(1987)

(130n-68)M(101n-56)A 452M348A 1492M1156A 25932M20144A

Note: 1) M: Multiplications/Divisions, A: Addition/Subtraction; 2) n = n1+n2+n3.

132

Page 163: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

in Tables 6.7 and 6.8, respectively. It is interesting to note that the complexities are

proportional to n1, n2, and n3, the total numbers of joint variables associated with 1-DOF,

2-DOF, and 3-DOF joints, respectively. Hence, the total number of joint variables, n, in a

system under study is nothing but n1+n2+n3. It is pointed out here that the computational

complexities of the algorithms reported in literature depend on total number of joint

variables n, irrespective of the type of joints present in the system. Hence, number of

links to be treated in the algorithm is equal to number of joint variables, whereas in the

proposed algorithm it is equal to number of joints. As a result, proposed algorithms

perform much faster when a system has multiple-DOF joints. This is evident from the

Figs. 6.14 and 6.15. Figure 6.14 shows comparisons of computational complexities for

the inverse dynamics algorithms, when system consist of 1-DOF (Fig. 6.14a), 2-DOF (Fig.

6.14b), 3-DOF (Fig. 6.14c) and equal numbers of 1- 2- and 3-DOF joints (Fig. 6.14d). It

may be seen that the proposed inverse dynamics algorithm performs as fast as the fastest

algorithm available in the literature when the system consists of only 1-DOF joints, as

shown in Fig. 6.14(a). However, when multiple-DOF joints are introduced in the system

the proposed algorithm out performs the algorithms available in the literature and

Table 6.8 Computational complexity of the recursive O(n) forward dynamics algorithm for fixed-base systems

Algorithms Computational complexity Gripper

n1=4,n2=0,n3=0

n = 4

Biped

n1=2,n2=4,n3=6

n = 12

Hyper-DOF

n1=0,n2=200,n3=0

n = 200

Proposed 1 2 3

21 2 33

(135n +99n +87n -116)M

(131n +92n +79 n -123)A

444 M 401A 1072M981A 19684M18277A

Mohan and Saha

(2007)

(173n-128)M(150n-133)A 564 M 467A 1948M1667A 34472M29867A

Saha (2003) (191n-284)M(187n-325)A 480 M 423A 2008M1919A 37916M37075A

Featherstone (1983) (199n-198)M(174n-173)A 598 M 523A 2190M1915A 39602M34627A

Lilly and Orin (1991) 3 231 1

6 2 3

3 2 51

6 6

( 10 40 51)M

( 7 50 51)A

n n n

n n n

305 M 275A 2377M1855A

1801349M

1623449A

133

Page 164: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

significant improvement in the computational efficiency can be obtained as seen in Figs.

6.14(b-d).

(a) All 1-DOF joints (b) All 2-DOF joints

(c) All 3-DOF joints only (d) Equal number of 1-, 2- and 3-DOF joints

Fig. 6.14 Performance of the proposed inverse dynamics algorithm for a system with multiple-DOF joints

Proposed Balafoutis Featherstone Angeles

0 10 20 30 40

0

2000

4000

6000

8000

10000

Co

mp

uta

tio

na

l C

ou

nts

Joint variables (n)

0 10 20 30 40

0

2000

4000

6000

8000

10000

Co

mp

uta

tio

na

l C

ou

nts

Joint variables (n)

0 10 20 30 40

0

2000

4000

6000

8000

10000

Co

mp

uta

tio

na

l C

ou

nts

Joint variables (n)

0 10 20 30 40

0

2000

4000

6000

8000

10000

Co

mp

uta

tio

na

l C

ou

nts

Joint variables (n)

From Fig. 6.15, it is clear that the proposed forward dynamics algorithm performs better

than any algorithm available in the literature. More the number of multiple-DOF joints

more the improvement in the computational efficiency, as shown in Fig. 6.15(b-d). This is

mainly due the implicit inversion of the GIM using TUDU decomposition and

simplification of the expression associated with multiple-DOF joints. Moreover, many of

the computations required for the evaluation of the elements of U need not be repeated

134

Page 165: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

(a) All 1-DOF joints (b) All 2-DOF joints

(c) All 3-DOF joints only (d) Equal number of 1-, 2- and 3-DOF joints

Fig. 6.15 Performance of the proposed forward dynamics algorithm for a system with multiple-DOF joints

Proposed Mohan and Saha Featherstone Lilly and Orin

0 10 20 30 40

0

0.5

1

1.5

2x 10

4

Co

mp

uta

tio

na

l C

ou

nts

Joint variables (n)

0 10 20 30 40

0

0.5

1

1.5

2x 10

4

Co

mp

uta

tio

na

l C

ou

nts

Joint variables (n)

0 10 20 30 40

0

0.5

1

1.5

2x 10

4

Co

mp

uta

tio

na

l C

ou

nts

Joint variables (n)

0 10 20 30 40

0

0.5

1

1.5

2x 10

4C

om

pu

tatio

na

l C

ou

nts

Joint variables (n)

while performing the calculation with T

U . As a result, a computer code developer can

combine many steps to enhance efficiency. In the tree-type robotic systems, such as biped,

quadruped, etc., where the DOF of the system is more than 30, and the system consists of

many multiple-DOF joints, the proposed algorithms significantly improves the

computational efficiency.

Comparison of the proposed algorithm in terms of the CPU times for a system with Large

DOF, i.e., hyper-DOF system, is also shown in Fig. 6.16, which clearly indicates that the

proposed recursive algorithm outperforms all other recursive algorithms available in the

135

Page 166: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

literature. In fact, through a personal communication2 it was found that a flexible hose

with 1000 links and 2000 DOF took more than a day (24 hours) when simulated with the

help of commercial software RecurDyn (2009). Hence the need of a dedicated customized

algorithm is emphasized here over general purpose software for analysis of complex

system with large DOF.

Fig. 6.16 Comparison of CPU time for hyper-systems (number of steps= 9×105)

0 100 200 300 400 500 600 700

0

20

40

60

80

100

120

DOF (n)

CP

U t

ime

(m

in)

Proposed

Fetherstone

Mohan and Saha

Lil ly and Orin

6.4 Summary

In this chapter, efficient recursive inverse and forward dynamics algorithms are reported

for tree-type robotic systems consisting of multiple-DOF joints. The proposed algorithms

performed better or as good as the fastest algorithm present in the literature when the

systems consisted of only 1-DOF joints. However, with multiple-DOF joints in a system

the algorithms performed much better. This finding with the algorithms forms an integral

part of the contribution of this thesis. Several systems like robotic gripper, spatial biped,

and a hyper-DOF system were analyzed using the proposed recursive algorithms.

136

2 Dr. S. Bandopadhyay of IIT Madras

Page 167: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Chapter 7

RECURSIVE DYNAMICS FOR FLOATING-BASE

LEGGED ROBOTS

Robotic systems studied in Chapter 6 have their bases fixed, however, in reality many

robotic systems have their bases mobile or floating. In the case of a fixed-base robotic

system, the base does not influence the dynamics, whereas it significantly influences the

dynamics in the case of a floating-base robotic system. Space manipulators and legged

robots are examples of floating-base robotic systems. Legged robots find applications in

maintenance task of industrial plants, operations in dangerous and emergency

environments, surveillance, maneuvering unknown terrains, human care, terrain adaptive

vehicles and many more. A legged robot may be classified based on the number of legs,

e.g., biped, quadruped, hexapod, etc., or the way it balances, e.g., statically or

dynamically balanced. As reviewed in the literature survey, legged robots 1) have

variable topology, 2) move with high joint accelerations, 3) are dynamically balanced as

Center-of-Mass (COM) moves out of the polygon formed by the support feet, and 4) are

under actuated. Hence, objective of achieving stable motion is difficult to decompose into

actuator command. Therefore, control of legged robots is intricate and dynamics plays

vital role in achieving stable motion.

As mentioned earlier, legged robots have variable topologies. One approach for their

dynamic analyses is to have separate dynamic models for different topologies or

configurations as shown by Shih et al. (1993), Raibert et al. (1993), Ono et al. (2001) and

others. For example, when one foot of a biped is on the ground it can be treated as a

137

Page 168: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

fixed-base tree-type system, as analyzed in Chapter 6, whereas it may be treated as a

closed-loop system when both the feet are on the ground, as suggested in Appendix A.

Such configuration-dependant dynamic analysis is inconvenient when the system has

many configurations, which are frequently changing as the robot walk. An alternative

approach is to treat a biped or a quadruped as a floating-base system as proposed by

Freeman and Orin (1991), Ouezdou et al. (1998) and Vukobratic et al. (2007). In this

approach, a foot touching the ground is a contact rather than fixed as in the configuration-

dependant approach of Chapter 6. Hence, it may be referred to as the configuration-

independent approach. The latter approach is more generic and helps in modeling legged

robots in a unified manner, which is presented in this chapter.

Contact problem for configuration-dependent approach is essentially to solve the

kinematic constrains together with the equations of motion. In this approach a single point

contact is assumed and the contact remains fixed during the support phase, which is

however not valid in reality. On the contrary, contact problems for configuration-

independent approach can be divided into three categories, viz., a) analytical, b) impulse-

based, and c) penalty-based. Analytical method of contact formulation (Baraff, 1994;

Stewart and Trinkle, 2000; Lloyd, 2005) involves equality and inequality constraints, and

solution of constraint forces is an optimization problem. This approach is useful when the

contact environment is composed of small number of objects of relatively simple shapes.

Presence of friction makes analytical approach quite complex. In the impulse-based

method (Mirtich and Canny, 1995), the contact between bodies is modeled as collisions at

points. Impulse-based contact has limitation, particularly, when the objects have

continuous or stable contacts. In penalty-based approach (Bogert, 1989; Gerritsen et al.,

1995; Marhefka and Orin, 1996; Nigg and Herzog, 1999), the constraint forces at the

contact points are modeled by the deformation of linear or nonlinear visco-elastic model

138

Page 169: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

and its time derivatives. Penalty base approach, however, requires precise integration with

refined time steps during collision. Recently, Yamane and Nakamura (2006) and

Drumwright (2008) showed that the penalty based approach can be used to obtain fast and

stable simulations.

It is worth mentioning that the number of Degrees-of-Freedom (DOF) of legged robots is

generally high. For example, a humanoid robot has 40 DOF, as shown by Yamane and

Nakamura (1999). Moreover, motion of the legged robots is very complex. Hence, the

role of recursive dynamics, which leads to efficient algorithms for systems with many

DOF, is inevitable for trajectory planning and control of such robots. Recursive

algorithms are also known to provide numerically stable simulation results and thus make

the prediction of a robot’s motion more realistic.

The main objective of this chapter is to present dynamic analyses of several legged

robots, which have spatial joints, e.g., a spherical or a universal joint, in addition to the

revolute joints. In this work, a legged robot is considered as a floating-base system with

intermittent contact of feet. The penalty-based contact modeling is used to take into

account the intermittent foot-ground interaction. The concept of kinematic modules

introduced in the Chapters 4 and 5 is used to obtain efficient algorithms for recursive

dynamics of the floating-base robotic systems like biped, quadruped and hexapod

consisting of multiple-DOF joints.

7.1 Recursive Dynamics

Recursive dynamics of a floating-base robotic system, e.g., a legged robot, is important

due to following reasons: 1) The DOF of the robot is as high as 40 or more.; 2) system

consists of many multiple-DOF joints; 3) The inverse dynamics problem also requires

solution of differential equation for the base motion; and 4) The foot-ground interaction

139

Page 170: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

inherently consumes time for computation. As a result, the use of recursive algorithms

outperforms all other methods of solving the problem of dynamics. Two such algorithms

are presented next.

7.1.1 Inverse dynamics

In contrast to the fixed-base robotic systems, inverse dynamics problem of a floating-base

system involves solution of the accelerations of floating-base, followed by the

computation of the joint torques. Therefore, in order to solve the inverse dynamics

problem, the equations of motion given by Eq. (5.12) are rewritten after separating the

floating-base accelerations, , from the joint accelerations, 0q q , i.e.,

0 00 0

0

T q 0 h=

q h

I I

I I (7.1)

where is the 6×6 matrix associated with the floating base, 0I I is the n×n matrix

associated with the rest of the tree-type legged robot, and 0 1,0 ,0

TT T

sI I I is the

n×6 matrix. Moreover, 1

TT

s

Tq qq and

1

TT

s

T are the n-

dimensional vectors and 0

TT T F

h h h Cq is the (n+n0)-dimensional vector.

The inverse dynamics of the legged robot is then formulated by using Eq. (7.1) as

1

0 0 0

0 0

, where

, whe

q I h h

I q h

0 0 0

re

I q h

h I q h

T

(7.2)

It is evident from Eq. (7.2) that inverse dynamics of a floating-base legged robot involves

the solution of accelerations of the floating-base, , followed by evaluation of joint

torques,

0q

, by using the algebraic equations. The above calculations are done by using

three steps given below:

140

Page 171: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Step 1: Computation of *, , and t t w (Mt MEt) wF

Step 2: Computation of *

0 0, and h h h N N w I IT

T T T T

d l 0

Step 3: Computation of 1

0 0 0 0 0andq I h I q h

where is the generalized twist-rate vector while t0q 0. The algorithm to compute the

above three steps require inter- and intra-modular recursion, that are explained next.

Step 1. Forward recursion: Computation of *, , and t t w

In this step, the generalized twist , twist-rate t t , and wrench are calculated. Inter-

and intra-modular computations involved are shown below:

*w

A. Inter-modular computations:

For module M0

0 0 0 0 0 0

0 0 0 0 0 0 0 0

,t N q t N q

t M E t wF*

w M (7.3)

For module Mi (i = 1, …, s)

,

, ,

i

i i

i i i i

i i i i i i

F

i i i i i i

t A t N q

t +A t +N q N q

t M E t w

0 0 0 0 0 0

*

0 0 0 0 0 0 0 0

,t P q t P q

w M t M E t wF

*

i

i i

t A

w M

(7.4)

Intra-moduler steps for the above inter-modular steps are given below:

B. Intra-modular computations:

For floating base #0

(7.5)

141

Page 172: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

In Eq. (7.5) the vector [0T

gT]T, where ‘g’ is the 3-dimensional vector due to

gravitational acceleration, has been added to the acceleration of floating-base to take into

account the effect of gravity on the links. Moreover, 0t is the twist-rate of floating-base,

when . 0q 0

For link #ki (k

i = 1

i, …,

i)

( )

( ) ( )

,

, ,

For 1:

, 1

, 1

,

j k j jj

j j

j k k j j j j jj j

j j j j j

k

k k k k

k k

k k k k k k k k

k k k k k

j

j

j

, 1j

t A t p

p

t A t A t p p

p p

* ,

,

j

j j j j j j

k k

F

k k k k k k k k

j

j

w 0

M t M E t w

1j

(7.6)

where (k-1), for k>1.

Step 2. Backward Recursion: Computation of 0 0, and h I I

Having the results of Step 1 available, this step computes 0, and 0h I I with the help of

another set of inter- and intra-modular steps as follows:

A. Inter-modular computations:

For module Mi (i = s, …, 1)

*

,0

, where

, where

and

h N w w w

A M N

M M

i i i i i

j

T

i i i i i

i i

j

,

, ,

A w

A M A

i

i

T T

j i j

i

T

j i j j i

(7.7)

where i stands for array of the children of module Mi. Moreover, *

i iw w and i i

for having no children. In Eq. (7.7),

M M

if i={} M i repr nts the mass matrix of the ith

composite-modules as defined in Eq. (5.19).

ese

142

Page 173: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

For module M0

0

0

,0

0

,0 ,0

A w

A M A

T T

j j

j

T

j j j

j

i

k

T i

k

*

0 0 0 0 0

0,0 0 0 0 0

0 0

, where

, where

and

h N w w w

I N M N

M M

T (7.8)

The above inter-modular stpes require the following sets of intra-modular computations.

B. Intra-modular computations:

For link #ki (k =

i, …, 1)

)

1

*

,

*

1, ( 1)

For 1

, where , ,

, ,

p w w w A w

w A w

w

j j j j j

k j

j

k

T T

k k k k k l k l

l

k k k k k

k

j

h j

j k

1

)

1

,0

, ,

1, ( 1) 1,

,

, where

and , ,

, ,

A M p

M M A M A

M A M A

j

j j j j j

j j

k j

j

k

T

k k k k k k

k k l k l l k k

l

k k k k k k k

j

j k

j k

T i

T i

1, M

jk kj

0

0

*

0 ,0

0 0

,0 ,0

w A w

M P

A M A

T T

l l

l

T

l l l

(7.9)

Floating base #0

0 0 0 0

0,0 0 0 0

0 0

, where

, where

and

h P w w

I P

M M

T

l

(7.10)

Step 3. Forward recursion: Computation of and 0q

In this step, , and are obtained by using the following inter- and intra-modular

computations:

0q

143

Page 174: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

A. Inter-modular computations:

For module M0

1

00 0,0 0

00 0 0

q I h

q N q (7.11)

For module Mi (i = 1, …, s)

00

T

i i iq h (7.12)

It is worth noting that in Eq. (7.12), 00 ,0 0 0( )( )T T

i i i i iq N M A N q I q,0 0 where

,0 ,0 0

T

i i i iI N M A N .

B. Intra-modular computations:

For floating base #0

1

0 0,0 0

0 0 0

q I h

q P q

0

For 1:

q

k

T

k k k

j

h

(7.13)

For link #ki (For k = 1, …,

i)

,0 0

(7.14)

Once again, in Eq. (7.14), where . It

may be noted that inter-modular steps are compact representation of the intra-modular

steps. For example, the expression for in Eq. (7.14), for k= 1, …., i, is obtained after

writing

0 ,0 0 0( )( )T T

k k k k iq p M A P q I q

k

,0 ,0 0

T

i k k kI p M A P

i in Eq. (7.12) in terms of the block elements of i and ih . Hence, they are

equivalent.

The algorithmic implementation of the above steps is shown in Table 7.1. The

computational counts for the various steps in Table 7.1 are shown in Appendix B. The

computational complexity of the proposed inverse dynamics algorithm is obtained as

144

Page 175: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

21 2 3 1 2 33

(164 113 96 60)M (156 113 82 66)An n n n n n , where M and A stand for

Multiplications/Divisions and Additions/Subtractions, respectively. Moreover, n1, n2, and

n3 represent total number of joint variables associated with 1-DOF, 2-DOF and 3-DOF

joints respectively, and the total number of joint variables n is equal to n1+n2+n3. Hence,

the proposed recursive inverse dynamics algorithm is of O(n) complexity. A detailed

Table 7.1 Recursive O(n) inverse dynamics algorithm for floating-base robotic systems

Step 1: Compute *, , andj j jt t w

jM

j 0qj Step 2: Compute h and Step 3: Compute and

0 0 0

0 0 0

0,0

*

0 0 0 0 0 0 0 0

*

0 0 0 0

,

0, 0, 0

,

For 1: (Inter modular)

For 1: (Intra modular)

1 (Joint level)

1

j

F

i

j k j j

i k j

i s

k

r

j j

t P q

t P q

A 1

w M t M E t w

w w M M

-

-

t A t p

, ,

,0 , ,0

1

,

For 2 :

1

j jj k k

j j j j j

k k k

j j

k

j j j j

j j

r

j j

t A t A t

p p

A A A

w 0 M O

t t p

t t 1

,0 ,0

*

*

,

end

,

end

end

j j j j j

k k

j j

F

k k j j k k j j

j k j k

p p

A A

w 0 M O

w M t M E t w

w w M M

For :1 (Inter modular)

For :1 (Intra modular)

For : 2 (Joint level)

call function_1

1

end

j

j

i

k

j

j

j DOF

i s

k

r

j j

-

-

w w

M M

,

, ,

0 0 0

0 0 0

0,0 0 0

1 (Joint level)

call function_1

1

end

end

0, 0, 0

,

- - - - - - - - - - - - - - - - - - - - - - -

j j

j j

T

k j

T

k j k

T

T

r

j j

i k j

w w A w

M M A M A

h P w

M P

I P

function_1

,0

T

j j j

j j j

T

j k i

h

p w

M p

A

1

0 0,0 0

0 0 0

0

0, 0, 0

For 1: (Inter modular)

For 1: (Intra modular)

For 1: (Joint level)

1

end

end

end

i

k

T

j j j

i k j

i s

k

r

j j

h

q I h

q P q

-

-

q

145

Page 176: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

comparison of the proposed inverse dynamics algorithm with those existing in the

literature will be provided in Section 7.5.

7.1.2 Forward dynamics

Main objective in the forward dynamics is to find independent joint accelerations, which

are integrated twice to obtain velocities and positions. In order to perform the forward

dynamics, the equations of motion obtained in Eq. (5.12) are rewritten as follows:

*F T T

d lN N w, whereIq h h Cq (7.15)

where In contrast to the inverse dynamics algorithm, where * Fw (Mt MEt) w . t

rresponds to twist-rate when 0co q 0 here , t corresponds to q 0 Similar to the

forward dynamics of a fixed-base system, proposed in Subsection 6.1.2, the floating-base

system does not require the explicit inverse of the GIM, I, of Eq. (7.15). In fact, the

accelerations for each module are solved recursively without actually performing any

explicit inversion. The block

.

TUDU decomposition of the GIM proposed in Chapter 5 is

used to obtain the joint accelerations for the floating-base robotic systems. Based on the

block TUDU decomposition of the GIM, the equations of motion, Eq. (7.15), are

presented as

TUDU q h (7.16)

in which U and D are the (n+n0)×(n+n0), block upper-triangular and diagonal matrices.

It may be noted that h can be obtained by using the inverse dynamics algorithm given in

Subsection 7.1.1. However, the use of inverse dynamics for computation of h is not

computationally efficient as it involves computation of the terms associated with GIM,

i.e., and . On the contrary, here, h is computed efficiently together with the k M

,0kI

146

Page 177: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

computation of the joint accelerations. Next, the generalized acceleration, q , is

calculated by using three sets of linear algebraic equations, namely,

ˆ ˆ, where

ˆ , where

T

T

h DU q

U q

=

i)

ii)

iii) T

U

D

U q

(7.17)

Equations (7.16) or the above steps actually require inter- and intra-modular recursions as

given next.

Step 1. Forward recursion: Computation of *, , andt t w

This step has similar inter- and intra-modular recursions as shown in step 1 of the inverse

dynamics algorithm given in Subsection 7.1.1. However, here t corresponds to the

generalized twist-rate when . q 0

Step 2. Backward recursion: Computation of ˆ , and

In this step, ˆ and are obtained by using backward substitutions based on inter- and

intra-modular recursions, which are given below:

A. Inter-modular computations:

For module Mi (i = s, …, 0)

*

1

ˆi) ( ), where,

ˆ

ˆ ˆii)

N w

I

i

i i i i i i

j

,

*

, and

( )

A

w

T T

j i j

j j j

i i i

j i

(7.18)

In Eq. (7.18) i and i are the 6ni-dimensional vectors, and i 0 , if i={}. Also,

*

iw is

added to i in order to take into account the effect of h, appearing in Eq. (7.17).

147

Page 178: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Moreover, ˆ

iI and i are already obtained in Eqs. (5.34) and (5.35), respectively. Intra-

modular computations for the above step are carried out as follows:

B. Intra-modular computations:

For link #ki (k =

i, …, 1)

1

*

,

1, ( 1)

For 1

ˆi) ( + ), where , ,

, ,

p w A

A

j j j j j j

k

k

T T

k k k k k k l k l k

l

T i

k k k k

j

j k

j k

1

1 1 1 1

*ˆ and ( )

, where

ˆ and

ˆ ˆii)

w

p

j j j j j

j j j j

j j

l l l l l

T

k k k k k k

k k k k

k k k

j

m

i

j

(7.19)

For floating base #0

0

*

0 0 0 0 0

0 ,0

1

0 0 0

ˆi) ( ),

ˆwhere , and

ˆ ˆii)

T

T

l l l l l

l

P w

A

I

*( )l l+w (7.20)

Step 3. Forward recursion: Computation of q

Finally, the generalized independent accelerations ( q ) are computed using inter- and

intra-modular steps, which are given below:

A. Inter-modular computations:

For module M0

0 0q (7.21)

For module Mi (i = 1, …, s)

, , i

i i i i

i, where

and

T

i i i i i Aq

N q (7.22)

148

Page 179: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

in which i and i are the 6ni -dimensional vectors. Intra-modular computations for the

above step are given next.

B. Intra-modular computations:

For floating base #0

0 0q

( )

( )

, 1k j

k j

j

( )+

k j

(7.23)

For link #ki (k = 1, …,

i)

1

( ) ( )

,

For 1:

, where

, 1

and

j j j j j

j

k kj j

k

T

k k k k k k

k

j

j

A

p

(7.24)

In the above step k =(k-1) , for k>1.

It may be noted that derivation of the intra-modular steps from the inter-modular steps are

not straightforward as in the case of inverse dynamics. This essentially requires analytical

decomposition of T

i i iU D U ˆiI . Next, writing q of Eq. (7.22) in terms of the block

expressions of

i

i , i and i , the expressions of k , for k=1, …, i, as in Eq. (7.24) are

obtained.

Algorithmic implementation of the proposed recursive forward dynamics is shown in

Table 7.2. Computational counts of different steps in Table 7.2 are also provided in

Appendix B. Computational complexity of the proposed forward dynamics algorithm is

obtained as 1 1 11 2 3 1 2 32 3 3

(209 139 116 60)M(201 130 106 72)An n n n n n . The proposed

forward dynamics algorithm is also recursive with O(n) complexity. Comparison of the

proposed forward dynamics algorithm with those existing in literature will be provided in

Section 7.5.

149

Page 180: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Table 7.2 Recursive O(n) forward dynamics algorithm for floating-base robotic systems

Step 1: Compute t t *, , and w ˆ andk k

The proposed recursive algorithms for inverse and forward dynamics of floating-base

systems are implemented on MATLAB platform and forms sub-modules of Recursive

Step 2: Computek

Step 3: Compute

0 0 0

0 0 0 0

*

0 0 0 0 0 0 0 0

0 0

,

0, 0, 0

ˆ

For 1: (Inter modular)

For 1: (Intra modular)

1 (Joint level)

1

j

F

i

j k j j

j k

i k j

i s

k

r

j j

t P q

t P q

w M t M E t w

M M

-

-

t A t p

t A , ,

1

1

*

ˆ

For 2 :

1

ˆ

end

j jk j j j

j

k

j j j j

j j j j j

j

F

k k j j k k j j

r

j j

t A t p

M O

t t p

t t p

M O

w M t M E t w

ˆ

end

end

j k M M

,

For :1 (Inter modular)

For :1 (Intra modular)

For : 2 (Joint level)

call function_2

ˆ

ˆ ˆ

ˆ ˆ ˆ

ˆ

i

k

T

j j j j

j j j

T

j j j j j

j j

j DOF

i s

k

r

m

-

-

p

M M

1 ,

1

*

,

*

ˆ ˆ

1

end

1

call function_2

ˆ ( )

ˆ ˆ

ˆ ˆ ˆ

ˆ ( )

ˆ ˆj j

j j

j j j

j j

T

j j j j k

j j j

T

j j j j j

j j j j k

j j

r

m

M M

p w

M M

w

M M , , ,

,

0 0 0

0 0 0

*

0 0 0 0 0

1

0 0 0

ˆ

1

end

end

0, 0, 0

ˆˆ

ˆ ˆ

ˆ (

ˆ ˆ

ˆˆ

ˆˆ

ˆ ˆ/

j j

T

k j j k

T

k j

T

T

j j j

T

j j j

j j j

j j

i k j

m

m

A M A

A

M P

I P

P w )

I

function_2

M p

p

0 0

0 0 0

,

0, 0, 0

For 1: (Inter modular)

For 1: (Intra modular)

1 (Joint level)

1

call function_4

For 2 :

q

P q

-

-

A

j

i

j k

k

i k j

i s

k

r

j j

r

1

1

call function_4

end

end

function_4

p

j j

T

j j j j

j j j j

j j

+

150

Page 181: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Dynamics Simulator (ReDySim). The ReDySim has been used for analysis of legged

robots presented in this chapter.

7.2 Biped

There have been significant contributions in the fields of dynamics, control, and gait

planning of biped robots over the last two decades. Research in the area of biped walking

can be categorized into active (Sakagami et al., 2002; Kuroki et al., 2003; Kurazume et

al., 2003; Kaneko et al, 2008) and passive walking (McGeer, 1990; Collins et al., 2005;

Wisse et al., 2005). Active walking further can be categorized into static and dynamic

walking. In static walking, Center-Of-Mass (COM) remains within the convex hull of the

support feet, whereas in dynamics walking, Zero-Moment-Point (ZMP) (Vukobratovic,

1989) stays within the convex hull. Concept of the ZMP has played a significant role in

achieving dynamic walking for biped. The ZMP-based walking pattern generation of a

biped can mainly be divided into two. In the first approach walking pattern is obtained

from the equation of the ZMP, as shown by Hirai et al. (1998), Yamaguchi et al. (1999),

Kagami et al, (2002), and Huang. et al. (2001). Trajectory generation with the help of

equations of ZMP results into computationally expensive procedure as it is a problem of

solving complex differential equations involving many dynamic parameters. Second

approach is based on Inverted Pendulum Model (IPM), as shown by Kajita and Tani

(1991). This approach assumes that the mass of the biped is concentrated at the hip. The

IPM based trajectory generation is much simpler and relies on feedback control. It has

been successfully implemented to attain dynamic walking by Park and Kim (1998), Kajita

et al. (2003), Harada et al. (2004) and Morisawa et al. (2005). The discussion on ZMP

and trajectory generation for a 3-dimenisonal walk using IPM is provided in Appendix C.

In this section, an IPM based trajectory is used to obtain planar and spatial bipedal

dynamically stable walking. In contrast to the work by Park and Kim (1998) and Kajita et

151

Page 182: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

al. (2003), where a controller plays the major role in achieving the stable gait, here, the

input joint torques are obtained purely based on the inverse of dynamic model of the

biped robot under study.

Note that a biped negotiates three topologies, viz., double supported, single supported,

and flight, during different phases of its walking or running. Analysis of biped dynamics

may be either configuration-dependent or configuration-independent. The former

approach uses different sets of equations of motion for different configurations, while the

latter uses a single set of equations of motion for the complete dynamic analysis. Here,

configuration-independent approach, based on the dynamics of floating-base systems

presented in Section 7.1, is followed. For the feet contact, penalty-based model, as shown

in Appendix E is used.

7.2.1 A planar biped

In configuration-independent approach, a floating-base is identified first. Knowing the

motions of the floating-base, and other joint motions, dynamic analyses may be

performed. Figure 7.1 shows a 7-link planar biped. Trunk of the biped is assumed to be

(a) Module architecture (b) Joint variables

Fig. 7.1 A 7-link planar biped

M2

Trunk

M2 M1

M0

M1

Module architecture

#12

#0, M0

#11

#21

#22

#31 #3

2

Hip

Knee

Ankle

#12

#21

#11

#22

Z

X

021

11

22

12

(x0,z0)

#32 #3

1

23 13

(xa,za)

152

Page 183: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

the floating-base that forms module M0, and two legs form modules M1 and M2, as shown

in Fig. 7.1(a). Note that the expression of the DeNOC matrices for the system under study

is obtained in Chapter 4, whereas the GIM, its inverse and decomposition are shown in

Chapter 5. The coordinates of Center-of-Mass (COM) (x0, y0, z0) and the YXZ Euler

angles ( 0, 0, 0) are assumed to be the generalized independent coordinates for the

trunk #0, as shown in Fig, 7.1(b). It is assumed that the biped moves in a sagittal plane

and hence x0, y0, and 0 are the only variable coordinates and others are constant.

Moreover, 1 1 1 2 21 2 3 1 2 3, , , , , and 2 are the generalized coordinates associated with

the joint variables, which are also shown in Fig. 7.1(b).

The length and mass of the links are taken as l0= 0.5m, 11= = = 0

= = = = =

l 12l 21

l 22l = .5 m, 13

l = 23

0.15m, m0 = 5 Kg, and m m m m 1 Kg, and m = 0.2 Kg. The

trajectories for the COM of trunk and the swing foot are synthesized first. The COM

trajectories are designed based on the Inverted Pendulum Model (IPM), whereas the

swing foot trajectory is defined as cosine function. These trajectories are function of cycle

time (T), co-ordinates of COM x0(0), y0(0) and z0(0) at T=0, stride length (ls,) and

maximum foot height (hf) as synthesized in Appendix C. For the planar biped under

study, T, x0(0), y0(0), z0(0), ls, and hf are assumed as 1 sec, -0.15m, 0m, 0.96m, 0.3m and

0.1m, respectively. The resulting trajectories of COM of the trunk and ankle of the swing

foot are shown in Fig. 7.2. The COM and feet trajectories are then used to obtain the joint

trajectories by using the inverse kinematics relationships provided in Appendix C. The

joint trajectories thus obtained are shown in Fig. 7.3.

l

11 12 21 22 13= 23

m

153

Page 184: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

(b) Ankle of the swing foot

Fig. 7.2 Designed trajectories of the trunk COM and ankle of the planar biped

(a) Trunk COM

0 0.5 1-0.2

0

0.2

x0

time (sec)

0 0.5 10

1

2

3

z0

time (sec)

0 0.5 1-0.5

0

0.5

xa

time (sec)

0 0.5 1-0.1

0

0.1

0.2

za

time (sec)

Fig. 7.3 Joint trajectories of the planar biped obtained from trunk and ankle trajectories by using inverse

kinematics relationships

(a) Support leg (Module 1)

(b) Swing leg (Module 2)

0 0.5 10

10

20

30

1 1 (

de

gre

e)

time (sec)

0 0.5 1-35

-30

-25

1 2 (

de

gre

e)

time (sec)

0 0.5 190

100

110

120

1 3 (

de

gre

e)

time (sec)

0 0.5 10

20

40

time (sec)

2 1 (

de

gre

e)

0 0.5 1-80

-60

-40

-20

2 2 (

de

gre

e)

time (sec)

0 0.5 180

100

120

140

time (sec)

2 3 (

de

gre

e)

Recursive inverse dynamics algorithm derived in Subsection 7.1.1 is then used to obtain

the motion of the trunk and the driving toques for one cycle of the bipedal walking. The

motion of the trunk in Fig. 7.4 depicts that the biped travels distance of 0.3 m in one

second. During the waking cycle, variation of the angle 0 is found to be 3o, which is

154

Page 185: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

acceptable. The corresponding joint torques are shown in Fig. 7.5. The torques are

continuous in nature. However, the discontinuity appears after 0.83 sec that is due to the

touchdown of the swing foot. This is evident from Fig. 7.6, where the vertical and

horizontal reactions for the swing and support feet are shown. The swing foot touches the

ground after 0.83 sec. As a result, vertical reaction on foot changes from 0 to 100 N and

the horizontal reaction changes from 0 to -50 N. Two types of ground models, namely,

dusty-ground model and firm-ground, have been used for modeling the foot-ground

interactions. Biped walking is successfully achieved using both the models, however the

results are reported for the firm ground model. The ground model ensures that the vertical

(b) Swing leg (Module 2)

Fig. 7.5 Joint torques at different joints of the planar biped

(a) Support leg (Module 1)

0 0.5 1-100

-50

0

50

time(s)

1 1 (

Nm

)

0 0.5 1-40

-20

0

20

time(s)

1 2 (

Nm

)

0 0.5 1-5

0

5

time(s)

1 3 (

Nm

)

0 0.5 1-50

0

50

100

time(s)

2 1 (

Nm

)

0 0.5 1-50

0

50

100

time(s)

2 2 (

Nm

)

0 0.5 1-100

-50

0

50

time(s)

2 3 (

Nm

)

(a) x0 (COM) (b) z0 (COM) (c) 0

Fig. 7.4 Motions of trunk (Floating-base) of the planar biped

Actual Designed

0 0.5 1-0.2

0

0.2

time(s)

x0(m

)

0 0.5 11

1.2

1.4

time(s)

z0 (

m)

0 0.5 1-100

-90

-80

time(s)

0 (

de

gre

e)

155

Page 186: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

reaction force remains always positive throughout the walking cycle. Hence, ground

never pulls the legs. Moreover, the horizontal friction force was approximated by using a

pseudo-Coulomb friction model. Details of the ground models are provided in Appendix

E.

(b) Swing foot (Module 2)

Fig. 7.6 Horizontal Reaction (HR) and Vertical Reaction (VR) on the feet of the planar biped

(a) Support foot (Module 1)

0 0.5 1-10

0

10

20

time (s)

HR

(N)

0 0.5 10

50

100

time (s)

VR

(N)

0 0.5 1-60

-40

-20

0

time (s)

HR

(N)

0 0.5 10

50

100

time (s)V

R(N

)

Next, the forward dynamics is performed to simulate the motion of the biped by using the

torque obtained using the inverse dynamics. The recursive forward dynamics algorithm

given in the Subsection 7.1.2 was used to simulate the biped shown in Fig. 7.1(a). It is

evident from Fig. 7.7 that the biped moves in the forward direction (i.e., X) with stable

(a) x0 (COM) (b) z0 (COM) (c) 0

Fig. 7.7 Simulated motions of trunk of the planar biped

Simulated Desired

0 0.5 1-0.2

0

0.2

time(s)

x0 (

m)

0 0.5 11

1.2

1.4

time(s)

z0 (

m)

0 0.5 1-100

-90

-80

time(s)

0 (

de

gre

e)

156

Page 187: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

periodic motion. Simulation results in Figs. 7.8 show that the biped follows all the desired

joint trajectories without any feedback control.

(b) Swing leg (Module 2)

Fig. 7.8 Simulated joint motions of the planar biped

(a) Support leg (Module 1)

Simulated Desired

0 0.5 10

10

20

30

1 1 (

de

gre

e)

time (sec)

0 0.5 1-35

-30

-25

1 2 (

de

gre

e)

time (sec)

0 0.5 190

100

110

120

1 3 (

de

gre

e)

time (sec)

0 0.5 10

20

40

time (sec)

2 1 (

de

gre

e)

0 0.5 1-80

-60

-40

-20

2 2 (

de

gre

e)

time (sec)

0 0.5 180

100

120

140

time (sec)

2 3 (

de

gre

e)

7.2.2 Spatial biped

In the previous subsection, dynamics of planar biped was studied, where all the joints are

1-DOF revolute joints, however, a real-life biped, e.g., a human, has many multi-DOF

joints as shown in Fig. 7.9. The ankle, for example, allows 2-DOF motion which can be

modeled as a universal joint. Similarly, each leg at the hip has a spherical joint, which

may be modeled as Euler-Angles-Joints as proposed in Chapter 3. The spatial biped in

Fig. 7.9 has seven links and 18-DOF. The biped is divided into three modules, as shown

in Fig. 7.9. Inverted Pendulum Model is again used to obtain the motion of the trunk,

whereas trajectory of swing foot is obtained as a cosine function. For this, T, x0(0), y0(0),

z0(0), ls, and hf are assumed as 0.5 sec, -0.15 m, 0.08 m, 0.92 m, 0.3 m and 0.1 m,

respectively. The trajectories are designed to achieve dynamic walk of the biped with the

157

Page 188: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

forward velocity of 0.6 m/s. The trajectories of trunk’s COM and swing foot are shown in

Fig. 7.10. Note that (x0, y0, z0) represent the co-ordinates of the Trunk’s COM, i.e., O0 in

Fig. 7.9, in the inertial frame (O-XYZ), whereas ( 0, 0, 0) represent the YXZ Euler

Angles between frames O-XYZ and O0-X0Y0Z0.

Fig. 7.9 A spatial biped and its modularization

#31

Spherical joints at hips

Revote joints at knees

Universal joints at ankles

#12

#22

#32

M2

#0 (M0)

M1

#21

#11

M2 M1

M0

Module architecture

Y (Sidewise)

Z (Vertical)

X (Forward)

Y0Z0

X0O0

O

(b) Ankle of the swing foot

Fig. 7.10 Designed trajectories of the trunk COM and ankle of the spatial biped

(a) Trunk COM

0 0.5-0.2

0

0.2

x0

time (sec)

0 0.50

0.01

0.02

y0

time (sec)

0 0.5-1

0

1

2

z0

time (sec)

0 0.5-0.5

0

0.5

xa

time (sec)

0 0.5-0.06

-0.04

-0.02

0

ya

time (sec)

0 0.5-0.1

0

0.1

za

time (sec)

158

Page 189: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

The desired joint trajectories, i.e.,

, calculated from the trunk and feet

trajectories by using inverse kinematics relationships, are shown Fig. 7.11. The length and

mass of the links are taken as l0= 0.1m, w0= 0.1m 1

1 1 1 1 11 2 3 1 2

1 1 11 1 1 3 31 2 3[ ] , , [T T

22

2 3]T

l l1l 22

l 13l 23

l

= 13m = 23

m

] ,

2 2 2 21 2 3 1

2 21 1 1 31 2 3[ ] , , and [T

1m 12

m 21m 22

m

1 = 12 = 2 = = 0.5 m, = =

0.15m, m0 = 5 Kg, and 1 = = = 1 Kg, and = 0.2 Kg. It may be

(b) Swing leg (Module 2)

Fig. 7.11 Joint trajectories of the spatial biped obtained from trunk and ankle trajectories by using inverse

kinematics relationships

(a) Support leg (Module 1)

0 0.5-1

0

1

1,1

1 (

de

gre

e)

time (sec)

0 0.5-91

-90.5

-901,2

1 (

de

gre

e)

time (sec)

0 0.5-40

-30

-20

-10

1,3

1 (

de

gre

e)

time (sec)

0 0.542

44

46

48

21 (

de

gre

e)

time (sec)

0 0.50

0.5

1

3,1

1 (

de

gre

e)

time (sec)

0 0.5-40

-30

-20

-10

time (sec)

3,2

1 (

de

gre

e)

0 0.5-1

0

1

1,1

2 (

de

gre

e)

time (sec)

0 0.5-90

-89.5

-89

-88.5

time (sec)

1,2

2 (

de

gre

e)

0 0.5-40

-30

-20

-10

1,3

2 (

de

gre

e)

time (sec)

0 0.540

50

60

70

time (sec)

22 (

de

gre

e)

0 0.5-1.5

-1

-0.5

0

3,1

2 (

de

gre

e)

time (sec)

0 0.5-40

-30

-20

-10

time (sec)

3,2

2 (

de

gre

e)

159

Page 190: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

noted that four points of the foot plane are monitored to check the status of contact in

contrast to two points as in the case of planar biped. This is outlined in Appendix E.

Inverse dynamics of the biped was then performed to obtain the motion of the trunk and

the joint torques for given input joint motions. Fig 7.12 shows that for the given joint

motions the biped travels distance of 0.3m in 0.5 sec in the forward direction (i.e., X),

whereas motion along Z remains unchanged. This happened due to the assumption that

the COM stays always at a level. The orientation of the trunk represented in terms of

Euler angles is limited to 2o. Corresponding torques are shown in Fig. 7.13. It is worth

noting that at touch down the joint torques are smoother than that of the planar biped.

This is mainly due to the spatial motion of the biped and presence of the multiple-DOF

joints at the ankles and hips.

Fig. 7.12 Motions of trunk of the spatial biped

(a) Center-of-Mass

(b) Euler angles

Actual Designed

0 0.5-0.2

0

0.2

x0

time (sec)

0 0.50

0.01

0.02

y0

time (sec)

0 0.50.92

0.94

0.96

0.98

1

1.02

z0

time (sec)

0 0.5-4

-2

0

2

time(s)

0 (

de

gre

e)

0 0.5-4

-2

0

2

time(s)

0

(de

gre

e)

0 0.5-4

-2

0

2

time(s)

0 (

de

gre

e)

160

Page 191: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

It may be pointed out that the single support phase of a spatial biped with the same model

parameters was also analyzed in Chapter 6. There, the biped was assumed as a fixed-base

robotic system, where the foot is the fixed-base. For the sake of comparison, the joint

torques ]T

as shown in Fig. 7.13 for the floating-base system, may be compared with

1 1 1 1 1 2 2 2 2 21 2 3 1 2 1 2 3 1 2

1 1 1 2 2 21 1 1 3 3 1 1 1 3 31 2 3 1 2 3[ ] , , [ ] , [ ] , and [T T T

1 1 1 1 1 2 2 2 2 21 2 3 1 2 1 2 3 1 2

1 1 1 2 2 23 3 3 1 1 1 1 1 3 33 2 1 1 2 3[ ] , , [ ] , [ ] , , and [ ]T T T

in

Fig. 7.13 Joint torque at different joints of the spatial biped

(a) Support leg (Module 1)

(b) Swing leg (Module 2)

0 0.5-1

0

1

2

time(s)

1 1,1

(N

m)

0 0.5-5

0

5

10

time(s)

1 1,2

(N

m)

0 0.5-10

0

10

20

time(s)

1 1,3

(N

m)

0 0.5-20

-10

0

10

time(s)

1 2 (

Nm

)

0 0.5-1

0

1

time(s)

1 3,1

(N

m)

0 0.5-10

0

10

time(s)

1 3,2

(N

m)

0 0.5-1

0

1

2

time(s)

2 1,1

(N

m)

0 0.5-10

-5

0

5

time(s)

2 1,2

(N

m)

0 0.5-20

-10

0

10

time(s)

2 1,3

(N

m)

0 0.5-10

-5

0

5

time(s)

2 2 (

Nm

)

0 0.5-5

0

5

time(s)

2 3,1

(N

m)

0 0.5-5

0

5

10

time(s)

2 3,2

(N

m)

T

161

Page 192: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Fig. 6.6 for the fixed-base system. The comparison of the figures Figs. 6.6 and 7.13 leads

to the following observations:

Joint torques for the swing leg match immediately after the lift-off and before

touchdown.

For the support leg, torques match at the hip and the knee, but torques at the ankle

differ. The difference in torques at the ankle is mainly due to the assumption of foot

remaining fixed during the support phase.

The dynamic modeling of the biped as floating-base system not only gives rise to

unified approach to model different phases of motion but also allows one to simulate

the biped on variety of surfaces just by changing the parameters of the ground model.

Forward dynamics was then performed with the values of the torques obtained in inverse

dynamics calculations. Simulated motions of the trunk are shown in Fig. 7.14. Here, the

attitude of the biped is uncontrollable after 0.1 sec, as depicted in Fig. 7.14(b).

(b) Euler angles

Fig. 7.14 Simulated motions of trunk of the spatial biped

(a) Center-of-Mass

Simulated Desired

0 0.50

0.05

0.1

time(s)

y0 (

m)

0 0.5-0.2

0

0.2

time(s)

x0 (

m)

0 0.50.7

0.8

0.9

1

time(s)

z0

0 0.5-600

-400

-200

0

time(s)

0(d

eg

ree

)

0 0.5-50

0

50

100

time(s)

0(d

eg

ree

)

0 0.5-1000

-500

0

time(s)

0(d

eg

ree

)

162

Page 193: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Corresponding simulated joint angles are shown in Fig. 7.15 from which it may be seen

that the biped is unable to follow the desired trajectory after 0.1 sec. This is attributed to

the propagation of numerical errors in computation, which is expected for complex

systems. In an actual system, it may not happen if all parameters were identified

accurately. However, in real systems inaccuracy is inevitable due to manufacturing errors

in the components of the biped. Moreover, many unmodeled phenomenon like backlash

in the actuators, joint frictions, etc. may lead to the deviation of the system’s behavior.

(b) Swing leg (Module 2)

Fig. 7.15 Simulated joint motions of the spatial biped

(a) Support leg (Module 1)

Simulated Desired

0 0.50

200

400

600

1,1

1 (

de

gre

e)

time (sec)

0 0.5-200

-100

0

1,2

1 (

de

gre

e)

time (sec)

0 0.5-400

-200

0

200

1,3

1 (

de

gre

e)

time (sec)

0 0.50

50

100

150

21 (

de

gre

e)

time (sec)

0 0.5-1000

-500

0

500

3,1

1 (

de

gre

e)

time (sec)

0 0.5-200

0

200

400

time (sec)

3,2

1 (

de

gre

e)

0 0.5-400

-200

0

200

1,1

2 (

de

gre

e)

time (sec)

0 0.5-200

-100

0

time (sec)

1,2

2 (

de

gre

e)

0 0.5-600

-400

-200

0

1,3

2 (

de

gre

e)

time (sec)

0 0.50

100

200

time (sec)

22 (

de

gre

e)

0 0.5-50

0

50

100

3,1

2 (

de

gre

e)

time (sec)

0 0.5-150

-100

-50

0

time (sec)

3,2

2 (

de

gre

e)

163

Page 194: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Hence, a system like the biped must be controlled. The issue of control will be taken up in

Chapter 8.

7.3 Quadruped

Apart from the biped robots extensive research work in the field of quadruped legged

robots has been reported. Muybridge (1957) was first to present a systematic study on

different gaits of quadruped horse. Later, Gambaryan (1974) provided the detailed study

of different gaits and mechanics of quadruped mammals. Raibert (1990) used symmetry

in quadruped motion and built a hydraulically actuated quadruped. Inspired by the work

of Raibert, Furusho et al. (1995), Kimura et al. (1999), Ridderstrom et al. (2000),

Marhefka et al. (2003) and Poulakakis et al. (2006) built several quadruped machines.

The major research in the field of quadruped is on achieving dynamic walking and

running. This work mainly attempts dynamic walking of the quadruped. Early work on

quadruped walking can be found in the reference of Miura et al. (1985). Buehler (1999)

presented the open loop dynamic walking, where quadruped with one actuator per leg was

considered. The work done by Ridderstrom et al. (2000) mainly pertains to achieve

statically balanced gait where three feet always remain on the ground. Kurazume et al.

(2001) presented an adaptive attitude control scheme of a quadruped during support

phase. Later, Doi et al (2005) presented quadruped walking on steep slope.

Here, the dynamic analysis of a spatial quadruped is reported based on trotting gait, where

diagonal legs move in synchronized manner. In order to study the spatial behavior, a 9-

link, 18-DOF spatial quadruped as shown in Fig. 7.16 is considered. It has universal joints

at the hips, whereas knees contain revolute joints. The quadruped is divided into five

modules, as shown in Fig. 7.16(b). The Inverted Pendulum Model (IPM) and cosine

function were again used to attain the trajectory of the COM of trunk and

164

Page 195: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

swing foot, respectively. For this, the cycle time (T), the co-ordinates of COM x0(0), y0(0)

and z0(0), the stride length (ls,) and the maximum foot height (hf) are taken as 1 sec, -0.15

m, 0 m, 0.5 m, 0.3m and 0.08 m, respectively. The trajectory was designed to attain the

forward velocity of 0.4 m/s. The trajectories are show in Fig. 7.17.

(a) (b)

Fig. 7.16 A quadruped and its modularization

YZ

Trunk (Floating-base)

The desired trajectories at the joint levels, i.e., 1 11 2

1 11 11 2[ ] ,

T ,

42

2 2 3 3 4 41 2 1 2 1 2

2 2 3 3 41 1 1 1 1 11 2 1 2 1[ ] , , [ ] , , [ ] , and

T T T , calculated from the

(a) Trunk COM

(b) Ankle of the swing foot

Fig. 7.17 Designed trajectories of the trunk COM and ankle of the quadruped

0 0.5 1-1

0

1

y0

time (sec)

0 0.5 1-1

0

1

2z

0

time (sec)

0 0.5 1-0.2

0

0.2

x0

time (sec)

0 0.5 1-1

0

1

ya

time (sec)

0 0.5 10

0.05

0.1

za

time (sec)

0 0.5 1-0.5

0

0.5

xa

time (sec)

Universal joints at hips

Revolute joints at kneesFeet Contacts

X

Leg1

Leg2

Leg3 Leg4

O

Z0 Y0

X0 O0

M0

M4

M3

M1

M2

12

22

11

21

0

23 24

14 13

165

Page 196: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

COM and the feet trajectories by using inverse kinematics, are shown in Fig. 7.18. The

length and mass of the links were taken as 0 = 1m, 1 = 1 = 2 = = = = = = 0.3m,

= 4 Kg, and = = = = = = = = 1 Kg.

l

m

1l

4

2l

1l 22

l 31l 32

l 41l 42

l

0m 11m 12

m 21m 22

m 31m 32

m 41 2m

Trunk motions were obtained from the joint motions by using inverse dynamics algorithm

shown in Table 7.1. The motions of trunk are shown in Fig. 7.19. Figure 7.19(b) shows

that the given joint motions provide finer attitude control as the maximum change in the

Euler angles associated with trunk is limited to 2o. The joint torques were then calculated

for the prescribed trunk and joint motions. Figure 7.20 shows joint torques at hip and

knee for swing and support legs. The discontinuity in the torque after 0.8 s is due to

touchdown of the swing legs.

(a) Support leg (Modules 1 and 4)

(b) Swing leg (Modules 2 and 3)

Fig. 7.18 Joint trajectories of the quadruped obtained from trunk and ankle trajectories by using inverse

kinematics relationships

-89

0 0.5 1-91

-90

1,1

1 a

nd

1,1

4

e (setim c)

0 0.

60

5 10

20

40

1,2

an

d

1,2

14

(sec)time

0 0.5 1-70

-65

-60

-55

1 a

nd

4

22

e (sectim )

0 0.5 1-91

-90

-89 60

time (se

1,1

2 a

nd

1,1

3

c)

0 0.5 10

20

40

1,2

an

d

1,2

23

(sectime )

0 0.5 1-100

-80

-60

-40

time (sec)

22 a

nd

23

166

Page 197: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Fig. 7.20 Joint torques at different joints of the quadruped

(a) Support leg (Module 1)

(b) Swing leg (Module 2)

0 0.5 1-10

-5

0

5

time(s)

1 1,1

(N

m)

0 0.5 1-20

-10

0

10

time(s)

1 1,2

(N

m)

0 0.5 1-10

0

10

time(s)

1 2 (

Nm

)

0 0.5 1-10

0

10

20

time(s)

2 1,1

(N

m)

0 0.5 1-20

0

20

time(s)

2 1,2

(N

m)

0 0.5 1-50

0

50

100

time(s)

2 2 (

Nm

)Fig. 7.19 Motions of trunk of the quadruped

(a) Center-of-Mass

(b) Euler angles

Actual Designed

0 0.5 1-0.1

0

0.1

time(s)

y0(m

)

0 0.5 10.4

0.5

time(s)

z0 (

m)

0 0.5 1-0.2

0

0.2

time(s)

x0 (

m)

0 0.5 1-5

0

5

time(s)

0 (

de

gre

e)

0 0.5 1-5

0

5

time(s)

0 (

de

gre

e)

0 0.5 1-5

0

5

time(s)

0 (

de

gre

e)

The simulation was performed, based on the torques obtained in Fig. 7.20, by using the

forward dynamics algorithm presented in Table 7.2. The variation of the COM of the

167

Page 198: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

trunk and the Euler angles are shown in Fig 7.21, which depicts that the quadruped moves

in the forward direction (X), however it is unable to follow the desired trajectories after

0.8 sec. Figure 7.22 shows the variation of the joint angles, which also follow the desired

(b) Swing leg (Module 2)

Fig. 7.22 Simulated joint motions of the quadruped

(a) Support leg (Module 1)

Simulated Desired

0 0.5 1-110

-100

-90

-80

1,1

1 (

de

gre

e)

time (sec)

0 0.5 10

20

40

60

1,2

1 (

de

gre

e)

time (sec)

0 0.5 1-100

-80

-60

-40

21 (

de

gre

e)

time (sec)

0 0.5 1-110

-100

-90

-80

time (sec)

1,1

2 (

de

gre

e)

0 0.5 10

20

40

60

1,2

2 (

de

gre

e)

time (sec)

0 0.5 1-100

-80

-60

-40

time (sec)

22 (

de

gre

e)

Fig. 7.21 Simulated motions of trunk of the quadruped

(a) Center-of-Mass

(b) Euler angles

Simulated Desired

0 0.5 1-0.1

0

0.1

time(s)

y0 (

m)

0 0.5 10.4

0.5

time(s)

z0 (

m)

0 0.5 1-0.2

0

0.2

time(s)

x0

0 0.5 1-5

0

5

10

15

time(s)

0(d

eg

ree

)

0 0.5 1-10

-5

0

5

time(s)

0(d

eg

ree

)

0 0.5 1-10

-5

0

5

time(s)

0(d

eg

ree

)

168

Page 199: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

trajectories till 0.8 sec. Once again, the deviation of the actual trajectories from the

desired one is due to the propagation of numerical errors. As discussed at the end of

Subsection 7.2.2, these deviations may not actually happen in real system if the

quadruped is correctly modeled. However, uncertainty is inevitable and a control strategy

must be introduced. The control strategy will be explained in Chapter 8.

7.4 Hexapod

Dynamic analysis of hexapod walking was carried out next to understand its behavior by

using algorithms presented in Subsections 7.1.1 and 7.1.2. For such systems, tripod gait is

the most popular one, where the triangularly placed legs move in synchronization. Hence,

if the COM of the hexapod remains within the polygon formed by the support feet, the

hexapod walking is statically balanced. Any trajectory that follows the above condition

will be able to achieve a stable gait. However, this limits the speed of walking. Moreover,

walking on rough terrain, self-righting (Saranli et al., 2004), etc. lead to dynamic walking.

Figure 7.23 shows 13-link 18-DOF spatial hexapod, where all the joints are assumed to be

revolute. In order to use the modular dynamics algorithm proposed in this thesis, the

hexapod was divided into seven modules, as shown in Fig. 7.23(b). Using IPM approach,

trajectory of COM of the trunk was obtained in order to make the hexapod move at a

(a) (b)

Fig. 7.23 A hexapod and its modularization

ZY

Trunk (Floating-base)

Revolute jointsFeet Contacts

X

Leg1

Leg2

Leg3

Leg4

Leg5

Leg6

Z0 Y0

X0 O0

O

M0

M5

M6

M1

M2

12

22

11

21

0

26 25

15 16

25

M4

M3

23 24

14 13

169

Page 200: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

speed of 0.8 m/s. For this, T, x0(0), y0(0), z0(0), ls, and hf are assumed as 0.5 sec, -0.20 m,

0m, 0.55 m, 0.4 m and 0.08 m, respectively. The trajectories of trunk COM’s and ankle of

swing foot thus obtained are shown in Fig. 7.24.

(a) Trunk COM

0 0.5-0.5

0

0.5

x0

time (sec)

0 0.5-1

0

1

2

y0

time (sec)

0 0.5-1

0

1

z0

time (sec)

0 0.5-0.5

0

0.5

xa

time (sec)

0 0.5-1

0

1

ya

time (sec)

0 0.50

0.05

0.1

za

time (sec)

(b) Ankle of the swing foot

Fig. 7.24 Designed trajectories of the trunk COM and ankle of the hexapod

Fig. 7.25 Joint trajectories of the hexapod obtained from trunk and ankle trajectories by using inverse

kinematics relationships

(a) Support leg (Modules 1, 4 and 5)

(b) Swing leg (Modules 2, 3 and 6)

0 0.2 0.4-100

-80

-60

-40

11,

14 a

nd

15

time (sec)

0 0.2 0.4-50

-40

-30

-20

21,

24 a

nd

25

time (sec)

0 0.2 0.4-150

-100

-50

0

12,

13 a

nd

16

time (sec)

0 0.2 0.4-100

-50

0

22,

23 a

nd

26

time (sec)

170

Page 201: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

The desired trajectories at the joint levels, i.e., 1 1 2 2 3 31 2 1 2 1 2, , , , , ,

, 5 54 4 61 21 2 1 2, , , , and 6 ,

= 41l = 42

l = 51l = 52

l = 61l = 62

l

42m = 51

m = 52m = 61

m = 62m

eet trajectories, are shown in Fig.

7.25 above. The length and mass of the links were taken as l = 1m, l = l = l = l = l = l

calculated using COM and f

= 0.3m = 4 Kg, and =

= 1 Kg.

Inverse dynamics results are shown in Fig 7.26 and 7.27. The motions of the trunk (Fig.

7.26) show that the hexapod travels 0.4 m in 0.5 sec in the forward direction (X), whereas

the orientations of trunk shown by Euler Angles vary within 0.3 only. This shows that

fine control over attitude of the trunk can be achieved by appropriate selection of the

parameters of trajectory. Figure 7.27 shows the joint torques needed to achieve the

desired motion of the trunk that was synthesized using IPM. It is worth noting that for the

given joint motions the joint torques are continuous, and the tendency of discontinuity is

0

=

11 12 21 22 31 32

21 = 22m = 31

m = 32m = 41

m =, 0m 11m 12

m m

o

(a) Center-of-Mass

Fig. 7.26 Motions of trunk of the hexapod

Actual Designed

0 0.5-0.5

0

0.5

time(s)

x0(m

)

0 0.50.53

0.54

0.55

0.56

time(s)

z0 (

m)

0 0.5-0.02

0

0.02

time(s)

y0 (

m)

0 0.5

-0.5

0

0.5

time(s)

0 (

de

gre

e)

0 0.5

-0.5

0

0.5

time(s)

0 (

de

gre

e)

0 0.5

-0.5

0

0.5

time(s)

0 (

de

gre

e)

(b) Euler angles

171

Page 202: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

much less pronounced in comparison with the biped and quadruped even after the

touchdown at 0.45 sec.

(a) Support leg (Module 1)

(b) Swing leg (Module 2)

0 0.5-40

-20

0

20

time(s)1 1 (

Nm

)

0 0.5-10

-5

0

5

time(s)

1 2(N

m)

1

0 0.5-40

-20

0

20

time(s)

2 1 (

Nm

)

0 0.5-20

0

20

time(s)2 2 (

Nm

)

4

Fig. 7.27 Joint torque at different joints of the hexapod

Like the other walking robots in the previous section, the motion of hexapod was

simulated for the joint torques shown in Fig. 7.27. Simulation results, in Fig. 7.28, show

(a) Center-of-Mass

Simulated Desired

0 0.5-0.2

0

0.2

time(s)

x0 (

m)

0 0.50.53

0.54

0.55

0.56

time(s)

z0 (

m)

0 0.5-0.02

0

0.02

time(s)

y0 (

m)

0 0.5-0.4

-0.2

0

0.2

time(s)

0 (

de

gre

e)

0 0.5

-0.5

0

0.5

time(s)

0 (

de

gre

e)

0 0.5-0.4

-0.2

0

0.2

time(s)

0 (

de

gre

e)

(b) Euler angles

Fig. 7.28 Simulated motions of trunk of the hexapod

172

Page 203: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

that the hexapod moves in the forward direction (X), while its orientation, shown by the

Euler angles, deviate only at the end of the walking cycle. Similarly, the hexapod is able

to follow the desired joint angles with little variations at the end as depicted in Fig. 7.29.

The controlled simulation will be taken up in Chapter 8.

Fig. 7.29 Simulated joint motions of the hexapod

(a) Support leg (Module 1)

(b) Swing leg (Module 2)

Simulated Desired

0 0.5-100

-80

-60

-4011 (

de

gre

e)

time (sec)

0 0.5-50

-40

-30

-20

21 (

de

gre

e)

time (sec)

0 0.5-150

-100

-50

0

12 (

de

gre

e)

time (sec)

0 0.5-100

-50

0

50

time (sec)

22 (

de

gre

e)

7.5 Computational Efficiency

Since recursive algorithms are well known for computational efficiencies when the

Degrees-of-Freedom (DOF) are many, it was decided to look into this aspect for the

floating-base system. The computational efficiencies for the inverse and forward

dynamics algorithms, given in Tables 7.1 and 7.2, are compared in Tables 7.3 and 7.4,

respectively, with those available in the literature. As expected, the computational

complexities depend on the total number of joint variables, n, in the system at hand. The

number ‘n’ is the total of joint variables associated with 1-, 2- and 3-DOF joints, i.e., n1,

n2, and n3, respectively. As evident form Tables 7.3 and 7.4 and Figs. 7.30 and 7.31, the

proposed algorithms are computationally more efficient than those available in the

173

Page 204: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

literature. The efficiencies were mainly achieved from clever modeling of multiple-DOF

joints as proposed in Chapter 3. On this aspect, Yamane and Nakamura (1999) showed

that 40 DOF humanoid has 12 spherical joints and 4 revolute joints. Each spherical joint

can be represented as three intersecting revolute joints. Such an approach will require one

to have 41 links connected by 40 revolute joints. On the contrary, the use of Euler Angles

Table 7.3 Computational complexity of the recursive O(n) inverse dynamics algorithm for floating-base systems

Algorithms Computational complexity in terms of

n = n1+n2+n3

F

b

n

n

n

loating B

ase

0 = 6

iped

1=2,n2=4,n3=6

= 12, n0 = 6

Quadruped

n1=4,n2=8,n3=0

n = 12, n0 = 6

Hexapod

n1=12,n2=0,n3=0

n = 12, n0 = 6

Proposed 1 2 3

21 2 33

(164n +113n +96n )M

(156n +113n +82 n )A

6

0M66A 1416M 1322A 1620M 1594A 2028M 1938A

**Balafoutis

et al.

( 1991)

(93n-69)M(81n-65)A+

2 232

11 65(10 11 42)M( 54)A

2 2n n n n

6

0M66A 3011M 2222A 3011M 2222A 3011M 2222A

**Featherstone (130n-68)M(101n-56)A+

(1987) 2 2(10 31 41)M(6 40 46)An n n n

6

0M66A 3479M 2644A 3479M 2644A 3479M 2644A

**Saha (1999),

Bhangale and

Saha ( 2004)

(120n-44)M(97n-5

2(11n

5)A+

242 18)M(7 44 53)An n n

60M66A 3682M 2782A 3682M 2782A 3682M 2782A

Note: M: Multiplications/Divisions, A: Addition/Subtraction;

**Complexity assumed as the computation of Recursive Newton Euler Algorithm (RNEA) and Composite Rigid

Body Algorithm (CRBA) proposed by the same author

Table 7.4 Computational complexity of the recursive O(n) forward dynamics algorithm for floating-base systems

Algorithms Computational

complexity

(n = n1+n2+n3)

Floating

base

n0 = 6

Biped

n1=2,n2=4,n3=6

n = 12, n0 = 6

Quadruped

n1=4,n2=8,n3=0

n = 12, n0 = 6

Hexapod

n1=12,n2=0,n3=0

n = 12, n0 = 6

Proposed 1 11 2 32 3

11 2 33

(209n +139 n +116 n )M

(201n +130n +106 n )A

60M 72A 1430M 1624A 2008M 1910A 2568M 2478A

McMillan et al.

( 1998)

(224n)M (205n)A 158M 131 2846M 2591A 2846M 2591A 2846M 2591A

Stejskal and

Valasek(1990)*

(226n)M (206n)A 158M 131* 2870M 2603A 2870M 2603A 2870M 2603A

McMillan

(1998)

3 21 1 1

6 2 3

3 2 51

6 6

( 17 175 )M

( 13 160 )A

n n n

n n n

137M 91A 5081M 4181A 5081M 4181A 5081M 4181A

Note: 1) M: Multiplications/Divisions, A: Addition/Subtraction; 2) DOF = n0+ n.

* When implemented on floating base systems

** Assumed same as that of McMillan et al. (1998) as both use articulated body algorithm

174

Page 205: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Joints (EAJs) in Chapter 3 treats each spherical joint as three intersecting 1-DOF revolute

joints, but no physical link between 1st and 2

nd and 2

nd and 3

rd joints. As a result, only 17

links, instead of 41 links, are required for the analysis of the above-mentioned biped,

which has 12 spherical and 4 revolute joints. This brings significant savings in the

computational complexity. Similar benefits were achieved in other walking robots

reported in this chapter. This was not possible in the work reported by Sugihara et al.

(2002), Kurazume et al. (2003), Vukobratovic et al. (2007), Kwon and Park (2009) and

others.

(a) All 1-DOF (b) All 2-DOF joints

(c) All 3-DOF (d) Equal number of 1-, 2- and 3-DOF joints

Fig. 7.30 Performance of the proposed inverse dynamics algorithm for a system with multiple-DOF joints

Proposed Balafoutis Featherstone Saha

0 10 20 30 40

0

0.5

1

1.5

2

2.5

3x 10

4C

om

pu

tatio

na

l C

ou

nts

Joint variables (n)

0 10 20 30 40

0

0.5

1

1.5

2

2.5

3x 10

4

Co

mp

uta

tio

na

l C

ou

nts

Joint variables (n)

0 10 20 30 40

0

0.5

1

1.5

2

2.5

3x 10

4

Co

mp

uta

tio

na

l C

ou

nts

Joint variables (n)

0 10 20 30 40

0

0.5

1

1.5

2

2.5

3x 10

4C

om

pu

tatio

na

l C

ou

nts

Joint variables (n)

175

Page 206: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

It may be noted that biped, quadruped and hexapod analyzed in the previous subsection

contain different combinations of multiple-DOF joints, however, have a total of 12 joint

variables. Hence, the use of any existing algorithms for the analysis will require the same

computational counts as shown in Tables 7.4 and 7.5. However, with the use of the

proposed algorithms the quadruped requires less computational counts than the hexapod.

This is due to the presence of universal joints in the quadruped. Moreover, the biped

requires even less computational count than the quadruped, as shown in Tables 7.4 and

7.5, due to presence of spherical joints. This is also evident from Figs. 7.30 and 7.31,

where the slopes for the systems with multiple-DOF joints are much less in both inverse

(a) All 1-DOF (b) All 2-DOF joints

(c) All 3-DOF (d) Equal number of 1-, 2- and 3-DOF joints

Fig. 7.31 Performance of the proposed forward dynamics algorithm for a system with multiple-DOF joints

Proposed McMillan Valasek McMillan

0 10 20 30 40

0

0.5

1

1.5

2x 10

4

Co

mp

uta

tio

na

l C

ou

nts

Joint variables (n)

0 10 20 30 40

0

0.5

1

1.5

2x 10

4

Co

mp

uta

tio

na

l C

ou

nts

Joint variables (n)

0 10 20 30 40

0

0.5

1

1.5

2x 10

4

Co

mp

uta

tio

na

l C

ou

nts

Joint variables (n)

0 10 20 30 40

0

0.5

1

1.5

2x 10

4

Co

mp

uta

tio

na

l C

ou

nts

Joint variables (n)

176

Page 207: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

and forward dynamics. This is an important observation and contribution of this thesis as

well. It is pointed out here that in contrast to the inverse dynamics algorithm for fixed-

base system, the same for floating-base systems requires some additional computations,

mainly, to compute elements of the Generalized Inertia Matrix (GIM) as evident from Eq.

(7.1). Computational counts for such inverse dynamics algorithm for floating-base system

are not found in the literature. Hence, the computational count of the proposed inverse

dynamics algorithms is compared with the total computational count of Recursive

Newton-Euler Algorithm (RNEA) and Composite-Rigid-Body Algorithm (CRBA)

proposed by the same author.

7.6 Summary

In this chapter, efficient recursive Order (n) inverse and forward dynamics algorithms

were obtained for the analyses of floating-base robotic systems consisting of multiple-

DOF joints. Several important legged robots were analyzed using these algorithms, which

required for their design and control. The proposed algorithms performed little better than

the fastest algorithm available in the literature when the robots consist of only 1-DOF

joints but performed much better when the robot have many multiple-DOF joints.

177

Page 208: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

178

Page 209: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Chapter 8

SIMULATION OF CONTROLLED LEGGED ROBOTS

A controller is an essential part of a robotic system in achieving desired motion. A

Proportional Integral Derivative (PID) controller is the simplest form of controller used

for this purpose. A PID controller is widely used in industries for control of processes or

machines. In a robotic system, e.g., an industrial robot, a PID controller independently

controls motion of each joint ignoring the effects of the system’s dynamics. However, for

accomplishing complex motion or task, PID controller does not always result into best

performance, as shown by Lewis et al. (2004), Kelly et al. (2005), and Craig (2006). The

legged robots discussed in Chapter 7 are meant to perform a variety of complex tasks. As

a result, the use of a PID controller without taking into account dynamics of the legged

robots would result into poor control performance. On the other hand, the use of model-

based controllers (Lewis et al., 2004; and Kelly et al., 2005) has become popular in order

to improve the performance of the conventional PID controllers. The model-based

controllers work based on the information of the dynamic model of a system. If the

dynamic model of a robot is not very accurate, the model-based control approach will still

be able to eliminate major nonlinearities due to the robot’s inertia. In this chapter,

simulation of model-based control of floating-base legged robots, studied in Chapter 7,

will be carried out.

8.1 Model-based Control

Since model-based controllers work well on precise information of the dynamic model of

a robot, the recursive algorithms for inverse and forward dynamics proposed in Chapter 7

179

Page 210: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

are valuable in control of robots due to their efficiency, computational uniformity and less

numerical errors produced during dynamic computations. While the inverse dynamics

algorithm helps in calculating the controlling torques of the actuators located at different

joints, the forward dynamics algorithm predicts the behavior of the robot. The latter also

allows real time simulation, which helps in predicting the future state of a system for

corrective control measures. Model-based controller, e.g., computed-torque control and

feedforward control, are developed next for the floating-base legged robots.

8.1.1 Computed-torque control

The dynamic equations of motion obtained in Eq. (5.12) are rewritten as

+ = , where F h Cq

q

+ =h K e K e K eP D I

Iq h (8.1)

Equation (8.1) is nonlinear as elements of the Generalized Inertia Matrix (I) are nonlinear

functions of the state variable q, and the elements of Matrix of Convective Inertia (C)

are nonlinear function of the state variables . Hence, the use of a classical PID

controller will lead to a set of nonlinear differential equations for the closed-loop system

that will still have the nonlinear terms I and h as shown below:

andq

Iq

I h

(8.2)

where KP, KD and KI are diagonal matrices with constant gains on the diagonal, whereas

and e are the vectors of the error in position and velocity, respectively. On the

contrary, the computed-torque control works on the principle of feedback linearization of

the nonlinear system under study. Accordingly, the controller torque is given by

e

(8.3)

180

Page 211: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Substituting Eq. (8.3) into (8.1) the resulting equations of motion of the closed-loop

control system are represented as q . For being the linear function of the state

variables, the closed-loop equations are also linear functions of the state variables. As a

result, the problem of control is simply to solve a system of linear differential equations.

For the floating-base legged robots, the components of associated with the generalized

forces of the floating-base are zeros. Hence, Eq. (8.3) is rewritten by using Eq. (7.1) as

0 00 0

0

T hI I

hI I

1

0 0 0 0( )TI I h

0 0 ( )

0= (8.4)

which is further simplified as

(8.5)

I I h

1 1

0 0 0( )h I I h

(8.6)

Substituting Eq. (8.5) into Eq. (8.6), the computed-torque control law for the floating-

base legged robots is obtained as

0 0 0( )

0 0=

I I I IT (8.7)

In. Eq. (8.7), is the required actuator torque, whereas representing the servo part is

given by

_ _( )q K q qd P des D _( )K q qdes (8.8)

The schematic of the above computed-torque control scheme is shown in Fig. 8.1. It may

be noted that in Fig. 8.1, the legged robot is represented by its dynamic equations of the

181

Page 212: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

motion. Substituting Eqs. (8.7) and (8.8) into Eq. (7.1), the dynamic equations of motion

may be rewritten as

Fig. 8.1 Computed-torque control scheme

Dynamic

Model

Position gain

qd

qd

qd

Velocity gain

K eP

K eD

Desired

motion

q

qLegged

Robot

Inverse dynamics

Actual

motion

Simulation

(Forward dynamics)

qqd

1

0 0 0 0( )q I I q hT

D P

(8.9)

e+K e+K e 0 (8.10)

where e q _ qdes. Equation (8.9) represents the base accelerations in terms of the joint

accelerations, whereas Eq. (8.10) represents the resulting close-loop control system,

which is described by a set of linear differential equations. It may be shown that the

origin of the closed loop system, [ ]e eT T T

0 , is asymptotically stable (Kelly et al.,

2005), i.e.,

lim and lime 0 e 0t t

d idk

(8.11)

The resulting closed-loop control system in Eq. (8.10) is multivariable linear system

where error in each joint position is governed by an independent linear differential

equation. Hence, the gains KP and KD are chosen as K

. The gains k can be obtained by assuming critically

damped response, i.e.,

1and

nP p pdiag k k

1K

nD ddiag k k and ip

2i id pk k .

182

Page 213: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

It is worth noting that the direct use of Eq. (8.7) to compute the driving torque, , is

computationally inefficient as the equations cannot be solved recursively due to the

presence of the terms 1

0 0 0

TI I I and I I . On the contrary, Eqs. (8.5-8.6) have

representations similar to Eq. (7.2). As a result, they can be solved recursively using the

proposed recursive inverse dynamics algorithm by substituting

1

0 0 0h

q and in Eq.

(7.2).

0q 0

8.1.2 Feedforward control

In practice, any robotic system including legged robots is digitally controlled. Hence,

sampling of the state variables, calculation of the joint torques, and communication of the

appropriate commands to the actuators in a proper sequence form three essential tasks of

a controller. For legged robots, where the system moves very fast, the above tasks have to

be performed at a high rate. Out of the three tasks, computation of the joint torque is the

most time consuming one. Hence, an efficient computation of the joint torques is of

primary importance. In the case of known path to be followed by the robot, one may

compute the joint torques in advance. These may then be stored in the controller’s

memory in the form of a look-up table. As a result, when the control actions need to be

performed, these values are read out from the controller memory. This type of control is

referred to as feedforward control and this reduces computational burden of the controller

significantly. Simply forwarding the torque obtained from an inverse dynamics algorithm

to the robot, as shown in Chapter 7, is the simplest form of the feedforward control.

However, this suffers from several disadvantages caused by unmodeled parameters,

backlash, uncertainty, external disturbances, etc. Hence, it is commonly used along with a

PD controller. Thus, feedforward control scheme consists of a linear servo feedback and a

feedforward of the nonlinear robot dynamic model, as shown in Fig. 8.2. It

183

Page 214: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

is the simplest form of the non-linear controller, which can be employed for motion

control of robots. The control law for this scheme is given by

Fig. 8.2 Feedforward control scheme

Dynamic

Model

Position gain

q

q

dq

dq

dq ID

Velocity gain

Inverse dynamics

Actual

motion

Simulation

(Forward dynamics)

Desired

motion

_ _( )ID p des d

00=

K q q K q( )des q

d

(8.12)

where , and torques, , are

obtained from the recursive inverse dynamics algorithm presented in Section 7.1.1. It is

worth noting that the feedforward control can achieve performance as good as computed-

torque control with the proper tuning of the control gains. The gains can be calculated

using, for example, a design procedure proposed by Kelly et al. (2005).

1 1andK K

n np p p d ddiag k k diag k k ID

8.2 Biped

The computed-torque and feedforward control schemes presented in the previous sections

are applied to simulate the controlled motion of the planar and spatial biped presented in

Section 7.2. It may be noted that the recursive inverse dynamics algorithm proposed in

Section7.1.1 is used to implement the control law, whereas the recursive forward

dynamics algorithm obtained in Section 7.1.2 is used for the simulation studies. Two

control schemes are used mainly to study the effectiveness of one control scheme over the

other.

Legged

Robot q

K eD

K eP

184

Page 215: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

8.2.1 Planar biped

As presented in section 7.2, it was observed that for the given joint torques, calculated

using the inverse dynamics algorithm, the biped was able to walk for one cycle as shown

in Figs. 7.7-7.8. However, biped was unable to follow the desired trajectories after one

cycle. This is due to zero Eigen value problem. However, in real life such deviation

occurs due to unmodeled parameters, uncertainty, backlash, etc. Hence, control is

inevitable in practical systems. Simulation of the controlled motion of the planar biped is

presented next by using computed-torque and feedforward control schemes.

8.2.1.1 Computed-torque control

In order to achieve the motion of the biped using the computed-torque control scheme,

the expressions in Eqs. (8.5, 8.6 and 8.8) were used. Control gains , and are

chosen as 49 and 14, respectively, such that

ipkidk

2idk

ipk . Joint torques are solved

recursively by substituting q and 0q 0 in the inverse dynamics algorithm

presented in Section 7.1.1. Recursive forward dynamics was then used to obtain the

motions of the trunk (floating-base) and the joint angles. Figures 8.3 and 8.4 show

simulated motion of the trunk and the joint angles obtained for the time span of 4

seconds, chosen tacitly. Comparison of the results with desired one is also shown in Figs.

8.3 and 8.4. Figure 8.3 shows that the biped moves in the forward direction (X) without

Fig. 8.3 Simulated motion of trunk of the planar biped under computed-torque control

Computed-torque Desired

0 2 4-1

0

1

2

time(s)

x0(m

)

0 2 41.15

1.2

time(s)

z0 (

m)

0 2 4-100

-90

-80

time(s)

0 (

de

gre

e)

185

Page 216: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

falling for four steps. The slight variation in 0 is due to the assumption that the biped

mass is concentrated at the trunk. The joint angles associated with the legs are also shown

in Fig. 8.4. The joint angles follow the desired trajectory using computed-torque control

scheme. It may be noticed that without the control action the simulated and desired

trajectories was found to deviate after a time of 1 s, however in comparison the control

action ensures a close match of the trajectories (shown in Fig. 8.4) even after 4 seconds.

The simulation was run for times more than 4 seconds and the same close match between

the trajectories was noticed. This shows the importance and necessity of implementing

control scheme for achieving desired motion of the biped robot.

(a)Support leg (Module 1)

(b) Swing leg (Module 2)

Fig. 8.4 Simulated joint motions of the planar biped under computed-torque control

Computed-torque Desired

0 2 40

20

40

1 1 (

de

gre

e)

time (sec)

0 2 4-80

-60

-40

-20

1 2 (

de

gre

e)

time (sec)

0 2 480

100

120

140

1 3 (

de

gre

e)

time (sec)

0 2 40

20

40

time (sec)

2 1 (

de

gre

e)

0 2 4-80

-60

-40

-202 2 (

de

gre

e)

time (sec)

0 2 480

100

120

140

time (sec)

2 3 (

de

gre

e)

8.2.1.2 Feedforward control

Next, the feedforward control scheme was applied for the controlled simulation of the

planar biped under study. For this, the joint torques, obtained from the inverse dynamics

algorithm, were fed forward to the controller by using the control law given in Eq. (8.12).

186

Page 217: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

The gains were taken as ipk =49 and =7. Figures 8.5 and 8.6 depict the motion of the

trunk and joint angles. Simulation results in Fig 8.5 show that the biped moves in the

forward direction with periodic motion. Moreover, the controller is able to follow the

desired joint motion as evident form Fig. 8.6. Hence, the feedforward control scheme

performs as good as computed torque control for a given set of gains.

idk

Fig. 8.5 Simulated motion of trunk of the planar biped under feedforward control

Feedforward Desired

0 2 4-1

0

1

2

time(s)

x0(m

)

0 2 41.15

1.2

time(s)

z0 (

m)

0 2 4-100

-90

-80

time(s)

0 (

de

gre

e)

(a)Support leg (Module 1)

(b) Swing leg (Module 2)

Fig. 8.6 Simulated joint motions of the planar biped under feedforward control

Feedforward Desired

0 2 40

20

40

1 1 (

de

gre

e)

time (sec)

0 2 4-80

-60

-40

-20

1 2 (

de

gre

e)

time (sec)

0 2 480

100

120

140

1 3 (

de

gre

e)

time (sec)

0 2 40

20

40

time (sec)

2 1 (

de

gre

e)

0 2 4-80

-60

-40

-20

2 2 (

de

gre

e)

time (sec)

0 2 480

100

120

140

time (sec)

2 3 (

de

gre

e)

187

Page 218: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

8.2.2 Spatial biped

Next, the computed-torque and feedforward control schemes were applied to simulate the

controlled motion of the spatial biped discussed in Section 7.2.2. The proportional and

derivative gains were taken as =200 and =40 for both the control schemes.

Simulated motions of the trunk and the joint angles using both the control schemes are

shown in Figs. 8.7 and 8.8, respectively. The desired motions are also depicted in Figs.

8.7 and 8.8. It can be seen that the biped moves in the forward direction (X) under both

the control schemes, however, feedforward control scheme performs little better than

computed torque scheme, as evident from Figs. 8.7 and 8.8. It is worth noting that without

the control action the simulated and desired trajectories were found to deviate after a time

of 0.1 s, as shown in Figs. 7.14-15, however in comparison the control action ensures a

close match of the trajectories even after 2 seconds. For the given set of gains

feedforward scheme shows better tracking of the trajectories than the computed torque

control.

ipkidk

(a) Center-of-Mass

(b) Euler Angles

Fig. 8.7 Simulated motion of trunk of the spatial biped under control

Computed-torque Feedforward Desired

0 1 2-0.1

0

0.1

time(s)

y0(m

)

0 1 2-1

0

1

2

time(s)

x0 (

m)

0 1 20.94

0.96

0.98

1

time(s)

z0 (

m)

0 1 2-5

0

5

time(s)

0 (

de

gre

e)

0 1 2-4

-2

0

2

4

time(s)

0 (

de

gre

e)

0 1 2-4

-2

0

2

4

time(s)

0 (

de

gre

e)

188

Page 219: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

(a)Support leg (Module 1)

(b) Swing leg (Module 2)

Fig. 8.8 Simulated joint motions of the spatial biped under control

Computed-torque Feedforward Desired

0 1 2-5

0

5

1,1

1 (

de

gre

e)

time (sec)

0 1 2-92

-91

-90

-89

1,2

1 (

de

gre

e)

time (sec)

0 1 2-40

-30

-20

-10

1,3

1 (

de

gre

e)

time (sec)

0 1 240

50

60

70

time (sec)

1,1

2 (

de

gre

e)

0 1 2-1

0

1

2

21 (

de

gre

e)

time (sec)

0 1 2-40

-30

-20

-10

time (sec)

3,1

1 (

de

gre

e)

0 1 2-5

0

5

1,1

2 (

de

gre

e)

time (sec)

0 1 2-91

-90

-89

-88

1,2

2 (

de

gre

e)

time (sec)

0 1 2-40

-30

-20

-10

1,3

2 (

de

gre

e)

time (sec)

0 1 240

50

60

70

time (sec)

22 (

de

gre

e)

0 1 2-2

-1

0

1

3,1

2 (

de

gre

e)

time (sec)

0 1 2-40

-30

-20

-10

time (sec)

3,2

2 (

de

gre

e)

8.3 Quadruped

Simulation of controlled motion of the spatial quadruped is attempted next. Dynamic

simulation of quadruped was also presented in Section 7.3 (Figs. 7.21-22), where the

torques obtained using the inverse dynamics algorithm were inputs to the actuators. The

results showed that the quadruped was able to follow the trajectory for 0.8 seconds only

before deviations occur. This is due to zero Eigen value problems. However, in real life

189

Page 220: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

such deviation occurs due to unmodeled parameters, uncertainty, backlash, etc. Hence,

appropriate control is required. Here, the motions of the quadruped under computed-

torque and feedforward control schemes are studied for the periodic walking. Values of

the gains are taken as ipk =49 and =14 for both the feedforward and computed-torque

control schemes. The variations of the COM of the trunk and the Euler angles are shown

in Fig. 8.9, which depicts that the quadruped moves in the forward direction (X) with

stable periodic motion. Figure 8.10 shows the variations of joint angles of the legs, where

the quadruped follows the desired trajectories. The simulation was run for times more

than 4 seconds and the same close match between the trajectories was noticed. It is worth

mentioning that for selected values of the gains, feedforward control performs little better

than the computed-torque control scheme.

idk

(a) Center-of-Mass

(b) Euler Angles

Fig. 8.9 Simulated motion of trunk of the quadruped under control

Computed-torque Feedforward Desired

0 2 4

-0.05

0

0.05

time(s)

y0(m

)

0 2 4

0.48

0.5

0.52

time(s)

z0 (

m)

0 2 4-1

0

1

2

time(s)

x0 (

m)

0 2 4-5

0

5

time(s)

0 (

de

gre

e)

0 2 4

-2

0

2

time(s)

0 (

de

gre

e)

0 2 4-0.5

0

0.5

time(s)

0 (

de

gre

e)

190

Page 221: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

(a) Support legs (Module 1)

(b) Swing legs (Module 2)

Fig. 8.10 Simulated joint motions of the quadruped under control

Computed-torque Feedforward Desired

0 2 4-90.2

-90

-89.8

1,1

1 (

de

gre

e)

time (sec)

0 2 40

20

40

60

1,2

1 (

de

gre

e)

time (sec)

0 2 4-100

-80

-60

-40

21 (

de

gre

e)

time (sec)

0 2 4-90.2

-90

-89.8

time (sec)

1,1

2 (

de

gre

e)

0 2 40

20

40

60

1,2

2 (

de

gre

e)

time (sec)

0 2 4-100

-80

-60

-40

time (sec)

22 (

de

gre

e)

8.4 Hexapod

As discussed in Section 7.4, the dynamics plays important role in hexapod walking. In

this section, simulation of hexapod walking is presented using feedforward and

computed-torque control schemes. The gains were taken as ipk =49 and =14. Hexapod

was simulated for the periodic walking for the time duration of 2 seconds. The simulated

motions of the trunk are shown in Fig. 8.11. The hexapod moves along the forward

direction (X) with the velocity of 0.8 m/s. For both the control scheme, the Euler angles

associated with the trunk are in close match with those of the desired one. Figure 8.12

shows the variation of the joint angles, which are in close match with the desired ones for

both the control schemes. It is pointed out that without the control action the simulated

and desired trajectories as shown in Figs. 7.28-29 was found to deviate after a time of 0.9

s, however in comparison the control action ensures a close match of the trajectories even

after 2 seconds.

idk

191

Page 222: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

(a) Center-of-Mass

(b) Euler Angles

Fig. 8.11 Simulated motion of trunk of the hexapod under control

Computed-torque Feedforward Desired

0 1 2-1

0

1

2

time(s)

x0(m

)

0 1 20.54

0.545

0.55

0.555

time(s)

z0 (

m)

0 1 2-0.01

0

0.01

time(s)

y0 (

m)

0 1 2-0.4

-0.2

0

0.2

0.4

time(s)

0 (

de

gre

e)

0 1 2-0.4

-0.2

0

0.2

0.4

time(s)

0 (

de

gre

e)

0 1 2-0.4

-0.2

0

0.2

0.4

time(s)

0 (

de

gre

e)

(a) Support legs (Module 1)

(b) Swing legs (Module 2)

Fig. 8.12 Simulated joint motions of the hexapod under control

Computed-torque Feedforward Desired

0 1 2-150

-100

-50

0

11 (

de

gre

e)

time (sec)

0 1 2-100

-50

0

21 (

de

gre

e)

time (sec)

0 1 2-150

-100

-50

0

12 (

de

gre

e)

time (sec)

0 1 2-100

-50

0

time (sec)

22 (

de

gre

e)

5

192

Page 223: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

8.5 Summary

Two model-based control schemes, namely, the computed-torque control and the

feedforward control, have been presented for the controlled motion study of several

floating-base legged robotic systems. Simulations of the biped, quadruped and hexapod

were performed. The simulation study showed that the desired trajectory was attained

using both the control schemes for longer simulation time, and this was not achievable if

the control schemes are not implemented. Feedforward control scheme, however, showed

better tracking of the desired trajectories than computed-torque for the spatial biped and

quadruped, whereas both controllers showed good tracking ability in the case of planar

biped and hexapod.

193

Page 224: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

194

Page 225: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Chapter 9

CONCLUSIONS AND FUTURE WORK

In conclusion, it may be said that this research work has given rise to an efficient

computational framework for dynamic modeling and analysis of tree-type fixed- and

floating-base robotic systems. Empowered with it, recursive inverse and forward

dynamics algorithms have been proposed. The algorithms are much faster than or as fast

as the most efficient algorithm proposed in the literature. The gain in computational time

is more as the number of links and joints in the system increase. The specialty of the

algorithms exists in its recursive nature, its capability of dealing with multiple-DOF joints

using a novel form of Euler-Angle-Joints (EAJs), not reported in the existing literature so

far. The analytical expressions of the Generalized Inertia Matrix (GIM) and its inverse

also provide better insight to the participation of the inertial quantities in affecting the

kinematic and dynamic behaviors of the system at hand. The work delves upon the

Decoupled Natural Orthogonal Complement (DeNOC) approach, originally developed for

serial chain manipulators. In the present thesis, the same has been extended to general

tree-type fixed- and floating-base robotic systems, which encapsulate the serial forms by

using the concept of kinematic modules.

Kinematic pairs are very important to decide kinematic and dynamic behaviors of any

mechanical system. So a first attempt was taken to come up with a generic representation

of a rotary joint or pair (where a ‘rotary’ joint admits only rotation about axis/axes but no

translation) for admitting single or multiple degree/degrees of freedom, as in the cases of

revolute, universal and spherical joints. For this, the concept of EAJs, not proposed in

195

Page 226: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

literature so far, was evolved by characterizing the Euler angle rotation with the help of

intersecting revolute joints. The axes of the revolute joints were identified using the well

known Denavit-Hartenberg (DH) parameters. However, the concept of EAJs is not

relevant for simulating the translatory behavior, as the EAJs are basically the DH

parametrization of the Euler angle rotations only.

The usefulness of the EAJs is immediately understood in the capability of the proposed

computational framework in simulating the kinematic and dynamic behaviors of walking

robots, e.g., a biped, quadruped and hexapod, which are essentially floating-base systems,

having a number of rotary kinematic pairs particularly at ankles, knees and hips. Dynamic

behaviors of such walking machines have been easily simulated efficiently. This feature

is very much important to simulate biokinematics and biodynamics.

The importance of robot control is an inseparable part of studying kinematic and dynamic

behavior of robots. For this, two well-known control methodologies, viz., the computed-

torque control and the feedforward control, were incorporated. The effect of control

action is seen immediately in generating any target trajectory that any robot is required to

follow; the joint motions as well as the joint torque functions over time for such

controlled motions are also easily obtained.

This research work has also given rise to MATLAB based general purpose software

named Recursive Dynamic Simulator (ReDySim), which essentially consisting of

recursive order (n) inverse and forward dynamics algorithms for simulation and control of

tree-type fixed- or floating-base robotic system. As the “ReDySim” is generic software

for simulating multi-degrees-of-freedom robotic systems, its capability is extended for

simulation of hyper-degrees-of-freedom (hyper-DOF) systems. Examples of such systems

are flexible ropes, chains and the like, which can be thought of as an assembly of

196

Page 227: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

numerous rigid links or bodies connected by kinematic pairs. Hence, the domain of rigid

multibody dynamics is extended to simulate dynamic behaviors of highly flexible

systems. In this area the effects of conservative and dissipative material behaviors in

forming the kinematic and dynamic behaviors of such systems are being thought out.

A few simulation results were validated by comparing those generated using ADAMS

software. These are primarily the small systems, not having many links and joints.

However, the simulation results of large systems, e.g., the biped, quadruped, hexapod,

and the hyper-DOF systems, were validated by finding out the energy balance,

comprising of the energy stored and the energy dissipated.

Salient contributions, as a result of this research work are listed below:

1. The concept of Euler-Angle-Joints (EAJs) for the representation of a spherical

joint and its generalization for 1-, 2-, and 3-degrees-of-freedom joints.

2. Generalization of the link-to-link kinematic transformation of velocities, i.e.,

twist-propagation, to module-to-module twist-propagation using the concept of

kinematic modules. As a consequence, definition of the Decoupled Natural

Orthogonal Complement (DeNOC) for a serial chain system is extended to a tree-

type robotic system.

3. Dynamic modeling of a tree-type robotic system using the concept of the module-

DeNOC matrices giving module-level expressions for the vectors and matrices

appearing in the equations of motion.

4. Module-level, analytical block UDUT decomposition of the Generalized Inertia

Matrix (GIM) for the tree-type robotic system using the Block Reverse Gaussian

Elimination (BRGE), where U and D are the block upper triangular and block

197

Page 228: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

198

diagonal matrices, respectively. Subsequently analytical expressions of the inverse

of the GIM are derived providing deeper insight into the dynamics.

5. Efficient recursive algorithms for the inverse and forward dynamics of the fixed-

and floating-base tree-type robotic systems consisting of multiple-DOF joints

introducing inter- and intra-modular recursions.

6. Dynamic analyses of several tree-type practical robotic systems, namely, (i) a

robotic gripper, (ii) planar and spatial biped, (iii) a quadruped, and (iv) a hexapod,

which would help researcher and practicing engineer to use these results for

design, simulation and control of those robots.

7. Closed-loop control simulation of several robots, mainly, those listed in item 6

above, to study their controlled behaviors.

9.1 Scope of future work

This research work has given rise to some useful directions which forms the future scope

of research. They are as follows:

1. Implementation of the proposed computational framework for design, control and

trajectory planning of an actual robotic system.

2. Use of the properties of the GIM and its inverse for the prediction of instability of

a robot as well as appropriate control action.

3. Development of hybrid parallel recursive forward and inverse dynamics

algorithms for the modular description of a robotic system.

4. Obtaining a general optimization problem for minimization of the inertia-induced

forces in the legged robot.

Page 229: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

References

Ahmadi, M. and Buehler, M., 1999, “The ARL Monopod II Running Robot: Control and

Energetic,” IEEE Int. Conf. on Robotics and Automation, 1689-1694.

Anderson, K. S., 1991, “An Order-N Formulation for the Motion Simulation of General Multi-

Rigid Tree Systems,” J. Computers and Structures, 46(3), 547-559.

Anderson, K.S. and Duan, S., 2000, “Highly Parallelizable Low Order Algorithm for the

Dynamics of Complex Multi Rigid Body Systems,” J. of Guidance, Control and Dynamics 23(2),

355–364.

Angeles, J., and Lee, S., 1988, “The Formulation of Dynamical Equations of Holonomic

Mechanical Systems Using a Natural Orthogonal Complement,” ASME J. Applied Mechanics, 55,

243-244.

Angeles, J., and Ma, O., 1988, “Dynamic Simulation of N-Axis Serial Robotic Manipulators

Using a Natural Orthogonal Complement,” Int. J. of Robotics Research, 7(5), 32-47.

Angeles, J., and Ma, O., and Rojas A., 1989, “An Algorithm for the Inverse Dynamics of N-Axis

General Manipulator Using Kane's Formulation of Dynamical Equations,” Computers and

Mathematics with Applications, 17(12), 1545-1561.

Armstrong, W. W., 1979, “Recursive Solution to the Equations of Motion of an N-Link

Manipulator,” World Cong. on Theory of Machines and Mechanisms (ASME), Montreal, Canada,

2, 1343-1346.

Asada, H., 1984, “Dynamic Analysis and Design of Robot Manipulators Using Inertia

Ellipsoids,” IEEE Int. Conf. on Robotics and Automation, 1, 94-102.

Ascher, U. M., Pai, D. K., and Cloutier, B. P., 1997, “Forward Dynamics, Elimination Methods,

and Formulation Stiffness in Robot Simulation,” Int. J. of Robotics Research, 16(6), 749-758.

Automated Dynamic Analysis of Mechanical System (ADAMS), 2004, Version 2005.0.0, MSC.

Software.

B. Mirtich and J. Canny, 1995, “Impulse-Based Simulation of Rigid Bodies,” Symposium on

Interactive 3D Graphics, Monterey, CA, 181–188.

Bae, D. S., and Haug, E. J., 1987, “A Recursive Formulation for Constrained Mechanical System

Dynamics: Part I, Open Loop Systems,” Mechanics of Structure and Machine, 15, 359–382.

199

Page 230: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Bae, D., Kuhl, J.G. and Haug, E.J., 1988, “A Recursive Formation for Constrained Mechanical

System Dynamics: Part III, Parallel Processing Implementation,” Mechanisms, Structures, and

Machines, 16, 249–269.

Balafoutis, C. A., and Patel, R. V., 1991, Dynamic Analysis of Robot Manipulators: A Cartesian

Tensor Approach, Kluwer Academic Publishers, Boston.

Baraff, D. 1996, “Linear-Time Dynamics Using Lagrange Multipliers,” Proc. ACM SIGGRAPH ,

New Orleans, 137-146.

Baumgarte, J., 1972, “Stabilization of Constraints and Integrals of Motion,” Computer methods in

Applied Mechanics and Engineering, 1, 1-16.

Begg, K. R., Rahman, S. M., 2000, “A Method for the Reconstruction of the Ground Reaction

Force-Time Characteristics During Gait from Force Platform Recording of Simultaneous Foot

Faults,” IEEE Trans. on biomedical engineering, 47(4), 547-551.

Berkemeier, M. D., 1998, “Modeling the Dynamics of Quadrupedal Running,” Int. J. of Robotics

Research, 17, 971 – 985.

Bhangale, P.P., Saha, S.K., and Agrawal, V.P., 2004, “A Dynamic Model Based Robot Arm

Selection Criterion,” Int. J. of Multibody System Dynamics, 12(2), 95-115.

Bicchi, A., 2000, “Hands for Dexterous Manipulation and Robust Grasping: A Difficult Road

Toward Simplicity,” IEEE Trans. on Robotics and Automation, 16(6), 652-662.

Blajer, W., Bestle, D., and Schiehlen, W., 1994, “An Orthogonal Complement Matrix

Formulation for Constrained Multibody Systems,” ASME J. of Mechanical Design, 116, 423-428.

Bogert, A. J., Schamhardt, H. C., Crowe A., 1989, “Simulation of Quadrupedal Locomotion

Using a Rigid Body Model,” J. of Biomechanics, 22(1), 33-41.

Brandl, H., Johanni, R., and Otter, M. 1988. “A Very Efficient Algorithm for the Simulation of

Robots and Similar Multibody Systems Without Inversion of the Mass Matrix,” Theory of Robots,

Oxford: Pergamon Press, 95-100.

Brown, B. and Zeglin, G., 1998, “The Bow Leg Hopping Robot,” IEEE Int. Conf. on Robotics

and Automation, 781-786.

Buehler, M., Battaglia, R., Cocosco, A., Hawker, G., Sarkis, J., and Yamazaki, K., 1998,

“SCOUT: A Simple Quadruped That Walks, Climbs and Runs,” IEEE Int. Conf. on Robotics and

Automation, 1707 – 1712.

Buehler, M., Cocosco, A., Yamazaki, K., and Battaglia, R., 1999, “Stable Open Loop Walking in

Quadruped Robots with Stick Legs,” IEEE Int. Conf. on Robotics and Automation, 2348 – 2353.

200

Page 231: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Cameron, J. M., and Book, W. J., 1997, “Modeling Mechanisms with Nonholonomic Joints Using

the Boltzmann-Hammel Equations”, Intl. J. of Robotics Research, 16(1), 47-59.

Cham, Jorge G., Bailey, Sean A.,Clark, Jonathan E., Full, Robert J., Cutkosky, and Mark R.,

2002, “Fast and Robust: Hexapedal Robots Via Shape Deposition Manufacturing,” Int. J. of

Robotics Research, 21(10), 869 – 882.

Chaudhary, H., and Saha, S. K., 2007, “Constraint Wrench Formulation for Closed-Loop Systems

Using Two-Level Recursions,” ASME J. of Mechanical Design, 129, 1234–1242.

Chaudhary, H., and Saha, S. K., 2009, Dynamics and Balancing of Multibody Systems, Springer,

Berlin.

Collins, S. H., and Ruina, A., 2005, “A Bipedal Walking Robot with Efficient Sand Human-Like

Gait,” IEEE Int. Conf. on Robotics and Automation, 1983-1988.

Coset, H., Lynch, K. M., Hutchinson, S., Kantor, G., Burgard, W., Kavraki, L. E., and, Thrun, S.,

2005, Principle of Robot Motion: Theory, Algorithms, and Implementations, MIT press,

Cambridge, MA.

Craig, J. J., 2006, Introduction to Robotics, Mechanics and Control. Pearson Education, Delhi.

Critchley, J. H. and Anderson, K. S., 2004, “Parallel Logarithmic Order Algorithm for General

Multibody System Dynamics,” J. of Multiscale Computational Engineering, 12(1), 75-93.

Critchley, J. S., and Anderson, K. S., 2003, “A Generalized Recursive Coordinate Reduction

Method for Multibody System Dynamics,” Multibody System Dynamics, vol. 9, 185-212

Cyril, X., 1988, Dynamics of Flexible Link Manipulators, Ph.D. dissertation, McGill University,

Canada.

D. Baraff, 1994, “Fast Contact Force Computation for Nonpenetrating Rigid Bodies,” in Proc. of

SIGGRAPH, Orlando, FL.

D. Stewart and J. Trinkle, “An Implicit Time-Stepping Scheme for Rigid Body Dynamics with

Coulomb Friction,” IEEE Int. Conf. on Robotics and Automation, 162–169.

Denavit, J. and Hartenberg, R. S., 1955, “A Kinematic Notation for Lower-Pair Mechanisms

Based On Matrices,” J. of Applied Mechanics, 22, 215-221.

Deo, N., 1974, Graph Theory with Application in Engineering and Computer Science, Prentice-

Hall, Englewood Cliffs, NJ.

Doi, T., Hodoshima, R., Hirose, S., Fukuda, Y., Okamoto, T., and Mori, J., 2005, “Development

of a Quadruped Walking Robot to Work On Steep Slopes, TITAN XI,” IEEE/RSJ Int. Conf. on

Intelligent Robots and Systems, 2067- 2072.

201

Page 232: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Dormand, J. R. and Prince, P. J, 1980, “A Family of Embedded Runge-Kutta Formulae,” J. Comp.

Applied Mathematics, Vol. 6, 19-26.

Drumwright, E., 2008, “A Fast and Stable Penalty Method for Rigid Body Simulation,” IEEE

Trans. On Visualization and Computer Graphics, 14(1), 231-240.

Duffy, J., 1978, “Displacement Analysis of the Generalized RSSR Mechanism,” Mechanism and

Machine Theory, 13, 533-541.

Eberhard, P., and Schiehlen, W., 2006, “Computational Dynamics of Multibody Systems: History,

Formalisms, and Applications,” ASME J. of Computational and Nonlinear Dynamics, 1(1), 3-12.

Espenschied, K. S., Quinn, R. D., Beer, R. D., and Chiel, H. J., 1996, “Biologically Based

f Physically Valid Human Motion”

ynamics Using Articulated Body Inertias,”

s Algorithms, Boston, Kluwer Academic Publishers.

og.N

, 2005, “Efficient Factorization of the Joint-Space Inertia Matrix for Branched

tions and Algorithms,” IEEE Int.

“Parallel O(Log N) Algorithms for Computation

a

dy System,” J.

pe Modeled as a Multi-Body System

Distributed Control and Local Reflexes Improve Rough Terrain Locomotion in a Hexapod

Robot,” Robotics and Autonomous Systems, 18(1-2), 59-64.

Fang, A. C., and Pollard, N. S. 2003. Efficient Synthesis o

ACM Trans. Graphics (SIGGRAPH), 22(3), 417-426.

Featherstone, R., 1983, “The Calculation of Robotic D

Int. J. of Robotics Research, 2, 13–30.

Featherstone, R., 1987, Robot Dynamic

Featherstone, R., 1999, “A Divide-and-Conquer Articulated Body Algorithm for Parallel O.L

Calculation of Rigid Body Dynamics. Part 1: Basic Algorithm,” Int. J. of Robotics Research,

18(9), 867-875.

Featherstone, R.

Kinematic Tree,” Int. J. of Robotics Research, 24(6), 487–500.

Featherstone, R., and Orin, D., 2000, “Robot Dynamics: Equa

Conf. on Robotics and Automation, 1, 826-834.

Fijany A., Sharf I., D'Eleuterio, G. M. T., 1995,

of Manipulator Forward Dynamics,” IEEE Trans. on Robotics and Automation, 11(3), 389-400.

Freeman, P. S., and Orin, D. E., 1991, “Efficient Dynamic Simulation of a Quadruped Using

Decoupled Tree Structured Approach,” Int. J. of Robotics Research, 10, 619-627.

Fritzkowski, P., and Kaminski, H., 2008, “Dynamics of a Rope as a Rigid Multibo

of Mechanics of Materials and Structures, 3(6), 1059-1075.

Fritzkowski, P., and Kami ski, H., 2010, “Dynamics of a Ro

with Elastic Joints,” Computational Mechanics, 46(6), 901-909.

202

Page 233: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Fukuoka, Y., Kimura, H., and Cohen, A. H., 2003, “Adaptive Dynamic Walking of a Quadruped

Robot On Irregular Terrain Based On Biological Concepts,” Int. J. of Robotics Research, 22,

187–202.

Furukawa, N., Namiki, A., Taku, S., and Ishikawa, M., 2006, “Dynamic Regrasping Using a

High-Speed Multifingered Hand and a High-Speed Vision System,” IEEE Int. Conf. on Robotics

and Automation, 2006 181-187.

Furusho, J., Sano, A., Sakaguchi, M., and Koizumi, E., 1995, “Realization of Bounce Gait in a

Quadruped Robot with Articular-Joint-Type Legs,” IEEE Int. Conf. Robotics and Automation,

697-702.

Gambaryan, P.P., 1974, How Mammals Run: Anatomical Adaptations, John Wiley and Sons, New

York.

Gatti-Bono, C., and Perkins, N. C., 2002, “Physical and Numerical Modelling of the Dynamic

Behavior of a Fly Line,” J. of Sound and Vibration, 255(3), 555-577.

Gerritsen, K. G. M., Van Den Bogert, A. J., and Nigg, B. M., 1995, “Direct Dynamics Simulation

of the Impact Phase in Heel-Toe Running,” J. of Biomechanics, 28(6), 661-668.

Goldenberg, A. A., Benhabib, B., and Fenton, R. G., 1985, “A Complete Generalized Solution to

the Inverse Kinematics of Robots,” IEEE J. Robotics and Automation, RA-1(1), 14–20, 1985.

Greenwood, D.T., 1988, Principles of Dynamics, Prentice-Hall of India, New Delhi.

Harada, K., Kajita, S., Kanehiro, F., Fujiwara, K., Kaneko, K., Yokoi, K., and Hirukawa, H.,

2004, “Real-Time Planning of Humanoid Robot's Gait for Force Controlled Manipulation,” IEEE

Int. Conf. on Robotics and Automation, 1, 616-622.

Hasegawa, Y., Higashiura, M., and Fukuda, T., 2003, “Simplified Generation Algorithm of

Regrasping Motion - Performance Comparison of Online-Searching Approach with EP-Based

Approach,” IEEE Int. Conf. on Robotics and Automation, 2, 1811-1816.

He, G., Tan, X., Zhang, X., & Lu, Z., 2008, “Modeling, Motion Planning, and Control of One-

Legged Hopping Robot Actuated by Two Arms,” Mechanism and Machine Theory, 43(1), 33-49.

Hemami, H., and Weimer, F. C., 1981, “Modeling of Nonholonomic Dynamic Systems with

Applications,” ASME J. of Applied Mechanics, 48(1), 177-182.

Hirai K., Hirose M., Haikawa Y., and Takenaka T., 1998, “The Development of Honda

Humanoid Robot,” IEEE Int. Conf. on Robotic and Automation, 1321–1326.

Hollerbach, J. M., 1980, “A Recursive Lagrangian Formulation of Manipulator Dynamics and a

Comparative Study of Dynamics Formulation Complexity,” IEEE Trans. on Systems, Man, and

Cybernetics, 10(11), 730-736.

203

Page 234: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Hollerbach, J.M., and Gideon, S., 1983, “Wrist-Partitioned Inverse Kinematic Accelerations and

Manipulator Dynamics,” Int. J. of Robotics Research, 4, 61–76.

Hu, W., Marhefka, D. W., & Orin, D. E., 2005, “Hybrid Kinematic and Dynamic Simulation of

Running Machines,” IEEE Trans. on Robotics, 21(3), 490-497.

Huang, Q., Yokoi, K., Kajita, S., Kaneko, K., Aral, H., Koyachi, N., and Tanie, K., 2001,

“Planning Walking Patterns for a Biped Robot,” IEEE Trans, on Robotics and Automation, 17(3),

280-289.

Huston, R. L., and Passerello, C. E., 1974,” On Constraint Equations-A New Approach,” ASME J.

of Applied Mechanics, 41, 1130-1131.

Hyon, S., Emura, T. and Mita, T., 2003, “Dynamics-Based Control of a One-Legged Hopping

Robot,” J. of Systems and Control Engineering, 217(2): 83-98

Jacobsen, S.C, Iversen, E.K., Knutti, D.F., Johnson, R.T., and Biggers, K.B., 1986, “Design of the

Utah/MIT Dextrous Hand,” IEEE Int. Conf. on Robotics & Automation, 1520-1532.

Kagami, S., Kitagawa, T., Nishiwaki, K., Sugihara, T., Inaba, M., and Inoue, H., 2002, “A Fast

Dynamically Equilibrated Walking Trajectory Generation Method of Humanoid

Robot,” Autonomous Robots, 12(1), 71-82.

Kahn, M.E., and Roth, B., 1971, “The Near Minimum-Time Control of Open-Loop Articulated

Kinematic Chains,” ASME J. Dyn. Systs. Meas. and Control, 91, 164-172.

Kahtib, O., and Burdick, J., 1987, “Optimization of Dynamics in Manipulator Design: the

Operational Space Formulation,” Int. J. of Robotics and Automation, 2(2), 90-98.

Kajita, S., and Tani, K., 1991, “Study of Dynamic Biped Locomotion On Rugged Terrain,” IEEE

Int. Conf. on Robotic and Automation, 1405–1411.

Kajita, S., Kanehiro, F., Kaneko, K., Fujiwara, K., Harada, K., Yokoi, K., and Hirukawa, H.,

2003, “Biped Walking Pattern Generation by Using Preview Control of Zero-Moment Point,”

IEEE Int. Conf. on Robotics and Automation, 2, 1620-1626.

Kamman, J. W., and Huston, R. L., 1984, “Constrained Multibody System Dynamics: An

Automated Approach,” Computers & Structures, 18(6), 999-1003.

Kane, T. R., and Levinson, D. A., 1983, “The Use of Kane’s Dynamical Equations for Robotics,”

Int. J. of Robotics Research, 2(3), 3-21.

Kaneko, K., Harada, K., Kanehiro, F., Miyamori, G., and Akachi, K., 2008, “Humanoid Robot

HRP-3,” IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, 2471-2478.

204

Page 235: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Kelly, R., Santibanez, V., and Loria, A., 2005, Control of Robot Manipulators in Joint Space.

London: Springer-Verlag.

Khalil, W., Kleinfinger, J., 1986, “A New Geometric Notation for Open and Closed-Loop

Robots,” IEEE Int. Conf. on Robotics and Automation, 3, 1174- 1179.

Khalil, W., Kleinfinger, J.F., and Gautier, M., 1986, “Reducing the Computational Burden of the

Dynamical Models of Robots,” IEEE Int. Conf. on Robotics & Automation, 525-531.

Khan, W. A., Venkat N. Krovi, V. N., Saha, S. K. and Angeles, J., 2005, “Recursive Kinematics

and Inverse Dynamics for a Planar 3R Parallel Manipulator”, J. of Dynamic Systems,

Measurement, and Control, 127(4), 529–536.

Khatib, O., 1986, “Real-Time Obstacle Avoidance for Manipulators and Mobile Robots,” Int. J.

of Robotics Research, 5(1):90–98, 1986.

Khatib, O., 1987, “Unified Approach for Motion and Force Control of Robot Manipulators: The

Operational Space Formulation,” IEEE J. of Robotics and Automation, RA-3(1), 43-53.

Kim, S. S., and Vanderploeg, M. J., 1986, “A General and Efficient Method for Dynamic

Analysis of Mechanical Systems Using Velocity Transformations,” ASME J. of Mechanisms,

Transmissions, and Automation in Design, 108( 6), 176-182.

Kimura, H., Akiyama, S., and Sakurama, K.., 1999, “Realization of Dynamic Walking and

Running of the Quadruped Using Neural Oscillator,” Autonomous Robots, 7(3), 247-258.

Kimura, H., Fukuoka, Y., and Cohen, A. H., 2007, “Adaptive Dynamic Walking of a Quadruped

Robot On Natural Ground Based On Biological Concepts,” Int. J. of Robotics Research, 26(5),

475-490.

Kurazume, R., Hasegawa, T., and Yoneda, K., 2003, “The Sway Compensation Trajectory for a

Biped Robot,” IEEE Int. Conf. on Robotics and Automation, 1, 925-931.

Kurazume, R., Hirose, S., and Yoneda, K., 2001, “Feedforward and Feedback Dynamic Trot Gait

Control for a Quadruped Walking Vehicle,” IEEE Int. Conf. on Robotics and

Automation, 3, 3172-3180.

Kuroki, Y., Fujita, M., Ishida, T., Nagasaka, K., and Yamaguchi, J., 2003, “A Small Biped

Entertainment Robot Exploring Attractive Applications,” IEEE Int. Conf. on Robotics and

Automation, 471 –476.

Kwon, O., and Park, J. H., 2009, “Asymmetric Trajectory Generation and Impedance Control for

Running of Biped Robots,” Autonomous Robots, 26(1), 47-78.

Lee, K., and Chirikjian, S. G., 2005, “A New Perspective On O(N) Mass-Matrix Inversion for

Serial Revolute Manipulators,” IEEE Conf. on Robotics and Automation, 4733-4737.

205

Page 236: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Lewis, F.L., Dawson, D. M., Abdallah C. T., 2004, Robot Manipulator Control: Theory and

Practice, Marcel Dekker, INC., New York

Li, C., and Sankar, T. S., 1992, “Fast Inverse Dynamics Computation in Real-Time Robot

Control,” Mechanism and Machine Theory, 27(6), 741-750.

Lilly, K. W., 1993, Efficient Dynamic Simulation of Robotic Mechanisms, Kluwer Academic

Publishers, Boston.

Lilly, K.W., and Orin, D. E., 1991, “Alternate Formulations for the Manipulator Inertia Matrix,”

Int. J. of Robotics Research, 10(1), 64–74.

Lloyd, J., 2005, “Fast Implementation of Lemke’s Algorithm for Rigid Body Contact

Simulation,” IEEE Int. Conf. on Robotics and Automation, 4538 - 4543.

Luh, J. Y. S., Walker, M. W., and Paul, R. P. C., 1980, “On-Line Computational Scheme for

Mechanical Manipulators,” ASME J. of Dynamic Systems, Measurement and Control, 102, 69-76.

Ma, O., and Angeles, J., 1990, “The concept of dynamic isotropy and its applications to inverse

kinematics and trajectory planning,” IEEE Int. Conf. on Robotics and Automation, 1, 481-486 .

Mani, N. K., Haug, E. J., and Atkinson, K. E., 1985, “Application of Singular Value

Decomposition for Analysis of Mechanical System Dynamics,” ASME J. of Mechanisms,

Transmissions, and Automation in Design, 107(1), 82-87.

Marhefka, D. W., & Orin, D. E., 1996, “Simulation of Contact Using a Nonlinear Damping

Model,” IEEE Int. Conf. on Robotics and Automation, 2, 1662-1668.

Marhefka, D. W., Orin, D. E., Schmiedeier, J. P., & Waldron, K. J., 2003, “Intelligent Control of

Quadruped Gallops,” IEEE/ASME Trans. on Mechatronics, 8(4), 446-456.

Mason M. and Salisbury J. K. 1985, Robot Hands and the Mechanics of Manipulation. MIT,

Cambridge, MA.

Matlab, 2009, Version 7.4 Release 2009a, MathWorks Inc.

McGeer, T., 1990, “Passive Dynamic Walking,” Int. J. of Robotics Research, 9(2), 62-82.

McMillan, S., and Orin, D. E., 1995, “Efficient Computation of Articulated-Body Inertias Using

Successive Axial Screws,” IEEE Trans. on Robotics and Automation, 11(2), 606-611.

McMillan, S., and Orin, D. E., 1998, “Forward Dynamics of Multilegged Vehicles,” IEEE Int.

Conf. on Robotics and Automation, 464-470.

McMillan, S., Orin, D. E., and McGhee, R. B., 1995, “Efficient Dynamic Simulation of an

Underwater Vehicle with a Robotic Manipulator,” IEEE Trans. On Systems, Man, and

Cybernetics, 25(8), 1194-1205.

206

Page 237: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

McPhee, J. J., 1996, “On the Use of Linear Graph Theory in Multibody System Dynamics,”

Nonlinear Dynamics, 9, 73-90.

Mistri, B. D., 2001, Simulation of Quadruped Gallop, M. Tech. Thesis, Mechanical Department,

Indian Institute of Technology, Bombay.

Miura, H., and Shimoyama, I., 1984, “Dynamic Walk of a Biped,” Int. J. of Robotics Research,

3(2), 60-74.

Miura, H., Shimoyama, I., Mitsuishi, M., and Kimura, H., 1985, “Dynamical Walk of Quadruped

Robot (Collie-1),” Int. Symp. Robotics Research, MIT Press, Cambridge, 317-324.

Mohan, A., and Saha, S. K., 2007, “A Recursive, Numerically Stable, and Efficient Algorithm for

Serial Robots,” Multibody System Dynamics, 17(4), 291-319.

Morisawa, M., Kajita, S., Kaneko, K., Harada, K., Kanehiro, F., Fujiwara, K., and Hirukawa, H.,

2005, “Pattern Generation of Biped Walking Constrained On Parametric Surface,” IEEE Int.

Conf. on Robotics and Automation, 2405-2410.

Muybridge, E., 1957, Animals in Motion, Dover Publications, New York.

Nelson, G. M., and Quinn, R. D., 1998, “Posture Control of a Cockroach-Like Robot,” IEEE Int.

Conf. on Robotics and Automation, 157 – 162.

Nigg, B. M., Herzog, W., 1999, Biomechanics of the Musculo-Skeletal System, John Wiley &

Sons, Chichester, Englend.

Nikravesh, P. E., 1988, Computer-Aided Analysis of Mechanical Systems, Prentice-Hall,

Englewood Cliffs, New Jersey.

Nikravesh, P. E., and Gim, G., 1993, “Systematic Construction of the Equations of Motion for

Multibody Systems Containing Closed Kinematic Loops,” ASME J. of Mechanical Design, 115,

143-149.

Ono, K., Takahashi, R., & Shimada, T., 2001, “Self-Excited Walking of a Biped Mechanism,” Int.

J. of Robotics Research, 20(12), 953-966.

Ottaviano E., Ceccarelli M., Tavolieri C., 2004. “Kinematic and Dynamic Analyses of a

Pantograph-Leg for a Biped Walking Machine”, Int. Conf. on Climbing and Walking Robots

CLAWAR, Madrid.

Ouezdou, F. B., Bruneau, O., & Guinot, J. C., 1998, “Dynamic Analysis Tool for Legged

Robots,” Multibody System Dynamics, 2(4), 369-391.

Park, F. C., Bobrow, J. E., and Ploen, S. R., 1995, “A Lie Group Formulation of Robot

Dynamics,” Int. J. of Robotics Research, 14(6), 606-618.

207

Page 238: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Park, J. H., and Kim, K. D., 1998, “Biped Robot Walking Using Gravity-Compensated Inverted

Pendulum Mode and Computed Torque Control,” IEEE Int. Conf. Robotics and Automation,

3528-3533.

Perrin, B., Chevallereau, C., and Verdier, C., 1997, “Calculation of the Direct Dynamic Model of

Walking Robots: Comparison Between Two Methods,” IEEE Int. Conf. on Robotics and

Automation, 1088-1093.

Pfeiffer, F., 1996, “Grasping with Hydraulic Fingers - An Example of

Mechatronics,” IEEE/ASME Trans. on Mechatronics, 1(2), 158-167.

Pons, J. L., Ceres, R., and Pfeiffer, F., 1999, “Multifingered Dextrous Robotics Hand Design and

Control: A Review,” Robotica, 17(6), 661-674

Poulakakis, I., Papadopoulos, E., and Buehler, M., 2006, “On the Stability of the Passive

Dynamics of Quadrupedal Running with a Bounding Gait,” Int. J. of Robotics Research, 25(7),

669-687.

Raibert, M. H. 1984, “Hopping in Legged System- Modeling and Simulation for the Two-

Dimensional One-Legged Case,” IEEE Trans. on Systems, Man, and Cybernetics, vol. 14(3), 451-

463.

Raibert, M. H., 1986, Legged Robot That Balance, MIT press, Cambridge, Massachusetts.

Raibert, M. H., 1990, “Trotting, Pacing and Bounding by a Quadruped Robot,” J. of

Biomechanics, 23(1), 79-98.

Raibert, M., Tzafestas, S., and Tzafestas, C., 1993, “Comparative Simulation Study of Three

Control Techniques Applied to a Biped Robot,” IEEE Int. Conf. on Systems, Man and

Cybernetics, 1, 494-502.

RecurDyn, 2009, FunctionBay Inc..

Ridderström, C., Ingvast, J., Hardarson, F., Gudmundsson, M., Hellgren, M., Wikander, J.,

Wadden, T., and Rehbinder, H., 2000, “The Basic Design of the Quadruped Robot Warp1,” Int.

Conf. on Climbing and Walking Robots.

Ringrose, R., 1997, “Self-Stabilizing Running,” IEEE Int. Conf. on Robotics and Automation, 1,

487-493.

Roberson, R. E., Schwertassek R., 1988, Dynamics of Multibody Systems, Springer, Berlin.

Rodriguez, G., 1987, “Kalman Filtering, Smoothing, and Recursive Robot Arm Forward and

Inverse Dynamics,” IEEE J. of Robotics and Automation, 3(6), 624–639.

208

Page 239: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Rodriguez, G., Jain, A., and Kreutz-Delgado, K., 1991, “A Spatial Operator Algebra for

Manipulator Modeling and Control,” Int. J. of Robotics Research, 10(4), 371-381.

Rodriguez, G., Jain, A., and Kreutz-Delgado, K., 1992, “Spatial Operator Algebra for Multibody

System Dynamics,” J. of the Astronautical Sciences, 40(1), 27-50.

Rosenthal, D. E., 1990, “An Order n Formulation for Robotic Systems”, J. of Astronautical

Sciences, 38(4), 511-529.

S. K. Saha, 2008, Introduction to Robotics, Tata Mcgraw Hill, New Delhi, India.

Saha, S. K., 1997, “A Decomposition of the Manipulator Inertia Matrix,” IEEE Trans. On

Robotics and Automation, 13(2), 301-304.

Saha, S. K., 1999, “Analytical Expression for the Inverted Inertia Matrix of Serial Robots,” Int. J.

of Robotic Research, 18(1), 116–124.

Saha, S. K., 1999, “Dynamics of Serial Multibody Systems Using the Decoupled Natural

Orthogonal Complement Matrices,” ASME J. of Applied Mechanics, 66, 986-996.

Saha, S. K., 2003, “Simulation of Industrial Manipulators Based On the UDUT Decomposition of

Inertia Matrix,” Int. J. of Multibody System Dynamics, 9(1), 63-85.

Saha, S. K., and Schiehlen, W. O., 2001, “Recursive Kinematics and Dynamics for Closed Loop

Multibody Systems,” Int. J. Mech. Structures Machines, 29(2), 143–175.

Saha, S. K., Shirinzadeh, B., and Alici Gl, 2006, “Dynamic Model Simplification of Serial

Manipulators,” ISRA, Mexico.

Saha, S.K., and Angeles, J., ``Dynamics of Nonholonomic Mechanical Systems Using a Natural

Orthogonal Complement," ASME J. of Applied Mechanics, 58, 238-243.

Sakagami, Y., Watanabe,R., Aoyama, C., Matsunaga, S., Higaki, N., and Fujimura, K., 2002,

“The Intelligent ASIMO: System Overview and Integration,” IEEE Int. Conf. On Intelligent

Robots and Systems, 2478-2483.

Salisbury, J. K., and Craig, J. J., 1982, “Articulated Hands: Force and Kinematic Issues,” Int. J.

Robotics Research, 1(1), 4-17.

Saranli, U., Buehler, M., and Koditschek, D. E., 2001, “Rhex – A Simple and Highly Mobile

Hexapod Robot,” Int. J. of Robotics Research, 20(7), 616 – 631.

Saranli, U., Rizzi, A. A., and Koditschek, D. E., 2004, “Model-Based Dynamic Self-Righting

Maneuvers for a Hexapedal Robot,” Int. J. of Robotics Research, 23(9), 903-918.

Schiehlen, W., 1990, Multibody Systems Handbook, Springer-Verlag, Berlin.

209

Page 240: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Schiehlen, W., 1997, “Multibody System Dynamics: Roots and Perspectives,” Multibody System

Dynamics, 1, 49–188.

Shabana A. A.., 2001, Computational Dynamics, Wiley, New York.

Shah, S. V., Mistri, B. D., and Issac, K. K., 2006, “Evaluation of Foot Ground Interaction Model

Using Monopod Forward Hopping,” Int. Con. on Recent Trends in Automation and its Adaptation

to Industries, India.

Shah, S. V., Saha, S. K., and Dutt, J. K., 2009, “Denavit-Hartenberg Parameters of Euler-Angle-

Joints for Order (N) Recursive Forward Dynamics,” ASME Int. conf. on Multibody systems,

Nonlinear Dynamics and control, USA.

Shih, C. L., Gruver, W. A., and Lee, T. T., 1993, “Inverse Kinematics and Inverse Dynamics for

Control of a Biped Walking Machine,” J. of Robotic Systems, 10(4), 531-555.

Shuster, M. D, 1993, “A Survey of Attitude Representations,” J. of the Astronautical Sciences,

41(4), 439-517.

Shuster, M. D., and Oh, S. D., 1981, “Three-Axis Attitude Determination from Vector

Observation,” J. of Guidance, Control and Dynamics, 4(1), 70-77.

Singla, P., Mortari, D. and Junkins, J. L, 2004, “How to Avoid Singularity for Euler Angle Set?,”

AAS Space Flight Mechanics Conf., Hawaii.

Stejskal, V., and Valasek, M., 1996, Kinematics and Dynamics of Machinery, M. Dekkar Inc.,

New York.

Stelzle, W., Kecskem´ethy, A., and Hiller, M., 1995, “A comparative study of recursive methods,”

Archive of Applied Mechanics. 66, 9–19.

Stewart G. W., 1973, Introduction to Matrix Computations, Academy press, Florida.

Stokes, A., and Brockett, R., 1996, “Dynamics of Kinematic Chains,” Int. J. of Robotics

Research, 15, 393-405.

Strang, G., 1998, Linear Algebra and its Applications, Harcourt, Brace, Jovanovich, Publisher,

Florida.

Sugihara, T., Nakamura, Y., and Inoue, H., 2002, “Realtime Humanoid Motion Generation

Through ZMP Manipulation Based On Inverted Pendulum Control,” IEEE Int. Conf. on Robotics

and Automation, 2, 1404-1409.

Uicker, Jr., J.J., 1965, On the Dynamic Analysis of Spatial Linkages Using 4 x4 Matrices, Ph.D.

thesis, Northwestern University, Evanston.

210

Page 241: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Vereshchagin, A.F., 1975, “Gauss Principle of Least Constraint for Modeling the Dynamics of

Automatic Manipulators Using a Digital Computer,” Soviet Physics - Doklady, 20(1), 33-34.

Vukobratovic, M., Borovac, B., Surla, D., and Stokic, D., 1989, Biped Locomotion: Dynamics,

Stability, Control and Application, Springer, Berlin.

Vukobratovic, M., Potkonjak, V., Babkovic, K., Borovac, B., 2007, “Simulation Model of

General Human and Humanoid Motion,” Multibody System Dynamics, 17(1), 71-96.

Walker, M. W., and Orin, D. E., 1982, “Efficient Dynamic Computer Simulation of Robotic

Mechanisms,” ASME J. of Dynamic Systems, Measurement and Control, 104, 205-211.

Wehage, R. A., and Haug, E. J., 1982, “Generalized Coordinate Partitioning for Dimension

Reduction in Analysis of Constrained Dynamic Systems,” ASME J. of Mechanical Design, 104,

247-255.

Wisse, M., Schwab, A. L., van der Linde, R. Q., and van der Helm, F. C. T., 2005, “How to Keep

from Falling Forward: Elementary Swing Leg Action for Passive Dynamic Walkers,” IEEE

Trans. on Robotics, 21(3), 393-401.

Wittenburg J., 2008, Dynamics of Multibody systems, Sprnger, Berlin.

Wong, C. W., & Yasui, K., 2006, “Falling chains,” American J. of Physics, 74(6), 490-496.

Yamaguchi, J., Soga, E., Inoue, S., and Takanishi, A., 1999, “Development of a Bipedal

Humanoid Robot – Control Method of Whole Body Cooperative Dynamic Biped Walking,” IEEE

Int. Conf. on Robotics and Automation, 368 – 374.

Yamane, K., and Nakamura, Y., 1999, “Dynamics Computation of Structure-Varying Kinematic

Chains for Motion Synthesis of Humanoid,” IEEE Int. Conf. on Robotics and Auto., 1, 714-721.

Yamane, K., and Nakamura, Y., 2006, “Stable Penalty-Based Model of Frictional Contacts,”

IEEE Int. Conf. on Robotics and Automation, 1904-1909.

Yamane, K., and Nakamura, Y., 2002, “Efficient Parallel Dynamics Computation of Human

Figures,” IEEE Int. Conf. on Robotics and Automation, 1, 530-537.

Yen, J., and Petzold, L. R., 1998, “An Efficient Newton-type Iteration for the Numerical Solution

of Highly Oscillatory Constrained Multibody Dynamic Systems,” SIAM J. on Scientific

Computing, 19(5), 1513-1534.

Yoshikawa, T., 1985, “Manipulability of Robotic Mechanisms,” Int. J. of Robotics Research, 4(2),

3–9.

Yu, Q., and Chen, I. M., 2000, “A Direct Violation Correction Method in Numerical Simulation

of Constrained Multibody Systems,” Computational Mechanics, 26(1), 52-57.

211

Page 242: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

212

Page 243: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Appendix A

CLOSED-LOOP SYSTEM

For the completeness of the dynamic formulation proposed in this thesis, dynamics of

robotic systems having closed topology called the closed-loop systems are outlined in this

appendix. In order to analyze a closed-loop system, it is first opened at appropriate joints

to form a tree-type system. The opened joints are substituted with suitable constraint

forces, ’s, also known as Lagrange multipliers, which are then treated as external forces

to the resulting open tree-type system. As a result, the problem is converted to a problem

of tree-type system with externally applied constraint forces. Hence equations of motion

can be represented as

F TIq Cq J (A.1)

where is the constrained Jacobian matrix (Nikravesh, 1988) for the closed-loop system,

and is defined in a way so that

J

Jq 0 . Moreover, is the vector of Lagrange multipliers

representing the constraint forces at the cut opened joints. There are several methods of

solving Eq. (A.1) as shown by Shabana (2001). However, concept of “determinate” and

“indeterminate” subsystems, as proposed by Chaudhary and Saha (2007), has been

proven to be more powerful and elegant approach in comparison with others for the

dynamic analyses of closed-loop systems.

In this appendix, it is shown how the algorithm presented in Chapters 6 and 7 for tree-

type robotic systems can be adopted to solve the closed-loop systems as well. The

213

Page 244: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

methodology is illustrated using an example of 1-DOF robotic leg (Ottaviano at el.,

2004), as shown in Fig. A.1.

The robotic leg is a 1-DOF approximate straight line mechanism (#0 #1 #3 #2) whose

motion is amplified by the pantograph mechanism (#0 #4 #5 #7 #6). Such a

mechanism was used as a device for carpet scrapping mechanism, as shown in Fig. A.2,

as reported by Saha et al. (2003). The results of inverse dynamics for the carpet scrapping

mechanism reported by Saha and Chaudhary (2009) will be used as a reference to validate

the proposed algorithm as well as the results generated for the robotic leg as an extension.

The robotic leg has 7 links and 10 joints and, thus, it has 10 7=3 independent loops.

Hence in order to convert it into a tree-type system it has to be opened at three joints. In

order to cut the closed-loop system, its graph representation is drawn in Fig. A.3, where

the links or bodies are indicated with circles while the lines joining the circles indicate

joints. The joints to be cut are then identified using the concept of Cumulative DOF

(CDOF) in graph theory (Deo, 1974), which is defined as the total DOF of all the joints

Fig. A.1 A robotic leg

#0

1

#2

#3

#1

#4

#5

#6 #7

2

3

4 5

6

7

8

9, 10

m

Fig. A.2 A carpet scrapping mechanis

#1

#2

#4

#0

#0

#5

#6#7

#3

1 2

8

3

7

6

5 4

9, 10

214

Page 245: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

lie between the base link (#0) and a link (say kth

) of the system along any path. The path

giving minimum CDOF is chosen as the way for cutting a close-loop system. Based on

the minimum CDOF, the graph in Fig. A.3 is cut at joints 8, 9 and 10. The resulting tree-

type system is shown in Fig. A.4, where subsystem-I has one link, subsystem-II has two

links and the tree-type subsystem-III has four links. The module architecture of the

system is shown in Fig. A. 5.

Fig. A.3 Graph representation of the robotic leg

#0

#2 #3 #7

#4

#5

#6

#1

1

2

3

4

5

6

7

10

98

Fig. A.5 Module architecture of the robotic leg

1

2

3

#0

M2

M3

M4

M5

#11

M1

#12

#22

#13

#14

#15

#25

15

25

14

121

1

13

22

D

Fi g. A.4 Tree-type representation of robotic leg

1

2

3

Subsystem I

Subsystem II

Subsystem III

D

215

Page 246: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

A.1 Inverse Dynamics

Once the tree-type system is formed, the “determinate” and “indeterminate” sub-systems

are identified using the methodology provided by Chaudhary and Saha (2009). Referring

to Fig. A.5, subsystem-I has only one hinged link. Hence, it will have one constrained

equation of motion. However, it has three unknowns, i.e., two components of the

constraint forces at the cut joint denoted by 1, and the driving torque ( D). As a result,

subsystem-I is an indeterminate subsystem. Similarly, subsystem-II has two constrained

equations of motion with four unknowns, i.e., two components of 1 and 2 each. Hence,

it is also an indeterminate subsystem. On the other hand, subsystem-III has four

constrained equations of motion with four unknowns, i.e., two components of 2 and 3

each. Hence, it is a determinate subsystem because the four constraint equations of

motion allow one to solve for all four unknown of the constraint forces due to the cut at

the joints 9 and 10. So, the subsystem III is solved first. With four components of 2 and

3 together known, the subsystem-II becomes determinant which will allow to solve for 1

from its two constrained dynamic equations of motion. Finally, with the knowledge of the

two component of 1, the driving torque ( D) can immediately be computed from the only

constrained equation of motion for determinant subsystem-I. This way, a subsystem-level

recursion was formed and this makes the resultant algorithm computationally very

efficient (Chaudhary and Shah, 2009). The following steps explain the algorithm:

The three independent loops (Fig. A.1) for the robotic leg are identified as (1-2-3-8-

1), (2-3-9-4-2), and (4-5-6-7-10-5-4). Based on the three loop-closer equations, the

kinematic constraint are obtained in the form Jq 0 as

216

Page 247: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

,1 ,2

,1 ,2

I I I

II II II

III III

J J O q 0

O J J q 0

O O J q 0

(A.2)

where , , , , ,1IJ ,2IJ ,1IIJ ,2IIJ IIIJ are of sizes 2×1, 2×2, 2×2 , 2×4 and 2×4

respectively.

Using Eq. (A.1-2), the equations of motion for the tree-type determinate subsystem-III

can be written as

,2 2 3 , whereT T

II III III III III IIIJ J I q CF

III III IIIq (A.3)

In the above equation III is known from the input joint motions and is

calculated subsequently.

2 3[ ]T T T

III

Knowing the , subsystem-II becomes “determinate”. Hence 1 is calculated from

the following equation of motion:

2

,2 1 ,1 2 , whereJ J I qT T

I II II II I C q F

I II II II II

I q C qT F

(A.4)

Knowing the 1 the subsystem-I becomes “determinate”. As a result, the driving

torque is calculated using the only equation of motion which is

,1 1, whereJ D I I I I I I I I (A.5)

The model parameters of the robotic leg are given in Table A.1. The input motion

provided was one complete rotation of the input link #11 with angular velocity of 270

deg/sec. Numerical values for the torque at the actuated joint (11) is calculated using Eq.

(A.5). The result for the joint torque is shown in Fig. A.6. It may be noted that

, , and III II I in Eqs. (A.3-A.5) were obtained using the proposed recursive inverse

dynamics algorithm, as shown in, in Table 6.1 of chapter 6.

217

Page 248: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Table A.1: Model parameters of the robotic leg

Mass (gms) Length (mm)

11 10 25

12 20 62.5

22 50 125

13 80 200

23 30 75

33 120 300

43 60 150

Fig. A.6 Torque require at joint 11

0 0.2 0.4 0.6 0.8 1 1.2 1.4

-30

-25

-20

-15

-10

-5

0

5

10

t (sec)

Drivin

g t

orq

ue

(N

mm

)

1

1

A.2 Forward Dynamics

Conventionally (Shabana, 2001) forward dynamics of closed-loop system solves

independent accelerations ( ) and constraint forces ( ) together by combining the

equations of motion in (A.1), and the second order derivative of the constrained equations

in the form of . They are shown as

q

G Cq

Jq Jq

, where T qI J

- JqJ O (A.6)

The formulation in Eq. (A.6) is popularly known as Differential Algebraic Equations

(DAE) formulation. Using Eq. (A.6), and can be solved simultaneously, and requires q

218

Page 249: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

order (133) computations as the system has 7 unknown for q and 6 unknown for .

Alternatively, can be obtained first after rearranging Eq. (A.6) as

1 1S (JI Jq 1, where T

I IS JI J

1 T

(A.7)

Next, the solution of the joint accelerations is obtained as

(A.8) q I (J

As a result, solution of ’s requires a maximum of order (63) computations, whereas the

joint accelerations were solved recursively using the forward dynamics algorithm

proposed in Table 6.2, which requires order (7) computations. Here, the latter approach

was followed to take the advantage of recursive forward dynamics algorithm of Chapter 6

even for a closed-loop system.

Simulation results of actuated joint angle ( 11) for the robotic leg are given in Fig. A.7 by

using the torque obtained in Fig. A.6 as a solution of the inverse dynamics problem.

Comparison of the joint angle with the desired one is also shown in Fig. A.7. The error

between the desired and the actual joint angle is found to be small, as shown in the Fig.

A.8. Hence, the correctness of the results is validated.

Fig. A.7 Simulated joint angle (Input link)

0 0.5 1 1.5-7

-6

-5

-4

-3

-2

-1

0

time (s)

Actu

ate

d jo

int

an

gle

(d

eg

)

Desired

Actual

Fig. A.8 Error in joint angle

0 0.5 1 1.5-5

0

5

10x 10

-3

err

or

in a

ctu

ate

d jo

int

an

gle

time (s)

219

Page 250: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

220

Page 251: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Appendix B

COMPUTATIONAL COMPLEXITY

In this appendix, vectors and matrices associated with the kth

link, e.g., vector tk or matrix

Mk, are represented in the frame attached to link k and referred to as the kth

frame.

However for brevity as well as simplicity of writing, the frame of reference will not

explicitly be mentioned. If a vector or matrix is represented in the frame other than kth

frame, say the jth

frame, it will then be expressed as [rk]j or [Mk]j.

B.1 Elementary Computations

Computations of the terms , , and (T

k k k k k k )e e r e r are shown in this section. For this, the

3-dimensional vector ek denoting the unit vector along the axis of rotation or translation

of a joint is represented in the body-fixed frame as 0 0 1T

ke . Hence, for a scalar

joint rate k n the 3-dimensional vector a d 1k krr terms

,e k k

2kr 3

T

kr , the

), and (e r e rT

k k k k lculated as are ca

2

3 1

0

0 (0M0A), (0M0A), (0M0A)

0

e e r e r

k

T

k k k k k k k k

k

r

r r (B.1)

The numbers within the parenthesis, i.e., (0M0A), denote the numbers of

Multiplications/Divisions (M) and Additions/Subtractions (A) required to compute the

expressions.

221

Page 252: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

B.2 Representation of Vector in a Different Frame

A rotation matrix Qk (representing rotation between kth

and jth

frame where j is the parent

of k) when considered as two successive rotations about X- and Z- axes, can be

represented by using Eq. (3.4) as

1 0 0

0 0

Q =Q Qk kk k

k k

C

C S S

S C

0

0 0

0 1

k k

k k k

S

C

wherek k

k k

k k k

r

r r Q r

1)

wherek k

T

k j

T T

(B.2)

A vector rk can then be represented in jth

frame as

[ ]k jr Q

Q (B.3)

where and are computed as follows krk kQ r

1 1 2 1

2 1 2 2 3

3 3 2 3

(4 2 ); 2) (4 2 )k

k k k k k k

k k k k k k k k k k k

k k k k k k

r r C r S r

r r S r C M A r C r S M A

r r r S r C

r = Q r (B.4)

So, the transformation requires computational count of 8M4A. Similarly, one may

also represent vector rj in kth

frame as , i.e.,

k kQ r

T

k jQ r

[ ]j k

j j j

r

r r Q r

r Q

Q (B.5)

where jr and k

T

jQ r are computed as follows

1 1 1 2

2 2 3 1 2

3 2 3 3

(4 2 ); 2) (4 2 )

j j j k j k

T

j j j k j k k j j k j k

j j k j k j

r r r C r S

r r C r S M A r S r C M A

r r S r C r

r = Q r1) (B.6)

222

Page 253: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

In the case of multiple-DOF universal or spherical joints, is typically taken as 90o, i.e.,

joint axes intersecting orthogonally. Hence, r does not require any computation.

B.3 Representation of Matrix in a Different Frame

A 3×3 matrix Fk can be represented in the jth

frame as

[ ]F Q F Q

Q F Q k k

T

k j k k k

where F Q F Qk k

T T

k k k

(B.7)

Note that in Eq. (B.7), the 3×3 rotation matrix Qk denotes the orientation of the kth

frame

with respect to jth

where j is parent of k. Moreover, Qk

and Qk

have the same

representations as given in Eq. (B.2). Equation (B.7) is computed in the following two

steps:

Step 1: Computation of F Q F Qk k

T

k k

11 1 12 2 13 23

21 2 22 1 13 23

31 32 31 32 33

1 1 1 2 2 2 1 2 2 1 1 11 22 2 12 21

1 2

(8 8

where

, ( ), (

, (2 0 )

F

=

k k

k k

k k k k

k k k k

f d f d f C f S

f d f d f S f C M

f C f S f S f C f

d b t b t d b t b t b f f b f f

t S S t C S M A

)

) (4 4 )

k A

M A

(B.8)

In Eq. (B.8), the term rsf is the (r, s)th

element of matrix Fk.

Step 2: Computation of [ ] F Q F Qk k

T

k j k

8 )

) (4

11 12 13 12 13

21 31 22 1 23 2

21 31 32 2 33 1

1 1 1 2 2 2 1 2 2 1 1 22 33 2 23 32

[ ] (8

where

, , ( ), (

F

k k k k

k j k k

k k

f f C f S f S f C

f C f S f d f d

f S f C f d f d

d b t b t d b t b t b f f b f f

1 2, (0 0 ) (off - line) = k k k k

M A

4 )M A

t S S t C S M A

(B.9)

223

Page 254: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

In Eq. (B.9), the term rsf is the (r, s)th

element of matrix Fk. The terms in Eq.

(B.9) may be computed offline as k is the constant DH parameter. Computation of Eqs.

(B.8) and (B.9) need computational counts of 14M12A and 12M12A, respectively, and

the total count of 26M24A is required for calculation of [ . In the case of multiple-

DOF universal or spherical joints, the angle between the intersecting revolute axes are

90o, so, Eq. (B.9) does not require any computation as it is simply

1 andt 2t

12

32

22

; (0 0 )

f

] jFk

11 13

31 33

21 23

[ ]F k j

f f

f f f M A

f

)

) (4 3 )

1; (4 1 )

M A

M A

A

f f (B.10)

If Fk is a symmetric matrix, then and [ are obtained as shown below: Fk ]Fk j

11 1

2 22 1

31 32 31 32 33

1 1 1 21 3 2 1 2 21 4 1 11 22

1 2 3 2 4 1

(4 4

where

, , (

, 2 2

F

=

k

k k k k

k k k k

f d sym

d f d

f C f S f S f C f

d b t f t d b t f t b f f

t S S t C S t t t t M

(B.11)

11

21 31 22 1

21 31 2 33 1

1 1 1 32 3 2 1 2 32 4 1 22 33

1 2 3 2 4

[ ] (4 4 )

where

, , ( ) (4 3 )

, 2 2

F

=

k j k k

k k

k k k k

f sym

f C f S f d M A

f S f C d f d

d b t f t d b t f t b f f M A

t S S t C S t t t 1 1; (0 0 ) (off - line) t M A

(B.12)

Equations (B.11) and (B.12) require computational counts of 12M8A and 8M7A,

respectively. As a result, total computational count require for calculation of is

20M15A. Moreover, if is constant then the computational count is 16M14A. In the case

of multiple-DOF joints with k=90, Eq. (B.12) is simply

[ ]Fk j

224

Page 255: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

11

31

21

[ ]k j 33

32 22

(0 0 )F

f sym

f f M A

f f f

andk

j

k

(B.13)

B.4 Spatial Transformations

The 6×6 matrix (where j is the parent of k) in Eq. (4.3) represents the twist-

propagation matrix whereas in Eq. (5.6) is the 6-dimesional wrench vector. Matrix

and vector have following representation:

,k jA

kw

kw

,k jA

,

,

k j

k j

nA w

1 f

is

] whe

1

a 1 (B.14)

In Eq. (B.14), ,k ja 1 the cross-product tensor associated with the vector

, [k ja re ak and bk are the DH parameters, which are the link

length and the joint offset, respectively. The tensor ,k j

k kb C T

k k ka b S ,

a en operates on any 3-

dimensional Cartesian vector, x, results in a cross-product vector, i.e., ,k ja x tensor

,k ja 1 e following representation:

1 wh

The

0

0

k k k k

k k

k k k

b C b S

a

a

,

.

has th

,

0

k j kb C

b S

]

,( )Tk kk j

k k

a 1 (B.15)

If matrix and vector w are available in jth

and kth

frame, respectively, the

transformation in the jth

frame may be calculated as

,k jA k

,[ T

k j k jA w

,[ ]T

k j k j

Q n1 a 1

Q fO 1A w (B.16)

The above equation is written as

225

Page 256: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

,( )Tkj k

kk

,[ ]T k k

k j k j

n1 Q

fQ

k k

k

Q aA w (B.17)

Now, Eq. (B.17) can also be rewritten as

,

( ) ( )[ ] k k k

k k

T T

k kT

k j k j

n

f

) )

k

k

Q a 1 Q Q b 1 QA w

O Q O Q (B.18)

In Eq. (B.18), and ( are cross-product tensors associated with the vectors

and . Moreover, matrices

( ka 1

0]T

kb 1

[0 0k[ 0k kaa ]Tbb

( ) ( ) and k k k

k k

T T

k kQ a 1 Q Q b 1 Q

O Q O Q

( )

( )

k k

k

k k

k

T

k k

k k

T

k

k

may be interpreted as planar screw transformation (Featherstone, 1987) about X and Y

axes, respectively. Now Eq. (B.18) is computed in two steps as

,

1)

2) [ ]

k

k

kT

k j k j

1 Qn n

f f

1 Q n

fO Q

( )k k

k

T

k k k

k

b 1 Q f

Q f

Q b w

O Q

Q a A w

(B.19)

These two steps are explained below:

Step 1: Computation of wk

k

Q nw

(B.20)

Equation (B.20) is computed as

226

Page 257: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

1 2

1 2

3

1

2

3

1 1 2 2 1 2

( )

(0 0 )

where ,

Q n b 1 Q f

Q f

k k

k

k k k k k

T

k k k k k k k k

k

k

k

k k k k k k k

n C n S b h

n S n C b h

h

h M A

f

h f C f S h f S f C

2

1 (6 4 )

(4 2 )

k

M A

M A

( )k k

k

T

k k k

k

(B.21)

Step 2: Computation of ,[ ]T

k j k jA w

,[ ]T

k j k j

Q n a 1 Q f

Q f

2

1

(6 4 )

(4 2 )

k

M A

M A

A w

(B.22)

Eq. (B.22) is computed as

1

2 3

2 3

1

1

2

1 2 3 2 2 3

( )

(0 0 )

where ,

Q n a 1 Q f

Q f

k k

k

k

T

k k k k k k k k

k k k k k

k

k

k k k k k k k

n

n C n S a h

n S n C a h

f

h M A

h

h f C f S h f S f C

(B.23)

Steps 1 and 2 require computational cont of 10M6A each and hence a total computational

count of 20M12A is required to find ,

T

j k jA w in the kth

frame. Similarly, it may also be

shown that computational count to find out , ][A tj k k j is 20M12A, where is the 6-

dimensional twist vector as defined in Eq. (4.2).

kt

B.5 Some Special Computations

The linear acceleration ( ) of the kth

link in terms of its parent link, j, is obtained as ko

, ,[ ( )]j k j j j kaT

k k j jo Q o a

(B.24)

227

Page 258: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

where j and j are the 3-dimensional vectors of angular velocity and angular

acceleration, respectively, of the jth

link. Equation (B.24) may also be rewritten as

, where ) ( )(T

k k j j j k j j jo Q o a 1 1 )j 1

a

(B.25)

In Eq. (B.25), and re the cross-product tensors associated with j 1 j 1 j and j

spectively. The term is computed efficiently as follows: , re

23

11

(0M9A)

33 22 3 12 2 13

3 12 33 11 1

2 13 1 23 22

(B.26)

where 13 1 3 23 2 3 13 1 3 11 1 1 22 2 2 33 3 3, , , , , (6M0A) .

Moreover, s and s , for s=1,…,3, are the sth

element of the vectors, j and j ,

respectively. Hence, requires a computational count of 6M9A, whereas computation

of requires a computational count of 17M13A. ko

Next, the Euler equations of motion (as obtained in Eq. 5.4) for the kth

link is given as

k k k n I k k k k k kmI d o

15 15 )M A

(B.27)

In Eq. (B.27), is efficiently computed as k k k k kI I

1 11 31 12 21 13 23 22 33 23 23

2 22 21 23 32 12 13 33 11 31 13

3 33 23 13 13 23 12 11 22 12 12

( )

( ) (

( )

k k k k k

i i i i p

i i i i p

i i i i p

n I I

(B.28)

23 22 33 31 33 11 12 11 22where ( ), ( ), and ( )p i i p i i p i i

rsi rs

, which are constant terms and

may be calculated offline. Moreover, and are the (r,s)th

elements of the matrices

and , respectively. Note that, matrix kI is already computed while obtaining the

228

Page 259: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

linear acceleration as in Eq. (B.26). Hence, the computation of requires total

computational count of 21M21A.

kn

B.6 Mass Matrix of Composite Body

The mass matrix of composite body is expressed as

, ,

T

j j k j k k jM M A M A (B.29)

where jM , jM and have the following representations: ,k jA

,

,

( 1), ,

1

I d 1 IM M

d 1 1 a1

Tj j j j j

j j

j j j kj j

m

m m m

1A

j 1k j (B.30)

where and are the cross-product tensors associated with vectors and jd 1 1j kdj,

respectively. In Eq. (B.29), solving in jth

frame of reference is

computationally very expensive step as is available in the kth

frame of reference. The

transformation, in the jth

frame is obtained as

,

T

k j k k jA M A

k

,

,

1

M

,

T

k j kA M k jA

,

, ,

,

( )( 1)[ ]

( )

Q I Q Q 1 Q1 aA M A

Q 1 Q Q 1QO 1

T TT

T k k k k k kk j

k j k k j j T Tk jk k k k k km 1

1

a

T

(B.31)

Equation (B.31) may also be rewritten as

,

, ,

,

( 1) ( )[ ]

( 1( )

QQ a Q I 1A M A

Q a QO Q 1 1

TT TkT k k j k k k

k j k k j j T

k k j kk k km ) T

k

T

(B.32)

The above equation is now expressed in terms of planar screw transformation about X

and Y axes as

, ,[ ]

( 1) ( 1) ( )

( 1) 1)( )

A M A

Q a Q Q b Q QI 1

O Q O Q Q b Q Q Q1 1

k k k k k k

k k k k

T

k j k k j j

T T T TTk k k k

T T

k km (

Q

ak

T

k k

(B.33)

229

Page 260: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Equation (B.33) is then obtained in two steps as shown below:

, ,

( 1)( ) ( )

( ) ( ) ( 1)

( 1) ( )]

( )

k k k

k k

k k k

k

T TT Tkk k k k

k T T

k k k k k

T TTkT k k

k j k k j j

k k

m m

m

Q b Q QI 1 I 1

1 1 O Q 1 1 Q b Q

Q a Q QI 1A M A

O Q 1 1 ( 1)k k

T T

kQ a Q

k

1)

2)[

M

(B.34)

These above steps are expanded below:

Step 1: Computation of jM

( )

( )

( ) ( 1) ( 1) ( ) ( 1)

( ) ( 1)

k k k k k k k k

k k k k k k

T

k k

k k

T T T T T T

k k k k k k k

T T T

k k k k

m

m sym

m m

I 1

1 1

Q I Q Q 1 Q b b Q 1 Q Q 1Q b

Q 1 Q Q 1Q b Q 1Q

kM

(B.35)

The transformation k

Q is obtained by using Eq. (B.11), whereas

k kmQ 1Qk

T= 1 ation of

k k

T

k

k

. Comput

T

kI Q

k k kmQ = 1 as k

T T

km= Qk

Q Q Q I Q anT

1Q

unts of 12M8A and 0M0A, respectively. Moreover, ( )k k

T

kQ 1 Q is

ntly as follows:

d

d efficie

) (4 2 )k

k kkmQ

require, co

obtaine

( ) (k k

T

k k M A1 Q 1 Q = Q (B.36)

The block elements of Eq. (B.35) are obtained as

11 2 12 13 1 1 2

22 2 23 2 1 1

33 2 1

1 3 3 2 1 3 3

0

(2 4 ); ( ) 0 (0 0 )

0

ere , ( ) (1 2 ) and (0 0 ) (off - line)

I 1

k

k k k

k k k

i c i i b c

i c i b M A c M A

sym i

c c c c b M A c m b M Awh

(B.37)

In Eq. (B.37), irs and s are the (r,s)th

and sth

elements of the matrix k

T

k kQ I Q and vector

, respectively. The total computational count for step 1 is 19M16A. k kQ

230

Page 261: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Step 2: Computation of , ,[ ]T

k j k k j jA M A

, ,[ ]

( ) ( 1) ( 1) ( ) ( 1)

( ) ( 1)

k k k k k k k k

k k k k k k

T

k j k k j j

T T T T T T

k k k k k k k

T T

k k k

m s

m m

A M A

Q I Q Q 1 Q a a Q 1 Q Q 1Q a

Q 1 Q Q 1Q a Q 1QT

k

ym

k

(B.38)

In Eq. (B.38), k

T

kQ I Q

Q 1

k

is obtained using Eq. (B.12) and has computational count of

8M7A, whereas requires no computations. Moreover

is obtained as

(0 0 )k k

T

k km m MQ = 1 A

( ) (4 2 )kk k

( )k

T

kQ 1 Q

( )k k

T M AQ 1

1)k

Q 1 Q = (B.39)

Now, the block elements of Eq. (B.38) are given by

11 12 2 13 3

22 2 23

33 2

3 2

3 1

( ) ( 1) ( 1) ( ) (

(2 4 )

( ) ( 1)

0

0

k k k k k k k k

k k k k

T T T T T T

k k k k k k

k k

T T

k k k

m

i i a i a

i c i M A

sym i c

m

c

Q I Q Q 1 Q a a Q 1 Q Q 1Q a

=

Q 1 Q Q 1Q a

=

2 1

1 3 1 2 1 1 3

(0 0 )

0

where , ( ) (1 2 ) and (0 0 ) (off - line)k k k

M A

c

c c c c a M A c m a M A

(B.40)

In Eq. (B.40), and rsi s

T

are the (r,s)th

and sth

elements of the matrix and

vector , respectively. Computational count for step 2 is obtained as 15M15A.

Hence, the total count required for is 34M31A. In the case of a prismatic

joint it would have required a computational count of 31M30A instead. Finally, the

computation of M A

k

T

kQ I Qk

]

k kQ

, ,[A M AT

k j k k j j

, ],[ M Aj k j k k j j has a computational count of 0M9A for the

summation. So the final computational count to obtain jM is 34M40A.

231

Page 262: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

B.7 Mass Matrix of Articulated Body

The mass matrix of articulated body is expressed as

, , ,ˆ ˆ , whereM M A M A

T

,ˆ ˆ M Mj j k j k k k j k k k k (B.41)

The matrices ˆjM , and in Eq. (B.41) have the following representations: ,

ˆk kM

,

ˆ ˆ

ˆˆ

T

kk kk

k

kk kk

ˆ ˆˆ ˆ and

ˆˆ

T

j j

j k

j j

I F

F G

,

,

I FM M

F G (B.42)

In Eq. (B.41), solving in j

th frame of reference is computationally a very

expensive step as M is available in the kth

frame. The term in the jth

frame is obtained as

, ,ˆT

k j k k k jA M A

,k kˆ

, ,ˆT

k j k k k jA M A

,

, , ,

,

ˆ ˆ( 1)ˆ[ ]ˆ 1ˆ

1Q I Q Q F Q1 aA M A

a 1O 1 Q F Q Q G Q

T T TTk kk k k k kT k j

k j k k k j j T Tk j

k kk k k kk k

(B.43)

Similar to Eq. (B.31), the above equation may also be represented in terms of planar

screw transformations as

, , ,ˆ[ ]

ˆ ˆ( 1) ( 1)

ˆˆ ( 1) ( 1)

A M A

Q a Q Q b Q Q QI F

O Q O Q Q b Q Q a QF G

k k k k k k

k k k k k

T

k j k k k j j

T T T TTk k kk kk

T T T T

k kkk kk k

(B.44)

Equation (B.44) is then solved in two steps as

,

, , ,

ˆ ˆ ˆ ˆ( 1)ˆ1)

ˆ ˆˆ ˆ ( 1)

ˆ ˆ( 1)ˆ2)[ ]

ˆˆ

Q b Q QI F I F M

O Q Q b QF G F G

Q a Q QI FA M A

O Q QF G

k k k

k k

k k k

k k

T TT Tkkk kk kk kk

k k T T

kkk kk kk kk

T TTk kk kkT

k j k k k j j T

kk kk( 1)a Q

k

T

k

k

(B.45)

These above two steps are expanded below:

232

Page 263: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Step 1: Computation of ,ˆ

k kM

,

( 1) ( 1) ( 1)ˆ

ˆ ˆˆ ( 1)

k k k k k k k k

k k k k k k

kk kk k k kk kk k

k kT T

kk kk k kk

symQ I Q Q F Q b b Q F Q Q G Q bM

Q F Q Q G Q b Q G Q

ˆkkI ˆ

kk

ˆˆ ˆ ˆT T T T T T

T

0 0

ˆ ˆ0 and 0

0

kkF =

k k

(B.46)

In Eq. (B.46), and G are the symmetric matrices. For the kth

joint being revolute,

matrices and have the following forms of representations: ˆkkI Fkk

0 0 0

kkI = (B.47)

where ‘ ’ denotes non-zero value of elements. In order to compute Eq. (B.46), first

is obtained by using Eq. (B.8), whereas T

Qˆk kkQ F ˆ

k

T

kkQ I Q and ˆk

T

kk kQ G Q are obtained

by using Eq. (B.11). Many computations in ˆk kk k

TQQ I and ˆ

k kk k

TQQ F simplify for and

because they have many zero elements as indicated in Eq. (B.47). The

transformations

ˆkkI

ˆkkF

ˆk k

T

kkQ F Q , and ˆk

T

kkQ I Qk

ˆk kk k

TQ G Q have the following representations:

11 12 11 12

12 22 21 22

31 32

11 12 13

22 23

33

0 0

ˆ ˆ0 (8M6A), 0 (8M10A

0 0 0 0

ˆand (8M7A)

k k k k

k k

T T

kk kk

T

kk

i i f f

i i f f

f f

g g g

g g

sym g

Q I Q = Q F Q =

Q G Q =

),

3 )k M A

(B.48)

Given Eq. (B.48), the block elements of Eq. (B.46) are obtained below:

11 4 21 12 2 22

22 3 12

2 3

4 22 1

31 23 32 13

1 12 2 11 1 3 12 11 4 21 22

( ) ( ) 0

ˆ ( ) 0 ; (3 6 )

0

0

ˆ 0 ; (2 3 )

0

where , , , (3

k k

kk k

kk

k k

k k

i c f b i c f b

i c f b M A

sym

c c

c f c M A

f b g f b g

c b g c f c c f b g c f b g

I

F

(B.49)

233

Page 264: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

The total computational count for step 1 is 32M35A. Next, step 2 is evaluated.

Step 2: Computation of [ ] , , ,ˆA M A

T

k j k k k j j

T

k k

, , ,ˆ[ ]

ˆˆ ˆ ˆ( 1) ( 1) ( 1)

ˆ ˆˆ ( 1)

A M A

Q I Q Q F Q a a Q F Q Q G Q a

Q F Q Q G Q a Q G Q

k k k k k k k k

k k k k k k

k j k k k j j

T T T T T T

kk kk k k kk kk k

T T T

kk kk k kk

sym (B.50)

Here, is obtained by using Eq. (B.9), whereas ˆk

T

kkQ F Q ˆk

T

kkQ I Q and are

obtained by using Eq. (B.12). The representations and computational complexity of the

transformations , and

ˆk k

T

kkQ G Q

ˆk k

T

kkQ I Q ˆk

T

kkQ F Qk k

ˆk

T

kkQ G Q are shown below:

11 12 13 11 12 13

22 23 21 22 23

33 31 32 33

11 12 13

22 23

33

ˆ ˆ (4M1A), (10M6A),

ˆand (8M7A)

k k k k

k k

T T

kk kk

T

kk

i i i f f f

i i f f f

sym i f f f

g g g

g g

sym g

Q I Q = Q F Q =

Q G Q =

(B.51)

Now, the block elements of Eq. (B.50) are obtained as

11 12 31 13 21

22 32 4 23 22 2

33 23 3

ˆˆ ˆ ˆ( 1) ( 1) ( 1

( ) ( ) ; (5 8 )

( )

ˆˆ (

k k k k k k k k

k k k k

T T T T T T

kk kk k k kk kk k

k k

k k

k

T T

kk kk

i i f a i f a

i f c a i f c a M A

sym i f c a

Q I Q Q F Q a a Q F Q Q G Q a

=

Q F Q Q G Q

11 12 13 13 12

21 22 1 3

31 4 2

1 23 2 33 1 3 23 22 4 32 33

1)

; (2 3 )

where , , , ; (3 3 )

k

k k

k k

f f g a f g a

f f c c M A

f c c

c g a c f c c f g a c f g a M A

a

=

)

k

]

(B.52)

The computational count for step 2 is obtained as 32M28A. Hence, the total

computational count to compute (i.e., step1+step2) is 64M63A. The , , ,ˆ[A M A

T

k j k k k j j

234

Page 265: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

proposed computational count is little better than that obtained by McMillan and Orin

(1995), who reported the count to be 70M71A. If the kth

joint is prismatic, the

computational count will be 60M62A as k is constant. Finally, a computational count of

0M15A is required for summation , , ,ˆ[M A M A

T ]j k j k k k j j . So, the final count to obtain ˆjM

is 60M77A

B.8 Recursive Algorithms for Fixed-base Systems

Computational count for the different steps of recursive inverse and forward dynamics

algorithms, obtained in Tables 6.1 and 6.2, are given in Tables B.1 and B.2, respectively.

Table B.1 Computational count for recursive inverse dynamics of fixed-base system

Forward recursion: For k=1: , r=1: k (Given Ik , dk, mk, mkdk, ) ( ),k ka

For r=1 Counts For r=2: k Counts

, jj k j jt A t p 1j j j

1 jt t p

( )

T

j j j j jQ e 8M5A1

T

j j j j jQ e 4M3A

( ) ( ) ( ),( )T

j j j j k ko Q o a -1

T

j j jo Q o -

2

, ,j jj k k j j j j jt A t A t p p 1

j j j j j j jt t p p

( )

T

j i j j j j j jQ e e 10M7A 1

T

j i j j j j j jQ e e 6M5A

( ) ( ) ( ),( )T

j i j j k ko Q o a 1

T 17M13Aj j jo Q o 4M2A

For r= k For r=1:( k-1)

3 j j j j

i6M9A

0 -

4

* *;k k j j k k j j kw M t M E t w w j w 0

k j j k jn I I 15M15A n 0 -

j k k jmn n d o j6M6A n 0 -

j k j j k km mf o dj

12M9A f 0 -

Backward recursion: For k= :1, r= k:1

For r= 1 For r= k:2

1

T

j j jp wT

j j jp w

T

j j je nT-

j j je n -

2

,j j

T

k jw w A w1

j jw w

,

T

k jA w 1 (Eq. B.16) 20M12Aj j jn Q n 4M2A

,j

T

k jw A w1j j jf Q f

0M6A 4M2A

Total 94M82A + 22M14A( k-1)

Note: 1) If parent of a link is fixed then only 13M7A counts are required instead of 94M82A.

2) ++ not required in the algorithm and hence no computations.

235

Page 266: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Table B.2 Computational count for recursive forward dynamics of fixed-base system

Backward recursion: For k= :1, r= k:1

For r=1 Counts For r= k:2 Counts

1

ˆˆj j j

M p ˆˆj j j

M p

,

ˆˆj t j jI e -

,ˆˆ

j t j jI e -

,

ˆˆj b j

F ej

- ,

ˆˆj b j

F ej

-

2

ˆˆ T

j j jm p

ˆˆ T

j j jm p

,

ˆˆ T

j j j tm e

- ,

ˆˆ T

j j j tm e -

3

ˆ ˆ/j j jm

ˆ ˆ/j j jm

, ,

ˆ ˆj t j t jm 2M0A++

, ,ˆ ˆ

j t j t jm 1M0A

, ,

ˆ ˆj b j b jm

3M0A

, ,ˆ ˆ

j b j b jm 3M0A

4

ˆ T

j j jp j ˆ T

j j jp j

,

ˆ T

j j j je t 0M1A

,ˆ T

j j j je t0M1A

5

ˆ ˆj j jm

1M0A ˆ ˆ

j j jm 1M0A

6

,ˆ ˆ ˆ T

j j j jM M j

,ˆ ˆ ˆ T

j j j jM M j

, ,

ˆ ˆ ˆI IT

j j j j t j t, ,3M3A

, ,ˆ ˆ ˆI I

T

j j j j t j t1M1A

, ,

ˆ ˆ ˆG GT

j j j j b j b, , 6M6A

, ,ˆ ˆ ˆG G

T

j j j j b j b

6M6A

, ,

ˆ ˆ ˆF FT

,j j j j b j t ,6M6A

, ,ˆ ˆ ˆF F

T

j j j j b j t3M3A

7

ˆj j j j

ˆj j j j

, ,

ˆj t j t j j t,

2M3A , ,

ˆj t j t j j t,

1M2A

, ,

ˆj b j b j j b,

3M3A , ,

ˆj b j b j j b,

3M3A

8

, , ,ˆ ˆ ˆ

j j

T

k j j kM M A M A

,

ˆ ˆj j jM M

, , ,

ˆT

k j j kA M A 64M63A

j jM 24M23A

, , ,

ˆ ˆ ˆj j

T

k j j kM M A M A

15A

9

,j

T

k jA

20M12A j j

8M4A

Forward recursion: For k=1: , r=1: k

For r= 1 For r=2: k

1

, jj kA 20M12A jj

8M4A

2

T

j j j j T

j j j j

, , , ,( )T T

j j j t j t j b j b5M6A

, , , ,( )T T

j j j t j t j b j b4M5A

3

j j j jp + j j j jp +

, ,

+j t j j je

t0M1A

, ,+j t j j je

t0M1A

, ,j b j b

- , ,j b j b

-

Total 135M131A + 63M53A ( k-1)

Note: 1) For the terminal link (link with no child) only 19M8A counts are required instead of 135M131.

2) ++The last element of is always identity, i.e., ,j t , [ 1 T

j t ]

236

Page 267: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Note that, in Table B.2, wherever required, a 6-dimensional vector, say, j , was

represented as

,

,

j t

j

j b

(B.53)

where ,j t and ,j b represent top and bottom three elements, respectively, of j .

The computational count for recursive inverse and forward dynamics of the kth

link

connected by a multiple-DOF joint is summarized in Table B.3.

Table B.3 Summary of computational count for the kth link

Inverse dynamics

94M82A+22M14A( k-1)

Forward dynamics

135M131A+63M53A( k-1)

Joint type Joint type

1-DOF

k =1

2-DOF

k=2

3-DOF

k=3

1-DOF

k =1

2-DOF

k=2

3-DOF

k=3

Count per joint (CPJ) 94M82A 116M96 138M110A 135M131A 198M184 261M237A

Count per DOF

(CPJ/ k)

94M82A 58M48 135M131A 99M92A 87M79A 2

346 36M A

It may be concluded from table B.3 that if a system consists of total number of n1, n2 and

n3 joint variables associated with 1-, 2- and 3-DOF joints, then the computational count of

recursive inverse and forward dynamics algorithms are obtained as

For inverse dynamics: 21 2 3 1 2 33

(94 58 46 81) (82 48 36 75)n n n M n n n A

For forward dynamics: 21 2 3 1 2 33

(135 99 87 116) (131 92 79 123)n n n M n n n A

B.9 Recursive Algorithms for floating-base Systems

Computational counts for different steps of recursive inverse and forward dynamics

algorithms of floating-base system, obtained in Tables 7.1 and 7.2, are shown in Tables

B.4 and B.5, respectively. Note that the details of the steps which are already given in

Table B.1 and B.2 are not repeated here.

237

Page 268: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Table B.4 Computational count for recursive inverse dynamics of floating-base system

Forward recursion:

Counts Counts

For k=0 (Floating-base #0)

1

0 0 0 0t P q =q 0( ) P 1 -

2

0 0 0 0(t P q P O)

0,0A 1

-

3

*

0 0 0 0 0 0 0 0

*

0 0 0 0

;

,

Fw M t M E t w

w w M M

24M30

For k=1: , r=1: k

For r=1 For r=2: k

4

, k jj k j jt A t p1

8M5A j j j jt t p 4M3A

5

, ,k j k jj k k

j j j j j

t A t A t

p p

1

27M20A j j j j j j jt t p p 10M7A

6 ,0 , ,0k kA A A ,0 ,0k k

A A

0, 0, ( ) ( ), 1[ ] [ ]T

k j j k k k ja =Q a +a 0, 0, 1[ ] [ ]T

k j j k j 8M7A a =Q a 4M2A

For r= k For r=1:( k-1)

7 j j j j

i6M9A

0 0M0A

8

*

*

;

,

F

k k j j k k j k

j k j k

w M t M E t w

w w M M

,j j

39M45 w 0 M O 0M0A

Backward recursion:

For k= :1, r= k:1

For r= 1 For r= k:2

1

T

j j jh p w j T

j jh p w

T

j j jh e n - T

j j jh e n -

2

M pj j j j M pj j

j,t j jI e

-

,j t jI e j-

,

( 1)j b j j

e - ,

( 1)j b j

ej

-

3

,0 AT

j j j

,0 AT

j j j

, ,j b j b

- , ,j b j b

-

, , ,0 ,[ ]T

j t j t k j j ba , 6M6A

, , ,0[ ]T

j t j t k j ja b6M6A

4

,j j j

T

k jw w A w 20M18A j jw w 8M4A

5 , ,j j

T

k j kM M A M A

34M40A j jM M 16M10A

For k=0 (Floating-base #0)

6 0 0h P w

T

0-

7 0 0 0 0,0 0 0 0; T

M P I P M -

Forward recursion:

For k=0 (Floating-base #0)

1

1

0 0,0q I h0 36M36A

2 0 0 0q P q q0

-

For k=1: , r=1: k

For r=1 For r=2: k

238

Page 269: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

3

00, -1

00, -1

k t j

k b j

Q q

Q q0]

T

j T[q

16M8A 00, -1

0

00, -1

]

T

k t j

j T

k b j

Q q

[qQ q

8M4A

4

0[ ]T

j j j hq j j 6M7A 0[ ]T

j j j hq 6M7A

Total: 1) kth

link 164M156A + 62M46A( k-1)

2) Floating-base (#0) 60M66A

Table B.5 Computational count for recursive forward dynamics of the floating-base system

Forward recursion

(In this step are calculated similarly as in forward recursion of inverse dynamics) *, ( 0) and j j j kt t w

Counts Counts

For k=0 (Base #0): *

0 0 0, and t t w 24M30A

For k=1: , r=1: k

For r=1: *, and j j kt t w 74M66A For r=2: k : ,j jt t 14M10A

Backward recursion

For k= :1, r= k:1

For r= 1 For r= k:2

1

ˆˆj j j

M p - ˆˆj j j

M p -

2

ˆˆ T

j j jm p

- ˆˆ T

j j jm p -

3

ˆ ˆ/j j jm

5M0A ˆ ˆ/j j jm 4M0A

4

*ˆ ( )T

j j j j kp w

0M2A ˆ pT

j j j j0M2A

5

ˆ ˆj j jm

1M0A ˆ ˆ

j j jm 1M0A

6

,ˆ ˆ ˆ T

j j j jM M j 18M18A

,ˆ ˆ ˆ T

j j j jM M j 10M10A

7

*ˆ ( )j j j j kw

5M18A ˆj j j j

4M11A

8

, , ,ˆ ˆ ˆ

j j

T

k j j kM M A M A

64M78A ,

ˆ ˆj j jM M 24M23A

9

,j

T

k jA

20M12A j j

8M4A

For k=0 (Floating-base #0)

10 0 0 0 0

ˆ ˆˆ M P M 0M0A

11 0 0 0

ˆ ˆ ˆTI P 0

0M0A

12 *

0 0 0 0 0 0 0ˆ ( ) (T

P w w* ) 0M6A

13 1

0 0ˆ ˆI 0

36M36A

Forward recursion

For k=0 (Floating-base #0)

1

0 0q 0M0A

2

0 0 0 0P q q

For k=1: , r=1: k

For r= 1 For r=2: k

3

, jj kA 20M12A jj

8M4A

4

T

j j j j5M6A T

j j j j4M5A

5

j j j jp + 0M1A j j j jp + 0M1A

Total: 1) kth

link 209M201A + 70M59A( k-1)

2) Floating-base (#0) 60M72A

239

Page 270: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

The computational count for the recursive inverse and forward dynamics of the kth

link

connected by a multiple-DOF joint is summarized in Table B.6.

Table B.6 Summary of computational count for the kth link

Inverse dynamics

164M156A+62M46A( k-1)

Forward dynamics

209M201A+70M59A( k-1)

1-DOF

k =1

2-DOF

k=2

3-DOF

k=3

1-DOF

k =1

2-DOF

k=2

3-DOF

k=3

Count per joint (CPJ) 164M156A 226M202 288M248A 209M201A 279M260 349M319A

Count per DOF

(CPJ/ k)

164M156A 113M101 209M201A

240

2

396 82M A 1

2139 130M A

1 1

3 3116 106M A

Based on Table B.6, the computational count for the recursive inverse and forward

dynamics for floating-base system is obtained as

For inverse dynamics: 2 A1 2 3 1 2 33(164 113 96 60) (156 113 82 66)n n n M n n n

For forward dynamics: 1 1 1 A1 2 3 1 2 32 3 3(209 139 116 60) (201 130 106 72)n n n M n n n

where n1, n2 and n3 are the total number of joint variables associated with 1-, 2- and 3-

DOF joints, respectively.

Page 271: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Appendix C

TRAJECTORY GENERATION OF LEGGED ROBOT

The trajectories used for the dynamic analysis of the legged robots are presented in this

appendix.

C.1 Biped

The motion of a biped is generally designed such that the Zero-Moment-Point

(Vukobratovic, 1989) remains within the convex hull of the supporting feet. Hence, the

concept of Zero-Moment-Point (ZMP) is introduced first.

C.1.1 Zero-Moment-Point (ZMP)

Zero-Moment-Point (ZMP) is a point on the walking surface about which the horizontal

components (i.e., X and Y) of the resultant moment generated by active forces and

moments acting on links are zero as shown in Fig. C.1. In other words, it is a point about

which sum of the moments caused by inertia and gravitational forces is equal to zero.

Fig. C. 1 Zero-Moment-Point

n 0r

Z

X

ZMP

fr

241

Page 272: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Hence, with the assumption that ZMP remains within the convex hull of the supporting

feet, a biped requires no external moment to attain instantaneous equilibrium.

The ZMP (xzmp, yzmp, 0) can be calculated as

, ,

, ,

]

]

k k yy k y

k k k xx k x

z i

z i

1

1

1

1

[ ( )

( )

[ ( )

( )

n

k k k k k

kzmp n

k k

k

n

k k k k

kzmp n

k k

k

m z g x m x

x

m z g

m z g y m y

y

m z g

(C.1)

where (xk, yk, zk) are the Cartesian coordinates of the center-of-mass Ck of the kth

link and

mk is the mass of the link as shown in Fig. C.2. Moreover, ik,xx and ik,yy are the mass

moments of inertia about X and Y axes, ,k x and ,k y are the X and Y components of

vector of angular acceleration and g=9.81 .

Fig. C. 2 Parameters of biped

Z

X

Ck, mk

ckzk

xk

kth link

242

Page 273: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

C.1.2 Hip trajectory: Inverted Pendulum Model (IPM)

Trajectory generation of the hip of a biped based on the equations of ZMP in Eq. (C.1)

results into computationally expensive procedure as it requires first the evaluation of the

expression in Eq. (C.1) followed by the solution of complex differential equations

involving many dynamic parameters. Alternatively, Inverted-Pendulum-Model (IPM),

shown by Kajita and Tani (1991), assumes that mass of the biped is concentrated at the

hip, i.e., the floating base, as shown in Fig. C.3. As a result, the biped motion can be

approximated by considering it as an inverted pendulum. For the IPM, the moment

equation about the ZMP can be written as

( ) ( ) =a a a g 0h h hm m

]

(C.2)

where a [ T

h h h hx y z

0 ]Tg

represents a vector from the origin O to the point mass m and

. Equation (C.2) may be rewritten in component form as [0g

0

0

0

h h h h h

h h h h h h

h h h h

y z z y g y

z x x z g z

x y y x

(C.3)

Fig. C.3 Inverted-Pendulum-Model

n 0r

m

gm

O

ahm

ah

Z

X

Hip

Trunk

fr

243

Page 274: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

The IPM assumes that the trajectory is such that the height of the hip remains constant,

i.e., zh=constant, throughout the motion cycle of the biped. Hence, the above equations

get simplified as

0

0

h h

h

h h

h

gx x

z

gy y

z

21

43

r 0

( )

( )

wtwt

h

wtwt

h

t T

(C.4)

Solutions of the above equations are then obtained as

Fo

x t c ec e

y t c ec e

h

(C.5)

If the biped moves in the sagittal plane, i.e., in the XZ-plane, then . Given the

initial positions and the velocities , the coefficient c1, c2,

c3, and c4, are obtained as follows

( ) 0hy t

(0) and (0) hx y (0) and (0) h hx y

1 2

3 4

1 1 1[ (0) (0)], [ (0)

2 2

1 1 1[ (0) (0)], [ (0)

2 2

= + =

= + =

h h h

h h h

x x xc cw

y y yc cw w

1(0)]

1(0)]

h

h

xw

y

(C.6)

where hw g z . Substituting Eq. (C.6) into Eq. (C.5) the coordinates of the hip are

obtained

sinh

sinh

For 0

(0)( ) (0)cosh

(0)( ) (0)cosh

hh h

hh h

t T

xx t x wt

w

y

wt

y t y wtw

wt

(C.7)

244

Page 275: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

In order to obtain the periodic and symmetric biped pattern, the following repeatability

conditions are used:

(0)

(0)

( ); (0) ( )

( ); (0) ( )

h h h h

h h h h

x x T x x T

y y T y y T

, i.e.,

(C.8)

The above repeatability conditions help in obtaining the values of initial velocities

(0) and hx (0) hy

1 1(0) (0) and (0)

1 1

wT

h h hwTx wx y (0)

wT

hwT

e ewy

e e(C.9)

C.1.3 Ankle trajectories

Ankle trajectories are then synthesized as cosine functions, i.e.,

( ) cos

( ) 1 cos2

a s

f

a

x t l tT

hz t t

T

(C.10)

Fig. C.4 Parameters of ankle trajectories

ls

hf

245

Page 276: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

In Eq. (C.10), ls, and hf are stride length and maximum foot height, respectively, as

indicated in Fig. C.4.

For the planar and spatial bipeds discussed in Chapter 7, the parameters of hip and ankle

trajectories are shown in Table C.1.

Table C.1 Trajectory parameters for biped

T

(Sec)

xh(0)

(m)

yh(0)

(m)

zh

(m)

ls

(m)

hf

(m)

Planar Biped 1 -0.15 - 0.96 0.3 0.1

Spatial Biped 0.5 -0.15 -0.08 0.92 0.3 0.1

C.1.4 Joint motions

The joint motions or variables associated with the leg of a biped are shown in Fig. C.5.

Based on the hip and ankle trajectories obtained in the previous subsections, the joint

motions can be obtained.

Fig. C.5 Joint motions of a biped

1

23

4

5

6

X

Y

Z

Using the geometry of a leg, as shown in Fig. C.6, the associated joint variables are

obtained as follows:

246

Page 277: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

(a) YZ plane (b) XZ' plane

Fig. C.6 Geometry of a biped to determine the joint motions

2

5

zh

Z

Y

Z'

(xh, yh, zh)

5

(xa, ya, za)

X

(xh, yh, zh)

14

(xa, ya, za)

Z'

1

a2

a3

a0

4

1

6

3 4 ( )

1

2 5

2 2 21 20 2 3

4 0

1 1

1 1 2 43 4

0 0

6

tan

cos where ( ) ( ) ( )2

sin( ), where sin , sin

h a

h a

h a h a h

h a

y y

z z

a a aa x x y y z

a a

x x a

a a

2 2

az(C.11)

Moreover, angle 1 , in XY plane, is assumed to be zero, i.e., 1 0 . Similarly, the joint

motion may also be obtained for the other leg of the biped.

C.2 Quadruped and Hexapod

Motion of the trunk of the quadruped and hexapod used in Chapter 7 was also

approximated by using the Inverted Pendulum Model discussed in section C.1.2. The

trajectory parameters for the quadruped and hexapod are shown in Table C.2.

247

Page 278: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

248

Table C.2 Trajectory parameter for legged robots

T

(Sec)

xh(0)

(m)

yh(0)

(m)

zh

(m)

ls

(m)

hf

(m)

Quadruped 1 -0.15 - 0.50 0.3 0.09

Hexapod 0.5 -0.20 - 0.55 0.4 0.08

Page 279: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Appendix D

ENERGY BALANCE

Law of energy conservation states that energy cannot be created or destroyed, but, it can

only be transformed from one form to another. Energy in a system takes different forms

such as kinetic, potential, heat, etc, and total energy remains constant. As a result, the

principle of energy conservation can be used to validate the numerical results obtained

during the dynamic simulation of legged robots reported in Chapters 6, 7, 8. For the

systems studied in this thesis, energy was present in four forms. They are kinetic energy,

potential energy, work done by the actuator, and the energy dissipation by the ground.

D.1 Kinetic Energy (KE) and Potential Energy (PE)

Kinetic and potential energy of a system are functions of velocities and positions,

respectively, of the constituting bodies. If denote the 3-dimesional vectors

of the position, linear velocity and angular velocity of the Center-of-Mass of the kth

link ,

then the total kinetic and potential energy of the system are calculated as

, , and k kc c k

1

1

1( )

2c c I

g c

T T

k k k k k k

k

T

k k k

k

KE m

PE m

(D.1)

where is total number of links, mk is mass of the kth

link and g is the vector due to

gravitational acceleration.

249

Page 280: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

D.2 Work done by Actuator and Energy Dissipation by Ground

Both, work done by the actuator and energy dissipation by the ground can be calculated

by integrating the power delivered by the actuating torques and forces, and the power

dissipated due to ground interaction, respectively. If , and k kq

1

k k

k

dt

1

f v T

k k

k

dt

k

denote the actuating

torque/force and the corresponding joint rate associated with the kth

link then the energy

input by the actuator may be calculated as

Work done by actuator (D.2)

Similarly, the energy dissipation by the ground is calculated as

Energy dissipation by ground (D.3)

where are the vectors of ground reactions and linear velocity of the contact

point on the kth

link.

andf vk

D.3 Energy Balance

The sum of kinetic energy, potential energy, actuator work and ground dissipation over a

period of simulation time must remain constant. Hence, checking the energy balance

validates the simulation results. The energy balance for the planar and spatial biped,

quadruped and hexapod, simulated in Chapter 7 and 8, are shown in Figs. D.1-4. It is

evident form Figs. D.1-4 that the total energy remains constant throughout the simulation

period. Moreover, the maximum error in the total energy is in the order of 10-2

to 10-5

.

This is mainly due to integration errors. This validates the simulation results.

250

Page 281: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Fig. D.1 Energy balance for planar biped

(Maximum error in total energy = 8.48E-04)

0 0.5 1 1.5 2 2.5 3 3.5 4

77

77.5

78

78.5

79

79.5

time (s)

En

erg

y (

J)

0 0.5 1 1.5 2 2.5 3 3.5 4

-10

-5

0

5

10

time (s)

En

erg

y (

J)

Total PE

Actuators Ground KE

Fig. D.2 Energy balance for spatial biped

(Maximum error in total energy = 3.6E-03)

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

65

66

67

68

time (s)

En

erg

y (

J)

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

-10

-5

0

5

10

time (s)

En

erg

y (

J)

Total PE

Actuators Ground KE

251

Page 282: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Fig. D.3 Energy balance for quadruped

(Maximum error in total energy = 6.28E-05)

0 0.5 1 1.5 2 2.5 3 3.5 4

38

39

40

41

time (s)

En

erg

y (

J)

0 0.5 1 1.5 2 2.5 3 3.5 4

-20

-10

0

10

20

time (s)

En

erg

y (

J)

Total PE

Actuators Ground KE

Fig. D.4 Energy balance for hexapod

(Maximum error in total energy = 3.31E-02)

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

42

44

46

48

50

time (s)

En

erg

y (

J)

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

-30

-20

-10

0

10

20

time (s)

En

erg

y (

J)

Total PE

Actuators Ground KE

252

Page 283: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

Appendix E

FOOT-GROUND INTERACTION

As discussed in Chapter 7, methods of contact modeling can mainly be divided into

analytical, impulse and penalty-based approaches. In this thesis, the penalty-based

approach is used for contact modeling. In penalty-based approach the vertical reactions

are approximated by using visco-elastic (spring-damper) model such that the foot does

not bounce back while landing and the ground does not pull the leg while lift off. On the

other hand, sliding of the foot is approximated by using Coulomb or viscous friction.

Various penalty based models were proposed in the literature in order to take into account

the foot ground interactions. For example, Bogart (1989) presented a penalty-base model,

where the foot ground interaction was approximated vertically by linear spring-damper

and horizontally by Coulomb friction. Later, Gerritsen et al. (1995) used nonlinear spring-

damper model to simulate the heel-toe impact phase while running. Marhefka and Orin

(1996) presented a contact simulation using the nonlinear damping model. Nigg and

Herzog (1999) and Begg and Rahman (2000) showed typical ground reaction forces for

walking and running for human foot having heel-toe shape. Mistri (2001) showed

nonlinear visco-elastic model representing firm and dusty ground, which was later

successfully used by Shah et al. (2006). Recently Yamane and Nakamura (2006) and

Drumwright (2008) showed that a fast and stable simulation can be obtained by using the

penalty-based approach.

253

Page 284: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

E.1 Ground Models

The visco-elastic model used in this work was inspired by the work of Mistry (2001)

whereas the friction model was inspired by the work of Gerritsen et al. (1995). Two

ground models, namely, firm and dusty ground, are introduced next.

E.1.1 Firm ground model

In the firm ground model, as shown in Fig. E.1, the vertical reaction is approximated by

visco-elastic model, which is represented by

( )zF kz c z (E.1)

where k and c are spring stiffness and damping coefficient, respectively. In the above

visco-elastic model spring is assumed to be linear whereas, the damper is chosen as

nonlinear, in a sense that the damping coefficient is function of , the penetration of foot

into ground. In the case of negative foot velocity, i.e., downward motion of the foot, the

damping co-efficient offered by the firm ground model is assumed to remain constant as

given below:

foot' and ', if < 0 k k c c v (E.2)

Fig. E.1 Firm ground model

k

Ground Surface

c = c' If vfoot<0

c = 0 to c' If vfoot>0

(Cubic polynomial)

c

+ve

-ve

254

Page 285: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

On the contrary, for positive foot velocity, the damping coefficient is a function of the

penetration ( ), varying from zero to a maximum value at a specified penetration, and

then remains constant, i.e.,

2 3

3 foot, if > 0 v0 1 2' and k k c a a a a (E.3)

where the positive and negative foot velocities refer to upward and downward motion of

the foot, and stands for foot penetration into the ground. Moreover, the cubic

polynomial of Eq. (E.3) is solved to obtain damping coefficient c using initial conditions,

(a) 0 fo = 0 c c r , and (b) c = c' and 0c for = max, where c' is calculated

assuming an over-damped behavior as

0

' 2 'n

i

i

c k m (E.4)

In Eq. (E.4), , k', and mi are the over-damping factor, spring stiffness and mass of the ith

link, respectively.

To avoid sliding/slipping, ground is represented by pseudo-Coulomb friction forces

(Gerritsen et al., 1995) in the horizontal directions, i.e., X and Y directions represented by

the horizontal plane. The pseudo-Coulomb friction force may be represented as

1

1

2( ) tan

2

2( ) tan

2

xx z

z

y

y z

z

c xF F

F

c yF F

F

(E.5)

In Eq. (E.5), is coefficients of friction and xc and are the coefficients of damping.

The above sliding model behaves as a Coulomb friction model if

yc

/z xx F c , and

viscous friction model when /z xx F c .

255

Page 286: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

E.1.2 Dusty ground model

With the introduction of the restriction on damping coefficient, energy dissipation may

not be sufficient and foot may bounce off the ground a little. In order to increase the

dissipation, the dusty ground model shown in Fig. E.2 was also used. Initial sinking of the

foot contributes only to energy dissipation, while the lowered spring ensures that the foot

does not sink without stopping. When the foot moves upwards, damping is switched off

to prevent ground pull. By changing the extent to which spring is lowered, different

ground characteristics can be obtained. This model requires higher computational time for

simulation. In the case of dusty ground model (Fig. E.2) values of k and c are assumed for

different dust layer thickness of td, i.e.,

Fig. E.2 Dusty ground model

k

Ground Surface

c = c' If vfoot<0

c = 0 If vfoot>0

c

Dust layer

+ve

-ve

foot

foot

foot

0 and ', if

' and ', if

' and 0, if

k c c

k k c c v

k k c v

< 0 and >

< 0 and

> 0

d

d

v t

t (E.6)

E.1.3 Multi-point and whole body contacts

The number of contact points to take into account for a foot depends on the contact area

and shape of the foot. Quadruped and hexapod discussed in Chapter 7 have point contacts

with the ground, as shown in Fig. E.3(a), whereas feet of planar and spatial biped have

line and surface contact, respectively, as shown in Figs. E.3(b) and E.3(c). As a

256

Page 287: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

result, one contact point per foot is required for analysis of quadruped and hexapod, on

other the hand two and four contact points per foot are sufficient for analysis of planar

and spatial biped, respectively.

Fig. E.3. Different types of foot contact

f1 f1 f2 f1

f4f3

f2

Joints

Contact points

(a) (b) (c)

The contact model presented above has also been extended for the modeling of whole

body contact of the robot, i.e., for the links other than feet. The effect of the contact forces

for the kth

link having nf contact points can then be taken into account in the dynamic

model as shown in Section 5.1.4. In order to simulate the whole body contact, several free

simulations of legged robots were performed under gravity, and these showed realistic

motions.

257

Page 288: MODULAR FRAMEWORK FOR DYNAMIC MODELING AND …surilshah.weebly.com/uploads/1/1/4/6/11462120/2011... · CERTIFICATE This is to certify that the thesis entitled Modular Framework for

258