Introduction to Robotics
Mechanics
and Control
Third Edition
John J. Craig
PEARSON
Prentice
Hail
Pearson Education International
Vice President and Editorial Director, ECS: Marcia J. Horton
Associate Editor: Alice Dworkin
Editorial Assistant: Carole Snyder
Vice President and Director of Production and Manufacturing, ESM: David W. Riccardi
Executive Managing Editor: Vince O'Brien
Managing Editor: David A. George
Production Editor: James Buckley
Director of Creative Services: Paul Belfanti
Art Director: Jayne Conte
Cover Designer: Bruce Kenselaar
Art Editor: Greg Dulles
Manufacturing Manager: Trudy Pisciotti
Manufacturing Buyer: Lisa McDowell
Senior Marketing Manager: Holly Stark
PEARSON
Prentice
Hall
© 2005 Pearson Education, Inc.
Pearson Prentice Hall
Pearson Education, Inc.
Upper Saddle River, NJ 07458
All rights reserved. No part of this book may be reproduced, in any form or by any means, without
permission in writing from the publisher.
If you purchased this book within the United States or Canada you should be aware that it has been
wrongfully imported without the approval of the Publisher or the Author.
Pearson Prentice Hall® is a trademark of Pearson Education, Inc.
Robotics Toolbox for MATLAB (Release7) courtesy of Peter Corke.
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 the theories and programs to determine their effective-
ness. 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 in connection with, or arising out of, the
furnishing,
performance, or use of these programs.
Printed in the United States of America
10 9
8 7 6 5
4 3
ISBN
Pearson
Education Ltd., London
Pearson Education Australia Pty. Ltd., Sydney
Pearson Education Singapore, Pte. Ltd.
Pearson Education North Asia Ltd., Hong Kong
Pearson Education Canada, Ltd., Toronto
Pearson Educación de Mexico, S.A. de C.V.
Pearson Education—Japan, Tokyo
Pearson Education Malaysia, Pte. Ltd.
Pearson Education, Inc., Upper Saddle River, New Jersey
Contents
Preface
v
1 Introduction
1
2
Spatial descriptions and transformations
19
3
Manipulator kinematics
62
4
Inverse manipulator kinematics
101
5
Jacobians: velocities and static forces
135
6
Manipulator dynamics
165
7
Trajectory generation
201
8
Manipulator-mechanism design
230
9
Linear control of manipulators
262
10 Nonlinear control of manipulators
290
11 Force control of manipulators
317
12 Robot programming languages and systems
339
13 Off-line programming systems
353
A Trigonometric identities
372
B The 24 angle-set conventions
374
C Some inverse-kinematic formulas
377
Solutions to selected exercises
379
Index
387
III
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; so do,
for example, psychologists and chemists. In the study of robotics, the connection
between the field of study and ourselves is unusually obvious. And, unlike
a science
that 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
of us.
The study of robotics concerns itself with the desire to synthesize
some aspects
of human function by the use of mechanisms, sensors, actuators, and computers.
Obviously, this is a huge undertaking, which seems certain to require
a multitude of
ideas from various "classical" fields.
Currently, different aspects of robotics research are carried out by experts in
various fields. It is usually not the case that any single individual has the entire
area
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.
This book introduces the science and engineering of mechanical manipulation.
This subdiscipline of robotics has its foundations in several classical fields. The major
relevant fields are mechanics, control theory, and computer science. In this book,
Chapters 1 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 the problems throughout; for example, each chapter
that is concerned predominantly with mechanics has a brief section devoted to
computational considerations.
This book evolved from class notes used to teach "Introduction to Robotics" at
Stanford University during the autunms of 1983 through 1985. The first and second
editions have been used at many institutions from 1986 through 2002. The third
edition has benefited from this use and incorporates corrections and improvements
due to feedback from many sources. Thanks to all those who sent corrections to the
author.
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 and 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
strictly mechanical engineers, though much of the material is taken from that field.
At Stanford, many electrical engineers, computer scientists, and mathematicians
found the book quite readable.
V