Copyright © 2015 Gregory L. Long All rights reserved. Printed and bound in the United States of America. The reproduction, storage, retrieval, and/or transmission of this publication requires explicit permission from the publishers at Quintus-Hyperion Press. The author provides this textbook entirely for academic purposes. Both the author and the publisher have made every effort to ensure the accuracy and completeness of information contained in this publication, and they assume no responsibility for errors, inaccuracies, omissions, or inconsistencies herein. If found, please submit errors and/or inaccuracies to the publisher, and the author will review these submissions to make necessary corrections for future editions. The companies and/or sellers of robotic devices, robot manipulators, and computer software mentioned in this textbook have certain trademark rights granted to them by the United States Department of Commerce, the United States Patent and Trademark Office, and/or the foreign/international equivalents of these agencies. We have identified all known trademarks in italics or in fonts similar to those normally used by the company/seller. Logos and insignias that appear in any photograph belong to the corresponding corporations that appear in the captions. The MathWorks, Inc. owns the logo , and Wolfram Research, Inc. owns the logo : these logos appear in the headings of examples that utilize M ATLAB or Mathematica, respectively. The paper used in this publication may meet the minimum requirements of the American National Standard for Information Sciences Permanence of Paper for Publications and Documents in Libraries and Archives (ANSI Z39.48–1992).
First edition: Printing:
August 2015 α35φ–1β8δ–νξ7θ
Library of Congress Control Number: 2015931562 ISBN 978-0-9861094-1-6 Long, Gregory L. Fundamentals of Robot Mechanics Quintus-Hyperion Press p. cm. Includes illustrations, bibliographical references, and index. 1. Robotics. 2. Mechanics. 3. Screw Theory. 4. Applied Mathematics.
Printed in the United States of America Quintus-Hyperion Press PO Box 52484 Boston, Massachusetts 02205 www.Quintus-Hyperion.com
I. Title
iv
v
C ONTENTS P REFACE 1 I NTRODUCTION 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10
Introduction Programmable Manipulators and Machine Tools Early Teleoperated Systems The Emergence of Computer Numerical Control Robot Manipulators on the Production Line The Science of Manipulator Mechanics Modern Robot Manipulators Lower Kinematic Pairs Kinematic Pairs and Manipulator Structures Summary References and Suggested Reading
XI
1 1 3 6 8 9 12 15 25 29 37 38
2 R IGID B ODY T RANSFORMATIONS
43
2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 2.12 2.13 2.14 2.15
43 45 51 53 56 63 71 74 76 80 81 85 88 95 104
Introduction Cartesian Coordinate Systems Referencing Points Relative to Multiple Frames Resolving Vectors The Direction Cosines Matrix Rotation Operators Rotation Operator/Orientation Matrix Principal Rotation Matrices Composite Rotations Non-Commutability of Spatial Rotations Absolute Rotation Angles—Roll, Pitch, Yaw Relative Rotation Angles (Euler Angles) Rotation Angle/Rotation-Axis Vector Extraction Homogeneous Transformations Quaternions
vi 2.16 Summary Nomenclature References and Suggested Reading Exercises
3 F ORWARD K INEMATICS 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9
Introduction Commonly Used Coordinate Frames Denavit-Hartenberg Parameters Kinematic Skeletons 2R Planar Manipulator Offset Articulate Manipulator Offset Spherical Manipulator Manipulators with Four-Bar Sub-Chains Summary Nomenclature References and Suggested Reading Exercises
4 I NVERSE K INEMATICS 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13 4.14 4.15
Introduction End-Effector Position and Orientation End-Effector/Tool Closure Equation Inverse Trigonometric Functions Geometric Method: Overview 2R Planar Manipulator: Geometric Solution Offset Articulate Regional: Geometric Solution Offset Spherical Regional: Geometric Solution Orientation Structure: Geometric Solution Algebraic Method: Overview 2R Planar Manipulator: Algebraic Solution Offset Articulate Manipulator: Algebraic Solution Offset Spherical Manipulator: Algebraic Solution General Solutions Summary Nomenclature References and Suggested Reading Exercises
112 114 116 117
127 127 128 131 147 148 153 165 173 177 179 180 182
197 197 199 201 203 208 209 216 223 226 232 242 244 253 260 262 264 265 267
vii 5 I NSTANTANEOUS K INEMATICS 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9
Introduction Relative Velocities Screw Coordinates The Manipulator Jacobian Resolving Joint-Screws in Specific Link Frames 2R Planar Manipulator Offset Articulate Manipulator Offset Spherical Manipulator Summary Nomenclature References and Suggested Reading Exercises
6 S TATICS 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9
Introduction Fundamental Notions A Wrench on a Screw Transferring a Wrench The Principle of Virtual Work The Virtual Product Joint Torques/Forces for Static Equilibrium Duality: Instantaneous Kinematics and Statics Summary Nomenclature References and Suggested Reading Exercises
7 S INGULARITIES 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 7.10
Introduction Jacobian Rank Matrix of Jacobian Cofactors Reciprocal Screws as the Matrix of Cofactors Offset Spherical Manipulator Offset Articulate Manipulator Manipulators with Less Than Six DOF 2R Planar Manipulator 3R Spatial Manipulator Summary Nomenclature
275 275 276 278 287 289 293 299 309 319 321 323 325
333 333 334 339 346 353 356 358 372 376 377 378 380
387 387 388 391 394 397 410 420 421 423 429 430
viii References and Suggested Reading Exercises
8 W ORKSPACE 8.1 8.2 8.3 8.4 8.5
Introduction Workspace: 2R Manipulator Geometries Workspace: 3R Manipulator Geometries Extreme Distances Summary Nomenclature References and Suggested Reading Exercises
9 DYNAMICS 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 9.10 9.11 9.12 9.13 9.14 9.15 9.16 9.17 9.18
Introduction Energy Relations for a Mass Particle Energy Relations for a Rigid Link Link Inertia Matrix D’Alembert’s Principle Generalized Coordinates/Forces Lagrange’s Equations 2P Planar Manipulator 2R Planar Manipulator Properties of the Manipulator Inertia Matrix Characteristics Due to Joint Interaction The Lagrange-Christoffel Formulation Christoffel Symbol Uniqueness Offset Spherical Regional Structure Offset Articulate Regional Structure Newton-Euler Method Newton-Euler Subroutines Summary Nomenclature References and Suggested Reading Exercises
A M ATRICES AND L INEAR V ECTOR S PACES A.1 A.2 A.3
Matrices Partitioned Matrix Diagonal Matrix
431 433
439 439 441 451 456 464 464 465 467
475 475 477 480 488 494 495 496 509 512 521 526 541 545 553 560 568 574 584 586 588 591
599 599 600 600
ix A.4 A.5 A.6 A.7 A.8
Matrix Addition Matrix Multiplication Frequently Used Inverses Real Vector Spaces Manipulator Inertia Matrix: Properties/Proofs References and Suggested Reading
601 601 602 604 606 607
B T RIGONOMETRIC F ORMULAS
609
C I NERTIAL PARAMETER D ETERMINATION
615
C.1 C.2
Inertial Parameter Determination Rotation of Axes References and Suggested Reading
615 623 625
D C HRISTOFFEL S YMBOL TABULATIONS
627
D.1 D.2 D.3 D.4 D.5
Christoffel Symbols for n = 2 Christoffel Symbols for n = 3 Christoffel Symbols for n = 4 Christoffel Symbols for n = 5 Christoffel Symbols for n = 6
628 628 629 629 630
AUTHOR I NDEX
633
S UBJECT I NDEX
637
x
xi
Preface
T
HE DISCIPLINE OF MECHANICS focuses on understanding the behavior, properties, and structure of matter. Recorded history provides a detailed account of this field that now branches into quantum mechanics, fluid mechanics, solid mechanics, fracture mechanics, rigid body mechanics, biomechanics, and celestial mechanics, to name a few. In this textbook, we focus on the topic of rigid body mechanics as systematically applied to computer-controlled machines known as robot manipulators. The Fundamentals of Robot Mechanics includes rigid body transformations, forward kinematics, inverse kinematics, and dynamics, as first gathered and elucidated in Paul’s book Robot Manipulators: Mathematics, Programming, and Control, as well as instantaneous kinematics, statics, reciprocal screws, and duality, as thoroughly considered in Davidson and Hunt’s book Robots and Screw Theory: Applications of Kinematics and Statics to Robotics. In addition to these topics, the Fundamentals of Robot Mechanics includes step-by-step guidelines for applying the Denavit-Hartenberg parameters, concise examples on how to obtain the inverse kinematics for serial-chain manipulators, in-depth material on singularities and their relationship with reciprocal screw systems, material on workspace analysis, thorough coverage of manipulator statics and dynamics, and many useful interpretations that reflect my personal experiences with these topics. The fundamental theories used in robot mechanics have their origins in the works of Giulio Mozzi, Michel Chasles, Julius Plßcker, Issac Newton, Joseph-Louis Lagrange, Leonard Euler, William Hamilton, Louis Poinsot, and Robert Ball. The conceptual understanding, implementation, and numerous details required to apply these theories to computer control a robot manipulator, however, has traversed a non-trivial course due to many issues such as non-linearities in the constitutive equations, sequencing and timing of computer computations for real-time control, unknown and/or inaccurate physical parameters, unknown dynamics that affect control such as vibration and resonance, and the complexities of interfacing motors and sensors to a computer. This path toward high performance computer-control has required the sustained effort of many researchers in the 20th century,
xii and this world-wide effort continues today. In this textbook, I have attempted to provide the requisite material for any earnest seeker who wishes to master robot mechanics as applied to serial-chain manipulators.
The material in this textbook relies heavily on the mechanics taught in college physics and the mathematics taught in multi-dimensional calculus. It also relies on a familiarity with matrix algebra. Nearly all upper-division undergraduate and graduate students in mechanical engineering have taken these courses. Many upper division undergraduate and graduate students in majors such as electrical engineering, bioengineering, computer science, and applied mathematics will find the material in this textbook readily accessible, and, if necessary, I encourage these students to read the suggested material on engineering mechanics. Practicing engineers and scientists, with little or no background in robot mechanics, also may find this textbook readily accessible. A primary goal of this textbook involves laying a solid foundation for understanding the mechanics of serial-chain manipulators with six degreesof-freedom—all industrial and research manipulators with full kinematic freedom have at least this number. In this text I have intentionally excluded topics such as grasping, walking/running machines, mobile robotic systems, control of redundant manipulators, and control of flexible manipulators: these topics require a separate course in control theory as a prerequisite. I have limited the subject matter to approximately one semester’s worth of material. For a 15-week semester course, with 3-credit hours per week, classroom instruction could consist of about 4 to 5 lecture hours per chapter for Chapters 2 through 9 (Chapter 1, the introductory chapter, could consist of only one lecture hour). Some instructors may find this entire textbook suitable for their needs, whereas others may choose to focus on specific chapters. In the following paragraphs, we briefly review the contents within each chapter. Chapter 1: Introduction
This chapter provides a brief historical overview of remotely controlled and programmable robot manipulators. Here, I primarily emphasize the progression of these topics during the 20th century, and I also provide motivation for the mathematical considerations that begin in Chapter 2. I have focused my discussion on the early developments—as much as we know for certain—into overlapping periods of about a decade, beginning with the early 1930s and ending with the early 1970s. After this brief overview of early developments, I provide illustrations on the applications of mod-
xiii ern robot manipulators. At the end of this chapter, I introduce the notion that a robot manipulator’s structure represents merely an assemblage of joints called kinematic pairs whose interconnection form the basis of robot mechanics. Chapter 2: Rigid Body Transformations
This chapter provides an overview of rigid body transformations, and it contains many details we find primarily in a kinematics course. It also contains ideas and notation that we use throughout the entire textbook. Conceptually, first and foremost, robot mechanics requires multiple Cartesian coordinate systems (frames): one at each joint, one at a manipulator’s base, one at a manipulator’s end-effector/tool, and others located throughout a manipulator’s workspace. Fundamentally, then, we require the capacity to unambiguously specify the locations of points within any given coordinate frame, and we also require the capacity to unambiguously specify the orientation of vectors within any given frame. To facilitate this process, I have included Sections 2.3 and 2.4, Referencing Points Relative to Multiple Frames and Resolving Vectors, respectively. In these two sections, I explain the meaning of notation attached to every position vector within this textbook. The central topics in this chapter include the rotation/orientation matrix and the homogeneous transformation matrix. In addition, I have included material on quaternions in Section 2.15, primarily for completeness on the topic of rotation transformations. Chapter 3: Forward Kinematics
In this chapter we use the homogeneous transformations given in Chapter 2 to establish coordinate frames at the joints of a robot manipulator. Since a portion of each joint belongs to a specific link, we must simultaneously associate these “joint coordinate frames” with their corresponding links. In the robotics literature we often encounter the term “link frame,” which has validity in all aspects. However, we must remain cognizant of the fact that a “link frame” itself depends on the relative arrangement of two adjacent joint axes. Specifically, we consider the Denavit-Hartenberg parameters for establishing these joint/link coordinate frames. Here, we use the same approach as prescribed in Denavit and Hartenberg’s manuscript A Kinematic Notation for Lower-Pair Mechanisms Based on Matrices, but with two caveats: 1) we place the 3 × 3 rotation matrix in the upper left portion of the homogeneous transformation as prescribed by Pieper in his dissertation The Kinematics of Manipulators under Computer Control, and 2) we substitute the joint-offset variable s with d. Other than these two changes, we maintain the integrity of these parameters that associates with every link a set of
xiv four unique parameters that contain the same subscripts. Throughout our studies, we find this approach, associating each link with four parameters bearing the same subscript, works well for organizing the complexity of our equations. Chapter 4: Inverse Kinematics
In this chapter we determine the inverse kinematics for serial-chain manipulators using geometric considerations on one hand and algebraic considerations on the other. With the geometric approach, we decouple a manipulator into a regional structure and an orientation structure. For the regional structure we find that by projecting the joint axes onto appropriate planes, various triangles form in the given plane that contain the joint variables as angles. For the orientation structure we project the joint axes onto the coordinate axes using the dot product. This process, in turn, allows us to extract a specific joint angle via the cosine inherent to the dot product. The motivation for this geometric approach arises from the manuscript Geometric Approach in Solving Inverse Kinematics of PUMA Robots by Lee and Ziegler. For the algebraic approach, Paul and Zhang present an effective method in their manuscript Computationally Efficient Kinematics for Manipulators with Spherical Wrists Based on the Homogeneous Transformation Representation. In this chapter we also derive several inverse kinematic formulas that facilitate use of this algebraic method. Chapter 5: Instantaneous Kinematics
Instantaneous kinematics concerns the time derivatives of motion, such as linear/angular velocities and linear/angular accelerations. In this chapter we derive the transformation between joint velocities and Cartesian velocities of the end-effector via screw coordinates. We call this transformation the manipulator Jacobian, which has application not only in instantaneous kinematics but also in statics and force control. In this text we use the symbol si to represent a joint-screw as a geometric entity, devoid of any specific coordinate system. This notation, an s with a centered vertical bar that represents a screw axis, first appears in the manuscripts Application of Linear Algebra to Screw Systems, by Sugimoto and Duffy, and more prominently in Analysis of Industrial Robots via the Theory of Screws, by Lipkin and Duffy. In this text, however, I have made a slight addition to this symbolism because screw coordinates, within the context of instantaneous kinematics, denote the angular velocity of a rigid body and the linear velocity of a specific point on that body. Therefore, in this textbook, we shall let si represent the geometric entity, whereas si|A the coordinates for this entity as it impacts point PA. It may prove
xv helpful to think of these two representations as an abstract idea (si) and a concrete expression of that same idea (si|A). The distinction between these two interpretations has not, as yet, received full appreciation in the robotics literature. Chapter 6: Statics
We begin this chapter by considering fundamental axioms that allow us to reduce all problems in statics to purely geometrical problems. We use these axioms to simplify a system of forces/moments that act on a rigid body into a single wrench on screw. We then consider the transformation of a wrench from one coordinate frame to another, which has applicability in situations such as transferring a wrench applied by an end-effector to a central location within a wrist force sensor. We then consider the principle of virtual work, as this allows us to define the virtual product between two screws. This result, in turn, leads us to a key formulation for this chapter: a formulation that allows us to determine the torque/force at each joint that results from applying a wrench at the robot’s end-effector. Robert S. Ball uses the principle of virtual work to define the virtual product between two screws in his monumental work A Treatise on the Theory of Screws. In this chapter, we also lay the foundation for the determination of a manipulator’s reciprocal screw system, and the consideration of the duality between instantaneous kinematics and statics, which opens the doorway toward investigating parallel and hybrid serial/parallel manipulators. Chapter 7: Singularities
In this chapter we determine the singularities of serial-chain manipulators. These singularities occur because the joint-screws lose their capacity for motion, either rotary or translatory, about some screw axis. The inspiration for this material arises from the manuscripts Singularity Avoidance and the Control of an Eight-Revolute-Joint Robot Manipulator by Long and Paul, A Geometric Description of Manipulator Singularities in Terms of Singular Surfaces by Staniši´c and Engelberth, and Kinematic Modules for Singularity-Free Movement with Three Cartesian Freedoms by Long, McCarthy, and Paul. At a singular configuration for a six degree-of-freedom manipulator, we learn this type of manipulator has associated with itself at least the following two distinct screw systems: a) a joint-screw system defined by the columns of the manipulator Jacobian, and b) a reciprocal screw system, intimately associated with the manipulator Jacobian.
xvi These two screw systems determine the instantaneous kinematics and statics properties for a six degree-of-freedom serial-chain manipulator. The inspiration for this material arises from the manuscript Special Configurations of Robot-Arms via Screw Theory, Part 1, The Jacobian and its Matrix of Cofactors by Hunt. Chapter 8: Workspace
In this chapter we lay a foundation for determining the workspaces of 2revolute joint (2R) and 3-revolute joint (3R) manipulators. For 2R manipulators we categorize their workspaces as toroidal surfaces, and we establish analytical relationships between the shapes of these surfaces via the Denavit-Hartenberg parameters for links 1 and 2. For 3R manipulators, we view their structures as 2R sub-chains that revolve around a third revolute pair located at the base. With this interpretation, we view the workspaces for 3R manipulators as toroidal surfaces revolved around a third axis. This process, in turn, creates volumes of revolution that may contain holes and/or voids. The inspiration for this material arises from the manuscripts The fecund torus, its bitangent-circles and derived linkages by Fichter and Hunt and Analytical Design of Two-Revolute Open Chains by Roth. In this chapter we also determine the extreme distances for a general manipulator with n revolute pairs. For 2R manipulators we derive closedform solutions for these extreme distances, whereas for 3R manipulators we develop a strategy to determine these extreme configurations. The purpose for examining only 2R and 3R structures relies on the intention of combining either of these two structures with a 3R spherical wrist, thereby creating a 5R manipulator or a 6R manipulator in the process. The inspiration for this material arises from the manuscript Determination of Extreme Distances of a Robot Hand–Part 1: A General Theory by Sugimoto and Duffy. Chapter 9: Dynamics
In this chapter we formulate the equations-of-motion for a serial-chain robot manipulator. These equations allow us to determine the joint torques and/or forces required to move a manipulator’s end-effector through a specified Cartesian trajectory. In this chapter we develop the necessary background for understanding Lagrange’s equations-of-motion via generalized coordinates. Here, we also derive the Lagrange-Christoffel formulation and provide explanations for the meanings of the Christoffel symbols. This formulation produces a set of computationally efficient equations-ofmotion. In addition, we demonstrate how the coupling between two joints affects the final form of these Christoffel symbols.
xvii And finally, in our last section, we derive the equations-of-motion using the Newton-Euler method. This method allows for the creation of a general purpose dynamics simulation routine for serial-chain manipulators.
In this textbook all matrices, including column matrices (often vectors), have bold fonts, and all scalars have lightface italic fonts. The subscripts and superscripts associated with any vector or matrix indicate either a coordinate system and/or a point in space. Often times, this scripting guides us to our goal. Many researchers use degrees rather than radians in their manuscripts, and we generally follow this convention because it allows us to better visualize non-standard angles. With this understanding, please keep in mind that most computer programming languages use radians by default rather than degrees. Many robotic servo systems have accuracies in arc seconds. One arc second equals 1/3600◦ ≈ 0.0002777778◦ . Retaining this level of accuracy in our examples would unnecessarily use page space. For this reason, in many examples I have purposely limited the accuracy to less than four digits to the right of the decimal. Robot mechanics theory has evolved with the use of matrix multiplication and differentiation of complex transcendental equations. A forward and/or inverse kinematics formulation for a six degree-of-freedom manipulator requires the multiplication of several 4 × 4 matrices, which presents no problem via paper and pencil computations. However, to formulate a manipulator’s instantaneous kinematics, or to perform a statics/singularity analysis, we must multiply, and sometimes invert, 6 × 6 matrices that contain sine/cosine pairs with six different angles. To perform a dynamic analysis, the computational situation becomes even more involved for manipulators with more than three degrees-of-freedom. For computations of this type, I suggest using a Computer Algebra System (CAS) that permits matrix multiplication, partial differentiation, and, especially, simplification of trigonometric functions. Fortunately, many CAS software packages have these capabilities, both proprietary and open source. For instance, proprietary software such as Maple, Mathematica, M ATLAB, and TI-Nspire have these capabilities, and open-source software such as SAGE, Octave, and SCilab also have these capabilities. In this text, I have used M ATLAB primarily for numerical computations/computer programming and Mathematica primarily for symbolic computations. My decision to use these two packages reflects my own familiarity with CAS and nothing more, and students should use the CAS software suggested by their course instructor.
xviii
This textbook has its current form due to the efforts of numerous researchers who have contributed to the science of robot mechanics. Four of these researchers, however, have provided inspiration for several sections and/or subject areas within this textbook. First, I acknowledge the work in screw theory by the late Joseph Duffy and the late Kenneth Hunt, whose collective research in screw theory and robotics has cleared the path for many of us seekers. For me, at least, these two “artisans of screw mechanics� revealed the grace, elegance, and practically of screw theory. Second, I acknowledge professor emeritus Bernard Roth, who played a seminal role in clarifying and defining the entire field of robot mechanics. And finally, I acknowledge professor emeritus Richard Paul, my dissertation advisor, a wise and thoughtful man, whose contributions in robotics span many areas. During his active years of research, his grasp of the entire field of robotics, from kinematics to dynamics, from computer programming to computer vision, from design to control, ranks among the highest in his peers. I appreciate the opportunity to have once worked with an adept in his craft.
This textbook has the supplement A CAS Companion for Fundamentals of Robot Mechanics G. L. Long Quintus-Hyperion Press, 2015 ISBN: 978-0-9861094-2-3 which contains instruction, examples, and exercises that illustrate use of the computer algebra systems M ATLAB and Mathematica for solving problems in robot mechanics. In addition to this paperback supplement, all or the Matheexamples in this textbook that feature the M ATLAB logo matica logo have CAS files located at www.RobotMechanicsControl.info. All instructors who adopt this textbook for coursework can request Solutions Manual, Fundamentals of Robot Mechanics G. L. Long Quintus-Hyperion Press, 2015 ISBN 978-0-9861094-0-9 from the publishers at
xix Quintus-Hyperion Press PO Box 52484 Boston, Massachusetts 02205 E-mail: TextbookService@Quintus-Hyperion.com URL: www.Quintus-Hyperion.com G. L. L ONG August 2015
1
1.1
Introduction
T
HE S ECOND I NDUSTRIAL R EVOLUTION marks a significant evolutionary stage in human development. This era, which occurs during the latter half of the 19th century, brings with its arrival steel, machine tools, electricity, telecommunications, and an intense interest in scientific discovery. This revolution also brings a world-wide improvement in technology and education that results in the proliferation of hydraulic and electromechanical devices that produce accurate and precise motion, which surpasses anything known in recorded history. At the beginning of the 20th century, with these new technological devices and capabilities firmly in the minds of the masses, the science fiction writers begin to imagine a world where machines, both organic and inorganic, perform the work of humans. In 1920, a Czechoslovakian playˇ wright named Karel Capek writes a play entitled RUR (Rossum’s Universal Robots), where a scientist named Rossum and his son create organic humanoid machines to “replace humans in all manner of labor intensive ˇ jobs.” Capek’s play, consequently, introduces terminology for a category of machines that remains with us today. During this same time period, the science fiction writer, inventor, and publisher Hugo Gernsback also plays an important role in describing technology to the masses. Among his numerous futuristic devices, Gernsback describes a telerobotic device called the Teledactyl (Figure 1.1) in the February, 1925 issue of Science and Invention. He envisions the Teledactyl as a device that allows doctors to “feel at a distance” by manipulating a small pantograph-like linkage while viewing the patient remotely through a radio-wave operated view-screen. An exact replica of this linkage sits at the patient’s bedside: it follows every movement of the doctor’s hands and provides a resistance that we now call force feedback. In 1938, the The Meccano Magazine features the “Robot Gargantua,”
F IGURE 1.1 The Teledactyl, a science fiction created teleoperated device that allows doctors to perform surgery over the radio.
2
Chapter 1: Introduction
F IGURE 1.2 The Waldo, a force amplifying teleoperated manipulator.
an automated block-setting crane, developed by Griffith P. Taylor. The Robot Gargantua contains a “brain centre” that consists of “a roll of paper punched with holes set out on a pre-arranged system.” These punched holes resemble a miniature scale, much like those for operating player pianos. Taylor’s “brain centre” passes the paper slowly over a brass drum with a row of spring brushes, which in turn have connections to separate electric circuits for controlling motors attached to the crane. In March, 1942 science fiction writer Isaac Asimov coins the term robotics in his short story Runaround, which features two explorers and their robot SPD-13 (Speedy) on the planet Mercury. Later in 1942, Robert Heinlein publishes a short story that ushers in the era teleoperators. Heinlein, using the pen name Anson MacDonald, creates the short story Waldo, which details the life of an eccentric inventor named Waldo FarthingwaiteJones (Astounding Magazine, August 1942). Waldo, born physically weak and frail, develops a series of electro-hydraulic-mechanical devices to amplify his strength. With these devices, Farthingwaite-Jones overcomes his physical weakness. From Heinlein’s work we obtain the concepts master manipulator and slave manipulator, terms used to describe a pantograph linkage attached to Farthingwaite-Jones’ arm (the master) and another linkage that replicates the motion of this master (the slave). Approximately six years after Heinlein’s publication of Waldo, these master and slave manipulators begin appearing in the nuclear industry to manage and handle radioactive materials; hence, giving rise to the field of remote manipulation and teleoperated systems. The early successes in robot manipulator development arise through the efforts of private inventors and entrepreneurs, corporations, government sponsored research at national laboratories, and universities. This activity occurs simultaneously and often in isolation, with each contributor, or group of contributors, having minimal knowledge of other workers in the same field. To limit our scope, we shall focus on manipulators that arise from patents, commercialization, and/or research. For organization purposes, we shall proceed more or less historically through the following six eras: 1) Pre-World War II (1930s) 2) After World War II (1945 through Middle 1950s, Research at Corporate and National Laboratories) 3) Computer Numerical Control (Early 1950s through Early 1960s, University Research and Industrial Activity) 4) Industrial Manipulators (Middle 1950s through Early 1960s, Industrial Research and Activity) 5) The Science of Manipulator Mechanics (Early 1960s through Late 1960s, University Research and Activity)
3
1.2 Programmable Manipulators and Machine Tools 6) Modern Manipulators (2000–present) We consider the developments from the early 1970s through early 2000s in the remaining eight chapters of this textbook. A considerable amount of research and development occurs during this period, and we consider this material in progressively dependent stages.
1.2
Programmable Manipulators and Machine Tools
F IGURE 1.3 Spray Painting Machine invented by Willard Lacey George Pollard, Jr., US Patent number 2,213,108, filed on October 29, 1934.
The United States Patent records contain three notable programmable manipulators and machine tools from the 1930s and early 1940s: a first from Willard Lacey George Pollard, Jr., a second from Willard Lacey V. Pollard, Sr., and a third from Leif Eric de Neergaard. Since digital recording medium and computers did not exist during the late 1930s/early 1940s, these three inventions rely on recording devices such as photo film and the phonograph to program the desired sequence of motions. On October 29, 1934, Willard Lacey George Pollard, Jr. files a US Patent for a Spray Painting Machine (US Patent number 2,213,108). His patent details the electronics, programming, and mechanical configuration for a manipulator with five independent motions, capable of positioning
4
Chapter 1: Introduction
F IGURE 1.4 Position-Controlling Apparatus invented by Willard L. V. Pollard, Sr., US Patent number 2,286,571, filed on April 22, 1938.
and orienting a spray gun for painting automobiles. The electronics for his device consists of a photo-phone, several amplifiers, and differential electric motors. The photo-phone device records the motion and playback, and it consists of a light source, a condensing lens, recording film, and a photocell. Control of the electric servo motors occurs by energizing the rotor windings of the electric motors with a continuous series of pre-determined (programmed) waves from the photo-phone amplifier. The mechanical configuration consists of 1) a two degree-of-freedom five-bar mechanism that moves in a plane, 2) a one degree-of-freedom sliding joint, and 3) a two degree-of-freedom device for orienting the spray gun. In 1937, Pollard licenses his invention to the DeVilbiss spray finishing company who later builds a prototype in 1941. Willard Lacey V. Pollard, Sr. files a US Patent for Position-Controlling Apparatus on April 22, 1938 (US Patent number 2,286,571). Figure 1.4 illustrates this device. In this patent diagram, motor 12 moves link 8, motor 10 moves link 5, and motor 11 moves link 7. These three links, when coordinated, places the spray nozzle at a specific position with three degrees-of-freedom. Motors 21 and 28 orient the spray nozzle via cables 35e; these two motor/cable connections provide two orientation degreesof-freedom. The nozzle also rotates around its own axis via another motor/cable connection (not illustrated). When combining the motion capabilities of the various links/cables, we obtain six degrees-of-freedom for positioning and orienting the spray nozzle, a minimum prerequisite for
5
1.2 Programmable Manipulators and Machine Tools arbitrarily locating a object in 3-dimensional space. Rather than use the photo-phone for programming, Pollard, Sr. uses a phonograph, similar to the type developed by Thomas Edison. A milling machine allows a skilled machinist to cut intricate shapes from blocks of solid material such as aluminum, steel, iron, nickel, and/or hardened plastic. Although these machines come in a variety of sizes that have different functions, a typical vertical milling machine has a flat horizontal surface for mounting blocks of material, a cutting head that holds a cutting tool, and three perpendicular axes of motion (Figure 1.11). The mounting surface itself has two orthogonal axes of motion, in a horizontal plane, whereas the cutting head moves along a vertical axis perpendicular to the mounting surface plane. Each axis of motion has its own handwheel, attached to a lead screw, that allows a machinist to move a cutting tool relative to the material. With just three axes of motion, a variety of cutting tools, and the capacity to mount material at different angles on the mounting surface, a skilled machinist can manufacture numerous items with high accuracy. During the first half of the 20th century, most precision manufacturing occurs via manually operated milling machines, or via motorized lathes that specialize in machining circular objects. While a 3-axis milling machine appears an unlikely candidate to classify as a robot manipulator, when computerized, this machine and a robot manipulator rely on the same fundamental control principles. Moreover, kinematically, a 3-axis computerized milling machine functions as two cooperating robot manipulators: one manipulator with two degrees-offreedom (the mounting surface) and another manipulator with one degreeof-freedom (the cutter head). On October 6, 1942, Leif Eric de Neergaard, of Actrol Corporation, files a US Patent for the Automatic Control of Machine Tools and Fabricating Devices (US Patent number 2,423,440). In de Neergaard’s patent, he proposes to automate a 3-axis vertical milling machine. In principle, de Neergaard’s device operates similar to the manipulators proposed by the Pollards as it 1) records the desired motions in analog format and 2) playbacks these motions as specified. We can trace this same idea of motion storage and motion retrieval to the automatic weaving looms invented by Joseph Marie Jacquard in 1801. In de Neergaard’s case, however, he uses a stylus connected to three backdrivable alternating current (AC) motors, as illustrated in Figure 1.7, to record the object’s shape. He then stores the waveforms from these motors on electro-magnetic tape. When de Neergaard sends these waveforms in coordinated fashion to the AC motors in his milling machine, the cutter head in his milling machine follows the same relative path as the recording stylus.
F IGURE 1.5 A Cincinnati Mk 1, Dial Type 3, vertical milling machine from the 1930s.
F IGURE 1.6 de Neergaard’s Automatic Control of Machine Tools and Fabricating Devices. US Patent number 2,423,440, filed on October 6, 1942.
6
Chapter 1: Introduction
F IGURE 1.7 de Neergaard’s stylus (item 59) attached to a backdrivable xyzCartesian manipulator with three alternating current motors.
1.3
Early Teleoperated Systems
F IGURE 1.8 John H. Payne, Jr., of General Electric Company, with his master-slave manipulator in 1948.
After World War II, the United States Atomic Energy Commission sponsors research at several locations to investigate both military and commercial use of atomic energy. Among these research sites, the General Electric Knolls Atomic Power Laboratory in Schenectady, New York and the Argonne National Laboratory in Argonne, Illinois receive funding to develop manipulators for handling radioactive substances. John H. Payne, Jr. leads the research effort at General Electric while Raymond C. Goertz leads the effort at Argonne. By late 1947, both of these efforts produce working prototypes of fully-mechanical master-slave manipulators.
7
1.3 Early Teleoperated Systems
F IGURE 1.9 General Electric’s “Tool Dolly,” a six degree-of-freedom hydraulically actuated remote manipulator developed for the Atomic Energy Commission in the late 1940s.
Payne’s device, illustrated in Figure 1.8, issues as US Patent Number 2,476,249 on July 12, 1949 (this patent has a filing date of November 24, 1948). This device consists of a transverse horizontal tube, mounted over a protective wall. The tube has two linkages, one attached on each end. One linkage carries an artificial hand or tool, whereas the other linkage carries an operator handle. When the operator moves the linkage with the handle, the linkage with the artificial tool moves accordingly. The operator handle has a pair of electric switches that controls two reversible electric motors: one controls wrist movement on the slave and the other controls movements on its elbow. Cables and counterweights allow motion of the artificial hand with minimum operator effort. A brake operated foot pedal controls the grasp. This device appears in several newspapers and magazines of the day, including Life Magazine (May 3, 1948) and Popular Science (June 1948). Along with Payne’s master-slave manipulator, General Electric also develops a hydraulically controlled, spherical geometry, six degree-of-freedom slave manipulator for use in the Atomic Energy Commission’s Hanford, Washington plutonium plant (Popular Science, August 1950). This manipulator weighs 5 tons, rolls on a steel track, and uses several endeffectors (mechanical grippers) for assembly and disassembly work (Figure 1.9). The research program led by Goertz at Argonne (ANL) lasts throughout the 1950s and into the 1960s. This program produces many models, including several fully electric versions. The first patent by Goertz issues on March 24, 1953 as US Patent Number 2,632,574 (this patent has a filing date of December 16, 1949). Figure 1.10 illustrates the ANL Model-1 experimental mechanical master-slave manipulator with Goertz as the operator. At the beginning of their research program, Argonne National Laboratories establishes a business relationship with Central Research Labo-
8
Chapter 1: Introduction
F IGURE 1.10 ANL Model-1 experimental mechanical master-slave manipulator, with Ray Goertz operating the master in 1948.
ratories (CRL) in Red Wing, Minnesota. CRL manufactures and sells the early devices developed at Argonne, and this company, now a subsidiary of DE-STA-CO, continues to sell variations of these early telemanipulators today. The telemanipulators described in this section each require a human operator to control a master manipulator that in turn moves a slave manipulator. These early telemanipulators consist primarily of mechanical linkages, and although later devices incorporate electric motors and provide force-reflection, these devices do not contain computers or automation of any type. The revelations in robot mechanics, control, programming, and hardware development lie ahead in the next decade.
1.4
The Emergence of Computer Numerical Control
After World War II, the United States Air Force invests in automating the manufacture of precision aircraft components. Although electric motor technology and control matures rapidly during the early part of the 19th century, no one, as yet, merges the computational power of the computer with the manufacturing versatility of a three axis milling machine. In 1949 the Parsons Corporation receives funding from the US Air Force to automate control of the milling machine, and Parsons, in turn, solicits help from the Servomechanisms Laboratory at the Massachusetts Institute of Technology (Reintjes [1991]). In 1952, the MIT Servomechanisms Laboratory and the Electronic
43
2.1
Introduction
D
URING EARLY INFANCY children learn how to grab and manipulate physical objects such as food and toys. Typically, this process of learning about the world requires the sense of touch, often sight, and sometimes hearing. Today, many robotic systems grab and manipulate objects with electronic analogs of touch, sight, and hearing such as force sensors, photo-electric sensors, and ultra-sonic sensors. To achieve such a high level of hardware and software integration, where a computer-controlled machine grabs and manipulates objects, we must develop a procedure to mathematically express the position and orientation of objects. Specifically, we must associate a coordinate system with the object in question, and then specify the position and orientation of this system relative to another coordinate system associated with the robot manipulator窶認igure 2.1 illustrates a depiction of this goal, which involves specifying the position and orientation of a coordinate system associated with a block relative to a
F IGURE 2.1 The position and orientation of a block relative to an end-effector.
44
Chapter 2: Rigid Body Transformations coordinate system associated with a robot end-effector. During our studies, we shall assume the robot manipulator, its immediate environment, and the objects designated for grasping consist of inflexible rigid bodies. Each of us have some understanding of the word “rigid,” as we first learned about “hard” and “soft” objects as children. Let us consider a mechanics-style definition by stating that a rigid body consists of a collection of n mass particles with their corresponding point locations P1 , P2 , . . ., Pn , where the distance dij between any two points Pi and Pj remains constant. Moreover, from this definition, we can conclude that within a rigid body the relative angles between any three distinct points Pi , Pj , Pk also remains constant. When a point moves from one position to another, we call this change in position a displacement. In this chapter we consider the spatial displacement for a collection of rigidly connected points. Generally speaking, these displacements occur via rigid body transformations, which satisfy the following definition: Definition 2.1: Rigid Body Transformation a) A rigid body transformation preserves the distances between any two points Pi and Pj . b) A rigid body transformation preserves the cyclic order or arrangement of three non-collinear points Pi , Pj , and Pk . Part b) of this definition arises because we shall eliminate all transformations that reflect points through planes; these reflections (mirror images), essentially, reverse the cyclic order or arrangement of any three noncollinear points. In practice, however, the standard construction materials such as aluminum, steel, and/or carbon graphite flex, bend, and vibrate. Consequently, our rigid body assumption, although fairly accurate in most cases, still represents hypothetical material behavior. This fact should not discourage nor deter us because many industrial manipulators still have exceptional positioning accuracies that allow for precise assembly of machines and other devices. In Section 2.2 we begin with a consideration of Cartesian coordinate systems, primarily to introduce notation for use throughout our studies. After this brief section, we next consider the mathematical framework for describing rigid body rotations; these rotation formulations then lead us to consider homogeneous transformations, a compact mathematical description that performs both rigid body rotations and rigid body translations in a single transformation. Finally, we conclude this chapter by considering the quaternion operator, an even more compact mathematical framework for describing rigid body rotations.
45
2.2 Cartesian Coordinate Systems
2.2
Cartesian Coordinate Systems
F IGURE 2.2 A Cartesian coordinate system O–xyz with an arbitrary point PA and its locating vector A.
x
In this section we review Cartesian coordinate systems and the basic properties vectors. As generally defined, a 3-dimensional Cartesian coordinate system consists of three intersecting and mutually perpendicular real number lines called the x, y, and z coordinate axes. In our studies we shall use the symbol O to designate the intersection for all three axes, the system’s origin; thus, O serves as a reference point with coordinates (x, y, z) = (0, 0, 0). We shall use the composite symbol O–xyz to refer to all aspects of a Cartesian coordinate system, including the origin O and the three coordinate axes x, y, z. We also shall use the terms coordinate system, Cartesian frame, and frame to denote either a 2- or 3-dimensional Cartesian coordinate system, with a 2-dimensional coordinate system denoted explicitly as O–xy. The x, y, z coordinate axes have bound to themselves the unit vectors i, j, k, respectively, with these three vectors forming a right-hand basis. The term right-hand basis, as opposed to left-hand basis, indicates the specific arrangement of i, j, k because two possibilities exist (see Figure 2.3(b)). Since the vectors i, j, k form a basis for O–xyz, collectively, these three vectors span all of 3-dimensional space—in other words, the unit vectors i, j, k allow us to reach any real point in 3-dimensions. When expressed as 3 × 1 column matrices, these unit vectors have matrix elements given by i=
1
0 ,
0
j=
0
1 ,
0
k=
0
0 .
1
In our studies, we also shall express column vectors in-line by separating each element with a comma and appending a superscript T (for transpose)
46
Chapter 2: Rigid Body Transformations
F IGURE 2.3 a) The “right-hand rule” for establishing the arrangement of the unit vectors i, j, k. b) A right-hand and a left-hand coordinate system. When reflected across one of the three principle planes, each represents a mirror image of the other.
to the right brace. This notation allows us to conserve page space, whenever possible. For instance, we can express these three unit vectors as i = {1, 0, 0}T ,
j = {0, 1, 0}T ,
k = {0, 0, 1}T .
All points have corresponding vector representations. For instance, the point PA (xA, y A, z A) in O–xyz has the vector representation
xA = xA i + yA j + zA k = {xA, yA, zA}T. For our purposes, the vector xA has its tail on the origin O and its head on the point PA ; therefore, xA emanates from O to PA , as illustrated in Figure 2.2. We must observe, however, that although PA and xA have the
same components, they represent two different types of geometric entities: PA a point, whereas xA a vector. This distinction may seem trivial, however, the vector representation embodies several properties and operations that we shall now review. We obtain the magnitude, or length, of xA as follows kxAk =
q
xA2 + y A2 + z A2,
(2.1)
where the pair of double vertical bars ‘k k’ on the left- and right-sides of xA signifies the magnitude of a vector quantity. As a result of the squares in Equation (2.1), the magnitude of any vector equals a positive scalar √ quantity. For real numbers we use a pair of single vertical bars |a| = a2 , which indicate the p absolute value (magnitude) of the real number a (for instance, | 3| = ( 3)2 = 3). When the vector xA represents the location for a point in Cartesian space, the magnitude kxAk represents a scalar distance. However, for
47
2.2 Cartesian Coordinate Systems other types of vectors, such as linear velocity v, angular velocity ω , force F, and moment M, the corresponding magnitude has the same units as the elements within the given vector. For instance, a force vector F = {2 N, 3 N, 6 N}T , with units in Newtons (N), has a magnitude k Fk =
q
(2 N)2 + (3 N)2 + (6 N)2 = 7 N
also with units in Newtons. Two arbitrary yet non-collinear vectors xA and xB that emanate from the same point define a plane IP, and the cross product between these two vectors produces a third vector perpendicular to IP. Let α represent the smallest positive angle from xA to xB , and define u as a unit vector that lies perpendicular to IP in the right-hand sense (Figure 2.4(a)). In other words, when we curl our right-hand fingers from xA to xB , the vector u lies in the direction of our right thumb. Similarly, when we curl our righthand fingers from xB to xA, the vector u also lies in the direction of our right thumb (Figure 2.4(b)). Let us now define the cross product of xA and xB, and the cross product of xB and xA, respectively, as
xA xB = kxAkkxBk sin α u, xB xA = −kxAkkxBk sin α u,
(2.2a) (2.2b)
where ‘ ’ denotes the cross-product operator. We observe that since
xA xB = −xB xA, the cross-product operation has a non-commutative quality. We also observe that α necessarily lies in the range 0◦ ≤ α ≤ 180◦ . In our studies, we primarily shall use the cross-product operation to find the velocities of points on rigid bodies and the moments of forces—in addition, we shall use the cross-product operation anytime we require a third vector with an orientation mutually perpendicular to two given vectors. When we use Equations (2.2a) and (2.2b) to find the various crossproduct pairings among the unit vectors i, j, k, we obtain the following nine basic rules: i
i=
0,
i
j = k,
i
j
i = −k,
j
j = 0,
j
k
j = −i,
k
k
i=
j,
k = −j, k=
i,
k = 0.
(2.2c)
F IGURE 2.4 a) The cross product of b) The cross product of
xA and xB. xB and xA.
48
Chapter 2: Rigid Body Transformations Here, we observe the cross product of any two distinct unit vectors i, j, k produces the remaining unit vector with a positive sign, or a negative sign, as prescribed by Equations (2.2a) and (2.2b). In addition, we also observe the cross product of any unit vector with itself produces the zero vector 0 = {0, 0, 0}T . When we now express xA and xB in terms of i, j, k, we obtain
xA = xAi + yAj + zAk, xB = xBi + yBj + zBk, and we can use the nine cross-product rules to show that
xA xB = (xAi + yAj + zAk)
(xB i + y B j + z B k)
= (y Az B − z Ay B )i + (z AxB − xAz B )j
+ (xAy B − y AxB )k.
(2.2d)
For two vectors xA and xB , we define their dot product as
xA xB = kxAkkxBk cos α,
(2.3a)
where ‘ ’ indicates the dot product operator. Typically, we define α as the smallest positive angle between xA and xB , which confines α to the range 0 ≤ α ≤ 180◦ . However, since cos α = cos( α) = cos(360◦ − α), in general, α may lie in the range 360 ≤ α ≤ 360◦ without causing any difficulties. When we use Equation (2.3a) to find the various dot product pairings among i, j, k, we obtain the following nine basic rules:
i i = 1,
i j = 0,
i k = 0,
j i = 0,
j j = 1,
j k = 0,
k i = 0,
k j = 0,
k k = 1.
(2.3b)
In view of these nine rules, we can express xA and xB in terms of i, j, k to obtain
xA xB = (xAi + yAj + zAk) F IGURE 2.5
x
Projecting a vector A onto the x and y axes.
(xB i + y B j + z B k)
= xAxB + y Ay B + z Az B .
(2.3c)
In robot mechanics we primarily use the dot-product operation to find the projection of a given vector xA onto the x, y, and z axes within a specific coordinate system. For instance, the projections of xA onto the x and y axes, respectively, have the following forms (Figure 2.5)
49
2.2 Cartesian Coordinate Systems
xA xA
i = kxAk kik cos α = kxAk cos α,
j = kxAk kjk cos (90◦ − α) = kxAk cos (90◦ − α) .
To conclude this section, we shall briefly review the parallelogram law of vector addition as illustrated in Figure 2.6. This elementary law specifies the sum of two vectors, xA + xB , must lie on one diagonal of a parallelogram while their differences, xB − xA and xA − xB , must lie on the other diagonal. This law holds in both 2- and 3-dimensional space, and it holds not only for position vectors but also for velocity vectors, acceleration vectors, force vectors, and moment vectors. We now shall consider an example that reviews how to use the cross and dot product vector operations.
F IGURE 2.6 The parallelogram law of vector addition.
Example 2.1 Review of Cross and Dot Products
Given two vectors xA = i + 2j + 3k and xB = 6i + 5j + 4k, find a) the cross product xA xB , b) the dot product xA
xB, and
c) the smallest positive angle α that lies in the region between xB .
xA and
50
Chapter 2: Rigid Body Transformations
Solution a) by using Equation (2.2d), we obtain
xA xB = [(2)(4) − (3)(5)]i + [(3)(6) − (1)(4)]j
+ [(1)(5) − (2)(6)]k
= −7i + 14j + 7k.
b) For the dot product, Equation (2.3c) produces
xA xB = (1)(6) + (2)(5) + (3)(4) = 28. c) We can find α from either Equation (2.2a) or Equation (2.3a). First, however, let us find the magnitudes p √ kxAk = 12 + 22 + 32 = 14, p √ kxB k = 62 + 52 + 42 = 5 3, q √ kxA xB k = ( 7)2 + 142 + 72 = 7 6. Since kuk = 1, Equation (2.2a) yields
√ √ kxA xB k 7 6 33 √ = sin α = = √ . kxAkkxB k 11 ( 14)(5 3)
Therefore, α = arcsin
√
33 11
!
≈ 31.4822◦ .
Let us now compare this value with the one we obtain by using Equation (2.3a), where α = arccos = arccos
xA xB kxAkkxB k ! 28 √ √ ( 14)(5 3)
≈ 31.4822◦ .
Hence, we have verified, at least for this example, that both equations produce the same value for the smallest positive angle that lies in the region between xA and xB .
51
2.3 Referencing Points Relative to Multiple Frames
2.3
Referencing Points Relative to Multiple Frames
F IGURE 2.7 Referencing a point PA in coordinate frames Oi –xyz and Oj –xyz.
Let us assume we have coordinate frames Oi –xyz and Oj –xyz, and an arbitrary point PA , as illustrated in Figure 2.7. In robot mechanics we must frequently express the position of points such as PA relative to both Oi –xyz and Oj –xyz. In general, since these two frames do not share the same origin nor the same orientation, the vector from Oi to PA differs from the vector from Oj to PA . In our studies we shall uniquely identify all vectors that emanate from a specific origin (or point) by attaching a unique subscript to the vectors themselves. As we observe in Figure 2.7, since each vector must have their tail located at their respective origin, and their head located at PA , we can use a vector’s head/tail location for identification purposes. These two markers, a vector’s head and tail, therefore, allow us to reference the location of a point relative to a specific coordinate system. We shall attach the subscript ‘head/tail’ to the vector’s right-side as illustrated in Figure 2.8, and we shall let the forward slash ‘/’ represent the word ‘relative.’ Thus, we can loosely translate the symbol xA/i as “x–A relative to O–i.” This relative notation allows us to unambiguously define a bound vector xA/B between two points PB and PA , as illustrated in (Figure 2.9(a)). A bound vector such as xA/B has a definite location in space, and we define its opposite, xB/A, as
xB/A = −xA/B. Figure 2.9(b) illustrates a sliding vector x and Figure 2.9(c) a free vec-
tor. Sliding vectors remain bound to a fixed line-of-action, whereas free
F IGURE 2.8 The notation employed to reference a point utilizes a vector’s head and tail locations, with the head referenced relative to the tail.
52
Chapter 2: Rigid Body Transformations
F IGURE 2.9 a) A bound vector has a definite location between two points in space. b) We can displace a sliding vector only along its line-of-action. c) We can displace a free vector anywhere in space.
vectors maintain their same orientation but have no constraints on their location. In most cases, we shall represent positions x, linear velocities v, and linear accelerations a as bound vectors; forces F as sliding vectors; and angular velocities ω , angular accelerations α, and moments M as free vectors. Let us return to Figure 2.7 and use our notation to express the location for PA relative to coordinate frames Oi –xyz and Oj –xyz. In Oi –xyz, PA has the bound vector representation
xA/i = xA/i i
i
+ y A/i ji + z A/i ki.
(2.4a)
Similarly, in Oj –xyz, PA has the bound vector representation
xA/j = xA/j i
j
+ y A/j jj + z A/j kj .
(2.4b)
These two vector expressions uniquely define the vector location of PA relative to Oi –xyz and Oj –xyz, respectively. When we choose to find the vector that specifies the location of Oj relative to Oi , xj/i, we can use the parallelogram law of vector addition to obtain
xj/i = xA/i − xA/j
= xA/i ii + y A/i ji + z A/i ki
− xA/j ij + y A/j jj + z A/j kj . Here, we observe, since the general orientations of Oi –xyz and Oj –xyz differ, then ii 6= ij , ji 6= jj , ki 6= kj . Hence, without further information concerning the relative orientation between these two coordinate systems, we cannot simplify this expression. To find the relationship between
53
2.4 Resolving Vectors Oi –xyz and Oj –xyz, we must resolve the vector triad ij -jj -kj within the Oi –xyz coordinate frame; or, alternately, we must resolve the triad ii-ji-ki within the Oj –xyz coordinate frame. The fundamental task of simplifying this last equation brings us to our next topic: resolving vectors in multiple coordinate systems.
2.4
Resolving Vectors
The verb form of the word resolve means “to separate into elementary parts.” In robot mechanics, when we resolve a vector, we express this vector in its elementary parts, or its basis—the i, j, k components within a given coordinate frame. The dot product operation between a given vector and the basis vectors within a desired coordinate frame achieves this goal. Consider the unit vectors ii, ji, ki associated with Oi –xyz: we shall denote the resolution of these unit vectors in Oi –xyz as i
ii =
1
0 ,
0
ji =
i
0
1 ,
0
i
ki =
0
0 .
1
In our notation, we observe that a superscript ‘i’ lies in front of the vector themselves; this superscript indicates the coordinate frame where we have resolved these vectors. Let us consider a few examples with this notation. In words, the sym1 bol i2 has the verbal translation “i–2 resolved in frame 1,” whereas the symbol 2xA/1 has the verbal translation “x–A relative to 1, resolved in frame 2.” In our studies, we use a superscript i in front of a vector/matrix whenever we resolve this vector/matrix in coordinate frame Oi –xyz. Let us now consider Figure 2.10, where the origins O1 and O2 coincide, the z 1, z 2 axes have a collinear relationship, and the angle between x2 and x1 equals α. A coordinate system-free representation for xA/2 has the form xA/2 = xA/2 i2 + yA/2 j2 + zA/2 k2. (2.5) Here, we observe that a coordinate system-free representation for a vector has no coordinate frame associated with its expression. However, when we resolve xA/2 in O2 –xyz we obtain 2
xA/2 = xA/2
2
i2 + y A/2 2j2 + z A/2 2k2
54
Chapter 2: Rigid Body Transformations
F IGURE 2.10 Resolving a vector in a specific coordinate system. 1
0
xA/2
0
= xA/2 0 + y A/2 1 + z A/2 0 = y A/2 . z 1 0 0 A/2
(2.6)
This result represents nothing new, as we have simply projected xA/2 into O2 –xyz with 2i2, 2j2, 2k2 as a basis. Our goal, however, involves resolving 2 xA/2 in O1–xyz, which involves projecting i2, j2, and k2 into O1–xyz: Figure 2.11(a) illustrates the projection of i2, and Figure 2.11(b) the projection of j2 (observe that k2 = k1). In Figure 2.11(a) we observe the angle between i2 and i1 equals α, the angle between i2 and j1 equals 90◦ −α, and the angle between i2 and k1 equals 90◦ . When we use these three angles to form the corresponding dot products, we obtain the projection of i2 in O1 –xyz as follows i2 i1
ki2kki1k cos α cos α ◦ 1 i2 = i2 j1 = ki2kkj1k cos (90 −α) = sin α . i k ki kkk k cos 90◦ 0 2 1 2 1
(2.7a)
In a similar fashion, we use the angles between j2 and i1-j1-k1, and the angles between k2 and i1-j1-k1 to obtain the projections of j2 and k2, respectively, in O1 –xyz as follows F IGURE 2.11 a) The projection of i2 into O1 –xyz. b) The projection of j2 into O1 –xyz.
1
j2 =
j i 2 1
j j
2 1 j k 2 1
=
◦ +α) kj kki k cos (90 2 1
− sin α
kj2kkj1k cos α cos α , = kj2kkk1k cos 90◦ 0
(2.7b)
55
2.4 Resolving Vectors k2 =
1
k 2 i1
k j
2 1 k k 2 1
=
◦ kk2kki1k cos 90
kk kkj k cos 90◦
2 1 kk kkk k cos 0◦ 2 1
=
0
0 .
(2.7c)
1
Now, to resolve xA/2 in O1 –xyz, we replace i2, j2, k2 in Equation (2.5) with 1i2, 1j2, 1k2 from Equations (2.7a)–(2.7c), producing 1
xA/2 = xA/2 i + yA/2 1
= xA/2
=
2
cos α
sin α
0
j2 + z A/2 1k2
1
+ y A/2
− sin α
cos α + z A/2 0 1 0
xA/2 cos α − y A/2 sin α
0
xA/2 sin α + y A/2 cos α . z A/2
(2.8)
As we observe this equation, the resolution of xA/2 in O1 –xyz depends on the coordinates xA/2, y A/2, z A/2 in O2 –xyz and the orientation angle α. Although Equations (2.6) and (2.8) produce two different expressions for xA/2, clearly, the equality k2xA/2k = k1xA/2k
must hold (see Exercise 2.5). Let us now consider a brief numerical example to further illustrate this topic.
Example 2.2 Resolving Vectors
a) Express the vector position for PA relative to, and resolved in, O2 –xyz.
56
Chapter 2: Rigid Body Transformations b) Resolve your answer from part a) in O1 –xyz—in other words, find 1 xA/2. c) In this example, does 1xA/2 equal 1xA/1?
Solution
a) The vector 2xA/2 gives the vector position of PA relative to, and resolved in, O2 –xyz; this vector has the components 2
xA/2
4
xA/2 = yA/2 = 2 cm. z
A/2
0
b) Substituting xA/2 = 4 cm, y A/2 = 2 cm, z A/2 = 0, and α = 30◦ into Equation (2.8) yields 1
◦ ◦ 4 cos 30 − 2 sin 30
2.4641
xA/2 = 4 sin 30◦ + 2 cos 30◦ cm ≈ 3.7321 cm. 0
0
c) Yes. Since the origins O1 and O2 coincide, and we observe that 1
2.5
F IGURE 2.12 The nine direction angles that specify the orientation of Oj –xyz relative to Oi –xyz.
xA/2 = 1xA/1.
The Direction Cosines Matrix
In Section 2.4 we learned a basic procedure for resolving a vector within a specific coordinate system. We have outlined these steps in Equations (2.6) through (2.8). In this section we generalize this process to form a matrix transformation that provides a compact and effective means to resolve vectors into any given coordinate system. In Figures 2.12(a)–(c) we have illustrated two coordinate frames Oi –xyz and Oj –xyz, whose origins lie coincident with each other. Similar to the projections given in Equations (2.7a)–(2.7c), we now shall project the unit vectors ij , jj , kj onto the axes in Oi –xyz; except this time we shall keep the angles between these axes arbitrary—we define these direction angles as αxx ≡ the smallest positive angle between ii and ij ,
αxy ≡ the smallest positive angle between ii and jj ,
αxz ≡ the smallest positive angle between ii and kj ,
127
3.1
Introduction
I
N C HAPTER 2 WE STUDIED RIGID BODY transformations with the primary intent of describing the mathematical relationship between two distinct coordinate frames. Through this process we learned that a homogeneous transformation has two fundamental components: a) one component that describes the relative spatial orientation between two coordinate frames and b) another component that describes the relative linear displacement between the origins of these same two frames. In this chapter we use the principle homogeneous transformations in Section 2.14.1 to specify the orientation and position (location) of a manipulator’s end-effector relative to a coordinate frame attached to the manipulator’s base. When we denote the end-effector frame as OE –xyz, and the aforementioned base frame as OB –xyz, then Figure 3.1 provides an illustration of this chapter’s main goal: to determine the location of OE –xyz
F IGURE 3.1 An illustration of our chapter goal: to find the location of an end-effector relative to a coordinate frame attached to the manipulator’s base.
128
Chapter 3: Forward Kinematics relative to OB –xyz. We shall derive this location in terms a manipulator’s joint variables. Through this process, we formally define a manipulator’s forward kinematics or direct kinematics. Although several schemes exist for determining a manipulator’s forward kinematics, in this chapter we consider the most popular: the classical Denavit-Hartenberg method (or DH method), as introduced for closed kinematic chains by Denavit and Hartenberg in 1955 and modified for open kinematic chains by Pieper and Roth in 1969. The robotics community has used the classical DH method and its variants for over four decades; overall, this broader class of DH methods have proven their usefulness in robot mechanics. In this chapter we provide instructions for finding the various DH parameters, and we also provide several examples that illustrate the entire process of finding the forward kinematics for a serial-chain manipulator.
3.2
Commonly Used Coordinate Frames
Before we consider our main topic, let us identify the coordinate frames associated with a manipulator’s forward kinematics. First, each manipulator link has a single coordinate frame, beginning at the base with link 0 and ending with link n at the end-effector, as illustrated in Figure 3.1 for a six joint, seven link, manipulator. In general, an n-joint manipulator has (n+1) link coordinate frames labeled O0 –xyz, O1 –xyz, O2 –xyz, . . ., On –xyz. Aside from these (n+1) link frames, we typically use several other frames to provide modularity in our forward kinematics formulation. Although the names of these frames vary considerably in the robotics literature, a typical list includes the following: 1) the global reference frame OR –xyz (also called the world or universe frame), 2) the base frame OB –xyz, 3) the wrist frame OW –xyz, 4) the end-effector frame OE –xyz, 5) the tool frame OT –xyz, 6) the station frame OS –xyz, and 7) the goal frame OG –xyz. Figure 3.2 illustrates possible locations for these frames, and the following paragraphs provide brief descriptions for each.
129
3.2 Commonly Used Coordinate Frames
F IGURE 3.2 An illustration with the locations for several commonly used coordinate frames (Kuka KR6 manipulator holding a deburring tool).
3.2.1
Global Reference Frame OR –xyz
The global reference frame OR –xyz usually has a fixed location, and its placement depends on many factors. A few considerations for its exact location include constraints such as the size (area/volume) of a manipulator’s workspace, the location(s) of tooling, the location of the assembly/work area, and the number of manipulators that cooperate within a single assembly workcell. For instance, an automobile assembly line comprised of several manipulators may have its global reference frame located near the beginning of a specific assembly process, with the base of each manipulator designated at a fixed location from OR –xyz along the assembly line. 3.2.2
Station Frame OS –xyz
The station frame OS –xyz has a role similar to the global reference frame, but on a local level. The station frame usually has a location near the assembly or manipulation area, and it also usually has a fixed location. For instance, an assembly line comprised of eight manipulators also will have eight station frames, with one station frame for each manipulator. (These eight manipulators, however, will share the same global reference frame.) An assembly task or a tool change usually has its trajectory specified relative to the station frame. The location of the station frame OS –xyz,
130
Chapter 3: Forward Kinematics relative to the global reference frame OR –xyz, has the homogeneous transformation TRS . 3.2.3
F IGURE 3.3 An illustration where OB –xyz and O0 –xyz have different locations ( the Stäubli Robotics Scara TS80 manipulator).
Base Frame OB –xyz
A serial-chain manipulator has a base link that provides support for the remaining links, serves as an enclosure for at least one motor/power transmission, and facilitates mounting the manipulator to a floor, wall, or mobile platform. The base has a frame OB –xyz whose location depends on the user’s preference. In addition to OB –xyz, the base also includes the frame O0 –xyz. As previously discussed, O0 –xyz has a close association with the other linkage frames labeled O1 –xyz, O2 –xyz, . . ., On –xyz. Although OB –xyz and O0 –xyz can have different locations as illustrated in Figure 3.3, often times, however, we shall specify that OB –xyz and O0 –xyz share the same location. The location of OB –xyz relative to the global reference frame OR –xyz has the homogeneous transformation TRB . When the global reference frame and the base frame have stationary locations, the elements within TRB have constant values. 3.2.4
Wrist Frame Ow –xyz
As discussed in Section 1.9.1, many manipulators with six degrees-of-freedom have sub-structures called the orientation structure, or wrist structure. All manipulators with spherical wrists have a point at the intersection of its three wrist axes called the wrist center, and this center has a special coordinate frame called the wrist frame OW –xyz. In this textbook, we shall attach the wrist frame OW –xyz to the first link of the orientation structure. 3.2.5
End-Effector Frame OE –xyz
All manipulators that perform useful work have end-effectors and/or tools attached to their terminal link. While the distinction between an endeffector and a tool varies, end-effectors can usually grasp, and possibly manipulate, objects. For this reason, many robotics practitioners often call the end-effector a gripper. Tools, on the other hand, have a special purpose such as welding, grinding, cutting, and shaping. We usually place the end-effector frame OE –xyz at a location that makes sense for the type of objects grasped or manipulated, and we specify
3.3 Denavit-Hartenberg Parameters its position and orientation relative to the wrist frame OW –xyz. The position and orientation of the end-effector frame, relative to the wrist frame, has the homogeneous transformation TW E . This transformation usually has constant values. 3.2.6
Tool Frame OT –xyz
Many manipulators use a variety tools, and every tool must have its own coordinate frame. This tool coordinate frame OT –xyz has a location appropriate for tasks the tool performs. For instance, a spot welding tool may have OT –xyz located at the spot welding tip. Usually, we specify the position and orientation of the tool frame OT –xyz relative to the wrist frame OW –xyz; this homogeneous transformation TW T also has constant values. W Since both TW E and TT have constant values, our primary task consists of formulating the forward kinematics between the wrist frame and the base frame, TBW . This modular process provides the necessary flexibility to incorporate multiple tool and/or end-effector changes without reformulating the forward kinematics each time we change the end-effector and/or tool. For every manipulator with six degrees-of-freedom in this textbook, we shall describe its forward kinematics as a transformation from the wrist frame to the base frame. 3.2.7
Goal Frame OG –xyz
The goal frame OG –xyz indicates the desired position and orientation of the end-effector frame OE –xyz or of the tool frame OT –xyz. We use the goal frame in a trajectory generator to determine the end-effector or tool path. Usually, we specify the location of the goal frame OG –xyz relative to the station frame OS –xyz.
3.3
Denavit-Hartenberg Parameters
In a manuscript entitled A Kinematic Notation for Lower-Pair Mechanisms Based on Matrices, Denavit and Hartenberg present a set of four parameters, along with a corresponding 4 × 4 homogeneous coordinate transformation matrix, for use in describing the kinematic properties of interconnected links in single-loop, closed-chain mechanisms (Denavit and Hartenberg [1955]). Specifically, these four parameters allow us to assign coordinate frames to each manipulator link, which facilitates a systematic determination of a manipulator’s forward kinematic equations. From an
131
132
Chapter 3: Forward Kinematics historical perspective, these four parameters, coupled with the matrix approach inherent within the DH method, brings to fruition Reuleaux’s desire to describe the kinematic properties of the six lower pairs symbolically (Reuleaux [1875]). A significant aspect of Denavit and Hartenberg’s manuscript focuses on the categorization of closed-chain mechanisms. This work, however, became known in the robotics community about 14 years after its publication when Pieper and Roth adapted the method to open kinematic chains in 1969. Similar to the goals prescribed by Denavit and Hartenberg, Pieper and Roth used the parameters to systematically characterize serial-chain robot manipulators. 3.3.1
The Geometric Relation Between Two Skew Lines
Before we consider the complete set of four DH parameters, we shall consider only the “bare bones,” the joint axes themselves. Recall from Section 1.8 that we used the notation R to represent the axis for a revolute pair and P the axis for a prismatic pair. In this current section, to simplify our discussion, we shall let the symbol J represent either of these two joint axes. Let us now assume that Ji and Ji+1 represent two serially-connected adjacent joint axes as illustrated in Figure 3.4(a). Let us further assume that Ji+1 lies skew (neither parallel nor intersecting) relative to Ji . With these two assumptions, we use the fact that, in general, two skew lines always have a unique mutual perpendicular or common normal, Ni , that intersects them both at right angles. With Pi representing the intersection point between Ji and Ni , and Pi+1 the intersection point between Ji+1 and Ni , the line segment Pi Pi+1 , defines the shortest distance between Ji and Ji+1 (see Exercise 3.1). Let ai represent the length of this segment, which we shall call the link length. Let us now consider the relative alignment between Ji and Ji+1 given by the link twist angle αi, as illustrated in Figure 3.4(b). With ai and αi defined, we can transform the joint axis Ji into the joint axis Ji+1 with the following two steps, in either order: 1) translate Ji parallel to itself a distance ai along Ni to Pi+1 —this gives us Ji0 ; F IGURE 3.4 The relative configuration of two skew joint axes Ji and Ji+1 requires only two parameters: ai and αi.
2) rotate Ji0 around Ni , in plane IPi , by αi—this gives us Ji+1 .
Hence, as Figure 3.4(b) illustrates, the length ai and the twist angle αi uniquely define the relative spatial arrangement between two skew joint axes Ji and Ji+1 . Of course, this scenario represents the most general case, and we shall consider the special cases later.
133
3.3 Denavit-Hartenberg Parameters 3.3.2
Link Coordinate Frames
F IGURE 3.5 Link frame Oi –xyz established relative to joint axes Ji and Ji+1 , according to the DH convention.
In Figure 3.4, link i maintains the relative spatial arrangement between joint axes Ji and Ji+1 , and we shall use this relative arrangement to establish the location for a link frame designated as Oi –xyz. After we have established a consistent location for this general case, we shall address the special cases that require us to make one of several choices. While a few possibilities exist for establishing the location of Oi –xyz, we shall use joint axis Ji+1 to establish the location z i, and common normal Ni to establish the location for xi; then, the location for y i follows naturally to form a right-hand coordinate system. This specific choice with Ji+1 and Ni allows us to create a single homogeneous transformation matrix that contains only the parameters for link i. This choice also forces Oi –xyz to move with link i. We can also use the combination Ji and Ni , or Ji and Ni−1 to establish Oi –xyz; however, with these two choices, we find a) the homogeneous transformation between Oi –xyz and Oi−1 –xyz contains parameters for two links: link i and link (i−1); or, b) Oi –xyz no longer moves with link i, it moves with link (i−1) instead. While these two possibilities have theoretical validity, we shall require Oi –xyz to move with link i; we also shall require the homogeneous transformation between Oi –xyz and Oi−1 –xyz to contain parameters for only link i. These two constraints leaves us with the choice originally made by Denavit and Hartenberg: use Ji+1 and Ni to establish the location for Oi –xyz. Figure 3.5 illustrates joint axes Ji−1 , Ji , and Ji+1 , their common normals Ni−1 and Ni , the link coordinate frames Oi –xyz and Oi−1 –xyz, and the DH parameters for link i: θi, di, ai, and αi. For the general case with
134
Chapter 3: Forward Kinematics three skew joint axes Ji and Ji+1 , we use the following procedure for establishing the location of Oi –xyz: 1) Place the z i axis collinear with the joint axis Ji+1 ; and
2) Place the xi axis collinear with the common normal Ni .
Here, we have not considered the fine detail for the exact orientation of positive z i on the Ji+1 axis, and the orientation of positive xi on the common normal. In general, we can orient positive z i either up or down as illustrated in Figure 3.5; however, positive xi should point away from Ji , or toward the right as illustrated in Figure 3.5. To establish the location for Oi−1 –xyz on link (i−1), we follow a similar procedure: 1) Place the z i−1 axis collinear with the joint axis Ji ; and
2) Place the xi−1 axis collinear with the common normal Ni−1 .
After establishing these two coordinate frames on their respective links, we observe the parameters θi and di arise in relation to this set up; these two parameters belong to link i, and when we combine them with ai and αi they form four independent parameters that allow us to find the homogeneous transformation from Oi –xyz to Oi−1 –xyz. The parameter θi represents the twist angle between xi−1 and xi, whereas the parameter di represents the distance along Ji (the common normal) between Ni−1 and Ni . Let us focus our attention on Figure 3.6, where we have replaced the joint axes Ji and Ji+1 with two revolute pairs Ri and Ri+1 , respectively. We shall now define the four link parameters as follows Denavit-Hartenberg Parameters a) θi, the joint rotational displacement (or joint rotational offset), represents the rotation of the common normal Ni around the z i−1 axis; b) di, the joint linear displacement (or joint linear offset), represents the shortest distance between the origin Oi−1 and the common normal Ni ; c) ai, the link length (or link offset), represents the shortest distance between the joint axes Ji and Ji+1 ; and d) αi, the joint axis twist angle (or twist angle offset), represents the angle between the z i − 1 and z i axes. In our studies we also shall use either the term structural parameter or variable parameter when referring to these four DH parameters. A manipulator’s structural parameters refer to the rigid construction of its links; the DH parameters that maintain the relative arrangements of Oi –xyz and Oi−1 –xyz—these values remain constant. On the other hand, a manipulator’s variable parameters refer to the DH parameters that serve as joint
135
3.3 Denavit-Hartenberg Parameters
F IGURE 3.6 The Denavit-Hartenberg parameters θi, di, ai, and αi for an intermediate link i.
variables—these parameters allow relative motion between two successive links. We always consider the link length ai and the link twist angle αi as structural parameters. However, the equally important parameters, θi and di, can represent either a variable parameter or a structural parameter. Specifically, when joint i represents a revolute pair, we consider θi a variable parameter and di a structural parameter, whereas when joint i represents a prismatic pair, we consider di a variable parameter and θi a structural parameter. From our discussion thus far, we conclude that an n-joint serial-chain manipulator has n variable parameters and 3n structural parameters. Hence, a manipulator with six joints has six variable parameters with 18 rigid structural parameters. The following two examples illustrate these concepts, which also includes use of a DH reference configuration. In this reference configuration, when θi represents the joint variable for a revolute pair, we require that θi = 0. (3.1) When a manipulator comprised entirely of revolute pairs lies in its DH reference configuration with θi = 0, i = 1, 2, . . . , n, we observe, from Figure 3.6, the xi-axes, i = 1, 2, . . . , n, all point in the same direction; we can achieve this alignment when two consecutive revolute pairs lie skew, parallel, or intersect. This occurs because the rotation angle θi allows us to rotate xi until this axis points in the same direction as xi−1. However, when we place prismatic pairs within our kinematic chain, this rule does not generally apply, as a prismatic pair has a constant value for θi. In our studies this DH reference configuration serves primarily as a visual aid; in
136
Chapter 3: Forward Kinematics practice, we can use this reference configuration for system initialization.
Example 3.1 DH Parameters from Inspection
The 2RP spherical manipulator has joint variables, θ1, θ2, d3, and a DH reference configuration as illustrated. In this reference configuration θ1 = 0◦ , θ2 = 0◦ , and the link frame axes x0, x1, x2, and x3 point in the same direction. Find the DH parameters for links 1, 2, and 3.
Solution To obtain the DH parameters for any manipulator, we examine each pair of adjacent coordinate frames Oi−1 –xyz and Oi –xyz. When the x-axes xi−1 and xi point in the same direction, this means θi = 0, which allows us to readily determine di, ai, αi from inspection. Link 1
Comparing the spatial orientation of O1 –xyz relative to O0 –xyz, we observe that θ1 ≡ variable,
d1 = 0,
a1 = 0,
α1 = 90◦ .
Link 2
Comparing the spatial orientation of O2 –xyz relative to O1 –xyz, we observe that θ2 ≡ variable,
d2 = 0,
a2 = 0,
α2 = 90◦ .
137
3.3 Denavit-Hartenberg Parameters Link 3
Comparing the spatial orientation and displacement of O3 –xyz relative to O2 –xyz, we observe that θ3 = 0,
d3 ≡ variable,
a3 = 0,
α3 = 0◦ .
Upon determining the complete set of DH parameters for any given manipulator, we typically organize our parameters in a table as illustrated below. link i
θi
di
ai
αi
1
θ1
0
0
90◦
2
θ2
0
0
90◦
3
0
d3
0
0◦
The next example illustrates a situation where a manipulator has a configuration other than its DH reference configuration. When we place this manipulator in its reference configuration, however, it becomes much easier to determine its DH parameters from inspection.
Example 3.2 DH Parameters from Inspection
A 3R spatial manipulator has four coordinate frames established according to the DH convention. The coordinate axes x1, x2, and x3 each lie along the center-line of their respective links. Find the DH parameters for
138
Chapter 3: Forward Kinematics links 1, 2, and 3.
Solution When we place this 3R spatial manipulator in its DH reference configuration with θ1 = θ2 = θ3 = 0◦ , we obtain the configuration given below.
With the x axes now pointing in the same direction, we can more clearly identify the requisite DH parameters; let us identify them on a link-by-link basis. Link 1
Comparing the spatial displacement of O1 –xyz relative to O0 –xyz gives us θ1 ≡ variable,
d1 = 51 mm,
a1 = 178 mm,
α1 = 90◦ .
Link 2
Comparing the spatial displacement of O2 –xyz relative to O1 –xyz gives us θ2 ≡ variable,
d2 = 0 mm,
a2 = 179 mm,
α2 = 90◦ .
Link 3
Comparing the spatial displacement of O3 –xyz relative to O2 –xyz gives
197
4.1
Introduction
T
O PLAN TRAJECTORIES for end-effector motion, a robotic system utilizes Cartesian coordinates, joint coordinates, or a combination of these two. Although both approaches have their advantages and disadvantages, in general, trajectories generated in joint space require less computer processing, and trajectories generated in Cartesian space guarantee the end-effector moves along a designated line or a designated path. A path planning approach that uses a mixture of Cartesian space objectives and joint space computations begins with the specification of several Cartesian locations T0E (t0 ), T0E (t1 ), . . ., T0E (tm ) for the end-effector at designated times t0 , t1 , . . ., tm (Figure 4.1). With these Cartesian locations, a trajectory planner determines the corresponding joint values that
F IGURE 4.1 Point-to-point Cartesian trajectories require a manipulator’s inverse kinematic solution.
198
Chapter 4: Inverse Kinematics place the end-effector at the specified Cartesian locations. For instance, at times t0 , t1 , . . ., tm , a trajectory planner would compute the joint vectors Θ(t0 ) = {θ1(t0 ), θ2(t0 ), . . . , θn(t0 )}T ,
Θ(t1 ) = {θ1(t1 ), θ2(t1 ), . . . , θn(t1 )}T , .. .. . .
Θ(tm ) = {θ1(tm ), θ2(tm ), . . . , θn(tm )}T
F IGURE 4.2 A manipulator’s forward and inverse kinematics form a cyclic process.
that correspond to the Cartesian locations T0E (t0 ), T0E (t1 ), . . ., T0E (tm ). With these joint vectors, a trajectory planner computes a joint-space trajectory that connects Θ(t0 ) with Θ(t1 ), Θ(t1 ) with Θ(t2 ), Θ(t2 ) with Θ(t3 ), and so on. To obtain these joint vectors, however, our trajectory planner also must contain a manipulator’s inverse kinematic solution. In this trajectory planning process, we observe that a manipulator’s inverse kinematic solution serves as a transformation from Cartesian coordinates T0E to joint coordinates Θ, similar to the notion that a manipulator’s forward kinematic solution serves as a transformation from joint coordinates Θ to Cartesian coordinates T0E . These two solutions, the forward kinematics and the inverse kinematics, when combined together, form a cyclic process as illustrated in Figure 4.2. In this chapter we illustrate how to determine the inverse kinematic solution for a variety of manipulators. This process involves solving a set of non-linear equations that contain the sines and cosines of the joint variables. Historically, researchers have used both analytical and numerical methods to formulate a manipulator’s inverse kinematics. The analytical methods provide closed-form explicit solutions for the joint variables, and we prefer these types of solutions whenever possible. The numerical methods, on the other hand, arose to address the difficulty of obtaining closed-form solutions. In this chapter we focus primarily on manipulators that contain closed-form solutions: these manipulators usually contain link twist angles with values αi = 0◦ , ±90◦ . We begin this chapter by introducing terminology (Section 4.2) and reviewing inverse trigonometric functions (Section 4.4). After these two introductory sections, we commence with our two main topics: a) geometric methods to obtain inverse kinematic solutions and b) algebraic methods to obtain inverse kinematic solutions. We illustrate both approaches in detail by way of several examples. At the end of this chapter (Section 4.14), we briefly consider the general and numerical approaches for obtaining a manipulator’s inverse kinematics.
199
4.2 End-Effector Position and Orientation
4.2
End-Effector Position and Orientation
F IGURE 4.3 An end-effector location specified in terms of the normal n, orientation o, approach a, and position p vectors.
In Chapter 3 we learned how to obtain the position and orientation of a manipulator’s end-effector relative to O0 –xyz on link 0 as follows T0E = A01 A12 · · · An−1 TnE , n
(4.1)
where Ai−1 represents the homogeneous transformation for link i, and TnE i a constant transformation from the end-effector frame OE –xyz to frame On –xyz on link n. When OE –xyz coincides with On –xyz, however, then TnE equals the identity matrix I4 , and we can re-express Equation (4.1) as T0E = T0n = A01 A12 · · · An−1 n .
(4.2)
In either equation, since Ai−1 depends on the joint variable for link i, the i 0 12 elements within TE (not including the last row) depend on n unknown joint variables. As previously mentioned, the primary goal of this chapter involves finding closed-form, symbolic expressions for these n unknown joint variables that place the end-effector at a given Cartesian location. Close examination of Equation (4.1) or (4.2) reveals we must equate T0E , the matrix of unknowns, with another matrix comprised of known values. In other words, we must form an equation that has unknowns on one side and knowns on the other. We shall designate this known transformation as
200
Chapter 4: Inverse Kinematics
F IGURE 4.4 The normal n, orientation o, and approach a vectors defined relative to an end-effector plane IPE .
T# E =
nx ox ax px ny oy ay py , nz oz az pz 0 0 0 1
(4.3)
where the first, second, third, and fourth columns within T# E represent the normal vector, orientation vector, approach vector, and position vector with components n = {nx, ny, nz}T , o = {ox, oy, oz}T , a = {ax, ay, az}T , p = {px, py, pz}T as illustrated in Figure 4.3. The superscript for T# E contains a number sign ‘#’ in our usual location for the final coordinate frame; this number sign indicates that T# E contains numerical values for the position and orientation of the end-effector frame OE –xyz relative to link 0 frame O0 –xyz. When we now place T0E on the left side of an equation, and T# E on the right side, our overall objective involves solving the system of 12 sub-equations derived from the matrix elements within the equality T0E = T# E.
(4.4)
Now, let us provide more detail on the terminology given by n, o, a (Paul [1981]), and define these vectors relative to an end-effector with two ‘fingers’ that move in-parallel. The ‘in and out’ motion of these two fingers define a direction, and the joint n axis defines another. With these two directions, we can define an end-effector plane IPE as illustrated in Figure 4.4; this plane contains the joint n axis and one set of lines that lie parallel to the direction of finger motion. With the plane IPE , we can then define the following vectors:
201
4.3 End-Effector/Tool Closure Equation Normal vector n a vector normal to the end-effector plane IPE (this vector defines the end-effector’s x-axis); Orientation vector o a vector that lies in the end-effector plane that assists with visualizing the end-effector’s orientation (this vector defines the end-effector’s y-axis); Approach vector a a vector that defines the end-effector’s approach toward objects (this vector defines the end-effector’s z-axis). Therefore, n, o, and a form a right-hand Cartesian coordinate system and we observe that a=n
o,
o=a
n,
n=o
a.
We shall use this terminology throughout the remainder of this chapter.
4.3
End-Effector/Tool Closure Equation
F IGURE 4.5 The global (OR –xyz), base (OB –xyz), link n (On –xyz), end-effector (OE –xyz), station (OS –xyz), and goal (OG –xyz) frames.
In this section we briefly consider how to determine the transformation T# E with known elements. In Section 3.2 we consider the global OR –xyz, base OB –xyz, end-effector OE –xyz, station OS –xyz, and goal OG –xyz frames as illustrated in Figure 4.5. We can describe the position and orientation of a manipulator’s endeffector, relative to the global reference frame, as the product of four homogeneous transformations: TRE = TRB TB0 T0n TnE .
(4.5)
202
Chapter 4: Inverse Kinematics For a manipulator with a stationary base, the transformations TnE , TB0 , and TRB each contain constant values; however, the transformation T0n depends on a manipulator’s joint variables, and Chapter 3 focuses on determining this transformation. Since T0E = T0n TnE , we can re-express Equation (4.5) as TRE = TRB TB0 T0E . (4.6) To compliment Equation (4.5), which goes through the manipulator itself, we require another set of transformations that specify the end-effector’s desired location, numerically. These transformations specify the desired position and orientation in terms of the goal frame, the station frame, and the global reference frame via the following transformations: 1) TRS : the transformation between the station frame and the global reference frame. Usually, this transformation has a constant value; 2) TSG : the transformation between the goal frame and the station frame. This frame represents the target. Although it does not have a constant value, it does have a known value. 3) TG E : the transformation between the end-effector frame and the goal frame. This transformation also does not have a constant value; however, it does have a known value. Typically, a trajectory generator generates this transformation as a function of time t. In equation form we have TRE = TRS TSG TG E.
(4.7)
We now observe that Equations (4.6) and (4.7) provide two relations that describe the position and orientation of the end-effector: a) one equation in terms of the manipulator variables and b) another equation in terms of the desired trajectory. By equating these two end-effector descriptions, we obtain the end-effector/tool closure equation (Paul [1979]) as follows End-Effector/Tool Closure Equation TRB TB0 T0E = TRS TSG TG E.
(4.8)
This fundamental relation may contain more or less transformations (for instance, in many cases TB0 = I4 ). For all cases, however, the position and orientation of the end-effector in terms of joint variables must equal the position and orientation of the object. By using Equation (4.8), we can obtain Equation (4.4) as follows T0E = TRB TB0
−1
0 B R S G TRS TSG TG E = TB TR TS TG TE
(4.9)
203
4.4 Inverse Trigonometric Functions Since the right side of this equation has a known value, we essentially have T0E = T# E. By using Equation (4.9), we can readily work out the details for a manipulator with n degrees-of-freedom. For instance, when n = 6, then T0E = T06 T6E , and we obtain 6 T06 = T# E TE
−1
= T# 6 ,
6 where T# 6 has a known value because TE also has a known value as described in Section 3.6.1. Hence, the end-effector/tool closure equation allows us to formulate the homogeneous transformation T# n with known values that we equate with our forward kinematics given by T0n .
4.4
Inverse Trigonometric Functions
90◦
θ 0◦
90◦
∞←z
0 z
F IGURE 4.6
z→∞
In Chapter 3 we learned that a revolute pair located at joint i creates a sine/cosine set {sin θi, cos θi} within a manipulator’s forward kinematic equations. Therefore, a manipulator with m revolute pairs has m sets of sines/cosines within its forward kinematics. In this section we briefly explore the consequences of using the inverse trigonometric functions arcsine, arccosine, and arctangent to obtain closed-form expressions for these joint angles θi. These three inverse trigonometric functions produce principal values that lie within a well-defined range. For instance, the arctangent function (Figure 4.6) has principal values that lie within the range [ 90◦ , 90◦ ], the arcsine function (Figure 4.7(a)) has values that lie within the range [ 90◦ , 90◦ ], and the arccosine function (Figure 4.7(b)) has values that lie within the range [0◦ , 180◦ ]. The ranges for these principal values creates a dilemma, however, because none of them covers an entire 360◦ . In addition to these limitations in principal values, the arcsine, arccosine, and arctangent functions create other problems in robotics applications, such as
Graph of the arctan function, where θ = arctan z.
204
Chapter 4: Inverse Kinematics
F IGURE 4.7
90◦
180◦
θ 0◦
θ 90◦
90◦
0◦
1
0 z
a) Graph of the arcsine function, where θ = arcsin z. b) Graph of the arccosine function, where θ = arccos z.
1
1
a
0 z
1
b
1) The arcsine and arcosine functions have infinite slopes at z = ±1, which makes computations near these values sensitive to round-off errors; 2) When θ = { ±90◦ , ±(3)(90◦ ), . . . , ±(2k + 1)(90◦ ) }, where k represents an integer, the function θ = arctan(y/x), for the point P(x, y), has singularities because P(x, y) lies on the y-axis with x = 0 (see Figure 4.8); and 3) The argument (y/x) for arctan(y/x), as a single number, does not indicate whether an angle lies in the 1st or 3rd quadrants, or whether + + an angle lies in the 2nd or 4th quadrants because the points x, y − −
+ −
and x, y have the same (y/x) value, and the points x, y and
− +
x, y also have the same (y/x) value.
The solution for these difficulties involves the following: 1) We must define values for θ when x = 0 and y 6= 0;
2) We must expand the available values for θ to include the two quadrants in the left-half plane. For instance, using Figure 4.8 as a guide, we can determine θ2 and θ3 in the second and third quadrants as follows θ2 = θ4 + 180◦ = arctan (y/x) + 180◦ ,
θ3 = θ1 − 180◦ = arctan (y/x) − 180◦ ; and
275
5.1
Introduction
T
HE DIFFERENTIALS AND TIME DERIVATIVES of ‘position’ and ‘orientation’ form the instantaneous kinematics for a rigid body1 . Since the first derivative of position with respect to time yields linear velocity, and the first derivative of orientation with respect to time yields angular velocity, we refer to linear velocity and angular velocity as first-order kinematics. Since the second derivatives of position and orientation with respect to time yield linear and angular accelerations, respectively, we refer to these latter quantities as second-order kinematics. We sometimes refer to position and orientation themselves, undifferentiated, as zerothorder kinematics. Higher order kinematic derivatives for position such as jerk (third-order) and jounce (fourth-order) also exist, although we shall not consider them in our studies. In this chapter we concern ourselves with the first-order kinematics for the terminal link n; namely, the linear velocity vn for the origin On as well as the angular velocity ω n for the frame On –xyz. When On –xyz lies on the end-effector, we have the first-order kinematic quantities as illustrated 1
Here, we casually apply the words ‘position’ and ‘orientation’ to rigid body motion.
F IGURE 5.1 The angular velocity ω n for On –xyz and the linear velocity vn for On .
276
Chapter 5: Instantaneous Kinematics in Figure 5.1. These two 3 × 1 vector velocities for the end-effector, ω n and vn, combine to form a 6 × 1 vector called the Cartesian velocity, or the Cartesian twist T. This Cartesian twist, in turn, depends on n scalar joint rates and 4n DH parameters for n moving links. Our major focus, therefore, involves deriving an expression that compactly describes the relationships between all these elements; this expression, essentially, transforms joint rates into the corresponding Cartesian twist, with the DH parameters embedded within the transformation itself. We call this transformation the manipulator Jacobian J, which has the form of a 6 × n matrix. Under special circumstances that we consider later, we can invert the manipulator Jacobian to form the reverse transformation: a transformation from the Cartesian twist to the corresponding joint rates. This inversion proves useful when we desire to determine the joint rates that move the end-effector with a specific Cartesian twist. The manipulator Jacobian plays a central role in manipulator kinematics, statics, grasping, and force control. In this chapter we interpret the manipulator Jacobian as a matrix of screw coordinates because screw theory provides a fundamental unification between instantaneous kinematics and statics, and thus, a fundamental unification in mechanics. This unification allows us to better understand singular configurations as well as the relationships between serial- and parallel-chain manipulators.
5.2
F IGURE 5.2 The relative positions of points OA , OB , and OC .
Relative Velocities
Before we derive the manipulator Jacobian, let us consider a few preliminary ideas and notation for use throughout this chapter. Here, we shall concern ourselves principally with expressing the relative linear velocities between two points, and the relative angular velocities between two rigid bodies (or correspondingly, between two coordinate frames attached to two rigid bodies). First, let us consider the relative linear velocities between two points. When expressing the relative linear velocity between two points, we shall use the same notation employed for expressing the relative position between two points. Recall, for points OA and OB , we use the forward slash, or solidus, ‘/’ to denote the word “relative.” Hence, xB/A means the vector position of point OB relative to point OA , a vector that emanates from OA toward OB as illustrated in Figure 5.2. In our studies, we also have used the parallelogram law to express the addition of two vectors xB/A and xC/B to obtain a third xC/A as follows
xC/A = xB/A + xC/B.
(5.1)
277
5.2 Relative Velocities
F IGURE 5.3 All coordinate frames associated with a specific link have the same relative angular velocity as the link itself.
The first derivatives of these relative position vectors with respect to time produce dxC/A dxB/A dxC/B = + , dt dt dt or vC/A = vB/A + vB/C , (5.2) where
vC/A =
dxC/A , dt
vB/A =
dxB/A , dt
vB/C =
dxC/B , dt
and vC/A represents the linear velocity of OC relative to OA , vB/A the linear velocity of OB relative to OA , and vC/B the linear velocity of OC relative to OB . The first time derivative of a rigid body’s orientation produces angular velocity. Instantaneously, we can show via Chasles’ Theorem this motion occurs around a single axis, and this motion applies to the aggregate of points within a rigid body, or to the field of points within a given coordinate frame. Hence, an entire rigid body and/or a coordinate frame has the prescribed angular velocity; therefore, unlike linear velocity which deals with specific points, the relative angular velocity applies to an entire link. Figure 5.3 illustrates links (i−1) and i serially connected with a helical pair. Attached to link (i−1) we have frame Oi−1 –xyz, and attached to link i we have frames OA –xyz, OB –xyz, and OC –xyz. When si represents a unit vector that lies along the positive z i−1 axis, and θ˙i the rate link i rotates relative to link (i−1), then, the angular velocity of link i relative to link (i−1) has the form
ω i/(i−1) = θ˙isi.
(5.3)
Since the frames OA –xyz, OB –xyz, and OC –xyz all move with link i, this means that
ω A/(i−1) = ω B/(i−1) = ω C/(i−1) = ω i/(i−1),
(5.4)
278
Chapter 5: Instantaneous Kinematics
F IGURE 5.4 The angular ω A/(i−1) and linear vA/(i−1) velocities combine to form the Cartesian twist TA/(i−1) of frame OA –xyz and its origin OA relative to the frame Oi−1 –xyz.
where the subscript A/(i−1) means the “the angular velocity of frame OA –xyz relative to frame Oi−1 –xyz,” the subscript B/(i−1) means the “the angular velocity of frame OB –xyz relative to frame Oi−1 –xyz,” and so on. Hence, the subscripts for relative angular velocity apply to specific links/frames, whereas the subscripts for relative linear velocity apply only to specific points. We can combine the relative linear velocity for a specific point OA with the relative angular velocity for an entire coordinate frame OA –xyz, which includes the single point OA itself, into a 6 × 1 vector called the Cartesian twist of frame OA –xyz and its origin OA relative to frame Oi−1 –xyz as follows ) ( TA/(i−1) =
ω A/(i−1)
vA/(i−1)
.
(5.5)
In our studies, we frequently refer to TA/(i−1) as simply the twist of OA –xyz relative to Oi−1 –xyz; however, this statement has less accuracy than the statement the twist of OA –xyz and its origin OA relative to frame Oi−1 –xyz 1 . In the next section, we use these definitions and terminology to derive the coordinates for a screw.
5.3
Screw Coordinates
Let us begin by considering Figure 5.5, which illustrates a helical pair at joint i, connecting links (i−1) and i in series. In this illustration we have coordinate frame Oi−1 –xyz, the origin OA located on link i, the position vector xA/(i−1), and the axis Hi for the helical pair. By Equation (5.4) we have the angular velocity of coordinate frame OA –xyz (not shown to better emphasize OA in this figure) relative to Oi−1 –xyz as follows
ω A/(i−1) = θ˙isi.
(5.6)
This figure also illustrates the helical path of OA as link i winds around the helical pair Hi . Therefore, the linear velocity vA/(i−1) of OA lies tan-
We also can refer to TA/(i−1) as the twist of A relative to Oi−1 –xyz, where ‘A’ refers to both OA –xyz and OA . 1
279
5.3 Screw Coordinates
F IGURE 5.5 The trajectory of OA relative to Oi−1 –xyz.
gent to a helix as illustrated. In fact, vA/(i−1) lies in a plane IPA that contains all lines through OA and tangent to a right cylinder that envelopes the helicoid—we shall call IPA the tangent plane at OA . In plane IPA , we can express vA/(i−1) with two components: one component vA/(i−1)k that lies parallel with si, and another component vA/(i−1)⊥ that lies perpendicular with si; in equation form we have
vA/(i−1) = vA/(i−1)k + vA/(i−1)⊥ .
(5.7)
The magnitude of vA/(i−1)k indicates the speed OA moves parallel with Hi , and we can use this value to define the helical pair’s pitch hi as follows kvA/(i−1)k k d d˙ hi = i = i = , (5.8) θi θ˙i θ˙i where d˙i = ddi/ dt and θ˙i = dθi/ dt. The relation given by Equation (5.8) holds provided θ˙i 6= 0; however, when θ˙i = 0, we have the case where the pitch equals infinity. In the following discussion, we assume θ˙i 6= 0, and we account for hi = ∞ later in Section 5.3.2. Therefore, we can write the parallel component as
vA/(i−1)k = kvA/(i−1)k ksi = hi θ˙isi.
(5.9a)
Focusing on the perpendicular component, we have
vA/(i−1)⊥ = ω A/(i−1) xA/(i−1) = θ˙isi xA/(i−1).
(5.9b)
280
Chapter 5: Instantaneous Kinematics By substituting Equations (5.9a) and (5.9b) into Equation (5.7), we now can express the linear velocity of OA in terms of its two components in plane IPA as follows
vA/(i−1) = hi θ˙isi + θ˙isi xA/(i−1).
(5.10)
Now, we shall combine Equations (5.6) and (5.10) to form the twist of OA –xyz relative Oi−1 –xyz as follows Twist of OA –xyz Relative to Oi−1 –xyz TA/(i−1) =
(
ω A/(i−1)
vA/(i−1)
)
= θ˙i = θ˙i
where
(
(
(
si
si
hi si + si
si sOi|A
)
xA/(i−1)
= θ˙isi|A,
)
si|A = sOi|A
)
(5.11)
(5.12a)
and
sOi|A = hisi + si xA/(i−1). (5.12b) In these relations, the symbol si|A represents the coordinates for screw si at OA . In general, si has a different set of coordinates at every point, and Example 5.1 illustrates this idea. Although the coordinates for si differs
at various points, its axis and its pitch exist independent of any coordinate system, set of coordinates, or a specific point in space. As defined by Ball [1900], a screw represents a pure geometric entity that consists of a line and a pitch. A screw’s coordinates also provide the means for determining the pitch; when hi 6= ∞, from Equation (5.12b), we have hi = si
sOi|a = si
(hi si + si
xA/(i−1)),
(5.13a)
provided si equals a unit vector as we have specified. However, when si si 6= 1, we must divide this relation by √si si to obtain
s sOi|A . si si
i hi = √
(5.13b)
The following examples illustrate a few computations with screw coordinates.
281
5.3 Screw Coordinates
Example 5.1 Screw Coordinates
The screw s1 has pitch h1 = 2 cm. Find the screw’s coordinates at PA (0s1|A), PB (0s1|B ), and PC (0s1|C ).
Solution Point PA
Since s1 lies on the z 0 axis with a positive orientation, it has a direction given by 0s1 = {0, 0, 1}T . To determine 0sO1|A, the impact of s1 at PA , we observe that 0xA/0 = {0, 3, 0}T cm, and using Equation (5.12b) we obtain 0
sO1|A = h10s1 +0s1 0xA/0 0
0
= (2 cm) 0 + 0 1 1
0
3 cm =
0
Therefore, s1 has coordinates at PA given by 0
−3
0 cm.
2
s1|A = {0s1; 0sO1|A}T = {0, 0, 1; −3 cm, 0 cm, 2 cm}T.
Point PB
At PB , s1 has the same direction 0s1, so we need to determine only the impact of s1 at PB ; here, we observe that 0xB/0 = {0, 0, −2}T cm; hence, 0
sO1|B = h10s1 +0s1 0xB/0 0
0
= (2 cm) 0 + 0 1 1
0
0 cm =
−2
0
0 cm.
2
282
Chapter 5: Instantaneous Kinematics Therefore, s1 has coordinates at PB given by 0
s1|B = {0s1; 0sO1|B}T = {0, 0, 1; 0 cm, 0 cm, 2 cm}T.
Point PC
To determine the impact of s1 at PC , we observe that 0
xC/0 = {−1, −2, 3}Tcm;
hence, 0
sO1|C = h10s1 +0s1 0xC/0 0
0
= (2 cm) 0 + 0 1 1
−1
−2 cm =
3
Therefore, s1 has coordinates at PC given by
2
−1 cm.
2
s1|C = {0s1; 0sO1|C}T = {0, 0, 1; 2 cm, −1 cm, 2 cm}T. This example illustrates that a general screw s has a different set of co0
ordinates for every point in space. These screw coordinates, essentially, specify the impact or affect of the screw at the given point.
Example 5.2 Helical Pair: Screw Coordinates
In robotics, we use the terms joint-screw and/or actuator-screw to describe the screw that acts at a specific joint within a robot manipulator. A
283
5.3 Screw Coordinates one-joint manipulator, or one-joint linkage, has a Cartesian twist given by 0T E/0
= {0ω E/0; 0vE/0}T
= {0 rad/s, 0 rad/s, 2 rad/s; −40 cm/s, 0 cm/s, 10 cm/s}T . Find the following: a) the joint rate θ˙1;
b) the joint-screw coordinates 0s1|E = {0s1; 0sO1|E}T ; and c) and the joint-screw pitch h1 .
Solution
First, separate the angular and linear velocities within 0 TE/0 as follows 0
ω E/0 = {0, 0, 2}T rad/s,
0
vE/0 = {−40, 0, 10}T cm/s.
a) We find the joint rate θ˙1 from the relation θ˙1 = |0ω E/0| =
p
02 + 02 + 22 = 2 rad/s.
b) We find the screw coordinates directly from Equation (5.11) as follows 0
0
s1 =
0
ω E/0 θ˙1
{0, 0, 2}T = {0, 0, 1}T , 2 {−40, 0, 10}T = {−20, 0, 5}T cm, = 2 =
sO1|E = vθ˙E/0 1 0 s1|E = {0, 0, 1; −20 cm, 0 cm, 5 cm}T. 0
c) Since ks1k = 1, we find the pitch from Equation (5.13a) as follows h1 = 0s1
0
sO1|E = 5 cm.
We now shall shift our discussion from the general helical pair to revolute and prismatic pairs as these two latter kinematic pairs form the joints of robot manipulators. 5.3.1
Case 1: Revolute Pairs (hi = 0)
For a revolute pair, we have hi = 0, and substituting this value into Equation (5.11) gives us the twist of OA –xyz relative to Oi−1 –xyz as follows
284
Chapter 5: Instantaneous Kinematics Revolute Pair: Twist of OA –xyz Relative to Oi−1 –xyz TA/(i−1) =
(
ω A/(i−1)
vA/(i−1)
)
= θ˙i
(
si si xA/(i−1)
)
= θ˙i
(
si ) . sOi|A
(5.14)
The following example illustrates how to determine the screw coordinates for a revolute pair that acts as a joint-screw.
Example 5.3 Revolute Pair: Screw Coordinates
Use screw coordinates to find an expression for the angular velocity of OE –xyz and the linear velocity of OE relative to the base frame O0 –xyz.
Solution
For this example we shall resolve s1 and sO1|E in the base frame. Since s1 lies on the z0-axis, we have 0s1 = {0, 0, 1}T. To determine 0sO1|E, we require the position vector 0xE/0, which we obtain from the fourth column of the A-matrix
A01 =
Cθ1 − Sθ1 Sθ1 Cθ1 0 0 0 0
0 a1 Cθ1 0 a1 Sθ1 . 1 0 0 1
Hence, 0xE/0 = {a1 Cθ1, a1 Sθ1, 0}T . Subsequently, we obtain 0sO1|E from the cross product 0
0
sO1|E = 0s1 0xE/0 = 0 1
a1 Cθ 1
−a1 Sθ 1
a1 Sθ1 = a1 Cθ1 . 0 0
333
6.1
Introduction
S
TATICS BELONGS TO A BRANCH OF MECHANICS that deals with the equilibrium of forces acting on a rigid body. In robot mechanics, a static analysis provides useful information about the torques/forces that act at each joint and on each link, which has applications in design as well as in control. For instance, in mechanical design, we could use the results of a static analysis to determine the appropriate bearings for the shafts at each joint. In addition, we could also use the results of a static analysis as the prologue for a stress analysis on each link. In control, we could use the results of a static analysis to determine the torques/forces required by a manipulator to lift a specific object, or to apply a specific force on an
F IGURE 6.1 Equal and opposite forces balance each other in static equilibrium.
334
Chapter 6: Statics object, thereby providing information for a force-controller. In this area of statics analysis, the techniques with frequent use include free-body diagrams and the principle of virtual work. A static analysis via free-body diagrams, however, requires detailed knowledge of a manipulator’s sub-components such as shafts and bearings as well as knowledge of the gear transmission at each joint. In this chapter, we avoid these intricacies by employing the principle of virtual work, which allows us to obtain the required joint torques/forces more directly, without details of a manipulator’s mechanical design. In this chapter, we also consider topics in screw theory such as a wrench on a screw, the virtual product between a wrench and a twist, and the duality between instantaneous kinematics and statics. By undertaking the virtual product in this chapter, we utilize an effective means to determine a manipulator’s joint torques/forces for static equilibrium, and we also lay a foundation for fully understanding singular configurations and reciprocal screw systems in Chapter 7. By considering the topic of duality, we move one step forward to understanding the relationship between serial and parallel manipulators. We begin this chapter by reviewing several fundamental notions in statics, which provides background material for Section 6.3, where we illustrate a process that allows us to reduce a system of forces/moments into a single wrench. Afterward, we then proceed to work out the details and formulations that allow us perform a static analysis on a serial-chain manipulator.
6.2
F IGURE 6.2 A force F with its line-of-action.
Fundamental Notions
In 1847 Louis M. Poinsot, in his treatise Éléments de statique (The Elements of Statics), assembled for the first time in recorded history the fundamental axioms, corollaries, theorems, and lemmas of statics in mathematical form. We find most of these ideas spread throughout our modern textbooks on statics (see for instance Beer and Johnston [1984]). In this section we make no attempt to cover all the details of statics as studied in a course on this topic; here, we primarily consider the necessary ideas that allow us to express a system of forces/moments as a single wrench. In this section we seek to determine the resultant of two skew forces acting on a rigid body in static equilibrium. We shall define a few terms, and we also shall cover a few axioms, corollaries, and theorems1 that allow us to simplify a system of forces and moments to a single force and a single moment. 1
We have taken several terms, axioms, corollaries, and theorems from Poinsot’s treatise, and we have expressed them within a more modern context.
335
6.2 Fundamental Notions Definition 1: The field of statics deals with the equilibrium and balance of forces that act on rigid bodies. In statics, we usually consider rigid bodies with no motion, or at rest. Definition 2: A force represents an entity that impresses it effects on a rigid body. In mechanics, an unbalanced force causes a rigid body to move and accelerate. A force acts at a specific point, in a specific direction, and with a specific magnitude; therefore, a force behaves like vector. Definition 3: A force’s line-of-action goes through its point of application, and this line-of-action has the same direction/orientation as the force itself.
F IGURE 6.3 Axiom 1: the sum of two forces F1 and F2 .
Axiom 1: Two forces F1 and F2 that act through a point PA create a resultant force F = F1 + F2 that also acts through PA . Axiom 1, Corollary 1 (the Parallelogram Law): This resultant F lies on the diagonal of a parallelogram formed with F1 and F2 as sides; therefore, F lies in the same plane as F1 and F2 . We shall use Axiom 1 to “reduce” a system of forces that act at a point to a single force through that same point. F IGURE 6.4 Axiom 2: two “equal and opposite” forces balance the effects of each other.
Axiom 2: Two “equal and opposite” forces applied at the same point “balance” each other and exist in static equilibrium. Axiom 2, Corollary 1: Two equal and opposite forces applied anywhere on the same line-of-action exist in static equilibrium. Axiom 2, Corollary 2: Therefore, a force has the same effect if applied at any point on its line-of-action. Axiom 2 embodies the fundamental idea of static equilibrium: the two forces that oppose each other must also lie on the same line-of-action.
336
Chapter 6: Statics
F IGURE 6.5 Theorem 1: the sum of two parallel forces.
Theorem 1: When two parallel forces F1 and F2 , with the same direction, act at points P1 and P2 , respectively, we assert that 1) Their resultant equals F = F1 + F2 ; 2) The resultant F has a line-of-action that intersects the line −−−→ P1 P2 , and it also lies between the points P1 and P2 ; and 3) The resultant F lies parallel with F1 and F2 . This theorem allows us to reduce two parallel forces into a single force. We require this theorem because Axiom 1 applies only for two forces that go through the same point. We can prove Theorem 1 with Axioms 1 and 2 (see Exercise 6.1). F IGURE 6.6 Definition 3: two parallel yet opposite forces, not on the same line-of-action, define a couple.
When two parallel forces have opposite directions and do not lie on the same line-of-action, we cannot reduce them to a single force. We replace a pair of forces such as this with another entity called a couple, defined as follows: Definition 3: Two parallel and opposite forces, not on the same line-ofaction, create a couple. Definition 4: The plane of a couple contains the lines-of-actions for the two forces. Definition 5: The moment M of a couple lies perpendicular its plane. The moment of a couple consists of a vector quantity, whose magnitude equals k Mk = dk Fk, where d represents the minimum distance between the line-of-actions for the two forces.
337
6.2 Fundamental Notions
F IGURE 6.7 Definitions 4 and 5: the plane of a couple and its corresponding moment M.
Axiom 3: We can move a moment to any location within its own plane, or to any other parallel plane, without altering its effect. Axiom 3, Corollary 1: We can transfer any two moments M1 and M2 to the same point, which allows us to determine their sum M = M1 + M2 . In general, M has a plane that differs from both M1 and M2 . Axiom 3, Corollary 2: We can move the sum M to any location within its own plane, or to any other parallel plane, without altering its effect.
F IGURE 6.8 Theorem 2: the sum of two skew forces.
Theorem 2: Any two skew forces F1 and F2 give rise to a resultant F = F1 + F2 at some point P and a moment M that depends on the location of a P itself. We can prove Theorem 2 using the axioms previously given; in the following example, we illustrate how to use this theorem.
338
Chapter 6: Statics
Example 6.1 An Illustration of Theorem 2 In this example we illustrate how to apply Theorem 2 by reducing F1 and F2 in Figure 6.8 to a single force at P2 and a moment M.
Solution
By Axiom 2, at P2 apply the equal and opposite forces F1 and F1 . Since these two forces exist in static equilibrium at P2 , they do not alter the resultant of F1 and F2 . By Axiom 2, Corollary 2, slide F2 along its line-of-action to P2 ; this gives the figure labeled (a) illustrated below.
Now, sum F1 and F2 at P2 to obtain the resultant F = F1 + F2 . This now leaves the couple F1 and F1 separated by a distance d. Therefore, the resulting moment M lies perpendicular to the plane defined by these two vectors. This moment has a magnitude k Mk = dk F1 k. To express M as a vector, let us define d= In turn, this gives
d F2
F1
k F2
F1 k
M=d
F1 .
.
339
6.3 A Wrench on a Screw
6.3
A Wrench on a Screw
F IGURE 6.9 All points within a rigid body that do not lie on the force’s line-of-action L experience a force F and a moment M.
When a pure force F acts on a rigid body, whether in static equilibrium or in dynamic motion, this force affects the rigid body in two fundamental ways: a) All points within the rigid body that lie on the force’s line-of-action L experience only a pure force F. b) All points within the rigid body that do not lie on the force’s lineof-action experience a force F and a moment M, determined by the minimum distance between the specified point and the force’s line-of-action.
When PA represents a point not on L, and xL/A a vector from PA to an arbitrary point on L, the moment of F at PA has the form MA = xL/A
F.
(6.1)
Hence, the point PA experiences both a force F and a moment MA , as described by item b) in the previous paragraph. Let us now consider a rigid body acted on by a system of n forces F1 , F2 , . . ., Fn and m moments M1 , M2 , . . ., Mm as illustrated in Figure 6.10: this system may or may not exist in static equilibrium. With this scenario, each force Fi behaves as a sliding vector with a definite line-ofaction Li ; however, each moment Mj behaves as a free-vector, movable to any location. We can simplify this force/moment system to a single resultant force and a single resultant moment at any specific point: the former process we call the summation of forces or the composition of forces, whereas
340
Chapter 6: Statics
F IGURE 6.10 A system of forces and moments acting on a rigid body.
the latter process we call the summation of moments or the composition of moments. Let us find this resultant force and resultant moment at some arbitrary point PA as follows F = F1 + F2 + · · · + Fn ,
(6.2a)
MA = M1 + M2 + · · · + Mm + x1/A
F1 + x2/A
F2 + · · · + xn/A
Fn .
(6.2b)
In these two relations, the resultant force F equals the sum of all forces F1 , F2 , . . ., Fn , whereas the resultant moment MA equals the sum of all moments M1 , M2 , . . ., Mm plus the sum of moments for the forces F1 , F2 , . . ., Fn at PA . When combined as a single entity, we call this resultant force F and resultant moment MA a wrench that acts on the rigid body (Figure 6.11). At PA , this wrench has the form F IGURE 6.11 The force/moment system in Figure 6.10 reduced to a single force and a single moment that acts at PA .
WA =
(
)
F . MA
(6.3)
In this expression for WA , the force F occupies the first three elements, whereas the moment MA occupies the last three elements. We have made no mistake here. We have chosen this arrangement to coincide with the duality that exists between instantaneous kinematics and statics. This duality prescribes a correspondence between angular velocities ω and forces F, as well as between linear velocities v and the moments of forces M. We illustrate this correspondence later in this section and more fully in Section 6.8. This wrench, however, has a physically simpler expression that we now shall consider: this expression formulates the wrench at a point where the resultant force and resultant moment have the same orientation, thereby lying along the same axis.
341
6.3 A Wrench on a Screw Generally, when both F and MA have non-zero values, the force F has an orientation that differs from MA . However, we can, with a few steps, find another point PB where F lies collinear with the moment MB . At this location the wrench has its simplest expression: a pure force and a pure moment acting on the same wrench axis. Aside from this general case when both F and MA have non-zero values, we obtain four variations that affect the final location of this wrench axis. When we exclude the trivial case with F = 0 and MA = 0 from consideration, we obtain the following possibilities: a) When F = 0, PB ≡ PA and we obtain a pure moment MA at PA —although MA defines the wrench axis, since MA represents a free-vector, this axis has no definite location in space; b) When MA = 0, PB ≡ PA and we obtain a pure force F at PA —the wrench axis lies along F and through PA ; c) When MA lies parallel with F, PB ≡ PA and we obtain a pure force F and a pure moment at PA —the wrench axis lies along both F and MA and through PA ; and d) When MA lies perpendicular with F, we obtain a pure force F at PB —the wrench axis lies along F and through PB . Let us now focus our attention on Figure 6.12. Here, we have assumed the general case with F 6= 0 and MA 6= 0, and we have created the plane IP that contains both F and MA . With this general case we can express MA as two vectors that lie in IP: one vector Mk parallel with F, and another vector M⊥ perpendicular with F. Thus, MA = Mk + M⊥ .
F IGURE 6.12 The moment MA in Figure 6.10 expressed as two orthogonal moments Mk and M⊥ that lie in the plane IP.
(6.4)
We now shall express Mk and M⊥ in terms of F and MA —these relations will assist us in solving problems of this type. Let s represent a unit vector in the direction of F. We now can project MA onto s to obtain Mk , and we can find M⊥ by subtracting Mk from MA , via Equation (6.4):
s = k FFk , Mk = (MA s) s,
(6.5)
M⊥ = MA − Mk .
We now shall focus on eliminating M⊥ from our set of working equations. In Figure 6.12 we observe that L⊥ lies collinear with M⊥ , and LB lies orthogonal with both L⊥ and F. We can eliminate M⊥ from consideration by expressing the resultant force and resultant moment at PB , a distance d from PA yet on LB given by d=
kM⊥ k . k Fk
(6.6)
F IGURE 6.13 The elimination of M⊥ from consideration by finding the force/moment at another point PB .
342
Chapter 6: Statics In turn, this relation gives kM⊥ k = dk Fk. To find the location of PB on the correct side of L⊥ , however, let us define the unit vector ud =
F IGURE 6.14 Specifying the location of PB via the cross product F M⊥ .
F kF
M⊥ . M⊥ k
(6.7)
This formulation places PB at dud away from PA , on LB , as illustrated in Figure 6.14. At this location, PB , we observe that M⊥ = dud
F
As we now observe, via Figure 6.13, at PB we have a force F collinear with a moment Mk . We now shall demonstrate the wrench axis defines the axis for a screw s with pitch h. Let us define F = k Fk, M = kMk k, and the pitch of this screw as h=
kMk k M = . k Fk F
(6.8)
Then, for a right-hand screw F = F s,
Mk = M s = F h s,
whereas for a left-hand screw F = F s,
Mk = −M s = −F h s.
In the following discussion, we shall assume s has a right-hand thread, leaving the details for a left-hand thread as a mere sign change on Mk . We can now express the wrench that acts on the screw s as WB =
(
F Mk
)
=
(
Fs Ms
)
=F
(
)
s hs
= F s|B ,
(6.9)
where F denotes the wrench intensity (or wrench amplitude), and s|B the coordinates of s at PB . Here, we observe the wrench intensity has units of force, either Newtons for the metric system or pounds for the Imperial system. Since the moment M has units of [length]×[force], the pitch h has its customary units of [length]. When a wrench with an intensity F acts on a screw s, we shall illustrate this combination as
387
7.1
G
Introduction
ENERALLY SPEAKING , A SERIAL - CHAIN MANIPULATOR has spatial freedom commensurate with its number of joints. For instance, a two-joint serial-chain generally has two spatial freedoms, a three-joint serial-chain generally has three spatial freedoms, and a six-joint serialchain generally has six spatial freedoms. Fortunately for robotics this rule normally applies. When a manipulator loses a spatial freedom, due to the relative arrangement of its joint axes, it experiences a singularity—appropriately named because a manipulator’s inverse kinematic solution and its inverse Jacobian formulation both contain a singular expression, an expression that contains division by zero. For the inverse Jacobian formulation, this division has the form f (Θ)/ det J, where f (Θ) represents a function of the joint variables and the solution for the equation det J = 0 denotes the singular configuration(s). In this chapter we explore the mechanics of singular configurations using screw theory. In our studies we have already learned how to apply screw theory to determine a manipulator’s instantaneous kinematics and its conditions for static equilibrium: the joint-screws provide kinematic freedom at the end-effector and they also provide the required joint torque for static equilibrium. Curiously, when viewed from a screw theory perspective, singular configurations combine the ideas of instantaneous kinematics and statics into a single idea via the concept of reciprocal screws. When a manipulator loses spatial freedom along some screw, it simultaneously loses the capacity to apply a wrench on the same screw. This screw, thereby, has a reciprocal relationship with a manipulator’s joint-screws: the virtual products of this screw and the joint-screws vanish. This reciprocal screw also has great importance in force control. We begin this chapter by considering the rank of the Jacobian matrix
388
Chapter 7: Singularities and its relation to the linear dependence of its constitutive joint-screws. From there we make an important connection between the matrix of Jacobian cofactors and the reciprocal screw that manifests at a singular configuration. After making this connection, we then illustrate how to apply these ideas to six degree-of-freedom manipulators. For manipulators with less than six degrees-of-freedom, we illustrate how to find the singular configurations as well as the corresponding reciprocal screws.
7.2
Jacobian Rank
The screws s1, s2, . . ., sn form a linearly dependent set when one of them equals a linear combination of the others. For instance, when given a set of scalars {λ1, λ2, . . . , λ6}, with λ6 6= 0 and at least one other λj 6= 0 (j 6= 6), and (7.1a) s6 = λλ1 s1 + λλ2 s2 + λλ3 s3 + λλ4 s4 + λλ5 s5, 6 6 6 6 6 the screws s1, s2, . . ., s6 form a linearly dependent set. Since this relation gives s6 as a linear combination of the remaining five screws, all six screws form a linearly dependent set. Stated differently, when we have λ1s1 + λ2s2 + λ3s3 + λ4s4 + λ5s5 − λ6s6 = 0,
(7.1b)
with not all λj = 0, then s1, s2, . . ., s6 also form a linearly dependent set. Conversely, if we cannot express a single screw as a linear combination of the others, as in Equation (7.1a), the screws form a linearly independent set. Alternately, if the only solution for Equation (7.1b) has λ1 = λ2 = · · · = 0, the screws s1, s2, . . ., s6 also form a linearly independent set. These two approaches form the foundation for ascertaining both linear dependence and linear independence. The rank of the manipulator Jacobian (or rankJ) equals the number of linearly independent joint-screws contained therein. We can find this rank using one of several methods. The three most popular include: a) using det J (applies only for n × n matrices) to determine whether or not rankJ = n, b) Gaussian elimination, and c) determining the largest nonzero minor within J. Here, we focus on finding the largest non-zero minor within J, so let us define the meaning of minor. When the Jacobian has the form
J11 J12 · · · J16 J 21 J22 · · · J26 J= . .. .. . . .. J61 J62 · · · J66
389
7.2 Jacobian Rank we define the minor Mij for the element Jij as the determinant of a 5 × 5 matrix formed by omitting the ith row and the jth column from J. For instance, when we omit the first row and first column from J, we obtain the 5 × 5 minor
M11
J22 J 32 = det J42 J52 J62
J23 J33 J43 J53 J63
J24 J34 J44 J54 J64
J25 J35 J45 J55 J65
J26 J36 J46 , J56 J66
and when we omit the third row and fifth column from J, we obtain
M35
J11 J 21 = det J41 J51 J61
J12 J22 J42 J52 J62
J13 J23 J43 J53 J63
J14 J24 J44 J54 J64
J16 J26 J46 . J56 J66
In both cases, M11 and M35 , we obtain a single real number, sometimes zero, sometimes not. When Mij 6= 0, this indicates the 5 columns within the corresponding sub-matrix form a linearly independent set with rank 5 (this occurs because Mij equals the determinant for a 5 × 5 matrix), which, in turn means the corresponding 5 columns within J also form a linearly independent set with rank 5. For instance, when M11 6= 0, then columns 2, 3, 4, 5, 6 of J form a linearly independent set; when M35 6= 0, then columns 1, 2, 3, 4, 6 of J also form a linearly independent set with rank 5. On the other hand, when Mij = 0, we cannot make broad statements about the corresponding 5 columns within J. However, when we gather all the minors within J to form the matrix of minors
M11 M12 · · · M16 M21 M22 · · · M26 M= .. .. .. , . . . M61 M62 · · · M66
and an entire column j has Mij = 0, this means the rank of the corresponding 5 columns of J falls below 5 to either 1, 2, 3, or 4. When an entire column within M contains all zeros, we also can determine the columns within J that form a linearly dependent set.
390
Chapter 7: Singularities For instance, when
M11 M21 M M = 31 M41 M51 M61
0 0 0 0 0 0
M12 M22 M32 M42 M52 M62
M14 M24 M34 M44 M54 M64
M15 M25 M35 M45 M55 M65
0 0 0 , 0 0 0
then, focusing individually on each column, we obtain, respectively, 1st column 2nd column 3rd column 4th column 5th column 6th column
n
o
s2, s3, s4, s5, s6 = 5, n o rank s1, s3, s4, s5, s6 = 5, n o rank s1, s2, s4, s5, s6 ≤ 4, n o rank s1, s2, s3, s5, s6 = 5, o n rank s1, s2, s3, s4, s6 = 5, n o rank s1, s2, s3, s4, s5 ≤ 4. rank
Since screws s3 and s6 lie in each of the four sets with rank 5, we can conclude these two screws together have rank 2. Therefore, the remaining screws s1, s2, s4, s5 together must have rank 3, which means these four screws form a linearly dependent set. In this case we observe these four screws form the non-zero columns of M. From this discussion, we conclude the following: When M has at least one column of zeros, the non-zero columns within M indicate the columns within J that form a linearly dependent set. The following example illustrates this idea.
Example 7.1 Rank of OAM in Singular Configuration The Jacobian for the offset articulate manipulator in its DH reference configuration (Figure 3.19) has the following elements
6 J6 =
0 0 0 0 0 0 0 −1 −1 0 −1 0 1 0 0 1 0 1 18 cm −43 cm −43 cm 0 cm 0 cm 0 cm 43 cm 0 cm 0 cm 0 cm 0 cm 0 cm 0 cm 43 cm 0 cm 0 cm 0 cm 0 cm
.
391
7.3 Matrix of Jacobian Cofactors Since s4, s5, and s6 lie in the same plane, these three joint-screws form a linearly dependent set. Computing the matrix of minors for this configuration yields
M=
0 0 0 0 0 0
0 0 0 0 0 0
0 840709 0 −840709 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0 0 0 0 0
These results indicate that s4 and s6 form a linearly dependent set with rank 1. With only one degree-of-freedom tallied, this means the remaining four joint-screws s1, s2, s3, and s5 have rank 4, bringing the total rank in this singular configuration to 5. We shall consider the meaning and placement of the numbers 84070.9 and 84070.9 later in this chapter.
7.3
Matrix of Jacobian Cofactors
In this section we define several terms and we lay a foundation for Section 7.4, where we make an important connection between the matrix of Jacobian cofactors and reciprocal screws. Let us define the product of (−1)i+j with the minor Mij as Cij = (−1)i+j Mij ,
(7.2)
the cofactor of Jij , where the signs (−1)i+j form the alternating pattern
+ − ··· − − + · · · + . .. .. . . . . . − + ··· +
Now, let us place the cofactors Cij in a matrix C called the matrix of Jacobian cofactors
C11 C12 · · · C16 C21 C22 · · · C26 C= . .. .. . . . . . C61 C62 · · · C66
(7.3)
392
Chapter 7: Singularities We can now define the determinant of J in terms of the cofactors in row i det J = Ji1 Ci1 + Ji2 Ci2 + · · · + Ji6 Ci6 =
6 X
Jij Cij ,
(7.4a)
j=1
or in terms of its cofactors in column j det J = J1j C1j + J2j C2j + · · · + J6j C6j =
6 X
Jij Cij .
(7.4b)
i=1
For instance, when we find the determinant in terms of the cofactors in column 1, we obtain det J = J11 C11 + J21 C21 + · · · + J61 C61 . This leads us to three important theorems on determinants that apply to all square matrices (not just the 6 × 6 manipulator Jacobian). These theorems state Theorem 1: Matrices With Equal Columns (Rows) If a matrix has two equal columns (rows), then its determinant equals zero. Theorem 2: Matrices With a Column (Row) as a Multiple of Another Column (Row) If a matrix has a column (row) that equals a multiple of another column (row), then its determinant equals zero.
Theorem 3: Interchanging Two Matrix Columns (Rows) Interchanging two matrix columns (rows) changes the value of the determinant by −1. In view of these theorems, we now make an important observation: 6 X
j=1
Jij Ckj =
(
det J, i = k, 0, i 6= k.
(7.5)
Equation (7.4a) covers the case when i = k. When i 6= k, this case represents the situation when the ith row equals the kth row. To understand
393
7.3 Matrix of Jacobian Cofactors this better, let us assume the first row equals the second row, then we have
J11 J12 · · · J16 J11 J12 · · · J16 . .. .. . . . . . J61 J62 · · · J66
When we expand the determinant in terms of the second row, we obtain J11 C21 + J12 C22 + · · · + J16 C26 , which equals zero because our original matrix has two equal rows (Theorem 2). Now, we can use the results of Equation (7.5) to form the matrix product
C11 C21 · · · C61 J11 J12 · · · J16 C12 C22 · · · C62 J21 J22 · · · J26 T C J= . .. .. .. .. .. . . . . . . . C16 C26 · · · C66 J61 J62 · · · J66
det J 0 ··· 0 det J · · · 0 0 = . . . . . . . . . 0 0 · · · det J
= (det J) I6 .
(7.6)
Since we obtain the same result for J CT , we can state J−1 =
CT adj J = , det J det J
(7.7a)
where adj J represents the adjoint matrix adj J = CT .
(7.7b)
Essentially, Equation (7.7a) gives a generic formula for finding the inverse of a matrix, and it represents a standard result from a course in linear algebra (for instance, see Noble and Daniel [1977]). By deriving this material from ‘scratch,’ we have provided details for use during the remainder of this chapter.
394
Chapter 7: Singularities
7.4
Reciprocal Screws as the Matrix of Cofactors
A singularity analysis for a specific manipulator reveals the configurations where this manipulator loses the capacity to instantaneously translate and/or rotate its terminal link (end-effector). A manipulator comprised entirely of revolute pairs always encounters a singular configuration at extreme reach, on its workspace boundary, whereas a manipulator with at least one prismatic pair may not. However, both types of manipulators, those comprised entirely of revolute pairs and those with at least one prismatic pair, contain singular configurations within the workspace itself. When a manipulator loses its capacity to move its terminal link in a specific direction, or around a specific axis, it also loses its capacity to apply a force F in that same direction, and/or a moment M around that same axis. Therefore, at a singular configuration, a manipulator loses its 0 capacity to apply a wrench W on a screw s (note the prime) defined by the loss of translational/rotational freedom. For instance, consider a 3R spherical wrist with all three joint axes lying in the same plane IP as illustrated in Figure 7.1. In this configuration, a 3R spherical wrist cannot apply a moment M perpendicular to IP; in other words, in this singular configuration, a 3R spherical wrist cannot apply a wrench on the screw s0. Therefore, in this configuration, the virtual work of W = F s0 on joint-screws s4, s5, and s6 equals zero. In equation form, this means that h iT
s0
Π s4 = 0,
h iT
s0
Π s5 = 0,
h iT 0
s
Π s6 = 0.
In general, for a manipulator with six joints, we obtain
A singular configuration for a 3R spherical wrist occurs when 4, 5, and 6 all lie in the same plane.
s
s
s
h iT
s0
F IGURE 7.1
Π si = 0,
i = 1, 2, . . . , 6,
(7.8)
where s represents a screw reciprocal to all n joint-screws. In this section we find a relationship between this reciprocal screw, the manipulator Jacobian, and the Jacobian matrix of cofactors. Let us consider a six-joint manipulator with a joint-screw system defined by S = { s1, s2, s3, s4, s5, s6 }. 0
When a manipulator has a non-singular configuration, we cannot find a 0 single screw s reciprocal to all six joint-screws in S. However, when we remove a single joint-screw si from consideration, we can find one 0 screw s reciprocal to the remaining five joint-screws in S. For a six-joint manipulator, we obtain the following six sets of five joint-screws and their corresponding reciprocal screw: { s2, s3, s4, s5, s6 } =======⇒ { s1 }, reciprocal to
0
395
7.4 Reciprocal Screws as the Matrix of Cofactors { s1, s3, s4, s5, s6 } =======⇒ { s2 }, reciprocal to
0
{ s1, s2, s4, s5, s6 } =======⇒ { s3 }, reciprocal to
0
{ s1, s2, s3, s5, s6 } =======⇒ { s4 }, reciprocal to
0
{ s1, s2, s3, s4, s6 } =======⇒ { s5 }, reciprocal to
0
{ s1, s2, s3, s4, s5 } =======⇒ { s6 }. reciprocal to
0
For each of these six sets, however, the virtual product of si and si has a non-zero value given by ϑi =
h iT 0
si
Π si,
0
i = 1, 2, . . . , 6.
(7.9)
Let us now multiply Equations (7.8) and (7.9) by the scalar µi =
det J ; ϑi
(7.10)
in turn, this multiplication produces the following two cases:
det J 0 si ϑi
T
h
i 0 T i
Π sk = µi s
Π sk =
(
det J, i = k, 0, i 6= k.
(7.11)
The resemblance between this relation and Equation (7.5) suggests that
det J 0 ··· 0 det J · · · 0 0 0 T = (det J) I6 , J ΠJ= . . . .. .. .. 0 0 · · · det J
where
J0 = and
h
µ1 s
0 1
µ2 s
J=
0 2
h
µ3 s
0 3
µ4 s
0 4
µ5 s
0 5
s1 s2 s3 s4 s5 s6
µ6 s
0 6
i
i
,
(7.12)
(7.13)
.
Comparing Equation (7.12) with Equation (7.6) allows us to conclude that 0 T J Π = CT = adj J.
Since Π−1 = Π, we can solve this equation for J 0 , producing J 0 = Π C = Π [adj J]T ;
(7.14)
thereby, we obtain each reciprocal screw si (multiplied by a factor µi ) as the columns of J 0 . Equation (7.14) has great importance because its illustrates that a six degree-of-freedom manipulator has associated with itself the following two screw systems: 0
396
Chapter 7: Singularities a) a joint-screw system defined by the columns of J and b) a reciprocal screw system defined by the columns of J 0 . These two matrices, J and J 0 , determine the instantaneous kinematics and the force producing capabilities for a serial-chain manipulator. Moreover, because of the duality between instantaneous kinematics and statics (Section 6.8), we can obtain similar relations for both parallel- and hybrid serial-parallel manipulators. Now, let us assume our manipulator has a singular configuration, and loses only one degree-of-freedom. This means J has rank 5, and we obtain only one screw reciprocal to all six joint-screws, which means all 0 six columns of [adj J]T represent the same screw s , except each column possibly has a different scale factor ρi (note: at a singular configuration, ρi 6= µi ). Furthermore, since det J = 0, µi = 0 and Equation (7.12) yields 0 T J Π J = 06 .
(7.15)
This now leads us to a theorem originally due to Hunt [1986]: Hunt’s Theorem When a six degree-of-freedom serial-chain manipulator loses one degreeof-freedom at its end-effector, its six joint-screws form a linearly dependent set, and at least one column within J 0 contains all zeros. The columns within J 0 that do not contain all zeros give the coordinates of a single reciprocal screw, and they also specify the corresponding columns (joint-screws) within J that form a linearly dependent set. When using this method in a singularity analysis, we must ensure the following conditions; otherwise, this method may yield inconclusive results: a) The manipulator consists of six joint-screws (no more, no less); b) The manipulator has six degrees-of-freedom in its non-singular configurations; and c) The manipulator loses only one degree-of-freedom in each singular configuration. In Section 7.7 we outline a procedure for manipulators that do not satisfy these conditions. We now shall apply this method to obtain the singular configurations and reciprocal screws for the offset spherical manipulator and the offset articulate manipulator.
397
7.5 Offset Spherical Manipulator
7.5
Offset Spherical Manipulator
In this section we find the singular configurations and corresponding reciprocal screws for the offset spherical manipulator. To perform this analysis, however, we shall resolve the Jacobian in OW –xyz because this frame lies intermediate O0 –xyz and O6 –xyz, thereby providing the simplest representation for J. To facilitate our work, we shall perform the following three tasks: 1) Transform the joint-screws into the wrist frame to find W J; 2) Determine the singular configurations by setting det W J = 0; and
3) Obtain the reciprocal screw s , as well as the linearly dependent joint-screws, at each singular configuration by finding J 0 . 0
7.5.1
Transformation to the Wrist Frame
Equations (5.56a)–(5.56f ) give the coordinates for the joint-screws s1, s2, . . ., s6 in the base frame O0 –xyz. To transform these coordinates directly from O0 –xyz to OW –xyz, we require the screw transformation matrix W W IRW 0 . Recall that we form IR 0 from the rotation matrix R0 , which we sub 0 −1 sequently obtain from the homogeneous transformation TW 0 = TW (see Section 5.5 for details). For this manipulator, since OW –xyz has the same location as O3 –xyz, then T0W = T03 , which gives T0W = A01 A12 A23
=
Cθ1 Cθ2 − Sθ1 − Cθ1 Sθ2 d2 Sθ1 − d3 Cθ1 Sθ2 Sθ1 Cθ2 Cθ1 − Sθ1 Sθ2 −d2 Cθ1 − d3 Sθ1 Sθ2 Sθ2 0 Cθ2 d3 Cθ2 0 0 0 1
To find the inverse of this matrix, T0W obtain TW 0
−1 = T0W
−1
Now, we extract R0W from TW 0 , producing R0W
.
, we apply Equation (2.54) to
Cθ1 Cθ2 Sθ1 Cθ2 − Sθ Cθ1 1 = − Cθ 1 Sθ 2 − Sθ 1 Sθ 2 0 0
Cθ1 Cθ2 Sθ1 Cθ2 Cθ1 = − Sθ1 − Cθ1 Sθ2 − Sθ1 Sθ2
Sθ2 0 0 d2 Cθ2 −d3 0 1
Sθ2 0 . Cθ2
In turn, this gives the 6 × 6 screw transformation matrix
.
398
Chapter 7: Singularities
IRW 0 =
"
R0W
0
0
R0W
#
.
We now can transform the joint-screws given in Equations (5.56a)– (5.56f ) from the base frame O0 –xyz to the wrist frame OW –xyz as follows Sθ2 0 Cθ W (7.16a) s1|6 = IRW0 0s1|6 = d Cθ2 , 2 2 −d Sθ 3 2 −d2 Sθ2 0 −1 0
s2|6 = IRW0 0s2|6 = −d ,
W
W
(7.16b)
3
0 0
0 0 0
s3|6 = IRW0 0s3|6 = 0 ,
(7.16c)
0
1
W
0 0 1
s4|6 = IRW0 0s4|6 = 0 ,
(7.16d)
0
0
Sθ4 − Cθ4 0
s5|6 = IRW0 0s5|6 =
W
0 0 0
,
(7.16e)
439
8.1
Introduction
A
ROBOT MANIPULATOR HAS SPECIFIC CONFIGURATIONS where it attains a maximum distance and a minimum distance from the base frame O0 –xyz. As we illustrate in this chapter, these extreme distances do not necessarily occur at a manipulator’s singular configurations. For kinematically simple manipulators, we often can determine these extreme distances from inspection. Moreover, even for manipulators with a complex kinematic structure, we often can approximate the locations for these extreme distances by manually placing the manipulator in various configurations. This chapter establishes a framework to determine these extreme
F IGURE 8.1 A manipulator’s workspace consists of the set of points, lines, and/or planes attainable by its end-effector for all possible admissible joint values.
440
Chapter 8: Workspace
F IGURE 8.2 A variety of end-effector orientations about the same reachable point.
distance analytically, which allows us to remove all guess work and/or approximation. Directly related to this notion of extreme distances, we also shall consider how to determine a manipulator’s workspace, the set of points, lines, and/or planes attainable by a manipulator’s end-effector for all possible admissible joint values. Knowledge of a manipulator’s workspace allows us to more efficiently determine which operations a manipulator can or cannot perform. This topic even has applicability for manipulators on mobile platforms because knowledge of a manipulator’s workspace provides more information for path planning and obstacle avoidance planning. In this chapter we shall define workspace only in terms of points, as the consideration of lines and planes introduces complexities beyond the scope of our studies. In the robotics literature, we often refer to a manipulator’s workspace in terms of reachable points, primary workspace and secondary workspace, so let us provide working definitions for these terms (Kumar and Waldron [1981], Tsai and Soni [1981], Gupta and Roth [1982], Lee and Yang [1983], Freudenstein and Primrose [1984], and Vijaykumar, Waldron, and Tsai [1986]). We shall define a reachable point as the set of all points accessible by a designated point PE on the end-effector. When we further consider all possible orientations about a specific reachable point, as in Figure 8.2, we find the necessity to divide a manipulator’s workspace into a primary workspace and a secondary workspace (Tsai and Soni [1981] and Gupta and Roth [1982]). Specifically, we define the primary workspace as a portion of the reachable workspace where a manipulator has the capacity to arbitrarily orient its end-effector (also called the dextrous workspace or
8.2 Workspace: 2R Manipulator Geometries the accessible region). On the other hand, we define the secondary workspace as a portion of the reachable workspace where a manipulator does not have the capacity to arbitrarily orient its end-effector (also called the non-dextrous workspace). Although the primary workspace and the secondary workspace have straight-forward definitions, determining analytical expressions and/or a graphical results for the primary workspace for a 6 degree-of-freedom manipulator has many difficulties. With these devices, the major problem arises due to the inherent coupling between position and orientation at the end-effector. This coupling problem also exists for manipulators that contain 3R spherical wrists, as the motion of the wrist joints also displaces points on the end-effector that lie away from the wrist center. For this reason, we shall simplify our task by determining the locus of points accessible by the wrist center. Hence, for 6 degree-of-freedom manipulators with 3R spherical wrists, we only need to consider 2R sub-chains and 3R subchains as regional structures. In this chapter, we begin our studies by developing analytical expressions for the workspaces of regional structures comprised of two revolute pairs. We then illustrate the workspaces for these 2R chains, toroidal surfaces, and we later apply these same notions and ideas to 3R chains. After a consideration of these matters, we then determine analytical expressions for the extreme distances of 2R chains and then finally 3R chains.
8.2
Workspace: 2R Manipulator Geometries
In this section we explore how the shape and surface area for a 2R manipulator varies with the DH parameters for links 1 and 2. Figure 8.3 illustrates a general 2R manipulator with arbitrary DH parameters. Later in our discussion we shall assume specific parameter values to illustrate several ideas and concepts that pertain to the central theme of this chapter. For the 2R manipulator, we shall designate the origin O2 as our point of interest, and begin by determining the position of this point relative to the base frame O0 –xyz. Let us simplify our notation by writing x = x2/0, y = y 2/0, and z = z 2/0; hence, the desired location in vector form has the expression x 0 ( ) 0 x2/0 = y = A0 A1 0 , (8.1a) 1 2 1 z 0 1 1
441
442
Chapter 8: Workspace
F IGURE 8.3 General form: a general 2R manipulator.
where we obtain A01 and A12 from Equation (3.2), and x = a1 Cθ1 − a2 Sθ1 Sθ2Cα1 + a2 Cθ1 Cθ2 + d2 Sθ1Sα1,
(8.1b)
z = d1 + d2Cα1 + a2 Sθ2Sα1.
(8.1d)
y = a1 Sθ1 + a2 Cθ1 Sθ2Cα1 + a2 Sθ1 Cθ2 − d2 Cθ1Sα1,
(8.1c)
We observe that Equations (8.1b)–(8.1d) contain only seven of the eight DH parameters; these relations exclude the final twist angle α2 because it has no role in determining the location of O2 . Here, we also assume the joint variables θ1 and θ2 both range from 0◦ and 360◦ . We shall use these three equations as a foundation for illustrating the workspace for a 2R manipulator. Our overall purpose includes determining how each DH parameter affects the workspace, which proves useful in design as well as enhancing our overall understanding of 2R manipulator geometries. Before we develop our analytical expressions, let us describe this workspace pictorially. In Figure 8.3 we observe the origin O2 rotates around joint axis 2, following a circular path with radius r = a2. When we now rotate this circle around joint axis 1, we find that O2 generates a surface of revolution, a torus, centered on the joint 1 axis. In this depiction, the first joint offset d1 has no impact on the resulting surface of revolution. Hence, without loss of generality, we shall set d1 = 0, and our original set of equations simplify to x = a1 Cθ1 − a2Cα1 Sθ1 Sθ2 + a2 Cθ1 Cθ2 + d2Sα1 Sθ1,
(8.2a)
443
8.2 Workspace: 2R Manipulator Geometries y = a1 Sθ1 + a2Cα1 Cθ1 Sθ2 + a2 Sθ1 Cθ2 − d2Sα1 Cθ1,
(8.2b)
z = d2Cα1 + a2Sα1 Sθ2.
(8.2c)
Since the shape of the tori generated by these equations depends only on the DH structural parameters, let us eliminate the joint variables θ1 and θ2 from the equations above. We can eliminate θ1 by squaring x, y, z and then adding the resulting equations as follows x2 + y 2 + z 2 = d22 + a21 + a22 + 2a1a2 Cθ2. By the law of cosines, since Cθ2 =
p
1 − ( Sθ2)2 , this relation becomes q
x2 + y 2 + z 2 = d22 + a21 + a22 + 2a1a2 1 − ( Sθ2)2 .
(8.3)
We can eliminate θ2 by solving for Sθ2 in Equation (8.2c), producing Sθ2 =
z − d2Cα1 , a2Sα1
Sα1 6= 0, a2 6= 0.
Substituting this expression into Equation (8.3), isolating the last term on the right-side of the resulting equation, and then squaring yields h
(x2 + y 2 + z 2 ) − (d22 + a21 + a22 ) 4a21
"
i2
=
(z − d2 cos α1)2 a22 − sin2 α1
#
(8.4)
This last equation describes the general form torus in terms of the four structural parameters a1, α1, d2, and a2. Fichter and Hunt [1975] use this equation to describe the behavior of spatial linkages; Roth [1986] uses it to design 2R serial chains for rigid body guidance. To provide an understanding of the relationship between these four DH parameters and the workspace shape for a 2R manipulator, we shall use this equation to generate the following four toroidal surfaces (Fichter and Hunt [1975]): 1) General form, 0◦ < α1 < 90◦ , d2 6= 0; 2) Common form, α1 = 90◦ , d2 = 0;
3) Flattened form, 0◦ < α1 < 90◦ , d2 = 0; and 4) Symmetrically-Offset form, α1 = 90◦ , d2 6= 0.
Let us begin with the general form torus as given by Equation (8.4). Figure 8.4(a) illustrates a cross-section in the y 0-z 0 plane and Figure 8.4(b) illustrates an isometric view from the top-left. In this top-left view, the workspace appears egg-shaped with a small hole at the top, however, this surface has a larger hole on the bottom side. To better understand the form of this shape, let us return to the general 2R manipulator in Figure 8.3.
444
Chapter 8: Workspace
F IGURE 8.4 General form: when a1 ≥a2, 0◦ < α1 < 90◦ , and d2 6= 0, the 2R manipulator workspace lies on the surface of a general torus.
Here, we observe the circular path of O2 around the joint axis 2 lies tilted relative to the z 0 axis. The point PA on this path lies closest to z 0 at the top and it creates the small hole at the top of the cross-section in Figure 8.4(a), whereas PB lies closest to z 0 at the bottom and it creates the hole at the bottom of the cross-section in Figure 8.4(b). The workspace for a 2R manipulator has this shape when 0◦ < α1 < 90◦ and d2 6= 0. We define a hole as empty space we can pass a line through without intersecting the surface. Hence, the general form torus has one centrally located hole. On the other hand, we define a void as empty space enclosed by the workspace surface and/or workspace volume. When we pass a line through a void, however, this line necessarily intersects the workspace in at least two places. Let us now consider the dimensions given in Figure 8.4(a). With constant values for the structural parameters α1, d2, and a2, the z-coordinate given by Equation (8.2c) depends only on θ2, and this relation has a maximum value when θ2 = 90◦ and a minimum value when θ2 = 90◦ ; therefore, z max = d2 cos α1 + a2 sin α1, z min = d2 cos α1 − a2 sin α1,
0◦ < α1 < 90◦ ,
0◦ < α1 < 90◦ ,
which gives the general form of torus a height h as follows h = z max − z min = 2a2 sin α1.
(8.5)
Here, we observe the height depends only on the twist angle α1 and length of link 2.
445
8.2 Workspace: 2R Manipulator Geometries
F IGURE 8.5 Common form: when a1 ≥a2, α1 = 90◦ , and d2 = 0, the 2R manipulator workspace lies on the surface of a common torus.
Let us define the radial reach (Freudenstein and Primrose [1984]) as the distance from the z 0 axis to a point on the toroidal surface. As illustrated in Figure 8.4(a), the surface has a radial reach r from the z 0 axis. To obtain an expression for r, we shall add the squares of Equations (8.2a) and (8.2b) to obtain r2 = x2 + y 2 = a21 + a22 (Cα1)2 ( Sθ2)2 + 2a1a2 Cθ2 + a22 ( Cθ2)2
− 2a2d2Cα1 Sθ2Sα1 + d22 (Sα1)2 ,
which gives h
r = a21 + a22 (Cα1)2 ( Sθ2)2 + 2a1a2 Cθ2 + a22 ( Cθ2)2 − 2a2d2Cα1 Sθ2Sα1 + d22 (Sα1)2
i1/2
.
(8.6)
Figure 8.5 illustrates the familiar common form torus with radii specified by link-lengths a1 and a2 as follows: a2 determines the radius of a circle C whose center, the origin O1 , lies a distance a1 from the z 0 axis. The workspace for a 2R manipulator has this shape when α1 = ±90◦ , d2 = 0, and a1 ≥ a2 (Figure 8.6). Substituting d2 = 0 and α1 = 90◦ into Equation (8.4) produces h
(x2 + y 2 + z 2 ) − (a21 + a22 )
i2
= 4a21 a22 − z 2 ,
(8.7)
the generating equation for this form. We obtain the minimum and maximum radii rmin and rmax readily from Equation (8.6) or Equation (8.7). With Equation (8.7), we recognize the minimum/maximum values occur when z = 0, which gives an expression for the radius in the x0-y 0 plane. This radius has minimum/maximum
F IGURE 8.6 Common form: a 2R manipulator with a1 ≥a2, α1 = 90◦ , and d2 = 0. The origin O2 lies on the surface of a common torus.
446
Chapter 8: Workspace
F IGURE 8.7 Flattened torus: when a1 ≥a2, α1 6= 90◦ , and d2 = 0, the 2R manipulator workspace lies on the surface of a flattened torus. The structural parameter α1 determines the toroidal flatness.
values given by rmin = rmax =
q
a21 + a22 − 2a1a2 = a1 − a2,
(8.8a)
q
a21 + a22 + 2a1a2 = a1 + a2.
(8.8b)
With Equation (8.6), we substitute α1 = 90◦ , producing rCom =
q
a21 + 2a1a2 Cθ2 + a22 ( Cθ2)2 .
(8.9)
This expression attains a maximum value when θ2 = 0◦ and a minimum value when θ2 = 180◦ , which also produces the results given in Equations (8.8a) and (8.8b). When 0◦ < α1 < 90◦ , d2 = 0, and a1 ≥ a2 (Figure 8.8), we obtain the flattened form of torus, with an egg shape, as illustrated in Figure 8.7 and given by h
(x2 + y 2 + z 2 ) − (a21 + a22 )
F IGURE 8.8 Flattened form: a 2R manipulator with a1 ≥a2, α1 6= 90◦ , and d2 = 0. The origin O2 lies on the surface of a flattened torus.
i2
= 4a21
!
z2 a22 − . sin2 α1
(8.10)
Here, we observe the cross-section for this form consists of ellipses with major diameters of 2a2 and minor diameters of 2a2 sin α1. Hence, the twist angle α1 determines the ‘flatness’ of this form; the extreme value obtained when α1 = 90◦ gives us the common form, whereas the extreme value obtained when α1 = 0◦ gives us the fully flattened degenerate form, a 2R planar manipulator. A 2R manipulator with these restrictions also has minimum/maximum radii given by Equations (8.8a) and (8.8b). The symmetrically-offset form has α1 = 90◦ and d2 6= 0; however, for this case we also can have a2 > a1 without an overlapping or an intersecting surface. For small d2 the cross-section differs slightly in shape from the common torus, but for large d2 the inner-walls become flatter.
475
9.1
Introduction
T
HE IDEAS AND CONCEPTS IN CHAPTERS 2 THROUGH 5 allow us to implement traditional control laws that include position and/or velocity feedback from joint sensors. This sensory feedback, in the form of an optical encoder and a tachometer, provides actual joint positions and joint velocities to a controller, which in turn commands the joint motors to move in one direction or another. All of the early industrial manipulator controllers operated in this fashion, more or less, entirely on kinematic information from the joints. For high performance manipulation, however, a robot controller requires detailed information about the mass and rotational properties for each link, as well as information about the mass and rotational properties for an object manipulated by the end-effector. This information allows a controller to anticipate the ramifications of every move, and provide compensation at the joint level when necessary. This type of manipulation
F IGURE 9.1 High performance manipulation requires inertial information about each link, as well as inertial information about objects manipulated by the endeffector.
476
Chapter 9: Dynamics requires a thorough understanding of a branch of mechanics called dynamics. All of rigid body dynamics relies on one fundamental law, or axiom, of nature, first enunciated by Issac Newton. This law, traditionally called the second law of motion or Newton’s Second Law, states the following: A rigid body’s rate-of-change in linear momentum equals the external force acting on it. This change in linear momentum causes the rigid body to move in the same direction as the external force. ˙ the linear velocity for When m represents the rigid body’s total mass and x the center-of-mass, the linear momentum at the center-of-mass equals ˙ , and this law of nature takes on the familiar form the product mx F=
d ˙ ¨. mx = mx dt
(9.1a)
This equation gives an explicit relationship between the external force F ¨ for a rigid body’s center-of-mass. By apand the linear acceleration x plying this second law on a rotating rigid body, Leonard Euler derives a dynamic relation known as Euler’s equations-of-motion M=
d G d G Γ ω = GΓ α + Γ ω dt dt = GΓ α + ω GΓ ω,
(9.1b)
where M represents the external moment that acts on the rigid body, ω and α represent the rigid body’s angular velocity and angular acceleration, respectively, and G Γ represents the rigid body’s inertia matrix about its center-of-mass. These two formulae, Newton’s second law of motion and Euler’s equations-of-motion, express the dynamics of a rigid body in Cartesian coordinates. Joseph-Louis Lagrange, a key contributor to the calculus of variations, abstracts the ideas embedded within this second law and develops the equations-of-motion for arbitrary coordinate systems. Lagrange’s equationsof-motion relies on the calculus of variations, which has extensive ramifications in robot mechanics: the Lagrange formulation allows us to express manipulator dynamics directly in terms of joint coordinates rather than Cartesian coordinates. In robot mechanics, we combine Newton’s Second Law with Euler’s equations to form the Newton-Euler method. This method and Lagrange’s formulation have two important uses: a) Given the joint positions, velocities, and accelerations, they allow us to determine the corresponding joint torques/forces; and
477
9.2 Energy Relations for a Mass Particle b) Given the joint torques/forces, they allow us to determine the corresponding joint positions, velocities, and accelerations. In this chapter, we focus on the first use that involves determining the required torques/forces that move a manipulator’s joints to a desired position with a desired velocity and acceleration. In Section 9.2 we lay a foundation for our studies by considering a mass particle. Afterward, we apply these fundamental ideas to a rigid body, which then expands our scope to rotational inertia and the link inertia matrix. These intermediate steps bring us closer to our primary goal which involves application of the LagrangeChristoffel formulation to obtain explicit, closed-form, computationally efficient sets of dynamic equations for serial-chain manipulators. At the close of this chapter, we present the Newton-Euler method, which allows us to obtain the required joint torque/force values, more or less implicitly, for a generic serial-chain manipulator.
9.2
Energy Relations for a Mass Particle
The concepts of work and energy have prominent roles in robot dynamics, as they allow us to derive complicated expressions for motor torques/forces that guide a manipulator’s end-effector through Cartesian space with a desired velocity and acceleration. These two concepts, work and energy, manifest on a link-by-link basis. Since we can view a manipulator link as an aggregation of individual mass particles, we begin by deriving a relationship for the work W of a force F on a single mass particle m. We then use this work to define expressions for kinetic energy and potential energy. Later, in Section 9.3, we apply these results to determine the kinetic and potential energies for a rigid link. First, let us consider a force F, a mass particle m, and a curved path C as illustrated in Figure 9.2. Let us also assume a constraint force (not shown) keeps m on C, much like a bead on a string. When F moves m from x to x + dx, with dx tangent to curve C at x, this force performs an infinitesimal amount work on the mass particle defined mathematically as infinitesimal work , (k Fk cos φ) k dxk = F dx,
(9.2)
where φ represents the angle between the forward directions of both F and dx. With this definition, work equals the component of F along the instantaneous direction of motion, times the distance k dxk moved. As evident from Equation (9.2), this relation gives positive work when 0◦ ≤ φ < 90◦ , zero work when φ = 90◦ , and negative work when 90◦ < φ ≤ 180◦ .
F IGURE 9.2 A force F acting on a mass particle constrained to a path C.
478
Chapter 9: Dynamics ¨ to In Equation (9.2), we can use the second law to replace F with mx obtain ¨ dx = m d x ˙ ˙ ˙ = d 1 mx ˙ ˙ x mx dx = m d x x 2 dt = dK. (9.3) This equation reveals the infinitesimal work of force F on a mass particle m equals the change in a scalar quantity K called the kinetic energy, where Kinetic Energy for a Mass Particle ˙ x ˙. K , 12 mx When this mass particle moves from position the action of force F, we have work , W =
F IGURE 9.3 A mass particle moving on a closed path within a gravitational field.
(9.4)
xA to position xB, due to
Z xB xB ˙ x ˙ F dx = d 12 mx xA xA 1 ˙B x ˙ B − 1 mx ˙A x ˙ A. = 2 mx 2
Z
In this relation, we observe that work relates directly to the change in the mass particle’s velocity. This now brings us to a consideration of potential energy. Let us now consider a mass particle within a gravitation field g, and two positions this particle takes, xA and xB , as illustrated in Figure 9.3. Furthermore, let xB lie at a position, relative to xA, that generally goes against the direction of the gravitational field. With this condition, when m moves from position xA to position xB , the force of gravity does negative work on the mass particle. However, when this mass particle returns from xB to xA, the force of gravity does positive work on the mass particle. Obviously, for a closed path, the work of gravity must sum to zero; otherwise, the force of gravity would either generate or destroy energy for a mass particle traveling around a closed path. Therefore, when F = mg, the closed integral for work W vanishes, or W =
I
F dx = (mg) dx = 0.
We call any force field F that satisfies this relation a conservative force field. In our studies, both gravity and ideal springs represent conservative force fields. For a mass particle, we define its change in potential energy as dU , −mg dx, (9.5)
where U represents the potential energy (throughout our studies, we shall assume gravity acts uniformly, in one direction, and with a constant value).
479
9.2 Energy Relations for a Mass Particle Let U0 represent the reference value for the potential energy at the reference position x0, and U the potential energy at some general location x. Then, by Equation (9.5), we obtain the integral Z U U0
dU = −
Integrating this expression leads to
x mg dx. x0
Z
U − U0 = −mg (x − x0) .
In turn, this last relation gives
U = −mg (x − x0) + U0 .
Let us assume the reference location x0 = 0 and the reference potential energy U0 = 0. Then, the potential energy at x for a mass particle has the simple form Potential Energy for a Mass Particle U , −mg
x.
(9.6)
Equations (9.4) and (9.6) have relatively straight-forward application, as we now illustrate for two serially-connected masses.
Example 9.1 Mass Particle Kinetic and Potential Energies
Find the kinetic and potential energies for a 2R planar manipulator with masses m1 and m2 located at origins O1 and O2 , respectively.
Solution The masses m1 and m2 have positions given by 0
x1/0 =
(
)
a1 Cθ1 , a1 Sθ1
0
x2/0 =
(
)
a1 Cθ1 + a2 Cθ12 , a1 Sθ1 + a2 Sθ12
480
Chapter 9: Dynamics respectively. Differentiating these two expressions gives 0
0
x˙ 1/0 = x˙ 2/0
(
)
−a1 Sθ1θ˙1 , a1 Cθ1θ˙1
−a1 Sθ 1θ˙1 − a2 Sθ 12 θ˙1 + θ˙2 . = a1 Cθ 1θ˙1 + a2 Cθ 12 θ˙1 + θ˙2
Substituting these expressions into Equation (9.4) produces the kinetic energies ˙ 1/0 K1 = 12 m1 0x ˙ 2/0 K2 = 1 m2 0x =
2 1 2 2 m2 (a1
x˙ 1/0 = 21 m1a θ˙21, 0˙ x2/0 0
2 1
+ a22 + 2a1a2 Cθ2) θ˙21 + m2a2(a2 + a1 Cθ2)θ˙1θ˙2 + 12 m2a22 θ˙22.
As indicated in the above illustration, the acceleration of gravity points in the positive x0 direction; hence, 0g = {g, 0}T , and substituting the position vectors 0x1/0 and 0x2/0 into Equation (9.6) gives the potential energy for m1 and m2, respectively, U1 = −m1 0g U2 = −m2 0g
x1/0 = −m1ga1 Cθ1, 0 x2/0 = −m2g(a1 Cθ1 + a2 Cθ12). 0
Now, we can sum the individual kinetic and potential energies to obtain K = K1 + K2 , =
1 2
[m1a21 + m2(a21 + a22 ) + 2m2a1a2 Cθ2] θ˙21 + [m2a22 + m2a1a2 Cθ2)] θ˙1θ˙2 + 12 m2a22 θ˙22.
U = U1 + U2 = −m1ga1 Cθ1 − m2g(a1 Cθ1 + a2 Cθ12).
9.3
(9.7a) (9.7b)
Energy Relations for a Rigid Link
The kinetic and potential energies for a rigid link have important roles in the traditional Lagrange derivation and the Lagrange-Christoffel derivation of a robot manipulator’s equations-of-motion. These two link energies have relatively straight-forward expressions that rely on the location for a link’s center-of-mass. In this section, we define the meaning of center-ofmass, and we also develop relations for the potential and kinetic energies of a rigid link.
481
9.3 Energy Relations for a Rigid Link 9.3.1
Center-of-Mass
F IGURE 9.4 The center-of-mass location for link i.
Let us consider a single rigid link i with coordinate frames Oi –xyz established according to the DH convention. This link has a total mass mi, and let us divide this mass into an infinite number of discrete mass particles ∆mk such that mi =
∞ X
∆mk =
k=1
Z
link
dm.
(9.8)
In Figure 9.4, the vectors x1/i, x2/i, . . ., xp/i extend from the origin Oi to the mass particles ∆m1, ∆m2, . . ., ∆mp, respectively, where, for a contiguous rigid body, p → ∞. Let us define the weighted average of these mass particles
xGi/i ,
∞ X
∆mkxk/i
k=1 ∞ X
= ∆mk
Z
link
xdm/i dm mi
(9.9)
k=1
as the location for the center-of-gravity, or center-of-mass, for link i relative Oi –xyz. This unique location has important physical significance: when we place a pivot directly underneath a link’s center-of-mass, the link will balance in static equilibrium against the force of gravity. Upon multiplying this equation by the total mass mi, we obtain mixGi/i =
Z
link
xdm/i dm.
F IGURE 9.5 When placed on a pivot at its center-ofmass, a link balances in static equilibrium.
482
Chapter 9: Dynamics In this last relation, let us change the reference location from the origin Oi to the center-of-mass OGi to obtain the trivial expression mixGi/Gi =
∞ X
∆mkxk/Gi =
k=1
Z
link
xdm/Gi dm = 0.
(9.10)
This expression equals the zero vector because xGi/Gi = 0. These three equations, (9.8), (9.9), and (9.10), appear at various locations in our studies. 9.3.2
Potential Energy
In this section we derive a formula for the potential energy of a rigid body, and we begin with Equation (9.6), which gives an expression for the potential energy of a mass particle. When xk/0 represents the position of mass particle ∆mk relative to O0 –xyz, the total potential energy for link i equals the infinite sum Ui = −
F IGURE 9.6 The location of mass particle ∆mk in O0 –xyz equals k/0 = Gi/0 + k/Gi.
x
x
x
∞ X
∆mkg
xk/0.
k=1
As it now stands, this relation has little use for our purposes, so let us express Ui in terms of the center-of-mass xGi/0 for link i by substituting
xk/0 = xGi/0 + xk/Gi.
(9.11)
In turn, this substitution produces Ui = −g = − (g
∞ X
∆mk (xGi/0 + xk/Gi)
k=1
xGi/0)
∞ X
k=1
∆mk − g
∞ X
∆mkxk/Gi.
(9.12)
k=1
This last relation has two infinite sums that we shall simplify. By Equation (9.8), the infinite sum in the first term equals the total mass of link i, P mi; however, in the second term, the infinite sum ∞ k=1 ∆mkxk/Gi equals 0, as given by Equation (9.10). Therefore, the potential energy for link i equals the dot product between the acceleration of gravity g and the position vector xGi/0 to the center-of-mass: Potential Energy for Link i Ui = −mig
xGi/0.
(9.13)
483
9.3 Energy Relations for a Rigid Link This relatively simple formula illustrates the significance of using the center-of-mass in our computations. In our examples and exercises, we shall resolve the gravity vector g and the position vector xGi/0 within the O0 –xyz coordinate frame. To achieve this resolution, we require the A-matrices for links 1, 2, . . ., i. To obtain 0 xGi/0, we first must define the location for the center-of-mass relative to the link frame Oi –xyz (ixGi/i). In most situations, we obtain this location from a direct measurement on the link itself, an indirect measurement on a fully assembled manipulator, an estimation using paper and pencil calculations, and/or an estimation from a computer-aid design program (we consider these possibilities in Section C). For now, we shall assume a known value for this location given in terms of three parameters i
xGi/i = {±X Gi, ±Y Gi, ±Z Gi}T.
(9.14)
Here, we have used the plus/minus sign ± to indicate a signed location, as this gives X Gi, Y Gi, and Z Gi positive values in our illustrations. Next, we obtain the position vector 0xGi/0 from the homogeneous point transformation ( ) ( ) 0
xGi/0 1
= A01 A12 · · · Ai−1 i
i
xGi/i 1
.
(9.15)
Extracting 0xGi/0 from this relation allows us to formulate the potential energy for link i: Ui = −mi 0g
0
xGi/0,
(9.16)
where 0g represents the resolution of gravity in O0 –xyz, expressed symbolically as 0
g = {g x, g y, g z}T ,
(9.17)
with k0gk = 9.81 m/s2 in SI units or k0gk = 32.2 ft/s2 in Imperial units. The following example illustrates these ideas.
484
Chapter 9: Dynamics
Example 9.2 Rigid Body Potential Energy
Find the potential energy for links 1, 2, and 3 for the 2RP regional structure.
Solution
As illustrated above, the center-of-mass for link 1 lies on the negative y 1 axis, the center-of-mass for link 2 lies at the origin O2 , and the center-ofmass for link 3 lies on the negative z 3 axis at the location Z G3. In vector
485
9.3 Energy Relations for a Rigid Link form we have
0 1 xG1/1 = −Y G1 , 0
2
0
0 3 xG3/3 = 0 . −Z G3
xG2/2 = 0 , 0
Recall from Example 3.1, this manipulator has the following A-matrices:
A01 =
A23 =
Cθ1 Sθ1 0 0
0 Sθ1 0 − Cθ1 1 0 0 0
1 0 0 0
0 0 0 0 1 d3 0 1
0 1 0 0
0 0 0 1
,
A12 =
Cθ2 0 − Sθ2 Sθ2 0 Cθ2 0 −1 0 0 0 0
0 0 0 1
,
.
With these matrices, we now can formulate our center-of-mass locations as homogeneous points and perform the following transformations
0 ( ) ( ) 0 0 xG1/0 = A0 1xG1/1 = , 1 −Y G1 1 1 1 (
(
0
xG2/0
)
xG3/0
)
1
0
1
= A01 A12
=
(
2
xG2/2
A01 A12 A23
1
(
3
)
=
xG3/3 1
0 0
(9.18)
,
0 1 −(d − Z ) Cθ Sθ 3 G3 1 2 ) −(d − Z ) Sθ Sθ
=
3
G3
1
(d3 − Z G3) Cθ2 1
Let us assume gravity acts in the negative z 0 direction, then 0
g = {0, 0, −g}T ,
and the potential energies become U1 = −m1 0g
U2 = −m2 0g
U3 = −m3 0g
xG1/0 = −m1gY G1, 0 xG2/0 = 0, 0 xG3/0 = m3g(d3 − Z G3) Cθ2. 0
2
(9.19)
. (9.20)
486
Chapter 9: Dynamics 9.3.3
Kinetic Energy
We begin our derivation for the kinetic energy of link i by applying Equation (9.4) to an infinite number of particles, producing ∞ X
Ki =
1 2 ∆mk
x˙ k/0 x˙ k/0.
(9.21)
k=1
As with our derivation for the potential energy, in this relation we shall eliminate all reference to the individual mass particle ∆mk. In this case, ˙ k/0 by differentiating Equation (9.11): however, we shall replace x x˙ k/0 = x˙ Gi/0 + ωi/0 xk/Gi. Substituting this expression into Equation (9.21) allows us to eliminate ˙ k/0 and ∆mk from consideration; the resulting expression for the both x kinetic energy of link i becomes 1 2
Ki =
1 2
=
∞ X
k=1 ∞ X
˙ Gi/0 + ω i/0 ∆mk(x
xk/Gi) (x˙ Gi/0 + ωi/0 xk/Gi)
˙ Gi/0 x ˙ Gi/0 + ∆mk x
∞ X
k=1
1 2
+
∞ X
˙ Gi/0 (ω i/0 ∆mkx
k=1
∆mk(ω i/0
xk/Gi)
xk/Gi)
(ω i/0
xk/Gi).
k=1
Since the summations above apply only to quantities with a subscript k, we obtain ˙ Gi/0 x ˙ Gi/0 Ki = x 1 2
∞ X
˙ Gi/0 ω i/0 ∆mk + x
k=1
∞ X
∆mkxk/Gi
k=1
+
1 2
∞ X
∆mk(ω i/0
xk/Gi)
(ω i/0
xk/Gi).
k=1
This last relation for the kinetic energy has the same two infinite sums as the potential energy given in Equation (9.12) (in the first and second terms). The third term, however, represents a mass integral over link i. After making the required substitutions from Equations (9.8) and (9.10), and replacing the third term with an integral, we obtain Kinetic Energy for Link i Ki = Ki,trans + Ki,rot ,
where
˙ Gi/0 x ˙ Gi/0, Ki,trans = 12 mix Ki,rot =
1 2
Z
link
(ω i/0
xdm/Gi)
(9.22a) (9.22b)
(ω i/0
xdm/Gi) dm.
(9.22c)
633
Author Index
Author Index A Albala, H., 261, 262, 265 Ang, Jr., M., 523, 590, 619, 627 Angeles, J., 261, 262, 265 Armstrong, W. W., 590 Armstrong-Hélouvry, B., 37, 38, 523, 590, 619, 627 Asada, H., 174, 176, 180 Asano, K., 180 Asimov, I., 2, 38 B Baker, J. E., 433, 467 Ball, R. S., xi, xv, 280, 323, 358, 379, 433 Ballard, D. H., 619, 627 Beer, F. P., 334, 379, 590, 618, 627 Bejczy, A. K., 14, 590 Bekey, G. A., 619, 627 Berkof, R. S., 367, 379 Bevilacqua, F., 38 Bolin, S., 323 Bottema, O., 63, 116 Brockett, R. W., 467 Brown, J. B., 38 Burdick, J. W., 433, 519, 523, 528, 550, 590, 619, 627 Butler, M. S., 180 C Canny, J. F., 262, 265 ˇ Capek, K., 1, 38 Castelli, V. P., 433
Chasles, M., xi, 375, 379 Christoffel, E. B., 545 Coiffet, P., 38 Corke, P. I., 37, 38 Craig, J. J., 174, 180 Crane, C., 262, 265 D d’Alembert, J-B, 496 Daniel, J. W., 395, 433, 525, 590, 608, 609 Davidson, J. K., xi, 323, 358, 379 Denavit, J., 128, 131, 133, 180 Devol, Jr., G. C., 10, 38 DiPietro, D., 590 Donaldson, N., 10, 38 Donoghue, J. P., 433 Duffy, J., xiv, xvi, xviii, 262, 265, 323, 358, 379, 425, 433, 458, 459, 462, 467 Dumas, J. M., 590 E Eberman, B., 508, 590 Edison, T. A., 5 Engelberger, J. F., 12, 38 Engelberth, J. W., xv, 425, 433 Ernst, H. A., 13, 38 Euler, L., xi, 85, 88, 353, 478 F Fenton, R. G., 323
634
Author Index Fichter, E. F., xvi, 445, 467 Fisher, W. D., 433 Formalsky, A. M., 353, 379 Frenkel, K. A., 38 Freudenstein, F., 261, 265, 323, 442, 447, 454, 456, 467 G Gernsback, H., 1, 15 Goertz, R. C., 6, 38 Goldenberg, A. A., 323 Gorinevsky, D. M., 353, 379 Greenwood, D. T., 590, 625, 627 Gupta, K. C., 442, 467 H Hamilton, W. R., xi, 116 Hartenberg, R. S., 128, 131, 133, 180 Hartoch, G., 590 Hayward, V., 265 Heinlein, R., 2 Hildebrand, F. B., 450, 455, 467 Hollerbach, J. M., 590 Horn, B. K. P., 15, 38 Hunt, K. H., xi, xvi, xviii, 116, 323, 358, 379, 398, 433, 445, 467 I Ikeda, N., 619, 627 Innocenti, C., 433 Inoue, H., 15, 38 J Jacquard, J. M., 5 Jamisola, R., 523, 590, 619, 627 Johnston, Jr. E. R., 334, 379, 590, 618, 627 K Kahn, M. E., 14, 38, 590 Kangawa, A., 619, 627 Kazerooni, H., 174, 180, 368, 379
Khalil, W., 590 Khatib, O., 38, 523, 590, 619, 627 Khosla, P. K., 619, 627 Klumpp, A. R., 89, 116 Kumar, A., 442, 467 Kumar, V., 368, 379, 442, 467 Kuwaki, O., 619, 627 L Lagrange, J.-L., xi, 353, 478 Lee, C. S. G., xiv, 37, 38, 227, 265 Lee, H.-Y., 262, 265 Lee, T. W., 442, 467 Leu, M. C., 433 Lewis, R. A., 528, 550, 590 Liang, C.-G., 262, 265 Liegeois, A, 590 Lim, T. M., 523, 590, 619, 627 Lin, C.-C., D., 454, 456, 467 Lipkin, H., xiv, 323, 358, 379 Litvin, F. L., 433 Lloyd, J., 265 Long, G. L., xv, 404, 425, 433 Lowen, G. G., 368, 379 Luh, J. Y. S., 576, 590 M Manocha, D., 262, 265 Markiewicz, B. R., 14, 38 Maruyama, M., 619, 627 Mayeda, H., 619, 627 Mayer, G. E., 37, 38, 180, 265 McCarthy, J., 12 McCarthy, J. M., xv, 116, 320, 323, 425, 433 McGhee, R. B., 590 Meirovitch, L., 590, 625, 627 Minsky, M., 14, 38 Morgan, A. P., 262, 265 Mosher, R. S., 38 Mozzi, G., xi Mukerjee, A., 619, 627
635
Author Index Murray, J. J., 519, 590 N Neergaard, L. E. de, 38 Neuman, C. P., 519, 528, 590, 619, 627 Newton, I., xi, 478 Noble, B., 395, 433, 525, 590, 608, 609 Noble, D. F., 11, 38 O Olsen, H., 619, 627 Orin, D. E., 323, 590 Osuka, K., 619, 627 P Pai, D. K., 433 Park, F. C., 467 Paul, B., 590 Paul, R. P., xi, xiv, xv, xviii, 14, 37, 38, 89, 116, 143, 158, 180, 200, 202, 217, 227, 244, 265, 404, 425, 433, 528, 576, 590 Payne, J. H., 6 Pennock, G. R., 320, 323 Phillips, J., 323, 379 Pieper, D. L., xiii, 14, 38, 97, 116, 128, 132, 180, 260, 265 Plücker, J., xi, 358 Place, R. E., 38 Podhorodeski, R. P., 323 Poinsot, M. L., xi, 334, 375, 379 Pollard, Jr., W. L. G., 3, 38 Pollard, Sr., W. L. V., 4, 38 Poole, H. H., 10, 38 Primrose, E. J. F., 442, 447, 454, 456, 467 R Raghavan, M., 262, 265 Rastegar, J., 38, 261, 265
Reed, S. W., 433 Reintjes, J. F., 8, 38 Renaud, M., 180, 244, 265, 590 Reuleaux, F., 25, 26, 38, 132, 180 Riley, W. F., 323, 590, 618, 627 Rooney, J., 320, 323 Rosheim, M. E., 38 Roth, B., xviii, 38, 63, 97, 116, 128, 132, 180, 260–262, 265, 323, 353, 379, 433, 442, 445, 458, 467, 590 S Salisbury, K., 590 Sandor, B. I., 379 Saveriano, J. W., 10, 12, 38 Scheinman, V. D., 14, 15, 38, 261, 265, 467 Schneider, A. Y., 353, 379 Schrader, W. W., 323 Shepperd, S. W., 89, 116 Shimano, B., 37, 38, 180, 265, 353, 379, 433, 458, 467 Siciliano, B., 38 Silver, W. M., 586, 590 Skreiner, M., 323 Slotine, J.-J. E., 180 Soni, A. H., 442, 454, 456, 467 Spong, M. W., 590 Spurrier, R. A., 89, 116 Staniši´c, M. M., xv, 425, 433 Stephanenko, Y., 590 Stevenson, C. N., 180, 244, 265, 404, 433 Sturges, L. D., 323, 590, 618, 627 Sugimoto, K., xiv, xvi, 323, 425, 433, 458, 459, 462, 467 Sutton, T., 379 T Taylor, G. P., 2, 38
636
Author Index Tesar, D., 180 Tourassis, V. D., 528, 590 Townsend, W., 508, 590 Tsai, L.-W., 262, 265 Tsai, M. J., 442, 467 Tsai, Y. C., 442, 454, 456, 467 U Ulrich, N., 368, 379 V Vertut, J., 38 Vidyasagar, M., 590 Vijaykumar, R., see Kumar, V. Vukobratovi´c, M., 590 W Waldron, K. J., 323, 433, 442, 467 Walker, M. H., 576, 590 Walker, M. W., 590
Wampler, C., 265 Wang, S.-L., 323, 433 Whitney, D. E., 295, 323, 353, 379 Whittaker, E. T., 88, 116, 590 Windecker, B., 10, 38 Wolovich, W. A., 265 Y Yang, A. T., 320, 323 Yang, D. C. H., 442, 467 Yi, Z., 433 Yoshida, K., 619, 627 Yoshikawa, T., 433 Youcef-Toumi, K., 174, 176, 180 Yuan, M., 323 Z Zhang, H., xiv, 143, 158, 180, 217, 227, 244, 265 Ziegler, M., xiv, 37, 38, 227, 265
637
Subject Index
Subject Index Page references followed by (fig) indicate an illustration; those followed by (tab) indicate a table. A Absolute rotation, 76 Accessible region, 443 Actuator, defined, 25 Actuator-screw, 282 Adept Technology, Inc. Viper 650 center-of-mass locations (fig), 598 Viper 650 (fig), 193 Adjoint Matrix of Jaocbian cofactors, 395 AMF Corporation Versatran (fig), 12 Anthropomorphic regional structure (fig), 34 Approach vector, 200 Articulate coordinate system, 32 Articulate manipulator (fig), 34 Artificial intelligence service robots, 20 atan2, defined, 205 Axis coordinates, 358 B Ball’s reciprocity rules, 359 Barrett Technology Proficio (fig), 20 Whole Arm Manipulator center-of-mass locations
(fig), 597 Whole Arm Manipulator (fig), 191 Base link, 139 C Carnegie Mellon Direct-Drive II manipulator (fig), 192 Cartesian coordinates, 45–50 frame, 45 manipulator (fig), 31 analogy with 3-axis milling machine, 5 space, 46, 197 twist, 276 defined, 278 velocity, 276 Center-of-Gravity, 483 Center-of-Mass, 483 knife-edge, 619 Central Research Laboratories, 7 Chasles’ Theorem, 277, 375 Christoffel symbol of the first kind, 545 Comau Robotics ComauSMART-5-165 (fig), 194 Complex plane, 105
638
Subject Index Composite rotation, 69, 76 Computed torque method, 14 Computer Numerical Control, 9 Condition of reciprocity, 358 Conservative force field, 480 Coordinate system, 45 transformation, 57 Coordinate frames base, 130 end-effector, 130 global reference, 129 goal frame, 131 station, 129 tool, 131 wrist, 130 Couple, see Moment plane of, 336 Coupling inertia, 528 Cylindrical manipulator (fig), 32 D D’Alembert’s principle, 496 Denavit-Hartenberg parameters, 128, 131–147 A-matrix, 140 common normal, 132 equations-of-motion, 571 joint axis twist angle αi, 134 joint displacement di, 134 joint rotation θi, 134 link length, 132 link length ai, 134 link twist angle, 132 notation, 29 DH reference configuration, 135 Direction angles, 56, 74 cosines, 57 Displacement, defined, 44 Draper Laboratory wrist force sensor, 352 Dual
numbers, vectors, matrices, 320 Duality serial/parallel chain manipulators, 372–398 Dynamic constants, 506, 518 E Effective inertia, 528 Eigenvector, 71 End-effector, 130 End-effector/tool closure equation, 202 Equations-of-motion centrifugal acceleration terms, 505 Coriolis acceleration terms, 505 gravity terms, 505 inertia terms, 505 Lagrange’s equations, 498–511 Equivalent angle-axis representation, 68 rotation matrix, 64 Euler’s equations-of-motion, 478 Euler-angles, 85–88 gimbal lock, 87 line-of-nodes, 85 nutation angle, 85 precession angle, 85 spin angle, 85 Extreme distance, 458–465 2R planar manipulator, 211 F Feedback force Gernsback’s Teledactyl device, 1 position/velocity, 477 Force defined, 335 line-of-action, 339
639
Subject Index line-of-action, defined, 335 Force-screw, 374 Free-body diagram, 334 Free-vector moment, 339 Friction coefficient of, 509 rolling, 509 sliding, 509 viscous, 509 G Generalized coordinates/forces, 497–498 joint-screws, 528 Gough-Stewart platform (fig), 374 H Homogeneous coordinates, 95 Homogeneous transformation, 44, 96 principal, 101–104, 139 Hunt’s Theorem, 398 I Inertia force, 496 matrix, 478 moments of, 491 products of, 492 Inertial parameters, 493, 617 solid model, 618 Intermediate link, 139 matrix, 143 Intuitive Surgical, Inc. da Vinci Surgical System (fig), 17 Inverse kinematic formula, 232 Inverse kinematics branches, 211 closed-form solutions, 198
end-effector/tool frame location, 163 Inverse trigonometric function arccosine, 203 arcsine, 203 arctangent, 203 principal value, 203 J Jacobian, see Manipulator Jacobian matrix of cofactors, 393 matrix of minors, 391 minors, 390 Joint coordinates, 30 defined, 25 space, 197 Joint-screw, 282 K Kinematic equivalent, 29 Kinematic pair cylindrical pair, 26 helical pair, 27 higher, 25 lower, 25 prismatic pair, 27 spherical pair, 26 Kinematic skeleton, 147 MIT direct drive arm (fig), 174 offset articulate manipulator (fig), 157 offset spherical manipulator (fig), 169 3R spatial manipulator (fig), 148 2R planar manipulator (fig), 150 Kinematics order, 275 Kinetic energy, 479 matrix, 524
640
Subject Index rotational, 489 translational, 489 Kuka Robotics Corp. Kuka-iiwa7 manipulator (fig), 194 L Lagrange’s equations, 498–511 Lagrangian, 501 Left-hand thread, 27 Line-of-action sliding vector, 51 Linear dependence, vectors, 608 independence, vectors, 608 Linear dependence/independence joint-screws, 390 Linear momentum, 478 Lines mutual perpendicular, 132 Link center-of-gravity, 483 center-of-mass, 483 counterbalancing, 367 inertia matrix, 490–496 similarity transformation, 625 trace, 626 Linkage major/minor, 31 Local transformation variable forward kinematics, 158 inverse kinematics, 245 M MAKO Surgical, Corp Rio surgical system (fig), 17 Manipulator coordinate system articulate, 33 Cartesian, 32 cylindrical, 32 spherical, 33
Manipulator inertia matrix, 492, 505 Manipulator Jacobian, 276, 287–288 rank, 390–393 Mass triple-beam balance, 619 Matrix definition, 601 MIT direct drive arm (fig), 173 DH parameters (tab), 176 Moment, 336 Motion-screw, 374 Mounting plate, 163 N Newton-Euler Method backward recursion, 571, 574–576 forward recursion, 571–573 Normal vector, 200 O Octahedral hexapod, see Gough-Stewart platform Offset articulate manipulator (fig), 34 DH parameters (tab), 156 Offset reference configuration, 150 Offset spherical manipulator (fig), 34 DH parameters (tab), 168 Optical encoder, 477 Orientation center, see Wrist center Orientation structure, 31, 130 Orientation vector, 200 P Passive gravity compensation, 367
641
Subject Index Pitch, defined, 279 Planet Corporation Planobot, 10 Poinsot’s Theorem, 375 Position vector, 200 Positive definite, 524 Potential energy, 479 Pressure sensor, 353 Principal rotation matrices, 74 Principle axes of inertia, 622 Principle inertias bifilar pendulum, 619 Principle of dynamic equilibrium, 497 Transference, 320 virtual work, 334, 353–356 Prismatic pair, 25 Q Quaternion, 44, 104–112 complex conjugate, 106 R Radial reach, 447 Ray coordinates, 358 Ray to axis coordinate matrix, 358 Reachable point, 442 Reaction coupling, 549 Reciprocal screws, 358 Regional structure, 31 Relative rotation, 76 Resolved motion rate control, 295 Resolving vectors, 53–56 Rethink Robotics Baxter dual-arm manipulator (fig), 15 Revolute pair, 25 Right-hand thread, 27 Rigid body transformation, definition, 44 Rodrigues’ formula, 66 Rossum’s Universal Robots, 1
Rotation absolute, 76 composite, 69, 76 relative, 76 Rotation matrix determinant of, 70 orthonormal properties, 59 Rotation sequence Euler-angle, 81 roll-pitch-yaw, 81 Rotation-axis vector, 63 S Scalar, defined, 606 Screw, 280 coordinates, defined, 280 Screw coordinate transformation, 290 Screws linearly dependence/independence, 390 Second law of motion, 478 Shepperd-Spurrier algorithm, 112 Sign function, 205 Similarity transformation, 536 Singular configuration, see Chapter 7 Singular point, 425 Singularity revolute wrist, 229 roll-pitch-yaw angles, 82 Sliding vector, see approach vector force, 339 Spherical manipulator (fig), 33 DH parameters (tab), 137 Spherical rotation Rodrigues’ Formula for, 66 Stäubli Robotics RX160-HD manipulator (fig), 193
642
Subject Index TP80-WA manipulator (fig), 190 TS80 manipulator (fig), 130 Stanford manipulator (fig), 13 Stanford University wrist force sensor, 352 Stewart platform, see Gough-Stewart platform Structural parameter, 134 Surface of revolution, 444 T Tachometer, 477 Tactile sensor, 353 Tangent of the half-angle, 240 Teledactyl, 1, 15 Terminal link, 139 3R spherical wrist no-flip and flip configurations, 227 3R spatial manipulator (fig), 137, 426 DH parameters (tab), 139, 427, 465 Torus common form, 447 flattened form, 448 general form, 445 symmetrically-offset form, 448 Trajectory generator in relation to the goal frame, 131 Transport theorem, 573 Trigonometric functions derivatives, 614 2P planar manipulator DH parameters (tab), 511 2R planar manipulator elbow-left and elbow-right configurations (fig), 210 2R planar manipulator
DH parameters (tab), 150, 461 U U-matrix algebraic method, 232 Unimation, Incorporated, 11 Unit vector, 45 Universal Robots UR5 manipulator (fig), 192 V Variable parameter, 134 Variational operator, 354 Vector basis, 45 bound, 51 coordinate system-free representation, 53 cross product, 47 dot product, 48 free, 51 head, 46 parallelogram law of addition, 49 scalar triple product, 534 sliding, 51 spaces, 606â&#x20AC;&#x201C;608 span, 45 tail, 46 Vector, defined, 606 Versine of an angle, 68 Virtual displacement, 353 Virtual product, 358 Volume of revolution, 454 W Waldo manipulator, 2 Whole arm manipulation, 508 Workspace 2RP spherical manipulator, 33 3P Cartesian manipulator, 32
643
Subject Index 3R articulate manipulator, 33 dextrous, 442 hole, 446 primary, 442 R2P cylindrical manipulator, 33 secondary, 442 void, 446 Wrench amplitude, 342
axis, 341 defined, 340 intensity, 342 transferring, 346â&#x20AC;&#x201C;353 Wrist center, 32, 130 Wrist force sensor, 352 Y Yaskawa Motoman L-3, 174 Yaskawa MPK2F5 manipulator (fig), 191