THE THEORY OF SCREWS: STUDY IN DYNAMICS OF RIGID BODY
Chapter 1 Introduction1 11 Motivation1 111 A Historical Quest!1 112 A Hundred Years of Menacing Robots!1 113 A Century of Helping Robots!2 114 And Only 50 Years of Commercial Robots!2 115 The Mathematical Complexity of Robotics3 116 Here Comes Screw Theory in Robotics3 117 The Future of Robotics4 12 About This Book6 13 Preview9 131 Outline9 132 Chapter 1: Introduction9 133 Chapter 2: Mathematical Tools10 134 Chapter 3: Forward Kinematics10 135 Chapter 4: Inverse Kinematics11 136 Chapter 5: Differential Kinematics13 137 Chapter 6: Inverse Dynamics13 138 Chapter 7: Trajectory Generation14 139 Chapter 8: Robotics Simulation14 1310 Chapter 9: Conclusions15 14 Audience15 15 Further Reading16 Note ???????????????????????????????????????????????????????????????????????????????????????????????????16 Chapter 2 Mathematical Tools17 21 Rigid Body Motion17 22 Homogeneous Representation18 221 Standard Rigid Body Motion18 222 Homogeneous Basic Transformations18 223 Motion Composition in the SPATIAL “S” Reference System19 224 Motion Composition with STATIONARY and MOBILE Coordinate Systems20 225 Geometrical Interpretation21 226 Exercise: Homogeneous Rotation22 227 Exercise: Homogeneous Rotation Plus Translation23 23 Exponential Representation24 231 Modern Rigid Body Motion24 232 Screw Rotation (Orientation)24 233 Rigid Body Motion TWIST25 234 Rigid Body Force WRENCH26 235 Exponential Coordinates for a SCREW Motion26 236 Exercise: Exponential Rotation29 237 Exercise: Exponential Rotation Plus Translation30 24 Summary31 Notes ?????????????????????????????????????????????????????????????????????????????????????????????????32 Chapter 3 Forward Kinematics33 31 Problem Statement in Robotics33 311 Kinematics Concept33 312 Kinematics Mathematical Approach33 313 Forward Kinematics (FK)33 32 Denavit–Hartenberg Convention (DH)33 321 Kinematics Treatment33 322 DH FK Homogeneous Matrix Product34 323 Puma Robots (eg, ABB IRB120)35 33 Product of Exponentials Formulation36 331 A New Kinematics Treatment36 332 General Solution to Forward Kinematics37 333 Puma Robots (eg, ABB IRB120)38 334 Puma Robots (eg, ABB IRB120) “Tool-Up”40 335 Bending Backwards Robots (eg, ABB IRB1600)41 336 Gantry Robots (eg, ABB IRB6620LX)42 337 Scara Robots (eg, ABB IRB910SC)44 338 Collaborative Robots (eg, UNIVERSAL UR16e)45 339 Redundant Robots (eg, KUKA IIWA)46 3310 Many DoF Robots (eg, RH0 UC3M Humanoid)47 34 Summary48 Notes ?????????????????????????????????????????????????????????????????????????????????????????????????49 Chapter 4 Inverse Kinematics51 41 Problem Statement in Robotics and Analytical Difficulty51 411 Kinematics Concept51 412 Inverse Kinematics Mathematical Approach51 413 Analytical Difficulty to Solve Inverse Kinematics52 42 Numeric vs Geometric Solutions53 421 A Numeric Approach to Solve Inverse Kinematics53 422 An Example of a Numeric Algorithm54 423 A Geometric Approach to Solve Inverse Kinematics55 424 An Example of a Geometric Algorithm55 425 Puma Robot Inverse Kinematics Algorithms56 43 Canonical Subproblems for Inverse Kinematics57 431 A Key Idea to Solve Inverse Kinematics57 432 Paden–Kahan Subproblem One (PK1) – One Rotation59 4321 ROTATION around ONE Single AXIS Applied to a POINT59 4322 PK1 Subproblem Simplification59 433 Paden–Kahan Subproblem Two (PK2) – Two Crossing Rotations60 4331 ROTATION around TWO Subsequent CROSSING AXES Applied to a POINT60 434 Paden–Kahan Subproblem Three (PK3) – Rotation to a Distance61 4341 ROTATION at a Given DISTANCE Applied to a POINT61 4342 PK3 Subproblem Simplification63 435 Pardos–Gotor Subproblem One (PG1) – One Translation63 4351 TRANSLATION along a SINGLE AXIS Applied to a POINT63 4352 PG1 Extension - TRANSLATION along a SINGLE AXIS Applied to a PLANE64 436 Pardos-Gotor Subproblem Two (PG2) – Two Crossing Translations65 4361 TRANSLATION along Two Subsequent CROSSING AXES Applied to a POINT65 437 Pardos-Gotor Subproblem Three (PG3) – Translation to a Distance66 4371 TRANSLATION to a Given DISTANCE Applied to a POINT66 438 Pardos-Gotor Subproblem Four (PG4) – Two Parallel Rotations67 4381 ROTATION around TWO Subsequent PARALLEL AXES Applied to a POINT67 4382 PG4 Extension - ROTATION around TWO PARALLEL AXES Applied to a LINE68 439 Pardos-Gotor Subproblem Five (PG5) – Rotation of a Line or Plane69 4391 ROTATION around ONE Single AXIS Applied to a Perpendicular LINE or PLANE69 4310 Pardos-Gotor Subproblem Six (PG6) – Two Skewed Rotations70 43101 ROTATION around TWO Subsequent SKEW AXES Applied to a POINT70 4311 Pardos-Gotor Subproblem Seven (PG7) – Three Rotations to a Point74 43111 ROTATION around THREE Subsequent AXES (ONE SKEW + TWO PARALLEL) Applied to a POINT74 4312 Pardos-Gotor Subproblem Eight (PG8) – Three Rotations to A Pose77 43121 ROTATION around THREE Subsequent PARALLEL AXES Applied to a POSE (Position Plus Orientation) or COORDINATE SYSTEM77 44 Product of Exponentials Approach79 441 General Solution to Inverse Kinematics80 442 Puma Robots (eg, ABB IRB120)82 4421 Inverse Kinematics Puma Robot ABB IRB120 Problem Definition83 4422 First Algorithm for ABB IRB120 IK “PK3+PK2+PK2+PK1”84 4423 Second Algorithm for ABB IRB120 IK “PG7+PK2+PK1”86 4424 Third Algorithm for ABB IRB120 IK “PG5+PG4+PK2+PK1”87 4425 Fourth Algorithm for ABB IRB120 IK “PG5+PG4+PG6+PK1”88 4426 Comparison between the Four Algorithms for ABB IRB120 IK88 4427 Comment on the Implementation of the Algorithms for ABB IRB120 IK89 4428 Performance Contrast for Both Numeric and Geometric ABB IRB120 IK Algorithms89 4429 RST - Robotics System Toolbox™90 44210 ST24R - Screw Theory Toolbox for Robotics90 443 Puma Robots (eg, ABB IRB120) “Tool-Up”91 4431 Inverse Kinematics PUMA ABB IRB120 “Tool-Up” Problem Definition91 4432 First Algorithm for ABB IRB120 “Tool-Up” IK “PG7+PG6+PK1”92 444 Bending Backwards Robots (eg, ABB IRB1600) 94 4441 Inverse Kinematics ABB IRB1600 Problem Definition94 4442 First Algorithm for ABB IRB1600 IK “PG7+PG6+PK1”95 445 Gantry Robots (eg, ABB IRB6620LX)96 4451 Inverse Kinematics ABB IRB6620LX Problem Definition96 4452 First Algorithm for ABB IRB6620LX IK “PG1+PG4+PG6+PK1”97 446 Scara Robots (eg, ABB IRB910SC)99 4461 Inverse Kinematics ABB IRB910SC Problem Definition99 4462 First Algorithm for ABB IRB910SC IK “PG1+PG4+PK1”100 4463 Second Algorithm for ABB IRB910SC IK “PG1+PK3+PK1+PK1”101 4464 Comments on the SCARA Robot (ABB IRB910SC) IK Implementation102 447 Collaborative Robots (eg, UNIVERSAL UR16e)102 4471 Inverse Kinematics UNIVERSAL UR16e Problem Definition103 4472 First Algorithm for UNIVERSAL UR16e IK “PG5+PG3+PK1+PG8”104 4473 Comments on the UNIVERSAL UR16e IK Complete Solution Implementation106 448 Redundant Robots (eg, KUKA IIWA)107 4481 Inverse Kinematics KUKA IIWA Problem Definition108 4482 First Algorithm for KUKA IIWA IK “PK1+PK3+PK2+PK2+PK2+PK1”109 4483 Comments on the KUKA IIWA IK Complete Solution Implementation 112 449 Many DoF Robots (eg, RH0 UC3M Humanoid)113 45 Summary114 Notes ???????????????????????????????????????????????????????????????????????????????????????????????116 Chapter 5 Differential Kinematics119 51 Problem Statement in Robotics119 52 The Analytic Jacobian120 521 A Traditional Description120 522 Analytic Jacobian to Forward Differential Kinematics121 523 Analytic Jacobian for Inverse Differential Kinematics121 524 Scara Robot (eg, ABB IRB910SC)122 5241 Forward Differential Kinematics with Analytic Jacobian122 5242 Inverse Differential Kinematics with Analytic Jacobian ?????????????????????????????????????123 525 Puma Robot (eg, ABB IRB120)126 53 The Geometric Jacobian127 531 Robot Spatial Geometric Jacobian128 532 The Classical Adjoint Transformation (Ad)128 533 Twist Velocity Concept129 534 Trajectory Generation129 535 Robot Tool Geometric Jacobian130 536 Link Spatial and Link Tool Geometric Jacobian130 537 The New Adjoint Transformation (Aij)131 538 General Solution to Differential Kinematics131 5381 The Kinematics Mapping132 5382 The Geometric Forward Differential Kinematics132 5383 The Geometric Inverse Differential Kinematics133 539 Puma Robots (eg, ABB IRB120)135 5391 Geometric Jacobian by Definition135 5392 Forward Differential Kinematics with Geometric Jacobian136 5393 Inverse Differential Kinematics with Geometric Jacobian137 5310 Puma Robots (eg, ABB IRB120) “Tool-Up”138 5311 Bending Backwards Robots (eg, ABB IRB1600)139 5312 Gantry Robots (eg, ABB IRB6620LX)140 5313 Scara Robots (eg, ABB IRB910SC)141 53131 Geometric Jacobian by Inspection 141 53132 Geometric Jacobian by Definition142 53133 Forward Differential Kinematics with Geometric Jacobian143 53134 Inverse Differential Kinematics with Geometric Jacobian144 5314 Collaborative Robots (eg, UNIVERSAL UR16e)146 5315 Redundant Robots (eg, KUKA IIWA)146 54 Summary148 Notes ???????????????????????????????????????????????????????????????????????????????????????????????149 Chapter 6 Inverse Dynamics151 61 Problem Statement in Robotics151 62 The Lagrange Characterization152 621 General Non-Recursive Solution to Inverse Dynamics158 622 Puma Robots (eg, ABB IRB120)161 623 Puma Robots (eg, ABB IRB120) “Tool-Up”165 624 Bending Backwards Robots (eg, ABB IRB1600)166 625 Gantry Robots (eg, ABB IRB6620LX)166 626 Scara Robots (eg, ABB IRB910SC)168 627 Collaborative Robots (eg, UNIVERSAL UR16e)168 628 Redundant Robots (eg, KUKA IIWA)168 63 Robot Dynamics Control170 631 Robotics Control in the Joint Space170 632 Robotics Control in the Task Space171 64 Spatial Vector Algebra172 641 Coordinate Transforms173 642 Mechanics of a Constrained Rigid Body System174 65 The Newton–Euler Equations174 651 General Recursive Solution to Inverse Dynamics RNEA with POE174 652 Puma Robots (eg, ABB IRB120)180 653 Puma Robots (eg, ABB IRB120) “Tool-Up”185 654 Bending Backwards Robots (eg, ABB IRB1600)186 655 Gantry Robots (eg, ABB IRB6620LX)187 656 Scara Robots (eg, ABB IRB910SC)188 657 Collaborative Robots (eg, UNIVERSAL UR16e)188 658 Redundant Robots (eg, KUKA IIWA)189 66 Summary190 Notes ???????????????????????????????????????????????????????????????????????????????????????????????191 Chapter 7 Trajectory Generation193 71 Concepts and Definitions193 711 Point-to-Point Position Straight-line Trajectories 194 712 Trapezoidal Position Trajectory195 713 Polynomial Position Trajectory195 714 Spline Position Trajectory196 715 Rotation Motion Trajectory197 716 Trajectory Tracking and Control197 72 Trajectory Planning197 721 General Solution to Trajectory Generation198 722 Puma Robots (eg, ABB IRB120)199 723 Puma Robots (eg, ABB IRB120) “Tool-Up”203 724 Bending Backwards Robots (eg, ABB IRB1600)204 725 Gantry Robots (eg, ABB IRB6620LX)207 726 Scara Robots (eg, ABB IRB910SC)208 727 Collaborative Robots (eg, UNIVERSAL UR16e) 210 728 Redundant Robots (eg, KUKA IIWA)211 73 Summary212 Notes ???????????????????????????????????????????????????????????????????????????????????????????????213 Chapter 8 Robotics Simulation215 81 Robotics Simulation215 811 Why Code in MATLAB®?216 82 Screw Theory Toolbox for Robotics (ST24R)218 83 Forward Kinematics Simulations218 831 General Solution to Forward Kinematics Simulation219 832 Puma Robots (eg, ABB IRB120)222 833 Puma Robots (eg, ABB IRB120) “Tool-Up”222 834 Bending Backwards Robots (eg, ABB IRB1600)223 835 Gantry Robots (eg, ABB IRB6620LX)223 836 Scara Robots (eg, ABB IRB910SC)224 837 Collaborative Robots (eg, UNIVERSAL UR16e)224 838 Redundant Robots (eg, KUKA IIWA)225 84 Inverse Kinematics Simulations225 841 General Solution to Inverse Kinematics Simulation226 842 Puma Robots (eg, ABB IRB120)228 843 Puma Robots (eg, ABB IRB120) “Tool-Up”230 844 Bending Backwards Robots (eg, ABB IRB1600)231 845 Gantry Robots (eg, ABB IRB6620LX)232 846 Scara Robots (eg, ABB IRB910SC)233 847 Collaborative Robots (eg, UNIVERSAL UR16e)234 848 Redundant Robots (eg, KUKA IIWA)235 85 Differential Kinematics Simulations236 851 General Solution to Differential Kinematics Simulation238 852 Puma Robots (eg, ABB IRB120)239 853 Puma Robots (eg, ABB IRB120) “Tool-Up”240 854 Bending Backwards Robots (eg, ABB IRB1600)241 855 Gantry Robots (eg, ABB IRB6620LX)242 856 Scara Robots (eg, ABB IRB910SC)243 857 Collaborative Robots (eg, UNIVERSAL UR16e) 245 858 Redundant Robots (eg, KUKA IIWA)246 86 Inverse Dynamics Simulations247 861 General Solution to ID Simulation249 862 Puma Robots (eg, ABB IRB120)250 863 Puma Robots (eg, ABB IRB120) “Tool-Up”251 864 Bending Backwards Robots (eg, ABB IRB1600)252 865 Gantry Robots (eg, ABB IRB6620LX)253 866 Scara Robots (eg, ABB IRB910SC)254 867 Collaborative Robots (eg, UNIVERSAL UR16e) 255 868 Redundant Robots (eg, KUKA IIWA)256 87 Summary257 Notes ???????????????????????????????????????????????????????????????????????????????????????????????258 Chapter 9 Conclusions263 91 Summary263 911 Introduction265 912 Mathematical Tools266 913 Forward Kinematics266 914 Inverse Kinematics268 915 Differential Kinematics268 916 Inverse Dynamics270 917 Trajectory Generation271 918 Robotics Simulation272 92 Future Prospects273