+ All Categories
Home > Documents > trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of...

trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of...

Date post: 25-Jul-2020
Category:
Upload: others
View: 7 times
Download: 0 times
Share this document with a friend
189
Transcript
Page 1: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

UNIVERSITY OF CALIFORNIA, SAN DIEGO

Multibody Dynamical Algorithms,

Numerical Optimal Control,

with Detailed Studies in the

Control of Jet Engine Compressors

and Biped Walking

A dissertation submitted in partial satisfaction of the

requirements for the degree Doctor of Philosophy

in Electrical Engineering (Intelligent Systems,

Robotics, and Control)

by

Michael William Hardt

Committee in charge:

Professor Kenneth Kreutz-Delgado, Chairperson

Professor J. William Helton

Professor Mohan Trivedi

Professor David D. SworderProfessor Robert E. Skelton

1999

Page 2: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

Copyright

Michael William Hardt, 1999

All rights reserved.

Page 3: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

The dissertation of Michael William Hardt is approved,

and it is acceptable in quality and form for publication

on micro�lm:

Chair

University of California, San Diego

1999

iii

Page 4: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

TABLE OF CONTENTS

Signature Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii

Table of Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv

List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii

List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix

Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x

Vita and Publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi

Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii

I Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1A. Articulated, Multibody Systems . . . . . . . . . . . . . . . . . . . . 2

1. Some Previous Work on Dynamics Algorithms . . . . . . . . . . 4

B. Nonlinear H1 and Numerical Optimal Control . . . . . . . . . . . . 5C. Case Study: Jet Engine Compressors . . . . . . . . . . . . . . . . . 6

1. Some Previous Work on Jet Engine Compressor Control . . . . . 7D. Case Study: Minimum Energy Biped Walking . . . . . . . . . . . . 7

1. Some Previous Work on Biped Locomotion . . . . . . . . . . . . 8

E. Outline of Dissertation . . . . . . . . . . . . . . . . . . . . . . . . . 9

II Recursive, Symbolic Robot Dynamics . . . . . . . . . . . . . . . . . . . 10A. A Single Rigid Body . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1. Dynamics in Inertial Space . . . . . . . . . . . . . . . . . . . . . 112. Dynamics in Body Space . . . . . . . . . . . . . . . . . . . . . . 163. Dynamics in the Spatial Representation . . . . . . . . . . . . . . 17

B. Multiple Rigid Bodies in Inertial Space . . . . . . . . . . . . . . . . 20

C. Multiple Rigid Bodies in Body Space . . . . . . . . . . . . . . . . . 26D. Multiple Rigid Bodies with the Spatial Representation . . . . . . . . 30

E. Comparison of Dynamical Representations . . . . . . . . . . . . . . 31

F. Dynamics with Gravity . . . . . . . . . . . . . . . . . . . . . . . . . 34G. Forward Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

H. Tree-Structured Dynamics and Spatial Recursions . . . . . . . . . . 40

III Contact and Collision Robot Dynamics . . . . . . . . . . . . . . . . . . 45

A. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45B. Contact Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

C. Collision Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . 51D. Calculation of ��1 in the Contact and Collision Algorithms . . . . . 53

iv

Page 5: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

E. Introduction of External Forces . . . . . . . . . . . . . . . . . . . . . 57

F. Reduced Dynamics Algorithm . . . . . . . . . . . . . . . . . . . . . 57

G. Closed-Chain Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . 61

IV Derivatives of Spatial Dynamic Operators and Applications . . . . . . . 62

A. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

B. Derivatives of Spatial Operators . . . . . . . . . . . . . . . . . . . . 63

C. A Lagrangian Derivation of the Dynamics . . . . . . . . . . . . . . . 67

D. Derivation of Coriolis Matrix for Skew-Symmetry

Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

E. Time Derivatives of Energy . . . . . . . . . . . . . . . . . . . . . . . 75

F. Spatially Recursive Linearized Dynamics . . . . . . . . . . . . . . . 76

V Nonlinear H2 and H1 Control and Numerical Solution Techniques . . . 84A. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

B. Nonlinear H2 and H1 Problems . . . . . . . . . . . . . . . . . . . . . 861. Nonlinear H2Control and the HJB PDE . . . . . . . . . . . . . . 862. Bicharacteristic ODEs . . . . . . . . . . . . . . . . . . . . . . . . 873. Optimal State Feedback Law . . . . . . . . . . . . . . . . . . . . 884. Nonlinear H1 Control . . . . . . . . . . . . . . . . . . . . . . . . 88

C. Proposed Numerical Solution of Nonlinear H2 and H1

Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 891. Direct Minimization . . . . . . . . . . . . . . . . . . . . . . . . . 892. Multiple Shooting . . . . . . . . . . . . . . . . . . . . . . . . . . 903. Shooting Out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 914. Combined Method . . . . . . . . . . . . . . . . . . . . . . . . . . 92

5. Homotopy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92D. Other Numerical Methods . . . . . . . . . . . . . . . . . . . . . . . . 93

1. Finite di�erences . . . . . . . . . . . . . . . . . . . . . . . . . . . 932. "Small" basis of functions . . . . . . . . . . . . . . . . . . . . . . 933. Partly Analytical Methods . . . . . . . . . . . . . . . . . . . . . 94

4. Characteristics and Direct Minimization . . . . . . . . . . . . . . 95

5. Miscellaneous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95E. Illustration: Pendulum . . . . . . . . . . . . . . . . . . . . . . . . . 96

1. Nonlinear H2 Solution and Comparison of Numerical Methods . . 97

2. Multiple Sheets of the Value Function . . . . . . . . . . . . . . . 98

F. Recursive Calculation of Robot Adjoint Equations . . . . . . . . . . 102G. Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

VI Case Study: Optimal Control of Jet Engine Compressors . . . . . . . . 106A. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

B. Jet Engine Stall and Surge Control . . . . . . . . . . . . . . . . . . . 107

1. Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . 109

v

Page 6: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

2. Choice of Performance Index . . . . . . . . . . . . . . . . . . . . 110

3. Rate Saturation Constraints . . . . . . . . . . . . . . . . . . . . 110

4. Choice of Equilibrium . . . . . . . . . . . . . . . . . . . . . . . . 112

5. Calculation of Value Function . . . . . . . . . . . . . . . . . . . . 114

6. State Feedback Control . . . . . . . . . . . . . . . . . . . . . . . 116

7. Evaluation of Results . . . . . . . . . . . . . . . . . . . . . . . . 117

8. Timing and Scaling to Higher Dimensions . . . . . . . . . . . . . 119

C. Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

VII Case Study: Minimum Energy Biped Walking . . . . . . . . . . . . . . 122

A. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

B. Human Walking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

C. Biped Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

D. Biped Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1291. Dynamics with Contact and Collision . . . . . . . . . . . . . . . 1302. Reduced Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . 132

E. Minimum Energy Performance . . . . . . . . . . . . . . . . . . . . . 135F. Numerical Optimal Control . . . . . . . . . . . . . . . . . . . . . . . 137

1. Box Constraints and Polar Position Coordinates . . . . . . . . . 1382. Inequality Constraints and Boundary Conditions . . . . . . . . . 141

G. Optimization Trials . . . . . . . . . . . . . . . . . . . . . . . . . . . 1451. Models 1 and 2: Walking without lifto� forces . . . . . . . . . . 1472. Models 3 and 4: Walking with lifto� forces . . . . . . . . . . . . 1503. Varying Step Length, Forward Velocity, and Final Time . . . . . 152

4. Optimal Forward Velocities and Energy Requirements . . . . . . 155

VIIIConclusions and Future Directions . . . . . . . . . . . . . . . . . . . . . 157

A Identities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160A. De�nitions and Notation . . . . . . . . . . . . . . . . . . . . . . . . 160B. Tilde Identities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

C. Spatial Matrix Identities . . . . . . . . . . . . . . . . . . . . . . . . 163D. Miscellaneous Identities . . . . . . . . . . . . . . . . . . . . . . . . . 166

Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

vi

Page 7: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

LIST OF FIGURES

2.1 A serial multibody chain . . . . . . . . . . . . . . . . . . . . . . . . 20

2.2 Full Link-Level, Spatial, Dynamical Recursions for Tree-Structured

Systems Including the E�ects of Gravity. . . . . . . . . . . . . . . . 43

3.1 Recursive algorithm for calculating ��1 in the case of branch tip

contact or collision. . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

5.1 System Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

5.2 Multiple Shooting Method . . . . . . . . . . . . . . . . . . . . . . . 91

5.3 Pendulum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

5.4 Plot of optimal trajectories calculated in the state space to the equi-

librium x = (�; _�) = (�1:5; 0). . . . . . . . . . . . . . . . . . . . . . 995.5 Homotopy in x1(0), (x2(0) = 0) along two sheets of pendulum. The

dotted lines indicate the continuation of a sheet along which thenumerical methods will continue to calculate solutions though they

are no longer optimal. . . . . . . . . . . . . . . . . . . . . . . . . . 1005.6 Equal-cost Boundary on Pendulum . . . . . . . . . . . . . . . . . . 1015.7 Value function of pendulum. . . . . . . . . . . . . . . . . . . . . . . 102

6.1 Jet Engine Compressor . . . . . . . . . . . . . . . . . . . . . . . . . 1086.2 Control vs. time for the H2 optimal trajectory and di�erent per-

formance measures. The solid line is with respect to a quadraticperformance index, and the dashdot and dashed lines are with re-spect to performance indices with cross-terms with weights c5 = 1

and 5 respectively. The circles represent the system initialized atR = 0 with a quadratic performance. . . . . . . . . . . . . . . . . . 111

6.3 vs. time illustrating e�ects of introducing di�erent constraints on_ , the control rate. The solid line is the unconstrained trajectorywhile the dashdot and dashed line represent a constraint of j _ j � 0:2

and j _ j � 0:1 respectively. . . . . . . . . . . . . . . . . . . . . . . . 1126.4 Controlling to di�erent equilibria along compressor characteristic at

a starting initial value of R = 0:12. Trajectories move in a counter-

clockwise direction. . . . . . . . . . . . . . . . . . . . . . . . . . . . 1136.5 A contour plot of a slice of the value function at fR = 0:12g. The �

indicates the equilibrium. . . . . . . . . . . . . . . . . . . . . . . . . 115

6.6 A contour plot of the minimumvalues of attained along closed-loop

system trajectories initialized at di�erent (�;) and at R = 0:12 inthe state space. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

vii

Page 8: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

6.7 A contour plot of the maximum absolute di�erence values of � from

the equilibrium value �0 (max j� � �0j) attained along closed-loop

system trajectories initialized at di�erent (�;) and at R = 0:12 in

the state space. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

6.8 A contour plot of the maximum values of R attained along closed-

loop system trajectories initialized at di�erent (�;) and at R =

0:12 in the state space. . . . . . . . . . . . . . . . . . . . . . . . . . 120

7.1 Walking Phases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

7.2 Beginning of phase 1. An impulse force fimp helps to propel the body

forward. The contact force fc1 is applied to the tip of leg 1. . . . . . 131

7.3 End of phase 2. The contact forces fc1 and fc2 enforce the contact

constraints for legs 1 and 2 during phase 2. . . . . . . . . . . . . . . 131

7.4 Inverse Kinematics Problem for 2-link Leg . . . . . . . . . . . . . . 1347.5 Optimal applied torques for walking without lifto� forces. Included

extra forces in addition to hip, knee torques for optimal speed: Ankle(solid), None (dashed). Included extra forces for 50 m/min speed:Ankle (dashdot), None (dotted) . . . . . . . . . . . . . . . . . . . . 148

7.6 Optimal trajectories of hip, knee for walking without lifto� forces.Included extra forces in addition to hip, knee torques for optimal

speed: Ankle (solid), None (dashed). Included extra forces for 50m/min speed: Ankle (dashdot), None (dotted) . . . . . . . . . . . . 149

7.7 Optimal trajectories of hip position and velocity for walking withoutlifto� forces. Included extra forces in addition to hip, knee torquesfor optimal speed: Ankle (solid), None (dashed). Included extra

forces for 50 m/min speed: Ankle (dashdot), None (dotted) . . . . . 1507.8 Optimal applied torques for walking with lifto� forces. Included

forces in addition to hip, knee torques and impulsive force for optimalspeed: Ankle (solid), None (dashed). Included forces for 50 m/min

speed: Ankle (dashdot), None (dotted) . . . . . . . . . . . . . . . . 151

7.9 Optimal trajectories of hip position and velocity for walking withlifto� forces. Included extra forces in addition to hip, knee torques

for optimal speed: Ankle (solid), None (dashed). Included extra

forces for 50 m/min speed: Ankle (dashdot), None (dotted) . . . . . 1527.10 Required energy as a function of average forward velocity. Ankle ac-

tuation (solid), no ankle forces (dashed), ankle actuation and impul-sive force (dashdot), impulsive force with no ankle actuation (dotted).153

7.11 Step length as a function of average forward velocity. Ankle actua-tion (solid), no ankle forces (dashed), ankle actuation and impulsive

force (dashdot), impulsive force with no ankle actuation (dotted). . 1547.12 Kinetic (dashed), Potential (dotted), and Total (solid) energies cen-

tered at 0 during a walking step. . . . . . . . . . . . . . . . . . . . 155

viii

Page 9: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

LIST OF TABLES

2.1 Comparison of Gravity-Free Inverse Dynamics Representations (Cur-

rent Notation). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

2.2 Comparison of Gravity-Free Inverse Dynamics Representations. (Orig-

inally Presented Notation) . . . . . . . . . . . . . . . . . . . . . . . 33

2.3 Inverse Dynamics with Gravity for Di�erent Representations. . . . . 36

4.1 Time Derivatives of Spatial Operators . . . . . . . . . . . . . . . . . 64

6.1 Comparison of di�erent equilibria. . . . . . . . . . . . . . . . . . . . 114

7.1 Biped Model Physical Data . . . . . . . . . . . . . . . . . . . . . . 127

ix

Page 10: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

ACKNOWLEDGEMENTS

The work presented in this thesis would not have been possible if it were

not for the continual support and encouragement of my two advisors Ken Kreutz-

Delgado and Bill Helton. I am deeply grateful to them for that. I would also like

to thank various other researchers for their assistance in my research. Oskar von

Stryk was kind enough to allow me the use of his program upon which many of the

