Mechanics of Robotic Manipulation

Embed Size (px)

Text of Mechanics of Robotic Manipulation


Mechanics_of_Robotic_Manipulation/0262133962/files/00001___101febececa959470065a987c19e3a26.pdfMechanics of Robotic Manipulation

MIT Press Math7X9/2001/03/09:12:00 Page 1

Mechanics_of_Robotic_Manipulation/0262133962/files/00002___e78c7280cc1939d8485c9fa8cbbf0814.pdfIntelligent Robots and Autonomous AgentsRonald C. Arkin, editor

Behavior-Based Robotics, Ronald C. Arkin, 1998

Robot Shaping: An Experiment in Behavior Engineering, Marco Dorigo andMarco Colombetti, 1998

Layered Learning in Multiagent Systems: A Winning Approach to Robotic Soccer,Peter Stone, 2000

Evolutionary Robotics: The Biology, Intelligence, and Technology of Self-Organizing Machines, Stefano Nol and Dario Floreano, 2000

Reasoning about Rational Agents, Michael Wooldridge, 2000

Introduction to AI Robotics, Robin R. Murphy, 2000

Strategic Negotiation in Multiagent Environments, Sarit Kraus, 2001

Mechanics of Robotic Manipulation, Matthew T. Mason, 2001

MIT Press Math7X9/2001/03/09:12:00 Page 2

Mechanics_of_Robotic_Manipulation/0262133962/files/00003___23a6f16457b61401e7e1dcd68a0af6a8.pdfMechanics of Robotic Manipulation

Matthew T. Mason

A Bradford BookThe MIT PressCambridge, MassachusettsLondon, England

MIT Press Math7X9/2001/03/09:12:00 Page 3

Mechanics_of_Robotic_Manipulation/0262133962/files/00004___389f5b04bac25eed02de228fc2a3eaaf.pdfc2001 Massachusetts Institute of Technology

All rights reserved. No part of this book may be reproduced in any formby any electronic or mechanical means (including photocopying,recording, or information storage and retrieval) without permission inwriting from the publisher.

This book was set in Times-Roman by the author and was printed andbound in the United States of America.

Library of Congress Cataloging-in-Publication Data

Mason, Matthew T.Mechanics of robotic manipulation / Matthew T. Mason.

p. cm.(Intelligent robotics and autonomous agents)A Bradford book.Includes bibliographical references and index.ISBN 0-262-13396-2 (hc. : alk. paper)1. Manipulators (Mechanism). 2. Robotics. I. Title. II. Series.

TJ211 .M345 2001629.892dc21 2001030226

MIT Press Math7X9/2001/03/09:12:00 Page 4


Preface ix

Chapter 1 Manipulation 11.1 Case 1: Manipulation by a human 11.2 Case 2: An automated assembly system 31.3 Issues in manipulation 51.4 A taxonomy of manipulation techniques 71.5 Bibliographic notes 8

Exercises 8

Chapter 2 Kinematics 112.1 Preliminaries 112.2 Planar kinematics 152.3 Spherical kinematics 202.4 Spatial kinematics 222.5 Kinematic constraint 252.6 Kinematic mechanisms 342.7 Bibliographic notes 36

Exercises 37

Chapter 3 Kinematic Representation 413.1 Representation of spatial rotations 413.2 Representation of spatial displacements 583.3 Kinematic constraints 683.4 Bibliographic notes 72

Exercises 72

Chapter 4 Kinematic Manipulation 774.1 Path planning 774.2 Path planning for nonholonomic systems 844.3 Kinematic models of contact 864.4 Bibliographic notes 88

Exercises 88

MIT Press Math7X9/2001/03/09:12:00 Page 5

Mechanics_of_Robotic_Manipulation/0262133962/files/00006___c2b51838a672e7aacc599599f8dd1b01.pdfvi Contents

Chapter 5 Rigid Body Statics 935.1 Forces acting on rigid bodies 935.2 Polyhedral convex cones 995.3 Contact wrenches and wrench cones 1025.4 Cones in velocity twist space 1045.5 The oriented plane 1055.6 Instantaneous centers and Reuleauxs method 1095.7 Line of force; moment labeling 1105.8 Force dual 1125.9 Summary 1175.10 Bibliographic notes 117

Exercises 118

Chapter 6 Friction 1216.1 Coulombs Law 1216.2 Single degree-of-freedom problems 1236.3 Planar single contact problems 1266.4 Graphical representation of friction cones 1276.5 Static equilibrium problems 1286.6 Planar sliding 1306.7 Bibliographic notes 139

Exercises 139

Chapter 7 Quasistatic Manipulation 1437.1 Grasping and xturing 1437.2 Pushing 1477.3 Stable pushing 1537.4 Parts orienting 1627.5 Assembly 1687.6 Bibliographic notes 173

Exercises 175

MIT Press Math7X9/2001/03/09:12:00 Page 6

Mechanics_of_Robotic_Manipulation/0262133962/files/00007___9af3203363ddf7836e28c556884299fd.pdfContents vii

Chapter 8 Dynamics 1818.1 Newtons laws 1818.2 A particle in three dimensions 1818.3 Moment of force; moment of momentum 1838.4 Dynamics of a system of particles 1848.5 Rigid body dynamics 1868.6 The angular inertia matrix 1898.7 Motion of a freely rotating body 1958.8 Planar single contact problems 1978.9 Graphical methods for the plane 2038.10 Planar multiple-contact problems 2058.11 Bibliographic notes 207

Exercises 208

Chapter 9 Impact 2119.1 A particle 2119.2 Rigid body impact 2179.3 Bibliographic notes 223

Exercises 223

Chapter 10 Dynamic Manipulation 22510.1 Quasidynamic manipulation 22510.2 Briey dynamic manipulation 22910.3 Continuously dynamic manipulation 23010.4 Bibliographic notes 232

Exercises 235

Appendix A Innity 237

References 241Author Index 247Subject Index 249

MIT Press Math7X9/2001/03/09:12:00 Page 7

Mechanics_of_Robotic_Manipulation/0262133962/files/00008___ba84cb72bbf7c754524ff15cb08ab1b1.pdfviii Contents

MIT Press Math7X9/2001/03/09:12:00 Page 8

This page intentionally left blank


This book is written for anyone mystied and intrigued by manipulation. In its most generalform, manipulation refers to a variety of physical changes to the world around us: movingan object; joining two or more objects by welding, gluing, or fastening; reshaping an objectby cutting, grinding, or bending; and many other processes. However, this book, like thevast bulk of manipulation research, addresses only the rst of these forms of manipulation:moving objects. Even with this restriction, we still have a number of different processes toconsider: grasping, carrying, pushing, dropping, throwing, striking, and so on.

Likewise, we will address only robotic manipulation, neglecting manipulation byhumans and other animals, except for inspiration and occasional philosophical points.But robotic manipulation should not be construed too narrowlyperhaps machinemanipulation would be a better phrase. We will include any form of manipulation bymachines, from doorstops to automated factories.

The book draws on material from two elds: classical mechanics and classical plan-ning. Much of the book is devoted to classical mechanics, as it applies to manipulationprocesses. The goal of understanding manipulation provides an unusual perspective onclassical mechanics, and will force us to address some peculiarities not treated in mosttexts.

The second component of the book is classical planning. By this I mean state-spaceapproaches, where an explicit model of the possible actions allows the planner to searchthrough various sequences until a satisfactory one is found. Two difculties have to beresolved. First, classical mechanics typically gives multi-dimensional continuous statespaces, rather than the discrete state spaces that are better suited to search. Second, therobot does not generally have perfect information, and may not know the actual state ofthe task. Sometimes a plan has to address this gap between the task state and the robotsestimate of task state. Both of these factorshigh-dimensional continuous state spaces,and uncertaintyadd to the complexity of manipulation planning.

This book differs from most previous books in its focus on manipulation rather thanmanipulators. This focus on processes, rather than devices, allows a more fundamentalapproach, leading to results that apply to a broad range of devices, not just robotic arms.The real question of manipulation is how to move objects around, not how to move an armaround. Humans seem to solve this problem by exploiting all the available resources, usingany convenient surface to align objects, tapping and shaking things that are inconvenientto grasp, using any convenient object as a tool to poke and push, and so forth. This abilityis best observed when a human uses his own hands, but it is also apparent when a humanprograms a robotic manipulator. Any faithful attempt to explain manipulation must addressa broad range of manipulation techniques.

In robotics, any theory that reaches a certain stage of maturity can be tested. If a theoryis complete enough, and constructive, we can build a robot that embodies the theory, and

MIT Press Math7X9/2001/03/09:12:00 Page 9

Mechanics_of_Robotic_Manipulation/0262133962/files/00010___89e65b5ceac81ee7571425d90d5a7e2c.pdfx Preface

then test the validity and scope of the theory through experiments with the robot. It isrelatively straightforward, in principle, to build a robot combining classical mechanicsand classical planning. We construct a robot that has a computational model of the task,including shapes and other relevant physical parameters of the objects in the scene. Usingclassical mechanics, the robot is also able to predict the effect of any actions it might wishto consider. Now if the robot is given some goal, it can simulate various sequences ofactions, searching for a plan that will achieve the goal.

Such a robot is the ultimate rationalistits faith in Newtonian (or Aristotelian orwhatever) mechanics is absolute, and its actions are derived from rst principles to satisfyits goals. It is a near-perfect marriage of theory to experiment. To address theoreticalconcerns, we can design the robot from formal models of mechanics and search algorithms,obtaining a formal entity susceptible to theoretical investigation. We can prove theoremsabout its performance, and we have explicit formal hypotheses that characterize its validity.To address experimental concerns, we can implement the design, obtaining a physicalsystem that can be tested experimentally. When theory and experiment agree, we haveevidence for the validity of the theory and the delity of its implementation. When theydisagree, we have hints about appropriate changes to the theory or its implementation.

