Belajar Dynamic 2

download Belajar Dynamic 2

of 174

Transcript of Belajar Dynamic 2

  • 7/29/2019 Belajar Dynamic 2

    1/174

    UNIVERSITY OF CALIFORNIA

    IRVINE

    Dynamic Motion Planning For Robot

    Manipulators Using B-Splines

    DISSERTATION

    submitted in partial satisfaction of the requirements for the degree of

    DOCTOR OF PHILOSOPHY

    in Engineering

    by

    Chia-Yu Eric Wang

    Dissertation Committee:

    Professor James E. Bobrow, Chair

    Professor Athanasios SiderisProfessor David J. Reinkensmeyer

    2001

  • 7/29/2019 Belajar Dynamic 2

    2/174

    c2001 by Chia-Yu Eric Wang

  • 7/29/2019 Belajar Dynamic 2

    3/174

    The dissertation of Chia-Yu Eric Wang is approved,

    and is acceptable in quality and form

    for publication on microfilm:

    Committee Chair

    University of California, Irvine

    2001

    ii

  • 7/29/2019 Belajar Dynamic 2

    4/174

    In Memory Of My Best Friend,

    Melissa Wang.

    iii

  • 7/29/2019 Belajar Dynamic 2

    5/174

    Contents

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

    List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii

    Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii

    Curriculum Vitae . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv

    Abstract of the Dissertation . . . . . . . . . . . . . . . . . . . . . . . . . . xvii

    Chapter 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    1.2.1 Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2.2 Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2.3 System Identification . . . . . . . . . . . . . . . . . . . . . . . 41.2.4 Dynamic Motion Planning for Robots . . . . . . . . . . . . . . 4

    1.2.5 Robotic Body Weight Supported (BWS) Training . . . . . . . 61.3 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.4 Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    Chapter 2 Kinematics of Robot Manipulators . . . . . . . . . . . . 112.1 Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    2.1.1 Lie Groups and Lie Algebras . . . . . . . . . . . . . . . . . . . 122.1.2 Adjoint Operators . . . . . . . . . . . . . . . . . . . . . . . . 152.1.3 Forward Kinematics . . . . . . . . . . . . . . . . . . . . . . . 172.1.4 Derivatives of the Adjoint Mapping . . . . . . . . . . . . . . . 18

    2.2 Differential Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . 192.2.1 The Manipulator Jacobian . . . . . . . . . . . . . . . . . . . . 20

    2.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

    Chapter 3 Dynamics of Robot Manipulators . . . . . . . . . . . . . 253.1 Open-Chained Systems . . . . . . . . . . . . . . . . . . . . . . . . . . 25

    3.1.1 Inverse Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . 263.1.2 Forward Dynamics . . . . . . . . . . . . . . . . . . . . . . . . 28

    iv

  • 7/29/2019 Belajar Dynamic 2

    6/174

    3.1.3 Hybrid Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . 303.2 Closed-Chained Systems . . . . . . . . . . . . . . . . . . . . . . . . . 32

    3.2.1 Lathrops Algorithm . . . . . . . . . . . . . . . . . . . . . . . 353.3 Derivatives of Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . 37

    3.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

    Chapter 4 B-Spline Curves . . . . . . . . . . . . . . . . . . . . . . . . 404.1 Construction of B-Splines . . . . . . . . . . . . . . . . . . . . . . . . 40

    4.1.1 B-Spline Basis Functions . . . . . . . . . . . . . . . . . . . . . 424.2 Examples of B-Splines . . . . . . . . . . . . . . . . . . . . . . . . . . 454.3 Derivatives of B-Splines . . . . . . . . . . . . . . . . . . . . . . . . . 474.4 Uniform Quintic B-Spline Curves . . . . . . . . . . . . . . . . . . . . 49

    Chapter 5 Dynamic Motion Planning for Open-Chained Robots . 535.1 Optimization Problems for Robots . . . . . . . . . . . . . . . . . . . 54

    5.2 Identification of Mass Properties . . . . . . . . . . . . . . . . . . . . . 565.2.1 Application: PUMA 762 . . . . . . . . . . . . . . . . . . . . . 59

    5.3 Weightlifting Motion Planning . . . . . . . . . . . . . . . . . . . . . . 625.3.1 Optimization Results . . . . . . . . . . . . . . . . . . . . . . . 655.3.2 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695.3.3 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

    Chapter 6 Dynamic Motion Planning for the Design of Robotic GaitRehabilitation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

    6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 746.2 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

    6.2.1 Human Model and Walking Motion . . . . . . . . . . . . . . . 776.2.2 Formulation of the Optimal Control Problem . . . . . . . . . . 816.2.3 Dynamic Motion Optimization via Direct Parameter Optimization 88

    6.3 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 896.3.1 Case 1: Paralyzed Swing Leg with Motion Captured Stance Hip

    Orientation (No Optimization) . . . . . . . . . . . . . . . . . 916.3.2 Case 2: Unimpaired Swing Leg with Effort Minimization of All

    Joints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 926.3.3 Case 3: Paralyzed Swing Leg with Effort Minimization of the

    Stance Hip Torques . . . . . . . . . . . . . . . . . . . . . . . . 96

    6.3.4 Case 4: Paralyzed Swing Leg with Effort Minimization of theStance Hip Torques and Bounded Stance Hip Orientation . . . 97

    6.3.5 Comparison of Cases . . . . . . . . . . . . . . . . . . . . . . . 1006.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

    Chapter 7 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . 1077.1 Research Summary and Conclusions . . . . . . . . . . . . . . . . . . . 1087.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

    v

  • 7/29/2019 Belajar Dynamic 2

    7/174

    Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

    Appendix A Transformation Between Joints and Motion CaptureMarkers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

    Appendix B Estimation of Dynamical Properties Using RegressionEquations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

    Appendix C Results for Gait Rehabilitation Case 1: ParalyzedSwing Leg with Motion Captured Stance Hip Orientation . . . . . . . 122

    Appendix D Results for Gait Rehabilitation Case 2: UnimpairedSwing Leg with Effort Minimization of All Joints . . . . . . . . . . . . 126

    Appendix E Results for Gait Rehabilitation Case 3: ParalyzedSwing Leg with Effort Minimization of the Stance Hip Torques . . . 136

    Appendix F Results for Gait Rehabilitation Case 4: ParalyzedSwing Leg with Effort Minimization of the Stance Hip Torques andBounded Stance Hip Orientation . . . . . . . . . . . . . . . . . . . . . . . 146

    vi

  • 7/29/2019 Belajar Dynamic 2

    8/174

    List of Figures

    1.1 Body weight supported (BWS) step training following spinal cord in-jury. Two therapists assist in leg movement, while a third assists intorso movement. From Behrman and Harkema (2000). . . . . . . . . 7

    4.1 A cubic B-spline curve (solid line) constructed on the basis functions(dashed lines). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

    4.2 Local control of the B-spline curves. . . . . . . . . . . . . . . . . . . . 41

    4.3 A quadratic B-spline produced from the recurrence. . . . . . . . . . . 444.4 A step-function B-spline curve with the control points {1.5, 1, 2, 1}

    over the knots {2, 4, 5, 7.5, 9}. . . . . . . . . . . . . . . . . . . . . . . 454.5 A piecewise linear B-spline curve with the control points {2, 1, 3, 0, 1.5}

    over the knots {1, 2.5, 3.5, 6, 6, 7.5, 10}. . . . . . . . . . . . . . . . . . 47

    5.1 The home position of the PUMA with all the joint positions = 0. . . 595.2 The initial (left) and final (right) configurations of the puma. . . . . . 665.3 The motion, speed and torque of the 4th joint in the 1 DOF case.

    (Limits: dotted lines) . . . . . . . . . . . . . . . . . . . . . . . . . . . 685.4 The motion of the wrist in the 3 DOF case. . . . . . . . . . . . . . . 69

    5.5 The motion for the 6 DOF case. . . . . . . . . . . . . . . . . . . . . . 70

    6.1 Body weight supported (BWS) step training following spinal cord in-jury. Two therapists assist in leg movement, while a third assists intorso movement. From Behrman and Harkema (2000). . . . . . . . . 75

    6.2 One-half of the gait cycle (duration 0.467 sec). . . . . . . . . . . . . . 776.3 Muscle system. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 826.4 One-half of the gait cycle (duration 0.433 sec). . . . . . . . . . . . . . 836.5 One-half of the gait cycle (duration 0.467 sec). . . . . . . . . . . . . . 836.6 One-half of the gait cycle (duration 0.5 sec). . . . . . . . . . . . . . . 84

    6.7 One-half of the gait cycle (duration 0.567 sec). . . . . . . . . . . . . . 846.8 The resulting gait (duration 0.5 sec) for Case 1: Paralyzed Swing Legwith Motion Captured Stance Hip Orientation (No Optimization). Thesolid lines show the resulting gait and the dashed lines are the gaitrecorded from the motion capture system.) . . . . . . . . . . . . . . . 91

    6.9 The resulting gait (duration 0.5 sec) for Case 2: Unimpaired SwingLeg. The solid lines show the resulting gait and the dashed lines arethe gait recorded from the motion capture system.) . . . . . . . . . . 93

    vii

  • 7/29/2019 Belajar Dynamic 2

    9/174

    6.10 The resulting joint motions (duration 0.5 sec) for Case 2: UnimpairedSwing Leg. The solid lines show the resulting joint motions and thedashed lines are the joint motions recorded from the motion capturesystem.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

    6.11 The resulting joint torques (duration 0.5 sec) for Case 2: UnimpairedSwing Leg. The solid lines show the resulting joint torques and thedashed lines are the joint torques corresponding to the motion capturedata.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

    6.12 The resulting gait (duration 0.5 sec) for Case 3: Paralyzed Swing Leg.The solid lines show the resulting gait and the dashed lines are the gaitrecorded from the motion capture system.) . . . . . . . . . . . . . . . 98

    6.13 The resulting joint motions (duration 0.5 sec) for Case 3: ParalyzedSwing Leg. The solid lines show the resulting joint motions and thedashed lines are the joint motions recorded from the motion capturesystem.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

    6.14 The resulting joint torques (duration 0.5 sec) for Case 3: ParalyzedSwing Leg. The solid lines show the resulting joint torques and thedashed lines are the joint torques corresponding to the motion capturedata.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

    6.15 The resulting gait (duration 0.5 sec) for Case 4: Paralyzed Swing Legwith Bounded Stance Hip Orientation. The solid lines show the result-ing gait and the dashed lines are the gait recorded from the motioncapture system.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

    6.16 The resulting joint motions (duration 0.5 sec) for Case 4: ParalyzedSwing Leg with Bounded Stance Hip Orientation. The solid lines show

    the resulting joint motions and the dashed lines are the joint motionsrecorded from the motion capture system.) . . . . . . . . . . . . . . . 102

    6.17 The resulting joint torques (duration 0.5 sec) for Case 4: ParalyzedSwing Leg with Bounded Stance Hip Orientation. The solid lines showthe resulting joint torques and the dashed lines are the joint torquescorresponding to the motion capture data.) . . . . . . . . . . . . . . . 103

    6.18 Applied effort for step duration 0.5 sec. (The , , and marks represent Case 1, 2, 3 and 4, respectively.) . . . . . . . . . . . 103

    6.19 Root-Mean-Square of position error. (The , and marksrepresent Case 2, 3 and 4, respectively.) . . . . . . . . . . . . . . . . . 104

    6.20 Final position error. (The , and marks represent Case 2,3 and 4, respectively.) . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

    C.1 The resulting gait (duration 0.433 sec) for Case 1: Paralyzed SwingLeg with Motion Captured Stance Hip Orientation (No Optimization).The solid lines show the resulting gait and the dashed lines are the gaitrecorded from the motion capture system.) . . . . . . . . . . . . . . . 123

    viii

  • 7/29/2019 Belajar Dynamic 2

    10/174

    C.2 The resulting gait (duration 0.467 sec) for Case 1: Paralyzed SwingLeg with Motion Captured Stance Hip Orientation (No Optimization).The solid lines show the resulting gait and the dashed lines are the gaitrecorded from the motion capture system.) . . . . . . . . . . . . . . . 124

    C.3 The resulting gait (duration 0.567 sec) for Case 1: Paralyzed SwingLeg with Motion Captured Stance Hip Orientation (No Optimization).The solid lines show the resulting gait and the dashed lines are the gaitrecorded from the motion capture system.) . . . . . . . . . . . . . . . 125

    D.1 The resulting gait (duration 0.433 sec) for Case 2: Unimpaired SwingLeg. The solid lines show the resulting gait and the dashed lines arethe gait recorded from the motion capture system.) . . . . . . . . . . 127

    D.2 The resulting gait (duration 0.467 sec) for Case 2: Unimpaired SwingLeg. The solid lines show the resulting gait and the dashed lines arethe gait recorded from the motion capture system.) . . . . . . . . . . 128

    D.3 The resulting gait (duration 0.567 sec) for Case 2: Unimpaired SwingLeg. The solid lines show the resulting gait and the dashed lines arethe gait recorded from the motion capture system.) . . . . . . . . . . 129

    D.4 The resulting joint motions (duration 0.433 sec) for Case 2: UnimpairedSwing Leg. The solid lines show the resulting joint motions and thedashed lines are the joint motions recorded from the motion capturesystem.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

    D.5 The resulting joint torques (duration 0.433 sec) for Case 2: UnimpairedSwing Leg. The solid lines show the resulting joint torques and thedashed lines are the joint torques corresponding to the motion capture

    data.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131D.6 The resulting joint motions (duration 0.467 sec) for Case 2: Unimpaired

    Swing Leg. The solid lines show the resulting joint motions and thedashed lines are the joint motions recorded from the motion capturesystem.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

    D.7 The resulting joint torques (duration 0.467 sec) for Case 2: UnimpairedSwing Leg. The solid lines show the resulting joint torques and thedashed lines are the joint torques corresponding to the motion capturedata.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

    D.8 The resulting joint motions (duration 0.467 sec) for Case 2: UnimpairedSwing Leg. The solid lines show the resulting joint motions and thedashed lines are the joint motions recorded from the motion capturesystem.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

    D.9 The resulting joint torques (duration 0.567 sec) for Case 2: UnimpairedSwing Leg. The solid lines show the resulting joint torques and thedashed lines are the joint torques corresponding to the motion capturedata.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

    ix

  • 7/29/2019 Belajar Dynamic 2

    11/174

    E.1 The resulting gait (duration 0.433 sec) for Case 3: Paralyzed SwingLeg. The solid lines show the resulting gait and the dashed lines arethe gait recorded from the motion capture system.) . . . . . . . . . . 137

    E.2 The resulting gait (duration 0.467 sec) for Case 3: Paralyzed Swing

    Leg. The solid lines show the resulting gait and the dashed lines arethe gait recorded from the motion capture system.) . . . . . . . . . . 138E.3 The resulting gait (duration 0.567 sec) for Case 3: Paralyzed Swing

    Leg. The solid lines show the resulting gait and the dashed lines arethe gait recorded from the motion capture system.) . . . . . . . . . . 139

    E.4 The resulting joint motions (duration 0.433 sec) for Case 3: ParalyzedSwing Leg. The solid lines show the resulting joint motions and thedashed lines are the joint motions recorded from the motion capturesystem.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140

    E.5 The resulting joint torques (duration 0.433 sec) for Case 3: ParalyzedSwing Leg. The solid lines show the resulting joint torques and thedashed lines are the joint torques corresponding to the motion capturedata.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

    E.6 The resulting joint motions (duration 0.467 sec) for Case 3: ParalyzedSwing Leg. The solid lines show the resulting joint motions and thedashed lines are the joint motions recorded from the motion capturesystem.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142

    E.7 The resulting joint torques (duration 0.467 sec) for Case 3: ParalyzedSwing Leg. The solid lines show the resulting joint torques and thedashed lines are the joint torques corresponding to the motion capturedata.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

    E.8 The resulting joint motions (duration 0.567 sec) for Case 3: ParalyzedSwing Leg. The solid lines show the resulting joint motions and thedashed lines are the joint motions recorded from the motion capturesystem.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

    E.9 The resulting joint torques (duration 0.567 sec) for Case 3: ParalyzedSwing Leg. The solid lines show the resulting joint torques and thedashed lines are the joint torques corresponding to the motion capturedata.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

    F.1 The resulting gait (duration 0.433 sec) for Case 4: Paralyzed SwingLeg with Bounded Stance Hip Orientation. The solid lines show the re-sulting gait and the dashed lines are the gait recorded from the motioncapture system.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

    F.2 The resulting gait (duration 0.467 sec) for Case 4: Paralyzed SwingLeg with Bounded Stance Hip Orientation. The solid lines show the re-sulting gait and the dashed lines are the gait recorded from the motioncapture system.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

    x

  • 7/29/2019 Belajar Dynamic 2

    12/174

    F.3 The resulting gait (duration 0.567 sec) for Case 4: Paralyzed SwingLeg with Bounded Stance Hip Orientation. The solid lines show the re-sulting gait and the dashed lines are the gait recorded from the motioncapture system.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

    F.4 The resulting joint motions (duration 0.433 sec) for Case 4: ParalyzedSwing Leg with Bounded Stance Hip Orientation. The solid lines showthe resulting joint motions and the dashed lines are the joint motionsrecorded from the motion capture system.) . . . . . . . . . . . . . . . 150

    F.5 The resulting joint torques (duration 0.433 sec) for Case 4: ParalyzedSwing Leg with Bounded Stance Hip Orientation. The solid lines showthe resulting joint torques and the dashed lines are the joint torquescorresponding to the motion capture data.) . . . . . . . . . . . . . . . 151

    F.6 The resulting joint motions (duration 0.467 sec) for Case 4: ParalyzedSwing Leg with Bounded Stance Hip Orientation. The solid lines showthe resulting joint motions and the dashed lines are the joint motionsrecorded from the motion capture system.) . . . . . . . . . . . . . . . 152

    F.7 The resulting joint torques (duration 0.467 sec) for Case 4: ParalyzedSwing Leg with Bounded Stance Hip Orientation. The solid lines showthe resulting joint torques and the dashed lines are the joint torquescorresponding to the motion capture data.) . . . . . . . . . . . . . . . 153

    F.8 The resulting joint motions (duration 0.567 sec) for Case 4: ParalyzedSwing Leg with Bounded Stance Hip Orientation. The solid lines showthe resulting joint motions and the dashed lines are the joint motionsrecorded from the motion capture system.) . . . . . . . . . . . . . . . 154

    F.9 The resulting joint torques (duration 0.567 sec) for Case 4: Paralyzed

    Swing Leg with Bounded Stance Hip Orientation. The solid lines showthe resulting joint torques and the dashed lines are the joint torquescorresponding to the motion capture data.) . . . . . . . . . . . . . . . 155

    xi

  • 7/29/2019 Belajar Dynamic 2

    13/174

    List of Tables

    5.1 The joint locations and associated rotation axes of the PUMA. . . . . 605.2 The physical properties without any prediction of mass and friction . 615.3 The physical properties with prediction of mass and friction . . . . . 625.4 The optimal results for three cases . . . . . . . . . . . . . . . . . . . 67

    6.1 Link lengths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 786.2 Dynamic properties of the human model (in the SI system of units) . 79

    6.3 DOF of the human model. . . . . . . . . . . . . . . . . . . . . . . . . 856.4 Weighting coefficients in Case 2: Unimpaired Swing Leg . . . . . . . . 926.5 Weighting coefficients for swivel in Case 3: Paralyzed Swing Leg . . . 97

    A.1 Joint width . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

    xii

  • 7/29/2019 Belajar Dynamic 2

    14/174

    Acknowledgements

    At the moment I prepared the writing of this Acknowledgments I went through

    my memory from the time I started my Masters to the time I completed my Ph.D. A

    smile was on my face because of the pleasure during my graduate studies at University

    of California, Irvine. I am grateful to many of those people who made the time of my

    study so enjoyable.

    First of all, I would like to thank my advisor, Professor James Bobrow, for his

    guidance of my Ph.D. work. His knowledge in the physical sense of mathematical

    formulas led my research to concentrate on practical applications using theoretical

    concepts. Implementing robots to move with our algorithms is appealing to us and

    has been the main stimulation for this work. I also thank him for reviewing this

    dissertation and providing numerous valuable recommendations.

    Professor David Reinkensmeyer has dedicated his research in the field of gait

    rehabilitation. He was the person who came up with the idea of applying our algo-

    rithms in the design of robots for gait rehabilitation. Much effort has been made and

    many brilliant insights have been generated by him in this work. Without him this

    work would not be done.

    I would like to thank Professor Athanassios Sideris for serving on the committee

    for my dissertation. I have taken several classes from him and his explicit instruction

    helped me understand many fundamental concepts, especially in optimization. I

    xiii

  • 7/29/2019 Belajar Dynamic 2

    15/174

    would also like to thank Professor Michael McCarthy for maintaining a unique and

    wonderful environment for the people in the Robotics Lab and Professor William

    Schmitendorf for introducing me to the study of research instead of the study of

    course work.

    Collaboration with the lab mates of the Robotics Lab, including Juanita Albro,

    Butch Timoszyk, Craig Takahashi, Garett Sohl, Scott Ploen, Bryan Martin, Robert

    Lienbach, Christian de Haro Carbonell, Eliot Shiosaki, Richard Srisamang, Tony

    Nguyen, and David Pai, involved brainstorming and often resolved my confused

    thoughts. I would like to express my thanks to Juanita Albro, Butch Timoszyk,Craig Takahashi, Garett Sohl and Alba Perez for their friendships especially in the

    last three years of my Ph.D.

    Many friends of mine have made my life beyond school cheerful by organizing

    activities, including tennis-playing, golfing, swimming, hiking, and so on. Without

    them, I would not be able to finish my Ph.D. in the first year (2001) of the new

    millennium but the last year (2000) of the old millennium. It seemed that I might

    graduate a year earlier. (I was just kidding.) Among them, I would like to express

    my appreciation to Jie Yu, Ben Hsieh, Ying Chang and Yizhang Zhou for being my

    close friends and for all they have done for me.

    Finally, I would like to thank my parents, my brothers, and Mei-Ling Tao for

    their love and support. This work is dedicated to them.

    xiv

  • 7/29/2019 Belajar Dynamic 2

    16/174

    Curriculum Vitae

    Chia-Yu Eric Wang

    1989 B.S. in Mechanical Engineering,

    National Cheng Kung University, Taiwan

    1995 M.S. in Mechanical and Aerospace Engineering,

    University of California, Irvine

    2001 Ph.D. in Engineering,

    University of California, Irvine

    FIELD OF STUDY

    Robot Control

    PUBLICATIONS

    1. V. Coimbatore, C-Y. E. Wang, R. Ganeshan, J. Heckel, A. Baskin, and S.

    C-Y. Lu, CITYWORK: A Collaboration Maintenance Management Application,

    International CIRP Design Seminar, California, Oct. 1997

    2. C-Y. E. Wang, W. K. Timoszyk, and J. E. Bobrow, Weightlifting Motion Planning

    for a Puma 762 Robot, IEEE International Conference on Robotics and Automation,

    Michigan, May 1999

    xv

  • 7/29/2019 Belajar Dynamic 2

    17/174

    3. R. Ganeshan, F. Grobler, C-Y. E. Wang, and V. Coimbatore, CITYWORK:

    Application of Collaborative Technologies for Infrastructure Management, Journal

    of Computing in Civil Engineering, v15-1, pp.74-80, Jan. 2001

    4. C-Y. E. Wang, W. K. Timoszyk, and J. E. Bobrow, Payload Maximization for

    Open Chained Manipulators: Finding Weightlifting Motions for a Puma 762 Robot,

    IEEE Transactions on Robotics and Automation, v17-2, pp.218-224, Apr. 2001

    5. C-Y. E. Wang, J. E. Bobrow, and D. J. Reinkensmeyer, Swinging From The Hip:

    Use of Dynamic Motion Optimization in the Design of Robotic Gait Rehabilitation,

    IEEE International Conference on Robotics and Automation, Korea, May 2001

    EXPERIENCE

    1992-1993 Mechanical Engineer,

    San Shing Hardware Works Co., Ltd., Taiwan

    1993-1994 Pro ject Leader,

    Institute for Information Industry, Taiwan

    1996-1997 Research Assistant,

    Department of Mechanical Engineering,

    University of Southern California

    1994-2001 Research Assistant,

    Department of Mechanical and Aerospace Engineering,

    University of California, Irvine

    xvi

  • 7/29/2019 Belajar Dynamic 2

    18/174

    Abstract of the Dissertation

    Dynamic Motion Planning For Robot Manipulators

    Using B-Splines

    by

    Chia-Yu Eric Wang

    Doctor of Philosophy in Engineering

    University of California, Irvine, 2001

    Professor James E. Bobrow, Chair

    Although the dynamic equations of motion of open-chained robot systems are

    well-known, they are seldom taken into account during the planning of motions. In

    this work, we show that the dynamics of a robot can be taken into account in motion

    planning. Two applications of dynamic motion planning are explored: 1) develop-

    ment of point-to-point weightlifting motions for open-chained robots; and 2) design

    of robotic gait rehabilitation. The governing optimal control problem is converted

    into a direct, SQP parameter optimization in which the gradient is determined an-

    alytically. The joint trajectories are defined by B-spline polynomials along with a

    time-scale factor. In the first application, a weightlifting motion planner is applied

    to a Puma 762 robot, with its physical limitations incorporated into the formula-

    tion. The problem is formulated as an optimal control problem for a fully actuated

    xvii

  • 7/29/2019 Belajar Dynamic 2

    19/174

    articulated chain. The torque limits are formulated as soft constraints added into

    the objective function while the position and velocity limits are formulated as hard,

    linear inequality constraints, on the parameters. The solutions obtained with the mo-

    tion planner extend the robots payload capability while reducing the joint torques.

    Interestingly, nearly all the trajectories found pass through singular configurations,

    where large internal forces from the robot are applied to the payload and little torque

    is needed from the motors. In the second application, we examine a method to con-

    trol the stepping motion of a paralyzed person suspended on a treadmill using a

    robot attached to the pelvis. A leg swing motion is created by moving the pelvis

    without contact with the legs. The problem is formulated as an optimal control

    problem for an underactuated articulated chain. Motion capture data recorded from

    an unimpaired human subject is compared to the simulation results from the dy-

    namic motion optimization. Our results suggest that it is feasible to create a gait

    for a paralyzed person that is close to that of an unimpaired subject by control-

    ling the pelvis with a robot. The resulting motions of the two applications can be

    found at the web sites http://www.eng.uci.edu/chwang/project/puma762.html

    and http://www.eng.uci.edu/chwang/project/stepper/stepper.html.

    xviii

  • 7/29/2019 Belajar Dynamic 2

    20/174

    Chapter 1

    Introduction

    In this dissertation, we refer to dynamic motion planning as the study of robot

    motion planning with the dynamics of the robot taken into account. The majority of

    current robot motion planning algorithms, such as those found in well-known texts

    (see, e.g. [32]), ignore the dynamics of the robot during the motion planning phase.

    Our study demonstrates how the dynamics can be used in motion planning to improve

    the performance and efficiency for robots and to design robots for gait rehabilitation.

    1.1 Motivation

    Robots have been used in automatic production lines for many decades. In

    general, industrial robots are used to replace human workers in repetitive tasks. Most

    industrial robots, such as the PUMA robot, have factory-established payload limits

    which are small compared to their massive components. That draws our attention to

    extending the payload capability of a robot to its maximum potential while taking

    into account realistic constraints such as joint torque limits and velocity bounds. The

    solution to the dynamic motion planning problem can also minimize joint torques for

    a given load, thereby reducing wear on the robot.

    1

  • 7/29/2019 Belajar Dynamic 2

    21/174

    As another important example of dynamic motion planning, we examine a

    method to control the stepping motion of a paralyzed person suspended on a treadmill

    using a robot attached to the pelvis. Clinical stepping motion training is currently

    limited because the training is labor intensive. Multiple therapists are often required

    to control the pelvis and legs. Implementing training with robotics is an attempt to

    make the training less labor intensive, more consistent, and more widely accessible.

    The objective of this study is to use dynamic motion planning to determine to what

    extent repetitive stepping by a paralyzed patient can theoretically be generated by

    assisting in pelvis motion alone.

    1.2 Background

    1.2.1 Kinematics

    Kinematics of robot manipulators is the study of motion independent of theforces which cause it. Any robot can be described kinematically by giving the values

    of four quantities for each link. These quantities are called the Denavit-Hartenberg

    parameters [21]. Brockett [13] connects the theory of Lie groups and robot kinematics

    by introducing the product-of-exponential (POE) equations for the forward kinemat-

    ics. Although the matrix exponential needs six independent parameters to specify a

    joint twist, it is more straight-forward to construct the joint twist directly by writing

    down the direction of the joint axis. One of the most attractive features of the POE

    is its use of two coordinate frames, the base frame and the tool frame. This property,

    combined with the geometric significance of the twists, makes the POE representation

    an attractive alternative to the use of Denavit-Hartenberg parameters.

    2

  • 7/29/2019 Belajar Dynamic 2

    22/174

    1.2.2 Dynamics

    Dynamics of robot manipulators is the study of the forces required to cause

    motion. The problem of computing the forces required for a given motion is known

    as the inverse dynamics problem. The Newton-Euler formulation is an efficient linear

    recursive approach for inverse dynamics. The formulation is simplified by using a

    spatial notation in Featherstone [23].

    By reformulating the equations so that acceleration is computed as a function

    of applied force, it becomes the forward dynamics. Perhaps the most familiar re-

    cursive approach for open-chain forward dynamics is the articulated-body method

    of Featherstone [23]. The concept of articulated-body inertias is also significant,

    and it is the central feature of Featherstones method. The algorithm computes the

    articulated-body inertia of each set of links of the robot manipulators in a recursive

    manner from the tip to the base. A second recursion, starting at the base and working

    out to the tip, calculates the applied force or acceleration at each joint. Featherstones

    algorithm has also been implemented using the spatial operator algebra of Rodriguez

    et al. [51, 52].

    Linear recursive approaches for forward dynamics of closed chains have been

    presented by Lathrop [31]. In [31], general endpoint constraints are propagated from

    the tip down to the base, where two 6 6 inverses are necessary to match the propa-

    gated tip constraints to the existing base constraints. A second recursion from base to

    tip solves for the joint accelerations. By modifying Lathrops method, we developed

    a formulation for hybrid dynamics to compute either acceleration or applied force for

    each joint.

    3

  • 7/29/2019 Belajar Dynamic 2

    23/174

    Using the POE, Park and Bobrow [41] and Park et al. [42] derive a geometric

    version of the Newton-Euler recursive inverse dynamics similar to Featherstones, but

    based on existing geometric concepts of Lie groups. Lie groups can also be used

    to develop the recursive approaches for forward dynamics in Ploen [45] and hybrid

    dynamics of open chains and closed chains in this dissertation.

    1.2.3 System Identification

    In this dissertation, we develop a method for estimating the mass, the location

    of center of mass, and the moments of inertia of each link and the friction at each joint

    of a robot during general manipulator movement. These dynamic system parameters

    are factorized linearly using the geometric operators of Lie groups and Lie algebras.

    The Lie group formulation of inverse dynamics is re-arranged in a linear matrix form

    of the dynamic properties. The least squares method with a QR-decomposition is

    used to identify the dynamic properties after exciting the robot and collecting the

    data of joint positions, velocities, accelerations and applied forces.

    1.2.4 Dynamic Motion Planning for Robots

    Dynamic motion planning is a motion planning problem in which the dynam-

    ics of the robot is taken into account. We assume that the desired motion can

    be characterized as the solution to a general optimal control problem of the form

    min(t) Jc = (q, q, tf) +tf0 L(q, q , , t)dt subject to the dynamic equations of motion

    and bounds on position, velocity and torque. The specific cost functionals used in

    this dissertation will be given in Chapter 5 and 6. The final time tf may be either

    4

  • 7/29/2019 Belajar Dynamic 2

    24/174

    free or fixed in our formulation. Because of the importance of finding solutions to

    optimal control problems of the above form, there are several numerical algorithms

    and commercial software packages available to solve them. All of the competitive

    approaches incorporate some form of Newton iteration on a parameterized version of

    the problem. Because the problems are nonconvex, the Newton iteration will con-

    verge to a local minimizer. See [10] for a review on progress made in this area since

    the 1960s.

    Algorithms used to solve optimal control problems are broadly classified as either

    indirect methods or direct methods. Indirect methods explicitly solve the optimalityconditions stated in terms of the maximum principle [14], the adjoint equations, and

    the transversality (boundary) conditions. These conditions can be derived using the

    calculus of variations, where the first variation of the Hamiltonian function is set

    to zero. A number of multiple shooting methods have been developed to solve the

    two-point boundary value problem defined by the equations.

    Although the indirect approach described above has been used successfully in

    many applications, it has been replaced by direct methods in recent years. The

    primary reasons are that the region of convergence is relatively small and that it is

    difficult to incorporate path inequality constraints. We chose a direct approach for

    the work reported in this dissertation. The basic idea is to parameterize the joint

    trajectories, and to vary the parameters in a nonlinear optimization until a local

    minimum which satisfies the constraints has been achieved. The joint trajectories

    used in the motion planning problem can be represented in many ways. Among them

    are C2splines and B-spline polynomials, which have been used by many robotics

    researchers [15, 16, 1, 24, 35, 39, 44, 54]. B-spline polynomials provide local control

    of the joint trajectory and they have the important convex hull property [6]. We

    5

  • 7/29/2019 Belajar Dynamic 2

    25/174

    exploit the convex hull property by transforming the semi-infinite constraints that

    arise in the problem formulation into finite dimensional ones. In order to vary the

    total time taken for the motion, we have added a time-scale factor. This allows us

    to solve a free-final-time problem in which the derivatives of the joint positions with

    respect to the time-scale factor can be derived analytically.

    By parameterizing the joint trajectories, the optimal control problem becomes a

    parameter optimization one with the parameters being the time-scale factor and the

    control points of the splines. In Chapter 5, we add another parameter that represents

    the payload into the optimization in order to maximize it. Because the PUMA 762robot has bounded joint velocities, these semi-infinite constraints are included in our

    formulation. Other researchers have included velocity constraints as penalty functions

    [15, 39, 44], or have discretized them into a large number of inequality constraints

    throughout the time interval [16], or have used a variable mesh approach [1] to handle

    them. As mentioned above, our approach uses the convex hull property of B-splines

    in order to transform these semi-infinite constraints into a set of linear inequalities

    in the parameter space. This provides superior numerical stability since the semi-

    infinite constraints on joint velocity are satisfied exactly with a small number linear

    constraints on the parameters.

    1.2.5 Robotic Body Weight Supported (BWS) Training

    In the U.S. alone, over 700,000 people experience a stroke each year, and over

    10,000 people experience a traumatic spinal cord injury. Impairment in walking ability

    after such neurologic injuries is common. Recently, a new approach to locomotion

    rehabilitation called body weight supported (BWS) training has shown promise in

    6

  • 7/29/2019 Belajar Dynamic 2

    26/174

    Figure 1.1: Body weight supported (BWS) step training following spinal cord injury.Two therapists assist in leg movement, while a third assists in torso movement. FromBehrman and Harkema (2000).

    improving locomotion after stroke and spinal cord injury [62]. The technique involves

    suspending the patient in a harness above a treadmill in order to partially relieve the

    weight of the body, and manually assisting the legs and pelvis in moving in a walking

    pattern (Figure 1.1). Patients who receive this therapy can significantly increase their

    independent walking ability and overground walking speed [5]. It is hypothesized

    that the technique works in part by stimulating remaining force, position, and touch

    sensors in the legs during stepping in a repetitive manner, and that residual circuits in

    the nervous system learn from this sensor input to generate motor output appropriate

    for stepping.

    Several research groups are pursuing robotic implementations of BWS train-

    ing in an attempt to make the training less labor intensive, more consistent, and

    more widely accessible [8, 27, 50, 17]. Implementing BWS training with robotics is

    7

  • 7/29/2019 Belajar Dynamic 2

    27/174

    also attractive because it could improve experimental control over the training, thus

    providing a means to better understand and optimize its effects.

    A difficulty in automating BWS training is that the required patterns of forces

    at the pelvis and legs are unknown. For example, the relative importance of assisting

    at the pelvis and legs is unclear. One approach toward determining the required

    forces is to instrument the therapists hands with force and position transducers [8].

    However, therapists are relatively limited in the forces that they can apply compared

    to robots, and there is no guarantee that any given therapist has selected an optimal

    solution. Current robotic devices for BWS have taken the simplified approach ofreplicating leg kinematics, and moving the torso in a gait, like up and down pattern

    [17, 26].

    In Chapter 6 we explore an alternate approach toward generating strategies

    for assisting in gait training: dynamic motion planning. Dynamic motion planning

    provides a formalized method for determining motions for underconstrained tasks,

    and may reveal novel strategies for achieving the tasks. It has been used with success

    to simulate human control over such activities as diving, jumping, and walking [2,

    28, 40, 4]. We use dynamic motion planning to determine to what extent repetitive

    stepping by a paralyzed person can be generated by assisting in pelvis motion alone.

    1.3 Contributions

    The following list summarizes the research contributions described in this dis-

    sertation. Specifically, we:

    8

  • 7/29/2019 Belajar Dynamic 2

    28/174

    Derived Lie group formulations of hybrid dynamics for both open-chained and

    closed-chained robot manipulators.

    Developed a system identification method, based on the Lie group formulation ofinverse dynamics, for estimating the dynamic properties of a robot manipulator.

    Exploited the convex hull property of B-splines to transform the semi-infinite

    constraints into a set of linear inequalities.

    Solved the free-final time optimal problems by using a time factor with B-splines.

    Derived a weightlifting motion planner for a PUMA 762 robot to extend its

    payload capability beyond the limits established by the manufacturer.

    Developed a motion planner for the design of a robot used in gait rehabilitation.

    This motion planner can also generate leg swing motions similar to the human

    gait during the swing phase.

    1.4 Outline

    This dissertation is organized as follows: in Chapter 2 and Chapter 3, we in-

    troduce the essential concepts of kinematics, differential kinematics and dynamics,

    applied particularly to robot manipulators. These concepts, incorporated with Lie

    groups and Lie algebras, provide powerful tools for us to generate efficient mathemat-

    ical model for robot dynamics.

    A function approximation technique is addressed in Chapter 4. The technique

    constructs curves using piecewise B-Spline basis functions multiplied by the corre-

    sponding control points. Three important properties, 1) local control of curve shape,

    9

  • 7/29/2019 Belajar Dynamic 2

    29/174

    2) invariance under affine transformation, and 3) convex hull, make the B-Spline curve

    a great candidate to parameterize the joint trajectory in motion planning.

    Two dynamic motion planning problems are explored in this dissertation: 1)

    weightlifting motion planning for a PUMA 762 robot, and 2) motion planning in the

    design of robotic gait rehabilitation. In Chapter 5, we develop a dynamic motion

    planner for open-chained robots. An example of weightlifting motion planning for a

    PUMA 762 robot is discussed. The robot is fully actuated and only inverse dynamics

    is needed for computation of the joint torques. A system identification method is

    explored in order to realize the dynamics information of a real robot.

    The motion planner is used in Chapter 6 to assist in the design of a rehabilitation

    robot that can generate gait motions for paralyzed persons. The system model is

    underactuated with passive and active joints. The hybrid dynamics consisting inverse

    dynamics and forward dynamics is required for the computation of the equations of

    motion.

    Conclusions and future works are described in Chapter 7.

    10

  • 7/29/2019 Belajar Dynamic 2

    30/174

    Chapter 2

    Kinematics of Robot Manipulators

    Kinematics studies the motion without taking into account the forces which

    cause it. In this chapter we will address the essential concepts of kinematics and

    focus mainly on forward kinematics which computes the position and orientation of

    the end-effector based on the configuration of the robot manipulator. Inverse kine-

    matics, which finds the configuration to meet the given position and orientation of

    the end-effector, will not be addressed. The product-of-exponential (POE) equations

    will be introduced to connect the theory of Lie groups and robot forward kinemat-

    ics. Differential kinematics will be discussed last which describes the relationship

    between the velocity of the end-effector and the joint rates, and is represented as the

    manipulator Jacobian.

    2.1 Kinematics

    A rigid body is a set of points with the property that the distance between

    any two of them never varies. The robot manipulators studied in this dissertation

    are defined as collections of rigid bodies, called rigid links, connected by joints. The

    position of one link relative to another in a kinematic chain is defined mathemati-

    cally by a coordinate transformation between reference frames attached to each body.

    11

  • 7/29/2019 Belajar Dynamic 2

    31/174

    The Cartesian coordinates are used as natural coordinates for representing point lo-

    cations in space, p = (x,y,z). This leads to the following formula for coordinate

    transformation:

    p = Rp + d (2.1)

    where p is the position of a rigid point represented in one coordinate frame and

    p is the position of the same point represented in another coordinate frame. The

    transformation consists a rotation R and a translation d. Because (2.1) does not

    satisfy f(p1 + p2) = f(p1) + f(p2), it is not a linear transformation. (It is an affine

    transformation.)

    A modification has been made to obtain a linear transformation. The modi-

    fied transformation uses homogeneous coordinates, (p, 1) = (x,y,z, 1). Using these

    coordinates yields a linear transformation (homogeneous transformation) on 4 p

    1

    =

    R d

    0 1

    p

    1

    = T

    p

    1

    . (2.2)

    The matrix T is called homogeneous transformation matrix.

    2.1.1 Lie Groups and Lie Algebras

    A Lie Group is a differentiable manifold G such that the following two properties

    are satisfied for A, B G:

    Property 1: For the mapping f(A, B) = AB we require f(A, B) G and f

    must be continuously differentiable.

    Property 2: The inverse mapping A A1 must exist and be continuously

    differentiable.

    12

  • 7/29/2019 Belajar Dynamic 2

    32/174

    Rotation transformations in Euclidean space are accomplished by use of the

    orthogonal 33 rotation matrix R. This matrix is an element of the special orthogonal

    group on 3, SO(3), which is an example of Lie group and is defined as

    SO(3) =

    R|RRT = I, det(R) = +1

    . (2.3)

    The special Euclidean group, or SE(3), is a Lie group corresponding to the homoge-

    neous transformation on 3:

    SE(3) =

    R d

    0 1

    |R SO(3), d 3

    . (2.4)

    Hence, in equation (2.2), T SE(3).

    An important concept associated with each Lie group is the notion of a Lie

    algebra. The tangent space at the identity element of G is the Lie algebra of G and

    is denoted by a lowercase g. Associated with the Lie group SO(3) is the Lie algebra

    so(3), which can be written in the 3 3 skew-symmetric matrix form

    = () =

    0 z y

    z 0 x

    y x 0

    (2.5)

    or in the 3 1 vector form

    = () =

    x

    y

    z

    (2.6)

    where the (wedge) operator and the (vee) operator are defined in Murray [38].

    The Lie algebra associated with SE(3) is denoted by se(3), where g se(3) has the

    4 4 matrix form

    g = (g) =

    g vg

    0 0

    (2.7)

    13

  • 7/29/2019 Belajar Dynamic 2

    33/174

    or the 6 1 vector form

    g = (g) =

    g

    vg

    . (2.8)

    The principal relationship between the Lie group SE(3) and its corresponding

    Lie algebra se(3) is the exponential mapping, which maps se(3) onto SE(3), i.e. for

    every G SE(3) there exists a g se(3) such that eg = G. The following explicit

    formulas for the exponential mappings on so(3) and se(3) are derived in Park [43]

    and Murray [38].

    Lemma 2.1 Let so(3). Then

    exp() = I+ +1

    2!2 +

    1

    3!3 +

    = I+sin

    +

    1 cos

    22

    is an element of SO(3), where = ||||.

    Lemma 2.2 Let so(3) and v 3. Then

    exp(

    v0 0

    ) = exp() Av

    0 1

    is an element of SE(3), where

    A = I +1 cos

    2 +

    sin

    32 .

    The matrix logarithm takes elements of the group and returns the associated element

    of the algebra. It also has a closed-form expression:

    Lemma 2.3 LetR SO(3) and d 3. Then

    log(

    R d

    0 1

    ) =

    A

    1d

    0 0

    14

  • 7/29/2019 Belajar Dynamic 2

    34/174

    is an element of se(3), where

    =

    2sin (R RT)

    A

    1 = I 1

    2 +2sin (1 + cos )

    22 sin 2

    and satisfies 1 2cos = T r(), || < . (Also, 2 = ||||2.)

    A spatial velocity V is an element of se(3), which can be written either in a

    vector from or in a matrix form, such as

    V =

    v

    or V =

    v

    0 0

    (2.9)

    where is the angular velocity and v is the linear velocity. While spatial velocities are

    regarded as elements ofse(3), spatial forces are regarded as inhabiting the associated

    dual space se(3) and can be written as

    F =

    m

    f

    or F =

    f m

    0 0

    (2.10)

    where m is the moment and f is the force. The dual space se(3) is the space of

    linear functionals on se(3), i.e. if V = (, v) se(3) and F = (m, f) se(3), then

    F : se(3) is given by F(V) = FTV = mT + fTv.

    2.1.2 Adjoint Operators

    An element of a Lie group can be used as a linear mapping between its Lie

    algebras via the adjoint representation. Given G = (R, d) SE(3) its adjoint map

    AdG : se(3) se(3) acting on V = (, v) se(3) is given by

    AdGV =

    R 0

    dR R

    v

    15

  • 7/29/2019 Belajar Dynamic 2

    35/174

    = (GV G1) =

    R d

    0 1

    v

    0 0

    R

    T RTd

    0 1

    . (2.11)

    Physically, it describes how the spatial velocities transform under a change of reference

    frame given by G. Similarly, an element of a Lie algebra can be applied as a linear

    mapping between its Lie algebras via its adjoint representation, the Lie bracket. If

    V1 = (1, v1) se(3), then its adjoint map adV1 : se(3) se(3) on V2 = (2, v2)

    se(3) is defined as

    adV1V2 =

    1 0

    v1 1

    2

    v2

    = [V1, V2] = (V1V2 V2V1) (2.12)

    which, physically, generalizes the standard cross product operation in se(3).

    The dual operator AdG : se(3) se(3) is defined as follows:

    AdGF =

    R

    T RTdT

    0 RT

    m

    f

    = (G1F G) =

    R

    T RTd

    0 1

    f m

    0 0

    R d

    0 1

    . (2.13)

    Its matrix representation is given by the transpose of AdG. Physically, it describes

    how the spatial forces transform under a change of reference frame given by G. The

    dual operator adV : se(3) se(3) is defined as:

    adVF =

    T vT

    0 T m

    f

    = (FV VF) . (2.14)

    Similar to AdG, its matrix representation is given by the transpose ofadV. Physically,

    it generalizes the standard cross product operation between se(3) and se(3) to se(3).

    16

  • 7/29/2019 Belajar Dynamic 2

    36/174

    2.1.3 Forward Kinematics

    If a reference frame is fixed at the tip of each link in an open kinematic chain,

    then the element of SE(3) describing the position and orientation of frame i relative

    to that of frame i 1 is Ti1,i = MieSiqi , where Mi SE(3), Si se(3), and qi

    is the joint variable for link i. The frame attached at the end-effector is then related

    to that of the base by the product

    T0,n(q1, q2, , qn) = T0,1(q1)T1,2(q2) Tn1,n(qn)

    = M1eSr1q1M2e

    Sr2q2 MneSrnqn (2.15)

    By a repeated application of the matrix identity MeSM1 = eMSM1

    , one can obtain

    T0,n(q1, q2, , qn) = eA1q1eA2q2 eAnqnM (2.16)

    where A1 = M1S1M11 , A2 = (M1M2)S2(M1M2)

    1, etc., and M = M1M2 Mn.

    The configuration with qi = 0, i = 1 n, is called the home position. In the home

    position, each joint screw Ai

    is written in the base frame. The transformation M

    relates the end-effector frame to the base frame as well. Alternatively, T0,n can also

    be expressed as

    T0,n(q1, q2, , qn) = MeB1q1eB2q2 eBnqn (2.17)

    where Bi = M1AiM, i = 1 n, are the joint screws related to the end-effector

    frame in the home position. Equations (2.16) and (2.17) are called the product-of-

    exponentials (POE) kinematic equations in space and body coordinates, respectively.

    The procedure for computing the forward kinematics of a robot manipulator in

    space coordinates is described as follows:

    Algorithm 2.1 Forward kinematics via POE in space coordinates:

    17

  • 7/29/2019 Belajar Dynamic 2

    37/174

    1. Setq1 = q2 = = qn = 0 so that T0,n = M which is the home position.

    2. In the home position identify the screw axis directionki and a point on the axis

    pi.

    3. Ai =

    ki vi

    0 0

    where vi = pi ki + hiki; h is the pitch of the screw Ai.

    4. T0,n = eA1q1eA2q2 eAnqnM.

    In the next section, the derivatives of the adjoint mapping will be introduced.

    It will be used for computing the derivatives of dynamics and, later, the analytical

    gradient in optimization problems.

    2.1.4 Derivatives of the Adjoint Mapping

    The derivatives of the adjoint operators of Lie groups and Lie algebras are

    described as follows:

    Lemma 2.4 If the joint transformations are represented in local coordinates, Ti1,i =

    MieSiqi, where Si is a screw in the coordinates of the local moving frame for link i,

    for i1 i i2,

    qiAdT1

    i1,i2

    = AdT1i,i2

    adSiAdT1i1,i

    . (2.18)

    First, we see that

    qiTi1,i2 = Ti1,i1Mie

    SiqiSiTi,i2 = Ti1,iSiTi,i2 . (2.19)

    Assume V se(3) and take derivative of the following equation with respect to qi:

    AdT1i1,i2

    V =

    T1i1,i2V Ti1,i2

    . (2.20)

    18

  • 7/29/2019 Belajar Dynamic 2

    38/174

    One can obtain

    qiAdT1

    i1,i2

    V =

    T1i,i2 SiT1

    i1,iV Ti1,i2 + T

    1i1,i2

    V Ti1,iSiTi,i2

    =

    T1i,i2(SiT1i1,iV Ti1,i T1i1,iV Ti1,iSi)Ti,i2

    = AdT1i,i2

    adSiAdT1i1,i

    V . (2.21)

    Then, writing the above equation in the 6 6 matrix form and removing V, equation

    (2.18) is obtained. Similar calculation can be performed to get the following lemma:

    Lemma 2.5 If the joint transformations are represented in local coordinates, Ti1,i =

    MieSiqi, where Si is a screw in the coordinates of the local moving frame for link i,

    for i1 i i2,

    qiAd

    T1i1,i2

    = AdT1i1,i

    adSiAd

    T1i,i2

    . (2.22)

    The derivatives for the ad and ad operators can be easily obtained using the chain

    rule and is therefore omitted.

    2.2 Differential Kinematics

    The mapping between the joint velocities and the end-effector velocities is de-

    fined by the differential kinematics equation

    Ve = e

    ve

    = Je(q)q (2.23)

    where Ve is the spatial velocity of the end-effector; e and ve the angular and linear

    velocities of the end-effector, respectively; q the generalized velocity of the robot

    manipulator; and Je the Jacobian matrix. The matrix Je is called the geometric

    19

  • 7/29/2019 Belajar Dynamic 2

    39/174

    Jacobian [19] of the manipulator since its computation follows a geometric procedure

    that is based on computing the contribution of each joint velocity to the spatial

    velocity of the end-effector.

    Consider the forward kinematics map, T0,n : Q SE(3), in (2.15) for a robot

    manipulator. A point p fixed in the end-effector can be represented in the base frame

    as p

    1

    = T0,n

    p

    1

    =

    Re de

    0 1

    p

    1

    . (2.24)

    The spatial velocity Vge of the end-effector written in the base frame can be mapped

    from the joint velocities q by the geometric Jacobian Jge (q):

    Vge =

    ge

    vge

    =

    (R

    Te Re)

    de

    = Jge (q)q . (2.25)

    Two variations of Jge can also be expressed in similar forms, depending on whether

    the velocity of the point is measured in the base frame ( p) or in the end-effector

    frame ( p).

    2.2.1 The Manipulator Jacobian

    In this section we introduce two Jacobian matrices, the spatial Jacobian and

    the body Jacobian. They are similar to Jge , but are represented in different coordinate

    frames. The spatial Jacobian is represented in the base frame while the body Jacobian

    is represented in the end-effector frame.

    20

  • 7/29/2019 Belajar Dynamic 2

    40/174

    The velocity of point p fixed in the end-effector, is obtained as follows by taking

    the derivative of (2.24):

    p

    0

    = T0,n p1

    = T0,nT10,n p

    1

    =

    Re de

    0 0

    R

    Te R

    Te de

    0 1

    p

    1

    =

    ReR

    Te de ReR

    Te de

    0 0

    p

    1

    =

    ge de

    ge de

    0 0

    p

    1

    (2.26)

    where T0,nT10,n is the map between the position and velocity of the end-effector in the

    base frame. If the joints move along a path q(t) Q n, then the end-effector

    traverses a path T0,n SE(3). The instantaneous spatial velocity of the end-effector

    is given by the twist

    Vse = (T0,nT10,n )

    =

    i

    (T0,nqi

    T10,n )qi

    = Jse (q)q (2.27)

    where Jse 6n is called the spatial Jacobian. The formulas for the derivative and

    inverse of T0,n are:

    T0,nqi

    = M1eS1q1 Mie

    SiqiSiMi+1eSi+1qi+1 Mne

    Snqn (2.28)

    T

    10,n = e

    SnqnM

    1n e

    Sn1qn1M

    1n1 e

    S1q1M

    11 (2.29)

    which produce the product

    T0,nqi

    T10,n = M1eS1q1 Mie

    SiqiSieSiqiM1i e

    S1q1M11

    = T0,iSiT10,i =

    AdT0,iSi

    (2.30)

    21

  • 7/29/2019 Belajar Dynamic 2

    41/174

    and the Jacobian can be expressed entirely in terms of the joint screws mapped into

    the base frame

    Jse (q) = [AdT0,1S1 AdT0,2S2 AdT0,nSn] . (2.31)

    Each column of Jse (q) depends only on q1, q2, , qi1. In other words, the contribu-

    tion of the ith joint velocity to the end-effector velocity is independent of the later

    configuration in the manipulator.

    Lemma 2.6 If the joint transformations are represented in local coordinates, Ti1,i =

    MieSiqi , where Si is a screw in the coordinates of the local moving frame for link i,

    then the spatial Jacobian is Jse = [AdT0,1S1 AdT0,2S2 AdT0,nSn] .

    Rewrite (2.26) and represent the position and velocity in the end-effector frame.

    One obtains the following equation:

    T10,n

    p

    0

    = T10,n T0,n

    p

    1

    =

    R

    Te Re R

    Te de

    0 0

    p

    1

    . (2.32)

    The body Jacobian Jbe is defined by the relationship

    Vbe = (T10,n T0,n)

    =

    i

    (T10,nT0,n

    qi)qi

    = Jbe (q)q . (2.33)

    A calculation similar to that performed previously yields

    J

    b

    e (q) =

    AdT1

    1,nS1 AdT1

    2,nS2 AdT1

    n1,nSn

    1 Sn

    . (2.34)

    The body Jacobian can be expressed entirely in terms of the joint screws mapped

    into the end-effector frame. It maps the joint velocities into the corresponding spatial

    velocity of the end-effector in the end-effector frame.

    22

  • 7/29/2019 Belajar Dynamic 2

    42/174

    Lemma 2.7 If the joint transformations are represented in local coordinates, Ti1,i =

    MieSiqi , where Si is a screw in the coordinates of the local moving frame for link i,

    then the body Jacobian is Jbe = AdT11,nS1 AdT12,nS2 AdT1n1,nSn1 Sn .

    The spatial and body Jacobians are related by the adjoint transformation:

    Jse (q) = AdT0,nJbe (q) . (2.35)

    Both the spatial and body Jacobians can be related to the geometric Jacobian

    in (2.25) by a coordinate transformation. The 4 4 matrix form of Vge in (2.25) is

    ge de

    0 0

    = I de

    0 1

    ge de

    ge de

    0 0

    I de

    0 1

    = G1s T0,nT

    10,n Gs =

    AdGs1J

    se q

    . (2.36)

    Therefore, the relation between Jge and Jse can be expressed as

    Jge = AdGs1Jse . (2.37)

    Similar procedure can be performed to obtain the the relation between Jge and Jbe :

    Jge = AdGbJbe (2.38)

    where

    Gb =

    Re 0

    0 1

    .

    2.3 Summary

    The concepts of both kinematics and differential kinematics are studied in this

    chapter. Kinematics can be represented as joint motions in the special Euclidean

    23

  • 7/29/2019 Belajar Dynamic 2

    43/174

    group, SE(3), which is a Lie group corresponding to homogeneous transformations,

    while differential kinematics can be represented as se(3) which is the Lie algebra

    associated with SE(3). The Lie algebra is the tangent space at the identity element

    of the Lie group. Mapping with the adjoint operators, the Lie group and the Lie

    algebra can be used to express not only the propagation of the spatial velocities and

    accelerations but also the propagation of the spatial forces of a robot manipulator.

    The propagation of the spatial velocities, accelerations and forces is referred to as the

    recursive formulation of dynamics which will be addressed in the next chapter.

    24

  • 7/29/2019 Belajar Dynamic 2

    44/174

    Chapter 3

    Dynamics of Robot Manipulators

    Dynamics of mechanisms is a field in which much research effort has been made.

    In this chapter, the dynamics of robot manipulators will be studied, such as inverse

    dynamics, forward dynamics and hybrid dynamics including inverse and forward dy-

    namics. Formulations for both open-chained and closed-chained systems will be intro-

    duced. These formulations, incorporated with Lie groups and Lie algebras, provide

    powerful tools for us to generate efficient mathematical models of robot dynamics.

    3.1 Open-Chained Systems

    The dynamic equations of open-chained robot manipulators can be expressed

    in the general form

    H(q)q+ h(q, q) = (3.1)

    which relates the applied joint forces to the joint positions q and their time deriva-

    tives q and q. H(q) is the mass or inertia matrix and h(q, q) contains the centrifugal,Coriolis, gravitational and frictional forces.

    The dynamics problem for robot manipulators is divided into two sub-problems,

    inverse dynamics and forward dynamics. The inverse dynamics problem aims at

    25

  • 7/29/2019 Belajar Dynamic 2

    45/174

    determining the motor or driving forces that produce a specific motion, as well as

    the reactions that appear at each joint of the robot manipulator. It is necessary to

    know the velocities and accelerations to be able to estimate the inertia forces which,

    together with the weight and all the other known external forces, will provide the

    basis to calculate the required actuating forces.

    The forward dynamics problem determines the acceleration, given the applied

    forces. These are used to find the motion of a robot manipulator over a given time

    interval, given some initial conditions. The importance of the forward dynamic prob-

    lem lies in the fact that it allows one to simulate and predict the systems actualbehavior; the motion is always the result of the forces that produce it.

    3.1.1 Inverse Dynamics

    The solution to the inverse dynamics has different applications. In the first place,

    it determines the forces to which the system is subjected. Extremely important is thefact that the inverse dynamics yields the driving forces necessary to control a system

    so that it follows a desired trajectory.

    An efficient Lie group formulation given below supplies the solution to the in-

    verse dynamics problem [42, 45]. It is of order O(n) where n is the number of the

    joints.

    Algorithm 3.1 The Newton-Euler recursive formulation of the inverse dynamics is:

    26

  • 7/29/2019 Belajar Dynamic 2

    46/174

    Initialization

    V0, V0, Fn+1

    Forward recursion: i = 1 to n

    Vi = AdT1i1,i

    Vi1 + Siqi

    Vi = AdT1i1,i

    Vi1 + Siqi + adViSiqi

    Backward recursion: i = n to 1

    Fi = Ad

    T1i,i+1

    Fi+1 + JiVi ad

    ViJiVi

    i = STi Fi + fcisgn(qi) + fvi qi

    In the algorithm, the index i represents the ith link frame counted from the base

    frame (i = 0). The joint screw, spatial velocity, spatial acceleration and spatial force

    are written as S, V, V and F se(3), respectively. Particularly, V0 and V0 represent

    the spatial velocity and acceleration of the base, respectively, while Fn+1 represents

    the external spatial force on the last link or end-effector. Ti1,i SE(3) denotes the

    transformation from the i 1th link frame to the ith link frame. The joint velocity,

    acceleration, force and the Coulomb and viscous frictions are written as q, q, , fc

    and fv , respectively. And J is the spatial inertia matrix

    Ji =

    Ii mir

    2i miri

    miri mi 1

    (3.2)

    where mi and Ii are the mass and inertia of the ith link, respectively; ri is a vector

    from the origin of the ith link frame to the center of mass of ith link; ri is the skew-

    symmetric matrix formed by ri using the notation from the last chapter; and 1 is an

    27

  • 7/29/2019 Belajar Dynamic 2

    47/174

    identity matrix. The spatial velocity and force are

    Vi =

    i

    vi

    and Fi =

    mti

    fti

    (3.3)

    where , v, mt andft are the angular velocity, linear velocity, moment and force,

    respectively. This recursive formulation shows how the spatial velocity and accelera-

    tion propagate forwards from the base to the end-effector and how the spatial force

    propagates backwards from the end-effector to the base.

    3.1.2 Forward Dynamics

    The forward dynamics defines a system of nonlinear ordinary differential equa-

    tions (initial value problem). The solution to these differential equations can be found

    by numerically integrating them starting from the initial conditions. An important

    characteristic of this mathematical problem is that it is computationally intensive.

    Because of this, it is very important to choose the most efficient method for dealing

    with and solving this problem. Featherstones [23] articulated-body method supplies

    an efficient solution to the forward dynamics problem.

    Featherstone has shown that the equations of motion of each link can be ex-

    pressed as follows:

    Fi = JiVi + Fi (3.4)

    where Ji is the articulated-body inertia of link i, and Fi is the bias force associated

    with link i. To this end, consider the articulated body consisting the last two links of

    an n link chain. We assume that a spatial force Fn1 is applied to the handle of the

    articulated body. From Algorithm 3.1, it follows the equations of motion of each link

    Fn = JnVn ad

    VnJnVn (3.5)

    28

  • 7/29/2019 Belajar Dynamic 2

    48/174

    Fn1 = Ad

    T1n1,nFn + Jn1Vn1 ad

    Vn1Jn1Vn1 (3.6)

    Note that the equations of motion for link n are already in the form of (3.4) with

    Jn = Jn and

    Fn = ad

    VnJnVn. Referring to Algorithm 3.1, the spatial accelerationof the last link is given by

    Vn = AdT1n1,nVn1 + Snqn + adVnSnqn (3.7)

    Substituting it into (3.5) yields

    Fn = JnAdT1n1,n

    Vn1 + JnSnqn + JnadVnSnqn ad

    VnJnVn (3.8)

    Recalling that n = STn Fn it is straightforward to show that

    qn =n S

    Tn (JnAdT1n1,n

    Vn1 + JnadVnSnqn ad

    VnJnVn)

    STn JnSn(3.9)

    Substituting (3.9) back to (3.8), Fn can be written as a new equation

    Fn = JnAdT1n1,nVn1 + JnadVnSnqn ad

    VnJnVn +

    JnSnn S

    Tn (JnAdT1

    n1,nVn1 + JnadVnSnqn ad

    VnJnVn)

    STn JnSn

    (3.10)

    in which only Vn1 of the spatial accelerations shows rather than Vn. Substituting

    the new equation of Fn to (3.6) and rearranging it yields

    Fn1 = Jn1Vn1 + Fn1 . (3.11)

    Sequential computation from n to 1 confirms (3.4).

    In general, the articulated-body method executes the forward computation of

    the spatial velocities, the backward computation of the articulated-body inertias and

    the bias forces, and then the forward computation of the joint accelerations and the

    spatial accelerations. A general algorithm for the system including both inverse and

    forward dynamics will be introduced in the next section.

    29

  • 7/29/2019 Belajar Dynamic 2

    49/174

    3.1.3 Hybrid Dynamics

    In this dissertation we define the hybrid dynamics problem as a system of equa-

    tions for articulated bodies in which either the applied force or the joint acceleration

    for each joint is known. For such a system, the computation of either the inverse

    dynamics or the forward dynamics is needed for each joint depending on which one

    of i and qi is specified for the joint.

    The articulated-body method can be applied to solve not only the forward dy-

    namics but also the inverse dynamics. A similar procedure to derive the formulation

    for forward dynamics is used for the inverse dynamics. Consider the articulated body

    in the previous section. Instead of the applied forces, the joint accelerations are spec-

    ified. In this case, Fn can be calculated directly from (3.8) without any knowledge

    of Vn. Substituting (3.8) into (3.6) and rearranging it confirms (3.11). Note that the

    equations for computing Jn1 and Fn1 are different from those in the forward dy-

    namics. Sequential computation from n to 1 confirms the articulated equation (3.4).

    Compared to the Newton-Euler recursive formulation with two iterations, there are

    three iterations needed for the articulated-body formulation. Although it is less effi-

    cient than the Newton-Euler recursive formulation for the inverse dynamics case, the

    articulated-body method supplies a powerful tool to deal with the complex dynamics

    problem involving both inverse dynamics and forward dynamics.

    Algorithm 3.2 The articulated-body recursive formulation of the hybrid dynamicsis:

    Initialization

    V0, V0, Fn+1, Fbn+1 = Fn+1, Jn+1 = 0, Jbn+1 = 0, bn+1 = 0

    30

  • 7/29/2019 Belajar Dynamic 2

    50/174

    Forward recursion: i = 1 to n

    Vi = AdT1i1,i

    Vi1 + Siqi

    Backward recursion: i = n to 1

    Ji = Ji + Ad

    T1i,i+1

    Jbi+1AdT1i,i+1

    Fi = ad

    ViJiVi + Ad

    T1i,i+1

    (Fbi+1 + Ji+1Si+1bi+1)

    Fbi = Fi + JiadViSiqi

    Jbi =

    Ji i Ia

    Ji JiSiSTi Ji/(STi JiSi) i Ip

    bi =

    qi i Ia

    (i STi Fbi)/(S

    Ti JiSi) i I

    p

    Forward recursion: i = 1 to n

    i = STi (Fbi + JiAdT1

    i1,iVi1 + JiSibi) i I

    a

    qi

    = bi

    STi

    JiAd

    T1

    i1,i

    Vi

    1/(ST

    iJ

    iS

    i) i Ip

    Vi = AdT1i1,i

    Vi1 + Siqi + adViSiqi

    The variables used here are the same as in Algorithm 3.1. The set of active joints

    in which the forward dynamics is applied is represented as Ia; and the set of passive

    joints in which the inverse dynamics is applied is represented as Ip. Furthermore, for

    a branched-chained system, (3.4) can be extended to be

    Fi =

    (JiVi + Fi) . (3.12)

    The formulation is very similar to Algorithm 3.2 and will not be addressed.

    31

  • 7/29/2019 Belajar Dynamic 2

    51/174

    3.2 Closed-Chained Systems

    So far the systems we have considered are open-chained robot manipulators. An

    example of such a system is a robot arm moves around without any contact with the

    environment. If there is any contact with the environment, it forms an closed-chained

    system which can also be viewed as an open-chained system with the contact forces.

    Lets consider the closed-chained system with the following holonomic constraint

    equations, : n m:

    (q(t)) = 0 (3.13)

    during some time interval. The time derivatives of it can be simply derived as

    = q q = 0 (3.14)

    = q q+ q q = 0 (3.15)

    where q can be computed in a similar way to the geometric Jacobian described in

    Section 2.2. The torque, c, reflecting on each joint due to the contact between the

    robot and the environment, can be obtained by

    c = Tq Fc (3.16)

    in which Fc is the contact force (or the Lagrange multiplier). Incorporating it with

    the open-chained system (3.1) forms the following closed-chained system:

    H(q)q+ h(q, q) = + Tq Fc . (3.17)

    Together with (3.15) it can be written as

    H

    Tq

    q 0

    q

    Fc

    =

    h

    q q

    (3.18)

    32

  • 7/29/2019 Belajar Dynamic 2

    52/174

    which is a system of (n + m) equations with (n + m) unknowns, whose matrix is

    symmetrical and, in general, non-positive definite, and also very sparse in many

    practical cases.

    Equations (3.18) can be used for the simultaneous solution of the accelerations

    and the contact forces. Alternatively, (3.17) can be solved first to obtain an expression

    for the accelerations:

    q = H1( h + Tq Fc) (3.19)

    which can only be used if the mass matrix is non-singular, as it will be in most cases.

    By substituting (3.19) into (3.15) one obtains

    Fc = (qH1Tq )

    1(qH1(h ) q q) . (3.20)

    In order to calculate the accelerations, it suffices to substitute Fc in (3.19).

    Equation (3.18) uses the kinematic acceleration equations (3.15) obtained by

    differentiating the constraint equations (3.13) twice with respect to time. This means

    that when integrating the system dynamics, the following differential equation must

    also be integrated with respect to time:

    (q(t)) = qq+ qq = 0 . (3.21)

    This system of differential equations has the following solution:

    (t) = a1t + a2 (3.22)

    where a1 and a2 are constant vectors that depend on the initial conditions. If the

    initial position and velocity satisfy the constraint equations, both vectors a1 and a2 are

    null. Theoretically, (3.22) guarantees that the constraint equations will be satisfied

    at any time. In practice, this is not true.

    33

  • 7/29/2019 Belajar Dynamic 2

    53/174

    Equation (3.21) is unstable since for any vector a1 different from zero the general

    solution given by equation (3.22) is not bounded and tends to increase indefinitely

    with time. Even though the initial conditions guarantee that a1 = 0, during the course

    of the numerical integration, the round-off errors that appear during the integration

    do not satisfy the constraint equations. The effects of these errors increase with time,

    in accordance with expression (3.22).

    The instability during the numeric integration of kinematic acceleration equa-

    tions ensures that (3.18) may not be used directly to obtain the solution of the dy-

    namic simulation problem. The Baumgarte stabilization method [7] is used to replacethe differential constraint equations by the following system:

    + k1 + k2 = q q+ q q+ k1q q+ k2 = 0 (3.23)

    where k1 and k2 are appropriately chosen constants. The general solution to this

    differential equation is

    = a1es1t + a2e

    s2t (3.24)

    where a1 and a2 are constant vectors that depend on the initial conditions and s1 and

    s2 are the roots of the characteristic equation, s2+k1s+k2 = 0. Ifk1 and k2 are positive

    constants, the two roots have a real negative part which guarantees the stability of

    the general solution (3.23) in contrast with that in (3.21). The initial condition of the

    system should guarantee that the vectors a1 and a2 are zero. If numerical round-off

    errors alter this condition, the real negative part of the exponential terms damps

    out the possible errors occurring during the integration process. From our numerical

    experiments, it appears that the behavior of the method does not significantly depend

    on the value of k1 and k2.

    34

  • 7/29/2019 Belajar Dynamic 2

    54/174

    By using (3.23) instead of (3.21) the closed-chained system (3.18) is transformed

    into

    H Tq

    q 0

    q

    Fc

    =

    h

    qq+ k1qq+ k2

    (3.25)

    which produces acceptable results. The Baumgarte stabilization approach is general,

    simple and numerically efficient.

    3.2.1 Lathrops Algorithm

    An alternative recursive formulation of the dynamics of constrained robot sys-

    tems was derived by Lathrop [31]. Two 6-vectors, n and 0, of unknown endpoint

    degrees of freedom are introduced where an overbar indicates quantities related to

    base constraints. The endpoint spatial acceleration, V0 and Vn, and force, F0 and

    Fn+1, can be written as some known linear combination of 0 and n as shown in the

    following algorithm where Ma0 , Mf0 , M

    an , M

    fn+1,

    a0,

    f0 ,

    an, and

    fn+1 are known. The

    influence of n on the base is computed by a backward recursion which is related to0 to obtain 0. Then i and qi are solved with a forward computation.

    Algorithm 3.3 The recursive formulation of the dynamics of the constrained robot

    system is:

    Initialization

    V0

    V0 = Ma0 0 +

    a0 ; F0 = M

    f0 0 +

    f0

    Vn = Man n +

    an ; Fn+1 = M

    fn+1n +

    fn+1

    Mfn = Ad

    T1n,n+1Mfn+1 + JnM

    an

    35

  • 7/29/2019 Belajar Dynamic 2

    55/174

    fn = Ad

    T1n,n+1fn+1 + Jn

    an ad

    VnJnVn

    Fn = Mfn n +

    fn

    Forward recursion: i = 1 to n

    Vi = AdT1i1,i

    Vi1 + Siqi

    Backward recursion: i = n to 1

    i Ia

    Mai1 = AdTi1,iMai

    ai1 = AdTi1,i(ai adViSiqi Siqi)

    Mfi1 = Ad

    T1i1,i

    Mfi + Ji1Mai1

    fi1 = Ad

    T1i1,i

    fi + Ji1ai1 ad

    Vi1Ji1Vi1

    i Ip

    Mi = 166 ejSTi M

    fi

    [S

    T

    i M

    f

    i ]j

    ; i = eji S

    Ti

    fi

    [S

    T

    i M

    f

    i ]jMai = Mai M

    i ;

    ai = Mai

    i +

    ai

    Mfi

    = Mfi Mi ;

    fi

    = Mfi i +

    fi

    Mai1 = AdTi1,i(Mai Sie

    Tj )

    ai1 = AdTi1,i(ai adViSiqi)

    Mfi1 = Ad

    T1i1,i

    Mfi

    + Ji1Mai1

    f

    i1 = Ad

    T1i1,if

    i

    + Ji1a

    i1 ad

    Vi1Ji1Vi1

    Solve 0 for:

    V0 = Ma0 0 +

    a0 ; F0 = M

    f0 0 +

    f0

    V0 = Ma0 0 +

    a0 ; F0 = M

    f0 0 +

    f0

    36

  • 7/29/2019 Belajar Dynamic 2

    56/174

    Forward recursion: i = 1 to n

    i Ia

    i = i1

    i Ip

    qi = eTj i1

    i = i1 ej qi

    i = Mi

    i + i

    Vi = AdT1i1,i

    Vi1 + Siqi + adViSiqi

    In the algorithm, [x]j denotes the jth element of x and ej is the j

    th unit vector (all

    the elements equal to zero except the jth element equal to one).

    In the next section, formulations of derivatives of dynamics will be introduced.

    The formulations will be applied in the next chapter to compute the analytical gra-

    dient for a optimization problem.

    3.3 Derivatives of Dynamics

    Assume that the joint trajectories are parameterized as q = q(t, p). The follow-

    ing formulation can be obtained by taking derivative of the inverse dynamics with

    respect to p [35]. (Here we dont take into account friction, since the Coulomb friction

    term is not continuously differentiable.)

    37

  • 7/29/2019 Belajar Dynamic 2

    57/174

    Algorithm 3.4 The recursive formulation of the derivative of the inverse dynamics

    is:

    Initialization

    V0p

    ,V0p

    ,Fn+1

    p

    Forward recursion: i = 1 to n

    Vip

    = AdT1i1,i

    Vi1p

    + Siqip

    + adViSiqip

    Vi

    p

    = adAdT

    1

    i1,i

    Vi1Si

    qi

    p

    + AdT1i1

    ,i

    Vi1

    p

    +

    Siqip

    + adVip

    Siqi + adViSiqip

    Backward recursion: i = n to 1

    Fip

    = AdT1i,i+1

    Fi+1p

    + JiVip

    adVip

    JiVi

    adViJiVip

    AdT1i,i+1

    adSi+1

    qi+1p

    Fi+1

    ip

    = STiFip

    In the example of a PUMA robot described in the next chapter, the last link

    holds the payload, which is the parameter pw in (6.1). Therefore Jn = Jn(pw), and

    the derivative of the inverse dynamics with respect to pw is described below:

    Algorithm 3.5 Replace Ji in Algorithm 3.1 by

    Ji =

    0 if i = 1 n 1

    Jn/pw if i = n

    38

  • 7/29/2019 Belajar Dynamic 2

    58/174

    The derivatives of the joint torques and/or accelerations in the hybrid dynamics

    for both open-chained and closed-chained systems are more complicated but can be

    obtained by a similar approach to that used for the derivative of the inverse dynamics.

    These formulations are not addressed in this dissertation. The formulation for the

    hybrid dynamics of the open-chained system can be found in Sohl and Bobrow [53].

    These derivatives can be used to compute the analytical gradient of the dynamic

    motion planning in the next two chapters.

    3.4 Summary

    In this chapter, the dynamics of robot manipulators is studied for both open-

    chained and closed-chained syste