Fundamentals of Robotic Mechanical Systems PDF
Document Details
Uploaded by Deleted User
2014
Jorge Angeles
Tags
Summary
This book, "Fundamentals of Robotic Mechanical Systems", explores the theory, methods, and algorithms behind robotic design, analysis, control, and programming. It delves into the broad field of robotics and provides an overview of up-to-date developments, with specific sections on flying robots (drones and quadrotors).
Full Transcript
Mechanical Engineering Series Jorge Angeles Fundamentals of Robotic Mechanical Systems Theory, Methods, and Algorithms Fourth Edition Fundamentals of Robotic Mechanical Systems Mechanical Engineering Series Frederick F. Ling Editor-in-Chief The Mechanical Engineering Series features graduate te...
Mechanical Engineering Series Jorge Angeles Fundamentals of Robotic Mechanical Systems Theory, Methods, and Algorithms Fourth Edition Fundamentals of Robotic Mechanical Systems Mechanical Engineering Series Frederick F. Ling Editor-in-Chief The Mechanical Engineering Series features graduate texts and research monographs to address the need for information in contemporary mechanical engineering, including areas of concentration of applied mechanics, biomechanics, computational mechanics, dynamical systems and control, energetics, mechanics of materials, processing, production systems, thermal science, and tribology. Advisory Board/Series Editors Applied Mechanics D. Gross Technical University of Darmstadt Biomechanics V.C. Mow Columbia University Computational Mechanics H.T. Yang University of California, Santa Barbara Dynamic Systems and Control/ D. Bryant Mechatronics University of Texas at Austin Energetics J.R.Welty University of Oregon, Eugene Processing K.K. Wang Cornell University Production Systems G.-A. Klutke Texas A&M University Thermal Science A.E. Bergles Rensselaer Polytechnic Institute Tribology W.O. Winer Georgia Institute of Technology For further volumes: http://www.springer.com/series/1161 Jorge Angeles Fundamentals of Robotic Mechanical Systems Theory, Methods, and Algorithms Fourth Edition 123 Jorge Angeles Department of Mechanical Engineering Centre for Intelligent Machines (CIM) McGill University Montreal, QC, Canada ISSN 0941-5122 ISSN 2192-063X (electronic) ISBN 978-3-319-01850-8 ISBN 978-3-319-01851-5 (eBook) DOI 10.1007/978-3-319-01851-5 Springer Cham Heidelberg New York Dordrecht London Library of Congress Control Number: 2013952913 © Springer International Publishing Switzerland 2014 This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. Exempted from this legal reservation are brief excerpts in connection with reviews or scholarly analysis or material supplied specifically for the purpose of being entered and executed on a computer system, for exclusive use by the purchaser of the work. Duplication of this publication or parts thereof is permitted only under the provisions of the Copyright Law of the Publisher’s location, in its current version, and permission for use must always be obtained from Springer. Permissions for use may be obtained through RightsLink at the Copyright Clearance Center. Violations are liable to prosecution under the respective Copyright Law. The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. While the advice and information in this book are believed to be true and accurate at the date of publication, neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or omissions that may be made. The publisher makes no warranty, express or implied, with respect to the material contained herein. Printed on acid-free paper Springer is part of Springer Science+Business Media (www.springer.com) To Anne-Marie, who has given me not only her love, but also her precious time, without which this book would not have been possible. Preface to the Fourth Edition The aim of the Fourth Edition is the same as that of the past editions: to provide the reader with the tools needed to better understand the fundamental concepts behind the design, analysis, control, and programming of robotic mechanical systems at large. The current edition includes additional examples and exercises. Furthermore, an updated account of progress and trends in the broad area of robotic mechanical systems, which continues developing at an impressive pace, is included in Chap. 1. However, a comprehensive summary of up-to-date developments is not possible in the limits of a book that stresses fundamentals. An effort was made to include an overview of the subject, with pertinent references for the details. Robotic systems that were not even mentioned in the First Edition, namely, flying robots, especially drones and quadrotors, are now highlighted. In producing the Fourth Edition, special attention was given to the consistency and accuracy of the presentation. In Chap. 4 new examples illustrating the imple- mentation of the Denavit–Hartenberg notation and methodology are included, along with a numerical example on the inverse-displacement problem for spherical wrists. Some materials that complement the book are available on the Springer site allocated to the book: http://www.springer.com/engineering/robotics/book/978-3-319-01850-8 Material posted therein includes code intended to help better understand the most cumbersome derivations, and to provide useful tools when working out the exercises, or simply to assist the curious reader in exploring alternative examples or alternative methods. Animation files and film are also included. An important feature of the code provided is that it allows for either symbolic manipulations, using Maple, or numerical computations, using Matlab. The rough estimates of the solutions to systems of bivariate equations, arising in various chapters, but most intensively in Chap. 9, are facilitated by the inclusion of a Matlab graphic user interface. Further refinements of these estimates are implemented by means of a Newton–Gauss least-square approximation to an overdetermined system of nonlinear equations, as implemented in Matlab. vii viii Preface to the Fourth Edition The excellent work done by Dr. Kourosh Etemadi Zanganeh, currently at Canmet (Nepean, Ontario, Canada), when he was a Ph.D. candidate under the author’s supervision, was instrumental in completing the Second Edition. This work comprises the development of algorithms and code for the solution of the inverse displacement problem of serial robots with architectures that prevent a decoupling of the positioning from the orientation problems. The material in Chap. 9, which was deeply revised in the Third Edition and remained virtually untouched in the current edition, is largely based on this work. I would like to thank all those who provided valuable advice for improvement: Profs. Carlos López-Cajún, Universidad Autónoma de Querétaro (Mexico), and J. Jesús Cervantes-Sánchez, Universidad de Guanajuato (Mexico), pointed out many inconsistencies in the First Edition; Dr. Zheng Liu, Canadian Space Agency, St.- Hubert (Quebec, Canada), who taught a course based on the first six chapters of the book at McGill University, pointed out mistakes and gave valuable suggestions for improving the readability of the book. Additionally, the valuable suggestions received from Prof. Pierre Larochelle, Florida Institute of Technology, were also incorporated. Needless to say, the feedback received from students throughout more than 20 years of using this material in the classroom is highly acknowledged. Not the least, the C-code RVS, developed on Silicon Graphics’ IRIX—a dialect of UNIX—in the 1990s, was ported into Windows. The code is now available under the name RVS4W (RVS for Windows). RVS, introduced already in the First Edition, is the software system I have used at McGill University’s Centre for Intelligent Machines to visualize robot motions in projects on design, control, and motion- planning. The original C-code, and the whole idea of RVS, is due to the creative work of John Darcovich, now a Senior Engineer at CAE Electronics Ltd., when he was a Research Engineer at McGill University’s Robotic Mechanical Systems Laboratory. In the Fourth Edition, I include new photographs that replaced old ones. For the magnificent animation of space robots, included in the above site, I am indebted to the Canadian Space Agency and MDA, the Brampton, Ontario-based manufacturer of Canadarm and Canadarm2. Since there is always room for improvement, I welcome suggestions from the readership, to the address below. Updates on the book will be posted at www.cim.mcgill.ca/~rmsl The Solutions Manual has been expanded to include more solutions of sampled problems. By the same token, the number of exercises has been expanded. The manual is typeset in LATEX and contains numerous figures; it is available from the publisher upon request. In closing, I would like to thank Dr. Xiaoqing Ma, who assisted me with the editing of the Fourth Edition and the production of a few figures. Dr. Waseem A. Khan, now a Senior Research Engineer at Montreal-based Jabez Technologies Inc., is to be thanked for the excellent additional drawings required by the Third Edition, besides some coding, while he was a Ph.D. candidate at McGill University. Preface to the Fourth Edition ix Dr. Stéphane Caro, currently a researcher at France’s Ecole Centrale de Nantes, contributed with Matlab coding while working at McGill University’s Robotic Mechanical Systems Laboratory as a postdoctoral fellow. Montreal, QC, Canada Jorge Angeles Preface to the First Edition No todos los pensamientos son algorítmicos. —Mario Bunge1 The beginnings of modern robotics can be traced back to the late 1960s with the advent of the microprocessor, which made possible the computer control of a multiaxial manipulator. Since those days, robotics has evolved from a technology developed around this class of manipulators for the replaying of a preprogrammed task to a multidiscipline encompassing many branches of science and engineering. Research areas such as computer vision, artificial intelligence, and speech recogni- tion play key roles in the development and implementation of robotics; these are, in turn, multidisciplines supported by computer science, electronics, and control, at their very foundations. Thus we see that robotics covers a rather broad spectrum of knowledge, the scope of this book being only a narrow band of this spectrum, as outlined below. Contemporary robotics aims at the design, control, and implementation of systems capable of performing a task defined at a high level, in a language resembling those used by humans to communicate among themselves. Moreover, robotic systems can take on forms of all kinds, ranging from the most intangible, such as interpreting images collected by a space sound, to the most concrete, such as cutting tissue in a surgical operation. We can, therefore, notice that motion is not essential to a robotic system, for this system is meant to replace humans in many of their activities, moving being but one of them. However, since robots evolved from early programmable manipulators, one tends to identify robots with motion 1 Not all thinking processes are algorithmic—translation of the author—personal communication during the Symposium on the Brain-Mind Problem. A Tribute to Professor Mario Bunge on His 75th Birthday, Montreal, September 30, 1994. xi xii Preface to the First Edition and manipulation. Certainly, robots may rely on a mechanical system to perform their intended tasks. When this is the case, we can speak of robotic mechanical systems, which are the subject of this book. These tasks, in turn, can be of a most varied nature, mainly involving motions such as manipulation, but they can also involve locomotion. Moreover, manipulation can be as simple as displacing objects from a belt conveyor to a magazine. On the other hand, manipulation can also be as complex as displacing these objects while observing constraints on both motion and force, e.g., when cutting live tissue of vital organs. We can, thus, distinguish between plain manipulation and dextrous manipulation. Furthermore, manipulation can involve locomotion as well. The task of a robotic mechanical system is, hence, intimately related to motion control, which warrants a detailed study of mechanical systems as elements of a robotic system. The aim of this book can, therefore, be stated as establishing the foundations on which the design, control, and implementation of robotic mechanical systems are based. The book evolved from sets of lecture notes developed at McGill University over the last 12 years, while I was teaching a two-semester sequence of courses on robotic mechanical systems. For this reason, the book comprises two parts—an introductory and an intermediate part on robotic mechanical systems. Advanced topics, such as redundant manipulators, manipulators with flexible links and joints, and force control, are omitted. The feedback control of robotic mechanical systems is also omitted, although the book refers the reader, when appropriate, to the specialized literature. An aim of the book is to serve as a textbook in a 1-year robotics course; another aim is to serve as a reference to the practicing engineer. The book assumes some familiarity with the mathematics taught in any engineer- ing or science curriculum in the first 2 years of college. Familiarity with elementary mechanics is helpful, but not essential, for the elements of this science needed to understand the mechanics of robotic systems are covered in the first three chapters, thereby making the book self-contained. These three chapters, moreover, are meant to introduce the reader to the notation and the basics of mathematics and rigid-body mechanics needed in the study of the systems at hand. The material covered in the same chapters can thus serve as reading material for a course on the mathematics of robotics, intended for sophomore students of science and engineering, prior to a more formal course on robotics. The first chapter is intended to give the reader an overview of the subject matter and to highlight the major issues in the realm of robotic mechanical systems. Chapter 2 is devoted to notation, nomenclature, and the basics of linear transformations to understand best the essence of rigid-body kinematics, an area that is covered in great detail throughout the book. A unique feature of this chapter is the discussion of the hand–eye calibration problem: Many a paper has been written in an attempt to solve this fundamental problem, always leading to a cumbersome solution that invokes nonlinear-equation solving, a task that invariably calls for an iterative procedure; moreover, within each iteration, a singular-value decomposition, itself iterative as well, is required. In Chap. 2, a novel approach is introduced, which resorts to invariant properties of rotations and leads to a direct Preface to the First Edition xiii solution, involving straightforward matrix and vector multiplications. Chapter 3 reviews, in turn, the basic theorems of rigid-body kinetostatics and dynamics. The viewpoint here represents a major departure from most existing books on robotic manipulators: proper orthogonal matrices can be regarded as coordinate transformations indeed, but they can also be regarded as representations, once a coordinate frame has been selected, of rigid-body rotations. I adopt the latter viewpoint, and hence fundamental concepts are explained in terms of their invariant properties, i.e., properties that are independent of the coordinate frame adopted. Hence, matrices are used first and foremost to represent the physical motions undergone by rigid bodies and systems thereof; they are to be interpreted as such when studying the basics of rigid-body mechanics in this chapter. Chapter 4 is the first chapter entirely devoted to robotic mechanical systems, properly speaking. This chapter covers extensively the kinematics of robotic manipulators of the serial type. However, as far as displacement analysis is concerned, the chapter limits itself to the simplest robotic manipulators, namely, those with a decoupled architecture, i.e., those that can be decomposed into a regional architecture for the positioning of one point of their end-effector (EE), and a local architecture for the orientation of their EE. In this chapter, the notation of Denavit and Hartenberg is introduced and applied consistently throughout the book. Jacobian matrices, workspaces, singularities, and kinetostatic performance indices are concepts studied in this chapter. A novel algorithm is included for the determination of the workspace boundary of positioning manipulators. Furthermore, Chap. 5 is devoted to the topic of trajectory planning, while limiting its scope to problems suitable to a first course on robotics; this chapter thus focuses on pick-and-place operations. Chapter 6, moreover, introduces the dynamics of robotic manipulators of the serial type, while discussing extensively the recursive Newton–Euler algorithm and laying the foundations of multibody dynamics, with an introduction to the Euler–Lagrange formulation. The latter is used to derive the general algebraic structure of the mathematical models of the systems under study, thus completing the introductory part of the book. The intermediate part comprises four chapters. Chapter 7 is devoted to the increasingly important problem of determining the angular velocity and the angular acceleration of a rigid body, when the velocity and acceleration of a set of its points are known. Moreover, given the intermediate level of the chapter, only the theoret- ical aspects of the problem are studied, and hence, perfect measurements of point position, velocity, and acceleration are assumed, thereby laying the foundations for the study of the same problems in the presence of noisy measurements. This problem is finding applications in the control of parallel manipulators, which is the reason why it is included here. If time constraints so dictate, this chapter can be omitted, for it is not needed in the balance of the book. The formulation of the inverse kinematics of the most general robotic manip- ulator of the serial type, leading to a univariate polynomial of the 16th degree, not discussed in previous books on robotics, is included in Chap. 8. Likewise, the direct kinematics of the platform manipulator popularly known as the Stewart platform, a.k.a. the Stewart–Gough platform, leading to a 16th-degree monovariate xiv Preface to the First Edition polynomial, is also given due attention in this chapter. Moreover, an alternative approach to the monovariate-polynomial solution of the two foregoing problems, that is aimed at solving them semigraphically, is introduced in this chapter. With this approach, the underlying multivariate algebraic system of equations is reduced to a system of two nonlinear bivariate equations that are trigonometric rather than polynomial. Each of these two equations, then, leads to a contour in the plane of the two variables, the desired solutions being found as the coordinates of the intersections of the two contours. Discussed in Chap. 9 is the problem of trajectory planning as pertaining to continuous paths, which calls for some concepts of differential geometry, namely, the Frenet–Serret equations relating the tangent, normal, and binormal vectors of a smooth curve to their rates of change with respect to the arc length. The chapter relies on cubic parametric splines for the synthesis of the generated trajectories in joint space, starting from their descriptions in Cartesian space. Finally, Chap. 10 completes the discussion initiated in Chap. 6, with an outline of the dynamics of parallel manipulators and rolling robots. Here, a multibody dynamics approach is introduced, as in the foregoing chapter, that eases the formulation of the underlying mathematical models. Two appendices are included: Appendix A summarizes a series of facts from the kinematics of rotations, that are available elsewhere, with the purpose of rendering the book self-contained; Appendix B is devoted to the numerical solution of over- and underdetermined linear algebraic systems, its purpose being to guide the reader to the existing robust techniques for the computation of least-square and minimum- norm solutions. The book concludes with a set of problems, along with a list of references, for all ten chapters. On Notation The important issue of notation is given due attention. In figuring out the notation, I have adopted what I call the C 3 norm. Under this norm, the notation should be 1. C omprehensive, 2. C oncise, and 3. C onsistent. Within this norm, I have used boldface fonts to indicate vectors and matrices, with uppercases reserved for matrices and lowercases for vectors. In compliance with the invariant approach adopted at the outset, I do not regard vectors solely as arrays, but as geometric or mechanical objects. Regarding such objects as arrays is necessary only when it is required to perform operations with them for a specific purpose. An essential feature of vectors in a discussion is their dimension, which is indicated with a single number, as opposed to the convention whereby vectors are regarded as matrix arrays of numbers; in this convention, the dimension has to be indicated with two numbers, one for the number of columns, and one for the number of rows; Preface to the First Edition xv in the case of vectors, the latter is always one, and hence need not be mentioned. Additionally, calligraphic literals are reserved for sets of points or of other objects. Since variables are defined every time that they are introduced, and the same variable is used in the book to denote different concepts in different contexts, a list of symbols is not included. How to Use the Book The book can be used as a reference or as a text for the teaching of the mechanics of robots to an audience that ranges from junior undergraduates to doctoral students. In an introductory course, the instructor may have to make choices regarding what material to skip, given that the duration of a regular semester does not allow to cover all that is included in the first six chapters. Topics that can be skipped, if time so dictates, are the discussions, in Chap. 4, of workspaces and performance indices, and the section on simulation in Chap. 6. Under strict time constraints, the whole Chap. 5 can be skipped, but then, the instructor will have to refrain from assigning problems or projects that include calculating the inverse dynamics of a robot performing pick-and-place operations. None of these has been included in Sect. 6 of the Exercises. If sections of Chaps. 4 and 5 have been omitted in a first course, it is highly advisable to include them in a second course, prior to discussing the chapters included in the intermediate part of the book. Acknowledgments For the technical support received during the writing of this book, I am indebted to many people: First and foremost, Eric Martin and Ferhan Bulca, Ph.D. candidates under my cosupervision, are deeply thanked for their invaluable help and unlimited patience in the editing of the manuscript and the professional work displayed in the production of the drawings. With regard to this task, Dr. Max A. González- Palacios, currently Assistant Professor of Mechanical Engineering at Universidad Iberoamericana at León, Mexico, is due special recognition for the high standards he set while working on his Ph.D. at McGill University. My colleagues Ken J. Waldron, Clément Gosselin, and Jean-Pierre Merlet contributed with constructive criticism. Dr. Andrés Kecskeméthy proofread major parts of the manuscript during his sabbatical leave at McGill University. In doing this, Dr. Kecskeméthy corrected a few derivations that were flawed. Discussions on geometry and analysis held with Dr. Manfred Husty, of Leoben University, in Austria, also a sabbaticant at McGill University, were extremely fruitful in clearing up many issues in Chaps. 2 and 3. An early version of the manuscript was deeply scrutinized by Meyer Nahon, now Associate Professor at the University of Victoria, when he was completing his xvi Preface to the First Edition Ph.D. at McGill University. Discussions with Farzam Ranjbaran, a Ph.D. candidate at McGill University, on kinetostatic performance indices, helped clarify many concepts around this issue. Dr. Kourosh Etemadi Zanganeh contributed with ideas for a more effective discussion of the parametric representation of paths in Chap. 9 and with some of the examples in Chaps. 4 and 8 during his work at McGill University as a Ph.D. student. The material supplied by Clément Gosselin on trajectory planning helped me start the writing of Chap. 5. All individuals and institutions who contributed with graphical material are given due credit in the book. Here, they are all deeply acknowledged. A turning point in writing this manuscript was the academic year 1991– 1992, during which I could achieve substantial progress while on sabbatical leave at the Technical University of Munich under an Alexander von Humboldt Research Award. Deep gratitude is expressed here to both the AvH Foundation and Prof. Friedrich Pfeiffer, Director of the Institute B for Mechanics and my host in Munich. Likewise, Prof. Manfred Broy, of the Computer Science Institute at the Technical University of Munich, is herewith acknowledged for having given me access to his Unix network when the need arose. The intellectual environment at the Technical University of Munich was a source of encouragement and motivation to pursue the writing of the book. Moreover, financial support from NSERC2 and Quebec’s FCAR,3 in the form of research and strategic grants, is duly acknowledged. IRIS,4 a network of Canadian centers of excellence, supported this work indirectly through project grants in the areas of robot design and robot control. An invaluable tool in developing material for the book proved to be RVS, the McGill Robot Visualization System, developed in the framework of an NSERC Strategic Grant on robot design, and the two IRIS project grants mentioned above. RVS was developed by John Darcovich, a Software Engineer at McGill University for about 4 years, and now at CAE Electronics Ltd., of Saint-Laurent, Quebec. While RVS is user-friendly and available upon request, no technical support is offered. For further details on RVS, the reader is invited to look at the home page of the McGill University Centre for Intelligent Machines: http://www.cim.mcgill.ca/~rvs Furthermore, Lenore Reismann, a professional technical editor based in Red- wood City, California, proofread parts of the manuscript and edited its language with great care. Lenore’s professional help is herewith highly acknowledged. Dr. Rüdiger Gebauer, mathematics editor at Springer-Verlag, New York, is gratefully acknowl- edged for his encouragement in pursuing this project. Springer-Verlag’s Dr. Thomas von Foerster is likewise acknowledged for the care with which he undertook the production of the book, and also his colleague Steven Pisano, for his invaluable help in the copy-editing of the final draft. Steven and his staff not only took care 2 Natural Sciences and Engineering Research Council of Canada. 3 Fonds pour la formation de chercheurs et l’aide à la recherche. 4 Institute for Robotics and Intelligent Systems. Preface to the First Edition xvii of the fine points of the typesetting but also picked up a few technical flaws in that draft. Last but not least, may I acknowledge the excellent facilities and research environment provided by the Centre for Intelligent Machines, the Department of Mechanical Engineering of McGill University, and McGill University as a whole, which were instrumental in completing this rather lengthy project. Montreal, QC, Canada Jorge Angeles Contents 1 An Overview of Robotic Mechanical Systems........................... 1 1.1 Introduction........................................................... 1 1.2 The General Architecture of Robotic Mechanical Systems........ 3 1.2.1 Types of Robots by Function............................... 7 1.2.2 Types of Robots by Size.................................... 7 1.2.3 Types of Robots by Application........................... 7 1.3 Manipulators.......................................................... 8 1.3.1 Robotic Arms............................................... 9 1.3.2 Robotic Hands.............................................. 10 1.4 Motion Generators................................................... 12 1.4.1 Parallel Robots.............................................. 12 1.4.2 SCARA Systems........................................... 15 1.5 Locomotors........................................................... 17 1.5.1 Legged Robots.............................................. 17 1.5.2 Wheeled Robots and Rovers............................... 19 1.6 Swimming Robots.................................................... 23 1.7 Flying Robots......................................................... 24 1.8 Exercises.............................................................. 24 2 Mathematical Background................................................ 27 2.1 Preamble.............................................................. 27 2.2 Linear Transformations.............................................. 28 2.3 Rigid-Body Rotations................................................ 33 2.3.1 The Cross-Product Matrix.................................. 37 2.3.2 The Rotation Matrix........................................ 41 2.3.3 The Linear Invariants of a 3 3 Matrix................... 44 2.3.4 The Linear Invariants of a Rotation........................ 46 2.3.5 Examples.................................................... 48 2.3.6 The Euler–Rodrigues Parameters.......................... 55 2.4 Composition of Reflections and Rotations.......................... 58 xix xx Contents 2.5 Coordinate Transformations and Homogeneous Coordinates...... 60 2.5.1 Coordinate Transformations Between Frames with a Common Origin..................................... 60 2.5.2 Coordinate Transformation with Origin Shift............. 64 2.5.3 Homogeneous Coordinates................................. 66 2.6 Similarity Transformations.......................................... 70 2.7 Invariance Concepts.................................................. 76 2.7.1 Applications to Redundant Sensing....................... 81 2.8 Exercises.............................................................. 85 3 Fundamentals of Rigid-Body Mechanics................................ 95 3.1 Introduction........................................................... 95 3.2 General Rigid-Body Motion and Its Associated Screw............ 95 3.2.1 The Screw of a Rigid-Body Motion....................... 99 3.2.2 The Plücker Coordinates of a Line........................ 102 3.2.3 The Pose of a Rigid Body.................................. 105 3.3 Rotation of a Rigid Body About a Fixed Point..................... 108 3.4 General Instantaneous Motion of a Rigid Body.................... 109 3.4.1 The Instant Screw of a Rigid-Body Motion............... 110 3.4.2 The Twist of a Rigid Body................................. 114 3.5 Acceleration Analysis of Rigid-Body Motions..................... 117 3.6 Rigid-Body Motion Referred to Moving Coordinate Axes........ 120 3.7 Static Analysis of Rigid Bodies..................................... 121 3.8 Dynamics of Rigid Bodies........................................... 125 3.9 Exercises.............................................................. 131 4 Geometry of Decoupled Serial Robots................................... 139 4.1 Introduction........................................................... 139 4.2 The Denavit–Hartenberg Notation.................................. 139 4.3 The Geometric Model of Six-Revolute Manipulators.............. 150 4.4 The Inverse Displacement Analysis of Decoupled Manipulators.. 154 4.4.1 The Positioning Problem................................... 154 4.4.2 The Orientation Problem................................... 171 4.5 Exercises.............................................................. 179 5 Kinetostatics of Serial Robots............................................. 185 5.1 Introduction........................................................... 185 5.2 Velocity Analysis of Serial Manipulators........................... 186 5.2.1 Decoupled Manipulators................................... 191 5.3 Jacobian Evaluation.................................................. 194 5.3.1 Evaluation of Submatrix A................................. 195 5.3.2 Evaluation of Submatrix B................................. 197 5.4 Singularity Analysis of Decoupled Manipulators................... 199 5.4.1 Manipulator Workspace.................................... 202 5.5 Acceleration Analysis of Serial Manipulators...................... 206 5.6 Static Analysis of Serial Manipulators.............................. 210 Contents xxi 5.7 Planar Manipulators.................................................. 212 5.7.1 Displacement Analysis..................................... 214 5.7.2 Velocity Analysis........................................... 216 5.7.3 Acceleration Analysis...................................... 218 5.7.4 Static Analysis.............................................. 220 5.8 Kinetostatic Performance Indices................................... 221 5.8.1 Positioning Manipulators................................... 228 5.8.2 Orienting Manipulators..................................... 231 5.8.3 Positioning and Orienting Manipulators................... 232 5.8.4 Computation of the Characteristic Length: Applications to Performance Evaluation.................. 240 5.9 Exercises.............................................................. 249 6 Trajectory Planning: Pick-and-Place Operations....................... 255 6.1 Introduction........................................................... 255 6.2 Background on PPO.................................................. 256 6.3 Polynomial Interpolation............................................. 258 6.3.1 A 3-4-5 Interpolating Polynomial.......................... 258 6.3.2 A 4-5-6-7 Interpolating Polynomial....................... 262 6.4 Cycloidal Motion..................................................... 265 6.5 Trajectories with via Poses........................................... 267 6.6 Synthesis of PPO Using Cubic Splines............................. 269 6.7 Exercises.............................................................. 277 7 Dynamics of Serial Robotic Manipulators............................... 281 7.1 Introduction........................................................... 281 7.2 Inverse vs. Forward Dynamics....................................... 281 7.3 Fundamentals of Multibody System Dynamics..................... 283 7.3.1 On Nomenclature and Basic Definitions.................. 283 7.3.2 The Euler–Lagrange Equations of Serial Manipulators.. 284 7.3.3 Kane’s Equations........................................... 293 7.4 Recursive Inverse Dynamics......................................... 294 7.4.1 Kinematics Computations: Outward Recursions.......... 295 7.4.2 Dynamics Computations: Inward Recursions............. 301 7.5 The Natural Orthogonal Complement............................... 306 7.5.1 Derivation of Constraint Equations and Twist–Shape Relations..................................... 311 7.5.2 Noninertial Base Link...................................... 316 7.6 Manipulator Forward Dynamics..................................... 317 7.6.1 Planar Manipulators........................................ 330 7.6.2 Algorithm Complexity..................................... 335 7.6.3 Simulation.................................................. 339 7.7 Incorporation of Gravity into the Dynamics Equations............ 342 7.8 The Modeling of Dissipative Forces................................. 343 7.9 Exercises.............................................................. 346 xxii Contents 8 Special Topics in Rigid-Body Kinematics................................ 353 8.1 Introduction........................................................... 353 8.2 Computation of Angular Velocity from Point-Velocity Data....... 353 8.2.1 A Robust Formulation...................................... 360 8.3 Computation of Angular Acceleration from Point-Acceleration Data....................................... 362 8.3.1 A Robust Formulation...................................... 369 8.4 Exercises.............................................................. 370 9 Geometry of General Serial Robots...................................... 375 9.1 Introduction........................................................... 375 9.2 The IDP of General Six-Revolute Manipulators.................... 375 9.2.1 Preliminaries................................................ 377 9.2.2 Derivation of the Fundamental Closure Equations........ 381 9.3 The Univariate-Polynomial Approach.............................. 390 9.3.1 The Raghavan–Roth Procedure............................ 390 9.3.2 The Li–Woernle–Hiller Procedure......................... 398 9.4 The Bivariate-Equation Approach................................... 401 9.4.1 Numerical Conditioning of the Solutions................. 403 9.5 Implementation of the Solution Method............................ 404 9.6 Computation of the Remaining Joint Angles....................... 406 9.6.1 The Raghavan–Roth Procedure............................ 406 9.6.2 The Li–Woernle–Hiller Procedure......................... 407 9.6.3 The Bivariate-Equation Approach......................... 408 9.7 Examples............................................................. 410 9.8 Exercises.............................................................. 418 10 Kinematics of Alternative Robotic Mechanical Systems............... 421 10.1 Introduction........................................................... 421 10.2 Kinematics of Parallel Manipulators................................ 421 10.2.1 Velocity and Acceleration Analyses of Parallel Manipulators.................................... 436 10.3 Multifingered Hands................................................. 442 10.4 Walking Machines.................................................... 447 10.5 Rolling Robots....................................................... 450 10.5.1 Robots with Conventional Wheels......................... 451 10.5.2 Robots with Omnidirectional Wheels..................... 457 10.6 Exercises.............................................................. 461 11 Trajectory Planning: Continuous-Path Operations.................... 465 11.1 Introduction........................................................... 465 11.2 Curve Geometry...................................................... 466 11.3 Parametric Path Representation...................................... 472 11.4 Parametric Splines in Trajectory Planning.......................... 486 11.5 Continuous-Path Tracking........................................... 492 11.6 Exercises.............................................................. 501 Contents xxiii 12 Dynamics of Complex Robotic Mechanical Systems................... 507 12.1 Introduction........................................................... 507 12.2 Classification of Robotic Mechanical Systems with Regard to Dynamics............................................ 507 12.3 The Structure of the Dynamics Models of Holonomic Systems............................................... 509 12.4 Dynamics of Parallel Manipulators.................................. 512 12.5 Dynamics of Rolling Robots......................................... 523 12.5.1 Robots with Conventional Wheels......................... 524 12.5.2 Robots with Omnidirectional Wheels..................... 534 12.6 Exercises.............................................................. 543 Erratum........................................................................... E-1 A Kinematics of Rotations: A Summary.................................... 547 B Numerical Equation-Solving.............................................. 555 B.1 The Overdetermined Linear Case................................... 556 B.1.1 The Numerical Solution of an Overdetermined System of Linear Equations................................ 558 B.2 The Underdetermined Linear Case.................................. 562 B.2.1 The Numerical Solution of an Underdetermined System of Linear Equations.................................................... 563 B.3 Nonlinear-Equation Solving: The Determined Case............... 564 B.3.1 The Newton–Raphson Method............................. 566 B.4 Overdetermined Nonlinear Systems of Equations.................. 568 B.4.1 The Newton–Gauss Method............................... 568 B.4.2 Convergence Criterion...................................... 569 References......................................................................... 573 Index............................................................................... 583 Chapter 1 An Overview of Robotic Mechanical Systems 1.1 Introduction In defining the scope of our subject, we have to establish the genealogy of robotic mechanical systems. These are, obviously, a subclass of the much broader class of mechanical systems. Mechanical systems, in turn, constitute a subset of the more general concept of dynamic systems. In the end, we must have an idea of what, in general, a system is. The Concise Oxford Dictionary defines system as a “complex whole, set of connected things or parts, organized body of material or immaterial things,” whereas the Random House College Dictionary defines the same as “an assemblage or combination of things or parts forming a complex or unitary whole.” Le Petit Robert, in turn, defines system as “Ensemble possédant une structure, constituant un tout organique,” which can be loosely translated as “A structured assemblage constituting an organic whole.” In the foregoing definitions, we note that the underlying idea is that of a set of elements interacting as a whole. On the other hand, a dynamic system is a subset of the set of systems. For our purposes, we can dispense with a rigorous definition of this concept. Suffice it to say that, to qualify as dynamic, a system should be endowed with three elements, namely, a state, an input, and an output, in addition to a rule of transition from one current state to a future one. Moreover, the state is a functional of the input and a function of a previous state. In this concept, then, the idea of order is important, and can be taken into account by properly associating each state value with time. The state at every instant is a functional, as opposed to a function, of the input, which is characteristic of dynamic systems. This means that the state of a dynamic system at a certain instant is determined not only by the value of the input at that instant, but Electronic supplementary material The online version of this article (doi: 10.1007/978-3-319- 01851-5_1) contains supplementary material, which is available to authorized users. J. Angeles, Fundamentals of Robotic Mechanical Systems: Theory, Methods, 1 and Algorithms, Mechanical Engineering Series 124, DOI 10.1007/978-3-319-01851-5__1, © Springer International Publishing Switzerland 2014 2 1 An Overview of Robotic Mechanical Systems also by the past history of the input—besides, of course, its initial state. By virtue of this property, dynamic systems are said to have memory. On the contrary, systems whose state at a given instant is only a function of the input at the current time are static, and said to have no memory. Additionally, since the state of a dynamic system is a result of all the past history of the input, the future values of this having no influence on the state, dynamic systems are said to be nonanticipative or causal. By the same token, systems whose state is the result of future values of the input are said to be anticipative or noncausal. In fact, we need not worry about the latter, and hence, all systems we will study will be assumed to be causal. Obviously, a mechanical system is a system composed of mechanical elements. If this system complies with the definition of dynamic system, then we end up with a dynamic mechanical system. For brevity, we will refer to such systems as mechan- ical systems, the dynamic property being implicit throughout the book. Mechanical systems of this type are those that occur whenever the inertia of their elements is accounted for. Static mechanical systems are those in which inertia is neglected. Moreover, the elements constituting a mechanical system are rigid and deformable solids, compressible and incompressible fluids, and inviscid and viscous fluids. From the foregoing discussion, then, it is apparent that mechanical systems can be constituted either by lumped-parameter or by distributed-parameter elements. The former reduce to particles; rigid bodies; massless, conservative springs; and massless, nonconservative dashpots. The latter appear whenever bodies are modeled as continuous media. In this book, we will focus on lumped-parameter mechanical systems. In mechanical systems, the driving forces and moments exerted by the actuators and the environment play the role of the input, the set of signals picked up by the sensors that of the output. Finally, the rules of transition are dictated by the laws of nature, especially from mechanics, electromagnetics and biology. Furthermore, a mechanical system can be either natural or engineered,1 the latter being the subject of our study. Engineered mechanical systems can be either controlled or uncontrolled. Most engineering systems are controlled mechanical systems, and hence, we will focus on these. Moreover, a controlled mechanical system may be robotic or nonrobotic. The latter are systems supplied with primitive controllers, mostly analog, such as thermostats, servovalves, etc. Robotic mechan- ical systems, in turn, can be programmable, such as most current industrial robots, or intelligent, as discussed below. Programmable mechanical systems obey motion commands either stored in a memory device or generated on-line. In either case, they need sensors, such as joint encoders, accelerometers, and dynamometers. Intelligent robots or, more broadly speaking, intelligent machines, are yet to be demonstrated, but have become the focus of intensive research. If intelligent 1 In the previous editions we had used the term “man-made” instead. To avoid a gender-biased terminology, we could have used “artificial,” but this term, while meaning “human-made,” also has a negative connotation: “lacking in natural or spontaneous quality.” 1.2 The General Architecture of Robotic Mechanical Systems 3 machines are ever feasible, they will depend highly on a sophisticated sensory system and the associated hardware and software for the processing of the infor- mation supplied by the sensors. The processed information would then be supplied to the actuators in charge of producing the desired robot motion. Contrary to pro- grammable robots, whose operation is limited to structured environments, intelligent machines should be capable of reacting to unpredictable changes in an unstructured environment. Thus, intelligent machines should be supplied with decision-making capabilities aimed at mimicking the natural decision-making process of living organisms. This is the reason why such systems are termed intelligent in the first place. Thus, intelligent machines are expected to perceive their environment and draw conclusions based on this perception. What is supposed to make these systems intelligent is their capability of perceiving, which involves a certain element of subjectivity. By far, the most complex of perception tasks, both in humans and machines, is visual (Levine 1985; Horn 1986). In summary, then, an intelligent machine is expected to (a) perceive the environ- ment; (b) reason about this perception; (c) make decisions based on this reasoning; and (d) act according to a plan specified at a very high level. What the latter means is that the motions undergone by the machine are decided upon based on instructions similar to those given to a human being, like bring me a glass of water without spilling the water. Whether intelligent machines with all the above features will be 1 day possible or not is still a subject of discussion, sometimes at a philosophical level. Penrose (1994) wrote a refutal to the claim that intelligent machines are possible. A genealogy of mechanical systems, including robotic ones, is given in Fig. 1.1. In that figure, we have drawn a dashed line between mechanical systems and other systems, both engineered and natural. This line is intended to emphasize the interaction of mechanical systems with electrical, thermal, and other systems, including the human system, which is present in telemanipulators, to be discussed below. 1.2 The General Architecture of Robotic Mechanical Systems From Sect. 1.1, then, a robotic mechanical system is composed of a few subsystems, namely, (a) a mechanical subsystem composed in turn of both rigid and deformable bodies, although the systems we will study here are composed only of the former; (b) a sensing subsystem; (c) an actuation subsystem; (d) a controller; and (e) an information-processing subsystem. Additionally, these subsystems communicate among themselves via interfaces, whose function consists basically of decoding the transmitted information from one medium to another. Figure 1.2 illustrates the 4 1 An Overview of Robotic Mechanical Systems Fig. 1.1 A genealogy of robotic mechanical systems Fig. 1.2 General architecture of a robotic mechanical system 1.2 The General Architecture of Robotic Mechanical Systems 5 general architecture2 of a typical robotic mechanical system. The input here is a prescribed task, which is defined either on the spot or off-line. The former case is essential for a machine to be called intelligent, while the latter is present in programmable machines. Thus, tasks would be described to intelligent machines by a software system based on techniques of artificial intelligence (AI). This system would replace the human being in the decision-making process. Programmable robots require human intervention either for the coding of preprogrammed tasks at a very low level or for telemanipulation. A “very low level of programming” means that the motions of the machine are specified as a sequence of either joint motions or Cartesian coordinates associated with landmark points of that specific body performing the task at hand. The output of a robotic mechanical system is the actual task, which is monitored by the sensors. The sensors, in turn, transmit task information in the form of feedback signals, to be compared with the prescribed task. The errors between the prescribed and the actual task are then fed back into the controller, which further synthesizes the necessary corrective signals. These are, in turn, fed back into the actuators, which then drive the mechanical system through the required task, thereby closing the loop. The problem of robot control has received extensive attention in the literature, and will not be pursued here. The interested reader is referred to the excellent works on the subject, e.g., those of Samson et al. (1991), Khalil and Dombre (2002); and Spong et al. (2006). Of special relevance to robot control is the subject of nonlinear control at large, a pioneer here being Isidori (1989). Robotic mechanical systems with a human being in their control loop are called telemanipulators. Thus, a telemanipulator is a robotic mechanical system in which the task is controlled by a human, possibly aided by sophisticated sensors and display units. The human operator replaces the ROBOT MODEL block in the diagram of Fig. 1.2, produces the task description, becomes a part of the sensory system, and plays a major role in the INFORMATION PROCESSING UNIT block. Based on the information displayed, the operator makes decisions about corrections in order to accomplish the prescribed task. Shown in Fig. 1.3 is a telemanipulator designed for space applications, namely, the Canadarm2, along with DEXTRE, the Special-Purpose Dextrous Manipulator (SPDM), both mounted on the Mobile Servicing System (MSS), a module of the International Space Station. Moreover, a detailed view of DEXTRE is shown in Fig. 1.4. In the manipulators of these two figures, the human operator is an astronaut who commands and monitors the motions of the robot from inside the EVA (extravehicular activity) workstation. The number of controlled axes of each of these manipulators being larger than 2 In Chap. 4 we introduce the concept of robotic architecture, to indicate the geometry of the underlying mechanical system. We refer here to the “general architecture” of the whole robotic system, to distinguish between the two concepts. 6 1 An Overview of Robotic Mechanical Systems Fig. 1.3 Canadarm2 and DEXTRE (courtesy of the Canadian Space Agency) Fig. 1.4 DEXTRE, the special-purpose dextrous manipulator (courtesy of the Canadian Space Agency) six, both are termed redundant. The challenge here is that the mapping from task coordinates to joint motions is not unique, and hence, among the infinitely many joint trajectories that the operator has at his or her disposal for a given task, an on-board processor must evaluate the best one according to a performance criterion. 1.2 The General Architecture of Robotic Mechanical Systems 7 1.2.1 Types of Robots by Function When the first edition was written, in the early nineties, the classification of robots was rather straightforward, for there were mainly two kinds: serial and parallel. Nowadays a robot classification is a daunting task, by virtue of the intense activity displayed in the areas of robotics research, robot design, innovation and applications. For example, a look at the proceedings of a recent edition of the IEEE International Conference on Robotics and Automation will reveal a vast spectrum of robots currently working on the shopfloor, in the operating room, in rehabilitation centers, and even at home. In attempting a classification of robots, the most comprehensive criterion would be by function. We thus have a tentative, but by no means comprehensive, classification: Manipulators: robotic arms and hands; motion generators: flight simulators; SCARA (Selective-Compliance Assembly Robot Arm); and moving platforms at large; locomotors, a.k.a. mobile robots: legged and wheeled robots, including rovers; swimming robots; and flying robots. We expand below on these robot types. 1.2.2 Types of Robots by Size The most common type of robots under this criterion is macro-robots, or those whose dimensions are measured in meter. These are robots with a reach of typically a couple of meters. Shown in Fig. 1.5 is a heavy-duty robot, IRB-7600, manufactured by ABB Robotics, with a reach of 2.800 m and a load-carrying capacity of 3,332 N. This robot finds applications mainly in the manipulation of heavy parts in the automobile industry. Micro-robots bear dimensions allowing them a reach of a fraction of a mm. For example, the robot reported by Sun et al. (2005) for MEMS (micro-electromechanical systems) assembly, features a maximum reach of 100 m in each of two orthogonal directions and one of 50 m in a direction orthogonal to these two. 1.2.3 Types of Robots by Application Robot applications have widespread as much as robot architectures. Current applications span the classical industrial robots for arc-welding, for example, on to material-handling, surveillance, surgical operations, rehabilitation and entertainment. 8 1 An Overview of Robotic Mechanical Systems Fig. 1.5 The IRB-7600, a heavy-duty robotic arm with a serial architecture (courtesy of ABB robotics) 1.3 Manipulators Of all robotic mechanical systems, manipulators deserve special attention for various reasons. One is that, in their simplest form, as robotic arms, they occur most frequently in industry. Another is that the architecture of robotic arms constitutes the simplest of all robotic architectures, and hence, appear as constituents of other, more complex robotic mechanical systems, as will become apparent in later chapters. A manipulator, in general, is a mechanical system aimed at object manipulation. Manipulating, in turn, means to move something with one’s hands, as the word derives from the Latin manus, meaning hand. The basic idea behind the foregoing concept is that hands are among the organs that the human brain can control mechanically with the highest accuracy, as the work of an artist like Picasso, of an accomplished guitar player, or of a surgeon can attest. A manipulator is thus any device that helps a human operator perform a manipulating task. Although manipulators have existed ever since man created the first tool, only very recently, namely, by the end of World War II, have manipulators developed to the extent that they are now capable of actually mimicking motions of the human arm, and of the human hand, for that matter. In fact, during WWII, the need arose for manipulating probe tubes containing radioactive substances. This led to the first six-degree-of-freedom (six-dof) manipulators. Shortly thereafter, the need for manufacturing workpieces with high accuracy arose in the aircraft industry, which led to the first numerically-controlled (NC) 1.3 Manipulators 9 machine tools. The synthesis of the six-DOF manipulator and the NC machine tool produced what became the robotic manipulator. Thus, the essential difference between the early manipulator and the evolved robotic manipulator is the “robotic” qualifier, which came into the picture in the late sixties. A robotic manipulator is to be distinguished from the early manipulator by its capability of lending itself to computer control. While the early manipulator needed the presence of a human in the loop, to have a master manipulator perform a gesture, the robotic manipulator can be programmed once and for all to repeat the same task forever. Programmable manipulators owe their existence to the microprocessor. Indeed, the microprocessor, introduced in 1976 by Intel, allowed a human master to teach the manipulator by actually driving the manipulator itself, or a replica thereof, through a desired task, while recording all motions undergone by the master. Thus, the manipulator would later repeat the identical task by mere playback. However, the capabilities of industrial robots are fully exploited only if the manipulator is programmed with software, rather than actually driving it through its task trajectory, which many a time, e.g., in car-body spot-welding, requires separating the robot from the production line for more than a week. One of the objectives of this book is to develop tools for the programming of robotic manipulators. Nevertheless, the capabilities offered by robotic mechanical systems go well beyond the mere playback of preprogrammed tasks. Current research aims to providing robotic systems with software and hardware that will allow them to make decisions on the spot and learn while performing a task. The implementation of such systems calls for task-planning techniques that fall beyond the scope of this book and, hence, will not be treated here. For a glimpse of such techniques, the reader is referred to the work of Latombe (1991) and the references therein. 1.3.1 Robotic Arms Robotic manipulators first appeared as mechanical systems resembling the human arm. Robotic arms are thus constituted by a mechanical system consisting of structurally robust links coupled by either rotational or translating joints, the former being called revolutes, the latter prismatic joints. Moreover, these structures are a concatenation of links, thereby forming an open kinematic chain, with each link coupled to a predecessor and a successor, except for the two end links, which are coupled only to either a predecessor or to a successor, but not to both. The robot displayed in Fig. 1.5 is an example of a robotic arm with strong links. Because of the serial nature of the coupling of links in this type of manipulator, even if they are supplied with structurally robust links, their load-carrying capacity and their stiffness is too low when compared with the other multiaxis machines, such as NC machine tools. Obviously, a low stiffness implies a low positioning accuracy. 10 1 An Overview of Robotic Mechanical Systems 1.3.2 Robotic Hands Besides the hand, other mechanical subsystems constituting the human manipu- lation system are the arm and the forearm. Moreover, the shoulder, coupling the arm with the torso, can be regarded as a spherical joint, i.e., the concatenation of three revolute joints with intersecting axes. Furthermore, the arm and the forearm are coupled via the elbow, with the forearm and the hand finally being coupled by the wrist. Frequently, the wrist is modeled as a spherical joint as well, while the elbow is modeled as a simple revolute joint. Robotic mechanical systems mimicking the motions of the arm and the forearm constitute the manipulators discussed above. Here we outline more sophisticated manipulation systems that aim to produce the motions of the human hand, i.e., robotic hands. These systems are designed to perform manipulation tasks, a distinction being made between simple manipulation and dextrous manipulation. What the former means is the simplest form, in which the fingers play a minor role, namely, by serving as simple static structures that keep an object rigidly attached to the palm of the hand—when the palm is regarded as a rigid body. As opposed to simple manipulation, dextrous manipulation involves a controlled motion of the grasped object with respect to the palm. Simple manipulation can be achieved with the aid of a manipulator and a gripper, and need not be further discussed here. The discussion here is about dextrous manipulation. In dextrous manipulation, the grasped object is required to move with respect to the palm of the grasping hand. This kind of manipulation appears in performing tasks that require high levels of accuracy, like handwriting or cutting tissue with a scalpel. Usually, grasping hands are multifingered, although some grasping devices exist that are constituted by a simple, open, highly redundant kinematic chain (Petti- nato and Stephanou 1989). The kinematics of grasping is discussed in Chap. 10. The basic kinematic structure of a multifingered hand consists of a palm, which plays the role of the base of a simple manipulator, and a set of fingers. Thus, kinematically speaking, a multifingered hand has a tree topology, i.e., it entails a common rigid body, the palm, and a set of jointed bodies emanating from the palm. Upon grasping an object with all the fingers, the chain becomes closed, with multiple loops. Moreover, the architecture of the fingers is that of a simple manipulator, consisting of a number—two to four—of revolute-coupled links playing the role of phalanges. However, unlike manipulators of the serial type, whose joints are all independently actuated, those of a mechanical finger are not and, in many instances, are driven by one single master actuator, the remaining joints acting as slaves. Many versions of multifingered hands exist: Stanford/JPL; Utah/MIT; TU Munich; Karlsruhe; Bologna; Leuven; Milan; Belgrade; and University of Toronto, among others. Of these, the Utah/MIT Hand (Jacobsen et al. 1984, 1986) is commercially available. This hand carries four fingers, one of which is opposed to the other three and hence, plays the role of the human thumb. Each finger consists, in turn, of four phalanges coupled by revolute joints; each of these is driven by two tendons that can deliver force only when in tension, each being actuated independently. The TU 1.3 Manipulators 11 Fig. 1.6 Two instances of robotic hands: (a) the four-fingered hydraulically actuated TU Munich Hand (courtesy of Prof. F. Pfeiffer); and (b) Université Laval’s, three-fingered SARAH (courtesy of Prof. C. Gosselin) Munich Hand, shown in Fig. 1.6a, is designed with four identical fingers laid out symmetrically on a hand palm. This hand is hydraulically actuated, and provided with a very high payload-to-weight ratio. Indeed, each finger weighs only 1.470 N, but can exert a force of up to 30 N. A three-fingered hand with 12 degrees of freedom and six actuators, SARAH, was designed at Université Laval’s Laboratoire de Robotique. This hand, illustrated in Fig. 1.6b, is twice as big as the human hand, weighs 88.2 N, and can hold a 686-N load (Laliberté et al. 2002). We outline below some problems and research trends in the area of dextrous hands. A key issue here is the programming of the motions of the fingers, which is a much more complicated task than the programming of a six-axis manipulator. In this regard, Liu et al. (1989) introduced a task-analysis approach intended to program robotic hand motions at a higher level. These researchers used a heuristic, knowledge-based approach. From an analysis of the various modes of grasping, they concluded that the requirements for grasping tasks are (a) stability, (b) manipulability, (c) torquability, and (d) radial rotatability. Stability is defined as a measure of the tendency of an object to return to its original position after disturbances. Manipulability, as understood in this context, is the ability to impart motion to the object while keeping the fingers in contact with the object. Torquability, or tangential rotatability, is the ability to rotate the long axis of an object—here the authors must assume that the manipulated objects are convex and can be approximated by three-axis ellipsoids, thereby distinguishing between a long and a short axis—with a minimum force, for a prescribed amount of torque. Finally, 12 1 An Overview of Robotic Mechanical Systems radial rotatability is the ability to rotate the grasped object about its long axis with minimum torque about the axis. Furthermore, Allen et al. (1989) introduced an integrated system of both hardware and software for dextrous manipulation. The system integrates force and position sensors with control commands for both the arm and the hand. To demon- strate the effectiveness of their system, the authors implemented a task consisting of removing a light bulb from its socket. Rus (1992) proposed, in turn, a paradigm allowing the high-level, task-oriented manipulation control of planar hands. While the technological aspects of dextrous manipulation are highly advanced, theoretical aspects are still under research in this area. An extensive literature survey, with 405 references on the subject of manipulation, was given by Reynaerts (1995). But that was the state of the art in the early nineties. In the 2005 IEEE International Conference on Robotics and Automation, there were five sessions on grasping, robotic-finger design, robotic hands and dextrous manipulation. An interesting approach to the programming of dextrous hands, programming by demonstration, was reported by Ekvall and Krajić (2005), under which the robotic hand is taught how to reproduce the grasping sequences of a human hand. The use of vision as a means of grasp-planning was also reported in this conference (Gockel et al. 2005). 1.4 Motion Generators Under this heading we include robotic systems designed to produce a certain class of motions for various purposes, ranging from manipulation tasks, e.g., the positioning of a camera for surveillance, to the orientation of a surgeon’s scalpel, on to moving platforms for pilot training, as in flight simulators, or for entertainment, to give people the realism of an earthquake or a roller-coaster, or simply of following a musical rhythm. Many a motion generator is supplied with a parallel architecture, as described below. 1.4.1 Parallel Robots Parallel robots were originally proposed to cope with the problems encountered with their serial counterparts (Merlet 2006), namely, a limited load-carrying capac- ity, low accuracy, and low stiffness. This kind of robot was thus introduced to withstand higher payloads with lighter links. In a parallel robot, we distinguish one base platform, one moving platform, and various legs or limbs. Each leg is, in turn, a kinematic chain of the serial type, whose end-links are the two platforms. Contrary to serial robots, all of whose joints are actuated, parallel robots are supplied with unactuated joints, which brings about a substantial difference between the two types. The presence of unactuated joints makes the analysis of parallel manipulators, in general, more complex than that of serial robots. 1.4 Motion Generators 13 Fig. 1.7 Université Laval’s Agile Eye, a three-degree-of-freedom spherical robot with a parallel architecture (courtesy of Prof. Clément Gosselin) A paradigm of parallel manipulators is the flight simulator, consisting of six legs actuated by hydraulic pistons. The flight simulator with this architecture motivated the early work, starting in the late eighties, on parallel robots. Recently, an explosion of novel designs of parallel robots has occurred, aimed at fast manipulation tasks. An example of these robots, departing from the architecture of flight simulators, is Université Laval’s Agile Eye, depicted in Fig. 1.7. This robot is designed with one fixed base and one moving platform, that carries a small camera. Base and platform are coupled by means of three identical legs, each composed of two links and three revolute joints.3 Moreover, the axes of all nine revolutes intersect at one single point, the center of the mechanical system. For this reason, all robot links move, with respect to the base, under pure rotation, with the robot center remaining fixed. All three direct-drive motors are mounted on the base, and actuate the proximal links of the legs. This robot can reportedly produce angular velocities of the camera as high as 1,000ı /s and angular accelerations of 20,000ı =s2. Other parallel robots have been designed for fast assembly operations, e.g., the Delta robot (Clavel 1988), developed at the Lausanne Federal Polytechnic Institute (EPFL). The Delta robot was designed to produce pure translations of its end- platform in 3D space. An instance of this robot, enhanced with a fourth joint of vertical axis, the FlexPicker, is shown in Fig. 1.8. This robot is designed with three identical legs, hanging from the ceiling, which is the robot base. Each leg carries one proximal link, coupled to the base by a revolute, which is actuated by the leg-motor. Furthermore, this link is coupled to the end-plate by means of two revolutes and 3 It can be appreciated in Fig. 1.7 that the proximal links are made up of two curved beams, each with an axis in the form of one-quarter of a circle. These two beams are rigidly fastened, with their planes forming a 90ı dihedral angle. 14 1 An Overview of Robotic Mechanical Systems Fig. 1.8 FlexPicker, a realization of EPFL’s Delta Robot (courtesy of ABB Robotics) one novel kinematic pair, the …-pair, which is nothing but a parallelogram four-bar linkage, the …-pair being located between the two revolutes. It is noteworthy that the FlexPicker is supplied with one additional actuated joint, at the interface between the moving platform of the original Delta Robot and the gripper, appearing in the figure as a cylindrical piece. This revolute is actuated from the base by means of a transmission mechanism stemming from the center of the base in the figure. Other instances of parallel robots can be cited: Hexa (Pierrot et al. 1991), developed at Université de Montpellier, as a six-degree-of-freedom extension of Clavel’s Delta Robot; Star (Hervé and Sparacino 1992), developed at Ecole Centrale of Paris; the Trussarm, developed at the University of Toronto Institute of Aerospace Studies (UTIAS), shown in Fig. 1.9a (Hughes et al. 1991); INRIA’s main gauche, or left hand, developed by Merlet (2006)4 and shown in Fig. 1.9b, which is used as an aid to another robot, possibly of the serial type, to enhance its dexterity; and McGill University’s parallel manipulator, intended as a shoulder module for 4 INRIA is France’s Institut National de Recherche en Informatique et en Automatique, the left hand, and other parallel robots having been developed at INRIA’s center at Sophia-Antipolis, France. 1.4 Motion Generators 15 Fig. 1.9 A sample of parallel manipulators: (a) the UTIAS Trussarm (courtesy of Prof. P. C. Hughes); (b) the Merlet left hand (courtesy of Dr. J.-P. Merlet); and (c) the Hayward shoulder module (courtesy of Prof. V. Hayward) orientation tasks (Hayward 1994), and capable of three-degree-of-freedom motions, produced by four hydraulic actuators, which gives the robot redundant actuation— Fig. 1.9c. 1.4.2 SCARA Systems SCARA is an acronym standing for Selective-Compliance Assembly Robot Arm, as coined by Hiroshi Makino (Makino and Furuya 1980), the inventor of this new 16 1 An Overview of Robotic Mechanical Systems class of robots. The class was proposed as a means to provide motion capabilities to the end-effector that are required by the assembly of printed-board circuits and other electronic devices with a flat geometry. Motions consist of three independent translations and one rotation about an axis of fixed orientation, usually vertical. These robots have received special attention because of their special structure, offering an extremely high stiffness about two axes of tilting—the axes normal to the axis of rotation. The first robots of this kind appeared with a serial architecture, involving three revolutes and one prismatic joint, the latter being located either at the base or at the end-effector. These robots have attained impressive performance, capable of cycle times of 500 ms or lower, for a standard pick-and-place operation consisting of: (a) upwards translation of 25 mm; (b) horizontal translation of 300 mm, concurrently rotating through an angle of 180ı ; and (c) downwards translation of 25 mm. The cycle is closed by returning to the original posture following exactly the same displacement program, but in the reverse order. Given the serial architecture of most SCARA systems, it appears that the cycle times are extremely difficult to cut further and the load-carrying capacity is equally difficult to increase. This state of affairs has motivated the emergence of alternative architectures, such as parallel or hybrid (serial-parallel). For example, Fanuc’s M410iB and ABB Robotics’ FlexPicker, shown in Fig. 1.8, feature hybrid SCARA architectures with long reaches, of around 3 m and payloads of above 2000 N. The manufacturers did this by means of parallelogram linkages capable of transmitting torque and motion from a common base, turning about a vertical axis, to two horizontal revolute joints, the fourth revolute having a vertical axis. Interestingly, although these robots are medium-to-heavy-duty SCARAs, the manufacturers bill them as “palletizing robots,” with no relation to SCARAs. As a matter of fact, SCARAs can be regarded as generators of the Schönflies displacement subgroup (Bottema and Roth 1979; Hervé 1999). For this reason, SCARA systems are currently referred to as Schönflies-motion generators. In yet another attempt to overcome the natural limitations of serial SCARAs, parallel architectures have been proposed: H4, a four-limb Schönflies-motion gen- erator developed at France’s Université de Montpellier (Company et al. 2001); the four-limb robot driven with actuated prismatic joints developed at Institut Français de Mécanique Avancée (Gogu 2004); and the McGill SMG developed at McGill University (Al-Widyan and Angeles 2004), that features only two limbs. However, this robot is overconstrained, besides exhibiting a rather limited rotatability of its moving platform. An alternative two-limb parallel SCARA was proposed recently that features an isostatic kinematic chain (Lee and Lee 2010), thereby allowing for assembly even in the presence of non-negligible machining and manufacturing errors. The architecture of this robot is illustrated in Fig. 1.10, which features two cylindrical pairs—two-degree-of-freedom (two-dof) joints that produce rotation about an axis and translation in a direction parallel to the axis—as drive units, to produce Schönflies motions. The gripper is rigidly fastened to a rod with two screws at the ends, of different pitches. 1.5 Locomotors 17 Fig. 1.10 An isostatic two-limb robot capable of SCARA motions 1.5 Locomotors Under locomotors we include all robots capable of displacing themselves on a surface without any attachment to the surface. Here we distinguish two kinds of robots, legged and wheeled, as outlined below. 1.5.1 Legged Robots A common architecture of walking machines is the hexapod, examples of which are the Ohio State University (OSU) Hexapod (Klein et al. 1983) and the OSU Adaptive Suspension Vehicle (ASV) (Song and Waldron 1989). A six-legged walking machine with a design that mimics the locomotion system of the Carausius morosus (Graham 1972), also known as the walking stick, was developed at the Technical University of Munich (Pfeiffer et al. 1995). A prototype of this machine, known as the TUM Hexapod, is displayed in Fig. 1.11. The legs of the TUM Hexapod are operated under neural-network control, which gives them a reflex-like response when encountering obstacles: upon sensing an obstacle, the leg bounces back and tries again to move forward, but raising the foot to a higher level. Other legged robots worth mentioning as pioneers are the Sutherland, Sprout and Associates Hexapod (Sutherland and Ullner 1984), the Titan series of quadrupeds (Hirose et al. 1985) and the Odetics series of axially symmetric hexapods (Russell 1983). 18 1 An Overview of Robotic Mechanical Systems Fig. 1.11 A prototype of the TU Munich Hexapod (courtesy of Prof. F. Pfeiffer. Reproduced with permission of TSI Enterprises, Inc.) Surveys of walking machines, of historical interest now, are those of Todd (1985) and the special issue of The International Journal of Robotics Research (Vol. 9, No. 2). Walking machines appear as the sole means of providing locomotion in highly unstructured environments. In fact, the unique adaptive suspension provided by these machines allows them to navigate on uneven terrain. However, walking machines cannot traverse every type of uneven terrain, for they are of limited dimensions. Hence, if terrain irregularities such as a crevasse wider than the maximum horizontal leg reach or a cliff of depth greater than the maximum vertical leg reach are present, then the machine is prevented from making any progress. This limitation, however, can be overcome by providing the machine with the capability of attaching its feet to the terrain in the same way as a mountain climber goes up a cliff. Moreover, machine functionality is limited not only by the topography of the terrain, but also by the terrain constitution. Whereas hard rock poses no serious problem to a walking machine, muddy terrain can hamper its operation to the point that it may jam the machine. Still, under such adverse conditions, walking machines offer a better maneuverability than other vehicles. Recent work at McGill University5 on legged locomotion has led to robots with robust designs allowing them to negotiate mud and even ponds. A series of hexapods, under the name RHEX, has been developed with these features, as shown in Fig. 1.12. The same robot is shown in Fig. 1.13 roaming a patterned floor, of about 500 mm in length, to give a clue on its dimensions. Humanoids An important class of legged robots is that of humanoids. Pioneer work by Vukobratovic and Stepanenko (1972) has led to modern bipeds exhibiting impres- 5 Originally led by Prof. Martin Buehler. 1.5 Locomotors 19 Fig. 1.12 RHEX, a six-legged robot (courtesy of G. Dudek, McGill University) Fig. 1.13 RHEX walking on a patterned floor, to indicate its dimensions (courtesy of G. Dudek, McGill University) sive performance. Indeed, work initiated in 1986 at Honda led to ASIMO, a robotic mechanical system integrating both manipulation and locomotion in one single unit. Research in humanoids is quite intensive at the moment, with multiple sessions on the subject during the annual IEEE International Conference on Robotics and Automation, including controls, motion-planning, design, voice-mimicry, and human-robot interaction. 1.5.2 Wheeled Robots and Rovers Robots in this category are systems evolved from earlier systems called automatic guided vehicles, or AGVs for short. AGVs in their most primitive versions are four- wheeled, electrically powered vehicles that perform moving tasks with a certain degree of autonomy. However, these vehicles are usually limited to motions along predefined tracks that are either railways or magnetic strips glued to the ground. 20 1 An Overview of Robotic Mechanical Systems The most common rolling robots use conventional wheels, i.e., wheels consisting basically of a pneumatic tire mounted on a hub that rotates about an axle fixed to the robot platform. Thus, the operation of these machines does not differ much from that of conventional terrestrial vehicles. An essential difference between rolling robots and other robotic mechanical systems is the kinematic constraints between wheel and ground in the former. These constraints are of a type known as nonholonomic, as discussed in detail in Chap. 12. Nonholonomic constraints are kinematic relations between point velocities and angular velocities that cannot be integrated in the form of algebraic relations between translational and rotational displacement variables. The outcome of this lack of integrability leads to a lack of a one-to-one relationship between Cartesian variables and joint variables. In fact, while angular displacements read by joint encoders of serial manipulators determine uniquely the position and orientation of their end-effector, the angular displacement of the wheels of rolling machines do not determine the position and orientation of the vehicle body. As a matter of fact, the control of rolling robots bears common features with the redundancy-resolution of manipulators of the serial type at the joint-rate level. In these manipulators, the number of actuated joints is greater than the dimension of the task space. As a consequence, the task velocity does not determine the joint rates. Not surprisingly, the two types of problems have been solved using the same tools, namely, differential geometry and Lie algebra (De Luca and Oriolo 1995). As a means to supply rolling robots with three-dof capabilities, not found in conventional terrestrial vehicles, omnidirectional wheels (ODWs) have been developed. Examples of ODWs bear names such as Mekanum wheels, Swedish wheels, ilonators, or others. ODWs consist of a hub with rollers on its periphery that roll freely about their axes, the latter being oriented at a constant angle with respect to the hub axis. Rolling robots with ODWs are, thus, three-dof vehicles, and hence, can translate freely in two horizontal directions and rotate independently about a vertical axis. However, like their two-dof counterparts, three-dof rolling robots are also nonholonomic devices, and thus, pose the same problems for their control as the former. The kinematics and dynamics of robots with ODWs are studied in Sects. 10.5.2 and 12.5.2, respectively. Further developments in the technology of rolling robots have been reported that incorporate alternative types of ODWs. For example, Killough and Pin (1992) developed a rolling robot with what they call orthogonal ball wheels, consisting of spherical wheels that can rotate about two mutually orthogonal axes. Borenstein (1993) proposed a mobile robot with four degrees of freedom; these were achieved with two chassis coupled by an extensible link, each chassis being driven by two actuated conventional wheels. West and Asada (1995), in turn, designed a rolling robot with ball wheels, i.e., balls that act as omnidirectional wheels; each ball is mounted on a set of rollers, one of which is actuated; hence, three such wheels are necessary to fully control the vehicle. The unactuated rollers serve two purposes, i.e., to provide stability to the wheels and the vehicle, and to measure the rotation of the ball, thereby detecting slip. 1.5 Locomotors 21 Fig. 1.14 QUASIMORO, a quasiholonomic mobile robot Mobile Wheeled Pendulums A new class of wheeled robots has emerged since the turn of the century. This class, known as mobile wheeled pendulums (MWP), comprises two coaxial wheels and an intermediate body, the challenge being to control both the motion of the common wheel axis and that of the intermediate body. Interest on the subject was probably promoted by the US patent behind the Ginger and the Segway Human Transporter projects. Another mobile inverted pendulum is known as JOE. More recently, a new class of nonholonomic mechanical systems was found that lies somewhat between holonomic and nonholonomic systems; these systems were thus termed quasiholonomic (Ostrovskaya and Angeles 1998). A realization of this class was reported by Salerno and Angeles (2004), featuring Quasimoro, shown in Fig. 1.14, a quasiholonomic mobile robot intended as a service robot for the motion-impaired. Quasimoro’s central body is to carry food, drinks and books to the user. This robot also falls within the category of MWP. A feature common to this category, that is not encountered in other wheeled robots, is that their central body, which plays the role of the robot platform, can rotate about the wheel axis. This motion should be controlled, thereby leading to a new challenging problem, which is the stabilization of the central body, aside the classical control problem due to nonholonomy. 1.5.2.1 Rovers Yet another class of wheeled mobile robots is known as rovers. These differ from other wheeled robots in that they are intended for uneven, unstructured terrain, like that found off-road on the Earth, on the Moon and on Mars. The latest high-profile rover is NASA’s Curiosity, launched from Cape Canaveral on November 26, 2011, having landed on Mars on August 6, 2012. As rovers are intended for extraterrestrial exploration, their wheels are not expected to roll without slipping; instead, they are 22 1 An Overview of Robotic Mechanical Systems Fig. 1.15 Rover Chassis Prototype (RCP) undergoing tests at the University of Toronto Institute for Aerospace Studies (UTIAS)Mars Dome (courtesy of MDA Corporation, Brampton, ON) Fig. 1.16 A computer model of the Sojourner, produced with Vortex (image courtesy of CM Labs Simulations Inc.) designed to provide enough traction in the presence of soft, dry terrain. To this end, the rover wheels are supplied with grousers, i.e., crests protruding from the periphery of metal wheels. A prototype produced by MDA for planetary exploration is displayed in Fig. 1.15, showing its six wheels, all supplied with grousers. A challenge in the development of planetary rovers lies in that tests on the environment on which rovers are intended to roam are not possible. Conditions are emulated on the Earth that try to mimic the Moon’s or Mars’s regolith. One instance is the UTIAS Mars Dome—see Fig. 1.15. Moreover, the mechanics of wheel–soil interaction can only be simulated with suitable software. CM Labs’ Vortex was used to produce the model of the Sojourner depicted in Fig. 1.16. Using this model, a novel approach was introduced to represent the wheel–soil interaction, that is based on plasticity theory (Azimi et al. 2012). 1.6 Swimming Robots 23 Fig. 1.17 Aqua, an amp