Perhaps even more important is the value that this approach places on developing aneffective, constructive theory. There is sometimes a big difference between a theory thatshould work and a theory that does work. The process of closing that gap is an importantforce in driving the eld to address the important problems.

What kind of theory should we be attempting to build? Will there be a neat solutionsome simple idea that will allow us to build robots with human-like abilities? Comparisonwith related engineering disciplines suggests otherwise. Nobody expects a single neattheory for the problem of building a car or a rocket. Artifacts of great complexity depend ona large diverse collection of scientic and engineering results, and a robot competitive witha human being will surely be more complex than anything we have constructed before. Thisbook does not propose to describe the solution, or even an outline of the solution. Rather,it attempts to outline one specic line of scientic inquiry, which we may hope addressesone of the central problems of robotic manipulation.

This book began as course notes for a graduate course, Mechanics of Manipulation,which is part of the curriculum of the Robotics PhD program at Carnegie Mellon. Thestudents had varied backgrounds, but most had an undergraduate degree in engineering,science, or mathematics. Occasionally an advanced undergraduate has taken the course;most have done well. Most students, but not all, have already taken a course in manipulatorkinematics, dynamics, and control. Term projects have been an integral part of the course.Each student, or in some cases a small team, is expected to choose and explore a manip-ulation problem. Some of the possibilities are: building a card house, cracking a whip,

MIT Press Math7X9/2001/03/09:12:00 Page 10

Mechanics_of_Robotic_Manipulation/0262133962/files/00011___f29fd5396dcb6b868a6df00d3d10a6f4.pdfPreface xi

throwing a frisbee, building a stack of dominos with maximum overhang, snapping onesngers, throwing a top, working a yoyo, solving the ball-in-cup game, various types of jug-gling, and so on. A typical project might analyze some simplied version of the problem,produce a simple planning system, or focus on some well-dened aspect of the process.Papers on many such problems may be found in the back issues of Scientic American andthe American Journal of Physics. Some of the projects address more respectable manip-ulation problems, which can be found in International Journal of Robotics Research, orProceedings of the IEEE International Conference on Robotics and Automation, amongothers.

For the benet of those teaching from this book or doing the problems, the gures willbe posted on my web page at, possibly with additionalnotes on teaching, or solutions for the problems.

I would like to thank my advisors and colleagues: Berthold Horn, Tomas Lozano-Perez,Marc Raibert, Mike Erdmann, Randy Brost, Yu Wang, Ken Goldberg, Alan Christiansen,Kevin Lynch, Srinivas Akella, Wes Huang, Garth Zeglin, Devin Balkcom, Siddh Srini-vasa, John Hollerbach, Russ Taylor, Ken Salisbury, Dan Koditschek, Bruce Donald, IllahNourbakhsh, Ben Brown, Tom Mitchell, Dinesh Pai, Al Rizzi, Takeo Kanade, and AllenNewell.

Several people have read drafts, adopted the book for classes, or provided assistanceand encouragement in other ways: Anil Rao, Howard Moraff, Carl Harris, Charlie Smith,Ian Walker, Mike McCarthy, Zexiang Li, Richard Voyles, Yan-Bin Jia, Terry Fong, KristieSeymore, Elisha Sacks, and the students of 16-741. Jean Harpley and Mark Moll helpedwith the nal preparation of the manuscript, and Sean McBride drew the drawings inchapter 1.

I would like to thank Mary, Timm, and Kate for their support and sacrices.I would like to thank the National Science Foundation for support under grants IRI-

9114208,IRI-9318496, IIS-9900322, and IIS-0082339.I would like to thank everyone whose ideas I have borrowed. In some cases the contri-

butions have been much greater than might be appreciated from scanning the bibliographiesor the index.

MIT Press Math7X9/2001/03/09:12:00 Page 11

Mechanics_of_Robotic_Manipulation/0262133962/files/00012___2c5724fe5ccf37feb081c5cece0112d4.pdfxii Preface

MIT Press Math7X9/2001/03/09:12:00 Page 12

This page intentionally left blank

Mechanics_of_Robotic_Manipulation/0262133962/files/00013___39a19726b1c663c335f25c3540e9acef.pdf1 Manipulation

Manipulation is the process of using ones hands to rearrange ones environment. Thereare many facets to manipulation. Manipulation is an art, since it is practiced by all ofus, without any systematic or fundamental understanding of the process. Manipulation isalso an engineering discipline, for there are some systematic tools for applying roboticmanipulation to various problems. Finally, manipulation is also a science, since it is aprocess that engages our curiosity, which we can explore using scientic methods.

Manipulation is accomplished in many different ways. To begin the chapter, we willconsider two examples of manipulation systems. Thus we establish the subject of thestudythe set of phenomena to be explored and explained. The rest of the chapter catalogsthis diverse set of manipulation techniques, in terms of the underlying mechanics. Thechapter ends with an outline of the book.

1.1 Case 1: Manipulation by a human

Our rst example has the form of a thought experiment, but it is a familiar scenario drawnfrom everyday life, one which can easily be re-enacted if desired (gure 1.1). Considerthe processes by which the dealer in a card game gathers the cards, assembles a neat pack,shufes the pack, deals the cards, collects his own hand, and arranges it. Although it is hardto analyze the process with any precision, even a supercial analysis is revealing. First thedealer sweeps the cards together into a heap, then he squeezes the heap and taps it on thetable until a neat pack is obtained. Shufing is most commonly accomplished by splittingthe pack into two halves, bending them, then releasing them in a sequence so that the twohalves are interleaved. Then the pack is neatened again by squeezing and tapping.

Now the left hand is fashioned into a mechanism that presents isolated cards in succes-sion, which the right hand grasps and throws. The throw includes a spin that stabilizes thecards orientation.

Now all the players gather and neaten their hands. They arrange the cards by graspingand re-inserting subsets of the cards. Again the hand is neatened by squeezing, thencarefully spread by a technique involving controlled slip among the cards.

Several characteristics of the process are intriguing. Handling of individual cards iskept to a bare minimum. Some of the cards are not handled individually at all, except forthe throw. Not once is an isolated card brought from one rest position to another by thetechnique of being rigidly attached to the hand and arm. Instead the dealer uses sweeping,tapping, squeezing, throwing, controlled slip, and some additional techniques that defysimple descriptions.

MIT Press Math7X9/2001/03/09:12:00 Page 1

Mechanics_of_Robotic_Manipulation/0262133962/files/00014___cc7cebfc4b1880c069c928414aad1186.pdf2 Chapter 1

Figure 1.1An example of skilled human manipulation: gathering, straightening, shufing, and dealing cards.

MIT Press Math7X9/2001/03/09:12:00 Page 2

Mechanics_of_Robotic_Manipulation/0262133962/files/00015___345052e85fd4e0555d867024b6ae02c3.pdfManipulation 3

The process requires a fair degree of skill. Young children are much less adept, andlearning the skill takes time and practice.

The techniques are sensitive to the characteristics of the cards and the table. New cardsare awkward because they are too slippery and too stiff. Dirty cards are too sticky. Thecards need to be precisely identical in dimensions, and the right stiffness. A pack of cardscut by hand from ordinary writing paper requires very different methods.

In some respects the operations are strongly sensor-driven, as when turning cards thatare out of alignment with the rest of the pack, or gathering cards that are scattered aroundthe table. At times, though, sensors play a minimal role. For example, the nal neateningof the pack does not rely on vision to identify the misaligned cards. Rather, squeezing andtapping the deck takes care of the cards without the necessity of identifying them.

Two things stand out very strongly. One is the efciency and skill displayed. The otheris the adaptability. Although a change in the apparatus may drastically affect efciency, thehuman can adapt, falling back on more conservative techniques.

1.2 Case 2: An automated assembly system

Our second example is the automated assembly line illustrated in gure 1.2, integratingindustrial robotic manipulators and a variety of equipment for transporting, orienting, andpresenting parts to the robots. We will base the example on the Sony SMART system, butthe basic elements are common to many industrial systems.

The problem is to assemble a small consumer electro-mechanical product, such as atape recorder or a camera. The assembly takes place on a work xture that is designedto hold the device and carry it accurately from one station to the next. At each station arobot performs a number of operations. In order to minimize the number of stations, eachrobot has up to six different end-effectors, all of which are mounted on a turret head. Thuseach robot can perform six or more different steps, by selecting the relevant effectors asappropriate.

Parts are presented to the robots in pallets. Each pallet has an array of nests, eachnest holding a single part, in an attitude appropriate for the robot to grasp the part. Thesepallets in turn are transported on a second conveyor system, which can retrieve a palletfrom storage on demand, and transport the pallet to the robot that requested it.

The pallets are lled with parts by an APOS machine. The pallet is tipped at a slightangle, and parts are shoveled onto it. A vibratory motion of the pallet allows the parts toslide down the plate and off into an overow bin, but some of the parts fall into the nests.The nest shape and vibratory motion are designed so that parts will come to rest only in

MIT Press Math7X9/2001/03/09:12:00 Page 3

Mechanics_of_Robotic_Manipulation/0262133962/files/00016___5d1d28999cc2b359290fb086ca17524f.pdf4 Chapter 1

Figure 1.2The Sony SMART system. (a) System layout showing work conveyor, parts pallets, robot with turret tool head,pallet conveyor, and APOS parts orienting system. (b) Closeup of APOS lling pallet with oriented parts. (c)Picking a part. (d) Assembling a part into the product.

MIT Press Math7X9/2001/03/09:12:00 Page 4

Mechanics_of_Robotic_Manipulation/0262133962/files/00017___4725d94a2b04110d2480d7bc7d928448.pdfManipulation 5

