This is the home page of the textbook "Modern Robotics: Mechanics, Planning, and Control," Kevin M. Lynch and Frank C. Park, Cambridge University Press, 2017, ISBN 9781107156302. Purchase the hardback through Cambridge University Press using the 20% discount code LYNCHPARK2017 or through Amazon, or check out the free preprint version below.
If you find this book useful for a course or self-study, please contact Kevin or Frank and let us know!
From the foreword:
"Frank and Kevin have provided a wonderfully clear and patient explanation of their subject." Roger Brockett, Harvard University
"Modern Robotics imparts the most important insights of robotics ... with a clarity that makes it accessible to undergraduate students." Matthew T. Mason, Carnegie Mellon University
This book is the result of course notes developed over many years for the course M2794.0027 Introduction to Robotics at Seoul National University and ME 449 Robotic Manipulation at Northwestern University. The evolving course notes have been posted on the internet for years to support these classes.
The for-purchase version of the book from Cambridge University Press has improved layout and typesetting, updated figures, different pagination (and fewer pages), and more careful copyediting, and it is considered the "official" version of the book. But the online preprint version of the book has the same chapters, sections, and exercises, and it is quite close in content to the Cambridge-published version. The current, and final preprint, online version of the book is dated May 2017. We posted preliminary versions of the book in October and November 2016; those versions should be discarded.
We are posting four versions of the book. All versions have exactly the same contents and pagination. They differ only in the sizes of the margins and the size of the print, as manipulated in Adobe Acrobat after latex'ing. Two of the versions have working hyperlinks for navigating the book on your computer or tablet.
With working hyperlinks. (To navigate the book using the hyperlinks, click on the hyperlink. To go back where you came from, choose the button or keystroke appropriate to your pdf reader. For example, on the Mac with Acrobat or Acrobat Reader, use cmd-left arrow. With Preview on the Mac, use cmd-[. Some readers on other operating systems use alt-left arrow. You can google to see which solution works for your pdf reader.)
- Default 8.5x11 or A4 version. Printable version with 10 pt font and large margins.
- Tablet version. Margins have been eliminated so that no space is wasted when viewing the document on a computer or tablet.
Without working hyperlinks.
- Large font 8.5x11 or A4 version. Printable version with 12 pt font equivalent and smaller margins than the 10 pt default version.
- 2up version. Printable version with 2 book pages per page, for saving paper if you have good eyes. Approximately 8.5 pt font equivalent.
These files have been compressed to about 7 MB. Let us know if you have any problems reading them. Please note that recent versions of the default Mac OS X pdf reader, Preview, are known to have some bugs displaying certain images in pdf files. If a figure is not appearing properly, please try a better pdf viewer, like Acrobat Reader.
Table of Contents:
- Configuration Space
- Rigid-Body Motions
- Forward Kinematics
- Velocity Kinematics and Statics
- Inverse Kinematics
- Kinematics of Closed Chains
- Dynamics of Open Chains
- Trajectory Generation
- Motion Planning
- Robot Control
- Grasping and Manipulation
- Wheeled Mobile Robots
- Appendix A. Summary of Useful Formulas
- Appendix B. Other Representations of Rotations
- Appendix C. Denavit-Hartenberg Parameters
- Appendix D. Optimization and Lagrange Multipliers
You can see an excellent collection of robotics videos at the Springer Handbook of Robotics Multimedia Extension.
If you are an instructor, you can obtain a copy of the exercise solutions from Cambridge University Press for free. Go to the "Resources" section of the Cambridge University Press webpage for the book. Solutions will be available early September 2017.
This book was written to be accessible to engineering students after taking typical first-year engineering courses. The student should have an understanding of:
- freshman-level physics, including f = ma; free-body diagrams with masses, springs, and dampers; vector forces; and vector torques (or moments) as the cross product of a distance vector and a force;
- linear algebra, including matrix operations, positive definiteness of a matrix, determinants, complex numbers, eigenvalues, and eigenvectors;
- some calculus, derivatives, and partial derivatives; and
- basic linear ordinary differential equations.
The student should also be prepared to program, but only basic programming skills are needed. Code is provided in python (freely available), MATLAB (for purchase, or you could use the freely available GNU Octave clone), and Mathematica (for purchase), so those languages are preferred.
We welcome your comments and corrections! Please click here to report any corrections for the book. (Please make sure you are using the print version of the book or the May 3, 2017, online version of the book.)
The software accompanying the book is written in Mathematica, MATLAB, and Python. It is written to be educational and to reinforce the concepts in the book, not to be as computationally efficient or robust as possible.
The origin of the software is student solutions to homework exercises. A major update was committed in January 2017, correcting some bugs in the earlier version.
We have found the V-REP robot simulation environment to be a valuable learning tool accompanying the book. It is free for educational use and cross platform. In ME 449 at Northwestern, we use it to experiment with the kinematics of different robots and to animate solutions to inverse kinematics, dynamic simulations, and controllers. This page provides "scenes" that allow you to interactively explore the kinematics of different robots (e.g., the Universal Robots UR5 6R robot arm and the KUKA youBot mobile manipulator) and to animate trajectories that are the results of exercises in chapters on kinematics, dynamics, and control.
- A video of a UR5 trajectory created by solving numerical inverse kinematics (Chapter 6, Inverse Kinematics)
- A video of the UR5 falling under gravity for 10 s, assuming no friction or gearing at the joints (Chapter 8, Dynamics of Open Chains)
- A video of the KUKA youBot mobile manipulator using Jacobian-pseudoinverse-based control of the end-effector's motion (Chapter 13, Wheeled Mobile Robots)
- The UR5 URDF file from Chapter 4 of the book (.pdf format or .txt format). For learning purposes only, not actual use; it contains only kinematic and inertial properties, and does not fully account for the effects of gearing. This file is based on the UR5 URDF from the ROS-Industrial team.
- Peter Corke's excellent Robotics Toolbox for MATLAB and other robotics software linked to from his site.
- Open-source software for time-optimal time scaling (Chapter 9.4), courtesy of Quang-Cuong Pham.
About the Authors
Kevin M. Lynch is Professor and Chair of the Mechanical Engineering Department at Northwestern University. He is a member of the Neuroscience and Robotics Lab and the Northwestern Institute on Complex Systems. His research focuses on dynamics, motion planning, and control for robot manipulation and locomotion; self-organizing multi-agent systems; and physically interacting human-robot systems.
He is Editor-in-Chief of the IEEE International Conference on Robotics and Automation Conference Editorial Board, incoming Editor-in-Chief of the IEEE Transactions on Robotics, and a former Senior Editor of the IEEE Transactions on Robotics, the IEEE Robotics and Automation Letters, and the IEEE Transactions on Automation Science and Engineering. He is a co-author of The Principles of Robot Motion (MIT Press, 2005) and Embedded Computing and Mechatronics with the PIC32 Microcontroller (Elsevier, 2015), an IEEE fellow, and the recipient of the IEEE Early Career Award in Robotics and Automation, Northwestern's Professorship of Teaching Excellence, and the Northwestern Teacher of the Year award in engineering. He earned a BSE in Electrical Engineering from Princeton University and a PhD in Robotics from Carnegie Mellon University.
Frank C. Park received his BS in electrical engineering from MIT and his PhD in applied mathematics from Harvard University. From 1991 to 1995 he was assistant professor of mechanical and aerospace engineering at the University of California, Irvine. Since 1995 he has been professor of mechanical and aerospace engineering at Seoul National University, where he is currently chair of the department. His research interests are in robot mechanics, planning and control, vision and image processing, and related areas of applied mathematics. He has been an IEEE Robotics and Automation Society Distinguished Lecturer, and received best paper awards for his work on visual tracking and parallel robot design. He has served on the editorial boards of the Springer Handbook of Robotics, Springer Advanced Tracts in Robotics (STAR), Robotica, and the ASME Journal of Mechanisms and Robotics. He has held adjunct faculty positions at the NYU Courant Institute and the Interactive Computing Department at Georgia Tech. He is a fellow of the IEEE, current editor-in-chief of the IEEE Transactions on Robotics, and developer of the edX course Robot Mechanics and Control I, II.
You may have gotten here from the URL http://lynchandpark.org. If you're like us, you forget the name of the textbook, but remember the names of the authors. We thought it would be easiest to remember this URL. If you ever have any problems with http://lynchandpark.org, you can try http://www.lynchandpark.org , http://modernrobotics.org, or http://www.modernrobotics.org.