Table Of ContentGLOBAL
EDITION
Introduction to
ROBOTICS
Mechanics and Control
FOURTH EDITION
JOHN CRAIG
(cid:2) (cid:2) “runall”
2021/5/22
page1
(cid:2) (cid:2)
Introduction to Robotics
Mechanics and Control
Fourth Edition
Global Edition
John J. Craig
(cid:2) (cid:2)
(cid:2) (cid:2)
Please contact https://support.pearson.com/getsupport/s/ with any queries on this content.
Cover Photo: Bedrin/Shutterstock
Pearson Education Limited
KAO Two
KAO Park
Hockham Way
Harlow
CM17 9SR
United Kingdom
and Associated Companies throughout the world
Visit us on the World Wide Web at: www.pearsonglobaleditions.com
© Pearson Education Limited 2022
The rights of John J. Craig to be identified as the author of this work have been asserted by him in accordance with the
Copyright, Designs and Patents Act 1988.
Authorized adaptation from the United States edition, entitled Introduction to Robotics: Mechanics and Control, 4th
Edition, ISBN 978-0-13-348979-8 by John J. Craig published by Pearson Education © 2018.
All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or
by any means, electronic, mechanical, photocopying, recording or otherwise, without either the prior written permission of
the publisher or a license permitting restricted copying in the United Kingdom issued by the Copyright Licensing Agency
Ltd, Saffron House, 6–10 Kirby Street, London EC1N 8TS.
All trademarks used herein are the property of their respective owners. The use of any trademark in this text does not vest
in the author or publisher any trademark ownership rights in such trademarks, nor does the use of such trademarks imply
any affiliation with or endorsement of this book by such owners. For information regarding permissions, request forms, and
the appropriate contacts within the Pearson Education Global Rights and Permissions department, please visit
www.pearsoned.com/permissions.
Many of the designations by manufacturers and seller to distinguish their products are claimed as trademarks. Where those
designations appear in this book, and the publisher was aware of a trademark claim, the designations have been printed in
initial caps or all caps. The author and publisher of this book have used their best efforts in preparing this book. These
efforts include the development, research, and testing of theories and programs to determine their effectiveness.
The author and publisher make no warranty of any kind, expressed or implied, with regard to these programs or the
documentation contained in this book. The author and publisher shall not be liable in any event for incidental or
consequential damages with, or arising out of, the furnishing, performance, or use of these programs.
This eBook may be available as a standalone product or integrated with other Pearson digital products like MyLab and
Mastering. This eBook may or may not include all assets that were part of the print version. The publisher reserves the right
to remove any material in this eBook at any time.
ISBN 10: 1-292-16493-X
ISBN 13: 978-1-292-16493-9
eBook ISBN 13: 978-1-292-16495-3
British Library Cataloguing-in-Publication Data
A catalogue record for this book is available from the British Library
1 21
eBook formatted by B2R Technologies Pvt. Ltd.
(cid:2) (cid:2) “runall”
2021/5/22
page3
(cid:2) (cid:2)
Contents
Preface 5
1 Introduction 9
2 SpatialDescriptionsandTransformations 29
3 ManipulatorKinematics 75
4 InverseManipulatorKinematics 117
5 Jacobians:VelocitiesandStaticForces 153
6 ManipulatorDynamics 185
7 TrajectoryGeneration 223
8 Manipulator-MechanismDesign 253
9 LinearControlofManipulators 293
10 NonlinearControlofManipulators 323
11 ForceControlofManipulators 359
12 RobotProgrammingLanguagesandSystems 383
13 Off-LineProgrammingSystems 397
A TrigonometricIdentities 417
B The24Angle-SetConventions 419
C SomeInverse-KinematicFormulas 423
SolutionstoSelectedExercises 425
Index 433
3
(cid:2) (cid:2)
(cid:2) (cid:2)
(cid:2) (cid:2) “runall”
2021/5/22
page4
(cid:2) (cid:2)
This page is intentionally left blank
(cid:2) (cid:2)
(cid:2) (cid:2)
(cid:2) (cid:2) “runall”
2021/5/22
page5
(cid:2) (cid:2)
Preface
Scientists often have the feeling that, through their work, they are learning about
some aspect of themselves. Physicists see this connection in their work; as do,
for example, psychologists and chemists. In the study of robotics, the connection
betweenthefieldofstudyandourselvesisunusuallyobvious.Unlikeasciencethat
seeks only to analyze, robotics as currently pursued takes the engineering bent
toward synthesis. Perhaps it is for these reasons that the field fascinates so many
ofus.
Thestudyofroboticsconcernsitselfwiththedesiretosynthesizesomeaspects
ofhumanfunctionthroughtheuseofmechanisms,sensors,actuators,andcomputers.
Obviously,thisisahugeundertaking,whichseemscertaintorequireamultitudeof
ideasfromvarious“classical”fields.
Currently, different aspects of robotics research are carried out by experts in
variousfields.Itisusuallynotthecasethatanysingleindividualhastheentirearea
of robotics in his or her grasp. A partitioning of the field is natural to expect. At a
relatively high level of abstraction, splitting robotics into four major areas seems
reasonable: mechanical manipulation, locomotion, computer vision, and artificial
intelligence.
Thisbookintroducesthescienceandengineeringofmechanicalmanipulation.
Thissubdisciplineofroboticshasitsfoundationsinseveralclassicalfields.Themajor
relevant fields are mechanics, control theory, and computer science. In this book,
Chapters1 through 8 cover topics from mechanical engineering and mathematics,
Chapters 9 through 11 cover control-theoretical material, and Chapters 12 and 13
might be classed as computer-science material. Additionally, the book emphasizes
computational aspects of theproblems throughout; for example, each chapter that
isconcernedpredominantlywithmechanicshasabriefsectiondevotedtocomputa-
tionalconsiderations.
Thisbookevolvedfromclassnotesusedtoteach“IntroductiontoRobotics”at
StanfordUniversityduringtheautumnsof1983through1985.Thefirstthreeeditions
have been used from 1986 to 2016. The fourth edition has benefited from this use,
andincorporatescorrectionsandimprovementsduetofeedbackfrommanysources.
Thankstoallthosewhosentcorrectionstotheauthor.
This book is appropriate for a senior undergraduate- or first-year graduate-
level course. It is helpful if the student has had one basic course in statics and
dynamics, a course in linear algebra, and can program in a high-level language.
Additionally, it is helpful, though not absolutely necessary, that the student have
completed an introductory course in control theory. One aim of the book is to
present material in a simple, intuitive way. Specifically, the audience need not be
strictlymechanicalengineers,thoughmuchofthematerialistakenfromthatfield.
At Stanford, many electrical engineers, computer scientists, and mathematicians
foundthebookquitereadable.
5
(cid:2) (cid:2)
(cid:2) (cid:2)
(cid:2) (cid:2) “runall”
2021/5/22
page6
(cid:2) (cid:2)
6 Preface
Directly,thisbookisofusetothoseengineersdevelopingroboticsystems,but
the material should be viewed as important background material for anyone who
willbeinvolvedwithrobotics.Inmuchthesamewaythatsoftwaredevelopershave
usuallystudiedatleastsomehardware,peoplenotdirectlyinvolvedwiththemechan-
ics and control of robots should have some such background as that offered by
thistext.
Like the third edition, the fourth edition is organized into 13 chapters. The
material will fit comfortably into an academic semester; teaching the material
withinanacademicquarterwillprobablyrequiretheinstructortochooseacouple
of chapters to omit. Even at that pace, all of the topics cannot be covered in great
depth. In some ways, the book is organized with this in mind; for example, most
chapters present only one approach to solving the problem at hand. One of the
challengesofwritingthisbookhasbeenintryingtodojusticetothetopicscovered
within the time constraints of usual teaching situations. One method employed to
thisendwastoconsideronlymaterialthatdirectlyaffectsthestudyofmechanical
manipulation.
Attheendofeachchapterisasetofexercises.Eachexercisehasbeenassigned
adifficultyfactor,indicatedinsquarebracketsfollowingtheexercise’snumber.Dif-
ficulties vary between [00] and [50], where [00] is trivial and [50] is an unsolved
research problem.1 Of course, what one person finds difficult, another might find
easy, so some readers may find the factors misleading in some cases. Nevertheless,
anefforthasbeenmadetoappraisethedifficultyoftheexercises.
At the end of each chapter, there is a programming assignment in which the
student applies the subject matter of the corresponding chapter to a simple three-
jointedplanarmanipulator.Thissimplemanipulatoriscomplexenoughtodemon-
stratenearlyalltheprinciplesofgeneralmanipulatorswithoutboggingthestudent
downintoomuchcomplexity.Eachprogrammingassignmentbuildsuponthepre-
viousones,until,attheendofthecourse,thestudenthasanentirelibraryofmanip-
ulatorsoftware.
Thereareatotalof12MATLABexercisesassociatedwithChapters1through
9. These exercises were developed by Prof. Robert L. Williams II of Ohio Univer-
sity,andwearegreatlyindebtedtohimforthiscontribution.Theseexercisescanbe
®
usedwiththeRoboticsToolboxforMATLAB 2 createdbyPeterCorke,Principal
ResearchScientistwithCSIROinAustralia.
Chapter1isanintroductiontothefieldofrobotics.Itintroducessomeback-
groundmaterial,afewfundamentalideas,theadoptednotationofthebook,andit
previewsthematerialinthelaterchapters.
Chapter2coversthemathematicsusedtodescribepositionsandorientations
in 3-space. This is extremely important material: By definition, mechanical manip-
ulationconcernsitselfwithmovingobjects(parts,tools,therobotitself)aroundin
space.Weneedwaystodescribetheseactionsinawaythatiseasilyunderstoodand
isasintuitiveaspossible.
Chapters3 and 4 deal with the geometry of mechanical manipulators. They
introducethebranchofmechanicalengineeringknownaskinematics,thestudyof
1I have adopted the same scale as in The Art of Computer Programming by D. Knuth
(Addison-Wesley).
2FortheRoboticsToolboxforMATLAB®,gotohttps://petercorke.com/toolboxes/robotics-toolbox/
(cid:2) (cid:2)
(cid:2) (cid:2)
(cid:2) (cid:2) “runall”
2021/5/22
page7
(cid:2) (cid:2)
Preface 7
motionwithoutregardtotheforcesthatcauseit.Inthesechapters,wedealwiththe
kinematicsofmanipulators,butrestrictourselvestostaticpositioningproblems.
Chapter5 expands our investigation of kinematics to velocities and static
forces.
InChapter6,wedealforthefirsttimewiththeforcesandmomentsrequired
tocausemotionofamanipulator.Thisistheproblemofmanipulatordynamics.
Chapter7isconcernedwithdescribingmotionsofthemanipulatorintermsof
trajectoriesthroughspace.
Chapter8manytopicsrelatedtothemechanicaldesignofamanipulator.For
example, how many joints are appropriate, of what type should they be, and how
shouldtheybearranged?
InChapters9and10,westudymethodsofcontrollingamanipulator(usually
withacomputer)sothatitwillfaithfullytrackadesiredpositiontrajectorythrough
space. Chapter9 restricts attention to linear control methods; Chapter10 extends
theseconsiderationstothenonlinearrealm.
Chapter11coversthefieldofactiveforcecontrolwithamanipulator.Thatis,
wediscusshowtocontroltheapplicationofforcesbythemanipulator.Thismodeof
controlisimportantwhenthemanipulatorcomesintocontactwiththeenvironment
aroundit,suchasduringthewashingofawindowwithasponge.
Chapter12 overviews methods of programming robots, specifically the
elements needed in a robot programming system, and the particular problems
associatedwithprogrammingindustrialrobots.
Chapter13 introduces off-line simulation and programming systems, which
representthelatestextensiontotheman–robotinterface.
NewtotheFourthEdition
• Additionalexercisesattheendofeachchapter
• Newsection8.9onopticalencoders
• Newsection10.9onadaptivecontrol
• Updatedmaterialandreferencesforchangingtechnology
• Severalneworupdatedfigures
• Morethan100minortyposandothererrorscorrected
I would like to thank the many people who have contributed their time to
helpingmewiththisbook.First,mythankstothestudentsofStanford’sME219in
theautumnof1983through1985,whosufferedthroughthefirstdrafts,foundmany
errors,andprovidedmanysuggestions.ProfessorBernardRothhascontributedin
manyways,boththroughconstructivecriticismofthemanuscriptandbyproviding
me with an environment in which to complete the first edition. At SILMA Inc.,
I enjoyed a stimulating environment, plus resources that aided in completing the
second edition. Dr. Jeff Kerr wrote the first draft of Chapter8. Prof. Robert L.
Williams II contributed the MATLAB exercises found at the end of each chapter,
andPeterCorkeexpandedhisRoboticsToolboxtosupportthisbook’sstyleofthe
Denavit–Hartenberg notation. I owe a debt to my previous mentors in robotics:
MarcRaibert,CarlRuoff,TomBinford,andBernardRoth.
ManyothersaroundStanford,SILMA,Adept,andelsewherehavehelpedin
various ways—my thanks to John Mark Agosta, Mike Ali, Lynn Balling, Al Barr,
(cid:2) (cid:2)
(cid:2) (cid:2)
(cid:2) (cid:2) “runall”
2021/5/22
page8
(cid:2) (cid:2)
8 Preface
Stephen Boyd, Chuck Buckley, Joel Burdick, Jim Callan, Brian Carlisle, Monique
Craig, Subas Desa, Tri Dai Do, Karl Garcia, Ashitava Ghosal, Chris Goad, Ron
Goldman, Bill Hamilton, Steve Holland, Peter Jackson, Eric Jacobs, Johann Ja¨ger,
PaulJames,JeffKerr,OussamaKhatib,JimKramer,DaveLowe,JimMaples,Dave
Marimont, Dave Meer, Kent Ohlund, Madhusudan Raghavan, Richard Roy, Ken
Salisbury, Bruce Shimano, Donalda Speight, Bob Tilove, Sandy Wells, and Dave
Williams.
I wish to thank Tom Robbins at Pearson for his guidance with the first and
secondeditions.
ThestudentsofProf.Roth’sRoboticsClassof2002atStanfordusedthesecond
editionandforwardedmanyremindersofthemistakesthatneededtogetfixedfor
thefourthedition.
FinallyIwishtothankthosehelpingwiththefourthedition:MattMarshallwho
contributedsomenewendofchapterexercisesaswellasotherhelpfulfeedback;and
JulieBaiandMichelleBaymanatPearson.
JJC
AcknowledgmentsfortheGlobalEdition
PearsonwouldliketoacknowledgeandthankthefollowingfortheGlobalEdition:
Contributors
ArshadJaved,BirlaInstituteofTechnologyandScience,HyderabadCampus,India
RiadySiswoyoJo,SwinburneUniversityofTechnologySarawakCampus,Malaysia
G.LakshmiSrinivas,BirlaInstituteofTechnologyandScience,HyderabadCampus,
India
Reviewers
ReinaldoA.C.Bianchi,CentroUniversita´rioFEI,Brazil
MohammadDeghat,UniversityofNewSouthWales,Australia
HalitErgezer,C¸ankayaUniversity,Turkey
(cid:2) (cid:2)
(cid:2) (cid:2)
(cid:2) (cid:2) “runall”
2021/5/19
page9
(cid:2) (cid:2)
C H A P T E R 1
Introduction
1.1 BACKGROUND
1.2 THEMECHANICSANDCONTROLOFMECHANICALMANIPULATORS
1.3 NOTATION
1.1 BACKGROUND
Thehistoryofindustrialautomationischaracterizedbyperiodsofrapidchangein
popular methods. Either as a cause or, perhaps, an effect, such periods of change
in automation techniques seem closely tied to world economics. Use of the indus-
trialrobot,whichbecameidentifiableasauniquedeviceinthe1960s[1],alongwith
computer-aideddesign(CAD)systemsandcomputer-aidedmanufacturing(CAM)
systems,characterizesthelatesttrendsintheautomationofthemanufacturingpro-
cess. These technologies are leading industrial automation through another transi-
tion,thescopeofwhichisstillunknown[2].
InNorthAmerica,therewasmuchadoptionofroboticequipmentintheearly
1980s, followed by a brief pull-back in the late 1980s. Since that time, the market
hasbeengrowing(seeFig.1.1),althoughitissubjecttoeconomicswings,asareall
markets.
Figure1.2 shows the number of robots being installed per year worldwide.
Amajorreasonforthegrowthintheuseofindustrialrobotsistheirdecliningcost
and increasing abilities. By 2025 it is estimated that the average manufacturing
employerwillsave16%onlaborbyreplacinghumanworkerswithrobots.Insome
countries, it is even more favorable to employ robots (see Fig.1.3). As robots
becomemorecosteffectiveattheirjobs,andashumanlaborcontinuestobecome
moreexpensive,moreandmoreindustrialjobsbecomecandidatesforroboticauto-
mation. This is the single most important trend propelling growth of the industrial
robot market. A secondary trend is that, economics aside, as robots become more
capable, they become able to do more and more tasks that might be dangerous or
impossibleforhumanworkerstoperform.
This book focuses on the mechanics and control of the most important form
of the industrial robot, the mechanical manipulator. Exactly what constitutes an
industrial robot is sometimes debated. Devices such as that shown in Fig.1.4 are
alwaysincluded,whilenumericallycontrolled(NC)millingmachinesusuallyarenot.
The distinction lies somewhere in the sophistication of the programmability of the
device; if a mechanical device can be programmed to perform a wide variety of
applications,itisprobablyanindustrialrobot.Machineswhichareforthemostpart
limitedtooneclassoftaskareconsideredfixedautomation.Forthepurposesofthis
9
(cid:2) (cid:2)
(cid:2) (cid:2)