Preface v
1 Introduction 1
1.1 Mathematical Modeling of Robots 5
1.1.1 Symbolic Representation of Robot Manipulators 5
1.1.2 The Configuration Space 5
1.1.3 The State Space 6
1.1.4 The Workspace 7
1.2 Robots as Mechanical Devices 7
1.2.1 Classification of Robotic Manipulators 8
1.2.2 Robotic Systems 10
1.2.3 Accuracy and Repeatability 10
1.2.4 Wrists and End Effectors 12
1.3 Common Kinematic Arrangements 13
1.3.1 Articulated Manipulator (RRR) 13
1.3.2 Spherical Manipulator (RRP) 14
1.3.3 SCARA Manipulator (RRP) 14
1.3.4 Cylindrical Manipulator (RPP) 15
1.3.5 Cartesian Manipulator (PPP) 15
1.3.6 Parallel Manipulator 18
1.4 Outline of the Text 18
1.4.1 Manipulator Arms 18
1.4.2 Underactuated and Mobile Robots 27
Problems 27
Notes and References 29
I The Geometry of Robots 33
2 Rigid Motions 35
2.1 Representing Positions 36
2.2 Representing Rotations 38
2.2.1 Rotation in the Plane 38
2.2.2 Rotations in Three Dimensions 41
2.3 Rotational Transformations 44
2.4 Composition of Rotations 48
2.4.1 Rotation with Respect to the Current Frame 48
2.4.2 Rotation with Respect to the Fixed Frame 50
2.4.3 Rules for Composition of Rotations 51
2.5 Parameterizations of Rotations 52
2.5.1 Euler Angles 53
2.5.2 Roll, Pitch, Yaw Angles 55
2.5.3 Axis-Angle Representation 57
2.5.4 Exponential Coordinates 59
2.6 Rigid Motions 61
2.6.1 Homogeneous Transformations 62
2.6.2 Exponential Coordinates for General Rigid Motions 65
2.7 Chapter Summary 65
Problems 67
Notes and References 73
3 Forward Kinematics 75
3.1 Kinematic Chains 75
3.2 The Denavit-Hartenberg Convention 78
3.2.1 Existence and Uniqueness 80
3.2.2 Assigning the Coordinate Frames 83
3.3 Examples 87
3.3.1 Planar Elbow Manipulator 87
3.3.2 Three-Link Cylindrical Robot 89
3.3.3 The Spherical Wrist 90
3.3.4 Cylindrical Manipulator with Spherical Wrist 91
3.3.5 Stanford Manipulator 93
3.3.6 SCARA Manipulator 95
3.4 Chapter Summary 96
Problems 96
Notes and References 99
4 Velocity Kinematics 101
4.1 Angular Velocity: The Fixed Axis Case 102
4.2 Skew-Symmetric Matrices 103
4.2.1 Properties of Skew-Symmetric Matrices 104
4.2.2 The Derivative of a Rotation Matrix 105
4.3 Angular Velocity: The General Case 107
4.4 Addition of Angular Velocities 108
4.5 Linear Velocity of a Point Attached to a Moving Frame 110
4.6 Derivation of the Jacobian 111
4.6.1 Angular Velocity 112
4.6.2 Linear Velocity 113
4.6.3 Combining the Linear and Angular Velocity Jacobians 115
4.7 The Tool Velocity 119
4.8 The Analytical Jacobian 121
4.9 Singularities 122
4.9.1 Decoupling of Singularities 123
4.9.2 Wrist Singularities 125
4.9.3 Arm Singularities 125
4.10 Static Force/Torque Relationships 129
4.11 Inverse Velocity and Acceleration 131
4.12 Manipulability 133
4.13 Chapter Summary 136
Problems 138
Notes and References 140
5 Inverse Kinematics 141
5.1 The General Inverse Kinematics Problem 141
5.2 Kinematic Decoupling 143
5.3 Inverse Position: A Geometric Approach 145
5.3.1 Spherical Configuration 146
5.3.2 Articulated Configuration 148
5.4 Inverse Orientation 151
5.5 Numerical Inverse Kinematics 156
5.6 Chapter Summary 158
Problems 160
Notes and References 162
II Dynamics and Motion Planning 163
6 Dynamics 165
6.1 The Euler-Lagrange Equations 166
6.1.1 Motivation 166
6.1.2 Holonomic Constraints and Virtual Work 170
6.1.3 D'Alembert's Principle 174
6.2 Kinetic and Potential Energy 177
6.2.1 The Inertia Tensor 178
6.2.2 Kinetic Energy for ann-Link Robot 180
6.2.3 Potential Energy for ann-Link Robot 181
6.3 Equations of Motion 181
6.4 Some Common Configurations 184
6.5 Properties of Robot Dynamic Equations 194
6.5.1 Skew Symmetry and Passivity 194
6.5.2 Bounds on the Inertia Matrix 196
6.5.3 Linearity in the Parameters 196
6.6 Newton-Euler Formulation 198
6.6.1 Planar Elbow Manipulator Revisited 206
6.7 Chapter Summary 209
Problems 211
Notes and References 214
7 Path and Trajectory Planning 215
7.1 The Configuration Space 216
7.1.1 Representing the Configuration Space 217
7.1.2 Configuration Space Obstacles 218
7.1.3 Paths in the Configuration Space 221
7.2 Path Planning for Q = 2 221
7.2.1 The Visibility Graph 222
7.2.2 The Generalized Voronoi Diagram 224
7.2.3 Trapezoidal Decompositions 226
7.3 Artificial Potential Fields 229
7.3.1 Artificial Potential Fields for Q = n230
7.3.2 Potential Fields for Q n235
7.4 Sampling-Based Methods 245
7.4.1 Probabilistic Roadmaps (PRM) 246
7.4.2 Rapidly-Exploring Random Trees (RRTs) 250
7.5 Trajectory Planning 252
7.5.1 Trajectories for Point-to-Point Motion 253
7.5.2 Trajectories for Paths Specified by Via Points 261
7.6 Chapter Summary 263
Problems 265
Notes and References 267
III Control of Manipulators 269
8 Independent Joint Control 271
8.1 Introduction 271
8.2 Actuator Dynamics 273
8.3 Load Dynamics 276
8.4 Independent Joint Model 278
8.5 PID Control 281
8.6 Feedforward Control 288
8.6.1 Trajectory Tracking 289
8.6.2 The Method of Computed Torque 291
8.7 Drive-Train Dynamics 292
8.8 State Space Design 297
8.8.1 State Feedback Control 299
8.8.2 Observers 301
8.9 Chapter Summary 304
Problems 307
Notes and References 309
9 Nonlinear and Multivariable Control 311
9.1 Introduction 311
9.2 PD Control Revisited 313
9.3 Inverse Dynamics 317
9.3.1 Joint Space Inverse Dynamics 317
9.3.2 Task Space Inverse Dynamics 320
9.3.3 Robust Inverse Dynamics 322
9.3.4 Adaptive Inverse Dynamics 327
9.4 Passivity-Based Control 329
9.4.1 Passivity-Based Robust Control 331
9.4.2 Passivity-Based Adaptive Control 332
9.5 Torque Optimization 333
9.6 Chapter Summary 337
Problems 341
Notes and References 343
10 Force Control 345
10.1 Coordinate Frames and Constraints 347
10.1.1 Reciprocal Bases 347
10.1.2 Natural and Artificial Constraints 349
10.2 Network Models and Impedance 351
10.2.1 Impedance Operators 353
10.2.2 Classification of Impedance Operators 354
10.2.3 Thévenin and Norton Equivalents 355
10.3 Task Space Dynamics and Control 355
10.3.1 Impedance Control 356
10.3.2 Hybrid Impedance Control 358
10.4 Chapter Summary 361
Problems 362
Notes and References 364
11 Vision-Based Control 365
11.1 Design Considerations 366
11.1.1 Camera Configuration 366
11.1.2 Image-Based vs. Position-Based Approaches 367
11.2 Computer Vision for Vision-Based Control 368
11.2.1 The Geometry of Image Formation 369
11.2.2 Image Features 373
11.3 Camera Motion and the Interaction Matrix 378
11.4 The Interaction Matrix for Point Features 379
11.4.1 Velocity Relative to a Moving Frame 380
11.4.2 Constructing the Interaction Matrix 381
11.4.3 Properties of the Interaction Matrix for Points 384
11.4.4 The Interaction Matrix for Multiple Points 385
11.5 Image-Based Control Laws 386
11.5.1 Computing Camera Motion 387
11.5.2 Proportional Control Schemes 389
11.5.3 Performance of Image-Based Control Systems 390
11.6 End Effector and Camera Motions 393
11.7 Partitioned Approaches 394
11.8 Motion Perceptibility 397
11.9 Summary 399
Problems 401
Notes and References 405
12 Feedback Linearization 409
12.1 Background 410
12.1.1 Manifolds, Vector Fields, and Distributions 410
12.1.2 The Frobenius Theorem 414
12.2 Feedback Linearization 417
12.3 Single-Input Systems 419
12.4 Multi-Input Systems 429
12.5 Chapter Summary 433
Problems 433
Notes and References 435
IV Control of Underactuated Systems 437
13 Underactuated Robots 439
13.1 Introduction 439
13.2 Modeling 440
13.3 Examples of Underactuated Robots 443
13.3.1 The Cart-Pole System 443
13.3.2 The Acrobot 445
13.3.3 The Pendubot 446
13.3.4 The Reaction-Wheel Pendulum 447
13.4 Equilibria and Linear Controllability 448
13.4.1 Linear Controllability 450
13.5 Partial Feedback Linearization 456
13.5.1 Collocated Partial Feedback Linearization 457
13.5.2 Noncollocated Partial Feedback Linearization 459
13.6 Output Feedback Linearization 461
13.6.1 Computation of the Zero Dynamics 463
13.6.2 Virtual Holonomic Constraints 466
13.7 Passivity-Based Control 466
13.7.1 The Simple Pendulum 467
13.7.2 The Reaction-Wheel Pendulum 471
13.7.3 Swingup and Balance of The Acrobot 473
13.8 Chapter Summary 474
Problems 476
Notes and References 477
14 Mobile Robots 479
14.1 Nonholonomic Constraints 480
14.2 Involutivity and Holonomy 484
14.3 Examples of Nonholonomic Systems 487
14.4 Dynamic Extension 493
14.5 Controllability of Driftless Systems 495
14.6 Motion Planning 499
14.6.1 Conversion to Chained Forms 499
14.6.2 Differential Flatness 506
14.7 Feedback Control of Driftless Systems 509
14.7.1 Stabilizability 509
14.7.2 Nonsmooth Control 511
14.7.3 Trajectory Tracking 513
14.7.4 Feedback Linearization 515
14.8 Chapter Summary 519
Problems 520
Notes and References 521
A Trigonometry 523
A.1 The Two-Argument Arctangent Function 523
A.2 Useful Trigonometric Formulas 523
B Linear Algebra 525
B.1 Vectors 525
B.2 Inner Product Spaces 526
B.3 Matrices 528
B.4 Eigenvalues and Eigenvectors 530
B.5 Differentiation of Vectors 533
B.6 The Matrix Exponential 534
B.7 Lie Groups and Lie Algebras 534
B.8 Matrix Pseudoinverse 536
B.9 Schur Complement 536
B.10 Singular Value Decomposition (SVD) 537
C Lyapunov Stability 539
C.1 Continuity and Differentiability 539
C.2 Vector Fields and Equilibria 541
C.3 Lyapunov Functions 545
C.4 Stability Criteria 545
C.5 Global and Exponential Stability 546
C.6 Stability of Linear Systems 547
C.7 LaSalle's Theorem 548
C.8 Barbalat's Lemma 549
D Optimization 551
D.1 Unconstrained Optimization 551
D.2 Constrained Optimization 552
E Camera Calibration 555
E.1 The Image Plane and the Sensor Array 555
E.2 Extrinsic Camera Parameters 556
E.3 Intrinsic Camera Parameters 557
E.4 Determining the Camera Parameters 557
Bibliography 561
Index 576