the desired orientation. After some pre-determined time, the pallet is lled with orientedparts. It is then unloaded from the APOS machine and delivered to a robot or to storage.

The design of the end product is optimized to simplify the assembly process (designfor assembly). In particular, the products are designed to be assembled one part at a time,with almost all assembly motions being vertical. Parts are designed to be easy to handle.For instance, a single complex plastic shape might replace several simpler shapes, withsprings replaced by exible elements of the part. The parts are also designed to reduce thedifculty of feeding and orienting the part, and to reduce the difculty of assembly, so thatmating features actually help guide the assembly into place.

Similarly, the end-effectors and the nests are designed to speed the process. In fact,some reection reveals that assembly is ubiquitous in this process. Each part is oriented byassembling it with a pallet nest. Each part is grasped by assembling the robot gripper withthe part. Assembly of the part with the work in progress is actually the third assembly stepin this process.

Shape interactions are the dominant phenomenon in this system. The critical stepsare: (1) part locating by the interaction of a part with a nest in the APOS system; (2)part grasping by mating a special-purpose effector with a feature of the part; and (3) partplacement, which might involve interactions between the part and the work-in-progress.Sensors play a small but important role, allowing the robot to detect a grasp failure andproceed by going on to the next part in the pallet. The manipulator is used in the simplestpossible way, as a pick and place device.

1.3 Issues in manipulation

There are striking differences between the human card player and the automated factory.Humans have thousands of sensors and actuators, and the intelligence to coordinate themand adapt them to the task at hand. A single robot has only a few sensors and actuators, andlacks the intelligence to adapt them to a new task without human help. Even if we considerthe factory as a whole, with hundreds of sensors and actuators, they are still congured andprogrammed for a single task, or a closely related set of tasks.

But we can see through these differences, by focusing on the decisions made by thetwo systems. Some of these decisions are online: decisions made and quickly acted upon,perhaps using information just acquired. Some of these decisions are ofine: techniquesthat are learned through practice and can be applied without being reinvented. Some mightbe considered off-ofine: decisions that were made at design time, such as how manyngers to have, how to congure the sensors, and so forth.

When we focus on decisions, we see that the main difference between the systems isthe humans much greater capacity for making decisions online. The robotic system makes

MIT Press Math7X9/2001/03/09:12:00 Page 5

Mechanics_of_Robotic_Manipulation/0262133962/files/00018___5ee3e025c7f3732f572a1a10a6202ff1.pdf6 Chapter 1

very few online decisions. The only variations in its actions occur as a result of errorconditions, or depend upon the arrival of a particular pallet. All other decisions were madeofine by the system designers as the system was being designed and programmed. For thehuman, it is harder to determine whether a decision is made online or ofine. It seems clearthat the human makes many more online decisions than the factory system. But it is alsoclear that the human system still involves many ofine decisions. At the least, to developgood skill requires long practice, comprising decisions occuring over a long period of time.And of course the more basic aspects of the human system were determined as the speciesevolved.

Although the time of the decisions varies greatly between humans and robots, the deci-sions can otherwise be quite similar: how to congure sensors, actuators, and mechanicalstructures; how to organize and coordinate sensory information with actuator innervation;what patterns of shape, motion, and force will produce a desired result. A theory of ma-nipulation ought to provide a means for making these decisions, for solving manipulationproblems, whether ofine or online.

What are the manipulation problems that have to be solved? Some characteristics ofmanipulation systems are dictated by the inherent properties of the problem, and are sharedby all solutions to the problem. This observation can serve as a guide to our study, helpingus to focus on phenomena and approaches that are fundamental to manipulation, tran-scending the details of any particular technology. The card playing system and the roboticassembly system raise some fairly basic problems, which we can take as representative ofmanipulation in general. For example,

Show that an object, or set of objects, is in a stable conguration. As an example, everystage in the assembly must be stable, while the robot puts in the next piece. Show that an object is not in a stable conguration. A strategy for aligning cards canbe designed by nding a set of nger motions, such that no out-of-place card is stable.Similarly an APOS orienting-nest design should have the property that no out-of-placepart is stable. Given a xed object, a mobile object, and an applied force, show that the mobileobject converges locally to a particular location relative to the xed object. For example,this approach can be used to analyze a grippers ability to grasp a particular object in apredictable way. Given a xed object and a mobile object, design a vibrational motion so that the mobileobject converges globally to a particular location relative to the xed object. Construct a throwing motion to deliver an object accurately, and minimize the energyof the object subsequent to impact. This may be a good way to synthesize a card-throwingmotion, with the additional constraint that the card stay face down.

MIT Press Math7X9/2001/03/09:12:00 Page 6

Mechanics_of_Robotic_Manipulation/0262133962/files/00019___b42b9833d0c3cbfe0f8c1807ea00682a.pdfManipulation 7

Problems of this kind fall between mechanics and planning, and can be phrased eitheras problems of analysis or as problems of synthesis. Phrased in analytic form, we havea mechanics problem. Unfortunately, for many of these problems there is not a generalsolution, especially when we include limitations on the information available for thesolution. Phrased in synthetic form, we have a planning problem. This allows us to makechoices that restrict the scope of the problem, possibly allowing a solution.

We will take as the over-riding problem: how does a robot transform goals into actions?To narrow the focus a bit, we will assume that a robot is given some goals, generallyrequiring some re-arrangement of the objects surrounding it. We will not worry abouthigher-level issues, such as how a robot transforms a higher-level goal, such as prot,to lower-level goals, such as grasping a wrench.

1.4 A taxonomy of manipulation techniques

We will focus on one approach, which might be called analytical manipulation. To decidewhat to do, the robot will use an analytical model of the task mechanics. Before trying anaction, the robot can use its model to predict the consequences of the action. Rather thanclassifying robots according to their physical structure, or their computational architecture,we will classify robots according to their models of task mechanics. Thus we distinguisha Newtonian robot, which derives its actions from Newtons laws, from an Aristotelianrobot, which thinks things move only when something pushes them. We could also havean empirical robot, which uses a model built up from observations, rather than one basedon an axiomatic system.

All of the robots we will explore here are variants of the Newtonian robot, althoughsome of them could also viewed as Aristotelian robots. All of them make decisions basedon the familiar techniques of classical mechanics. Classical mechanics is usually presentedin a sequence that begins with kinematics, then moves to statics, and nally to dynamics.We can employ the same progression to construct a hierarchy of manipulation techniques:

Kinematic manipulation. An action or sequence of actions that can be derived fromkinematic considerations alone. For example, if the task specication is a particular motionof the end-effector, the motions of the arm mechanism can be determined kinematically. Static manipulation. An action or sequence of actions that can be derived from staticsand kinematics. For example, to place an object on a table, it is necessary to determine astable rest attitude for the object (statics) and to produce the motions necessary to movethe object there (kinematics).

MIT Press Math7X9/2001/03/09:12:00 Page 7

Mechanics_of_Robotic_Manipulation/0262133962/files/00020___782057c0e6a5548921d25be92e47e619.pdf8 Chapter 1

Quasistatic manipulation. In manipulation tasks, inertial forces are often dominated byfrictional forces and impact forces. Analysis that neglects inertial forces is often calledquasistatic analysis. For example, when straightening a pack of cards by squeezing it, theinertial forces of the cards are negligible. Dynamic manipulation. Finally, when inertial forces are an important part of the process,we have dynamic manipulation. For example, throwing a card so that it lands properly andnever ips over, depends on the inertial properties of the card.

Some care must be exercised in applying this taxonomy. It refers to how actions arederived, rather than referring to the actions themselves. And in most instances, we do notknow how the actions were derived, since the derivation occurred inside a humans head.The classication is actually a subjective one, depending on the observers own model ofmanipulation.

Our chief use of the taxonomy is to organize this book. We can follow the traditionalprogression from kinematics to dynamics, exploring mechanics with the goal of under-standing manipulation processes. The book begins with kinematics (chapters 2 and 3),followed by a chapter on kinematic manipulation. The chapters on statics and friction arefollowed by a chapter on quasistatic manipulation. And the chapters on dynamics andrigid-body impact are followed by a chapter on dynamic manipulation.

1.5 Bibliographic notes

For a broad understanding of the role of manipulation and the human hand, (Bronowski,1976) is essential. Also highly recommended are (Napier, 1993) and (Wilson, 1998).

Although humans seem to be the best, many animals are impressive manipulators.Savage-Rumbaugh and Lewin (1994) provide several interesting comparisons of apes

and humans. Collias and Collias (1984) provide a very rewarding description of bird nestbuilding.

Fujimori (1990) describes the Sony SMART system. The taxonomy of manipulation isrst described by Kevin Lynch and myself (1993). For a broader treatment of automatedassembly, see (Boothroyd, 1992).


Exercise 1.1: The taxonomy of manipulation techniques refers to the robots model of taskmechanics. Does a robot have to have a model of the task mechanics? Does an ant have amodel of the task mechanics? Construct arguments on both sides of the question.

MIT Press Math7X9/2001/03/09:12:00 Page 8

Mechanics_of_Robotic_Manipulation/0262133962/files/00021___485afe0de09316ddc9f295822c6b0253.pdfManipulation 9

Exercise 1.2: Suppose you are given a robot and you want to know whether it usesanalytical manipulation or not. You are allowed to perform any experiments, to takeit apart, etc. How could you tell whether the robot was analytical or not?

Exercise 1.3: Do you use analytical manipulation or empirical manipulation? Orboth, or neither? Perhaps sometimes one, sometimes the other? Consider the processesof evolution, how experience might be encoded and accessed in the brain, and how togeneralize from past experience to deal with a current problem.

