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 Biomechanics Computational Mechanics Dynamic Systems and Control/ Mechatronics Energetics Processing Production Systems Thermal Science Tribology For further volumes: http://www.springer.com/series/1161 D Gross Technical University of Darmstadt V.C Mow Columbia University H.T Yang University of California, Santa Barbara D Bryant University of Texas at Austin J.R.Welty University of Oregon, Eugene K.K Wang Cornell University G.-A Klutke Texas A&M University A.E Bergles Rensselaer Polytechnic Institute W.O Winer Georgia Institute of Technology 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 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 new examples illustrating the implementation 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 motionplanning 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 2 2 > 'O p 2 cos ' the inequality following from the geometry of Fig.11.4b Then, the position vector r of any point on the intersection curve can be expressed in the form C cos ' r D r sin ' (11.37) 1='O 11.3 Parametric Path Representation 483 a b Fig 11.4 Intersection curve between a spherical reservoir and a cylindrical pipes Now, upon differentiation of r with respect to ', we obtain sin ' r0 '/ D r cos ' 'O sin ' cos ' r00 '/ D r sin ' 'O cos ' sin '/'O 2 (11.38a) (11.38b) where we have used the relation 'O '/ D . sin '/'O In addition, using Eqs (11.38a and b), we derive the items needed to compute the Frenet–Serret triad, from which we will derive the required orientation matrix, i.e., 'O 2 'O cos ' sin2 ' r0 '/ r00 '/ D r (11.39a) 2 'O sin3 ' kr0 '/k D rG.'/ p kr0 '/ r00 '/k D r 'O D.'/ (11.39b) (11.39c) with functions D.'/ and G.'/ defined as D 2 C 4 C .2 C / cos ' C 62 2 C 2 / cos2 ' C 23 4/ cos3 ' 34 cos4 ' q G C 2 'O sin2 ' (11.39d) (11.39e) 484 11 Trajectory Planning: Continuous-Path Operations Now et , eb , and en are obtained as sin ' r0 '/ nt D et cos ' kr '/k G G 'O sin ' (11.40a) 'O 2 'O cos ' sin2 ' r '/ r '/ npb D p (11.40b) eb 2 'O sin3 ' D kr '/ r00 '/k 'O D ' O 00 3 'O sin4 ' cos ' nn 43 'O cos ' sin3 ' 2 'O sin ' sin ' p (11.40c) en p 3 'O D G ' O DG 2 'O cos ' 'O sin ' where en has been calculated as en D eb et The orthogonal matrix defining the orientation of the end-effector can now be readily computed as Q et en eb for we have all the necessary expressions Note, however, that these expressions allow us to find Q for any value of ', but we not have, as yet, an expression of the form '.t / that would allow us to obtain Q.t / Such an expression is derived in Example 11.5.1 Example 11.3.3 (Calculation of Torsion, Curvature, and Darboux Vector) We refer here to the intersection curve of Example 11.3.2, for which we want to find expressions for its curvature, torsion, and Darboux vector Solution: We can use directly the expressions derived above, Eqs (11.28a and b), to obtain the curvature and torsion in terms of derivatives with respect to parameter ' With these expressions and those for the Frenet–Serret triad, the Darboux vector would follow However, we can take shortcuts, for we already have expressions for the Frenet–Serret triad, if we express the curvature and torsion in terms of this triad and its derivatives with respect to ', as we explain below Indeed, from the Frenet– Serret relations, Eqs (11.2b), we can express the curvature and torsion in the forms D e0t s/ en (11.41a) D e0b s/ en (11.41b) and hence, all we need now are the derivatives of the tangent and normal vectors with respect to s These are readily derived using relation (11.26a), i.e., 11.3 Parametric Path Representation 485 e0t s/ D e0t '/ kr0 '/k (11.42a) e0b s/ D e0b '/ kr0 '/k (11.42b) Now, in order to differentiate the Frenet–Serret triad with respect to ', we first note, from Eqs (11.40a–c), that these three expressions are vector rational functions, and hence, their derivatives with respect to ' are derived by applying Eq (11.30b), thereby obtaining Œn '/ et G '/ G t p D '/ n0b '/ eb 3'O 'O '/ D C 'O p e0b '/ D p 'O D D e0t '/ D (11.43) (11.44) where nt and nb are the numerators of the vector rational expressions of et and eb , respectively, given in Eq (11.40a and b) Below we calculate the foregoing derivatives with respect to ': cos ' n0t '/ D sin ' 2 '.cos O ' 'O sin '/ 'O 'O sin 'Œ3'O cos ' sin ' C '.3 O cos2 ' 1/ n0b '/ D 3'O sin2 'Œ'O sin ' C 'O cos ' 'O 'O '/ D sin ' 2 cos '/3=2 D '/ D .2 C / sin ' 122 2 C 2 / cos ' sin ' 63