Robotics Manipulation
Robotics Manipulation
Matthew T. Mason
A Bradford Book
The MIT Press
Cambridge, Massachusetts
London, England
MIT Press Math7X9/2001/03/09:12:00 Page 4
2001
c Massachusetts Institute of Technology
All rights reserved. No part of this book may be reproduced in any form
by any electronic or mechanical means (including photocopying,
recording, or information storage and retrieval) without permission in
writing from the publisher.
This book was set in Times-Roman by the author and was printed and
bound in the United States of America.
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.
Contents
Preface ix
Chapter 1 Manipulation 1
1.1 Case 1: Manipulation by a human 1
1.2 Case 2: An automated assembly system 3
1.3 Issues in manipulation 5
1.4 A taxonomy of manipulation techniques 7
1.5 Bibliographic notes 8
Exercises 8
Chapter 2 Kinematics 11
2.1 Preliminaries 11
2.2 Planar kinematics 15
2.3 Spherical kinematics 20
2.4 Spatial kinematics 22
2.5 Kinematic constraint 25
2.6 Kinematic mechanisms 34
2.7 Bibliographic notes 36
Exercises 37
vi Contents
Contents vii
References 241
Author Index 247
Subject Index 249
MIT Press Math7X9/2001/03/09:12:00 Page 9
Preface
This book is written for anyone mystified and intrigued by manipulation. In its most general
form, “manipulation” refers to a variety of physical changes to the world around us: moving
an object; joining two or more objects by welding, gluing, or fastening; reshaping an object
by cutting, grinding, or bending; and many other processes. However, this book, like the
vast bulk of manipulation research, addresses only the first of these forms of manipulation:
moving objects. Even with this restriction, we still have a number of different processes to
consider: grasping, carrying, pushing, dropping, throwing, striking, and so on.
Likewise, we will address only robotic manipulation, neglecting manipulation by
humans and other animals, except for inspiration and occasional philosophical points.
But “robotic” manipulation should not be construed too narrowly—perhaps “machine
manipulation” would be a better phrase. We will include any form of manipulation by
machines, from doorstops to automated factories.
The book draws on material from two fields: classical mechanics and classical plan-
ning. Much of the book is devoted to classical mechanics, as it applies to manipulation
processes. The goal of understanding manipulation provides an unusual perspective on
classical mechanics, and will force us to address some peculiarities not treated in most
texts.
The second component of the book is classical planning. By this I mean state-space
approaches, where an explicit model of the possible actions allows the planner to search
through various sequences until a satisfactory one is found. Two difficulties have to be
resolved. First, classical mechanics typically gives multi-dimensional continuous state
spaces, rather than the discrete state spaces that are better suited to search. Second, the
robot does not generally have perfect information, and may not know the actual state of
the task. Sometimes a plan has to address this gap between the task state and the robot’s
estimate of task state. Both of these factors—high-dimensional continuous state spaces,
and uncertainty—add to the complexity of manipulation planning.
This book differs from most previous books in its focus on manipulation rather than
manipulators. This focus on processes, rather than devices, allows a more fundamental
approach, 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 arm
around. Humans seem to solve this problem by exploiting all the available resources, using
any convenient surface to align objects, tapping and shaking things that are inconvenient
to grasp, using any convenient object as a tool to poke and push, and so forth. This ability
is best observed when a human uses his own hands, but it is also apparent when a human
programs a robotic manipulator. Any faithful attempt to explain manipulation must address
a broad range of manipulation techniques.
In robotics, any theory that reaches a certain stage of maturity can be tested. If a theory
is complete enough, and constructive, we can build a robot that embodies the theory, and
MIT Press Math7X9/2001/03/09:12:00 Page 10
x Preface
then test the validity and scope of the theory through experiments with the robot. It is
relatively straightforward, in principle, to build a robot combining classical mechanics
and 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. Using
classical mechanics, the robot is also able to predict the effect of any actions it might wish
to consider. Now if the robot is given some goal, it can simulate various sequences of
actions, searching for a plan that will achieve the goal.
Such a robot is the ultimate rationalist—its faith in Newtonian (or Aristotelian or
whatever) mechanics is absolute, and its actions are derived from first principles to satisfy
its goals. It is a near-perfect marriage of theory to experiment. To address theoretical
concerns, we can design the robot from formal models of mechanics and search algorithms,
obtaining a formal entity susceptible to theoretical investigation. We can prove theorems
about its performance, and we have explicit formal hypotheses that characterize its validity.
To address experimental concerns, we can implement the design, obtaining a physical
system that can be tested experimentally. When theory and experiment agree, we have
evidence for the validity of the theory and the fidelity of its implementation. When they
disagree, 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 an
effective, constructive theory. There is sometimes a big difference between a theory that
should work and a theory that does work. The process of closing that gap is an important
force in driving the field to address the important problems.
What kind of theory should we be attempting to build? Will there be a neat solution—
some simple idea that will allow us to build robots with human-like abilities? Comparison
with related engineering disciplines suggests otherwise. Nobody expects a single neat
theory for the problem of building a car or a rocket. Artifacts of great complexity depend on
a large diverse collection of scientific and engineering results, and a robot competitive with
a human being will surely be more complex than anything we have constructed before. This
book does not propose to describe the solution, or even an outline of the solution. Rather,
it attempts to outline one specific line of scientific inquiry, which we may hope addresses
one 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. The
students 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 manipulator
kinematics, 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 11
Preface xi
throwing a frisbee, building a stack of dominos with maximum overhang, snapping one’s
fingers, 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 simplified version of the problem,
produce a simple planning system, or focus on some well-defined aspect of the process.
Papers on many such problems may be found in the back issues of Scientific American and
the American Journal of Physics. Some of the projects address more respectable manip-
ulation problems, which can be found in International Journal of Robotics Research, or
Proceedings of the IEEE International Conference on Robotics and Automation, among
others.
For the benefit of those teaching from this book or doing the problems, the figures will
be posted on my web page at http://www.cs.cmu.edu/˜mason, possibly with additional
notes on teaching, or solutions for the problems.
I would like to thank my advisors and colleagues: Berthold Horn, Tomas Lozano-Pérez,
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, Illah
Nourbakhsh, Ben Brown, Tom Mitchell, Dinesh Pai, Al Rizzi, Takeo Kanade, and Allen
Newell.
Several people have read drafts, adopted the book for classes, or provided assistance
and 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, Kristie
Seymore, Elisha Sacks, and the students of 16-741. Jean Harpley and Mark Moll helped
with the final preparation of the manuscript, and Sean McBride drew the drawings in
chapter 1.
I would like to thank Mary, Timm, and Kate for their support and sacrifices.
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 bibliographies
or the index.
MIT Press Math7X9/2001/03/09:12:00 Page 1
1 Manipulation
Manipulation is the process of using one’s hands to rearrange one’s environment. There
are many facets to manipulation. Manipulation is an art, since it is practiced by all of
us, without any systematic or fundamental understanding of the process. Manipulation is
also an engineering discipline, for there are some systematic tools for applying robotic
manipulation to various problems. Finally, manipulation is also a science, since it is a
process that engages our curiosity, which we can explore using scientific methods.
Manipulation is accomplished in many different ways. To begin the chapter, we will
consider two examples of manipulation systems. Thus we establish the subject of the
study—the set of phenomena to be explored and explained. The rest of the chapter catalogs
this diverse set of manipulation techniques, in terms of the underlying mechanics. The
chapter ends with an outline of the book.
Our first example has the form of a thought experiment, but it is a familiar scenario drawn
from everyday life, one which can easily be re-enacted if desired (figure 1.1). Consider
the processes by which the dealer in a card game gathers the cards, assembles a neat pack,
shuffles the pack, deals the cards, collects his own hand, and arranges it. Although it is hard
to analyze the process with any precision, even a superficial analysis is revealing. First the
dealer sweeps the cards together into a heap, then he squeezes the heap and taps it on the
table until a neat pack is obtained. Shuffling is most commonly accomplished by splitting
the pack into two halves, bending them, then releasing them in a sequence so that the two
halves 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 the
card’s orientation.
Now all the players gather and neaten their hands. They arrange the cards by grasping
and re-inserting subsets of the cards. Again the hand is neatened by squeezing, then
carefully spread by a technique involving controlled slip among the cards.
Several characteristics of the process are intriguing. Handling of individual cards is
kept to a bare minimum. Some of the cards are not handled individually at all, except for
the throw. Not once is an isolated card brought from one rest position to another by the
technique of being rigidly attached to the hand and arm. Instead the dealer uses sweeping,
tapping, squeezing, throwing, controlled slip, and some additional techniques that defy
simple descriptions.
MIT Press Math7X9/2001/03/09:12:00 Page 2
2 Chapter 1
Figure 1.1
An example of skilled human manipulation: gathering, straightening, shuffling, and dealing cards.
MIT Press Math7X9/2001/03/09:12:00 Page 3
Manipulation 3
The process requires a fair degree of skill. Young children are much less adept, and
learning the skill takes time and practice.
The techniques are sensitive to the characteristics of the cards and the table. New cards
are awkward because they are too slippery and too stiff. Dirty cards are too sticky. The
cards need to be precisely identical in dimensions, and the right stiffness. A pack of cards
cut by hand from ordinary writing paper requires very different methods.
In some respects the operations are strongly sensor-driven, as when turning cards that
are out of alignment with the rest of the pack, or gathering cards that are scattered around
the table. At times, though, sensors play a minimal role. For example, the final neatening
of the pack does not rely on vision to identify the misaligned cards. Rather, squeezing and
tapping the deck takes care of the cards without the necessity of identifying them.
Two things stand out very strongly. One is the efficiency and skill displayed. The other
is the adaptability. Although a change in the apparatus may drastically affect efficiency, the
human can adapt, falling back on more conservative techniques.
Our second example is the automated assembly line illustrated in figure 1.2, integrating
industrial robotic manipulators and a variety of equipment for transporting, orienting, and
presenting parts to the robots. We will base the example on the Sony SMART system, but
the basic elements are common to many industrial systems.
The problem is to assemble a small consumer electro-mechanical product, such as a
tape recorder or a camera. The assembly takes place on a work fixture that is designed
to hold the device and carry it accurately from one station to the next. At each station a
robot performs a number of operations. In order to minimize the number of stations, each
robot has up to six different end-effectors, all of which are mounted on a turret head. Thus
each robot can perform six or more different steps, by selecting the relevant effectors as
appropriate.
Parts are presented to the robots in pallets. Each pallet has an array of nests, each
nest holding a single part, in an attitude appropriate for the robot to grasp the part. These
pallets in turn are transported on a second conveyor system, which can retrieve a pallet
from storage on demand, and transport the pallet to the robot that requested it.
The pallets are filled with parts by an APOS machine. The pallet is tipped at a slight
angle, and parts are shoveled onto it. A vibratory motion of the pallet allows the parts to
slide down the plate and off into an overflow 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 4
4 Chapter 1
Figure 1.2
The 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 filling pallet with oriented parts. (c)
Picking a part. (d) Assembling a part into the product.
MIT Press Math7X9/2001/03/09:12:00 Page 5
Manipulation 5
the desired orientation. After some pre-determined time, the pallet is filled with oriented
parts. 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 (design
for 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, with
springs replaced by flexible elements of the part. The parts are also designed to reduce the
difficulty of feeding and orienting the part, and to reduce the difficulty of assembly, so that
mating features actually help guide the assembly into place.
Similarly, the end-effectors and the nests are designed to speed the process. In fact,
some reflection reveals that assembly is ubiquitous in this process. Each part is oriented by
assembling it with a pallet nest. Each part is grasped by assembling the robot gripper with
the part. Assembly of the part with the work in progress is actually the third assembly step
in this process.
Shape interactions are the dominant phenomenon in this system. The critical steps
are: (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) part
placement, 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 and
proceed by going on to the next part in the pallet. The manipulator is used in the simplest
possible way, as a pick and place device.
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 them
and adapt them to the task at hand. A single robot has only a few sensors and actuators, and
lacks the intelligence to adapt them to a new task without human help. Even if we consider
the factory as a whole, with hundreds of sensors and actuators, they are still configured and
programmed 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 the
two systems. Some of these decisions are online: decisions made and quickly acted upon,
perhaps using information just acquired. Some of these decisions are offline: techniques
that are learned through practice and can be applied without being reinvented. Some might
be considered off-offline: decisions that were made at design time, such as how many
fingers to have, how to configure the sensors, and so forth.
When we focus on decisions, we see that the main difference between the systems is
the human’s much greater capacity for making decisions online. The robotic system makes
MIT Press Math7X9/2001/03/09:12:00 Page 6
6 Chapter 1
very few online decisions. The only variations in its actions occur as a result of error
conditions, or depend upon the arrival of a particular pallet. All other decisions were made
offline by the system designers as the system was being designed and programmed. For the
human, it is harder to determine whether a decision is made online or offline. It seems clear
that the human makes many more online decisions than the factory system. But it is also
clear that the human system still involves many offline decisions. At the least, to develop
good 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 species
evolved.
Although the time of the decisions varies greatly between humans and robots, the deci-
sions can otherwise be quite similar: how to configure sensors, actuators, and mechanical
structures; 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 manipulation
problems, whether offline or online.
What are the manipulation problems that have to be solved? Some characteristics of
manipulation systems are dictated by the inherent properties of the problem, and are shared
by all solutions to the problem. This observation can serve as a guide to our study, helping
us 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 robotic
assembly system raise some fairly basic problems, which we can take as representative of
manipulation in general. For example,
• Show that an object, or set of objects, is in a stable configuration. As an example, every
stage in the assembly must be stable, while the robot puts in the next piece.
• Show that an object is not in a stable configuration. A strategy for aligning cards can
be designed by finding a set of finger motions, such that no out-of-place card is stable.
Similarly an APOS orienting-nest design should have the property that no out-of-place
part is stable.
• Given a fixed object, a mobile object, and an applied force, show that the mobile
object converges locally to a particular location relative to the fixed object. For example,
this approach can be used to analyze a gripper’s ability to grasp a particular object in a
predictable way.
• Given a fixed object and a mobile object, design a vibrational motion so that the mobile
object converges globally to a particular location relative to the fixed object.
• Construct a throwing motion to deliver an object accurately, and minimize the energy
of the object subsequent to impact. This may be a good way to synthesize a card-throwing
motion, with the additional constraint that the card stay face down.
MIT Press Math7X9/2001/03/09:12:00 Page 7
Manipulation 7
Problems of this kind fall between mechanics and planning, and can be phrased either
as problems of analysis or as problems of synthesis. Phrased in analytic form, we have
a mechanics problem. Unfortunately, for many of these problems there is not a general
solution, especially when we include limitations on the information available for the
solution. Phrased in synthetic form, we have a planning problem. This allows us to make
choices 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, generally
requiring some re-arrangement of the objects surrounding it. We will not worry about
higher-level issues, such as how a robot transforms a higher-level goal, such as profit,
to lower-level goals, such as grasping a wrench.
We will focus on one approach, which might be called analytical manipulation. To decide
what to do, the robot will use an analytical model of the task mechanics. Before trying an
action, the robot can use its model to predict the consequences of the action. Rather than
classifying robots according to their physical structure, or their computational architecture,
we will classify robots according to their models of task mechanics. Thus we distinguish
a Newtonian robot, which derives its actions from Newton’s laws, from an Aristotelian
robot, which thinks things move only when something pushes them. We could also have
an empirical robot, which uses a model built up from observations, rather than one based
on an axiomatic system.
All of the robots we will explore here are variants of the Newtonian robot, although
some of them could also viewed as Aristotelian robots. All of them make decisions based
on the familiar techniques of classical mechanics. Classical mechanics is usually presented
in a sequence that begins with kinematics, then moves to statics, and finally to dynamics.
We can employ the same progression to construct a hierarchy of manipulation techniques:
8 Chapter 1
Some care must be exercised in applying this taxonomy. It refers to how actions are
derived, rather than referring to the actions themselves. And in most instances, we do not
know how the actions were derived, since the derivation occurred inside a human’s head.
The classification is actually a subjective one, depending on the observer’s own model of
manipulation.
Our chief use of the taxonomy is to organize this book. We can follow the traditional
progression 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 are
followed by a chapter on quasistatic manipulation. And the chapters on dynamics and
rigid-body impact are followed by a chapter on dynamic manipulation.
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 nest
building.
Fujimori (1990) describes the Sony SMART system. The taxonomy of manipulation is
first described by Kevin Lynch and myself (1993). For a broader treatment of automated
assembly, see (Boothroyd, 1992).
Exercises
Exercise 1.1: The taxonomy of manipulation techniques refers to the robot’s model of task
mechanics. Does a robot have to have a model of the task mechanics? Does an ant have a
model of the task mechanics? Construct arguments on both sides of the question.
MIT Press Math7X9/2001/03/09:12:00 Page 9
Manipulation 9
Exercise 1.2: Suppose you are given a robot and you want to know whether it uses
“analytical manipulation” or not. You are allowed to perform any experiments, to take
it apart, etc. How could you tell whether the robot was analytical or not?
Exercise 1.4: Analyze some manipulation task such as playing cards. Identify the different
stages, and for each stage describe the mechanical processes, the control and decision
processes, the information required to perform the actions, and the source of information.
MIT Press Math7X9/2001/03/09:12:00 Page 11
2 Kinematics
Kinematics means the study of motion, without regard for the cause of the motion. There
are many reasons for us to begin with kinematics. First, manipulation is typically aimed
at 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 in
chapter 4. Finally, kinematics also is the traditional first step in treatments of classical
mechanics, and it can play the same role here.
This chapter’s treatment of kinematics differs somewhat from more general treatments,
owing to our goal of understanding the processes of manipulation. This chapter presents
the basic principles of rigid body motion, but simultaneously illustrates and motivates these
principles by applying them to manipulation. You will already be familiar with many of
the concepts in this chapter, such as translation and rotation. Our goal is to augment your
working knowledge with a more precise foundation, but we do not strive for complete
rigor, which might unnecessarily obscure the important concepts.
2.1 Preliminaries
Before focusing on rigid bodies, we digress briefly to consider more general systems.
We will consider a system to be a set of points in some ambient space: two-dimensional
Euclidean space (E2 ) for planar kinematics, three-dimensional Euclidean space (E3 ) for
spatial kinematics, or the surface of a sphere (S2 ) for spherical kinematics. In the general
case, each point might be capable of independent motion. For the general case, then, let X
be the ambient space—E2 , E3 , or S2 .
D EFINITION 2.2: A configuration of a system is the location of every point in the sys-
tem.
How do we know that a metric exists for the space of all configurations? We could
define a metric on the configuration space for any system, by choosing a few points {x i } in
the system, and defining the distance between two configurations d(D1 , D2 ) to be the max-
MIT Press Math7X9/2001/03/09:12:00 Page 12
12 Chapter 2
Figure 2.1
Transformations, rigid and otherwise.
imum distance between corresponding points, d(D1 , D2 ) = max{d(D1 (x i )), d(D2 (x i ))}.
Note, however, that this metric involves an arbitrary choice of the x i . In fact, for many
of the configuration spaces we will consider, rigid body configuration space in particular,
every metric involves arbitrary choices.
D EFINITION 2.4: The degrees of freedom of a system is the dimension of the config-
uration space. (A less precise but roughly equivalent definition: the minimum number of
real numbers required to specify a configuration.)
Now we can move on to the concept of rigid bodies and rigid motions.
D EFINITION 2.5: A displacement is a change of configuration that does not change the
distance between any pair of points, nor does it change the handedness of the system.
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 a
reflection.
Kinematics 13
Fixed plane
Mo
vin
gp
lan
e
Figure 2.2
Moving and fixed planes.
It is convenient to consider a displacement to apply to every point in the space, not just
the points in some rigid body. As an example, consider a triangle capable of rigid motion
in the plane (figure 2.2). We can imagine that the triangle is drawn on a moving plane, and
we can refer to the base plane as the fixed plane. Any motion of the triangle determines a
motion 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 of
the plane, as a means of studying displacements of any rigid body in the plane.
D EFINITION 2.7: A rotation is a displacement that leaves at least one point fixed.
It is important to note a distinction between two similar concepts: rotation about some
given point such as the origin or the center of mass; versus rotation about an unspecified
point. For a general rotation, the fixed point may be anywhere in the space.
D EFINITION 2.8: A translation is a displacement for which all points move equal
distances along parallel lines.
14 Chapter 2
Figure 2.3
Various rotation centers.
The identity is the null displacement, which maps every point to itself. These observations
can be summarized as follows:
These groups have names. For the Euclidean spaces we have the special Euclidean
groups 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 to
orthogonal 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 gives
a counter-example—two spatial rotations that give different results when taken in different
orders.
There are many different ways to describe a displacement, but the most familiar is to
decompose the displacement into a rotation followed by a translation.
T HEOREM 2.2: For any displacement D of the Euclidean spaces E2 or E3 , and any point
O, 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 , and
let T −1 be its inverse. Then the displacement T −1 ◦ D leaves O fixed, so it is a rotation;
call it R. Then T ◦ R = T ◦ T −1 ◦ D = D is the desired decomposition. Alternatively, we
could define a rotation S = D ◦ T −1 . So there two ways of decomposing D into a rotation
and a translation: T ◦ R or S ◦ T .
Kinematics 15
z y
y y x
x z z
x
z y
z z
y y
x x
x
Figure 2.4
Spatial rotations do not generally commute.
C OROLLARY 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.
To explore basic kinematics further, we must consider the underlying ambient spaces
separately. This section focuses on planar kinematics. The main topic is how the special
cases of rotation and translation relate to the general displacement. Theorem 2.2 showed
that any displacement can be described as a translation followed by a rotation. But for
planar kinematics we can go much further—every displacement can be described as either
a translation or a rotation. In fact, if we allow the small mathematical convenience of
allowing points at infinity, translations can be treated as rotations, so that every planar
displacement can be viewed as a rotation. First we must lay out some of the basic properties
of displacements, rotations, and translations in the plane.
16 Chapter 2
A B A
Figure 2.5
Construction for proof of theorem 2.4.
Proof The displacement is completely determined if the motion of every point in the
plane is determined. Given the motion of two points, let the origin be one point, and choose
the x axis to point at the second point. Choose the y axis to give a right-handed coordinate
frame. The motion of the two points determines the motion of the coordinate frame. Given
the coordinates of any other point P in the plane, we can use the coordinate frame to
construct the image P .
Recall that a displacement can be decomposed into the product of a rotation and a
translation (theorem 2.2). Unfortunately, this decomposition depends on the choice of a
reference point, so it is not a canonical description. The next result gives a means of
describing planar displacements that is often superior.
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 definition a rotation, so we
henceforth assume that A is distinct from A. Let B be the midpoint of the line segment
AA , 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 preserve
distance from A . One choice leaves B fixed, giving a rotation. The other choice gives a
−→
translation by the vector AA .
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 figure 2.5. Construct a perpendicular to AB at B, and a perpendicular
to 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 fixed. Consider the
displacement mapping A to A and M to itself. Where does that displacement map B? Since
it must preserve distance from A and from M, we identify two candidates by intersecting
MIT Press Math7X9/2001/03/09:12:00 Page 17
Kinematics 17
C
B
dA dB
A
A B
A B
(a) Rotation center (b) Instantaneous center (IC)
Figure 2.6
Generic cases of constructing a rotation center and an instantaneous center.
circles. One candidate, B itself, is excluded because it would correspond to the identity. The
other candidate is B . This proves that our hypothesized rotation about M is the original
displacement D.
The fixed point of a planar rotation is easily constructed from the motions of two
points 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 single
point of intersection. Two other possibilities must be considered. If the two perpendicular
bisectors are identical, we must repeat the construction, after substituting for A or B
any point not collinear with A and B. The last case is a translation, for which the two
perpendiculars are parallel. We can treat this case as a rotation of zero degrees about a
point at infinity. (A brief treatment of points at infinity is given in appendix A.) Hence we
restate theorem 2.4 as:
Every planar displacement is a rotation about a point in the projective plane.
These results have given rise to a number of terms, with no firm conventions on their
use. Rotation center and rotation pole refer to finite rotations; instantaneous center (IC),
velocity center, and velocity pole refer to velocities.
Centrodes
Until now, we have focused on single displacements. Now we consider continuous motions,
as for an object whose configuration is changing as a continuous function of time. When a
MIT Press Math7X9/2001/03/09:12:00 Page 18
18 Chapter 2
IC
A IC dA
A
dA B
B
dB
dB
Figure 2.7
Construction of ICs for two four-bar linkages.
motion is parameterized by time, we use the term trajectory, described by a curve q(t) in
configuration space. In this section we will ignore the time element, and consider the path
of the motion, described by a curve q(s) in configuration space, whose parameterization
may be considered arbitrary.
The main result is that any planar motion path can be described by two curves in the
plane, called centrodes. One curve, the moving centrode, rolls without slipping along the
second curve, called the fixed centrode. The centrodes provide a canonical description of
planar motions, which has the additional advantage of being easily understood.
The fixed centrode is the locus of the rotation pole in the fixed plane. The moving
centrode is the locus of the rotation pole in the moving plane. It should be evident that as
the moving centrode rolls without slipping on the fixed centrode, the instantaneous center
is at the contact between the two curves.
The main difficulty in constructing centrodes by hand is to plot the centers in the
moving plane. The easiest way is to construct the fixed centrode first, then use a transparent
sheet of plastic for the moving plane, plotting the centers on the moving plane as it
reproduces the motion in question.
We will illustrate the approach using planar four-bar linkages (figure 2.7). Each four-
bar linkage consists of a motionless base link, two links whose motion is a rotation about a
fixed point or a translation along a fixed axis, and a fourth link, the coupler link, which
makes a fairly complicated motion. At any given instant instant, we can describe the
constraints 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 on
a line perpendicular to d B. This completely determines the instantaneous center of the
coupler link unless the linkage is passing through some degenerate configuration.
MIT Press Math7X9/2001/03/09:12:00 Page 19
Kinematics 19
IC
fixed centrode
moving centrode
Figure 2.8
Construction of fixed and moving centrodes.
20 Chapter 2
I C?
Figure 2.9
A false instantaneous center: no rigid motion is possible.
Spherical kinematics refers to the possible motions on the surface of a sphere. Why should
we care about this class of motions? Recall the definition of rotation: a displacement that
leaves one point fixed. For three-space, this is equivalent to the possible motions on the
surface of a sphere, the fixed point being the center of the sphere. Traditionally this is
called spherical kinematics, but our interest would be better expressed by the name spatial
rotation kinematics.
Spherical kinematics also has a surprisingly close relationship to planar kinematics. If
we view the plane to be the surface of a sphere, where the radius has passed to infinity,
then planar kinematics is analogous to spherical kinematics. Consequently, the results in
this section are analogous to the results in the previous section.
Proof As in the planar case, we use the two points to define a coordinate system, so that
the motion of any point can be determined using its coordinates.
T HEOREM 2.6 E ULER ’ S THEOREM : For every spatial rotation, there is a line of fixed
points. In other words, every rotation about a point is a rotation about a line, called the
rotation axis.
MIT Press Math7X9/2001/03/09:12:00 Page 21
Kinematics 21
A A
B B
O
C
Figure 2.10
Construction for the proof of Euler’s theorem.
Proof We will prove that a spherical displacement always has a fixed 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 have
our fixed point, so we will only consider the case where A and A are distinct. Let ⊥ AA
be 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 fixed point, so
we need only consider the case where B and B are distinct. Define ⊥ BB to be the great
circle equidistant from B and B . The great circles ⊥ AA and ⊥ BB are distinct, since
B ∈⊥ 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 R
maps B to B , then D = R and the proof will be complete.
To determine R(B), we find all points that satisfy the distance-preserving property
of a displacement. These points have to be the right distance |BC| from C, and the right
distance |BA| from A . Each constraint defines a circle, one circle centered on C and one
circle centered on A . The centers of these circles A and C, are neither identical, nor
antipodes, so the intersection of the two circles has at most two points. By construction
of 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 its
construction on ⊥ AA . Finally, B is the right distance from A since AB is the image of
AB under the given displacement D.
So, either R(B) = B, or R(B) = B . The former can be excluded, since it would imply
that R is the null motion. That cannot be the case since R(A) = A = A. We conclude that
R(B) = B , hence the rotation R with fixed point C is identical to the given displacement
D.
That shows that a spherical motion has a fixed point. Since the center of the sphere
is also fixed, then every spatial rotation has two fixed points. The line through these two
points is the desired rotation axis. It follows easily that every point on the rotation axis is
fixed.
MIT Press Math7X9/2001/03/09:12:00 Page 22
22 Chapter 2
Figure 2.11
Any spherical motion is equivalent to the rolling of a moving cone on a fixed cone without slip.
The point M in the above construction is analogous to the rotation center for a planar
displacement, and the proof of Euler’s theorem is similar to the proof of the existence of
rotation centers for planar displacements (theorem 2.4).
Since spherical kinematics is analogous to planar kinematics, we should look for an
analog to the fixed and moving centrodes. Any spherical motion is equivalent to the rolling
of one moving cone, without slipping, on a fixed cone with common apex.
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 convenient
description of spatial displacements, but it is not a canonical description, since it depends
on the choice of a reference point. For planar displacements, we discovered a canonical
description, using the rotation center. Can the same be accomplished for spatial displace-
ments? Unfortunately, not all spatial displacements are rotations. As an example, consider
the screw displacement illustrated in figure 2.12: we rotate about some line in space and
simultaneously translate along the same line. For a general screw motion there are no fixed
points, not even at infinity. A point on the screw axis moves along it, and a point off the
axis moves along a helix. Since there are no fixed 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.
Kinematics 23
Figure 2.12
A 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 and
a translation T , by theorem 2.2—D = R ◦ T . Now decompose the translation T into two
components 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, and
is 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, since
the axis of T can be taken equal to the rotation axis of S.
The proof suggests that the screw axis might sometimes be infinitely distant, and we
can admit such screws if we like, but they are unnecessary. The proof would construct a
screw axis at infinity only in the case of a pure translation. But a pure translation can be
represented trivially by a screw motion whose rotation part is zero, and whose axis is any
line parallel to the translation.
Screws provide such a powerful description that a great deal of the kinematics literature
is 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 will
use screws where convenient.
D EFINITION 2.9: A screw is a line in space with an associated pitch, which is a ratio of
linear 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 parenthetical
note: we must be intentionally vague about the pitch, about whether to divide linear by
MIT Press Math7X9/2001/03/09:12:00 Page 24
24 Chapter 2
Figure 2.13
Any spatial motion is equivalent to the motion of a moving axode on a fixed axode. The instantaneous screw
axis is a line of contact between the two surfaces.
angular, or the other way around. The choice depends on the application, so that we will
have linear over angular quantities for motion, but angular over linear quantities for force.
For further discussion of this point see section 5.1.
D EFINITION 2.10: A twist is a screw plus a scalar magnitude, giving a rotation about the
screw 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 of
translation to rotation.
Using the language of screws, Chasles’s theorem is succinctly stated: every spatial
displacement is a twist about some screw.
The screw is perfectly well-defined for infinitesimal motions. Hence any motion at a
given time will have a screw and associated twist magnitude, describing the instantaneous
velocity and angular velocity of the motion. This defines the instantaneous screw axis.
Just as planar motions can be described by the motion of centrodes, spatial motions
are described by the motion of a moving axode on a fixed axode. Each axode is a ruled
MIT Press Math7X9/2001/03/09:12:00 Page 25
Kinematics 25
y y
θ = 2π t
(x, y)
(x, y)
x x
(a) Bilateral scleronomic (b) Bilateral rheonomic
2 1
y y
θ θ
(x, y) (x, y)
x x
(c) Unilateral (d) Nonholonomic
Figure 2.14
Different types of kinematic constraint.
surface. At any particular time the axodes are in contact along some common line which
defines the instantaneous screw axis. The moving axode might slide along the line as it
rolls, according to the pitch.
Unfortunately the motion of axodes is less easily visualized than the motion of cen-
trodes. Of course, centrodes (figure 2.8) and cones (figure 2.11) can be viewed as special
cases. Figure 2.13 shows two less trivial cases adapted from (Reuleaux, 1876).
Manipulation usually involves contact, which can often be modeled in terms of kinematic
constraint: a constraint on the possible motions of a body. Consider the example of a
rectangular block sliding in a channel (figure 2.14(a)). Ordinarily the block would have
three 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 26
26 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 (figure 2.14(b)). The corresponding
constraint equations would be
The technical name for a moving constraint is rheonomic. When it is necessary to make a
distinction, 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 that
we remove one of the channel walls in our example (figure 2.14(c)). We can describe the
constraint by looking at each vertex in turn, writing an inequality that keeps the vertex in
the 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 active
at 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 a
distinction, the two-sided variation is called a bilateral constraint.
The final variation is the most interesting. Suppose that we remove both walls of
the channel, but add a wheel to the block, so it behaves like a unicycle or an ice skate
(figure 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 this
constraint by the equation:
The difference is that this equation involves the rate variables ẋ and ẏ, rather than just the
configuration variables x, y, and θ . Of course, we can differentiate any of the previous
cases to obtain equations involving rate variables. However, the unicyclist’s constraint
is not so obtained—it is impossible to describe this constraint using just configuration
MIT Press Math7X9/2001/03/09:12:00 Page 27
Kinematics 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 most
respectable looking applied mechanics texts I can find, I am satisfied that a holonomic
constraint should be defined as one that can be described as an equation in configuration
variables and time, F(q, t) = 0, and a nonholonomic constraint should be defined as
one that cannot. For a nonholonomic constraint, either rate variables or inequalities are
required. That means a unilateral constraint is nonholonomic. But be aware that the robotics
literature often neglects this point, and in fact this book will henceforth also neglect it.
Recall that degrees of freedom is defined to be the number of independent variables
required to determine the system configuration. Then it is evident that each independent
holonomic 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 more
detail 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 configura-
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, requiring
either 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 equation
using rate variables
f (q, q̇, t) = 0
how do we know whether the same constraint can be written without the rate variables?
For example, consider the example of a wheeled cart in figure 2.15. We can write two
constraint equations
28 Chapter 2
y (x, y)
Leaves of the
foliation y
x x
Figure 2.15
An unsteered cart, once placed, must live on a single line in configuration space. These lines comprise a foliation
of the configuration space.
which involve rate variables and thus appear to describe nonholonomic constraints. But
we could also have written
which reveals the constraints to be holonomic. We can see that the constraints are holo-
nomic by looking at configuration space. Equations 2.12 and 2.13 restrict the cart’s con-
figuration to a line in configuration space. There are several different possible lines, corre-
sponding to different initial placements of the cart (x 0 , y0 , θ0 ). For a particular choice of
θ0 , the corresponding x-y plane of configuration space is covered by parallel lines at angle
θ0 (figure 2.15). By varying the choice of θ0 , we tile the entire configuration space with
lines. Each line represents the reduced 1-freedom configuration space. This decomposition
of configuration space into subspaces is called a foliation of configuration space, and each
line is a leaf of the foliation.
What about the unicycle? Is it possible that a similar foliation can be produced? For the
unicycle, it is easy to construct a motion to any configuration (x, y, θ ): turn until the wheel
points at (x, y); roll forward to (x, y); turn to angle θ . Thus we know that the configuration
space is truly three-dimensional, and that the constraint cannot be written as an equality
constraint on the configuration variables alone.
Thus there is a fundamental difference between the cart example of figure 2.15 and the
unicycle example of figure 2.14(d). The cart’s constraints equations can be written without
using rate variables, i.e. they are integrable. The unicycle’s equations, on the other hand,
are nonintegrable, i.e. truly nonholonomic.
To tell whether a system is holonomic, geometric reasoning sometimes suffices as in
the examples above. There is also an analytical method, using Lie brackets. First we must
introduce some terminology. Let C be the configuration space, and write the configuration
MIT Press Math7X9/2001/03/09:12:00 Page 29
Kinematics 29
θ θ
y y
g1 : turning x g2 : forward x
rolling
Figure 2.16
A unicycle is capable of two independent motions described by two vector fields.
as q ∈ C. Tq C is the tangent space at q, the space of all velocity vectors, which can be
visualized as a copy of Rn with its origin placed at q. A velocity vector is written q̇ ∈ Tq C.
wi (q)q̇ = 0, i = 1 . . . k
where the wi are linearly independent row vectors, and q̇ is a column vector.
f (q) : C
→ Tq C
Let’s construct some example vector fields for the unicycle of figure 2.14(d). For this
example we have q = (x, y, θ )T and q̇ = (ẋ, ẏ, θ̇ )T . For any given q, there are two
motions which we will use as basis motions. First, we can always rotate about the contact
point:
ẋ 0
ẏ = 0
θ̇ 1
30 Chapter 2
y
x
Figure 2.17
The linear span of the vector fields gives a distribution, the set of all feasible motions.
Kinematics 31
D EFINITION 2.14: A distribution is regular if its dimension is constant over the config-
uration space.
D EFINITION 2.15: Let f, g be two vector fields on C. Define the Lie bracket [f, g] to be
the vector field
∂g ∂f
f− g
∂q ∂q
The two partial derivatives in the definition of Lie brackets are derivatives of the vector
field with respect to a change in the configuration, and are represented by n by n matrices.
We forego a detailed proof of Frobenius’s theorem, but the method of the proof
is enlightening. To prove that an integrable distribution is involutive, we consider the
following maneuver: given two vector fields f and g in the distribution,
Now if you take a Taylor series expansion of this motion, the first order terms cancel,
but the second order terms result in the cross-partial that we have already defined as
the Lie bracket. For that reason this maneuver is often called a Lie bracket motion. If
the distribution is integrable, then this Lie bracket motion must also be contained in
the 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 by
induction on the dimension of the spaces. See (Boothby, 1975) for details.
Frobenius’s 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 32
32 Chapter 2
Figure 2.18
Reuleaux’s method for analysis of unilateral constraints. For an IC to the right of the contact normal, only
negative rotations are possible. For an IC to the left of the contact normal, only positive rotations are possible.
= span(g1 , g2 ) where the vector fields g1 and g2 are given by equations 2.14 and 2.15.
The partials are
0 0 0
∂g1
= 0 0 0 (2.16)
∂q
0 0 0
0 0 − sin θ
∂g2
= 0 0 cos θ (2.17)
∂q
0 0 0
For the new vector field defined by the Lie bracket we obtain
g3 = [g1 , g2 ] (2.18)
∂g2 ∂g1
= g1 − g2 (2.19)
∂q ∂q
− sin θ
= cos θ (2.20)
0
Kinematics 33
Figure 2.19
Reuleaux’s method applied to several constraints. Only consistently-labeled IC’s are retained.
34 Chapter 2
Figure 2.20
Reuleaux’s method is a first-order analysis, and sometimes gives false positives.
It is important to be aware of the limits of this method. As with our analysis of bilateral
constraints, this is a first order analysis which sometimes gives false positives. It may give
motion centers when an object is immobile. For example, the two problems in figure 2.20
yield an identical analysis under Reuleaux’s method, although one of them actually cannot
move. Despite its limitations, the method is simple enough to be a useful tool, especially
when aided by common sense.
Kinematics 35
Planar Spherical
3 freedoms 3 freedoms
Cylindrical Revolute
2 freedoms 1 freedom
Prismatic Helical
1 freedom 1 freedom
Figure 2.21
The lower pairs
L4
L3
L5
L2 L1
Figure 2.22
Mobility and connectivity
one link to be fixed and assume the constraints to be independent, then the mobility M is
readily seen to be
M = 6(n − 1) − ui (2.21)
= 6(n − 1) − (6 − f i ) (2.22)
= 6(n − g − 1) + fi (2.23)
MIT Press Math7X9/2001/03/09:12:00 Page 36
36 Chapter 2
which is known as Grübler’s 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 Grübler’s formula to a planar mech-
anism would generally give the wrong answer, due to the dependencies among the joint
constraints of a planar linkage in three space.
Another variant of Grübler’s formula is applied to mechanisms with loops. First note
that for a single-loop chain there are equal numbers of links and joints, so
M= f i + 6(−1)
Each time we add an open chain, we increase the excess of joints over links by 1. Thus for
a chain comprising l loops, we have
M= f i − 6l
for a planar linkage. As an example, for a four-bar linkage we have four joints, each joint
has a single freedom, and there is one loop, so that M = 1.
A final caution: because Grübler’s formula makes such strong assumptions about the
independence of constraints, it should be applied with copious amounts of common sense.
(Reuleaux, 1876) and (Hilbert and Cohn-Vossen, 1952) are essential reading. Much of
the material on kinematic linkages, and some historical background, come from (Harten-
berg and Denavit, 1964). (Bottema and Roth, 1979) and (McCarthy, 1990) provide more
detailed treatments of theoretical kinematics. In particular, see their analytic proofs of Eu-
ler’s theorem and planar rotation poles. (Lin and Burdick, 2000) address metrics on the
special Euclidean groups. The material on analysis of nonholonomic constraint is adapted
from (Murray et al., 1994). Also see (Brockett, 1990) for related topics. The introduction
MIT Press Math7X9/2001/03/09:12:00 Page 37
Kinematics 37
Figure 2.23
Construction for exercise 2.3.
to kinematic constraint is adapted from (Paul, 1979). For a more detailed development
of screw theory and its application to mechanisms, see (Ball, 1900) and (Hunt, 1978). A
higher-order analysis of kinematic constraint is given by (Rimon and Burdick, 1995).
Exercises
Exercise 2.1: Generally people say that a line in E3 has four freedoms, because it takes
four numbers to specify a line. However, a careful interpretation of definitions 2.2 and 2.4
suggests that a line in E3 has five freedoms. Show that a line in E3 can be specified with
four numbers, and explain why, according to our definitions, it has five freedoms.
Exercise 2.2: Figure 2.4 gives an example showing that spatial rotations do not commute
in general. Give an example illustrating that planar displacements do not commute in
general.
MIT Press Math7X9/2001/03/09:12:00 Page 38
38 Chapter 2
D C
Start
A B
D C
Goal
A B
Figure 2.24
Construction for exercise 2.4.
2 1
Figure 2.25
A slider-crank linkage for exercise 2.5.
Exercise 2.3: Figure 2.23 shows a planar mobile robot that cycles repeatedly through a
sequence of three positions A, B, and C. The robot plans a sequence of three rotations
that would cycle it through the three desired positions. Construct the fixed and moving
centrodes for this cyclical motion.
The robot finds itself unable to execute the planned motion. What is the difficulty?
Exercise 2.4: Your new refrigerator has been delivered, and has to be moved from the
center of your kitchen into the corner. (See figure 2.24.) You can “walk” it by shifting the
weight towards one leg, then pushing so the refrigerator rotates about that leg. Find a short
sequence of rotations to walk the refrigerator into the corner, and construct the centrodes.
Don’t go through any walls. (Hint: assembly problems are often easier to solve backwards,
so find a path from the goal to the start.)
Exercise 2.5: Figure 2.25 shows a simple planar mechanism called a slider-crank. The
slider oscillates as the crank rotates through 360 degrees. Carefully draw the mechanism
in a number of configurations, and for each construct the instantaneous velocity center
MIT Press Math7X9/2001/03/09:12:00 Page 39
Kinematics 39
5 5
Figure 2.26
The Chebyshev linkage for exercise 2.6.
5
3
3 5
10
Figure 2.27
Watt’s linkage for exercise 2.7.
of the coupler link. Sketch the centrodes. You will need to construct at least 12 different
configurations, by sampling the crank angle at 30 degree intervals. To construct the moving
centrode, 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 of
the links rock back and forth as the coupler link makes a more complicated motion. The
center of the coupler link approximates a straight line over part of its path. Construct the
fixed and moving centrodes using the procedure of exercise 2.5.
Exercise 2.7: Figure 2.27 shows a simple planar mechanism called Watt’s linkage. As in
the previous exercise, the center of the coupler link approximates a straight line over part
of its path. Construct the fixed and moving centrodes using the procedure of exercise 2.5.
MIT Press Math7X9/2001/03/09:12:00 Page 40
40 Chapter 2
Figure 2.28
Three unilateral constraint problems for exercise 2.8.
Exercise 2.8: Apply Reuleaux’s method to the problems drawn in figure 2.28, identifying
all possible motions of the constrained rigid body.
Exercise 2.9: Suppose we have placed three fingers on a triangle as in figure 2.19(b).
Before picking up the triangle, we want the triangle immobilized relative to the hand. Find
a placement for a fourth finger that immobilizes the triangle. Apply Reuleaux’s technique
to prove your placement works, assuming that the fingers are perfectly stiff.
Exercise 2.10: Apply Frobenius’s theorem to show that a rigid body in the plane with two
independent Pfaffian constraints must be holonomic.
MIT Press Math7X9/2001/03/09:12:00 Page 41
3 Kinematic Representation
This chapter presents representations of spatial rotations and spatial displacements. Repre-
sentations are necessary for computational purposes, but more importantly, they enrich our
intuitions and give us insights into the properties of spatial kinematics.
There are a great number of different schemes for representing rotations, but only a very
few of them are fundamentally distinct. This section presents the basic ideas, and how these
ideas are reflected in different representations.
There are two big problems in representing rotations, both related to inherent, incon-
trovertible properties of rotations:
The first problem, the non-commutativity of rotations, is certainly well known, and is
discussed in elementary physics texts. Nonetheless, it is important to fix this fact carefully
in one’s 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, means
that there is no smooth representation using three numbers. The problem is similar to that
of assigning coordinates to locations on the surface of the Earth. Our use of longitude
and latitude becomes very awkward at the poles, where a single step can produce a radical
change in longitude. We don’t look for a superior system because there is no such system—
there just is not any way to smoothly wrap a sphere with a plane. Similarly, there is no way
to 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 the
redundancy. 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 extra
numbers. People, on the other hand, sometimes have a preference for the minimum set of
numbers. Because of these and other differences, there is no single superior representa-
tion, and often several different representations must be maintained with procedures for
translating among them.
MIT Press Math7X9/2001/03/09:12:00 Page 42
42 Chapter 3
Figure 3.1
Representing spatial rotations by axis and angle.
Axis-angle
Euler’s theorem (theorem 2.6) states that every spatial rotation leaves some line fixed: the
rotation axis. Let us fix an origin somewhere on the rotation axis, and let n̂ be a unit vector
directed along the rotation axis. Let θ be the magnitude of the rotation, with the positive
sense taken in the right-hand direction about n̂. Then the ordered pair (n̂, θ ) can indicate
a rotation, which we will denote rot(n̂, θ ). Note that the representation is two-to-one for
most rotations—rot(−n̂, −θ ) gives the same rotation as rot(n̂, θ ). An additional source of
redundancy is that rot(n̂, θ + 2kπ) is identical to rot(n̂, θ ), for any integer k. Both of these
can be ameliorated to some extent by restricting θ to some suitable range, such as [0, π]. A
more troublesome difficulty is that when θ = 0, the rotation axis is indeterminate, giving
an infinity-to-one mapping.
There are three things to do with a representation of rotation. First, we can use it
simply to communicate or remember the rotation. Second, we can use it to rotate things—
to 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 a
poor one for computing compositions.
To rotate a point, we will use Rodrigues’s formula (figure 3.2). Suppose that some
point to be rotated is represented by the vector x. First, we decompose x into components
parallel and perpendicular, respectively, to the rotation axis n̂: x = x + x⊥ . We can rewrite
x as n̂(n̂ · x), and x⊥ as −n̂ × (n̂ × x), yielding
The parallel component is unaffected by the rotation. When the perpendicular component
is rotated, we obtain:
Kinematic Representation 43
n
n n x
n x
x
nn x
x
Figure 3.2
Geometric derivation of Rodrigues’s formula
The uses of Rodrigues’s formula go well beyond the rotation of points. For example,
later sections will use Rodrigues’s formula to derive transformations from one representa-
tion to another.
Rotation matrices
The rotation matrix is for many purposes the most useful representation of spatial rotations,
because rotations of a point, and the composition of two rotations, are implemented using
matrix multiplication. We begin with a derivation of the rotation matrix.
Let the origin lie on the rotation axis, and let (û1 , û2 , û3 ) describe a right-handed
coordinate system; that is, let the ûi be mutually orthogonal unit vectors with û1 × û2 = û3 .
Let (û1 , û2 , û3 ) be the image under the rotation. The rotation is completely determined by
the motions of the ûi . We express the ûi vectors in ûi coordinates, and collect them in a
matrix:
a11 û1 · û1
û1 = a21 = û2 · û1 (3.4)
a31 û3 · û1
a12 û1 · û2
û2 = a22 = û2 · û2 (3.5)
a32 û3 · û2
a13 û1 · û3
û3 = a23 = û2 · û3 (3.6)
a33 û3 · û3
MIT Press Math7X9/2001/03/09:12:00 Page 44
44 Chapter 3
A = ai j = û1 |û2 |û3
Since a rotation matrix has nine numbers, and spatial rotations have only three degrees
of freedom, we have six excess numbers, and six constraints that hold among the nine
numbers.
which just restates that the vectors are unit vectors forming a right-handed coordinate
system. Matrices satisfying these properties are called orthonormal, or when used to
represent rotations, they are simply called rotation matrices.
Kinematic Representation 45
Here, we can view the pre-superscript of the rotation matrix as indicating the coordinate
frame of the matrix. The operation should only be applied when the matrix and column
vector are represented in the same coordinate frame, i.e. have the same pre-superscript.
However, by the same act of matrix multiplication, we can also represent the change
of coordinates
B
x = BAR A x (3.14)
Here the pre-superscript of the vector should match the pre-subscript of the matrix. Intu-
itively, these are “canceled out” by the multiplication, leaving only the pre-superscript B.
p =R1 p (3.15)
p =R2 (p ) (3.16)
=R2 (R1 p) (3.17)
=(R2 R1 )p (3.18)
rot(n̂, 0)
→ I (3.19)
rot(n̂, −θ )
→ R −1 = R T (3.20)
where AR, BR, are rotation matrices, and BAR, BAR are coordinate transform matrices.
MIT Press Math7X9/2001/03/09:12:00 Page 46
46 Chapter 3
Nx = n̂ × x (3.23)
Factoring x from the right hand side yields an expression for the rotation matrix
Kinematic Representation 47
quaternion and then convert the quaternion to axis-angle form. Well-behaved methods for
each of these conversions are given in section 3.1.
D IFFERENTIAL ROTATIONS
Consider Rodrigues’s formula for a differential rotation rot(n̂, dθ ).
48 Chapter 3
z
y
Figure 3.3
Representing spatial rotations by Euler angles.
This section adopts the ZYZ convention: the Euler angles (α, β, γ ) are interpreted as a
rotation of α about the z axis, then a rotation of β about the (transformed) y axis, and then
a rotation of γ about the (twice transformed) z (figure 3.3):
(α, β, γ )
→ rot(γ , ẑ ) rot(β, ŷ ) rot(α, ẑ) (3.33)
Any spatial rotation can be expressed using ZYZ Euler angles. Suppose we are given some
coordinate frame (x̂, ŷ, ẑ) and its image under the desired rotation (x̂ , ŷ , ẑ ). We can
express the Euler angles as follows:
Note that the procedure does not completely determine the parameters α, β, and γ . In the
general case where sin β = 0, there are two choices, since (α + π, −β, γ + π) gives the
same result as (α, β, γ ). Two special cases occur when sin β = 0. If ẑ = ẑ then β = 0,
and α may be chosen freely—only the sum of α and γ matters. If ẑ = −ẑ , then β = π,
and again α may be chosen freely—only the difference of α and γ matters. So the mapping
from Euler angles to spatial rotations is generally two to one, except for two cases where
the mapping is a continuum to one.
Euler angles are not a convenient representation for rotating points, nor for constructing
composite rotations. It is generally wiser to transform to rotation matrices or some other
representation better suited to computational uses.
MIT Press Math7X9/2001/03/09:12:00 Page 49
Kinematic Representation 49
Fortunately, we can reverse the order, and take the rotations about fixed axes (see exer-
cise 3.3).
We can obtain the equivalent rotation matrix by substituting rotation matrices for each
factor above, then expanding the product. We adopt the notation cα = cos α, sα = sin α,
etc.
cα −sα 0 cβ 0 sβ cγ −sγ 0
sα cα 0 0 1 0 sγ cγ 0
0 0 1 −sβ 0 cβ 0 0 1
cα cβ cγ − sα sγ −cα cβ sγ − sα cγ cα sβ
= sα cβ cγ + cα sγ −sα cβ sγ + cα cγ sα sβ (3.36)
−sβ cγ sβ sγ cβ
We set (ri j ) equal to the matrix 3.36 and solve for α, β, and γ , in terms of the ri j . It would
be simple to find α by tan−1 (r23 , r13 ), and to find γ by tan−1 (r32 , −r31 ). (We assume tan−1
is a two-argument arctangent, which maps coordinates of a point (y, x) to the appropriate
angle.) However, this method does not address the special cases that occur when sin β = 0.
It may seem that we should treat those cases separately, but instead we will use a more
elegant method that handles all cases uniformly. Note, however, this method requires an
arctangent routine that does not generate an error at tan−1 (0, 0).
The main idea is to work with the sum and difference of α and γ . Let σ be the sum
and δ the difference.
σ =α+γ (3.38)
δ =α−γ (3.39)
MIT Press Math7X9/2001/03/09:12:00 Page 50
50 Chapter 3
Then
α = (σ + δ)/2 (3.40)
γ = (σ − δ)/2 (3.41)
Now, turning our attention to the matrix 3.36 we observe
Quaternions
A quaternion is a 4-tuple of reals, with operations of addition and multiplication defined
according to rules that will be described presently. The quaternion was introduced by
Hamilton, as a generalization of complex numbers. Just as complex numbers enable us to
multiply and divide two-dimensional vectors, quaternions enable us to multiply and divide
four-dimensional vectors. And, just as complex multiplication implements rotation of the
MIT Press Math7X9/2001/03/09:12:00 Page 51
Kinematic Representation 51
q = q0 1 + q1 i + q2 j + q3 k (3.49)
where the qi are all real numbers. The following operations are defined:
p + q = ( p0 + q0 )1 + ( p1 + q1 )i + ( p2 + q2 ) j + ( p3 + q3 )k (3.50)
i 2 = j 2 = k 2 = −1 (3.52)
ij = k (3.53)
jk = i (3.54)
ki = j (3.55)
q ∗ = q0 1 − q1 i − q2 j − q3 k (3.56)
It is easily shown that addition and multiplication have the right properties—addition
is associative and commutative, multiplication is associative but not commutative.
MIT Press Math7X9/2001/03/09:12:00 Page 52
52 Chapter 3
A quaternion can also be interpreted as the sum of a scalar part q0 and a vector part q:
q = q0 + q (3.58)
where
q = q1 i + q2 j + q3 k (3.59)
pq = p0 q0 − p · q + p0 q + q0 p + p × q (3.60)
pq = p0 q0 − p · q + p0 q + q0 p + p × q (3.61)
= −p · q + p × q (3.62)
Note that every quaternion, other than the additive identity 0, has an inverse
q −1 = q ∗ /|q|2 (3.63)
so that quaternions form a linear algebra and a field, the only extension of the complex
numbers that is both a linear algebra and a field.
Now, we consider the use of quaternions to represent spatial rotations. Given some
rotation rot(θ, n̂), define the corresponding unit quaternion to be
θ θ
q = cos + sin n̂ (3.64)
2 2
Now let x be a pure vector, i.e. a quaternion with zero scalar part,
x =0+x (3.65)
and let the vector components be the Cartesian coordinates of some point. To rotate a point,
we form the product q x q ∗, which we can show by expanding the product, and simplifying:
θ θ θ θ
q x q ∗ = (cos + sin n̂)x(cos − sin n̂) (3.66)
2 2 2 2
2 θ θ θ θ
= cos x + 2 cos sin n̂ × x + sin2 n̂xn̂∗ (3.67)
2 2 2 2
MIT Press Math7X9/2001/03/09:12:00 Page 53
Kinematic Representation 53
54 Chapter 3
Li q iq Ri q qi iqi Li Ri q
i i i
no
1- i plane 2 2 rotation
1 1 1
k k k
j- k plane 2 2
j j j
Figure 3.4
Left multiplication and right multiplication by unit quaternions, applied individually, mix up the vector and
scalar subspaces. But applied together using conjugates, they give a rotation of the vector subspace.
Kinematic Representation 55
1
→ −i
i
→ 1
Ri ∗ (q) (3.79)
j
→ k
k
→ − j
Now it is evident that by composing L i (q) with Ri ∗ (q) we cause the rotations of the 1-i
plane to cancel, and the rotations of the j -k plane to add up, yielding a rotation of the
vector space by π about i :
1
→ 1
∗ i
→ i
i qi = (L i ◦ Ri ∗ ) (q) (3.80)
j
→ − j
k
→ −k
In general, nxn ∗ , for n a pure unit vector, is a rotation of the vector subspace about n by
π, corresponding to the n̂ × (n̂ × x) term in Rodrigues’s construction (equation 3.71). We
can construct geometric interpretations for the other elements of Rodrigues’s formula in a
similar fashion, ultimately obtaining a geometric interpretion of our earlier proof that the
quaternion product q x q ∗ implements general spatial rotations.
qxq ∗ (3.81)
θ θ
q = cos + sin n̂ (3.83)
2 2
MIT Press Math7X9/2001/03/09:12:00 Page 56
56 Chapter 3
which gives the transformation from axis-angle to quaternion representation. To obtain the
axis and angle from the quaternion:
We note that the equation for the rotation axis n̂ is ill-conditioned near θ = 0, but this is a
result of the fundamental indeterminacy of the rotation axis for a null rotation.
Kinematic Representation 57
signs correctly. Instead, we return to the matrix for some more equations. Taking sums
and differences of each pair ri j , r j i yields
1
q0 q1 = (r32 − r23 ) (3.93)
4
1
q0 q2 = (r13 − r31 ) (3.94)
4
1
q0 q3 = (r21 − r12 ) (3.95)
4
1
q1 q2 = (r12 + r21 ) (3.96)
4
1
q1 q3 = (r13 + r31 ) (3.97)
4
1
q2 q3 = (r23 + r32 ) (3.98)
4
To obtain the quaternion, use the first four equations (3.89–3.92) to find the largest qi2 .
Either sign will do for the square root. Now, whichever qi was obtained, there are three of
the remaining six equations involving that qi , which will yield the other three components
of the quaternion.
rot(n̂, θ )
→ q = cos(θ/2) + sin(θ/2)n̂ (3.99)
Then the shortest path on the sphere joining q with the null rotation 1 has an arc-length of
θ/2. This implies that the spherical metric on unit quaternions corresponds to measuring
spatial rotations by the rotated angle, which is exactly the right metric for spatial rotations.
Of course there are two possible angles for any rotation, θ and 2π − θ , corresponding to
the two quaternions q and −q. Henceforth we will assume that the smaller angle is used,
which corresponds to choosing whichever of q or −q is closest to 1.
The Euclidean metric in E 4 will also serve as a metric for spatial rotations, although it
does not give the angle. We can use the quaternion length | p − q| to measure the difference
between two quaternions, provided that we choose antipodes yielding the smallest value.
Since the spherical metric does the right thing with quaternions, the topology must
be right. Unit quaternions are 4-tuples, restricted to unit length. The unit quaternions give
the surface of a sphere in four-dimensional Euclidean space. Because q and −q represent
the same rotation, we identify antipodes on the sphere with one another, which yields
MIT Press Math7X9/2001/03/09:12:00 Page 58
58 Chapter 3
projective 3-space, P3 . Thus spatial rotations have the topology P3 . Unit quaternions give
a smooth representation of spatial rotations with the minimum of numbers.
Another implication is that unit quaternions are ideally suited to the problem of
generating a random sequence of spatial rotations. If we generate a uniform distribution
on the surface of the unit sphere in E 4 , we also obtain a uniform distribution of rotations.
(How does one generate a uniform distribution on a sphere? See exercise 3.16.)
Normalization also works very well with quaternions. The problem is that after some
numerical calculations, we may obtain a quaternion that no longer lies on the sphere. To
normalize a quaternion we can simply divide it by its length.
Finally, in some applications quaternions offer superior computational efficiency (see
exercise 3.10).
This section explores methods for representing spatial displacements. The simplest method
would be to decompose the displacement into a translation and a rotation (theorem 2.2),
represent the translation by a vector, and represent the rotation by any of the methods
described in the previous section. In particular, using a rotation matrix plus a vector leads
us to the use of homogeneous coordinates. But there are other methods which offer some
advantages, depending on the immediate problem. So following a section on homogeneous
coordinates there is a section on the use of screws and screw coordinates.
Homogeneous coordinates
Recall theorem 2.2: a displacement can be decomposed into a rotation followed by a trans-
lation. We construct an origin and a coordinate frame, and represent points as coordinate
vectors. Then we can represent the rotation by a rotation matrix, and represent the transla-
tion by vector addition:
x = Rx + d (3.100)
where R is the rotation matrix and d is the translation vector. This is a fairly simple
equation, but it can be even simpler, using homogeneous coordinates. The homogeneous
coordinate representation of a point is obtained by appending a fourth coordinate, which is
always 1:
x1
x2
x= x3
(3.101)
1
MIT Press Math7X9/2001/03/09:12:00 Page 59
Kinematic Representation 59
x = T x (3.103)
Thus the homogeneous coordinate transform matrix T can represent the displacement. The
first three columns of T give the rotation part, and the last column gives the translation part.
Points at infinity have a convenient representation with homogeneous coordinates. (See
Appendix A for an expanded discussion.) Let w be the fourth coordinate of a point, and
adopt the convention that w is a scale factor. Now our representation of points is given by:
x1
x2 x 1 /w
x 2 /w
x 3
→ (3.104)
x 3 /w
w
As w tends to zero, the point tends toward infinity. We adopt the convention that the
homogeneous coordinate vector
x1
x2
(3.105)
x3
0
represents a point at infinity. Or, equivalently, it represents a direction: the direction of all
lines parallel to the vector (x 1 , x 2 , x 3 )T , which intersect at the point at infinity. Note that
the points at infinity form a plane. It may appear that they form a three-dimensional space,
but a point at infinity does not vary when the homogeneous coordinates are scaled.
The homogeneous coordinate representation of points at infinity gives an elegant
decomposition of transform matrices. The first three columns have fourth coordinate zero.
They represent points at infinity, the directions corresponding to the three coordinate axes.
The fourth column has fourth coordinate one, and represents the location of the coordinate
frame origin.
The main feature of homogeneous coordinates is that the transform equation is homo-
geneous (equation 3.103) rather than just linear (equation 3.100). (“Linear” in this context
MIT Press Math7X9/2001/03/09:12:00 Page 60
60 Chapter 3
means that the plot is a straight line, and “homogeneous” means that the straight line passes
through the origin. A more modern terminology might be to call them “linear coordinates”
because the transform equation is linear rather than just affine.) The value of homoge-
neous coordinates can be better appreciated when several displacements occur in succes-
sion, which can be written
T6 T5 T4 T3 T2 T1 (3.106)
rather than
Of course, we could use the simpler expression even without homogeneous coordi-
nates, since we know that spatial displacements form a group. But it is convenient to have
a simple mechanism to decompose a displacement into rotation and translation operators,
and to relate the algebra to concrete numerical operations.
Naive numerical applications of homogeneous coordinates can be inefficient. It is
possible to use general matrix multiplication and matrix inversion, but much more efficient
procedures are obtained by taking into account the special structure of homogeneous
coordinate transform matrices. Inversion of a displacement requires only a transpose of
the rotation matrix, and one point transform:
−1
d RT −R T d
R
= (3.108)
0 0 0 1 0 0 0 1
Screw coordinates
The screw was introduced in section 2.4: it is a line in space, with an associated pitch.
Screw coordinates are a method for representing screws. First, though, we must explore
Plücker coordinates, which are used to describe lines in space.
MIT Press Math7X9/2001/03/09:12:00 Page 61
Kinematic Representation 61
q
q0 p q
O p
l
Figure 3.5
Representing a line using Plücker coordinates.
P L ÜCKER COORDINATES
The equation of a line can be given in parametric form:
x(t) = p + tq (3.110)
where p is any point on the line, and q is a vector giving the direction of the line. Let q0 be
given by:
q0 = p × q (3.111)
Then the ordered pair (q, q0 ) comprises the 6 Plücker coordinates of the line (figure 3.5).
We will call q the direction vector and q0 the moment vector.
An obvious question at this point is, why use the cross product? Why not just use the
point and the direction (p, q), or, even simpler, why not just use two points? We shall see
soon that Plücker coordinates simplify many of the computations on lines. But there is a
more basic reason: Plücker coordinates are nearly a canonical representation of lines. A line
in space is determined by four numbers. That is two less than the six numbers to determine
the configuration of a rigid body, because a translation along the line, or a rotation about
the line, map the line back to itself. There are six Plücker coordinates, giving an excess of
two. We can account for the two excess parameters as follows. First, since q0 = p × q,
any set of Plücker coordinates has to satisfy the equation
q · q0 = 0 (3.112)
Second, we can scale the Plücker coordinates by a non-zero scalar k without changing the
line:
It is sometimes convenient to normalize by scaling by 1/|q|, but we shall see cases where
unnormalized Plücker coordinates are necessary.
MIT Press Math7X9/2001/03/09:12:00 Page 62
62 Chapter 3
q0
dq d
q
O
Figure 3.6
Plücker coordinates: the generic case.
q0
q
0
O
q0 0
q 0
l l
Figure 3.7
Special cases of Plücker coordinates: a line through the origin and a line at infinity.
It really is very simple to read Plücker coordinates. There are three cases:
General case. The general case (figure 3.6) is with non-zero q and q0 . The direction vector
q is parallel to the line, q0 is normal to the plane including the origin and the line, and
|q0 |/|q| gives the distance from the origin to the line.
Line through origin (q, 0). The second case occurs when the line passes through the
origin (figure 3.7(a)). This is really a straightforward instance of the general case, where
q0 has passed to zero.
Line at infinity (0, q0 ). The third case is more interesting, and occurs when the direction
vector q passes to zero. One way to look at it is to write the Plücker coordinates for the
general case, normalized by the magnitude of the moment vector:
q q0
, (3.114)
|q0 | |q0 |
MIT Press Math7X9/2001/03/09:12:00 Page 63
Kinematic Representation 63
q1
l2
d
l1 p1
p2 q2
O
Figure 3.8
Geometrical construction of the moment between two lines.
Now consider the limiting process as the line approaches infinity. If we had normalized by
the direction vector, then the moment vector would grow proportionately with the distance
to the line. But, since we normalized by the moment vector, the direction vector will shrink
in inverse proportion to the line’s distance, attaining 0 in the limit.
For a line at infinity, it may seem that we have lost some vital information since we
have no direction vector. But when we note that the line at infinity is the intersection of the
set of all planes perpendicular to the moment vector, it is evident that the moment vector
does completely specify the line.
No meaning is assigned to the Plücker coordinates (0, 0).
With Plücker coordinates we can easily determine the moment between two lines, the
shortest distance between two lines, and the angle between two lines. We will begin with
the moment. Suppose we are given two lines l1 and l2 (figure 3.8). Let p1 , p2 be points on
l1 , l2 , respectively, and let q1 , q2 be the directions of l1 , l2 , respectively. Then, in analogy
with the moment of force about a point or about a line, we can define the moment of the
line l2 about the point p1 to be
q2
(p2 − p1 ) × (3.115)
|q2 |
and we can define the moment of the line l2 about the line l1 to be
q1 q2
· (p2 − p1 ) × , (3.116)
|q1 | |q2 |
which simplifies to the expression
q1 · q02 + q2 · q01
, (3.117)
|q1 ||q2 |
MIT Press Math7X9/2001/03/09:12:00 Page 64
64 Chapter 3
y
l1
l2
x
z
Figure 3.9
Example for Plücker coordinates.
Note that the Plücker coordinates are really giving us directed lines, and the expressions
above are giving us the signed moment, consistent with the lines’ directions. The numerator
of equation 3.117 includes an operation that we will encounter again and again:
D EFINITION 3.2: We define the virtual product, also called reciprocal product, of two
sets of Plücker coordinates as follows
If we have normalized Plücker coordinates, then virtual product gives the signed moment
between two directed lines.
If d is the shortest distance between lines l1 and l2 , and α ∈ [0, π] is the angle between
lines l1 and l2 , then the moment between l1 and l2 is given by d sin α. Noting that
where parallel lines are considered to intersect at infinity. The expression for distance
between two lines will not work when the lines are parallel.
MIT Press Math7X9/2001/03/09:12:00 Page 65
Kinematic Representation 65
E XAMPLE
Consider the diagonals of adjacent faces on a cube (figure 3.9). Line l1 is described by
p1 =(1, 0, 0) (3.122)
q1 =(0, 1, 1) (3.123)
p2 =(0, 1, 1) (3.124)
q2 =(−1, 0, 1) (3.125)
S CREW COORDINATES
Recall that a screw is a line in space, with an associated pitch. How can we assign
coordinates to a screw? We could represent the screw by using the six Plücker coordinates
for the line, plus a seventh number for the pitch. But recall that Plücker coordinates have
an excess of numbers. We can use this excess to encode the pitch without adding a seventh
number.
Consider a screw whose line is given by the Plücker coordinates (q, q0 ), and whose
pitch is given by the scalar p. If the pitch is finite, we define the screw coordinates to be
(s, s0 ), where
s=q (3.130)
s0 = q0 + pq (3.131)
MIT Press Math7X9/2001/03/09:12:00 Page 66
66 Chapter 3
If the pitch is infinite, we make the obvious extension and define the screw coordinates
to be
s=0 (3.132)
s0 = q (3.133)
Comparing this definition with the Plücker coordinates of a line at infinity, it appears that
an infinite-pitch screw is indistinguishable from a screw with an axis at infinity, and that
pitch is not meaningful for a screw axis at infinity.
For a screw with finite pitch and finite axis, since the two Plücker vectors are orthog-
onal (q · q0 = 0), we can recover the pitch p by taking the dot product between the two
screw coordinate vectors
s · s0 =q · q0 + pq · q (3.134)
s · s0
p= (3.135)
s·s
It is also straightforward to obtain the direction of the screw axis—it is simply s. Finally,
the point on the screw axis nearest the origin is given by
s × s0
r= (3.136)
s·s
Kinematic Representation 67
p v0
v
O
p
l
Figure 3.10
Screw coordinates for differential twists.
For a twist of infinite pitch, i.e. a translation, this definition naturally extends to
1
(s, s0 ) = (0, dq) (3.140)
|q|
68 Chapter 3
The second vector s0 is just an expression for the velocity v0 of a point at the origin of a
globally fixed frame,
so the use of screw coordinates for differential twists is close to the standard practice in
introductory physics texts. This observation has one important corollary. Screw coordinates
for differential twists form a vector space. We can add differential twist screw coordinates,
and we can multiply them by scalars.
This section develops the use of screw coordinates for a first-order model of kinematic
constraint. Chapter 5 continues the topic, developing polyhedral convex cones and a variety
of related constructs.
In the previous chapter we learned a simple graphical method (Reuleaux’s method)
to analyze kinematic constraint of a planar system. Screw coordinates give an analogous
method in three dimensions.
Our first-order model of kinematic constraint is given by
û · v p = 0 (3.146)
where û is some direction in space, p is some point of the constrained body, and v p is
the differential motion of the point p. This is a bilateral constraint; a unilateral constraint
would be represented by an inequality.
Now suppose that the differential twist of the body is given by the screw coordinates
(ω, v0 ), which are identical to the angular velocity of the body, and the velocity of a point
at the origin of a globally fixed frame. Then the velocity of the point p is given by
v p = v0 + ω × p (3.147)
MIT Press Math7X9/2001/03/09:12:00 Page 69
Kinematic Representation 69
û · (v0 + ω × p) = 0 (3.148)
û · v0 + (p × û) · ω = 0 (3.149)
Note that the contact screw (u, p × û) is a zero pitch screw, so that it is just the Plücker
coordinates of the contact normal.
Thus a bilateral kinematic constraint requires that the differential twist be reciprocal to
the contact normal. A unilateral constraint requires that the differential twist be reciprocal
or repelling to the contact normal.
The contact screw is always a zero-pitch screw. If we constrain the body twist to a
pure rotation, then it also is represented by a zero-pitch screw. In this case, the reciprocal
product vanishes only when the moment between the two axes vanish, that is, the screws
are reciprocal only when the rotation axis intersects the contact normal. This is precisely
the observation underlying Reuleaux’s graphical method for analyzing planar constraint.
E XAMPLE 1
Suppose we have placed six fingers on a cube. The fingers are arranged in two groups
of three, at opposite corners of a diagonal (figure 3.11). Although these are unilateral
MIT Press Math7X9/2001/03/09:12:00 Page 70
70 Chapter 3
s4 , s04
s5 , s05
s3 , s03
x
s6 , s06 z s2 , s02
O
s1 , s01 y
Figure 3.11
Construction for Example 1 using screw coordinates to analyze unilateral constraint.
constraints, we will consider the simpler bilateral problem. The six contact screws are
Let (t, t0 ) be a differential twist consistent with the kinematic constraints. Then the recip-
rocal product, with each of the contact screws, must be zero:
t4 +t2 =0
−t5 +t1 =0
−t6 =0
(3.159)
−t4 −t3 =0
t5 +t3 =0
t6 −t1 −t2 =0
for any scalar k. The pitch of this differential twist is zero, so again we have ordinary
Plücker coordinates. The reader will readily verify that this is the set of differential
rotations about the cube diagonal.
MIT Press Math7X9/2001/03/09:12:00 Page 71
Kinematic Representation 71
x
y
s2 , s02
s3 , s03
s1 , s01
Figure 3.12
Construction for Example 2 using screw coordinates to analyze bilateral constraints.
E XAMPLE 2
How are planar motions expressed in screw coordinates? We can obtain the answer to this
question by constructing an appropriate set of spatial constraints. We will choose three
bilateral constraints aligned with the ẑ axis (figure 3.12). The screw coordinates for the
constraints are:
t6 = 0 (3.165)
to (s2 , s02 ):
t6 − t2 = 0 (3.166)
t6 + t1 = 0 (3.167)
72 Chapter 3
giving the restriction of screw coordinates to planar motions. This is a zero-pitch screw,
corresponding to a pure rotation. The first three coordinates give the direction of the
rotation axis—it is parallel to the ẑ axis. We can apply equation 3.136 to obtain the rotation
center in the x̂-ŷ plane:
t × t0
= (−t5 t3 , t4 t3 , 0)/t32 (3.169)
t·t
As a special case, when t3 = 0, we obtain a pure translational velocity (t4 , t5 , 0).
(Korn and Korn, 1968) provided much of the material for this chapter. (Salamin, 1979) is an
excellent introduction to quaternions. (Altmann, 1989) provides some interesting historical
notes on quaternions. Some of the material on Euler angles is adapted from (Crenshaw,
1994). The material on screw coordinates originated with (Roth, 1984) and (Ohwovoriole,
1980). Exercise 3.8 arose from a reading of Kane and Levinson’s paper (1978). The matrix
exponential provides another way to represent rotations and displacements, and yields
additional insights. A good treatment is provided by (Murray et al., 1994).
Exercises
Exercise 3.1: How many degrees of freedom should be assigned to a rigid body in four
dimensions? Hint: homogeneous coordinates work in any number of dimensions.
Exercise 3.2: Show correctness of the expressions given for inverse of a transform matrix
and composition of two transform matrices.
Exercise 3.3: When matrices are written in transformed, rather than fixed, coordinates,
the matrices are composed left-to-right, instead of right-to-left. For example, if we first
rotate 30 degrees about x̂, then rotate 90 degrees about the transformed ŷ, the composite
transformation is given by
p = rot(ŷ , 90) rot(x̂, 30)p (3.170)
However, the same rotation can be written:
p = rot(x̂, 30) rot(ŷ, 90)p (3.171)
i.e. using transformed coordinates, and composing left-to-right, rather than right-to-left.
Usually this is easier, but prove that it works.
MIT Press Math7X9/2001/03/09:12:00 Page 73
Kinematic Representation 73
Exercise 3.4: A corollary to exercise 3.3 is that a sequence of rotations, about rotation
axes taken in a fixed frame, gives the same result as if we take the same sequence rotations,
reverse the order, and use the transformed frame. This might seem mind-boggling in the
abstract, but is obvious when made concrete. Build a gimbal mechanism, and try out a few
rotation sequences.
Exercise 3.5: Show that there are 24 different possible conventions for Euler angles.
Exercise 3.6: Repeat the analysis of section 3.1, using ZYX Euler angles: the three num-
bers will refer to successive rotations about ẑ, ŷ , x̂ .
Exercise 3.7: Euler angles are defined so that successive rotations are about orthogonal
axes. Is this restriction necessary?
Exercise 3.8: An interesting paradox arises with the use of gimbal coordinates to describe
spatial rotations. Suppose we have some gimbal mechanism—four links joined by revolute
joints. When the mechanism is in its “home” position, the three joints lie along the ẑ,
ŷ, and ẑ axes, respectively. Because the joints are arranged in succession, the motion of
the first joint affects the location of the second and third joint axes, and the motion of
the second joint affects the location of the third joint axis. The mechanism is a physical
implementation of ZYZ Euler angles, mapping the joint angles to the orientation of the
last link in the chain. We will refer to the three joint angles as the gimbal coordinates
g = (g1 , g2 , g3 ).
Now let A and B be two arbitrary orientations of the last link, and let g A , g B , be the
corresponding gimbal coordinates. Now, for a rotation from A to B, we will assign the
angles g AB = g B − g A . Let O be the home position, represented by gimbal coordinates
(0, 0, 0), so that g OA = g A . In effect we are representing spatial rotation by differences
of gimbal coordinates. But consider the successive rotations g OA , g AB
. You can take them
in either order, since each joint just adds the numbers up. Taken in either order, the last
link still ends up at B, and the composite rotation is g OB . Apparently this method yields a
commutative representation of spatial rotations, even though we know that rotations are not
commutative. Explain this paradox. (I would claim that gimbal coordinates are not a well-
defined representation of spatial rotations. So one solution would be to fill in the details in
that claim.)
MIT Press Math7X9/2001/03/09:12:00 Page 74
74 Chapter 3
0 1
S1 = (3.172)
1 0
0 −i
S2 = (3.173)
i 0
1 0
S3 = (3.174)
0 −1
√
where i = −1. Show that quaternions can be constructed using the two-by-two identity
matrix I2 , and the three matrices −i S1 , −i S2 , and −i S3 , as the four elements of a vector
basis.
(The Pauli spin matrices are closely related to the Cayley-Klein parameters. The
construction above maps the quaternion (q0 , q1 , q2 , q3 ) to the matrix
q0 − i q3 −q2 − i q1
(3.175)
a2 − i q1 q0 + i q3
Exercise 3.10: Compare the computational efficiency of rotation matrices versus unit
quaternions. For each method, determine the storage requirements, and the number of
floating additions and multiplies required to rotate a point, and to compose two rotations.
π
Exercise 3.11: Construct quaternions for the null rotation, for rotations of π and 2 about
each coordinate axis.
Exercise 3.12: Prove that unit quaternions q and −q give the same rotation.
Exercise 3.13: For the rotation described by the matrix below, produce the rotation axis
and angle, the unit quaternion, and the Euler angles.
−2/3 −2/3 1/3
2/3 −1/3 2/3
−1/3 2/3 2/3
MIT Press Math7X9/2001/03/09:12:00 Page 75
Kinematic Representation 75
Exercise 3.14: For the rotation described by the matrix below, produce the rotation axis
and angle, the unit quaternion, and the Euler angles.
−2/3 2/15 11/15
2/3 −1/3 2/3
1/3 14/15 2/15
Exercise 3.16: For this question you will conduct an experiment to answer the question:
What is the average angle of rotations in E3 ?
1. Write code to generate uniformly distributed unit quaternions.
2. Write code to produce the smallest rotation angle for a given quaternion, in the range
from zero to π.
3. Write code to generate a lot of unit quaternions, uniformly distributed, and take the
mean angle.
How does one produce a uniform distribution on the surface of a sphere in E4 ? One easy
way is to generate four real numbers uniformly in the interval [−1, 1]. That defines a
uniform distribution in a cube. If we discard every quadruple with magnitude greater than
1, we will have a uniform distribution in the interior of the sphere. Normalize to get a
uniform distribution on the surface of the sphere.
Exercise 3.17: Write screw coordinates for the three contact constraints of figure 2.19(b).
You can make the job easier by your choice of origin, scale, and coordinate axes.
Exercise 3.18: Consider an octahedron with vertices at (0, 0, 1), (0, 0, −1), (0, 1, 0),
(0, −1, 0), (1, 0, 0), and (−1, 0, 0). Pick two edges that are neither intersecting nor paral-
lel. Find the Plücker coordinates of each edge. Use reciprocal product and cross product to
find the distance and angle between the two edges, as in the example on page 65.
MIT Press Math7X9/2001/03/09:12:00 Page 77
4 Kinematic Manipulation
The role of path planning is most apparent when you consider a style of manipulation
we will call pick and place manipulation. To make things as simple as possible, suppose
we have a set of blocks, all the same size, each in a known start location. We assume
routines nextblock() which returns a data structure describing the next block to be
moved; start(block) which returns the initial location of block; and goal(block)
which returns the goal location of block. Pick and place manipulation is described by
the code:
FOR block = nextblock()
MOVETO start(block) ; pick block
CLOSE
MOVETO goal(block) ; place block
OPEN
78 Chapter 4
All of these problems are simple if we are just moving blocks from one isolated location
to another, without turning them over. In other tasks these problems are quite challenging.
We will mainly stick with naive assumptions, and neglect the problems of grasp
planning, stability, and compliance. Even for this very narrowly circumscribed pick-and-
place style of manipulation, and with all these assumptions, we are missing a very big
piece of the problem: path planning. How do we assure that MOVETO can go from the start
to the goal without colliding with other blocks in the scene? This question is central to
pick-and-place manipulation, and to manipulation in general.
Pick and place in practice
Before going on to the path planning problem, let’s explore the pick-and-place idea as it
occurs in manufacturing practice. First, consider the Sony SMART-Cell system introduced
in chapter 1. It illustrates some elements that are widespread in industrial manipulation:
• Each gripper is designed to grasp a specific object.
• Parts feeders are designed to orient parts and bring them to known “initial” locations.
• Products are designed so that assembly is straightforward—most assembly operations
are simple motions straight downward.
• Much of the path planning is simple: a DEPROACH moving the arm straight up to a safe
height, a MOVETO to a point above the goal, and an APPROACH downward to the goal position.
Thus, many industrial assembly operations really do resemble pick-and-place manip-
ulation. But there are also numerous exceptions to this generalization. In the Sony system,
for example, the robot moves some already-placed parts, without grasping them, in prepa-
ration for placing the next part. The robot also uses an elaborate sequence of motions to
thread a drive belt over a number of spindles.
Perhaps the main point to observe about industrial manipulation is that they have not
eliminated the problems of grasp planning, motion planning, assembly planning, and so on.
Rather, they have moved these planning problems off-line. For example, the parts feeding
system cannot assume a known initial position for an object. It has to use a variety of
mechanical tricks, sometimes augmented by sensing, to move the object to its “initial”
position. Similarly, the assembly planning problem is transformed from: “What motion
will correctly assemble these two given parts?” to the dual design-for-assembly problem:
“What part design will be correctly assembled by a vertical motion?” The principles
underlying these two problems are the same, and in particular, the mechanics of assembly
are fundamental to both problems. Thus, later chapters will address the mechanics of
assembly in detail. For the present, however, we return to the issue of path planning.
MIT Press Math7X9/2001/03/09:12:00 Page 79
Kinematic Manipulation 79
qgoal
qinit
Figure 4.1
Visibility graph for a point robot with polygonal obstacles.
The first important concept in path planning is the configuration space transform. Recall
that the configuration space is the space of configurations q for a given system. For exam-
ple, if the system is a planar rigid object, the configuration space would be SE(2). Now,
given fixed obstacles of known shape and location, we classify each point in configuration
space as either collides if there is a collision, or free if there is not. The set of configurations
labeled collides is the configuration space obstacle, or C-space obstacle.
Now any motion of the system corresponds to a curve q(t) in configuration space, so
finding a collision-free motion means finding a curve q(t) that avoids the C-space obstacle.
Thus we say that the configuration space transform reduces motion planning problems to
the problem of finding a path for a single point in configuration space.
We illustrate the idea with some examples, then address the problem of path planning.
80 Chapter 4
qgoal
qinit
Figure 4.2
Configuration-space transform for a round planar robot.
A
B qgoal
qinit C O A (B)
Figure 4.3
Configuration-space transform for a planar translating triangle.
Kinematic Manipulation 81
collision ↔ ∃a∈A,b∈B a + q = b
where “” is sometimes called Minkowski difference. When the robot A and obstacle B
are both convex obstacles, you can construct C O A (B) by starting with just the vertices of
A and B, then taking the convex hull. (The convex hull of a set of points is just the smallest
convex set containing the points. In the plane, it can be visualized as stretching a rubber
band around all the points. In three-space it can be visualized as wrapping all the points up
tightly in paper.) In other words
82 Chapter 4
C O A (B)
y
θ
x
y
Figure 4.4
Configuration-space transform for a translating and rotating triangle.
150
100
4 l2 θ2 50
θ2 0
2
l1 -50
3
θ1 -100
1 -150
θ1
Figure 4.5
Configuration-space transform for a two link planar arm.
Kinematic Manipulation 83
but I have flattened it (figure 4.5). The C-space obstacles were approximated by taking a
discrete sampling of θ2 .
procedure BFP
open ← {qinit }
mark qinit visited
while open = {}
q ← best( open )
if q = qgoal return( success )
for n ∈ neighbors( q )
if n unvisited and not a collision
insert( n, open )
mark n visited
return( failure )
The main data structure is a priority queue open which efficiently produces the best
node it has been given, that is, the node with the lowest potential. Not shown in this code
is the bookkeeping necessary to remember how the search arrived at the goal, and thereby
return the desired path.
Note that BFP doesn’t actually compute any configuration-space obstacles. It only
needs to determine whether a given configuration is a collision, and to compute its
MIT Press Math7X9/2001/03/09:12:00 Page 84
84 Chapter 4
qinit qgoal
Figure 4.6
Using a potential field to guide search.
potential. The potential field includes a penalty for being close to an obstacle, which is
approximated by calculating the proximity to obstacles of a few representative points on
the system. We use the configuration-space idea while avoiding the daunting challenges of
explicitly constructing a representation of the free configuration space.
A simple example is shown in figure 4.6. The search proceeds straight down the
potential field until it hits the goal if we are lucky. If we hit a local minimum first, then
the search has to visit all the nodes in the potential well before continuing.
A caveat: there is no planner yet devised that works well for all problems. I have chosen
BFP because it illustrates the principles, and it has proven useful for some problems.
However, when applying it to a new problem, you should be prepared to adapt it or discard
it for some alternative approach.
The configuration space transform of the previous section can be applied to any holonomic
system, at least in principle, simply by using the right configuration space. Even a con-
strained system may be addressed if it is holonomic, by working in the leaf of the foliation
of configuration space.
For nonholonomic systems we have to work a little harder. We have to use actions
that satisfy the velocity constraints, selected from a set of actions that generally violate
the constraints. This section addresses path planning for such systems. The main example
MIT Press Math7X9/2001/03/09:12:00 Page 85
Kinematic Manipulation 85
will be the unicycle introduced in section 2.5. Later (section 7.3) we will also apply the
techniques to a pushing problem.
In theory, there is a cute trick that avoids the complications of nonholonomic systems.
First, compute the involutive closure of the system. That defines a holonomic system
for which we can plan a path using, for instance, our best-first planner of the previous
section. Now the resulting path will not be consistent with the constraints, but our robot
can follow the path approximately using Lie bracket motions, assuming that the constraints
are Pfaffian. Thus, for example, we can plan a path for an automobile as if it were a free-
flying robot, and then approximate this path using lots of tiny parallel-parking maneuvers.
Clearly, we need a more practical approach. Here we apply a method similar in spirit
to BFP, and which was also developed by Barraquand and Latombe. Again it is forward-
chaining best first search, but we use a discretized space of actions to generate the graph to
search. As we search, we prune collisions. We also prune nodes that are close to previously
generated nodes. That is accomplished by keeping a grid in configuration space, and
marking the grid node closest to each configuration we generate. We will call the procedure
NHP for NonHolonomic Planner. The parameter δt is some suitably small increment of
time. The routine grid( q ) returns the closest grid node to q. The parameter actions is
a finite set of actions. The routine int( q, a, δt ) integrates the system forward from q
using action a for time δt and returns the resulting configuration.
procedure NHP
open ← {qinit }
mark grid( qinit ) visited
while open = {}
q ← best( open )
if q ≈ qgoal return( success )
for a ∈ actions
n ← int( q, a, δt )
if n not a collision and grid( n ) not visited
insert( n, open )
mark grid( n ) visited
return( failure )
Several choices remain open. The discrete set actions must be chosen so that we do
not unduly restrict the possible motions of the system. However, the number of actions
must be kept small, because the running time is exponential in the number of actions.
In the case of the unicycle, actions might include forward and reverse rolling, and left
and right turning. That excludes motions that combine simultaneous rolling and turning,
which may or may not seem acceptable. Another open choice is the cost function that
MIT Press Math7X9/2001/03/09:12:00 Page 86
86 Chapter 4
Figure 4.7
An object held by three pointy fingers, and a kinematic model of the grasp.
determines which node is best. We might choose a cost function corresponding to the
length of the best path found to that node, and include a penalty for each switch of actions.
For the unicycle, that choice would tend to give short and smooth paths, avoiding paths
with frequent alternation between rolling and turning.
Allow me to repeat the caveat from the previous section: there is no planner yet devised
that works well for all problems. I have chosen NHP because it illustrates the principles,
and it has proven useful for some problems. However, when applying it to a new problem,
you should expect to adapt it or discard it for some alternative approach.
A recurring theme in robotic manipulation is how to model contact between fingers and
objects. In some cases a very simple kinematic approach can be taken—we can model the
contact as a joint in a kinematic linkage. For example, if we model point finger contacts as
spherical joints, then the grasp of figure 4.7 might be modeled as a spatial linkage with nine
revolute joints and three spherical joints. As long as the fingers do not slip or break contact
altogether, we can analyze the task using the tools of kinematic mechanisms, Grübler’s
formula in particular.
What is the nature of the joint formed where a finger makes contact with an object? It
depends on the shape, stiffness, and frictional characteristics of the finger and the object.
In general the interaction between finger and task is quite complex, but simple cases can
be modeled using a taxonomy developed by Salisbury (figure 4.8).
MIT Press Math7X9/2001/03/09:12:00 Page 87
Kinematic Manipulation 87
Figure 4.8
Salisbury’s table of contact types.
88 Chapter 4
“point contact with friction” then for each of three finger contacts we have three freedoms.
We also have nine finger joints, each with one freedom. There are two loops. Grübler’s
formula gives a mobility of six. While that is promising, the mobility of the entire system
does not really tell us everything we need to know. Salisbury suggests four measures:
We then accept a design with C = 6 and C ≤ 0. When the finger joints are free, we want
connectivity of six so that the object can make general motions. When the finger joints
are locked, we want connectivity of zero so that the hand can immobilize the object. The
example of figure 4.7 satisfies these criteria with C = 6 and C = 0.
For path planning the primary reference is Latombe’s text (1991). The configuration
space transform originated with (Lozano-Pérez and Wesley, 1979). Potential fields were
introduced by (Khatib, 1980, 1986). The best-first planner appears in (Barraquand and
Latombe, 1991). The nonholonomic planner appears in (Barraquand and Latombe, 1993).
The application of nonlinear geometric control theory to nonholonomic robotic systems
originated with (Li and Canny, 1990).
The material on kinematic models of grasp and number synthesis of grasp are taken
from Salisbury’s PhD thesis (1982; 1985). Since Salisbury’s seminal work, interest in ma-
nipulation in the hand (frequently called “dexterous manipulation”) has grown enormously.
Rolling contact between fingers and object was analyzed by Montana (1988) and forms the
basis for work on planning the motions of fingers. See Murray, Li, and Sastry’s text (1994)
for an introduction and (Okamura, Smaby, and Cutkosky, 2000) for a survey. There have
also been numerous advances in the modeling of contact; see (Bicchi and Kumar, 2000)
for a survey.
Exercises
Exercise 4.1: Let A be a mobile unit-edge square robot which can translate but not rotate
in the plane (figure 4.9). Let B be a unit-edge equilateral triangle obstacle. Use the simple
procedure suggested by equation 4.4 to construct C O A (B):
MIT Press Math7X9/2001/03/09:12:00 Page 89
Kinematic Manipulation 89
A B
Figure 4.9
For exercise 4.1.
Exercise 4.2: Use the same procedure as exercise 4.1 to construct the C-space obstacle for
figure 4.10. The robot is a unit-edge equilateral triangle, which can translate but not rotate
in the plane.
Exercise 4.3: We can adapt the procedure of exercise 4.1 for concave polygonal obstacles
as follows: we divide the concave object into convex polygons. We construct C-space
obstacles for each convex sub-obstacle. The union gives the total C-space obstacle. Use
this method to construct the C-space obstacle of figure 4.11. Here the robot is a unit-edge
equilateral triangle that can translate but not rotate in the plane.
MIT Press Math7X9/2001/03/09:12:00 Page 90
90 Chapter 4
A B
Figure 4.10
For exercise 4.2.
Exercise 4.4: Consider the C-space obstacle of figure 4.4. Each surface facet corresponds
to a vertex-edge pair or an edge-vertex pair, that is, either a vertex of A and an edge of B;
or an edge of A and a vertex of B. Pick a vertex-edge type surface visible on the C-space
obstacle in the figure, and identify the corresponding features on A and B. Do the same for
an edge-vertex type surface.
Exercise 4.5: Label the C-space obstacles of figure 4.5 with the number of the correspond-
ing actual obstacle.
Exercise 4.6: How many connected components does the free space have in figure 4.5?
Remember that the true topology of this C-space is a torus, obtained by gluing the top edge
to the bottom edge, and gluing the left edge to the right edge.
Exercise 4.7: Although the best-first planner BFP can escape from potential wells, it still
does not generate optimal plans. Design a path-planning problem for which BFP produces
an absurdly long path.
MIT Press Math7X9/2001/03/09:12:00 Page 91
Kinematic Manipulation 91
A B
Figure 4.11
For exercise 4.3.
Exercise 4.8: How would you apply the nonholonomic planner NHP to the refrigerator
walking problem of exercise 2.4? What finite set of actions would you choose? What value
of δt? What resolution of the configuration-space grid? What cost function?
Exercise 4.9: Implement NHP and try it out on the refrigerator walking problem.
Exercise 4.10: For each of Salisbury’s criteria, design a spatial grasp that fails to meet the
criterion, i.e. such that C < 6 or C > 0.
Exercise 4.11: Calculate C and C for the grasp of figure 4.7 using contacts of type “point
contact without friction”.
Exercise 4.12: Calculate C and C for the grasp of figure 4.7 using contacts of type “soft
finger”.
MIT Press Math7X9/2001/03/09:12:00 Page 92
92 Chapter 4
Exercise 4.13: Construct a taxonomy of contact types for planar grasps, similar to that of
figure 4.8.
Exercise 4.14: Design a planar hand and grasp that meets Salisbury’s criteria, achieving
connectivities C = 3 and C ≤ 0. Design one that fails to meet the first criterion C = 3.
Design one that fails to meet the second criterion C ≤ 0. In each case don’t forget to state
which model of contact you assume.
MIT Press Math7X9/2001/03/09:12:00 Page 93
This section addresses the problem of how to characterize forces acting on a rigid body. To
begin, we adopt axioms that apply to static forces acting on particles. We hypothesize:
Now we define the moment of force about a line, or torque about a line. Let l be some
line with direction l̂, passing through the origin. Suppose a force f acts at x. Then the
moment of f about l is defined to be
nl = l̂ · (x × f) (5.1)
n O = (x − O) × f (5.2)
n=x×f (5.3)
If n gives the moment about the origin, and n l gives the moment about the line l through
the origin, then note that
n l = l̂ · n (5.4)
Now suppose we have a rigid body. Forces acting on the rigid body can be divided
into two classes: internal forces are those forces acting between particles of the body; and
external forces are those forces acting from outside the body. We define the total force F
acting on the body to be the sum of all the external forces, and the total moment (or total
MIT Press Math7X9/2001/03/09:12:00 Page 94
94 Chapter 5
f
x1
f
x2
N line of action
Figure 5.1
A force may be applied at any point on its line of action without changing its effect on a rigid body.
torque) N to be the sum of all the corresponding moments about the origin:
F= fi (5.5)
N= x i × fi (5.6)
It is a consequence of Newton’s laws that the effect of any system of forces, acting on a
single rigid body, is completely determined by the total force F and the total moment N.
(This point is considered in greater detail in chapter 8.) Any two systems of forces giving
identical F, N, are said to be equivalent. If there is a single force with the same F, N, it is
called the resultant.
Line of action. When a force is applied to a particle in three dimensions, that force is
completely characterized as a three-dimensional vector. But when a force is applied to a
rigid body, we have to consider at which point the force is applied. Consider a force f
applied at some point x. The total force F is just the given force: F = f But the total
moment N depends on the point of application: N = x × f. However, N is not changed
if the force is moved along the line in which it lies—its line of action. In other words, if
(x2 − x1 ) f, then it does not matter whether the force is applied at x1 or at x2 . Since
f can vary freely along a line, it is sometimes called a line vector. Vectors that are fixed
at a single point are sometimes called bound vectors, and ordinary vectors are called free
vectors when it is necessary to distinguish them.
Resultant of two forces on intersecting lines of action. Suppose two forces f1 and f2 ,
acting on L 1 and L 2 respectively, are applied to some rigid body. If the lines of action
intersect, then it is simple to construct the resultant—the single force equivalent to the
original system of two forces. We can slide both f1 and f2 along their respective lines of
action to the intersection. Now we have two forces acting at a common point. The resultant
force is the vector sum f1 + f2 , acting at the intersection.
MIT Press Math7X9/2001/03/09:12:00 Page 95
L1
f1
f1 + f2
f2
L2
Figure 5.2
The resultant of two forces with intersecting lines of action.
Change of reference. Suppose some system of forces yields a total force and moment
F Q , N Q , taken with respect to the point Q. What are the force and moment F R , N R , for
a different reference point R? Write the total force and total moment for each choice of
reference point:
FR = fi (5.7)
FQ = fi (5.8)
NR = (xi − R) × fi (5.9)
NQ = (xi − Q) × fi (5.10)
FR = FQ (5.11)
and
NR − NQ = (Q − R) × fi (5.12)
which gives
N R = N Q + (Q − R) × F (5.13)
D EFINITION 5.1: A couple is a system of forces whose total force F = fi is zero.
Notice that the moment N of a couple is independent of reference point.
For an arbitrary couple it is trivial to construct an equivalent system of just two forces,
which might explain the origin of the name. However, there is no equivalent system of just
one force. That is, a couple of non-zero torque does not have a resultant. That means that
not every system of forces can be characterized by a resultant.
MIT Press Math7X9/2001/03/09:12:00 Page 96
96 Chapter 5
Figure 5.3
Construction for proof of theorem 5.2.
T HEOREM 5.1: For any reference point Q, any system of forces is equivalent to a single
force through Q, plus a couple.
Proof Let F be the total force, let N Q be the total moment at Q. If we apply a single force
F at Q, and construct a couple with moment N Q , then the total force and moment will be
F and N Q , as required.
T HEOREM 5.2: Every system of forces is equivalent to a system of just two forces.
Proof It was remarked earlier that for any couple there is an equivalent system of two
forces, and that couples can be moved rigidly without affecting their force or torque. So,
take the construction of figure 5.3, using only two forces in the construction of the couple.
We now have three forces: two to construct the couple, and one passing through Q. Move
the couple so that one of its two forces passes through Q. Then replace the two forces at
Q with their vector sum. Thus the three forces have been reduced to two.
T HEOREM 5.3: A system consisting of a single non-zero force plus a couple in the same
plane, i.e. a torque vector perpendicular to the force, has a resultant.
MIT Press Math7X9/2001/03/09:12:00 Page 97
−F N /F
Figure 5.4
Construction for proof of theorem 5.3.
Proof Let F be the force, acting at P. Let N be the moment of the couple. Construct an
equivalent couple as in figure 5.4 and translate it so that −F is applied at P. This will
cancel the original F, leaving one resultant force.
Proof Let F and N be the force and moment, respectively, of a given system of forces.
Decompose the moment into two components: N parallel to F, and N⊥ perpendicular to
F. By theorem 5.3 we can replace F and N⊥ by a single force F parallel to F. Now we
construct a couple with moment N to obtain the desired result: a force and a couple with
moment parallel to the force.
Poinsot’s theorem is analogous to Chasles’s theorem (theorem 2.7). And, like Chasles’s
theorem, it can be phrased in terms of screws. First we define a wrench.
D EFINITION 5.2: A wrench is a screw plus a scalar magnitude, giving a force along
the screw axis plus a moment about the screw axis. The force magnitude is the wrench
magnitude, and the moment is the twist magnitude times the pitch. Thus the pitch is the
ratio of moment to force.
Using the language of screws, Poinsot’s theorem is succinctly stated: every system of
rigid body forces reduces to a wrench along some screw.
We can also extend screw coordinates to include wrenches. Let f be the magnitude
of the force acting along a line l, and let n be the magnitude of the moment about l. The
magnitude of the twist is the magnitude of the force f . Starting from the definition of
screw coordinates based on Plücker coordinates, we can write the screw coordinates of the
wrench
w = fq (5.14)
w0 = f q0 + f pq (5.15)
MIT Press Math7X9/2001/03/09:12:00 Page 98
98 Chapter 5
where (q, q0 ) are the normalized Plücker coordinates of the wrench axis l, and p is the
pitch, which is defined to be
p = n/ f (5.16)
q0 = r × q (5.17)
Then by substituting equations 5.16 and 5.17 into equations 5.14 and 5.15 we can write
w=f (5.18)
w0 = r × f + n (5.19)
w=f (5.20)
w0 = n0 (5.21)
where n0 is just the moment of force at the origin. Thus we find that screw coordinates of
a wrench are actually a familiar representation (f, n0 ). This yields a vector space, so that
we can scale wrenches or add wrenches, just as with differential twists. For a wrench in
the x-y plane, the f z , n 0x , and n 0y terms are all zero, so planar wrenches can be written
( f x , f y , 0, 0, 0, n Oz ), or more simply as ( f x , f y , n).
The reciprocal product of a differential twist and a wrench is meaningful and useful.
Using screw coordinates:
which is the power produced by the wrench (f, n0 ) and differential twist (ω, v0 ). Thus we
can immediately observe that a differential twist is reciprocal to a wrench if and only if no
power would be produced. In section 3.3, we developed a first order analysis of kinematic
constraint using the reciprocal product between a velocity twist and a constraint screw. In
section 5.3, we will use reciprocal product between a velocity twist and a wrench instead,
but the result is the same.
Undoubtedly, the reader has observed that some conventions for wrench coordinates
seem to be reversed from the conventions taken for twist coordinates. In particular, pitch
p = n/ f has the angular component over the linear component, and the screw coordinates
(f, n0 ) have the linear component before the angular component. Both of these are the
reverse of the conventions for twist coordinates. This is not a peculiarity of our conventions;
it reflects a deeper fact that is fundamental to the dual relationship of motion and force. For
example, in comparing Chasles’s and Poinsot’s theorems, we find that an axis of rotation is
MIT Press Math7X9/2001/03/09:12:00 Page 99
analogous to a line of force. Let us summarize some points of comparison between motion
and force:
Motion Force
A zero-pitch twist is a pure rotation. A zero-pitch wrench is a pure force.
For a pure translation, the direction For a pure moment, the direction of
of the axis is determined, but the the axis is determined, but the loca-
location is not. tion is not.
A differential translation is equiva- A moment of force is equivalent to
lent to a rotation about an axis at in- a force along a line at infinity.
finity.
In the plane, any motion can be In the plane, any system of forces
described as a rotation about some reduces to a single force, possibly at
point, possibly at infinity. infinity.
Polyhedral convex cones occur naturally when describing the sets of wrenches and twists
that characterize rigid body contact. This section develops the essential properties of cones
in the n-dimensional vector space Rn . The results can be applied to wrench space or
velocity twist space.
Let v be any non-zero vector in Rn . Then the set of vectors
{kv | k ≥ 0} (5.23)
describes a ray of Rn (figure 5.5a). Similarly, if v1 and v2 are two non-zero and non-parallel
vectors in Rn , then the set of vectors
{k1 v1 + k2 v2 | k1 , k2 ≥ 0} (5.24)
describes a planar cone (figure 5.5c). We can generalize to an arbitrary number of vectors
by defining the positive linear span of a set of vectors {vi }:
pos({vi }) = { ki vi | ki ≥ 0} (5.25)
We will take the positive linear span of the empty set to be just the origin. Contrast the
positive linear span with two related constructs: the linear span
lin({vi }) = { ki vi | ki ∈ R} (5.26)
MIT Press Math7X9/2001/03/09:12:00 Page 100
100 Chapter 5
1 edge
a. ray
2 edges
b. line c. planar cone
3 edges
d. solid cone e. half plane f. plane
4 edges
g. wedge h. half space i. whole space
Figure 5.5
Polyhedral convex cones.
conv({vi }) = { ki vi | ki ≥ 0, ki = 1} (5.27)
By taking positive linear spans it is possible to construct rays, lines, half-planes, and
so on (figure 5.5). Any set of vectors constructed in this fashion is a polyhedral convex
cone. Of particular interest is the case where the positive linear span is the entire space:
pos({vi }) = Rn . We offer two theorems without proof.
MIT Press Math7X9/2001/03/09:12:00 Page 101
T HEOREM 5.5: A set of vectors {vi } positively spans the entire space Rn if and only if
the origin is in the interior of the convex hull:
Thus in R3 , it takes at least 4 vectors to positively span the space, which should be
evident from studying figure 5.5.
half(n) = {v | n · v ≥ 0} (5.29)
(Here we use dot product, but when working with twists and wrenches we will use
reciprocal product.)
Then we can represent a polyhedral convex cone as the intersection of half-spaces:
∩{half(ni )} (5.30)
There is one last definition of interest. Suppose we are given a cone’s face normals,
but we treat them as edges and take their positive linear span. Or, suppose we are given the
edges and treat them as normals. Then we will get a different cone, called the supplemen-
tary cone (figure 5.6).
102 Chapter 5
Figure 5.6
Supplementary cones.
Figure 5.7
Analysis of contact is sometimes problematic when a unique contact normal does not exist.
Polyhedral convex cones are useful for reasoning about frictionless contact on rigid bodies.
For the present we will consider a single frictionless contact with a unique contact normal
(figure 5.7), and we will assume that a frictionless contact can apply a force of arbitrary
non-negative magnitude along the inward-pointing contact normal.
MIT Press Math7X9/2001/03/09:12:00 Page 103
kw, k ≥ 0 (5.33)
In other words, the wrench must be in the ray given by the positive linear span pos(w).
Now suppose we have two frictionless contacts w1 and w2 . The total wrench acting on
the object is obtained by summing the contributions from w1 and w2 :
k 1 w1 + k 2 w2 ; k 1 , k 2 ≥ 0 (5.34)
so that the set of all possible wrenches due to two frictionless contacts would be given by
the positive linear span pos({w1 , w2 }).
Generalizing to an arbitrary number of contacts, it follows immediately from our
assumptions on frictionless contact that:
T HEOREM 5.7: If a set of frictionless contacts on a rigid body is described by the contact
normals wi = (ci , c0i ) then the set of all possible wrenches is given by the positive linear
span pos({wi }).
Thus we see that every set of frictionless contacts on a rigid body corresponds to a
polyhedral convex cone in wrench space. Some important results follow immediately. First
a definition:
D EFINITION 5.4: Force closure means that the set of possible wrenches exhausts all of
wrench space.
104 Chapter 5
w3
nz
y
w1
fx fy
x
w2
w4
Figure 5.8
The origin of wrench space is in the interior of the convex hull of the four wrenches, so the grasp is force closure.
( f1x , f 1y , τ1 ) = (0, 1, 1). The other contacts are handled in similar fashion, yielding:
0
w1 = 1 (5.35)
1
−1
w2 = 0 (5.36)
−1
0
w3 = −1 (5.37)
1
1
w4 = 0 (5.38)
−1
If we plot these four wrenches in wrench space, we note that their configuration determines
a tetrahedron with the origin in the middle. By theorem 5.5 the grasp is force closure.
But a velocity twist in screw coordinates has the form t = (ω, v0 ), which can treated as
a vector. Positive linear span and polyhedral convex cones are applicable in velocity twist
space.
Let {wi } be a set of contact normals. Let W be the corresponding set of possible
contact wrenches, W = pos({wi }). Recall our first-order kinematic analysis of kinematic
constraint: any feasible velocity twist must be reciprocal or repelling to the contact screws.
(See section 3.3.) Let T be the set of feasible (to first order) velocity twists. For every t in
T , for every contact screw wi , t ∗ wi ≥ 0. Each contact screw determines a half-space in
velocity twist space, and T is the intersection of the half-spaces:
T = {half(wi )} (5.39)
showing that T is a polyhedral convex cone in twist space. Using the language of cones,
we can say it succinctly: the cone of reciprocal or repelling twists is supplementary to the
cone of contact wrenches.
As an example, consider Example 1 of section 3.3, where a cube is constrained by six
contact screws. The feasible velocity twists (to first order) are of the form
The previous section developed polyhedral convex cones as a fundamental technique for
analyzing a variety of manipulation problems. For spatial problems, the polyhedral convex
cones live in the six-dimensional space of wrenches or differential twists. For planar
problems, the polyhedral convex cones live in a three-dimensional space of wrenches or
differential twists.
But consider Reuleaux’s method for analyzing constraint (section 2.5). It represents
polyhedral convex cones in differential twist space, and it requires only two dimensions, not
three. It represents a differential twist by the corresponding rotation center, labeled either
⊕ or . The technique of labeling points in the plane is the key to Reuleaux’s method.
The space of labeled planar points is called the oriented plane. This section provides a
formal definition of the oriented plane, and applies it to represent polyhedral convex cones.
Following sections will apply the idea to obtain specific techniques for analyzing planar
wrenches and differential twists for planar problems.
We define the oriented plane by using a variation on homogeneous coordinates:
MIT Press Math7X9/2001/03/09:12:00 Page 106
106 Chapter 5
positive and
negative planes
w
superimposed
y
x
line at infinity
Figure 5.9
The oriented plane.
D EFINITION 5.5: Consider all homogeneous coordinate triples (x, y, w) with x, y, and
w all real numbers, and not all simultaneously zero. Each such triple determines a directed
line through the origin. A point in the oriented plane is a ray of triples:
all of which give the same directed line. We distinguish three cases:
w > 0 : For positive w, the ray (kx, ky, kw), k > 0, maps to a point in the Euclidean
plane with Euclidean coordinates (x/w, y/w) and with a ⊕ label. Equivalently, we say it
maps to the positive plane with coordinates (x/w, y/w).
w < 0 : For negative w, the ray (kx, ky, kw), k > 0, maps to a point in the Euclidean
plane with Euclidean coordinates (x/w, y/w) and with a label. Equivalently, we say it
maps to the negative plane with coordinates (x/w, y/w).
w = 0 : For zero w, the ray (kx, ky, kw) is an ideal point. It maps to neither the positive
nor the negative plane, but to the ideal line, or line at infinity. For a graphical representation,
we can map an ideal point to a point on the unit circle (x, y)/|(x, y)|.
The oriented plane is best understood by the central projections illustrated in figure 5.9.
(See the appendix for more on central projection and related material on projective ge-
ometry.) If we superimpose the positive and negative planes at w = 1 in homogeneous
coordinate space, then we obtain the correct mapping by intersection. An upward pointing
MIT Press Math7X9/2001/03/09:12:00 Page 107
(w > 0) directed line intersects the positive plane at a point labeled ⊕. A downward point-
ing (w < 0) directed line intersects the negative plane at a point labeled . A horizontal
(w = 0) directed line intersects neither plane, and is thus an ideal point, or a point at
infinity, represented by intersection with the equator.
Thus we envision the oriented plane as two planes plus a circle. The circle is the glue
between the two planes. The planes are connected in such a way that a point moving to
infinity in one direction, say the +x axis of the positive plane, reappears from the opposite
direction, the −x axis of the negative plane. This is readily observed by using the projection
of figure 5.9, and letting some ray in homogeneous coordinate space cross the equator.
Just as the projective plane can be regarded as the set of lines through the origin of E3 ,
the oriented plane can be regarded as the set of directed lines through the origin of E3 . And,
just as the projective plane can be regarded as the sphere S(2) with antipodes identified,
the oriented plane can be regarded as the sphere S(2) with antipodes not identified—just a
plain sphere. The northern hemisphere is the positive plane, the southern hemisphere is the
negative plane, and the equator is again the ideal line.
• If the two points are antipodes, that is they have the same coordinates in the plane but
opposite signs, the convex hull is just the two points.
• If the two points have the same sign, construct the line segment joining them and give it
the same sign as the two points.
• If the two points have opposite sign, construct the line through the two points. The two
points divide the line into three parts:
MIT Press Math7X9/2001/03/09:12:00 Page 108
108 Chapter 5
Figure 5.10
Line segments on the oriented plane.
There are other cases to deal with, involving points at infinity, but it is actually easier to
figure out the rules than it is to remember them, or to write them down.
How do we know these rules are right? By carrying out the corresponding operations
on the sphere, and examining the projection onto the oriented plane. Given two unique
points in the oriented plane, construct the corresponding rays in homogeneous coordinate
MIT Press Math7X9/2001/03/09:12:00 Page 109
space, take the convex hull of the rays, giving a planar cone or a line, then project the
results back to the oriented plane. For example, the rule for antipodal points follows easily
from observing that the convex hull of anti-parallel rays is just a line, which projects back
to the original points.
Using convex hull of points, we can construct convex polygons in the oriented plane.
There are some interesting departures from plane geometry. We have already noted that a
set of two antipodal points is convex. Another interesting case is the figure with two edges
and two vertices (or is it four?) but nonempty interior. See exercise 5.2 for its construction
using convex hull in the oriented plane, and compare it with the central projection of
figure 5.5g.
Now for the key observation. The mapping from convex polygons in the oriented plane
to polyhedral convex cones in R3 is one to one. The mapping is just the central projection
we used in figure 5.9. Thus the oriented plane is a very practical tool for representing
polyhedral convex cones in R3 . The rest of this chapter explores variations of this approach.
First we will see that Reuleaux’s method and the line of force are both instances of this
technique. Then we develop new methods: force-dual and moment-labeling.
Polyhedral convex cones and the oriented plane gives us the two tools we need for graphical
solution of a variety of problems. This section shows that Reuleaux’s method can be
interpreted as using the oriented plane to represent polyhedral convex cones of planar
velocity twists. Suppose we have a planar velocity twist (vx , v y , ω). The instantaneous
velocity center is the point with coordinates (−v y /ω, vx /ω). The rotation center label, “⊕”
or “”, is just the sign of ω. With a rotation of the x-y coordinate axes, this transformation
is the same central projection we used to get from R3 to the oriented plane.
Thus two familiar graphical techniques are revealed to be applications of the oriented
plane and polyhedral convex cones:
A rotation center represents a ray in planar differential twist space by projecting it
to the oriented plane.
Reuleaux’s labeled regions represent polyhedral convex cones in planar differential
twist space by projecting them to the oriented plane.
We can now interpret each step of Reuleaux’s method as follows. (1) For each contact
normal we label rotation center half-planes plus and minus. That is, for each contact
normal we take the half-space of reciprocal or repelling differential twists. (2) We retain
all consistently labeled points. That is, we intersect all the half-spaces to obtain the cone
of differential twists.
MIT Press Math7X9/2001/03/09:12:00 Page 110
110 Chapter 5
Figure 5.11
Possible resultants of two frictionless contacts.
The previous section showed that two familiar techniques are actually applications of the
oriented plane and polyhedral convex cones. This section shows that the line of force is
likewise an application of the oriented plane and polyhedral convex cones. This section
also introduces a new method called moment labeling.
What exactly is a line of force or line of action, first introduced in section 5.1? Given
some planar wrench ( f x , f y , n), we could say that it is the locus of all points at which the
moment is zero. But that only gives us a line, not a directed line.
Let’s give the line a direction by labeling all the points in the plane either “⊕”, “”, or
“±”, depending on the sign of the moment observed at that point. Every point to the right
of the line is labeled “”, every point to the left is labeled “⊕”, and every point on the line
is labeled “±”.
This labeling adds exactly one bit of information to the line. The line bisects the plane.
The choice of which half of the plane to label “⊕” and which to label “” determines
which direction the line points. This labeling of the plane is just a strange way to draw a
directed line: instead of drawing a line with an arrow, draw a line and put a ⊕ on the left
and a on the right.
If moment labeling was only a strange way to draw a line of force it would not be
worth considering. The power of moment labeling becomes evident when we approach
more interesting problems. We begin with a problem too simple to require special methods.
Suppose we are given a triangle resting on two frictionless support points (figure 5.11).
Each support exerts a force normal to the triangle edge. The force can be of arbitrary
magnitude, except that it must be directed into the triangle. The question is: what are the
possible resultants of the two support forces? In this case there is a simple answer. Slide
each support force along its line of action, so that each force acts through the intersection.
The resultant force must act through the same point. Now construct the locus of resultant
MIT Press Math7X9/2001/03/09:12:00 Page 111
Figure 5.12
Constructing the possible resultants is harder when normals do not have common intersection.
Figure 5.13
Moment labeling adapts Reuleaux’s method to represent the possible resultants of planar contacts.
forces, as we vary the magnitudes of the two support forces. The resultant force sweeps
out a cone defined by the two lines of action. This cone gives a succinct description of the
set of possible resultant forces. Given this construction it is a simple matter to determine
the equilibrium position of the triangle under the influence of gravity, and to calculate the
contributions of the component support forces.
Now consider two harder problems (figure 5.12). In one case, the two lines of action
are parallel. We might be able to apply the simple approach, but it is difficult because the
lines of action intersect at infinity. In the other case, there is no hope—the three lines of
action do not have a common intersection.
Moment labeling gives a surprisingly simple solution:
1. Use the moment labeling to draw each line of force. (I.e. draw each line of force the
strange way—with a ⊕ on the left and a on the right.)
2. Keep all consistently labeled points.
112 Chapter 5
no yes
yes
yes
yes no
no no
a) b)
Figure 5.14
How to interpret the moment labeling as a set of possible resultants. In (a) the resultant must be parallel to the
shaded strip, directed upward if to the left and downward if to the right. In (b) the resultant must pass the shaded
triangle on the left.
This section introduces one more graphical method for representing cones of wrenches:
force dual.
Recall that Reuleaux’s method represents a cone of twists by central projection to the
oriented plane. Moment-labeling represents a cone of wrenches by central projection of
the supplementary cone to the oriented plane. Why don’t we consider the seemingly more
straightforward method, and project the cone of wrenches directly to the oriented plane
without taking the supplementary cone? That is the force dual method.
Force-dual represents a polyhedral convex cone in planar wrench space by central
projection to the oriented plane.
MIT Press Math7X9/2001/03/09:12:00 Page 113
d
l 1 d
O
Figure 5.15
Constructing the dual of a line to obtain a point.
l O P l
Figure 5.16
Applying the dual transform to a point to obtain a line.
We can develop the force dual method by defining a transformation from a planar
wrench to the oriented plane:
fx
f y
→ − f y /n z (5.42)
f x /n z
nz
where the sign of the point is just the sign of the moment n z . If the moment is zero, we
have an ideal point. Thus, as with instantaneous centers, we have a transformation that is
just a coordinate rotation away from the projection of figure 5.9.
This transformation has a simple geometrical rendering. Given a force acting along
some line, construct the perpendicular to the line, through the origin. The point lies on the
perpendicular, on the opposite side of the origin. Its distance from the origin is equal to the
inverse distance of the original force to the origin. The third component, the sign, is just
the sign of the moment.
MIT Press Math7X9/2001/03/09:12:00 Page 114
114 Chapter 5
Figure 5.17
Two examples of the force dual method. Two contacts map to a line segment in the oriented plane; three contacts
map to a triangle in the oriented plane.
• P is a directed line
• P = P
Hence the transformation is dual, which is how the the name force dual arose.
For example, let’s apply the force dual method to the problems of figure 5.12. To apply
the force dual method:
The result is a convex figure in the oriented plane, which represents the positive linear span
of the given wi . Each point in the figure is the dual of a possible resultant.
A “wise” choice of the origin and unit length means that you should anticipate where
the dual constructs will go, and keep them on the page. Graphical methods are awkward
when all the action is at infinity. So don’t put the origin right on top of the contact normals.
At the same time, it is convenient if the dual constructs are not right on top of the original
MIT Press Math7X9/2001/03/09:12:00 Page 115
Figure 5.18
The force dual transform maps every contact normal to a point in the oriented plane. The resulting curve is
called the “zigzag locus”.
figure. The placement of origins in figure 5.17 may seem counterintuitive at first, but note
that the main features of the dual figures are on the page and not on top of the original
figures.
The first example of figure 5.17 has two anti-parallel contact normals. By placing the
origin between them, the moments of the normals have the same sign . The convex hull
is a simple line segment also labeled . Compare this line segment with the shaded region
in figure 5.13 (moment labeling) or 2.19(a) (Reuleaux’s method). Each vertex in one figure
is dual to an edge in the other. The figures are projections of supplementary cones, but are
different ways of representing the same set.
The second example shows three contact normals of a triangle, mapping to three points
in the oriented plane. Their convex hull gives a triangle in the oriented plane, which
overlaps the line at infinity. Again comparison with moment labeling (figure 5.13) and
Reuleaux’s method (figure 2.19(b)) is instructive.
Since the force dual method is a little more involved than the moment-labeling method,
you might wonder why we need it. The beauty of the dual mapping is that it represents each
(directed) line of action as a (signed) point. So that a set of lines of action is represented
by a region. Of course, the moment labeling method also represents a set by a region, but
not in the usual sense that a region refers to a set of points. Because of this, the force
dual method can represent an arbitrary set of lines of action, not just convex cones. For
example, suppose we want to represent the set of frictionless forces that could be applied
to the perimeter of an object (figure 5.18). This is easily described by a piecewise-linear
MIT Press Math7X9/2001/03/09:12:00 Page 116
116 Chapter 5
Figure 5.19
Irreducible arrangements of oriented points yielding closure.
closed curve in force dual space, called the zigzag locus. But it is not convex, because we
did not ask for the possible resultants of all such forces, and therefore did not take the
convex hull in the oriented plane. As an exercise, the reader might consider the problems
of representing this by moment-labeling.
The force dual method is ideal for problems in force closure and first-order form
closure. We have already seen some examples, and there are more examples in the next
section and in the exercises. The force dual method is also useful when we include friction,
as we shall see in the next chapter.
The force dual method will also be useful for dynamic problems. In fact, as we shall
see in chapter 8, the force dual transformation arises naturally from Newton’s laws.
One thing that the force dual method is not good for is visualization. It is not imme-
diately evident what wrenches are included in a polyhedral convex cone represented using
force dual. When necessary the dual transform can be used to obtain the equivalent mo-
ment labeling representation. When a computer is doing the work, Brost (1991a) found
that central projection onto the sphere is the most effective way of visualizing polyhedral
convex cones in planar wrench space or differential twist space.
to a smaller set? Figure 5.19 shows all the irreducible arrangements I could identify. Any
arrangement of points yielding closure should contain one of the arrangements shown in
the figure.
5.9 Summary
The table notes that the force dual method, applied to a single wrench, produces the
acceleration center which is described in section 8.9. Also, we see room in the table for
one more method labeled “?”, which might be called “velocity dual” or “differential twist
dual”.
The material on systems of forces acting on rigid bodies, and the related equivalence
theorems, was adapted from (Symon, 1971). Fundamental results on wrenches came
from (Ohwovoriole, 1980), (Roth, 1984), and (Hunt, 1978). Polyhedral convex cones are
developed in(Goldman and Tucker, 1956). The oriented plane is described by Stolfi (1988).
Also see the earlier paper with Guibas and Ramshaw (1983).
Modelling kinematic constraint and systems of contact forces by linear inequalities
in wrench space has developed through a number of papers addressing grasp planning,
work-holding fixture design, and robotic assembly (Erdmann, 1984; Asada and By, 1985;
Kerr and Roth, 1986; Rajan et al., 1987; Mishra et al., 1987; Brost, 1991b; Hirai and
Asada, 1993). Erdmann (1984) employed cones in wrench space, and Nguyen (1988) and
Hirai and Asada (1993) extended and further developed the use of cones. The force dual
and moment labeling methods were described by Brost and myself (1989; 1991). Readers
wishing to push deeper into the kinematics and statics of contact should also look into the
formulation as a linear complementarity problem. (Pang and Trinkle, 1996) is a good place
to start.
MIT Press Math7X9/2001/03/09:12:00 Page 118
118 Chapter 5
(a) (b)
(c) (d)
Figure 5.20
Convex hull problems for exercise 5.2.
Exercises
Exercise 5.1: Figure 5.6 shows all the different types of cones in E2 , and the correspond-
ing supplementary cones. Construct an equivalent figure for E3 , showing the supplemen-
tary cone for each cone of figure 5.5.
Exercise 5.2: For each set of points in the oriented plane in figure 5.20, construct the
convex hull.
Exercise 5.3: Figure 5.21 shows six objects with frictionless contacts. For each, use
moment labeling to determine the set of possible resultant wrenches. In each case show
the line of action of one of the possible resultant wrenches.
Exercise 5.4: Repeat exercise 5.3, using the force dual method, rather than moment label-
ing. For each of the six objects, find the force dual representation of the possible resultant
wrenches. In each case, choose one of the labeled points in the force dual representation,
and apply the dual transform to get the corresponding directed line of action.
MIT Press Math7X9/2001/03/09:12:00 Page 119
Figure 5.21
Contact problems for exercises 5.3 and 5.4.
Exercise 5.5: For each of the moment-labelings of figure 5.22, four wrenches are drawn.
Indicate for each wrench whether or not it is in the wrench cone.
Exercise 5.6: Show that the dual mapping defined by equation 5.42 really does yield the
point on the perpendicular to the line of force through the origin, at a distance equal to the
inverse of the moment arm. (Recall that the line of force can be defined as the locus of
points x at which the moment is zero.)
Exercise 5.7: For the triangle of figure 5.13, use the force dual method to determine all
placements for a fourth finger to obtain force closure. You should include both types of
fingers: pointy fingers on triangle edges, and flat fingers on triangle vertices.
(a) Construct the triangle of force duals for the three given fingers.
(b) Construct the locus of force duals for all contact normals (the zigzag locus).
(c) Identify those duals which, added to the three given contacts, will produce a convex
hull that exhausts the oriented plane.
MIT Press Math7X9/2001/03/09:12:00 Page 120
120 Chapter 5
(a) (b)
(c) (d)
Figure 5.22
Moment labeling interpretation problems for exercise 5.5.
Figure 5.23
Facing cones (exercise 5.8).
Exercise 5.8: Nguyen (1988) observes that four wrenches can provide closure if and only
if they can be arranged into two pairs, defining two cones each of which contains the
other’s base. A set of wrenches satisfying Nguyen’s criterion is shown in figure 5.23. Show
that by suitable placement of the origin, the force dual representation of the wrenches in
figure 5.23 will match both of the four point arrangements shown in figure 5.19.
Exercise 5.9: For each of the arrangements of figure 5.19, construct a shape and a set of
contact normals with force duals matching the arrangement.
MIT Press Math7X9/2001/03/09:12:00 Page 121
6 Friction
Consider an ordinary manipulation task—a mundane task such as we face every day. The
problem of shuffling paper at one’s desk, cooking a meal, or playing a game of cards. For
any of these tasks, some reflection will yield the following observations:
We will begin the study of friction by reviewing Coulomb’s law. Consider a simple
experiment, involving a block sliding on a horizontal surface, pulled by a string. We will
assume that the two surfaces are fairly clean, dry, and unlubricated. Imagine that we have
instruments to measure the force fa applied via the string, and the tangential force ft due
to friction between the table and the block. If we gradually increase the applied force
fa , we tend to see the behavior illustrated in figure 6.1. For small applied forces, the
frictional force will balance the applied force, so that the block does not move. Above
some threshold, the block will begin moving, and the frictional force will now be constant.
If we conduct a large number of experiments, varying the block’s mass, the block’s shape,
the materials, and so forth, we will find that the limiting frictional forces depend on the
normal force, and on the materials involved, but are virtually independent of other factors.
If f t s is the limiting value of static friction, at which motion begins, and f t d is the value of
MIT Press Math7X9/2001/03/09:12:00 Page 122
122 Chapter 6
fa
ff
mg
ff
µs mg
µd mg
fa
Figure 6.1
Coulomb’s law of sliding friction.
f t s = µs f n (6.1)
f t d = µd f n (6.2)
where f n is the normal force, µs is the static coefficient of friction, and µd is the dynamic
coefficient of friction. Typically µs is larger than µd , but we will ignore this difference,
and speak of a single coefficient of friction µ. A simple statement of Coulomb’s law is:
if there is motion, with the tangential force in a direction opposite to the motion.
In particular, the tangential force is largely independent of the contact area, and of
the velocity of motion. The coefficient of friction is considered to be a material property,
depending only on the materials involved. Tables of the coefficient of friction should not
be taken too seriously, but some typical values are given below:
MIT Press Math7X9/2001/03/09:12:00 Page 123
Friction 123
fn
x
ft
Figure 6.2
Sliding block with Coulomb friction.
Materials µ
metal on metal 0.15–0.6
rubber on concrete 0.6–0.9
plastic wrap on lettuce ∞
Leonardo’s number 0.25
Experiments like those described above provide the basis of Coulomb’s law, which
will be stated more carefully later. The history of the law is also interesting. Coulomb’s
work with friction was his first scientific achievement. Coulomb’s interest in friction was
spurred by practical engineering matters. He was a career military engineer, and carried
his huge laboratory apparatus with him from one assignment to another. Coulomb is also
known for the invention of the torsion balance and for his studies of electricity, leading to
the law for electrostatic attraction which is unfortunately also known as Coulomb’s law.
Coulomb was not the first to propose Coulomb’s law of sliding friction. Amontons
had proposed it earlier, and the law is occasionally referred to as Amontons’s law. It
also appears that Leonardo da Vinci had earlier posed a more restrictive version of the
law, supposing the coefficient of friction to be always one fourth. Coulomb’s law is a
phenomenological law, providing an approximate description of an aggregate behavior.
For that reason there are some who would prefer not to call it a law at all. There are more
fundamental approaches to the modeling of friction, and more precise approximations of
friction. But Coulomb’s law still provides the best combination of simplicity and accuracy
for many purposes.
We begin by considering the simplest problems, involving just one degree of freedom.
Consider a block in frictional contact with a supporting plane, which is prevented somehow
from moving away from the plane (figure 6.2). The tangential position of the block is given
MIT Press Math7X9/2001/03/09:12:00 Page 124
124 Chapter 6
by x, and the frictional force is given by f n and f t , respectively normal and tangential to
the support plane. Coulomb’s law prescribes a constraint on the contact force, depending
on the contact mode indicated in the table below:
ẋ ẍ
<0 f t = µ fn left sliding
>0 f t = −µf n right sliding
=0 <0 f t = µ fn left sliding
=0 >0 f t = −µf n right sliding
=0 =0 | f t | ≤ |µf n | rest
Now suppose that we introduce a gravitational field so that the supporting surface is
an inclined plane (figure 6.3). Let α be the angle of the inclined plane with respect to the
horizontal. What is the maximum angle α at which the block can remain at rest?
If the block is at rest, then the gravitational force must balance the total contact force:
f n = mg cos α (6.5)
f t = mg sin α (6.6)
f t = µf n (6.7)
Substituting,
The desired angle α is the arc-tangent of the coefficient of friction. This angle is sometimes
called the friction angle or the angle of repose.
The friction angle provides an elegant geometrical approach to Coulomb’s law. Con-
sider all the forces satisfying Coulomb’s law for an object at rest, i.e. all the forces satisfy-
ing the condition
| f t | ≤ µ| f n | (6.10)
This set of forces describes a cone in the force space, called the friction cone, with vertex
at the origin, and dihedral angle 2 tan−1 µ (figure 6.4). Then we can state Coulomb’s law:
For left sliding fn + ft ∈ right edge of friction cone
For right sliding fn + ft ∈ left edge of friction cone
For rest fn + ft ∈ friction cone
MIT Press Math7X9/2001/03/09:12:00 Page 125
Friction 125
fn
ft
mg
Figure 6.3
Sliding block on inclined plane.
2 tan−1 µ
fn
ft
Figure 6.4
The friction cone: to satisfy Coulomb’s law the contact force deviates by at most tan−1 µ from the contact
normal.
To illustrate the friction cone, consider a problem in pipe clamp design (figure 6.5). The
peculiar property of a pipe clamp is that, although there is complete freedom of movement,
a force applied at the face of the clamp will not generate a motion. The clamp jams, and
increasing the force just increases the balancing force.
Now, consider the problem of designing such a clamp. In particular, where do we place
the face of the clamp? How far must the face be from the pipe center, to obtain the jamming
effect? For the purposes of the example, let the diameter of the pipe be 2 cm, let the length
of the sliding element be 2 cm, and let the coefficient of friction be 0.25.
The relevant forces are shown in the figure. The applied force acts through the face, and
is of arbitrary magnitude. The relevant contact forces are described by two friction cones.
MIT Press Math7X9/2001/03/09:12:00 Page 126
126 Chapter 6
fc1
f1 fa f2
fc2
Figure 6.5
Analysis of the pipe clamp: a force applied far enough from the pipe causes the clamp to jam.
These two forces are also of arbitrary magnitude, but they must lie within their respective
friction cones.
Now for the clamp to remain at rest, the forces must be in equilibrium. A necessary
condition is that all three forces pass through a common point. Since the two contact
forces must lie within their friction cones, then the applied force must pass through the
intersection of the two friction cones. This condition is easily satisfied by placing the face
in the intersection of the two friction cones. The relevant constructions are shown in the
figure. The minimum distance is 4 cm from the pipe center. We also note that with the
face in the intersection of the two friction cones, i.e. about halfway along the length of the
sliding element, the effect can tolerate large variations in the direction of the applied force.
The previous section assumes that a sliding object will remain in contact with the support-
ing surface, yielding just three contact modes: left sliding, right sliding, and rest. More
generally, an object might move away, losing the contact. As a result we have some addi-
tional contact modes. Consider a simple rod in contact with a fixed surface. Let {t̂, n̂} be
a coordinate system placed at the contact point pc , with t̂ tangential to the contact, and n̂
normal to the contact.
MIT Press Math7X9/2001/03/09:12:00 Page 127
Friction 127
pc t
Figure 6.6
Sliding rod with Coulomb friction.
The first four lines identify cases where the bodies are approaching each other, resulting
in an impact (chapter 9), or where the bodies are separating, giving zero contact forces.
The remaining five lines essentially repeat the table of the previous section. There is one
difference, though. The earlier table had a mode labeled “rest” which is now labeled
“fixed”. The rod need not be at rest—it might be rotating about the contact point. More
generally, if the end of the rod were round, a rolling contact could give “fixed” contact,
even though the contact point is in motion. For this reason, this contact mode is sometimes
referred to as “fixed or rolling” in the literature. We will not consider rolling contacts
further.
We can immediately apply either the moment labeling method or the force dual method
to friction problems (figure 6.7). The moment labeling of a friction cone is just a slight
variation in the usual method of drawing a friction cone—drawing the outside instead of
the inside of the cone. The force dual method produces a line segment in force dual space.
MIT Press Math7X9/2001/03/09:12:00 Page 128
128 Chapter 6
C
O
Figure 6.7
Representing the friction cone by force dual or moment labeling.
Static equilibrium is a simple condition to analyze, but it is very useful. For example, many
problems in grasp synthesis, in complex mechanical assemblies, in work-holding fixtures,
can be addressed by simple static equilibrium.
Assuming a rigid object initially at rest, we define static equilibrium to mean that the
static forces—contact forces and applied load forces—sum to zero. Recall that to define
force, we assumed an object at rest with zero total force would remain at rest. However,
it is also advisable to consider the effect of perturbations to the object, augmenting static
equilibrium analysis with stability analysis.
Friction 129
Figure 6.8
Moment labeling represents friction cone for block on table.
Figure 6.9
Will it fall? With nonzero friction this beam is in force closure, but it is not necessarily in equilibrium.
130 Chapter 6
Figure 6.10
The three positive regions have no common intersection, nor do the three negative regions. Hence the labeled
regions are null, the possible resultants are all of wrench space, and the triangle is in force closure.
deformable bodies. For the problem as stated, we have force closure, we may have static
equilibrium, but we surely would not classify it as stable.
Some manipulation tasks involve an object sliding on a planar support surface. The me-
chanics of planar sliding apply to problems as diverse as moving furniture (section 7.2)
and fixturing objects for machining operations. This section develops expressions for the
frictional force and moment of planar sliding, and introduces an elegant graphical repre-
sentation known as the Limit Surface.
The motion of a pushed object is often indeterminate. If a rigid object is supported by
more than three contact points, the distribution of support forces is underdetermined. If the
frictional forces are assumed proportional to the normal forces, as Coulomb suggests, then
the frictional forces are also underdetermined. The problem is illustrated by the defective
dinner plate of figure 6.11. The plate was designed with a circular ridge on the bottom, so
that the support forces would be concentrated at the edge of the plate. Unfortunately, the
bottom of the plate sagged during the firing process, so that the center is also in contact
MIT Press Math7X9/2001/03/09:12:00 Page 131
Friction 131
Figure 6.11
It is impossible to predict the motion of this plate, without knowing the distribution of support forces between
the plate and the table.
with the planar support. There is no way to predict whether the support forces will be
concentrated at the center, giving it an irritating tendency to rotate, or at the edge, resisting
rotation. In practice, the plate’s behavior will depend on details that may be very difficult to
model. It may behave well with a tablecloth, and poorly without a tablecloth. Its behavior
might depend on the phase of the moon. (Tidal forces induce microscopic changes in the
shapes of the plate and table.)
The defective dinner plate is a particularly egregious example of the indeterminacy of
planar sliding. In the worst case the problem can be very awkward, but in most practical
situations there are many ways of addressing the problem. One inescapable conclusion is
that a useful theory of planar sliding should capture this indeterminacy, which is a primary
goal for the approach described below.
The first step is to develop expressions for the force and moment of planar sliding
under the assumption that the support forces are known and described by a finite pressure
distribution p(r). Under those assumptions indeterminacy is not an issue—there is a one-
to-one mapping between the direction of slider motion and the resulting wrench, except
when the slider is motionless.
Given the force and moment for a known finite pressure distribution, the next step is
to generalize to cases where there may be finite force concentrated at an isolated point of
support, corresponding to infinite pressure. In those cases the mapping between direction
of slider motion and the resulting wrench may be many-to-one or one-to-many.
Finally, we also have to consider the indeterminacy arising from an unknown or
partially known pressure distribution, such as the dinner plate example above, which is
addressed in chapter 7.
132 Chapter 6
Figure 6.12
Notation for planar sliding.
pressure at r, and dA a differential element of area at r, then the magnitude of the normal
force at r is given by
p(r) dA (6.11)
Friction 133
Hence the frictional forces distributed over the support region have a resultant, with
magnitude µf 0 , in a direction opposing the motion, through the centroid r0 . In other words,
the force is equivalent to that obtained by applying Coulomb’s law to the sliding of a single
point located at r0 .
D EFINITION 6.1: The center of friction is the centroid r0 of the pressure distribution.
T HEOREM 6.1: For a rigid body in purely translational sliding on a planar surface, with
uniform coefficient of friction, the frictional forces reduce to a force through the center of
friction, opposing the velocity.
In some cases, the center of friction is easily determined. If an object is at rest on the
support plane, with no applied forces other than gravity and the support contact forces,
then the center of friction is directly below the center of gravity. This is the only location
that allows the contact forces to balance the gravitational force. We can generalize slightly,
allowing additional applied forces, as long as they are in the support plane. We can also
MIT Press Math7X9/2001/03/09:12:00 Page 134
134 Chapter 6
permit accelerated motion of the body, if the center of gravity is in the support plane. But
acceleration of a body whose center of gravity is above the support plane will, in general,
cause a shift in the pressure distribution, and a corresponding shift in the center of friction.
Applied forces not lying in the support plane will generally cause a similar shift.
C ASE 2: ROTATION
Now suppose that the body is rotating, with an instantaneous center rIC . Then the velocity
of a point at r is given by
Friction 135
fy
v
f
fx
LC
Figure 6.13
Limit curve for a point slider. Adapted from (Goyal et al., 1991).
slip: f v, and |f| = µf n , where µ is the coefficient of friction, and f n is the support
force.
stick: |f| ≤ µf n .
In other words, the motion v yields a load that is extremal in the v direction.
More significantly, we note that when slip occurs the load f is on the limit curve, and
the motion v is normal to the limit curve at f.
Now we consider sliders with extended support. Let r vary over the support region,
and construct a limit curve LC(r) at each point r, so that at each point the maximum power
inequality holds:
136 Chapter 6
Let p and p∗ be the total frictional load wrench for f(r) and f∗ (r) respectively. Now, we
can describe the power dissipated by f(r) in either of two ways, yielding the equation
p·q= f(r) · v(r) (6.31)
r
Since the maximum power inequality must be satisfied at every point r, every term in the
sum on the right hand side is non-negative. Thus we obtain a maximum power inequality
for the total frictional load wrench:
(p − p∗ ) · q ≥ 0 (6.34)
To summarize, to find the true frictional load, we can start with the set of all load
distributions satisfying the constraint that at each point r the magnitude of the load must
be no greater than µf n (r), and then choose a distribution that yields maximum power.
When the slider is not moving, any load distribution f∗ (r) is possible, subject only to
the constraint that at each point the magnitude of the load must be no greater than µf n (r).
Form the set of all possible total frictional load wrenches p∗ , and define the limit surface
to be the surface of this set. Then we can summarize the maximum power inequality by
stating that the frictional load wrench during slip yields maximum power over all wrenches
in the limit surface. It follows that during slip the total frictional load wrench p lies on the
limit surface, and the velocity twist q is normal to the limit surface at p.
MIT Press Math7X9/2001/03/09:12:00 Page 137
Friction 137
1 fy
fx
x
1 m
Figure 6.14
Sliding barbell. Adapted from (Goyal et al., 1991).
We state several properties of the limit surface without proof. The limit surface is
closed, convex, and encloses the origin of wrench space. It is symmetric when reflected
through the origin. Its orthogonal projection onto the f x , f y plane is a circle of radius
µ fn .
If the pressure distribution is everywhere finite, i.e. with no discrete points of support,
then the limit surface is strictly convex, and the velocity twist to frictional load wrench
mapping is one-to-one.
The more interesting cases involve discrete support points. If there are such points,
then there are flat facets on the limit surface. At such a facet, several different loads give
rise to the same motion—rotation about the discrete support point.
An even more interesting case arises when the support region R degenerates to a line or
a subset of a line. In this case the limit surface is no longer smooth. At a vertex of the limit
surface several different motions can produce the same frictional load. This corresponds to
those motions with rotation centers collinear with all points of support.
The limit surface has uses that go well beyond what can be described here. It applies to
some non-isotropic friction laws, such as ice skates or ratchet wheels. It yields insights into
the dynamic motion of sliders, and, as we shall see it provides insights into the mechanics
of quasistatic manipulation.
E XAMPLE
Figure 6.14 shows a planar slider with just two points of support, a barbell. We assume the
barbell’s weight is evenly divided between the two support points. Figure 6.15 shows the
corresponding limit surface. It was constructed by the following steps:
MIT Press Math7X9/2001/03/09:12:00 Page 138
138 Chapter 6
flat
elliptical n 0z
Section on f x 0 plane
facet is a circle
f
fy
n 0z
vertex corresponding
to pure moment
f
fx
vertex corresponding
to pure force f x 0 0
Figure 6.15
Barbell limit surface. Adapted from (Goyal et al., 1991).
1. Construct the limit surface LSa comprising all force loads arising at support point a. If
a were at the origin this would be a disc in the n 0z = 0 plane. But since a is not at the
origin, LSa is an elliptical disc in the n 0z − f x = 0 plane.
2. Similarly, construct the limit surface LSb . It also is an elliptical disc, this time in the
n 0z + f x = 0 plane.
3. The desired limit surface is the Minkowski sum of LSa and LSb . In other words it is the
set {wa + wb | wa ∈ LSa , wb ∈ LSb }.
The barbell’s limit surface illustrates many of the properties of limit surfaces. There
are four flat facets, where the frictional load may vary while the normal remains stationary.
MIT Press Math7X9/2001/03/09:12:00 Page 139
Friction 139
Figure 6.16
Two block in corner problems for exercise 6.2.
This implies many different loads mapping to a single motion, which occurs when the
barbell rotates about one of the support points. There are four such facets, one for each of
two possible rotation directions about each of two different support points.
There are also four vertices, where the frictional load is stationary as the normal may
vary. This implies many different motions mapping to a single frictional load, which occurs
for a rotation about a point collinear with the two support points.
Elsewhere the limit surface is smooth and strictly convex, so the load–motion mapping
is one-to-one.
Many engineering mechanics texts provide good introductions to Coulomb friction. Gill-
mor (1971) and Truesdell (1968) provide some interesting historical notes on Coulomb,
Amontons, and da Vinci. Simunovic (1975) was the first to analyze peg insertion using fric-
tion cones. Erdmann (1984) was the first to construct composite friction cones in wrench
space. Prescott (1923) and MacMillan (1936) developed expressions for force and mo-
ment of planar sliding, and introduced the center of friction. The particular treatment of
planar sliding is taken from (Mason, 1986). The limit surface is taken from (Goyal, 1989;
Goyal, Ruina, and Papadopoulos, 1991). See (Howe and Cutkosky, 1996) for experimental
evaluation, application, and approximations related to the limit surface.
Exercises
Exercise 6.1: Analyze the pipe clamp using the moment labeling method, and the force
dual method: find the possible resultants of the contact forces, and characterize the set of
load forces that would be balanced.
Exercise 6.2: Use the moment labeling and the force dual methods to analyze each of the
problems in figure 6.16. A block is in the corner of a fixed tray, and you are to identify the
MIT Press Math7X9/2001/03/09:12:00 Page 140
140 Chapter 6
g
g
Figure 6.17
Two equilibrium problems. Exercises 6.3 and 6.4.
set of all wrenches that can be applied to the block by the tray edges. The coefficient
of friction is one. If you get confused, make the problem simpler by taking a smaller
coefficient of friction, and then think about the solution in the limit as µ approaches one.
Do not forget to look for intersections at infinity.
Exercise 6.3: The planar rectangle in figure 6.17(a) is resting on a tipped table and one
additional contact, in a gravitational field. Is there a static equilibrium? Use moment
labeling to analyze it. If it is unstable, find a location for the finger that would stabilize
it, or show that no such location exists.
Exercise 6.4: The triangle of figure 6.17(b) is resting on two fingers. Given that there is a
static equilibrium, find a lower bound for the coefficient of friction. The only forces acting
are the contact forces and gravity.
Exercise 6.5: In exercise 5.7 you constructed the force dual representation of all contact
normals of a triangle (the zigzag locus). That corresponds to the set of all wrenches that
can be applied by a single frictionless contact. For this exercise, construct the force dual
representation of all wrenches that can be applied to the same triangle by a single contact,
with coefficient of friction 0.25.
Exercise 6.6: Howe and Cutkosky (1996) observed that in many cases an ellipsoid is a
good approximation to the limit surface for a planar slider. Suppose that an ellipsoidal
MIT Press Math7X9/2001/03/09:12:00 Page 141
Friction 141
Exercise 6.7: Consider the barbell of figure 6.14, with weight 2 Newtons evenly dis-
tributed between the two contact points, and coefficient of friction µ = 1. Redraw fig-
ure 6.15 with correct numerical labels along the axes, indicating the maximum values of
f x , f y , and n 0z . Calculate the frictional load for each differential twist below. If several
frictional loads map to the given twist, give a concise and precise description of the set.
(a) (vx , v y , ωz ) = (1, 0, 0)
(b) (vx , v y , ωz ) = (0, 1, 0)
(c) (vx , v y , ωz ) = (0, 0, 1)
(d) (vx , v y , ωz ) = (1, 0, 1)
Exercise 6.8: Consider a dinner plate whose entire weight w is evenly distributed on a
ring at radius 1, centered on the origin. The coefficient of friction is 0.25. Because of
the symmetry in the plate, the limit surface has circular symmetry and is completely
characterized by its intersection with the f x -n 0z plane.
(a) Rewrite equations 6.24 and 6.25 to give the frictional load (i.e. take care of the sign
change) and use a differential element of length dl rather than area dA.
(b) Plot the limit surface’s intersection with the f x -n 0z plane. You can generate such a
plot by numerically integrating the equations obtained above, with v y = 0 and varying
vx /ω.
Exercise 6.9: We noted earlier the propensity for refrigerators to rotate about their feet.
Use the nature of the limit surface to explain this phenomenon—i.e. explain why planar
sliders like to rotate about points of infinite pressure.
MIT Press Math7X9/2001/03/09:12:00 Page 143
7 Quasistatic Manipulation
This chapter explores several different manipulation tasks: grasping and fixturing, pushing,
parts orienting, and mechanical assembly. We analyze each task using an approach known
as quasistatic analysis, meaning that we look for a balance among contact forces, gravita-
tion, and other applied forces, while neglecting inertial forces. This approach can be very
accurate with the speeds and scale of objects often encountered in manipulation tasks, but
will fail when dynamic forces come into play.
Grasping and fixturing are two variations on the most fundamental problem in manipula-
tion: how to immobilize an object. To grasp is to immobilize relative to the hand; to fixture
is to immobilize absolutely. There are other important aspects to each problem, but we will
focus on how to immobilize objects.
Some of our most common tools are general-purpose fixtures. For example a table has a
flat horizontal surface, which with the help of gravitation and friction serves to immobilize
a wide variety of objects. Also, our most common objects are designed for fixturing. For
example, the most common pencils are hexagonal in cross section, presumably to keep
them from rolling off of tables.
Immobilizing objects is a topic that is revisited throughout the text. In chapter 2 we
introduced Reuleaux’s method to analyze kinematic constraint. In chapter 3 we developed
inequalities in the object twist screw coordinates using contact screws. In chapter 5 we
introduced moment labeling and force dual methods. In this section we bring all these
methods together and address the issue in depth.
Let’s begin with some definitions:
D EFINITION 7.1: Force closure: the contacts can apply an arbitrary wrench to the
object.
This is consistent with our earlier definition, which defined force closure as being when
the possible wrenches are all of wrench space.
D EFINITION 7.2: Form closure: the object is at an isolated point in configuration space.
In other words, every nearby configuration results in a collision. We include the definition
of form closure for completeness. A fuller treatment of form closure is outside the scope
of the text. Rather, we will only deal with first order form closure:
MIT Press Math7X9/2001/03/09:12:00 Page 144
144 Chapter 7
Figure 7.1
D EFINITION 7.3: First order form closure: Every nonzero velocity twist is contrary to
some contact screw.
In other words, no motions are possible even if we approximate each contact constraint by
a velocity constraint.
D EFINITION 7.4: Equilibrium: the contacts can balance the object’s weight and other
external forces.
We will not provide a formal definition of stability. It is a term that is applied to many
different approaches. Consider, for example, the dynamic system comprising the object, a
dexterous hand, and the control system that determines the finger joint torques. Stability
would address the asymptotic properties of this dynamic system, which is clearly beyond
the scope of this chapter, and in fact this entire book. However, in section 7.3 we apply
quasistatic methods to address stability in the context of pushing.
What is the relation of force closure, form closure, and first order form closure? The
first thing to notice is that first order form closure is equivalent to frictionless force closure.
In both cases we consider whether the contact normals positively span wrench space. It
follows easily that form closure is stricter than first order form closure and frictionless
force closure.
The relationship between form closure and force closure is more interesting. Figure 7.1
shows by example that form closure does not imply force closure, and that force closure
does not imply form closure.
MIT Press Math7X9/2001/03/09:12:00 Page 145
1. Analysis. Given an object, a set of contacts, and possibly other information, determine
whether closure applies.
2. Existence. Given an object, and possibly some constraints on the allowable contacts,
does a set of contacts exist to produce closure?
3. Synthesis. Given an object, and possibly some constraints on the allowable contacts,
find a suitable set of contacts.
We have explored the analysis question in earlier chapters. For force closure we look
at the positive linear span of the friction cones (section 6.4) and check whether it is all
of wrench space. For first order form closure we examine the positive linear span of the
contact normals (section 5.3).
How do we address the existence issue? Recall the “zigzag locus”, which gives the set
of all contact normals for a given object. We can form the positive linear span of all these
contact normals to answer the existence question for first order form closure or frictionless
force closure. For frictional force closure we would take the positive linear span of all
possible friction cones (exercise 6.5). Existence is just the question of whether the resulting
convex cone exhausts all of wrench space.
Are there any shapes that do not have force closure grasps? There are a few, which can
be described by looking at the lower pairs of figure 2.21. Since we are only interested in
bounded shapes, the only pairs that qualify are revolute and spherical.
T HEOREM 7.1: For any bounded shape that is not a surface of revolution, a force closure
(or first order form closure) grasp exists.
Synthesis
The most challenging issue is synthesis: given an object, how do we construct a grasp? We
begin with a very simple algorithm. We will consider a finger to be redundant if it can be
deleted without reducing the positive linear span of all the fingers.
procedure GRASP
put fingers "everywhere"
while redundant finger exists
delete any redundant finger
MIT Press Math7X9/2001/03/09:12:00 Page 146
146 Chapter 7
Figure 7.2
An example of six contacts, none of which can be eliminated with frictionless force closure.
The idea is to sample the boundary of the object very densely, so that we begin with a
large but finite set of contacts. Unless the object is a frictionless surface of revolution, the
object will be in force closure and most of the contacts will be redundant. Now we discard
redundant contacts one at a time until no redundant contacts are left.
It is clear that, unless we start with a surface of revolution, this algorithm yields a
force closure grasp. The question is: how good is the resulting grasp? And that leads us
immediately to the more basic question: how do we measure the quality of a grasp? Here
we will consider only how many contacts are produced. We already know (theorem 5.6)
that a frictionless force closure grasp requires at least 4 contacts in the plane, 7 contacts in
three space. Generally we might expect GRASP to terminate with just 4 or 7 contacts, but in
some unfortunate cases the algorithm can terminate with more.
T HEOREM 7.2 S TEINITZ ’ S THEOREM : Let X be a set of points in Rd , with some point
p in the interior of the convex hull of X. Then there is some subset Y of X, with 2d points
or less, such that p is in the interior of the convex hull of Y .
We can apply Steinitz’s theorem in wrench space. If we start with a set of wrenches
that positively span wrench space, then the origin is in the convex hull of the wrenches
(theorem 5.5). By Steinitz’s theorem, there is a subset of those wrenches, numbering 2d or
less, which still positively span wrench space.
T HEOREM 7.3: For any surface not a surface of revolution, GRASP yields a grasp with at
most 6 fingers in the plane, at most 12 fingers in three space.
MIT Press Math7X9/2001/03/09:12:00 Page 147
Six fingers seems like a lot for a planar grasp. Figure 7.2 shows such an unfortunate
grasp. (Figure 5.19 enumerates all similar examples.) Even though we know a four contact
grasp exists for a rectangle, GRASP has terminated with a six contact grasp. None of the six
contacts can be deleted without losing closure. However, if we perturb the six contacts to
eliminate geometrical coincidences, the grasp could be reduced to four contacts.
We have seen that idealized grasps and fixtures, employing fixed contacts on a rigid
object, have a tidy theoretical foundation based on wrench space. But we have barely
scratched the surface. Grasp and fixture planning is an active research area, with lots of
interesting problems. The bibliographic notes at the end of the chapter describe a few of
these.
7.2 Pushing
Pushing involves a planar slider being moved by contact with a pusher whose motion is
given. There are two frictional contacts to address. The first is the frictional planar contact
between the slider and the horizontal surface surface, so that the analysis of section 6.6 can
be applied. The second frictional contact is between the slider and the pusher, which we
will assume also follows Coulomb’s law. There may also be frictional contacts with other
objects in the scene but we will focus on simpler problems. In this section we assume a
single point contact with the slider. In the next section we explore the problem of pushing
a slider with edge-to-edge contact.
Pushing is more common than you might realize. Here are some examples:
• To pick up objects that are too small or too numerous to grasp easily, you can scoop
them off the edge of a table into your other hand;
• To move objects that are too bulky to grasp, as when rearranging the furniture, you can
push them;
• Manufacturing automation systems make frequent use of pushing. Often a conveyor belt,
in conjunction with guides, is used to move objects through such a system.
Pushing can be a good way to reduce or eliminate uncertainty in the state of the task.
Figure 7.3 shows some examples: a fence across a conveyor belt to orient boxes; and a
grasping operation that orients and centers the grasped object. Both of these examples
depend largely on the mechanics of pushing.
148 Chapter 7
Conveyor
Fence
Figure 7.3
Examples of pushing: orienting and locating an object during a grasp; orienting boxes by a fence suspended just
above a conveyor.
lL = lF lR lL lF lR lL lR = lF
lM = lP lP
lM lM
lP
Figure 7.4
Possible relations of rays: the line of pushing l P , the line of motion l M , the left and right edges of the friction
cone l L and l R , and the line of force l F .
predict qualitative features of the motion, including whether the object will rotate and in
which direction.
• The line of pushing passes through the contact point, in the direction of the pusher
velocity.
• The line of motion passes through the contact point, in the direction of the object
velocity.
Figure 7.4 shows the line of pushing l P , and the line of motion l M , for a few dif-
ferent examples. Also plotted are the left and right edges of the friction cone, l L and l R
MIT Press Math7X9/2001/03/09:12:00 Page 149
respectively, and the line of force l F . Note that the friction cone and the line of pushing
are determined by the contact geometry, the pusher motion, and the coefficient of friction.
However, the line of motion and line of force are not so easily predicted. Constraints on
the line of motion and line of force can be stated, for each contact mode.
• Separation. The object just sits there. There is no line of force and no line of motion.
• Fixed. The line of motion coincides with the line of pushing: l P = l M , and the line of
force falls between the left and right edges of the friction cone.
• Left sliding. The line of motion falls to the left of the line of pushing, and the line of
force coincides with the right edge of the friction cone: l F = l R .
• Right sliding. The line of motion falls to the right of the line of pushing, and the line of
force coincides with the left edge of the friction cone: l F = l L .
(One of the tricky bits of these problems is to remember which is left and which is right.
We adopt the pusher as the reference since its motion is given, so “left sliding” means the
slider is sliding to the left relative to the pusher. The easiest way to remember is to recall
that Coulomb friction opposes the motion—left sliding means right edge of friction cone,
and vice versa.)
The main result of this section is to show that the direction of rotation can be deter-
mined by the relation of the center of friction to the three lines: l P , l L , and l R . But we have
to get there in a roundabout way, by exploring the relation to the other two lines: l M and
l F . First it will help to introduce some terminology. We will say a directed line l dictates
the rotation direction, if the sign of the rotation must agree with the sign of the moment
of l, with respect to the center of friction. Similarly, we will say that three lines vote on
the rotation direction, if the sign of the rotation must agree with a majority of the relevant
moments.
T HEOREM 7.4: For quasistatic pushing of a rigid body in the plane, with uniform
coefficient of friction, the line of motion dictates the rotation direction.
Proof Choose the origin at the contact point, and choose the coordinate frame with the
y-axis coincident with the line of motion l M . Then the rotation center must lie on the x-
axis, and we can write rIC = (x IC , 0)T . Note that x IC can take on any value on the plus or
minus x-axis, and can be on the line at infinity, but cannot be zero. Now, consider the total
moment of frictional forces, with respect to the origin, as a function of x IC .
r − rIC
m f (x IC ) = −µ sgn(θ̇ ) r · p(r) dA (7.1)
R |r − rIC |
MIT Press Math7X9/2001/03/09:12:00 Page 150
150 Chapter 7
mf lM
mf
xr
xr x
Figure 7.5
Coordinate frame for proof of theorem 7.4 has the y-axis along the line of motion l M . The proof is obtained by
analyzing the frictional moment as a function of the IC location.
The solution of our problem is given by finding a value of x IC that yields a balance between
the pushing force and the frictional forces. Since the pushing force acts through the origin,
the moment at the origin is zero. So the solution x IC is just the root of the equation
m f (x IC ) = 0 (7.2)
This root depends on the pressure distribution p(r), which is indeterminate. However, the
function m f (x IC ) has a structure that permits us to prove the theorem, without requiring
a specific solution for x IC . The function m f (x IC ) varies continuously as x IC varies from
small positive values, up through infinity, and approaching small negative values. We can
take the derivative
d d r − rIC
m f (x IC ) = −µ sgn(θ̇ ) r· p(r) dA (7.3)
d x IC R d x IC |r − rIC |
where r = (x, y)T . Notice that the integrand is positive, so that the derivative of m f (x IC )
is always negative—the function is monotonic decreasing.
MIT Press Math7X9/2001/03/09:12:00 Page 151
We can also take limits of m f (x IC ) as x IC approaches zero from above and from below:
m f (0+) = µ |r| p(r) dA (7.5)
R
m f (0−) = −µ |r| p(r) dA (7.6)
R
Finally, we can determine the value of m f where x IC = ∞. This is the case of pure
translation. Applying theorem 6.1 we have
m f (∞) = −µ x p(r) dA (7.7)
R
= −µf 0 x 0 (7.8)
Presumably the reader will at this point be wondering why we cannot solve the problem
with a simple force balance. In fact the method is, at its foundation, a force balance, but it is
not straightforward because the pressure distribution is not known. The reader might also
be wondering whether some variational method might be employed—whether the solution
might minimize work. In fact, it is possible to show that the solution minimizes the energy
dissipated in frictional sliding, as discussed in the bibliographic notes at the end of the
chapter. For our present purposes we will apply the more straightforward approach.
T HEOREM 7.5: For quasistatic pushing of a rigid body in the plane, with uniform
coefficient of friction, the line of force dictates the rotation direction.
For a formal proof see (Mason, 1986). Alternatively, consider the Limit Surface intro-
duced in section 6.6. If we choose the center of friction as the origin, then the limit surface
intersects the horizontal ( f x - f y ) plane in a circle, where the limit surface normal is also in
the horizontal (vx -v y ) plane. By the convexity of the limit surface, the normals in the up-
per half point upward and in the lower half point downward. Positive rotations correspond
to frictional loads with positive moments, and negative rotations correspond to frictional
loads with negative moments. This is equivalent to the statement of the theorem.
MIT Press Math7X9/2001/03/09:12:00 Page 152
152 Chapter 7
lL lR
lP
Figure 7.6
The case analyzed in the proof of theorem 7.6.
T HEOREM 7.6: For quasistatic pushing of a rigid body in the plane with uniform
coefficient of friction, the rotation direction is determined by a vote of three directed lines:
the line of pushing and the left and right edges of the friction cone.
Proof The simplest case is when the two edges of the friction cone agree, which occurs
when the center of friction is outside the friction cone. Since the line of force falls inside
the friction cone, and dictates the rotation direction (theorem 7.5), the theorem follows
easily.
The more interesting case is when the edges of the friction cone disagree. We will
consider one such case shown in figure 7.6; the other cases are similar. In the figure, l L
votes −, l R votes +, and l P votes −. The majority is −. We will assume a positive rotation,
and derive a contradiction. Since l P votes −, it is to the left of the center of friction r0 . Since
a positive rotation occurs, theorem 7.4 says that l M is to the right of r0 . That means l M is to
the right of l P , giving the right-sliding contact mode. Right sliding requires a line of force
l F on the left edge l L of the friction cone. Theorem 7.5 says the line of force dictates the
rotation direction—it must be negative, contradicting our assumption of positive rotation.
We conclude the rotation has to be negative or zero, but translation is easily excluded.
Theorem 7.6 is particularly useful in analyzing tasks such as the grasping and orienting
tasks of figure 7.3. We will return to parts orienting tasks in section 7.4. First, we turn to
the question of stably pushing an object with edge contact.
MIT Press Math7X9/2001/03/09:12:00 Page 153
start goal
Figure 7.7
Stable pushing of a box by a mobile robot.
The previous section developed some of the basic mechanics of pushing. In this section we
develop some additional theory and planning techniques for pushing an object to a desired
location.
Consider a simple pushing operation, such as the one illustrated in figure 7.7. To
maintain control of the box, the robot uses an edge-to-edge contact, and it chooses motions
that will result in stable pushing, meaning that the edge-to-edge contact is maintained.
Planning such an operation involves two problems: first we must identify the stable pushing
motions, and second we must find a collision-free path using only those motions. We
assume that the start and goal configurations are given, that the slider shape and center
of friction is known, and that a lower bound on the coefficient of friction at the pushing
contact is given. The problem is to find a path for the pusher and slider such that
• the slider remains fixed with respect to the pusher during the motion (stability),
• the path is collision free from the start to the goal,
• any additional pusher motion constraints are observed. For example, if the pusher is a
wheeled mobile robot we have to use motions that do not require sideways motions of the
wheels.
We will employ the nonholonomic planner NHP described in chapter 4, so as input we also
need to specify a cost function.
The main challenge is stability. The mobile robot must employ motions that avoid the
two problems shown in figure 7.8. If the robot moves the wrong way, the slider can slip off
the pusher, or it can roll on the pusher. The question is, what robot motions will produce
a stable push? To address that question we need to introduce a few results that bound the
possible instantaneous rotation centers of an object being pushed. We will develop three
bounds, which when combined suffice to produce stable pushing motions.
MIT Press Math7X9/2001/03/09:12:00 Page 154
154 Chapter 7
Figure 7.8
Two failure modes: the box can slide or roll off the pusher.
Unstable Stable
Figure 7.9
Different bodies can be stably turned at different rates.
Peshkin’s bound
Some objects tend to turn quickly, and some do not (figure 7.9). Roughly speaking, an
object with a broad pressure distribution turns slowly. Of course, the greater the moment
arm of an applied force, the more an object tends to turn. Peshkin’s bound addresses these
two effects, relating an object’s tendency to turn to the difference between the applied
moment arm and the pressure distribution’s radius.
To develop this bound, we proceed as follows:
1. Circumscribe a disk around the slider, centered at the center of friction. Figure 7.10
shows an example disk, and the applied wrench. Imagine that you generated every possible
pressure distribution for the disk, and plotted the resulting instantaneous rotation center.
Then the result is the locus of possible instantaneous centers consistent with the given
applied wrench.
MIT Press Math7X9/2001/03/09:12:00 Page 155
circumscribed
applied disk
wrench c
a
possible
rotation a 2 /c
centers
tip
Figure 7.10
For the given applied wrench and a pressure distribution confined to the disk, the IC will be somewhere in the
shaded region.
circumscribed
disk
pusher
contact
tip
line
a 2 /c
Figure 7.11
As we vary the angle of the line of force, the locus of possible ICs varies so that the tip sweeps out a tip line.
2. For a push with the applied wrench shown, the tip of the locus would yield the slowest
rotation of the object. Let a be the radius of the disk, and let c be the moment arm of
the applied wrench. Then the tip lies at a distance of a 2 /c from the center of friction. An
interesting and useful point: the mapping from wrench to tip is a variation on the familiar
force-dual map. The force dual construction of figure 5.15 describes the behavior of the
disk, if we select the unit of length to be the disk radius a.
3. Now suppose we are pushing the slider with a single point contact. We know that the
applied wrench passes through the contact point, but we do not know in which direction.
Applying the dual map to the contact point yields the tip line (figure 7.11).
MIT Press Math7X9/2001/03/09:12:00 Page 156
156 Chapter 7
pusher
possible
contact
rotation
centers
bisector
Figure 7.12
The bisector bound: no matter how the support pressure is distributed, the IC must fall in the shaded region.
This gives us a useful bound on the possible slider motions which we will call the
Peshkin bound:
Given a slider circumscribed by a disk centered on the center of friction, the
instantaneous center must fall inside the tip line, which is dual to the contact point.
(Actually the locus of instantaneous centers does bulge slightly outside the tip line, so the
tip line should be viewed as a slightly fuzzy line.)
How do we know the Peshkin bound is a true bound? Peshkin studied dipods: pressure
distributions involving just two points of support. The boundary of the instantaneous center
loci in figures 7.10 and 7.11 are generated by dipods. Peshkin conjectured that every
pressure distribution in the disk would yield an instantaneous center within the limits
defined by the dipods, and he supported this conjecture by randomly generating lots of
pressure distributions, none of which exceeded the limits defined by the dipods. Peshkin’s
conjecture remains unproven, but nobody has ever produced a counterexample. Thus the
Peshkin bound comes with an interesting guarantee: if it fails, you can claim the honor of
discovering the counterexample to Peshkin’s conjecture.
possible
rotation
centers
applied
wrench
Figure 7.13
The vertical strip bound. No matter how the support pressure is distributed, the IC must fall in the shaded strip.
The perpendicular projection of the IC onto the line of action must fall within the
projection of the slider support region.
How do we know the vertical strip bound is true? Suppose a wrench is applied to
a planar slider. We choose a coordinate system with the x-axis along the line of action.
Suppose the support region is bounded by a vertical strip x 1 ≤ x ≤ x 2 . Then the vertical
strip bound claims that the instantaneous center of rotation must be in the same strip.
Consider the case of a negative rotation about a rotation center to the left of the vertical
strip, as in figure 7.14. Then every possible support point will have a negative velocity in the
y-direction and thus, by Coulomb’s law, a positive component of force in the y-direction.
Integrating over the entire support region has to give a positive component of force in the
y-direction, which cannot balance the applied wrench. The other cases are similar.
158 Chapter 7
IC
Figure 7.14
Proof of the vertical strip bound. An IC outside the shaded region yields a vertical component of force that
cannot be balanced by the given wrench.
Figure 7.15
Consider the possible failure modes of figure 7.8. Note that if the slider slips on the
pusher then the applied wrench must be on the left or right edge of the friction cone. Also
note that if the slider rolls on the pusher, the applied wrench must be through the left or
right vertex. We proceed by eliminating these possible failure modes.
First we can use the vertical strip bound to eliminate the slipping failure mode
(figures 7.15 and 7.16). We consider the set of all wrenches with direction satisfying
Coulomb’s law. Slip corresponds to the subset of wrenches at either the left or right edge
MIT Press Math7X9/2001/03/09:12:00 Page 159
Figure 7.16
Figure 7.17
of the friction cone. Figure 7.15 shows the ICs that might possibly map to the left or right
edge of the friction cone, and figure 7.16 shows the ICs that might possibly map to the
interior of the friction cone, but definitely do not map to either edge of the friction cone.
Now we can use the Peshkin and bisector bounds to eliminate the rolling failure mode
(figures 7.17 and 7.18). We consider the set of all wrenches with line of action through
the contact line segment, regardless of the direction. Rolling corresponds to the subset of
wrenches at either the left or right vertex of the contact line segment. Figure 7.17 shows
the ICs that might possibly map to a line of action through the left or right vertex of the
contact line segment. Figure 7.18 shows the ICs that might possibly map to a line of action
through the interior of the contact line segment, but definitely do not map to either vertex.
MIT Press Math7X9/2001/03/09:12:00 Page 160
160 Chapter 7
Figure 7.18
Figure 7.19
Combining the constraints of figures 7.16 and 7.18 gives a set of ICs yielding wrenches that act between the two
corners and in the interior of the friction cone, so that neither the slipping nor rolling failure modes are possible.
If we intersect the ICs of figures 7.16 and 7.18 we obtain figure 7.19. These are the ICs
that might map to a wrench that the pusher can apply to the slider during a stable push, but
definitely cannot map to a failure mode. If the pusher uses one of these ICs, the slider has
to move without slipping or rolling, i.e. it has to move with the same IC, giving a stable
push.
The construction above can be stated more succinctly, albeit more abstractly. The
pushing geometry and Coulomb’s law define a polyhedral convex cone of possible pushing
wrenches. The failure modes correspond to the boundary of that polyhedral convex cone,
and the stable pushes correspond to the interior. We use the bounds to construct all ICs
possibly mapping to the polyhedral convex cone, and then eliminate the ICs consistent
MIT Press Math7X9/2001/03/09:12:00 Page 161
Figure 7.20
An automatically planned path for a mobile robot pushing a polygonal object. From (Lynch and Mason, 1996).
with the boundary of the polyhedral convex cone. Any remaining IC must map to the
interior of the polyhedral convex cone, which is inconsistent with slipping or rolling.
We have to consider the possibility that we have been too conservative. It seems
possible that we will eliminate all ICs. Perhaps for every IC we might consider, there
is some pressure distribution mapping that IC to a failure mode. Fortunately that is not
the case for suitable choices of pushing geometry. Suppose we choose a pushing edge so
that there is a line of action through the interior of the pushing edge, through the center
of friction, with direction that is interior to the friction cone. Then it is easy to show that
a purely translational push in that direction is stable. Further, the construction above is
guaranteed to return a set of ICs including that stable translational push as well as some
ICs turning both left and right (Lynch and Mason, 1996).
162 Chapter 7
pressure break
Outlet
Bowl
screws rejected
unless lying on
side
Electromagnet Suspension
spring
to delivery screws rejected
chute unless in single
slot in file end-to-end
Base or if delivery
track to
orient screws chute is full
Figure 7.21
A vibratory bowl feeder uses a vibratory motion to move parts up a track past a sequence of obstacles. Adapted
from (Boothroyd, 1992).
To apply NHP, we need to identify a small number of actions. In this case the choice
is easy: we take the sharpest turning radius to the left, the sharpest turning radius to the
right, and straight. With a suitable objective function, NHP constructs paths such as the one
in figure 7.20.
This section introduces the problem of parts orienting and feeding, and applies the theory
of pushing to the problem.
Parts orienting is an important part of automation systems. Chapter 1 described one
technique implemented by the Sony APOS system. Figure 7.21 shows a more common
method: a vibratory bowl feeder. The parts are placed in the bottom of the bowl. A specially
shaped vibration of the bowl causes the parts to climb a ramp that spirals up the inside wall.
As the part climbs the ramp, it has to pass various stages which are designed to pass only
single parts in the desired orientation.
The vibratory bowl feeder and the APOS machine provide an interesting contrast in
flexibility: the ease with which a machine may be reconfigured for manufacture of a new
product. For a bowl feeder, it typically takes a period of weeks or months to go from a part
shape to a working feeder. For the APOS machine, it typically takes from one day to one
week. In principle, robots can exhibit even greater flexibility. The ideal would be a system
that requires no redesign or reconfiguration to orient a new part, but only a change in robot
motion.
MIT Press Math7X9/2001/03/09:12:00 Page 163
rad(θ)
rad(θ) θ θ
Figure 7.22
Notation and example of radius function.
Pushing is a good way to orient a part. With a flat support surface and a flat pusher, the
same hardware can be used for a very broad variety of parts. This raises an important
problem: to find a sequence of motions that will orient a given part. We will follow
Goldberg’s (1993) work to address a simplified version of the problem, subject to the
following assumptions:
1. Shapes: The part is an isolated rigid planar polygon, on a planar support surface. The
pusher is a flat rigid plate.
2. Forces: Contact forces are subject to Coulomb’s law. The coefficient of friction with the
support surface is uniform over the surface.
3. Motions: The pusher always moves along its own surface normal (square pushing). The
part makes contact only with the face of the pusher. Each push proceeds until the part
reaches a stable orientation.
4. Quasistatic: a balance of contact forces and gravity determines the object motion with
sufficient accuracy.
The most awkward of these assumptions is that the push proceeds until the part reaches
a stable orientation. In theory, that could require an arbitrarily long push. In practical
situations this may or may not be a problem.
164 Chapter 7
consider a support line (contacting the boundary but not the interior) below the object,
parallel to the x-axis. The distance from the origin to that support line is defined to be
the r adi us at 0◦ . Now imagine that the support line rolls around the object in a counter-
clockwise direction. Let the angle of the support line be θ , and define the radius function
rad(θ ) to be the distance from the origin to the support line with direction θ .
Note the radius function is easily constructed as the maximum of a family of sinusoids.
Each sinusoid corresponds to the radius function of a single vertex.
Suppose the support line in the above construction is the pusher. We fix the pusher
orientation, and let the object rotate. Note that θ does not follow the usual convention for
measuring object orientation. It gives the pusher orientation relative to the object, even
though it is the object that moves. Equivalently, it is the angle from the pusher to the object
measured clockwise, i.e. the negative of the usual convention.
Now we invoke theorem 7.6, and we ask the question: at what values of θ does the
vote change? In the case of square pushing, the vote is dictated by the contact normal. So
when does the center of friction switch from one side of the contact normal to the other?
In either of two cases: when the center of friction coincides with the contact normal, which
occurs at a maximum of the radius function; or when the object rolls from one vertex to
another, which occurs at a minimum of the radius function. A maximum occurs only at the
maximum of an individual sinusoid. Ordinarily a minimum occurs only at the intersection
of two sinusoids, but see exercise 7.10 for an exception. For simplicity we will assume
that the individual sinusoids do not intersect at any individual sinusoid’s maximum. See
exercise 7.17 for an example of what happens when we relax that assumption.
So, qualitatively, the radius function is like a potential function. Peaks are unstable
equilibria, and valleys are stable equilibria. We can define a push function push(θ ) (fig-
ure 7.23) to describe the effect of a square push: push(θ ) returns the object orientation θ
resulting from a square push with initial object orientation θ . The push function is piece-
wise constant: push(θ ) maps the entire interval between two adjacent maxima of the radius
function to the enclosed minimum. For convenience we will assume that the interval is
closed on the left and open on the right.
The push function gives us a succinct description of the task mechanics. In the next
section we address the question of whether an arbitrary object can be oriented. Then we
address the issue of how to model uncertainty, and after that we consider how to choose a
sequence of pushes to orient an object.
Rotational symmetry. Orienting up to symmetry.
Consider again the example radius function of figure 7.22. The rotational symmetry of
the rectangle results in a periodic radius function and a periodic push function. In such a
case, there is no sequence of pushes that can unambiguously orient the object. The final
MIT Press Math7X9/2001/03/09:12:00 Page 165
push(θ)
0
θ
0 π
Figure 7.23
Example push function. Adapted from (Goldberg, 1993).
orientation will be determined only up to the underlying symmetry of the object. Note,
however, that rotational symmetry of an object is in this case defined relative to the center
of friction, so that an eccentric mass distribution can break the symmetry. Although we
will not prove it here, Goldberg (1993) shows that every polygon can be oriented up to
symmetry in its push function.
Modeling uncertainty
When the robot carries out a quasistatic plan, the task state is just the system configuration.
Every execution of the plan can be modeled as a single trajectory through configuration
space.
However, the parts orienting task necessarily involves uncertainty. If we imagine
running the plan many times, and collect task states for all these runs in one plot, then
we will see an “uncertainty cloud” of possible states. In devising the plan we have to think
about these variations in state, and how to manipulate the entire uncertainty cloud.
The first question is, how to model the uncertainty—how to represent the ensemble of
possible task states. For the present case, a simple approach is to consider closed intervals
of the circle. A closed interval = [α, β] means that the actual state θ is a member of
the interval. We also define a variant on the push function that operates on intervals: p̄()
returns the smallest interval containing {s(θ )|θ ∈ }.
MIT Press Math7X9/2001/03/09:12:00 Page 166
166 Chapter 7
Planning algorithm
Planning a sequence of pushes is straightforward, if you think backwards. Let φi be the
pusher orientation for the i th step of the plan, and let i be the set of possible part
orientations θ prior to the i th push. We want a sequence of n pushes, for some n, that
orients the part up to symmetry. Equivalently, we will construct a sequence of pushes that
maps from the largest possible interval 1 to a single point.
We start with the last push, which maps from the interval n to a single orientation.
What is the largest possible interval of orientations that is mapped by the push function
to a single orientation? That is, what is the largest such that p̄() is a single point? By
examining the push function in figure 7.23 we easily find the answer by looking for the
largest step. That largest step, which we will call n , is a bound on the object orientations
for which a single push will orient the object. (We don’t know what n is yet, but we can
still write n , n−1 , etc.)
Now we repeat the process. We consider the next to last push, which must result in an
object orientation within n . So now the question is, what is the largest interval that is
mapped to an interval smaller than n , i.e. p̄() ⊂ n . That interval is the largest interval
that can be unambiguously oriented in two pushes. Continuing in this way we obtain an
algorithm:
Figures 7.24 and 7.25 illustrate the algorithm, using the rectangle of figures 7.22
and 7.23. First we find the widest step in the push function to obtain n , shown in
MIT Press Math7X9/2001/03/09:12:00 Page 167
push(θ)
p̄(n )
0
θ
0 π
Θn
Figure 7.24
First step of the algorithm. We want the largest interval such that p̄() is a singleton. Adapted
from (Goldberg, 1993).
push(θ )
p̄(n−1 )
0
θ
0 Θn−1
Figure 7.25
At subsequent steps of the algorithm, we look for the largest interval such that p̄() is smaller than the
interval found in the previous step. Adapted from (Goldberg, 1993).
MIT Press Math7X9/2001/03/09:12:00 Page 168
168 Chapter 7
figure 7.24. Next we find the largest interval that maps to a set p̄() smaller than
n . Figure 7.25 shows graphically the largest such interval, which is then n−1 . In the
construction of n−2 , however, we find there is no interval larger than n−1 mapping to
a set smaller than n−1 , so we terminate with n = 2. In this example we terminate with
|n−1 | = π, due to symmetry in the push function. The rectangle will be oriented only up
to a 180◦ symmetry. For generic objects the algorithm will terminate with 1 equal to the
entire circle.
The final step is to transform the plan into a useful form. The algorithm identifies the
sequence of intervals , which indirectly describes each push as range of orientations of
the pushing support line relative to the object. A more useful description of the plan would
be the sequence of supporting line orientations relative to some fixed frame.
Let φi be the pusher orientation relative to some fixed coordinate frame, for the i th step
of the plan
1. Set φ1 to zero; set i to 1.
2. Set φi+1 to push(αi ) − αi+1 − i + φi .
where [αi , βi ] = i and i = 12 (|i | − |i+1 |).
For the rectangle, φ1 is zero, and φ2 is π4 . A push, followed by a counterclockwise
rotation of π4 and another push, will orient the rectangle up to symmetry.
7.5 Assembly
Assembly is such a broad and complex problem that it encompasses all of the issues
in manipulation. This section attempts to review briefly the broad topic of assembly,
then focuses on quasistatic models of assembly. The assembly topic is taken up again in
chapter 10, which addresses dynamic aspects of assembly tasks.
There are two ways of looking at assembly. First, we can look at assembly as an
application task domain. As a central part of manufacturing automation, assembly is
important not only because of the economic benefits, but also because it leads robotics
research toward interesting problems.
Second, we can look at assembly as a fundamental process employed in many manip-
ulation tasks. As we observed in chapter 1 the APOS system actually uses assembly to
orient parts. Grasping a part is a kind of assembly. Even placing an object on a table is an
assembly operation.
First we quickly review a few of the key issues in assembly:
• Assembly sequence. In what order should parts be joined to an assembly? In order to
find a good sequence, we might first consider how to enumerate the different possible
MIT Press Math7X9/2001/03/09:12:00 Page 169
Figure 7.26
An and/or graph showing there are just two two-handed ways to unscramble an egg.
sequences. First we limit ourselves to two-handed assemblies, meaning that each assembly
operation involves at most two independent motions, corresponding to two parts or sub-
assemblies being brought together to form a new subassembly. To enumerate the possible
assembly sequences, we look at every possible subassembly, and consider every possible
way of partitioning it into two smaller subassemblies. The result can be represented as an
and/or graph (figure 7.26). Each node of the graph is a subassembly. Each and-arc corre-
sponds to a way of partitioning the subassembly. Any subtree with one and-arc per node
constitutes a candidate assembly sequence. (Actually the subtree is a partial order, which
still allows some freedom in the order of operations.)
• Local constraint analysis. Assembly by definition involves the process of bringing
objects into kinematically constrained relationships. For any given assembly step, a key
question is whether the final motion is consistent with all active kinematic constraints. For
example, you cannot put the batteries in the flashlight after the lid is on. The easiest way
to analyze this is to reverse time, and ask whether the disassembly is possible. A battery
inside a closed flashlight is immobilized. Disassembly requires that the flashlight be opened
before the batteries can be removed. How do we determine whether a disassembly motion
exists? In many cases the first order form closure methods of previous chapters will suffice,
although in some cases higher order analysis is necessary.
• Path planning and grasp planning. Where should the robot grasp parts and assemblies,
and what path should it follow?
• Gripper and fixture design. Industrial assembly often involves specialized grippers
designed to fit a particular feature of a particular part. In some instances, such as gripping
a shaft, this is pure catalog work. In other cases standard designs will not suffice, and it is
necessary to design a gripper that conforms to the particular part’s shape. The same holds
for fixture design. Both problems were addressed in section 7.1.
MIT Press Math7X9/2001/03/09:12:00 Page 170
170 Chapter 7
Wedged Jammed
Figure 7.27
Wedging and jamming are two failure modes for assembly tasks.
• Stable subassembly. Given that we have placed two parts in the desired final relationship,
will they stay in place while we move the other parts? As with path planning, this is a very
hard problem to solve in the most general case. For simple cases the methods of form
closure, force closure, and equilibrium analysis of previous chapters will suffice.
• Assemblability. Given that an assembly step is kinematically feasible, will the two parts
go together without jamming? Jamming can prevent successful assembly, especially in the
presence of shape tolerances, control error, and friction. Jamming is addressed below.
• Tolerances. Industrial parts are never perfect. Their shapes vary within limits. Also,
there may be some variation possible in the relative position of two assembled parts. Tol-
erances are sometimes cumulative, so that “tolerance stackup” can lead to subassemblies
with substantial variations in shape. In principle, all the analysis of local constraint, path
planning, stability, and assemblability has to account for tolerances.
• Design for assembly. Our analytical tools are limited. The hardest assembly problems
will be intractable for the foreseeable future. Fortunately, we can avoid the hardest prob-
lems by designing products and parts more intelligently, to simplify the analysis and plan-
ning of automated assembly problems. The APOS system discussed in chapter 1 was
shaped in part by the design for assembly concept. Products can be designed so that al-
most all assembly steps are vertical insertions that can be performed by a manipulator
with just four degrees of freedom. Parts can be designed so that orienting, grasping, and
assembly steps all occur without jamming.
It should be clear that assembly is a big problem, and we can only touch on a few of
the fundamental principles. The rest of this section addresses the quasistatic assembly of
planar peg in hole, focusing on the mechanics of jamming and how to avoid jamming.
MIT Press Math7X9/2001/03/09:12:00 Page 171
Figure 7.28
Force-dual and moment labeling analysis of the wedged peg. Force closure means there is no wrench that can be
is guaranteed to move the peg under the assumptions of rigid bodies and Coulomb friction.
172 Chapter 7
Figure 7.29
Force-dual and moment labeling analysis of the jammed peg. The applied wrench can be balanced by a resultant
of the two frictional contacts.
labeling construction. This gives us two different ways of noticing that the peg is in force
closure. The intersection of the moment labeling regions is null, meaning that the possible
wrenches exhaust all of wrench space. And, the convex hull of the force dual regions is all
of force dual space. Without a doubt, the peg is in force closure, and as long as we assume
rigid bodies and Coulomb friction there is no applied wrench that will definitely move the
peg.
Figure 7.29 shows the jammed peg, the force dual construction, and the moment
labeling construction. Note that Simunovic’s point P is one vertex of the moment labeling
construction. In the force dual construction, we note that the applied wrench w maps into
the region labeled with the opposite sign. Hence w can be balanced by the frictional contact
forces. From the moment labeling construction we may draw the same conclusion.
Two lessons arise from the analysis of peg in hole. First, one can avoid wedging by
avoiding two-point contact at shallow insertion depths. Beyond a certain depth Nguyen’s
condition cannot be satisfied. Second, to avoid jamming it is necessary to apply an insertion
force that stays close to the peg.
MIT Press Math7X9/2001/03/09:12:00 Page 173
Compliance elements
rubber/steel sandwiches
stiff in compression
soft in sheer
Compliance center
Figure 7.30
A remote center of compliance device for industrial assembly tasks.
The section on grasping and fixturing relies primarily on the work by Mishra, Schwartz,
and Sharir (1987). A broader treatment would also address stability issues, compliance,
non-point fingers, deformation of fingers and object, and measures of the quality of the
grasp, to name just a few of the issues. Some of the key early work is that of Hanafusa and
Asada (1977) and Asada and By (1985). Both grasp planning and fixture design continue
to be active research areas. See (Bicchi and Kumar, 2000) for a survey of work on grasp
and contact modeling. For recent work on fixture design see (Brost and Goldberg, 1996).
MIT Press Math7X9/2001/03/09:12:00 Page 174
174 Chapter 7
There is disagreement over the definitions of force closure and form closure. The terms
originated in the kinematics of mechanisms, where it is necessary to distinguish joints that
are held together by their form (such as the cylindrical pair of figure 2.21) or by some force
(such as the planar pair of figure 2.21, assuming a gravitational field). This text chooses a
different interpretation: “closure” implies complete restraint, and “force” versus “form”
refers to the way we analyze a problem. These definitions are distilled from the most
widely accepted usage in robotics research. Readers interested in a scholarly adventure
should compare the definitions of Reuleaux (1876), Bicchi and Kumar (2000), Nguyen
(1988), Lakshminarayana (1978), and Trinkle (1992).
The analysis of pushing presented in section 7.2 is my own work (1986). Pushing with
a stable edge-edge contact is drawn from the work of Lynch and myself (1996), drawing
heavily on the work of Peshkin and Sanderson (1988a). An alternative approach is to use
the minimum power principle explored by Peshkin and Sanderson (1989) and Alexander
and Maddocks (1993). From (Peshkin and Sanderson, 1989):
A quasistatic system chooses that motion, from among all motions satisfying the
constraints, which minimizes the instantaneous power.
Some people find this principle so intuitively appealing that they are surprised to find it
is not generally true. But, it is true for systems with no velocity dependent forces, such
as the problems posed in this chapter. The minimum power principle makes an interesting
comparison with the maximum power inequality (section 6.6). Nature maximizes power
when choosing the frictional load for a given slider motion, but minimizes power when
choosing the motion of a slider being pushed.
One practical problem is to determine the motion of pushed object when the support
distribution is known. My PhD thesis (Mason and Salisbury, 1985) describes a numerical
approach. Howe and Cutkosky (1996) address the problem using approximations of the
limit surface. Alexander and Maddocks (1993) use the minimum power principle to solve
the problem numerically, applying the methods of Overton (1983) to avoid convergence
problems.
For the parts orienting method of section 7.4 the main source is (Goldberg, 1993).
Earlier works on parts orienting include (Grossman and Blasgen, 1975), (Erdmann and
Mason, 1988),(Brost, 1988),(Peshkin and Sanderson, 1988b). More recent work on parts
orienting includes (Blind et al., 2000), which also includes a brief but useful survey.
The primary source for the mechanics of assembly is (Simunovic, 1975). The and/or
graph and its use in enumerating assembly sequences is taken from (Homem de Mello and
Sanderson, 1990). Two especially useful discussions of assembly are to be found in the
works of (Latombe, 1991; Halperin et al., 1997). Also see De Fazio and Whitney’s (1987)
work for computer-aided assembly planning.
MIT Press Math7X9/2001/03/09:12:00 Page 175
1 1
y y
x x
Figure 7.31
Two problems for grasp analysis (exercise 7.2).
Figure 7.32
An object to be grasped with two fingers (exercise 7.3).
Exercises
Exercise 7.1: Suppose we lived in a four-dimensional Euclidean world. What is the small-
est number of fingers that could achieve a first-order form closure grasp of a rigid object?
Exercise 7.2: Figure 7.31 shows two grasps of a rectangle in the plane by frictionless
fingers.
(a) For each grasp draw the corresponding wrenches in wrench space.
(b) Are any of these grasps force closure? If not, show the location(s) of as many more
fingers that it would take to achieve force closure. Use no more fingers than necessary.
MIT Press Math7X9/2001/03/09:12:00 Page 176
176 Chapter 7
Figure 7.33
An apparatus for measuring the coefficient of friction by pushing.
(a) (b)
Figure 7.34
A pick operation to be analyzed (exercise 7.5).
Exercise 7.3: We want to find a force closure grasp for the object of figure 7.32 with
just two fingers. If they were frictionless that would be impossible. In fact, there is some
friction, but the coefficient is very small. Use the zigzag locus to find all two-finger grasps
that give force closure with arbitrarily small but non-zero coefficient of friction.
Exercise 7.4: Figure 7.33 shows an apparatus for measuring the coefficient of friction. A
pusher moves in a straight line, with a pushing surface sharply inclined from the direction
of motion to ensure that slip occurs with the slider. Use a quasistatic force balance to show
that the slider’s motion relative to the contact normal gives the friction angle corresponding
to the pusher-slider contact, regardless of the coefficient of friction between the slider and
the support.
Exercise 7.5: Use the moment-labeling or the force-dual method to analyze the pick
operation shown in figure 7.34.
First, consider the situation shown in (a). Because the gripper is not perfectly centered,
one finger makes contact first. We want the object to slide to a position centered between
the fingers. Assuming the fingers can apply very large forces (but not infinite), determine
a suitable range of coefficient of friction. You may assume the coefficient of friction is the
same for all contacts.
MIT Press Math7X9/2001/03/09:12:00 Page 177
Figure 7.35
Two designs for a tricycle pusher (exercise 7.7).
Now, consider the situation shown in (b). Because the gripper is not perfectly aligned,
we need the object to continue slipping so that it is aligned with the fingers. Again, find a
suitable range for the coefficient of friction.
Finally, suppose the object is now aligned in the fingers, and has been lifted away from
the table. We do not want the block to slip out of the fingers. Suppose the maximum finger
force is actually 100 times the block weight. Find a suitable range for the coefficient of
friction.
Exercise 7.6: The proof of the bisector bound that Randy Brost and I didn’t publish is
based on a result from (Mason and Salisbury, 1985). We consider the motion of a slider
being pushed through a point contact, and we choose the origin to coincide with the
point contact. The slider motion must produce zero frictional torque about the origin.
We now consider the rotation center to be fixed, and define the function g(r) to be the
torque
that would result from a unit normal force at r. Then the total torque would be
g(r) p(r) dA = 0. We plot the graph of g in x-y-g space. Let g(R) be the locus of
(x, y, g(x, y)) for all (x, y) in the support region R. Let G be the convex hull of g(R).
Let (x 0 , y0 ) be the center of friction. Then the given rotation center is a solution for some
pressure distribution on R if and only if the point (x 0 , y0 , 0) is in G.
To prove the bisector bound, let the support region be the whole plane R = E2 . Show
that the resulting convex set G is strictly positive for all points (x, y) outside the circle
centered on the rotation center and passing through the pushing contact. Show that the
distance from the rotation center to the center of friction cannot exceed the distance from
the rotation center to the pushing contact.
Exercise 7.7: Figure 7.35 shows two variations of a mobile robot designed for pushing.
Each is a tricycle configuration with two unpowered rear wheels and one front wheel which
is both steered and powered. On the left a snowplow blade is mounted to the frame of the
tricycle, so that it is always parallel to the rear axle. On the right the snowplow blade is
MIT Press Math7X9/2001/03/09:12:00 Page 178
178 Chapter 7
(−6, 8)
y
Figure 7.36
The Brost triangle.
mounted so that the blade is always parallel to the front axle. Suppose we are pushing the
rectangle of figure 7.19, with the same coefficient of friction. For each tricycle, combine
the stable pushing constraints of figure 7.19 with the constraints imposed by the tricycle, to
identify the steering angles which produce stable pushing. Which design gives the greatest
steering angle? How could that design be improved to give an even greater steering angle?
Exercise 7.8: The Brost triangle has vertices (0, −4), (6, −4), and (−6, 8). Assuming a
uniform mass distribution, the center of friction would then be at the origin. Suppose we
want to push the Brost triangle with a stable edge-edge contact on the edge of intermediate
length. Use the method described in the text to identify suitable instantaneous centers.
Exercise 7.9: Fill in the details of an algorithm to construct the radius function. Write and
test code implementing the the algorithm. The input should be the coordinates for each
vertex, and the angle of the supporting line. The output should be the directed distance to
the supporting line.
Exercise 7.10: It was stated in section 7.4 that a minimum of the radius function can occur
at the minimum of one of the individual sinusoids. This implies that the radius function can
be negative, which for pushing problems would seem to require that the center of friction
be outside the convex hull of the support region. For an example of where this might be
useful, consider a mouse pushing a human-sized couch with four square legs. Although the
center of friction would be inside the convex hull of the four legs, the mouse interacts with
a single leg. Construct the radius function of a square, using a reference point that is on a
diagonal, but outside the square.
MIT Press Math7X9/2001/03/09:12:00 Page 179
Figure 7.37
A figure of constant diameter—Reuleaux’s triangle (exercise 7.12).
Exercise 7.11: The diameter function diam(θ ) is related to the radius function. Given a
bounded planar shape, the diameter at θ , diam(θ ), is the distance between the two parallel
supporting lines at angle θ . Show that the diameter function can be constructed as the
maximum of a family of sinusoids. Construct the diameter function for the triangle of
figure 7.36.
Exercise 7.12: Given an object’s diameter function, can the object shape be reconstructed?
(Hint: construct the diameter function of the circle, and of the object in figure 7.37.
See (Reuleaux, 1876) for more examples of a similar nature.)
Exercise 7.13: Why are manhole covers round? (Hint: if you believed the answer you may
have heard before—“It’s the only shape that cannot fall into the manhole”—you should
consider the previous exercise.)
Exercise 7.14: Consider the act of grasping a planar shape with a frictionless parallel jaw
gripper. Let the squeeze function sqz(θ ) be a function mapping the initial orientation to the
final orientation of an object being squeezed in such a way. Assuming that the fingers make
simultaneous contact, we can use the diameter function to construct the squeeze function,
just as we used the radius function to construct the push function. Construct the squeeze
function for the triangle of figure 7.36.
Exercise 7.15: Construct the radius function for a square with center of mass at one vertex.
Can the object be oriented by pushes? Why or why not?
Exercise 7.16: Construct a planar polygonal shaped object, and choose a center of friction
in the object’s interior, so that the object is completely oriented with just one push.
Construct the corresponding radius function.
MIT Press Math7X9/2001/03/09:12:00 Page 180
180 Chapter 7
Exercise 7.17: Construct the radius function for the triangle of figure 7.36 and show that
maxima and minima are not isolated in this case. Suppose the goal is not just to orient
the triangle, but to orient it so that it ends with the short side against the pusher. Find
a coefficient of friction, and a sequence of pushes (not necessarily square pushes) to
accomplish that goal.
Exercise 7.18: Construct the contact forces acting on the jammed peg of figure 7.29. Draw
them the old fashioned way: as vectors at the contact points.
Exercise 7.19: Even though neither you nor your clothes are rigid bodies, it is still possible
to use an and/or graph to enumerate potential procedures for getting dressed. For example,
you can put your socks into your shoes before your feet, although it is difficult and the
results are less than satisfactory. On the other hand, as far as I can determine it is impossible
to put shorts on under long pants. Construct an and/or graph for getting dressed. Substitute
generic symbols for the names of any unmentionable items, or leave them out entirely if
you prefer. Research for this problem should not be done in class.
MIT Press Math7X9/2001/03/09:12:00 Page 181
8 Dynamics
Dynamics plays two important roles in manipulation. It plays a direct role in the cases we
termed dynamic manipulation: manipulation techniques that depend on inertial forces to
accomplish a task. Dynamics also plays an indirect role in the case of static manipulation
and quasistatic manipulation. Newtonian dynamics provides the foundation for static and
quasistatic analysis. In particular, we appealed to the Newton-Euler equations in chapter 5
to provide a basis for the statics of rigid bodies in three-dimensional space.
This chapter reviews Newton’s laws, develops the Newton-Euler equations for rigid
bodies, and applies the theory to the motion of rigid bodies with frictional contact.
In chapter 5 we hypothesized that a force can be described as a vector, and that the motion
of a particle is determined by the vector sum of forces acting on the particle. Newton’s
laws, rendered in modern terms, provide additional hypotheses on the relation of force and
motion:
1. Every body continues at rest, or in uniform motion in a straight line, unless forces act
upon it.
2. The rate of change of momentum is proportional to the applied force.
3. The forces acting between two bodies are equal and opposite.
Newton’s laws refer to momentum, which is for us a new term. To define momentum,
consider a simple set of experiments, where different bodies are made to interact with some
reference object. The nature of the interaction is not important, they might be connected by
a spring, or by gravitation. For any given body, its acceleration will bear some fixed ratio to
the acceleration of the reference object. We can take this ratio to be the mass of the object,
and define its momentum to be the mass times the vector velocity.
First, we will consider a simple case, a particle in three dimensions. We choose some point
in space to be the origin, and represent every point by a vector x from the origin to the
point. So Newton’s second law can be written
dp
=F (8.1)
dt
MIT Press Math7X9/2001/03/09:12:00 Page 182
182 Chapter 8
where p is the momentum, and F is the total applied force. By definition, the momentum
is the mass times the velocity,
dx
p = mv = m (8.2)
dt
so for fixed mass the second law can also be written:
d 2x
m = F. (8.3)
dt 2
Integrating, we obtain a different form
t2
p2 − p1 = F dt (8.4)
t1
dT m d
= (v · v) (8.6)
dt 2 dt
m dv dv
= ·v+v· (8.7)
2 dt dt
dv
=m ·v (8.8)
dt
=F·v (8.9)
stating that the time rate of change of kinetic energy is power. Integrating,
t2
T2 − T1 = F · v dt (8.10)
t1
or
x2
T2 − T1 = F · dx (8.11)
x1
Dynamics 183
Recall that in chapter 5 we defined the moment of a force about a line, and about a point.
The moment about the origin of a force f acting at a point x is given by
n=x×f (8.12)
and the moment about a line l through the origin with direction l̂ is given by
nl = l̂ · n (8.13)
Similarly, suppose a particle has momentum p passing through some point x. Then we
can define the moment of momentum, or angular momentum, about the origin
L = x×p (8.14)
L l = l̂ · L (8.15)
(It seems that modern texts prefer the term “angular momentum”, but “moment of mo-
mentum” is far more euphonius, and also reflects the commonalities with the moment of a
directed line or the moment of force, arising from use of Plücker coordinates.)
Differentiating,
dL d
= (x × p) (8.16)
dt dt
d
= (x × mv) (8.17)
dt
dx dv
=m ×v+x× (8.18)
dt dt
dv
=x×m (8.19)
dt
=x×F (8.20)
=N (8.21)
which is essentially a restatement of Newton’s second law, but using moments of force and
momentum. In integral form, we have
t2
L2 − L1 = N dt (8.22)
t1
Using either F = dp/dt or N = dL/dt, we have three second order differential equations.
MIT Press Math7X9/2001/03/09:12:00 Page 184
184 Chapter 8
If F or N is uniquely determined by the state (x, v), then there is a unique solution giving
x(t) and v(t) for any given initial conditions x(0) = x0 , v(0) = v0 .
Now we can extend Newton’s laws to a system of particles. For the kth particle, define
m k to be the mass, xk to be the position vector, and pk to be the momentum. We divide
the force Fk into two components: Fik the internal force, comprising the sum of all forces
exerted by other particles in the system; and Fek , the external force.
We define the momentum of the system to be
P= pk (8.23)
Note that the sum of all internal forces is zero, because by Newton’s third law, the force
exerted by one particle on another will be balanced by the reaction force.
For the kth particle Newton’s second law yields
dpk
= Fek + Fik (8.25)
dt
Summing:
dpk
= Fek + Fik (8.26)
dt
Hence
dP
=F (8.27)
dt
showing that Newton’s second law extends to the system of particles. If we define the total
mass,
M= mk (8.28)
Dynamics 185
Lk = m k xk × vk (8.34)
Differentiating,
dLk dvk dxk
= m k xk × + mk × vk (8.35)
dt dt dt
The second term vanishes, leaving
dLk dpk
= xk × (8.36)
dt dt
Substituting Newton’s second law for pk ,
dLk
= xk × Fek + xk × Fik (8.37)
dt
Summing over all the particles,
dL
=N+ xk × Fik (8.38)
dt
Again, we can apply Newton’s third law to show that the sum of the internal moments is
zero, so that the second term vanishes:
dL
=N (8.39)
dt
MIT Press Math7X9/2001/03/09:12:00 Page 186
186 Chapter 8
showing that moment of force and moment of momentum behave just as they did for a
single particle. For a system of particles, neither F = dP/dt, nor N = dL/dt, nor both
sets of equations taken together, is sufficient to determine the motion of the particles. For
that, we would have to take a detailed look at the particle interactions. However, the next
section considers rigid bodies, where the particle interactions can be ignored.
As a final case, we will consider the dynamics of a system of particles, with the distances
fixed—a rigid body. This restriction leads to motions of surprising elegance and complex-
ity.
First, it is necessary to address a common misconception. Just as we often write
Newton’s second law as F = m dv/dt, it is tempting to write N = I dω/dt, where I
is taken to be a scalar angular inertia, and ω is taken to be a vector angular velocity. This
is quite wrong, and reveals an important difference between linear motion and rotational
motion under Newton’s laws. The simplest case is with zero applied force and torque.
Newton’s first law says that, with zero applied force, the velocity of a body is constant. So
one might speculate that, for zero applied torque, the angular velocity of a body is constant.
This also is wrong. A body tumbling in space has a continually varying angular velocity,
even though the angular momentum is constant. Any reader confronting this fact for the
first time ought to try the experiment described in exercise 8.1.
We begin by deriving the correct equations of motion of a rotating rigid body. The
velocity of a point x can be written
v = v0 + ω × x (8.40)
where v0 is the velocity of a point at the origin, and ω is the angular velocity of the body.
Earlier, for the angular momentum of a point in a rotating body, we obtained equa-
tion 8.34:
Lk = m k xk × vk
Dynamics 187
The first term on the right hand side is the angular momentum that would be obtained if all
the mass were concentrated at the center of mass. We can eliminate this term by placing
the origin at the center of mass, yielding:
L= m k xk × (ω × xk ) (8.44)
To factor ω out of the sum, we can represent each vector as a column matrix, and substitute
xtk ω for xk · ω:
L= m k |xk |2 I3 − xk xtk ω (8.46)
where I3 is the three-by-three identity matrix. We now define the angular inertia matrix I :
I = m k |xk |2 I3 − xk xtk (8.47)
Substituting above,
L = Iω (8.48)
dIω
N= (8.49)
dt
dω d I
=I + ω (8.50)
dt dt
From inspection of equation 8.47, it is apparent that the inertia matrix is constant with
respect to a coordinate frame fixed to the body. But the body is rotating with angular
velocity ω, so the inertia matrix is time-varying in any fixed frame. Each column vector in
the inertia matrix can be treated as a vector fixed in the moving body, so that the velocity of
each column vector is given by taking cross product with ω, which can also be expressed
as matrix product with the cross-product matrix W :
0 −ω3 ω2
W = ω3 0 −ω1 (8.51)
−ω2 ω1 0
MIT Press Math7X9/2001/03/09:12:00 Page 188
188 Chapter 8
Hence
dω
N=I + W Iω (8.52)
dt
dω
N=I + W (I ω) (8.53)
dt
dω
N=I + ω × (I ω) (8.54)
dt
Equation 8.54 is Newton’s second law applied to rigid body rotation. Note that the analogy
with linear motion fails in two ways: the angular inertia is a matrix rather than a scalar; and
there is a second term on the right hand side, ω × (I ω). The presence of this term causes
a time-varying angular velocity, even when N = 0.
Equation 8.54 has an elegant form when expanded in components, provided that we
choose the right coordinate frame. In the next section we will see that, if we choose as our
coordinate frame the principal axes of the body, then the angular inertia matrix is diagonal:
I11 0 0
I = 0 I22 0 (8.55)
0 0 I33
We want to use this diagonal form, but we need a fixed coordinate frame. Define {It } to
be the fixed coordinate frame that coincides with the principal body coordinates at time t.
Then at any time t, in coordinate frame {It }, we can expand equation 8.54 to obtain:
N1 I11 0 0 ω̇1
N2 = 0 I22 0 ω̇2
N3 0 0 I33 ω̇3
0 −ω3 ω2 I11 0 0 ω1
+ ω3 0 −ω1 0 I22 0 ω2
−ω2 ω1 0 0 0 I33 ω3
which can be expanded to give Euler’s equations:
N1 I11 ω̇1 + (I33 − I22 )ω2 ω3
N2 = I22 ω̇2 + (I11 − I33 )ω3 ω1 (8.56)
N3 I33 ω̇3 + (I22 − I11 )ω1 ω2
We derived Euler’s equations assuming a fixed coordinate frame, but they also hold in
the moving principal axis coordinate system. To see that this is so, suppose we have two
observers placed at the center of mass. One is fixed in the body, the other is motionless.
At some certain time t, they happen to coincide instantaneously. Now imagine that the
MIT Press Math7X9/2001/03/09:12:00 Page 189
Dynamics 189
two observers have two different geometrical vectors in view: the torque vector N and the
angular velocity vector ω. Since the observers are coincident, both of them report identical
coordinates for the two vectors. But suppose we ask them about the rate of change of a
vector. Since the two observers are in relative motion, they will generally give different
answers. For example, a vector fixed with respect to the fixed observer will generally
appear to be moving with respect to the moving observer. But this is not the case for
the angular velocity vector ω, because the observer’s rotation axis is that same vector.
The rotating observer and the fixed observer see the same rate of change in this case. So
Euler’s equations describe the angular velocity ω with respect to the moving principal axes
coordinate frame.
We can also find a simple expression for the kinetic energy T in a rotating rigid body.
The body kinetic energy is the sum of the kinetic energy at the point masses:
1
T = m k |vk |2 (8.57)
2
1
= m k vk · vk (8.58)
2
1
= m k (ω × xk ) · (ω × xk ) (8.59)
2
where we are assuming that the velocity at the origin is zero. Now, using the triple product
identity a · b × c = b · c × a, we obtain
1
T = m k ω · (xk × (ω × xk )) (8.60)
2
1
= ω·L (8.61)
2
1
= ω · Iω (8.62)
2
This section describes techniques for simplifying the description and construction of
angular inertia matrices. Generalizing slightly from equation 8.47, we will consider the
angular inertia matrix for a continuous body:
I = ρ |x|2 I3 − xxt d V (8.63)
190 Chapter 8
Some insights can be gained by expanding the inertia matrix into components:
2
x 2 + x 32 −x 1 x 2 −x 1 x 3
I = ρ −x 1 x 2 x 12 + x 32 −x 2 x 3 d V (8.64)
−x 1 x 3 −x 2 x 3 x 12 + x 22
The diagonal elements are the moments of inertia with respect to the three coordinate axes:
I11 = ρ(x 22 + x 32 ) d V (8.65)
I22 = ρ(x 12 + x 32 ) d V (8.66)
I33 = ρ(x 12 + x 22 ) d V (8.67)
It is readily apparent that the inertia matrix is symmetric, which makes further simplifica-
tion possible. There is some choice of coordinate frame for which the inertia matrix is a
diagonal matrix. That is, there is some coordinate frame A, which gives a diagonal inertia
matrix:
A
I11 0 0
A
I = 0 AI
22 0 (8.71)
0 0 A I33
The description in A-coordinates can be obtained by the transformation:
A
I = AI A T (8.72)
where A is the coordinate transform matrix from base coordinates to A-coordinates. If the
angular inertia matrix is taken with respect to an origin at the body center of mass, the
frame A that diagonalizes the inertia matrix has a special significance. The coordinate axes
of this frame, which are the eigenvectors of the matrix, are called the principal axes of the
body. The I11 , I22 , and I33 elements of the diagonal matrix, which are the eigenvalues of
the matrix, are called the principal moments of inertia. When these eigenvalues are unique,
MIT Press Math7X9/2001/03/09:12:00 Page 191
Dynamics 191
z z
y x y
x
Figure 8.1
A cylinder and its inertia ellipsoid.
the corresponding eigenvectors are uniquely determined. When the eigenvalues are not
unique, there is some freedom in the choice of principal axes.
In some cases we are not concerned with the entire inertia matrix, but just with a scalar
angular inertia about a certain direction. For example, for an object that is mounted so that
rotation is only possible about a fixed axis with direction n̂, the rotational mechanics is
described by the equation
Nn = In θ̈n (8.73)
where Nn is the moment of force about the fixed axis, In is the angular inertia about the
fixed axis, and θn is the angle about the fixed axis. The scalar angular inertia about the axis
with direction n̂ is given by
In = n̂t I n̂ (8.74)
In = Mkn2 (8.75)
The radius of gyration represents the distance of a point mass that would give the same
angular inertia.
Finally, there is a geometrical characterization of the inertia matrix. Consider the
surface described by the equation
rt I r = a (8.76)
where a is some arbitrary constant, typically 1. In principal axis coordinates, this becomes
Ix x r x2 + I yy r y2 + Izz r z2 = a (8.77)
MIT Press Math7X9/2001/03/09:12:00 Page 192
192 Chapter 8
Since Ix x , I yy , and Izz are all greater than zero, except for degeneracies, this gives the
equation of an ellipsoid, called the inertia ellipsoid (figure 8.1). Let r = r n̂ be some vector
from the center of mass to the surface of the inertia ellipsoid. Then we have
1 t a
In = n̂t I n̂ = r Ir = 2 (8.78)
r2 r
a
Mkn2 = (8.79)
r2
So in any direction, the distance to the surface of the ellipsoid is inversely related to the
radius of gyration about the same axis.
Given some body, how do we construct the inertia matrix? The most direct method is
to place the origin at the center of mass, then evaluate the six integrals in equation 8.64.
But there are considerably simpler ways. Most of the problems that one finds in textbooks
involve symmetric objects. By identifying these symmetries, you can choose a coordinate
frame that gives a diagonal matrix, reducing the integrals from six to three.
T HEOREM 8.2: Any line of symmetry is a principal axis. The other two principal axes
can be chosen arbitrarily, provided the three are orthogonal.
Dynamics 193
dV
r
y
x
Figure 8.2
Example: calculating the intertia matrix for a cylinder.
T HEOREM 8.3 PARALLEL AXIS THEOREM : Let I be the inertia matrix of a body at its
center of mass 0, and let p I be the inertia matrix at some point p. Then
p
I = I + M(|p|2 I3 − ppt ) (8.80)
Note the similarity of equation 8.80 to the definition of the inertia matrix in equa-
tion 8.47. The inertia matrix at p is the sum of the original matrix, and a second matrix
describing a point mass at the body center of mass. Returning to the problem of a compos-
ite body, the total inertia matrix can be found as the sum of n + 1 matrices—1 matrix for
each of the n parts, and an additional matrix describing the inertia of a body obtained by
substituting a point mass for each of the parts.
E XAMPLE
Find the angular inertia matrix for a cylinder of uniform density ρ = 1, height 1, and
radius 1.
In this example, both symmetry theorems apply. The axis of the cylinder is an axis of
symmetry, and the perpendicular plane through the center of mass is a plane of symmetry.
One principal axis lies along the cylinder axis, and the other two lie in the perpendicular
plane. If the cylinder axis is taken as the ẑ-axis, then due to the symmetry, Ix x and I yy are
MIT Press Math7X9/2001/03/09:12:00 Page 194
194 Chapter 8
x = r cos θ (8.83)
y = r sin θ (8.84)
z=z (8.85)
d V = r dr dθ dz (8.86)
Then we obtain
1/2 2π 1
ρy 2 d V = ρr 3 sin2 θ dr dθ dz (8.87)
−1/2 0 0
= ρπ/4 (8.88)
and
1/2 2π 1
ρz 2 d V = ρz 2r dr dθ dz (8.89)
−1/2 0 0
= ρπ/12 (8.90)
so that
Dynamics 195
but from symmetry, ρy 2 d V is equal to ρx 2 d V , which was already determined to be
π/4. So the principal moments of inertia are
Ix x = π/3 (8.93)
I yy = π/3 (8.94)
Izz = π/2 (8.95)
If the inertia matrix I is not degenerate, and if the force F and torque N are well behaved,
then the Newton-Euler equations
dv
F=m (8.96)
dt
dω
N=I + ω × (I ω) (8.97)
dt
will uniquely determine the motion of a rotating body. In this section we consider the case
of a body with zero applied force or torque
F=0 (8.98)
N=0 (8.99)
We already know that velocity of the center of mass will be constant—fixed if we choose
the right frame. But how can we describe the rotational motion?
We can set N equal to zero in Euler’s equations (8.56), obtaining
I2 − I3
ω̇1 = ω2 ω3 (8.100)
I1
I3 − I1
ω̇2 = ω3 ω1 (8.101)
I2
I1 − I2
ω̇3 = ω1 ω2 (8.102)
I3
We can readily identify cases that will leave the angular velocity constant. For instance,
if I1 = I2 = I3 , then there will be no angular acceleration. Similarly, if two principal
moments, say I1 and I2 , and the corresponding angular velocity, ω3 in this case, were
initially zero, then there would be no angular acceleration. The third case is where two
components of the angular velocity are zero: If the angular velocity is parallel to a principal
MIT Press Math7X9/2001/03/09:12:00 Page 196
196 Chapter 8
axis, there will be no angular acceleration. (However, the equilibrium might be unstable.
See exercise 8.2.)
In general, it should now be obvious, the angular velocity will not be constant. But,
with zero applied torque, the angular momentum L is constant. Similarly, with zero applied
torque, the kinetic energy is constant. For N = 0, then:
L = I ω is constant (8.103)
1
T = ωt I ω is constant (8.104)
2
Equation 8.104 is the equation giving the surface of the inertia ellipsoid. As the body
tumbles, the inertia ellipsoid tumbles as well, and the angular velocity vector is constantly
varying, but it always falls on the surface of the inertia ellipsoid.
We can determine the plane tangent to the inertia ellipsoid at ω. First, we find the
direction of the normal to the plane, by taking the gradient of T . Using principal axis
coordinates:
1 1
∇ ωt I ω = ∇ (ω12 I1 + ω22 I2 + ω32 I3 ) (8.105)
2 2
= (I1 ω1 , I2 ω2 , I3 ω3 ) (8.106)
=L (8.107)
So the angular momentum L is perpendicular to the plane tangent to the inertia ellipsoid at
ω. Next, we find the distance from the center of mass to the tangent plane (figure 8.3):
ω·L 2T
= (8.108)
|L| |L|
which is also constant. The plane’s orientation doesn’t change, and its distance from the
origin does not change, which means that the plane does not vary during the motion. It is
called the invariable plane.
This leads to an elegant geometrical description of the motion of a tumbling body,
known as Poinsot’s construction (figure 8.3). Imagine that the inertia ellipsoid is a solid
body, whose center is fixed, and which is in contact with a solid invariable plane. Because
the angular velocity vector passes through the contact point, that point is instantaneously
motionless. Thus the motion of the body is equivalent to the rolling of the inertia ellipsoid,
without slip, on the invariable plane. The path of the contact point on the inertia ellipsoid
is called the polhode, and the curve traced on the invariable plane is called the herpol-
hode. Note that if we project rays from the center of mass through the polhode, and the
herpolhode, we obtain the moving cone, and the fixed cone, respectively, of the rotation
MIT Press Math7X9/2001/03/09:12:00 Page 197
Dynamics 197
polhode
herpolhode
Figure 8.3
Poinsot’s construction: the inertia ellipsoid rolls without sliding on the invariable plane. The contact points trace
out two curves: the polhode and herpolhode.
Figure 8.4
The polhodes on a generic inertia ellipsoid. Note the difference between the intermediate axis, where the
polhodes diverge, and the other axes, where the polhodes stay close.
(section 2.3). For symmetric objects, the polhodes are circles, and the cones are true circu-
lar cones.
Consider again the mechanics of a pair of particles, subject to Newton’s laws with, say,
elastic forces acting between. The state of the system is given by the positions and
velocities of the particles. The forces are completely determined by the state of the system.
The future of the system can be predicted by integrating the forces. Generally speaking,
MIT Press Math7X9/2001/03/09:12:00 Page 198
198 Chapter 8
2l
fa , n a
p0
m, I
fn
pc ft
Figure 8.5
Notation for the sliding rod problem.
when force is a well behaved function of position and velocity, Newton’s laws will have a
unique solution.
Now suppose that we add some frictional forces, governed by Coulomb’s law. The
table of contact modes in section 6.3 does not give frictional forces as a function of
state. Rather, it imposes constraints on the forces, as a function of position, velocity, and
acceleration. We have a circularity: accelerations are determined by forces, which are now
determined partly by accelerations. A systematic approach to friction problems has to face
this circularity squarely.
The basic approach we will take is quite simple, in principle:
This is certainly a strange way to approach a mechanics problem. We break it into sev-
eral problems, and solve them all, even though ultimately only one turns out to be relevant.
Now we get to something even stranger: sometimes more than one of the subproblems
works; and sometimes none of the subproblems work. Newtonian mechanics with rigid
bodies and Coulomb friction is sometimes nondeterministic and sometimes inconsistent.
Besides the philosophical difficulties with our approach, there is also a practical
difficulty: there can be lots of contact modes, so solving a separate problem for each
MIT Press Math7X9/2001/03/09:12:00 Page 199
Dynamics 199
can be lots of work. Is it possible there might be a more efficient way of identifying
the relevant contact modes? The problem is more difficult when there are several moving
bodies, because the number of contact modes grows exponentially with the number of
bodies. Baraff (1990, 1993) has shown that determining whether any consistent contact
mode exists is NP-complete in the case of multiple bodies with Coulomb friction. This
means that the problem probably cannot be solved efficiently, although we might find an
approximate solution or an alternative set of assumptions that would be satisfactory.
Example
To illustrate the approach, we will explore the mechanics of a rod with a single contact on a
horizontal surface (figure 8.5). We can save some work by writing the equations of motion
in terms of the contact point pc . First, we note some kinematic relations:
cos θ
pc = p0 − l (8.109)
sin θ
− sin θ
ṗc = ṗ0 − l (8.110)
cos θ
cos θ 2 − sin θ
p̈c = p̈0 + l θ̇ − l θ̈ (8.111)
sin θ cos θ
fn + ft + fa = m p̈0 (8.112)
(pc − p0 ) × (fn + ft ) + n a = I θ̈ (8.113)
1 cos θ
p̈c = (fn + ft + fa ) + l θ̇ 2
m sin θ
l − sin θ
− [(pc − p0 ) × (fn + ft ) + n a ] (8.114)
I cos θ
Equation 8.114 is a general equation of motion. Before we can solve it, we need values for
some physical parameters, and we need initial conditions. In the next two sections we show
parameter choices to get an inconsistency (no solutions) and parameter choices yielding an
ambiguity (multiple solutions).
MIT Press Math7X9/2001/03/09:12:00 Page 200
200 Chapter 8
Frictional inconsistency
Suppose we have a gravitational field, and the rod is initially sliding toward the left without
rotating. Then we have
−1
ṗ0 = (8.115)
0
θ̇ = 0 (8.116)
0
fa = (8.117)
−mg
na = 0 (8.118)
The only contact modes consistent with initial conditions are separation (p̈cn > 0) and left
sliding. But it is easy to check that separation will not work. With no contact force, the net
force in the normal direction is −mg, causing a downward acceleration.
That leaves us with left sliding. Coulomb’s law gives
ft = µfn (8.119)
or
µ
ft + fn = f n (8.120)
1
The moment is
(pc − p0 ) × (fn + ft ) (8.121)
cos θ µ
= −l × fn (8.122)
sin θ 1
= l f n (µ sin θ − cos θ ) (8.123)
1
= l fn (− cos(α + θ )) (8.124)
cos α
where α = tan−1 µ.
Substituting into equation 8.114:
1 µ 0 l 2 fn − sin θ cos(α + θ )
p̈c = fn + +0+
m 1 −g I cosθ cos α
Now the left sliding mode specifies that p̈cn = 0:
fn l 2 f n cos θ
−g+ cos(α + θ ) = 0 (8.125)
m I cos α
MIT Press Math7X9/2001/03/09:12:00 Page 201
Dynamics 201
(excluding gravity)
Figure 8.6
An example of frictional inconsistency. There is no choice of contact force that satisfies the assumptions of
Newtonian mechanics, rigid bodies, and Coulomb friction.
or
1 l 2 cos θ
fn (+ cos(α + θ )) = g (8.126)
m I cos α
Now g is positive, and f n is positive, so all values of m, l, I , α, and θ must satisfy
1 l 2 cos θ
( + cos(α + θ )) > 0 (8.127)
m I cos α
It turns out that for some θ this condition is violated by large values of µ, or small values
of I . For example, if m = I = 1, l = 4, α = 30, and θ = 75, then equation 8.127 is
violated. There is no contact mode that works.
There is a simple geometrical explanation of the difficulty (figure 8.6). If we choose
parameters placing the rod inside the friction cone, then the total force causes a positive
moment at the center of mass. The acceleration of the contact point is the sum of a
component due to the total force, which is away from the surface, and the total moment,
which is into the surface. For small enough angular inertia, the component into the surface
dominates. There is no force consistent with Coulomb’s law that keeps the rod from
penetrating the surface. However, this analysis also suggests a way out of the problem,
MIT Press Math7X9/2001/03/09:12:00 Page 202
202 Chapter 8
Figure 8.7
An example of frictional indeterminacy. If there is no contact force then the rod slips straight down without
rotating. Or with a small contact force the rod will rotate about the contact point.
by interpreting the event as an impact. We shall see in chapter 9 that this approach works
quite well.
Frictional indeterminacy
A small change in the problem yields multiple solutions. We change the direction of
gravity, and start with a motionless rod (figure 8.7):
−mg
fa = (8.128)
0
na = 0 (8.129)
ṗ0 = 0 (8.130)
θ̇ = 0 (8.131)
All but three modes can easily be ruled out, leaving separation, left-sliding, and fixed.
Separation does not work: we have ft + fn = 0, hence p̈cn = 0, i.e. there is no normal
acceleration.
MIT Press Math7X9/2001/03/09:12:00 Page 203
Dynamics 203
For left sliding, there is a solution—if ft = µfn = 0, then we get p̈ct = −g, i.e. the
rod falls straight down, skimming the surface but with zero contact force.
For fixed contact, there is also a solution, depending on the physical parameters. We
can simplify things by introducing a variable s:
ft
s= (8.132)
fn
For fixed contact, Coulomb requires that
−µ ≤ s ≤ µ (8.133)
Now the total contact force can be written
s
ft + fn = f n (8.134)
1
Substituting into equation 8.114 with p̈c = 0,
1 s −mg l − sin θ cos θ s
0= fn + + l × fn
m 1 0 I cos θ sin θ 1
Given the physical parameters m, I , g, l, and the initial angle θ , this yields two equations in
Fn and s. It remains to be shown that values for these parameters exist yielding a positive
value of Fn . The coefficient of friction can be arbitrarily large, and can always be chosen
large enough for s to be in the range [−µ, µ]. The details are left for an exercise.
Any of the methods described in chapter 5 to represent sets of forces in the plane—convex
cones in wrench space, moment labeling, or force dual—provide a simple representation
of the set of possible contact forces applied to a body. This gives an immediate solution
to a typical statics problem: given an applied wrench w and a set of contact normals, to
determine whether a body is going to move. The solution is to form the appropriate cone
and ask whether the applied wrench w is balanced by a wrench in the cone. Let {ci } be the
set of contact wrenches. Then we can say that the object is in equilibrium under load w if
and only if w ∈ pos({−ci }).
Perhaps more surprisingly, these same graphical methods will work for dynamics
problems. Suppose a rigid planar body is initially at rest, but is being accelerated due
to a total wrench f = ( f x , f y , n z ), which we will refer to as the dynamic load. To simplify
things, we will choose the origin to be the body center of mass, and also choose our unit of
MIT Press Math7X9/2001/03/09:12:00 Page 204
204 Chapter 8
Equation 8.136 defines a relation between a wrench w and a twist a. The pair w, a
satisfies the relation if and only if there is some choice of contact forces satisfying Newton’s
second law. This relation applies to a point in wrench space and a point in twist space.
Recall that the graphical methods work with rays in wrench and twist space, so we must
extend the relation accordingly. We will say that the pair w, a are related if and only if
∃s≥0,si ≥0 w + si ci = sma (8.138)
which is equivalent to
Now we can develop the corresponding graphical methods. We will apply the force
dual method. The moment labeling method is similar. Applying the dual map to equa-
tion 8.135 we obtain two equivalent expressions for the coordinates of the acceleration
center:
−a y /αz − f y /n z
= (8.140)
ax /αz f x /n z
This equation, which follows directly from Newton’s second law, shows that the acceler-
ation center is obtained from the dynamic load by the force dual mapping. If we apply
the force dual mapping to the applied wrench w and contact normals ci , then from equa-
tion 8.139 we obtain
MIT Press Math7X9/2001/03/09:12:00 Page 205
Dynamics 205
This section addresses the dynamics of a single rigid object in the plane, subject to several
frictional contacts. In section 8.8 we described an algorithm for solving planar contact
problems. We apply the method to planar single body multiple contact problems, and
implement it with the force dual method. The first step is to enumerate the contact modes.
Then, for each contact mode:
When there are several contacts, the number of possible contact modes increases, so
that the primary challenge is just keeping track of the different cases. We will adopt a
convention for writing a contact mode. Suppose there are n point contacts on a rigid body
in the plane. For the i th contact we will abbreviate the mode m i as follows:
p kinematically infeasible (“penetration”)
s separation
l left sliding
r right sliding
f fixed
Then the contact mode of the body can be written as a string
m1m2 . . . mn
This convention suggests that for n contacts there might be as many as 5n different modes,
but many of those are not kinematically consistent choices. For problems with only one
MIT Press Math7X9/2001/03/09:12:00 Page 206
206 Chapter 8
ssr s
ssss r sr s ssrr
1
lsss
ssss
f sss
r sss
llss
sssl
2 slsl
slss
3 4
sss f ssss
sssr
Figure 8.8
Reuleaux’s method can be adapted to identify the kinematically feasible contact modes. f = fixed; s = separation;
l = left sliding; r = right sliding.
moving body, we can use a variation on Reuleaux’s method to enumerate the contact
modes, and consider a number of possible modes that grows only as n 2 .
The method is illustrated in figure 8.8, showing an allen wrench initially at rest in
the corner of a tray. We construct the contact normals, and the contact tangents, at each
contact. These lines divide the space of signed rotation centers up into polygonal regions,
line segments, and points. If we use the term cell to refer to a region, segment, or point,
then each cell corresponds to a different contact mode. For each cell, we simply write the
mode. Excluding the penetrating modes yields the set of all kinematically feasible contact
modes.
We can now proceed with the dynamic analysis, with either moment labeling or force
dual representations, as in section 8.9. Each contact mode is already represented by a
convex set of acceleration centers. To this set we add the force duals of all possible contact
wrenches negated {−ci } and take the convex hull.
Figure 8.9 shows the constructions for the contact mode “rsrs”, using the acceleration
centers obtained in figure 8.8. Using the wrench mass center as the origin, and the radius of
MIT Press Math7X9/2001/03/09:12:00 Page 207
Dynamics 207
Figure 8.9
Analysis of mode “rsrs” (counterclockwise rotation with contact at c1 and c3 .)
gyration ρ as the unit of length, this acceleration center is the dual f of the dynamic load
wrench. Since we have right sliding at contacts 1 and 3, the contact wrenches c1 and c3 lie
on the left edges of their respective friction cones. Since we have separation at contacts 2
and 4, they contribute no forces. So the duals of the negated contact forces are plotted
−c1 and −c3 . Finally, the convex hull is taken, yielding a triangle in force dual space. Any
applied force whose dual falls in this triangle can cause the wrench to move in mode “rsrs”.
The development of rigid body dynamics was adapted from Symon’s text (1971). The treat-
ment of the dynamics of rigid bodies with frictional contact was adapted from (Erdmann,
1994). Painlevé (1895) was the first to notice the difficulties arising from Coulomb fric-
tion. For further work on the problem see for example (Baraff, 1990, 1993), (Trinkle et al.,
1997), and (Stewart, 1998).
MIT Press Math7X9/2001/03/09:12:00 Page 208
208 Chapter 8
Exercises
Exercise 8.1: The purpose of this exercise is to address false intuitions about the motion of
a tumbling body. Also, it is fun. Take a hardcover book (not this one!), and fasten it closed
with a rubber band. Imagine a coordinate frame at the center of mass, with x̂ orthogonal
to the covers of the book, ẑ parallel to the spine of the book, and ŷ constructed to give a
right-handed coordinate frame. Then x̂ is the major principal axis, ẑ the minor principal
axis, and ŷ the intermediate principal axis. With some practice, you should be able to toss
the book in the air, and achieve a nearly-constant angular velocity about either the x̂-axis
or the ẑ-axis. Now try to do the same for the ŷ-axis. It is virtually impossible. What would
the motion look like, if the angular velocity were constant? If the binding of the book is
initially on your left, for example, would it be possible for it to end on your right?
Exercise 8.2: Consider the book-throwing experiment of exercise 8.1. Show that if you
could give the book an initial angular velocity that is exactly aligned with the ŷ-axis, the
angular velocity vector would be constant. Show that a small deviation will result in an
angular velocity vector that alternates between nearly parallel to ŷ and nearly parallel
to −ŷ.
Exercise 8.5: Find the inertia matrix for a right circular cylinder of radius r , height h, and
total mass M, of uniform density.
Exercise 8.6: Construct the inertia matrix, and sketch the inertia ellipsoid, for a pencil,
and for a coin. You may model them as right circular cylinders, using dimensions measured
from any convenient pencil and coin, and use the result of exercise 8.5. You need not bother
weighing them, since the scale of the inertia ellipsoid is arbitrary.
Exercise 8.7: Euler’s equations can be awkward when dealing with degenerate objects.
Suppose two point masses are connected by a weightless rod. Then rotation of the rod
about its own axis is indeterminate, since it does not involve the motion of any mass. Let
the distance between the two masses be two, and suppose the rod is initially aligned with
the z-axis. We give the rod an initial angular velocity ω = (0, 1, 1), then let it rotate freely.
Apply Euler’s equations and explain the results.
MIT Press Math7X9/2001/03/09:12:00 Page 209
Dynamics 209
Figure 8.10
Drawing for exercise 8.13.
Exercise 8.8: Repeat the dynamic analysis of section 8.8, using the moment labeling
method.
Exercise 8.9: Repeat exercise 8.8, using the force dual method.
Exercise 8.11: Repeat the analysis of the allen wrench in contact mode “rsrs” using the
moment labeling method.
Exercise 8.12: Do the analysis of the allen wrench in contact mode “rsss”, using either the
force dual or the moment labeling method.
Exercise 8.13: Use the force dual method to analyze the block in the corner shown in
figure 8.10. The block is one by one, the radius of gyration is one, and the coefficient of
friction is 0.25. Use Reuleaux’s method to identify the contact modes. For each contact
mode, form the possible dynamic load duals, the negated contact force duals, and use
convex hull to find the possible applied force duals.
MIT Press Math7X9/2001/03/09:12:00 Page 211
9 Impact
This chapter develops basic ideas for modeling frictional impact, and illustrates by way
of two examples. Modeling impact is so fraught with complexities and subtleties that we
must stick to the simplest models involving rigid bodies in the plane.
What happens when two rigid bodies collide? There is a discontinuity in the body
velocities, implying infinite accelerations and infinite forces. Some matters are simplified.
For example, the sliding rod inconsistency of chapter 6 can be resolved using impact. On
the other hand, widely accepted models of impact exist only for the simplest cases. And
even the simplest cases of frictional impact can cause difficulty.
To avoid dealing directly with infinite forces, we use impulse instead. Recall from
chapter 8:
dP
F= (9.1)
dt
dL
N= (9.2)
dt
Integrating:
t1
P = F dt (9.3)
t0
t1
L = N dt (9.4)
t0
9.1 A particle
Suppose a particle in the plane impacts on a horizontal surface, without friction. We will
model the impact by considering an impulse I acting over some interval of time [t0 , t1 ],
and take the limit as t1 approaches t0 . Thus the particle velocity changes discontinuously
MIT Press Math7X9/2001/03/09:12:00 Page 212
212 Chapter 9
from v0 to v1 :
1 1
v = P = I (9.5)
m m
where
v = v1 − v0 (9.6)
In = −mv0n (9.9)
→ v1n = 0 (9.10)
In = −2mv0n (9.11)
→ v1n = −v0n (9.12)
vn < 0 compression
vn = 0
vn > 0 restitution
MIT Press Math7X9/2001/03/09:12:00 Page 213
Impact 213
Figure 9.1
An example showing the need to identify different stages of impact as the contact mode changes.
We divide the impulse into two parts, Ic applied during compression, and Ir applied during
restitution. Poisson’s hypothesis is that the ratio of these two parts is governed by material
properties:
Ir
e= (9.14)
Ic
Like Newton’s approach, this yields e = 1 for elastic impact, and e = 0 for plastic impact.
And for the frictionless point, the two approaches yield identical results. But for some
problems Newton’s definition is unworkable, so we will adopt Poisson’s hypothesis.
Returning to the problem at hand, the approach is quite simple. Given the particle mass
m, initial velocity v0 , and a coefficient of restitution e, we first obtain the impulse during
compression:
Ic = mv0n (9.15)
Then we multiply by the coefficient of restitution to obtain the impulse during restitution:
Ir = emv0n (9.16)
I = Ic + Ir = (1 + e)mv0n (9.17)
214 Chapter 9
It = s In (9.19)
where
s=µ if v0t < 0 (left-sliding)
−µ ≤ s ≤ µ if v0t = 0 (fixed)
s = −µ if v0t > 0 (right-sliding)
but this doesn’t work very well. Figure 9.1 shows an example. Suppose that we have a
plastic collision (e = 0) with a very high coefficient of friction (µ = 3). If the particle
strikes in the normal direction (v0t = 0), it comes to rest, as expected. Suppose however,
that the particle starts with unit normal velocity and a very small leftward tangential
velocity:
v0n = −1 (9.20)
v0t = − (9.21)
Because it is a plastic impact, the normal impulse would be just enough to bring the normal
velocity to zero:
In = m (9.22)
Since the particle struck in left-sliding mode, the tangential impulse would be
It = µIn = 3m (9.23)
v1n = 0 (9.24)
v1t = 3 − (9.25)
A BETTER MODEL
It is not hard to see what went wrong with our first attempt at a frictional impact law. We
applied the left-sliding rule over the entire duration of the impact, even though the particle
switched to right-sliding during the impact. Just as we divided the impact into the stages
MIT Press Math7X9/2001/03/09:12:00 Page 215
Impact 215
fixed
Figure 9.2
Routh’s use of impulse space to analyze planar impact of a particle.
of compression and restitution, we will also divide the impact according to the contact
mode, into the stages of left sliding, fixed, and right sliding. Note that some collisions
might involve only one or two contact modes, though, so we do not necessarily see all
three stages in every collision. In the example of figure 9.1, for example, the particle would
start in the left sliding stage, then switch to the fixed stage, and come to rest.
In order to keep the stages right, Routh described a simple graphical method, which
plots the impulse as it accumulates during the collision. Consider the impulse space of
figure 9.2. The stages are easily described in impulse space. First consider Poisson’s dis-
tinction between compression and restitution. The switch from compression to restitu-
tion occurs when the normal velocity vn is zero. This gives us a line in impulse space:
In = −mv0n . Below this line we have compression; above it restitution. We call it the
compression line, or c-line. Similarly, the sliding modes are determined by the condition
of zero tangential velocity. This gives a second line in impulse space: It = −mv0t . Inside
MIT Press Math7X9/2001/03/09:12:00 Page 216
216 Chapter 9
In s-line
I
1 c-line
c-line:
0 It
s-line: Solution:
Figure 9.3
Routh’s method applied to the problem of figure 9.1.
the line we have forward sliding, on the line we have fixed, and outside the line we have
reverse sliding. This line is called the sticking line, or s-line.
Using impact space, we easily obtain a more sensible analysis (figure 9.3) of a particle
hitting a surface with high friction. As before, we will start with the particle drifting slightly
to the left. Initially there is no impulse, so the impulse starts at 0, and builds up, along the
right edge of the friction cone. However, it soon intersects the s-line, where the tangential
velocity is zero. Now the impulse will grow along the sticking line. No other choice gives
an incremental impulse consistent with the contact mode. The impulse continues to grow
until it strikes the c-line, indicating the normal velocity is about to change sign, changing
from compression to restitution. We note the normal impulse accumulated so far, Inc , and
calculate the total normal impulse (1 + e)Inc . Now the total impulse grows, along the
sticking line, until we hit a line In = (1+e)Inc , indicating that the impact is over. However,
in this case the coefficient of restitution is e = 0, so the impact ends at the compression
line. So the particle started in left-sliding and compression, then switched to fixed and
compression. The particle ended at rest. If the collision had been an elastic collision, the
particle would have rebounded straight up.
MIT Press Math7X9/2001/03/09:12:00 Page 217
Impact 217
ω
x
Figure 9.4
Notation for rigid body impact.
We can apply Routh’s impulse space to analyze a rigid body impact. Assume a rigid body
is striking an immobile rigid half plane (figure 9.4). To simplify the analysis, we express
the impulse-momentum equations in terms of the contact point. First, we observe some
kinematic relations
c=x+r (9.26)
ċ = ẋ + ṙ (9.27)
= ẋ + ω × r (9.28)
ċ = ẋ + ω × r (9.29)
where c is the contact point, x is the center of mass, r is the radius vector from the center
of mass to the contact point, and ω is the angular velocity.
Now we can write the impulse-momentum laws:
mẋ = I (9.30)
ρ mω = r × I
2
(9.31)
MIT Press Math7X9/2001/03/09:12:00 Page 218
218 Chapter 9
E XAMPLE 1
Figure 9.5 shows a rigid rectangle striking an immobile rigid half-plane. The line of
sticking is
Impact 219
Figure 9.5
Example 1
The progress of the impact is traced in the impulse space of figure 9.6:
1. Left sliding, compression. Impulse accumulates along the right edge of the friction cone.
2. After hitting the sticking line, the accumulated impulse will cross into right sliding, so
further accumulations of impulse are along the left edge of the friction cone.
3. Right sliding, compression.
4. After hitting the compression line, we switch to the restitution stage. Note the normal
impulse Inc .
5. Right sliding, restitution.
6. When In = 1.5Inc , collision is over.
E XAMPLE 2
Our second example is the sliding rod problem treated in section 8.8, redrawn in figure 9.7.
The sticking line is
Notice that the compression line passes through the origin, because there is no initial
normal velocity. As a result, it is hardly clear that this should be regarded as a collision,
but we will continue, and return to the question later.
MIT Press Math7X9/2001/03/09:12:00 Page 220
220 Chapter 9
0
re
sti res
co
tu sio
m
tio n
p
left-sliding right-sliding
Figure 9.6
Routh’s method applied to Example 1.
Figure 9.8 shows the impulse space for the sliding rod problem. Initially the rod is
in left sliding compression. When it strikes the sticking line, there are three possibilities
to consider. It cannot continue along the right edge of the friction cone, because it would
cross the sticking line into right sliding mode. It also cannot switch to the left edge of the
friction cone, which would put it back in left sliding mode. The only consistent choice is
to follow the sticking line, which falls in the interior of the friction cone.
MIT Press Math7X9/2001/03/09:12:00 Page 221
Impact 221
Figure 9.7
A sliding rod problem with no finite force solution.
Then it crosses the compression line, switching to restitution mode, and continues until
the impact is finished.
Routh’s approach offers a solution, which is consistent with the impulse-momentum
equations, with Coulomb’s law of sliding friction, and with Poisson’s restitution hypothe-
sis. The only question is whether it makes sense to use an impact solution when there is no
initial normal velocity, a tangential impact. There are two arguments in favor. First, in this
case at least, there are no alternative solutions—there is no set of finite contact forces that
are consistent with the relevant axioms. Second, the phenomenon is not wholly unfamiliar
to those who wear rubber-soled shoes on clean floors. Occasionally, in such circumstances,
one seems to trip over an invisible obstacle.
As a final remark, note that Newton’s definition of restitution does not behave very
well for tangential impact. Since the initial normal velocity is zero, Newtonian restitution
would treat elastic impact and plastic impact identically. Poisson’s definition fits tangential
impact very neatly.
MIT Press Math7X9/2001/03/09:12:00 Page 222
222 Chapter 9
2α
s-line
In c-line
(1 + e)Inc
Inc
It
Figure 9.8
Routh’s method gives an impulsive force solution to the sliding rod problem.
MIT Press Math7X9/2001/03/09:12:00 Page 223
Impact 223
The analysis of impact is adapted from Wang’s work (1992), which was based on Routh’s
method (1913). Stewart (1998) unifies the treatment of impact with finite forces, and shows
that the tangential collision solutions occur precisely when the finite force solutions fail.
There is disagreement about how rigid body impact should be modeled. Many different
laws have been proposed, but none are entirely satisfactory. Chatterjee and Ruina (1998)
use impulse space to analyze and compare a number of different impact laws, and introduce
a new law to obtain the best features while avoiding the defects. Also see (Stewart, 2000)
for a survey of modern work on rigid body frictional impact.
Exercises
Exercise 9.1: Repeat the analysis of example 1, but with an initial angular velocity of 1
radian per second. Give the equations for the s-line and the c-line, and construct the impulse
space diagram to determine the total impulse.
Exercise 9.2: Repeat the analysis of example 1, but with a radius of gyration of 2. Give
the equations for the s-line and the c-line, and construct the impulse space diagram to
determine the total impulse.
Exercise 9.3: In example 1 the mode of impact is called “reverse sliding” because the
sliding switches direction, in this case from left sliding to right sliding. For a large enough
coefficient of friction µ, the sliding will be stopped but not reversed. Find the smallest µ
that will stop but not reverse the sliding for example 1, and construct the impulse space
diagram.
MIT Press Math7X9/2001/03/09:12:00 Page 225
10 Dynamic Manipulation
Tray tilting
This section presents an example of quasidynamic manipulaton, and shows how the dy-
namic analysis of section 8.10 can be used to manipulate the allen wrench by tilting the
MIT Press Math7X9/2001/03/09:12:00 Page 226
226 Chapter 10
Figure 10.1
The goal is to move the wrench to the lower left corner from any position along the bottom wall.
tray. Besides the quasidynamic assumption, we will also assume friction with the floor of
the tray is negligible. As our task, we will assume that the wrench is initially positioned
somewhere along the bottom wall of the tray, with its short end aligned with the wall (fig-
ure 10.1). The goal is to translate it into the lower left corner.
The first question is: what motions of the allen wrench can be achieved by tilting the
tray? First we will look at the goal configuration in the lower left corner. Section 8.10
analyzes the dynamics of this configuration. Figure 8.8 identifies all the feasible contact
modes, and figure 8.9 analyzes the contact mode “rsrs”, in which the wrench rotated
counterclockwise in two point contact. Now consider the question, can mode “rsrs” be
produced by tilting the tray? When we tilt the tray, we obtain a gravitational force through
the center of mass. The corresponding force dual is at infinity. Unfortunately the triangle
of force duals shown in figure 8.9, corresponding to mode “rsrs”, does not intersect the line
at infinity. Hence it is impossible to produce “rsrs” by tilting the tray.
By repeating this analysis for each contact mode in figure 8.8 we can identify every
motion that can be produced by tilting the tray. Figure 10.2 analyzes mode “ssrr”—sliding
to the right in two point contact. In section 8.10 we used the force dual method. We now
switch to moment labeling, since so much of the force dual action would be at infinity. For
each contact mode:
1. identify the set of acceleration centers, and apply the dual transform to obtain a moment
labeling representation of the dynamic loads f;
2. for each possible contact force ci , negate it and construct the moment labeling repre-
sentation;
MIT Press Math7X9/2001/03/09:12:00 Page 227
O O
fssrr
− c3 − c4
Figure 10.2
Analysis of mode “ssrr” (sliding to the right in two point contact) by moment labeling.
3. intersect all the positive-labeled regions and all the negative-labeled regions, to obtain
the set of applied wrenches represented by moment labeling.
For the case at hand, the single acceleration center is at infinity (figure 8.8). Its dual, the
dynamic load, is a rightward force acting through the center of mass (figure 10.2). For right
sliding, the two possible contact forces are the left edges of the friction cones at the two
contact points. We negate them, label regions, and intersect the labeled regions. The result
is the set of all wrenches that would lead to mode “ssrr”.
To identify wrenches that can be produced by tilting the tray, we add a single point
labeled ± at the center of mass, and take the convex hull. The result is a simple cone at the
center of mass, indicating which tray tilt directions would cause mode “ssrr”—rightward
sliding in two point contact.
Repetition of this analysis for every contact mode yields only four modes that are
feasible by tilting the tray: right sliding along the bottom wall (“ssrr”), left sliding up the
left wall “llss”, separation (“ssss”), and immobility (“ffff”). Constructing the cone for each
mode gives a complete map of the feasible motions from this configuration (figure 10.3).
Figure 10.4 shows a similar map, for initial configuration of the wrench against the
lower wall. The details are left as exercises. As with the configuration in the corner, there
are only four feasible contact modes, one of which moves the wrench toward the corner.
Figure 10.4 also shows a combined map, which identifies all possible actions given
that the wrench is either against the lower wall or in the corner. From this map we can find
a range of tilt angles that accomplish the goal, no matter which initial condition applies.
MIT Press Math7X9/2001/03/09:12:00 Page 228
228 Chapter 10
llss ssss
ffff ssrr
Figure 10.3
A map showing every motion of the wrench that can be produced by tilting the tray, assuming it starts in the
lower left corner.
ss
ll rr
ff
Figure 10.4
A map showing every motion of the wrench that can be produced by tilting the tray, assuming it starts against the
lower wall. And a map showing every motion assuming a start against the lower wall or in the lower left corner.
MIT Press Math7X9/2001/03/09:12:00 Page 229
Some dynamic tasks include kinematic or quasistatic periods, so that every dynamic phase
has a finite time horizon. An obvious example would be a high speed grasping motion
which might depend on impact and dynamic forces for its effect, but which ends with
the object in a form closure grasp. A much less obvious example is juggling three balls
with two hands. The deficit of hands dictates that at all times at least one ball is in flight.
However, if we adopt the perspective of a single ball, we see that the ballistic phase is
interleaved with an in-hand phase which might be kinematic or quasistatic. Such a juggle
can be modeled as three briefly dynamic processes running in parallel, sharing the hands.
To consider such a task in more detail, the rest of this section focuses on Shannon’s juggler.
Shannon’s juggler
Claude Shannon is generally credited with building the first juggling machine. It juggled
three balls using two hands. The machine used a technique known as bounce juggling,
which usually means that each ball bounces on the floor between throw and catch. The
design (figure 10.5) employs two cups, padded with an energy absorbing material, mounted
at either end of a roughly horizontal rocker arm. The arm oscillates about its center. Each
cup is mounted so that at the zenith of its travel, the ball is tossed out of the cup, falls
to a drumhead below, and bounces into the opposite cup, as that cup nears its nadir. The
throwing motion is simple, because the hand does not have to produce precisely the desired
motion of the ball, nor is there an elaborate mechanism to release the ball at precisely the
right time.
Why does it work? The motion of the machine is unvarying, so it would seem there
is no mechanism to detect and correct deviations of the balls from the desired paths. The
energy absorbing lining of the cups is the key. The ball lands in the cup and rolls to the
bottom, so that the variations from one cycle are eliminated before the next cycle begins.
Eliminating uncertainty is often linked with eliminating kinetic energy. The link is given
by Liouville’s theorem. We can represent the state of an n degree of freedom dynamic
system by its phase: n configuration variables and n momentum variables. An uncertain
system can be represented by an uncertainty cloud in phase space, the locus of all states the
system could be in. Liouville’s theorem states that for a Hamiltonian system (which would
include a passive energy-conserving mechanical system) the volume of that uncertainty
cloud in phase space remains constant. The uncertainty cloud will generally move around
in phase space and change shape, but it cannot shrink. So in order to stabilize the flight
of the ball, we must violate the assumptions of Liouville’s theorem by avoiding passive
energy-conserving systems. One way to do it is to cover the cups with energy-absorbing
foam.
MIT Press Math7X9/2001/03/09:12:00 Page 230
230 Chapter 10
Figure 10.5
Schaal’s version of the Shannon juggler. Adapted from Schaal et al. (1992).
Left Left
Rear Front
Right 1 Right 2 3 4
Rear Front
5 6 7 8
Figure 10.6
For a statically stable gait the center of mass is always above the support polygon. The feet of this quadruped are
at the vertices of the polygon, and the center of mass is above the dot. Adapted from Raibert (1986) who adapted
it from McGhee and Frank (1968).
Some tasks are continuously dynamic, and have to work without resorting to rest periods
of kinematic or quasistatic manipulation. Juggling without energy absorbing foam would
be one example, but we will instead consider dynamic locomotion: running and hopping.
MIT Press Math7X9/2001/03/09:12:00 Page 231
Balance
beam
Hip joint
Cables
Aluminum
boom
Spherical
Foot bearing
Thrust actuator
Pivot
post
Figure 10.7
Planar one-legged hopping machine. From (Raibert, 1986).
232 Chapter 10
colleagues illustrate the principles (figure 10.7). They started by building a single-legged
running machine that works in two-dimensions, then extended the principles to a variety of
machines using 1, 2, or 4 legs, in 2 or 3 dimensions. The machines performed a variety of
running gaits (trotting, pacing, bounding), and also performed some gymnastic maneuvers:
aerials and flips.
Although Raibert and his collaborators used sophisticated dynamic models in the
analysis and design stages, the machines used simple feedback control systems. The
vertical hopping cycle is stabilized by injecting a small amount of energy when the robot is
on the ground. Body pitch is stabilized by a linear controller that applies hip torque when
the foot is on the ground. Forward velocity is controlled by varying the foot placement as
the robot strikes the ground.
Anybody familiar with icy pavement knows that frictional contact is important in
locomotion, dynamic or otherwise. But there is a real difference between quasistatic
locomotion which is stabilized by the geometry of frictional contact alone, versus dynamic
locomotion which must stabilize a dynamic cycle.
Subsequent work, described in the bibliographic notes immediately below, has applied
some of the lessons of dynamic locomotion to manipulation tasks, and has also explored
the stabilization of dynamic locomotion without active servos.
For a general discussion and survey of dynamic manipulation see (Koditschek, 1993).
Raibert (1986) discusses dynamic locomotion and compares locomotion and manipulation.
Quasidynamic manipulation
Erdmann and Mason (1988) explored the automatic analysis and planning with tilting trays,
using what we might now call quasidynamic analysis. Yokokohji et al. (1993) were perhaps
the first to introduce quasidynamic into the lexicon. See (Erdmann, 1998) for more recent
work along a similar vein.
Juggling
We will define juggling broadly, to include any machine that controls the motions of
flying objects by catching, throwing, or hitting. By this definition running is a kind of
self-juggling, and ping pong is adversarial juggling, although those topics are considered
separately.
The first juggling machine is the Shannon juggler described earlier. Shannon did not
describe his dynamic juggler in print, but see (Schaal et al., 1992) for a description of a
similar machine that can even juggle five balls.
Sakaguchi et al. (1991); Miyazaki (1993) obtain robot juggling of one or two balls
with a single robot hand. The hand makes an elliptical motion, modified by the perceived
path of a ball. The hand is a simple funnel, and the balls appear to be very soft. They also
describe a robot to play the ball-in-cup game.
ATKESON ’ S MACHINES
Chris Atkeson and his colleagues have developed a number of juggling machines, and
use them to explore issues in machine learning. Aboaf et al. (1987) describe a robot that
iteratively improves its throwing motion to throw a ball more accurately. Aboaf et al.
(1989) describe a system that bats a single ball in three dimensions. It also improves with
experience.
Schaal et al. (1992) built a special devil sticking robot. The machine has two “effector
sticks” mounted by springy joints to a “torso”. A “devil stick” is batted back and forth
between the two effector sticks. Each effector stick strikes the devil stick at its center of
percussion, halting the effector stick and storing its energy momentarily at a springy joint.
MIT Press Math7X9/2001/03/09:12:00 Page 234
234 Chapter 10
The energy is then transferred back to the devil stick, throwing it to the other effector stick.
The problem is simplified by mounting the devil stick so that it has only three degrees of
freedom, rather than the usual six.
OTHER JUGGLERS
Miura at the University of Tokyo has constructed robots that can play the Japanese ball-in-
cup (kendama) game and spin a top (koma) by throwing it with a string (Miura, 1993).
Ping pong
If we regard batting ping pong balls in the air to be a type of juggling, then playing ping
pong might be regarded as adversarial juggling. Russ Andersson built a system to play ping
pong at Bell Labs, which is surely one of the most exciting robots ever built (Andersson,
1989).
Robots play a modified form of ping pong: The table dimensions are smaller, the net
is higher, and the ball must pass through a square wire frames at each end of the table. The
game is thus accessible to current robotic technology. The play is slowed down somewhat,
although it is still a challenging dynamic game. Andersson’s robot was good enough to
beat me, although I believe I would win a rematch.
The robot used multiple cameras to track the ball in three dimensions. A small indus-
trial arm wielded a paddle with an extra-long handle. The robot’s planner incorporated a
model of ball flight and impact, and used these models to plan a nominal trajectory for the
paddle. This nominal trajectory was then refined by iterated simulations, with concurrent
adjustment of goals as better estimates of the ball’s motion became available.
Dynamic locomotion
Some of the most interesting work in manipulation, robotic juggling in particular, has
strong ties to research on dynamic robotic locomotion. The best example may be the
running and hopping machines described above (Raibert, 1986).
There are many other machines that demonstrate dynamic walking, or other dynamic
tasks. Miura and Shimoyama at the University of Tokyo built a small walking robots with
a motion that resembles a person walking with stilts (Miura and Shimoyama, 1984).
McGeer (1990) built a walking machine with a gait resembling a human’s, which nas
no motors, sensors, or computers. It was designed so that the intrinsic dynamic behavior
produces stable walking patterns.
Similarly, there are examples of locomotion work that involve prehension, such as the
brachiating robots originally developed by Saito et al. (1994).
MIT Press Math7X9/2001/03/09:12:00 Page 235
Exercises
Exercise 10.1: Provide the details we skipped for figure 10.4. Use Reuleaux’s method
to identify the acceleration centers for every kinematically feasible contact mode, as in
figure 8.8. For each such mode, use moment labeling to construct the corresponding applied
wrenches. Add the center of mass, labeled ±, to the labeled regions and take the convex
hull. Represent the result as a cone of forces acting through the center of mass.
MIT Press Math7X9/2001/03/09:12:00 Page 237
A Appendix: Infinity
First impressions are sometimes misleading. Points at infinity might first appear to be
hopelessly abstract and disconnected from the real world. To the contrary, points at infinity
capture the very practical notion of direction, and provide pragmatic approaches to a
variety of problems.
In this appendix we start with the Euclidean plane E2 and add some points at infinity
to obtain the projective plane P2 . We then explore some of the basic properties of points at
infinity and the projective plane. Homogeneous coordinates provide the easiest construc-
tion of points at infinity. Ordinarily we would represent points in the Euclidean plane by
two coordinates, (x, y). Homogeneous coordinates introduce a third, apparently redundant,
coordinate w, which serves as a scale factor. If we restrict w to be non-zero, we can use
homogeneous coordinates to represent the Euclidean plane by the mapping
x
y
→ x/w , w = 0 (A.1)
y/w
w
It is sometimes convenient to adopt the convention w = 1 for points in the Euclidean plane.
Note that we can scale the homogeneous coordinates of a point, without affecting the
point:
ax
ay
→ ax/aw = x/w , a, w = 0 (A.2)
ay/aw y/w
aw
We now define a point at infinity to be a point with homogeneous coordinates (x, y, 0).
The projective plane refers to the Euclidean plane augmented by the points at infinity.
But where are these points? How do we know that the addition of these points makes
geometrical sense? A careful treatment would take us well beyond the purpose of this
appendix, but a simple construction yields a number of insights. (See figure A.1). The
homogeneous coordinates (x, y, w) form a three-dimensional space. The Euclidean plane
is represented by the points with homogeneous coordinates (x, y, 1), which is the plane
w = 1. Given any point with homogeneous coordinates (x, y, w), with non-zero w, we
can scale by 1/w and project the point onto the plane. This is a central projection of
homogeneous coordinate space onto the plane w = 1, and gives a nice geometrical picture
of the homogeneous coordinate representation of the Euclidean plane. However, the points
at infinity map to nowhere under this projection.
MIT Press Math7X9/2001/03/09:12:00 Page 238
238 Appendix A
Infinity 239
(x, y, w)
(x/w, y/w, 1)
(x, y, w)
x2 + y 2 + w2
Figure A.1
Central projection of the sphere to a plane. Antipodal points on the sphere map to the plane. Antipodal points on
the equator map to the line at infinity.
One further note on nomenclature is in order. Points at infinity are often referred to as
ideal points, and they form the ideal line and the ideal plane.
To summarize:
• Points at infinity are mathematically well-defined additions to the Euclidean plane;
• Points at infinity are conveniently represented using the homogeneous coordinates
(x, y, 0);
• The points at infinity form a line in the projective plane;
• Parallel lines in the Euclidean plane, when mapped to the projective plane, intersect at a
point at infinity;
• The topology of the projective plane is the same as a sphere with antipodal points
identified, and the same as the space of all lines through a given point in Euclidean three-
space.
MIT Press Math7X9/2001/03/09:12:00 Page 241
References
Aboaf, E. W., C. G. Atkeson, and D. J. Reinkensmeyer (1987). Task-level robot learning: Ball throwing. AI
memo 1006, Massachusetts Institute of Technology.
Aboaf, E. W., S. M. Drucker, and C. G. Atkeson (1989). Task-level robot learning: Juggling a tennis ball more
accurately. In IEEE International Conference on Robotics and Automation, Scottsdale, AZ, pp. 1290–1295.
Alexander, J. C. and J. H. Maddocks (1993). Bounds on the friction-dominated motion of a pushed object.
International Journal of Robotics Research 12(3), 231–248.
Altmann, S. L. (1989, December). Hamilton, Rodrigues, and the quaternion scandal. Mathematics
Magazine 62(5), 291–308.
Andersson, R. L. (1989). Understanding and applying a robot ping-pong player’s expert controller. In IEEE
International Conference on Robotics and Automation, Scottsdale, AZ, pp. 1284–1289.
Arai, H. and O. Khatib (1994). Experiments with dynamic skills. In 1994 Japan–USA Symposium on Flexible
Automation, pp. 81–84.
Asada, H. and A. B. By (1985, June). Kinematic analysis of workpart fixturing for flexible assembly with
automatically reconfigurable fixtures. IEEE Journal of Robotics and Automation RA-1(2), 86–94.
Ball, R. S. (1900). The Theory of Screws. Cambridge University Press.
Baraff, D. (1990, April). Determining frictional inconsistency is NP-complete. Department of Computer
Science 90-1112, Cornell University.
Baraff, D. (1993). Issues in computing contact forces for non-penetrating rigid bodies. Algorithmica 10,
292–352.
Barraquand, J. and J.-C. Latombe (1991). Robot motion planning: A distributed representation approach.
International Journal of Robotics Research 10, 628–649.
Barraquand, J. and J.-C. Latombe (1993). Nonholonomic multibody mobile robots: Controllability and motion
planning in the presence of obstacles. Algorithmica 10, 121–155.
Bicchi, A. and V. Kumar (2000). Robotic grasping and contact: A review. In IEEE International Conference on
Robotics and Automation, pp. 348–353.
Blind, S. J., C. C. McCullough, S. Akella, and J. Ponce (2000). A reconfigurable parts feeder with an array of
pins. In IEEE International Conference on Robotics and Automation, pp. 147–153.
Boothby, W. M. (1975). An Introduction to Differentiable Manifolds and Riemannian Geometry. Academic
Press.
Boothroyd, G. (1992). Assembly Automation and Product Design. Marcel Dekker.
Bottema, O. and B. Roth (1979). Theoretical Kinematics. North-Holland.
Brockett, R. W. (1990). Some mathematical aspects of robotics. Proceedings of Symposia in Applied
Mathematics 41, 1–19.
Bronowski, J. (1976). The Ascent of Man. Boston: Little, Brown.
Brost, R. C. (1988, February). Automatic grasp planning in the presence of uncertainty. International Journal
of Robotics Research 7(1), 3–17.
Brost, R. C. (1991a, January). Analysis and Planning of Planar Manipulation Tasks. Ph. D. thesis, Carnegie
Mellon University, School of Computer Science.
Brost, R. C. (1991b). Computing the possible rest configurations of two interacting polygons. In IEEE
International Conference on Robotics and Automation, Sacramento, CA.
Brost, R. C. and K. Y. Goldberg (1996, February). A complete algorithm for designing planar fixtures using
modular components. IEEE Journal of Robotics and Automation 12, 31–46.
Brost, R. C. and M. T. Mason (1989, August). Graphical analysis of planar rigid-body dynamics with multiple
frictional contacts. In International Symposium on Robotics Research, Tokyo, Japan, pp. 293–300. Cambridge,
MA: MIT Press.
Bühler, M. and D. E. Koditschek (1990). From stable to chaotic juggling: Theory, simulation, and experiments.
In IEEE International Conference on Robotics and Automation, Cincinnati, OH, pp. 1976–1981.
Chatterjee, A. and A. Ruina (1998). A new algebraic rigid body collision law based on impulse space
considerations. ASME Journal of Applied Mechanics 65, 935–950.
MIT Press Math7X9/2001/03/09:12:00 Page 242
242 References
Cheng, H. and K. C. Gupta (1989, March). An historical note on finite rotations. Journal of Applied
Mechanics 56, 139–145.
Collias, N. E. and E. C. Collias (1984). Nest Building and Bird Behavior. Princeton University Press.
Crenshaw, J. W. (1994, May). Programmer’s toolbox: The hard way. Embedded Systems Programming, 11–22.
De Fazio, T. L. and D. E. Whitney (1987). Simplified generation of all mechanical assembly sequences. IEEE
Transactions on Robotics and Automation RA-3(6), 640–658. errata in RA-6(6), 705–708.
Erdmann, M. (1998). An exploration of nonprehensile two-palm manipulation. International Journal of
Robotics Research 17(5).
Erdmann, M. A. (1984, August). On motion planning with uncertainty. Master’s thesis, Massachusetts Institute
of Technology.
Erdmann, M. A. (1994). On a representation of friction in configuration space. International Journal of
Robotics Research 13(3), 240–271.
Erdmann, M. A. and M. T. Mason (1988, August). An exploration of sensorless manipulation. IEEE Journal of
Robotics and Automation 4(4), 369–379.
Fujimori, T. (1990). Development of flexible assembly system SMART. In Proceedings, International
Symposium on Industrial Robots, pp. 75–82.
Gillmor, C. S. (1971). Coulomb and the Evolution of Physics and Engineering in Eighteenth Century France.
Princeton, New Jersey: Princeton University Press.
Goldberg, K. Y. (1993). Orienting polygonal parts without sensors. Algorithmica 10, 201–225.
Goldman, A. J. and A. W. Tucker (1956). Polyhedral convex cones. In H. W. Kuhn and A. W. Tucker (Eds.),
Linear Inequalities and Related Systems, pp. 19–39. Princeton, NJ: Princeton University Press. Volume 38,
Annals of Mathematics Studies.
Goyal, S. (1989). Planar Sliding of a Rigid Body With Dry Friction: Limit Surfaces and Dynamics of Motion.
Ph. D. thesis, Cornell University, Dept. of Mechanical Engineering.
Goyal, S., A. Ruina, and J. Papadopoulos (1991). Planar sliding with dry friction. Part 1. Limit surface and
moment function. Wear 143, 307–330.
Grossman, D. D. and M. W. Blasgen (1975, September). Orienting mechanical parts by computer-controlled
manipulator. IEEE Transactions on Systems, Man, and Cybernetics.
Guibas, L. J., L. Ramshaw, and J. Stolfi (1983, November). The kinetic framework for computational geometry.
In Proc. the 24th Annual Symposium on Foundations of Computer Science (FOCS), Tucson, Arizona, pp.
100–111. IEEE.
Halperin, D., L. Kavraki, and J.-C. Latombe (1997). Robotics, Chapter 41, pp. 755–778. CRC Press.
Hanafusa, H. and H. Asada (1977). Stable prehension by a robot hand with elastic fingers. In Proceedings of
the Seventh International Symposium on Industrial Robots, pp. 361–368.
Hartenberg, R. S. and J. Denavit (1964). Kinematic Synthesis of Linkages. McGraw-Hill.
Hilbert, D. and S. Cohn-Vossen (1952). Geometry and the Imagination. Chelsea.
Hirai, S. and H. Asada (1993, October). Kinematics and statics of manipulation using the theory of polyhedral
convex cones. International Journal of Robotics Research 12(5), 434–447.
Homem de Mello, L. S. and A. C. Sanderson (1990). AND/OR graph representation of assembly plans. IEEE
Transactions on Robotics and Automation 6(2), 188–199.
Hove, B. and J. Slotine (1991, June). Experiments in robotic catching. In Proceedings of the 1991 American
Control Conference, pp. 380–385.
Howe, R. D. and M. R. Cutkosky (1996, December). Practical force-motion models for sliding manipulation.
International Journal of Robotics Research 15(6), 557–572.
Huang, W., E. P. Krotkov, and M. T. Mason (1995). Impulsive manipulation. In IEEE International Conference
on Robotics and Automation, pp. 120–125.
Huang, W. H. (1997, August). Impulsive Manipulation. Ph. D. thesis, Carnegie Mellon University.
CMU-RI-TR-97-29.
MIT Press Math7X9/2001/03/09:12:00 Page 243
References 243
244 References
References 245
Stewart, D. E. (2000). Rigid-body dynamics with friction and impact. SIAM Review 42(1), 3–39.
Stolfi, J. (1988, May). Primitives for Computational Geometry. Ph. D. thesis, Stanford Univ., Department of
Computer Science.
Symon, K. R. (1971). Mechanics. Addison-Wesley.
Trinkle, J. C. (1992, October). On the stability and instantaneous velocity of grasped frictionless objects. IEEE
Transactions on Robotics and Automation 8(5), 560–572.
Trinkle, J. C., J.-S. Pang, S. Sudarsky, and G. Lo (1997). On dynamic multi-rigid-body contact problems with
Coulomb friction. Z. angew. Math. Mech. 77(4), 267–279.
Truesdell, C. (1968). Essays in the History of Mechanics. New York: Springer-Verlag.
Wang, Y. and M. T. Mason (1992, September). Two-dimensional rigid-body collisions with friction. ASME
Journal of Applied Mechanics 59, 635–641.
Wilson, F. R. (1998). The Hand. New York: Pantheon.
Yokokohji, Y., Y. Yu, N. Nakasu, and T. Yoshikawa (1993). Quasi-dynamic manipulation of constrained object
by robot fingers in assembly tasks. In Proceedings of 1993 IEEE/RSJ International Conference on Intelligent
Robots And Systems, pp. 144–151.
MIT Press Math7X9/2001/03/09:12:00 Page 247
Author Index
Painlevé, 207
Pang, 117
Papadopoulos, 134, 139
Paul, 37
Peshkin, 156, 174
Prescott, 139
Raibert, 231
Ramshaw, 117
Reinkensmeyer, 233
Reuleaux, 36, 40, 174, 179
Rimon, 37
Rizzi, 233
Roth, 36, 72, 117
Routh, 223
Ruina, 134, 223
Saito, 234
Sakaguchi, 233
Salamin, 72
Salisbury, 86–88, 91, 92
Sanderson, 174
Sastry, 36, 72, 88
Savage-Rumbaugh, 8
Schaal, 233
Schwartz, 173
Shannon, 229
Sharir, 173
Shimoyama, 234
Simunovic, 139, 171, 174
Slotine, 232
Smaby, 88
Stewart, 207, 223
Stolfi, 117
Symon, 117, 207
Wang, 223
Watt, 39
Wesley, 88
Whitney, 171, 174
Wilson, 8
Yokokohji, 232
Yoshikawa, 232
Yu, 232
MIT Press Math7X9/2001/03/09:12:00 Page 249
Subject Index
table, 143
table tennis,
See ping pong
tangent space, 29
tip line, 155–156
tolerances, 170
top spinning, 234
torque,
See moment, of force
trajectory, 18
transform matrix, 59–60, 72,
See homogeneous coordinates
translation, 13
tray tilting, 225–227
tumbling, 208
tumbling body, 186
twist, 24, 96, 104
differential, 67–68, 70
representation of, 67–68
representation of, 66–67
type synthesis, 87