Exercise 1.4: Analyze some manipulation task such as playing cards. Identify the differentstages, and for each stage describe the mechanical processes, the control and decisionprocesses, the information required to perform the actions, and the source of information.

MIT Press Math7X9/2001/03/09:12:00 Page 9

Mechanics_of_Robotic_Manipulation/0262133962/files/00022___2b1837c1d1af71ea4b1c75701ff42c96.pdf10 Chapter 1

MIT Press Math7X9/2001/03/09:12:00 Page 10

This page intentionally left blank

Mechanics_of_Robotic_Manipulation/0262133962/files/00023___c5d90b8105f0e0ee02df37bb7f79c2d9.pdf2 Kinematics

Kinematics means the study of motion, without regard for the cause of the motion. Thereare many reasons for us to begin with kinematics. First, manipulation is typically aimedat moving objects around, so the principles of kinematics are relevant to almost any ma-nipulation process. Second, many manipulation processes are entirely kinematic in nature.These processes were termed kinematic manipulation in chapter 1, and are addressed inchapter 4. Finally, kinematics also is the traditional rst step in treatments of classicalmechanics, and it can play the same role here.

This chapters treatment of kinematics differs somewhat from more general treatments,owing to our goal of understanding the processes of manipulation. This chapter presentsthe basic principles of rigid body motion, but simultaneously illustrates and motivates theseprinciples by applying them to manipulation. You will already be familiar with many ofthe concepts in this chapter, such as translation and rotation. Our goal is to augment yourworking knowledge with a more precise foundation, but we do not strive for completerigor, which might unnecessarily obscure the important concepts.

2.1 Preliminaries

Before focusing on rigid bodies, we digress briey to consider more general systems.We will consider a system to be a set of points in some ambient space: two-dimensionalEuclidean space (E2) for planar kinematics, three-dimensional Euclidean space (E3) forspatial kinematics, or the surface of a sphere (S2) for spherical kinematics. In the generalcase, each point might be capable of independent motion. For the general case, then, let Xbe the ambient spaceE2, E3, or S2.

DEFINITION 2.1: A system is a set of points in the space X.

DEFINITION 2.2: A conguration of a system is the location of every point in the sys-tem.

DEFINITION 2.3: Conguration space is a metric space comprising all congurationsof a given system.

How do we know that a metric exists for the space of all congurations? We coulddene a metric on the conguration space for any system, by choosing a few points {xi} inthe system, and dening the distance between two congurations d(D1, D2) to be the max-

MIT Press Math7X9/2001/03/09:12:00 Page 11

Mechanics_of_Robotic_Manipulation/0262133962/files/00024___3b5e9732513e2d92dc394151831482e5.pdf12 Chapter 2

A displacement A dilation A reflection

Figure 2.1Transformations, rigid and otherwise.

imum distance between corresponding points, d(D1, D2) = max{d(D1(xi )), d(D2(xi ))}.Note, however, that this metric involves an arbitrary choice of the xi . In fact, for manyof the conguration spaces we will consider, rigid body conguration space in particular,every metric involves arbitrary choices.

DEFINITION 2.4: The degrees of freedom of a system is the dimension of the cong-uration space. (A less precise but roughly equivalent denition: the minimum number ofreal numbers required to specify a conguration.)

Now we can move on to the concept of rigid bodies and rigid motions.

DEFINITION 2.5: A displacement is a change of conguration that does not change thedistance between any pair of points, nor does it change the handedness of the system.

(I use the term handedness in favor of the usual term orientation.)

DEFINITION 2.6: A rigid body is a system that is capable of displacements only.

A transformation that uniformly changes the size of a body is called a scale transfor-mation, or a dilation. A transformation that changes the handedness of a body is called areection.

System Conguration DOFspoint in plane x , y 2point in space x , y, z 3rigid body in plane x , y, 3rigid body in space x , y, z, , , 6

MIT Press Math7X9/2001/03/09:12:00 Page 12

Mechanics_of_Robotic_Manipulation/0262133962/files/00025___1c940ab7fbecb1fd7388477e7b684cea.pdfKinematics 13

Moving plane

Fixed plane

Figure 2.2Moving and xed planes.

It is convenient to consider a displacement to apply to every point in the space, not justthe points in some rigid body. As an example, consider a triangle capable of rigid motionin the plane (gure 2.2). We can imagine that the triangle is drawn on a moving plane, andwe can refer to the base plane as the xed plane. Any motion of the triangle determines amotion of the entire moving plane. Thus we can talk about the motion of an arbitrary point,whether or not this point is actually part of the body. Also we can study displacements ofthe plane, as a means of studying displacements of any rigid body in the plane.

DEFINITION 2.7: A rotation is a displacement that leaves at least one point xed.

It is important to note a distinction between two similar concepts: rotation about somegiven point such as the origin or the center of mass; versus rotation about an unspeciedpoint. For a general rotation, the xed point may be anywhere in the space.

DEFINITION 2.8: A translation is a displacement for which all points move equaldistances along parallel lines.

At times it is convenient to use algebraic concepts and notation in discussing displace-ments. Every displacement D can be described as an operator on the underlying space,mapping every point x to some new point D(x) = x . The product of two displacements isthe composition of the corresponding operators, i.e. (D2D1)() = D2(D1()). The inverseof a displacement is just the operator that maps every point back to its original position.

MIT Press Math7X9/2001/03/09:12:00 Page 13

Mechanics_of_Robotic_Manipulation/0262133962/files/00026___603151be52ed1d15575dabe42b2a6f28.pdf14 Chapter 2


Rotationabout O

Rotation about apoint on the body

Rotation about apoint not on the body

Figure 2.3Various rotation centers.

The identity is the null displacement, which maps every point to itself. These observationscan be summarized as follows:

THEOREM 2.1: The displacements, with functional composition, form a group.

These groups have names. For the Euclidean spaces we have the special Euclideangroups SE(2) and SE(3). For the sphere we have the special orthogonal group SO(3).Special means that they preserve handedness. Orthogonal refers to the connection toorthogonal matrices, which will be covered in chapter 3.

The next question is Do displacements commute? That is, does D2(D1()) =D1(D2()) hold for arbitrary displacements D1 and D2? The answer is no. Figure 2.4 givesa counter-exampletwo spatial rotations that give different results when taken in differentorders.

There are many different ways to describe a displacement, but the most familiar is todecompose the displacement into a rotation followed by a translation.

THEOREM 2.2: For any displacement D of the Euclidean spaces E2 or E3, and any pointO, D can be expressed as the composition of a translation with a rotation about O.

Proof Let O be the image of O under D. Let T be the translation taking O to O , andlet T1 be its inverse. Then the displacement T1 D leaves O xed, so it is a rotation;call it R. Then T R = T T1 D = D is the desired decomposition. Alternatively, wecould dene a rotation S = D T1. So there two ways of decomposing D into a rotationand a translation: T R or S T .

For many purposes the decomposition into a rotation followed by a translation is agood way to describe displacements, but take note that it is not a canonical descriptionthe decomposition depends on the reference point O.

MIT Press Math7X9/2001/03/09:12:00 Page 14

Mechanics_of_Robotic_Manipulation/0262133962/files/00027___e06a37203d5d26d6f2aa959cf2548bb0.pdfKinematics 15








x yz


yz x



Figure 2.4Spatial rotations do not generally commute.

COROLLARY 2.1: Given any point O, any differential motion or velocity can be decom-posed into a translational part and a rotational part about O.

2.2 Planar kinematics

To explore basic kinematics further, we must consider the underlying ambient spacesseparately. This section focuses on planar kinematics. The main topic is how the specialcases of rotation and translation relate to the general displacement. Theorem 2.2 showedthat any displacement can be described as a translation followed by a rotation. But forplanar kinematics we can go much furtherevery displacement can be described as eithera translation or a rotation. In fact, if we allow the small mathematical convenience ofallowing points at innity, translations can be treated as rotations, so that every planardisplacement can be viewed as a rotation. First we must lay out some of the basic propertiesof displacements, rotations, and translations in the plane.

THEOREM 2.3: A planar displacement is completely determined by the motion of anytwo points.

MIT Press Math7X9/2001/03/09:12:00 Page 15

Mechanics_of_Robotic_Manipulation/0262133962/files/00028___ad36a62322c2e43ef9b66d507beb92e4.pdf16 Chapter 2





Figure 2.5Construction for proof of theorem 2.4.

Proof The displacement is completely determined if the motion of every point in theplane is determined. Given the motion of two points, let the origin be one point, and choosethe x axis to point at the second point. Choose the y axis to give a right-handed coordinateframe. The motion of the two points determines the motion of the coordinate frame. Giventhe coordinates of any other point P in the plane, we can use the coordinate frame toconstruct the image P .

Recall that a displacement can be decomposed into the product of a rotation and atranslation (theorem 2.2). Unfortunately, this decomposition depends on the choice of areference point, so it is not a canonical description. The next result gives a means ofdescribing planar displacements that is often superior.

THEOREM 2.4: Every planar displacement is either a translation or a rotation.

Proof Let D be an arbitrary planar displacement, let A be an arbitrary point in the plane,and let A be its image under D. If A = A then D is by denition a rotation, so wehenceforth assume that A is distinct from A. Let B be the midpoint of the line segmentAA, and let B be the image of B .

If B is collinear with A, A, and B , then there are only two choices for B that preservedistance from A. One choice leaves B xed, giving a rotation. The other choice gives atranslation by the vector


The only case left is that B maps to a distinct B not on the line through A, B , and A,which is illustrated in gure 2.5. Construct a perpendicular to AB at B , and a perpendicularto AB at B . These perpendiculars are not parallel, since AB and AB are not parallel.Let M be the intersection of the perpendiculars. We will prove M is xed. Consider thedisplacement mapping A to A and M to itself. Where does that displacement map B? Sinceit must preserve distance from A and from M , we identify two candidates by intersecting