results in this thesis are based. I`d like to thank Michael Breitner for his assistance

on using the programs and other issues in numerical optimal control. I am also

indebted to P. Hiltmann and P. Gill for the use of their programs. Many thanks

to M. Krsti�c, D. Mayne, R.M. Murray, and to P.V. Kokotovi�c, and his students

for their comments and suggestions related to the work on jet engine compressor

control.

The text of Chapters V and VI, in part, are a reprint of the material

as it will appear in IEEE Control Systems Technology under the title \Numerical

Solution of Nonlinear H2 and H1 Control Problems with Application to Jet Engine

Compressors," and with authors, Michael Hardt, J. William Helton, and Kenneth

Kreutz-Delgado. I was the primary researcher and author and the co-authors listed

in this publication directed and supervised the research which forms the basis for

these chapters.

My experience at UCSD would also not have been nearly as enjoyable and

rewarding if it were not for the many discussions and times spent with coworkers

Shane Cotter and Manohar Murthi, as well as my many good friends; in particu-

lar, Ra�aele Parisi, Vassiriki Traore, and Andreas Heinen. Lastly, I would like to

recognize my family for their continual support and patience with me. I am very

lucky to have them.

x

Page 11: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

VITA

June 28, 1969 Born, San Diego, California

1991 B.S. in Mathematics/Applied Science

University of California, Los Angeles

Los Angeles, CA

1993 M.A. in Mathematics/Statistics

University of California, Los Angeles

Los Angeles, CA

1999 Doctor of Philosophy

University of California, San Diego

San Diego, CA

PUBLICATIONS

\Using the Algebraic Structure of Articulated Robot Dynamics in Control Design,"36th IEEE Conference on Decision and Control, Vol. 5, pp. 4850{5, December,

1997.

\Numerical Solution of Nonlinear H2 and H1 Control Problems with Applicationto Jet Engine Control," 36th IEEE Conf. on Decision and Control, Vol. 3, pp.2317{22, December, 1997.

\Minimal Energy Control of a Biped Robot with Numerical Methods and a Recur-sive Symbolic Dynamic Model," 37th IEEE Conference on Decision and Control,pp. 413{6, 1998.

\Numerical Solution of Nonlinear H2 and H1 Control Problems with Applicationto Jet Engine Compressors," IEEE Control Systems Technology. (To appear)

\Optimal Biped Walking with a Complete Dynamical Model," 38th IEEE Confer-

ence on Decision and Control, 1999. (To appear)

FIELDS OF STUDY

Major Field: Electrical Engineering

Studies in Mathematical Analysis.

Professors D. Wulbert and R. Getoor

Studies in Numerical Analysis.

Professor P. Gill

xi

Page 12: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

Studies in Geometrical Physics.

Professor J. Rabin

Studies in Linear and Nonlinear Control.

Professors K. Kreutz-Delgado, J.W. Helton, and M. Krsti�c

xii

Page 13: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

ABSTRACT OF THE DISSERTATION

Multibody Dynamical Algorithms,

Numerical Optimal Control,

with Detailed Studies in the

Control of Jet Engine Compressors

and Biped Walking

by

Michael William Hardt

Doctor of Philosophy in Electrical Engineering

(Intelligent Systems, Robotics, and Control)

University of California, San Diego, 1999

Professor Kenneth Kreutz-Delgado, Chair

Various new methods for the modeling and control of complex mechanical

systems are developed, and new techniques are presented to combat the \curse of

dimensionality" one often encounters with high dimensional systems. This is done

�rst in the context of developing e�cient calculational tools for multibody dynamics

and second for nonlinear H2 and H1 optimal control problems. Their uses and

e�ectiveness are then explored through some important, practical applications.

The �rst focus is on articulated, multibody systems which may collide

and have contact with its surrounding environment. Di�erent lines of research

into recursive, multibody dynamics are brought together along with new, concise

derivations. The development has a great deal of generality allowing for multiple

degrees of freedom joints, complex tree-structured systems, contact and collision

dynamics, and problems requiring derivatives of the dynamics.

The second main focus is on numerical optimal control where the ability

to solve nonlinear H2 and H1 control problems is explored. An extensive listing of

xiii

Page 14: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

proven numerical procedures to solve these problems is presented. One particular

proposed approach is discussed at greater length and its strengths and weaknesses

are explored through some illustrations. Numerical experiments are performed

which provide valuable insight to the potential user of these methods as to the

capabilities and limitations of the proposed numerical procedures. An important

case study is then presented which describes the optimal control of jet engine com-

pressors.

The two research avenues converge in the �nal case study on walking biped

robots. With the use of the recursive, symbolic modeling techniques and numerical

optimal control procedures, it is possible to solve the problem of minimum energy

gait generation of biped robots with a complete dynamical model. This problem is

complicated by contact, collision, and other algebraic forms of constraints which re-

quire special attention. Various forms of minimum energy walking are investigated

and analyzed.

xiv

Page 15: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

Chapter I

Introduction

The study of complex, interacting dynamical systems has received interest

for hundreds of years. Many mechanical systems composed of interacting subsys-

tems fall into this class and, as the number of the interacting subsystems grows, its

dimension and, correspondingly, its complexity grows. Typically, approximations

of various forms have been made in the past in order to study and control these

systems. Problems of high dimension su�er what is known as the \curse of dimen-

sionality" where the problem complexity grows at such a fast rate with increasing

dimension that even systems with a 5 or 6-dimensional state space may be too

complex to handle.

The overall focus of this work presented here is to investigate and develop

new methods for beating the \curse of dimensionality" of complex, mechanical sys-

tems in the context of modeling and control. The �rst direction taken is to develop

and extend existing models for recursively and symbolically representing articu-

lated, multibody dynamics. Next, we will describe various numerical techniques

for solving nonlinear H2 and H1 control problems and report on solutions of some

di�cult control problems using these methods. The last case study will combine

the research into multibody dynamics with that of numerical optimal control by

exploring minumum energy gait patterns for biped robots.

1

Page 16: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

2

I.A Articulated, Multibody Systems

I begin with a detailed study of articulated, multibody systems. Such

systems are perfect examples of collections of relatively simple systems which when

interconnected produce a system with extremely complex dynamics. The inves-

tigation into the dynamics of multibody systems has been an active topic of re-

search for many years [35, 36, 47, 49, 75, 74, 83, 88, 100]. The complexity and

nonlinearity of this class of such systems grows considerably with its dimension;

so much so that the analysis of walking systems and various other moving multi-

body systems in contact with the environment continue to be on the frontiers

of current research. Fortunately, since the 70's, important discoveries have been

made in combating the \curse of dimensionality" through the development of re-

cursive, symbolic equations for the modeling and evaluation of multibody dynamics

[5, 13, 15, 23, 34, 59, 60, 66, 67, 68, 70, 78]. These approaches greatly reduced the

complexity of handling the equations of such systems, in particular as the number

of bodies in the system increases.

We have multiple goals with our exposition of the robot dynamical models

presented here. One is to bring together recent di�erent approaches made towards

creating new modeling techniques for the dynamics of articulated multibody sys-

tems. The reference [38] compares many previous approaches showing how many

of the recursive algorithms can be shown to be special cases of the same artic-

ulated body algorithm. We continue this line of research by focusing on three

distinct approaches and showing how they complement each other. We call these

the Body, Inertial, and Spatial Representations. A comparative study highlights

their strengths and weaknesses. The development is very general as we discuss the

inverse and forwards dynamics algorithms for general tree-structured systems.

Our development later continues for even more general systems when we

discuss how contact constraints and collision e�ects can be included in the model.

The ability to e�ciently handle these properties is a big step towards reducing

Page 17: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

3

complexity. We even introduce a novel reduced dynamics algorithm which can

work with the complete dynamics on a smaller dimensional space.

Another important asset of our model lies in the ability to obtain closed-

form expressions for the derivatives of the various symbolic matrix operators. Jain

and Rodriguez �rst used these for the construction of recursive expressions for the

linearization of the dynamics [42], then later for the development of the normalized

robot dynamics in [44]. We list here several novel extensions which we make in the

use of these derivatives and in other uses of the dynamical algorithms:

1. Many derivations are new and have been made more concise and generalized

to multiple degree of freedom joints.

2. An explicit treatment of the gravitational forces is given which was not present

in previous works.

3. A new reduced dynamics algorithm is presented for cases when the multibody

system is in contact with the environment. The reduced equations of motion

which account for the contact constraints can be evaluated without actually

constructing them.

4. A new concise expression for the Coriolis terms in the dynamics is given which

allows the well-known quantity in robotics ( _M� 2C) to be skew-symmetric.

5. We formalize the use of the gravity terms in taking partial derivatives of the

dynamics with respect to the position and velocity variables.

It is worth pointing out the value of at least two of the above items.

In numerical optimal control to be discussed later, there exist some approaches

which require the partial derivatives of the state equations with respect to the state

variables. These equations can be an obstacle to taking this approach as obtaining

them symbolically can be quite a large task. The availability of e�cient, recursive

algorithms for the calculation of the adjoint equations in optimal control methods,

therefore, can be of tremendous value. This possibility for robot control problems

Page 18: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

4

has of yet not been pointed out in the literature. The other very valuable tool which

can greatly reduce complexity is the reduced dynamics algorithm. Constructing

the reduced dynamics can also be a formidable task. The ability to evaluate them

without explicitly constructing them can signify a large computational savings.

I.A.1 Some Previous Work on Dynamics Algorithms

Rodriguez, Jain, and Kreutz-Delgado have presented many important ap-

plications of this modeling approach in previous years. They used these tools for

operational space control design [51], the analysis of exible and underactuated

systems [40, 41], the multi-arm grasp and manipulation of objects [45], and base-

invariant symmetric dynamics of free- ying manipulators [43]. Wendlandt and

Sastry used a similar modeling approach for designing a workspace controller for

balancing a planar biped [99]. Finally, Hardt and Kreutz-Delgado [30] have recently

used these modeling tools together with a backstepping approach for the design of

a new nonlinear adaptive disturbance attenuating controller.

One can group the various multibody formalisms loosely into two groups {

recursive and nonrecursive. For low dimensional systems, the nonrecursive methods

are certainly more e�cient in the calculation of the dynamics. Some examples of

these systems are NEWEUL, MESA VERDE, ADAMS, and DADS [49, 88].

Recursive techniques were apparently �rst developed by Vereshchagin in

1974 [93]. Armstrong then later developed a variation for spherical joints [2]. Feath-

erstone introduced an operator-based decomposition of the dynamics based on screw

and motor calculus and its application to rigid body motion [23]. Featherstone's

model gave considerable insight into the equations of motion, and it is the basis for

one of the representations discussed in this paper.

Both Rodriguez [76] and Brandl [13] then generalized the so-called artic-

ulated body algorithm to handle arbitrary joints. Rodriguez's formulation of the

forward dynamics algorithm, however, was based on a novel factorization of the

mass-inertia matrix which led to a very useful new factorization of the inverse mass

Page 19: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

5

matrix. This discovery was inspired by similarities with classical Kalman �ltering

and estimation algorithms. Jain discusses in [38] how all of these approaches can

be interpreted as variations of the same articulated body algorithm.

In the past few years, there has been a lot of interest in exploring Lie group

interpretations of robot dynamics [15, 55, 70, 66]. Most attention has been con-

strained to a body coordinates representation of the dynamics, though the Spatial

Representation presented by Featherstone also has a similar Lie group interpreta-

tion as well as having computational advantages when calculating the dynamics.

The potential of using di�erential geometric tools together with an appropriate

model of the system in analyzing robotic systems are numerous, though we do not

discuss them here. We will focus on simple algebraic manipulations of the dynamics

including total and partial derivatives of the matrix operators.

I.B Nonlinear H1 and Numerical Optimal Control

The continued popularity of H2 and H1 control methodologies is in large

part due to their very good stabilization and robustness properties. There are many

types of control problems which �t naturally into the H2 or H1 framework such as

stabilization problems, trajectory tracking, risk-sensitive problems, and disturbance

attenuation. In the nonlinear regimes, computational methods for solving these

problems are still in their early stages, and there is no generally accepted format

for the best approach to solving them. We �rst discuss in Section V.D a variety of

existing approaches to solving these problems in some computational fashion. We

then pursue two such approaches for solving nonlinear H2 and H1 control problems

which we feel are well-suited to handling saturation and other constraints of the

problem, are e�cient, and can accomodate higher dimensional systems to some

extent.

The approach we outline is a combination of optimization and multiple

shooting algorithms to solve for a good approximation of the value function of the

Page 20: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

6

system throughout the state space. From this, one may readily de�ne a closed-

loop control law which is the numerical solution to the nonlinear H2 or H1 control

problems. We illustrate these methods �rst in the test case of a swinging pendulum.

The underlying purpose in the presentation of the pendulum test case is to clarify

the use of the proposed numerical approach with a simple example. Important

subtleties of numerical optimal control also become very evident even in this case.

For example, there may exist initial conditions of the system for which there exist

two completely di�erent, equally optimal solutions. This can lead to situations

where a small change in the initial conditions can lead to radically di�erent solution

trajectories.

I.C Case Study: Jet Engine Compressors

As a practical application of our numerical procedure, we apply these

numerical methods to the control of a jet engine compressor. This system is char-

acterized by severe nonlinearities, most notably rotating stall and also surge. The

3-D Moore-Greitzer model is used as a basis for studying the compressor system,

and we use throttle feedback control to robustly stabilize the system under the

constraints and performance criteria imposed. We calculate the solution of the

nonlinear H2 control problem subject to rate saturation constraints and discuss

considerations and di�erent approaches to the problem in light of undesirable tran-

sient behavior which can arise. The transient behavior of special concern is a large

drop in the plenum pressure rise , and these are punished by the H2 performance

criterion. Our studies also show the strong in uence rate saturation has on this

system. The performance of our �nal controller is then graphically displayed with

contour plots of the resulting value function and drops in the plenum pressure in dif-

ferent operating regions. This work represents the �rst time H2 optimal controllers

were computed for this compressor problem.

Page 21: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

7

I.C.1 Some Previous Work on Jet Engine Compressor Control

Much research conducted lately has used throttle feedback and the 3-

D Moore-Greitzer model to control the severe instabilities present in a jet engine

compressor. Liaw and Abed [58] used a throttle-based linear feedback law to develop

a bifurcation-based controller. This control law required sensing of only one of the

state variables, namely the squared amplitude of rotating stall, and it had local

stability results. Eveker, Gysling, Nett, and Sharma [21] later extended this analysis

to design a controller with a much larger operating region. It required, however,

measurement of the time derivative of the mass ow coe�cient _�. Krstic et al.

[53] then developed a backstepping controller which guaranteed global stability,

and it had less restrictive measurement requirements by only requiring sensing of

the mass ow � and the plenum pressure rise . It was even later shown [52]

that this controller is inverse optimal with respect to a performance index. This

result implies robustness and stability margins for the system. Additional other

alternative approaches to controlling the jet engine compressor may be found in

[4, 6, 11, 61, 69]. The results in this paper were �rst announced in [30].

The previous research mentioned did not expressly consider the e�ects

that rate saturation might have on the problem. However, there is new research

focusing primarily on this issue. In [98], a local approximation of the Moore-

Greitzer dynamics is taken at the equilibrium in order to obtain a system of reduced

dimension. The reduced system and controller dynamics are then studied together

using phase space techniques to understand the e�ects of saturation constraints.

Two other methods for handling rate limits in other nonlinear settings by scheduling

or switching linear control laws are found in [56] and [90].

I.D Case Study: Minimum Energy Biped Walking

Many researchers have studied the problem of controlling a walking biped

robot and the associated path planning problem of generating optimal periodic

Page 22: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

8

trajectories for the walking motion. Several of the past innovations and recent

contributions are found in the references [17, 16, 27, 25, 46, 64, 80, 81, 85]. Due

to the complexity of the problem, compromising simplifying modeling assumptions

were often made to make it more tractable. The main di�culty, aside from the

complexity of the dynamics which might exist for a 5-link biped robot, is that a

di�erential algebraic system exists with the contact of the feet with the ground.

This work is the �rst to solve the problem of minimum energy gait generation for

biped robots using a complete dynamical model.

The ability to solve this problem depended upon the use of our recursive,

symbolic algorithms for calculating the dynamics of multibody systems, the reduced

dynamics algorithm for a biped system under contact constraints, in combination

with our approach to numerical optimal control using the software DIRCOL. The

methods used were able to handle well the high degree of nonlinearity and the

relatively high dimensionality characteristic of this problem. We explicitly account

for all contact constraints and collision e�ects. We then explore the underactuated

and actuated case with and without the use of ankle torques, the use of impulsive

lifto� forces, and variations with respect to step size and velocity.

I.D.1 Some Previous Work on Biped Locomotion

Some of the early work done by Kajita had a surprising amount of success

by modeling the biped dynamics as that of an inverted pendulum with point masses

[46]. The idea of searching for a passive walking motion which can approximate a

motion which requires only the minimal energy was expressed in the work of McGeer

[64] and later with Goswami et al. [27]. The minimal energy path is desirable for it

exhibits stabilizing, attractive properties. Our experiments have shown that many

walking trajectories naively chosen to approximate walking motion can require a

huge increase in the needed power over that of the optimally calculated minimal

energy trajectories. Other work also investigating minimal energy biped walking

motion, though with simpli�ed dynamical models, may be found in [80, 81].

Page 23: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

9

I.E Outline of Dissertation

In chapter II, we begin our discussion of multibody dynamics with the

simple case of a single rigid body. This case allows us to explain the possible choice

of three di�erent representations for the dynamics. We then proceed to extend

the modeling approach to multiple links and ultimately tree-structured systems.

Chapter III extends the model to include contact and collision e�ects as well as the

introduction of contact and impulsive forces. A reduced dynamics algorithm is also

presented in this chapter. Chapter IV completes the e�ort on developing symbolic,

dynamical models by exploring the uses of closed-form symbolic derivatives of the

spatial operators. A Lagrangian derivation of dynamics is given. Then partial

derivatives of the dynamics with respect to the state variables are developed which

may be used for calculating the linearized dynamics, a video motion estimation

algorithm, or recursively calculating the adjoint equations in a nonlinear control

formulation.

The latter part of the paper deals largely with optimal control. The ideas

of nonlinear H2 and H1 control theory are presented in Chapter V together with

a summary of numerical approaches for solving such problems along with our own

choice. We also outline a speci�c numerical scheme for the solution of these prob-

lems and demonstrate them with a pendulum control example. Then in Chapters

VI and VII, we apply our methods to two di�cult important problems. Chapter

VI presents the control of the severe instabilities found in jet engine compressors.

Chapter VII, on the other hand, solves the problem of minimum energy gait gen-

eration for biped robots. Solving this problem requires the synthesis and use of all

the tools developed in this dissertation.

Page 24: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

Chapter II

Recursive, Symbolic Robot

Dynamics

II.A A Single Rigid Body

The goal in this section is to develop a symbolic scheme for representing the

dynamics of a single rigid body. Focusing on only a single rigid body also gives us

the opportunity to emphasize in a simpler setting the various related representations

which exist for the dynamics. Though the notation used here borrows heavily from

previous work by Rodriguez, Jain, and Kreutz-Delgado [39, 78], changes have been

made to follow the conventions of many researchers in the �eld [66, 70]. The major

di�erences will be in the reversal of \starred" (adjoint) and \unstarred" operators

and in the use of closed-form derivatives in the derivation. For simplicity, the

starred operators are merely expressed here as a matrix transpose.

The development will proceed by recognizing that the set of equations

de�ning the linear velocities and accelerations may be combined with the angular

equations thereby arriving at a combined 6-dimensional matrix form for the kine-

matic and dynamical expressions. The ensuing matrix operators have time deriva-

tive expressions which may similarly be expressed in terms of other 6-dimensional

or spatial matrix operators. Concise matrix equations are thus obtained which have

10

Page 25: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

11

physical and geometrical interpretations.

II.A.1 Dynamics in Inertial Space

We begin by considering the dynamics of a single rigid body with all

quantities represented in an inertial frame. Consider a single rigid body moving

through space. Let !; v;N;F be the angular and linear velocity, moment and

linear force of the rigid body respectively expressed in an inertial frame. Then at

two di�erent points in the body, x and y, the above quantities are related in the

following manner:

!y = !x Nx = Ny + lx;y � Fy

vy = vx � lx;y � !x Fx = Fy(2.1)

where lx;y represents the 3-dimensional vector from x to y, also expressed in an

inertial frame.

A more compact form is obtained with the spatial notation (di�erent from

Featherstone's Spatial Representation [23]) if one de�nes the 6-dimensional spatial

velocity and spatial force as

Vx =

264 !x

vx

375 fx =

264 Nx

Fx

375 ; (2.2)

and de�ne the rigid body transformation operator as

�y;x =

264 I 0

�~lx;y I

375 ; (2.3)

where I 2 R3x3 is the identity operator. The quantity ~l 2 R3x3 is the cross product

matrix generated from the vector l, i.e. for p 2 R3, l�p = ~l p, which when expressed

in coordinates yields

l =

2666664x

y

z

3777775 =) ~l =

2666664

0 �z y

z 0 �x

�y x 0

3777775 (2.4)

Page 26: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

12

Then the relations in (2.1) may be expressed as

Vy = �y;xVx ; fx = �Ty;xfy : (2.5)

For future reference, the tilde operator satis�es several useful identities which may

be found in Section A.B in Appendix A.

The dynamics of a rigid body at its center of mass are well known and may

be found in such texts as Wittenburg [100]. In order to de�ne an operator expression

for the dynamics, we �rst de�ne the spatial inertia and the spatial momentum. Let

the subscript C represent the center of mass of the rigid body, m will denote the

mass of the body, and JC is its inertia tensor at the center of mass. Then the spatial

inertia MC and the spatial momentum �C are given by

MC =

264 JC 0

0 mI

375 ; �C =MCVC : (2.6)

For the purposes of calculating the dynamics of the rigid body, we will need expres-

sions for the derivatives of � and M . We will use the spatial cross product operator

in the form introduced by Jain and Rodriguez in [44], where if X = [aT bT ]T ,

Y = [cT dT ]T are spatial vectors then

X � Y = ~XY =

264 ~ac

~bc+ ~ad

375 , with ~X =

264 ~a 0

~b ~a

375 : (2.7)

It can also easily be shown that

~XY = �~Y X (2.8)

~XX = 0 : (2.9)

Featherstone �rst introduced the spatial cross operator (as he calls it) in [23] to

handle general expressions for derivatives of spatial vectors and various other spatial

operators.

Page 27: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

13

The inertia operator MC generalizes to any point x in the rigid body. At

the body center of mass, the kinetic energy is given by

KE =1

2V T

CMCVC : (2.10)

The kinetic energy is the same at any point in the body, and we may implicitly

derive a transformation law for M using the fact that VC = �C;xVx,

KE =1

2V T

x�TC;xMC�C;xVx =

1

2V T

xMxVx ; (2.11)

so that the spatial inertia at a point x is given by

Mx = �TC;xMC�C;x =

264 Jx m~lx;C

�m~lx;C mI

375 ;

where Jx = JC�m~lx;C~lx;C is the well-known transformation law of the inertia tensor

[100]. Note that Mx remains symmetric and positive de�nite.

Two important operators which will be valuable in expressing the deriva-

tives of some of the above operators are the spatial cross product operators ~ and

~� computed from the spatial vectors and �,

x =

264 !x

0

375 ; �

y;x=

264 (!y � !x)

0

375 : (2.12)

Note that because of the special structure of x and �y;x, ~x and ~�

x;ywill be

skew-symmetric.

We now develop two important time derivatives of two spatial operators

to be used for later determining matrix equations for the spatial acceleration _V .

This will result in symbolic expressions for the inverse dynamics (the determination

of the applied torques from the generalized velocities and accelerations).

Proposition 1

_�y;x = ~x�y;x � �y;x ~x (2.13)

_Mx = ~xMx �Mx~x (2.14)

Page 28: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

14

Proof: The total time derivative of a 3-vector of �xed length is given by the cross

product of the angular velocity of the coordinate frame to which it is attached and

the vector itself. As a result, The total time derivative of lx;y isd

dtlx;y = ~!x lx;y [100].

Using the tilde identity (A.4), we may write the inertial derivative of the rigid body

transformation operator � as

_�y;x =

264 0 0

�~!x~lx;y + ~lx;y~!x 0

375 : (2.15)

The resulting matrix expressions for _� may then be veri�ed through direct matrix

multiplication.

Using the fact that _J = ~!J�J ~!, we may obtain the derivative expression

for Mx:

_Mx =

264 ~!xJx � Jx~!x m(~!x~lx;C � ~lx;C ~!x)

�m(~!x~lx;C � ~lx;C ~!x) 0

375 : (2.16)

The matrix expressions similarly follow through matrix multiplication.

At the center of mass, the spatial force experienced by the rigid body, fC,

may be obtained by taking the total time derivative of the spatial momentum �C,

which is the product of the spatial inertiaMC and the spatial velocity VC [78, 100].

We would like to express this quantity, however, in terms of the spatial velocity

and acceleration re referenced at the joint position x as we ultimately would like

to know the inverse dynamics at this point. This may be done by substituting in

the known transformation for the spatial velocity.

Proposition 2

fC = MC[�C;x _Vx + (~x�C;x � �C;x~x)Vx]

+(~CMC �MC~C)VC

(2.17)

Proof: First observe how _VC relates to _Vx. Recalling that VC = �C;xVx, we have

from Proposition 1 that

_VC = �C;x _Vx + _�C;xVx

= �C;x _Vx + (~x�C;x � �C;x ~x)Vx :

Page 29: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

15

Taking the time derivative of the spatial momentum now gives the desired spatial

force:

fC = _�C =MC_VC + _MCVC

= MC_VC + (~CMC �MC

~C)VC : (2.18)

Finally, substituting for _VC gives the �nal expression.

Before continuing, we introduce a useful new identity and simultaneously

the new operator ~Vx which is constructed from applying the spatial cross product

operator to the spatial velocity Vx.

Identity 3

�TC;x

~x�T

x;CMxVx = �~V T

xMxVx (2.19)

Proof: By multiplication of the matrix operators, we obtain

�x;C ~x�T

C;xMxVx =

2666664

�~!xJx~!x +m~!x~lx;Cvx

+(~lx;C~!x � ~!x~lx;C)(�m~lx;C!x +mvx)

�m~!x~lx;C!x +m~!xvx

3777775 (2.20)

�~V TMxVx =

264 ~!xJx!x +m~!x~lx;Cvx �m~vx~lx;C!x

�m~!x~lx;C!x +m~!xvx

375 (2.21)

The equality of the two expressions is shown with the use of the tilde identities

found in Section A.B of Appendix A.

If we wish to obtain an expression relating the spatial force, fx, and the

spatial dynamics at a point x away from the center of mass, we simply use the

operator �T to translate fC to fx as pointed out in Eq. (2.5). Using the previ-

ously de�ned derivatives and identities, a concise expression is obtained for this

relationship.

Proposition 4

fx =Mx_Vx � (Mx

~x + ~V T

xMx)Vx (2.22)

Page 30: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

16

Proof:

fx = �TC;xfC

= �TC;x

hMC

_VC + (~CMC �MC~C)VC

i= �T

C;xMC

��C;x _Vx + (~x�C;x � �C;x ~x)Vx

�+ �T

C;x(~CMC �MC

~C)VC

= Mx_Vx + �T

C;xMC

~x�C;xVx �Mx~xVx + �T

C;x(~xMC �MC

~x)�C;xVx

= Mx_Vx �Mx

~xVx + �TC;x

~x(�T

C;x)�1MxVx

(2:19)= Mx

_Vx � (Mx~x + ~V T

xMx)Vx

We have used the fact that ~x = ~C , since the angular velocity is the same at any

point in the rigid body (2.1), and that ��1C;x

= �x;C. Equation (2.22) is a key result

which gives a compact expression for the rigid body dynamics and which will later

be used when dealing with multiple rigid bodies. In (2.22), fx represents the net

result of all forces acting on a rigid body, including natural forces (such as gravity)

and applied control forces.

II.A.2 Dynamics in Body Space

Recent research in advanced robotics has begun to make extensive use of

Lie group theory and di�erential geometry [66, 70, 84]. A formalized treatment of

this approach to robotics is found in the recent book [66] where it is shown how

rigid body motion in robotic systems may be expressed as actions on Lie groups.

Using the theory described in [66] and the results we have presented so far, it

can be pointed out that the rigid body transformation operator �y;x is a matrix

representation of the adjoint operator, Ad, on the Lie group of rigid body motion

SE(3). Meanwhile, the spatial cross product operator de�ned in (2.7) represents

the ad operator on its Lie algebra se(3). The book [66] shows how the Body

Representation of the dynamics allows one to make direct associations with elements

of Lie group theory in contrast to the more traditional use of inertial coordinates.

Page 31: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

17

In the case of a single rigid body, the dynamics expressed in body space

have the same structure as in inertial coordinates, and may be obtained from inertial

coordinates merely by multiplication of a 6�6 matrix with a rotation matrix in the

diagonal blocks. This transforms the dynamics to a form represented with respect

to a coordinate frame �xed in the rigid body. A more concise notation is obtained,

as was shown by Park et al. [70] and Ploen [72], if one expresses the dynamics in

terms of the local time derivative of the spatial velocity rather than the inertial

time derivative. It is a standard result [100] that for an arbitrary vector a, if�

a

represents the local derivative of a with respect to the body and ! is the angular

velocity of the rigid body, that _a =�

a + !�a. This leads to the following expression

for the spatial velocity represented at a point in the rigid body which is valid in

either inertial or body coordinates,

_Vx =�

Vx + ~xVx : (2.23)

Substituting for _Vx in (2.22) gives

f bx=M b

x

V b � ~V bT

xM b

xV b

x; (2.24)

where the superscript b is used for clarity in order to emphasize that the quantities

are expressed with respect to a body-�xed coordinate frame. Though the derivation

of the body coordinate dynamics (2.24) seemingly di�ers from that found in [70],

it is merely a stacked representation of the dynamics derived in [70] via Lie group

techniques.

II.A.3 Dynamics in the Spatial Representation

Featherstone introduced in his landmark book [23], a screw-theory based

description of multibody dynamics. In the book [66], it was later shown how this

approach also has Lie group interpretations which parallel the Body Representa-

tion, and these coordinates were similarly given the name spatial coordinates in

[66]. For this reason, we denote the screw-theory based approach as the Spatial

Page 32: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

18

Representation (not to be confused with 6-dimensional spatial vectors or spatial

quantities previously de�ned) even though the dynamics are represented with re-

spect to an inertial frame. The real di�erence between this approach and the

inertial or body space approaches lies in calculating the dynamics at the origin of

the inertial coordinate system, rather than at a point in the rigid body.

To further illustrate the di�erences between the various approaches, let

x be a point in the rigid body at which a coordinate frame Fx is attached. Also,

let o be the point at the origin of the inertial coordinate frame Fo. Then the body

space approach calculates the dynamics of the rigid body at x and represents them

with respect to Fx, the inertial space approach also calculates the dynamics at x,

but represents them with respect to Fo, and the spatial representation performs the

calculation at o and with respect to Fo.

Inertial time derivatives of spatial operators in the Spatial Representation

will also di�er from the inertial space approach, since the operators will represent

physical quantities at two di�erent points in space. Featherstone shows that if X

is any 6-dimensional spatial vector [23], then in the Spatial Representation it will

satisfy

_X =�

X + ~V X : (2.25)

A direct consequence of this relationship is that

_V =�

V ; (2.26)

since ~V V = 0 as pointed out in Eq. (2.9).

It is important not to confuse this result with that found in Eq. (2.23).

The spatial velocity V as found in the Inertial and Body Representations di�er

only by a change of coordinates. In the Spatial Representation, V also re ects a

translation away from the joint position, and consequently, its time derivative will

also have a di�erent interpretation than in the inertial case.

Remark 5 The choice of representation will in uence the result of taking deriva-

tives of the symbolic, matrix operators.

Page 33: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

19

One may consider it confusing that these quantities are given the same

symbol in this dissertation (i.e. simply V rather than Vx or Vo), Though in coor-

dinate form, they are fundamentally di�erent. However, representing the velocity

at a di�erent point other than the joint position is akin to a change in coordi-

nates and, as the equations we are developing are inherently independent of these

choices, we do not make a distinction. In fact, one can obtain the Spatial Represen-

tation version of V from the Inertial Representation version using the rigid body

transformation operator as in (2.5),

Vo = �o;xVx ; (2.27)

where o and x represents the origin and body joint position respectively.

The spatial inertia matrix M when represented in a symmetric form in

the Spatial Representation (unlike Featherstone) has the derivative

Proposition 6

_M = �~V TM �M ~V : (2.28)

Proof: The result may be shown through direct multiplication of the various

components of the matrix operators.

Remarkably, in the Spatial Representation, one does not need to calculate

the dynamics at the center of mass of the rigid body as one must do when working

with the Inertial and Body Representations. The net force acting on the rigid body

f s may be obtained directly by taking the time derivative of the spatial momentum

about the origin of the inertial coordinate system, M s

oV s

o. Using the superscript s

for clarity to denote the Spatial Representation, we have

f s =d

dt(M s

oV s

o) =M s

o_V s

o+ _M s

oV s

o

= M s

o_V s

o� ~V sT

oM s

oV s

o(2.29)

Page 34: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

20

II.B Multiple Rigid Bodies in Inertial Space

We now discuss how the previous results on single rigid bodies may be

extended to multiple rigid bodies. In Figure 2.1 is shown a serial multibody chain

of links, where the (i� 1)th

and ith links are coupled together via the ith joint.

The joint locations Oi are additionally important since it is at these points that

we will be calculating the dynamics of the rigid bodies for the Inertial and Body

Representations. A frame Fi will be rigidly attached to the ith link at Oi, and the

vector joining Oi�1 and Oi is li�1;i. The rate of change of the frame Fi with respect

to the frame Fi�1 determines the relative angular and linear velocities. The spatial

vector which consists of these quantities is called the relative spatial velocity V �

i

(de�ned at the point Oi).

i-th link(i-1)th link

Base

x x

i-th joint

l(i-1,i)

F(i-1)

O(i-1)

C(i-1) O(i)

F(i)C(i)

l(i,C)

Tip

Figure 2.1: A serial multibody chain

The 6-dimensional relative spatial velocity between links (i � 1) and i,

V �

i, may be obtained from the joint angle velocity _�i via a linear transformation

Hi : Rm ! R6, m 2 1; : : : ; 6, for a \ at" representation where m equals the

motion degrees of freedom of the joint. We call this a \ at" representation as we

only consider the possibility of having an equal number of generalized position and

velocity variables as the number of degrees of freedom and, moreover, the velocity

variables are the time derivatives of the positions. In this setting, a maximum of 6

degrees of freedom are possible for the joint, whereby three are rotational and three

are translational. Other possibilities include in the case of a 3 dof rotational joint

a 4-dimensional singularity-free quaternion position vector and a non-integrable

Page 35: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

21

angular velocity vector for the generalized velocity. These extensions require addi-

tional kinematic transformations to occur before and after the dynamical recursions

but are straightforward. We omit this development in the interest of brevity and

focus.

Constructing Hi in the Inertial Representation is most easily done by

transforming the Body Representational form of Hb

i, where it has a constant form.

We use here the b superscript for clarity. Most commonly, in body coordinates, each

column of Hb

iis a di�erent 6-dimensional unit vector [eT

i03]

T or [03 eTi]T in the

direction of the axis of rotation or translation, where the rotational axes come �rst.

For example, a joint with one rotational dof along the z-axis and two translational

dof along the x- and y-axes will have the form,

Hb

i=

26666666666666664

0 0 0

0 0 0

1 0 0

0 1 0

0 0 1

0 0 0

37777777777777775

(2.30)

The link i angle velocity vector _�i will similarly have its velocity components ordered

in a similar way as Hb

i.

Remark 7 We will continue on the assumption that the state vectors will always

be stored in body coordinates.

Though it is possible to store the state in inertial coordinates, this alter-

nate choice will have an in uence on the dynamical calculations which we choose

not to explore here. Operating Hi on _�i gives the body relative spatial velocity

V �b

iwhich may be transformed to the Inertial Representation merely by rotating

coordinates. De�ne now the spatial rotational operator �Rias

�Ri=

264 Ri 0

0 Ri

375 ; (2.31)

Page 36: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

22

where Ri maps body i coordinates to inertial coordinates. Then, since V �

i= �Ri

V �b

i,

it becomes evident that the correct transformation rule for Hi is

Hi = �RiHb

i(2.32)

The adjoint HT

iserves the dual role of mapping the spatial force at the

ith joint fi to the applied work-producing joint forces ui at the ith joint:

V �

i= Hi

_�i ; ui = HT

ifi : (2.33)

We now formulate the dynamics of a chain of rigid bodies. Since each link

is rigid, it su�ces to develop the equations of motion at a single reference point on

the link, which we take to be the joint location Oi. The spatial velocity Vi at Oi on

the ith link consists of the sum of the contributions from the motion of the (i� 1)th

link transformed to the point Oi plus the additional relative velocity V�

ibetween

the two links generated by the joint velocity _�i. Thus,

Vi = �i;i�1Vi�1 +Hi_�i : (2.34)

In Section II.A.1, we introduced the derivative of the transformation op-

erator �. With multiple links, this same operator is now used to also propagate

spatial velocities across joints, and its adjoint does the same with spatial forces.

With prismatic joints, however, the distance between successive joints can vary

over time. This e�ect must be accounted for so that we reintroduce a more general

derivative for �. We also write down the derivative of H to be later used in the

derivation of the spatial accelerations.

Proposition 8

_�i;i�1 = �~V �

i�i;i�1 + ~i�i;i�1 � �i;i�1 ~i�1 (2.35)

_Hi = ~iHi : (2.36)

Page 37: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

23

Proof: Recall that

�i;i�1 =

264 I 0

�~li�1;i I

375

The total time derivative of li�1;i is given by d

dtli�1;i = _li�1;i + ~!i�1 li�1;i = �(vi �

vi�1) + ~!i�1 li�1;i [100]. Using the tilde identity (A.4), we may write the inertial

derivative of the rigid body transformation operator � as

_�i;i�1 =

264 0 0�

� (~vi � ~vi�1) + ~!i�1~li�1;i + ~li�1;i~!i�1

�0

375 : (2.37)

Making the observation that

V �

i=

264 (!i � !i�1)

(vi � vi�1)

375 ; (2.38)

the �nal result may then be shown through direct matrix multiplication.

The time derivative ofHi is best obtained by di�erentiating (2.32). Noting

that in inertial coordinates _R = ~!R, the time derivative of �Riis

_�Ri= ~ �Ri

: (2.39)

The result then follows.

Now, di�erentiating (2.34) gives the spatial acceleration for the ith link.

Proposition 9

_Vi = �i;i�1 _Vi�1 + (~i � ~V �

i)Vi � �i;i�1~i�1Vi�1 +Hi

��i (2.40)

Proof:

_Vi = �i;i�1 _Vi�1 + _�i;i�1Vi�1 + _Hi_�i +Hi

��i

= �i;i�1 _Vi�1 +��~V �

i�i;i�1 + ~i�i;i�1 � �i;i�1 ~i�1

�Vi�1 + ~iHi

_�i +Hi��i

= �i;i�1 _Vi�1 + (~i � ~V �

i)(�i;i�1Vi�1 +Hi

_�i)� �i;i�1~i�1Vi�1 +Hi��i

= �i;i�1 _Vi�1 + (~i � ~V �

i)Vi � �i;i�1 ~i�1Vi�1 +Hi

��i

Page 38: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

24

We may also obtain a recursive expression for the spatial forces. The spa-

tial forces are a combination of the constraint forces fi+1 imparted by the (i+ 1)th

link at Oi+1 and the forces generated due to the motion of the ith link as given in

Eq. (2.22). Thus, the recursions for the spatial forces and momenta become

fi = �Ti+1;ifi+1 +Mi

_Vi � (Mi~i + ~V T

iMi)Vi

ui = HT

ifi (2.41)

All together, the Newton-Euler recursive equations of motion for the serial

multibody chain with N links are8>>>>>>>>>>>><>>>>>>>>>>>>:

V0 = 0; _V0 = 0

for i = 1; :::;N

Vi = �i;i�1Vi�1 +Hi_�i

_Vi = �i;i�1( _Vi�1 � ~i�1Vi�1) + (~i � ~V �

i)Vi +Hi

��i

end loop

(2.42)

8>>>>>>>>>>>><>>>>>>>>>>>>:

fn+1 = 0

for i =N; :::;1

fi = �Ti+1;ifi+1 +Mi

_Vi � (Mi~i + ~V T

iMi)Vi

ui = HT

ifi

end loop

(2.43)

Note that when there is a mobile base or there are non-zero tip forces, the initial-

izations for V; _V ; f may be appropriately modi�ed.

A convenient way to express the equations of motion for the entire system

is in stacked form [78, 44]. For example, the spatial vectors are written in one large

vector where the ith element of the vector is the spatial vector corresponding to

the ith link. If the total degrees of freedom of the system is equal to d, then the

dimensions of the stacked operators are:

f = colffig 2 R6N V = colfVig 2 R6N

u = colfuig 2 Rd _V = colf _Vig 2 R6N

_� = colf _�ig 2 Rd �� = colf��ig 2 R

d

(2.44)

Page 39: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

25

Similarly, we de�ne

M = diagfMig 2 R6N�6N H = diagfHig 2 R6N�d

~ = diagf~ig 2 R6N�6N ~V � = diagf~V �

ig 2 R6N�6N

~V = diagf~Vig 2 R6N�6N

(2.45)

Finally,

E� =

0BBBBBBBBBBBB@

0 0 � � � 0 0

�2;1 0 � � � 0 0

0 �3;2 � � � 0 0...

.... . .

......

0 0 � � � �N;N�1 0

1CCCCCCCCCCCCA

� = (I � E�)�1 = I + E� + � � �+ EN�

=

0BBBBBBBB@

I 0 � � � 0

�2;1 I � � � 0...

.... . .

...

�N;1 �N;2 � � � I

1CCCCCCCCA

(2.46)

with �i;j = �i;i�1 � � ��j+1;j.

The recursive equations of motion (2.42), (2.43) may now be written as

V = �H _�

_V = �H �� + ~V � �~V �V (2.47)

f = �TM _V � �T (M ~ + ~V TM)V

u = HTf

Combining (2.47) together, we may succinctly express the Newton-Euler equations

of motion as

M�� + C = u (2.48)

where

M = HT�TM�H C = HT�T [�M�~V � � ~V TM ]V (2.49)

The expression for the mass-inertia M, M = HT�TM�H, is called the Newton-

Euler factorization ofM. This compact expression for C was �rst given in a similar

form in [42].

Remark 10 An important result is that these expressions forM and C are invari-

ant with respect to the Inertial, Body, or Spatial Representations.

Page 40: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

26

The invariance of Representation gives one the freedom to choose which method to

calculate the dynamics and calculational considerations will generally take prece-

dence. We will see that in this regard, the Body and Spatial Representations are

both superior to the Inertial Representation.

II.C Multiple Rigid Bodies in Body Space

If one expresses the equations of motion in local body, certain operators

take a simpler form thereby making the recursions simpler. Also, direct associations

may be made to Lie group theory as were done in [70], thereby making available

many tools in di�erential geometry which can be valuable in future research in

dynamics and control design.

As the spatial forces and velocities are propagated from link to link, now a

coordinate transformation must also take place before the e�ects from neighboring

links may be included. The recursive equation for Vi still has the same form as in

(2.34),

Vi = �i;i�1Vi�1 +Hi_�i ; (2.50)

yet now the construction of the coordinate form of the various matrix operators

will di�er.

In this section, all quantities will be expressed in local body coordinates

which implies that Hi is constant and takes a simple form as discussed in Section

II.B with example (2.30). The rigid body transformation operator may now be

expressed in one of two ways:

�i;i�1 =

0B@ Ri 0

~li;i�1Ri Ri

1CA =

0B@ Ri 0

�Ri~li�1;i Ri

1CA : (2.51)

The 3 � 3 matrix Ri is a rotation matrix which maps a vector from the (i� 1)th

link frame Fi�1 to Fi in the ith link. The position vector li;i�1 is the position of

the ith joint, Oi relative to the (i� 1)th joint, Oi�1, expressed in the frame Fi�1.

Page 41: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

27

The vector li;i�1, on the other hand, expresses the location of Oi�1 relative to Oi

with respect to the frame Fi. As described in [66, 70], this quantity is the adjoint

operator of the inverse transformation in SE(3) from link (i� 1) to link i.

In the Body Representation of the dynamics, a natural derivative to use is

the local time derivative. It is not explicitly stated in [70], but the local derivative

of the spatial velocity V is used in that reference for the inverse dynamics which

gives a more compact symbolic representation of the dynamics. We present here an

alternative derivation of the dynamics using local time derivatives without the use

of Lie group theory. We �rst introduce the derivative of the Body Representational

version of the � operator.

Identity 11�

�i;i�1 = �~V �

i�i;i�1 (2.52)

Proof: The local derivative of the vector from the (i � 1)th joint to the ith

joint, li�1;i, will be the di�erence of the linear velocity of link i from link (i � 1),

�l i�1;i =(i�1)vi � vi�1. Since li�1;i is represented in link (i � 1) coordinate frame,

its local derivative will similarly be in this frame. This is indicated by the (i� 1)

superscript next to vi. Since for any vector x, gR~x = R~xRT , then RT

i~vi � ~vi�1 =

~vi � (i)~vi�1Ri. Derivatives of rotation matrices also satisfy, �R = �(f!i � g(i)!i�1)R,

so that

�i;i�1 = �

264 (~!i � (i)~!i�1) 0

(~vi � (i)~vi�1) (~!i � (i)~!i�1)

375 �i;i�1

In stacked form, we may now write down the following identities:

Identity 12

E� = �~V �E� (2.53)

� = ��

E� � = ��~V �E�� (2.54)

V = ��~V �V + �H �� (2.55)

Page 42: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

28

Proof: The �rst result is merely a stacked form of Eq. (2.52). From Identity

A.9 in the Appendix, it follows that �E� = � � I. Taking the local derivative of

both sides of this equality gives�

�(I � E�) = ��

E�, so that the local derivative of

the stacked � operator is given by ��

E� �. For the third equation, we take a local

derivative of the spatial velocity V = �H _�.

V = ��~V �E��H �� + �H ��

= ��~V �V + �~V �V � + �H ��

The last equation follows from Identities 2.9 and A.9 and the de�nition of V � in

(2.33).

We now have the following fully equivalent stacked and recursive equations

for the Body inverse dynamics:

Stacked Recursive

V = �H _��

V = ��~V �V + �H ��

8>>>>>>>>>>>><>>>>>>>>>>>>:

V0 = 0; _V0 = 0

for i = 1; :::;N

Vi = �i;i�1Vi�1 +Hi_�i

Vi = �i;i�1�

Vi�1 �~V �

iVi +Hi

��i

end loop

(2.56)

The spatial forces may be calculated as a combination of the constraint forces

present in the (i+ 1)th link and the forces generated due to the motion of the ith

link. The latter was previously given in (2.24), while the spatial force of the (i+1)th

Page 43: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

29

link is propagated via the rigid body transformation operator �Ti+1;i.

Stacked Recursive

f = �TM�

V ��T ~V TMV

T = HTf

8>>>>>>>>>>>>>>><>>>>>>>>>>>>>>>:

fN+1 = 0

for i = N; :::;1

fi = �Ti+1;ifi+1 +Mi

Vi

�~V T

iMiVi

ui = HT

ifi

end loop

(2.57)

The set of equations (2.56) and (2.57) may be found in [70], where the

major di�erences lie in that the nested ad and Ad operators are expressed here

with one tilde operator. We �nd the above notation more concise and easier to

work with, though it does not express directly its Lie group interpretations. If one

substitutes for�

V to place these equations in terms of _V using Eq. (2.23), one will

have the same structural form of the equations as in the inertial case (2.42), (2.43),

and (2.47), though the dynamics will still be represented with respect to di�erent

coordinate systems. Thus, recursing on the local derivatives of V allows one to

express the equations of motion in a simpler symbolic form.

Remark 13 When using the local spatial acceleration for other calculations, one

must keep in mind that this quantity has a di�erent interpretation than the inertial

spatial acceleration _V .

Enforcing the linear components of the local spatial acceleration at a tip in

contact with the ground to be zero will not have the same e�ect as doing the same

with the inertial spatial acceleration. This fact will be of importance later with the

Contact Algorithm to be discussed in Chapter III. That algorithm may be used in

a situation where we require that certain components of the spatial acceleration of

a branch tip in contact with the ground be zero. A Body approach can still be used

to calculate the dynamics by noting that the inertial spatial accelerations rotated

Page 44: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

30

to body coordinates satis�es a recursion identical to that found in the Inertial

Representation (2.42) and (2.43).

II.D Multiple Rigid Bodies with the Spatial Representa-

tion

The symbolic form of the dynamics in the Spatial Representation has

a simple form similar to the Body Representation. The interesting aspect of this

particular approach is that since the coordinates are all in the inertial frame and the

dynamics are all represented at the origin (instead of at each link's joint position),

the transformation operator �i;i�1 to propagate the spatial velocities and spatial

forces is just the identity matrix. The only additional identity that will be needed

to complete the Spatial inverse dynamics will be the following:

Proposition 14

_H = ~V H (2.58)

Proof: From Featherstone [23], we have for the derivative which transforms

spatial velocities from the Body Representation to the Spatial one:

_�o;i = ~V �o;i (2.59)

Similar to Eq. (2.32), Hi can be constructed from the constant Body form of Hi.

Hi = �o;iHb

i(2.60)

Taking the derivative of this last expression gives _Hi = ~ViHi. The �nal result is

then the stacked version of _Hi.

Using the identity 2.8 and the previously de�ned derivatives, it is possible

to establish the Spatial inverse dynamics algorithm:

V = �H _�

Page 45: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

31

_V = �H �� � �~V �V (2.61)

f = �TM _V � �T ~V TMV

u = HTf

The rigid body transformation operator has its simplest form in the Spatial

Representation where in stacked notation we have,

E� =

0BBBBBBBBBBBB@

0 0 � � � 0 0

I 0 � � � 0 0

0 I � � � 0 0...

.... . .

......

0 0 � � � I 0

1CCCCCCCCCCCCA

� =

0BBBBBBBB@

I 0 � � � 0

I I � � � 0...

.... . .

...

I I � � � I

1CCCCCCCCA

(2.62)

As a result of this simple form, _� = 0 = _E�. As will later be seen, this yields simpler

expressions in di�erent applications involving derivatives of the dynamics.

II.E Comparison of Dynamical Representations

In the Inertial Representation, we calculated the derivative of each link's

spatial momentumMV at its center of mass to obtain the dynamics at that point,

then we transformed the dynamics to the joint position. If one is to choose a point

in each link from which to recurse on, then doing this with the joint positions has

some computational advantages. The Inertial Representation has as its principal

virtue that all of its spatial quantities when represented in coordinate form are in

inertial coordinates and provide a direct physical interpretation of the system.

The Body approach presents a more e�cient method of calculating the

dynamics as the joint projection operator H is constant and is generally constant

in body coordinates. Similarly, the spatial inertiaM is constant in body coordinates

and need only be calculated once, which may be done o�ine before any dynamical

algorithms are undertaken. Finally, in the calculation of the inverse dynamics, a

Page 46: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

32

Representation Notation of this Work

Spatial Velocity Recursion

Body: Vi = �i;i�1Vi�1 +Hi_�i

Inertial: Vi = �i;i�1Vi�1 +Hi_�i

Spatial: Vi = Vi�1 +Hi_�i

Rigid Body Transformation Operator

Body: �i;i�1 =

0B@ Ri

i�1 0

�Ri

i�1~li�1;i Ri

i�1

1CA

Inertial: �i;i�1 =

0B@ I 0

�~li�1;i I

1CA

Spatial: �i;i�1 =

0B@ I 0

0 I

1CA

Spatial Acceleration Recursion

Body:�

Vi= �i;i�1�

Vi�1 �~�i;i�1Vi +Hi

��i

Inertial: _Vi = �i;i�1 _Vi�1 + ~iVi

��i;i�1~i�1Vi�1 � ~�i;i�1Vi +Hi

��i

Spatial: _Vi = _Vi�1 � ~�i;i�1Vi +Hi

��i

Spatial Force Recursion

Body: fi = �Ti+1;ifi+1 +Mi

Vi �~V T

iMiVi

Inertial: fi = �Ti+1;ifi+1 +Mi

_Vi � (Mi~i + ~V T

iMi)Vi

Spatial: fi = fi+1 +Mi_Vi � ~V T

iMiVi

Table 2.1: Comparison of Gravity-Free Inverse Dynamics Representations (Current

Notation).

simpler construction is obtained as shown in [70] by recursing on the local derivative

of the spatial velocities.

The Spatial Representation is also calculationally e�cient and �ts into the

Lie algebraic framework as does the Body Representation. The di�erence of this

approach lies in representing the dynamics with respect to an inertial coordinate

Page 47: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

33

Representation Originally Presented Notation

Spatial Velocity Recursion

Body: Vi = Adf�1i�1;i

(Vi�1) + Si _xi

Inertial: V (k) = ��(k + 1; k)V (k + 1) +H�(k) _�(k)

Spatial: vi = vi�1 + si _qi

Rigid Body Transformation Operator

Body: Adf�1i�1;i

=

0B@ � 0

[b]� �

1CA

Inertial: ��(k + 1; k) =

0B@ I 0

�~l(k + 1; k) I

1CA

Spatial: P XO =

0B@ E 0

Er�T E

1CA

Spatial Acceleration Recursion

Body: _Vi = Si�xi +Adf�1i�1;i

( _Vi�1) + adAd

f�1i�1;i

( _Vi�1)(Si _xi)

Inertial: �(k) = ��(k + 1; k)�(k + 1) +H�(k)��(k) + a(k)

Spatial: ai = ai�1 + vi�si _qi + si�qi

Spatial Force Recursion

Body: Fi = AdTf�1i;i+1

(Fi+1) + Ji _Vi � adTVi(JiVi)

Inertial: f(k) = �(k; k � 1)f(k � 1) +M(k)�(k) + b(k)

Spatial: fi = fi+1 + Iiai + vi�Iivi

Table 2.2: Comparison of Gravity-Free Inverse Dynamics Representations. (Origi-

nally Presented Notation)

system as previously described, except the dynamics of each rigid body is repre-

sented about the same point, the origin of the inertial coordinate system. This is

in contrast to the two previously outlined approaches where the dynamics of the

rigid bodies are calculated at their respective joint positions. The advantage of

representing all the dynamics about the same point is that the rigid body transfor-

mation operator �i;i�1 becomes the identity. This then compensates for the extra

Page 48: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

34

cost involved in having to transform H and M to the inertial frame each time the

dynamics are calculated.

In spite of its nonintuitive interpretation, the Spatial Representation has

several appealing characteristics. In addition to it being calculationally e�cient,

it does have the advantage that all quantities are represented with respect to the

same coordinate frame and, hence, can be more easily analyzed and compared.

Also, whereas in the Inertial and Body approaches, the dynamics are obtained

by taking the time derivative of the spatial momentumMCVC at each rigid body's

center of mass and then propogating the forces to the joint positions, we do not have

this restriction using the spatial coordinate system. One may take the derivative

directly of the spatial momentumMoVo of each rigid body represented at the origin

of the inertial coordinate system to obtain the dynamics, rather than taking the

time derivative at the center of mass and then transforming the expression to the

joint position.

In Table 2.1, we list together the inverse dynamics algorithms for the three

Representations in order to highlight their similarities. The originally presented

notation of these algorithms are shown in Table 2.2. The Body notation stems

from the work by Park et al. [70], the Inertial notation by Rodriguez et al. [78],

and �nally the Spatial notation by Featherstone [23].

II.F Dynamics with Gravity

Until now, we have omitted any reference to the important e�ect of gravity

in the dynamical equations. Commonly, the equations of motion of a mechanical

system in a uniform gravitational �eld are represented in the form,

M�� + C + G = u ; (2.63)

or equivalently

M�� + C = u+ ug : (2.64)

Page 49: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

35

These equations contain, in addition to the mass-inertia matrix M and the vec-

tor of Coriolis and centrifugal forces C found in (2.48) and de�ned in (2.49), the

vector of gravitational forces G which correspond to the vector ug = �G of actual

joint applied forces resulting from the e�ects of gravity. We may also develop a

matrix operator expression for G which will allow one to calculate and formally

introduce it into the equations for the inverse and forward dynamics. This term

serves an important role in many di�erent applications involving the calculation of

the dynamics, and an explicit representation for it is often useful.

A standard approach to simulating the e�ect of gravity at the earth's

surface on the multibody system is to give the inertial frame an upward pseudo-

acceleration equivalent to the actual downward acceleration due to gravity [60].

This stems from the so-called Principle of Equivalence. This approach works equally

well when the base of the multibody system is �xed and its coordinate frame is the

same as the inertial one or when the base is not �xed and the multibody system

is free- ying and, thus, accelerating downward relative to the inertial frame as a

consequence of gravitational attraction.

In the inverse dynamics, we begin with the joint accelerations ��, which

are the true accelerations re ecting already the in uence of the gravitational forces.

The next step in the inverse dynamics algorithm is to construct the spatial acceler-

ations. Introducing �� into any of the inverse dynamics algorithms of Table 2.1 will

produce u + ug. Our objective, however, will generally be to determine solely the

control force vector u.

We now exploit the Principle of Equivalence and initialize the spatial

acceleration _V with a �ctitious nonzero term. Using the gravitational constant of

gc = 9:806 m=s2, this is done by letting

_V0 = [ _wT0 _vT0 ]T = [0 0 0 0 0 gc]

T (2.65)

signify a �ctitious upward, vertical spatial acceleration of the inertial frame. This

technique will allow us to isolate the applied forces u.

Page 50: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

36

Representation Inverse Dynamics

Body:

V = �H _��

V = �(H �� � ~V �V )

f = �T�Mi(

Vi + _Vg)� ~V T

iMiVi

�u = HTf

Inertial:

V = �H _�

_V = �(H �� � ~V �V ) + ~V

f = �T�M( _V + _Vg)� (M ~ + ~V TM)V

�u = HTf

Spatial:

V = �H _�

_V = �(H �� � ~V �V )

f = �T�M( _V + _Vg)� ~V TMV

�u = HTf

Table 2.3: Inverse Dynamics with Gravity for Di�erent Representations.

Denote _Vp as the spatial accelerations containing the �ctitious pseudo-

acceleration terms at each link while _V are the true spatial accelerations which are

not initialized with _V0. Their di�erence we will call _Vg,

_Vp = _V + _Vg ; (2.66)

and this new quantity re ects the �ctitious accelerations simulating gravity expe-

rienced at each link. Examination of the recursions for _V in Table 2.1 suggests the

following recursion for _Vg:

_Vg;0 = _V0

for i = 1; :::;N

_Vg;i = �i;i�1 _Vg;i�1

end loop

(2.67)

Not that the above holds equally well for�

V as it does for _V .

Page 51: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

37

The stacked inverse dynamics for the various Representations including

the corrections for gravity are listed in Table 2.3. The addition of _Vg in the spatial

force expressions is equivalent to having initialized the spatial acceleration recursion

with _V0 as given in (2.65).

Making substitutions for f and _V or�

V in the stacked inverse dynamical

expressions found in Table 2.3, we arrive at the equations of motion as we did in

equations (2.49) where we derived spatial operator decompositions of M and C.

The additional term involving _Vg results in a spatial operator expression for the

vector of gravitational forces,

G = �ug = HT�TM _Vg : (2.68)

The matrix expression for G has an interesting interpretation. One can

see that the applied force due to gravity ug = �G is calculated by multiplying the

spatial inertia (containing the mass properties of the links) with the spatial accel-

eration due to gravity. Then the forces are propagated with the upper triangular

�T operator and then projected onto the links with HT .

It is in a particularly appealing formalism using the Spatial Representa-

tion, for then �i;i�1 is the identity matrix and _Vg;i is constant and equal to _Vg;0.

The gravitational applied force at the ith link would then be equal to

Gi = �ug;i = HT

NXk=i

Mk_Vg;0 : (2.69)

II.G Forward Dynamics

In the forward dynamics problem, the known quantities are the applied

joint forces, u, and the quantities to be computed are the joint accelerations, ��. It

was shown in [23, 78] how using an articulated body inertia model can lead to a

solution of this problem. An articulated body is a chain of links for which all joint

forces compensated by the Coriolis forces and gravitational forces u = u�C�G are

Page 52: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

38

assumed to be zero. This, in essence, resembles a \ oppy" serial chain. If at the

kth link, one assumes that the outboard links (k : : :N) form an articulated body,

one may arrive at a decomposition of the inverse dynamics of the following form:

fi = Pi _Vi + zi :

The operator Pi represents the e�ective spatial inertia of the articulated body at

the ith joint, and it can be shown to satisfy the Riccati-like recursion

Pi�1 = Ti;i�1Pi i;i�1 +Mi�1 : (2.70)

The new operator i;i�1 is a transformation operator very similar to �i;i�1, and it

may be constructed in a recursive manner from �i;i�1 and Pi using the following

additional operator de�nitions [38, 78]:

Di = HT

iPiHi ��i = I � �i = I �HiGi

Gi = D�1iHT

iPi i;i�1 = ��i�i;i�1

(2.71)

We can de�ne the stacked articulated body inertia P = diagfPig which will al-

ways be a block diagonal and symmetric matrix. In stacked notation, the spatial

recursion (2.70) can be written as

P = ET PE +M : (2.72)

Similarly, using the stacked formulations, we have

D = HTPH �� = I � � = I �HG

G = D�1HP E = ��E�(2.73)

and, additionally,

K = GE�:

De�ning a \sweep" to be a single recursion along a serial chain in either

direction, we are able to construct a concise, symbolic form for a 3-sweep recursion

of the forward dynamics. The key to this result was the discovery of an alternative

Innovations factorization for the mass matrix M and its inverse [78] which we

reproduce here:

Page 53: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

39

Proposition 15

M = [I +K�H]TD[I +K�H] (2.74)

M�1 = [I �K H]D�1[I �K H]T (2.75)

Proof: From the de�nition ofM in (2.49) and using identities (A.13) and (A.24),

M = HT�TM�H

= [I +K�H]THT TM H[I +K�H]

= [I +K�H]TD[I +K�H]

The inverse of the square-root factor of M is obtained with the identity (A.15)

found in the Appendix. The factorization for the inverse of M then follows.

Using this factorization of M�1 in (2.48) with the expression for C found

in (2.49) and for G in (2.68) leads us to the forward dynamics algorithm.

Proposition 16

�� = [I �K H]D�1hu�HT T

�KTu�M(�~V �V + _Vg)� ~V TMV

�i(2.76)

Proof: We use identity (A.13) and some algebraic manipulation in the following

equations to establish the result.

�� = M�1(u� C � G)

= [I �K H]D�1[I �K H]Tu

�[I �K H]D�1HT T�[�M�~V � � ~V TM ]V �M _Vg

�= [I �K H]D�1

hu�HT T

�KTu�M�~V �V �M _Vg � ~V TMV

�i

Remark 17 In this section no mention was made as to whether the Spatial, Iner-

tial, or Body Representations was used. This is because in the forward dynamics

case the algebraic form of the equations is invariant as to the choice of Represen-

tation.

Page 54: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

40

II.H Tree-Structured Dynamics and Spatial Recursions

With increasingly complex systems, it becomes necessary to go beyond

modeling multibody systems as single-chain manipulators. The dynamical models

presented so far can be extended to the larger class of systems called tree-structured

systems. The dynamical algorithms will stay essentially the same, only with slight

modi�cations to the recursive operators, E�, E , �, and and additional encom-

passing loop to iterate over the number of branches in the system.

Let Nb be equal to the number of branches in the system, while Nj , j =

1; : : : ; Nb, is equal to the number of links in one branch, and NL =PNb

j=1Nj is equal

to the total number of links in the system. We will continue to index the links of

branch j with i where i = 1; : : : ; Nj. As for the spatial operators, V(j) for example

will indicate the stacked spatial velocity for the jth branch while V(j)i will be the

individual spatial velocity of the ith link of the jth branch.

Another important additional function that will be needed for this class

of systems is the connectivity operator j = (j) which takes as an argument the

branch index j and returns the index of that branch's direct predecessor branch,

the branch immediately preceding it in the tree. Branch k is merely a predecessor

of branch j if it lies on the unique path from the base to the branch in question. If

this is the case, then there exists a p 2 1; : : : ; Nb such that k = p

jwhere p is the

p-times composition of the connectivity operator.

A branch can split into multiple children branches only at its tip. Thus,

the tree must be structured in such a way that this is possible. We now de�ne

the construction of the recursive operators. Let j; k 2 f1; : : : ; Nbg be two branch

indices. The recursive operator E� will now be a Nb�Nb matrix operator with the

6�6 operator E�(j;k) in the (j; k)th position. When j = k, we will denote this simply

as E�(j) and this will be just the previously de�ned E� for a single chain describing

branch j. Otherwise, E�(j;k) describes how the spatial quantities interact between

Page 55: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

41

branch j and branch k which only happens when they are adjoining branches.

E�(j;k) =

8>>>>>>>>>>>><>>>>>>>>>>>>:

E�(j) j = k

E�(j;k) =

26666640 � � � 0 �(j)1;(k)Nk

.... . .

...

0 � � � 0

3777775 k = j

0 otherwise

(2.77)

The de�nition of E is identical to E�. The de�nition of � = (I � E�)�1 is as

follows where �j similarly represents just the previously de�ned � for single chain

manipulators referring to branch j.

�(j;k) =

8>>>>>>>>>>>>>>><>>>>>>>>>>>>>>>:

�j j = k

�(j;k) =

2666666664

�(j)1;(k)1 � � � �(j)1;(k)Nk)

�(j)2;(k)1. . .

...... � � �

�(j)Nj;(k)1 � � � �(j)Nj;(k)Nk

37777777759p s.t. k =

p

j

0 otherwise

(2.78)

Note that �(j;k) refers to the (j; k)th entry of the � matrix while �(j)r;(k)s, r 2

f1; : : : ; Njg, s 2 f1; : : : ; Nkg, is the 6 � 6 link-level operator. This latter term is

the product of the link-level operators along the path adjoining the two links, i.e.

�(j)r;(k)s = �(j)r;(j)r�1�(j)r�1;(j)r�2 � � � �(j)r;( j)N j� � ��(k)s+1;(k)s (2.79)

The same structure also holds for the operator. Through multiplication, it can

be shown that all the identities presented in Section A.C continue to be satis�ed.

Recall the forward dynamics with gravity equation (2.76). If we wish to

write down the complete dynamical recursions in its link-level iterative form, then

the �rst step is to make associations of temporary variables with intermediate terms

usually beginning with a � or operator.

Page 56: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

42

1st Sweep

8>>>>><>>>>>:

V = �H _�

_Vg = E� _Vg

a = �~V �V

2nd Sweep

8>>>>><>>>>>:

b = M(a+ _Vg) + ~V TMV

c = T (KTu� b)

d = D�1[u�HT c]

(2.80)

3rd Sweep

8><>:e = Hd

�� = d�Ke

Once this is done, it is a simple step to convert the terms in (2.80) using

(A.7)-(A.10) from an expression beginning with � or to one with E� or E . For

example, V = �H _� ) V = E�V +H _�. Taking into account the structure of E�

and E , we do this and write down the link-level recursions in Figure 2.2 as three

sweeps of the tree-structured system.

The recursions in Figure 2.2 are indexed in such a way that if X is a

spatial operator and if � is a recursive operator (also ), then

�(j)1;(j)0X(j)0 =

8><>:�(j)1;(j�1)Nj�1

X(j�1)Nj�1j > 1

0 j = 1

�T(j)Nj;(j)Nj+1X(j)Nj+1 =

8>>><>>>:

NbXk=1

�T(j)Nj;(k)1X(k)1If k=jg j < Nb

0 j = Nb

The function Ig(�)=� is an indicator function which is de�ned as

Ifg(�)=�g =

8><>:

1 g(�) = �

0 g(�) 6= �

To avoid an overload of notation, the (j) branch index is left out of the spatial

operator indices, but it is understood to be there.

Page 57: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

43

Figure 2.2: Full Link-Level, Spatial, Dynamical Recursions for Tree-Structured

Systems Including the E�ects of Gravity.

Page 58: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

44

1

8>>>>>>>>>>>>>>>>>>>>>>><>>>>>>>>>>>>>>>>>>>>>>>:

for j = 1; :::;Nb

_Vg;0 = �[0 0 0 0 0 gc]T

for i = 1; :::;Nj

Vi = �i;i�1Vi�1 +Hi_�i

_Vg;i = �i;i�1 _Vg;i�1

ai = �i;i�1ai�1 � ~V �

iVi

end loop

end loop

(2.81)

2

8>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>:

for j = Nb; :::;1

for i = N; :::;1

i+1;i = ��i+1�i+1;i

Pi = Ti+1;iPi+1 i+1;i +Mi

Di = HT

iPiHi

Gi = D�1iHT

iPi

��i = I �HiGi

bi = Mi(ai + _Vg;i)� ~V T

iMiVi

ci = �Ti+1;i(��

T

i+1ci+1 +GT

i+1ui+1) + bi

di = D�1i(ui �HT

ici)

end loop

end loop

(2.82)

3

8>>>>>>>>>>>>>>><>>>>>>>>>>>>>>>:

for j = 1; :::;Nb

for i = 1; :::;N

��i = di �Gi�i;i�1ei�1

ei = i;i�1ei�1 +Hidi

end loop

end loop

(2.83)

Page 59: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

Chapter III

Contact and Collision Robot

Dynamics

III.A Introduction

The extension of the robot dynamical models discussed so far to include

contact constraints with the surrounding environment and the impulsive forces ex-

perienced at moments of collision is an important one. Interaction of a multibody

system with the environment is such a common aspect of real applications that ef-

fective modeling techniques and calculational tools for these situations are required.

The problem, however, is not a simple one as, in general, contact constraints cre-

ate a di�erential-algebraic system which are known to have considerable numerical

di�culties.

The algorithms presented here provide an e�cient means to recursively

calculate and determine the e�ect of contact and impulsive forces. In the case of col-

lision, we make the assumption of a perfectly inelastic collision.1 These algorithms

do not circumvent, though, the necessity of dealing with a di�erential-algebraic sys-

tem. Later in this section, we will introduce a novel Reduced Dynamics Algorithm

which is able to avoid this unpleasant aspect of contact dynamics. The proposed

1The case of dealing with a mixed elastic and inelastic collision is an extremely hard problem which

remains partially unsolved.

45

Page 60: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

46

algorithm essentially allows one to evaluate a reduced set of equations of motion

without having to go through the laborious task of actually constructing them. All

the algorithms are e�cient, recursive, and symbolic, and they are based on the

same modeling structure presented in Chapter II.

III.B Contact Algorithm

The algorithms presented here are based on the work found in [1, 78],

though some of the derivations will be di�erent as well as the notation which con-

tinues to be in line with the dynamical models presented earlier.

We begin with a discussion of contact constraints for tree-structured multi-

body systems. The system may have multiple branches which can come in contact

with the environment. Thus, there may exist multiple contact constraints at any

point in time. The algorithms generalize to the case where intermediate links come

into contact with the environment or with other links on the same branch or another

branch. We omit this development in the interest of brevity.

The equations of motion of a system experiencing contact constraints may

be described as

�� =M�1(u+ JTcfc � C � G) ; (3.1)

where fc represents the forces of constraint. We will later refer, meanwhile, to the

generalized accelerations, ��f , generated from the forward dynamics without contact

constraints as the free accelerations,

��f =M�1(u� C � G) : (3.2)

In equation (3.1) and (3.2),M is the square, positive-de�nite mass-inertia

matrix, C is the vector of Coriolis and centrifugal forces, G is the vector of gravi-

tational forces, and u are the applied forces at the links. Let Nc be the number of

contact points at any point in time and dc;k the number of contact constraints at

Page 61: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

47

the jth contact point so that the total number of contact constraints is

dc =NcXk

dc;k : (3.3)

Then Jc of (3.1) is the constraint Jacobian of dimension (6 � dc) � NL, where NL

equals the total number of links in the multibody system. The vector fc is the

stacked constraint force vector of length (6 � dc). The constraint force describes the

force that the environment is exerting back onto the system such that the contact

constraint remains ful�lled.

Assume we have one branch tip contact constraint. If the tip contact

constraint is given holonomically as

c(�) = 0 ; (3.4)

then by taking time derivatives we also obtain

Jc _� = 0 (3.5)

Jc�� + _Jc _� = 0 (3.6)

where Jc = @c=@�. We call these equations the contact constraint equations. The

following Contact Algorithm will �nd the correct accelerations for which the last

contact constraint equation (3.6) is satis�ed. Note that it will be assumed that the

�rst two contact constraints are satis�ed before the algorithm is called.

In order to determine the appropriate contact force which enforces the

contact constraint, we must now do some algebraic manipulation. Multiplying

(3.1) by Jc, substituting for Jc�� using (3.6), and rearranging terms gives us

�JcM�1JT

cfc = JcM

�1(u� C � G) + _Jc _� = Jc��f + _Jc _�

The matrix JcM�1Jc will be generically invertible. We may then solve for an

operator expression for the contact forces fc.

Using the symbolic dynamic operators, it is possible to arrive at an even

more succinct expression for fc which does not require the calculation of the con-

straint Jacobian nor of its derivative. In robotics, the Jacobian J usually refers

Page 62: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

48

to the mapping which takes the joint velocities to the tip velocity. It's adjoint

also maps the applied force at the tip to its e�ective applied forces at the various

joints. More generally, however, we can de�ne the Jacobian to perform the above

mappings to any set of points of interest in the multibody system. In particular,

we will de�ne the Jacobian J as that operator which takes the joint velocities _� and

maps them to the unconstrained spatial velocities at the points of contact,

Vc = J _� : (3.7)

The stacked vector of unconstrained spatial velocities at the points of contact Vc

will be of dimension (6 �Nc)� 1.

As the contact constraint equation Jc _� = 0 is equivalent to constrain-

ing certain components of the contact point spatial velocities, we may rewrite this

equation as QVc = 0. Q 2 Rdc�(6�Nc) is a constant matrix which maps the compo-

nents of Vc to a dc-dimensional vector. From the spatial operator decomposition of

V , V = �H _�, a decomposition of the Jacobian J and the constraint Jacobian Jc

may easily be derived. Except for Q, we need only the addition of a new matrix

operator B which acquires the spatial velocity at a point of contact on a link from

the spatial velocity at the joint position on that link. We then have the following

spatial operator decomposition for J and Jc:

J = B�H (3.8)

Jc = QB�H : (3.9)

The matrix B = colfBkg; k = 1; : : : ; Nc; is of dimension (6 � Nc) � (6 �PNb

jNj). If the k

th contact point is on the ith link of the jth branch, then the row

Bk contains all zeros except for a nonzero (6� 6) transformation operator �(c)k;(j)i

in the position corresponding to the ith link and jth branch which transforms the

spatial velocity at the joint position V(j)i to that at the kth contact point Vc;k.

Bk =

�0 � � � 0 �(c)k;(j)i 0 � � � 0

�(3.10)

Page 63: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

49

It is common that the contact points will be at a branch tip. In this case we may

write Bk as

Bk =

�0 � � � 0 �(j)tip;(j)Nj

0 � � � 0

�: (3.11)

The index (j)tip refers to the point located at the tip of the jth branch.

The matrix Q = diagfQkg, k = 1; : : : ; Nc, has a number of rows equal to

the number of constraints dc though the number of diagonal blocks Qk is equal to

the number of contact points. The di�erence lies in that there may exist more than

one contact constraint at a point of contact. The block Qk 2 Rdc;k�6 singles out

the components of Vc;k which are required to be zero. For example, if at contact of

a branch tip with the ground there is no slipping, but there is rotational freedom,

then

Qk =

26666640 0 0 1 0 0

0 0 0 0 1 0

0 0 0 0 0 1

3777775 (3.12)

Here, Qk is seen to take only the linear velocities of Vc;k but not the angular veloc-

ities. These result in three contact constraints.

Given the above de�nitions, the next step is to recognize that the time

derivative of QVc = QB�H _� = Jc _� is

Q _Vc = Jc��f + _Jc _� ; (3.13)

so that we may conclude with the following result:

Proposition 18 A recursive, symbolic expression for the contact forces is

fc = ��Q _Vc ; (3.14)

where � = (JcM�1JT

c)�1 is of dimension (dc � dc), _Vc 2 R

6�dc is a stacked spatial

acceleration vector containing the spatial accelerations at all the contact points, and

Q is a constant matrix which singles out the components of _Vc corresponding to the

constrained components of V .

Page 64: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

50

The term ��1 = (JcM�1JTc) called the operational space inertia is essen-

tially the mass-inertia matrix for all the constraint points in the system [48, 51].

We will later discuss how to calculate this term as it can be somewhat involved for

tree-structured systems.

We will now make some comments regarding the calculation of _Vc. Recall

that _V and, consequently, _Vc will have di�erent values depending on the choice of

Representation. What is of interest, however, is the actual physical accelerations

occuring at the points of contact. This prevents the use of the Spatial Represen-

tation for this Contact Algorithm as the Spatial Representation gives the spatial

acceleration with respect to a point coincident with the origin but moving as if �xed

to the body. Also of interest are the total time derivatives, not the local spatial

accelerations�

V. It is still possible to work with the Body Representation, we just

need to remember to use _V . The expression for _V from the Inertial Rpresentation

_V = �(�~V �V +H ��) + ~V (3.15)

will also work for the Body Representation, only now _V will not refer to the total

time derivative of V with the state vector represented in body coordinates. To

obtain the total time derivative, it is necessary to add a crossterm correction vector

d

dtV = _V + ~V : (3.16)

This latter step, however, is not required for the Contact Algorithm as it is assumed

that Vc = 0.

The correct transformation rule to acquire the tip acceleration _Vtip has also

not yet been discussed which will be needed in the event that a contact constraint

occurs at a branch tip. For example on branch j, determine _V(j)tip from the spatial

acceleration at the joint position _V(j)Nj. By taking derivatives of the spatial velocity

propogation rule (2.5), we obtain

V(j)tip = �(j)tip;(j)NjV(j)Nj

(3.17)

_V(j)tip = �(j)tip;(j)Nj( _V(j)Nj

� ~(j)NjV(j)Nj

) + ~(j)tipV(j)tip (3.18)

Page 65: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

51

Finally, to conclude the Contact Algorithm, we must �rst acquire the

corrected generalized accelerations. From the dynamics (3.1), we recognize that

�� = ��f +M�1JT

cfc = ��f + ��� ; (3.19)

where we have de�ned ��� as the corrective accelerations, which are to be added to

the free accelerations calculated from the forward dynamics algorithm. In summary:

Contact Algorithm

1. Calculate ��f from the forward dynamics.

2. Calculate _Vc using the inverse dynamics algorithm and, if necessary, the ap-

propriate propogation rules such as (3.18) for branch tip contact.

3. Calculate fc from (3.14).

4. Calculate ��� =M�1JTcfc.

5. Add ��� to ��f to obtain the �nal accelerations.

III.C Collision Algorithm

A very similar algorithm exists for calculating the change in joint velocities

due to an inelastic collision with the ground. We assume that at the moment of

collision with the ground, the system experiences an instantaneous impulsive force

fimp. This results in a sudden change in the generalized velocities. The amount of

change will depend on the tip velocities at the moment of contact with the ground.

Another consequence of a discontinuous jump in the velocities is also a sudden drop

in the kinetic energy of the system.

The following derivation is borrowed largely from [1]. As a shorthand

notation, let u = u� C � G contain all the terms in the equations of motion (3.1)

which do not contain any accelerations nor any contact forces. Then integrating

Page 66: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

52

these equations of motion over an in�nitesimal amount of time gives

lim�t!0

Zt+�t

t

M�� dt = lim�t!0

Zt+�t

t

JTcfc + u dt : (3.20)

This equation then implies

M� _� = JTcfimp where fimp = lim

�t!0

Zt+�t

t

fc dt : (3.21)

The term � _� refers to the change in joint velocities from immediately before to

immediately after the collision, and it is this term that we would like to calculate,

i.e. � _� = _�+ � _��.

Let �Vc = V +c� V �

cbe similarly the change in spatial velocities at the

points of contact from before and after the collision. Multiplying the expression for

� _� in equation (3.21) by JcM�1 and recognizing that Q�Vc = Jc� _� results in the

expression (JcM�1JTc)fimp = Q�Vc. From this we conclude:

Proposition 19

fimp = �Q�Vc (3.22)

where � = (JcM�1JTc)�1.

Note that, in general, a zero tip velocity is desired in the constraint directions. In

this case, QV +c= 0 and fimp = ��Q�V �

c.

Equation (3.21) now implies � _� =M�1JTcfimp. The joint velocities after

collision are then computed by _�+ = _�� +� _�. In summary:

Collision Algorithm

1. Calculate Vc from the calculated spatial velocities V using the propogation

rules such as (3.17) for branch tip collisions.

2. Calculate fimp from (3.22).

3. Calculate � _� =M�1JTcfimp.

4. Add � _� to _�� to obtain the joint velocities after collision.

Page 67: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

53

III.D Calculation of ��1 in the Contact and Collision Al-

gorithms

We have shown that the term � = (JcM�1JTc)�1 is required to compute

fc and fimp. This term is a di�cult one to calculate as we must construct the

entire matrix ��1 in order to invert it. This matrix of dimension dc � dc has a size

depending on the number of contact and collision cases. In the collision case, it is

with all likelihood that only one branch tip collides with the environment at any

one instant in time. However, to calculate the change in velocities, we must include

all the contact constraints into Jc, including the new collision case, such that all

the resulting velocities will satisfy equation (3.5) for the upcoming contact phase.

Though no closed form operator expression presently exists for �, we can

make use of the spatial operator identities to some extent to produce an O(N2)

algorithm. We may rewrite ��1 with the help of Identity (A.13) as

��1 = JcM�1JT

c

= QB�H[I �H K]D�1[I �H K]THT�TBTQT

= QB HD�1HT TBTQT (3.23)

Let X = HD�1HT and suppose there exists a matrix operator S which satis�es

the recursion

X = S � E SET

: (3.24)

Using Identity (A.10), we can then de�ne another operator Y which satis�es the

matrix recursion:

Y = X T = HD�1HT T (3.25)

= S + � S + S � : (3.26)

In the case of a single-chain manipulator, S is block diagonal and it is straightfor-

ward to calculate S using the recursion (3.24). For general tree-structured systems,

S will have o�-diagonal blocks as well which complicate its computation. Let S(j;k)

Page 68: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

54

be the (6 � Nj) � (6 � Nk) block component of S corresponding to branch j and k

while S(j) refers to the diagonal block component of S. Then S has the following

structure:

S(j) = E (j; j)S( j)ET

(j; j)+ E (j)S(j)E

T

(j) +HjD�1jHT

j

S(j;k) =

8>>>>>>>><>>>>>>>>:

E(j; j)S( j ; k)ET

(k; k)j > k; 9 p; q > 0;

+E (j)S(j;k)ET

(k;k) s.t. p

j=

q

k

ST(k;j) j < k

0 otherwise

(3.27)

In the interest of brevity, we will restrict the upcoming analysis to only

branch tip contacts and collisions. In this case, we need only consider the compo-

nents of Y which reference the last link of each branch. These components we will

reference with only the branch index, i.e. Y(j;k) refers to the interaction between

the last link of branch j and of branch k. It has the following structure:

Y(j;k) =

8>>>>>>>><>>>>>>>>:

S(j)Njj = k

(j)Nj;(k)NkS(k)Nk

j > k; 9 p s.t. pj= k

(j)Nj;(m)NmS(m)Nm T

(k)Nk;(m)Nmj > k; 9 p; q s.t. m =

p

j=

q

k

Y T

(k;j) j < k

(3.28)

Let Z = BYBT and �r be the branch number which the rth tip contact

point refers to. Then Z = fZ(r;s)g, r; s 2 f1; : : : ; Ncg is also a symmetrical matrix

composed in the following way:

Z(r;s) = �(�r)tip;(�r)N�rY(�r;�s)�

T

(�s)tip;(�s)N�s(3.29)

We present in Figure 3.1 a recursive algorithm for calculating ��1. Recall that pj

is the pth predecessor branch of branch j and dc is the total number of contact and

collision constraints.

Page 69: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

55

Figure 3.1: Recursive algorithm for calculating ��1 in the case of branch tip contact

or collision.

Page 70: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

56

8>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>:

for j = 1; :::;Nb

if j > 1; j; j= (j)1;( j)N j8>>>>>>>>>>>><

>>>>>>>>>>>>:

for i = 1; :::;Nj

S(j)i = (j)i;(j)i�1S(j)i�1 T

(j)i;(j)i�1 +H(j)iD�1(j)iH

T

(j)i

if j > 1;

j; j= (j)i;(j)i�1j; j

end loop

Yj;j = S(j)Nj

if j > 1;

Yj; j = j; jS( j)N j8>>>>>>>>>>>>>>>>>>><

>>>>>>>>>>>>>>>>>>>:

for k = j� 1; :::;1

if (9 p > 1 s.t. pj= k);

j;k = j;

p�1j

p�1j

;k

else,

j;k = 0

Yj;k = Y T

k;j= j;kS(k)Nk

end loop8>>>>>>>><>>>>>>>>:

for k = 2; :::; j� 1

if (6 9 p > 0 s.t. pj= k);

Yj;k = Y T

k;j= Yj; k

T

k; k

end loop

end loop8>>>>>>>>>>>><>>>>>>>>>>>>:

for r = 1; :::;dc8>>>>><>>>>>:

for s = 1; :::;dc

��1r;s

= ��Ts;r

= Q�r�(�r)tip;(�r)N�rY�r;�s�

T

(�s)tip;(�s)N�(s)QT

�s

end loop

end loop

Page 71: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

57

III.E Introduction of External Forces

It is sometimes desirable to introduce external forces to the system in

addition to those applied at the joints. For example, as will be seen in the case

study of the biped walker in Chapter VII, we add to our model an ankle torque at

the point of contact of the leg with the ground even though no foot is explicitly

modeled. This allows a reduction in the dimensionality of the problem by having

one less link in the multibody system.

The introduction of a force at the tip enters into the equations of motion in

the same manner as a contact force does in equation (3.1). Let fe be the external

force and Je be the Jacobian whose transpose transforms fe into the resulting

additional applied forces experienced at the various joints. Then using Identity

A.13,

�� = M�1(u+ J ecfc � C � G) (3.30)

= [I �K H]D�1hu�HT T

�KTu�M(�~V �V � _Vg)� ~V TMV

�i+[I �K H]D�1HT TBTfe

= [I �K H]D�1hu�HT T

�KTu�M(�~V �V � _Vg)� ~V TMV

�BTfe�i

(3.31)

It may also be of interest to introduce an arbitrary impulsive force to the

system. This also follows as in the collision case and requires only substituting

fimp into _�� = M�1JTefimp to determine the corrections to be added to the joint

velocities.

III.F Reduced Dynamics Algorithm

With the introduction of homonomic constraints, such as contact con-

straints with the environment, we create a so-called differential-algebraic system.

The system acquires a new set of dynamical equations which describe its motion in

Page 72: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

58

a now smaller dimensional space which is commonly called the constraint manifold.

In general, however, we will know the dynamical equations only for the free system

plus the additional algebraic contact constraints which describe the shape of the

constraint manifold. It is then necessary to use the contact constraints in combina-

tion with the free dynamical equations to determine the motion of the constrained

system on the constraint manifold.

The Contact Algorithm discussed in Section III.B determines the corrected

accelerations which satisfy the acceleration contact constraint equation (3.6). The

resulting di�erential-algebraic system can cause a su�cient amount of numerical

di�culties during integration of the dynamics. There exist various solutions to

integrating di�erential-algebraic systems which are surveyed and discussed in the

references [3, 73, 86].

A better alternative, however, to using specialized integration software is

to be able to construct the reduced, unconstrained set of dynamics which evolves

directly on the constraint manifold. As these equations can often be di�cult to

determine, they are not used very frequently. In the case of multibody systems,

though, there exist many cases for which they can be determined. For these cases,

we present here an algorithm which evaluates these reduced dynamics without hav-

ing to undergo the laborious task of actually constructing them. With only a

minimum of additional calculation, we may use just slight variations of the pre-

viously discussed algorithms to calculate the reduced accelerations of the reduced

dynamics which may be integrated free of numerical problems, after which we can

reconstruct the complete state from the updated reduced state.

In order to satisfy the velocity constraint condition (3.5), the generalized

velocities _� must belong to the null space of the constraint Jacobian, N (Jc) �

RN�m. If the columns of X represents a basis for N (Jc), then there exists a

representation of _� with respect to X denoted here by �, _� = X�. Substituting

�� = X _�+ _X� into the dynamical equations (3.1) and multiplying on the left by XT

Page 73: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

59

will give us the reduced dynamics,

M�_� + C� + G� = u� ; (3.32)

where M� = XTMX, C� = XTM _X� +XTC, G� = XTG, and u� = XTu.

If � represents the generalized coordinates of the system, then it is possible

to choose N �m locally independent coordinates �1 and m dependent coordinates

�2 such that Jc;1 _�1 + Jc;2 _�2 = 0 may be used as an alternative expression for (3.5).

This approach was made in [85], and it leads to an obvious choice for X,

_� = X� = X0_�1 =

264 I

�J�1c;2 Jc;1

375 _�1 : (3.33)

Remark 20 An advantage of making this choice for the basis X is that, as will

be shown in the Reduced Dynamics Algorithm, the reduced accelerations are simply

represented as _� = ��1.

Our goal here is to show that the solution of the contact algorithm may

be used to obtain a solution of the reduced forward dynamics problem. Then an

optimization routine performing numerical integration need only integrate on the

independent coordinates ��1. We �rst give a lemmabefore the algorithm is presented.

Lemma 21 Let X be a basis for the null space of the constraint Jacobian, N (Jc),

and assume that at time t = 0, the state (�; _�) satis�es the constraint conditions

c(�(0)) = 0, Jc _�(0) = 0. Then the following statements are equivalent:

(a) _� and �� satisfy Jc�� + _Jc _� = 0.

(b) There exists an N �m dimensional vector � which satis�es _� = X�.

(c) X _� = �� � _X� is consistent and has a unique solution _� = fracddt�.

Proof: (c)) (a) Since X is a basis for N (Jc), then JcX� = 0 and d=dt(JcX�) =

_JcX� + Jc _X� + JcX _� = 0. So,

Jc�� + _Jc _� = JcX _� + (Jc _X + _JcX)� = 0 :

Page 74: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

60

(a) ) (b) Integrating (a) implies Jc _� = 0 since Jc _�(0) = 0 at time t = 0. Jc _� = 0

further implies that there exists a representation � for _� with respect to X, _� = X�.

(b)) (c) Di�erentiating _� = X� and observing that X is full rank gives the desired

result.

If we substitute the calculated accelerations �� from the Contact Algorithm

into (a), we see that with some algebraic manipulation, this expression will be

satis�ed.

Jc�� = JcM�1(u� C � G) + JcM

�1JTcfc

= JcM�1(u� C � G)���1�Q _Vtip

= JcM�1(u� C � G)� Jc��f � _Jc _�

= � _Jc _� (3.34)

The importance of this fact is that it allows for the possibility to use the solution

of the Contact Algorithm for evaluating the reduced state accelerations.

Reduced Dynamics Algorithm

1. Beginning with an independent set of coordinates � = �1, solve via inverse

kinematics for �2 from �1. Similarly solve for _�2 from _�1 using the algebraic

relation _�2 = �J�1c;2Jc;1 _�1.

2. Given a set of torque inputs u, one may solve for �� with the Contact Algo-

rithm. Equation (3.34) shows how the solution satis�es (a) of Lemma 21.

3. Using Eq. (3.33), it follows that _� = ��1, and it satis�es the reduced dynamics

(3.32).

This algorithm thus yields the reduced forward dynamics mapping u !

(�; _�). The limitation of this approach is the requirement to solve an inverse kine-

matics problem in Step 1 which may be di�cult. In some cases, a simple closed-form

Page 75: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

61

solution may exist, and if there exists a multiple number of solutions, then the pre-

vious con�guration can be used to determine the correct updated con�guration.

More generally, a closed-form solution will not exist, then the standard approach

is to solve this nonlinear zero-�nding problem with iterative techniques for which

there exist many possibilities. See for example [24].

The calculation of the velocities _�2 = �J�1c;2Jc;1

_�1 is easier. It is always

possible to construct the matrix operators Jc;1 and Jc;2 using its symbolic matrix

decomposition. Moreover, it is also possible to use a variation of the Collision

Algorithm which only solves for the dependent state velocities such that the system

satis�es the constraint condition (3.5). In the case study to be presented later on

biped locomotion, we are able to use the above algorithm together with a closed-

form solution for the inverse kinematics problem. We also use the technique of

calculating the dependent velocities with the Collision Algorithm.

III.G Closed-Chain Dynamics

The development presented in this chapter can also be extended to the case

of closed-chain systems which includes those systems for which a branch may close

in on itself or on another branch of the multibody system. The algorithms for this

more general case were omitted as they were not necessary for the applications of

interest, namely the biped walking problem to be presented later. Roughly though,

the process for constructing the dynamics of such systems is to �nd a spanning

tree of the multibody system and then break the closed-chains to obtain a tree-

structured system. It is then possible to compute the forward dynamics and, in the

process of reattaching the chains, the Contact Algorithm can be used to �nd the

�nal accelerations for the system. For more details, see [77].

Page 76: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

Chapter IV

Derivatives of Spatial Dynamic

Operators and Applications

IV.A Introduction

Already we have used closed form, symbolic expressions for the derivatives

of spatial operators to construct the inverse and forward dynamics. These deriva-

tives have enabled us to develop powerful and exible, recursive, symbolic equations

for the evaluation and manipulation of the equations of motion. Further applica-

tions of these derivatives were presented in Chapter III for the cases of contact and

collision of a multibody system with the environment. There exist many further

applications which can make use of derivative expressions of the dynamics in areas

ranging from control to video motion estimation. The advantages are being able

to derive an expression which gives insight into its own structure and calculation.

Also, many simpli�cations can sometimes be made using the many identities that

exist.

In this chapter, we complete the results on derivatives for the most com-

mon operators and summarize them for the various Representations. We then

present several applications of their uses. A Lagrangian derivation of the dynam-

ics is presented which di�ers from the \bottom-up" approach taken in Chapter II.

62

Page 77: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

63

Derivatives of the energy in the system are presented. Then, in the special case

of the Spatial Representation, we present, making several extensions, the partial

derivatives of the dynamics with respect to the state variables. The ability to ob-

tain closed-form recursive expressions for these quantities which may then be used

in many control and estimation applications is extremely valuable and has not been

su�ciently recognized in the research community.

IV.B Derivatives of Spatial Operators

In Table 4.1 are listed the derivatives of several operators including a local

derivative under the Body Representation and a total derivative using the Inertial

and Spatial Representations. The local time derivative is an interesting quantity as

it is a natural derivative to be used when the dynamics are calculated in coordinates

with respect to a frame �xed in the body. This derivative, which we denote as a

circle derivative, was �rst introduced in Section II.A.2 and then later in Section

II.C. The �rst four lines of the table all list derivatives which have been presented

in the inverse dynamics sections of Chapter II. The remaining derivatives are of

those new matrix operators introduced in the forward dynamics section, Section

II.G.

Jain derives the derivatives for the Body and Inertial cases in the single

degree-of-freedom case [44], while we generalize these results and add the derivatives

for the Spatial case. The spatial time derivatives of E� and � are easily seen to be

zero as these are constant matrices in the Spatial Representation (see Eq. 2.62).

The derivative of H was derived with equation (2.58). The remainder of this section

will be used to prove the derivative results which have not yet been discussed in

this work beginning with the local derivative expressions.

Proof of Body Local Time Derivatives:

The local derivatives of E� and � are taken from (2.53) and (2.54) respectively

while those of H and M follow from their construction. An important operator in

Page 78: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

64

OperatorBody Local

Time Derivative

Inertial Total

Time Derivative

Spatial Total

Time Derivative

E��

E� = �~V �E��

E� +~E� � E� ~ 0

��

� = ��~V �E���

�+~�� �~ 0

H 0 ~H ~V H

M 0 ~M �M ~ �~V TM �M ~V

D �D = HT�PH �D �D

G �G = D�1HT�P �� �G �G~ �G �G~V

���

��= �H�G�

�� +~�� � �� ~�

�� +~V �� � �� ~V

E �HD�1HT�P E + ���

E��

E +~E � E ~�

E +~V E � E ~V

P�P = ET

�(��T�P �� � ~V �TP ��

���TP ~V �)E�

�P + ~P � P ~ �P � ~V TP � P ~V

Table 4.1: Time Derivatives of Spatial Operators

Table 4.1 is the local and total time derivative of P . The derivatives of the forward

dynamics matrix operators all depend on the derivative of this quantity, yet because

of the recursive nature of P , it is best to derive the other matrix operators �rst in

terms of �P . Lastly, we will derive the recursion for �P .

The body derivative of D = HTPH is immediate from previous de�nitions.

For the body derivative of G = PHD�1:

�G = �D�1�DD�1HTP +D�1H�P

= D�1HT�P [I �HG]

= D�1HT�P ��

The body derivative of �� = [I �HG] is immediate from previous de�nitions.

For the body derivative of E = ��E�:

E = �H�G E� + ���

E�

= �HD�1HT�P ��E� + ���

E�

Page 79: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

65

= �HD�1HT�P E + ���

E�

In order to derive a recursion for �P , it is easier to take the circle derivative of the

simpler P recursion found in Identity (A.22).

0 = �M =�

ET�PE � E

T

��P E � E

T

�P

�� E� � ET

�P ��

E�

= �P � ET��P ��E� + E

T

�PHD�1HT�P ��E��

ET�P ��E� � E

T

�P ��

E�

= �P � ET���T�P ��E��

ET�P ��E� � E

T

���TP

E�

= �P � ET�(��T�P �� � ~V �TP �� � ��TP ~V �)E�

The term enclosed by ET�and E� indicates a backwards recursion which produces a

block diagonal matrix. Thus, it is seen that �P will only depend on the other circle

derivative expressions from previous iterations.

Proof of Inertial Time Derivatives:

The inertial time derivatives of E�, H, and M are merely stacked versions of (2.35),

(2.36), and (2.14). From Identity (A.7), di�erentiating �(I � E�) = I results in

_� = � _E��. Further use of Identity (A.9) gives the result. The inertial time derivative

of P will initially be assumed to be of the same form as that of M , namely

_P = �P + ~P � P ~ : (4.1)

We will then use this expression in the derivation of the other forward dynamics

terms much as we did in the body local derivatives proofs.

_D = _HTPH +HT _PH +HTP _H

= HT ~TPH +HT (�P + ~P � P ~)H +HTP ~H

= HT�PH �HT ~PH +HT ~PH

= HT�PH

In the last equation, we used the fact that ~T = �~ as it is block diagonal matrix

consisting of skew-symmetric blocks.

_G = �D�1 _DD�1HTP +D�1 _HTP +D�1HT _P

Page 80: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

66

= �D�1HT�PG+D�1HT ~TP +D�1HT (�P + ~P � P ~)

= D�1HT�P [I �HG]�G~

= D�1HT�P �� �G~

_�� = �~HG�H(�G �G~)

=�

�� +~[I �HG] � [I �HG]~

=�

�� +~�� � �� ~

_E = (�

�� +~�� � �� ~)E� + �� (�

E� +~E� � E�~)

=�

�� E� + ���

E� +~E � E ~� �� ~E� + �� ~E�

=�

E +~E � E ~

Now we will see that, in fact, the assumed form of _P does indeed satisfy the time

derivative of the P recursive Riccati equation, (A.22). In this way, it is shown that

(4.1) is a valid closed form expression for _P . With the help of identity (A.21) and

the expression obtained for �P , we take the derivative of (A.22),

_M = _P � _E�T

PE � ET

�_PE � E

T

�P _E

= (�P + ~P � P ~)� (�ET�~V �T + ET

�~T � ~TET

�)PE

�ET�(�P + ~P � P ~)E � E

T

�P (

�� E� + ���

E� +~E � E ~)

= �P + ~P � P ~ + ET�~V �TP ��E� � ~ET

�PE � E

T

��P E

+ET�~PE � E

T

~PE + ET

�P ~E � E

T

�P ~E

�ET�P (�HD�1HT�P ��E� � �� ~V �E�) + E

T

�PE ~

= �P + ~(P � ET�PE )� (P � ET

�PE )~� E

T

��P E + E

T

��P ��E�

�ET�[I �GTHT ]�P ��E� + E

T

�( ~V �TP �� + ��TP ~V �)E�

= ~M �M ~ +�P � ET�(��T�P �� � ~V �TP �� � ��TP ~V �)E�

= ~M �M ~

We, thus, arrive at the already estabished derivative of M proving that (4.1) is a

valid expression for _P .

Page 81: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

67

Proof of Spatial Time Derivatives:

The time derivatives of E� and � follow from their construction presented in equation

(2.62) while those of H and M come from equations (2.58) and (2.28). The Spatial

time derivatives follow in much the same way as in the proofs of the Inertial time

derivatives with only minor exceptions. The form for _P will similarly be initially

assumed from the form of _M , namely

_P = �P � ~V TP � P ~V : (4.2)

In the case of _E , we will need the use of an additional identity, (A.25).

_E = (�

�� +~V �� � �� ~V )E�

=�

�� E� + ~V E� � ��(E� ~V + ~V �E�)

=�

�� E� + ���

E� +~V E � E ~V

=�

E +~V E � E ~V

It can also similarly be shown, as in the Inertial case and with the additional use of

identities (A.25) and (A.26), that the expression for _P from (4.2) satis�es the time

derivative of the recursive Riccati equation (A.22).

IV.C A Lagrangian Derivation of the Dynamics

In Section II.B, stacked spatially recursive operator expressions were given

for the mass matrixM and the Coriolis vector C. These were obtained by stacking

the operators used for the dynamics calculation at the link level, then substituting

for the various equations to obtain a single equation which described the equations

of the system. In section II.F, we then discussed the e�ect of a uniform gravitational

�eld, G, and we derived a spatial operator decomposition for it. We have thus

obtained a complete dynamical decomposition into spatial matrix operators for the

Page 82: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

68

entire equations of motion.

M(�)�� + C(�; _�) + G(�) = u : (4.3)

The equations of motion that we have developed thus far have been con-

structed from physical properties on the link level and the interlink relationships.

A compact dynamical description for the entire system was obtained by stacking

the link level spatial matrix operators into larger, more succinct matrix expressions.

For mechanical systems, it is common to obtain dynamical expressions for a system

by using the well-known Euler-Lagrange equation 1,

d

dt

@L

@ _��@L

@�= uT ; (4.4)

where L = KE � PE is called the Lagrangian.

In this section, we show how it is also possible to derive the equations

in this manner assuming expressions for the kinetic energy and potential energy,

and the derivatives of the matrix operators presented in Section IV.B. We restrict

our attention to the special case when the links of the multibody system may be

modeled as a succession of single degree-of-freedom joints. A su�cient condition for

this possibility to occur is that each link have at most one translational degree of

freedom with no restrictions on the rotational degrees of freedom. This restriction

is necessary for the derivation of the mass-inertia sensitivity matrix to be used later.

In Section II.A.1, a quadratic form for the kinetic energy was presented.

The physical principle that the kinetic energy is a constant independent of any

reference frame location on a rigid body immediately implied a form for the spatial

inertia Mx at any point x. By further accepting the construction of the spatial

velocity V = �H _� and its interaction withM to make up the kinetic energy for the

system, one arrives at the Newton-Euler decomposition for the mass-inertia matrix

M.

KE =1

2

NLXi

V T

iMiVi =

1

2V TMV

1 @

@�is the row operator, @

@�= ( @

@�1� � �

@

@�N)

Page 83: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

69

=1

2_�THT�TM�H _� (4.5)

=1

2_�TM _�

For obtaining the decomposition of M, we only needed to know the relationship

that existed between the spatial velocities V and the angular velocities _�. This

relationship was discussed in Section II.A.1.

Similarly, the potential energy for a uniform gravitational �eld may also

be written down as a sum of quadratic forms derived from physical relationships of

each link. The well-known physical principle mass�gravity�height may be written

as

PE =NLXi

mi gc hC;i (4.6)

where mi is the mass of link i, gc is the gravitational acceleration constant, and

hC;i is the vertical height of the center of mass of link i relative to the origin.

We have already constructed a matrix decomposition (Newton-Euler) for

the mass-inertia matrix, M. Consequently, the Innovations factorization (2.74)

used in Section II.G for the forward dynamics, may be constructed with matrix

identities. What remains is a derivation for the vector of Coriolis and centrifugal

forces C(�; _�) and the vector of gravitational forces G(�). These can be derived from

the Euler-Lagrange equation (4.4).

Substituting for the Lagrangian function L in the Euler-Lagrange equation

the kinetic energy minus the potential energy, L = KE � PE , and taking the

transpose, we arrive at the following expression:

M�� + _M _� �1

2_�TMT

_� + (PE )T�= u : (4.7)

The shorthand notation (PE )�is for the partial derivative with respect to � of the

potential energy while _�TMT

�_� represents col [ _�TM�i;k

_�] whereM�i;kis equal to the

partial derivative of M with respect or the kth component of the ith joint position

vector.

Page 84: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

70

Associating (4.7) with the general form for the equations of motion of

mechanical systems (4.3), we arrive at G = r�(PE) = (PE)T�and the following

well-known expression for C(�; _�) [57],

C(�; _�) = _M _� �1

2_�TMT

�_� : (4.8)

We now require an operator expression for _M, the sensitivitiesM�i;k, and (PE)�.

To obtain _M one may use the derivatives of the spatial operators from

Table 4.1 to di�erentiate the Newton-Euler factorization of M. Interestingly, the

result will be the same regardless of the choice of Representation and derivative.

Thus, using a local derivative with the Body Representation or an inertial time

derivative with any of the Representations leads us to the following expression for

_M =�

M.

Proposition 22

_M =�

M= HT�Th�ET

�~V �T�TM �M�~V �E�

i�H (4.9)

Proof: We present here a derivation using the Spatial Representation, though

the simplest derivation is certainly using the local circle time derivatives. Recall

that the time derivative of � is 0 in this case. The �nal result employs the use of

identity (A.26).

_M = _HT�TM�H +HT� _M�H +HT�TM� _H

= HT ~V T�TM�H +HT�T (�~V TM �M ~V )�H +HT�TM�~V H

= HT ( ~V T�T � �T ~V T )M�H +HT�TM(�~V �+ �~V )H

= HT�Th�ET

�~V �T�TM �M�~V �E�

i�H

Jain and Rodriguez use the derivatives to obtain a coordinate independent

representation for the sensitivities of the mass matrix M�iin [44]. We reproduce

this result here which is valid for single degree-of-freedom joints.

Page 85: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

71

De�ne the new stacked matrix operator ~H(i) which contains all zeros ex-

cept in the link i block position on the diagonal where there is found ~Hi. Then we

have the following result.

Proposition 23

M�i= HT�T

h�E� ~H

(i)T�TM �M� ~H(i)E�i�H (4.10)

_�TMT

�_� = 2HT�T

h~V T � ~V �T�T

iMV (4.11)

Proof: Using identity (A.31), we have that @M

@�i= @ _M

@ _�i. Recall that the stacked

spatial operator ~V � has on its diagonalgHi

_� The partial derivative of ~V � with respect

to _�i is thus ~H(i). Since this is the only term in _M which contains _�, the result for

M�ifollows from (4.9).

As previously de�ned, _�TMT

_� = colf _�TMT

�i

_�g. From identity (A.9), we

rewriteM�ias

M�i= (HT�T �HT )

h� ~H(i)T�TM �M� ~H(i)

i(�H �H) : (4.12)

Then, pre-and post-multiplying by _� gives

_�TMT

�_� = 2colf�(V T � V �T ) ~H(i;k)T�TMV g

= 2diagfHT

i( ~V T

i� ~V �T

i)g�TMV

= 2HT ( ~V T � ~V �T )�TMV

= 2HT�T ( ~V T � ~V �T�T )MV

Since _�TMT

�i

_� is a scalar quantity, we are able to combine the transposed quantities

in the �rst equation. The �nal step comes from using identity (A.26).

A useful result for systems with single dof joints is the identity

Identity 24

~V �H = 0 : (4.13)

Page 86: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

72

Proof: Both spatial operators are block diagonal so that their product consists

of ~V �

iHi =

gHi

_�iHi = � ~HiHi_�i = 0.

Using the previous results, we may now derive the equations for the Cori-

olis forces from the Lagrange equations via (4.8). First of all, identities (4.13) and

(A.9) give an alternative expression for _M.

_M = HT�Th�~V �T�TM �M�~V �

i�H (4.14)

C = _M _� �1

2_�TMT

�_�

= HT�Th�~V �T�TM �M�~V �

i�H _� �HT�T

h�~V �T�T + ~V T

iM�H _�

= HT�Th�M�~V � � ~V TM

i�H _� (4.15)

Note that the expression derived for C(�; _�) is the same as found in (2.49) when the

equations of motion are developed from the bottom up.

Finally, we seek to arrive independently at the known expression for the

gravity term G = (PE )T�presented in equation (2.68) of Section II.F. Beginning

with the potential term PE (4.6), we can use identity (A.31) of the Appendix.

According to identity (A.31), (PE )� = _(PE ) _� since (PE ) _� = 0. From (4.6),

_(PE ) =NLXi

gcmi vz;C;i (4.16)

The scalar vz;C;i is the z-component of the linear velocity of the center of mass of

link i. We continue with the Spatial Representation, for it is with this choice of Rep-

resentation that _Vg;0 is constant and equal to the vector _Vg;0 = [0 0 0 0 0 gc]T

for all links. Then,

_(PE ) =NLXi

_V T

g;iMC;iVC;i

=NLXi

_V T

g;i�TC;i

�1�TC;iMC;i�C;i�

�1C;iVC;i

Page 87: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

73

=NLXi

_V T

g;i�Ti;CMi�i;CVC;i

=NLXi

_V T

g;iMiVi

= _V T

gMV (4.17)

Note that the rigid body transformation operator �i;C, which transforms a spatial

vector from its de�nition at the center of mass to that at the joint position of link

i, is of the form such that

�i;C _Vg;i =

264 I 0

�~lC;i I

375 _Vg;i = _Vg;i :

Finally, it is easily seen that the only term dependent on _� in _(PE ) is

V = �H _� so that (PE ) _� =_V T

g;iM�H or

G = (PE )T�= HT�TM _Vg (4.18)

A change of representation to either the Inertial or the Body Representa-

tion may be made via the set of rigid body transformation operators E� in stacked

form. Then it can be shown how E� will be absorbed into the matrix operators found

in (4.18) proving that (4.18) is in fact a coordinate independent representation.

Beginning with the Newton-Euler decomposition of M and using the

derivatives of the spatial operators in Section IV.B, we have derived expressions

for the Coriolis terms and gravitational forces in the equations of motion in a top-

down fashion. This direct approach is in contrast to all previous approaches made

to derive symbolic recursive dynamics such those found in [15, 70, 72, 78].

IV.D Derivation of Coriolis Matrix for Skew-Symmetry

Property

Often it is necessary to factor a square matrix C which multiplies _� to

form C. Though this may be straightforward from the expression given for C, there

Page 88: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

74

may exist more than one form for C. In control design applications, for example, a

well-known and often used result is that _M�2C can be taken to be skew-symmetric

[57]. Using the expression for C given in (4.15), we have

_M� 2C = HT�Th�~V �T�TM +M�~V � + 2~V TM

i�H : (4.19)

Note that the �rst two terms make up together a skew-symmetric quantity as the

transpose of �~V �T�TM+M�~V � is the negative of itself where the symmetric nature

of M is exploited. The remaining term ~V TM is not skew-symmetric as this does

not equal �M ~V in general. This is a consequence of the fact that the choice for C

is not unique. If we exploit the fact that ~V V = 0, we may make another choice for

C which leads us to a matrix C which does satisfy the skew-symmetry property.

Proposition 25 The following choice of C renders the expression _M� 2C to be

skew-symmetric.

C = HT�Th�M�~V � � ~V TM +M ~V

i�H (4.20)

Proof:

C = HT�Th�M�~V � � ~V TM +M ~V

iV

= HT�Th�M�~V � � ~V TM +M ~V

i�H _� (4.21)

= C _�

Substituting this new expression for C in _M� 2C gives us

_M� 2C = HT�Th�~V �T�TM +M�~V � + 2(~V TM �M ~V )

i�H (4.22)

which is now easily seen to be skew-symmetric.

Thus, eq. (4.20) is the correct choice for C if the skew-symmetry property is to be

exploited. The new expression for the matrix C also satis�es,

_M = C + CT : (4.23)

Page 89: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

75

This result was �rst announced in [30]. Also at the same time in the doctoral thesis

[72], a new link level operator was constructed to derive a stacked operator expres-

sion for a matrix C which satis�es the skew-symmmetry property. The approach

presented here, however, is slightly more direct and does not require the de�nition

of any additional matrix operators.

IV.E Time Derivatives of Energy

It was last discussed with equation (4.6) how the kinetic energy of a me-

chanical system, such as the multibody system we have been studying, may be

expressed as KE = 12_�TM _� = 1

2V TMV . Similarly, the potential energy was seen

in (4.6) to be equal to PE =PNL

imi gc hC;i. In this section, we derive a recursive

algorithm for calculating the time derivative of the total energy,

TE = KE + PE : (4.24)

This quantity can often be useful for studying the evolution of a mechanical system.

In particular, at a single point one will be able to tell how the energy in the system

is increasing or decreasing.

Using the result found in equation (4.17), we have that

_(TE ) = _V TMV +1

2V T _MV + _V T

gMV : (4.25)

Note that when using the Spatial Representation V T _MV = 0 so that (4.25) has

the particularly appealing form of

_(TE ) = ( _V + _Vg)TMV (4.26)

Energy Time Derivative Algorithm

1. Compute �� and _Vg from forward dynamics algorithm.

2. Compute _V from inverse dynamics.

3. Combine them using (4.25) or (4.26).

Page 90: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

76

IV.F Spatially Recursive Linearized Dynamics

The possible applications in control and estimation for the use of the

linearized dynamics are too numerous to mention here. Let it su�ce that the

existence of e�cient, spatially recursive algorithms for their calculation can be

of tremendous value. Though it is also possible to generate these equations using

software which can di�erentiate symbolically, this approach is often not feasible due

to the large memory and storage requirements as the dimension of the multibody

system increases. Additional impediments are the huge calculational processing

time necessary for such an undertaking and a closed form expression will often be

exceedingly large to work with. This \curse of dimenionality" can be experienced

with systems of dimensions already of 4 or 5.

In this section, we develop using the modeling framework presented so far

a spatially recursive form for the partial derivatives of the dynamics with respect

to the position and velocity states. The equations we present here were �rst given

in [42]. The equations can be applied to models which have joints which can be

represented as a series of single dof joints. We also add new explicit terms for

the gravitational forces. Later in Chapter V, the use of these equations for the

calculation of the adjoint equations in an optimal control setting are discussed.

Due to the techniques used here, these equations will only be valid using

the Spatial Representation. We exploit the unique property of this Representation

that at the point of calculation of the dynamics, the spatial force f acting on a

single rigid body is just the time derivative of the spatial momentum MV . This

property is used together with the identities found in Section A.D to obtain partial

derivatives of the system dynamics with respect to the state variables.

We present a di�erent spatial co-cross product operator similar to the

spatial cross product tilde operator for spatial vectors de�ned in Section II.A.1.

Let X and Y be spatial vectors. It was discussed in Section II.A.1 how spatial

cross product operators and vectors satisfy ~XY = �~Y X. The spatial co-cross

Page 91: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

77

product operator will be denoted with a circle cross:

X =

264 c

d

375 ; c; d 2 R3 (X) =

264 ~c ~d

~d 0

375 : (4.27)

For brevity, this operator will be called the circle cross operator. It satis�es

the following identities which may be veri�ed through matrix multiplication and

the tilde identities in Section A.B.

(X)T = �(X) (4.28)

(X)Y = ~Y TX : (4.29)

As with the previously de�ned notational conveniences involving (6 � 6) spatial

matrices, when a circle-cross spatial quantity does not have any link reference index,

then this will indicate a block diagonal matrix with the 6 � 6 circle-cross matrix

operators of each link along the diagonal.

The following additional identities involving circle cross operators hold.

Let X be a constant spatial vector. Then,

Identity 26@

@�[HTX] = HT (X) ��H (4.30)

Proof: Using identity (A.31) and the identities of the circle cross operator (4.28)

and (4.29),

@

@�[HTX] =

@

@ _�[ _HTX] =

@

@ _�[HT (X)V ] = HT (X)�H = HT (X) ��H

The last equation comes from identity (A.9) and the fact that (X) is skew-

symmetric as indicated from (4.28).

Now, similarly consider X to be a constant spatial vector. Another iden-

tity is as follows:

Page 92: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

78

Identity 27@

@�(MX) =

�� (MX) +M ~X

��H (4.31)

Proof: Again using identity (A.31) and the circle cross operator identities,

@

@�[MX] =

@

@ _�[ _MX]

=@

@ _�[(�~V TM �M ~V )X]

=@

@ _�[�(MX) +M ~X ]V

= (�(MX) +M ~X)�H

These identities will be useful in �nding the partial derivatives of the

inverse dynamics of the Spatial Representation: (2.61).

V = �H _�

_V = �(H �� � ~V �V ) = �(H �� + ~V H _�) = �d(H_�)

dt

f = �T�M( _V + _Vg)� ~V TMV

�= �T

d(MV )

dt+ �TM _Vg

u = HTf

(4.32)

The ability to write the inverse dynamics as a constant matrix times the derivative

of a spatial quantity allows for the possibility of deriving expressions for the partial

derivatives of the dynamics as we will soon see. The partial derivatives will �rst

be derived for the inverse dynamics, then later extended to the forward dynamics.

The �rst step will be to derive an intermediate result @

@�(MV ) which will be useful

in later calculations.

Identity 28@

@�(MV ) = �(MV )�H +M�( ~V � ~V �)H (4.33)

Proof: Using identities (A.31), (4.31), (2.8), (A.9), (A.26), and (4.13),

@

@�(MV ) =

@

@�(MX)jX=V +M(

@

@�V )

Page 93: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

79

= [�(MX) +M ~X ]jX=V �H +M(@

@ _�_V �

d

dt

@

@ _�V )

= (�(MV ) +M ~V )�H +M@

@ _�(�H �� + �~V H _�)�M

d

dt(�H)

= (�(MV ) +M ~V )�H +M�( ~V H � ~V ��H)�M�~V H

= (�(MV ) +M ~V )�H +M(�~V � ~V �)H �M�~V �H

= �(MV )�H +M�~V H

The use of Identity (4.13) in the last step presumes a multibody system with only

single dof joints or one that can be modeled as such.

In the process of determining the partial derivatives of u, the term @

@�G

will be needed as u = HT�T d

dt(MV ) + G. We will be able to derive @

@�G with the

help of the subsequent intermediate results.

Identity 29 Let R and S be two block diagonal matrices containing spatial (6�6)

matrices on its diagonal which satisfy the recursive relationship Sk = Sk+1+Rk, or

equivalently, S = ET�SE� +R. Then S and R also satisfy

�TR� = �TS + S �� : (4.34)

Proof: Pre- and post-multiplying S = ET�SE�+R by �T and � and using Identity

(A.9) gives

�TR� = �TS�� �TS ��+ S �� = �TS + S �� :

De�ne fg as

fg = ��TM _Vg (4.35)

so that G = �HTfg. With the help of Identity (4.34), we arrive at the following

relstionships:

Proposition 30

�T (_z }| {

MV )� = �T (f � fg) + (f � fg)

�� (4.36)

�T (M _Vg)� = ��T (fg)

+ (fg) �� : (4.37)

Page 94: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

80

Proof: Taking the circle cross operation of the recursions

f � fg = �Td

dt(MV ) = ET

�(f � fg) +

d

dt(MV )

fg = ��TM _Vg = ET�fg �M _Vg

results in

(f � fg) = ET

�(f � fg)

E� + ( _MV )

(fg) = ET

�(fg)

E� � (M _Vg) :

Associating the now block diagonal operators (f � fg) and (

_z }| {MV ) with S and R

respectively and using Identity (4.34) gives the �rst result. The second follows in

the same manner.

We are now ready to state one of the main results of this section.

Proposition 31 The partial derivative with respect to � of the vector of gravita-

tional forces G is given as

@

@�G = �HT�T

�(fg)

H +Mf_Vg�H� (4.38)

Proof: Using Identities (4.30) and (4.31) with equation (4.37), we have

@

@�G =

@

@�(HTX)jX=fg �HT�T

@

@�(MX)j

X= _Vg

= HT (fg) ��H �HT�T (�(M _Vg)

+Mf_Vg)�H

= �HT�T�(fg)

H +Mf_Vg�H�

The central results of this section will be the partial derivatives of the

applied forces u. As will be shown, the partial derivatives of the forward dynamics

will almost be automatic once those of the inverse dynamics are obtained. Jain

�rst presented this derivation in [42], though for single degree of freedom joints

and without any special treatment for the gravitational forces. Once again, our

ability to derive these results hinges upon the special characteristics of the Spatial

Representation which allows us to exploit the identities found in Section A.D.

Page 95: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

81

Proposition 32 The partial derivatives of the inverse dynamics with respect to the

state (�; _�) are

@

@�u = HT�T

�� (f)H �M

~_Vg�H + 2 �M� _H +M� �H�

(4.39)

@

@ _�u = 2HT�T ( �M�H +M� _H) (4.40)

where �M = 12( _M � (MV ), _H = ~V H, and �H = � ~H _V + ~V ~V H. The operator (f)

is the block diagonal matrix with the 6� 6 circle cross operator of the spatial forces

on the diagonal.

Proof: We �rst prove the second statement, namely that of @

@ _�u. For this purpose,

we use Identities (A.31) and (4.33).

@

@ _�u = HT�T

@

@ _�[d

dt(MV )] +

@

@ _�G

= HT�T� ddt[@

@ _�(MV )] +

@

@�(MV )

�= HT�T ( _M�H +M� _H) +HT�T

�� (MV )�H +M�~V H

�= HT�T ( _M � (MV ))�H + 2HT�TM� _H

= 2HT�T ( �M�H +M� _H)

The derivation of @

@�u will require Identities (A.32), (4.30), (4.33), and (4.36), and

equation (4.38).

@

@�u =

@

@�[HT�T

d

dt(MV )] +

@

@�G

=@

@�(HTX)jX=(f�fg) +HT�T

d

dt

@

@�(MV ) +

@

@�G

= HT (f � fg) ��H +HT�T

d

dt[�(MV )�H +M�~V H] +

@

@�G

= HT (f � fg) ��H +HT�T [�( _MV )�H � (MV )� _H + _M�~V H

+M�~_V H +M�~V _H] +

@

@�G

= HT�T [�(f � fg)H + ( _M � (MV ))� _H +M� �H)

�HT�T ((fg) +M

f_Vg�)H= HT�T

�� (f)H + 2 �M� _H +M� �H �M

f_Vg�H�

Page 96: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

82

Now, the forward dynamics are given by �� =M�1(u� C � G). As shown

in [42], we can obtain the partials of �� from those of the inverse dynamics.

@��

@�= �M�1@M

@�M�1(u� C � G)�M�1

@C

@�+@G

@�

!= �M�1@u

@�

@��

@ _�= �M�1@C

@ _�= �M�1@u

@ _�

We are therefore easily able to construct the partials of the forward dy-

namics.

Proposition 33

@

@��� = �[I �K H]D�1HT T

�� (f)H +M

f_Vg�H+2 �M� _H +M� �H

�(4.41)

@

@ _��� = �2[I �K H]D�1HT T ( �M�H +M� _H) (4.42)

Proof: Using equation (2.75) and Identity (A.13),

@

@��� = �M�1 @

@�u

= �[I �K H]D�1[I �K H]THT�T�� (f)H +M

f_Vg�H+2 �M� _H +M� �H

�= �[I �K H]D�1HT T

�� (f)H +M

f_Vg�H+2 �M� _H +M� �H

@

@ _��� = �M�1 @

@ _�u

= �2[I �K H]D�1HT T ( �M�H +M� _H)

Page 97: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

83

The equations presented in this section are for the special case of single

dof joints, though certain types of multiple dof joints can also be modeled with

successive single dof joints. An example of an application of these methods is

presented in Section V.F when we outline how to recursively construct the adjoint

equations for the optimal control of a multibody system.

Page 98: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

Chapter V

Nonlinear H2 and H1Control and

Numerical Solution Techniques

V.A Introduction

This chapter discusses various numerical techniques for the solution of

nonlinear H2 and H1 control problems with full state feedback. We present �rst

the de�nitions of these control formulations and give some indication of their impor-

tance in nonlinear control. Their linear analogues already have had much success in

the control community. Linear H2 or LQR control design dates back to Kalman's

work in the early 60's and continues to be frequently used. Linear H1 control

began to gain favor in the early 80's with the work of Zames [101], Helton [32],

and Doyle [20]. State space solutions for the problems were later presented in [19].

The continued popularity of H2 and H1 control methodologies stems largely from

their very good stabilization and robustness properties [102]. There are many types

of control problems which �t naturally into the H2 or H1 framework such as sta-

bilization problems, trajectory tracking, risk-sensitive problems, and disturbance

attenuation problems [28, 102].

The extension of the linear methods to nonlinear control problems fol-

lowed soon afterwards in the late 80's and early 90's with the pioneering work in

84

Page 99: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

85

[7], followed by the work reported in [8, 37, 91]. In the nonlinear regimes, computa-

tional methods for solving these problems are still in their early stages, and there is

no generally accepted format for the best approach to solving them. The existence,

however, of numerical procedures which can solve these problems is vastly under-

appreciated. In Section V.D, we outline many of the proven numerical methods for

solving these problems. We pursue in Section V.C two such approaches for solving

nonlinear H2 and H1 control problems which we feel are well-suited to handling

saturation and other constraints of the problem, are e�cient, and can accomodate

higher dimensional systems to some extent.

After the discussion of the various existing numerical approaches, we il-

lustrate how our proposed numerical scheme is implemented by using the test case

of a swinging pendulum. Important subtleties of numerical optimal control become

very evident even in this case. For example, there may exist initial conditions of

the system for which there exist two completely di�erent, equally optimal solutions.

This can lead to situations where a small change in the initial conditions can lead

to radically di�erent solution trajectories.

The last section of the chapter, Section V.F, is more in the spirit of the

previous chapters on exploiting the recursive algebraic structure of multibody sys-

tems. It outlines how one may solve optimal control problems associated with

multibody systems via the method of characteristics. Using previous results from

Chapter IV on recursive, symbolic equations for the linearized dynamics, a recur-

sive and e�cient scheme is presented for the calculation of the adjoint equations

for this class of systems.

Page 100: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

86

V.B Nonlinear H2 and H1Problems

The class of state equations that will be considered will be nonlinear,

smooth, time-invariant having the form,

_x = f(x; u;w) = a(x) + b1(x)u+ b2(x)w

z =

264 h(x)

u = l(x)

375 (5.1)

where x(t) 2 X is the state, u(t) 2 U is the controlled input, w(t) 2 L2[0,T], T � 0,

is the disturbance input, and z are the to-be-controlled outputs or penalties.

z

y = x

l(x)

u.

w

x = f(x,u,w)

Figure 5.1: System Diagram

V.B.1 Nonlinear H2Control and the HJB PDE

In the nonlinear H2 control problem, no disturbances enter into the model

(5.1), w � 0. The problem lies in minimizing a cost functional of the form,

V (x) = infu

�1

2

ZT

0jjz(t)jj2 dt+ '(x(T ))

�; (5.2)

which is often called the value function.

For numerical purposes, it is possible to incorporate the state equations

of the system into the cost functional, whereby traditional nonlinear optimization

software may be applied to it. One may also solve the problem by de�ning a

Page 101: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

87

Hamiltonian function H(x; p),

H(x; p) = pTa(x)�1

2pT b1(x)b

T

1 (x)p+1

2hT (x)h(x) ; (5.3)

which in the H2 case is convex. The solution to the H2 control problem will satisfy

a Hamilton-Jacobi-Bellman inequality (HJB) de�ned by H(x; dVT

dx) � 0 [92]. In

the numerical methods to be discussed, we will be seeking the null Hamiltonian

solution where H(x; dVT

dx) = 0.

The solution of the control problem is thus \simpli�ed" to the solution of

a �rst-order PDE.

V.B.2 Bicharacteristic ODEs

It has long been known that this class of PDE's is equivalent to a system of

ODE's of double the dimension [9]. In the case of (5.3), the corresponding boundary

value problem is described by the Hamiltonian vector �elds dx

dtand dp

dt. The vector

p is denoted as the set of adjoint variables for the system, and it is also equal to

the transpose of the gradient of the value function, p = dVT

dx. The boundary value

problem consists of the following \bicharacteristic" equations:

_x = @H

@p(x; p) _p = �@H

@x(x; p)

x(0) = x0 p(T ) = @'(x(T ))@x

(5.4)

The Hamiltonian will be constant and equal to zero along an optimal trajectory,

thus solving the HJB inequality.

This boundary value problem characterizes solving the �nite time H2 or

H1 control problem with no �nal state constraints. We take the approach in this

paper of indirectly requiring the state x(t) to converge to a desired equilibrium x�

by including a penalty function of the squared error of the state from the equi-

librium into the performance. This has the e�ect that the system will converge

asymptotically to x� with speed determined by the gains chosen.

Page 102: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

88

V.B.3 Optimal State Feedback Law

The vectors x and p may be used to de�ne the optimal control

u� = �bT1 (x) p (5.5)

along each optimal trajectory. The numerical values for x, p, and u make up an

open-loop solution as all variables will only be known as a function of time and

only at a discrete set of points along the trajectory. Once one has calculated many

such trajectories, one can begin to approximate the numerical function x 7! u,

known only on a grid, by a function u�(x) given for all x (at least all x in some

neighborhood) by a formula. This is done to interpolate between grid points, so

one has a control law which can be quickly applied to any state. An example of an

approximation method which can scale up to higher dimensions is a neural network

such as can be found in the easy-to-use Matlab neural network toolbox [62]. Later

in Chapter VI we use this to derive the optimal feedback controller for the jet engine

control problem.

V.B.4 Nonlinear H1Control

In the nonlinear H1 control problem, the model used (5.1) contains L2-

bounded disturbance inputs w. The objective here is to �nd a controller which

guarantees that the closed-loop system has an L2-gain less than or equal to a

prespeci�ed constant level from the disturbance inputs w to the output penalty

functions z [92].

We write this L2-gain condition as

ZT

0jjz(t)jj2dt � 2

ZT

0jjw(t)jj2dt+ �(x(0)) (5.6)

for all disturbance functions w(�) 2 L2[0; T ], T � 0. The constant value �(x(0))

satis�es 0 � �(x) � 1, and �(x�) = 0, where x� is the equilibrium for the system.

z(t) is the response of the system for the initial condition x(0).

Page 103: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

89

As in eq. (5.2), one may de�ne the nonlinearH1 control problem as an op-

timization of a performance index. Unlike the H2 problem, however, the optimiza-

tion is of a minimax-type which prevents the use of standard nonlinear optimization

software.

One may similarly de�ne a Hamiltonian function H(x; p), which is now in

general nonconvex, for the nonlinear H1 control problem,

H(x; p) = pTa(x) +1

2pT�1

2b2(x)b

T

2 (x)� b1(x)bT

1 (x)

�p

+1

2hT (x)h(x) : (5.7)

The solution to this problem, as in the nonlinear H2 control problem, may be ob-

tained by solving for a C1 solution V (x) to the so-called Hamilton-Jacobi-Isaacs

inequality HJI , H(x; dVT

dx) � 0. The solution may also be calculated by solving a

set of bicharacteristic equations as in (5.4).

V.C Proposed Numerical Solution of Nonlinear H2 and H1

Problems

The numerical approach to be discussed consists of several methods which

may be used independently or in combination for solving the HJB and, in some

cases, the HJI equation. These methods will calculate the open-loop solution to an

optimal trajectory. The �rst method to be discussed is limited in that it can only

solve the nonlinear H2 optimal control problem.

V.C.1 Direct Minimization

To solve the H2 control problem numerically with the direct minimization

approach, one discretizes the state and control variables in time over the trajec-

tory. One may then formulate the minimization of the cost functional subject

to the di�erential and output constraints as a �nite-dimensional, nonlinearly con-

strained, optimization problem. The convexity of the H2 problem allows conven-

Page 104: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

90

tional Newton-based methods such as Sequential Quadratic Programming (SQP) to

be used to solve the problem. Also, the direct minimization approach will �nd the

solution to the HJB equality,H(x; dVT

dx(x)) = 0. The program DIRCOL from Oskar

von Stryk [94, 95], which uses the nonlinear optimization software NPSOL (Gill,

Murray, Saunders, Wright [26]), takes this approach and, in addition, it provides

accurate estimates of the adjoint variables p.

V.C.2 Multiple Shooting

The second method, multiple shooting, may be applied to either the

H2 control problem or the H1 problem. The equations to be solved are the two-

point or multi-point boundary value problem described by (5.4). An important

property of this approach is that it can also handle nonconvex problems.

The prescribed boundary conditions for the problem are initial values of

the state x(0) and �nal values of the adjoint variables p(T ). The traditional shooting

method integrates the state equations beginning at x(0) and from a guess for p(0)

for a prespeci�ed time T . When the numerical value obtained for p(T ) from the

integration does not match the boundary condition p(T ) = @'(x(T ))

@x, a zero-�nding

problem may be set up in terms of the constraints, and Newton's method may then

be used to iterate on p(0) until the boundary condition is satis�ed.

The strong sensitivity of initial value problems, and the small convergence

region for the Newton's method make solving these problems via simple shooting

very di�cult. A multiple-shooting algorithm, however, is more stable and robust to

nonlinearities. This procedure consists of dividing up the time interval [0; T ] into a

series of grid points [0; t1; t2; : : : ; T ], and a shooting method is performed between

successive grid points (see Figure 5.2). A set of starting values for the state and

adjoint vectors is required at each grid point in time, and continuity conditions for

the solution trajectory introduce additional interior boundary conditions which are

then incorporated into one large zero-�nding problem to be solved.

The program MUMUS by Peter Hiltmann [33] is a multiple-shooting code

Page 105: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

91

final curve

straight-linestarting values

x

time0 t t T

1 2

Figure 5.2: Multiple Shooting Method

which can solve two-point or multi-point boundary value problems using a modifed

Newton method. This method is, in general, quicker than direct minimization, lend-

ing itself more readily to iterated calculations of trajectories. A drawback, however,

is that the adjoint equations must be programmed as input to the code. For compli-

cated problems, generating the equations by hand or with symbolic manipulation

packages may pose a formidable task.

V.C.3 Shooting Out

While the multiple shooting method is commonly used for solving a bound-

ary value problem, one may alternatively obtain optimal trajectories by starting

near the desired equilibrium x� and at selected values p, then integrating the state

and adjoint di�erential equations outwards. This process is called shooting out. We

are, thus, able to obtain optimal trajectories for the state without having to solve

a di�cult two-point boundary value problem. A set of starting values (a guess for

the solution trajectory) is also not needed as is the case in direct minimization and

multiple shooting. This technique was successfully used by McEneaney in [63].

The disadvantage of the shooting out method is that one has less control

in reaching a speci�ed set of states. Remaining regions of the state space, that

Page 106: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

92

are not able to be mapped out with optimal trajectories via shooting out, may be

mapped with the previous multiple shooting approach using as starting values the

optimal trajectories already obtained.

V.C.4 Combined Method

When one wishes to map out the value function over a large region of the

state space for purposes of approximating well the optimal closed-loop controller,

it is necessary to calculate a fair number of optimal trajectories. We can use the

superiority of direct minimization or shooting out methods to generate several of

these trajectories when little or no prior knowledge of the solution is available in

order to acquire starting values for the multiple shooting method when solving for

the remainder of the trajectories. The multiple shooting method works well when

many di�erent optimal trajectories are sought after since the algorithm is fast, and

one may initialize each run from the previous run. One has much more control in

the mapping out of the state space than one might have with shooting out, and the

method is, in general, quicker than direct optimization methods.

V.C.5 Homotopy

In order to compute the value function V and the optimal control u�, we

must compute a family of optimal trajectories which approximately (maybe only

coarsely) sweep out most of the state space. Supposing we have computed an

optimal trajectory Tx1 from a state x1 to the equilibrium x�, to quickly compute

trajectories Tx from many initial states x, simply pick x2 near x1 and use Tx1 to

initialize a MUMUS or DIRCOL computation of Tx2. We have found this proceeds

quickly to give us many optimal trajectories (see Section VI.B.5). Henceforth, we

refer to this as homotopying trajectories, since the point is to move them gradually.

When using the multiple shooting method, one may similarly homotopy

in the initial conditions of the state variables, using both the state and adjoint

trajectories previously calculated to serve as starting values for the new boundary

Page 107: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

93

value problem to be solved. By calculating trajectories over the portion of state

space of interest, one will know u� and V at points over this entire area. Multivariate

approximation methods may then be used to �nd u� approximating u� as a function

of the state x.

After the calculations have been made, the approximation u� of the closed-

loop controller may then be implemented for use in real-time.

V.D Other Numerical Methods

There are many numerical approaches which have been tried on HJB and

HJI equalities and inequalities and listing them all is beyond us. We shall try to

list some of the main ones.

V.D.1 Finite di�erences

The method of �nite di�erences has been used successfully for solving HJB

and HJI problems of low dimension. For an account of �nite di�erence methods

and their relation to Markov chains see Kushner and Dupuis [54]. Also Falcone

[22] and the doctoral thesis by P. Dower under M. James [18] have used extensively

�nite di�erences in this setting. It is not clear how these would extend to high

dimensions in a manageable way, since rectangular grids have a rigid geometry.

V.D.2 "Small" basis of functions

The idea in this approach is to select basis functions fj , expand the value

function V asPM

j=1 cjfj , then some work is required to �nd the proper coe�cients cj.

The main di�culty lies in selecting the basis functions fj. The common approach

in conventional numerical PDEs (in dimension < 4) is to use basis functions which

are piecewise polynomials. In principle, in order to solve a �rst order PDE like

HJB's, they should be continuous. The tessellating (such as tetrahedra) of space

into pieces which match up is a serious problem. Doing this exibly in 3 dimensions

Page 108: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

94

took substantial study, but of course is well developed now. The advantage is that

once everything is set up, mesh re�nement can be done on regions of space which

may otherwise seem treacherous. However, doing this in say 5 dimensions may well

be very di�cult.

One can select basis functions in a way which is \ad-hoc" and much less

di�cult. For example, Beard and McLain [10] use physical intuition coming from a

particular plant model to select 10 or 12 basis functions. For example, if the model

contains sines and cosines and powers of x, then their fj 's will too.

For control purposes, one need only solve HJI inequalities, provided the

solutions V satisfy conditions which make them what are called viscosity subso-

lutions. If continuity is not required for V and jumps are allowed, the problem

becomes easier, but the control law typically has jumps.

Once a basis of fj is selected, one can �nd the cj's in several ways. One

is a Galerkin procedure for solving HJI equations, described for example in [10].

Another is by directly substituting V =PM

j=1 cjfj into the HJI inequality to obtain

inequalities of the form

q(ffj : j = 1; : : : ;Mg; x) � 0 8xMXj=1

cjfj � 0 :

Here, q is quadratic in the fj , and one elects some �nite set of x to yield �nitelymany

constraints (crucial areas can be heavily gridded). Various optimization schemes

can be applied.

V.D.3 Partly Analytical Methods

Very intriguing is backstepping, which applies to special classes of systems

and obtains analytical expressions for V and the controller u. Thus, when it applies,

it has the potential for beating the curse of dimensionality. One advantage of

obtaining analytical expressions for V and u is that often the solution need not be

recomputed with changes in the parameter values or choice of equilibrium.

Page 109: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

95

Backstepping does not approach saturation directly, however, although a

highly experienced practitioner may well come up with compromises. This makes

it di�cult to compare our e�orts with backstepping, especially in the jet engine

compressor problem considered in Chapter VI where we will see that rate saturation

dominates.

Similarly, feedback linearization is not able to address saturation directly.

V.D.4 Characteristics and Direct Minimization

The method of characteristics, as they pertain to multiple shooting and

shooting out, and direct minimization methods were presented in the previous

section. They seem to have the most promise among methods for \fully" solving

HJB equations. The shooting out or multiple shooting methods can be a bit di�cult

to enter into a program at this point, since the adjoint equations can be complicated.

Direct methods, while slower, are comparatively easy to run. All of these methods

�nd the value function V (x) at each point x along a curve. In delicate regions, one

can pick many x's, otherwise only a few x's may be necessary to approximate V (x)

well. A careful approach can, thus, help combat the curse of dimensionality.

The �nal desired result is a \simple" formula to approximate the function

V in order to obtain a control law. Traditional Galerkin methods reverse this in

that they layout the approximation scheme �rst (before having any information

about V ). Since the Galerkin scheme must mesh very well with the numerical PDE

one is solving, this is much harder to do than merely approximating V given as

data on a grid.

V.D.5 Miscellaneous

Other approaches include the technique using viability kernels as promoted

by P. Saint-Pierre [82]. Bertsekas and Tsitsiklis also solve HJB and HJI equations

for discrete problems in their book [12].

Page 110: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

96

V.E Illustration: Pendulum

In order to demonstrate the basics and subtleties of applying these nu-

merical techniques to a control problem, we present here a brief tutorial example of

the optimal control of a pendulum. Already in this simple problem, one �nds many

numerical particularities which are important. For example, we discover multiple

sheets of the pendulum. These are regions of the state space where numerically

calculated optimal trajectories will stay within when iterating on the initial condi-

tions. Yet as one progresses far enough along the sheets, it may be the case that

the calculated trajectories are no longer optimal.

Later, when we deal with the more complex problem of jet engine com-

pressor control, we must, for example, be careful to rule out multiple sheets or to

�nd them. As we shall see in that case, extensive searching did not reveal any such

anomalies.

The dynamical equations of motion of a pendulum are,

ml2 �� +mg l sin(�) = u

where � is the position angle of the pendulum with respect to the bottom `rest'

