Introduction To Robotics: Mechanics And Control

Paperback | July 27, 2004

byJohn J. Craig

not yet rated|write a review

Now in its third edition, Introduction to Robotics by John J. Craig provides readers with real-world practicality with underlying theory presented. With one half of the material from traditional mechanical engineering material, one fourth control theoretical material, and one fourth computer science, the book covers rigid-body transformations, forward and inverse positional kinematics, velocities and Jacobians of linkages, dynamics, linear control, non-linear control, force control methodologies, mechanical design aspects and programming of robots. For engineers.

Pricing and Purchase Info

$143.50 online
$178.30 list price (save 19%)
In stock online
Ships free on orders over $25

From the Publisher

Now in its third edition, Introduction to Robotics by John J. Craig provides readers with real-world practicality with underlying theory presented. With one half of the material from traditional mechanical engineering material, one fourth control theoretical material, and one fourth computer science, the book covers rigid-body tran...

From the Jacket

An essential book for engineers developing robotic systems, as well as anyone involved with the mechanics, control, or programming of robotic systems. Now in its third edition, the first edition of this classic text was published approximately 20 years ago. The second edition has been in print and highly successful for 16 years. ...

Format:PaperbackPublished:July 27, 2004Publisher:Pearson Education

The following ISBNs are associated with this title:

ISBN - 10:0201543613

ISBN - 13:9780201543612

Look for similar items by category:


Extra Content

Read from the Book

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 autumns 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. Directly, this book is of use to those engineers developing robotic systems, but the material should be viewed as important background material for anyone who will be involved with robotics. In much the same way that software developers have usually studied at least some hardware, people not directly involved with the mechanics and control of robots should have some such background as that offered by this text. Like the second edition, the third edition is organized into 13 chapters. The material will fit comfortably into an academic semester; teaching the material within an academic quarter will probably require the instructor to choose a couple 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 challenges of writing this book has been in trying to do justice to the topics covered 'within the time constraints of usual teaching situations. One method employed to this end was to consider only material that directly affects the study of mechanical manipulation. At the end of each chapter is a set of exercises. Each exercise has been assigned a difficulty factor, indicated in square brackets following the exercise's number. Difficulties vary between 00 and 50, where 00 is trivial and 50 is an unsolved research problem. Of course, what one person finds difficult, another might find easy, so some readers will find the factors misleading in some cases. Nevertheless, an effort has been made to appraise the difficulty of the exercises. 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-jointed planar manipulator. This simple manipulator is complex enough to demonstrate nearly all the principles of general manipulators without bogging the student down in too much complexity. Each programming assignment builds upon the previous ones, until, at the end of the course, the student has an entire library of manipulator software. Additionally, with the third edition we have added MATLAB exercises to the book. There are a total of 12 MATLAB exercises associated with Chapters 1 through 9. These exercises were developed by Prof. Robert L. Williams II of Ohio University, and we are greatly indebted to him for this contribution. These exercises can be used with the MATLAB Robotics Toolbox created by Peter Corke, Principal Research Scientist with CSIRO in Australia. Chapter 1 is an introduction to the field of robotics. It introduces some background material, a few fundamental ideas, and the adopted notation of the book, and it previews the material in the later chapters. Chapter 2 covers the mathematics used to describe positions and orientations in 3-space. This is extremely important material: By definition, mechanical manipulation concerns itself with moving objects (parts, tools, the robot itself) around in space. We need ways to describe these actions in a way that is easily understood and is as intuitive as possible. Chapters 3 and 4 deal with the geometry of mechanical manipulators. They introduce the branch of mechanical engineering known as kinematics, the study of motion without regard to the forces that cause it. In these chapters, we deal with the kinematics of manipulators, but restrict ourselves to static positioning problems. Chapter 5 expands our investigation of kinematics to velocities and static forces. In Chapter 6, we deal for the first time with the forces and moments required to cause motion of a manipulator. This is the problem of manipulator dynamics. Chapter 7 is concerned with describing motions of the manipulator in terms of trajectories through space. Chapter 8 many topics related to the mechanical design of a manipulator. For example, how many joints are appropriate, of what type should they be, and how should they be arranged? In Chapters 9 and 10, we study methods of controlling a manipulator (usually with a digital computer) so that it will faithfully track a desired position trajectory through space. Chapter 9 restricts attention to linear control methods; Chapter 10 extends these considerations to the nonlinear realm. Chapter 11 covers the field of active force control with a manipulator. That is, we discuss how to control the application of forces by the manipulator. This mode of control is important when the manipulator comes into contact with the environment around it, such as during the washing of a window with a sponge. Chapter 12 overviews methods of programming robots, specifically the elements needed in a robot programming system, and the particular problems associated with programming industrial robots. Chapter 13 introduces off-line simulation and programming systems, which represent the latest extension to the man-robot interface. I would like to thank the many people who have contributed their time to helping me with this book. First, my thanks to the students of Stanford's ME219 in the autumn of 1983 through 1985, who suffered through the first drafts, found many errors, and provided many suggestions. Professor Bernard Roth has contributed in many ways, both through constructive criticism of the manuscript and by providing 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 Chapter 8. Prof. Robert L. Williams II contributed the MATLAB exercises found at the end of each chapter, and Peter Corke expanded his Robotics Toolbox to support this book's style of the Denavit-Hartenberg notation. I owe a debt to my previous mentors in robotics: Marc Raibert, Carl Ruoff, Tom Binford, and Bernard Roth. Many others around Stanford, SILMA, Adept, and elsewhere have helped in various ways—my thanks to John Mark Agosta, Mike Ali, Lynn Balling, A1 Barr, 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 Jager, Paul James, Jeff Kerr, Oussama Khatib, Jim Kramer, Dave Lowe, Jim Maples, Dave Marimont, Dave Meer, Kent Ohlund, Madhusudan Raghavan, Richard Roy, Ken Salisbury, Bruce Shimano, Donalda Speight, Bob Tilove, Sandy Wells, and Dave Williams. The students of Prof. Roth's Robotics Class of 2002 at Stanford used the second edition and forwarded many reminders of the mistakes that needed to get fixed for the third edition. Finally I wish to thank Tom Robbins at Prentice Hall for his guidance with the first edition and now again with the present edition. J.J.C.

Table of Contents

 1. Introduction.

 2. Spatial Transformations.

 3. Forward Kinematics.

 4. Inverse Kinematics.

 5. Velocities, Static Forces, and Jacobians.

 6. Dynamics.

 7. Trajectory Planning.

 8. Mechanical Design of Robots.

 9. Linear Control.

10. Non-Linear Control.

11. Force Control.

12. Programming Languages and Systems.

13. Simulation and Off-Line Programming.