MIT Press Math7X9/2001/03/09:12:00 Page 16

Mechanics_of_Robotic_Manipulation/0262133962/files/00029___e197d53dee9149423ff13c2dfa920824.pdfKinematics 17





(a) Rotation center

dA dB


(b) Instantaneous center (IC)

Figure 2.6Generic cases of constructing a rotation center and an instantaneous center.

circles. One candidate, B itself, is excluded because it would correspond to the identity. Theother candidate is B . This proves that our hypothesized rotation about M is the originaldisplacement D.

The xed point of a planar rotation is easily constructed from the motions of twopoints A and B . We construct the perpendicular bisectors of AA and BB , and intersect.Figure 2.6(a) shows the generic case, where the perpendicular bisectors have a singlepoint of intersection. Two other possibilities must be considered. If the two perpendicularbisectors are identical, we must repeat the construction, after substituting for A or Bany point not collinear with A and B . The last case is a translation, for which the twoperpendiculars are parallel. We can treat this case as a rotation of zero degrees about apoint at innity. (A brief treatment of points at innity is given in appendix A.) Hence werestate theorem 2.4 as:

Every planar displacement is a rotation about a point in the projective plane.

COROLLARY 2.2: Generalizing to differential motions, every plane velocity is an an-gular velocity about a center in the projective plane. To construct the point, we take theperpendiculars to dA and dB and intersect.

These results have given rise to a number of terms, with no rm conventions on theiruse. Rotation center and rotation pole refer to nite rotations; instantaneous center (IC),velocity center, and velocity pole refer to velocities.


Until now, we have focused on single displacements. Now we consider continuous motions,as for an object whose conguration is changing as a continuous function of time. When a

MIT Press Math7X9/2001/03/09:12:00 Page 17

Mechanics_of_Robotic_Manipulation/0262133962/files/00030___10060a3694ca173e1678380b538a9727.pdf18 Chapter 2








Figure 2.7Construction of ICs for two four-bar linkages.

motion is parameterized by time, we use the term trajectory, described by a curve q(t) inconguration space. In this section we will ignore the time element, and consider the pathof the motion, described by a curve q(s) in conguration space, whose parameterizationmay be considered arbitrary.

The main result is that any planar motion path can be described by two curves in theplane, called centrodes. One curve, the moving centrode, rolls without slipping along thesecond curve, called the xed centrode. The centrodes provide a canonical description ofplanar motions, which has the additional advantage of being easily understood.

The xed centrode is the locus of the rotation pole in the xed plane. The movingcentrode is the locus of the rotation pole in the moving plane. It should be evident that asthe moving centrode rolls without slipping on the xed centrode, the instantaneous centeris at the contact between the two curves.

The main difculty in constructing centrodes by hand is to plot the centers in themoving plane. The easiest way is to construct the xed centrode rst, then use a transparentsheet of plastic for the moving plane, plotting the centers on the moving plane as itreproduces the motion in question.

We will illustrate the approach using planar four-bar linkages (gure 2.7). Each four-bar linkage consists of a motionless base link, two links whose motion is a rotation about axed point or a translation along a xed axis, and a fourth link, the coupler link, whichmakes a fairly complicated motion. At any given instant instant, we can describe theconstraints on the coupler link by noting that the motions of points A and B are constrained.The rotation center of the coupler link must be on a line perpendicular to d A and also ona line perpendicular to dB . This completely determines the instantaneous center of thecoupler link unless the linkage is passing through some degenerate conguration.

MIT Press Math7X9/2001/03/09:12:00 Page 18

Mechanics_of_Robotic_Manipulation/0262133962/files/00031___b4d6f69b0316b96ef4826af1fcefe450.pdfKinematics 19


fixed centrodemoving centrode

Figure 2.8Construction of xed and moving centrodes.

In summary, the method is:

1. Reduce the constraints to point-velocity constraints.2. Construct perpendiculars to the allowed velocities at each point.3. If all perpendiculars have a common intersection, that is the instantaneous center.Parallel lines are assumed to intersect at innity. If there are three or more perpendiculars,there may be no intersection, meaning no motion is feasible.

By repeating this analysis for several different congurations of a mechanism we canconstruct the xed and moving centrodes. Figure 2.8 shows example centrodes constructedfor the motion of the coupler link of the four-bar linkage shown in gure 2.7. This is aparticularly interesting mechanism: the centrodes are circles, points on the coupler linkcenterline sweep out ellipses, and the coupler links motion sweeps out an astroid.

This method does have limitations. It identies any feasible instantaneous center, butit may also identify a center which is not feasiblea false positive. Figure 2.9 shows animmobile ve-bar linkage which under our rst-order analysis appears to have a rotationcenter.

MIT Press Math7X9/2001/03/09:12:00 Page 19

Mechanics_of_Robotic_Manipulation/0262133962/files/00032___d70fc4a4be7cacaa3b18235c0a4e76c5.pdf20 Chapter 2


Figure 2.9A false instantaneous center: no rigid motion is possible.

2.3 Spherical kinematics

Spherical kinematics refers to the possible motions on the surface of a sphere. Why shouldwe care about this class of motions? Recall the denition of rotation: a displacement thatleaves one point xed. For three-space, this is equivalent to the possible motions on thesurface of a sphere, the xed point being the center of the sphere. Traditionally this iscalled spherical kinematics, but our interest would be better expressed by the name spatialrotation kinematics.

Spherical kinematics also has a surprisingly close relationship to planar kinematics. Ifwe view the plane to be the surface of a sphere, where the radius has passed to innity,then planar kinematics is analogous to spherical kinematics. Consequently, the results inthis section are analogous to the results in the previous section.

THEOREM 2.5: A displacement of the sphere is completely determined by the motion ofany two points that are not antipodal.

Proof As in the planar case, we use the two points to dene a coordinate system, so thatthe motion of any point can be determined using its coordinates.

THEOREM 2.6 EULERS THEOREM: For every spatial rotation, there is a line of xedpoints. In other words, every rotation about a point is a rotation about a line, called therotation axis.

MIT Press Math7X9/2001/03/09:12:00 Page 20

Mechanics_of_Robotic_Manipulation/0262133962/files/00033___f6286bc905a8f97077fd6b485dee3a3d.pdfKinematics 21




Figure 2.10Construction for the proof of Eulers theorem.

Proof We will prove that a spherical displacement always has a xed point on the sphere,from which the theorem follows. Let D be a given displacement of a sphere with center O.Let A be a point on the sphere, and let A be its image under D. If A = A then we haveour xed point, so we will only consider the case where A and A are distinct. Let AAbe the great circle on the sphere equidistant from A and A. Let B be any point on AA,and let B be its image under D. If B = B then once again we would have a xed point, sowe need only consider the case where B and B are distinct. Dene BB to be the greatcircle equidistant from B and B . The great circles AA and BB are distinct, sinceB AA and B / BB . Hence they intersect at two antipodal points; let C be either.

Let R be the rotation mapping A to A and mapping C to itself. If we can show that Rmaps B to B , then D = R and the proof will be complete.

To determine R(B), we nd all points that satisfy the distance-preserving propertyof a displacement. These points have to be the right distance |BC| from C , and the rightdistance |BA| from A. Each constraint denes a circle, one circle centered on C and onecircle centered on A. The centers of these circles A and C , are neither identical, norantipodes, so the intersection of the two circles has at most two points. By constructionof the circle, B is the right distance from C . Then B is also the right distance from C ,by construction of C on BB . We also have that B is the right distance from A by itsconstruction on AA. Finally, B is the right distance from A since AB is the image ofAB under the given displacement D.

So, either R(B) = B , or R(B) = B . The former can be excluded, since it would implythat R is the null motion. That cannot be the case since R(A) = A = A. We conclude thatR(B) = B , hence the rotation R with xed point C is identical to the given displacementD.

That shows that a spherical motion has a xed point. Since the center of the sphereis also xed, then every spatial rotation has two xed points. The line through these twopoints is the desired rotation axis. It follows easily that every point on the rotation axis isxed.

MIT Press Math7X9/2001/03/09:12:00 Page 21

Mechanics_of_Robotic_Manipulation/0262133962/files/00034___fc95bd224f32d61435a555ea66a06a51.pdf22 Chapter 2

Figure 2.11Any spherical motion is equivalent to the rolling of a moving cone on a xed cone without slip.

The point M in the above construction is analogous to the rotation center for a planardisplacement, and the proof of Eulers theorem is similar to the proof of the existence ofrotation centers for planar displacements (theorem 2.4).

Since spherical kinematics is analogous to planar kinematics, we should look for ananalog to the xed and moving centrodes. Any spherical motion is equivalent to the rollingof one moving cone, without slipping, on a xed cone with common apex.

2.4 Spatial kinematics

We now consider arbitrary displacements in space. Recall that, as in the plane, we can de-scribe a displacement as a rotation followed by a translation. This gives us a convenientdescription of spatial displacements, but it is not a canonical description, since it dependson the choice of a reference point. For planar displacements, we discovered a canonicaldescription, using the rotation center. Can the same be accomplished for spatial displace-ments? Unfortunately, not all spatial displacements are rotations. As an example, considerthe screw displacement illustrated in gure 2.12: we rotate about some line in space andsimultaneously translate along the same line. For a general screw motion there are no xedpoints, not even at innity. A point on the screw axis moves along it, and a point off theaxis moves along a helix. Since there are no xed points, it is not a rotation.

As the next theorem shows, however, the screw displacements exhaust the spatial dis-placements, and provide a nearly canonical geometric description of spatial displacements.