position. The pendulum rod is assumed to be massless of length l with a point

mass of m at its end, and g is the gravity constant. See Figure 5.3.

theta

Figure 5.3: Pendulum

Page 111: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

97

Let x1 = � and x2 = _�, and for simplicity let l = m = 1. Then we write

the state and output equations as

_x1 = x2

_x2 = �g sin(x1) + u; z =

264 (x� xf )

(u� uf )

375 ; (5.8)

where xf is a desired equilibrium of the pendulum and uf is the control e�ort at

the equilibrium. We specify a weighted quadratic cost functional to be optimized

as

minu

1

2

ZT

0

nkx� xfk

2Q+ ku� ufk

2R

odt+ '(x(T )) (5.9)

where Q;S � 0 and R > 0 are square matrices of appropriate dimension, and the

norm kzk2Qsatis�es zTQz for some vector z and matrix Q. The penalty function

on the �nal state is equal to '(x(T )) = 12kx(T )� xfk2S .

We wish to solve the HJB equality (5.3), H(x; dVT

dx) = 0, for V . From the

Hamiltonian, we construct the bicharacteristic equations (5.4) with initial and �nal

boundary conditions

x(0) = x0; p(T ) =@'

@x(x(T )) = S(x(T )� xf) :

Once these are solved, a closed-form expression for the optimal control u�(x) along

