You are on page 1of 361

This page intentionally left blank

BIOMIMETIC ROBOTICS
This book is written as an initial course in robotics. It is ideal for the
study of unmanned aerial or underwater vehicles, a topic on which
few books exist. It presents the fundamentals of robotics, from an
aerospace perspective, by considering only the eld of robot mech-
anisms. For an aerospace engineer, three-dimensional and parallel
mechanisms ight simulation, unmanned aerial vehicles, and space
robotics take on an added signicance. Biomimetic robot mecha-
nisms are fundamental to manipulators and walking, mobile, and ying
robots. As a distinguishing feature, this book gives a unied and inte-
grated treatment of biomimetic robot mechanisms. It is ideal prepa-
ration for the next robotics module: practical robot-control design.
Although the book focuses on principles, computational procedures
are also given due importance. Students are encouraged to use com-
putational tools to solve the examples in the exercises. The author has
also included some additional topics beyond his course coverage for
the enthusiastic reader to explore.
Ranjan Vepa has been with Queen Mary and Westeld College in
the Department of Engineering since 1984, after receiving his Ph.D.
from Stanford University. Dr. Vepas research covers, in addition to
biomimetic robotics, aspects of the design, analysis, simulation, and
implementation of avionics and avionics-related systems, including
nonlinear aerospace vehicle kinematics, dynamics, vibration, control,
and ltering. He has published numerous journal and conference
papers and has contributed to a textbook titled Application of Arti-
cial Intelligence in Process Control. He is active in learning-based
design education and the utilization of modern technology in engineer-
ing education. Dr. Vepa is a Chartered Engineer, a Member of the
Royal Aeronautical Society (MRAeS) London, and a Fellow of the
Higher Education Academy.
Biomimetic Robotics
mechanisms and control
Ranjan Vepa
Queen Mary, University of London
CAMBRIDGE UNIVERSITY PRESS
Cambridge, New York, Melbourne, Madrid, Cape Town, Singapore, So Paulo
Cambridge University Press
The Edinburgh Building, Cambridge CB2 8RU, UK
First published in print format
ISBN-13 978-0-521-89594-1
ISBN-13 978-0-511-50691-8
Ranjan Vepa 2009
2009
Information on this title: www.cambridge.org/9780521895941
This publication is in copyright. Subject to statutory exception and to the
provision of relevant collective licensing agreements, no reproduction of any part
may take place without the written permission of Cambridge University Press.
Cambridge University Press has no responsibility for the persistence or accuracy
of urls for external or third-party internet websites referred to in this publication,
and does not guarantee that any content on such websites is, or will remain,
accurate or appropriate.
Published in the United States of America by Cambridge University Press, New York
www.cambridge.org
eBook (EBL)
hardback
To my father, Narasimha Row, and mother, Annapurna
Contents
Preface page xiii
Acronyms xv
1. The Robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Robotics: An Introduction 1
1.2 Robot-Manipulator Fundamentals and Components 5
1.3 From Kinematic Pairs to the Kinematics of Mechanisms 12
1.4 Novel Mechanisms 13
1.4.1 Rack-and-Pinion Mechanism 14
1.4.2 Pawl-and-Ratchet Mechanism 14
1.4.3 Pantograph 15
1.4.4 Quick-Return Mechanisms 15
1.4.5 Ackermann Steering Gear 16
1.4.6 Sun and Planet Epicyclic Gear Train 17
1.4.7 Universal Joints 17
1.5 Spatial Mechanisms and Manipulators 18
1.6 Meet Professor da Vinci the Surgeon, PUMA, and SCARA 20
1.7 Back to the Future 23
exercises 24
2. Biomimetic Mechanisms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.1 Introduction 25
2.2 Principles of Legged Locomotion 27
2.2.1 Inchworm Locomotion 29
2.2.2 Walking Machines 30
2.2.3 Autonomous Footstep Planning 31
2.3 Imitating Animals 31
2.3.1 Principles of Bird Flight 33
2.3.2 Mechanisms Based on Bird Flight 34
2.3.3 Swimming Like a Fish 37
vii
viii Contents
2.4 Biomimetic Sensors and Actuators 39
2.4.1 Action Potentials 43
2.4.2 Measurement and Control of Cellular Action Potentials 46
2.4.3 Bionic Limbs: Interfacing Articial Limbs to Living Cells 47
2.4.4 Articial Muscles: Flexible Muscular Motors 51
2.4.5 Prosthetic Control of Articial Muscles 53
2.5 Applications in Computer-Aided Surgery and Manufacture 55
2.5.1 Steady Hands: Active Tremor Compensation 56
2.5.2 Design of Scalable Robotic Surgical Devices 58
2.5.3 Robotic Needle Placement and Two-Hand Suturing 60
exercises 61
3. Homogeneous Transformations and Screw Motions . . . . . . . . . . . . 62
3.1 General Rigid Motions in Two Dimensions 62
3.1.1 Instantaneous Centers of Rotation 64
3.2 Rigid Body Motions in Three Dimensions: Denition of Pose 64
3.2.1 Homogeneous Coordinates: Transformations of Position
and Orientation 65
3.3 General Motions of Rigid Frames in Three Dimensions: Frames
with Pose 66
3.3.1 The DenavitHartenberg Decomposition 66
3.3.2 Instantaneous Axis of Screw Motion 67
3.3.3. A Screw from a Twist 69
exercises 70
4. Direct Kinematics of Serial Robot Manipulators . . . . . . . . . . . . . . 74
4.1 Denition of Direct or Forward Kinematics 74
4.2 The DenavitHartenberg Convention 74
4.3 Planar Anthropomorphic Manipulators 76
4.4 Planar Nonanthropomorphic Manipulators 78
4.5 Kinematics of Wrists 80
4.6 Direct Kinematics of Two Industrial Manipulators 81
exercises 86
5. Manipulators with Multiple Postures and Compositions . . . . . . . . . . 89
5.1 Inverse Kinematics of Robot Manipulators 89
5.1.1 The Nature of Inverse Kinematics: Postures 91
5.1.2 Some Practical Examples 95
5.2 Parallel Manipulators: Compositions 99
5.2.1 Parallel Spatial Manipulators: The Stewart Platform 101
5.3 Workspace of a Manipulator 105
exercises 107
Contents ix
6. Grasping: Mechanics and Constraints . . . . . . . . . . . . . . . . . . . . 111
6.1 Forces and Moments 111
6.2 Denition of a Wrench 112
6.3 Mechanics of Gripping 112
6.4 Transformation of Forces and Moments 114
6.5 Compliance 115
6.5.1 Passive and Active Compliance 116
6.5.2 Constraints: Natural and Articial 116
6.5.3 Hybrid Control 117
exercises 118
7. Jacobians . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
7.1 Differential Motion 120
7.1.1 Velocity Kinematics 123
7.1.2 Translational Velocities and Acceleration 124
7.1.3 Angular Velocities 127
7.2 Denition of a Screw Vector: Instantaneous Screws 127
7.2.1 Duality with the Wrench 129
7.2.2 Transformation of a Compliant Body Wrench 130
7.3 The Jacobian and the Inverse Jacobian 131
7.3.1 The Mobility Criterion: Overconstrained Mechanisms 133
7.3.2 Singularities: Physical Interpretation 134
7.3.3 Manipulability: Putting Redundant Mechanisms to Work 136
7.3.4 Computing the Inverse Kinematics: The Lyapunov
Approach 137
exercises 140
8. Newtonian, Eulerian, and Lagrangian Dynamics . . . . . . . . . . . . . 142
8.1 Newtonian and Eulerian Mechanics 142
8.1.1 Kinetics of Screw Motion: The NewtonEuler Equations 145
8.1.2 Moments of Inertia 146
8.1.3 Dynamics of a Links Moment of Inertia 147
8.1.4 Recursive Form of the NewtonEuler Equations 149
8.2 Lagrangian Dynamics of Manipulators 152
8.2.1 Forward and Inverse Dynamics 154
8.3 The Principle of Virtual Work 156
exercises 158
9. Path Planning, Obstacle Avoidance, and Navigation . . . . . . . . . . . 164
9.1 Fundamentals of Trajectory Following 164
9.1.1 Path Planning: Trajectory Generation 165
9.1.2 Splines, B ezier Curves, and Bernstein Polynomials 167
9.2 Dynamic Path Planning 172
x Contents
9.3 Obstacle Avoidance 174
9.4 Inertial Measuring and Principles of Position and
Orientation Fixing 180
9.4.1 Gyro-Free Inertial Measuring Units 188
9.4.2 Error Dynamics of Position and Orientation 189
exercises 193
10. Hamiltonian Systems and Feedback Linearization . . . . . . . . . . . . 198
10.1 Dynamical Systems of the Liouville Type 198
10.1.1 Hamiltons Equations of Motion 199
10.1.2 Passivity of Hamiltonian Dynamics 202
10.1.3 Hamiltons Principle 203
10.2 Contact Transformation 204
10.2.1 HamiltonJacobi Theory 205
10.2.2 Signicance of the Hamiltonian Representations 206
10.3 Canonical Representations of the Dynamics 207
10.3.1 Lie Algebras 208
10.3.2 Feedback Linearization 210
10.3.3 Partial StateFeedback Linearization 213
10.3.4 Involutive Transformations 214
10.4 Applications of Feedback Linearization 215
10.5 Optimal Control of Hamiltonian and Near-Hamiltonian Systems 223
10.6 Dynamics of Nonholonomic Systems 225
10.6.1 The Bicycle 228
exercises 236
11. Robot Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
11.1 Introduction 242
11.1.1 Adaptive and Model-Based Control 242
11.1.2 Taxonomies of Control Strategies 252
11.1.3 Human-Centered Control Methods 252
11.1.4 Robot-Control Tasks 257
11.1.5 Robot-Control Implementations 258
11.1.6 Controller Partitioning and Feedforward 259
11.1.7 Independent Joint Control 260
11.2 HAL, Do You Understand JAVA? 261
11.3 Robot Sensing and Perception 263
exercises 269
12. Biomimetic Motive Propulsion . . . . . . . . . . . . . . . . . . . . . . . . 272
12.1 Introduction 272
12.2 Dynamics and Balance of Walking Biped Robots 272
12.2.1 Dynamic Model for Walking 272
12.2.2 Dynamic Balance during Walking: The Zero-Moment Point 277
Contents xi
12.2.3 Half-Model for a Quadruped Robot: Dynamics and Control 279
12.3 Modeling Bird Flight: Robot Manipulators in Free Flight 281
12.3.1 Dynamics of a Free-Flying Space Robot 282
12.3.2 Controlling a Free-Flying Space Robot 284
12.4 Flapping Propulsion of Aerial Vehicles 285
12.4.1 Unsteady Aerodynamics of an Aerofoil 287
12.4.2 Generation of Thrust 294
12.4.3 Controlled Flapping for Flight Vehicles 299
12.5 Underwater Propulsion and Its Control 301
exercises 304
Answers to Selected Exercises . . . . . . . . . . . . . . . . . . . . . . . . 309
Appendix: Attitude and Quaternions . . . . . . . . . . . . . . . . . . . . 317
Bibliography 335
Index 339
Preface
This book is intended for a rst course in a robotics sequence. There are indeed a
large number of books in the eld of robotics, but for the engineer or student inter-
ested in unmanned aerial or underwater vehicles there are very few books. From the
point of view of an aerospace engineer (ight simulation, unmanned aerial vehicles,
and space robotics) three-dimensional and parallel mechanisms take on an added
signicance.
The fundamentals of robotics, from an aerospace perspective, can be very well
presented by considering just the eld of robot mechanisms. Biomimetic robot
mechanisms are fundamental to manipulators and to walking, mobile, and ying
robots. A distinguishing feature of the book is that a unied and integrated treat-
ment of biomimetic robot mechanisms is offered.
This book is intended to prepare a student for the next logical module in a
course on robotics: practical robot-control design. Throughout the book, in every
chapter, are introduced the most important and recent developments relevant to
the subject matter. Although the books primary focus is on understanding princi-
ples, computational procedures are also given due importance as a matter of course.
Students are encouraged to use whatever computational tools they consider appro-
priate to solve the examples in the exercises.
When writing this text, I included the topics in my course and some more for
the enthusiastic reader with the initiative for self-learning.
Thus, Chapter 1 gives an overview of robotics, with a focus on generic robotic
mechanisms, whereas Chapter 2 is about biomimetic mechanisms. Chapter 3 draws
attention to the integrated representation of displacement and rotation. Chapters 4
and 5 are about direct and inverse kinematics. Chapter 6 is about the mechanics of
grasping, and Chapter 7 provides a gentle introduction to Jacobians. Dynamics of
mechanisms is introduced in Chapter 8, and path planning and trajectory following
are discussed in Chapter 9. Chapter 10 is dedicated to the techniques of transform-
ing the dynamics to simpler forms that are useful for such tasks as control synthesis.
Chapter 10 also considers the ever-important problem of the dynamics of nonholo-
nomic systems with the archetypal example of the bicycle.
xiii
xiv Preface
Chapter 11 on robot control and Chapter 12 on biomimetic motive propulsion
are unique elements of this book. Most books dive straight into the mathematics of
robot-control synthesis. Here the student is introduced to important concepts in the
preceding chapters and is thus better prepared. Additionally, the problem of robot
control is inherently different from other applications of control engineering in that
it is patently nonlinear. Thus, Chapter 11 introduces the strategies for robot control
from a broad application perspective, keeping in mind the real-world and nonideal
situations faced on a routine basis. The book concludes with a unique and lively
chapter on biomimetic approaches to thrust generation in robots and robot vehicles.
All chapters feature exercises designed to reinforce the chapter content and
ensure the student has sufcient background to address the subsequent chapters.
The appendix provides a basic introduction to attitude representation, dynamics,
and control.
Any general text draws heavily on the work of countless engineers and scien-
tists. It is not possible to include references to the whole body of published work in
the eld. Yet those books and papers that were consulted in the preparation of the
manuscript are referenced, along with selected texts and papers that are appropriate
for the reader to obtain more detail and breadth.
I would like to thank my colleagues in the Department of Engineering at Queen
Mary, for their support in this endeavor. I would also like to express my special
thanks to Peter Gordon, Senior Editor, Aeronautical and Mechanical Engineering,
Cambridge University Press, New York, for his enthusiastic support for this project.
I would like to thank my wife, Sudha, for her love, understanding, and patience.
Her encouragement was a principal factor that provided the motivation to complete
the project. Finally, I must add that my interest in the kinematics of mechanisms was
inherited from my late father many years ago. It was, in fact, he who brought to my
attention the work of Alexander B. W. Kennedy and of Denavit and Hartenberg,
as well as countless other related aspects, a long time ago. To him I owe my deepest
debt of gratitude. This book is dedicated to his memory.
R. Vepa
London, UK, 2008
Acronyms
ATP adenosine triphosphate
BCF body or caudal n
CNS central nervous system
CP caudate and putamen
CVG Coriolis vibratory gyroscope
DCM direction cosine matrix
DH DenavitHartenberg
DOF degree of freedom
DTG dynamically tuned gyroscope
DVT deep vein thrombosis
ECG electrocardiogram
EEG electroencephalogram
EMF electromotive force
EMG electromyogram
ENG electroneurogram
FET eld-effect transistor
FOG ber-optic gyroscope
GOD glucose oxidase
GPpe globus pallidus pars externa
IMU inertial measuring unit
INS inertial navigation system
I/O input/output
IRS inertial reference system
ISFET ion-selective eld-effect transistor
IUPAC International Union of Pure and Applied Chemistry
LASER light amplication by stimulated emission of radiation
LED light-emitting diode
MPF median or paired n
MRAC model reference adaptive control
MRI magnetic resonance image
OS operating system
xv
xvi Acronyms
OSI open system interconnection
PD proportional-derivative
PI proportional-integral
PUMA Programmable Universal Machine for Assembly
PVDF poly-vinylidene uoride triuoroethylene
QCM quartz crystal microbalance
RF radio frequency
RLG ring-laser gyroscope
ROV remotely operated vehicle
RTOS real-time operating system
SCARA Selectively Compliant Assembly Robot Arm
SMA shape memory alloy
SNpc substantia nigra pars compacta
STN subthalamic nucleus
TCP tool center point
UAV unmanned aerial vehicle
UT Universal Time
VDT virtual device table
VOR vestibulo-ocular reex
1
The Robot
1.1 Robotics: An Introduction
The concept of a robot as we know it today evolved over many years. In fact, its
origins could be traced to ancient Greece well before the time when Archimedes
invented the screw pump. Leonardo da Vinci (14521519) made far-reaching con-
tributions to the eld of robotics with his pioneering research into the brain that
led him to make discoveries in neuroanatomy and neurophysiology. He provided
physical explanations of how the brain processes visual and other sensory inputs
and invented a number of ingenious machines. His ying devices, although not
practicable, embodied sound principles of aerodynamics, and a toy built to bring
to fruition Leonardos drawing inspired the Wright brothers in building their own
ying machine, which was successfully own in 1903. The word robot itself seems
to have rst appeared in 1921 in Karel Capeks play, Rossums Universal Robots,
and originated from the Slavic languages. In many of these languages the word
robot is quite common as it stands for worker. It is derived from the Czech word
robitit, which implies drudgery. Indeed, robots were conceived as machines capa-
ble of repetitive tasks requiring a lower intelligence than that of humans. Yet today
robots are thought to be capable of possessing intelligence, and the term is probably
inappropriate. Nevertheless it is in use. The term robotics was probably rst coined
in science ction work published around the 1950s by Isaac Asimov, who also enun-
ciated his three laws of robotics. It was from Asimovs work that the concept of
emulating humans emerged. A typical robot arm based on the anatomy of humans
is illustrated in Figure 1.1.
The evolution of a robot has a long and fascinating history, and this is traced in
Table 1.1. Apart from the down-to-earth inventors, a number of high-ying thinkers
contributed to its development by imagining the unimaginable. Although there were
many such philosophers, some of the recent thinkers who contributed to the evolu-
tion of robotics are identied in Table 1.2. In fact, the late Werner von Braun, the
legendary head of the U.S. space agency, NASA, used Arthur C. Clarkes book,
Exploration of Space (1951), to persuade President John F. Kennedy to commit the
United States to going to the Moon. According to Arthur C. Clarke, Cyrano de
1
2 The Robot
Body or capstan
(can rotate about a vertical axis)
shoulder
(can rotate about
a horizontal axis)
upper arm
lower arm
elbow
(can rotate about
a horizontal axis)
wrist and hand
(gripper assembly)
Figure 1.1. A typical robot arm.
Bergerac must be credited both for rst employing the rocket in space travel and
for inventing the ramjet in the 1650s. These inventions, however, became a reality
300 years later.
What then is a robot? An industrial robot in its simplest form is a programmable
multifunctional manipulator designed to move materials, parts, tools, or specialized
devices through a sequence of programmed motions to perform a variety of tasks.
Some of the earliest developments in the eld of robotics were concerned with car-
rying out tasks in environments that were either patently dangerous for humans to
enter or simply inaccessible. A classic example is the handling of nuclear fuel rods
in the environment of a nuclear reactor. Another, the American program to land on
the Moon, was supported in no small measure by developments in robotics, particu-
larly the Apollo Lunar Module. It was a remarkable vehicle that allowed the astro-
nauts to descend softly onto the lunar surface, carry out a number of experiments
on it, and return to the command and service modules in lunar orbit. Examples of
robots today include the Space Shuttles satellite manipulator, the Martian rover,
unmanned aerial vehicles (UAVs), and autonomously operated underwater vehi-
cles for ocean exploration. A broad taxonomy of robots is introduced in Figure 1.2.
Although a true robot would be an intelligent, autonomous mobile entity, capable of
interacting with its environment in a meaningful, adaptive, and intelligent manner,
no such entities exist at the present time.
An intelligent autonomous vehicle does indeed possess a number of capabilities
not found in a common machine, however ingenious it may be. Yet such intelligent
machines are only evolving at the present time. Considering the impressive range
of human achievements in the last century, it is fair to say that the development of
1.1 Robotics: An Introduction 3
Table 1.1. Evolution of robots [remotely operated vehicles (ROVs),
unmanned aerial vehicles (UAVs)]: The chronology
Year Invention Inventor
The pre-1900 period
200 b.c.e. Screw pump Archimedes
1440 c.e. Printing press Johannes Gutenberg
1589 Knitting machine William Lee
1636 Micrometer William Gascoigne
1642 Calculating machine Blaise Pascal
1725 Stereotyping William Ged
1733 The ying shuttle John Kay
1765 Steam engine James Watt
1783 Parachute Louis Lenormand
1783 Hot air balloon Montgoler Brothers
1785 Power loom Edward Cartwright
1793 Cotton gin Eli Whitney
1800 Lathe Henry Maudslay
1804 Steam locomotive Richard Trevithick
1816 Bicycle Karl von Sauerbronn
1823 Digital calculating machine Charles Babbage
1831 Dynamo Michael Faraday
1834 Reaping machine Cyrus McCormick
1846 Sewing machine Elias Howe
1852 Gyroscope Leon Foucault
1852 Passenger lift Elisha Otis
1858 Washing machine William Hamilton
1859 Internal combustion engine Jean-Joseph-Etienne Lenoir
1867 Typewriter Christopher Scholes
1868 Motorized bicycle Michaux Brothers
1876 Carpet sweeper Melville Bissell
1885 Motorcycle Edward Butler
1885 Motor car engine Gottlieb Daimle/Karl Benz
1886 Electric fan Schuyler Wheeler
1892 Diesel engine Rudolf Diesel
1895 Wireless Guglielmo Marconi
1898 Submarine John P. Holland
The post-1900 period
1901 Vacuum cleaner Hubert Booth
1903 Airplane Wright Brothers
1911 Combine harvester Benjamin Holt
1926 Rocket Robert H. Goddard
1929 Electronic television Vladimir Zworykin
1944 Automatic digital computer Howard Aiken
1949 Transistor Team of American engineers
1955 Hovercraft Christopher Cockerell
1957 Satellite Team of Russian engineers
1959 Microchip Team of American engineers
1962 Industrial robot manipulator George Devol, Unimation
1960s Automated assembly line Team of American engineers
1971 Microprocessor Team of American engineers
1981 Space Shuttle Team of American engineers
4 The Robot
Table 1.2. Dreamers, thinkers (eccentrics) who imagined the unimaginable
Year Thinker/writer Contribution
1510 Leonardo da Vinci Conceptual painting of a helicopter
1648 Cyrano de Bergerac Histoire comique des Estats et Empires de la Lune
(book)
1831 Mary Wollstonecraft-Shelley Frankenstein or, The Modern Prometheus (book)
1864 Jules Verne From Earth to the Moon, Journey to the Centre of
the Earth, Twenty Thousand Leagues Under the
Sea (books)
1901 H. G. Wells The Time Machine, The First Men on the Moon
(books)
1921 Karel Capek Rossums Universal Robots (play)
1930 Edgar Rice Burroughs The Martian Tales (a series of 11 books published
between 1911 and 1930)
1945 Arthur C. Clarke Concept of geostationary communication satellites
1948 Norbert Weiner Cybernetics or Control and Communication in the
Animal (book)
1950 Isaac Asimov I Robot (book)
1954 Jules Verne Twenty Thousand Leagues Under the Sea (Disney
lm)
1955 Walt Elias Disney Robots for entertainment in the Disneyland theme
park
1968 Arthur C. Clarke, Stanley
Kubrick
2001: A Space Odyssey (book, lm), HAL
(computer)
1977 George Lucas Star Wars (lms), R2D2, C3P0 (robots).
these machines may be effected in the not-so-distant future. For our part, the study
of industrial robotics is best initiated by considering the simplest of these creatures:
the robot manipulator. The manipulator is indeed the basic element in a walking
robot, which in turn could be considered to be a primary component of an intelligent
autonomous robot.
Machine
Manipulator Dexterity
Vision & Mobility Mobile Robot
Spatial Awareness
ROV
Autonomy &
Adaptability
Communication &
Interaction
Unmanned
Autonomous V.
Community of
UAVs
Intelligent
Autonomous V.
Interdependence &
Coordination
Figure 1.2. Taxonomy of robots.
1.2 Robot-Manipulator Fundamentals and Components 5
Table 1.3. Types of links
Type of link Illustration
Nullary
Unary
Binary
Ternary
Quaternary
N-ary
.
1.2 Robot-Manipulator Fundamentals and Components
Manipulation involves not only the motion, location, orientation, and geometry of a
real physical object but also the procedures for changing these attributes as well as
the physical design of a mechanical system that can effectively perform the manipu-
lation functions. A robot manipulator is essentially a kinematic system that is an
assemblage of a number of kinematic components. Although these components
could in general be exible, we shall restrict our attention to rigid components. The
basic rigid-component elements are referred to as kinematic links or simply links.
The basic interconnections between these links are referred to as kinematic joints or
simply joints.
The simplest of kinematic arrangements is made up of two links. Thus we
may consider two rigid bodies or links, one of which is free to move in three-
dimensional space. Six independent parameters are required for completely spec-
ifying the motion of the free body in space, relative to the xed body. The rela-
tive motion itself may be uniquely expressed in terms of the relative position of the
center of gravity of the body in Cartesian space in the surge (forward and back-
ward), sway (sideward), and heave (up and down) together with the orientation of
the body. The orientation of the body is dened by its attitude and specied as a
sequence of three successive rotations about the surge, sway, and heave directions
in terms of a roll, a pitch, and a yaw angle, respectively. The six independent param-
eters or degrees of freedom (DOFs), as they are referred to by dynamicists, of the
rigid body are the displacements of the center of gravity of the rigid body in the
surge, sway, and heave directions and the sequence of roll, pitch, and yaw rotations
about these directions.
We may classify the links on the basis of the number of joints used to intercon-
nect them to each other, as illustrated in Table 1.3. Thus a nullary link is a rigid body
that is not connected to any other link, and a unary link is one that is connected
to just one other link by a single joint. A binary link is one that is connected to
6 The Robot
two other links by two distinct and separate joints. In a similar manner we dene
a ternary link as one that is connected to three other links at three distinct points
on it by separate joints and a quaternary link as one that is connected to four other
links at four distinct points on it by separate joints. In general, an N-ary link has N
independent joints associated with it. Each link could be of arbitrary shape and the
joints not only located at arbitrary points but also of arbitrary shape.
A joint itself is then dened as a connection between links that allows certain
relative motion between links. At the outset such joints as welds, rigid connections,
or bonded joints are excluded. Joints may then be classied, irrespective of their
nature, based on the number of links associated with each. A binary joint connects
two links together, ternary joints connect three links together, and in general an
N-ary joint connects N links together.
In dening an N-ary link we associate N joints with it. It is sometimes more con-
venient to dene an N-ary link as one that is connected to N other links. The two
denitions are equivalent when every joint is a binary joint. A kinematic system is
then a collection of kinematic links connected together by an associated set of kine-
matic joints. A typical robot manipulator is such an assemblage or kinematic chain,
transmitting a denite motion. When one element of such a kinematic chain is xed,
the kinematic chain is a mechanism. From the point of view of robot manipulators,
the objective is to investigate and synthesize kinematic chains to produce mecha-
nisms that can transmit, constrain, or control various relative motions. This is the
notion of kinematic structure.
The kinematic structure of a robot manipulator must satisfy two essential
requirements:
1. First, it must have the ability to displace objects in three dimensions, operate
within a nite workspace, have a reasonable amount of dexterity in avoiding
obstacles, be able to reach into conned spaces and thus be able to arbitrarily
alter an objects position and orientation from one to another;
2. Second, once positioned, the manipulator must have the ability to grasp with
optimumforce arbitrary or customobjects and hold themstationary irrespective
of the other forces and moments they are subjected to.
Considering the rst of these requirements, the primary design problem re-
duces to one of kinematic design. In general, to operate in three-dimensional space,
a kinematic mechanism must possess at least six DOFs in order to function without
any constraints. The DOFs are removed as one applies kinematic constraints to the
assemblage.
To understand the kinematic design problem, the synthesis of a component sys-
tem in a constrained kinematic mechanism so that it has a nite number of relative
DOFs may rst be considered. To ensure that the complete sets of feasible designs
are nite in number, we need to consider the constraints that must be imposed. First,
we consider the number of connected planar systems that can be put together from
purely topological considerations. Considering four different links, we may identify
1.2 Robot-Manipulator Fundamentals and Components 7
Table 1.4. Four-link kinematic systems and their interchange
graphs
Four-link kinematic system Interchange graph
two open-loop arrangements, two single-loop arrangements, and two multiloop
arrangements, as shown in Table 1.4. Also shown is a graph-theoretic representation
of the kinematic structure in the form of an interchange graph in which a link in the
physical mechanism is modeled as a node and a physical binary joint as an edge.
One of the open-loop arrangements has three branches, and one of the closed-loop
arrangements includes a branch in addition to the loop. Only one of these arrange-
ments has all its links connected serially, whereas another has all links connected
in a single loop. The former is a classic serial manipulator structure shown in Fig-
ure 1.3, which we will consider extensively in later sections. Also shown in the gure
is an end-effector in the formof wrist and gripper. Without the wrist the manipulator
would at most have the capability to approach a certain object from a single angle.
The wrist gives the manipulator the mechanical exibility to perform real tasks. Yet
there are still a number of other limitations as the range of movement of each joint is
8 The Robot
wrist and hand
(gripper assembly)
Figure 1.3. A typical robot serial manipulator including an end-effector (wrist-and-gripper
assembly).
limited. As a result, the workspace, which is the space of positions and orientations
reachable by the robots end-effector, is still severely limited. But within this limited
workspace it is the wrist that gives the end-effector the capability to point toward
an arbitrary direction. The most common types of wrists are quite analogous to the
human wrist, with three or more spatial (nonplanar) DOFs. The latter single-loop
chain is the classic four-link kinematic chain, and when one of its links is xed, one
obtains the well-known four-bar mechanism shown in Figure 1.4. Link OA is the
driving link or the crank, and link AB is the coupler link or coupler.
The path traced by a point on the coupler link BA is referred to as a coupler
curve. Generally moving the point to different locations on the coupler would gen-
erate different coupler curves. A basic task is to be able to predict the geometry
of the coupler curve generated by the point on the coupler. Coupler curves can be
surprisingly complex. The corresponding design problem consists of synthesizing a
mechanism for generating a specic coupler curve (for example, the shape of an
aerofoil or a ships hull). In the generic case, a coupler curve of a four-bar mecha-
nism is an algebraic curve of degree six. Different shapes of coupler curves that can
arise from four-bar and other mechanisms have been cataloged by several authors.
It is interesting to observe that there exist at least two other four-bar mechanisms
that can generate the same coupler curve as the one generated by a four-bar mech-
anism.
O'
O
B
A
Figure 1.4. A four-bar linkage, with an exam-
ple of a coupler curve generated by a point on
the coupler.
1.2 Robot-Manipulator Fundamentals and Components 9
Table 1.5. (a) Kinematic chains with L links and J joints (shaded links are ternary
links); (b) kinematic mechanisms derived from the chains in (a)
(a)
Watt (1)
Watt (2) Stephenson (1) Stephenson (2)
Stephenson (3)
(b)
The basic four-link kinematic chain and the chains made more complex by the
further addition of links are illustrated in Table 1.5(a). To transmit motion, a prac-
tical mechanism may be obtained by xing one of the links in a kinematic chain.
Thus from an n-link chain one may derive as many as n mechanisms. Some of the
10 The Robot
Table 1.6. A seven-link kinematic chain and
its velocity graphs
(a) (b)
(c) (d)
mechanisms derived may be identical to each other in a kinematic sense. Such mech-
anisms are said to be isomorphic. To nd the number of distinct mechanisms that
may be derived from a kinematic chain, it is essential that isomorphic mechanisms
be counted just once. The mechanisms in Table 1.5(b) are obtained by xing one of
the links in the kinematic chains in Table 1.5(a).
Graph-theoretic representations of kinematic mechanisms are used to detect
isomorphic mechanisms. Although these representations are by no means unique,
they are useful in the analysis of the kinematic geometry of a mechanism. One
method, for example, is based on clearly incorporating the effect of xing a link
in the corresponding graph representation of the mechanisms. Thus one obtains the
graphical pattern by substituting a xed link in a kinematic chain by a direct pin con-
nection. Such substituted pin connections are indicated with an additional rectangle
overlaid on the pin. The resulting diagram is known as a velocity graph. Thus the
problem of detecting isomorphic mechanisms is reduced to one of detecting isomor-
phisms in the graph-theoretic representations.
A graph is characterized by a certain number of vertices or nodes, a certain
number of edges, the adjacency matrix, with entries of ones and zeros, and the dis-
tance matrix with integer entries. The matrices are both square matrices with one
row and one column for each node. A nonzero element of the former, the adjacency
matrix, indicates that the vertices corresponding to the row and column numbers are
connected. It records information about every edge except when there are parallel
edges. An element of the latter, the distance matrix, indicates the minimum number
of edges between the vertices corresponding to the row and column numbers. The
distance matrix may be computed from the adjacency matrix. Thus two graphs may
be considered to be isomorphic, provided the numbers of nodes and edges and the
adjacency matrices are identical.
Considering, for example, the seven-link chain in Table 1.6(a), there are seven
possible theoretical mechanisms one could associate it with. However, considering
the velocity graphs, there are only three possible nonisomorphic velocity graphs.
1.2 Robot-Manipulator Fundamentals and Components 11
Table 1.7. Some of the mechanisms formed when a link is
replaced with a slider
The three nonisomorphic velocity graphs are also shown in Table 1.6, thus indicat-
ing that only three nonisomorphic mechanisms may be derived from the seven-link
kinematic chain in Table 1.6(a).
Often one may x an alternative link in the same kinematic chain and thus
obtain a different nonisomorphic mechanism. This process is referred to as the pro-
cess of kinematic inversion. The slidercrank mechanism in Table 1.7 is obtained by
the replacement of one of the links in the four-bar mechanismwith a slider. The joint
between the xed link and the slider is a sliding joint. Alternatively the slider may
be a collar that is pinned to the xed link and permitted to slide over the coupler.
Other mechanisms obtained by this process of kinematic inversion or by replacing a
link with a slider are shown in Table 1.7.
When a mechanism is designed to have a single relative DOF, its motion must
be completely determined by prescribing a single input variable. For design pur-
poses, it is essential that all the distinct systems possible and their structures are
identied so an optimum choice may be made. The general solution to the preced-
ing problem results in an innite number of possibilities. Yet, when certain restric-
tions are imposed, the number of possibilities reduces to a nite set. If one restricts
ones attention to planar kinematic systems with a maximum of eight components
or links, so that all components move in parallel planes, and imposes the follow-
ing four constraints, the number of possibilities reduces to only 19 essential distinct
systems:
1. all kinematic joints are of the same type (for example a pin joint);
2. the system should be kinematically closed loop so disconnecting any one joint
will not separate the system into two parts;
3. the system should not have a separating component whose removal would
reduce the system to two independent and uncoupled subsystems;
4. no connected subsystem consisting of two or more components should have
zero DOFs (i.e., immobile).
12 The Robot
Table 1.8. Number of closed-loop kinematic chains with eight
or fewer links
Joints Binary links Ternary links Quaternary links Chains
4 4 0 0 1
7 4 2 0 2
10 4 4 0 9
10 5 2 1 5
10 6 0 2 2
When these conditions, which are not really restrictive from a practical stand-
point, are imposed on a kinematic system, the number of possible systems satisfying
all of the constraints is nite in number (Table 1.8). A number of properties of these
subsystems can be deduced from their interchange graphs. Moreover, it is possible
to synthesize large spatial kinematic systems by assembling basic modules whose
interchange graphs are not only known but also satisfy certain specic properties.
1.3 From Kinematic Pairs to the Kinematics of Mechanisms
So far in our consideration of kinematic systems, we have restricted our attention
to a single type of joint, whatever it may be. In practice, however, there are several
types of binary joints of all shapes, sizes, and designs. One of the simplest joints is
the revolute joint, which interconnects the two links in such a way that the free link
is constrained to rotate only about a single axis. Each revolute joint introduces ve
constraints on a connecting link and thus permits it with one additional rotational
DOF. It is one of three one-DOF-lower kinematic pairs or binary joints, character-
ized by a surface contact (identied by the German kinematician Franz Reuleaux
in 1876), two of which are essentially nonrevolute with only a translational DOF.
Reuleaux also identied three other lower kinematic pairs, characterized by surface
contact binary joints and representing basic practical kinematic joints.
Franz Reuleaux, who is regarded as the founder of modern kinematics and as
one of the forerunners of modern design theory of machines, was born in Esch-
weiler (near Aachen), Germany, on September 30, 1829. Reuleaux, who taught
rst at the Swiss Federal Polytechnic Institute in Zurich and then at the Technis-
che Hochschule at Charlottenburg near Berlin, wrote a seminal text on theoretical
kinematics that was translated into English in 1876 by another famous kinematician,
Professor Alexander B.W. Kennedy of Great Britain. In the book the notion of a
kinematic pair was rst dened. When one element of a mechanism is constrained
to move in a denite way by virtue of its connection to another, then the two form a
kinematic pair.
Higher kinematic pairs are characterized by line contact. The ball-and-socket
joint, a spherical pair, is characterized by three rotational DOFs, the planar pair
by one rotational and two translational DOFs. and the cylindrical pair by one
translational and one rotational DOF. The spherical pair introduces three transla-
tional constraints on the motion of the rigid body, thereby implying that only three
1.4 Novel Mechanisms 13
additional parameters are required for describing the motion of the body linked to a
free body in space by such a joint. The planar pair also introduces three constraints
whereas the cylindrical pair introduces four constraints. All other lower kinematic
pairs introduce ve constraints on the motion of the rigid body so only one addi-
tional independent parameter is required for describing the relative motion of the
rigid body linked to another by such a pair. However, the joints with maximal prac-
tical import are the one-DOF binary joints, the revolute joint with one rotational
DOF, and the screw and parallel joints with one translational DOF each, which
could be actuated by in-parallel rotating (the rst two) and translational motors,
respectively. Whereas the revolute permits a rotation only through an angle and the
prismatic permits translation only through a distance, the screw allows a screw dis-
placement involving a simultaneous coupled translation only through a distance and
rotation through an angle that are related by the pitch of the screw.
Inspired by a former professor at Karlsruhe, F. J. Redtenbacher, Franz
Reuleaux embarked on a systematic method to synthesize kinematic mechanisms.
To this end, he created in Berlin a collection of over 800 models of mechanisms
based on his book. These were cataloged and classied by another German engi-
neer, Gustav Voigt. Apart from the lower and higher kinematic pairs and simple
kinematic chains, they include a variety of pump mechanisms, screw mechanisms,
slidercrank mechanisms, escapement mechanisms, cam mechanisms, chamber and
chamber-wheel mechanisms, ratchet mechanisms, planetary gear trains, jointed cou-
plings, straight-line mechanisms, guide mechanisms, coupling mechanisms, gyro-
scopic mechanisms, and a host of other kinematic mechanisms.
An industrial robot manipulator may be modeled as an open-loop articulated
chain with several rigid links connected in series by revolute or prismatic joints,
driven by suitable actuators, Motion of the joints results in the motion of the links
that position and orient the manipulators end-effector. The kinematics of the mech-
anism facilitates the analytical description of the position and orientation of the end-
effector with reference to a xed reference coordinate system in terms of relations
between the joint coordinates. Two fundamental questions are of interest. First, it
is desirable to obtain the position and orientation of the end-effector in the refer-
ence coordinate system in terms of the joint coordinates. This is known as the direct
or forward kinematics of the manipulator. Second, it is often essential to be able to
express the joint coordinates in terms of the position and orientation of the end-
effector in the reference coordinate system. This is known as inverse kinematics. In
most robotic applications it is relatively easy to nd the one, usually the forward
kinematics, but it is the other, the inverse kinematics, that must be known because
the task is usually stated in the reference coordinates and the variables that could
be controlled are the joint coordinates.
1.4 Novel Mechanisms
Although James Watt is credited with the invention of the steam engine, his singular
contribution was not so much the synthesis of a coal-red steam boiler to drive the
14 The Robot
Rack
Pinion
Figure 1.5. Rack-and-pinion mechanism.
piston in a cylinder by properly operating a set of pressure release valves; rather, it
was the successful application of the slidercrank mechanism to convert the recip-
rocating linear motion of the piston to a sustained and continuous rotary motion. It
was indeed one of a novel and practical set of inventions that triggered the industrial
revolution in Europe. Considering Gustav Voigts collection of kinematic mecha-
nisms, one could identify a basic set of novel mechanisms that serves as building
blocks of other mechanisms and machines. A sample of these mechanisms is briey
discussed in this section.
1.4.1 Rack-and-Pinion Mechanism
The rack-and-pinion mechanism illustrated in Figure 1.5 is a common mechanism
used to convert circular motion of the toothed pinion into the linear motion of the
rack that is designed to continuously mate with the pinion.
1.4.2 Pawl-and-Ratchet Mechanism
When rotary motion is not required to be continuous or if it is causing the motion
in one direction only while preventing it in the other, the pawl and ratchet in Fig-
ure 1.6 is a suitable mechanism. The toothed wheel known as the ratchet may be
rotated clockwise without any difculty as the nger known as the pawl merely slips
over the ratchet. However, when rotated in the counterclockwise direction, the pawl
obstructs the ratchet, and rotation in this direction is not permitted.
Pawl
Ratchet
Figure 1.6. Pawl-and-ratchet mechanism.
1.4 Novel Mechanisms 15
A B
C
D
O
Q
P
Figure 1.7. The planograph.
1.4.3 Pantograph
The pantograph was used by James Watt in his steam engine to exactly enlarge the
reciprocating motion of the piston in the cylinder. One form of the pantograph, the
planograph, is illustrated in Figure 1.7. The links are pin jointed at A, B, C, and
D. The links AB and DC are parallel to each other, and the links AD and BC are
parallel to each other. The link BA is extended to the xed pin O. The point Q on
the link AD and the point P on the extension of the link BC both lie on a straight
line that passes through O. It can be shown that under these circumstances the point
P will reproduce the motion of point Q to an enlarged scale; alternatively, point Q
will reproduce the motion of the point P to a reduced scale.
1.4.4 Quick-Return Mechanisms
It is often necessary to convert rotary motion into reciprocating motion, and the
slidercrank mechanism, driven by the crank, is commonly used. Moreover, what is
often necessary in practice is for the forward stroke of the reciprocating motion to
be slow and controlled because of the need for the mechanism to do work during
this stroke. On the return stroke no work is done, and therefore it is desirable that it
be completed as quickly as is possible. Thus the reciprocating motion is necessarily
asymmetric.
A suitable mechanism to meet these requirements is the crank and slotted lever
quick-return mechanism. In this mechanism, instead of the connecting rod being
driven directly by the crank pin, it is attached to one end of a slotted link, which in
turn is driven by the crank. In Figure 1.8 the crank pin O rotates at uniform speed
about the center of rotation, C, and as it slides over the link PQ, it causes this link
R
Q
O
P
C
Figure 1.8. The crank and slotted lever quick-return
mechanism.
16 The Robot
R
Q
O
P
C
Figure 1.9. Whitworth quick-return
mechanism.
to rock from side to side about the pivot at P. The connecting rod QR, which is
attached to the rocker PQ at Q, transmits the rocking motion to the slider at R.
The forward stroke begins with OC being perpendicular to PQ, with the slider at
O located to the right of C and rotating counterclockwise. The forward stroke is
completed when OC is again perpendicular to PQ, with the slider at O located to
the left of C. During the forward stroke the slider at O traces the arc of a circle,
which in turn subtends an angle greater than 180

at the center of rotation C. Thus


the forward stroke takes a relatively longer time to complete within one cycle of
rotation of the crank pin O, in comparison with that of the return stroke.
Another type of quick-return mechanism is the Whitworth quick-return mecha-
nism, as illustrated in Figure 1.9. In this mechanism, the crank pin Palso slides over a
link, although in this case the link does not merely rock but completes a full rotation
about a center, O, that is different from the center of rotation, C, of the crank. Thus
the link OQ will be slowed down and speeded up alternately as the driving crank
exerts rst a large moment and then a small moment about the center O. Thus the
quick-return motion is a direct consequence of the eccentricity between C and O.
1.4.5 Ackermann Steering Gear
The Ackermann steering gear is one of the simplest mechanisms invented for the
purposes of exerting directional control over the motor car; it is illustrated in Fig-
ure 1.10. This steering gear is based on the four-bar mechanism in which the xed
A
B
C
D
K L
P
Figure 1.10. The Ackermann steering-gear
mechanism.
1.4 Novel Mechanisms 17
Annulus
Sun
Planet
carrier
Planet
Figure 1.11. Sun and planet gear wheels meshing with an
internal gear, the annulus.
link, AC, and link KL are unequal but the links AK and LC are equal. In the sym-
metric state the parallelogram AKLC is a trapezium. In this conguration the xed
link, AC, and link KL are parallel, whereas links AK and LC are inclined to the
vertical at same angle in magnitude to the longitudinal axis.
To steer the car, link CL is turned so the angle it makes to the longitudinal
axis increases while link KL rotates and translates such that the angle that link AK
makes to the longitudinal axis decreases. As a consequence, link AB turns through
an angle that is less than the angle of turn of the link CD. That is, the left front axle
turns through a smaller angle than the right front axle, and consequently the center
of rotation is located at point to the right of the car and not at innity. Thus the car
is able to turn smoothly without slipping.
1.4.6 Sun and Planet Epicyclic Gear Train
Figure 1.11 illustrates a typical epicyclic gear train incorporating the Sun and planet-
type gears. In the gure, the central gear wheel is the Sun, and the gear wheel mesh-
ing with it, which not only rotates about a pin mounted on the carrier link but also
revolves about the central gear wheel in a circular orbit, is the planet. The planet
also meshes with the internal annulus. When the planet carrier is held stationary
and not allowed to rotate, the planet wheel acts as an idler and the gears form a
simple gear train with the Sun wheel rotating the annulus. On the other hand, when
the Sun wheel is rotated, say, clockwise, the planet wheel is driven about its axis in a
counterclockwise direction while rolling inside the annulus and carrying the planet
carrier in the clockwise direction. Between these two extreme modes of operation
there are an innite number of other modes in which this epicyclical train could be
operated, depending on the speed of the Sun and the planet carrier. Thus the con-
cept may be applied to a host of applications in bicycles, aircraft engines, automobile
rear-wheel drives, and a number of machine tools.
1.4.7 Universal Joints
The universal joint is essentially a binary link comprising two revolute joints, with
the axes of these joints being two skewed, nonintersecting, and nonparallel lines. A
universal joint is used to couple two shafts in different planes. Universal joints have
various forms and are used extensively in robot-manipulator-based equipment. An
elementary universal joint, sometimes called a Hookes joint (Figure 1.12) after its
18 The Robot

Figure 1.12. Illustration of a Hookes joint.
inventor Robert Hooke, consists of two U-shaped yokes fastened to the ends of the
shafts to be connected (Figure 1.13). Within these yokes is a cross-shaped part that
couples the yokes together and allows each yoke to bend, or pivot, in relation to
the other. With this arrangement, one shaft can drive the other even when the two
shafts are not in alignment.
A variant of the universal joint is a gyroscope-like suspension illustrated in Fig-
ure 1.14. This is a two-DOF system in which the twin-gimbaled system takes the
form of a Hookes joint that couples the wheel to the motor driveshaft. The axis of
rotation of the wheel need not be aligned to the axis of the driveshaft, which could
be exible.
1.5 Spatial Mechanisms and Manipulators
Several kinematicians have analyzed the geometrical arrangements of a number
of in-parallel actuated spatial mechanisms and manipulators recently and estab-
lished the principles of design of such systems. Thus three links linked together by
a Hookes joint could be supplemented by either two revolute joints, a revolute and
a prismatic joint, or by two prismatic joints, thereby synthesizing a spatial manipu-
lator either with three rotational DOFs and an additional optional translation DOF
or one with two rotational and two translational DOFs. By the late 1960s spatial
manipulators with three rotational DOFs in roll, pitch, and yaw and three transla-
tional DOFs in surge, sway, and heave were used in a range of applications. These
were based on the Stewart platform, which was developed in 1965.
The six-DOF Stewart platform, illustrated in Figures 1.15(a) and 1.15(b), is
also the one parallel kinematic manipulator conguration incorporating multiple
closed loops that has been used in a number of recent motion and suspension sys-
tem designs.
The Stewart platform typically consists of a movable platform connected to a
rigid base through six identically jointed and extensible struts. These struts support
the platform at three locations by six universal joints. They are also attached and
Figure 1.13. U-shaped yoke and cross pin in a typical
transmission system.
1.5 Spatial Mechanisms and Manipulators 19
Figure 1.14. Gyroscopic gimbal-like suspension system.
(a) (b)
Figure 1.15. (a) The Stewart platform and its variants, including the hexapod; (b) a cable-
actuated version of the Stewart platform.
20 The Robot
(a)
(b)
Figure 1.16. (a) A typical cable-mounted
and actuated wind-tunnel model; (b) a
spatial manipulator with three revo-
lute and three prismatic actuated joints:
Eclipse II.
supported at three locations on a xed rigid base on a ground surface by six addi-
tional universal joints. No two struts are jointed to the platform or to the xed rigid
base at more than one location. Thus the struts form a kinematic mechanism con-
sisting of a variable triangulated frame, which controls the position of the platform
with six DOFs. Although there are a number of advantages as all the actuators are
essentially linear, the kinematics and the algorithms for controlling the posture of
the platform are essentially nonlinear.
Figure 1.16 illustrates a typical cable-actuated suspension system of an aircraft
model in a wind tunnel and the spatial mechanism being developed for industrial
applications. The latter is the Eclipse II manipulator with six actuated joints, three
of which are double joints (revolute and slider) while the other three are prismatic
joints moving along a xed, horizontal circular guide ring. The vertical guide ring is
free to rotate about a vertical axis and the platform is mounted on ball joints.
1.6 Meet Professor da Vinci the Surgeon, PUMA, and SCARA
The da Vinci
TM
manipulator was developed to assist in the operating theater and is
designed to eliminate the tremor in the hands of surgeons. With the state-of-the-art
da Vinci manipulator, the surgeon uses a three-dimensional computer vision sys-
tem to manipulate robotic arms. These robotic arms hold special surgical instru-
ments that are inserted into the abdomen through tiny incisions. The robotic arms
can rotate a full 360

, allowing the surgeon to manipulate surgical instruments with


1.6 Meet Professor da Vinci the Surgeon, PUMA, and SCARA 21
Body or capstan
(can rotate about a vertical axis)
shoulder
(can rotate about
a horizontal axis)
upper arm
lower arm
elbow
(can rotate about
a horizontal axis)
wrist
Figure 1.17. Schematic drawing of the Unimation PUMA 560 manipulator.
greater precision and exibility. Furthermore, the robots pencil-thin arms and del-
icate grippers may be inserted through holes as narrow as 8 mm. Two of the hands
are used to wield surgical tools that follow nger and wrist movements made by an
operator sitting at a nearby console. A third arm carrying a miniature camera is also
inserted to track the motions of the surgical tools wielded by the other two.
The da Vinci manipulator has been used, among other tasks, to assist in a suc-
cessful kidney transplant. Its primary role was in removing the existing kidney from
the patients body, and conventional surgery was then used to implant the new
kidney.
Another robot, known as the Penelope Surgical Instrument Server, assisted in
the removal of a benign tumor on the forearm of a patient on June 16, 2005. Pene-
lope is now giving doctors at New York-Presbyterian Hospital an extra hand, as the
doctors might put it.
Penelope is really a robotic arm equipped with voice-recognition technology
that understands commands from doctors and nurses in the operating room. A sur-
geon can ask for any instrument, a scalpel for example, and Penelope then hands it
over.
The Unimation PUMA 560 (PUMA stands for Programmable Universal
Machine for Assembly) is a robot manipulator whose joints are all revolute joints
and it has six DOFs. It is shown in Figure 1.17 and should be compared with the
manipulator illustrated in Figure 1.1. There are three DOFs in the wrist, and a gear-
ing arrangement couples these three DOFs. The nature of the coupling plays an
important role in the derivation of the kinematics. Thus the number of joints is not
the same as the number of independent actuators. The brief technical specications
of the PUMA 562, a member of the PUMA 560 family, are given in Table 1.9.
22 The Robot
Table 1.9. Brief technical specications of the Puma 562
General Axes 6
Drives DC motors
Control Numerical
Positional control Incremental encoders
Coordinates Cartesian
Conguration Revolute
Cables 5 m
Work area Reach at wrist 878 mm (between joints 1 and 5)
Work volume 360

working volume in left-arm or


right-arm conguration
Limit joints 1 to 6 320

, 250

, 270

, 280

, 200

, 532

Load capacity Nominal payload 4 kg


Permitted load at wrist 4 kg at 127 mm from joint 5 and
37.6 mm from joint 6
Performance Repeatability 762 0.1 mm, 761 0.1 mm
Maximum speed 1.0 m/s
Universal Controller Programming and
language (VAL II)
Teach pendant; Virtual Device
Table (VDT) using VAL II
VAL II processor Motorola 68000 32 bit
Auxiliary processor Torque processor 68000
Interface 16 input/output exp 128 Analog I/O
Serial I/O
Serial interface RS232 RS423
Memory buffer 64 Kb, 512 Kb, 1 Mb, 2 Mb
Battery buffer 1 year
Environment Temperature/humidity 540

C (EN 60204-1)
Interface suppression 50% at 40

C, 90% at 20

C
Power supply Incorporated 208, 240, or 380 V
Option 5060 Hz 0.6 kW 1 phase
clean-room version (class 10)
Weights Arm 63 kg
Controller 200 kg
SCARA (which stands for Selectively Compliant Assembly Robot Arm) shown
in Figure 1.18 has three parallel revolute joints that allow it to move and ori-
ent within a plane, and a fourth prismatic joint moves the end-effector normal to
the plane. This is an example of a manipulator that is not fully articulated and is
not anthropomorphic. Rather, the combination of the revolute and prismatic joints
allows this manipulator to operate in a cylindrical workspace. An interesting feature
is the fact that only a minimum number of joints are load bearing, depending on the
nature of the application.
This brings us to the end of our broad survey of engineering robotic systems.
The survey is by no means exhaustive, yet is most relevant to current industrial tech-
nology. Robotics plays a key role in current mechatronic systems that are the heart
of most automated engineering systems such as unmanned autonomous vehicles or
remotely operated manipulators operating in a hazardous environment, manipula-
tors designed to assist surgeons on the operating table by letting them operate with
1.7 Back to the Future 23
Body or capstan
(can rotate about a vertical axis)
axes of rotation of
revolute joints
prismatic
joint
Figure 1.18. Schematic drawing of SCARA.
greater precision and accuracy than ever before, and industrial automated assem-
bly lines for the mass manufacture of a range of engineering products. We are
now in position to identify four broad areas that constitute the fascinating eld of
robotics: mechanisms, control, perception, and computing. In the following chapters
we restrict our attention to robot mechanisms and their control.
1.7 Back to the Future
It is indeed quite difcult to look ahead as there is no real magical crystal ball to
predict it. Yet there is a prognosis for the future. On one hand, one can predict that
the da Vinci-type manipulator would evolve into a robotic octopus. On the other
hand, it is not difcult to visualize that the development of multingered dexter-
ous hands (and legs) and the successful building of walking machines with amphibi-
ous capabilities and with machine vision and tactile sensing are set to revolution-
ize robotics. The engineering approach to robotics is a much more pragmatic one,
the emphasis being on the whole of the robot rather than just its computational
features.
Several research teams worldwide are involved in the design and development
of robot football players based on concepts associated with autonomous systems.
They involve a number of areas of robotics including sensor fusion, mobile robotics
navigation, nonlinear hybrid feedback control, and coordination. Probably the ulti-
mate test for a walking robot with multingered dexterous hands is its ability to play
cricket; to play the game like an accomplished human player with the ability to run
across the wickets at the appropriate speed and with the capacity to grip and spin
the ball and participate as a spin or pace bowler, as a batsman, as a wicket keeper,
and as a elder. One need not be surprised if such a complete robot is built within
the next 50 years.
24 The Robot
EXERCISES
1.1. Study the various kinematic mechanisms that were used in engineering indus-
tries in the past 50 years and indicate those that you think are exceptional or novel.
Highlight, with the aid of sketches, all the special features of these mechanisms.
1.2. Conduct a survey of industrial robot manipulators currently used and identify
at least two different
(a) anthropomorphic congurations,
(b) nonanthropomorphic congurations, and
(c) spatial mechanisms
from those discussed in this chapter. Name the salient features of each of these
systems and classify these manipulators based on their distinguishing features.
1.3. Study the various grasping and gripping mechanisms that may currently be in
use in various industrial applications and classify these on the basis of their kine-
matic geometry.
1.4. It is frequently necessary to constrain a point in a mechanism to move along a
straight line without the use of a sliding pair. Mechanisms designed for this purpose
are known as straight-line-motion mechanisms.
(a) Discuss your thoughts on how an exact straight-line-motion mechanism
may be designed. Based on your personal research, suggest two alternative
mechanisms that are able to generate straight-line motion.
(b) Often it is not necessary that the motion be an exact straight line. Dis-
cuss two or three alternative mechanisms that may be used as approximate
straight-line-motion mechanisms.
(c) Sketch three different forms of straight-line-motion mechanisms based on
the four-bar kinematic chain and the slidercrank mechanism.
1.5. You are a member of a team of engineers who have been assigned the task
of designing a walking robot, the SPD 408, capable of emulating humans in this
respect. Your rst task is to establish a kinematically feasible design. Draw up a set
of requirements and establish three or four feasible kinematic architectures for a
walking robot.
1.6. Isaac Asimovs three laws of robotics are that
(a) a robot may not injure a human being, or, through inaction, allow a human
being to come to harm;
(b) a robot must obey orders given to it by human beings except where such
orders conict with the rst law; and
(c) a robot must protect its own existence as long as such protection does not
conict with the rst or the second law.
Discuss the relevance and adequacy of Asimovs laws, particularly in the context
of humans and robots coexisting with each other in the not-too-distant future.
2
Biomimetic Mechanisms
2.1 Introduction
The concept of biomimetic control, i.e., control systems that mimic biological ani-
mals in the way they exercise control, rather than just humans, has led to the deni-
tion of a new class of biologically inspired robots that exhibit much greater robust-
ness in performance in unstructured environments than the robots that are currently
being built. It is believed that there is a duality between engineering and nature that
is based on optimum use of energy or an equivalent scarce resource, particularly
in exercising control over actions and over interactions with the immediate envi-
ronment. Biomimesis is generally based on this concept, and it is believed that by
mimicking animals that are most capable of performing certain specialized actions,
such as the lobster on the seabed, insects and birds in ight, and cockroaches in loco-
motion, one could build robots that can surpass any other in performance, agility,
and dexterity.
A key feature of biomimetic robots is their capacity to adapt to the environ-
ment and ability to learn and react fast. However, a biomimetic robot is not just
about learning and adaptation but also involves novel mechanisms and manipula-
tor structures capable of meeting the enhanced performance requirements. Thus
biomimetic robots are being designed to be substantially more compliant and stable
than conventionally controlled robots and will take advantage of new developments
in materials, microsystems technology, as well as developments that have led to a
deeper understanding of biological behavior.
Roboticists have a lot to learn from animals. Birds have a superior ying
machine with multielement aerofoils capable of controlling the ow around them
quite effortlessly. They use a pair of clap-and-ing or apping wings to execute
the modes such as apping translation that effectively compensate for the Wagner
effect.
1
The Wagner effect manifests itself as a time delay or transport lag in the
growth of lift over an impulsively or suddenly started and accelerated aerofoil.
1
Sane, S. P. (2003). Review: The aerodynamics of insect ight, Exp. Biol. 206, 41914208.
25
26 Biomimetic Mechanisms
To compensate for this effect, it can be shown that increasing the angle-of-attack
aerofoil by a rapid high-frequency apping action can effectively ensure an almost
instantaneous growth in the lift developed. The rapid high-frequency apping has
the added advantage of generating a net mean thrust. Thus a bird can effectively
take off by adopting a technique based on rapid apping of its wings. The clap-and-
ing mechanism also has a similar consequence.
Furthermore birds use visual perception based on the concept of optic ow
for ight control. One particular control concept that is gaining importance is
biomimetic ight control based on the principles of optic ow, which is a visual
displacement ow eld that can be used to explain changes in an image sequence.
The underlying principle that is used to dene optic ow is that the intensity level is
constant along the visual motion trajectories. Thus there exists a displacement eld
around the motion trajectories that is similar in structure to a potential ow eld.
Optic ow can be then dened as the motion of all the surface elements, in a limited
view, as perceived by the visual system. As a body moves through the limited view,
the objects and surfaces within the visual frame ow around it. The human visual
system can determine its current direction of travel from the movement of these
surfaces.
The term optic ow has been associated with ight and has been used suc-
cessfully in the design of ight simulators. The initial research on optic ow not only
inspired many cognitive psychologists and neurologists
2
with new ways of under-
standing how animals perceive motion around them but has also led to an increased
understanding of how ying animals maintain stability and perceive the world while
ying. Migratory birds use the magnetic eld as a compass does to y in the appro-
priate migratory direction! They seem to know where they want to go by using a
magnetic-eld map. Light-absorbing molecules present in the retina of a birds eye
help the bird to sense the Earths magnetic eld.
Currently roboticists are exploring ways to use optic owto provide a robot with
visual perception and the associated sensations similar to those of a bird in ight.
Although researchers were able to integrate optic-ow-based articially simulated
vision into robotic platforms and to use them to perform simple navigation tasks in
real time more than a decade ago, it was only recently that optic-ow sensing was
successfully integrated into small autonomously ying aircraft and used to provide it
with a basic degree of autonomous ight control. The methodology, which is based
on a synergy of techniques that have evolved in computational vision processing
and in biologically inspired research into human vision, has led to a better under-
standing of computer vision that may be implemented. Although computational
methods in vision processing have provided a sequence of processes that allows a
practical image to be transformed into one of a series of representations, the major
focus of computer vision has been the sensation and perception of relevant features
in the representations.
2
Tammero, L. and Dickinson, M. H. (2002). The inuence of visual landscape on the free ight
behavior of the fruit y Drosophila melanogaster, J. Exp. Biol. 205, 327343.
2.2 Principles of Legged Locomotion 27
(a) (b)
Figure 2.1. (a) Sagittal plane views of biped models of walking,
(b) in a ballistic mode.
2.2 Principles of Legged Locomotion
Interest in locomotion in humans and animals has also spurned the development of
new biomimetics mechanisms. Primarily this is due to the realization that human
joints are not lower kinematic pairs and that they could be modeled as four-bar
mechanisms and due to the insight gained into the kinematics of walking. As an
example of the former, we observe that typically in the human knee joint between
the femur and the tibia, which do not overlap each other but are strapped to each
other by two cruciate ligaments that serve as extendable links, so the entire joint
functions like a four-bar mechanism. Another example is the foot, which is in fact
a serial chain with six links in which the innermost link rolls under the tibia, the
lower leg bone, and is also strapped at the other end to the Achilles tendon, so the
entire joint functions like a four-bar mechanism. In this case the tendon serves as a
spring-loaded link, serving to return the foot to its nominal position when there is
force under it.
As for the kinematics of walking, Figure 2.1 illustrates a typical sagittal-plane
(normal to the frontal plane) view of a biped model of a walking robot in ballis-
tic motion. The ballistic movements in a dynamic walking mode, while maintaining
balance, are only marginally stable and difcult to execute. In the ballistic walking
mode each of the two legs are modeled as serial chains with three links and dis-
counting the two rigid-body modes, the two-leg models possess ve DOFs.
When the legs are used to support the body in a stationary situation, both
legs are locked in a rigid mode, thus losing one DOF each. Of the three remain-
ing DOFs in the supporting mode, one represents the relative motion between the
legs whereas the other two represent the motion of the foot at the ankles. When
the model is in a walking mode, only one leg assumes the supporting role while the
other assumes the role of a swing leg. While the support or stance leg continues to
be rigid, the swing leg hinges at the knee. The swing phase then commences with the
toe of the swing leg leaving the ground, the body translating forward with the sup-
port leg hinged on the ground. The swing phase is completed with the foot returning
the ground when the heel of the swing leg is anchored on the ground.
After a short period both legs assume a supporting role and all initiated mus-
cular action is completed. The swing leg then supports the body and the other leg
takes the role of the swing leg with gravity acting on it.
28 Biomimetic Mechanisms
(a)
(b)
Figure 2.2. Advanced platform congura-
tions based on biomimetic mechanisms: (a)
a model of a quadruped robot platform
capable of walking, running, and trotting;
(b) a two-dimensional view of a lobster
platform.
The entire dynamical process may be modeled as an energy-conservative pro-
cess. Only the transfer of support as the swing leg becomes the support leg is mod-
eled as an inelastic collision with just the angular momentum conserved, leading to a
set of constraints. Thus during the walking phase the model has just three DOFs, and
the walking action is performed by this continual process of constraining and releas-
ing a DOF while maintaining balance. In fact, one could consider a loss of balance
to be a loss of effective control, whereas the walking action itself involves coordi-
nation. Numerical integration of the equations of motion governing the dynamics
of the model reveals the existence of a stable limit cycle, representing a periodic,
neutrally stable motion. The cycle is composed of a swing phase and a support phase
with two instantaneous changes in velocity corresponding to the ground collisions.
As the basin of attraction of the stable limit cycle is a narrowband of states sur-
rounding the steady-state trajectory, the goal of control action is to apply torques at
the joints and ankles in order to produce a stable limit cycle gait, with a relatively
larger basin of attraction that is invariant to small slopes. This is a unique appli-
cation of control engineering, in which the control action is required to increase
the stability margins of what is normally considered to be a dynamical equilibrium
state.
Two examples of typical biomimetic platforms based on the skeletal structure
of mammals are illustrated in Figure 2.2. The rst of these concepts has been devel-
oped into a 0.7-m-tall robot capable of walking, running, and trotting at a maximum
speed of 5.3 kmph and climbing a slope of 35

while maintaining its balance. An


eight-legged ambulatory vehicle that is based on the lobster has also been built and
is intended for autonomous remote-sensing operations in rivers and on the ocean
bottom. It is capable of robustly adapting to irregular bottom contours, current,
and surge.
2.2 Principles of Legged Locomotion 29
1 2 3 (Extension) 4
4 5 6 (Contraction) 7
reference axis
Figure 2.3. Operation of an inchworm motor.
Combined with the ballistic action of walking and the energy-exchange mode
of running, in which energy is regularly transferred from potential to kinetic energy,
these models are capable of moving at high speeds irrespective of the nature of the
terrain. Walking robots are better than rolling robots in navigating through uneven
terrain, and hopping and running robots are even better than walking robots in this
respect.
2.2.1 Inchworm Locomotion
The design and construction of several biomimetic robots have been inspired by
the principles of inchworm locomotion. The inchworm-like robots are composed of
three primary abilities provided by a corresponding set of subsystems. The ability to
stretch provided by a stretching linear actuator that is responsible for creating a step
is placed between two blocking elastic bodies that support the main trunk housing
the actuator. The robot is able to perform the succession of the six phases of the
inchworm locomotion described in Figure 2.3. In the initial position corresponding
to phase 1, the robots main trunk is supported by both the elastic bodies. In the next
phase, 2, the frontal body contracts vertically and is moved forward by stretching
of the linear actuator in phase 3. In phase 4 both bodies support the main trunk.
In the next phase, 5, the rear body contracts vertically and is then moved forward
by the linear actuator in the sixth phase, which now retracts to its initial unstretched
position. The inchworm robot then returns to its initial conguration in phase 7 and
in the process has inched forward by one step. Rapid cyclic execution of these phases
is the basis for the locomotion of the inchworm.
A typical inchworm mechanism for locomotion in the intestines consists of
two types of actuators: a clamper and an extender. The clamper is used to clamp
the device onto the wall of the intestine while the extender generates a forward
displacement.
The construction of an inchworm-like robot is feasible because of the avail-
ability of smart elastic materials that can be made to contract and expand by the
application of an external electric potential.
30 Biomimetic Mechanisms
2.2.2 Walking Machines
Although the rst and most important role of walking robots has been to understand
several biomechanical aspects of human walking, the applications envisaged in the
future is walking into hazardous environments, civil disaster relief, and the scientic
exploration of sites on Earth, in space, and on other planets and moons. Although
a few walking robots have been built, the engineering of a fully walking machine
capable of mimicking all aspects of human walking, capable of interaction with the
environment, and with the ability to deal with unexpected disturbance is still a long
way off.
As of now robots are able to deal with only preprogrammed activities and are
unable to naturally adapt and execute new activities as and when these are required
of them. Being able to interact with a community of robots and, more important,
with humans requires a degree of intelligence. A notable feature of current walk-
ing robots is the fact they offer very high impedance when faced with any exter-
nal disturbing force. A characteristic feature of humans is their ability offers a low
impedance to forces they intend to respond to and a very high impedance to other
forces when they so desire. This ability is somewhat akin to the concept of marginal
static stability in ghter aircrafts. Fighter aircrafts, which are expected to be very
agile and fast in responding to a pilots command, are for these reasons deliber-
ately designed to be only marginally stable or sometimes even unstable. This lack
of a margin of stability greatly enhances the pilots ability to control the aircraft. A
walking robot too must be designed so it can just about maintain its balance.
In the context of individual joints and component mechanisms the requirement
reduces to an ability to offer a low impedance to control forces and reject all disturb-
ing forces; this means that the same force when presented as a control force must be
offered a relatively low impedance whereas a high impedance is offered when it is
construed as a disturbance. It is clear that this means that the joint and component
controllers must be endowed with the ability of logical reasoning at a certain level
so they can distinguish between a disturbance and a control force.
Biomimicry can a play a signicant role in the ability to develop walking robots.
Much human capability, particularly in relation to use of limbs, is acquired through
learning by imitation. The neural system uses the biologically based central pattern
generators and sensory reexes for learning preferred patterns. The idea of having
walking robots learn by imitating a human is a feasible biomimetic concept. The fact
that both learning and adaptation can be modeled in a variety of ways facilitates the
design and implementation of biomimetic robots capable of learning and adapta-
tion. They are particularly suited for autonomous or semiautonomous tasks involv-
ing human and environmental interaction on a much larger scale than is currently
considered possible. Thus, based on a variety of imaging techniques, simulations of
human walking and other functions involving the use of human limbs can be used in
robot implementations.
Walking robots are being developed that attempt to replicate neuroanatomical
functional architectures, at different levels of abstraction, and to use them to imitate
2.3 Imitating Animals 31
humanoid robots. The concept of mimicking a neuroanatomical controller for pur-
poses of compensating for the occurrence of tremor in human hands is discussed in
the last section of this chapter. In Chapter 12 we discuss the some of the basics of
the biomechanics and control of walking locomotion.
2.2.3 Autonomous Footstep Planning
Just as obstacle-avoidance algorithms have been developed for wheeled robots,
walking robots have the unique ability to traverse past obstacles by stepping over or
upon them. Using appropriate graphical representations and by using a number of
heuristics to minimize the number and complexity of the step motions that optimize
a cost function, algorithms are being developed to search for a oorplan of a feasible
ordered set of footstep locations. It is important to avoid cul-de-sacs and loops as
well as meet three-dimensional size and height constraints that the obstacles must
satisfy.
One approach is a two-step procedure in which it is assumed that there is no
need to step over or upon an obstacle. If a feasible solution is found, the additional
maximum cost saving of stepping over or upon an obstacle is computed. If this addi-
tional cost saving is within a certain limit or when stepping over or upon an obstacle
is a necessity, the feasible solution involving stepping over or upon an obstacle is
adopted.
In the next stage the footstep planners are expected to deal with a hazardous ter-
rain where they would be expected to deal with relatively steep climbs and descents.
In these environments it may be necessary to use more than two limbs. In realizing
these algorithms in practice, a three-dimensional visual image of the environment
must rst be constructed. Thus this leads to the concept and implementation of
autonomous footstep planners. A key requirement for humanoid robot navigation
autonomy is the ability to reliably visualize the environment by building represen-
tations of obstacles and all other objects and/or the terrain from the data obtained
from a variety of sensors. The representation of the environment must be such that
it can be used by the footstep planner in generating a feasible ordered set of foot-
step locations. Moreover these representations must be generated from the data
obtained from a diverse set of sensors. Autonomous locomotion with the ability to
recognize the surrounding environment and with the ability to traverse it can then
be a feasible practical proposition.
2.3 Imitating Animals
Imitation, which is dened as the ability to recognize and reproduce others actions,
is a powerful methodology of learning and developing new skills. Species endowed
with this capability are provided with fundamental abilities for learning specialized
skills. The ability to imitate reaches its fullest potential in humans. Humans have
the capacity to imitate any actions of their own or anothers body based on a variety
of purposes or goals, such as the goal of reproducing the geometric, performance,
32 Biomimetic Mechanisms
precision, or aesthetic aspect of the movement. In terms of biomimetic mechanisms
we are not just interested in humans imitating other humans or animals but in devel-
oping manipulative robots capable of imitating humans and animals. However, the
capacity of humans to recognize biological motions from a limited number of cues
and make out the general features of the motion, distinguishing the type of gait or
the type of action, as well as its specic features, is a feature that is quite desirable
in biomimetic robots and provides the motivation for its study.
Movement recognition among humans has been extensively researched in the
context of neurophysiology and visual imaging. The visual recognition of move-
ments and actions is an essential feature in many species. It is fundamental in the
learning of complex motor actions by imitation, which in turn forms the basis of
communication and recognition at a distance. Neurophysiological modeling for the
recognition of biological movements can be based on neural mechanisms that are
consistent with existing models of the functioning of the visual cortex. A neural cir-
cuit in the inner reaches of the brain composed of mirror neurons is the known
brain circuitry for consciously analyzing and mimicking other peoples actions. It
contains special types of basic nerve cells, known as neurons, that become active
both when their owner does something and when he or she senses someone else
doing the same thing.
Following research in neurobiology during the last decade, mirror neurons had
for the rst time been directly identied in humans. Previously their existence had
been inferred only from primate research. The different actions involving limb
motion affect neuron activity in the premotor cortex, which functions in move-
ment control and in the part of the brain responsible for seeing. A human view-
ing an action in which he or she is an expert in experiences greater activity in the
premotor cortex than when they view actions they are not skilled in. By contrast,
the nonexpert brains do not experience heightened activity in either case; rather,
the nonexpert brains do not exhibit any differential neuron activity regardless
of the type of actions viewed.
Visual imaging inputs to the visual cortex are directed to an anterior area with
mirror neurons, located in the inferior frontal cortex. The human inferior frontal
cortex and the superior parietal lobule are active when the person performs an
action and also when the person sees another individual performing an action.
These primary motor and premotor cortices are responsible for the execution of
bodily actions. They are also used to directly simulate another humanss (or ani-
mals) observed actions. This is largely due to the mirror neurons, which respond to
execution and observation of goal-oriented actions.
The brains neural mechanism allows for a direct matching between the visual
description of an action and its execution. The human mirror-neuron networks are
stimulated in response to actions that are apparently meaningless. This seems to
provide evidence for the theory that there exists a tendency in humans to sponta-
neously model any and all movements by others. Thus these mechanisms provide
the basis and motivation for developing articial neural models that can be used as
computational entities in large connectionist network models of biomimetic robots.
2.3 Imitating Animals 33
Further, the tendency to imitate has been extensively observed in certain animals
other than humans, such as birds that are also endowed with some extraordinary
abilities such as ying and being able to propel themselves in the atmosphere.
2.3.1 Principles of Bird Flight
Birds and sh probably provide the best examples of biomimetic mechanisms ight-
control engineers can learn from. The bird wing is an exceptional control device
used by birds to control all phases of the ight. It may be recalled that, unlike the
tail of a human-built aircraft, the birds tail plays a critical role only in the control
of special modes but has no role to play in normal ight. Control over a bird wing
is exercised by a complex neuromuscular system that articulates the bones or links
and the joints. A bird wings bone structure is quite similar to that of a human arm,
although the free movement around the joint of the wrist is curtailed so that there is
only movement in one plane, preventing the wing from bending up or down by the
aerodynamic forces exerted in ight. Furthermore, a bird wings wrist joint is linked
to the elbow joint so that the extension of the elbow is transmitted to the wrist, as in
a four-bar mechanism.
Like that of humans, the lower part of the birds forelimb is composed of two
bones: the radius and the ulna. The ulna and the radius have their own independent
point of articulation (condyle) on the farther (distal) end of the humerus, the long
bone in the armthat runs fromthe shoulder to the elbow. The ulna is farther than the
radius from the elbow so that when the elbow is exed the two bones of the forearm
oppose one another. The radius is then pushed into the various carpal bones of the
wrist while the ulna is withdrawn. The mechanism linking the wrist makes the hand
ex too and the wing is folded. When the wing is unfolded, the opposite movement
occurs. In this way the wing is controlled by the ight muscles in a coordinated way.
It must be said that Wilbur Wright himself recognized wing warping when he
was able to visualize the top and bottom surfaces of a bicycles innertube box as wing
surfaces. When one end of the box was twisted down, the other end twisted up. In
appreciating this motion, Wilbur understood how to control aircraft roll based on
the techniques adopted by birds. A birds wing may be considered as an aerody-
namic lifting surface, and it is then easy to recognize that its shape and the section
prole will play a critical role in the generation of lift.
In a birds wing, the lifting surface is covered by feathers that emerge from
below a narrow ap of skin called the propatagium. This covers the bones of the
wing that form the leading edge and is stretched tight along it from the shoulder
to the wrist when the wing is unfolded. Being the leading edge of the inner wing,
it is an important aerodynamically active component of the wing and supports the
main component of the leading-edge suction pressure. It is natural that the wings
leading edge must be sufciently strong and rigid. Thus the bones of the wing tend
to run nearer the leading edge, whereas the trailing edge is made up of a rigid line of
feathers. Covert feathers also cover the entire wing and at the trailing edge are found
the much larger primary (remiges) and secondary feathers (secondary remiges). The
34 Biomimetic Mechanisms
Direction of airflow
Figure 2.4. Examples of controlled wing-tip
fences in aircraft based on the alula.
separated primary feathers at the wing tips have varying degrees of curvature the
leading-edge ones are loaded so that they bend upward; the rest curve downward.
An interesting feature of the primaries that are able to separate and control
the gaps in them, in various ight conditions, is that no separated ow regions have
ever been observed on the upper surface of the wings, back, or tail. The alula, a
thumblike feather in certain birds, lies almost at the wrist joint on the leading edge
of the wing. Generally it has three or four short vane feathers attached to it. It acts in
a similar fashion to the slots on an aircraft, naturally rising into the airstream when
the wing approaches stall. The alula is prominent in birds such as Corvids (crows)
and is almost absent in some soaring seabirds.
High-lift systems have a parallel in the alula; winglets and wing-tip fences (Fig-
ure 2.4) are similar in effect to slotted-tip feathers in many soaring birds. Riblets, on
the other hand, developed to reduce drag in aircraft, are similar to those found in
shark skin. Interestingly, although there exists a huge diversity in nature and there
are several evolutionary pathways to achieving the same function, nature seems to
be able to select the most optimally suitable system for a specic application. By
way of example, looking closely at insect and bird ight, we can observe that they
y effortlessly in the low-Reynolds-number region, which is not the case with man-
made ight. Our goal is to study nature more fully so as to understand better such
solutions that have already been obtained and in so doing become inspired to exer-
cise complete control on biomimetic mechanisms operating in aerodynamic ows.
2.3.2 Mechanisms Based on Bird Flight
One of the objectives of biomimetic control is to surpass and go beyond biomimicry.
For this reason it worth considering the various mechanisms adopted by birds in dif-
ferent phases of their ight. Birds have a superior ying machine with multielement
aerofoils capable of controlling the ow around them quite effortlessly. They use
a pair of clap-and-ing or apping wings to execute the modes such as apping
translation that effectively reduce the delay in the growth of circulation around an
aerofoil by compensating for the Wagner effect.
Birds congure their ying feathers or remiges as a variable-camber aerofoil
such that the effective angle of attack is always a constant. It follows that the aerofoil
operates so the potential-ow component of the total lift coefcient is almost con-
stant irrespective of the speed of ight. Thus it is possible for a bird to operate at an
optimal angle of attack without suffering from the adverse effects of ow separation.
2.3 Imitating Animals 35
A bird is aware by virtue of its associative memory at what angle of attack it should
y in order to generate a particular magnitude of lift. Thus it operates at a prescribed
angle of attack, and any additional lift it may require is generated by controlling the
vortex-ow component of the lift.
In one sense birds are different from manmade aircraft in that some birds, such
as the sparrowhawk, are able to clap and ing. This is a beating motion about an
axis that is pitch forward. Rapid beating results in a quick increase in the angle of
attack, which in turn generates lift about an axis normal to the axis of beating. Thus
it is able to generate a lift component equal to the weight of the bird and a thrust
component that keeps it in aerial equilibrium and hover.
Wing motion of a bird will generally consist of four fundamental motions: (1)
apping motion in a vertical plane, (2) leadlag motion, which denotes a posterior
and anterior motion in the horizontal plane, (3) feathering motion, which denotes
a twisting motion of the wing pitch, and (4) spanning motion, which denotes an
alternately extending and contracting motion of the wing span.
Another wing motion that is present in larger birds but is technically equiva-
lent to clap and ing is appingtranslation. Flappingtranslation involves a com-
bination of the rst three modes. A birds wing is constantly changing its rela-
tive forward velocity as it aps up and down, slowing down at the ends of the
downstroke and upstroke, and then accelerating into the next half-stroke. Further-
more, the wing base will always be moving slower than the wing tip, meaning that
the wing velocity increases from base to tip. This mode constitutes the apping
translation mode. In the case of three-dimensional, swept, large-aspect-ratio wings,
the appingtranslation mode is invoked to effectively compensate for the Wagner-
like effect.
Another mechanism, suitable for low-aspect-ratio wings, is based on stable
operation at a maximum constant lift, with the conventional lift being augmented
by a leading-edge suction-type vortex-ow-generated lift. Moreover, birds have the
ability to align the lift that is due to the vortex ow in any direction so it can be used
either to enhance the overall lift or downforce or to act as a propulsive or braking
force. Thus birds are able to y at angles of attack as high as 35

40

.
The way a dragony controls the generation of vortex lift is probably most
representative and generic to all birds. In normal counterstroking ight there is a
leading-edge vortex present over the forewing and attached ow on the hindwing.
The leading-edge vortex lift, though present in thin-aerofoil theory, does not con-
tribute to the lift as it is directed forward in this case. The vortex lift is formed during
rapid increases in angle of attack because of the existence of the rounded leading
edge and the aft movement of the leading-edge vortex. In steady ight these rapid
increases in angle of attack occur during wing rotation at the start of the downstroke.
However, dragonies can go from attached ow to leading-edge vortex ow at any
stage of the wingbeat by rapidly increasing their angle of attack.
Falcons such as the Hobby are able to accelerate rapidly in pursuit of their prey.
They have kinked trapezoidal wings with the inner wing nearer the body being swept
forward and the outer wings being swept backward. On one hand, they have the
36 Biomimetic Mechanisms
ability to soar rapidly to great heights while scanning large areas on the ground for
food, and on the other they are able to glide at low speeds.
The capacity of birds to develop high lift is due to their wings being charac-
terized by emarginations or gaps in the wing tips that act like wing-tip fences.
This facilitates the wing in sustaining a higher magnitude of vortex lift over each
and every wing strip in the vicinity of the leading edge and nearer the birds body.
Removal of this leading-edge vortex over a spanwise segment, without stalling, is
achieved by spanwise pressure gradients that cause the vortex to travel down the
wing to the wing-tip fence, where they are accumulated into a system of tip vor-
tices that are then shed safely. Thus the far end of the wing is used to control and
maximize the vortex-lift component in a clever and imaginative way.
At high speeds birds use a complex strategy to clap, ing, and beat their wings
in such a way that the gaps between them are able to effectively inhibit the loss of
lift. The gaps are also controlled in real time to act as slats, and most birds are able
swing a canard-like surface relative to the main wing. These features signicantly
inuence the controllability of the associated vortex ows.
Compensating for the Wagner-like effect eliminates the transport lags without
altering the circulatory forces acting on the aerofoil. Compensation for this effect
involves using a higher initial value at the start of an impulsive change in the angle
of attack to generate a steady lift force. Both the high-frequency clap-and-ing
mode and the lower-frequency appingtranslation mode are capable of generat-
ing a steady lift force, thus effectively compensating for the transport delays.
The dragony, for example, is able to rapidly increase its angle of attack by
a process of high-frequency beating, which actually involves a gradual increase in
the amplitude accompanied by a relatively rapid increase in the beat frequency.
This motion is completely equivalent to a sudden unit-step change in the angle of
attack. In fact, what is essential is the angle-of-attack time history that is necessary
to generate a step change in the lift distribution, which can be derived from the
Wagner problem concerning the growth of lift that is due to a sudden change in the
angle of attack.
Birds have an effective and simple way to control the movement of the sepa-
ration bubble; during the landing approach or in gusty winds, the feathers on the
upper-rear surface of bird wings tend to pop up. This mechanism inhibits the move-
ment of the separation bubble.
The separation bubble starts to develop on a wing in the vicinity of the trailing
edge, and, following this event, locally reversed ow begins to occur in the sepa-
ration regime. Under these locally reversed ow conditions, light feathers would
pop up, acting like a brake on the upstream travel of the separation bubble toward
the leading edge. The effect has been simulated in a wind tunnel by the attachment
of self-popping porous movable aps with notched trailing edges to obtain equal
static pressure on both sides of the ap under attached ow conditions. The aps
are attached in the rear part of the aerofoil and could pivot on their leading edges.
Unlike active ow-control techniques, this is a passive technique and requires no
feedback or feedforward control.
2.3 Imitating Animals 37
2.3.3 Swimming Like a Fish
Swimming involves the transfer of momentum from the sh to the surrounding
water. Momentum transfer, which is always associated with forces, is a direct con-
sequence of Newtons laws of motion. The main momentum forces acting on sh
when it is swimming are the drag, lift, thrust, and acceleration reaction forces. Like
the drag acting on aircraft, swimming drag consists of the following components:
1. Skin friction drag resulting from the viscous friction between the sh and the
boundary layer of water in regions of ow with large velocity gradients. Friction
drag depends on the wetted area of contact, the speed of the sh, and the nature
of the boundary-layer ow. The use of riblets in aircraft wings to reduce turbu-
lent skin friction arose from the study of large-scale-like surface irregularities
known as dermal denticles in modern sharks.
Riblets are streamwise microgrooves that act as fences to break up spanwise
vortices and reduce the surface shear stress and momentum loss by preventing
eddies from transporting high-speed uid close to the surface. Many sh use
optimally spaced riblets to reduce drag.
2. Form drag is due to the hydrodynamic pressures that develop when the water is
pushed aside by the shs motion. It is caused by the distortion of ow around
bodies and depends on their bulk and shape.
3. Vortex or induced drag is due to energy dissipated in the vortices formed by the
ns as they generate lift or thrust. Induced drag depends largely on the shape
of these ns and their ability to generate lift. The latter two components are
jointly known as pressure drag. Fish capable of cruising fast are endowed with
well-streamlined bodies to signicantly reduce the form drag while well-shaped
ns reduce the vortex drag.
The origin of lift forces is due to the viscosity of the ow that in turn is responsi-
ble for the ows being asymmetric. As the uid ows past a n, the velocity pattern
may be such that the pressure on one side of the n is greater than on the other.
Lift is then exerted on the n in a direction perpendicular to it. There is also a net
component of force in the direction of the ow that can manifest itself as a drag as
in most aircraft or as a thrust as in birds and shes. A chain of ring vortices shed
from behind the tail n signicantly enhances the net thrust generated.
Acceleration reaction is an inertial force, generated by the resistance of the
water surrounding a body or an appendage when the velocity of the latter relative
to the water is changing. It arises because of the kinetic energy gained by the hydro-
dynamic ow that is due to the acceleration of the body. Acceleration reaction is
often quite negligible in aircraft in steady ight and is more sensitive to size than lift
or drag forces, and hence it is a signicant factor that inuences sh propulsion.
Unlike birds, sh generally do not have to generate both lift and thrust. So they
can focus on the issue of thrust generation and drag reduction. Fish are particu-
larly capable in increasing thrust by using a variety of leading-edge devices that
38 Biomimetic Mechanisms
dorsal fin
anal fin
caudal fin
(tail)
caudal
peduncle
pelvic
fins
pectoral
fins
Figure 2.5. Primary thrust effectors in a sh.
generate vortices to enhance the transfer of momentum to the ow. The ipper of
the humpback whale is a unique example because of the presence of large, rounded
protuberances known as tubercles located on the leading edge of the ipper, an
aerofoil-like surface. These act as specialized leading-edge control devices to reduce
the drag due to lift ratio on the ipper.
Swimming locomotion again involves two primary types of temporal move-
ments:
1. Periodic swimming, which is characterized by a cyclic movement of thrust effec-
tors to generate the required propulsion. This type of movement is used when a
creature must cover a large distance and generally involves constant speed and
low accelerations;
2. transient swimming, which almost always involves an impulsive start, maneu-
vers, and turns. These movements involve very small time constants, of the
order of milliseconds, and require rapid generation of thrust and very high
accelerations.
Most sh generate thrust by exing their bodies to generate a backward-moving
wave that extends to its caudal or tail n. The length of the wave could vary from
less than half a wavelength to several wavelengths, depending on the anatomical
features of the sh. This mechanism of swimming is known as body and/or caudal
n (BCF) propulsion. It is the mechanism used by over 85% of species of sh. An
alternative swimming mechanism involves the use of the dorsal and/or the anal ns,
which are both referred to as the median ns, and the pectoral and/or pelvic ns,
which are referred to as the paired ns. This mechanism of propulsion relies on the
ability of the ns to ap and thus generate thrust. As it involves the use of their
median and paired ns, it is known as median and/or paired n (MPF) locomotion.
It is a primarily a control mechanism in most sh and is used to direct the thrust
in slightly different directions or to enhance stability and balance. Small nlets in
the vicinity of the caudal peduncle contribute signicantly to the total thrust. The
primary thrust effectors in a sh are illustrated in Figure 2.5.
Hydrodynamic drag is a primary mechanism of energy dissipation in determin-
ing the performance and thrust generation capabilities of sh. Drag reduction not
only involves considerations of uid dynamics but also of the neural stimulation of
2.4 Biomimetic Sensors and Actuators 39
muscles, body kinematics, and other anatomical aspects. These mechanisms of gen-
eration and control of thrust are analyzed further and discussed in Chapter 12.
2.4 Biomimetic Sensors and Actuators
One of the most signicant developments in the emergence of biorobotics as a
mature eld of study was the synthesis of the biosensor.
3
According to the recent
IUPAC
4
denition, a biosensor is a self-contained integrated device which is capa-
ble of providing specic quantitative or semi-quantitative analytical information
using a biological recognition element which is in direct spatial contact with a trans-
ducer element. Biosensors produce an output (electrical) that is proportional to the
concentration of biological analytes. The main components of a biosensor are a spe-
cic target analyte (or bioreceptor) that acts as a biological sensing target that needs
to be measured and that is in spatial and intimate contact with a recognition element
that produces either discrete or continuous measurable signals proportional to the
concentration of the analyte. These signals are sensed and measured by a suitable
method of transduction.
The recognition elements are the distinguishing elements of a biosensor. They
may be catalytic, such as certain enzymes, or afnity types, such as antibodies, recep-
tors, organelles, cells, tissues, or hybrids. The primary recognition element used in
most biosensors is an immobilizing layer sandwiched between two semipermeable
membrane layers.
Immobilization is dened as a technique used for the physical or chemical x-
ation of cells, organelles, enzymes, or other proteins (e.g., monoclonal antibodies)
onto a solid support, into a solid matrix, or retained by a membrane, in order to
increase their stability and make possible their repeated or continued use. The rst
of the semipermeable membranes allows for the preferential passage of the analyte.
The second or other semipermeable membrane permits preferential passage of the
by-product of the recognition element or immobilizing layer.
The by-product of the recognition element is sensed by the physical transducer.
A typical schematic diagram of a biosensor is illustrated in Figure 2.6.
The approaches to transduction could be electrochemical, thermometric, piezo-
electric, magnetic, acoustic, optical, or a combination of these physical principles on
which classical transducers are based. Electrochemical transducers (potentiomet-
ric, voltammetric, conductimetric types), optical transducers, semiconductor eld-
effect-transistor- (FET-) based transducers, polymer semiconductor-based trans-
ducers, piezoelectric-based quartz crystal microbalance (QCM) transducers, bulk
and surface acoustic-wave-based interdigitated transducers, thermal transducers
such as thermistors, magnetic transducers, and other mechanical devices have all
been developed for biosensing applications.
3
For a review of the recent advances in biosensors the reader is referred to Collings, A. F. and
Caruso, F. (1997). Biosensors: Recent advances, Rep. Prog. Phys. 60, 13971445.
4
International Union of Pure and Applied Chemistry (IUPAC). (1997). Compendium of Chemical
Terminology, 2nd ed. IUPAC.
40 Biomimetic Mechanisms
+
-
Transducer
Recognition Element
Semipermeable
Membrane(2)
Semipermeable
Membrane(1)
Immobilizing layer
External Medium
with Analyte
Figure 2.6. A typical schematic diagram
of a biosensor.
Electrochemical sensors are the most commonly used as transducers and pro-
vide measurements of electrode potential, electrode current, or concentration. They
are often obtained by use of a variant of a three-electrode electrochemical cell,
shown in Figure 2.7. The electrode potential is dependent on the concentration that
can be characterized by the so-called Nernst equation, which is briey discussed in
the following section.
Generally, optical transducers exploit properties such as light absorption,
uorescence/phosphorescence, bioluminescence/chemiluminescence, reectance,
Raman light scattering, and refractive-index variations. Current developments in
the sensing of biochemical species by optical-waveguide-based devices include opti-
cal immunosensors that transduce antigenantibody interactions directly into physi-
cal signals. Optical transducers use an optical source such as a laser or light-emitting
diode (LED) that is directed along a optical ber that is eventually detected by an
optical detector, after it is inuenced by the detection event.
The FET harnesses the space-charge layer effect of forward- and reverse-biased
p-n junctions to make a device in which the current owing through a wafer of
a doped semiconductor is controlled by the voltage applied to a small insert of
semiconductor material with reverse doping. In the ion-selective FET (ISFET), the
insert or gate is sensitive to the ions or antibodies immobilized on its surface or the
surface of a membrane it is connected to.
Fast and accurate measurements of the blood levels of the partial pressures of
oxygen (pO
2
), carbon dioxide (pCO
2
), as well as the concentration of hydrogen ions
Measurement
system
counter
electrode
working
electrode
reference
electrode
Figure 2.7. Three-electrode electrochemical cell.
2.4 Biomimetic Sensors and Actuators 41
Figure 2.8. Oxygen electrode: (a) principle of operation, (b) practical design.
(pH) are vital in diagnosis. The rst successful biosensor was the Clark oxygen-ion-
selective electrode developed in 1956 for measurements of oxygen concentrations
within the blood in patients prior to undergoing surgery.
The oxygen electrode exploits the reduction of oxygen to water at a plat-
inum cathode (four electrons/oxygen molecule) at a potential of 1.5 V relative
to Ag/AgCl. A semipermeable membrane was used to separate the sample of the
oxygen-rich analyte from the internal electrolytic blood ow, which contains many
other electroactive species that would interfere with the measurement. The ability of
the oxygen gas to diffuse through the membrane while preventing the transfer of the
solution was the primary factor governing the choice of the polypropylene semiper-
meable membrane. The membrane is therefore required to have controlled poros-
ity and surface wetting characteristics. The reactions and the output electromotive
force (EMF) are governed by the reduction at the platinum cathode:
O
2
+4 H
+
+4e

2 H
2
O E
out
= +1.23 V, (2.1)
and the reaction at the Ag anode:
Ag +Cl

AgCl
(s)
+e

E
out
= 0.22 V. (2.2)
The oxygen electrode is shown schematically in Figure 2.8(a), and the practical
design of such an electrode is shown in Figure 2.8(b). The output current is pro-
portional to the number of electrons released in the reduction, the sample oxygen
partial pressure and properties of the membrane relating to oxygen such as solubil-
ity and the diffusion coefcient per unit thickness.
Following the success of the oxygen electrode, Clark
5
and his team went on
to develop the glucose enzyme electrode, which led in turn to the development of
the glucometer and the glucose pen. A typical glucose enzyme electrode is shown
schematically in Figure 2.9. The glucose enzyme electrode consists of a cylinder
5
Hall, E. A. H. (1991). Biosensors, Advanced Reference Series, Engineering, Prentice-Hall, Engle-
wood Cliffs, NJ, Chapter 5.
42 Biomimetic Mechanisms
Figure 2.9. The Clark and Lyons glucose electrode. GOD: glucose oxidose.
internally containing a solution of an electrolyte as well as a sensing and a refer-
ence electrode. At the base of the cylinder a concentrated solution of the enzyme
glucose oxidase (GOD) is held between two semipermeable membranes.
The mechanism of the action of GOD is a complex process in which the enzyme
passes through a series of states involving both the oxidation and the reduction of
the appropriate substrates. The action of the GOD paste results in a decrease in
the concentrations of both glucose and oxygen within the internal electrolyte. It
is followed by the formation of gluconic acid and hydrogen peroxide (H
2
O
2
). The
reaction governing the reduction to gluconic acid is
glucose +O
2
+H
2
O
GOD
gluconic acid +H
2
O
2
. (2.3)
At the anode the breakup of H
2
O
2
is governed by
anodic : H
2
O
2
O
2
+2 H
+
+2e

. (2.4)
The corresponding changes in the potentials can be measured by an internal
sensing (working) electrode. One could measure either the pH change that is due to
the production of the acid, the consumption of oxygen molecules, or the production
of H
2
O
2
. Oxygen sensing is prone to interferences from exogenous oxygen. The
product H
2
O
2
is oxidized at +650 mV versus a Ag/AgCl reference electrode. Thus
a potential of +650 mV may be applied and the oxidation of H
2
O
2
measured. This
current is directly proportional to the concentration of glucose.
Following the development of the oxygen and glucose enzyme electrodes, sev-
eral recognition elements have been used as receptors, such as other enzymes,
antibodies, nucleic acids, and cells. Since that early work relating to the oxygen
electrode and on the enzyme-based glucose sensor that was developed by the
entrapment of glucose oxidase in a membrane-enclosed sandwich, a number of new
methods have evolved for the immobilization of enzymes and proteins. The prin-
cipal methods of immobilization include physical or chemical adsorption at a solid
2.4 Biomimetic Sensors and Actuators 43
surface, covalent binding to a surface, entrapment within a membrane or micro-
capsule, cross-linking between molecules, solgel entrapment, and electropolymer-
ization. The actual immobilization method used depends on, among other factors,
compatibility with the biomolecule being immobilized, the sensor membrane on
which immobilization is to proceed, and the end use of the sensor. By use of these
new recognition elements and immobilization techniques, hydrogen and carbon
dioxide electrodes have also since been developed.
The equilibrium condition described in the case of the oxygen and glucose
enzyme electrodes is not entirely representative of cellular systems because it
neglects contributions by other ionic current paths. In the case of mammalian-
cell-based biosensors, binding of the analyte to the cell surface receptor triggers a
detectable signal. Thus mammalian-cell-based biosensors
6
use a primary transducer
(the cell) and a secondary transducer (device that converts cellular/biochemical
response into a detectable signal), which may be an electrical or an optical trans-
ducer.
2.4.1 Action Potentials
Action potentials are generated in electrically active mammalian cells. The basis for
this is the resting potential developed across a plasma membrane of a cell (with its
embedded ion). The static electrical state of a cell is one of equilibrium in which
the electrochemical forces acting on ions across the cell membrane are completely
balanced. Although constant ionic currents ow, the net transfer of ions is zero,
resulting in a constant transmembrane potential. This is discussed in this subsection
and is followed by a description of the consequences of perturbing the equilibrium
state, which results in the generation of an action potential.
If one examines the case of a semipermeable membrane separating two solu-
tions (as is the case with a biological cell), such as two salt solutions of different
ionic concentrations, a ow of ions will result. In this example, we assume that the
membrane is permeable to only one ion (A
+
) in the solution. Initially, at the instant
the two solutions are brought into contact with the membrane, the transmembrane
potential will be zero. However, the A
+
ions will diffuse from the solution with the
higher concentration to the one with the lower concentration, causing one side to
become biased with respect to the other. This diffusion will continue until the elec-
tric eld across the membrane is large enough to balance the forces driving diffusion
of A
+
across the membrane. When this balance is reached, the system is in equilib-
rium with respect to the A
+
ions.
By considering one mole of an ion K with a charge Z
K
, one can write an equa-
tion giving the equilibriumpotential E
K
as a function of the ionic concentration ratio
and the valence:
E
K
= E
1
E
2
=
RT
Z
K
F
ln
[K]
2
[K]
1
, (2.5)
6
See, for example, Eggins, Brian R. (1997). Biosensors: An Introduction, Wiley, New York.
44 Biomimetic Mechanisms
Table 2.1. Free ionic concentrations and equilibrium potentials
Extracellular Intracellular Equilibrium
Ion concentration (mM) concentration (mM) potential at 37

C (mV)
Na
+
150 13 +61.5
K
+
5.5 150 88.3
Ca
2+
100 0.0001 +184
Cl

125 9 70.3
where [K]
1
and [K]
2
represent the concentrations of the ion K on each side of
the membrane, R is the gas constant (8.315 J/

K mol), and F is Faradays constant


(96 480 C/mol) where K is in degrees Kelvin and C in Coulombs. This equation was
rst obtained by Nernst over 100 years ago and is therefore known as the Nernst
equation. Thus the semipermeable membrane allows ow of certain ions between
the intracellular and extracellular uids, which causes a potential to develop across
the membrane as dened by the Nernst equation.
In biological systems, one is concerned with the equilibrium potentials of bio-
logically relevant ions: K
+
, Na
+
, Ca
2+
, and Cl

. Each is associated with its own


equilibrium potential calculated based on the assumption that the membrane is per-
meable only to that ion.
Typical physiologic values for these are given in Table 2.1 for which the standard
convention of membrane potentials being measured intracellularly minus extracel-
lularly has been used. Examining the values in Table 2.1, we can see that the limits
of the transmembrane potential are set on the positive side by Ca
2+
and on the nega-
tive by K
+
. This holds true for most cell types even though the equilibriumpotentials
are slightly different. In all cases, both K
+
and Cl

drive the intracellular potential


negative with respect to the extracellular, whereas Na
+
and Ca
2+
attempt to drive
it positive. However, because of the presence of multiple ions, a weighted combi-
nation of all of these ionic forces must be used to dene the actual transmembrane
resting potential.
The semipermeable membrane allows certain ions to ow between the intracel-
lular and the extracellular uids, and consequently a potential is developed across
the membrane as dened by the Nernst equation for a single ion. In the case of
excitable cells with multiple ions, the net result is a negative transmembrane poten-
tial (with respect to an extracellular reference) because the membrane has far more
open K
+
channels than Na
+
, Cl

, or Ca
2+
channels. To obtain a representative esti-
mate of transmembrane potential, the Nernst equation is modied by weighting the
concentration of the ions by their permeability constants.
The modied Nernst equation, in which the permeability constants (P
Na
, P
K
,
and P
Cl
) are in proportion to the number of open channels through the membrane,
is known as the GoldmanHodgkinKatz constant-eld equation, which is
E
K
=
RT
F
ln
P
K
[K
+
]
e
+ P
Na

Na
+

e
+ P
Cl

Cl

i
P
K
[K
+
]
i
++P
Na

Na
+

i
+ P
Cl

Cl

e
. (2.6)
2.4 Biomimetic Sensors and Actuators 45
The valence term in the Nernst equation is not present, and the negative valence of
the Cl

term is accounted for by inverting the corresponding ratio. Ca


2+
is neglected
in the calculation because there are few normally open Ca channels. The cyto-
plasm proteins remain within the cell and are not included, although the expul-
sion of the K
+
ions is controlled by their negative charge. No equilibrium potential
is associated with these intercellular anions as they are impermeable. The rest-
ing potential is still not accurate as it neglects the effects of other ionic current
paths and is determined not only by the leaky K
+
channels, but also by the so-
called sodiumpotassium pump, which is powered by the hydrolysis of intracellu-
larly present adenosine triphosphate (ATP). This pump actively transports three
Na
+
ions out of the cell for every two K
+
ions transported into the cell, thereby
lowering the transmembrane potential (inside minus outside).
Any perturbing inputs to the state of equilibrium established across the mem-
brane result in increased (or decreased) ionic ows. These ionic ows counteract
the effects of the perturbations. The resting membrane potential is maintained
at a constant level within narrow limits. However, when the membrane poten-
tial is driven by an external source far beyond its resting state, this equilibrium is
disturbed.
In electrically active cells such as neurons and muscle cells, disturbing the equi-
librium can result in large, ionically driven excursions from the resting transmem-
brane potential; this is known as an action potential. In the GoldmanHodgkin
Katz equation the permeability constants may be interpreted as conductances. It is
the changes in these conductances that are responsible for the action potential. Trig-
gering the Na
+
channels by increasing their conductance results in an inward ow
of positively charged ions into the cell, rapidly initiating the action potential.
Considering the relative intracellular and extracellular concentrations of the
ions in Table 2.1, it follows that triggering the K
+
channels by increasing their
conductance results in an outward ow of positively charged potassium from the
cell. This causes what is known as hyperpolarization; the transmembrane potential
becomes more negative. Increasing the conductance of Cl

ions will have a similar


effect with a large inward ow of negatively charged Cl

also hyperpolarizing the


cell. Although increasing the conductance of both Na
+
and Ca
2+
channels causes an
inux of positively charged ions that tends to depolarize the cell, the latter results in
a relatively slower upstroke in the action potential. In both cases the transmembrane
potential becomes less negative and may even become positive. The subsequent out-
ward ow of the K
+
ions results in a downstroke in the action potential.
The action potential is the principal electrical signal responsible for the func-
tioning of the brain, the contraction of muscle, beating of the heart, and much of
our sensory perception. Different cells generate dissimilar active electrical signals
by controlling ionic conductance of membranes. The discovery of voltage-gated
ion channels was a major factor in our ability to communicate with neuromotor
systems. The voltage-gated or voltage-sensitive ion channels generate and control
action potentials. Ion channels are triggered and controlled by proteins with distinc-
tive structures and distributions.
46 Biomimetic Mechanisms
The process of coding an action potential with the information content of an
environmental stimulus is known as sensory transduction. It takes place in conned
and designated areas of the neuronal membrane known as receptors. It is a two-
step process whereby the physical stimulus is rst converted to a receptor potential,
a small perturbation to the membrane potential. In the second step it is converted to
an action potential or modulated onto an existing action potential and transported
to an intended recipient. Mechanoreceptors, for example, convert mechanical stim-
uli into receptor potentials. The receptor area in the terminal axon membrane con-
tains ionic channels that are sensitive to external stimuli such as pressure in the case
of mechanoreceptors, which is due to the depolarization of the axon terminal that is
due to the ows of both the K
+
and Na
+
ions.
The receptor potential is a direct consequence of the depolarizing effect. It is an
analog signal in the sense that its amplitude bears a direct relationship to the mag-
nitude of the stimulus. The receptor potential tends to degrade farther away from
the location of the stimulus and therefore cannot be propagated unless it is modu-
lated onto an action potential. Unlike receptor potentials, action potentials are like
binary signals that have the same amplitude; they are either present or absent. The
intensity of the stimulus cannot be represented as a variation of the amplitude of
the action potential. The combined effect of the stimulus and the receptor poten-
tial is to generate a number of action potentials at a rate that is dependent on the
magnitude of the stimulus. The increasing and decreasing receptor potentials trig-
ger a sequence of action potentials in quick succession. The process is similar to
frequency modulation, and it follows that measurements of action potentials may
be decoded or encoded to extract or inject appropriate stimuli into the peripheral
nervous system.
There are ve classes of receptors: chemoreceptors that recognize certain
classes of molecules, photoreceptors that are sensitive to light, mechanoreceptors
that are sensitive to motion and stress-related stimuli, thermoreceptors that are sen-
sitive to heat, and nocireceptors that are sensitive to stimuli received by tissues that
are perceived as pain. Mechanoreceptors, thermoreceptors, and nocireceptors are
also collectively known as somatosensory receptors. Proprioceptors are a special
class of mechanoreceptors that are present in the muscles and joints that are respon-
sible for the sensation and perception of the position of our limbs. If one is interested
in designing a bionic limb, it is essential to interface to the neurons that are provid-
ing the efferent signals and provide sensory signals to the afferent neurons, so as to
be able to communicate with the central nervous system (CNS).
2.4.2 Measurement and Control of Cellular Action Potentials
Bioelectrical signals, acquired by interfaces such as electrodes, are amplied and
ltered by a signal processor for prosthesis control. Aggregates of action potentials
are measured and used for purposes of monitoring and diagnosis.
Typical examples of measured aggregates are the electroneurogram (ENG) for
propagation of nerve action potential, the electromyogram (EMG) for monitoring
electrical activity of the muscle cells, the electrocardiogram (ECG) for monitoring
2.4 Biomimetic Sensors and Actuators 47
Measuring
amplifier
Current
meter
Error
amplifier
Variable
voltage
source
intracellular
electrode
reference
electrode
action
potential
feedback
summer
-
axon segment
Figure 2.10. Measurement of axon potential by seeking a null voltage in the forward path.
the activity of the cardiac cells, and the electroencephalogram (EEG) for monitor-
ing the brain.
For purposes of measuring action potentials in individual axons, electrodes are
used to interface a high number of nerve bers by using an array of holes with elec-
trodes built around them and implanted between the severed stumps of a periph-
eral nerve. The method of measurement known as the voltage clamp (Figure 2.10)
uses a negative-feedback circuit to establish a null voltage in the forward path.
7
The
current in the forward path is zero, and the action potential is proportional to the
voltage output.
The intraneural and intracellular electrodes are known as regenerative elec-
trodes. Regenerating axons eventually grow through the holes, making it possible
to record the potentials and to stimulate individual axons or small fascicles. These
electrodes may be used for acquiring efferent signals. The success of the electrode
implantation depends on the axonal regeneration through the perforations or holes.
There is the possibility of nerve damage from the mechanical load imposed by the
electrode or from constrictive forces within the holes, and this should be avoided.
Cuff electrodes may also be used to stimulate the enclosed nerve leading to the
activation of efferent motor or autonomic nerve bers and to acquire both efferent
and afferent signals. They are not intraneural and are bonded to the inside of an
insulating tubular sheath that completely encircles the nerve. Electrode contacts
exposed at the inner surface of the sheath are connected to insulated leads.
Biocompatibility, which one must consider before interfacing any electrodes, is
whether the system performs in its intended manner in the application under consid-
eration. It requires that the implant does not irritate the surrounding structures, pro-
voke an inammatory response, incite allergic reactions, or cause cancer and does
not degrade its functional performance by attacking the bodys immune system.
2.4.3 Bionic Limbs: Interfacing Articial Limbs to Living Cells
The fundamental unit cell in the CNS is the neuron.
8
A characteristic feature of
neurons is their extensive dependence on electrical transmission to communicate
7
For further details the reader is referred to Aidley, D. (1998). The Physiology of Excitable Cells, 4th
ed., Cambridge University Press, New York.
8
For a concise introduction to neuroscience the reader is referred to the text by Kingsley, Robert E.
(1999). Concise Text of Neuroscience, Lippincott Williams and Wilkins, Philadelphia.
48 Biomimetic Mechanisms
coded signals. Basic to this property are the establishment and maintenance of a
resting potential. This is achieved through passive and active mechanisms that are
present in channels and pumps. Information is integrated by neurons, whereas neu-
ral interconnections, together with their specic circuit connections, form circuits
and networks that are capable of producing behaviors. Individual neurons commu-
nicate with one another primarily via synapses. These are interfaces between cells
that have certain distinguishing characteristics. Signals are passed between neurons
either electrically, by action potentials being transmitted via transmission lines,
or chemically, by releasing neurotransmitters. A sensory nerve ber is one that con-
ducts impulses from some sensory ending toward the CNS, and is also referred to as
an afferent ber. Motor bers, which conduct signals from the CNS to some muscle,
are often referred to as efferent bers.
Our ability to interface with the neural bers or highways has led to the devel-
opment of the concept of a neuromotor prosthesis. These are robotic manipulators
for rehabilitation that provide people with a high degree of autonomy and mobility.
Mechanical prostheses have been devised for many years to complement the phys-
ical functions of persons who have, through various accidents or for other reasons,
been deprived of their normal measure of physical ability. Following surgical ampu-
tation of an arm or leg, prostheses have taken many forms, although in most cases
do not provide completely satisfactory solutions. However, several shortcomings of
the arm prostheses can now be addressed because of the availability of neuromotor
prostheses and the ability to interface a real physical manipulator to human neuro-
motor signals.
Such prosthetic or bionic devices are intelligent, adaptive devices directly con-
nected to the bodys command and control systems capable of both interacting with
the human body in a bidirectional manner and replicating a physiological function.
The primary shortcomings of mechanical prostheses that can be addressed by these
devices are as follows:
1. The prostheses have as many DOFs as the normal arm for which they are
intended to substitute. Thus they can perform certain tasks with the same dex-
terity for the amputee as a normal arm.
2. The controls (i.e., the actions of the amputee that control motions of the pros-
thesis) for a given prosthesis motion can now be synthesized from the actions
of a normal person that cause the corresponding motion of a normal arm. For
example, exion of the elbow of a prosthesis could be independent of the
movement of the shoulder of the amputee as in a normal person. There is still
a need for an amputee to learn an entirely new pattern of activity in order to
make the prosthesis useful to him or her, and his or her ultimate performance
may often be limited because of the degree of learning that is required is exces-
sive, although the constraints of the control system are not so severe.
3. The sensations that the amputee receives from the prosthesis are not limited to
that which he or she can obtain from visual observation of its performance and
from any extraneous noises that it makes or mechanical forces that it transmits
back through the socket and harness.
2.4 Biomimetic Sensors and Actuators 49
Reference signal
Supervisory input
Sensory feedback
Controller Stimulator
Output to
efferent nerves
Figure 2.11. Principle of functional electrical stimulation.
We see that there is almost as much sensory information as is present in a real
arm. It is not now difcult for an amputee to carry on a conversation or engage in
any other activity that reduces his or her conscious concentration on the prosthesis
while simultaneously operating his or her prosthesis.
Functional electrical stimulation also provides an alternative to a mechanical
hand in cases of injury to the neural connection from the spinal mechanisms and
driving the descending neuromotor system. The principle of functional electrical
stimulation is illustrated in Figure 2.11. The controller synthesis is based on the
supervisory signal, reference trajectories or reference inputs, and sensory feedback.
The output to the efferent nerves is a sequence of unidirectional electrical pulses
with pulse-width modulation. The currently available functional electrical stimula-
tion systems for grasping may be broadly classied as implanted or surface. Both
types of systems provide a basic set of primitives that will improve the users abil-
ity to grasp objects. To understand how the shortcomings of a purely mechanical
prosthesis are addressed, consider the CNS or the peripheral nervous system.
The components of a neuron in a nerve ber are a cell body, dendrites, which
are short berlike structures responsible for connecting and seeking information
from other neurons, and an axon, which is a long cylindrical structure arising from
the cell body. The axon is a primary channel for information whereas the dendrites
could be considered as gateways for information going into the cell. The axon allows
the cell to communicate action potentials over long distances whereas the dendrites
are responsible for short-distance interactions with other cells.
Just after a nerve impulse has passed a given point on a nerve axon, there is a
period during which that region of the nerve membrane is less sensitive to stimula-
tion than before. The interval is referred to as the refractory period, which deter-
mines the bandwidth of the signal. The end of a nerve axon may make contact
with either the cell body or dendrites of another neuron. The contacts or junctions
between nerves are called synapses, which allow neurons to inuence one another.
Communication between these junctions is by diffusion of a chemical neurotrans-
mitter. At a pair of nerve endings a synaptic communication takes place, resulting
in a postsynaptic transmission based on a chemical messenger or neurotransmitter
known as acetylcholine.
A single nerve ber consists of a cylindrical semipermeable membrane that sur-
rounds the axon of a neuron. The properties of the membrane give rise to a high
concentration of potassium ions and a low concentration of sodium ions inside the
ber and a low potassium ion concentration and high sodium ion concentration out-
side the ber. This results in a potential difference of about 0.15 V between the
inside and the outside of the ber, which is the resting membrane potential. The
50 Biomimetic Mechanisms
nerve is said to be polarized. When the nerve ber is externally excited, the resulting
ow of ionic current causes the potassium ions to be driven out and the sodium ions
to enter the ber. Thus the impedance of the membrane effectively changes as the
transmembrane potential is a function of the concentration gradients. Furthermore
depolarization takes place as the inside of nerve is less negative than before and a
nerve action potential is initiated. As the nerve action potential traverses down the
axon, the membrane at the point under consideration is repolarized and the nerve
ber reverts to its resting potential state. The action of the nerve ber is similar to
a transmission line consisting of a series of resistances and capacitances in parallel.
The capacitances are the result of the intermittent presence of an insulator known as
myelin, which prevents the ow of ions into the extracellular uid. The transmission
bers or fast bers are said to be myelinated whereas the slow bers are nonmyelin-
ated. The speed of signal transmission depends on the capacitances and, together
with the resistances, results in a short time constant for a myelinated ber.
The transmission of the action potentials can be controlled by external excita-
tion. Combined with the fact that the action potentials can also be measured, it is
possible to control and measure the nerve impulses being transmitted to and from
the brain and from the limbs. The ability to measure and control the action poten-
tials provides a natural way of interfacing an articial limb to living neuronal cells.
By use of concise biomechanical models to correlate neuronal signals and signal
rates to the movement kinematics and kinetics, it is possible to synthesize control
laws that can control the joint servomotors in an articial electromechanical limb.
As the control system also decodes the efferent neural signals in real time, the arti-
cial limb is directly controllable by the brain.
A typical block diagram illustrating the interfacing of an articial limb to live
nerve endings is shown in Figure 2.12. The system illustrated in Figure 2.12 does not
involve direct feedback to the brain via the afferent nerve bers that provide haptic,
tactile, and force feedback. Haptic information is a broad term used to describe both
cutaneous (tactile) and kinesthetic (force) information. Both types of information
are necessary to form the typical sensations felt with the human limb. The tactile
and proprioceptive sensing aspects are discussed in Chapter 11.
As tactile afferents seem to run in separate fascicles from muscle afferents
within the nerve trunks, the independent activation of tactile and muscle afferents
is considered feasible. It is possible, in principle, for tactile feedback to be routed
back via electrodes embedded in afferent tactile nerve bers, although there are
several practical issues, such as the large number of afferents that must be stim-
ulated, that must be addressed before it can be satisfactorily realized. The median
nerve is estimated to contain as many as 14 000 tactile afferents connecting the hand.
Each ngertip is connected to about 250 afferents, whereas the palm is connected to
about 50 afferents. Although it is believed that tactile feedback to provide a pros-
thesis user with sensations similar to those of a natural hand would require indepen-
dent microstimulation of hundreds of on-line tactile afferents in order to include
the various modes and primitives and to reach most of the important contact areas
during object manipulation, recent research indicates that feedback to even a few
2.4 Biomimetic Sensors and Actuators 51
Electrode
Electrode
Electrode
Electrode
Electrode
Measurement
Signal
Processing
Electrode
Electrode
Electrode
Electrode
Electrode
Measurement
Signal
Processing
Electrode
Electrode
Electrode
Electrode
Electrode
Measurement
Signal
Processing
Joint
Servo-
motor
Control
Laws
To joint motors
Force,
Tactile &
Proprioceptive
feedback
Figure 2.12. Bionic limb control system.
afferents is adequate to give the user a minimal sensation. The stimulation currents
are very small and of the order of 3040 A. Multiefferent interfaces driven by arti-
cial neural network controllers could provide the answer, and such interfaces with
integrated controllers are currently being researched. The sensation received may
not only be a function of the coding in and the nerve ber along which it is received,
but also a function of the specic type of nerve ending that produced it. Thus, with
multiafferent electrodes inserted to interact with each of specic nerve ber, the
resulting output signals must be adaptively processed with a learning controller to
achieve desirable prosthesis control.
Because of the low currents involved, electrical stimulation of small bundles of
afferents will be easier to implement in the near future than stimulation of isolated
afferents. Multiafferent stimulation has the advantage in that most of the grasping
surfaces of a limb such as the hand could be covered with a relatively low number of
independent control channels. Currently it is possible to build an articial mechan-
ical limb and to endow the limb with the essential motor skills and sensory compo-
nents by dening appropriate reaching and grasping primitives as well as primitives
to acquire tactile and proprioceptive information.
2.4.4 Articial Muscles: Flexible Muscular Motors
An understanding of the bioelectric control of muscles in humans offers the possibil-
ity that control of the prosthesis action can be similar to control of the corresponding
body action. Such a technique may be applied to the control of a mechanical limb
designed to replace a natural human limb that was lost through amputation. In a
52 Biomimetic Mechanisms
normal human limb the muscles in the body produce an electrical signal, called the
EMG, which can be sensed directly from the surface of the skin. A study of these
signals permits one to both generate appropriate control and sensory signals so as to
be able to interface an articial limb to an amputated stump. As an example, a mea-
surement of the surface EMG signals from the biceps and triceps of an amputees
arm can be used to design a controller capable of providing a graded control of an
elbow prosthesis. It also allows for the replacement of muscles and tendons on a
selective basis by prosthetic muscles and tendons. The EMG signal bears a special
relationship to the action potential. When any muscle ber is stimulated because
of a voluntary contraction, the depolarization of its membrane produces an electric
eld whose action potential appears across any pair of electrodes in the vicinity.
However, the electrodes also receive the action potentials of all muscle bers in a
muscle, and consequently the ouput as observed across the pair of electrodes is the
aggregate effect of the elds of a collection of muscle bers. It is this signal that is
observed in the EMG.
The use of efferent nerve signals for the control of prosthesis offers many poten-
tial advantages over the use of the EMGsignal. In a typical nerve trunk in the human
arm there are thousands of nerve bers, which include motor bers, proprioceptive
sensory bers, and other sensory bers. The motor bers drive about 2050 muscles
in the arm.
Intramuscularly inserted electrodes and epimysial electrodes that are attached
to the surface of the muscle have been developed to facilitate human muscle acti-
vation. These muscle activation electrodes must be placed as close as possible to
the motor nerve endings as the excitatory signal satises an inverse-square law.
Such electrodes are particularly useful for the implementation of functional elec-
trical stimulation of human limbs by prosthetic devices.
The sensory bers, on the other hand, are responsible for sending a variety of
sensory information back to the CNS, not all of them being proprioceptive. Even if
one assumes that the sensory afferent bers were used to send the same signal as
each previously did before amputation, there may be some complex coding neces-
sary to properly identify these signals to the CNS. If this can be done, the graded
autonomous control of a limb such as the hand or the arm is a distinct possibility.
There are two major classes of muscle in mammals: skeletal and cardiac
(smooth) muscles. Skeletal muscles are responsible for all voluntary movements and
are of primary interest to us. Contraction of these muscles and tissues is initiated by
the action potential. Cardiac muscles are to a greater extent involuntarily controlled;
examples are the heart and other visceral bodies. A specic type of nerve transmis-
sion is used by an axon terminating on a skeletal muscle ber, at a specialized struc-
ture called the neuromuscular junction. An action potential occurring at this site
is known as a neuromuscular transmission. At a neuromuscular junction, the axon
subdivides into numerous terminal buttons that reside within depressions formed in
the motor end plate. Also at the neuromuscular junction, a synaptic transmission
is by the chemical messenger or neurotransmitter. Although the neurotransmitter
acetylcholine is responsible for synaptic communications between a nerve ending
2.4 Biomimetic Sensors and Actuators 53
and a muscle ber, the neurotransmitter responsible for communications between
muscle bers is noradrenaline.
The presence of both the action potentials that are short period control signals
and postsynaptic transmissions that are longer period control signals makes it is pos-
sible to interface neuromuscular prosthetic materials to replace damaged muscles in
a human. Although much of the early work was related to the use of electropneu-
matic actuators such as prosthetic articial muscles, the recent development of mus-
cle bers from a copolymer of PVDF (poly-vinylidene uoride triuoroethylene), a
material with electroactive properties related to electrostriction and piezoelectric-
ity, is providing promising prostheses for damaged muscles in humans. This inno-
vative technology is currently being explored, and one can expect articial muscle
prostheses to be available in the not-too-distant future.
2.4.5 Prosthetic Control of Articial Muscles
There are a small number of transducers distributed within the muscle that are
responsible for sensing position but have no role to play in driving the muscle. These
are the so-called muscle spindles. The elastic portion of a muscle spindle (called the
nuclear bag) at its center can be stretched but cannot actively contract. On the other
side of the nuclear bag are two poles that are capable of contraction and are made
up of a few small muscle bers known as intrafusal bers, as they are internal in
the muscle. The nuclear bag is connected to a large fast-conducting sensory nerve
ber. The intrafusal bers are connected to small, slowly conducting motor nerve
bers known as gamma efferents. Because of the relative ease with which they can
be found and worked with, the muscle spindles can be modeled effectively to simu-
late their functional behavior. The sensory nerve transmits nerve impulses at a rate
that is logarithmically proportional to the length of the nuclear bag. The spindles
can adapt only slightly after a period of several minutes. The spindles stretch paral-
lel to the primary muscle bers in the muscle, connecting to the tendons or bones in
sympathy with the muscle.
There are two ways in which the nuclear bag can be stretched: (1) by length-
ening the muscle that then would lengthen the nuclear bag accordingly; and (2) by
excitation of the intrafusal bers by the gamma efferent nerve bers, in which case,
even if the overall muscle length remains constant, the nuclear bag will be forced
to lengthen. Thus the muscle spindle output is relatively steady and contributes to a
sense of position.
A number of local circuits emanating from the spinal cord are responsible for
regulating and coordinating the action of the muscles connected to it by control sig-
nals emerging from efferent neurons and feedback signals to afferent neurons in its
roots. These are known as reexes, and a reex loop is associated with ve subsys-
tems: a sensory receptor, an afferent path, back to the CNS, synaptic connections
within the CNS, an efferent path, and a control effector. Typical examples of these
reexes are the muscle stretch reex, the clasp knife reex, and the exion reex.
The rst is invoked while a muscle is rapidly stretched, the second when a muscle
54 Biomimetic Mechanisms
is stretched during an isometric (constant-length) contraction, and the third when a
general exion of a limb is produced.
The ability to control and regulate the position of an articial limb grafted to a
human depends to very large extent on our understanding of how the position of a
natural limb in a human is controlled and regulated. Central to this understanding is
the reex nature of the controller maintaining the position of a limb. One example
of such a reex action or reex arc is the well-known knee-jerk response to a tap
on the tendon just below the kneecap. A commonly known reex is the knee-jerk
reex. The knee jerk is a deep tendon reex and is also known as a patellar reex.
When tapped on the patellar tendon over the kneecap, the tendon that connects the
quadriceps muscle in the front of the thigh to the lower leg, the quadriceps contracts
and involuntarily brings the lower leg forward.
The main function of the reex arc and the muscle spindle is the ability to hold a
joint in some constant position without conscious attention to its position. Thus the
reex arc acts like a regulator and an internal autostabilizing loop, and hopefully
can be designed by well-known principles in optimal control theory.
The sensory nerve bers that are of primary importance in commanding a
desired position response and regulating the position are the ones entering the
spinal cord by the dorsal root, their cell bodies being located in the dorsal-root
ganglion. These are the sensory bers that are responsible for innervating the
nuclear bags of the muscle spindles of a given muscle. It is well known among neu-
roanatomists that these spindle signals enter the spinal cord and synthesize the exci-
tatory synapses with the alpha motor neurons for the muscles from which they
came.
Muscles receive information from two sets of motor neurons. The extrafusal
muscle bers, external to the muscle, are innervated by the alpha motor neurons.
The large myelinated axons, with a diameter in the range of 813 m, associated
with them initiate movement through extrafusal muscle contraction. When an exter-
nal stimulus such as a tap on the tendon is sensed, it momentarily stretches a mus-
cle. The reex system operates like a feedback controller, and all the elements in
the command path and the feedback loop may be explicitly identied. The spin-
dles in that muscle will sense a change in muscle length and return an increased or
decreased nerve impulse rate along their respective sensory nerve bers. This signal
will then in turn cause the average impulse rate along the alpha motor nerve bers
of the muscle that was just deformed to change. The net result will be a change in
the tension in that muscle, causing the associated joint to move in a direction so as
to restore the muscle length by reducing or increasing the spindle discharge rate,
and thereby returning the system to its former state.
Unfortunately the proportional control system driven by the outputs of the
alpha motor neurons is unable, by itself, to distinguish between set-point changes
and feedback signals. The synthesis of the set points is therefore performed inde-
pendently from the outputs of the gamma motor neurons that innervate only the
intrafusal muscle bers. Set-point commands in the form of the gamma efferents
2.5 Applications in Computer-Aided Surgery and Manufacture 55
k
s(Ts+1)
G(s+z)
s(s+p)
s
1
s
1
-
-
-
gamma
in
spindle
Nuclear bag
length
spindle
feedback
muscle
specific
force
arm/
load
dynamics
velocity
position
alpha in
Figure 2.13. Simulink simulation of the proportional position control loop representing the
muscle stretch reex.
tend to induce changes only of the intrafusal muscle length and thus maintain the
steady tension on the muscle spindle receptors.
The gamma motor neurons are associated with axons much smaller in diameter
than those of the alpha motor neurons, in the range of 38 m, and generate the
gamma efferents that innervate only the distal (remote) contractile portion of the
intrafusal muscle bers. The gamma motor neurons can be further grouped into
static and dynamic that respectively innervate the static and dynamic muscle bers.
Muscles generally operate in pairs, and with each muscle is also associated
another one in an antagonistic conguration. The alpha motor neurons for the
antagonist muscles are forced to change their average discharge rate so as to alter
the tension in those muscles, tending once again to assist in returning the joint to its
former position.
The simulation of the proportional position control loop representing the mus-
cle stretch reex is illustrated in Figure 2.13 and is driven by two inputs. The one
that is understood to be relevant to the postural setting of the nominal position is
the gamma input. This corresponds to a signal applied to the gamma motor bers
from the CNS, and it corresponds to the different set points of desired positions for
the joint. This is the postural control loop, with relatively long time delays, that can
be used with different input signals to regulate a nominal position at any point.
The proportional control input to the neuromuscular control loop is the alpha
input and represents a direct input to the muscle, by which a rapid action can be
caused. The alpha subsystem is a fast controller in which the signal is used for
rapid voluntary motions, whereas the gamma subsystem may be considered to be its
slower counterpart. Probably the most important consequence of our understand-
ing of muscle control is that it is now possible to both simulate and build a muscular
prosthesis that can form an important component of a bionic limb.
2.5 Applications in Computer-Aided Surgery and Manufacture
Major applications of the ability to provide haptic feedback are in computer-
aided surgery and computer-aided manufacture. In the context of manufacturing,
56 Biomimetic Mechanisms
a prototype telemachining system has been developed by use of multiaxis force data
and stereo sound information in which the force information from the multiaxis
force sensor is used not only to determine the machining and the operation state
but is also transmitted back to the operator through a three-DOF joystick to give the
operator an articial feel of the forces involved in manipulating the object. More-
over, haptic devices may be used by an operator to train a machine tool, such as a
milling machine, to machine a virtual part so that a collision-free tool path can be
generated while ensuring accessibility. Further discussion in this chapter is limited
to computer-aided surgery applications.
2.5.1 Steady Hands: Active Tremor Compensation
Endoscopy involves a minimally invasive surgical procedure inside the human body.
Two examples of such procedures are exible gastrointestinal endoscopy like gas-
troscopy (inside the stomach) and colonoscopy (inside the large intestines). Present-
day endoscopes used in minimal-access surgery are rigid, inexible, and not con-
trollable. Furthermore, tremor is a serious problem even in normal humans. It is
particularly problematic in people suffering from Parkinsons disease.
Tremor needs to be eliminated, particularly when one is performing surgery
around critical regions such as in the presence of tumor near a gland such as the
pituitary gland. Laparoscopy is not only a term given to a group of operations that
are performed with the aid of a camera placed in the abdomen but also refers to
minimally invasive surgery in the abdomen via a small incision. Instruments used in
endoscopic surgery via natural incisions have severe limitations such as rigidity and
inexibility and are often not adequately controllable.
A novel approach that can be applied to endoscopy, laproscopy, and for tremor
compensation is to use actively controlled micromanipulators. Such micromanipu-
lators would use exible linkage systems that could be completely controlled to any
shape or geometry as desired. The control actuation is performed by smart actuators
using smart composites with layers of piezopolymers or piezoceramics or embedded
shape memory alloy (SMA) wires, in addition to conventional devices. The embed-
ded smart actuators are complemented by a matching set of embedded smart sen-
sors. Together these systems can be used to achieve the closed-loop servocontrol of
the micromanipulator.
Endoscopy is also controlled entirely by vision alone. In terms of laparoscopy,
the difculty is in the coordinated handling of instruments (handeye coordination)
and the limited workspace that increases the possibility of damage to surrounding
organs and vessels either accidentally or through the complexity of the procedures.
In typical magnetic-resonance-image- (MRI-) based systems, a solid-state inertial
measuring unit embedded at the tip of the endoscope relays the position and ori-
entation of the endoscope. The endoscope is then displayed on a diagnostic image
relative to the position of the targeted organs.
Thus one of the applications of the vision-based approach is in radiosurgery.
Robotic surgical systems are being designed to provide surgeons with full control
2.5 Applications in Computer-Aided Surgery and Manufacture 57
over instruments that offer precision. Instead of manipulating surgical instruments
manually, surgeons move a pair of joysticks that in turn control a pair of robot arms
operating miniature instruments that are inserted into the patient. The surgeons
movements of the joysticks transform large motions into miniature movements on
the robot arms to greatly improve mechanical precision and safety.
Based on micromanipulation, robot-assisted remote surgical systems have been
developed to supplement the ability of surgeons to perform minimally invasive pro-
cedures not only by scaling down motions but also by adding additional DOFs to
instrument tips. When the user operates these systems by wearing a bionic glove
that is appropriately endowed with sensors and microelectronic hardware, the sys-
tem can identify the users intentions and generate the relevant control signals to
operate the surgical manipulator.
With recently developed surgical systems it is also possible to make measure-
ments of contact forces and provide force feedback so as to control the contact
dynamics of the manipulators end-effector. Yet the application of these systems is
limited because of the lack of extensive haptic feedback, including tactile sensations
and not just force feedback, to the user.
One of the major issues associated with robotic surgery is the need to be able
cancel tremor when ne movements are performed. It is essential to understand-
ing the nature and source of the tremor. In a human the motor cortex in the cere-
bral hemisphere in the forebrain generates the instructions for ne movement. The
basal ganglia and cerebellum are large collections of cells that modify movement
on a minute-to-minute basis. The motor cortex sends information to both, and both
structures send information right back to the cortex via the thalamus.
The cerebellum coordinates movement by comparing ones intentions with
ones actions as evidenced by the responses of the muscles in the limbs. The output
of the cerebellum is excitatory, whereas that of the basal ganglia is inhibitory. The
antisymmetric nature of the two signals allows a balance to be maintained that cul-
minates in a continuous coordinated movement. Any disturbance in either system
will show up as movement disorders. Depending on the type of movement desired,
the commands from the motor cortex go through processing units in either the
cerebellum (coordinated or repetitive movement instructions) or the diencephalon
(complex or ne-movement instructions). The diencephalon is made up of the thal-
amus and the hypothalamus, which reside just above the brain stem. A simplied
model of this control system, shown in block-diagram form in Figure 2.14, in a
healthy human illustrates the processing of the movement instructions in the thala-
mus and the generation of control commands back to the motor cortex. The motor
cortex in turn provides the neuromotor actuation signals.
The basal ganglia are a collection of cells deep in the cerebral cortex. They
include the caudate and the putamen (CP), nucleus accumbens, globus pallidus,
substantia nigra, and the subthalamic nucleus (STN). These structures work in small
groups to perform some specialized functions. Thus the ne- or complex-movement
instructions are accumulated and sequenced in the CP. The output of the CP is then
amplied by the substantia nigra pars compacta (SNpc). The motor cortex generates
58 Biomimetic Mechanisms
_
Caudate &
Putamen (CP)
SNpc
Globus Pallidus
pars externa
(GPpe)
Thalamus
TH
STN
Subthalamic Nucleus
To motor
cortex
From
motor cortex
Substantia Nigra
pars compacta
Movement
instructions
Figure 2.14. Block diagram illustrating the generation of control laws in the motor cortex
from ne-movement instructions.
a regulatory feedback signal to the STN. The regulatory feedback signal to the STN
triggers an inhibitory control signal that is combined with the excitatory signal from
the SNpc by the globus pallidus pars externa (GPpe). The output from the GPpe is
transmitted to the thalamus, which then stimulates the motor cortex.
As stated earlier, movement disorders are caused by the lack of balance
between the signals from the cerebellum and the basal ganglia. Specically, the
synaptic neurotransmissions from the cerebral hemisphere to the thalamus can have
a signicantly high noise content, and this manifests itself as a tremor in the muscle.
Parkinsons disease, Huntingtons disease, and hemiballismus are all disorders that
are associated with defects in the neurotransmitters.
This insight into the nature of the tremor suggests that the feedforward control
of the tremor by making measurements of early in the signal path and providing
an out-of-phase canceling signal to the manipulator close to where it is controlled
by the human hand would not only compensate for the tremor in the manipula-
tor but also provide a haptic feedback signal that would eventually compensate
for the lack of balance alluded to earlier. The control algorithms may be partially
based on known neural properties of this behavior of the basal ganglia but without
detailed mimicry of the neurophysiology of the physiological control systems. Thus
our understanding of the nature of a tremor can provide for a novel biomimetic
approach to its suppression.
2.5.2 Design of Scalable Robotic Surgical Devices
Cable-driven manipulators cannot be really miniaturized, and this is a major dis-
advantage. However, the use of smart materials for the sensing and actuation of
miniature robotic manipulators facilitates the development of a scalable solution
to provide motion and force control. SMA wires provide a feasible alternative to
cables in the design of manipulators. SMAs are so called because they remem-
ber their shape while undergoing a solid-to-solid phase transformation during heat-
ing. At room temperature, certain nickeltitanium alloys such as Nitinol, are in a
low-temperature martensite state. When they are heated beyond a transformation
temperature, they undergo the phase transformation to an austenite state. In the
2.5 Applications in Computer-Aided Surgery and Manufacture 59
martensite phase, the materials exhibit higher exibility than in the austenite phase
and are therefore easily deformed.
When the materials are heated they enter the austenite phase (known as reverse
transformation) and regain their original shape as long as permanent plastic defor-
mation does not occur in the martensite phase (around 3%8% strain for most
SMAs). On cooling to martensite again (martensite transformation), the SMA does
not change its macroscopic shape unless external loads are applied. In the two-way
shape memory effect, both phases remember a unique shape.
An interesting application of the shape memory effect is the atrial septal occlu-
sion device used to seal holes located between the two upper heart chambers upon
the septum, which is the surface that splits the upper part of the heart into the right
and left atria. The device consists of an assemblage of SMA wires embedded in a
waterproof polyurethane lm. The shape memory effect is exploited so the device
recovers its original shape and seals the holes in the septum. It is a two-part device
that is deployed on either side of the septum via a catheter. Another device that is
built from an assemblage of SMA wires is the Simon lter. A pulmonary embolism
is a sudden blockage in a lung artery. The cause is usually a blood clot in the leg,
called a deep vein thrombosis (DVT), that breaks loose and travels upstream to the
lung. The Simon lter is used to act as a lter to blood clots, prevent their upstream
movement, and thus prevent pulmonary embolism.
Moreover, with the availability of microelectromechanical sensors and actua-
tors such as single-chip accelerometers and motors, the design and construction of
miniature surgical instruments is a feasible proposition. A number of miniaturized
tools using mechanisms such as grippers, tongs, scissors, and others are currently
being developed based on the active control of SMA wires to assist in surgery.
A major difculty is in the precise control of these smart wires that is due to the
inherent hysteresis during the phase transformation and the fact that the controllers
must be able to precisely predict the inverse dynamics in these situations. However,
recent advances in the control of systems that exhibit hysteresis facilitates the design
of reasonably accurate inverse model controllers.
The development of systems for endoscopic cardiovascular surgery evolved
with the development of instrumented catheters in the 1960s. Catheters are capa-
ble of introducing diagnostic sensors at the tip of a long wire or tube able to reach
the most remote regions of the cardiovascular system as well as being capable of
being introduced via a patients veins. It is then possible to perform a number of
measurements in vivo by using miniaturized pressure and ow sensors and ultra-
sound probes. The measured data are transmitted back via optical bers to a mea-
suring system that is in a remote location. The optical ber is embedded within the
catheter and is capable of transmitting the measured signal over a long and exible
catheter.
Catheters are now also used in conjunction with deployable stents to repair
aneurysms, which are localized, blood-lled bulgings of a blood vessel caused by
the local weakening of the vessel wall. Self-expanding stents, named after the den-
tist C. P. Stent who invented them, are mainly used to maintain the size of a blood
60 Biomimetic Mechanisms
vessel. Catheters are also used with deployable superelastic balloons for angioplasty,
which is the mechanical widening of a narrowed or obstructed blood vessel. In these
interventional procedures, the medically qualied operator or surgeon activates the
balloon or releases the stent while viewing the on-line image provided by x rays or
uoroscopy. Real-time MRI-guided coronary catheterization is a potential alterna-
tive to conventional x-ray imaging. It is made possible by a coaxially inserted active
guide wire containing a loopless antenna mounted on a nitinol ring serving as an
internal radio-frequency (RF) receiver coil for enhanced direct guide wire visual-
ization. The advancement of the catheter is totally performed by the surgeon, who
has to insert the device and visually guide the catheter to the correct destination
before deploying the device.
Catheters may be modeled as multilink robotic manipulators, and currently
there are a number of dynamic simulators that are commercially available. These
can be used as dynamical training systems to train surgeons in the use of active
catheter-based systems.
2.5.3 Robotic Needle Placement and Two-Hand Suturing
The processes of implementing robotic needle placement or two-hand suturing,
which are typical examples of micromanipulation procedures, are based on basic
suturing processes. The basic principles of suturing involve not just the choice of the
needles, sutures, and suturing materials but certain generic as well as some specic
procedures. Among the generic procedures are the techniques of needle holding,
needle driving, and knot placement. Among the specic suturing techniques are
simple or running sutures, vertical, half-buried vertical, and modied vertical mat-
tress sutures, horizontal mattress sutures, buried sutures, pulley sutures, variations
of running sutures, and suture-removal techniques.
The development of automatic suturing evolved from developments related to
the sewing machine. The rst sewing machines used a needle with an eye at the
point. The needle was pushed through the fabric and created a loop on the other
side; a shuttle on a track then slipped the second thread through the loop, creating
what is called the lockstitch. With the inventions of the up-and-down-motion mech-
anism, and the rotary hook shuttle, automatic fabric sewing machines were built.
These are basic in the implementation robotic suturing mechanisms.
For the suturing techniques to be performed by a robot surgeon, they are ana-
lyzed and broken up into basic primitives. Thus one can identify ve basic prim-
itives: select, involving the selection of a suitable entry and a suitable exit point;
align, involving grasping, navigation to a certain location, and alignment of the nee-
dle tip in a certain direction; bite, when entry and exit bites are made as the needle
passes from one tissue to the other; loop, to create a suturing loop; and knot, to tie a
knot. Given the appropriate manipulator and/or gripper, a constrained controller is
designed to implement each of these primitives. With the primitives implemented,
robotic suturing may be achieved by the process of scheduling and sequencing the
controlled primitives so as to execute the desired tasks.
Exercises 2.12.6 61
EXERCISES
2.1. State and discuss six basic features of biosensors. Discuss the types of most
common biological agents (e.g., chromorphores, uorescence dyes) and the ways in
which they can be interfaced with a variety of transducers to create a biosensor for
biomedical applications.
2.2. Study the characteristics of a range of biosensors that are currently available
and identify and classify the various immobilization techniques in each of these sen-
sor types.
2.3. Research the principles of ber-optic-based biosensing techniques and identify
ve optical biosensors and systems (e.g., uorescence spectroscopy, microscopy) for
biomedical applications.
2.4. Explain briey the governing principles and applications of
(a) molecular beacons,
(b) uorescent semiconductor quantum dots,
(c) bioMEMS,
(d) confocal and multiphoton microscopy,
(e) quantum computing.
2.5. Study the muscle contraction process and draw an equivalent circuit model for
it by combining the electrical and mechanical components and representing them
with suitable electrical analogs.
2.6. Discuss the basic elements of a typical implementation of a bionic arm and
identify the primary computational tasks involved in the implementation of such
prostheses.
3
Homogeneous Transformations and Screw
Motions
3.1 General Rigid Motions in Two Dimensions
Pure rotations of rigid bodies can be described by the application of rotational trans-
formations to the reference frames. In the Appendix, the various transformations
representing pure rotations of rigid bodies are considered in detail. However, for a
two- or three-dimensional system of reference axes, general transformations must
simultaneously involve both rotation and translation of the reference axes.
To begin, we consider simultaneous rotation and translation of two-dimensional
reference axes. In two dimensions, considering simultaneous rotation and transla-
tion of the reference axes, we may express the components of a position vector as

1x
R

1y

R
1x
R
1y

x
d
y
d

, (3.1)
where

R
1x
R
1y

cos sin
sin cos

R
0x
R
0y

(3.2)
are the components following a simple rotation, and the vector
d = [ x
d
y
d
]
T
(3.3)
represents the translational displacement of the origin of the reference axes. In gen-
eral, the preceding transformation represents a simultaneous rotation and transla-
tion that may be considered to be an afne transformation due to a general rigid
motion of the reference axes.
Introducing a similar change in notation as was dened in the Appendix, we
have

1
y

= R

x
0
y
0

+d, (3.4)
62
3.1 General Rigid Motions in Two Dimensions 63
where
R =

cos sin
sin cos

and d =

x
d
y
d

.
Thus the transformation, T, is uniquely dened by the matrixvector pair, (R, d). It
is the direct sum of a pure rotation and a displacement. This is denoted as
(R, d) = (R, 0) (I, d) . (3.5)
The identity transformation, the one that leaves the original vector unchanged, cor-
responds to the pair (I, 0).
The inverse relationship is

x
0
y
0

= R
T

1
y

R
T
d, (3.6)
which may be represented by the matrixvector pair

R
T
, R
T
d

.
This fact is stated as
(R
T
, R
T
d) (R, d) = (R, d) (R
T
, R
T
d) = (I, 0). (3.7)
However, it is quite obvious that it is not possible to add or compose the trans-
formations by the application of the rules of matrixvector algebras.
To overcome this shortcoming, we dene a matrix representation of the matrix
vector pair (R, d). Together they may be used to determine the position and orien-
tation of a reference frame. Consider the matrix transformation
T =

R d
0 1

, (3.8)
and let the position vector be initially represented by [x
0
y
0
1]
T
.
Applying the transformation results in

R d
0 1

x
0
y
0
1

x
0
y
0

+d
1

x
1
y
1
1

; (3.9)
i.e.,

x
1
y
1
1

R d
0 1

x
0
y
0
1

= T

x
0
y
0
1

. (3.10)
The transformation of the components is achieved by a simple matrix transfor-
mation. Interestingly, considering the inverse relation, we have

R d
0 1

R
T
R
T
d
0 1

R
T
R
T
d
0 1

R d
0 1

I 0
0 1

; (3.11)
i.e., the inverse transformation is the inverse of the matrix transformation.
64 Homogeneous Transformations and Screw Motions
3.1.1 Instantaneous Centers of Rotation
Before any of the features of the matrix transformation introduced in the previous
section are enunciated, it is instructive to consider a rotation of the reference axes
about another axis that does pass through the origin. To consider such a rotation,
we may translate the reference axis to a point on the axis of rotation, rotate the axes,
and translate back by the same translation vector. The net result of this operation is
T =

I p
0 1

R 0
0 1

I p
0 1

R p Rp
0 1

. (3.12)
If this composite transformation is equivalent to a general simultaneous rotation
and translation, it follows that

R d
0 1

R p Rp
0 1

; (3.13)
i.e.,
d = p Rp = [I R] p. (3.14)
Hence it follows that
p = [I R]
1
d. (3.15)
When the vector p satises the preceding equation and the general motion
transformation is applied to a point dened by it, the observed result is

R d
0 1

p
1

p
1

, (3.16)
and hence the point dened by the vector p is invariant. Thus the point p denes the
center of rotation. In the case of a pure rotational transformation the center is at the
origin whereas in the case of pure translation it is at an innite distance from it.
Some important applications of the center of rotation of a rigid body follow
from the ArnoldKennedy three-centers-in-line theorem. When two rigid bodies, b
1
and b
2
, are moving in the same plane relative to a third rigid body, b
3
, then the
instantaneous centers of b
2
relative to b
3
, of b
1
relative to b
3
, and of b
2
relative to b
1
all lie in a straight line. The theorem is particularly useful in nding all the instanta-
neous centers of rotation of rigid links in a planar mechanism relative to each other.
With the positions of these centers known, it is also possible to determine all the
velocities of the links.
3.2 Rigid Body Motions in Three Dimensions: Denition of Pose
The position and orientation of a body dene the pose of the body, i.e., the pose
of a body is completely determined by its position and orientation. In general this
involves six independent parameters or DOFs. However, three of these pertain to
the orientation of the body and any rotational transformation in three dimensions
3.2 Rigid Body Motions in Three Dimensions: Denition of Pose 65
may be expressed in terms of these orientation parameters. Thus, in three dimen-
sions, as in the case of two dimensions, the position coordinates of a general vector
may be expressed as

1
y

1
z

= R

x
0
y
0
z
0

+d, (3.17)
where R is a 3 3 rotation matrix of the type discussed in Chapter 2 and d is the
displacement vector by which the origin of the reference axes is displaced. As in the
two-dimensional case, the transformation may be represented by the single matrix
T =

R d
0 1

. (3.18)
When the transformation is applied to a position vector,

R d
0 1

x
0
y
0
z
0
1

x
0
y
0
z
0

+d
1

x
1
y
1
z
1
1

; (3.19)
i.e.,

x
1
y
1
z
1
1

R d
0 1

x
0
y
0
z
0
1

. (3.20)
As in the two-dimensional case, the inverse transformation is given by
T
1
=

R
T
R
T
d
0 1

(3.21)
and satises

R d
0 1

R
T
R
T
d
0 1

R
T
R
T
d
0 1

R d
0 1

I 0
0 1

. (3.22)
3.2.1 Homogeneous Coordinates: Transformations of Position and Orientation
The four-component vector representation of the position coordinates is known as
the homogeneous coordinate vector and the vector components are known as the
homogeneous coordinates. The matrix T is known as the homogeneous matrix trans-
formation. When the transformation operation is applied successively to a homoge-
neous coordinate vector h with two transformation matrices, rst by T
1
and then by
T
2
, the composite effect of the two transformations may be realized by the applica-
tion of a single transformation,
h

= T
2
T
1
h = T h, T = T
1
T
2
. (3.23)
66 Homogeneous Transformations and Screw Motions
However, the composite transformation T is not equal to the matrix product:
T = T
1
T
2
= T
2
T
1
. (3.24)
The direct sum of two homogeneous transformations is not a homogeneous
transformation. The composition of two homogeneous transformations is
T =

R
2
d
2
0 1

R
1
d
1
0 1

R
1
R
2
R
2
d
1
+d
1
0 1

. (3.25)
3.3 General Motions of Rigid Frames in Three Dimensions: Frames with Pose
When a homogeneous transformation is applied to a reference frame, the pose of
the frame changes from one to the other. Because some of the reference axes before
and after transformation may be located arbitrarily, the pose of a frame may be
parameterized with a minimal set of parameters. By choosing an initial set of refer-
ence axes and aligning the nal set of reference axes relative to the initial set in a
certain way, Denavit and Hartenberg were able parameterize a homogeneous trans-
formation in terms of just four parameters. This parameterization is discussed in the
next subsection.
3.3.1 The DenavitHartenberg Decomposition
The DenavitHartenberg (DH) decomposition has become the standard way of rep-
resenting reference frames and modeling their motions. The method begins with
a systematic approach to assigning and labeling an orthonormal (X, Y, Z) right-
handed coordinate systemto each point representing the origin of a reference frame.
It is then possible to relate one frame to the next and ultimately to assemble a com-
plete representation of the motion of the nal frame relative to the rst. The frame
assignment method is very application dependent and will be discussed in a later
chapter. The homogeneous transformation is composed of four successive transfor-
mations that will make these frames coincident with each other. The transforma-
tions, in reverse order, are
1. a rotation
n+1
about the Z
n
axis to bring X
n
parallel with X
n+1
,
2. a translation d
n+1
along the Z
n
axis to make the x axes collinear,
3. a translation a
n+1
along the X
n
axis to make the z axes coincide, and,
4. a rotation
n+1
about the X
n
axis to bring Z
n
parallel with Z
n+1
.
The rotations and displacements are illustrated in Figure 3.1. The four parame-
ters a
i
,
i
, d
i
, and
i
in the transformation are generally given the names link length,
link twist, link offset, and joint angle, respectively. The transformations may be rep-
resented as
T
DH
= T
n,n+1
= rot (Z
n
,
n+1
) trans (Z
n
, d
n+1
) trans (X
n
, a
n+1
) rot (X
n
,
n+1
) .
3.3 General Motions of Rigid Frames in Three Dimensions: Frames with Pose 67
d

a
n+1
n+1
n+1
n+1
n+1
n+1
Z
n
Z
X
X
n
Figure 3.1. The DH decomposition.
Thus it follows that
T
DH
= T
n,n+1
=

cos
n+1
sin
n+1
0 0
sin
n+1
cos
n+1
0 0
0 0 1 0
0 0 0 1

1 0 0 0
0 1 0 0
0 0 1 d
n+1
0 0 0 1

1 0 0 a
n+1
0 1 0 0
0 0 1 0
0 0 0 1

1 0 0 0
0 cos
n+1
sin
n+1
0
0 sin
n+1
cos
n+1
0
0 0 0 1

. (3.26)
When the transformations are applied, the last of the matrices is multiplied
with the initial homogeneous position vector, followed by the third, the second,
and nally the rst. When several links are present, the composite homogeneous
transformation is a product dened by
T
DH
=

T
n,n+1
. (3.27)
3.3.2 Instantaneous Axis of Screw Motion
There is yet another physically meaningful interpretation of the four-parameter rep-
resentation of a homogeneous transformation. We have already observed in the
previous chapter that any rotational transformation may be expressed as a single
rotation, the Euler angle about some axis, the Euler axis e

. This representation
accounts for three parameters, and any rotation matrix may be expressed as
R = R(, e

) . (3.28)
Consider a general homogeneous transformation with the rotation matrix
expressed in terms of the Euler angle and the Euler axis:
T =

R(, e

) d
0 1

, (3.29)
and let the vector d be selected such that it is proportional to e

. Specically, we let
d =

2
e

p; (3.30)
68 Homogeneous Transformations and Screw Motions
the homogeneous transformation represents a rotation and uniform displacement
along the same axis passing through the origin of the reference frame. Thus we
have Chasles Theorem, which states that the most general displacement of a rigid
body is equivalent to a translation of an arbitrary reference point on the body and a
simultaneous rotation about an axis through that reference point. Together the two
motions constitute a single screw motion. In fact, the homogeneous transformation
represents a transformation of a point to such a screw-type motion, in which the
parameter p is the pitch of the screw, the distance traveled along the axis for every
complete rotation about the axis. When the pitch is zero, the screw motion is a pure
rotation.
To show that every general rigid motion corresponds to an instantaneous screw
motion, the general homogeneous transformation must be shown to be equivalent
to that corresponding to screw motion. To do this, consider a screw motion of the
reference axes about another axis that does pass through the origin. To consider
such a motion, we may translate the reference axis to a point on the axis of rotation,
perform a screw motion on the axes, and translate back by the same translation
vector. The net result of this operation is
T =

I p
0 1

R d
s
0 1

I p
0 1

R p Rp +d
s
0 1

, (3.31)
where
d
s
=

2
e

p. (3.32)
If this composite transformation is equivalent to a general simultaneous rotation
and translation, it follows that

R d
0 1

R p Rp +

2
e

p
0 1

; (3.33a)
i.e.,
d = p Rp +

2
e

p = [I R] p +

2
e

p. (3.33b)
If we now impose the requirement that the vector p be normal to e

and obtain
the dot product of the preceding equation with e

, we have
d e

= [I R] p e

+

2
e

p =

2
p. (3.34)
Hence,
p =
2 (d e

(3.35)
and
d = [I R] p +(d e

) e

. (3.36)
3.3 General Motions of Rigid Frames in Three Dimensions: Frames with Pose 69
This is a set of homogeneous equations for the vector p that is given as the
solution of
[I R] p = d (d e

) e

. (3.37)
Thus it is always possible to nd the vector p and the pitch of the screw motion
that will render a homogeneous transformation equivalent to a screw motion about
some axis in space. Any general rigid body motion may therefore be represented
as a spatial screw displacement. The vector p, which is assumed to be normal to e

,
denes the axis of the screw motion.
In a time-dependent situation it can be seen that this axis will continuously
change with time. However, at every instant there is an equivalent axis of rotation
that renders a general homogeneous transformation equivalent to a screw motion
about that axis. It follows from the preceding analysis that, when the pitch of the
screw is xed and the axis of the screw motion is known a priori or is xed, just
four parameters are adequate to parameterize the transformation. This is the basis
for the DH decomposition. It is also apparent from the preceding analysis that the
general three-dimensional representation of the axis of the screw motion is critical
to the parameterization of the general transformation of a set of reference axes.
Several alternative representations, notably the dual quaternion and Pl ucker
coordinates and their associated algebras, have been put forward with a view to
obtaining an ideal representation of a general rigid body spatial screw displacement.
A discussion of these alternative representations is well beyond the scope of this
chapter, and the reader is referred to the more advanced texts referenced in the
bibliography.
3.3.3 A Screw from a Twist
Given a directional unit vector of a rotational axis, w = [w
1
w
2
w
3
]
T
, with an
associated rotation of magnitude and a general positional vector u = [u
1
u
2
u
3
]
T
, the twist coordinates are dened by the vector [u
T
w
T
]
T
. A twist is dened
as a rotation about an axis and a translation along the same axis by an amount equal
to the product of the pitch and the angle of rotation. The twist may also be expressed
as a 4 4 matrix:
s =

w u
0 0

, (3.38)
where
w =

0 w
z
w
y
w
z
0 w
x
w
y
w
x
0

.
An interesting feature of the twist that we shall state without proof is that
exp ( s) =

E A
0 1

, (3.39)
70 Homogeneous Transformations and Screw Motions
where
E = exp ( w) = I + wsin() + w
2
[1 cos ()] ,
A = I + w[1 cos ()] + w
2
[ sin()] .
Thus exp ( s) may be interpreted as a screw motion. This is an important result,
and as a consequence it follows that every homogeneous transformation may be
expressed as the exponential of the twist. Because a general homogeneous transfor-
mation is decomposed into a product of component homogeneous transformations,
a general homogeneous transformation may be expressed as a product of exponen-
tials. This leads to an alternative and useful representation of the time-dependent
homogeneous transformations.
EXERCISES
3.1. A homogeneous transform is given as
T =

3
2

1
2
0 11
1
2

3
2
0 1
0 0 1 9
0 0 0 1

.
A vector given by [1 3 2]
T
is transformed by this transformation. Find the
transformed vector.
3.2. Find the result of a homogeneous transformation acting on a vector [a b c]
T
and dened by
(a) a rotation of the frame by 90

about the z axis, followed by


(b) a rotation of the frame by 90

about the x axis, followed by


(c) a translation of the frame by a displacement vector given by [d e f ]
T
.
Hence show that when [d e f ]
T
= [b c a] the result is the null
vector.
3.3. Find the origin and coordinate directions of a frame resulting from a rotation
of 90

about the z axis, followed by a displacement of [1 7 3]


T
. Hence nd the
position, in the original frame, of the vector [3 8 1]
T
, dened in the resulting
frame.
3.4. Obtain a homogeneous transformation acting on a vector and dened by
(a) a rotation of the frame by 90

about the z axis, followed by


(b) a rotation of the frame by 90

about the x axis, followed by


(c) a translation of the frame by a displacement vector given by [6 8 7]
T
.
Exercises 3.13.8 71
Compare the result with another homogeneous transformation dened by
(a) a translation of the frame by a displacement vector given by [6 8 7]
T
,
followed by
(b) a rotation of the frame by 90

about the z axis, followed by


(c) a rotation of the frame by 90

about the x axis.


3.5. Which of the following matrices represents a homogeneous transformation?

0 0 1 0
1 0 0 1
0 1 0 3
1 0 0 1

0 0 1 0
1 0 0 1
0 1 0 3
0 0 0 1

0 0 1 0
2 0 0 1
0 1 0 3
0 0 0 1

0 0 1 0
1 0 0 1
0 1 0 3
0 0 0 0

.
3.6. Find the inverse of the homogeneous transformation

0 1 0 2
0 0 1 1
1 0 0 3
0 0 0 1

.
3.7. A part is located relative to the base frame with its location dened by the
homogeneous transform,
T
PB
=

0 1 0 5
0 0 1 2
1 0 0 1
0 0 0 1

.
Arobot end-effector is parked at a point dened by the homogeneous transform
T
EB
=

1 0 0 1
0 1 0 11
0 0 1 7
0 0 0 1

.
It is desired to move the end-effector and colocate and align it with the part.
Determine the transformation that must be applied to the end-effector.
3.8. The parameters for a two-link serial manipulator are given in Table 3.1.
Assume that the end of link 1 is coincident with the start of link 2. Employ
the DH decomposition and determine a homogeneous transformation relating the
position at the end of link 2 to that at the start of link 1.
Table 3.1. DH parameters for two-link
serial manipulator
Link No. a
i

i
d
i

i
1 L 0 0
1
2 L 0 0
2
72 Homogeneous Transformations and Screw Motions
Table 3.2. DH parameters for a three-link
spherical wrist
Link No. a
i

i
d
i

i
4 0 90

0
4
5 0 90

0
5
6 0 0 d
6

6
3.9. The parameters for a three-link spherical wrist are given in Table 3.2, where it
is assumed that the links are serially connected. Employ the DH decomposition to
determine a homogeneous transformation relating the position at the end wrist to
that at the start of link 4.
3.10. The Euler angle is obtained from the matrix T that transforms a vector in the
reference inertial coordinate system to representations in the body-xed coordinate
system by the following relation:
cos () = [trace (T) 1]/2,
and the Euler axis is dened by
e
1
= (T
23
T
32
)/(2s), e
2
= (T
31
T
13
)/(2s) and e
3
= (T
12
T
21
)/(2s),
where s = sin.
A rigid body transformation transforms the three points (0, 0, 0), (1, 0, 0), and
(0, 1, 0) to the points (1, 1, 1), (1, 0, 1), and (0, 1, 1), respectively. Determine the
4 4 homogeneous transformation corresponding to these initial and transformed
points and the axis and pitch of the transformation.
3.11. Find the axis of the composite rotation of a rigid body, rotated by 90

about
the x axis followed by a 90

rotation about the y axis.


State the most general three-dimensional homogeneous transformation repre-
senting a screw motion with the same rotation angle and axis.
3.12. Find the axis and pitch of the following homogeneous transformation:
T =
1
12

2 +3

6 6

2 3

6 6 2
6

2 3

6 6

2 +3

6 6 10
6 6 6

6 12

2 6

6
0 0 0 12

.
3.13. Given that P
1
is a quadratic matrix polynomial in w, with,
w =

0 w
z
w
y
w
z
0 w
x
w
y
w
x
0

, P
1
= I
1
2
w + w
2

1
[1 +cos ()]
2 sin()

2
,
Exercises 3.93.13 73
show that
log

R d
0 1

log R P
1
d
0 0

,
where
log R =

2 sin

RR
T

, trace (R) = 1 +2 cos and

log R

2
=
2
.
4
Direct Kinematics of Serial Robot
Manipulators
4.1 Denition of Direct or Forward Kinematics
Kinematics is the study of the motion attributes of a collection of bodies without
any reference to the forces or moments that may have caused it. In the context of
robotics in general and robot manipulators in particular, it is the geometry of the
mechanism that plays a pivotal role in the determination of the kinematics and the
associated kinematic relations. Of primary importance are the relations expressing
the position and orientation coordinates of the end-effector in terms of the DOFs
at each joint. The objective is to establish parameters characterizing each link in a
general coordinate system for satisfying the kinematic requirements of a manipula-
tor. To nd the location of the end-effector, only the DOFs at the joints, the joint
variables, are given, and the problem is to express the position and orientation of
the end-effector, the pose of the end-effector, in terms of the given variables. This
is the direct or forward kinematics problem. For serial manipulators the direct kine-
matics is a unique relation, i.e., the location of the end-effector may be uniquely
represented in terms of the joint variables.
Although the joint variables may be dened in an arbitrary fashion, a method of
frame assignment proposed by Denavit and Hartenberg has emerged as a standard.
The advantage of this systematic labeling of joint variables is that the associated
homogeneous transformations may be decomposed into a product form that was
discussed in the last chapter.
4.2 The DenavitHartenberg Convention
Robot manipulators are mechanisms involving a sequence of links connected
together at the joints. To analyze the motion of each link in such manipulators, suc-
cessive reference frames are attached, starting with a frame F
o
, to the rst link that
is chosen to be a xed link and followed by the frames F
i
, i = 1, 2, 3, . . . , n, attached
to the consecutively connected links, all the way to the robot end-effector. The
transformations relating consecutive frames may then be expressed as homogeneous
transformations. To completely realize the advantages of the DH decomposition of
74
4.2 The DenavitHartenberg Convention 75
d
a
Z
i
Z
X
i+1
i+1
i+1
i+1
i+1
i+1
X
i
common
perpendicular

Figure 4.1. The DH convention.


each of these transformations discussed in the previous chapter, the assignment of
the frames and the joint variables at each of the joints must be done in a systematic
manner. When this is done each of the transformations may be represented in terms
of the four DH parameters. However, there are certain conventions that must be
followed in this process.
Given two consecutive reference frames, F
i
= {X
i
,Y
i
, Z
i
} and F
i+1
= {X
i+1
,
Y
i+1
, Z
i+1
}, with each rigidly attached to a link in a mechanism, frame F
i+1
will be
uniquely determined from frame F
i
in terms of the parameters the four parameters
d
i +1
,a
i +1
,
i +1
, and
i +1
, illustrated in Figure 4.1.
The four parameters a
i
,
i
, d
i
, and
i
in the transformation are given the names
link length, link twist, link offset, and joint angle, respectively.
There is one main rule that must be adhered to in the process of frame assign-
ment:
The Z axis of a frame is always aligned with a joint axis unless the link does not have
one nullary link.
The four parameters may then be dened in a systematic manner as indicated
in what follows:
1. The parameter
i+1
is the angle about X
i+1
that axis Z
i+1
makes with axis Z
i
.
2. The common perpendicular to axes Z
i
and Z
i+1
is then established. The param-
eter a
i+1
is the length of this common perpendicular.
3. The parameter d
i+1
is the algebraic distance along axis Z
i
to the point where the
common perpendicular drawn from Z
i+1
, at its origin, intersects the axis Z
i
.
4. The parameter
i+1
is the angle about Z
i
that the common perpendicular makes
with axis X
i
.
When these rules are adhered to and the parameters are dened as previously
stated, the composite homogeneous transformation is
T
DH
= T
n,n+1
T
i,i +1
T
i 1,i
T
i 2,i 1
T
1,2
=
n

i =1
T
i,i +1
, (4.1)
76 Direct Kinematics of Serial Robot Manipulators
where
T
i,i +1
=

cos
i +1
sin
i +1
0 0
sin
i+1
cos
i +1
0 0
0 0 1 0
0 0 0 1

1 0 0 0
0 1 0 0
0 0 1 d
i +1
0 0 0 1

1 0 0 a
i +1
0 1 0 0
0 0 1 0
0 0 0 1

1 0 0 0
0 cos
i +1
sin
i +1
0
0 sin
i+1
cos
i +1
0
0 0 0 1

. (4.2)
The structure of the composite homogeneous transformation is such that the
matrix product may be computed by use of custom VLSI- (very large system
integrated-) based special-purpose semiconductor array processors such as systolic
array processors. This feature has led to the adoption of the DH convention as a
standard.
The introduction of the DH parameters greatly simplies the geometric design
problem of n-DOF spatial manipulators (n < 6). Studying the geometric design
problem of spatial manipulators, one may also discover important properties of spa-
tial mechanisms in general and overconstrained spatial mechanisms in particular.
DH parameters and 4 4 homogeneous transformation matrices may be used to
obtain the relevant design equations. Additional design equations are obtained by
use of the inverse kinematics problem of general six-DOF serial link manipulators.
Then the joint variables are eliminated so that the remaining equations have only
unknowns related to the geometric design problem.
The application of the DH convention to the direct kinematic analysis of certain
generic classes of manipulators is discussed in the following sections.
4.3 Planar Anthropomorphic Manipulators
Planar anthropomorphic manipulators are a class of biomimetic manipulators based
on the human arm and involve only revolute and spherical or ball-and-socket joints.
A typical conguration is the planar open-loop chain with only revolute joints.
A two-link planar arm of this type is shown in Figure 4.2. The joint axes Z
i
are nor-
mal to the plane of the paper. The reference frames, with the rst xed to the base
and the other two xed to the links, are chosen according to the DH convention.
The link parameters are summarized in Table 4.1.
The homogeneous transformations are
T
i,i +1
=

cos
i +1
sin
i +1
0 0
sin
i+1
cos
i +1
0 0
0 0 1 0
0 0 0 1

1 0 0 a
i +1
0 1 0 0
0 0 1 0
0 0 0 1

, (4.3)
4.3 Planar Anthropomorphic Manipulators 77
X
0
Y
0
X
1
Y
1
X
2
Y
2

2
a
1
a
2
Figure 4.2. Two-link planar anthropomorphic manipu-
lator; the Z axes are all aligned normal to the plane of
the paper.
that is,
T
i,i +1
=

cos
i +1
sin
i +1
0 a
i +1
cos
i +1
sin
i+1
cos
i +1
0 a
i +1
sin
i +1
0 0 1 0
0 0 0 1

, (4.4)
where i = 0, 1. Hence it follows that the end-effector coordinates may be expressed
in terms of the base coordinates as

x
0
y
0
z
0
1

= T
0,1
T
1,2

x
2
y
2
z
2
1

c
12
s
12
0 a
2
c
12
+a
1
cos
1
s
12
c
12
0 a
2
s
12
+a
1
sin
1
0 0 1 0
0 0 0 1

x
2
y
2
z
2
1

, (4.5)
where c
12
= cos (
1
+
2
) and s
12
= sin(
1
+
2
).
The rotational part of the homogeneous transformation that may be used to
determine the orientation of the end-effector is
R =

c
12
s
12
0
s
12
c
12
0
0 0 1

. (4.6)
Table 4.1. Link parameters for the two-link
planar manipulators
Link no. a
i

i
d
i

i
1 a
1
0 0
1
2 a
2
0 0
2
78 Direct Kinematics of Serial Robot Manipulators
X
0

1
a
1
Y
0
X
1
X
2
Z
2
d
2
prismatic joint
Z
1
Figure 4.3. Two-link planar nonanthropomorphic
manipulator; the Z axes are all aligned normal to
the plane of the paper.
The origin of the end-effector in the xed base frame is

x
02
y
02
z
02
1

c
12
s
12
0 a
2
c
12
+a
1
cos
1
s
12
c
12
0 a
2
s
12
+a
1
sin
1
0 0 1 0
0 0 0 1

0
0
0
1

a
2
c
12
+a
1
cos
1
a
2
s
12
+a
1
sin
1
0
1

.
(4.7)
4.4 Planar Nonanthropomorphic Manipulators
A typical planar arm, a two-link kinematic chain that is representative of a nonan-
thropomorphic manipulator, is illustrated in Figure 4.3. The prismatic joint is such
that the second link moves in a direction normal to the axis of the rst link.
The reference frames are chosen according to the DH convention as in the
anthropomorphic example considered in the preceding section.
The link parameters are summarized in Table 4.2.
The rst homogeneous transformation is
T
0,1
=

cos
1
sin
1
0 0
sin
1
cos
1
0 0
0 0 1 0
0 0 0 1

1 0 0 a
1
0 1 0 0
0 0 1 0
0 0 0 1

1 0 0 0
0 cos
1
sin
1
0
0 sin
1
cos
1
0
0 0 0 1

.
(4.8)
Table 4.2. Link parameters for the two-link
planar manipulators
Link no. a
i

i
d
i

i
1 a
1
90

0
1
2 0 0 d
2
0
4.4 Planar Nonanthropomorphic Manipulators 79
The transformation simplies to
T
0,1
=

cos
1
sin
1
0 a
1
cos
1
sin
1
cos
1
0 a
1
sin
1
0 0 1 0
0 0 0 1

1 0 0 0
0 0 1 0
0 1 0 0
0 0 0 1

(4.9)
and is given by
T
0,1
=

cos
1
0 sin
1
a
1
cos
1
sin
1
0 cos
1
a
1
sin
1
0 1 0 0
0 0 0 1

. (4.10)
The second homogeneous transformation is
T
1,2
=

1 0 0 0
0 1 0 0
0 0 1 d
2
0 0 0 1

. (4.11)
Hence it follows that the end-effector coordinates may be expressed in terms of
the base coordinates as

x
0
y
0
z
0
1

= T
0,1
T
1,2

x
2
y
2
z
2
1

cos
1
0 sin
1
a
1
cos
1
d
2
sin
1
sin
1
0 cos
1
a
1
sin
1
+d
2
cos
1
0 1 0 0
0 0 0 1

x
2
y
2
z
2
1

.
(4.12)
The rotational part of the homogeneous transformation that may be used to
determine the orientation of the end-effector is
R =

cos
1
0 sin
1
sin
1
0 cos
1
0 1 0

. (4.13)
The origin of the end-effector in the xed base frame is

x
02
y
02
z
02
1

cos
1
0 sin
1
a
1
cos
1
d
2
sin
1
sin
1
0 cos
1
a
1
sin
1
+d
2
cos
1
0 1 0 0
0 0 0 1

0
0
0
1

f
1
(
1
, d
2
)
f
2
(
1
, d
2
)
0
1

,
(4.14)
where
f
1
(
1
, d
2
) = a
1
cos
1
d
2
sin
1
, f
2
(
1
, d
2
) = a
1
sin
1
+d
2
cos
1
.
80 Direct Kinematics of Serial Robot Manipulators
Figure 4.4. The yawpitchroll-sequence-based triple-
gimbaled support.
4.5 Kinematics of Wrists
Wrists are essentially nonplanar kinematic chains. A typical example is the spherical
wrist. There are classes of robot components associated with wrists that are of zero
link length and zero link offset. In these cases the use of the DH decomposition
is probably superuous and the rotational kinematics or the rotational component
of the homogeneous transformation may be directly established either in terms of
Euler angles or equivalently in terms of quaternions (see Appendix).
Considering the Euler angle representations of rotational kinematics, there are
two basic classes of Euler angle sequences. Examples of each of these were pre-
sented in the previous chapter. With each of these classes are associated wrist com-
ponents known as the yawpitchroll and the 3R wrists. The rotations in the two
cases are respectively given by
R
YPR
=

cos sin 0
sin cos 0
0 0 1

cos 0 sin
0 1 0
sin 0 cos

1 0 0
0 cos sin
0 sin cos

(4.15)
and
R
3R
=

cos sin 0
sin cos 0
0 0 1

cos 0 sin
0 1 0
sin 0 cos

cos sin 0
sin cos 0
0 0 1

.
(4.16)
The rst has a structure very similar to that of a platform mounted on a triple-
gimbaled support, as illustrated in Figure 4.4. The outer gimbals and the inner wheel
are rigidly attached to the input and output links.
A typical 3R wrist based on the second rotational sequence is shown in Fig-
ure 4.5. It has three co-located rotational joints, and hence it is referred to as the
3R wrist. It is a typical example of a spherical wrist. The composite homogeneous
transformation for the wrists is given by
T =

R(, e

) d
0 1

, (4.17)
where R(, e

) is equal to either R
YPR
or R
3R
and the vector d = 0.
4.6 Direct Kinematics of Two Industrial Manipulators 81
Figure 4.5. Example of a 3R wrist.
4.6 Direct Kinematics of Two Industrial Manipulators
The Unimation PUMA 560 (Figure 1.19) is a manipulator with six rotational joints
and six corresponding DOFs. Hence it is also referred to as an R-R-R-3R mech-
anism and is shown in Figure 4.6. (The difference between the 3R joints and the
R-R-R joints is that the R-R-R joints are not colocated whereas the 3R joints are.)
Although the direct kinematics of the PUMA 560 may be obtained by adopting the
DH convention, we will demonstrate an alternative technique and consider it to be
an assemblage of two kinematic chains.
The rst chain consists of the rst three links. The second is the spherical wrist.
Associated with rst kinematic chain are ve coordinate frames, which are also
shown in Figure 4.6.
The rst is the base or xed frame, whereas the next three are xed to the links
in accordance with the DH convention. The nal frame is xed to a dummy link that
is rigidly attached to the third link but is oriented in such a way as to facilitate the
interfacing of the 3R wrist.
upper arm
lower arm
elbow
(can rotate about
a horizontal axis)
wrist
X
0
Y
1
Z
0
X
1
X
2 Y
2
X
4
, Z
5
Y
4
, X
5
Figure 4.6. The PUMA 560: The rst ve coordinate frames.
82 Direct Kinematics of Serial Robot Manipulators
Table 4.3. Link parameters for the rst three links of
the PUMA 560 manipulator
Link no. a
i

i
d
i

i
1 0 90

h
1
2 a
1
0 0
2
3 a
2
0 0
3
Dummy 0 90

0 90

The rst kinematic chain is considered, and the link parameters are given in the
Table 4.3.
The homogeneous transformation for the rst link is
T
0,1
=

cos
1
sin
1
0 0
sin
1
cos
1
0 0
0 0 1 0
0 0 0 1

1 0 0 0
0 1 0 0
0 0 1 h
0 0 0 1

1 0 0 0
0 0 1 0
0 1 0 0
0 0 0 1

,
that is,
T
0,1
=

cos
1
sin
1
0 0
sin
1
cos
1
0 0
0 0 1 h
0 0 0 1

1 0 0 0
0 0 1 0
0 1 0 0
0 0 0 1

cos
1
0 sin
1
0
sin
1
0 cos
1
0
0 1 0 h
0 0 0 1

.
(4.18)
The homogeneous transformation for the second link is
T
1,2
=

cos
2
sin
2
0 0
sin
2
cos
2
0 0
0 0 1 0
0 0 0 1

1 0 0 a
1
0 1 0 0
0 0 1 0
0 0 0 1

,
that is,
T
1,2
=

cos
2
sin
2
0 a
1
cos
2
sin
2
cos
2
0 a
1
sin
2
0 0 1 0
0 0 0 1

. (4.19)
The homogeneous transformation for the third link is
T
2,3
=

cos
3
sin
3
0 0
sin
3
cos
3
0 0
0 0 1 0
0 0 0 1

1 0 0 a
1
0 1 0 0
0 0 1 0
0 0 0 1

,
4.6 Direct Kinematics of Two Industrial Manipulators 83
that is,
T
2,3
=

cos
3
sin
3
0 a
2
cos
3
sin
3
cos
3
0 a
2
sin
3
0 0 1 0
0 0 0 1

. (4.20)
Finally, the homogeneous transformation for the dummy link is
T
3,4
=

0 1 0 0
1 0 0 0
0 0 1 0
0 0 0 1

1 0 0 0
0 0 1 0
0 1 0 0
0 0 0 1

,
that is,
T
3,4
=

0 0 1 0
1 0 0 0
0 1 0 0
0 0 0 1

. (4.21)
For this component kinematic chain, interface coordinates at the end of link 3
may be expressed in terms of the base coordinates as

x
0
y
0
z
0
1

= T
0,1
T
1,2
T
2,3
T
3,4

x
4
y
4
z
4
1

. (4.22)
For the spherical 3Rwrist, the wrist coordinates transform as

x
4
y
4
z
4
1

= T
w

x
w
y
w
z
w
1

R
3R
0
0 1

x
w
y
w
z
w
1

, (4.23)
where R
3R
is
R
3R
=

cos sin 0
sin cos 0
0 0 1

cos 0 sin
0 1 0
sin 0 cos

cos sin 0
sin cos 0
0 0 1

.
Hence it follows that

x
0
y
0
z
0
1

= T
0,1
T
1,2
T
2,3
T
3,4

R
3R
0
0 1

x
w
y
w
z
w
1

, (4.24)
which denes the complete forward kinematics of the PUMA 560. The type of
decomposition of the manipulator adopted in this case is particularly advantageous
84 Direct Kinematics of Serial Robot Manipulators
prismatic joint, offset
normal to the plane of
the paper
wrist
X
0
Z
0
X
1
X
2
Z
3
X
3
Z
2
Y
1
Figure 4.7. The Stanford R-R-P-3R
manipulator.
for solving the inverse kinematic problem, which will be studied in the next chap-
ter and is concerned with determining values for the joint variables that achieve
a desired position and orientation for the end-effector of the robot. The decom-
position is adopted when the inverse kinematics problem decouples into two inde-
pendent subproblems, one for the estimation of joint variables that inuence the
position and the other for the estimation of the orientation of the end-effector.
Unlike the PUMA 560, the wrist of the Stanford manipulator is not a spheri-
cal wrist, although it is may be approximated as one. The Stanford manipulator is
illustrated in Figure 4.7. Thus the DH procedure is much more appropriate to this
manipulator, which may be described as an R-R-P-3R manipulator.
The link parameters for the Stanford manipulator are given in Table 4.4.
The homogeneous transformation for the rst link is
T
0,1
=

cos
1
sin
1
0 0
sin
1
cos
1
0 0
0 0 1 0
0 0 0 1

1 0 0 0
0 1 0 0
0 0 1 h
0 0 0 1

1 0 0 0
0 0 1 0
0 1 0 0
0 0 0 1

,
Table 4.4. Link parameters for the links of the
Stanford manipulator
Link no. a
i

i
d
i

i
1 0 90

h
1
2 0 90

d
2

2
3 0 0 d
3
0
4 0 90

0
4
5 0 90

0
5
6 0 0

d
6

6
4.6 Direct Kinematics of Two Industrial Manipulators 85
that is,
T
0,1
=

cos
1
0 sin
1
0
sin
1
0 cos
1
0
0 1 0 h
0 0 0 1

. (4.25)
The homogeneous transformation for the second link is
T
1,2
=

cos
2
sin
2
0 0
sin
2
cos
2
0 0
0 0 1 0
0 0 0 1

1 0 0 0
0 1 0 0
0 0 1 d
2
0 0 0 1

1 0 0 0
0 0 1 0
0 1 0 0
0 0 0 1

,
that is,
T
1,2
=

cos
2
0 sin
2
0
sin
2
0 cos
2
0
0 1 0 d
2
0 0 0 1

. (4.26)
For link 3 the homogeneous transformation is
T
2,3
=

1 0 0 0
0 1 0 0
0 0 1 d
3
0 0 0 1

. (4.27)
For link 4 the homogeneous transformation is
T
3,4
=

cos
4
sin
4
0 0
sin
4
cos
4
0 0
0 0 1 0
0 0 0 1

1 0 0 0
0 0 1 0
0 1 0 0
0 0 0 1

cos
4
0 sin
4
0
sin
4
0 cos
4
0
0 1 0 0
0 0 0 1

.
(4.28)
For link 5 the homogeneous transformation is,
T
4,5
=

cos
5
sin
5
0 0
sin
5
cos
5
0 0
0 0 1 0
0 0 0 1

1 0 0 0
0 0 1 0
0 1 0 0
0 0 0 1

cos
5
0 sin
5
0
sin
5
0 cos
5
0
0 1 0 0
0 0 0 1

.
(4.29)
Finally, for link 6 the homogeneous transformation is
T
5,6
=

cos
6
sin
6
0 0
sin
6
cos
6
0 0
0 0 1 0
0 0 0 1

1 0 0 0
0 1 0 0
0 0 1 d
6
0 0 0 1

, (4.30)
86 Direct Kinematics of Serial Robot Manipulators
that is,
T
5,6
=

cos
6
sin
6
0 0
sin
6
cos
6
0 0
0 0 1 d
6
0 0 0 1

. (4.31)
Hence, for the Stanford manipulator, the end-effector coordinates may be
expressed in terms of the base coordinates as

x
0
y
0
z
0
1

= T
0,1
T
1,2
T
2,3
T
3,4
T
4,5
T
5,6

x
6
y
6
z
6
1

. (4.32)
It must be said that the DH convention does not lead to a unique parameteriza-
tion, as in the case of the Stanford manipulator.
EXERCISES
4.1. Consider the three-link planar manipulator shown in Figure 4.8. Derive the for-
ward kinematic equations by using the DH convention.
1
2
3
Figure 4.8. Three-link planar arm of Exercise 4.1.
4.2. Consider the two-link Cartesian manipulator shown in Figure 4.9. Derive the
forward kinematic equations using the DH-convention.
Figure 4.9. Two-link Cartesian manipulator of Exercise 4.2.
Exercises 4.14.6 87
4.3. Consider the two-link manipulator of Figure 4.10, which has one revolute joint
and one prismatic joint. Derive the forward kinematic equations by using the DH
convention.
Figure 4.10. Two-link manipulator of Exercise 4.3.
4.4. Consider the three-link planar manipulator shown in Figure 4.11. Derive the
forward kinematic equations by using the DH convention.
Figure 4.11. Three-link planar arm of Exercise 4.4.
4.5. Consider the slidercrank mechanism in Figure 4.12. Derive the forward kine-
matic equations by using the DH convention.
Figure 4.12. Slidercrank mechanism of Exercise 4.5.
4.6. Consider the planar manipulator shown in Figure 4.13. Assume the wrist is a
3R wrist (323 Euler angle sequence). Derive the forward kinematic equations by
using the DH convention.
Figure 4.13. Planar manipulator arm of
Exercise 4.6.
88 Direct Kinematics of Serial Robot Manipulators
4.7. Consider the SCARA manipulator discussed in Chapter 1 (Figure 1.18). Derive
the forward kinematic equations by using the DH convention.
Figure 4.14. Nonplanar manipulator arm of
Exercise 4.8.
4.8. Consider the four-link manipulator illustrated in Figure 4.14, which is attached
to capstan capable of rotating about the vertical axis. The wrist is attached to the
free end where the joint axis is perpendicular to the preceding four revolute joints.
The manipulator has six DOFs. Derive the forward kinematic equations.
5
Manipulators with Multiple Postures
and Compositions
5.1 Inverse Kinematics of Robot Manipulators
In Chapter 4 we showed how to determine the end-effector position and orienta-
tion in terms of the joint variables in a frame xed in space. This was the forward
kinematics problem, which is to determine the position and orientation of the end-
effector, given the values for the joint variables of the robot. The joint variables
are the angles between the links in the case of revolute or rotational joints, and the
extension of the links themselves or link segments in the case of prismatic or slid-
ing joints. This chapter is concerned with the inverse problem of nding the joint
variables in terms of the position and orientation of the end-effector. The inverse
problem is concerned with determining values for the joint variables that achieve a
desired position and orientation or a desired pose for the end-effector of the manip-
ulator. This is the problem of inverse kinematics of position and orientation, and it
is, in general, more difcult than the forward kinematics problem.
In this chapter, we begin by formulating the general inverse kinematics prob-
lem. In the last chapter it was shown that the end-effector coordinates may be
expressed in terms of the base coordinates in terms of a homogeneous transfor-
mation matrix given by
T
DH
= T
n,n+1
T
i,i +1
T
i 1,i
T
i 2,i 1
T
1,2
=
n

i =1
T
i,i +1
. (5.1)
In general, it is often desired that the position and orientation of the end-effector be
dened according to certain requirements, and this corresponds to a certain homo-
geneous transformation applied to the current end-effector position vector in the
end-effector xed frame. Such a homogeneous transformation may be assumed to
be given by
T
ED
=
_
R
ED
(, e

) d
ED
0 1
_
. (5.2)
89
90 Manipulators with Multiple Postures and Compositions
The inverse kinematic problem is to determine the joint variables in T
DH
such that
T
DH
= T
ED
=
_
R
ED
(, e

) d
ED
0 1
_
. (5.3)
This is equivalent to the matrixvector pair of equations,
R
DH
= R
ED
, d
DH
= d
ED
. (5.4)
In general, the rst of these, the inverse orientation equation, is equivalent to nine
scalar equations whereas the second, the inverse position vector equation, is equiva-
lent to three. However, there are only six independent equations for solving for the
six unknowns.
It has been shown that for certain kinematic congurations the inverse orienta-
tion and inverse position equation decouple and may be solved sequentially. These
kinematic congurations involve one of the following:
1. any three joints are translational,
2. any three rotational joint axes cointersecting at a common point,
3. any two translational joints normal to a rotational joint,
4. a translational joint normal to two parallel joints,
5. any three rotational joints in parallel.
Two types of decoupling may be identied. In the rst, the more common type, the
inverse position vector equation is solved rst to determine the position-related joint
variables. These are then used to solve the inverse orientation equations. Typical
examples in this category are manipulators with spherical wrists.
The second type of decoupling permits the solution of the inverse orientation
equation without any knowledge of the position-related joint variables. The solution
is then used to solve the inverse position equations.
To show this formally, the homogeneous transformation representing the direct
kinematics is assumed to be the product of two components. The rst represents the
kinematic chain leading to the wrist whereas the second represents the kinematic
chain from the wrist to the end-effector. Thus,
T
DH
=
_
R
L
d
L
0 1
_

_
R
W
d
W
0 1
_
. (5.5)
Thus the direct kinematic equations for the end-effector position in the base coor-
dinates are
_
R
L
d
L
0 1
_

_
R
W
d
W
0 1
__
0
1
_
=
_
d
ED
1
_
. (5.6)
Hence, for the position,
R
L
d
W
+d
L
= d
ED
. (5.7)
For the orientation,
R
L
R
W
= R
ED
. (5.8)
5.1 Inverse Kinematics of Robot Manipulators 91
In the case of a spherical wrist it can be shown that
R
L
d
W
= R
L
R
W
N, (5.9)
and the position equation may be expressed as
d
ED
= d
L
+R
ED
N. (5.10)
It depends on only the three joint variables not associated with the wrist and may
be solved rst, and the orientation equation, which depends on the three remaining
joint variables associated with the wrist, is solved next.
On the other hand, when
R
L
= U
L
(5.11)
is a constant matrix with a determinant equal to unity, the joint variables associated
with the wrist may be solved rst by
R
W
= U
1
L
R
ED
, (5.12)
followed by
U
L
d
W
+d
L
= d
ED
, (5.13)
to obtain the remaining joint variables.
Of the ve kinematic congurations associated with decoupling of the inverse
kinematic problem, closed-form solutions are possible only in the case of the rst
two. In solving the inverse kinematics problem one is interested, in the rst instance,
in nding a closed-form solution of the equations rather than a numerical solution.
Closed-form solutions are almost always preferable as they may be evaluated in real
time with sufcient speed and accuracy. Further, the inverse kinematic equations
in general have multiple solutions. When closed-form solutions are available, it is
possible to choose a particular solution from among several with relative ease.
5.1.1 The Nature of Inverse Kinematics: Postures
In most cases the solution of the inverse kinematic problem is based on an intuitive
approach involving the kinematic geometry of the mechanism. Generally, the prob-
lem of solving an inverse kinematic problem reduces to the algebraic or geometric
problem of solving an oblique triangle (Figure 5.1).
Associated with oblique triangles are a number of advanced trigonometric for-
mulas that are summarized in Table 5.1 and are useful in the solution of the inverse
kinematic problem. Of these, the rst two are the most commonly adopted formu-
las, and the solution for the joint angles is normally expressed as an inverse sine,
inverse cosine, or inverse tangent. However, because solutions of inverse trigono-
metric functions are nonunique, the general solutions to the inverse kinematic prob-
lems are nonunique.
A typical example illustrates the procedures involved. Consider the two-link
manipulator shown in Figure 4.2. For this simple planar anthropomorphic and
92 Manipulators with Multiple Postures and Compositions
Table 5.1. Summary of nonstandard trigonometric formulas used in the
closed-form solution of the inverse kinematics problems (other formulas
follow by cyclic letter changes, continued)
No. Name Formulas
1 Projection formulas a = bcos C +c cos B
2 Law of sines
a
sin A
=
b
sin B
=
c
sinC
3 Law of cosines a
2
= b
2
+c
2
2bc cos A
4 Mollweides formulas
a +b
c
=
cos
_
AB
2
_
sin
_
C
2
_
a b
c
=
sin
_
AB
2
_
cos
_
C
2
_
5 Law of tangents
a b
a +b
=
tan
_
AB
2
_
tan
_
A+B
2
_
6 Inscribed circle radius r
i
=
_
(s a) (s b) (s c)
s
s =
a +b +c
2
7 Half-angle formulas tan
_
A
2
_
=
r
i
s a
8 Circumscribed circle radius R
c
=
a
2 sin A
=
b
2 sin B
=
c
2 sinC
9 Area formulas (area = S) S =
bc sin A
2
S =
a
2
2
sin BsinC
sin A
S = s r
i
10 Derived formulas S = 2R
2
c
sin Asin BsinC
S =
abc
4R
c
S = r
i
R
c
(sin A+sin B+sinC)
A B
C
a
c
b
Figure 5.1. A typical oblique triangle with sides a, b, and
c, including angles A, B, and C and area S.
5.1 Inverse Kinematics of Robot Manipulators 93
Figure 5.2. Geometry of the two-link pla-
nar manipulator.
biomimetic manipulator, the end-effector coordinates were expressed in terms of
the joint angles and from Equation (4.7) we have

x
02
y
02
z
02

a
2
c
12
+a
1
cos
1
a
2
s
12
+a
1
sin
1
0

, (5.14)
where c
12
= cos (
1
+
2
) and s
12
= sin(
1
+
2
).
Although one can adopt a purely algebraic approach to solve for cos
1
and
sin
1
, an algebrogeometric approach is much more appealing. The geometry of the
two-link manipulator is illustrated in Figure 5.2.
Applying the law of cosines to the triangle OAE in Figure 5.2, we have
x
2
02
+ y
2
02
= a
2
1
+a
2
2
2a
1
a
2
cos (180

+
2
) . (5.15)
Solving for cos (
2
), we have
cos (
2
) =
x
2
02
+ y
2
02
a
2
1
a
2
2
2a
1
a
2
, (5.16a)
and sin(
2
) is
sin(
2
) =
_
1 cos (
2
)
2
. (5.16b)
The solution for sin(
2
) is not unique and there are two possible solutions for
2
.
Further,
_
x
02
y
02
_
=
_
a
2
c
12
+a
1
cos
1
a
2
s
12
+a
1
sin
1
_
, (5.17)
where c
12
= cos (
1
+
2
) and s
12
= sin(
1
+
2
) .
Thus, if we let cos (
2
) = and sin(
2
) = ,
_
x
02
y
02
_
=
_
a
1
+a
2
a
2

a
2
a
1
+a
2

__
cos
1
sin
1
_
, (5.18)
94 Manipulators with Multiple Postures and Compositions
Figure 5.3. Inverse position solutions of the
two-link planar manipulator depicting the
two possible solutions for
2
.
it follows that
_
cos
1
sin
1
_
=
_
a
1
+a
2
a
2

a
2
a
1
+a
2

_
1
_
x
02
y
02
_
. (5.19)
Corresponding to each of the solutions for
2
there is a unique solution for
1
.
For this planar manipulator there are two possible solutions for the inverse posi-
tion corresponding to two kinematic congurations that are both illustrated in Fig-
ure 5.3. These congurations are known as the postures of the manipulator; the rst
is an elbow-up conguration whereas the second is an elbow-down congura-
tion. Yet, when
2
= 0, the postures are unique and the workspace of the manipula-
tor is then obtained as a circle of radius equal to the sum of the link lengths.
Before concluding this section, we also briey address the topic of redundant
manipulators. A redundant manipulator has more joint variables than the num-
ber of DOFs necessary to specify the end-effectors pose in relation to a particu-
lar task. Thus a redundant manipulator is one that has more internal DOFs than
are required for performing a specied task. For example, a three-link planar arm
is redundant for the task of positioning in a plane. Although in such cases there is
no unique solution for the inverse kinematics problem, the availability of multiple
postures permits one to eliminate those solutions that may possess certain unde-
sirable features. One achieves this kind of elimination by imposing one of several
workspace constraints involving either the position or both the position and the
velocity.
Considering the nonanthropomorphic manipulator illustrated in Figure 4.2,
the end-effector coordinates were expressed in terms of the joint angles in Equa-
tion (4.14). From Equation (4.14),

x
02
y
02
z
02

a
1
cos
1
d
2
sin
1
a
1
sin
1
+d
2
cos
1
0

, (5.20)
5.1 Inverse Kinematics of Robot Manipulators 95
which may be expressed as

x
02
y
02
z
02

=
_
_
a
2
1
+d
2
2
_

a
1
_
_
a
2
1
+d
2
2
_
cos
1

d
2
_
_
a
2
1
+d
2
2
_
sin
1
a
1
_
_
a
2
1
+d
2
2
_
sin
1
+
d
2
_
_
a
2
1
+d
2
2
_
cos
1
0

. (5.21)
If we let
cos =
a
1
_
_
a
2
1
+d
2
2
_
, sin =
d
2
_
_
a
2
1
+d
2
2
_
, (5.22)
it follows that
x
2
02
+ y
2
02
=
_
a
2
1
+d
2
2
_
. (5.23)
The solution for the joint variables d
2
and
1
may be expressed as
d
2
=
_
x
2
02
+ y
2
02
a
2
1
, (5.24)
and

cos ( +
1
)
sin( +
1
)
0

=
1
_
_
x
2
02
+ y
2
02
_

x
02
y
02
z
02

. (5.25)
In this case also there are two sets of solutions indicating the existence of multiple
postures.
5.1.2 Some Practical Examples
For the rst example we consider the PUMA 560 (Figure 1.19). The component
kinematic chain leading to the spherical wrist, the interface coordinates at the end
of link 3, may be expressed in terms of the base coordinates as

x
0
y
0
z
0
1

= T
0,1
T
1,4

x
4
y
4
z
4
1

, (5.26)
where
T
0,1
=

cos
1
0 sin
1
0
sin
1
0 cos
1
0
0 1 0 h
0 0 0 1

, (5.27)
96 Manipulators with Multiple Postures and Compositions
T
1,4
=

s
23
0 c
23
a
2
c
23
+a
1
c
2
c
23
0 s
23
a
2
s
23
+a
1
s
2
0 1 0 0
0 0 0 1

, (5.28)
and c
i
= cos
i
, s
i
= sin
i
, c
i j
= cos (
i
+
j
) , and s
i j
= sin(
i
+
j
).
Hence the origin of the spherical wrist in the base coordinates is

x
03
y
03
z
03
1

cos
1
0 sin
1
0
sin
1
0 cos
1
0
0 1 0 h
0 0 0 1

s
23
0 c
23
a
2
c
23
+a
1
c
2
c
23
0 s
23
a
2
s
23
+a
1
s
2
0 1 0 0
0 0 0 1

0
0
0
1

.
(5.29)
Hence,

x
03
y
03
z
03
1

(a
2
c
23
+a
1
c
2
) c
1
(a
2
c
23
+a
1
c
2
) s
1
a
2
s
23
+a
1
s
2
+h
1

. (5.30)
They may be expressed as

x
03
_
x
2
03
+ y
2
03
y
03
_
x
2
03
+ y
2
03
_
x
2
03
+ y
2
03
z
03

c
1
s
1
a
2
c
23
+a
1
c
2
a
2
s
23
+a
1
s
2
+h

. (5.31)
These are the inverse position equations that must be solved for the rst three joint
variables,
1
,
2
, and
3
. The last two of these equations are similar to the equations
for a planar two-link manipulator, which one can solve quite easily by using the law
of cosines. The inverse orientation equations for the last three joint variables are
R
3R
=

s
23
0 c
23
c
23
0 s
23
0 1 0

cos
1
0 sin
1
sin
1
0 cos
1
0 1 0

1
R
ED
, (5.32)
where R
3R
is
R
3R
=

cos sin 0
sin cos 0
0 0 1

cos 0 sin
0 1 0
sin 0 cos

cos sin 0
sin cos 0
0 0 1

. (5.33)
The inverse orientation equations are solved by the methods introduced in Chap-
ter 2, i.e., by expressing both sides in terms of the equivalent quaternion represen-
tations.
5.1 Inverse Kinematics of Robot Manipulators 97
Another interesting and generic example is the Stanford manipulator intro-
duced in Chapter 4 and illustrated in Figure 4.7. For the Stanford manipulator, the
end-effector coordinates may be expressed in terms of the base coordinates as

x
0
y
0
z
0
1

= T
0,1
T
1,2
T
2,3
T
3,4
T
4,5
T
5,6

x
6
y
6
z
6
1

= T
0,3
T
3,6

x
6
y
6
z
6
1

, (5.34)
where
T
0,3
=

c
1
c
2
s
1
c
1
s
2
d
2
s
1
d
3
s
2
c
1
s
1
c
2
c
1
s
1
s
2
d
2
c
1
+d
3
s
1
s
2
s
2
0 c
2
d
3
c
2
+h
0 0 0 1

, (5.35)
T
3,6
=

c
4
0 s
4
0
s
4
0 c
4
0
0 1 0 0
0 0 0 1

c
5
0 s
5
0
s
5
0 c
5
0
0 1 0 0
0 0 0 1

c
6
s
6
0 0
s
6
c
6
0 0
0 0 1 d
6
0 0 0 1

, (5.36)
and c
i
= cos
i
and s
i
= sin
i
.
It follows that the origin of the end-effector in the base coordinates is

x
06
y
06
z
06
1

c
1
c
2
s
1
c
1
s
2
d
2
s
1
d
3
s
2
c
1
s
1
c
2
c
1
s
1
s
2
d
2
c
1
+d
3
s
1
s
2
s
2
0 c
2
d
3
c
2
+h
0 0 0 1

d
6
c
4
s
5
d
6
s
4
s
5
d
6
c
5
1

, (5.37)
where the right-hand vector

d
6
c
4
s
5
d
6
s
4
s
5
d
6
c
5
1

= T
3,4
_
0
1
_
=

c
4
0 s
4
0
s
4
0 c
4
0
0 1 0 0
0 0 0 1

c
5
0 s
5
0
s
5
0 c
5
0
0 1 0 0
0 0 0 1

c
6
s
6
0 0
s
6
c
6
0 0
0 0 1 d
6
0 0 0 1

0
0
0
1

.
Hence,

x
06
y
06
z
06

= d
6

c
1
c
2
s
1
c
1
s
2
s
1
c
2
c
1
s
1
s
2
s
2
0 c
2

c
4
s
5
s
4
s
5
c
5

d
2
s
1
d
3
s
2
c
1
d
2
c
1
+d
3
s
1
s
2
h +d
3
c
2

. (5.38)
These are the inverse position equations that must be solved for the rst three joint
variables,
1
,
2
, and d
3
. However, they cannot be solved unless the orientation
98 Manipulators with Multiple Postures and Compositions
equations are solved rst as the right-hand side of these equations is a function of
c
4
, s
4
, c
5
, and s
5
. The inverse orientation equations for the last three joint variables
are again

c
1
c
2
s
1
c
1
s
2
s
1
c
2
c
1
s
1
s
2
s
2
0 c
2

R
3RDH
= R
ED
, (5.39)
where
R
3RDH
=

c
4
0 s
4
s
4
0 c
4
0 1 0

c
5
0 s
5
s
5
0 c
5
0 1 0

c
6
s
6
0
s
6
c
6
0
0 0 1

,
which reduces to
R
3RDH
=

c
4
c
5
s
4
c
4
s
5
s
4
c
5
c
4
s
4
s
5
s
5
0 c
5

c
6
0 s
6
s
6
0 c
6
0 1 0

and R
ED
is the desired orientation transformation matrix.
Thus,

c
1
c
2
s
1
c
1
s
2
s
1
c
2
c
1
s
1
s
2
s
2
0 c
2

c
4
c
5
s
4
c
4
s
5
s
4
c
5
c
4
s
4
s
5
s
5
0 c
5

= R
ED

c
6
s
6
0
0 0 1
s
6
c
6
0

, (5.40)
and it follows that

c
1
c
2
s
1
c
1
s
2
s
1
c
2
c
1
s
1
s
2
s
2
0 c
2

c
4
s
5
s
4
s
5
c
5

= R
ED

0
1
0

. (5.41)
In this case, the preceding subset of the inverse orientation equations are used to
eliminate c
4
, s
4
, c
5
, and s
5
in the inverse position equations. Thus the inverse position
equations are

x
06
y
06
z
06

= d
6
R
ED

0
1
0

d
2
s
1
d
3
s
2
c
1
d
2
c
1
+d
3
s
1
s
2
h +d
3
c
2

. (5.42)
The inverse position may be solved for the rst three joint variables,
1
,
2
, and d
3
.
Subsequently the inverse orientation equations are solved for the wrist joint vari-
ables.
These examples demonstrate the importance of kinematic decoupling in the
determination of the joint variables by solving the inverse kinematics equations.
They also demonstrate a number of unique features of manipulator systems. The
analyses presented in this and the preceding chapter involve a number of generic
5.2 Parallel Manipulators: Compositions 99
steps. Starting from a description of an open-loop kinematic chain in terms of its
link components, kinematic pairs, linkpair connections, and driving constraints, the
mechanisms are decomposed into single components. For each component a unique
reference frame is set up, and the transformation relating the displacement vector
of each to another connected component is established. Based on the connectivity
criteria and the associated invariant geometric properties, a mathematical model for
determining the positions of the mechanism joints and links is established. It is the
basis for the DH convention. The model naturally leads to the direct kinematics, and
it involves writing and solving a simultaneous set of nonlinear congruence relations
in terms of body positions, orientations, and driving constraints. The inverse kine-
matics involves the solution or inversion of these equations. However, the general
inversion of these equations is almost never attempted.
The two industrial manipulator examples considered also suggest that, even at
the design stage, by specic choice of the open-loop architecture, the synthesis and
hence the analysis problems are simplied. Several open-loop kinematic mecha-
nisms of any complexity are obtained by sequential addition of certain open-loop
determined chains. In an open loop-kinematic chain, the position and orientation
of any kinematic element are independent of the positions and orientations of all
successively added elements. It is this feature that is fully exploited in the analysis
of the direct kinematics and the solution of the inverse kinematic problems. Thus,
whereas the establishment of direct kinematics requires a complete decomposition
of the entire mechanism into constituent elements, inverse kinematics is derived by
successive partial assembly of some of the elements of the mechanism followed by
compilation of the subassemblies. Thus the process of deriving direct and inverse
kinematics is not purely mathematical but relies on the physical decomposition and
assembly of the kinematic chains.
5.2 Parallel Manipulators: Compositions
The problem of positioning and orienting a rigid body in spatial motion can be
accomplished by means of open- and closed-loop kinematic chains, referred to as
serial and parallel manipulators, respectively. Serial manipulators are open chains
with all joints or kinematic pairs actively controlled, whereas parallel manipulators
consist of one or more closed loops with only some pairs actuated. The direct kine-
matic analysis of parallel mechanisms aims to estimate the position and orientation
of an output link or platform with a given set of actuator displacements. This is
a difcult problem in general as several nonlinear equations are involved and the
solutions are not unique.
In a parallel manipulator of the type shown in Figure 5.4, the calculation of
inverse kinematics is relatively simpler than in serial manipulators. However, invert-
ing the inverse kinematics to reconstruct the forward or direct kinematics even in
this simple mechanism involves the solution of coupled nonlinear equations with
nonunique solutions and is a relatively lengthy process. To illustrate these features,
we consider a simple planar parallel manipulator, shown in Figure 5.4.
100 Manipulators with Multiple Postures and Compositions
P
1
P
2
B
1
B
2
L
11
L
12
L
22
Figure 5.4. Two-dimensional parallel manipulator and its representation in a vector dia-
gram.
Considering the vector diagram representing the planar manipulator, the
lengths of the linearly actuated legs may be expressed as
|B
i
P
j
| = |L
i j
| = L
i j
. (5.43)
Hence it follows that
(B
i
P
j
) (B
i
P
j
) = |L
i j
|
2
. (5.44)
Expanding the preceding vector equation and writing it in terms of the scalar com-
ponents of each of the vectors,
B
i
= b
i x
i +b
i y
j, P
i
= p
i x
i + p
i y
j, (5.45)
we have
(b
i x
p
j x
)
2
+(b
i y
p
j y
)
2
= |L
i j
|
2
. (5.46)
Further, we assume that the platform length is
(p
1x
p
2x
)
2
+(p
1y
p
2y
)
2
= p
2
. (5.47)
To simplify the equations the origin is assumed to be at B
1
. Hence,
b
2
i x
+b
2
i y
+ p
2
j x
+ p
2
j y
2b
i x
p
j x
2b
i y
p
j y
= L
2
i j
. (5.48)
Assuming i = 1 and j = 1,
p
2
1x
+ p
2
1y
= L
2
11
. (5.49a)
Assuming i = 1, 2 and j = 2,
p
2
2x
+ p
2
2y
2b
1x
p
2x
2b
1y
p
2y
= L
2
12
, (5.49b)
b
2
2x
+b
2
2y
+ p
2
2x
+ p
2
2y
2b
2x
p
2x
2b
2y
p
2y
= L
2
22
. (5.49c)
The equations for L
11
, L
12
, and L
22
are the primary inverse kinematic relations.
5.2 Parallel Manipulators: Compositions 101
Subtracting the second of the preceding pair of equations from the rst and
rearranging, we obtain
(b
1x
b
2x
) p
2x
+(b
1y
b
2y
) p
2y
=
1
2
_
L
2
22
L
2
12
b
2
2x
b
2
2y
_
.
Assuming the base to be level, and b
2x
= b,
p
2x
=
1
2b
_
L
2
22
L
2
12
b
2
2x
_
(5.50a)
and
p
2
2y
= L
2
22
(p
2x
b)
2
. (5.50b)
Assuming i = 1 and j = 1, 2, and subtracting the second from the rst and rear-
ranging the terms, we have
p
1x
p
2x
+ p
1y
p
2y
=
1
2
_
L
2
11
L
2
12
p
2
_
.
The four equations to solve for the position of the platform points are
p
2x
=
1
2b
_
L
2
22
L
2
12
b
2
2x
_
,
p
2
2y
= L
2
22
(p
2x
b)
2
,
(5.51)
p
2
1x
+ p
2
1y
= L
2
11
,
p
1x
p
2x
+ p
1y
p
2y
=
1
2
_
L
2
11
L
2
12
p
2
_
.
Because of the quadratic nature of these equations, there are two solutions for p
2y
and a further pair of solutions for p
1x
and p
1y
corresponding to each. These corre-
spond to four different platform congurations.
Such multiple congurations corresponding to the same inverse kinematics
are generally referred to as compositions. The compositions of the planar parallel
manipulator in Figure 5.4 are shown in Figure 5.5. It is quite obvious that the situ-
ation is not unexpected, considering that these congurations may be generated by
the application of certain symmetry transformations to the original congurations.
5.2.1 Parallel Spatial Manipulators: The Stewart Platform
Parallel spatial manipulators have the capacity to handle higher loads with greater
accuracy, higher speeds, and lighter weight; however, a major drawback is that the
workspace of parallel spatial manipulators is severely restricted compared with that
of equivalent serial manipulators. Parallel spatial manipulators are used not only
in expensive ight simulators but also as machining tools and are used in high-
accuracy, high-repeatability, high-precision robotic surgery. The main advantages
102 Manipulators with Multiple Postures and Compositions
Figure 5.5. Compositions of the manipulator in Figure 5.4.
of parallel manipulators are the high nominal load/weight ratio and the high posi-
tioning accuracy that is due to their inherent rigidity.
The Stewart platform is a typical example of a parallel spatial manipulator. It is
used extensively in the design of ight simulator motion systems. Compositions and
inversions of the Stewart platform have also been used to develop a range of mea-
surement and instrumentation application platforms. In the general Stewart plat-
form, the base and the platform can be of any shape as long as the entire structure
remains stable. Astructure with regular hexagons for both the base and the platform
is an example of an unstable conguration.
A six-DOF parallel spatial manipulator generally consists of a moving platform
connected by six links or legs to a xed base. The legs are connected to the base
and platform by either ball joints and/or universal (Hooke) joints. Most commonly,
the joints are xed on both the platform and the base. They are linked to each other
respectively by kinematic links of variable length. Changing the link lengths controls
the position and orientation of the platform. Thus, by changing the lengths of the
legs, the pose of the platform can be changed with respect to the base, thus causing
the relative motion of the platform.
The inverse kinematics problem of the Stewart platform deals with calculating
the leg lengths when the pose is given. In effect, it is a transformation relating the
global pose to local actuator lengths. The inverse kinematics of parallel manipula-
tors is almost straightforward. The equations for the lengths of the variable links,
which are the joint variables, can very easily be expressed in terms of the position
5.2 Parallel Manipulators: Compositions 103
P
A B
C
L
1
L
2
L
3
Figure 5.6. Denition of triangular coordinates.
coordinates of the points where the joints are xed to the platform and to the base.
However, in their most general form, the equations for the lengths of the variable
links are quadratic and are in the form
l
2
PB
= (x
P
x
B
)
2
+(y
P
y
B
)
2
+(z
P
z
B
)
2
, (5.52)
where P is a point on the platform and B is a point on the base where the joints
are located and the coordinates are in terms of a reference frame xed in the base.
Although these could, in principle, be solved for the platform coordinates, x
P
, y
P
,
and z
P
, or the direct kinematics by use of spherical trigonometric relations, they
are quite difcult to solve in practice. Apart from the use of advanced kinematic
representations such as dual quaternions and Pl ucker coordinates referred to earlier
in Subsection 3.3.2, there are a number of other practical approaches for simplifying
the solution of the direct kinematics problem.
Generally these approaches dene the platform position and orientation, with-
out the use of any angles, in terms of the position of three xed points on the plat-
form forming a triangle. Given the distances of any point in space from each of
the vertices of the triangle, the coordinates of the point may be found exactly and
uniquely. The three xed points on the platform are chosen such that the points
on the platform where the joints are located are within this triangle. The coordi-
nates of the points on the platform where the joints are located may be conveniently
expressed as linear relations in terms of the so-called triangular coordinates or area
coordinates.
Referring to Figure 5.6 we see that these are dened by the three co-
ordinates, L
1
, L
2
, and L
3
of point P:
L
1
(P) =
area PBC
area ABC
, L
2
(P) =
area PCA
area ABC
, L
3
(P) =
area PAB
area ABC
. (5.53)
Because there are only two coordinates for point P, there is an implicit relation
satised by the three coordinates L
1
, L
2
, and L
3
of point P, given by
L
1
+ L
2
+ L
3
= 1. (5.54)
Using (5.54) as a constraint equation, one may eliminate L
3
or any of the other two
triangular coordinates, in principle.
104 Manipulators with Multiple Postures and Compositions
The Cartesian coordinates of point P in the plane of the platform, in a coordi-
nate system xed in the base, are given by the linear interpolation relations as
x
P
= x
A
L
1
+ x
B
L
2
+ x
C
L
3
,
y
P
= y
A
L
1
+ y
B
L
2
+ y
C
L
3
, (5.55)
z
P
= z
A
L
1
+ z
B
L
2
+ z
C
L
3
.
The inverse relations may be found by inverting these equations. Thus,

L
1
L
2
L
3

x
A
x
B
x
C
y
A
y
B
y
C
z
A
z
B
z
C

x
P
y
P
z
P

. (5.56)
The point P must satisfy the constraint that it lie in the same plane as points A, B,
and C. This may be expressed in determinant form as

x
P
x
A
x
B
x
C
y
P
y
A
y
B
y
C
z
P
z
A
z
B
z
C
1 1 1 1

= 0. (5.57)
This constraint reduces to the implicit relation that the three area coordinates must
satisfy. For an initial choice of point P, selected relative to points A, B, and C, the
three area coordinates L
1
, L
2
, and L
3
of point P may be computed. They depend
on the geometry of only the initial conguration and the relative location of P with
reference to the three points A, B, and C. They are not affected by the subsequent
translation and rotation of the plane containing the four points, P, A, B, and C.
For a parallel spatial manipulator, it is therefore possible to express the coor-
dinates of the six points, P
i
, i = 1, 2, . . . , 6, on the platform where the joints are
located, as linear interpolation relations in terms of the coordinates of the three
xed reference points, R
i
, i = 1, 2, 3, on the platform forming a triangle, as illus-
trated in Figure 5.7. Moreover, the six points, P
i
, i = 1, 2, . . . , 6, also lie on a circle.
The coordinates of the vertices of the triangle also generate three constraint equa-
tions because the sides of this triangle are constants. Thus, when appended to the
inverse kinematic relations for the lengths of the variable links, there are in general
nine quadratic equations that must solved for the nine coordinates dening the plat-
forms position and orientation in terms of the coordinates on the three points on the
platform.
In principle, nine quadratic equations for the nine coordinates are also solvable
by the Lyapunov approach discussed in Subsection 7.3.2. However, there is some
exibility in the choice of the xed points, which could be located arbitrarily to
facilitate a recursive minimum-time solution. Specic choices for the location of the
three points, while sacricing the generality of the method, facilitate a minimum-
time solution of the direct kinematics problem. Once these points are determined,
the relative position and orientation of the platform may be estimated from the
5.3 Workspace of a Manipulator 105
P
1
P
2
P
3
P
4
P
5
P
6
R
1
R
2
R
3
Figure 5.7. Diagram showing a typical example of the Stewart platforms joint locations rela-
tive to three xed points in the platform frame.
initial and time-dependent estimates of the three coordinates of points. Thus the
direct kinematics of the platformin terms of the translation and rotation coordinates
of the center of mass of the platform may be estimated, in principle.
5.3 Workspace of a Manipulator
The workspace is dened as the space enclosing the entire set of points representing
the maximum extent or reach of the robot end-effector in all three spatial directions.
The workspace of a manipulator is also dened as the total volume swept out by
the end-effector as the manipulator executes all possible motions. The workspace
describes the working volume of the manipulator. It denes what positions the
manipulator can and cannot reach in space, with the former being included within
the workspace boundary.
The workspace is often broken down into a reachable workspace and a dex-
terous workspace. The reachable workspace is the entire set of points reachable by
the manipulator, whereas the dexterous workspace consists of those points that the
manipulator can reach with an arbitrary orientation of the end-effector. The reach-
able workspace describes the volume in space within which the manipulator end-
effectors tool center point (TCP) can reach. The dexterous workspace is a subset of
the reachable workspace based on both the position and orientation reachability of
the end-effector. That is, at each point in the dexterous workspace, the end-effector
can be arbitrarily oriented. Therefore the dexterous workspace is a subset of the
reachable workspace.
The size and shape of the workspace depend on the coordinate geometry of
the manipulator arm and also on the number of DOFs. Some workspaces are at
and conned almost entirely to one horizontal plane, whereas others are cylindrical;
106 Manipulators with Multiple Postures and Compositions
still others are spherical. Some workspaces have very complicated shapes. The size
and shape of the workspace are therefore the primary design criteria, particularly
in the selection of the basic architecture of a parallel manipulator. The choice of
the manipulator architecture and manipulator arm must be such that its workspace
matches the desired workspace, both in terms of its extent and shape, as well as
provide adequate DOFs within it. The load-bearing capacity is then used to size the
entire manipulator and, together with the desired speed of response, an appropri-
ate drive system, including an actuator, is selected to complete the design of the
manipulator mechanism.
For practical considerations the workspace is limited or restricted by limiting
devices that establish limits that will not be exceeded in the event of any foreseeable
failure of the manipulator. The maximum distance that the robot can travel after the
limiting device is activated is used as the basis for dening the restricted workspace.
It is a subspace of the theoretical reachable workspace. However, for all theoretical
purposes the space requirement of a mechanism is considered the reachable or total
workspace, which species the space that is reachable by the TCP of the end-effector
of a mechanical manipulator.
Similar to approaches in the analysis of inverse position kinematics, the investi-
gation of workspaces is based on invoking special properties of mechanical manip-
ulators. Frequently, additional assumptions are made about the DOFs or about the
type of joints. The geometric shape of the parts is neglected in almost all cases.
The reachable workspace of the TCP is the union of all reachable workspaces when
the mechanism adopts any of the allowable postures. Further, as the coordinates
of the TCP are determined by an inverse nonlinear transformation, the reachable
workspace may also be dened as the range space of all points traversed in the
vicinity of singular points; that is, points where some of the joint variables are a
maximum that correspond to points where the corresponding joint velocities are
zero.
Kinematic singularities of robotic manipulators correspond to regions in the
manipulators workspace where execution of a prescribed spatial motion may lead
to extreme values of the joint variables, their velocities, accelerations, and higher
time derivatives. Typically a kinematic conguration is the combined set of posi-
tions and orientations of all physical links in the manipulator at any particular
instant in time. A singular conguration is one in which the complete instantaneous
motion of the mechanism (all joint velocities) cannot be determined. In particu-
lar, for revolute-jointed serial robots, the outer workspace boundary usually corre-
sponds to a singular conguration, making it quite difcult to perform tasks there.
This boundary singularity reduces the usable workspace of the manipulator and is
particularly evident to users of telerobotic manipulators.
The determination of the outer workspace boundary must involve considera-
tions of the joint variable velocities and hence can be considered only in conjunc-
tion with inverse velocity kinematics, which is dealt with in a later chapter. There
exist a number of heuristic methods of determining feasible workspace boundaries
Exercise 5.1 107
that may be analyzed to determine whether the points interior to the boundary are
reachable. Although it is well nigh impossible to describe the whole range of heuris-
tic methods that have been developed for this purpose, the basis of these heuristic
methods is briey presented. To determine the workspace of a typical manipula-
tor such as a parallel manipulator, a computer program that uses a heuristic Monte
Carlo method to calculate the volume of the workspace and condition number at
different positions of the moving platform may be used. A box is dened and 10
6
or
more points are randomly chosen inside the box. At each of these points the lengths
of the legs are calculated and veried if they are inside the minimum and maximum
imposed limits. For all the points inside the workspace of the parallel platform, the
joint angles are veried to be between predened limits. If this condition is satis-
ed the condition number of the Jacobian is determined. The condition number is
dened as the ratio between the biggest and smallest eigenvalues of the manipula-
tors Jacobian matrix. The workspace volume is then estimated.
To determine the workspace boundary of the manipulator one may begin with
a known point, the rst critical point, on the workspace boundary. This could be
a point of maximum reach with all constraints on the joints satised and one or
more of the joints at their limits. Several feasible workspace boundary segments
are then generated. One does this by varying a minimum number of joints at one
time and tracing the path of the end-effector, while ensuring that the generated
segment is not within the partially known workspace boundary. After a sufciently
large number of candidate boundary segments have been generated, additional crit-
ical points on the workspace boundary are identied. Any candidate critical points
within the workspace boundary are discarded. One then generates new families of
feasible boundary segments by tracing the envelopes of several critical points and by
using the process of identifying further critical points. This process of envelope gen-
eration is repeated until the entire workspace boundary is effectively determined.
EXERCISES
5.1. In the Stanford manipulator considered earlier in this chapter, the kinematics
of the orientation of the spherical wrist is expressed in terms of the three DH angle
variables and the rotation matrix is expressed as
R
3RDH
=

c
4
0 s
4
s
4
0 c
4
0 1 0

c
5
0 s
5
s
5
0 c
5
0 1 0

c
6
s
6
0
s
6
c
6
0
0 0 1

where c
i
= cos
i
and s
i
= sin
i
.
Determine equivalence relations relating the joint angles
i
to the components
of a quaternion representing the orientation of the wrist. Also obtain formulas for
the joint angles in terms of the quaternion components.
108 Manipulators with Multiple Postures and Compositions
5.2. Reconsider Exercises 4.14.6 and derive the equivalent inverse kinematic equa-
tions in each case.
5.3. Consider the cable-stayed square planar platform, ABCD, of side a illustrated
in Figure 5.8. The cable lengths may be altered to position the platform at any loca-
tion within the square of side L and with any desired rotation in the plane.
A
B
C
D
x
y
L
A
L
B
L
C
L
D
O
P
Figure 5.8. Cable-stayed planar platform.
Derive the direct and inverse kinematic equations. Comment on the composi-
tions, if any, of the platform.
5.4. (a) Consider the triangular planar platform of side a illustrated in Figure 5.9.
The link lengths may be altered to position the platform at any location
within the outer triangle of side L because L a and with any desired
rotation of the moving platform in the plane.
x
y
x
B
y
B

Figure 5.9. Triangular planar platform supported by linear extendable links.


Derive the inverse kinematic equations. Comment on the compositions,
if any, of the platform.
Exercises 5.15.7 109
(b) Consider the triangular planar platform of side a in Figure 5.10. The link
lengths are xed and of length b in each of the three double pendulums. All
joints are planar revolute joints.
Figure 5.10. Triangular planar plat-
form supported by linear xed-length
links.
Derive the inverse kinematic equations. Comment on the compositions,
if any, of the platform.
5.5. Consider the SCARA manipulator discussed in Chapter 1 (Figure 1.18). The
forward kinematics was the subject of Exercise 4.7. Derive the corresponding
inverse kinematic equations.
5.6. A model is suspended in a wind tunnel by three variable-length links, each
of which is anchored at an arbitrary but xed location in space. The links are all
attached to the model at almost the same point, P. The coordinates of point P are
x
P
, y
P
, and z
P
in a xed reference frame. The coordinates of the three anchor points
are x
i
, y
i
, and z
i
, i = 1, 2, 3. The link lengths are given by
i
, i = 1, 2, 3 and satisfy
the relations

2
i
= (x
P
x
i
)
2
+(y
P
y
i
)
2
+(z
P
z
i
)
2
.
The distances of the anchor points are given by L
i
, i = 1, 2, 3. Show that the
coordinates x
P
, y
P
, and z
P
are given by

x
P
y
P
z
P

=
1
2

(x
2
x
1
) (y
2
y
1
) (z
2
z
1
)
(x
3
x
1
) (y
3
y
1
) (z
3
z
1
)
(x
3
x
2
) (y
3
y
2
) (z
3
z
2
)

2
1

2
2
L
2
1
+ L
2
2

2
1

2
3
L
2
1
+ L
2
3

2
2

2
3
L
2
2
+ L
2
3

.
5.7. Consider the mechanisms illustrated in Figures 4.8 and 4.9. Derive expressions
for the boundary of the reachable workspace in each case.
110 Manipulators with Multiple Postures and Compositions
TCP
Figure 5.11. Mechanism with one prismatic and two revolute joints.
5.8. Consider the mechanism illustrated in Figure 5.11. The two links with the revo-
lute joints may be assumed to be of equal length. Derive expressions for the bound-
ary of the reachable workspace for this mechanism.
6
Grasping: Mechanics and Constraints
6.1 Forces and Moments
In the analyses of robot mechanisms considered in the preceding chapters, the inu-
ence of forces on the components was not considered. However, any analyses of the
mechanics of such tasks as grasping a body must include an analysis of the forces
acting on the components, the reactions to these applied forces, and the other con-
sequences of the application of the force system.
Forces may be construed to have primary effects. In the rst instance, forces act-
ing on stationary rigid bodies generate internal reactions, and together they ensure
that the body is in static equilibrium or in a state of rest. A state of static equilib-
rium is a state in which the rigid body experiences no acceleration. For a rigid body
idealized as a single free particle so its orientation is unimportant, static equilibrium
implies that there is no acceleration in any direction. For a general rigid body, static
equilibrium not only implies that there is no acceleration in any direction but also
that there is no angular acceleration in any direction.
The second and probably the more important of the two effects of forces acting
on a rigid body is the production of acceleration. The moment of a force about any
line is the product of the magnitude of a component of the force normal to the line
and the perpendicular distance of this component from the line. The moment of two
equal but opposite forces not acting at the same point about any line is a couple. A
torque acting on a body with no net force is the resultant of one or more couples
acting about the same line.
The inuence of a system of forces is to generate acceleration in the direction of
the resultant of these forces whereas the inuence of a torque is to generate angu-
lar acceleration about the line of action of the torque or couple. Thus forces and
moments are responsible for the generation of translational and angular accelera-
tion, respectively. In this chapter we restrict our attention to the rst of these effects
and assume that the applied forces and moments do not generate any translational
or angular acceleration, respectively.
For static equilibrium under the inuence of a system of forces and moments,
the resultant of the forces and the resultant of the moments must each be equal to
111
112 Grasping: Mechanics and Constraints
zero. The resultants are both vectors with three components representing the forces
and moments acting in each of the three directions.
6.2 Denition of a Wrench
For the purposes of robot mechanism or manipulator analysis, it is often quite expe-
dient to consider both the forces and moments together. Hence a force acting along
an axis and a moment about the same axis are both expressed as components of a
single vector known as a wrench, W, where,
W=

M F

T
. (6.1)
Given a force vector F acting at a point in space dened by a position vector r,
from the origin of a Cartesian reference frame, the moment of the force about the
origin is given by the vector cross product,
M= r F =

0 z y
z 0 x
y x 0

F = rF, (6.2)
where
r =

0 z y
z 0 x
y x 0

.
The general relationship between the moment of the force and force may be
expressed as
M= r F + pF = rF + pF = [ pI + r] F, (6.3)
where the latter term pF is the component of the moment in the direction of the
force. Hence it follows that the wrench is given by
W=

pI + r
I

F. (6.4)
The pitch p of the wrench is,
[F0] W
F F
=
[F0]

pI + r
I

F
F F
=
M F
F F
= p +
F rF
F F
= p. (6.5)
6.3 Mechanics of Gripping
Robotic grasping systems in the real world are often faced with unknown objects in
unknown poses. In the engineering world, the use of an appropriate end-effector to
effectively grasp and then manipulate the grasped object to complete a given task
involves, among others, task planning, custom design of the end-effector, a strategy
6.3 Mechanics of Gripping 113
for grasping, an active control system to achieve a controlled grasp, as well as a
number of sensing devices. The grasping strategy plays an important role in the
design of the gripper. Although the design ultimately must depend on the object
shape and the type of grasp that is desired, for most applications, it is important
that the object be held precisely and securely and that the surfaces that must be
worked on remain accessible. Ideally the methods for planning grasps must perform
well on completely unknown objects. However, most of the planning techniques are
applicable to only grasps of known or partially known objects.
A grasp-planning method is essential to properly locate the contact points at
which the body is held in the jaws of a gripper. The mechanics of gripping involves
the general selection of a suitable gripping method from a range of such methods,
the mechanics of contact and compliance, as well as the need to ensure the quality
of the grasp, stability, and resistance to slipping. When a body is held in the jaws of
a gripper, the body exerts on a number of forces the surface of the gripper. These
forces depend to a larger extent on the nature of the surface contact, the require-
ments of no-slip and no-roll, and on the type of friction forces that are generated
between the surfaces of the gripper and body. Surface contact between surfaces
leads to forces that depend on the nature of the contact, which may be perfectly
smooth or rough. It is assumed that the surfaces are not deliberately lubricated and
hence are dry. Such surfaces behave consistently insofar as the frictional force is
concerned, which is directly proportional to the normal force of contact over a small
contacting surface. Contact forces in a contact task may also vary, depending on the
nature of contact. Rigid contact refers to a situation in which the rigid gripping ele-
ment comes into contact with the rigid object. It is the simplest case of contact task
and is often solved in the mechanics of rigid bodies. Deformation rigid contact
is one of two types involving either contact of the rigid gripping element with the
elastic object or an elastic gripping element with a rigid object. Fully deformation
contact refers to situations in which there is real contact of two elastic bodies. It
allows for dealing with physically meaningful situations with representative bound-
ary conditions. Thus the forces and moments arising from the body being held in
the jaws of the gripper are transmitted through the chain of components in a serial
manipulator. Forces and torques must be applied at the joints to ensure that equilib-
rium is maintained. It is essential that the magnitudes and directions of these forces
and moments are estimated so appropriate actuators can be installed to actuate the
joints as required and provide the necessary forces and moments to maintain the
manipulator in static equilibrium.
The condition for static equilibrium in the presence of externally applied forces
and moments and internal reactions may be expressed in terms of a wrench as

i
W
i
= 0. (6.6)
A simple example illustrates the application of these conditions for static equilib-
rium. Consider an object held in the jaws of a gripper, as illustrated in Figure 6.1.
114 Grasping: Mechanics and Constraints
R
1
R
2
W
a
2
a
1
Figure 6.1. Object held in the jaws of a gripper and
a free-body diagram of it.
Applying the condition for equilibrium in wrench form, we have

0 0 0
0 0 a
1
0 a
1
0
0 0 0
0 1 0
0 0 0

0
R
1
0

0 0 0
0 0 a
2
0 a
2
0
0 0 0
0 1 0
0 0 0

0
R
2
0

0 0 0
0 0 0
0 0 0
0 0 0
0 1 0
0 0 0

0
W
0

0
0
0
0
0
0

,
(6.7)
which reduces to the two scalar equilibrium equations,
R
2
R
1
= W, a
2
R
2
a
1
R
1
= 0. (6.8)
Real links of a mechanism deform under externally applied forces and moments.
This feature complicates the analysis and determination of the unknown reactions.
Yet, for certain types of structures, known as statically indeterminate structures, it is
the effect of the deformation that permits one to solve for the reaction forces acting
on the links in the structure. A statically determinate structure is one in which there
is only one distribution of internal forces and reactions that satises equilibrium. In
a statically determinate structure, internal forces and reactions can be determined
by considering nothing more than the equations of equilibrium.
The term statically determinate is used in the static analysis of mechanisms
because, in such mechanisms, forces can be determined by the conditions of static
equilibrium alone. If it is assumed that all link connections are revolute joints or
pinned connections so they cannot resist bending moments, mechanisms are stati-
cally determinate when the following equation is satised:
m+r = n j, (6.9)
where m is the number of links in the mechanism, r is the number of reactions, and j
is the number of joints. In the preceding equation, the link forces and the reactions
are the unknowns, and the number of these unknowns is m + r. The number of
equations is equal to n times the number of joints, where n is equal to two for a
planar mechanism when there are two force equilibrium equations at each joint and
three for a spatial mechanism when there are three force equilibrium equations at
each joint. The moments at each joint are determined by the applied joint torques.
6.4 Transformation of Forces and Moments
The transformation of the forces and moments from one joint to the other on a link
may be determined by a formulation similar to the homogeneous transformation of
6.5 Compliance 115
displacements based on the DH convention and the associated reference frames.
The forces and moments acting on a link in the (i +1)th joint frame may be
expressed in the i th joint frame as
F
i
= R
i,i +1
F
i +1
, M
i
= R
i,i +1
M
i +1
. (6.10)
The position vector of the origin of the joint (i +1) relative to the origin of the i th
joint is
p
i,i +1
=

I 0

T
i,i +1

0 0 0 1

T
= d
i,i +1
. (6.11)
The equilibrium equations are then given by

F
i
+R
i,i +1
F
i +1
= 0,

M
i
+R
i,i +1
M
i +1
+p
i,i +1
R
i,i +1
F
i +1
= 0, (6.12)
where

F
i
and

M
i
are the force and moment vectors acting at the i th joint on the
same link, which could be expressed as the single equation,


M
i

F
i

R
i,i +1
p
i,i +1
R
i,i +1
0 R
i,i +1

M
i +1
F
i +1

. (6.13)
Expressing it in terms of wrenches and adding any external forces and moments at
the joints, we have

W
i
= W
i e

R
i,i +1
p
i,i +1
R
i,i +1
0 R
i,i +1

W
i +1
, (6.14)
where W
i e
is the external wrench acting at the joint on the link. Hence the reaction
wrench on the next link in the chain connected to the i th joint is
W
i
=

W
i
= W
i e
+

R
i,i +1
p
i,i +1
R
i,i +1
0 R
i,i +1

W
i +1
. (6.15)
6.5 Compliance
Compliance refers to the ability of a robot component such as a gripper to comply
with the surface of an obstacle rather than stubbornly grasp the body without any
consideration of its characteristic features. Thus a compliant robot component is
one that modies its motions in such a way as to minimize a particular force or
moment or a collection of forces and moments. When a component is compliant,
the external and internal forces that are due to a given load cannot be calculated
from the equations of equilibrium alone as the forces and moments are statically
indeterminate.
116 Grasping: Mechanics and Constraints
Although the analysis of statically indeterminate assemblies is more involved
than that of statically determinate assemblies, they offer some major advantages.
The maximum stresses and deections in a statically indeterminate assembly are
smaller than those of its statically determinate counterpart. In an assembly, the pres-
ence of statically indeterminate forces has the tendency to redistribute the loading
to redundant supports, which is benecial when overloading occurs.
To determine the unknown reactions in a statically indeterminate assembly, a
number of constraints must be imposed so that the number of unknowns is equal
to the total number of equations. To do this it is essential to consider the elastic
deformations of the links under the loading. However, the load distribution between
components of a statically indeterminate assembly changes markedly because of the
relative stiffnesses of the components. One approach is for the forces and moments
generated by a set of compatible displacements to be included in the analysis as
external forces and moments along with appropriate displacement constraints. The
other approach is for the reaction forces and moments to be eliminated in terms
of a fewer number of compatible displacements. By either method the number of
unknown reaction forces and moments is made equal to the number of equations.
The equations are then solved to determine all the forces and moments acting on a
particular component.
6.5.1 Passive and Active Compliance
Compliance normally refers to passive compliance. In a passively compliant assem-
bly the components of the assembly deform in a manner so as to comply with
the applied forces and moments. In an actively compliant assembly the forces or
moments acting on the assembly are sensed and compliance is actively induced by
altering the displacements of the components. Thus active compliance involves not
only the use of appropriate sensors to detect the compliant forces and moments
but also a feedback loop and control strategy to control the forces of comp-
liance.
6.5.2 Constraints: Natural and Articial
Compliance to any task implies that the mechanism must satisfy certain constraints
that may be associated with the tasks. Kinematic constraints, because of speed lim-
itations, geometric constraints, or force constraints may have an inuence on the
types of paths generated by an end-effector.
A manipulator designed to write on a blackboard with a piece of chalk, for ex-
ample, not only has to grip the chalk with the acceptable amount of force but also
must be able to position it correctly relative to a set of coordinates xed on the black-
board and then apply the correct force on the chalk normal to the blackboard so as
to maintain the appropriate contact force. The manipulator then moves the chalk
6.5 Compliance 117
to write on the blackboard without altering the contact pressure. The geometric
constraints describe the surface with which the end-effector has to maintain contact;
they are referred to as geometric because they describe only the geometry of the
surface without explicitly giving information about the path of the contact point
on this surface. In fact, what is more useful is a description of the constraints as
functions of time, known as kinematic constraints, in which a restricted path on
the constraining surface is specied. Thus the end-effectors TCP must satisfy a set
of position and force constraints in the task- or constraint-related frame that are
naturally associated with the task. The frame is therefore known as a constraint
frame, and the constraints are said to be natural as they arise naturally from the
task-related mechanics of contact. To complete the specication of the robot-control
problem, additional kinematics in the form of position and orientation constraints
or force constraints may have to be specied. Such additional constraints imposed
in order to complete the specication of the robot-control problem, without running
the risk of overconstraining the problem, are known as articial constraints. In the
case of the problem of writing on the blackboard with a piece of chalk, the articial
constraints relate to the orientation, the unspecied components of the forces, and
the moments acting on the chalk in the constraint frame at the point of contact with
the blackboard.
6.5.3 Hybrid Control
From the preceding analysis of task compliance and the associated constraints, it is
apparent that control of the end-effectors TCP involves both the control of posi-
tion and orientation and the control of force and moment. Thus there is need
for the simultaneous control of forces and moments and position and orienta-
tion.
When the forces and moments and position and orientation are independent
of each other, simultaneous control of forces and moments and position and ori-
entation is a relatively easy task. In the case of situations involving compliance,
the forces and position are not completely independent of each other, and it may
become important to establish optimal trade-offs to meet both the position and
force constraints. In these cases, the normal approach is to exploit the orthogonal-
ity between the motion and force directions and control the forces or moments in
certain directions for which force or moment control is more important while the
position or orientation is controlled along the remaining axes. This is the concept
of hybrid control. A practical gripper with a high degree of dexterity requires a
hybrid controller including a mixed positionforce gripper-control algorithm based
on the grippers functioning as a closed kinematic system that is able to keep grasp-
ing forces at a desired value in the presence of varying external exerted forces
and is usually designed based on both the mechanics of contact and control system
theory.
118 Grasping: Mechanics and Constraints
EXERCISES
6.1. Consider the slidercrank mechanism in Figure 6.2. The only force acting on
the slider is a horizontal force, as shown. Obtain expressions for the wrench acting
at the revolute joint to the xed base.
F
e
Figure 6.2. Slidercrank mechanism.
6.2. Consider the two-link manipulator of Figure 6.3, which has one revolute joint
and one prismatic joint. A wrench with both a three-dimensional force and a three-
dimensional moment acts at the point E. Obtain expressions for the wrenches acting
at each of the joints.
E
Figure 6.3. Two-link manipulator of Exercise 6.2.
6.3. Consider the three-link planar manipulator shown in Figure 6.4. A wrench with
both a three-dimensional force and a three-dimensional moment acts at the point E.
Obtain expressions for the wrenches acting at each of the three revolute joints.
E
Figure 6.4. Three-link planar arm of Exer-
cise 6.3.
Exercises 6.46.6 119
6.4. Consider the two-link Cartesian manipulator shown in Figure 6.5. A wrench
with both a three-dimensional force and a three-dimensional moment acts at the
point E. Obtain expressions for the wrenches acting at both the prismatic joints.
E
Figure 6.5. Two-link Cartesian manipulator of Exer-
cise 6.4.
6.5. A manipulator end-effector turns a at-headed screwdriver to drive a wood
screw into a workpiece. The right-handed constraint frame is located at the point of
contact between the screwdriver head and the screw, with the z axis pointing into
the screwdriver along its axis and the x axis normal to the face. Briey explain why
the natural and articial constraints in Table 6.1 apply in this case.
Table 6.1. Natural and articial constraints relating to a at-headed
screwdriver driving a wood screw into a workpiece
(i) Natural Constraints (ii) Articial Constraints
v
x
= 0
x
= 0 f
y
= 0 v
y
= 0 f
x
= 0 m
x
= 0
v
z
= 0
y
= 0 m
z
= 0
z
=
2
f
z
=
3
m
y
= 0
6.6. A cylindrical dowel is smoothly driven into a matching hole by a manipulator
end-effector. The right-handed constraint frame is located at the point of contact
between the driver head and the dowel, with the z axis pointing up, along the dowel
axis, and the x and y axes being diametrical axes of the circular cross section of the
dowel. Briey explain why the natural and articial constraints in Table 6.2 apply in
this case.
Table 6.2. Natural and articial constraints relating to a dowel smoothly
driven into a matching hole
(i) Natural Constraints (ii) Articial Constraints
v
x
= 0
x
= 0 f
z
= 0 v
z
= v
z0
f
x
= f
x0
m
x
= m
x0
v
y
= 0
y
= 0 m
z
= 0
z
=
z0
f
y
= f
y0
m
y
= m
y0
7
Jacobians
7.1 Differential Motion
In Chapters 4 and 5, direct kinematics and inverse kinematics of manipulators, relat-
ing the position of the end-effector in base coordinates to the joint coordinates and
vice versa, were considered. These relationships represent transformations fromone
set of coordinates to the other. However, in the context of forces acting at the joints,
the denition of these transformations is incomplete. Although the work done
by the joint forces is a scalar, it may be expressed as a surface or volume integral
in the space dened by the coordinates. Thus it is important to relate the volume of
an element in the Cartesian frame to the volume of an element in the frame dened
by the joint coordinates. This relationship was rst demonstrated by Carl Gustav
Jacob Jacobi (18041851). Jacobi, who hailed from a family of Prussian bankers,
worked at the University of K onigsberg. He arrived there in May 1826 and pursued
an academic career in pure mathematics. There he worked on, among other top-
ics, determinants and studied the functional determinant now called the Jacobian.
Although Jacobi was not the rst to study the functional determinant that now bears
his name, as it appears that the functional determinant was mentioned in 1815 by
Cauchy, Jacobi wrote a paper on De determinantibus functionalibus in 1841 devoted
to this determinant. He proved, among many other things, that if a set of n functions
in n variables is functionally unrelated or independent, then the Jacobian cannot be
identically zero.
Let the base coordinates x, y, and z be related to three joint variables,
1
,
2
, and

3
, by the functional relations
x = f
1
(
1
,
2
,
3
) ,
y = f
2
(
1
,
2
,
3
) ,
z = f
3
(
1
,
2
,
3
) .
At this stage it is assumed that the number of base coordinates is equal to the num-
ber of joint variables. In general, it is quite possible that the number of joint vari-
ables is much larger than the number of base coordinates or the number of DOFs.
120
7.1 Differential Motion 121
Consider small variations in the base coordinates x, y, and z, and the joint vari-
ables,
1
,
2
, and
3
, given by, x, y, and z, and the joint variables
1
,
2
, and
3
.
The relations among x, y, and z, and
1
,
2
, and
3
are given by
x =

1
f
1

1
+

2
f
1

2
+

3
f
1

3
,
y =

1
f
2

1
+

2
f
2

2
+

3
f
2

3
,
z =

1
f
3

1
+

2
f
3

2
+

3
f
3

3
.
These relations can be expressed in matrix form:

x
y
z

= J

, (7.1)
where
J =

1
f
1

2
f
1

3
f
1

1
f
2

2
f
2

3
f
2

1
f
3

2
f
3

3
f
3

. (7.2)
Further, the volume of a parallelepiped, having the orthogonal increments x, y,
and z as three of its edges, may be obtained from the triple scalar product:
x y z = |J|
1

3
, (7.3)
where |J| is the determinant of J. The matrix J is the Jacobian and |J| is the Jacobian
determinant. When the Jacobian determinant |J| = 0, the transformation
x

x
y
z

= J

(7.4)
has an inverse. The quantities x, y, and z represent differential translational
motions and
1
,
2
and
3
represent differential motions in the joint variables.
A similar relationship may be established for small differential rotational
motions. Considering the yawpitchroll Euler angle sequence, the rotational trans-
formation is
R
YPR
=

cos sin 0
sin cos 0
0 0 1

cos 0 sin
0 1 0
sin 0 cos

1 0 0
0 cos sin
0 sin cos

. (7.5)
122 Jacobians
If we assume the rotations to be small and equal to , , corresponding to yaw,
pitch, and roll, the trigonometric functions may be approximated as
cos (angle) 1 and sin(angle) angle (in radians) .
Hence it follows that for small rotations about an initial set of attitudes all equal to
zero the rotation matrix is
I +R
YPR

1 0
1 0
0 0 1

1 0
0 1 0
0 1

1 0 0
0 1
0 1

.
Performing the multiplication and ignoring all second-order terms, we obtain
I +R
YPR

1 0
1 0
0 0 1

1 0
0 1 0
0 1

1 0 0
0 1
0 1

1
1
1

.
Thus any differential rotation about an arbitrary direction is the direct composition
of three differential rotations about three orthogonal directions, which may be per-
formed in any order.
It can be shown that the differential homogeneous transformation correspond-
ing to a general differential rotation and a differential translation about any initial
attitude and position is
T =
_
R
YPR
+R
YPR
x +x
0 1
_

_
R
YPR
x
0 1
_
=
_
R
YPR
x
0 0
_
,
where
R
YPR
+R
YPR
= R
YPR
( +, +, +) .
Using the relationships for trigonometric functions of the sum of any angle and
another small angle in radians,
cos (angle +) cos (angle) sin(angle) ,
sin(angle +) sin(angle) + cos (angle) ,
we may express the differential rotational transformation in terms of the differential
rotations as
R
YPR
=

R
YPR
R
YPR
=

R
YPR
,
where

,

,

are functions of , , and linear in , , .
7.1 Differential Motion 123
7.1.1 Velocity Kinematics
One of the direct consequences of the relation between differential translation
motions and the differential joint variables,
x

x
y
z

= J

,
is
lim
t 0
x
t

dx
dt

x
y
z

= J

. (7.6)
Further, it follows that

T =
_

R
YPR
x
0 0
_
, (7.7)
where the rate of change of the rotational transformation is expressed in terms of
the angular velocity components as

R
YPR
= lim
t 0
1
t

R
YPR
=

0
3

2

3
0
1

2

1
0

R
YPR
.
Here the differentiation of the rotation matrix is equivalent to the application of the
chain rule of differentiation.
Thus, consider a general homogeneous transformation relating the position vec-
tor in base coordinates to the position vector in the end-effector coordinates:

x
0
y
0
z
0
1

=
_
R d
0 1
_

x
e
y
e
z
e
1

. (7.8)
Differentiating both sides with respect to time, we obtain

x
0
y
0
z
0
0

=
_

R

d
0 0
_

x
e
y
e
z
e
1

+
_
R d
0 1
_

x
e
y
e
z
e
0

,
which is equivalent to

x
0
y
0
z
0

= R

x
e
y
e
z
e

+

R

x
e
y
e
z
e

+

d. (7.9)
124 Jacobians
Consider a single screw motion of the end-effector axes about another axis that does
pass through the origin. In this case,
_
R d
0 1
_
=
_
R p Rp +

2
e

p
0 1
_
and
d = [I R] p +

2
e

p.
For a body xed in the end-effector frame,
[ x
e
y
e
z
e
] = [ 0 0 0 ].
Assuming that the pitch of the screwmotion p and the position of the axis of rotation
p are xed,

d =

Rp +

2
e

p
and

R = [
1

2

3
]
T
R = e

R.
It follows that, in this case, the velocity in base coordinates of a point in the end-
effector frame is

x
0
y
0
z
0

(e

R)

x
e
y
e
z
e

+
p
2
e

, (7.10)
which may be interpreted as the sum of two components, the rst being the contri-
bution of joint motion about the screw axis and the second being the contribution
of the angular velocity of the screw motion to the translational velocity along the
screw axis.
7.1.2 Translational Velocities and Acceleration
Rigid body motion of an object involves in general both translation of its mass cen-
ter and rotation about its mass center. The motion could be with reference to a set
of axes xed in space or relative to a set of axes xed in another object. Translation
along a straight line in a xed set of reference axes is considered rst. The straight
line could represent the ground track of a rigid body moving in space, i.e., the pro-
jection of a ight path of the body on a level plane. For the translation of a point
A at constant speed V along a xed straight line in Figure 7.1, the instantaneous
distance from a xed reference point is
x
A
= x
0
+ V (t t
0
) . (7.11)
7.1 Differential Motion 125
A
x
x=x
0
fixed reference
point
Figure 7.1. Motion along a straight line.
On the other hand, if the velocity is not constant, we have
x
A
= x
0
+
_
t
t
0
Vdt . (7.12)
When both sides are differentiated, the velocity can be expressed by
V =
d
dt
x
A
. (7.13)
Generalizations can now be made to two- and three-dimensional curves, in which
the displacements in two or three directions are functions of time. With (7.12)
applied to two displacements x, y, in two directions,
x
A
= x
0
+
_
t
t
0
V
x
dt , y
A
= y
0
+
_
t
t
0
V
y
dt . (7.14)
When both equations are differentiated with respect to time, the two equations may
be written as
V
x
=
d
dt
x
A
, V
y
=
d
dt
y
A
. (7.15)
The next generalization we wish to consider is the effect of rotation about one of
the reference axes perpendicular to the plane of the paper.
In Figure 7.2, a typical position vector at times t
0
and t
1
and the corresponding
set of reference axes are shown. The position vector r at time t
0
is r + r and at
the indicated position at time t
1
. The reference frame itself has rotated by an angle
during this period of time. The components of the position vector in the rotated
reference frame consist of two contributions. The rst is due to the change in the
position vector itself, and the second is due to the rotation of the reference frame.
The change in the position vector that is due to the rotation of the reference frame
x
0
y
0
x
1
y
1
r
r+ r

r
Figure 7.2. Position vector in a rotating reference
frame.
126 Jacobians
is given by
x = x (cos 1) y sin, y = x sin + y (cos 1) , (7.16)
where x, y, and z are the components of the three-component position vector, r
xi + yj + zk.
In the limit as time t
1
tends to t
0
, i.e., as t
1
t
0
= t ,
V =
r
t
=
_
y

t
x

t
0
_
T
, (7.17)
where V is the three-component velocity vector. This can be represented in compact
form:
V =
r
t
= r, (7.18)
where is the rotation vector and r is the vector cross product or curl of the two
vectors. The rst contribution to the velocity that is due to change in the position
vector can be expressed by Equation (7.13), assuming that the reference frame is
frozen in time. The derivative is equivalent to a partial derivative with respect
to time as the variables parameterizing the rotating frame, the components of its
attitude
i
, are assumed xed. Therefore the total velocity vector is given by
V =
dr
dt
=
r
t
+

i
d
i
dt
r

i
=
r
t
+ r. (7.19)
Equation (7.19) represents the general relationship between the velocity and posi-
tion vectors in a rotating reference frame. Similarly the equation relating the accel-
eration vector A to the velocity vector is given by
A =
dV
dt
=
V
t
+ V. (7.20)
Equation (7.19) can be substituted into Equation (7.20) to relate the acceleration
vector directly to the position vector, giving
A =
V
t
+ V =

2
r
t
2
+

t
r +2
r
t
+ ( r) . (7.21)
The vector A is the inertial acceleration vector referred to a rotating reference
frame. The acceleration referred to the rotating frame is obtained by resolving the
inertial acceleration into components in the rotating frame. One important special
case of Equation (7.21) is when the position vector is constant. In this case,
A =

t
r + ( r) .
7.2 Denition of a Screw Vector: Instantaneous Screws 127
7.1.3 Angular Velocities
For the yawrollpitch Euler angle sequence, we have already shown in Chapter 2
that

1 0 sin
0 cos sin cos
0 sin cos cos

.
For a spherical wrist these may be expressed in terms of the joint angular velocities
instead of the Euler angle rates.
It has already been shown in the previous section that, for a differential rotation,
the rotational part of a homogeneous transformation satises

R =

0
3

2

3
0
1

2

1
0

R.
The rotation matrix may be considered to be a xed vector, and the preceding result
follows when Equation (7.19) is applied to it. Thus, in general, the components of
the angular velocity vector may always be expressed in terms of the joint angular
velocities because

R = R = [
1

2

3
]
T
R =

0
3

2

3
0
1

2

1
0

R,
which can be solved for the components of the angular velocity vector.
Thus, in the general case, this is a nonlinear relationship of the form

g
1
_

r
,

r+1
,

r+2
_
g
2
_

r
,

r+1
,

r+2
_
g
3
_

r
,

r+1
,

r+2
_

.
However, in terms of a single screw motion about an axis e

, the angular velocity


equation is not only linear but also considerably simpler:
= [
1

2

3
]
T
= e

. (7.22)
7.2 Denition of a Screw Vector: Instantaneous Screws
Reconsider a single screw motion of the end-effector axes about another axis that
does pass through the origin. In this case, from Equation (7.10),

x
0
y
0
z
0

(e

R)

x
e
y
e
z
e

+
p
2
e

128 Jacobians
=

x
e
y
e
z
e

p
2

_
e

R
e

_
v,
and the quantity v may be expressed as
v =
_
(r
ce
e

) +
p
2
e

_
. (7.23)
In Equation (7.23),
r
ce
= r
c0
r
e
, r
c0
= Rp, r
e
= R[x
e
y
e
z
e
]
T
,
and
r
ce
= r
c0
r
e
= R(p [ x
e
y
e
z
e
]
T
)
is the position vector of the center of rotation relative to the end-effector in base
coordinates. Thus if the center of rotation is at the origin of the end-effector frame,
r
ce
= 0. Thus the vector v is nothing but the translational velocity vector that is due
to the screw motion.
Together with the angular velocity vector about e

, the axis of rotation, the


vector
s =
_

v
_
=
_
e

r
ce
e

+
p
2
e

_
(7.24)
is known as the instantaneous screw vector and plays a key role in the dynamics of
the motion. The rst three components are the components of the angular velocity
vector whereas the last three are the components of the translational velocity vector
associated with the screw motion. Physically it represents the components of the
rotational and translational velocity vectors of the end-effector that are due to a
joint-induced screw motion, assuming all other joints are xed.
Consider the situation in which the number of base coordinates is fewer than
the number of joint variables. In general, the number of joint variables is much
more than the number of base coordinates or the number of DOFs. In a general
situation, when all joints are revolute, prismatic, or screw joints, the homogeneous
transformation may be considered to be a composition of successive relative rota-
tions about each of the joint axes. Thus, considering a sequence of screw motions
about each of the joint axes successively, we may write

3
x
y
z

=
n

i =1
_
e
i
h(r)
r
i
e
i
h(r) +
p
i
2
e
i
_

i
= [s
1
s
2
s
3
s
M1
s
M
]

M1

,
7.2 Denition of a Screw Vector: Instantaneous Screws 129
where
s
i
=
_
e
i
h(r)
r
i
e
i
h(r) +
p
i
2
e
i
_
is an instantaneous screw vector per unit joint variable rate. Thus,

3
x
y
z

x = [s
1
s
2
s
3
s
M1
s
M
]

M1

J

, (7.25)
where
J [s
1
s
2
s
3
. . . s
M1
s
M
] , (7.26)
and h(r) is equal to 1 for revolute and screw joints and to 0 for prismatic joints. For a
prismatic joint, p
i
= 2and
i
represents the joints translational displacement. This
is just a convenient way of explicitly including the case of a prismatic, which may be
treated as a rotation about a point at innity.
Thus one may be easily assemble the Jacobian matrix J by associating an instan-
taneous screw vector with each joint, the components of which depend on the posi-
tion, the orientation, and the pitch of the joint. Furthermore one may assemble the
Jacobian matrix without computing any derivatives of the direct kinematic equa-
tions.
7.2.1 Duality with the Wrench
The instantaneous screw vector enjoys a special dual relationship with the wrench
introduced in the preceding chapter. The rate at which work is done or the power is
P = W
T
s,
where W is the wrench that is responsible for generating the instantaneous screw s.
The duality between the wrench and the instantaneous screw vector goes
beyond the pairing operation of the two in the evaluation of the power. In Sec-
tion 6.4 we observed how a wrench may be associated with each joint and that the
wrench propagates from joint to joint, starting at the end-effector and propagating
backward. A similar recursive propagation relation may be associated with instan-
taneous screw vectors at the joints. However, unlike the wrench, the instantaneous
screw vector propagates forward from the xed link with the base coordinate frame
attached to it toward the end-effector. As one proceeds from the xed link forward,
one must progressively undo the DH link transformations introduced in Chap-
ter 4. We assume that there are only revolute and prismatic joints and hence only
the joint angles
i +1
and the joint offsets d
i +1
will be assumed to be functions of time.
Thus the angular velocity vector of the (i +1)th link may be expressed in terms
130 Jacobians
of the angular velocity vector of the ith link, the ith link-to-(i +1)th link rotation
matrix, and the relative angular velocity of the (i +1th) link to the ith link as

i +1
= R
i +1,i

i
+

i +1

0
0
1

.
Similarly the translational velocity vector of the (i +1)th link may be expressed in
terms of the translational velocity vector of the ith link, the ith link-to-(i +1)th link
rotation matrix, and the relative translational velocity of the (i +1)th link to the ith
link as
v
i +1
= R
i +1,i

v
i
+

d
i +1

0
0
1

+p
i,i +1

i +1
,
where p
i,i +1
is the position vector of the origin of the ith joint relative to the origin
of the (i +1)th joint. The equations for the angular and translational velocities of
the (i +1)th joint may be expressed as

i +1
= R
i +1,i
(
i
+
i e
) ,
v
i +1
= R
i +1,i
(v
i
+v
i e
) +P
i,i +1
R
i +1,i
(
i
+
i e
) ,
where

i e
=

i +1

0
0
1

, v
i e
=

d
i +1

0
0
1

, P
i,i +1
=

0 p
3
p
2
p
3
0 p
1
p
2
p
1
0

&

p
1
p
2
p
3

= p
i,i +1
.
Hence, for the forward propagation of the instantaneous screw vector, we have
_

i +1
v
i +1
_
=
_
I 0
P
i,i +1
I
__
R
i +1,i
0
0 R
i +1,i
___

i
v
i
_
+
_

i e
v
i e
__
.
7.2.2 Transformation of a Compliant Body Wrench
In the previous chapter we discussed the process of transforming the wrench acting
on the end-effector along with the torques acting on the joints to equivalent forces
and moments in the base coordinates. It is also important to be able to transform
the wrench acting in the base coordinates to equivalent joint torques.
When a wrench acts on a mechanism, it does work as the mechanism moves in
response to the applied wrench. We nd the total amount of work done by summing
the products of all the forces acting on each body and the corresponding displace-
ments in the directions of the force as well as the products of all the moments acting
on each body and the corresponding rotations along the axes of the moments. Alter-
natively, we can also nd the amount of work done by applying the principle of vir-
tual work to the applied wrench and the corresponding virtual screw displacement
to each body. It is also equal to the sum of the products of each of the joint torques
7.3 The Jacobian and the Inverse Jacobian 131
_
+
inv[J(
i
)]
_
+
f( )
x
j
x
k
x
k k
k
k+1

Figure 7.3. Computation of the inverse kinematics by the NewtonRaphson procedure.


or forces and the corresponding virtual joint displacements. This fact allows us to
express the joint torques in terms of the wrench in base coordinates. Thus the vir-
tual work done is
W = W
T
x = T
T
,
where T is the vector of joint torques. However, the Jacobian satises
x = J,
and it follows that
W = W
T
J = T
T
.
Thus the joint torques T may be expressed as
T = J
T
W. (7.27)
In the case in which the end-effector grasps a compliant body, the wrench may be
expressed as
W= Kx = KJ,
where K is the compliant body stiffness matrix and the associated joint torques are
T = J
T
W= J
T
Kx = J
T
KJ. (7.28)
7.3 The Jacobian and the Inverse Jacobian
The Jacobian is a matrix function and is the vector version of the rst derivative
of a scalar function. This Jacobian or Jacobian matrix is one of the most important
quantities in the analysis and control of manipulator kinematics. It arises in almost
every aspect of manipulation of the robot mechanism such as the on-line recursive
computation of the inverse position kinematics by the NewtonRaphson method, as
illustrated in block-diagram form in Figure 7.3, the computation of inverse velocity
kinematics, the determination of singular congurations, in the implementation of
coordinated anthropomorphic motion, in the derivation of the dynamic equations
of motion, in the transformation of a wrench, and in the planning and execution of
smooth trajectories.
132 Jacobians
The computation of inverse velocity kinematics is conceptually and apparently
simpler than the computation of inverse position kinematics. Considering the rela-
tionship between the rates in the base coordinates and the joint velocities,
x = J

,
inverse velocity kinematics is conceptually given by

= J
1
x,
where J
1
is the inverse Jacobian. Computing the inverse Jacobian by direct matrix
inversion is probably not only the worst approach to this problem but also not prac-
tically feasible.
In general, the Jacobian matrix is not square, and as a consequence the method
is not feasible even conceptually. Now, because
JHJ
T
_
JHJ
T
_
1
= I,
we have
JHJ
T
_
JHJ
T
_
1
= JJ
+
= I,
where
J
+
= HJ
T
_
JHJ
T
_
1
. (7.29)
A solution to the inverse problem is

= J
+
x +
_
I J
+
J
_
x
0
, (7.30)
because the result of multiplying both sides by J is the relationship between the rates
in the base coordinates and the joint velocities:
x = J

.
where x
0
is an arbitrary vector that must be chosen with some care. The matrix
J
+
is known as the right pseudoinverse of the matrix J and sometimes conceptually
referred to as the inverse Jacobian. However, given two different inverse solutions,
sufciently close to each other,

1
= J
+
x
1
+
_
I J
+
J
_
x
0
,

2
= J
+
x
2
+
_
I J
+
J
_
x
0
,
we have,

1
= J
+
( x
2
x
1
) = J
+
x. (7.31)
This relationship is often used in estimating the errors in joint angles and velocities.
The special case in which the number of joint variables is equal to the number
of equations is of some importance as in this case the Jacobian matrix is square, and
it follows that
J
+
= J
1
. (7.32)
7.3 The Jacobian and the Inverse Jacobian 133
Table 7.1. Connectivities of typical kinematic joints
Joint type Rigid Revolute Prismatic Screw Cylindric Planar Spherical
c
i
0 1 1 1 2 3 3
It is possible to identify the number of joint variables in a manipulator as this corre-
sponds to the number of DOFs of the kinematic chain.
7.3.1 The Mobility Criterion: Overconstrained Mechanisms
Any free link possesses six DOFs with respect to a xed link. Thus the two-link
systemhas a mobility of six. Every further connection imposes constraints, and there
is a corresponding reduction in the DOFs. Alternatively, if the two links are rigidly
connected, the mobility is zero. A kinematic joint provides the links with a certain
number of additional DOFs. Thus we dene the connectivity of a joint as the number
of DOFs of a rigid body connected to another xed rigid body through the joint.
Given a manipulator with n number of physical links and j number of joints, the
mobility or the number of DOFs of the chain is dened by the Gr ubler or Kutzbach
mobility criterion,
M= L(n j ) +
j

i =1
c
i
,
where c
i
is the connectivity of each joint, L = 6 for a spatial manipulator, and L = 3
for a planar manipulator. The connectivities c
i
of four of the typical joints are listed
in Table 7.1. Thus the number of joint variables is equal to the mobility M.
In a spatial or three-dimensional manipulator the Jacobian matrix is square
when M= 6, and in a two-dimensional manipulator it is square when M= 3. When
the mobility is greater than zero one could expect the system to be mobile, and when
M = 0 the system would be immobile and consequently act as a structural frame-
work under normal circumstances. However, there are linkages that have full range
mobility, and therefore they are mechanisms even though they should be structures
according to the mobility criterion. These linkages are called overconstrained mech-
anisms. A typical example is the so-called six-bar Bricard mechanism, which may,
in principle, be used to transfer revolute motion to another revolute joint when the
two joint axes are any skew lines in space, thus eliminating the need to use various
types of expensive and heavy gears such as conic, spur, bevel, or worm gears. Some
overconstrained mechanisms, with at least one revolute and one prismatic joint, may
be used to transfer rotational motion to linear and vice versa when the revolute joint
axis and the prismatic joint axis are any skew lines in three-dimensional space. The
mobility of overconstrained mechanisms is due to the existence of special geometric
conditions between the mechanism joint axes that are called overconstraint condi-
tions. Although we obtain these conditions by solving the inverse kinematics of the
closed-loop kinematic chain, which leads to a homogeneous system of equations and
134 Jacobians
an associated characteristic equation, their spatial kinematic characteristics make
them good candidates in modern linkage designs for which spatial motion is needed.
In the case of some overconstrained mechanisms the mobility may even be negative,
implying that even the removal of certain constraints would not make it mobile in
the sense of the mobility criterion, although they physically realizable mechanisms.
7.3.2 Singularities: Physical Interpretation
When the determinant of the square Jacobian matrix is zero it is not invertible
except in a generalized sense. The situations in which this happens correspond to
singularities of the Jacobian, when the manipulator loses one or more DOFs and
consequently matrix inversion is not possible. Before the computation of the inverse
Jacobian is discussed, an in-depth analysis of the singularities of the Jacobian matrix
and the relationship of these singularities to singular congurations or congura-
tions in which the manipulator loses one or more DOFs are presented. The presence
of singular congurations is not limited to serial manipulators alone and is a serious
shortcoming of several parallel manipulators.
The Jacobian is a function of the joint variables, and together they determine
the conguration of the manipulator. The set of joint variables is therefore denoted
as the conguration set Q. Because the Jacobian is a function of the conguration
set, those congurations for which the Jacobian matrix loses its rank are of special
importance. Such congurations are called singularities or singular congurations.
Identifying the singular congurations of a manipulator is essential to gaining an
understanding of the limitations of the end-effector in terms of the directions of
motion, joint velocities, joint torques, and the reachable workspace. Thus certain
singularities represent congurations from which certain directions of motion
may be unattainable or situations in which bounded end-effector velocities or
torques correspond to unbounded joint velocities or torques, respectively. In some
cases they would also represent transformations to unreachable points outside the
workspace. Normally the inverse kinematic joint velocities are nonunique in the
vicinity of the singularities.
The singularities associated with a manipulator may be broadly classied into
two groups: (1) Singularities associated with the manipulator links or arms and (2)
singularities associated with the wrist. The former are sometimes further classied
as shoulder and elbow singularities. Considering the PUMA 560 conguration, the
shoulder singularity refers to a situation in which the upper armed is locked along
the axis of the body rotation. The elbow singularity refers to the situation in which
the forearm and the upper arm behave like a single rigid link. To illustrate the wrist
singularity, consider a spherical wrist based on the 323 Euler angle sequence.
When the second rotation about the pitch axis is zero, it is impossible to distinguish
between the rst and the third rotations in the sequence. In this situation the wrist
has just one DOF rather than three.
An alternative approach to singularities classication is based on the location of
the singular point relative to the workspace. Singularities within the workspace are
generally more serious than singularities on the workspace boundary.
7.3 The Jacobian and the Inverse Jacobian 135
Table 7.2. The ve-bar mechanism and associated singular
congurations
Nonsingular configuration
For a typical example of a kinematic chain with singular congurations, we con-
sider the planar ve-bar mechanism. The mechanism has a mobility of 2. Table 7.2
illustrates the ve-bar mechanism and three associated singular congurations.
The principal method of identifying the singularities is singular-value decompo-
sition of the Jacobian matrix. For every Jacobian matrix of size N M and rank r,
one can obtain the singular-value decomposition,
J = UV

, (7.33)
where V

is the conjugate transpose of V and U and V are unitary matrices of size


N N and M M, respectively, so that their determinants are equal to unity and
=
_

r
0
0 0
_
,
where
r
= diag [
1
,
2
, . . . ,
r1
,
r
] and
1

2

r1

r
> 0. The diag-
onal elements of
r
are called singular values, and the columns of U and V are
referred to as the left and right singular vectors, respectively. When plotted in
hyperspace, the singular values trace an ellipsoid as the end-effector traverses its
workspace. The lowest singular value is a measure of how close the Jacobian is to
becoming singular. It is also a measure of the manipulability of the mechanismthat is
the ability to change position or orientation at a given conguration. The maximum
singular value is a measure of the maximum amplication, and the minimum singu-
lar value is also a measure of the maximum attenuation. A singular value is unlikely
to be precisely equal to zero. When it is less than a small measure of machine preci-
sion (say 2 10
16
) it is taken to be zero.
A major reason for computing the singular value is to be able to compute its
norm. Norms are nonnegative numbers that are measures of the length of a vector.
136 Jacobians
Given p, where p is a positive real number, the p norm or the L
p
norm of an n 1
vector x is dened as
x
p
=
_
n

i =1
|x
i
|
p
_
1/p
.
In particular, the two-norm is also known as the Euclidian norm or the ordinary
vector length. The corresponding matrix norm is the maximum of the vector norms
of each of the column vectors. From singular-value decomposition, the two-norm of
the Jacobian is equal to the maximum singular value:
J
2
=
1
. (7.34)
From the singular-value decomposition, it is possible to dene a pseudoinverse of
the Jacobian as
J

= V
_

1
r
0
0 0
_
U

, (7.35)
which satises the relations J J

J = J and J

J J

= J

. When r = M= N ,
J

= J
1
. (7.36)
The pseudoinverse provides a restricted solution to the inverse velocity kinematics.
If we let

= J

v then
J

x = J

J

= J

JJ

v = J

v, (7.37)
which implies that only a component of v equals a corresponding component of x.
Although the singular values are the square roots of the nonzero eigenvalues
of J
T
J, computing the eigenvalues of it is just another bad way of computing the
singular values. The standard way of computing the singular-value decomposition is
the QRfactorzation, and most commercial software tools such as MATLABprovide
this facility. The singular-value decomposition of the Jacobian matrix also permits
the right pseudoinverse to be computed relatively easily.
7.3.3 Manipulability: Putting Redundant Mechanisms to Work
Many robot manipulators are designed to have redundant DOFs so as to facilitate
their performing an array of tasks. However, to physically achieve this objective, it
is necessary to recognize the goal of introducing redundancy and its utilization and
to select a goal that satises trajectory.
In designing the mechanism of a robot manipulator or in planning the postures
for performing a task, it is essential to be able to change the position and orientation
of the end-effector with ease and dexterity. The renowned Japanese engineer Tsu-
neo Yoshikawa proposed using a measure based on the volume of the manipulabil-
ity ellipsoid, as derived from a manipulators kinematic properties, i.e., the Jacobian.
This concept of manipulability is often used to obtain a quantitative measure of the
7.3 The Jacobian and the Inverse Jacobian 137
end-effectors dexterity. It is a dynamic measure that is based on the idea that, when
we consider the set of all end-effector velocities that are realizable by joint motions
under a magnitude constraint, it is desirable that this set be not only large but also
within a spherically bounded region. Measures of dynamic manipulability summa-
rize a manipulators capacity to generate accelerations for arbitrary tasks, and such
measures are useful tools for the design and control of general-purpose robot mech-
anisms. For example, considering the case of a two-joint, two-link arm moving in
a plane, then the aforementioned set of all end-effector velocities that are realiz-
able by joint motions under a magnitude constraint becomes an ellipse (called the
manipulability ellipsoid). Regarding the area of this ellipse as a measure of manip-
ulation ability of the arm (called manipulability measure), we can show that this
measure is a maximum when the elbow angle is a right angle and when the lengths
of upper arm and forearm are the same if the total arm length is constant. The major
and minor axes of the ellipse may be shown to be proportional to the maximum and
minimum singular values of the Jacobian matrix. Thus the ratio of the minimum and
maximum singular values of the Jacobian is also often used as a measure of dynamic
manipulability.
A manipulator is kinematically redundant if the number of active joints is
greater than the number of DOFs of its end-effector. Generally a higher degree of
kinematic redundancy, involving more joints than DOFs, improves the manipulabil-
ity, i.e., the end-effector dexterity. On the other hand, because of the nonuniqueness
of inverse kinematics, path planning is complex, particularly when one seeks for the
optimum usage of the available freedom in distributing the commanded motion to
the full set of redundant joints.
The extra freedom that is due to kinematic redundancy also offers other advan-
tages over conventional nonredundant manipulators in robot planning and con-
trol. Considering the case of a manipulator that executes a pointing task, trac-
ing the trajectory of the object is given higher priority than avoiding obstacles in
the workspace. The objects trajectory must be tracked exactly, whereas loose tol-
erances are typically sufcient for avoiding obstacles. Thus the DOFs associated
with orientation of the camera located at the end-effectors tip must be tracked
with greater delity than the remaining DOFs and is the basis for goal-satisfying
optimization. This results in a tricky weighted optimization problem that one can
effectively solve by harnessing the additional freedom in a kinematically redundant
manipulator.
7.3.4 Computing the Inverse Kinematics: The Lyapunov Approach
It is often of interest to compute inverse kinematics without explicitly inverting the
Jacobian. Such a technique would bypass the need to invert the Jacobian matrix.
The method is based on the so-called Lyapunov approach pioneered by Aleksandr
Mikhailovich Lyapunov (18571918) and a student Pafnuty L. Chebyshev (1821
1894), who was himself a contemporary of one of Jacobis students. Chebyshev, who
taught kinematics at the University of St. Petersburg, invented several straight-line
138 Jacobians
_
+
x
d
x
s
J
T
(
i
) K
[ f
i
( )]
m
s s
x
s
parallel integrators
e

Figure 7.4. Computation of inverse kinematics by an approach based on Lyapunovs


method.
mechanisms that were important in metal-planing machines and textile manufac-
turing. Although Lyapunovs method is not presented here in full, elements of the
Lyapunov approach to inverse kinematics computation are briey presented as the
method itself plays a central role in manipulator and robot control.
The computation of inverse kinematics by an approach based on Lyapunovs
method is illustrated as a multi-input multi-output block diagram in Figure 7.4. In
the gure the direct kinematic equations are denoted as
x
s
= [x
i s
] = [ f
i
(
i s
)] ,
where J
T
(
i
) is the transpose of the corresponding Jacobian matrix and
_
m
denotes
a string of m parallel integrators.
Given a desired Cartesian trajectory x
d
and assuming that the corresponding
solution to the direct kinematic equations for the joint variables is
d
, consider the
system illustrated in Figure 7.4. The given Cartesian trajectory is assumed to be
such that the time rate of change x
d
is bounded from above. Given also that K is
a positive-denite matrix and also that the Jacobian is singularity free along the
particular trajectory under consideration, then there exists a positive scalar and a
time T > 0, such that for all time, t > T,

2
.
Furthermore, can be made arbitrarily small by increasing the minimum eigenvalue
of K.
To justify the preceding assertion, dene a joint conguration error signal,
(t ) =
s
(t )
d
(t ) , (7.38)
so it follows that

s
(t ) =
d
(t ) + (t ) .
From the connected blocks in Figure 7.4 the following equations may be identied:
e (t ) = x
d
(t ) x
s
(t ) = [ f
i
(
i d
) f (
i s
)] ,

s
(t ) = KJ
T
e (t ) ,
and the parallel integrators satisfy

s
(t ) =
s
(t ) .
7.3 The Jacobian and the Inverse Jacobian 139
Hence,

s
(t ) = KJ
T
[ f
i
(
i s
) f (
i d
)] . (7.39)
For notational convenience we denote [ f
i
(
i s
) f (
i d
)] as E. Hence,
(t ) = KJ
T
[ f
i
(
i s
) f (
i d
)]
d
(t ) =
_
KJ
T
E +
d
(t )
_
. (7.40)
To show that the error vector (t ) can be made arbitrarily small after some time T,
we consider a positive-denite functional of (t ) in the form
V (, t ) =
1
2
[ f
i
(
i s
) f (
i d
)]
T
[ f
i
(
i s
) f (
i d
)] =
1
2
E
T
E, (7.41)
and V (, t ) > 0 when (t ) = 0.
Differentiating V(, t ) along the trajectories of (t ) that satisfy Equation (7.40),
we have

V (, t ) =
V (, t )

t
+
V (, t )
t
=
_

T
t
E
T

T
+
E
T
t
_
E,
and it follows that,

V (, t ) = E
T
JKJ
T
E

T
d
(t ) J
T
E. (7.42)
Given that the minimum eigenvalue of the positive-denite matrix K is
K
and that

T
d
(t ) and J are bounded, an upper bound for

V (, t ) is

V (, t ) 2
K

2
r
_
_
V (, t )
_
_
2

T
d
(t ) J
T
E 2
K

2
r
_
_
V (, t )
_
_
2
cE,
where c is a constant.
Hence

V (, t )
K

2
r
E
2
2
c E
2
, (7.43)
which may be expressed as the negative of a sum of squares and

V (, t )
_
_

r
E
2

c
2

r
_
2

_
c
2

r
_
2
. (7.44)
Thus the positive-denite function V (, t ) can be made to be always decreasing with
increasing time along the trajectories of (t ) that satisfy Equation (7.40). Hence it
follows that the error vector (t ) can be made arbitrarily small after some time T
by an appropriate choice of the positive-denite matrix K, and as a consequence it
follows that

s
(t )
d
(t )
sufciently fast as the time t . Thus the result allows one to recursively compute
the inverse kinematics without inverting the Jacobian.
In fact, the method could be extended to compute the joint accelerations as well.
However, the computation of joint accelerations from rst principles is generally
preferred. Because
x = J

, x =

J

+J

.
140 Jacobians
Hence,
z = x

J

= J

,
and conceptually it follows that

= J
1
z = J
1
( x

J

).
The computation of the joint accelerations may be carried out by a recursive process
similar to the one adopted for the joint velocities.
EXERCISES
7.1. Consider the two-link planar manipulator illustrated in Figure 4.2. Use the
instantaneous screw vector approach and show that the 6 2 Jacobian matrix for
the transformation from the end-effector to the base coordinates is of the form
J =
_
z
0
z
0
z
0
r
2
z
0
(r
2
r
1
)
_
,
where
z
0
=

0
0
1

, r
1
=

a
1
c
1
a
1
s
1
0

, and r
2
=

a
1
c
1
+a
2
c
12
a
1
s
1
+a
2
s
12
0

.
Conrm your results by differentiation with respect to the joint velocities of the
direct kinematic equations in Chapter 4.
7.2. Obtain the determinant of the 2 2 matrix product J
T
J and determine the sin-
gularities, if any, associated with the two-link planar manipulator.
7.3. Show that for a kinematically decoupled manipulator the Jacobian may be
expressed in block-triangular form as
J =
_
J
11
J
12
0 J
22
_
.
Hence show that the singularities may be partitioned into two independent sets.
7.4. Obtain the Jacobian matrix for the transformation from the end-effector to the
base coordinates of the three-link planar manipulator in Figure 4.8.
7.5. Show that for a typical three-link spherical wrist the Jacobian is of the form
J =
_
z
3
z
4
z
5
z
3
r z
4
r z
5
r
_
.
7.6. Obtain the Jacobian matrix for the transformation from the end-effector to the
base coordinates of the two-link planar manipulators in Figures 4.9 and 4.10.
7.7. Obtain the Jacobian matrix for the transformation from the end-effector to the
base coordinates of a 3R spherical wrist (323 Euler angle sequence).
Exercises 7.17.13 141
7.8. Obtain the Jacobian matrix for the transformation from the end-effector to the
base coordinates of the three-link planar manipulator in Figure 4.11.
7.9. Consider the four-DOF SCARA manipulator (Figure 1.18) and show that the
6 4 Jacobian matrix for the transformation from the end-effector to the base coor-
dinates is of the form
J =
_
z
0
z
1
0 z
3
z
0
r
4
z
1
(r
4
r
1
) z
2
0
_
.
Hence obtain the singularities associated with the SCARA manipulator.
7.10. Consider the six-DOF Stanford manipulator and obtain the 6 6 Jacobian
matrix for the transformation from the end-effector to the base coordinates.
7.11. Consider the PUMA 560 manipulator (Figure 1.19) and obtain the Jacobian
matrix for the transformation from the end-effector to the base coordinates.
(a) Hence write a computer program to recursively compute the inverse veloc-
ity kinematics based on the Lyapunov approach.
(b) Write a computer program to perform the singular-value decomposition
of the Jacobian matrix corresponding to the PUMA 560 manipulator and
determine all the singular congurations associated with it.
7.12. A Hookes joint is used to connect to two shafts whose axes intersect at 150

.
The driving shaft rotates uniformly at 240 rpm.
(a) If the inclination of the driven shaft to the driving shaft is , show that the
rotation of the driving shaft is related to the rotation of the driven shaft
by
tan = cos tan.
(b) Hence deduce a general expression for the angular velocity of the driven
shaft in terms of the angle of intersection between the two shafts and the
angular position of one arm of the crosspiece.
(c) Hence determine the maximum and the minimum speeds of the driven
shaft.
7.13. Consider an axisymmetric three-leg-actuated fully parallel platform. The actu-
ated legs are connected to two equilateral triangular platforms of unequal size by
two-DOF universal joints. The base platform, which is the larger of the two self-
similar triangles, is xed in space. The linear actuators of the legs are in the form of
the controlled prismatic joints.
Show that by placing the universal joints such that within one leg their axes are
always parallel to each other, the motion of the moving platform may be restricted
to translation only, relative to the base platform.
8
Newtonian, Eulerian, and Lagrangian
Dynamics
8.1 Newtonian and Eulerian Mechanics
The kinematic synthesis of manipulators pointedly ignores one important aspect
size. It must be said that size matters! The parameter that is probably one of the
best measures of size is inertia. The power required to drive a manipulator largely
depends on the inertia of the manipulator. Thus the forces and moments that must
be generated to ensure that the manipulator is not only mobile but performs the
motions it is expected to take on a special signicance. Yet there is one feature of
the kinetics of mechanisms that sets it apart from the kinetics of free bodies. In the
kinetic analysis of free bodies one is provided with the forces and moments act-
ing on the body, and the objectives of the analysis are to determine the ensuing
motions of the bodies. In the case of mechanisms the situation is just the opposite.
The motions of all the kinematic links may be determined rst, and it is then nec-
essary to determine the forces and moments acting on each one of them. However,
the basic principles of kinetic analysis remain the same. They all form a part of
the eld of dynamics, the study of the action of forces and moments on bodies and
their relationship of the resulting motions. The study of the action of the forces and
moments and the motions they generate relates to the kinetics whereas the relation-
ships among the motion attributes, position, velocity, and acceleration relate to the
kinematics.
Probably the primary underpinning principles of kinetic analysis are enshrined
in Sir Isaac Newtons three laws of motion, which were enunciated in 1687 in the
Principia Mathematica. The three laws may be stated as follows:
1. Every body continues in its state of rest or of uniform motion in a straight line
unless it is made to change that state by an applied force (law of inertia).
2. The rate of change of momentum of a body is proportional to the net applied
force and takes place in the direction of the net applied force.
3. To every action there is an equal and opposite reaction.
Of these three, it is the second that is most relevant to the study of the kinetics
of rigid bodies such as the links in a manipulator. Because Newtons second law
142
8.1 Newtonian and Eulerian Mechanics 143
states that the rate of change of momentum is equal to the applied force, it may be
expressed in vector form as
F =
d
dt
p, (8.1)
where the translational momentum is p = mv. The law applies to a single particle of
mass. However, a rigid body may be considered to be a collection of particles held
together such that the distances between one particle and the others remain constant
for all time. We obtain the total mass of the body by summing the masses of each
particle that makes up the body. Each of the particles is characterized by a volume
element and an associated material density. Hence, to estimate the total mass, each
element of volume is multiplied by the density and the product integrated over the
entire volume of the body. The general relationship dening the total mass is
M =
_
V
dV, (8.2)
where is the local density of material of the body. The center of mass of a rigid
body is the point in the body where the sum of the moments of the masses of each
of the individual particles is equal to zero. Thus, if the position vector of the center
of mass is dened by c and r is the position vector of a particle, then the integral
_
V
(r c) dV = 0. (8.3)
However, because the center of mass is a xed point in the body,
c
_
V
dV =
_
V
rdV. (8.4)
Hence the position of the center of mass is given by the vector
c =
_
V
rdV
__
V
dV =
1
M
_
V
rdV. (8.5)
Moreover, the total linear momentum of all the particles that make the rigid body
is
p =
_
V
vdV =
_
V

dr
dt
dV =
d
dt
_
V
rdV =
_
V
dV
dc
dt
= M
dc
dt
. (8.6)
Summing the forces acting on all the particles that make up the rigid body, we
obtain

i
F
i
= F
total
=
d
dt
p = M
d
2
dt
2
c. (8.7)
Let the position vector of the center of mass of the ith link from the origin of the
frame xed in the link and located at the joint center be c
i
. Furthermore, let the
velocity of the joint center be v
i
and the angular velocity of the link be
i
. Then
the Newtonian force equation for the motion of the ith link with mass M
i
is

i
F
i
= F
total
= M
i
d
dt
(v
i
+
i
c
i
) . (8.8a)
144 Newtonian, Eulerian, and Lagrangian Dynamics
These may also be expressed as

i
F
i
= F
total
= M
i
d
dt
_
v
i
+ C
T
i

i
_
, (8.8b)
where
C
i

0 c
3i
c
2i
c
3i
0 c
1i
c
2i
c
1i
0

c
1i
c
2i
c
3i

c
i
.
The moment of momentum of a particle is dened as
h = r p. (8.9)
The rate of change of the moment of momentum is given by
d
dt
h =
d
dt
(r p) =
d
dt
r p + r
d
dt
p = r F, (8.10)
because
d
dt
r p =
d
dt
r m
d
dt
r = 0. (8.11)
Thus the rate of change of moment of momentum is equal to the moment of the
applied force:
d
dt
h = r F. (8.12)
Considering a rigid body that can be thought of as collection of particles that are
constrained not to move relative to each other, we have
h
body
=

r p =
_
V
r
dr
dt
dV. (8.13)
Using the fact that, for the ith link,
dr
dt
= v
i
+
i
r,
we obtain
h
body
=

r p =
_
V
r (v
i
+
i
r) dV. (8.14)
Evaluating the integral, we have
h
body
=

r p = M
i
(c
i
v
i
) +
_
V
r (
i
r) dV. (8.15)
The integral of the vector triple product is linear in the angular velocity components
and is dened as
_
V
r (
i
r) dV = I
i

i
, (8.16)
8.1 Newtonian and Eulerian Mechanics 145
where I
i
is a 3 3 matrix, known as the moment of inertia matrix. With this substi-
tution,
h
body
=

r p = M
i
(c
i
v
i
) + I
i

i
. (8.17)
However,
d
dt
h
body
=
d
dt
(M
i
(c
i
v
i
) + I
i

i
) =

r F = M
total
. (8.18)
The equation governs the rotational equilibrium of a rigid body and is complemen-
tary to the Newtonian force equation. It may also be expressed as
M
total
=

r F =
d
dt
(M
i
C
i
v
i
+ I
i

i
) . (8.19)
The equation was independently enunciated in the context of the motion of rigid
bodies in 1765 by the Swiss mathematician Leonard Euler almost 80 years after Sir
Isaac Newton published his three laws of motion. Hence it is often referred to as
Eulers equation of motion.
8.1.1 Kinetics of Screw Motion: The NewtonEuler Equations
Together, the Newtonian equation for force equilibrium and the Eulerian equation
for moment equilibrium may be expressed as a single matrix differential equation:
_
M
total
F
total
_
=

i
_
r
i
F
i
F
i
_
=
d
dt
__
I
i
M
i
C
i
M
i
C
T
i
M
i
I
_

i
v
i
__
, (8.20)
which could then be written in terms of the applied wrench and the instantaneous
screw vector as
W
total
=
d
dt
(N
i
s
i
) , (8.21)
where
N
i
=
_
I
i
M
i
C
i
M
i
C
T
i
M
i
I
_
.
The combined single matrix equation is often referred to as the NewtonEuler
matrix equation and is the equations of motion of a rigid body in a xed frame
of reference.
It is important to observe that N
i
is not a constant matrix and that its elements
could be functions of time.
Following dAlemberts interpretation of the inertial terms in Newtons law, we
introduce the inertial wrench dened as
W
inertial
=
d
dt
(N
i
s
i
) . (8.22)
Now the dynamic equations of motion may be stated as equivalent dynamic equi-
librium equations in the same form as that of the static equilibrium equations by
146 Newtonian, Eulerian, and Lagrangian Dynamics
including the inertial wrench as yet another external wrench acting on the body.
The dynamic equilibrium equations in a xed frame of reference are

W = W
total
+ W
inertial
= 0. (8.23)
8.1.2 Moments of Inertia
The relative moment of momentum of a system of particles is dened by
h =
_
V
(r v) dm =
_
V
(r v) dV, (8.24)
where r is the position vector of a mass particle and v is the particle velocity rel-
ative to a moving frame of reference. Assuming that the relative motion is purely
rotational, we may dene the moment of momentum vector of a rigid body as
h =
_
V
r ( r) dm =
_
V
[(r r) r (r )] dm = I, (8.25)
where I is the moment of inertia matrix and is the angular velocity vector of the
reference frame given by
= [
1

2

3
]
T
(8.26a)
or
=
1
i +
2
j +
3
k (8.26b)
in terms of the mutually perpendicular unit vectors i, j, and k in the three body axes,
where
1
,
2
, and
3
are the three Cartesian components of angular velocity.
If the axes along which h is resolved are dened to be coincident with the phys-
ical principal axes of the body, then I is a diagonal matrix. Thus, when h is not
resolved along principal body axes, we get
h = I =

I
xx
I
xy
I
xz
I
xy
I
yy
I
yz
I
xz
I
yz
I
zz

. (8.27)
Assuming that the particulate position vector r is given by
r = xi + y j + yk, (8.28)
we nd that the vector triple product
r ( r) = [(r r) r (r )] = (r r) rr = [(r r) I rr]
is
r ( r) =

(x
2
+ y
2
+ z
2
)

1 0 0
0 1 0
0 0 1

x
2
xy xz
xy y
2
yz
xz yz z
2

. (8.29)
8.1 Newtonian and Eulerian Mechanics 147
Thus the 3 3 inertia matrix is given by
I =
_
V
[(r r) I rr] dV (8.30a)
or by
I =
_
V

(x
2
+ y
2
+ z
2
)

1 0 0
0 1 0
0 0 1

x
2
xy xz
xy y
2
yz
xz yz z
2

dV. (8.30b)
If we rotate the body by a rotational transformation Rthen the transformed moment
of inertia matrix is
I

=
_
V
R[(r r) I rr] R
T
dV = RIR
T
. (8.31)
Thus it follows that, for the ith link, the effect of a rotational transformation R
i
is
I

i
= R
i
I
i
R
T
i
. (8.32)
To see the effect of a translational displacement d of the position vector r, on the
moment of inertia, we set
r

= r + d (8.33)
and rst note that
r

( r

) = (r + d) [ (r + d)] . (8.34)
Consequently, the vector triple product
(r + d) [ (r + d)] = r ( r) + d ( r) + r ( d) + d ( d) ,
and it follows that, for the ith link, the moment of inertia is
I

i
= I
i
M
i
T
i
C
i
M
i
C
i
T
i
M
i
T
2
i
, (8.35)
where
C
i

0 c
3i
c
2i
c
3i
0 c
1i
c
2i
c
1i
0

c
1i
c
2i
c
3i

c
i
, T
i

0 d
3i
d
2i
d
3i
0 d
1i
d
2i
d
1i
0

d
1i
d
2i
d
3i

d
i
,
and d
i
is the translation displacement of the ith link.
Under the effect of a combined translational and rotational transformation, the
position vector of the center of mass is
c

=
1
M
_
V
r

dV =
1
M
_
V
(Rr + d) dV = Rc + d. (8.36)
8.1.3 Dynamics of a Links Moment of Inertia
In general the translational and rotational transformations are both functions of
time. Thus the time rate of change of the moment of inertia is directly related to the
148 Newtonian, Eulerian, and Lagrangian Dynamics
time rates of change of the translational and rotational transformations. To iden-
tify this relationship explicitly, assuming that only the rotational transformation is a
function of time, we note that
d
dt
I

i
=
d
dt
R
i
I
i
R
T
i
+ R
i
I
i

d
dt
R
T
i
. (8.37)
Because
d
dt
R
i
=
i
R
i
,
d
dt
I

i
= I

i
+
i
R
i
I
i
R
T
i

i
+ R
i
I
i
(
i
R
i
)
T

i
.
However, because
R
i
I
i
(
i
R
i
)
T

i
= R
i
I
i
R
T
i
(
i

i
) = 0,
it follows that
d
dt
I

i
= I

i
+
i
I

i
,
i
=

t

i
. (8.38)
Further,
d
dt
v
i
=

t
v
i
+
i
v
i
= a
i
+
i
v
i
. (8.39)
Thus, applying the chain rule of differentiation, we may express the NewtonEuler
equations as
_
M
total
F
total
_
=
_
I
i
M
i
C
i
M
i
C
T
i
M
i
I
__

i
a
i
_
+
_

i
(I
i

i
+ M
i
C
i
v
i
)

i
M
i
v
i
_
. (8.40)
These are the equations of motion of the rigid link in a xed frame of reference so
the inertia matrix and the position vector of the center of mass are not constants.
However, the form of the equations is unchanged if we were to consider a moving
reference frame xed in the body.
To transform the equations to a joint centered reference frame xed in the link,
we assume that the xed reference frame is colocated with the link-xed moving
frame at the joint center. Thus we need to transform the xed frame through a
sequence of rotations to align it with the link-xed moving frame. Recall that the
ith-link body coordinates are related to the xed coordinates by the transformation
_

k
v
k
_
B
=
k

i =0
_
R
i,i 1
0
0 R
i,i 1
__

k
v
k
_
F
= R
k
_

k
v
k
_
. (8.41)
When the transformation is applied to the NewtonEuler equations, the equations
of motion remain the same in form, but are now valid in the ith-link body co-
ordinates. Further the superscript B is not explicitly indicated for brevity. Thus the
NewtonEuler equations in the ith-link body coordinates are
_
M
total
F
total
_
=
_
I
i
M
i
C
i
M
i
C
T
i
M
i
I
__

i
a
i
_
+
_

i
(I
i

i
+ M
i
C
i
v
i
)

i
M
i
v
i
_
. (8.42)
8.1 Newtonian and Eulerian Mechanics 149
Introducing a compact notation for the product of a screw and a wrench as
__
a
b
_

_
A
B
__
=
_
b A
a A + b B
_
, (8.43)
we may express the NewtonEuler equations as
W
total
= N
_

i
a
i
_
+
__

i
v
i
_
N
_

i
v
i
__
. (8.44)
Again following dAlemberts interpretation of the inertial terms in Newtons law,
we dene the inertial wrench as
W
inertial
=
_
I
i
M
i
C
i
M
i
C
T
i
M
i
I
__

i
a
i
_

i
(I
i

i
+ M
i
C
i
v
i
)

i
M
i
v
i
_
. (8.45)
Again, the dynamic equations of motion may be stated as equivalent dynamic equi-
librium equations in the same form as that of the static equilibrium equations by
including the inertial wrench as yet another external wrench acting on the body.
The dynamic equilibrium equations in the ith-link body-xed frame of reference
are

W = W
total
+ W
inertial
= 0. (8.46)
In the special case of a serial manipulator with only revolute joints, the equations of
motion of a typical link may be expressed in a fairly simple form. In this case,
M
total
= I
i

i
+
i
I
i

i
. (8.47)
8.1.4 Recursive Form of the NewtonEuler Equations
We now discuss in detail the recursive formulation of robot dynamics. The idea
behind the recursive formulation is a two-step iteration process.
The dynamic equilibrium equations are initially formulated for the entire serial
manipulator. From Section 6.4, recursive equations relating the static wrench acting
on the (i + 1)th link to that acting on the ith link are
W
i
= W
e
+
_
R
i,i +1
p
i,i +1
R
i,i +1
0 R
i,i +1
_
W
i +1
. (8.48)
In the dynamic case we may simply modify the external wrench component W
i e
by
adding to it the inertial wrench in the sense of dAlembert. Hence it follows that
W
i
+
_
I
i
M
i
C
i
M
i
C
T
i
M
i
I
__

i
a
i
_
+
_

i
(I
i

i
+ M
i
C
i
v
i
)

i
M
i
v
i
_
= W
i e
+
_
R
i,i +1
p
i,i +1
R
i,i +1
0 R
i,i +1
_
W
i +1
. (8.49)
These equations propagate backward starting at the end-effector, where the wrench
acting on the workpiece at the TCP or tool tip is specied, toward the xed link,
150 Newtonian, Eulerian, and Lagrangian Dynamics
velocities, accelerations
Joint moments and forces
Figure 8.1. The NewtonEuler recursive formulation.
the base. On the other hand, they are now functions of the instantaneous screw
vector and its time derivative. Thus we must necessarily augment the backward-
propagating wrench equations with the forward-propagating instantaneous screw
equations given by
_

i +1
v
i +1
_
=
_
I 0
P
i,i +1
I
__
R
i +1,i
0
0 R
i +1,i
___

i
v
i
_
+
_

i e
v
i e
__
. (8.50)
The complete set of forward- and backward-propagating equations is similar to the
so-called Luh, Walker, and Paul algorithm. However, there are indeed a number
of versions of these based on the nature of the formulation. The wrenchscrew-
based formulation presented here is particularly suitable for the matrix analysis of
the manipulator dynamics. The forward and backward recursive processes in the
NewtonEuler equations are illustrated in Figure 8.1.
The two-step iterative process may now be explicitly stated. In the forward iter-
ation the generalized velocities and accelerations of each link are propagated from
the base to the tip, each quantity expressed in local reference frames attached at the
joint of each link. In the backward iteration the generalized forces are propagated
backward from the tip to the base, also expressed with respect to local reference
frames attached at the joint of each link.
The dynamic equations of motion for a robot manipulator with only revolute
and prismatic joints may be expressed in terms of the joint space variables. In this
form it is known as the conguration state equation.
To express the equations in terms of joint space variables, it is essential to
extract the externally applied joint force or torque from the external wrench W
i e
acting on each link. In the binary links it can be shown that the joint wrench W
i
satises the relation
W
i
+ W
Ri
+
N

j =i
G
j
=
N

j =i
W
j e
, (8.51)
where W
Ri
is the reaction wrench and G
j
is the gravity wrench acting on each link.
Further, the reaction wrench W
Ri
acts in a direction orthogonal to the ith-joint axis.
8.1 Newtonian and Eulerian Mechanics 151
For a revolute joint, the ith-joint axis may be dened by the unit screw vector
S
i
=
1
v
i

[ 0 v
i
]
T
. (8.52)
Hence, by taking the dot product of the joint wrench W
i
and the unit screw vector
S
i
, we obtain
W
i
S
i
= W
i
=
N

j =i
W
j e
S
i
W
Ri
S
i

N

j =i
G
j
S
i
. (8.53)
However, because the dot product of the reaction wrench with the unit screw vector
in the direction of the joint axis is zero,
W
i
=
N

j =i
W
j e
S
i

N

j =i
G
j
S
i
. (8.54)
Assuming that gravity normally acts downward and is the negative Z direction in
each link, the gravity wrench G
i
may be shown to be
G
i
=
_
I
i
M
i
C
i
M
i
C
T
i
M
i
I
__
0
gk
_
. (8.55)
Further, the joint wrench may expressed as the sum of a control wrench and the
end-effector wrench referred to base coordinates. Hence, starting from the dynamic
equilibrium wrench equations, the governing equations may be expressed as
I
0
(q
0
) q
0
+ C
0
(q
0
, q
0
)
g0
(q
0
) = =
c0
+ J
T
0
(q
0
) W
N
, (8.56)
where q
0
is the Mvector of joint space variables in the frame of reference attached to
the xed link, I
0
(q
0
) is the M Minertia matrix, C
0
(q
0
, q
0
) represents the Coriolis
and centrifugal force vectors,
g0
is the vector of gravity torques acting at the joints,
and
c0
is the vector of the generalized input control moments at the joints, and W
N
is the wrench acting on the end-effector mapped to the joint space via the transpose
of the Jacobian matrix J
T
0
(q
i
). In particular, the Jacobian J
0
(q
0
) expresses the rela-
tion between the instantaneous screw vector at the origin of the end-effector in the
reference Cartesian frame and the joint velocities:
[
0e
v
0e
]
T
= J
0
(q
0
) q
0
. (8.57)
The coefcient matrices in Equation (8.57) correspond to the reference frame and
are functions only of the joint space coordinates in this frame. The coefcient matri-
ces in the conguration state equation, Equation (8.56), are a function of the entire
conguration state vector. We determine the gravity torques at each joint recur-
sively by assuming that the base of the manipulator is accelerating in a direction
opposite to that of the gravity vector with an acceleration equal to 1g, where g is the
local acceleration that is due to gravity.
152 Newtonian, Eulerian, and Lagrangian Dynamics
8.2 Lagrangian Dynamics of Manipulators
The Lagrangian dynamic formulation is an alternative approach to the Newton
Euler approach. Pioneered by the French mathematician Joseph-Louis Lagrange
(17361813) and stated rst in 1788, it is based on a energy characterization of
a dynamic system in contrast to the forcemoment-balance-based NewtonEuler
approach. Although the governing equations of motion obtained by either approach
are completely equivalent, the Lagrangian approach is considered more useful for
establishing the governing equations of motion explicitly (i.e., symbolically), and
the NewtonEuler approach is considered superior for purposes of computing the
dynamics numerically. In the Lagrangian formulation, we typically derive the equa-
tions of motion of open-chain robotic systems by rst establishing the Lagrangian.
We follow this with deriving from the Lagrangian the EulerLagrange or simply
Lagranges equations.
In the Lagrangian framework, once a suitable set of generalized coordinates
q
0
= [q
1
q
2
q
3
. . . q
i
. . . q
M1
q
M
]
T
has been chosen (here the q
i
represent joint angles
for revolute joints and linear joint displacements for prismatic joints), the equa-
tions of motion are generated by means of EulerLagrange or simply Lagranges
equations:
d
dt
L
q
i

L
q
i
= Q
i
, (8.58)
where L= L(q
i
, q
i
) is a scalar function called the Lagrangian that may be dened
as
L= T (q
i
, q
i
) V(q
i
) . (8.59)
Here T (q
i
, q
i
) denotes the total kinetic energy of the system, V(q
i
) is the total
potential energy, and Q
i
(typically denoted by in robot dynamics literature) is a
vector representing the generalized forces and moments acting on the system other
than those accounted for by the potential energy function.
For a robotic system the kinetic energy can be expressed as
T (q
i
, q
i
) =
1
2
M

i =1
M

j =1
I
i j
(q) q
i
q
j
, (8.60)
where I
i j
(q) is a symmetric positive-denite matrix known as the inertia matrix. On
substitution of the Lagrangian L into the EulerLagrange equations, it can be easily
veried that the equations of motion take the following standard form:
M

j =1
I
kj
(q) q
j
+
M

i =1
M

j =1

i j k
(q) q
i
q
j
+
k
(q) =
k
, k = 1, 2, 3, . . . , M, (8.61)
where
k
denotes the applied torque or force at joint k,

i j k
=
1
2
_
I
kj
(q)
q
i
+
I
ki
(q)
q
j

I
i j
(q)
q
k
_
(8.62)
8.2 Lagrangian Dynamics of Manipulators 153
Mg
l

Figure 8.2. A typical spherical pendulum.


represents the Coriolis and centrifugal effects, and

k
=
V(q)
q
k
. (8.63)
The equations of motion may be written more compactly in matrix notation:
I
0
(q
0
) q
0
+ C
0
(q
0
, q
0
)
g0
(q
0
) = , (8.64)
where q
0
is the Mvector of joint space variables in the frame of reference attached to
the xed link, I
0
(q
0
) is the M Minertia matrix, C
0
(q
0
, q
0
) represents the Coriolis
and centrifugal force vectors, and
g0
is the vector of gravity torques acting at the
joints. When the vector of applied torques is expressed as
=
c0
+ J
T
0
(q
0
) W
N
, (8.65)
where
c0
is the vector of the generalized input control moments at the joints and
W
N
is the wrench acting on the end-effector mapped to the joint space via the trans-
pose of the Jacobian matrix J
T
0
(q
i
), the equations are identical to those obtained by
the NewtonEuler formulation.
A typical example illustrates the application of the Lagrangian formulation.
Consider the idealized spherical pendulum illustrated in Figure 8.2.
This mechanical system consists of a body of mass m, which is attached to a
spherical joint by a light rod that is assumed to be of negligible mass. Two angles
and describe the position of the mass. All the initial conditions are assumed to be
known, and the equations of motion of the mass must be derived under the inuence
of gravity.
As the rst step, the systems Lagrangian Lis established. If related to the origin
of the pendulum, the position of the mass m is given by the vector r:
r = [ l sin cos l sin sin l cos ]
T
. (8.66)
Consequently the kinetic energy is given by
T (q
i
, q
i
) =
1
2
M

i =1
M

j =1
I
i j
(q) q
i
q
j
=
1
2
m r
2
,
(8.67)
T (q
i
, q
i
) =
1
2
m r
2
=
1
2
ml
2
[

2
+ (1 cos
2
)

2
].
154 Newtonian, Eulerian, and Lagrangian Dynamics
The potential energy is given by
V(q
i
) = mgl cos . (8.68)
Thus the Lagrangian is
L= T (q
i
, q
i
) V(q
i
) =
1
2
ml
2
[

2
+ (1 cos
2
)

2
] +mgl cos . (8.69)
Here the generalized coordinates are q = (, ). Substituting the Lagrangian into
the EulerLagrange equations of motion, we nd the following individual terms:
d
dt
L
q
1
=
d
dt
L

= ml
2

,
L
q
1
=
L

= ml
2
sin cos

2
mgl sin,
d
dt
L
q
2
=
d
dt
L

= ml
2
d
dt
(sin
2


) = ml
2
(sin
2


+ 2 sin cos


), (8.70)
L
q
2
=
L

= 0, Q
1
= Q
2
= 0.
The governing equation of motion may be expressed as
ml
2
_
1 0
0 sin
__

_
+ ml
2
sin cos
_

2
2

_
+mgl
_
sin
0
_
=
_
0
0
_
. (8.71)
Given the initial conditions, the initial coordinate position vector q(0) = [(0), (0)]
and the initial coordinate velocity vector q(0) = [

(0) ,

(0)], we may determine
the position and velocity of the center of mass for all time t > 0 by numerically
integrating the preceding governing equation of motion.
8.2.1 Forward and Inverse Dynamics
In the last section it was shown that the equations of link motion may be written
more compactly in matrix notation as follows:
I
0
(q
0
) q
0
+ C
0
(q
0
, q
0
)
g0
(q
0
) = , (8.72)
where q
0
is the Mvector of joint space variables in the frame of reference attached to
the xed link, I
0
(q
0
) is the M Minertia matrix, C
0
(q
0
, q
0
) represents the Coriolis
and centrifugal force vectors, and
g0
is the vector of gravity torques acting at the
joints. These equations may be applied in a variety of ways to manipulator problems,
and this aspect is briey discussed here.
Two basic formulations arise in the dynamic analysis of multibody manipulator
systems. The forward dynamics problem is to determine the accelerations of the
system when given the initial positions and velocities of the system and the applied
forces. Thus the forward dynamics problem is as follows:
Given the vectors of joint positions q
0
, joint velocities q
0
, and joint torques , as
well as the mass distribution of each link, nd the resulting acceleration of the end-
effectors pose.
Hence forward dynamics is used for simulation of the end-effectors motion, to
nd what the manipulator does when known joint torques are applied.
8.2 Lagrangian Dynamics of Manipulators 155
The inverse dynamics problem is to determine the applied forces required for
producing a specied motion of the system. Whereas forward dynamics uses forces
and moments to create motion, inverse dynamics uses the motion to attempt to nd
the forces or moments responsible for the motion. The inverse dynamics problem is
then as follows:
Given the vectors of joint positions q
0
, joint velocities q
0
, and desired joint acceler-
ations q
0
(or the end-effectors motion), as well as the mass matrix of each link, nd
the vector of joint torques required for generating the desired pose.
Inverse dynamics is generally used for two main purposes:
Controller set-point synthesis: When one desires the manipulator to follow a
specied trajectory, one has to convert the desired motion into the joint forces that
will generate this motion. These are then used to generate the command signals or
set points to the joint control actuators.
Actuator sizing: When generating a desired motion for the manipulator end-
effector, one can use the inverse dynamics of the manipulator to check whether the
manipulators actuators are capable of generating the joint forces needed to execute
the trajectory. Thus inverse dynamics may be used for sizing the desired actuator in
the design of new manipulator.
Developing application-specic algorithms to calculate either forward or in-
verse dynamics is much more important for serial manipulators than for parallel
manipulators. The dynamics of parallel manipulators may be reasonably approxi-
mated by the dynamics of one single rigid body. Parallel manipulators have light
links, and all actuators are in, or close to, the base, such that the contributions of
the manipulator inertias themselves are limited. Furthermore, the parallel connec-
tion of the links allows one to express the EulerLagrange or Lagrangian dynamical
equations of motion as
I
0
(q
0
) q
0
+ C
0
(q
0
, q
0
)
g0
(q
0
) = J
T
0
(q
0
) W
N
, (8.73)
where the vector of applied torques is expressed in terms of W
N
, which is the wrench
acting on the end-effector mapped to the joint space via the transpose of the Jaco-
bian matrix J
T
0
(q
i
).
Inverse dynamics is easily found when the chain is an open chain, with no resis-
tance to motion at the terminal segment, as all the kinematic variables are known
from motion analysis. When there is contact of a link with another object, such as
the ground or a previous link in the chain, the forces between the two links in this
closed chain must be measured. Although this complicates the formulation of the
inverse dynamics, a number of practical algorithms exist for determining inverse
dynamics of serial and parallel manipulators involving both open and closed kine-
matic chains. The recursive NewtonEuler equations are well suited for solving the
inverse dynamics problem.
In the eld of robotics, in which simulation is a critical part of the analysis and
evaluation of manipulator systems, it is also of paramount importance to be able to
solve the forward dynamics problem, i.e., given the initial state of the systemin terms
of the initial values of the joint variables, the joint velocities and joint accelerations,
156 Newtonian, Eulerian, and Lagrangian Dynamics
the applied generalized force acting at the tip, and the torques applied at the joints,
one must determine the subsequent state of the system in terms of the joint vari-
ables, the joint velocities, and joint accelerations. Moreover, for applications such
as the testing of advanced control algorithms and terrestrial-based teleoperations of
remote space robots, the development of computationally efcient forward dynam-
ics algorithms is also absolutely vital.
8.3 The Principle of Virtual Work
An important principle that is extremely handy in estimating the applied forces or
torques is the principle of virtual work. In using this principle, the inertial forces
and torques are rst estimated based on the linear and angular velocities of each
of the bodies. Then the whole of the manipulator is considered to be in dynamic
equilibrium, and the principle of virtual work is applied to derive the input force or
torque necessary to drive the motion without having to estimate the reaction forces
and torques.
The concepts of virtual displacement and virtual work are extremely useful
abstractions and are essential to the elucidation of the principles of dynamics. Sup-
pose the particles that constitute a dynamical system undergo small instantaneous
displacements, which are independent of time and consistent with constraints on
the system and such that all internal and external forces remain unchanged in mag-
nitude and direction during the displacements. Such displacements are said to be
virtual because of their hypothetical nature.
Let the ith particle of mass m
i
at position r
i
at time t experience a virtual dis-
placement to position r
i
+ r
i
. Let F
i
and R
i
be the external and internal forces
acting on m
i
, respectively. The virtual work done on m
i
in the displacement is
(F
i
+ R
i
) r
i
, and so the total virtual work done on all particles of the system when
similar displacements are made is
W =
N

i =1
(F
i
+ R
i
) r
i
=
N

i =1
F
i
r
i
+
N

i =1
R
i
r
i
. (8.74)
Now
W
r
=
N

i =1
R
i
r
i
(8.75)
is the total work done by the internal forces of the system. In most practical manip-
ulator systems this is zero, and we shall assume this to be true, unless otherwise
stated. When the internal forces do no work in a virtual displacement,
W =
N

i =1
F
i
r
i
=
N

i =1
X
i
x
i
+ Y
i
y
i
+ Z
i
z
i
, (8.76)
where F
i
= [X
i
,Y
i
,Z
i
] and r
i
= [x
i
,y
i
,z
i
].
8.3 The Principle of Virtual Work 157
W is termed the virtual work function, and we note that the coefcients in it of
x
i
, y
i
, and z
i
are the external force components, X
i
,Y
i
, andZ
i
.
Considering the case of mechanical systems in static equilibrium, the principle
of virtual work may be stated as follows: If a system with workless constraints is in
static equilibrium, the total virtual work done on all the virtual displacements must
be equal to zero. Hence,
W =
N

i =1
X
i
x
i
+ Y
i
y
i
+ Z
i
z
i
= 0. (8.77)
When the constraints are frictionless, the reactive forces at the constraints do no
work, as their directions are orthogonal to the directions of the virtual displace-
ments. Frictionless constraints are a typical example of workless constraints. Thus
the forces at workless constraints need not be considered in evaluating virtual
work.
It is essential to restate that the principle of virtual work requires the following:
1. internal forces to do no work unless the internal forces that do work are
treated as external forces,
2. reactions to be frictionless unless friction forces are explicitly included as exter-
nal forces,
3. virtual displacements be compatible with geometric constraints, and
4. the system to be in static equilibrium.
The last requirement may be somewhat relaxed, and the principle of virtual
work may be extended to the case of dynamic equilibrium following the application
of dAlemberts principle. DAlemberts principle may be restated as follows:
Every state of motion may be considered at any instant as a state of equilibrium
if the inertial forces are also considered as external forces. The inertial forces may
be obtained as the negative of the product of the mass and the relevant acceleration
vectors. Including the inertial forces, the principle of virtual work may be stated as
W =
N

i =1
(X
i
m
i
x
i
) x
i
+ (Y
i
m
i
y
i
) y
i
+ (Z
i
m
i
z
i
) z
i
= 0. (8.78)
The simultaneous solution of this equation along with the constraint equations gives
the equations of motion of the system under consideration. It applies to a collection
of particles and hence also to rigid bodies. Therefore it follows that
W = q
T
0
[ I
0
(q
0
) q
0
C
0
(q
0
, q
0
) +
g0
(q
0
)] = 0, (8.79)
where q
0
is the vector of virtual displacements meeting the constraints and com-
patibility conditions. The vector of virtual displacements may usually be expressed
in terms of a single input virtual displacement. Hence it has the form
q
0
= Cu, (8.80)
158 Newtonian, Eulerian, and Lagrangian Dynamics
where C is vector constraining the virtual displacements q
0
. The expression for the
virtual work done then reduces to
W = C
T
[ I
0
(q
0
) q
0
C
0
(q
0
, q
0
) +
g0
(q
0
)] u = 0. (8.81)
It follows that the virtual work done by an actuator to provide the required input
force is given by
W
actuator
= C
T
u = C
T
[
g0
(q
0
) I
0
(q
0
) q
0
C
0
(q
0
, q
0
)] u. (8.82)
Equation (8.82) provides a generic expression that is particularly useful in comput-
ing the total work done by the actuator in driving the input as well as the load and
power requirements to drive the entire manipulator.
EXERCISES
8.1. Given the general inertia matrix of a rigid body, as
N =
_
I MC
MC
T
MI
_
,
show that, by moving the origin to the center of mass of the body, the general inertia
matrix may be expressed as
N =
_
I C
T
0 I
__
I MC
MC
T
MI
__
I 0
C I
_
=
_
I MC
2
0
0 MI
_
.
Hence show that a general inertia matrix may be reduced to a diagonal form.
8.2. Show that, for a single link constrained to rotate about a single revolute joint,
the NewtonEuler equations may be expressed as
W
T
total
S = S
T
NS

+ {S NS}
T
S

2
= S
T
NS

,
where S is a unit instantaneous screw vector in the direction of the joint axis.
8.3. Consider the two-link planar manipulator illustrated in Figure 4.2.
(a) Derive the forward-propagating equations relating the instantaneous screw
vectors of each link.
(b) Derive the backward-propagating dynamic wrench equilibrium equations
for each link. Assume each link to be uniform, homogeneous, of equal
length, and of mass m.
(c) Hence derive the joint torque equations in terms of the joint space coordi-
nates.
(d) Verify the joint torque equations by using an alternative energy method.
8.4. Consider the two-link planar manipulator illustrated in Figure 4.3.
(a) Derive the forward-propagating equations relating the instantaneous screw
vectors of each link.
(b) Derive the backward-propagating dynamic wrench equilibrium equations
for each link. Assume each link to be uniform, homogeneous, of equal
length, and of mass m.
Exercises 8.18.7 159
(c) Hence derive the appropriate joint force or torque equations in terms of the
joint space coordinates.
(d) Verify the joint force or torque equations by using an alternative energy
method.
8.5. Consider the two-link Cartesian manipulator illustrated in Figure 4.9.
(a) Derive the forward-propagating equations relating the instantaneous screw
vectors of each link.
(b) Derive the backward-propagating dynamic wrench equilibrium equations
for each link. Assume each link to be uniform, homogeneous, of equal
length, and of mass m.
(c) Hence derive the joint force equations in terms of the joint space coordi-
nates.
(d) Verify the joint force equations by using an alternative energy method.
8.6. Consider the two-link planar manipulator illustrated in Figure 4.10.
(a) Derive the forward-propagating equations relating the instantaneous screw
vectors of each link.
(b) Derive the backward-propagating dynamic wrench equilibrium equations
for each link. Assume each link to be uniform, homogeneous, of equal
length, and of mass m.
(c) Hence derive the appropriate joint force or torque equations in terms of the
joint space coordinates.
(d) Verify the joint force or torque equations by using an alternative energy
method.
8.7. The bob of a simple pendulum is replaced with a heavy slender uniform rod,
which is attached to a cord at one end, as shown in Figure 8.3. The length of the
cord and that of the rod is each equal to L.
Figure 8.3. Unilar suspension.
(a) Find the number of DOFs and a set of generalized coordinates.
(b) Determine the potential and kinetic energy functions for the system in
terms of the generalized coordinates obtained in (a).
160 Newtonian, Eulerian, and Lagrangian Dynamics
(c) Obtain the equations of motion of the rod by the EulerLagrange method.
(d) Obtain the linearized equations of motion for small displacements.
8.8. A uniform rod of mass m and length L is suspended by two symmetrically
placed light cords of length h, as shown in Figure 8.4. The distance between the
two cords is a. Initially the rod is assumed to be at rest.
L
a h
Figure 8.4. Bilar suspension.
(a) If the rod is given a slight rotation about a vertical axis passing through
its center of mass and released, determine the kinetic energy, the potential
energy, and the equation of motion. Hence determine the period of oscilla-
tions.
(b) If the rod is given a slight horizontal displacement in the plane of the cords,
while carefully avoiding any rotation or vertical displacement, and released,
determine the kinetic energy, the potential energy, and the equation of
motion. Hence determine the period of oscillations.
8.9. Consider a general rigid body, and show that the total kinetic energy may be
expressed as
T =
1
2
V
T
NV,
where V is the instantaneous velocity screw of the rigid body and N is the general
inertia matrix.
Assume that the potential energy is equal to zero and show that the EulerLagrange
equations for the body are identical to the corresponding NewtonEuler equations.
8.10. Consider the cable-stayed square planar platformABCDof side a and of mass
m as illustrated in Figure 5.6. Assume the weight to be negligible. Derive the equa-
tions of motion by the application of Lagranges method.
8.11. Consider the four-DOF SCARA robot manipulator, discussed in Chapter 1
(Figure 1.18). The fourth coordinate rotates the gripper that represents a free rota-
tional DOF.
(a) Considering just the rst three DOFs, obtain expressions for the kinetic
energy and gravitational potential energy.
(b) Hence show that the equilibrium equations are of the following form:
[I
0
(q) + cos (q
2
) I
1
(q)] q + sin(q
2
) C
0
(q, q) g
g
= ,
Exercises 8.88.12 161
where
q =

q
1
q
2
q
3

, I
0
(q) =

I
1
I
3
0
I
3
I
3
0
0 0 m
3

, I
1
(q) = I
2

2 1 0
1 0 0
0 0 0

,
g
=

0
0
m
3

,
C
0
(q, q) = I
2

2 q
1
q
2
q
2
2
q
2
1
0

I
1
I
2
I
3

P
2
C1
P
2
C2
+ L
2
1
L
2
1
+ L
2
2
0 L
1
P
C2
L
1
L
2
0 P
2
C2
L
2
2

m
1
m
2
m
3

1 1 1
0 0 0
0 1 1

C
I
zz1
C
I
zz2
C
I
zz3

,
m
i
is the mass of link i, L
i
is the length of link i, P
Ci
is the vector from joint i to the
center of mass of link i, and
C
I
zzi
is the moment of inertia of link i with respect to an
axis parallel to the z axis.
8.12. Consider the four-bar mechanism illustrated in Figure 8.5. The links AB, BC,
and DChave lengths equal to l
i
, i =1, 2, and 3, with masses m
i
, i =1, 2, and 3, respec-
tively. The links are respectively at the angles
i
, i = 1, 2, and 3, to the horizontal
directly toward the right at A, B, D. All angles are measured counterclockwise. The
centers of mass of the links are at C
i
, i =1, 2, and 3, which are at the distances
r
i
, i = 1, 2, and 3 from A, B, and D, respectively. The vectorial distances of the cen-
ters of mass are denoted by r
i
, i =1, 2, and 3, respectively, in reference frames with
their origins at A, B, and D.
A
B
C
D

1
Figure 8.5. The four-bar mechanism.
(a) Show that the coordinates of point D in the frame xed at point A satisfy
the following equations:
x
D
= l
1
cos
1
+l
2
cos
2
l
3
cos
3
, y
D
= l
1
sin
1
+l
2
sin
2
l
3
sin
3
.
162 Newtonian, Eulerian, and Lagrangian Dynamics
(b) Hence show that the angular rates satisfy the conditions
_

2
_
=
_
l
1
sin
1
l
2
sin
2
l
1
cos
1
l
2
cos
2
_
1
_
l
3
sin
3
l
3
cos
3
_

3
.
(c) Differentiating the result obtained in (b), show that,
_

2
_
=
_
l
1
sin
1
l
2
sin
2
l
1
cos
1
l
2
cos
2
_
1
h,
where
h = e

D
_

2
_
, e =
_
l
3
sin
3
l
3
cos
3
_

3
, D =
_
l
1
sin
1
l
2
sin
2
l
1
cos
1
l
2
cos
2
_
.
(d) Determine the accelerations of the centers of mass of each link and show
that they may be expressed as
a
1
=

1
Er
1

2
1
r
1
, a
2
=

1
El
1

2
1
l
1
+

2
Er
2

2
2
r
2
,
a
3
=

3
Er
3

2
3
r
3
,
where
E =
_
0 1
1 0
_
, r
i
=
_
r
i
cos
i
r
i
sin
i
_
, l
1
=
_
l
1
cos
1
l
1
sin
1
_
.
8.13. Reconsider the four-bar mechanism in the previous exercise.
(a) Show that the inertial forces, including the effect of gravity, and inertia
torques at the center of mass of each moving link are given by
f
i
= m
i
(a
i
g) , i = 1, 2, 3,
and

i
= I
0i

i

i
(I
0i

i
) , i = 1, 2, 3,
where the vector g represents the acceleration that is due to gravity, I
0i
= R
i
I
i
R
T
i
, I
i
is the moment of inertia tensor of each link about its center of mass,

i
=

0
0

,
and the rotation matrices R
i
are given by
R
i
=

cos
i
sin
i
0
sin
i
cos
i
0
0 0 1

.
Exercises 8.13 163
(b) Show that the virtual linear displacement of each link in the mechanism is
given by

1
=
1
Er
1
,
2
=
1
El
1
+
2
Er
2
,
3
=
3
Er
3
.
(c) Then use the principle of virtual work and obtain an expression for the total
input power requirements to drive the mechanism, assuming that link 1 is
driven at a constant angular velocity by a servomotor.
9
Path Planning, Obstacle Avoidance,
and Navigation
9.1 Fundamentals of Trajectory Following
The motion of the end-effector of a manipulator is described by a trajectory in mul-
tidimensional space. It refers to a time history of the position, the velocity, and the
acceleration of each DOF. Trajectory control is a fundamental problem in robotics
and involves two distinct steps. The rst of these steps is the planning of the desired
trajectory or path of the end-effector. The second is the design and implementa-
tion of a suitable controller so as to ensure that the robot does indeed follow the
planned path. This step is known as the trajectory or path tracking and is essentially
a feedback-control problem. The path tracker is responsible for making the robots
actual position and velocity match the desired values of position and velocity pro-
vided to it by the path planner.
Path planning is one of the most vital issues to ensure autonomy of a robot,
whether it is a robot manipulator or a mobile robot. It can be viewed as nding a
safe and optimum path through an obstacle-lled environment from starting point
to some destination in a collision-free manner. Once the desired path of an end-
effector is planned there is also concern about the representation of the path for
subsequent computational purposes. In the case of manipulators, a continuous time
path either in the joint variable space or in a Cartesian base frame is essential. The
trajectory controller then synthesizes an appropriate path following the control law
based on this continuous time path.
Path planning in mobile robot applications is usually different from the path-
planning problem for manipulators. In these situations it is either map based, in
which a precompiled map is used to plan paths that guarantee collision-free motion,
or sensor based, in which the sensory information is directly used by the trajectory
controller to control the robot in its environment.
The problem of trajectory following involves feedback control of the robot to
ensure that it follows the specied path as closely as is desired. Surprisingly, feed-
back control of either a manipulator or a mobile robot can cause some subtle prob-
lems. This is primarily due to the number of controls being less than the number
of states of the system that must be controlled. Sometimes, when there are a large
164
9.1 Fundamentals of Trajectory Following 165
number of controls, they are not independent and the constraints between them are
nonholonomic, thus making it impossible for them to be transformed to a minimal
set.
9.1.1 Path Planning: Trajectory Generation
The basic problem is to move the manipulator conguration from an initial pose
to some desired nal pose. On the one hand, this implies moving the TCP from its
current position to some desired nal position. In doing so every point in the manip-
ulator would move from its current position to a new position. Thus the manipula-
tor takes on a new pose that, in the rst instance, must be feasible before it can
be achieved. Further, every intermediate pose that the manipulator takes on, as it
moves from its current pose to the desired nal pose, must be completely feasible
and achievable in the sense that there are no obstacles not only to any point on the
manipulator but also within a specied region around the manipulator. Assuming
this is so, the problem of path planning reduces to moving the TCP, in prespecied
incremental steps, from its current position to the desired nal position.
Sometimes it becomes necessary to specify the desired trajectory by including,
in addition to the desired nal position and the specic incremental steps, a sequen-
tial set of desired intermediate or via points that must be traversed en route to the
nal position. Each of these points then represents the origin of the frame for spec-
ifying the position and orientation of the tool or the end-effector. Thus a certain
region around the desired path must be available for manipulations of the tool, and
this requirement can be stated in the form of spatial constraints. Further, the end-
effector or the TCP may be required to be at a certain point on the desired path
at a certain time with a certain time frame. Thus there is usually a set of temporal
constraints associated with the desired trajectory.
A further requirement is that the entire desired trajectory from the current posi-
tion through the sequence of via points to the nal desired position be smooth. This
implies that each segment of the desired trajectory from one via point to the next
is continuous with continuous rst derivatives and possibly with continuous second
derivatives. In practice the requirement is usually relaxed in the sense that the con-
tinuity of derivatives is not enforced at a nite set of points in each segment; rather,
it is only required that the directions of the local tangents be the same. This ensures
that the desired trajectory is sufciently smooth.
Given two points in multidimensional space, one method of specifying a con-
tinuous path is by assuming that it is a straight line connecting both points. Such an
approach leads to a piecewise linear approximation to a curved trajectory. Unless
the trajectory being approximated is also piecewise linear, large numbers of via
point coordinates must be created and stored to generate a reasonably accurate
path. An alternative approach is to use curves that are of a higher degree than are
the straight lines. The higher-degree approximation is based on the use of curves
that are represented explicitly, implicitly, or parametrically as nonlinear functions.
166 Path Planning, Obstacle Avoidance, and Navigation
The parametric representation for curves x = x(t), y = y(t), z = z(t) in terms of
the parameter t, which is not to be confused with time, offers a number of advan-
tages, particularly in relation to the specication of desired trajectory for a robot
manipulator. Consider, for example, the parametric representation of a straight line
connecting two points, P
0
andP
1
. Any point P on the line may be expressed as
P = P
0
+t (P
1
P
0
) , 0 t 1. (9.1)
When t = 0, P = P
0
, and when t = 1, P = P
1
. However, the equation may also be
expressed as
P = P
0
(1 t ) +t P
1
. (9.2)
The functions (1 t ) and t serve as blending functions, and it follows that a much
more general representation of any P may be expressed as
P = B
0
(t ) P
0
+ B
1
(t ) P
1
, (9.3)
where B
0
(t ) and B
1
(t ) are general blending functions. If we let t
0
= 0 and t
1
= 1, P
may be expressed as
P = P
0
(t t
1
)
(t
0
t
1
)
+ P
1
(t t
0
)
(t
1
t
0
)
=
1

i =0
P
i
B
i
(t ), (9.4)
and the blending functions are
B
0
(t ) =
(t t
1
)
(t
0
t
1
)
, B
1
(t ) =
(t t
0
)
(t
1
t
0
)
. (9.5)
This is a case of the classic Lagrange linear interpolation formula that could
be generalized to the case of a higher-degree polynomial in t. Thus the general
nonlinear Lagrange interpolation formula for interpolating through n + 1 points is
P =
n

i =0
P
i
B
i
(t ), (9.6)
where the nth-order nonlinear blending functions in parameter t are
B
i
(t ) =
i 1

j =0
(t t
j
)
n

j =i +1
(t t
j
)
i 1

j =0
(t
i
t
j
)
n

j =i +1
(t
i
t
j
)
. (9.7)
At each of the via points, all terms in the summation drop out except one. Thus the
formula provides a smooth nth-order polynomial passing through each of the via
points.
Although the Lagrange interpolation formula is extremely elegant, it has sev-
eral shortcomings. It has a tendency to produce approximations to trajectories that
are signicantly wigglier than the original itself. Furthermore, the nature of the error
depends to a very large extent on the choice of the interpolation points, t = t
i
. The
9.1 Fundamentals of Trajectory Following 167
maximum error made in using an n-degree Lagrange interpolation polynomial to
approximate a parametric trajectory over the interval 0 t 1 is

P
L
(t ) P(t )

max
0 t 1

d
n+1
P(

t )
d

t
n+1

(n +1)!

j =0
(t t
j
)

. (9.8)
Thus it depends on the (n +1)th derivative of the original trajectory P(t ), and
that is not a very desirable feature.
The problem of the error in the approximation to the original trajectory was
studied extensively by Pafnuty Chebyshev (18211924), more than 100 years ago,
who was able to establish conditions for the choice of the via points under which
the error was uniform and a minimum over the entire length of the approximate
trajectory. He showed that the best choices of these points were unevenly spaced
and that they could be obtained as the zeros of the (n +1)th-degree Chebyshev
polynomial as
t
i
=
1
2
_
1 +cos
_
(2i +1)
n +1

2
__
, i = 0, 1, 2, 3, . . . , n. (9.9)
9.1.2 Splines, B ezier Curves, and Bernstein Polynomials
The term spline originates from the long exible strips used by the professional
draughtsman to draw smooth curves representing aerofoil shapes, automobile con-
tours, and ship hull proles. Ducks are weights attached to the ends of the spline
used to pull the spline in various directions. The mathematical equivalent of the
draughtsmans spline is the natural cubic spline with C
0
, C
1
, and C
2
continuity, a
cubic polynomial that interpolates the two, three, or four control points that may or
may not be identical to the via points.
Parametric curves replace geometric slopes that could be innite with nite
parametric tangent vectors. This is achieved by approximation of the original tra-
jectory by a piecewise polynomial curve rather than by a single polynomial interpo-
lating function. Thus we reconstruct the original trajectory by patching together a
number of segments, each of which is a polynomial of the same degree. For patch-
ing together two segments smoothly we require that they not only pass through
the end points but also that their tangent-vector directions match no matter what
the tangent-vector magnitudes are. Each segment Q of the overall curve is usually
approximated by a cubic polynomial in parameter t. With a cubic it is indeed possi-
ble to interpolate with a curve segment that not only passes through the end points
but also matches the slopes at the two end points. The parametric cubics are the
lowest-order polynomials that permit this. They are also the lowest-order polyno-
mials that are nonplanar in three dimensions.
A curve segment Q(t) is dened by constraints on the end points, the join points
or knots, tangent vectors at the knots, and continuity requirements between curve
segments. As each cubic polynomial has four coefcients, four constraints are used
to formulate four equations for the four unknown coefcients that are then solved.
168 Path Planning, Obstacle Avoidance, and Navigation
There are three major types of cubic polynomial curves used to model curve seg-
ments: Hermite splines, dened by two end points that are two via points and two
end-point tangent vectors, B ezier curves, dened by two end points and two other
points that control the end-point tangent vectors, and several kinds of other splines,
each dened by four control points. These splines have C
1
and C
2
at the join points
and come close to their control points but normally do not interpolate the points.
Three important types of these splines are uniform B splines, nonuniform B splines,
and splines. The term uniform implies that the knots are spaced at equal intervals
of parameter t. The spline passes through all the knots but not necessarily through
all the control points. The letter B refers to the term basis.
Splines may be classied into two groups based on the support. Given a typical
Lagrange interpolation polynomial that is a nite-degree polynomial, the function
passes through all the control points. It is continuous through its (n 1)th derivative
with respect to t. Furthermore, all the blending functions and hence all the coef-
cients of the polynomial in t are inuenced when one of the control points is altered.
This property is known as innite support. Because of a long series of via points, the
property of innite support can easily lead to ill-conditioned linear systems, causing
numerical instability. The second type of splines has coefcients that are calculated
from only a limited subset of control points and therefore have a nite support. As
the coefcients depend on just a few control points, moving a control point affects
only a small part of the curve. This is called local control. Because of the limited sup-
port, this type of spline does not suffer from the disadvantage of possible numeri-
cal instability. Moreover, the time required to compute the coefcients is greatly
reduced. Hermite splines and B splines are typical examples of splines with nite
support.
A typical example of the Hermite spline is
P(t ) = [2t
3
3t
2
+1 3t
2
2t
3
t (t 1)
2
t
2
(t 1)]

P
1
P
4
R
1
R
4

, (9.10)
where P(t ) is any point on the spline curve, P
i
is the ith control point, and R
i
is the
tangent vector at that same point. It is customary to express this as
P(t ) = [ t
3
t
2
t 1 ]

2 2 1 1
3 3 2 1
0 0 1 0
1 0 0 0

P
1
P
4
R
1
R
4

= TMG, (9.11)
where T =
_
t
3
t
2
t 1
_
, M is a basis matrix, and G is a geometry vector. The
blending functions are given by
B(t ) = [ t
3
t
2
t 1 ]

2 2 1 1
3 3 2 1
0 0 1 0
1 0 0 0

= TM. (9.12)
9.1 Fundamentals of Trajectory Following 169
One could also relate the Hermite geometry vector to four control points by dening
two control points in addition to the two end points:

P
1
P
4
R
1
R
4

1 0 0 0
0 0 0 1
3 3 0 0
0 0 3 3

P
1
P
2
P
3
P
4

. (9.13)
Eliminating the Hermite geometry vector from the Hermite spline gives
P(t ) = [ t
3
t
2
t 1 ]

2 2 1 1
3 3 2 1
0 0 1 0
1 0 0 0

1 0 0 0
0 0 0 1
3 3 0 0
0 0 3 3

P
1
P
2
P
3
P
4

, (9.14)
which reduces to
P(t ) = [ t
3
t
2
t 1 ]

1 3 3 1
3 6 3 0
3 3 0 0
1 0 0 0

P
1
P
2
P
3
P
4

, (9.15)
and is a typical example of a B ezier curve.
B splines are approximating splines with minimal support. Two different types
of B splines may be identied. The rst are nonrational B splines, which are dened
in terms of cubic polynomials. The term nonrational is used to distinguish these
splines from rational B splines, which are simply the ratios of two different cubic
polynomials. A typical example of a uniform nonrational B spline is
P(t ) = [ t
3
t
2
t 1]
1
6

1 3 3 1
3 6 3 0
3 0 3 0
1 4 1 0

P
1
P
2
P
3
P
4

, (9.16)
where P
i
is the ith control point, which is not the same as the knots. Thus in a B
spline there is less control over where the curve goes. However, it is very smooth,
and for this reason nonrational B splines are extremely suitable for trajectory plan-
ning. The location of the control points for these applications can be quite restrictive
as they dene the convex hull, a convex polygon formed by the four control points
for two-dimensional splines. It is often required that the convex hull be within a
collision-free feasible space, and this is quite restrictive.
An example of a B ezier curve was given earlier; it may also be expressed as
P(t ) = TM
B
G
B
= B
B
G
B
, (9.17)
170 Path Planning, Obstacle Avoidance, and Navigation
Table 9.1. Bernstein polynomials of degrees 1, 2, and 3
i = 0 1 2 3
n = 1 (1 t ) t
2 (1 t )
2
2t (1 t ) t
2
3 (1 t )
3
3t (1 t )
2
3t
2
(1 t ) t
3
where the blending functions are given by
B
B
(t ) = [ t
3
t
2
t 1 ]

1 3 3 1
3 6 3 0
3 3 0 0
1 0 0 0

= TM
B
. (9.18)
They may be expressed as
B
B
(t ) = T

1 3 3 1
3 6 3 0
3 3 0 0
1 0 0 0

= [(1 t )
3
3t (1 t )
2
3t
2
(1 t ) t
3
]. (9.19)
The four blending polynomials are known as Bernstein polynomials and play a piv-
otal role in the denition of various blending functions. Examining the four Bern-
stein polynomials, we observe that their sum is always unity and that each polyno-
mial is nonnegative everywhere for 0 t 1.
The Bernstein polynomials of degree n are dened by
B
i,n
(t ) =
_
n
i
_
t
i
(1 t )
ni
=
n

k=i
(1)
ki
_
n
k
__
k
i
_
t
k
, (9.20)
for i = 0, 1, . . . , n, where
_
n
i
_
=
n!
i ! (n i )!
.
There are n + 1 nth-degree Bernstein polynomials. For mathematical convenience,
we usually set B
i,n
(t ) = 0 if i < 0 or i > n. The polynomials are quite easy to write as
the coefcients could be obtained from Pascals triangle, and the exponents on the t
term increase by one as i increases and the exponents on the (1 t) term decrease
by one as i increases. The Bernstein polynomials of degrees 1, 2, and 3 are shown in
Table 9.1.
We can dene the Bernstein polynomials of degree n by blending two Bern-
stein polynomials of degree n 1. That is, the kth nth-degree Bernstein polynomial
satises a recurrence relation and could be written as
B
k,n
(t ) = (1 t ) B
k,n1
(t ) +t B
k1,n1
(t ) . (9.21)
Derivatives of the nth-degree Bernstein polynomials are polynomials of degree
n 1. Using the denition of the Bernstein polynomial, we can show that this
9.1 Fundamentals of Trajectory Following 171
derivative can be written as a linear combination of Bernstein polynomials. In par-
ticular
d
dt
B
k,n
(t ) = n[B
k1,n1
(t ) B
k,n1
(t )] , (9.22)
for 0 k n.
Thus in terms of the Bernstein polynomials the B ezier curve may also be
expressed as
P(t ) = TM
B
G
B
= B
B
G
B
, (9.23)
where
B
B
(t ) = T

1 3 3 1
3 6 3 0
3 3 0 0
1 0 0 0

= [B
0,3
(t ) B
1,3
(t ) B
2,3
(t ) B
3,3
(t )] .
We could now write a single formula for the whole curve in terms of the curve
segments, which are denoted by Q
i
(t ), i = 3, 4, 5, . . . , m. For i < 3 or when there
are multiple knots, i.e., t
i
= t
i +1
, it is taken to be a single point. With this notion of
the curve segment reducing to a point, the general equation for the whole curve is
the weighted sum:
Q
i
(t ) = P
i 3
B
i 3,4
(t ) + P
i 2
B
i 2,4
(t ) + P
i 1
B
i 1,4
(t ) + P
i
B
i,4
(t ), (9.24)
where 3 i m, t
i
t t
i +1
.
For other types of splines and B splines in particular, there are no explicit for-
mulae for the blending functions. Yet they may be expressed quite compactly in a
recursive form with the jth-order blending function B
i, j
(t ) for weighting the control
point P
i
:
B
i,1
(t ) =
_
1, t
i
t t
i +1
0, otherwise
, (9.25a)
B
i,2
(t ) =
t t
i
t
i +1
t
i
B
i,1
(t ) +
t
1+2
t
t
i +2
t
i +1
B
i +1,1
(t ) , (9.25b)
B
i,3
(t ) =
t t
i
t
i +2
t
i
B
i,2
(t ) +
t
1+3
t
t
i +3
t
i +1
B
i +1,2
(t ) , (9.25c)
B
i,4
(t ) =
t t
i
t
i +3
t
i
B
i,3
(t ) +
t
1+4
t
t
i +4
t
i +1
B
i +1,3
(t ) . (9.25d)
The general equation for the curve segment can be expressed as was done in the
case of the B ezier curve.
To conclude, there are a number of methods of dening a desired manipulator
trajectory either in Cartesian space or in joint conguration space. The joint inter-
polated approach uses piecewise polynomial segments, such as splines and B ezier
curves, to yield a smooth joint trajectory in joint conguration space. The power of
172 Path Planning, Obstacle Avoidance, and Navigation
the cubic spline as a trajectory design tool is signicantly enhanced if it is used to
design contours directly. If contours are found by another process, they could be
accurately represented by splines; however, this would require a larger number of
interpolation points than would be required otherwise.
9.2 Dynamic Path Planning
In the path-planning techniques considered in the preceding section, no dynamics or
temporal constraints of any kind were considered. During path planning, informa-
tion about dynamic objects with exactly known paths should be taken into account
as well as position information of other dynamic objects. Path planning is a task that
can benet from the information derived about environmental dynamics. Motion
planning in a dynamic environment is a difcult problem, as it requires planning in
the state space, that is, simultaneously solving path-planning and velocity-planning
problems. Path planning is a kinematic problem, involving the computation of a
collision-free path from start to goal, whereas velocity planning requires the con-
sideration of robot dynamics and actuator constraints. Furthermore, in practice,
there are a number of temporal constraints that must be satised in addition to the
fact that the manipulator itself must satisfy conditions of dynamic equilibrium. Thus
motion planning in a dynamic context involves the determination of joint positions,
velocities, and accelerations. Motion planning also involves the synthesis of algo-
rithms to compute collision-free paths for a mechanical system, such as a mobile
robot or a manipulator, moving amid obstacles.
Methods of dynamic path planning are composed of four steps:
1. path determination to meet the geometric constraints on the manipulator;
2. determination of timing rules and switching laws to meet the temporal and
velocity constraints of the manipulator;
3. joint coordinate determination by use of the inverse kinematic model under the
constraints;
4. determination of actuator torques while meeting the physical limitations
imposed on them.
One class of timing constraints, for example, is when the manipulator is moved
from one conguration to the next in minimum time. This is the problem of
minimum-time path planning. In many robot-manipulator applications, time is an
important resource, and the minimum-time path-planning problem is just a special
case of the more general minimum-cost problem. In these minimum-cost optimiza-
tion situations the path-planning and the path-tracking problems are not decoupled.
The tracking control law has a signicant inuence on the optimal path and vice
versa. A simplied statement of the minimum-cost path-planning problem is as fol-
lows: What input signals will drive a given robot from a given initial conguration
to a given nal conguration with as low a cost possible, given constraints on the
magnitudes and derivatives on the control torques and constraints on the intermedi-
ate congurations of the robot determined by the requirement that the robot must
not hit any obstacles? To retain the general parametric specication of the paths
9.2 Dynamic Path Planning 173
Off-line
path planning
Desired
configuration
Current
configuration
Trajectories
Joint
variable
set points
Inverse
kinematics
Figure 9.1. Off-line path planning and joint variable set-point computation.
planned, in the dynamic path-planning literature the optimal path is often specied
parametrically in terms of a parameter that is now labeled as and not as t to avoid
confusion with the time variable and substituted into the dynamic equations. Thus
the optimal paths may be specied in terms of a geometric path in the joint variable
space involving the path parameter and the time derivative of , which is labeled
as =

. There are then the other control torque and velocity constraints that
must be imposed. This generally leads to the complex problem of constrained opti-
mization with the dynamic equilibrium equations serving as differential equation
constraints.
When the desired path is specied a priori, the problem reduces to determining
the controls that will drive a given robot along a specied curve in joint space with
minimum cost, given constraints on the input and nal velocities and on the control
signals and their derivatives. When the independent variable is taken as the path
parameter , the state variables are reduced to a minimum of two states, and its
derivative with respect to . There is therefore a reduction in the complexity of the
problem, and the problem now reduces to nding a minimum-cost optimal control
signal rather than a minimum-cost optimal path.
The control problem can be efciently solved by the methodology of dynamic
programming introduced in the 1950s by the eminent mathematician Richard Bell-
man. The algorithm essentially starts by solving the problem in stages, with the last
stage taken up rst and then working backward. The underlying principle was stated
by Bellman:
An optimal trajectory has the property that whatever the initial state and trajec-
tory, the remaining part of the trajectory is always optimal with regard to the state
resulting from that portion of it that is already known.
The methodology is quite computationally intensive and is well beyond the scope of
this chapter.
For our part we shall restrict ourselves to the issue of continuous on-line or real-
time updating of a planned path. The classical on-line computation of the desired
trajectories for path planning and the subsequent inverse kinematic computations
of the joint variables are illustrated in Figure 9.1. In an on-line or real-time situation
the computations are carried out concurrently. The main routine performs the com-
putation of the control signal driving the joint servomotors. When the computations
are completed, a clock-controlled interrupt transfers control to an interrupt service
routine that performs the path-planning computations. This is followed by another
clock-controlled interrupt, and an associated interrupt service routine computes the
174 Path Planning, Obstacle Avoidance, and Navigation
Choose
new
configuration
Clock-
generated
interrupts
Configuration
table
Interrupt
routine 1
Interrupt
routine 2
Return
Path
configuration
parameters
Path
planning
Return
Inverse
kinematics
Main
routine
Joint
configuration
set points
Servocontrol
output
Joint
control law
Figure 9.2. Concurrent computation of paths, inverse kinematics, and servocontrols.
inverse kinematics. Following the successful completion of these computations, the
processor awaits the clock-controlled interrupt that transfers control back to the
main routine, and the cycle is repeated.
A block diagram of the concurrent computation processes is illustrated in Fig-
ure 9.2. A typical example of the on-line process, often referred to as Cartesian
control, requires that the calculation of the path points as well as the transformation
to joint coordinates be performed sufciently fast, i.e., in real time. However, this
is possible only if one has fairly powerful computational resources both in terms of
processor speed and memory.
An alternative strategy is to apply the Cartesian approach to only the initial and
nal congurations and interpolate the joint variables between these two extremes
at equal intervals of time. A whole family of such techniques exists and is broadly
known as joint interpolated control schemes. Some of these techniques make use of
the fact that the second derivatives of the blending functions are linear functions
of the parameter t, and for small changes in the control point locations, the incre-
ments in the segments may be computed by a nite-step numerical integration that
is sufciently accurate for cubic splines.
9.3 Obstacle Avoidance
Perhaps the most important driver for dynamic path planning is the continuous need
to avoid obstacles in real time. Another important driver is the need to deal with
uncertainty. In motion planning with uncertainty, the objective is to nd a plan that
is guaranteed to succeed even when the robot cannot execute it perfectly. Dealing
with obstacles, particularly of the unexpected variety, is also a kind of uncertainty.
Of course, the problems of dealing with obstacles are intimately related to compli-
ant motion, provided motion-in-contact plans are acceptable. In what follows we
exclude the possibility of motion-in-contact plans and focus primarily on obstacle
avoidance.
Obstacle avoidance is of importance for both manipulators and mobile robots,
although some of the problem constraints in the two situations can be signicantly
different from each other. However, in both situations one is interested in choosing
9.3 Obstacle Avoidance 175
Input workspace
data
Any obtacle ?
Collision
expected ?
Not on course
for collision ?
Path to goal
is visible ?
Unexpected
obstacle ?
Detection and
avoidance
n
y
n
y
Collision-free
path planning
y
n
y
n
n
y
Goal
Figure 9.3. Basic collision-free path-planning ow chart.
a path that minimizes the risk of collision while reaching the goal. A general ow
chart for path planning in the presence of obstacles is illustrated in Figure 9.3. Path-
planning techniques in the presence of obstacles can be grouped into one of three
major categories:
1. Map based, in which it is assumed that a precompiled map of the entire
workspace including all the obstacles is available, and path planning reduces
to nding a collision-free path in a workspace environment with a continuously
known ensemble of obstacles. The map-based approach assumes that one has
complete knowledge of the scene or operational environment.
2. Sensor based, in which a complete complement of obstacle detection and free-
space sensors are used to guide the manipulator along a collision-free path to
the goal.
3. Analogy based, in which various types of physical analogies are used for
path-planning purposes. Typical examples of analogy-based methods are path-
planning strategies based on (a) diffusion of a gaseous property in a planar
obstacle-lled domain, (b) potential-ow-eld methods based on a charge-
distribution model, an electromagnetic-eld model, or an optic-ow model, and
(c) hydrodynamic wave propagation in the obstacle-lled region.
176 Path Planning, Obstacle Avoidance, and Navigation
Knowledge about the location and shape of dynamic obstacles is in general hard
to obtain, especially when the sensing platform is moving, and this is a drawback of
the map-based approach. Sensor-based approaches can deal with incomplete knowl-
edge of the scene or operational environment and are based on the principles of
autonomous navigation. On the other hand, sensor- and analogy-based approaches
are not only quite complex but also quite expensive to implement in practice. The
optic-ow-based analogy method is particularly relevant for visual tracking control
of a mobile robot. The concept of optic ow refers to the ow of objects in a visual
scene as perceived by an observer moving toward a specic point in the scene. Optic
ow is quite complementary to the visual control technique and is briey discussed
in Chapter 2.
In all these methods, however, the algorithm for obstacle avoidance is the most
complex as well as the primary issue. Thus three distinct types of algorithms for
obstacle avoidance may be identied:
1. hypothesize and test,
2. minimum-cost route with obstacle penalty metric,
3. navigating in the free space.
In the hypothesize-and-test method, a simple multisegment path from the
start to the goal point is initially hypothesized. It is then tested for potential col-
lisions. If there are any potential collisions, appropriate segments in the path are
modied and a new path is proposed. The process is then repeated until an accept-
able path is found.
Once such a path is found, it is optimized in the sense that it is a goal-
satisfying trajectory. Although the resulting trajectory may never be optimal in the
minimum-cost sense, it usually meets all the requirements and constraints imposed.
The method is relatively simple in principle.
The minimum-cost-route method is based on associating a cost with any devi-
ations fromthe planned path. Apenalty function that encodes the presence of obsta-
cles in the domain is also included in the cost metric. In general, the penalty is innite
if there are any potential collisions and drops off sharply as the minimum distance
from the obstacle increases. The cumulative penalty function is obtained by sum-
ming together the penalties from individual obstacles. Once the total cost is found
it is then minimized to nd the optimal path.
The third category of obstacle-avoidance methods is based on an explicit rep-
resentation of the robots domain and the obstacles within it so as to elicit the free
space wherein the robot is free of collisions. This involves estimating the area swept
by the moving object in its planned path so the minimum requirements of the free-
ways can be established for a collision-free movement. This is done by ensuring that
there is no overlap between the projected areas of the obstacles and the area swept
by the robot. Obstacle avoidance is then reduced to the problem of nding a freeway
that connects the initial and the nal positions of the robot. Although computation-
ally expensive and not normally used for robot manipulators, the method is quite
9.3 Obstacle Avoidance 177
Figure 9.4. Example of a Voronoi
diagram.
exible in that there is the option of introducing a number of constraints and nding
the shortest path.
The Voronoi diagram of a collection of geometric objects is a partition of space
into cells, each of which consists of the points closer to one particular object than to
any others. Figure 9.4 illustrates a typical Voronoi diagram. The Voronoi diagram
has the property that, for each site, indicated by black circles, every point in the cell
around that site is closer to that site than to any of the other sites. These diagrams,
their boundaries, and their duals have been generalized to many situations including
higher dimensions and applied to the motion-planning problem.
Voronoi diagrams tend to be involved in situations in which a space should be
partitioned into spheres of inuence. They are modied to obtain a rened repre-
sentation of the free space by using the concept of a generalized Voronoi diagram,
which is the locus of points that are equidistant from two or more obstacle bound-
aries as well as from the workspace boundary. Thus, if a collision-free path exists, it
must traverse one of the loci after joining it from its initial position, leaving it near
only the goal point. The disadvantage of using the generalized diagram has always
been that it is difcult to compute robustly and efciently.
Voronoi diagram-based methods of path planning for mobile robots use a
search graph, in which each of the paths between neighboring Voronoi regions is
connected to form the graph. The graph is then searched for the desired optimum
path.
The obstacle-avoidance problem can also be transformed to one of nding an
optimum path traced by a robot represented as a point in a planar obstacle-lled
region. To account for the nite dimension of the robot, the areas swept by the
obstacles are increased into enlarged spaces. The problem is transformed to an
equivalent but simpler problem of planning the motion of a point through an imag-
inary conguration space that excludes the enlarged conguration space obstacles.
When the conguration space obstacles are known, the connectivity of the free
space is determined. Such connectivity information about the conguration space
is used to determine a collision-free path from an initial to a nal conguration.
The C-space approach, as it is commonly known, provides an effective framework
for investigating a range of robot motion-planning problems. Once transformed, the
problem of planning the motion of a point through an imaginary conguration space
178 Path Planning, Obstacle Avoidance, and Navigation
that excludes the enlarged conguration space obstacles can be solved by one of a
family of search techniques.
The C-space approach is computationally intensive and practically infeasible if
one is interested in real-time computations of a trajectory. Several alternatives and
generalizations have been proposed. The rst of these is based on the use of prob-
abilistic methods to solve the problem of determining the C-space and its dual, the
obstacle space. The second is based on explicitly using velocity constraints in the
formulation. Velocity constraints are not always integrable, and these are said to be
nonholonomic. Although nonholonomic constraints are discussed in greater detail
in the next chapter, they result in a whole class of nonholonomic motion-planning
algorithms. Nonholonomic motion planning may be considered as the problem
of planning open-loop control inputs to achieve the desired constraint-satisfying
motion responses. Probably the most important development related the C-space
approach is the realization that one does not need to compute the C-space to
obtain the connectivity information within the workspace that is essential for motion
planning.
An optimal path in the connected free space is obtained heuristically by search-
ing the enlarged conguration space in a systematic manner. One could represent
the sequence of moves in the search by a tree, as shown in Figure 9.5(a). All appli-
cable moves in the search are arranged in order and represented in the tree, with
the rst choice on the left. One may regard the problem as growing some of this
tree as it runs and thus exploring it. Two principal questions arise. First, there is the
issue of the order in which to grow the tree. Second, we must consider the type of
strategy to adopt to perform the search for the optimal solution as fast as is pos-
sible. Figure 9.5(b) illustrates a possible strategy that may be adopted by simulat-
ing a typical search. This is the basis of a depth-rst search. That is, we keep going
down, taking the leftmost branch at every point where the tree bifurcates or trifur-
cates, until there is need to back up one or more levels. We then explore the next
branch after excluding all branches that have already been searched. Unfortunately
this does not necessarily give us an optimum solution, as shown in Figure 9.5(c).
Although we could nd a suboptimum solution on the left-hand side of the tree,
well before nding this we nd an optimum solution to its right. A plausible remedy
to this is to search the whole tree before making a choice of the optimum solution.
Alternatively, we could explore the solutions in parallel so the optimum solution
is found relatively faster. If by optimum it is implied that it corresponds to the
minimum number of moves, we could advance one branch of the tree in one step
and then go back and repeat the process. Such a search is said to be a breadth-rst
search.
In practice, there are a number of enhancements to the depth-rst and breadth-
rst strategies designed to obtain the optimum solution as rapidly as possible. The
A

search algorithmis a tree-search algorithmto nd a path froma given initial node


to a given goal node. A heuristic estimate that ranks each node by an estimate of
the best route that goes through that node is used in this search method. The A

search algorithm begins at a selected initial node. The minimum cost of entering
this node is estimated. The algorithm also estimates the minimum distance of this
9.3 Obstacle Avoidance 179
Goal
state
Loop
detected
initial state
(a)
initial state
Goal
state
(c)
Goal
state
First
path
found
Optimum
path
initial state
Goal
state
Goal
state
(d)
initial state
Back
up
search
starts
on
the
left
double
back
up
(b)
Figure 9.5. (a) Tree representation of the search for an optimum path, (b) depth-rst search,
(c) rst solution found may not be optimum, (d) breadth-rst search.
current node from the goal node. The two estimates are weighted appropriately and
added together. This is the heuristic that is assigned to the path leading to this node.
The search is performed of the nodes in the order of this heuristic estimate. The A

algorithm is therefore an example of best-rst or optimal search algorithm.


Other enhancements to the central search algorithms are based on the sub-
ject of articial intelligence that deals with building computing machines capable of
nding solutions to complex problems by incorporating characteristics from human
reasoning in the algorithm. Genetic algorithms are one such family of paradigms
that provide a powerful tool for automatic path planning. They are methods that
nd the best-t solution by means of natural selection, a concept borrowed from
genetics. A typical path in the free space is represented by a sequence of nodes, in
which each node is identied by its spatial coordinates. Each path is represented as
180 Path Planning, Obstacle Avoidance, and Navigation
a chromosome or a string of data. Two paths are selected at random, and the t-
ter path is selected as the rst parent. The same approach is adopted for the second
parent. The parents form new chromosomes that are tter than either of the parents
by adopting one of a set of evolutionary operators. The operations are repeated
for several iterations until the algorithm converges to an optimal path. Another
articial-intelligence-based paradigm is based on experiential learning. To learn a
certain path, the robot must perceive an obstacle and deal with the situation. It does
this from its past experiences that are encapsulated in fuzzy-logic-based reasoning
schemes involving a set of ifthen rules. Although a complete discussion of these
methods is beyond the scope of this section, the reader is referred to the Bibliogra-
phy for further information on the topics.
9.4 Inertial Measuring and Principles of Position and Orientation Fixing
Sensor-based dynamic path planning in the presence of obstacles often requires a
continuous estimation of a robots or platforms position and orientation. The prin-
ciples for measuring orientation and position of a moving body by rigidly strapping
a set of gyroscopes and accelerometers on the body have been well established in
the eld of inertial navigation systems (INSs) designed for aircraft and submarines.
Navigation is not only the process of determining ones position and orientation but
is also the process of determining and maintaining a course or trajectory to a goal
location. Whereas local navigation requires the recognition of only one location,
namely, the goal, robots are often involved in way nding that involves the recogni-
tion of several places and the representation of relations between places that may be
outside the current range of perception. Although way nding allows the agent to
nd places that cannot be found by local navigation alone, it relies on position xing
and local navigation skills to move from one place to another. The primary skills in
local navigation may be classied into four groups: search, direction following, aim-
ing, and guidance. Position and orientation xing, however, is basic to the whole pro-
cess of navigation. A process related to way nding is motion planning, which was
discussed in an earlier section. Yet motion planning differs from way nding in that,
in motion planning, the task is to generate a collision-free path for a movable object
among stationary, time-varying, constrained, or arbitrarily movable obstacles.
The original INSs were built around a gimballed platform that was stabilized to
a particular navigation reference frame by gyros on the platform to drive the gim-
bal motors in a feedback loop. The platform-mounted accelerometers could then be
individually double integrated to obtain position updating in each direction. Most
recent systems eliminated the need for a platform. They are called strapped-down
INSs, which eliminate the mechanical gimbals and measure the orientation of a vehi-
cle by integrating the angular rates from three orthogonal angular rate-sensing gyro-
scopes (hereafter referred to as rate gyros) strapped down to the frame of the
vehicle.
The basic principle of an inertial measuring system is actually quite simple. To
obtain position, three linear accelerometers, also rigidly strapped to the moving
9.4 Inertial Measuring and Principles of Position and Orientation Fixing 181
Rate gyros
measure body
angular rates
Integrate to
obtain body
orientation in
local frame
Accelerometers
measure
acceleration
Transform body
components to
local frame
Add gravity
vector
components
T
gb
A
NG

's
Initial
velocity
Initial
position
Integrate to
estimate
velocity
Integrate to
estimate
position
Position
Figure 9.6. Principle of operation of an IMU.
body with their measuring axes orthogonal to each other, are used to measure all
the components of the total acceleration vector of the body relative to inertial space.
This acceleration vector can be converted from body coordinates to Earth coordi-
nates by use of the known instantaneous orientation of the body determined by the
gyros. Adding the gravity vector component to the measured acceleration vector
and then performing double integration starting from a known initial position, one
estimates the instantaneous position of the moving body. The inertial measuring
system is encapsulated in a stand-alone unit known as an inertial measuring unit
(IMU), which is a primary component of an autonomous vehicle navigation system.
Whether in two dimensions or in three dimensions, the basic principles of inertial
measurement are the same.
Figure 9.6 illustrates the principle of operation of an IMU. Together with soft-
ware for determining the position and orientation of the body, the system is known
as an inertial reference system (IRS). The technology is currently being adopted for
inertial position and orientation xing of mobile robots and platforms.
To set up the mathematical basis for the concept of inertial measurement, con-
sider the total velocity vector in a rotating reference frame given by
V =
R
t
+ R. (9.26)
Equation (9.26) represents the general relationship between the velocity and posi-
tion vectors in a rotating reference frame. Similarly the equation relating the accel-
eration vector A to the velocity vector is given by
A =
V
t
+ V. (9.27)
182 Path Planning, Obstacle Avoidance, and Navigation
Equation (9.26) can be substituted into Equation (9.27) to relate the acceleration
vector directly to the position vector, giving
A =
V
t
+ V =

2
R
t
2
+

t
R+2
R
t
+ ( R) , (9.28)
which may be expressed as

2
R
t
2
= A

t
R2
R
t
( R) . (9.29)
The vector A is the inertial acceleration vector referred to a rotating reference
frame. We obtain the acceleration referred to the rotating frame by resolving the
inertial acceleration into components in the rotating frame. Equations (9.26)(9.29)
are the basic equations used in deriving the relationships between the acceleration
and angular rate measurements and the estimated position and orientation outputs.
One approach for calculating the position vector of a body in arbitrary motion
is to estimate it from measurements of the acceleration vector or velocity vector in a
nonrotating reference frame xed in space. Clearly in this case, the position vector
may be written in terms of the velocity as
R
A
= R
0
+
_
t
t
0
Vdt . (9.30)
This relation is valid for an arbitrary ground track and can also be written as
R
A
= R
0
+V
0
(t t
0
) +
_
t
t
0
_

t
0
(A
I
+G
I
) dt d, (9.31)
where G
I
and A
I
denote the gravitational and nongravitational components,
respectively, of the body accelerations. These equations can easily be extended to
the case in which the body is tracking another whose acceleration is measured as
well. If this acceleration is Z
t
, Equation (9.31) may be written as
R
T
= R
0T
+V
0T
(t t
0
) +
_
t
t
0
_

t
0
(A
I
+G
I
Z
t
) dt d, (9.32)
where R
T
is the relative position vector of the tracked body and R
0T
and V
0T
are
the initial relative position and velocity vectors, respectively.
If the acceleration measurements are slightly biased or slightly erroneous, as
is to be expected in all practical measurements, it is quite obvious from Equa-
tions (9.31) and (9.32) that the position errors would increase quadratically with
time. Hence such an approach is generally not acceptable from a practical point of
view. It is therefore essential to choose a rotating reference frame in which the posi-
tion errors that are due to errors in the measurements made in a reference frame
xed in the moving body would be within specic limits. A number of reference
frames are used to dene the position and orientation estimation problem. These
are briey summarized.
Earth-Centered Inertial (i
e
frame) and Earth-Fixed Reference Frames (e frame).
The inertial reference frame used in inertial measuring systems is usually an orthog-
onal frame consisting of three mutually perpendicular axes xed in space and with
9.4 Inertial Measuring and Principles of Position and Orientation Fixing 183
Greenwich
meridian
Local
meridian

Equator
Figure 9.7. Earth coordinates, latitudes, and
longitudes.
its origin coinciding with the center of the Earth. The x axis of this frame points to
a xed point in space known as the rst point in Aries, which lies in the equatorial
plane of the Earth as well as in the plane containing the Greenwich meridian.
The Earth-xed reference frame is xed in the Earth and also has its origin at
the center of the Earth. The axis of the Earths rotation is dened by the vector K
E
(Figure 9.7). The position of a point in the vicinity of the Earths surface is dened
by the latitude , the longitude , and the altitude. The equatorial plane is nor-
mal to K
E
, and each meridian is the intersection of the surface of the sphere with
a plane containing K
E
, whereas the equator is the intersection of the surface of the
sphere with the equatorial plane. The reference direction I
E
, which passes through
the equator, denes the zero-longitude meridian through Greenwich, England.
Latitude (in degrees) is measured on both sides of the equator along a meridian.
The locus of all points corresponding to the same latitude forms a latitude circle or
parallel.
Thus the Earth-xed reference frame is a rotating reference frame, rotating
about the z axis of the Earth-centered inertial frame, denoted by K
I
, which is coinci-
dent with the Earth-xed axis K
E
. The third axis is mutually perpendicular to the x
and z axes of each of the two frames and points to the east. The two frames coincide
once every year on the day of the vernal equinox (23rd June). On this day the x axes
of the two frames pass through the Greenwich meridian. The angular velocity of the
Earth-xed frame with respect to the inertial frame is calculated from the fact that
the Earth revolves about its axis of rotation 365.25 times in a year while revolving
around the Sun once. Thus the total number of revolutions performed by the Earth
in a year is 366.25, and the sidereal rate
s
is given by

s
= 2(rad/cycle)
(365.25 +1) (cycles)
365.25 24 (h) 3600(s/h)
or

s
= 2
1.0027379
24 3600
rad/s,
which reduces to

s
= 2
1.0027379
86400
rad/s = 7.292115 10
5
rad/s. (9.33)
184 Path Planning, Obstacle Avoidance, and Navigation

s
K
I
, K
E
J
I
I
I
I
E
J
E

Figure 9.8. Earth and inertial reference frames.


The relationship between the Earth and the inertial reference frame is shown in
Figure 9.8. In Figure 9.8 the hour angle of the vernal equinox is related to the
sidereal rate by
d
dt
=
s
. (9.34)
It is standard practice to take this angle to be
0
=(6 h, 40 min, 5.156 s), on January
1, 1975, at zero hour Universal Time (UT; Greenwich mean solar time). The angle

0
is expressed in radians and is given in terms of D full days (4 years = 1461 days)
plus S seconds from 0 hour UT on January 1, 1975:

0
= 2
_
0.0027379D+
1.0027379 (S +24 005.156)
86 400
_
. (9.35)
The unit vectors K
I
and K
E
are equal and the unit vectors (I
E
, J
E
and I
I
, J
I
) are
related by
I
E
= cos I
I
+sinJ
I
,
J
E
= sinI
I
+cos J
I
.
These relations can expressed compactly in the matrix notation as

I
E
J
E
K
E

cos sin 0
sin cos 0
0 0 1

I
I
J
I
K
I

. (9.36)
Earth-Fixed Geographic Frame of Reference (g
e
frame). This frame has its axes
pointing actual local north, east, and downward directions, respectively. The origin
of the frame is xed locally at a point on the Earths surface dened by the local
latitude and longitude. It is shown in Figure 9.9.
9.4 Inertial Measuring and Principles of Position and Orientation Fixing 185
North(i)
East(j)
k
Figure 9.9. Geographic reference frame.
Unit vectors in the Earth-xed geographic frame are related to those in the
Earth-centered Earth-xed frame by

I
G
J
G
K
G

sin cos sin cos cos


sin cos 0
cos cos cos sin sin

I
E
J
E
K
E

. (9.37)
Body-Centered Geographic Frame of Reference (g
b
frame). This frame has its axes
pointing actual local north, east, and downward directions, respectively. The ori-
gin of the frame lies on a vertical passing through the body center of gravity and
translates with the body but is not xed in the body.
Body-Centered, Body-Fixed System (b frame). This a reference frame centered at
the bodys center of gravity with the axes oriented along three mutually perpendic-
ular reference directions xed in the body.
Robot-Centered, Body-Fixed Frame (b
a
frame). Consider a typical robot such as a
mobile robot vehicle. Body-xed robot coordinates are xed to the robot and point
forward along the axis of the vehicle, laterally outward along the right and toward
the oor of the vehicle.
To understand and derive the governing kinematic equations of the position of
a moving body, it is important to be able to transform coordinates expressed in one
frame to another. If the directions of the coordinate axes differ, the coordinates have
to be rotated. The direction cosine matrix (DCM) is used to transform coordinates
between two frames when they are both centered at the same point. DCMs and their
time-dependent behavior formthe basis of the derivation of the equations governing
the kinematics of position and orientation, as follows.
A transformation of coordinates x
t
in the t frame to coordinates x
s
in the s frame
can be done as
x
s
= T
st
x
t
, (9.38)
where the DCM is
T
st
=

l
1
m
1
n
1
l
2
m
2
n
2
l
3
m
3
n
3

. (9.39)
186 Path Planning, Obstacle Avoidance, and Navigation
The transformation matrix is an orthogonal matrix with both the T
st
columns and
rows being mutually orthogonal. This implies that T
st
has the following important
property:
T
t s
= (T
st
)
1
= (T
st
)
T
. (9.40)
One important property that can be expressed in terms of rotation around the coor-
dinate axes is the time derivative of a transition matrix,

T
st
. It may be shown that it
can be expressed as

T
st
= T
st

st
. (9.41)
Here, the quantity
st
is a skew-symmetric matrix. The subscripts in
st
imply that
it is the rotation of the t frame relative to the s frame that is measured and that the
rotation is measured in terms of coordinates in the t frame. As there are only three
nonzero elements, the elements of the matrix
st
may also be expressed as a vector,

st
= [
1

2

3
],
and the matrix
st
may be dened as

st
= [
st
] =

0
3

2

3
0
1

2

1
0

. (9.42)
There is a close relation between the vector cross product and the notation [
st
],
which is sometimes represented by the matrix
st
. Time derivatives of small angles
are given by angular rates and
st
describes rotation rates, and its components are
similar in many respects to these of the angular rates.
The kinematic equations governing position and orientation are a set of differ-
ential equations describing how position, velocity, and attitude are changed depend-
ing on acceleration and angular rotations. In what follows, kinematic equations gov-
erning position and orientation will be expressed with coordinates in the g
e
frame.
Because accelerometers are known to measure only the nongravitational com-
ponent of the total acceleration, in the inertial frame (i frame) we have, after adding
the gravity component,
A
i
= A
i
NG
+G
i
. (9.43)
A transformation of coordinates x
g
in the g
e
frame to coordinates x
i
in the i frame
can be done as
x
i
= T
i g
x
g
. (9.44)
This generally is performed by two successive transformations: from the g
e
frame to
the e frame and from the e frame to the i frame. Hence,
x
i
= T
i e
T
eg
x
g
. (9.45)
9.4 Inertial Measuring and Principles of Position and Orientation Fixing 187
The time derivative of the transition matrix T
i e
can be calculated if general equation
(9.41) is applied to T
i e
:

T
i e
= T
i e

i e
, (9.46)
where
i e
is a skew-symmetric matrix with elements given by the components of the
angular rate vector
i e
= [
1

2

3
] between the i frame and the e frame:

i e
= [
i e
] =

0
3

2

3
0
1

2

1
0

. (9.47)
The only nonzero components in
i e
is
3
, because the e frame rotates about only
the three-axis. This component is given by
3
=
s
. We further need the second
time derivative of T
i e
, which is

T
i e
=

T
i e

i e
+T
i e

i e
= T
i e

i e

i e
+T
i e

i e
, (9.48)
where Equation (9.41) is applied twice in succession. It is possible to simplify this
expression by noting that the sidereal rate
s
is constant, and therefore
s
is zero,
which gives

T
i e
= T
i e

i e

i e
. (9.49)
Now, differentiating Equation (9.45) and inserting the expressions for the rst and
second derivatives of T
i e
from (9.46) and (9.49) yields
x
i
= T
i e
(
i e

i e
T
eg
x
g
+2
i e
T
eg
x
g
+T
eg
x
g
) .
Multiplying both sides with (T
i g
)
1
= T
ge
T
ei
= T
ge
(T
i e
)
1
to resolve the inertial
accelerations into components in the geographic frame, we obtain
x
g
i
= T
ge
(T
i e
)
1
x
i
= (T
ge

i e

i e
T
eg
x
g
+2T
ge

i e
T
eg
x
g
+ x
g
) .
Hence,
x
g
= (T
ge

i e

i e
T
eg
x
g
+2T
ge

i e
T
eg
x
g
) + x
g
i
.
The acceleration is sensed in the body frame and hence it follows that
x
g
i
= T
gb
A
b
NG
+G
g
.
Hence it follows that, in terms of the measured acceleration components,
x
g
= (T
ge

i e

i e
T
eg
x
g
+2T
ge

i e
T
eg
x
g
) +T
gb
A
b
NG
+G
g
. (9.50)
The matrix T
gb
has direction cosine components relating to the body attitude rela-
tive to the Earth-xed geographic frame. As the attitude of the body is time depen-
dent so are the components of the T
gb
matrix. But

T
gb
= T
gb

gb
, (9.51)
188 Path Planning, Obstacle Avoidance, and Navigation
where
gb
is a skew-symmetric matrix with elements given by the components of
the angular rate vector
gb
= [
1

2

3
] between the g frame and the b frame:

gb
= [
gb
] =

0
3

2

3
0
1

2

1
0

, (9.52)
where
gb
is the vector of the body components of the body angular rates relative
to the geographic frame.
The gyros sense the body components of the body angular rates relative to an
inertial frame. Hence, to obtain the body components of the body angular rates
relative to the geographic frame, one must subtract the body components of the
angular velocity of the geographic frame from the body components of the body
angular rates relative to an inertial frame. Hence it follows that

gb
=
i b
T
bg

i g
=
i b
(T
gb
)
1

i g
. (9.53)
Three-dimensional second-order differential equation (9.50) can be transformed to
a system with six rst-order differential equations in terms of six state variables.
Together with (9.51)(9.53), a system of nine rst-order differential equations that
are sufcient for describing the position determination problem can be formed. The
differential equations may be written as
d
dt
x
g
= x
g
,
d
dt
x
g
= (
i g

i g
x
g
+2
i g
x
g
) +A
g
NG
+G
g
,

T
gb
= T
gb

gb
, (9.54)
where A
g
NG
and
gb
are the accelerometer and rate gyro outputs, respectively, in
the geographic frame. These equations must be integrated numerically to determine
the angular rates and the position coordinates of the body. Once the body angular
rates are known, the quaternion attitude rate equations in Subsection 2.4.11 can be
numerically integrated to determine the body orientation. Figure 9.6 is a diagram-
matic representation of the position-determination methodology and is based on
Equations (9.52)(9.54).
There are indeed a number of methods for parameterizing the transformation
matrix T
gb
based on the representation of body attitude by quaternions, body dis-
placements by dual quaternions, and homogeneous coordinates. However, no matter
which method of parameterizing the body attitudes and displacements is adopted,
the fundamental problem remains the estimation of the transformation T
gb
or the
body attitudes as well as the displacement vector in the Earth-xed geographic
frame.
9.4.1 Gyro-Free Inertial Measuring Units
Given any six accelerometers arbitrarily located and oriented, one can compute
the linear and angular motion of a rigid body by using a simple algorithm, with the
9.4 Inertial Measuring and Principles of Position and Orientation Fixing 189
2L
1
2
3
4
5
6
x
z
y
Figure 9.10. Accelerometers located on the
six faces of a cube.
six accelerometer measurements as inputs to the algorithm. This is the basis of gyro-
free position and orientation xing. However, there are a number of advantages
when the accelerometers are located on the six faces of a cube and mounted with
their axis of sensitivity directed as shown in Figure 9.10.
In this case it can be shown that the time derivative of the angular rate and
the body force per unit mass are respectively given in terms of the accelerometer
outputs, A
i
, i = 1, 2, 3, . . . , 6, by

b
i b
=
i b
=
1
2

2L

+A
1
A
2
+ A
5
A
6
A
1
+ A
3
A
4
A
6
+A
2
A
3
A
4
+ A
5

,
f
b
=
1
2

+A
1
+ A
2
A
5
A
6
A
1
+ A
3
A
4
+ A
6
+A
2
+ A
3
+ A
4
+ A
5

+ L

, (9.55)
where
b
i b
= [
1

2

3
]
T
is the angular rate vector of the body relative to inertial
frame and f
b
is the force per unit mass on the body in the body frame. Thus the body
angular rates may be found by integration of the rst of these sets of equations.
Once the body angular rates are estimated, the remaining computations of the
position and orientations are then identical to those in the previous section.
9.4.2 Error Dynamics of Position and Orientation
Because the problem of estimating position is solved directly by double integra-
tion, and because integration is inherently an unstable process, small measurement
errors when integrated have the effect of introducing drifts in the calculated posi-
tion relative to the true position. Drift in an inertial navigation computation is par-
ticularly sensitive to errors in sensor biases. Higher-frequency noise is attenuated
as the integrators act as low-pass lters. The situation is compensated for by com-
plementing the system with position-measurement aids that correct the position
error periodically. So an INS is expected to perform over only a nite time hori-
zon. Thus various position- and velocity-measuring devices are used to complement
an INS.
190 Path Planning, Obstacle Avoidance, and Navigation
The performance of a strapped-down INS depends to a large extent on the accu-
racy with which it is initially aligned. The process of alignment refers to the process
of estimating the initial errors in the position and attitude measurements and then
using a feedback system to reduce the inuence of these initial errors to a minimum.
The accuracy of the initial residual attitudes and position variables governs the sub-
sequent values of the errors in position and orientation. Thus it is extremely impor-
tant that the alignment process be carried out rapidly and accurately in the initial
phase before the INS is set in operation. Although many studies on and investiga-
tions into initial alignment have been carried out, the Kalman lter has emerged as
a standard method for estimating the initial alignment errors. This lter is essen-
tially constructed from a linear model for the propagation of errors to maximize
its ability to reject the effects of errors in sensing as well as external disturbances.
The design and construction of the Kalman lter, however, require an extremely
good representative model of locally linear error dynamics. In the context of a
strapped-down system, once estimated, a feedback system of some form is then used
within the error-prediction scheme to reduce the inuence of these initial errors to a
minimum.
Although drift is one of the major shortcomings of an INS, in the determination
of orientation it results mostly from gyro biases, dened as the output produced
by a gyro at rest. On integration of the aforementioned equations, the xed biases,
if uncompensated, lead to a constant rate of drift. However, the start-up biases can
usually be measured before takeoff and corrected. What matters, then, is bias stabil-
ity. The typical drift performance of a ring-laser gyro (RLG) is about 0.001

/h, which
is sufcient for an INS whose position indication needs to be accurate within about
a mile for 1 h. Smaller and less costly are ber-optic gyros (FOGs) and dynamically
tuned gyros (DTGs), which can achieve drift rates in the 0.011

/h range, sufcient
for short-duration tactical missile ights. The Coriolis vibratory gyroscopes (CVGs),
including micromachined versions, have drift rates ranging from several degrees per
hour to a degree per second.
Drift in the linear position determined by an INS arises from several sources.
First, there are accelerometer instrument errors, such as bias stability, scale fac-
tor stability, nonlinearity, and misalignment. Inertial-grade accelerometers, such as
those in the 1 mile/h INS just mentioned, must keep all these errors to a few micro
gs where g is the local acceleration due to gravity. Considering that the maximum
accelerations that these accelerometers must contend with are about 50gs the min-
imum and maximum accelerations represent a 10
6
dynamic range! Tactical-grade
inertial systems require accelerometers with a resolution of the order of hundred
micro gs or less. Because we obtain position by double integrating the accelera-
tion, a xed accelerometer bias error results in a position drift error, which grows
quadratically in time. It is therefore especially critical to accurately estimate and
eliminate any persistent bias errors. A second critical cause of error in position
measurement is error in the orientation determined by the gyros. Because the INS
interprets the direction of the measured acceleration according to the computed
orientation of the platform, any error in this computed orientation will cause it to
9.4 Inertial Measuring and Principles of Position and Orientation Fixing 191
integrate the accelerometers in the wrong direction, thus deviating slightly from the
true course of the vehicle. The addition of the gravity component is also performed
imperfectly by the navigation computer, causing a horizontal acceleration of 1g
sin (error angle) to be erroneously added to the Earth-frame acceleration vector.
Thus, to take proper advantage of hundred micro g-class accelerometers, the pitch-
and-roll accuracy must be well below 0.005

for the duration of the ight, which


implies a far more stringent requirement on the gyros than on the accelerometers.
Assuming small perturbations in the coefcients and variables of the navigation
equations and using the fact that
i g
is a constant, we may derive the navigation
error equations. Thus,
d
dt
x
g
=
_

i g

i g
x
g
+2
i g
x
g
_
+T
gb
A
b
NG
+T
gb
A
b
NG
+G
g
+
G
g
x
g
x
g
, (9.56)
d
dt
x
g
= x
g
,
d
dt
T
gb
= T
gb

gb
+T
gb

gb
,
where A
b
NG
and
gb
are the accelerometer errors and rate gyro output errors,
respectively, in the geographic frame. The error states are x
g
, the position error
vector, x
g
, the velocity error vector, and T
gb
, the geographic to body transforma-
tion error matrix that could be parameterized in one of several ways. Finally, G
g
is
the gravity model error and

ge
=
G
g
x
g
, (9.57)
is the gravity gradient error. Because we assume that the gravity model used is most
accurate, the gravity error is assumed to be zero. The gravity gradient error may
however be estimated from the approximate expression for the gravity vector given
by
G
g

kM

x
g

3
x
g
=
kM
|r|
3
x
g
, (9.58)
where kM is a constant. The gravity gradient is then given by

ge
=
G
g
x
g
= kM
_
I
33
|r|
3
x
g

3
|r|
5
x
g
_
x
g
_
T
_
. (9.59)
Thus the navigation error equations are
d
dt
x
g
= x
g
,
d
dt
x
g
=
_
[
i g

i g

ge
] x
g
+2
i g
x
g
_
+T
gb
A
b
NG
+T
gb
A
b
NG
, (9.60)
d
dt
T
gb
= T
gb

gb
+T
gb

gb
.
The navigation error equations must be integrated to estimate the drift rates as well
as the major components of the drift. It is also possible to establish bounds on the
192 Path Planning, Obstacle Avoidance, and Navigation
maximum permitted biases in the accelerometers and rate gyros in order to limit
the total drift over the time horizon to an acceptable level. Unlike the navigation
equations, the navigation error equations are not integrated in real time. However,
they provide valuable information into the nature and magnitude of the drift errors
generated by the integration processes in an INS. A study of the navigation error
equations usually precedes the design and implementation of an INS.
To obtain a better understanding of error dynamics, one may consider the spe-
cial case of a vehicle following a great circular path at a speed v, which is not nec-
essarily the orbital velocity. The vehicle is assumed to be at a true distance x
g
= r
0
k
from the center of the Earth in the geographic frame, the local north-pointing rect-
angular reference frame that moves with the vehicle. To understand the dynamics of
the navigation errors, we now assume that the true position is not given by x
g
= r
0
k,
as believed by the navigation system, but is really given by
x
g
+x
g
= r
0
k +xi +yj +zk. (9.61)
Then the time derivatives in the rotating frame are
d
dt
x
g
= x
g
= xi + yj + zk,
d
dt
x
g
= xi + yj + zk.
The gravitational component of acceleration in the directions of the reference
axes is
G
g
+G
g
=
kM
|x
g
+x
g
|
3
(x
g
+x
g
) =
kM
|r
0
|
3
(xi +y j +r
0
k 2zk) .
Hence it follows that
G
g
=
kM
|r
0
|
3
(xi +yj 2zk) . (9.62)
The inertial angular velocity of the geographic frame is

i g
=
v
0
r
0
j, (9.63)
where v
0
is the nominal steady speed of the vehicle.
Assuming that the outputs of the accelerometers are contaminated by errors in
all three directions, and substituting in to the equation for position dynamics,
d
dt
( x
g
+ x
g
) = [
i g

i g
(x
g
+x
g
) +2
i g
( x
g
+ x
g
)]
(9.64)
+ A
g
NG
+A
g
NG
+G
g
+G
g
,
we obtain the component equations for the dynamics of position error given by
x +
_
kM
r
3
0

v
2
0
r
2
0
_
x = 2
v
0
r
0
z +a
x
, y +
kM
r
3
0
y = a
y
,
(9.65)
z
_
2kM
r
3
0
+
v
2
0
r
2
0
_
z = 2
v
0
r
0
x +a
z
.
Exercises 9.19.3 193
Thus the three equations of (9.65) govern the stability of the position error in the
INS. With the passage of time, a desirable situation would be that the errors decay
to zero.
From the preceding set it may be observed that the lateral error equation in the
y direction represents a forced harmonic oscillator with a fundamental frequency
given by

s
=
_
kM
r
3
0

_
g
R
2
0
r
3
0
, (9.66)
where R
0
is the radius of the Earth and g is the acceleration that is due to gravity on
the Earths surface. It is referred to as the Schuler frequency and is the angular rate
of a satellite in orbit just above the Earths surface. From the in-track error equation
in the x direction we may conclude that the in-track error would be stable provided
that
v
0
< r
0

s
, (9.67)
which implies that the vehicle must move well below the circular orbital speed at r
0
for this error to be stable. Finally, the vertical error equation in the z direction indi-
cates that it is always unstable. Thus the stability of the navigational position error
can be guaranteed only provided the vertical position error is periodically corrected
by independent sensing of the altitude of the vehicle. It is for this reason that most
ight vehicles are provided with an independent altimeter that may then be used to
correct the position error in the vertical channel at regular intervals of time.
Thus, in the general case, apart from the position error dynamics in the in-track
or north and cross-track or east directions, one must also consider the errors in
the three gyro measurements and the associated dynamics.
EXERCISES
9.1. Show that the basis matrix for a Hermite spline is given by
M=

2 2 1 1
3 3 2 1
0 0 1 0
1 0 0 0

.
9.2. Show that the basis matrix for a B spline is given by
M=
1
6

1 3 3 1
3 6 3 0
3 0 3 0
1 4 1 0

.
9.3. It is well known in numerical analysis that it is often more economical to inter-
polate functions by use of rational approximations; that is, a function that is a ratio
194 Path Planning, Obstacle Avoidance, and Navigation
of two polynomials. Given a quartic polynomial, nd a rational approximation of
the form
(t ) =
at
2
+bt +c
dt
2
+et +1
with the same power-series expansion (Taylors series) as that of the quartic polyno-
mial. (The rational function approximation is known as a [2, 2] Pad e approximant.)
9.4. The end-effector of a two-link planar manipulator with equal link lengths is
required to traverse a straight horizontal line at a height equal to one link length.
Determine a cubic spline interpolated trajectory in the joint space as the lower link
moves from
1
= 30

to
1
= 150

.
9.5. A segment of a path, p(t ), is to be approximated by a quadratic polynomial
approximation, p
a
(t ), where,
p
a
(t ) = a
0
+a
1
t +a
2
t
2
, 0 t T.
To obtain the best approximation, the least-squares data-tting method is adopted
and an error function dened as
E =
_
T
0
[ p
a
(t ) p(t )]
2
dt
is minimized. Further, it is required that the approximation match the path exactly
at the initial point t = 0 and the nal point t = T.
Show that the coefcients of the approximation p
a
(t ) are given by
a
0
= p
a
(0), a
1
=
30
T
2
_
T
0
p(t )
_
t
T

_
t
T
_
2
_
dt
[3p(T) +7a
1
]
2T
,
and
a
2
=
(p(T) a
0
a
1
T)
T
2
.
9.6. Reconsider Exercise 9.5 and assume that the polynomial approximation p
a
(t )
is given by the cubic
p
a
(t ) = a
0
+a
1
t +a
2
t
2
+a
3
t
3
, 0 t T.
Obtain expressions for the coefcients of the approximation.
9.7. Suppose one is given coordinates y
0
, y
1
, . . . . , y
N
and one desires to pass a
smooth curve through the points (x
0
, y
0
), (x
1
, y
1
), . . . , (x
N
, y
N
). A spline S(x) for
this purpose is dened by
S(x)
6h
= M
j 1
(x
j
x)
3
+ M
j
(x x
j 1
)
3
+(6y
j 1
M
j 1
h
2
)(x
j
x) +(6y
j
M
j
h
2
)(x x
j 1
), x
j 1
x x
j
,
where the coefcients M
j
, j = 0, 1, . . . , N are to be determined.
Exercises 9.49.10 195
(a) Given that S

(x
0
) = y

0
and S

(x
N
) = y

N
, show that
1
6

2 1 0 0 0 0 0
1 4 1 0 0 0 0
0 1 4 1 0 0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0 0 1 4 1
0 0 0 0 0 1 2

M
0
M
1
M
2
.
.
.
M
N1
M
N

=
1
h
2

6(y
1
y
0
hy

0
)
y
2
2y
1
+ y
0
y
3
2y
2
+ y
1
.
.
.
y
N
2y
N1
+ y
N2
6 (y
N1
y
N
+hy

N
)

.
(b) Given that S

(x
0
) = 0 and S

(x
N
) = 0, show that
1
6

6 0 0 0 0 0 0
1 4 1 0 0 0 0
0 1 4 1 0 0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0 0 1 4 1
0 0 0 0 0 0 6

M
0
M
1
M
2
.
.
.
M
N1
M
N

=
1
h
2

0
y
2
2y
1
+ y
0
y
3
2y
2
+ y
1
.
.
.
y
N
2y
N1
+ y
N2
0

.
9.8. Reconsider the previous exercise and assume that S(x) is periodic. It follows
that M
0
= M
N
. Show that
1
6

4 1 0 0 0 1
1 4 1 0 0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0 1 4 1
1 0 0 0 1 4

M
1
M
2
.
.
.
M
N1
M
N

=
1
h
2

y
2
2y
1
+ y
0
y
3
2y
2
+ y
1
.
.
.
y
N
2y
N1
+ y
N2
y
1
2y
N
+ y
N1

.
9.9. Consider the gyro-free IMU illustrated in Figure 9.10 and show that the time
derivative of the angular rate and the body force per unit mass are respectively given
in terms of the accelerometer outputs A
i
, i = 1, 2, 3, . . . 6, by

b
i b
=
i b
=
1
2

2L

+A
1
A
2
+ A
5
A
6
A
1
+ A
3
A
4
A
6
+A
2
A
3
A
4
+ A
5

,
f
b
=
1
2

+A
1
+ A
2
A
5
A
6
A
1
+ A
3
A
4
+ A
6
+A
2
+ A
3
+ A
4
+ A
5

+ L

,
where
b
i b
= [
1

2

3
]
T
is the angular rate vector of the body relative to inertial
frame and f
b
is the force per unit mass on the body in the body frame.
9.10. In a gimballed platform mechanization of an INS designed to operate over
the Earths surface, the outputs of three attitude gyros mounted rigidly on the plat-
form with their axes of sensitivity directed in three mutual perpendicular directions,
one of which is normal to the platform, are used to compute feedback torquing
commands to servomotors driving the platform gimbals so the platform is always
oriented to the local geographic axes.
196 Path Planning, Obstacle Avoidance, and Navigation
Three accelerometers mounted rigidly on the platform with their axes of sensi-
tivity directed in three mutual perpendicular directions, one of which is normal to
the platform, are used to measure the nongravitational component of the acceler-
ation in the platform xed-axes system, which is ideally coincident with the local
geographic frame. The outputs of the accelerometers are then integrated to com-
pute the velocities of the mobile platform and integrated once again to compute the
position coordinates.
For purposes of deriving the navigational equations, the Earth is assumed to
be an oblate spheroid (a spheroid attened in the polar direction). The radius of
curvature in a meridian at any latitude is
R
M
= R
P
(1 e
2
E
)
(1 e
2
E
sin
2
)
,
where
R
P
=
a
E
_
(1 e
2
E
sin
2
)
,
a
E
is the equatorial radius, and e
E
is the eccentricity of the equatorial ellipse. How-
ever, because e
2
E
0.0067, the Earth may be considered to be sphere of radius
a
E
= 6378.2 km.
(a) Show that the latitude rate

is related to the velocity component along a
meridian V
N
and the altitude h by

=
V
N
R
M
+h
.
(b) Show that the longitude rate

is related to the velocity component along a
latitude V
E
and the altitude h by

=
V
E
sec
R
P
+h
.
(c) Show that angular velocity of the geographic frame is given by

G
=

cos
0
sin

s
+

1
0
tan

V
E
R
P
+h
+

0
1
0

V
N
R
M
+h
.
(d) Assume a spherical Earth model, i.e., assume that
R
M
+h = R
P
+h = R
and that the acceleration vector acts normal to the platform in the downward direc-
tion and show that
d
dt

V
N
V
E
V
V

A
N
A
E
A
V

0
0
g

+2
S

V
E
sin
V
N
sin + V
V
cos
V
E
cos

+
1
R

V
N
V
V
V
2
E
V
E
(V
V
+ V
N
tan)

_
V
2
N
+ V
2
E
_

.
Exercises 9.119.12 197
9.11. A simplied and approximate model for the error dynamics of an INS is
given by
d
dt

x
v

v
g + E
A
(v/R) + E
G

,
where x is the position error, v is the error in the velocity, is the platform
tilt error, g is the acceleration that is due to gravity, R is the radius of the aircrafts
ight, and E
A
and E
G
are the accelerometer and gyro errors, respectively. Assuming
a constant gyro bias, show that
x(t ) = (g/
3
) (t sint ) E
G
, =
_
g/R= 0.001235 rad/s.
9.12. (a) Derive the dynamical equations for the errors in a gimballed naviga-
tion system and show that the characteristic equation has at least two
roots on the imaginary axis corresponding to a radian frequency of =
0.001235 rad/s with a time period equal to about 84.4 min (the Schuler
period).
(b) Show that the time period of a simple pendulum of length equal to the
radius of the Earth is approximately equal to about 84.4 min (the Schuler
period).
(c) Comment on the signicance of the results in (a) and (b).
10
Hamiltonian Systems and
Feedback Linearization
10.1 Dynamical Systems of the Liouville Type
William Rowan Hamilton was a remarkable dynamicist who was considered to
be the greatest mathematician, after Sir Isaac Newton, of the English-speaking
world. Born in Dublin in 1805 and named after an outlawed Irish patriot, Archibald
Hamilton Rowan, William R. Hamilton died in 1865 as the Astronomer Royal of
Ireland. In the span of 60 years he was responsible for a remarkable number of new
concepts, including the calculus of the quaternion, a generalization of a complex
number to three-dimensional space. Hamiltons discovery not only led to Arthur
Cayleys application, in 1854, of the quaternion to the representation of spatial
rotations but also led to the development of new algebras, including the theory of
matrices and the algebra associated with biquaternions, dened in 1873 by William
Kingdon Clifford. In 1834, when he was just 29 years of age, Hamilton wrote to
his uncle: It is my hope and purpose to remodel the whole of dynamics, in the
most extensive sense of the word, by the idea of my characteristic function. He
proceeded to apply this principle to the motion of systems of bodies, and in the fol-
lowing year expressed these equations of motion in a form that established a duality
between the components of momentum of a system of bodies and the coordinates
of their positions. He largely achieved his objectives and, in the process, set out on
a quest for simplicity that yielded remarkable dividends.
Before Hamiltons general equations of motion are introduced, it is instructive
to consider a restricted class of dynamical systems associated with name of Liouville.
Liouville, in 1849, showed that by a proper choice of coordinates the kinetic and
potential energies could be dened in such a way that the Lagrangian equations
can be integrated. To recognize this feature, consider the Lagrangian equations of a
system in the form
d
dt
L
q
i

L
q
i
= 0, (10.1)
where L= L(q
i
, q
i
) is the Lagrangian, which is dened as
L= T (q
i
, q
i
) V(q
i
) . (10.2)
198
10.1 Dynamical Systems of the Liouville Type 199
Here T (q
i
, q
i
) denotes the total kinetic energy of the dynamical system, V(q
i
) is the
total potential energy, and q
i
are the generalized coordinates. Assuming that the
kinetic and potential energies are not explicit functions of time,
d
dt
L=

i
L
q
i
d q
i
dt
+
L
q
i
dq
i
dt
=

i
L
q
i
d q
i
dt
+
d
dt
L
q
i
dq
i
dt
. (10.3)
Hence it follows that
d
dt
L=
d
dt
_

i
dq
i
dt

L
q
i
_
(10.4)
and that
L=

i
dq
i
dt

L
q
i
C, (10.5)
where C is a constant of integration. Further, because
L= T (q
i
, q
i
) V(q
i
) (10.6)
and V is not an explicit function of q
i
, we obtain
C =

i
dq
i
dt

L
q
i
L=

i
dq
i
dt

T
q
i
T + V. (10.7)
When T is assumed to a homogeneous quadratic function of q
i
,

i
dq
i
dt

T
q
i
= 2T, (10.8)
and the constant of integration C may be expressed as
C = 2T T + V = T + V. (10.9)
Thus it is possible in principle to solve the integral of the Lagrangian for q
i
, which
may be again integrated to obtain q
i
implicitly. Moreover, the relation for the con-
stant of integration is the sum of the kinetic and potential energies. This indicates
that the total energy is always a constant and that it is conserved in situations in
which there are no other external forces.
10.1.1 Hamiltons Equations of Motion
The implications of Liouvilles result are of greater signicance than is apparent
and could be applied to a wider class of systems than the conservative systems pre-
viously considered. To see this, we formulate the equations of motion in a form rst
introduced by Hamilton in 1834. The simplest and probably the most direct way
of formulating these equations is to reduce the Lagrangian equations to a system
of rst-order differential equations. To this end, we introduce an additional set of
generalized coordinates, the generalized momentum vector p, by means of
p =
_
L
q
i
_
T
=
T
q
L, (10.10)
200 Hamiltonian Systems and Feedback Linearization
where the right-hand side is a column vector of partial derivatives of L. These rela-
tions allow us to regard the generalized momentum vector p as functions of q
i
and
vice versa. The Lagrangian equations may be expressed as
d
dt
p =
_
L
q
i
_
T
+Q =
T
q
L+Q, (10.11)
where Q is the vector of generalized forces not included in the potential energy
function. The Lagrangian is generally a function of the generalized coordinates and
time:
L= L(q
i
, q
i
, t ) = L(q, p, t ) . (10.12)
We dene a new function, the Hamiltonian H, by
H(q, p, t ) = p
T
q L(q, p, t ) . (10.13)
Hence,

T
q
H(q, p, t ) =
T
q
L(q, p, t ) =
d
dt
p +Q. (10.14)
Furthermore,

T
p
H(q, p, t ) = q +
T
q
q
T
p
T
q
q
T

T
q
L(q, p, t ) = q. (10.15)
Thus we have the two Hamiltonian equations, which are also known as the canonical
equations, given by
d
dt
p =
T
q
H(q, p, t ) +Q,
d
dt
q =
T
p
H(q, p, t ) . (10.16)
The two equations in (10.16) may be expressed together in a compact form as a
single set of matrix equations,
J x =
dH
dx
T

_
Q
0
_
, (10.17)
where
x =
_
q
p
_
, J =
_
0 I
I 0
_
, J
T
= J
1
= JJ
2
= I,
and the row vector of derivatives is
dH
dx
=
x
H.
The matrix J , because of its nature, is said to be symplectic and is the matrix ver-
sion of j =

1, Q is the vector of generalized forces not included in the potential


energy function, and H is the Hamiltonian function in terms of the generalized dis-
placements q and the generalized momenta p, dened in terms of the Lagrangian by
H = p
T
q L, p =
L
q
T
, L= T V,
where T and V are the kinetic and potential energies.
10.1 Dynamical Systems of the Liouville Type 201
In the absence of the generalized force vector Q, the Hamiltonian equations
are
J x =
dH
dx
T
. (10.18)
Considering the time rate of change of the Hamiltonian, we have
d
dt
H(q, p, t ) =
H
t
+
H
q
dq
dt
+
H
p
dp
dt
. (10.19)
Hence,
d
dt
H(q, p, t ) =
H
t

dp
T
dt
dq
dt
+
dq
T
dt
dp
dt
=
H
t
. (10.20)
Thus if the Hamitonian that is not an explicit function of time is a constant, it follows
that H is conserved. Furthermore,
d
dt
H(q, p, t ) =
H
t
+
H
x
dx
dt
=
H
t
+
dx
T
dt

T
x
H =
H
t
+
x
HJ
T
x
H.
Thus,
d
dt
H(q, p, t ) =
H
t
+
x
HJ
T
x
H =
H
t
, (10.21)
and it follows that, as a result of the Hamiltonian structure of the equations of
motion,

x
HJ
T
x
H = 0. (10.22)
In the case of a conservative mechanical system, it can be shown that the Hamil-
tonian is equal to the total energy of the system and hence the total energy is con-
served. It must be recognized that, even in mechanical dynamical systems involving
rotating coordinates or gyroscopic forces, one often comes across Hamiltonian sys-
tems where H is as previously dened in terms of the Lagrangian, but does not
represent the total energy. A Hamiltonian system is said to be conservative only
if the Hamiltonian is the total energy of the system and when the total energy is
conserved. In general this may not be the case. If the kinetic energy T is given by
T =
1
2
[ q
T
T
2
q +T
1
(q) q +T
0
(q)], (10.23)
then

i
L
q
i
q
i
= q
T
T
2
q +T
1
(q) q = 2T T
1
(q) q 2T
0
(q) ,
H = 2T T
1
(q) q 2T
0
(q) T + V = T + V T
1
(q) q 2T
0
(q) .
Hence H = T + V only if T
1
(q) q +2T
0
(q) 0; i.e., when
T =
1
2
q
T
T
2
q. (10.24)
202 Hamiltonian Systems and Feedback Linearization
Further, if H is not an explicit function of time, it is a constant and H is conserved.
A mechanical system is energy conservative only if H = T + V = C, where C is a
constant and equal to the total energy.
In general, a linear system
x = Ax +Bu, y = Cx +Du (10.25)
is a Hamiltonian system if
J A = (J A)
T
, B
T
J = C, D = D
T
, (10.26)
where J is the symplectic form dened earlier. For purposes of comparison, the
linear system is a gradient system provided there exits a transformation T that is a
symmetric nonsingular matrix and
TA = (TA)
T
, B
T
T = C, D = D
T
. (10.27)
Thus a gradient system cannot also be a Hamiltonian system. Again, for purposes
of comparison, it may be observed that a reversible system satises the conditions
TA = AT, TB = B, CT = C, T = T
1
, (10.28)
as the system must be invariant under both a transformation of the independent
variable t as well as a linear transformation T of the states.
10.1.2 Passivity of Hamiltonian Dynamics
There is another important consequence of the Hamiltonian nature of the dynam-
ics of engineering systems that is applicable to a large class of electromechanical
systems. This is the property of passivity. When the generalized force vector Q is
the control input, the property has several important implications that facilitate the
design of globally stable control systems. The Hamiltonian nature of the dynamics
implies the passivity of the generalized velocity vector q with respect to the gener-
alized force vector Q, i.e.,
_
t
0
q
T
() Q() d , (10.29)
for any t 0 and a xed constant depending on only the initial state. Because
Q =
d
dt
p +
T
q
H(q, p, t ) ,
d
dt
q =
T
p
H(q, p, t ) , (10.30)
it follows that
_
t
0
q
T
() Q() d =
_
t
0
H
x
dx
d
d. (10.31)
Thus, when H is not an explicit function of time,
_
t
0
q
T
() Q() d =
_
t
0
H
x
dx
d
d = H(t ) H(0) H(0) = . (10.32)
10.1 Dynamical Systems of the Liouville Type 203
This relationship could also be shown to be true for the case when, in addition to
the control inputs, there are other generalized forces that are dissipative in nature.
The consequence of the property of passivity is that, in a system governed by a
dynamics of a Hamiltonian nature, energy cannot be created and can be either con-
served or dissipated. Thus passive systems are inherently not unstable, which is an
important property in the context of the design of robot-control systems. Moreover
the principle of conservation of energy that applies to systems governed by Hamil-
tonian dynamics is but a special case of the rst law of thermodynamics, which states
that the increase in energy of a system during any transformation is precisely equal
to the energy the system receives from its environment.
10.1.3 Hamiltons Principle
The most important aspect of Hamiltons equations of motion of a mechanical sys-
tem is not so much the derivation of the equations but the physical interpretations
and the basis for the derivation. Hamilton himself called it the principle of least
action, following the corpuscular theory of light, as the path traced by a ray of light
minimizes a quantity that he referred to as the action. The equations of motion
of a dynamic system were derived on the basis that the motion minimizes the action
integral. An extended version of the principle is related as the principle of virtual
work.
Hamiltons principle of least action for a conservative system may be stated as
S =
_
t
0
L(q, p, t ) dt =
_
t
0
[T (q, p, t ) V(q, p, t )] dt = 0. (10.33)
Physically, it implies that, as a body executes a dynamic motion, the increase in the
kinetic energy or the virtual work done during the process must be exactly equal
to the decrease in the potential energy or the internal energy stored in the system.
Thus the principle is simply a restatement of the principle of energy conservation in
the context of a conservative system. The paths of motion followed by the dynamic
system of particles are such that the action integral has a stationary value; i.e., the
integral along the given path has the same value to within rst-order innitesimals
as that along all neighboring paths. The difference between two paths for a given t
is called the variation of q, q. Thus the variation of the integral of the Lagrangian
over a time interval is zero when the integral has a stationary value.
Hamiltons principle may be considered to be an integral principle, as it con-
siders the entire motion of a system between times t
1
= 0 and t
2
= t . The instan-
taneous conguration of the system is described by the n generalized coordinates
q
1
, q
2
, q
3
, . . . , q
N
, and corresponds to a particular point in Cartesian hyperspace
where the qs form the n coordinate axes. This n-dimensional space is the cong-
uration space. As time evolves, the point representing the current conguration in
the conguration space moves and traces a curve. This curve describes the path of
motion of the system. The conguration space is not to be confused with the physical
three-dimensional space, for which only three coordinates are needed to describe a
204 Hamiltonian Systems and Feedback Linearization
position at any give time. For example, a system that is being described both by
the spatial coordinates and the velocities would have a six-dimensional congura-
tion space at any given point in time. It is these paths of motion in the conguration
space that are such that the integral of the Lagrangian over a time interval has a
stationary value.
10.2 Contact Transformation
Hamiltons equations of motion are fundamentally nonlinear in general. It is there-
fore quite natural to seek to transform these equations to simpler forms such as
q = 0 or q =
2
n
q,
and
p = 0 or p =
2
m
p,
where
2
i
are constants, while preserving the Hamitonian structure of the equa-
tions of motion. Although the study of Hamiltonian systems triggered the study
of symplectic systems, the development of contact transformations arose from a
need for simplicity. It is indeed ironic that the adjective symplectic in mathematics
was coined by replacing the Latin roots in com-plex with their Greek equivalents
sym-plectic.
A general transformation of the coordinates
x = [q p]
T
(10.34)
to the coordinates
x = [q p]
T
(10.35)
takes the form
x = x (x) , (10.36)
and the corresponding Jacobian relationship is given by
dx = Jdx. (10.37)
We observe that the quantity dx
T

T
x
H(x) is a scalar and require that this quantity
be invariant under a transformation in order to preserve the Hamiltonian structure
of the equations. Thus, considering the difference,
dx
T

T
x
H(x) dx
T

T
x

H(x) = dx
T
_

T
x
H(x) J
T

T
x

H(x)
_
,
where

H(x)

H[x (x)] = H(x). However,
dx
T
_

T
x
H(x) J
T

T
x

H(x)
_
= dx
T
_
J x J
T
J x
_
= dx
T
_
J J
T
J J
_
x.
10.2 Contact Transformation 205
Hence it follows that the Jacobian of the transformation, J, must satisfy the con-
straint
J
T
J J = J , J =
_
0 I
I 0
_
, (10.38)
in order that the Hamiltonian structure of the equations of motion be preserved;
i.e., the transformed equations of motion are
J x =
d

H(x)
dx
T
. (10.39)
Transformations that satisfy the preceding constraint are said to be contact or canon-
ical transformations. The constraint equation itself is often associated with name of
Poisson and is therefore known as the Poisson constraint equation; the elements of
this matrix equation are known as Poisson brackets. Contact or canonical transfor-
mations are said to be extended point transformations when q = q(q) and p = p(p).
In general, contact or canonical transformations are not extended point transforma-
tions.
An important feature of the canonical or contact transformations is that, under
the operation of matrix multiplication, they form a group as they satisfy the four
primary requirements that must be met to form one; i.e., the product of two trans-
formations is again a contact transformation (closure); the multiplication is associa-
tive, implying that if A, B, and C are contact transformations, (AB)C = A(BC); an
inverse transformation exists as does an identity transformation, which leaves the
variables unaltered. Although it is not essential that two transformations commute,
the identity transformation commutes with every member of the group and every
member of the group commutes with its own inverse transformation.
10.2.1 HamiltonJacobi Theory
One method of constructing a contact or canonical transformation is based on the
so-called generating function, S(p, q, t ), which implicitly denes a contact transfor-
mation (p, q) (p, q) by
p =

q
S(p, q, t ) , q =

p
S(p, q, t ) , (10.40)
and the Hamiltonian is concomitantly transformed by

H(p, q, t ) = H(p, q, t ) +

t
S(p, q, t ) . (10.41)
A by-product of this approach is the HamiltonJacobi equation, which is a partial
differential equation encapsulating the solutions of the Hamiltonian equations in
the form of a special contact transformation.
To prove the preceding relation we observe that the variation of the integral

_
t
0
[L(q, p, t )

L(q, p, t )] dt = (S p
T
q)|
t
0
, (10.42)
206 Hamiltonian Systems and Feedback Linearization
where

L(q, p, t ) = p
T
q

H(q, p, t ). Thus when the variations satisfy the appropri-
ate initial nal boundary conditions and when

_
t
0
L(q, p, t ) dt = 0, (10.43)
it follows that

_
t
0

L(q, p, t ) dt = 0. (10.44)
Hence the equations of motion in the transformed variables satisfy Hamiltons prin-
ciple and the associated rst-order equations in these variables constitute a canoni-
cal set of equations.
10.2.2 Signicance of the Hamiltonian Representations
Hamiltonian mechanics was actually discovered rst by Lagrange in relation to
his work on celestial mechanics. Lagrange discovered that the equations express-
ing the perturbation of elliptical planetary motion that is due to interactions could
be written as a simple system of rst-order differential equations (known today as
Lagranges planetary equations). However, it was undoubtedly Hamilton who real-
ized, some 24 years later, the theoretical importance of Lagranges planetary equa-
tions and exploited it to a fuller extent.
Hamiltons equations form a system of rst-order coupled differential equa-
tions, and the ordinary theory of existence and uniqueness of solutions may be
applied to these equations. In practice, Hamiltons equations are almost impossible
to solve exactly, except in a few cases. Two of these exceptions are (1) the time-
independent Hamiltonians with quadratic potentials (they lead to Hamilton equa-
tions, which are linear, and can thus be explicitly solved); (2) the Kepler problem in
spherical polar coordinates and, more generally, all integrable Hamiltonian sys-
tems (they can be solved by successive quadratures).
On the other hand, one can obtain the solutions for the evolution of the gen-
eralized position and momenta in time and space by solving the HamiltonJacobi
equation without solving Hamiltons equations of motion. The HamiltonJacobi
formulation bears a close relationship to the technique of dynamic programming
used for purposes of synthesizing feedback-control laws. Dynamic programming
provides a unifying principle for the analysis and solution of optimal control prob-
lems. When applied to continuous systems, such as robots seeking to optimally
emulate models of human and animal behavior, dynamic programming leads to the
HamiltonJacobiBellman equation, a generalization of the HamiltonJacobi equa-
tion. A solution to the HamiltonJacobiBellman equation for a particular control
problem provides an optimal controller in feedback form.
The primary limitation of the HamiltonJacobi-based methods is that the cost
of the associated numerical algorithms, in both space and time, rises exponentially
with the number of dimensions of the phase space of the model. The phase space is
the space formed by the generalized position and velocity coordinates of the model,
10.3 Canonical Representations of the Dynamics 207
and therefore has twice the number of dimensions as the model has DOFs. This
exponential rise in computational cost is sometimes called the curse of dimension-
ality.
Yet in many cases the HamiltonJacobi-type formulation, applied in conjunc-
tion with Lyapunovs second method based on the Lyapunov function, permits
the design of suboptimal but acceptable feedback-control laws for a host of robot-
control problems.
Further, Hamiltonian systems are closely associated with energy-conserving sys-
tems. In fact, they belong to wider class of systems known as passive systems, which
do not generate energy but could conserve or dissipate it. The HamiltonJacobi
theory has been extended and applied to such systems, and it is actually possible
to construct robust feedback-control laws that ensure that the property of passivity
is preserved. A detailed presentation of these control synthesis techniques as well
as the concept of passivity is well beyond the scope of this chapter. However, the
HamiltonJacobi theory forms the backbone of this entire class of techniques.
10.3 Canonical Representations of the Dynamics
Dynamics formulations usually have two main areas of applications: They are used
in control and in design analysis and operations. In control systems design, the
designer is often concerned about only the equations of dynamics of the system, in
which constraint forces are eliminated from the formulation. In these types of sys-
tems, it is customary to adopt a minimal set of coordinates to describe the dynamics
of the system. The derivation of the governing system dynamics in terms of a mini-
mal set of coordinates is generally difcult because of the additional complications
arising from the need to eliminate constraint equations that may or may not be inte-
grable. In the former case, the constraints are said to be holonomic, whereas in the
latter they are said to be nonholonomic. A nonholonomic constraint can be viewed
as a restriction on the allowable velocities of the object. Whenever it is possible to
eliminate the constraint equations from the formulation of the system dynamics,
it is possible to express the system dynamics in terms of a minimal set of coordi-
nates. The benet would be a faster solution of the governing equations of motion,
although no information may yet be available about the constraint variables. An
alternative is to use a nonminimal or redundant set of coordinates. Descriptions of
the system dynamics result in a set of governing equations that is usually slower
to be solved, although they are more easily derived, simpler in form, and provide
information about the constraint variables. Generally, in the most common class of
dynamical problems, one is most interested in the motion variables and their evolu-
tion with time. There is little or no interest in the constraint forces and their behav-
ior over a period of time. However, in design and operations of manipulator system,
the constraint forces are of key importance. Constraint forces can also be of rele-
vance in the design of advanced controllers. The methods subsequently described
can be advantageous in various problems of serial and parallel manipulator dynam-
ics. Rather than solving the Hamiltonian equations, it is often desirable that these
208 Hamiltonian Systems and Feedback Linearization
equations be transformed to canonical forms or canonical representations that may
then be used for synthesizing feedback-control laws or in the determination and
control of constraint forces or moments.
Canonical forms facilitate the synthesis of nonlinear feedback controllers with
relative ease. However, the study of the transformation of the nonlinear equations
to canonical representations requires the introduction of new mathematical objects
such as Lie algebras and Lie groups, as well as continuous geometrical and topo-
logical objects known as manifolds. For our purposes, we restrict our attention to
the application of these concepts to the transformation of Hamiltonian systems of
equations. Only a brief description of Lie derivatives and Lie brackets and their
relationship to Lie algebras is presented in the next subsection. Lie brackets are
particularly useful in representing nonholonomic motion constraints.
10.3.1 Lie Algebras
To begin, we observe that every vector function of x, say f(x), corresponds to eld
of vectors in n-dimensional space with the vector f(x) emanating from the point
x. Thus, following the terminology used in differential geometry, a vector function
f(x) : R
n
R
n
is a vector eld in R
n
. The Lie derivatives of h(x) in the direction
of a vector eld f(x) are denoted as L
f
h(x). Explicitly, the Lie derivative is the
directional derivative of h(x) in the directions f
i
(x):
L
f
h(x) =
n

i =1
h
x
i
f
i
(x) = [
x
h(x)] f (x) . (10.45)
The adjoint operators or Lie brackets are dened as
ad
0
f
s (x) = s, ad
1
f
s (x) = [f, s] = (
x
s) f (
x
f) s, (10.46)
and the higher operators are dened recursively as
ad
i +1
f
s (x) =
_
f, ad
i
f
s (x)
_
. (10.47)
Two vector elds g
1
and g
2
are said to be involutive if and only if there exist scalar
functions (x) and (x) such that the Lie bracket
[g
1
,g
2
] = (x)g
1
+(x)g
2
. (10.48)
Lie algebra L, named in honor of Sophus Lie (pronounced lee), a Norwegian
mathematician who pioneered the study of these mathematical objects, is a vec-
tor space over some eld together with a bilinear multiplication called the bracket.
A nonassociative algebra obeyed by objects such as the Lie bracket and Poisson
bracket is a Lie algebra. Elements f, g, and h of a Lie algebra satisfy [ f, f ] = 0,
[ f + g, h] = [ f, h] +[g, h], and the Jacobi identity dened by
[ f, [g,h]] +[g, [h, f ]] +[h, [ f ,g]] = 0. (10.49)
10.3 Canonical Representations of the Dynamics 209
The relation [ f, f ] = 0 implies that [ f, g] = [g, f ]. The binary operation of a Lie
algebra is the bracket
[ f g, h] = f [g, h] +[ f, h] g. (10.50)
Lie algebras permit the recursive formulation of rigid body dynamics for a general
class of mechanisms. In particular, the Lie algebra formulation allows one to easily
derive the analytic gradient of the recursive dynamics transformation. They may
then be used to develop optimal solutions for a class of mechanisms. The Lie algebra
should be thought of as a set of special vector elds, and the brackets associated with
it play a key role in its application.
The main use of a Lie algebra is the study a special kind of group known as
the Lie group. These relate to groups of continuous transformations of the type
considered in the Appendix and Chapter 3, particularly those that satisfy differential
equations. A Lie algebra may be associated with a Lie group, in which case it reects
the local structure of the Lie group. Briey, whenever a Lie group G has a group
representation on V, its tangent space at the identity, which is a Lie algebra, has a
Lie algebra representation on V given by the differential at the identity. Conversely,
if a connected Lie group G corresponds to a Lie algebra that has a Lie algebra
representation on V, then G has a group representation on V given by the matrix
exponential. Two typical examples illustrate this aspect.
The special orthogonal group SO(3) (see the Appendix) is the set of all 3 3
real orthogonal matrices with a unit determinant. It is a subgroup of the general
linear group GL(3):
SO(3) = {R GL(3) : RR
T
= I, |R| = 1}. (10.51)
SO(3) is a Lie group because it has the structure of a group (under matrix multipli-
cation) and it is a differentiable manifold.
The set of all homogeneous transformation matrices (Chapter 3) is called the
SE(3), the special Euclidean group of rigid body transformations in three dimen-
sions, represented by
SE(3) =
__
R d
0 1
_
, R R
33
, d R
3
, RR
T
= I, |R| = 1
_
. (10.52)
On a Lie group the tangent space at the group identity denes a Lie algebra. The
Lie algebra of SO(3) is given by so(3), and the Lie algebra of SE(3) is given by se(3)
(see Subsection 3.3.3), where
so(3) =
_
w R
33
, w
T
= w
_
, (10.53a)
se (3) =
__
w u
0 0
_
, w R
33
, u R
3
, w
T
= w
_
, (10.53b)
210 Hamiltonian Systems and Feedback Linearization
w =

0 w
z
w
y
w
z
0 w
x
w
y
w
x
0

, (10.53c)
and w is a skew-symmetric matrix uniquely identied by w R
3
.
10.3.2 Feedback Linearization
Consider a controlled n-dimensional dynamical system, in which the Hamiltonian
equations of motion are expressed in the form
x = f(x) +g(x)u, (10.54)
where f [x (t )] and g [x (t )] are vector elds of the vector x (t ). We restrict our atten-
tion to single-input (u) to single-output, control-afne systems, characterized by an
n-dimensional state response
x (t ) = [t, x
0
, t
0
, u(t )] . (10.55)
The output function of time is assumed to be given by
y (t ) = h[x (t )] . (10.56)
Before considering the general case, we assume that the n-dimensional dynamical
system, in which the Hamiltonian equations of motion are expressed in the so-called
pure feedback form, is given by
x
1
= f
1
(x
1
,x
2
),
x
2
= f
2
(x
1
,x
2
,x
3
)
.
.
.
x
n1
= f
n1
(x
1
,x
2
,x
3
, . . . ,x
n
),
x
n
= f
n
(x
1
,x
2
,x
3
, . . . ,x
n
) + g
n
(x
1
,x
2
,x
3
, . . . ,x
n
)u.
(10.57)
We dene a new set of coordinates and a new control input variable by the transfor-
mations

1
= x
1
,

2
=

1
=

1
x
1
f
1
+

1
x
2
f
2
= L
f

1
,

3
=

2
=

2
x
1
f
1
+

2
x
2
f
2
+

2
x
3
f
3
= L
f

2
= L
2
f

1
,
.
.
.

n
=

n1
= L
f

n1
= L
n1
f

1
,
(10.58)
to obtain the controlled linear system

1
=
2
,

2
=
3
, . . . ,

n1
=
n
,

n
= u, (10.59)
when the feedback-augmented input variable u is given by
u =

n
= L
f

n
+uL
g

n
= L
n
f

1
+uL
g
L
n1
f

1
. (10.60)
10.3 Canonical Representations of the Dynamics 211
The system is said to be locally feedback linearizable because it is now a control-
lable linear system and the coordinate transformations may be dened locally. The
property of controllability shows whether the states of the system are sufciently
coupled so that they are inuenced, to some extent, by the control input. Needless
to say, we have restricted ourselves to a special form of equations of motion, and
we would like, in general, to identify the class of systems that can be reduced in this
way to a controllable linear system.
Consider the single-input (u) to single-output (y) open-loop system:

=
_
x = f (x) +g (x) u
y = h(x)
, (10.61)
where h is called the output function, u is the control input, and dim(x) = n. This
system is said to have relative degree r at a point x
0
if
1. L
g
L
k
f
h(x) = 0 for all x in a neighborhood of x
0
for k = 0, 1, . . . , (r 2), and
2. L
g
L
r1
f
h(x
0
) = 0 for all x,
where L
g
h(x) is the Lie derivative of the function h with respect to the vector
eld g.
By virtue of the Jacobi identity satised by elements of a Lie algebra, the condi-
tions
L
g
h(x) = L
g
L
f
h(x) = L
g
L
2
f
h(x) = L
g
L
r2
f
h(x) = 0 (10.62a)
are equivalent to the conditions
L
g
h(x) = L
ad
f
g
h(x) = L
ad
2
f
g
h(x) = L
ad
r2
f
g
h(x) = 0, (10.62b)
where the adjoint operator ad
k
f
() is dened in Subsection 10.3.1.
If the relative degree of the control system is equal to its dimension, that is,
r =n at all points x, then the system is said to be full state-feedback linearizable and
we can use the following change of coordinates:

1
= h,

2
=

1
=
n

i =1

1
x
i
f
i
+u

1
x
1
g
i
= L
f
h(x) +uL
g
h(x) = L
f
h(x) ,

3
=

2
=
n

i =1

2
x
i
f
i
+u

2
x
1
g
i
= (L
f
+uL
g
) L
f
h(x) = L
2
f
h(x)
.
.
.

n
=

n1
= L
n1
f
h(x) ,

n
= L
n
f
h(x) + L
g
L
n1
f
h(x) u,
(10.63)
and because L
g
L
n1
f
h(x) = 0 x, we can dene
u =
1
L
g
L
n1
f
h(x)
_
u L
n
f
h(x)
_
(10.64)
212 Hamiltonian Systems and Feedback Linearization
so that

n
= u and y =
1
. Furthermore, we can verify that the rst state satises the
conditions

1
ad
i
f
g = 0, i = 0, 1, 2, . . . , r 2,
1
ad
r1
f
g = 0. (10.65)
In this manner, the open-loop system

has been transformed into a linear system


(a chain of integrators), which is in a controllable canonic form:

1
=
2
,

2
=
3
, . . . ,

n1
=
n
,

n
= u, (10.66)
We may then use standard pole-placement techniques in control theory to select
an appropriate control law to dene u to satisfy the dynamic control requirements.
Because this system is in a linear and controllable form it is also stabilizable. We can
also specify an arbitrary trajectory by specifying a value of h along it. If h
d
[x (t )] is
the desired trajectory, we can choose
u = h
(n)
d
+a
n1
_
h
(n1)
d

n
_
+ +a
0
(h
d

1
) , (10.67)
where the a
i
are chosen so that s
n
+a
n1
s
n1
+ +a
1
s +a
0
is a stable Hurwitz
polynomial in the sense that all the roots of this polynomial lie in the left half
of the complex plane, a condition that guarantees the asymptotic stability of the
response of the closed-loop system. Arbitrary trajectories may or may not be pos-
sible, depending on the form of the output function h[x (t )] because the feasible
trajectories must be compatible with that function.
The conditions for reducing the system to an equivalent linear system could
be relaxed to allow for linear systems with zeros. A zero or transmission zero is
essentially a situation in which the input to the system does not appear at the output.
Thus a single-inputsingle-output nonlinear system is state-space equivalent to a
controllable linear system with a linear output if and only if there exist constants
c
i
, i = 0, 1, 2, . . . , 2n 1, such that
L
g
L
i
f
h(x) = c
i
. (10.68)
The earlier result may be recovered provided c
i
= 0 for all i given by i =
0, 1, 2, . . . , 2n 2 and c
2n1
= 0. In this case it can be shown that we obtain a linear
system with no zeros. However, by relaxing the requirement that there exist con-
stants c
i
, i = 0, 1, 2, . . . , 2n 1, we still obtain a linear system; it is now no longer
free of the presence of transmission zeros. Although a detailed treatment and dis-
cussion of transmission zeros is beyond the scope of this chapter, the generalization
of the requirements for feedback linearization permits the concept to be extended
relatively easily to systems with multiple inputs and outputs.
The extension of this result to multiple-inputmultiple-output systems is
straightforward. A multi-inputmulti-output nonlinear system with m linear inputs
given as
x = f(x) +
m

k=1
g
k
(x)u
k
, (10.69)
y (t ) = h[x (t )] = {h
1
[x (t )] , h
2
[x (t )] , h
3
[x (t )] , . . . , h
p
[x (t )]}, (10.70)
10.3 Canonical Representations of the Dynamics 213
is state-space equivalent to a controllable linear system with p linear outputs if and
only if there exist constants c
i, j,k
, i = 0, 1, 2, . . . , 2n 1, such that
L
g
k
L
i
f
h
j
(x) = c
i, j,k
. (10.71)
The ability to linearize multi-inputmulti-output systems is particularly useful in
the context of the dynamic control of robot arms and robot-manipulator systems,
although the subject of feedback linearization and its application to the eld of
robotics is still in its infancy.
10.3.3 Partial StateFeedback Linearization
Reconsidering the single-inputsingle-output case, if the relative degree of the con-
trol system is not equal to its dimension, that is, r < n at all points x, then the sys-
tem is said to be partially state-feedback linearizable, and we can use the following
change of coordinates:

1
= h,
2
=

1
= L
f
h(x),
3
=

2
= L
2
f
h(x) , . . . ,
(10.72)

r
=

r1
= L
r1
f
h(x),
r+1
= x
r+1
, . . . ,
n
= x
n
,
and it follows that

1
=
2
,

2
=
3
, . . . ,

r1
=
r
,

r
= f
r
() + g
r
() u,
(10.73)

r+1
= f
r+1
() + g
r+1
() u, . . . ,

n
= f
n
() + g
n
() u.
The preceding transformed dynamics can be shown to represent the partially feed-
back linearizable dynamics. Furthermore, when
u = [ f
r
() +a
r1

r
+ +a
0

1
]/g
r
(), (10.74)
where the a
i
are chosen so that s
r
+a
r1
s
r1
+ +a
1
s +a
0
is a stable Hurwitz
polynomial in the sense that all the roots of this polynomial lie in the left half of the
complex plane. This condition guarantees the asymptotic stability of the response
of the rst r states, and the rst r states may be assumed to tend to zero after some
nite time. Therefore, by setting these states identically to zero in the equations of
motion, we have

1
= 0,

1
=
2
= 0,

2
=
3
= 0, . . . ,

r1
=
r
= 0,

r
= 0, . . . ,
(10.75)

r+1
= f
r+1
() + g
r+1
() u,

n
= f
n
() + g
n
() u,
where
u = f
r
()/g
r
() , y =
1
= 0. (10.76)
The output now being zero, the associated dynamics denes the zero dynamics of
the system. In particular, when the zero dynamics is asymptotically stable in the
sense that all states associated with it tend to zero asymptotically, partial feed-
back linearization is still extremely useful for constructing feasible controllers to
meet dynamic control requirements. Although a complete discussion of the control
214 Hamiltonian Systems and Feedback Linearization
engineering aspects of the feedback linearization is beyond the scope of this chapter,
the technique has several other useful and practical applications.
The methodology of partial feedback linearization could also be extended to
the case of multi-inputmulti-output systems without much difculty. Although the
details are not presented here, the exercises should assist the interested reader to
apply the technique to robotic systems.
10.3.4 Involutive Transformations
The more difcult problem is determining an output function h[x (t )] that satises
the requirements of the partial differential equations appearing in the denition
of relative degree. The critical issue is the ability to nd an articial output func-
tion h[x (t )] with the maximal relative degree over a nite and known region in the
state space. In particular, full state-feedback linearization requires that the relative
degree be equal to n. The ability to nd such an articial input hinges on two condi-
tions being met. The rst of these is the nonlinear system equivalent of the condition
for full state controllability in linear systems. The second is the condition of involu-
tivity, which is unique to nonlinear systems as it is generically satised by linear
systems.
In Subsection 10.3.2 it was stated that the transformed rst state satises the
conditions

1
ad
i
f
g = 0, i = 0, 1, 2, . . . , r 2,
1
ad
r1
f
g = 0. (10.77)
These equations are a total of r linear equations that dene the rst state
1
, and
the remaining states may then be constructed as illustrated in Subsection 10.3.2.
Based on a well-known theorem in differential geometry, the Frobenius theorem, it
is known that a solution to this problem exists only when each and every pair of the
vector elds,
ad
i
f
g = 0, i = 0, 1, 2, . . . , r 2, (10.78)
is involutive; i.e., the Lie bracket of each and every pair can be expressed as a
weighted linear combination of the r 2 vector elds. Furthermore, it is also
required that the vector elds,
ad
i
f
g = 0, i = 0, 1, 2, . . . , r 1, (10.79)
be linearly independent. This latter condition is the nonlinear equivalent of the con-
dition for full state controllability when r =n. Thus coordinate transformations that
satisfy both conditions with r = n are said to be involutive transformations. The
existence of an involutive transformation guarantees full state-feedback lineariza-
tion. The transformation itself could be constructed by the solutions of

1
ad
i
f
g = 0, i = 0, 1, 2, . . . , r 2,
1
ad
r1
f
g = 1. (10.80)
10.4 Applications of Feedback Linearization 215
10.4 Applications of Feedback Linearization
We consider a number of robotics-related examples to illustrate the application of
feedback linerization to real, practical systems and their component subsystems.
Although relatively simple, these examples illustrate the application of the trans-
formation techniques associated with involutive transformations.
Example 10.1. Third-Order Noninvolutive System
We consider the following third-order noninvolutive system,
x = f (x) +g (x) u, (10.81)
where
x
1
= x
2
+ x
2
3
, x
2
= x
3
+ x
2
2
, x
3
= u + x
2
1
.
The vectors f(x) and g(x) may be identied as
f(x) =
_
x
2
+ x
2
3
x
3
+ x
2
2
x
2
1
_
T
, g(x) = [ 0 0 1 ]
T
. (10.82)
The Jacobian is given by
J(f) =

0 1 2x
3
0 2x
2
1
2x
1
0 0

. (10.83)
The vectors g
1
(x) = [f, g] and g
2
(x) = [[f, g] , g] are obtained from the Lie
bracket equation
[f, g] = J(g)f J(f)g, (10.84)
where J() is the Jacobian of the argument.
Hence
g
1
(x) = [ 2x
3
1 0 ]
T
, g
2
(x) =
_
1 2x
2
1
2x
2
4x
1
x
2
_
T
.
To check if the system is feedback linearizable, the system must be involutive.
For the system to be involutive, it is necessary to check if the Lie bracket [g
1
, g]
is a weighted linear combination of g, g
1
, g
2
. In fact, the Lie bracket [g
1
, g] is
[g
1
, g] = [ 2 0 0 ]
T
,
and the system is therefore not involutive and not feedback linearizable.
It is easy to see that the offending term is the component vector
f
1
(x) = [ x
2
3
0 0 ]
T
in the vector f(x). Thus, if this component is ignored or approximated by a linear
term (such as a describing function), the system is feedback linearizable. Hence
the system is only partially feedback linearizable. Partial feedback linearization
is an important step in the transformation of a system to near linear form.
216 Hamiltonian Systems and Feedback Linearization
Example 10.2. Third-Order Locally Feedback Linearizable System
We consider the following third-order system that is locally feedback lineariz-
able, i.e., not globally feedback linearizable,
x = f (x) +g (x) u, (10.85)
where
x
1
= x
2
+ x
2
2
+ x
2
3
+u, x
2
= x
3
+sin(x
1
x
3
) , x
3
= u + x
2
3
.
By examining the linearized equations, we rst introduce the transformation

x
1
x
2
x
3

1 0 1
0 1 0
0 0 1

y
1
y
2
y
3

and reduce the equations to


y
1
= y
2
+ y
2
2
, y
2
= y
3
+sin(y
1
), y
3
= u + y
2
3
.
The vectors, f, g, g
1
, g
2
are
f(y) =

y
2
+ y
2
2
y
3
+sin(y
1
)
y
2
3

, g(x) =

0
0
1

, g
1
(x) =

0
1
2y
3

, g
2
(x) =

2y
2
+1
2y
3
2y
2
3

.
The Lie bracket [g
1
, g] is
[g
1
, g] = [ 0 0 2 ]
T
= 2g,
and the system is feedback linearizable. However, the vectors g, g
1
, g
2
are lin-
early independent only if y
2
= 1/2, and therefore the system is only locally feed-
back linearizable. To feedback linearize the system, we let
z
1
= y
1
, z
2
= L
f
z
1
= y
2
+ y
2
2
, z
3
= L
f
z
2
= (1 +2y
2
)[y
3
+sin(y
1
)],
v = {y
3
+sin(y
1
) +2[y
3
+sin(y
1
)]
2
} +(1 +2y
2
)
_
u + y
2
3
+cos (y
1
)
_
y
2
+ y
2
2
__
,
and the system reduces to
z
1
= z
2
, z
2
= z
3
, z
3
= v.
Example 10.3. Third-Order Feedback Linearizable System:
The R ossler System
We consider the following third-order system,
x = f (x) +g (x) u, (10.86)
where
x
1
= ax
1
+ x
2
, x
2
= x
1
x
3
, x
3
= u +b + x
3
(x
1
c) .
This is indeed one of the simplest of autonomous (time-independent coef-
cients) systems that is also quite easily feedback linearizable while exhibiting
10.4 Applications of Feedback Linearization 217
a complex behavior. In fact, transforming the states by the nonlinear transfor-
mations
z
1
= x
1
, z
2
= x
2
+ax
1
, z
3
= (a
2
1)x
1
+ax
2
x
3
reduces the equations to
z
1
= z
2
, z
2
= z
3
, z
3
= az
3
z
2
(az
2
z
1
z
3
) (z
1
c) u = v.
Example 10.4. Inverted Pendulum Connected by a Flexible Joint
This is a two-DOF pendulum described by the equations of motion
I x
1
+ Mgl sin(x
1
) +k (x
1
x
3
) = 0,
J x
3
+k (x
3
x
1
) = u.
It is a fourth-order system that is linearized by the sequential application of the
transformation of coordinates. The state equations are
x
1
= x
2
, x
2
=
Mgl
I
sin(x
1
)
k
I
x
1
+
k
I
x
3
,
x
3
= x
4
, x
4
=
k
J
x
1

k
J
x
3
+
1
J
u.
The controllability matrix for the preceding nonlinear system is obtained by use
of the Lie bracket formula and is given by
C =
1
IJ
2

kJ 0 0 0
0 kJ 0 0
kI 0 IJ 0
0 kI 0 IJ

.
Because the preceding matrix is a linear transformation (all elements are con-
stant) we rst apply the transformation
y = Cx,
where y = [y
1
y
2
y
3
y
4
]
T
and x = [x
1
x
2
x
3
x
4
]
T
. The nonlinear equations
reduce to
y
1
= y
2
, y
2
= y
3

Mgl
I
sin
_
k
IJ
y
1
_

k
I
y
1
+
k
J
y
1
,
y
3
= y
4
, y
4
= Mgl sin
_
k
IJ
y
1
_
+u.
It is interesting to note that, although the equations are feedback linearizable,
even the linear part is not in the control canonic form. It is known from linear
control theory that a second transformation is essential to reduce even the linear
part to the control canonic form. It is often convenient to rst transform the
linear part to control canonic form and then apply the feedback linearization
algorithm. Of course, this is possible only if the system is controllable. Feedback
linearization, after a linear transformation is performed, requires the nonlinear
218 Hamiltonian Systems and Feedback Linearization
controllability matrix to be involutive as well. Sometimes this condition may not
be satised.
Example 10.5: Sequential Transformation of the Model of a Nonlinear
Fourth-Order System
We now apply a linear transformation to a nonlinear system so that the linear
part is in the control canonic form. The example considered here is similar to
the two-mass, three-spring system and is illustrated in Figure 10.1. The springs
k
1
(x) and k
2
(x) are of the form
k
i
(x) = k
i 0
[1 +k
in
(x)], i = 1, 2,
where k
in
(x) represents the nonlinear part of the spring stiffness.
The rst-order equations of motion are
x
1
= y
1
, y
1
=
k
1
+k
c
m
1
x
1
+
k
c
m
1
x
2
,
(10.87)
x
2
= y
2
, y
2
=
k
c
m
2
x
1

k
c
+k
2
m
2
x
2
+
1
m
2
u.
To transform the linear part of the equations to the control canonic form
we must apply the transformation
z
1
= x
1
and obtain
z
2
= L
f
z
1
,
where L
f
z = z f(x) is the Lie derivative in the direction of f(x). Hence,
z
2
= y
1
.
Furthermore,
z
3
= L
f
z
2
, z
3
=
k
10
+k
c
m
1
x
1
+
k
c
m
1
x
2
,
z
4
= L
f
z
3
, z
4
=
k
10
+k
c
m
1
y
1
+
k
c
m
1
y
2
.
k
1
k
c
k
2
F(t)
x
2
(t) x
1
(t)
m
2
m
1
Figure 10.1. Nonlinear vibrating system.
10.4 Applications of Feedback Linearization 219
Therefore it follows that
x
1
= z
1
, y
1
= z
2
,
y
2
=
m
1
k
c
_
z
4
+
(k
10
+k
c
)
m
1
z
2
_
, x
2
=
m
1
k
c
_
z
3
+
(k
10
+k
c
)
m
1
z
1
_
.
The equations of motion for the linear part transform to
z
1
= z
2
, z
2
= z
3
, z
3
= z
4
and
z
4
=
k
20
m
1
m
2
u
_
k
10
k
20
+k
c
(k
10
+k
20
)
m
1
m
2
_
z
1

_
k
10
+k
c
m
1
+
k
20
+k
c
m
2
_
z
3
.
Applying the same transformation to the nonlinear equations, we obtain
z
1
= z
2
, z
2
= z
3

k
10
m
1
k
1n
(z
1
)z
1
, z
3
= z
4
,
z
4
=
k
c
m
1
1
m
2
u
k
10
+k
c
m
1
_
z
3

k
10
m
1
k
1n
(z
1
)z
1
_
+
k
c
m
1
k
c
m
2
z
1

k
c
+k
2
_
m
1
k
c
_
z
3
+
(k
10
+k
c
)
m
1
z
1
__
m
2
_
z
3
+
(k
10
+k
c
)
m
1
z
1
_
.
Although the equations are not in the control canonic form, one may now
apply feedback linearization and relate the linear coordinates to the corre-
sponding nonlinear ones. Assuming the nonlinear controllability matrix is invo-
lutive, the nal equations obtained are identical to those obtained by direct
feedback linearization of the original nonlinear equations.
Example 10.6. Feedback Linearization of a Two-InputTwo-Output
Nonlinear System
Consider the following two-input (u
1
, u
2
) and two-output (y) system:
x
1
= x
2
+2x
2
(x
3
+u
1
+u
2
) , x
2
= x
3
+u
1
+u
2
, x
3
= x
4
x
2
3
x
2
5
+u
1
,
x
4
= x
5
+2x
3
_
x
4
x
2
3
x
2
5
+u
1
_
+2x
4
u
2
, x
5
= 0, (10.88)
y = [h
1
(x) , h
2
(x)] =
_
x
1
x
2
2
x
3
_
.
We set
1
= x
1
x
2
2
,
2
= x
2
,
3
= x
3
,
4
= x
4
x
2
3
x
2
5
, and
5
= x
5
,
It can be easily veried that the resulting system is linear and is given by

1
=
2
,

2
=
3
+u
1
+u
2
,

3
=
4
+u
1
,

4
=
5
,

5
= u
2
.
The outputs are given as
y = [
1
,
3
] .
220 Hamiltonian Systems and Feedback Linearization
Example 10.7. Computed Torque Control of a Two-Link Robot Manipulator
Consider the ideal case of a two-link manipulator with an end-effector carrying
a typical payload.
The end-effector and its payload are modeled as a lumped mass and
assumed to be located at the tip of the outer link. The two-link manipulator
with the tip mass is illustrated in Figure 10.2. The general equations of motion
of a two-link manipulator may be expressed as

1
=
1
,

2
=
2

1
,
_
I
11
I
12
I
21
I
22
__

1

2
_
+(m
2
L
2cg
+ ML
2
) L
1
sin(
2
)
_

2
1

2
2

2
1
_
= [ T
1
T
2
]
T
g[
1

2
]
T
,
(10.89)
where m
i
, L
i
, L
i cg
, and k
i cg
are the mass, length, the position of the cg with
reference to the ith joint, and radius of gyration about the cg of the ith link:
I
11
= m
1
_
L
2
1cg
+k
2
1cg
_
+(m
2
+ M) L
2
1
+(m
2
L
2cg
+ ML
2
) L
1
cos (
2
) ,
I
12
= m
2
_
L
2
2cg
+k
2
2cg
_
+ ML
2
2
+(m
2
L
2cg
+ ML
2
) L
1
cos (
2
) ,
I
21
= (m
2
L
2cg
+ ML
2
) L
1
cos (
2
) , I
22
= m
2
_
L
2
2cg
+k
2
2cg
_
+ ML
2
2
,
and

1
= (m
1
L
1cg
+m
2
L
1
+ ML
1
) cos (
1
) +(m
2
L
2cg
+ ML
2
) cos (
1
+
2
) ,

2
= (m
2
L
2cg
+ ML
2
) cos (
1
+
2
) .
X
0
Y
0
X
1 Y
1
X
2
Y
2

2
L
L
Tip mass
Figure 10.2. Two-link planar anthropo-
morphic manipulator; the Z axes are all
aligned normal to the plane of the paper.
10.4 Applications of Feedback Linearization 221
In the special case in which the two links are uniform and identical to each
other, assuming that gravity torques are small, the equations may be written in
standard state-space form as

1
=
1
,

2
=
2

1
,

+
4
3
+
_
+
1
2
_
cos
2
_
+
1
3
_
+
_
+
1
2
_
cos
2
_
+
1
2
_
cos
2
+
1
3

_

1

2
_
=
_
+
1
2
_
sin
2
_

2
1

2
2

2
1
_
+
_
T
1
/mL
2
T
2
/mL
2
_
,
where = m/M is the ratio of the link mass m to the tip mass M, L is the link
length, and T
1
and T
2
are the externally applied torques at the two joints.
The last pair of equations may also be expressed as
()
_

1

2
_
=

+
1
3

_
+
1
3
_

_
+
1
2
_
cos
2

_
+
1
2
_
cos
2
+
4
3
+
_
+
1
2
_
cos
2

_
+
1
2
_
sin
2
_

2
1

2
2

2
1
_
+
_
T
1
/mL
2
T
2
/mL
2
__
,
where
() =
_
7
36
+
2
3
+
_
+
1
2
_
2
sin
2

2
_
.
In the preceding form the governing equations of motion are expressed in the
standard state-space form, thus facilitating their numerical integration to obtain
the complete time history of the state vector:
x = [
1

2

1

2
]
T
.
The two servocontrol torque motors at the joints may be assumed to be identi-
cal, and the feedback law may be assumed to be a computed torque controller,
as it may be estimated from the known time history of the state vector. In the
general case, the computed torque controller inputs are
_
T
1
T
2
_
=
_
T
1c
T
2c
_

_
I
11
+ I
12
I
12
I
21
+ I
22
I
22
__
v
1
v
2
_
+ (m
2
L
2cg
+ ML
2
) L
1
sin(
2
)
_

2
1

2
2

2
1
_
+ g
_

2
_
,
where the auxiliary control inputs are dened as
_
v
1
v
2
_
=
_

1d

2d
_
+2
n
_

1d

2d
_
+
2
n
_

1d

2d
_
2
n
_

2
_

2
n
_

2
_
222 Hamiltonian Systems and Feedback Linearization
and [
1d

2d
]
T
are the demanded angular position commands to the joint servo-
motors representing the desired angular position states. The last four terms in
the equation dening the auxiliary control input are based on the so-called
proportional-derivative (PD) controller concept. A PD control scheme emu-
lates the effect of a linear spring and damper acting between the current state
and the desired state.
The tracking error between the desired angular position states and the cur-
rent angular position states is given by
_
e
1
e
2
_
=
_

1d

2d
_

2
_
and satises the equation
_
e
1
e
2
_
+2
_

n1
0
0
n2
__
e
1
e
2
_
+
_

2
n1
0
0
2
n2
__
e
1
e
2
_
=
_
0
0
_
and is exponentially stable as the response emulates a pair of critically damped
and independently vibrating masses, each of which is supported on a spring and
damper.
Consider the general case of a two-link manipulator and assume that the
computed control torques are the baseline torques and express the external
joint torques, in general, as
_
T
1
T
2
_
=
_
T
1c
T
2c
_
+
_
T
1
T
2
_

_
T
1c
T
2c
_

_
T
1c
T
2c
_
+
_
T
1
T
2
_
.
Hence observe that the tracking error satises
_
e
1
e
2
_
+2
_

n1
0
0
n2
__
e
1
e
2
_
+
_

2
n1
0
0
2
n2
__
e
1
e
2
_
=
_
I
11
+ I
12
I
12
I
21
+ I
22
I
22
_
1
_
T
1
T
2
_
,
where
_
T
1
T
2
_
=
_
T
1
T
2
_

_
T
1c
T
2c
_
are the additional residual torques acting on the joints. This indicates that any
additional residual torques in the system tend to drive the tracking error. One
of the objectives of a robot controller is then to ensure that the tracking error
is exponentially stable even in the presence of residual torques. When the addi-
tional residual torques are predictable, a number of classical control schemes
may be used to modify the simple PD scheme.
When the additional residual torques are not predictable, one of the many
adaptive control schemes must be applied rather than the simple PD scheme
used in this example. These controllers not only have the ability to continuously
adapt to the dynamic variations in the additional residual torques but are also
10.5 Optimal Control of Hamiltonian and Near-Hamiltonian Systems 223
able to adequately compensate for their dynamical characteristics so the con-
trolled robot arm has the desired stability properties. Thus this last example
illustrates the need and role of a typical robot-control system.
10.5 Optimal Control of Hamiltonian and Near-Hamiltonian Systems
An interesting feature of most uncontrolled robotic mechanical systems is that they
are usually Hamiltonian in nature or could be idealized as Hamiltonian systems by
ignoring the dissipative forces that may be present. We discuss the simplest problem
of obtaining the optimal control of a Hamiltonian and a near-Hamiltonian system.
Given the system modeled by the set of n governing system of equations,
J x =
dH
dx
T

_
F
0
_

_
B
0
_
u, x =
_
q
p
_
, J =
_
0 I
I 0
_
, J
T
= J
1
= J ,
(10.90)
where J is given by the symplectic form, H is the Hamiltonian function in terms of
the generalized displacements q and the generalized momenta p, dened in terms
of the Lagrangian by the equations
H = p
T
q L, p =
L
q
T
, L= T V, (10.91)
where T and V are the kinetic and potential energies, respectively, F is the vector
of normalized external forces that cannot be derived from the potential function V,
and Bu are the normalized control forces.
It is often desirable to choose the control u = u

so as to minimize the perfor-


mance or cost functional:
J =
1
2
_
_
x
T
Qx +u
T
Ru
_
dt =
_
L(x, u) dt . (10.92)
The matrices Q and R are assumed to be symmetric and R is assumed to be
invertible. To nd u we augment the cost functional and minimize
J
augmented
=
_
_
L(x, u) +
T
_
dH
dx
T

_
F
0
_

_
B
0
_
u J x
__
dt .
Minimizing the augmented cost functional with respect to the n-dimensional
multiplier
T
, which is also known as the costate vector, results in the given sys-
temmodel equations. An approach to solving this augmented minimization problem
denes another Hamiltonian H
OC
, where H
OC
is dened by
H
OC
=
_
H(x, , u

) dt , (10.93)
where
H(x, , u

) = min
u
_
L(x, u) +
T
_
dH
dx
T

_
F
0
_

_
B
0
_
u
__
. (10.94)
224 Hamiltonian Systems and Feedback Linearization
In dening H(x, , u

), an n-dimensional multiplier or costate vector


T
has
been introduced. The multiplier raises the dimensionality of the problem to 2n but
allows the conditions for the optimal u

to be obtained. Integrating the last term


in the integral dening the augmented cost functional by parts and minimizing the
augmented cost functional with respect to u and x, we obtain the conditions for the
optimal u

as
H(x, , u)/u = 0, u

= R
1
[B
T
0],
and

T
J =
H
T
(x, , u)
x
=
T

d
2
H
dx
2

dF
dx
0

x
T
Q. (10.95)
It is customary to introduce a further transformation = Px, so
u

= R
1
[B
T
0]Px. (10.96)
If we let H = d
2
H/dx
2
, then, from Equation (10.95),
J

=
_
H
_
dF
T
dx
0
__
+Qx. (10.97)
When F = 0 and Q = 0, J

= H. If we assume that = x,

= x =
d
dt
J
1
dH
dx
T
= J
1
d
2
H
dx
2
x,
and this results in
J

=
d
2
H
dx
2
x =
d
2
H
dx
2
= H (10.98a)
and
u

= R
1
_
B
T
0
_
x = R
1
B
T
q. (10.98b)
This result is quite physically reasonable as it implies that the application of
optimal control theory to a strictly Hamiltonian system results in a controller that
requires a feedback directly proportional to the velocity vector. The feedback is a
special case of the control law [Equation (10.96)] that increases the damping in the
system that is already not unstable.
Further, when R = 0 and u = 0,
H =
dH
dx
x =
dH
dt
.
Hence it follows that
H
OC
H. (10.99)
It follows therefore that the two Hamiltonians in this case are identical. This is
an important conclusion because the Hamiltonian H
OC
may viewed as a generaliza-
tion of the classical Hamiltonian H. It must be noted, however, that although H
OC
10.6 Dynamics of Nonholonomic Systems 225
is a constant, it does not represent the total energy, and hence the system under
consideration is not a conservative system. Further, the general equation for the
multiplier vector ,
J

=
_
H
_
dF
T
dx
0
__
+Qx = H
T
(x, , u)/x, u

= R
1
_
B
T
0
_
,
is a linear equation in the costate vector . Together with the governing system of
equations, the pair of equation sets
J x =
dH
dx
T

_
F
0
_

_
B
0
_
u, J

=
_
H
_
dF
T
dx
0
__
+Qx, (10.100)
constitute a Hamiltonian system of equations. When the Hamiltonian H is a homo-
geneous quadratic function, u and P [Equation (10.96)] are obtained by a method
involving eigenvalueeigenvector decomposition.
The limits of the integral are omitted in the denition of the Hamiltonian H
OC
,
and these limits are generally xed; i.e., time is considered an independent variable.
It is important to point out that there is another variational principle in mechanics,
the principle of least action, in which the time variable is no longer treated as an
independent variable but as a dependent variable. The action integral is dened
as a denite time integral of the total kinetic energy. General transformations of
coordinates must therefore involve not only the states but also the time variable.
For purposes of linearization it may be necessary to transform the time variable as
well. For feedback-control synthesis there may not be any benet in transforming
the time variable, although it may be possible to transform the HamiltonianH
OC
to
a quadratic form.
10.6 Dynamics of Nonholonomic Systems
The occurrence of nonholonomic constraints in robot dynamics was mentioned in
passing in a previous section. These systems occur quite commonly in robotics, and it
is well nigh impossible to ignore them. Generally, in uncontrolled systems, nonholo-
nomic constraints arise from the presence of one or more rolling contacts between
rigid bodies or from conservation laws (usually angular momentum conservation in
space robot manipulators). In controlled systems, they arise from the nature of con-
trols that can possibly be applied to the open-loop system. Not only are the dynamics
of such systems complex, but they also require careful motion planning.
Motion planning with nonholonomic constraints is considerably more difcult
than motion planning in the presence of only position constraints. The difculties
arise, for instance, in planning problems involving (1) wheeled robots navigating
in a cluttered environment; (2) multingered robot hands rolling on the surface of
grasped objects; (3) space robots that are capable of freely orbiting a planet; and
(4) hopping robots. Typical examples of nonholonomic systems are the unicycle and
bicycle. The dynamics of these archetypal systems provide a rich set of problems as
they are generally nonminimum phase systems subject to nonholonomic contact
226 Hamiltonian Systems and Feedback Linearization
constraints associated with the rolling constraints on the wheels. The nonminimum
phase implies that the inverse models are generally not stable. Like the rolling disk,
they are, when considered to traverse a at ground surface, systems subject to sym-
metries; their Lagrangians and constraints are invariant with respect to translations
and rotations in the ground plane. Yet there is a fundamental difculty in deriving
the equations of motion of such systems, and for this reason we consider the deriva-
tion of the equations of motion of a typical nonholonomic system by means of the
Lagrangian formalism.
Reconsider Hamiltons principle of least action for an unconstrained conserva-
tive system:
S =
_
t
0
L(q, p, t ) dt = 0. (10.101)
Performing the variations and integrating by parts gives
S =
_
t
0
_
q
T
L
q
T
+ q
T
L
q
T
_
dt =
_
t
0
q
T
_
L
q
T

d
dt
L
q
T
_
dt = 0,
and the EulerLagrange equations are
L
q
T

d
dt
L
q
T
= 0. (10.102)
In the nonconservative case we may include the additional nonpotential forces
by considering the additional virtual work done by these forces on the virtual dis-
placements, which gives
L
q
T

d
dt
L
q
T
+Q
NP
= 0. (10.103)
We may now include the effect of constraints. Considering in the rst instance
holonomic constraints, we may assume the constraints in their most general form to
be
f
k
(q, t ) = 0, k = 1, 2, 3, . . . , K. (10.104)
We may generalize Hamiltons principle to yield the corresponding equations of
motion simply by replacing the Lagrangian L(q, q, t ) with a generalized Lagrangian
dened by
L

(q, q, t ) = L(q, q, t ) +
K

k=1

k
f
k
(q, t ), (10.105)
where the
k
are known as the Lagrange multipliers.
The EulerLagrange equations corresponding to the generalized Lagrangian
may be obtained from
L

q
T

d
dt
L

q
T
+Q
NP
=
L
q
T
+
K

k=1

k
f
k
(q, t )
q
T

d
dt
L
q
T
+Q
NP
= 0,
10.6 Dynamics of Nonholonomic Systems 227
and we may recover the constraints themselves by considering virtual increments
in the Lagrange multipliers
k
and performing the variations with respect to these
virtual increments. Hence the modied forces that are due to the presence of the
constraints may be identied as
d
dt
L
q
T

L
q
T
= Q
NP
+
K

k=1

k
f
k
(q, t )
q
T
= Q
NP
. (10.106)
Considering the nonholonomic constraints, we may assume them in their most
general form to be
g
k
(q, q, t ) = 0, k = 1, 2, 3, . . . , K. (10.107)
However, to generalize Hamiltons equations by application of the additional
virtual displacement eld and the principle of virtual work, it is essential that the
constraints satised by the true states q and q are also satised by the virtually dis-
placed states. Thus it is an essential requirement that
g
k
(q +q, q + q, t ) = 0, k = 1, 2, 3, . . . , K. (10.108)
However, this implies that the virtual displacements are applied instantaneously
with t = 0. In general, it is quite difcult for the virtually displaced paths to also sat-
isfy the nonholonomic constraints unless these are linear in the generalized veloc-
ities. If they are not already linear in the generalized velocities, there must exist a
nonlinear canonical transformation such that in the transformed domain the non-
holonomic constraints are linear in the transformed generalized velocities. In this
case the constraints may be expressed as
G
k
(q, t ) q = 0, k = 1, 2, 3, . . . , K. (10.109a)
In variational form these constraints may then be written as
G
k
(q, t ) q = 0, k = 1, 2, 3, . . . , K. (10.109b)
It is now possible to include these constraints in the generalized Lagrangian by
including the additional contribution to the virtual work done by external forces,
and it follows that
d
dt
L
q
T

L
q
T
= Q
NP
+
K

k=1

k
G
k
(q, t ). (10.110)
The classic examples of systems involving holonomic and nonholonomic con-
straints are centered around the case of a this disk rolling down an inclined plane.
Consider, for example, the case of a thin disk of radius R rolling down a pla-
nar inclined plane, as illustrated in Figure 10.3(a). For pure rolling we require the
translational velocity of the disks center of mass down the incline to be equal to the
velocity of point on the outer periphery of the disk.
Hence,
x = R

. (10.111)
228 Hamiltonian Systems and Feedback Linearization
i
k
j
t
(b) (a)

Figure 10.3. (a) Thin disk rolling down a planar inclined plane, (b) thin disk rolling by an
angle down a plane inclined to the horizontal at an angle . The disk rolls in a direction at
an angle to the direction i, representing the direction of maximum slope.
This is a typical example of a holonomic constraint as it is integrable. Now con-
sider the case of this disk rolling down a three-dimensional inclined surface, as illus-
trated in Figure 10.3(b).
In this case, at a particular instant, the disk is rolling down in a direction at an
angle to the x axis. For this reason, in the direction of translation we have
x cos + y sin = R

, x sin y cos = 0, (10.112)


as there is no displacement normal to this direction.
Although these constraints are linear in the velocities x, y, and

, they are essen-
tially nonholonomic as they are not integrable.
10.6.1 The Bicycle
Although not a biomimetic vehicle, the bicycle is probably one of the most ingenious
vehicles ever invented primarily for the purpose of human locomotion. To illustrate
the application of the preceding concepts to practical problems of robot dynamics,
we consider the archetypal example of an autonomous wheeled mobile robot, the
autonomously driven bicycle illustrated in Figure 10.4. In this model all the inertial
properties are assumed to be concentrated in the body labeled as the payload with
a mass m, and the wheels, the motors, and frame are assumed to be light. Thus its
mass could be assumed to be negligible. The wheels are assumed to roll on level
ground without slipping.
Figure 10.5 illustrates a top view of the bicycle model and a ground xed inertial
reference frame with the x and y axes in the ground plane and the z axis perpendicu-
lar to the ground plane and pointing upward. The gravity vector is assumed to act in
the negative z direction. The line joining the two points of contact of each of the two
wheels is the line of contact. The line of contact may be considered to be the ground
contact vector, directed from the rear-wheel contact point to the front-wheel con-
tact point, and the angle it makes with respect to the x axis denes the yaw angle, .
10.6 Dynamics of Nonholonomic Systems 229
Drive motor
Steering
servo-
motor
Payload
b
a
c
r
z
Figure 10.4. Simplied dynamic model of a bicycle driven autonomously.
The angle that nominally the upright plane of symmetry of the bicycle makes with
the vertical plane denes the roll angle .
The steering angle that the steering column makes with the reference direction,
the line of contact, is denoted by . A direct drive, speed-controlled motor, driv-
ing the rear wheel, provides the force to propel it forward along the contact vector.
The bicycle may be steered, and the steering commands are provided to the steering
x
y
b
c

Figure 10.5. Diagram illustrates the DOFs of the bicycle model, the roll angle , the yaw
angle , the position coordinates of the rear-wheel contact point, and the control variable
(the steering angle ).
230 Hamiltonian Systems and Feedback Linearization
servomotor that drives the steering column about a xed steering axis. The steering
servomotor thus provides the steering angle set-point commands to the steering col-
umn. The radii of gyration of the payload about the body axes passing through the
center of mass in the direction of the contact vector and an axis parallel to the z
axis are k
x
and k
z
. The translational velocity of the rear wheels center of rotation
is assumed to be in the direction of the contact vector whereas the corresponding
vector for the front wheel is assumed to make the same angle as the steering column
makes with the contact vector.
The generalized coordinates are then given as , , x, and y. Our rst task is
to establish the relevant constraints. If we let the translational velocity of the rear
wheels center of rotation be v
r
and the translational velocity of the front wheels
center of rotation be v
f
, it then follows that the component of v
f
in the direction of
the contact vector must be equal to v
r
.
Because the component of v
f
normal to the contact vector determines the bicy-
cles lateral velocity at the front wheels center of rotation, the bicycles yaw rate
about a vertical axis passing through the rear wheels center of rotation is given by

= v
f
sin/b = v
r
tan/b, v
f
= v
r
/cos .
Hence,
v
r
=

b/tan , v
f
=

b/sin. (10.113)
However, we may also express v
r
in terms of component velocities in the ground
xed inertial reference frame. Furthermore, as v
r
is directed in the direction of the
contact vector, the transverse velocity component v
t
normal to the contact vector is
zero. Hence it follows that
v
r
= x cos + y sin, v
t
= y cos x sin = 0. (10.114)
In fact, the pair of equations in (10.114) denes a coordinate transformation to
natural velocity coordinates given by
_
v
r
v
t
_
=
_
cos sin
sin cos
__
x
y
_
. (10.115)
Multiplying the equation for v
r
by sin and v
t
by cos in (10.115) and adding
gives
v
r
sin = x sin( +) y cos ( +) =

b cos . (10.116)
The two constraints that must be imposed follow:
v
t
= y cos x sin = 0,

bcos x sin( +) + y cos ( +) = 0, (10.117)


which could be expressed in matrix form as
G q =
_
G
1
G
2
_
q =
_
0
0
_
= 0, (10.118)
10.6 Dynamics of Nonholonomic Systems 231
where
_
G
1
G
2
_
q
_
0 b cos sin( +) cos ( +)
0 0 sin cos
_

x
y

.
The generalized velocity vector is dened as
q = [


x y]
T
, (10.119)
and the constraint matrix G is dened as
G =
_
0 b cos sin( +) cos ( +)
0 0 sin cos
_
. (10.120)
An auxiliary variable is introduced for convenience and is dened by
s = tan/b. (10.121)
Hence the relation between the bicycles yaw rate and v
r
is

= v
r
s. (10.122)
As a consequence of the assumptions made, the mass of the bicycle may be
assumed to be m. The center of mass of the bicycle is collocated with the center of
mass of the payload. The rolling moment of inertia of the bicycle about the contact
vector and the yawing moment of inertia about an axis parallel to the z axis passing
through the rear wheels center of rotation are
I

= m
_
k
2
x
+a
2
_
m j

, I

= m
_
k
2
z
+c
2
_
m j

. (10.123)
Furthermore, it is assumed that the payloads pitching moment of inertia about
an axis mutually perpendicular to the roll and yaw axes is identical to the yawing
moment of inertia.
The translational velocity components of the bicycles center of mass in the
direction of the contact vector, transverse and normal to it, are

u
v
w

v
r
v
t
0

c
a sin
a cos

v
r
+

a sin
v
t
+c

a

cos


a sin

. (10.124)
Hence, from (10.124),

u
v
w

x cos + y sin +

a sin
y cos x sin +c

a

cos


a sin

. (10.125)
The bicycles body axes angular rates are
[
1

2

3
]
T
=
_


sin

cos
_
T
. (10.126)
232 Hamiltonian Systems and Feedback Linearization
The kinetic and gravitational potential energies of the bicycle may then be
expressed as
T =
1
2
m
_
u
2
+v
2
+w
2
+k
2
x

2
+k
2
z

2
_
,
V = mga (1 cos ) . (10.127)
The kinetic energy may be expressed as
T = T
1
+ T
2
+ T
3
, (10.128)
where
T
1
=
1
2
m
_
a
2

2
+
_
c
2
+a
2
s
2

2
2acc


+2as

( xc

+ ys

_
,
T
2
=
1
2
m( x
2
+ y
2
), T
3
=
1
2
m
_
k
2
x

2
+k
2
z

2
_
,
and
c

= cos , s

= sin, c

= cos and s

= sin.
For convenience we partition the generalized coordinate vector as
q = [ x y]
T
= [ q
1
q
1
]
T
, (10.129)
with
q
1
= [ ]
T
, q
2
= [x y]
T
.
The EulerLagrange equations may then be expressed as
M(q
1
) q = C(q
1
, q) +B(q
1
) u
2
+G
T
( u
1
, q
1
) , G( u
1
, q
1
) q = 0, (10.130)
where
M(q
1
) =

acc

ac

ac

acc

+a
2
s
2

ac

cs

as

+cc

ac

ac

cs

1 0
ac

as

+cc

0 1

,
C(q
1
, q) =

a
2
s

2
cas

2
2a
2
s

as

2
2ac


+(cc

+as

2
as

2
2ac


+(cs

as

+ g

as

0
0
0

,
B(q
1
) =
1
m

0
0
c

, G( u
1
, q
1
) =
_
0 bcos u
1
sin( u
1
+) cos ( u
1
+)
0 0 sin cos
_
,
10.6 Dynamics of Nonholonomic Systems 233
u
1
is the steering angle , and u
2
is the propulsive force driving the bicycle forward.
When the relation
s = tan /b (10.131)
is used, it is sometimes convenient to use s as the control input rather than the
steering angle. The Lagrange multiplier is usually determined by a combination
of empirical physical laws and the relevant initial conditions.
To effect the reduction of the governing equations of motion to a simpler set and
eliminate the nonholonomic constraints, consider a transformation of the variables
as desirable. In particular, consider the velocity transformation
q

x
y

1 0 0 0
0 0 1 0
0 c

0 s

0 s

0 c

v
r

v
t

1 0 0 0
0 0 1 0
0 c

0 s

0 s

0 c

q, (10.132)
which reduces the nonholonomic constraint equations, (10.118), to
G q
_
0 b cos sin( +) cos ( +)
0 0 sin cos
_

1 0 0 0
0 0 1 0
0 c

0 s

0 s

0 c

v
r

v
t

=
_
0
0
_
,
which simplify to
G

q
_
0 sin bcos cos
0 0 0 1
_

v
r

v
t

=
_
0
0
_
. (10.133)
Dividing the rst of the constraint equations by b cos and using the second
constraint v
t
= 0 results in the transformed constraint equations, we obtain
G

q
_
0 s 1 0
0 0 0 1
_

q =
_
0
0
_
. (10.134)
Assuming that the second of the constraints is satised, we may express the
transformed state velocity vector

q in terms of the rst two components of itself as
a projection, and it follows that

q =

1 0
0 1
0 s
0 0

v
r
_

1 0
0 1
0 s
0 0

q
1
. (10.135)
234 Hamiltonian Systems and Feedback Linearization
Substituting the assumed projection into the constraint equations, we observe
that they are satised. Substituting for

q into the velocity transformation results in
q =

1 0 0 0
0 0 1 0
0 c

0 s

0 s

0 c

q =

1 0 0 0
0 0 1 0
0 c

0 s

0 s

0 c

1 0
0 1
0 s
0 0

q
1
=

1 0
0 s
0 c

0 s

q
1
,
which could be expressed as
q =

T

q
1
, (10.136)
where

T =
_
1 0 0 0
0 s c

_
T
.
Introducing the auxiliary input variable u
1
such that
s = u
1
, (10.137)
we may express the time derivative of the transformation

T as

T =

0 0
0 u
1
0 v
r
s s

0 v
r
s c

, (10.138)
and it follows that
q =

T

q
1
+

q
1
. (10.139)
Hence the EulerLagrange equations may be expressed in terms of the trans-
formed velocities and accelerations as

T
T
M(q
1
)

T

q
1
=

T
T
C(q
1
, q)

T
T
M(q
1
)

q
1
+

T
T
B(q
1
) u
2
.
The governing equations of motion may therefore be expressed as

M( q
1
)

q
1
=

C( q
1
,

q
1
) +

B( q
1
)
_
u
1
u
2
_
, (10.140)
where

M( q
1
) =
_
j

acc

s
acc

s 1 +
_
j

+a
2
s
2

_
s
2
+2sas

_
,

C( q
1
,

q
1
) =
_
ac

v
2
r
s +a
2
s

v
2
r
s
2
acss

2
2asc

v
r

2a
2
s
2
s

v
r

_
+ g
_
as

0
_
,

B( q
1
) =
_
acc

v
r
0

__
j

+a
2
s
2

_
s +as

_
v
r
1/m
_
.
10.6 Dynamics of Nonholonomic Systems 235
Inputs
States output
Zero
dynamics
Dynamics of
output states
Zero dynamics
output states
Figure 10.6. Partitioning of plant model to reveal the zero dynamics.
Because

B is square nonsingular, we choose an auxiliary control input vector
dened by
_
u
1
u
2
_
=

B
1
( q
1
) [

M( q
1
)Q
1d


C( q
1
,

q
1
)], (10.141)
and the governing dynamical equations reduce to

q
1
= Q
1d
. (10.142)
If we choose to dene the auxiliary control input vector as
Q
1d
=

q
1d
2
_

n1
0
0
n2
_
e
_

2
n1
0
0
2
n2
_
e, (10.143)
in terms of the tracking error between the current and desired states,
e = q
1
q
1d
, (10.144)
the tracking error satises
e +2
_

n1
0
0
n2
_
e +
_

2
n1
0
0
2
n2
_
e = 0. (10.145)
The tracking error is then exponentially stable as the response emulates a pair
of critically damped and independently vibrating masses, each of which is supported
on a spring and damper. One could select different natural frequencies for each of
the tracking error modes to avoid any possibilities of coupling in the presence of
unmodeled dynamics. Thus, in principle, the bicycle may be driven in a stabilized
mode, although the practical implementation of the controller requires a few other
additional considerations. The main issues arise because the zero dynamics of the
system are unstable. The zero dynamics represents the internal dynamics of the sys-
tem, which may be represented in block-diagram form as shown in Figure 10.6.
When the bicycle is moving forward with a uniform forward velocity along a
straight line on a level surface and in a plane, the zero dynamics is unstable. Thus
it is essential that the zero dynamics, representing an inverted pendulum, must be
completely stabilized before the bicycle can be considered stable. This is completely
in keeping with the human experience of riding a bicycle.
236 Hamiltonian Systems and Feedback Linearization
The static stability of a bicycle is primarily due to a distance known as the trail,
produced by the geometry of the front forks. The point of contact of the front wheel
with the ground must be located behind the point where the steering axis intersects
the ground. The in-plane distance from the contact point to the steering axis denes
the trail. With a positive trail, a tilt of the bicycle results in a gravitational steering
moment in the direction of the tilt. The forward momentum of a rolling bicycle
resists the resultant change in heading, swinging the bicycle upright. The larger the
trail distance, the greater this reaction. It is stabilizing in the sense that it reduces
the effective height of the inverted pendulum and has the tendency to restore the
tilt of the bicycle such that the contact area is back under the center of gravity of the
bicycle and rider. The effect of the positive trail is that it provides internal feedback
to make the zero dynamics relatively less unstable. In a unicycle the trail is zero, and
consequently the steering requires constant adjustment to ensure stability. In the
model considered in Figure 10.4 the trail has been deliberately chosen to be zero.
The situation is therefore quite similar to the case of a unicycle.
The dynamic stability that a bicycle rider experiences is due to the gyroscopic
restoring moment. It is generated by the wheels rotation and has a stabilizing inu-
ence on a moving bicycle, although it is small in magnitude. The angular momentum
of the wheels and the gravitational torque applied to them because of tilt generate
a precession. The precession tends to steer the bike into the direction of whichever
side toward which the bicycle is tilted. In the absence of the trail, the gyroscopic
moment is the only stabilizing effect. Like the trail, the gyroscopic moment also has
the effect of stabilizing the zero dynamics, although it is dynamic in nature. Con-
sequently the bicycle is stable above and beyond a certain critical forward velocity.
The detailed design of a dynamic stabilizer for the zero dynamics is not an easy task
and requires additional considerations, beyond the scope of this chapter.
EXERCISES
10.1. The bob of a simple pendulum is replaced with a heavy slender uniform rod,
which is attached to the cord at one end, as shown in Figure 10.7. The lengths of the
cord and that of the rod are each equal to L.
Figure 10.7. Unilar suspension.
Exercises 10.110.8 237
Obtain the Lagrangian and the corresponding Hamiltonian for this system.
Hence determine the Hamiltonian equations of motion.
10.2. Consider the two-link manipulator in Figure 10.2. The two links, of lengths
L
i
, i = 1, 2, are assumed to be uniform and homogeneous with the mass per unit
length equal to m
i
, the corresponding angular displacements being
i
. The tip mass
is assumed to be M.
Obtain the Lagrangian and the corresponding Hamiltonian for this system.
Hence determine the Hamiltonian equations of motion.
10.3. Consider the two-link manipulator in Figure 4.3. The two links, of lengths a
i
,
i = 1, 2, are assumed to be uniform and homogeneous with the mass per unit length
equal to m
i
, the corresponding angular and linear displacements being q
1
=
1
and
q
2
= d
2
, respectively.
Obtain the Lagrangian and the corresponding Hamiltonian for this system.
Hence determine the Hamiltonian equations of motion.
10.4. Consider the cable-stayed square planar platformABCD, of side a and of mass
m, as illustrated in Figure 5.6. Assume the weight to be negligible. Reconsider exer-
cise 8.10 and obtain the Hamiltonian and the Hamiltonian equations of motion of
the platform.
10.5. Reconsider Exercise 8.11 and consider just the rst three DOFs; nd the
Hamiltonian equations of a SCARA robot.
10.6. The governing equations of motion of an oscillating eccentric rotor are non-
linear, and partial feedback linearization could be applied to reduce the equations
to pure feedback form,
x
1
= x
2
, x
2
= x
1
+ sin(y
1
) , y
1
= y
2
, y
2
= u.
Show that the equations could be reduced to the control canonic form by local
feedback linearization for all values of the states except near the points where
y
1
= (2n +1)/2, n = 0, 1, 2, 3, . . . , when the system is not controllable.
10.7. Consider a pair of H enonHeiles-type coupled oscillators. This is a Hamilto-
nian system for which the Hamiltonian is given by
H =
1
2
_
x
2
1
+ x
2
2
+ y
2
1
+ y
2
2
_
+ay
2
_
y
2
1

1
3
y
2
2
_
ux
2
.
The system represents a pair of coupled oscillators in the form
x
1
+ x
1
= 2ax
1
y
1
, y
1
+ y
1
= u a
_
x
2
1
y
2
1
_
.
(a) Show that the Hamiltonian equations of motion are
x
1
= x
2
, x
2
= x
1
2a x
1
y
1
, y
1
= y
2
, y
2
= u y
1
a
_
x
2
1
y
2
1
_
.
(b) Show that the equations could be reduced to the control canonic form by
local feedback linearization.
10.8. A spherical pendulum is adopted as a model of the load on a boom crane.
The slowly varying vertical coordinate of the boom tip is assumed to be the control
variable.
238 Hamiltonian Systems and Feedback Linearization
We assume that the swinging load of mass m is inuenced by, but does not
inuence, the inertial coordinates of the boom tip, x
a
, y
a
, and z
a
, which are assumed
to be known functions of time. The coordinates are assumed to be x, y, and z. The
distance between the boom and the load is a constant:
(x x
a
)
2
+(y y
a
)
2
+(z z
a
)
2
= l
2
.
The Lagrangian L is
L=
1
2
m
_
x
2
+ y
2
+ z
2
_
mg (l z + z
a
) .
Determine whether the equations of motion are feedback linearizable.
10.9. The inverted pendulum on a moving cart is a classic model of a loaded kine-
matic double joint. The motion of the system is dened by the horizontal displace-
ment of the cart y, from some reference point, and the angle that the pendulum
rod makes with respect to the vertical, . The kinetic and potential energies of the
system are
T =
1
2
M y
2
+
1
2
m
_
y
2
+2l y

cos +l
2

2
_
, V = mgl cos .
Neglecting all friction, the only generalized force is the one acting on the cart
and in the direction of the y coordinate, which is the control input, u. Determine
whether the equations of motion are feedback linearizable.
10.10. Consider the system dened by the equations of motion,
x = f(x) +g(x)u, y = h(x) ,
where
x
1
= x
2
+ x
2
4
+u, x
2
= x
2
4
+u, x
3
= (x
3
x
2
)
2
+ x
2
4
+ x
3
4
+u,
x
4
= (x
2
x
3
) x
2
4
x
4
, y = x
1
x
2
.
Show that the system is partially feedback linearizable with index r = 2, and
hence nd the transformation.
10.11. A commonly adopted model of a kinematic joint is the ball and beam model.
A ball of mass m, considered to be a particle, is in a tube of innite length and of
moment of inertia J, at the midpoint of which a torque is exerted. All friction is
neglected, and equations of motion in terms of the position of the ball with respect
to the origin r and the angle , by which the tube is rotated about the horizontal, are
r = v, v = g sin +r
2
, = ,
(J +mr
2
) = 2mrv mgr cos +.
Show that the system is not feedback linearizable about any neighborhood of the
origin.
10.12. Consider the autonomously driven model of bicycle and suppose that we may
choose the initial conditions and appropriate inputs such that the bicycle is moving
forward with a uniform forward velocity along a straight line on a level surface and
in a plane. Then the resulting restricted zero dynamics may be found by setting x, y,

, and

to zero.
Exercises 10.910.13 239
(a) Show that the restricted zero dynamics represents an equivalent inverted
pendulum. Comment on the consequences of this property.
(b) Consider the inuence of the gyroscopic torques that is due to the rotation
of the front and rear wheels and discuss the consequences insofar as the zero
dynamics is concerned. Hence derive the governing equations of motion
of the bicycle and obtain the modied zero dynamics when the gyroscopic
effects are included in the analysis. Identify any additional design parame-
ters that may arise.
(c) Recognizing that the gyroscopic restoring torque is a function of the for-
ward speed of the bicycle, determine the minimum critical speed beyond
which the modied zero dynamics is not unstable.
10.13. Figure 10.8 illustrates a three-link manipulator. For dynamical purposes it
is assumed that links 1 and 3 are uniform and homogeneous with a mass per unit
length equal to m
i
, i = 1 or 3.
X
0
Y
0
X
1
Y
1
X
2
Y
2

2
L
1
x
1
2
3
Figure 10.8. Two-link nonanthropomorphic
manipulator.
It is also assumed that link 2 is a coupler pinned to link 1 at its center of mass
and prismatically coupled to link 3. The moment of inertia of link 2 is assumed to be
I
i
, i = 2. In addition, the wrist is assumed to be a lumped mass attached to link 3 at
the top end and a balancing mass of the same weight is attached at the other. Link 1
is assumed to be length L
1
and link 3 is assumed to be of length 2L
3
. A control force
Q
3
is applied to link 3 to position it along the prismatic joint and a control torque
Q
2
is applied by link 1 to the coupler.
Obtain the Hamiltonian equations of motion and determine whether the system
is partially feedback linearizable. Hence nd the relative degree and the correspond-
ing transformation.
240 Hamiltonian Systems and Feedback Linearization
10.14. Figure 4.8 illustrates a three-link planar manipulator with three parallel rota-
tional joints. The dynamic equations may be expressed as
I (q) q +C(q, q) g
g
(q) = ,
where is the vector of joint torques and q = [q
1
q
2
q
3
]
T
is the vector of joint angles,
measured relative to the inertial vertical for link 1 and with respect to the (i 1)
link axis for link i, i = 1, 2. The centers of mass of the links are assumed to at the
midpoints of the link lengths. The masses, lengths, and centroidal moments of inertia
about an axis perpendicular to the plane of rotation of the three links are m
i
, l
i
,
and I
i z
, respectively. Let c
i
= cos
i
, s
i
= sin
i
, c
i j
= cos (
i
+
j
), s
i j
= sin(
i
+
j
),
c
i j k
= cos (
i
+
j
+
k
), and s
i j k
= sin(
i
+
j
+
k
).
(a) Show that
I (q) =

I
11
I
12
I
13
I
12
I
22
I
23
I
13
I
23
I
33

, C(q, q) =

c
1
c
2
c
3

,
g
(q) =

,
where
I
11
=
_
m
1
4
+m
2
+m
3
_
l
2
1
+
_
m
2
4
+m
3
_
l
2
2
+
m
3
4
l
2
3
+
3

i =1
I
i z
+ (m
2
+2m
3
) l
1
l
2
c
2
+m
3
l
3
(l
1
c
23
+l
2
c
3
) ,
I
12
=
_
m
2
4
+m
3
_
l
2
2
+
m
3
4
l
2
3
+
3

i =2
I
i z
+
_
m
2
2
+m
3
_
l
1
l
2
c
2
+
m
3
2
l
3
(l
1
c
23
+2l
2
c
3
) ,
I
13
=
m
3
4
l
2
3
+ I
3z
+
m
3
2
l
3
(l
1
c
23
+l
2
c
3
) ,
I
22
=
_
m
2
4
+m
3
_
l
2
2
+
m
3
4
l
2
3
+
3

i =2
I
i z
+m
3
l
2
l
3
c
3
,
I
23
=
m
3
4
l
2
3
+ I
3z
+
m
3
2
l
2
l
3
c
3
, I
33
=
m
3
2
l
2
3
+ I
3z
,
c
1
=
_
m
2
2
+m
3
_
l
1
l
2
s
2
q
2
(2 q
1
+ q
2
)

m
3
2
l
3
[l
1
s
23
q
1
( q
2
+ q
3
) +l
2
s
3
q
3
( q
1
+ q
2
)]

m
3
2
l
3
( q
1
+ q
2
+ q
3
) [l
1
s
23
( q
2
+ q
3
) +l
2
s
3
q
3
] ,
Exercise 10.14 241
c
2
=
_
m
2
2
+m
3
_
l
1
l
2
s
2
q
2
1
+
m
3
2
l
3
_
l
1
s
23
q
2
1
l
2
s
3
q
3
( q
1
+ q
2
)
_

m
3
2
l
3
( q
1
+ q
2
+ q
3
) l
2
s
3
q
3
,
c
3
=
m
3
2
l
3
_
l
1
s
23
q
2
1
+l
2
s
3
( q
1
+ q
2
)
2
_
,

1
=
_
m
1
2
+m
2
+m
3
_
l
1
s
1
+
_
m
2
2
+m
3
_
l
2
s
12
+
m
3
2
l
3
s
123
,

2
=
_
m
2
2
+m
3
_
l
2
s
12
+
m
3
2
l
3
s
123
,
3
=
m
3
2
l
3
s
123
.
(b) Making suitable assumptions, obtain expressions for joint control laws for
controlling the manipulator by using the computed torque approach.
11
Robot Control
11.1 Introduction
Robot control is the engineering of how a controller is synthesized based on a rep-
resentative model and implemeted, and how the robot is controlled while in opera-
tion. The robot-control problem is patently different from other applications of con-
trol engineering, in that no attempts are made to linearize the governing dynamical
equations by the application of the small-perturbation method. Rather, the inher-
ent nonlinear nature of robot dynamics is accepted as a fait accompli and dealt with
quite directly. There is also the issue of how the robot-control software is written
and its architecture, but this is not considered here as it has to do with computer
software. A broad understanding of the robot-control problem is essential as it has
an impact on the kinematic design of the mechanism used in the robot for the pur-
pose of motion transmission.
A simplistic model of a robot is to look at it as a collection of links connected
by joints. As the joints rotate or move and the links contract, expand, and reori-
ent themselves, the tip of the robots end-effector or tool center point (TCP) will
change its position. To design a practical manipulator, it is not only of great impor-
tance to know the position of the TCP in world coordinates but it is also vital that it
be predictable and controllable. Thus the actuators in the joints of the robot have
to be controlled in a complex and deterministic manner to follow a prescribed
sequence of set points or control commands.
Considering the classical nonlinear joint control problems associated with a
robot, we observe that these are essentially adaptive because the robot link parame-
ters are almost always not known accurately. We therefore consider rst the various
adaptive and model-based approaches to robot control.
11.1.1 Adaptive and Model-Based Control
A central idea in the control of a robot is the feedback-control loop, and a major
feature of this loop is the controller that prescribes a control law relating the error
between the desired output and the actual output on hand and the input to the
242
11.1 Introduction 243
Reference
input
Controller
Plant
Plant
Model
Controller
design
Performance
requirements
Controller
parameters
Figure 11.1. Principle of computer design of a controller and its relationship to a feedback
controller.
actuator responsible for providing the control signal to a particular robot joint.
The control law is mathematically synthesized by applying a series of performance
criteria to its inputs and outputs. This process of synthesis or controller design,
as it is usually referred to, is performed either manually or by use of appropri-
ate computational tools, by employing a suitable mathematical model of the plant
that is being controlled. The process is illustrated in Figure 11.1. In the context of
computer-controlled systems, the concept of adaptive control arises from the desire
to integrate both the computer computation of the controller as well as the com-
puter control of the plant. A major breakthrough in the synthesis of adaptive con-
trollers occurred when it was possible to design globally stable adaptive systems.
The Lyapunov functional approach introduced in Chapter 7 is the prime technique
that facilitates this. Thus, in its most basic form, an adaptively controlled system
consists of a stabilizing controller, which itself could be adjusted or set by an adap-
tation mechanism. The latter uses its inputs, the performance requirements, and
plants inputs and outputs to adjust the controller parameters so as to meet the
performance requirements in some optimal or goal-satisfying way. This process is
illustrated in Figure 11.2.
In many situations involving robots, the plant has to perform tasks in an envi-
ronment and the environmental parameters may have a direct or indirect bearing
on the controller parameters. Thus it becomes essential that either the controller
parameters or certain gains in the adjustment mechanism have to be varied
in sympathy with the characteristics of the environment. This is usually done by
Reference
input
Adjustable
Controller
Plant
Adaptation
mechanism
Performance
requirements
Controller
parameters
Figure 11.2. Basic adaptive system.
244 Robot Control
Reference
input
Adjustable
Controller
Plant
Adaptation
mechanism
Performance
requirements
Controller
parameters
Environment
Environment
measurement
Environment
parameters
relevant to
plant
performance
Figure 11.3. Principle of gain scheduling.
establishing a table directly relating a parameter or gain in the adjustment mecha-
nism to the environmental measurements and is the principle of gain scheduling. It
is illustrated in Figure 11.3, and in this example the parameters within the adapta-
tion mechanism are themselves subject to a schedule as prescribed by a scheduler.
The schedule itself is determined from a control surface, which is a relation among
the control inputs, the model and environment parameters, the corresponding set
points and plant outputs, and the performance parameters, if any. Given a particu-
lar set of model and environment parameters, the corresponding set points, and the
plant outputs, the actual control inputs may then be determined.
Adaptive systems generally tend to be lot more complex than simple gain sched-
ulers. In the adaptive system illustrated in Figure 11.4, the plants performance is
rst estimated by use of its inputs and outputs and evaluation of a suitable metric.
The estimate of the plants performance metric is then compared with the corre-
sponding desired standard value. Depending on the result of this comparison the
Reference
input
Adjustable
Controller
Plant
Adaptation
mechanism
Performance
requirements
Controller
parameters
Performance
comparison
Performance
estimation
Figure 11.4. Adaptive system designed to meet performance requirements.
11.1 Introduction 245
Reference
input
Controller
Plant
Reference
Model
Controller
design
Performance
requirements
Controller
parameters
Reference
input
+
_
Figure 11.5. Principle of controller design using a reference model.
adaptation mechanism is altered so it is able to estimate the required controller
parameters.
Adaptive systems are not really unique either in structure or in their imple-
mentation. One class of adaptive systems uses a reference model, so the adaptation
mechanism can synthesize the controller parameters from the performance require-
ments and the error between the reference models and the plants output. The
reference signal performs a number of useful functions in the context of adaptive
systems. This type of adaptive system is illustrated in Figure 11.5. Of course, there is
no guarantee in this case that the plants output would follow the reference output.
In some situations there is often the additional explicit requirement that the
plants output follow the output of the reference model. In these cases, it is often
essential to introduce the feedforward controller that uses the error between the
reference models and the plants output as its input and provides an additional
control input. The complete control input is then employed to control the plant as
illustrated in Figure 11.6. The primary feedback-control loop serves as stabilizing
controller whereas the feedforward controller ensures that the plant output tracks
the output of the reference model. Model following by itself does not require that
the feedback controller be adaptive. The feedforward controller by itself has the
ability to ensure the model-following property. In particular, when a mathematical
Reference
input
Controller
Plant
Reference
Model
Controller
design
Performance
requirements
Controller
parameters
Feedforward
Controller
Reference input
_
+
Figure 11.6. Principle of model-following control with feedforward.
246 Robot Control
Plant
model
Inv. Plant
model
Reference
model
Reference
model
Feedforward
controller
Feedback
controller
Feedback
input
output
Figure 11.7. Model-following control using an inverse model.
representation of the plant is known and possesses a stable inverse in that the plant
inputs can be synthesized from the plant outputs, the feedforward controller has
a relatively simple structure, as illustrated in Figure 11.7. Following the controller
partitioning approach, adaptive robot-control algorithms have been developed that
can be broken down into two parts: a PD feedback part and a feedforward com-
pensation part. The algorithm is computationally simple, but can excite unmodeled
high-frequency dynamics if the gains are not carefully selected.
Figure 11.8 illustrates a typical adaptive system in which the adaptation mecha-
nism uses not only the error between the reference models and the plants output,
but also the input to and the output from the plant. This type of adaptive control
is known as a model reference adaptive controller (MRAC). Typically a nonlinear
plant is modeled, and a linear model is used as the reference model. The input signal
is sent to the reference model, and the trajectory from the reference model is used as
the desired trajectory for the adaptive controller. The adaptive controller adjusts the
gains to force the plant to follow the desired linear model without the need to use
a feedforward-control input. The MRAC has also been applied to robotic manip-
ulators. It is known that the MRAC algorithm can perform well compared with
nonadaptive controllers over a wide range of motions and payloads. The advantage
Reference
input
Adjustable
Controller
Plant
Adaptation
mechanism
Performance
requirements
Controller
parameters
Reference
input Reference
model
+
_
Figure 11.8. Model reference adaptive controller.
11.1 Introduction 247
Reference
input
Adjustable
Controller
Plant
Adaptation
mechanism
Performance
requirements
Controller
parameters
Plant
model
Model
Parameter
Estimation
Figure 11.9. Adaptive control with parameter estimation or self-tuning (indirect adaptive
control).
of this adaptive controller is that neither a detailed model of the system nor detailed
information about the system parameters is needed.
The traditional approach to adaptive control known as indirect adaptive con-
trol involves the estimation of all the parameters of the assumed model. This pro-
cess known as system identication requires only that a model structure be assumed.
Once this is done all the parameters in the assumed model are estimated recursively.
Once the model and its parameters are complete, the controller is synthesized, just
as it would be in the case of an off-line design by use of an appropriate method
of synthesis that would always result in a stabilizing controller. Following the syn-
thesis, all the desirable parameters of the controller are obtained, and if these are
signicantly different from the actual parameters of the controller, the latter are
altered so they are equal to the former. This type of adaptive control is said to be
indirect as it is a two-stage process involving in the rst instance the estimation of
the assumed model parameters and then, in the second stage, the synthesis of the
controller parameters. This type of adaptive controller is illustrated in Figure 11.9.
In the case of direct adaptive control, illustrated in Figure 11.10, the adaptation
mechanism is programmed to directly synthesize the controller parameters without
Reference
input
Adjustable
Controller
Plant
Performance
requirements
Controller
parameters
Controller
Parameter
Estimation
Figure 11.10. Direct adaptive control.
248 Robot Control
w
1
w
2
w
3
w
k
w
k+1
w
n
w
0
1
u
1
u
2
u
3
u
k
u
k+1
u
n

h 1
1+exp(.)
output
inputs
weights
sigmoid
function
bias
Figure 11.11. Computational model of a
neuron.
the need to estimate the parameters of the assumed model and is similar to the basic
adaptive system illustrated earlier in Figure 11.2.
A number of studies have been performed to implement adaptive control for
robotic manipulators. An adaptive version of the computed torque method has been
developed. The algorithm estimates parameters such as load mass, link mass, and
friction, which appear in the nonlinear dynamic model of the system, and then uses
the most recent parameter estimates to calculate the required servotorque. This con-
trol method is computationally intensive because it requires a complex and accurate
model of the system to compute the necessary control torques.
One of the spin-offs following the development of adaptive control has been
the implementation of articial-neural-network-based neurocontrollers. Originally,
articial neural networks were used as adaptive control agents to model the dynam-
ics of a plant. However, articial neural networks were considered to be broader
than specic models of traditional adaptive controllers, and their use quickly spread
to other aspects of control theory. Articial neural networks were based on a math-
ematical representation of the chemical action resulting in the ring of a signal in a
biological neuron, as a nonlinear function, such as the sigmoid. A number of weights
are used to linearly combine multiple inputs to a neuron before the combined scalar
input is processed by an archetypal nonlinear function to generate the neurons out-
put. The complete model of each of the neurons (Figure 11.11) is thus a static non-
linear functional model with a vector input. The neurons could be networked to
each other in layers, with the layers themselves being strung together in a sequence,
resulting in an articial neural network. The rst of the layers in the sequence takes
in the inputs to the network, and the last layer provides the outputs while all other
layers are hidden.
Much of the neurocontrol implementations can be categorized into a few dis-
tinct approaches. It is particularly noteworthy that most of these approaches are
based on supervised learning involving the adjustment of the weights. Reinforce-
ment learning, having been developed a decade later than supervised learning,
remains mostly the focus of the articial-intelligence communitys approach to robot
control. Reinforcement learning is also the basis for the so-called intelligent control
and involves either the learning of the previously mentioned control surface or the
optimal performance metrics for synthesizing the control inputs.
11.1 Introduction 249
Only the most common application of articial neural networks to robot control
is mentioned here: modeling an existing subsystem or a controller. This arose from
early articial-neural-network studies involving the newly rediscovered back-
propagation algorithm, which bears a close relationship to the dynamic program-
ming family of algorithms briey discussed in Chapter 9, and the articial neural
networks keen ability to model a nonlinear function. The network can be trained
to imitate any nonlinear mapping given sufcient resources in the form of hidden
layers of cross-connected articial neurons. The articial neural network receives
the same inputs as the subsystem it is trying to emulate and attempts to produce the
same outputs. The error between the desired outputs, presented to the network by
the supervisor, and the actual outputs are back-propagated through the net to adjust
the weights.
An obvious question arises as to the utility of training such a network if we
already have a mathematical representation of the existing subsystem. There are
several reasons why we would require the articial-neural-network-based model.
In particular the articial-neural-network models of plants do not have some of
the undesirable features of mathematical models such as unstable zero dynam-
ics. Furthermore they may be inverted with relative ease to construct an inverse
model, which is an important component in the implementation of adaptive control.
Finally, the custom implementation of articial-neural-network models is possible,
thus making it quite easy to encapsulate the entire adaptive controller in a particular
robot joint.
Before our discussion of adaptive control closes, two important generalizations
of it are mentioned; the rst is the adaptive fuzzy-logic controller and the second is
the model-predictive controller.
Traditional logic-based control systems are based on a simple control agent: the
binary switch. This is a hardware realization of two-valued Boolean logic, and the
resulting control outcome can always be reduced to an onoff-type two-state output;
i.e., a rm on-state or off-state emerges as the output. Sophisticated programmed
logic controllers are built around a family of these control agents by sequencing
the switching operations according a predetermined time schedule. Fuzzy logic was
invented by Lot Zadeh in the early 1960s to incorporate shades of meaning so
the binary yesno-type decisions could be replaced with denitely yes, probably
yes, maybe, probably no, or probably yes, Such decisions are much more
representative of human decision making than simple Boolean logic is. Thus fuzzy
logic emulates human decision making by using several levels of possibility in a num-
ber of uncertain characteristics. To quantify the meaning of fuzzy representations
like high, medium, low, and zero, fuzzy logic uses the concept of grades or
membership functions. This form of quantication is very application oriented.
For example, if one makes the statement Toms weight is high, the context
is referring to the weight of a male human being. Thus associated with the qualier
high is a membership function. In the current context a weight of 75 kg may have a
membership value of 0.0, 80 kg would correspond to membership value of 0.2, 85 kg
to 0.4, 90 kg to 0.6, 95 kg to 0.8, and 100 kg to a membership of 1. For any weight
250 Robot Control
Database
Rule Base
Rule
propagator
Predefined inputs
depending
on problem
domain
Fuzzification
Reasoning
Defuzzification
Input
values
Output
values
INFERENCE ENGINE
KNOWLEDGE BASE
Figure 11.12. Principle of a fuzzy-logic controller.
below 75 kg and above 100 kg the membership is dened to be zero. Thus if Toms
actual weight is 92 kg the corresponding membership would be 0.68. On the other
hand, if Peters weight is 70 kg, the associated membership for the qualier high
would be zero, indicating that Peters weight is not excessive.
In fuzzy logic the controller is specied as a set of rules that typically have the
following form:
If the error (E) is positive big and the change in error (CE) is negative small the
control (C) is negative big.
The qualiers positive big, negative small, and negative big are all dened
for each of the variables, error, change in error, and control in terms of specic
membership functions. The and connectives are interpreted as the minimum oper-
ation on the corresponding membership values. In conventional fuzzy-logic control,
the predicted system consequences as well as the model are implicit in the rules.
Rules are obtained explicitly from an expert and presumably have been compiled
as a sequence of inferences. In practice, there are several rules to process, and the
or connective is assumed to be implicit between any two or more rules. When two
rules result in the same fuzzy-control consequence, the maximum value of the cor-
responding membership values is assigned to the fuzzy-control qualier.
Figure 11.12 illustrates a typical fuzzy-logic controller, and the application of
this typical controller to a DC servomotor is illustrated in Figure 11.13(a).
In the control of a typical DC motor the input variables are the position error
and the change in error. Before the control can be estimated, the numerical inputs
are fuzzied in the sense that membership values are assigned corresponding to
each qualier such as positive big, positve medium, positive small, zero, nega-
tive small, negative medium, and negative big. Once this is done to all the inputs,
each and every rule is applied. When a particular rule is applied, the result could be
something like control is negative big with a membership of 0.72. This would
correspond to a specic numerical value that could be associated with the control
generated by that rule with a grade of membership equal to 0.72. When all the
11.1 Introduction 251
Database
Rule Base
Rule
propagator
Predefined inputs
depending
on problem
domain
Fuzzification Reasoning
Defuzzification
Controller
input
values
Output
values
INFERENCE ENGINE
KNOWLEDGE BASE
_
Set
point
d
dt
Plant
(a)
Output
values
_
Set
point
d
dt
Pl
(b)
ant
FLC
Reference
model
_
d
dt
Inv. FLC
GCE
ICE
GC
IC
KI
K
Adaptation Block
Figure 11.13. (a) Typical process plant with a fuzzy-logic controller in the loop, (b) reference-
and inverse-model-based adaptive fuzzy-logic control using a fuzzy-logic inverse model.
rules are applied, the reasoning process is deemed to be complete and the result
would be a spread of numerical values for the control, each associated with specic
membership. The control input is now in a fuzzy form and must be defuzzied.
Typically, for example, one could choose the numerical control value with the high-
est associated membership. Alternatively the control value could be the weighted
sum of the mid-value of each of the qualiers contributing to the output weighted
by its grade of membership. This results in a numerical control output. The cycle of
computations is then recursively repeated, and the next set of numerical inputs is
processed to compute the control input corresponding to the next time step.
Figure 11.13(b) illustrates a typical fuzzy-logic-based adaptive controller in
which both the adaptation mechanism and the primary controller are based on fuzzy
logic. The adaptation mechanism has as its input the error between the output of the
reference model and the plant, and its output is used to modify the controller gain
in the main control loop.
252 Robot Control
Reference
input
Plant
Performance
requirements
State
Estimation
Regulator
Predictive
Model
Plant
Model
Figure 11.14. Principle of model-predictive control.
Figure 11.14 illustrates a typical implementation of model-predictive control,
which is a type of digital adaptive control. In its most common form it is applied
in process industries, and the nominal reference model is replaced with a predicted
reference model. It is common to use a one- or even a two-step predictor and shape
the control to follow the predicted output of the reference model. The prediction
method is based on the optimal control methodology as applied to a state-space
model. Model-predictive control techniques are particularly suitable in applications
involving the visual control of motion as they are able to cope with and compensate
for the process delay in vision-based control.
11.1.2 Taxonomies of Control Strategies
To understand the robot-control problem in greater depth, it is best to classify the
different strategies of controlling a robot. The classication process itself may be
achieved on different levels. First, considering a robot emulates a human, it is impor-
tant to consider how humans approach the control problem. There are indeed sev-
eral different techniques and systems that humans adopt in dealing with the problem
of control. These are the bases for the human-centered approaches to classication
of robot control.
Next we may classify robot control based on the tasks it needs to perform: coor-
dination, redundancy management, force control, path following, and hybrid force
and position control. Third, we may classify robot control on the basis of the imple-
mentation of the controller. Finally there is the actuatorcontrol-sensor loop level
classication of robot control.
11.1.3 Human-Centered Control Methods
Considering the role of a human as an operator, we may establish a model to con-
ceptually capture the humans behavior in relation to the machine or vehicle the
11.1 Introduction 253
System Dynamics
Task specifications
Human sensors
Sensory
information
Perception
Allocation of
attention
states
disturbances
outputs
observations
estimates of desired states
state
estimates
Information
processing
Strategic thinking -
Decisions synthesis
Control actions
Internal feedback
External control feedback
Human model
interface
Figure 11.15. Role of the human operator.
human is operating. This is illustrated in Figure 11.15. Central to this model is the
information-processing block and its relationship to the other blocks, which is shown
in further detail in Figure 11.16.
Human behavioral models permit one to identify the principal human-centered
approaches to robot control. However, before considering the human-centered
approach to classication of robot control, we observe that there is a 1:1 duality
between the basic human-centered approach and the traditional control engineer-
ing closed loop. This duality is illustrated in Figure 11.17. In traditional control engi-
neering, a wide variety of sensors and actuators are used to control a process plant.
But the synthesis of the appropriate control action is the primary function of the
controller or control computer. This is in fact also the case of a human approach to
the control problem.
One may identify four basic human-centered methods of control. These are
given in Table 11.1. Also given in the table are the corresponding traditional control
methods. Reactive control is a biologically inspired technique based on instant stim-
ulus response that is characteristic of the autonomic nervous system and is respon-
sible for fast and effective control of muscles by the motor nerves. Reactive control
requires tight coupling of sensory inputs and effector outputs to allow the robot
to respond rapidly to changing and unstructured environments. Reactive control
requires very little memory and attention, relies very little on modeling, and there
is no learning. In deliberative control, the robot assimilates all the information pre-
sented to it by its sensors, uses internal representations of the outside world and a set
254 Robot Control
Human sensors
Sensory
Information
Perception
Reasoning
(Inference
Engine)
outputs
observations
Strategic thinking -
Decisions synthesis
Control actions
Internal feedback
Sensory
Stimuli
Short-term
memory
Working
memory
Motor
Programs
Autonomic
functions
Reflex
functions
Long -Term
Memory
Figure 11.16. Structure of information-processing block.
of reasoning tools, and synthesizes algorithms to assemble an optimal strategic plan
of action. For instance, in grasping a passive object, a deliberate and intrinsically
passive control strategy is desirable. Hybrid control refers to a situation in which
both reactive control and deliberate control operate in parallel. However, because
reactive control is fast, it constitutes an inner loop whereas deliberate control acts
Sense Think Act
Sensor
(Process)
Actuator
Computer
The Think block
perception
planning
modeling
task
execution
motor
control
Figure 11.17. Duality between the basic human-
centered approach and the traditional control
engineering closed loop.
11.1 Introduction 255
Table 11.1. Human-centered approaches to robot control and their relations to traditional
control methods
Human-centered method Traditional control method
Reactive control (autonomic) Classical control loop with xed gain control
(fastest)
Deliberate control Single-loop adaptive, optimizing control (slow)
Hybrid control Dual-loop control adaptive supervisory loop
Behavior-based control Adaptive, predictive, and optimizing control
Learning and evolutionary approaches Strategy learning and game theory
as a supervisory or adaptive outer loop. In fact, adaptive control may be used to
implement such a supervisory attentional outer loop.
Although the control metaphor has been largely ignored in psychology, the pre-
ceding classication is completely in accordance with the cognitive psychology view.
Thus reactive control involves either fully automatic processing, controlled by orga-
nized plans known as schemas, or partially automatic processing, without deliberate
direction or conscious control but involving contention scheduling to resolve con-
icts among schemas. In fact, the theory of action slips is based on the premise that
action slips, the unintentional performance or nonperformance of actions, occur in
part because of the existence of multiple modes of control. Action slips are the con-
sequences of a failure to shift from automatic to attention-based deliberate control
at the most appropriate instants of time.
For an organism to exert control over its environment, there must exist pre-
dictable relationships between an action and the resulting stimulation (motor
sensory relationships). Behavior-based systems have different parts or loops,
with modular blocks representing behaviors, processes that take inputs and send
outputs to each other, quite quickly. Models of behavior are then assembled to
form the main thinking block in the control loop, as illustrated in Figure 11.18.
Behavioral modeling involves using process inputs so as to optimize future predicted
model behavior over a time interval known as the prediction horizon. Behavioral
control exploits reliable properties of statistics, geometry, rules of optics, etc. Thus
it has many similarities with model-predictive control in addition to being adaptive
and optimizing.
Behavioral modeling is also used in the partitioning of robot-control software.
Unlike a centralized architecture, modularity of robot software permits the imple-
mentation of distributed processing and thus allows the robot to respond sufciently
fast. This is the rationale behind behavior-model-based software partitioning known
as the subsumption architecture. This also, quite logically, leads to the concept of
intelligent autonomous agents, which are software modules that can exhibit behav-
iors. Learning-control systems are based on human learning of new or improved
strategies to deal with a problem. Humans generally acquire certain skills and are
then able to improve their ability to perform tasks, relying on these skills by repeti-
tive execution of the tasks. This is the basis for learning.
256 Robot Control
Sense Think Act
The Think block
Identify objects
Avoid objects
Build maps
Wander
Explore
Monitor changes
Plan changes to
the world
Reason about
behavior
Figure 11.18. Behavioral modeling of the think block.
No discussion of biologically inspired control techniques can be complete with-
out a mention of the cerebellum and its role in the control of the skeletomuscular
system. The cerebellum (little brain) is a distinct brain structure connected to
the stem of the brain behind the cerebral hemispheres, at the base of the brain.
It is known to be the place in the brain where movements learned by experience
are stored. With this experiential knowledge available to it, the cerebellum exerts
its control over the coordination of movements. It receives its sensory information
from various other parts of the brain and the spinal cord. One such brain part is
called the inferior olive, which itself receives the sensory information in the rst
instance and then relays it to the cerebellum.
It is, in fact, in the cerebellum, that data are analyzed and a plan of a course of
action is established. To put this plan into action, information is relayed from the
cerebellum to specialized nerve cells called the Purkinje cells. As each and every
piece of information leaves the cerebellum via the Purkinje cells, they are able to
exercise primary control over the execution of motor activities. It is thus indirectly
responsible for human posture and the humans ability to maintain equilibrium. The
cerebellum operates in sets of threes. There are three highways leading in and out
of it, three main inputs, and three main outputs from three deep nuclei. One of the
three nuclei, the fastigial nucleus, is primarily concerned with balance, and sends
information to the vestibular nuclei in the inner ear and reticular nuclei in the eye,
while the other two, the dentate and interposed nuclei, are concerned with voluntary
movements. Functionally the cerebellum is split into three parts: the archicerebel-
lum, which is responsible for the postures and vestibular reexes; the paleocerebel-
lum, which is responsible for the geometrical control and the exing of the mus-
cles; and the neocerebellum, which is responsible for the coordination and timing of
movements.
11.1 Introduction 257
cerebral
motor
cortex
Cerebellum
+
+
_
Spinal
cord
Skeleto-
muscular
system
afferent feedback
Figure 11.19. The cerebellum and motor control.
Whereas the cerebral motor cortex, a part of the layer of gray matter covering
the brain, provides the motor control commands, the cerebellum functions also as
a feedforward controller for these commands originating in the cerebrum, which
is the seat of consciousness within the brain. From the experience gained based
on models of the skeletomuscular behavior, it provides timing control of opposing
muscles, as well as force and stiffness control. Although the spinal cord provides
for independent control of muscle length and joint stiffness, afferent or sensed
feedback relayed to it by the spinal cord allows the cerebellum to exercise con-
trol over it and indirectly control the skeletomuscular system as illustrated in Fig-
ure 11.19. An understanding of the role and functioning of the cerebellum has led
to development of the cerebellum model articulation controller to act as a functional
controller of robotic systems.
11.1.4 Robot-Control Tasks
The principal control-oriented tasks in a robot may be briey summarized. When
several robot manipulators, each with its own end-effector, operate on the same
object, the actions of the end-effectors need to be coordinated. Coordination implies
that the activities must be properly planned, programmed, and scheduled. Most
serial robot manipulators are designed with excess free DOFs so as to give the
end-effector adequate exibility. This additional mobility or redundancy needs to
be effectively managed. Path planning is a fundamental computational problem in
robotics. In its simplest form, path planning is concerned with nding a collision-
free motion path between a given starting point S to a nal goal position F in a
known obstacle-congested environment or space. Once a suitable path is synthe-
sized, it is up to the robots guidance system to ensure that the robot follows this
prescribed path as closely as possible in some optimal way. This is the path- or
trajectory-following task.
Path-planning algorithms are generally concerned with providing sequences
of motion commands when little or no knowledge of the environment is avail-
able. Environmental modeling may involve the description of the trough of points
traveled, areas with particular characteristics such as convex polygons, generalized
258 Robot Control
Table 11.2. Task-based approaches to robot control and
their relations to traditional control methods
Task-based method Traditional control method
Coordination Planning and scheduling
Redundancy management Multiloop control
Path following Guidance and control
Force control Servomechanism
Hybrid control Two-input, two-output servo
Stiffness control Adaptive control, self-tuning
cones, the generation of the locus of forbidden positions, and other related tech-
niques. Conguration space planning that involves combined map- and sensor-based
planning is based on the decomposition of a higher-dimensional conguration space
and on planning optimally shaped trajectories in joint space by use of a variety of
splines and other related curves. The planned trajectory is usually synthesized in
segments and assembled together to establish the complete desired motion path in
the workspace.
In most robot-control situations involving the end-effector, it is often necessary
that the applied force or some attribute of it be controlled precisely. For example,
in grasping a loaf of bread, a gripper must apply just the right level of force. This is
the idea behind force control. Hybrid control refers to the combined control of both
displacement and force, and stiffness control is an adaptive approach that seeks a
displacement controller equivalent to the required force controller. The classica-
tion of robot-control systems based on the categories of tasks they are required to
perform is illustrated in Table 11.2.
An important force-control paradigm is the need for near-static balance of all
moving parts. A man carrying a heavy weight in one hand quite instinctively leans
his own weight to the other side in order to balance the two moments that the two
weights will exert about his point of support on the ground. This is an important
principle, and it is therefore essential that mechanical links and joints be designed
so the center of rotation is always close to the center of gravity, and consequently
the links are effectively statically balanced. The net result of such a design is that
the power required to drive the linkages is a near minimum.
11.1.5 Robot-Control Implementations
Robot-control system implementations vary from their rather simple forms in a
typical DC servomotor that takes the form of one or two analog control loops to
rather complex custom computer-based control loops involving sophisticated syn-
thesis algorithms that are biologically inspired. The use of digital electronics and
programmable Boolean logic is quite common and widespread in the manufacturing
industry. A number of implementations that use custom fuzzy-logic-based hardware
11.1 Introduction 259
Table 11.3. Robot-control classication based on implementation
Implementation approach Minimal hardware/software
Analog control loop Analog electronics
Digital control loop Digital electronics, programmable logic
Fuzzy-logic (rule-based reasoning) control Custom ware/microcontrollers
Articial neural networks Custom ware/microcomputers
Other biologically inspired algorithms
(genetic algorithms)
Custom data structures/PC
are used for robot vision processing. There are also biologically inspired hardware
implementations that mimic groups of synaptically connected sensory neurons, relay
neurons (networking), pyramidal neurons (in the brain), and muscle-controlling
motor neurons, forming an articial neural network, to perform sensing, computing,
and actuation-type control tasks. These methods are classied, and the categories
are given in Table 11.3.
Unique among the biologically inspired implementation techniques are the
genetic algorithms that are a class of learning or optimization algorithms based on
the biologically motivated concept of organic evolution. Organic evolution is the
change in a population of a species over a large number of generations that result
in the formation of new species. The change implies advance or learning and
adaptation to changing circumstances and environment. Unlike the classical con-
cepts of control synthesis that assume that species of feasible control laws do not
change as they are immutable, evolutionary systems are characterized by learning,
adaptation, and mutation, inherently random processes. Implicit in classical control
is the notion that the control laws are synthesized once and for all. However, the
neo-Darwinian view is that the species of feasible control laws are modied by the
inheritance of small changes in the genotype, representing changing circumstances,
which have passed the test of natural selection or tness. Alternatively the La-
marckian view is that the species of feasible control laws are modied by inheritance
of changes in the phenotype, representing the changing environment and resulting
in the use and misuse of certain aspects of the controller. The implementations of
genetic algorithms have led to the development of custom data structures based on
the genetic structure of chromosomes and a completely unusual approach to both
controller synthesis and its subsequent optimization.
11.1.6 Controller Partitioning and Feedforward
A common manipulator controller paradigm known as controller partitioning splits
the controller into two components: a servo-related component and a model-based
controller component. Typically a DC servomotor is used to control a joint, and it
is in turn controlled by a PD control loop. (The basic control algorithms for con-
trolling a typical joint actuator are discussed in the Appendix.) This is also the
260 Robot Control
structure of the servo-related component of the manipulators controller. A PD
control scheme emulates the effect of a linear spring and damper acting between
the current state and the desired state. The model-based controller component is
related to the computed torque controller paradigm and is usually synthesized by
the application of the method of feedback linearization of the dynamics, a tech-
nique discussed in Chapter 10. The controller itself is so-called as it is computed
from the dynamic model in terms of the joint coordinates, joint velocities, and joint
torques.
Not all robot-control systems are built around a servomotor. Manipulators that
are driven by stepper motors use a simple open-loop control system; i.e., one in
which the controlling computer cannot sense the physical position or any other
output it is controlling. A stepper motor is a motor that rotates through a small
xed angle in response to a single-pulse input. To drive such a motor, the com-
puter simply transmits a xed number of pulses and assumes that the motor gets
there. Thus the motor could be programmed to perform a sequence of rotations.
Although the motor cannot sense when something unexpected happens because of
the absence of feedback, it is possible in principle for the motor to sense the occur-
rence of certain disturbing events and simply compensate for these by altering the
number of pulses sent. This is the principle of programmed control with feedfor-
ward. The principle of feedback may be applied in one big loop by simply measuring
the position (and orientation) of the end-effector and programming all other actu-
ators to drive the position (and orientation) error at the end-effector to zero. On
the other hand, one could introduce a number of inner feedback loops for groups
of several links and ensure that these are displaced through a sequence of desired
positions.
11.1.7 Independent Joint Control
Finally, each joint may be individually controlled by a servomotor to ensure that
each of the joints is displaced through a sequence of prescribed displacements. Typ-
ically the joints themselves are controlled by a set of independent joint controller
boards that communicate with each other by a dedicated bus, making a real-time
operation rather difcult and expensive to achieve. Each joint controller is imple-
mented as a simple PI (position and integral) controller around the joint velocity.
Each joint must therefore be tuned, i.e., optimal values of the PI gains must be found
for each of the joints. Considerably greater control may be exercised on the robot
manipulator by this process. However, there is a price to pay in that the control
system could be quite expensive. Generally one prescribes different modes of joint
control in order realize the actual requirement, which may be in the form of a grasp-
ing specication, force control, impedance control, or a hybrid control mode. Each
mode would possibly require a distinct and characteristic level of coordinated con-
trol in order to meet the specied requirement. The net result is a complex collection
of coordination control tasks that must solved in real time. Controller classication
based on the control-loop structure is summarized in Table 11.4.
11.2 HAL, Do You Understand JAVA? 261
Table 11.4. Robot-control classication based on control-loop structure
Level at which loop is implemented Relevant classical controller structure
Joint level Servo, multiple inner loops
Multilink or loop level Closed loop (nonservo), multiple loops
End-effector level Single, closed, outer loop control
Programmed feedforward Feedforward, disturbance sensing
Programmed Programmable logic (open loop)
11.2 HAL, Do You Understand JAVA?
Well, its time to talk to HAL. HAL, of course, was the legendary computer on board
the spaceship in the movie version of Arthur C. Clarkes futuristic novel 2001: A
Space Odyssey, rst published in the early 1950s. HAL could not only speak and
understand conversations, but could also read lips purely from their visual images.
Yet one could be sure that he would not understand JAVA. JAVA is a program-
ming language that was created by Sun Microsystems, a Silicon Valley company spe-
cializing in the manufacturer of computer systems hardware and software based in
California, long after the world premiere of 2001: A Space Odyssey in 1968, which
incidentally was attended both by Arthur C. Clarke and Alexei Leonov, the rst
man to walk in space. But JAVA, named after the beautiful island of Java in the
Indonesian archipelago, is not understood by most Javanese as well and is not a
robot programming language either. And, of course, HAL is no more.
Robot programming languages play an important role in being able to commu-
nicate and program a robot to perform a sequence of tasks. Programming languages
designed to operate with robots are designed not only for communicating with them
but also for instructing them to perform a structured sequence of tasks as dened
in a program. Robot programming languages may be either created from scratch
or by modifying and adding to an existing computer programming language. Thus
robot programming has evolved along with computer programming. Because pro-
gramming is a specialized skill requiring considerable investment of resources, the
current trend is to eliminate programming altogether. Thus it is believed that, by
introducing robot simulators that are to directly create the necessary code to drive
the robot, the need for programming could be eliminated.
Computers like HAL, which function as the brain of a robot, use an operating
system or a so-called real-time kernel that acts as the interface between the pro-
gramming language and the computer hardware. The kernel has direct access to
all the hardware functions and makes these available in various forms to the oper-
ating system (OS) and the programming languages. An OS exploits the hardware
resources offered by the processor or a processor board to provide a set of services
to the user. Among other functions, it manages the secondary memory and input
output (I/O) devices for the user.
Most robot computer systems offer real-time computing facilities. Real-time
computing may be dened as that type of computing in which the correctness
262 Robot Control
depends not only on the logic and logical sequencing of computational operations
but also on the time at which the operations are performed. A real-time system is
one in which some or even one task is a real-time task. A real-time task is one that
must meet a mandatory timing deadline (hard real-time task) or one in which it is
highly desirable to meet a timing deadline and it is mandatory only that the task be
completed (soft real time). A real-time system does not imply that it is fast; just fast
enough. Another feature of a real-time system is that it responds to an interrupt on
the basis of priority.
Robot OSs have a number of unique requirements over and above the require-
ments of an OS. Primarily they are required to operate in real time. Real-time oper-
ating systems (RTOSs) are deterministic in that they are able to perform tasks not
only at the specied times but also in xed predicable intervals of time. Therefore,
provided it has the capacity, a RTOS can deterministically satisfy all user requests
for services. Responsiveness is another feature of a RTOS and may be described as
its ability to respond fast enough. User control is generally much broader in a RTOS
than in a non-real-time OS. In a non-real-time OS the user has no control over the
scheduling of multiple tasks whereas in a RTOS the user may exercise complete and
direct control on the scheduling of all tasks. Of course, in the case of a RTOS the
reliable and fail-soft
1
operation of the software modules is much more important
than in a non-real-time OS, particular if the RTOS is used in a situation requiring
high integrity, such as a hospital operating theater or an aircraft ight-control sys-
tem. A real-time kernel is the heart of a RTOS and is responsible for providing all
the basic facilities such as working with processes and threads, interprocess commu-
nication, and other features that are essential for real-time operations. Furthermore
it provides a deterministic high performance and complete access for processor
allocation, memory management, communication, and task and thread scheduling.
Scheduling species how access to one or more reusable computational resource is
granted while ensuring stability under transient overload. Thus the real-time ker-
nel is a key component of the RTOS and is largely responsible in determining its
real-time performance.
Robot software has evolved well beyond programming and simulation lan-
guages with the evolution of specic architectures for the partitioning of robot-
control and vision software. The objective of using a proper architecture for the
software is to provide an easier and exible way of programming and controlling
robot manipulators.
In a robot, a programming language, apart from offering facilities to control
physical motions, to conduct operations in parallel, and to synchronize with exter-
nal events and interrupts, also serves to communicate with and via the RTOS with
the other hardware components such as the joint servomotors in a manipulator.
Robot programming languages have become almost as varied as the robots they
1
The term fail-soft is used to describe systems that are designed to terminate all nonessential pro-
cessing whenever there are any failures. Thus systems that are in a fail-soft mode would be able to
provide partial operational capability even after a failure in delivering a service.
11.3 Robot Sensing and Perception 263
are designed to communicate with. Languages available today may be classied in a
multilevel structure, based on level of intelligence, task orientation, and structured
organization, motion orientation, and point-to-point and microcomputer levels. Yet
the International Standards Organizations open system interconnection (ISO/OSI)
reference model for data communication protocols, with its seven-layer structure
beyond the physical media (physical layer, data link layer, network layer, transport
layer, session layer, presentation layer, application layer), is emerging as a basis for
classifying robot application software including programming languages. Although
not all of the seven layers are generally relevant, three of the seven layers may be
considered important for robot-control communications. Robot-control communi-
cations software usually supports a simple network management protocol, which is
conceptually in the application layer in terms of the ISO/OSI model. Moreover, the
control software itself has a multilayered structure, with the lowest layer handling
the servocontrol modules, the next layer providing primiting for such tasks as path
generation, trajectory planning, and kinematic inversion, and higher layers dealing
with tasks involving decision analysis and interpretation of high-level commands.
Thus the control architecture is designed according to the principles of layers, each
with different behavioral competencies. This not only allows the system to operate
robustly but also facilitates the extension of the robots control program at a later
date simply by the addition of new levels on top of the existing ones. Adding new
levels not only does not change the communication structure between the previ-
ous levels; it considerably enhances it. Through the suppression and inhibition of
specic software elements in the layers below it is possible to modify previously
implemented behavioral patterns without changing the existing architecture. This
approach also allows for the robust execution of the program. If the control func-
tions of a particular level fail, then the behavior patterns of the lower levels would
continue to function properly.
11.3 Robot Sensing and Perception
Older texts in robotics often include a chapter on computer vision. But perception,
whether in a human or in a robot, is not based purely on vision. Computer vision
is an important and yet a relatively low-level function in a modern robot. A host
of sensors is often used in building a robotic system, and some of these sensors are
identied in the Table 11.5. Although the sensors provide the requisite sensation,
what is more important is the perception of the robotic system. Perception involves
the proper interpretation of sensed data. This aspect is substantially more important
than mere sensing of information. A deeper understanding of robot perception may
be gained by understanding human perception and cognition in some depth.
The human ear, illustrated in Figure 11.20, is an incredible natural sensor
that is bombarded by stimuli of different kinds and from different directions. The
human ear has three main regions; the outer, the middle, and the inner. On the one
hand, although it is sensitive to sound waves in the 15-Hz15-kHz frequency range,
it is also the primary mechanism for providing humans with a sense of balance. As
264 Robot Control
Table 11.5. Typical sensors used in building a robotic system
Feature Sensing principle or sensor type
Range Time-of-ight (ultrasonic, laser, radio)
Triangulation (stereo disparity or other stereoscopic)
Coherent electromagnetic radiation
From target size (if known)
Optic ow
Proximity Capacitive, ultrasonic, magnetic, or electromagnetic wave
Tactile Binary, analog, tactile feelers or bumpers, distributed surface
arrays
Forces and moments Accelerometers
Speed Doppler, odometers, anemometers (wind speeds)
Altitude Barometers, altimeters, radar, sonar
Attitudes and attitude rates Attitude gyroscopes, rate gyroscopes, rate-integrating gyroscopes
Positioning Satellite-based positioning (GPS), IMUs
far as sound waves are concerned, they enter the outer ear, pass through the ear
canal, and strike the eardrum. The drums vibrations then travel down the middle
ear and are amplied three times by a three-bone lever (the ossicles). The amplied
pressure acts on a membrane, which in turn sends waves through the uid in a snail-
shaped organ, the cochlea. It is essentially a transducer, which passes on the signal
and generates appropriate sensory neural rings to the auditory nerve for further
transmittal to the brain. Sound perceived by the auditory nerve provides the primary
Figure 11.20. Illustration of the inner ear.
11.3 Robot Sensing and Perception 265
cues for the perception of spatial extent. These cues, the delay times associated with
echoes, sound-frequency coloration, and the reection density or reverberation are
interpreted cognitively to give us a perception of the space in which a sound occurs.
The inner ear contains three semicircular canals, at right angles to each other
and lled with uid, that act as a three-axis sensor. The semicircular canals respond
to angular acceleration at low frequencies and to angular velocity at high frequen-
cies. This is because, while the semicircular canals respond to accelerations in their
individual planes of rotation, they integrate these accelerations to report velocities
at higher frequencies. The frequency-coded signals from the ampullary receptors
of the semicircular canals are much more closely related to the angular velocity
of the head than to its angular acceleration. They assist in maintaining body equ-
ilibrium.
The semicircular canals are also linked to the cochlea. Liquid inside the semi-
circular canals moves inside swellings or ampullae, thereby stimulating tiny hairlike
cells capped by a cone of jelly (capulla). Head movement in the same plane as one
of the canals causes the canal to move but not the liquid (endolymph) within it.
The endolymph lags behind because of its inertia. The inertia of the endolymph
swings the capulla, resulting in a distortion of the hair and hair cells. This results in
a proportional signal to the auditory nerve. Thus the semicirculars work together to
detect the heads rotational angular acceleration or angular velocity.
The semicircular canals have another important function in that they provide
the vestibulo-ocular reex (VOR) to the eye via the cerebellum. The function of the
VOR is to stabilize the image on the retina of the eye while the head is subject to
rotational or translational movements. The VORs are set-point command signals
that stabilize the eye position in space during three-axis head rotations. The eye is
the only human visual sensor and works like a stereo camera, imaging the real world
in a form understandable to the human brain. The eye then generates a feedback
signal, which is exactly the negative of the VOR. Thus the two together add up
to zero, thereby indicating that the eye motion is completely synchronous with the
head motion. When the two signals are not synchronous, there is conict that results
in so-called motion sickness.
The semicircular canals, together with two other sense organs, the otolith
organs, the utricle and the saccule, illustrated in Figure 11.21, constitute the vestibu-
lar system. The otolith organs are embedded in the temporal bones on each side of
the head near the inner ear. These organs are sensitive to gravity and linear acceler-
ation of the head. They measure the linear acceleration that the head is subjected to
as well as the orientation (tilt) of the linear acceleration vector relative to the local
gravity vector, and on this basis the brain is able to compute how to maintain bal-
ance. The otoliths are mainly responsible for telling us which way is up as they act
as physiological gravity perceptors. They are two membranous sacs, with hairlike
structures embedded within, and act as accelerometers. It is at these hairlike struc-
tures where motion is transduced into a sensory neural ring.
Certain forced motions of the human body thus stimulate the sensory organs in
the vicinity of the human ear, yielding cues, which are transduced into physiological
266 Robot Control
Utricle
Semicircular
canals
Saccule
Figure 11.21. Illustration of the vestibular sys-
tem in the ear.
neural signals. The physiological neural signals encode various motion- and orien-
tation-related features. The CNS residing within the brain acts as a neural estima-
tor, capable of accurately extracting motion and orientation parameters in a process
almost similar to an electrical lter estimating a set of parameters from noisy mea-
surements given a suitable model of the dynamics of the signal. The CNS also incor-
porates a multisensor fusion process whereby these various estimates of the motion
and orientation parameters are combined by a weighting process followed by addi-
tional motor and cognitive processing to elicit reexive and perceptual responses.
Cognitive processing relies on a control strategy associated with internal models of
the dynamics of the sensory organs, body dynamics, and cognitive responses. The
models also include a smooth pursuit module on the basis of a model-following con-
trol strategy that is able to match eye responses and perceptual effects measured
during various motion regimes in daylight and in darkness with visual motion cues
held in memory. The processed outputs are the internal estimates of physical motion
variables and servocommand reex signals that govern the quasi-steady motions of
the eye.
No robot perception would be complete without a provision for appropriate
sensing and matching of audiovisual cues. Although processing of audiovisual
information is performed within the robots computer, the architecture of the sens-
ing systemis designed to resemble similar human systems. Acomputer vision system
is a minimal requirement but may not be adequate for certain functions unless it is
supplemented by appropriate motion and acoustic sensors. As a robot operator con-
trols a robot, he/she continually views the outside world from his/her own moving
reference. He or she does this to create a mental map of the neighborhood that pro-
vides visual cues to facilitate his or her primary task. The purpose of the synthetic
displays of the outside world and other instruments is to provide the robot opera-
tor with the same visual cues he/she would obtain while performing the same task
himself/herself.
There are two approaches to synthetic generation of outside-world displays or
animation: key framing and motion capture. The key-framing technique requires
that the animator specify limiting or key positions of the objects in the form of
frames. A computer is used to ll in the missing frames, essential to creating a con-
tinuous animation, by smoothly interpolating between the positions captured by the
key frames. To be able to effectively implement the technique, the animator must
posses a detailed understanding of how moving objects behave over a time frame as
11.3 Robot Sensing and Perception 267
well as the ability and talent to encode that information through key-framed cong-
urations. Motion capture, on the other hand, is based on recording and playing back
the outside-world scenes in three dimensions. The key problems in such a computer
generation of synthetic displays remain; i.e., the identication and optimal presen-
tation of the most signicant visual cues.
A realistic computer simulation of outside-world displays as seen by a robot
operator is probably the best way of identifying the most signicant and appropri-
ate visual cues that may be provided to a trainee operator. Insight into the nature of
visual cues essential for human perception may be gained by simulating the motions
and perceptions of the human operator. Certain visual cues are essential to ensure
that the simulation is realistic in that it incorporates the humans behavioral style
and stance. Without these cues, the computer would still synthesize technically cor-
rect movement that would appear unnatural.
To complete our understanding of visual cues, we examine how images are
stored and retained in the human brain. Images have two components: a surface
representation that is primarily supercial and a deep representation. The surface
representation merely corresponds to ones experience of the image and embodies
quasi-pictorial features. Surface representations are generated from the deep rep-
resentations, which are elaborate knowledge structures stored in the brains long-
term memory. The deep representation of the image includes a list of propositions
that encodes the relationships among the various properties on the image. Thus
the surface representations may be actually reconstructed from component image
elements with the aid of the deep representation. The elements of the image as
well as the propositions that constitute the deep representations make up the visual
cues associated with image. Visual cues may be broadly classied into two groups:
object- or image-centered and observer-centered cues. Object- or image-centered
cues include pictorial cues (perspective, interposition, height in the projected image
plane, light, occlusion, shadow and diffuse interreection, relative size, textural gra-
dients, brightness/aerial perspective) and motion-parallax-related cues. Observer-
related cues include motion feedback for ocular convergence, binocular disparity,
stereo, and accommodation for the strains in the muscles controlling the optical
lenses in the eyes.
The difculty human operators experience in making precise judgments of dis-
tance is due to the inadequacy of computer-generated imagery. The problem arises
because a three-dimensional world is projected onto a two-dimensional image.
Visual contact cues are important for simulations of larger-scale environments
because they aid in achieving visual realism and in the perception of the position
of objects in space. As one reaches to touch or grab an object, his or her hand
positions itself appropriately in anticipation of contact with the object. Because this
occurs prior to the physical contact, it necessarily must be cued by visual rather than
haptic stimuli. Further, because light travels faster than sound, it can be said that
spatial awareness is cued rst by visual rather than by auditory stimuli, which only
act to reinforce the visual stimuli and provide the VOR. The perception of spatial
relations in computer-generated images is aided by six primary cues: perspective
268 Robot Control
projection, relative motion, shadow, object texture, ground texture, and elevation.
Visual motion cuing involves the rate of change of perspective and the streaming of
points of contrast in an image.
In addition to vestibular proprioception, the human also receives kinesthetic
proprioception stimulation. Kinesthesia is the awareness of the orientation and the
rates of movement of different parts of the body arising from stimulation of recep-
tors in the joints, muscles, and tendons. The focus here is on perception mediated
exclusively or nearly so by variations in kinesthetic stimulation. Tactile perception
refers to perception mediated solely by variations in cutaneous stimulation. Tactual
perception may include sensing information tactilely (through the skin), kinesthet-
ically (through the joints, muscles and tendons), or both. Haptic perception is a
narrower term that refers to sensing information both tactilely and kinesthetically
in which both the cutaneous sense and kinesthesis convey signicant information
about distal objects and events (distal refers to sites located away from the center or
midline of the body). Auditory cues, in addition to being perceived by the ears, may
be picked up by proprioception.
Finally, introducing realism into robot vision involves more than the realistic
generation of motion and matching visual cues. The physiological sense of touch
has two distinct aspects: the cutaneous sense, which refers to the ability to perceive
textural patterns encountered by the skin surface; and the kinesthetic sense, which
refers to the ability to perceive forces, moments, and their magnitudes. There is also
a need for touch and feel sensing as well as the contact cues and feedback processes
associated with these sensations. Visual contact cues have already been discussed;
haptic contact cues associated with the sensations of touch and feel provide two typ-
ical feedbacks: kinesthetic feedback associated with kinesthesia, the sensation by
which body weight, muscle tension, and movement are perceived, and propriocen-
tric feedback, which is sensitive to changes in body position and movement. These
feedbacks greatly inuence the nature of the control that a human exerts over the
interfaces to a robot as well as other manual controls. This establishes the need for at
least proximity, touch, and tactile sensors. A proximity sensor is a device that detects
the presence of an object without making physical contact with it. Touch and tac-
tile sensors are devices that measure the forces of contact between the sensor and
an object. This interaction obtained is conned to a small but predened region.
Touch sensing involves the detection and measurement of a contact force at a spe-
cic point. Output from basic proximity and touch sensors is in the form of binary
information, namely an on signal if the object is present or to signify touch, and an
off signal to signify the absence of the object or no touch. Tactile sensing involves
the detection and measurement of the spatial distribution of forces perpendicular
to a predetermined sensory area and the subsequent interpretation of the spatial
information. Thus a tactile sensing array is assembled from a coordinated group of
touch sensors. The measurement and the detection of the movement of an object
relative to the sensor are processes of slip detection. These can be achieved either
by a slip sensor designed specically to measure slip or by the interpretation of data
from a touch sensor or a tactile array.
Exercises 11.111.5 269
EXERCISES
11.1. Reconsider the autonomously driven bicycle model developed in the preced-
ing chapter.
(a) Discuss the shortcomings of this dynamic model developed in the preced-
ing chapter and explain how the rectication of these shortcomings may be
effected.
(b) Based on your experience in riding a bicycle, design a biomimetic controller
capable of balancing the bicycle when in forward motion.
11.2. Demonstrate the feasibility of the bicycles balancing controller designed in
the preceding exercise by simulating the closed dynamics of a representative model
of the bicycle.
11.3. Consider a system described by the following dynamical equations:
3 q
1
+ q
2
Lcos q
2
q
2
2
Lsinq
2
= u
1
,
q
2
L
2
+ q
1
Lcos q
2
+ gLsinq
2
= u
2
.
(a) Determine the inertia matrix, the Coriolis or centrifugal force vector, the
gravitational force vector, and the vector of generalized external forces.
(b) Describe briey the computed torque control technique for the robot gov-
erned by the preceding dynamics and obtain the relevant control laws.
11.4. Reconsider the two-link manipulator illustrated in Figure 10.2.
(a) Show that the equations of motion can be expressed in the form
I
0
(q
0
) q
0
+C
0
(q
0
, q
0
)
g0
(q
0
) = ,
where q
0
is the two-vector of joint space variables in the frame of reference
attached to the xed link, I
0
(q
0
) is the 2 2 inertia matrix, C
0
(q
0
, q
0
) rep-
resents the Coriolis and centrifugal force vectors, and
g0
is the vector of
gravity torques acting at the joints.
(b) Find an inverse model control law to transform the system into a double
integrator system given by
q
0
= v.
(c) Using the control law,
v = r

K
P
q
0
K
v
q
0

T
,
where r is a reference input, select appropriate values for the control gains
so the closed-loop system is decoupled, critically damped, and has the nat-
ural frequencies given by =
0
.
11.5. A servocontrol loop for a robot is designed by incorporating a fuzzy-logic con-
troller in a typical control loop. The rule matrix for this fuzzy controller module is
shown in Table 11.6. The interpretation of each rule in this rule matrix takes the
following form:
270 Robot Control
Table 11.6. Rule matrix for the fuzzy controller
change in error
error PB PM PS PZ NZ NS NM NB
PB PM PM PB PB PB PB PB PB
PM PZ PS PM PM PM PM PM PM
PS NZ PZ PZ PS PS PS PS PS
PZ NZ NZ PZ PS PZ PZ PZ PZ
NZ NZ NZ NZ NZ NS NZ PZ PZ
NS NS NS NS NS NS NZ NZ PZ
NM NM NM NM NM NM NM NS NZ
NB NB NB NB NB NB NB NM NM
Notes: B, big; M, medium; S, small; Z, zero; P and N, positive and negative
values of the position error and the change in position error.
If position error is NM and change in position error is PS then control is
NM.
The abbreviated linguistic terms are dened as follows: B, big; M, medium; S,
small; Z, zero, while the hedges P and N refer to positive and negative values
of the position error and the change in position error. The fuzzy sets associated with
the rule matrix in Table 11.6 for the scaled, nondimensional position error, change
in position error, and control input are shown in Figure 11.22.
-2 -1 0 1 2
1
Universe of discourse
Membership
value
NB NM NS Z PB PM PS
Figure 11.22. Denitions of linguistic variables.
(a) Given that the scaled nondimensional position error is 0.4 and that the
scaled nondimensional change in position error is 1.2, identify the rule
submatrix that would be applicable.
(b) Hence, nd the control action, using an appropriate defuzzication method.
Explain the method of defuzzication you have used and compare it with
any other method of defuzzication you know.
Exercise 11.6 271
11.6. (a) Using examples, discuss the principle of inverse-model- and internal-
model-based neurocontrollers.
Give examples of at least two other neural-net-based controller struc-
tures.
(b) Explain the difference between supervised and unsupervised learning in
articial neural networks. Give an example of a neural network model that
uses each procedure.
(c) Name and describe with the aid of a diagram at least one example of a
neural network model in the category of feedforward neural networks and
briey discuss its applications to robot control.
12
Biomimetic Motive Propulsion
12.1 Introduction
In this chapter we consider some important benchmark problems involving
biomimetic robots, such as the dynamics and balance of walking biped robots,
dynamics and control of four-legged robotic vehicles, dynamics and control of
robotic manipulators in free ight, dynamics and control of apping propulsion in
aerial vehicles, and the underwater propulsion of aquatic vehicles.
12.2 Dynamics and Balance of Walking Biped Robots
The dynamics and control of walking bipeds provides much insight into biomimetic
robots. We consider a relatively simple model of a walking model that is capable
of capturing the principal features of the kinematics and dynamics of coordinating
walking that resemble a human gait. Generally a human can be modeled to operate
in two-dimensional space, with the model having a head, a pair of arms attached by
a shoulder joint to a torso, and two identical legs with knees as well as two ankles
and feet. Such a model is capable of demonstrating uniform walking based on the
stance and swing mechanism, dynamic balance of the torso and the head, the role
of the ankle and feet in providing rolling contact with ground, and the role of the
human arms that act as stabilizers while the robot is walking forward with uniform
forward velocity. Such a planar model is illustrated in Figure 12.1.
12.2.1 Dynamic Model for Walking
To understand the basic kinematics of coordinated walking, a simplied seven-DOF
model involving the head, torso, and legs is adequate. The legs by themselves form a
classical ve-bar linkage, and when the constraint of a single-leg support is included,
the number of DOFs is reduced to just ve. In addition, when the four moments at
the leg joints are also specied to maintain steady walking, the model reduces to one
with only a single DOF.
272
12.2 Dynamics and Balance of Walking Biped Robots 273
x
y
Figure 12.1. Thirteen-DOF planar model of a human walking,
including the arms and feet to allow for balance and rolling con-
tact with ground. The unlled circles represent revolute joints,
and the lled circles represent mass points.
The model is illustrated in Figure 12.2. In the rst instance we establish a set of
equations of motion that govern the dynamic evolution of the state of the model. We
assume that the motion of the center of mass of the torso and head can be described
by Cartesian coordinates (x
0
, y
0
) and that the total mass and moment of inertia of
the torso and leg are m
0
and I
0
, respectively. The orientation of the torso to the
vertical is assumed to be described by the angle .
The masses of the two upper legs from the pelvis to the knee joints are assumed
to be m
1
, and the masses of the two legs from the knee joints to the ankles are
assumed to be m
2
. The height of the center of mass of the torso from the pelvis is
assumed to be r
0
, and the distances of the masses m
1
and m
2
from the pelvis and
the knee joints respectively are r
1
and r
2
. The orientation angles of the leg links, the
moments acting on these links, and the forces acting on the ankle when a leg is in
contact with the ground are dened in Figure 12.2.
To establish the governing equations of motion and the appropriate constraint
equations we need the Cartesian velocities of the centers of mass of the various com-
ponent bodies as well as the angular velocity of the torso. The Cartesian coordinates
dening the locations of the pelvic joint and the left and right knee joints are
x
pelvis
= x
0
r
0
sin, y
pelvis
= y
0
r
0
cos , (12.1)
x
L knee
= x
0
r
0
sin l
1
sin(
L
) , (12.2)
y
L knee
= y
0
r
0
cos l
1
cos (
L
) , (12.3)
m
0
, I
0
(x
0
, y
0
)

r
0
r
1
r
1
r
2
r
2
m
1
m
1
m
2
m
2

L
x
y
M
0
M
1
M
2
M
3
F
Lx
F
Rx
F
Ly
F
Ry
Figure 12.2. Simplied seven-DOF model
(excluding the single-leg or double-leg sup-
port constraints that could remove two or four
DOFs) of a walking human.
274 Biomimetic Motive Propulsion
x
R knee
= x
0
r
0
sin l
1
sin(
R
) , (12.4)
y
R knee
= y
0
r
0
cos l
1
cos (
R
) , (12.5)
where l
1
is the length of the torso and head from the center of mass of the head to
the pelvic joint. The Cartesian coordinates dening the locations of the centers of
mass of the component bodies in the left and right legs are respectively given by
x
L1
= x
0
r
0
sin r
1
sin(
L
) , (12.6)
y
L1
= y
0
r
0
cos r
1
cos (
L
) , (12.7)
x
L2
= x
0
r
0
sin l
1
sin(
L
) r
2
sin(
L
+
L
) , (12.8)
y
L2
= y
0
r
0
cos l
1
cos (
L
) r
2
cos (
L
+
L
) , (12.9)
x
R1
= x
0
r
0
sin r
1
sin(
R
) , (12.10)
y
R1
= y
0
r
0
cos r
1
cos (
R
) , (12.11)
x
R2
= x
0
r
0
sin l
1
sin(
R
) r
2
sin(
R
+
R
) , (12.12)
y
R2
= y
0
r
0
cos l
1
cos (
R
) r
2
cos (
R
+
R
) . (12.13)
The Cartesian coordinates dening of the locations of the center of mass of
the head and the points of contact of the left and right ankles with the ground are
respectively given by
x
top
= x
0
(r
0
l
0
) sin, y
top
= y
0
(r
0
l
0
) cos , (12.14)
x
LG
= x
0
r
0
sin l
1
sin(
L
) l
2
sin(
L
+
L
) , (12.15)
y
LG
= y
0
r
0
cos l
1
cos (
L
) l
2
cos (
L
+
L
) , (12.16)
x
RG
= x
0
r
0
sin l
1
sin(
R
) l
2
sin(
R
+
R
) , (12.17)
y
RG
= y
0
r
0
cos l
1
cos (
R
) l
2
cos (
R
+
R
) . (12.18)
The generalized coordinates are dened as
[ q
1
q
2
q
3
q
4
q
5
q
6
q
7
] = [ x
0
y
0

L

R

L

R
]. (12.19)
The total kinetic energy of the bodies is given by
T =
1
2
_
m
0
_
x
2
0
+ y
2
0
_
+ I
0

2
+
2

i =0
m
i
_
x
2
Li
+ y
2
Li
+ x
2
Ri
+ y
2
Ri
_
_
. (12.20)
The total gravitational potential energy with reference to the ground is
V = m
0
gy
0
+
2

i =0
m
i
g (y
Li
+ y
Ri
). (12.21)
12.2 Dynamics and Balance of Walking Biped Robots 275
The virtual work done by the external forces acting at the ground contact points
and moments acting at the pelvic and knee joints are respectively given by
W
F
=
7

i =1
F
Lx
x
LG
q
i
q
i
+ F
Ly
y
LG
q
i
q
i
+ F
Rx
x
RG
q
i
q
i
+ F
Lx
y
RG
q
i
q
i
(12.22)
=
7

i =1
Q
Fi
q
i
,
and
W
M
= M
0

L
+ M
1

R
+ M
2

L
+ M
3

R
=
7

i =1
Q
Mi
q
i
. (12.23)
The EulerLagrange equations are given by

t
T
q
i

T
q
i
+
V
q
i
= Q
Fi
+ Q
Mi
, i = 1, 2, 3 . . . , 7. (12.24)
The basic mechanism of walking involves the stance and swing method dis-
cussed in Chapter 2. During the stance phase the robot is fully supported on either
both legs or on one leg. When the robot is supported on both legs, the position coor-
dinates of the ground contact points may be assumed stationary, and consequently
this leads to four position constraint equations. These may be expressed as
_
cos (
L
)
sin(
L
)
_
=
1
d (
L
)
(
L
)
_
x
0
r
0
sin
y
0
r
0
sin
_
, (12.25)
_
cos (
R
)
sin(
R
)
_
=
1
d (
R
)
(
R
)
_
x
0
x
LR
r
0
sin
y
0
r
0
sin
_
, (12.26)
where
d ( ) = l
2
1
+l
2
2
+2l
1
l
2
cos ( ) , (12.27)
( ) =
_
l
2
sin (l
1
+l
2
cos )
(l
1
+l
2
cos ) l
2
sin
_
, (12.28)
and x
LR
is the distance of the right ground support point from the left.
Differentiating the position constraint equations results in the corresponding
velocity and acceleration constraint equations. Thus when the robot is in this con-
guration the number of DOFs reduces from seven to three and explicit solutions
may be obtained for the support forces, F
Lx
, F
Ly
, F
Rx
, and F
Ry
.
In the case of a single-leg support the position constraint equations are
x
0
= r
0
sin +l
1
sin(
L
) +l
2
sin(
L
+
L
) , (12.29)
y
0
= r
0
cos +l
1
cos (
L
) +l
2
cos (
L
+
L
) , (12.30)
276 Biomimetic Motive Propulsion
Figure 12.3. A typical sequence of the lower limb positions during the stance and swing mode
of walking.
when the stance leg is the left leg and are
x
0
= x
LR
+r
0
sin +l
1
sin(
R
) +l
2
sin(
R
+
R
) , (12.31)
y
0
= r
0
cos +l
1
cos (
R
) +l
2
cos (
R
+
R
) , (12.32)
when the stance leg is the right leg. Thus the position coordinates of the center of
mass of the torso are no longer independent DOFs, which are now reduced to ve.
A typical human gait half-cycle may be divided into four phases. The rst phase
is the double-support phase, when both feet are rmly on the ground. The next
phase is the transition from the double-support to the single-support phase (or the
takeoff phase), when the foot rolls smoothly as the support moves from the heel to
the ball of the rear foot, which eventually leaves the ground. The third phase is the
single-support phase or the swing phase, in which one foot is on the ground and the
other foot is swinging across. The last phase is the transition from the single-support
to the double-support phase or the landing phase, which is associated with the heel
landing softly on the ground and the foot gradually rolling to the front as the support
moves to the ball of the foot. Thus the robot returns to the double-support phase
and continues to execute the four-phase cycle although the roles of two legs are
interchanged. A second sequence of these four phases results in the robot returning
to its original conguration.
The dynamic equations governing the motion of the robot during all the phases
is made up of the ordinary differential equations previously discussed as well as
the appropriate constraint equations in the support phases when the robots kine-
matic topology changes from the double-support to the single-support phase and
vice versa. In an ideal situation the transitions from one phase to the other can be
modeled so they are governed by the conservation of the linear and the moment
and momentum in appropriate directions.
In the walking mode, appropriate external moments at the leg joints M
0
, M
1
,
M
2
, and M
3
are commanded so the leg joint angles
L
,
R
,
L
, and
R
respond in a
desired way. Consequently the legs are in periodic motion and an illustration of the
legs in some typical positions is given in Figure 12.3. A typical set of approximate
values of the leg joint angles during one walking cycle is shown in Table 12.1. In
Table 12.1, the state SLL refers to support by the left leg, SLR refers to support
by the right leg, and DL refers to double-leg support.
12.2 Dynamics and Balance of Walking Biped Robots 277
Table 12.1. Commanded leg joint angles (in degrees)
during one walking cycle
Sl. no. State
L

R

L

R
0 SLL 20 20 0 20
1 SLL 0 30 0 90
2 SLL 20 40 0 20
3 DL 30 30 0 0
4 SLR 20 20 20 0
5 SLR 30 0 90 0
6 SLR 40 20 20 0
7 DL 30 30 0 0
8 SLL 20 20 0 20
9 SLL 0 30 0 90
10 SLL 20 40 0 20
11 DL 30 30 0 0
12 SLR 20 20 20 0
13 SLR 30 0 90 0
14 SLR 40 20 20 0
15 DL 30 30 0 0
Notes: SLL, support by the left leg; SLR, support by the right
leg; DL, double-leg support.
Consequently, walking in this cyclic manner implies that the four leg joint angles

L
,
R
,
L
, and
R
are constrained to behave in a certain way. This results in a further
decrease in the number of independent DOFs, which are now reduced to one, i.e.,
the orientation of the torso .
Although a number of different interpretations have been assigned to the
nature of motion during the stance and swing mode of walking, the interpreta-
tion discussed in this section is the simplest one of its kind. Walking is generally
learned by humans at a young age, and this suggests that walking patterns are
stored in the brain and commanded as required. The net result is that the complex
seven-DOF dynamic model is reduced to one with just one DOF.
12.2.2 Dynamic Balance during Walking: The Zero-Moment Point
We now turn our attention to the issue of dynamic balance during walking. First, we
need to establish the condition for dynamic balance of a typical multibody kinematic
chain of the type illustrated in Figure 12.1. The condition of dynamic balance may be
stated in terms of two or more generic points. The rst of these is the zero-moment
point, which is dened as that point on the ground plane at which the net moment
of the inertial and gravity forces acting on the kinematic chain has no components
along the axes parallel to the ground plane. For a typical kinematic chain composed
of a number of rigid bodies with both mass and mment of the inertia, the zero-
moment point must satisfy the condition

i
(r
i
r
zmp
) m
i
(a
i
g) +I
i

i
+
i
I
i

i
= [ 0 0 T
z
]
T
, (12.33)
278 Biomimetic Motive Propulsion
where r
i
is the position vector of the center of mass of the ith body, r
zmp
is the
position vector of the zero-moment point on the ground plane, m
i
and I
i
are the
mass and moment of inertia matrix of the ith body,
i
and
i
are the angular velocity
and angular acceleration vectors of the ith body, g is the gravity vector, and T
z
may
be an arbitrary number.
Considering our model of a walking robot in Figure 12.1, we nd that the expres-
sion for the x coordinate of the zero-moment point is
x
zmp
=
m
0
( y
0
x
0
x
0
y
0
) I
0

m
0
y
0
+m
0
g +
6

i =1
m
i
( y
Li
+ y
Ri
) +2m
i
g
+
6

i =1
m
i
( y
Li
x
Li
x
Li
y
Li
+ y
Ri
x
Ri
x
Ri
y
Ri
)
m
0
y
0
+m
0
g +
6

i =1
m
i
( y
Li
+ y
Ri
) +2m
i
g
(12.34)
+
g
_
m
0
x
0
+
6

i =1
m
i
(x
Li
+ x
Ri
)
_
m
0
y
0
+m
0
g +
6

i =1
m
i
( y
Li
+ y
Ri
] +2m
i
g
.
In the case of the simplied model in Figure 12.2, the same expression holds but
the summations run from i = 1 to i = 2.
To derive the condition the zero-moment point must satisfy for dynamic balance
and observing that at the ground contact points the resultant reaction forces and
moments act on the foot and the direction of the resultant moment is orthogonal
to the ground plane. For simplicity we assume that the reaction moments are equal
to zero. Thus the rate of change of moment of momentum in the case in which the
robot is supported by two legs in contact with the ground plane must satisfy the
moment equilibrium condition:
(r
L
r
zmp
) F
L
+(r
R
r
zmp
) F
R
=
_

i
_
r
i
r
zmp
_
m
i
(a
i
g) +I
i

i
+
i
I
i

i
_
(12.35)
= [ 0 0 T
z
]
T
,
where F
L
and F
R
are the reaction force vectors in which the left and right feet are in
contact with the ground and r
L
and r
R
are the corresponding position vectors of the
ground contact points. Thus it follows that the zero-moment point must necessarily
lie within the two footprints.
In the case in which the robot is supported by a single leg in rolling contact with
the ground, the zero-moment point is not stationary but passes through the ground
contact point of the supporting leg, so balance is regained when the robot returns to
the double-leg-support conguration.
12.2 Dynamics and Balance of Walking Biped Robots 279
Last but not least, the arms are in out-of-phase motion relative to the legs, and
this facilitates the synchronous motion of the zero-moment point relative to the
points in contact with the ground so balance is continually maintained.
Assuming that the biped robot is walking with its body steady and with a uni-
form velocity, we require that
x
zmp
= V, (12.36)
where V is constant. The preceding requirement may be viewed as a constraint on
and may be replaced with the simpler constraint equation given by
= 0. (12.37)
Now all that remains is to determine the joint control torques, M
0
, M
1
, M
2
, and
M
3
so balance is always maintained. One approach to determining these control
torques is to dene the desired dynamic motion of x
zmp
. With this in mind we dene
x
SP
as the geometric center of the footprint polygon. In the case of a single support-
ing leg,
x
SP
= x
LG
(12.38)
when the supporting leg is the left leg;
x
SP
= x
RG
(12.39)
when the supporting leg is the right leg; and
x
SP
= (x
LG
+ x
RG
) /2 (12.40)
when both legs are supporting the body. To obtain the joint control torques, we may
choose the control law to minimize the performance index given by
J =
_
t
0
(x
zmp
x
SP
)
2
dt +
_
t
0
u
T
(t ) Ru(t ) dt , (12.41)
where
u
T
(t ) = [ M
1
M
2
M
3
M
4
]. (12.42)
Such a control law would ensure that x
zmp
is always to x
SP
and thus ensure
balance of the walking robot.
12.2.3 Half-Model for a Quadruped Robot: Dynamics and Control
Quadruped mammals are endowed with articulated legs that are capable of exe-
cuting a greater variety of walking and running gaits and, in particular, are able to
retract the swing leg whenever there is the possibility of accidentally kicking the
ground, leading to toe stubbing.
A relatively simple, planar, half-model known as the SCOUT has been devel-
oped by researchers at McGill University in Canada to demonstrate some of the
basic features of the walking gaits of quadrupeds.
280 Biomimetic Motive Propulsion
2L
h
h

f
C
H
f
H
b
(x
bt
,y
bt
)
y
x
y
0
x
0

walking direction
m
0
,I
0
m
1
m
1
Figure 12.4. Planar kinematic chain half-model of a quadruped with ve DOFs.
Understanding the kinematics and dynamics of such a half-model is the rst
step in synthesizing a more complex four-legged model involving multiple DOFs.
This simple model is illustrated in Figure 12.4.
To establish the governing equations of motion and the appropriate constraint
equations, we need the Cartesian velocities of the centers of mass of the two legs as
well as the angular velocity of the main body. The Cartesian coordinates dening
the locations of the hip joints are
x
Hf
= x
0
+ Lcos , y
Hf
= y
0
+ Lsin, (12.43)
x
Hb
= x
0
Lcos , y
Hb
= y
0
Lsin. (12.44)
The Cartesian coordinates dening of the locations of the centers of mass of the
front and back legs are respectively given by
x
f l
= x
0
+ Lcos +r
1
cos (
f
+) , (12.45)
y
f l
= y
0
+ Lsin r
1
sin(
f
+) , (12.46)
x
bl
= x
0
Lcos +r
1
cos (
b
) , (12.47)
y
bl
= y
0
Lsin r
1
sin(
f
) , (12.48)
where r
1
is the distance of the leg center of mass from the hip joint. The Cartesian
coordinates dening of the locations of toes of the front and back legs are respec-
tively given by
x
f t
= x
0
+ Lcos +hcos (
f
+) , (12.49)
y
f t
= y
0
+ Lsin hsin(
f
+) , (12.50)
x
bt
= x
0
Lcos +hcos (
b
) , (12.51)
y
bt
= y
0
Lsin hsin(
f
) , (12.52)
where h is the height of each leg.
12.3 Modeling Bird Flight: Robot Manipulators in Free Flight 281
walking direction
1 2 3
4 5
6 7 8
Figure 12.5. Sequence of leg postures to illustrate a quadruped half-model walking forward.
The dynamical equations and the constraints may now be established by the
methods outlined in the preceding section. Moreover, because the robot is always
supported on at least one leg, the DOFs reduce to ,
f
, and
b
. The latter two
angles are specied when the robot is in locomotion, and consequently the only
remaining DOF is . Figure 12.5 depicts a sequence of leg postures as the robot is
walking from an initial standing position.
The entire walking sequence consists of seven phases beyond the standing pos-
ture. In the gure, the robot starts fromthe initial standing position in the rst phase.
It then raises the front leg, swings it forward, lands the front leg on the ground,
raises the back leg, swings it forward, lands the back leg, and nally repeats phases
two through to eight in a rhythmic periodic manner to achieve forward locomotion
at a uniform pace. The desired leg positions, determined by angles
f
and
b
, are
acquired and stored as patterns by a process of learning and practice rather than by
deliberate optimization every time the robot decides to walk.
12.3 Modeling Bird Flight: Robot Manipulators in Free Flight
The unique characteristics of bird ight are found in its motion dynamics, which to
a large extent are inuenced by aerodynamic lift and propulsive forces. Moreover,
the dynamics of bird ight is unique on its own. The wings are made up of several
hundred feathers that are controlled and coordinated so as to produce the desired
aerodynamic lift and propulsive forces. Typically the resulting wing motion of a bird
282 Biomimetic Motive Propulsion
Figure 12.6. Model of a bird in ight with articu-
lated wing joints.
will generally consist of four fundamental motions: (1) apping motion in a vertical
plane, (2) leadlag motion, which denotes a posterior and anterior motion in the
horizontal plane, (3) feathering motion, which denotes a twisting motion of the wing
pitch, and (4) spanning motion, which denotes an alternately extending and con-
tracting motion of the wing span. Flappingtranslation involves a combination of
the rst three modes. A simple model incorporating these capabilities is illustrated
in Figure 12.6, in which the wingbody joints are capable of apping, feathering, and
leadlag motion.
The motion of the body of the bird is a consequence of the reaction forces and
torques acting on the body. Thus the reactions of the wings that are attached to
the body by a number of revolute joints result in a coupling between the motion
of the birds body and its wings. Thus it is often necessary that the net reaction
forces and torques acting on the body be completely balanced. The balance of the
reaction forces and torques acting on the body will ensure that the ight is steady
and uniform. This principle has been applied to manipulators attached to a free-
ying space vehicle, and we consider this particular application in some detail in
this section.
12.3.1 Dynamics of a Free-Flying Space Robot
We consider a typical free-ying space vehicle to which are attached at least two
or more manipulators or inertial controllers such as a momentum wheel, a reac-
tion wheel, or a control moment gyroscope distributed symmetrically relative to the
space vehicles body, as illustrated in Figure 12.7. The free-ying space vehicle and
the attached manipulators and controllers may be considered a multibody system.
The governing equations of motion may in general be expressed in the form

I
bb
(
i
) I
bm
(
i
) I
bn
(
i
)
I
T
bm
(
i
) I
mm
(
i
) 0
I
T
bn
(
i
) 0 I
nn
(
i
)

x
b

c
b
c
m
c
n

F
b

J
T
b
J
T
m
J
T
n

F
e
, (12.53)
Figure 12.7. A free-ying space vehicle with attached mani-
pulators.
12.3 Modeling Bird Flight: Robot Manipulators in Free Flight 283
where we choose the linear and angular velocity of the space vehicles base body,
x
b
=
_
v
T
b

T
b
_
T
, (12.54)
and the manipulator joint angles
i
as the generalized coordinates. Furthermore,
I
bb
(
i
) is the inertia matrix of the base, I
mm
(
i
) is the inertia matrix of the manip-
ulators and controllers on one side of the space vehicle, which we refer to as the m
group of manipulators, I
nn
(
i
) is the inertia matrix of the remaining manipulators
and controllers, which we refer to as the n group of manipulators, I
bm
(
i
) and I
bn
(
i
)
are the inertia coupling matrices responsible for linearly coupling the angular and
linear acceleration of the m group and the n group of manipulators and controllers
to that of the main body, c
b
(
i
,

j
), c
m
(
i
,

j
), and c
n
(
i
,

j
) are the Coriolis and
gyroscopic forces and torques in the body and manipulator equations of motion,
and
m
and
n
are the joint angles corresponding to the m group and the n group of
manipulators and controllers, respectively.
The space vehicle is generally in a freely oating mode for considerable lengths
of time as, in this case, the external forces and torques acting on the space vehicles
body and those acting on the manipulators end-effectors are assumed to be zero,
i.e., F
b
= 0 and F
e
= 0. Thus the motion of the entire system is governed only by the
internal forces and torques acting on the manipulator joints
m
and
n
. Consequently
it follows that the linear and angular momenta of the system are constant. Hence,
[ P
T
L
T
]
T
= I
bb
x
b
+ I
bm

m
+ I
bn

n
, (12.55)
where P is the linear momentum and L is the moment of momentum.
The upper set of these conservation equations dened in Equations (12.55) cor-
responds to the conservation of linear momentum. Generally, they may be inte-
grated to obtain the equations determining the position of the origin of the body
coordinate frame. The lower set of equations in Equations (12.55) corresponds to
the conservation of moment of momentum. These equations cannot, in general, be
integrated any further and provide a nonholonomic constraint. The linear velocity
of the space vehicles base body x
b
may be eliminated from these equations and they
may be expressed in terms of the angular velocity of the space vehicles base body

b
as
L
0
=

I
bb

b
+

I
bm

m
+

I
bn

n
, (12.56)
where L
0
is the initial moment of momentum. The rst term is the moment of
momentum of the space vehicles base body, and the latter two terms are the con-
tributions to L
0
from the two groups of manipulators. Assuming that the angular
velocity of the space vehicles base body
b
and the manipulator joint velocities

m
and

n
are evaluated initially,
L
0
=

I
bb

b0
+

I
bm

m0
+

I
bn

n0
, (12.57)
any perturbations to the initial velocities
b0
,

m0
, and

n0
must satisfy the constraint

I
bb

b
+

I
bm

m
+

I
bn

n
= 0. (12.58)
284 Biomimetic Motive Propulsion
Similarly the linear velocity perturbations satisfy the constraints
I
bb
x
b
+ I
bm

m
+ I
bn

n
= 0. (12.59)
Constraint equations (12.58) and (12.59) are used to eliminate the variables x
b
and
b
from the kinematic and dynamic relations.
Consider, for example, the incremental change in the translational velocity of
the end-effector that is due to changes in the space vehicles base body velocity x
b
and in the manipulator joint velocities

m
and

n
, which can be expressed in
terms of the Jacobian matrices as
x
e
= J
b
x
b
+ J
m

m
+ J
n

n
. (12.60)
Eliminating x
b
from Equations (12.59) and (12.60) yields
x
e
=
_ _
J
m
J
b
I
1
bb
I
bm
_ _
J
n
J
b
I
1
bb
I
bn
__
_

n
_
= J
G
_

n
_
. (12.61)
The matrix J
G
is known as the free-ight Jacobian or generalized Jacobian of
the manipulator and allows one to directly express the end-effectors translational
velocities in terms of the joint angles.
12.3.2 Controlling a Free-Flying Space Robot
One of the practical control problems associated with these types of space-vehicle-
based manipulators is the ability to move the manipulators arms in space without
affecting the attitude of the space vehicles base body. In this case we require that

b
= 0. (12.62)
Consequently constraint (12.58) reduces to

I
bm

m
+

I
bn

n
= 0. (12.63)
When constraint equation (12.63) is satised exactly, we require that

m
=

I
1
bm

I
bn

n
, (12.64)
provided

I
bm
is invertible. When

I
bn
=

I
bm
G, (12.65)
constraint (12.63) may be expressed as

m
= G

n
, (12.66)
which has the structure of a feedback-control law.
Alternatively one could minimize a performance index dened as
J =
_
t
0
(

I
bm

m
+

I
bn

n
)
2
dt +
_
t
0
u
T
(t ) Ru(t ) dt , (12.67)
12.4 Flapping Propulsion of Aerial Vehicles 285
where u(t ) is the vector of control torques acting at the manipulator joints. When
this is done the space vehicles base body angular velocity remains almost constant
but is not exactly maintained at a steady value.
12.4 Flapping Propulsion of Aerial Vehicles
Probably the most well-known application of apping propulsion is the Ornithopter,
an aircraft that is heavier than air and ies by apping its wings. The discovery that
apping wings produce both thrust and lift was made in the early part of the 20th
century. It was rst predicted by considerations of the physical phenomenon of the
vortices shed by a wing in an aerodynamic ow and subsequently veried experi-
mentally. The rst theoretical prediction of the thrust or drag production that is due
to the appearance of a vortex street behind a apping wing appeared in the 1930s. It
was postulated that a clockwise rotation structure of the row of vortices above the
middle plane and an anticlockwise rotation structure of the rowof vortices belowthe
middle plane, when the ow is going from left to right, was characteristically associ-
ated with drag production. On the other hand, an anticlockwise rotation structure of
the row of vortices above the middle plane and clockwise rotation structure of the
row of vortices below the middle plane was characteristically associated with thrust
production. The vorticity is necessary to generate thrust by transferring momentum
from the aerofoil to the uid. In the late 1930s, shortly after compact formulas for
estimating the lift force and aerodynamic moment acting on a thin aerofoil in a low-
speed ow were developed in terms of the celebrated Theodorsen function C(k),
where k is the nondimensional reduced frequency of oscillation of the aerofoil, a
theory for the calculation of the associated thrust was proposed by Garrick.
1
Gar-
rick was able to show that, in an inviscid incompressible ow, a positive thrust is
generated for all plunging motions with the efciency of energy conversion from
that needed to maintain the oscillations to a propulsive thrust being 100% at low
frequencies approaching zero. However, Garrick also found the magnitude of the
thrust to be proportional to the square of the frequency, although the propulsive
efciency was found to reduce asymptotically to 50% as the frequencies approached
innity.
The wings of an Ornithopter behave differently in the downstroke and in the
upstroke. The periodic variation of the lift normal to the equivalent total velocity
results in a small mean component of thrust in the direction of ight. The net mean
thrust increases when more thrust is produced during the downstroke relative to the
drag in the upstroke.
The laminar ow aerodynamics of aerial vehicles with apping wings resem-
bles that of birds and insects more than the traditional human-piloted aircraft we
are familiar with. The small size of insects, which do not glide like large birds,
causes them instead to ap with considerable change of wing shape during a single
1
Garrick, I. E. (1937). Propulsion of a Flapping and Oscillating Aerofoil, NACA Report No. 567.
National Advisory Committee for Aeronautics.
286 Biomimetic Motive Propulsion
apping cycle. Insects and small birds overcome a deteriorating aerodynamic per-
formance under steady ow conditions at low characteristic Reynolds numbers by
using unsteady mechanisms of apping and exible wings. In bird and insect ight,
apping motion does not take place in a plane. In the case of an insect, when the
apping is in fact most efcient, the wings are attached to the thorax. The thorax is
packed with a number of ight muscles together with various other mechanisms for
coupling and operating the wings. An insect is able to control the apping mecha-
nism from here to carry out almost any aerial maneuver. The thorax can be consid-
ered simply as an elastic box with a lid (called the tergal plate) on top.
Two types of apping mechanisms, direct and indirect, may be identied in most
ying insects. The direct-apping mechanism is found in dragonies and grasshop-
pers, and in this case the muscles driving the apping wings are attached directly
to a pair of wing levers on each side of a pivot. Alternating contraction of these
levers is responsible for the generation of the apping oscillations. In such a mech-
anism, the amplitude of apping oscillation can be varied independently for each
wing. The indirect-apping mechanism is found in bees and ies, and in this case
there are two pairs of muscles or links connected to the walls of the thorax. They
are not attached near the wings base as in a direct mechanism. Rather, the apping
motion is brought about by the up-and-down motion of the tergal plate. In both
cases the mechanisms are spatial in nature, and consequently, during one cycle of
apping, the wings undergo spanwise twisting and leadlag motion, which modies
the relative angle of attack so as to continuously generate optimum ratios of lift and
thrust.
The thrust-producing capabilities of aerofoils oscillating relative to a ow have
led to proposals for energy extraction such as the Wells turbine for extracting
energy from the ocean waves and the McKinneyDeLaurier wingmill for extract-
ing energy from the wind. In the Wells turbine the basic idea, as a consequence
of the Katzmayr or KnollerBetz effect, was to extract energy from an oscillating
stream. The Wells turbine, named after its inventor Alan Wells, is a special type of
turbine, capable of maintaining constant direction of rotation although the airow
passing through it is oscillating. The latter proposal was, however, based on the phe-
nomenon of utter in aerofoils, which is well known to hydronautical and aeronau-
tical engineers. When an aerofoil is free to oscillate in both plunging and pitching or
feathering modes in a ow, then, under certain conditions, power is transferred from
the ow to the aerofoil, as it is capable of performing sustained oscillations in the
ow. In the case of an aircraft this transfer of power to an oscillating wing can lead
to sustained and undesirable uttering oscillations that in turn can lead to disastrous
structural failure. In a wingmill this phenomenon is exploited to draw power from
the ow with efciencies that are comparable to those of conventional windmills.
Theodorsen
2
was able provide closed-form expressions for the frequency-
dependent aerodynamic lift and aerodynamic moment acting on a at-plate aerofoil
2
Theodorsen, T. (1935). General theory of aerodynamic instability and the mechanism of utter,
NACA Report No. 496. National Advisory Committee for Aeronautics.
12.4 Flapping Propulsion of Aerial Vehicles 287

h
ba
b b
x
y
Figure 12.8. Illustration of a typical aerofoil sec-
tion, showing the plunging and pitching DOFs at
the pivot point.
oscillating sinusoidally in both plunge and pitch modes and shedding vortices in
accordance with Kelvins theorem in uid mechanics. In Theodorsens analysis it
was assumed that the ow was both inviscid and incompressible so the unsteady
velocity distribution can be expressed as the gradient of a potential, which satis-
es a Laplace equation. The oscillations were assumed to be of small amplitude,
so the expressions for the pressure, obtained from the Bernoulli equation for total
energy, can be linearized. The ow was assumed to be fully attached during the
oscillations. To ensure there are no discontinuities at the trailing edge, the Kutta
condition requiring a smooth ow at the trailing edge is imposed. As this analysis
is the basis for the derivation of the thrust that is due to a apping wing, its main
features are now highlighted.
12.4.1 Unsteady Aerodynamics of an Aerofoil
Consider a typical section of a two-dimensional wing extending in both directions
to innity. The DOFs and geometry of the aerofoil, which is idealized as a at plate,
are shown in Figure 12.8.
Theodorsens most signicant contribution was the fact that he modeled the
shed vortex street behind the trailing edge as a continuous, plane, two-dimensional,
vortex sheet with distributed vorticity and stretching from the trailing edge to an
innite distance behind the wing. The shape of the vortex sheet is assumed to be
steady. To simplify the analysis, the vortex sheet is constrained to remain on the
horizontal plane along its entire length and the shape of the vortex-sheet model is
not allowed to evolve in response to the velocities self-induced by the vortex sheet.
The aerofoil is assumed to be suspended in a free stream with the ow velocity
being in the positive x direction far ahead of the aerofoil, uniform, steady, and equal
to U. It is assumed to be at an angle of attack to the ow eld, and the plunge
displacement is denoted as h, as illustrated in Figure 12.8. The semichord of the
aerofoil is assumed to be b, and the pivot point is assumed to be a semichords aft
of the midchord. The reference frame is assumed to be attached to the aerofoil at
midchord. The velocity vector of the ow eld is dened by
V = (U +u) i +vj +wk, (12.68)
where u, v, and w are the local perturbation velocity components of the uniform
far-eld ow velocity, U. A perturbation velocity potential is then dened by
(u v w) = =
_

x

z
_
, (12.69)
288 Biomimetic Motive Propulsion
and the continuity relation for the conservation of mass in the case of the unsteady
ow is
D
Dt
+ () = 0. (12.70)
When the ow is incompressible, continuity equation (12.70) is
(u v w) = =

2
x
2
+

2
y
2
+

2
z
2
=
2
= 0. (12.71)
Compressible ows, based on the unsteady Bernoulli relation, in the absence of any
signicant body forces, may be expressed as

t
+
1
2
[V VU
2
] +
_
p
p

dp

= 0. (12.72)
The last integral in Equation (12.72) is simplied by recognizing that the square
of the speed of sound in the medium that is characterized by a unique pressure
density relationship in the entire ow eld is,
a
2
=
_
p

_
s=c
=
dp
d
=
p

. (12.73)
Hence it follows that
d(a
2
) = d
_
p

_
= ( 1)
dp

. (12.74)
Thus the last integral in Bernoulli relation (12.72) may then be evaluated and
expressed as
_
p
p

dp

=
_
a
2
a
2

d(a
2
)
( 1)
=
1
( 1)
_
a
2
a
2

_
. (12.75)
It may also be shown that
D
Dt
_
p
p

dp

=
a
2

D
Dt
. (12.76)
Thus from Equation (12.70) the equation for the velocity potential may be
expressed as

2

1
a
2
_

t
2
+

t
(V V) +
1
2
V (V V)
_
= 0. (12.77)
In the case of incompressible ows, the perturbation pressure differential with
reference to the free-stream (far-eld) pressure p

satises the Bernoulli relation


_
p
p

dp

t

1
2
[V VU
2
],
and may be expressed as
p p

0.5U
2
=
p
0.5U
2
=
1
U
2
_

t
+U

x
_
. (12.78)
12.4 Flapping Propulsion of Aerial Vehicles 289
The pressure is integrated around the aerofoil surface to obtain the forces and
moments. In the case of a at-plate-type aerofoil surface, the aerodynamic forces
and moments are also obtained by evaluating the pressure distribution across the
aerofoil surface.
The solution for the velocity potential is essential for obtaining the pressure
distribution across the wing. The boundary conditions that must be imposed on the
velocity distributions play a vital role in determining the pressure distribution. The
principal boundary conditions are as follows:
1. The normal component of the ow velocity across the aerofoil surface must nec-
essarily be equal to zero as any ow across the surface is physically impossible.
2. The KuttaJoukowsky condition requires that the ow velocity be nite at the
trailing edge. This ensures that the pressure differential across the wake is zero.
Assuming the ow to be incompressible implies that a = , and this reduces
the governing equation for the velocity potential to the Laplace equation,

2
= 0. (12.79)
One approach to solving for the velocity potential and hence the velocity distri-
bution is to assume that the at-plate aerofoil is replaced with a sheet of distributed
vorticity. The vorticity is assumed to extend behind the wing to innity, where it
represents the wake that is also modeled as a planar vortex sheet, as explained ear-
lier. A sheet of vortices can support a jump in tangential velocity (i.e., a force), while
the normal velocity is continuous. This is the main reason for using a vortex sheet to
represent a lifting surface.
Vortex ow is also as a form of potential ow, as it satises the Laplace equa-
tion. We may express the potential that is due to any such point vortex (in a cylin-
drical reference frame centered at the vortex source) at point j as

j
= (
j
/2) . (12.80)
Then, we can nd the velocity induced by the vortex at any point in the ow
eld by taking the gradient of the potential:
v
j
=
j
= (

k/2r
j
)
j
, (12.81)
where r
j
is the distance from the center of the vortex and
j
is the vortex strength.
This type of source has proved particularly useful for approximating the ow
over aerofoils because it automatically satises the far-eld boundary condition of
Laplaces equation, which allows us to decompose the potential into two compo-
nents: the potential that is due to the interaction of all the bound vortices and the
potential at innity. We also know that a two-dimensional vortex singularity satis-
es Laplaces equation (i.e., a point vortex). Thus all that remains to be satised is
the boundary condition on the surface of the aerofoil.
The aerofoil boundary condition can then be expressed as the sum of the
induced velocity that is due to a sheet of vortices bound to the aerofoil surface,
approximated as a at plate, and the induced velocity on the aerofoil surface that is
290 Biomimetic Motive Propulsion
due to the free vortices in the wake must equal the aerofoil surface velocity. Thus,
w
a
= w
b
+
wake
, (12.82)
where
w
b
=
1
2
_
b
b

b
x
d,
wake
=
1
2
_

b

b
x
d, (12.83)
w
a
is the aerofoil surface velocity,
b
is the strength of the distributed vortices that
satises

b
(x, t ) = 2
x
(x, 0+, t ) = 2u(x, 0+, t ) , (12.84)
and (x, z, t ) is the corresponding velocity potential that satises the Laplace equa-
tion, (12.79).
Assuming that u U, the velocity of the free stream far ahead of the aerofoil,
and that v

= 0, we obtain the nondimensional relation on the aerofoil surface, z =
z
a
(x, y, t ),
w
a
=
w
U

z=z
a
=
_

t
+U

x
_
z
a
(x, y, t )
U
. (12.85)
Thus,
1
2
_
b
b

b
x
d = w
a

wake
. (12.86)
Integrating the vortex ux from x = b to x, we obtain the partial circulation
given by
(x, t ) =
_
x
b

b
(, t ) d = 2
_
x
b

(, z, t )

z=z
a
=0+
d
and
(x, t ) = 2 (x, 0+, t ) . (12.87)
The velocity potential (x, z, t ) is related to the nondimensional pressure coef-
cient by
C
p
=
p
(1/2) U
2
= 2
_

x
+
1
U

t
_
(x, z, t ) . (12.88)
Thus, across the wake, as one would expect no pressure differential, for x b,
z = +0, and
C
p
=
p
(1/2) U
2
= 2
_

x
+
1
U

t
_
(x, z, t ) = 0. (12.89)
It follows that, on the wake surface,
(x, 0+, t ) = [b, 0+, t (x b)/U] , (12.90)
and consequently on the wake surface,
(x, t ) = [b, t (x b)/U] . (12.91)
12.4 Flapping Propulsion of Aerial Vehicles 291
Equation (12.91) reduces to the full circulation (b, t ) when x = b, and for x
b, z = +0,

b
(x, t ) =
1
U


t
[b, t (x b)/U] . (12.92)
Hence, observe that the wake-induced velocity may be expressed as

wake
=
1
2
_

b

b
x
d =
1
2U
_

b
d
x


t
[b, t ( b)/U]. (12.93)
If we assume that the full circulation is sinusoidal, i.e.,
(b, t ) =

(b) exp (i t ) , (x, t ) = (b, t ) exp [i (x b)/U] , (12.94)
then it follows that

wake
=
1
2U
_

b
1
x


t
[b, t (x b)/U] d
(12.95)
=
i b
U
(b, t )
2b
_

b
exp
_
i (b/U) [( b)/b]
_
x
d.
To evaluate

(b), consider the integral equation solution for
b
obtained from
Equations (12.83) and given by

b
=
2

_
b x
b + x
_
+b
b
_
b +
b
w
a

wake
x
d (12.96)
and
(b, t ) =
_
b
b

b
(, t ) d =
2

_
b
b
_
_
b +
b
_
(w
a

wake
)
_
+b
b
_
b x
b + x
1
x
dxd,
or
(b, t ) =
_
b
b

b
(, t ) d = 2
_
b
b
_
b +
b
(w
a

wake
) d. (12.97)
If we let
Q=
1

_
b
b
_
b +
b
w
a
d, (12.98)
then it follows from the solution for
wake
that
2Q= (b, t ) +2
_
b
b
_
b +
b

wake
d = (b, t )
_
1
2i kI
b
_
, (12.99)
where the integral I is
I =
1
2
_

b
exp
_
i (b/U) [( b)/b]
_
_
_
+b
b
_
b x
b + x
1
x
dx
_
d, > b,
292 Biomimetic Motive Propulsion
which may be evaluated as
I =
b
2i k
_
1 +
i k
2
exp (i k)
_
H
(2)
1
(k) +i H
(2)
0
(k)
_
_
.
Hence,
(b, t ) =
4 exp (i k) Q
i k
_
H
(2)
1
(k) +i H
(2)
0
(k)
_
. (12.100)
The solution for the distributed vortex strength
b
is now known, and the solu-
tion for the nondimensional pressure coefcient may be obtained from Equations
(12.87) and (12.89). If we let the amplitude of the downwash velocity be sinusoidal,
w
a
(x, t ) = w
a
(x) exp(i t ) , (12.101)
we may show that
3
C
p
(x) =
4

_
b x
b + x
_
b
b
_
b + x
1
b x
1
w
a
(x
1
)
x x
1
dx
1
+
4i
U
_
(b
2
x
2
)
_
b
b
_
1
b
2
x
2
1
p
a
(x
1
)
x x
1
dx
1
(12.102)
+
4
b
[1 C(k)]
_
b x
b + x
_
b
b
_
b + x
1
b x
1
w
a
(x
1
) dx
1
,
where the reduced frequency k is related to the circular frequency of sinusoidal
oscillations by the relation k = b/U, and
p
a
(x) =
_
x
b
w
a
(x
1
) dx
1
, C(k) =
_

2
1
e
i k
d
_

1
+1

2
1
e
i k
d
,
which reduces to,
C(k) =
K
1
(i k)
K
1
(i k) + K
0
(i k)
=
H
(2)
1
(k)
H
(2)
1
(k) +i H
(2)
0
(k)
. (12.103)
Hence the amplitudes of the nondimensional lift and pitching moment about
the midchord line are

L
1
2
U
2
b
=
4C(k)
b
_
b
b
_
b + x
1
b x
1
w
a
(x
1
) dx
1

4i k
b
2
_
b
b
_
b
2
x
2
1
w
a
(x
1
) dx
1
,
(12.104)
3
See, for example, Ashley, H. and Landahl, M. T. (1965). Aerodynamics of Wings and Bodies,
Addison-Wesley, Reading, MA, Chapter 10. [Also available as a Dover paperback from Dover
Publications, New York.]
12.4 Flapping Propulsion of Aerial Vehicles 293
Table 12.2. Values of the Theodorsen
function, C(k) = F(k) + i G(k)
K F(k) G(k)
0 1.000 0.0
0.05 0.909 0.130
0.10 0.832 0.172
0.20 0.728 0.189
0.30 0.665 0.179
0.40 0.625 0.165
0.50 0.598 0.151
0.60 0.579 0.138
0.80 0.554 0.116
1.00 0.539 0.100
1.20 0.530 0.088
1.50 0.521 0.0736
2.00 0.513 0.0577
4.00 0.504 0.0305
6.00 0.502 0.0206
10.00 0.501 0.0124
0.5 0.0

M
0.5U
2
(2b
2
)
=
1
b
_
b
b
_
_
b + x
1
b x
1

2
b
_
b
2
x
2
1
_
w
a
(x
1
) dx
1
+
C(k)
b
_
b
b
_
b + x
1
b x
1
w
a
(x
1
) dx
1
(12.105)

i
U
_
b
b
__
1
b
2
x
2
1

2
b
_
b
2
x
2
1
_
p
a
(x
1
) dx
1
,
respectively.
Theodorsen was able to evaluate the effect of the wake on a wing in a very con-
cise manner, which he expressed in terms of the function C(k), where the parameter
k is referred to as the reduced frequency. It arises from the circulation terms result-
ing from the wake and is a complex function of the scaled or reduced frequency of
vibration.
Theodorsen, who introduced the function, expressed it in terms of complex
Bessel functions of the rst and second kinds as well as in terms of Hankel func-
tions. Separating the real and imaginary parts, we may write C(k) as
C(k) = F(k) +i G(k), (12.106)
and typical numerical values are tabulated in Table 12.2. The reduced frequency k
is also related to the Strouhal number, which is dened as
St = fA/U = A/2U = k(A/2b), (12.107)
where A is the amplitude of motion of the aerofoil either at the trailing edge or at
any other signicant point on the aerofoil surface.
294 Biomimetic Motive Propulsion
In practice it is quite common to use a rational function approximation of the
Theodorsen function, given by
C(k) =
0.5 (i k)
2
+0.2813 i k +0.01365
(i k)
2
+0.3455 i k +0.01365
. (12.108)
12.4.2 Generation of Thrust
An important parameter in the design of apping mechanisms is the efciency of
the conversion of the average work done in unit time to maintain oscillations against
the generalized force and moments acting on the aerofoil into thrust or propulsive
energy. We therefore consider the calculation of this average work done in unit
time and the propulsive thrust generated by a apping wing. To generalize the orig-
inal expressions derived by Garrick for the propulsive thrust, the previously men-
tioned average work done in unit time, and the rate of kinetic energy transfer to the
wake, we consider an aerofoil oscillating in a generalized mode shape. The aerofoil
motion is described in terms of a nite number of assumed mode shapes,
i
(), i =2,
3, . . . , N, where is a nondimensional coordinate directed toward the trailing edge
of the ap and the corresponding modal displacement amplitudes q
i
. The vertical
downward displacement of any mass point in the section is then given as
v =
N

i =1
q
i
(t ) z
i
() = b
N

i =1
q
i
(t )
i
(), (12.109)
where the rst two modes are assumed to be the plunging and pitching modes
dened as

1
() = 1,
2
() = a. (12.110)
Although nondimensional, the parameters that determine the pressure coef-
cient are not nondimensional. To nondimensionalize all the parameters that inu-
ence the preceding expression for C
p
(x), we dene nondimensional quantities in
terms of = x/b, which is itself nondimensional. Thus the downwash amplitude in
the ith mode is dened by
w
i
(
1
) = w
i
(x
1
/b) = w
a
(x
1
) . (12.111)
The integral quantity
p
a
(x) =
_
x
b
w
a
(x
1
) dx
1
= b
_
x/b
1
w
a
(x
1
) d
_
x
1
b
_
= b
_
x/b
1
w
i
(x
1
/b) d
_
x
1
b
_
,
i.e.,
p
a
(x) = b p
i
() , with p
i
() =
_

1
w
i
(
1
) d
1
. (12.112)
The quantity w
i
(
1
) representing the nondimensional downwash is then related
to the physical modal displacement z
i
and the nondimensional modal displacement
12.4 Flapping Propulsion of Aerial Vehicles 295

i
() by
w
i
() =
1
U
_
i +U

x
_
z
i
=
_
i b
U
+

(x/b)
_
z
i
b
=
_
i k +
d
d
_

i
() .
(12.113)
The generalized modal pressure coefcient in the jth mode is
C
j
p
() =
4

_
1
1 +
_
1
1
_
1 +
1
1
1
w
j
(
1
)

1
d
1
+
4i k

_
1
2
_
1
1
_
1
1
2
1
p
j
(
1
)

1
d
1
(12.114)
+
4

[1 C(k)]
_
1
1 +
_
1
1
_
1 +
1
1
1
w
i
(
1
) d
1
.
To estimate the average work done in unit time to maintain oscillations against
the generalized force acting on the aerofoil, we use the expression for the gener-
alized modal pressure coefcient and compute the generalized forces acting on the
aerofoil corresponding to each of the assumed modes of oscillation. The general-
ized modal force coefcients may be dened in terms of the nondimensional integral
expression:
G
i j
= G
i j
(
i
,
j
) =
1
2
_
1
1
C
j
p
(
1
)
i
(
1
) d
1
. (12.115)
Performing the outer integrals rst and removing the singular part of the
principal-value integrals reduces (12.115) to the double-integral expression given by
G
i j
= G
i j
(
i
,
j
) =
2

2
_
1
1
_
1
1
2
1
w
j
(
1
) I
1
(
1
) d
1
+
2i k

2
_
1
1
_
1
1
2
1
p
j
(
1
) I
2
(
1
) d
1
+[1 C(k)]

_
1

_
1
1
_
1
1
2
1
w
j
(
1
) (1 +
1
) d
1
__
2

_
1
1
_
1
1
2

i
() (1 ) d
_
,
(12.116)
where
I
1
(
1
) =
i
(
1
)
_
1
2
1
_
_
1
1
1
_
1
2
d

1
+(1 +
1
)
_
_
1
1
_
1
1
2
[
i
() (1 )
i
(
1
) (1
1
)]

1
d
_
,
296 Biomimetic Motive Propulsion
and
I
2
{
1
, c
i
) =
i
(
1
)
_
1
2
1
_
_
1
c
i
1
_
1
2
d

1
+
_
_
1
c
i
_
1
1
2
_

i
() (1
2
)
i
(
1
)
_
1
2
1
__

1
d
_
.
The total nondimensional lift and pitching moments about the midchord acting
on the airfoil are evaluated independently by use of
L
U
2
b
=
2

_
_
1
1
g (
1
) w
j
(
1
) (1 +
1
) d
1
+i k
_
1
1
g (
1
) w
j
(
1
)
_
1
2
1
_
d
1
_
+
2

_
[1 C(k)]
_
1
1
g (
1
) w
j
(
1
) (1 +
1
) d
1
_
(12.117)
and
M
0
U
2
b
2
=
2

_
_
1
1
g (
1
) w
j
(
1
)
_
1
2
1
_
d
1
+i k
_
1
1
g (
1
)
_
1
2

2
1
_
p
j
(x
1
) dx
1
_

_
1
2
[1 C(k)]
_
1
1
g (
1
) w
j
(
1
) (1 +
1
) d
1
_
, (12.118)
where
g (
1
) = 1/
_
1
2
1
. (12.119)
When the generalized displacements are sinusoidal, the generalized force in the
ith mode may be expressed as
G
i
= U
2
b
2
N

j =1
G
i j
q
j
(t ) = U
2
b
2
N

j =1
G
i j
q
j 0
exp (i t ). (12.120)
We assume that the generalized displacements are of the form
q
j
(t ) = q
j 0
sin(t +
j
) . (12.121)
The corresponding expression for the generalized force in the ith mode is then
given by
G
i
= U
2
b
2
N

j =1
[Re (G
i j
) sin(t +
j
) +Im(G
i j
) cos (t +
j
)] q
j 0
.
The average work done in unit time to maintain oscillations against the gener-
alized force acting on the aerofoil is

W =

2
_
2
/

0
_
N

i =1
G
i
q
i
(t )
_
dt .
12.4 Flapping Propulsion of Aerial Vehicles 297
The integral may be expressed as

W =

4
(Ub)
2
_
2
/

i =1
N

j =1
w
i j
q
j 0
q
i 0

dt , (12.122)
where
w
i j
= 2 [Re (G
i j
) sin(t +
j
) +Im(G
i j
) cos (t +
j
)] cos (t +
i
) .
Performing the integrations, we may write the average work done in unit time
to maintain oscillations against the generalized force acting on the aerofoil as

W =
_

3
b
4
k
2
_

i =1
N

j =1
W
i j
q
j 0
q
i 0

=
_

3
b
4
k
2
_
C
W
, (12.123)
where
W
i j
=
1
2
_
2
0
w
i j
d (t ) = [Re (G
i j
) sin(
i j
) Im(G
i j
) cos (
i j
)] ,
with
i j
=
i

j
.
We now consider the kinetic energy of the wake far away from the aerofoil,
which we obtain by integrating the kinetic energy of an element of mass over a
control volume that encloses the far-eld wake. Thus the kinetic energy of the wake
is give by the volume integral,
E =
1
2
_
v
_

_
_

x
_
2
+
_

z
_
2
_
dxdz =
1
2
_
S

n
dx, (12.124)
which is reduced to the surface integral over the top and bottomsurfaces of the wake
within the control volume. Thus at a point along the x axis in the far-eld wake,
E
1
= 0.5w[(x, 0
+
, t ) (x, 0

, t )], (12.125)
where w is the induced vertical velocity there. The quantity w is given by
w =
1
2
_
b
b

b
x
d
i b
U
(b, t )
2b
_

b
exp
_
i (b/U) [( b)/b]
_
x
d,
where
b
is given by Equation (12.96) and
(x, 0
+
, t ) (x, 0

, t ) =
_
x
b

b
(, t ) d = (x, t ) .
Hence the average increase in energy in the wake per unit time and the average
work done by the propulsive force P per unit time are respectively given by

E =
U
2
_
2
/

0
E
1
dt , PU =

W

E. (12.126)
Thus it can be shown that the propulsive force or thrust is
P = U
2
bS
2
+
1
2
U
2
_
b
b
C
p
z
a
(x, y, t )
x
d, (12.127)
298 Biomimetic Motive Propulsion
where the rst term represents the thrust that is due to the component of the suction
at the leading edge, directed upstream, that does not contribute to the lift. It can be
shown that the quantity S related to the vortex strength
b
and dened by
S Lt
xb
_

b + x
2

b

b
_
,
is given by
S =

b
Lt
xb
_
+b
b
_
b +
b
(w
a

wake
)
x
d. (12.128)
As easy way of evaluating S is to note that the pressure coefcient C
p
and twice
the negative strength of the vorticity distribution 2
b
approach one another at the
leading edge x = b because

(1) = 0. Hence
S = Lt
xb
_
0.5
_
_
1 + x/b
_

b
_
= Lt
xb
_
0.25
_
_
1 + x/b
_
C
p
_
. (12.129)
Thus we obtain a nondimensional generalization of the quantity S introduced by
Garrick for plunging, feathering, and ap modes, given as
S =

_
b
b
_
b + x
1
b x
1
w
a
(x
1
)
x x
1
dx
1
+

2
b
[1 C(k)]
_
b
b
_
b + x
1
b x
1
w
a
(x
1
) dx
1
.
The expression for S in a linear combination of modes dened by
w(x, t ) =
N

i =1
q
i
(t ) w
i
(x) =
N

i =1
q
j 0
exp (i t ) w
i
(x) (12.130)
is then given by the sum of the nondimensional integrals as
S =

_
1
1
_
1 +
1
1
1
w(
1
, t )

1
d
1
+

[1 C(k)]
_
1
1
_
1 + x
1
1 x
1
w(
1
, t ) d
1
.
(12.131)
By adopting the same procedure as the one adopted for evaluating

W, we may
express the average thrust generated

P when the generalized displacements are of
the form q
j
(t ) = q
j 0
sin(t +
j
) as

P =
_

2
b
3
k
2
_

i =1
N

j =1
P
i j
q
j 0
q
i 0

=
_

2
b
3
k
2
_
C
T
. (12.132)
We consider the special case of a at-plate aerofoil with a trailing-edge ap
oscillating in plunging, feathering about an axis, and the rst rigid ap mode. In this
case we obtain the same expressions for

W and

P as Garrick did.
In the case of the aerofoil oscillating in plunging (rst mode) and feathering
about an axis (second mode), they are given by
C
W
= Fk
_
h
0
b
_
2
+
_
k
2
_
1
2
a
_

_
1
2
+a
__
Fk
_
1
2
a
_
+ G
__

2
0
(12.133)
+
__
k
2
2akF + G
_
cos
21
+(F kG) sin
21
_

0
h
0
b
12.4 Flapping Propulsion of Aerial Vehicles 299
10
3
10
2
10
1
10
0
10
1
10
2
0
0.2
0.4
0.6
0.8
1
reduced frequency, k
E
f
f
i
c
i
e
n
c
y
plunging
feathering
Figure 12.9. Comparison of plunging and feathering efciencies.
and
C
T
= |C(k)|
2
_
h
0
k
b
_
2
+|C(k)|
2
_
1 +
_
1
2
a
_
2
k
2
_

2
0
+
_
k
2
4
(1 2a)
_
1 +
_
1
2
a
_
k
2
_
F
_
1
2
+a
_
Gk
_

2
0
(12.134)
+
_
2|C(k)|
2
_
1
2
a
_
k
2
+
k
2
2
Fk
2
+kG
_

0
h
0
b
cos
21
+
_
2|C(k)|
2
k +
k
2
2
Fk Gk
2
_

0
h
0
b
sin
21
,
where
21
is the phase lead of the feathering oscillation relative to the plunging oscil-
lation. It follows that the efciency in the conversion of the average work done in
unit time to maintain oscillations against the generalized force acting on the aerofoil
to propulsive thrust is given by
e =

PU/

W = C
T
/kC
W
. (12.135)
Figure 12.9 compares the energy conversion efciency e for the case of pure
apping and pure feathering about midchord. We observe that the efciency of
pure feathering about the trailing edge never exceeds the corresponding efciency
of pure plunging. It is worth noting that, for this reason, insects often use impulsive
feathering more as a switching mechanism to control the generation of thrust. The
inuence of in-plane motion is not considered as in this case the second effects are
relatively as important as the linear motion, and consequently the linear theory is
not representative of the physical situation.
12.4.3 Controlled Flapping for Flight Vehicles
From the analysis presented in the previous subsection it is apparent that pure
plunging always leads to a positive thrust coefcient that increases with frequency.
Furthermore, although the efciency of energy conversion is equal to 100% at low
frequencies of apping, it tends to fall to 50% at higher frequencies approaching
innity. Although this nding means that there is no prospect of improving the
300 Biomimetic Motive Propulsion
propulsive efciency at low frequencies, there is the possibility of improving the
propulsive efciency well beyond 50% at high frequencies by combining pure ap-
ping with other modes of oscillation, such as feathering about a xed axis and lead
lag motions in the plane of the aerofoil. In most practical situations some feathering
is unavoidable. It is natural to try to maximize the efciency of energy conversion
to thrust at all frequencies of apping while holding the average work done in unit
time to maintain oscillations against the generalized force acting on the aerofoil as
a constant.
Considering only the feathering and plunging modes, and assuming that the
feathering angle is a variable, we maximize the thrust with respect to the feathering
angle by setting the derivative of the thrust coefcient with respect to
0
to zero, i.e.,

0
C
T
= 2|C(k)|
2
_
1 +
_
1
2
a
_
2
k
2
_

0c
+2
_
k
2
4
(1 2a)
_
1 +
_
1
2
a
_
k
2
_
F
_
1
2
+a
_
Gk
_

0c
(12.136)
+
_
2|C(k)|
2
_
1
2
a
_
k
2
+
k
2
2
Fk
2
+kG
_
h
0c
b
cos
21
+
_
2|C(k)|
2
k +
k
2
2
Fk Gk
2
_
h
0c
b
sin
21
= 0.
Hence it follows that

0c
= [(K
1
cos
21
+ K
2
sin
21
)/2C
T,
] (h
0c
/b) , (12.137)
where
0c
is the amplitude of the feathering component in the optimum mode and
h
0c
is the displacement of the corresponding plunging component in the optimum
mode:
C
T,
= |C(k)|
2
_
1 +
_
1
2
a
_
2
k
2
_
(12.138)
+
_
k
2
4
(1 2a)
_
1 +
_
1
2
a
_
k
2
_
F
_
1
2
+a
_
Gk
_
,
K
1
= 2|C(k)|
2
_
1
2
a
_
k
2
+
k
2
2
Fk
2
+kG, (12.139)
K
2
= 2|C(k)|
2
k +
k
2
2
Fk Gk
2
. (12.140)
The corresponding coefcient of the average work done in unit time to maintain
oscillations against the generalized force acting on the aerofoil is
C
Wc
= Fk
_
h
0c
b
_
2
+
_
k
2
_
1
2
a
_

_
1
2
+a
__
Fk
_
1
2
a
_
+ G
__

2
0c
(12.141)
+
__
k
2
2akF + G
_
cos
21
+(F kG) sin
21
_

0c
h
0c
b
.
12.5 Underwater Propulsion and Its Control 301
10
3
10
2
10
1
10
0
10
1
5
0
5
10
reduced frequency, k
T
h
r
u
s
t

C
o
e
f
f
i
c
i
e
n
t
s
plunging
optimum coupled
Figure 12.10. Comparison of thrust in plunging and in the optimally coupled case.
To compare with the case of apping, we set this coefcient equal to the correspond-
ing coefcient for the case of pure plunging with unit amplitude to give
C
Wc
= 0.5C
Whh
Fk. (12.142)
We obtain the optimum thrust coefcient by evaluating the thrust coefcient for

0
=
0c
and h
0
= h
0c
, where we obtain h
0c
by solving Equation (12.142). The thrust
coefcient developed in the case of plunging with optimum feathering is compared
with the case of pure plunging in Figure 12.10 and is seen to approach the case of
pure apping when the reduced frequency exceeds unity.
The practical implementation of this type of plunging coupled with optimum
feathering can be realized in practice by appropriate aeroelastic tailoring. Even with
appropriate aeroelastic tailoring, the maximum possible thrust can be realized at
only one specic reduced frequency. The methodology presented here opens up the
possibility of further increasing the thrust by use of a trailing-edge ap in which the
ap is forced to satisfy a maximizing control law.
We may estimate the theoretical maximum thrust that can be developed by
using a controlled trailing-edge ap by the preceding method. The maximum thrust
is compared with that developed in pure plunging for a trailing-edge ap hinged at
midchord in Figure 12.11, which shows an increase in the thrust over a small range of
reduced frequencies. As a percentage increase, it is quite signicant as it represents
more than a 100% increase over a range of frequencies. If we now assume that the
aerofoil also feathers in the opposite direction to the ap and by half the ap angle,
so the mean camber line is always horizontal, the corresponding thrust coefcients
are as in Figure 12.12. The gure shows that any change in the local angle of attack
at the leading edge tends to have a detrimental effect on the thrust generated.
12.5 Underwater Propulsion and Its Control
Whereas apping propulsion in birds involves the generation of thrust accompanied
by a signicant lift force, sh normally operate in a state of neutral buoyancy and not
only generate thrust but also minimize both skin friction and form drag. In 1936 Sir
302 Biomimetic Motive Propulsion
10
3
10
2
10
1
10
0
0.5
0
0.5
reduced frequency, k
T
h
r
u
s
t

C
o
e
f
f
i
c
i
e
n
t
s
plunging
optimum flap
Figure 12.11. Comparison of thrust in plunging and with an optimized ap.
James Gray was able to arrive at the conclusion that, from a rudimentary estimate of
the physiological power of a dolphin in a turbulent uid ow, this power was math-
ematically insufcient for the dolphin to achieve the speeds mariners had observed
them to reach. The boundary layer over a rigid, smooth surface of a similarly shaped
body in the same Reynolds number range is known to be turbulent. The power
required for maintaining the forward velocity estimated on the basis of the turbu-
lent skin friction is generally known to be far in excess of that which the dolphin uses.
Grays Paradox, as it came to be known, was resolved some 25 years later when the
biologist Kramer hypothesized that compliance of dolphin skin would delay water
owing over the skin from separating and becoming turbulent, thus dramatically
reducing drag and solving Grays Paradox. Like earlier scientic announcements
that found horses legs too weak to support their bodies and yet able to carry them
and bumblebees anatomically unable to take to the air and yet able to y effort-
lessly, the dolphin was found to be able to swim at relatively high speeds not just by
generating thrust but by cleverly reducing both the skin friction and the form drag.
10
3
10
2
10
1
10
0
0.5
0.5
0
reduced frequency, k
T
h
r
u
s
t

C
o
e
f
f
i
c
i
e
n
t
s
plunging
zero mean camber
Figure 12.12. Comparison of thrust in plunging and in a mode with varying camber with mean
camber line horizontal.
12.5 Underwater Propulsion and Its Control 303
Fish as a class seem to display two distinct mechanisms of thrust generation:
body and/or caudal n (BCF) propulsion and median and/or paired n (MPF)
propulsion. The latter is quite similar to apping propulsion, whereas the former
is based on a different mechanism. Thus we focus primarily on the rst of the pre-
ceding two mechanisms, which relies on a wavelike displacement traveling down-
stream in the body, faster than the forward velocity of motion, to generate vorticity
in the wake. The vorticity in the wake is responsible for transferring momentum to
the ow eld, resulting in a net forward thrust. Moreover, one interesting observa-
tion is that for relatively shallow but rigid waves the integrated viscous wall shear or
viscous drag is substantially less than that for an equivalent at surface.
We consider a exible at-plate aerofoil with a displacement of the form
z = z
0
exp [i (t x/U)] , (12.142)
where the ratio of the free-stream velocity to the velocity of the wave is . The
aerofoil surface velocity or downwash is then given by
w
a
=
1
U
_
i +U

x
_
z =
i b
U
(1 )
z
0
b
exp [i (t x/U)] , (12.143)
which may be expressed in nondimensional variables as
w
a
= w
0
exp (i k) exp(i t ) , w
0
=
i b
U
(1 )
z
0
b
. (12.144)
The nondimensional pressure coefcient is
C
j
p
() = 4w
0
_
I
0
(, k) + I
1
(, k]
_
_
1
1 +

4w
0

I
0
(, k)
_
1
2
+4w
0
[1 C(k)] [J
0
(k) i J
1
(k)]
_
1
1 +
,
(12.145)
where the integrals,
I
n
(, k) =
1

_
1
1

n
1
_
1
2
1
exp (i k
1
)

1
d
1
,
are evaluated by use of the series expansion
exp (i k) = exp (i k cos ) = J
0
(k) +2

n=1
(i )
n
J
n
(k) cos (n).
With the notation U (0) = 0, U (1) = 1, the integrals are
I
n
(, k) =
J
0
(k)

U (n) 4

m=1
(1)
m
J
m
(k)
sinm(cos
1
)
sin(cos
1
)

n
, n = 0, 1.
The average work done in unit time to maintain oscillations against the gener-
alized force acting on the aerofoil

W may be found by averaging over a cycle
W =
1
2
U
2
_
b
b
C
p
z
a
(x, y, t )
t
d. (12.146)
304 Biomimetic Motive Propulsion
The average propulsive force may be found by averaging the expression for P
given by Equation (12.127). The evaluations must necessarily be performed by use
of appropriate numerical methods. The details of the evaluations of the lift and the
pitching moment,

P and

W, are left as an exercise for the reader. The results show
that

P and

W vanish at k = 0, and, for large values of k, the magnitudes of

P and

W
behave like k
2
and k
3
, respectively.
The basic mechanism of propulsion and its control is identical to the case of
the apping aerofoil and is a consequence of the momentum gain that is due the
vortex wake that results in the uids being expelled behind the trailing edge of
the aerofoil. The magnitude of the thrust generated is not only a function of the
reduced frequency and the traveling-wave amplitude but also of the traveling-wave
velocity. In most sh a further increase in the thrust is possible by use of natural
lubricants to reduce the skin friction drag. Fish mucus is secreted by cells of the
epidermis that reduce the water resistance up to 60%, thereby effectively increasing
the thrust. However, during an impulsive start, the frictional drag represents only a
small percentage of the total drag and it is the total mass of the system, including
the virtual mass of the uid that makes a dominating contribution to it.
Drag-reducing mechanisms are invoked whenever it is necessary to gain accel-
eration, and these involve a reduction of mass that is not essential. These reductions
include control of nonmuscle tissue density, which reduces the total dead weight
that must be accelerated relative to the essential mass of the muscle motor. This
reduction results in a increase in the power-to-load ratio, which is a typical metric
that is indicative of the reduction in resistance. Although all density-saving adap-
tations are assumed to be due to the effects of neutral buoyancy, which will con-
tribute to the increase in acceleration, mass-reducing mechanisms in the skin are not
due to the forces of buoyancy. Thus sh are able to exercise control over the propul-
sive thrust by a variety of mechanisms.
EXERCISES
12.1. Consider the dynamic walking model described in Subsection 12.2.1. Assum-
ing the case in which the support is provided by the left leg, show that the position
constraint equations are
x
0
= r
0
sin +l
1
sin(
L
) +l
2
sin(
L
+
L
) ,
y
0
= r
0
cos +l
1
cos (
L
) +l
2
cos (
L
+
L
) .
Hence obtain the velocity and acceleration constraint equations.
12.2. Consider the dynamic walking model described in Subsection 12.2.1 and
assume that the support is provided by both legs. Show that the position constraints
are given by Equations (12.25) and (12.26) and hence obtain the velocity and accel-
eration constraint equations.
12.3. Consider the compass gait model used for gait simulation illustrated in Fig-
ure 12.13.
Exercises 12.112.3 305
q
2
q
1
m
m
M
a
b

Figure 12.13. The compass gait model.


The dynamic equations governing the dynamics may be expressed as
I (q) q +C(q, q) q g
g
(q) = 0,
where q = [q
1
q
2
]
T
is the vector of the swing and support leg angles, respectively,
measured relative to the inertial vertical for both links, which are assumed to be
identical.
(a) Show that
I (q) =
_
mb
2
m(a +b)bcos (2)
m(a +b)bcos (2) (m+ M) (a +b)
2
+ma
2
_
,
C(q, q) =
_
0 m(a +b) bsin(2) q
2
m(a +b) bsin(2) q
1
0
_
,

g
(q) =
_
mbsin(q
1
)
((M+m) (a +b) +ma) sin(q
2
)
_
, where, =
q
2
q
1
2
.
(b) The foot collision results in an instantaneous change of velocity governed by
the conservation of angular momentum around the point of impact. Assum-
ing that the swing foot can swing through the ground, show that the conser-
vation relation may be expressed as
Q
+
() q
+
= Q

() q

,
where
Q
+
() = Q
+
1
+Q
+
2
, Q

() = Q

1
+Q

2
,
Q
+
1
= mab
_
1 1
0 1
_
,
Q
+
2
= (a +b) cos (2)
_
0 M(a +b) +2ma
0 0
_
,
Q

1
= mb(a +b) cos (2)
_
1 1
0 1
_
,
Q

2
=
_
mb
2
(M+m) (a +b)
2
+ma
2
mb
2
0
_
.
306 Biomimetic Motive Propulsion
(c) Numerically simulate the response of the compass gait model by using a typ-
ical numerical integration method and demonstrate the existence of stable
limit cycles.
12.4. Consider the half-model of the quadruped robot described in Subsection
12.2.3.
(a) Derive the governing dynamical equations of motion.
(b) The foot collision results in an instantaneous change of velocity governed by
the conservation of angular momentum around the point of impact. Obtain
the relevant conservation relations.
(c) Numerically simulate the response of the model by using a typical numerical
integration method and demonstrate the gait patterns.
12.5. A certain remotely piloted vehicle is modeled (Figure 12.14) after an aquatic
animal as a central two-dimensional body (point mass) that propels itself by an artic-
ulated three-link mechanism. The nal link in the mechanism is acted on by a single
force, F.
X
0
Y
0
Y
1
Y
2

1
L
1
Vehicle body mass
Direction of vehicle
movement
F
b
L
2
L
3

3
X
1
X
3
Figure 12.14. Remotely piloted vehicle modeled
after an aquatic cetacean animal (the bottlenose
dolphin, Tursiops truncatus).
(a) Assume that the mass of the central body is M and that the masses of each
of the links (assumed uniform) are m
i
. Ignore all gravitational effects and
obtain expressions for the kinetic energy and the Lagrangian dynamical
equations.
(b) For purposes of thrust generation, assume that the angle
2
is constant and
equal to zero. Assume that the body and the trailing link represent two-
dimensional aerofoils capable of apping at a high frequency and obtain an
expression for the thrust developed by the prototype model.
(c) Suitably modify the equations of motion obtained in part (a) to include the
mean thrust and simulate the motion of the prototype vehicle. Include the
aerodynamic forces and moments of the mean motion of aerofoils in your
dynamic model and simulation.
Exercises 12.412.6 307
12.6. Consider the pressure acting on the surface of a exible at-plate aerofoil per-
forming traveling-wave oscillations and show that the lift is given by
L(k) = 4
_
1
2
U
2
_
bw
0
K(k, ) exp (i t ) ,
where
K(k, ) = [J
0
(k) i J
1
(k)] C(k) +(i /) J
1
(k) .
Answers to Selected Exercises
Chapter 3
3.1. [ 10.366 2.098 11 1 ]
T
; 3.3. [ 1 2 2 ]
T
;
3.4. If T =
_
R d
0 1
_
, R
1
= R
2
=

0 1 0
0 0 1
1 0 0

, d
1
=

6
8
7

, d
2
=

8
7
6

;
3.5. Second; 3.6.

0 0 1 3
1 0 0 2
0 1 0 1
0 0 0 1

; 3.7.

0 1 0 6
0 0 1 9
1 0 0 2
0 0 0 1

;
3.8.

cos
3
sin
3
0 Lcos
3
+ Lcos
1
sin
3
cos
3
0 Lcos
3
+ Lsin
1
0 0 1 0
0 0 0 1

,
3
=
1
+
2
;
3.9.

c
4
c
5
c
6
s
4
s
6
c
4
c
5
s
6
s
4
c
6
c
4
s
5
d
6
c
4
s
5
s
4
c
5
c
6
+c
4
s
6
s
4
c
5
s
6
+c
4
c
6
s
4
s
5
d
6
s
4
s
5
s
5
c
6
s
5
s
6
c
5
d
6
c
5
0 0 0 1

;
3.10.

0 1 0 1
1 0 0 1
0 0 1 1
0 0 0 1

3, 0

, [ 0 0 0]
T
;
309
310 Answers to Selected Exercises
3.11.
1

3
[ 1 1 1 ]
T
,

0 1 0 x
0 0 1 y
1 0 0 z
0 0 0 1

;
3.12. (a)
1

2
[ 1 1 0 ]
T
, (b) 4.
Chapter 4
Answers to the exercises of this chapter will depend on your choice of coordinates.
4.1.

c
123
s
123
0 L
3
c
123
+ L
2
c
12
+ L
1
c
1
s
123
c
123
0 L
3
s
123
+ L
2
s
12
+ L
1
c
1
0 0 1 0
0 0 0 1

;
4.2.

0 0 1 d
2
1 0 0 0
0 1 0 d
1
0 0 0 1

; 4.3.

c
1
0 s
1
a
1
c
1
d
2
s
1
s
1
0 c
1
d
2
c
1
+a
1
s
1
0 c
2
0 0
0 0 0 1

;
4.4.

c
13
s
13
0 a
3
c
13
d
2
s
1
+a
1
c
1
s
13
c
13
0 a
3
s
13
+d
2
c
1
+a
1
s
1
0 0 1 0
0 0 0 1

;
4.7.

c
123
s
123
0 a
3
c
123
+a
2
c
12
+a
1
c
1
s
123
c
123
0 a
3
s
123
+a
2
s
12
+a
1
s
1
0 0 1 d
2
+h d
4
0 0 0 1

.
Chapter 5
Answers to the exercises of this chapter will depend on your choice of coordinates.
5.1. q
1
= cos
_

4
2
_
sin
_

5
2
_
sin
_

6
2
_
sin
_

4
2
_
sin
_

5
2
_
cos
_

6
2
_
,
q
2
= cos
_

4
2
_
sin
_

5
2
_
cos
_

6
2
_
+sin
_

4
2
_
sin
_

5
2
_
sin
_

6
2
_
,
q
3
= cos
_

4
2
_
cos
_

5
2
_
sin
_

6
2
_
sin
_

4
2
_
cos
_

5
2
_
cos
_

6
2
_
,
Answers to Selected Exercises 311
q
4
= cos
_

4
2
_
cos
_

5
2
_
cos
_

6
2
_
sin
_

4
2
_
cos
_

5
2
_
sin
_

6
2
_
,
tan
6
=
T
32
T
31
=
q
1
q
4
q
2
q
3
q
1
q
3
+q
2
q
4
, tan (
4
) =
T
23
T
13
=
q
1
q
4
+q
2
q
3
q
1
q
3
q
2
q
4
,
cos (
5
) = q
2
3
+q
2
4
q
2
1
q
2
2
;
5.2. 4.1:

x
03
y
03
z
03

a
3
c
3
c
12
+a
2
c
2
c
1
+a
1
c
1
a
3
c
3
s
12
+a
2
c
2
s
1
0

;
4.2:

x
03
y
03
z
03

a
1
c
1
d
2
s
1
a
1
s
1
+d
2
c
1
0

; 4.3:

x
02
y
02
z
02

a
1
c
1
d
2
s
1
a
1
s
1
+d
2
c
1
0

;
4.4:

x
03
y
03
z
03

a
3
c
13
+a
1
c
1
d
2
s
1
a
3
s
13
+a
1
s
1
d
2
c
1
0

;
4.6:

x
y
z

a
4
c
1234
+a
3
c
123
+a
2
c
12
+a
1
c
1
a
4
s
1234
+a
3
s
123
+a
2
s
12
+a
1
s
1
0

;
5.4. (a) b
2
i
= (x
Bi
x
Pi
)
2
+(y
Bi
y
Pi
), (x
Bi
, y
Bi
), are the base triangle and plat-
form triangle corner coordinates, respectively,

x
P1
x
P2
x
P3
y
P1
y
P2
y
P3
1 1 1

c s x
d
s c y
d
0 0 1

0 a/2 a/2
a/

3 a/2

3 a/2

3
1 1 1

,
and

x
B1
x
B2
x
B3
y
B1
y
B2
y
B3
1 1 1

0 L/2 L/2
L/

3 L/2

3 L/2

3
1 1 1

.
Chapter 7
7.4. J =
_
z
0
z
0
z
0
z
0
r
3
z
0
(r
3
r
1
) z
0
(r
3
r
2
r
1
)
_
,
312 Answers to Selected Exercises
where
z
0
=

0
0
1

, r
1
=

a
1
c
1
a
1
s
1
0

, r
2
=

a
2
c
12
a
2
s
12
0

and
r
3
=

a
1
c
1
+a
2
c
12
+a
3
c
123
a
1
s
1
+a
2
s
12
+a
3
s
123
0

.
7.6.
_
0 0
z
2
z
1
_
, z
1
=

1
0
0

, z
2
=

0
1
0

,
_
z
0
0
(a
1
+a
2
) z
0
z
d
z
d
_
, z
0
=

0
0
1

, z
d
=

c
1
s
1
1

;
7.8.
_
z
0
0 z
0
z
0
r
1
z
d
z
0
r
3
_
, z
0
=

0
0
1

, z
d
=

c
1
s
1
1

,
r
1
=

a
1
c
1
+a
2
c
1
+a
3
c
12
a
1
s
1
+a
2
s
1
+a
3
s
12
0

, r
3
=

a
3
c
12
a
3
s
12
0

.
Chapter 8
8.7. (b) T =
1
2
mL
2
_

2
+

2
3
+

cos ( )
_
,
V = mg
_
L(1 cos q
1
) +
L
2
(1 cos q
2
)
_
;
8.7. (c) The two EulerLagrange equations of motion are
mL
2
_
q
1
+
q
2
2
cos (q
1
q
2
) +
q
2
2
2
sin(q
1
q
2
)
_
+mgLsinq
1
= 0,
mL
2
_
q
1
2
cos (q
1
q
2
) +
q
2
3

q
2
1
2
sin(q
1
q
2
)
_
+
mgL
2
sinq
2
= 0;
Answers to Selected Exercises 313
8.7. (d) To linearize, we set cos (q
1
q
2
) 1, sin(q
1
q
2
) 0, sinq
2
q
2
, and
sinq
1
q
1
. The linearized equations are
mL
2
_
q
1
+
q
2
2
_
+mgLq
1
= 0, mL
2
_
q
1
2
+
q
2
3
_
+
mgL
2
q
2
= 0,
mL
2
12
_
12 6
6 4
__
q
1
q
2
_
+
mgL
2
_
2 0
0 1
__
q
1
q
2
_
=
_
0
0
_
;
8.8. (a) T =
2L
a
_
2h
3g
; (b) T = 2
_
h
g
.
Chapter 10
10.1. L= T V,T =
1
2
mL
2
_

2
+

2
3
+

cos ( )
_
,
V = mg
_
L(1 cos q
1
) +
L
2
(1 cos q
2
)
_
;
10.2. V = g
11
sin
1
+ g
22
sin(
1
+
2
) ,
where

11
= (m
1
L
1cg
+m
2
L
1
+ ML
1
),
22
= (m
2
L
2cg
+ ML
2
).
T =
1
2
(I
11
I
21
)
2
1
+
1
2
I
22
(

1
+

2
)
2
+ I
21

1
(

1
+

2
),
where
I
11
= m
1
_
L
2
1cg
+k
2
1cg
_
+(m
2
+ M) L
2
1
+(m
2
L
2cg
+ ML
2
) L
1
cos (
2
),
I
21
= (m
2
L
2cg
+ ML
2
) L
1
cos (
2
), I
22
= m
2
_
L
2
2cg
+k
2
2cg
_
+ ML
2
2
,
I
12
= m
2
_
L
2
2cg
+k
2
2cg
_
+ ML
2
2
+(m
2
L
2cg
+ ML
2
) L
1
cos (
2
) = I
22
+ I
12
.
The Lagrangian is dened as L= T V.
314 Answers to Selected Exercises
Chapter 12
12.1. Velocity constraints:
_
x
0
y
0
_
+
_
l
1
cos (
L
) +l
2
cos (
L
+
L
) 0
l
1
sin(
L
) l
2
sin(
L
+
L
) 0
__

R
_

_
r
0
cos l
1
cos (
L
) l
2
cos (
L
+
L
)
r
0
sin +l
1
sin(
L
) +l
2
sin(
L
+
L
)
_

+
_
l
2
cos (
L
+
L
) 0
l
2
sin(
L
+
L
) 0
__

L

R
_
= 0.
Acceleration constraints:
_
x
0
y
0
_
+
_
l
1
cos (
L
) +l
2
cos (
L
+
L
) 0
l
1
sin(
L
) l
2
sin(
L
+
L
) 0
__

R
_

_
r
0
cos l
1
cos (
L
) l
2
cos (
L
+
L
)
r
0
sin +l
1
sin(
L
) +l
2
sin(
L
+
L
)
_

+
_
l
2
cos (
L
+
L
) 0
l
2
sin(
L
+
L
) 0
__

L

R
_
=
_
r
0

2
sin l
1
(

L
)
2
sin(
L
) l
2
(

L
+
L
)
2
sin(
L
+
L
)
r
0

2
cos l
1
(

L
)
2
cos(
L
) l
2
(

L
+
L
)
2
cos(
L
+
L
)
_
.
12.2. Velocity constraints:
L

x
0
y
0

r
0
cos l
1
cos (
L
) l
2
cos (
L
+
L
)
r
0
sin +l
1
sin(
L
) +l
2
sin(
L
+
L
)
r
0
cos l
1
cos (
R
) l
2
cos (
R
+
R
)
r
0
sin +l
1
sin(
R
) +l
2
sin(
R
+
R
)

l
2
cos (
L
+
L
) 0
l
2
sin(
L
+
L
) 0
0 l
2
cos (
R
+
R
)
0 l
2
sin(
R
+
R
)

_

L

R
_
= 0,
where
L =

1 0 l
1
cos (
L
) +l
2
cos (
L
+
L
) 0
0 1 l
1
sin(
L
) l
2
sin(
L
+
L
) 0
1 0 0 l
1
cos (
R
) +l
2
cos (
R
+
R
)
0 1 0 l
1
sin(
R
) l
2
sin(
R
+
R
)

Answers to Selected Exercises 315


Acceleration constraints:
L

x
0
y
0

r
0
cos l
1
cos (
L
) l
2
cos (
L
+
L
)
r
0
sin +l
1
sin(
L
) +l
2
sin(
L
+
L
)
r
0
cos l
1
cos (
R
) l
2
cos (
R
+
R
)
r
0
sin +l
1
sin(
R
) +l
2
sin(
R
+
R
)

l
2
cos (
L
+
L
) 0
l
2
sin(
L
+
L
) 0
0 l
2
cos (
R
+
R
)
0 l
2
sin(
R
+
R
)

_

L

R
_
=

r
0

2
sin l
1
(

L
)
2
sin(
L
) l
2
(

L
+
L
)
2
sin(
L
+
L
)
r
0

2
cos l
1
(

L
)
2
cos(
L
) l
2
(

L
+
L
)
2
cos(
L
+
L
)
r
0

2
sin l
1
(

R
)
2
sin(
R
) l
2
(

R
+
R
)
2
sin(
R
+
R
)
r
0

2
cos l
1
(

R
)
2
cos(
R
) l
2
(

R
+
R
)
2
cos(
R
+
R
)

.
Appendix: Attitude and Quaternions
A.1 Dening Attitude: Frames of Reference
The motion of a rigid body can be specied by its position and attitude. The rst
quantity describes the translational motion of the center of mass of the body. The
latter quantity describes the rotational motion of the body about an axis passing
through the center of mass. In general, the position and attitude are independent.
The attitudinal motion can be considered to consist of two aspects: attitude kine-
matics and attitude dynamics. Attitude kinematics is the fundamental description
of changes in attitude with time without any consideration of the torques applied
to the body. On the other hand, attitude dynamics refers to the motion of a body
in response to applied torques. The main aspect in the kinematics of attitude is the
description of the attitude or orientation of a body in space, which is the subject of
this appendix. To dene the orientation of the body in space, we begin by dening
three mutually perpendicular axes xed in the body at its center of gravity. The body
axes are a right-handed triple of orthogonal axes. The orientation or attitude of a
rigid body is then dened as the orientation of the body axes relative to a set of refer-
ence axes. A frame xed in space denes a reference axes system and is said to be an
inertial frame. The reference axes are a right-handed triple of orthogonal axes. Typ-
ically a set of three mutually orthogonal axes constitutes a right-handed reference
frame when there is a right-handed clockwise screw rotation of the x axis toward
the y axis points to the z axis. All the reference frames considered are assumed to
be right-handed reference frames. A number of reference frames are used to dene
the position and orientation of a rigid body.
A.1.1 Inertial and Noninertial Frames
The inertial reference frame is usually an orthogonal frame consisting of three mutu-
ally perpendicular axes xed in space and with its origin coinciding with the cen-
ter of the Earth. By convention, the x axis of this frame points to a xed point in
space known as the rst point in Aries, which lies in the equatorial plane of the
Earth as well as in the plane containing the Greenwich meridian. The Earth-xed
317
318 Appendix: Attitude and Quaternions
reference frame is xed in the Earth and also has its origin at the center of the Earth.
The Earth-xed geographic reference frame has its axes pointing in the actual local
north, east, and downward directions, respectively. The origin of the frame is xed
locally at a point on the Earths surface dened by the local latitude and longitude.
In most robotic applications, however, the Earth is assumed to be nonrotating, and
it follows that any Earth-xed geographic frame is also an inertial frame xed in
space.
A.2 Rotating Frames of Reference
In the description of the kinematics of robot manipulators, one always needs to
consider the rotation of one rigid body relative to another. When a reference frame
xed in a body is rotating relative to another or relative to a xed reference frame
such as a local inertial frame, the relationship between the two reference frames
or coordinate frames may be described by a transformation. In the study of robot
manipulators it is most important to be able to synthesize this transformation and
to parameterize it with a minimum number of independent quantities. To this end
we consider the resolution of a vector in two and three dimensions.
A.2.1 Resolution of a Position Vector in Two and Three Directions
Considering the position vector, we nd that the components along the x
0
and y
0
axes are
R
x
= |R| cos , R
y
= |R| sin = |R| cos
_

2

_
,
where |R| is the magnitude of the vector R. They be expressed in general as
R
x
= |R| l, R
y
= |R| m.
The direction cosines l and m are then dened as
l =
R
x
|R|
= cos , m =
R
y
|R|
= cos
_

2

_
and satisfy the condition
l
2
+m
2
= 1.
Thus, given unit vectors i
0
and j
0
in the direction of the Cartesian axes x
0
and y
0
,
the position vector itself may be expressed as a vector sum of its components:
R = R
x
i
0
+ R
y
j
0
= |R| li
0
+|R| mj
0
.
The denition of direction cosines may be extended to the case of a three-
dimensional Cartesian reference frame. Thus, in this case, the position vector may
be expressed in terms of unit vectors in the three mutually perpendicular directions
as
R = R
x
i
0
+ R
y
j
0
+ R
z
k
0
= |R| li
0
+|R| mj
0
+|R| nk
0
,
A.2 Rotating Frames of Reference 319
and it follows that the direction cosines l, m, and n are then dened as
l =
R
x
|R|
, m =
R
y
|R|
, n =
R
z
|R|
and satisfy the condition
l
2
+m
2
+n
2
= 1.
A.2.2 Rotations in Two Dimensions
The rotation of a two-dimensional reference frame in the plane of a paper is consid-
ered rst. The angle of rotation is denoted by . Let the position vector be denoted
by R, the Cartesian component vectors in the reference frame (x
0
, y
0
) be denoted
as R
x0
and R
y0
, and the Cartesian component vectors in the rotated reference frame
(x
1
, y
1
) be denoted as R
x1
and R
y1
. The components of the position vector in the
rotated reference frame change because of the rotation of the reference frame. The
two components after rotation are
_
R
1x
R
1y
_
= |R|
_
cos( )
sin( )
_
=
_
|R| (cos cos +sin sin)
|R| (sin cos cos sin)
_
.
When = 0,
_
R
0x
R
0y
_
= |R|
_
cos
sin
_
.
Hence the components of the position vector in the rotated reference frame are
given by
R
1x
= R
0x
cos + R
0y
sin, R
1y
= R
0x
sin + R
0y
cos ,
which could be expressed in matrix form as
_
R
1x
R
1y
_
=
_
cos sin
sin cos
__
R
0x
R
0y
_
.
The angular velocity of the reference frame is the time derivative of the rotation
angle d/dt and is a vector in a direction perpendicular to both the unit vectors i
0
and j
0
.
If a unit vector in this direction is denoted by k
0
, then the two-dimensional rota-
tional transformation of a three-dimensional vector, with componentsR
x0
, R
y0
, and
R
z0
in the (x
0
, y
0
, z
0
) reference frame, for a rotation about the z
0
axis may be
expressed as
R
1x
= R
0x
cos + R
0y
sin, R
1y
= R
0x
sin + R
0y
cos , R
1z
= R
0z
,
whereR
x1
, R
y1
, and R
z1
are the components in the rotated reference frame. Adopt-
ing a simpler notation for the components of the position vector in each of the two
320 Appendix: Attitude and Quaternions
frames, i.e., as
R = R
x0
i
0
+ R
y0
j
0
+ R
z0
k
0
x
0
i
0
+ y
0
j
0
+ z
0
k
0
and
R = R
x1
i
1
+ R
y1
j
1
+ R
z1
k
1
x
1
i
1
+ y
1
j
1
+ z
1
k
1
,
the relationship between the components of the position vector in the rotated ref-
erence frame and the components of the position vector in the original reference
frame is given in matrix notation as

x
1
y
1
z
1

cos sin 0
sin cos 0
0 0 1

x
0
y
0
z
0

= R
10

x
0
y
0
z
0

,
where R
10
is the rotational transformation matrix dened as
R
10
=

cos sin 0
sin cos 0
0 0 1

.
A.2.3 Axis Transformations by Direction Cosines
It has already been stated that when a reference frame xed in a body is rotating
relative to another or relative to a xed reference frame such as a local inertial
frame, the relationship between the two reference frames or coordinate frames may
be described by a transformation. Such a transformation may also be expressed in
terms of the direction cosines dened earlier.
From the direction cosines dened earlier, one may express each of the com-
ponents of a vector in the rotated reference axes in terms of the sum of the con-
tributions of each of the components of the same vector in the original axes. Thus,
considering just the x
0
component, the transformed vector in the rotated reference
frame is
R|
x
= x
0
l
11
i
0
+ x
0
l
21
j
0
+ x
0
l
31
k
0
.
Applying the same concept to the y
0
and z
0
components,
R|
y
= y
0
l
12
i
0
+ y
0
l
22
j
0
+ y
0
l
32
k
0
,
R|
z
= z
0
l
13
i
0
+ z
0
l
23
j
0
+ z
0
l
33
k
0
,
and collecting together the contributions to the vector components along each of
three rotated reference axes, we obtain
x
1
= l
11
x
0
+ l
12
y
0
+ l
13
z
0
, y
1
= l
21
x
0
+ l
22
y
0
+ l
23
z
0
,
z
1
= l
31
x
0
+ l
32
y
0
+ l
33
z
0
,
where the direction cosines satisfy
l
2
1n
+l
2
2n
+l
2
3n
= 1, n = 1, 2, 3.
A.3 Synthesis of Rotational Transformations 321
The relationship between the components of the position vector in the rotated
reference frame and the components of the position vector in the original reference
frame is given in matrix notation as

x
1
y
1
z
1

l
11
l
12
l
13
l
21
l
22
l
23
l
31
l
32
l
33

x
0
y
0
z
0

= R
10

x
0
y
0
z
0

,
where R
10
is the rotational transformation matrix dened as
R
10
=

l
11
l
12
l
13
l
21
l
22
l
23
l
31
l
32
l
33

.
A.3 Synthesis of Rotational Transformations
Three-dimensional transformations of reference frames can be dened as a
sequence of successive rotations about different axes. Typically the reference frame
xed rigidly to the body (x
B
, y
B
, z
B
) is rotated about the roll axis x
B
by an angle .
Thus we have a new reference frame (x
1
, y
1
, z
1
) in the rotated position. This frame
is then rotated about the new pitch axis y
1
by an angle . As a result of this next
rotation we obtain the (x
2
, y
2
, z
2
) frame. This frame is then rotated once more about
the resulting yaw axis by an angle . The reference frame produced by the three
successive rotations can be aligned parallel to an inertial reference frame (x
I
, y
I
, z
I
).
The relationships among the four reference frames can be written as

x
1
y
1
z
1

1 0 0
0 cos sin
0 sin cos

x
B
y
B
z
B

x
2
y
2
z
2

cos 0 sin
0 1 0
sin 0 cos

x
1
y
1
z
1

x
I
y
I
z
I

cos sin 0
sin cos 0
0 0 1

x
2
y
2
z
2

.
The transformation relating the body-xed reference frame to the inertial ref-
erence frame is given by the triple product of the preceding transformation matrices
in the proper sequence. It must be emphasized that the transformations are not
commutative. Each of the preceding transformation matrices as well as the triple
product is an orthogonal matrix, i.e., the inverse of the matrix is also equal to its
transpose.
We may obtain the same transformation by starting with the inertial reference
frame, performing the yaw, pitch, and roll sequence of positive rotations (or the 3
21 sequence), and aligning the resulting frame with a body-xed reference frame,
preferably one that is aligned with the principal axes of the body. This procedure
has emerged as a standard for dening the body-xed axes.
322 Appendix: Attitude and Quaternions
A.3.1 Euler Angle Sets
The rotational angles dened in the preceding axes transformations are usually
referred to as Euler angles. These transformations are dened in terms of the
Euler angles. The yaw()pitch()roll() or 321 sequence is an example of an
Euler angle sequence in robot-manipulator dynamics. The ijk Euler angle rota-
tion means that the rst rotation by angle is about the i axis, the second rotation
by angle is about the j axis, and the third rotation by angle is about the k axis.
They give rise to a basic set of coordinates for dening the attitude of a rigid body.
The transformation relating the body-xed reference axes to the space-xed
inertial reference axes is
[ x
I
y
I
z
I
]
T
= T
I B
[ x
B
y
B
z
B
]
T
,
where
T
I B
=

cos sin 0
sin cos 0
0 0 1

cos 0 sin
0 1 0
sin 0 cos

1 0 0
0 cos sin
0 sin cos

.
The inverse transformation is
[ x
B
y
B
z
B
]
T
= T
1
I B
[ x
I
y
I
z
I
]
T
= T
BI
[ x
I
y
I
z
I
]
T
,
where
T
BI
=

1 0 0
0 cos sin
0 sin cos

cos 0 sin
0 1 0
sin 0 cos

cos sin 0
sin cos 0
0 0 1

.
The convention that is followed is that T
BI
is a matrix that transforms represen-
tations in the reference inertial coordinate system to representations in the body-
xed coordinate system.
Another popular Euler angle sequence, which we shall refer to as the alterna-
tive Euler angle sequence or as the 323 sequence, is a rotation about the body-
xed z
B
axis by an angle followed by a rotation by an angle about the rotated
y
1
axis, followed by a rotation by an angle about the new z
2
axis of the frame
obtained after the two previous rotations.
The transformation relating the body-xed reference frame to the inertial ref-
erence frame for this alternative sequence is given by
[ x
I
y
I
z
I
]
T
= T
I B
[ x
B
y
B
z
B
]
T
,
where
T
I B
=

cos sin 0
sin cos 0
0 0 1

cos 0 sin
0 1 0
sin 0 cos

cos sin 0
sin cos 0
0 0 1

.
A.3 Synthesis of Rotational Transformations 323
The inverse transformation is
[ x
B
y
B
z
B
]
T
= T
1
I B
[ x
I
y
I
z
I
]
T
= T
BI
[ x
I
y
I
z
I
]
T
,
where
T
BI
=

cos sin 0
sin cos 0
0 0 1

cos 0 sin
0 1 0
sin 0 cos

cos sin 0
sin cos 0
0 0 1

.
A.3.2 Geometric Interpretations
A fundamental property of these orthogonal matrix transformations is the invari-
ance of the magnitude of a vector after transformation. There also exists a set of
vectors that are unchanged in direction as well after the application of the trans-
formation. Each transformation may be reduced to a single rotation about each of
these vectors. There is at least one such for any orthogonal transformation vector.
According to Eulers theorem, the general displacement of a rigid body with one
point xed is equivalent to a single rotation about some axis through that point. In
other words, for any rotation there exists a given axis of rotation in one coordinate
system that remains invariant in another reference coordinate system. Any rotation
may be expressed as a rotation through some angle about some axis. This parame-
terization of the attitude is called the Euler axis/angle parameterization.
The geometric interpretations of these transformation matrices are of funda-
mental importance in robot kinematics. Irrespective of the orthogonality proper-
ties, the singularities in the transformations and the lack of uniqueness of the rep-
resentations are important shortcomings in the kinematics of the transformations.
The geometric interpretation as a single rotation about some axis is the basis for an
alternative representation of the transformation by use of four unique parameters.
The need for such an alternative representation arises because of certain pitfalls of
Euler angle representations, which are discussed in the next subsection.
A.3.3 Pitfalls of Rotational Sequences
The sequence of transformations just discussed is not a unique sequence, i.e., the
transformation relating the body-xed and space-xed inertial reference frames can
be established by use of a sequence of rotations about different sets of axes. One
may use a pitchrollyaw sequence, a pitchyawroll sequence, or a yawrollyaw
sequence.
The transformation relating the body-xed reference frame to the inertial ref-
erence frame for a yaw, pitch, and roll sequence applied to the inertial frame was
already discussed. When the pitch angle is set equal to 90

in this transformation
we nd that the roll angle and the yaw angle are not unique. This feature is the cause
of the phenomenon that is known as gimbal lock in inertial measuring systems
designed to estimate the position and orientation of a body from measurements of
324 Appendix: Attitude and Quaternions
acceleration and attitude. It is a direct consequence of the Euler angle representa-
tion and a major pitfall of the Euler angle approach.
A.3.4 Kinematics of Rotational Transformations
We can obtain the angular velocity vector of the body-xed reference frames by
simply adding up the individual angular velocity contribution from each successive
rotation. In the preceding example it is the vector sum of the yaw rate about the z
axis, the pitch rate about the y
1
axis, and the roll rate about the x
2
axis. The angular
velocity may then be resolved to the body-xed reference frame by use of the trans-
formations previously developed relating the unit vector in the various reference
frames. The body components of the angular velocity are related to the attitude
rates for the rst Euler angle sequence by

p
B
q
B
r
B

1 0 sin
0 cos sin cos
0 sin cos cos

,
and the inverse relations are

1 sin tan cos tan


0 cos sin
0 sin/ cos cos / cos

p
B
q
B
r
B

,
where the overdots () represent the time differentiation operator d/dt . For the
alternative Euler angle sequence or the 323 sequence, the corresponding relations
are

p
B
q
B
r
B

0 sin sin cos


0 cos sin sin
1 0 cos

,
and the inverse relations are

cos / tan sin/ tan 1


sin cos 0
cos / sin sin/ sin 0

p
B
q
B
r
B

.
It may be noted that the transformation matrix itself satises a differential equa-
tion, the coefcients of which are dependent on the angular velocities. Thus, if the
angular velocities are measured, the differential equation could be integrated in a
computer to obtain the transformation in real time. This is an essential feature of
strapped-down mechanization of an inertial measurement system using accelerom-
eters and rate gyros for the measurement of accelerations and angular velocities
in three mutually perpendicular directions. However, in view of the pitfalls of the
Euler angle representation, the transformation matrix may be represented by the
four-parameter representation or quaternion.
A.3 Synthesis of Rotational Transformations 325
A.3.5 Kinematics of the Direction Cosine Matrix
Consider a rotation by an angle and the associated rotational transformation
about the z
0
axis:
R
10
=

cos sin 0
sin cos 0
0 0 1

.
Taking the time derivative of R
10
, one obtains

R
10
=

sin cos 0
cos sin 0
0 0 0

0 1 0
1 0 0
0 0 0

cos sin 0
sin cos 0
0 0 1

.
Because the angular velocity of the body is given by
= [ 0 0
3
] = [ 0 0 ],

R
10
=
3

0 1 0
1 0 0
0 0 0

cos sin 0
sin cos 0
0 0 1

=
3

0 1 0
1 0 0
0 0 0

R
10
.
Consider a body rotating with an angular velocity vector:
= [
1

2

3
] .
Considering the sequence of rotations from the inertial to the body frame and
the time derivative of the direction cosine matrix, it may be shown that
_
d
dt
T
BI
_
T
I B
=

0
3

2

3
0
1

2

1
0

.
Hence it follows that
d
dt
T
BI
=

0
3

2

3
0
1

2

1
0

T
BI
.
The relation is similar to the rate of change of a xed vector r in a frame rotating
with an angular velocity vector, = [
1

2

3
]. In this case we have
d
dt
r =

0
3

2

3
0
1

2

1
0

r.
Although the vector is xed, the fact that the frame is rotating implies that the
components of the vector in the rotating frame are continuously changing.
326 Appendix: Attitude and Quaternions
Further, because
T
I B
d
dt
T
BI
+
_
d
dt
T
I B
_
T
BI
= 0,
d
dt
T
I B
= T
I B

0
3

2

3
0
1

2

1
0

.
A.4 Four-Parameter Rotational Operators: Quaternions
Sir William Hamilton rst introduced quaternions in 1843 to generalize complex
numbers to three dimensions. The use of the quaternion in the solution of rigid body
rotations as required by robot-manipulator dynamics, computer vision, ight simu-
lation, and inertial guidance systems has proven to be efcient and accurate. Atti-
tude parameterization by the quaternion is more compact than the direction cosine
matrix and more computationally efcient than the Euler axis/angle and Euler angle
methods. In addition, the Euler angle parameterization has singularities at certain
angles, which limits the usefulness of the Euler angle representation.
A.4.1 Denition of the Quaternion
The Rodrigues quaternion or quaternion is a quadruple consisting of a real scalar
part (q
4
) and a hyperimaginary three-vector part (q
1
, q
2
, q
3
), dened as follows:
q = q
1
i +q
2
j +q
3
k +q
4
,
where i
2
= j
2
= k
2
= 1,
ij = ji = k, jk = jk = i, ki = ik = j.
The literature contains a variety of denitions of the quaternion as having dif-
ferent orders and sign conventions. The components of the Rodrigues quaternion
are often also called Euler symmetric parameters. The quaternion is also expressed
in one of several representations such as
q = (q
4
, q)
or as
q = [q
1
, q
2
, q
3
, q
4
]
T
.
Additional constraints are imposed when the quaternion is used to represent
angular velocity; rst, the quaternion should have a norm of unity. This prevents loss
of precision in computers and simplies the related vector transformations. Second,
the quaternion is dened in terms of the EulerRodriques rotation parameters or
equivalently Euler symmetric parameters, which allow rotations to be performed as
quaternion products. Thus the components of the quaternion are dened as
q
4
= cos
_

2
_
, q
1
= e
x
sin
_

2
_
, q
2
= e
y
sin
_

2
_
, q
3
= e
z
sin
_

2
_
,
A.4 Four-Parameter Rotational Operators: Quaternions 327
where e = [e
x
e
y
e
z
] is a unit vector along the axis of rotation and is the total
rotation angle. Further, the norm of this quaternion is unity, i.e.,
q
2
1
+q
2
2
+q
2
3
+q
2
4
= 1.
A.4.2 Dening the Axis of Rotation
The unit vector in the direction of the axis of rotation may be dened in a number
of ways, e.g., by locating a point on the surface of a unit sphere, known as the pole
point or pole.
When the rotation axis is located in terms of latitude and longitude (north lati-
tude and east longitude are positive),
[ e
x
e
y
e
z
]
T
= [ cos(lat) cos(long) cos(lat) sin(long) sin(lat) ]
T
.
When the rotation axis is located in terms of spherical coordinates and ,
where is azimuth and is the angle from the z axis,
[ e
x
e
y
e
z
]
T
= [ sin() cos() sin() sin() cos() ]
T
.
A.4.3 Conversion Between Euler Angles and a Quaternion
The quaternion equivalence to a set of Euler angles dened by a 321 (yawpitch
roll rotation) sequence may be established. Thus,
q
1
= cos
_
yaw
2
_
cos
_
pitch
2
_
sin
_
roll
2
_
sin
_
yaw
2
_
sin
_
pitch
2
_
cos
_
roll
2
_
,
q
2
= cos
_
yaw
2
_
sin
_
pitch
2
_
cos
_
roll
2
_
+sin
_
yaw
2
_
cos
_
pitch
2
_
sin
_
roll
2
_
,
q
3
= sin
_
yaw
2
_
cos
_
pitch
2
_
cos
_
roll
2
_
cos
_
yaw
2
_
sin
_
pitch
2
_
sin
_
roll
2
_
,
q
4
= cos
_
yaw
2
_
cos
_
pitch
2
_
cos
_
roll
2
_
+sin
_
yaw
2
_
sin
_
pitch
2
_
sin
_
roll
2
_
.
For small angles, the cosine terms in the preceding equations can be replaced
with a value of unity. The quaternion is therefore approximately equal to
q
1

roll
2
, q
2

pitch
2
, q
3

yaw
2
, and q
4
1.
Inverse relationships may also be established. Thus the Euler angles may be
extracted from a quaternion as
sin(yaw)/ cos(yaw) = 2(q
1
q
2
+q
3
q
4
)/
_
q
2
4
+q
2
1
q
2
2
q
2
3
_
,
sin(pitch) = 2(q
1
q
3
q
2
q
4
),
sin(roll)/cos(roll) = 2(q
1
q
4
+q
3
q
2
)/
_
q
2
4
q
2
1
q
2
2
+q
2
3
_
.
328 Appendix: Attitude and Quaternions
The following relations are some representative Euler angles and their equiva-
lent quaternions:
[yaw, pitch, roll] = [0
0
0
0
0
0
] q = [q
1
q
2
q
3
q
4
] = [0 0 0 1] ,
[yaw, pitch, roll] = [90
0
0
0
0
0
] q = [q
1
q
2
q
3
q
4
] = [0 0 0.707 0.707] ,
[yaw, pitch, roll] = [0
0
60
0
0
0
] q = [q
1
q
2
q
3
q
4
] = [0 0.5 0 0.866] ,
and
[yaw, pitch, roll] =
_
10
0
20
0
30
0
_

q = [q
1
q
2
q
3
q
4
] = [0.239 0.189 0.038 0.951] .
For the alternative Euler angle sequence or the 323 sequence, the quaternion
equivalence relations are
q
1
= sin(/2) cos [( )/2] , q
2
= cos (/2) sin[( + )/2] ,
q
3
= cos (/2) cos [( + )/2] , q
4
= sin(/2) sin[( )/2] .
The inverse relations are easily found from these relations.
A.4.4 Inverse of a Quaternion
The inverse of a quaternion is dened in terms of the complex conjugate. The com-
plex conjugate is dened as
q

= (q
4
, q)

= (q
4
, q) = [ q
1
q
2
q
3
q
4
]
T
= [ q q
4
]
T
.
The inverse of the quaternion is dened as
q
1
=
q

q
2
1
+q
2
2
+q
2
3
+q
2
4
=
(q
4
, q)
q
2
1
+q
2
2
+q
2
3
+q
2
4
,
and
q
1
=
1
_
q
2
1
+q
2
2
+q
2
3
+q
2
4
_[ q
1
q
2
q
3
q
4
]
T
,
which simplies to
q
1
=
1
_
q
2
1
+q
2
2
+q
2
3
+q
2
4
_
_
q
q
4
_
.
When q
2
1
+q
2
2
+q
2
3
+q
2
4
= 1, which is normally assumed,
q
1
= q

= (q
4
, q)

= (q
4
, q) = [ q
1
q
2
q
3
q
4
]
T
= [ q q
4
]
T
.
A.4.5 Reversing the Direction of Rotation
We may reverse the direction of a rotation simply by taking the complex conjugate
of the quaternion:
q

= (q
4
, q)

= (q
4
, q) = [ q
1
q
2
q
3
q
4
]
T
= [ q q
4
]
T
.
A.4 Four-Parameter Rotational Operators: Quaternions 329
A.4.6 Quaternion Normalization
The length or norm of a quaternion is dened as

=
_
qq

=
_
q

q =
_
q
2
1
+q
2
2
+q
2
3
+q
2
4
= 1.
The norm of the Rodriques quaternion should be 1. If the quaternion is inte-
grated, the quaternion norm will no longer be equal to unity and generally diverges.
The quaternion can be renormalized by dividing all its components by the quater-
nion norm.
A.4.7 Combined Rotations
A quaternion can be rotated into a new reference frame by a multiplication follow-
ing the laws of quaternion algebra. For example, a set of quaternions that rotates A
into B and B into C can be combined into a single quaternion that rotates A into C.
Thus the composition of two quaternions is dened as
q
c
= q
a
q
b
= (q
a4
, q
a
) (q
b4
, q
b
) =
_
q
a4
q
b
+q
b4
q
a
+ q
a
q
b
q
a4
q
b4
q
a
q
b
_
and
|q
a
q
b
| = |q
a
| |q
b
| = 1.
Using the rules of vector algebra and the unit vector identities, we may write
this in matrix form as

q
c1
q
c2
q
c3
q
c4

q
a4
q
a3
q
a2
q
a1
q
a3
q
a4
q
a1
q
a2
q
a2
q
a1
q
a4
q
a3
q
a1
q
a2
q
a3
q
a4

q
b1
q
b2
q
b3
q
b4

.
After the vectormatrix product is formed,

q
c1
q
c2
q
c3
q
c4

q
a4
q
b1
+q
a3
q
b2
q
a2
q
b3
+q
a1
q
b4
q
a3
q
b1
+q
a4
q
b2
+q
a1
q
b3
+q
a2
q
b4
q
a2
q
b1
q
a1
q
b2
+q
a4
q
b3
+q
a3
q
b4
q
a1
q
b1
q
a2
q
b2
q
a3
q
b3
+q
a4
q
b4

,
which may also be expressed as

q
c1
q
c2
q
c3
q
c4

q
b4
q
b3
q
b2
q
b1
q
b3
q
b4
q
b1
q
b2
q
b2
q
b1
q
b4
q
b3
q
b1
q
b2
q
b3
q
b4

q
a1
q
a2
q
a3
q
a4

.
330 Appendix: Attitude and Quaternions
A.4.8 Conversion of Latitude and Longitude to a Quaternion
The latitude and longitude positions on a planet can be converted to a quaternion
by forming the quaternion product of the latitude and longitude quaternions. For
example, a longitudinal rotation may be expressed as a quaternion:
q
4
= cos
_

2
_
, q
1
= e
x
sin
_

2
_
, q
2
= e
y
sin
_

2
_
, q
3
= e
z
sin
_

2
_
,
where e = [e
x
e
y
e
z
] is a unit vector along the NS axis of the Earths rotation
and is the total longitudinal rotation angle.
Often the direction of the axis of rotation is expressed in terms of the latitude
and longitude. If we have two rotations, each represented as a quaternion, the result
of both rotations is the product of their two quaternions.
A.4.9 Transformation of a Vector by a Quaternion
To rotate a vector by a quaternion, it should be recognized that a component of each
of the reference axes in the direction of the quaternion axis does not undergo any
change whereas the component perpendicular to it undergoes a two-dimensional
rotation. Thus the direction cosine matrix may be expressed as
T
BI
=

e
x
e
y
e
z

[e
x
e
y
e
z
] +

e
x
e
y
e
z

[e
x
e
y
e
z
]

cos +

Q(e

) sin,
where is the rotation angle or Euler angle about the e

axis, e

= [e
x
e
y
e
z
] is a
unit vector along the rotation axis or Euler axis, and

Q( e

) =

0 e
z
e
y
e
z
0 e
x
e
y
e
x
0

.
When the transformation is applied to a vector in the direction of the Euler axis
it remains invariant. Any three-element vector may be transformed by the direction
cosine matrix or directly rotated by a quaternion in a manner similar to that used to
rotate a quaternion. In this case the scalar part is zero. Thus,
v

= T
BI
v = q

vq = (e

v) e

+cos ( v (e

v) e

) +sin(e

v),
which is equivalent to
v

=
_
2q
2
4
1
_
v +2 q( q v) +2q
4
( q v) .
The preceding transformation correspond to a direct rotation of the vector by the
quaternion and may be expressed as
v

=
_
I cos +[e
x
e
y
e
z
]
T
[e
x
e
y
e
z
] (1 cos ) +

Q(e

) sin
_
v,
A.4 Four-Parameter Rotational Operators: Quaternions 331
where v

is the output vector, v is the input vector, and q is the vector part of the
quaternion, i.e., (q
1
, q
2
, q
3
). The vector product e

v is equivalent to
e

v = v e

=

Q( e

) v =

0 e
z
e
y
e
z
0 e
x
e
y
e
x
0

v.
A.4.10 The Direction Cosine Matrix
A direction cosine matrix can be expressed in terms of a quaternion that results in
the following relationship:
T
BI
(q) =
_
q
2
4
q
2
_
I +2 q q
T
+2q
4

Q( q)
or
T
BI
(q) =

q
2
1
q
2
2
q
2
3
+q
2
4
2 (q
1
q
2
+q
3
q
4
) 2 (q
1
q
3
q
2
q
4
)
2 (q
1
q
2
q
3
q
4
) q
2
1
+q
2
2
q
2
3
+q
2
4
2 (q
2
q
3
+q
1
q
4
)
2 (q
1
q
3
+q
2
q
4
) 2 (q
2
q
3
q
1
q
4
) q
2
1
q
2
2
+q
2
3
+q
2
4

,
where

Q( q) =

0 q
3
q
2
q
3
0 q
1
q
2
q
1
0

.
The inverse relations are not unique and are given by
q
1
=
1
4q
4
(T
23
T
32
) =
1
2
_
1 + T
11
T
22
T
33
,
q
2
=
1
4q
1
(T
12
+ T
21
) =
1
4q
4
(T
23
T
32
) ,
q
3
=
1
4q
4
(T
12
T
21
) =
1
4q
1
(T
31
+ T
13
) ,
q
4
=
1
4q
1
(T
23
T
32
) =
1
2
_
1 + T
11
+ T
22
+ T
33
,
where T
BI
= {T
i j
}.
In general, if a single vector needs to be transformed, the direct rotation of the
vector by the quaternion is more efcient. If a large number of vectors need to be
transformed, it is more efcient to rst convert the quaternion into a direction cosine
matrix and then use conventional matrixvector products.
The product of two transformation matrices may be written in terms of the com-
position of the two quaternions:
T
BI
(q
a
) T
BI
(q
b
) = T
BI
(q
a
q
b
) .
332 Appendix: Attitude and Quaternions
A.4.11 The Rate of Change of Attitude in Terms of Quaternions
If q is the attitude or orientation quaternion, then the rate of change of the quater-
nion of a body with an angular velocity vector,
= (t )
T
= [
1

2

3
],
may be shown to be
dq/dt = q

= (1/2) quaternion()q.
The function quaternion () = [(t )] converts the angular velocity vector
(t ) into a quaternion with a zero scalar part and as the vector part. Thus,
[(t )] =

0
3

2

1

3
0
1

2

2

1
0
3

1

2

3
0

.
q may be numerically integrated and updated to
q
+
= q +dq/dt.
q
+
should be normalized at the end of the numerical integration step. The inertial
rate quaternion (q

) is dened in terms of the inertial attitude quaternion and the


body rates:
q

q
1
q
2
q
3
q
4

=
d
dt

q
1
q
2
q
3
q
4

=
1
2

0
3

2

1

3
0
1

2

2

1
0
3

1

2

3
0

q
1
q
2
q
3
q
4

=
1
2
[(t )]

q
1
q
2
q
3
q
4

.
In a typical vehicle dynamics model, the angular forces on the vehicle are con-
verted into angular accelerations and then integrated in the vehicle reference frame
to derive body-referenced rotation rates (yaw rate, pitch rate, and roll rate). The
preceding relation is used to convert these rates into an inertial rate quaternion.
The inertial rate quaternion is integrated to form an inertial attitude quaternion.
The inertial attitude quaternion represents the vehicle attitude in inertial space.
Thus
q(t ) = exp
_
1
2
_
t
0
[(t

)] dt

_
q(0) .
These quaternion equations are most commonly implemented in a digital com-
puter. An alternative approach suitable for an analog computer or operational
amplier implementation is also used in practice.
A.4 Four-Parameter Rotational Operators: Quaternions 333
The equation for the inertial rate quaternion may be expanded and expressed
as

q
1
q
2
q
3
q
4

=
1
2

3
q
2

2
q
3
+
1
q
4

3
q
1
+
1
q
3
+
2
q
4

2
q
1

1
q
2
+
3
q
4

1
q
1

2
q
2

3
q
3

.
To implement the equations on a computer, they are expressed as

q
1
q
2
q
3
q
4

=
1
2

3
q
2

2
q
3
+
1
q
4

3
q
1
+
1
q
3
+
2
q
4

2
q
1

1
q
2
+
3
q
4

1
q
1

2
q
2

3
q
3

+k

q
1
q
2
q
3
q
4

,
where = 1 (q
2
1
+q
2
2
+q
2
3
+q
2
4
) and k is chosen to be less than 1/t , where t
is the integration step size. Initial values for the components of the attitude quater-
nion can be established by use of the relationships to the Euler angles , , and ,
representing yaw, pitch, and roll.
When the direction of the angular velocity vector = [
1

2

3
]
T
is almost
constant over an interval of interest or when the rotation vector dened by
(t ) =
_
t +t
t
(t

) dt

is small, then the attitude quaternion may be updated by use of


q(t +t ) = M() q(t ) ,
where
M() = cos (||/2) I
44
+
sin(||/2)
||
() .
Bibliography
Ayers, J., Davis, J. L., and Rudolph, A. (Eds.) (2002). Neurotechnology for Biomimetic
Robots (1st ed.), MIT Press, Boston, MA.
Balafoutis, C. A. and Patel, R. V. (1991). Dynamic Analysis of Robotic Manipulators: ACarte-
sian Tensor Approach, Kluwer Academic, Boston, MA.
Bottema, O. and Roth, B. (1979). Theoretical Kinematics, North-Holland, New York
(reprinted by Dover).
Boullart, L., Krijgsman, A., and Vingerhoeds, R. (Eds.) (1992). Application of Articial Intel-
ligence Techniques in Process Control, Pergamon, Oxford.
Burdea G. C. (1996). Force and Touch Feedback for Virtual Reality, Wiley, New York.
Canudas, C., Siciliano, B., and Bastin, G. (1996). Theory of Robot Control, Springer-Verlag,
New York.
Craig, J. J. (1989). Introduction to Robotics: Mechanics and Control, Addison-Wesley, Read-
ing, MA.
Denavit, J. and Hartenberg, R. S. (1955). A kinematic notation for lower pair mechanisms
based on matrices, J. Appl. Mech. 2, 215221.
Deo, N. (1974). Graph Theory with Applications to Engineering and Computer Science,
Prentice-Hall, Englewood Cliffs, NJ.
Duffy, J. (1980). Analysis of Mechanisms and Robot Manipulators, Arnold, London.
Farin, G. (1988). Curves and Surfaces for Computer Aided Geometric Design, Academic, New
York.
Featherstone, R. (1987). Robot Dynamics Algorithms, Kluwer Academic, Boston, MA.
Foley, J. D., van Dam, A., Feiner, S. K., and Hughes, J. K. (1996). Computer Graphics: Prin-
ciples and Practice (2nd ed. in C), Addison-Wesley Longman, New York.
Garcia de Jalon, J. and Bayo, E. (1994). Kinematic and Dynamic Simulation of Multibody
Systems: The Real Time Challenge, Springer-Verlag, New York.
Goldstein, H. (1980). Classical Mechanics, Addison-Wesley, Reading, MA.
Golub, G. H. and Van Loan, C. F. (1989). Matrix Computations, Johns Hopkins University
Press, Baltimore, MD.
Greenwood, D. T. (1977). Classical Dynamics, Prentice-Hall, Englewood Cliffs, NJ.
Greenwood, D. T. (1988). Principles of Dynamics, Prentice-Hall, Englewood Cliffs, NJ.
Gupta, K. C. (1997). Mechanics and Control of Robots, Mechanical Engineering Series,
Springer, Berlin.
Haug, E. J. (1989). Computer-Aided Kinematics and Dynamics of Mechanical Systems, Allyn
& Bacon, Boston, MA, Vol. 1.
Hunt, K. H. (1978). Kinematic Geometry of Mechanisms, Clarendon, Oxford.
Ioannou P. and Fidan B. (2006). Adaptive Control Tutorial, Advances in Design and Control,
Society for Industrial and Applied Mathematics, Philadelphia, PA.
335
336 Bibliography
Lanczos, C. (1986). The Variational Principles of Mechanics, Dover, New York.
Latombe, J. C. (1991). Robot Motion Planning, Kluwer Academic, Boston, MA.
Lewis, F. L., Abdallah, C. T., and Dawson, D. M. (1993). Control of Robot Manipulators,
Macmillan, New York.
Mason, T. and Salisbury Jr., J. L. (1985). Robot Hands and the Mechanics of Manipulation,
MIT Press, Cambridge, MA.
McCarthy, J. M. (1990). An Introduction to Theoretical Kinematics, MIT Press, Cambridge,
MA.
McKerrow, P. J. (1991). Introduction to Robotics, Addison-Wesley, Sydney.
McMahon T. A. (1984). Muscles, Reexes, and Locomotion, Princeton University Press,
Princeton, NJ.
Meirovitch, L. (1970). Methods of Analytical Dynamics, McGraw-Hill, New York.
Mueller, T. J. (Ed.) (2002). Fixed and Flapping Wing Aerodynamics for Micro Air Vehi-
cle Applications, Progress in Astronautics and Aeronautics Series, American Institute of
Aeronautics and Astronautics, Washington, D.C.
Morecki, A. and Waldron, K. J. (Eds.) (1997). Human and Machine Locomotion, Springer-
Verlag, New York.
Murray, R. M., Li, Z., and Sastry, S. S. (1993). A Mathematical Introduction to Robot Manip-
ulation, CRC Press, Boca Raton, FL.
Nakamura, Y. (1991). Theory of Robotics, Redundancy and Optimisation, Addison-Wesley,
Reading, MA.
Nigg B. M. and Herzog, W. (1999). Biomechanics of Musculo-Skeletal System (2nd ed.),
Wiley, New York.
Nof, S. Y. (Ed.) (1999). Handbook of Industrial Robotics, Wiley, New York.
OShea, T. and Eisenstadt, M. (Eds.) (1984). Articial Intelligence: Tools, Techniques and
Applications, Harper & Row, New York.
Paul R. P. (1981). Robot Manipulators, Mathematics, Programming and Control, MIT Press,
Cambridge, MA.
Rose J. and Gamble J. G. (1994). Human Walking (2nd ed.), Williams and Wilkins, Baltimore,
MD.
Schilling, R. J. (1990). Fundamentals of Robotics: Analysis and Control, Prentice-Hall, Engle-
wood Cliffs, NJ.
Selig, J. M. (1992). Introductory Robotics, Prentice-Hall International.
Selig, J. M. (1996). Geometrical Methods in Robotics, Springer, New York.
Shabana, A. A. (1998). Dynamics of Multibody Systems (2nd ed.), Wiley, New York.
Shyy W., Lian Y., Tang J., Viieru D., and Liu H. (2007). Aerodynamics of Low Reynolds
Number Flyers (Cambridge Aerospace Series), Cambridge University Press, New York.
Slotine, J. J. E. and Li, W. (1991). Applied Nonlinear Control, Prentice-Hall, Englewood
Cliffs, NJ.
Snyder, W. E. (1985). Industrial Robots: Computer Interfacing and Control, Prentice-Hall,
Englewood Cliffs, NJ.
Spong, M. W. and Vidyasagar, M. (1989). Robot Dynamics and Control, Wiley, New York.
Spong, M. W. (1996). Motion control of robot manipulators, in The Control Handbook,
W. S. Levine, Ed., CRC Press/IEEE, New York, pp. 13391350.
Srinivasan, A. V. and McFarland, D. M. (1999). Smart Structures: Analysis and Design, Cam-
bridge University Press, Cambridge.
Stone, H. W. and Kanade, T. (Eds.) (1991). Kinematic Modeling, Identication and Control
of Robotic Manipulators, Kluwer Academic, Dordrecht, The Netherlands.
Toko, K. (2000). Biomimetic Sensor Technology, Cambridge University Press, Cambridge.
Tsai, L. W. (1999). Robotic Analysis, Wiley, New York.
Tzafestas, S. G. (Ed.) (1992). Robotic Systems: Advanced Techniques and Applications,
Kluwer Academic, Dordrecht, The Netherlands.
Bibliography 337
Vukobratovir, M., Frank, A. A., and Juricic, D. (1970). On the stability of biped locomotion,
IEEE Trans. Biomed. Eng. BME-17, 2536.
Wang, J. and Gosselin, C. M. (1998). A new approach for the dynamic analysis of parallel
manipulators, in Multibody System Dynamics, Kluwer Academic, Dordrecht, The Nether-
lands, Vol. 2, pp. 317334.
Yoshikawa, T. (1990). Foundation of Robotics, MIT Press, Cambridge, MA.
Index
A

algorithm, 178180
acceleration due to gravity, 151, 162, 190, 193,
197
accelerometers, 180, 181, 186, 188197, 264, 265
Achilles tendon, 27
Ackermann steering gear, 16
action potential, 43, 4550, 5253
adaptation, 243247, 251, 259
adaptive control, 242249, 251252, 255258
adenosine triphosphate (ATP), 45
adjacency matrix, 10
adjoint, 208, 211
aerofoil, 25, 34, 285287, 289290, 293, 294301,
303, 304, 306
afferent, 4648, 5053
alula, 34
anal n, 38
analyte, 3941, 43
angle-of-attack, 26, 3436, 286307
angular momentum, 283, 305, 306
angular velocity, 123, 124, 127130, 140141, 273,
278, 280, 283285
anode, 41, 42
anthropomorphic, 22, 24, 7679, 91, 220
area co-ordinates, 103, 104
ArnoldKennedy theorem, 64
articulation, 33
articial intelligence, 179180, 248
associative memory, 35
attitude, 5, 318, 322324, 326, 332334
auditory nerve, 264, 265, 267, 268
austenite, 58, 59
axon, 4750, 52, 54, 55
B spline, 168169, 171, 193194
spline, 168
balance, 27, 28, 30, 38, 57, 58, 256, 258, 265, 272,
273, 277279, 282
ball-and-socket joint, 12
ballistic, 27, 29
basal ganglia, 57, 58
Bernstein polynomials, 167, 170171
B ezier curves, 167169, 171
biomimesis, 25
biomimetic, 2561, 76, 93, 228, 272307
biomimicry, 30, 34
bionic limb, 4648, 51, 55, 57, 61
biosensor, 3941, 43, 61
biped, 27, 272, 279
blending function, 166, 168, 170, 171, 174
boundary layer, 37, 302
canonic form, 212, 217219, 237
canonical equations, 200, 206
canonical form, 208
canonical transformation, 205, 227
capulla, 265
Cartesian control, 174
Cartesian, 5, 22, 86, 104, 273274, 280
catheter, 59, 60
cathode, 41
caudal n, 38, 303
caudal peduncle, 38
cells, 32, 39, 40, 4250, 57, 304
center of gravity, 258
center of mass, 143, 147, 148, 154, 158, 160162,
273274, 276, 278, 280
center of rotation, 64, 258
centrifugal force, 151154, 269
cerebellum, 5758, 256257, 265
chain, 6, 813, 24
Chasles Theorem, 68
Chebyshev polynomial, 167
chromosome, 180, 259
circulation, 34
clap, 25, 26, 3436
cochlea, 264, 265
compliance, 113, 115117
composition, 89, 99, 101, 102, 108, 109
computed torque control, 220, 221, 241, 248, 260,
269
connectivity, 133
339
340 Index
constraint 6, 1113, 111, 116117, 119, 133, 134,
137
contact transformation, 204, 205
control surface, 244, 248
control, 202, 203, 206207, 210214, 217225, 229,
233, 235, 237239, 241, 242271, 272, 279, 281,
282287, 297, 299302, 304
controllability, 211, 214, 217219
controller partioning, 246, 259
Coriolis force, 152154, 190, 269, 283
cortex, 32, 57, 58, 257
Corvid, 34
counterstroking, 35
coupler curve, 8
coupler, 8, 11
crank and slotted lever, 15
crank, 8, 11, 1316, 24
cruciate, 27
C-space, 177, 178
cubic spline, 167, 172, 174, 194
cuff electrodes, 47
cutaneous, 50, 268
cylindrical pair, 12, 13
da Vinci
tm
manipulator, 20, 21, 23
degrees of freedom (DOF), 5, 6, 8, 1113, 18, 20,
21, 74, 76, 81, 88, 94106, 120141, 164, 207, 217,
229, 237, 257, 272278, 280, 281, 287
DenavitHartenberg convention, 7488, 99
DenavitHartenberg decomposition, 6667, 69, 71
DenavitHartenberg parameters, 74
denticles, 37
DH convention, 7488
DH parameters, 7588
direct kinematics, 7488
direction cosine matrix (DCM) 185, 325326,
330331
direction cosine, 185, 318320, 325326, 330331
dissipative, 203, 223
dorsal n, 38
drag, 3438, 285, 286, 289, 301304
dragony, 35, 36, 286
dual quaternions, 103, 188
duck, 167
Dynamic programming, 173
dynamically tuned gyro, 190
dynamics, 28, 38, 55, 59, 128, 142163, 172,
189241, 242, 246, 248, 249, 253, 260, 266, 269,
272, 279282, 305, 317, 322, 326, 332
efferent, 4655
electrochemical, 39, 40, 43
electrode, 4042, 46, 47, 5052
electrolyte, 42
emarginations, 36
end-effector, 7, 74, 7779, 84, 86119, 164, 165,
194, 220, 242, 253, 257, 258, 260, 261, 283,
284
endolymph, 265
endoscopy, 56, 59
energy, 25, 28, 29, 37, 38, 152154, 158160,
199203, 207, 225, 232, 274, 285, 286, 287, 294,
297300, 306
enzymes, 39, 42
epicyclic gear train, 17
equilibrium potential, 4345
Euler angle, 67, 72, 80, 87, 121, 127, 134, 140,
322324, 326328, 330, 333
Euler axis, 67, 72, 323, 326, 330
EulerLagrange equations, 152155, 160, 225, 226,
232, 234, 275
Eulers equations, 145
falcon, 35
feathering, 35
feathers, 33, 34, 36
feedback linearization, 198, 210219, 237239, 260
feedback, 36, 4751, 5358, 198, 206208, 210217,
219, 221, 224, 225, 236, 237239, 242, 243, 245,
246, 253, 254, 257, 260, 265, 267, 268, 284
feedforward, 36, 58, 245246, 257, 259, 260, 261,
271
femur, 27
ber-optic gyro, 190
eld-effect transistor, 39
n, 38, 303
nlets, 38
sh, 33, 3739
appingtranslation, 25, 3436, 282
apping, 2526, 3436, 272, 282, 285287, 294,
299301, 303, 304, 306
ight simulators, 26, 101102
ing, 2526, 3436
ow separation, 34
footstep planning, 31
force-control, 111117, 252, 258, 260
forward dynamics, 154156
forward kinematics, 7488
four-bar mechanism 7, 8, 11, 16, 24, 161163
frontal cortex, 32
functional electrical stimulation, 49, 52
fuzzy-logic, 180, 249251, 258, 259, 269, 270
gain scheduling, 244
gear train, 13, 17
genetic algorithm, 179, 259
gimbal, 17, 18, 80
gluconic acid, 42
glucose oxidase, 42
glucose, 4143
GOD, 42
GoldmanHodgkinKatz equation, 44, 45
graph, 7
graph-theoretic, 7
grasp, 111113, 117
Grays Paradox, 302
group, 205, 208209
Gr ubler mobility criterion, 133, 134
Index 341
gyroscope, 3, 13, 1719, 180, 181, 188193, 195,
197, 264, 283
Hamiltonian equations, 200201, 203207, 210,
227, 237, 239
Hamiltonian, 198, 200210, 223225, 237, 239
HamiltonJacobi, 205207
Hamiltons Principle, 203, 206, 226
haptic, 50, 52, 5558, 267, 268
heave, 18
Hermite spline, 168169, 193
higher kinematic pair, 12
high-lift, 34, 36
Hobby, 35
holonomic, 207, 228
homogeneous coordinate, 65, 188
homogeneous transformation, 62, 6672, 7485,
8990, 114, 122, 123, 127, 128, 133
Hookes joint, 17, 18, 102, 141
humerus, 33
hydrogen peroxide, 42
imitation, 3032
immobilization, 39, 40, 42, 43, 61
inchworm, 29
independent joint control, 260
inelastic collision, 28
inertial measuring unit (IMU), 181, 188
inertial navigation, 180, 189
inertial reference, 181184, 228, 230, 317, 321323
inferior frontal cortex, 32
interchange graph, 7
inverse dynamics, 59, 154156
inverse Jacobian, 131, 132, 134
inverse kinematics, 89, 91, 92, 94, 98, 99, 101, 102,
172174
inverse model, 246, 249, 251, 269, 270
involutive, 208, 214, 215, 218, 219
ion, 40, 4346
isomorphic, 10
isomorphism, 10
Isaac Asimovs laws, 24
IUPAC, 39
Jacobi identity, 208, 211
Jacobian, 120141, 204, 205, 215, 285
joint angle, 66, 75, 129
joint interpolated control, 171, 174
joint, 5, 6, 1113, 15, 17, 18, 2024, 27, 28, 30, 33,
37, 46, 5055, 7478, 8081, 87110, 120124,
128141, 242, 243, 249, 257262, 268, 269
Kalman lter, 190
kinematic chain 612, 24, 8083, 90, 95, 99, 102,
133, 135
kinematic constraints 6, 116, 117
kinematic geometry, 10, 24, 91
kinematic inversion, 11
kinematic pairs, 12, 13, 27, 99
kinematic structure, 6, 7
kinematic system, 57, 11, 12, 117
kinesthetic, 50, 268
kinetic energy, 29, 37, 152154, 159160, 199203,
225, 232, 274, 294, 297, 306
kinetics, 50, 142, 145
knee joint, 27
Lagrange interpolation, 166168
Lagrangian, 142, 152155, 198201, 203, 204, 223,
226, 227, 237, 238, 306
leading-edge suction, 33, 35
leading-edge vortex, 35, 36
leading edge, 3337
learning control, 255
learning, 248, 253, 255, 259, 271
Lie algebra, 208209, 211
Lie bracket, 208, 214217
Lie derivative, 208, 211, 218
Lie group, 208209
lift, 25, 26, 3338, 281, 285286, 289, 292, 296, 298,
301, 304, 307
lifting surface, 33, 289
ligament, 27
limit cycle, 28
link length, 66, 75, 80
link offset, 66, 75, 80
link parameters, 7688
link twist, 66, 75, 80
link, 513, 1518, 24, 7488, 242, 248, 258, 260,
261, 263, 269
locomotion, 25, 27, 29 31, 38, 281
lower kinematic pairs, 12, 13, 27
Luh, Walker and Paul algorithm, 150
Lyapunov approach, 104, 137, 138, 141, 207, 243
manipulability, 135137
manipulator, 29, 11, 13, 1724, 25, 46, 5660, 71,
74110, 142, 149160, 164166, 171176, 194,
207, 213, 220222, 225, 237, 239241, 272,
281285
mass, 23, 105, 124, 143, 146148, 153162, 189,
195, 218, 220222, 227, 228, 230, 231, 235,
237240, 248, 273, 274, 276, 277, 280, 288, 294,
297, 304, 306, 317
matensite, 58, 59
mechanism, 620, 23, 24, 2529, 3240, 48, 49, 59,
60, 64, 7476, 81, 87, 91, 99, 106, 109, 110, 118,
130138, 142, 161, 162, 209, 242247, 251, 258,
263, 272, 285, 286, 294, 299, 303, 304, 306
median ns, 38, 303
membrane potential, 4346, 4950
membrane, 3946, 4950
mimicking, 25, 3032
mirror neurons, 32
mobile robot, 164, 172, 174, 176, 177, 181, 185
mobility, 133135
model following control, 245, 246, 266
model predictive control, 249, 252, 255
342 Index
model reference adaptive control, 246
model-based control, 242, 251, 255, 259, 260, 270
moment of force, 111119, 142, 150152
moment of inertia, 145147, 161162, 273, 278
moment of momentum, 144, 146, 278, 283
moment, 111119, 142162
momentum, 142144, 146, 198, 199, 225, 236, 276,
278, 282, 283, 285, 303306
motion planning, 172, 174, 177, 178, 180, 225
motor cortex, 32, 57, 58, 257
muscles, 33, 39, 46, 5155, 55, 57
myelin, 50, 54
natural selection, 179, 259
navigation, 164, 176, 180, 181, 189, 191194, 197
Nernst equation, 40, 44, 45
neural network, 32, 51, 248, 249, 259, 271
neural, 30, 32, 51, 248, 249, 259, 265, 266, 271
neuroanatomy, 1, 30, 31, 54
neurobiology, 32
neuromuscular 33, 52, 53, 55
neuron, 32, 4550, 5355, 248, 249, 259
neurophysiology, 1, 32
neurotransmitter, 48, 49, 52, 58
NewtonEuler equations, 145, 148150, 15153,
155, 158, 160
Newtons laws, 142, 145, 149
Nitinol, 58, 60
non-holonomic, 165, 178, 207, 208, 225228, 230,
233, 283
novel mechanisms, 1317
obstacle avoidance, 164, 165, 172, 174178, 180
ossicles, 264
optic ow, 26, 175176, 264
optimal, 34, 37, 54, 206, 209, 223224, 243, 248,
252, 254, 258, 260, 267, 301
otolith organs, 265
oxygen, 4043
Pad e approximant, 194
pantograph, 15
parallel manipulator, 99110, 155
passivity, 36, 202, 203, 207, 254
path following, 164
path planner, 164
path planning, 164, 165, 172175, 177, 179, 180
path tracker, 164
path tracking, 164, 172
pawl-and-ratchet mechanism, 14
pectoral n, 38
pelvic n, 38
perception, 26, 45, 46, 253, 254, 263, 265, 267, 268
pitch, 5, 13, 18, 6872, 112
planar, 6, 8, 11, 12, 64, 7678, 80, 8688, 91, 93, 94,
96, 99101, 108109
planning, 31, 164, 165, 169, 172180, 225, 254, 257,
258, 263
planograph, 15
platinum, 41
Pl ucker coordinates, 103
Poisson brackets, 205, 208
Poisson constraint equations, 205
polynomial, 166171, 194
pose, 64, 66
posture, 89, 91, 94, 95, 106
potential energy, 152, 154, 160, 198203, 206, 223,
226, 232, 238, 274, 287290
potential ow, 26, 34, 175
potential, 26, 29, 34, 3953, 60, 152, 154, 159161,
198, 199, 203, 206, 223, 226, 232, 238, 274,
287290
premotor cortex, 32
pressure, 287290, 292, 294, 295, 298, 303, 307
principle of least action, 203, 225, 226
principle of virtual work, 156158, 163
prismatic joint, 13, 18, 20, 22, 23
product of exponentials, 70
propatagium, 33
proprioceptive, 46, 5052, 268
propulsion, 37, 38, 272307
propylene, 41
prosthesis, 46, 48, 5052, 55
proximity, 264, 268
PUMA, 2022, 8184, 95, 134, 141
Purkinje cell, 256
quadruped, 279281, 306
quartz crystal microbalance, 39
quaternion, 69, 80, 188, 198, 317, 324, 326333
quick-return mechanisms, 15, 16
rack-and-pinion mechanism, 14
radius, 33
reachability, 105107, 109, 110
real time 260262
receptors, 39, 42, 43, 46, 55
recognition element, 39, 40, 42, 43
redundant manipulator, 94, 136
reference frame, 180185, 192, 317324, 329, 332
reference model, 243247, 251, 252, 263
regenerative electrode, 47
relative degree, 211, 213, 214, 239
remiges, 33, 34
resting potential, 4345, 48, 50
revolute joint, 12, 13, 17, 18, 2023
Reynolds number, 34
riblets, 34, 37
ring LASER gyro, 190
robot manipulator, 3, 4, 511, 13, 17, 21, 24,
74119, 136, 150, 160, 164, 166, 172, 176, 281
roll, 5, 18
saccule, 265, 266
SCARA manipulator, 20, 22, 23, 88, 109, 160
scheduling, 244, 255, 258, 262
Schuler frequency, 193, 197
screw joint, 13, 128
Index 343
screw motion, 62, 6769, 124, 127130, 133, 140,
145, 149151, 158
screw vector, 127130, 140
screw, 1, 3, 13, 62, 6772, 124, 127131, 134, 140
search, 178180
semicircular canals, 265, 266
semipermeable membrane, 3944, 49
separation bubble, 36
separation, 34, 36
serial manipulator, 74, 99, 101, 149, 155
shape memory alloy, 56, 59
sidereal rate, 183, 184, 187
Simon lter, 59
singularity, 106, 134138, 140, 141
skin friction, 37
slidercrank mechanism, 11, 1316, 24
slider, 11, 16
sliding joint, 11
spanning, 35
sparrowhawk, 35
spatial manipulator, 1820
spherical pair, 12
spherical wrist, 80, 81, 84, 90, 91, 95, 96, 107
spline, 167169, 171, 172, 174, 193194
stance leg, 27, 272, 275, 276
Stanford manipulator, 84, 86, 97, 107
static equilibrium, 113114
statically determinate, 114, 115
statically indeterminate, 113115
Stewart platform, 1820, 101104
strapped-down, 180, 190
Strouhal number, 293
subsumption, 255
Sun and planet gear train, 17
superior parietal lobule, 32
support, 168
surface acoustic wave, 39
surge, 18
sway, 18
swimming, 3739
swing leg, 27, 272, 275, 276
symplectic, 200, 202, 204, 223
synapse, 48, 49, 54
systolic array, 76
tactile, 50, 51, 57, 264, 268
tendon, 27, 5254, 268
Theodorsen function, 285, 286, 293, 294
three-centers-in-line theorem, 64
thrust effectors, 38
thrust, 26, 34, 3739, 285287, 294, 298304, 306
tibia, 27
tool center point, 105, 106, 110, 117, 165, 242
torque, 111119
touch, 267, 268
trajectory control, 164
trajectory following, 164, 257
trajectory, 164166, 171, 173, 246, 257259, 264
transducer, 39, 43, 53, 61
transmission zeros, 212
tremor, 36, 5658
triangular coordinates, 103
trigonometric formulae, 91, 92, 103
twist coordinates, 6970
twist, 66, 6970
ulna, 33
Unimation Puma 560, 20, 21
universal joint, 17, 18
utricle, 265, 266
vector eld, 208211, 214
velocity graph, 10, 11
velocity potential, 287290
vestibular system, 256, 265, 266
vestibulo-ocular reex (VOR), 265
via points, 164, 166168
virtual displacement, 156157
virtual work, 156158, 163
visual cues, 266268
Voronoi diagram, 177
Voronoi region, 177
vortex drag, 37
vortex ow, 35, 36, 287304
vortex lift, 35, 36
Wagner effect, 25, 3436
walking, 2731, 272281, 304
Whitworth quick-return mechanism, 16
wingbeat, 35
winglets, 34
workspace, 6, 8, 22, 94, 101, 105107, 109, 110
wrench, 111119, 145
wrist, 80, 81, 83, 84, 87, 88, 90, 91, 95, 96, 98, 107
yaw, 5, 18
zero dynamics, 213, 235, 236, 238, 239
zero moment point, 277279

You might also like