THEOREM 2.7 CHASLESS THEOREM: Every spatial displacement is the compositionof a rotation about some axis, and a translation along the same axis.

MIT Press Math7X9/2001/03/09:12:00 Page 22

Mechanics_of_Robotic_Manipulation/0262133962/files/00035___671f2d80b678116e28a04087136b886b.pdfKinematics 23

Figure 2.12A screw displacement combines a translation and a rotation with a common axis.

Proof Let D be an arbitrary spatial displacement, and decompose it into a rotation R anda translation T , by theorem 2.2D = R T . Now decompose the translation T into twocomponents T and T, perpendicular and parallel, respectively, to the rotation axis of R.So we now have the decomposition D = R T T. Now R T is a planar motion, andis therefore equivalent to some rotation S about an axis parallel to the rotation axis of R.This yields the decomposition D = S T. This decomposition completes the proof, sincethe axis of T can be taken equal to the rotation axis of S.

The proof suggests that the screw axis might sometimes be innitely distant, and wecan admit such screws if we like, but they are unnecessary. The proof would construct ascrew axis at innity only in the case of a pure translation. But a pure translation can berepresented trivially by a screw motion whose rotation part is zero, and whose axis is anyline parallel to the translation.

Screws provide such a powerful description that a great deal of the kinematics literatureis phrased in the language of screw theory, providing an endless source of titillating puns.We will not delve very deeply into screw theory, and I will eschew the puns, but we willuse screws where convenient.

DEFINITION 2.9: A screw is a line in space with an associated pitch, which is a ratio oflinear to angular quantities.

Think of a screw as a geometrical object, which can represent motion, as it does here,but which can also represent other things, force and torque in particular. A parentheticalnote: we must be intentionally vague about the pitch, about whether to divide linear by

MIT Press Math7X9/2001/03/09:12:00 Page 23

Mechanics_of_Robotic_Manipulation/0262133962/files/00036___4d9d5aff82b253d23b36d5be6bb65fa8.pdf24 Chapter 2

Figure 2.13Any spatial motion is equivalent to the motion of a moving axode on a xed axode. The instantaneous screwaxis is a line of contact between the two surfaces.

angular, or the other way around. The choice depends on the application, so that we willhave linear over angular quantities for motion, but angular over linear quantities for force.For further discussion of this point see section 5.1.

DEFINITION 2.10: A twist is a screw plus a scalar magnitude, giving a rotation about thescrew axis plus a translation along the screw axis. The rotation angle is the twist magnitude,and the translation distance is the magnitude times the pitch. Thus the pitch is the ratio oftranslation to rotation.

Using the language of screws, Chasless theorem is succinctly stated: every spatialdisplacement is a twist about some screw.

The screw is perfectly well-dened for innitesimal motions. Hence any motion at agiven time will have a screw and associated twist magnitude, describing the instantaneousvelocity and angular velocity of the motion. This denes the instantaneous screw axis.

Just as planar motions can be described by the motion of centrodes, spatial motionsare described by the motion of a moving axode on a xed axode. Each axode is a ruled

MIT Press Math7X9/2001/03/09:12:00 Page 24

Mechanics_of_Robotic_Manipulation/0262133962/files/00037___8d16fa90a036ab36c5dd6aa2c2e19c18.pdfKinematics 25



(x, y)

(a) Bilateral scleronomicx


(x, y) = 2 t

(b) Bilateral rheonomic



(x, y)

(c) Unilateralx


(x, y)

(d) Nonholonomic

Figure 2.14Different types of kinematic constraint.

surface. At any particular time the axodes are in contact along some common line whichdenes the instantaneous screw axis. The moving axode might slide along the line as itrolls, according to the pitch.

Unfortunately the motion of axodes is less easily visualized than the motion of cen-trodes. Of course, centrodes (gure 2.8) and cones (gure 2.11) can be viewed as specialcases. Figure 2.13 shows two less trivial cases adapted from (Reuleaux, 1876).

2.5 Kinematic constraint

Manipulation usually involves contact, which can often be modeled in terms of kinematicconstraint: a constraint on the possible motions of a body. Consider the example of arectangular block sliding in a channel (gure 2.14(a)). Ordinarily the block would havethree degrees of freedom, corresponding to free variations in the coordinates x , y, and .But the channel imposes a constraint, described by the equations:

MIT Press Math7X9/2001/03/09:12:00 Page 25

Mechanics_of_Robotic_Manipulation/0262133962/files/00038___57d624c7214a550739ffbc41f5c5cf93.pdf26 Chapter 2

y = 0 (2.1) = 0 (2.2)

This is the simplest kind of constraint. There are many variations, and they all have names.For instance, suppose the rectangular channel were mounted on a turntable, rotating

about the origin at a rate of one revolution per second (gure 2.14(b)). The correspondingconstraint equations would be

x sin(2 t) y cos(2 t) = 0 (2.3) = 2 t (2.4)

The technical name for a moving constraint is rheonomic. When it is necessary to make adistinction, the stationary constraint is called a scleronomic constraint.

Another common variation is when the constraint on motion is not symmetric, i.e.when motion is constrained in one direction but not the opposite direction. Suppose thatwe remove one of the channel walls in our example (gure 2.14(c)). We can describe theconstraint by looking at each vertex in turn, writing an inequality that keeps the vertex inthe positive half-plane:

y 0 (2.5)y + 2 sin 0 (2.6)

y + 2 sin + cos 0 (2.7)y + cos 0 (2.8)

Although we now have four constraint inequalities, note that at most two can be activeat any time, because at most two vertices can be in contact with the constraint surface.The accepted term for a one-sided constraint is unilateral. When it is necessary to make adistinction, the two-sided variation is called a bilateral constraint.

The nal variation is the most interesting. Suppose that we remove both walls ofthe channel, but add a wheel to the block, so it behaves like a unicycle or an ice skate(gure 2.14(d)). At any given point in time, the block can move forward and backward,it can rotate about the wheel center, but it cannot move sideways. We can describe thisconstraint by the equation:

x sin y cos = 0 (2.9)The difference is that this equation involves the rate variables x and y, rather than just theconguration variables x , y, and . Of course, we can differentiate any of the previouscases to obtain equations involving rate variables. However, the unicyclists constraintis not so obtainedit is impossible to describe this constraint using just conguration

MIT Press Math7X9/2001/03/09:12:00 Page 26

Mechanics_of_Robotic_Manipulation/0262133962/files/00039___a7d46426f177426d5b789ba395f78ef3.pdfKinematics 27

variables. For this reason, the constraints are often described as nonintegrable constraints,or as nonholonomic constraints.

Is a unilateral constraint nonholonomic? After searching through the dustiest and mostrespectable looking applied mechanics texts I can nd, I am satised that a holonomicconstraint should be dened as one that can be described as an equation in congurationvariables and time, F(q, t) = 0, and a nonholonomic constraint should be dened asone that cannot. For a nonholonomic constraint, either rate variables or inequalities arerequired. That means a unilateral constraint is nonholonomic. But be aware that the roboticsliterature often neglects this point, and in fact this book will henceforth also neglect it.

Recall that degrees of freedom is dened to be the number of independent variablesrequired to determine the system conguration. Then it is evident that each independentholonomic constraint reduces the degrees of freedom of the system by one, but a nonholo-nomic constraint does not. This distinction is an important one, and is addressed in moredetail in the next section.

The different types of kinematic constraint can be summarized as follows:bilateral two-sided constraint, which can be expressed by equations of the form

F(. . .) = 0.unilateral a one-sided constraint, requiring an inequality F(. . .) 0.holonomic a constraint that can be expressed as an equation in just the congura-

tion variables, and possibly time, but independent of the rate variables,F(q, t) = 0.

nonholonomic a constraint that cannot be expressed in the form F(q, t) = 0, requiringeither inequalities or rate variables.

scleronomic a stationary constraint, expressible independent of time F(q, q) = 0.rheonomic a moving constraint, involving time F(q, q, t) = 0.

Nonholonomic constraints

How do we know if a kinematic constraint is nonholonomic? Given a constraint equationusing rate variables

f (q, q, t) = 0how do we know whether the same constraint can be written without the rate variables?

For example, consider the example of a wheeled cart in gure 2.15. We can write twoconstraint equations

x sin y cos = 0 (2.10) = 0 (2.11)

MIT Press Math7X9/2001/03/09:12:00 Page 27

Mechanics_of_Robotic_Manipulation/0262133962/files/00040___60588a6b3c9232780a62dc317a50a978.pdf28 Chapter 2


(x, y)

Leaves of thefoliation



Figure 2.15An unsteered cart, once placed, must live on a single line in conguration space. These lines comprise a foliationof the conguration space.

which involve rate variables and thus appear to describe nonholonomic constraints. Butwe could also have written

(x x0) sin (y y0) cos = 0 (2.12) 0 = 0 (2.13)

which reveals the constraints to be holonomic. We can see that the constraints are holo-nomic by looking at conguration space. Equations 2.12 and 2.13 restrict the carts con-guration to a line in conguration space. There are several different possible lines, corre-sponding to different initial placements of the cart (x0, y0, 0). For a particular choice of0, the corresponding x-y plane of conguration space is covered by parallel lines at angle0 (gure 2.15). By varying the choice of 0, we tile the entire conguration space withlines. Each line represents the reduced 1-freedom conguration space. This decompositionof conguration space into subspaces is called a foliation of conguration space, and eachline is a leaf of the foliation.

What about the unicycle? Is it possible that a similar foliation can be produced? For theunicycle, it is easy to construct a motion to any conguration (x, y, ): turn until the wheelpoints at (x, y); roll forward to (x, y); turn to angle . Thus we know that the congurationspace is truly three-dimensional, and that the constraint cannot be written as an equalityconstraint on the conguration variables alone.