the bicharacteristic trajectory can be determined from p = dVT

dx(x) and the extremal

value for u�,

u� = �R�1 b1T (x) p : (5.10)

V.E.1 Nonlinear H2 Solution and Comparison of Numerical Methods

We compare both the direct minimization approach (DIRCOL) and the

multiple shooting method (MUMUS) in our numerical experiments. Of interest are

their respective run-times, the e�ects of varying numbers of grid points (in time),

and their convergence properties.

With the multiple shooting code MUMUS, for example, it was found that

run-times are not as a�ected by the choice of discretization as the optimization

Page 112: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

98

approach of DIRCOL. Also, given a good set of starting values, MUMUS can reach

the solution very quickly. The di�culty with MUMUS lies in obtaining reasonable

starting values, in particular, those for the adjoint variables. For the pendulum,

perhaps due to its low dimension and relatively mild nonlinearities, MUMUS was

able to converge well even with the obvious choice of straight-line starting values.

When iteratively calculating many trajectories with large numbers of grid points,

MUMUS thus was the obvious choice.

The direct optimization package DIRCOL makes it much easier for the

user to de�ne the problem and to enter in nonlinear equality and inequality con-

straints when desired. The use of this approach is very useful in a preliminary

analysis of an optimal control problem, even one as simple as the pendulum. Also,

