Contents

Book

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 course notes have been posted on the internet for years to support these classes. The date of the compilation of the book is noted on the front page.

The current, and final preprint, version of the book is dated November 2016. We posted a "beta" version of the book in early October 2016; that version should no longer be used. Since the October version we have implemented a number of corrections, clarifications, minor restructuring, and expanded coverage of certain topics. We also gratefully acknowledge the forewords provided by Roger Brockett and Matt Mason.

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 after latex'ing in Adobe Acrobat. 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.)

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, is 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.

Software

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. In September 2016, Northwestern MS student Mikhail Todes produced the first version of the software for distribution. The software will be updated as bugs are discovered and fixed. As of October 2016, the software distribution should be considered a beta version.

Simulation

We have found the V-REP robot simulation environment to be a valuable learning tool accompanying the book. It is free for educational use. 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.

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 a Senior Editor of the IEEE Robotics and Automation Letters, former Senior Editor of the IEEE Transactions on Robotics and IEEE Transactions on Automation Science and Engineering, and incoming Editor-in-Chief of the IEEE International Conference on Robotics and Automation. 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. 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.