Thus there is a fundamental difference between the cart example of gure 2.15 and theunicycle example of gure 2.14(d). The carts constraints equations can be written withoutusing rate variables, i.e. they are integrable. The unicycles equations, on the other hand,are nonintegrable, i.e. truly nonholonomic.

To tell whether a system is holonomic, geometric reasoning sometimes sufces as inthe examples above. There is also an analytical method, using Lie brackets. First we mustintroduce some terminology. Let C be the conguration space, and write the conguration

MIT Press Math7X9/2001/03/09:12:00 Page 28

Mechanics_of_Robotic_Manipulation/0262133962/files/00041___5389e3f9be4454b41afae785e329bb17.pdfKinematics 29

g1: turning g2: forwardrolling





Figure 2.16A unicycle is capable of two independent motions described by two vector elds.

as q C. TqC is the tangent space at q, the space of all velocity vectors, which can bevisualized as a copy of Rn with its origin placed at q. A velocity vector is written q TqC.

DEFINITION 2.11: A set of k Pfafan constraints are of the form

wi (q)q = 0, i = 1 . . . kwhere the wi are linearly independent row vectors, and q is a column vector.

DEFINITION 2.12: A vector eld is a smooth map

f (q) : C TqCfrom congurations q to velocity vectors q.

Lets construct some example vector elds for the unicycle of gure 2.14(d). For thisexample we have q = (x, y, )T and q = (x, y, )T . For any given q, there are twomotions which we will use as basis motions. First, we can always rotate about the contactpoint:





Second, we can roll forward in direction : xy


cos sin


MIT Press Math7X9/2001/03/09:12:00 Page 29

Mechanics_of_Robotic_Manipulation/0262133962/files/00042___c60090cd4ad3435bed486e6a1871e826.pdf30 Chapter 2



Figure 2.17The linear span of the vector elds gives a distribution, the set of all feasible motions.

Thus we dene two vector elds g1 and g2 (gure 2.16):

g1(q) = 00



g2(q) = cos sin



For this example the single Pfafan constraint can be written

w1 = (sin , cos , 0)and it is easily conrmed that the products w1g1 and w1g2 are zero, showing that thecorresponding motions are consistent with the constraint equation.

DEFINITION 2.13: A distribution is a smooth map assigning a linear subspace of TqCto each conguration q of C.

Suppose the conguration space C has dimension n. Given k Pfafan constraints, atany q there will be an (n k)-dimensional linear subspace of allowable velocities. Thus,returning to our example of the unicycle, we can dene the distribution

= span(g1, g2)Thus at each conguration q, we have constructed two velocities corresponding to the twofeasible motion directions, and have used those as a vector basis to construct a plane ofallowable velocities. Figure 2.17 shows a few such planes, represented by small circularpatches.

MIT Press Math7X9/2001/03/09:12:00 Page 30

Mechanics_of_Robotic_Manipulation/0262133962/files/00043___a1b6b920c8ef6a0dec5cda2b93f9bce4.pdfKinematics 31

DEFINITION 2.14: A distribution is regular if its dimension is constant over the cong-uration space.

DEFINITION 2.15: Let f, g be two vector elds on C. Dene the Lie bracket [f, g] to bethe vector eld


f fq


The two partial derivatives in the denition of Lie brackets are derivatives of the vectoreld with respect to a change in the conguration, and are represented by n by n matrices.

DEFINITION 2.16: A distribution is involutive if it is closed under Lie bracket opera-tions.

DEFINITION 2.17: The involutive closure of a distribution is the closure of thedistribution under Lie bracketing.

THEOREM 2.8 FROBENIUSS THEOREM: A regular distribution is integrable if andonly if it is involutive.

We forego a detailed proof of Frobeniuss theorem, but the method of the proofis enlightening. To prove that an integrable distribution is involutive, we consider thefollowing maneuver: given two vector elds f and g in the distribution,

1. Follow f for some time ;2. Follow g for ;3. Follow f for ;4. Follow g for .Now if you take a Taylor series expansion of this motion, the rst order terms cancel,but the second order terms result in the cross-partial that we have already dened asthe Lie bracket. For that reason this maneuver is often called a Lie bracket motion. Ifthe distribution is integrable, then this Lie bracket motion must also be contained inthe distribution, implying that the distribution is involutive. (See (Murray et al., 1994)for details.) The proof of the converse, that involutive distributions are integrable, is byinduction on the dimension of the spaces. See (Boothby, 1975) for details.

Frobeniuss theorem gives us a straightforward test to determine whether a sys-tem is nonholonomic. Returning to the example of the unicycle, we have a distribution

MIT Press Math7X9/2001/03/09:12:00 Page 31

Mechanics_of_Robotic_Manipulation/0262133962/files/00044___d53f033e0ee469880c8e97af6ebf0e7f.pdf32 Chapter 2

Figure 2.18Reuleauxs method for analysis of unilateral constraints. For an IC to the right of the contact normal, onlynegative rotations are possible. For an IC to the left of the contact normal, only positive rotations are possible.

= span(g1, g2) where the vector elds g1 and g2 are given by equations 2.14 and 2.15.The partials are


= 0 0 00 0 0

0 0 0



= 0 0 sin 0 0 cos

0 0 0


For the new vector eld dened by the Lie bracket we obtain

g3 = [g1, g2] (2.18)= g2

qg1 g1

qg2 (2.19)

= sin cos



The Lie bracket motion g3 is a parallel-parking maneuver, yielding a sideways motion ofthe unicycle, which would violate the constraint and is certainly not in the distribution = span(g1, g2). Thus we see that is not involutive, and so by Frobeniuss theorem theunicycle is a nonholonomic system.

MIT Press Math7X9/2001/03/09:12:00 Page 32

Mechanics_of_Robotic_Manipulation/0262133962/files/00045___12adbaa33eb59ec4ad1db0a64d9c3b20.pdfKinematics 33

Figure 2.19Reuleauxs method applied to several constraints. Only consistently-labeled ICs are retained.

Analysis of planar constraints by velocity centers

Bilateral planar constraints can be analyzed by identifying the feasible velocity centers,as when we constructed centrodes for four-bar linkages. There is a generalization of themethod to unilateral constraints, originally described by Reuleaux. Reuleaux noticed thatby simply attaching a sign to each rotation center, it is possible to analyze unilateralconstraints. We will begin with the simplest possible case: a single unilateral contact(gure 2.18). For a velocity pole to the right of the contact normal, only negative rotationsare possible. Similarly, only positive rotations are possible about centers to the left of thenormal. For a rotation pole on the contact normal, rotations of either direction are possible.So we can describe the constraint by labeling regions in the plane of possible rotationcenters either +, , or .

How do we describe a system involving several constraints? We simply label theregions for each individual constraint, and keep only the consistently labeled regions. In thecase of two anti-parallel constraints (gure 2.19(a)), the only possible rotations are aboutcenters falling between the two contact normals, with a negative sign. Similarly, a systemof three constraints (gure 2.19(b)) typically yields a triangle of possible rotation centers,which sometimes degenerates to a point.

To summarize, Reuleauxs method is:

1. Construct a contact normal for each contact;2. Label regions in the plane either +, , or with respect to each normal;3. Every consistently labeled region gives a set of possible rotation poles.

MIT Press Math7X9/2001/03/09:12:00 Page 33

Mechanics_of_Robotic_Manipulation/0262133962/files/00046___8c6dcaa875a9bae568237b41cb7ff5fe.pdf34 Chapter 2

Figure 2.20Reuleauxs method is a rst-order analysis, and sometimes gives false positives.

It is important to be aware of the limits of this method. As with our analysis of bilateralconstraints, this is a rst order analysis which sometimes gives false positives. It may givemotion centers when an object is immobile. For example, the two problems in gure 2.20yield an identical analysis under Reuleauxs method, although one of them actually cannotmove. Despite its limitations, the method is simple enough to be a useful tool, especiallywhen aided by common sense.

2.6 Kinematic mechanisms

This section provides a brief introduction to kinematic mechanisms. A kinematic mech-anism consists of several rigid bodies called links which are connected at joints. A jointimposes one or more constraints on the relative motion of the two links connected. Thelower pairs (gure 2.21) comprise the special class of joints that can be constructed bytwo surfaces with positive contact area. Thus a cylindrical shaft in a matching cylindricalhole is a lower pair (the cylindrical pair), but a cylinder on a plane has just a line contactand is a higher pair.

The study of kinematic mechanisms addresses the problem of determining the possiblemotions of a given linkage, as well as the problem of designing a linkage to produce adesired motion. We have already seen some examples (gures 2.7 and 2.8). Some otherinteresting linkages are shown in exercises 2.5 through 2.7.

One of the main issues is to determine the mobility of a mechanism, dened to bethe number of freedoms of the linkage where one link is assumed to be xed. We willalso employ the concept of connectivity, dened to be the number of freedoms of oneparticular link relative to another. Thus, in gure 2.22 the mobility is two (M = 2), and theconnectivity of link two relative to link one is one (C21 = 1).

There is a simple formula for determining the mobility of a linkage. Let n be thenumber of links, and let g be the number of joints. For the i th joint, let ui be the number ofconstraints and let fi be the number of freedoms, and note that ui + fi = 6. If we consider

MIT Press Math7X9/2001/03/09:12:00 Page 34

Mechanics_of_Robotic_Manipulation/0262133962/files/00047___b4871d55b06f3dec98b90a8fd695a84e.pdfKinematics 35

Prismatic1 freedom

Helical1 freedom

Planar3 freedoms

Spherical3 freedoms

Cylindrical2 freedoms

Revolute1 freedom

Figure 2.21The lower pairs




Figure 2.22Mobility and connectivity