the HJB equality in the nonlinear H2 control problem may have more than one

solution. An optimization code will converge to the stabilizing solution of the HJB

equality, while it is not guaranteed that the shooting code will do the same. Since

for small numbers of grid points the run-times of the two methods are very similar,

a natural approach is to solve the problem initially with DIRCOL or by shooting

out, then to initialize MUMUS with its output. This was the combined method

previously described in Section V.C.4.

V.E.2 Multiple Sheets of the Value Function

The pendulum has been a heavily studied test problem. Even in our case,

this example sheds light on some rather interesting properties of optimal control

and of our choice of numerical methods. When applying the previously described

homotopy method, we discover sheets along which the multiple shooting method

will continue to produce solutions to the H2 control problem, though the calculated

trajectories may no longer be optimal.

In our analysis, the state x1 represents the position angle which determines

the con�guration of the system and x2 is the angle velocity. In the coordinates

chosen, x1 = 0:0 refers to the bottom `rest' position of the pendulum, and the

Page 113: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

99

−4 −3 −2 −1 0 1 2 3−15

−10

−5

0

5

10

15

x1

x2

Figure 5.4: Plot of optimal trajectories calculated in the state space to the equilib-

rium x = (�; _�) = (�1:5; 0).

desired �nal equilibrium is chosen as xf = (xf1; xf2) = (�1:5; 0) 1.

In order to calculate V and u, the homotopy method is used with the

multiple shooting program MUMUS to sweep out a large region of the state space,

repeatedly calculating trajectories with slightly varying initial conditions. Figure

5.4 displays the calculated trajectories. the various trajectories. We take the opti-

mal trajectory with initial condition (x1(0); x2(0)) as an initialization for another

run of MUMUS with initial condition (x1(0)+ �1; x2(0) + �2). The choice of (�1; �2)

will determine how accurate the resulting value function and control law will be.

In our experiment, a homotopy was performed over a large region of state space,

roughly �3:9 < x1 < 2:4; �11 < x2 < 14 : The �nal time T , to which the trajec-

tories are calculated, was chosen so that all of the optimal trajectories converged to

within a small tolerance level of the equilibrium. Finding an appropriate T required

some trial and error.1All angles are in radians.

Page 114: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

100

−6 −5 −4 −3 −2 −1 0 1 2 3 40

50

100

150

200

250

x1

V

Figure 5.5: Homotopy in x1(0), (x2(0) = 0) along two sheets of pendulum. The

dotted lines indicate the continuation of a sheet along which the numerical methods

will continue to calculate solutions though they are no longer optimal.

Our experiment consisted of two phases. The initial phase consisted of

a homotopy in x1(0) along the two primary sheets of the pendulum. One sheet

traverses the pendulum in the clockwise direction iterating the initial condition

(x1(0); x2(0) = 0) in the negative x1 direction. Each run uses the previous run as

its initialization. The same is done in the counter-clockwise direction. Since x1 is

periodic, eventually the homotopy will calculate trajectories on two di�erent sheets

corresponding to the same initial condition. These two trajectories will be di�erent

since they will correspond to traversing the pendulum in opposite directions to

reach the desired �nal endpoint and; hence, they will have di�erent values for the

value function. Recall from eq. (5.2) that the value function V (x) is the in�mum

of a cost functional over all possible trajectories. The `true' V will be the lowest

of all the values obtained, while the higher values are thrown out as they are not