one link to be xed and assume the constraints to be independent, then the mobility M isreadily seen to be

M = 6(n 1)

ui (2.21)= 6(n 1)

(6 fi ) (2.22)

= 6(n g 1) +

fi (2.23)

MIT Press Math7X9/2001/03/09:12:00 Page 35

Mechanics_of_Robotic_Manipulation/0262133962/files/00048___ddb387c886a14ceba85cb55f5d4c2be6.pdf36 Chapter 2

which is known as Grublers formula for spatial linkages. Similarly we can obtain:M = 3(n 1)

ui (2.24)

= 3(n g 1) +

fi (2.25)for planar linkages. Applying the spatial variant of Grublers formula to a planar mech-anism would generally give the wrong answer, due to the dependencies among the jointconstraints of a planar linkage in three space.

Another variant of Grublers formula is applied to mechanisms with loops. First notethat for a single-loop chain there are equal numbers of links and joints, so

M =

fi + 6(1)Now if we create a two-loop mechanism by adding an open chain of k links and k + 1joints, we will have

M =

fi + 6(2)Each time we add an open chain, we increase the excess of joints over links by 1. Thus fora chain comprising l loops, we have

M =

fi 6lfor a spatial linkage, and

M =

fi 3lfor a planar linkage. As an example, for a four-bar linkage we have four joints, each jointhas a single freedom, and there is one loop, so that M = 1.

A nal caution: because Grublers formula makes such strong assumptions about theindependence of constraints, it should be applied with copious amounts of common sense.

2.7 Bibliographic notes

(Reuleaux, 1876) and (Hilbert and Cohn-Vossen, 1952) are essential reading. Much ofthe material on kinematic linkages, and some historical background, come from (Harten-berg and Denavit, 1964). (Bottema and Roth, 1979) and (McCarthy, 1990) provide moredetailed treatments of theoretical kinematics. In particular, see their analytic proofs of Eu-lers theorem and planar rotation poles. (Lin and Burdick, 2000) address metrics on thespecial Euclidean groups. The material on analysis of nonholonomic constraint is adaptedfrom (Murray et al., 1994). Also see (Brockett, 1990) for related topics. The introduction

MIT Press Math7X9/2001/03/09:12:00 Page 36

Mechanics_of_Robotic_Manipulation/0262133962/files/00049___8597931b86ddd048283534821037bb2a.pdfKinematics 37




Figure 2.23Construction for exercise 2.3.

to kinematic constraint is adapted from (Paul, 1979). For a more detailed developmentof screw theory and its application to mechanisms, see (Ball, 1900) and (Hunt, 1978). Ahigher-order analysis of kinematic constraint is given by (Rimon and Burdick, 1995).


Exercise 2.1: Generally people say that a line in E3 has four freedoms, because it takesfour numbers to specify a line. However, a careful interpretation of denitions 2.2 and 2.4suggests that a line in E3 has ve freedoms. Show that a line in E3 can be specied withfour numbers, and explain why, according to our denitions, it has ve freedoms.

Exercise 2.2: Figure 2.4 gives an example showing that spatial rotations do not commutein general. Give an example illustrating that planar displacements do not commute ingeneral.

MIT Press Math7X9/2001/03/09:12:00 Page 37

Mechanics_of_Robotic_Manipulation/0262133962/files/00050___4c31a8d4403960ed9ac00110d5a88471.pdf38 Chapter 2









Figure 2.24Construction for exercise 2.4.


Figure 2.25A slider-crank linkage for exercise 2.5.

Exercise 2.3: Figure 2.23 shows a planar mobile robot that cycles repeatedly through asequence of three positions A, B , and C . The robot plans a sequence of three rotationsthat would cycle it through the three desired positions. Construct the xed and movingcentrodes for this cyclical motion.

The robot nds itself unable to execute the planned motion. What is the difculty?

Exercise 2.4: Your new refrigerator has been delivered, and has to be moved from thecenter of your kitchen into the corner. (See gure 2.24.) You can walk it by shifting theweight towards one leg, then pushing so the refrigerator rotates about that leg. Find a shortsequence of rotations to walk the refrigerator into the corner, and construct the centrodes.Dont go through any walls. (Hint: assembly problems are often easier to solve backwards,so nd a path from the goal to the start.)

Exercise 2.5: Figure 2.25 shows a simple planar mechanism called a slider-crank. Theslider oscillates as the crank rotates through 360 degrees. Carefully draw the mechanismin a number of congurations, and for each construct the instantaneous velocity center

MIT Press Math7X9/2001/03/09:12:00 Page 38

Mechanics_of_Robotic_Manipulation/0262133962/files/00051___084613cfba9402096658f173f46372ff.pdfKinematics 39





Figure 2.26The Chebyshev linkage for exercise 2.6.






Figure 2.27Watts linkage for exercise 2.7.

of the coupler link. Sketch the centrodes. You will need to construct at least 12 differentcongurations, by sampling the crank angle at 30 degree intervals. To construct the movingcentrode, you will probably need to use acetate or tracing paper.

Exercise 2.6: Figure 2.26 shows a four-bar linkage called the Chebyshev linkage. Two ofthe links rock back and forth as the coupler link makes a more complicated motion. Thecenter of the coupler link approximates a straight line over part of its path. Construct thexed and moving centrodes using the procedure of exercise 2.5.

Exercise 2.7: Figure 2.27 shows a simple planar mechanism called Watts linkage. As inthe previous exercise, the center of the coupler link approximates a straight line over partof its path. Construct the xed and moving centrodes using the procedure of exercise 2.5.

MIT Press Math7X9/2001/03/09:12:00 Page 39

Mechanics_of_Robotic_Manipulation/0262133962/files/00052___980d9cc0bec0ad6016dc1fac09abc38e.pdf40 Chapter 2

Figure 2.28Three unilateral constraint problems for exercise 2.8.

Exercise 2.8: Apply Reuleauxs method to the problems drawn in gure 2.28, identifyingall possible motions of the constrained rigid body.

Exercise 2.9: Suppose we have placed three ngers on a triangle as in gure 2.19(b).Before picking up the triangle, we want the triangle immobilized relative to the hand. Finda placement for a fourth nger that immobilizes the triangle. Apply Reuleauxs techniqueto prove your placement works, assuming that the ngers are perfectly stiff.

Exercise 2.10: Apply Frobeniuss theorem to show that a rigid body in the plane with twoindependent Pfafan constraints must be holonomic.

MIT Press Math7X9/2001/03/09:12:00 Page 40

Mechanics_of_Robotic_Manipulation/0262133962/files/00053___a36a10d00cf5e096a0be9ab3363c90e4.pdf3 Kinematic Representation

This chapter presents representations of spatial rotations and spatial displacements. Repre-sentations are necessary for computational purposes, but more importantly, they enrich ourintuitions and give us insights into the properties of spatial kinematics.

3.1 Representation of spatial rotations

There are a great number of different schemes for representing rotations, but only a veryfew of them are fundamentally distinct. This section presents the basic ideas, and how theseideas are reected in different representations.

There are two big problems in representing rotations, both related to inherent, incon-trovertible properties of rotations:

Rotations do not commute. (See gure 2.4.) The topology of spatial rotations does not permit a smooth embedding in Euclidean threespace.

The rst problem, the non-commutativity of rotations, is certainly well known, and isdiscussed in elementary physics texts. Nonetheless, it is important to x this fact carefullyin ones mind, because some representations seem to contradict this fact (exercise 3.8).The second problem, the lack of a smooth embedding in Euclidean three-space, meansthat there is no smooth representation using three numbers. The problem is similar to thatof assigning coordinates to locations on the surface of the Earth. Our use of longitudeand latitude becomes very awkward at the poles, where a single step can produce a radicalchange in longitude. We dont look for a superior system because there is no such systemthere just is not any way to smoothly wrap a sphere with a plane. Similarly, there is no wayto smoothly wrap the space of rotations SO(3) with Euclidean three space.

So in designing a representation of rotations, we have a choice: use only three num-bers and suffer the resulting singularities; or use four (or more) numbers, and suffer theredundancy. The choice depends on factors that vary with the application. For computers,the redundancy is not really a problem, so most algorithms use representations with extranumbers. People, on the other hand, sometimes have a preference for the minimum set ofnumbers. Because of these and other differences, there is no single superior representa-tion, and often several different representations must be maintained with procedures fortranslating among them.

MIT Press Math7X9/2001/03/09:12:00 Page 41

Mechanics_of_Robotic_Manipulation/0262133962/files/00054___0c9605ffd39875dfc7a580e413cf5f4d.pdf42 Chapter 3


Figure 3.1Representing spatial rotations by axis and angle.


Eulers theorem (theorem 2.6) states that every spatial rotation leaves some line xed: therotation axis. Let us x an origin somewhere on the rotation axis, and let n be a unit vectordirected along the rotation axis. Let be the magnitude of the rotation, with the positivesense taken in the right-hand direction about n. Then the ordered pair (n, ) can indicatea rotation, which we will denote rot(n, ). Note that the representation is two-to-one formost rotationsrot(n,) gives the same rotation as rot(n, ). An additional source ofredundancy is that rot(n, + 2k) is identical to rot(n, ), for any integer k. Both of thesecan be ameliorated to some extent by restricting to some suitable range, such as [0, ]. Amore troublesome difculty is that when = 0, the rotation axis is indeterminate, givingan innity-to-one mapping.

There are three things to do with a representation of rotation. First, we can use itsimply to communicate or remember the rotation. Second, we can use it to rotate thingsto compute the representation of a rotated point for example. Third, given two rotations,we might want to represent their composition. However, the axis-angle representation is apoor one for computing compositions.

To rotate a point, we will use Rodriguess formula (gure 3.2). Suppose that somepoint to be rotated is repr