`optimal.' More details on combining di�erent calculated values for V to construct

Page 115: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

101

the true value function are described by McEneaney [63].

rest

final

boundaryequal-cost

start(-1.5,0)

(1.0,0)

(0,0)

(2.4,0)

Figure 5.6: Equal-cost Boundary on Pendulum

Figure 5.5 represents a vertical slice along the x1 axis of the value function.

On the vertical axis is the value function V which represents the cost in reaching

the desired equilibrium x�. This cost is de�ned by the quadratic performance (5.9).

Note that since x1 is periodic in 2� � 6:3, x = (�3:9; 0) is the same point as x =

(2:4; 0). The value function has the same value there, V (�3:9; 0) = V (2:4; 0) = 185.

At this point, it is equally costly for the pendulum to travel counter-clockwise as it

is to travel clockwise in order to reach the desired equilibrium as shown in Figure

5.6. The state space is not a simply connected region, and it is therefore to be

expected that there exist points from which two equally costly and optimal paths

exist to the desired �nal state.

In the second phase, we iterate the initial values of the trajectories we wish

to compute in such a manner as to keep (x1(0); x2(0)) near a level set of V (x). This

way of choosing (x1(0); x2(0))'s is not essential but easy to implement. In Figure

5.7, we have graphed the value function for V (x) � 185. Using an approximation

method, we then obtain the desired closed-loop control law.

Page 116: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

102

−4−2

02

4

−20

−10

0

10

200

50

100

150

200

x1x2

V

Figure 5.7: Value function of pendulum.

V.F Recursive Calculation of Robot Adjoint Equations

We have discussed how the solution to a nonlinear H2 or H1 optimal

control problem satis�es a Hamilton-Jacobi-Isaacs equation as well as a 2-point

boundary value problem described by the state equations and a set of adjoint equa-

tions (5.4). The boundary value problem may be obtained with the optimal control

u�(x; p), and worst-case disturbance w�(x; p) in case of an H1 control problem,

from the Hamiltonian H,

_x =@H(x; p; u�; w�)

@p; _p = �

@H(x; p; u�; w�)

@x: (5.11)

These equations may be represented entirely in terms of the state x and the adjoint

variables p.

In recent years, powerful multiple shooting algorithms that can solve these

boundary value problems have been used with greater frequency [50, 29, 63], though

the task of generating the adjoint equations can often be a formidable obstacle. This

has also been the case with multibody systems where the size and complexity of

the equations of motion increases at a tremendous rate with increasing dimension.

Page 117: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

103

The adjoint equations which involve the partial derivatives of the dynamics with

respect to the state variables will even be more lengthy and complex. Symbolic

manipulation packages have at least made available the possibility to obtain these

equations, though storage and computational considerations place severe limits on

the dimension of the problem as the entire set of equations in closed form are

needed.

We, thus, recognize the utility of recursive symbolic expressions for the

calculation of the adjoint equations of a general robotic system. Using the equations

presented earlier for the recursive, symbolic calculation of the linearized dynamics

in Section IV.F, we describe how the adjoint equations for a multibody system

may be calculated recursively using the symbolic matrix operators in an e�cient

manner. The ability to recursively calculate the adjoint equations for this class of

systems in a manner which does not su�er the common problems related to the

\curse of dimensionality" opens up many possibililties for using numerical optimal

control techniques on these systems. These tools and ideas have not previously

been presented in the research literature.

As previously presented in the context of nonlinear H2 or H1 optimal

control, one has a performance index to be optimized of the form

V (x) = minu

maxw

ZT

0L(x(t); u(t); w(t)) dt ; (5.12)

where L(x; u;w) is the integrand of the performance index for the system, and u

and w are the control and disturbance respectively. In the case of an H2 problem,

w � 0. The state x is de�ned in the case of our robotics system as x = [xT1 xT

2 ]T .

De�ne similarly a set of adjoint variables p = [pT1 pT

2 ]T of the same dimension so

that the Hamiltonian function is de�ned as

H(x; p) = pT

264 x2

M�1(u+ w � C � G)

375+ L : (5.13)

Page 118: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

104

Using (5.11), the bicharacteristic equations for the multibody system are

_x1 = rp1H = x2

_x2 = rp2H = M�1(u+ w � C � G)

_p1 = �rx1H = �( @

@�

��)Tp2 �r�L

_p2 = �rx2H = �p1 � ( @

@ _���)Tp2 �r _�L

(5.14)

The partial derivatives of the integrand of the performance,r�L and r _�L,

are dependent on the form of L. In standard cases, L is quadratic in x, u, and w

(see (5.6)). Thus, its partial derivatives will be only linear in x as we can subsitute

for u�(x; p) and w�(x; p) after taking partial derivatives. The equations for _x are

merely the forward dynamics presented in Section II.G with the optimal values u�

and w� substituted for u and w. The form for u�(x; p) was given in (5.5) while the

form for w�(x; p) follows similarly by taking the partial derivative with respect to

w of the Hamiltonian. Assume that L is quadratic in its arguments so that the

Hamiltonian has the form

H(x; u;w) = pT (a(x) + b1(x)u+ b2(x)w) + xTx+ uTu� 2wTw : (5.15)

Then we can establish the following result:

Proposition 34 A recursive, symbolic matrix expression for calculating the ad-

joint equations of a multibody system is given from the general form of the adjoint

equations (5.14), the optimal values for the control u� and disturbance w�,

u�(x; p) = �bT1 (x)p (5.16)

= �M�1p2 = �[I �K H]D�1[I �K H]Tp2 (5.17)

w�(x; p) =1

2bT2 (x)p (5.18)

=1

2M�1p2 =

1

2[I �K H]D�1[I �K H]Tp2 (5.19)

and the recursive, symbolic expressions for @

@�

�� and @

@ _��� given in Section IV.F which

when combined with p2 gives

(@

@���)Tp2 =

��HT (f)T +HT�T

g_V T

gM + 2 _HT�T �M

Page 119: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

105

+ �HT�TM� HD�1[I �K H]Tp2 (5.20)

(@

@ _���)Tp2 = (HT�T �M + _HT�TM) HD�1[I �K H]Tp2 (5.21)

These recursive equations may be implemented in a manner analogous to

the equations presented in Chapters II, III, and IV. The values for u� and w� can

be calculated in two sweeps of the multibody chain which when combined with the

forward dynamics will add an additional two sweeps to the three normally required

to calculate _x. The additional calculation for the adjoint equations _p requires four

sweeps of the multibody chain and can, thus, be performed in parallel with the

augmented forward dynamics algorithm.

V.G Notes

The text of Chapter V, in part, is a reprint of the material as it will appear

in IEEE Control Systems Technology under the title \Numerical Solution of Non-

linear H2 and H1Control Problems with Application to Jet Engine Compressors,"

and with authors, Michael Hardt, J. WilliamHelton, and Kenneth Kreutz-Delgado.

The dissertation author was the primary researcher and author and the co-authors

listed in this publication directed and supervised the research which forms the basis

for this chapter.

Page 120: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

Chapter VI

Case Study: Optimal Control of

Jet Engine Compressors

VI.A Introduction

We apply our proposed numerical approach to the control of a jet engine

compressor. The 3-D Moore-Greitzer model is used as a basis for studying the

compressor system [65], and we use throttle feedback control to robustly stabilize

the system under the constraints and performance criteria imposed. We calculate

the solution of the nonlinear H2 control problem subject to rate saturation con-

straints and discuss considerations and di�erent approaches to the problem in light

of undesirable transient behavior which can arise. The transient behavior of special

concern is a large drop in the plenum pressure rise , and these are punished by

the H2 performance criterion.

Our studies indicate that the choice of performance index or cost function

to be optimized is largely secondary to the strong e�ects of actuator rate saturation.

The strong in uence of rate saturation is best displayed later with Figure 6.4 in

our discussion of the jet engine compressor. We describe how one may construct a

globally optimal controller which meets these rate constraints. The performance of

our �nal controller is then graphically displayed with contour plots of the resulting

106

Page 121: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

107

value function and drops in the plenum pressure in di�erent operating regions. This

work represents the �rst time H2 optimal controllers were computed for this com-

pressor problem. The results in this paper were �rst announced in [29]. Previous

research also did not expressly consider the important e�ects that rate saturation

might have on the problem.

VI.B Jet Engine Stall and Surge Control

The three state Moore-Greitzer model of a jet engine compressor has been

frequently used in the literature to study the severe instabilities found in this class

of systems. Surge is the name given to oscillations in the annulus averaged ow

of the compression system while rotating stall is a disturbance which consists of

regions of reduced or reversed ow that rotate around the annulus of the compressor

[21]. The speci�c model that we will be using is [53]:

_� = �+c � 3�R

_ =1

�2(� + 1�

p) (6.1)

_R = �R(1� �2 �R) ; R(0) > 0

The meaning of the state variables is as follows:

� - the annulus - averaged mass ow coe�cient

- the plenum pressure rise

R - the squared amplitude of circumferential ow asymmetry

c - the compressor characteristic relating pressure rise in the plenum to the

mass ow �

- proportional to the throttle area (control)

�; � - system-dependent parameters

Page 122: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

108

inlet outlet throttle

compressor

plenum

Figure 6.1: Jet Engine Compressor

A common approach in constructing a model for the system is to represent

c as a cubic in � which is only an approximation to the actual phenomenon. This

is a hypothetical approximation to the true compressor characteristic since the

region (� � 1) is unstable and cannot be physically observed, while in the stable

region (� > 1) experimental data is usually used in practical settings to arrive at

the compressor characteristic. A common form of the cubic approximation is:

c = co + 1 +3

2��

1

2�3 :

The peak operating point of the compressor coincides with the peak of

the compressor characteristic in the region f� � 0g at � = 1. At this point the

system's linearized equations are only marginally stable when using the throttle

parameter as the control input. However, it has been shown that the system may

be stabilized globally at this equilibrium using a nonlinear feedback [53].

There exists a continuum of stable equilibria in the region (� > 1). The

equilibria in this region can be parametrized by � = �0,2666664�

R

3777775f

=

2666664

�0

c(�0)

0

3777775 :

The linearized Moore-Greitzer model is uncontrollable at these equilibria, but it

is stabilizable. The model at the R = 0 or no-stall equilibria, prevalent in the

Page 123: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

109

(� > 1) region, cannot be stabilized by throttle feedback in the region (� � 1).

There does, however, exist an unstable set of equilibria in this region, termed the

stall-equilibria, for which the model can be stabilized by throttle feedback,

2666664�

R

3777775f

=

2666664

�0

c � 3(1 � �02)�0

1� �02

3777775 :

Here, the linearized equations are controllable, though the open-loop system is

unstable.

VI.B.1 Problem Statement

We shall use numerical methods to solve the nonlinear H2 control problem

thus obtaining an optimal control law of the form �(�;; R). We began the anal-

ysis by studying a proper choice of performance index or cost function. There were

two main problems also encountered at the outset which are fundamental to the

system and were not able to be remedied by guessing di�erent performances. The

�rst main di�culty that we encounter is what we call theMinimum- Problem.

This involves a large dip in the pressure variable along the closed-loop trajectory

resulting from the controller . An objective is to design a controller which will

keep the system trajectory inside a given neighborhood N of the chosen equilib-

rium. Another major di�culty is the Rate Saturation Problem. The controller

must meet speci�ed bounds on the throttle rate _ . Also, an absolute bound on

is required, but our investigations lead us to suspect that this constraint often

becomes inactive with realistic bounds on _ . Both problems will worsen with larger

initial values of R.

Another practical problem is to �rst choose a high-performance equilib-

rium de�ned by �0 and a control law (�;; R) which has the property that all

states near to the equilibrium are kept close to it. We illustrate how one may com-

pute a set NI of states with the property that a closed trajectory starting at a state

Page 124: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

110

in NI stays completely inside the speci�ed neighborhood N .

In our model, we chose as parameters � = 4, � = 1, �co = 0:1469. The

error coordinates of the system with respect to the no-stall equilibria (� > 1) will

be de�ned as � = (� � �0), = ( � c(�0)), r = R. Also f will denote the

equilibrium control input. We began the analysis by studying a proper choice of

performance index or cost function.

VI.B.2 Choice of Performance Index

A preliminary investigation did not directly impose rate saturation con-

straints and focused on the maximum pressure equilibrium (�0 = 1). The goal was

to test various quadratic and non-quadratic performance indices in order to �nd

an optimal controller having good transient properties remedying the Minimum-

and Rate Saturation Problems. This approach turned out to be unsuccessful.

The general form of the quadratic performance index used was

min

ZT

0

nc1�

2 + c2 2 + c3r

2 + c4( � f )2odt ; (6.2)

while that of one with cross-terms was represented by

min

ZT

0

nc1�

2 + c2( � c5�)2 + c3r

2 + c4( � f )2odt : (6.3)

Placing higher powers on the penalties of the state variables actually worsened

the Minimum- Problem. Thus, in the remainder of the investigation we used a

quadratic performance index with all weights set equal to 1. Additionally, rate

saturation constraints will always be imposed.

VI.B.3 Rate Saturation Constraints

Either numerical approach (DIRCOL/MUMUS) lends itself easily to im-

posing rate saturation constraints. A dummy state is introduced which is equal to

the control input. This then gives an additional state equation with its derivative

equal to the control rate which becomes the new control for the system. In the

Page 125: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

111

0 2 4 6 8 10 12 14 16 18 201

2

3

4

5

6

7

Time

u1

Figure 6.2: Control vs. time for the H2 optimal trajectory and di�erent perfor-

mance measures. The solid line is with respect to a quadratic performance index,

and the dashdot and dashed lines are with respect to performance indices with

cross-terms with weights c5 = 1 and 5 respectively. The circles represent the sys-

tem initialized at R = 0 with a quadratic performance.

case of the multiple shooting algorithm, a box constraint on the control rate _

simply translates into an if statement when the control law is de�ned. To simplify

the problem de�nition, we added a quadratic term in the control rate _ to the

performance index. This permits us to use the standard approach of setting the

partial derivative with respect to the control of the Hamiltonian function to zero

and thereby arrive at an expression for the optimal level of _ . The performance

index

min_

ZT

0

nc1�

2 + c2 2 + c3r

2 + c4( � f )2 + c5 _

2odt (6.4)

is then used for the remainder of our analysis.

Figure 6.3 shows the results of imposing a constraint on the control rate

_ with the constraints j _ j � 0:1 and j _ j � 0:2. The control is restricted to

Page 126: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

112

0 2 4 6 8 10 12 14 16 18 201.5

1.6

1.7

1.8

1.9

2

2.1

2.2

time

Psi

Figure 6.3: vs. time illustrating e�ects of introducing di�erent constraints on _ ,

the control rate. The solid line is the unconstrained trajectory while the dashdot

and dashed line represent a constraint of j _ j � 0:2 and j _ j � 0:1 respectively.

start at its �nal equilibrium value since in practice the controller cannot change

values discontinuously. Evidence of the constraint is seen in the slightly larger dip

that the pressure is forced to take. This may be considered to be the price for

rate saturation. The initial conditions for this experiment were � = 1:1, = 2:0,

R = 0:2, and the desired equilibrium is �0 = 1:2, c(�0) = 2:083, R = 0 where the

equilibrium pressure lies at 97% of its maximum value of c(1:0) = 2:1469. In the

remaining portion of the paper, we will continue to use a rate saturation constraint

of j _ j � 0:1 together with a quadratic performance index.

VI.B.4 Choice of Equilibrium

In an attempt to improve the Minimum- Problem, a tradeo� was ex-

plored by choosing di�erent equilibria in the no-stall region (�0 > 1) along the

Page 127: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

113

compressor characteristic. The bene�t of converging to an equilibrium further

down the characteristic curve is that the dip in the pressure and the control

rate _ along an optimal trajectory will be greatly reduced.

0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 1.51.5

1.6

1.7

1.8

1.9

2

2.1

2.2

Phi

Psi

Figure 6.4: Controlling to di�erent equilibria along compressor characteristic at

a starting initial value of R = 0:12. Trajectories move in a counter-clockwise

direction.

Figure 6.4 pertains to the H2 optimally controlled system with the rate

saturation constraint j _ j � 1. We study the in uence of this rate saturation con-

straint with four di�erent equilibria along the compressor characteristic (solid line).

The �gure displays the behavior of the closed-loop system after initializing at points

near the chosen equilibria. The state of the closed-loop system follows a trajectory

(moving in a counter-clockwise direction) which eventually ends in that equilibrium;

these are the loops we see plotted. More speci�cally, the four equilibria that we con-

sider are (�k;k; Rk) = (�k;c(�k); 0), with �k equal to 1:1; 1:2; 1:3; 1:4 and with

respective initialization points at (�k;k; 0:12) for k = 1; : : : ; 4. Thus, the system

begins at R = 0:12 signifying a modest size stall level which must eventually reach

Page 128: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

114

its equilibrium value of R = 0.

Striking is that the closed-loop optimal trajectory converging to the �1 =

1:1 equilibrium exhibits a very large drop in pressure before convergence. In con-

trast, the equilibriumwith �2 = 1:2 has a pressure which is at 97% of the maximum

possible pressure, and the trajectory initialized by our modest displacement from

it has only a small pressure drop. The explanation for this dramatic change in

performance of our optimal H2 controller is that the rate saturation constraint be-

comes active for a signi�cant time along the trajectory converging to the �1 = 1:1

equilibrium, and does not become active along the other trajectories.

Table 6.1: Comparison of di�erent equilibria.Perc. Min Max Max

�k c(�k) c(1:0) j _ j

1.1 2.131 0.993 1.520 1.652 0.1001.2 2.083 0.970 1.975 1.536 0.0721.3 1.998 0.931 1.946 1.627 0.0181.4 1.875 0.873 1.841 1.753 0.014

Table 6.1 compares key features of the trajectories in Figure 6.4. Listed are

the values of the desired mass ow �k which de�ne the equilibria, the equilibrium

pressure c(�k), the percentage of the maximal equilibriumpressure (1:0) that the

desired equilibrium lies at, the minimum value that reaches along the trajectory,

and the maximal value of and j _ j.

VI.B.5 Calculation of Value Function

For purposes of calculating a value function (5.2), we chose as a desired

equilibrium �0 = 1:2, where the pressure is at 97% of the maximum equilibrium

pressure. Furthermore, we assumed a rate saturation constraint of j _ j � 0:1.

Then 381 trajectories were calculated from various initial values (�;; R) to the

equilibrium (�0;c(�0); 0). The initial values were equally spaced with ranges

� 2 f1:0; 1:4g, 2 f1:6; 2:2g, and R 2 f0:0; 0:2g. The �nal time T to which

Page 129: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

115

1 1.05 1.1 1.15 1.2 1.25 1.3 1.35 1.41.6

1.7

1.8

1.9

2

2.1

2.2

Phi

Psi

V = 0.018316

V = 0.049787

V = 0.135335

V = 0.367879

V = 1.000000

V = 2.718282

V = 7.389056

Figure 6.5: A contour plot of a slice of the value function at fR = 0:12g. The �

indicates the equilibrium.

the trajectories were calculated was set at 20.0 seconds, which allowed ample time

for the system to converge from any state in the given region. The average time

to calculate each trajectory with MUMUS was 6.3 sec. on an old SPARC IPX.

Varying the grid size in MUMUS was at times also necessary to ensure convergence

from initial values in the state space, since areas of extremely high curvature in the

trajectories cause numerical troubles. Since each trajectory contains the open-loop

value for the control law, the various trajectories were needed to calculate a rea-

sonable approximation for the closed-loop control law. A slice of the value function

at fR = 0:12g is displayed in Figure 6.5.

Trajectories calculated from some areas of the state space exhibit poorer

transient properties than from others. In particular, the closer the initialization is

to the peak of the compressor characteristic, the more di�culty is encountered in

controlling R to 0. In the presence of the rate saturation constraint j _ j � 0:1 and

starting close to the peak, the optimal trajectory would allow a substantial increase

Page 130: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

116

in R before controlling it to 0. Such transient behavior may often be impractical

or nonimplementable as the growth in R signi�es the growth of the stall cell. This

e�ect becomes more pronounced with larger initial values of R. We see this as a

consequence of the rate saturation constraint which prevents the controller from

keeping the stall instability from growing.

VI.B.6 State Feedback Control

After the calculation of the value function, there are a number of methods

which may be used to approximate the control law in equation (5.5). The calculated

trajectories provide us with numerical values of �, ,R, and � on a grid in the state

space. One may then approximate the data �(�;; R) with the feedback control

law �(�;; R) as described in Section V.B.3. In [71], it was shown how a neural

network may e�ectively be used to approximate the closed-loop controller in this

manner. We took this same approach using a 2-layer, 10 node feedforward neural

network to approximate �(�;; R) with very good results. This approximation

was done o�ine using the Matlab neural network toolbox. The approximation was

done in a large box on the scale of that displayed in Figure 6.5 and with R in the

interval between 0:0 and 0:12. Only several points were excluded near the extreme

left uppermost corner of the box where the system was approaching a full stall.

The resulting weight and bias matrices for the �rst and second layer are

w(1) =

26666666666666666666664

�10:2954 6:2032 9:8482

�6:6018 1:4250 �9:6758

�2:9512 �2:5187 3:1642

12:3135 �6:8863 0:5173

10:8508 �7:6563 �2:5987

�6:0692 0:1712 12:8845

�8:8322 8:2157 10:8908

9:4260 �6:2197 �11:2955

�3:4612 1:4363 �4:0186

�0:8463 �1:2278 4:4439

37777777777777777777775

Page 131: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

117

b(1) =

26666666666666666666664

�3:2812

12:4888

7:1970

0:7974

0:7149

�5:9826

�6:2920

4:5572

5:0425

5:7511

37777777777777777777775

w(2)T =

26666666666666666666664

1:5127

7:0670

0:4396

0:2139

0:0926

�0:0196

0:2830

1:3205

�3:0503

�3:4664

37777777777777777777775

and b(2) = �1:1896. Thus, the controller is given as follows.

Let x = [� R]T represent the state vector. Then the control law is

�(x) =10Xi=1

w(2)izi + b(2) ; (6.5)

where the values zi (corresponding to the 10 hidden nodes) are calculated

as

zi = g(3Xj=1

w(1)ijxj + b

(1)i) (6.6)

using the logistic sigmoid function g(a) = 11+e�a

. Note that the numer-

ical online burden for implementing this controller is at each time step

10 function evaluations and about 80 ops.

VI.B.7 Evaluation of Results

Figures 6.6,6.7,6.8 best demonstrate the e�ectiveness of the controller con-

structed in the previous section. Figure 6.6 gives a good indication about the quality

of Minimum- performance one may theoretically expect with the implementation

of this feedback control law. In it we initialize R(0) to 0:12 and choose as a de-

sired equilibrium (�0;c(�0); R) = (1:2; 2:083; 0:0) which lies at 97% of the peak

operating pressure. The white neighborhood in the �gure, for example, contains

the set of initial states with the property that the controller � drives these to the

equilibrium � along a trajectory upon which remains above 2:0. Likewise, the

next shaded neighborhood consist of states which are � controllable with pressure

always remaining above 1.95.

Page 132: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

118

1 1.05 1.1 1.15 1.2 1.25 1.3 1.35 1.41.6

1.7

1.8

1.9

2

2.1

2.2

Phi

Psi

Min Psi >= 2.00

Min Psi >= 1.95

Min Psi >= 1.85

Min Psi >= 1.75

Min Psi >= 1.65

Min Psi >= 1.30

Min Psi >= 0.90

Min Psi >= 0.60

Figure 6.6: A contour plot of the minimum values of attained along closed-loop

system trajectories initialized at di�erent (�;) and at R = 0:12 in the state space.

Figure 6.7 displays max j���0jwhen starting from di�erent points through-

out the state space while Figure 6.8 contains the maximum values of R when start-

ing from R(0) = 0:12. Note that in the majority of the state space, R decreases

monotonically with implementation of the optimal closed-loop controller result-

ing in the large region labeled by R � 0:12. Only when initializing in the the

upper-left corner of the (�;) plane near the peak of the compressor characteris-

tic (�0 = 1:0;c(�0) = 2:147) does the nice convergence of R deteriorate. When

initializing at (�0 = 1:0;c(�0) = 2:147; R = 0:12), R increases to 0:88 which

symbolizes almost a full stall of the compressor. Fortunately, this was the only

point in the region shown where the closed-loop controller was not able to prevent

an excessive growth in the value of R. A similar e�ect is shown in Figure 6.7 where

the deviations from the equilibrium value of �0 become much larger near the peak

of the compressor characteristic.

The three �gures allow one to determine neighborhoods of initial values

Page 133: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

119

1 1.05 1.1 1.15 1.2 1.25 1.3 1.35 1.41.6

1.7

1.8

1.9

2

2.1

2.2

Phi

Psi

abs(Phi − Phi_0) <= 0.13

abs(Phi − Phi_0) <= 0.25

abs(Phi − Phi_0) <= 0.38

abs(Phi − Phi_0) <= 0.53

abs(Phi − Phi_0) <= 0.69

abs(Phi − Phi_0) <= 0.87

Figure 6.7: A contour plot of the maximum absolute di�erence values of � from the

equilibrium value �0 (max j���0j) attained along closed-loop system trajectories

initialized at di�erent (�;) and at R = 0:12 in the state space.

NI which produce closed-loop trajectories inside a given box N of the speci�ed

equilibrium � at �0 = 1:2. If a performance criterion is to keep the system state

within a prespeci�ed region around the equilibrium, then one can determine the

set of initial values NI for which this constraint is met with implementation of the

closed-loop controller. In other words, we have constructed a graphical display of

the operating region of the compressor with implementation of the optimal closed-

loop controller developed in this paper.

VI.B.8 Timing and Scaling to Higher Dimensions

The numerical methods described here can easily solve optimal control

problems in higher dimensions. The run-times necessary to calculate optimal tra-

jectories grow with increased dimension, yet their growth is slow enough such that it

generally does not become a limiting factor. The \curse of dimensionality" however

Page 134: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

120

1 1.02 1.04 1.06 1.08 1.1 1.12 1.14 1.16 1.18 1.21.9

1.95

2

2.05

2.1

2.15

2.2

Phi

Psi

R <= 0.88

R <= 0.58

R <= 0.12

Figure 6.8: A contour plot of the maximum values of R attained along closed-loop

system trajectories initialized at di�erent (�;) and at R = 0:12 in the state space.

becomes apparent when one attempts to \map out" the state space by iteratively

calculating optimal trajectories. For example, assume one were to use a higher

order model of the jet engine compressor with dimension 4 and calculate optimal

trajectories over a grid of initial conditions in four of the state variables. Even a

rough grid of eight di�erent values for each state variable would require the calcu-

lation of 84 = 4096 trajectories. At 10 sec/traj (SPARC IPX), this would require

more than 11 hours of calculation plus storage considerations.

A more intelligent selection of trajectories to be calculated would exploit

the principle of optimality which tells us that intermediate points reached along a

trajectory also represent initial conditions for optimal trajectories. Consequently,

the value function is automatically calculated along the entire trajectory. For exam-

ple in R4, one may need only calculate 83 = 512 trajectories. Likewise in dimension

5, a cautious estimate on run times is 20 sec/traj on a SPARC IPX for 84 trajecto-

ries which yields about 22 hours of calculation. Thus, one can avoid much excess

Page 135: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

121

calculation by choosing the trajectories to more e�ciently map out the state space.

VI.C Notes

The text of Chapter VI, in part, is a reprint of the material as it will appear

in IEEE Control Systems Technology under the title \Numerical Solution of Non-

linear H2 and H1Control Problems with Application to Jet Engine Compressors,"

and with authors, Michael Hardt, J. WilliamHelton, and Kenneth Kreutz-Delgado.

The dissertation author was the primary researcher and author and the co-authors

listed in this publication directed and supervised the research which forms the basis

for this chapter.

Page 136: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

Chapter VII

Case Study: Minimum Energy

Biped Walking

VII.A Introduction

Walking is a characteristic of animals which takes them from one geo-

graphic position to another. There are many variations of walking such as moving

at di�erent speeds, starting, stopping, changing direction, and moving up and down

di�erent grades of slopes. All walking motion consists of a rhythmic displacement

of body parts to maintain a forward motion. If the action is unchanging, then the

motion will generally become periodic. People have a particularly unstable con�g-

uration as they walk with only two legs. After human walking has been learned,

it seems to be such a simple process, yet it remains as one of the principle open

research problems in robotics due its complexity and high dimension, particularly

for gracile systems having long limbs and small feet.

Our goal in this chapter will be to understand better the mathematical

modeling of the human walking motion. We will create a multibody system model

of a biped walker and calculate its motion using its dynamical properties. As in

any control problem, the input applied forces which stimulate motion in the biped

(much as muscles in a person cause a person to walk) are initially unknown. By

122

Page 137: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

123

selectively choosing the correct performance objectives for a walking system, we

may solve for these applied forces as the solution to an optimal control problem.

Since it has been shown by biologists [79, 89] that people naturally walk in an

energy e�cient manner, we make the choice to minimize the injected energy into

the system as a function of the input applied forces. Our solution of the minimum

energy biped walking problem produces a very natural walking motion. It is also

the �rst reported results using a model nearly as complex and close to a human

model as the one we use. Preliminary results for the soluton of this problem were

�rst presented in [31].

Many researchers have studied the problem of controlling a walking biped

robot and the associated path planning problem of generating optimal periodic

trajectories for the walking motion. Several of the past innovations and recent

contributions are found in the references [17, 16, 27, 25, 46, 64, 80, 81, 85]. Due

to the complexity of the problem, compromising simplifying modeling assumptions

were often made to make it more tractable. Consider a simple 5-link biped robot

with all rotational joints and full motion degrees of freedom. It will have a 14

dimensional state space when represented with respect to generalized coordinates.

This is in addition to several general nonlinear constraints which \turn-on" in a

state-dependent and possibly asynchronous manner. For example, when a foot is

in contact with the ground, this produces algebraic constraints. The result is a

time-varying di�erential algebraic system.

During walking, there are naturally two phases of a step or what is also

commonly called a gait cycle.1 A gait cycle consists of an interval of time during

which a periodic succession of events occurs. The �rst phase has one foot in contact

supporting the body while the other swings, while in the shorter second phase both

feet are in contact with the ground. During both phases we have a di�erential-

algebraic system, where in the second phase the number of algebraic constraints will

1We will not consider gaits associated with running and can ignore the possibility of a third ight

phase.

Page 138: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

124

be greater. Additional considerations occur in between phases when the swing foot

collides with the ground which translates to jump discontinuities on the velocities.

Other algebraic constraints are in the form of saturation constraints on the state

variables and the applied forces. We explain how our numerical procedure is able

to produce solutions which can satisfy all of these constraints.

Some of the early work done by Kajita had a surprising amount of success

by modeling the biped dynamics as that of an inverted pendulum with point masses

[46]. The idea of searching for a passive walking motion which can approximate a

motion which requires only the minimal energy was expressed in the work of McGeer

[64] and later with Goswami et al. [27]. The minimal energy path is desirable for it

exhibits stabilizing, attractive properties. Our experiments have shown that many

walking trajectories naively chosen to approximate walking motion can require a

huge increase in the needed energy over that of the optimally calculated minimal

energy trajectories. Other work also investigating minimal energy biped walking

motion, though with simpli�ed dynamical models, may be found in [80, 81].

The dynamics for the biped are calculated using the recursive, symbolic

models presented in Chapters II, III, and IV. Our dynamical model explicitly ac-

counts for contact forces with the ground and checks to make sure these forces

remain active. Additionally, an inelastic collision is modeled as the swing foot hits

the ground which results in a sudden change in the generalized velocities and a

drop in kinetic energy. As a result, the Contact and Collision Algorithms presented

in Chapter III play an important part in the dynamical calculations. The numer-

ical di�culties normally encountered with di�erential algebraic systems are also

sidestepped with the implementation of the Reduced Dynamics Algorithm.

Numerical results are presented here from our extensive experiments on

various aspects of minimum energy walking. We have investigated the e�ects of

introducing input ankle torques at the point of contact of the legs with the ground

as well as the underactuated case when these torques are not added. Also, an

additional impulsive force can be added at the point in time that the swing leg

Page 139: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

125

leaves the ground to aid the body lift o� of the ground, create a smoother motion,

and simulate the human's use of the foot to create a lifto� force. Several other

parameters which can be varied in our model are the biped's step length, the time

of one step, and the proportion of time corresponding to the contact phase. We

discuss the e�ect of these parameters on the system energy.

VII.B Human Walking

The human walking step is composed of two di�erent phases, each charac-

terized by a di�erent set of equations of motion. The �rst phase is the swing phase

or single support phase when one foot is on the ground while the other swings. This

phase makes up the majority of the duration of the walking step in human walking

{ between 80% and 85%. The second phase is called the double support phase as

both feet are on the ground while the body is moving forward. This phase usually

then makes up only 15 � 20% of the human walking step.

Figure 7.1: Walking Phases

Page 140: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

126

Also of interest are the transitions between phases. Immediately at the

beginning of the swing phase is the moment of lifto�. Here, the foot is just pro-

pelling the body forward so that the leg loses contact with the ground. The other

transition between the swing and double support phases is characterized by a col-

lision of the swing foot with the ground. Figure 7.1 gives a graphical depiction of

our biped model �rst in the swing phase, then in the double support phase.

To avoid any confusion, some more detailed de�nitions can be useful. The

cadence is de�ned as the number of steps in a standard time frame (e.g. steps/min).

The step length is the distance between the same point on each foot during the dou-

ble support phase. The stride length, on the other hand, is the distance traveled

between two successive foot strikes of the same foot and is equal to two step lengths.

Each stride is, thus, composed of one right and one left step length. All measure-

ments given will be in meters.

Experiments have shown humans to walk in an energy e�cient manner. In

[79], a detailed study is presented of energy expenditure in actual human walking,

where researchers have explored the relationships which exist between real energy

data and human walking motion. A simple yet fairly accurate relationship is one

in which the energy expended is quadratic in the forward velocity,

Ew = 32 + 0:005v2 : (7.1)

Here v is the average forward velocity in m/min and Em is the energy requirement

in cal/kg/min for the average human subject. An often more desirable set of units

for walking energy is to measure it per distance traveled (m = meters) rather than

per time elapsed (min = minutes) since this conveys more the notion of energy

economy. We denote this form of energy as Em. Its units are cal/kg/m, and it is

related to Ew and the previous relationship by

Em =Ew

v=

32

v+ 0:005v : (7.2)

This function will now have a hyperbolic shape. This and most other functional

relationships such as (7.2) indicate a minimum energy motion of an 80 m/min

Page 141: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

127

walking velocity with an energy expenditure of 0.8 cal/kg/m. The experiments also

show average cadences of 105 steps/min and an average step length of 0.75 m for

an adult male.

VII.C Biped Model

We believe we are able to capture many of the essential characteristics

of the human walking motion with a 5-link planar biped which walks in the two-

dimensional sagittal plane, the vertical plane bisecting the front of the biped. The

model contains two links for each leg plus a large, massive torso which also func-

tions as the base of the tree-structured multibody system. Though the motion is

constrained to the 2-dimensional vertical sagittal plane, the links are modeled with

a 3-dimensional elliptical shape and a uniform distribution of mass. The physical

data corresponding to the model which we will use as a basis for our experiments

can be found in Table 7.1.

Table 7.1: Biped Model Physical DataLink Mass Length Radius

Torso 20 kg 0.72 m 0.12 mUpper Leg 7 kg 0.50 m 0.07 mLower Leg 4 kg 0.50 m 0.05 m

The in uence of the feet may be modeled in ways which do not increase

the dimension of the system. The two main contributions of the feet to the control

of the biped, when not expressly considering friction, are the introduction of ankle

torques and the lifto� force produced by the heel coming o� the ground together

with the foot rolling over the ball of the foot. It is possible to include ankle torques

in the model by treating these as external forces in uencing the tips of each leg at

the points of contact as described in Section III.E. Rather than modeling a lifto�

force which lasts the entire duration of the double contact phase as is the case with

the foot, we model the lifto� force as an instananeous impulsive force occurring at

Page 142: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

128

the moment of lifto�. This last technique has certain numerical advantages though

it cannot completely reproduce the e�ect of the foot as will be shown in the reports

of our numerical experiments.

There exists four points of actuation in the biped model: one applied

torque at each hip and one at each knee. If ankle torques are additionally added,

then there will be two more applied torques, one at the point of contact of each leg

with the ground. The bounds on the ankle torques are generally smaller than those

of the joints as the ankles cannot provide as great a force as at the hips and knees.

The state consists of fourteen states, seven position variables and seven velocity

position variables. As the motion is completely modeled in the two-dimensional

sagittal plane, the torso's position is described by one orientation angle relative to

the inertial frame plus an x and y position coordinate represented in the torso's

local coordinate system. The remaining position coordinates are the angles of the

upper and lower legs relative to their predecessor links. The description of the state

and control variables are as follows:

x1 torso orientation angle relative to the ground.

x2 x-position of the torso hip (axis which connects the joints of both legs) relative

to the origin of the inertial frame in torso local coordinates

x3 y-position of the torso hip relative to the origin of the inertial frame in torso

local coordinates

x4 torso orientation angle velocity

x5 x-velocity of torso hip in torso local coordinates

x6 y-velocity of torso hip in torso local coordinates

x7 hip angle of leg 1 relative to torso

x8 hip angle velocity of leg 1 relative to torso

x9 knee angle of leg 1

x10 knee angle velocity of leg 1

Page 143: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

129

x11 hip angle of leg 2 relative to torso

x12 hip angle velocity of leg 2 relative to torso

x13 knee angle of leg 2

x14 knee angle velocity of leg 2

u1 applied torque at hip of leg 1

u2 applied torque at knee of leg 1

u3 applied torque at hip of leg 2

u4 applied torque at knee of leg 2

u5 applied torque at ankle of leg 1

u6 applied torque at ankle of leg 2

VII.D Biped Dynamics

The state equations of the biped walker are of the same form as that of

the forward dynamics of a multibody system experiencing contact forces.

�� =M�1(u+ JTcfc � C � G) : (7.3)

In equation (7.3), M is the square, positive-de�nite mass-inertia matrix, C is the

vector of Coriolis and centrifugal forces, G is a vector of gravitational forces, u

are the applied torques at the links, Jc is the constraint Jacobian, and fc is the

constraint force.

Our 5-link biped model has 7 degrees of freedom (and therefore a 14-

dimensional state space) when not under any constraints. Already in this case,

recursive, symbolic dynamical models are more e�cient for calculating the forward

dynamics than other non-recursive procedures which require constructing and in-

verting the entire mass-inertia matrix,M. O(N ) recursive algorithms, where N is

the number of degrees of freedom of the system, are advantageous for superior cal-

culational e�ciency with increasing degrees of freedom. Due to the symbolic nature

Page 144: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

130

of the algorithm, another of the bene�ts of this modeling approach is that changes

made to the kinematic or dynamical parameters simply translate to a di�erent ini-

tialization of the algorithm. No extra calculations are required when parameter

changes are made.

VII.D.1 Dynamics with Contact and Collision

As we are dealing with a tree-structured system, we evaluate the forward

dynamics using the algorithm presented in Figure 2.2. The contact forces experi-

enced at the tips of the legs are calculated with the Contact Algorithm from Chap-

ter III. Similarly, the Collision Algorithm from Chapter III determines the impulse

force experienced at the moment of collision which produces a sudden change in

the joint velocities of the system.

In our numerical trials, we will solve for symmetric, periodic gaits which

will allow us to study just the window consisting of one step. We can then restrict

our attention to just one swing phase followed by one double support phase. The

step begins in phase 1 with leg 2 just leaving the ground to begin the swing phase

and �nishes at the end of phase 2 with leg 1 �nishing the double support phase

in the same relative initial position as leg 2 when the step began. In phase 1,

we need only account for one contact force vector for the ground acting on the

support leg while in phase 2, one contact force vector needs to be calculated for

each leg. A contact force vector will have two nonzero components in the x and y

directions corresponding to the two constraints that a foot not move in either the

vertical or horizontal directions. The �nal joint accelerations will result in a zero

linear acceleration in the vertical and horizontal directions for each contact leg tip.

Figures 7.2 and 7.3 displays the beginning and end con�gurations in addition to

the contact force vectors experienced during the two phases.

Between phase 1 and phase 2, the swing leg makes contact with the ground

and a collision occurs. Not only is an impulse force calculated at the collison leg,

but also one must be calculated at the leg which was already in contact at the time

Page 145: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

131

Leg 1

fc1,x

fc1,y

fimp

Leg 2

Figure 7.2: Beginning of phase 1. An

impulse force fimp helps to propel the

body forward. The contact force fc1

is applied to the tip of leg 1.

Leg 2

fc2,x

fc2,yf

c1,x

fc1,y

Leg 1

Figure 7.3: End of phase 2. The con-

tact forces fc1 and fc2 enforce the con-

tact constraints for legs 1 and 2 during

phase 2.

of collision. If one were not introduced at this other leg, then the force of collision

would cause this leg to have a sudden nonzero tip velocity. Similar to the contact

forces, the sudden jump in joint velocities from collision will result in zero linear

velocities for both leg tips in the vertical and horizontal directions.

An impulsive force may not only be introduced to model the e�ects of

inelastic collisions, but it may also be used as a form of control to propel the system

forward. We can use the same Collision Algorithm to introduce an impulsive force

Page 146: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

132

during the walking motion to simulate the e�ect of a foot giving the body a lifto�

force to initiate the swing phase. This force is introduced at the beginning of phase

1 at the moment of takeo�. The control impulsive force vector has only one nonzero

component since its direction is restricted to lie along the major axis of the lower

leg. Figure 7.2 displays the direction of the impulse lifto� force vector. In this way,

the impulsive force serves as a thruster to aid the body gain enough velocity to

reach the point where it can begin to fall forward again. This function in humans is

served by the heel of the foot raising o� of the ground while the foot rotates around

the ball of the foot.

VII.D.2 Reduced Dynamics

A key component of our dynamical modeling is the use of the Reduced

Dynamics Algorithm presented in Chapter III. We have already mentioned that

because of the contact constraints we are faced with a di�erential-algebraic system.

Two courses of actions are possible when it is necessary to integrate the dynamics,

one being the use of specially tailored integration routines which often require the

partial derivatives of the various contact constraints. The preferable approach,

however, is to use a reduced unconstrained set of dynamics which evolve on the

constraint manifold. Then it is possible to use standard integration procedures.

Essentially, the holonomic contact constraints in our model allow the sys-

tem to be described by another set of unconstrained dynamics of reduced dimen-

sion. Because they are unconstrained, integration of the reduced dynamics produces

much less numerical di�culties. This algorithm allows us to evaluate the reduced

dynamics in a very e�cient manner. There then exists a direct correspondence to

the full set of dynamics by which one can obtain the full state from the reduced

state.

In the �rst single contact phase of the biped motion, the contact constraint

reduces the total degrees of freedom from 7 to 5. Thus, using the Reduced Dynamics

Algorithm, an unconstrained 10-dimensional state space can represent the system

Page 147: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

133

during this period instead of the full 14 dimensions plus algebraic constraints. The

remaining 4 dependent states and their time derivatives can be determined from

the 10 independent states and their time derivatives. The independent states are

those corresponding to the torso and to leg 2, namely xi, i = 1; : : : ; 6; 11; : : : ; 14.

Recall that one of the primary di�culties of the Reduced Dynamics Al-

gorithms is that the inverse kinematics must be used to solve for the dependent

states. For the biped, this is easy since our problem is equivalent to solving for

the joint angles of a 2-link manipulator when its endpoints are known. The follow-

ing well-known solution comes from Spong and Vidyasagar [87]. In Figure 7.4 is

displayed the inverse kinematics problem where �1 and �2 are the desired angles,

a1 and a2 are the lengths of the upper and lower legs respectively, and �1 and �2

are two intermediate angles. We assume that one end of the 2-link arm has been

transferred to the origin while the other end has coordinates (x; y). From the Law

of Cosines,

D = cos(�2) =x2 + y2 � a21 � a22

2a1a2: (7.4)

Also, sin(�2) = �p1�D2. In our case, since the knees only bend in one direction,

the minus sign is always used so that

�2 = tan�1�p1 �D2

D: (7.5)

It is apparent that �1 may be obtained easily from �1 and �2. The angle �1 =

tan�1(y=x) while �2 = tan�1�

a2 sin �2a1+a2 cos �2

�. The �nal expression for �1 is

�1 = tan�1(y=x)� tan�1

a2 sin �2

a1 + a2 cos �2

!: (7.6)

The dependent position states then are x7 = �1 � x1 and x9 = �2.

Also, the velocities are known at both ends of the 2-link manipulator.

The Collision Algorithm can then be used to give the unique joint velocities which

satisfy the known velocity constraints. This is done by initializing the algorithm

for a 2-link manipulator with the known spatial velocity at the joint connecting

the upper leg and the torso. The joint angles have been previously calculated and

Page 148: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

134

(0,0)

(x,y)

θ

α

α2

1

1

2

1

a

a

−θ2

Figure 7.4: Inverse Kinematics Problem for 2-link Leg

the joint velocities are arbitrary as there will only be one solution. The updated

velocities will then corroespond to the values of the states x8 and x10.

In the second double control phase, the addition of contact constraints on

the other leg has the e�ect of further reducing the degrees of freedom so that we

can work with a system with only a 6-dimensional state space. The independent

states will be only the six states corresponding to the torso. The joint angles for

each leg may be derived from the above-mentioned inverse kinematics procedure.

The Collision Algorithm also gives the joint angle velocities for each leg as was the

case in phase 1.

In summary, if �1 and �2 equals the independent position and velocity

state variables during phase 1, and �1 and �2 similarly represent the independent

variables in phase 2, then the reduced dynamical equations for both phases of the

Page 149: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

135

walking step are

Phase 1 Phase 2

_�1 = �2 _�1 = �2

_�2 = f1(�1; �2; u) _�2 = f2(�1; �2; u)

�1 = [x1; x2; x3; x11; x13]T �1 = [x1; x2; x3]

T

�2 = [x4; x5; x6; x12; x14]T �2 = [x4; x5; x6]

T

(7.7)

where u 2 R6 when ankle torques are included in the biped model and u 2 R4

in a model without ankle torques. The dynamical expressions for fi represent the

reduced dynamics which are of lower dimension than equation (7.3) and account

for the contact constraints.

f1(�1; �2; u1) = M�1�(u�;1 � C� � G�)

f2(�1; �2; u2) = M�1�(u�;1 � C� � G�)

(7.8)

The Reduced Dynamics algorithm evaluates _�2 and _�2 using the forward dynamics

algorithm and the Contact Algorithm.

VII.E Minimum Energy Performance

It is generally accepted that humans follow closely an energy e�cient mo-

tion strategy [79]. In accomplishing our goal of approximating the human walking

behavior, it is natural to also have these same performance objectives for our biped

model. Our problem is a control problem as we need to establish the values for the

applied joint forces which will cause the system to move in an energy e�cient man-

ner. To minimize the injected energy into the system, we choose as our performance

the integral of the applied joint forces,

J =ZT

0uTu dt =

ZT1

0uT1 u1 dt+

ZT

T1

uT2 u2 dt ; (7.9)

where T1 is the time at the end of the �rst phase, and T is the time at the end of the

second phase. The vector u1 are the applied forces at time t during phase 1 while u2

Page 150: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

136

are the applied forces during phase 2. The above quantity is not a measure of the

mechanical work performed on the system, nor are we able to determine the change

in energy of the body from its value. This is rather a measure of the required cost

in energy to move the system. The change in energy may re ect the work done

by the electric motors which actuate the various joints of the biped. For a simple

actuation model (as for a commonly used direct drive DC motor), its units will

also be in Joules (J), the units of energy, up to a system-dependent proportionality

constant. This approach provides a more numerically tractable way of reaching our

performance objectives.

If an impulsive force is introduced at the moment of lifto�, uimp;1, this

force should also be included in the performance. This is an instantaneous force

which enters the performance outside of the integral.

J = uTimp;1uimp;1 +

RT1

0 uT1 u1 dt+RT

T1uT2 u2 dt (7.10)

This general form of minimum energy performance was also used in [81].

Because we are modeling the collision of the foot with the ground as

completely inelastic, the system will experience a sudden drop in the kinetic energy

at the moment of collision. Since the potential energy is not a�ected by the collision,

the total energy will also drop by the same amount. Figure 7.12, which is found in

Section VII.G on our numerical experiments, displays a typical plot of the kinetic,

potential, and total energies all centered around zero of a typical minimum energy

walking step of a biped robot. The kinetic energy is responsible for most of the

trend seen in the total energy as the potential energy varies less. The energy that is

lost at collision must all be injected back into the system over the remainder of the

step with the input torques. By minimizing the integral of the squared magnitude

of the control torques over the step, we are also minimizing the loss of energy

experienced at collision and, thus, working towards conserving as much energy as

possible during the step.

Page 151: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

137

VII.F Numerical Optimal Control

Direct optimization methods for optimal control are characterized by the

minimization of a cost functional which is a function of the system state and the con-

trol input u. An example of such a method is the program DIRCOL [94, 95], which

can handle implicit or explicit boundary conditions, arbitrary nonlinear equality

and inequality constraints on the state variables, and multiple phases where each

phase may contain a di�erent set of state equations. DIRCOL functions by pack-

aging the optimal control problem along with its constraints into a constrained,

nonlinear minimization problem which is solved by an SQP-based optimization

code NPSOL (Gill, Murray, Saunders, Wright [26]).

DIRCOL discretizes the state and control variables in time over the tra-

jectory. The �neness or coarseness of the discretization can have a large in uence

over the time required to generate a solution. A new version using sparse opti-

mization techniques should be much faster. The output of the numerical optimal

control program will be the optimal open-loop solution for the control u(t) and

the corresponding state trajectory x(t) at the choice of grid points in time. With

regards to the biped walking control problem, the �nal values of u(t) and x(t) at

the end of a step will be symmetrically constrained to match the initial values for

u and x at the beginning of the step. This produces an optimal periodic solution

for the desired walking trajectory.

We discussed the use of direct minimization techniques in Section V.C of

Chapter V. This numerical approach, and particularly DIRCOL, was selected over

all the others for the ease with which many di�erent kinds of constraints can be

added to the control problem. The numerical procedure is very reliable and also

informative when the program cannot arrive at an optimal solution. DIRCOL has

the capability to de�ne unknown constant parameters which may be allowed to vary

within a speci�ed range. These parameters may be used to additionally optimize

over the step length, �nal time, and/or forward velocity.

Page 152: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

138

Some examples of the very nonlinear constraints that the �nal solution

must satisfy and which must be inputted into DIRCOL are that the foot land at

the speci�ed step length when this is �xed or at the value set for the parameter

when it is variable. The vertical component of the contact forces experienced by

the feet during each of the phases must also remain positive, otherwise the feet will

leave the ground and a di�erent set of equations will govern the system dynamics.

Finally, the vertical component of the contact force of the foot that is about to leave

the ground must reach zero at the end of phase 2 in preparation for lifto�. We now

outline more explicitly the various constraints of the optimization problem.

VII.F.1 Box Constraints and Polar Position Coordinates

The simplest constraints imposed on the problem are the box constraints.

These are magnitude constraints on the state, control, and parameter variables. It

is always preferable to choose these form of constraints whenever possible as they

are much more numerically tractable than general inequality constraints which are

nonlinear functions of the states, controls, and parameters. Through a change of

coordinates it is sometimes possible to reformulate a nonlinear inequality constraint

as a simple box constraint with a di�erent set of variables. This simple trick we

utilize in the biped control problem.

Recall that there exist two position variables describing the x and y po-

sition coordinates for the torso and, consequently, the entire biped robot. These

position coordinates are represented in the local torso coordinate system. One of

the nonlinear inequality constraints which we would normally be forced to impose

is that the hip remain at a distance from the origin no greater than the length of

an extended leg. This requirement a�ects leg 1 which supports the body during the

swing phase. It is important since with the use of the Reduced Dynamics Algorithm

the position and velocity variables for leg 1 are not part of the state used in the

optimization process. Their values must be calculated via inverse kinematics and

the Collision Algorithm every time the dynamics need to be evaluated. If the hip

Page 153: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

139

is too far from the origin, then we will not have su�cient information to determine

the state of leg 1 plus the system will have entered a free- ying con�guration during

phase 1 or a single-support con�guration during the double support phase.

By converting these Cartesian coordinates to polar coordinates r and �,

it is then possible to place a simple magnitude constraint on r which will serve the

same function as the nonlinear inequality constraint previously mentioned. De�ne

the following variables

x02 = r =qx22 + x23

x03 = � = tan�1(x3=x2)

x05 = (x2x5 + x3x6)=x02

x06 = (x2x6 � x5x3)=x022

(7.11)

where x05 and x06 are the respective inertial time derivatives of x02 and x03. These

alternative states will replace x2, x3, x5, and x6 in the numerical optimal con-

trol program. We need to use linear Cartesian coordinates when evaluating the

dynamics so that before this is done we must make the substitutions

x2 = x02 cos x03

x3 = x02 sinx03

x5 = x05 cos x03 � x02x

06 sinx

03

x6 = x05 sinx03 + x02x

06 cos x

03

(7.12)

After evaluating the dynamics and before passing the time derivative of the state

to the integration routine, we again make the substitutions

_x02 = x05

_x03 = x06

_x05 = (x2 _x5 + x25 + x3 _x6 + x26)=x02 � (x2x5 + x3x6)x

05=x

023

_x06 = (x2 _x6 � x3 _x5)=x022 � 2(x2x6 � x5x3)x

05=x

033

(7.13)

During the optimization trials to be discussed later, we typically place the

Page 154: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

140

following box constraints on the state and control variables:

1:35 � x1 � 1:60

0:80 � x02 � 0:998999

�3:00 � x03 � 3:00

�25:00 � x4 � 25:00

�25:00 � x05 � 25:00

�25:00 � x06 � 25:00

�4:00 � x11 � �2:60

�25:00 � x12 � 25:00

�1:00 � x13 � �0:0895

�25:00 � x14 � 25:00

0:00 � x15 � 108

(7.14)

�30:00 � u1 � 30:00

�30:00 � u2 � 30:00

�30:00 � u3 � 30:00

�30:00 � u4 � 30:00

�15:00 � u5 � 15:00

�15:00 � u6 � 15:00

(7.15)

These box constraints will be the same in both phases with the exception of u6

which refers to the ankle torque of the swinging leg in phase 1. Thus, we replace

its box constraint with

0:00 � u6 � 0:00 (7.16)

during phase 1.

The additional state variable x15 refers to the value of the integral (7.9).

For numerical reasons, the Mayer objective functional approach is taken where the

optimization problem is to minimize x15+uT

imp;1uimp;1 with _x15 being the integrand

of (7.9).

Page 155: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

141

VII.F.2 Inequality Constraints and Boundary Conditions

We give the boundary conditions for one step. For the beginning and

�nal time, if R(x1) is the rotation matrix mapping inertial coordinates to torso

coordinates and step is the length of the step taken, let hp = [hp1 hp2 hp3]T =

R(x1)[step 0 0]T . This quantity is the displacement of the hip in torso coordinates.

Then, the explicit initial and �nal time boundary conditions are:

x+1 = x�1 u+1 = u�3

x+2 = x�2 + hp1 u+2 = u�4

x+3 = x�3 + hp2 u+3 = u�1

x+4 = x�4 u+4 = u�2

x+5 = x�5 u+5 = 0

x+6 = x�6 u+6 = u�5

(7.17)

where the variables with a + are the values at the �nal time and those with a �

at the initial time. The remaining state variables do not need to be speci�ed as

the boundary conditions occur at a moment of double contact of the feet with the

ground. The dependent positions and velocities can be determined from the �rst

six states.

It was mentioned earlier that it is possible to include in our model an

impulsive lifto� force at the beginning of phase 1. When this is done, all the

joint velocities in the system will undergo a discontinuous jump as a result of the

impulsive action. The jump in the velocities may be calculated as a function of the

previous state y and a lifto� impulsive force vector uimp;1 as described in Section

III.E. De�ne the function x� = IMP(y; uimp;1) which calculates the state vector

x� after introducing an impulsive force at the beginning of phase 1 to leg 2. The

relationship y = IMP�1(x�; uimp;1) = IMP(x�;�uimp;1) holds which allows us to

calculate the right handed limits for the torso velocities:

x+4 = y4

x+5 = y5 (7.18)

Page 156: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

142

x+6 = y6

These boundary conditions replace those for x4, x5, and x6 in (7.17).

The boundary conditions in between phases enforce continuity of the po-

sition state and control variables, and they prescribe the jump in the velocity state

variables due to the collision. The function xc = COLL(x) gives the states after

collision after determining the required jump in the velocities from the Collision

Algorithm. xc is a state vector of the same dimension as x. Then the explicit

boundary conditions in between phase 1 and 2 are:

u+i

= u�i

i = 1; : : : ; 6

x+i

= x�i

i = 1; : : : ; 3

x+i

= xci i = 4; : : : ; 6

(7.19)

where here the + indicates the right-hand side limit, at the beginning of phase 2,

and the � indicates the left-hand side limit at the end of phase 1.

Implicit boundary conditions are characterized by nonlinear equations to

be satis�ed by the boundary values for the states, controls, and parameters. The

required implicit boundary conditions that we impose on the problem at the initial

and �nal time are that the initial tip position of leg 2 start at the appropriate step

length away from leg 1 and with an initial zero tip velocity if no impulsive lifto�

control force uimp;1 is added. If the impulsive force is added, then the starting

velocity will depend on the magnitude of the impulsive force. Let the function

[tp; tv] = TIP(x�) evaluate the current value for the leg 2 (swing leg about to

lifto�) tip position and velocity in inertial coordinates at the beginning of phase 1.

Both tp and tv are 2-dimensional vectors. Additionally, we must require that the

vertical component of the contact force in uencing leg 1 be zero at the end of phase

2 so that the leg is ready to leave the ground at the beginning of phase 1. Let fc =

CONT (x+; u+) be the 6-dimensional spatial contact force in inertial coordinates for

leg 1 at the end of phase 2. Then the nonlinear, implicit boundary conditions

Page 157: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

143

at the initial and �nal time are:

r1 = tp1 + step = 0

r2 = tp2 = 0

r3 = tv1 = 0

r4 = tv2 = 0

r5 = fc5 = 0

(7.20)

Note that the vector fc is a spatial vector in which the �rst three components are

the moment forces and the next three components are the linear forces. In our

case, we are concerned with the linear, vertical component; thus, we require its

�fth entry to be zero.

Now, we consider the alternative case when lifto� impulsive forces are

introduced at the very beginning of phase 1. In this case, we remove the e�ect

of the impulsive lifto� force from x� by using the previously described function

y = IMP�1(x�; uimp;1) = IMP(x�;�uimp;1). Then [tp; tv] = TIP(y) gives the tip

position and velocity vector for y. The positions are unchanged from the impulsive

force, and the tip velocities for the state y should be 0 when the e�ect of the

impulsive force has been removed from x�. The boundary conditions then remain

the same as in (7.20).

We additionally require that the swing leg land at the appropriate step

length at the moment of collision. Let [tp; tv] = TIP(x�) be the tip position

and velocity at the end of phase 1. The implicit boundary conditions for in

between phases are:

s1 = tp1 � step = 0

s1 = tp2 = 0(7.21)

As mentioned previously, it is possible to make additional parameters

variable such as step length, the time duration of the walking step, and average

Page 158: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

144

forward velocity. De�ne the following parameters:

p1 = step length

p2 = magnitude of lifto� impulsive force

p3 = time of collision

p4 = average forward velocity

p5 = proportion of step time corresponding to phase 1

(7.22)

Let T be the �nal time or time duration of the walking step while T1 = p3. The value

for T is also allowed to be variable though it is not necessary to give it a parameter

de�nition. The relative time of the step during which phase 1 occurs is related to

T in the following manner, p5 = T1=T . This parameter will generally be �xed for

the majority of our experiments and set to 0:85 for reasons to be explained later.

The previously mentioned problem would then introduce the following additional

implicit boundary conditions for the initial and �nal times:

r6 = T � p3=p5 = 0

r7 = p4 � (p1 � 60)=T = 0(7.23)

and additional implicit boundary conditions for in between phases:

s3 = p3 � T1 = 0 (7.24)

Note that if the proportion of total step time for phase 1, p5, is desired to be �xed,

we may set the upper and lower bounds for this parameter to be the same value.

In addition to boundary conditions, we also have nonlinear inequality

constraints which must be satis�ed during the entire length of either phase. The

vertical components of the contact forces experienced by the feet in contact during

both phases must be positive as a negative value signi�es that the foot is leaving

the ground. Also, the swing leg must stay entirely above ground during phase 1.

Thus, the nonlinear inequality constraints for both phases are:

Phase 1: fc5(Leg 1) � 0

Page 159: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

145

tp2(Leg 2) � 0

Phase 2: fc5(Leg 1) � 0

fc5(Leg 2) � 0

where fc = CONT (x; u) and [tp; tv] = TIP(x). These constraints prevent a prema-

ture lifto� of a foot from the ground when it should be, for example, in the double

support phase.

The functions used in the constraints, IMP(x), COLL(x), TIP(x), and

CONT (x; u), all have spatially, recursive implementations for their evaluation.

VII.G Optimization Trials

The high degree of nonlinearity and high dimension of the problem along

with all the constraints make it unreasonable to assume that by specifying the

state equations, boundary conditions, and inequality constraints along with a naive

initial guess of the solution, that the optimization procedure will immediately �nd

an optimal solution. Optimization procedures are too sensitive to initial guesses.

Consequently, an iterated process was undertaken which gradually approximated

the actual problem. The �rst problem solved was merely �nding the minimal energy

solution to standing in place. Using that solution as an initial guess, it was possible

to solve for the problem where the biped was forced to move a small distance. This

iterative process continued several times with increasing distances over which the

biped traveled.

During the iterative process, constraints were also gradually added such as

the double support phase and the collision e�ect. After about 10 such optimization

runs, it was possible to un�x the initial and �nal boundary conditions for the state

and controls and merely require that the solution be periodic. In this manner, the

complete problem was solved.

For most trial runs, we used 13 grid points in time, 8 in the �rst phase

and 5 in the second phase. As the number of grid points has a large in uence

Page 160: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

146

on the length of each optimization run, it is preferable to use a coarse grid for

trial runs, then to re�ne the grid when very exact solutions are desired. Sample

run times varied between 25 and 35 minutes on a Sun Ultra 1 depending upon

the complexity of the problem. Failure of the program to converge generally was

dependent upon inherent characteristics of the model or of the problem and not of

DIRCOL's inability to deal with the nonlinearity and high dimensionality. These

occurrences usually led to a rethinking of the model and/or a deeper understanding

of the problem.

Many di�erent numerical experiments were made as there are many pa-

rameters which can be �xed or varied, and there are modeling exibilities. Two

main categorizations can be made in that we explore �rst walking without any form

of lift propulsion. We then add to our biped the possibility of introducing an in-

stantaneous impulsive force at the moment of lifto� to help the body move forward.

This lifto� impulsive force also serves to better simulate the function of the feet

which are only implied in our model but do not exist explicitly. The impulsive force

also has its cost and is added into the performance. In both settings, the additional

e�ect of the removal of ankle torques is investigated.

The only parameter �xed in our experiments is the percentage of time of

the total step that the walker is in the double support phase. We set this parameter

to be 15% as this is comparable to observed human data. It is possible with our

numerical approach to also optimize over this quantity, and our results shows that

a lower energy walking trajectory can be obtained by reducing this proportion. The

reason for this e�ect is that without having the use of the feet in the model, there

is little bene�t (energywise) to having a double support phase. Impulsive lifto�

forces do not counteract this e�ect as they are instantaneous. The double support

phase is desirable for it essentially provides a smoother walk which resembles the

human motion. A negative consequence, also, of reducing the proportion of 15% to

something smaller is that the optimal control torques will then acquire excessively

high control rates.

Page 161: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

147

Though in the following subsections, we will explore global minimum en-

ergy walking, there also exist model variations which can be made and which are

interesting for comparative purposes. There are four speci�c cases to be considered

and graphically compared:

Model 1 Walking without an impulsive lifto� force and with ankle actuation.

Model 2 Walking without an impulsive lifto� force and without ankle actuation.

Model 3 Walking with an impulsive lifto� force and with ankle actuation.

Model 4 Walking with an impulsive lifto� force and without ankle actuation.

VII.G.1 Models 1 and 2: Walking without lifto� forces

Most everyone is familiar with the useful function of the feet in walking.

As soon as the double support phase is entered, the heel of the back leg begins to

lift o� of the ground, thereby providing a lifto� force for the rest of the body until

the point where the ball of the foot breaks contact with the ground. One of the

principal di�erences of our biped model with human walking is that the feet are

implicitly, but not explicitly, included in the model. We �rst explore this interesting

case when no lifto� forces besides the hip and knee applied torques are available to

help the back leg lift o� of the ground.

In Figure 7.5 are displayed the input torques for a complete, periodic,

double step. The stick walking �gures on the top portion of the �gure indicate

for the two plots beneath it which part of the walking step the plotted points

correspond to. This is done by examining the point, then its position in the step

is obtained by observing the stick �gure directly above it. The plots begin with

the swing leg leaving the ground. At the �rst vertical line, the swing collides with

the ground, and at the second vertical line, the other leg lifts o� of the ground.

The right-hand side of the plot, however, corresponds to the torques applied to the

support leg. In the middle plot are the applied torques to the system with ankle

Page 162: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

148

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2−40

−20

0

20

40Applied Torque at Hip

Tor

que

(N−

m)

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2−10

0

10

20

30Applied Torque at Knee

Tor

que

(N−

m)

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2−10

0

10

20Applied Torque at Ankle

Tor

que

(N−

m)

Figure 7.5: Optimal applied torques for walking without lifto� forces. Included

extra forces in addition to hip, knee torques for optimal speed: Ankle (solid),

None (dashed). Included extra forces for 50 m/min speed: Ankle (dashdot), None

(dotted)

actuation.

The solid and dashed lines indicate the torques for the optimal walking

motion for the model with and without ankle actuation respectively when the only

parameter �xed is the proportion of time for the double support phase. This is

�xed at 15%. The paths for these lines are seen to be almost identical signifying

very little overall di�erence for when ankle torque actuation is included.

Also displayed in Figure 7.5 are control trajectories for the optimal walking

motion when the average forward velocity is �xed at 50 m/min, also with (dashdot)

and without (dotted) ankle actuation. The faster 50 m/min walk also shows little

Page 163: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

149

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20.92

0.94

0.96

0.98

1Vertical Displacement of Hip

Ver

t. D

isp.

(m

)

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20.4

0.45

0.5

0.55

0.6Vertical Displacement of Knee

Ver

t. D

isp.

(m

)

Figure 7.6: Optimal trajectories of hip, knee for walking without lifto� forces.

Included extra forces in addition to hip, knee torques for optimal speed: Ankle

(solid), None (dashed). Included extra forces for 50 m/min speed: Ankle (dashdot),

None (dotted)

di�erence between including ankle actuation and not including it. This e�ect is

universal throughout out experiments. There does exist, however, a signi�cant

di�erence between the slower globally optimal torques which are smoother and of

smaller magnitude. The greater forces display at what times during the step the

walking propulsion forces are most necessary.

In Figures 7.6 and 7.7, the movement of the hip and knee is analyzed. The

height of the hip and knees stays roughly at the same level during the slower globally

optimal walk while during the faster walk, the well-known sinusoidal motion e�ect of

the hip is more apparent [79]. Interesting is also the hip forward velocity displayed

in Figure 7.7. There is a large variation in the forward velocity of the faster walk

Page 164: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

150

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2−0.5

0

0.5

1Horizontal Displacement of Hip

Hor

iz. D

isp.

(m

)

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2−1

0

1

2

3Horizontal Velocity of Hip

Hor

iz. V

el. (

m/s

)

Figure 7.7: Optimal trajectories of hip position and velocity for walking without

lifto� forces. Included extra forces in addition to hip, knee torques for optimal

speed: Ankle (solid), None (dashed). Included extra forces for 50 m/min speed:

Ankle (dashdot), None (dotted)

indicating that the system is not able to maintain a high velocity but must spend

a great deal of energy during each step to reach the higher speed.

VII.G.2 Models 3 and 4: Walking with lifto� forces

In human walking, the body propels itself o� of the ground with the foot

and gains potential energy before it starts to fall forward to the point where the

swing leg collides with the ground. To simulate this e�ect, we add an instantaneous

impulsive force at the moment of lifto�. This force can add the needed upward

velocity to the back leg and torso to more easily reach the point where the body

begins to fall forward. The impulsive force is a linear force and has only one

Page 165: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

151

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2−40

−20

0

20

40Applied Torque at Hip

Tor

que

(N−

m)

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2−10

0

10

20

30Applied Torque at Knee

Tor

que

(N−

m)

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2−5

0

5

10

15Applied Torque at Ankle

Tor

que

(N−

m)

Figure 7.8: Optimal applied torques for walking with lifto� forces. Included forces

in addition to hip, knee torques and impulsive force for optimal speed: Ankle

(solid), None (dashed). Included forces for 50 m/min speed: Ankle (dashdot),

None (dotted)

nonzero component along the axis parallel to the lower leg about to come o� of the

ground. The cost in terms of energy for introducing this extra control is included

into the performance via (7.10). There exists then a tradeo� between the size of

the impulsive force to use and using more or less torque forces during the walking

step.

Figure 7.8, in comparison with Figure 7.5, provides evidence that the

impulsive force is su�ciently bene�cial to allow a signi�cant savings in the applied

torques required for moving at the optimal 50 m/min walk. The applied torques

are much smoother and of smaller magnitude; particularly the hip torques which

Page 166: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

152

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2−0.5

0

0.5

1Horizontal Displacement of Hip

Hor

iz. D

isp.

(m

)

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2−1

0

1

2

3Horizontal Velocity of Hip

Hor

iz. V

el. (

m/s

)

Figure 7.9: Optimal trajectories of hip position and velocity for walking with lifto�

forces. Included extra forces in addition to hip, knee torques for optimal speed:

Ankle (solid), None (dashed). Included extra forces for 50 m/min speed: Ankle

(dashdot), None (dotted)

are surpringly close to zero for the majority of step. Figure 7.9 also displays how

with the use of the impulsive force the body has a more slowly varying average

forward velocity. In the cases without an impulsive lifto� force, we saw a quick

reduction in the average forward velocity while the body is rising to the peak of the

swing phase. With the use of the impulsive force, however, the body does better

at keeping its forward momentum.

VII.G.3 Varying Step Length, Forward Velocity, and Final Time

It was mentioned earlier how equation (7.2) describes the energy require-

ments of human walking motion in that it has been observed that the required

Page 167: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

153

10 20 30 40 50 60 70 800

2

4

6

8

10

12

Ene

rgy

(γ c

al/m

/kg)

Average forward velocity (m/min)

Figure 7.10: Required energy as a function of average forward velocity. Ankle

actuation (solid), no ankle forces (dashed), ankle actuation and impulsive force

(dashdot), impulsive force with no ankle actuation (dotted).

metabolic energy for walking has a hyperbolic relationship with the average for-

ward velocity. For positive velocities, most experiments show an optimum of 80

m/min. In our experiments, we have witnessed the same e�ect as is displayed in

Figure 7.10, though with a very di�erent optimum of approximately 12 m/min.

Interestingly, the optimum was almost the same for the four di�erent models con-

sidered. The value of energy on the vertical axis of Figure 7.10 is obtained by

dividing the performance (7.9) or (7.10) by 4.186 to get calories (up to an actuator-

dependent proportionality constant), by the total mass of 42 kg for our model to

get cal/kg, and by the �nal value for the step length to �nally get cal/kg/m.

A possible conjecture for the disparity with optimal human walking is the

Page 168: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

154

10 20 30 40 50 60 70 800

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

Ste

p Le

ngth

(m

)

Average forward velocity (m/min)

Figure 7.11: Step length as a function of average forward velocity. Ankle actuation

(solid), no ankle forces (dashed), ankle actuation and impulsive force (dashdot),

impulsive force with no ankle actuation (dotted).

lack of the foot e�ect which provides essentially an extension of the leg when the

back heel lifts o� of the ground propelling the body forward. Walking with the

added impulsive force is seen to provide a signi�cant energy savings, particularly

with higher velocity.

Finally, Figure 7.11 displays how the optimal size of the step increases with

increasing average forward velocity. The overall trend is very close for all the ex-

perimental cases considered in that the optimal step length is directly proportional

to the average forward velocity.

Page 169: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

155

0 0.1 0.2 0.3 0.4 0.5−1

−0.5

0

0.5

1

1.5

2Globally optimal walking without impulsive force

0 0.1 0.2 0.3 0.4 0.5−1

0

1

2

3Globally optimal walking with impulsive force

0 0.2 0.4 0.6−20

−10

0

10

20

30

40Optimal 50 m/min walking without impulsive force

0 0.2 0.4 0.6−20

−10

0

10

20

30

40Optimal 50 m/min walking with impulsive force

Figure 7.12: Kinetic (dashed), Potential (dotted), and Total (solid) energies cen-

tered at 0 during a walking step.

VII.G.4 Optimal Forward Velocities and Energy Requirements

In our investigations, we have been minimizing the integral of the squared

applied torques and calling the solution minimum energy walking trajectories. We

should emphasize that these solutions do not produce the minimum change in en-

ergy of the system as we are not minimizing the mechanical work of the system.

In fact, we are minimizing a quantity proportional to the required energy for mo-

tion. In humans, this is analogous to the di�erence between mechanical energy and

metabolic energy. As no system, not even a human, is perfectly e�cient, these quan-

tities will di�er and their relationship in humans still remains a very di�cult and

unanswered problem [79]. In robotics, we do not have metabolic energy, but there

does exist the required energy for direct drive motors at the joints to produce the

Page 170: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

156

required torques. Our chosen performance (7.9) is equal, up to a system-dependent

proportionality constant, to the energy used by simple direct drive motors to move

the biped robot.

Figure 7.12 displays the kinetic, potential, and total energies all centered

around zero of several minimum energy walking steps of a biped robot. The sharp

drops in the kinetic and total energies signi�es the moment of collision. Before this

point, the time when the body reaches its maximum height and begins to fall is

indicated by the peak of the potential energy curve. The left plots are without

impulsive lifto� forces, while on the right they are modeled. The top plots are

globally optimal walking steps, and the bottom are 50 m/min optimal walking

steps. In all cases, ankle actuation is modeled.

The faster walking steps exhibit a much larger variation in its energy

than globally optimal walking. The body also stays much longer in positions of

high potential energy. For the faster speeds, the body doesn't slow down as it

reaches the peak of its potential energy before it begins to fall forward. Rather, it

continuously builds its kinetic energy until the moment of collision. Also for the

faster speed, the walking step which uses the lifto� impulsive force (bottom-right)

has evidently the smoothest and homogenous motion with the fewest oscillations.

This particular walking step builds up its kinetic energy, then keeps moving for a

long period while keeping the kinetic energy roughly constant.

Page 171: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

Chapter VIII

Conclusions and Future Directions

This work gathers together several di�erent research areas in the modeling

and control of complex, nonlinear systems. As we stated at the outset, the main

goal is to battle the well-known \curse of dimensionality" by providing numerical

and algorithmic tools which enable the user to better understand and control such

systems. In the areas of articulated multibody systems, e�cient, recursive, and

symbolic modeling techniques are further developed and re�ned. Multiple degree-

of-freedom joints are expressly considered and valuable insight is also provided for

the implementation of these methods. Later, important contributions are made for

the class of such systems experiencing contacts and collisions with the environment.

An entire section is devoted to the development of closed-form symbolic expressions

for the derivatives of the dynamics and its components. Dynamical partial and time

derivatives have numerous applications in estimation and control of which some are

described in this dissertation.

A new result is the ability to evaluate recursively and e�ciently the adjoint

equations of a general multibody dynamical system for uses in numerical optimal

control. The possibility to even calculate these equations without undergoing the

laborious task of constructing the closed-form equations is not yet known in the

research community, and it can open up new approaches for solving optimal control

problems. Another important result found in the dynamics chapters is the Reduced

157

Page 172: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

158

Dynamics Algorithm which is designed for use with algebraically constrained dy-

namical systems. This algorithm can evaluate the unconstrained reduced dynamics

which account for the constraints using the same suite of recursive, dynamical algo-

rithms. This is done without having to explicitly construct the reduced dynamics

thereby providing an e�cient means for the integration of di�erential-algebraic

multibody systems. This algorithm became vital for the solution of the minimum

energy biped gait generation problem presented in the last case study.

By bringing together various representations of recursive, multibody algo-

rithms, extending the results to more general types of systems, and exploring new

applications for these methods, our hope is to make further progress in bringing

together a comprehensive package that can be used for the dynamics, estimation,

and control of such systems. The exibility and ease with which these symbolic

equations may be manipulated were shown throughout the dissertation. In addi-

tion, its special structure makes many interesting uses of the dynamics possible.

The work begun in [30], for example, on exploiting the special structure found in

the multibody equations in control design is continuing. We discussed therein a

backstepping approach for adaptive control. Work has also begun on using the

recursive expressions for the derivatives of the spatial matrix operators of the dy-

namics to construct a dynamics-based extended Kalman �lter estimation algorithm

of multibody motion in computer vision.

In the context of nonlinear control, numerical techniques for the solution

of nonlinear H2 and H1 control problems are shown to be viable and feasible for

the solution of important practical applications such as the jet engine compressor

control problem. The ability to solve such problems has been vastly underestimated

in the research community. We provide a thorough description of the state-of-

the-art numerical approaches which exist and have been tested on these types of

problems, and we propose a particular solution method. Through illustrations and

the �nal two case studies, we demonstrate in a step-by-step manner methodologies

by which one can approach and solve various nonlinear control problems.

Page 173: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

159

In the case of the jet engine compressor control problem, our approach

exposed the large sensitivities to control rate saturation prevalent in this system.

This case study demonstrates a how simple application of the numerical control

techniques is not su�cient to completely analyze a control problem. One must

consider the characteristics of the system under study and often devise special

techniques to handle the di�culties one encounters. Modeling considerations can

then become of primary importance. Our results suggest how a compressor model

with greater actuation possibilities may be needed to e�ectively control the severe

instabilities of surge and rotating stall.

No problem better exempli�es the complexity of the control of a complex,

nonlinear system as does that of our �nal investigation into biped walking. It lies

on the frontiers of nonlinear control with modeling complexities such as contact

and collision constraints, di�erential-algebraic dynamical equations, high dimen-

sion, periodic control, and control and rate saturation constraints. In spite of these

obstacles, we have been able to use the extensive structure brought together here

to solve this problem. Previous research has not solved the problem of minimum

energy gait generation with as complete a dynamical model as ours.

There exists many future avenues for expanding our work on the problem

of biped walking control since with the structure and framework we have created,

it now becomes relatively easy to add new features to our model. Our �rst step

to gain more understanding into biped walking will be to explicitly model the feet

to see which e�ect this has on our global minimum energy walking results. It is

believed that with their ability to extend the legs during the leg's lifto� from the

ground and their energy damping capabilities at the time of collision, a much more

energy e�cient walk can be produced. To �nally construct such a system, it will

be necessary to further investigate model additions such as arms, movement in 3

dimensions, actuator dynamics and friction. Additionally, the challenging problem

of closed-loop control must be addressed, though with our solution of the open-loop

problem, this becomes already more tractable.

Page 174: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

Appendix A

Identities

A.A De�nitions and Notation

We present here a list of de�nitions and notation used in this thesis.

�, _�, �� generalized positions, velocities, and accelerations of the

multibody system

Nb number of branches in multibody system

N , Nj, NL N refers to the number of links in a single-chain system,

Nj to the number of links in branch j, and NL to the total

number of links in the multibody system

dm;i, dm dm;i is the number of motion degrees of freedom for link i

and dm the total number of motion degrees of freedom

! 3-dimensional angular velocity vector

v 3-dimensional linear velocity vector

V = �H _� stacked spatial velocity vector consisting of NL 6-

dimensional spatial velocities Vi

�V stacked local spatial acceleration vector using local circle

derivatives

_V stacked spatial acceleration vector

160

Page 175: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

161

_Vg stacked spatial accelerations due to the gravitational forces

~V � block diagonal spatial matrix containing in each diagonal

block the spatial cross product of the relative spatial velocity

between neighboring links

~ block diagonal spatial matrix containing in diagonal blocks

the spatial cross product of [!Ti0]T

M block diagonal spatial matrix containing in diagonal blocks

the link spatial inertia Mi

u vector of applied joint forces

M positive-de�nite mass-inertia matrix

C vector of Coriolis and centrifugal forces

G vector of gravitational forces

�i;i�1 transformation operator which maps spatial velocities from

joint i � 1 to joint i, the adjoint (transpose) maps spatial

forces from joint i to joint i� 1

�(j)i;(j)i�1 transformation operator between link i� 1 of branch j and

link i of branch j

E� stacked recursion operator with �i;i�1 on subdiagonal and

possible additional o�-diagonal terms for tree-structured

systems

E�(j), E�(j;k) E�(j) is the E� operator for jth branch in tree system, E�(j;k)

describes interaction between branch j and k

� lower triangular recursion matrix composed from E� and

used only in stacked notation

H block diagonal spatial matrix containing in diagonal blocks

the transformation matrix Hi which maps the joint veloci-

ties _� to the relative spatial velocity V �

i, its adjoint (trans-

pose) maps spatial forces f to applied joint forces u

Page 176: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

162

P = ET PE +M articulated body inertia

D = HTPH forward dynamics operator

G = D�1HTP forward dynamics operator

K = GE� forward dynamics operator

�� = I �HG forward dynamics and projection operator

E = ��E�, recursion operators similar to E� and �

j = (j) branch index of predecessor branch of branch j

p

j= (j) branch index of pth predecessor branch of branch j

��f free joint accelerations which don't include e�ects of contact

forces

Nc number of contact points

dc;k, dc dc;k is the number of contact constraints at kth contact point

while dc is the total number of contact constraints

Vc, _Vc spatial velocities and accelerations at points of contact and

collision

Q block diagonal matrix with Nc blocks containing the con-

stant contact constraint mapping Qk taking spatial velocity

components to velocity contact or collision constraints

B (6 � Nc) � (6 � NL) spatial matrix containing in each row

of spatial matrices indexed by the number of contact con-

straints one transformation matrix taking the joint spatial

velocity to the contact point spatial velocity

Jc = QB�H constraint Jacobian

� = JcM�1JTc

interaction matrix used in contact and collision algorithms

fc = ���1Q _Vc stacked vector of spatial contact forces

fimp = ��1Q�Vc stacked vector of spatial impulsive forces from collision and

contact

Page 177: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

163

Je = B�H Jacobian used for introducing external forces

fe spatial vector of external forces

�r branch index for branch upon which contact point r lies

�, _� reduced generalized velocity and acceleration vectors

KE, PE kinetic and potential energy

A.B Tilde Identities

The following tilde identities may easily be proved through direct multi-

plication. Let p and q be arbitrary 3-vectors.

~pp = 0 (A.1)

~pT = �~p (A.2)

~pq = �~qp (A.3)

g(~pq) = ~p~q � ~q~p (A.4)

~p~q = qpT � pT qI (A.5)

~p~q~qp = �~q~p~pq (A.6)

A.C Spatial Matrix Identities

We present here a list of identities that the spatial operators satisfy.

��1 = I � E� (A.7)

�1 = I � E (A.8)

�E� = E�� = �� I = �� (A.9)

E = E = � I = � (A.10)

�1� = I +HK� (A.11)

� �1 = I + �HK (A.12)

Page 178: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

164

�H = H[I +K�H] (A.13)

K� = [I +K�H]K (A.14)

[I +K�H]�1

= [I �K H] (A.15)

��H = 0 (A.16)

E �H = ���H (A.17)

P �� = ��TP = ��TP �� (A.18)

HTP �� = 0 (A.19)

�� = �� �� (A.20)

��TP �� = ��TP = P �� (A.21)

M = P � ET�PE (A.22)

TM = P + � TP + P � (A.23)

D = HT TM H (A.24)

�~V �E� = E� ~V � ~V E� (A.25)

��~V �E�� = �~V � ~V � (A.26)

M = P � ET�PE� +KTDK (A.27)

TM� = TP + P � (A.28)

M�1HT�TM� = [I �K H]D�1HT TP +K (A.29)

Proof: Many of the following proofs may be found in a similar form in [44, 42].

[(A.7),(A.8)]: These identities follow from the calculation of the matrix product

�E�. The relationship with follows in the same manner.

[(A.9),(A.10)]: Rearranging the equation �(I�E�) = (I�E�)� = I gives the result.

The same holds for .

[(A.11),(A.12)]: Using the de�nitions listed in Section A.A and (A.7) and (A.8), it

follows that

I � �1 = E = E� � �E� = I � ��1 �HK

The result is then obtained by �rst multiplying the above equation by � on the left,

Page 179: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

165

then on the right, and using (A.9) and (A.10).

[(A.13),(A.14)]: Using (A.11) and (A.12), we obtain the result:

�H = ( �1�)H = [I +HK�]H = H[I +K�H]

K� = K(� �1) = K[I + �HK] = [I +K�H]K

[(A.15)]: Using the matrix inversion lemma, we obtain a closed form expression for

the inverse of this term:

[I +K�H]�1 = I �K[I + �HK]�1�H

= I �K H

[(A.16),(A.17)]: Using the de�nitions found in Section A.A, it is easily shown that

GH = I. From this and the de�nition of �� , (A.16) follows. We now use this identity

to show (A.17):

E �H = �� ��H = ���H � ��H = ���H

[(A.18),(A.19)]: Both identities follow directly from the de�nitions of Section A.A

and multiplying out the terms. Note that (A.19) also implies that HTPE =

HTP � = 0.

[(A.20),(A.21)]:

�� �� = I � 2HG +HD�1HTPHD�1HTP = I �HG

��TP �� = P � 2PHD�1HTP + PHD�1HTPHD�1HTP

= P � PHD�1HTP

= P [I �HG] = [I �GTHT ]P

[(A.22),(A.23)]: This identity is a direct consequence of the de�nition of the P re-

cursion (2.72) and identity (A.24). Identity (A.23) follows from multiplying (A.22)

on the left by T and on the right by together with (A.10).

[(A.24)]: Multiplying (A.23) byHT and H from the left and right respectively gives

HT TM H = HTPH +HT � TPH +HTP � H :

Page 180: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

166

Now use (A.19) to show that the last two terms are zero together with the de�nition

for D, D = HTPH.

[(A.25),(A.26)]: For a spatial vector X the following relationship holds:

g[�y;xX] = �y;xX��1y;x

Using this relationship with the spatial velocity recursion Vi = �i;i�1Vi�1 + Hi_�i

from (2.34) gives

~Vi�i;i�1 = �i;i�1 ~Vi�1 + ~V ��i;i�1

Equation (A.25) is the stacked version of this latter equation. Multiplying (A.25)

on the left and right by � and using (A.9) gives the next identity.

A.D Miscellaneous Identities

For any function g(�; _�), the following relationships hold:

@ _g

@��=

@g

@ _�(A.30)

@ _g

@ _�=

d

dt

@g

@ _�+@g

@�(A.31)

@ _g

@�=

d

dt

@g

@�(A.32)

Page 181: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

Bibliography

[1] D. Agahi and K. Kreutz-Delgado, \A star topology dynamic model for e�-

cient simulation of multilimbed robotic systems," Proc. IEEE International

Conf. on Robotics and Automation, pp. 352{7, 1994.

[2] W.W. Armstrong, \Recursive Solution to the Equations of Motion of an N-link Manipulator," Fifth World Congress on Theory of Machines and Mech-

anisms, pp. 1343{46, 1979.

[3] U.M. Ascher, C. Hongsheng, L.R. Petzold and S. Reich, \Stabilization of con-

strained mechanical systems with DAEs and invariant manifolds,"Mechanics

of Structures and Machines, Vol. 23, No. 2, pp. 135{57, 1995.

[4] O.O. Badmus, S. Chowdbury, and C.N. Nett, \Nonlinear control of surge inaxial compression systems," Automatica, Vol. 32, No. 1, pp. 59{70, 1996.

[5] D. Bae and E. Haug, \A Recursive Formulation for Constrained MechanicalSystems Dynamics: Part I. Open-Loop Systems,"Mechanical Strtuctures and

Machines, Vol. 15, No. 3, pp. 359{382, 1987.

[6] J. Baillieul, S. Dahlgren, and B. Lehman, \Nonlinear control designs for sys-tems with bifurcations with applications to stabilization and control of com-pressors," Proc. 34th IEEE Conf. on Decision and Control, pp. 3062{7, 1995.

[7] J.A. Ball and J.W. Helton, \H1 control for Nonlinear Plants: Connectionswith Di�erential Games," 28th IEEE Conf. on Decision and Control, pp.

956{962, 1989.

[8] J.A. Ball, J.W. Helton, and M.L. Walker, \H1 control for nonlinear systemswith output feedback," IEEE Transactions on Automatic Control, Vol. 38,

No. 4, pp. 546{59, 1993.

[9] T. Ba�sar and G. Olsder, Dynamic Noncooperative Game Theory, 2nd ed.,

Academic Press, 1995.

[10] R.W. Beard and T.W. McLain, \Successive Galerkin Approximation Algo-rithms for Nonlinear Optimal and Robust Control," International Journal of

Control, Vol. 71, No. 5, pp. 717{43, 1998.

167

Page 182: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

168

[11] R. Behnken, R. D'Andrea, and R.M. Murray, \Control of rotating stall in a

low-speed axial ow compressor using pulsed air injection: modeling, simula-

tions, and experimental validation," Proc. 34th IEEE Conf. on Decision and

Control, pp. 3056{61, 1995.

[12] D.P. Bertsekas and J.N. Tsitsiklis, Neuro-dynamic programming, Athena Sci-

enti�c, 1996.

[13] H. Brandl, R. Johanni, and M. Otter, \A Very E�cient Algorithm for the

Simulation of Robots and Similar Multibody Systems Without Inversion of

the Mass Matrix," IFAC/IFIP/IMACS Symposium, pp. 95{100, 1986.

[14] M.H. Breitner, \Real-time applicable feedback controller for di�erential

games," Proc. of the Sixth Interbaytional Symposium on Dynamic Games

and Applications, St-Jovite, Quebec, Canada, 1994.

[15] R.W. Brockett, A. Stokes, and F. Park, \A Geometrical Formulation of theDynamical Equations Describing Kinematic Chains," Proc. IEEE Interna-

tional Conference on Robotics and Automation, Vol. 2, pp. 637{41, 1993.

[16] C. Chevallereau, A. Formal'sky, and B. Perrin, \Low Energy Cost ReferenceTrajectories for a Biped Robot," Proc. IEEE International Conf. on Robotics

& Automation, pp. 1398{1404, 1998.

[17] C.K. Chow and D.H. Jacobson, \Studies of Human Locomotion via OptimalProgramming," Mathematical Biosciences, Vol. 10, pp. 239{306, 1971.

[18] P.M. Dower, Power Gain Analysis and Control of Nonlinear Systems, Ph.D.Thesis, Computer Engineering, University of Newcastle, Australia, 1998.

[19] J. Doyle, K. Glover, P.P. Khargonekar, and B. Francis, \State-space solu-tions to the standard H2 and H1 control problems," IEEE Transactions on

Automatic Control, Vol. 34, No. 8, pp. 831{47, 1989.

[20] J.C. Doyle, \Synthesis of robust controllers and �lters," Proc. 22nd IEEE

Conference on Decision and Control, pp. 109{14, 1983.

[21] K.M. Eveker, D.L. Gysling, C.N. Nett, and O.P Sharma, \Integrated Con-trol of Rotating Stall and Surge in Aeroengines," SPIE Conf. on Sensing,

Actuation, and Control in Aeropropulsion, 1995.

[22] M. Falcone and R. Ferreti, \Discrete time high-order schemes for viscositysolutions of Hamilton-Jacobi-Bellman equations," Numerische Mathematik,

Vol. 67, No. 3, pp. 315-344, 1994.

[23] R. Featherstone, Robot Dynamics Algorithms, Kluwer Academic Publishers,

1987.

Page 183: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

169

[24] K.S. Fu, R.C. Gonzalez, and C.S.G. Lee, Robotics: control, sensing, vision,

and intelligence, McGraw-Hill, 1987.

[25] Y. Fujimoto and A. Kawamura, \Robust biped walking with active interac-

tion control between foot and ground," Proc. IEEE International Conf. on

Robotics and Automation, pp. 2030{5, 1998.

[26] P.E. Gill, W. Murray, M.A. Saunders, M.H.Wright, User's Guide for NPSOL,

Version 5.0.

[27] A. Goswami, B. Espiau, and A. Keramane, \Limit Cycles in a Passive

Compass Gait Biped and Passivity-Mimicking Control Laws," Autonomous

Robots, Vol. 4, pp. 273{286, 1997.

[28] M. Green and D.J.N Limebeer, Linear Robust Control, Prentice-Hall, Engle-wood Cli�s, NJ, 1995.

[29] M. Hardt, J.W. Helton, and K. Kreutz-Delgado, \Numerical Solution of Non-linearH2 and H1 Control Problems with Application to Jet Engine Control,"Proc. 36th IEEE Conf. on Decision and Control, Vol. 3, pp. 2317{22, 1997.

[30] M. Hardt and K. Kreutz-Delgado, \Using the Algebraic Structure of Roboticsin Control Design," Proc. IEEE 36th Conf. on Decision and Control, pp.4850{55, 1997.

[31] M. Hardt, K. Kreutz-Delgado, and J. William Helton, \Minimal Energy Con-

trol of a Biped Robot with Numerical Methods and a Recursive SymbolicDynamic Model," Proc. 37th IEEE Conference on Decision and Control, pp.413{6, 1998.

[32] J.W. Helton, \An H1 approach to control," Proc. 22nd IEEE Conference on

Decision and Control, pp. 607{12, 1983.

[33] P. Hiltmann, K. Chudej, and M. Breitner, \Eine modi�zierte Mehrzielmeth-

ode zur L�osung von Mehrpunkt-Randwertproblemen: Benutzeranleitung,"Report Nr. 14, Mathematics Department, TU-Munich, 1993.

[34] J.M. Hollerbach, \A Recursive Lagrangian Formulation of Manipulator Dy-

namics and A Comparative Study of Dynamics Formulation Complexity,"

IEEE Transactions on Systems, Man, and Cybernetics, Vol. SMC-10, No. 11,

pp. 730{6, 1980.

[35] W. Hooker and G. Margulies, \The Dynamical Attitude Equations for an n-

Body Satellite," Journal of Astronautical Sciences, Vol. 12, pp. 123{8, 1965.

[36] R. Huston and C. Passerello, \On Multi-Rigid-Body System Dynamics,"Computers and Structures, Vol. 10, pp. 439{46, 1979.

Page 184: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

170

[37] A. Isidori and A. Astol�, \Disturbance attenuation and H1 control via mea-

surement feedback in nonlinear systems," IEEE Trans. on Automatic Control

Vol. 37, No. 9, pp. 1283{1293, 1992.

[38] A. Jain, \Uni�ed Formulation of Dynamics for Serial Rigid Multibody Sys-

tems," Journal of Guidance, Control, and Dynamics, Vol. 14, pp. 531{542,

1991.

[39] A. Jain, \Uni�ed Formulation of Dynamics for Serial Rigid Multibody Sys-

tems," Jet Propulsion Laboratory, Unpublished lecture notes, 1989.

[40] A. Jain and G. Rodriguez, \Recursive exible multibody system dynamics

using spatial operators," Journal of Guidance, Control, and Dynamics, Vol.

15, No. 6, pp. 1453{66, 1992.

[41] A. Jain and G. Rodriguez, \An Analysis of the Kinematics and Dynamicsof Underactuated Manipulators," IEEE Trans. on Robotics and Automation,Vol. 9, No. 4, pp. 411{22, 1993.

[42] A. Jain and G. Rodriguez, \Linearization of Manipulator Dynamics UsingSpatial Operators," IEEE Transactions on Systems, Man, and Cybernetics,

Vol. 33, No. 1, pp. 239{48, 1993.

[43] A. Jain and G. Rodriguez, \Base-Invariant Symmetric Dynamics of Free-Flying Manipulators," IEEE Trans. on Robotics and Automation, Vol. 11,No. 4, pp. 585{97, 1995.

[44] A. Jain and G. Rodriguez, \Diagonalized Lagrangian Robot Dynamics,"IEEE Transactions on Robotics and Automation, Vol. 11, No. 4, pp. 571{584, 1995.

[45] A. Jain, G. Rodriguez, and K. Kreutz-Delgado, \Multi-arm grasp and manip-ulation of objects with internal degrees of freedom," Proc. 29th IEEE Conf.

on Decision and Control, pp. 3110{11, 1990.

[46] S. Kajita and K. Tani, \Experimental Study of Biped Dynamic Walking,"

IEEE Control Systems, pp. 13{19, 1996.

[47] T.R. Kane and D.A. Levinson, \Formulation of Equations of Motion for Com-

plex Spacecrafts," Journal of Guidance and Control, Vol. 3, No. 2, pp. 99{112,1980.

[48] O. Khatib, \A Uni�ed Approach for Motion and Force Control of RobotManipulators: The Operational Space Formulation," IEEE Transactions on

Robotics and Automation, Vol. RA-3, No. 1, pp. 43{53, 1987.

[49] N. Kir�canski, M. Vukobratovi�c, A. Timcenko, M. Kir�canski, \Symbolic Mod-

eling in Robotics: Genesis, Application, and Future Prospects," Journal of

Intelligent and Robotic Systems, Vol. 8, pp. 1{19, 1993.

Page 185: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

171

[50] H. Kreim, B. Kugelmann, H.J. Pesch, and M.H. Breitner, \Minimizing the

maximum heating of a re-entering space shuttle: an optimal control problem

with multiple control constraints," Optimal Control Applications & Methods,

Vol. 17, No. 1, pp. 45{69, 1996.

[51] K. Kreutz-Delgado, A. Jain, and G. Rodriguez, \Recursive Formulation of

Operational Space Control," The International Journal of Robotics Research,

Vol. 11, No. 4, pp. 320{28, 1992.

[52] M. Krsti�c, D. Fontaine, P.V. Kokotovi�c, and J.D. Paduano, \Useful Nonlin-

earities and Global Stabilization of Bifurcations in a Model of Jet Engine

Surge and Stall," IEEE Trans. on Automatic Control, Vol. 43, No. 12, pp.

1739{45, 1998.

[53] M. Krsti�c, J.M. Protz, J.D. Paduano, and P.V. Kokotovi�c, \BacksteppingDesigns for Jet Engine Stall and Surge Control," Proc. 34th IEEE Conf. on

Decision and Control, pp. 3049{55, 1995.

[54] H.J. Kushner and P.G. Dupuis, Numerical methods for stochastic control prob-lems in continuous time, Springer, New York, 1992.

[55] H.G. Kwatny and G.L. Blankenship, \Symbolic Construction of Models forMultibody Dynamics," IEEE Trans. on Robotics and Automation, Vol. 11,No. 2, pp. 271{281, 1995.

[56] T. Lauvdal, R.M.Murray, and T.I. Fossen, \Stabilization of Integrator Chainsin the Presence of Magnitude and Rate Saturations: a Gain Scheduling Ap-

proach," Proc. 36th IEEE Conf. on Decision and Control, pp. 4004{5, 1997.

[57] F. Lewis, C. Abdallah, and D. Dawson, Control of Robot Manipulators,Macmillan, 1993.

[58] D.C. Liaw and E.H. Abed, \Active Control of Compressor Stall Inception:A Bifurcation-theoretic Approach," Automatica, Vol. 32, No. 1, pp. 109{115,

1996. (also in Proc. of the IFAC Nonlinear Control Systems Design Sympo-

sium, Bordeaux, France, 1992)

[59] K.W. Lilly and D.E. Orin, \E�cient Dynamic Simulation of Multiple Chain

Robotic Mechanism," Journal of Dynamic Systems, Measurement, and Con-

trol, Vol. 116, pp. 223{31, 1994.

[60] J. Luh, M. Walker, and R. Paul, \On-line computational scheme for mechan-

ical manipulators," ASME Journal of Dynamic Systems, Measurement, and

Control, Vol. 102, No. 2, pp. 69{76, 1980.

[61] C.A. Mansoux, J.D. Setiawan, D.L. Gysling, and J.D. Paduano, \Distributed

nonlinear modeling and stability analysis of axial compressor stall and surge,"

1994 American Control Conf., Vol. 2, pp. 2305{16, 1994.

Page 186: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

172

[62] Matlab 4.2c, The MathWorks, Inc., 1995.

[63] W.M. McEneaney and K.D. Mease, \Nonlinear H1Control of Aerospace

Plane Ascent", Proc. 34th IEEE Conf. on Decision and Control, pp. 3994{5,

1995.

[64] T. McGeer, \Passive Dynamic Walking," The International Journal of

Robotics Research, Vol. 9, No. 2, pp. 62{82, 1990.

[65] F.K. Moore and E.M. Greitzer, \A Theory of Post-Stall Transients in Ax-

ial Compression Systems: Part I { Development of Equations," Journal of

Engineering for Gas Turbines and Power, Vol. 108, pp. 68{76, 1986.

[66] R.M. Murray, Z. Li, and S. Sastry, A Mathematical Introduction to Robotics,

CRC Press, 1994.

[67] S.Y. Oh and D.E. Orin, \Dynamic Computer Simulation of Multiple Closed-

Chain Robotic Mechanisms," Proc. IEEE International Conf. Robotics and

Automation, pp. 15{20, 1986.

[68] D.E. Orin and S.Y. Oh, \Control of Force Distribution in Robotic Mecha-

nisms Containing Closed Kinematic Chains," Journal of Dynamic Systems,

Measurement, and Control, Vol. 102, pp. 134{41, 1981.

[69] J.D. Paduano, L. Valavani, A.H. Epstein, E.M. Greitzer, G.R. Guenette,\Modeling for control of rotating stall," Automatica, Vol. 30, No. 9, pp. 1357{

73, 1994.

[70] F.C. Park, J.E. Bobrow, and S.R. Ploen, \A Lie Group Formulation of RobotDynamics," The International Journal of Robotics Research, Vol. 14, No. 6,

pp. 609{618, 1995.

[71] H.J. Pesch, I. Gabler, S. Miesbach, M.H. Breitner, \Synthesis of optimalstrategies for di�erential games by neural networks," Annals of the Interna-

tional Society of Dynamic Games, Vol. 3, pp. 78{106, 1996.

[72] S. Ploen, Geometric Algorithms for the Dynamics and Control of Multibody

Systems, Ph.D. Thesis, University of California, Irvine, 1997.

[73] D. Pogorelov, \Di�erential-algebraic equations in multibody system model-ing," Numerical Algorithms, Vol. 19, No. 4, pp. 183{94, 1998.

[74] R. Roberson and R. Schwertassek, Dynamics of Multibody Systems, Springer-

Verlag, 1988.

[75] R. Roberson and J. Wittenburg, \A Dynamical Formalism for an Arbitrary

Number of Interconnected Rigid Bodies," Proc. Third Congress IFAC, Vol.

1, Book 3, Paper No. 46D, 1997.

Page 187: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

173

[76] G. Rodriguez, \Kalman Filtering, Smoothing, and Recursive Robot Arm For-

ward and Inverse Dynamics," IEEE Journal of Robotics and Automation, Vol.

3, No. 6, pp. 624{639, 1987.

[77] G. Rodriguez, and A. Jain, and K. Kreutz-Delgado, \Spatial Operator Alge-

bra for Multibody System Dynamics," Journal of the Astronautical Sciences,

Vol. 40, No. 1, pp. 27{50, 1992.

[78] G. Rodriguez, K. Kreutz-Delgado, and A. Jain, \A Spatial Operator Algebra

for Manipulator Modeling and Control," International Journal of Robotics

Research, Vol. 10, No. 4, pp. 371{81, 1991.

[79] J. Rose and J.G. Grimble, Human Walking, Williams & Wilkins, 1994.

[80] M. Rostami and G. Bessonnet, \Impactless sagittal gait of a biped robotduring the single support phase," Proc. IEEE International Conf. on Robotics

& Automation, pp. 1385{91, 1998.

[81] L. Roussel, C. Canudas de Wit, and A. Goswami, \Generation of EnergyOptimal Complete Gait Cycles for Biped Robots," Proc. IEEE International

Conf. on Robotics & Automation, pp. 2036{41, 1998.

[82] P. Saint-Pierre, \Numerical approximation of the value function for controlproblems with state constraints: a viability approach," Proc. of IFAC Sym-

posium on Nonlinear Control Systems Design, Vol. 2, pp. 529{34, 1995.

[83] W. Schiehlen, \Multibody System Dynamics: Roots and Perspectives,"Multibody System Dynamics, Vol. 1, No. 2, pp. 149{188, 1997.

[84] J.M. Selig, Geometrical Methods in Robotics, Springer, 1996.

[85] C.L. Shih and W. Gruver, \Control of a Biped Robot in the Double-SupportPhase," IEEE Transactons on Systems, Man, and Cybernetics, Vol. 22, No.4, pp. 729{35, 1992.

[86] B. Simeon, \MBSPACK{numerical integration software for constrained me-chanical motion," Surveys on Mathematics for Industry, Vol. 5, No. 3, pp.

169{202, 1995.

[87] M.W. Spong and M. Vidyasagar, Robot Dynamics and Control, John Wiley& Sons, 1989.

[88] V. Stejskal and M. Val�asek, Kinematics and Dynamics of Machinery, MarcelDekker, 1996.

[89] S. Swinnen, H. Heuer, J. Massion, and P. Casaer, Interlimb Coordination.

Neural, Dynamical, and Cognitive Constraints, Academic Press, 1994.

Page 188: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

174

[90] A.R. Teel, O.E. Kaiser, and R.M. Murray, \Uniting Local and Global Con-

trollers for the Caltech Ducted Fan," Proc. IEEE 36th Conf. on Decision and

Control, pp. 1539{43, 1997.

[91] A.J. van der Schaft, \L2{gain analysis of nonlinear systems and nonlinear

state feedback H1 control," IEEE Transactions on Automatic Control, Vol.

37, No. 6, pp. 770{84, 1992.

[92] A.J. van der Schaft, \Nonlinear state space H1 control theory" in: H.L.

Trentelman and J.C. Willems, Essays on Control: Perspectives in the Theory

and Applications, Birkh�auser, Berlin, 1993.

[93] A.F. Vereshchagin, \Computer Simulation of the Dynamics of Complicated

Mechanisms of Robot Manipulators," Engineering Cybernetics, Vol. 6, pp.

65{70, 1974.

[94] O. von Stryk, Numerische L�osung optimaler Steuerungsprobleme: Diskreti-

sierung, Parameteroptimierung und Berechnung der Adjungierten Variablen,

Ph.D. Thesis, Department of Mathematics, TU-Munich, 1995.

[95] O. von Stryk, User's Guide for DIRCOL. A direct collocation method for the

numerical solution of optimal control problems, 1995.

[96] M. Vukobratovic and A. Tuneski, \Adaptive control of single rigid roboticmanipulators interacting with dynamic environment - an overview," Journalof Intelligent and Robotic Systems: Theory and Applications, Vol. 17, No. 1,pp. 1{30, 1996.

[97] M. Walker and D. Orin, \E�cient Dynamic Computer Simulation of RoboticMechanisms," ASME Journal of Dynamic Systems, Measurement, and Con-

trol, Vol. 104, No. 3, pp. 205{211, 1982.

[98] Y. Wang and R.M. Murray, \E�ects of Noise, Magnitude Saturation, and

Rate Limits on Rotating Stall Control," Proc. 36th IEEE Conf. on Decision

and Control, pp. 4682{87, 1997.

[99] J.M. Wendlandt and S.S. Sastry, \Recursive Workspace Control of MultibodySystems: A Planar Biped Example," Proc. 35th IEEE Conf. on Decision and

Control, pp. 3575{80, 1996.

[100] J. Wittenburg, Dynamics of Systems of Rigid Bodies, B.G. Teubner,Stuttgart, 1977.

[101] G. Zames, \Optimal sensitivity and feedback: weighted seminorms, approxi-mate inverses, and plant invariant schemes," Proceedings Allerton Conference,

1979.

Page 189: trol, - cs.cmu.educga/tmp-public/hardt-thesis.pdf · trol, with Detailed Studies in the Con trol of Jet Engine Compressors and Bip ed W alking A dissertation submitted in partial

175

[102] K. Zhou, J. Doyle, and K. Glover, Robust and Optimal Control, Prentice-Hall,

Englewood Cli�s, NJ, 1996.


Recommended