Volume 124

Mechanical Engineering Series

Editor-in-Chief

Frederick F. Ling

New York, New York, USA

Editorial Board

Ward O. Winer

Atlanta, Georgia, USA

Arthur E. Bergles

Aeronautical Engineering & Mechanics, Rensselaer Polytechnic Institute (RPI) Dept. Mechanical Engineering, Troy, New York, USA

Georgia A. Klutke

Texas A & M University Dept. Industrial & Systems Engineering, College Station, Texas, USA

Kuo K. Wang

Aerospace Engineering, Cornell University Sibley School of Mechanical &, Ithaca, New York, USA

J. R. Welty

Oregon State University, Corvallis, Oregon, USA

Michael D. Bryant

Dept. Mechanical Engineering, University of Texas, Austin Cockrell School of Engineering, Austin, Texas, USA

Henry T. Yang

Dept. Mechanical & Environmental Engineering, University of California, Santa Barbara College of Engineering, Santa Barbara, California, USA

Van C. Mow

MC 8904, Columbia University Dept. Biomedical Engineering, New York, New York, USA

Dietmar Gross

Solid Mechanics, TU Darmstadt, Darmstadt, Germany

The Mechanical Engineering Series features graduate texts and research monographs to address the need for information in contemporary mechanical engineering, including areas of concentration of applied mechanics, biomechanics, computational mechanics, dynamical systems and control, energetics, mechanics of materials, processing, production systems, thermal science, and tribology.

For further volumes: http://​www.​springer.​com/​series/​1161

Jorge Angeles

Fundamentals of Robotic Mechanical SystemsTheory, Methods, and Algorithms4th ed. 2014

Jorge Angeles

Department of Mechanical Engineering Centre for Intelligent Machines (CIM), McGill University, Montreal, QC, Canada

ISSN 0941-5122e-ISSN 2192-063X

ISBN 978-3-319-01850-8e-ISBN 978-3-319-01851-5

DOI 10.1007/978-3-319-01851-5

Springer Cham Heidelberg New York Dordrecht London

Library of Congress Control Number: 2013952913

© Springer International Publishing Switzerland 2014

This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. Exempted from this legal reservation are brief excerpts in connection with reviews or scholarly analysis or material supplied specifically for the purpose of being entered and executed on a computer system, for exclusive use by the purchaser of the work. Duplication of this publication or parts thereof is permitted only under the provisions of the Copyright Law of the Publisher’s location, in its current version, and permission for use must always be obtained from Springer. Permissions for use may be obtained through RightsLink at the Copyright Clearance Center. Violations are liable to prosecution under the respective Copyright Law.

The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use.

While the advice and information in this book are believed to be true and accurate at the date of publication, neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or omissions that may be made. The publisher makes no warranty, express or implied, with respect to the material contained herein.

Printed on acid-free paper

Springer is part of Springer Science+Business Media (www.springer.com)

To Anne-Marie, who has given me not only her love,

but also her precious time, without which this book

would not have been possible.

Preface to the Fourth Edition

The aim of the Fourth Edition is the same as that of the past editions: to provide the reader with the tools needed to better understand the fundamental concepts behind the design, analysis, control, and programming of robotic mechanical systems at large. The current edition includes additional examples and exercises. Furthermore, an updated account of progress and trends in the broad area of robotic mechanical systems, which continues developing at an impressive pace, is included in Chap.  1 . However, a comprehensive summary of up-to-date developments is not possible in the limits of a book that stresses fundamentals. An effort was made to include an overview of the subject, with pertinent references for the details. Robotic systems that were not even mentioned in the First Edition, namely, flying robots, especially drones and quadrotors, are now highlighted.

In producing the Fourth Edition, special attention was given to the consistency and accuracy of the presentation. In Chap.  4 new examples illustrating the implementation of the Denavit–Hartenberg notation and methodology are included, along with a numerical example on the inverse-displacement problem for spherical wrists.

Some materials that complement the book are available on the Springer site allocated to the book:

http://​www.​springer.​com/​engineering/​robotics/​book/​978-3-319-01850-8

Material posted therein includes code intended to help better understand the most cumbersome derivations, and to provide useful tools when working out the exercises, or simply to assist the curious reader in exploring alternative examples or alternative methods. Animation files and film are also included.

An important feature of the code provided is that it allows for either symbolic manipulations, using Maple, or numerical computations, using Matlab. The rough estimates of the solutions to systems of bivariate equations, arising in various chapters, but most intensively in Chap.  9 , are facilitated by the inclusion of a Matlab graphic user interface. Further refinements of these estimates are implemented by means of a Newton–Gauss least-square approximation to an overdetermined system of nonlinear equations, as implemented in Matlab.

The excellent work done by Dr. Kourosh Etemadi Zanganeh, currently at Canmet (Nepean, Ontario, Canada), when he was a Ph.D. candidate under the author’s supervision, was instrumental in completing the Second Edition. This work comprises the development of algorithms and code for the solution of the inverse displacement problem of serial robots with architectures that prevent a decoupling of the positioning from the orientation problems. The material in Chap.  9 , which was deeply revised in the Third Edition and remained virtually untouched in the current edition, is largely based on this work.

I would like to thank all those who provided valuable advice for improvement: Profs. Carlos López-Cajún, Universidad Autónoma de Querétaro (Mexico), and J. Jesús Cervantes-Sánchez, Universidad de Guanajuato (Mexico), pointed out many inconsistencies in the First Edition; Dr. Zheng Liu, Canadian Space Agency, St.-Hubert (Quebec, Canada), who taught a course based on the first six chapters of the book at McGill University, pointed out mistakes and gave valuable suggestions for improving the readability of the book. Additionally, the valuable suggestions received from Prof. Pierre Larochelle, Florida Institute of Technology, were also incorporated. Needless to say, the feedback received from students throughout more than 20 years of using this material in the classroom is highly acknowledged.

Not the least, the C-code RVS, developed on Silicon Graphics’ IRIX—a dialect of UNIX—in the 1990s, was ported into Windows. The code is now available under the name RVS4W (RVS for Windows). RVS, introduced already in the First Edition, is the software system I have used at McGill University’s Centre for Intelligent Machines to visualize robot motions in projects on design, control, and motion-planning. The original C-code, and the whole idea of RVS, is due to the creative work of John Darcovich, now a Senior Engineer at CAE Electronics Ltd., when he was a Research Engineer at McGill University’s Robotic Mechanical Systems Laboratory.

In the Fourth Edition, I include new photographs that replaced old ones. For the magnificent animation of space robots, included in the above site, I am indebted to the Canadian Space Agency and MDA, the Brampton, Ontario-based manufacturer of Canadarm and Canadarm2.

Since there is always room for improvement, I welcome suggestions from the readership, to the address below. Updates on the book will be posted at

www.​cim.​mcgill.​ca/​~rmsl

The Solutions Manual has been expanded to include more solutions of sampled problems. By the same token, the number of exercises has been expanded. The manual is typeset in LaTeX and contains numerous figures; it is available from the publisher upon request.

In closing, I would like to thank Dr. Xiaoqing Ma, who assisted me with the editing of the Fourth Edition and the production of a few figures. Dr. Waseem A. Khan, now a Senior Research Engineer at Montreal-based Jabez Technologies Inc., is to be thanked for the excellent additional drawings required by the Third Edition, besides some coding, while he was a Ph.D. candidate at McGill University. Dr. Stéphane Caro, currently a researcher at France’s Ecole Centrale de Nantes , contributed with Matlab coding while working at McGill University’s Robotic Mechanical Systems Laboratory as a postdoctoral fellow.

Jorge Angeles

Montreal, QC, Canada

Preface to the First Edition

No todos los pensamientos son algorítmicos.

—Mario Bunge ¹

The beginnings of modern robotics can be traced back to the late 1960s with the advent of the microprocessor, which made possible the computer control of a multiaxial manipulator. Since those days, robotics has evolved from a technology developed around this class of manipulators for the replaying of a preprogrammed task to a multidiscipline encompassing many branches of science and engineering. Research areas such as computer vision, artificial intelligence, and speech recognition play key roles in the development and implementation of robotics; these are, in turn, multidisciplines supported by computer science, electronics, and control, at their very foundations. Thus we see that robotics covers a rather broad spectrum of knowledge, the scope of this book being only a narrow band of this spectrum, as outlined below.

Contemporary robotics aims at the design, control, and implementation of systems capable of performing a task defined at a high level, in a language resembling those used by humans to communicate among themselves. Moreover, robotic systems can take on forms of all kinds, ranging from the most intangible, such as interpreting images collected by a space sound, to the most concrete, such as cutting tissue in a surgical operation. We can, therefore, notice that motion is not essential to a robotic system, for this system is meant to replace humans in many of their activities, moving being but one of them. However, since robots evolved from early programmable manipulators, one tends to identify robots with motion and manipulation. Certainly, robots may rely on a mechanical system to perform their intended tasks. When this is the case, we can speak of robotic mechanical systems , which are the subject of this book. These tasks, in turn, can be of a most varied nature, mainly involving motions such as manipulation, but they can also involve locomotion. Moreover, manipulation can be as simple as displacing objects from a belt conveyor to a magazine. On the other hand, manipulation can also be as complex as displacing these objects while observing constraints on both motion and force, e.g., when cutting live tissue of vital organs. We can, thus, distinguish between plain manipulation and dextrous manipulation. Furthermore, manipulation can involve locomotion as well.

The task of a robotic mechanical system is, hence, intimately related to motion control, which warrants a detailed study of mechanical systems as elements of a robotic system. The aim of this book can, therefore, be stated as establishing the foundations on which the design, control, and implementation of robotic mechanical systems are based .

The book evolved from sets of lecture notes developed at McGill University over the last 12 years, while I was teaching a two-semester sequence of courses on robotic mechanical systems. For this reason, the book comprises two parts—an introductory and an intermediate part on robotic mechanical systems. Advanced topics, such as redundant manipulators, manipulators with flexible links and joints, and force control, are omitted. The feedback control of robotic mechanical systems is also omitted, although the book refers the reader, when appropriate, to the specialized literature. An aim of the book is to serve as a textbook in a 1-year robotics course; another aim is to serve as a reference to the practicing engineer.

The book assumes some familiarity with the mathematics taught in any engineering or science curriculum in the first 2 years of college. Familiarity with elementary mechanics is helpful, but not essential, for the elements of this science needed to understand the mechanics of robotic systems are covered in the first three chapters, thereby making the book self-contained. These three chapters, moreover, are meant to introduce the reader to the notation and the basics of mathematics and rigid-body mechanics needed in the study of the systems at hand. The material covered in the same chapters can thus serve as reading material for a course on the mathematics of robotics, intended for sophomore students of science and engineering, prior to a more formal course on robotics.

The first chapter is intended to give the reader an overview of the subject matter and to highlight the major issues in the realm of robotic mechanical systems. Chapter  2 is devoted to notation, nomenclature, and the basics of linear transformations to understand best the essence of rigid-body kinematics, an area that is covered in great detail throughout the book. A unique feature of this chapter is the discussion of the hand–eye calibration problem: Many a paper has been written in an attempt to solve this fundamental problem, always leading to a cumbersome solution that invokes nonlinear-equation solving, a task that invariably calls for an iterative procedure; moreover, within each iteration, a singular-value decomposition, itself iterative as well, is required. In Chap.  2 , a novel approach is introduced, which resorts to invariant properties of rotations and leads to a direct solution , involving straightforward matrix and vector multiplications. Chapter  3 reviews, in turn, the basic theorems of rigid-body kinetostatics and dynamics. The viewpoint here represents a major departure from most existing books on robotic manipulators: proper orthogonal matrices can be regarded as coordinate transformations indeed, but they can also be regarded as representations, once a coordinate frame has been selected, of rigid-body rotations. I adopt the latter viewpoint, and hence fundamental concepts are explained in terms of their invariant properties, i.e., properties that are independent of the coordinate frame adopted. Hence, matrices are used first and foremost to represent the physical motions undergone by rigid bodies and systems thereof; they are to be interpreted as such when studying the basics of rigid-body mechanics in this chapter. Chapter  4 is the first chapter entirely devoted to robotic mechanical systems, properly speaking. This chapter covers extensively the kinematics of robotic manipulators of the serial type. However, as far as displacement analysis is concerned, the chapter limits itself to the simplest robotic manipulators, namely, those with a decoupled architecture , i.e., those that can be decomposed into a regional architecture for the positioning of one point of their end-effector (EE), and a local architecture for the orientation of their EE. In this chapter, the notation of Denavit and Hartenberg is introduced and applied consistently throughout the book. Jacobian matrices, workspaces, singularities, and kinetostatic performance indices are concepts studied in this chapter. A novel algorithm is included for the determination of the workspace boundary of positioning manipulators. Furthermore, Chap.  5 is devoted to the topic of trajectory planning, while limiting its scope to problems suitable to a first course on robotics; this chapter thus focuses on pick-and-place operations. Chapter  6 , moreover, introduces the dynamics of robotic manipulators of the serial type, while discussing extensively the recursive Newton–Euler algorithm and laying the foundations of multibody dynamics, with an introduction to the Euler–Lagrange formulation. The latter is used to derive the general algebraic structure of the mathematical models of the systems under study, thus completing the introductory part of the book.

The intermediate part comprises four chapters. Chapter  7 is devoted to the increasingly important problem of determining the angular velocity and the angular acceleration of a rigid body, when the velocity and acceleration of a set of its points are known. Moreover, given the intermediate level of the chapter, only the theoretical aspects of the problem are studied, and hence, perfect measurements of point position, velocity, and acceleration are assumed, thereby laying the foundations for the study of the same problems in the presence of noisy measurements. This problem is finding applications in the control of parallel manipulators, which is the reason why it is included here. If time constraints so dictate, this chapter can be omitted, for it is not needed in the balance of the book.

The formulation of the inverse kinematics of the most general robotic manipulator of the serial type, leading to a univariate polynomial of the 16th degree, not discussed in previous books on robotics, is included in Chap.  8.​ Likewise, the direct kinematics of the platform manipulator popularly known as the Stewart platform , a.k.a. the Stewart–Gough platform , leading to a 16th-degree monovariate polynomial, is also given due attention in this chapter. Moreover, an alternative approach to the monovariate-polynomial solution of the two foregoing problems, that is aimed at solving them semigraphically , is introduced in this chapter. With this approach, the underlying multivariate algebraic system of equations is reduced to a system of two nonlinear bivariate equations that are trigonometric rather than polynomial. Each of these two equations, then, leads to a contour in the plane of the two variables, the desired solutions being found as the coordinates of the intersections of the two contours.

Discussed in Chap.  9 is the problem of trajectory planning as pertaining to continuous paths, which calls for some concepts of differential geometry, namely, the Frenet–Serret equations relating the tangent, normal, and binormal vectors of a smooth curve to their rates of change with respect to the arc length. The chapter relies on cubic parametric splines for the synthesis of the generated trajectories in joint space, starting from their descriptions in Cartesian space. Finally, Chap.  10 completes the discussion initiated in Chap.  6 , with an outline of the dynamics of parallel manipulators and rolling robots. Here, a multibody dynamics approach is introduced, as in the foregoing chapter, that eases the formulation of the underlying mathematical models.

Two appendices are included: Appendix A summarizes a series of facts from the kinematics of rotations, that are available elsewhere, with the purpose of rendering the book self-contained; Appendix B is devoted to the numerical solution of over- and underdetermined linear algebraic systems, its purpose being to guide the reader to the existing robust techniques for the computation of least-square and minimum-norm solutions. The book concludes with a set of problems, along with a list of references, for all ten chapters.

On Notation

The important issue of notation is given due attention. In figuring out the notation, I have adopted what I call the C ³ norm . Under this norm, the notation should be

1.

C omprehensive,

2.

C oncise, and

3.

C onsistent.

Within this norm, I have used boldface fonts to indicate vectors and matrices, with uppercases reserved for matrices and lowercases for vectors. In compliance with the invariant approach adopted at the outset, I do not regard vectors solely as arrays, but as geometric or mechanical objects. Regarding such objects as arrays is necessary only when it is required to perform operations with them for a specific purpose. An essential feature of vectors in a discussion is their dimension, which is indicated with a single number, as opposed to the convention whereby vectors are regarded as matrix arrays of numbers; in this convention, the dimension has to be indicated with two numbers, one for the number of columns, and one for the number of rows; in the case of vectors, the latter is always one, and hence need not be mentioned. Additionally, calligraphic literals are reserved for sets of points or of other objects. Since variables are defined every time that they are introduced, and the same variable is used in the book to denote different concepts in different contexts, a list of symbols is not included.

How to Use the Book

The book can be used as a reference or as a text for the teaching of the mechanics of robots to an audience that ranges from junior undergraduates to doctoral students. In an introductory course, the instructor may have to make choices regarding what material to skip, given that the duration of a regular semester does not allow to cover all that is included in the first six chapters. Topics that can be skipped, if time so dictates, are the discussions, in Chap.  4 , of workspaces and performance indices, and the section on simulation in Chap.  6 . Under strict time constraints, the whole Chap.  5 can be skipped, but then, the instructor will have to refrain from assigning problems or projects that include calculating the inverse dynamics of a robot performing pick-and-place operations. None of these has been included in Sect. 6 of the Exercises.

If sections of Chaps.  4 and 5 have been omitted in a first course, it is highly advisable to include them in a second course, prior to discussing the chapters included in the intermediate part of the book.

Acknowledgments

For the technical support received during the writing of this book, I am indebted to many people: First and foremost, Eric Martin and Ferhan Bulca, Ph.D. candidates under my cosupervision, are deeply thanked for their invaluable help and unlimited patience in the editing of the manuscript and the professional work displayed in the production of the drawings. With regard to this task, Dr. Max A. González-Palacios, currently Assistant Professor of Mechanical Engineering at Universidad Iberoamericana at León, Mexico, is due special recognition for the high standards he set while working on his Ph.D. at McGill University. My colleagues Ken J. Waldron, Clément Gosselin, and Jean-Pierre Merlet contributed with constructive criticism. Dr. Andrés Kecskeméthy proofread major parts of the manuscript during his sabbatical leave at McGill University. In doing this, Dr. Kecskeméthy corrected a few derivations that were flawed. Discussions on geometry and analysis held with Dr. Manfred Husty, of Leoben University, in Austria, also a sabbaticant at McGill University, were extremely fruitful in clearing up many issues in Chaps.  2 and  3 . An early version of the manuscript was deeply scrutinized by Meyer Nahon, now Associate Professor at the University of Victoria, when he was completing his Ph.D. at McGill University. Discussions with Farzam Ranjbaran, a Ph.D. candidate at McGill University, on kinetostatic performance indices, helped clarify many concepts around this issue. Dr. Kourosh Etemadi Zanganeh contributed with ideas for a more effective discussion of the parametric representation of paths in Chap.  9 and with some of the examples in Chaps.  4 and 8 during his work at McGill University as a Ph.D. student. The material supplied by Clément Gosselin on trajectory planning helped me start the writing of Chap.  5 . All individuals and institutions who contributed with graphical material are given due credit in the book. Here, they are all deeply acknowledged.

A turning point in writing this manuscript was the academic year 1991–1992, during which I could achieve substantial progress while on sabbatical leave at the Technical University of Munich under an Alexander von Humboldt Research Award. Deep gratitude is expressed here to both the AvH Foundation and Prof. Friedrich Pfeiffer, Director of the Institute B for Mechanics and my host in Munich. Likewise, Prof. Manfred Broy, of the Computer Science Institute at the Technical University of Munich, is herewith acknowledged for having given me access to his Unix network when the need arose. The intellectual environment at the Technical University of Munich was a source of encouragement and motivation to pursue the writing of the book.

Moreover, financial support from NSERC ² and Quebec’s FCAR, ³ in the form of research and strategic grants, is duly acknowledged. IRIS, ⁴ a network of Canadian centers of excellence, supported this work indirectly through project grants in the areas of robot design and robot control. An invaluable tool in developing material for the book proved to be RVS, the McGill Robot Visualization System, developed in the framework of an NSERC Strategic Grant on robot design, and the two IRIS project grants mentioned above. RVS was developed by John Darcovich, a Software Engineer at McGill University for about 4 years, and now at CAE Electronics Ltd., of Saint-Laurent, Quebec. While RVS is user-friendly and available upon request, no technical support is offered. For further details on RVS, the reader is invited to look at the home page of the McGill University Centre for Intelligent Machines:

              http://www.cim.mcgill.ca/~rvs

Furthermore, Lenore Reismann, a professional technical editor based in Redwood City, California, proofread parts of the manuscript and edited its language with great care. Lenore’s professional help is herewith highly acknowledged. Dr. Rüdiger Gebauer, mathematics editor at Springer-Verlag, New York, is gratefully acknowledged for his encouragement in pursuing this project. Springer-Verlag’s Dr. Thomas von Foerster is likewise acknowledged for the care with which he undertook the production of the book, and also his colleague Steven Pisano, for his invaluable help in the copy-editing of the final draft. Steven and his staff not only took care of the fine points of the typesetting but also picked up a few technical flaws in that draft. Last but not least, may I acknowledge the excellent facilities and research environment provided by the Centre for Intelligent Machines, the Department of Mechanical Engineering of McGill University, and McGill University as a whole, which were instrumental in completing this rather lengthy project.

Jorge Angeles

Montreal, QC, Canada

Contents

1 An Overview of Robotic Mechanical Systems 1

1.​1 Introduction 1

1.​2 The General Architecture of Robotic Mechanical Systems 3

1.​2.​1 Types of Robots by Function 7

1.​2.​2 Types of Robots by Size 7

1.​2.​3 Types of Robots by Application 7

1.​3 Manipulators 8

1.​3.​1 Robotic Arms 9

1.​3.​2 Robotic Hands 10

1.​4 Motion Generators 12

1.​4.​1 Parallel Robots 12

1.​4.​2 SCARA Systems 15

1.​5 Locomotors 17

1.​5.​1 Legged Robots 17

1.​5.​2 Wheeled Robots and Rovers 19

1.​6 Swimming Robots 23

1.​7 Flying Robots 24

1.​8 Exercises 24

2 Mathematical Background 27

2.​1 Preamble 27

2.​2 Linear Transformations 28

2.​3 Rigid-Body Rotations 33

2.​3.​1 The Cross-Product Matrix 37

2.​3.​2 The Rotation Matrix 41

2.​3.​3 The Linear Invariants of a 3 ×3 Matrix 44

2.​3.​4 The Linear Invariants of a Rotation 46

2.​3.​5 Examples 48

2.​3.​6 The Euler–Rodrigues Parameters 55

2.​4 Composition of Reflections and Rotations 58

2.​5 Coordinate Transformations and Homogeneous Coordinates 60

2.​5.​1 Coordinate Transformations Between Frames with a Common Origin 60

2.​5.​2 Coordinate Transformation with Origin Shift 64

2.​5.​3 Homogeneous Coordinates 66

2.​6 Similarity Transformations 70

2.​7 Invariance Concepts 76

2.​7.​1 Applications to Redundant Sensing 81

2.​8 Exercises 85

3 Fundamentals of Rigid-Body Mechanics 95

3.​1 Introduction 95

3.​2 General Rigid-Body Motion and Its Associated Screw 95

3.​2.​1 The Screw of a Rigid-Body Motion 99

3.​2.​2 The Plücker Coordinates of a Line 102

3.​2.​3 The Pose of a Rigid Body 105

3.​3 Rotation of a Rigid Body About a Fixed Point 108

3.​4 General Instantaneous Motion of a Rigid Body 109

3.​4.​1 The Instant Screw of a Rigid-Body Motion 110

3.​4.​2 The Twist of a Rigid Body 114

3.​5 Acceleration Analysis of Rigid-Body Motions 117

3.​6 Rigid-Body Motion Referred to Moving Coordinate Axes 120

3.​7 Static Analysis of Rigid Bodies 121

3.​8 Dynamics of Rigid Bodies 125

3.​9 Exercises 131

4 Geometry of Decoupled Serial Robots 139

4.​1 Introduction 139

4.​2 The Denavit–Hartenberg Notation 139

4.​3 The Geometric Model of Six-Revolute Manipulators 150

4.​4 The Inverse Displacement Analysis of Decoupled Manipulators 154

4.​4.​1 The Positioning Problem 154

4.​4.​2 The Orientation Problem 171

4.​5 Exercises 179

5 Kinetostatics of Serial Robots 185

5.​1 Introduction 185

5.​2 Velocity Analysis of Serial Manipulators 186

5.​2.​1 Decoupled Manipulators 191

5.​3 Jacobian Evaluation 194

5.​3.​1 Evaluation of Submatrix A 195

5.​3.​2 Evaluation of Submatrix B 197

5.​4 Singularity Analysis of Decoupled Manipulators 199

5.​4.​1 Manipulator Workspace 202

5.​5 Acceleration Analysis of Serial Manipulators 206

5.​6 Static Analysis of Serial Manipulators 210

5.​7 Planar Manipulators 212

5.​7.​1 Displacement Analysis 214

5.​7.​2 Velocity Analysis 216

5.​7.​3 Acceleration Analysis 218

5.​7.​4 Static Analysis 220

5.​8 Kinetostatic Performance Indices 221

5.​8.​1 Positioning Manipulators 228

5.​8.​2 Orienting Manipulators 231

5.​8.​3 Positioning and Orienting Manipulators 232

5.​8.​4 Computation of the Characteristic Length:​ Applications to Performance Evaluation 240

5.​9 Exercises 249

6 Trajectory Planning:​ Pick-and-Place Operations 255

6.​1 Introduction 255

6.​2 Background on PPO 256

6.​3 Polynomial Interpolation 258

6.​3.​1 A 3-4-5 Interpolating Polynomial 258

6.​3.​2 A 4-5-6-7 Interpolating Polynomial 262

6.​4 Cycloidal Motion 265

6.​5 Trajectories with via Poses 267

6.​6 Synthesis of PPO Using Cubic Splines 269

6.​7 Exercises 277

7 Dynamics of Serial Robotic Manipulators 281

7.​1 Introduction 281

7.​2 Inverse vs.​ Forward Dynamics 281

7.​3 Fundamentals of Multibody System Dynamics 283

7.​3.​1 On Nomenclature and Basic Definitions 283

7.​3.​2 The Euler–Lagrange Equations of Serial Manipulators 284

7.​3.​3 Kane’s Equations 293

7.​4 Recursive Inverse Dynamics 294

7.​4.​1 Kinematics Computations:​ Outward Recursions 295

7.​4.​2 Dynamics Computations:​ Inward Recursions 301

7.​5 The Natural Orthogonal Complement 306

7.​5.​1 Derivation of Constraint Equations and Twist–Shape Relations 311

7.​5.​2 Noninertial Base Link 316

7.​6 Manipulator Forward Dynamics 317

7.​6.​1 Planar Manipulators 330

7.​6.​2 Algorithm Complexity 335

7.​6.​3 Simulation 339

7.​7 Incorporation of Gravity into the Dynamics Equations 342

7.​8 The Modeling of Dissipative Forces 343

7.​9 Exercises 346

8 Special Topics in Rigid-Body Kinematics 353

8.​1 Introduction 353

8.​2 Computation of Angular Velocity from Point-Velocity Data 353

8.​2.​1 A Robust Formulation 360

8.​3 Computation of Angular Acceleration from Point-Acceleration Data 362

8.​3.​1 A Robust Formulation 369

8.​4 Exercises 370

9 Geometry of General Serial Robots 375

9.​1 Introduction 375

9.​2 The IDP of General Six-Revolute Manipulators 375

9.​2.​1 Preliminaries 377

9.​2.​2 Derivation of the Fundamental Closure Equations 381

9.​3 The Univariate-Polynomial Approach 390

9.​3.​1 The Raghavan–Roth Procedure 390

9.​3.​2 The Li–Woernle–Hiller Procedure 398

9.​4 The Bivariate-Equation Approach 401

9.​4.​1 Numerical Conditioning of the Solutions 403

9.​5 Implementation of the Solution Method 404

9.​6 Computation of the Remaining Joint Angles 406

9.​6.​1 The Raghavan–Roth Procedure 406

9.​6.​2 The Li–Woernle–Hiller Procedure 407

9.​6.​3 The Bivariate-Equation Approach 408

9.​7 Examples 410

9.​8 Exercises 418

10 Kinematics of Alternative Robotic Mechanical Systems 421

10.​1 Introduction 421

10.​2 Kinematics of Parallel Manipulators 421

10.​2.​1 Velocity and Acceleration Analyses of Parallel Manipulators 436

10.​3 Multifingered Hands 442

10.​4 Walking Machines 447

10.​5 Rolling Robots 450

10.​5.​1 Robots with Conventional Wheels 451

10.​5.​2 Robots with Omnidirectional Wheels 457

10.​6 Exercises 461

11 Trajectory Planning:​ Continuous-Path Operations 465

11.​1 Introduction 465

11.​2 Curve Geometry 466

11.​3 Parametric Path Representation 472

11.​4 Parametric Splines in Trajectory Planning 486

11.​5 Continuous-Path Tracking 492

11.​6 Exercises 501

12 Dynamics of Complex Robotic Mechanical Systems 507

12.​1 Introduction 507

12.​2 Classification of Robotic Mechanical Systems with Regard to Dynamics 507

12.​3 The Structure of the Dynamics Models of Holonomic Systems 509

12.​4 Dynamics of Parallel Manipulators 512

12.​5 Dynamics of Rolling Robots 523

12.​5.​1 Robots with Conventional Wheels 524

12.​5.​2 Robots with Omnidirectional Wheels 534

12.​6 Exercises 543

Erratum E-1

A Kinematics of Rotations: A Summary547

B Numerical Equation-Solving555

B.1 The Overdetermined Linear Case556

B.1.1 The Numerical Solution of an Overdetermined System of Linear Equations558

B.2 The Underdetermined Linear Case562

B.2.1 The Numerical Solution of an Underdetermined System of Linear Equations563

B.3 Nonlinear-Equation Solving: The Determined Case564

B.3.1 The Newton–Raphson Method566

B.4 Overdetermined Nonlinear Systems of Equations568

B.4.1 The Newton–Gauss Method568

B.4.2 Convergence Criterion569

References573

Index583

Footnotes

1

Not all thinking processes are algorithmic —translation of the author—personal communication during the Symposium on the Brain-Mind Problem. A Tribute to Professor Mario Bunge on His 75th Birthday , Montreal, September 30, 1994.

2

Natural Sciences and Engineering Research Council of Canada.

3

Fonds pour la formation de chercheurs et l’aide à la recherche.

4

Institute for Robotics and Intelligent Systems.

© Springer International Publishing Switzerland 2014

Jorge AngelesFundamentals of Robotic Mechanical SystemsMechanical Engineering Series12410.1007/978-3-319-01851-5_1

1. An Overview of Robotic Mechanical Systems

Jorge Angeles1 

(1)

Department of Mechanical Engineering Centre for Intelligent Machines (CIM), McGill University, Montreal, QC, Canada

Electronic supplementary material

The online version of this article (doi: 10.​1007/​978-3-319-01851-5_​1) contains supplementary material, which is available to authorized users.

1.1 Introduction

In defining the scope of our subject, we have to establish the genealogy of robotic mechanical systems. These are, obviously, a subclass of the much broader class of mechanical systems. Mechanical systems, in turn, constitute a subset of the more general concept of dynamic systems. In the end, we must have an idea of what, in general, a system is.

The Concise Oxford Dictionary defines system as a “complex whole, set of connected things or parts, organized body of material or immaterial things,” whereas the Random House College Dictionary defines the same as “an assemblage or combination of things or parts forming a complex or unitary whole.” Le Petit Robert, in turn, defines system as “Ensemble possédant une structure, constituant un tout organique,” which can be loosely translated as “A structured assemblage constituting an organic whole.” In the foregoing definitions, we note that the underlying idea is that of a set of elements interacting as a whole.

On the other hand, a dynamic system is a subset of the set of systems. For our purposes, we can dispense with a rigorous definition of this concept. Suffice it to say that, to qualify as dynamic, a system should be endowed with three elements, namely, a state, an input, and an output, in addition to a rule of transition from one current state to a future one. Moreover, the state is a functional of the input and a function of a previous state. In this concept, then, the idea of order is important, and can be taken into account by properly associating each state value with time. The state at every instant is a functional, as opposed to a function, of the input, which is characteristic of dynamic systems. This means that the state of a dynamic system at a certain instant is determined not only by the value of the input at that instant, but also by the past history of the input—besides, of course, its initial state. By virtue of this property, dynamic systems are said to have memory.

On the contrary, systems whose state at a given instant is only a function of the input at the current time are static, and said to have no memory. Additionally, since the state of a dynamic system is a result of all the past history of the input, the future values of this having no influence on the state, dynamic systems are said to be nonanticipative or causal. By the same token, systems whose state is the result of future values of the input are said to be anticipative or noncausal. In fact, we need not worry about the latter, and hence, all systems we will study will be assumed to be causal.

Obviously, a mechanical system is a system composed of mechanical elements. If this system complies with the definition of dynamic system, then we end up with a dynamic mechanical system. For brevity, we will refer to such systems as mechanical systems, the dynamic property being implicit throughout the book. Mechanical systems of this type are those that occur whenever the inertia of their elements is accounted for. Static mechanical systems are those in which inertia is neglected. Moreover, the elements constituting a mechanical system are rigid and deformable solids, compressible and incompressible fluids, and inviscid and viscous fluids.

From the foregoing discussion, then, it is apparent that mechanical systems can be constituted either by lumped-parameter or by distributed-parameter elements. The former reduce to particles; rigid bodies; massless, conservative springs; and massless, nonconservative dashpots. The latter appear whenever bodies are modeled as continuous media. In this book, we will focus on lumped-parameter mechanical systems. In mechanical systems, the driving forces and moments exerted by the actuators and the environment play the role of the input, the set of signals picked up by the sensors that of the output. Finally, the rules of transition are dictated by the laws of nature, especially from mechanics, electromagnetics and biology.

Furthermore, a mechanical system can be either natural or engineered,¹ the latter being the subject of our study. Engineered mechanical systems can be either controlled or uncontrolled. Most engineering systems are controlled mechanical systems, and hence, we will focus on these. Moreover, a controlled mechanical system may be robotic or nonrobotic. The latter are systems supplied with primitive controllers, mostly analog, such as thermostats, servovalves, etc. Robotic mechanical systems, in turn, can be programmable, such as most current industrial robots, or intelligent, as discussed below. Programmable mechanical systems obey motion commands either stored in a memory device or generated on-line. In either case, they need sensors, such as joint encoders, accelerometers, and dynamometers.

Intelligent robots or, more broadly speaking, intelligent machines, are yet to be demonstrated, but have become the focus of intensive research. If intelligent machines are ever feasible, they will depend highly on a sophisticated sensory system and the associated hardware and software for the processing of the information supplied by the sensors. The processed information would then be supplied to the actuators in charge of producing the desired robot motion. Contrary to programmable robots, whose operation is limited to structured environments, intelligent machines should be capable of reacting to unpredictable changes in an unstructured environment. Thus, intelligent machines should be supplied with decision-making capabilities aimed at mimicking the natural decision-making process of living organisms. This is the reason why such systems are termed intelligent in the first place. Thus, intelligent machines are expected to perceive their environment and draw conclusions based on this perception. What is supposed to make these systems intelligent is their capability of perceiving, which involves a certain element of subjectivity. By far, the most complex of perception tasks, both in humans and machines, is visual (Levine 1985; Horn 1986).

In summary, then, an intelligent machine is expected to (a) perceive the environment; (b) reason about this perception; (c) make decisions based on this reasoning; and (d) act according to a plan specified at a very high level. What the latter means is that the motions undergone by the machine are decided upon based on instructions similar to those given to a human being, like bring me a glass of water without spilling the water.

Whether intelligent machines with all the above features will be 1 day possible or not is still a subject of discussion, sometimes at a philosophical level. Penrose (1994) wrote a refutal to the claim that intelligent machines are possible.

A genealogy of mechanical systems, including robotic ones, is given in Fig. 1.1. In that figure, we have drawn a dashed line between mechanical systems and other systems, both engineered and natural. This line is intended to emphasize the interaction of mechanical systems with electrical, thermal, and other systems, including the human system, which is present in telemanipulators, to be discussed below.

Fig. 1.1

A genealogy of robotic mechanical systems

1.2 The General Architecture of Robotic Mechanical Systems

From Sect. 1.1, then, a robotic mechanical system is composed of a few subsystems, namely, (a) a mechanical subsystem composed in turn of both rigid and deformable bodies, although the systems we will study here are composed only of the former; (b) a sensing subsystem; (c) an actuation subsystem; (d) a controller; and (e) an information-processing subsystem. Additionally, these subsystems communicate among themselves via interfaces, whose function consists basically of decoding the transmitted information from one medium to another. Figure 1.2 illustrates the general architecture ² of a typical robotic mechanical system. The input here is a prescribed task, which is defined either on the spot or off-line. The former case is essential for a machine to be called intelligent, while the latter is present in programmable machines. Thus, tasks would be described to intelligent machines by a software system based on techniques of artificial intelligence (AI). This system would replace the human being in the decision-making process. Programmable robots require human intervention either for the coding of preprogrammed tasks at a very low level or for telemanipulation. A “very low level of programming” means that the motions of the machine are specified as a sequence of either joint motions or Cartesian coordinates associated with landmark points of that specific body performing the task at hand. The output of a robotic mechanical system is the actual task, which is monitored by the sensors. The sensors, in turn, transmit task information in the form of feedback signals, to be compared with the prescribed task. The errors between the prescribed and the actual task are then fed back into the controller, which further synthesizes the necessary corrective signals. These are, in turn, fed back into the actuators, which then drive the mechanical system through the required task, thereby closing the loop. The problem of robot control has received extensive attention in the literature, and will not be pursued here. The interested reader is referred to the excellent works on the subject, e.g., those of Samson et al. (1991), Khalil and Dombre (2002); and Spong et al. (2006). Of special relevance to robot control is the subject of nonlinear control at large, a pioneer here being Isidori (1989).

Fig. 1.2

General architecture of a robotic mechanical system

Robotic mechanical systems with a human being in their control loop are called telemanipulators. Thus, a telemanipulator is a robotic mechanical system in which the task is controlled by a human, possibly aided by sophisticated sensors and display units. The human operator replaces the ROBOT MODEL block in the diagram of Fig. 1.2, produces the task description, becomes a part of the sensory system, and plays a major role in the INFORMATION PROCESSING UNIT block. Based on the information displayed, the operator makes decisions about corrections in order to accomplish the prescribed task. Shown in Fig. 1.3 is a telemanipulator designed for space applications, namely, the Canadarm2, along with DEXTRE, the Special-Purpose Dextrous Manipulator (SPDM), both mounted on the Mobile Servicing System (MSS), a module of the International Space Station. Moreover, a detailed view of DEXTRE is shown in Fig. 1.4. In the manipulators of these two figures, the human operator is an astronaut who commands and monitors the motions of the robot from inside the EVA (extravehicular activity) workstation. The number of controlled axes of each of these manipulators being larger than six, both are termed redundant. The challenge here is that the mapping from task coordinates to joint motions is not unique, and hence, among the infinitely many joint trajectories that the operator has at his or her disposal for a given task, an on-board processor must evaluate the best one according to a performance criterion.

Fig. 1.3

Canadarm2 and DEXTRE (courtesy of the Canadian Space Agency)

Fig. 1.4

DEXTRE, the special-purpose dextrous manipulator (courtesy of the Canadian Space Agency)

1.2.1 Types of Robots by Function

When the first edition was written, in the early nineties, the classification of robots was rather straightforward, for there were mainly two kinds: serial and parallel. Nowadays a robot classification is a daunting task, by virtue of the intense activity displayed in the areas of robotics research, robot design, innovation and applications. For example, a look at the proceedings of a recent edition of the IEEE International Conference on Robotics and Automation will reveal a vast spectrum of robots currently working on the shopfloor, in the operating room, in rehabilitation centers, and even at home. In attempting a classification of robots, the most comprehensive criterion would be by function. We thus have a tentative, but by no means comprehensive, classification:

Manipulators: robotic arms and hands;

motion generators: flight simulators; SCARA (Selective-Compliance Assembly Robot Arm); and moving platforms at large;

locomotors, a.k.a. mobile robots: legged and wheeled robots, including rovers;

swimming robots; and

flying robots.

We expand below on these robot types.

1.2.2 Types of Robots by Size

The most common type of robots under this criterion is macro-robots, or those whose dimensions are measured in meter. These are robots with a reach of typically a couple of meters. Shown in Fig. 1.5 is a heavy-duty robot, IRB-7600, manufactured by ABB Robotics, with a reach of 2.800 m and a load-carrying capacity of 3,332 N. This robot finds applications mainly in the manipulation of heavy parts in the automobile industry.

Fig. 1.5

The IRB-7600, a heavy-duty robotic arm with a serial architecture (courtesy of ABB robotics)

Micro-robots bear dimensions allowing them a reach of a fraction of a mm. For example, the robot reported by Sun et al. (2005) for MEMS (micro-electromechanical systems) assembly, features a maximum reach of 100 μm in each of two orthogonal directions and one of 50 μm in a direction orthogonal to these two.

1.2.3 Types of Robots by Application

Robot applications have widespread as much as robot architectures. Current applications span the classical industrial robots for arc-welding, for example, on to material-handling, surveillance, surgical operations, rehabilitation and entertainment.

1.3 Manipulators

Of all robotic mechanical systems, manipulators deserve special attention for various reasons. One is that, in their simplest form, as robotic arms, they occur most frequently in industry. Another is that the architecture of robotic arms constitutes the simplest of all robotic architectures, and hence, appear as constituents of other, more complex robotic mechanical systems, as will become apparent in later chapters. A manipulator, in general, is a mechanical system aimed at object manipulation. Manipulating, in turn, means to move something with one’s hands, as the word derives from the Latin manus, meaning hand. The basic idea behind the foregoing concept is that hands are among the organs that the human brain can control mechanically with the highest accuracy, as the work of an artist like Picasso, of an accomplished guitar player, or of a surgeon can attest.

A manipulator is thus any device that helps a human operator perform a manipulating task. Although manipulators have existed ever since man created the first tool, only very recently, namely, by the end of World War II, have manipulators developed to the extent that they are now capable of actually mimicking motions of the human arm, and of the human hand, for that matter. In fact, during WWII, the need arose for manipulating probe tubes containing radioactive substances. This led to the first six-degree-of-freedom (six-dof) manipulators.

Shortly thereafter, the need for manufacturing workpieces with high accuracy arose in the aircraft industry, which led to the first numerically-controlled (NC) machine tools. The synthesis of the six-DOF manipulator and the NC machine tool produced what became the robotic manipulator. Thus, the essential difference between the early manipulator and the evolved robotic manipulator is the “robotic” qualifier, which came into the picture in the late sixties. A robotic manipulator is to be distinguished from the early manipulator by its capability of lending itself to computer control. While the early manipulator needed the presence of a human in the loop, to have a master manipulator perform a gesture, the robotic manipulator can be programmed once and for all to repeat the same task forever. Programmable manipulators owe their existence to the microprocessor. Indeed, the microprocessor, introduced in 1976 by Intel, allowed a human master to teach the manipulator by actually driving the manipulator itself, or a replica thereof, through a desired task, while recording all motions undergone by the master. Thus, the manipulator would later repeat the identical task by mere playback. However, the capabilities of industrial robots are fully exploited only if the manipulator is programmed with software, rather than actually driving it through its task trajectory, which many a time, e.g., in car-body spot-welding, requires separating the robot from the production line for more than a week. One of the objectives of this book is to develop tools for the programming of robotic manipulators.

Nevertheless, the capabilities offered by robotic mechanical systems go well beyond the mere playback of preprogrammed tasks. Current research aims to providing robotic systems with software and hardware that will allow them to make decisions on the spot and learn while performing a task. The implementation of such systems calls for task-planning techniques that fall beyond the scope of this book and, hence, will not be treated here. For a glimpse of such techniques, the reader is referred to the work of Latombe (1991) and the references therein.

1.3.1 Robotic Arms

Robotic manipulators first appeared as mechanical systems resembling the human arm. Robotic arms are thus constituted by a mechanical system consisting of structurally robust links coupled by either rotational or translating joints, the former being called revolutes, the latter prismatic joints. Moreover, these structures are a concatenation of links, thereby forming an open kinematic chain, with each link coupled to a predecessor and a successor, except for the two end links, which are coupled only to either a predecessor or to a successor, but not to both. The robot displayed in Fig. 1.5 is an example of a robotic arm with strong links.

Because of the serial nature of the coupling of links in this type of manipulator, even if they are supplied with structurally robust links, their load-carrying capacity and their stiffness is too low when compared with the other multiaxis machines, such as NC machine tools. Obviously, a low stiffness implies a low positioning accuracy.

1.3.2 Robotic Hands

Besides the hand, other mechanical subsystems constituting the human manipulation system are the arm and the forearm. Moreover, the shoulder, coupling the arm with the torso, can be regarded as a spherical joint, i.e., the concatenation of three revolute joints with intersecting axes. Furthermore, the arm and the forearm are coupled via the elbow, with the forearm and the hand finally being coupled by the wrist. Frequently, the wrist is modeled as a spherical joint as well, while the elbow is modeled as a simple revolute joint. Robotic mechanical systems mimicking the motions of the arm and the forearm constitute the manipulators discussed above. Here we outline more sophisticated manipulation systems that aim to produce the motions of the human hand, i.e., robotic hands. These systems are designed to perform manipulation tasks, a distinction being made between simple manipulation and dextrous manipulation. What the former means is the simplest form, in which the fingers play a minor role, namely, by serving as simple static structures that keep an object rigidly attached to the palm of the hand—when the palm is regarded as a rigid body. As opposed to simple manipulation, dextrous manipulation involves a controlled motion of the grasped object with respect to the palm. Simple manipulation can be achieved with the aid of a manipulator and a gripper, and need not be further discussed here. The discussion here is about dextrous manipulation.

In dextrous manipulation, the grasped object is required to move with respect to the palm of the grasping hand. This kind of manipulation appears in performing tasks that require high levels of accuracy, like handwriting or cutting tissue with a scalpel. Usually, grasping hands are multifingered, although some grasping devices exist that are constituted by a simple, open, highly redundant kinematic chain (Pettinato and Stephanou 1989). The kinematics of grasping is discussed in Chap. 10. The basic kinematic structure of a multifingered hand consists of a palm, which plays the role of the base of a simple manipulator, and a set of fingers. Thus, kinematically speaking, a multifingered hand has a tree topology, i.e., it entails a common rigid body, the palm, and a set of jointed bodies emanating from the palm. Upon grasping an object with all the fingers, the chain becomes closed, with multiple loops. Moreover, the architecture of the fingers is that of a simple manipulator, consisting of a number—two to four—of revolute-coupled links playing the role of phalanges. However, unlike manipulators of the serial type, whose joints are all independently actuated, those of a mechanical finger are not and, in many instances, are driven by one single master actuator, the remaining joints acting as slaves. Many versions of multifingered hands exist: Stanford/JPL; Utah/MIT; TU Munich; Karlsruhe; Bologna; Leuven; Milan; Belgrade; and University of Toronto, among others. Of these, the Utah/MIT Hand (Jacobsen et al. 1984, 1986) is commercially available. This hand carries four fingers, one of which is opposed to the other three and hence, plays the role of the human thumb. Each finger consists, in turn, of four phalanges coupled by revolute joints; each of these is driven by two tendons that can deliver force only when in tension, each being actuated independently. The TU Munich Hand, shown in Fig. 1.6a, is designed with four identical fingers laid out symmetrically on a hand palm. This hand is hydraulically actuated, and provided with a very high payload-to-weight ratio. Indeed, each finger weighs only 1.470 N, but can exert a force of up to 30 N. A three-fingered hand with 12 degrees of freedom and six actuators, SARAH, was designed at Université Laval’s Laboratoire de Robotique. This hand, illustrated in Fig. 1.6b, is twice as big as the human hand, weighs 88.2 N, and can hold a 686-N load (Laliberté et al. 2002).

Fig. 1.6

Two instances of robotic hands: (a) the four-fingered hydraulically actuated TU Munich Hand (courtesy of Prof. F. Pfeiffer); and (b) Université Laval’s, three-fingered SARAH (courtesy of Prof. C. Gosselin)

We outline below some problems and research trends in the area of dextrous hands. A key issue here is the programming of the motions of the fingers, which is a much more complicated task than the programming of a six-axis manipulator. In this regard, Liu et al. (1989) introduced a task-analysis approach intended to program robotic hand motions at a higher level. These researchers used a heuristic, knowledge-based approach. From an analysis of the various modes of grasping, they concluded that the requirements for grasping tasks are (a) stability, (b) manipulability, (c) torquability, and (d) radial rotatability. Stability is defined as a measure of the tendency of an object to return to its original position after disturbances. Manipulability, as understood in this context, is the ability to impart motion to the object while keeping the fingers in contact with the object. Torquability, or tangential rotatability, is the ability to rotate the long axis of an object—here the authors must assume that the manipulated objects are convex and can be approximated by three-axis ellipsoids, thereby distinguishing between a long and a short axis—with a minimum force, for a prescribed amount of torque. Finally, radial rotatability is the ability to rotate the grasped object about its long axis with minimum torque about the axis.

Furthermore, Allen et al. (1989) introduced an integrated system of both hardware and software for dextrous manipulation. The system integrates force and position sensors with control commands for both the arm and the hand. To demonstrate the effectiveness of their system, the authors implemented a task consisting of removing a light bulb from its socket. Rus (1992) proposed, in turn, a paradigm allowing the high-level, task-oriented manipulation control of planar hands.

While the technological aspects of dextrous manipulation are highly advanced, theoretical aspects are still under research in this area. An extensive literature survey, with 405 references on the subject of manipulation, was given by Reynaerts (1995). But that was the state of the art in the early nineties. In the 2005 IEEE International Conference on Robotics and Automation, there were five sessions on grasping, robotic-finger design, robotic hands and dextrous manipulation. An interesting approach to the programming of dextrous hands, programming by demonstration, was reported by Ekvall and Krajić (2005), under which the robotic hand is taught how to reproduce the grasping sequences of a human hand. The use of vision as a means of grasp-planning was also reported in this conference (Gockel et al. 2005).

1.4 Motion Generators

Under this heading we include robotic systems designed to produce a certain class of motions for various purposes, ranging from manipulation tasks, e.g., the positioning of a camera for surveillance, to the orientation of a surgeon’s scalpel, on to moving platforms for pilot training, as in flight simulators, or for entertainment, to give people the realism of an earthquake or a roller-coaster, or simply of following a musical rhythm. Many a motion generator is supplied with a parallel architecture, as described below.

1.4.1 Parallel Robots

Parallel robots were originally proposed to cope with the problems encountered with their serial counterparts (Merlet 2006), namely, a limited load-carrying capacity, low accuracy, and low stiffness. This kind of robot was thus introduced to withstand higher payloads with lighter links. In a parallel robot, we distinguish one base platform, one moving platform, and various legs or limbs. Each leg is, in turn, a kinematic chain of the serial type, whose end-links are the two platforms. Contrary to serial robots, all of whose joints are actuated, parallel robots are supplied with unactuated joints, which brings about a substantial difference between the two types. The presence of unactuated joints makes the analysis of parallel manipulators, in general, more complex than that of serial robots.

A paradigm of parallel manipulators is the flight simulator, consisting of six legs actuated by hydraulic pistons. The flight simulator with this architecture motivated the early work, starting in the late eighties, on parallel robots. Recently, an explosion of novel designs of parallel robots has occurred, aimed at fast manipulation tasks. An example of these robots, departing from the architecture of flight simulators, is Université Laval’s Agile Eye, depicted in Fig. 1.7. This robot is designed with one fixed base and one moving platform, that carries a small camera. Base and platform are coupled by means of three identical legs, each composed of two links and three revolute joints.³ Moreover, the axes of all nine revolutes intersect at one single point, the center of the mechanical system. For this reason, all robot links move, with respect to the base, under pure rotation, with the robot center remaining fixed. All three direct-drive motors are mounted on the base, and actuate the proximal links of the legs. This robot can reportedly produce angular velocities of the camera as high as 1,000∘/s and angular accelerations of 20,000∘∕s².

Fig. 1.7

Université Laval’s Agile Eye, a three-degree-of-freedom spherical robot with a parallel architecture (courtesy of Prof. Clément Gosselin)

Other parallel robots have been designed for fast assembly operations, e.g., the Delta robot (Clavel 1988), developed at the Lausanne Federal Polytechnic Institute (EPFL). The Delta robot was designed to produce pure translations of its end-platform in 3D space. An instance of this robot, enhanced with a fourth joint of vertical axis, the FlexPicker, is shown in Fig. 1.8. This robot is designed with three identical legs, hanging from the ceiling, which is the robot base. Each leg carries one proximal link, coupled to the base by a revolute, which is actuated by the leg-motor. Furthermore, this link is coupled to the end-plate by means of two revolutes and one novel kinematic pair, the $$\Pi $$-pair, which is nothing but a parallelogram four-bar linkage, the $$\Pi $$-pair being located between the two revolutes. It is noteworthy that the FlexPicker is supplied with one additional actuated joint, at the interface between the moving platform of the original Delta Robot and the gripper, appearing in the figure as a cylindrical piece. This revolute is actuated from the base by means of a transmission mechanism stemming from the center of the base in the figure.

Fig. 1.8

FlexPicker, a realization of EPFL’s Delta Robot (courtesy of ABB Robotics)

Other instances of parallel robots can be cited: Hexa (Pierrot et al. 1991), developed at Université de Montpellier, as a six-degree-of-freedom extension of Clavel’s Delta Robot; Star (Hervé and Sparacino 1992), developed at Ecole Centrale of Paris; the Trussarm, developed at the University of Toronto Institute of Aerospace Studies (UTIAS), shown in Fig. 1.9a (Hughes et al. 1991); INRIA’s main gauche, or left hand, developed by Merlet (2006)⁴ and shown in Fig. 1.9b, which is used as an aid to another robot, possibly of the serial type, to enhance its dexterity; and McGill University’s parallel manipulator, intended as a shoulder module for orientation tasks (Hayward 1994), and capable of three-degree-of-freedom motions, produced by four hydraulic actuators, which gives the robot redundant actuation—Fig. 1.9c.

Fig. 1.9

A sample of parallel manipulators: (a) the UTIAS Trussarm (courtesy of Prof. P. C. Hughes); (b) the Merlet left hand (courtesy of Dr. J.-P. Merlet); and (c) the Hayward shoulder module (courtesy of Prof. V. Hayward)

1.4.2 SCARA Systems

SCARA is an acronym standing for Selective-Compliance Assembly Robot Arm, as coined by Hiroshi Makino (Makino and Furuya 1980), the inventor of this new class of robots. The class was proposed as a means to provide motion capabilities to the end-effector that are required by the assembly of printed-board circuits and other electronic devices with a flat geometry. Motions consist of three independent translations and one rotation about an axis of fixed orientation, usually vertical. These robots have received special attention because of their special structure, offering an extremely high stiffness about two axes of tilting—the axes normal to the axis of rotation. The first robots of this kind appeared with a serial architecture, involving three revolutes and one prismatic joint, the latter being located either at the base or at the end-effector. These robots have attained impressive performance, capable of cycle times of 500 ms or lower, for a standard pick-and-place operation consisting of: (a) upwards translation of 25 mm; (b) horizontal translation of 300 mm, concurrently rotating through an angle of 180∘; and (c) downwards translation of 25 mm. The cycle is closed by returning to the original posture following exactly the same displacement program, but in the reverse order.

Given the serial architecture of most SCARA systems, it appears that the cycle times are extremely difficult to cut further and the load-carrying capacity is equally difficult to increase. This state of affairs has motivated the emergence of alternative architectures, such as parallel or hybrid (serial-parallel). For example, Fanuc’s M410iB and ABB Robotics’ FlexPicker, shown in Fig. 1.8, feature hybrid SCARA architectures with long reaches, of around 3 m and payloads of above 2000 N. The manufacturers did this by means of parallelogram linkages capable of transmitting torque and motion from a common base, turning about a vertical axis, to two horizontal revolute joints, the fourth revolute having a vertical axis. Interestingly, although these robots are medium-to-heavy-duty SCARAs, the manufacturers bill them as “palletizing robots,” with no relation to SCARAs. As a matter of fact, SCARAs can be regarded as generators of the Schönflies displacement subgroup (Bottema and Roth 1979; Hervé 1999). For this reason, SCARA systems are currently referred to as Schönflies-motion generators.

In yet another attempt to overcome the natural limitations of serial SCARAs, parallel architectures have been proposed: H4, a four-limb Schönflies-motion generator developed at France’s Université de Montpellier (Company et al. 2001); the four-limb robot driven with actuated prismatic joints developed at Institut Français de Mécanique Avancée (Gogu 2004); and the McGill SMG developed at McGill University (Al-Widyan and Angeles 2004), that features only two limbs. However, this robot is overconstrained, besides exhibiting a rather limited rotatability of its moving platform. An alternative two-limb parallel SCARA was proposed recently that features an isostatic kinematic chain (Lee and Lee 2010), thereby allowing for assembly even in the presence of non-negligible machining and manufacturing errors. The architecture of this robot is illustrated in Fig. 1.10, which features two cylindrical pairs—two-degree-of-freedom (two-dof) joints that produce rotation about an axis and translation in a direction parallel to the axis—as drive units, to produce Schönflies motions. The gripper is rigidly fastened to a rod with two screws at the ends, of different pitches.

Fig. 1.10

An isostatic two-limb robot capable of SCARA motions

1.5 Locomotors

Under locomotors we include all robots capable of displacing themselves on a surface without any attachment to the surface. Here we distinguish two kinds of robots, legged and wheeled, as outlined below.

1.5.1 Legged Robots

A common architecture of walking machines is the hexapod, examples of which are the Ohio State University (OSU) Hexapod (Klein et al. 1983) and the OSU Adaptive Suspension Vehicle (ASV) (Song and Waldron 1989). A six-legged walking machine with a design that mimics the locomotion system of the Carausius morosus (Graham 1972), also known as the walking stick, was developed at the Technical University of Munich (Pfeiffer et al. 1995). A prototype of this machine, known as the TUM Hexapod, is displayed in Fig. 1.11. The legs of the TUM Hexapod are operated under neural-network control, which gives them a reflex-like response when encountering obstacles: upon sensing an obstacle, the leg bounces back and tries again to move forward, but raising the foot to a higher level. Other legged robots worth mentioning as pioneers are the Sutherland, Sprout and Associates Hexapod (Sutherland and Ullner 1984), the Titan series of quadrupeds (Hirose et al. 1985) and the Odetics series of axially symmetric hexapods (Russell 1983). Surveys of walking machines, of historical interest now, are those of Todd (1985) and the special issue of The International Journal of Robotics Research (Vol. 9, No. 2).

Fig. 1.11

A prototype of the TU Munich Hexapod (courtesy of Prof. F. Pfeiffer. Reproduced with permission of TSI Enterprises, Inc.)

Walking machines appear as the sole means of providing locomotion in highly unstructured environments. In fact, the unique adaptive suspension provided by these machines allows them to navigate on uneven terrain. However, walking machines cannot traverse every type of uneven terrain, for they are of limited dimensions. Hence, if terrain irregularities such as a crevasse wider than the maximum horizontal leg reach or a cliff of depth greater than the maximum vertical leg reach are present, then the machine is prevented from making any progress. This limitation, however, can be overcome by providing the machine with the capability of attaching its feet to the terrain in the same way as a mountain climber goes up a cliff. Moreover, machine functionality is limited not only by the topography of the terrain, but also by the terrain constitution. Whereas hard rock poses no serious problem to a walking machine, muddy terrain can hamper its operation to the point that it may jam the machine. Still, under such adverse conditions, walking machines offer a better maneuverability than other vehicles. Recent work at McGill University⁵ on legged locomotion has led to robots with robust designs allowing them to negotiate mud and even ponds. A series of hexapods, under the name RHEX, has been developed with these features, as shown in Fig. 1.12. The same robot is shown in Fig. 1.13 roaming a patterned floor, of about 500 mm in length, to give a clue on its dimensions.

Fig. 1.12

RHEX, a six-legged robot (courtesy of G. Dudek, McGill University)

Fig. 1.13

RHEX walking on a patterned floor, to indicate its dimensions (courtesy of G. Dudek, McGill University)

1.5.1.1 Humanoids

An important class of legged robots is that of humanoids. Pioneer work by Vukobratovic and Stepanenko (1972) has led to modern bipeds exhibiting impressive performance. Indeed, work initiated in 1986 at Honda led to ASIMO, a robotic mechanical system integrating both manipulation and locomotion in one single unit.

Research in humanoids is quite intensive at the moment, with multiple sessions on the subject during the annual IEEE International Conference on Robotics and Automation, including controls, motion-planning, design, voice-mimicry, and human-robot interaction.

1.5.2 Wheeled Robots and Rovers

Robots in this category are systems evolved from earlier systems called automatic guided vehicles, or AGVs for short. AGVs in their most primitive versions are four-wheeled, electrically powered vehicles that perform moving tasks with a certain degree of autonomy. However, these vehicles are usually limited to motions along predefined tracks that are either railways or magnetic strips glued to the ground.

The most common rolling robots use conventional wheels, i.e., wheels consisting basically of a pneumatic tire mounted on a hub that rotates about an axle fixed to the robot platform. Thus, the operation of these machines does not differ much from that of conventional terrestrial vehicles. An essential difference between rolling robots and other robotic mechanical systems is the kinematic constraints between wheel and ground in the former. These constraints are of a type known as nonholonomic, as discussed in detail in Chap. 12. Nonholonomic constraints are kinematic relations between point velocities and angular velocities that cannot be integrated in the form of algebraic relations between translational and rotational displacement variables. The outcome of this lack of integrability leads to a lack of a one-to-one relationship between Cartesian variables and joint variables. In fact, while angular displacements read by joint encoders of serial manipulators determine uniquely the position and orientation of their end-effector, the angular displacement of the wheels of rolling machines do not determine the position and orientation of the vehicle body. As a matter of fact, the control of rolling robots bears common features with the redundancy-resolution of manipulators of the serial type at the joint-rate level. In these manipulators, the number of actuated joints is greater than the dimension of the task space. As a consequence, the task velocity does not determine the joint rates. Not surprisingly, the two types of problems have been solved using the same tools, namely, differential geometry and Lie algebra (De Luca and Oriolo 1995).

As a means to supply rolling robots with three-dof capabilities, not found in conventional terrestrial vehicles, omnidirectional wheels (ODWs) have been developed. Examples of ODWs bear names such as Mekanum wheels, Swedish wheels, ilonators, or others. ODWs consist of a hub with rollers on its periphery that roll freely about their axes, the latter being oriented at a constant angle with respect to the hub axis. Rolling robots with ODWs are, thus, three-dof vehicles, and hence, can translate freely in two horizontal directions and rotate independently about a vertical axis. However, like their two-dof counterparts, three-dof rolling robots are also nonholonomic devices, and thus, pose the same problems for their control as the former. The kinematics and dynamics of robots with ODWs are studied in Sects. 10.​5.​2 and 12.​5.​2, respectively.

Further developments in the technology of rolling robots have been reported that incorporate alternative types of ODWs. For example, Killough and Pin (1992) developed a rolling robot with what they call orthogonal ball wheels, consisting of spherical wheels that can rotate about two mutually orthogonal axes. Borenstein (1993) proposed a mobile robot with four degrees of freedom; these were achieved with two chassis coupled by an extensible link, each chassis being driven by two actuated conventional wheels. West and Asada (1995), in turn, designed a rolling robot with ball wheels, i.e., balls that act as omnidirectional wheels; each ball is mounted on a set of rollers, one of which is actuated; hence, three such wheels are necessary to fully control the vehicle. The unactuated rollers serve two purposes, i.e., to provide stability to the wheels and the vehicle, and to measure the rotation of the ball, thereby detecting slip.

1.5.2.1 Mobile Wheeled Pendulums

A new class of wheeled robots has emerged since the turn of the century. This class, known as mobile wheeled pendulums (MWP), comprises two coaxial wheels and an intermediate body, the challenge being to control both the motion of the common wheel axis and that of the intermediate body. Interest on the subject was probably promoted by the US patent behind the Ginger and the Segway Human Transporter projects. Another mobile inverted pendulum is known as JOE. More recently, a new class of nonholonomic mechanical systems was found that lies somewhat between holonomic and nonholonomic systems; these systems were thus termed quasiholonomic (Ostrovskaya and Angeles 1998). A realization of this class was reported by Salerno and Angeles (2004), featuring Quasimoro, shown in Fig. 1.14, a quasiholonomic mobile robot intended as a service robot for the motion-impaired. Quasimoro’s central body is to carry food, drinks and books to the user. This robot also falls within the category of MWP. A feature common to this category, that is not encountered in other wheeled robots, is that their central body, which plays the role of the robot platform, can rotate about the wheel axis. This motion should be controlled, thereby leading to a new challenging problem, which is the stabilization of the central body, aside the classical control problem due to nonholonomy.

Fig. 1.14

QUASIMORO, a quasiholonomic mobile robot

1.5.2.2 Rovers

Yet another class of wheeled mobile robots is known as rovers. These differ from other wheeled robots in that they are intended for uneven, unstructured terrain, like that found off-road on the Earth, on the Moon and on Mars. The latest high-profile rover is NASA’s Curiosity, launched from Cape Canaveral on November 26, 2011, having landed on Mars on August 6, 2012. As rovers are intended for extraterrestrial exploration, their wheels are not expected to roll without slipping; instead, they are designed to provide enough traction in the presence of soft, dry terrain. To this end, the rover wheels are supplied with grousers, i.e., crests protruding from the periphery of metal wheels. A prototype produced by MDA for planetary exploration is displayed in Fig. 1.15, showing its six wheels, all supplied with grousers. A challenge in the development of planetary rovers lies in that tests on the environment on which rovers are intended to roam are not possible. Conditions are emulated on the Earth that try to mimic the Moon’s or Mars’s regolith. One instance is the UTIAS Mars Dome—see Fig. 1.15. Moreover, the mechanics of wheel–soil interaction can only be simulated with suitable software. CM Labs’ Vortex was used to produce the model of the Sojourner depicted in Fig. 1.16. Using this model, a novel approach was introduced to represent the wheel–soil interaction, that is based on plasticity theory (Azimi et al. 2012).

Fig. 1.15

Rover Chassis Prototype (RCP) undergoing tests at the University of Toronto Institute for Aerospace Studies (UTIAS) Mars Dome (courtesy of MDA Corporation, Brampton, ON)

Fig. 1.16

A computer model of the Sojourner, produced with Vortex (image courtesy of CM Labs Simulations Inc.)

1.6 Swimming Robots

A novel class of robots with swimming capabilities is currently under development in various research laboratories. Some of these robots have been designed with the morphology of fish (Wen et al. 2011). One swimming robot designed with a hexapod morphology, featuring six flippers in lieu of legs is Aqua, developed at McGill University, and depicted in Figs. 1.17 and 1.18. The latter shows Aqua with its designer, Chris Prahacs.

Fig. 1.17

Aqua, an amphibious robot (courtesy of G. Dudek/M. Jenkin on behalf of the Aqua Project)

Fig. 1.18

Aqua, swimming under monitoring by its designer (courtesy of G. Dudek/M. Jenkin on behalf of the Aqua Project)

1.7 Flying Robots

This field is becoming quite active, with some robots mimicking the morphology of insects, and falling into the category of micro-robots Hines et al. (2011); other flying robots are designed as unmanned aerial vehicles (UAV) Thorne and Yim (2011). Intensive research is now being reported in the design and control of two novel types of UAVs, namely, drones and quadrotors. The control of drones undergoing fast manuevers has been made possible by the inception of gyro-free inertial measurement systems fabricated with MEMS⁶ technology. Highly maneuverable quadrotors, especially suitable for surveillance and reconnaissance missions, are small-size, light-weight flying machines supplied with “two pairs of counter-rotating rotors and propellers, located at the vertices of a square frame” (Lee et al. 2010). A recent issue of IEEE’s Robotics & Automation Magazine—Vol. 19, No. 3, September 2012—includes a state-of-the-art account of quadrotor technology.

1.8 Exercises

The exercises included below are intended to familiarize the uninitiated reader with the issues involved in robotics, especially in the area of robotic mechanical systems. A major issue, regrettably quite often overlooked, is terminology. In attempting to work out these exercises, the beginner should be able to better understand the language of robotics and realize that a common terminology is not yet available. Some exercises are provided as an aid to either recall or learn fundamental computational issues that are extremely useful in the development of algorithms for the analysis, simulation and control of robotic mechanical systems.

1.1

List some definitions of machine, say about half a dozen, trying to cover the broadest timespan to date. Hint: Hartenberg and Denavit (1964) list a few bibliographical references.

1.2

Try to give an answer to the question: Are intelligent machines possible? Express your own ideas and explore what scientists like Penrose (1994) think about this controversial issue.

1.3

What is the difference among machine, mechanism, and linkage? In particular, analyze critically the definitions given by authorities, such as those found in the most respected dictionaries, encyclopedias, and archival documents of learned societies, e.g., the complete issue of Vol. 38, Nos. 7–10 (2003) of Mechanism and Machine Theory on Standardization of Terminology.

1.4

What is artificial intelligence? What is fuzzy logic? Can the techniques of these fields be applied to robotics?

1.5

What is mechatronics? What is the difference between mechatronics and robotics? Comerford (1994) and Soureshi et al. (1994) give an account on this technology.

1.6

What do you understand as dexterity? The concept of dexterity is normally applied to persons. Can it be applied to animals as well? What about machines?

1.7

Define the term algorithm. In this context, make a clear distinction between recursion and iteration. Note that, in the robotics literature, there is often confusion between these two terms in particular. Make sure that you do not make the same mistake! Again, Penrose (1994) has provided an extensive discussion on the nature of algorithms.

1.8

What is the difference among terms like real-time, on-line, and run-time?

1.9

How fast can two floating-point numbers be multiplied using a personal computer? What about using a UNIX workstation? a supercomputer? Write a piece of code to estimate this time on your computer facility.

1.10

Answer the foregoing question as pertaining to floating-point addition.

1.11

What is the smallest floating-point number on your computer? Rather than looking for the answer in manuals, write a procedure to estimate it.

1.12

What is the difference between procedural programming and object-oriented programming? In terms of programming languages, what is the difference between C and C$$++$$? Rumbaugh et al. (1991) provide an introduction to object-oriented programming, while Stroustrup (1991) gives an introduction to C$$++$$.

References

Al-Widyan, K. and Angeles, J., 2004, “The robust design of Schönflies-motion generators,” in Lenarčič, J., and Galletti, C. (editors), On Advances in Robot Kinematics, Kluwer Academic Publishers, Dordrecht, pp. 339–350CrossRef

Allen, P.K., Michelman, P., and Roberts, K.S., 1989, “An integrated system for dextrous manipulation”, Proc. IEEE Int. Conf. on Robotics & Automation, Scottsdale, pp. 612–617.

Azimi, A., Holz, D., Kövecses, J., Angeles, J. and Teichmann, M., 2012, “Efficient dynamics modeling for rover simulation on soft terrain,” Proc. 50th AIAA Aerospace Sciences Meeting, 9–12 January, Nashville, TN. Paper No. 084, pp. 1–9.

Borenstein, J., 1993, “Multi-layered control of a four-degree-of-freedom mobile robot with compliant linkage”, Proc. IEEE Int. Conf. on Robotics & Automation, Atlanta, pp. 7–12.

Bottema, O. and Roth, B., 1979, Theoretical Kinematics, North-Holland Publishing, Co., Amsterdam (also available as a 1990 Dover Publications book).

Clavel, R., 1988, “Delta, a fast robot with parallel geometry”, Proc.  18th Int. Symposium on Industrial Robots, Lausanne, pp. 91–100.

Comerford, R., 1994, “Mecha…what?”, IEEE Spectrum, August, pp. 46–49.

Company, O., Pierrot, F., Shibukawa, T., and Morita, K., 2001, “Four-degree-of-freedom parallel robot,” European Patent No. EP1084802, March 21.

De Luca, A. and Oriolo, G., 1995, “Modelling and control of nonholonomic mechanical systems”, in Angeles, J. and Kecskeméthy, A. (editors), Kinematics and Dynamics of Multi-Body Systems, Springer-Verlag, New York, pp. 277–342.CrossRef

Ekvall, S. and Krajić, D., 2005, “Grasp Recognition for Programming by Demonstration,” Proc. 2005 IEEE International Conference on Robotics and Automation, Barcelona, Spain, April 18–22, pp. 760–765.

Gockel, T., Ahlmann, J., Dillmann, R., and Azad, P., 2005, “3D vision sensing for grasp planning: A new, robust and affordable structured light approach,” Proc. 2005 IEEE International Conference on Robotics and Automation, Barcelona, Spain, April 18–22, pp. 2540–2545.

Gogu, G., 2004, “Fully Isotropic T3R1-type parallel manipulators,” in Lenarčič, J. and Galletti, C. (editors), On Advances in Robot Kinematics, Kluwer Academic Publishers, Dordrecht, pp. 265–272.CrossRef

Graham, D., 1972, “A behavioural analysis of the temporal organisation of walking movements in the 1st instar and adult stick insect (Carausius morosus)”, J. Comp. Physiol. 81, pp. 23–25.CrossRef

Hartenberg, R.S. and Denavit, J., 1964. Kinematic Synthesis of Linkages, McGraw-Hill Book Company, New York.MATH

Hayward, V., 1994, “Design of hydraulic robot shoulder based on combinatorial mechanism,” in Yoshikawa, T., and Miyazaki, F. (eds.), Experimental Robotics 3, Lecture Notes in Control and Information Sciences 200, Springer-Verlag, New York, pp. 297–310. The Int. J. Robotics Res. 10, no. 5, pp. 767–790.

Hervé, J.M., 1999, “The Lie group of rigid body displacements, a fundamental tool for mechanism design,” Mechanism and Machine Theory, Vol. 34, pp. 719–730.CrossRefMATH

Hervé, J.M. and Sparacino, F., 1992, “Star, a new concept in robotics”, Proc.  3rd International Workshop on Advances in Robot Kinematics, September 7–9, Ferrara, pp. 176–183.

Hirose, S., Masui, T., and Kikuchi, H., 1985, “Titan III: A quadruped walking vehicle”, in Hanafusa, H. and Inoue, X. (editors), Robotics Research 2, MIT Press, Cambridge, MA, pp. 325–331.

Hines, L.L., Arabagi, V. and Sitti, M., 2011, “Free flight simulations and pitch and roll control experiments of a sub-gram flapping-flight micro aerial vehicle,” 2011 IEEE Int. Conf. Robotics and Automation, Shanghai, China, May 9–13, Paper No. 0602.

Horn, B.K.P., 1986, Robot Vision, The MIT Press, Cambridge, MA.

Hughes, P.C., Sincarsin, W.G., and Carroll, K.A., 1991, “Trussarm—a variable-geometry-truss manipulator”, J. of Intell. Mater. Syst. and Struct. 2, pp. 148–160.CrossRef

Isidori, A., 1989, Nonlinear Control Systems, 2nd Edition, Springer-Verlag, Berlin.CrossRefMATH

Jacobsen, S.C., Iversen, E.K., Knutti, D.F., and Biggers, K.B., 1984, “The Utah/MIT dextrous hand: Work in progress”, The Int. J. Robotics Res. 3, no. 4, pp. 21–50.CrossRef

Jacobsen, S.C., Iversen, E.K., Knutti, D.F., Johnson, R.T., and Biggers, K.B., 1986, “Design of the Utah/MIT dextrous hand”, Proc. IEEE Int. Conf. on Robotics & Automation, San Francisco, pp. 1520–1532.

Khalil, W. and Dombre, E., 2002, Modeling, Identification & Control of Robots, Hermes Penton Ltd., London.MATH

Killough, S.M. and Pin, F.G., 1992, “Design of an omnidirectional and holonomic wheeled platform prototype”, Proc. IEEE Int. Conf. on Robotics & Automation,, Nice, pp. 84–90.

Klein, C.A., Olson, K.W., and Pugh, D.R., 1983, “Use of force and attitude sensors for locomotion of a legged vehicle over irregular terrain”, The Int. J. Robotics Res. 2, no. 2, pp. 3–17.CrossRef

Latombe, J.-C., 1991, Robot Motion Planning, Kluwer Academic Publishers, Dordrecht.CrossRefMATH

Laliberté, T., Birglen, L. and Gosselin, C., 2002, “Underactuation in robotic grasping hands,” Japanese J. Machine Intelligence and Robotic Control, Special Issue on Underactuated Robots, Vol. 4, No. 3, pp. 77–87.

Lee, C.C. and Lee, P.C., 2010, “Isoconstraned mechanisms for fast pick-and-place manipulation,” in Lou, Y. and Li, Z. (editors), Geometric Methods in Robotics and Mechanism Research, Lambert Academic Publishing, Saarbrücken, Germany, pp. 85–99.

Lee, T., Leok, M. and McClamroch, N.H., 2010, “Geometric tracking control of a quadrotor UAV on SE(3),” Proc. 49th IEEE Conf. Decision and Control, Dec. 15–17, Atlanta, GA.

Levine, M.D., 1985, Vision in Man and Machines, McGraw-Hill Book Company, New York.

Liu, H., Iberall, T., and Bekey, G., 1989, “The multi-dimensional quality of task requirements for dextrous robot hand control”, Proc. IEEE Int. Conf. on Robotics & Automation, Scottsdale, pp. 452–457.

Makino, H. and Furuya, N., 1980, “Selective compliance assembly robot arm,” Proc. First International Conference on Assembly Automation, Brighton (no page numbers available.)

Merlet, J.-P., 2006, Parallel Robots, Second Edition, Springer, Dordrecht.MATH

Ostrovskaya, S. and Angeles, J., 1998, “Nonholonomic systems revisited within the framework of analytical mechanics”, Applied Mechanics Reviews, vol. 51, No. 7, pp. 415–433.CrossRef

Penrose, R., 1994, Shadows of the Mind. A Search for the Missing Science of Consciousness, Oxford University Press, Oxford.MATH

Pettinato, J.S. and Stephanou, H.E., 1989, “Manipulability and stability of a tentacle based robot manipulator”, Proc. IEEE Int. Conf. on Robotics & Automation,, Scottsdale, pp. 458–463.

Pfeiffer, F., Eltze, J., and Weidemann, H.-J., 1995, “The TUM walking machine”, Intelligent Automation and Soft Computing. An International Journal, 1, no. 3, pp. 307–323.

Pierrot, F., Fournier, A., and Dauchez, P., 1991, “Towards a fully-parallel 6 dof robot for high-speed applications”, Proc. IEEE Int. Conf. on Robotics & Automation, Sacramento, pp. 1288–1293.

Reynaerts, D., 1995, Control Methods and Actuation Technology for Whole-Hand Dextrous Manipulation, doctoral dissertation, Fakulteit der Torgepaste Wetenschappen, Katholieke Universiteit Leuven, Leuven.

Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., and Lorensen, W., 1991, Object-Oriented Modeling and Design,  Prentice-Hall,  Englewood  Cliffs, NJ.MATH

Rus, D., 1992, “Dextrous rotations of polyhedra”, Proc. IEEE Int. Conf. on Robotics & Automation,, Nice, pp. 2758–2763.

Russell, Jr., M., 1983, “Odex I: The first functionoid”, Robotics Age, 5, pp. 12–18.

Samson, C., Le Borgne, M., and Espiau, B., 1991, Robot Control. The Task Function Approach, Clarendon Press, Oxford.

Salerno, A. and Angeles, J., 2004, “The control of semi-autonomous self-balancing two-wheeled quasiholonomic mobile robots,” Proc. 15th CISM-IFToMM Symposium on Robot Design, Dynamics and Control (RoManSy 2004), Montreal, Canada. June 14–18.

Song, S.-M. and Waldron, K.J., 1989, Machines That Walk, The MIT Press, Cambridge, MA.

Soureshi, R., Meckl, P.H., and Durfee, W.M., 1994, “Teaching MEs to use microprocessors”, Mechanical Engineering 116, no. 4, pp. 71–76.

Spong, M.W., Hutchinson, S., and Vidyasagar, M., 2006, Robot Modeling and Control, John Wiley & Sons, Inc., Hoboken, NJ.

Stroustrup, B., 1991, The C $$++$$ Programming Language, Addison-Wesley Publishing Company, Reading, MA.MATH

Sutherland, I.E. and Ullner, M.K., 1984, “Footprints in the asphalt”, The Int. J. Robotics Res. 3, no. 2, pp. 29–36.CrossRef

Sun, L., Xie, H., Rong, W., and Chen, L., 2005, “Task-reconfigurable system for MEMS assembly,” Proc. IEEE International Conference on Robotics and Automation, Barcelona, Spain, April 18–22, pp. 844–849.

Thorne, C.E. and Yim, M., 2011, “Towards the development of gyroscopically controlled micro air vehicles,” 2011 IEEE Int. Conf. Robotics and Automation, Shanghai, China, May 9–13, Paper No. 1800.

Todd, D.J., 1985, Walking Machines. An Introduction to Legged Robots, Kogan Page Ltd., London.

Vukobratovic, M. and Stepanenko, J., 1972, “On the stability of anthropomorphic systems”, Math. Biosci. 15, pp. 1–37.CrossRefMATH

West, M. and Asada, H., 1995, “Design and control of ball wheel omnidirectional vehicles”, Proc. IEEE Int. Conf. on Robotics & Automation, Nagoya, pp. 1931–1938.

Wen, L., Wang, T., Wu, G. and Li, J., 2011, “A novel method based on a force-feedback technique for the hydrodynamic investigation of kinematic effects on robotic fish,” 2011 IEEE Int. Conf. Robotics and Automation, Shanghai, China, May 9–13, Paper No. 0828.

Footnotes

1

In the previous editions we had used the term “man-made” instead. To avoid a gender-biased terminology, we could have used “artificial,” but this term, while meaning “human-made,” also has a negative connotation: “lacking in natural or spontaneous quality.”

2

In Chap. 4 we introduce the concept of robotic architecture, to indicate the geometry of the underlying mechanical system. We refer here to the “general architecture” of the whole robotic system, to distinguish between the two concepts.

3

It can be appreciated in Fig. 1.7 that the proximal links are made up of two curved beams, each with an axis in the form of one-quarter of a circle. These two beams are rigidly fastened, with their planes forming a 90∘ dihedral angle.

4

INRIA is France’s Institut National de Recherche en Informatique et en Automatique, the left hand, and other parallel robots having been developed at INRIA’s center at Sophia-Antipolis, France.

5

Originally led by Prof. Martin Buehler.

6

Microelectromechanical systems.

© Springer International Publishing Switzerland 2014

Jorge AngelesFundamentals of Robotic Mechanical SystemsMechanical Engineering Series12410.1007/978-3-319-01851-5_2

2. Mathematical Background

Jorge Angeles1 

(1)

Department of Mechanical Engineering Centre for Intelligent Machines (CIM), McGill University, Montreal, QC, Canada

2.1 Preamble

First and foremost, the study of motions undergone by robotic mechanical systems or, for that matter, by mechanical systems at large, requires a suitable motion representation. Now, the motion of mechanical systems involves the motion of the particular links comprising those systems, which in this book are supposed to be rigid. The assumption of rigidity, although limited in scope, still covers a wide spectrum of applications, while providing insight into the motion of more complicated systems, such as those involving deformable bodies.

The most general kind of rigid-body motion consists of both translation and rotation. While the study of the former is covered in elementary mechanics courses and is reduced to the mechanics of particles, the latter is more challenging. Indeed, point translation can be studied simply with the aid of three-dimensional vector calculus, while rigid-body rotations require the introduction of tensors, i.e., entities mapping vector spaces into vector spaces.

Emphasis is placed on invariant concepts, i.e., items that do not change upon a change of coordinate frame. Examples of invariant concepts are geometric quantities such as distances and angles between lines. Although we may resort to a coordinate frame and vector algebra to compute distances and angles, and will represent vectors in that frame, the final result will be independent of how we choose that frame. The same applies to quantities whose evaluation calls for the introduction of tensors. Here, we must distinguish between the physical quantity represented by a vector or a tensor and the representation of that quantity in a coordinate frame using a one-dimensional array of components in the case of vectors, or a two-dimensional array in the case of tensors. It is unfortunate that the same word is used in English to denote a vector and its array representation in a given coordinate frame. Regarding tensors, the associated arrays are called matrices. By abuse of terminology, we will refer to both tensors and their arrays as matrices, although keeping in mind the essential conceptual differences involved.

2.2 Linear Transformations

The physical three-dimensional space is a particular case of a vector space. A vector space is a set of objects, called vectors, that follow certain algebraic rules. Throughout the book, vectors will be denoted by boldface lowercase characters, whereas tensors and their matrix representations will be denoted by boldface uppercase characters. Let v, v ₁, v ₂, v ₃, and w be elements of a given vector space $$\mathcal{V}$$, which is defined over the real field, and let α and β be two elements of this field, i.e., α and β are two real numbers. Below we summarize the rules mentioned above:

(i)

The sum of v ₁ and v ₂, denoted by v ₁ +v ₂, is itself an element of $$\mathcal{V}$$ and is commutative, i.e., $$\mathbf{v}_{1} + \mathbf{v}_{2} = \mathbf{v}_{2} + \mathbf{v}_{1}$$;

(ii)

$$\mathcal{V}$$ contains an element 0, called the zero vector of $$\mathcal{V}$$, which, when added to any other element v of $$\mathcal{V}$$, leaves it unchanged, i.e., $$\mathbf{v} + \mathbf{0} = \mathbf{v}$$;

(iii)

The sum defined in (i) is associative, i.e., $$\mathbf{v}_{1} + (\mathbf{v}_{2} + \mathbf{v}_{3}) = (\mathbf{v}_{1} + \mathbf{v}_{2}) + \mathbf{v}_{3}$$;

(iv)

For every element v of $$\mathcal{V}$$, there exists a corresponding element, w, also of $$\mathcal{V}$$, which, when added to v, produces the zero vector, i.e., $$\mathbf{v} + \mathbf{w} = \mathbf{0}$$. Moreover, w is represented as −v;

(v)

The product α v, or v α, is also an element of $$\mathcal{V}$$, for every v of $$\mathcal{V}$$ and every real α. This product is associative, i.e., α(β v) = (α β)v;

(vi)

If α is the real unity, then α v is identically v;

(vii)

The product defined in (v) is distributive in the sense that (a) $$(\alpha +\beta )\mathbf{v} =\alpha \mathbf{v} +\beta \mathbf{v}$$ and (b) $$\alpha (\mathbf{v}_{1} + \mathbf{v}_{2}) =\alpha \mathbf{v}_{1} +\alpha \mathbf{v}_{2}$$.

Although vector spaces can be defined over other fields, we will deal with vector spaces over the real field, unless explicit reference to another field is made. Moreover, vector spaces can be either finite- or infinite-dimensional, but we will not need the latter. In geometry and elementary mechanics, the dimension of the vector spaces needed is usually three, but when studying multibody systems, an arbitrary finite dimension will be required. The concept of dimension of a vector space is discussed in more detail later.

A linear transformation, represented as an operator L, of a vector space $$\mathcal{U}$$ into a vector space $$\mathcal{V}$$, is a rule that assigns to every vector u of $$\mathcal{U}$$ at least one vector v of $$\mathcal{V}$$, represented as v = Lu, with L endowed with two properties:

(i)

homogeneity: L(α u) = α v; and

(ii)

additivity: $$\mathbf{L}(\mathbf{u}_{1} + \mathbf{u}_{2}) = \mathbf{v}_{1} + \mathbf{v}_{2}$$.

Note that, in the foregoing definitions, no mention has been made of components, and hence, vectors and their transformations should not be confused with their array representations.

Particular types of linear transformations of the three-dimensional Euclidean space that will be encountered frequently in this context are projections, reflections, and rotations. One further type of transformation, which is not linear, but nevertheless appears frequently in kinematics, is the one known as affine transformation. The foregoing transformations are defined below. It is necessary, however, to introduce additional concepts pertaining to general linear transformations before expanding into these definitions.

The range of a linear transformation L of $$\mathcal{U}$$ into $$\mathcal{V}$$ is the set of vectors v of $$\mathcal{V}$$ into which some vector u of $$\mathcal{U}$$ is mapped, i.e., the range of L is defined as the set of v = Lu, for every vector u of $$\mathcal{U}$$. The kernel of L is the set of vectors u N of $$\mathcal{U}$$ that are mapped by L into the zero vector $$\mathbf{0} \in \mathcal{V}$$. It can be readily proven (see Exercises 2.1–2.3) that the kernel and the range of a linear transformation are both vector subspaces of $$\mathcal{U}$$ and $$\mathcal{V}$$, respectively, i.e., they are themselves vector spaces, but of a dimension smaller than or equal to that of their associated vector spaces. Moreover, the kernel of a linear transformation is often called the null space of the said transformation.

Henceforth, the three-dimensional Euclidean space is denoted by $${\mathcal{E}}^{3}$$. Having chosen an origin O for this space, its geometry can be studied in the context of general vector spaces. Hence, points of $${\mathcal{E}}^{3}$$ will be identified with vectors of the associated three-dimensional vector space. Moreover, lines and planes passing through the origin are subspaces of dimensions 1 and 2, respectively, of $${\mathcal{E}}^{3}$$. Clearly, lines and planes not passing through the origin of $${\mathcal{E}}^{3}$$ are not subspaces but can be handled with the algebra of vector spaces, as will be shown here.

An orthogonal projection P of $${\mathcal{E}}^{3}$$ onto itself is a linear transformation of the said space onto a plane Π passing through the origin and having a unit normal n, with the properties:

(2.1a)

Any matrix with the first property above is termed idempotent. For n × n matrices, it is sometimes necessary to indicate the lowest integer l for which an analogous relation follows, i.e., for which P l  = P. In this case, the matrix is said to be idempotent of degree l.

Clearly, the projection of a position vector p, denoted by p ′ , onto a plane Π of unit normal n, is p itself minus the component of p along n as shown in Fig. 2.1, i.e.,

(2.1b)

where the superscript T denotes either vector or matrix transposition and n T p is equivalent to the usual dot product n ⋅ p.

Fig. 2.1

A projection onto a plane Π of unit normal n

Now, the identity matrix 1 is defined as the mapping of a vector space $$\mathcal{V}$$ into itself leaving every vector v of $$\mathcal{V}$$ unchanged, i.e.,

(2.2)

Thus, p ′ , as given by Eq. (2.1b), can be rewritten as

(2.3)

and hence, the orthogonal projection P onto Π can be represented as

(2.4)

where the product nn T amounts to a 3 × 3 matrix.

Now we turn to reflections. Here we have to take into account that reflections occur frequently accompanied by rotations, as yet to be studied. Since reflections are simpler to represent, we first discuss these, rotations being discussed in full detail in Sect. 2.3. What we shall discuss in this section is pure reflections, i.e., those occurring without any concomitant rotation. Thus, all reflections studied in this section are pure reflections, but for the sake of brevity, they will be referred to simply as reflections.

A reflection R of $${\mathcal{E}}^{3}$$ onto a plane Π passing through the origin and having a unit normal n is a linear transformation of the said space into itself, as depicted in Fig. 2.2, such that a vector p is mapped by R into a vector p ′ given by

Fig. 2.2

A reflection onto a plane Π of unit normal n

Thus, the reflection R can be expressed as

(2.5)

From Eq. (2.5) it is then apparent that a pure reflection is represented by a linear transformation that is symmetric and whose square equals the identity matrix, i.e., R ² = 1. Indeed, symmetry is apparent from the equation above; the second property is readily proven below:

which apparently reduces to 1 because n is a unit vector. Note that from the second property above, we find that pure reflections observe a further interesting property, namely,

i.e., every pure reflection equals its inverse. This result can be understood intuitively by noticing that, upon doubly reflecting an image using two mirrors, the original image is recovered. Any square matrix which equals its inverse will be termed self-inverse henceforth.

Further, we take to deriving the orthogonal decomposition of a given vector v into two components, one along and one normal to a unit vector e. The component of v along e, termed here the axial component, $$\mathbf{v}_{\|}$$—read v-par—is simply given as

(2.6a)

while the corresponding normal component, v  ⊥ —read v-perp—is simply the difference $$\mathbf{v} -\mathbf{v}_{\|}$$, i.e.,

(2.6b)

the matrix in parentheses in the foregoing equation being rather frequent in kinematics. This matrix will appear when studying rotations.

Further concepts are now recalled: The basis of a vector space $$\mathcal{V}$$ is a set of linearly independent vectors of $$\mathcal{V}$$, {v i }₁ n , in terms of which any vector v of $$\mathcal{V}$$ can be expressed as

(2.7)

where the elements of the set {α i }₁ n are all elements of the field over which $$\mathcal{V}$$ is defined, i.e., they are real numbers in the case at hand. The number n of elements in the set $$\mathcal{B} =\{ \mathbf{v}_{i}\}_{1}^{n}$$ is called the dimension of $$\mathcal{V}$$. Note that any set of n linearly independent vectors of $$\mathcal{V}$$ can play the role of a basis of this space, but once this basis is defined, the set of real coefficients {α i }₁ n representing a given vector v is unique.

Let $$\mathcal{U}$$ and $$\mathcal{V}$$ be two vector spaces of dimensions m and n, respectively, and L a linear transformation of $$\mathcal{U}$$ into $$\mathcal{V}$$, and define bases $$\mathcal{B}_{U}$$ and $$\mathcal{B}_{V }$$ for $$\mathcal{U}$$ and $$\mathcal{V}$$ as

(2.8)

Since each Lu j is an element of $$\mathcal{V}$$, it can be represented uniquely in terms of the vectors of $$\mathcal{B}_{V }$$, namely, as

(2.9)

Consequently, in order to represent the images of the m vectors of $$\mathcal{B}_{U}$$, namely, the set {Lu j }₁ m , n × m real numbers l ij , for i = 1, …, n and j = 1, …, m, are necessary. These real numbers are now arranged in the n × m array $$[\,\mathbf{L}\,]_{\mathcal{B}_{U}}^{\mathcal{B}_{V }}$$ defined below:

(2.10)

The foregoing array is thus called the matrix representation of L with respect to $$\mathcal{B}_{U}$$ and $$\mathcal{B}_{V }$$. We thus have an important definition:

Definition 2.2.1.

The jth column of the matrix representation of L with respect to the bases $$\mathcal{B}_{U}$$ and $$\mathcal{B}_{V }$$ is composed of the n real coefficients l ij of the representation of the image of the jth vector of $$\mathcal{B}_{U}$$ in terms of $$\mathcal{B}_{V }$$.

The notation introduced in Eq. (2.10) is rather cumbersome, for it involves one subscript and one superscript. Moreover, each of these is subscripted. In practice, the bases involved are self-evident, which makes an explicit mention of these unnecessary. In particular, when L is a mapping of $$\mathcal{U}$$ onto itself, a single basis suffices to represent L in matrix form. In this case, its bracket will bear only a subscript, and no superscript, namely, $$[\,\mathbf{L}\,]_{\mathcal{B}}$$. Moreover, we will use, henceforth, the concept of basis and coordinate frame interchangeably, since one implies the other.

Two different bases are unavoidable when the two spaces under study are physically distinct, which is the case in velocity analysis of manipulators. As we will see in Chap. 5, in these analyses we distinguish between the velocity of the manipulator in Cartesian space and that in the joint-rate space. While the Cartesian-space velocity—or Cartesian velocity, for brevity—consists, in general, of a six-dimensional vector containing the three-dimensional angular velocity of the end-effector and the translational velocity of one of its points, the latter is an n-dimensional vector. Moreover, if the manipulator is coupled by revolute joints only, the units of the joint-rate vector are all s⁻¹, whereas the Cartesian velocity contains some components with units of s⁻¹ and others with units of ms⁻¹.

Further definitions are now recalled. Given a mapping L of an n-dimensional vector space $$\mathcal{U}$$ into the n-dimensional vector space $$\mathcal{V}$$, a nonzero vector e that is mapped by L into a multiple of itself, λ e, is called an eigenvector of L, the scalar λ being called an eigenvalue of L. The eigenvalues of L are determined by the equation

(2.11)

Note that the matrix λ 1 −L is linear in λ, and since the determinant of a n × n matrix is a homogeneous nth-order function of its entries, the left-hand side of Eq. (2.11) is a nth-degree polynomial in λ. The foregoing polynomial is termed the characteristic polynomial of L. Hence, every n × n matrix L has n complex eigenvalues, even if L is defined over the real field. If it is, then its complex eigenvalues appear in conjugate pairs. Clearly, the eigenvalues of L are the roots of its characteristic polynomial, while Eq. (2.11) is called the characteristic equation of L.

Example 2.2.1.

What is the representation of the reflection R of $${\mathcal{E}}^{3}$$ into itself, with respect to the x–y plane, in terms of unit vectors parallel to the X, Y, Z axes that form a coordinate frame $$\mathcal{F}$$?

Solution: Note that in this case, $${\mathcal{U} = \mathcal{V} = \mathcal{E}}^{3}$$ and, hence, it is not necessary to use two different bases for $$\mathcal{U}$$ and $$\mathcal{V}$$. Now, let i, j, k, be unit vectors parallel to the X, Y, and Z axes. Clearly,

Thus, the representations of the images of i, j and k under R, in $$\mathcal{F}$$, are

where subscripted brackets are used to indicate the representation frame. Hence, the matrix representation of R in $$\mathcal{F}$$, denoted by $$[\,\mathbf{R}\,]_{\mathcal{F}}$$, is

2.3 Rigid-Body Rotations

A linear isomorphism, i.e., a one-to-one linear transformation mapping a space $$\mathcal{V}$$ onto itself, is called an isometry if it preserves distances between any two points of $$\mathcal{V}$$. If u and v are regarded as the position vectors of two such points, then the distance d between these two points is defined as

(2.12)

The volume V of the tetrahedron defined by the origin and three points of the three-dimensional Euclidean space of position vectors u, v, and w is obtained as one-sixth of the absolute value of the double mixed product of these three vectors,

(2.13)

i.e., if a 3×3 array [A] is defined in terms of the components of u, v, and w, in a given basis, then the first column of [A] is given by the three components of u, the second and third columns being defined likewise.

Now, let Q be an isometry mapping the triad {u, v, w} into {u ′ , v ′ , w ′ }. Moreover, the distance from the origin to the points of position vectors u, v, and w is given simply as $$\|\mathbf{u}\|$$, $$\|\mathbf{v}\|$$, and $$\|\mathbf{w}\|$$, which are defined as

(2.14)

Clearly,

(2.15a)

and

(2.15b)

If, in the foregoing relations, the sign of the determinant is preserved, the isometry represents a rotation; otherwise, it represents a reflection. Now, let p be the position vector of any point of $${\mathcal{E}}^{3}$$, its image under a rotation Q being p ′ . Hence, distance preservation requires that

(2.16)

where

(2.17)

condition (2.16) thus leading to

(2.18)

where 1 was defined in Sect. 2.2 as the 3 × 3 identity matrix, and hence, Eq. (2.18) states that Q is an orthogonal matrix. Moreover, let T and T ′ denote the two matrices defined below:

(2.19)

from which it is clear that

(2.20)

Now, for a rigid-body rotation, Eq. (2.15b) should hold with the positive sign, and hence,

(2.21a)

and, by virtue of Eq. (2.20), we conclude that

(2.21b)

Therefore, Q is a proper orthogonal matrix, i.e., it is a proper isometry. Now we have

Theorem 2.3.1.

The eigenvalues of a proper orthogonal matrix Q lie on the unit circle centered at the origin of the complex plane.

Proof.

Let λ be one of the eigenvalues of Q and e the corresponding eigenvector, so that

(2.22)

In general, Q is not expected to be symmetric, and hence, λ is not necessarily real. Thus, λ is considered complex, in general. In this light, when transposing both sides of the foregoing equation, we will need to take the complex conjugates as well. Henceforth, the complex conjugate of a vector or a matrix will be indicated with an asterisk as a superscript. As well, the conjugate of a complex variable will be indicated with a bar over the said variable. Thus, the transpose conjugate of the above equation takes on the form

(2.23)

Multiplying the corresponding sides of the two previous equations yields

(2.24)

However, Q has been assumed real, and hence, Q ∗ reduces to Q T , the foregoing equation thus reducing to

(2.25)

But Q is orthogonal by assumption, and hence, it obeys Eq. (2.18), which means that Eq. (2.25) reduces to

(2.26)

where | ⋅ | denotes the module of the complex variable within it. Thus, the foregoing equation leads to

(2.27)

thereby completing the intended proof. As a direct consequence of Theorem 2.3.1, we have

Corollary 2.3.1.

A proper orthogonal 3 × 3 matrix has at least one eigenvalue that is + 1.

Now, let e be the eigenvector of Q associated with the eigenvalue + 1. Thus,

(2.28)

What Eq. (2.28) states is summarized as a theorem below:

Theorem 2.3.2 (Euler 1776).

A rigid-body motion about a point O leaves fixed a set of points lying on a line $$\mathcal{L}$$ that passes through O and is parallel to the eigenvector e of Q associated with the eigenvalue + 1.

A further result, that finds many applications in robotics and, in general, in system theory, is given below:

Theorem 2.3.3 (Cayley–Hamilton).

Let P(λ) be the characteristic polynomial of a n × n matrix A , i.e.,

(2.29)

Then A satisfies its characteristic equation, i.e.,

(2.30)

where O is the n × n zero matrix.

Proof.

See Kaye and Wilson (1998).

What the Cayley–Hamilton Theorem states is that any power p ≥ n of the n × n matrix A can be expressed as a linear combination of the first n powers of A—the 0th power of A is, of course, the n × n identity matrix 1. An important consequence of this result is that any analytic matrix function of A can be expressed not as an infinite series, but as a sum, namely, a linear combination of the first n powers of A: 1, A, …, A n−1. An analytic function f(x) of a real variable x is, in turn, a function with a series expansion. Moreover, an analytic matrix function of a matrix argument A is defined likewise, an example of which is the exponential function. From the previous discussion, then, the exponential of A can be written as a linear combination of the first n powers of A. It will be shown later that any proper orthogonal matrix Q can be represented as the exponential of a skew-symmetric matrix derived from the unit vector e of Q, of eigenvalue + 1, and the associated angle of rotation, as yet to be defined.

2.3.1 The Cross-Product Matrix

Prior to introducing the matrix representation of a rotation, we will need a few definitions. We will start by defining the partial derivative of a vector with respect to another vector. This is a matrix, as described below: In general, let u and v be vectors of spaces $$\mathcal{U}$$ and $$\mathcal{V}$$, of dimensions m and n, respectively. Furthermore, let t be a real variable and f be real-valued function of t, u = u(t) and v = v(u(t)) being m- and n-dimensional vector functions of t as well, with f = f(u, v). The derivative of u with respect to t, denoted by $$\dot{\mathbf{u}}(t)$$, is a m-dimensional vector whose ith component is the derivative of the ith component u i of u, in a given basis, with respect to t. A similar definition follows for $$\dot{\mathbf{v}}(t)$$. The partial derivative of f with respect to u is a m-dimensional vector whose ith component is the partial derivative of f with respect to u i , with a corresponding definition for the partial derivative of f with respect to v. The foregoing derivatives, as all other vectors, will be assumed, henceforth, to be column arrays. Thus,

(2.31)

Furthermore, let v = v(u). In order to derive ∂ u∕∂ v, first the differential dv upon a differential du is computed:

(2.32a)

or, in array form,

(2.32b)

That is, the partial derivative of v with respect to u is a n × m array whose (i, j) entry is defined as ∂ v i ∕∂ u j , i.e.,

(2.33)

Hence, the total derivative of f with respect to u can be written as

(2.34)

If, moreover, f is an explicit function of t, i.e., if f = f(u, v, t) and v = v(u, t), then, one can write the total derivative of f with respect to t as

(2.35)

The total derivative of v with respect to t can be written, likewise, as

(2.36)

Example 2.3.1.

Let the components of v and x in a certain reference frame $$\mathcal{F}$$ be given as

(2.37a)

Then

(2.37b)

Hence,

(2.37c)

Henceforth, the partial derivative of v ×x with respect to x will be denoted by the 3 × 3 matrix V. For obvious reasons, V is termed the cross-product matrix of vector v. Sometimes the cross-product matrix of a vector v is represented as $$\tilde{\mathbf{v}}$$, but we do not follow this notation for the sake of consistency, since we decided at the outset to represent matrices with boldface uppercases. Thus, the foregoing cross product admits the alternative representations

(2.38)

Now, it should be apparent that:

Theorem 2.3.4.

The cross-product matrix A of any three-dimensional vector a is skew-symmetric, i.e.,

and, as a consequence,

(2.39)

where A ² can be readily proven to be

(2.40)

with $$\|\,\cdot \,\|$$ denoting the Euclidean norm of the vector inside it.

Note that given any three-dimensional vector a, its cross-product matrix A is uniquely defined. Moreover, this matrix is skew-symmetric. The converse also holds, i.e., given any 3 × 3 skew-symmetric matrix A, its associated vector is uniquely defined as well. This result is made apparent from Example 2.3.1 and will be discussed further when we define the axial vector of an arbitrary 3 × 3 matrix below.

Example 2.3.2.

Let a be an arbitrary three-dimensional vector and A its cross-product matrix. Further, let B ≡ 1 +A, with 1 defined as the 3 × 3 identity matrix. Without resorting to components,

(a)

prove that

and hence, B is nonsingular.

(b)

Find B ⁻¹ in terms of A or, equivalently, of a.

Solution:

(a)

Let { α i  }₁ ³ be the set of eigenvalues and { a i  }₁ ³ the set of corresponding eigenvectors of A. Likewise, let { β i  }₁ ³ be the set of eigenvalues and { b i  }₁ ³ the set of corresponding eigenvectors of B. That is,

Next, add a i to both sides of the first of the above equations:

But, in light of the definition of B, the second of the above equations leads to

which means that b i  = a i and $$\beta _{i} = 1 +\alpha _{i}$$, i = 1, 2, 3. Now, det(B) = β ₁ β ₂ β ₃, and hence,

Therefore, to find the eigenvalues of A ≡ CPM(a), notice that A can be written as

i.e., e is a unit vector obtained upon dividing a by its norm. By virtue of the definition of the cross-product matrix, moreover, the factor $$\|\mathbf{a}\|$$ can be taken outside of the CPM( ⋅ ) operator, and hence,

But the eigenvalues of the CPM of a unit vector are proven in Exercise 2.11 to be 0, j and − j, with $$j \equiv \sqrt{-1}$$. Therefore, α ₁ = 0, $$\alpha _{2} = j\|\mathbf{a}\|$$, $$\alpha _{3} = -j\|\mathbf{a}\|$$, and hence, β ₁ = 1, $$\beta _{2} = 1 + j\|\mathbf{a}\|$$, $$\beta _{3} = 1 - j\|\mathbf{a}\|$$. Thus,

thereby completing the intended proof.

(b)

Now, to find B ⁻¹, the characteristic equations of A and B will be needed. These are readily derived below:

and

If now the Cayley–Hamilton Theorem is invoked, the foregoing scalar characteristic equations lead to matrix polynomials in A and B, namely,

with O denoting the 3 × 3 zero matrix. Since B is known to be non-singular from (a), the two sides of the polynomial in B can be multiplied by B ⁻¹; the last term of the right-hand side of the matrix polynomial thus resulting involves B ⁻¹. Upon solving for this term,

which, upon expansion, yields

The reader should be able to verify that the foregoing expression is indeed the inverse of 1 +A.

2.3.2 The Rotation Matrix

In deriving the matrix representation of a rotation, we should recall Theorem 2.3.2, which suggests that an explicit representation of Q in terms of its eigenvector e is possible. Moreover, this representation must contain information on the amount of the rotation under study, which is nothing but the angle of rotation. Furthermore, line $$\mathcal{L}$$, mentioned in Euler’s Theorem, is termed the axis of rotation of the motion of interest. In order to derive the representation mentioned above, consider the rotation depicted in Fig. 2.3 of angle ϕ about line $$\mathcal{L}$$.

Fig. 2.3

Rotation of a rigid body about a line

From Fig. 2.3a, one can apparently write

(2.41)

where $$\stackrel{\overrightarrow{ }}{OQ}$$ is the axial component of p along vector e, which is derived as in Eq. (2.6a), namely,

(2.42)

Furthermore, from Fig. 2.3b,

(2.43)

with $$\stackrel{\overrightarrow{ }}{QP}$$ being nothing but the normal component of p with respect to e, as introduced in Eq. (2.6b), i.e.,

(2.44)

and $$\stackrel{\overrightarrow{ }}{Q{P}^{{\prime\prime}}}$$ given as

(2.45)

Substitution of Eqs. (2.44) and (2.45) into Eq. (2.43) leads to

(2.46)

If now Eqs. (2.42) and (2.46) are substituted into Eq. (2.41), one obtains

(2.47)

Thus, Eq. (2.41) reduces to

(2.48)

From Eq. (2.48) it is apparent that p ′ is a linear transformation of p, the transformation being given by the expression inside the brackets, which is the rotation matrix Q sought, i.e.,

(2.49)

A special case arises when ϕ = π,

(2.50)

whence it is apparent that Q is symmetric if ϕ = π. Of course, Q becomes symmetric also when ϕ = 0, but this is a rather obvious case, leading to Q = 1. Except for these two cases, the rotation matrix is not symmetric. However, under no circumstance does the rotation matrix become skew-symmetric, for a 3 × 3 skew-symmetric matrix is by necessity singular, which contradicts the property of proper orthogonal matrices of Eq. (2.21b).

Now one more representation of Q in terms of e and ϕ is given. For a fixed axis of rotation, i.e., for a fixed value of e, the rotation matrix Q is a function of the angle of rotation ϕ, only. Thus, the series expansion of Q in terms of ϕ is

(2.51)

where the superscript (k) stands for the kth derivative of Q with respect to ϕ. Now, from the definition of E, one can readily prove the relations below:

(2.52)

Furthermore, using Eqs. (2.49) and (2.52), one can readily show that

(2.53)

with E defined already as the cross-product matrix of e. Moreover, from Eqs. (2.51) and (2.53), Q(ϕ) can be expressed as

whose right-hand side is nothing but the exponential of E ϕ, i.e.,

(2.54)

Equation (2.54) is the exponential representation of the rotation matrix in terms of its natural invariants, e and ϕ. The foregoing parameters are termed invariants because they are independent of the coordinate axes chosen to represent the rotation under study. The adjective natural is necessary to distinguish them from other invariants that will be introduced presently. This adjective seems suitable because the said invariants stem naturally from Euler’s Theorem.

Now, in view of Eqs. (2.52), the above series can be written as

The series inside the first pair of brackets is apparently cosϕ − 1, while that in the second pair is sin ϕ. We have, therefore, an alternative representation of Q:

(2.55)

which is an expected result in view of the Cayley–Hamilton Theorem.

The Canonical Forms of the Rotation Matrix

The rotation matrix takes on an especially simple form if the axis of rotation coincides with one of the coordinate axes. For example, if the X axis is parallel to the axis of rotation, i.e., parallel to vector e, in a frame that we will label $$\mathcal{X}$$, then, we will have

In the $$\mathcal{X}$$-frame, then,

(2.56a)

Likewise, if we define the coordinate frames $$\mathcal{Y}$$ and $$\mathcal{Z}$$ so that their Y and Z axes, respectively, coincide with the axis of rotation, then

(2.56b)

and

(2.56c)

The representations of Eqs. (2.56a–c) can be called the X-, Y -, and Z-canonical forms of the rotation matrix. In many instances, a rotation matrix cannot be derived directly from information on the original and the final orientations of a rigid body, but the overall motion can be readily decomposed into a sequence of simple rotations taking the above canonical forms. An application of canonical forms lies in the parameterization of rotations by means of Euler angles, consisting of three successive rotations, ϕ,  θ and ψ, about one axis of a coordinate frame. Euler angles are introduced in Exercise 2.19, and applications thereof are given in Exercises 2.8, 2.8 and 3.9.

2.3.3 The Linear Invariants of a 3 × 3 Matrix

Now we introduce two linear invariants of 3 × 3 matrices. Given any 3 × 3 matrix A, its Cartesian decomposition, the counterpart of the Cartesian representation of complex numbers, consists of the sum of its symmetric part, A S , and its skew-symmetric part, A SS , defined as

(2.57)

The axial vector or for brevity, the vector of A, is the vector a with the property

(2.58)

for any three-dimensional vector v. The trace of A is the sum of the eigenvalues of A S , which are real. Since no coordinate frame is involved in the above definitions, these are invariant. When calculating these invariants, of course, a particular coordinate frame must be used. Let us assume that the entries of matrix A in a certain coordinate frame are given by the array of real numbers a ij , for i, j = 1, 2, 3. Moreover, let a have components a i , for i = 1, 2, 3, in the same frame. The above-defined invariants are thus calculated as

(2.59)

From the foregoing definitions, we have now

Theorem 2.3.5.

The vector of a 3 × 3 matrix vanishes if and only if it is symmetric, whereas the trace of an n × n matrix vanishes if the matrix is skew symmetric.

Other useful relations are given below. For any three-dimensional vectors a and b,

(2.60)

and

(2.61)

The second relation is quite straightforward, but the first one is less so; a proof of the first relation follows: Let w denote vect(a b T ). From Definition (2.58), for any three-dimensional vector v,

(2.62)

where W is the skew-symmetric component of a b T , namely,

(2.63)

and hence,

(2.64)

Now, let us compare the last expression with the double cross product¹ (b ×a) ×v, namely,

(2.65)

from which it becomes apparent that

(2.66)

thereby proving the aforementioned relation.

Note that Theorem 2.3.5 states a necessary and sufficient condition for the vanishing of the vector of a 3 × 3 matrix, but only a sufficient condition for the vanishing of the trace of a n × n matrix. What this implies is that the trace of a n × n matrix can vanish without the matrix being necessarily skew symmetric, but the trace of a skew-symmetric matrix necessarily vanishes. Also note that whereas the vector of a matrix is defined only for 3 × 3 matrices, the trace can be defined more generally for n × n matrices.

In some applications, the cross-product matrix of the product A b of a 3 × 3 matrix A by a vector b is needed²:

(2.67)

where B = CPM(b). The reader is encouraged to verify the correctness of the above relation using components. Caveat: a component-free proof of the above relation is particularly challenging.

2.3.4 The Linear Invariants of a Rotation

From the invariant representations of the rotation matrix, Eqs. (2.49) and (2.55), it is clear that the first two terms of Q, ee T and cosϕ(1 − ee T ), are symmetric, whereas the third one, sin ϕ E, is skew-symmetric. Hence,

(2.68)

whereas

(2.69)

from which one can readily solve for cosϕ, namely,

(2.70)

Henceforth, the vector of Q will be denoted by q and its components in a given coordinate frame by q ₁, q ₂, and q ₃. Moreover, rather than using tr(Q) as the other linear invariant, $$q_{0} \equiv \cos \phi$$ will be introduced to refer to the linear invariants of the rotation matrix. Hence, the rotation matrix is fully defined by four scalar parameters, namely {q i }₀ ³, which will be conveniently stored in the four-dimensional array $$\boldsymbol{\lambda }$$, defined as

(2.71)

Note, however, that the four components of $$\boldsymbol{\lambda }$$ are not independent, for they obey the relation

(2.72)

Thus, Eq. (2.72) can be written in a more compact form as

(2.73)

What Eq. (2.72) states has a straightforward geometric interpretation: As a body rotates about a fixed point, its motion can be described in a four-dimensional space by the motion of a point of position vector $$\boldsymbol{\lambda }$$ that moves on the surface of the unit sphere centered at the origin of the said space. Alternatively, one can conclude that, as a rigid body rotates about a fixed point, its motion can be described in a three-dimensional space by the motion of position vector q, which moves within the unit solid sphere centered at the origin of the said space. Given the dependence of the four components of vector $$\boldsymbol{\lambda }$$, one might be tempted to solve for, say, q ₀ from Eq. (2.72) in terms of the remaining components, namely, as

(2.74)

This, however, is not a good idea because the sign ambiguity of Eq. (2.74) leaves angle ϕ undefined, for q ₀ is nothing but cosϕ. Moreover, the three components of vector q alone, i.e., sin ϕ e, do not suffice to define the rotation represented by Q. Indeed, from the definition of q, one has

(2.75)

from which it is clear that q alone does not suffice to define the rotation under study, since it leaves angle ϕ undefined. Indeed, the vector of the rotation matrix provides no information about cosϕ. Yet another representation of the rotation matrix is displayed below, in terms of its linear invariants, that is readily derived from representations (2.49) and (2.55), namely,

(2.76a)

in which $$\overline{\mathbf{Q}}$$ is the cross-product matrix of vector q, i.e.,

for any vector x.

Note that by virtue of Eq. (2.72), the representation of Q given in Eq. (2.76a) can be expressed alternatively as

(2.76b)

From either Eq. (2.76a) or (2.76b) it is apparent that linear invariants are not suitable to represent a rotation when the associated angle is either π or close to it. Note that a rotation through an angle ϕ about an axis given by vector e is identical to a rotation through an angle −ϕ about an axis given by vector −e. Hence, changing the sign of e does not change the rotation matrix, provided that the sign of ϕ is also changed. Henceforth, we will choose the sign of the components of e so that sin ϕ ≥ 0, which is equivalent to assuming that 0 ≤ ϕ ≤ π. Thus, sin ϕ is calculated as $$\|\mathbf{q}\|$$, while cosϕ as indicated in Eq. (2.70). Obviously, e is simply q normalized, i.e., q divided by its Euclidean norm.

2.3.5 Examples

The examples below are meant to stress the foregoing ideas on rotation invariants.

Example 2.3.3.

If $$[\mathbf{e}]_{\mathcal{F}} = {[\sqrt{3}/3,\,-\sqrt{3}/3,\,\sqrt{3}/3\,]}^{T}$$ in a given coordinate frame $$\mathcal{F}$$ and ϕ = 120∘, what is Q in $$\mathcal{F}$$?

Solution: From the data,

Moreover, in the $$\mathcal{F}$$ frame,

and hence,

Thus, from Eq. (2.49),

i.e.,

Example 2.3.4.

The matrix representation of a linear transformation Q in a certain reference frame $$\mathcal{F}$$ is given below. Find out whether the said transformation is a rigid-body rotation. If it is, find its natural invariants.

Solution: First the given array is tested for orthogonality:

thereby showing that the said array is indeed orthogonal. Thus, the linear transformation could represent a reflection or a rotation. In order to decide which one this represents, the determinant of the foregoing array is computed:

which makes apparent that Q indeed represents a rigid-body rotation. Now, its natural invariants are computed. The unit vector e can be computed as the eigenvector of Q associated with the eigenvalue + 1. This requires, however, finding a nontrivial solution of a homogeneous linear system of three equations in three unknowns. This is not difficult to do, but it is cumbersome and is not necessary. In order to find e and ϕ, it is recalled that vect(Q) = sin ϕ e, which is readily computed with differences only, as indicated in Eq. (2.59), namely,

Under the assumption that sin ϕ ≥ 0, then,

and hence,

and

The foregoing ambiguity is resolved by the trace of Q, which yields

The negative sign of cosϕ indicates that ϕ lies in the second quadrant—it cannot lie in the third quadrant because of our assumption about the sign of sin ϕ—and hence

Example 2.3.5.

A coordinate frame X ₁, Y ₁, Z ₁ is rotated into a configuration X ₂, Y ₂, Z ₂ in such a way that

Find the matrix representation of the rotation in X ₁, Y ₁, Z ₁ coordinates. From this representation, compute the direction of the axis and the angle of rotation.

Solution: Let i ₁, j ₁, k ₁ be unit vectors parallel to X ₁, Y ₁, Z ₁, respectively, i ₂, j ₂, k ₂ being defined correspondingly. One has

and hence, from Definition 2.2.1, the matrix representation [ Q ]₁ of the rotation under study in the X ₁, Y ₁, Z ₁ coordinate frame is readily derived:

from which the linear invariants follow, namely,

Under our assumption that sin ϕ ≥ 0, we obtain

From the foregoing values for sin ϕ and cosϕ, angle ϕ is computed uniquely as

Example 2.3.6.

Show that the matrix P given in Eq. (2.4) satisfies properties (2.1a).

Solution: First, we prove idempotency, i.e.,

thereby showing that P is, indeed, idempotent. Now we prove that n is an eigenvector of P with eigenvalue, 0 and hence, n spans the null space of P. In fact,

thereby completing the proof.

Example 2.3.7.

The representations of three linear transformations in a given coordinate frame $$\mathcal{F}$$ are given below:

One of the foregoing matrices is an orthogonal projection, one is a reflection, and one is a rotation. Identify each of these and give its invariants.

Solution: From representations (2.49) and (2.55), it is clear that a rotation matrix is symmetric if and only if sin ϕ = 0. This means that a rotation matrix cannot be symmetric unless its angle of rotation is either 0 or π, i.e., unless its trace is either 3 or − 1. Since $$[\,\mathbf{B}\,]_{\mathcal{F}}$$ and $$[\,\mathbf{C}\,]_{\mathcal{F}}$$ are symmetric, they cannot be rotations, unless their traces take the foregoing values. Their traces are thus evaluated below:

which thus rules out the foregoing matrices as suitable candidates for rotations. Thus, A is the only candidate left for proper orthogonality, its suitability being tested below:

and hence, A indeed represents a rotation. Its natural invariants are next computed:

We assume, as usual, that sin ϕ ≥ 0. Then,

Moreover,

Now, one matrix of B and C is an orthogonal projection and the other is a reflection. To be a reflection, a matrix has to be orthogonal. Hence, each matrix is tested for orthogonality:

thereby showing that C is orthogonal and B is not. Furthermore, det$$(\mathbf{C}) = -1$$, which confirms that C is a reflection. Now, if B is a projection, it is bound to be singular and idempotent. From the orthogonality test it is clear that it is idempotent. Moreover, one can readily verify that det(B) = 0, and hence B is singular, the unit vector $$[\,\mathbf{n}\,]_{\mathcal{F}} = {[\,n_{1},\,n_{2},\,n_{3}\,]}^{T}$$ that spans its null space being determined from the general form of projections, Eq. (2.1a), whence,

Therefore, if a solution n has been found, then −n is also a solution, i.e., the problem admits two solutions, one being the negative of the other. These two solutions are found below, by first rewriting the above system of equations in component form:

Now, from the diagonal entries of the above matrices, it is apparent that the three components of n have identical absolute values, i.e., $$\sqrt{ 3}/3$$. Moreover, from the off-diagonal entries of the same matrices, the second and third components of n bear equal signs, but we cannot tell whether positive or negative, because of the quadratic nature of the problem at hand. The two solutions are thus obtained as

which is the only invariant of B.

We now look at C, which is a reflection, and apparently, bears the form

In order to determine n, note that

or in component form,

which is identical to the matrix equation derived in the case of matrix B. Hence, the solution is the same, i.e.,

thereby finding the invariant sought.

Example 2.3.8.

The vector and the trace of a rotation matrix Q, in a certain reference frame $$\mathcal{F}$$, are given as

Find the matrix representation of Q in the given coordinate frame and in a frame having its Z-axis parallel to vect(Q).

Solution: We shall resort to Eq. (2.76a) to determine the rotation matrix Q. The quantities involved in the representation of Q in $$\mathcal{F}$$ are readily computed:

from which Q follows:

in the given coordinate frame. Now, let $$\mathcal{Z}$$ denote a coordinate frame whose Z-axis is parallel to q. Hence,

which readily leads to

and is in the Z-canonical form.

Example 2.3.9.

A procedure for trajectory planning produced a matrix representing a rotation for a certain pick-and-place operation, as shown below:

where x, y, and z are entries that are unrecognizable due to failures in the printing hardware. Knowing that Q is in fact a rotation matrix, find the missing entries.

Solution: Since Q is a rotation matrix, the product $$\mathbf{P} \equiv {\mathbf{Q}}^{T}\mathbf{Q}$$ should equal the 3 × 3 identity matrix, and det(Q) should be + 1. The foregoing product is computed first:

where the entries below the diagonal need not be printed because the matrix is symmetric. Upon equating the diagonal entries of the foregoing array to unity, we obtain

while the vanishing of the off-diagonal entries leads to

which can be readily verified to produce $$\mathrm{det}(\mathbf{Q}) = +1$$.

2.3.6 The Euler–Rodrigues Parameters

The invariants defined so far, namely, the natural and the linear invariants of a rotation matrix, are not the only ones that are used in kinematics. Additionally, one has the Euler parameters, or Euler–Rodrigues parameters, as Cheng and Gupta (1989) propose that they should be called, represented here as r and r ₀. The Euler–Rodrigues parameters are defined as

(2.77)

One can readily show that Q takes on a quite simple form in terms of the Euler–Rodrigues parameters, namely,

(2.78)

in which R is the cross-product matrix of r, i.e.,

for arbitrary x.

Note that the Euler–Rodrigues parameters appear quadratically in the rotation matrix. Hence, these parameters cannot be computed with simple sums and differences. A closer inspection of Eq. (2.76b) reveals that the linear invariants appear almost linearly in the rotation matrix. This means that the rotation matrix, as given by Eq. (2.76b), is composed of two types of terms, namely, linear and rational. Moreover, the rational term is composed of a quadratic expression in the numerator and a linear expression in the denominator, the ratio thus being linear, which explains why the linear invariants can be obtained by sums and differences from the rotation matrix.

The relationship between the linear invariants and the Euler–Rodrigues parameters can be readily derived, namely,

(2.79)

Furthermore, note that, if ϕ = π, then r ₀ = 0, and formulae (2.79) fail to produce r. However, from Eq. (2.77),

(2.80)

We now derive invariant relations between the rotation matrix and the Euler–Rodrigues parameters. To do this, we resort to the concept of matrix square root. As a matter of fact, the square root of a square matrix is nothing but a particular case of an analytic function of a square matrix, discussed in connection with Theorem 2.3.3 and the exponential representation of the rotation matrix. Indeed, the square root of a square matrix is an analytic function of that matrix, and hence, admits a series expansion in powers of the matrix. Moreover, by virtue of the Cayley–Hamilton Theorem (Theorem 2.3.3) the said square root should be, for a 3 × 3 matrix, a linear combination of the identity matrix 1, the matrix itself, and its square, the coefficients being found using the eigenvalues of the matrix.

Furthermore, from the geometric meaning of a rotation through the angle ϕ about an axis parallel to the unit vector e, it is apparent that the square of the matrix representing the foregoing rotation is itself a rotation about the same axis, but through the angle 2ϕ. By the same token, the square root of the rotation matrix is again a rotation matrix about the same axis, but through an angle ϕ∕2. Now, while the square of a matrix is unique, its square root is not. This fact is apparent for diagonalizable matrices, whose diagonal entries are their eigenvalues. Each eigenvalue, whether positive or negative, admits two square roots, and hence, a diagonalizable n × n matrix admits as many square roots as there are combinations of the two possible roots of individual eigenvalues, disregarding rearrangements of the latter. Such a number is 2 n , and hence, a 3 × 3 matrix admits eight square roots. For example, the eight square roots of the identity 3 × 3 matrix are displayed below:

In fact, the foregoing result can be extended to orthogonal matrices as well and, for that matter, to any square matrix with n linearly independent eigenvectors. That is, an n × n orthogonal matrix admits 2 n square roots. However, not all eight square roots of a 3 × 3 orthogonal matrix are orthogonal. In fact, not all eight square roots of a 3 × 3 proper orthogonal matrix are proper orthogonal either. Of these square roots, nevertheless, there is one that is proper orthogonal, the one representing a rotation of ϕ ∕2. We will denote this particular square root of Q by $$\sqrt{ \mathbf{Q}}$$. The Euler–Rodrigues parameters of Q can thus be expressed as the linear invariants of $$\sqrt{ \mathbf{Q}}$$, namely,

(2.81)

It is important to recognize the basic differences between the linear invariants and the Euler–Rodrigues parameters. Whereas the former can be readily derived from the matrix representation of the rotation involved by simple additions and subtractions, the latter require square roots and entail sign ambiguities. However, the former fail to produce information on the axis of rotation whenever the angle of rotation is π, whereas the latter produce that information for any value of the angle of rotation.

The Euler–Rodrigues parameters are nothing but the quaternions invented by Sir William Rowan Hamilton (1844) in an extraordinary moment of creativity on Monday, October 16, 1843, as “Hamilton, accompanied by Lady Hamilton, was walking along the Royal Canal in Dublin towards the Royal Irish Academy, where Hamilton was to preside a meeting” (Altmann 1989).

Moreover, the Euler–Rodrigues parameters should not be confused with the Euler angles, which are not invariant and hence, admit multiple definitions. The foregoing means that no single set of Euler angles exists for a given rotation matrix, the said angles depending on how the rotation is decomposed into three simpler rotations. For this reason, Euler angles will not be stressed here. The reader is referred to Exercise 2.19 for a short discussion of Euler angles; Synge (1960) includes a classical treatment, while Kane et al. (1983) provide an extensive discussion of the same.

Example 2.3.10.

Find the Euler–Rodrigues parameters of the proper orthogonal matrix Q given as

Solution: Since the given matrix is symmetric, its angle of rotation is π and its vector linear invariant vanishes, which prevents us from finding the direction of the axis of rotation from the linear invariants; moreover, expressions (2.79) do not apply. However, we can use Eq. (2.50) to find the unit vector e parallel to the axis of rotation, i.e.,

or in component form,

A simple inspection of the components of the two sides of the above equation reveals that all three components of e are identical and moreover, of the same sign, but we cannot tell which sign this is. Therefore,

Moreover, from the symmetry of Q, we know that ϕ = π, and hence,

2.4 Composition of Reflections and Rotations

As pointed out in Sect. 2.2, reflections occur often accompanied by rotations. The effect of this combination is that the rotation destroys the two properties of pure reflections, symmetry and self-inversion, as defined in Sect. 2.2. Indeed, let R be a pure reflection, taking on the form appearing in Eq. (2.5), and Q an arbitrary rotation, taking on the form of Eq. (2.49). The product of these two transformations, Q R, denoted by T, is apparently neither symmetric nor self-inverse, as the reader can readily verify. Likewise, the product of these two transformations in the reverse order is neither symmetric nor self-inverse.

As a consequence of the foregoing discussion, an improper orthogonal transformation that is not symmetric can always be decomposed into the product of a rotation and a pure reflection, the latter being symmetric and self-inverse. Moreover, this decomposition can take on the form of any of the two possible orderings of the rotation and the reflection. Note, however, that once the order has been selected, the decomposition is not unique. Indeed, if we want to decompose T in the above paragraph into the product Q R, then we can freely choose the unit normal n of the plane of reflection and write

vector n then being found from

Hence, the factor Q of that decomposition is obtained as

where use has been made of the self-inverse property of R. Any other selection of vector n will lead to a different decomposition of T.

Example 2.4.1.

Join the palms of your two hands in the position adopted by swimmers when preparing for plunging, while holding a sheet of paper between them. The sheet defines a plane in each hand that we will call the hand plane, its unit normal, pointing outside of the hand, being called the hand normal and represented as vectors n R and n L for the right and left hand, respectively. Moreover, let o R and o L denote unit vectors pointing in the direction of the finger axes of each of the two hands. Thus, in the swimmer position described above, $$\mathbf{n}_{L} = -\mathbf{n}_{R}$$ and o L  = o R . Now, without moving your right hand, let the left hand attain a position whereby the left-hand normal lies at right angles with the right-hand normal, the palm pointing downwards and the finger axes of the two hands remaining parallel. Find the representation of the transformation carrying the right hand to the final configuration of the left hand, in terms of the unit vectors n R and o R .

Solution: Let us regard the desired transformation T as the product of a rotation Q by a pure reflection R, in the form T = Q R. Thus, the transformation occurs so that the reflection takes place first, then the rotation. The reflection is simply that mapping the right hand into the left hand, and hence, the reflection plane is simply the hand plane, i.e.,

Moreover, the left hand rotates from the swimmer position about an axis parallel to the finger axes through an angle of 90∘ clockwise from your viewpoint, i.e., in the positive direction of vector o R . Hence, the form of the rotation involved can be derived readily from Eq. (2.49) and the above information, namely,

where O R is the cross-product matrix of o R . Hence, upon performing the product Q R, we have

which is the transformation sought.

2.5 Coordinate Transformations and Homogeneous Coordinates

Crucial to robotics is the unambiguous description of the geometric relations among the various bodies in the environment surrounding a robot. These relations are established by means of coordinate frames, or frames, for brevity, attached to each rigid body in the scene, including the robot links. The origins of these frames, moreover, are set at landmark points and orientations defined by key geometric entities like lines and planes. For example, in Chap. 4 we attach two frames to every moving link of a serial robot, with origin at a point on each of the axis of the two joints coupling this link with its two neighbors. Moreover, the Z-axis of each frame is defined, according to the Denavit–Hartenberg notation, introduced in that chapter, along each joint axis, while the X-axis of the frame closer to the base—termed the fore frame—is defined along the common perpendicular to the two joint axes. The origin of the same frame is thus defined as the intersection of the fore axis with the common perpendicular to the two axes. This section is devoted to the study of the coordinate transformations of vectors when these are represented in various frames.

2.5.1 Coordinate Transformations Between Frames with a Common Origin

We will refer to two coordinate frames in this section, namely, $$\mathcal{A} =\{ X,\,Y,\,Z\}$$ and $$\mathcal{B} =\{ \mathcal{X},\,\mathcal{Y},\,\mathcal{Z}\}$$. Moreover, let Q be the rotation carrying $$\mathcal{A}$$ into $$\mathcal{B}$$, i.e.,

(2.82)

The purpose of this subsection is to establish the relation between the representations of the position vector of a point P in $$\mathcal{A}$$ and in $$\mathcal{B}$$, denoted by $$[\,\mathbf{p}\,]_{\mathcal{A}}$$ and $$[\,\mathbf{p}\,]_{\mathcal{B}}$$, respectively. Let

(2.83)

We want to find $$[\,\mathbf{p}\,]_{\mathcal{B}}$$ in terms of $$[\,\mathbf{p}\,]_{\mathcal{A}}$$ and Q, when the latter is represented in either frame. The coordinate transformation can best be understood if we regard point P as attached to frame $$\mathcal{A}$$, as if it were a point of a box with sides of lengths x, y, and z, as indicated in Fig. 2.4a. Now, frame $$\mathcal{A}$$ undergoes a rotation Q about its origin that carries it into a new attitude, that of frame $$\mathcal{B}$$, as illustrated in Fig. 2.4b. Point P in its rotated position is labeled Π, of position vector $$\boldsymbol{\pi }$$, i.e.,

(2.84)

It is apparent that the relative position of point P with respect to its box does not change under the foregoing rotation, and hence,

(2.85)

Moreover, let

(2.86)

The relation between the two representations of the position vector of any point of the three-dimensional Euclidean space is given by

Fig. 2.4

Coordinate transformation: (a) coordinates of point P in the $$\mathcal{A}$$-frame; and (b) relative orientation of frame $$\mathcal{B}$$ with respect to $$\mathcal{A}$$

Theorem 2.5.1.

The representations of the position vector $$\boldsymbol{\pi }$$ of any point in two frames $$\mathcal{A}$$ and $$\mathcal{B}$$ , denoted by $$[\,\boldsymbol{\pi }\,]_{\mathcal{A}}$$ and $$[\,\boldsymbol{\pi }\,]_{\mathcal{B}}$$ , respectively, are related by

(2.87)

Proof.

Let us write Eq. (2.84) in $$\mathcal{A}$$:

(2.88)

Now, from Fig. 2.4b and Eqs. (2.83) and (2.85) it is apparent that

(2.89)

Upon substituting Eq. (2.89) into Eq. (2.88), we obtain

(2.90)

q.e.d. Moreover, we have

Theorem 2.5.2.

The representations of Q carrying $$\mathcal{A}$$ into $$\mathcal{B}$$ in these two frames are identical, i.e.,

(2.91)

Proof.

Upon substitution of Eq. (2.84) into Eq. (2.87), we obtain

or

Now, since Q is orthogonal, it is nonsingular, and hence, $$[\,\mathbf{Q}\,]_{\mathcal{A}}$$ can be deleted from the foregoing equation, thus leading to

(2.92)

However, by virtue of Theorem 2.5.1, the two representations of p observe the relation

(2.93)

the theorem being proved upon equating the right-hand sides of Eqs. (2.92) and (2.93).

Note that the foregoing theorem states a relation valid only for the conditions stated therein. The reader should not conclude from this result that rotation matrices have the same representations in every frame. This point is stressed in Example 2.5.1. Furthermore, we have

Theorem 2.5.3.

The inverse relation of Theorem  2.5.1 is given by

(2.94)

Proof.

This is straightforward in light of the two foregoing theorems, and is left to the reader as an exercise.

Example 2.5.1.

Coordinate frames $$\mathcal{A}$$ and $$\mathcal{B}$$ are shown in Fig. 2.5. Find the representations of Q rotating $$\mathcal{A}$$ into $$\mathcal{B}$$ in these two frames and show that they are identical. Moreover, if $$[\,\mathbf{p}\,]_{\mathcal{A}} = {[\,1,\,1,\,1\,]}^{T}$$, find $$[\,\mathbf{p}\,]_{\mathcal{B}}$$.

Fig. 2.5

Coordinate frames $$\mathcal{A}$$ and $$\mathcal{B}$$ with a common origin

Solution: Let i, j, and k be unit vectors in the directions of the X-, Y-, and Z-axes, respectively; unit vectors $$\boldsymbol{\iota }$$, $$\boldsymbol{\gamma }$$, and $$\boldsymbol{\kappa }$$ are defined likewise as parallel to the $$\mathcal{X}$$-, $$\mathcal{Y}$$-, and $$\mathcal{Z}$$-axes of Fig. 2.5. Therefore,

Therefore, using Definition 2.2.1, the matrix representation of Q carrying $$\mathcal{A}$$ into $$\mathcal{B}$$, in $$\mathcal{A}$$, is given by

Now, in order to find $$[\,\mathbf{Q}\,]_{\mathcal{B}}$$, we apply Q to the three unit vectors of $$\mathcal{B}$$, $$\boldsymbol{\iota }$$, $$\boldsymbol{\gamma }$$, and $$\boldsymbol{\kappa }$$. Thus, for $$\boldsymbol{\iota }$$, we have

Likewise,

again, from Definition 2.2.1, we have

thereby confirming Theorem 2.5.2. Note that the representation of this matrix in any other coordinate frame would be different. For example, if we represent this matrix in a frame whose X-axis is directed along the axis of rotation of Q, then we end up with the X-canonical representation of Q, namely,

with the angle of rotation ϕ being readily computed as ϕ = 120∘, which thus yields

Apparently, the entries of $$[\,\mathbf{Q}\,]_{\mathcal{X}}$$ are different from those of $$[\,\mathbf{Q}\,]_{\mathcal{A}}$$ and $$[\,\mathbf{Q}\,]_{\mathcal{B}}$$ found above.

Now, from Eq. (2.94),

a result that can be readily verified by inspection.

2.5.2 Coordinate Transformation with Origin Shift

Now, if the coordinate origins do not coincide, let b be the position vector, in $$\mathcal{A}$$, of $$\mathcal{O}$$, the origin of $$\mathcal{B}$$, as shown in Fig. 2.6. The corresponding coordinate transformation from $$\mathcal{A}$$ to $$\mathcal{B}$$, the counterpart of Theorem 2.5.1, is given below.

Theorem 2.5.4.

The representations of the position vector p of a point P of the Euclidean three-dimensional space in two frames $$\mathcal{A}$$ and $$\mathcal{B}$$ are related by

(2.95a)

(2.95b)

with b defined as the vector directed from the origin of $$\mathcal{A}$$ to that of $$\mathcal{B}$$ , and $$\boldsymbol{\pi }$$ the vector directed from the origin of $$\mathcal{B}$$ to P, as depicted in Fig. 2.6.

Proof.

We have, from Fig. 2.6, in any coordinate frame,

(2.96)

If we express the above equation in the $$\mathcal{A}$$-frame, we obtain

where $$\boldsymbol{\pi }$$ is assumed to be readily available in $$\mathcal{B}$$, and so the foregoing equation must be expressed as

(2.97)

which thus proves Eq. (2.95a). To prove Eq. (2.95b), we simply solve Eq. (2.96) for $$\boldsymbol{\pi }$$ and apply Eq. (2.94) to the equation thus resulting, which readily leads to the desired relation.

Notice the geometric interpretation of the second term in the right-hand side of Eq. (2.97): this term represents, in frame $$\mathcal{A}$$, the position vector of a point P ′ , whose image under Q is $$\boldsymbol{\pi }$$.

Fig. 2.6

Coordinate frames with different origins

Example 2.5.2.

If $$[\,\mathbf{b}\,]_{\mathcal{A}} = {[\,-1,-1,\,-1\,]}^{T}$$ and $$\mathcal{A}$$ and $$\mathcal{B}$$ have the relative orientations given in Example 2.5.1, find the position vector, in $$\mathcal{B}$$, of a point P of position vector $$[\,\mathbf{p}\,]_{\mathcal{A}}$$ given as in the same example.

Solution: What we obviously need is $$[\,\boldsymbol{\pi }\,]_{\mathcal{B}}$$, which is given in Eq. (2.95b). We thus compute first the sum inside the parentheses of that equation, i.e.,

We need further $$[\,{\mathbf{Q}}^{T}\,]_{\mathcal{B}}$$, which can be readily derived from $$[\,\mathbf{Q}\,]_{\mathcal{B}}$$. We do not have as yet this matrix, but we have $$[\,{\mathbf{Q}}^{T}\,]_{\mathcal{A}}$$, which is identical to $$[\,{\mathbf{Q}}^{T}\,]_{\mathcal{B}}$$ by virtue of Theorem 2.5.2. Therefore,

a result that the reader is invited to verify by inspection.

2.5.3 Homogeneous Coordinates

The general coordinate transformation, involving a shift of the origin, is not linear in the sense of the definition given in Subsection 2.2, as can be readily realized by virtue of the nonhomogeneous term involved, i.e., the first term of the right-hand side of Eq. (2.95a), which is independent of p. Such a transformation, nevertheless, can be represented in homogeneous form if homogeneous coordinates are introduced. These are defined below: Let $$[\,\mathbf{p}\,]_{\mathcal{M}}$$ be the coordinate array of a finite point P in reference frame $$\mathcal{M}$$. What we mean by a finite point is one whose coordinates are all finite. We are thus assuming that the point P at hand is not at infinity, points at infinity being introduced presently. The homogeneous coordinates of P are those in the four-dimensional array $$\{\mathbf{p}\}_{\mathcal{M}}$$, defined as

(2.98)

The affine transformation of Eq. (2.95a) can now be rewritten in homogeneous-coordinate form as

(2.99)

where $$\{\mathbf{T}\}_{\mathcal{A}}$$ is defined as a 4 × 4 array, namely,

(2.100)

The inverse transformation of that defined in Eq. (2.100) is derived from Eqs. (2.95a and b), i.e.,

(2.101)

Now, $$\{\,{\mathbf{T}}^{-1}\,\}_{\mathcal{A}}$$ can be readily derived from the above expression, upon application of Theorems 2.5.1 and 2.5.2, which leads to

(2.102)

Furthermore, homogeneous transformations can be concatenated. Indeed, let $$\mathcal{F}_{k}$$, for $$k = i - 1,\,i,\,i + 1$$, denote three coordinate frames, with origins at O k . Moreover, let Q i−1 be the rotation carrying $$\mathcal{F}_{i-1}$$ into an orientation coinciding with that of $$\mathcal{F}_{i}$$. If a similar definition for Q i is adopted, then Q i denotes the rotation carrying $$\mathcal{F}_{i}$$ into an orientation coinciding with that of $$\mathcal{F}_{i+1}$$. First, the case in which all three origins coincide is considered. Clearly,

(2.103a)

(2.103b)

the inverse relations of those appearing in Eqs. (2.103a and b) being

(2.104a)

(2.104b)

If now the origins do not coincide, let a i−1 and a i denote the vectors $$\overrightarrow{O_{i-1}O_{i}}$$ and $$\overrightarrow{O_{i}O_{i+1}}$$, respectively. The transformations $$\{\mathbf{T}_{i-1}\}_{i-1}$$ and {T i } i thus arising are obviously

(2.105)

whereas their inverse transformations are

(2.106a)

(2.106b)

The coordinate transformations involved are derived upon simply replacing Q i−1 and Q i with T i−1 and T i , respectively, in Eqs. (2.104a and b), i.e.,

(2.107a)

(2.107b)

the corresponding inverse transformations being

(2.108a)

(2.108b)

which are the counterpart transformations of Eqs. (2.103a and b) for the case of no rigin shift.

Now, if P lies at infinity, we can express its homogeneous coordinates in a simpler form. To this end, we rewrite expression (2.98) in the form

and hence,

or

We now define the homogeneous coordinates of a point P lying at infinity as the four-dimensional array appearing in the foregoing expression, i.e.,

(2.109)

which means that a point at infinity, in homogeneous coordinates, has only a direction, given by the unit vector e, but an undefined location. When working with objects within the atmosphere of the Earth, for example, stars can be regarded as lying at infinity, and hence, their location is completely specified simply by their longitude and latitude, which suffice to define the direction cosines of a unit vector in spherical coordinates.

On the other hand, a rotation matrix can be regarded as composed of three columns, each representing a unit vector, e.g.,

where the triad { e k  }₁ ³ is orthonormal. We can thus represent $$\{\,\mathbf{T}\,\}_{\mathcal{A}}$$ of Eq. (2.100) in the form

(2.110)

thereby concluding that the columns of the 4 × 4 matrix T represent the homogeneous coordinates of a set of corresponding points, the first three of which lie at infinity.

Example 2.5.3.

An ellipsoid is centered at a point $$O_{\mathcal{B}}$$ of position vector b, its three axes $$\mathcal{X}$$, $$\mathcal{Y}$$, and $$\mathcal{Z}$$ defining a coordinate frame $$\mathcal{B}$$. Moreover, its semiaxes have lengths a = 1, b = 2, and c = 3, the coordinates of $$O_{\mathcal{B}}$$ in a coordinate frame $$\mathcal{A}$$ being $$[\,\mathbf{b}\,]_{\mathcal{A}} = {[\,1,\,2,\,3\,]}^{T}$$. Additionally, the direction cosines of $$\mathcal{X}$$ are (0. 933, 0. 067, −0. 354), whereas $$\mathcal{Y}$$ is perpendicular to b and to the unit vector u that is parallel to the $$\mathcal{X}$$-axis. Find the equation of the ellipsoid in $$\mathcal{A}$$. (This example has relevance in collision-avoidance algorithms, some of which approximate manipulator links as ellipsoids, thereby easing tremendously the computational requirements.)

Solution: Let u, v, and w be unit vectors parallel to the $$\mathcal{X}$$-, $$\mathcal{Y}$$-, and $$\mathcal{Z}$$-axes, respectively. Then,

and hence,

from which the rotation matrix Q, rotating the axes of $$\mathcal{A}$$ into orientations coinciding with those of $$\mathcal{B}$$, can be readily represented in $$\mathcal{A}$$, or in $$\mathcal{B}$$ for that matter, as

On the other hand, if the coordinates of a point P in $$\mathcal{A}$$ and $$\mathcal{B}$$ are $$[\,\mathbf{p}\,]_{\mathcal{A}} = {[\,p_{1},\,p_{2},\,p_{3}\,]}^{T}$$ and $$[\,\boldsymbol{\pi }\,]_{\mathcal{B}} = {[\,\pi _{1},\,\pi _{2},\,\pi _{3}\,]}^{T}$$, respectively, then the equation of the ellipsoid in $$\mathcal{B}$$ is, apparently,

Now, what is needed in order to derive the equation of the ellipsoid in $$\mathcal{A}$$ is simply a relation between the coordinates of P in $$\mathcal{B}$$ and those in $$\mathcal{A}$$. These coordinates are related by Eq. (2.95b), which requires $$[\,{\mathbf{Q}}^{T}\,]_{\mathcal{B}}$$, while we have $$[\,\mathbf{Q}\,]_{\mathcal{A}}$$. Nevertheless, by virtue of Theorem 2.5.2

Hence,

Therefore,

Substitution of the foregoing relations into the ellipsoid equation in $$\mathcal{B}$$ leads to

which is the equation sought, as obtained using computer algebra.

2.6 Similarity Transformations

Transformations of the position vector of points under a change of coordinate frame involving both a translation of the origin and a rotation of the coordinate axes was the main subject of Sect. 2.5. In this section, we study the transformations of components of vectors other than the position vector, while extending the concept to the transformation of matrix entries. How these transformations take place is the subject of this section.

What is involved in the present discussion is a change of basis of the associated vector spaces, and hence, this is not limited to three-dimensional vector spaces. That is, n-dimensional vector spaces will be studied in this section. Moreover, only isomorphisms, i.e., transformations L of the n-dimensional vector space $$\mathcal{V}$$ onto itself will be considered. Let $$\mathcal{A} =\{ \mathbf{a}_{i}\}_{1}^{n}$$ and $$\mathcal{B} =\{ \mathbf{b}_{i}\}_{1}^{n}$$ be two different bases of the same space $$\mathcal{V}$$. Hence, any vector v of $$\mathcal{V}$$ can be expressed in either of two ways, namely,

(2.111)

(2.112)

from which two representations of v are readily derived, namely,

(2.113)

In order to find the representation of the linear transformation that relates the two bases, let A be the linear transformation that carries the set $$\mathcal{A}$$ into the set $$\mathcal{B}$$, i.e., A: $$\mathcal{A}\rightarrow \mathcal{B}$$.

Furthermore, let the two foregoing bases be related by

(2.114)

Hence, the representation sought, $$[\mathbf{A}]_{\mathcal{A}}$$—in the basis $$\mathcal{A}$$— is, according to Definition 2.2.1,

(2.115)

Now, in order to find the relationship between the two representations of Eq. (2.113), Eq. (2.114) is substituted into Eq. (2.112), which yields

(2.116)

This can be rearranged to yield

(2.117)

Comparing Eq. (2.117) with Eq. (2.111), one readily derives

(2.118)

with $$[\mathbf{A}]_{\mathcal{A}}$$ introduced in Eq. (2.115). Equation (2.118) is the relation, sought, its inverse being

(2.119)

Next, let L have the representation in $$\mathcal{A}$$ given below:

(2.120)

Now we aim to find the relationship between $$[\,\mathbf{L}\,]_{\mathcal{A}}$$ and $$[\,\mathbf{L}\,]_{\mathcal{B}}$$. To this end, let w be the image of v under L, i.e.,

(2.121)

which can be expressed in terms of either $$\mathcal{A}$$ or $$\mathcal{B}$$ as

(2.122)

(2.123)

Further, since L is an isomorphism by hypothesis, w of Eq. (2.121) lies in the same space $$\mathcal{V}$$ as v. Hence, similar to Eq. (2.118),

(2.124)

Now, substitution of Eqs. (2.118) and (2.124) into Eq. (2.122) yields

(2.125)

which can be readily rearranged in the form

(2.126)

Comparing Eq. (2.123) with Eq. (2.126) readily leads to

(2.127)

which upon rearrangement, becomes

(2.128)

Now, paraphrasing Theorems 2.5.2 and 2.5.4, we can state

Theorem 2.6.1.

The representations of A carrying $$\mathcal{A}$$ into $$\mathcal{B}$$ in these two frames are identical, i.e.,

(2.129)

Proof.

Substitute L for A in Eq. (2.127) to obtain the above relation, q.e.d.

Relations (2.118), (2.119), (2.127), and (2.128) constitute what are called similarity transformations. These are important because they preserve invariant quantities such as the eigenvalues and eigenvectors of matrices, the magnitudes of vectors, the angles between vectors, and so on. Indeed, one has:

Theorem 2.6.2.

The characteristic polynomial of a given n × n matrix remains unchanged under a similarity transformation. Moreover, the eigenvalues of two matrix representations of the same n × n linear transformation are identical, and if $$[\,\mathbf{e}\,]_{\mathcal{B}}$$ is an eigenvector of $$[\,\mathbf{L}\,]_{\mathcal{B}}$$ , then under the similarity transformation (2.128) , the corresponding eigenvector of $$[\,\mathbf{L}\,]_{\mathcal{A}}$$ is $$[\,\mathbf{e}\,]_{\mathcal{A}} = [\,\mathbf{A}\,]_{\mathcal{A}}[\,\mathbf{e}\,]_{\mathcal{B}}$$ .

Proof.

From Eq. (2.11), the characteristic polynomial of $$[\,\mathbf{L}\,]_{\mathcal{B}}$$ is

(2.130)

which can be rewritten as

But

and hence, the characteristic polynomial of $$[\,\mathbf{L}\,]_{\mathcal{A}}$$ is identical to that of $$[\,\mathbf{L}\,]_{\mathcal{B}}$$. Since both representations have the same characteristic polynomial, they have the same eigenvalues. Now, if $$[\,\mathbf{e}\,]_{\mathcal{B}}$$ is an eigenvector of $$[\,\mathbf{L}\,]_{\mathcal{B}}$$ associated with the eigenvalue λ, then

Next, Eq. (2.127) is substituted into the foregoing equation, which thus leads to

Upon rearrangement, this equation becomes

(2.131)

whence it is apparent that $$[\,\mathbf{A}\,]_{\mathcal{A}}[\,\mathbf{e}\,]_{\mathcal{B}}$$ is an eigenvector of $$[\,\mathbf{L}\,]_{\mathcal{A}}$$ associated with the eigenvalue λ, q.e.d.

Theorem 2.6.3.

If $$[\,\mathbf{L}\,]_{\mathcal{A}}$$ and $$[\,\mathbf{L}\,]_{\mathcal{B}}$$ are related by the similarity transformation (2.127) , then

(2.132)

for any integer k.

Proof.

This is done by induction. For k = 2, one has

Now, assume that the proposed relation holds for k = n. Then,

i.e., the relation holds for $$k = n + 1$$ as well, thereby completing the proof.

Theorem 2.6.4.

The trace of a n × n matrix does not change under a similarity transformation.

Proof.

A preliminary relation will be needed: Let [ A ], [ B ] and [ C ] be three different n × n matrix arrays, in a given reference frame, that need not be indicated with any subscript. Moreover, let a ij , b ij , and c ij be the components of the said arrays, with indices ranging from 1 to n. Hence, using standard index notation,

(2.133)

Taking the trace of both sides of Eq. (2.127) and applying the foregoing result produces

(2.134)

thereby proving that the trace remains unchanged under a similarity transformation.

Example 2.6.1.

We consider the equilateral triangle sketched in Fig. 2.7, of side length equal to 2, with vertices P ₁, P ₂, and P ₃, and coordinate frames $$\mathcal{A}$$ and $$\mathcal{B}$$ of axes X, Y and X ′ , Y ′ , respectively, both with origin at the centroid of the triangle. Let P be a 2 × 2 matrix defined by

with p i denoting the position vector of P i in a given coordinate frame. Show that matrix P does not obey a similarity transformation upon a change of frame, and compute its trace in frames $$\mathcal{A}$$ and $$\mathcal{B}$$ to make it apparent that this matrix does not comply with the conditions of Theorem 2.6.4.

Fig. 2.7

Two coordinate frames used to represent the position vectors of the corners of an equilateral triangle

Solution: From the figure it is apparent that

Apparently,

The reason why the trace of this matrix did not remain unchanged under a coordinate transformation is that the matrix does not obey a similarity transformation under a change of coordinates. Indeed, vectors p i change as

under a change of coordinates from $$\mathcal{B}$$ to $$\mathcal{A}$$, with Q denoting the rotation carrying $$\mathcal{A}$$ into $$\mathcal{B}$$. Hence,

which is different from the similarity transformation of Eq. (2.128). However, if we now define

then

and hence,

thereby showing that the trace of R does not change under a change of frame. In order to verify whether matrix R complies with the conditions of Theorem 2.6.4, we notice that, under a change of frame, matrix R changes as

which is indeed a similarity transformation.

2.7 Invariance Concepts

From Example 2.6.1 it is apparent that certain properties, like the trace of certain square matrices, do not change under a coordinate transformation. For this reason, a matrix like R of that example is said to be frame-invariant, or simply invariant, whereas matrix P of the same example is not. In this section, we formally define the concept of invariance and highlight its applications and its role in robotics. Let a scalar, a vector, and a matrix function of the position vector p be denoted by f(p), f(p) and F(p), respectively. The representations of f(p) in two different coordinate frames, labelled $$\mathcal{A}$$ and $$\mathcal{B}$$, will be indicated as $$[\mathbf{f(p)}]_{\mathcal{A}}$$ and $$[\mathbf{f(p)}]_{\mathcal{B}}$$, respectively, with a similar notation for the representations of F(p). Moreover, let the two frames differ both in the location of their origins and in their orientations. Additionally, let the proper orthogonal matrix $$[\mathbf{Q}]_{\mathcal{A}}$$ denote the rotation of coordinate frame $$\mathcal{A}$$ into $$\mathcal{B}$$. Then, the scalar function f(p) is said to be frame invariant, or invariant for brevity, if

(2.135)

Moreover, the vector quantity f is said to be invariant if

(2.136)

and finally, the matrix quantity F is said to be invariant if

(2.137)

Thus, the difference in origin location becomes irrelevant in this context, and hence, will no longer be considered. From the foregoing discussion, it is clear that the same vector quantity has different components in different coordinate frames; moreover, the same matrix quantity has different entries in different coordinate frames. However, certain scalar quantities associated with vectors, e.g., the inner product, and matrices, e.g., the matrix moments, to be defined presently, remain unchanged under a change of frame. Additionally, such vector operations as the cross product of two vectors are invariant. In fact, the scalar product of two vectors a and b remains unchanged under a change of frame, i.e.,

(2.138)

Additionally,

(2.139)

The kth moment of a n × n matrix T, denoted by $$\mathcal{I}_{k}$$, is defined as (Leigh 1968)

(2.140)

where $$\mathcal{I}_{0} =\mathrm{ tr}(\mathbf{1}) = n$$. Now we have

Theorem 2.7.1.

The moments of a n × n matrix are invariant under a similarity transformation.

Proof.

This is straightforward. Indeed, from Theorem 2.6.3, we have

(2.141)

Now, let $$[\,\mathcal{I}_{k}\,]_{\mathcal{A}}$$ and $$[\,\mathcal{I}_{k}\,]_{\mathcal{B}}$$ denote the kth moment of $$\left [\,\mathbf{\mathbf{T}}\,\right ]_{\mathcal{A}}$$ and $$\left [\,\mathbf{\mathbf{T}}\,\right ]_{\mathcal{B}}$$, respectively. Thus,

thereby completing the proof.

Furthermore,

Theorem 2.7.2.

An × n matrix has only n linearly independent moments.

Proof.

Let the characteristic polynomial of T be

(2.142)

Upon application of the Cayley–Hamilton Theorem, Eq. (2.142) leads to

(2.143)

where 1 denotes the n × n identity matrix.

Now, if we take the trace of both sides of Eq. (2.143), and Definition (2.140) is recalled, one has

(2.144)

from which it is apparent that $$\mathcal{I}_{n}$$ can be expressed as a linear combination of the first n moments of T, $$\{\,\mathcal{I}_{k}\,\}_{0}^{n-1}$$. By simple induction, one can likewise prove that the mth moment is dependent upon the first n moments if m ≥ n, thereby completing the proof. Also notice that $$\mathcal{I}_{0} = n$$, and hence, all n × n matrices share the same zeroth moment $$\mathcal{I}_{0}$$ .

The vector invariants of a n × n matrix are its eigenvectors, which have a direct geometric significance in the case of symmetric matrices. The eigenvalues of these matrices are all real, its eigenvectors being also real and mutually orthogonal. Skew-symmetric matrices, in general, need not have either real eigenvalues or real eigenvectors. However, if we limit ourselves to 3 × 3 skew-symmetric matrices, exactly one of their eigenvalues, and its associated eigenvector, are both real. The eigenvalue of interest is 0, and the associated vector is the axial vector of the matrix under study.

It is now apparent that two n × n matrices related by a similarity transformation have the same set of moments. Now, by virtue of Theorem 2.7.2, one may be tempted to think that if two n × n matrices share their first n moments $$\{\,\mathcal{I}_{k}\,\}_{0}^{n-1}$$, then the two matrices are related by a similarity transformation. To prove that this is not the case, let two n × n matrices A and B have characteristic polynomials with coefficients {a k } n−1 and {b k }₀ n−1, respectively, the two sets being not necessarily identical. Moreover, let the n + 1 moments of A and B be denoted by $$\{\mathcal{I}_{k}\}_{0}^{n}$$ and $$\{\mathcal{I}_{k}^{{\prime}}\}_{0}^{n}$$, with

Hence, from Eq. (2.144),

Therefore, in spite of Theorem 2.7.2, two n × n matrices with identical moments $$\mathcal{I}_{k} = \mathcal{I}_{k}^{{\prime}}$$, for $$k = 1,\ldots,n - 1$$ may still have $$\mathcal{I}_{n}\neq \mathcal{I}_{n}^{{\prime}}$$ if these matrices are not related by a similarity transformation, and hence, have distinct characteristic polynomials. We thus have

Theorem 2.7.3.

Two n × n matrices are related by a similarity transformation if and only if their n moments $$\{\mathcal{I}_{k}\}_{1}^{n}$$ are identical.

Hence,

Corollary 2.7.1.

If two n × n matrices share the same n moments $$\{\mathcal{I}_{k}\}_{1}^{n}$$ , then their characteristic polynomials are identical.

Consider the two matrices A and B given below:

The two foregoing matrices cannot possibly be related by a similarity transformation, for the first one is the identity matrix, while the second is not. However, the two matrices share the two moments $$\mathcal{I}_{0} = 2$$ and $$\mathcal{I}_{1} = 2$$. Let us now compute the second moments of these matrices:

which are indeed different. Therefore, to test whether two different n × n matrices represent the same linear transformation, and hence, are related by a similarity transformation, we must verify that they share the same set of n + 1 moments $$\{\,\mathcal{I}_{k}\,\}_{0}^{n}$$. In fact, since all n × n matrices share the same zeroth moment, only the n moments $$\{\,\mathcal{I}_{k}\,\}_{1}^{n}$$ need be tested for similarity verification. That is, if two n × n matrices share the same n moments $$\{\,\mathcal{I}_{k}\,\}_{1}^{n}$$, then they represent the same linear transformation, albeit in different coordinate frames.

The foregoing discussion does not apply, in general, to nonsymmetric matrices, for these matrices are not fully characterized by their eigenvalues. For example, consider the matrix

Its two moments of interest are $$\mathcal{I}_{1} =\mathrm{ tr}(\mathbf{A}) = 2$$, $$\mathcal{I}_{2} = 2$$, which happen to be the corresponding moments of the 2 × 2 identity matrix as well. However, while the identity matrix leaves all two-dimensional vectors unchanged, matrix A does not.

Now, if two symmetric matrices, say A and B, represent the same transformation, they are related by a similarity transformation, i.e., a nonsingular matrix T exists such that

Given A and T, then, finding B is trivial, a similar statement holding if B and T are given; however, if A and B are given, finding T is more difficult. The latter problem occurs sometimes in robotics in the context of calibration, to be discussed in Sect. 2.7.1.

Example 2.7.1.

Two symmetric matrices are displayed below. Find out whether they are related by a similarity transformation.

Solution: The traces of the two matrices are apparently identical, namely, 4. Now we have to verify whether their second and third moments are also identical. To do this, we need the square and the cube of the two matrices, from which we then compute their traces. Thus, from

we readily obtain

Moreover,

whence

Therefore, the two matrices are related by a similarity transformation. Hence, they represent the same linear transformation.

Example 2.7.2.

Same as Example 2.7.1, for the two matrices displayed below:

Solution: As in the previous example, the traces of these matrices are identical, i.e., 2. However, tr(A ²) = 10, while tr(B ²) = 6. We thus conclude that the two matrices cannot be related by a similarity transformation.

2.7.1 Applications to Redundant Sensing

A sensor, such as a camera or a range finder, is often mounted on a robotic end-effector to determine the pose—i.e., the position and orientation, as defined in Sect. 3.​2.​3—of an object. If two redundant sensors are introduced, and we attach frames $$\mathcal{A}$$ and $$\mathcal{B}$$ to each of these, then each sensor can be used to determine the orientation of the end-effector with respect to a reference pose. This is a simple task, for all that is needed is to measure the rotation R that each of the foregoing frames underwent from the reference pose, in which these frames are denoted by $$\mathcal{A}_{0}$$ and $$\mathcal{B}_{0}$$, respectively. Let us assume that these measurements produce the orthogonal matrices A and B, representing R in $$\mathcal{A}$$ and $$\mathcal{B}$$, respectively. With this information we would like to determine the relative orientation Q of frame $$\mathcal{B}$$ with respect to frame $$\mathcal{A}$$, a problem that is called here instrument calibration.

We thus have $$\mathbf{A} \equiv \left [\,\mathbf{R}\,\right ]_{\mathcal{A}}$$ and $$\mathbf{B} \equiv \left [\,\mathbf{R}\,\right ]_{\mathcal{B}}$$, and hence, the algebraic problem at hand consists in determining $$\left [\,\mathbf{Q}\,\right ]_{\mathcal{A}}$$ or equivalently, $$\left [\,\mathbf{Q}\,\right ]_{\mathcal{B}}$$. The former can be obtained from the similarity transformation of Eq. (2.137), which leads to

or

This problem could be solved if we had three invariant vectors associated with each of the two matrices A and B. Then, each corresponding pair of vectors of these triads would be related by Eq. (2.136), thereby obtaining three such vector equations that should be sufficient to compute the nine components of the matrix Q rotating frame $$\mathcal{A}$$ into $$\mathcal{B}$$. However, since A and B are orthogonal matrices, they admit only one real invariant vector, namely, their axial vector, and we are short of two vector equations. We thus need two more invariant vectors, represented in both $$\mathcal{A}$$ and $$\mathcal{B}$$, to determine Q. The obvious way of obtaining one additional vector in each frame is to take not one, but two measurements of the orientation of $$\mathcal{A}_{0}$$ and $$\mathcal{B}_{0}$$ with respect to $$\mathcal{A}$$ and $$\mathcal{B}$$, respectively. Let the matrices representing these orientations be given, in each of the two coordinate frames, by A i and B i , for i = 1, 2. Moreover, let a i and b i , for i = 1, 2, be the axial vectors of matrices A i and B i , respectively.

Now, if none of a ₁ and a ₂ vanishes, and the two vectors are linearly independent, a third vector can be obtained out of each pair, namely,

(2.145)

If one of the vectors of the two pairs vanishes, we have two more possibilities, namely, the angle of rotation of that orthogonal matrix, A ₁ or A ₂, whose axial vector vanishes is either 0 or π. If the foregoing angle vanishes, then $$\mathcal{A}$$ underwent a pure translation from $$\mathcal{A}_{0}$$, the same holding, of course, for $$\mathcal{B}$$ and $$\mathcal{B}_{0}$$. This means that the corresponding measurement becomes useless for our purposes, and a new measurement is needed, involving a rotation. If, on the other hand, the same angle is π, then the associated rotation is symmetric and the unit vector e parallel to its axis can be determined from Eq. (2.50) in both $$\mathcal{A}$$ and $$\mathcal{B}$$. This unit vector, then, would play the role of the vanishing axial vector, and we would thus end up, in any event, with two pairs of nonzero vectors, {a i  }₁ ² and {b i  }₁ ². Moreover, the pairs can be linearly dependent while none of its two vectors vanishes and the vectors are distinct. This is possible if the two rotations take place about the same axis but through distinct angles. In this case, the second rotation becomes useless, should be rejected, and a new second rotation must be taken. In conclusion, we can always find two triads of nonzero vectors, { a i  }₁ ³ and { b i  }₁ ³, that are related by

(2.146)

The problem at hand now reduces to computing $$\left [\,\mathbf{Q}\,\right ]_{\mathcal{A}}$$ from Eq. (2.146). In order to perform this computation, we write the three foregoing equations in matrix form, namely,

(2.147)

with E and F defined as

(2.148)

Now, by virtue of the form in which the two vector triads were defined, none of the two above matrices is singular, and hence, we have

(2.149)

Moreover, note that the inverse of F can be expressed in terms of its columns explicitly, without introducing components, if the concept of reciprocal bases is recalled (Brand 1965). Thus,

(2.150)

Therefore,

(2.151)

thereby completing the computation of $$\left [\,\mathbf{Q}\,\right ]_{\mathcal{A}}$$ directly and with simple vector operations.

Example 2.7.3 (Hand–Eye Calibration).

Determine the relative orientation of a frame $$\mathcal{B}$$ attached to a camera mounted on a robot end-effector, with respect to a frame $$\mathcal{A}$$ fixed to the latter, as shown in Fig. 2.8. It is assumed that two measurements of the orientation of the two frames with respect to frames $$\mathcal{A}_{0}$$ and $$\mathcal{B}_{0}$$ in the reference configuration of the end-effector are available. These measurements produce the orientation matrices A i of the frame fixed to the camera and B i of the frame fixed to the end-effector, for i = 1, 2. The numerical data of this example are given below:

Fig. 2.8

Measuring the orientation of a camera-fixed coordinate frame with respect to a frame fixed to a robotic end-effector

Solution: Shiu and Ahmad (1987) formulated this problem in the form of a matrix linear homogeneous equation, while Chou and Kamel (1988) solved the same problem using quaternions and very cumbersome numerical methods that involve singular-value computations. The latter require an iterative procedure within a Newton–Raphson method, itself iterative, for nonlinear-equation solving. Other attempts to solve the same problem have been reported in the literature, but these also resorted to extremely complicated numerical procedures for nonlinear-equation solving (Chou and Kamel 1991; Horaud and Dornaika 1995). The latter proposed a more concise method based on quaternions—isomorphic to the Euler–Rodrigues parameters—that nevertheless is still computationally expensive.

More recently, Daniilidis (1999) proposed an algorithm based on dual quaternions to simultaneously estimate the relative pose of the two frames of interest. In this book we do not study either quaternions—at least, not by this name—or dual algebra; the former are, in fact, isomorphic to the Euler–Rodrigues parameters of a rotation, which were introduced in Sect. 2.3.6. Dual algebra, in turn, is used to manipulate scalars, vectors and matrices comprising one rotation and one translation, or their statics counterparts, one moment and one force (Angeles 1988). In the above reference, Daniilidis resorts to the singular-value decomposition to find the relative pose in question, but this decomposition slows down the computational procedure. Angeles et al. (2000), in turn, proposed an alternative approach based on the invariance concepts introduced in this section, that leads to an algorithm involving only linear equations. This algorithm, moreover, relies on recursive least-square computations, thereby doing away with singular-value computations and allowing for real-time performance. This reference and (Daniilidis 1999) report experimental results.

First, the vector of matrix A i , represented by a i , and the vector of matrix B i , represented by b i , for i = 1, 2, are computed from simple differences of the off-diagonal entries of the foregoing matrices, followed by a division by 2 of all the entries thus resulting, which yields

In the calculations below, 16 digits were used, but only eight are displayed. Furthermore, with the foregoing vectors, we compute a ₃ and b ₃ from cross products, thus obtaining

Furthermore, $$\Delta $$ is obtained as

while the individual rank-one matrices inside the brackets of Eq. (2.151) are calculated as

whence Q in the $$\mathcal{A}$$ frame is readily obtained as

thereby completing the desired computation.

2.8 Exercises

N.B.: Unless either a numerical result is required or you are instructed to do otherwise, do not resort to components in the exercises below.

2.1

Prove that the range and the null space of any linear transformation L of vector space $$\mathcal{U}$$ into vector space $$\mathcal{V}$$ are vector spaces as well, the former of $$\mathcal{V}$$, the latter of $$\mathcal{U}$$.

2.2

Let L map $$\mathcal{U}$$ into $$\mathcal{V}$$ and $$\mathrm{dim}\{\mathcal{U}\} = n$$, $$\mathrm{dim}\{\mathcal{V}\} = m$$. Moreover, let $$\mathcal{R}$$ and $$\mathcal{N}$$ be the range and the null space of L, their dimensions being ρ and ν, respectively. Show that $$\rho +\nu = n$$.

2.3

Given two arbitrary nonzero vectors u and v in $${\mathcal{E}}^{3}$$, find the matrix P representing the projection of $${\mathcal{E}}^{3}$$ onto the subspace spanned by u and v.

2.4

Verify that P, whose matrix representation in a certain coordinate system is given below, is a projection. Then, describe it geometrically, i.e., identify the plane onto which the projection takes place. Moreover, find the null space of P.

2.5

If for any three-dimensional vectors a and v, matrix A is defined as

then we have

Show that A is skew-symmetric without introducing components.

2.6

Let u and v be any three-dimensional vectors, and define T as

The (unit) eigenvectors of T are denoted by w ₁, w ₂, and w ₃. Show that, say, w ₁ and w ₂ are any unit vectors perpendicular to v and different from each other, whereas $$\mathbf{w}_{3} = \mathbf{u}/\|\mathbf{u}\|$$. Also show that the corresponding eigenvalues, denoted by λ ₁, λ ₂, and λ ₃, associated with w ₁, w ₂, and w ₃, respectively, are given as

2.7

Show that if u and v are any three-dimensional vectors, then

Hint: Use the results of the Exercise 2.6.

2.8

For the two unit vectors e and f in three-dimensional space, define the two reflections

Now, show that Q = R ₁ R ₂ is a rigid-body rotation, and find its axis and its angle of rotation in terms of unit vectors e and f. Again, no components are permitted in this exercise.

2.9

State the conditions on the unit vectors e and f, of two reflections R ₁ and R ₂, respectively, under which a given rotation Q can be factored into the reflections R ₁ and R ₂ given in the foregoing exercise. In other words, not every rotation matrix Q can be factored into those two reflections, for fixed e and f, but special cases can. Identify these cases.

2.10

For given three-dimensional, non-zero a and b, find v that verifies

When finding an expression for v in terms of a and b, answer the questions below:

(a)

Is it possible to find v for arbitrary a and b? If so, find an expression for v.

(b)

Can v be orthogonal to a? If so, under which conditions?

(c)

Can v be orthogonal to b? If so, under which conditions?

2.11

Prove that the eigenvalues of the cross-product matrix of the unit vector e are 0, j, and − j, where $$j = \sqrt{-1}$$. Then show that the eigenvectors associated with the complex eigenvalues are both complex mutually orthogonal vectors, and find expressions thereof in terms of e. Note: Given two n-dimensional vectors u and v defined over the complex field, their scalar product is defined as u ∗ v, where u ∗ stands for the transpose conjugate of u.

2.12

Prove that the eigenvalues of a proper orthogonal matrix Q are 1, e jϕ , and e −jϕ , with ϕ denoting the angle of rotation. Hint: Use the result of the foregoing exercise and the Cayley–Hamilton Theorem.

2.13

Find the axis and the angle of rotation of the proper orthogonal matrix Q given below in a certain coordinate frame $$\mathcal{F}$$.

2.14

Prove that the vect( ⋅ ) and the tr( ⋅ ) operators are linear homogeneous, i.e., that $$\mathrm{vect}(\alpha \mathbf{A} +\beta \mathbf{B}) =\alpha \mathrm{ vect}(\mathbf{A}) +\beta \mathrm{ vect}(\mathbf{B})$$, with a similar expression for tr(α A +β B).

2.15

Cayley’s Theorem, which is not to be confused with the Theorem of Cayley–Hamilton, states that every 3 × 3 proper orthogonal matrix Q can be uniquely factored as

where S is a skew-symmetric matrix. Find a general expression for S in terms of Q, and state the condition under which this factoring is not possible.

2.16

Find matrix S of Cayley’s factoring for Q as given in Exercise 2.13.

2.17

If Q represents a rotation about an axis parallel to the unit vector e through an angle ϕ, then the Rodrigues vector $$\boldsymbol{\rho }$$ of this rotation can be defined as

Note that if r and r ₀ denote the Euler–Rodrigues parameters of the rotation under study, then $$\boldsymbol{\rho } = \mathbf{r}/r_{0}$$. Show that

for S given in Exercise 2.15.

2.18

The vertices of a cube, labeled A, B, …, H, are located so that A, B, C, and D, as well as E, F, G, and H, are in clockwise order when viewed from outside. Moreover, AE, BH, CG, and DF are edges of the cube, which is to be manipulated so that a mapping of vertices takes place as indicated below:

Find the angle of rotation and the angles that the axis of rotation makes with edges AB, AD, and AE.

2.19

(Euler angles) A rigid body can attain an arbitrary configuration starting from any reference configuration, 0, by means of the composition of three rotations about coordinate axes, as described below: Attach axes X ₀, Y ₀, and Z ₀ to the body in the reference configuration and rotate the body through an angle ϕ about Z ₀, thus carrying the axes into X ₁, Y ₁, and Z ₁ (=Z ₀), respectively. Next, rotate the body through an angle θ about axis Y ₁, thus carrying the axes into X ₂, Y ₂, and Z ₂, respectively. Finally, rotate the body through an angle ψ about Z ₂ so that the axes coincide with their desired final orientation, X ₃, Y ₃, and Z ₃. Angle ψ is chosen so that axis Z ₃ lies in the plane of Z ₀ and X ₁, whereas angle θ is chosen so as to carry axis Z ₁ (=Z ₀) into Z ₃ (=Z ₂). Show that the rotation matrix carrying the body from configuration 0 to configuration 3 is:

where c(⋅ ) and s(⋅ ) stand for cos(⋅ ) and sin(⋅ ), respectively. Moreover, show that α, the angle of rotation of Q given above, obeys the relation

Hint: Let R i be the rotation carrying frame ³ $$\mathcal{F}_{i-1}$$ into $$\mathcal{F}_{i}$$ , for i = 1,2,3. Then, the total rotation carrying $$\mathcal{F}_{0}$$ into $$\mathcal{F}_{3}$$ can be found to be R ₁ R ₂ R ₃ , provided that all three rotation matrices are given in the same frame. However, each R i admits a simple representation, in canonical form, in $$\mathcal{F}_{i-1}$$ . Hence, to represent R i , for i = 2,3, in $$\mathcal{F}_{0}$$ , a similarity transformation ála Eqs. (2.127) and (2.128) is needed.

2.20

Given an arbitrary rigid-body rotation about an axis parallel to the unit vector e through an angle ϕ, it is possible to find both e and ϕ using the linear invariants of the rotation matrix, as long as the vector invariant does not vanish. The latter happens if and only if ϕ = 0 or π. Now, if ϕ = 0, the associated rotation matrix is the identity, and e is any three-dimensional vector; if ϕ = π, then we have

whence we can solve for e e T as

Now, it is apparent that the three eigenvalues of Q π are real and the associated eigenvectors are mutually orthogonal. Find these.

2.21

Explain why all the off-diagonal entries of a symmetric rotation matrix cannot be negative.

2.22

The three entries above the diagonal of a 3 × 3 matrix Q that is supposed to represent a rotation are given below:

Without knowing the other entries, explain why the above entries are unacceptable.

2.23

Let p ₁, p ₂, and p ₃ be the position vectors of three arbitrary points in three-dimensional space. Now, define a matrix P as

Show that P is not frame-invariant. Hint: Show, for example, that it is always possible to find a coordinate frame in which tr(P) vanishes. This task will be eased if you represent the position vectors of the three points in a suitable coordinate frame in which a few of their coordinates will vanish.

2.24

For P defined as in Exercise 2.23, let

Show that q vanishes if the three given points and the origin are collinear, for P represented in any coordinate frame.

2.25

For P defined, again, as in Exercise 2.23, show that P P T is invariant under frame-rotations about the origin, and becomes singular if and only if either the three given points are collinear or the origin lies in the plane of the three points. Note that this matrix is more singularity-robust than P.

2.26

The diagonal entries of a rotation matrix are known to be − 0. 5, 0. 25, and − 0. 75. Find the off-diagonal entries.

2.27

As a generalization to the foregoing exercise, discuss how you would go about finding the off-diagonal entries of a rotation matrix whose diagonal entries are known to be a, b, and c. Hint: This problem can be formulated as finding the intersection of the coupler curve of a four-bar spherical linkage (Chiang  1988), which is a curve on a sphere, with a certain parallel of the same sphere.

2.28

Shown in Fig. 2.9a is a cube that is to be displaced in an assembly operation to a configuration in which face EFGH lies in the XY plane, as indicated in Fig. 2.9b. Compute the unit vector e parallel to the axis of the rotation involved and the angle of rotation ϕ, for 0 ≤ ϕ ≤ π.

Fig. 2.9

A cube in two different configurations

2.29

The axes X ₁, Y ₁, Z ₁ of a frame $$\mathcal{F}_{1}$$ are attached to the base of a robotic manipulator, whereas the axes X ₂, Y ₂, Z ₂ of a second frame $$\mathcal{F}_{2}$$ are attached to its end-effector, as shown in Fig. 2.10. Moreover, the origin P of $$\mathcal{F}_{2}$$ has the $$\mathcal{F}_{1}$$-coordinates (1, −1, 1). Furthermore, the orientation of the end effector with respect to the base is defined by a rotation Q, whose representation in $$\mathcal{F}_{1}$$ is given by

(a)

What are the end-effector coordinates of point C of Fig. 2.10?

(b)

The end-effector is approaching the ABC plane shown in Fig. 2.10. What is the equation of the plane in end-effector coordinates? Verify your result by substituting the answer to (a) into this equation.

Fig. 2.10

Robotic EE approaching a stationary object ABC

2.30

Shown in Fig. 2.11 is a cube of unit side, which is composed of two parts. Frames (X ₀, Y ₀, Z ₀) and (X ₁, Y ₁, Z ₁) are attached to each of the two parts, as illustrated in the figure. The second part is going to be picked up by a robotic gripper as the part is transported on a belt conveyor and passes close to the stationary first part. Moreover, the robot is to assemble the cube by placing the second part onto the first one in such a way that vertices A ₁, B ₁, C ₁ are coincident with vertices A ₀, B ₀, C ₀. Determine the axis and the angle of rotation that will carry the second part onto the first one as described above.

Fig. 2.11

Roboticized assembly operation

2.31

A piece of code meant to produce the entries of rotation matrices is being tested. In one run, the code produced a matrix with diagonal entries − 0. 866, − 0. 866, − 0. 866. Explain how without looking at the other entries, you can decide that the code has a bug.

2.32

Shown in Fig. 2.12 is a rigid cube of unit side in three configurations. The second and the third configurations are to be regarded as images of the first one. One of the last two configurations is a reflection, and the other is a rotation of the first one. Identify the rotated configuration and find its associated invariants.

Fig. 2.12

Three configurations of a cube

2.33

Two frames, $$\mathcal{G}$$ and $$\mathcal{C}$$, are attached to a robotic gripper and to a camera mounted on the gripper, respectively. Moreover, the camera is rigidly attached to the gripper, and hence, the orientation of $$\mathcal{C}$$ with respect to $$\mathcal{G}$$, denoted by Q, remains constant under gripper motions. The orientation of the gripper with respect to a frame $$\mathcal{B}$$ fixed to the base of the robot was measured in both $$\mathcal{G}$$ and $$\mathcal{C}$$. Note that this orientation is measured in $$\mathcal{G}$$ simply by reading the joint encoders, which report values of the joint variables, as discussed in detail in Chap. 4. The same orientation is measured in $$\mathcal{C}$$ from estimations of the coordinates of a set of points fixed to $$\mathcal{B}$$, as seen by the camera.

Two measurements of the above-mentioned orientation, denoted R ₁ and R ₂, were taken in $$\mathcal{G}$$ and $$\mathcal{C}$$, with the numerical values reported below:

(a)

Verify that the foregoing matrices represent rotations.

(b)

Verify that the first two matrices represent, in fact, the same rotation R ₁, albeit in different coordinate frames.

(c)

Repeat item (b) for R ₂.

(d)

Find $$[\,\mathbf{Q}\,]_{\mathcal{G}}$$. Is your computed Q orthogonal? If not, can the error be attributed to data-incompatibility? to roundoff-error amplification?

2.34

The orientation of the end-effector of a given robot is to be inferred from joint-encoder readouts, which report an orientation given by a matrix Q in $$\mathcal{F}_{1}$$-coordinates, namely,

(a)

Show that the above matrix can indeed represent the orientation of a rigid body.

(b)

What is Q in end-effector coordinates, i.e., in a frame $$\mathcal{F}_{7}$$, if Z ₇ is chosen parallel to the axis of rotation of Q?

2.35

The rotation Q taking a coordinate frame $$\mathcal{B}$$, fixed to the base of a robot, into a coordinate frame $$\mathcal{G}$$, fixed to its gripper, and the position vector g of the origin of $$\mathcal{G}$$ have the representations in $$\mathcal{B}$$ given below:

Moreover, let p be the position vector of any point $$\mathcal{P}$$ of the three-dimensional space, its coordinates in $$\mathcal{B}$$ being (x, y, z). The robot is supported by a cylindrical column C of circular cross section, bounded by planes Π 1 and Π 2 . These are given below:

Find the foregoing equations in $$\mathcal{G}$$ coordinates.

2.36

A certain point of the gripper of a robot is to trace an elliptical path of semiaxes a and b, with center at C, the centroid of triangle PQR, as shown in Fig. 2.13. Moreover, the semiaxis of length a is parallel to edge PQ, while the ellipse lies in the plane of the triangle, and all three vertices are located a unit distance away from the origin.

(a)

For $$b = 2a/3$$, the gripper is to keep a fixed orientation with respect to the unit tangent, normal, and binormal vectors of the ellipse, denoted by e t , e n , and e b , respectively.⁴ Determine the matrix representing the rotation undergone by the gripper from an orientation in which vector e t is parallel to the coordinate axis X, while e n is parallel to Y and e b to Z. Express this matrix in X, Y, Z coordinates, if the equation of the ellipse, in parametric form, is given as

the orientation of the gripper thus becoming a function of $$\varphi$$.

(b)

Find the value of $$\varphi$$ for which the angle of rotation of the gripper, with respect to the coordinate axes X, Y, Z, becomes π.

Fig. 2.13

An elliptical path on an inclined plane

2.37

With reference to Exercise 2.28, find Euler angles ϕ, θ, and ψ that will rotate the cube of Fig. 2.9a into the attitude displayed in Fig. 2.9b. For a definition of Euler angles, see Exercise 2.19

2.38

Find a sequence of Euler angles ϕ, θ, and ψ, as defined in Exercise 2.19, that will carry triangle A ₁, B ₁, C ₁ into triangle A ₀, B ₀, C ₀, of Fig. 2.11.

References

Altmann, S.L., 1989, “Hamilton, Rodrigues, and the quaternion scandal. What went wrong with mathematical discoveries in the nineteenth century”, Mathematics Magazine 62, no. 5, pp. 291–308.MathSciNetCrossRef

Angeles, J., 1988, Rational Kinematics, Springer-Verlag, New York.CrossRefMATH

Angeles, J., Morozov, A., and Navarro, O., 2000, “A novel manipulator architecture for the production of SCARA motions”, Proc. IEEE Int. Conf. Robotics and Automation, San Francisco, pp. 2370–2375. CD-ROM 00CH37065C, April 24–28.

Brand, L., 1965, Advanced Calculus, John Wiley & Sons, New York.MATH

Cheng, H. and Gupta, K.C., 1989, “An historical note on finite rotations”, ASME J. Applied Mechanics 56, pp. 139–142.MathSciNetCrossRef

Chiang, C.H., 1988, Kinematics of Spherical Mechanisms, Cambridge University Press, Cambridge.

Chou, K.C.J. and Kamel, M., 1988, “Quaternions approach to solve the kinematic equation of rotation, $$A_{a}A_{x} = A_{x}A_{b}$$, of a sensor-mounted robotic manipulator”, Proc. IEEE Int. Conf. on Robotics & Automation, Philadelphia, pp. 656–662.

Chou, K.C.J. and Kamel, M., 1991, “Finding the position and orientation of a sensor on a robot manipulator using quaternions”, The Int. J. Robotics Res. 10, no. 3, pp. 240–254.CrossRef

Daniilidis, K., 1999, “Hand-Eye Calibration Using Dual Quaternions”, The Int. J. Robotics Res. 18, no. 3, pp. 286–298.MathSciNetCrossRef

Euler, L., 1776, “Nova methodus motum corporum rigidorum determinandi”, Novii Comentarii Academiæ Scientiarum Petropolitanæ, vol. 20 (1775) 1776, pp. 208–238 = Opera Omnia Vols. 2–9, pp. 99–125.

Hamilton, W.R., 1844, “On quaternions: or a new system of imaginaries in algebra”, Phil. Mag., 3rd. ser. 25, pp. 489–495.

Horaud, R. and Dornaika, F., 1995, “Hand-eye calibration”, The Int. J. Robotics Res. 14, no. 3, pp. 195–210.CrossRef

Kane, T.R., Likins, P.W., and Levinson, D.A., 1983, Spacecraft Dynamics, McGraw-Hill Book Co., New York.

Kaye, R. and Wilson, R., 1998, Linear Algebra, Oxford University Press, New York.MATH

Leigh, D.C., 1968, Nonlinear Continuum Mechanics, McGraw-Hill Book Company, New York.

Shiu, Y.C. and Ahmad, S., 1987, “Finding the mounting position of a sensor by solving a homogeneous transform equation of the form AX = XB”, Proc. IEEE Int. Conf. on Robotics & Automation, Raleigh, pp. 1667–1671.

Synge, J.L., 1960, “Classical Dynamics”, in Flügge, S. (editor), Encyclopedia of Physics, vol. III/1, Springer-Verlag, Berlin, pp. 1–225.

Footnotes

1

Popularly known as the triple cross product.

2

This relation was derived by Ph.D. candidate Philippe Cardou.

3

$$\mathcal{F}_{i}$$ is obviously frame X i ,Y i ,Z i .

4

An account of curve geometry is given in Sect. 11.​2.

© Springer International Publishing Switzerland 2014

Jorge AngelesFundamentals of Robotic Mechanical SystemsMechanical Engineering Series12410.1007/978-3-319-01851-5_3

3. Fundamentals of Rigid-Body Mechanics

Jorge Angeles1 

(1)

Department of Mechanical Engineering Centre for Intelligent Machines (CIM), McGill University, Montreal, QC, Canada

3.1 Introduction

The purpose of this chapter is to lay down the foundations of the kinetostatics and dynamics of rigid bodies, as needed in the study of multibody mechanical systems. With this background, we study the kinetostatics and dynamics of robotic manipulators of the serial type in Chaps. 5 and 7, respectively, while devoting Chap. 6 to the study of trajectory planning. The latter requires, additionally, the background of Chap. 4. A special feature of the current chapter is the study of the relations between the angular velocity of a rigid body and the time-rates of change of the various sets of rotation invariants introduced in Chap. 2. Similar relations between the angular acceleration and the second time-derivatives of the rotation invariants are also recalled, the corresponding derivations being outlined in Appendix A.

Furthermore, an introduction to the extremely useful analysis tool known as screw theory (Roth 1984) is included. In this context, the concepts of twist and wrench are introduced, which prove in subsequent chapters to be extremely useful in deriving the kinematic and static, i.e., the kinetostatic, relations among the various bodies of multibody mechanical systems.

3.2 General Rigid-Body Motion and Its Associated Screw

In this section we analyze the general motion of a rigid body. Thus, let A and P be two points of the same rigid body $$\mathcal{B}$$, the former being a particular reference point, whereas the latter is an arbitrary point of $$\mathcal{B}$$, as shown in Fig. 3.1. Moreover, the position vector of point A in the original configuration is a, and the position vector of the same point in the displaced configuration, denoted by A ′ , is $${\mathbf{a}}^{{\prime}}$$. Similarly, the position vector of point P in the original configuration is p, while in the displaced configuration $${\mathcal{B}}^{{\prime}}$$, this point is $${P}^{{\prime}}$$, its position vector being $${\mathbf{p}}^{{\prime}}$$. Furthermore, $${\mathbf{p}}^{{\prime}}$$ is to be determined, while a, $${\mathbf{a}}^{{\prime}}$$, and p are given, along with the rotation matrix Q. Vector $$\mathbf{p} -\mathbf{a}$$ can be considered to undergo a rotation Q about point A throughout the motion taking the body from the original to the final configuration. Since vector $$\mathbf{p} -\mathbf{a}$$ is mapped into $${\mathbf{p}}^{{\prime}}-{\mathbf{a}}^{{\prime}}$$ under the above rotation, one can write

Fig. 3.1

General rigid-body displacement

(3.1)

and hence

(3.2)

which is the relationship sought. Moreover, let $$\mathbf{d}_{A}$$ and $$\mathbf{d}_{P}$$ denote the displacements of A and P, respectively, i.e.,

(3.3)

From Eqs. (3.2) and (3.3) one can readily obtain an expression for $$\mathbf{d}_{P}$$, namely,

(3.4)

where $$\mathbf{d}_{P/A}$$ denotes the relative displacement of P with respect to A. Notice that this displacement is caused only by the rotation. What Eq. (3.4) states is that the displacement of an arbitrary point P of a rigid body, of position vector p in an original configuration, is determined by the displacement of one certain point A and the concomitant rotation Q, as depicted in Fig. 3.2. In this figure, the final configuration $${\mathcal{B}}^{{\prime}}$$ is attained via an intermediate configuration $${\mathcal{B}}^{{\prime\prime}}$$, which is in turn attained from $$\mathcal{B}$$ by a pure translation.¹ Then, $${\mathcal{B}}^{{\prime}}$$ is attained from $${\mathcal{B}}^{{\prime\prime}}$$ by a pure rotation Q, of axis parallel to vector e and of angle ϕ. Apparently, once the displacement of P is known, its position vector $${\mathbf{p}}^{{\prime}}$$ can be readily determined. An interesting result in connection with the foregoing discussion is summarized below:

Fig. 3.2

General rigid-body displacement attained by a combination of translation and rotation

Theorem 3.2.1.

Let a rigid body $$\mathcal{B}$$ move under a general displacement, of rotation Q with axis parallel to the unit vector e . Then, the displacements of all the points of $$\mathcal{B}$$ have the same component along e .

Proof.

Multiply both sides of Eq. (3.4) by e T , thereby obtaining

Now, the second term of the right-hand side of the above equation vanishes because $$\mathbf{Q}\mathbf{e} = \mathbf{e}$$, and hence, $${\mathbf{Q}}^{T}\mathbf{e} = \mathbf{e}$$; the said equation thus leads to

(3.5)

thereby showing that the displacements of all points of the body have the same projection d ₀ onto the axis of rotation, q.e.d.

As a consequence of the foregoing result, we have the classical Mozzi–Chasles Theorem (Mozzi 1763; Chasles 1830; Ceccarelli 1995), namely,

Theorem 3.2.2 (Mozzi 1763; Chasles 1830).

Given a rigid body moving with a general displacement, a set of its points, located on a line $$\mathcal{L}$$ , undergo identical displacements of minimum magnitude. Moreover, line $$\mathcal{L}$$ and the minimum-magnitude displacement are parallel to the axis of the rotation involved, as illustrated in Fig. 3.3.

Proof.

The proof is straightforward in light of Theorem 3.2.1, which allows us to express the displacement of an arbitrary point P as the sum of two orthogonal components, namely, one parallel to the axis of rotation, independent of P and denoted by $$\mathbf{d}_{\|}$$—read “d-par”—and one perpendicular to this axis, denoted by $$\mathbf{d}_{\perp }$$ —read “d-perp”—i.e.,

(3.6a)

where

(3.6b)

and clearly, d ₀ is a constant, as defined in Eq. (3.5), while $$\mathbf{d}_{\|}$$ and $$\mathbf{d}_{\perp }$$ are mutually orthogonal. Indeed, orthogonality is apparent by definition, but is also verified below:

Fig. 3.3

The Mozzi–Chasles theorem

Now, by virtue of the orthogonality of the two components of $$\mathbf{d}_{P}$$, it is apparent that

for the displacement $$\mathbf{d}_{P}$$ of any point of the body. Hence, in order to minimize $$\|\mathbf{d}_{P}\|$$ we have to make $$\|\mathbf{d}_{\perp }\|$$, and hence, $$\mathbf{d}_{\perp }$$ itself, equal to zero, i.e., we must have $$\mathbf{d}_{P}$$ parallel to e:

for a certain scalar α. That is, the displacements of minimum magnitude of the body under study are parallel to the axis of Q, thereby proving the first part of the Mozzi–Chasles Theorem. The second part is also readily proven by noticing that if P ∗ is a point of minimum displacement magnitude, of position vector $${\mathbf{p}}^{{\ast}}$$, its component perpendicular to the axis of rotation must vanish, and hence,

Upon expansion of the above expression for $$\mathbf{d}_{\perp }^{{\ast}}$$, we obtain

Now it is apparent that if we define a line $$\mathcal{L}$$ passing through P ∗ and parallel to e, then the position vector $${\mathbf{p}}^{{\ast}} +\lambda \mathbf{e}$$ of any of its points P satisfies the foregoing equation. As a consequence, all points of minimum displacement magnitude lie in a line parallel to the axis of rotation of Q, q.e.d.

An important implication of the foregoing theorem is that a rigid body can attain an arbitrary configuration from a given original one, following a screw-like motion of axis $$\mathcal{L}$$ and pitch p, the latter being defined presently. Thus, it seems appropriate to call $$\mathcal{L}$$ the screw axis of the rigid-body motion.

Note that d ₀, as defined in Eq. (3.5), is an invariant of the motion at hand. Thus, associated with a rigid-body motion, one can then define a screw of axis $$\mathcal{L}$$ and pitch p. Of course, the pitch is defined as

(3.7)

which has units of m/rad or, correspondingly, of m/turn. Moreover, the angle ϕ of the rotation involved can be regarded as one more feature of this motion. This angle is, in fact, the amplitude associated with the said motion. We will come across screws in discussing velocities and forces acting on rigid bodies, along with their pitches and amplitudes. Thus, it is convenient to introduce this concept at this stage.

3.2.1 The Screw of a Rigid-Body Motion

The screw axis $$\mathcal{L}$$ is totally specified by a given point P ₀ of $$\mathcal{L}$$ that can be defined, for example, as that lying closest to the origin, and a unit vector e defining its direction. Expressions for the position vector $$\mathbf{p}_{0}$$ of P ₀ in terms of a, $${\mathbf{a}}^{{\prime}}$$ and Q, are derived below:

Since P ₀ was defined as the point of $$\mathcal{L}$$ lying closest to the origin, $$\mathbf{p}_{0}$$ obviously is perpendicular to e, i.e.,

(3.8)

Moreover, the displacement $$\mathbf{d}_{0}$$ of P ₀ is parallel to the vector of Q, and hence, is identical to $$\mathbf{d}_{\|}$$ defined in Eq. (3.6b), i.e., it satisfies

where $$\mathbf{d}_{0}$$ can be expressed using the general expression for the displacement, Eq. (3.4), namely,

(3.9a)

Now, since $$\mathbf{d}_{0}$$ is identical to $$\mathbf{d}_{\|}$$, we have, from Eq. (3.6b),

But from Theorem 3.2.1,

and so

or, after rearranging terms,

(3.9b)

which cannot be solved for $$\mathbf{p}_{0}$$ because, as the reader is invited to show, its matrix coefficient, $$\mathbf{Q} -\mathbf{1}$$, is singular, with null space spanned by vector e. Nevertheless, an expression for p ₀ can be found if Eq. (3.8) is adjoined to Eq. (3.9b), thereby obtaining

(3.10)

where A is a 4 × 3 matrix and b is a four-dimensional vector, both given by

(3.11)

Equation (3.10) cannot be solved for $$\mathbf{p}_{0}$$ directly, because A is not a square matrix. In fact, that equation represents an overdetermined system of four equations and three unknowns. Thus, in general, that system does not admit a solution. However, the four equations are compatible, and hence, in this particular case, a solution of that equation, which turns out to be unique, can be determined. In fact, if both sides of Eq. (3.10) are multiplied from the left by $${\mathbf{A}}^{T}$$, we have

(3.12)

Moreover, if the product $${\mathbf{A}}^{T}\mathbf{A}$$, which is a 3 × 3 matrix, is invertible, then $$\mathbf{p}_{0}$$ can be computed from Eq. (3.12). In fact, the said product is not only invertible, but also admits an inverse that is rather simple to derive, as shown below. Now the rotation matrix Q is recalled in terms of its natural invariants, namely, the unit vector e parallel to its axis of rotation and the angle of rotation ϕ about this axis, as given in Eq. (2.​49), reproduced below for quick reference:

where 1 represents the 3 × 3 identity matrix and E the cross-product matrix of e, as introduced in Eq. (2.​38). Further, Eq. (2.​49) is substituted into Eq. (3.11), which yields

(3.13)

It is now apparent that the foregoing product is a linear combination of 1 and $$\mathbf{e}{\mathbf{e}}^{T}$$. This suggests that its inverse is very likely a linear combination of these two matrices as well. If this is in fact true, then one can write

(3.14)

coefficients α and β being determined from the condition that the product of $${\mathbf{A}}^{T}\mathbf{A}$$ by its inverse should be 1, which leads to

(3.15)

and hence,

(3.16)

On the other hand, from Eq. (3.11),

(3.17)

Upon solving Eq. (3.12) for $$\mathbf{p}_{0}$$ and substituting relations (3.16) and (3.17) into the expression thus resulting, one finally obtains

(3.18)

Apparently, $$\mathbf{p}_{0}$$ can be computed as long as ϕ ≠ 0. If ϕ = 0, then we are in the presence of a pure translation, all the points of the body undergoing the same displacement. Therefore, any point of the body is of minimum-magnitude displacement.

We have thus defined a line $$\mathcal{L}$$ of the rigid body under study that is completely defined by its point P ₀ of position vector $$\mathbf{p}_{0}$$ and a unit vector e determining its direction. Moreover, we have already defined the pitch of the associated motion, Eq. (3.7). The line thus defined, along with the pitch, determines the screw of the motion under study.

3.2.2 The Plücker Coordinates of a Line

Alternatively, the screw axis, and any line for that matter, can be defined more conveniently by its Plücker coordinates. In motivating this concept, we recall the equation of a line $$\mathcal{L}$$ passing through two points P ₁ and P ₂ of position vectors $$\mathbf{p}_{1}$$ and $$\mathbf{p}_{2}$$, as shown in Fig. 3.4.

Fig. 3.4

A line $$\mathcal{L}$$ passing through two points

If point P lies in $$\mathcal{L}$$, then, it must be collinear with P ₁ and P ₂, a property that is expressed as

or upon expansion,

(3.19)

If we now introduce the cross-product matrices $$\mathbf{P}_{1}$$ and $$\mathbf{P}_{2}$$ of vectors $$\mathbf{p}_{1}$$ and $$\mathbf{p}_{2}$$ in the above equation, we have an alternative expression for the equation of the line, namely,

The above equation can be regarded as a linear equation in the homogeneous coordinates of point P, namely,

(3.20)

It is now apparent that the line is defined completely by two vectors, the difference $$\mathbf{p}_{2} -\mathbf{p}_{1}$$, or its cross-product matrix for that matter, and the cross product $$\mathbf{p}_{1} \times (\mathbf{p}_{2} -\mathbf{p}_{1})$$. We will thus define a six-dimensional array $$\boldsymbol{\gamma }_{\mathcal{L}}$$ containing these two vectors, namely,

(3.21)

whose six scalar entries are the Plücker coordinates of $$\mathcal{L}$$. Moreover, if we let

(3.22)

then we can write

The six scalar entries of the above array are the normalized Plücker coordinates of $$\mathcal{L}$$. Vector e determines the direction of $$\mathcal{L}$$, while n determines its location; n can be interpreted as the moment of a unit force parallel to e and of line of action $$\mathcal{L}$$. Hence, n is called the moment of $$\mathcal{L}$$. Henceforth, only the normalized Plücker coordinates of lines will be used. For brevity, we will refer to these simply as the Plücker coordinates of the line under study. The Plücker coordinates thus defined will be stored in a Plücker array $$\boldsymbol{\kappa }$$ in the form

(3.23)

where for conciseness, we have dropped the subscript $$\mathcal{L}$$, while assuming that the line under discussion is self-evident.

Note, however, that the six components of the Plücker array, i.e., the Plücker coordinates of line $$\mathcal{L}$$, are not independent, for they obey

(3.24)

and hence, any line $$\mathcal{L}$$ has only four independent Plücker coordinates. In the foregoing paragraphs, we have talked about the Plücker array of a line, and not about the Plücker vector; the reason for this distinction is given below. The set of Plücker arrays is a clear example of an array of real numbers not constituting a vector space. What disables Plücker arrays from being vectors are the two constraints that their components must satisfy, namely, (a) the sum of the squares of the first three components of a Plücker array is unity, and (b) the unit vector of a line is normal to the moment of the line. Nevertheless, we can perform with Plücker arrays certain operations that pertain to vectors, as long as we keep in mind the essential differences. For example, we can multiply Plücker arrays by matrices of the suitable dimension, with entries having appropriate units, as we will show presently.

It must be pointed out that a Plücker array is dependent upon the location of the point with respect to which the moment of the line is measured. Indeed, let $$\boldsymbol{\kappa }_{A}$$ and $$\boldsymbol{\kappa }_{B}$$ denote the Plücker arrays of the same line $$\mathcal{L}$$ when its moment is measured at points A and B, respectively. Moreover, this line passes through a point P of position vector p for a particular origin O. Now, let the moment of $$\mathcal{L}$$ with respect to A and B be denoted by $$\mathbf{n}_{A}$$ and $$\mathbf{n}_{B}$$, respectively, i.e.,

(3.25)

and hence,

(3.26)

Obviously,

(3.27)

i.e.,

(3.28)

which can be rewritten as

(3.29a)

with the 6 × 6 matrix U defined as

(3.29b)

while A and B are, respectively, the cross-product matrices of vectors a and b, and O denotes the 3 × 3 zero matrix. Given the lower-triangular structure of matrix U, its determinant is simply the product of its diagonal entries, which are all unity. Hence,

(3.30)

U thus belonging to the unimodular group of 6 × 6 matrices. These matrices are rather simple to invert. In fact, as one can readily prove,

(3.31)

Relations (3.29a and b) can then be called the Plücker-coordinate transfer formulas.

Note that upon multiplication of both sides of Eq. (3.27) by (a −b),

(3.32)

and hence, the moments of the same line $$\mathcal{L}$$ with respect to two points are not independent, for they have the same component along the line joining the two points.

A special case of a line, of interest in kinematics, is a line at infinity. This is a line with undefined orientation, but with a defined direction of its moment; this moment is, moreover, independent of the point with respect to which it is measured. Very informally, the Plücker coordinates of a line at infinity can be derived from the general expression, Eq. (3.23), if we rewrite it in the form

where clearly $$\mathbf{n}/\|\mathbf{n}\|$$ is a unit vector; henceforth, this vector will be denoted by f. Now let us take the limit of the above expression as P goes to infinity, i.e., when $$\|\mathbf{p}\| \rightarrow \infty $$, and consequently, as $$\|\mathbf{n}\| \rightarrow \infty $$. Thus,

whence

The six-dimensional array appearing in the above equation is defined as the Plücker array of a line at infinity, $$\boldsymbol{\kappa }_{\infty }$$, namely,

(3.33)

Note that a line at infinity of unit moment f can be thought of as being a line lying in a plane perpendicular to the unit vector f, but otherwise with an indefinite location in the plane, except that it is an infinitely large distance from the origin. Thus, lines at infinity vary only in the orientation of the plane in which they lie.

3.2.3 The Pose of a Rigid Body

A possible form of describing a general rigid-body motion, then, is through a set of eight real numbers, namely, the six Plücker coordinates of its screw axis, its pitch, and its amplitude, i.e., its angle. Hence, a rigid-body motion is fully described by six independent parameters. Moreover, the pitch can attain values from −∞ to + ∞. Alternatively, a rigid-body displacement can be described by seven dependent parameters as follows: four invariants of the concomitant rotation—the linear invariants, the natural invariants, or the Euler–Rodrigues parameters, introduced in Sect. 2.​3—and the three components of the displacement of an arbitrary point. Since those invariants are not independent, but subject to one constraint, this description consistently involves six independent parameters. Thus, let a rigid body undergo a general motion, of rotation Q from a reference configuration $$\mathcal{C}_{0}$$. If a landmark point A of the body undergoes a displacement d A , then the pose array, or simply the pose s, of the body in configuration $$\mathcal{C}$$ is defined as a seven-dimensional array, namely,

(3.34)

where the three-dimensional vector q and the scalar q ₀ are any four invariants of Q. For example, if these are the Euler–Rodrigues parameters, then

If alternatively, we work with the linear invariants, then

and, of course, if we work instead with the natural invariants, then

In the first two cases, the constraint mentioned above is

(3.35)

In the last case, the constraint is simply

(3.36)

Notice that the pose of a rigid body is an array of numbers quantifying the displacement of the body from a reference configuration $$\mathcal{C}_{0}$$ to a current configuration $$\mathcal{C}$$. As such, then, the pose is a relative concept.

An important problem in kinematics is the computation of the screw parameters, i.e., the components of s, as given in Eq. (3.34), from coordinate measurements over a certain finite set of points. From the foregoing discussion, it should be clear that the computation of the attitude of a rigid body, given by matrix Q or its invariants, is crucial in solving this problem. Moreover, besides its theoretical importance, this problem, known as pose estimation, has also practical relevance. Actually, the problem of interest can be regarded as one of relative-pose estimation, as the pose is, in reality, a relative concept. In space applications, for example, a common operation is the rendezvousing of two objects, e.g., the now-defunct Space Shuttle with the International Space Station. Another example is the grabbing of objects floating in space, e.g., a drifting satellite, by a robotic gripper. In order to properly orient the gripper, the relative pose of the satellite with respect to the gripper palm is needed. This can be estimated by means of markers previously attached on the satellite surface, that identify corresponding points thereof. These markers are not simple points, but arrays of visual features similar to the simple one-dimensional and two-dimensional barcodes, although more evolved, to package a larger amount of information in the same area. The purpose here is to add robustness to the estimation algorithm in use. A new concept, the Space Vision Marker System (SVMS), was introduced by a MDA Team (Bondy et al. 2007), that uses markers of the kind shown in Fig. 3.5, along with estimation algorithms. These markers are aimed at marker-detection throughout “a wide range of viewing distances and angles, and illumination (including direct sun light and shadows); encoded redundant features allow identification even with a partial data loss.”

Fig. 3.5

MDA Space Vision Marker System (SVMS) at MDA’s Space Vision Laboratory in Brampton, Ontario, Canada. Developed under contract with the Canadian Space Agency

A straightforward method of computing the screw parameters consists in regarding the motion as follows: Choose a certain point A of the body, of position vector a, and track it as the body moves to a displaced configuration, at which point A moves to A ′ , of position vector $${\mathbf{a}}^{{\prime}}$$. Assume that the body reaches the displaced configuration $${\mathcal{B}}^{{\prime}}$$, passing through an intermediate one $${\mathcal{B}}^{{\prime\prime}}$$, which is attained by a pure translation, as depicted in Fig. 3.2. Next, configuration $${\mathcal{B}}^{{\prime}}$$ is reached by rotating the body about point A ′ , as indicated in Fig. 3.6.

Fig. 3.6

Decomposition of the displacement of a rigid body

Matrix Q can now be readily determined. To do this, define three points of the body, P ₁, P ₂, and P ₃, in such a way that the three vectors defined below are orthonormal and form a right-hand system:

(3.37)

(3.38)

where δ ij is the Kronecker delta, defined as 1 if i = j, and as 0 otherwise. Now, let the set $$\{\mathbf{e}_{i}\}_{1}^{3}$$ be labeled $$\{\mathbf{e}_{i}^{{\prime}}\}_{1}^{3}$$ and $$\{\mathbf{e}_{i}^{{\prime\prime}}\}_{1}^{3}$$ in configurations $${\mathcal{B}}^{{\prime}}$$ and $${\mathcal{B}}^{{\prime\prime}}$$, respectively. Moreover, let q ij denote the entries of the matrix representation of the rotation Q in a frame X, Y, Z with origin at A and such that the foregoing axes are parallel to vectors $$\mathbf{e}_{1}$$, $$\mathbf{e}_{2}$$, and $$\mathbf{e}_{3}$$, respectively. It is clear, from Definition 2.2.1, that

(3.39)

i.e.,

(3.40)

Note that all $$\mathbf{e}_{i}$$ and $$\mathbf{e}_{i}^{{\prime}}$$ appearing in Eq. (3.40) must be represented in the same coordinate frame. Once Q is determined, computing the remaining screw parameters is straightforward. One can use, for example, Eq. (3.18) to determine the point of the screw axis that lies closest to the origin, which would thus allow one to compute the Plücker coordinates of the screw axis.

3.3 Rotation of a Rigid Body About a Fixed Point

In this section, the motion of a rigid body having a point fixed is analyzed. This motion is fully described by a rotation matrix Q that is proper orthogonal. Now, Q will be assumed to be a smooth function of time, and hence, the position vector of a point P in an original configuration, denoted here by $$\mathbf{p}_{0}$$, is mapped smoothly into a new vector $$\mathbf{p}(t)$$, namely,

(3.41)

The velocity of P is computed by differentiating both sides of Eq. (3.41) with respect to time, thus obtaining

(3.42)

which is not a very useful expression, because it requires knowledge of the original position of P. An alternative expression can be derived if Eq. (3.41) is solved for $$\mathbf{p}_{0}$$ and the expression thus resulting is substituted into Eq. (3.42), which yields

(3.43)

where the argument t has been dropped for the sake of simplicity, but one must keep in mind that all quantities are now time-varying. The product $$\dot{\mathbf{Q}}{\mathbf{Q}}^{T}$$ is known as the angular-velocity matrix of the rigid-body motion and is denoted by $$\boldsymbol{\Omega }$$, i.e.,

(3.44)

As a consequence of the orthogonality of Q, one has a basic result, namely,

Theorem 3.3.1.

The angular-velocity matrix is skew-symmetric.

Proof.

This follows directly from definition (3.44).

In order to derive the angular-velocity vector of a rigid-body motion, we recall the concept of axial vector, or simply vector, of a 3 × 3 matrix, introduced in Sect. 2.​3.​3. Thus, the angular-velocity vector $$\boldsymbol{\omega }$$ of the rigid-body motion under study is defined as the vector of $$\boldsymbol{\Omega }$$, i.e.,

(3.45)

and hence, Eq. (3.43) can be written as

(3.46)

from which it is apparent that the velocity of any point P of a body moving with a point O fixed is perpendicular to line O P.

3.4 General Instantaneous Motion of a Rigid Body

If a rigid body now undergoes the most general motion, none of its points remains fixed, and the position vector of any of these, P, in a displaced configuration is given by Eq. (3.2). Let $$\mathbf{a}_{0}$$ and $$\mathbf{p}_{0}$$ denote the position vectors of points A and P of Sect. 3.2, respectively, in the reference configuration $$\mathcal{C}_{0}$$, $$\mathbf{a}(t)$$ and p(t) being the position vectors of the same points in the displaced configuration $$\mathcal{C}$$. Moreover, if Q(t) denotes the rotation matrix, then

(3.47)

Now, the velocity of P is computed by differentiating both sides of Eq. (3.47) with respect to time, thus obtaining

(3.48)

which again, as expression (3.48), is not very useful, for it requires the values of the position vectors of A and P in the original configuration. However, if Eq. (3.47) is solved for $$\mathbf{p}_{0} -\mathbf{a}_{0}$$ and the expression thus resulting is substituted into Eq. (3.48), we obtain

(3.49)

or in terms of the angular-velocity vector,

(3.50)

where the argument t has been dropped for brevity but is implicit, since all variables of the foregoing equation are now functions of time. Furthermore, from Eq. (3.50), it is apparent that

(3.51)

which can be summarized as

Theorem 3.4.1.

The relative velocity of two points of the same rigid body is perpendicular to the line joining them.

Moreover, similar to the outcome of Theorem 3.2.1, one now has an additional result that is derived upon dot-multiplying both sides of Eq. (3.50) by $$\boldsymbol{\omega }$$, namely,

and hence,

Corollary 3.4.1.

The projections of the velocities of all the points of a rigid body onto the angular-velocity vector are identical.

Similar to the Mozzi–Chasles theorem, we have

Theorem 3.4.2.

Given a rigid body under general motion, a set of its points located on a line $${\mathcal{L}}^{{\prime}}$$ undergoes the identical minimum-magnitude velocity v ₀ parallel to the angular velocity.

Definition 3.4.1.

The line containing the points of a rigid body undergoing minimum-magnitude velocities is called the instant screw axis (ISA) of the body under the given motion.

3.4.1 The Instant Screw of a Rigid-Body Motion

From Theorem 3.4.2, the instantaneous motion of a body is equivalent to that of the nut of a screw of axis $${\mathcal{L}}^{{\prime}}$$, the ISA. As the body moves, the ISA changes, for which reason the motion of the body is called an instantaneous screw. Moreover, since v ₀ is parallel to $$\boldsymbol{\omega }$$, it can be expressed in the form

(3.52)

where v ₀ is a scalar quantity denoting the signed magnitude of $$\mathbf{v}_{0}$$ and bears the sign of $$\mathbf{v}_{0} \cdot \boldsymbol{\omega }$$. Furthermore, the pitch $${p}^{{\prime}}$$ of the instantaneous screw is defined as

(3.53)

which thus bears units of m/rad or, correspondingly, of m/turn.

Again, the ISA $${\mathcal{L}}^{{\prime}}$$ can be specified uniquely through its Plücker coordinates, stored in the $$\mathbf{p}_{{\mathcal{L}}^{{\prime}}}$$ array defined as

(3.54)

where $${\mathbf{e}}^{{\prime}}$$ and $${\mathbf{n}}^{{\prime}}$$ are, respectively, the unit vector defining the direction of $${\mathcal{L}}^{{\prime}}$$ and its moment about the origin, i.e.,

(3.55)

p being the position vector of any point of the ISA. Clearly, $${\mathbf{e}}^{{\prime}}$$ is defined uniquely but becomes trivial when the rigid body instantaneously undergoes a pure translation, i.e., a motion during which, instantaneously, $$\boldsymbol{\omega } = \mathbf{0}$$ and all body-points move with the same velocity $$\mathbf{v}_{0}$$. In this case, $${\mathbf{e}}^{{\prime}}$$ is defined as the unit vector parallel to $$\mathbf{v}_{0}$$. Thus, an instantaneous rigid-body motion is defined by a line $${\mathcal{L}}^{{\prime}}$$, a pitch p ′ , and an amplitude $$\|\boldsymbol{\omega }\|$$. Such a motion is, then, fully determined by six independent parameters, namely, the four independent Plücker coordinates of $${\mathcal{L}}^{{\prime}}$$, its pitch, and its amplitude. A line supplied with a pitch is, in general, called a screw; a screw supplied with an amplitude representing the magnitude of an angular velocity provides the representation of an instantaneous rigid-body motion that is sometimes called the twist, an item that will be discussed in more detail below.

Hence, the instantaneous screw is fully defined by six independent real numbers. Moreover, such as in the case of the screw motion, the pitch of the instantaneous screw can attain values from −∞ to + ∞.

The ISA can be alternatively described in terms of the position vector $$\mathbf{p}_{0}^{{\prime}}$$ of its point lying closest to the origin. Expressions for $$\mathbf{p}_{0}^{{\prime}}$$ in terms of the position and the velocity of an arbitrary body-point and the angular velocity are derived below. To this end, we decompose $$\dot{\mathbf{p}}$$ into two orthogonal components, $$\mathbf{\dot{p}}_{\|}$$ and $$\mathbf{\dot{p}}_{\perp }$$, along and transverse to the angular-velocity vector, respectively—see Eqs. (2.6a) and (2.6b). Hence, $$\dot{\mathbf{a}}$$ is first decomposed into two such orthogonal components, $$\mathbf{\dot{a}}_{\|}$$ and $$\mathbf{\dot{a}}_{\perp }$$, the former being parallel, the latter normal to the ISA, i.e.,

(3.56)

These orthogonal components are given as

(3.57)

In the derivation of Eq. (3.57) we have used the identity introduced in Eq. (2.​40), which means, in our case:

(3.58)

Upon substitution of Eqs. (3.57) into Eq. (3.50), we obtain

(3.59)

Of the three components of $$\dot{\mathbf{p}}$$, the first, henceforth referred to as its axial component, is parallel, the last two being normal to $$\boldsymbol{\omega }$$. The sum of the last two components is referred to as the normal component of $$\dot{\mathbf{p}}$$. From Eq. (3.59) it is apparent that the axial component is independent of p, while the normal component is a linear function of p. An obvious question now arises: For an arbitrary motion, is it possible to find a certain point of position vector p whose velocity normal component vanishes? The vanishing of the normal component obviously implies the minimization of the magnitude of $$\dot{\mathbf{p}}$$. The condition under which this happens can now be stated as

or

(3.60)

which can be further expressed as a vector equation linear in p, namely,

(3.61)

or

(3.62a)

with r defined as

(3.62b)

and hence, a possible solution of the foregoing problem is

(3.63)

However, this solution is not unique, for Eq. (3.62a) does not require that $$\mathbf{p} -\mathbf{r}$$ be zero, only that this difference lie in the null space of $$\boldsymbol{\Omega }$$, i.e., that p −r be linearly dependent with $$\boldsymbol{\omega }$$. In other words, if a vector $$\alpha \boldsymbol{\omega }$$ is added to p as given in Eq. (3.63), then the sum also satisfies Eq. (3.61). It is then apparent that Eq. (3.61) does not determine a single point whose normal velocity component vanishes, but a set of points lying on the ISA, and thus, other solutions are possible. For example, we can find the point of the ISA lying closest to the origin. To this end, let $$\mathbf{p}_{0}^{{\prime}}$$ be the position vector of that point. This vector is obviously perpendicular to $$\boldsymbol{\omega }$$, i.e.,

(3.64)

Next, Eq. (3.61) is rewritten for $$\mathbf{p}_{0}^{{\prime}}$$, and Eq. (3.64) is adjoined to it, thereby deriving an expanded linear system of equations, namely,

(3.65)

where A is a 4 × 3 matrix and b is a four-dimensional vector, both being given below:

(3.66)

This system is of the same nature as that appearing in Eq. (3.10), and hence, it can be solved for $$\mathbf{p}_{0}^{{\prime}}$$ following the same procedure. Thus, both sides of Eq. (3.65) are multiplied from the left by A T , thereby obtaining

(3.67)

where

(3.68)

Moreover, from Eq. (3.58), the rightmost side of the foregoing relation becomes $$\|{\boldsymbol{\omega }\|}^{2}\mathbf{1}$$, and hence, the matrix coefficient of the left-hand side of Eq. (3.67) and the right-hand side of the same equation reduce, respectively, to

(3.69)

Upon substitution of Eq. (3.69) into Eq. (3.67) and further solving for $$\mathbf{p}_{0}^{{\prime}}$$, the desired expression is derived:

(3.70)

Thus, the instantaneous screw is fully defined by an alternative set of six independent scalars, namely, the three components of its angular velocity $$\boldsymbol{\omega }$$ and the three components of the velocity of an arbitrary body point A, denoted by $$\dot{\mathbf{a}}$$. As in the case of the screw motion, we can also represent the instantaneous screw by a line and two additional parameters, as we explain below.

3.4.2 The Twist of a Rigid Body

A line, as we saw earlier, is fully defined by its six-dimensional Plücker array, which contains only four independent components. Now, if a pitch p is added as a fifth feature to the line or, correspondingly, to its Plücker array, we obtain a screw s, namely,

(3.71)

An amplitude is any scalar A multiplying the foregoing screw. The amplitude produces a twist or a wrench, to be discussed presently, depending on its units. The twist or the wrench thus defined can be regarded as an eight-parameter array. These eight parameters, of which only six are independent, are the amplitude, the pitch, and the six Plücker coordinates of the associated line. Clearly, a twist or a wrench is defined completely by six independent real numbers. More generally, a twist can be regarded as a six-dimensional array defining completely the velocity field of a rigid body; it comprises the three components of the angular velocity and the three components of the velocity of any of the points of the body.

Below we elaborate on the foregoing concepts. Upon multiplication of the screw appearing in Eq. (3.71) by the amplitude A representing the magnitude of an angular velocity, we obtain a twist t, namely,

where the product A e can be readily identified as the angular velocity $$\boldsymbol{\omega }$$ parallel to vector e, of magnitude | A | . Moreover, the lower part of t can be readily identified with the velocity of a point of a rigid body. Indeed, if we regard the line $$\mathcal{L}$$ and point O as sets of points of a rigid body $$\mathcal{B}$$ moving with an angular velocity $$\boldsymbol{\omega }$$ and such that point P moves with a velocity $$p\boldsymbol{\omega }$$ parallel to the angular velocity, then the lower vector of t, denoted by v, represents the velocity of point O, i.e.,

We can thus express the twist t as

(3.72)

If the pitch is zero, the twist is a pure rotation; if infinite, the twist is a pure translation, in which case the twist is

(3.73)

Then, the screw of infinite pitch $$\mathbf{s}_{\infty }$$ is defined as the six-dimensional array appearing in the above equation, namely,

(3.74)

Note that this screw array is identical to the Plücker array of a line at infinity lying in a plane of unit normal e, as displayed in Eq. (3.33).

The twist array, as defined in Eq. (3.72), with $$\boldsymbol{\omega }$$ on top, represents the ray coordinates of the twist. An exchange of the order of the two Cartesian vectors of this array, in turn, gives rise to the axis coordinates of the twist.

The foregoing twist was also termed motor by Everett (1875). As Phillips (1990) points out, the word motor is an abbreviation of moment and vector. An extensive introduction into motor algebra was published by von Mises (1924), a work that is now available in English (von Mises 1996). Roth (1984), in turn, provided a summary of these concepts, as applicable to robotics. The foregoing array goes also by other names, such as the German Kinemate or the French torseur cinématique.

The relationships between the angular-velocity vector and the time derivatives of the invariants of the associated rotation are linear. Indeed, let the three sets of four invariants of rotation, namely, the natural invariants, the linear invariants, and the Euler–Rodrigues parameters be grouped in the four-dimensional arrays $$\boldsymbol{\nu }$$, $$\boldsymbol{\lambda }$$, and $$\boldsymbol{\eta }$$, respectively, i.e.,

(3.75)

We then have the linear relations derived in full detail elsewhere (Angeles 1988), and outlined in Appendix A for quick reference, namely,

(3.76a)

with N, L, and H defined as

(3.76b)

(3.76c)

(3.76d)

where, it is recalled, $$\mathrm{tr}(\cdot )$$ denotes the trace of its square matrix argument (⋅ ), i.e., the sum of the diagonal entries of that matrix.

The inverse relations of those shown in Eqs. (3.76a) are to be derived by resorting to the approach introduced when solving Eq. (3.65) for $$\mathbf{p}_{0}^{{\prime}}$$, thereby obtaining

(3.77a)

the 3 × 4 matrices $$\tilde{\mathbf{N}}$$, $$\tilde{\mathbf{L}}$$, and $$\tilde{\mathbf{H}}$$ being defined below:

(3.77b)

(3.77c)

(3.77d)

Caveat The angular velocity vector is not a time-derivative, i.e., no Cartesian vector exists whose time-derivative is the angular-velocity vector.

However, matrices N, L, and H of Eqs. (3.76b–d) can be regarded as integration factors that yield time-derivatives.

Now we can write the relationship between the twist and the time-rate of change of the seven-dimensional pose array s, namely,

(3.78)

where

(3.79)

in which O and $$\mathbf{O}_{43}$$ are the 3 × 3 and the 4 × 3 zero matrices, while 1 is the 3 × 3 identity matrix and F is, correspondingly, N, L, or H, depending upon the invariant representation chosen for the rotation. The inverse relationship of Eq. (3.78) takes the form

(3.80a)

where

(3.80b)

in which $$\mathbf{O}_{34}$$ is the 3 × 4 zero matrix. Moreover, $$\tilde{\mathbf{F}}$$ is one of $$\tilde{\mathbf{N}}$$, $$\tilde{\mathbf{L}}$$, or $$\tilde{\mathbf{H}}$$, depending on the rotation representation adopted, namely, the natural invariants, the linear invariants, or the Euler–Rodrigues parameters, respectively.

A formula that relates the twist of the same rigid body at two different points is now derived. Let A and P be two arbitrary points of a rigid body. The twist at each of these points is defined as

(3.81)

Moreover, Eq. (3.50) can be rewritten as

(3.82)

Combining Eq. (3.81) with Eq. (3.82) yields

(3.83a)

where

(3.83b)

with the 6 × 6 matrix U defined as in Eq. (3.29b), while A and P denote the cross-product matrices of vectors a and p, respectively. Thus, Eqs. (3.83a and b) can be fairly called the twist-transfer formulas.

3.5 Acceleration Analysis of Rigid-Body Motions

Upon differentiation of both sides of Eq. (3.49) with respect to time, one obtains

(3.84)

Now, Eq. (3.49) is solved for $$\dot{\mathbf{p}} -\dot{\mathbf{a}}$$, and the expression thus resulting is substituted into Eq. (3.84), thereby obtaining

(3.85)

where the matrix sum in parentheses is termed the angular-acceleration matrix of the rigid-body motion and is represented by W, i.e.,

(3.86)

Apparently, the first term of the right-hand side of Eq. (3.86) is skew-symmetric, whereas the second one is symmetric. Thus,

(3.87)

$$\dot{\boldsymbol{\omega }}$$ being termed the angular-acceleration vector of the rigid-body motion. We have now an interesting result, namely,

(3.88)

Moreover, Eq. (3.85) can be written as

(3.89)

On the other hand, the time derivative of t, henceforth referred to as the twist rate, is displayed below:

(3.90)

in which $$\dot{\mathbf{v}}$$ is the acceleration of a point of the body. The relationship between the twist rate and the second time derivative of the screw is derived by differentiation of both sides of Eq. (3.78), which yields

(3.91)

where

(3.92)

and F is one of N, L, or H, accordingly. The inverse relationship of Eq. (3.91) is derived by differentiating both sides of Eq. (3.80a) with respect to time, which yields

(3.93)

where

(3.94)

with O and $$\mathbf{O}_{34}$$ already defined in Eq. (3.80b) as the 3 × 3 and the 3 × 4 zero matrices, respectively, while $$\dot{\tilde{\mathbf{F}}}$$ is one of $$\dot{\tilde{\mathbf{N}}}$$, $$\dot{\tilde{\mathbf{L}}}$$, or $$\dot{\tilde{\mathbf{H}}}$$, according with the type of rotation representation at hand.

Before we embark in differentiating the foregoing matrices, we introduce a few definitions: Let

(3.95a)

i.e.,

(3.95b)

Thus, the time derivatives sought take on the forms

(3.96a)

(3.96b)

(3.96c)

where we have used the identities below, which are derived in Appendix A.

(3.96d)

Furthermore, R denotes the cross-product matrix of r, and B is defined as

(3.96e)

Moreover,

(3.97a)

(3.97b)

(3.97c)

where V and D are defined below:

(3.97d)

(3.97e)

with U denoting, now, the cross-product matrix of u.

3.6 Rigid-Body Motion Referred to Moving Coordinate Axes

Although in kinematics no “preferred” coordinate system exists, in dynamics the governing equations of rigid-body motions are valid only in inertial frames, the concept to be defined in Sect. 3.8. Thus, it is important to refer vectors and matrices to inertial frames, but sometimes it is not possible to do so directly. For instance, a space vessel can be supplied with instruments to measure the velocity and the acceleration of a satellite drifting in space, but the measurements taken from the space vessel will be referred to a coordinate frame fixed to it, which is not inertial. If the motion of the vessel with respect to an inertial coordinate frame is recorded, e.g., from an Earth-based station, then the acceleration of the satellite with respect to an inertial frame can be computed using the foregoing information. How to do this is the subject of this section.

Fig. 3.7

Fixed and moving coordinate frames

In the realm of kinematics, it is not necessary to distinguish between inertial and noninertial coordinate frames, and hence, it will suffice to call the coordinate systems involved fixed and moving. Thus, consider the fixed coordinate frame X, Y, Z, which will be labeled $$\mathcal{F}$$, and the moving coordinate frame $$\mathcal{X}$$, $$\mathcal{Y}$$, $$\mathcal{Z}$$, which will be labeled $$\mathcal{M}$$, both being depicted in Fig. 3.7. Moreover, let Q be the rotation matrix taking frame $$\mathcal{F}$$ into the orientation of $$\mathcal{M}$$, and $$\mathbf{o}$$ the position vector of the origin of $$\mathcal{M}$$ from the origin of $$\mathcal{F}$$. Further, let p be the position vector of point P from the origin of $$\mathcal{F}$$ and $$\boldsymbol{\rho }$$ the position vector of the same point from the origin of $$\mathcal{M}$$. From Fig. 3.7 one has

(3.98)

where it will be assumed that $$\boldsymbol{\rho }$$ is not available in frame $$\mathcal{F}$$, but in $$\mathcal{M}$$. Hence,

(3.99)

Substitution of Eq. (3.99) into Eq. (3.98) yields

(3.100)

Now, in order to compute the velocity of P, both sides of Eq. (3.100) are differentiated with respect to time, which leads to

(3.101)

Furthermore, from the definition of $$\boldsymbol{\Omega }$$, Eq. (3.44), we have

(3.102)

Upon substitution of the foregoing relation into Eq. (3.101), we obtain

(3.103)

which is an expression for the velocity of P in $$\mathcal{F}$$ in terms of the velocity of P in $$\mathcal{M}$$ and the twist of $$\mathcal{M}$$ with respect to $$\mathcal{F}$$. Next, the acceleration of P in $$\mathcal{F}$$ is derived by differentiation of both sides of Eq. (3.103) with respect to time, which yields

(3.104)

Further, upon substitution of identity (3.102) into Eq. (3.104), we obtain

(3.105)

Moreover, from the results of Sect. 3.5, it is apparent that the first two terms of the right-hand side of Eq. (3.105) represent the acceleration of P as a point of $$\mathcal{M}$$, whereas the fourth term is the acceleration of P measured from $$\mathcal{M}$$. The third term is known as the Coriolis acceleration, for it was first pointed out by the French mathematician Gustave Gaspard Coriolis (1835).

3.7 Static Analysis of Rigid Bodies

Germane to the velocity analysis of rigid bodies is their force-and-moment analysis. In fact, striking similarities exist between the velocity relations associated with rigid bodies and the forces and moments acting on them. From elementary statics it is known that the resultant of all external actions, i.e., forces and moments, exerted on a rigid body can be reduced to a force f acting at a point, say A, and a moment $$\mathbf{n}_{A}$$. Alternatively, the same force f can be defined as acting at an arbitrary point P of the body, as depicted in Fig. 3.8, but then the resultant moment $$\mathbf{n}_{P}$$ changes correspondingly.

In order to establish a relationship between $$\mathbf{n}_{A}$$ and $$\mathbf{n}_{P}$$, the moment of the first system of force and moment with respect to point P is equated to the moment about the same point of the second system, thus obtaining

(3.106)

which can be rewritten as

(3.107)

whence the analogy with Eq. (3.50) is apparent. Indeed, $$\mathbf{n}_{P}$$ and $$\mathbf{n}_{A}$$ of Eq. (3.107) play the role of the velocities of P and A, $$\dot{\mathbf{p}}$$ and $$\dot{\mathbf{a}}$$, respectively, whereas f of Eq. (3.107) plays the role of $$\boldsymbol{\omega }$$ of Eq. (3.50). Thus, similar to Theorem 3.4.2, one has

Fig. 3.8

Equivalent systems of force and moment acting on a rigid body

Theorem 3.7.1.

For a given system of forces and moments acting on a rigid body, if the resultant force is applied at any point of a particular line $${\mathcal{L}}^{{\prime\prime}}$$ , then the resultant moment is of minimum magnitude. Moreover, that minimum-magnitude moment is parallel to the resultant force.

Hence, the resultant of the system of forces and moments is equivalent to a force f acting at a point of $${\mathcal{L}}^{{\prime\prime}}$$ and a moment n, with both f and n parallel to $${\mathcal{L}}^{{\prime\prime}}$$. Paraphrasing the definition of the ISA, one defines line $${\mathcal{L}}^{{\prime\prime}}$$ as the axis of the wrench acting on the body. Let $$\mathbf{n}_{0}$$ be the minimum-magnitude moment. Paraphrasing Eq. (3.52) in turn, $$\mathbf{n}_{0}$$ can be expressed as

(3.108)

Moreover, the pitch of the wrench, $${p}^{{\prime\prime}}$$, is defined as

(3.109)

which, again, has units of m/rad or, correspondingly, of m/turn. Of course, the wrench axis can be defined by its Plücker array, $$\mathbf{p}_{{\mathcal{L}}^{{\prime\prime}}}$$, i.e.,

(3.110)

where $${\mathbf{e}}^{{\prime\prime}}$$ is the unit vector parallel to $${\mathcal{L}}^{{\prime\prime}}$$, $${\mathbf{n}}^{{\prime\prime}}$$ is the moment of $${\mathcal{L}}^{{\prime\prime}}$$ about the origin, and p is the position vector of any point on $${\mathcal{L}}^{{\prime\prime}}$$.

The wrench axis is fully specified, then, by the direction of f and point $$P_{0}^{{\prime\prime}}$$ of position vector $$\mathbf{p}_{0}^{{\prime\prime}}$$ lying closest to the origin, which can be derived by analogy with Eq. (3.70), namely, as

(3.111)

Similar to Theorem 3.4.1, one has

Theorem 3.7.2.

Consider a system of moments and forces acting on a rigid body, with the resultant force applied at an arbitrary point of the body. The projection of the resultant moment onto the wrench axis is identical for all points.

From the foregoing discussion, then, the wrench applied to a rigid body can be fully specified by the resultant force f acting at an arbitrary point P and the associated moment, n P . We shall derive presently the counterpart of the six-dimensional array of the twist, namely, the wrench array. Upon multiplication of the screw of Eq. (3.71) by an amplitude A with units of force, what we will obtain would be a wrench w, i.e., a six-dimensional array with its first three components having units of force and its last components units of moment. We would like to be able to obtain the power developed by the wrench on the body moving with the twist t by a simple inner product of the two arrays. However, because of the form the wrench w has taken, the inner product of these two arrays would be meaningless, for it would involve the sum of two scalar quantities with different units; moreover, none of the two quantities has an immediate physical meaning. In fact, the first scalar would have units of force by frequency (angular velocity by force), while the second would have units of moment of moment multiplied by frequency (velocity by moment), thereby leading to a physically meaningless result. This inconsistency can be resolved if we redefine the wrench not simply as the product of a screw by an amplitude, but as a linear transformation of that screw involving the 6 × 6 array $$\boldsymbol{\Gamma }$$ defined as

(3.112)

where O and 1 denote, respectively, the 3 × 3 zero and identity matrices. Now we define the wrench as a linear transformation of the screw s defined in Eq. (3.71). This transformation is obtained upon multiplying s by the product $$A\boldsymbol{\Gamma }$$, the amplitude A having units of force, i.e.,

The foregoing wrench is given in axis coordinates, while the twist was given in ray coordinates.

Now, the first three components of the foregoing array can be readily identified as the moment of a force of magnitude A acting along a line of action given by the Plücker array of Eq. (3.110), with respect to a point P, to which a moment parallel to that line and of magnitude pA is added. Moreover, the last three components of that array pertain apparently to a force of magnitude A and parallel to the same line. We denote here the above-mentioned moment by n and the force by f, i.e.,

The wrench w is then defined as

(3.113)

which can thus be interpreted as a representation of a system of forces and moments acting on a rigid body, with the force acting at point P of the body $$\mathcal{B}$$ defined above and a moment n. Under these circumstances, we say that w acts at point P of $$\mathcal{B}$$.

With the foregoing definitions it is now apparent that the wrench has been defined so that the inner product $${\mathbf{t}}^{T}\mathbf{w}$$ will produce the power $$\Pi $$ developed by w acting at P when $$\mathcal{B}$$ moves with a twist t defined at the same point, i.e.,

(3.114)

When a wrench w that acts on a rigid body moving with the twist t develops zero power onto the body, we say that the wrench and the twist are reciprocal to each other. By the same token, the screws associated with that wrench–twist pair are said to be reciprocal. More specifically, let the wrench and the twist be given in terms of their respective screws, $$\mathbf{s}_{w}$$ and $$\mathbf{s}_{t}$$, as

(3.115)

where W and T are the amplitudes of the wrench and the twist, respectively, while $$\boldsymbol{\Gamma }$$ is as defined in Eq. (3.112). Thus, the two screws $$\mathbf{s}_{w}$$ and $$\mathbf{s}_{t}$$ are reciprocal if

(3.116)

and by virtue of the symmetry of $$\boldsymbol{\Gamma }$$, the foregoing relation can be further expressed as

(3.117)

The product $$\mathbf{s}_{w}^{T}\boldsymbol{\Gamma }\mathbf{s}_{t}$$ or its equivalent $$\mathbf{s}_{t}^{T}\boldsymbol{\Gamma }\mathbf{s}_{w}$$ is termed the reciprocal product of the two screws s t and s w .

Now, if A and P are arbitrary points of a rigid body, we define the wrench at these points as

(3.118)

Therefore, Eq. (3.106) leads to

(3.119a)

where

(3.119b)

with A and P already defined in Eq. (3.83b) as the cross-product matrices of vectors a and p, respectively. Thus, $$\mathbf{w}_{P}$$ is a linear transformation of $$\mathbf{w}_{A}$$. By analogy with the twist-transfer formulas of Eqs. (3.83a and b), Eqs. (3.119a and b) are termed here the wrench-transfer formulas.

Multiplying the transpose of Eq. (3.83a) by Eq. (3.119a) yields

(3.120)

where

(3.121)

with $$\mathbf{1}_{6\times 6}$$ denoting the 6 × 6 identity matrix. Thus, $$\mathbf{t}_{P}^{T}\mathbf{w}_{P} = \mathbf{t}_{A}^{T}\mathbf{w}_{A}$$, as expected, since the wrench develops the same amount of power, regardless of where the force is assumed to be applied. Also note that an interesting relation between U and V follows from Eq. (3.121), namely,

(3.122)

3.8 Dynamics of Rigid Bodies

The equations governing the motion of rigid bodies are recalled in this section and cast into a form suitable to multibody dynamics. A rigid body $$\mathcal{B}$$ of mass density ρ, which need not be uniform, is assumed at the outset. It is further assumed that the body is under motion, with angular velocity $$\boldsymbol{\omega }$$. The kinetic energy of $$\mathcal{B}$$ is defined as the integral of the elementary kinetic energy of a differential element $$d\mathcal{B}$$ of the body over the whole body. The mass of the body is thus given by

(3.123)

$$\mathcal{B}$$ denoting also the region of the three-dimensional space occupied by the body. Given that the laws of classical mechanics—as exemplified by the Newton–Euler equations, to be recalled presently—hold only in inertial frames, the concept is now introduced:

An inertial frame is a coordinate system that translates with uniform velocity and constant orientation with respect to the stars.

Now, if p denotes the position vector of an arbitrary point P of the body, from the origin O of a given inertial frame, the mass first moment of the body with respect to O, $$\mathbf{q}_{O}$$, is defined as

(3.124)

Upon recalling the Mean-value Theorem of integral calculus (Brand 1965), there exists a point C, of position vector c, such that

point C thus being defined as the center of mass of $$\mathcal{B}$$. That is,

(3.125)

Notice that point C need not be located within the physical boundary of $$\mathcal{B}$$ —think, for example, of a homogeneous torus.

Further, the mass second moment of the body with respect to O is introduced. To this end, the kinetic energy of the rigid body, denoted by T, is defined as the integral of the kinetic energy of the mass element $$dm \equiv \rho d\mathcal{B}$$ of the body over the whole body, i.e.,

(3.126)

where $$\dot{\mathbf{p}}$$ is the velocity of P and p is the position vector of P in the same inertial frame, whose origin, for the sake of simplicity, is assumed to be stationary. Next, the velocity of P is expressed as in Eq. (3.50), using a reference—or base—point; in that equation, an arbitrary point A was used as a reference. It will prove convenient to use the center of mass C as reference in the sequel. Thus,

(3.127)

or, if matrix $$\mathbf{R} \equiv \mathrm{ CPM}(\mathbf{r})$$ is introduced, then

(3.128)

Upon substitution of the above expression into Eq. (3.126), an alternative expression for the kinetic energy is obtained:

The foregoing expression is now rewritten as the sum of three integrals:

(3.129)

Now, since R is skew-symmetric, its square expands according to Eq. (2.​40), namely,

Furthermore, the integral appearing in the second term of Eq. (3.129) vanishes. Indeed,

where the integral and the $$\mathrm{CPM}(\,\cdot \,)$$ operators have been interchanged because they are both linear and smooth.² Further, if the definition of r is recalled from Eq. (3.127), the above integral expands to

which indeed vanishes. Therefore, the kinetic energy of $$\mathcal{B}$$ reduces to

(3.130)

which is known to be a positive-definite quantity, in that it (a) is positive and (b) only vanishes when the body is stationary in an inertial frame, i.e., when both $$\dot{\mathbf{c}}$$ and $$\boldsymbol{\omega }$$ vanish. In fact, the first term of the above expression is apparently positive-definite, for its first factor, the mass, is positive, its second factor being the square of a real quantity, namely, a Euclidean norm—which is itself positive. The second term is a quadratic form in the angular-velocity vector, associated with matrix I C , defined as the moment of inertia of $$\mathcal{B}$$ at the center of mass. As this is a matrix, $$\mathbf{I}_{C}$$ is also referred to as the moment-of-inertia matrix. This matrix is the integral of the quantity in parentheses that appears multiplied by the density ρ, an inherently positive quantity. The term in parentheses, however, is apparently positive-semidefinite, as it equals the product $${\mathbf{RR}}^{T}$$; this product would be positive-definite, were it not for the cross-product matrix R, which is known to be singular, of rank 2—see Excercise 2.8. Therefore, $$\mathbf{I}_{C}$$ is at least positive-semidefinite. As a matter of fact, the only case in which $$\mathbf{I}_{C}$$ is semidefinite occurs when $$\mathcal{B}$$ is one-dimensional, i.e., a “long” body with two of its dimensions negligible with respect to its length. This would be a body filling the space of a line segment, its moment-of-inertia matrix having a nullity—dimension of its null space—of 1, with null space spanned by a vector parallel to the line. Other than this rather unlikely case, $$\mathbf{I}_{C}$$ is positive-definite.

Therefore, $$\mathbf{I}_{C}$$ has three real eigenvalues, in general all three positive, known as the principal moments of inertia, and three mutually orthogonal eigenvectors, defining three principal axes of inertia of $$\mathcal{B}$$, all three concurring at the center of mass.

Note, however, that the principal moments and the principal axes of inertia of a rigid body depend on the point with respect to which the moment of inertia is defined. Indeed, the moment of inertia can be defined about an arbitrary point of the body, whether within its physical boundary or without. If, in Eq. (3.126), the moment of inertia is taken with respect to an arbitrary point A of $$\mathcal{B}$$, then, the moment of inertia $$\mathbf{I}_{A}$$ with respect to A is defined as

(3.131)

Next, notice that, with the definition of r in Eq. (3.127), p −a can be expressed as

(3.132)

whence $$\mathbf{I}_{A}$$ becomes

which expands to

the final expression for $$\mathbf{I}_{A}$$ thus being

(3.133a)

which, in light of Eq. (2.​39), can be cast in the form

(3.133b)

a result known as Steiner’s Theorem, a.k.a. the Theorem of Parallel Axes.

Next, the Newton–Euler equations governing the motion of a rigid body are recalled, with the body $$\mathcal{B}$$ acted upon by a wrench of force f applied at its center of mass, and of moment $$\mathbf{n}_{C}$$ about the center of mass. The Newton equation then takes the form

(3.134a)

whereas the Euler equation is

(3.134b)

The momentum m and the angular momentum $$\mathbf{h}_{C}$$ of a rigid body moving with a velocity of its center of mass $$\dot{\mathbf{c}}$$ and an angular velocity $$\boldsymbol{\omega }$$ are defined below, the angular momentum being defined, moreover, with respect to the center of mass. These momenta are

(3.135)

Furthermore, the time-derivatives of the foregoing quantities are readily computed (see Exercise 3.17) as

(3.136)

and hence, Eqs. (3.134a and b) take the forms

(3.137)

The set of equations (3.134a and b) are known as the Newton–Euler equations. These can be written in a more compact form as described below. First, a 6 × 6 matrix M is introduced that, following von Mises (1924), is termed here the inertia dyad, namely,

(3.138)

where O and 1 denote the 3 × 3 zero and identity matrices. A similar 6 × 6 matrix was defined by von Mises under the above name. However, von Mises’s inertia dyad is full, while the matrix defined above is block-diagonal. Both matrices, nevertheless, denote the same physical property of a rigid body, i.e., its mass and moment of inertia. Now the Newton–Euler equations can be written as

(3.139)

in which matrix W, henceforth termed the angular-velocity dyad, by similarity with the inertia dyad, is defined in turn as

(3.140)

with $$\boldsymbol{\Omega }$$ already defined as the angular-velocity matrix, namely, as $$\mathrm{CPM}(\boldsymbol{\omega })$$. Note that the twist of a rigid body lies in the null space of its angular-velocity dyad, i.e.,

(3.141)

Further definitions are introduced below: the momentum screw of the rigid body about the center of mass is the six-dimensional vector $$\boldsymbol{\mu }$$ defined as

(3.142)

Moreover, from Eqs. (3.136) and definition (3.142), the time-derivative of $$\boldsymbol{\mu }$$ can be readily derived as³

(3.143)

The kinetic energy of a rigid body undergoing a motion in which its center of mass moves with velocity $$\dot{\mathbf{c}}$$ and rotates with an angular velocity $$\boldsymbol{\omega }$$ is given by Eq. (3.130), repeated below for quick reference:

(3.144)

From the foregoing definitions, then, the kinetic energy can now be written as a quadratic form of the body twist, namely,

(3.145)

while the Newton–Euler equations can be written in a form more compact than that of Eq. (3.139):

(3.146)

which is a six-dimensional vector equation.

Properly speaking, M, as given by Eq. (3.138), should be subscripted with C, to emphasize that the moment of inertia in the upper left block of M is taken with respect to the center of mass. For brevity, we will dispense with this subscript whenever the moment of inertia is centroidal. If the moment of inertia is taken with respect to any other arbitrary point A, then the corresponding inertia dyad is represented with M A . The reader is asked to verify that M A takes the form

(3.147)

Notice that, contrary to the inertia dyad defined with respect to the center of mass in Eq. (3.138), which is block-diagonal, M A is full. It should not be too difficult to prove that, regardless of the point with respect to which the moment of inertia is defined, the inertia dyad is positive-definite—see Exercise 3.20. The proof, as suggested in that exercise, hinges on a decomposition of $$\mathbf{M}_{A}$$ in the form

(3.148)

The reader is invited to find an expression for P. The foregoing expression for $$\mathbf{M}_{A}$$ can be fairly referred to as Steiner’s Theorem in dyad form.

3.9 Exercises

3.1

The cube of Fig. 3.9 is displaced from configuration AB … H into configuration $${A}^{{\prime}}{B}^{{\prime}}\ldots {H}^{{\prime}}$$.

Fig. 3.9

Motion of a cube

(a)

Determine the matrix representing the rotation Q undergone by the cube, in X, Y, Z coordinates.

(b)

Find the Plücker coordinates of line $$\mathcal{L}$$ of the cube undergoing displacements of minimum magnitude.

(c)

Find the intersections of $$\mathcal{L}$$ with the coordinate planes.

3.2

Two unit forces, $$\mathbf{f}_{1}$$ and $$\mathbf{f}_{2}$$, are applied to the regular tetrahedron of unit-length edges displayed in Fig. 3.10 in such a way that $$\mathbf{f}_{1}$$ is directed from P ₂ to P ₃, whereas $$\mathbf{f}_{2}$$ is directed from P ₄ to P ₁. The effect of the foregoing system of forces on the rigid tetrahedron is obtained by application of the resultant of the two forces on a certain point P and a moment n. Find the location of point P lying closest to P ₄ that will make the magnitude of n a minimum.

Fig. 3.10

A regular tetrahedron

3.3

The moment of a line $$\mathcal{L}_{1}$$ about a second line $$\mathcal{L}_{2}$$ is a scalar μ defined as

where $$\mathbf{n}_{1}$$ is the moment of $$\mathcal{L}_{1}$$ about an arbitrary point P of $$\mathcal{L}_{2}$$, while $$\mathbf{e}_{2}$$ is a unit vector parallel to line $$\mathcal{L}_{2}$$. Apparently, the necessary and sufficient condition for two lines to intersect is that the moment of one about the other vanish.

Using the above concept, show that the locus of all lines $$\mathcal{L}$$ intersecting three given lines $$\{\,\mathcal{L}_{k}\,\}_{1}^{3}$$ is a quadric, i.e., a surface defined by a function that is quadratic in the position vector p of a point of the surface: $$f(\mathbf{p}) ={ \mathbf{p}}^{T}\mathbf{M}\mathbf{p} +{ \mathbf{g}}^{T}\mathbf{p} + h = 0,\quad h > 0$$. Notice that, the surface being generated by the motion of a line constrained to touch the three given lines, the surface is bound to be ruled. Now, there are only two ruled, second-order surfaces (Pottmann and Wallner 2001), the one-sheet hyperboloid and the hyperbolic paraboloid. Geometrically, the former is a closed surface, the latter open. Algebraically, the former is characterized by a matrix coefficient M with $$\mathrm{det}(\mathbf{M}) < 0$$, meaning that the matrix has two positive and one negative eigenvalues. The hyperbolic paraboloid is characterized by a singular M, i.e., $$\mathrm{det}(\mathbf{M}) = 0$$. Show, furthermore, that $$\mathrm{det}(\mathbf{M})$$ is nonzero—showing that $$\mathrm{det}(\mathbf{M}) < 0$$ is far more challenging!—and hence, the quadric is a one-sheet hyperboloid. Hint: Deriving the given expression for f( p ) should be done without resorting to components. Showing that M is singular requires resorting to components. To this end, choose the coordinate axes appropriately so as to avoid too cumbersome expressions.

3.4

A robotic gripper is provided with two redundant sensors that are meant to measure a wrench acting on the gripper. The ith sensor, moreover, has its own coordinate frame, labeled $$\mathcal{F}_{i}$$, for i = 1, 2. Sensor i reported the ith measurement of the wrench w P , where subscript P indicates that the force is applied at point P, as $$[\,\mathbf{w}_{P}\,]_{i} \equiv [\,{\mathbf{n}}^{T},\,{\mathbf{f}}^{T}\,]_{i}^{T}$$, for i = 1, 2. These measurements are given as

(a)

Show that the measurements are compatible, based on invariance arguments.

(b)

Determine the relative orientation of the two frames, i.e., find the rotation matrix transforming $$\mathcal{F}_{2}$$-coordinates into $$\mathcal{F}_{1}$$-coordinates.

3.5

A robot-calibration method has been proposed that allows us to determine the location of a joint axis, $$\mathcal{L}$$, via the Plücker coordinates of the axis in a coordinate frame fixed to the gripper. The Plücker coordinates are given as $$\boldsymbol{\pi }_{\mathcal{L}} = {[\,{\mathbf{e}}^{T},\,{\mathbf{n}}^{T}\,]}^{T}$$.

(a)

Show that the distance of the axis to the origin of the gripper-fixed coordinate frame, d, can be determined as $$d =\| \mathbf{n}\|$$.

(b)

Show that the point P ∗ on the axis, which lies closest to the above-mentioned origin, has a position vector $${\mathbf{p}}^{{\ast}}$$ given as

(c)

From measurements on a robot, the Plücker coordinates were estimated, in a gripper-fixed frame $$\mathcal{G}$$, as

Find d and $${\mathbf{p}}^{{\ast}}$$ in gripper coordinates

Fig. 3.11

A workpiece $$\mathcal{B}$$ to be grasped by a gripper $$\mathcal{G}$$

3.6

The gripper $$\mathcal{G}$$ of a robot is approaching a workpiece $$\mathcal{B}$$, as indicated in Fig. 3.11, with planes $$\varPi _{1}$$ and $$\varPi _{2}$$ parallel to each other and normal to Π ₃. The workpiece is made out of a cube of unit length from which two vertices have been removed, thereby producing the equilateral triangular faces DEF and $${D}^{{\prime}}{E}^{{\prime}}{F}^{{\prime}}$$. Moreover, two coordinate frames, $$\mathcal{F}$$ (X, Y, Z) and $${\mathcal{F}}^{{\prime}}$$ ($${X}^{{\prime}}$$, $${Y }^{{\prime}}$$, $${Z}^{{\prime}}$$ ), are defined as indicated in the figure, in which Y is, apparently, parallel to line $${D}^{{\prime}}{C}^{{\prime}}$$.

It is required to grasp $$\mathcal{B}$$ with $$\mathcal{G}$$ in such a way that planes Π ₁ and Π ₂ coincide with the triangular faces, while carrying the Y ′ axis to an orientation perpendicular to the diagonal CC ′ of $$\mathcal{B}$$. More concretely, in the grasping configuration, frame $${\mathcal{F}}^{{\prime}}$$ is carried into $${\mathcal{F}}^{{\prime\prime}}$$ ($${X}^{{\prime\prime}}$$, $${Y }^{{\prime\prime}}$$, and $${Z}^{{\prime\prime}}$$ ), not shown in the figure, in such a way that unit vectors $${\mathbf{i}}^{{\prime\prime}}$$, $${\mathbf{j}}^{{\prime\prime}}$$, $${\mathbf{k}}^{{\prime\prime}}$$, parallel to $${X}^{{\prime\prime}}$$, $${Y }^{{\prime\prime}}$$, $${Z}^{{\prime\prime}}$$, respectively, are oriented so that $${\mathbf{i}}^{{\prime\prime}}$$ has all three of its $$\mathcal{F}$$ -components positive, while $${\mathbf{j}}^{{\prime\prime}}$$ has its Z-component positive.

(a)

Compute the angle of rotation of the motion undergone by $$\mathcal{G}$$ from a pose in which $${\mathcal{F}}^{{\prime}}$$ and $$\mathcal{F}$$ have identical orientations, termed the reference pose, and find the unit vector parallel to the axis of rotation, in frame $$\mathcal{F}$$.

(b)

The position vector of point P of $$\mathcal{G}$$ is known to be, in the reference pose,

Determine the set of points of $$\mathcal{G}$$ undergoing a displacement of minimum magnitude, under the condition that P, in the displaced configuration of $$\mathcal{G}$$, coincides with C ′ .

3.7

In calibrating a robot, the Plücker coordinates of one of its axes are to be determined in a given coordinate frame. To this end, the moment of this axis is measured with respect to two points, A and B, of position vectors $$[\,\mathbf{a}\,] = {[\,1,\,0,\,0\,]}^{T}$$ and $$[\,\mathbf{b}\,] = {[\,0,\,1,\,1\,]}^{T}$$, respectively. The said moments, n A and n B , respectively, are measured as

with all entries given in meters.

(a)

Determine the unit vector e defining the direction of the axis under discussion.

(b)

Find the coordinates of the point P ∗ of the axis that lies closest to the origin

(c)

Find the Plücker coordinates of the axis about the origin, i.e., the Plücker coordinates of the axis in which the moment is defined with respect to the origin.

3.8

Prove that for any three-dimensional vectors $$\boldsymbol{\omega }$$ and p,

3.9

A “small” rotation is defined as that about an arbitrary axis parallel to the unit vector e, through a “small” angle ϕ, so that ϕ ≪ 1. Prove that the angular-velocity vector, in the special case of “small” rotations, turns out to be a time-derivative. What is the vector whose time-derivative yields the angular-velocity vector?

3.10

Derive an expression for the angular velocity $$\boldsymbol{\omega }$$ in terms of Euler angles, which were introduced in Exercise 2.19. More specifically, if we store the Euler angles in array $$\boldsymbol{\eta } = {[\,\theta,\,\phi,\,\psi \,]}^{T}$$, then, find the matrix W such that

Notice that, given $$\boldsymbol{\eta }$$ and $$\boldsymbol{\omega }$$, an expression for $$\dot{\boldsymbol{\eta }}$$ can be obtained upon inverting W. However, W is not always invertible. Find under which conditions W becomes singular. Notice: The use of computer algebra is strongly recommended to solve this exercise.

3.11

A rectangular prism with regular hexagonal bases whose sides are 25 mm long and whose height is 150 mm is to undergo a pick-and-place operation—see Chap. 6 to understand what this means—that requires knowledge of its centroid location and its moment-of-inertia matrix. Find the centroidal principal axes and moments of inertia under the assumption that the prism is made from a homogeneous material.

3.12

The prism of Exercise 3.11 now undergoes a machining process cutting it into two parts, which are separated by a plane that contains one of the edges of the base and makes an angle of 45∘ with the axis of the prism. Find the centroidal principal axes and moments of inertia of each of the two parts.

3.13

In Exercise 2.23 assume that a mass m is located at every point P i of position vector $$\mathbf{p}_{i}$$. Give a mechanical interpretation of the matrix $$m[\mathrm{tr}(\mathbf{P}{\mathbf{P}}^{T})\mathbf{1} -\mathbf{P}{\mathbf{P}}^{T}]$$, with P defined in that exercise.

3.14

The centroidal inertia matrix of a rigid body is measured by two observers, who report the two results below:

Show that the two measurements are acceptable. Hint: Use invariance arguments.

3.15

State the conditions under which a point and the center of mass of a rigid body share the same principal axes of inertia. In other words, let I P and I C be the moment-of-inertia matrices of a rigid body about a point P and its center of mass, C, respectively. State the conditions under which the two matrices have common eigenvectors. Moreover, under these conditions, what are the relationships between the two sets of principal moments of inertia?

3.16

Show that the smallest principal moment of inertia of a rigid body attains its minimum value at the center of mass.

3.17

Show that the time-rate of change of the inertia dyad M of a rigid body is given by

Then, recall the momentum screw $$\boldsymbol{\mu }$$ defined as

where t is the twist of the body, defined at its center of mass. Now, with the above expression for $$\dot{\mathbf{M}}$$, restate the result displayed in Eq. (3.143), i.e., show that

3.18

A classical result in the dynamics of robots establishes a relation between the time-derivative of the n × n inertia matrix $$\mathbf{I}(\boldsymbol{\theta })$$ of a serial robot and what is known as the “Coriolis and centrifugal forces” matrix $$\mathbf{C}(\boldsymbol{\theta },\dot{\boldsymbol{\theta }})$$, where $$\boldsymbol{\theta }$$ is the n-dimensional vector of joint angles—these concepts are the subject of Chap. 7. According to this relation, the difference $$\dot{\mathbf{I}}(\boldsymbol{\theta }) - 2\mathbf{C}(\boldsymbol{\theta },\dot{\boldsymbol{\theta }})$$ is skew-symmetric. Show that the same relation holds for one single rigid body moving in space under the action of a given wrench. That is, show that the difference $$\dot{\mathbf{M}} - 2\mathbf{W}\mathbf{M}$$ is skew-symmetric, with M and W introduced in Sect. 3.8.

3.19

A wrench $$\mathbf{w} = {[\,{\mathbf{n}}^{T}\,\,{\mathbf{f}}^{T}\,]}^{T}$$, with f acting at point P of the gripper of Fig. 2.​10, is measured by a six-axis force sensor, to which a frame $$\mathcal{F}_{S}$$ is attached, as indicated in that figure. If points P and S lie a distance of 100 mm apart, find the wrench in $$\mathcal{F}_{2}$$, when the readouts of the sensor are

3.20

Derive Eq. (3.147). Moreover, show that $$\mathbf{M}_{A}$$, as given in that equation, is positive-definite—Hint: show that M A can be expressed as $$\mathbf{M}_{A} = \mathbf{M}_{C} + \mathbf{P}{\mathbf{P}}^{T}$$ , with $$\mathbf{M}_{C}$$ positive-definite and $$\mathbf{P}{\mathbf{P}}^{T}$$ positive-semidefinite. The above expression can be termed the 6 × 6 form of Steiner’s Theorem, a.k.a. the Parallel-Axis Theorem. Now, in trying to mimic Steiner’s Theorem, one would like to express P in the same form as the second term of Eq. (3.133a), as the product $$m\mathbf{R}{\mathbf{R}}^{T}$$, with R defined as a suitable 6 × 6 matrix. Can this matrix be found? If yes, give an expression for R; if not, explain why.

3.21

The inner (dot) product of two m × n matrices A and B can be defined as $$\mathrm{tr}(\mathbf{A}{\mathbf{B}}^{T})$$, which leads to the definition of the angle θ between A and B as $$\cos \theta =\mathrm{ tr}(\mathbf{A}{\mathbf{B}}^{T})/\|\mathbf{A}\|\|\mathbf{B}\|$$, where $$\|\mathbf{A}\| = \sqrt{\mathrm{tr }(\mathbf{A}{ \mathbf{A} }^{T } )}$$ with a similar definition for $$\|\mathbf{B}\|$$. Moreover, Eq. (3.86) can be regarded as the Cartesian decomposition of the angular-acceleration matrix W. Show that the two components of the foregoing decomposition are mutually orthogonal, which is a restatement of the orthogonality of the tangential and the centripetal relative acceleration of two points of a rigid body.

References

Angeles, J., 1988, Rational Kinematics, Springer-Verlag, New York.CrossRefMATH

Bondy, M., Krishnasamy, R. Crymble, D. and Jasiobedzki, P., 2007, “Space vision marker system (SVMS),” AIAA SPACE 2007 Conference & Exposition, September 18–20, Long Beach, CA.

Brand, L., 1965, Advanced Calculus, John Wiley & Sons, New York.MATH

Ceccarelli, M., 1995, “Screw axis defined by Giulio Mozzi in 1763”, Proc.  Ninth World Congress on the Theory of Machines and Mechanisms, August 29–September 2, Milan, vol. 4, pp. 3187–3190.

Chasles, M., 1830, “Notes sur les propriétés générales de deux corps semblables entr’eux et placés d’une manière quelconque dans l’espace, et sur le déplacement fini ou infiniment petit d’un corps solide libre”, Bull. Sci. Math. Ferrusaac 14, pp. 321–326.

Coriolis, G.G., 1835. “Mémoire sur les équations du mouvement relatif des systèmes des corps”, J.Ecole Polytechnique 15, cahier 24, pp. 142–154.

Everett, J.D., 1875, “On a new method in statics and kinematics”, Messenger of Mathematics 45, pp. 36–37.

Mozzi, G., 1763, Discorso Matematico Sopra il Rotamento Momentaneo dei Corpi, Stamperia di Donato Campo, Naples.

Phillips J., 1990, Freedom in Machinery. Vol 2: Screw Theory Exemplified, Cambridge University Press, Cambridge.

Pottmann, H. and Wallner, J., 2001, Computational Line Geometry, Springer, Berlin-Heidelberg-New York.MATH

Roth, B., 1984, “Screws, motors, and wrenches that cannot be bought in a hardware store”, in Brady, M., and Paul, R.P. (editors), Robotics Research. The First International Symposium, The MIT Press, Cambridge, MA, pp. 679–693.

von Mises, R., 1924, “Motorrechnung, ein neues Hilfsmittel der Mechanik”, Z. Angewandte Mathematik und Mechanik 4, no. 2, pp. 155–181.CrossRefMATH

von Mises, R., 1996, “Motor calculus. A new theoretical device for mechanics”, translated from the German by J. E. Baker and K. Wohlhart, Institute for Mechanics, Technical University of Graz, Graz.

Footnotes

1

A body undergoes a pure translation when all its points move under the same displacement.

2

Smoothness means that they do not introduce jump discontinuities upon differentiation.

3

See Exercise 3.17.

© Springer International Publishing Switzerland 2014

Jorge AngelesFundamentals of Robotic Mechanical SystemsMechanical Engineering Series12410.1007/978-3-319-01851-5_4

4. Geometry of Decoupled Serial Robots

Jorge Angeles1 

(1)

Department of Mechanical Engineering Centre for Intelligent Machines (CIM), McGill University, Montreal, QC, Canada

Electronic supplementary material

The online version of this article (doi: 10.​1007/​978-3-319-01851-5_​4) contains supplementary material, which is available to authorized users.

4.1 Introduction

This chapter is devoted to the displacement analysis of robotic manipulators of the serial type, which we call the geometry of serial robots. The study is limited to decoupled robots, to be defined below, the inverse displacement analysis of general six-axis robots being the subject of Chap. 9. These robots serving mainly to perform manipulation tasks, they are also referred to as manipulators.

We begin by defining a serial, n-axis manipulator. In connection with this manipulator, additionally, we will (a) introduce the Denavit–Hartenberg notation for the definition of link frames that uniquely determine the architecture and the configuration, or posture, of the manipulator at hand; (b) define the Cartesian and joint coordinates of this manipulator; and (c) relate these two sets of variables by means of its geometric model. Moreover, with regard to six-axis manipulators, we will define decoupled manipulators and provide a procedure for the solution of their inverse displacement model.

4.2 The Denavit–Hartenberg Notation

One of the first tasks of a robotics engineer is the geometric modeling of a robotic manipulator. This task consists in devising a model that can be unambiguously (a) described to a control unit through a database and (b) interpreted by other robotics engineers. The purpose of this task is to give manipulating instructions to a robot, regardless of the dynamics of the manipulated load and the robot itself. The simplest way of geometrically modeling a robotic manipulator is by means of the concept of kinematic chain. A kinematic chain is a set of rigid bodies, also called links, coupled by kinematic pairs, also termed joints. A kinematic pair is, then, the coupling of two rigid bodies so as to constrain their relative motion. We distinguish two basic types of kinematic pairs, namely, higher and lower kinematic pairs. A higher kinematic pair arises between rigid bodies when contact takes place along a line or at a point. This type of coupling occurs in cam-and-follower mechanisms, gear trains, and roller bearings, for example. A lower kinematic pair occurs when contact takes place along a surface common to the two bodies. Six different types of lower kinematic pairs can be distinguished (Angeles 1982; Hartenberg and Denavit 1964), but all these can be produced from two basic types, namely, the rotating pair, denoted by R and also called revolute, and the sliding pair, represented by P and also called prismatic.

Fig. 4.1

The two basic lower kinematic pairs: the revolute and the prismatic joints

The common surface along which contact takes place in a revolute pair is commonly billed as a cylinder. However, a cylinder exhibits two kinds of symmetry, of revolution and of extrusion, a cylindrical surface thus allowing for both rotation about the axis of the cylinder and translation along a direction parallel to the axis. For this reason, an axially symmetric surface devoid of symmetry of extrusion was proposed by Khan and Angeles (2011). A typical realization of the revolute joint is the coupling through journal bearings. Thus, two rigid bodies coupled by a revolute can rotate relative to each other about the axis of the common cylinder, which is thus referred to as the axis of the revolute, but are prevented from undergoing relative translations as well as rotations about axes other than the cylinder axis. On the other hand, the common surface of contact between two rigid bodies coupled by a prismatic pair is a prism of arbitrary cross section, and hence, the two bodies coupled in this way are prevented from undergoing any relative rotation and can move only in a pure-translation motion along a direction parallel to the axis of the prism. As an example of this kinematic pair, one can cite the dovetail coupling. Note that whereas the revolute axis is a totally defined line in three-dimensional space, the prismatic pair has no axis; this pair has only a direction. That is, the prismatic pair does not have a particular location in space. Nevertheless, and for the sake of conciseness, we will refer to joint axis generically, when speaking of either revolute or prismatic joints. Bodies coupled by a revolute and a prismatic pair are shown in Fig. 4.1.

Serial manipulators will be considered in this chapter, their associated kinematic chains thus being of the simple type, i.e., each and every link is coupled to at most two other links. A simple kinematic chain can be either closed or open. It is closed if each and every link is coupled to two other links, the chain then being called a linkage; it is open if it contains exactly two links, the end ones, that are coupled to only one other link. Thus, simple kinematic chains studied in this chapter are open, and in the particular robotics terminology, their first link is called the manipulator base, whereas their last link is termed the end-effector (EE).

Thus, the kinematic chains associated with manipulators of the serial type are composed of binary links, the intermediate ones, and exactly two simple links, those at the ends. Hence, except for the end links, all links carry two kinematic pairs, and as a consequence, two pair axes—just remember that a prismatic pair has a direction but no axis. In order to uniquely describe the architecture of a kinematic chain, i.e., the relative location and orientation of its neighboring pair axes, the Denavit–Hartenberg notation (Denavit and Hartenberg 1955) is introduced. To this end, links are numbered 0, 1, …, n, the ith pair being defined as that coupling the (i − 1)st link with the ith link. Hence, the manipulator is assumed to be composed of n + 1 links and n pairs; each of the latter can be either R or P, where link 0 is the fixed base, while link n is the end-effector. Next, a coordinate frame $$\mathcal{F}_{i}$$ is defined with origin O i and axes X i , Y i , Z i . This frame is attached to the (i − 1)st link—not to the ith link!—for $$i = 1,\,\ldots,\,n + 1$$. This is the classical Denavit–Hartenberg notation. Khalil and collaborators (Khalil and Dombre 2002) modified this notation to make it “less ambiguous.” In the balance of the book we follow the classical notation. For the first n frames, this is done following the rules given below:

1.

Z i is the axis of the ith pair. Notice that there are two possibilities of defining the positive direction of this axis, since each pair axis is only a line, not a directed segment. Moreover, the Z i axis of a prismatic pair can be located arbitrarily, since only its direction is defined.

2.

X i is defined as the common perpendicular to Z i−1 and Z i , directed from the former to the latter, as shown in Fig. 4.2a. Notice that if these two axes intersect, the positive direction of X i is undefined and hence, can be freely assigned. Henceforth, we will follow the right-hand rule in this case. This means that if unit vectors i i , k i−1, and k i are attached to axes X i , Z i−1, and Z i , respectively, as indicated in Fig. 4.2b, then i i is defined as k i−1 ×k i . Moreover, if Z i−1 and Z i are parallel, the location of X i is undefined. In order to define it uniquely, we will specify X i as passing through the origin of the (i − 1)st frame, as shown in Fig. 4.2c.

3.

The distance between Z i and Z i+1 is defined as a i , which is thus nonnegative.

4.

The Z i -coordinate of the intersection O i ′ of Z i with X i+1 is denoted by b i . Since this quantity is a coordinate, it can be either positive or negative. Its absolute value is the distance between X i and X i+1, also called the offset between successive common perpendiculars to the corresponding joint axes.

5.

The angle between Z i and Z i+1 is defined as α i and is measured about the positive direction of X i+1. This item is known as the twist angle between successive pair axes.

6.

The angle between X i and X i+1 is defined as θ i and is measured about the positive direction of Z i .

Fig. 4.2

Definition of X i when Z i−1 and Z i : (a) are skew; (b) intersect; and (c) are parallel

The (n + 1)st coordinate frame is attached to the far end of the nth link. Since the manipulator has no (n + 1)st link, the foregoing rules do not apply to the definition of this frame. The analyst, thus, has the freedom to define this frame as it best suits the task at hand. Notice that n + 1 frames, $$\mathcal{F}_{1}$$, $$\mathcal{F}_{2}$$, …, $$\mathcal{F}_{n+1}$$, have been defined, whereas links are numbered from 0 to n. In summary, a n-axis manipulator is composed of n + 1 links and n + 1 coordinate frames. These rules are illustrated with an example below.

Consider the architecture depicted in Fig. 4.3, usually referred to as a Puma robot, which shows seven links, numbered from 0 to 6, and seven coordinate frames, numbered from 1 to 7. Note that the last frame is arbitrarily defined, but its origin is placed at a specific point of the EE, namely, at the operation point P, which is used to define the task at hand. Furthermore, three axes intersect at a point C, and hence, all points of the last three links move on concentric spheres with respect to $$\mathcal{F}_{4}$$, for which reason the subchain comprising these three links is known as a spherical wrist, point C being its center. By the same token, the subchain composed of the first four links is called the arm. Thus, the wrist is decoupled from the arm, and is used for orientation purposes, the arm being used for the positioning of point C. The arm is sometimes called the regional structure and the wrist the local structure, the overall manipulator thus being of the decoupled type.

Fig. 4.3

Coordinate frames of a Puma robot

In the foregoing discussion, if the ith pair is R, then all quantities involved in those definitions are constant, except for θ i , which is variable and is thus termed the joint variable of the ith pair. The other quantities, i.e., a i , b i , and α i , are the joint parameters of the same pair. If, alternatively, the ith pair is P, then b i is variable, and the other quantities are constant. In this case, the joint variable is b i , and the joint parameters are a i , α i , and θ i . Notice that associated with each joint there are exactly one joint variable and three constant parameters. Hence, a n-axis manipulator has n joint variables—which are henceforth grouped in the n-dimensional vector $$\boldsymbol{\theta }$$, regardless of whether the joint variables are angular or translational—and 3n constant parameters. The latter define the architecture of the manipulator, while the former determine its configuration, or posture.

Whereas the manipulator architecture is fully defined by its 3n Denavit–Hartenberg (DH) parameters, its posture is fully defined by its n joint variables, also called its joint coordinates, once the DH parameters are known. The relative pose—position and orientation—between links is fully specified, then, from the background of Chap. 2, by (a) the rotation matrix taking the X i , Y i , Z i axes into a configuration in which they are parallel pairwise to the $$X_{i+1},\,Y _{i+1},\,Z_{i+1}$$ axes, and (b) the position vector of the origin of the latter in the former. The representations of the foregoing items in coordinate frame $$\mathcal{F}_{i}$$ will be discussed presently. First, we obtain the matrix representation of the rotation Q i carrying $$\mathcal{F}_{i}$$ into an orientation coincident with that of $$\mathcal{F}_{i+1}$$, assuming, without loss of generality because we are interested only in changes of orientation, that the two origins are coincident, as depicted in Fig. 4.4. This matrix is most easily derived if the rotation of interest is decomposed into two successive rotations, as indicated in Fig. 4.5. In that figure, X′ i , Y ′ i , Z′ i is an intermediate coordinate frame $$\mathcal{F}_{i}^{{\prime}}$$, obtained by rotating $$\mathcal{F}_{i}$$ about the Z i axis through an angle θ i . Then, the intermediate frame is rotated about X i′ through an angle α i , which takes it into a configuration coincident with $$\mathcal{F}_{i+1}$$. Let the foregoing rotations be denoted by $$[\,\mathbf{C}_{i}\,]_{i}$$ and $$[\,\boldsymbol{\Lambda }_{i}\,]_{i^{\prime}}$$, respectively, which are readily derived for they are in the canonical forms (2.56c) and (2.56a), respectively.

Fig. 4.4

Relative orientation of the ith and (i + 1)st coordinate frames

Fig. 4.5

(a) Rotation about axis Z i through an angle θ i ; and (b) relative orientation of the i ′ th and the (i + 1)st coordinate frames

Moreover, let

(4.1a)

One thus has, using subscripted brackets as introduced in Sect. 2.​2,

(4.1b)

and hence, the matrix sought is computed simply as

(4.1c)

Henceforth, we will use the abbreviations introduced below:

(4.1d)

thereby doing away with brackets, when these are self-understood. Thus,

(4.1e)

One more factoring of matrix Q i , which will be used in Chap. 9, is given below:

(4.2a)

with X i and Z i defined as two pure reflections, the former about the Y i Z i plane, the latter about the X i Y i plane, namely,

(4.2b)

Note that both X i and Z i are symmetric and self-inverse—see Sect. 2.​2. In order to derive an expression for the position vector a i connecting the origin O i of $$\mathcal{F}_{i}$$ with that of $$\mathcal{F}_{i+1}$$, O i+1, reference is made to Fig. 4.6, showing the relative positions of the different origins and axes involved. From this figure, apparently,

(4.3a)

where obviously,

Now, in order to compute the sum appearing in Eq. (4.3a), the two foregoing vectors should be expressed in the same coordinate frame, namely, $$\mathcal{F}_{i}$$. Thus,

and hence,

(4.3b)

For brevity, we introduce one more definition:

(4.3c)

Similar to the foregoing factoring of Q i , vector a i admits the factoring

(4.3d)

where b i is given by

(4.3e)

with the definitions introduced in Eq. (4.1a). Hence, vector b i is constant for revolute pairs. From the geometry of Fig. 4.6, it should be apparent that b i is nothing but a i in $$\mathcal{F}_{i+1}$$, i.e.,

Fig. 4.6

Layout of three successive coordinate frames

Matrices Q i can also be regarded as coordinate transformations. Indeed, let i i , j i , and k i be the unit vectors parallel to the X i , Y i , and Z i axes, respectively, directed in the positive direction of these axes. From Fig. 4.6, it is apparent that

whence

Therefore, the components of i i+1, j i+1, and k i+1 in $$\mathcal{F}_{i}$$ are nothing but the first, second, and third columns of Q i . In general, then, any vector v in $$\mathcal{F}_{i+1}$$ is transformed into $$\mathcal{F}_{i}$$ in the form

which is a similarity transformation, as defined in Eq. (2.​118). Likewise, any matrix M in $$\mathcal{F}_{i+1}$$ is transformed into $$\mathcal{F}_{i}$$ by the corresponding similarity transformation, as given by Eq. (2.​128):

The inverse relations follow immediately in the form

or, upon recalling the first of definitions (4.1d),

(4.4a)

(4.4b)

Moreover, if we have a chain of i frames, $$\mathcal{F}_{1}$$, $$\mathcal{F}_{2}$$, …, $$\mathcal{F}_{i}$$, then the inward coordinate transformation from $$\mathcal{F}_{i}$$ to $$\mathcal{F}_{1}$$ is given by

(4.5a)

(4.5b)

Likewise, the outward coordinate transformation takes the form

(4.6a)

(4.6b)

Example 4.2.1.

The data sheet of the six-axis FANUC LR Mate 200iC robot is displayed in Fig. 4.7. Define seven coordinate frames, according with the Denavit–Hartenberg notation, with $$\mathcal{F}_{1}$$ fixed to the base and $$\mathcal{F}_{7}$$ to the EE. Then, produce a table containing the 18 (constant) Denavit–Hartenberg parameters of the robot.

Fig. 4.7

The data sheet of the FANUC LRMate 200iC robot, with all dimensions in mm: (a) top view; (b) orthographic projection; (c) side view; and (d) front view

Solution: First, the seven Z i -axes are identified. Going from the base upwards, Z ₁ is vertical, while Z ₂ and Z ₃ are horizontal, 300 mm apart, as per the side view, Z ₁ lying 75 mm from the vertical plane defined by Z ₂ and Z ₃. Z ₄ appears horizontal in Fig. 4.7, 75 mm above Z ₃, but it can attain other orientations. Moreover, Z ₅ is also displayed horizontal in Fig. 4.7 parallel to Z ₂ and Z ₃; however, since Z ₄ turns the link to which Z ₅ is fixed, the one with the robot name painted in the orthographic projection, Z ₅, in general, is not parallel to the two forgoing axes, Furthermore, in the same figure, Z ₆, the axis of symmetry of the end plate, to which the EE is rigidly attached, is shown coincident with Z ₄, but in general, these two axes intersect, together with Z ₅, at the point located in the side view 80 mm from the plane of the end plate and $$(330 + 300 + 75 =)705$$ mm from the plane of the base. The point at which Z ₄, Z ₅ and Z ₆ intersect is the center C of the wrist. To ease the definition of the DH parameters, the robot kinematic chain is displayed in Fig. 4.8 in an arbitrary posture.

Fig. 4.8

The kinematic chain of the FANUC LRMate 200iC robot at an arbitrary posture

With the Z i axes, for i = 1, …, 6, identified, Z ₇ is defined as coinciding with Z ₆ for simplicity, as this axis is not bound by the DH notation. Likewise, X ₁ can be defined arbitrarily, as long as it (a) is horizontal and (b) intersects Z ₁. Finally, X ₇ can also be defined arbitrarily, as long as it intersects Z ₇ at right angles. In the next step, the X i -axes are defined according with the DH notation. Once all 14 axes are defined, the definition of the DH parameters is straightforward: the a i parameters are simple, b i are less so, but their determination is eased once the O i ′ intersections have been identified. These parameters are listed in Table 4.1.

Table 4.1

The DH parameters of the FANUC LRMate 200iC robot

i

a i (mm)

b i (mm)

α i (∘)

1

75

330

-90

2

300

0

0

3

75

0

-90

4

0

320

90

5

0

0

90

6

0

80

0

4.3 The Geometric Model of Six-Revolute Manipulators

The kinematics of serial manipulators begins with the study of the geometric relations between joint variables and Cartesian variables. The former were defined in Sect. 4.2 as those determining the posture of a given manipulator, with one such variable per joint; a six-axis manipulator, like the one displayed in Fig. 4.9, thus has six joint variables, θ ₁, θ ₂, …, θ ₆. The Cartesian variables of a manipulator, in turn, are those variables defining the pose of the EE; since six independent variables are needed to define the pose of a rigid body, the manipulator of Fig. 4.9 thus involves six Cartesian variables.

The study outlined above pertains to the geometry of the manipulator, for it involves one single pose of the EE. Besides geometry, the kinematics of manipulators comprises the study of the relations between the time-rates of change of the joint variables, referred to as the joint rates, and the twist of the EE. Additionally, the relations between the second time-derivatives of the joint variables, referred to as the joint accelerations, with the time-rate of change of the twist of the EE also pertain to robot kinematics.

Fig. 4.9

Serial six-axis manipulator

In the balance of this chapter we study the geometry of manipulators, the relations between joint rates, joint accelerations and their Cartesian counterparts, twist and twist-rate, being the subject of Chap. 5. In this regard, we distinguish two problems, commonly referred to as the direct and the inverse displacement problems, or DDP and correspondingly, IDP, for brevity. In the DDP, the six joint variables of a given six-axis manipulator are assumed to be known, the problem consisting in finding the pose of the EE. In the IDP, on the contrary, the pose of the EE is given, while the six joint variables that produce this pose are to be found.

The DDP reduces to matrix and matrix-times-vector multiplications; as we shall show presently, the DDP poses no major problem. The IDP, however, is more challenging, for it involves intensive variable-elimination and nonlinear-equation solving. Indeed, in the most general case, the IDP amounts to eliminating five out of the six unknowns, with the aim of reducing the problem to a single monovariate polynomial of 16th degree or lower. While finding the roots of a polynomial of this degree is no longer an insurmountable task, reducing the underlying system of nonlinear equations to a monovariate polynomial requires intensive computer-algebra work that must be very carefully planned to avoid the introduction of spurious roots and, with this, an increase in the degree of that polynomial. For this reason, we limit this chapter to the study of the geometric IDP of decoupled six-axis manipulators. The IDP of the most general six-revolute serial manipulator is studied in Chap. 9.

In studying the DDP of six-axis manipulators, we need not limit ourselves to a particular architecture. We thus study here the DDP of manipulators such as the one sketched in Fig. 4.9. This manipulator consists of seven rigid bodies, or links, coupled by six revolute joints. Correspondingly, we have seven frames, $$\mathcal{F}_{1}$$, $$\mathcal{F}_{2}$$, …, $$\mathcal{F}_{7}$$, the ith frame fixed to the (i − 1)st link, $$\mathcal{F}_{1}$$ being termed the base frame, because it is fixed to the base of the manipulator. Manipulators with joints of the prismatic type are simpler to study and can be treated using correspondingly simpler procedures.

A line $$\mathcal{L}_{i}$$ is associated with the axis of the $$i$$ th revolute joint, and a positive direction along this line is defined arbitrarily through a unit vector $$\mathbf{e}_{i}$$. For a prismatic pair, a line $$\mathcal{L}_{i}$$ can be also defined, as a line having the direction of the pair but whose location is undefined; the analyst, then, has the freedom to locate this axis conveniently. Thus, a rotation of the ith link with respect to the (i − 1)st link or correspondingly, of $$\mathcal{F}_{i+1}$$ with respect to $$\mathcal{F}_{i}$$, is totally defined by the geometry of the ith link, i.e., by the DH parameters a i , b i , and α i , plus e i and its associated joint variable θ i . Then, the DH parameters and the joint variables define uniquely the posture of the manipulator. In particular, the relative position and orientation of $$\mathcal{F}_{i+1}$$ with respect to $$\mathcal{F}_{i}$$ is given by matrix Q i and vector a i , respectively, which were defined in Sect. 4.2 and are displayed below for quick reference:

(4.7)

Thus, Q i and a i denote, respectively, the matrix rotating $$\mathcal{F}_{i}$$ into an orientation coincident with that of $$\mathcal{F}_{i+1}$$ and the vector joining the origin of $$\mathcal{F}_{i}$$ with that of $$\mathcal{F}_{i+1}$$, directed from the former to the latter. Moreover, Q i and a i , as given in Eq. (4.7), are represented in $$\mathcal{F}_{i}$$ coordinates. The equations leading to the geometric model under study are known as the displacement equations. It is noteworthy that the problem under study is equivalent to the input–output analysis problem of a seven-revolute linkage with one degree of freedom and one single kinematic loop (Duffy 1980). Because of this equivalence with a closed kinematic chain, sometimes the displacement equations are also termed closure equations. These equations relate the orientation of the EE, as produced by the joint coordinates, with the prescribed orientation Q and the position vector p of the operation point P of the EE. That is, the orientation Q of the EE is obtained as a result of the six individual rotations $$\{\,\mathbf{Q}_{i}\,\}_{1}^{6}$$ about each revolute axis through an angle θ i , in a sequential order, from 1 to 6. If, for example, the foregoing relations are expressed in $$\mathcal{F}_{1}$$, then

(4.8a)

(4.8b)

Notice that the above equations require that all vectors and matrices involved be expressed in the same coordinate frame. However, we derived in Sect. 4.2 general expressions for $$\mathbf{Q}_{i}$$ and a i in $$\mathcal{F}_{i}$$, Eqs. (4.1e) and (4.3b), respectively. It is hence convenient to represent the foregoing relations in each individual frame, which can be readily done by means of similarity transformations. Indeed, if we apply the transformations (4.5a and b) to each of $$[\,\mathbf{a}_{i}\,]_{1}$$ and [ Q i  ]₁, respectively, we obtain a i or, correspondingly, Q i in $$\mathcal{F}_{i}$$. Therefore, Eq. (4.8a) becomes

Now for compactness, let us represent [ Q ]₁ simply by Q and let us recall the abbreviated notation introduced in Eq. (4.1d), where [ Q i  ] i is denoted simply by Q i , thereby obtaining

(4.9a)

Likewise, Eq. (4.8b) becomes

(4.9b)

in which both sides are given in base-frame coordinates. Equations (4.9a and b) above can be cast in a more compact form if homogeneous transformations, as defined in Sect. 2.​5, are now introduced. Thus, if we let $$\mathbf{T}_{i} \equiv \{\,\mathbf{T}_{i}\,\}_{i}$$ be the 4 × 4 matrix transforming $$\mathcal{F}_{i+1}$$-coordinates into $$\mathcal{F}_{i}$$-coordinates, the foregoing equations can be written in 4 × 4 matrix form, namely,

(4.10)

with T denoting the transformation of coordinates from the end-effector frame to the base frame. Thus, T contains the pose of the end-effector.

In order to ease the discussion ahead, we introduce now a few definitions. A scalar, vector, or matrix expression is said to be multilinear in a set of vectors { v i }₁ N if each of those vectors appears only linearly in the same expression. This does not prevent products of components of those vectors from occurring, as long as each product contains only one component of the same vector. Alternatively, we can say that the expression of interest is multilinear in the aforementioned set of vectors if and only if the partial derivative of that expression with respect to vector v i is independent of v i , for i = 1, …, N. For example, every matrix Q i and every vector a i , defined in Eqs. (4.1e) and (4.3b), respectively, is linear in vector x i , where x i is defined as

(4.11)

Moreover, the product $$\mathbf{Q}_{1}\mathbf{Q}_{2}\mathbf{Q}_{3}\mathbf{Q}_{4}\mathbf{Q}_{5}\mathbf{Q}_{6}$$ appearing in Eq. (4.9a) is hexalinear, or simply, multilinear, in vectors $$\{\,\mathbf{x}_{i}\,\}_{1}^{6}$$. Likewise, the sum appearing in Eq. (4.9b) is multilinear in the same set of vectors. By the same token, a scalar, vector, or matrix expression is said to be multiquadratic in the same set of vectors if those vectors appear at most quadratically in the said expression. That is, the expression of interest may contain products of the components of all those vectors, as long as those products contain, in turn, a maximum of two components of the same vector, including the same component squared. Qualifiers like multicubic, multiquartic, etc., bear similar meanings.

Further, we partition matrix Q i rowwise and columnwise, namely,

(4.12)

It is noteworthy that the third row o i T of Q i is independent of θ i , a fact that will be found useful in the forthcoming derivations. Furthermore, note that according to the DH notation, the unit vector e i in the direction of the ith joint axis in Fig. 4.9 has $$\mathcal{F}_{i}$$-components given by

(4.13)

Henceforth, e is used to represent a three-dimensional array with its last component equal to unity, its other components vanishing. Thus, we have

(4.14a)

or

(4.14b)

That is, if we regard e in the first of the foregoing relations as $$[\,\mathbf{e}_{i+1}\,]_{i+1}$$, and as $$[\,\mathbf{e}_{i}\,]_{i}$$ in the second relation, then, from the coordinate transformations of Eqs. (4.4a and b),

(4.15)

4.4 The Inverse Displacement Analysis of Decoupled Manipulators

Industrial manipulators are frequently supplied with a special architecture that allows a decoupling of the positioning problem from the orientation problem. In fact, a determinant design criterion in this regard has been that the manipulator lend itself to a closed-form inverse displacement solution. Although the class of manipulators with this feature is quite broad, we will focus on a special kind, the most frequently encountered in commercial manipulators, that we have termed decoupled. Decoupled manipulators were defined in Sect. 4.2 as those whose last three joints have intersecting axes. These joints, then, constitute the wrist of the manipulator, which is said to be spherical, because when the point of intersection of the three wrist axes, C, is kept fixed, all the points of the wrist move on spheres centered at C. In terms of the DH parameters of the manipulator, in a decoupled manipulator $$a_{4} = a_{5} = b_{5} = 0$$, and thus, the origins of frames 5 and 6 are coincident. All other DH parameters can assume arbitrary values. A general decoupled manipulator is shown in Fig. 4.10, where the wrist is represented as a concatenation of three revolutes with intersecting axes.

Fig. 4.10

A general 6R manipulator with decoupled architecture

In the two subsections below, a procedure is derived for determining all the inverse displacement solutions of decoupled manipulators. In view of the decoupled architecture of these manipulators, we conduct their displacement analysis by decoupling the positioning problem from the orientation problem.

4.4.1 The Positioning Problem

We solve first the positioning problem. Let C denote the intersection of axes 4, 5, and 6, i.e., the center of the spherical wrist, and let c denote the position vector of this point. Apparently, the position of C is independent of joint angles θ ₄, θ ₅, and θ ₆; hence, only the first three joints are to be considered for this analysis. The arm structure depicted in Fig. 4.11 will then be analyzed. From that figure,

(4.16)

where the two sides are expressed in $$\mathcal{F}_{1}$$-coordinates. This equation can be readily rewritten in the form

or if we recall Eq. (4.3d),

However, since we are dealing with a decoupled manipulator, we have, from Fig. 4.10,

which has been rewritten as the product of constant b ₄ times the unit vector e defined in Eq. (4.13).

Thus, the product $$\mathbf{Q}_{3}\mathbf{Q}_{4}\mathbf{b}_{4}$$ reduces to

with u i defined in Eq. (4.14b). Hence, Eq. (4.16) leads to

(4.17)

Further, an expression for c can be derived in terms of p, the position vector of the operation point of the EE, and Q, namely,

(4.18a)

Now, since $$a_{5} = b_{5} = 0$$, we have that a ₅ = 0, Eq. (4.18a) thus yielding

(4.18b)

Moreover, the base coordinates of P and C, and hence, the $$\mathcal{F}_{1}$$-components of their position vectors p and c, are defined as

so that Eq. (4.18b) can be expanded in the form

(4.18c)

where q ij is the (i, j) entry of [Q]₁, and the positioning problem now becomes one of finding the first three joint angles necessary to position point C at a point of base coordinates x C , y C , and z C . We thus have three unknowns, but we also have three equations at our disposal, namely, the three scalar equations of Eq. (4.17), and we should be able to solve the problem at hand.

Fig. 4.11

Three-axis, serial, positioning manipulator

In solving the foregoing system of equations, we first note that (a) the left-hand side of Eq. (4.17) appears multiplied by Q ₂; and (b) θ ₂ does not appear in the right-hand side. This implies that (a) if the Euclidean norms of the two sides of that equation are equated, the resulting equation will not contain θ ₂; and (b) the third scalar equation of the same equation is independent of θ ₂, by virtue of the structure of the Q i matrices displayed in Eq. (4.1e). Thus, we have two equations free of θ ₂, which allows us to calculate the two remaining unknowns θ ₁ and θ ₃.

Let the Euclidean norm of the left-hand side of Eq. (4.17) be denoted by l, that of its right-hand side by r. We then have

from which it is apparent that l ² is linear in x ₃ and r ² is linear in x ₁, for x i defined in Eq. (4.11). Upon equating l ² with r ², then, an equation linear in x ₁ and x ₃—not bilinear in these vectors—is readily derived, namely,

(4.19a)

whose coefficients do not contain any unknown, i.e.,

(4.19b)

(4.19c)

(4.19d)

(4.19e)

(4.19f)

Moreover, the third scalar equation of Eq. (4.17) takes the form

(4.20a)

whose coefficients, again, do not contain any unknown, as shown below:

(4.20b)

(4.20c)

(4.20d)

(4.20e)

(4.20f)

Thus, we have derived two nonlinear equations in θ ₁ and θ ₃ that are linear in c ₁, s ₁, c ₃, and s ₃. Each of these equations thus defines a contour in the θ ₁–θ ₃ plane, their intersections determining all real solutions to the problem at hand.

Now, two well-known trigonometric identities are introduced, namely,

(4.21)

Henceforth, the foregoing identities will be referred to as the tan-half-angle identities. We will be resorting to them throughout the book. Note that if c i and s i are substituted for their equivalents in terms of tan(θ i ∕2), for i = 1, 3, then two biquadratic polynomial equations in tan(θ ₁∕2) and tan(θ ₃∕2) are derived. Thus, one can eliminate one of these variables from the foregoing equations, thereby reducing the two equations to a single quartic polynomial equation in the other variable. The quartic equation thus resulting is called the characteristic equation of the problem at hand. Alternatively, the two above equations, Eqs. (4.19a) and (4.20a), can be solved for, say, c ₁ and s ₁ in terms of the data and c ₃ and s ₃, namely,

(4.22a)

(4.22b)

with $$\Delta _{1}$$ defined as

(4.22c)

Note that in trajectory planning, to be studied in Chap. 6, $$\Delta _{1}$$ can be computed off-line, i.e., prior to setting the manipulator into operation, for it is a function solely of the manipulator parameters and the Cartesian coordinates of a point lying on the path to be tracked. Moreover, the above calculations are possible as long as $$\Delta _{1}$$ does not vanish. Now, $$\Delta _{1}$$ vanishes if and only if any of the factors a ₁, μ ₁, and $$x_{C}^{2} + y_{C}^{2}$$ does. The first two conditions are architecture-dependent, whereas the third is position-dependent. The former occur frequently in industrial manipulators, although not both at the same time. If both parameters a ₁ and μ ₁ vanished, then the arm would be useless to position arbitrarily a point in space. The third condition, i.e., the vanishing of x C ² + y C ², means that point C lies on the Z ₁ axis. Now, even if neither a ₁ nor μ ₁ vanishes, the manipulator can be postured in a configuration at which point C lies on the Z ₁ axis. Such a configuration is termed the first singularity. Note, however, that with point C being located on the Z ₁ axis, any motion of the first joint, with the two other joints locked, does not change the location of C. For the moment, it will be assumed that $$\Delta _{1}$$ does not vanish, the particular cases under which it does being studied presently. Next, both sides of Eqs. (4.22a and b) are squared, the squares thus obtained are then added, and the sum is equated to 1, which leads to a quadratic equation in $$\mathbf{x}_{3}$$, namely,

(4.23)

whose coefficients, after simplification, are given below:

(4.24a)

(4.24b)

(4.24c)

(4.24d)

(4.24e)

(4.24f)

with ρ ² defined as

Upon substitution of the tan-half identities introduced in Eq. (4.21) into Eq. (4.23), a quartic equation in τ ₃ is obtained, i.e.,

(4.25)

whose coefficients are all computable from the data. After some simplifications, these coefficients take on the forms

(4.26a)

(4.26b)

(4.26c)

(4.26d)

(4.26e)

Furthermore, let $$\{\,(\tau _{3})_{i}\,\}_{1}^{4}$$ be the four roots of Eq. (4.25). Thus, up to four possible values of θ ₃ can be obtained, namely,

(4.27)

Once the four values of θ ₃ are available, each of these is substituted into Eqs. (4.22a and b), which thus produce four different values of θ ₁. For each value of θ ₁ and θ ₃, then, one value of θ ₂ can be computed from the first two scalar equations of Eq. (4.17), which are displayed below:

(4.28a)

(4.28b)

where

(4.28c)

(4.28d)

Thus, if A ₁₁ and A ₁₂ do not vanish simultaneously, angle θ ₂ is readily computed in terms of θ ₁ and θ ₃ from Eqs. (4.28a and b) as

(4.29a)

(4.29b)

where $$\Delta _{2}$$ is defined as

(4.29c)

the case in which $$\Delta _{2} = 0$$, which leads to what is termed here the second singularity, being discussed presently.

Takano (1985) considered the solution of the positioning problem for all possible combinations of prismatic and revolute pairs in the regional structure of a manipulator. A sketch of an intermediate P joint in a kinematic chain is displayed in Fig. 7.​3. Takano found that:

1.

In the case of arms containing either three revolutes, or two revolutes and one prismatic pair, with a general layout in all cases, a quartic equation in cosθ ₃ is obtained;

2.

in the case of one revolute and two prismatic pairs, the positioning problem was reduced to a single quadratic equation, the problem at hand thus admitting two solutions;

3.

finally, for three prismatic pairs, one single linear equation was derived, the problem thus admitting a unique solution.

The Vanishing of $$\Delta _{1}$$

In the above derivations we have assumed that neither μ ₁ nor a ₁ vanishes. However, if either μ ₁ = 0 or a ₁ = 0, then one can readily show that Eq. (4.25) reduces to a quadratic equation, and hence, this case differs essentially from the general one. Note that one of these conditions can occur, and the second occurs indeed frequently, but both together never occur, because their simultaneous occurrence would render the axes of the first two revolutes coincident. The manipulator would thus be short of one joint for the execution of three-dimensional tasks. We thus have two cases:

1.

μ ₁ = 0, a ₁ ≠ 0. In this case,

Under these conditions, Eq. (4.20a) and the tan-half-angle identities given in Eq. (4.21) yield

which thus produces two values of τ ₃, namely,

(4.30a)

Once two values of θ ₃ have been determined according to the above equation, θ ₁ can be found using Eq. (4.19a) and the tan-half-angle identities, thereby deriving

where

whose roots are

(4.30b)

Thus, two values of θ ₁ are found for each of the two values of θ ₃, which results in four positioning solutions. Values of θ ₂ are obtained using Eqs. (4.29a and b).

2.

a ₁ = 0, μ ₁ ≠ 0. In this case, one has an architecture similar to that of the robot of Fig. 4.3. We have now

Under the present conditions, Eq. (4.19a) reduces to

which produces two values of τ ₃, namely,

(4.31a)

With the two values of θ ₃ obtained, θ ₁ can be found using Eq. (4.20a) and the tan-half-angle identities to produce

where

whose roots are

(4.31b)

Once again, the solution results in a cascade of two quadratic equations, one for θ ₃ and one for θ ₁, which yields four positioning solutions. As above, θ ₂ is then determined using Eqs. (4.29a and b). Note that for the special case of the manipulator of Fig. 4.3, we have

and hence,

In this case, the foregoing solutions reduce to

A robot with the architecture studied here is the Puma, which is displayed in Fig. 4.12 in its four distinct postures for the same location of its wrist center. Notice that the orientation of the EE is kept constant in all four postures.

Fig. 4.12

The four arm configurations for the positioning problem of the Puma robot: (a, b) elbow down; (a, c) shoulder fore; (c, d) elbow up; (b, d) shoulder aft

The Vanishing of $$\Delta _{2}$$

In some instances, $$\Delta _{2}$$, as defined in Eq. (4.29c), may vanish at a certain posture, thereby preventing the calculation of θ ₂ from Eqs. (4.29a and b). This posture, termed the second singularity, occurs if both coefficients A ₁₁ and A ₁₂ of Eqs. (4.28a and b) vanish. Note that from their definitions, Eqs. (4.28c and d), these coefficients are not only position- but also architecture-dependent. Thus, an arbitrary manipulator cannot take on this configuration unless its geometric dimensions allow it. This type of singularity will be termed architecture-dependent, to distinguish it from others that are common to all robots, regardless of their particular architectures.

We can now give a geometric interpretation of the singularity at hand: First, note that the right-hand side of Eq. (4.17), from which Eqs. (4.28a and b) were derived, is identical to $$\mathbf{Q}_{1}^{T}(\mathbf{c} -\mathbf{a}_{1})$$, which means that this expression is nothing but the $$\mathcal{F}_{2}$$-representation of the position vector of C. That is, the components of vector $$\mathbf{Q}_{1}^{T}(\mathbf{c} -\mathbf{a}_{1})$$ are the $$\mathcal{F}_{2}$$-components of vector $$\overrightarrow{O_{2}C}$$. Therefore, the right-hand sides of Eqs. (4.28a and b) are, respectively, the X ₂- and Y ₂-components of vector $$\overrightarrow{O_{2}C}$$. Consequently, if $$A_{11} = A_{12} = 0$$, then the two foregoing components vanish and, hence, point C lies on the Z ₂ axis. The first singularity thus occurs when point C lies on the axis of the first revolute, while the second occurs when the same point lies on the axis of the second revolute.

Many industrial manipulators are designed with an orthogonal architecture, which means that the angles between neighbor axes are multiples of 90∘. Moreover, with the purpose of maximizing their workspace, orthogonal manipulators are designed with their second and third links of equal lengths, thereby rendering them vulnerable to this type of singularity. An architecture common to many manipulators such as the Cincinnati–Milacron, ABB, Fanuc, and others, comprises a planar two-axis layout with equal link lengths, which is capable of turning about an axis orthogonal to these two axes. This layout allows for the architecture singularity under discussion, as shown in Fig. 4.13a. The well-known Puma robot is similar to the foregoing manipulators, except that it is supplied with what is called a shoulder offset b ₃, as illustrated in Fig. 4.3. This offset, however, does not prevent the Puma from attaining the same singularity, as depicted in Fig. 4.13b. Notice that in the presence of this singularity, angle θ ₂ is undetermined, but θ ₁ and θ ₃ are determined in the case of the Puma robot. However, in the presence of the singularity of Fig. 4.13a, neither θ ₁ nor θ ₂ are determined; only θ ₃ of the arm structure is determined.

Fig. 4.13

Architecture-dependent singularities of (a) the Cincinnati–Milacron and (b) the Puma robots

Fig. 4.14

An orthogonal decoupled manipulator

Example 4.4.1.

A manipulator with a common orthogonal architecture is displayed in Fig. 4.14 in an arbitrary configuration. The arm architecture of this manipulator has the DH parameters shown below:

Find its inverse kinematics solutions.

Solution: A common feature of this architecture is that it comprises a ₂ = b ₄. In the present discussion, however, the latter feature need not be included, and hence, the result that follows applies even in its absence. In this case, coefficients C, D, and E take on the forms

Hence,

and so

The radical of Eq. (4.31b) reduces to x C ² + y C ². Thus,

(4.32a)

Now we recall the relation between tan(θ ₁∕2) and tanθ ₁, namely,

(4.32b)

Upon comparison of Eqs. (4.32a) and (4.32b), it is apparent that

a result that can be derived geometrically for this simple arm architecture. Given that the $$\arctan (\cdot )$$ function is double-valued, its two values differing in 180∘, we obtain here, again, two values for θ ₁. On the other hand, θ ₃ is calculated from Eq. (4.31a) as

thereby obtaining two values of θ ₃. As a consequence, the inverse positioning problem of this arm architecture admits four solutions as well. These solutions give rise to two pairs of arm postures that are usually referred to as elbow-up and elbow-down.

Fig. 4.15

An orthogonal RRR manipulator

Example 4.4.2.

Find all real inverse displacement solutions of the manipulator shown in Fig. 4.15, when point C of its end-effector has the base coordinates C(0, 2a, −a).

Solution: The Denavit–Hartenberg parameters of this manipulator are derived from Fig. 4.16, where the coordinate frames involved are indicated. In defining the coordinate frames of that figure, the Denavit–Hartenberg notation was followed, with Z ₄ defined, arbitrarily, as parallel to Z ₃. From Fig. 4.16, then, we have

Fig. 4.16

The coordinate frames of the orthogonal RRR manipulator

One inverse displacement solution can be readily inferred from the geometry of Fig. 4.16. For illustration purposes, and in order to find all other inverse kinematic solutions, we will use the procedure derived above. To this end, we first proceed to calculate the coefficients of the quartic polynomial equation, Eq. (4.25), which are given, nevertheless, in terms of coefficients K, …, Q of Eqs. (4.24a–f). These coefficients are given, in turn, in terms of coefficients A, …, J of Eqs. (4.19b–f) and (4.20b–f). We then proceed to calculate all the necessary coefficients in the proper order:

Moreover,

The set of coefficients sought thus reduces to

which leads to a quartic equation, namely,

with four real roots:

These roots yield the θ ₃ values that follow:

The quartic polynomial thus admits one double root, which means that at the configurations resulting from this root, two solutions meet, thereby producing a singularity, an issue that is discussed in Sect. 5.​4. Below, we calculate the remaining angles for each solution: Angle θ ₁ is computed from relations (4.22a–c), where $$\Delta _{1} = -8{a}^{3}$$.

The first two roots, $$(\theta _{3})_{1} = (\theta _{3})_{2} = 9{0}^{\circ }$$, yield c ₃ = 0 and s ₃ = 1. Hence, Eqs. (4.22a and b) lead to

and hence,

With θ ₁ known, θ ₂ is computed from the first two of Eqs. (4.17), namely,

and hence,

The remaining roots are treated likewise, thereby obtaining

It is noteworthy that the architecture of this manipulator does not allow for the second singularity, associated with $$\Delta _{2} = 0$$.

Fig. 4.17

Manipulator configuration for C(0, a, 0)

Example 4.4.3.

For the same manipulator of Example 4.4.2, find all real inverse displacement solutions when point C of its end-effector has the base coordinates C(0, a, 0), as displayed in Fig. 4.17.

Solution: In this case, one obtains, successively,

Moreover, for this case, the quartic Eq. (4.23) degenerates into a cubic equation, namely,

Fig. 4.18

Contours producing the two real solutions for Example 4.4.3

whose roots are readily found as

where j is the imaginary unit, i.e., $$j \equiv \sqrt{-1}$$. That is, only one real solution is obtained, namely, $$(\theta _{3})_{1} = -46.55{1}^{\circ }$$. However, shown in Fig. 4.17 is a quite symmetric posture of this manipulator at the given position of point C of its end-effector, which does not correspond to the real solution obtained above. In fact, the solution yielding the posture of Fig. 4.17 disappeared because of the use of the quartic polynomial equation in tan(θ ₃∕2). Note that if the two contours derived from Eqs. (4.19a) and (4.20a) are plotted, as in Fig. 4.18, their intersections yield the two real roots, including the one leading to the posture of Fig. 4.17. The explanation of how the fourth root of the quartic equation disappeared is given below: Let us write the quartic polynomial in full, with a “small” leading coefficient ε, namely,

Upon dividing both sides of the foregoing equation by τ ₃ ⁴, we obtain

Apparently, the original equation is satisfied as ε → 0 if and only if τ ₃ → ±∞, i.e, if θ ₃ = 180∘. The missing root is, hence, (θ ₃)₄ = π. The remaining angles are readily calculated as

4.4.2 The Orientation Problem

Now the orientation inverse displacement problem is first formulated, then solved. This problem consists in determining the wrist angles that will produce a prescribed orientation of the end-effector. The orientation, in turn, is given in terms of the rotation matrix Q taking the end-effector from its home attitude to its current one. Alternatively, the orientation can be given by the natural invariants of the rotation matrix, vector e and angle ϕ. In any event, all nine components of matrix Q are known in $$\mathcal{F}_{1}$$. It is convenient to assume a columnwise partitioning of [ Q ]₁ similar to that of Q i ($$\equiv [\,\mathbf{Q}_{i}\,]_{i}$$) displayed in Eq. (4.12), namely,

(4.33)

Without loss of generality it can be assumed that Z ₇ is defined parallel to Z ₆—as the chain is open, the analyst is free to define Z ₇ at will. From Definition 2.2.1, then $$[u]1 = [e7]1 = [e6]1$$, and e ₆ included in Fig. 4.19. Moreover, since θ ₁, θ ₂, and θ ₃ are available, Q ₁, Q ₂, and Q ₃ become data for this problem. One now has the general layout of Fig. 4.19, where angles { θ i  }₄ ⁶ are to be determined from the problem data, which are in this case the orientation of the end-effector and the architecture of the wrist; the latter is defined by angles α ₄ and α ₅, neither of which can be either 0 or π.

Fig. 4.19

General architecture of a spherical wrist

Now, since the orientation of the end-effector is given, the components of [ e ₆ ]₁ are known, but they will be needed in frame 4. A coordinate transformation from frame 1 to frame 4 can be readily implemented by resorting to the transformation given in Eq. (4.6a):

(4.34)

Let the components of [ e ₆ ]₄, all of them known, be defined as

(4.35)

Moreover, based on the first of Eqs. (4.15), the components of vector e ₅ in $$\mathcal{F}_{4}$$ are nothing but the entries of the third column of matrix Q ₄, i.e.,

(4.36)

Furthermore, vectors e ₅ and e ₆ make an angle α ₅, and hence,

(4.37)

Upon substitution of Eqs. (4.35) and (4.36) into Eq. (4.37), we obtain

(4.38)

which can be readily transformed, with the aid of the tan-half-angle identities, into a quadratic equation in $$\tau _{4} \equiv \tan (\theta _{4}/2)$$, namely,

(4.39)

its two roots being given by

(4.40)

Note that the two foregoing roots are real as long as the radical is positive, the two roots merging into a single one when the radical vanishes. Thus, a negative radical means an attitude of the EE that is not feasible with the wrist. It is noteworthy that a three-revolute spherical wrist is kinematically equivalent to a spherical joint. However, the spherical wrist differs essentially from a spherical joint in that the latter has, kinematically, an unlimited workspace—a physical spherical joint, of course, has a limited workspace by virtue of its mechanical construction—and can orient a rigid body arbitrarily. Therefore, the workspace $$\mathcal{W}$$ of the wrist is not unlimited, but rather defined by the set of values of ξ, η, and ζ that satisfy the two relations shown below:

(4.41a)

(4.41b)

In view of condition (4.41a), however, relation (4.41b) simplifies to an inequality in ζ alone, namely,

(4.42)

As a consequence,

1.

$$\mathcal{W}$$ is a region of the unit sphere $$\mathcal{S}$$ centered at the origin of the three-dimensional space;

2.

$$\mathcal{W}$$ is bounded by the two parallels given by the roots of F(ζ) = 0 on the sphere;

3.

the wrist attains its singular configurations along the two foregoing parallels.

In order to gain more insight on the shape of the workspace $$\mathcal{W}$$, let us look at the boundary defined by F(ζ) = 0. Upon setting F(ζ) to zero, we obtain a quadratic equation in ζ, whose two roots can be readily found to be

(4.43)

which thus defines two planes, Π ₁ and Π ₂, parallel to the ξ–η plane of the three-dimensional space, intersecting the ζ-axis at ζ ₁ and ζ ₂, respectively. Thus, the workspace $$\mathcal{W}$$ of the spherical wrist at hand is that region of the surface of the unit sphere $$\mathcal{S}$$ contained between the two parallels defined by Π ₁ and Π ₂. For example, a common wrist design involves an orthogonal architecture, i.e., $$\alpha _{4} =\alpha _{5} = 9{0}^{\circ }$$. For such wrists,

and hence, orthogonal wrists become singular when [ e ₆ ]₄ = [ 0, 0, ±1 ] T , i.e., when the fourth and the sixth axes are aligned. Thus, the workspace of orthogonal spherical wrists is the whole surface of the unit sphere centered at the origin, the singularity curve thus degenerating into two points, namely, the two intersections of this sphere with the ζ-axis. If one views ζ = 0 as the equatorial plane, then the two singularity points of the workspace are the poles.

An alternative design is the so-called three-roll wrist of some Cincinnati-Milacron robots, with $$\alpha _{4} =\alpha _{5} = 12{0}^{\circ }$$, thereby leading to $$\lambda _{4} =\lambda _{5} = -1/2$$ and $$\mu _{4} =\mu _{5} = \sqrt{3}/2$$. For this wrist, the two planes Π ₁ and Π ₂ are found below: First, we note that with the foregoing architecture,

and hence, the workspace of this wrist is the part of the surface of the unit sphere $$\mathcal{S}$$ that lies between the planes Π ₁ and Π ₂ parallel to the ξ-η plane, intersecting the ζ-axis at ζ ₁ = 1 and $$\zeta _{2} = -1/2$$, respectively. Hence, if ζ = 0 is regarded as the equatorial plane, then the points of the sphere $$\mathcal{S}$$ that are outside of the workspace of this wrist are those lying at a latitude smaller than − 30∘. The singularity points are thus the north pole and those lying on the parallel of latitude − 30∘.

Once θ ₄ is calculated from the two foregoing values of τ ₄, if these are real, angle θ ₅ is obtained uniquely for each value of θ ₄, as explained below: First, Eq. (4.9a) is rewritten in a form in which the data are collected in the right-hand side, which produces

(4.44a)

with R defined as

(4.44b)

Moreover, let the entries of R in the fourth coordinate frame be given as

Expressions for θ ₅ and θ ₆ can be readily derived by solving first for Q ₅ from Eq. (4.44a), namely,

(4.45)

Now, by virtue of the form of the Q i matrices, as appearing in Eq. (4.1e), it is apparent that the third row of Q i does not contain θ i . Hence, the third column of the matrix product of Eq. (4.45) is independent of θ ₆. Thus, two equations for θ ₅ are obtained by equating the first two components of the third columns of that equation, thereby obtaining

which thus yield a unique value of θ ₅ for every value of θ ₄. Finally, with θ ₄ and θ ₅ known, it is a simple matter to calculate θ ₆. This is done upon solving for Q ₆ from Eq. (4.44a), i.e.,

and if the partitioning (4.12) of Q i is now recalled, a useful vector equation is derived, namely,

(4.46)

where r ₁ is the first column of R. Let w denote the product $$\mathbf{Q}_{4}^{T}\mathbf{r}_{1}$$, i.e.,

Hence,

in which w i denotes the ith component of w. Hence, c ₆ and s ₆ are determined from the first two scalar equations of Eq. (4.46), namely,

Fig. 4.20

The two configurations of a three-axis spherical wrist

thereby deriving a unique value of θ ₆ for every pair of values (θ ₄, θ ₅). In summary, then, two values of θ ₄ have been determined, each value determining, in turn, one single corresponding set of θ ₅ and θ ₆ values. Therefore, there are two sets of solutions for the orientation problem under study, which lead to two corresponding wrist postures. The two distinct postures of an orthogonal three-revolute spherical wrist for a given orientation of its EE are displayed in Fig. 4.20. When combined with the four postures of a decoupled manipulator leading to one and the same location of its wrist center—positioning problem—a maximum of eight possible combinations of joint angles for a single pose of the end-effector of a decoupled manipulator are found.

Example 4.4.4.

A three-roll wrist is mounted on the orthogonal manipulator of Fig. 4.17, as this finds itself at the posture shown in the same figure, so that the center of the wrist coincides with point C of the orthogonal manipulator. The assembly is depicted in Fig. 4.21, which shows axis Z ₄ parallel to Z ₁. Moreover, the EE is desired to attain the orientation given by matrix Q, defined below in $$\mathcal{F}_{1}$$-coordinates:

Fig. 4.21

The coordinate frames of the orthogonal RRRR manipulator

Find the inverse-displacement solutions of the wrist that corresponds to the fourth solution found in Example 4.4.3 for the first three joint angles. Moreover, these angles can also be found from Fig. 4.21 by inspection. Furthermore, to complete the DH parameters, Z ₇ is defined as passing through C and P, in the directions from the former to the latter, which is assumed to yield an angle α ₆ = 0. The three-roll wrist is illustrated in Fig. 4.21.

Fig. 4.22

A representation of the kinematic chain of the Cincinnati–Milacron three-roll wrist

Solution: As the reader can readily verify, the arm inverse-displacement solution displayed in Fig. 4.21 is

Further, given the wrist architecture,

and, in light of the value of α ₆ given above,

Now we need e ₅ and e ₆ in $$\mathcal{F}_{4}$$; we have $$[\,\mathbf{e}_{5}\,]_{4}$$ displayed in Eq. (4.36), and hence, $$[\,\mathbf{e}_{5}]_{4} = {[\,\sqrt{3}s\theta _{4},\,-\sqrt{3}c\theta _{4},\,-1\,]}^{T}/2$$. Moreover, [ e ₆ ]₁ is simply the third column of Q, namely, $$[\,\mathbf{e}_{6}\,]_{1} = {[\,2/3,\,-2/3,\,-1/3\,]}^{T}$$. In order to bring the components of e ₆ into $$\mathcal{F}_{4}$$, a coordinate transformation is needed. This transformation is implemented by means of the transpose of the rotation matrix $$\mathbf{Q}_{123} \equiv \mathbf{Q}_{1}\mathbf{Q}_{2}\mathbf{Q}_{3}$$ that carries $$\mathcal{F}_{1}$$ into $$\mathcal{F}_{4}$$. This matrix is most simply found from Definition 2.2.1 as applied to the foregoing frames, and upon inspection of Fig. 4.21. Therefore,

Hence,

which thus leads to the equation for θ ₄:

Upon application of the tan-half identities to the above equation, a quadratic equation in $$\tau _{4} =\tan (\theta _{4}/2)$$ is derived, namely,

whose two roots lead to the two values of θ ₄ given below:

Further, matrix R of Eq. (4.44b) is obtained as

Upon substitution of the above expression into Eq. (4.45), expressions for c ₅ and s ₅ are obtained in terms of θ ₄:

and

If now each of the two values obtained above for θ ₄ is substituted in the above equation, the corresponding values for θ ₅ are obtained as

Finally, the product $$\mathbf{Q}_{5}^{T}\mathbf{Q}_{4}^{T}\mathbf{R}$$ is computed, then equated to Q ₆. The (1, 1) and (2, 1) entries of the foregoing product yield cosθ ₆ and sinθ ₆, respectively, as per Eq. (4.46). Two values are thus obtained for θ ₆, one for each pair of (θ ₄, θ ₅) values:

thereby completing the inverse-displacement solutions for the given orientation problem.

4.5 Exercises

4.1

Shown in Fig. 10.​3 is the kinematic chain of one of the six-dof legs of a flight simulator, whose architecture is defined by the HD parameters of Table 10.​1. In the flight simulator, $$\mathcal{M}$$ is the moving platform, to which an aircraft cockpit is rigidly attached. The six-dof motion of $$\mathcal{M}$$ is controlled by means of the six hydraulic cylinders identical to that indicated in Fig. 10.​3 as a prismatic joint. Find all inverse displacement solutions of this manipulator, relating the pose of $$\mathcal{M}$$ with all the joint variables.

4.2

Modify the solution procedure of Sect. 4.4 to obtain all the postures of a PRR manipulator that give the same EE pose, and show that this problem leads to a quartic polynomial equation.

4.3

Repeat Exercise 4.2 as pertaining to a PRP manipulator.

4.4

The manipulator appearing in Fig. 4.23 is of the orthogonal type, with a decoupled, spherical wrist, and a regional structure consisting of two parallel axes and one axis perpendicular to these two. Find all inverse kinematics solutions for arbitrary poses of the EE of this manipulator.

Fig. 4.23

A six-revolute robot holding a heavy tool

4.5

Similar to the manipulator of Fig. 4.23, that of Fig. 4.24 is of the orthogonal, decoupled type, except that the latter has a prismatic pair. For an arbitrary pose of its EE, find all inverse displacement solutions of this manipulator.

Fig. 4.24

ABB-IRB 1000 robotic manipulator

Fig. 4.25

Geometric information taken from the data sheet of an industrial robot: (a) the top view; (b) an isometric view; (c) front view; and (d) side view

Fig. 4.26

Motoman-EA1400N welding robot: (a) top view; (b) orthographic projection; (c) side view; (d) view A, as per sideview; (e) view B, as per side view. All dimensions in mm

4.6

Derive expressions for the angle of rotation and the unit vector parallel to the axis of rotation of matrices Q i , as introduced in Sect. 4.2.

4.7

An orthogonal spherical wrist has the architecture shown in Fig. 4.20, with the DH parameters

A frame $$\mathcal{F}_{7}$$ is attached to its EE so that Z ₇ coincides with Z ₆. Find the (Cartesian) orientation that can be attained with two inverse displacement solutions $$\boldsymbol{\theta }_{I}$$ and $$\boldsymbol{\theta }_{II}$$, defining the two distinct postures, that lie the farthest apart. Note that a distance between two manipulator postures can be defined as the radical of the quadratic equation yielding the two inverse kinematic solutions of the wrist, whenever the radical is positive. Those postures giving the same EE orientation and lying farthest from each other are thus at the other end of the spectrum from singularities, where the two postures merge into a single one. Hence, the postures lying farthest from each other are singularity-robust.

4.8

Given an arbitrary three-revolute manipulator, as shown in Fig. 4.11, its singular postures are characterized by the existence of a line passing through its operation point about which the moments of its three axes vanish—see Exercise 3.3. Note that this condition can be readily applied to manipulators with a simple architecture, whereby two successive axes intersect at right angles and two others are parallel. However, more complex architectures, like that of the manipulator of Fig. 4.15, are more elusive in this regard. Find the line passing through the operation point and intersecting the three axes of the manipulator of Fig. 4.15 at a singularity. Hint: A singular posture of this manipulator was found in Example 4.4.2.

4.9

For the Fanuc Arc Mate 120iB robot displayed in Fig. 4.25, with the dimensions in mm included therein,

(a)

Find its Denavit–Hartenberg parameters, using the Z i axes suggested in Fig. 4.25b.

(b)

Apparently, the robot under study is of the decoupled type. Find all its inverse-displacement solutions for an arbitrary pose of its end-effector, assuming that the operation point is located at a point of $$\mathcal{F}_{7}$$ coordinates [ 0. 0, 100. 0, 100. 0 ] T  mm.

4.10

Shown in Fig. 4.26 is the data sheet of the Motoman-EA1400N welding robot. Under the assumption that the operation point of the robot is located along the axis of the 6th joint, on the flange indicated in View A, produce a table with the Denavit–Hartenberg parameters of the robot. N.B.: all lengths are indicated in mm. It is strongly recommended to sketch the robot at an arbitrary posture in order to ease the definition of the DH coordinate frames. Is this robot decoupled?

References

Angeles, J., 1982, Spatial Kinematic Chains. Analysis, Synthesis, Optimization, Springer-Verlag, Berlin.CrossRefMATH

Denavit, J. and Hartenberg, R.S., 1955, “A kinematic notation for lower-pair mechanisms based on matrices”, ASME J. Applied Mechanics 22, pp. 215–221.MathSciNetMATH

Duffy, J., 1980, Analysis of Mechanisms and Robot Manipulators, Edward Arnold, London.

Hartenberg, R.S. and Denavit, J., 1964. Kinematic Synthesis of Linkages, McGraw-Hill Book Company, New York.MATH

Khalil, W. and Dombre, E., 2002, Modeling, Identification & Control of Robots, Hermes Penton Ltd., London.MATH

Khan, W. A. and Angeles, J., 2011, “A novel paradigm for the qualitative synthesis of simple kinematic chains based on complexity measures”, ASME J. of Mechanisms and Robotics, Vol. 3, No. 3, pp. 031010-1–031010-11.

Takano, M., 1985, “A new effective solution for inverse kinematics problem (synthesis) of a robot with any type of configuration”, Journal of the Faculty of Engineering, The University of Tokyo 38, no. 2, pp. 107–135.

© Springer International Publishing Switzerland 2014

Jorge AngelesFundamentals of Robotic Mechanical SystemsMechanical Engineering Series12410.1007/978-3-319-01851-5_5

5. Kinetostatics of Serial Robots

Jorge Angeles1 

(1)

Department of Mechanical Engineering Centre for Intelligent Machines (CIM), McGill University, Montreal, QC, Canada

Electronic supplementary material

The online version of this article (doi: 10.​1007/​978-3-319-01851-5_​5) contains supplementary material, which is available to authorized users.

5.1 Introduction

Kinetostatics is understood here as the study of the interplay between the feasible twists of and the constraint wrenches acting on the various rigid bodies of a mechanical system, when the system moves under static, conservative conditions. The feasible twists of the various rigid bodies, or links, are those allowed by the constraints imposed by the robot joints. The constraint wrenches are, in turn, the reaction forces and moments exerted on a link by the links to which that link is coupled by means of joints. The subject of this chapter is the kinetostatics of serial robots, with focus on six-axis manipulators. By virtue of the duality between the kinematic and the static relations in the mechanics of rigid bodies, as outlined in Sect. 3.​7, the derivation of the kinematic relations is discussed in detail, the static relations following from the former.

We derive first the relation between the twist of the robot EE and the set of joint rates, which is given by a linear transformation induced by the robot Jacobian matrix. Once the foregoing relation is established for a general six-joint robot, the relation between the static wrench exerted by the environment on the EE and the balancing joint torques is derived by duality. Special robotic architectures are given due attention. Decoupled and planar architectures are treated as special cases of six-joint robots. The fundamental problem of singularities arising from a singular robot Jacobian in decoupled manipulators is given due attention as well. Two types of singularities are discussed here for the regional structure of decoupled robots. As a follow-up to the singularity analysis of this structure, its three-dimensional workspace is derived. An algorithm is proposed for the display of this workspace as pertaining to general regional structures whose inverse displacement analysis leads to a quartic polynomial.

The chapter closes with a section on kinetostatic performance indices. The purpose of these indices is twofold: They are needed in robot design to help the designer best dimension the links of the robot in the early stages of the design process, prior to the elastostatic and the elastodynamic design stages. These indices are also needed in the control of a given robot to ensure an acceptable kinetostatic performance under feedback control. One third, pragmatic application of these indices is the comparison of various candidate robots when a robotic facility is being planned.

Elastostatic design pertains to the structural design of a robot to ensure that the links and the joint mechanical transmissions will be able to withstand the static loads that arise when the robot is in operation. This aspect of design is usually conducted under the assumption that all structural elements operate within the linearly elastic range, and is valid at a specific robot posture. Elastodynamic design considers the inertial load of the structural elements while accounting for link flexibility, which gives rise to mechanical vibration. The main concern here is avoiding resonance under linear dynamical conditions or limit cycles under nonlinear conditions. Both elastostatics and elastodynamics lie beyond the scope of the book, and hence, will not be considered here.

5.2 Velocity Analysis of Serial Manipulators

The relationships between the prescribed twist of the EE, also referred to as the Cartesian velocity of the manipulator, and the corresponding joint-rates are derived in this section. First, a serial n-axis manipulator containing only revolute pairs is considered. Then, relations associated with prismatic pairs are introduced, and finally, the joint rates of six-axis manipulators are calculated in terms of the EE twist. Particular attention is given to decoupled manipulators, for which simplified velocity relations are derived.

Fig. 5.1

General n-axis manipulator

We consider here the manipulator of Fig. 5.1, in which a joint coordinate θ i , a joint rate $$\dot{\theta }_{i}$$, and a unit vector $$\mathbf{e}_{i}$$ are associated with each revolute axis. The $$X_{i},\,Y _{i},\,Z_{i}$$ coordinate frame, attached to the (i − 1)st link, is not shown, but its origin O i is indicated. If the angular-velocity vector of the ith link is denoted by $$\boldsymbol{\omega }_{i}$$, then we have, from Fig. 5.1,

(5.1)

and if the angular velocity of the EE is denoted by $$\boldsymbol{\omega }$$, then

Likewise, from Fig. 5.1, one readily derives

(5.2)

where p denotes the position vector of point P of the EE. Moreover, notice that all vectors of the above equation must be expressed in the same frame; otherwise, the addition would not be possible—vector $$\mathbf{a}_{i}$$ was defined as expressed in the ith frame in Eq. (4.3c). Upon differentiating both sides of Eq. (5.2), we have

(5.3)

Since vector $$\mathbf{a}_{i}$$ is fixed to the ith link,

(5.4)

Furthermore, substitution of Eqs. (5.1) and (5.4) into Eq. (5.3) yields

(5.5)

which can be readily rearranged as

Now vector $$\mathbf{r}_{i}$$ is defined as that joining O i with P, directed from the former to the latter, as depicted in Fig. 5.1, i.e.,

(5.6)

and hence, $$\dot{\mathbf{p}}$$ can be rewritten as

Further, let A and B denote the 3 × n matrices defined as

(5.7a)

(5.7b)

the n-dimensional joint-rate vector $$\dot{\boldsymbol{\theta }}$$ being defined, in turn, as

Thus, $$\boldsymbol{\omega }$$ and $$\dot{\mathbf{p}}$$ can be expressed in a more compact form as

the twist of the EE being defined, in turn, as

(5.8)

The EE twist is thus linearly related to the joint-rate vector $$\dot{\boldsymbol{\theta }}$$, i.e.,

(5.9)

where J is the Jacobian matrix, or Jacobian, for brevity, of the manipulator under study, first introduced by Whitney (1972). The Jacobian is defined as the 6 × n matrix shown below:

(5.10a)

or

(5.10b)

Apparently, an alternative definition of the foregoing Jacobian matrix can be given as

Moreover, if $$\mathbf{j}_{i}$$ denotes the ith column of J, one has

It is noteworthy that if the axis of the ith revolute is denoted by $$\mathcal{R}_{i}$$, then $$\mathbf{j}_{i}$$ is nothing but the Plücker array of that line, with the moment of $$\mathcal{R}_{i}$$ being taken with respect to the operation point P of the EE.

On the other hand, if the ith pair is prismatic, then the (i − 1)st and the ith links have the same angular velocity, for a prismatic pair does not allow any relative rotation. However, vector $$\mathbf{a}_{i}$$ joining the origins of the ith and (i + 1)st frames is no longer of constant magnitude, but undergoes a change of magnitude along the axis of the prismatic pair. This can be appreciated by looking at Fig. 4.​6, with b i playing the role of joint variable. Hence,

One can readily prove, in this case, that

from which it is apparent that the relation between the twist of the EE and the joint-rate vector is formally identical to that appearing in Eq. (5.9) if vector $$\dot{\boldsymbol{\theta }}$$ is now defined as

the ith column of J then changing to

(5.11)

Note that the Plücker array of the axis of the ith joint, if prismatic, is that of a line at infinity lying in a plane normal to the unit vector $$\mathbf{e}_{i}$$, as defined in Eq. (3.​33).

If, in general, $$\mathbf{J}_{A}$$ denotes the Jacobian defined for a point A of the EE and $$\mathbf{J}_{B}$$ that defined for another point B, then the relation between $$\mathbf{J}_{A}$$ and $$\mathbf{J}_{B}$$ is

(5.12a)

where the 6 × 6 matrix U is defined as

(5.12b)

while A and B are now the cross-product matrices of the position vectors a and b of points A and B, respectively. Moreover, this matrix U is identical to the matrix defined under the same name in Eq. (3.29b), and hence, it belongs to the 6 × 6 unimodular group, i.e., the group of 6 × 6 matrices whose determinant is unity. Thus,

(5.13)

We have then proven the result below:

Theorem 5.2.1.

The determinant of the Jacobian matrix of a six-axis manipulator is not affected under a change of operation point of the EE.

Note, however, that the Jacobian matrix itself changes under a change of operation point. By analogy with the twist- and the wrench-transfer formulas, Eq. (5.12a) can be called the Jacobian-transfer formula.

In particular, for six-axis manipulators, J is a 6 × 6 matrix. Whenever this matrix is nonsingular, Eq. (5.9) can be solved for $$\dot{\boldsymbol{\theta }}$$, namely,

(5.14)

Equation (5.14) is only symbolic, for the inverse of the Jacobian matrix need not be computed explicitly. Indeed, in the general case, matrix J cannot be inverted symbolically, and hence, $$\dot{\boldsymbol{\theta }}$$ is computed using a numerical procedure, the most suitable one being the Gauss-elimination algorithm, also known as LU decomposition (Golub and Van Loan 1989). Gaussian elimination produces the solution by recognizing that a system of linear equations is most easily solved when it is in either upper- or lower-triangular form. To exploit this fact, matrix J is decomposed into the unique L and U factors in the form:

(5.15a)

where L is lower- and U is upper-triangular. Moreover, they have the forms

(5.15b)

(5.15c)

where in the particular case at hand, n = 6. Thus, the unknown vector of joint rates can now be computed from two triangular systems, namely,

(5.16)

The above equations are then solved, first for y and then for $$\dot{\boldsymbol{\theta }}$$, by application of only forward and backward substitutions, respectively. The LU decomposition of a n × n matrix requires $$M_{n}^{{\prime}}$$ multiplications and $$A_{n}^{{\prime}}$$ additions, whereas the forward substitution needed in solving the lower-triangular system of Eq. (5.16) requires $$M_{n}^{{\prime\prime}}$$ multiplications and $$A_{n}^{{\prime\prime}}$$ additions. Moreover, the backward substitution needed in solving the upper-triangular system of Eq. (5.16) requires $$M_{n}^{{\prime\prime\prime}}$$ multiplications and $$A_{n}^{{\prime\prime\prime}}$$ additions. These figures are (Dahlquist and Björck 1974)

(5.17a)

(5.17b)

(5.17c)

Thus, the solution of a system of n linear equations in n unknowns, using the LU-decomposition method, can be accomplished with M n multiplications and A n additions, as given below (Dahlquist and Björck 1974):

(5.18a)

Hence, the velocity resolution of a six-axis manipulator of arbitrary architecture requires M ₆ multiplications and A ₆ additions, i.e.,

(5.18b)

5.2.1 Decoupled Manipulators

Decoupled manipulators allow an even simpler velocity resolution. For manipulators with this type of architecture, it is more convenient to deal with the velocity of the center C of the wrist than with that of the operation point P. Thus, one has

where $$\mathbf{t}_{C}$$ is defined as

and can be obtained from $$\mathbf{t}_{P} \equiv {{[\boldsymbol{\omega }}^{T},\,{\dot{\mathbf{p}}}^{T}]}^{T}$$ using the twist-transfer formula given by Eqs. (3.83a) and (3.83b) as

with C and P defined as the cross-product matrices of the position vectors c and p, respectively.

Since C is on the last three joint axes, its velocity is not affected by the motion of the last three joints, and hence, we can write

where, in the case of a decoupled manipulator, vector $$\mathbf{r}_{i}$$ is defined as that directed from O i to C. On the other hand, we have

and thus, the Jacobian takes on the following simple form

(5.19)

where O denotes the $$3 \times 3$$ zero matrix, the other 3 × 3 blocks being given below, for manipulators with revolute pairs only, as

(5.20a)

(5.20b)

(5.20c)

Further, vector $$\dot{\boldsymbol{\theta }}$$ is partitioned accordingly:

where

Henceforth, the three components of $$\dot{\boldsymbol{\theta }}_{a}$$ will be referred to as the arm rates, whereas those of $$\dot{\boldsymbol{\theta }}_{w}$$ will be called the wrist rates. Now Eqs. (5.9) can be written, for this particular case, as

(5.21a)

(5.21b)

from which the solution is derived successively from the two systems of three equations and three unknowns that follow:

(5.22a)

(5.22b)

From the general expressions (5.17), then, it is apparent that each of the foregoing systems can be solved with the numbers of operations shown below:

Since the computation of the right-hand side of Eq. (5.22b) requires, additionally, nine multiplications and nine additions, the total numbers of operations required to perform one joint-rate resolution of a decoupled manipulator, M v multiplications and A v additions, are given by

(5.23)

which are fairly low figures and can be performed in a matter of microseconds using a modern processor.

It is apparent from the foregoing kinematic relations that Eq. (5.22a) should be first solved for $$\dot{\boldsymbol{\theta }}_{a}$$; with this value available, Eq. (5.22b) can then be solved for $$\dot{\boldsymbol{\theta }}_{w}$$. We thus have, symbolically,

(5.24)

(5.25)

Now, if we recall the concept of reciprocal bases introduced in Sect. 2.​7.​1, the above inverses can be represented explicitly. Indeed, let

(5.26)

(5.27)

Then,

(5.28)

(5.29)

Therefore,

(5.30a)

and, if we let¹

(5.30b)

then

(5.30c)

5.3 Jacobian Evaluation

The evaluation of the Jacobian matrix of a manipulator with n revolutes is discussed in this subsection, the presence of a prismatic pair leading to simplifications that will be outlined. Our aim here is to devise algorithms requiring a minimum number of operations, for these calculations are needed either in real-time or in off-line applications when these require Jacobian evaluations at massive numbers of poses, of the order of millions.² We assume at the outset that all joint variables producing the desired EE pose are available. We divide this section into two subsections, one for the evaluation of the upper part of the Jacobian matrix and one for the evaluation of its lower part.

5.3.1 Evaluation of Submatrix A

The upper part A of the Jacobian matrix is composed of the set $$\{\,\mathbf{e}_{i}\,\}_{1}^{n}$$, our aim here being the calculation of these unit vectors. Note, moreover, that vector $$[\,\mathbf{e}_{i}\,]_{1}$$ is nothing but the last column of $$\mathbf{P}_{i-1} \equiv \mathbf{Q}_{1}\cdots \mathbf{Q}_{i-1}$$, our task then being the calculation of these matrix products. According to the DH notation,

Hence, $$[\,\mathbf{e}_{1}\,]_{1}$$ is available at no cost. However, each of the remaining $$[\,\mathbf{e}_{i}\,]_{1}$$ vectors, for $$i = 2,\ldots,n$$, is obtained as the last column of matrices $$\mathbf{P}_{i-1}$$. The recursive calculation of these matrices is described below:

and hence, a simple algorithm follows:

Now, since $$\mathbf{P}_{1}$$ is identical to $$\mathbf{Q}_{1}$$, the first product appearing in the do-loop, $$\mathbf{P}_{1}\mathbf{Q}_{2}$$, is identical to $$\mathbf{Q}_{1}\mathbf{Q}_{2}$$, whose two factors have a special structure. The computation of this product, then, requires special treatment, which warrants further discussion because of its particular features. From the structure of matrices $$\mathbf{Q}_{i}$$, as displayed in Eq. (4.1e), we have

The foregoing product is calculated now by first computing the products $$\lambda _{1}\lambda _{2}$$, $$\lambda _{1}\mu _{2}$$, $$\mu _{1}\mu _{2}$$, and $$\lambda _{2}\mu _{1}$$, which involve only constant quantities, these terms thus being posture-independent. Thus, in tracking a prescribed Cartesian trajectory, the manipulator posture changes continuously, and hence, its joint variables also change. However, its DH parameters, those defining its architecture, remain constant. Therefore, the four above products remain constant as well and are computed prior to tracking a trajectory, i.e., off-line. In computing these products, we store them as

Next, we perform the on-line computations. First, let³

and hence,

As the reader can verify, the foregoing calculations consume 20 multiplications and ten additions. Now, we proceed to compute the remaining products in the foregoing do-loop.

Here, notice that the product $$\mathbf{P}_{i-1}\mathbf{Q}_{i}$$, for 3 ≤ i ≤ n, can be computed recursively, as described below: Let $$\mathbf{P}_{i-1}$$ and $$\mathbf{P}_{i}$$ be given as

Now matrix $$\mathbf{P}_{i}$$ is computed by first defining

(5.31a)

and

(5.31b)

Computing u i , v i , and w i requires six multiplications and three additions, whereas each of the $$p_{ij}^{{\prime}}$$ entries requires two multiplications and one addition. Hence, the computation of each $$\mathbf{P}_{i}$$ matrix requires 24 multiplications and 12 additions, the total number of operations required to compute the n − 2 products $$\{\,\mathbf{P}_{i}\,\}_{2}^{n-1}$$ thus being $$24(n - 2) + 20 = 24n - 28$$ multiplications and $$12(n - 2) + 10 = 12n - 14$$ additions, for n ≥ 2. Moreover, P ₁, i.e., Q ₁, requires four multiplications and no additions, the total number of multiplications M A and additions A A required to compute matrix A thus being

(5.32)

Before concluding this subsection, a remark is in order: The reader may realize that $$\mathbf{P}_{n}$$ is nothing but Q, and hence, the same reader may wonder whether we could not save some operations in the foregoing computations by stopping the above recursive algorithm at n − 1, rather than at n. This is not a good idea, for the above equality holds if and only if the manipulator is capable of tracking perfectly a given trajectory. However, reality is quite different, and errors are always present when tracking. As a matter of fact, the mismatch between P n and Q is very useful in estimating orientation errors, which are then used in a feedback-control scheme to synthesize the corrective signals that are intended to correct those errors.

5.3.2 Evaluation of Submatrix B

The computation of submatrix B of the Jacobian is studied here. This submatrix comprises the set of vectors $$\{\,\mathbf{e}_{i} \times \mathbf{r}_{i}\,\}_{1}^{n}$$. We thus proceed first to the computation of vectors r i , for i = 1, …, n, which is most efficiently done using a recursive scheme, similar to that of Horner for polynomial evaluation (Henrici 1964), namely,

In the foregoing algorithm, a simple scheme is introduced to perform the product $$\mathbf{Q}_{i}[\,\mathbf{r}_{i+1}\,]_{i+1}$$ economically: if we let $$[\,\mathbf{r}_{i+1}\,]_{i+1} = {[\,r_{1},\,r_{2},\,r_{3}\,]}^{T}$$, then

(5.33a)

where

(5.33b)

Therefore, the product of matrix $$\mathbf{Q}_{i}$$ by an arbitrary vector consumes eight multiplications and four additions.

Furthermore, each vector $$[\,\mathbf{a}_{i}\,]_{i}$$, for $$i = 1,\ldots,n$$, requires two multiplications and no additions, as made apparent from their definitions in Eq. (4.3b). Moreover, from the foregoing evaluation of $$\mathbf{Q}_{i}[\,\mathbf{r}_{i+1}\,]_{i+1}$$, it is apparent that each vector r i , in frame $$\mathcal{F}_{i}$$, is computed with ten multiplications and seven additions—two more multiplications are needed to calculate each vector $$[\,\mathbf{a}_{i}\,]_{i}$$ and three more additions are required to add the latter to vector $$\mathbf{Q}_{i}[\,\mathbf{r}_{i+1}\,]_{i+1}$$—the whole set of vectors $$\{\,\mathbf{r}_{i}\,\}_{1}^{n}$$ thus being computed, in $$\mathcal{F}_{i}$$-coordinates, with $$10(n - 1) + 2 = 10n - 8$$ multiplications and 7(n − 1) additions, where one coordinate transformation, that of $$\mathbf{r}_{1}$$, is not counted, since this vector is computed directly in $$\mathcal{F}_{1}$$.

Now we turn to the transformation of the components of all the foregoing vectors into $$\mathcal{F}_{1}$$-coordinates. First, note that we can proceed now in two ways: in the first, we transform the individual vectors e i and $$\mathbf{r}_{i}$$ from $$\mathcal{F}_{i}$$- into $$\mathcal{F}_{1}$$-coordinates and then compute their cross product; in the second, we first perform the cross products and then transform each of these products into $$\mathcal{F}_{1}$$-coordinates. It is apparent that the second approach is more efficient, which is why we choose it here.

In order to calculate the products $$\mathbf{e}_{i} \times \mathbf{r}_{i}$$ in $$\mathcal{F}_{i}$$-coordinates, we let $$[\,\mathbf{r}_{i}\,]_{i} = {[\,\rho _{1},\,\rho _{2},\,\rho _{3}\,]}^{T}$$. Moreover, $$[\,\mathbf{e}_{i}\,]_{i} = {[\,0,\,0,\,1\,]}^{T}$$, and hence,

which is thus obtained at no cost. Now, the transformation from $$\mathcal{F}_{i}$$- into $$\mathcal{F}_{1}$$-coordinates is simply

(5.34)

In particular, $$[\,\mathbf{e}_{1} \times \mathbf{r}_{1}\,]_{1}$$ needs no transformation, for its two factors are given in $$\mathcal{F}_{1}$$-coordinates. The $$\mathcal{F}_{1}$$-components of the remaining cross products are computed using the general transformation of Eq. (5.34). In the case at hand, this transformation requires, for each i, six multiplications and three additions, for this transformation involves the product of a full 3 × 3 matrix, P i−1, by a three-dimensional vector, $$\mathbf{e}_{i} \times \mathbf{r}_{i}$$, whose third component vanishes. Thus, the computation of matrix B requires M B multiplications and A B additions, as given below:

(5.35)

In total, then, the evaluation of the complete Jacobian requires M J multiplications and A J additions, namely,

(5.36)

In particular, for a six-revolute manipulator, these figures are 202 multiplications and 108 additions.

Now, if the manipulator contains some prismatic pairs, the foregoing figures diminish correspondingly. Indeed, if the ith joint is prismatic, then the ith column of the Jacobian matrix changes as indicated in Eq. (5.11). Hence, one cross-product calculation is spared, along with the associated coordinate transformation. As a matter of fact, as we saw above, the cross product is computed at no cost in local coordinates, and so each prismatic pair of the manipulator reduces the foregoing numbers of operations by only one coordinate transformation, i.e., by ten multiplications and seven additions.

5.4 Singularity Analysis of Decoupled Manipulators

In performing the computation of the joint rates for a decoupled manipulator, it was assumed that neither $$\mathbf{J}_{12}$$ nor $$\mathbf{J}_{21}$$ is singular. If the latter is singular, then none of the joint rates can be evaluated, even if the former is nonsingular. However, if $$\mathbf{J}_{21}$$ is nonsingular, then Eq. (5.21a) can be solved for the arm rates even if $$\mathbf{J}_{12}$$ is singular. Each of these sub-Jacobians is analyzed for singularities below.

We will start analyzing $$\mathbf{J}_{21}$$, whose singularity determines whether any joint-rate resolution is possible at all. First, we note from Eq. (5.20c) that the columns of $$\mathbf{J}_{21}$$ are the three vectors $$\mathbf{e}_{1} \times \mathbf{r}_{1}$$, $$\mathbf{e}_{2} \times \mathbf{r}_{2}$$, and $$\mathbf{e}_{3} \times \mathbf{r}_{3}$$. Hence, $$\mathbf{J}_{21}$$ becomes singular if either these three vectors become coplanar or at least one of them vanishes. Furthermore, neither the relative layout of these three vectors nor their magnitudes change if the manipulator undergoes a motion about the first revolute axis while keeping the second and the third revolute axes locked. This means that θ ₁ does not affect the singularity of the manipulator, a result that can also be derived from invariance arguments—see Sect. 2.​6—and by noticing that singularity is, indeed, an invariant property. Hence, whether a configuration is singular or not is independent of the viewpoint of the observer, a change in θ ₁ being nothing but a change of viewpoint. The same argument holds for b ₁ in cases where the first joint is prismatic.

The singularity of a three-revolute arm for positioning tasks was analyzed by Burdick (1995), upon recognizing that (a) given three arbitrary lines in space, the three revolute axes in our case, it is always possible to find a set of lines that intersects all three, and (b) the moments of the three lines about any point on the intersecting line are all zero. As a matter of fact, the locus of those lines is a quadric ruled surface, namely, a one-sheet hyperboloid—see Exercise 3.3. Therefore, if the endpoint of the third moving link lies in this quadric, the manipulator is in a singular posture, and velocities of C along the intersecting line cannot be produced. This means that the manipulator has lost, to a first order, one degree of freedom. Here we emphasize that this loss is meaningful only at a first order because, in fact, a motion along that intersecting line may still be possible, provided that the full nonlinear relations of Eq. (4.​16) are considered. If such a motion is at all possible, however, then it is so only in one direction, as we shall see in Case 2 below. Motions in the opposite direction are not feasible because of the rigidity of the links.

We will illustrate the foregoing concepts as pertaining to the most common types of industrial manipulators, i.e., those of the orthogonal type. In these cases, two consecutive axes either intersect at right angles or are parallel; most of the time, the first two axes intersect at right angles and the last two are parallel. Below we study each of these cases separately.

Case 1:

Two consecutive axes intersect and C lies in their plane. Here, the ruled hyperboloid containing the lines that intersect all three axes degenerates into a plane, namely, that of the two intersecting axes. For conciseness, let us assume that the first two axes intersect, but the derivations are the same if the intersecting axes are the last two. Moreover, let O ₁₂ be the intersection of the first two axes, $$\Pi _{12}$$ being the plane of these axes and $$\mathbf{n}_{12}$$ its normal. If we recall the notation adopted in Sect. 5.2, we have now that the vector directed from O ₁₂ to C can be regarded as both $$\mathbf{r}_{1}$$ and $$\mathbf{r}_{2}$$. Furthermore, $$\mathbf{e}_{1} \times \mathbf{r}_{1}$$ and $$\mathbf{e}_{2} \times \mathbf{r}_{2}$$ ($$= \mathbf{e}_{2} \times \mathbf{r}_{1}$$ ) are both parallel to n ₁₂. Hence, the first two axes can only produce velocities of C in the direction of $$\mathbf{n}_{12}$$. As a consequence, velocities of C in $$\Pi _{12}$$ and perpendicular to $$\mathbf{e}_{3} \times \mathbf{r}_{3}$$ cannot be produced in the presence of this singularity. The set of unfeasible velocities, then, lies in a line normal to $$\mathbf{n}_{12}$$ and $$\mathbf{e}_{3} \times \mathbf{r}_{3}$$, whose direction is the geometric representation of the null space of $$\mathbf{J}_{21}^{T}$$. Likewise, the manipulator can withstand forces applied at C in the direction of the same line purely by reaction wrenches, i.e., without any motor torques. The last issue falls into the realm of manipulator statics, upon which we will elaborate in Sect. 5.6.

We illustrate this singularity, termed here shoulder singularity, in a manipulator with the architecture of Fig. 4.​3, as postured in Fig. 5.2. In this figure, the line intersecting all three arm axes is not as obvious and needs further explanation. This line is indicated by $$\mathcal{L}$$ in that figure, and is parallel to the second and third axes. It is apparent that this line intersects the first axis at right angles at a point I. Now, if we take into account that all parallel lines intersect at infinity, then it becomes apparent that $$\mathcal{L}$$ intersects the axes of the second and third revolutes as well, and hence, $$\mathcal{L}$$ intersects all three axes.

Fig. 5.2

Shoulder singularity of the Puma robot

Fig. 5.3

Elbow singularity of the Puma robot

Case 2:

Two consecutive axes are parallel and C lies in their plane, as shown in Fig. 5.3. For conciseness, again, we assume that axes 2 and 3 are parallel, a rather common case in industrial manipulators, but the derivations below are the same if the parallel axes are the first two. We now let $$\Pi _{23}$$ be the plane of the last two axes and $$\mathbf{n}_{23}$$ its normal. Furthermore, $$\mathbf{e}_{3} = \mathbf{e}_{2}$$ and $$\mathbf{r}_{2} = \mathbf{r}_{1}$$; moreover, the intersection of $$\overline{O_{2}C}$$ with $$\mathcal{L}_{3}$$ is point I of the same figure, while $$\overline{O_{3}I} = d$$; then, $$\mathbf{r}_{3} = d\mathbf{e}_{3} +\alpha \mathbf{r}_{2}$$ and $$\mathbf{e}_{3} \times \mathbf{r}_{3} =\alpha (\mathbf{e}_{2} \times \mathbf{r}_{2}$$ ), where

in terms of the Denavit–Hartenberg notation, thereby making apparent that the last two columns of $$\mathbf{J}_{21}$$ are linearly dependent. Moreover, $$\mathbf{e}_{2} \times \mathbf{r}_{2}$$ and, consequently, $$\mathbf{e}_{3} \times \mathbf{r}_{3}$$ are parallel to $$\mathbf{n}_{23}$$, the last two axes being capable of producing velocities of C only in the direction of $$\mathbf{n}_{23}$$. Hence, velocities of C in $$\Pi _{23}$$ that are normal to $$\mathbf{e}_{1} \times \mathbf{r}_{1}$$, i.e., along line $$\mathcal{L}$$, cannot be produced in this configuration, and the manipulator loses, again, to a first-order approximation, one degree of freedom. The set of infeasible velocities, then, is parallel to the line $$\mathcal{L}$$ of Fig. 5.3, whose direction is the geometric representation of the null space of $$\mathbf{J}_{21}^{T}$$. The singularity displayed in the foregoing figure, termed here the elbow singularity, pertains also to a manipulator with the architecture of Fig. 4.​3. Notice that motions along $$\mathcal{L}$$ in the posture displayed in Fig. 5.3 are possible, but only in one direction, from C to O ₂.

With regard to the wrist singularities, these were already studied when solving the orientation problem for the inverse displacement analysis of decoupled manipulators. Here, we study the same in light of the sub-Jacobian $$\mathbf{J}_{12}$$ of Eq. (5.20b). This sub-Jacobian obviously vanishes when the wrist is so configured that its three revolute axes are coplanar, which thus leads to

Note that when studying the orientation problem of decoupled manipulators, we found that orthogonal wrists are singular when the sixth and fourth axes are aligned, in full agreement with the foregoing condition. Indeed, if these two axes are aligned, then $$\mathbf{e}_{4} = -\mathbf{e}_{6}$$, and the above equation holds.

5.4.1 Manipulator Workspace

Fig. 5.4

Workspace of a Puma manipulator (a) top view; (b) cross-section; and (c) 3D view

The workspace of spherical wrists for orientation tasks was discussed in Sect. 4.​4.​2. Here we focus on the workspaces of three-axis positioning manipulators in light of their singularities.

In order to gain insight into the problem, we study first the workspace of manipulators with the architecture of Fig. 4.​3. Figures 5.2 and 5.3 show such a manipulator with point C at the limit of its positioning capabilities in one direction, i.e., at the boundary of its workspace. Moreover, with regard to the posture of Fig. 5.2, it is apparent that the first singularity is preserved if (a) point C moves on a line parallel to the first axis and intersecting the second axis; and (b) with the second and third joints locked, the first joint goes through a full turn. Under the second motion, the line of the first motion sweeps a circular cylinder whose axis is the first manipulator axis and with radius equal to b ₃, the shoulder offset. This cylinder constitutes a part of the workspace boundary, the other part consisting of a spherical surface. Indeed, the second singularity is preserved if (a) with point C in the plane of the second and third axes, the second joint makes a full turn, thereby tracing a circle with center on $$\mathcal{L}_{2}$$, the plane of circle lying a distance b ₃ from the first axis, with the circle radius $$r = a_{2} + \sqrt{a_{3 }^{2 } + b_{4 }^{2}}$$; and (b) with point C still in the plane of the second and third joints, the first joint makes a full turn. Under the second motion, the circle generated by the first motion describes a sphere of radius $$R = \sqrt{b_{3 }^{2 } + {r}^{2}}$$ because any point of that circle lies a distance R from the intersection of the first two axes. The point O ₁, that coincides with O ₂, thus becomes the center of the sphere, which is the second part of the workspace, as shown in Fig. 5.4.

The determination of the workspace boundaries of more general manipulators requires, obviously, more general approaches, like that proposed by Ceccarelli (1996). By means of an alternative approach, Ranjbaran et al. (1992) found the workspace boundary with the aid of the general characteristic equation of a three-revolute manipulator. This equation is a quartic polynomial, as displayed in Eq. (4.​25). From the discussion of Sect. 4.​4.​1, it is apparent that at singularities, two distinct roots of the IDP merge into a single one. This happens at points where the plot of the characteristic polynomial of Eq. (4.​25) is tangent to the τ ₃ axis, which occurs in turn at points where the derivative of this polynomial with respect to τ ₃ vanishes. The condition for θ ₃ to correspond to a point C on the boundary of the workspace is, then, that both the characteristic polynomial and its derivative with respect to τ ₃ vanish concurrently. These two polynomials are displayed below:

(5.37a)

(5.37b)

with coefficients R, S, T, U, and V defined in Eqs. (4.26a–e). From these equations and Eqs. (4.19d–f) and (4.20d–f), it is apparent that the foregoing coefficients are solely functions of the manipulator architecture and the Cartesian coordinates of point C. Moreover, from the same equations, it is apparent that the above coefficients are all quadratic in $${\rho }^{2} \equiv x_{C}^{2} + y_{C}^{2}$$ and quartic in z C . Thus, since the Cartesian coordinates x C and y C do not appear in the foregoing coefficients explicitly, the workspace is symmetric about the Z ₁ axis, a result to be expected by virtue of the independence of singularities from angle θ ₁. Hence, the workspace boundary is given by a function $$f{(\rho }^{2},\,z_{C}) = 0$$ that can be derived by eliminating τ ₃ from Eqs. (5.37a and b). This can be readily done by resorting to any elimination procedure, the simplest one being dialytic elimination, as discussed below.

In order to eliminate τ ₃ from the above two equations, we proceed in two steps: In the first step, six additional polynomial equations are derived from Eqs. (5.37a and b) by multiplying the two sides of each of these equations by τ ₃, τ ₃ ², and τ ₃ ³, thereby obtaining a total of eight polynomial equations in τ ₃, namely,

In the second elimination step we write the above eight equations in linear homogeneous form, namely,

(5.38a)

with the 8 × 8 matrix M and the eight-dimensional vector $$\boldsymbol{\tau }_{3}$$ defined as

(5.38b)

It is now apparent that any feasible solution of Eq. (5.38a) must be nontrivial, and hence, M must be singular. The desired boundary equation is then derived from the singularity condition on M, i.e.,

(5.39)

As a matter of fact, function $$f{(\rho }^{2},\,z_{C})$$ of Eq. (5.39), known as the (polynomial) resolvent of Eqs. (5.37a and b), can be computed using computer algebra, upon invoking the procedure to obtain the discriminant of Eq. (5.37a).⁴

Fig. 5.5

The workspace of the manipulator of Figs. 4.15–4.17

We used the foregoing procedure, with the help of computer algebra, to obtain a rendering of the workspace boundary of the manipulator of Figs. 4.​15–4.​17, the workspace thus obtained being displayed in Fig. 5.5. For the record, the resolvent of this manipulator, given in Eq. (5.39), turned out to be a 16th-degree bivariate polynomial in ρ and z C , involving only even powers. That is, the resolvent in question turns out to be a bivariate octic polynomial in ρ ² and z C ². If we let $$\sigma {\equiv \rho }^{2}$$ and $$\zeta \equiv z_{C}^{2}$$, then

5.5 Acceleration Analysis of Serial Manipulators

The subject of this section is the computation of vector $$\ddot{\boldsymbol{\theta }}$$ of second joint-variable derivatives, also called the joint accelerations. This vector is computed from Cartesian position, velocity, and acceleration data. To this end, both sides of Eq. (5.9) are differentiated with respect to time, thus obtaining

(5.40)

and hence,

(5.41)

From Eq. (5.40), it is apparent that the joint-acceleration vector is computed in exactly the same way as the joint-rate vector. In fact, the LU decomposition of J is the same in this case and hence, need not be recomputed. All that is needed is the solution of a lower- and an upper-triangular system, namely,

The two foregoing systems are solved first for z and then for $$\ddot{\boldsymbol{\theta }}$$ by forward and backward substitution, respectively. The first of the foregoing systems is solved with $$M_{n}^{{\prime\prime}}$$ multiplications and $$A_{n}^{{\prime\prime}}$$ additions; the second with $$M_{n}^{{\prime\prime\prime}}$$ multiplications and $$A_{n}^{{\prime\prime\prime}}$$ additions. These figures appear in Eqs. (5.12b and c). Thus, the total numbers of multiplications M t and additions A t that the forward and backward solutions of the aforementioned systems require are

(5.42)

In Eq. (5.40), the right-hand side comprises two terms, the first being the specified time-rate of change of the twist of the EE, or twist-rate, for brevity, which is readily available. The second term is not available and must be computed. This term involves the product of the time-derivative of J times the previously computed joint-rate vector. Hence, in order to evaluate the right-hand side of that equation, all that is further required is $$\dot{\mathbf{J}}$$. From Eq. (5.10a), one has

where, from Eqs. (5.7a and b),

(5.43a)

(5.43b)

and $$\mathbf{u}_{i}$$ denotes $$\mathbf{e}_{i} \times \mathbf{r}_{i}$$, for i = 1, 2, …, n. Moreover,

(5.44a)

(5.44b)

and

(5.44c)

Next, an expression for $$\dot{\mathbf{r}}_{i}$$ is derived by time-differentiating both sides of Eq. (5.6), which produces

Recalling Eq. (5.4), the above equation reduces to

(5.45)

Substitution of Eqs. (5.44) and (5.45) into Eqs. (5.43a and b) leads to

with $$\mathbf{\dot{r}}_{k}$$ and $$\boldsymbol{\omega }_{k,k+1}$$ defined as

(5.46a)

(5.46b)

The foregoing expressions are invariant and hence, valid in any coordinate frame. However, these expressions have to be incorporated into matrix $$\dot{\mathbf{J}}$$; then, the latter is to be multiplied by vector $$\dot{\boldsymbol{\theta }}$$, as indicated in Eq. (5.40). Thus, eventually all columns of both $$\dot{\mathbf{A}}$$ and $$\dot{\mathbf{B}}$$ will have to be represented in the same coordinate frame. Hence, coordinate transformations will have to be introduced in the foregoing matrix columns in order to have all of these represented in the same coordinate frame, say, the first one. We then have the expansion below:

(5.47)

The right-hand side of Eq. (5.47) is computed recursively as described below in five steps, the number of operations required being included at the end of each step.

1.

Compute $$\{\,[\,\boldsymbol{\omega }_{i}\,]_{i}\,\}_{1}^{n}$$:

For i = 1 to n−1 do

enddo8(n − 1) M & 5(n − 1) A

2.

Compute $$\{\,[\,\dot{\mathbf{e}}_{i}\,]_{i}\,\}_{1}^{n}$$:

For i = 2 to n do

enddo0M & 0A

3.

Compute $$\{\,[\,\dot{\mathbf{r}}_{i}\,]_{i}\,\}_{1}^{n}$$:

For $$\mathtt{i = n-1}$$ to 1 do

enddo(14n − 8)M & (10n − 7)A

4.

Compute $$\{\,[\,\dot{\mathbf{u}}_{i}\,]_{i}\,\}_{1}^{n}$$ using the expression appearing in Eq. (5.44c):

$$[\,\dot{\mathbf{u}}_{1}\,]_{1}\; \leftarrow [\,\mathbf{e}_{1} \times \dot{\mathbf{r}}_{1}\,]_{1}$$ For i = 2 to n do

enddo4(n − 1) M & 3(n − 1) A

5.

Compute $$\dot{\mathbf{J}}\dot{\boldsymbol{\theta }}$$:

Let $$\mathbf{v} \equiv \mathbf{\dot{J}}\dot{\boldsymbol{\theta }}$$, which is a six-dimensional vector. A coordinate transformation of its two three-dimensional vector components will be implemented using the 6 × 6 matrices U i , which are defined as

where O stands for the 3 × 3 zero matrix. Thus, the foregoing 6 × 6 matrices are block-diagonal, their diagonal blocks being simply the matrices Q i introduced in Sect. 4.​2. One then has the algorithm below:

For $$\mathtt{i = n-1}$$ to 1 do

enddo

$$\dot{\mathbf{J}}\dot{\boldsymbol{\theta }} \leftarrow [\,\mathbf{v}\,]_{1}$$ $$21(n - 1) + 4\,M$$ & 13(n − 1) A

thereby completing the computation of $$\dot{\mathbf{J}}\dot{\boldsymbol{\theta }}$$.

The figures given above for the floating-point operations involved were obtained based on a few facts, namely,

1.

It is recalled that $$[\,\mathbf{e}_{i}\,]_{i} = {[\,0,\,0,\,1\,]}^{T}$$. Moreover, if we let $$[\,\mathbf{w}\,]_{i} = {[\,w_{x},\,w_{y},\,w_{z}\,]}^{T}$$ be an arbitrary three-dimensional vector, then

this product thus requiring zero multiplications and zero additions.

2.

$$[\,\dot{\mathbf{e}}_{i}\,]_{i}$$, computed as in Eq. (5.44b), takes on the form $${[\,\omega _{y},\,-\omega _{x},\,0\,]}^{T}$$, where ω x and ω y are the X i and Y i components of $$\boldsymbol{\omega }_{i}$$. Moreover, let $$[\,\mathbf{r}_{i}\,]_{i} = {[\,x,\,y,\,z\,]}^{T}$$. Then

and this product is computed with four multiplications and one addition.

3.

As found in Sect. 5.3, any coordinate transformation from $$\mathcal{F}_{i}$$ to $$\mathcal{F}_{i+1}$$, or vice versa, of any three-dimensional vector is computed with eight multiplications and four additions.

Thus, the total numbers of multiplications and additions required to compute $$\dot{\mathbf{J}}\dot{\boldsymbol{\theta }}$$ in frame $$\mathcal{F}_{1}$$, denoted by M J and A J , respectively, are as shown below:

Since the right-hand side of Eq. (5.40) involves the algebraic sum of two six-dimensional vectors, then, the total numbers of multiplications and additions needed to compute the aforementioned right-hand side, denoted by M r and A r , are

These figures yield 245 multiplications and 164 additions for a six-revolute manipulator of arbitrary architecture. Finally, if the latter figures are added to those of Eq. (5.42), one obtains the numbers of multiplications and additions required for an acceleration resolution of a six-revolute manipulator of arbitrary architecture as

Furthermore, for six-axis, decoupled manipulators, the operation counts of steps 1 and 2 above do not change. However, step 3 is reduced by 42 multiplications and 30 additions, whereas step 4 by 12 multiplications and 9 additions. Moreover, step 5 is reduced by 63 multiplications and 39 additions. With regard to the solution of Eq. (5.40) for $$\ddot{\boldsymbol{\theta }}$$, an additional reduction of floating-point operations, or flops, is obtained, for now we need only 18 multiplications and 12 additions to solve two systems of three equations with three unknowns, thereby saving 18 multiplications and 18 additions. Thus, the corresponding figures for such a manipulator, M a ′ and A a ′ , respectively, are

5.6 Static Analysis of Serial Manipulators

In this section, the static analysis of a serial n-axis manipulator is undertaken, six-axis decoupled manipulators being treated as special cases. Let τ i be either the torque acting at the ith revolute or the force acting at the ith prismatic pair. Moreover, let $$\boldsymbol{\tau }$$ be the n-dimensional vector of joint forces and torques, whose ith component is τ i , whereas $$\mathbf{w} = {[\,{\mathbf{n}}^{T},\,{\mathbf{f}}^{T}\,]}^{T}$$ denotes the wrench exerted by the environment on the EE, with n denoting the resultant moment and f the resultant force applied at point P of the end-effector of the manipulator of Fig. 5.1. Then, the power exerted on the manipulator by all forces and moments acting on the EE is

whereas the power $$\Pi _{J}$$ exerted on the manipulator by all joint motors is

(5.48)

Under static, conservative conditions, there is neither power dissipation nor change in the kinetic energy of the manipulator, and hence, the two foregoing powers are equal, which is just a restatement of the First Law of Thermodynamics or, equivalently, a form of the Principle of Virtual Work, i.e.,

(5.49a)

Upon substitution of Eq. (5.9) into Eq. (5.49a), we obtain

(5.49b)

which is a relation valid for arbitrary $$\dot{\boldsymbol{\theta }}$$. Under these conditions, if J is not singular, Eq. (5.49b) leads to

(5.50)

This equation relates the wrench acting on the EE with the joint forces and torques exerted by the actuators. Therefore, this equation finds applications in the sensing of the wrench w acting on the EE by means of torque sensors located at the revolute axes. These sensors measure the motor-supplied torques via the current flowing through the motor armatures, the sensor readouts being the joint torques—or forces, in the case of prismatic joints—$$\{\,\tau _{k}\,\}_{1}^{n}$$, grouped in vector $$\boldsymbol{\tau }$$.

For a six-axis manipulator, in the absence of singularities, the foregoing equation can be readily solved for w in the form

where $${\mathbf{J}}^{-T}$$ stands for the inverse of $${\mathbf{J}}^{T}$$. Thus, using the figures recorded in Eq. (5.18b), w can be computed from Eq. (5.50) with 127 multiplications and 100 additions for a manipulator of arbitrary architecture. However, if the manipulator is of the decoupled type, the Jacobian takes on the form appearing in Eq. (5.19), and hence, the foregoing computation can be performed in two steps, namely,

where n w is the resultant moment acting on the end-effector when f is applied at the center of the wrist, while $$\boldsymbol{\tau }$$ has been partitioned as

with $$\boldsymbol{\tau }_{a}$$ and $$\boldsymbol{\tau }_{w}$$ defined as the wrist and the arm torques, respectively. These two vectors are given, in turn, as

Hence, the foregoing calculations, as pertaining to a six-axis, decoupled manipulator, are performed with 55 multiplications and 37 additions, which follows from a result that was derived in Sect. 5.2 and is summarized in Eq. (5.23).

In solving for the wrench acting on the EE from the above relations, the wrist equilibrium equation is first solved for $$\mathbf{n}_{w}$$, thus obtaining

(5.51)

where $$\mathbf{J}_{12}^{-T}$$ stands for the inverse of $$\mathbf{J}_{12}^{T}$$, and is available in Eq. (5.29). Therefore,

(5.52)

Now, if we let

(5.53)

we have, from Eq. (5.28),

where

or

(5.54)

5.7 Planar Manipulators

Fig. 5.6

Three-axis planar manipulator

Shown in Fig. 5.6 is a three-axis planar manipulator. Note that in this case, the DH parameters b i and α i vanish, for i = 1, 2, 3, the nonvanishing parameters a i being indicated in the same figure. Below we proceed with the displacement, velocity, acceleration, and static analyses of this manipulator. Here, we recall a few relations of planar mechanics that will be found useful in the discussion below.

A 2 × 2 matrix A can be partitioned either columnwise or rowwise, as shown below:

where a, b, c, and d are all two-dimensional column vectors. Furthermore, let E be defined as an orthogonal matrix rotating two-dimensional vectors through an angle of 90∘ counterclockwise. Hence,

(5.55)

We thus have

Fact 5.7.1.

and hence,

Fact 5.7.2.

where 1 is the 2 × 2 identity matrix. Moreover,

Fact 5.7.3.

and

Fact 5.7.4.

5.7.1 Displacement Analysis

The inverse displacement analysis of the manipulator at hand now consists in determining the values of angles θ i , for i = 1, 2, 3, that will place the end-effector so that its operation point P will be positioned at the prescribed Cartesian coordinates x, y and be oriented at a given angle ϕ with the X axis of Fig. 5.6. Note that this manipulator can be considered as decoupled, for the end-effector can be placed at the desired pose by first positioning point O ₃ with the aid of the first two joints and then orienting it with the third joint only. We then solve for the joint angles in two steps, one for positioning and one for orienting.

We now have, from the geometry of Fig. 5.6,

where x and y denote the Cartesian coordinates of point O ₃, while c ₁₂ and s ₁₂ stand for $$\cos (\theta _{1} +\theta _{2})$$ and $$\sin (\theta _{1} +\theta _{2})$$, respectively. We have thus derived two equations for the two unknown angles, from which we can determine these angles in various ways. For example, we can solve the problem using a semigraphical approach similar to that of Sect. 9.​4.

Indeed, from the two foregoing equations we can eliminate both c ₁₂ and s ₁₂ by solving for the second terms of the left-hand sides of those equations, namely,

(5.56a)

(5.56b)

Fig. 5.7

The two real solutions of a planar manipulator

If both sides of the above two equations are now squared, then added, and the ensuing sum is equated to a ₂ ², we obtain, after simplification, a linear equation in c ₁ and s ₁ that represents a line $$\mathcal{L}$$ in the c ₁-s ₁ plane:

(5.57)

Apparently, the two foregoing variables are constrained by a quadratic equation defining a circle $$\mathcal{C}$$ in the same plane:

which has a unit radius and is centered at the origin of the c ₁-s ₁ plane. The real roots of interest are then obtained as the intersections of $$\mathcal{L}$$ and $$\mathcal{C}$$. Thus, the problem can admit (a) two real and distinct roots, if the line and the circle intersect; (b) one repeated root if the line is tangent to the circle; and (c) no real root if the line does not intersect the circle (Fig. 5.7).

Fig. 5.8

The two real values of θ ₁ giving the two postures depicted in Fig. 5.7

With c ₁ and s ₁ known, angle θ ₁ is fully determined. Note that the two real intersections of $$\mathcal{L}$$ with $$\mathcal{C}$$ provide each one value of θ ₁, as depicted in Fig. 5.8.

Once θ ₁ and θ ₂ are available, θ ₃ is readily derived from the geometry of Fig. 5.6, namely,

and hence, each pair of $$(\theta _{1},\,\theta _{2})$$ values yields one single value for θ ₃. Since we have two such pairs, the problem admits two real solutions.

5.7.2 Velocity Analysis

Velocity analysis is most easily accomplished if the general velocity relations derived in Sect. 5.2 are recalled and adapted to planar manipulators. Thus we have, as in Eq. (5.9),

(5.58a)

where now,

(5.58b)

and $$\{\,\mathbf{r}_{i}\,\}_{1}^{3}$$ are defined as in Eq. (5.6), i.e., as the vectors directed from O i to P. As in the previous subsection, we assume here that the manipulator moves in the X–Y plane, and hence, all revolute axes are parallel to the Z axis, vectors $$\mathbf{e}_{i}$$ and $$\mathbf{r}_{i}$$, for i = 1, 2, 3, thus taking on the forms

with t reducing to

(5.58c)

in which $$\dot{x}_{P}$$ and $$\dot{y}_{P}$$ denote the components of the velocity of P. Thus,

and hence, the foregoing cross product can be expressed as

where E was defined in Eq. (5.55) and $$\mathbf{s}_{i}$$ is the two-dimensional projection of $$\mathbf{r}_{i}$$ onto the X–Y plane of motion, i.e., $$\mathbf{s}_{i} \equiv {\left [\begin{array}{cc} x_{i}&y_{i} \end{array} \right ]}^{T}$$. Equation (5.58a) thus reduces to

(5.59)

where 0 is the two-dimensional zero vector and $$\dot{\mathbf{p}}$$ is now reduced to $$\dot{\mathbf{p}} \equiv {[\,\dot{x},\,\dot{y}\,]}^{T}$$. In summary, then, by working only with the three nontrivial equations of Eq. (5.59), we can represent the velocity relation using a 3 × 3 Jacobian in Eq. (5.58a). To this end, we redefine J and t as

(5.60)

The velocity resolution of this manipulator thus reduces to solving for the three joint rates from Eq. (5.58a), with J and t defined as in Eq. (5.60), which thus leads to the system below:

(5.61)

Solving for $$\{\,\dot{\theta }_{i}\,\}_{1}^{3}$$ is readily done by first reducing the system of equations appearing in Eq. (5.58a) to one of two equations in two unknowns by resorting to Gaussian elimination. Indeed, if the first scalar equation of Eq. (5.61) is multiplied by $$\mathbf{E}\mathbf{s}_{1}$$ and the product is subtracted from the two-dimensional vector equation, we obtain

(5.62)

from which a reduced system of two equations in two unknowns is readily obtained, namely,

(5.63)

The system of equations (5.63) can be readily solved if Fact 5.7.4 is recalled, namely,

where $$\Delta $$ is the determinant of the 2 × 2 matrix coefficient of Eq. (5.63), i.e.,

(5.64)

We thus have

(5.65a)

(5.65b)

Further, $$\dot{\theta }_{1}$$ is computed from the first scalar equation of Eq. (5.61), i.e.,

(5.65c)

thereby completing the velocity analysis.

The foregoing calculations are summarized below in algorithmic form, with the corresponding numbers of multiplications and additions indicated at each stage. In those numbers, we have taken into account that a multiplication of E by any two-dimensional vector incurs no computational cost, but rather a simple rearrangement of the entries of this vector, with a reversal of one sign.

1.

$$\mathbf{d}_{21} \leftarrow \mathbf{s}_{2} -\mathbf{s}_{1}$$ 0M + 2A

2.

$$\mathbf{d}_{31} \leftarrow \mathbf{s}_{3} -\mathbf{s}_{1}$$    0M + 2A

3.

$$\Delta \leftarrow \mathbf{d}_{31}^{T}\mathbf{E}\mathbf{d}_{21}$$    2M + 1A

4.

$$\mathbf{u} \leftarrow \dot{\mathbf{p}} -\dot{\phi }\mathbf{E}\mathbf{s}_{1}$$    2M + 2A

5.

$$\mathbf{u} \leftarrow \mathbf{u}/\Delta $$    2M + 0A

6.

$$\dot{\theta }_{2} \leftarrow {\mathbf{u}}^{T}\mathbf{d}_{31}$$    2M + 1A

7.

$$\dot{\theta }_{3} \leftarrow -{\mathbf{u}}^{T}\mathbf{d}_{21}$$    2M + 1A

8.

$$\dot{\theta }_{1} \leftarrow \dot{\phi }-\dot{\theta }_{2} -\dot{\theta }_{3}$$    0M + 2A

The complete calculation of joint rates thus consumes only 10M and 11A, which represents a savings of about 67% of the computations involved if Gaussian elimination is applied without regarding the algebraic structure of the Jacobian J and its kinematic and geometric significance. In fact, the solution of an arbitrary system of three equations in three unknowns requires, from Eq. (5.18a), 28 additions and 23 multiplications. If the cost of calculating the right-hand side is added, namely, 4A and 6M, a total of 32A and 29M is required to solve for the joint rates if straightforward Gaussian elimination is used.

5.7.3 Acceleration Analysis

The calculation of the joint accelerations needed to produce a given twist rate of the EE is readily accomplished by differentiating both sides of Eq. (5.58a), with definitions (5.60), i.e.,

from which we readily derive a system of equations similar to Eq. (5.58a) with $$\ddot{\boldsymbol{\theta }}$$ as unknown, namely,

where

and

Now we can proceed by Gaussian elimination to solve for the joint accelerations in exactly the same manner as in Sect. 5.7.2, thereby obtaining the counterpart of Eq. (5.63), namely,

(5.66a)

with w defined as

(5.66b)

and hence, similar to Eqs. (5.65a–c), one has

(5.67a)

(5.67b)

(5.67c)

Below we summarize the foregoing calculations in algorithmic form, indicating the numbers of operations required at each stage.

1.

$$\dot{\mathbf{s}}_{3} \leftarrow (\dot{\theta }_{1} + \dot{\theta }_{2} + \dot{\theta }_{3})\mathbf{E}\mathbf{a}_{3}$$    2M & 2A

2.

$$\dot{\mathbf{s}}_{2} \leftarrow (\dot{\theta }_{1} + \dot{\theta }_{2})\mathbf{E}\mathbf{a}_{2} + \dot{\mathbf{s}}_{3}$$    2M & 3A

3.

$$\dot{\mathbf{s}}_{1} \leftarrow \dot{\theta }_{1}\mathbf{E}\mathbf{a}_{1} + \dot{\mathbf{s}}_{2}$$    2M & 2A

4.

   8M & 8A

5.

$$\mathbf{w} \leftarrow \mathbf{w}/\Delta $$    2M + 0A

6.

$$\ddot{\theta }_{2} \leftarrow {\mathbf{w}}^{T}\mathbf{d}_{31}$$    2M + 1A

7.

$$\ddot{\theta }_{3} \leftarrow -{\mathbf{w}}^{T}\mathbf{d}_{21}$$    2M + 1A

8.

$$\ddot{\theta }_{1} \leftarrow \ddot{\phi }- (\ddot{\theta }_{2} + \ddot{\theta }_{3})$$    0M + 2A

where d ₂₁, d ₃₁, and $$\Delta $$ are available from velocity calculations. The joint accelerations thus require a total of 20 multiplications and 19 additions. These figures represent substantial savings when compared with the numbers of operations required if plain Gaussian elimination were used, namely, 33 multiplications and 35 additions.

It is noteworthy that in the foregoing algorithm, we have replaced neither the sum $$\dot{\theta }_{1} + \dot{\theta }_{2} + \dot{\theta }_{3}$$ nor $$\dot{\theta }_{1}\mathbf{E}(\mathbf{s}_{1} + \mathbf{s}_{2} + \mathbf{s}_{3})$$ by ω and correspondingly, by $$\dot{\mathbf{p}}$$, because in path tracking, there is no perfect match between joint and Cartesian variables. In fact, joint-rate and joint-acceleration calculations are needed in feedback control schemes to estimate the position, velocity, and acceleration errors by proper corrective actions.

5.7.4 Static Analysis

Here we assume that the environment exerts a planar wrench on the EE of the manipulator appearing in Fig. 5.6. In accordance with the definition of the planar twist in Sect. 5.7.2, Eq. (5.60), the planar wrench is now defined as

(5.68)

where n is the scalar couple acting on the EE and f is the two-dimensional force acting at the operation point P of the EE. If additionally, we denote by $$\boldsymbol{\tau }$$ the three-dimensional vector of joint torques, the planar counterpart of Eq. (5.50) follows, i.e.,

(5.69)

where

Now, in order to solve for the wrench w acting on the end-effector, given the joint torques $$\boldsymbol{\tau }$$ and the posture of the manipulator, we can still apply our compact Gaussian-elimination scheme, as introduced in Sect. 5.7.2. To this end, we subtract the first scalar equation from the second and the third scalar equations of Eq. (5.69), which renders the foregoing system in the form

Thus, the last two equations have been decoupled from the first one, which allows us to solve them separately, i.e., we have reduced the system to one of two equations in two unknowns, namely,

(5.70)

from which we readily obtain

(5.71)

and hence, upon expansion of the above inverse,

(5.72)

where $$\Delta $$ is exactly as defined in Eq. (5.64). Finally, the resultant moment n acting on the end-effector is readily calculated from the first scalar equation of Eq. (5.69), namely, as

thereby completing the static analysis of the manipulator under study. A quick analysis of computational costs shows that the foregoing solution needs 8M and 6A, or a savings of about 70% if straightforward Gaussian elimination is applied.

5.8 Kinetostatic Performance Indices

Chapters 6 and 7 do not depend on this section, which can thus be skipped in an introductory course based on the first half of the book. We have included this section because (a) it is a simple matter to render the section self-contained, while introducing the concept of condition number and its relevance in robotics; (b) kinetostatic performance can be studied with the background of the material included up to this section; and (c) kinetostatic performance is becoming increasingly relevant as a design criterion and as a figure of merit in robot control.

A kinetostatic performance index of a robotic mechanical system is a scalar quantity that measures how well the system behaves with regard to force and motion transmission, the latter being understood in the differential sense, i.e., at the velocity level. Now, a kinetostatic performance index, or kinetostatic index for brevity, may be needed to assess the performance of a robot at the design stage, in which case we need a posture-independent index. In this case, the index becomes a function of the robot architecture only. If, on the other hand, we want to assess the performance of a given robot while performing a task, what we need is a posture-dependent index. This difference is often overlooked in the robotics literature, although it is extremely important. Moreover, while performance indices can be defined for all kinds of robotic mechanical systems, we focus here on those associated with serial manipulators, which are the ones studied most intensively.

Among the various performance indices that have been proposed, one can cite the concept of service angle, first introduced by Vinogradov et al. (1971), and the conditioning of robotic manipulators, as proposed by Yang and Lai (1985). Yoshikawa (1985), in turn, introduced the concept of manipulability, which is defined as the square root of the determinant of the product of the manipulator Jacobian by its transpose. Paul and Stevenson (1983) used the absolute value of the determinant of the Jacobian to assess the kinematic performance of spherical wrists. Note that Yoshikawa’s manipulability is identical to the absolute value of the determinant of the Jacobian, and hence, the latter coincides with Paul and Stevenson’s performance index. It should be pointed out that these indices were defined for control purposes and hence, are posture-dependent. Germane to these concepts is that of dextrous workspace, introduced by Kumar and Waldron (1981), and used for geometric optimization by Vijaykumar et al. (1986). Although the concepts of service angle and manipulability are apparently different, they touch upon a common underlying issue, namely, the kinematic, or alternatively, the static performance of a manipulator from an accuracy viewpoint. For this reason, we refer to these indices generically as kinetostatic.

What is at stake when discussing the manipulability of a robotic manipulator is a measure of the invertibility of the associated Jacobian matrix, since this is required for velocity and force-feedback control. One further performance index is based on the condition number of the Jacobian, which was first used by Salisbury and Craig (1982) to design mechanical fingers. Here, we shall use this concept to define the kinetostatic conditioning index of the manipulator. For the sake of brevity, we devote the discussion below to only two indices, namely, manipulability and conditioning. Prior to discussing these indices, we recall a few facts from linear algebra.

Although the concepts discussed here are equally applicable to square and rectangular matrices, we shall focus on the former. First, we give a geometric interpretation of the mapping induced by a n × n matrix A. Here, we do not assume any particular structure of A, which can thus be totally arbitrary. However, by invoking the polar-decomposition theorem (Strang 1988), we can factor A as

(5.73)

where R is orthogonal, although not necessarily proper, while U and V are both at least positive-semidefinite. Moreover, if A is nonsingular, then U and V are both positive-definite, and R is unique. Apparently,

(5.74)

and hence, $$\mathbf{U}\,(\mathbf{V})$$ can be readily determined as the positive-semidefinite or correspondingly, positive-definite square root of the product $${\mathbf{A}}^{T}\mathbf{A}\,(\mathbf{A}{\mathbf{A}}^{T})$$, which is necessarily positive-semidefinite at least; it is, in fact, positive-definite if A is nonsingular. We recall here that the square root of arbitrary matrices was briefly discussed in Sect. 2.​3.​6. The square root of a positive-semidefinite matrix can be most easily understood if that matrix is assumed to be in diagonal form, which is possible because such a matrix is necessarily symmetric, and every symmetric matrix is diagonalizable. The matrix at hand being positive-semidefinite, its eigenvalues are nonnegative, and hence, their square roots are all real. The positive-semidefinite square root of interest is, then, readily obtained as the diagonal matrix whose nontrivial entries are the nonnegative square roots of the above-mentioned eigenvalues. With U or V determined, R can be found uniquely only if A is nonsingular, in which case U and V are positive-definite. If this is the case, then we have

(5.75a)

It is a simple matter to show that U and V are related by a similarity transformation, namely,

(5.75b)

Now, as a consequence of the above relation between U and V, both matrices share the same set of nonnegative eigenvalues $$\{\sigma _{i}\}_{1}^{n}$$, which are termed the singular values of the given matrix A. Furthermore, if the eigenvectors of U are denoted by $$\{\mathbf{u}_{i}\}_{1}^{n}$$ and those of V by $$\{\mathbf{v}_{i}\}_{1}^{n}$$, then the two sets are related by a similarity transformation as well:

(5.76)

Now, let vector x be mapped by A into z, i.e.,

(5.77a)

Moreover, let

(5.77b)

and hence, we have a concatenation of mappings: U maps x into y, while R maps y into z. Thus, by virtue of the nature of matrices R and U, the latter maps the unit n-dimensional ball into a n-axis ellipsoid whose semiaxis lengths bear the ratios of the eigenvalues of U. Moreover, R maps this ellipsoid into another one with identical semiaxes, except that it is rotated about its center or reflected, depending upon whether R is proper or improper orthogonal. The eigenvalues of U or, for that matter, those of V, are thus nothing but the singular values of A. Yoshikawa (1985) explained the foregoing relations resorting to the singular-value decomposition theorem. We prefer to invoke the polar-decomposition theorem instead, because of the geometric nature of the latter, as opposed to the former, which is of an algebraic nature—it is based on a diagonalization of either U or V, which is really not needed.

We illustrate the two mappings U and R in Fig. 5.9, where we orient the X, Y, and Z axes along the three eigenvectors of U. Therefore, the semiaxes of the ellipsoid are oriented as the eigenvectors of U as well. If A is singular, then the ellipsoid degenerates into one with at least one vanishing semiaxis. On the other hand, if matrix A is isotropic, i.e., if all its singular values are identical, then it maps the unit ball into another ball, either enlarged or shrunken.

Fig. 5.9

Geometric representation of mapping induced by matrix A

For our purposes, we can regard the Jacobian of a serial manipulator as mapping the unit ball in the space of joint rates into a rotated or reflected ellipsoid in the space of Cartesian velocities, or twists. Now, let us assume that the polar decomposition of J is given by R and U, the manipulability μ of the robot under study thus becoming

(5.78a)

Since R is orthogonal, the absolute value of its determinant is unity. Additionally, the determinant of U is nonnegative, and hence,

(5.78b)

which shows that the manipulability is the product of the eigenvalues of U or equivalently, of the singular values of J. Now, the product of those singular values, in the geometric interpretation of the mapping induced by J, is proportional to the volume of the ellipsoid at hand, and hence, μ can be interpreted as a measure of the volume of that ellipsoid. It is apparent that the manipulability defined in Eq. (5.78b) is posture-dependent. For example, if J is singular, at least one of the semiaxes of the ellipsoid vanishes, and so does its volume. Manipulators at singular configurations thus have a manipulability of zero.

Now, if we want to use the concept of manipulability to define a posture-independent kinetostatic index, we have to define this index in a global sense. This can be done in the same way as the magnitude of a vector is defined, namely, as the sum of the squares of its components. In this way, the global manipulability can be defined as the integral of a certain power of the manipulability over the whole workspace of the manipulator, which would amount to defining the index as a norm of the manipulability in a space of functions.⁵ For example, we can use the maximum manipulability attained over the whole workspace, thereby ending up with what would be like a Chebyshev norm ⁶; alternatively, we can use the root-mean square (rms) value of the manipulability, thereby ending up with a measure similar to the Euclidean norm.

The condition number of a square matrix is a measure of the relative roundoff-error amplification of the computed results upon solving a linear system of equations associated with that matrix, with respect to the relative roundoff error of the data (Dahlquist and Björck 1974; Golub and Van Loan 1989). Based on the condition number of the Jacobian, a posture-independent kinetostatic conditioning index of robotic manipulators can be defined as a global measure of the condition number.

The definition of the condition number (Golub and Van Loan 1989) requires that all the entries of the matrix at hand bear the same physical units, which we assume first, in order to introduce the concept. The more frequent case of disparate units will be treated in the sequel. The condition number of a dimensionally homogeneous Jacobian J is defined as

(5.79)

where $$\|\cdot \|$$ stands for a matrix norm (Golub and Van Loan 1989). While any norm can be used in the above definition, the one that is most convenient for our purposes is the Frobenius norm $$\|\cdot \|_{F}$$, defined as⁷

(5.80a)

where we have assumed that J is of n × n. Moreover, from the polar-decomposition theorem and Theorem 2.6.4, one can readily verify that

(5.80b)

Now, since the trace of a matrix is nothing but the sum of the matrix eigenvalues, it is apparent that the Frobenius norm is identical with the rms value of the set of singular values of the given matrix. Likewise,

(5.81)

and hence, computing the Frobenius norm of $${\mathbf{J}}^{-1}$$ requires the inversion not of J itself, but rather that of $${\mathbf{J}}^{T}\mathbf{J}$$, or of $$\mathbf{J}{\mathbf{J}}^{T}$$ for that matter. Furthermore, while J is not frame-invariant under a change of Cartesian-coordinate frame, J J T is. As a consequence, the latter lends itself better to a symbolic inversion than J itself. Hence, the Frobenius condition number κ F is derived as

(5.82)

Furthermore, if the matrix 2-norm is used in definition (5.79), then

(5.83a)

where

(5.83b)

It is noteworthy that both the Frobenius norm and the 2-norm are given in terms of the matrix singular values. As a consequence, these two norms are frame-invariant. The 2-norm condition number κ ₂(J) is thus given by

(5.84)

Now we can state a fundamental result:

Theorem 5.8.1.

The condition number based on either the 2-norm or the Frobenius norm of the robot Jacobian is invariant to changes of frame. In this light, the said condition numbers are immutable under a change of b ₁ , which amounts to a translation of frame $$\mathcal{F}_{1}$$ , or of θ ₁ , which amounts to looking at the robot from a frame rotated by this angle about Z ₁ . Moreover, angle α n not depending on the robot architecture, but on the location of the task frame, neither influences the same condition numbers.

Note that, regardless of the norm adopted, the condition number can attain values from unity to infinity. Apparently, the condition number attains its minimum value of unity for matrices with identical singular values; such matrices map the unit ball into another ball, although of a different size, and are, thus, called isotropic. By extension, isotropic manipulators are those whose Jacobian matrix can attain isotropic values. On the other side of the spectrum, singular matrices have a smallest singular value that vanishes, and hence, their condition number is infinite. The condition number of J can be thought of as indicating the distortion of the unit ball in the space of joint-variables. The larger this distortion, the greater the condition number, the worst-conditioned Jacobians being those that are singular. For these, one of the semiaxes of the ellipsoid vanishes and the ellipsoid degenerates into what would amount to an elliptical disk in the three-dimensional space.

Now, if the entries of J have different units, its condition number is undefined, for we would face a problem of either adding or ordering from largest to smallest singular values of different units. Staffetti et al. (2002) called kinetostatic performance indices of manipulators with such a Jacobian matrix “non-invariant” to changes of norms. The same authors went on to claim that, because of this feature, such performance indices—Staffetti et al. refer to these indices as “manipulability indices”—-are not natural. We will leave aside the discussion of whether the indices at stake are invariant or not, to focus instead on means to cope with the problem at hand. We resolve the inconsistency of physical units by defining a characteristic length, by which we divide the Jacobian entries that have units of length, thereby producing a new Jacobian that is dimensionally homogeneous. We shall therefore divide our study into (a) manipulators for only positioning tasks, (b) manipulators for only orientation tasks, and (c) manipulators for both positioning and orientation tasks. The characteristic length will be introduced when studying the third category.

In the sequel, we will need an important property of isotropic matrices that is recalled below. First note that if A is isotropic, all its singular values are identical, say equal to σ, and hence, matrices U and V are proportional to the n × n identity matrix, i.e.,

(5.85)

In this case, then,

(5.86a)

which means that isotropic square matrices are proportional to orthogonal matrices. As a consequence, then,

(5.86b)

Given an arbitrary manipulator of the serial type with a Jacobian matrix whose entries all have the same units, we can calculate its condition number and use a global measure of this to define a posture-independent kinetostatic index. Let κ m be the minimum value attained by the condition number of the dimensionally homogeneous Jacobian over the whole workspace, regardless of the norm adopted. Note that 1∕κ m can be regarded as a Chebyshev norm⁸ of the reciprocal of the condition number, because now 1∕κ m represents the maximum value of this reciprocal in the whole workspace. We then introduce a posture-independent performance index, the kinetostatic conditioning index, or KCI for brevity, defined as

(5.87)

Notice that since the condition number is bounded from below, the KCI is bounded from above by a value of 100%. Manipulators with a KCI of 100% are those identified above as isotropic.

5.8.1 Positioning Manipulators

Here, again, we shall distinguish between planar and spatial manipulators. These are studied separately.

5.8.1.1 Planar Manipulators

If the manipulator of Fig. 5.6 is limited to positioning tasks, we can dispense with its third axis, the manipulator thus reducing to the one shown in Fig. 5.7; its Jacobian reduces correspondingly to

with s i denoting the two-dimensional versions of vectors $$\mathbf{r}_{i}$$ of the Denavit–Hartenberg notation, as introduced in Fig. 5.1. Now, if we want to design this manipulator for maximum manipulability, we resort to Eq. (5.78a), whence $$\mu = \vert \mathrm{det}(\mathbf{J})\vert $$. First, notice that

and since matrix E is orthogonal, its determinant equals unity. Thus, the determinant of interest is now calculated using Fact 5.7.3 of Sect. 5.7, namely,

(5.88)

Therefore,

where $$(\mathbf{s}_{1},\,\mathbf{s}_{2})$$ stands for the angle between the two vectors inside the parentheses. Now let us denote the manipulator reach with R, i.e., $$R = a_{1} + a_{2}$$, and let a k  = Rρ k , where ρ k , for k = 1, 2, is a dimensionless number. As illustrated in Fig. 5.10, $$\|\mathbf{s}_{2}\|\ \vert \sin (\mathbf{s}_{1},\mathbf{s}_{2})\vert = h$$, the height of triangle O ₁ O ₂ P of base $$\overline{O_{1}P}$$, and hence, μ turns out to be twice the area of the same triangle, with the notation adopted at the outset.

Fig. 5.10

A planar, two-axis positioning manipulator, with θ ₁ = 0

Moreover, in terms of the base $$\overline{O_{1}O_{2}} = a_{1}$$ and the height a ₂ | sinθ ₂ | , the area of the triangle becomes $$a_{1}a_{2}\vert \sin \theta _{2}\vert /2$$, and hence,

(5.89a)

with ρ ₁ and ρ ₂ subject to

(5.89b)

The design task at hand, i.e., finding a ₁ and a ₂, can then be formulated as an optimization problem aimed at maximizing μ as given in Eq. (5.89a) over ρ ₁ and ρ ₂, subject to the constraint (5.89b). This optimization problem can be readily solved using, for example, Lagrange multipliers, thereby obtaining

the absolute value of sinθ ₂ attaining its maximum value when $$\theta _{2} = \pm 9{0}^{\circ }$$. The maximum manipulability thus becomes

(5.90)

Incidentally, the equal-length condition maximizes the workspace volume as well.

On the other hand, if we want to minimize the condition number of J, we should aim at rendering J isotropic, which means that the product $${\mathbf{J}}^{T}\mathbf{J}$$ should be proportional to the identity matrix, and so,

where σ is the repeated singular value of J. Hence, for J to be isotropic, all we need is that the two vectors s ₁ and $$\mathbf{s}_{2}$$ have the same norm and that they lie at right angles. The solution is a manipulator with link lengths observing a ratio of $$\sqrt{ 2}/2$$, i.e., with $$a_{2}/a_{1} = \sqrt{2}/2$$, and the two link axes at an angle of 135∘, as depicted in Fig. 5.11. Manipulators of the above type, used as mechanical fingers, were investigated by Salisbury and Craig (1982), who found that these manipulators can be rendered isotropic if given the foregoing dimensions and configured as shown in Fig. 5.11.

Fig. 5.11

A two-axis isotropic manipulator

5.8.1.2 Spatial Manipulators

Now we have a manipulator like that depicted in Fig. 4.​11, its Jacobian matrix taking on the form

(5.91)

The condition for isotropy of this kind of manipulator takes on the form of Eq. (5.86b), which thus leads to

(5.92)

Hence, the manipulator under study can be postured so as to attain isotropy if its dimensions are chosen so that its three columns have the same Euclidean norm and are mutually orthogonal. These conditions can be attained by various designs, one example being the manipulator of Fig. 4.​17. Another isotropic manipulator for three-dimensional positioning tasks is displayed in Fig. 5.12.

Fig. 5.12

An isotropic manipulator for three-dimensional positioning tasks

Note that the manipulator of Fig. 5.12 has an orthogonal architecture, the ratio of its last link length to the length of the intermediate link being, as in the two-dimensional case, $$\sqrt{2}/2$$. Since the first axis does not affect singularities, neither does it affect isotropy, and hence, not only does one location of the operation point exist that renders the manipulator isotropic, but a whole locus, namely, the circle known as the isotropy circle, indicated in the same figure. By the same token, the manipulator of Fig. 5.11 has an isotropy circle centered at the center of the first joint, with a radius of $$(\sqrt{2}/2)a_{1}$$.

5.8.2 Orienting Manipulators

We now have a three-revolute manipulator like that depicted in Fig. 4.​19, its Jacobian taking on the simple form

(5.93)

and hence, the first isotropy condition of eq. (5.86b) leads to

(5.94)

What the foregoing condition states is that a spherical wrist for orienting tasks is isotropic if its three unit vectors $$\{\mathbf{e}_{k}\}_{1}^{3}$$ are so laid out that they are mutually orthogonal, which thus yields $$\mathbf{J} = \mathbf{1}$$, the 3 × 3 identity matrix. Since the three singular values of 1 are all equal to unity, i.e., $$\sigma = 1,\ {\mathbf{J}}^{T}\mathbf{J} = \mathbf{J}{\mathbf{J}}^{T} = \mathbf{1}$$ as well. This is the case in orthogonal wrists when the two planes defined by the corresponding pairs of neighboring axes are at right angles. In summary, then, orthogonal wrists, which are rather frequent among industrial manipulators, are isotropic. Here we have an example of engineering insight leading to an optimum design, for such wrists existed long before isotropy was introduced as a manipulator design criterion. Moreover, notice that from the results of Sect. 4.​4.​2, spherical manipulators with an orthogonal architecture have a maximum workspace volume. That is, isotropic manipulators of the spherical type have two optimality properties: they have both a maximum workspace volume and a maximum KCI. Apparently, the manipulability of orthogonal spherical wrists is also optimal, as the reader is invited to verify, when the wrist is postured so that its three axes are mutually orthogonal. In this posture, the manipulability of the wrist is unity.

5.8.3 Positioning and Orienting Manipulators

We saw already in Sect. 5.8.1 that the optimization of the two indices studied here—the Jacobian condition number and manipulability—leads to different manipulators. In fact, the two indices entail even deeper differences, as we shall see presently. First and foremost, as we shall prove for both planar and spatial manipulators, the manipulability μ is independent of the operation point P of the end-effector, while the condition number is not. One more fundamental difference is that while calculating the manipulability of manipulators intended for both positioning and orienting tasks poses no problem, the condition number cannot be calculated, at least directly, for this kind of manipulator. Indeed, in order to determine the condition number of the Jacobian matrix, we must either add or order from largest to smallest its singular values. However, in the presence of positioning and orienting tasks, three of these singular values, those associated with orientation, are dimensionless, while those associated with positioning have units of length, thereby making impossible such an ordering. We resolve this dimensional inhomogeneity by introducing a normalizing characteristic length. Upon dividing the three positioning rows, i.e., the bottom rows, of the Jacobian by this length, a nondimensional Jacobian is obtained whose singular values are nondimensional as well. The characteristic length is then defined as the normalizing length that renders the condition number of the Jacobian matrix a minimum. While this definition does not bear a direct geometric interpretation, in general, we shall see that such an interpretation is possible for isotropic manipulators. Below we shall determine the characteristic length for isotropic manipulators; determining the same for nonisotropic manipulators requires solving a minimization problem that calls for numerical techniques, as illustrated with examples.

5.8.3.1 Planar Manipulators

In the sequel, we will need the planar counterpart of the twist-transfer formula of Sect. 3.​4.​2. First, we denote by t A the three-dimensional twist of a rigid body undergoing planar motion—introduced in Eq. (5.60)—when defined at a point A; when defined at point B, the corresponding twist is denoted by t B , i.e.,

(5.95)

The relation between the two twists, or the planar twist-transfer formula, is given by a linear transformation U as

(5.96a)

where U is now defined as a 3 × 3 matrix, namely,

(5.96b)

with a and b representing the position vectors of points A and B, and $$\mathbf{1}_{2}$$ standing for the 2 × 2 identity matrix. Moreover, U is, not surprisingly, a member of the 3 × 3 unimodular group, i.e.,

Because of the planar twist-transfer formula, the Jacobian defined at an operation point B is related to that defined at an operation point A of the same end-effector by the same linear transformation U, i.e., if we denote the two Jacobians by $$\mathbf{J}_{A}$$ and $$\mathbf{J}_{B}$$, then

(5.97)

and if we denote by μ A and μ B the manipulability calculated at points A and B, respectively, then

(5.98)

thereby proving that the manipulability is insensitive to a change of operation point, or to a change of end-effector, for that matter. Note that a similar analysis for the condition number cannot be completed at this stage because, as pointed out earlier, the condition number of these Jacobian matrices cannot even be calculated directly.

In order to resolve the foregoing dimensional inhomogeneity, we introduce the characteristic length L, which will be defined as that rendering the Jacobian dimensionally homogeneous and optimally conditioned, i.e., with a minimum condition number. We thus introduce the normalized Jacobian matrix as

(5.99)

Now, if we want to size the manipulator at hand by properly choosing its geometric parameters so as to render it isotropic, we must observe the isotropy condition, e.g., the second of Eq. (5.86b), which readily leads to

(5.100)

and hence,

(5.101a)

(5.101b)

(5.101c)

What Eq. (5.101a) states is simply that the triple singular value of the isotropic J is $$\sqrt{3}$$; Eq. (5.101b) states, in turn, that the operation point is the centroid of the centers of all manipulator joints if its Jacobian matrix is isotropic. Now, in order to gain insight into Eq. (5.101c), we note that since E is orthogonal and σ ² = 3, this equation can be rewritten in a simpler form, namely,

(5.102)

Further, if we recall the definition of the moment of inertia of a rigid body, we can immediately realize that the moment of inertia $$\mathbf{I}_{P}$$ of a set of particles of unit mass located at the centers of the manipulator joints, with respect to the operation point P, is given by

(5.103)

from which it is apparent that the moment of inertia of the set comprises two parts, the first being isotropic—it is a multiple of the 2 × 2 identity matrix—the second not necessarily so. However, the second part has the form of the left-hand side of Eq. (5.102). Hence, Eq. (5.102) states that if the manipulator under study is isotropic, then its joint centers are located, at the isotropic configuration, at the corners of a triangle that has circular inertial symmetry. What we mean by this is that the 2 × 2 moment of inertia of the set of particles, with entries I xx , I xy , and I yy , is similar to that of a circle, i.e., with $$I_{xx} = I_{yy}$$ and $$I_{xy} = 0$$. An obvious candidate is an equilateral triangle, the operation point thus coinciding with the center of the triangle. Since the corners of an equilateral triangle are at equal distances d from the center, and these distances are nothing but $$\|\mathbf{s}_{k}\|$$, the condition below is readily derived for isotropy:

(5.104)

In order to compute the characteristic length of the manipulator under study, let us take the trace of both sides of Eq. (5.102), thereby obtaining

and hence, upon substituting Eq. (5.104) into the foregoing relation, an expression for the characteristic length, as pertaining to planar isotropic manipulators, is readily derived:

(5.105)

It is now a simple matter to show that the three link lengths of this isotropic manipulator are $$a_{1} = a_{2} = \sqrt{3}d$$ and a ₃ = d. Such a manipulator is sketched at an isotropic posture in Fig. 5.13.

Fig. 5.13

The planar 3-R isotropic manipulator

Fig. 5.14

A geometric interpretation of the characteristic length of the planar 3R isotropic manipulator

We now can give a geometric interpretation of the characteristic length for the case at hand: To this end, we look at the manipulator of Fig. 5.13 from an arbitrary viewpoint outside of the manipulator plane, as depicted in Fig. 5.4. Let this plane be X–Y, with origin at O ₁, and X-axis directed towards O ₂. Next, we look at a point O on the normal to the X–Y plane passing through the operation point P, a distance h from P (Fig. 5.14).

Further, we define vectors $$\{\mathbf{r}_{i}\}_{1}^{3}$$ as

Upon imposing the condition that the set $$\{\mathbf{r}_{i}\}_{1}^{3}$$ be orthogonal, we find h as

(5.106)

Therefore, the characteristic length L renders matrix $$L\overline{\mathbf{J}}$$ isotropic. In fact, this matrix becomes

(5.107)

for $$\{\mathbf{s}_{i}\}_{1}^{3}$$ valued at the isotropic posture of Fig. 5.13. Notice that the difference between the Jacobian matrix defined in Eq. (5.60) and matrix $$L\overline{\mathbf{J}}$$ lies only in their first row. Obviously, the former is not dimensionally homogeneous; the latter is.

5.8.3.2 Spatial Manipulators

The entries of the Jacobian of a six-axis manipulator intended for both positioning and orienting tasks are dimensionally inhomogeneous as well. Indeed, as discussed in Sect. 5.2, the ith column of J is composed of the Plücker coordinates of the ith axis of the manipulator, namely,

(5.108)

Now it is apparent that the first three rows of J are dimensionless, whereas the remaining three, corresponding to the moments of the axes with respect to the operation point of the end-effector, have units of length. This dimensional inhomogeneity is resolved in the same way as in the case of planar manipulators for both positioning and orienting tasks, i.e., by means of a characteristic length. This length is defined, again, as the one that minimizes the condition number of the dimensionless Jacobian thus obtained. We then define the corresponding normalized Jacobian as

(5.109)

and hence, the second isotropy condition of Eq. (5.86b) leads to

(5.110a)

(5.110b)

(5.110c)

where 1 is the 3 × 3 identity matrix, and O is the 3 × 3 zero matrix. Now, if we take the trace of both sides of Eq. (5.110a), we obtain

Furthermore, we take the trace of both sides of Eq. (5.110c), which yields

But $$\|\mathbf{e}_{k} \times \mathbf{r}{_{k}\|}^{2}$$ is nothing but the square of the distance d k of the kth revolute axis to the operation point, the foregoing equation thus yielding

i.e., the characteristic length of a spatial six-revolute isotropic manipulator is the root-mean square of the distances of the revolute axes to the operation point when the robot finds itself at the posture of minimum condition number.

Furthermore, Eq. (5.110a) states that if $$\{\,\mathbf{e}_{k}\,\}_{1}^{6}$$ is regarded as the set of position vectors of points $$\{\,P_{k}\,\}_{1}^{6}$$ on the surface of the unit sphere, then the moment-of-inertia matrix of the set of equal masses located at these points has spherical symmetry. What the latter means is that any direction of the three-dimensional space is a principal axis of inertia of the foregoing set. Likewise, Eq. (5.110c) states that if $$\{\,\mathbf{e}_{k} \times \mathbf{r}_{k}\,\}_{1}^{6}$$ is regarded as the set of position vectors of points $$\{\,Q_{k}\,\}$$ in the three-dimensional Euclidean space, then the moment-of-inertia matrix of the set of equal masses located at these points has spherical symmetry as well.

Now, in order to gain insight into Eq. (5.110b), let us take the axial vector of both sides of that equation, thus obtaining

(5.111)

with 0 denoting the three-dimensional zero vector. Furthermore, let us denote by $$\mathbf{E}_{k}$$ the cross-product matrix of $$\mathbf{e}_{k}$$, the foregoing equation thus taking the form

However,

for every k, and hence, Eq. (5.111) leads to

Moreover, $$(\mathbf{1} -\mathbf{e}_{k}\mathbf{e}_{k}^{T})\mathbf{r}_{k}$$ is nothing but the normal component of $$\mathbf{r}_{k}$$ with respect to $$\mathbf{e}_{k}$$, as defined in Sect. 2.​2. Let us denote this component by $$\mathbf{r}_{k}^{\perp }$$, thereby obtaining an alternative expression for the foregoing equation, namely,

(5.112)

The geometric interpretation of the above equation is now apparent: Let $$O_{k}^{{\prime}}$$ be the foot of the perpendicular to the kth revolute axis from the operation point P; then, $$\mathbf{r}_{k}$$ is the vector directed from O k ′ to P. Therefore, the operation point of an isotropic manipulator, configured at the isotropic posture, is the centroid of the set $$\{\,O_{k}^{{\prime}}\,\}_{1}^{6}$$ of perpendicular feet from the operation point.

An axis layout that satisfies the foregoing isotropy conditions is obtained when the six axes are laid out along the diagonals of the faces of a cube. If the side of the cube has a length a, then all distances d k from the cube centroid to the axes are identical: $$d_{k} = a/2$$, for k = 1, …, 6.

Fig. 5.15

DIESTRO, a six-axis isotropic manipulator in two postures: (a) with the arm extended upwards; (b) with the arm down, showing the orthogonality of the neighboring axes

A six-axis manipulator designed with an isotropic architecture, DIESTRO, is displayed in Fig. 5.15. The Denavit–Hartenberg parameters of this manipulator are given in Table 5.1. DIESTRO is characterized by identical link lengths a and offsets identical with this common link length, besides twist angles of 90∘ between all pairs of neighboring axes. Not surprisingly, the characteristic length of this manipulator is a.

Table 5.1

DH parameters of DIESTRO

i

a i (mm)

b i (mm)

α i

θ i

1

50

50

  90∘

θ ₁

2

50

50

− 90∘

θ ₂

3

50

50

  90∘

θ ₃

4

50

50

− 90∘

θ ₄

5

50

50

  90∘

θ ₅

6

50

50

− 90∘

θ ₆

5.8.4 Computation of the Characteristic Length: Applications to Performance Evaluation

We elaborate further on the concept of characteristic length. In order to provide a better grasp of the concept, we focus on its computation as pertaining to a given robot, that need not be isotropic. To do this, we include two examples, one planar and one spatial, industrial robot. Once a numerical value of the characteristic length is available, we can compute the minimum value of the condition number of the robot Jacobian, with which we can assess the robot kinetostatic performance by means of the KCI.

Example 5.8.1 (A Planar, Equilateral, Three-Revolute Robot).

Compute the characteristic length of the robot of Fig. 5.16, depicting a posture in which θ ₁ has been set equal to zero. What is the KCI of this robot?

Fig. 5.16

Equilateral, three-revolute planar robot

Solution: We have $$a_{1} = a_{2} = a_{3} = a$$ for the robot under study. In order to compute its length, we have to minimize the Jacobian condition number by a proper choice of the characteristic length L and the joint variables θ ₂ and θ ₃. We thus start by deriving an expression for the Jacobian:

Now, we render J dimensionally homogeneous by introducing the characteristic length L, thus obtaining the normalized Jacobian $$\overline{\mathbf{J}}$$:

From the manipulator geometry, we have,

with

Since we set θ ₁ = 0, because the first joint does not affect the condition number, the normalized Jacobian becomes

the inverse of $$\overline{\mathbf{J}}$$, as derived with computer algebra, being

The square of the Frobenius-norm condition number of $$\overline{\mathbf{J}}$$ is now computed as

with f and g defined as the square of the weighted Frobenius norms of $$\overline{\mathbf{J}}$$ and $${\overline{\mathbf{J}}}^{\ -1}$$, respectively, i.e.,

and

which can be rewritten as

and

with coefficients A, D and E independent of r, namely,

We now have a classical minimization problem:

where the characteristic length is implicit in r. While the foregoing problem is well posed, we should not forget that κ F is unbounded from above. In order to gain better insight into the problem at hand, it is preferable to treat the problem as one of maximization of 1∕κ F , or of its square, for that matter. As well, we can dispense with the constant factor 1∕3 in κ F ², which thus leads to the maximization problem below:

with P and Q defined as

In order to obtain the optimum values of the three design variables r, θ ₂, and θ ₃, we need to set up the normality conditions of the problem at hand. These are readily obtained upon zeroing the gradient of $$\kappa _{F}^{2}$$ with respect to the vector of design variables, defined as $$\mathbf{x} \equiv {\left [\begin{array}{ccc} r&\theta _{2} & \theta _{3} \end{array} \right ]}^{T}$$. The said conditions are, thus,

The three components of the above gradient, $$\partial z/\partial r$$, $$\partial z/\partial \theta _{2}$$, and $$\partial z/\partial \theta _{3}$$, are then derived using the general formula for the derivative of a rational expression:

where Q i and P i stand for ∂ Q∕∂ x i and $$\partial P/\partial x_{i}$$, with x i taking values of r, θ ₂, and θ ₃, for i = 1, 2, 3, respectively. We thus have, using a similar notation for the partial derivatives of coefficients A, D and E:

Apparently, E ₃ = 0, the normality conditions thus simplifying to

thereby obtaining a system of three nonlinear equations in three unknowns, namely, the three design variables. Apparently, all three normality conditions are satisfied for either r = 0 or s ₂ = 0, which just confirms that the normality conditions are sufficient for a point in the design space to be stationary; such a point can be a local minimum, a local maximum or a saddle point. The vanishing of the product rs ₂ thus yields a minimum of z, which indicates κ F   → ∞, r = 0 giving an architecture singularity, s ₂ = 0 a posture singularity. We are not interested, for our purposes, on such a minimum, for which reason we assume henceforth that rs ₂ ≠ 0. Under this condition, the normality conditions thus yield the reduced system of equations

The problem at hand is thus solved by finding the roots of the foregoing system. We can do this by means of the Newton–Raphson method, for example, which (a) requires the 3 × 3 Jacobian matrix of the three foregoing equations, i.e., further differentiation, and (b) yields only one root, out of many, for one given initial guess, when the method converges at all. Moreover, given the local nature of the method, Newton–Raphson cannot tell whether one has found all possible roots of the system of equations.

An alternative, semigraphical approach, was introduced in Example 4.4.3. This approach consists in reducing the problem to finding the roots of two nonlinear equations in two unknowns; each equation, then, defines one contour in the plane of the two unknowns, the intersection points of the two contours yielding all possible real roots of the system at hand. In order to apply this approach to the above system, we have to eliminate one of the three unknowns from the system, the obvious candidate being r. We can do this by dialytic elimination, as introduced in Sect. 5.4.1. Given the special structure of the three given equations, it is simpler to eliminate r following a straightforward approach: First, we solve for r ⁴ from the first equation and for r ² from the third, which yields:

Upon equating the above expression of r ⁴ with the square of its counterpart expression for r ², we obtain

Further, upon substituting the same expressions for r ² and r ⁴ into equation ϕ ₂ = 0, we obtain

thereby obtaining a reduced system of two equations in two unknowns only, θ ₂ and θ ₃. The foregoing system admits further simplifications. Indeed, the common factor AE − D turns out to be positive-definite, i.e., AE − D > 0 for any values of θ ₂ and θ ₃. While it is not obvious that the factor in question is positive-definite, its sign-definiteness was verified with the aid of computer algebra. To visualize this property, we include a three-dimensional rendering of the function as a surface in Fig. 5.17a and a side view of the same in Fig. 5.17b.

Fig. 5.17

A 3D rendering of the function $$\Phi = AE - D$$ vs. θ ₂ and θ ₃: (a) an isometric view; and (b) a view in the θ ₂–Φ plane

Given that the factor in question is positive-definite, we can safely divide both sides of the two foregoing equations by this factor, which thus leads to two nonlinear equations in θ ₂ and θ ₃ defining contours $$\mathcal{C}_{1}$$ and $$\mathcal{C}_{2}$$ in the θ ₂–θ ₃ plane, namely,

The two above contours are plotted in the θ ₂–θ ₃ plane in Fig. 5.18.

Fig. 5.18

Contours $$\mathcal{C}_{1}$$ and $$\mathcal{C}_{2}$$ in the θ ₂–θ ₃ plane: (a) in the −π ≤ θ ₂ ≤ π, −π ≤ θ ₃ ≤ π range; (b) a zoom-in in the 0 ≤ θ ₂ ≤ π, 0 ≤ θ ₃ ≤ π range

Apparently, to any optimum posture with joint center O ₃ above line O ₁ O ₂ corresponds a symmetrically located posture of the robot with O ₃ below the above line. This means that all solutions $$(\theta _{2},\,\theta _{3})$$ expected should be symmetric about the origin of the θ ₂–θ ₃ plane, which they are, as illustrated in Fig. 5.18a. That is, if a pair of numerical values $$(\theta _{2},\,\theta _{3})$$ verifies the normality conditions, then so does the pair $$(-\theta _{2},\,-\theta _{3})$$. By the same token, if we set θ ₁ = π in the Jacobian expression, a similar set of normality conditions should be obtained, with the corresponding symmetry.

In light of the symmetry of the plots of Fig. 5.18a, we can focus on the first quadrant of the θ ₂–θ ₃ plane, and plot the zoom-in of Fig. 5.18a, showing only this quadrant. Moreover, it is apparent that contour $$\mathcal{C}_{1}$$ exhibits two double points, one at (0.9, 2.9), the other at (2.1, 2.6). Double points are likely to produce spurious solutions ⁹; hence, we discard those two double points, thereby leaving only five intersections of interest. As it turns out, the intersection detected by inspection at, roughly, $$\theta _{2} = 1.69\ \mathrm{rad}$$, $$\theta _{3} = 2.61\ \mathrm{rad}$$ produces a maximum of 1∕κ F . These rough values of the design variables were then refined using the Newton–Raphson method, with the foregoing rough values as initial guess.¹⁰ The Newton–Raphson method, as implemented with Matlab code, yielded the refined solution displayed below in eight iterations:

where we have recalled that a was specified as 1 m. The normalized Jacobian $$\overline{\mathbf{J}}$$ at the optimum posture is, moreover,

with κ F  = 1. 1832. Hence,

Note that, if we use the 2-norm to define the condition number, i.e., if we minimize

then we cannot find expressions for the gradient of $$1/\kappa _{2}^{2}$$ with respect to the design variables because the objective function now is not analytic ¹¹ in the design variables. That is, unlike the minimization of κ F , now we do not have normality conditions. Nevertheless, κ ₂ can still be minimized using a direct-search method, i.e., an optimization method not relying on gradients, but only on objective-function evaluation. The objective function is that whose minimum, or maximum for that matter, is searched. In our case, the objective function to minimize is κ ₂. Direct-search minimization methods are available in scientific software. Matlab, for example, uses the Nelder–Mead simplex method, as implemented in its fminsearch function. A local minimum value of κ ₂ was found by fminsearch with the initial guess

after 148 iterations, as

This value is attained at the values of the design variables given below:

which yield L = 0. 4619 m and a nondimensional Jacobian

Shown in Fig. 5.19 is the given manipulator at the optimum posture under the condition number calculated using the Frobenius norm, the posture corresponding to the minimum condition number based on the 2-norm being indistinguishable from this one.

Fig. 5.19

Optimum configuration for a minimum κ F

Example 5.8.2.

Find the KCI and the characteristic length of the Fanuc Robot Arc Mate S series manipulator of 1990, whose DH parameters are given in Table 5.2.

Table 5.2

DH parameters of the Fanuc Arc Mate S series manipulator of 1990

i

a i (mm)

b i (mm)

α i

θ i

1

200

810

90∘

θ ₁

2

600

0

0∘

θ ₂

3

130

−30

90∘

θ ₃

4

0

550

90∘

θ ₄

5

0

100

90∘

θ ₅

6

0

100

0∘

θ ₆

Solution: We need the minimum value that the condition number κ F of the normalized robot Jacobian can attain, in order to calculate its KCI as indicated in Eq. (5.87). Now, the Fanuc Robot Arc Mate S series of 1990 is a six-revolute manipulator for positioning and orienting tasks. Hence, its Jacobian matrix has to be first recast in nondimensional form, as in Eq. (5.109). Next, we find L along with the joint variables that determine the posture of minimum condition number via an optimization procedure. Prior to the formulation of the underlying optimization problem, however, we recall Theorem 5.8.1, under which the first joint, accounting for motions of the manipulator as a single rigid body, does not affect its Jacobian condition number. By the same token, we align axes Z ₆ and Z ₇. As a consequence, θ ₆ does not affect the Jacobian condition number either. We thus define the design vector x of the optimization problem at hand as a five-dimensional array, namely,

and set up the optimization problem as

Now, given the architecture of the robot at hand, a symbolic expression for $${\mathbf{J}}^{-1}$$, or its dimensionless counterpart $${\overline{\mathbf{J}}}^{-1}$$, not to speak of κ F itself, is elusive, and hence, an approach like that of Example 5.8.1 appears rather unfeasible. We thus resort to a direct-search—as opposed to a gradient-based—procedure to solve the foregoing optimization problem. There are various methods of this kind at our disposal; the one we chose is, again, the Nelder–Mead simplex method, as implemented in Matlab within the fminsearch function, which was provided with the initial guess

The results reported by Matlab are displayed below:

whose last entry, the characteristic length of the robot, is in mm, i.e.,

Fig. 5.20

A six-revolute manipulator

Furthermore, the minimum condition number attained at the foregoing posture, with the characteristic length found above, is

Therefore, the KCI of the Fanuc Robot Arc Mate S series manipulator of 1990 is

To be sure, the KCI of this manipulator can still be improved dramatically by noting that the condition number is highly dependent on the location of the operation point of the end-effector. The robot DH parameters given in Table 5.2 do not account for the geometry of the EE.

5.9 Exercises

N.B.: Exercises 5.9–5.9 pertain to Sect. 5.8.They are thus to be assigned only if this section was covered in class.

5.1

Shown in Fig. 5.20 is a computer-generated model of DIESTRO, the robot displayed in Fig. 5.15, with a slightly modified EE. The Denavit–Hartenberg parameters of this robot are given in Table 5.3. Find the Jacobian matrix of the manipulator at the above configuration.

Table 5.3

DH parameters of the modified DIESTRO

i

a i (mm)

b i (mm)

α i

θ i

1

50

50

  90∘

  90∘

2

50

50

− 90∘

− 90∘

3

50

50

  90∘

  90∘

4

50

50

− 90∘

− 90∘

5

50

50

  90∘

  90∘

6

0

50

− 90∘

− 90∘

Fig. 5.21

A planar three-axis manipulator

5.2

The robotic manipulator of Fig. 4.​23 is instrumented with sensors measuring the torque applied by the motors at the joints. Two readouts are taken of the sensors for the robot in the configuration indicated in the figure. In the first readout, the gripper is empty; in the second, it holds a tool. If the first readout is subtracted from the second, the vector difference $$\Delta \boldsymbol{\tau }$$ is obtained as

With the foregoing information, determine the weight w of the tool and the distance d of its mass center from C, the center of the spherical wrist.

5.3

A planar three-axis manipulator is shown in Fig. 5.21, with $$a_{1} = a_{2} = a_{3} = 1\ \mathrm{m}$$. When a wrench acts onto the EE of this manipulator, the joint motors exert torques that keep the manipulator under static equilibrium. Readouts of these joint torques are recorded when the manipulator is in the posture $$\theta _{1} =\theta _{2} =\theta _{3} = 4{5}^{\circ }$$, namely,

Calculate the above-mentioned wrench.

5.4

For the two postures found in Exercise 4.8, the EE is to move with an angular velocity $$\boldsymbol{\omega }= {[\omega _{1},\ \omega _{2},\ \omega _{3}]}^{T}\ {\mathrm{s}}^{-1}$$. Show that if $$\|\boldsymbol{\omega }\|$$ remains constant, then so does $$\|\dot{\boldsymbol{\theta }}\|$$, for $$\dot{\boldsymbol{\theta }}$$ defined as the joint-rate vector of the wrist.

5.5

Point C of the manipulator of Fig. 4.​17 is to move with a velocity v in the posture displayed in that figure. Show that as long as $$\|\mathbf{v}\|$$ remains constant, so does $$\|\dot{\boldsymbol{\theta }}\|$$, for $$\dot{\boldsymbol{\theta }}$$ defined as the joint-rate vector. Moreover, let us assume that in the same posture, point C is to attain a given acceleration a. In general, however, $$\|\ddot{\boldsymbol{\theta }}\|$$, where $$\ddot{\boldsymbol{\theta }}$$ denotes the corresponding joint-acceleration vector, does not necessarily remain constant under a constant $$\|\mathbf{a}\|$$. Under which conditions does $$\|\mathbf{a}\|$$ remain constant for a constant $$\|\ddot{\boldsymbol{\theta }}\|$$?

5.6

A load f is applied to the manipulator of Fig. 4.​17 in the posture displayed in that figure. Torque cells at the joints are calibrated to supply torque readouts resulting from this load only, and not from the dead load—its own weight—of the manipulator. Show that under a constant-magnitude load, the magnitude of the joint-torque vector remains constant as well.

5.7

Shown in Fig. 4.​24 is the kinematic chain of an industrial robot, like the ABB-IRB 1000, which contains five revolutes and one prismatic pair.

(a)

Determine the manipulator Jacobian in the X ₁, Y ₁, Z ₁ coordinate frame fixed to the base.

(b)

Determine the twist of the end-effector, defined in terms of the velocity of point P, for unit values of all joint-rates, and the posture displayed in the same figure.

(c)

Determine the joint accelerations that will produce a vanishing acceleration of the point of intersection, C, of the three wrist axes and a vanishing angular acceleration of the gripper, for the unit joint rates given above.

5.8

The robot in Fig. 4.​24 is now used for a deburring task. When the robot is in the configuration shown in that figure, a static force f and no moment acts on point P of the deburring tool. This force is sensed by torque sensors placed at the joints of the robot. Assume that the distance between the operating point P and the wrist center is 500 mm and that the readings of the arm joints are τ ₁ = 0, τ ₂ = 100 N m, and τ ₃ = 50 N m.

(a)

Find the force f acting at P.

(b)

Find the readings of the torque sensors placed at the wrist joints.

5.9

A decoupled manipulator is shown in Fig. 10.​3 with the DH parameters of Table 10.​1 at arbitrary posture.

(a)

Find the Jacobian matrix of this manipulator at a posture with axis X ₁ vertical and pointing downwards, while Z ₂ and Y ₁ make an angle of 180∘. Moreover, in this particular posture, Z ₃ and Z ₄ are vertical and pointing upwards, while Z ₇ makes an angle of 180∘ with Y ₁.

(b)

At the posture described in item (a), compute the joint-rates that will produce the twist

(c)

A wrench given by a moment n and a force f applied at point P acts on the EE of the same manipulator at the posture described in item (a) above. Calculate the joint torques or moments required to balance this wrench, which is given by

5.10

A robot of the Puma type has the architecture displayed in Fig. 4.​3, with the numerical values a ₂ = 0. 432 m, a ₃ = 0. 020 m, b ₃ = 0. 149 m, b ₄ = 0. 432 m. Find its maximum reach R as well as the link length a of the manipulator of Fig. 4.​17 with the same reach R.

5.11

Dialytic elimination. The characteristic polynomial of decoupled manipulators for positioning tasks can be derived alternatively via dialytic elimination, as introduced in Sect. 5.4.1. It is recalled here that dialytic elimination consists in eliminating one unknown from a system of polynomial equations by expressing this system in linear homogeneous form, whereby each equation is a linear combination of various successive powers of the unknown to be eliminated, including the zeroth power. This elimination can be achieved as outlined below: In Eqs. (4.19a) and (4.20a), express cosθ ₁ and sinθ ₁ in terms of $$\tan (\theta _{1}/2) \equiv t_{1}$$, thereby obtaining

which can be further expressed as

with obvious definitions for coefficients m, n, p, and q. Next, both sides of the two foregoing equations are multiplied by t ₁, thereby producing

Now, the last four equations can be regarded as a system of linear homogeneous equations, namely,

where 0 is the four-dimensional zero vector, while M is a 4 × 4 matrix, and t ₁ is a four-dimensional vector. These arrays are defined as

Apparently, $$\mathbf{t}_{1}\neq \mathbf{0}$$, and hence, M must be singular. The characteristic polynomial sought can then be derived from the condition

Show that the last equation is quadratic in cosθ ₃ and sinθ ₃. Hence, the foregoing equation should lead to a quartic equation in tan(θ ₃∕2). Derive the quartic equation involved. Hint: Do not do this by hand, for it may be too time-consuming and could quickly lead to algebraic mistakes. Use software for symbolic computations instead.

5.12

Compute the workspace volume of the manipulator of Fig. 4.​3. Here, you can exploit the axial symmetry of the workspace by recalling the Pappus–Guldinus Theorems—see any book on multivariable calculus—that yield the volume as 2π q, with q defined as the first moment of the cross-section, which is displayed in Fig. 5.4b, with respect to the axis of symmetry, Z ₁. To this end, you will need the first moment of a semicircle with respect to its diameter. This information is tabulated in books on elementary mechanics or multivariable calculus, a.k.a. advanced calculus.

5.13

Compute the workspace volume of the manipulator of Fig. 4.​17, whose workspace is sketched in Fig. 5.5. Here, you can also use the Pappus–Guldinus Theorem, as suggested in Exercise 5.12. However, the first moment of the cross-section has to be determined numerically, for the area properties of the curve that generates the three-dimensional workspace are not tabulated. Now, for two manipulators, the Puma-type and the one under discussion, with the same reach, determine which one has the larger workspace. Note: This exercise is not more difficult than others, but it requires the use of suitable software for the calculation of area properties of planar regions bounded by arbitrary curves. Unless you have access to such software, do not attempt this exercise.

5.14

Show that the maximum manipulability $$\mu = \sqrt{\mathrm{det } (\mathbf{J}{ \mathbf{J} }^{T } )}$$ of an orthogonal spherical wrist is attained when all three of its axes are mutually orthogonal. Find that maximum value.

5.15

Find an expression for the condition number of a three-revolute spherical wrist of twist angles α ₄ and α ₅, and show that this number depends only on α ₄, α ₅, and the intermediate joint angle, θ ₅. Moreover, find values of these variables that minimize the condition number of the manipulator. Hint: To find the required expression, the use of the condition number based on the Frobenius norm is strongly recommended. However, rendering the Jacobian matrix isotropic can be done by inspection.

5.16

Manipulability of decoupled manipulators. Let μ a and μ w represent the manipulability of the arm and the wrist of a decoupled manipulator, i.e.,

with $$\mathbf{J}_{12}$$ and J ₂₁ defined in Sect. 5.2. Show that the manipulability μ of the overall manipulator is the product of the two manipulabilities given above, i.e.,

5.17

Consider a planar two-revolute manipulator with link lengths a ₁ and a ₂. Find an expression of the form κ(r, θ ₂) for the condition number of its Jacobian, with $$r = a_{2}/a_{1}$$, and establish values of r and θ ₂ that minimize κ, which reaches a minimum value of unity.

5.18

Shown in Fig. 5.12 is an orthogonal three-revolute manipulator with an isotropic Jacobian. Find the volume of its workspace. Now consider a second manipulator with a similar orthogonal architecture, but with more common dimensions, i.e., with links of equal length λ. If the two manipulators have the same reach, that is, if

find the volume of the workspace of the second manipulator. Finally, determine the KCI—see Sect. 5.8 for a definition of this term—of the second manipulator. Draw some conclusions with regard to the performance of the two manipulators.

References

Burdick, J.W., 1995, “A classification of 3R regional manipulator singularities and geometries”, Mechanism and Machine Theory 30, no. 1, pp. 71–89.CrossRef

Ceccarelli, M., 1996, “A formulation for the workspace boundary of general n-revolute manipulators”, Mechanism and Machine Theory 31, no. 5, pp. 637–646.CrossRef

Dahlquist, G. and Björck, Å., 1974, Numerical Methods, Prentice-Hall, Englewood Cliffs, NJ.MATH

Golub, G.H. and Van Loan, C.F., 1989, Matrix Computations, The Johns Hopkins University Press, Baltimore.MATH

Henrici, P., 1964, Elements of Numerical Analysis, John Wiley & Sons, New York.MATH

Kumar A.V. and Waldron K.J., 1981, “The workspace of a mechanical manipulator”, ASME J.  Mechanical Design 103, pp. 665–672.CrossRef

Paul, R.P. and Stevenson, C.N., 1983, “Kinematics of robot wrists”, The Int. J. Robotics Res. 2, no. 1, pp. 31–38.CrossRef

Ranjbaran, F., Angeles, J., and Patel, R.V., 1992, “The determination of the Cartesian workspace of general three-axes positioning manipulators”, Proc.  Third Int. Workshop on Advances in Robot Kinematics, Sept.7–9, Ferrara, pp. 318–324.

Salisbury, J.K. and Craig, J.J., 1982, “Articulated hands: Force and kinematic issues”, The Int. J. Robotics Res. 1, no. 1, pp. 4–17.CrossRef

Staffetti, E., Bruyninckx, H., and De Schutter, J., 2002, in Lenarcič, A.J. and Thomas, F., Advances in Robot Kinematics: Theory and Applications, Kluwer Academic Publishers, Dordrecht, pp. 57–66.

Strang, G., 1988, Linear Algebra and Its Applications, Third Edition, Harcourt Brace Jovanovich College Publishers, New York.MATH

Vijaykumar, R., Tsai, M.J., and Waldron, K.J., 1986, “Geometric optimization of serial chain manipulator structures for working volume and dexterity”, The Int. J. Robotics Res. 5, no. 2, pp. 91–103.CrossRef

Vinogradov I.B., Kobrinski A.E., Stepanenko, Y.E., and Tives, L.T., 1971, “Details of kinematics of manipulators with the method of volumes” (in Russian), Mekhanika Mashin, no. 27–28, pp. 5–16.

Whitney, D.E., 1972, “The mathematics of coordinated control of prosthetic arms and manipulators”, ASME J. Dyn. Systs., Meas., and Control, 94, pp. 303–309.

Yang, D.C. and Lai, Z.C., 1985, “On the conditioning of robotic manipulators—service angle”, ASME J. Mechanisms, Transm., and Auto. in Design 107, pp. 262–270.

Yang, L., Hou, X.R., and Zeng, Z.B., 1996, “A complete discrimination system for polynomial,” Mathematic Mechanization Preprints, No. 14, pp. 98–115.

Yoshikawa, T., 1985, “Manipulability of robotic mechanisms”, The Int. J. Robotics Res. 4, no. 2, pp. 3–9.MathSciNetCrossRef

Footnotes

1

$$\boldsymbol{\varpi }$$ is read varpi.

2

One such application occurs in path planning for machining operations. Robotmaster offers a feature that allows the display of maps of the Jacobian condition number, introduced in Sect. 5.8.

3

Although $$\upsilon$$ and v look similar, they should not be confused with each other, the former being the lowercase Greek letter upsilon. As a matter of fact, no confusion should arise, because upsilon is used only once, and does not appear further in the book.

4

Although a quartic polynomial has, properly speaking, four discriminants (Yang et al. 1996), which are defined as the central minors of matrix M of Eq. (5.39) when P(τ ₃) is written in monic form—with leading coefficient equal to unity—the resolvent is sometimes referred to as the discriminant in question.

5

Lack of familiarity with the mathematics of functions regarded as elements of vector spaces, what is called functional analysis, should not discourage the reader from continuing, for the balance of the book does not depend on these concepts.

6

A norm is a generalization of the absolute value of real numbers, but applicable to arrays. In the same way that a vector norm is a measure of the “size” of the vector components, a matrix norm is a measure of the “size” of the matrix entries. In this vein, the Chebyshev norm of a given vector (matrix) is the largest absolute value of its components (entries).

7

Actually, the definition of Eq. (5.80a) yields what is known as the weighted Frobenius norm, which gives a unit norm for the n × n identity matrix, regardless of the value of n.

8

In a space of functions.

9

A spurious solution is a set of numerical values of the roots of a system of equations that, although computed from a sound elimination procedure, does not verify the equations. Example 9.7.3 includes a case of a double point in a contour that yields spurious solutions.

10

It is well known (Dahlquist and Björck 1974) that, close to a root, the Newton–Raphson method converges quadratically, i.e., the approximation to the root gains, roughly, two digits of accuracy at each iteration. Hence, the Newton–Raphson procedure will likely converge to the root closest to the given estimate.

11

A real-valued function of a real argument is said to be analytic at one value of its argument if the function admits a series expansion at this value. To be true, the exception to the rule is the case of 2 × 2 matrices, which have an analytic κ ₂.

© Springer International Publishing Switzerland 2014

Jorge AngelesFundamentals of Robotic Mechanical SystemsMechanical Engineering Series12410.1007/978-3-319-01851-5_6

6. Trajectory Planning: Pick-and-Place Operations

Jorge Angeles1 

(1)

Department of Mechanical Engineering Centre for Intelligent Machines (CIM), McGill University, Montreal, QC, Canada

Electronic supplementary material

The online version of this article (doi: 10.​1007/​978-3-319-01851-5_​6) contains supplementary material, which is available to authorized users.

6.1 Introduction

The motions undergone by robotic mechanical systems should be, as a rule, as smooth as possible; i.e., abrupt changes in position, velocity, and acceleration should be avoided. Indeed, abrupt motions require unlimited amounts of power to be implemented, which the motors cannot supply because of their physical limitations. On the other hand, abrupt motion changes arise when the robot collides with an object, a situation that should also be avoided. While smooth motions can be planned with simple techniques, as described below, these are no guarantees that no abrupt motion changes will occur. In fact, if the work environment is cluttered with objects, whether stationary or mobile, collisions may occur. Under ideal conditions, a flexible manufacturing cell is a work environment in which all objects, machines and workpieces alike, move with preprogrammed motions that by their nature, can be predicted at any instant. Actual situations, however, are far from being ideal, and system failures are unavoidable. Unpredictable situations should thus be accounted for when designing a robotic system, which can be done by supplying the system with sensors for the automatic detection of unexpected events or by providing for human monitoring. Nevertheless, robotic systems find applications not only in the well-structured environments of flexible manufacturing cells, but also in unstructured environments such as exploration of unknown terrains and systems in which humans are present. The planning of robot motions in the latter case is obviously much more challenging than in the former. Robot motion planning in unstructured environments calls for techniques beyond the scope of those studied in this book, involving such areas as pattern recognition and artificial intelligence. For this reason, we have devoted this book to the planning of robot motions in structured environments only.

Two typical tasks call for trajectory planning techniques, namely,

pick-and-place operations (PPO), and

continuous paths (CP).

We will study PPO in this chapter, with Chap. 11 devoted to CP. Moreover, we will focus on simple robotic manipulators of the serial type, although these techniques can be directly applied to other, more advanced, robotic mechanical systems.

6.2 Background on PPO

In PPO, a robotic manipulator is meant to take a workpiece from a given initial pose, specified by the position of one of its points and its orientation with respect to a certain coordinate frame, to a final pose, specified likewise. However, how the object moves from its initial to its final pose is immaterial, as long as the motion is smooth and no collisions occur. Pick-and-place operations are executed in elementary manufacturing operations such as loading and unloading of belt conveyors, tool changes in machine tools, and simple assembly operations such as putting roller bearings on a shaft. The common denominator of these tasks is material handling, which usually requires the presence of conventional machines whose motion is very simple and is usually characterized by a uniform velocity. In some instances, such as in packing operations, a set of workpieces, e.g., in a magazine, is to be relocated in a prescribed pattern in a container, which constitutes an operation known as palletizing. Although palletizing is a more elaborate operation than simple pick-and-place, it can be readily decomposed into a sequence of the latter operations.

It should be noted that although the initial and the final poses in a PPO are prescribed in the Cartesian space, robot motions are implemented in the joint space. Hence, the planning of PPO will be conducted in the latter space, which brings about the need of mapping the motion thus planned into the Cartesian space, in order to ensure that the robot will not collide with other objects in its surroundings. The latter task is far from being that simple, since it involves the rendering of the motion of all the moving links of the robot, each of which has a particular geometry. An approach to path planning first proposed by Lozano-Pérez (1981) consists of mapping the obstacles in the joint space, thus producing obstacles in the joint space in the form of regions that the joint-space trajectory should avoid. The idea can be readily implemented for simple planar motions and simple geometries of the obstacles. However, for general 3-D motions and arbitrary geometries, the computational requirements make the procedure impractical. A more pragmatic approach would consist of two steps, namely, (a) planning a preliminary trajectory in the joint space, disregarding the obstacles, and (b) visually verifying if collisions occur with the aid of a graphics system rendering the animation of the robot motion in the presence of obstacles. The availability of powerful graphics hardware enables the fast animation of robot motions within a highly realistic environment. Shown in Fig. 6.1 is a still image of the animation produced by RVS, the McGill University Robot-Visualization System, of the motion of a robot performing a palletizing operation. Commercial software for robot-motion rendering is available.

Fig. 6.1

Still image of the animation of a palletizing operation

By inspection of the kinematic closure equations of robotic manipulators—see Eqs. (4.5a and b)—it is apparent that in the absence of singularities, the mapping of joint to Cartesian variables, and vice versa, is continuous. Hence, a smooth trajectory planned in the joint space is guaranteed to be smooth in the Cartesian space, and the other way around, as long as the trajectory does not encounter a singularity.

In order to proceed to synthesize the joint trajectory, we must then start by mapping the initial and final poses of the workpiece, which is assumed to be rigidly attached to the EE of the manipulator, into manipulator configurations described in the joint space. This is readily done with the methods described in Chap. 4. Let the vector of joint variables at the initial and final robot configurations be denoted by $$\boldsymbol{\theta }_{I}$$ and $$\boldsymbol{\theta }_{F}$$, respectively. Moreover, the initial pose in the Cartesian space is defined by the position vector p I of the operation point P of the EE and a rotation matrix Q I . Likewise, the final pose in the Cartesian space is defined by the position vector p F of P and the rotation matrix Q F . Moreover, let $$\mathbf{\dot{p}}_{I}$$ and $$\mathbf{\ddot{p}}_{I}$$ denote the velocity and acceleration of P, while $$\boldsymbol{\omega }_{I}$$ and $$\dot{\boldsymbol{\omega }}_{I}$$ denote the angular velocity and angular acceleration of the workpiece, all of these at the initial pose. These variables at the final pose are denoted likewise, with the subscript I changed to F. Furthermore, we assume that time is counted from the initial pose, i.e., at this pose, t = 0. If the operation takes place in time T, then at the final pose, t = T. We have thus the set of conditions that define a smooth motion between the initial and the final poses, namely,

(6.1a)

(6.1b)

(6.1c)

(6.1d)

In the absence of singularities, then, the conditions of zero velocity and acceleration imply zero joint velocity and acceleration, and hence,

(6.2a)

(6.2b)

6.3 Polynomial Interpolation

A simple inspection of conditions (6.2a) and (6.2b) reveals that a linear interpolation between initial and final configurations will not work here, and neither will a quadratic interpolation, for its slope vanishes only at a single point. Hence, a higher-order interpolation is needed. On the other hand, these conditions imply, in turn, six conditions for every joint trajectory, which means that if a polynomial is to be employed to represent the motion of every joint, then this polynomial should be at least of the fifth degree. We thus start by studying trajectory planning with the aid of a 5th-degree polynomial.

6.3.1 A 3-4-5 Interpolating Polynomial

In order to represent each joint motion, we use here a fifth-order polynomial s(τ), namely,

(6.3)

such that

(6.4)

and

(6.5)

We will thus aim at a normal polynomial that, upon scaling both its argument and the polynomial itself, will allow us to represent each of the joint variables θ j throughout its range of motion, so that

(6.6a)

where θ j I and θ j F are the given initial and final values of the jth joint variable. In vector form, Eq. (6.6a) becomes

(6.6b)

and hence,

(6.6c)

Likewise,

(6.6d)

and

(6.6e)

What we now need are the values of the coefficients of s(τ) that appear in Eq. (6.3). These are readily found by recalling conditions (6.2a and b), upon consideration of Eqs. (6.6b–d). We thus obtain the end conditions for s(τ), namely,

(6.7)

The derivatives of s(τ) appearing above are readily derived from Eq. (6.3), i.e.,

(6.8)

and

(6.9)

Thus, the first three conditions of Eq. (6.7) lead to

(6.10)

while the last three conditions yield three linear equations in a, b, and c, namely,

(6.11a)

(6.11b)

(6.11c)

Upon solving the three foregoing equations for the three aforementioned unknowns, we obtain

(6.12)

and hence, the normal polynomial sought is

(6.13)

which is called a 3-4-5 polynomial.

This polynomial and its first three derivatives, all normalized to fall within the (−1, 1) range, are shown in Fig. 6.2. Note that the smoothness conditions imposed at the outset are respected and that the curve thus obtained is a monotonically growing function of τ, a rather convenient property for the problem at hand.

Fig. 6.2

3-4-5 interpolation polynomial and its derivatives

It is thus possible to determine the evolution of each joint variable if we know both its end values and the time T required to complete the motion. If no extra conditions are imposed, we then have the freedom to perform the desired motion in as short a time T as possible. Note, however, that this time cannot be given an arbitrarily small value, for we must respect the motor specifications on maximum velocity and maximum torque, the latter being the subject of Chap. 7. In order to ease the discussion, we limit ourselves to specifications of maximum joint velocity and acceleration rather than maximum torque. From the form of function θ j (t) of Eq. (6.6a), it is apparent that this function takes on extreme values at points corresponding to those at which the normal polynomial attains its extrema. In order to find the values of τ at which the first and second derivatives of s(τ) attain maximum values, we need to zero its second and third derivatives. These derivatives are displayed below:

(6.14a)

(6.14b)

(6.14c)

from which it is apparent that the second derivative vanishes at the two ends of the interval 0 ≤ τ ≤ 1. Additionally, the same derivative vanishes at the midpoint of the same interval, i.e., at $$\tau = 1/2$$. Hence, the maximum value of s ′ (τ), s max ′ , is readily found as

(6.15)

and hence, the maximum value of the jth joint rate takes on the value

(6.16)

which becomes negative, and hence, a local minimum, if the difference in the numerator is negative. The values of τ at which the second derivative attains its extreme values are likewise determined. The third derivative vanishes at two intermediate points τ ₁ and τ ₂ of the interval 0 ≤ τ ≤ 1, namely, at

(6.17)

and hence, the maximum value of s ′ ′ (τ) is readily found as

(6.18)

while the minimum is given as

(6.19)

Therefore, the maximum value of the joint acceleration is as shown below:

(6.20)

Likewise,

and hence,

(6.21)

Thus, Eqs. (6.16) and (6.20) allow us to determine T for each joint so that the joint rates and accelerations lie within the allowed limits. Obviously, since the motors of different joints are different, the minimum values of T allowed by the joints will be, in general, different. Of those various values of T, we will, of course, choose the largest one.

6.3.2 A 4-5-6-7 Interpolating Polynomial

Now, from Eq. (6.14c), it is apparent that the third derivative of the normal polynomial does not vanish at the end points of the interval of interest. This implies that the third time derivative of θ j (t), also known as the joint jerk, does not vanish at those ends either. It is desirable to have this derivative as smooth as the first two, but this requires us to increase the order of the normal polynomial. In order to attain the desired smoothness, we will then impose two more conditions, namely,

(6.22)

We now have eight conditions on the normal polynomial, which means that the polynomial degree should be increased to seven, namely,

(6.23a)

whose derivatives are readily determined as shown below:

(6.23b)

(6.23c)

(6.23d)

The first three conditions of Eq. (6.7) and the first condition of Eq. (6.22) readily lead to

(6.24)

Furthermore, the last three conditions of Eq. (6.7) and the second condition of Eq. (6.22) lead to four linear equations in four unknowns, namely,

(6.25a)

(6.25b)

(6.25c)

(6.25d)

and hence, we obtain the solution

(6.26)

the desired polynomial thus being

(6.27)

Fig. 6.3

4-5-6-7 interpolating polynomial and its derivatives

which is a 4-5-6-7 polynomial. This polynomial and its first three derivatives, normalized to fall within the range (−1, 1), are plotted in Fig. 6.3. Note that the 4-5-6-7 polynomial is similar to that of Fig. 6.2, except that the third derivative of the former vanishes at the extremes of the interval of interest. As we will presently show, this smoothness has been obtained at the expense of higher maximum values of the first and second derivatives. We now determine the maximum values of the velocity and acceleration produced with this motion. To this end, we display below the first three derivatives, namely,

(6.28a)

(6.28b)

(6.28c)

The first derivative attains its extreme values at points where the second derivative vanishes. Upon zeroing the latter, we obtain

(6.29)

which clearly contains a double root at τ = 0. Moreover, the cubic polynomial in the parentheses above admits one real root, namely, $$\tau = 1/2$$, which yields the maximum value of s ′ (τ), i.e.,

(6.30)

whence the maximum value of the jth joint rate is found as

(6.31)

Likewise, the points of maximum joint acceleration are found upon zeroing the third derivative of s(τ), namely,

(6.32)

or

(6.33)

which yields, in addition to the two end points, two intermediate extreme points, namely,

(6.34)

and hence, the maximum value of acceleration is found to be

(6.35)

the minimum occurring at τ = τ ₂, with $$s_{\mathrm{min}}^{{\prime\prime}} = -s_{\mathrm{max}}^{{\prime\prime}}$$. The maximum value of the jth joint acceleration is thus

(6.36)

which becomes a minimum if the difference in the numerator is negative. Likewise, the zeroing of the fourth derivative leads to

whose three roots are

and hence,

i.e.,

(6.37)

As in the case of the fifth-order polynomial, it is possible to use the foregoing relations to determine the minimum time T during which it is possible to perform a given PPO while observing the physical limitations of the motors.

6.4 Cycloidal Motion

An alternative motion that produces zero velocity and acceleration at the ends of a finite interval is the cycloidal motion. In normal form, this motion is given by

(6.38a)

its derivatives being readily derived as

(6.38b)

(6.38c)

(6.38d)

The cycloidal motion and its first three time-derivatives, normalized to fall within the range (−1, 1), are shown in Fig. 6.4. Note that while this motion, indeed, has zero velocity and acceleration at the ends of the interval 0 ≤ τ ≤ 1, its jerk is nonzero at these points and hence, exhibits jump discontinuities at the ends of that interval.

Fig. 6.4

The normal cycloidal motion and its time derivatives

When implementing the cycloidal motion in PPO, we have, for the jth joint,

(6.39a)

(6.39b)

(6.39c)

Moreover, as the reader can readily verify, under the assumption that $$\theta _{j}^{F} >\theta _{ j}^{I}$$, this motion attains its maximum velocity at the center of the interval, i.e., at τ = 0. 5, the maximum being

and hence,

(6.40a)

Likewise, the jth joint acceleration attains its maximum and minimum values at τ = 0. 25 and τ = 0. 75, respectively, i.e.,

(6.40b)

and hence,

(6.40c)

Moreover, $${s}^{{\prime\prime\prime}}(\tau )$$ attains its extrema at the ends of the interval, i.e.,

(6.41)

and hence,

(6.42)

Thus, if motion is constrained by the maximum speed delivered by the motors, the minimum time T j for the jth joint to produce the given PPO can be readily determined from Eq. (6.40a) as

(6.43)

and hence, the minimum time in which the operation can take place can be readily found as

(6.44)

If joint-acceleration constraints are imposed, then a similar procedure can be followed to find the minimum time in which the operation can be realized. As a matter of fact, rather than maximum joint accelerations, maximum joint torques are to be respected. How to determine these torques is studied in detail in Chap. 7.

6.5 Trajectories with via Poses

The polynomial trajectories discussed above do not allow the specification of intermediate Cartesian poses of the EE. All they guarantee is that the Cartesian trajectories prescribed at the initial and final instants are met. One way of verifying the feasibility of the Cartesian trajectories thus synthesized was outlined above and consists of using a graphics system, preferably with animation capabilities, to produce an animated rendering of the robot motion, thereby allowing for verification of collisions. If the latter occur, we can either try alternative branches of the inverse kinematics solutions computed at the end poses or modify the trajectory so as to eliminate collisions. We discuss below the second approach. This is done with what are called via poses, i.e., poses of the EE in the Cartesian space that lie between the initial and the final poses, and are determined so as to avoid collisions (Gosselin and Hadj-Messaoud 1993). For example, if upon approaching the final pose of the PPO, the manipulator is detected to interfere with the surface on which the workpiece is to be placed, a via pose is selected close to the final point so that at this pose, the workpiece is far enough from the surface. From inverse kinematics, values of the joint variables can be determined that correspond to the aforementioned via poses. These values can now be regarded as points on the joint-space trajectory and are hence called via points. Obviously, upon plotting each joint variable vs. time, via points appear as points on those plots as well.

The introduction of via points in the joint-space trajectories amounts to an increase in the number of conditions to be satisfied by the desired trajectory. For example, in the case of the polynomial trajectory synthesized for continuity up to second derivatives, we can introduce two via points by requiring that

(6.45)

where τ ₁, τ ₂, s ₁, and s ₂ depend on the via poses prescribed and the instants at which these poses are desired to occur. Hence, s ₁ and s ₂ differ from joint to joint, although the occurrence instants τ ₁ and τ ₂ are the same for all joints. Thus, we will have to determine one normal polynomial for each joint. Furthermore, the ordinate values s ₁ and s ₂ of the normal polynomial at via points are determined from the corresponding values of the joint variable determined, in turn, from given via poses through inverse kinematics. Once the via values of the joint variables are known, the ordinate values of the via points of the normal polynomial are found from Eq. (6.6a). Since we have now eight conditions to satisfy, namely, the six conditions (6.7) plus the two conditions (6.45), we need a seventh-order polynomial, i.e.,

(6.46)

Again, the first three conditions of Eq. (6.7) lead to the vanishing of the last three coefficients, i.e.,

(6.47)

Further, the five remaining conditions are now introduced, which leads to a system of five linear equations in five unknowns, namely,

(6.48a)

(6.48b)

(6.48c)

(6.48d)

(6.48e)

where τ ₁, τ ₂, s ₁, and s ₂ are all data. For example, if the via poses occur at 10 and 90% of T, we have

(6.48f)

the polynomial coefficients being found as

(6.49a)

(6.49b)

(6.49c)

(6.49d)

(6.49e)

The shape of each joint trajectory thus depends on the values of s ₁ and s ₂ found from Eq. (6.6a) for that trajectory.

6.6 Synthesis of PPO Using Cubic Splines

When the number of via poses increases, the foregoing approach may become impractical, or even unreliable. Indeed, forcing a trajectory to pass through a number of via points and meet endpoint conditions is equivalent to interpolation. We have seen that an increase in the number of conditions to be met by the normal polynomial amounts to an increase in the degree of this polynomial. Now, finding the coefficients of the interpolating polynomial requires solving a system of linear equations. As we saw in Sect. 5.​8, the computed solution, when solving a system of linear equations, is corrupted with a relative roundoff error that is roughly equal to the relative roundoff error of the data multiplied by an amplification factor that is known as the condition number of the system matrix. As we increase the order of the interpolating polynomial, the associated condition number rapidly increases, a fact that numerical analysts discovered some time ago (Kahaner et al. 1989). In order to cope with this problem, orthogonal polynomials, such as those bearing the names of Chebyshev, Laguerre, Legendre, and so on, have been proposed. While orthogonal polynomials alleviate the problem of a large condition number, they do this only up to a certain extent. As an alternative to higher-order polynomials, spline functions have been found to offer more robust interpolation schemes (Dierckx 1993). Spline functions, or splines, for brevity, are piecewise polynomials with continuity properties imposed at the supporting points. The latter are those points at which two neighboring polynomials join.

The attractive feature of splines is that they are defined as a set of rather lower-degree polynomials joined at a number of supporting points. Moreover, the matrices that arise from an interpolation problem associated with a spline function are such that their condition number is only slightly dependent on the number of supporting points, and hence, splines offer the possibility of interpolating over a virtually unlimited number of points without producing serious numerical conditioning problems.

Below we expand on periodic cubic splines, for these will be shown to be specially suited for path planning in robotics.

A cubic spline function s(x) connecting N points P k (x k ,   y k ), for k = 1, 2, …, N, is a function defined piecewise by N − 1 cubic polynomials joined at the points P k , such that s(x k ) = y k . Furthermore, the spline function thus defined is twice differentiable everywhere in x ₁ ≤ x ≤ x N . Hence, cubic splines are said to be C ² functions, i.e., to have continuous derivatives up to the second order.

Cubic splines are optimal in the sense that they minimize a functional, i.e., an integral defined as

subject to the constraints

where x k and y k are given. The aforementioned optimality property has a simple kinematic interpretation: Among all functions defining a motion so that the plot of this function passes through a set of points $$P_{1}(x_{1},\,s_{1})$$, $$P_{2}(x_{2},\,s_{2})$$, … , $$P_{N}(x_{N},\,s_{N})$$ in the x–s plane, the cubic spline is the one containing the minimum acceleration magnitude. In fact, F, as given above, is the square of the Euclidean norm (Halmos 1974) of $${s}^{{\prime\prime}}(x)$$, i.e., F turns out to be a measure of the magnitude of the acceleration of a displacement program given by s(x), if we interpret s as displacement and x as time.

Let $$P_{k}(x_{k},\ y_{k})$$ and $$P_{k+1}(x_{k+1},\ y_{k+1})$$ be two consecutive supporting points. The $$k$$ th cubic polynomial s k (x) between those points is assumed to be given by

(6.50a)

for $$x_{k} \leq x \leq x_{k+1}$$. Thus, for the spline s(x), 4(N − 1) coefficients A k , B k , C k , D k , for $$k = 1,\ldots,N - 1$$, are to be determined. These coefficients will be computed presently in terms of the given function values $$\{s_{k}\}_{1}^{N}$$ and the second derivatives of the spline at the supporting points, $$\{s_{k}^{{\prime\prime}}(x_{k})\}_{1}^{N}$$, as explained below:

We will need the first and second derivatives of s k (x) as given above, namely,

(6.50b)

(6.50c)

whence the relations below follow immediately:

(6.51a)

(6.51b)

(6.51c)

where we have used the abbreviations

(6.52)

Furthermore, let

(6.53)

From the above relations, we have expressions for coefficients B k and D k in terms of $$s_{k}^{{\prime\prime}}$$ and s k , respectively, but the expression for C k is given in terms of $$s_{k}^{{\prime}}$$. What we would like to have are similar expressions for A k and C k , i.e., in terms of s k and $$s_{k}^{{\prime\prime}}$$. The relations sought will be found by imposing the continuity conditions on the spline function and its first and second derivatives with respect to x at the supporting points. These conditions are, then, for $$k = 1,\,2,\,\ldots,\,N - 1$$,

(6.54a)

(6.54b)

(6.54c)

Upon substituting $$s_{k}^{{\prime\prime}}(x_{k+1})$$, as given by Eq. (6.50c), into Eq. (6.54c), we obtain

but from Eq. (6.51a), we have already an expression for B k , and hence, one for B k+1 as well. Substituting these two expressions in the above equation, we obtain an expression for A k , namely,

(6.54d)

Furthermore, if we substitute $$s_{k}(x_{k+1})$$, as given by Eq. (6.50a), into Eq. (6.54a), we obtain

But we already have values for A k , B k and D k from Eqs. (6.54d), (6.51a), and (6.51c), respectively. Upon substituting these values in the foregoing equation, we obtain the desired expression for C k in terms of function and second-derivative values, i.e.,

(6.54e)

In summary, then, we now have expressions for all four coefficients of the kth polynomial in terms of function and second-derivative values at the supporting points, namely,

(6.55a)

(6.55b)

(6.55c)

(6.55d)

with

(6.55e)

Therefore, in order to find the above coefficients, all we need is the set of values of the second derivatives $$\{s^{\prime\prime}_{k}\}_{1}^{N}$$ at the supporting points. To compute these values, we impose the continuity condition on the first derivative, Eq. (6.54b), after substitution of Eq. (6.50b), which yields

or, if we shift to the previous polynomial,

Now, if we substitute expressions (6.55a–c) in the above equation, a linear system of N − 2 simultaneous equations for the N unknowns $$\{s_{k}^{{\prime\prime}}\}_{1}^{N}$$ is obtained, namely,

(6.56)

Further, let s be the N-dimensional vector whose kth component is s k , with vector s″ being defined likewise, i.e.,

(6.57)

The relationship between s and $${\mathbf{s}}^{{\prime\prime}}$$ of Eq. (6.56) can then be written in vector form as

(6.58a)

where A and C are (N − 2) × N matrices defined as:

(6.58b)

and

(6.58c)

while for $$i,j,k = 1,\ldots,N - 1$$,

(6.58d)

(6.58e)

and

(6.58f)

Thus, two additional equations are needed to render Eq. (6.58a) a determined system. The additional equations are derived, in turn, depending upon the class of functions one is dealing with, which thus gives rise to various types of splines. For example, if s″₁ and s″ N are defined as zero, then one obtains natural cubic splines, the name arising by an analogy with beam analysis. Indeed, in beam theory, the boundary conditions of a simply-supported beam establish the vanishing of the bending moments at the ends. From beam theory, moreover, the bending moment is proportional to the second derivative of the elastica, or neutral axis, of the beam with respect to the abscissa along the beam axis in the undeformed configuration. In this case, vector $${\mathbf{s}}^{{\prime\prime}}$$ becomes of dimension N − 2, and hence, matrix A becomes, correspondingly, of $$(N - 2) \times (N - 2)$$, namely,

(6.59)

On the other hand, if one is interested in periodic functions, which is often the case when synthesizing pick-and-place motions, then the conditions s ₁ = s N , $$s^\prime_{1} = s^\prime_{N}$$, $$s^{\prime\prime}_{1} = s^{\prime\prime}_{N}$$ are imposed, thereby producing periodic cubic splines. The last of these conditions is used to eliminate one unknown in Eq. (6.58a), while the second condition, namely the continuity of the first derivative, is used to add an equation. We have, then,

(6.60)

which can be written, using Eq. (6.54b), as

(6.61)

Upon substituting $$s^\prime_{N-1}(x_{N})$$, as given by Eq. (6.50b), into the above equation, we obtain

(6.62)

Now we use Eqs. (6.55a–c) and simplify the expression thus resulting, which leads to

(6.63)

thereby obtaining the last equation required to solve the system of equations given by Eqs. (6.58a–c). We thus have (N − 1) independent equations to solve for (N − 1) unknowns, namely, s″ k , for $$k = 1,\ldots,N - 1$$, s″ N being equal to s″₁. Expressions for matrices A and C, as applicable to periodic cubic splines, are given in Eqs. (11.59a and b).

While we focused in the above discussion on cubic splines, other types of splines could have been used. For example, Thompson and Patel (1987) used B-splines in robotics trajectory planning.

Example 6.6.1 (Approximation of a 4-5-6-7 Polynomial with a Cubic Spline).

Find the cubic spline that interpolates the 4-5-6-7 polynomial of Fig. 6.3 with N + 1 equally-spaced supporting points and plot the interpolation error for N = 3 and N = 10.

Solution: Let us use a natural spline, in which case the second derivative at the end points vanishes, with vector s ′ ′ thus losing two components. That is, we now have only N − 2 unknowns $$\{\,s_{k}^{{\prime\prime}}\,\}_{2}^{N-1}$$ to determine. Correspondingly, matrix A then loses its first and last columns and hence, becomes a square $$(N - 2) \times (N - 2)$$ matrix. Moreover,

and matrices A and C become, correspondingly,

and

the vector of second derivatives at the supporting points, $${\mathbf{s}}^{{\prime\prime}}$$, then being readily obtained as

Fig. 6.5

Errors in the approximation of a 4-5-6-7 polynomial with a natural cubic spline, using four supporting points

Fig. 6.6

Errors in the approximation of a 4-5-6-7 polynomial with a natural cubic spline, using eleven supporting points

With the values of the second derivatives at the supporting points known, the calculation of the spline coefficients A k , B k , C k , and D k , for k = 1, …, N, is now straightforward. Let the interpolation error, e(x), be defined as e(x) ≡ s(x) − p(x), where s(x) is the interpolating spline and p(x) is the given polynomial. This error and its derivatives e ′ (x), e ′ ′ (x), and e ′ ′ ′ (x) are plotted in Figs. 6.5 and 6.6 for N = 3 and N = 10, respectively. What we observe is an increase of more than one order of magnitude in the error as we increase the order of the derivative by one. Thus, the order of magnitude of acceleration errors is usually higher than two orders of magnitude above the displacement errors, a fact that should not be overlooked in applications.

6.7 Exercises

6.1

A common joint-rate program for pick-and-place operations is the trapezoidal profile of Fig. 6.7, whereby we plot s ′ (τ) vs. τ, using the notation introduced in Chap. 7, i.e., with s(τ) and τ defined as dimensionless variables. Here, s ′ (τ) starts and ends at 0. From its start to a value τ ₁, s ′ (τ) grows linearly, until reaching a maximum $$s_{\mathrm{max}}^{{\prime}}$$; then, this function remains constant until a value τ ₂ is reached, after which the function decreases linearly to zero at the end of the interval.

Clearly, this profile has a discontinuous acceleration and hence, is bound to produce shock and vibration. However, the profile can be smoothed with a spline interpolation as indicated below.

(a)

Find the value of $$s_{\mathrm{max}}^{{\prime}}$$ in terms of τ ₁ and τ ₂ so that s(0) = 0 and s(1) = 1.

(b)

Plot s(τ) with the value of s max ′ found above and decompose it into a linear part s l (τ) and a periodic part s p (τ).

(c)

Sample s(τ) with N equally spaced points and find the periodic spline that interpolates s p (τ), for τ ₁ = 0. 2 and τ ₂ = 0. 9. Try various values of N and choose the one that (a) is the smallest possible, (b) gives a “good” approximation of the original s(τ), and (c) yields the best-behaved acceleration program, i.e., an acceleration profile that is smooth and within reasonable bounds. Discuss how you would go about defining a reasonable bound.

Fig. 6.7

A trapezoidal joint-rate profile

6.2

An alternative approach to the solution of the foregoing smoothing problem consists in solving an inverse interpolation problem: Plot the acceleration program of the foregoing joint-rate plot, s ′ ′ (τ). Now, sample a set of N equally spaced points of s ′ ′ (τ) and store them in an N-dimensional array s ′ ′ . Next, find the ordinates of the supporting points of the interpolating periodic spline and store them in an array s of suitable dimension. Note that s ′ ′ does not contain information on the linear part of s(τ). You will have to modify suitably your array s so that it will produce the correct abscissa values of the interpolated curve s(τ), with s(0) = 0 and s(1) = 1. Moreover, s(τ) must be monotonic. Try various values of N and choose the smallest one that gives a well-behaved acceleration program, as described in Exercise 6.1.

6.3

One more approach to smoothing the joint-rate profile of Fig. 6.7 is to use cycloidal motions. To this end, define a segment of a cycloidal-motion function between τ = 0 and τ = τ ₁, so that $${s}^{{\prime}}(\tau _{1}) = s_{\mathrm{max}}^{{\prime}}$$, for s max ′ as indicated in the same figure. Further, define a similar segment between τ = τ ₂ and τ = 1 so that s ′ (τ ₂) = s max ′ and s ′ (1) = 0. Then, join the two segments with a line of slope s max ′ . Plot the displacement, velocity, and acceleration of the smoothed motion. Note that the smoothed profile must meet the end conditions s(0) = 0 and s(1) = 1, and that you may have to introduce a change of variable to shrink the corresponding s′(τ) segment to meet these conditions.

6.4

A pick-and-place operation involves picking objects from a magazine supplied with an indexing mechanism that presents the objects with a known pose and zero twist, at equal time-intervals T, to a robot, which is to place the objects on a belt conveyor running at a constant speed v ₀. Find 5th- and 7th-degree polynomials that can be suitably used to produce the necessary joint-variable time-histories.

6.5

Repeat Exercise 6.4, but now the objects are to be picked up by the robot from a belt conveyor traveling at a constant velocity v ₁ and placed on a second belt conveyor traveling at a constant velocity v ₂. Moreover, let p ₁ and p ₂ designate the position vectors of the points at the pick- and the place poses, respectively. Furthermore, the belts lie in horizontal, parallel planes. Finally, the objects must observe the same attitude with respect to the belt orientation in both the pick- and the place poses.

6.6

Approximate the cycloidal function of Sect. 6.4 using a periodic cubic spline with N subintervals of the same lengths, for various values of N between 5 and 100. Tabulate the approximation error e N vs. N, with e N defined as

and

in which s(τ) denotes the spline approximation and c(τ) the cycloidal function. Note: the cycloidal function can be decomposed into a linear and a periodic part.

6.7

From inspection of the plot of the 3-4-5 polynomial and its derivatives displayed in Fig. 6.2, it is apparent that the polynomial can be regarded as the superposition of a linear and a periodic function in the interval 0 ≤ τ ≤ 1. Approximate the underlying periodic function with a periodic cubic spline by subdividing the above-mentioned interval into N equal subintervals, while finding the value of N that will yield a maximum absolute value of less than 10⁻⁴ in the error in

(a)

the function values;

(b)

the values of the first derivative; and

(c)

the values of the second derivative.

6.8

Repeat Exercise 6.7 for the 4-5-6-7 polynomial of Fig. 6.3.

6.9

A pick-and-place operation is being planned that should observe manufacturer’s bounds on the maximum joint rates delivered by the motors of a given robot. To this end, we have the following choices: (a) a 4-5-6-7 polynomial; (b) a symmetric trapezoidal speed profile like that of Fig. 6.7, with τ ₁ = 0. 20; and (c) a cycloidal motion. Which of these motions produces the minimum time in which the operation can be performed?

6.10

The maximum speed of a cycloidal motion was found to be 2. By noticing that the cycloidal motion is the superposition of a linear and a periodic function, find a cubic-spline motion that will yield a maximum speed of 1.5, with the characteristics of the cycloidal motion at its end points.

6.11

The acceleration of a certain motion s(τ), for 0 ≤ τ ≤ 1, is given at a sample of instants $$\{\,\tau _{k}\,\}_{1}^{N}$$ in the form

Find the cubic spline interpolating the given motion so that its second time-derivative will attain those given values, while finding A such that s(0) = 0 and s(1) = 1. Hint: A combination of a linear function and a periodic spline can yield this motion. In order to find the function values of the periodic spline, exploit the linear relation between the function values and its second derivatives at the spline supporting points, as discussed in Sect. 6.6.

6.12

A robotic joint has been found to require to move, within a time-interval T, with a set of speed values $$\{\,\dot{\theta }_{k}\,\}_{1}^{N}$$ at equally spaced instants. Find the natural cubic spline that interpolates the underlying motion so that the angular displacement undergone from beginning to end is a given $$\Delta \theta$$. Hint: You will need to establish the linear relation between the spline function values and those of its first derivative.

References

Dierckx, P., 1993, Curve and Surface Fitting with Splines, Clarendon Press, Oxford.MATH

Gosselin, C.M., and Hadj-Messaoud, A., 1993, “Automatic planning of smooth trajectories for pick-and-place operations”, ASME Journal of Mechanical Design, Vol. 115, no. 3, pp. 450–456.CrossRef

Halmos, P., 1974, Finite-Dimensional Vector Spaces, Springer-Verlag, New York.CrossRefMATH

Kahaner, D., Moler, C., and Nash, S., 1989, Numerical Methods and Software, Prentice-Hall, Englewood Cliffs, NJ.MATH

Lozano-Pérez, T., 1981, “Automatic planning of manipulator transfer movements”, IEEE Trans. Systems, Man, and Cybernetics SMC-11, no. 110, pp. 681–689.

Thompson, S.E. and Patel, R.V., 1987, “Formulation of joint trajectories for industrial robots using B-splines”, IEEE Trans. Industrial Electronics IE-34, pp. 192–199.CrossRef

© Springer International Publishing Switzerland 2014

Jorge AngelesFundamentals of Robotic Mechanical SystemsMechanical Engineering Series12410.1007/978-3-319-01851-5_7

7. Dynamics of Serial Robotic Manipulators

Jorge Angeles1 

(1)

Department of Mechanical Engineering Centre for Intelligent Machines (CIM), McGill University, Montreal, QC, Canada

7.1 Introduction

The main objectives of this chapter are (a) to devise an algorithm for the real-time computed-torque control and (b) to derive the system of second-order ordinary differential equations (ODE) governing the motion of an n-axis manipulator. We will focus on serial manipulators, the dynamics of a much broader class of robotic mechanical systems, namely, parallel manipulators and mobile robots, being the subject of Chap. 12. Moreover, we will study mechanical systems with rigid links and rigid joints and will put aside systems with flexible elements, which pertain to a more specialized realm.

7.2 Inverse vs. Forward Dynamics

The two basic problems associated with the dynamics of robotic mechanical systems, namely, the inverse and the forward problems, are thoroughly discussed in this chapter. The relevance of these problems cannot be overstated: the former is essential for the computed-torque control of robotic manipulators, while the latter is required for the simulation and the real-time feedback control of the same systems. Because the inverse problem is purely algebraic, it is conceptually simpler to grasp than the forward problem, and hence, the inverse problem will be discussed first. Moreover, the inverse problem is also computationally simpler than the forward problem. In the inverse problem, a time-history of either the Cartesian or the joint coordinates is given, and from knowledge of these histories and the architecture and inertial parameters of the system at hand, the torque or force requirements at the different actuated joints are determined as time-histories as well. In the forward problem, current values of the joint coordinates and their first time-derivatives are known at a given instant, the time-histories of the applied torques or forces being also known, along with the architecture and the inertial parameters of the manipulator at hand. With these data, the values of the joint coordinates and their time-derivatives are computed at a later sampling instant by integration of the underlying system of nonlinear ordinary differential equations.

The study of the dynamics of systems of multiple rigid bodies is classical, but up until the advent of the computer, it was limited only to theoretical results and a reduced number of bodies. First Uicker (1965) and then Kahn (1969) produced a method based on the Euler–Lagrange equations of mechanical systems of rigid bodies that they used to simulate the dynamical behavior of such systems. A breakthrough in the development of algorithms for dynamics computations was reported by Luh et al. (1980), who proposed a recursive formulation of multibody dynamics that is applicable to systems with serial kinematic chains. This formulation, based on the Newton–Euler equations of rigid bodies, allowed the calculation of the joint torques of a six-revolute manipulator with only 800 multiplications and 595 additions, a tremendous gain if we consider that the straightforward calculation of the Euler–Lagrange equations for the same type of manipulator involves 66,271 multiplications and 51,548 additions, as pointed out by Hollerbach (1980). In the foregoing reference, a recursive derivation of the Euler–Lagrange equations was proposed, whereby the computational complexity was reduced to only 2,195 multiplications and 1,719 additions.

The foregoing results provoked a discussion on the merits and demerits of each of the Euler–Lagrange and the Newton–Euler formulations. Silver (1982) pointed out that since both formulations are equivalent, they should lead to the same computational complexity. In fact, Silver showed how to derive the Euler–Lagrange equations from the Newton–Euler formulation by following an approach first introduced by Kane (1961) in connection with nonholonomic systems. Kane and Levinson (1983) then showed how Kane’s equations can be applied to particular robotic manipulators and arrived at lower computational complexities. They applied the said equations to the Stanford Arm (Paul 1981) and computed its inverse dynamics with 646 multiplications and 394 additions. Thereafter, Khalil et al. (1986) proposed a condensed recursive Newton–Euler method that reduced the computational complexity to 538 multiplications and 478 additions, for arbitrary architectures. Further developments in this area were reported by Balafoutis and Patel (1991), who showed that the underlying computational complexity can be reduced to 489 multiplications and 420 additions for the most general case of a six-revolute manipulator, i.e., without exploiting particular features of the manipulator geometry. Balafoutis and Patel based their algorithm on tensor analysis, whereby tensor identities are exploited to their fullest extent in order to reduce the number of operations involved. Li and Sankar (1992), in turn, reported further savings that allowed them to bring down those numbers to 459 multiplications and 390 additions.

In this chapter, the inverse dynamics problem is solved with the well-known recursive Newton–Euler algorithm, while the forward dynamics problem is handled with a novel approach, based on the reciprocity relations between the constraint wrenches and the feasible twists of a manipulator. This technique is developed with the aid of a modeling tool known as the natural orthogonal complement, thoroughly discussed in Sect. 7.5.

Throughout the chapter, we will follow a multibody system approach, which requires a review of the underlying fundamentals.

7.3 Fundamentals of Multibody System Dynamics

7.3.1 On Nomenclature and Basic Definitions

We consider here a mechanical system composed of r rigid bodies and denote by $$\mathbf{M}_{i}$$ the 6 × 6 inertia dyad—see Sect. 3.​8—of the ith body. Moreover, we let $$\mathbf{W}_{i}$$, already introduced in Eq. (3.​140), be the 6 × 6 angular-velocity dyad of the same body. As pertaining to the case at hand, the said matrices are displayed below:

(7.1)

where 1 and O denote the 3 × 3 identity and zero matrices, respectively, while $$\boldsymbol{\Omega }_{i}$$ and I i are the angular-velocity and the inertia matrices of the ith body, this last being defined with respect to the center of mass C i of this body. Moreover, the mass of this body is denoted by m i , whereas $$\mathbf{c}_{i}$$ and $$\dot{\mathbf{c}}_{i}$$ denote the position and the velocity vectors of C i in an inertial frame. Furthermore, let $$\mathbf{t}_{i}$$ denote the twist of the same body, the latter being defined in terms of the angular velocity vector $$\boldsymbol{\omega }_{i}$$, the vector of $$\boldsymbol{\Omega }_{i}$$, and the velocity of C i . The six-dimensional momentum screw $$\boldsymbol{\mu }_{i}$$ is defined likewise. Furthermore, $$\mathbf{w}_{i}^{W}$$ and $$\mathbf{w}_{i}^{C}$$ are defined as the working wrench and the nonworking constraint wrench exerted on the ith body by its neighbors, in which forces are assumed to be applied at C i . We thus have, for i = 1, …, r,

(7.2)

where superscripted $$\mathbf{n}_{i}$$ and $$\mathbf{f}_{i}$$ stand, respectively, for the moment and the force acting on the ith body, the force being applied at the mass center C i . Thus, whereas $$\mathbf{w}_{i}^{W}$$ accounts for forces and moments exerted by both the environment and the actuators, including driving forces as well as dissipative effects, $$\mathbf{w}_{i}^{C}$$, whose sole function is to keep the links together, accounts for those forces and moments exerted by the neighboring links, which do not produce any mechanical work. Therefore, friction wrenches applied by the (i − 1)st and the (i + 1)st links onto the ith link are not included in $$\mathbf{w}_{i}^{C}$$; rather, they are included in $$\mathbf{w}_{i}^{W}$$.

Clearly, from the definitions of $$\mathbf{M}_{i}$$, $$\boldsymbol{\mu }_{i}$$, and $$\mathbf{t}_{i}$$, we have

(7.3)

Moreover, from Eq. (3.​143),¹

(7.4)

We now recall the Newton–Euler equations for a rigid body, namely,

(7.5a)

(7.5b)

which can be written in compact form using the foregoing six-dimensional twist and wrench arrays as well as the 6 × 6 inertia and angular-velocity dyads. We thus obtain the Newton–Euler equations of the ith body in the form

(7.5c)

7.3.2 The Euler–Lagrange Equations of Serial Manipulators

The Euler–Lagrange dynamical equations of a mechanical system are now recalled, as pertaining to serial manipulators. Thus, the mechanical system at hand has n degrees of freedom, its n independent generalized coordinates being the n joint variables, which are stored in the n-dimensional vector $$\boldsymbol{\theta }$$. We thus have

(7.6)

where T is a scalar function denoting the kinetic energy of the system and $$\boldsymbol{\phi }$$ is the n-dimensional vector of generalized force. If some forces on the right-hand side stem from a potential V, we can, then decompose $$\boldsymbol{\phi }$$ into two parts, $$\boldsymbol{\phi }_{p}$$ and $$\boldsymbol{\phi }_{\overline{p}}$$, the former arising from V and termed the conservative force of the system; the latter is the nonconservative force. That is,

(7.7)

the above Euler–Lagrange equations thus becoming

(7.8)

where L is the Lagrangian of the system, defined as

(7.9)

Moreover, the kinetic energy of the system is simply the sum of the kinetic energies of all the r links. Recalling Eq. (3.​145), which gives the kinetic energy of a rigid body in terms of six-dimensional arrays, one has

(7.10)

whereas the vector of nonconservative generalized forces is given by

(7.11)

in which $${\Pi }^{A}$$ and $$\Delta $$ denote the power supplied to the system and the Rayleigh dissipation function, or for brevity, the dissipation function of the system.

The first of these items is discussed below; the latter is only outlined in this section but is discussed extensively in Sect. 7.8. First, the wrench $$\mathbf{w}_{i}^{W}$$ is decomposed into two parts, $$\mathbf{w}_{i}^{A}$$ and $$\mathbf{w}_{i}^{D}$$, the former being the wrench supplied by the actuators and the latter being the wrench that arises from viscous and Coulomb friction, the gravity wrench being not needed here because gravity effects are considered in the potential $$V (\boldsymbol{\theta })$$. We thus call $$\mathbf{w}_{i}^{A}$$ the active wrench and $$\mathbf{w}_{i}^{D}$$ the dissipative wrench. Here, the wrenches supplied by the actuators are assumed to be prescribed functions of time. Moreover, these wrenches are supplied by single-dof actuators in the form of forces along a line of action or moments in a given direction, both line and direction being fixed to the two bodies that are coupled by an active joint. Hence, the actuator-supplied wrenches are dependent on the posture of the manipulator as well, but not on its twist. That is, the actuator wrenches are functions of both the vector of generalized coordinates, or joint variables, and time, but not of the generalized speeds, or joint-rates. Forces dependent on the latter to be considered here are assumed to be all dissipative. As a consequence, they can be readily incorporated into the mathematical model at hand via the dissipation function, to be discussed in Sect. 7.8. Note that feedback control schemes require actuator forces that are functions not only of the generalized coordinates, but also of the generalized speeds. These forces or moments are most easily incorporated into the underlying mathematical model, once this model is derived in the state-variable space, i.e., in the space of generalized coordinates and generalized speeds.

Thus, the power supplied to the ith link, $$\Pi _{i}^{A}$$, is readily computed as

(7.12a)

Similar to the kinetic energy, then, the power supplied to the overall system is simply the sum of the individual powers supplied to each link, and expressed as in Eq. (7.12a), i.e.,

(7.12b)

Further definitions are now introduced. These are the 6n-dimensional vectors of manipulator twist, t; manipulator momentum, $$\boldsymbol{\mu }$$; manipulator constraint wrench, $${\mathbf{w}}^{C}$$; manipulator active wrench, $${\mathbf{w}}^{A}$$; and manipulator dissipative wrench, $${\mathbf{w}}^{D}$$. Additionally, the 6n × 6n matrices of manipulator mass, M, and manipulator angular velocity, W, are also introduced below:

(7.13a)

(7.13b)

(7.13c)

It is now apparent that, from definitions (7.13b and 7.13c) and relation (7.3), we have

(7.14)

Moreover, from definitions (7.1) and (7.2),

(7.15)

With the foregoing definitions, then, the kinetic energy of the manipulator takes a simple form, namely,

(7.16)

which is a quadratic form in the system twist. Since the twist, on the other hand, is a linear function of the vector $$\boldsymbol{\dot{\theta }}$$ of joint rates, the kinetic energy turns out to be a quadratic form in the vector of joint rates. Moreover, we will assume that this form is homogeneous in $$\boldsymbol{\dot{\theta }}$$, i.e.,

(7.17)

Notice that the above assumption implies that the base of the robot is fixed to an inertial base, and hence, when all joints are locked, the kinetic energy of the robot vanishes, which would not be the case if, for example, the robot were mounted on the International Space Station. If this were the case, then the kinetic energy would not vanish even if all robot joints were locked, which means that the foregoing kinetic-energy expression would include a linear term in $$\boldsymbol{\dot{\theta }}$$ and a term independent of the joint-rates. In any event, it is apparent that

(7.18)

which means that the n × n generalized inertia matrix is the Hessian matrix of the kinetic energy with respect to the vector of generalized speed.

Furthermore, the Euler–Lagrange equations can be written in the form

(7.19a)

Now, from the form of T given in Eq. (7.17), the partial derivatives appearing in the foregoing equation take the forms derived below:

and hence,

(7.19b)

Moreover, in order to calculate the second term of the left-hand side of Eq. (7.19a), we express the kinetic energy in the form

(7.19c)

where $$\mathbf{p}(\boldsymbol{\theta },\dot{\boldsymbol{\theta }})$$ is the generalized momentum of the manipulator, defined as

(7.19d)

Hence,

(7.19e)

or

(7.19f)

the Euler–Lagrange equations thus taking on the alternative form

(7.20)

Example 7.3.1 (Euler–Lagrange Equations of a Planar Robot).

Consider the manipulator of Fig. 7.1, with links designed so that their centers of mass, C ₁, C ₂, and C ₃, are located at the midpoints of segments O ₁ O ₂, O ₂ O ₃, and O ₃ P, respectively. Moreover, the ith link has a mass m i and a centroidal moment of inertia in a direction normal to the plane of motion I i , while the joints are actuated by motors delivering torques τ ₁, τ ₂, and τ ₃, the lubricant of the joints producing dissipative torques that we will neglect in this model. Under the assumption that gravity acts in the direction of − Y, find the associated Euler–Lagrange equations.

Fig. 7.1

A planar manipulator

Solution: Here we recall the kinematic analysis of Sect. 5.​7 and the definitions introduced therein for the analysis of planar motion. In this light, all vectors introduced below are two-dimensional, the scalar angular velocities of the links, ω i , for i = 1, 2, 3, being

Moreover, the velocities of the centers of mass are

the kinetic energy then becoming

The squared magnitudes of the mass-center velocities are now computed using the expressions derived above. After simplifications, these yield

The kinetic energy of the whole manipulator thus becomes

with coefficients I ij , for i = 1, 2, 3, and j = i to 3 being the distinct entries of the 3 × 3 matrix of generalized inertia of the system. These entries are given below:

where c i and c ij stand for cosθ i and $$\cos (\theta _{i} +\theta _{j})$$, respectively. From the foregoing expressions, it is apparent that the generalized inertia matrix is not a function of θ ₁, which is only natural, for if the second and third joints are locked while leaving the first one free, the whole manipulator becomes a single rigid body pivoting about point O ₁. Now, the polar moment of inertia of a rigid body in planar motion about a fixed point is constant, and hence, the first joint variable should not affect the generalized inertia matrix.

Furthermore, the potential energy of the manipulator is computed as the sum of the individual link potential energies, i.e.,

while the total power delivered to the manipulator takes the form

We now proceed to compute the various terms in Eq. (7.20). We already have $$\mathbf{I}(\boldsymbol{\theta })$$, but we do not have, as yet, its time-derivative. However, the entries of $$\mathbf{\dot{I}}$$ are merely the time-derivatives of the entries of I. From the above expressions for these entries, their time-rates of change are readily calculated, namely,

with s ij defined as $$\sin (\theta _{i} +\theta _{j})$$. It should now be apparent that the time-rate of change of the generalized inertia matrix is independent of $$\dot{\theta }_{1}$$, as one should have expected, for this matrix is independent of θ ₁. That is, if all joints but the first one are frozen, no matter how fast the first joint rotates, the manipulator moves as a single rigid body whose polar moment of inertia about O ₁, the center of the first joint, is constant. As a matter of fact, I ₃₃ is constant for the same reason and $$\dot{I}_{33}$$ hence vanishes. We have, then,²

whose components, ι i , for i = 1, 2, 3, are readily calculated as

The next term in the right-hand side of Eq. (7.20) now requires the calculation of the partial derivatives of vector $$\mathbf{I}\dot{\boldsymbol{\theta }}$$ with respect to the joint variables, which are computed below. Let

its entries being denoted by $$I_{ij}^{{\prime}}$$. This matrix, in component form, is given by

with the shorthand notation I ij, k indicating the partial derivative of I ij with respect to θ k . As the reader can verify, these entries are given as

Now, we define the three-dimensional vector $$\boldsymbol{\gamma }$$ below:

its three components, γ i , for i = 1, 2, 3, being

We now turn to the computation of the partial derivatives of the potential energy:

The Euler–Lagrange equations thus reduce to

With this example, it becomes apparent that a straightforward differentiation procedure to derive the Euler–Lagrange equations of a robotic manipulator, or for that matter, of a mechanical system at large, is not practical. For example, these equations do not seem to lend themselves to symbolic manipulations for a six-axis manipulator of arbitrary architecture, given that they become quite cumbersome even for a three-axis planar manipulator with an architecture that is not so general. For this reason, procedures have been devised that lend themselves to an algorithmic treatment. We will study a procedure based on the natural orthogonal complement whereby the underlying equations are derived using matrix-times-vector multiplications.

7.3.3 Kane’s Equations

Kane’s equations (Kane and Levinson 1983), sometimes referred to as D’Alembert’s equations in Lagrangian form are also useful in robot dynamics (Angeles et al. 1989). A feature of Kane’s equations is that they are derived from the free-body diagrams of the various rigid bodies constituting the multibody system at hand. Upon introducing generalized coordinates à la Lagrange, the mathematical model of the system is derived, which is equivalent to the underlying Euler–Lagrange equations. Kane’s equations take a rather simple form, for an n-dof mechanical system, namely,

where $$\boldsymbol{\phi }$$ and $${\boldsymbol{\phi }}^{{\ast}}$$ are the n-dimensional vectors of generalized active force and inertia force, respectively. With the notation introduced above, these vectors are given by

(7.21a)

and

(7.21b)

In the above expressions, $$\dot{\mathbf{q}} = d\mathbf{q}/dt$$ is the n-dimensional vector of generalized speeds in Kane’s terminology, while the n × 3 matrices $$\partial \dot{\mathbf{c}}_{i}/\partial \dot{\mathbf{q}}$$ and $$\partial \boldsymbol{\omega }_{i}/\partial \dot{\mathbf{q}}$$ are the partial rates of change of mass-center velocity and angular velocity of the ith rigid body.

7.4 Recursive Inverse Dynamics

The inverse dynamics problem associated with serial manipulators is studied here. We assume at the outset that the manipulator under study is of the serial type with n + 1 links including the base link and n joints of either the revolute or the prismatic type.

The underlying algorithm consists of two steps: (a) kinematic computations, required to determine the twists of all the links and their time derivatives in terms of $$\boldsymbol{\theta }$$, $$\dot{\boldsymbol{\theta }}$$, and $$\ddot{\boldsymbol{\theta }}$$; and (b) dynamic computations, required to determine both the constraint and the external wrenches. Each of these steps is described below, the aim here being to calculate the desired variables with as few computations as possible, for one purpose of inverse dynamics is to permit the real-time model-based control of the manipulator. Real-time performance requires, obviously, a low number of computations. For the sake of simplicity, we decided against discussing the algorithms with the lowest computational cost, mainly because these algorithms, fully discussed by Balafoutis and Patel (1991), rely heavily on tensor calculus, which we have not studied here. With the notation introduced in Chap. 4, revolute joints are referred to as R, prismatic joints as P.

7.4.1 Kinematics Computations: Outward Recursions

We will use the Denavit–Hartenberg (DH) notation introduced in Sect. 4.​2 and hence will refer to Fig. 4.​9 for the basic notation required for the kinematic analysis to be described first. Note that the calculation of each Q i matrix, as given by Eq. (4.1e), requires four multiplications and zero additions.

Moreover, every three-dimensional vector-component transfer from the $$\mathcal{F}_{i}$$ frame to the $$\mathcal{F}_{i+1}$$ frame requires a multiplication by $$\mathbf{Q}_{i}^{T}$$ . Likewise, every component transfer from the $$\mathcal{F}_{i+1}$$ frame to the $$\mathcal{F}_{i}$$ frame requires a multiplication by $$\mathbf{Q}_{i}$$ . Therefore, we will need to account for the aforementioned component transfers, which we will generically term coordinate transformations between successive coordinate frames. We derive below the number of operations required for such transformations. If we have $$[\,\mathbf{r}\,]_{i} \equiv {[\,r_{1},\,r_{2},\,r_{3}\,]}^{T}$$ and we need $$[\,\mathbf{r}\,]_{i+1}$$, then we proceed as follows:

(7.22)

and if we recall the form of Q i from Eq. (4.1e), we then have

(7.23a)

where $$\lambda _{i} \equiv \cos \alpha _{i}$$ and $$\mu _{i} \equiv \sin \alpha _{i}$$, while

(7.23b)

Likewise, if we have $$[\,\mathbf{v}\,]_{i+1} \equiv {[\,v_{1},\,v_{2},\,v_{3}\,]}^{T}$$ and we need $$[\,\mathbf{v}\,]_{i}$$, we use the component transformation given below:

(7.24a)

where

(7.24b)

It is now apparent that every coordinate transformation between successive frames, whether forward or backward, requires eight multiplications and four additions. Here, as in Chap. 5, we indicate the units of multiplications and additions with M and A, respectively.

The angular velocity and acceleration of the ith link are computed recursively as follows:

(7.25a)

(7.25b)

for $$i = 1,\,2,\,\ldots,\,n$$, where $$\boldsymbol{\omega }_{0}$$ and $$\dot{\boldsymbol{\omega }}_{0}$$ are the angular velocity and angular acceleration of the base link. Note that Eqs. (7.25a and b) are frame-invariant; i.e., they are valid in any coordinate frame, as long as the same frame is used to represent all quantities involved. Below we derive the equivalent relations applicable when taking into account that quantities with a subscript i are available in $$\mathcal{F}_{i+1}$$ -coordinates. Hence, operations involving quantities with different subscripts require a change of coordinates, which is taken care of by the corresponding rotation matrices.

Fig. 7.2

A revolute joint

In order to reduce the numerical complexity of the algorithm developed here, all vector and matrix quantities of the ith link will be expressed in $$\mathcal{F}_{i+1}$$. Note, however, that the two vectors $$\mathbf{e}_{i}$$ and $$\mathbf{e}_{i+1}$$ are fixed to the ith link, which is a potential source of confusion. Now, since $$\mathbf{e}_{i}$$ has an extremely simple form in $$\mathcal{F}_{i}$$, namely, $${[\,0,\,0,\,1\,]}^{T}$$, this will be regarded as a vector of the (i − 1)st link, which is fixed to $$\mathcal{F}_{i}$$ —see, e.g., Fig. 7.2. Therefore, this vector, or multiples of it, will be added to vectors bearing the (i − 1)st subscript without any coordinate transformation. Moreover, subscripted brackets, as introduced in Sect. 2.​2, can be avoided if all vector and matrix quantities subscripted with i, except for vector $$\mathbf{e}_{i}$$, are assumed to be expressed in $$\mathcal{F}_{i+1}$$. Furthermore, in view of the serial type of the underlying kinematic chain, only additions of quantities with two successive subscripts will appear in the relations below.

Quantities given in two successive frames can be added if both are expressed in the same frame, the obvious frame of choice being the frame of one of the two quantities. Hence, all we need to add two quantities with successive subscripts is to multiply one of these by a suitable orthogonal matrix. Additionally, in view of the outwards recursive nature of the foregoing kinematic relations, it is apparent that a transfer from $$\mathcal{F}_{i}$$ - to $$\mathcal{F}_{i+1}$$ -coordinates is needed, which can be accomplished by multiplying either $$\mathbf{e}_{i}$$ or any other vector with the (i − 1) subscript by matrix $$\mathbf{Q}_{i}^{T}$$. Hence, the angular velocities and accelerations are computed recursively, as indicated below:

(7.26a)

(7.26b)

If the base link is an inertial frame, then

(7.27)

Thus, calculating each $$\boldsymbol{\omega }_{i}$$ vector in $$\mathcal{F}_{i+1}$$ when $$\boldsymbol{\omega }_{i-1}$$ is given in $$\mathcal{F}_{i}$$ requires 8M and 5A if the ith joint is R; if it is P, the said calculation reduces to 8M and 4A. Here, note that $$\dot{\theta }_{i}\mathbf{e}_{i} = {[\,0,\,0,\,\dot{\theta }_{i}\,]}^{T}$$ in $$\mathcal{F}_{i}$$ -coordinates, and hence, the vector addition of the upper right-hand side of Eq. (7.26a) requires only 1A. Furthermore, in order to determine the number of operations required to calculate $$\dot{\boldsymbol{\omega }}_{i}$$ in $$\mathcal{F}_{i+1}$$ when $$\dot{\boldsymbol{\omega }}_{i-1}$$ is available in $$\mathcal{F}_{i}$$, we note that

(7.28)

Moreover, we let

(7.29)

Hence,

(7.30)

Furthermore, we note that

(7.31)

and hence, the calculation of $$\dot{\boldsymbol{\omega }}_{i}$$ in $$\mathcal{F}_{i+1}$$ when $$\dot{\boldsymbol{\omega }}_{i-1}$$ is given in $$\mathcal{F}_{i}$$ requires 10M and 7A if the ith joint is R; if it is P, the same calculation requires 8M and 4A.

Fig. 7.3

A prismatic joint

Furthermore, let $$\mathbf{c}_{i}$$ be the position vector of C i , the center of mass of the ith link, $$\boldsymbol{\rho }_{i}$$ being the vector directed from O i to C i , as shown in Figs. 7.2 and 7.3. The position vectors of two successive centers of mass thus observe the relationships

(a)

if the ith joint is R, then from Fig. 7.2,

(7.32a)

(7.32b)

(b) if the ith joint is P, then from Fig. 7.3,

(7.32c)

(7.32d)

where point O i , in this case, is a point of the (i − 1)st link conveniently defined, as dictated by the particular geometry of the manipulator at hand. The foregoing freedom in the choice of O i is a consequence of prismatic pairs having only a defined direction but no axis, properly speaking.

Notice that in the presence of a revolute pair at the ith joint, the difference $$\mathbf{a}_{i-1} -\boldsymbol{\rho }_{i-1}$$ is constant in $$\mathcal{F}_{i}$$. Likewise, in the presence of a prismatic pair at the same joint, the difference $$\mathbf{d}_{i-1} -\boldsymbol{\rho }_{i-1}$$ is constant in $$\mathcal{F}_{i}$$. Therefore, these differences are computed off-line, their evaluation not counting toward the computational complexity of the algorithm.

Upon differentiation of both sides of Eqs. (7.32b and d) with respect to time, we derive the corresponding relations between the velocities and accelerations of the centers of mass links i − 1 and i, namely,

(a)

if the ith joint is R,

(7.33a)

(7.33b)

(b)

if the ith joint is P,³

(7.34a)

(7.34b)

(7.34c)

(7.34d)

(7.34e)

(7.34f)

for $$i = 1,\,2,\,\ldots,\,n$$, where $$\mathbf{\dot{c}}_{0}$$ and $$\mathbf{\ddot{c}}_{0}$$ are the velocity and acceleration of the center of mass the base link. If the latter is an inertial frame, then

(7.35)

Expressions (7.32b)–(7.34f) are invariant, i.e., they hold in any coordinate frame, as long as all vectors involved are expressed in that frame. However, we have vectors that are naturally expressed in the $$\mathcal{F}_{i}$$ frame added to vectors expressed in the $$\mathcal{F}_{i+1}$$ frame, and hence, a coordinate transformation is needed. This coordinate transformation is taken into account in Algorithm 7.4.1, whereby the logical variable R is true if the ith joint is R; otherwise it is false.

In performing the foregoing calculations, we need the cross product of a vector w times $$\mathbf{e}_{i}$$ in $$\mathcal{F}_{i}$$ coordinates, the latter being simply $$[\,\mathbf{e}_{i}\,]_{i} = {[\,0,\,0,\,1\,]}^{T}$$, and hence, this cross product reduces to $${[\,w_{2},\,-w_{1},\,0\,]}^{T}$$, whereby w k , for k = 1, 2, 3, are the x, y, and $$z\ \mathcal{F}_{i}$$ -components of w. This cross product, then, requires no multiplications and no additions. Likewise, vectors $$b_{i}\mathbf{e}_{i}$$, $$\dot{b}_{i}\mathbf{e}_{i}$$, and $$\ddot{b}_{i}\mathbf{e}_{i}$$ take the simple forms $${[\,0,\,0,\,b_{i}\,]}^{T}$$, $${[\,0,\,0,\,\dot{b}_{i}\,]}^{T}$$, and $${[\,0,\,0,\,\ddot{b}_{i}\,]}^{T}$$ in $$\mathcal{F}_{i}$$. Adding any of these vectors to any other vector in $$\mathcal{F}_{i}$$ then requires one single addition.

If, moreover, we take into account that the cross product of two arbitrary vectors requires 6M and 3A, we then have the operation counts given below:

(a)

If the ith joint is R,

$$\mathbf{Q}_{i}$$ requires 4M and 0A

$$\mathbf{c}_{i}$$ requires 8M and 10A

$$\boldsymbol{\omega }_{i}$$ requires 8M and 5A

$$\mathbf{\dot{c}}_{i}$$ requires 20M and 16A

$$\boldsymbol{\dot{\omega }}_{i}$$ requires 10M and 7A

$$\mathbf{\ddot{c}}_{i}$$ requires 32M and 28A

(b)

If the ith joint is P,

Q i requires 4M and 0A

$$\mathbf{c}_{i}$$ requires 16M and 15A

$$\boldsymbol{\omega }_{i}$$ requires 8M and 4A

$$\mathbf{\dot{c}}_{i}$$ requires 14M and 11A

$$\boldsymbol{\dot{\omega }}_{i}$$ requires 8M and 4A

$$\mathbf{\ddot{c}}_{i}$$ requires 20M and 19A

The computational complexity for the forward recursions of the kinematics calculations for an n-revolute manipulator, as pertaining to various algorithms, are summarized in Table 7.1. Note that if some joints are P, then these figures become lower.

Table 7.1

Complexity of the kinematics computations

Item

M

A

4n

0

8n

5n

20n

16n

10n

7n

32n

28n

Total

82n

66n

7.4.2 Dynamics Computations: Inward Recursions

The free-body diagram of an intermediate link appears in Fig. 7.4, that of the end-effector, or nth link, appearing in Fig. 7.5. Note that the EE is acted upon by a nonworking constraint wrench, exerted through the nth pair, and a working wrench; the latter involves both active and dissipative forces and moments. Although dissipative forces and moments are difficult to model because of dry friction and striction, they can be readily incorporated into the dynamics model, once a suitable constitutive model for these items is available. Since these forces and moments depend only on joint variables and joint rates, they can be calculated once the kinematic variables are known. For the sake of simplicity, dissipative wrenches are not included here, their discussion being the subject of Sect. 7.8. Hence, the force and the moment that the (i − 1)st link exerts on the ith link through the ith joint only produce nonworking constraint and active wrenches. That is, for a revolute pair, one has

(7.36)

in which n i x and n i y are the nonzero $$\mathcal{F}_{i}$$ -components of the nonworking constraint moment exerted by the (i − 1)st link on the ith link; obviously, this moment lies in a plane perpendicular to Z i , whereas τ i is the active torque applied by the motor at the said joint. Vector $$\mathbf{f}_{i}^{P}$$ contains only nonworking constraint forces.

Fig. 7.4

Free-body diagram of the ith link

Fig. 7.5

Free-body diagram of the end-effector

For a prismatic pair, one has

(7.37)

where vector $$\mathbf{n}_{i}^{P}$$ contains only nonworking constraint torques, while τ i is now the active force exerted by the ith motor in the Z i direction, f i x and f i y being the nonzero $$\mathcal{F}_{i}$$ -components of the nonworking constraint force exerted by the ith joint on the ith link, which is perpendicular to the Z i axis.

In the algorithm below, the driving torques or forces $$\{\,\tau _{i}\,\}_{1}^{n}$$, are computed via vectors $$\mathbf{n}_{i}^{P}$$ and $$\mathbf{f}_{i}^{P}$$. In fact, in the case of a revolute pair, τ i is simply the third component of $$\mathbf{n}_{i}^{P}$$; in the case of a prismatic pair, τ i is, accordingly, the third component of $$\mathbf{f}_{i}^{P}$$. From Fig. 7.5, the Newton–Euler equations of the end-effector are

(7.38a)

(7.38b)

where f and n are the external force and moment, the former being applied at the center of mass the end-effector. The Newton–Euler equations for the remaining links are derived based on the free-body diagram of Fig. 7.4, namely,

(7.38c)

(7.38d)

with $$\boldsymbol{\delta }_{i}$$ defined as the difference $$\mathbf{a}_{i} -\boldsymbol{\rho }_{i}$$ in Eqs. (7.32a and c).

Once the $$\mathbf{n}_{i}^{P}$$ and $$\mathbf{f}_{i}^{P}$$ vectors are available, the actuator torques and forces, denoted by τ i , are readily computed. In fact, if the ith joint is a revolute, then

(7.39)

which does not require any further operations, for τ i reduces, in this case, to the Z i component of vector $$\mathbf{n}_{i}^{P}$$. Similarly, if the ith joint is prismatic, then the corresponding actuator force reduces to

(7.40)

Again, the foregoing relations are written in invariant form. In order to perform the computations involved, transformations that transfer coordinates between two successive frames are required. Here, we have to keep in mind that the components of a vector expressed in the (i + 1)st frame can be transferred to the ith frame by multiplying the vector array in (i + 1)st coordinates by matrix $$\mathbf{Q}_{i}$$. In taking these coordinate transformations into account, we derive the Newton–Euler algorithm from the above equations, namely,

Note that, within the do-loop of the foregoing algorithm, the vectors to the left of the arrow are expressed in the ith frame, while $$\mathbf{f}_{i+1}^{P}$$ and $$\mathbf{n}_{i+1}^{P}$$, to the right of the arrow, are expressed in the (i + 1)st frame.

In calculating the computational complexity of this algorithm, note that the $$\mathbf{a}_{i} -\boldsymbol{\rho }_{i}$$ term is constant in the (i + 1)st frame, and hence, it is computed off-line. Thus, its computation need not be accounted for. A summary of computational costs is given in Table 7.2 for an n-revolute manipulator, with the row number⁴ indicating the step in Algorithm 7.4.2.

Table 7.2

Complexity of dynamics computations

Row #

M

A

1

3

3

2

30

27

5

8(n − 1)

4(n − 1)

6

3(n − 1)

3(n − 1)

7

44(n − 1)

37(n − 1)

Total

55n − 22

44n − 14

The total numbers of multiplications M d and additions A d required by the foregoing algorithm are readily obtained, with the result shown below:

(7.41)

In particular, for a six-revolute manipulator, one has

(7.42)

If the kinematics computations are accounted for, then the Newton–Euler algorithm given above for the inverse dynamics of n-revolute manipulators requires M multiplications and A additions, as given below:

(7.43)

The foregoing number of multiplications is identical to that reported by Walker and Orin (1982); however, the number of additions is slightly higher than Walker and Orin’s figure, namely, 101n − 11.

Thus, the inverse dynamics of a six-revolute manipulator requires 800 multiplications and 646 additions. These computations can be performed in a few microseconds using a modern processor. Clearly, if the aforementioned algorithms are tailored to suit particular architectures, then they can be further simplified. Note that, in the presence of a prismatic pair in the jth joint, the foregoing complexity is reduced. In fact, if this is the case, the Newton–Euler equations for the jth link remain as in Eqs. (7.38c and d) for the ith link, the only difference appearing in the implementing algorithm, which is simplified, in light of the results derived in discussing the kinematics calculations.

The incorporation of gravity in the Newton–Euler algorithm is done most economically by following the idea proposed by Luh et al. (1980), namely, by declaring that the inertial base undergoes an acceleration −g, where g denotes the acceleration of gravity. That is

(7.44)

the gravitational accelerations thus propagating forward to the EE. A comparison of various algorithms with regard to their computational complexity is displayed in Table 7.3 for an n-revolute manipulator. For n = 6, the corresponding figures appear in Table 7.4.

Table 7.3

Complexity of different algorithms for inverse dynamics

Author(s)

Methods

Multiplications

Additions

Hollerbach (1980)

E–L

412n − 277

320n − 201

Luh et al. (1980)

N–E

150n − 48

131n − 48

Walker and Orin (1982)

N–E

137n − 22

101n − 11

Khalil et al. (1986)

N–E

105n − 92

94n − 86

Angeles et al. (1989)

Kane

105n − 109

90n − 105

Balafoutis and Patel (1991)

Tensor

93n − 69

81n − 65

Li and Sankar (1992)

E–L

88n − 69

76n − 66

Table 7.4

Complexity of different algorithms for inverse dynamics, for n = 6

Multiplications

Additions

Author(s)

Methods

(n = 6)

(n = 6)

Hollerbach (1980)

E–L

2195

1719

Luh et al. (1980)

N–E

852

738

Walker and Orin (1982)

N–E

800

595

Hollerbach and Sahar (1983)

N–E

688

558

Kane and Levinson (1983)

Kane

646

394

Khalil et al. (1986)

N–E

538

478

Angeles et al. (1989)

Kane

521

435

Balafoutis and Patel (1991)

Tensor

489

420

Li and Sankar (1992)

E–L

459

390

7.5 The Natural Orthogonal Complement

In simulation studies, we need to integrate the system of ordinary differential equations (ODE) describing the dynamics of a robotic mechanical system. This system is known as the mathematical model of the system at hand. Note that the Newton–Euler equations derived above for a serial manipulator do not constitute the mathematical model because we cannot use the recursive relations derived therein to set up the underlying ODE directly. What we need is a model relating the state of the system with its external generalized forces, of the form

(7.45)

where x is the state vector, u is the input or control vector, $$\mathbf{x}_{0}$$ is the state vector at a certain time t ₀, and $$\mathbf{f}(\mathbf{x},\mathbf{u})$$ is a nonlinear function of x and u, derived from the dynamics of the system. The state of a dynamical system is defined, in turn, as the set of variables that separate the past from the future of the system (Bryson and Ho 1975). Thus, if we take t ₀ as the present time, we can predict from Eqs. (7.45) the future states of the system upon integration of the initial-value problem at hand, even if we do not know the complete past history of the system in full detail. Now, if we regard the vector $$\boldsymbol{\theta }$$ of independent joint variables and its time-rate of change, $$\dot{\boldsymbol{\theta }}$$, as the vectors of generalized coordinates and generalized speeds, then an obvious definition of x is

(7.46)

The n generalized coordinates, then, define the configuration of the system, while their time-derivatives determine its generalized momentum, a concept defined in Eq. (7.19d). Hence, knowing $$\boldsymbol{\theta }$$ and $$\dot{\boldsymbol{\theta }}$$ at t ₀, we can predict the future values of these variables, at t > t ₀, with the aid of Eqs. (7.45).

Below we will derive the mathematical model, Eq. (7.45), explicitly, as pertaining to serial manipulators, in terms of the kinematic structure of the system and its inertial properties, i.e., the mass, center of mass coordinates, and inertia matrix of each of its bodies. To this end, we first write the underlying system of uncoupled Newton–Euler equations for each link. We have n + 1 links numbered from 0 to n, which are coupled by n kinematic pairs. Moreover, the base link 0 need not be an inertial frame; if it is noninertial, then the force and moment exerted by the environment upon it must be known. For ease of presentation, we will assume in this section that the base frame is inertial, the modifications needed to handle a noninertial base frame to be introduced in Sect. 7.5.2.

We now recall the Newton–Euler equations of the ith body in six-dimensional form, Eqs. (7.5c), which we reproduce below for quick reference:

(7.47)

Furthermore, the definitions of Eqs. (7.13b and c) are recalled. Apparently, M and W are now 6n × 6n matrices, while t, w C , $${\mathbf{w}}^{A}$$, and $${\mathbf{w}}^{D}$$ are all 6n-dimensional vectors. Then, the foregoing 6n scalar equations for the n moving links take the simple form

(7.48)

in which w W has been decomposed into its active, gravitational, and dissipative parts w A , $${\mathbf{w}}^{G}$$, and $${\mathbf{w}}^{D}$$, respectively. Now, since gravity acts at the center of mass of a body, the gravity wrench $$\mathbf{w}_{i}^{G}$$ acting on the ith link takes the form

(7.49)

The mathematical model displayed in Eq. (7.48) represents the 6n uncoupled Newton–Euler equations of the overall manipulator. The following step of this derivation consists in reducing the uncoupled system of equations to a set of n coupled equations of motion. To this end, the coupling between every two consecutive links is represented as a linear homogeneous system of algebraic equations on the link twists. Moreover, we note that all kinematic pairs allow a relative one-degree-of-freedom motion between the coupled bodies. We can then express the kinematic constraints of the system in linear homogeneous form in the 6n-dimensional vector of manipulator twist, namely,

(7.50)

with K being a 6n × 6n matrix, to be derived in Sect. 7.5.1. What is important to note at the moment is that the kinematic constraint equations, or constraint equations, for brevity, Eqs. (7.50), consist of a system of 6n scalar equations, i.e., six scalar equations for each joint, for the manipulator at hand has n joints. Moreover, when the system is in motion, t is different from zero, and hence, matrix K is bound to be singular. In fact, the dimension of the null space of K, termed its nullity, is exactly equal to n, the degree of freedom of the manipulator. That is, not every possible 6n-dimensional twist is feasible; to be so, a twist must lie in the null space of matrix K. Furthermore, since the nonworking constraint wrench w C produces no work on the manipulator, its sole function being to keep the links together, the power developed by this wrench on t, for any feasible motion of the manipulator, is zero, i.e.,

(7.51)

On the other hand, if the two sides of Eq. (7.50) are transposed and then multiplied by a 6n-dimensional vector $$\boldsymbol{\lambda }$$, one has

(7.52)

Upon comparing Eqs. (7.51) and (7.52), it is apparent that $${\mathbf{w}}^{C}$$ is of the form

(7.53)

More formally, the scalar product of $${\mathbf{w}}^{C}$$ and t, as stated by Eq. (7.51), vanishes, and hence, t lies in the null space of K, as stated by Eq. (7.50). This means that $${\mathbf{w}}^{C}$$ lies in the range of $${\mathbf{K}}^{T}$$, as stated in Eq. (7.53). The following step will be to represent t as a linear transformation of the independent generalized speeds, i.e., as

(7.54)

with T defined as a 6n × n matrix that can be fairly termed the twist-shaping matrix. Moreover, the above mapping will be referred to as the twist–shape relations. The derivation of expressions for matrices K and T will be described in detail in Sect. 7.5.1 below. Now, upon substitution of Eq. (7.54) into Eq. (7.50), we obtain

(7.55a)

Furthermore, since the degree of freedom of the manipulator is n, the n generalized speeds $$\{\,\dot{\theta }_{i}\,\}_{1}^{n}$$ can be assigned arbitrarily. However, while doing this, Eq. (7.55a) has to hold. Thus, the only possibility for this to happen is that the product $$\mathbf{K}\mathbf{T}$$ vanish, i.e.,

(7.55b)

where O denotes the 6n × n zero matrix. The above equation states that T is an orthogonal complement of K. Because of the particular form of choosing this complement—see Eq. (7.54)—we refer to T as the natural orthogonal complement of K (Angeles and Lee 1988).

In the final step of this method, $$\dot{\mathbf{t}}$$ of Eq. (7.48) is obtained from Eq. (7.54), namely,

(7.56)

Further, both sides of the uncoupled equations (7.48) are multiplied from the left by T T , the effect being that the term $${\mathbf{w}}^{C}$$ is eliminated. Indeed, if w C is expressed as appearing in Eq. (7.53), we have

However, by virtue of Eq. (7.55b), the matrix coefficient of $$\boldsymbol{\lambda }$$ in the foregoing expression vanishes, thereby obtaining n independent equations free of nonworking constraint wrenches. These are nothing but the governing equations of the manipulator, namely,

(7.57)

where I, the positive definite n × n generalized inertia matrix of the manipulator, is defined as

(7.58)

which is identical to the inertia matrix derived using the Euler–Lagrange equations, with $$\boldsymbol{\theta }$$ as the vector of generalized coordinates. Now, we let $$\boldsymbol{\tau }$$ and $$\boldsymbol{\delta }$$ denote the n-dimensional vectors of active and dissipative generalized force. Moreover, we let $$\mathbf{C}(\boldsymbol{\theta },\,\dot{\boldsymbol{\theta }})\dot{\boldsymbol{\theta }}$$ be the n-dimensional vector of quadratic terms of inertia force. These items are defined as

(7.59)

Clearly, the sum $$\boldsymbol{\tau } + \boldsymbol{\delta }$$ produces $$\boldsymbol{\phi }_{\overline{p}}$$, the generalized force defined in Eq. (7.11). Thus, the Euler–Lagrange equations of the system take the form

(7.60)

If, moreover, a static wrench w W acts onto the end-effector, with the force applied at the operation point, then its effect onto the above model is taken into account as indicated in Eq. (5.​50). Thus, a term $${\mathbf{J}}^{T}{\mathbf{w}}^{W}$$ is added to the right-hand side of the above model:

(7.61)

As a matter of fact, $$\boldsymbol{\delta }$$ is defined in Eq. (7.59) only for conceptual reasons. In practice, this term is most readily calculated once a dissipation function in terms of the generalized coordinates and generalized speeds is available, as described in Sect. 7.8. Thus, $$\boldsymbol{\delta }$$ is computed as

(7.62)

It is pointed out that the first term of the right-hand side of Eq. (7.60) is quadratic in $$\dot{\boldsymbol{\theta }}$$ because matrix C, defined in Eq. (7.59), is linear in $$\dot{\boldsymbol{\theta }}$$. In fact, the first term of that expression is linear in a factor $$\dot{\mathbf{T}}$$ that is, in turn, linear in $$\dot{\boldsymbol{\theta }}$$. Moreover, the second term of the same expression is linear in W, which is linear in $$\dot{\boldsymbol{\theta }}$$ as well. However, C is nonlinear in $$\boldsymbol{\theta }$$. Because of the quadratic nature of that term, it is popularly known as the vector of Coriolis and centrifugal forces, whereas the left-hand side of that equation is given the name of vector of inertia forces. Properly speaking, both the left-hand side and the first term of the right-hand side of Eq. (7.60) arise from inertia forces.

Example 7.5.1 (A Minimum-Time Trajectory).

A pick-and-place operation is to be performed with a n-axis manipulator in the shortest possible time. Moreover, the maneuver is defined so that the n-dimensional vector of joint variables is given by a common shape function s(x), with 0 ≤ x ≤ 1 and 0 ≤ s ≤ 1, which is prescribed. Thus, for a fixed n-dimensional vector $$\boldsymbol{\theta }_{0}$$, the time-history of the joint-variable vector, $$\boldsymbol{\theta }(t)$$, is given by

with T defined as the time taken by the maneuver, while $$\boldsymbol{\theta }_{0}$$ and $$\boldsymbol{\theta }_{0} + \Delta \boldsymbol{\theta }$$ are the values of the joint-variable vector at the pick- and the place-postures of the manipulator, respectively. These vectors are computed upon solving the inverse-displacement problem, as explained in Chap. 4. Furthermore, the load-carrying capacity of the manipulator is specified in terms of the maximum torques delivered by the motors, namely,

where the constant values $$\overline{\tau }_{i}$$ are to be found from data supplied by the manufacturer. In order to keep the analysis simple, we neglect power loses in this example. Find the minimum time in which the maneuver can take place.

Solution: Let us first calculate the vector of joint-rates and its time-derivative:

Now we substitute the above values into the mathematical model of Eq. (7.60), with $$\boldsymbol{\delta }(t) = \mathbf{0}$$ and $$\boldsymbol{\gamma }(t) = \mathbf{0}$$, thereby obtaining

with f(x) defined, of course, as

the 1∕T ² factor in the term of Coriolis and centrifugal forces stemming from the quadratic nature of the $$\mathbf{C}(\boldsymbol{\theta },\dot{\boldsymbol{\theta }})\dot{\boldsymbol{\theta }}$$ term. What we now have is the vector of motor torques, $$\boldsymbol{\tau }$$, expressed as a function of the scalar argument x. Now, let f i (x) be the ith component of vector f(x), and

We would then like to have each value F i produce the maximum available torque $$\overline{\tau }_{i}$$, namely,

and hence, for each joint we have a value T i of T given by

Obviously, the minimum value sought, T min, is nothing but the maximum of the foregoing values, i.e.,

thereby completing the solution.

7.5.1 Derivation of Constraint Equations and Twist–Shape Relations

In order to illustrate the general ideas behind the method of the natural orthogonal complement, we derive below the underlying kinematic constraint equations and the twist–shape relations. We first note, from Eq. (7.25a), that the relative angular velocity of the ith link with respect to the (i − 1)st link, $$\boldsymbol{\omega }_{i} -\boldsymbol{\omega }_{i-1}$$, is $$\dot{\theta }_{i}\mathbf{e}_{i}$$. Thus, if matrix E i is defined as the cross-product matrix of vector $$\mathbf{e}_{i}$$, then, the angular velocities of two successive links obey a simple relation, namely,

(7.63)

Furthermore, we rewrite now Eq. (7.33a) in the form

(7.64)

where D i and R i are defined as the cross-product matrices of vectors $$\boldsymbol{\delta }_{i}$$, defined in Sect. 7.4.1 as $$\mathbf{a}_{i} -\boldsymbol{\rho }_{i}$$, and $$\boldsymbol{\rho }_{i}$$, respectively. In particular, when the first link is inertial, Eqs. (7.63 and b), as pertaining to the first link, reduce to

(7.65a)

(7.65b)

Now, Eqs. (7.63) and (7.64), as well as their counterparts for i = 1, Eqs. (7.65a and b), are further expressed in terms of the link twists, thereby producing the constraints below:

(7.66a)

(7.66b)

with $$\mathbf{K}_{11}$$ and $$\mathbf{K}_{ij}$$, for $$i = 2,\ldots,n$$ and $$j = i - 1,i$$, defined as

(7.67a)

(7.67b)

(7.67c)

where 1 and O denote the 3 × 3 identity and zero matrices, respectively. Furthermore, from Eqs. (7.66a and b) and (7.67a–c), it is apparent that matrix K appearing in Eq. (7.55b) takes on the form

(7.68)

with O ₆ denoting the 6 × 6 zero matrix.

Further, the link-twists are expressed as linear combinations of the joint-rate vector $$\dot{\boldsymbol{\theta }}$$. To this end, we define the 6 × n partial Jacobian J i as the matrix mapping the joint-rate vector $$\dot{\boldsymbol{\theta }}$$ into the twist t i of that link, i.e.,

(7.69)

whose jth column, $$\mathbf{t}_{ij}$$, is given, for $$i,\,j = 1,\,2,\,\ldots,\,n$$, by

(7.70)

with $$\mathbf{r}_{ij}$$ illustrated in Fig. 7.6 and defined, for $$i,\,j = 1,\ldots,n$$, as

(7.71)

Fig. 7.6

Kinematic subchain comprising links $$j,\,j + 1\ldots,\,i$$

It is noteworthy that, for a given i and a given j ≤ i, a submanipulator of $$i - (j - 1)$$ axes is obtained. The $$\{\mathbf{r}_{ij}\}_{j=1}^{i}$$ vectors are the counterparts of the $$\{\mathbf{r}_{i}\}_{1}^{n}$$ vectors of Sect. 5.​2

We can thus readily express the twist $$\mathbf{t}_{i}$$ of the ith link as a linear combination of the first i joint rates, namely,

(7.72)

and hence, matrix T of Eq. (7.54) takes the form

(7.73)

As a matter of verification, one can readily prove that the product of matrix T, as given by Eq. (7.73), by matrix K, as given by Eq. (7.68), vanishes, and hence, relation (7.55b) holds.

The kinematic constraint equations on the twists, for the case in which the ith joint is prismatic, are derived likewise. In this case, we use Eqs. (7.34a and e), with the latter rewritten more conveniently for our purposes, namely,

(7.74a)

(7.74b)

We now introduce one further definition:

(7.75)

where $$\mathbf{D}_{i-1}^{{\prime}}$$ is the cross-product matrix of vector $$\boldsymbol{\delta }_{i-1}$$, defined in Sect. 7.4.1 as $$\mathbf{d}_{i-1} -\boldsymbol{\rho }_{i-1}$$, while R i is the cross-product matrix of $$\boldsymbol{\rho }_{i} + b_{i}\mathbf{e}_{i}$$. Hence, Eq. (7.74b) can be rewritten as

(7.76)

Upon multiplication of both sides of Eq. (7.76) by E i , the term in $$\dot{b}_{i}$$ cancels, and we obtain

(7.77)

Hence, Eqs. (7.74a) and (7.77) can now be regrouped in a single six-dimensional linear homogeneous equation in the twists, namely,

(7.78)

the associated matrices being defined below:

(7.79a)

(7.79b)

with 1 and O defined already as the 3 × 3 identity and zero matrices, respectively. If the first joint is prismatic, then the corresponding constraint equation takes on the form

(7.80)

with $$\mathbf{K}_{11}^{{\prime}}$$ defined as

(7.81)

Furthermore, if the kth pair is prismatic and 1 ≤ k ≤ i, then the twist $$\mathbf{t}_{i}$$ of the ith link changes to

(7.82)

where $$\mathbf{t}_{ik}^{{\prime}}$$ is defined as

(7.83)

In order to set up Eq. (7.60), then all we now need is $$\dot{\mathbf{T}}$$, which is computed below. Two cases will be distinguished again, namely, whether the joint at hand is a revolute or a prismatic pair. In the first case, from Eq. (7.70) one readily derives, for $$i,\,j = 1,2,\ldots,n$$,

(7.84)

where, from Eq. (7.71),

(7.85)

On the other hand, if the kth pair is prismatic and 1 ≤ k ≤ i, then from Eq. (7.83), the time-rate of change of $$\mathbf{t}_{ik}^{{\prime}}$$ becomes

(7.86)

thereby completing the desired derivations.

Note that the natural orthogonal complement can also be used for the inverse dynamics calculations. In this case, if the manipulator is subjected to a gravity field, then the twist-rate of the first link will have to be modified by adding a nonhomogeneous term to it, thereby accounting for the gravity-acceleration terms. This issue is discussed in Sect. 7.7.

7.5.2 Noninertial Base Link

Noninertial bases occur in space applications, e.g., in the case of a manipulator mounted on a space platform or on the space shuttle. A noninertial base can be readily handled with the use of the natural orthogonal complement, as discussed in this subsection. Since the base is free of attachments to an inertial frame, we have to add its six degrees of freedom (dof) to the n dof of the rest of the manipulator. Correspondingly, t, $${\mathbf{w}}^{C}$$, $${\mathbf{w}}^{A}$$, and w D now become 6(n + 1)-dimensional vectors. In particular, t takes the form

(7.87)

with t ₀ defined as the twist of the base. Furthermore, the vector of independent generalized speeds, $$\dot{\boldsymbol{\theta }}$$, is now of dimension n + 6, its first six components being those of t ₀, the other n remaining as in the previous case. Thus, $$\dot{\boldsymbol{\theta }}$$ has the components shown below:

(7.88)

Correspondingly, T becomes a $$6(n + 1) \times (n + 6)$$ matrix, namely,

(7.89)

where 1 is the 6 × 6 identity matrix, O denotes the 6 × n zero matrix, $${\mathbf{O}}^{{\prime}}$$ represents the 6n × 6 zero matrix, and $${\mathbf{T}}^{{\prime}}$$ is the 6n × n matrix defined in Eq. (7.73) as T. Otherwise, the model remains as in the case of an inertial base.

A word of caution is in order here. Because of the presence of the twist vector t ₀ in the definition of the vector of generalized speeds above, the latter cannot, properly speaking, be regarded as a time-derivative. Indeed, as studied in Chap. 3, the angular velocity appearing in the twist vector is not a time-derivative. Hence, the vector of independent generalized speeds defined in Eq. (7.88) is represented instead by v, which does not imply a time-derivative, namely,

(7.90)

7.6 Manipulator Forward Dynamics

Forward dynamics is needed either for purposes of simulation or for the model-based control of manipulators (Craig 1989), and hence, a fast calculation of the joint-variable time-histories $$\boldsymbol{\theta }(t)$$ is needed. These time-histories are calculated from the model displayed in Eq. (7.61), reproduced below for quick reference, in terms of vector $$\boldsymbol{\theta }(t)$$, i.e.,

(7.91)

Clearly, what is at stake here is the calculation of $$\boldsymbol{\ddot{\theta }}$$ from the foregoing model. Indeed, the right-hand side of Eq. (7.91) can be calculated with the aid of the Newton–Euler recursive algorithm, as we will describe below, and needs no further discussion for the time being. Now, the calculation of $$\boldsymbol{\ddot{\theta }}$$ from Eq. (7.91) is similar to the calculation of $$\dot{\boldsymbol{\theta }}$$ from the relation between the joint-rates and the twist, derived in Sect. 5.​2. From the discussion in that section, such calculations take a number of floating-point operations, or flops, that is proportional to n ³, and is thus said to have a complexity of O(n ³)—read “order n ³.” In real-time calculations, we would like to have a computational scheme of O(n). In attempting to derive such schemes, Walker and Orin (1982) proposed a procedure that they called the composite rigid-body method, whereby the number of flops is minimized by cleverly calculating $$\mathbf{I}(\boldsymbol{\theta })$$ and the right-hand side of Eq. (7.91) by means of the recursive Newton–Euler algorithm. In their effort, they produced an O(n ²) algorithm to calculate $$\boldsymbol{\ddot{\theta }}$$. Thereafter, Featherstone (1983) proposed an O(n) algorithm that is based, however, on the assumption that Coriolis and centrifugal forces are negligible. The same author reported an improvement to the aforementioned algorithm, namely, the articulated-body method, that takes into account Coriolis and centrifugal forces (Featherstone 1987.) The outcome, for a n-revolute manipulator, is an algorithm requiring 300n − 267 multiplications and 279n − 259 additions. For n = 6, these figures yield 1,533 multiplications and 1,415 additions. Li (1989) reported an O(n ²) algorithm leading to 783 multiplications and 670 additions.

In this subsection, we illustrate the application of the method of the natural orthogonal complement to the modeling of an n-axis serial manipulator for purposes of simulation. While this algorithm gives an O(n ³) complexity, its derivation is straightforward and gives, for a six-axis manipulator, a computational cost similar to that of Featherstone’s, namely, 1,596 multiplications and 1,263 additions. Moreover, a clever definition of coordinate frames leads to even lower figures, i.e., 1,353 multiplications and 1,165 additions, as reported by Angeles (1988). Further developments on robot dynamics using the natural orthogonal complement have been reported by Saha (1997, 1999, 2008), who proposed the decoupled natural orthogonal complement as a means to enable the real-time inversion of the mass matrix.

The manipulator at hand is assumed to be constituted by n moving links coupled by n kinematic pairs of the revolute or prismatic types. Again, for brevity, the base link is assumed to be inertial, noninertial bases being readily incorporated as described in Sect. 7.5.2. For the sake of conciseness, we will henceforth consider only manipulators mounted on an inertial base. Moreover, we assume that the generalized coordinates $$\boldsymbol{\theta }$$ and the generalized speeds $$\dot{\boldsymbol{\theta }}$$ are known at an instant t k , along with the driving torque $$\boldsymbol{\tau }(t)$$, for t ≥ t k , and of course, the DH and the inertial parameters of the manipulator are assumed to be known as well. Based on the foregoing information, then, $$\ddot{\boldsymbol{\theta }}$$ is evaluated at t k and, with a suitable integration scheme, the values of $$\boldsymbol{\theta }$$ and $$\dot{\boldsymbol{\theta }}$$ are determined at instant t k+1. Obviously, the governing equation (7.60) enables us to solve for $$\ddot{\boldsymbol{\theta }}(t_{k})$$. This requires, of course, the inversion of the n × n matrix of generalized inertia I. Since the said matrix is positive-definite, solving for $$\ddot{\boldsymbol{\theta }}$$ from Eq. (7.60) can be done economically using the Cholesky-decomposition algorithm (Dahlquist and Björck 1974). The sole remaining task is, then, the computation of I, the quadratic inertia term $$\mathbf{C}\dot{\boldsymbol{\theta }}$$, and the dissipative torque $$\boldsymbol{\delta }$$. The last of these is dependent on the manipulator and the constitutive model adopted for the representation of viscous and Coulomb friction forces and will not be considered at this stage. Models for dissipative forces will be studied in Sect. 7.8. Thus, the discussion below will focus on the computation of I and $$\mathbf{C}\dot{\boldsymbol{\theta }}$$ appearing in the mathematical model of Eq. (7.91).

Next, the 6n × 6n matrix M is factored as

(7.92)

which is possible because M is at least positive-semidefinite. In particular, for manipulators of the type at hand, M is positive-definite if no link-mass is neglected. Moreover, due to the diagonal-block structure of this matrix, its factoring is straightforward. In fact, H is given simply by

(7.93)

each 6 × 6 block H i of Eq. (7.93) being given, in turn, as

(7.94)

with 1 and O defined as the 3 × 3 identity and zero matrices, respectively. We thus have

(7.95)

Furthermore, N i can be obtained from the Cholesky decomposition of $$\mathbf{I}_{i}$$, while n i is the positive square root of m i , i.e.,

(7.96)

Now, since each $$6 \times 6\ \mathbf{M}_{i}$$ block is constant in body-fixed coordinates, the above factoring can be done off-line. From the foregoing definitions, then, the n × n matrix of generalized inertia I can now be expressed as

(7.97)

where P is defined, in turn, as the 6n × n matrix given below:

(7.98)

The computation of P is now discussed. If we recall the structure of T from Eq. (7.73) and that of H from Eq. (7.93), along with the definition of P, Eq. (7.98), we readily obtain

(7.99)

with 0 denoting the six-dimensional zero vector. Moreover, each of the above nontrivial six-dimensional arrays p ij is given as

(7.100)

Thus, the (i, j) entry of I is computed as the sum of the inner products of the (k, i) and the (k, j) blocks of P, for k = j, …, n, i.e.,

(7.101)

with both p ki and p kj expressed in $$\mathcal{F}_{k+1}$$ -coordinates, i.e., in kth-link coordinates. Now, the Cholesky decomposition of I can be expressed as

(7.102)

where L is an n × n lower-triangular matrix with positive diagonal entries. Moreover, Eq. (7.91) is now rewritten as

(7.103)

If we now recall Eq. (7.91), it is apparent that the term inside the parentheses in the right-hand side of the above equation is nothing but the torque required to produce the motion prescribed by the current values of $$\boldsymbol{\theta }$$ and $$\dot{\boldsymbol{\theta }}$$, in the absence of dissipative wrenches and with zero joint accelerations, when the manipulator is acted upon by a static wrench w W . That is, if we call $$\overline{\boldsymbol{\tau }}$$ the torque $$\boldsymbol{\tau }$$ of Eq. (7.91) under the foregoing conditions, then

(7.104)

which is most efficiently computed from inverse dynamics, using the recursive Newton–Euler algorithm, as described in Sect. 7.4. Now Eq. (7.102) is solved for $$\ddot{\boldsymbol{\theta }}$$ in two steps, namely,

(7.105a)

(7.105b)

In the above equations, then, x is first computed from Eq. (7.105a) by backward substitution. With x known, $$\ddot{\boldsymbol{\theta }}$$ is computed from Eq. (7.105b) by forward substitution, thereby completing the computation of $$\ddot{\boldsymbol{\theta }}$$. The complexity of the foregoing algorithm is discussed in Sect. 7.6.2.

Alternatively, $$\ddot{\boldsymbol{\theta }}$$ can be calculated in two steps from two linear systems of equations, the first one underdetermined, the second overdetermined. Indeed, if we let the product $$\mathbf{P}\ddot{\boldsymbol{\theta }}$$ be denoted by y, then the dynamics model of the manipulator, Eq. (7.60), along with the factoring of Eq. (7.97), leads to

(7.106a)

(7.106b)

Thus, in the above equations, y is calculated first as the minimum-norm solution of Eq. (7.106a); then, the desired value of $$\ddot{\boldsymbol{\theta }}$$ is calculated as the least-square approximation of Eq. (7.106b). These two solutions are computed most efficiently using an orthogonalization algorithm that reduces matrix P to upper-triangular form (Golub and Van Loan 1989). A straightforward calculation based on the explicit calculation of the generalized inverses involved is not recommended, because of the frequent numerical ill-conditioning incurred. Two orthogonalization procedures, one based on Householder reflections, the other on the Gram–Schmidt procedure, for the computation of both the least-square approximation of an overdetermined system of equations and the minimum-norm solution of its underdetermined counterpart are outlined in Appendix B.

The complexity of the foregoing calculations is discussed in Sect. 7.6.2, based on the Cholesky decomposition of the generalized inertia matrix, details on the alternative approach being available elsewhere (Angeles and Ma 1988).

Example 7.6.1 (Dynamics of a Spatial Three-Revolute Robot).

The robot of Fig. 4.​17 is reproduced in Fig. 7.7, in a form that is kinematically equivalent to the sketch of that figure, but more suitable for the purposes of this example. For this robot, (a) find its inertia matrix at the configuration depicted in that figure; (b) find the time-rate of change of the inertia matrix under a maneuver whereby $$\dot{\theta }_{1} = \dot{\theta }_{2} = \dot{\theta }_{3} = p\ \mathrm{{s}}^{-1}$$ and $$\ddot{\theta }_{1} = \ddot{\theta }_{2} = \ddot{\theta }_{3} = 0$$; and (iii) under the same maneuver, find the centrifugal and Coriolis terms of its governing equation. Furthermore, assume that all links are identical and dynamically isotropic. What we mean by “dynamically isotropic” is that the moment of inertia of all three links about their centers of mass are proportional to the 3 × 3 identity matrix, the proportionality factor being I. Moreover, all three links are designed so that the center of mass of each is located as shown in Fig. 7.7.

Fig. 7.7

Mass-center locations of the robot of Fig. 4.​23

Solution:

(a)

Henceforth, we represent all vectors and matrices with respect to the $$\mathcal{F}_{1}$$ -frame of Fig. 7.7, while denoting by i, j, and k the unit vectors parallel to the X ₁, Y ₁, and Z ₁ axes, respectively. Under these conditions, we have, for the unit vectors parallel to the revolute axes,

while vector a i is directed from the origin of $$\mathcal{F}_{i}$$ to that of $$\mathcal{F}_{i+1}$$, for i = 1, 2, 3. Hence,

Likewise, the position vectors of the centers of mass, $$\boldsymbol{\rho }_{i}$$, for i = 1, 2, and 3, with respect to the origins of their respective frames, are given by

We can now calculate the various six-dimensional arrays $$\mathbf{t}_{ij}$$, for i = 1, 2, 3, and j = 1 till i, i.e.,

and so, the 18 × 3 matrix T is given by

Moreover, the 6 × 6 inertia dyad of the ith link takes the form

with 1 and O denoting the 3 × 3 identity and zero matrices, respectively. Thus, the 18 × 18 system mass matrix is given as

and the 3 × 3 generalized inertia matrix I of the manipulator is

whose entries are given by

Upon expansion, the foregoing expressions yield

(b)

Now, the time-rate of change of I, $$\mathbf{\dot{I}}$$, is calculated as

We proceed first to compute $$\mathbf{\dot{T}}$$. This time-derivative is nothing but the 18 × 3 matrix whose entries are the time-derivatives of the entries of T, namely, $$\mathbf{\dot{t}}_{ij}$$, as given in Eq. (7.84), which is reproduced below for quick reference:

where $$\dot{\mathbf{r}}_{ij}$$ is given, in turn, by

Hence, we will need vectors $$\boldsymbol{\omega }_{i}$$, for i = 1, 2, and 3. These are calculated below:

We have, therefore,

Now, let

whose entries are displayed below:

Upon performing the foregoing operations, we end up with

the second term of the above expression for $$\dot{\mathbf{I}}$$ simply being $${\overline{\mathbf{P}}}^{T}$$. In order to compute the third term, we need the products $$\mathbf{W}\mathbf{M}$$ and $$\mathbf{M}\mathbf{W}$$. However, it is apparent that the latter is the negative of the transpose of the former, and so, all we need is one of the two terms. Furthermore, note that since both matrices M and W are block-diagonal, their product is block-diagonal as well, namely,

where for i = 1, 2, and 3,

with O denoting the 3 × 3 zero matrix, while $$\boldsymbol{\Omega }_{i}$$ is the cross-product matrix of vector $$\boldsymbol{\omega }_{i}$$. Moreover,

Therefore, $$\mathbf{W}_{i}\mathbf{M}_{i}$$ is skew-symmetric; as a consequence, $$\mathbf{W}\mathbf{M}$$ is also skew-symmetric, and the difference $$\mathbf{W}\mathbf{M} -\mathbf{M}\mathbf{W}$$ vanishes. Hence, in this particular case, $$\dot{\mathbf{I}}$$ reduces to

That is,

(c)

Now, the term of Coriolis and centrifugal forces can be computed in two ways, namely, (a) as $$({\mathbf{T}}^{T}\mathbf{M}\mathbf{\dot{T}} +{ \mathbf{T}}^{T}\mathbf{W}\mathbf{M}\mathbf{T})\dot{\boldsymbol{\theta }}$$, and (b) by using the Newton–Euler algorithm with $$\ddot{\theta }_{i} = 0$$, for i = 1, 2, and 3. We proceed in these two ways in order to verify the correctness of our results.

In proceeding with the first alternative, we already have the first term in the foregoing parentheses; the second term is now computed. First, we note that

with 0 defined as the six-dimensional zero vector. The foregoing nontrivial six-dimensional arrays are computed below:

where 0 now denotes the three-dimensional zero vector. Therefore,

and hence,

which turns out to be skew-symmetric. Notice, however, that this will not always be the case. The reason why the above product turned out to be skew-symmetric in this example is that the individual matrices $$\mathbf{W}_{i}$$ and $$\mathbf{M}_{i}$$ commute, a consequence of the assumed inertial isotropy, which leads to the isotropy of matrices $$\mathbf{I}_{i}$$, for i = 1, 2, and 3. Now, we have

with A defined as

Hence, the term of Coriolis and centrifugal forces is

thereby completing the desired calculations.

Now, in order to verify the correctness of the above results, we will compute the same term using the Newton–Euler algorithm. To this end, we set $$\ddot{\theta }_{i} = 0$$, for i = 1, 2, and 3, in that algorithm, and calculate the desired expression as the torque required to produce the joint rates given above.

Since we have already calculated the angular velocities, we will skip these calculations here and limit ourselves to center-of-mass velocities, angular accelerations, and center-of-mass accelerations. We thus have

Now, the acceleration calculations are implemented recursively, which yields

With the foregoing values, we can now implement the inward Newton–Euler recursions, namely,

and hence,

thereby completing the calculation of the term containing Coriolis and centrifugal forces, i.e.,

As the reader can verify, the natural orthogonal complement and the Newton–Euler algorithm produce the same result. In the process, the reader may have realized that when performing calculations by hand, the Newton–Euler algorithm is more prone to errors than the natural orthogonal complement, which is more systematic, for it is based on matrix–times–vector multiplications.

7.6.1 Planar Manipulators

The application of the natural orthogonal complement to planar manipulators is straightforward. Here, we assume that the manipulator at hand is composed of n links coupled by n joints of the revolute or the prismatic type. Moreover, for conciseness, we assume that the first link, labeled the base, is fixed to an inertial frame. We now adopt the planar representation of the twists and wrenches introduced in Sect. 5.​7; that is, we define the twist of the ith link and the wrench acting on it as three-dimensional arrays, namely,

(7.107)

where ω i is the scalar angular velocity of this link; $$\mathbf{\dot{c}}_{i}$$ is the two-dimensional velocity of its center of mass, C i ; n i is the scalar moment acting on the link; and $$\mathbf{f}_{i}$$ is the two-dimensional force acting at C i . Moreover, the inertia dyad is now a 3 × 3 matrix, i.e.,

(7.108)

with I i defined as the scalar moment of inertia of the ith link about an axis passing through its center of mass, in the direction normal to the plane of motion, while 0 is the two-dimensional zero vector and 1 is the 2 × 2 identity matrix.

Furthermore, the Newton–Euler equations of the ith link take on the forms

(7.109a)

(7.109b)

and so, these equations can now be cast in the form

(7.110)

where we have decomposed the total wrench acting on the ith link into its working component $$\mathbf{w}_{i}^{W}$$, supplied by the environment and accounting for motor and joint dissipative torques, and $$\mathbf{w}_{i}^{C}$$, the nonworking constraint wrench, supplied by the neighboring links via the coupling joints. The latter, it is recalled, develop no power, their sole role being to keep the links together. An essential difference from the general six-dimensional counterpart of the foregoing equation, namely, Eq. (7.48), is the lack of a quadratic term in ω i in Eq. (7.109a) and consequently, the lack of a $$\mathbf{W}_{i}\mathbf{M}_{i}\mathbf{t}_{i}$$ term in Eq. (7.110).

Upon assembling the foregoing 3n equations of motion, we obtain a system of 3n uncoupled equations in the form

Now, the wrench w W accounts for active forces and moments exerted on the manipulator, and so we can decompose this wrench into an actuator-supplied wrench w A and a gravity wrench $${\mathbf{w}}^{G}$$.

In the next step of the formulation, we set up the kinematic constraints in linear homogeneous form, as in Eq. (7.50), with the difference that now, in the presence of n kinematic pairs of the revolute or the prismatic type, K is a 3n × 3n matrix. Moreover, we set up the twist–shape relations in the form of Eq. (7.56), except that now, T is a 3n × n matrix. The derivation of the Euler–Lagrange equations for planar motion using the natural orthogonal complement, then, parallels that of general three-dimensional motion, the model sought taking the form

(7.111a)

with the definitions

(7.111b)

(7.111c)

We can illustrate best this formulation with the aid of the example below.

Example 7.6.2 (Dynamics of a Planar Three-Revolute Robot).

Derive the model of the robot of Fig. 7.1, under the assumptions of Example 7.3.1, but now using the natural orthogonal complement.

Solution: We start by deriving all kinematics-related variables, and thus,

Furthermore,

where

and hence, the 9 × 3 twist-shaping matrix T becomes

The 9 × 9 matrix of inertia dyads of this manipulator now takes the form

with each $$3 \times 3\ \mathbf{M}_{i}$$ matrix defined as

Now, the 3 × 3 generalized inertia matrix is readily derived as

whose entries are given below:

Upon expansion, the above entries result in exactly the same expressions as those derived in Example 7.3.1, thereby confirming the correctness of the two derivations. Furthermore, the next term in the Euler–Lagrange equations is derived below. Here, we will need $$\dot{\mathbf{T}}$$, which is readily derived from the above expression for T. In deriving this time-derivative, we note that in general, for i = 1, 2, 3,

and hence,

where $$\dot{\theta }_{12}$$ and $$\dot{\theta }_{123}$$ stand for $$\dot{\theta }_{1} + \dot{\theta }_{2}$$ and $$\dot{\theta }_{1} + \dot{\theta }_{2} + \dot{\theta }_{3}$$, respectively.

We now can perform the product $${\mathbf{T}}^{T}\mathbf{M}\mathbf{\dot{T}}$$, whose (i, j) entry will be represented as μ ij . Below we display the expressions for these entries:

Now, let us define

whose three components are given below:

The mathematical model sought, thus, takes the form

where $$\boldsymbol{\delta }= \mathbf{0}$$ because we have not included dissipation. Moreover, $$\boldsymbol{\gamma }$$ is derived as described below: Let $$\mathbf{w}_{i}^{G}$$ be the gravity wrench acting on the ith link, $${\mathbf{w}}^{G}$$ then being

and

Therefore,

i.e.,

But

Hence,

with the definitions for c ₁, c ₁₂, and c ₁₂₃ introduced in Example 7.3.1. As the reader can verify, the foregoing model is identical to the model derived with the Euler–Lagrange equations in that example.

7.6.2 Algorithm Complexity

The complexity of this algorithm is analyzed with regard to the three items involved, namely, (a) the evaluation of L, (b) the solution of systems (7.105a and b), and (c) the computation of $$\overline{\boldsymbol{\tau }}$$.

The evaluation of L involves, in turn, the three following steps: (a) the computation of P; (b) the computation of I; and (c) the Cholesky decomposition of I into the product $${\mathbf{L}}^{T}\mathbf{L}$$.

(i.a)

In the computation of P, it is recalled that $$\mathbf{H}_{i}$$, $$\mathbf{a}_{i}$$, and $$\boldsymbol{\rho }_{i}$$, and consequently, $$\boldsymbol{\delta }_{i} \equiv \mathbf{a}_{i} -\boldsymbol{\rho }_{i}$$, are constant in $$\mathcal{F}_{i+1}$$, which is the frame fixed to the ith link. Moreover, at each step of the algorithm, both revolute and prismatic pairs are considered. If the jth joint is a revolute, then the logical variable R is true; if this joint is prismatic, then R is false. Additionally, it is recalled that e i+1, in $$\mathcal{F}_{i}$$ -coordinates, is simply the last column of Q i . The columnwise evaluation of P, with each $$\mathbf{p}_{ij}$$ array in $$\mathcal{F}_{i+1}$$ -coordinates, is described in Algorithm 7.6.1. Note that in this algorithm, $$\mathbf{r}_{ij}$$ is calculated recursively from $$\mathbf{r}_{i-1,j}$$. To do this, we use the relation between these two vectors, as displayed in Fig. 7.8.

Fig. 7.8

Recursive calculation of vectors $$\mathbf{r}_{ij}$$

(i.b)

Now we go on to the computation of I, as described in Algorithm 7.6.2. In that algorithm, the subscripted brackets indicate that the vectors inside these brackets are represented in $$\mathcal{F}_{k+1}$$ coordinates.

(i.c)

Because the Cholesky decomposition of a positive-definite matrix is a standard item, it is not discussed here. This step completes the computation of L.

(ii)

The solution of systems (7.105a and 7.105b) is a standard issue as well, and hence, needs no further discussion.

(iii)

The term $$\overline{\boldsymbol{\tau }}$$ is computed using the recursive Newton–Euler formulation, as discussed in Sect. 7.4. To do this, we calculate $$\boldsymbol{\overline{\tau }}$$ by setting $$\ddot{\boldsymbol{\theta }}= \mathbf{0}$$ in that procedure, which introduces a slight simplification of the complexity of the inverse-dynamics algorithm.

Below we determine the computational complexity of each of the foregoing steps.

(i.a)

This step includes Algorithm 7.6.1, which involves two nested do-loops. The first statement of the outermost loop involves no floating-point operations; the second statement involves (a) one multiplication of a matrix by a vector, (b) one cross product, and (c) one multiplication of a scalar, $$n_{j}(= \sqrt{m_{j}})$$, by a vector, $$[\,\mathbf{e}_{j}\,]_{j+1}$$, which, according to Eq. (4.​15), equals $$\mathbf{o}_{j}$$, the third row of $$\mathbf{Q}_{j}$$. In light of Eq. (4.​7), this vector involves only two nonzero components, the product $$n_{j}[\,\mathbf{e}_{j}\,]_{j+1}$$ thus consuming only two multiplications and zero additions. Of the last three items, (a) is done off-line, for the matrix and the vector factors are both constant in $$\mathcal{F}_{j+1}$$ -coordinates, and so, this operation is not counted. Moreover, item (b) is nothing but the cross product of vector $$[\,\mathbf{e}_{j}\,]_{j+1} \equiv {[\,0,\,0,\,1\,]}^{T}$$ by vector $$\mathbf{r}_{jj}$$. A similar operation was already discussed in connection with Algorithm 4.1 and was found to involve zero floating-point operations, for the result is, simply, $$[\,\mathbf{e}_{j} \times \mathbf{r}_{jj}\,]_{j+1} = {[\,-y,\,x,\,0\,]}^{T}$$, with x and y denoting the X j+1 and Y j+1 components of $$\mathbf{r}_{jj}$$. Hence, item (b) requires no floating-point operations, while item (c) requires 2n multiplications and zero additions.

The innermost do-loop, as pertaining to revolute manipulators, involves two coordinate transformations between two consecutive coordinate frames, from $$\mathcal{F}_{i}$$ - to $$\mathcal{F}_{i+1}$$ -coordinates, plus one vector sum, which consumes 16(n − i) multiplications and 11(n − i) additions; this loop also consumes one matrix-times-vector multiplication, one cross product and one scalar-times-vector multiplication, which requires 18(n − i) multiplications and 9(n − i) additions. Thus, the total numbers of operations required by this step, for an n-revolute manipulator, are M ia multiplications and A ia additions, as given below:

(7.112a)

(7.112b)

the presence of prismatic pairs reducing the above figures.

(i.b)

This step, summarized in Algorithm 7.6.2, is also composed of two do-loops, each containing the inner product of two six-dimensional arrays, and hence, requires six multiplications and five additions. Moreover, in the outermost do-loop, this operation is performed n times, whereas in the innermost loop, $$\sum _{i=1}^{n}(n - i)$$ times, i.e., $$n(n - 1)/2$$ times. Thus, the step requires M ib multiplications and A ib additions, as given below:

(7.113)

(i.c)

This step performs the Cholesky decomposition of a n × n symmetric and positive-definite matrix, a standard operation that requires M ic multiplications and A ic additions (Dahlquist and Björck 1974), namely,

(7.114)

(ii)

In this step, the two triangular systems of equations, Eqs. (7.105a and b), are solved first for x and then for $$\ddot{\boldsymbol{\theta }}$$. The numbers of operations it takes to solve each of the two systems, as derived by Dahlquist and Björck (1974), are repeated below for quick reference; these are labelled M ii and A ii , respectively, i.e.,

(7.115)

(iii)

In this step, $$\overline{\boldsymbol{\tau }}$$ is computed from inverse dynamics, with $${\mathbf{w}}^{D} = \mathbf{0}$$ and $$\ddot{\boldsymbol{\theta }}= \mathbf{0}$$. If this calculation is done with the Newton–Euler formulation, we then have the computational costs given in Eq. (7.43), and reproduced below for quick reference:

(7.116)

Because of the simplifications introduced by setting the joint accelerations equal to zero, the foregoing figures are, in fact, slightly lower than those required by the general recursive Newton–Euler algorithm.

Thus, the total numbers of multiplications and additions required for the forward dynamics of a n-revolute, serial manipulator are

(7.117)

In particular, for a six-revolute manipulator, one obtains

(7.118)

Upon introducing a modified Denavit–Hartenberg labeling of coordinate frames and a very careful management of the computations involved the number of floating-point operations became 1,353 multiplications and 1,165 additions (Angeles and Ma 1988). Nevertheless, the total number of operations, 2,518, remained the same.

7.6.3 Simulation

The purpose of the algorithm introduced above is to enable us to predict the behavior of a given manipulator under given initial conditions, applied torques, and applied loads. The ability of predicting this behavior is important for several reasons: for example, in design, we want to know whether with a given selection of motors, the manipulator will be able to perform a certain typical task in a given time frame; in devising feedback control schemes, where stability is a major concern, the control engineer cannot risk a valuable piece of equipment by exposing it to untested control strategies. Hence, a facility capable of predicting the behavior of a robotic manipulator, or of a system at large, for that matter, becomes imperative.

The procedure whereby the motion of the manipulator is determined from initial conditions and applied torques and loads is known as simulation. Since we start with a second-order n-dimensional system of ODE in the joint variables of the manipulator, we have to integrate this system in order to determine the time-histories of all joint variables, which are grouped in vector $$\boldsymbol{\theta }$$. With current software available, this task has become routine work, the user being freed from the quite demanding task of writing code for integrating systems of ODE. Below we discuss a few issues pertaining to the implementation of the simulation-related algorithms available in commercial software packages.

As a rule, simulation code requires that the user supply a state-variable model of the form of Eq. (7.45), with the state-variable vector, or state-vector for brevity, x, and the input or control vector u defined as

(7.119)

With the above definitions, then we can write the state-variable equations, or state equations for brevity, in the form of Eq. (7.45), with $$\mathbf{f}(\mathbf{x},\,\boldsymbol{\tau })$$ given by

(7.120)

thereby obtaining a system of 2n first-order ODE in the state-variable vector x defined above. Various methods are available to solve the ensuing initial-value problem, all of them being based on a discretization of the time variable. That is, if the behavior of the system is desired in the interval $$t_{0} \leq t \leq t_{F}$$, then the software implementing these methods provides approximations $$\{\,\mathbf{y}_{k}\,\}_{1}^{N}$$ to the state-variable vector at a discrete set of instants, $$\{\,t_{k}\,\}_{0}^{N}$$, with $$t_{N} \equiv t_{F}$$.

The variety of methods available to solve the underlying initial-value problem can be classified into two main categories, explicit methods and implicit methods. The former provide $$\mathbf{y}_{k+1}$$ explicitly in terms of previously computed values. On the contrary, implicit methods provide $$\mathbf{y}_{k+1}$$ in terms of previously computed values $$\mathbf{y}_{k}$$, $$\mathbf{y}_{k-1}$$, $$\ldots$$, etc., and $$\mathbf{y}_{k+1}$$ itself. For example, in the simplest of implicit methods, namely, the backward Euler method, we can approximate the integral of f in the interval $$t_{k} \leq t \leq t_{k+1}$$ by resorting to the trapezoidal rule (Kahaner et al. 1989), which leads to the expression

(7.121)

In Eq. (7.121), h k is the current time-step $$t_{k+1} - t_{k}$$ and $$\mathbf{f}(t_{k+1},\mathbf{y}_{k+1})$$ can be an arbitrary function of $$\mathbf{y}_{k+1}$$. If this function is nonlinear in the said variable, then, a direct—as opposed to iterative—computation of $$\mathbf{y}_{k+1}$$ is very unlikely. Hence, most likely an iterative scheme must be implemented at every integration stage of an implicit method. While this feature might render implicit schemes unattractive, they offer interesting advantages. Indeed, the iterative procedure mentioned above requires a tolerance to decide when and whether the procedure has converged. The convergence criterion imposed thus brings about a self-correcting effect that helps keep the unavoidable truncation error under control. This error is incurred when approximating both the time derivative $$\dot{\mathbf{x}}$$ and the integral of f by floating-point operations.

Current software provides routines for both implicit and explicit methods, the user having to decide which method to invoke. Of the explicit methods in use, by far the most common ones are the Runge–Kutta methods. Of these, there are several versions, depending on the number of evaluations of the function $$\mathbf{f}(t_{i},\mathbf{y}_{i})$$, for various values of i, that they require. A two-stage Runge–Kutta method, for example, requires two function evaluations, while a four-stage Runge–Kutta method requires four. The self-correcting feature of implicit methods, not present in Runge–Kutta methods—to be sure, implicit Runge–Kutta methods also exist (Gear 1971), but these are less common than their explicit counterparts—is compensated for by a clever strategy that consists in computing $$\mathbf{y}_{k+1}$$ using two Runge–Kutta schemes of different numbers of stages. What is at stake here is the magnitude of the local error in computing $$\mathbf{y}_{k+1}$$, under the assumption that $$\mathbf{y}_{k}$$ is error-free. Here, the magnitude of the error is of order h p , where p is the order of the method in use. In Runge–Kutta methods, the order of the method is identical to its number of stages. In general, a method is said to be of order p if it is capable of computing exactly the integral of an ordinary differential equation, provided that the solution is known to be a pth-degree polynomial. Now, upon computing $$\mathbf{y}_{k+1}$$ using two Runge–Kutta schemes with N and N + 1 stages, we can compare the two computed values reported by each method, namely, $$\mathbf{y}_{k+1}^{N}$$ and $$\mathbf{y}_{k+1}^{N+1}$$. If a norm of the difference of these two values is smaller than a user-prescribed tolerance, then the step size in use is acceptable. If not, then the step size is halved, and the process is repeated until the foregoing norm is within the said tolerance. The most common Runge–Kutta methods are those combining two and three stages and those combining four and five.

A drawback of Runge–Kutta methods is their inability to deal with what are known as stiff systems, first identified by Gear (1971). As defined by Shampine and Gear (1979), a system of ordinary differential equations is said to be stiff if it is not unstable and its linear part—i.e., the linear part of the series expansion of f, evaluated at the current instant—comprises a coefficient matrix that has an eigenvalue with a negative real part whose absolute value is much greater than that of the other eigenvalues. In other words, stiff systems of ODE are stable systems with very different time scales. Thus, stiff systems are not inherently difficult to integrate, but they require a special treatment. Gear’s method, which is implicit, provides exactly the means to handle stiff systems. However, methods like Runge–Kutta’s, with excellent performance for nonstiff systems, perform rather poorly for stiff systems, and the other way around. The mathematical models that arise in robotic mechanical systems are likely to be stiff because of the various orders of magnitude of the physical parameters involved. For example, robotic manipulators are provided, usually, with links close to the base that are heavy and with links far from the base that are light. As a consequence, when simulating robotic mechanical systems, a provision must be made for numerical stiffness.

Commercial software for scientific computations offers Runge–Kutta methods of various orders, with combinations thereof. For example, IMSL offers excellent FORTRAN routines, like IVPRK, for the implementation of Runge–Kutta methods, while Matlab’s Simulink toolbox offers the C functions ode23 and ode45 for the implementation of second-and-third and fourth-and-fifth-order Runge–Kutta methods. With regard to stiff systems, IMSL offers a subroutine, IVPAG, implementing both Adams’s and Gear’s methods, while Simulink offers the adams and gear functions for the implementation of either of these. Since Matlab is written in C, communication between Matlab and FORTRAN programs is not as direct as when using IMSL, which may be disappointing to FORTRAN users. Details on linking FORTRAN code with Matlab and other related issues are discussed in the pertinent literature (Etter 1997). Moreover, the FORTRAN SDRIV2 subroutine (Kahaner et al. 1989) comprises features that allow it to handle both stiff and nonstiff systems.

7.7 Incorporation of Gravity into the Dynamics Equations

Manipulators subjected to gravity fields have been discussed in Sect. 7.4 in connection with the Newton–Euler algorithm and with Kane’s equations. As found in that section, gravitational forces can be incorporated into the underlying models without introducing any major modifications that would increase the computational load if the method of Luh et al. (1980) is adopted. Within this approach, gravitational forces are taken into account by defining the acceleration of the center of mass of the 0th link, the base link, as equal to −g, the negative of the gravity-acceleration vector. The effect of this approach is to propagate the gravity effect into all the links composing the manipulator. Thus, the kinematics algorithm of Sect. 7.4 need not be modified in order to include gravity forces, for all that is needed is to declare

(7.122)

If inverse dynamics is computed with the natural orthogonal complement, then the twist-rate of the first link will have to be modified by adding a nonhomogeneous term to it, thereby accounting for the gravity-acceleration terms. That is,

(7.123)

Otherwise, the foregoing algorithms require no modifications. Furthermore, with regard to simulation, it is pointed out that the $$\overline{\boldsymbol{\tau }}$$ term defined in Eq. (7.104), and appearing in the right-hand side of Eq. (7.105a), is computed from inverse dynamics with zero frictional forces and zero joint accelerations.

7.8 The Modeling of Dissipative Forces

Broadly speaking, frictional forces are of two basic types, namely, (a) viscous forces and (b) Coulomb, or dry-friction, forces. The latter occur when contact between two solids takes place directly, the former when contact between the solids takes place via a viscous fluid, e.g., a lubricant. In the analysis of viscous fluids, a basic assumption is that the relative velocity between the fluid and the solid vanishes at the fluid–solid interface, i.e., at the solid boundary confining the fluid. Hence, a velocity gradient appears within the fluid, which is responsible for the power dissipation inside it. In fact, not all the velocity gradient within the fluid, but only its symmetric part, is responsible for power dissipation; the skew-symmetric part of the velocity gradient accounts for a rigid-body rotation of a small fluid element. Thus, if a velocity field $$\mathbf{v}(\mathbf{r},t)$$ is defined within a region $$\mathcal{R}$$ occupied by a viscous fluid, for a point of the fluid of position vector r at a time t, then, the velocity gradient $$\mathrm{grad}(\mathbf{v}) \equiv \partial \mathbf{v}/\partial \mathbf{r}$$, can be decomposed as

(7.124)

where D and W are the symmetric and the skew-symmetric parts of the velocity gradient, i.e.,

(7.125)

The kinematic interpretation of D and W is given below: The former accounts for a distorsion of an infinitesimally small spherical element of fluid into a three-axis ellipsoid, the ratios of the time rates of change of the lengths of the three axes being identical to the ratios of the real eigenvalues of D; the latter accounts for the angular velocity of the ellipsoid as a rigid-body. Clearly, both D and W change from point to point within the fluid and also from time to time, i.e.,

(7.126)

Since the skew-symmetric matrix W accounts only for the rotation of a differential element of fluid as a rigid body, it cannot be responsible for any energy dissipation, and hence, the only part that is responsible for this is D. In fact, for a linearly viscous, incompressible fluid of viscosity coefficient μ, the power dissipated within $$\mathcal{R}$$ is given by

(7.127)

Now, if the motion of the lubricant separating the two cylindrical surfaces of a revolute pair is modeled as a purely tangential velocity field (Currie 1993), which assumes that the two cylinders remain concentric, then the foregoing expression for $${\Pi }^{D}$$ leads to the dissipation function

(7.128)

where $$\dot{\theta }$$ is the relative angular speed between the two cylinders and the coefficient β is a function of the lubricant viscosity and the geometry of the kinematic pair at hand. If the kinematic pair under study is prismatic, then we can model the motion of the lubricant between the two prismatic surfaces as a Couette flow between a pair of parallel surfaces of the sides of the prism. Under these conditions, then, the associated dissipation function $$\Delta $$ takes on the same form of that given for a revolute pair in Eq. (7.128), in which the sole difference is that $$\dot{\theta }$$ changes to $$\dot{b}$$, the time rate of change of the associated joint variable. Of course, $$\dot{b}$$ is the relative speed between the two prismatic surfaces. Thus in any event, the dissipation function of the ith joint due to linearly viscous effects can be written as

(7.129)

where $$\dot{\theta }_{i}$$ changes to $$\dot{b}_{i}$$ if the ith pair is prismatic. The dissipation function thus arising then reduces to

(7.130)

where the constant n × n matrix B is given by

(7.131)

and hence, the generalized force $${\boldsymbol{\delta }}^{V }$$ associated with linearly viscous effects is linear in the vector of joint rates, $$\dot{\boldsymbol{\theta }}$$, i.e.,

(7.132)

and so, $$\Delta = -(1/2){\Pi }^{D}$$.

Coulomb, or dry friction, is much more difficult to model. If δ i C denotes either the dissipative torque produced by Coulomb friction at a revolute or the dissipative force produced by Coulomb friction at a prismatic joint, and $$\dot{\theta }_{i}$$ the associated joint rate, then, the simplest model for the resulting generalized Coulomb-friction force is

(7.133)

where $$\mathrm{sgn}(\cdot )$$ denotes the signum function, which is defined as + 1 or − 1, depending on whether its argument is positive or negative, and τ i C is a positive constant representing a torque for revolute joints or a force for prismatic joints. The numerical value of this constant is to be determined experimentally. The foregoing model leads to a simple expression for the associated dissipation function, namely,

(7.134)

The Coulomb dissipation function for the overall manipulator is, then,

(7.135)

The foregoing simplified model of Coulomb friction forces is applicable when the relative speed between the two surfaces in contact is high. However, at low relative speed, that model becomes inaccurate. In robotics applications, where typical end-effector maximum speeds are of the order of 1 m/s, relative speeds are obviously low, and hence, a more accurate model should be introduced. Such a model should account for the empirical observation that Coulomb frictional forces are higher at low relative speeds and become constant at very high relative speeds. A model taking this fact into account has the form

(7.136)

where γ i , and ε i are constants associated with the ith joint and are to be determined experimentally. The foregoing expression readily leads to the dissipation function associated with the same joint, namely,

(7.137)

and hence, the Coulomb dissipation function of the overall manipulator becomes

(7.138)

Dissipation functions are very useful. On the one hand, they allow us to obtain associated generalized frictional forces when these are difficult, if not impossible, to express in formula form. On the other hand, since dissipation functions represent nonrecoverable forms of power, their integrals over time yield the dissipated energy. Moreover, the energy dissipated into unrecoverable heat can be estimated from an energy balance, and hence, the parameters associated with that dissipation function can be estimated with suitable identification techniques, once a suitable model for a dissipation function is available. Furthermore, the said parameters appear in the generalized frictional forces as well. For this reason, knowing these parameters is essential for the modeling of the corresponding generalized frictional forces.

7.9 Exercises

7.1

Show that:

(a)

the 6n-dimensional manipulator twist lies in the null space of the 6n × 6n manipulator angular velocity matrix W;

(b)

the time-derivative of the 6n × 6n manipulator mass matrix M is given by

(c)

thereby verifying Eq. (7.15).

7.2

In order to gain insight into the meaning of vector $$\boldsymbol{\gamma }$$, as defined in Example 7.3.1, we define a similar vector $$\boldsymbol{\eta }$$ as

Compute $$\boldsymbol{\eta }$$ for that example and compare the result with $$\boldsymbol{\gamma }$$.

7.3

The decoupled robot of Fig. 4.​23 is to undergo a maneuver, at the posture displayed in that figure, that involves the velocity and acceleration specifications given below, in base coordinates:

Compute the joint torques required to drive the robot through the desired maneuver, if the robot is known to have the inertial parameters given below:

Fig. 7.9

Three different pairs of coupled bodies

where m i , $$\boldsymbol{\rho }_{i}$$, and $$\mathbf{I}_{i}$$ are given in units of kg, m and kg m², respectively, with the position vectors of the centers of mass and the moment-of-inertia matrices given in link-fixed coordinates. Note: Assume that Z ₇ is perpendicular to Z ₅ and Z ₆ , with O ₇ located at the OP of the EE.

7.4

Derive homogeneous, linear constraint equations on the twists of the pairs of coupled bodies appearing in Fig. 7.9, namely,

Fig. 7.10

A three-revolute spherical wrist

(a)

two rigid pulleys coupled by an inextensible belt, under no slip;

(b)

the bevel pinion-and-gear train with axes intersecting at an arbitrary angle α;

(c)

the cam-and-follower mechanism whose cam disk is an eccentric circular disk.

Notice that the constraint equations sought should have the form:

with $$\mathbf{t}_{1}$$ and $$\mathbf{t}_{2}$$ denoting the twists of bodies 1 and 2, respectively.

7.5

Use the expressions derived in Example 7.6.2 with the aid of the natural orthogonal complement, as pertaining to the planar manipulator of Fig. 7.1, to obtain an expression for the time-derivative of the inertia matrix of this manipulator. Compare the expression thus obtained with that derived in Example 7.3.1, and verify that the difference $$\dot{\mathbf{I}} - 2\mathbf{C}$$ is skew-symmetric—see Exercise 12.6—where C is the matrix coefficient of the Coriolis and centrifugal terms.

7.6

A three-revolute spherical wrist with an orthogonal architecture, i.e., with neighboring joint axes at right angles, is shown in Fig. 7.10. Assume that the moments of inertia of its three links with respect to O, the point of concurrency of the three axes, are given by constant diagonal matrices, in link-fixed coordinates, as

while the potential energy of the wrist is

Moreover, the motors produce torques $$\tau _{4},\tau _{5}$$, and τ ₆, respectively, whereas the power losses can be accounted for via a dissipation function of the form

where b i and τ i C , for i = 4, 5, 6, are constants.

(a)

Derive an expression for the matrix of generalized inertia of the wrist.

(b)

Derive an expression for the term of Coriolis and centrifugal forces.

(c)

Derive the dynamical model of the wrist. Hint: The kinetic energy T of a rigid body rotating about a fixed point O with angular velocity $$\boldsymbol{\omega }$$ can be written as $$T = \frac{1} {2}{\boldsymbol{\omega }}^{T}\mathbf{I}_{ O}\boldsymbol{\omega }$$ , where I O is the moment-of-inertia matrix of the body with respect to O.

Fig. 7.11

A two-revolute pointing manipulator

7.7

Shown in Fig. 7.11 is a two-revolute pointing manipulator. The centroidal inertia matrices of the links are denoted by I ₁ and I ₂. These are given, in link-fixed coordinates, by:

Moreover, the centers of mass of the links are denoted by C ₁ and C ₂, respectively, and are shown in the same figure, the masses being denoted by m ₁ and m ₂.

(a)

Determine the kinetic energy of the manipulator as a quadratic function of $$\dot{\theta }_{1}$$ and $$\dot{\theta }_{2}$$.

(b)

Determine the 2 × 2 matrix of generalized inertia.

(c)

Find an expression for the time-rate of change of the matrix of generalized inertia by straightforward differentiation of the expression found in item (b).

(d)

Repeat item (c), but now by differentiation of the three factors of I, as given in

7.8

The twist t i of the ith link of an n-dof serial manipulator can be expressed as

where $$\mathbf{T}_{i}$$ is a 6 × n link-twist-shaping matrix and $$\dot{\boldsymbol{\theta }}$$ is the n-dimensional vector of actuated joint rates. Moreover, let $$\mathbf{M}_{i}$$ and $$\mathbf{W}_{i}$$ be the 6 × 6 matrices defined in Sect. 7.3. Show that if the link is constrained to undergo planar motion, then the product $$\mathbf{T}_{i}^{T}\mathbf{W}_{i}\mathbf{M}_{i}\mathbf{T}_{i}$$ vanishes.

7.9

Devise a recursive algorithm to compute the joint torques required to balance a wrench w acting at the EE of a six-revolute manipulator of arbitrary architecture. Then, derive the number of floating-point operations (multiplications and additions) required to compute these torques, and compare your result with the number of floating point operations required to compute the same by matrix–times–vector multiplications, using the transpose Jacobian.

7.10

Establish the computational cost incurred in computing the term of Coriolis and centrifugal forces of an n-revolute serial manipulator, when the Newton–Euler algorithm is used for this purpose.

7.11

Shown in Fig. 7.12 is an RRP manipulator, whose DH parameters are displayed in Table 7.5. The masses of its three moving links are denoted by m ₁, m ₂, and m ₃, and the center of mass of each of links 1 and 2 coincides with O ₁, while the center of mass of link 3 is located at P. Moreover, the centroidal moments of inertia of these links are, in link-fixed coordinates,

where 1 denotes the 3 × 3 identity matrix.

(a)

Derive the Euler–Lagrange equations of the manipulator under the assumption that gravity acts in the direction of X ₁.

(b)

Find the generalized inertia matrix of the manipulator.

Fig. 7.12

An RRP spatial manipulator

Table 7.5

DH parameters of the RRP manipulator

i

a i

b i

α i

1

0

0

90∘

2

0

0

90∘

3

0

b ₃

0∘

7.12

A link is said to be inertially isotropic if its three principal moments of inertia are identical.

(a)

Show that any direction is a principal axis of inertia of an inertially isotropic link.

(b)

Explore the advantages of a manipulator with inertially isotropic links with regard to its real-time control, i.e., find the savings in floating-point operations required to compute the recursive Newton–Euler algorithm of such a manipulator.

7.13

Devise an algorithm similar to Algorithm 7.6.1, but applicable to planar manipulators, and determine the computational costs involved in its implementation.

7.14

Write a piece of code to evaluate numerically the inertia matrix of an n-axis manipulator and test it with the manipulator of Example 7.6.2. For this purpose, assume that I = ma ².

7.15

With reference to the mathematical model of a n-dof serial manipulator of Eq. (7.60), show that the matrix difference $$\boldsymbol{\Delta } \equiv \dot{\mathbf{I}} - 2\mathbf{C}$$ is skew-symmetric. This result is important, because it leads to the stabilization of the manipulator with the aid of a simple proportional-derivative (PD) controller (Spong et al. 2006).

References

Angeles, J., 1988, Rational Kinematics, Springer-Verlag, New York.CrossRefMATH

Angeles, J. and Lee, S., 1988, “The formulation of dynamical equations of holonomic mechanical systems using a natural orthogonal complement”, ASME J. Applied Mechanics 55, pp. 243–244.CrossRefMATH

Angeles, J. and Ma, O., 1988, “Dynamic simulation of n-axis serial robotic manipulators using a natural orthogonal complement”, The Int. J. Robotics Res. 7, no. 5, pp. 32–47.CrossRef

Angeles, J., Ma, O., and Rojas, A.A., 1989, “An algorithm for the inverse dynamics of n-axis general manipulators using Kane’s formulation of dynamical equations”, Computers and Mathematics with Applications 17, no. 12, pp. 1545–1561.CrossRefMATH

Balafoutis, C.A. and Patel, R.V., 1991, Dynamic Analysis of Robot Manipulators: A Cartesian Tensor Approach, Kluwer Academic Publishers, Dordrecht.CrossRefMATH

Bryson, Jr., A.E. and Ho, Y-C., 1975, Applied Optimal Control: Optimization, Estimation, and Control, Hemisphere Publishing Corporation, Washington, DC.

Craig, J.J., 1989, Introduction to Robotics: Mechanics and Control, 2nd Edition, Addison-Wesley Publishing Company, Reading, MA.MATH

Currie, I.G., 1993, Fundamental Mechanics of Fluids, 2nd Edition, McGraw-Hill Book Company, New York.MATH

Dahlquist, G. and Björck, Å., 1974, Numerical Methods, Prentice-Hall, Englewood Cliffs, NJ.MATH

Etter, D.M., 1997, Engineering Problem Solving with Matlab, Prentice-Hall, Upper Saddle River, NJ.

Featherstone, R., 1983, “Position and velocity transformations between robot end-effector coordinates and joint angles”, The Int. J. Robotics Res. 2, no. 2, pp. 35–45.CrossRef

Featherstone, R., 1987, Robot Dynamics Algorithms, Kluwer Academic Publishers, Dordrecht.

Gear, C.W., 1971, Numerical Initial Value Problems in Ordinary Differential Equations, Prentice-Hall, Englewood Cliffs, NJ.MATH

Golub, G.H. and Van Loan, C.F., 1989, Matrix Computations, The Johns Hopkins University Press, Baltimore.MATH

Hollerbach, J.M., 1980, “A recursive Lagrangian formulation of manipulator dynamics and a comparative study of dynamic formulation complexity”, IEEE Trans. Systems, Man, and Cybernetics SMC-10, no. 11, pp. 730–736.

Hollerbach, J.M. and Sahar, G., 1983, “Wrist-partitioned inverse kinematic accelerations and manipulator dynamics”, The Int. J. Robotics Res. 2, no. 4, pp. 61–76.CrossRef

Kahaner, D., Moler, C., and Nash, S., 1989, Numerical Methods and Software, Prentice-Hall, Englewood Cliffs, NJ.MATH

Kahn, M. E. 1969. “The near-minimum time control of open-loop articulated kinematic chains”, AI Memo 177, Artificial Intelligence Laboratory, Stanford University, Stanford. Also see Kahn, M.E., and Roth, B., 1971, “The near-minimum-time control of open-loop articulated kinematic chains”, ASME J. Dyn. Systs., Meas., and Control, 91, pp. 164–172.

Kane, T.R., 1961, “Dynamics of nonholonomic systems”, ASME J. Applied Mechanics 83, pp. 574–578.MathSciNetCrossRefMATH

Kane, T.R. and Levinson, D.A., 1983, “The use of Kane’s dynamical equations in robotics”, The Int. J. Robotics Res. 2, no. 3, pp. 3–21.CrossRef

Khalil, W., Kleinfinger, J.F., and Gautier, M., 1986, “Reducing the computational burden of the dynamical models of robots”, Proc. IEEE Int. Conf. on Robotics & Automation,, San Francisco, pp. 525–531.

Li, C.-J., 1989, “A new Lagrangian formulation of dynamics of robot manipulators”, ASME J. Dyn. Systs., Meas., and Control, 111, pp. 559–567.

Li, C.-J. and Sankar, 1992, “Fast inverse dynamics computation in real-time robot control”, Mechanism and Machine Theory 1992, no. 27, pp. 741–750.

Luh, J.Y.S., Walker, M.W., and Paul, R.P.C., 1980, “On-line computational scheme for mechanical manipulators”, ASME J. Dyn. Systs., Meas., and Control, 102, pp. 69–76.

Paul, R.P., 1981, Robot Manipulators. Mathematics, Programming, and Control, The MIT Press, Cambridge. MA.

Saha, S.K., 1997, “A decomposition of the manipulator inertia matrix”, IEEE Trans. Robotics & Automation 13, pp. 301–304.CrossRef

Saha, S.K., 1999, “Analytical expression for the inverted inertia matrix of serial robots”, The Int. J. Robotics Res. 18, no. 1, pp. 116–124.

Saha, S.K., 2008, Introduction to Robotics, The McGraw-Hill Companies, New Delhi.

Shampine, L.F. and Gear, C.W., 1979, “A user’s view of solving stiff ordinary differential equations”, SIAM Review 21, no. 1, pp. 1–17.MathSciNetCrossRefMATH

Silver, W.M., 1982, “On the equivalence of Lagrangian and Newton-Euler dynamics for manipulators”, The Int. J. Robotics Res. 1, no. 2, pp. 118–128.CrossRef

Spong, M.W., Hutchinson, S., and Vidyasagar, M., 2006, Robot Modeling and Control, John Wiley & Sons, Inc., Hoboken, NJ.

Uicker, Jr., J.J., 1965. On the Dynamic Analysis of Spatial Linkages Using 4 × 4 Matrices, Ph.D. thesis, Northwestern University, Evanston.

Walker, M.W. and Orin, D.E., 1982, “Efficient dynamic computer simulation of robotic mechanisms”, ASME J. Dyn. Systs., Meas., and Control, 104, pp. 205–211.

Footnotes

1

See Exercise 9 for an extension of this relation to a system of n rigid bodies.

2

$$\boldsymbol{\iota }$$ is the Greek letter iota and denotes a vector; according to our notation, its components are ι ₁, ι ₂, and ι ₃.

3

The relations below are made apparent with the aid of Fig. 4.​6.

4

Only rows involving floating-point operations are counted here.

© Springer International Publishing Switzerland 2014

Jorge AngelesFundamentals of Robotic Mechanical SystemsMechanical Engineering Series12410.1007/978-3-319-01851-5_8

8. Special Topics in Rigid-Body Kinematics

Jorge Angeles1 

(1)

Department of Mechanical Engineering Centre for Intelligent Machines (CIM), McGill University, Montreal, QC, Canada

8.1 Introduction

The motivation for this chapter is twofold. On the one hand, the determination of the angular velocity and angular acceleration of a rigid body from point-velocity measurements is a fundamental problem in kinematics. On the other hand, the solution of this problem is becoming increasingly relevant in the kinematics of parallel manipulators, to be studied in Chap. 10. Moreover, the estimation of the attitude of a rigid body from knowledge of the Cartesian coordinates of some of its points is sometimes accomplished by time-integration of the velocity data. Likewise, the use of accelerometers in the area of motion control readily leads to estimates of the acceleration of a sample of points of a rigid body, which can be used to estimate the angular acceleration of the body, and hence, to better control its motion.

In order to keep the discussion at the level of fundamentals, we assume throughout this chapter that the information available on point velocity and point acceleration is error-free, a rather daring assumption, but useful for understanding the underlying concepts at this level. Once the fundamentals are well understood, devising algorithms that yield the best estimates of angular velocity and acceleration in the presence of noisy measurements becomes an easier task. For the sake of conciseness, the problem of motion estimation will not be discussed in this book.

8.2 Computation of Angular Velocity from Point-Velocity Data

The twist of a rigid body, as introduced in Eq. (3.​72), defines completely the velocity field of a rigid body under arbitrary motion. Notice that the twist involves two vector quantities, the angular velocity and the velocity of a point of the rigid body. Since we are assuming that point-velocity data are available, the only item to be computed is the angular velocity of the body under study, which is the subject of this section. Once the angular velocity is known and the velocities of a set of body points are available, other relevant motion parameters, such as the location of the ISA—see Sect. 3.​4—-can be readily determined.

If the twist of a rigid body is known, the computation of the velocity of an arbitrary point of the body, of a given position vector, is straightforward. However, the inverse problem, namely, the computation of the twist of the motion under study given the velocities of a set of points of known position vectors, is a more difficult task. A solution to this problem is now outlined.

First and foremost, we acknowledge that the velocities of a minimum of three noncollinear points are needed in order to determine the angular velocity of the rigid body under study. Indeed, if the velocity of a single body point is known, we have no information on the angular motion of the body; if the velocities of two points are known, we can calculate two components of the angular-velocity vector of the body, namely, those that are orthogonal to the line joining the two given points, thereby leaving one component indeterminate, the one along that line. Therefore, in order to know the angular velocity of a rigid body in motion, we need at least the velocities of three noncollinear points of the body—obviously, knowing only the velocities of any number of points along one line yields no more information than knowing only the velocities of two points along that line. We thus assume henceforth that we have three noncollinear points and that we know perfectly their velocities.

Let the three noncollinear points of the body under study be denoted by $$\{\,P_{i}\,\}_{1}^{3}$$ and let $$\{\,\mathbf{p}_{i}\,\}_{1}^{3}$$ be their corresponding position vectors. The centroid C of the foregoing set has a position vector c that is the mean value of the three given position vectors, namely,

(8.1)

Likewise, if the velocities of the three points are denoted by $$\mathbf{\dot{p}}_{i}$$, and that of their centroid by $$\mathbf{\dot{c}}$$, one has

(8.2)

From Eq. (3.​49), the velocity of the three given points can be expressed as

(8.3a)

or

(8.3b)

Now, we define a 3 × 3 matrix P as

(8.4)

Upon differentiation of both sides of Eq. (8.4) with respect to time, one has

(8.5)

It is noteworthy that P and $$\dot{\mathbf{P}}$$ are immutable under a pure translation of the coordinate frame of reference. However, under a pure rotation of the frame, given by a proper orthogonal matrix Q, both P and $$\dot{\mathbf{P}}$$ transform as QP and $$\mathbf{Q\dot{P}}$$, respectively. As a consequence, P and $$\dot{\mathbf{P}}$$ are not frame invariant.

Further, Eqs. (8.3b) can be written in matrix form as

(8.6)

from which we want to solve for $$\boldsymbol{\Omega }$$, or equivalently, for $$\boldsymbol{\omega }$$. This cannot be done by simply multiplying by the inverse of P, because the latter is a singular matrix. In fact, as the reader can readily verify, any vector having three identical components lies in the null space of P, thereby showing that P is singular, its null space being spanned by that vector. Furthermore, notice that from Eq. (8.3b), it is apparent that

(8.7a)

Upon assembling all three scalar equations above in one single vector equation, we obtain

(8.7b)

a result that is summarized below:

Theorem 8.2.1.

The angular-velocity vector lies in the null space of matrix $$\dot{{\mathbf{P}}}^{T}$$ , with $$\dot{\mathbf{P}}$$ defined in Eq. (8.5) .

In order to find the desired expression for $$\boldsymbol{\omega }$$ from the above equation, we recall Theorem A.1, which is proven in Appendix A: Let S be a skew-symmetric 3 × 3 matrix and A be an arbitrary 3 × 3 matrix. Then,

(8.8)

Upon application of the foregoing result, Eq. (8.6) leads to

(8.9)

where D is defined below and vect $$(\boldsymbol{\Omega })$$ is nothing but $$\boldsymbol{\omega }$$:

(8.10)

Thus, Eq. (8.9) can be solved for $$\boldsymbol{\omega }$$ as long as D is invertible. It is to be expected that, if the three points are collinear, then D is invertible, but, given that P is not frame-invariant, neither is tr(P). Hence, it is not apparent from Eq. (8.10) that D is singular when the three given points are collinear. We will discuss this singularity presently.

Now, if tr(P) vanishes, D becomes just one-half the negative of P, which, as we saw above, is singular. Moreover, if the three given points are noncollinear and we assume that the trace of P does not vanish, then the inverse of D can be proven to be

(8.11)

where coefficients α and β are given below:

(8.12)

From expressions (8.12) it is apparent that D fails to be invertible not only when tr(P) vanishes, but also when the term in brackets in the denominator of β does. In Exercise 8.3, the reader is asked to prove that the foregoing term vanishes whenever the three points are collinear.

From the foregoing discussion, it is apparent that given the velocities and the position vectors of three noncollinear points of a rigid body, the angular velocity of the body can always be determined. However, the data, i.e., the velocities of the three given points, cannot be arbitrary, for they must conform to Eq. (8.6) or, equivalently, to Theorem 8.2.1. Equation (8.6) states that the columns of matrix $$\mathbf{\dot{P}}$$ must lie in the range of $$\boldsymbol{\Omega }$$, while Theorem 8.2.1 states that $$\boldsymbol{\omega }$$ lies in the null space of $$\dot{\mathbf{P}}$$. However, prior to the computation of $$\boldsymbol{\omega }$$, or equivalently, of $$\boldsymbol{\Omega }$$, it is not possible to verify this condition. An alternative approach to verifying the compatibility of the data follows: Since lines P i C belong to a rigid body, vectors $$\mathbf{p}_{i} -\mathbf{c}$$ must remain of the same magnitude throughout a rigid-body motion. Moreover, the angles between any two of the said lines must be preserved throughout the motion as well. This means that the conditions below must hold:

(8.13)

or in compact form,

(8.14)

where the (i, j) entry of the constant matrix C is c ij , as defined in Eq. (8.13) above. Upon differentiation of both sides of Eq. (8.14) with respect to time, we obtain:

Theorem 8.2.2 (Velocity Compatibility).

The velocities of three points of a rigid body satisfy the compatibility condition:

(8.15)

with matrices P and $$\dot{\mathbf{P}}$$ defined in Eqs. (8.4) and  (8.5) and O denoting the 3 × 3 zero matrix.

The above equation, then, states that for the given velocities of three points of a rigid body to be compatible, the product $${\mathbf{P}}^{T}\dot{\mathbf{P}}$$ must be skew-symmetric. Note that the above matrix compatibility equation represents six independent scalar equations that the data of the problem at hand must satisfy. There is a tendency to neglect the foregoing six independent scalar compatibility conditions and to focus only on the three scalar conditions drawn from the diagonal entries of the above matrix equation. This is, however, a mistake, for these three conditions do not suffice to guarantee data compatibility in this context; all these three conditions guarantee is that the distance between any pair of points of the set remains constant, but they say nothing about the angles between the pairs of lines formed by each pair of points.

Note, on the other hand, that the product P P T has no direct geometric interpretation, although the difference $$\mathrm{tr}(\mathbf{P}{\mathbf{P}}^{T})\mathbf{1} -\mathbf{P}{\mathbf{P}}^{T}$$ does, as discussed in Exercise 8.9. Furthermore, while Theorem 8.2.2 states that matrix $${\mathbf{P}}^{T}\dot{\mathbf{P}}$$ is skew-symmetric, it says nothing about the product $$\mathbf{P}\dot{{\mathbf{P}}}^{T}$$. All we can say about this product is stated in the result below:

Theorem 8.2.3.

With matrices P and $$\dot{\mathbf{P}}$$ defined in Eqs. (8.4) and  (8.5) , the product $$\mathbf{P}\dot{{\mathbf{P}}}^{T}$$ obeys the constraint

(8.16)

If m × n matrices are regarded as forming a vector space, then an inner product of two such matrices A and B, denoted by (A, B), can be defined as

(8.17)

the two matrices being said to be orthogonal when the foregoing inner product vanishes. We thus have that Theorem 8.2.3 states that matrices $$\dot{\mathbf{P}}$$ and P are orthogonal, a result that parallels that about the orthogonality of the relative velocity of two points and the line joining them, as stated in Eq. (3.​51) and summarized in the ensuing theorem. The proof of Theorem 8.2.3 is left as an exercise.

Example 8.2.1.

The rigid cube shown in Fig. 8.1 moves in such a way that vertices P ₁, P ₂, and P ₃ undergo the velocities shown in that figure, for three different possible motions. The length of the sides of the cube is 1, and the velocities all have magnitude $$\sqrt{2}$$ in Fig. 8.1a, c; these velocities are of unit magnitude in Fig. 8.1b. Furthermore, in the motion depicted in Fig. 8.1c, the velocity of P ₃ is parallel to line P ₄ P ₃, whereas that of P ₂ is parallel to line P ₁ P ₃. Out of the three different motions, it is known that at least one is compatible. Identify the compatible motion and compute its angular velocity.

Fig. 8.1

A rigid cube undergoing a motion determined by the velocities of three of its points

Solution: Let $$\mathbf{\dot{p}}_{i}$$ denote the velocity of P i , of position vector p i . Each proposed motion is then analyzed: (a) The projection of $$\mathbf{\dot{p}}_{1}$$ onto P ₁ P ₂ is 1, but that of $$\mathbf{\dot{p}}_{2}$$ onto the same line is 0, and hence, this motion is incompatible; (b) Again, the projection of $$\mathbf{\dot{p}}_{1}$$ onto P ₁ P ₂ is 1, but that of $$\mathbf{\dot{p}}_{2}$$ onto the same line vanishes, and hence, this motion is also incompatible. Thus, the only possibility is (c), which is now analyzed more formally: Use a dextrous—right-handed—rectangular coordinate frame with origin at P ₁, axis Y along P ₁ P ₂, and axis Z parallel to P ₂ P ₃. All vectors and matrices are now represented in this coordinate frame, and hence,

Thus,

Now matrices P and $$\mathbf{\dot{P}}$$ are constructed:

Furthermore,

which is skew-symmetric, and hence, the motion is compatible. Now, matrix D is computed:

The angular velocity $$\boldsymbol{\omega }$$ is computed as the solution to

where

Equations (8.9) are thus

The first of the foregoing equations leads to

whereas the second and the third lead to

and hence,

Now, as a verification, $$\boldsymbol{\omega }$$ should be normal to the three columns of $$\dot{\mathbf{P}}$$ as defined in Eq. (8.7b); in other words, $$\boldsymbol{\omega }$$ should lie in the null space of $${\mathbf{\dot{P}}}^{T}$$. But this is so, because

thereby verifying that $$\boldsymbol{\omega }$$ lies, in fact, in the null space of $$\mathbf{\dot{{P}}^{T}}$$.

8.2.1 A Robust Formulation

The foregoing formulation fails when matrix D of Eq. (8.10) becomes singular. While it is not surprising that the matrix becomes singular in the presence of three collinear points, it is a bit frustrating that, even if the points are noncollinear, D becomes singular when $$\mathrm{tr}(\mathbf{P}) = 0$$. Moreover, in light of the lack of frame-invariance of P, it is not possible to predict geometrically under which conditions tr(P) vanishes. It is thus imperative to look for an alternative, robust approach, which is the aim of this subsection.

Upon multiplying both sides of Eq. (8.6) by P T from the right, we obtain

(8.18)

Further, if we take the vector of both sides of Eq. (8.18), we obtain

(8.19a)

where, by application of Theorem A.1, as done above, J is defined as

(8.19b)

which, as the reader is invited to prove in Exercise 8.9, is nothing but the inertia tensor of a system of three unit-mass particles located at points $$\{\,P_{i}\,\}_{1}^{3}$$ with respect to their mass center, which coincides with the centroid C of the three given points. As such, matrix J is, in general, positive-definite, becoming semidefinite only in the special case in which the three masses are collinear. Hence, the formulation singularity brought about by the vanishing of tr(P) is eliminated, which is the reason why this formulation is billed as robust. Hence, as long as the three given points are noncollinear, Eq. (8.19a) can always be solved for $$\boldsymbol{\omega }$$, thus obtaining

(8.20)

Example 8.2.2.

Solve Example 8.2.1 with the robust formulation introduced above.

Solution: We need both matrix J and the right-hand side of Eq. (8.19a). To this end, we compute first

which is apparently a simple, positive-semidefinite matrix.¹ Hence,

whose inverse is readily calculated as

Further,

Therefore,

thereby completing the calculations, and verifying the result obtained with the non-robust formulation.

8.3 Computation of Angular Acceleration from Point-Acceleration Data

The angular acceleration of a rigid body under general motion is determined in this section from knowledge of the position, velocity, and acceleration vectors of three noncollinear points of the body. The underlying procedure parallels that of Sect. 8.2. Indeed, recalling the notation introduced in that section, and letting vectors $$\mathbf{\ddot{p}}_{i}$$, for i = 1, 2, 3, denote the acceleration of the given points, one can rewrite Eq. (3.​85) for each point in the form

(8.21a)

or

(8.21b)

where c was defined in Eq. (8.1), and $$\mathbf{\ddot{c}}$$ is the acceleration of the centroid, i.e.,

(8.21c)

Furthermore, matrix $$\ddot{\mathbf{P}}$$ is defined as

(8.22)

Thus, Eqs. (8.21b) can be written in compact form as

(8.23)

from which one is interested in computing $$\dot{\boldsymbol{\Omega }}$$, or correspondingly, $$\dot{\boldsymbol{\omega }}$$. To this end, Eq. (8.23) is rewritten as

(8.24a)

with matrix W defined as

(8.24b)

The counterpart of Theorem 8.2.1 is now derived from Eqs. (8.21b). First, these equations are cast in the form

It is now apparent that if we dot-multiply the above equations by $$\dot{\boldsymbol{\omega }}$$, we obtain

(8.25a)

Upon assembling the three foregoing equations in one single vector equation, we derive the counterpart of Eq. (8.7b), namely,

(8.25b)

a result that is summarized below in theorem form:

Theorem 8.3.1.

The angular-acceleration vector $$\dot{\boldsymbol{\omega }}$$ lies in the null space of matrix W T , with W defined in Eq. (8.24b) .

Just as we did in Sect. 8.2 when solving for $$\boldsymbol{\omega }$$ from Eq. (8.9), we apply the result already invoked in connection with Eq. (8.9), thereby deriving an alternative form of Eq. (8.24a), namely,

(8.26)

where D is defined as in Eq. (8.10). Thus,

(8.27)

with D ⁻¹ given as in Eqs. (8.11) and (8.12). As in Sect. 8.2, then, given the position, velocity, and acceleration vectors of three noncollinear points of a rigid body, it is always possible to compute the associated angular acceleration. However, as discussed in that section, the data cannot be given arbitrarily, for they must comply with Eq. (8.24a), or correspondingly, with Eq. (8.25b). The former implies that the three columns of matrix W lie in the range of matrix $$\dot{\boldsymbol{\Omega }}$$; alternatively, Eq. (8.25b) implies that $$\dot{\boldsymbol{\Omega }}$$ lies in the null space of W T . Again, prior to the determination of $$\dot{\boldsymbol{\Omega }}$$, it is impossible to verify this condition, for which reason an alternative approach is taken to verifying compatibility. The obvious one is to differentiate both sides of Eq. (8.15), which produces

(8.28)

thereby deriving the compatibility conditions that the acceleration measurements should satisfy.

Finally, upon differentiation of both sides of Eq. (8.16) with respect to time, and while doing this, resorting to Lemma A.2 of Appendix A, we have

(8.29)

which is the counterpart of Eq. (8.16 ).

Fig. 8.2

A rigid triangular plate undergoing a motion given by the velocity and acceleration of its vertices

Example 8.3.1.

The three vertices of the equilateral triangular plate of Fig. 8.2, which lies in the X–Y plane, are labeled P ₁, P ₂, and P ₃, their position vectors being p ₁, p ₂, and p ₃. Moreover, the velocities of the foregoing points are denoted by $$\mathbf{\dot{p}}_{i}$$, for i = 1, 2, 3. The origin of the coordinate frame X, Y, Z lies at the centroid C of the triangle, the velocities of the vertices, in this coordinate frame, being given as

Likewise, $$\mathbf{\ddot{p}}_{1}$$, $$\mathbf{\ddot{p}}_{2},$$ and $$\mathbf{\ddot{p}}_{3}$$ denote the accelerations of the three vertices of the plate, given below in the same coordinate frame:

With the foregoing information,

(a)

show that the three given velocities are compatible;

(b)

compute the angular velocity of the plate;

(c)

determine the set of points of the plate that undergo a velocity of minimum magnitude;

(d)

show that the given accelerations are compatible;

(e)

compute the angular acceleration of the plate.

Solution:

(a)

Since the centroid of the triangle coincides with that of the three given points, we have c = 0. Moreover,

Thus,

Furthermore,

and hence,

We can readily show from the above results that

with O denoting the 3 × 3 zero matrix. Hence, matrix $${\mathbf{P}}^{T}\dot{\mathbf{P}}$$ is skew-symmetric and the velocities are compatible

(b)

Next, we have

and

Hence, if the components of $$\boldsymbol{\omega }$$ in the given coordinate frame are denoted by ω i , for i = 1, 2, 3, then we obtain

From the third equation,

Substitution of the foregoing value into the first of the above equations yields $$\omega _{1} = -1/2$$. Further, upon substitution of the values of ω ₁ and ω ₃ into the second of the above equations, we obtain $$\omega _{2} = \sqrt{2}/2$$ and hence,

(c)

Let p ₀ ′ be the position vector of the point P ₀ ′ on the instantaneous screw axis lying closest to the origin. Now, in order to find p ₀ ′ , we can resort to Eq. (3.​70), using point C as a reference, i.e., with c and $$\dot{\mathbf{c}}$$ playing the roles of a and $$\dot{\mathbf{a}}$$ in that equation. Moreover, since c = 0, the expression for p ₀ ′ reduces to

where from item (b),

while

and hence,

As a verification, p ₀ ′ should be perpendicular to the ISA, as it is, for the product $${\boldsymbol{\omega }}^{T}\mathbf{p}_{0}^{{\prime}}$$ to vanish. Next, the vector representing the direction of the screw axis is obtained simply as

thereby defining completely the instant screw axis.

(d)

The acceleration of the centroid of the three given points is given as follows:

Then, matrices $$\ddot{\mathbf{P}}$$, $${\mathbf{P}}^{T}\ddot{\mathbf{P}}$$, $$\ddot{{\mathbf{P}}}^{T}\mathbf{P}$$, and $$\dot{{\mathbf{P}}}^{T}\dot{\mathbf{P}}$$ are readily computed as

Now, it is a simple matter to verify that

and hence, the given accelerations are compatible.

(e)

$$\boldsymbol{\Omega }$$ is defined as the unique skew-symmetric matrix whose vector is $$\boldsymbol{\omega }$$, the latter having been computed in item (b). Thus,

Hence,

The angular-acceleration vector is thus computed from

where D was computed in item (b), while

and hence, letting $$\dot{\omega }_{i}$$ denote the ith component of $$\dot{\boldsymbol{\omega }}$$ in the given coordinate frame, we obtain

which yields

thereby completing the solution. Note that $$\dot{\boldsymbol{\omega }}$$ lies, in fact, in the null space of matrix $${(\ddot{\mathbf{P}} -{\boldsymbol{\Omega }}^{2}\dot{\mathbf{P}})}^{T}$$.

8.3.1 A Robust Formulation

In computing the angular acceleration vector from point-velocity and -acceleration data, we face exactly the same singularity we faced when computing the angular-velocity vector. We thus follow the same robust approach introduced in Sect. 8.2.1. To this end, we multiply both sides of Eq. (8.24a) by P T from the right, thereby obtaining

(8.30)

with R defined already in Eq. (8.18). Moreover, from Eq. (8.24b),

(8.31)

Now, the angular-acceleration vector is computed from Eq. (8.30) upon taking the vector of both sides of this equation, namely,

(8.32)

whence, as long as the three given points are not collinear, $$\dot{\boldsymbol{\omega }}$$ is computed as

(8.33)

thereby completing the intended computation.

Example 8.3.2.

Using the foregoing robust approach, compute the angular-acceleration vector of the motion undergone by the plate of Fig. 8.2, for the point-velocity and -acceleration data given in Example 8.3.1. Use the value of $$\boldsymbol{\omega }$$ computed in that example.

Solution: All we need now is J and the right-hand side of Eq. (8.32). We thus have

whence tr(R) = 1; therefore,

Furthermore,

while $$\boldsymbol{\Omega }$$ is obtained simply as $$\mathrm{CPM}(\boldsymbol{\omega })$$, i.e.,

and hence,

thereby obtaining

whence,

which thus yields

thereby completing the required computation.

8.4 Exercises

8.1

The regular tetrahedron of Fig. 3.​10, of unit-length edges, moves in such a way that vertex P ₁ has a velocity of unit magnitude directed from P ₁ to P ₄, whereas the velocity of P ₂ is parallel to edge P ₂ P ₃. Define a coordinate frame X, Y, Z with origin at P ₁, Y axis directed from P ₁ to the midpoint M of P ₂ P ₃, and X axis in the plane of $$P_{1},\,P_{2},\,P_{3}$$, as shown in that figure. With the above information,

(a)

find the velocity of P ₂;

(b)

show that the velocity of P ₃ cannot be zero;

(c)

if the velocity of P ₃ lies in the P ₁ P ₂ P ₃ plane, find that velocity;

(d)

find the angular velocity of the tetrahedron;

(e)

find the set of points of the tetrahedron undergoing a velocity of minimum magnitude.

8.2

The position vectors of three points of a rigid body, p ₁, p ₂, and p ₃, as well as their velocities, $$\dot{\mathbf{p}}_{1}$$, $$\dot{\mathbf{p}}_{2}$$, and $$\dot{\mathbf{p}}_{3}$$, are given below:

(a)

Is the motion possible?

(b)

If the motion is possible, find its angular velocity.

8.3

For matrix P defined as in Eq. (8.4), i.e., as

where $$\{\,\mathbf{p}_{k}\,\}_{1}^{3}$$ are the position vectors of three points of a rigid body, while c is that of their centroid, prove that $$\mathrm{tr}({\mathbf{P}}^{2}) =\mathrm{{ tr}}^{2}(\mathbf{P})$$ whenever the three given points are collinear. Is the converse true?

8.4

With matrix P defined as in Exercise 8.3 above, prove Theorem 8.2.3. That is, prove that

8.5

With the notation of Sect. 8.3, prove that

8.6

Derive the velocity and acceleration compatibility conditions for a body that is known to undergo spherical motion, i.e., a motion under which one point of the body remains fixed.

8.7

The position vectors of three points of a rigid body, p ₁, p ₂, and p ₃, are given as in Exercise 8.2, and repeated below for quick reference:

Now, the velocities of these points are all zero, while their accelerations are given as

(a)

Show that the motion is compatible.

(b)

Find the angular acceleration of the body.

8.8

With reference to Example 8.2.1, compute the angular acceleration of the cube of Fig. 8.1c if $$\ddot{\mathbf{p}}_{i} = \mathbf{0}$$, for i = 1, 2, 3.

8.9

With the notation of Sect. 8.2, let

(a)

Show that the moment of inertia J of the three given points, which is identical to that of a system of unit masses located at these points, with respect to the centroid C of the given points, is

(b)

Show that if the three given points move as points of a rigid body undergoing an angular velocity $$\boldsymbol{\omega }$$ whose cross-product matrix is $$\boldsymbol{\Omega }$$, then

(c)

Furthermore, show that if under the conditions of item (b) above, the set of points undergoes an angular acceleration $$\dot{\boldsymbol{\omega }}$$ of cross-product matrix $$\dot{\boldsymbol{\Omega }}$$, then

8.10

A wrench of unknown force f is applied to a rigid body. In order to find this force, its moment with respect to a set of points $$\{\,P_{k}\,\}_{1}^{3}$$, of position vectors $$\{\,\mathbf{p}_{k}\,\}_{1}^{3}$$, is measured and stored in the set $$\{\,\mathbf{n}_{k}\,\}_{1}^{3}$$. Show that f can be calculated from the relation

with D defined as in Sect. 8.2, i.e., as

and M given by

Note that P is defined in Exercise 8.3.

8.11

A wrench is applied to the tetrahedron of Fig. 3.​10. When the force of this wrench acts at point P k , the resulting moment is n k , for k = 1, 2, 3. For the data displayed below, in frame $$\mathcal{F}$$ of that figure, find the resultant force f, as well as the line of action of this force that will lead to a moment of minimum magnitude. Determine this moment.

8.12

Matrix D, as defined from Eq. (8.6) and displayed in Eq. (8.10), was found to involve frequent singularities, even in the presence of noncollinear points. This weakness stems from its lack of frame-invariance, and can be readily fixed if both sides of Eq. (8.6) are multiplied by P T from the right. Show that, under these conditions, an equation similar to (8.9) is derived, but with D replaced by (1∕2)J, with J defined as in Exercise 8.9. Now show that J is frame-invariant in the sense of Sect. 2.​7, and becomes singular if and only if the three given points are collinear.

Fig. 8.3

A ball-wheel

8.13

A ball-wheel is used to drive a mobile robot. For feedback control, its angular velocity must be estimated using information on the velocities of two of its points, P ₁ and P ₂, under the assumption that the ball rolls without slipping on a horizontal, rigid floor. The radius of the wheel is 30 mm, and the two above points lie on a horizontal diameter. Now, define a coordinate frame with origin at the contact point, its Y -axis in the direction from P ₁ to P ₂ and its Z-axis vertical, as sketched in Fig. 8.3. Off-board sensors provide reliable estimates, in mm/s, of $$\dot{\mathbf{p}}_{1}$$ and $$\dot{\mathbf{p}}_{2}$$ as displayed below.

(a)

Show that the given estimates of $$\dot{\mathbf{p}_{1}}$$ and $$\dot{\mathbf{p}_{2}}$$ are compatible.

(b)

Find the angular velocity of the ball.

Footnotes

1

R is apparently singular because it has one row and one column of zeros; it has two positive eigenvalues because its trace is 4∕3 > 0 and the determinant of its 2 × 2 lower-right block is 1∕3 > 0.

© Springer International Publishing Switzerland 2014

Jorge AngelesFundamentals of Robotic Mechanical SystemsMechanical Engineering Series12410.1007/978-3-319-01851-5_9

9. Geometry of General Serial Robots

Jorge Angeles1 

(1)

Department of Mechanical Engineering Centre for Intelligent Machines (CIM), McGill University, Montreal, QC, Canada

Electronic supplementary material

The online version of this article (doi: 10.​1007/​978-3-319-01851-5_​9) contains supplementary material, which is available to authorized users.

9.1 Introduction

Current serial robots, encountered not only in research laboratories but also in production or construction environments, include features that deserve a chapter apart. We will call here general serial robots all non-redundant serial robots that do not fall in the category of those studied in Chap. 4. Thus, the chapter is devoted to manipulators of the serial type that do not allow a decoupling of the positioning and the orientation problems. The focus of the chapter is, thus, the inverse displacement problem (IDP) of general six-revolute robots. While redundant manipulators of the serial type fall within this category as well, we will leave these aside, for their redundancy resolution calls for a more specialized background than what we have either assumed or given here.

Fig. 9.1

The TELBOT System (courtesy of Wälischmiller GmbH, Meersburg, Germany)

A special feature of serial manipulators of the kind studied here is that they can admit up to sixteen inverse displacement solutions. Such manipulators are now in operation in industry, an example of which is the TELBOT System, shown in Fig. 9.1, which features all its six motors on its base, the motion and force transmission taking place via concentric tubes and bevel gears. This special feature allows TELBOT to have unlimited angular displacements at its joints, no cables traveling through its structure and no deadload on its links by virtue of the motors (Wälischmiller and Li 1996).

9.2 The IDP of General Six-Revolute Manipulators

As shown in Chap. 4, the IDP of six-revolute manipulators of the most general type leads to a system of six independent equations in six unknowns. This is a highly nonlinear algebraic system whose solution posed a challenge to kinematicians for about two decades and that was not considered essentially solved until the late eighties. Below we give a short historical account of this problem.

Pieper (1968) reported what is probably the earliest attempt to formulate the inverse displacement problem of six-axis serial manipulators in a univariate polynomial form. He showed that decoupled manipulators, studied in Sect. 4.​4, and a few others, allow a closed-form solution of the inverse displacement problem associated with them. However, apart from the simple architectures identified by Pieper, and others that have been identified more recently (Mavroidis and Roth 1992), a six-axis manipulator does not admit a closed-form solution. Attempts to derive the minimal characteristic polynomial for this manipulator were reported by Duffy and Derby (1979), Duffy and Crane (1980), Albala (1982), and Alizade et al. (1983), who derived a 32nd-degree polynomial, but suspected that this polynomial was not minimal, in the sense that the manipulator at hand might not be able to admit up to 32 postures for a given end-effector (EE) pose. Tsai and Morgan (1985) used a technique known as polynomial continuation (Morgan 1987) to solve numerically the nonlinear displacement equations, cast in the form of a system of quadratic equations. These researchers found that no more than 16 solutions were to be expected. Briefly stated, polynomial continuation consists basically of two stages, namely, reducing first the given problem to a system of polynomial equations; in the second stage, a continuous path, also known as a homotopy in mathematics, is defined with a real parameter t that can be regarded as time. The continuous path takes the system of equations from a given initial state to a final one. The initial state is so chosen that all solutions to the nonlinear system in this state are either apparent or much easier to find numerically than those of the originally proposed system. The final state of the system is the actual system to be solved. The initial system is thus deformed continuously into the final state upon varying its set of parameters, as t varies from 0 to 1. At each continuation step, a set of initial guesses for each of the solutions already exists, for it is simply the solution to the previous continuation step. Moreover, finding the solutions at the current continuation step is done using a standard Newton method (Dahlquist and Björck 1974).

Primrose (1986) proved conclusively that the problem under discussion admits at most 16 solutions, while Lee and Liang (1988) showed that the same problem leads to a 16th-degree univariate polynomial. Using different elimination procedures, as described in Sect. 9.3, Li¹ (1990) and Raghavan and Roth (1990, 1993) devised different procedures for the computation of the coefficients of the univariate polynomial. While the inverse displacement problem can be considered basically solved, research on finding all its solutions safely and quickly still continued into the nineties (Angeles et al. 1993). Below we describe two approaches to solving this problem: (a) the methods of Raghavan and Roth (1990, 1993) and of Li (1990), aimed at reducing the displacement relations to a single univariate polynomial; and (b) the bivariate-equation approach, introduced in (Angeles and Etemadi Zanganeh 1992).

It will become apparent, however, that a streamlined algorithm guaranteeing the reduction of the system of 14 fundamental equations, as derived in Sect. 9.2.2, to a lower number of equations in only one or two unknowns, is still lacking. A step in this direction is a method based on the concept of kinematic mapping, as reported by Husty et al. (2007). Within their method, the authors split the six-revolute kinematic chain into two three-revolute subchains, which allows the computation of the 16 inverse-displacement solutions using advanced geometric concepts. Once these solutions are available, the 16 possible values of a joint angle are known, the balance five joint angles are then computed by linear-equation solving, as in the case of the algorithms described here.

9.2.1 Preliminaries

We start by recalling a few definitions that were introduced in Chap. 4. In Sect. 4.​2 we defined the matrices Q i and the vectors a i associated with the coordinate transformations from frame $$\mathcal{F}_{i+1}$$ to frame $$\mathcal{F}_{i}$$ or, equivalently, the displacement of the latter to the former. The 4 × 4 homogeneous matrix—see Sect. 2.​5—transforming coordinates in $$\mathcal{F}_{i+1}$$ to coordinates in $$\mathcal{F}_{i}$$ is given by

(9.1)

where 0 is the three-dimensional zero vector, while the 3 × 3 rotation matrix Q i and the three-dimensional vector a i were defined in Chap. 4 as

(9.2)

In the above definitions we used the Denavit–Hartenberg notation, whereby a i is the distance—and hence, a i  ≥ 0—between the Z i - and the Z i+1-axes, while b i is the offset—$$-\infty < b_{i} < +\infty $$—between the X i - and X i+1-axes, as measured along the positive direction of the Z i -axis. Moreover,

where θ i is the ith joint angle, measured from X i to X i+1 in the positive direction of Z i , and α i denotes the twist angle from Z i to Z i+1 in the positive direction of X i+1, for i = 1, …, 6. Furthermore, the factoring of matrix Q i , introduced in Eq. (4.2a), is reproduced below for quick reference:

(9.3)

with X i and Z i denoting two pure reflections, namely,

(9.4a)

(9.4b)

the foregoing reflections thus being both symmetric and self-inverse—see Sect. 2.​4. As a consequence,

We will also use the partitionings of Q i displayed in Eq. (4.​12), namely,

(9.5)

A quick comparison between Eqs. (9.2) and (9.5) leads to the relations below:

(9.6)

Further, let us recall the definition introduced in Eq. (4.​13), $$\mathbf{e} \equiv {\left [\begin{array}{ccc} 0&0&1 \end{array} \right ]}^{T}$$, along with that in Eq. (4.3d), $$\mathbf{a}_{i} = \mathbf{Q}_{i}\mathbf{b}_{i}$$, which readily leads to $$\mathbf{b}_{i} = \mathbf{Q}_{i}^{T}\mathbf{a}_{i}$$. Hence,

(9.7)

where we have reproduced Eq. (4.3e) for quick reference. Moreover, since $$\mathbf{e}_{i} = [\mathbf{e}_{i}]_{i} = [\mathbf{e}_{i+1}]_{i+1}$$, the above expression for u i leads to

(9.8a)

which means that u i represents e i+1 in $$\mathcal{F}_{i}$$. Likewise,

(9.8b)

Now, using Eqs. (9.4a) and the second of Eq. (9.7), we introduce the definitions

(9.9)

whence

(9.10)

Furthermore, vector x i of Eq. (4.​11) is reproduced below for quick reference as well:

(9.11)

A useful concept in this context is that of bilinear form: An algebraic expression of the form Auv, where u and v are two given scalar variables and A is independent of u and v, is said to be bilinear in u and v. Likewise, an expression of the form Au ² v ² is said to be biquadratic in u and v, with similar definitions for bicubic, trilinear, and multilinear forms. Moreover, the same definitions apply to vector and matrix expressions, as pertaining to their components and, correspondingly, their scalar entries.

In light of the definition of x i , additionally, we shall refer to an expression of the form

(9.12)

in which coefficients A, B and C are independent of θ i , as being linear in x i . Likewise, an expression of the form

(9.13)

with coefficients A, B, …, F independent of both θ i and θ j , will be termed bilinear in x i and x j . In fact, such an expression may also involve terms linear in x i and x j alone. More generally, an expression involving terms with products such as $${\cos }^{2}\theta {_{i}\cos }^{2}\theta _{j}$$ and other terms with similar products of the same or lower degree will be termed biquadratic in x i and x j . Now we have

Lemma 9.2.1.

Let matrix A be skew-symmetric and B be defined as the similarity transformation of A given below:

(9.14)

where Q i was recalled in Eq. (9.2) and A is assumed to be independent of θ i . Then, B is linear in x i .

Proof.

This result follows from relation (2.​139). Indeed, as the reader can readily verify, B is skew-symmetric, and the product B v, for any three-dimensional vector v, can be expressed in terms of b, defined as vect(B)—see Sect. 2.​3.​3. That is,

If a denotes vect(A), then a and b, by virtue of Eq. (9.14) and the results of Sect. 2.​6, obey the relation

Hence,

thereby showing that the resulting product is linear in x i , q.e.d.

Moreover, let

(9.15a)

which allows us to write the identities below, as suggested by Li (1990):

(9.15b)

We now define p as the vector directed from the origin of $$\mathcal{F}_{1}$$ to the operation point (OP) P of Fig. 9.2. Moreover, we let $$\mathbf{l} \equiv {[\,l_{x},\,l_{y},\,l_{z}\,]}^{T}$$, $$\mathbf{m} \equiv {[\,m_{x},\,m_{y},\,m_{z}\,]}^{T}$$, and $$\mathbf{n} \equiv {[\,n_{x},\,n_{y},\,n_{z}\,]}^{T}$$ represent the three mutually perpendicular unit vectors parallel to the X ₇, Y ₇ and Z ₇ axes, respectively, of $$\mathcal{F}_{7}$$, which has its origin at P—a layout of these axes is depicted in Fig. 4.​3 for a decoupled manipulator. Hence, the pose of the EE is described in the base frame $$\mathcal{F}_{1}$$ by means of the homogeneous transformation A given as

In the next step, we derive a set of scalar equations in five unknowns, upon eliminating one of these, that is fundamental in computing the solution of the problem at hand.

Fig. 9.2

Partitioning of the manipulator loop into two subloops

9.2.2 Derivation of the Fundamental Closure Equations

Given the geometric parameters of the manipulator and the pose of the EE with respect to the base frame, we derive the manipulator displacement equations, a.k.a. the loop-closure equations, from which all unknown angles are to be computed. We start by recalling the (matrix) rotation and (vector) translation equations of the general six-axis manipulator, as displayed in Eqs. (4.9a and b), and reproduced below for quick reference:

(9.16a)

(9.16b)

The use of 4 × 4 homogeneous transformations in the ensuing preparatory work will ease the suitable recasting of the foregoing equations. Thus, by using the matrices A i of Eq. (9.1) in the above rotation and translation equations, we end up with a 4 × 4 matrix equation, namely,

(9.17)

The unknown variables in the above equations are the joint angles $$\{\theta _{i}\}_{1}^{6}$$; the IDP thus consists in solving the closure equations (9.16a and b) or, equivalently, Eq. (9.17), for these unknowns. The said equations comprise 12 scalar equations and four identities; however, among these equations, only six are independent, for the columns (or the rows) of a rotation matrix must form an orthonormal—mutually orthogonal and of unit magnitude—set of vectors. The orthonormality property of the columns or rows of a rotation matrix, thus, brings about six scalar constraints.

The basic approach to solving the IDP resorts to disassembling the kinematic chain of the manipulator at two joints, e.g., joints 3 and 6, to obtain two subchains or subloops (Li et al. 1991). The first subchain, as suggested in the foregoing reference, and depicted in Fig. 9.2, goes from joint 3 to joint 6 via joints 4 and 5, while the second subchain goes from joint 6 to joint 3 via the EE and joints 1 and 2. Algebraically, this is equivalent to rewriting Eq. (9.17) in the form

(9.18a)

Note that each side of Eq. (9.18a) bears a specific structure. Indeed, if we denote by L s and R s the left- and right-hand sides of Eq. (9.18a), we have

(9.18b)

(9.18c)

where l ij and r ij denote nontrivial components of the left- and the right-hand sides, respectively, of Eq. (9.18a). Note that, because of the forms of matrices Q i , whose third rows are independent of θ i , the third row of L s , as made apparent in Eq. (9.18b), is free of θ ₃. Likewise, the third and fourth columns of R s , as made apparent in Eq. (9.18c), are free of θ ₆.

It should be apparent that other pairs of joints can be used to disassemble the kinematic chain of the manipulator into two subchains; what matters is that none of the two subchains contains more than three joints; else, the entries of the homogeneous matrices become unnecessarily complex on one side of the matrix equation, while the entries of the other side become unnecessarily simple.

Now we extract one rotation and one translation equation from the 4 × 4 matrix equation (9.18a), namely,

(9.19a)

(9.19b)

which are kinematically equivalent to Eqs. (9.16a and b), but algebraically much simpler. Note that, in Eq. (9.19b), we used the second Eq. (9.7) to substitute a i by $$\mathbf{Q}_{i}\mathbf{b}_{i}$$. In the sequel, we will need the two products below:

(9.20a)

(9.20b)

where we have recalled relations (9.8a and b); whence,

(9.20c)

Further, we equate the product of each of the two sides of Eq. (9.19a) by e from the right, to obtain, in light of Eqs. (9.20a and c),

(9.21a)

Both sides of Eq. (9.21a) thus represent the unit vector e ₆ in frame $$\mathcal{F}_{3}$$; the difference between the two sides should be apparent: while the left-hand side is obtained by transforming [e ₆]₅ into $$[\mathbf{e}_{6}]_{3}$$, the right-hand side by transforming $$[\mathbf{e}_{6}]_{1}$$ likewise. On the other hand, Eq. (9.19b) can be cast in the form

(9.21b)

where $$\boldsymbol{\rho } \equiv \mathbf{p} -\mathbf{Q}\mathbf{b}_{6} = [\mathbf{p} -\mathbf{a}_{6}]_{1}$$. Hence, the left- and the right-hand sides of Eq. (9.21b) represent vector $$\mathbf{a}_{3} + \mathbf{a}_{4} + \mathbf{a}_{5}$$ in frame $$\mathcal{F}_{3}$$, the difference being that the left-hand side is obtained by carrying the $$\mathcal{F}_{4}$$-representation of the vector into $$\mathcal{F}_{3}$$, while the right-hand side does so from the $$\mathcal{F}_{1}$$-representation of the same vector.

Further, let the left- and the right-hand sides of Eq. (9.21a) be denoted by h and i, respectively, while the counterparts of Eq. (9.21b) by f and g, i.e.,

(9.22a)

(9.22b)

(9.22c)

(9.22d)

Further, notice that arrays f and g represent, in fact, the first three entries of the fourth columns of the matrices of Eqs. (9.18b) and (9.18c), respectively. Likewise, arrays h and i represent the third columns of the same matrices. Vectors g and i are thus free of θ ₆.

Now, the six scalar equations (9.21b) and (9.21a) reduce, correspondingly, to

(9.23a)

(9.23b)

It should be noted that h and i are both unit vectors. Thus, each side of Eq. (9.23b) is subjected to a quadratic constraint, i.e.,

and hence, out of the above six scalar equations, only five are independent. However, the number of unknowns in these six equations is also five. Therefore, Eqs. (9.23a) and (9.23b) suffice to determine the five unknown joint angles contained therein.

Although we already have one redundant equation to compute the six unknown angles, it will prove convenient to derive eight additional equations with the same power products² as f, g, h and i, namely,

(9.23c)

(9.23d)

(9.23e)

(9.23f)

It is noteworthy that Eq. (9.23f) is derived by first equating the reflection ³ of vector h onto a plane normal to f with its counterpart, the reflection of vector i onto a plane normal to g. The final form of Eq. (9.23f) is obtained upon clearing denominators in the foregoing reflection equation.

Equations (9.23a–9.23f) amount to 14 scalar equations in five unknown joint variables $$\{\theta _{i}\}_{1}^{5}$$. These are the fundamental closure equations sought. Some facts pertaining to the degree of the two sides of Eqs. (9.23c-f) are proven below:

Fact 9.2.1.

The inner products $$\mathbf{f} \cdot \mathbf{f}$$ and $$\mathbf{f} \cdot \mathbf{h}$$ are both free of x ₃ and bilinear in $$\{\,\mathbf{x}_{i}\,\}_{4}^{5}$$ , while their counterparts $$\mathbf{g} \cdot \mathbf{g}$$ and $$\mathbf{g} \cdot \mathbf{i}$$ are bilinear in $$\mathbf{x}_{1}\ and\ \mathbf{x}_{2}$$ .

Proof.

whose rightmost-hand side is clearly free of x ₃ and is bilinear in $$\{\,\mathbf{x}_{i}\,\}_{4}^{5}$$. Similarly,

whose rightmost-hand side is apparently bilinear in x ₄ and x ₅, except for the last term, which contains two factors that are linear in x ₅, and hence, can be suspected to be quadratic. However, $$\mathbf{Q}_{5}\mathbf{b}_{5}$$ is, in fact, a ₅, while u ₅ is the last column of Q ₅, the suspicious term thus reducing to a constant, namely, $$b_{5}\cos \alpha _{5}$$. Similar proofs for $$\mathbf{g} \cdot \mathbf{g}$$ and $$\mathbf{g} \cdot \mathbf{i}$$ will be given presently. Moreover, □ 

Fact 9.2.2.

Vector $$\mathbf{f} \times \mathbf{h}$$ is trilinear in $$\{\,\mathbf{x}_{i}\,\}_{3}^{5}$$ , while its counterpart, g × i , is bilinear in $$\{\,\mathbf{x}_{i}\,\}_{1}^{2}$$ .

Proof.

If we want the cross product of two vectors in frame $$\mathcal{A}$$ but have these vectors in frame $$\mathcal{B}$$, then we can proceed in two ways: either (a) transform each of the two vectors into $$\mathcal{A}$$-coordinates and perform the cross product of the two transformed vectors; or (b) perform the product of the two vectors in $$\mathcal{B}$$-coordinates and then transform the product vector into $$\mathcal{A}$$-coordinates. Obviously, the two products will be the same, which allows us to write

whose rightmost-hand side is apparently trilinear in $$\{\,\mathbf{x}_{i}\,\}_{3}^{5}$$, except for the term in brackets, which looks quadratic in x ₅. A quick calculation, however, reveals that this term is, in fact, linear in x ₅ as well. Indeed, from the definitions given in Eqs. (4.3c and d) and (9.5) we have

which is obviously linear in x ₅. The proof for the counterpart product, g ×i, parallels the foregoing proof, and will be given below. □ 

Fact 9.2.3.

Vector $$(\mathbf{f} \cdot \mathbf{f})\mathbf{h} - 2(\mathbf{f} \cdot \mathbf{h})\mathbf{f}$$ is trilinear in $$\{\,\mathbf{x}_{i}\,\}_{3}^{5}$$ , its counterpart, $$(\mathbf{g} \cdot \mathbf{g})\mathbf{i} - 2(\mathbf{g} \cdot \mathbf{i})\mathbf{g}$$ , being bilinear in $$\{\,\mathbf{x}_{i}\,\}_{1}^{2}$$ .

Proof.

First, we write the (elongated or contracted) reflection of vector h in the form

where

with all terms on the right-hand side, except for w, which will be defined presently, clearly bilinear in $$\mathbf{x}_{4}$$ and x ₅. Vector w is defined as

each of the foregoing brackets being expanded below:

which thus reduces to a product including a factor of the form $$\mathbf{Q}_{i}\mathbf{A}\mathbf{Q}_{i}^{T}$$, with A being the term in parentheses in the rightmost-hand side of the last equation. This is obviously a skew-symmetric matrix, and Lemma 9.2.1 applies, i.e., the rightmost-hand side of the last equation is linear in x ₄. This term is, hence, bilinear in x ₄ and x ₅. Furthermore,

which is apparently linear in x ₄, but it is not obvious that it is also linear in x ₅. To show that the second linearity also holds, we can proceed in two ways. First, note that the term in parentheses is the skew-symmetric matrix $$\mathbf{u}_{5}\mathbf{a}_{5}^{T} -\mathbf{a}_{5}\mathbf{u}_{5}^{T}$$, whose vector, $$\mathbf{a}_{5} \times \mathbf{u}_{5}$$, was already proven to be linear in x ₅. Since the vector of a skew-symmetric matrix fully defines that matrix—see Sect. 2.​3—the linearity of the foregoing term in x ₅ follows immediately. Alternatively, we can expand the aforementioned difference, thereby deriving

which is clearly linear in x ₅. Moreover, its vector can be readily identified as $$\mathbf{a}_{5} \times \mathbf{u}_{5}$$, as calculated above. Finally,

this bracket thus reducing to a product including the factor $$\mathbf{Q}_{i}\mathbf{A}\mathbf{Q}_{i}^{T}$$, with A skew-symmetric. Hence, the foregoing expression is linear in x ₄, according to Lemma 9.2.1. Moreover, the matrix in parentheses was already proven to be linear in x ₅, thereby completing the proof for vector $$(\mathbf{f} \cdot \mathbf{f})\mathbf{h} - 2(\mathbf{f} \cdot \mathbf{h})\mathbf{f}$$. The proof for vector $$(\mathbf{g} \cdot \mathbf{g})\mathbf{i} - 2(\mathbf{g} \cdot \mathbf{i})\mathbf{g}$$ parallels the foregoing proof and will be given presently. □ 

Finally, we have one more useful result:

Fact 9.2.4.

If a scalar, vector, or matrix equation is linear in x i , then upon substitution of c i and s i by their equivalent forms in terms of $$\tau _{i} \equiv \tan (\theta _{i}/2)$$ , the foregoing equation becomes quadratic in τ i after clearing denominators.

Proof.

We shall show that this result holds for a scalar equation, with the extension to vector and matrix equations following directly. The scalar equation under discussion takes the general form

where the coefficients A, B, and C do not contain θ i . Upon substituting c i and s i in terms of $$\tau _{i} \equiv \tan (\theta _{i}/2)$$, and multiplying both sides of that equation by 1 +τ i ², we obtain

which is clearly quadratic in τ i , q.e.d.

Moreover, if a scalar, vector, or matrix equation is of degree k in x i , upon introducing the same trigonometric substitution, the said equation becomes of degree 2k in τ i .

Expressions for the right-hand sides of Eqs. (9.23c–d) are given below:

(9.24a)

(9.24b)

(9.24c)

and

(9.24d)

In deriving and simplifying the above relations, we use the invariance relations—see Sect. 2.​7—of the dot and cross products, i.e., for any arbitrary vectors u and v, we have

All the terms on the right-hand sides of Eqs. (9.24a–d), except for w ′ , are apparently bilinear in x ₁ and x ₂. This bilinearity also holds for the last term in Eq. (9.24d), i.e., w ′ , which can be expressed in the form

(9.25)

Each of the above brackets is given as

(9.26a)

(9.26b)

(9.26c)

According to Lemma 9.2.1, the terms in the right-hand sides of relations (9.26a–c) are all bilinear in x ₁ and x ₂.

It is noteworthy that the third components of vectors f ×h and $$(\mathbf{f} \cdot \mathbf{f})\mathbf{h} - 2(\mathbf{f} \cdot \mathbf{h})\mathbf{f}$$, as well as $$\mathbf{f} \cdot \mathbf{f}$$ and $$\mathbf{f} \cdot \mathbf{h}$$, are all free of θ ₃. Hence, among the 14 scalar equations, i.e., Eqs. (9.23a–f), six are free of θ ₃. Casting all 14 equations in vector form results in the fundamental closure equations:

(9.27)

where P and R are 14 × 9 and 14 × 8 matrices, respectively. Moreover, the entries of P are linear in x ₃, while those of R are independent of the joint angles. In addition, the nine- and eight-dimensional vectors x ₄₅ and x ₁₂ are defined as

(9.28a)

(9.28b)

Various approaches have been reported to solve the fundamental closure equations for the unknown joint angles, but all methods fall into two categories: (a) purely numerical approaches, whereby no attempt is made to reduce the number of unknowns (Angeles 1985), or the reduction is rather limited, from six to four unknowns (Tsai and Morgan 1985); and (b) elimination approaches, whereby unknowns are eliminated algebraically, as opposed to numerically, until a reduced number of equations in a reduced number of unknowns is derived.

We focus here only on the second category. Of these, we have essentially two classes: (a) the univariate-polynomial approach and (b) the bivariate-equation approach. As the names indicate, the former aims at reducing the fundamental equations to one single equation in one unknown. Moreover, that single equation, being polynomial in form, is termed the characteristic polynomial of the problem at hand. The polynomial is derived upon substituting the cosine and sine functions of the unknown angle, say θ x , by $$(1 - {T}^{2})/(1 + {T}^{2})$$ and $$2T/(1 + {T}^{2})$$, respectively, with $$T \equiv \tan (\theta _{x}/2)$$. This transformation is well known as the tan-half trigonometric identities. The second approach, in turn, aims at reducing all fundamental closure equations to a smaller system of trigonometric, as opposed to polynomial, equations in only two unknowns.

The transformation of the original problem given in terms of trigonometric functions of the unknown angles into a polynomial equation in T is essential from a conceptual viewpoint, for this transformation makes apparent that the problem under study admits a finite number of solutions, namely, the degree of the characteristic polynomial. On the other hand, the same transformation is not trouble-free. Indeed, the mapping from θ x into T apparently includes a singularity at θ x  = π, whereby T → ∞. The outcome is that, if one of the solutions is θ x  = π, then the characteristic polynomial admits at least one solution at infinity, which is reflected in a deflation of the polynomial. This phenomenon, called polynomial deflation, was made apparent in Example 4.4.3, where a quartic characteristic polynomial appeared as cubic because of one solution at infinity. The beginner may thus be misled to believing that, in the presence of a solution at infinity, the system at hand admits a smaller number of solutions than it actually does. Furthermore, in the neighborhood of θ x  = π, one of the solutions is extremely large in absolute value, which thus gives rise to numerical inaccuracies, generically referred to as ill-conditioning. As a matter of fact, the problem of polynomial-root finding has been identified as ill-conditioned by numerical analysts for some time (Forsythe 1970).

In order to cope with the foregoing shortcomings of the tan-half identities, the author and his team devised an alternative means, the bivariate-equation approach, to solving the problem at hand and other similar ones in computational kinematics (Angeles and Etemadi Zanganeh 1992a,b). In this approach, the 14 equations are reduced to a system of bivariate trigonometric equations in the sines and cosines of two of the unknown angles. These equations are then plotted in the plane of the two unknowns, thus obtaining four contours, whose intersections yield the real values of the two unknowns. As a matter of fact, only two such equations would suffice; however, it turns out that the underlying reduction cannot be accomplished without the introduction of either extra equations or spurious roots, which must be detected in order to discard them. Notice that, for an intersection point to qualify as a solution, all contours must meet at that point. As illustrated with one example, even the use of extra contours does not guarantee a legitimate solution. Spurious solutions fail to allow for the computation of the remaining four joint angles.

9.3 The Univariate-Polynomial Approach

We describe here two procedures leading to one single univariate 16th-degree polynomial equation, which is the characteristic polynomial of the system at hand. The two procedures bear many similarities, but they also involve remarkable differences that warrant separate discussions.

9.3.1 The Raghavan–Roth Procedure

A sophisticated elimination procedure was proposed by Raghavan and Roth (1990, 1993). Their procedure is based on Eqs. (9.23a–f), but their 14 closure equations are different, as explained below.

At the outset, Raghavan and Roth define four vectors that will play a key role in the ensuing derivations, namely,

(9.29a)

(9.29b)

(9.29c)

(9.29d)

Expressions for the components of the above four vectors are given in Table 9.1, where $$\iota _{i}\ (i = 1,2,3),\ p,\ q,\ r,\ u,\ v,$$ and w are auxiliary variables. Using Eqs. (9.29a–d), (9.3), (9.4b), (9.10), and (9.9), we can rewrite Eqs. (9.21a and b) in terms of the foregoing vectors, namely,

(9.30a)

(9.30b)

where we have recalled definitions (9.9) for i = 2. These six scalar equations play a key role in deriving the Raghavan–Roth equations in five unknowns that are needed to solve the problem at hand.

Table 9.1

Expressions for the components of vectors $$\tilde{\mathbf{f}}$$, $$\tilde{\mathbf{h}}$$, $$\tilde{\mathbf{r}}$$, and $$\tilde{\mathbf{n}}$$

Item

Expression

Item

Expression

f ₁

r ₁

f ₂

r ₂

+ μ ₃ m ₃

f ₃

r ₃

+ λ ₃ m ₃

ι ₁

c ₅ a ₅ + a ₄

m ₁

s ₅ μ ₅

ι ₂

m ₂

ι ₃

m ₃

h ₁

n ₁

c ₁ u + s ₁ v

h ₂

n ₂

+ μ ₁ w

h ₃

μ ₁(s ₁ p − c ₁ q)

n ₃

μ ₁(s ₁ u − c ₁ v)

+ λ ₁ w

p

u

m x μ ₆ + n x λ ₆

+ p x

q

v

m y μ ₆ + n y λ ₆

+ p y

r

w

m z μ ₆ + n z λ ₆

+ p z

Next, both sides of Eqs. (9.30a and b) are multiplied from the left by $$\mathbf{X}_{2}^{-1} \equiv \mathbf{X}_{2}^{T} \equiv \mathbf{X}_{2}$$; then, the two equations thus resulting are rearranged in the forms

(9.31)

(9.32)

Now, four new vectors, the counterparts of those introduced in Eq. (9.22a–d), are defined as

(9.33a)

(9.33b)

(9.33c)

(9.33d)

Note that $$\overline{\mathbf{f}}$$ and $$\overline{\mathbf{h}}$$ are trilinear⁴ in x ₃, x ₄, and x ₅, while the first two components of $$\overline{\mathbf{g}}$$ and $$\overline{\boldsymbol{\imath }}$$ are bilinear in x ₁ and x ₂, their third components being linear in x ₁ and free of θ ₂. Similar to Eqs. (9.23a and b), six scalar equations are obtained:

(9.34a)

(9.34b)

Moreover, eight more scalar equations are obtained in the forms

(9.34c)

(9.34d)

(9.34e)

(9.34f)

The fourteen scalar equations (9.34a–f) are henceforth termed the Raghavan–Roth (RR) equations.

The third components of the two vectors on the right-hand sides of Eqs. (9.34e and f), and the terms on the right-hand sides of Eqs. (9.34c and d) are free of θ ₂ and linear in x ₁. As proven by Raghavan and Roth in the above references, the eight foregoing equations have the same power products as $$\overline{\mathbf{f}}$$, $$\overline{\mathbf{h}}$$, $$\overline{\mathbf{g}}$$, and $$\overline{\boldsymbol{\imath }}$$. Now, the 14 RR equations (9.34a–f) are cast in the form

(9.35)

where $$\overline{\mathbf{P}}$$ and $$\overline{\mathbf{R}}$$ are 14 × 9 and 14 × 8 matrices, respectively. Moreover, the entries of $$\overline{\mathbf{P}}$$ are linear in x ₃, while those of $$\overline{\mathbf{R}}$$ are independent of the joint angles; moreover, $$\overline{\mathbf{R}}$$ has the structure:

(9.36)

In the above display, all nonzero entries are denoted by × and rows are written according to the order of appearance in Eqs. (9.34a–f). This special structure of matrix $$\overline{\mathbf{R}}$$ is then exploited to eliminate the joint angles θ ₁ and θ ₂ in an efficient way.

Based on the structure of $$\overline{\mathbf{R}}$$, two groups of six and eight equations are defined:

(9.37a)

(9.37b)

where C is a 6 × 2 constant matrix that is formed by the nonzero entries in rows 3, 6, 7, 8, 11, and 14 of matrix $$\overline{\mathbf{R}}$$. A is, in turn, an 8 × 6 matrix whose entries are all functions of the data, while x ₁ and x ₄₅ were defined in Eqs. (9.11) and (9.28a), respectively; $$\tilde{\mathbf{x}}_{12}$$ is, in turn, the six-dimensional vector defined as

(9.38)

Furthermore, $$\overline{\mathbf{P}}_{u}$$ comprises the third, sixth, seventh, eighth, 11th and 14th rows of $$\overline{\mathbf{P}}$$, $$\overline{\mathbf{P}}_{l}$$ comprising the remaining eight rows. Notice that $$\overline{\mathbf{P}}_{u}$$ and $$\overline{\mathbf{P}}_{l}$$ are both linear in x ₃.

Any two of the six scalar equations in Eq. (9.37a) can now be used to solve for x ₁, the resulting expression then being substituted into the remaining four equations of the same group. This is done by first partitioning the six scalar equations as

(9.39a)

(9.39b)

where C u and C l are 2 × 2 and 4 × 2 submatrices of C, respectively, with d u and d l being the corresponding two- and four-dimensional vectors that result from $$\overline{\mathbf{P}}_{u}\mathbf{x}_{45}$$; these two vectors are trilinear in x ₃,  x ₄ and x ₅. If Eq. (9.39a) is solved for x ₁ and the result is substituted into Eq. (9.39b), we obtain four equations free of θ ₁ and θ ₂, namely,

(9.40a)

in which $$\overline{\boldsymbol{\Gamma }}_{4}$$ is a 4 × 9 matrix whose entries are linear in x ₃, while $$(\overline{\mathbf{P}}_{u})_{2}$$ and $$(\overline{\mathbf{P}}_{u})_{4}$$ are 2 × 9 and 4 × 9 submatrices of matrix $$\overline{\mathbf{P}}_{u}$$, respectively. The above set of equations is now cast in the form

(9.40b)

with D ₁ defined as a 4 × 3 matrix whose entries are bilinear in x ₄ and x ₅, while 0 ₄ is the four-dimensional zero vector, and y ₃ is defined as

(9.41)

If C u is chosen with nonzero entries in the third and sixth rows of matrix $$\overline{\mathbf{R}}$$, then we have

(9.42a)

with p,  q,  u, and v listed in Table 9.1. If C u is nonsingular, C u ⁻¹ is readily obtained as

(9.42b)

However, if C u turns out to be singular, then a different pair of Eqs. (9.37a), of the set associated with rows 3, 6, 7, 8, 11 and 14, should be selected.

Additional equations free of θ ₁ and θ ₂ can be derived from any six of the eight equations in Eq. (9.37b). Indeed, these six equations is all that is needed to solve for $$\tilde{\mathbf{x}}_{12}$$ in terms of θ ₃, θ ₄ and θ ₅; the expressions thus resulting would then be substituted into the remaining two equations of the same set, to obtain two additional equations free of θ ₁ and θ ₂. However, this elimination process is not suitable for symbolic computations. Instead, Raghavan and Roth (1990) derived the two additional equations in a terser form. This is done by finding two independent linear combinations of the eight equations (9.37b) that render identically zero all terms in θ ₁ and θ ₂. The left-hand sides of these equations are given as

(9.43a)

(9.43b)

while the right-hand sides are

(9.43c)

(9.43d)

On the other hand, $$\overline{h}_{x}$$, $$\overline{\imath }_{x}$$, $$\overline{f}_{x}$$ and $$\overline{g}_{x}$$ represent the first components of vectors $$\overline{\mathbf{h}}$$, $$\overline{\boldsymbol{\imath }}$$, $$\overline{\mathbf{f}}$$, and $$\overline{\mathbf{g}}$$, respectively, the other components being defined likewise. Furthermore, δ ₁ and δ ₂ are defined as

Upon substitution of $$\overline{\mathbf{g}}$$ and $$\overline{\boldsymbol{\imath }}$$, as given by Eqs. (9.33b and d), respectively, into Eqs. (9.43c and d), and introduction of the definitions given in Table 9.1, it turns out that both ψ ₁ and ψ ₂ vanish identically, i.e.,

Also note that, in deriving expressions (9.43a and b) and (9.43c and d), we assume that a ₁ ≠ 0. However, a ₁ vanishes in many industrial robots, those having their first two axes intersecting—usually at right angles—the foregoing procedure thus becoming inapplicable. One way of coping with this case is to go one step behind Raghavan and Roth’s procedure and redefine, for k = 1, 2,

and

i.e.,

(9.44a)

(9.44b)

(9.45a)

(9.45b)

Under their new definitions, apparently, ψ ₁ and ψ ₂ also vanish. Once ϕ ₁ and ϕ ₂ are equated to zero, two equations are obtained that can be cast in the form

(9.46)

or equivalently,

(9.47)

where 0 ₂ is the two-dimensional zero vector, $$\overline{\boldsymbol{\Gamma }}_{2}$$ is a 2 × 9 matrix whose entries are linear in x ₃, D ₂ is a 2 × 3 matrix whose entries are bilinear in x ₄ and x ₅, and y ₃ was introduced in Eq. (9.41).

The two Eqs. (9.40a) and (9.46) thus involve a total of six scalar equations free of θ ₁ and θ ₂, and can be combined to yield a system of six equations trilinear in x ₃, x ₄, and x ₅, namely,

(9.48a)

where $$\boldsymbol{\Sigma }$$ is a 6 × 9 matrix whose entries are linear in x ₃, and 0 ₆ is the six-dimensional zero vector. Now, the tan-half trigonometric identities relating s i and c i with $$\tau _{i} \equiv \tan (\theta _{i}/2)$$, for i = 4, 5, are substituted into Eq. (9.48a). Upon multiplying the two sides of the equation thus resulting by $$(1 +\tau _{ 4}^{2})(1 +\tau _{ 5}^{2})$$, Raghavan and Roth obtained

(9.48b)

where $${\boldsymbol{\Sigma }}^{{\prime}}$$ is a 6 × 9 matrix that is linear in x ₃, while x ₄₅ ′ is defined as

If the same trigonometric identities, for i = 3, are now substituted into Eq. (9.48b), and then the first four scalar equations of this set are multiplied by (1 +τ ₃ ²) to clear denominators, the equation thus resulting takes the form

(9.48c)

In the above equations, $${\boldsymbol{\Sigma }}^{{\prime\prime}}$$ is a 6 × 9 matrix whose first four rows are quadratic in τ ₃, while its last two rows are apparently rational functions of τ ₃. However, as reported by Raghavan and Roth, the determinant of any 6 × 6 submatrix of $${\boldsymbol{\Sigma }}^{{\prime\prime}}$$ is, in fact, an 8th-degree polynomial in τ ₃ and not a rational function of the same. Moreover, in order to eliminate τ ₄ and τ ₅, they resort to dialytic elimination (Salmon 1964), introduced in this book in Sect. 5.​4.​1 and in Exercise 5.9. Dialytic elimination is further discussed in Sect. 9.3, in connection with the Li, Woernle, and Hiller method, and in Sect. 10.​2 in connection with parallel manipulators.

In applying dialytic elimination, the two sides of the system of equations appearing in Eq. (9.48c) are first multiplied by τ ₄; then, the system of equations thus obtained is adjoined to the original system, thereby deriving a system of 12 linear homogeneous equations in $$\tilde{\mathbf{x}}_{45}$$, namely,

(9.48d)

where 0 ₁₂ is the 12-dimensional zero vector, while the 12-dimensional vector $$\tilde{\mathbf{x}}_{45}$$ is defined as

(9.48e)

Furthermore, the 12 × 12 matrix S is defined as

its 6 × 12 blocks G and K taking on the forms

with O ₆₃ defined as the 6 × 3 zero matrix.

Now, in order for Eq. (9.48d) to admit a nontrivial solution, the determinant of its coefficient matrix must vanish, i.e.,

(9.49)

which is the characteristic equation sought. The foregoing determinant turns out to be a 16th-degree polynomial in τ ₃. Moreover, the roots of this polynomial give the values of τ ₃ corresponding to the 16 solutions of the IDP. It should be noted that, using the same procedure, one can also derive this polynomial in terms of either τ ₄ or τ ₅ if the associated vector in Eq. (9.48d) is written as x ₃₅ or x ₃₄, respectively. Consequently, the entries of matrix $$\boldsymbol{\Sigma }$$ would be linear in either x ₄ or x ₅.

9.3.2 The Li–Woernle–Hiller Procedure

At the outset, the factoring of Q i given in Eq. (4.1c) and the identities first used by Li (1990), namely, Eqs. (9.15b), are recalled. Additionally, Li defines a matrix T i as

Hence,

with C i defined in Eq. (4.1b). Furthermore, we note that the left-hand sides of the four vector equations (9.23a, b, e and f) are of the form $$\mathbf{Q}_{3}\mathbf{v}$$, where v is a three-dimensional vector independent of θ ₃. Upon multiplication of the above-mentioned equations from the left by matrix T ₃, Li and co-authors obtained a new set of equations, namely,

(9.50a)

(9.50b)

(9.50c)

(9.50d)

where $$\hat{\mathbf{f}}$$ and $$\hat{\mathbf{r}}$$ are defined as

(9.51)

(9.52)

with $$\boldsymbol{\Lambda }_{i}$$ defined, in turn, in Eq. (4.1c).

Because of the form of matrices T ₃ and U ₃, the third of each of the four vector equations (9.50a–d) is identical to its counterpart appearing in Eqs. (9.34a, b, e and f). That is, if we denote by either v i or (v) i the ith component of any three-dimensional vector v, the unchanged equations are

(9.53a)

(9.53b)

(9.53c)

(9.53d)

all of which are free of θ ₃. Furthermore, six additional equations linear in τ ₃ will be derived by multiplying both sides of Eqs. (9.53a–d) and of (9.23c and d) by τ ₃, i.e.,

(9.54a)

(9.54b)

(9.54c)

(9.54d)

(9.54e)

(9.54f)

We now have 20 scalar equations that are linear in τ ₃, namely, the 12 Eqs. (9.50a–d) plus the six equations (9.54a–f) and the two scalar equations (9.23c and d). Moreover, the left-hand sides of the foregoing 20 equations are trilinear in τ ₃, x ₄, and x ₅, while their right-hand sides are trilinear in τ ₃, x ₁, and x ₂. These 20 equations can thus be written in the form

(9.55a)

where the 20 × 16 matrix A is a function of the data only, while the 20-dimensional vector $$\boldsymbol{\beta }$$ is trilinear in τ ₃, x ₁, and x ₂, the 16-dimensional vector x being defined, in turn, as

(9.55b)

Next, matrix A and vector $$\boldsymbol{\beta }$$ are partitioned as

(9.56)

where A U is a nonsingular 16 × 16 matrix, A L is a 4 × 16 matrix, vector $$\boldsymbol{\beta }_{U}$$ is 16-dimensional, and vector $$\boldsymbol{\beta }_{L}$$ is 4-dimensional. Moreover, the two foregoing matrices are functions of the data only. Thus, we can solve for x from the first 16 equations of Eq. (9.55a) in the form

Upon substituting the foregoing value of x into the four remaining equations of Eq. (9.55a), we derive four equations free of x, namely,

(9.57)

In Eq. (9.57) the two matrices involved are functions of the data only, while the two vectors are trilinear in τ ₃, x ₁, and x ₂. These equations are now cast in the form

(9.58a)

where all coefficients A i , …, F i are linear in x ₁. Next, Li and co-authors substitute c ₂ and s ₂ in the foregoing equations by their equivalents in terms of $$\tau _{2} \equiv \tan (\theta _{2}/2)$$, thereby obtaining, for i = 1, 2, 3, 4,

(9.58b)

with the definitions

(9.58c)

(9.58d)

(9.58e)

(9.58f)

Further, τ ₂ and τ ₃ are both eliminated dialytically from the four equations (9.58a). To this end, both sides of all four equations (9.58b) are multiplied by τ ₂, which yields

(9.58g)

We have now eight equations that are linear homogeneous in the eight-dimensional nonzero vector z defined as

(9.58h)

and hence, the foregoing eight-dimensional system of equations takes the form

(9.59)

where the 8 × 8 matrix M is simply

Now, since z is necessarily nonzero, Eq. (9.59) should admit nontrivial solutions, and hence, matrix M should be singular, which leads to the condition below:

(9.60)

Thus, considering that all entries of M are linear in x ₁, det(M) is octic in x ₁, and hence, Eq. (9.60) is equally octic in x ₁. By virtue of Fact 9.2.2, then, Eq. (9.60) is of 16th degree in τ ₁; this equation takes the form

(9.61)

which is the characteristic equation sought, its roots providing up to 16 real values of θ ₁ for the IDP at hand.

9.4 The Bivariate-Equation Approach

The difference between this approach and those leading to the univariate polynomial, as outlined in Sect. 9.3, lies in three aspects: (a) only four, out of the six original unknowns, are eliminated; (b) the tan-half identities are avoided, in order to avoid polynomial deflation at or around values of π, and to allow for finding all real roots; and (c) direct polynomial-root finding is avoided, rough estimates of all roots being found, first, by inspection, then refined by means of a Newton procedure.

Now, to derive the bivariate equations, we have to eliminate three of the five unknowns from the 14 fundamental closure equations. To this end, we resort to Eqs. (9.40b), which are trilinear in {x i }₃ ⁵. Furthermore, from definition (9.41), y ₃ ≠ 0, and hence, the 4 × 3 matrix D ₁ of Eq. (9.40b) must be rank-deficient, which means that every one of its four—the number of combinations of four objects taking three at a time—3 × 3 determinants, obtained by deleting one of its four rows, should vanish. We need, in principle, only two of these determinants to obtain two independent equations in θ ₄ and θ ₅. To be on the safe side regarding spurious roots and formulation singularities,⁵ we impose the vanishing of all four possible determinants, which yields, correspondingly, four contours in the θ ₄–θ ₅ plane; the intersections of all contours then yield the real (θ ₄, θ ₅) pairs of values which render D ₁ rank-deficient. Each of the four equations thus derived describes a contour $$\mathcal{C}_{i}$$, for i = 1, 2, 3, 4, in the θ ₄–θ ₅ plane:

(9.62)

Note that, by plotting the four contours in a square of the θ ₄–θ ₅ plane, of side 2π, we ensure that no real solutions will be missed.

The intersection points can be detected visually by the user or, automatically, by a suitable graphical user interface (GUI).⁶ Regardless of the detection method, numerical code can be employed to refine each pair (θ ₄, θ ₅) of intersection coordinates to the desired accuracy. The well-known Newton–Raphson method for nonlinear-equation solving, outlined in Sect. B.3, can be used here. However, this method works for solving systems of as many equations as unknowns. In our case, we end up with four nonlinear equations in only two unknowns. While, in principle, any two of those four equations can be used to solve for the two unknowns, numerical roundoff error and the numerical conditioning of the problem at hand, to be discussed in Sect. 9.4.1, will invariably lead to different numerical solutions for different choices of those two equations. The question then is which of the four distinct solutions to pick up. In order to avoid this quandary, we suggest here to regard all four equations as independent, entailing possible contradictions—roundoff errors may render the four equations independent, which they aren’t. With this approach, then, rather than one solution to the four equations, what we seek is their least-square approximation, which can be done using a method known as Newton–Gauss (Dahlquist and Björck 1974), as outlined in Sect. B.4. Alternatively, Matlab’s function lsqnonlin can be used to find the same least-square approximation. In any event, the problem is solved iteratively. Within the Newton–Gauss method, a linear overdetermined system of equations is solved at each iteration, using one of the methods of Sect. B.1.

In this way, two of the unknown joint angles, θ ₄ and θ ₅, are computed accurately, the remaining four unknowns being determined uniquely, as described in Sect. 9.6. Notice, however, that spurious solutions to the IDP are likely to occur. These are intersections of the four contours which, although verifying the four equations (9.62), fail to produce a full set of solutions { θ i  }₁ ⁶. The computation of all remaining joint variables, θ ₁, θ ₂, θ ₃ and θ ₆, once θ ₄ and θ ₅ are available, is the subject of Sect. 9.6.3.

9.4.1 Numerical Conditioning of the Solutions

We recall here the concept of condition number of a square matrix (Golub and Van Loan 1989), as introduced in Sect. 5.​8. In this subsection we stress the relevance of the concept in connection with the accuracy of the computed solutions of the general IDP.

The concept of condition number of a square matrix is of the utmost importance because it measures the roundoff-error amplification upon solving a system of linear equations having that matrix as coefficient. The condition number of a matrix, discussed in Sect. 5.​8, can be computed in many possible ways. For the purpose at hand, it will prove convenient to work with the condition number defined in terms of the Frobenius norm, as given in Eqs. (5.80a and b).

In the context of the bivariate-equation approach, we can intuitively argue that the accuracy in the computation of a solution is dictated by the angle at which two contours giving a solution intersect. Thus, the solutions computed most accurately are those determined by contours intersecting at right angles. On the contrary, the solutions computed least accurately are those obtained by tangent contours. We shall formalize this observation in the discussion below.

We distinguish between the condition number of a matrix and the conditioning of a solution of a nonlinear system of equations. We define the latter as the condition number of the Jacobian matrix of the system, evaluated at that particular solution. More concretely, let

be a system of two nonlinear equations in the two unknowns x ₁ and x ₂. Moreover, the Jacobian matrix of this system is defined as

(9.63)

where ∇f k denotes the gradient of function f k (x ₁, x ₂), defined in turn as

(9.64)

It is to be noted that multiplying each of the two given equations by a scalar other than zero does not affect its solutions, each Jacobian row being, then, correspondingly multiplied by the same scaling factor. To ease matters, we will assume henceforth that each of the above equations has been properly scaled so as to render its gradient a unit vector in the plane of the two unknowns. In order to calculate the condition number of F, which determines the conditioning of the solutions, we calculate first FF T and its inverse, namely,

and

where γ is the angle at which the contours intersect. The condition number κ F of F, based on the Frobenius norm, can then be computed as

(9.65)

which means that for the best possible solutions from the numerical conditioning viewpoint, the two contours cross each other at right angles, whereas at singular configurations, the contours are tangent to each other. The reader may have experienced that, when solving a system of two linear equations in two unknowns with the aid of drafting instruments,⁷ the solution becomes fuzzier as the two lines representing those equations become closer to parallel.

9.5 Implementation of the Solution Method

Whatever method is chosen to solve the IDP, the solution procedure will eventually require numerical computations. Indeed, both the univariate-polynomial and the bivariate-equation approaches ultimately resort to a numerical procedure to find either the roots of a polynomial equation that can be of up to 16th degree or, correspondingly, the solutions of a system of trigonometric equations. Now, formulas for the roots of polynomial equations are available only for the quadratic, the cubic and the quartic polynomials⁸; those for the cubic and quartic equations are so cumbersome that in practice they are seldom applied. The Italian mathematician Ruffini gave a sketch of a proof in 1799 showing that formulas for the roots of polynomials of fifth or higher degree are not possible in general (Wells 1986). Then, the Norwegian mathematician Abel, in 1826, provided a more rigorous proof of the same result. It was the genius of the French Evariste Galois (1811–1832) that, aided by Galois’ own theory of groups (Livio 2005), led to an elegant theory on the solvability of polynomial equations that closed an important chapter in the history of mathematics.

Now, when numerically solving the equations involved, whether polynomial or trigonometric, intermediate computations can yield coefficients with absolute values of disparate orders of magnitude, which is prone to numerical instabilities—ill-conditioning. These occur naturally in the neighborhood of singularities, and cannot be avoided. Another source of ill-conditioning lies in the data themselves. When working with two different sets of equations, one representing point displacements, the other angular displacements, we end up with a mixture of equations with physical units of length and equations that are dimensionless. Such a mixture is a source of ill-conditioning, which can be avoided without too much effort: we recommend to start by rendering the point-displacement equations dimensionless, which can be done by dividing the DH parameters { a i , b i  }₁ ⁶ introduced in Sect. 4.​2 and the position vector p of the EE operation point by the characteristic length L introduced in Sect. 5.​8. This stage, which can be termed normalization, is done in the numerical examples included in Sect. 9.7.

Furthermore, when refining the rough estimates of the contour intersections, as occurring in the implementation of the bivariate-equation approach, we are confronted with computing the least-square approximation to an overdetermined system of nonlinear equations. This is a well-researched problem in the realm of numerical analysis (Dahlquist and Björck 1974). While effective methods exist that solve the problem without resorting to gradients, we have used in the solutions an in-house developed package of C routines and Matlab functions, ODA, for a broad class of problems occurring in mathematical programming.⁹ In this library, we have a routine, LSSNLS, that implements the Newton–Gauss algorithm described in Sect. B.4. LSSNLS requires an initial guess x ₀ for the unknown vector x as well as information on the dimensions n of x, the number of unknowns, and of f(x), the number of equations, m > n. Then, LSSNLS returns an optimum value x ∗ that best approximates the overdetermined system of equations f(x) = 0 in the least-square sense, and that is dependent on x ₀. In the absence of ill-conditioning, x ∗ is the local optimum of the problem closest to the initial guess x ₀. However, the Matlab GUI that was developed by Dr. Caro—see footnote 6—to automate the refining of the visual estimates relies on Matlab’s lsqnonlin function. The method implemented in this function is direct, in that it is based solely on function evaluations, thus obviating gradient computations.

9.6 Computation of the Remaining Joint Angles

So far we have reduced the system of displacement equations to either one single univariate polynomial in the tangent of half one of the joint angles—the univariate-polynomial approach—or a system of bivariate trigonometric equations in the sines and cosines of two joint angles—the bivariate-equation approach. In either case, we still need a procedure to compute the remaining joint angles, which is the subject of the balance of this section.

9.6.1 The Raghavan–Roth Procedure

The most straightforward means of computing θ ₄ and θ ₅ in this procedure is Eq. (9.48d), which can be interpreted as an eigenvalue problem associated with the 12 × 12 matrix S, and has one known eigenvalue, namely, 0, for its sole variable, θ ₃, was computed so as to render S singular. Now, every scientific package offers eigenvalue calculations, whereby the eigenvectors are usually produced in a normalized form, i.e., with all eigenvectors computed as unit vectors. Let, for example, $$\boldsymbol{\sigma }$$ be the 12-dimensional eigenvector of S corresponding to the zero eigenvalue. In this case, $$\|\boldsymbol{\sigma }\|= 1$$, but $$\tilde{\mathbf{x}}_{45}$$, the solution sought, is obviously of magnitude greater than unity, for its 12th component, σ ₁₂, is exactly 1, according to its definition, Eq. (9.48e). In order to produce $$\tilde{\mathbf{x}}_{45}$$ from $$\boldsymbol{\sigma }$$, then, all we need is a suitable scaling of this vector that will yield $$(\tilde{\mathbf{x}}_{45})_{12} = 1$$. We thus have that σ ₁₂ ≠ 0—otherwise, Eqs. (9.48d) would be inconsistent—and hence,

The outcome will be a set of unique values of θ ₄ and θ ₅ for each of the 16 possible values of θ ₃.

Next, θ ₁ and θ ₂ are computed from Eq. (9.35), which is rewritten below in a more suitable form:

(9.66a)

with the 14-dimensional vector $$\overline{\mathbf{x}}_{345}$$ defined as

(9.66b)

Since $$\overline{\mathbf{R}}$$ is a 14 × 8 matrix, Eq. (9.66a) comprises 14 linear equations in the eight unknown components of x ₁₂. Although any eight of the 14 equations (9.66a) suffice, in principle, to determine x ₁₂, we should not forget that these computations will most likely be performed with finite precision, and hence, roundoff-error amplification is bound to occur. In order to keep roundoff errors as low as possible, we recommend to use all the foregoing 14 equations and calculate x ₁₂ as the least-square approximation of the overdetermined system (9.66a). This approximation will be, in fact, the solution of the given system because all 14 equations are compatible. The least-square solution of this system yields, symbolically,

(9.66c)

In practice, the foregoing least-square approximation is computed using an orthogonalization procedure (Golub and Van Loan 1989), the explicit or the numerical inversion of the product H T H being advised against because of its frequent ill-conditioning. Appendix B outlines the robust numerical computation of the least-square approximation of an overdetermined system of equations using orthogonalization procedures. The only remaining unknown is θ ₆, which is computed below: This unknown is readily computed from Eq. (4.9a). Indeed, the first of the three vector equations represented by this matrix equation yields

(9.67a)

where q denotes the first column of Q, while, according to Eq. (9.5), p ₆ denotes the first column of matrix Q ₆, i.e.,

(9.67b)

Thus, Eq. (9.67a) can be readily solved for p ₆, i.e.,

(9.68)

thereby obtaining a unique value for θ ₆ for every set of values of { θ k  }₁ ⁵. This completes the solution of the IDP under study.

9.6.2 The Li–Woernle–Hiller Procedure

Once θ ₁ is available, the remaining angles are computed from linear equations: Equations (9.59) are first rearranged in nonhomogeneous form, namely,

(9.69)

with the 8 × 7 matrix N and the seven- and eight-dimensional vectors z ′ and n defined as

and

Now, Eq. (9.69) represents an overdetermined linear algebraic system of eight equations, but only seven unknowns. Again, we recommend here a least-square approach to cope with ill-conditioning. In this way, the solution of Eq. (9.69) can be expressed symbolically in the form

With z ′ known, both τ ₂ and τ ₃, and hence, θ ₂ and θ ₃, are known uniquely. Further, with θ ₁, θ ₂, and θ ₃ known, the right-hand side of Eq. (9.55a), $$\boldsymbol{\beta }$$, is known. Since the coefficient matrix A of that equation is independent of the joint angles, A is known, and that equation can be solved for vector x uniquely. Once x is known, the two angles θ ₄ and θ ₅ are uniquely determined, with θ ₆ the sole remaining unknown; this can be readily determined, also uniquely, as discussed in connection with the Raghavan–Roth method.

9.6.3 The Bivariate-Equation Approach

After all common intersections of the four foregoing contours have been determined, we have already two of the unknowns, θ ₄ and θ ₅, the remaining four unknowns being calculated uniquely as described presently. First, we calculate one of the remaining joint variables, θ ₃, using Eq. (9.40b). For this purpose, we evaluate matrix D ₁ for all intersection points. Then, we rewrite the same equation in the form

(9.70a)

the 4 × 2 matrix H being obtained from D ₁ by excluding its last column, which is denoted by $$-\boldsymbol{\tau }$$. Moreover, matrix H and the four-dimensional vector $$\boldsymbol{\tau }$$ are both bilinear in x ₄ and x ₅ and hence, known. Again, we use all four equations (9.70a) at our disposal to compute the two-dimensional vector x ₃ using a least-square approach. If H is of full rank—its two columns are linearly independent—then the solution can be expressed symbolically in the form

(9.70b)

However, if H is rank-deficient, i.e., if its two columns are linearly dependent, then the inverse appearing in Eq. (9.70b) cannot be computed, the solution $$(\theta _{4},\theta _{5})$$ being spurious. In fact, even if H is of full rank, the computed x ₃ may fail to be a unit vector, as required by its definition. The outcome here is that

which means that the value of x ₃ computed from Eq. (9.70a) will yield a complex value of θ ₃. In this case, the intersection $$(\theta _{4},\theta _{5})$$ at stake is spurious as well.

When H is of full rank and the computed x ₃ is of unit Euclidean norm, Eq. (9.70b) determines θ ₃ uniquely for the given values of θ ₄ and θ ₅.

With θ ₃, θ ₄ and θ ₅ known, we can now calculate θ ₁ and θ ₂ simultaneously from Eq. (9.27), which we reproduce below in a more suitable form

(9.71)

where R is a 14 × 8 matrix depending only on the problem data, while x ₃₄₅, defined as

(9.72)

is a 14-dimensional vector trilinear in x ₃, x ₄, and x ₅, and is hence, known. Moreover, matrices P and R as well as vectors x ₁₂ and x ₄₅ were defined in Eqs. (9.27) and (9.28a and b). Again, we have an overdetermined system, of 14 equations, in eight unknowns this time, which can best be solved for x ₁₂ using a least-square approach with an orthogonalization procedure. The unique solution of the overdetermined system at hand can thus be expressed as

(9.73)

Note that the solution thus obtained determines x ₁ and x ₂ uniquely, the only remaining unknown being θ ₆, which is computed as in Eq. (9.68).

9.7 Examples

We solve the examples below using the bivariate-equation approach with the purpose of both helping the reader visualize the real solutions and avoiding the formulation singularities brought about by the tan-half identities.¹⁰

Example 9.7.1.

Find all inverse-displacement solutions of the Fanuc Arc Mate S series manipulator of 1990 for the end-effector pose given below:

in which p is given in mm, the DH parameters of the robot being given in Table 5.​2.

Fig. 9.3

Contours $$\mathcal{C}_{1}$$, $$\mathcal{C}_{2}$$, $$\mathcal{C}_{3}$$, and $$\mathcal{C}_{4}$$ for the Fanuc Arc Mate S series manipulator of 1990

Solution: For starters, we divide the DH parameters $$\{a_{i},b_{i}\}_{1}^{6}$$ and vector p by L = 351. 23 mm, the characteristic length of this manipulator found in Sect. 5.​8. In following the bivariate-equation approach, we plot the four contours in the θ ₄–θ ₅ plane guaranteeing that matrix D ₁ of Eq. (9.40b) is rank-deficient. The four contours are superimposed in Fig. 9.3, where, apparently, we can detect eight intersections. The coordinates (θ ₄, θ ₅) of each intersection point are first estimated by inspection, as listed in Table 9.2. Further, we submit each of these eight values as an initial guess to the Newton–Gauss procedure—or Matlab’s function lsqnonlin—to find the least-square approximation of the overdetermined system of four equations in two unknowns of Eq. (9.62). The eight solutions thus found are then used to compute x ₃ of Eq. (9.70a). As it turned out, solutions 2, 4, 7 and 8 led to a rank-deficient H, and were, thus, discarded as spurious. For the record, we include all eight least-square solutions found in radians, in Table 9.3.

The legitimate solutions are displayed in Table 9.4, in degrees for easier visualization. The robot thus admits four real inverse displacement solutions at the given pose.

The values of the remaining angles are recorded in Table 9.5.

Example 9.7.2.

Here we include an example of a manipulator admitting 16 real inverse displacement solutions. This manipulator was proposed by Li (1990), its Denavit–Hartenberg parameters appearing in Table 9.6.

Table 9.2

Rough estimates of the coordinates of the intersection points of the Fanuc Arc Mate S series manipulator of 1990

Sol’n no.

1

2

3

4

5

6

7

8

θ ₄ (rad)

2.38

1.57

0.34

− 1. 57

− 3. 06

− 2. 39

− 1. 57

1.57

θ ₅(rad)

− 2. 97

− 1. 57

− 1. 79

− 1. 57

1.75

2.97

1.57

1.57

Table 9.3

Refined estimates of the coordinates of the eight intersection points of Fig. 9.3

Inters’n no.

θ ₄ (rad)    

θ ₅ (rad)

1

2. 381637539

− 2. 973100582

2

1. 570796327

− 1. 570796327

3

0. 344592933

− 1. 797513978

4

− 1. 570796327

− 1. 570796327

5

− 3. 060229795

1. 755742649

6

− 2. 397512950

2. 972311705

7

− 1. 570796327

1. 570796327

8

1. 570796327

1. 570796327

Table 9.4

Legitimate solutions of the inverse displacement of the Fanuc Arc Mate S series manipulator of 1990 at the given pose

Sol’n no.

1

3

5

6

θ ₄

136. 457∘

19. 743∘

− 175. 338∘

− 137. 367∘

θ ₅

− 170. 346∘

− 102. 989∘

100. 596∘

170. 300∘

Table 9.5

Remaining angles corresponding to the solutions of Table 9.4

Sol’n no. 

θ ₁

θ ₂

θ ₃

θ ₆

1

83. 366∘

90. 974∘

− 8. 004∘

43. 134∘

3

70. 781∘

15. 151∘

151. 077∘

175. 387∘

5

85. 417∘

16. 156∘

153. 212∘

− 0. 859∘

6

83. 447∘

87. 898∘

9. 268∘

− 42. 221∘

Table 9.6

DH parameters of Li’s manipulator

i

a i (m)

b i (m)

α i

θ i

1

0. 12

0

− 57∘

θ ₁

2

1. 76

0. 89

35∘

θ ₂

3

0. 07

0. 25

95∘

θ ₃

4

0. 88

− 0. 43

79∘

θ ₄

5

0. 39

0. 50

− 75∘

θ ₅

6

0. 93

− 1. 34

− 90∘

θ ₆

Solution: The foregoing procedure was applied to this manipulator for an end-effector pose given as

where p is given in meters. Again, we start by dividing $$\{a_{i},b_{i}\}_{1}^{6}$$ and vector p by the characteristic length L, that was found to be L = 890. 1 mm.

Fig. 9.4

Contours $$\mathcal{C}_{1}$$, $$\mathcal{C}_{2}$$, $$\mathcal{C}_{3}$$, and $$\mathcal{C}_{4}$$ for the Li manipulator

The four contours obtained with the bivariate-equation approach are superimposed in Fig. 9.4, where, apparently, we can detect 18 intersections. This means that at least two are spurious, for the number of inverse-displacement solutions can be, at most, 16. In this figure, intersections 12 and 13 appear as one single point. A zoom-in revealed two neighboring solutions in a region around the said single point. The coordinates (θ ₄, θ ₅) of each intersection point are first estimated by inspection, as listed in Table 9.7. Further, we submit each of these 18 values as the initial guess for the Newton–Gauss procedure—or Matlab’s function lsqnonlin—to find the least-square approximation of the overdetermined system of four equations in two unknowns of Eqs. (9.62). We used ODA to compute the least-square approximation sought, and verified the result with lsqnonlin. For the record, we include all 18 solutions found, with 14 digits, in radians, in Table 9.8. The 18 solutions thus found were then used to compute x ₃ of Eq. (9.70a). As it turned out, solutions 6 and 14 led to values of Eucledian norm of vector x ₃ greater than unity, and were, thus, discarded as spurious. The robot thus admits 16 real inverse displacement solutions at the given pose. The legitimate solutions are displayed in Table 9.9, the values of the remaining angles being displayed in Table 9.10, in degrees for easier visualization.

Table 9.7

Rough estimates of the coordinates of the intersection points of Li’s manipulator

Sol’n no. 

1

2

3

4

5

6

7

8

9

θ ₄ (rad)

-0.56

-1.88

-2.09

-2.59

-3.07

-1.62

-0.72

2.09

2.75

θ ₅ (rad)

-3.01

-2.71

-2.54

-2.25

0.21

1.75

2.86

3.08

2.5

Sol’n no. 

10

11

12

13

14

15

16

17

18

θ ₄ (rad)

2.54

2.36

0.08

0.11

-1.22

-2.16

-0.36

1.17

0.44

θ ₅ (rad)

2.37

-0.89

-2.23

-2.25

-2.51

-0.50

-0.70

-0.18

-0.12

Table 9.8

Refined estimates, to 14 digits, of the coordinates of the 18 intersection points of Fig. 9.4

Inters’n no.

θ ₄ (rad)       

θ ₅ (rad)

1

− 0. 5656865073441

− 3. 0127341939867

2

− 1. 8817916819320

− 2. 7181441928227

3

− 2. 0982054358488

− 2. 5458222487325

4

− 2. 5943879129109

− 2. 2563308501840

5

− 3. 0760703821644

0. 2173802902678

6

− 1. 6227073591253

1. 7564609766664

7

− 0. 7268312801527

2. 8637219341062

8

2. 0991093946626

3. 0822214487834

9

2. 7591234998160

2. 5875200635823

10

2. 5458806726888

2. 3797734576690

11

2. 3681644908739

− 0. 8961886662259

12

0. 0834264321499

− 2. 2306893314165

13

0. 1144843294210

− 2. 2536422392721

14

− 1. 2262527241259

− 2. 5145351139614

15

− 2. 1620940322382

− 0. 5098897084087

16

− 0. 3665297041826

− 0. 7057880105554

17

1. 1793192137176

− 0. 1889758121252

18

0. 4440232934648

− 0. 1282084013846

Table 9.9

Legitimate solutions of the inverse displacement of Li’s manipulator at the given pose

Sol’n no.

θ ₄

θ ₅

Sol’n no.

θ ₄

θ ₅

1

− 107. 81∘

− 155. 73∘

9

− 21. 00∘

− 40. 43∘

2

120. 25∘

176. 59∘

10

6. 55∘

− 129. 12∘

3

4. 77∘

− 127. 80∘

11

135. 68∘

135. 68∘

4

158. 09∘

148. 26∘

12

25. 44∘

− 7. 34∘

5

− 4. 16∘

164. 07∘

13

− 176. 07∘

11. 57∘

6

− 120. 21∘

− 145. 86∘

14

67. 57∘

− 10. 82∘

7

− 32. 41∘

− 172. 61∘

15

− 123. 87∘

− 29. 21∘

8

145. 86∘

136. 35∘

16

− 148. 64∘

− 148. 64∘

Table 9.10

Remaining angles corresponding to the solutions of Table 9.9

Sol’n no. 

θ ₁

θ ₂

θ ₃

θ ₆

1

174. 083∘

− 163. 302∘

− 164. 791∘

141. 281∘

2

− 159. 859∘

− 159. 324∘

− 111. 347∘

21. 654∘

3

164. 800∘

− 154. 290∘

− 85. 341∘

− 101. 359∘

4

− 148. 749∘

− 179. 740∘

− 78. 505∘

55. 719∘

5

− 16. 480∘

− 10. 747∘

− 58. 894∘

5. 677∘

6

− 46. 014∘

− 19. 256∘

− 46. 988∘

− 114. 768∘

7

− 22. 260∘

− 22. 431∘

− 32. 024∘

− 17. 155∘

8

− 53. 176∘

26. 165∘

9. 103∘

127. 978∘

9

− 173. 928∘

150. 697∘

47. 811∘

− 92. 284∘

10

− 41. 684∘

− 29. 130∘

52. 360∘

25. 091∘

11

− 137. 195∘

− 156. 920∘

68. 306∘

147. 446∘

12

− 139. 059∘

128. 112∘

96. 052∘

− 119. 837∘

13

− 22. 696∘

29. 214∘

98. 631∘

170. 303∘

14

− 83. 094∘

57. 022∘

130. 976∘

− 110. 981∘

15

1. 227∘

− 7. 353∘

142. 697∘

149. 208∘

16

177. 538∘

− 148. 178∘

159. 429∘

110. 984∘

Example 9.7.3.

In this example, we discuss the IDP of DIESTRO, the isotropic six-axis orthogonal manipulator shown in Fig. 5.​15 (Williams et al. 1993). For a meaning of kinematic isotropy, we refer the reader to Sect. 5.​8. This manipulator has the DH parameters given in Table 5.​1. The pose of the end-effector leading to an isotropic posture, i.e., one whose Jacobian matrix is isotropic, is defined by the orthogonal matrix Q and the position vector p displayed below:

with p given in mm. Compute all real inverse displacement solutions at the given pose.

Solution: The characteristic length of DIESTRO was found in Sect. 5.​8 to be equal to the common value $$a_{i} = b_{i} = 50$$ mm, for i = 1, …, 6. This manipulator, at the given pose of the EE, exhibits a self-motion, proper of redundant manipulators, but not expected in a six-revolute robot. A self-motion occurs when a manipulator has the ability to move all its joints while keeping its EE fixed at one given pose. This feature makes the procedure of Sect. 9.4 difficult to apply.¹¹ We resort, hence, to an alternative approach: We go back to Eq. (9.27) and partition it into two sets of equations:

(9.74a)

(9.74b)

where P u and P l are 6 × 9 and 8 × 9 submatrices of P. Likewise, R u and R l are the corresponding 6 × 8 and 8 × 8 submatrices of R. In the above partitioning, the equations must be grouped such that R l be nonsingular. Using Eqs. (9.74a and b), six scalar equations free of θ ₁ and θ ₂ can be derived, namely,

(9.75)

where 0 ₆ is the six-dimensional zero vector. Since the entries of the 6 × 9 matrix $$\boldsymbol{\Gamma }$$ are all linear in x ₃, the entry in the ith row and jth column of the foregoing matrix, γ ij , can be expressed in the form

(9.76)

In the above expression, coefficients a ij , b ij , and c ij are independent of the joint variables. Using Eq. (9.76), we can expand Eq. (9.75) and then rearrange the terms in the ith equation, thus obtaining

(9.77a)

where, for i = 1, …, 6, we have

(9.77b)

(9.77c)

(9.77d)

Now the six scalar equations (9.77a) are cast in vector form as

(9.78)

In the above equation, D is a 6 × 3 matrix whose entries are bilinear in x ₄ and x ₅, while y ₃ was defined in Eq. (9.41). Now, to eliminate θ ₃, we realize that, from its definition, y ₃ ≠ 0, and hence, D must be rank-deficient. This means that every one of its 20 3 × 3 determinants, obtained by picking up three of its six rows at a time, should vanish—the number of combinations of six objects taking three at a time is 20. We need, in principle, only two of these determinants to obtain two independent equations in θ ₄ and θ ₅. Actually, to be on the safe side, we should impose the vanishing of all 20 possible determinants, which would yield, correspondingly, 20 contours in the θ ₄–θ ₅ plane; the intersections of all contours would then yield the real (θ ₄, θ ₅) pairs of values which render D rank-deficient. Nevertheless, the visualization of the intersections of all 20 contours would be physically impossible, and so, we have to compromise with a smaller number. As we have experienced, only two of the above determinants are prone to yield spurious solutions, for which reason we pick up a reduced number of determinants and derive three equations in θ ₄ and θ ₅.

We produce the three desired equations by first partitioning the 6 × 3 matrix D of Eq. (9.78) into two 3 × 3 blocks, D u being the upper, D l the lower block, which thus yields

Now, since the determinant is not additive, i.e., $$\mathrm{det}(\mathbf{D}_{u} + \mathbf{D}_{l})\neq \mathrm{det}(\mathbf{D}_{u}) +\mathrm{ det}(\mathbf{D}_{l})$$, we choose $$\Delta _{3}$$ as

which is apparently independent of $$\Delta _{1}$$ and $$\Delta _{2}$$, thereby obtaining three determinants,¹² which, when equated to zero, yield three independent equations in θ ₄ and θ ₅. Each of these equations describes a contour $$\mathcal{C}_{i}$$, for i = 1, 2, 3, in the θ ₄–θ ₅ plane, i.e.,

(9.79)

Note that, by plotting the three contours in the $$-\pi \leq \theta _{i} \leq \pi$$ region, for i = 4, 5, we ensure that no real solutions will be missed.

Fig. 9.5

Contours $$\mathcal{C}_{1}$$, $$\mathcal{C}_{2}$$, and $$\mathcal{C}_{3}$$ for the DIESTRO manipulator at given pose

The three contours thus obtained are plotted in Fig. 9.5a. As this figure shows, the three contours intersect at two isolated points, those labeled 1 and 2. The contours also intersect along a curve labeled SS in the same figure, which thus represents a manifold of singular solutions; this means that DIESTRO admits a set of self-motions. These motions can be explained by noticing that when the end-effector is located at the given pose and the manipulator is postured at joint-variable values determined by any point on the SS curve, the six links form a Bricard mechanism (Bricard 1927). The degree of freedom of a Bricard mechanism cannot be determined from the well-known Chebyshev–Grübler-Kutzbach formula (Angeles 2005), which yields a dof = 0. Here, the single-dof motion of the mechanism occurs because the six revolute axes are laid out in such a way that if they are grouped in two alternating triads, then these triads intersect.

Furthermore, contours $$\mathcal{C}_{1}$$ and $$\mathcal{C}_{2}$$ intersect at right angles at solution 1, which corresponds to the isotropic posture of the robot. The numerical values of the joint variables for the isolated solutions are given in Table 9.11.

Table 9.11

Inverse displacement solutions of the DIESTRO manipulator

Solution no. 

θ ₁

θ ₂

θ ₃

θ ₄

θ ₅

θ ₆

1

0∘

90∘

− 90∘

90∘

− 90∘

180∘

2

180∘

− 90∘

90∘

− 90∘

90∘

0∘

Fig. 9.6

A close-up of: (a) the apparent contour intersection at the point of coordinates $$\theta _{4} =\theta _{5} =\pi /2\ (9{0}^{\circ })$$; and (b) the apparent contour intersection southwest of solution 2

This example shows interesting features of the manipulator IDP which are not present in manipulators with simpler architectures, such as those with intersecting or parallel consecutive axes.

Moreover, the point of coordinates $$\theta _{4} =\theta _{5} =\pi /2$$ of Fig. 9.5 appears to be an intersection of the three contours, and hence, a solution of the IDP at hand. A close-up of this point, as displayed in Fig. 9.6a, shows that this point is indeed an intersection of all three contours, but this point is, in fact, a double point, i.e., a point at which each contour crosses itself; this gives the point a special character: When verifying whether this point is a solution of the problem under study, we tried to solve for x ₃ from eq. (9.70a), but then found that matrix H of that equation vanishes, and hence, does not allow for the calculation of x ₃. An alternative approach to testing the foregoing values of θ ₄ and θ ₅ is described in Exercise 9.8. In following this approach, it was found that these values do not yield a solution, and hence, the intersection point is discarded.

One more point that appears as an intersection of the three contours is that southwest of solution 2. A close-up of this point, as shown in Fig. 9.6b, reveals that the three contours do not intersect in that region. In summary, then, the manipulator at hand admits two isolated inverse-displacement solutions at the given pose and an infinity of solutions along the curve SS.

9.8 Exercises

9.1

Show that the left-hand side of Eq. (9.23f) represents a pure reflection of vector h about a plane of unit normal $$\mathbf{f}/\|\mathbf{f}\|$$, if multiplied by $$\|{\mathbf{f}\|}^{2}$$. Also show that the right-hand side of the same equation represents a pure reflection of vector i about a plane of unit normal $$\mathbf{g}/\|\mathbf{g}\|$$, if multiplied by $$\|{\mathbf{g}\|}^{2}$$.

9.2

Show that ψ ₁ and ψ ₂, as defined in Eqs. (9.43c and d) both vanish.

9.3

In this exercise, we will try to gain insight into the consequence of the double point at $$\theta _{4} =\theta _{5} =\pi /2$$ of Fig. 9.5 of Example 9.7.3. To this end, show that, for this combination of values, matrix H of Eq. (9.70a) becomes zero, and hence, x ₃ cannot be computed from this equation. As a result, none of the remaining angles can be computed recursively.

9.4

As an alternative approach to the 14 fundamental equations derived in Sect. 9.2, we recall Eqs. (9.16a and b), if written in a more convenient form, so as to have a minimum number of matrix multiplications, namely,

Now equate the four linear invariants of the two sides of the first of the two foregoing equations. The result is a set of four scalar equations. When the translational equations are expanded, and appended to the first four equations, a system of seven trigonometric equations in the six unknown angles is derived. Obtain that system of seven equations and comment on their suitability to solve the IDP.

9.5

In Sect. 9.6 we realized that, upon applying the Raghavan–Roth elimination method, and once θ ₃ is computed, θ ₄ and θ ₅ can be computed at once by finding the eigenvector of S associated with its zero eigenvalue. While this calculation can be performed with the eigenvalue-computation module of any scientific package, computing the eigenvalues of a 12 × 12 matrix like S requires an iterative procedure, which can be time-consuming, especially if this computation is only a part of a more complex procedure.

In order to find $$\tilde{\mathbf{x}}_{45}$$, and hence, θ ₄ and θ ₅, from Eq. (9.48d), we need not resort to a full eigenvalue problem. Instead, a vector v can be computed directly, as opposed to iteratively, that spans the null space of S, for a given computed value of θ ₃, if a change of variables is introduced that will yield S in upper-triangular form. In fact, since S is a fortiori singular, its last row is bound to have zero entries in that form. Devise an algorithm that will render S in upper-triangular form and hence, compute vector $$\tilde{\mathbf{x}}_{45}$$ under the conditions that this vector (a) lie in the null space of S and (b) its 12th entry be unity. Hint: Apply an orthogonalization procedure, as described in Appendix B.

9.6

With reference to Example 9.7.3, keep the EE of DIESTRO fixed to the manipulator base at the given pose, thereby forming a 6R closed kinematic chain. Find the singularity locus SS of Fig. 9.5 by means of a kinematic input–output analysis of the closed chain, which turns out to be a Bricard mechanism.

9.7

Using the rough estimates displayed in Table 9.2, Example 9.7.1, compute refined estimates of the coordinates of intersection point 4 upon solving the four equations (9.62) pairwise by means of the Newton–Raphson method. Compute the condition number of each solution based on the Frobenius norm of the 2 × 2 Jacobian F of Eq. (9.63). Comment on your result.

9.8

Write a procedure to compute matrix S of the Raghavan–Roth method. Then, evaluate this matrix at solutions 7 and 8 of Example 9.7.1.

9.9

Derive expressions for vectors $$\overline{\mathbf{f}}$$, $$\overline{\mathbf{g}}$$, $$\overline{\mathbf{h}}$$ and $$\overline{\boldsymbol{\imath }}$$ of Eqs. (9.33a–d).

9.10

Derive an expression for $$\boldsymbol{\Gamma }_{4}$$, and hence, one for $$\boldsymbol{\Gamma }_{4}\mathbf{x}_{45}$$ of Eq. (9.40a).

References

Albala, H., 1982, “Displacement analysis of the N-bar, single-loop, spatial linkage. Part I: Underlying mathematics and useful tables”, and “Part II: Basic displacement equations in matrix and algebraic form”, ASME J. Mechanical Design 104, pp. 504–519, 520–525.

Alizade, R.A., Duffy, J., and Hajiyev, E.T., 1983, “Mathematical models for analysis and synthesis of spatial mechanism. Part IV: Seven-link spatial mechanisms”, Mechanism and Machine Theory 18, no. 5, pp. 323–328.CrossRef

Angeles, J., 1985, “On the numerical solution of the inverse kinematic problem”, The Int. J.  Robotics Res. 4, no. 2, pp. 21–37.CrossRef

Angeles, J., 2005, “The degree of freedom of parallel robots: a group-theoretic approach,” Proc. IEEE International Conference on Robotics & Automation, Barcelona, Spain, April 18–22, pp. 1017–1024.

Angeles, J. and Etemadi Zanganeh, K., 1992, “The semigraphical solution of the direct kinematics of general platform manipulators,” Proc. ISRAM ’92. Fourth International Symposium on Robotics and Manufacturing, Nov. 11–13, Santa Fe, Vol. 4, pp. 5–52.

Angeles, J. and Etemadi Zanganeh, K., 1992a, “The semigraphical determination of all inverse kinematic solutions of general six-revolute manipulators”, Proc.  9th CISM-IFToMM Symp.on Theory and Practice of Robots and Manipulators, Sept. 1–4, Udine, pp. 23–32.

Angeles, J. and Etemadi Zanganeh, K., 1992b, “The semigraphical solutions of the direct kinematics of general platform manipulators”, Proc. 4th Int. Symp. Robotics and Manufacturing, Nov. 11–13, Santa Fe, vol. 4, pp. 45–52.

Angeles, J., Hommel, G., and Kovács, P., 1993, Computational Kinematics, Kluwer Academic Publishers, Dordrecht.CrossRefMATH

Bricard, R., 1927, Leçons de Cinématique, Gauthier-Villars, Paris.MATH

Dahlquist, G. and Björck, Å., 1974, Numerical Methods, Prentice-Hall, Englewood Cliffs, NJ.MATH

Duffy, J. and Crane, C., 1980, “A displacement analysis of the general spatial 7-link, 7R mechanism”, Mechanism and Machine Theory 15, no. 3, pp. 153–169.CrossRef

Duffy, J. and Derby, S., 1979, “Displacement analysis of a spatial 7R mechanism—A generalized lobster’s arm”, ASME J. Mechanical Design 101, pp. 224–231.CrossRef

Forsythe, G.E., 1970, “Pitfalls in computation, or why a math book isn’t enough”, American Mathematical Monthly 27, pp. 931–956.MathSciNetCrossRefMATH

Golub, G.H. and Van Loan, C.F., 1989, Matrix Computations, The Johns Hopkins University Press, Baltimore.MATH

Husty, M.L., Pfurner, M. and Schröcker, H.-P., 2007, “A new and efficient algorithm for the inverse kinematics of a general 6R manipulator,” Mechanism and Machine Theory, Vol. 42, No. 1, pp. 66–81.MathSciNetCrossRefMATH

Lee, H.Y. and Liang, C.G., 1988, “Displacement analysis of the general spatial seven-link 7R mechanism”, Mechanism and Machine Theory 23, no. 3, pp. 219–226.CrossRef

Li, H., 1990, Ein Verfahren zur vollständigen Lösung der Rückwärtstransformation für Industrieroboter mit allgemeiner Geometrie, doctoral thesis, Universität-Gesamthochschule Duisburg, Duisburg.

Li, H., Woernle, C., and Hiller, M., 1991, “A complete solution for the inverse kinematic problem of the general 6R robot manipulator”, ASME J. Mechanical Design 113, pp. 481–486.CrossRef

Livio, M., 2005, The Equation That Couldn’t Be Solved. How Mathematical Genius Discovered the Language of Symmetry, Simon & Schuster, New York-London-Toronto-Sydney.MATH

Mavroidis, C. and Roth, B., 1992, “Structural parameters which reduce the number of manipulator configurations”, Proc.  ASME 22nd Biennial Mechanisms Conference, September 13–16, Scottsdale, DE-45, pp. 359–366.

Morgan, A.P., 1987, Solving Polynomial Systems Using Continuation for Scientific and Engineering Problems, Prentice-Hall, Englewood Cliffs. NJ.MATH

Pieper, D.L., 1968, The Kinematics of Manipulators Under Computer Control, Ph.D. thesis, Stanford University, Stanford.

Primrose, E.J.F., 1986, “On the input-output equation of the general 7R mechanism”, Mechanism and Machine Theory 21, no. 6, pp. 509–510.CrossRef

Raghavan, M., 1993, “The Stewart platform of general geometry has 40 configurations”, ASME J. Mechanical Design 115, pp. 277–282.CrossRef

Raghavan, M. and Roth, B., 1990, “Kinematic analysis of the 6R manipulator of general geometry”, in Miura, H. and Arimoto, S. (editors), Proc.  5th Int. Symposium on Robotics Research, MIT Press, Cambridge, MA.

Raghavan, M. and Roth, B., 1993, “Inverse kinematics of the general 6R manipulator  and  related  linkages”, ASME J. Mechanical Design 115, pp. 502–508.CrossRef

Salmon, G., Higher Algebra, 5th Edition (1885), reprinted: 1964, Chelsea Publishing Co., New York.

Tsai, L.W. and Morgan, A.P., 1985, “Solving the kinematics of the most general six- and five-degree-of-freedom manipulators by continuation methods”, ASME J. Mechanisms, Transm., and Auto. in Design 107, pp. 189–200.

Wälischmiller, W. and Li, H., 1996, “Development and application of the TELBOT System–A new Tele Robot System”, Proc.  11th CISM–IFToMM Symposium on Theory and Practice of Robots and Manipulators–Ro.Man.Sy. 11, Udine (Italy), July 1–4.

Wells, D., 1986, The Penguin Dictionary of Curious and Interesting Numbers, Penguin Books, Middlesex, England.

Williams, O., Angeles, J., and Bulca, F., 1993, “Design philosophy of an isotropic six-axis serial manipulator”, Robotics and Computer-Aided Manufacturing 10, no. 4, pp. 275–286.CrossRef

Footnotes

1

N.B. Lee and Li of the references in this chapter are one and the same person, namely, Dr.-Ing. Hongyou Lee (a.k.a. Dr.-Ing. Hongyou Li).

2

By power product we mean terms with their coefficients deleted; for example, the power products of the polynomial $$5{x}^{2}y + 3xz + 9{y}^{2} + 4z = 0$$ are the terms x ² y, xz, y ² and z.

3

Neither Li nor Raghavan and Roth disclosed the geometric interpretation of this fourth equation, first proposed by Lee and Liang (1988).

4

while the last row of Z ₃ is free of θ ₃, the last row of $$\mathbf{X}_{2}\mathbf{Z}_{3}$$ is $$[\mu _{2}s_{3},\ -\mu _{2}c_{3},\ \lambda _{2}]$$.

5

Formulation singularities occur when, in the absence of a kinematic singularity—characterized by the vanishing of det(J), for J defined as in Eq. (5.10b)—two or three contours $$\mathcal{C}_{i}$$ are tangent at an intersection. When this is the case, and a pair of functions (9.62) is chosen to find their roots, whose contours are tangent, the numerical computation of the coordinates of the intersection point becomes impossible.

6

The intersection points appearing in Figs. 9.3 and 9.4 were obtained using the Matlab GUI developed by Dr. Stephane Caro, a postdoctoral fellow at McGill University’s Robotic Mechanical Systems Laboratory. The GUI is available in the CD accompanying this edition

7

Graphical methods of mechanism analysis rely on this form of linear-equation solving.

8

The Italian mathematicians Niccolò Tartaglia—meaning the “stammerer,” his real name believed to have been Fontana—(1535) and Girolamo Cardano (1545), independently, or so each claimed, found the formula for the three roots of the cubic equation, now known as Cardan’s formula. Ferrari’s formula—so named after the Italian mathematician Ludovico Ferrari, a disciple of Cardano’s—provides the four roots of a quartic polynomial.

9

The ODA library is available on www.​mcgill.​ca/​~/​rmsl/​Angeles_​html/​courses/​MECH577/​.

10

The accompanying CD includes a GUI allowing the user to automate the computation of accurate values of the joint variables by clicking at the visual estimates of the intersections of all four contours.

11

The self-motion is not readily detected by contour-intersection using this procedure.

12

This idea was proposed by Dr. Kourosh Etemadi Zanganeh, CANMET (Nepean, Ontario, Canada).

© Springer International Publishing Switzerland 2014

Jorge AngelesFundamentals of Robotic Mechanical SystemsMechanical Engineering Series12410.1007/978-3-319-01851-5_10

10. Kinematics of Alternative Robotic Mechanical Systems

Jorge Angeles1 

(1)

Department of Mechanical Engineering Centre for Intelligent Machines (CIM), McGill University, Montreal, QC, Canada

10.1 Introduction

The study of robotic mechanical systems has focused, so far, on serial manipulators. These are the most common systems of their kind, but nowadays by no means the majority. In recent years, other kinds of robotic mechanical systems have been developed, as outlined in Chap. 1. Under alternative robotic mechanical systems we understand here: (a) parallel robots; (b) multifingered hands; (c) walking machines; and (d) rolling robots. A class that is increasingly receiving attention, humanoids, portrays an architecture inspired from the human musculo-skeletal system. This class deserves a study on its own because of the host of control problems that it poses to the roboticist; its kinematics, however, can be studied with the tools developed in this chapter for the first three kinds of systems listed above. For this reason, a section on humanoids is not included here.

Moreover, under the general heading of kinematics, we study in this chapter the geometry and velocity relations between the sets of joint and Cartesian variables. For the sake of brevity, however, we leave aside the statics of these systems. The reader should be able to derive these relations from the duality between kinematics and statics, as outlined in Chaps. 3 and 5. Some exercises in this regard are included in this chapter.

10.2 Kinematics of Parallel Manipulators

Unlike serial manipulators, their parallel counterparts are composed of kinematic chains with closed subchains. A fairly general parallel manipulator is shown in Fig. 10.1, in which one can distinguish two platforms, one fixed to the ground, $$\mathcal{B}$$, and one capable of moving arbitrarily within its workspace, $$\mathcal{M}$$. The moving platform is connected to the fixed platform through six legs, each being regarded as a six-axis serial manipulator whose base is $$\mathcal{B}$$ and whose end-effector is $$\mathcal{M}$$. The whole leg is composed of six links coupled through six revolutes.

Fig. 10.1

A general six-dof parallel manipulator

The robotic architecture shown in Fig. 10.1 is, in fact, too general, and of little use as such. A simpler and more practical parallel architecture, which is used as a flight simulator, is sketched in Fig. 10.2a. In this figure, the fixed platform $$\mathcal{B}$$ is a regular hexagon, while the moving platform $$\mathcal{M}$$ is an equilateral triangle, as depicted in Fig. 10.2b. Moreover, $$\mathcal{B}$$ is connected to $$\mathcal{M}$$ by means of six serial chains, each comprising five revolutes and one prismatic pair. Three of the revolutes bear concurrent axes, and hence, constitute a spherical joint, similar to the wrists studied in Sect. 4.​4, while two more have axes intersecting at right angles, thus constituting a universal joint. Of the six foregoing joints, only one, the prismatic pair, is actuated.

Fig. 10.2

A six-dof flight simulator: (a) general layout; (b) geometry of its two platforms

It is to be noted that although each leg of the manipulator of Fig. 10.2a has a spherical joint at only one end and a universal joint at the other end, we represent each leg in that figure with a spherical joint at each end. Kinematically, the leg depicted in Fig. 10.2a is equivalent to the actual one, the only difference being that the former appears to have a redundant joint. We use the model of Fig. 10.2a only to make the drawing simpler. A more accurate display of the leg architecture of this manipulator appears in Fig. 10.3.

Fig. 10.3

A layout of a leg of the manipulator of Fig. 10.2

Because the kinematics and statics of parallel manipulators at large are beyond the scope of this book, we will limit the discussion to parallel manipulators of the simplest type.

With regard to the manipulators under study, we can also distinguish between the inverse and the direct kinematics problems in exactly the same way as these problems were defined for serial manipulators. The inverse kinematics of the general manipulator of Fig. 10.1 is identical to that of the general serial manipulator studied in Sect. 9.​2. In fact, each leg can be studied separately for this purpose, the problem thus becoming the same as in that section. For the particular architecture of the manipulator of Fig. 10.2a, in which the actuated joint variables are displacements measured along the leg axes, the inverse kinematics simplifies substantially and allows for a simple closed-form solution. However, the direct kinematics of the same manipulator is as challenging as that of the general serial manipulator of Sect. 9.​2. With regard to the direct kinematics of manipulators of the type depicted in Fig. 10.2a, Charentus and Renaud (1989) and Nanua et al. (1990) showed independently that like the inverse kinematics of general six-axis serial manipulators, the direct kinematics of this manipulator reduces to a 16th-degree polynomial. Note, however, that the direct kinematics of a manipulator similar to that of Fig. 10.2a, but with arbitrary locations of the attachment points of each leg to the moving and fixed platforms, termed the general platform manipulator, has been the subject of intensive research (Merlet 2006). A breakthrough in the solution of the direct kinematics of platform manipulators of the general type was reported by Raghavan (1993), who resorted to polynomial continuation, a technique already mentioned in Sect. 9.​2, for computing up to 40 poses of $$\mathcal{M}$$ for given leg lengths of a parallel manipulator with legs of the type depicted in Fig. 10.3, but with attachment points at both $$\mathcal{M}$$ and $$\mathcal{B}$$ with an arbitrary layout. What Raghavan did not derive is the characteristic 40th-degree polynomial of the general platform manipulator. Independently, Wampler (1996) and Husty (1996) devised procedures to derive this polynomial, although Wampler did not pursue the univariate polynomial approach and preferred to cast the problem in a form suitable for its solution by means of polynomial continuation. Husty did derive the 40th-degree polynomial for several examples. In the process, he showed that this polynomial is the underlying characteristic polynomial for all manipulators of the platform type, which simplifies to a lower-degree polynomial for simpler architectures. As a matter of fact, Lee and Roth (1993) solved the direct kinematics of platform manipulators for which the attachment points at the base and the moving platforms are located at the vertices of planar, similar hexagons. These researchers showed that the problem here reduces to a cascade of quadratic and linear equations. In the particular case in which both polygons are regular, however, the manipulator degenerates into a movable structure, upon fixing the leg lengths, and hence, the solution set becomes a continuum. Lazard and Merlet (1994), in turn, showed that the platform manipulator originally proposed by Stewart (1965), and known as the Stewart–Gough platform, has a 12th-degree characteristic polynomial. Interestingly, these mechanical systems were first introduced by Gough (1956–1957) for testing tires; Stewart (1965) suggested their use as flight simulators, an application that is now well established.

Husty, however, did not show that his 40th-degree polynomial is minimal in that manipulator architectures are possible that exhibit up to 40 actual solutions. Dietmaier (1998) did this, by devising an algorithm that would iteratively increase the number of real solutions of a given architecture. With this paper, Dietmaier proved conclusively that Husty’s 40th-degree polynomial is, in fact, minimal. This was rather surprising, for virtually everybody working in the field expected a minimal polynomial of a degree of the form 2 n , with n being a positive integer. Notice that, in the cases of the most general serial six-revolute manipulator and of the flight simulator, the minimal polynomial is of a degree of this form, with n = 4.

Below we analyze the inverse kinematics of one leg of the manipulator of Fig. 10.2a, as depicted in Fig. 10.3. The Denavit–Hartenberg parameters of the leg shown in this figure are given in Table 10.1. It is apparent that the leg under study is a decoupled manipulator. Its inverse kinematics can be derived by properly modifying the scheme introduced in Sect. 4.​4, for we now have a prismatic joint, which is, in fact, the only active joint of this manipulator. Moreover, by virtue of the underlying design, the active joint variable, b ₃, can take on only positive values.

Table 10.1

DH parameters of the leg of Fig. 10.3

i

a i

b i

α i

1

0

0

90∘

2

0

0

90∘

3

0

b ₃

0∘

4

0

b ₄ (const)

90∘

5

0

0

90∘

6

0

b ₆ (const)

0∘

In view of the DH parameters of this manipulator, Eq. (4.​16) reduces to

(10.1)

where c denotes the position vector of the center C of the spherical wrist and, since frames $$\mathcal{F}_{3}$$ and $$\mathcal{F}_{4}$$ of the DH notation are related by a pure translation, $$\mathbf{Q}_{3} = \mathbf{1}$$. Upon equating the squares of the Euclidean norms of both sides of the foregoing equation, we obtain

(10.2)

where, by virtue of the DH parameters of Table 10.1,

Now, since both b ₃ and b ₄ are positive by construction, Eq. (10.2) readily leads to the desired inverse kinematics solution, namely,

(10.3)

a result that could have been derived by inspection of Fig. 10.3.

Note that the remaining five joint variables of the leg under study are not needed for purposes of inverse kinematics, and hence, their calculation could be skipped. However, in studying the differential kinematics of these manipulators, these variables will be needed; it is thus convenient to solve for them now. This is straightforward, as shown below: Upon expansion of Eq. (10.1), we derive three scalar equations in two unknowns, θ ₁ and θ ₂, namely,

(10.4a)

(10.4b)

(10.4c)

in which c i and s i stand for $$\cos \theta _{i}$$ and sinθ i , respectively, while b ₃, occurring in the above equations, is available in Eq. (10.3). From Eq. (10.4c), θ ₁ is derived as

(10.5a)

which yields a unique value of θ ₁ rather than the two lying $$\pi$$ radians apart, for the two coordinates x C and y C determine the quadrant in which θ ₁ lies. Once θ ₁ is known, θ ₂ is derived uniquely from the remaining two equations through its cosine and sine functions, i.e.,

(10.5b)

With the first three joint variables of this leg known, the remaining ones, i.e., those of the “wrist,” are calculated as described in Sect. 4.​4.​2. Therefore, the inverse kinematics of each leg admits two solutions, one for the first three variables and two for the last three. Moreover, since the only actuated joint is one of the first three, which of the two wrist solutions is chosen does not affect the value of b ₃, and hence, each manipulator leg admits only one inverse kinematics solution.

While the inverse kinematics of this leg is quite straightforward, its direct kinematics is not. Below we give an outline of the solution procedure for the manipulator under study that follows the procedure proposed by Nanua et al. (1990).

In Fig. 10.2a, consider the triangles $$A_{i}S_{i}B_{i}$$, for i = 1, 2, 3, where the subscript i stands for the ith pair of legs. When the lengths of the six legs are fixed and plate $$\mathcal{M}$$ is removed, triangle $$A_{i}S_{i}B_{i}$$ can only rotate about the axis A i B i . Therefore, we can replace the pair of legs of lengths q ia and q ib by a single leg of length l i , connected to the base plate $$\mathcal{B}$$ by a revolute joint with its axis along A i B i . The resulting simplified structure, as shown in Fig. 10.4, is kinematically equivalent to the original structure in Fig. 10.2a.

Fig. 10.4

Equivalent simplified mechanism

Now we introduce the coordinate frame $$\mathcal{F}_{i}$$, with origin at the attachment point O i of the ith leg with the base plate $$\mathcal{B}$$, according with the geometry of Fig. 10.4 and the notation below: For i = 1, 2, 3,

X i

is directed from A i to B i ;

Y i

is chosen such that Z i is perpendicular to the plane of the hexagonal base and points upwards.

O i

is set at the intersection of X i and Y i , and is designated the center of the revolute joint;

Next, we locate the three vertices S ₁, S ₂, and S ₃ of the triangular plate with position vectors stemming from the center O of the hexagon. Furthermore, we need to determine l i and O i . Referring to Figs. 10.4 and 10.5, and letting a i and b i denote the position vectors of points A i and B i , respectively, we have

for i = 1, 2, 3, and hence, u i is the unit vector directed from A i to B i . Moreover, the position of the origin O i is given by vector o i , as indicated below:

(10.6)

Furthermore, let s i be the position vector of S i in frame $$\mathcal{F}_{i}\,(O_{i},\,X_{i},\,Y _{i},\,Z_{i})$$. Then

(10.7)

Fig. 10.5

Replacing each pair of legs with a single leg

Now a frame $$\mathcal{F}_{0}\,(O,\,X,\,Y,\,Z)$$ is defined with origin at O and axes X and Y in the plane of the base hexagon, and related to X i and Y i as depicted in Fig. 10.6. When expressed in frame $$\mathcal{F}_{0}$$, s i takes on the form

(10.8)

where [ R i  ]₀ is the matrix that rotates frame $$\mathcal{F}_{0}$$ to frame $$\mathcal{F}_{i}$$, expressed in $$\mathcal{F}_{0}$$, and is given as

(10.9)

Fig. 10.6

Relation between frames $$\mathcal{F}_{0}$$ and $$\mathcal{F}_{i}$$

Referring to Fig. 10.6,

(10.10)

(10.11)

After substitution of Eqs. (10.9)–(10.11) into Eq. (10.8), we obtain

(10.12)

where o i is given by Eq. (10.6).

Since the distances between the three vertices of the triangular plate are fixed, the position vectors s ₁, s ₂, and s ₃ must satisfy the constraints below:

(10.13a)

(10.13b)

(10.13c)

After expansion, Eqs. (10.13a–c) take the forms:

(10.14a)

(10.14b)

(10.14c)

where $$c(\cdot )$$ and s(⋅ ) stand for cos(⋅ ) and $$\sin (\cdot )$$, respectively, while coefficients $$\{D_{i},E_{i},F_{i}\}_{1}^{5}$$ are functions of the data only and bear the forms shown below¹:

In the above relations the 2 × 2 matrix E is defined as in Eq. (5.​55), and the frame in which the vectors are expressed is immaterial, as long as all vectors appearing in the same scalar product are expressed in the same frame. Since expressions for these vectors in $$\mathcal{F}_{0}$$ have already been derived, it is just simpler to perform those computations in this frame.

Our next step is to reduce the foregoing system of three equations in three unknowns to two equations in two unknowns, and hence, obtain two contours in the plane of two of the three unknowns, the desired solutions being determined as the intersections of the two contours. Since Eq. (10.14a) is already free of $$\phi _{3}$$, all we have to do is eliminate ϕ ₃ from equations (10.14b) and (10.14c). To do this, we resort to the usual trigonometric identities relating cϕ ₃ and sϕ ₃ with tan(ϕ ₃∕2), in Eqs. (10.14b) and (10.14c). After we have cleared the denominators by multiplying the two foregoing equations by (1 +τ ₃ ²), the equations thus resulting take on the forms

(10.15a)

(10.15b)

where k ₁, k ₂, and k ₃ are linear combinations of sϕ ₂, cϕ ₂, and 1. Likewise, m ₁, m ₂, and m ₃ are linear combinations of sϕ ₁, cϕ ₁, and 1, namely,

Next, we eliminate τ ₃ from the above equations dialytically, as we did in Sect. 5.​4.​1 to find the workspace of a three-axis serial manipulator. We proceed now by multiplying each of the above equations by τ ₃ to obtain two more equations, namely,

(10.15c)

(10.15d)

Further, we write Eqs. (10.15a)–(10.15d) in homogeneous form:

(10.16a)

with the 4 × 4 matrix $$\boldsymbol{\Phi }$$ and the four-dimensional vector $$\boldsymbol{\tau }_{3}$$ defined as

(10.16b)

Equation (10.16a) constitutes a linear homogeneous system. Moreover, in view of the form of vector $$\boldsymbol{\tau }_{3}$$, we are interested only in nontrivial solutions, which exist only if $$\mathrm{det}(\boldsymbol{\Phi })$$ vanishes. We thus have the condition

(10.16c)

Equations (10.14a) and (10.16c) form a system of two equations in two unknowns, ϕ ₁ and ϕ ₂. These two equations can be further reduced to a single 16th-degree polynomial equation (Nanua et al. 1990), as discussed later on.

In the spirit of the contour method introduced earlier, we plot these two equations as two contours in the ϕ ₁–ϕ ₂ plane and determine the desired solutions at points where the two contours intersect. Once a pair of (ϕ ₁, ϕ ₂) values is found, ϕ ₃ can be uniquely determined from Eqs. (10.14b and c). Indeed, these equations can be arranged in the form:

From the above equation, both cϕ ₃ and sϕ ₃ can be found uniquely; with the foregoing unique values, ϕ ₃ is determined uniquely as well.

Knowing the angles ϕ ₁, ϕ ₂, and ϕ ₃ allows us to determine the position vectors of the three vertices of the mobile plate, s ₁, s ₂, and s ₃, whose expressions are given by Eq. (10.12). Since three points define a plane, the pose of the end-effector is uniquely determined by the positions of its three vertices. We illustrate the foregoing procedure with a numerical example below:

Example 10.2.1 (A Contour-Intersection Approach).

We derive the direct kinematics of a manipulator analyzed by Nanua et al. (1990). This is a platform manipulator whose base plate has six vertices with coordinates expressed with respect to the fixed reference frame $$\mathcal{F}_{0}$$ as given below, with all data given in meters:

The dimensions of the movable triangular plate are, in turn,

Fig. 10.7

Contours $$\mathcal{C}_{1}$$ and $$\mathcal{C}_{2}$$ for Nanua et al.’s example

Determine all possible poses of the moving plate for the six leg-lengths given as

Solution: After substitution of the given numerical values, Eqs. (10.14a) and (10.16c) become, with c i and s i standing for cosϕ i and sinϕ i , respectively,

Table 10.2

Solutions for Nanua et al.’s example

No.

ϕ ₁ (rad)

ϕ ₂ (rad)

ϕ ₃ (rad)

1

0.8335

0.5399

0.8528

2

1.5344

0.5107

0.2712

3

− 0. 8335

− 0. 5399

− 0. 8528

4

− 1. 5344

− 0. 5107

− 0. 2712

The foregoing equations determine contours $$\mathcal{C}_{1}$$ and $$\mathcal{C}_{2}$$ in the ϕ ₁–ϕ ₂ plane, which are plotted in Fig. 10.7. Four real solutions are found by superimposing $$\mathcal{C}_{1}$$ and $$\mathcal{C}_{2}$$, as shown in this figure. The numerical values of the solutions, listed in Table 10.2, agree with the published results. Solutions 1 and 2 represent two poses of the triangular plate over the base, while solutions 3 and 4 are just the reflections of solutions 1 and 2 with respect to the plane of the base plate. Hence, the geometric symmetry gives rise to an algebraic symmetry of the solutions.

Example 10.2.2 (The Univariate Polynomial Approach).

Reduce the two equations found in Example 10.2.1, Eqs. (10.14a) and (10.16c), to a single monovariate polynomial equation.

Solution: We first substitute the trigonometric identities relating cϕ i and sϕ i with $$\tau _{i} \equiv \tan (\phi _{i}/2)$$, for i = 1,  2, into Eqs. (10.14a) and (10.16c). Upon clearing the denominators by multiplying those equations by $$(1 +\tau _{ 1}^{2})(1 +\tau _{ 2}^{2})$$, we obtain two polynomial equations in τ ₁, namely,

(10.17)

(10.18)

where

and

In the above relations, $$\{K_{i}\}_{1}^{13}$$ and $$\{L_{i}\}_{1}^{5}$$ are all functions of the data. We now eliminate τ ₁ from Eqs. (10.17) and (10.18), following Bezout’s method, as given in (Salmon 1964). To do this, we multiply Eq. (10.17) by H ₁ and Eq. (10.18) by $$G_{1}\tau _{1}^{2}$$, and subtract the two equations thus resulting, which leads to a cubic equation in τ ₁, namely,

(10.19a)

Likewise, if Eq. (10.17) is multiplied by $$H_{1}\tau _{1} + H_{2}$$ and Eq. (10.18) by $$G_{1}\tau _{1}^{3} + G_{2}\tau _{1}^{2}$$ and the equations thus resulting are subtracted from each other, one more cubic equation in τ ₁ is obtained, namely,

(10.19b)

Moreover, if we multiply Eq. (10.18) by τ ₁, a third cubic equation in τ ₁ can be derived, i.e.,

(10.19c)

Now, Eqs. (10.18) and (10.19a–c) constitute a homogeneous linear system of four equations in the first four powers of τ ₁, which can be cast in the form

(10.20)

where $$\boldsymbol{\tau }_{1} \equiv {\left [\begin{array}{llll} \tau _{1}^{3} & \tau _{1}^{2} & \tau _{1} & 1 \end{array} \right ]}^{T}$$ and

In order for Eq. (10.20) to admit a nontrivial solution, the determinant of its coefficient matrix must vanish, i.e.,

(10.21)

Given the definitions of $$\{G_{k}\}_{1}^{5}$$ and $$\{H_{k}\}_{1}^{3}$$, it is apparent that G ₁, G ₃, and G ₅ are quartic, while G ₂ and G ₄ are cubic polynomials in τ ₂. Likewise, H ₁ and H ₃ are quadratic, while H ₂ is linear in τ ₂ as well. As a result, the highest-degree entries of the first and second rows of H are sextic, while those of its third and fourth rows are quadratic. The outcome is that det(H) is of degree $$6 + 6 + 2 + 2 = 16$$, i.e., det(H) is a 16th-degree polynomial in τ ₂. This equation, in general, admits up to 16 different solutions. Furthermore, the roots of the polynomial appear in the form of either complex conjugate pairs or real pairs. In the latter case, each pair represents two symmetric positions of the mobile platform with respect to the base, i.e., for each solution found above the base, another, mirror-imaged, solution exists below it. This symmetry exists, in general, as long as the six base attachment points are coplanar.

Other parallel manipulators are the planar and spherical counterparts of that studied above, and sketched in Figs. 10.8 and 10.9. The direct kinematics of the manipulator of Fig. 10.8 was found to admit up to six real solutions (Gosselin et al. 1992), while the spherical manipulator of Fig. 10.9 has been found to admit up to eight direct kinematic solutions (Gosselin et al. 1994a,b). A comprehensive account of the simulation and design of three-dof spherical parallel manipulators, which includes workspace analysis as well, is included in (Gosselin et al. 1995).

Fig. 10.8

A planar parallel manipulator

Fig. 10.9

A spherical parallel manipulator

10.2.1 Velocity and Acceleration Analyses of Parallel Manipulators

Now we proceed to the velocity analysis of the manipulator of Fig. 10.2a. The inverse velocity analysis of this manipulator consists in determining the six rates of the active joints, $$\{\,\dot{b}_{k}\,\}_{1}^{6}$$, given the twist t of the moving platform. The velocity analysis of a typical leg leads to a relation of the form of Eq. (5.​9), namely,

(10.22a)

where J J is the Jacobian of the Jth leg, $$\dot{\boldsymbol{\theta }}_{J}$$ is the six-dimensional joint-rate vector of the same leg, and t J is the twist of the moving platform $$\mathcal{M}$$, with its operation point defined as the point C J of concurrency of the three revolutes composing the spherical joint of attachment of the leg to the moving platform $$\mathcal{M}$$, and shown in Fig. 10.3 as C, subscript J indicating that point C of that figure is different for different legs. We thus have

(10.22b)

(10.22c)

where the leg geometry has been taken into account.

Furthermore, from Fig. 10.3, it is apparent that

(10.23)

with r J defined as the vector directed from C J to the operation point P of the moving platform.

Now, we regard the axes of the five revolute joints of the six-joint leg of Fig. 10.3 as a set of five zero-pitch screws $$\mathcal{S} =\{ \mathbf{s}_{1},\mathbf{s}_{2},\mathbf{s}_{4},\mathbf{s}_{5},\mathbf{s}_{6}\}$$. The line passing through O ₁ and C is a zero-pitch screw s ₃ reciprocal to $$\mathcal{S}$$, as shown below:

Since s ₃ passes through O ₁, its moment with respect to this point vanishes, and hence,

Now it is simple matter to show that

(10.24)

and $$\boldsymbol{\Gamma }$$ given in Eq. (3.​112), q.e.d.

Notice that, for the Jth leg,

and hence, on the one hand,

where the subscript J reminds us that $$\dot{b}_{3}$$ is different for each leg. In order to ease the notation, and since we have a single variable b ₃ per leg, we define henceforth

(10.25a)

and hence, the above relation between t J and the actuated joint rate of the Jth leg takes the form

(10.25b)

On the other hand,

Likewise, we define

(10.26a)

the foregoing relation thus yielding

(10.26b)

Note that vectors e J and r J define uniquely the line along the two attachment points of the Jth leg. Henceforth, this line will be termed the axis of the Jth leg.

Upon equating the right-hand sides of Eqs. (10.25b) and (10.26b), the desired expression for the actuated joint rate is derived, namely,

(10.27a)

That is, the Jth joint rate is nothing but the projection onto the Jth leg axis of the velocity of point C J . Furthermore, upon substituting Eq. (10.23) into Eq. (10.27a) above, we obtain the relations between the actuated joint rates and the twist of the moving platform, namely,

(10.27b)

for $$J = I,II,\ldots,V I$$. Upon assembling all six leg-equations of Eq. (10.27b), we obtain the desired relation between the vector of actuated joint rates and the twist of the moving platform, namely,

(10.28a)

with the six-dimensional vectors b and t defined as the vector of joint variables and the twist of the platform at the operation point, respectively. Moreover, the 6 × 6 matrix K is the Jacobian of the manipulator at hand. These quantities are displayed below:

(10.28b)

From the above display, it is apparent that each row of K is the transpose of the Plücker array of the corresponding leg axis, although in axis coordinates, as opposed to the Jacobian matrix J of serial manipulators, whose columns are the Plücker coordinates of the corresponding joint axis in ray coordinates. Moreover, in these coordinates, the moment of the leg-axis is taken with respect to the operation point P of $$\mathcal{M}$$. One more difference between the velocity analysis of serial and parallel manipulators is the role played by the actuator joint rates in the underlying forward and direct kinematics. In the case of parallel manipulators, this role is changed, for now we have that the actuator joint rates are given by explicit formulas in terms of the twist of the moving platform, along with the manipulator architecture and configuration. Finding the platform twist requires inverting matrix K. Moreover, the significance of singularities also changes: When K becomes singular, some instantaneous motions of the platform are possible even if all actuated joints are kept locked. That is, a singularity of K is to be interpreted now as the inability of the manipulator to withstand a certain static wrench. An extensive analysis of the singularities of parallel manipulators using line geometry in a form that is known as Grassmann geometry was reported by Merlet (1989).

Now, the acceleration analysis of the same leg is straightforward. Indeed, upon differentiation of both sides of Eq. (10.28a) with respect to time, one obtains

(10.29a)

where $$\dot{\mathbf{K}}$$ takes the form

(10.29b)

and u J is defined as

(10.29c)

Therefore,

(10.29d)

Now, since vectors r J are fixed to the moving platform, their time-derivatives are simply given by

(10.29e)

On the other hand, vector e J is directed along the leg axis, and so, its time-derivative is given by

with $$\boldsymbol{\omega }_{J}$$ defined as the angular velocity of the third leg link, i.e.,

the subscript J of the above parentheses reminding us that this angular velocity differs from leg to leg. Clearly, we need expressions for the rates of the first two joints of each leg. Below we derive the corresponding expressions. In order to simplify the notation, we start by defining

(10.29f)

Now we write the second vector equation of Eq. (10.22a) using the foregoing definitions, which yields

where b ₄ is the same for all legs, since all have identical architectures. Now we can eliminate $$(\dot{\theta }_{2})_{J}$$ from the foregoing equation by dot-multiplying its two sides by g J , thereby producing

where an obvious exchange of the cross and the dot in the above equation has taken place, and expression (10.27a) for $$\dot{b}_{J}$$ has been recalled. Now it is a simple matter to solve for $$(\dot{\theta }_{1})_{J}$$ from the above equation, which yields

with $$\Delta _{J}$$ defined as

(10.30)

Moreover, we can obtain the above expression for $$(\dot{\theta }_{1})_{J}$$ in terms of the platform twist by recalling Eq. (10.23), which is reproduced below in a more suitable form for quick reference:

where t is the twist of the platform, the 3 × 6 matrix C J being defined as

in which R J is the cross-product matrix of r J and 1 is the 3 × 3 identity matrix. Therefore, the expression sought for $$(\dot{\theta }_{1})_{J}$$ takes the form

(10.31a)

A similar procedure can be followed to find $$(\dot{\theta }_{2})_{J}$$, the final result being

(10.31b)

thereby completing the calculations required to obtain the rates of all unactuated joints. Note that the unit vectors involved in those calculations, e J , f J , and g J , are computed from the leg inverse kinematics, as discussed above.

10.2.1.1 Planar and Spherical Manipulators

The velocity analysis of the planar and spherical parallel manipulators of Figs. 10.8 and 10.9 are outlined below: Using the results of Sect. 5.​7.​2, the velocity relations of the Jth leg of the planar manipulator take the form

(10.32)

where J J is the Jacobian matrix of this leg, as given by Eq. (5.​60), while $$\dot{\boldsymbol{\theta }}_{J}$$ is the three-dimensional vector of joint rates of this leg, i.e.,

For purposes of kinematic velocity control, however, we are interested only in the first joint rate of each leg; i.e., all we need to determine in order to produce a desired twist of the end-effector is not all of the foregoing nine joint rates, but only $$\dot{\theta }_{I1}$$, $$\dot{\theta }_{II1}$$, and $$\dot{\theta }_{III1}$$. Thus, we want to eliminate from Eq. (10.32) the unactuated joint rates $$\dot{\theta }_{J2}$$ and $$\dot{\theta }_{J3}$$, which can be readily done if we multiply both sides of the said equation by a three-dimensional vector n J perpendicular to the second and the third columns of J J . This vector can be most easily determined as the cross product of those two columns, namely, as

Upon multiplication of both sides of Eq. (10.32) by n J T , we obtain

(10.33)

and hence, we can solve directly for $$\dot{\theta }_{J1}$$ from the foregoing equation, thereby deriving

(10.34a)

Note that Eq. (10.33) can be written in the form

(10.34b)

with j J and k J defined, for $$J = I,\,II,\,III$$, as

If we further define

and assemble all three foregoing joint-rate-twist relations, we obtain

(10.35)

where J and K are the two manipulator Jacobians defined as

(10.36)

Expressions for the joint accelerations can be readily derived by differentiation of the foregoing expressions with respect to time.

The velocity analysis of the spherical parallel manipulator of Fig. 10.9 can be accomplished similarly. Thus, the velocity relations of the Jth leg take on the form

(10.37)

where the Jacobian of the Jth leg, J J , is defined as

while the joint-rate vector of the Jth leg, $$\dot{\boldsymbol{\theta }}_{J}$$, is defined exactly as in the planar case analyzed above. Again, for kinematic velocity control purposes, we are interested only in the actuated joint rates, namely, $$\dot{\theta }_{I1}$$, $$\dot{\theta }_{II1}$$, and $$\dot{\theta }_{III1}$$. As in the planar case, we can eliminate $$\dot{\theta }_{J2}$$ and $$\dot{\theta }_{J3}$$ upon multiplication of both sides of Eq. (10.37) by a vector n J perpendicular to the second and the third columns of J J . An obvious definition of this vector is, then,

The desired joint-rate relation is thus readily derived as

(10.38)

where j J and k J are now defined as

(10.39a)

(10.39b)

The accelerations of the actuated joints can be derived, again, by differentiation of the foregoing expressions.

We can then say that in general, parallel manipulators, as opposed to serial ones, have two Jacobian matrices.

10.3 Multifingered Hands

Shown in Fig. 10.10 is a three-fingered hand with fingers $$\mathcal{A}$$, $$\mathcal{B}$$, and $$\mathcal{C}$$, each supplied with three revolute joints. Furthermore, each finger carries two revolutes of parallel axes that are normal to the axis of the third one. Thus, each finger comprises three links, the one closest to the palm $$\mathcal{P}$$ being of virtually zero length and coupled to $$\mathcal{P}$$ via a revolute joint. Of the other two, that in contact with the object $$\mathcal{O}$$ is the distal phalanx, the other being the proximal phalanx. Moreover, the fingers can be either hard or soft; if the latter, then contact takes place over a finite area; if the former, then contact takes place over a point, and hence, hard fingers can exert only force and no moment on the manipulated object. Soft fingers can exert both force and moment. For the sake of conciseness, we will deal only with hard fingers here. Let the contact points of fingers $$\mathcal{A}$$, $$\mathcal{B}$$, and $$\mathcal{C}$$ with $$\mathcal{O}$$ be denoted by A O , B O , and C O , respectively. The purpose of the hand is to manipulate $$\mathcal{O}$$ with respect to $$\mathcal{P}$$. The motion of $$\mathcal{O}$$, moreover, can be specified through its pose, given in turn by the position vector o of one of its points, O, and its orientation matrix Q with respect to a frame fixed to $$\mathcal{P}$$. Now, in order to manipulate $$\mathcal{O}$$ six degrees of freedom are needed. When the three fingers are in contact with $$\mathcal{O}$$, the hand-object system forms a parallel manipulator with three “legs” of the RRS type, with S standing for spherical joint. As the reader can verify, the system has six-dof, which means that manipulations are possible with only two actuated revolutes per finger. Many designs involve only two motors per finger, one of the revolute joints being provided with springs to guarantee contact.

Fig. 10.10

A three-fingered hand

Thus, the location of the three contact points is fully determined if the pose of $$\mathcal{P}$$ and the locations of A O , B O , and C O in $$\mathcal{O}$$ are given. Once the position vectors of the three contact points are known, determining the joint-variable values needed to take $$\mathcal{O}$$ to the desired pose reduces to solving a three-dimensional positioning problem for each finger, with three revolute joints—a problem already discussed in Sect. 4.​4.​1. The joint rates and accelerations are then determined as in Sects. 4.​4 and 5.5.

While the mechanics of grasping is quite elaborate, due to the deformation of both fingers and object, some assumptions will be introduced here to produce a simple model. One such assumption is rigidity; a second is smoothness, under which each finger is capable of exerting only normal force on the object. Moreover, this force is unidirectional, for the finger cannot exert a pull on the object. The smoothness and rigidity assumptions bring about limitations, for they require a rather large number of fingers to exert an arbitrary wrench on the grasped object, as shown below.

We assume that we have a rigid object $$\mathcal{O}$$ bounded by a surface $$\mathcal{S}$$ that is smooth almost everywhere, i.e., it has a well-defined normal n everywhere except at either isolated points or isolated curves on $$\mathcal{S}$$. Below we show that in order to exert an arbitrary wrench w onto $$\mathcal{O}$$, a hand with rigid, smooth fingers should have more than six fingers. Assume that the n contact points on $$\mathcal{S}$$ are $$\{\,P_{i}\}_{1}^{n}$$ and that we want to find n pressure values $$\{\,\lambda _{i}\}_{1}^{n}$$ at the contact points that will produce the desired wrench w onto $$\mathcal{O}$$.

Moreover, let the unit normal at P i be denoted by n i and the vector directed from O to P i be denoted by p i , as shown in Fig. 10.11.

Fig. 10.11

Geometry of grasped object $$\mathcal{O}$$

The wrench w i exerted by each finger onto $$\mathcal{O}$$ at P i is apparently

Upon equating the resultant wrench with the desired wrench, we obtain

or in compact form, as

(10.40a)

where G is the 6 × n grasping matrix and $$\boldsymbol{\lambda }$$ is the n-dimensional vector of pressure values, i.e.,

(10.40b)

Note that the ith column of the grasping matrix is nothing but the array of Plücker coordinates of the line of action of the force exerted by the ith finger on the object, in ray coordinates—see Sect. 3.​2.​2.

Thus, for n = 6, a unique pressure vector $$\boldsymbol{\lambda }$$ is obtained as long as G is nonsingular. However, negative values of $$\{\lambda _{i}\}_{1}^{n}$$ are not allowed, and since nothing prevents these values from becoming negative, six fingers of the type considered here are not enough. We must thus have more than six such fingers in order to be able to apply an arbitrary wrench onto the body. For n > 6 and a full-rank 6 × n grasping matrix, nonnegative values of $$\{\lambda _{i}\}_{1}^{n}$$ can be generated, but only under certain conditions, as explained below: Let u be a vector lying in the null space of G, i.e., such that $$\mathbf{G}\mathbf{u} = \mathbf{0}$$. Then an arbitrary $$\boldsymbol{\lambda }$$ can be expressed as

where $$\boldsymbol{\lambda }_{0}$$ is a particular solution of Eq. (10.40a). For example, if $$\boldsymbol{\lambda }_{0}$$ is chosen as the minimum-norm solution of Eq. (10.40a), then we have, explicitly,

where $${\mathbf{G}}^{\dag }$$ is the generalized inverse of G, defined as

The numerical computation of the minimum norm solution of an undetermined system of linear equations is discussed in Appendix B.

Note that the 6 × 6 product G G T has the general form

Although a symbolic expression for the inverse H of G G T is not possible in the general case, we can always express this inverse in block form, with all blocks of $$3 \times 3$$, namely,

where consistently, H ₁₁ has units of meter⁻², H ₁₂ has units of meter⁻¹, and H ₂₂ is dimensionless. Moreover, we can partition G into two 3 × n blocks, i.e.,

in which A has units of meter, while B is dimensionless. Hence, the product G T H takes on the form

and hence, the left-hand block of the foregoing product has units of meter⁻¹, while the right-hand block is dimensionless. Upon multiplying the desired wrench w from the left by this product, the result, $$\boldsymbol{\lambda }_{0}$$, has consistently units of Newton.

Now, to find u, several numerical methods are available that do not require any matrix inversion (Golub and Van Loan 1989). A simple way of expressing u, although by no means the way to compute it, is given by

where v is an n-dimensional vector and P is a matrix projecting v onto the null space of G, and 1 defined as the n × n identity matrix. Now we are left with the task of finding v so that

Hence, our policy to determine u is simply, for i = 1,  …,  n,

Further, v is found upon solving

However, P is singular—its rank is n − 6, as the reader is invited to prove—and the above equation may or may not admit a solution. For a solution to be possible, u must lie in the null space of G.

A more general approach to solving the grasping problem relies on linear programming, but this topic lies beyond the scope of the book. The interested reader is directed to the specialized literature on the subject (Hillier and Lieberman 1995).

In the presence of soft fingers, however, fewer than six fingers suffice to grasp an object. Moreover, in the presence of friction, the force transmitted by a finger has, in addition to its normal component, a tangential component that, hence, gives rise to a contact force making a nonzero angle with the normal n i to the object surface at the ith contact point. Therefore, by virtue of the linear relation between the normal and the tangential components of the transmitted force, given by the coefficient of friction μ, this force is constrained to lie within the friction cone. This cone has its apex at the contact point P i , its elements making an angle α with the normal, that is given by $$\alpha =\arctan (\mu )$$. Furthermore, by virtue of the fundamental assumption of Coulomb friction analysis, μ lies between 0 and 1, and hence, α is constrained to lie between 0∘ and 45∘.

Fig. 10.12

A prototype of the KU Leuven three-fingered hand (courtesy of Prof. H. Van Brussel)

Shown in Fig. 10.12 is an example of a three-fingered hand. This hand was developed at the Katholieke Universiteit Leuven (Van Brussel et al. 1989).

The literature on multifingered hands and the problem of grasping is far richer than we can afford to describe here. Extensive studies on these subjects have been reported by Reynaerts (1995) and Teichmann (1995).

10.4 Walking Machines

Besides the walking machines introduced in Chap. 1, namely, the OSU Adaptive Suspension Vehicle and the TUM Hexapod, other legged machines or leg designs are emerging with special features. For example, CARL, shown in Fig. 10.13, is a compliant articulated robot leg that was designed at McGill University’s Centre for Intelligent Machines (CIM) by Prof. Buehler and his team (Menitto and Buehler 1996). This leg contains an actuation package with a high load-carrying capacity (ATLAS) and an antagonistic pair of concentric translational-to-angular displacement devices. The leg has four degrees of freedom, of which two are actuated by ATLAS and one by a harmonic drive motor, while one is unactuated. This leg design is intended to provide locomotion to a quadruped.

Fig. 10.13

The compliant articulated robot leg (courtesy of Prof. M. Buehler)

As nature shows in mammals, four legs are necessary to guarantee the static equilibrium of the body while one leg is in the swing phase. Static equilibrium is achieved as long as the horizontal projection of the mass center of the overall body-legs system lies within the triangle defined by the contact points of the three legs that are in the stance phase. More than four legs would allow for greater mobility. For purposes of symmetry, some walking machines are designed as hexapods, so as to allow for an equal number of legs in the swing and the stance phases.

The kinematic analysis of walking machines is possible using the hexapod displayed in Fig. 10.14.

Furthermore, contact with the ground is assumed to take place such that the ground can exert only a “pushing” force on each leg but no moment. Thus, while we can model the contact between leg and ground as a spherical joint, care must be taken so that no pulls of the ground on the leg are required for a given gait.

Fig. 10.14

A general hexapod

Fig. 10.15

One of the legs of a walking machine with three actuated revolutes

Fig. 10.16

One of the six identical legs of the TU Munich Hexapod (courtesy of Prof. F. Pfeiffer. Reproduced with permission of TSI Enterprises, Inc.)

Additionally, we shall assume that the leg is actuated by three revolutes, namely, those with variables θ ₄, θ ₅, and θ ₆ in Fig. 10.15, where $$\mathcal{G}$$ denotes the ground and $$\mathcal{B}$$ the machine body. A photograph of one of the six identical legs of the walking machine developed at the Technical University of Munich, introduced in Fig. 1.​11, is included in Fig. 10.16. The Denavit–Hartenberg parameters of this leg, proceeding from the ground upwards, are displayed in Table 10.3. Note that the architecture of this leg is simply that of a three-revolute manipulator carrying a spherical joint at its end-effector, similar to that of the decoupled manipulators studied in Sect. 4.​4. The spherical joint accounts for the coupling of the leg with the ground. We are thus assuming that when a leg is in contact with the ground, the contact point of the leg is immobile. At the same time, the motion of the body $$\mathcal{B}$$ is prescribed through the motion of a point on the axis of the revolute coupled to the body. Such a point is indicated by P J for the Jth leg. Moreover, the point of the Jth leg in contact with the ground will be denoted by O J . Thus, when prescribing the motion of the body through that of each of the six points P I , $$P_{II}$$, …, $$P_{V I}$$, the rigid-body compatibility conditions of Eqs. (8.​14), (8.​15), and (8.​28) must be observed. The pose of the body $$\mathcal{B}$$ is thus specified by the position of a point C of the body and the orientation matrix Q of the body with respect to a frame fixed to the ground, the position vector of C in that frame being denoted by c. The specification of points P I to $$P_{V I}$$ thus follows from the knowledge of c and Q, thereby guaranteeing compliance with the above-mentioned constraints.

Furthermore, a maneuver of $$\mathcal{B}$$, given by a prescribed pose, can be achieved by suitable values of the actuated-joint variables, which thus leads to a problem of parallel-manipulator inverse kinematics.

The mechanical system that results from the kinematic coupling of the machine legs with the ground is thus equivalent to a parallel manipulator. The essential difference between a walking machine and a parallel manipulator is that the former usually involves more actuators than degrees of freedom. This feature is known as redundant actuation and will not be pursued here.

Table 10.3

DH parameters of the leg of the TU-Munich walking machine

i

a i  (mm)

b i (mm)

α i

1

17

0

90∘

2

123

0

180∘

3

116

0

0∘

4

0

0

90∘

5

0

0

90∘

6

0

0

0∘

10.5 Rolling Robots

Probably the rolling robot that has received most media attention is NASA’s Sojourner, of the Pathfinder mission, which explored a spot of the Martian landscape for several months in 1997. It is noteworthy that the Sojourner was designed, built, and commissioned with a shoestring budget for NASA standards. The Sojourner is a paradigm of rolling robots for autonomous operation on rough terrain. We focus here on the simplest robots of this class, i.e., robots intended for tasks on horizontal surfaces, and so, their platforms undergo planar motion, which greatly simplifies their kinematics. One special feature of rolling robots is their nonholonomic nature. What this means is that the minimum number m of generalized coordinates defining uniquely a posture of the system is greater than the number n of their independent generalized speeds, i.e., m > n. In the case of serial and parallel manipulators, paradigms of holonomic systems, m = n. In nonholonomic systems, then, we must distinguish between their posture, or configuration degree of freedom and their mobility, or velocity degree of freedom. For the sake of conciseness, we will refer to the latter whenever we mention the degree of freedom of a rolling robot.

Rolling robots are basically of two kinds, depending on whether they are supplied with conventional or with omnidirectional wheels. The simplest robots with conventional wheels are capable only of two-dof motions, and hence, are kinematically equivalent to conventional terrestrial vehicles. However, robots with omnidirectional wheels (ODWs) are capable of three-dof motions, which increases substantially their maneuverability. Below we outline the kinematics of the two kinds of robots.

10.5.1 Robots with Conventional Wheels

We begin with robots rolling on conventional wheels. Since these have two degrees of freedom, they need only two actuators, the various designs available varying essentially in where these actuators are located. The basic architecture of this kind of robot is displayed in Fig. 10.17a, in which we distinguish a chassis, or robot body, depicted as a triangular plate in that figure: two coaxial wheels that are coupled to the chassis by means of revolutes of axes passing through points O ₁ and O ₂; and a third wheel mounted on a bracket.

Fig. 10.17

A two-dof rolling robot: (a) its general layout; and (b) a detail of its actuated wheels

Now, the two actuators can be placed in two essentially different arrays. In the first array, not shown in the figure, one actuator is used for propulsion and the other for steering, the former being used to provide locomotion power to the common two-wheel axle via a differential gear train. This train is required to allow for different angular velocities of the two coaxial wheels. Moreover, the orientation of the mid-plane of the steering wheel, defined by angle ψ, is controlled with the second actuator. This design has some drawbacks, namely, (a) the two motors serving two essentially different tasks call for essentially different operational characteristics, to the point that both may not be available from the same manufacturer; (b) the propulsion motor calls for velocity control, the steering motor for position control, thereby giving rise to two independent control systems that may end up by operating in an uncoordinated fashion; and finally, (c) the use of a differential gear train increases cost, weight, and brings about the inherent backlash of gears.

In the second actuation array, shown in Fig. 10.17b, the two coaxial wheels are powered independently, thereby doing away with the differential train and its undesirable side effects, the third wheel being an idle caster. Moreover, the orientation of the latter is determined by friction and constraint forces, thereby making unnecessary the steering control system of the first array. Below we analyze the kinematics of a robot with this form of actuation.

Let point C of the platform be the operation point, its projection onto a horizontal plane $$\mathcal{H}$$ containing the common axis of the two actuated wheels being C ′ , as indicated in Fig. 10.17b. Let, moreover, the position vector of C ′ in a frame fixed to the ground, with origin lying in $$\mathcal{H}$$, be denoted by c. Additionally, let ω be the scalar angular velocity of the platform about a vertical axis. By virtue of the two-dof motion of this robot, we can control either the velocity $$\dot{\mathbf{c}}$$ of C—or of C ′ for that matter—or a combination of ω and a scalar function of $$\dot{\mathbf{c}}$$ by properly specifying the two joint rates $$\dot{\theta }_{1}$$ and $$\dot{\theta }_{2}$$. However, we cannot control the two components of $$\dot{\mathbf{c}}$$ and ω simultaneously.

In order to proceed with the kinematic analysis of the system at hand, we define an orthonormal triad of vectors whose orientation is fixed with respect to the chassis. Let this triad be denoted by $$\{\,\mathbf{i},\,\mathbf{j},\,\mathbf{k}\,\}$$, with k pointing in the upward vertical direction. Thus, the velocities $$\mathbf{\dot{o}}_{i}$$ of points O i , for i = 1, 2, are given by

(10.41a)

Furthermore, the velocity of C can now be written in two-dimensional form as

(10.41b)

with E defined as in Eq. (5.​55). Thus, all vectors of Eq. (10.41b) are two-dimensional. Substituting Eq. (10.41a) into Eq. (10.41b) and subtracting sidewise Eq. (10.41b) for i = 1 and for i = 2, we derive

Hence, the angular velocity ω of line O ₁ O ₂ in planar motion, which is the same as that of the platform, can be readily expressed as

(10.41c)

its positive direction being that of k. Upon substitution of Eqs. (10.41a and b) into Eq. (10.41b), we obtain expressions for $$\dot{\mathbf{c}}$$ in terms of the joint rates, similar to Eqs. (10.41b), for i = 1, 2. Furthermore, upon adding sidewise the two expressions thus resulting, we obtain $$\dot{\mathbf{c}}$$ in the desired form, namely,

(10.41d)

Equations (10.41c and d) express now the differential direct kinematics relations of the robot under study. In compact form, these relations become

(10.41e)

with the 3 × 2 matrix L defined as

(10.41f)

Moreover, the planar twist t of the platform and the two-dimensional vector $$\dot{\boldsymbol{\theta }}_{a}$$ of actuated joint rates are defined as

(10.41g)

Computing the joint rates from the foregoing equations, i.e., solving the associated inverse kinematics problem, is now a trivial task. The inverse kinematics relations are computed below by noticing that Eq. (10.41c) provides a relation for the joint-rate difference. Thus, all we need now is a second equation for the joint-rate sum. By inspection of Eq. (10.41d), it is apparent that we can derive this relation by dot-multiplying both sides of this equation by j, thereby obtaining

(10.42)

The two equations (10.41c) and (10.42) can now be cast into the usual form

(10.43a)

where the two robot Jacobians J and K are given below:

(10.43b)

Note that J is a 2 × 2 matrix, but K is a 2 × 3 matrix.

The inverse kinematics relations are readily derived from Eq. (10.43a), namely,

where $$\dot{y} \equiv \dot{\mathbf{c}} \cdot \mathbf{j}$$.

Now, in order to complete the kinematic analysis of the robot at hand, we calculate the rates of the unactuated joints, $$\dot{\theta }_{3}$$ and $$\dot{\psi }$$. To this end, let $$\boldsymbol{\omega }_{i}$$, for i = 1, 2, 3, and $$\mathbf{\dot{o}}_{3}$$ denote the three-dimensional angular velocity vector of the ith wheel and the three-dimensional velocity vector of the center of the caster wheel. Likewise, ω ₄ denotes the scalar angular velocity of the bracket.

We thus have, for the angular velocity vectors of the two actuated wheels,

(10.44a)

(10.44b)

In the ensuing derivations, we will need the velocities of the centers of the two actuated wheels, which were derived in Eq. (10.41a). Moreover, the angular velocity of the caster wheel can be readily written in the frame fixed to the bracket, $$\{\,\mathbf{e}_{3},\,\mathbf{f}_{3},\,\mathbf{k}\,\}$$, namely,

(10.45)

with $$\psi$$ denoting the angle between vectors j and e ₃ of Fig. 10.17a, measured in the positive direction of k, as indicated in the layout of Fig. 10.18.

Fig. 10.18

Layout of the unit vectors fixed to the platform and to the bracket

Note that vector e ₃ is parallel to the axis of rolling of the caster wheel, while f ₃ is a horizontal vector perpendicular to e ₃. These two sets of unit vectors are related by

(10.46a)

(10.46b)

their inverse relations being

(10.46c)

(10.46d)

Furthermore, the velocity of the center of the caster wheel is derived as

while the scalar angular velocity of the bracket, ω ₄, is given by

(10.47)

In Chap. 12 we shall need $$\dot{\mathbf{c}}$$ in bracket coordinates. Such an expression is obtained from Eqs. (10.41d) and (10.46c and d), namely,

(10.48)

Expressions for the dependent rates in terms of the independent ones, $$\dot{\theta }_{1}$$ and $$\dot{\theta }_{2}$$, are readily derived. To this end, we express the velocity of P in two independent forms, one in terms of the velocity of O ₃ and the other in terms of the velocity of C, i.e.,

(10.49a)

(10.49b)

Upon equating the right-hand sides of the above equations, we obtain a three-dimensional vector equation relating dependent with independent rates, namely,

where we have recalled the expressions derived above for $$\mathbf{\dot{o}}_{3}$$ and ω ₄. Further, we rewrite the foregoing equation with the unknown rates, $$\dot{\theta }_{3}$$ and $$\dot{\psi }$$, on the left-hand side, i.e.,

(10.50)

Moreover, we note that, from Fig. 10.17,

and hence,

Equation (10.50) thus becoming

(10.51)

Now it is a simple matter to solve for $$\dot{\theta }_{3}$$ and $$\dot{\psi }$$ from Eq. (10.51). Indeed, we solve for $$\dot{\theta }_{3}$$ by dot-multiplying both sides of the above equation by f ₃. Likewise, we solve for $$\dot{\psi }$$ by dot-multiplying both sides of the same equation by e ₃, thus obtaining

Now, by recalling the expressions derived above for ω and $$\mathbf{\dot{c}}$$, we obtain

Therefore,

(10.52a)

(10.52b)

with the definitions given below:

(10.53)

Hence, if we let $$\dot{\boldsymbol{\theta }}_{u} \equiv {[\dot{\theta }_{3}\quad \dot{\psi }]}^{T}$$ be the vector of unactuated joint rates, then we have

(10.54a)

with $$\boldsymbol{\Theta }$$ defined as

(10.54b)

thereby completing the intended kinematic analysis.

10.5.2 Robots with Omnidirectional Wheels

In general, omnidirectional wheels (ODWs) allow for two independent translational motions on the supporting floor and one independent rotational motion about a vertical axis. Based on the shapes of the wheels, moreover, ODWs can be classified into spherical wheels and Mekanum wheels, the latter also being known as ilonators. Spherical wheels have been extensively investigated in the literature (West and Asada 1995). We focus here on ODWs of the Mekanum type and assume that the robot of interest is equipped with n of these.

Fig. 10.19

(a) The Mekanum Wheel; (b) its side view

The Mekanum wheel bears a set of rollers mounted along the periphery of the wheel hub at a given angle, as shown in Fig. 10.19a. Furthermore, the rollers are shaped so that the wheel appears as circular on its side view, as shown in Fig. 10.19b, in order to ensure a smooth motion. Pairwise orthogonal unit vectors e i , f i and g i , h i are defined on the middle horizontal planes of the wheel hub and of the roller in contact with the floor, respectively. This roller is termed active in the discussion below. Now we aim at finding the kinematic relation between the wheel joint rates $$\{\,\dot{\theta }_{i}\,\}_{1}^{n}$$ and the Cartesian velocity variables of the robot, namely, the scalar angular velocity ω and the two-dimensional velocity vector $$\mathbf{\dot{c}}$$ of the platform centroid. To this end, we express the velocity $$\mathbf{\dot{o}}_{i}$$ of the centroid O i of the ith wheel in two different forms: first we look at this velocity from the active roller up to the centroid O i ; then, from the platform centroid C to O i .

If we relate the velocity of O i with that of the contact point of the active roller with the ground, then we can write, with the aid of Fig. 10.20,

Fig. 10.20

The active roller of the ith wheel

(10.55)

with v i defined as the relative velocity of O i with respect to P i . Now let $$\boldsymbol{\omega }_{h}$$ and $$\boldsymbol{\omega }_{r}$$ denote the angular-velocity vectors of the hub and the roller, respectively, i.e.,

We thus have

where b is the radius of the rollers at the contact point with ground. In addition, $$\dot{\theta }_{i}$$ denotes the rate of the wheel hub, while $$\dot{\phi }_{i}$$ denotes that of the active roller, which are positive in the directions of vectors e i and g i , respectively. Hence,

(10.56)

Moreover,

a denoting the height of the axis of the wheel hub, as shown in Fig. 10.19b. Thus,

(10.57)

thereby obtaining the desired expression for $$\mathbf{\dot{o}}_{i}$$, namely,

(10.58)

Fig. 10.21

The layout of the ith wheel with respect to the robot platform

A general layout of the ith ODW with roller axes at an angle α i with respect to the normal e i to the middle vertical plane of the corresponding hub is shown in Fig. 10.21. The subscript i is associated with both the ith wheel and its active roller. Moreover, the velocity $$\mathbf{\dot{o}}_{i}$$ of the ith wheel can be expressed in terms of the Cartesian velocity variables, $$\mathbf{\dot{c}}$$ and ω, as

(10.59)

where we have used a two-dimensional vector representation, with d i defined as the vector directed from point C to the centroid O i of the hub and E defined as in Eq. (5.​55). Furthermore, since all rollers are unactuated and they rotate idly, the value of $$\dot{\phi }_{i}$$ is immaterial to our study. Hence, we eliminate this variable from the foregoing equations, which is done by dot-multiplying both sides of Eq. (10.58) by g i , normal to h i , thereby deriving

But

Therefore,

(10.60)

The same multiplication performed on Eq. (10.59) yields

(10.61)

Upon equating the right-hand sides of Eqs. (10.60) and (10.61), we derive the desired relation, namely,

(10.62)

where the three-dimensional vector k i is defined as

and the twist vector t is as defined in Eq. (10.41g). We now define the vector of wheel rates $$\dot{\boldsymbol{\theta }}$$ in the form

(10.63)

If the n equations of Eq. (10.62) are now assembled, we obtain

(10.64)

where, if we assume that all angles α i are identical and labeled α, then the n × n Jacobian J and the n × 3 Jacobian K take the forms

(10.65a)

(10.65b)

with 1 denoting the n × n identity matrix.

Given Eqs. (10.65a) and (10.65b), the differential inverse kinematics can be resolved as

(10.66)

whence it is apparent that sinα must be different from zero, i.e., the axes of the rollers must not be parallel to the axis of the hub. If these axes are parallel, then the ODWs reduce to conventional wheels.

10.6 Exercises

10.1

For the parallel manipulator of Fig. 10.2, find the matrix mapping joint forces into wrenches acting on the moving platform, if actuation is supplied through the prismatic joints.

10.2

Show that, if $$\det (\mathbf{H})$$ of Eq. (10.21) is expanded in the form

then $$\Delta _{1},\ \Delta _{2}$$, and $$\Delta _{3}$$ are 14th-, 13th-, and 12th-degree polynomials in τ ₂, respectively.

10.3

What is the counterpart of a decoupled serial manipulator, as described in Sect. 4.​4, of a six-dof parallel manipulator with an architecture similar to that of Fig. 10.2? What is the degree of the characteristic polynomial of that parallel manipulator? Compare this answer with the characteristic polynomial derived in Sect. 4.​4.

10.4

We refer to the rolling robot with conventional wheels introduced in Sect. 10.5.1. We would like to study the equivalent concept of manipulability, which here we can call maneuverability. This concept refers to the numerical conditioning of the two underlying Jacobian matrices, J and K, as defined in Eqs. (10.43a and b). Clearly, J is isotropic and hence, optimally conditioned. In attempting to determine the condition number of K, however, we need to order its singular values from smallest to largest.

(a)

Show that the two singular values of K are $$\sigma _{1} = l/r$$ and $$\sigma _{2} = 2/r$$. Obviously, an ordering from smallest to largest is impossible because of the lack of dimensional homogeneity.

(b)

In order to cope with the dimensional inhomogeneity of matrix K, we introduce the characteristic length L, which we define below. First, we redefine the Jacobian K in dimensionless form as

Now, L is the value that minimizes the condition number of the dimensionless K. Show that this value is l∕2 and that it produces a condition number of unity.

10.5

With reference to the robot of Fig 10.17, assume that the motors are placed rather on the joints associated with variables ψ and θ ₃. Under these conditions,

(a)

Find the matrix $$\boldsymbol{\Psi }$$ mapping array $${[\dot{\theta }_{3}\quad \dot{\psi }]}^{T}$$ into array $${[\dot{\theta }_{1}\quad \dot{\theta }_{2}]}^{T}$$.

(b)

Is it possible to find values of ψ, α, δ, and ρ that will render $$\boldsymbol{\Psi }$$ isotropic? If so, which are these values?

10.6

Find an expression for the angular velocity $$\dot{\phi }_{i}$$ of the active roller of the ith wheel of the robot with Mekanum wheels introduced in Sect. 10.5.2.

10.7

We refer again to the robot with Mekanum wheels introduced in Sect. 10.5.2. For the case of a three-wheeled robot of this kind, we consider here a design whereby the wheels are equally spaced in a $$\Delta$$-array. In this array, the centers of the hubs, O i , lie at the corners of an equilateral triangle of side a; moreover, we assume that α i  = 90∘, for i = 1, 2, 3. Under these conditions, find the characteristic length L of the robot that renders K, as defined in the above-mentioned subsection, dimensionless and of a minimum condition number. Find this minimum as well.

10.8

Find the value of ψ at which the rolling robot of Fig. 10.17 attains a singular configuration. Here, a singularity is understood as a loss of maneuverability in the sense of not being able to drive the unactuated joints by means of the actuated ones. Discuss whether under reasonable values of the geometric parameters, this singularity can occur.

10.9

Determine the architecture and the “posture”, i.e., the values of the relevant joint variables of the rolling robot of Fig. 10.17 that will render matrix $$\boldsymbol{\Theta }$$ isotropic, where $$\boldsymbol{\Theta }$$ represents the mapping of actuated joint rates into unactuated ones. Is kinematic isotropy, in this sense, kinematically possible?

10.10

Find a relation among the geometric parameters of the robot of Fig. 10.17 that will allow the steering of the robot along a straight course with the highest possible maneuverability in the sense defined in Exercise 10.8. That is, find a relation among the geometric parameters of this robot that will render $$\kappa (\boldsymbol{\Theta })$$ a minimum along a straight course.

10.11

Find the value of ψ under which the robot of Fig. 10.17 performs a maneuver that leaves the midpoint of segment $$\overline{O_{1}O}_{2}$$ stationary. Under this maneuver, state a relationship among the geometric parameters of the robot that minimizes $$\kappa (\boldsymbol{\Theta })$$.

10.12

Upon inversion, Eq. (10.54a) yields

(a)

Find U.

(b)

The above equation can be written as

The first of the above equations can be integrated if u ₁, which is an implicit function of θ ₃ and ψ, is the gradient with respect to $$\boldsymbol{\theta }_{u} \equiv {[\,\theta _{3}\quad \psi \,]}^{T}$$ of a scalar function U ₁(θ ₃, ψ). Likewise, the second of the above equations can be integrated if a function U ₂(θ ₃, ψ) exists, whose gradient with respect to $$\boldsymbol{\theta }_{u}$$ is u ₂. Further, upon recalling Schwartz’s Theorem of multivariable calculus, u i is such a gradient if and only if ∇u i , i.e., the Hessian matrix of U i with respect to $$\boldsymbol{\theta }_{u}$$, is symmetric, for i = 1, 2.

Show that the above-mentioned Hessians, for the case at hand, are nonsymmetric, and hence, none of the above differential expressions is integrable. Such expressions are called nonholonomic.

Note: To be sure, the above condition is sufficient, but not necessary. It is possible that some individual equations of a system of differential expressions, also called Pfaffian forms, are not integrable while the overall system is. An examination of necessary and sufficient conditions for integrability falls beyond the scope of this book. Such conditions are best understood with the aid of the Frobenius Theorem (De Luca and Oriolo 1995) and its analog, the Holonomy Theorem (Ostrovskaya and Angeles 1998).

10.13

For the rolling robot with omnidirectional wheels introduced in Sect. 10.5.2, with a $$\Delta$$-array, as described in Exercise 10.7, show that the equation yielding the angular velocity of the platform in terms of the wheel rates is integrable, but the equations yielding the velocity of the operation point are not.

10.14

A holonomic rolling robot. The robot described in Exercise 10.13 can be rendered holonomic at the expense of one degree of freedom. Show that if the three wheel rates are coordinated, either mechanically or electronically so that

then the platform is constrained to move under pure translation. When operating in this mode, the robot is holonomic. Find an explicit expression for the position vector c of the operation point in terms of the wheel angles.

References

Charentus, S. and Renaud, M., 1989, Calcul du modèle géometrique directe de la plate-forme de Stewart, LAAS Report # 89260, Laboratoire d’Automatique et d’Analyse de Systèmes, Toulouse.

De Luca, A. and Oriolo, G., 1995, “Modelling and control of nonholonomic mechanical systems”, in Angeles, J. and Kecskeméthy, A. (editors), Kinematics and Dynamics of Multi-Body Systems, Springer-Verlag, New York, pp. 277–342.CrossRef

Dietmaier, P., 1998, “The Stewart-Gough platform of general geometry can have 40 real postures”, Proc. Sixth International Workshop on Advances in Robot Kinematics, Kluwer Academic Publishers, Dordrecht, pp. 7–16.

Golub, G.H. and Van Loan, C.F., 1989, Matrix Computations, The Johns Hopkins University Press, Baltimore.MATH

Gosselin, C.M., Sefrioui, J., and Richard, M.J., 1992, “Solutions polynomiales au problème de la cinématique directe des manipulateurs parallèles plans à trois degrés de liberté”, Mechanism and Machine Theory 27, no. 2, pp. 107–119.CrossRef

Gosselin, C.M., Sefrioui, J., and Richard, M.J., 1994a, “On the direct kinematics of spherical three-degree-of-freedom parallel manipulators with a coplanar platform”, ASME J. Mechanical Design 116, pp. 587–593.CrossRef

Gosselin, C.M., Sefrioui, J., and Richard, M.J., 1994b, “On the direct kinematics of spherical three-degree-of-freedom parallel manipulators of general architecture”, ASME J. Mechanical Design 116, pp. 594–598.CrossRef

Gosselin, C.M., Perreault, L., and Vaillancourt, C., 1995, “Simulation and computer-aided kinematic design of three-degree-of-freedom spherical parallel manipulators”, J. Robotic Systems 12, no. 12, pp. 857–869.CrossRefMATH

Gough, V.M., 1956–1957, “Communications”, Proc. Automobile Division of The Institution of Mechanical Engineers, pp. 166–168. See also “Discussion in London”, Proc. Automobile Division of The Institution of Mechanical Engineers, pp. 392–394.

Hillier, F.S. and Lieberman, G.J., 1995, Introduction to Mathematical Programming, McGraw-Hill, New York.MATH

Husty, M. L., 1996, “An algorithm for solving the direct kinematics of general Stewart-Gough platforms”, Mechanism and Machine Theory 31, no. 4, pp. 365–380.CrossRef

Lazard, D. and Merlet, J.-P., 1994, “The (true) Stewart platform has 12 configurations”, Proc. IEEE Int. Conf. on Robotics & Automation, San Diego, pp. 2160–2165.

Lee, H.Y. and Roth, B., 1993, “A closed-form solution of the forward displacement analysis of a class of in-parallel mechanisms”, Proc. IEEE Int. Conf. on Robotics & Automation, Atlanta, pp. 720–731.

Menitto, G. and Buehler, M., 1996, “CARL: A compliant articulated robotic leg for dynamic locomotion”, Robotics and Autonomous Systems 18, pp. 337–344.CrossRef

Merlet, J.-P., 1989, “Singular Configurations of Parallel Manipulators and Grassmann Geometry”, The Int. J. Robotics Res. 8, no. 5, pp. 45–56.CrossRef

Merlet, J.-P., 2006, Parallel Robots, Second Edition, Springer, Dordrecht.MATH

Nanua, P., Waldron, K.J., and Murthy, V., 1990, “Direct kinematic solution of a Stewart platform”, IEEE Trans. Robotics & Automation 6, pp. 438–444.CrossRef

Ostrovskaya, S. and Angeles, J., 1998, “Nonholonomic systems revisited within the framework of analytical mechanics”, Applied Mechanics Reviews, vol. 51, No. 7, pp. 415–433.CrossRef

Raghavan, M., 1993, “The Stewart platform of general geometry has 40 configurations”, ASME J. Mechanical Design 115, pp. 277–282.CrossRef

Reynaerts, D., 1995, Control Methods and Actuation Technology for Whole-Hand Dextrous Manipulation, doctoral dissertation, Fakulteit der Torgepaste Wetenschappen, Katholieke Universiteit Leuven, Leuven.

Stewart, D., 1965, “A platform with 6 degrees of freedom”, Proc.  Institution of Mechanical Engineers 180, part 1, no. 15, pp. 371–386.

Teichmann, M., 1995, Grasping and Fixturing: A Geometric Study and Implementation, Ph.D. thesis, Department of Computer Science, New York University, New York.

Van Brussel, H., Santoso, B., and Reynaerts, D., 1989, “Design and control of a multi-fingered robot hand provided with tactile feedback”, Proc.  NASA Conf. Space Telerobotics, Pasadena, Jan.31–Feb.2, vol. III, pp. 89–101.

Wampler, C., 1996, “Forward displacement analysis of general six-in-parallel SPS (Stewart) platform manipulators using soma coordinates”, Mechanism and Machine Theory 31, no. 3, pp. 331–337.CrossRef

West, M. and Asada, H., 1995, “Design and control of ball wheel omnidirectional vehicles”, Proc. IEEE Int. Conf. on Robotics & Automation, Nagoya, pp. 1931–1938.

Footnotes

1

Since all vectors in the 15 coefficients of interest are coplanar, they are regarded as two-dimensional vectors in the display of the 15 coefficients.

© Springer International Publishing Switzerland 2014

Jorge AngelesFundamentals of Robotic Mechanical SystemsMechanical Engineering Series12410.1007/978-3-319-01851-5_11

11. Trajectory Planning: Continuous-Path Operations

Jorge Angeles1 

(1)

Department of Mechanical Engineering Centre for Intelligent Machines (CIM), McGill University, Montreal, QC, Canada

11.1 Introduction

As a follow-up to Chap. 6, where we studied trajectory planning for pick-and-place operations (PPO), we study in this chapter continuous-path operations. In PPO, the pose, twist, and twist-rate of the EE are specified only at the two ends of the trajectory, the purpose of trajectory planning then being to blend the two end poses with a smooth motion. When this blending is done in the joint-variable space, the problem is straightforward, as demonstrated in Chap. 6. There are instances in which the blending must be made in Cartesian space, in which advanced notions of interpolation in what is known as the image space of spatial displacements, as introduced by Ravani and Roth (1984), are needed. The image space of spatial displacements is a projective space with three dual dimensions, which means that a point of this space is specified by four coordinates—similar to the homogeneous coordinates introduced in Sect. 2.​5—of the form x i +ε ξ i , for i = 1, 2, 3, 4, where ε is the dual unity, which has the property that ε ² = 0. The foregoing coordinates are thus dual numbers, their purpose being to represent both rotation and translation in one single quantity. In following Ravani and Roth’s work, Ge and Kang (1995) proposed an interpolation scheme that produces curves in the image space with second-order geometric continuity, which are referred to as G ² curves. These interpolation techniques lie beyond the scope of the book and will be left aside. The interested reader will find a comprehensive and up-to-date review of these techniques in (Srinivasan and Ge 1997).

The purpose of this chapter is to develop motion interpolation techniques in Cartesian space that produce smooth motions in both Cartesian and joint spaces. Motion interpolation in joint space was discussed in Chap. 6, the present chapter being devoted to motion interpolation in Cartesian space. To this end, we resort to basic notions of differential geometry.

11.2 Curve Geometry

Continuous-path robotics applications appear in operations such as arc-welding, flame-cutting, deburring, and routing. In these operations, a tool is rigidly attached to the end-effector of a robotic manipulator, the tool being meant to trace a continuous and smooth trajectory in a six-dimensional configuration space. Three dimensions of this space describe the spatial path followed by the operation point of the EE, while the remaining three describe the orientation of the EE. Some applications require that this task take place along a warped curve, such as those encountered at the intersections of warped surfaces, e.g., in aircraft fuselages, while the path is to be traversed as a prescribed function of time. This function, moreover, is task-dependent; e.g., in arc-welding, the electrode must traverse the path at a constant speed, if no compensation for gravity is taken into account. If gravity compensation is warranted, then the speed varies with the orientation of the path with respect to the vertical. Below we will define this orientation as that of the Frenet–Serret frame associated with every point of the path where the path is smooth.

Moreover, for functional reasons, the orientation of the EE is given as a rotation matrix that is, in turn, a prescribed smooth function of time. In arc-welding, for example, the orientation of the electrode with respect to the curve must be constant. The trajectory planning of the configuration subspace associated with the warped path is more or less straightforward, but the planning of the trajectory associated with the orientation subspace is less so.

While most methods of trajectory planning at the Cartesian-coordinate level focus on the path followed by the operation point, the underlying inverse kinematics of a six-axis robotic manipulator requires the specification of the orientation of the EE as well. In the presence of simple manipulators with a spherical wrist, as those studied in Sect. 4.​4.​2, the positioning and the orientation tasks are readily separable, and hence, the planning of the two tasks can be done one at a time. In other instances, e.g., in most arc-welding robots, such a separation is not possible, and both tasks must be planned concurrently, which is the focus of our discussion below. Here, we follow the technique presented in Angeles et al. (1988).

Crucial to our discussion is the concept of path orientation. Let Γ be a warped curve in three-dimensional space that is smooth in a certain interval of interest for our discussion. Under these conditions, we can associate with every point of this interval an orthonormal triad of vectors, i.e., a set of unit vectors that are mutually orthogonal, namely, the tangent, the normal, and the binormal vectors of Γ. Therefore, when this set of vectors is properly arranged in a 3 × 3 array, a rotation matrix is obtained. This matrix thus represents the orientation of Γ. In order to parameterize these vectors, let s be the arc length measured along Γ from a certain reference point on this curve. Below we review the basic differential-geometric concepts pertaining to our discussion.

The tangent, normal, and binormal unit vectors, e t , e n , and e b , respectively, associated with every point of Γ where this curve is smooth, are generically termed here the Frenet–Serret vectors. These vectors are defined as

(11.1a)

(11.1b)

(11.1c)

where r ′ stands for d r∕ds and r ′ ′ for d ² r∕ds ². Now the Frenet–Serret relations among the three foregoing unit vectors and the curvature κ and torsion τ of Γ are recalled (Brand 1965):

(11.2a)

(11.2b)

(11.2c)

Moreover, the curvature and torsion can be calculated with the aid of the formulas

(11.3a)

(11.3b)

where r ′ ′ ′ stands for $${d}^{3}\mathbf{r}/d{s}^{3}$$. Furthermore, differentiation of κ and τ, as given above, with respect to s, yields

(11.4a)

(11.4b)

where r (iv) stands for d ⁴ r∕ds ⁴. The geometric interpretation of the curvature is the rate of change of orientation of the tangent vector with respect to the arc length; that of the torsion is the rate at which the curve quits the plane of the tangent and normal vectors. Thus, at points where the curvature vanishes, the curve approximates a line to a second order, i.e., up to second-order derivatives, whereas at points where the torsion vanishes, the curve approximates a planar curve to a third order—Notice that the torsion involves third-order derivatives. Now, from the Frenet–Serret formulas and the chain rule, we can derive the time-rate of change of the Frenet–Serret vectors, namely,

(11.5a)

(11.5b)

(11.5c)

Furthermore, let $$\boldsymbol{\omega }$$ be the angular velocity of the Frenet–Serret frame. Then, clearly,

(11.6a)

(11.6b)

(11.6c)

Upon equating pairwise the right-hand sides of Eqs. (11.5a–c) and Eqs. (11.6a–c), we obtain three vector equations determining $$\boldsymbol{\omega }$$, namely,

(11.7a)

(11.7b)

(11.7c)

where we have introduced the cross-product matrices E t, E n , and E b of vectors e t , e n , and e b , respectively, thereby obtaining a system of nine scalar equations in the three unknown components of $$\boldsymbol{\omega }$$, i.e.,

(11.8a)

with A defined as the 9 × 3 matrix and b as the nine-dimensional vector displayed below:

(11.8b)

Although the foregoing system is overdetermined, it is consistent, and hence it comprises exactly three linearly independent equations, the remaining six being dependent on the former. One way to reduce system (11.8a) to only three equations consists in multiplying both sides of this equation by A T . Now, the product A T A greatly simplifies because matrix A turns out to be isotropic, as per the discussion of Sect. 5.​8, i.e., its three columns are mutually orthogonal and all have the same magnitude. This fact can become apparent if we realize that the three 3 × 3 blocks of A are cross-product matrices of three orthonormal vectors. Thus,

If we now recall Theorem 2.3.4, the foregoing products take on quite simple forms, namely,

Moreover, for any three-dimensional vector v, we have

and hence, the above sum in parentheses reduces to the identity matrix, i.e.,

the product A T A thus reducing to

Therefore, $$\boldsymbol{\omega }$$ takes on the form

or upon expansion,

(11.10)

However, since the Frenet–Serret triad is orthonormal, we have

(11.11)

Upon substitution of expressions (11.11) into the expression for $$\boldsymbol{\omega }$$ given in Eq. (11.10), we obtain

(11.12)

where $$\boldsymbol{\delta }$$ is the Darboux vector, defined as

(11.13)

Expressions for the curvature and torsion in terms of the time-derivatives of the position vector are readily derived using the chain rule, which leads to

(11.14a)

(11.14b)

Upon differentiation of both sides of Eq. (11.12), the angular acceleration $$\dot{\boldsymbol{\omega }}$$ is derived as

(11.15)

where the time-derivative of the Darboux vector is given, in turn, as

(11.16)

in which Eqs. (11.5a–c) have contributed to the simplification of the above expression. The time-derivatives of the curvature and torsion are readily derived by application of the chain rule, thereby obtaining

(11.17a)

(11.17b)

The time-derivative of the Darboux vector thus reduces to

(11.18a)

where scalars A and B are computed as

(11.18b)

(11.18c)

and hence, the angular acceleration reduces to

(11.19)

From the relations derived above, it is apparent that the angular velocity is a bilinear function of the Darboux vector and $$\dot{s}$$, while the angular acceleration is linear in $$\ddot{s}$$ and quadratic in $$\dot{s}$$. The computational costs involved in the calculation of the angular velocity and its time-derivative amount to 31 multiplications and 13 additions for the former, and 28 multiplications with 14 additions for the latter (Angeles et al. 1988). Notice that the angular velocity requires, additionally, one square root.

In the above discussion, it is assumed that explicit formulas for the two time-derivatives of the arc length s are available. This is often not the case, as we show with the examples below, whereby an intermediate parameter, which is easier to handle, is introduced. What we will need are, in fact, alternative expressions for the quantities involved, in terms of kinematic variables; i.e., we need time-derivatives of the position vector r rather than derivatives of this vector with respect to the arc length s. Below we derive these expressions.

First, note that e t can be obtained by simply normalizing the velocity vector $$\dot{\mathbf{r}}$$, namely, as

(11.20)

where it is not difficult to realize that

(11.21)

Moreover, the binormal vector e b can be derived by application of the chain rule to vector r ′ , namely,

(11.22a)

But

(11.22b)

and hence,

(11.22c)

Now, upon substitution of expressions (11.22b and c) into Eq. (11.1b), an alternative expression for e b is derived, in terms of time-derivatives of the position vector, namely,

(11.23)

Finally, e n can be readily computed as the cross product of the first two vectors of the Frenet–Serret triad, namely,

(11.24)

The time-derivatives of the Frenet–Serret vectors can be computed by direct differentiation of the expressions given above, namely, Eqs. (11.20), (11.23), and (11.24).

11.3 Parametric Path Representation

Only seldom is an explicit representation of the position vector r of a geometric curve possible in terms of the arc length. In most practical cases, alternative representations should be used. The representation of the position vector in terms of a parameter σ, whatever its geometric interpretation may be, whether length or angle, will henceforth be termed a parametric representation of the curve at hand. The choice of σ is problem-dependent, as we illustrate with examples.

Below we derive expressions for (a) the Frenet–Serret triad; (b) the curvature and torsion; and (c) the derivatives of the latter with respect to the arc length. All these expressions, moreover, will be given in terms of derivatives with respect to the working parameter σ. The key relation that we will use is based on the chain rule, already recalled several times earlier. Thus, for any vector v(σ),

However, the foregoing relation is not very useful because we do not have an explicit representation of parameter σ in terms of the arc length. Nevertheless, we will assume that these two variables, s and σ, obey a monotonic relation. What this means is that

(11.25)

which is normally the case. Under this assumption, moreover, we can write the derivative of v as

where, apparently,

Therefore, the derivative sought takes the form

(11.26a)

It goes without saying that the same relation holds for scalars, i.e.,

(11.26b)

Expressions for the Frenet–Serret triad now follow immediately, i.e.,

(11.27a)

(11.27b)

(11.27c)

Now, paraphrasing relations (11.14a and b), we have

(11.28a)

(11.28b)

the partial derivatives of the curvature and torsion with respect to the arc length being computed in terms of the corresponding partial derivatives with respect to the parameter σ, which is done with the aid of the chain rule, i.e.,

(11.29)

Expressions for κ ′ (σ) and τ ′ (σ), in turn, are derived by a straightforward differentiation of the expressions for κ and τ in terms of σ, as given in Eqs. (11.28a and b). To this end, we first recall a useful expression for the derivative of a rational expression q(x) whose numerator and denominator are denoted by N(x) and D(x), respectively. This expression is

(11.30a)

Note that nothing prevents the numerator of the foregoing rational expression from being a vector, and hence, a similar formula can be applied to vector ratios as well. Consider the vector rational function $$\mathbf{q}(x) = \mathbf{n}(x)/D(x)$$. Hence,

(11.30b)

As a matter of fact, the above relation can be extended to matrix numerators. Not only is this possible, but the argument can likewise be a vector or a matrix variable, and similar formulas would apply correspondingly.

We thus have, for the derivative of the curvature,

(11.31)

Now we find the first term inside the brackets of the foregoing expression from the relation

which yields

But

(11.32)

the derivative of the above term in brackets reducing to

and hence,

(11.33a)

Furthermore,

the last derivative again being found from an intermediate relation, namely,

whence,

with

and so,

Therefore,

(11.33b)

Substitution of Eqs. (11.33a and b) into Eq. (11.31) yields the desired expression, namely,

(11.34)

Likewise,

(11.35a)

with N and D defined as

(11.35b)

(11.35c)

The first term of the numerator N of the foregoing expression can be readily calculated as

(11.35d)

while the derivative appearing in the second term of the same numerator was obtained previously, as displayed in Eq. (11.32). Upon substitution of the expressions appearing in Eqs. (11.32) and (11.35d) into Eq. (11.35a), we obtain the desired expression:

(11.35e)

thereby completing the desired relations.

Example 11.3.1 (Planning of a Gluing Operation).

A robot used for a gluing operation is required to guide the glue nozzle fixed to its end-effector through a helicoidal path so that the tip of the nozzle traverses the helix at a constant speed v ₀ = 0. 8 m/s and the end-effector maintains a fixed orientation with respect to the curve, i.e., with respect to the Frenet–Serret triad of the helix. Determine the orientation matrix Q of the end-effector with respect to a frame $$\{x,\,y,\,z\}$$ fixed to the robot base, as well as the angular velocity and angular acceleration of the end-effector. The operation is to be performed with a Fanuc S-300 robot, whose Denavit–Hartenberg (DH) parameters are given in Table 11.1, while the axis of the helix is chosen to be parallel to the first axis of the robot and beginning at point P ₀ (2, −2, 1. 2) in meters. Find the joint trajectories of the robot as well as the associated joint rates and joint accelerations from Cartesian position, velocity, and acceleration data. Verify that the joint-rate and joint-acceleration profiles are compatible with those of the joint variables. It is known that the radius of the helix is a = 1. 6 m and that its pitch is b = 2. 5 m/turn. Finally, the gluing operation takes place in 10 s.

Table 11.1

DH parameters of a Fanuc S-300 Robot

Link

a i  (m)

b i  (m)

α i  (∘)

1

0.0

0.9

90

2

0.9

0.0

0

3

0.95

0.0

90

4

0.0

1.3

− 90

5

0.0

0.0

90

6

0.0

0.44

− 90

Solution: We will use a Cartesian frame fixed to the base of the robot such that its z axis coincides with the axis of the first revolute. The helix can then be given in the parametric representation shown below:

where the parameter $$\varphi$$ is the angle made by the projection, onto the X–Y plane, of the position vector of a point P of the helix with the x axis.

In the process, we will need first and second time-derivatives of the foregoing Cartesian coordinates. These are given below for quick reference:

and

We now impose the constant-speed condition, which leads to

and hence,

where the constant c is defined as

Thus, $$\dot{\varphi }$$ is constant, and hence,

Moreover, in terms of constant c, the Cartesian coordinates of a point of the helix take on the forms

the first time-derivatives of these coordinates becoming

and the corresponding second time-derivatives

Now the Frenet–Serret triad is readily calculated as

Furthermore,

from which it is apparent that

Thus, the binormal vector e b is calculated simply as the cross product of the first two vectors of the Frenet–Serret triad, namely,

and hence, the orientation matrix Q of the gluing nozzle, or of the end-effector for that matter, is given by

Hence,

Now, the angular velocity is determined from Eq. (11.12), which requires the calculation of the Darboux vector, as given in Eq. (11.13). Upon calculation of the Darboux vector and substitution of the expression thus resulting into Eq. (11.12), we obtain

which is thus constant, and hence,

Now, the coordinates of the center of the wrist, C, are determined with the aid of relation (4.18c), where the operation point is a point on the helix, i.e., $$\mathbf{p} = x\mathbf{i} + y\mathbf{j} + z\mathbf{k}$$, parameters b ₆, λ ₆, and μ ₆ being obtained from Table 11.1, namely,

Furthermore, the numerical value of c is obtained from the helix geometry, namely,

Upon substitution in Eq. (4.18c) of the entries found above for Q, along with the numerical values, we obtain the Cartesian coordinates of the center C of the spherical wrist of the robot as

in meters. Apparently, point C describes a helicoidal path as well, although of a smaller radius, that is coaxial with the given helix.

Now the time-histories of the joint angles are computed from inverse kinematics. Note that the robot at hand being of the decoupled type, it allows for a simple inverse kinematics solution. The details of the solution were discussed extensively in Sect. 4.​4 and are left as an exercise to the reader.

Of the four inverse kinematics solutions of the arm, three were found to lead to link interferences, when these trajectories were tested with the aid of RVS, the package for robot visualization developed at McGill University (Darcovich et al. 1999). Hence, only one such solution is physically possible. This solution, along with one of the two wrist solutions, is plotted in Fig. 11.1, with Figs. 11.2 and 11.3 showing, respectively, the corresponding joint rates and joint accelerations.

Note that the maxima and minima of the joint-variables occur at instants where the corresponding joint rates vanish. Likewise, the maxima and minima of joint rates occur at instants where the associated joint accelerations vanish, thereby verifying that the computed results are compatible. A more detailed verification can be done by numerical differentiation of the joint-variable time-histories.

Example 11.3.2 (Planning of an Arc-Welding Operation).

A spherical reservoir of radius R is to be arc-welded to a cylindrical pipe of radius r, with the axis of the cylinder located a distance d from the center of the sphere, all elements of the cylinder piercing the sphere, i.e., d + r ≤ R, as shown in Fig. 11.4. Note that two intersection curves are geometrically possible, but the welding will take place only along the upper curve. Moreover, the welding electrode is to traverse the intersection curve, while the tool carrying the electrode is to keep a constant orientation with respect to that curve. In the coordinate frame shown in Fig. 11.4, find an expression for the rotation matrix defining the orientation of the end-effector, to which the electrode is rigidly attached.

Fig. 11.1

Joint trajectories for a Fanuc S-300

Fig. 11.2

Joint velocities for a Fanuc S-300

Fig. 11.3

Joint accelerations for a Fanuc S-300

Fig. 11.4

Intersection curve between a spherical reservoir and a cylindrical pipes

Solution: Note that the X axis of the coordinate frame indicated in Fig. 11.4 intersects the $$\mathcal{A}$$ axis of the cylinder, this axis being parallel to the Z axis. Moreover, we define $$\varphi$$ as the angle shown in Fig 11.4b. Now, the x and y coordinates of an arbitrary point of the intersection curve are given by

(11.36a)

(11.36b)

Further, in order to find the remaining z coordinate, we use the equation of the sphere, $$\mathcal{S}$$, namely,

If we substitute the x and y coordinates of the intersection curve in the above equation and then solve for the z coordinate in terms of $$\varphi$$, we obtain

(11.36c)

In the above relation, the plus and minus signs correspond to the upper and lower portions of the intersection curve, respectively. Since we are interested in only the upper intersection, we will take only the positive sign in that relation. Furthermore, we define

where λ and μ are nondimensional constants. Moreover, let

the inequality following from the geometry of Fig.11.4b. Then, the position vector r of any point on the intersection curve can be expressed in the form

(11.37)

Now, upon differentiation of r with respect to $$\varphi$$, we obtain

(11.38a)

(11.38b)

where we have used the relation

In addition, using Eqs. (11.38a and b), we derive the items needed to compute the Frenet–Serret triad, from which we will derive the required orientation matrix, i.e.,

(11.39a)

(11.39b)

(11.39c)

with functions $$D(\varphi )$$ and $$G(\varphi )$$ defined as

(11.39d)

(11.39e)

Now e t , e b , and e n are obtained as

(11.40a)

(11.40b)

(11.40c)

where e n has been calculated as $$\mathbf{e}_{n} = \mathbf{e}_{b} \times \mathbf{e}_{t}$$.

The orthogonal matrix defining the orientation of the end-effector can now be readily computed as

for we have all the necessary expressions. Note, however, that these expressions allow us to find Q for any value of $$\varphi$$, but we do not have, as yet, an expression of the form $$\varphi (t)$$ that would allow us to obtain Q(t). Such an expression is derived in Example 11.5.1.

Example 11.3.3 (Calculation of Torsion, Curvature, and Darboux Vector).

We refer here to the intersection curve of Example 11.3.2, for which we want to find expressions for its curvature, torsion, and Darboux vector.

Solution: We can use directly the expressions derived above, Eqs. (11.28a and b), to obtain the curvature and torsion in terms of derivatives with respect to parameter $$\varphi$$. With these expressions and those for the Frenet–Serret triad, the Darboux vector would follow. However, we can take shortcuts, for we already have expressions for the Frenet–Serret triad, if we express the curvature and torsion in terms of this triad and its derivatives with respect to $$\varphi$$, as we explain below. Indeed, from the Frenet–Serret relations, Eqs. (11.2b), we can express the curvature and torsion in the forms

(11.41a)

(11.41b)

and hence, all we need now are the derivatives of the tangent and normal vectors with respect to s. These are readily derived using relation (11.26a), i.e.,

(11.42a)

(11.42b)

Now, in order to differentiate the Frenet–Serret triad with respect to $$\varphi$$, we first note, from Eqs. (11.40a–c), that these three expressions are vector rational functions, and hence, their derivatives with respect to $$\varphi$$ are derived by applying Eq. (11.30b), thereby obtaining

(11.43)

(11.44)

where n t and n b are the numerators of the vector rational expressions of e t and e b , respectively, given in Eq. (11.40a and b). Below we calculate the foregoing derivatives with respect to $$\varphi$$:

and $$\|{\mathbf{r}}^{{\prime}}(\varphi )\|$$ was already calculated in Example 11.3.2.

If we now substitute all the foregoing expressions into Eqs. (11.42a and b), we obtain, after intensive simplifications,

(11.45a)

(11.45b)

with function $$E(\varphi )$$ defined, in turn, as

(11.46)

With the foregoing expressions for e t , e b , τ, and κ, computing the Darboux vector of the intersection curve reduces to a routine substitution of the foregoing expressions into Eq. (11.13).

11.4 Parametric Splines in Trajectory Planning

Sometimes the path to be followed by the tip of the end-effector is given only as a discrete set of sampled points $$\{P_{i}\}_{1}^{N}$$. This is the case, for example, if the path is the intersection of two warped surfaces, as in the arc-welding of two plates of the hull of a vessel or the spot-welding of two sheets of the fuselage of an airplane. In these instances, the coordinates of the sampled points are either calculated numerically via nonlinear-equation solving or estimated using a vision system. In either case, it is clear that only point coordinates are available, while trajectory planning calls for information on derivatives of the position vector of points along the path with respect to the arc length. These derivatives can be estimated via a suitable interpolation of the given coordinates. Various interpolation schemes are available (Foley and Van Dam 1982; Hoschek and Lasser 1992), the most widely accepted ones being based on spline functions, which were introduced in Sect. 6.​6. The splines introduced therein are applicable whenever a function, not a geometric curve, is to be interpolated. However, in trajectory planning, geometric curves in three-dimensional space come into play, and hence, those splines, termed nonparametric, are no longer applicable. What we need here are parametric splines, as described below.

Although parametric splines, in turn, can be of various types (Dierckx 1993), we will focus here on cubic parametric splines because of their simplicity.

Let $$P_{i}(x_{i},\,y_{i},\,z_{i})$$, for i = 1, …, N, be the set of sampled points on the path to be traced by the tip of the end-effector, $$\{\mathbf{p}_{i}\}_{1}^{N}$$ being the set of corresponding position vectors. Our purpose in this section is to produce a smooth curve Γ that passes through $$\{P_{i}\}_{1}^{N}$$ and that has a continuous Frenet–Serret triad. To this end, we will resort to the expressions derived in Sect. 11.3, in terms of a parameter σ, which we will define presently.

We first introduce a few definitions: Let the kth derivative of the position vector p of an arbitrary point P of Γ with respect to σ, evaluated at P i , be denoted by $$\mathbf{p}_{i}^{(k)}$$, its components being denoted correspondingly by $$x_{i}^{(k)}$$, $$y_{i}^{(k)}$$, and $$z_{i}^{(k)}$$. Next, the coordinates of P are expressed as piecewise cubic polynomials of σ, namely,

(11.47a)

(11.47b)

(11.47c)

for a real parameter σ, such that $$\sigma _{i} \leq \sigma \leq \sigma _{i+1},$$ and $$i = 1,\ldots,N - 1$$, with σ i defined as

(11.47d)

(11.47e)

and hence, $$\Delta \sigma _{i}$$ represents the length of the chord subtended by the arc of path between P i and P i+1. Likewise, σ denotes a path length measured along the spatial polygonal joining the N points $$\{\,P_{i}\}_{1}^{N}$$. Thus, the closer the aforementioned points, the closer the approximation of $$\Delta \sigma _{i}$$ to the arc length between these two points, and hence, the better the approximations of the curve properties.

The foregoing spline coefficients $$A_{xi},\,A_{yi},\,\ldots,\,D_{zi}$$, for $$i = 1,\ldots,N - 1$$, are determined as explained below. Let us define the N-dimensional vectors

(11.48a)

(11.48b)

(11.48c)

The relationships between x, y, and z and their counterparts $${\mathbf{x}}^{{\prime\prime}}$$, $${\mathbf{y}}^{{\prime\prime}}$$, and $${\mathbf{z}}^{{\prime\prime}}$$ are the same as those found for nonparametric splines in Eq. (6.58a), namely,

(11.49a)

(11.49b)

(11.49c)

which are expressions similar to those of Eq. (6.58a), except that the A and C matrices appearing in Eq. (11.49b) are now themselves functions of the coordinates of the supporting points (SP) of the spline. In fact, the (N − 2) × N matrices A and C are defined exactly as in Eqs. (6.58b and c), repeated below for quick reference:

(11.49d)

and

(11.49e)

where α k and β k are now defined correspondingly, i.e., for i, j, k = 1, …, N′,

(11.50)

while N ′ , N ′ ′ , and N ′ ′ ′ are defined as in Eq. (6.58f), i.e., as

(11.51)

Note that the spline p(σ) is fully determined once its coefficients are known. These are computed exactly as their counterparts for nonparametric splines, namely, as in Eqs. (6.55a–e). Obviously, different from the aforementioned formulas, the coefficients of the parametric spline pertain to three coordinates, and hence, three sets of such coefficients need be computed in this case. In order to simplify matters, we introduce the vectors below:

(11.52)

and thus, the position vector of an arbitrary point P on the parametric spline takes on the form

(11.53a)

in the interval $$\sigma _{k} \leq \sigma \leq \sigma _{k+1}$$. The counterpart set of Eqs. (6.55a–e) is then

(11.53b)

(11.53c)

(11.53d)

(11.53e)

(11.53f)

where vectors p k and $$\mathbf{p}_{k}^{{\prime\prime}}$$ are defined as

(11.54)

Note that since p is piecewise cubic in σ, p ′ is piecewise quadratic, whereas p ′ ′ is piecewise linear in the same argument, p ′ ′ ′ being piecewise constant; higher-order derivatives vanish. Properly speaking, however, the piecewise constancy of $${\mathbf{p}}^{{\prime\prime\prime}}$$ causes the fourth-order derivative to be discontinuous at the SP, and consequently, all higher-order derivatives are equally discontinuous at those points. In practice, these discontinuities are smoothed out by the inertia of the links and the motors, if the SP are chosen close enough. Obviously, higher-order continuity can be achieved if higher-order splines, e.g., quintic splines, are used instead. For the sake of conciseness, these splines are not discussed here, the interested reader being directed to the specialized literature (Dierckx 1993).

Further, the N × 3 matrices P and P ′ ′ are defined as

(11.55)

which allows us to rewrite Eqs. (11.49b) in matrix form as

(11.56)

It is now apparent that the spline coefficients $$\mathbf{a}_{k},\,\ldots,\,\mathbf{d}_{k}$$ can be calculated once vectors $$\mathbf{p}_{k}^{{\prime\prime}}$$ are available. These vectors can be computed via matrix $${\mathbf{P}}^{{\prime\prime}}$$ as the solution to Eq. (11.56). However, finding this solution requires inverting the (N − 2) × N matrix A, which is rectangular and hence cannot be inverted, properly speaking. We thus have an underdetermined system of linear equations, and further conditions are needed in order to render it determined. Such conditions are those defining the type of spline at hand. For example, closed paths call naturally for periodic splines, while open paths call for other types such as natural splines. The conditions imposed on periodic parametric splines are listed below:

(11.57a)

On the other hand, natural parametric splines are obtained under the conditions

(11.57b)

Thus, if a periodic parametric spline is required, then vectors p N and $$\mathbf{p}_{N}^{{\prime\prime}}$$ can be deleted from matrices P and $${\mathbf{P}}^{{\prime\prime}}$$, respectively, these then becoming (N − 1) × 3 matrices, namely,

(11.58)

Moreover, the first-derivative condition of Eq. (11.57a) is added to the N − 2 continuity conditions of Eq. (6.​56), thereby obtaining N − 1 equations of this form. Consequently, A becomes an $$(N - 1) \times (N - 1)$$ matrix. Correspondingly, C also becomes an $$(N - 1) \times (N - 1)$$ matrix, i.e.,

(11.59a)

and

(11.59b)

Since A is nonsingular, Eq. (11.56) can be solved for $${\mathbf{P}}^{{\prime\prime}}$$, namely,

(11.60)

thereby computing all vectors $$\{\mathbf{p}_{k}^{{\prime\prime}}\}_{1}^{N-1}$$, from which $$\mathbf{p}_{N}^{{\prime\prime}}$$ can be readily obtained. Hence, the spline coefficients follow.

Likewise, if natural parametric splines are used, then $${\mathbf{P}}^{{\prime\prime}}$$ becomes an (N − 2) × 3 matrix, while A, consequently, becomes an $$(N - 2) \times (N - 2)$$ matrix, as given in Eq. (6.​59).

Table 11.2

The Cartesian coordinates of the supporting points

φ

0∘

30∘

60∘

90∘

120∘

150∘

x

0.45

0.429904

0.375

0.3

0.225

0.170096

y

0

0.075

0.129904

0.15

0.129904

0.075

z

0.396863

0.411774

0.45

0.497494

0.540833

0.570475

φ

180∘

210∘

240∘

270∘

300∘

330∘

x

0.15

0.170096

0.225

0.3

0.375

0.429904

y

0

− 0. 075

− 0. 129904

− 0. 15

− 0. 129904

− 0. 075

z

0.580948

0.570475

0.540833

0.497494

0.45

0.411774

Example 11.4.1 (Spline-Approximation of a Warped Path).

For the numerical values R = 0. 6 m, r = 0. 15 m, and d = 0. 3 m, determine the periodic parametric cubic spline approximating the intersection of the sphere and the cylinder of Fig. 11.4, with 12 equally spaced supporting points along the cylindrical coordinate $$\varphi$$, i.e., with supporting points distributed along the intersection curve at intervals $$\Delta \varphi = 3{0}^{\circ }$$. Using the spline, find values of the tangent, normal, and binormal vectors of the curve, as well as the rotation matrix Q. In order to quantify the error in this approximation, compare (a) the components of the two position vectors, the exact and the spline-generated ones, while normalizing their differences using the radius of the cylinder r; and (b) the Euler–Rodrigues parameters of the exact and the spline-approximated rotation matrices. Plot these errors vs. $$\varphi$$.

Solution: We use Eq. (11.37) to find the Cartesian coordinates of the supporting points. The numerical results are given in terms of the components of $$\mathbf{r} \equiv {[\,x,\,y,\,z\,]}^{T}$$ in Table 11.2. Note that this table does not include the Cartesian-coordinate values at 360∘ because these are identical with those at 0∘.

The four Euler–Rodrigues parameters $$\{r_{i}\}_{i=0}^{3}$$ of the rotation matrix are most suitably calculated in terms of the linear invariants, i.e., as appearing in Eq. (2.​79). If we let $$\tilde{\mathbf{p}}$$ and $$\tilde{\mathbf{r}}$$ denote the estimates of p and r, respectively, then the orientation error is evaluated via the four differences $$\Delta r_{i} = r_{i} -\tilde{ r}_{i}$$, for i = 0, …, 3. The positioning error is computed, in turn, as the normalized difference $$\boldsymbol{\epsilon } = (\mathbf{p} -\tilde{\mathbf{p}})/r$$ to yield a dimensionless number, its components being denoted by ε x , ε y , and ε z . The components of the two errors are plotted vs. $$\varphi$$ in Figs. 11.5 and 11.6. Note that the orientation errors are, roughly, one order of magnitude greater than the positioning errors.

Fig. 11.5

Plots of the positioning errors

Fig. 11.6

Plots of the orientation errors

11.5 Continuous-Path Tracking

When a continuous trajectory is to be tracked with a robot, the joint angles have to be calculated along a continuous set of poses of the end-effector. In practice, the continuous trajectory is sampled at a discrete set of close-enough poses $$\{\,\mathbf{s}_{k}\,\}_{1}^{N}$$ along the continuous trajectory. Then in principle, an IKP must be solved at each sampled pose. If the manipulator is of the decoupled type, these calculations are feasible in a fraction of a millisecond, for the solution reduces, in the majority of the cases, to a cascading of quadratic equations. In the worst case, the inverse kinematics of a decoupled manipulator requires finding all the roots of a quartic equation at each sampled pose, but this is still feasible in the same time frame, for the four roots of interest can be calculated from formulas. However, if the manipulator has an architecture not lending itself to a simple solution and requires solving polynomials of a degree higher than four, then finding all solutions at each sample pose may require a few milliseconds, which may be too slow in fast operations. Hence, an alternative approach is needed.

The alternative is to solve the IKP iteratively. That is, if we have the value of the vector of joint variables $$\boldsymbol{\theta }(t_{k})$$ and want to find its value at t k+1, then we use Algorithm 11.5.1.

Various procedures are available to find the correction $$\Delta \boldsymbol{\theta }$$ of Algorithm 11.5. The one we have found very convenient is based on the Newton–Gauss method (Dahlquist and Björck 1974). In the realm of Newton methods—there are several of these, the Newton–Gauss and the Newton–Raphson methods being two of this class—the closure equations (4.9a and b) are written in the form

(11.61)

where s d is the seven-dimensional prescribed-pose array. We recall here the definition of the pose array introduced in Sect. 3.​2 to represent s d , namely,

(11.62)

with q and q ₀ defined, in turn, as a three-dimensional vector invariant of the rotation Q and its corresponding scalar, respectively. Moreover, p is the position vector of the operation point. Therefore, the seven-dimensional vector f is defined, correspondingly, as

(11.63)

where $$\mathbf{f}_{v}(\boldsymbol{\theta })$$ denotes the counterpart of q above, as pertaining to the product $$\mathbf{Q}_{1}\cdots \mathbf{Q}_{6}$$ of Eq. (4.9a); $$f_{0}(\boldsymbol{\theta })$$ is the counterpart of q ₀, as pertaining to the same product; and $$\mathbf{f}_{p}(\boldsymbol{\theta })$$ is the sum $$\mathbf{a}_{1} + \cdots + \mathbf{Q}_{1}\cdots \mathbf{Q}_{5}\mathbf{a}_{6}$$. In principle, any of the three types of rotation invariants introduced in Sect. 3.​2 can be used in the above formulation.

Now, Eq. (11.61) represents a nonlinear system of seven equations in six unknowns. The system is thus overdetermined, but since the four rotational equations are consistent, this system should admit an exact solution, even if this solution is complex. For example, if p is specified in s d above as lying outside of the manipulator reach, then no real solution is possible, and the solution reported by any iterative procedure capable of handling complex solutions will be complex.

Upon application of the Newton–Gauss method to find a solution of Eq. (11.61), we assume that we have an initial guess $${\boldsymbol{\theta }}^{0}$$, and based on this value, we generate a sequence $${\boldsymbol{\theta }}^{1}$$, …, $${\boldsymbol{\theta }}^{i}$$, $${\boldsymbol{\theta }}^{i+1}$$, …, until either a convergence or an abortion criterion is met. This sequence is generated in the form

(11.64)

with $$\Delta {\boldsymbol{\theta }}^{i}$$ calculated from

(11.65)

and $$\boldsymbol{\Phi }$$ defined as the Jacobian matrix of $$\mathbf{f}(\boldsymbol{\theta })$$ with respect to $$\boldsymbol{\theta }$$. Note that by virtue of its definition, $$\boldsymbol{\Phi }$$ is a 7 × 6 matrix. A common misconception in the robotics literature is to confuse this Jacobian matrix with the Jacobian defined by Whitney (1972) and introduced in Eq. (5.10a), which maps joint rates into the EE twist. The difference between the two Jacobians being essential, it is made clear in the discussion below. First and foremost, $$\boldsymbol{\Phi }$$ is an actual Jacobian matrix, while Whitney’s Jacobian, properly speaking, is not. In fact, $$\boldsymbol{\Phi }$$ is defined as

(11.66)

In order to find $$\boldsymbol{\Phi }$$ in Eq. (11.65), we note that by application of the chain rule,

(11.67)

However, from the definition of f, we have that $$\dot{\mathbf{f}}$$ is the time-derivative of the pose array of the EE, i.e., $$\dot{\mathbf{s}}$$. Moreover, by virtue of Eq. (3.​78), this time-derivative can be expressed as a linear transformation of the twist t of the EE, i.e.,

(11.68a)

with T defined in Sect. 3.​2 as

(11.68b)

where O ₃₃ and O ₄₃ denote the 3 × 3 and the 4 × 3 zero matrices, 1 ₃₃ being the 3 × 3 identity matrix. Further, matrix F takes on various forms, depending on the type of rotation representation adopted, as discussed in Sect. 3.​2.

We write next the left-hand side of Eq. (11.68a) as shown in Eq. (11.67), and the twist t of the right-hand side of Eq. (11.68a) in terms of $$\dot{\boldsymbol{\theta }}$$, as expressed in Eq. (5.​9), thereby obtaining

(11.69)

which is a relation valid for any value of $$\dot{\boldsymbol{\theta }}$$. As a consequence, then,

(11.70)

whence the relation between the two Jacobians is apparent. Note that Eq. (11.68a) allows us to write

(11.71)

Upon equating the right-hand sides of Eqs. (11.71) and (11.68a), we obtain

(11.72)

If linear invariants are used to represent the rotation, then T becomes rank-deficient if and only if the angle of the rotation becomes π (Tandirci et al. 1994); otherwise, T is always of full rank, and Eq. (11.72) leads to

(11.73)

which is exactly the same as Eq. (5.​9). Now we multiply both sides of the foregoing equation by $$\Delta t$$, thereby obtaining

(11.74)

All we need now is, apparently, the product in the right-hand side of the above equation, namely,

(11.75)

The product $$\boldsymbol{\omega }\Delta t$$ is found below, in terms of the orientation data available: First and foremost, it is common practice in the realm of Newton methods to assume that a good enough approximation to the root sought is available, and hence, $$\Delta \boldsymbol{\theta }$$ is “small.” That is, we assume that $$\|\Delta \boldsymbol{\theta }\|$$ is small, where $$\|\,\cdot \,\|$$ denotes any vector norm. Moreover, we use the end-effector pose at t = t k as a reference to describe the desired pose at $$t = t_{k+1}$$, the rotation sought—that takes the EE to its desired attitude—being denoted by $$\Delta \mathbf{Q}$$, and defined as $$(\Delta \mathbf{Q})\mathbf{Q}k = \mathbf{Q}d$$, when all rotations are expressed in the same frame and Q k represents the orientation of the EE at t = t k . Thus,

(11.76)

Now we relate $$\boldsymbol{\omega }\Delta t$$ with $$\Delta \mathbf{Q}$$. To this end, notice that

(11.77a)

with $$\boldsymbol{\Omega }$$ denoting the cross-product matrix of $$\boldsymbol{\omega }$$. On the other hand, $$\Delta \mathbf{Q}$$ is bound to be a rotation about an axis parallel to a unit vector e, through a small angle $$\Delta \phi$$, and hence, from Eq. (2.​49),

(11.77b)

where E is the cross-product matrix of $$\mathbf{e}$$. It is then possible to assume that $$\boldsymbol{\Omega }\Delta t$$, as appearing in Eq. (11.77a), is the skew-symmetric component of $$\Delta \mathbf{Q}$$, as given by Eq. (11.77b), i.e.,

whence

which readily leads to

(11.78)

thereby obtaining the relation sought.

In summary, then, the correction $$\Delta \boldsymbol{\theta }$$ is computed from

(11.79)

with $$\Delta \mathbf{t}$$ defined as

(11.80)

and $$\Delta \mathbf{p}$$ defined, in turn, as the difference between the prescribed value $$\mathbf{p}_{d}$$ of the position vector of the operation point and its value $$\mathbf{p}_{k}$$ at the current iteration. Thus, the numerical path-tracking scheme consists essentially of Eqs. (11.79) and (11.80), as first proposed by Pieper (1968). We thus have Algorithm 11.5.2.

When implementing the foregoing procedure, we want to save processing time; hence, we aim at fast computations. The computation of the correction $$\Delta \boldsymbol{\theta }$$ involves only linear-equation solving, which was discussed at length in Chap. 4 and need not be discussed further here. The only item that still needs some discussion is the calculation of the vector norm $$\|\Delta \boldsymbol{\theta }\|$$. Since any norm can be used here, we can choose the norm that is fastest to compute, namely, the maximum norm, also known as the Chebyshev norm, represented as $$\|\Delta \boldsymbol{\theta }\|_{\infty }$$, and defined as

(11.81)

Note that this norm only requires comparisons and no floating-point operations. The Euclidean norm of an n-dimensional vector, however, requires n multiplications, n − 1 additions, and one square root.

Example 11.5.1 (Path-Tracking for Arc-Welding).

With reference to the arc-welding exercise of Example 11.3.2, we want to use the Fanuc Arc Mate, whose Denavit–Hartenberg parameters are listed in Table 5.​2. Furthermore, the welding seam to be tracked is placed well within the workspace of the manipulator. A location found quite suitable for this task was obtained with the aid of RVS, our Robot Visualization System. This location requires that the coordinate frame $$\mathcal{F}_{C}$$ of Fig. 11.4 have its axes parallel pairwise to those of the robot base, $$\mathcal{F}_{1}$$. The latter is defined according to the Denavit–Hartenberg notation, and so Z ₁ coincides with the axis of the first revolute; it is, moreover, directed upwards. The position found for the origin O C of $$\mathcal{F}_{C}$$, of position vector o, is given in $$\mathcal{F}_{1}$$ as

Find the time-histories of all the joint variables that will perform the desired operation with the tip of the electrode traversing the intersection curve at the constant speed of v ₀ = 0. 1 m/s. Furthermore, plot the variation of the condition number of the Jacobian matrix along the path.

Solution: The robot at hand was studied in Sect. 9.​7, where it was found not to be of the decoupled type. In fact, this robot does not admit a closed-form inverse displacement solution, and hence, the foregoing iterative procedure is to be used.

At the outset, we calculate all inverse displacement solutions at the pose corresponding to $$\varphi = 0$$ using the bivariate-equation approach of Sect. 9.​4. This pose is defined by the orthogonal matrix Q and the position vector p given below:

with both Q and p given in robot-base coordinates. The contours for the above pose, which were obtained using the procedure of Sect. 9.​4, are shown in Fig. 11.7, the eight solutions obtained being summarized in Table 11.3, which includes the condition number of the Jacobian, κ(J), of each solution. Note that the calculation of κ(J) required computing the characteristic length of the robot, as explained in Sect. 5.​8. This length, as calculated in that section, turned out to be L = 0. 3573 m.

Fig. 11.7

Contour solutions of the Fanuc Arc Mate robot at the given EE pose

Table 11.3

Inverse kinematics solutions of the Fanuc Arc Mate robot for the given EE pose

i

κ(J)

θ ₁

θ ₂

θ ₃

θ ₄

θ ₅

θ ₆

1

4.74

19. 9039∘

124. 909∘

− 176. 484∘

16. 1379∘

− 102. 29∘

− 15. 8409∘

2

4.85

− 3. 6664∘

124. 723∘

− 173. 071∘

177. 019∘

101. 19∘

− 177. 208∘

3

11.12

− 154. 951∘

− 67. 5689∘

− 135. 549∘

141. 716∘

146. 966∘

17. 754∘

4

6.31

− 176. 328∘

− 63. 4487∘

− 129. 817∘

− 4. 5893∘

− 140. 319∘

− 178. 681∘

5

4.79

− 176. 341∘

75. 1632∘

− 76. 6692∘

3. 7343∘

51. 4104∘

− 179. 877∘

6

5.20

− 153. 567∘

73. 4546∘

− 72. 5407∘

− 153. 868∘

− 53. 7328∘

− 0. 5046∘

7

8.68

− 3. 6362∘

− 129. 644∘

− 32. 9672∘

− 175. 011∘

− 144. 428∘

178. 133∘

8

9.94

18. 9031∘

− 131. 096∘

− 26. 8084∘

− 28. 6793∘

147. 417∘

13. 0786∘

Now, we have eight solutions at our disposal, from which we must choose one for path-tracking. In the absence of any criterion to single out one specific solution, we can pick up the solution with the lowest condition number. If we do this, we end up with solution 1 in Table 11.3. However, when we attempted to track the given path with this solution, it turned out that this solution encountered a singularity and was hence discarded. Of the seven remaining solutions, solution 5 has the lowest condition number; this solution led to a singularity-free trajectory.

Once the appropriate solution is chosen, the trajectory can be tracked with the aid of Algorithm 11.5.2. Here, we need a discrete set of poses at equal time-intervals. Note that we can produce such a set at equal intervals of angle $$\varphi$$ because we have expressions for the pose variables in terms of this angle. In order to obtain this set at equal time-intervals, then, we need angle $$\varphi$$ as a function of time, i.e., $$\varphi (t)$$. In the sequel, we will also need the time T required to complete the task. Now, since the speed of the electrode tip is constant and equal to v ₀, the time T is readily obtained by dividing the total length l of the curve by v ₀. The length of the curve, in turn, can be computed as s(2π), where function $$s(\varphi )$$ denotes the arc length as a function of angle $$\varphi$$, i.e.,

(11.82)

We thus obtain, by numerical quadrature,

Hence, the total time is

Now, in order to obtain $$\varphi (t)$$, we first calculate $$\dot{s}$$ as

(11.83a)

Furthermore, we note that $$ds/d\varphi =\|{ \mathbf{r}}^{{\prime}}(\varphi )\|$$, which allows us to write $$\dot{s}$$ as

Moreover, $$\|{\mathbf{r}}^{{\prime}}(\varphi )\|$$ was found in Eq. (11.39b) to be

$$\dot{s}$$ thus becoming

(11.83b)

Furthermore, we recall the expression derived for $$G(\varphi )$$ in Eq. (11.39e). This expression, along with the constancy condition on $$\dot{s}$$, i.e., $$\dot{s} = v_{0}$$, leads to

where r is the radius of the cylinder. Upon solving for $$\dot{\varphi }$$ from the above equation, we obtain

which is a nonlinear first-order differential equation for $$\varphi (t)$$. Its initial value can be assigned as $$\varphi (0) = 0$$, thereby formulating a nonlinear first-order initial-value problem. The numerical solution of the foregoing problem is nowadays routine work, which can be handled with suitable software, e.g., Matlab (Hanselman and Littlefield 2001). Upon solving this equation, a data file is produced that contains the time-history of $$\varphi$$. The plot of $$\varphi$$ vs. nondimensional time is displayed in Fig. 11.8a. Since the variations of $$\varphi (t)$$ are relatively small, this plot provides little information on the time-history of interest. A more informative plot, that of $$\dot{\varphi }(t)$$, is included in Fig. 11.8b for this reason. Apparently, $$\varphi$$ turns out to be the sum of a linear and a periodic term.

With $$\varphi (t)$$ known as a function of time, we can now specify the pose of the end-effector, i.e., p and Q, as functions of time.

The whole trajectory was tracked with the robot at hand using the algorithm outlined in this section. With the aid of this algorithm, we produced the plots of Fig. 11.9. Also, the time-history of the condition number of the manipulator Jacobian was computed and plotted in Fig. 11.10. Apparently, the condition number of the Jacobian remains within the same order of magnitude throughout the whole operation, below 10, thereby showing that the manipulator remains far enough from singularities during this task—the condition number becomes very large when a singularity is approached, becoming unbounded at singularities. A rendering of the welding seam with the Frenet–Serret triad at a sample of points is displayed in Fig. 11.11. It is noteworthy that the torsion of the path is manifested in this figure by virtue of the inclination of the Z axis, which changes from point to point. In a planar curve, this axis would remain at a fixed orientation while traversing the curve.

Fig. 11.8

Plot of $$\dot{\varphi }$$ vs. nondimensional time

Fig. 11.9

Time-histories of the joint variables (in degrees) of the Fanuc Arc Mate robot used to track a warped curve for arc-welding vs. nondimensional time

Fig. 11.10

Time-history of the condition number of the Jacobian matrix during an arc-welding operation vs. nondimensional time

Fig. 11.11

Welding seam with Frenet–Serret frames

11.6 Exercises

11.1

A PUMA 560 robot, with the DH parameters of Table 11.4, is used to perform a gluing operation as indicated below: A nozzle dispensing the glue is rigidly attached to the gripper of the robot. The tip of the nozzle, point P, is to trace a helicoidal path at a constant rate of 50 mm/s. Furthermore, the center of the wrist is located at a point C, fixed to a Frenet–Serret coordinate frame. In this frame, the coordinates of C are ( 0, −50, 86. 7 ) mm. Moreover, the path to be traced by point P is given as

with the values a = 300 mm, $$b = 800/\pi \,\mathrm{mm}$$.

Table 11.4

DH parameters of a PUMA 560 robot

Joint i

α i  (∘)

a i  (m)

b i  (m)

1

90

0

0. 660

2

0

0.432

0

3

90

0.020

0. 149

4

90

0

0. 432

5

90

0

0

6

0

0

0. 056

(a)

Decide where to locate the robot base with respect to the path so that the latter will lie well within the workspace of the robot. Then, produce plots of θ i vs. t, for 0 ≤ t ≤ T, where T is the time it takes to traverse the whole trajectory, for i = 1, 2, …, 6.

(b)

Produce plots of $$\dot{\theta }_{i}$$ vs. t in the same time interval for all six joints.

(c)

Produce plots of $$\ddot{\theta }_{i}$$ vs. t in the same time interval for all six joints.

11.2

A bracket for spot-welding, shown in Fig. 11.12, is rigidly attached to the end-effector of a robotic manipulator. It is desired that point P of the bracket follow a helicoidal path Γ, while keeping the orientation of the bracket with respect to Γ as indicated below: Let $$\mathcal{B}\equiv \{\mathbf{i}_{0},\mathbf{j}_{0},\mathbf{k}_{0}\}$$ and $$\mathcal{F}_{7} \equiv \{\mathbf{i}_{7},\mathbf{j}_{7},\mathbf{k}_{7}\}$$ be triads of unit orthogonal vectors fixed to the base of the robot and to the bracket, respectively. Moreover, let $$\mathcal{F}\equiv \{\mathbf{e}_{t},\mathbf{e}_{n},\mathbf{e}_{b}\}$$ be the Frenet–Serret triad of Γ, given as

where $$\varphi$$ is a given function of time, $$\varphi (t)$$. Furthermore, the orientation of the bracket with respect to Γ is to be kept constant and given in terms of the Frenet–Serret triad as

Additionally, R and S(t) denote the rotation matrices defining the orientation of $$\mathcal{F}_{7}$$ with respect to $$\mathcal{F}$$ and of $$\mathcal{F}$$ with respect to $$\mathcal{B}$$, respectively.

Fig. 11.12

A bracket for spot-welding

(a)

Find the matrix representation of S(t) in $$\mathcal{B}$$.

(b)

Find the matrix representation of R in $$\mathcal{F}$$.

(c)

Let Q(t) denote the orientation of $$\mathcal{F}_{7}$$ with respect to $$\mathcal{B}$$. Find its matrix representation in $$\mathcal{B}$$.

(d)

Find the Darboux vector $$\boldsymbol{\delta }$$ of the path, along with its time-derivative, $$\dot{\boldsymbol{\delta }}$$, in base-fixed coordinates. Note: You can do this in several ways, as discussed in Sect. 11.2. Choose the one that will allow you to use previously computed results, thereby simplifying the computations.

11.3

The parametric equations of a curve are given as

where t is time. A robotic manipulator is to follow this trajectory so that its gripper keeps a constant orientation with respect to the Frenet–Serret frame of the curve.

(a)

Determine the unit vector parallel to the axis of rotation and the angle of rotation of the gripper as functions of time.

(b)

Find the angular velocity and angular acceleration of the gripper as functions of time.

11.4

Derive Eqs. (11.45a and b).

11.5

Find the spline approximation of the helix of Example 11.3.1. Then, plot the approximation errors of the Cartesian coordinates of points of the helix, for N = 5, 11, and 21 equally spaced supporting points. In order to assess the orientation error, compute the Darboux vectors of the spline, $$\boldsymbol{\delta }_{s}$$, and of the helix, $$\boldsymbol{\delta }_{h}$$. The approximation error of the orientation is now defined as

with $$\varphi$$ defined as in Example 11.3.1.

11.6

Find the spline approximation of the curvature, torsion, and Darboux vector of the curve introduced in Example 11.3.2. Find expressions for the exact values of these variables and plot the approximation errors, for 5, 10, and 20 equally spaced supporting points vs. $$\varphi$$. In the error definitions given below, subscript e indicates exact value, subscript s spline value:

11.7

From the plots of the time-histories of the joint angles calculated in Example 11.5.1, it is apparent that, with the exception of θ ₄, which has a linear component, these histories are periodic. Repeat Example 11.5.1, but now using a spline approximation of the welding seam, with N = 5, 10, and 20 supporting points. With this spline approximation, calculate the pose, the twist, and the twist-rate at each supporting point. Now, calculate values of $$\boldsymbol{\theta }$$, $$\dot{\boldsymbol{\theta }}$$, and $$\ddot{\boldsymbol{\theta }}$$ at each of these supporting points by means of inverse kinematics. Compare the values thus obtained of $$\ddot{\boldsymbol{\theta }}$$ with those derived from the linear relation between the function values and the values of its second derivative at the supporting points when using a cubic spline.

11.8

The decoupled robot of Fig. 4.​23 is to perform an arc-welding operation along a welding seam that requires its wrist center C to travel at a constant speed of 1 m∕s along a line joining points A and B, not shown in that figure, while keeping the EE holding the electrode at a constant orientation with respect to the base frame. Moreover, the seam is to be traversed according to the following schedule: With point C located at a point A ′ on the extension of AB, a distance of 250 mm from A, point C approaches A with a cycloidal motion at the specified speed; upon reaching B, point C decelerates with a cycloidal motion as well, until it reaches a point B ′ in the other extension of AB, 250 mm from B, with zero speed. The position vectors of points A and B, denoted by a and b, respectively, are given, in base coordinates, as

in mm. For the above-given data, find the time-histories of all joint variables.

11.9

Derive expressions (11.45a and b).

11.10

If linear invariants are used to represent the desired pose s d , then q = 0 and q ₀ = 1 when the angle of rotation becomes π. Under these conditions, matrix T of Eq. (11.72) becomes rank-deficient, this equation thus not necessarily leading to Eq. (11.73). One way of coping with this algorithmic singularity consists in redefining axis X ₁ of the DH notation by rotating the current X ₁ axis by an angle $$\Delta \theta _{1}$$ about Z ₁, which does not affect the remaining variables and parameters of the said notation.

Find the optimum value of $$\Delta \theta _{1}$$ that will take T “farthest” from its current rank-deficiency.

References

Angeles, J., Rojas, A.A., and López-Cajún, C.S., 1988, “Trajectory planning in robotics continuous-path applications”, IEEE J. Robotics & Automation RA-4, pp. 380–385.CrossRef

Brand, L., 1965, Advanced Calculus, John Wiley & Sons, New York.MATH

Dahlquist, G. and Björck, Å., 1974, Numerical Methods, Prentice-Hall, Englewood Cliffs, NJ.MATH

Darcovich, J., Angeles, J., Montagnier, P., and Wu, C.-J., 1999, “RVS: A Robot Visualization Software Package”, in Batoz, J.-L., Chedmail, P., Cognet, G., and Fortin, C. (editors), Integrated Design and Manufacturing in Mechanical Engineering, Kluwer Academic Publishers, Dordrecht, pp. 265–272.CrossRef

Dierckx, P., 1993, Curve and Surface Fitting with Splines, Clarendon Press, Oxford.MATH

Foley, J.D. and Van Dam, A., 1982, Fundamentals of Interactive Computer Graphics, Addison-Wesley Publishing Company, Reading, MA.

Ge, Q.J. and Kang, D., 1995, “Motion interpolation with G² composite Bézier motions”, ASME J. Mechanical Design 117, pp. 520–525.CrossRef

Hanselman, D. and Littlefield, B., 2001, Mastering MATLAB 6. A Comprehensive Tutorial and Reference, Prentice-Hall, Upper-Saddle River, NJ.

Hoschek, J. and Lasser, D., 1992, Grundlagen der geometrischen Datenverarbeitung, B.G. Teubner, Stuttgart.CrossRefMATH

Pieper, D.L., 1968, The Kinematics of Manipulators Under Computer Control, Ph.D. thesis, Stanford University, Stanford.

Ravani, B. and Roth, B., 1984, “Mappings of spatial kinematics”, ASME J. Mechanisms, Transm., and Auto. in Design 106, pp. 341–347.

Srinivasan L.N. and Ge, Q.J., 1997, “Fine tuning of rational B-splines motions”, Proc.  ASME Design Engineering Technical Conference DETC’97, pp. 1–10.

Tandirci, M., Angeles, J., and Darcovich, J., 1994, “On rotation representations in computational robot kinematics”, J. Intelligent and Robotic Systems 9, pp. 5–23.CrossRefMATH

Whitney, D.E., 1972, “The mathematics of coordinated control of prosthetic arms and manipulators”, ASME J. Dyn. Systs., Meas., and Control, 94, pp. 303–309.

© Springer International Publishing Switzerland 2014

Jorge AngelesFundamentals of Robotic Mechanical SystemsMechanical Engineering Series12410.1007/978-3-319-01851-5_12

12. Dynamics of Complex Robotic Mechanical Systems

Jorge Angeles1 

(1)

Department of Mechanical Engineering Centre for Intelligent Machines (CIM), McGill University, Montreal, QC, Canada

12.1 Introduction

The subject of this chapter is the dynamics of the class of robotic mechanical systems introduced in Chap. 10 under the generic name of complex. Notice that this class comprises serial manipulators not allowing a decoupling of the orientation from the positioning tasks. For purposes of dynamics, this decoupling is irrelevant and hence, was not a condition in the study of the dynamics of serial manipulators in Chap. 7. Thus, serial manipulators need not be further studied here, the focus being on parallel manipulators and rolling robots. The dynamics of walking machines and multifingered hands involves special features that render these systems more elaborate from the dynamics viewpoint, for they exhibit a time-varying topology. What this means is that these systems include kinematic loops that open when a leg takes off or when a finger releases an object and open chains that close when a leg touches ground or when a finger makes contact with an object. The implication here is that the degree of freedom of these systems is time-varying. The derivation of such a mathematical model is discussed in Pfeiffer et al. (1995), but is left out in this book.

The degree of freedom (dof) of the mechanical systems studied here is thus constant. Now, the two kinds of systems studied here pertain to very different types, for parallel manipulators fall into the realm of holonomic, while rolling robots into that of nonholonomic, mechanical systems. In order to better understand this essential difference between these two types of systems, we give below a summary of the classification of mechanical systems at large.

12.2 Classification of Robotic Mechanical Systems with Regard to Dynamics

Because robotic mechanical systems are a class of general mechanical systems, a classification of the latter will help us focus on the systems motivating this study. Mechanical systems can be classified according to various criteria, the most common one being based on the type of constraints to which these systems are subjected. In this context we find holonomic vs. nonholonomic and scleronomic vs. rheonomic constraints. Holonomic constraints are those that are expressed either as a system of algebraic equations in displacement variables, whether angular or translational, not involving any velocity variables, or as a system of equations in velocity variables that nevertheless can be integrated as a whole to produce a system of equations of the first type. Note that it is not necessary that every single scalar equation of velocity constraints be integrable; rather, the whole system must be integrable for the system of velocity constraints to lead to a system of displacement constraints. If the system of velocity constraints is not integrable, the constraints are said to be nonholonomic. Moreover, if a mechanical system is subject only to holonomic constraints, it is said to be holonomic; otherwise, it is nonholonomic. Manipulators composed of revolute and prismatic pairs are examples of holonomic systems, while wheeled robots are usually nonholonomic systems. On the other hand, if a mechanical system is subject to constraints that are not explicit functions of time, these constraints are termed scleronomic, while if the constraints are explicit functions of time, they are termed rheonomic. For our purposes, however, this distinction is irrelevant.

In order to understand better one more classification of mechanical systems, we recall the concepts of generalized coordinate and generalized speed that were introduced in Sect. 7.​3.​2. The generalized coordinates of a mechanical system are all those displacement variables, whether rotational or translational, that determine uniquely a configuration of the system. Note that the set of generalized coordinates of a system is not unique. Moreover, various sets of generalized coordinates of a mechanical system need not have the same number of elements, but there is a minimum number below which the set of generalized coordinates cannot define the configuration of the system. This minimum number corresponds, in the case of holonomic systems, to the degree of freedom of the system. Serial and parallel manipulators coupled only by revolute or prismatic pairs are holonomic, their joint variables, grouped in vector $$\boldsymbol{\theta }$$, playing the role of generalized coordinates, while their joint rates, grouped in vector $$\dot{\boldsymbol{\theta }}$$, in turn, play the role of generalized speeds. Note that in the case of parallel manipulators, not all joint variables are independent generalized coordinates. In the case of nonholonomic systems, on the other hand, the number of generalized coordinates needed to fully specify their configuration exceeds their degree of freedom by virtue of the lack of integrability of their kinematic constraints. This concept is best illustrated with the aid of examples, which are included in Sect. 12.5. Time-derivatives of the generalized coordinates, or linear combinations thereof, are termed the generalized speeds of the system. If the kinetic energy of a mechanical system is zero when all its generalized speeds are set equal to zero, the system is said to be catastatic. If, on the contrary, the kinetic energy of the system is nonzero even if all the generalized speeds are set equal to zero, the system is said to be acatastatic. All the systems that we will study in this chapter are catastatic. A light robot mounted on a heavy noninertial base that undergoes a controlled motion is an example of an acatastatic system, for the motion of the base can be assumed to be insensitive to the dynamics of the robot; however, the motion of the base does affect the dynamics of the robot.

Another criterion used in classifying mechanical systems, which pertains specifically to robotic mechanical systems, is based on the type of actuation. In general, a system needs at least as many independent actuators as degrees of freedom. However, instances arise in which the number of actuators is greater than the degree of freedom of the system. In these instances, we speak of redundantly actuated systems. In view of the fundamental character of this book, we will not study redundant actuation here; we will thus assume that the number of independent actuators equals the degree of freedom of the system.

The main results of this chapter are applicable to robotic mechanical systems at large. For brevity, we will frequently refer to the objects of our study simply as systems.

12.3 The Structure of the Dynamics Models of Holonomic Systems

We saw in Sect. 7.​6 that the mathematical model of a manipulator of the serial type contains basically three terms, namely, one linear in the joint accelerations, one quadratic in the joint rates, and one arising from the environment, i.e., from actuators, dissipation, and potential fields such as gravity. We show in this section that in fact, the essential structure of this model still holds in the case of more general mechanical systems subject to holonomic constraints, if we regard the rates of the actuated joints as the independent generalized speeds of the system. Nonholonomic robotic systems are studied in Sect. 12.5.

First, we will assume that the mechanical system at hand is composed of r rigid bodies and its degree of freedom is n. Henceforth, we assume that these bodies are coupled in such a way that they may form kinematic loops; for this reason, such systems contain some unactuated joints. Definitions similar to those of Sect. 7.​3.​1 are henceforth adopted. In this vein, the manipulator mass matrix of that section becomes now, more generically, the 6r × 6r system mass matrix M, the 6r × 6r system angular velocity matrix W, and the 6r-dimensional system twist vector t being defined likewise.

We assume further that the total number of joints, active and passive, is m > n. The m-dimensional array $$\boldsymbol{\theta }$$ of joint variables, associated with both actuated and unactuated joints, is thus naturally partitioned into two subarrays, the n-dimensional vector of actuated joint variables $$\boldsymbol{\theta }_{a}$$ and its m ′ -dimensional unactuated counterpart $$\boldsymbol{\theta }_{u}$$, with m ′  ≡ m − n, namely,

(12.1)

We can now set up the mathematical model of the system at hand using the natural orthogonal complement, as introduced in Sect. 7.​5. Since the system under study has n degrees of freedom, the model sought must be a system of n second-order ordinary differential equations. We can proceed to derive this model as we did in Sect. 7.​5, by regarding all joints first as if they were independent, but taking into account that only n of the total m joints are actuated. We do this by introducing a vector of constraint forces, as is done in the realm of Lagrangian dynamics (Török 2000). In this vein, we first represent the twists of all the moving links as linear transformations of the joint-rate vector $$\dot{\boldsymbol{\theta }}$$, then assemble all the individual six-dimensional twist arrays into the 6r-dimensional array t defined above as the system twist. We thus end up with a relation of the form

(12.2)

where $$\mathbf{U}(\boldsymbol{\theta })$$ is the 6r × m twist-shaping matrix, playing a role similar to that of matrix T of Sect. 7.​5. Moreover, the constraints relating all joint rates can be cast in the form

(12.3)

where $$\mathbf{A}(\boldsymbol{\theta })$$ is a p × m matrix, whereby p < m, with nullity—the nullity of a matrix is the dimension of its null space—ν = n, and 0 p is the p-dimensional zero vector. Given the nullity of $$\mathbf{A}(\boldsymbol{\theta })$$, up to n of the m components of $$\boldsymbol{\theta }$$ can be assigned freely without violating the constraints (12.3), which is compatible with the assumption on the dof of the system. Note that, in setting up the foregoing p constraints on the joint rates, the number p depends on the topology of the system, i.e., on its number of links; on its number of joints; and on how the links are coupled, so as to form kinematic loops.

In applying the procedure of the natural orthogonal complement to the constrained system, we end up with a system of m second-order ordinary differential equations, namely, the Euler–Lagrange equations of a system constrained by the relations (12.3), which thus takes the form

(12.4a)

The above equation contains terms that are familiar from Sect. 7.​5, except for the last term of the right-hand side. This term accounts for the generically termed constraint forces and amounting to constraint joint torques and forces that must be exerted at all joints in order to maintain the topology of the system. Vector $$\boldsymbol{\lambda }$$ is termed the vector of Lagrange multipliers in the realm of Lagrangian dynamics. In the above equation, the definitions below, similar to those of Eqs. (7.​58) and (7.​59), have been introduced:

(12.4b)

(12.4c)

(12.4d)

Moreover, w A , w D , w G , and w W are the various types of wrenches acting on the system: exerted by the actuators; stemming from dissipation effects; due to the gravity field; and exerted by the environment, respectively. In turn, $$\tilde{\mathbf{J}}$$ is the 6 × m Jacobian matrix mapping the system joint rates into the end-effector twist, while w W is assumed applied onto the end-effector.

Upon resorting to the kinematics of the system, it is possible to express the vector of joint rates $$\dot{\boldsymbol{\theta }}$$ as a linear transformation of the vector of actuated joint rates $$\dot{\boldsymbol{\theta }}_{a}$$, namely,¹

(12.5)

where we have assumed that, from the geometry of the system, $$\boldsymbol{\theta }_{u}$$ has been solved for in terms of $$\boldsymbol{\theta }_{a}$$. Further, upon substitution of Eq. (12.5) into Eq. (12.3), we obtain

which must hold for any $$\dot{\boldsymbol{\theta }}_{a}$$, given the dof of the system. As a consequence, then,

(12.6)

and hence, $$\boldsymbol{\Theta }(\boldsymbol{\theta }_{a})$$ is an orthogonal complement of $$\mathbf{A}(\boldsymbol{\theta })$$, which we can also call a natural orthogonal complement. Notice, however, that contrary to the natural orthogonal complement U, which maps the joint-rate vector onto the system twist, $$\boldsymbol{\Theta }$$ maps the space of actuated joint rates into that of the system joint rates. Apparently,

(12.7)

Upon substitution of Eq. (12.7) into Eq. (12.4a), we obtain

Further, the term of constraint forces is eliminated from the above equations upon multiplying both sides of the above equation by $${\boldsymbol{\Theta }}^{T}$$ from the left, thus obtaining the mathematical model sought, i.e.,

(12.8a)

with the definitions below:

(12.8b)

(12.8c)

and

(12.8d)

That is, the mathematical model governing the dynamics of any holonomic robotic mechanical system is formally identical to that of Eq. (7.​61) obtained for serial manipulators.

12.4 Dynamics of Parallel Manipulators

We illustrate the modeling techniques of mechanical systems with kinematic loops via a class of systems known as parallel manipulators. While parallel manipulators can take on a large variety of forms, we focus here on those termed platform manipulators, with an architecture similar to that of flight simulators. In platform manipulators we can distinguish two special links, namely, the base $$\mathcal{B}$$ and the moving platform $$\mathcal{M}$$. Moreover, these two links are coupled via six legs, with each leg constituting a six-axis kinematic chain of the serial type, as shown in Fig. 12.1, whereby a wrench $${\mathbf{w}}^{W}$$, represented by a double-headed arrow, acts on $$\mathcal{M}$$ and is applied at $$C_{\mathcal{M}}$$, the mass center of $$\mathcal{M}$$. This figure shows the axes of the revolutes coupling the legs to the two platforms as forming regular polygons. However, the modeling discussed below is not restricted to this particular geometry. As a matter of fact, these axes need not even be coplanar. On the other hand, the architecture of Fig. 12.1 is very general, for it includes more specific types of platform manipulators, such as flight simulators. In these, the first three revolute axes stemming from the base platform have intersecting axes, thereby giving rise to a spherical kinematic pair, while the upper two axes intersect at right angles, thus constituting a universal joint. Moreover, the intermediate joint in flight simulators is not a revolute, but rather a prismatic pair, which is the actuated joint of the leg. A leg kinematically equivalent to that of flight simulators can be obtained from that of the manipulator of Fig. 12.1, if the intermediate revolute has an axis perpendicular to the line connecting the centers of the spherical and the universal joints of the corresponding leg, as shown in Fig. 12.2. In flight simulators, the pose of the moving platform is controlled by hydraulic actuators that vary the distance between these two centers. In the revolute-coupled equivalent leg, the length of the same line is controlled by the rotation of the intermediate revolute.

Fig. 12.1

A platform-type parallel manipulator

Fig. 12.2

A leg of a simple platform-type parallel manipulator

Shown in Fig. 12.3 is the graph of the system depicted in Fig. 12.1. In that graph, the nodes denote rigid links, while the edges denote joints. By application of Euler’s formula for graphs (Harary 1972), the number ι of independent loops of a system with many kinematic loops is given by

(12.9)

where j is the number of revolute and prismatic joints and l is the number of links.

Thus, if we apply Euler’s formula to the system of Fig. 12.1, we conclude that its kinematic chain contains five independent loops. Hence, while the chain apparently contains six distinct loops, only five of these are independent. Moreover, the degree of freedom of the manipulator is six. Indeed, the total number of links of the manipulator is $$l = 6 \times 5 + 2 = 32$$. Of these, one is fixed, and hence, we have 31 moving links, each with six degrees of freedom prior to coupling. Thus, we have a total of 31 × 6 = 186 degrees of freedom at our disposal. Upon coupling, each revolute removes five degrees of freedom, and hence, the 36 kinematic pairs remove 180 degrees of freedom, the manipulator thus being left with 6 degrees of freedom. We derive below the mathematical model governing the motion of the overall system in terms of the independent generalized coordinates associated with the actuated joints of the legs.

Fig. 12.3

The graph of the flight simulator

We assume, henceforth, that each leg is a six-axis open kinematic chain with either revolute or prismatic pairs, only one of which is actuated, and we thus have as many actuated joints as degrees of freedom. Furthermore, we label the legs with Roman numerals I, II, …, VI and denote the mass center of the mobile platform $$\mathcal{M}$$ by $$C_{\mathcal{M}}$$, with the twist of $$\mathcal{M}$$ denoted by $$\mathbf{t}_{\mathcal{M}}$$ and defined at the mass center. That is, if $$\mathbf{c}_{\mathcal{M}}$$ denotes the position vector of $$C_{\mathcal{M}}$$ in an inertial frame and $$\dot{\mathbf{c}}_{\mathcal{M}}$$ its velocity, while $$\boldsymbol{\omega }_{\mathcal{M}}$$ is the angular velocity of $$\mathcal{M}$$, then

(12.10)

Next, the Newton–Euler equations of $$\mathcal{M}$$ are derived from the free-body diagram shown in Fig. 12.4. In this figure, the legs have been replaced by the constraint wrenches $$\{\mathbf{w}_{J}^{C}\}_{I}^{V I}$$ acting at point $$C_{\mathcal{M}}$$, the governing equation thus taking the form of Eq. (7.5c), namely,

(12.11)

with $${\mathbf{w}}^{W}$$ denoting the external wrench acting on $$\mathcal{M}$$. Furthermore, let us denote by q J the variable of the actuated joint of the Jth leg, all variables of the six actuated joints being grouped in the six-dimensional array q, i.e.,

(12.12)

Now, we derive a relation between the twist $$\mathbf{t}_{\mathcal{M}}$$ and the active joint rates, $$\dot{q_{J}}$$, for J = I, II, …, VI. To this end, we resort to Fig. 12.5, depicting the Jth leg as a serial-type, six-axis manipulator, whose twist–shape relations are readily expressed as in Eq. (5.​9), namely,

(12.13)

where J J is the 6 × 6 Jacobian matrix of the Jth leg.

Fig. 12.4

The free-body diagram of $$\mathcal{M}$$

Fig. 12.5

The serial manipulator of the Jth leg

In Fig. 12.5, the moving platform $$\mathcal{M}$$ has been replaced by the constraint wrench transmitted by the moving platform onto the end link of the Jth leg, $$-\mathbf{w}_{J}^{C}$$, whose sign is the opposite of that transmitted by this leg onto $$\mathcal{M}$$ by virtue of Newton’s third law. The dynamics model of the manipulator of Fig. 12.5 then takes the form

(12.14)

where I J is the 6 × 6 inertia matrix of the manipulator, while C J is the matrix coefficient of the inertia terms that are quadratic in the joint rates. Moreover, $$\boldsymbol{\theta }_{J}$$ and $$\boldsymbol{\tau }_{J}$$ denote the six-dimensional vectors of joint variables and joint torques, namely,

(12.15)

with subscript Jk denoting in turn the only actuated joint of the Jth leg, namely, the kth joint of the leg. If we now introduce e Jk , defined as a unit vector all of whose entries are zero except for the kth entry, which is unity, then we can write

(12.16)

If the actuated joint is prismatic, as is the case in flight simulators, then f J is a force; if this joint is a revolute, then f J is a torque.

Now, since the dimension of q coincides with the degree of freedom of the manipulator, it is possible to find, within the framework of the natural orthogonal complement, a 6 × 6 matrix L J mapping the vector of actuated joint rates $$\dot{\mathbf{q}}$$ into the vector of Jth-leg joint-rates, namely,

(12.17)

The calculation of L J will be illustrated with an example.

Moreover, if the manipulator of Fig. 12.5 is not at a singular configuration, then we can solve for $$\mathbf{w}_{J}^{C}$$ from Eq. (12.14), i.e.,

(12.18)

in which the superscript − T stands for the transpose of the inverse, or equivalently, the inverse of the transpose, while $$\mathbf{I}_{J} = \mathbf{I}_{J}(\boldsymbol{\theta }_{J})$$ and $$\mathbf{C}_{J} = \mathbf{C}_{J}(\boldsymbol{\theta }_{J},\dot{\boldsymbol{\theta }}_{J})$$. Further, we substitute $$\mathbf{w}_{J}^{C}$$ as given by Eq. (12.18) into Eq. (12.11), thereby obtaining the Newton–Euler equations of the moving platform free of constraint wrenches. Additionally, the equations thus resulting now contain inertia terms and joint torques pertaining to the Jth leg, namely,

(12.19)

Still within the framework of the natural orthogonal complement, we set up the relation between the twist $$\mathbf{t}_{\mathcal{M}}$$ and the vector of actuated joint rates $$\dot{\mathbf{q}}$$ as

(12.20)

which upon differentiation with respect to time, yields

(12.21)

In the next step, we substitute $$\mathbf{t}_{\mathcal{M}}$$ and its time-derivative as given by Eqs. (12.20 and 12.21) into Eq. (12.19), thereby obtaining

(12.22)

Further, we recall relation (12.17), which upon differentiation with respect to time, yields

(12.23)

Next, relations (12.17 and 12.23) are substituted into Eq. (12.22), thereby obtaining the model sought in terms only of actuated joint variables. After simplification, this model takes the form

(12.24)

where now $$\mathbf{I}_{J} = \mathbf{I}_{J}(\mathbf{q})$$ and $$\mathbf{C}_{J} = \mathbf{C}_{J}(\mathbf{q},\dot{\mathbf{q}})$$.

Our final step in this formulation consists in deriving a reduced 6 × 6 model in terms only of actuated joint variables. Prior to this step, we note that from Eqs. (12.13), (12.17), and (12.20),

(12.25)

Upon substitution of the above relation into Eq. (12.24) and multiplication of both sides of Eq. (12.24) by T T from the left, we obtain the desired model in the form of Eqs. (12.8a), namely,

(12.26)

with the 6 × 6 matrices M(q), $$\mathbf{N}(\mathbf{q},\dot{\mathbf{q}})$$, and vector $${\boldsymbol{\tau }}^{W}$$ defined as

(12.27a)

(12.27b)

(12.27c)

Alternatively, the foregoing variables can be expressed in a more compact form that will shed more light on the above model. To do this, we define the 36 × 36 matrices I and C as well as the 6 × 36 matrix L, the 6 × 6 matrix $$\boldsymbol{\Lambda }$$, and the six-dimensional vector $$\boldsymbol{\phi }$$ as

(12.28a)

(12.28b)

(12.28c)

(12.28d)

(12.28e)

and hence,

(12.29a)

(12.29b)

(12.29c)

whence the mathematical model of Eq. (12.26) takes on a more familiar form, namely,

(12.30)

Thus, for inverse dynamics, we want to determine $$\boldsymbol{\phi }$$ for a motion given by q and $$\dot{\mathbf{q}}$$, which can be done from the above equation, namely,

(12.31)

Notice, however, that the foregoing solution is not recursive, and since it requires linear-equation solving, it is of order n ³, which thus yields a rather high numerical complexity. It should be possible to produce a recursive algorithm for the computation of $$\boldsymbol{\phi }$$, but this issue will not be pursued here. Moreover, given the parallel structure of the manipulator, the associated recursive algorithm should be parallelizable with multiple processors.

For purposes of direct dynamics, on the other hand, we want to solve for $$\ddot{\mathbf{q}}$$ from Eq. (12.30). Moreover, for simulation purposes, we need to derive the state-variable equations of the system at hand. This can be readily done if we define $$\mathbf{r} \equiv \dot{\mathbf{q}}$$, the state-variable model thus taking on the form

(12.32a)

(12.32b)

In light of the matrix inversion of the foregoing model, then, the complexity of the forward dynamics computations is also of order n ³.

Example 12.4.1.

Derive matrix L J of Eq. (12.17) for a manipulator having six identical legs like that of Fig. 12.2, the actuators being placed at the fourth joint.

Solution: We attach coordinate frames to the links of the serial chain of the Jth leg following the Denavit–Hartenberg notation, while noting that the first three joints intersect at a common point, and hence, $$\mathbf{r}_{1} = \mathbf{r}_{2} = \mathbf{r}_{3}$$. According to this notation, we recall, vector r i is directed from the origin O i of the ith frame to the operation point of the manipulator, which in this case, is $$C_{\mathcal{M}}$$. The Jacobian matrix of the Jth leg then takes the form

the subscript J of the array in the right-hand side reminding us that the vectors inside it pertain to the Jth leg. Thus, matrix J J maps the joint-rate vector of the Jth leg, $$\dot{\boldsymbol{\theta }}_{J}$$, into the twist $$\mathbf{t}_{\mathcal{M}}$$ of the platform, i.e.,

Clearly, the joint-rate vector of the Jth leg is defined as

Now, note that except for $$\dot{\theta }_{J4}$$, all joint-rates of this leg are passive and thus need not appear in the mathematical model of the whole manipulator. Hence, we should aim at eliminating all joint-rates from the above twist-rate relation, except for the one associated with the active joint. We can achieve this if we realize that

Further, we define a 3 × 6 matrix A J as

with R J1 defined, in turn, as the cross-product matrix of r J1. Now, upon multiplication of J J by A J from the left, we obtain a 3 × 6 matrix whose first three columns vanish, namely,

and hence, if we multiply both sides of the above twist–shape equation by A J from the left, we will obtain a new twist–shape equation that is free of the first three joint rates. Moreover, this equation is three-dimensional, i.e.,

where the subscript J attached to the brackets enclosing the whole left-hand side again reminds us that all quantities therein are to be understood as pertaining to the Jth leg. For example, e ₄ is to be read e J4. Furthermore, only $$\dot{\theta }_{J4}$$ is associated with an active joint and denoted, henceforth, by $$\dot{q}_{J}$$, i.e.,

(12.33)

It is noteworthy that the foregoing method of elimination of passive joint rates is not ad hoc at all. While we applied it here to the elimination of the three joint rates of a spherical joint, it has been formalized and generalized to all six lower kinematic pairs (Angeles 1994).

We have now to eliminate both $$\dot{\theta }_{J5}$$ and $$\dot{\theta }_{J6}$$ from the foregoing equation. This can be readily accomplished if we dot-multiply both sides of the same equation by vector u J defined as the cross product of the vector coefficients of the two passive joint rates, i.e.,

We thus obtain a third twist–shape relation that is scalar and free of passive joint rates, namely,

The above equation is clearly of the form

with ζ J and y J defined, in turn, as

(12.34a)

(12.34b)

Upon assembling the foregoing six scalar twist–shape relations, we obtain a six-dimensional twist–shape relation between the active joint rates of the manipulator and the twist of the moving platform, namely,

with the obvious definitions for the two 6 × 6 matrices Y and Z given below:

We now can determine matrix T of the procedure described above, as long as Y is invertible, in the form

whence the leg-matrix L J of the same procedure is readily determined, namely,

Therefore, all we need now is an expression for the inverse of the leg Jacobian J J . This Jacobian is clearly full, which might discourage the reader from attempting its closed-form inversion. However, a closer look reveals that this Jacobian is similar to that of decoupled manipulators, studied in Sect. 5.​2, and hence, its closed-form inversion should be reducible to that of a 3 × 3 matrix. Indeed, if we recall the twist-transfer formula of Eqs. (5.12a and b), we can then write J J as

where U J is a unimodular 6 × 6 matrix and K J is the Jacobian of the same Jth leg, but now defined with its operation point located at the center of the spherical joint. Thus,

the superscript J indicating the Jth leg and with the definitions below:

O:

the 3 × 3 zero matrix;

1:

the 3 × 3 identity matrix;

O J1:

the cross-product matrix of o J1, the position vector of the center of the spherical joint;

$$\mathbf{C}_{\mathcal{M}}$$:

the cross product matrix of $$\mathbf{c}_{\mathcal{M}}$$, the position vector of $$C_{\mathcal{M}}$$.

Furthermore, the 3 × 3 blocks of K J are defined, in turn, as

Now, if the inverse of a block matrix is recalled, we have

where the superscript of the blocks has been transferred to the whole matrix, in order to ease the notation. The problem of inverting K J has now been reduced to that of inverting two of its 3 × 3 blocks. These can be inverted explicitly if we recall the concept of reciprocal bases (Brand 1965). Thus,

with s J4, s J5, $$\Delta _{11}^{J}$$, and $$\Delta _{22}^{J}$$ defined as

the subscripted brackets and parentheses still reminding us that all vectors involved pertain to the Jth leg. Moreover, since U J is unimodular, its inverse is simply

and hence,

the matrix sought, L J , then being calculated as

While we have a closed-form inverse of J J , we do not have one for Y, which is full and does not bear any particular structure that would allow us its inversion explicitly. Therefore, matrix L J should be calculated numerically.

12.5 Dynamics of Rolling Robots

The dynamics of rolling robots, similar to that of other robotic mechanical systems, comprises two main problems, inverse and direct dynamics. We will study both using the same mathematical model. Hence, the main task here is to derive this model. It turns out that while rolling robots usually are nonholonomic mechanical systems, their mathematical models are formally identical to those of holonomic systems. The difference between holonomic and nonholonomic systems lies in that, in the former, the number of independent actuators equals the necessary and sufficient number of variables—independent generalized coordinates in Lagrangian mechanics—defining a posture (configuration) of the system. In nonholonomic systems, however, the necessary and sufficient number of variables defining a posture of the system exceeds the number of independent actuators. As a consequence, in holonomic systems the dof equals the number of independent actuators. In nonholonomic systems, the dof is usually defined as the necessary and sufficient number of variables defining the system posture, while the number of independent actuators is termed the system mobility, which thus turns out to be smaller than the system dof. Therefore, relations between these dependent and independent variables will be needed and will be derived in the course of our discussion. Moreover, we will study robots with both conventional and omnidirectional wheels. Of the latter, we will focus on robots with Mekanum wheels.

12.5.1 Robots with Conventional Wheels

We study here the robot of Fig. 10.​17, under the assumption that it is driven by motors collocated at the axes of its two coaxial wheels, indicated as M ₁ and M ₂ in Fig. 10.​17b. For quick reference, we repeat this figure here as Fig. 12.6.

Fig. 12.6

A two-dof rolling robot: (a) its general layout; and (b) a detail of its actuated wheels

Our approach will be one of multibody dynamics; for this reason, we distinguish five rigid bodies composing the robotic mechanical system at hand. These are the three wheels (two actuated and one caster wheels), the bracket carrying the caster wheel, and the platform. We label these bodies with numbers from 1 to 5, in the foregoing order, while noticing that bodies 4 and 5, the bracket and the platform, undergo planar motion, and hence, deserve special treatment. The 6 × 6 mass matrices of the first three bodies are labeled M ₁ to M ₃, with a similar labeling for their corresponding six-dimensional twists, the counterpart items for bodies 4 and 5 being denoted by $$\mathbf{M}_{4}^{{\prime}}$$, $$\mathbf{M}_{5}^{{\prime}}$$, $$\mathbf{t}_{4}^{{\prime}}$$, and $$\mathbf{t}_{5}^{{\prime}}$$, the primes indicating 3 × 3—as opposed to 6 × 6 in the general case—mass matrices and three-dimensional—as opposed to six-dimensional in the general case—twist arrays.

We undertake the formulation of the mathematical model of the mechanical system under study, which is of the general form of Eq. (12.8a) derived for holonomic systems. The nonholonomy of the system brings about special features that will be highlighted in the derivations below.

As a first step in our formulation, we distinguish between actuated and unactuated joint variables, grouped into vectors $$\boldsymbol{\theta }_{a}$$ and $$\boldsymbol{\theta }_{u}$$, respectively, their time-derivatives being the actuated and unactuated joint rates, $$\dot{\boldsymbol{\theta }}_{a}$$ and $$\dot{\boldsymbol{\theta }}_{u}$$, respectively. From the kinematic analysis of this system in Sect. 10.​5.​1, it is apparent that the foregoing vectors are all two-dimensional, namely,

(12.35)

Further, we set to deriving expressions for the twists of the five moving bodies in terms of the actuated joint rates, i.e., we write those twists as linear transformations of $$\dot{\boldsymbol{\theta }}_{a}$$, i.e.,

(12.36a)

and

(12.36b)

where, from Eqs. (10.41a and b), (10.44a and b), and (10.​48),

(12.37)

(12.38)

(12.39)

(12.40)

(12.41)

with $$\boldsymbol{\Theta }_{3},\ \mathbf{G}_{3},\ \boldsymbol{\theta }_{4}$$ and G ₄ yet to be derived. In the sequel, we will find convenient to work with a few nondimensional parameters, α, δ, ρ—already defined in Eq. (10.​53)—and λ, which is introduced now, and displayed below with the first three parameters for quick reference:

(12.42)

In the derivations below, we resort to the notation introduced in Sect. 10.​5.​1. First, we note that, from Eqs. (10.​45), (10.52a and b), we can write, with θ ij denoting the (i, j) entry of $$\boldsymbol{\Theta }$$, as derived in Sect. 10.​5.​1,

(12.43)

or

(12.44)

with $$\boldsymbol{\Theta }_{3}$$ defined as

In more compact form,

(12.45a)

with $$\overline{\theta }_{21}$$ and $$\overline{\theta }_{22}$$ defined, in turn, as

(12.45b)

Moreover,

and hence,

(12.46)

Further, it is apparent from Fig. 12.6 that the scalar angular velocity of the bracket, ω ₄, is given by

and hence,

Therefore, we can write

(12.47a)

where $$\boldsymbol{\theta }_{4}$$ is defined as

(12.47b)

Now, since we are given the inertial properties of the bracket in bracket coordinates, it makes sense to express $$\mathbf{\dot{c}}_{4}$$ in those coordinates, taking into account that point C ₄ lies in the middle of the line $$\overline{PO}_{3}$$. Such an expression is obtained below:

Upon expressing $$\dot{\theta }_{3}$$ and $$\dot{\psi }$$ in terms of $$\dot{\theta }_{1}$$ and $$\dot{\theta }_{2}$$, we obtain

(12.48)

whence it is apparent that

(12.49)

Therefore,

(12.50)

thereby completing all needed twist-shaping matrices.

The 2 × 2 matrix of generalized inertia, $$\mathbf{I}(\boldsymbol{\theta })$$, is now obtained. Here we have written this matrix as a function of all variables, independent and dependent, arrayed in the four-dimensional vector $$\boldsymbol{\theta }$$, because we cannot obtain an expression for $$\boldsymbol{\theta }_{u}$$ in terms of $$\boldsymbol{\theta }_{a}$$, given the nonholonomy of the system at hand. Therefore, I is, in general, a function of θ ₁, θ ₂, θ ₃, and ψ. To be sure, from the above expressions for the twist-shaping matrices T i and $$\mathbf{T}_{i}^{{\prime}}$$, it is apparent that the said inertia matrix is an explicit function of ψ only, its dependence on θ ₁ and θ ₂ being implicitly given via vectors e ₃ and f ₃. We derive the expression sought for I starting from the kinetic energy, namely,

or

(12.51)

and hence,

(12.52)

In order to expand the foregoing expression, we let J w and J c be the 3 × 3 inertia matrices of the two actuated wheels and the caster wheel, respectively, the scalar moments of inertia of the bracket and the platform, which undergo planar motion, being denoted by I b and I p . Likewise, we let m w , m b , m c , and m p denote the masses of the corresponding bodies. Therefore,

with O and 1 ₃ denoting the 3 × 3 zero and identity matrices, while 0 and 1 ₂ the two-dimensional zero vector and the 2 × 2 identity matrix. Furthermore, under the assumption that the actuated wheels are dynamically balanced, we have

Moreover, we assume that the caster wheel can be modeled as a rigid disk of uniform material of the given mass m c and radius r, and hence, in bracket-fixed coordinates $$\{\,\mathbf{e}_{3},\,\mathbf{f}_{3},\,\mathbf{k}\,\}$$,

It is now a simple matter to calculate

where the symmetry between the two foregoing expressions is to be highlighted: that is, the second expression is derived if the diagonal entries of the first expression are exchanged, which is physically plausible, because such an exchange is equivalent to a relabeling of the two wheels. The calculation of the remaining products is less straightforward but can be readily obtained. From the expressions for T ₃ and M ₃, we have

In order to calculate the foregoing products, we write J c and $$\boldsymbol{\Theta }_{3}$$ in component form, i.e.,

and hence,

Likewise,

Further,

Upon expansion, we have

Finally,

which can be readily expanded as

We can thus express the generalized inertia matrix as

where I w , I c , I b , and I p denote the contributions of the actuated wheels, the caster wheel, the bracket, and the platform, respectively, i.e.,

It is now apparent that the contributions of the actuated wheels and the platform are constant, while those of the caster wheel and the bracket are configuration-dependent. Therefore, only the latter contribute to the Coriolis and centrifugal generalized forces. We thus have

From the expression for $$\mathbf{T}_{3}^{T}\mathbf{M}_{3}\mathbf{T}_{3}$$, we obtain

the time-derivatives being displayed below:

with the time-derivatives of the entries of $$\boldsymbol{\Theta }$$ given as

(12.53)

its parameters being defined in Eq. (12.42). Upon expansion, the products appearing in the expression for $$\mathbf{T}_{3}^{T}\mathbf{M}_{3}\boldsymbol{\dot{T}}_{3}$$ become

Therefore,

Likewise,

the above time-derivatives being

with coefficients c i, j given below:

Hence,

Therefore,

In the final steps, we calculate $${\mathbf{T}}^{T}\mathbf{W}\mathbf{M}\mathbf{T}$$. As we saw earlier, only the caster wheel and the bracket can contribute to this term, for the contributions of the other bodies to the matrix of generalized inertia are constant. However, the bracket undergoes planar motion, and according to Exercise 7.10, its contribution to this term vanishes. Therefore,

Upon expansion of the foregoing product, we have

(12.54)

The foregoing term vanishes, as we prove below. First, notice that

However, from Eq. (12.44),

and hence,

for every $$\dot{\boldsymbol{\theta }}_{a}$$, whence

with O ₃₂ denoting the 3 × 2 zero matrix. Upon transposing the foregoing expression, we obtain

where we have recalled that $$\boldsymbol{\Omega }_{3}$$ is skew-symmetric.

Substitution of the above expression into Eq. (12.54) readily shows that the term in question indeed vanishes, i.e.,

In summary, the Coriolis and centrifugal force terms of the system at hand take the form

If we recall that the c ij coefficients are linear in the joint rates, then the foregoing expression clearly shows the quadratic nature of the Coriolis and centrifugal terms with respect to the joint rates.

The derivation of the forces supplied by the actuators is straightforward:

The dissipative generalized force is less straightforward, but its calculation is not too lengthy. In fact, if we assume linear dashpots at all joints, then the dissipation function is

with C ₁₂ and C ₃₄ defined as

Now, if we recall the expression for $$\dot{\boldsymbol{\theta }}_{u}$$ in terms of $$\dot{\boldsymbol{\theta }}_{a}$$, we end up with

D being defined, in turn, as the equivalent damping matrix, given by

Since $$\boldsymbol{\Theta } =\boldsymbol{ \Theta }(\psi ),\ \mathbf{D} = \mathbf{D}(\psi )$$, the dynamics model under study thus taking the form

with I and $$\mathbf{C}(\boldsymbol{\theta },\dot{\boldsymbol{\theta }}_{a})$$ given, such as in the case of holonomic systems, as

thereby completing the mathematical model governing the motion of the system at hand. Note here that $$\boldsymbol{\theta }$$ denotes the four-dimensional vector of joint variables containing all four angles appearing as components of $$\boldsymbol{\theta }_{a}$$ and $$\boldsymbol{\theta }_{u}$$. Because of the nonholonomy of the system, an expression for the latter in terms of the former cannot be derived, and thus the whole four-dimensional vector $$\boldsymbol{\theta }$$ is left as an argument of both I and C.

Note that calculating the torque $$\boldsymbol{\tau }$$ required for a given motion—inverse dynamics—of the rolling robot under study is straightforward from the above model. However, given the strong coupling among all variables involved, a recursive algorithm in this case is not apparent. On the other hand, the determination of the motion produced by a given history of joint torques requires (a) the calculation of I, which can be achieved symbolically; (b) the inversion of I, which can be done symbolically because this is a 2 × 2 matrix; (c) the calculation of the Coriolis and centrifugal terms, as well as the dissipative forces; and (d) the integration of the initial-value problem resulting once initial values to $$\boldsymbol{\theta }$$ and $$\dot{\boldsymbol{\theta }}_{a}$$ have been assigned.

Fig. 12.7

Rolling robot with ODWs in a $$\Delta $$-array

12.5.2 Robots with Omnidirectional Wheels

We now consider a three-dof robot with three actuated wheels of the Mekanum type, as shown in Fig. 10.​19, with the configuration of Fig. 12.7, which will be termed, henceforth, the Δ-array. This system is illustrated in Fig. 12.8.

Below we will adopt the notation of Sect. 10.​5.​2, with $$\alpha =\pi /2$$ and n = 3. We now recall that the twist of the platform was represented in planar form as

(12.55)

where ω is the scalar angular velocity of the platform and $$\mathbf{\dot{c}}$$ is the two-dimensional position vector of its mass center, which will be assumed to coincide with the centroid of the set of points $$\{\,C_{i}\,\}_{1}^{3}$$. Moreover, the three wheels are actuated, and hence, the three-dimensional vector of actuated joint rates is defined as

(12.56)

Fig. 12.8

A view of the three-wheeled robot with Mekanum wheels in a $$\Delta $$-array

The relation between $$\dot{\boldsymbol{\theta }}_{a}$$ and $${\mathbf{t}}^{{\prime}}$$ was derived in general in Sect. 10.​5.​2. As pertaining to the robot of Fig. 12.7, we have

(12.57a)

with the two 3 × 3 Jacobians J and K defined as

(12.57b)

where, it is recalled, a is the height of the axis of the wheel hub and r is the horizontal distance of the points of contact with the ground to the mass center C of the platform, as indicated in Fig. 12.7a. Moreover, vectors $$\{\,\mathbf{e}_{i}\,\}_{1}^{3}$$ and $$\{\,\mathbf{f}_{i}\,\}_{1}^{3}$$, defined in Sect. 10.​5.​2, are displayed in Fig. 12.7. Below we derive expressions for ω and $$\mathbf{\dot{c}}$$, from Eq. (12.57a), in terms of the joint rates. To this end, we expand these three equations, thus obtaining

(12.58a)

(12.58b)

(12.58c)

Upon adding corresponding sides of the three foregoing equations, we obtain

(12.59)

But from Fig. 12.7b, it is apparent that

(12.60a)

(12.60b)

Likewise,

(12.60c)

(12.60d)

and hence, the above equation for ω and $$\mathbf{\dot{c}}$$ leads to

(12.61)

Now we derive an expression for $$\mathbf{\dot{c}}$$ in terms of the actuated joint rates. We do this by subtracting, sidewise, Eq. (12.58b) from Eq. (12.58a) and Eq. (12.58c) from Eq. (12.58b), thus obtaining a system of two linear equations in two unknowns, the two components of the two-dimensional vector $$\dot{\mathbf{c}}$$, namely,

with matrix A and vector b defined as

where we have used relations (12.60c). Since A is a 2 × 2 matrix, its inverse can be readily found with the aid of Facts 5.7.3 and 5.7.4, which yield

Now, from Fig. 12.7b,

and hence, $$\dot{\mathbf{c}}$$ reduces to

But by virtue of Eq. (12.60b),

the above expression for $$\dot{\mathbf{c}}$$ thus becoming

(12.62)

Thus, ω is proportional to the mean value of $$\{\,\dot{\theta }_{i}\,\}_{1}^{3}$$, while $$\dot{\mathbf{c}}$$ is proportional to the mean value of $$\{\,\dot{\theta }_{i}\mathbf{f}_{i}\,\}_{1}^{3}$$. In deriving the mathematical model of the robot at hand, we will resort to the natural orthogonal complement, and therefore, we will require expressions for the twists of all bodies involved in terms of the actuated wheel rates. We start by labeling the wheels as bodies 1, 2, and 3, with the platform being body 4. Moreover, we will neglect the inertia of the rollers, and so no labels need be attached to these. Furthermore, the wheel hubs undergo rotations with angular velocities in two orthogonal directions, and hence, a full six-dimensional twist representation of these will be required. Henceforth, we will regard the angular velocity of the platform and the velocity of its mass center as three-dimensional vectors. Therefore,

(12.63)

with λ defined, in turn, as the ratio

(12.64)

Now, the wheel angular velocities are given simply as

(12.65)

or

(12.66a)

(12.66b)

(12.66c)

Similar expressions are derived for vectors $$\mathbf{\dot{c}}_{i}$$. To this end, we resort to the geometry of Fig. 12.7, from which we derive the relations

and hence,

(12.67a)

(12.67b)

(12.67c)

From the foregoing relations, and those for the angular velocities of the wheels, Eqs. (12.66a–c), we can now write the twists of the wheels in the form

(12.68)

where

On the other hand, similar to what we have in Eq. (12.62), an interesting relationship among angular velocities of the wheels arises here. Indeed, upon adding the corresponding sides of the three equations (12.66a–c), we obtain

Further, we dot-multiply the two sides of the foregoing equation by k, which yields, upon rearrangement of terms,

and by virtue of Eq. (12.61),

(12.69)

that is, the vertical component of the mean wheel angular velocity equals the scalar angular velocity of the platform.

Now we proceed to establish the mathematical model governing the dynamics of the system under study. The generalized inertia matrix is then calculated as

(12.70)

where, if I w and m w denote the moment-of-inertia matrix, in body-fixed coordinates, and the mass of each of the three wheels, with similar definitions for I p and m p as pertaining to the platform,

(12.71)

We will also need the angular-velocity dyads, W i , which are calculated as

(12.72)

where W ₄ will not be needed, since the platform undergoes planar motion. We have

Moreover, we assume that in a local coordinate frame $$\{\,\mathbf{e}_{i},\,\mathbf{f}_{i},\,\mathbf{k}\,\}$$,

in which I and J are constants. Hence,

where

Likewise,

Furthermore,

It is apparent that, by virtue of the planar motion undergone by the platform, only its moment of inertia H about the vertical passing through its mass center is needed. Then,

Upon summing all four products computed above, we obtain

with the definitions below:

which is a constant matrix. Moreover, note that the geometric and inertial symmetry assumed at the outset is apparent in the form of the foregoing inertia matrix, its inverse being readily obtained in closed form, namely,

Next, we turn to the calculation of the $${\mathbf{T}}^{T}\mathbf{M}\mathbf{\dot{T}}$$ term. This is readily found to be

each of the foregoing products being expanded below. We have, first,

Hence, for the first wheel,

Therefore,

where the skew-symmetric matrix is the cross product matrix of vector $${[\,0,\,1,\,1\,]}^{T}$$. By symmetry, the other two products, $$\mathbf{T}_{i}^{T}\mathbf{M}_{i}\mathbf{\dot{T}}_{i}$$, for i = 1, 2, take on similar forms, with the skew-symmetric matrix, becoming, correspondingly, the cross-product matrix of vectors [ 1, 0, 1 ] T and [ 1, 1, 0 ] T . This means that the first of these three products is affected by the rotation of the second and the third wheels, but not by that of the first one; the second of those products is affected by the rotation of the first and the third wheels, but not by the second; the third product is affected, in turn, by the rotation of the first two wheels, but not by that of the third wheel. We thus have

Furthermore,

and hence,

(12.74a)

whose skew-symmetric matrix is readily identified as the cross-product matrix of vector [ 1, 1, 1 ] T , thereby indicating an equal participation of all three wheels in this term, a rather plausible result. Upon adding all four products calculated above, we obtain

(12.75)

The equal participation of all three wheels in the foregoing product is apparent. Moreover, notice that the term in parentheses can be regarded as an equivalent mass, which is merely the sum of all four masses involved, the moments of inertia of the wheels playing no role in this term.

We now turn to the calculation of the $${\mathbf{T}}^{T}\mathbf{W}\mathbf{M}\mathbf{T}$$ term, which can be expressed as a sum, namely,

where we have not considered the contribution of the platform, because this undergoes planar motion. Moreover, matrices W i , for i = 1, 2, and 3, take the obvious forms

We then have, for the first wheel,

Now, it does not require too much effort to calculate the complete first product, which merely vanishes, i.e.,

with O ₃₃ defined as the 3 × 3 zero matrix. By symmetry, the remaining two products also vanish, and hence, the sum also does, i.e.,

(12.76)

Now, calculating the dissipative and active generalized forces is straightforward. We will neglect here the dissipation of energy occurring at the bearings of the rollers, and hence, if we assume that the lubricant of the wheel hubs produces linear dissipative torques, then we have

(12.77)

where c is the common damping coefficient for all three wheel hubs. We now have all the elements needed to set up the mathematical model governing the dynamics of the robot, namely,

(12.78)

where $$\mathbf{C}(\omega ) \equiv {\mathbf{T}}^{T}\mathbf{M}\dot{\mathbf{T}} +{ \mathbf{T}}^{T}\mathbf{WMT}$$; from Eqs. (12.75) and (12.76), this term becomes

(12.79)

Since $$\omega = -a/(3r)(\dot{\theta }_{1} +\dot{\theta } _{2} +\dot{\theta } _{3})$$, the quadratic nature of the second term of Eq. (12.78) in the joint rates becomes apparent. It is also apparent that the mathematical model derived above does not depend on $$\boldsymbol{\theta }_{a}$$. What this means is that the mathematical model allows the integration of the actuated joint accelerations to yield joint-rate histories $$\dot{\boldsymbol{\theta }}_{a}(t)$$, but this model cannot provide joint-variable histories $$\boldsymbol{\theta }_{a}(t)$$. To obtain these, for given initial conditions, the joint-rate histories have to be integrated, which can be done by numerical quadrature.

Finally, in order to obtain the Cartesian histories of the platform pose, given by the angle σ that a specific line of the platform makes with a line fixed in an inertial frame, and the position vector of the mass center, c, Eqs. (12.61) and (12.62) have to be integrated. While the integration of the former can be readily done by quadrature, that of the latter requires knowledge of vectors f i , for i = 1, 2, 3, and these vectors depend on σ. Thus, the integration of Eq. (12.61) can be done once the joint-rate histories are known; that of Eq. (12.62) requires knowledge of angle σ. These features are inherent to nonholonomic systems.

12.6 Exercises

12.1

Show that the mathematical model of an arbitrary robotic mechanical system, whether holonomic or nonholonomic, with r rigid bodies and n degrees of freedom, can be cast in the general form

where

$$\boldsymbol{\theta }$$: the m-dimensional vector of variables associated with all joints, actuated and unactuated;

$$\dot{\boldsymbol{\theta }}_{a}$$: the n-dimensional vector of actuated joint variables, n ≤ m;

$${\boldsymbol{\tau }}^{A}$$: the n-dimensional vector of actuator torques;

$$\boldsymbol{\gamma }$$: the n-dimensional vector of gravity torques;

$$\boldsymbol{\delta }$$: the n-dimensional vector of dissipative torques;

$$\mathbf{I}(\boldsymbol{\theta })$$: the n × n matrix of generalized inertia;

$$\mathbf{C}(\boldsymbol{\theta },\dot{ \boldsymbol{\theta } }_{a } )$$: the n × n matrix of Coriolis and centrifugal forces;

with $$\mathbf{I}(\boldsymbol{\theta })$$ and $$\mathbf{C}(\boldsymbol{\theta },\dot{\boldsymbol{\theta }}_{a})$$ given by

in which

M:

the 6r × 6r matrix of system mass;

T:

the n × 6r twist-shaping matrix that maps the n-dimensional vector of actuated joint rates into the 6r-dimensional vector of system twist t;

W:

the 6r × 6r matrix of system angular velocity.

12.2

For the system of Exercise 12.1, show that the matrix difference $$\dot{\mathbf{I}}(\boldsymbol{\theta },\dot{\boldsymbol{\theta }}_{a}) - 2\mathbf{C}(\boldsymbol{\theta },\dot{\boldsymbol{\theta }}_{a})$$ is skew-symmetric. This is a well-known result for holonomic systems (Spong et al. 2006).

12.3

For the rolling robot with conventional wheels of Sect. 12.5.1, find the generalized inertia matrix of the robot under the maneuvers described below:

(a)

pure translation;

(b)

midpoint of segment O ₁ O ₂ stationary.

In each case, give a physical interpretation of the matrix thus obtained.

12.4

With reference to the same robot of Exercise 12.3, state the conditions on its geometric parameters that yield I w and I p isotropic, these two 2 × 2 matrices having been defined in Sect. 12.5.1.

12.5

Derive the mathematical model governing the motion of a two-dof rolling robot with conventional wheels, similar to that of Fig. 10.​17, but with two caster wheels instead. The vertical axes of the caster wheels are a distance l apart and a distance a + b from the common axis of the driving wheels. What is the characteristic length of this robot?

12.6

Find the conditions under which the three-wheeled robot with omnidirectional wheels analyzed in Sect. 12.5.2 has an isotropic inertia matrix. Discuss the advantages of such an inertially isotropic robot.

12.7

With reference to the omnidirectional robot of Sect. 12.5.2, show that the mathematical model can be manipulated to yield a single first-order ordinary differential equation in ω, of the form

in which k is a constant with units of frequency, its inverse being the time-constant of the system. Find expressions for k and f(t). Then, integrate the above equation in closed form, to obtain the time-history of ω for a given time-history f(t) and given initial condition ω(0).

12.8

Establish the conditions on the actuated joint rates under which the three-wheeled robot with omnidirectional wheels of Sect. 12.5.2 undergoes pure translation. Under these conditions, the robot has only two degrees of freedom and, hence, a 2 × 2 inertia matrix. Derive an expression for its inertia matrix. Hint: The constraint for pure translation can be written as

and hence, if the 3 × 2 matrix L is an orthogonal complement of a , i.e., if $${\mathbf{a}}^{T}\mathbf{L} = \mathbf{0}_{2}^{T}$$ , where 0 ₂ is the two-dimensional zero vector, then the underlying Euler–Lagrange equations of the constrained system can be derived by multiplying the two sides of the mathematical model found in Sect. 12.5.2 by L T :

Further, upon writing $$\dot{\boldsymbol{\theta }}_{a}$$ as a linear transformation of a two-dimensional vector u , namely, as

we obtain

and hence, the generalized inertia matrix under pure translation is $${\mathbf{L}}^{T}\mathbf{I}\mathbf{L}$$.

12.9

Find the maneuver(s) under which the Coriolis and centrifugal forces of the robot analyzed in Sect. 12.5.2 vanish. Note that in general, these forces do not vanish, even though the generalized inertia matrix of the robot is constant.

12.10

Find the eigenvalues and eigenvectors of the matrix of generalized inertia of the three-dof rolling robot with omnidirectional wheels analyzed in Sect. 12.5.2.

12.11

The Euler–Lagrange equations derived for holonomic mechanical systems in Sect. 12.3, termed the Euler–Lagrange equations of the second kind, require that the generalized coordinates describing the system be independent. In nonholonomic mechanical systems, a set of kinematic constraints is not integrable, which prevents us from solving for dependent from independent generalized coordinates, the application of the Euler–Lagrange equations as described in that section thus not being possible. However, dependent generalized coordinates can be used if the Euler–Lagrange equations of the first kind are recalled. To this end, we let q be the m-dimensional vector of generalized coordinates that are subject to p differential constraints of the form

where A is a p × m matrix of constraints and b is a p-dimensional vector depending on the configuration q and, possibly, on time explicitly. When b does not contain t explicitly, the constraints are termed scleronomic; otherwise, rheonomic. Furthermore, let n ≡ m − p be the mobility of the system. The Euler–Lagrange equations of the first kind of the system at hand take on the form

where $$\boldsymbol{\lambda }$$ is a p-dimensional vector of Lagrange multipliers that are chosen so as to satisfy the kinematic constraints. Thus, we regard the m dependent generalized coordinates grouped in vector q as independent, their constraints giving rise to the constraint forces $${\mathbf{A}}^{T}\boldsymbol{\lambda }$$.

Use the Euler–Lagrange equations of the first kind to set up the mathematical model of the rolling robot with omnidirectional wheels studied in Sect. 12.5.2.

References

Angeles, J., 1994, “On twist and wrench generators and annihilators”, in Seabra Pereira, M.F.O., and Ambrósio, J.A.C. (editors), Computer-Aided Analysis of Rigid and Flexible Mechanical Systems, Kluwer Academic Publishers, Dordrecht.

Brand, L., 1965, Advanced Calculus, John Wiley & Sons, New York.

Harary, F., 1972, Graph Theory, Addison-Wesley Publishing Company, Reading, MA.

Pfeiffer, F., Eltze, J., and Weidemann, H.-J., 1995, “The TUM walking machine”, Intelligent Automation and Soft Computing. An International Journal, 1, no. 3, pp. 307–323.

Spong, M.W., Hutchinson, S., and Vidyasagar, M., 2006, Robot Modeling and Control, John Wiley & Sons, Inc., Hoboken, NJ.

Török, J.S., 2000, Analytical Mechanics with an Introduction to Dynamical Systems, John Wiley & sons, Inc., New York.

Footnotes

1

$$\boldsymbol{\Theta }$$ is not to be confused with the matrix defined in Eqs. (10.54a and b).

© Springer International Publishing Switzerland 2014

Jorge AngelesFundamentals of Robotic Mechanical SystemsMechanical Engineering Series12410.1007/978-3-319-01851-5_13

Erratum

Erratum

Jorge Angeles1 

(1)

Department of Mechanical Engineering Centre for Intelligent Machines (CIM), McGill University, Montreal, QC, Canada

The online version of the original Book can be found at http://​dx.​doi.​org/​10.​1007/​978-3-319-01851-5

The publisher regrets the error in the print and online versions of this book. Listed below are the corrections.

Introduction: In order to ease the finding of items in this document, we have kept the page format and the original fonts of the book; we have also typeset with typewriter font--the one used in this Introduction--text that does not belong to the book.

p. 93: The correct matrix [R ₂]c is

p. 129: Line below Eq. (3.133a): in light of Eq. (2.39), should read: in light of Eq. (2.40)

p. 137: In Exercise 3.20, the expression for MA is faulty. The correct expression is

MA = M C + mPPT

p. 144: The last line of text, “One thus has, using subscripted brackets as introduced in Sect. 2.2,”, should read:

“One thus has, using subscripted brackets as introduced in Sect. 2.3,”

p. 171: The third line of text below eq. (4.33), “From Definition 2.2.1, then [u]1 = [e7]1 = [e6]1”, should read:

“From Definition 2.2.1, then [u]₁ = [e ₇]₁ = [e6]₁”

p. 178: The correct expression for Q₁₂₃ is

[e₆]₄ should read:

θ4,2 should be

p. 182: The caption of Fig. 4.26 is faulty. The correct caption is Motoman-EA1400N welding robot: (a) top view; (b) side view; (c) orthographic projection; (d) view A, as per side view; (e) view B, as per side view. All dimensions in mm

p. 200 Where it reads: (b) the moments of the three lines about any point on the intersecting line are all zero, the correct wording should read:

(b) the moments of the three lines with respect to the intersecting line are all zero.

p. 202: The expression for α is faulty. The correct expression is

Please refer to Appendix A for details.

p. 211: Where it reads: with τa and τw defined as the wrist and the arm torques, respectively, the correct wording should read:

with τa and τw defined as the arm and the wrist torques, respectively.

p. 219: Equation (5.67c) should read:

p. 291: The second line of the expression for $$ \ddot{\rm c}_3 $$ should read:

p. 321: Caption of Fig. 7.7 should read:

Mass-center location of the robot of Fig. 4.17

p. 324: The second line of the expression for $$ \dot{\rm t}_{11} $$ should read:

The second line of the expression for $$ \dot{\rm t}_{21} $$ should read:

The fourth line of the expression for $$ \dot{\rm t}_{31} $$ should read:

The second line of the expression for $$ \dot{\rm t}_{32} $$ should read:

p. 325: Entry (3,1) of matrix T T M $$ \dot{\rm T} $$ is flawed. The correct expression for this matrix is:

p. 326: Entries (1,3), (2,3) and (3,1) of matrix $$ \dot{\rm I} $$ are faulty. The correct expression of the matrix is:

p. 327: The second-to-last line of text, “Now we have”, should read:

“Now, thematrix C of Coriolis and centrifugal forces is obtained as shown below:”

The last equation displayed should read:

p. 328 Entry (1,1) of matrix A is flawed. The correct expression is

The first entry of the vector array in the second equation display has a “(1/2)” too much. The correct display is

p. 329: The second line of the expression for $$ \ddot{\rm c}_3 $$ has an “D” too much. It should read:

The expressions for f P ₂ , n P ₂ , and f P ₁ are faulty. They should read:

p. 330: The second equation display, that of τ ₁, is faulty. The correct expression reads:

The first component of vector C.(θ, $$\ddot{\theta} $$)$$\ddot{\theta} $$ is faulty. The correct expression is

Appendix A

FIGURE 1.

Elbow singularity of the Puma robot

With reference to the figure above, the relations below can be derived:

Appendix A: Kinematics of Rotations: A Summary

The purpose of this appendix is to outline proofs of some results in the realm of kinematics of rotations that were invoked in the preceding chapters. Further details are available in the literature (Angeles  1988 ).

We start by noticing two preliminary facts whose proof is straightforward, as the reader is invited to verify.

Lemma A.1.

The (d∕dt)( ⋅ ) and the vect ( ⋅ ) operators, for 3 × 3 matrix operands, commute.

and

Lemma A.2.

The (d∕dt)( ⋅ ) and the tr ( ⋅ ) operators, for n × n matrix operands, commute.

Furthermore, we have

Theorem A.1.

Let A and S both be 3 × 3 matrices, the former arbitrary, the latter skew-symmetric. Then ,

where $$\mathbf{s} \equiv \mathrm{ vect}(\,\mathbf{S}\,)$$ .

Proof.

An invariant proof of this theorem appears elusive, but a componentwise proof is straightforward. Indeed, let a ij denote the ( i ,  j ) entry of A , and s i the i th component of s . Then,

Hence,

On the other hand,

and hence,

thereby completing the proof. Moreover, we have

Theorem A.2.

Let A , S , and s be defined as in Theorem  A.1 . Then ,

Proof.

From the above expression for S A ,

(A.1)

q.e.d.

Now we turn to the proof of the relations between the time-derivatives of the rotation invariants and the angular-velocity vector. Thus,

Theorem A.3.

Let $$\boldsymbol{\nu }$$ denote the four-dimensional array of natural rotation invariants, as introduced in Sect. 2.3.2 and reproduced below for quick reference:

Then the relationship between $$\dot{\boldsymbol{\nu }}$$ and the angular velocity $$\boldsymbol{\omega }$$ is given by

with N defined as

Proof.

Let us obtain first an expression for $$\dot{\mathbf{e}}$$ . This is readily done by recalling that e is the real eigenvector of Q , i.e.,

Upon differentiation of both sides of the foregoing equation with respect to time, we have

i.e.,

An expression for $$\dot{\mathbf{Q}}$$ can be derived from Eq. ( 3.​44 ), which yields

(A.2)

Therefore,

and hence, the above equation for $$\dot{\mathbf{e}}$$ takes the form

from which it is not possible to solve for $$\dot{\mathbf{e}}$$ because matrix ( 1 − Q ) is singular. Indeed, since both matrices inside the parentheses have an eigenvalue + 1, their difference has an eigenvalue 0, which renders this difference singular. Thus, one more relation is needed in order to be able to determine $$\dot{\mathbf{e}}$$ . This relation follows from the condition that $$\|{\mathbf{e}\|}^{2} = 1$$ . Upon differentiation of both sides of this condition with respect to time, we obtain

the last two equations thus yielding a system of four scalar equations to determine $$\dot{\mathbf{e}}$$ . We now assemble these equations into a single one, namely,

where A is a 4 × 3 matrix, while b is a four-dimensional vector, defined as

The foregoing overdetermined system of four equations in three unknowns now leads to a system of three equations in three unknowns if we multiply its two sides by A T from the right, thereby producing

We can therefore solve for $$\dot{\mathbf{e}}$$ from the above equation in the form

where A T A takes the form

But the sum inside the parentheses is readily identified as twice the symmetric component of Q , if we recall the Cartesian decomposition of matrices introduced in Eq. ( 2.​57 ). Therefore,

Hence,

As the reader can readily verify, the inverse of this matrix is given by

which fails to exist only in the trivial case in which Q becomes the identity matrix. Upon expansion of the last expression for $$\dot{\mathbf{e}}$$ , we have

Now Q T E is obtained by recalling Eq. ( 2.​55 ), thereby obtaining

the final expression for $$\dot{\mathbf{e}}$$ thus being

Now, an expression for $$\dot{\phi }$$ is obtained upon equating the trace of the two sides of Eq. ( A.2 ), which yields

(A.3)

From Lemma A.2,

(A.4)

and hence,

On the other hand, from Theorem A.2,

Therefore,

Upon assembling the expressions for $$\dot{\mathbf{e}}$$ and $$\dot{\phi }$$ , we obtain the desired relation, with N given as displayed above, thereby proving the theorem.

Theorem A.4.

Let $$\boldsymbol{\lambda }$$ denote the four-dimensional array of linear rotation invariants, as introduced in Sect. 2.3.3 and reproduced below for quick reference:

Then the relationship between $$\dot{\boldsymbol{\lambda }}$$ and the angular velocity is given by

with L defined as

Proof.

From Lemma A.1, we have

(A.5)

On the other hand, equating the vectors of the two sides of Eq. ( A.2 ) yields

and hence,

But, if we recall Theorem A.1, the foregoing relation leads to

Likewise, from Lemma A.2, we have

and hence,

Now, if we recall Theorem A.2, the foregoing relation leads to

Hence,

Upon assembling the last two expressions for the time-derivatives of the vector of Q and cos ϕ , we obtain the desired relation.

Theorem A.5.

Let $$\boldsymbol{\eta }$$ denote the four-dimensional array of the Euler–Rodrigues parameters of a rotation, as introduced in Sect. 2.3.6 and reproduced below for quick reference:

Then, the relationship between $$\dot{\boldsymbol{\eta }}$$ and the angular velocity takes the form

with H defined as

where R is the cross-product matrix of r .

Proof.

If we differentiate r , we obtain

and hence, all we need to derive the desired relations is to find expressions for $$\dot{\mathbf{e}}$$ and $$\dot{\phi }$$ in terms of the Euler–Rodrigues parameters. Note that from Theorem A.3, we already have those expressions in terms of the natural invariants. Thus, substitution of the time-derivatives of the natural invariants, as given in Theorem A.3, into the above expression for $$\dot{\mathbf{r}}$$ leads to

(A.6)

Now, by recalling the identities giving the trigonometric functions of ϕ in terms of those of ϕ ∕2, we obtain

and hence, the term in brackets of the above expression vanishes, the expression for $$\dot{\mathbf{r}}$$ thus reducing to

thereby completing the proof.

Appendix B: Numerical Equation-Solving

The numerical solution of the most common types of systems of linear and nonlinear equations is outlined in this appendix.

We start with the solution of the linear algebraic system

(B.1)

with A defined as a full-rank m × n matrix, while x and b are n - and m -dimensional vectors, respectively. The case m  =  n is the most frequently encountered; this case was discussed in Sect.  5.​2 and need not be further discussed. We will consider only two cases:

(a)

overdetermined: m  >  n ; and

(b)

underdetermined: m  <  n .

The overdetermined case does not admit a solution, unless vector b happens to lie in the range of A . Besides this special case, then, we must reformulate the problem; rather than seeking a solution of Eq. ( B.1 ), we will look for an approximation of that system of equations. Moreover, we will seek an approximation that will satisfy an optimality condition.

The underdetermined case, on the contrary, admits infinitely many solutions, the objective then being to seek one that satisfies (a) the system of equations and (b) an additional optimality condition as well.

A nonlinear system of equations takes the form

where f and x are m - and n -dimensional vectors, respectively, while 0 m is the m -dimensional zero vector. We consider the cases:

(a)

determined: m  =  n ; and

(b)

overdetermined: m  >  n .

The underdetermined case m  <  n , not occurring in the book, and requiring specialized knowledge of mathematical programming, is left out.

We study each of the two cases above in the sections below.

B.1 The Overdetermined Linear Case

The error e in the approximation of Eq. ( B.1 ) is defined as

(B.2)

An obvious way of imposing an optimality condition on the solution x is to specify that this solution minimize a norm of e . All norms of e can be expressed as

(B.3)

with e k being understood as the k th component of the m -dimensional vector e . When p  = 2, the foregoing norm is known as the Euclidean norm , which we have used most frequently in this book. When $$p \rightarrow \infty$$ , the infinity norm , also known as the Chebyshev norm , is obtained. It turns out that upon seeking the value of x that minimizes a norm of e , the simplest is the Euclidean norm, for the minimization of its square leads to a linear system of equations whose solution can be obtained directly , as opposed to iteratively . Indeed, let us set up the minimization problem below:

(B.4)

The normality condition of the minimization problem at hand is derived upon setting the gradient of z with respect to x equal to zero, i.e.,

(B.5)

Now, the chain rule and the results of Sect.  2.​3.​1 allow us to write

(B.6)

and hence, we have the first result:

Theorem B.1.

The error in the approximation of Eq. ( B.1 ) , for the full-rank m × n matrix A , with m > n, is of minimum Euclidean norm if it lies in the null space of  A T :

(B.7)

Furthermore, if Eq. ( B.2 ) is substituted into Eq. ( B.6 ), and the product thus resulting is substituted, in turn, into the normality condition, we obtain

(B.8)

which is known as the normal equation of the minimization problem at hand. By virtue of the assumption on the rank of A , the product A T A is positive-definite and hence, invertible. As a consequence, the value x ₀ of x that minimizes the Euclidean norm of the approximation error of the given system is

(B.9)

the matrix coefficient of b being known as a generalized inverse of A . The error obtained with this value is known as the least-square error of the approximation, i.e.,

(B.10)

The reader should be able to prove one more result:

Theorem B.2 (Projection Theorem).

The least-square error e ₀ is orthogonal to  A x ₀ .

While the formula yielding the foregoing generalized inverse is quite simple to implement, the number of floating-point operations (flops) it takes to evaluate, along with the ever-present roundoff errors in both the data and the results, renders it not only inefficient, but also unreliable if applied as such. Indeed, if we recall the concept of condition number, introduced in Sect.  5.​8 and recalled in Sect.  9.​4.​1 , along with the definition adopted in the latter for the condition number, it becomes apparent that the condition number of A T A is exactly the square of the condition number of A . This result can be best understood if we apply the Polar-Decomposition Theorem, introduced in Sect.  5.​8 , to rectangular matrices, but we will not elaborate on this issue here.

As a consequence, then, even if A is only slightly ill-conditioned, the product A T A can be catastrophically ill-conditioned. Below we outline two procedures to calculate efficiently the least-square approximation of the overdetermined system ( B.1 ) that preserve the condition number of A and do this with a low number of flops (floating-point operations).

B.1.1 The Numerical Solution of an Overdetermined System of Linear Equations

In seeking a numerical solution of the system of equations at hand, we would like to end up with a triangular system, similar to the LU-decomposition applied to solve a system of as many equations as unknowns, and hence, we have to perform some transformations either on the rows of A or on its columns. A safe numerical procedure should thus preserve (a) the Euclidean norm of the columns of A and (b) the inner product between any two columns of this matrix. Hence, a triangularization procedure like LU-decomposition would not work, because this does not preserve inner products. Obviously, the transformations that do preserve these inner products are orthogonal, either rotations or reflections. Of these, the most best-known methods are (a) the Gram–Schmidt orthogonalization procedure and (b)  Householder reflections .

The Gram–Schmidt procedure consists in regarding the columns of A as a set of nm -dimensional vectors $$\{\,\mathbf{a}_{k}\,\}_{1}^{n}$$ . From this set, a new set $$\{\,\mathbf{e}_{k}\,\}_{1}^{n}$$ is obtained that is orthonormal . The procedure is quite simple and works as follows: Define e ₁ as

(B.11)

Further, we define e ₂ as the normal component of a ₂ onto e ₂ , as introduced in Eq. (2.6b), i.e.,

(B.12a)

(B.12b)

In the next step, we define e ₃ as the unit vector normal to the plane defined by e ₁ and e ₂ and in the direction in which the inner product $$\mathbf{e}_{3}^{T}\mathbf{a}_{3}$$ is positive, which is possible because all vectors of the set $$\{\,\mathbf{a}_{k}\,\}_{1}^{m}$$ have been assumed to be linearly independent—remember that A has been assumed to be of full rank. To this end, we subtract from a ₃ its projection onto the plane mentioned above, i.e.,

(B.13a)

(B.13b)

and so on, until we obtain e n −1 , the last unit vector of the orthogonal set, e n , being obtained as

(B.14a)

Finally,

(B.14b)

In the next stage, we represent all vectors of the set $$\{\,\mathbf{a}_{k}\,\}_{1}^{n}$$ in orthogonal coordinates , i.e., in the base $$\mathcal{O} =\{\, \mathbf{e}_{k}\,\}_{1}^{n}$$ , which are then arranged in an m × n array A o . By virtue of the form in which the set $$\{\,\mathbf{e}_{k}\,\}_{1}^{n}$$ was defined, the last m − k components of vector a k vanish. We thus have, in the said orthonormal basis,

(B.15a)

Further, we represent b in $$\mathcal{O}$$ as well, thus obtaining

(B.15b)

Therefore, Eq. ( B.1 ), when expressed in $$\mathcal{O}$$ , becomes

(B.16)

whence x can be computed by back-substitution. It is apparent, then, that the last m − n equations of the foregoing system are incompatible: their left-hand sides are zero, while their right-hand sides are not necessarily so. What the right-hand sides of these equations represent, then, is the approximation error in orthogonal coordinates. The error Euclidean norm is, then,

(B.17)

The second method discussed here is based on the application of a chain of n reflections $$\{\,\mathbf{H}_{k}\,\}_{1}^{n}$$ , known as Householder reflections , to both sides of Eq. ( B.1 ). The purpose of these reflections is, again, to obtain a representation of matrix A in upper-triangular form (Golub and Van Loan  1989 ). The algorithm proceeds as follows: We assume that we have applied reflections H ₁ , H ₂ , … , H k −1 , in this order, to A that have rendered it in upper-trapezoidal form , i.e.,

(B.18)

The next Householder reflection, H i , is determined so as to render the last m − i components of the i th column of $$\mathbf{H}_{i}\mathbf{A}_{i-1}$$ equal to zero, while leaving its first i − 1 columns unchanged. We do this by setting

where sgn( x ) is defined as + 1 if x  > 0, as − 1 if x  < 0, and is left undefined when x  = 0. As the reader can readily verify,

and hence, the denominator appearing in the expression for H i is calculated with one single addition and one single multiplication. It is noteworthy that H i , as defined above, is the n × n counterpart of the 3 × 3 pure reflection defined in Eq. ( 2.​5 ). As a matter of fact, H i reflects vectors in m -dimensional space onto a hyperplane of unit normal $$\mathbf{u}_{i}/\|\mathbf{u}_{i}\|$$ .

It is important to realize that

(a)

α i is defined with the sign of a ii ∗ because γ i is a multiple of the i th component of u i , which is, in turn, the sum of a ii ∗ and α i , thereby guaranteeing that the absolute value of this sum will always be greater than the absolute value of each of its terms. If this provision were not made, then the resulting sum could be of a negligibly small absolute value, which would thus render γ i a very small positive number, thereby introducing unnecessarily an inadmissibly large roundoff-error amplification upon dividing the product $$\mathbf{u}_{i}\mathbf{u}_{i}^{T}$$ by γ i ;

(b)

an arbitrary vector v is transformed by H i with unusually few flops, namely,

Upon application of the n Householder reflections thus defined, the system at hand becomes

(B.19)

with H defined as

(B.20)

Similar to that in equation ( B.16 ), the matrix coefficient of x in Eq. ( B.19 ), i.e., H A , is in upper-triangular form. That is, we have

(B.21)

with $$\mathbf{O}_{{m}^{{\prime}}n}$$ denoting the ( m − n ) × n zero matrix, $${m}^{{\prime}}\equiv m - n$$ , and b U and b L being n - and m ′ -dimensional vectors. The unknown x can thus be calculated from Eq. ( B.19 ) by back-substitution.

Note that the last m ′ components of the left-hand side of Eq. ( B.19 ) are zero, while the corresponding components of the right-hand side of the same equation are not necessarily so. This apparent contradiction can be resolved by recalling that the overdetermined system at hand in general has no solution. The lower part of b , b L , is then nothing but an m ′ -dimensional array containing the nonzero components of the approximation error in the new coordinates. That is, the least-square error, e ₀ , in these coordinates takes the form

(B.22a)

Therefore,

(B.22b)

B.2 The Underdetermined Linear Case

In this section we study the solution of system ( B.1 ) under the assumption that m  <  n and rank( A ) =  m . Now, the system under study admits infinitely many solutions, which allows us to impose one condition on a specific solution that we may want to obtain. The obvious choice is a minimality condition on a norm of x . As in the previous section, the minimization of the square of the Euclidean norm of x leads to a linear problem, and hence, a direct solution of the problem at hand is possible. We thus have

(B.23)

subject to the constraint represented by Eq. ( B.1 ). Since we now have a constrained minimization problem , we proceed to its solution via Lagrange multipliers . That is, we introduce a new objective function ζ ( x ), defined as

(B.24)

subject to no constraints , with $$\boldsymbol{\lambda }$$ defined as an m -dimensional vector of Lagrange multipliers, as yet to be determined. We thus have now an unconstrained minimization problem with m + n design variables , the m components of $$\boldsymbol{\lambda }$$ and the n components of x , that we group in the ( m + n )-dimensional vector $$\mathbf{y} \equiv {[\,{\mathbf{x}}^{T}\quad {\boldsymbol{\lambda }}^{T}\,]}^{T}$$ . The normality condition of the foregoing problem can now be stated as

(B.25a)

with 0 m + n defined as the ( m + n )-dimensional zero vector. The above condition can be broken down into the two conditions below:

with 0 m and 0 n defined, respectively, as the m - and n -dimensional zero vectors. The above equations thus lead to

(B.26)

(B.27)

Upon elimination of $$\boldsymbol{\lambda }$$ from the above system of equations, we obtain

(B.28)

which is the minimum-norm solution of the proposed problem. Again, the formula yielding the foregoing solution is deceptively simple. If we attempt the calculation of the inverse occurring in it, we risk introducing unnecessarily an inadmissibly ill-conditioned matrix, the product A A T . Therefore, an alternative approach to the straightforward implementation of the above formula should be attempted, as we do in the subsection below.

B.2.1 The Numerical Solution of an Underdetermined System of Linear Equations

The simplest way of solving this problem is by introducing the m × m identity matrix 1 , in a disguised manner, between the two factors of the left-hand side of Eq. ( B.1 ). To this end, we assume that we have an orthogonal m × m matrix H , so that

(B.29)

Equation ( B.1 ) thus becoming

(B.30a)

which can be rewritten in the form

(B.30b)

with v defined, obviously, as

(B.30c)

Now, H is chosen as the product of m Householder reflections that transforms A T into upper-triangular form, i.e., so that

(B.31)

with $$\mathbf{O}_{{n}^{{\prime}}m}$$ defined as the n ′ × m zero matrix and $${n}^{{\prime}}\equiv n - m$$ . Moreover, U is upper-triangular. Further, let us partition v in the form

(B.32)

Upon substitution of Eqs. ( B.31 ) and ( B.32 ) into Eq. ( B.30b ), we obtain

where $$\mathbf{O}_{m{n}^{{\prime}}}$$ is the $$m \times {n}^{{\prime}}$$ zero matrix. Hence,

(B.33)

whence it is apparent that v L can attain any value. Now, since v is the image of x under an orthogonal transformation, the Euclidean norms of these two vectors are identical, and hence,

(B.34)

Therefore, if we want to minimize the Euclidean norm of x , the obvious choice of v L is zero. Furthermore, from Eq. ( B.33 ),

(B.35)

and so,

(B.36)

with $$\mathbf{0}_{{n}^{{\prime}}}$$ denoting the n ′ -dimensional zero vector, thereby completing the numerical solution of the problem at hand.

B.3 Nonlinear-Equation Solving: The Determined Case

Definition B.3.1.

A system of algebraic equations containing some that are not linear is termed nonlinear . If the number of equations is identical to the number of unknowns, the system is determined.

Example.

Find the intersection of the circle and the hyperbola depicted in Fig.  B.1 .

Fig. B.1

Intersection of a circle and a hyperbola

Table B.1

The four intersection points of the circle and the hyperbola of Fig.  B.1

P i

x i

y i

1

2

3

4

Solution: The equations of the circle and the hyperbola are

The solution to a nonlinear system of equations, when one exists at all, is usually multiple : The circle and the hyperbola of Fig.  B.1 intersect at four points $$\{P_{i}\}_{1}^{4}$$ , of coordinates ( x i ,  y i ), as displayed in Table  B.1 . The problem may have no real solution , e.g., the circle and the hyperbola of Fig.  B.2 do not intersect. The system of equations from which the coordinates of the intersection points are to be computed is given below:

This system of equations admits no real solution!

Fig. B.2

A circle and a hyperbola that do not intersect

In general, a determined nonlinear system of equations takes the form

(B.37)

where x and f are both n -dimensional vectors:

(B.38)

B.3.1 The Newton–Raphson Method

We outline below the method of solution of determined nonlinear systems using the Newton–Raphson method. This is an iterative method , whereby a sequence of approximations is obtained that, if converging, approaches the solution in a finite number of iterations within a prescribed tolerance .

A value x ⁰ of x is given as an initial guess :

and f is evaluated at x ⁰ :

If the value x ⁰ was chosen randomly, most likely it will not verify the given system of equations, i.e.,

Next, we look for a “small” increment $$\Delta \mathbf{x}$$ of x (the increment is small if its norm—any norm—is small):

Now, $$\mathbf{f}({\mathbf{x}}^{0} + \Delta \mathbf{x})$$ is evaluated up to its linear approximation (all quadratic and higher-order terms are dropped from its series expansion):

(B.39)

The Jacobian matrix of f with respect to x is defined as the matrix of partial derivatives of the components of f with respect to all the components of x :

(B.40)

In the next step, we find $$\Delta \mathbf{x}$$ that renders zero the linear approximation of  $$\mathbf{f}(\mathbf{x}_{0} + \Delta \mathbf{x})$$ :

or

(B.41)

whence $$\Delta \mathbf{x}$$ can be found using, for example, Gaussian elimination:

(B.42)

Next, x is updated:

(B.43)

the procedure stopping when

(B.44)

for a prescribed tolerance ε x .

Remarks.

Use the maximum norm to test convergence in Eq. ( B.44 ), for it costs virtually nothing;

no guarantee that the Newton–Raphson method will converge at all;

whether the Newton–Raphson method converges is dependent upon the initial guess, x ⁰ ;

the boundary between regions of convergence and divergence is a fractal (Mandelbrot  1983 ; Gleick  1988 );

when the Newton–Raphson method converges, it does so quadratically : At every iteration, two decimal places of accuracy are gained (Dahlquist and Björck  1974 ).

B.4 Overdetermined Nonlinear Systems of Equations

A system of nonlinear equations of the form

(B.45)

where x is a n -dimensional vector and f is a q -dimensional vector, is overdetermined if q  >  n . Just as in the linear case, in general, no vector x can be found that verifies all the q scalar equations of the system. However, approximations can be found that minimize the least-square error of the approximation, as described in the balance of this Section. The method of solution adopted here is the overdetermined counterpart of the Newton–Raphson method.

B.4.1 The Newton–Gauss Method

Problem.

Find an approximate solution to system ( B.45 ) that verifies those equations with the least-square error :

(B.46)

where W is a q × q positive-definite weighting matrix .

Solution: We follow a procedure similar to Newton–Raphson’s, which is known as the Newton–Gauss method , as described below:

First, an initial guess x ⁰ of x is given; then, we produce the sequence

(B.47)

such that

(B.48)

Calculation of $$\Delta {\mathbf{x}}^{k}$$ :

Factor W into its two Cholesky factors:

(B.49)

which is possible because W is assumed positive-definite.

Compute $$\Delta {\mathbf{x}}^{k}$$ as the least-square solution of the unconstrained overdetermined linear system

(B.50)

with F ( x ) defined as the q × n Jacobian matrix of the vector function f ( x ), i.e.,

(B.51)

Dropping superscripts for the sake of notation-simplicity and recalling Eqs. ( B.7 ) and ( B.8 ),

(B.52)

This procedure is iterative, stopping when a convergence criterion , discussed in Sect.  B.4.2 , is met.

B.4.2 Convergence Criterion

Calculate first ∇ F ( x ):

(B.53)

(B.54)

Hence, the condition for a stationary point is

(B.55)

which is the normality condition of Problem ( B.46 ).

It is thus apparent that, at a stationary point of F , f ( x ) need not vanish ; however, f ( x ) must lie in the null space of F T W . Moreover, from Eqs. ( B.52 ) and ( B.55 ) follows that, at a stationary point, $$\Delta \mathbf{x}$$ vanishes. Hence, the convergence criterion is

(B.56)

where ε is a prescribed tolerance.

Remarks.

The normality condition ( B.55 ) alone does not guarantee a minimum, but only a stationary point .

However, as it turns out, if the procedure converges, then it does so, to a second-order approximation, to a minimum, and neither to a maximum nor a to saddle point, as we prove below.

The sequence F ( x ⁰ ), F ( x ¹ ), …, F ( x k ), F ( x k +1 ), …, obtained from the sequence of x values, evolves, to a first order, as $$\Delta F(\mathbf{x})$$ , given by

(B.57)

i.e.,

(B.58)

Upon plugging expression ( B.52 ) of $$\Delta \mathbf{x}$$ into eq. ( B.58 ), we obtain

(B.59)

where, apparently, M is a q × q positive-definite matrix. As a consequence, f T M f becomes a positive-definite quadratic expression of f ; hence, $$\Delta F$$ is negative definite. Thus, the second-order approximation of F ( x ) is negative-definite, and hence, the sequence of F values decreases monotonically . That is, in the neighbourhood of a stationary point the first-order approximation of f ( x ) is good enough, and hence, if the procedure converges , it does so to a minimum .

The reader may wonder whether the Newton–Raphson method can be used to solve nonlinear least-square problems. Although the answer is yes , the Newton–Raphson method is not advisible in this case, as made apparent below.

Recall ∇ F from Eqs. ( B.46 ) and ( B.47 ):

(NC)

thereby obtaining a determined system of n equations in n unknowns. This system can be solved using Newton–Raphson method which requires $$\nabla \boldsymbol{\psi }(\mathbf{x})$$ :

That is, $$\nabla \boldsymbol{\psi }(\mathbf{x})$$ involves second-order derivatives of $$\boldsymbol{\psi }$$ with respect to x :

In summary, the Newton–Raphson method is too cumbersome and prone to ill-conditioning, for it is based on the normality conditions of the problem at hand.

References

Al-Widyan, K. and Angeles, J., 2004, “The robust design of Schönflies-motion generators,” in Lenarčič, J., and Galletti, C. (editors), On Advances in Robot Kinematics , Kluwer Academic Publishers, Dordrecht, pp. 339–350

Albala, H., 1982, “Displacement analysis of the N -bar, single-loop, spatial linkage. Part I: Underlying mathematics and useful tables”, and “Part II: Basic displacement equations in matrix and algebraic form”, ASME J. Mechanical Design 104, pp. 504–519, 520–525.

Alizade, R.A., Duffy, J., and Hajiyev, E.T., 1983, “Mathematical models for analysis and synthesis of spatial mechanism. Part IV: Seven-link spatial mechanisms”, Mechanism and Machine Theory 18, no. 5, pp. 323–328.

Allen, P.K., Michelman, P., and Roberts, K.S., 1989, “An integrated system for dextrous manipulation”, Proc. IEEE Int. Conf. on Robotics & Automation , Scottsdale, pp. 612–617.

Altmann, S.L., 1989, “Hamilton, Rodrigues, and the quaternion scandal. What went wrong with mathematical discoveries in the nineteenth century”, Mathematics Magazine 62, no. 5, pp. 291–308.

Angeles, J., 1982, Spatial Kinematic Chains. Analysis, Synthesis, Optimization , Springer-Verlag, Berlin.

Angeles, J., 1985, “On the numerical solution of the inverse kinematic problem”, The Int. J.  Robotics Res. 4, no. 2, pp. 21–37.

Angeles, J., 1988, Rational Kinematics , Springer-Verlag, New York.

Angeles, J., 1994, “On twist and wrench generators and annihilators”, in Seabra Pereira, M.F.O., and Ambrósio, J.A.C. (editors), Computer-Aided Analysis of Rigid and Flexible Mechanical Systems , Kluwer Academic Publishers, Dordrecht.

Angeles, J., 1998, “The Application of Dual Algebra to Kinematic Analysis,” in Angeles, J.  and Zakhariev, E. (editors), Computational Methods in Mechanical Systems , Springer-Verlag, Heidelberg, Vol. 161, pp. 3–31.

Angeles, J., 2005, “The degree of freedom of parallel robots: a group-theoretic approach,” Proc. IEEE International Conference on Robotics & Automation , Barcelona, Spain, April 18–22, pp. 1017–1024.

Angeles, J. and Etemadi Zanganeh, K., 1992, “The semigraphical solution of the direct kinematics of general platform manipulators,” Proc. ISRAM ’92. Fourth International Symposium on Robotics and Manufacturing , Nov. 11–13, Santa Fe, Vol. 4, pp. 5–52.

Angeles, J. and Etemadi Zanganeh, K., 1992a, “The semigraphical determination of all inverse kinematic solutions of general six-revolute manipulators”, Proc. 9th CISM-IFToMM Symp.on Theory and Practice of Robots and Manipulators , Sept. 1–4, Udine, pp. 23–32.

Angeles, J. and Etemadi Zanganeh, K., 1992b, “The semigraphical solutions of the direct kinematics of general platform manipulators”, Proc. 4th Int. Symp. Robotics and Manufacturing , Nov. 11–13, Santa Fe, vol. 4, pp. 45–52.

Angeles, J., Hommel, G., and Kovács, P., 1993, Computational Kinematics , Kluwer Academic Publishers, Dordrecht.

Angeles, J. and Lee, S., 1988, “The formulation of dynamical equations of holonomic mechanical systems using a natural orthogonal complement”, ASME J. Applied Mechanics 55, pp. 243–244.

Angeles, J. and Ma, O., 1988, “Dynamic simulation of n -axis serial robotic manipulators using a natural orthogonal complement”, The Int. J. Robotics Res. 7, no. 5, pp. 32–47.

Angeles, J., Ma, O., and Rojas, A.A., 1989, “An algorithm for the inverse dynamics of n -axis general manipulators using Kane’s formulation of dynamical equations”, Computers and Mathematics with Applications 17, no. 12, pp. 1545–1561.

Angeles, J., Morozov, A., and Navarro, O., 2000, “A novel manipulator architecture for the production of SCARA motions”, Proc. IEEE Int. Conf. Robotics and Automation , San Francisco, pp. 2370–2375. CD-ROM 00CH37065C, April 24–28.

Angeles, J., Rojas, A.A., and López-Cajún, C.S., 1988, “Trajectory planning in robotics continuous-path applications”, IEEE J. Robotics & Automation RA-4, pp. 380–385.

Angeles, J., Soucy, G. and Ferrie, F., 2000, “The online solution of the hand-eye problem,” IEEE Transactions on Robotics and Automation , Vol. 16, No. 6, pp. 720–731.

Azimi, A., Holz, D., Kövecses, J., Angeles, J. and Teichmann, M., 2012, “Efficient dynamics modeling for rover simulation on soft terrain,” Proc. 50th AIAA Aerospace Sciences Meeting , 9–12 January, Nashville, TN. Paper No. 084, pp. 1–9.

Balafoutis, C.A. and Patel, R.V., 1991, Dynamic Analysis of Robot Manipulators: A Cartesian Tensor Approach , Kluwer Academic Publishers, Dordrecht.

Bondy, M., Krishnasamy, R. Crymble, D. and Jasiobedzki, P., 2007, “Space vision marker system (SVMS),” AIAA SPACE 2007 Conference & Exposition , September 18–20, Long Beach, CA.

Borenstein, J., 1993, “Multi-layered control of a four-degree-of-freedom mobile robot with compliant linkage”, Proc. IEEE Int. Conf. on Robotics & Automation , Atlanta, pp. 7–12.

Bottema, O. and Roth, B., 1979, Theoretical Kinematics , North-Holland Publishing, Co., Amsterdam (also available as a 1990 Dover Publications book).

Brand, L., 1965, Advanced Calculus , John Wiley & Sons, New York.

Bricard, R., 1927, Leçons de Cinématique , Gauthier-Villars, Paris.

Bryson, Jr., A.E. and Ho, Y-C., 1975, Applied Optimal Control: Optimization, Estimation, and Control , Hemisphere Publishing Corporation, Washington, DC.

Burdick, J.W., 1995, “A classification of 3R regional manipulator singularities and geometries”, Mechanism and Machine Theory 30, no. 1, pp. 71–89.

Ceccarelli, M., 1995, “Screw axis defined by Giulio Mozzi in 1763”, Proc. Ninth World Congress on the Theory of Machines and Mechanisms , August 29–September 2, Milan, vol. 4, pp. 3187–3190.

Ceccarelli, M., 1996, “A formulation for the workspace boundary of general n -revolute manipulators”, Mechanism and Machine Theory 31, no. 5, pp. 637–646.

Charentus, S. and Renaud, M., 1989, Calcul du modèle géometrique directe de la plate-forme de Stewart , LAAS Report # 89260, Laboratoire d’Automatique et d’Analyse de Systèmes, Toulouse.

Chasles, M., 1830, “Notes sur les propriétés générales de deux corps semblables entr’eux et placés d’une manière quelconque dans l’espace, et sur le déplacement fini ou infiniment petit d’un corps solide libre”, Bull. Sci. Math. Ferrusaac 14, pp. 321–326.

Cheng, H. and Gupta, K.C., 1989, “An historical note on finite rotations”, ASME J. Applied Mechanics 56, pp. 139–142.

Chiang, C.H., 1988, Kinematics of Spherical Mechanisms , Cambridge University Press, Cambridge.

Chou, K.C.J. and Kamel, M., 1988, “Quaternions approach to solve the kinematic equation of rotation, $$A_{a}A_{x} = A_{x}A_{b}$$ , of a sensor-mounted robotic manipulator”, Proc. IEEE Int. Conf. on Robotics & Automation , Philadelphia, pp. 656–662.

Chou, K.C.J. and Kamel, M., 1991, “Finding the position and orientation of a sensor on a robot manipulator using quaternions”, The Int. J. Robotics Res. 10, no. 3, pp. 240–254.

Clavel, R., 1988, “Delta, a fast robot with parallel geometry”, Proc. 18th Int. Symposium on Industrial Robots , Lausanne, pp. 91–100.

Comerford, R., 1994, “Mecha…what?”, IEEE Spectrum , August, pp. 46–49.

Company, O., Pierrot, F., Shibukawa, T., and Morita, K., 2001, “Four-degree-of-freedom parallel robot,” European Patent No. EP1084802, March 21.

Coriolis, G.G., 1835. “Mémoire sur les équations du mouvement relatif des systèmes des corps”, J.Ecole Polytechnique 15, cahier 24, pp. 142–154.

Craig, J.J., 1989, Introduction to Robotics: Mechanics and Control , 2nd Edition, Addison-Wesley Publishing Company, Reading, MA.

CRC Standard Mathematical Tables , 1987, 28th Edition, CRC Press, Boca Raton, Fla.

Currie, I.G., 1993, Fundamental Mechanics of Fluids , 2nd Edition, McGraw-Hill Book Company, New York.

Dahlquist, G. and Björck, Å., 1974, Numerical Methods , Prentice-Hall, Englewood Cliffs, NJ.

Daniilidis, K., 1999, “Hand-Eye Calibration Using Dual Quaternions”, The Int. J. Robotics Res. 18, no. 3, pp. 286–298.

Darcovich, J., Angeles, J., Montagnier, P., and Wu, C.-J., 1999, “RVS: A Robot Visualization Software Package”, in Batoz, J.-L., Chedmail, P., Cognet, G., and Fortin, C. (editors), Integrated Design and Manufacturing in Mechanical Engineering , Kluwer Academic Publishers, Dordrecht, pp. 265–272.

De Luca, A. and Oriolo, G., 1995, “Modelling and control of nonholonomic mechanical systems”, in Angeles, J. and Kecskeméthy, A. (editors), Kinematics and Dynamics of Multi-Body Systems , Springer-Verlag, New York, pp. 277–342.

Denavit, J. and Hartenberg, R.S., 1955, “A kinematic notation for lower-pair mechanisms based on matrices”, ASME J. Applied Mechanics 22, pp. 215–221.

Dierckx, P., 1993, Curve and Surface Fitting with Splines , Clarendon Press, Oxford.

Dietmaier, P., 1998, “The Stewart-Gough platform of general geometry can have 40 real postures”, Proc. Sixth International Workshop on Advances in Robot Kinematics , Kluwer Academic Publishers, Dordrecht, pp. 7–16.

Duffy, J., 1980, Analysis of Mechanisms and Robot Manipulators , Edward Arnold, London.

Duffy, J. and Crane, C., 1980, “A displacement analysis of the general spatial 7-link, 7R mechanism”, Mechanism and Machine Theory 15, no. 3, pp. 153–169.

Duffy, J. and Derby, S., 1979, “Displacement analysis of a spatial 7R mechanism—A generalized lobster’s arm”, ASME J. Mechanical Design 101, pp. 224–231.

Ekvall, S. and Krajić, D., 2005, “Grasp Recognition for Programming by Demonstration,” Proc. 2005 IEEE International Conference on Robotics and Automation , Barcelona, Spain, April 18–22, pp. 760–765.

Etter, D.M., 1997, Engineering Problem Solving with Matlab , Prentice-Hall, Upper Saddle River, NJ.

Euler, L., 1776, “Nova methodus motum corporum rigidorum determinandi”, Novii Comentarii Academiæ Scientiarum Petropolitanæ , vol. 20 (1775) 1776, pp. 208–238 = Opera Omnia Vols. 2–9, pp. 99–125.

Everett, J.D., 1875, “On a new method in statics and kinematics”, Messenger of Mathematics 45, pp. 36–37.

Featherstone, R., 1983, “Position and velocity transformations between robot end-effector coordinates and joint angles”, The Int. J. Robotics Res. 2, no. 2, pp. 35–45.

Featherstone, R., 1987, Robot Dynamics Algorithms , Kluwer Academic Publishers, Dordrecht.

Foley, J.D. and Van Dam, A., 1982, Fundamentals of Interactive Computer Graphics , Addison-Wesley Publishing Company, Reading, MA.

Forsythe, G.E., 1970, “Pitfalls in computation, or why a math book isn’t enough”, American Mathematical Monthly 27, pp. 931–956.

Ge, Q.J. and Kang, D., 1995, “Motion interpolation with G ² composite Bézier motions”, ASME J. Mechanical Design 117, pp. 520–525.

Gear, C.W., 1971, Numerical Initial Value Problems in Ordinary Differential Equations , Prentice-Hall, Englewood Cliffs, NJ.

Gleick, J. 1988. Chaos: making a new science . New York, N.Y.,: Penguin.

Golub, G.H. and Van Loan, C.F., 1989, Matrix Computations , The Johns Hopkins University Press, Baltimore.

Gockel, T., Ahlmann, J., Dillmann, R., and Azad, P., 2005, “3D vision sensing for grasp planning: A new, robust and affordable structured light approach,” Proc. 2005 IEEE International Conference on Robotics and Automation , Barcelona, Spain, April 18–22, pp. 2540–2545.

Gogu, G., 2004, “Fully Isotropic T3R1-type parallel manipulators,” in Lenarčič, J. and Galletti, C. (editors), On Advances in Robot Kinematics , Kluwer Academic Publishers, Dordrecht, pp. 265–272.

Gosselin, C.M., Sefrioui, J., and Richard, M.J., 1992, “Solutions polynomiales au problème de la cinématique directe des manipulateurs parallèles plans à trois degrés de liberté”, Mechanism and Machine Theory 27, no. 2, pp. 107–119.

Gosselin, C.M., and Hadj-Messaoud, A., 1993, “Automatic planning of smooth trajectories for pick-and-place operations”, ASME Journal of Mechanical Design , Vol. 115, no. 3, pp. 450–456.

Gosselin, C.M., Sefrioui, J., and Richard, M.J., 1994a, “On the direct kinematics of spherical three-degree-of-freedom parallel manipulators with a coplanar platform”, ASME J. Mechanical Design 116, pp. 587–593.

Gosselin, C.M., Sefrioui, J., and Richard, M.J., 1994b, “On the direct kinematics of spherical three-degree-of-freedom parallel manipulators of general architecture”, ASME J. Mechanical Design 116, pp. 594–598.

Gosselin, C.M., Perreault, L., and Vaillancourt, C., 1995, “Simulation and computer-aided kinematic design of three-degree-of-freedom spherical parallel manipulators”, J. Robotic Systems 12, no. 12, pp. 857–869.

Gough, V.M., 1956–1957, “Communications”, Proc. Automobile Division of The Institution of Mechanical Engineers , pp. 166–168. See also “Discussion in London”, Proc. Automobile Division of The Institution of Mechanical Engineers , pp. 392–394.

Graham, D., 1972, “A behavioural analysis of the temporal organisation of walking movements in the 1st instar and adult stick insect ( Carausius morosus )”, J. Comp. Physiol. 81, pp. 23–25.

Halmos, P., 1974, Finite-Dimensional Vector Spaces , Springer-Verlag, New York.

Hamilton, W.R., 1844, “On quaternions: or a new system of imaginaries in algebra”, Phil. Mag. , 3rd. ser. 25, pp. 489–495.

Hanselman, D. and Littlefield, B., 2001, Mastering MATLAB 6. A Comprehensive Tutorial and Reference , Prentice-Hall, Upper-Saddle River, NJ.

Harary, F., 1972, Graph Theory , Addison-Wesley Publishing Company, Reading, MA.

Hartenberg, R.S. and Denavit, J., 1964. Kinematic Synthesis of Linkages , McGraw-Hill Book Company, New York.

Hayward, V., 1994, “Design of hydraulic robot shoulder based on combinatorial mechanism,” in Yoshikawa, T., and Miyazaki, F. (eds.), Experimental Robotics 3 , Lecture Notes in Control and Information Sciences 200, Springer-Verlag, New York, pp. 297–310. The Int. J. Robotics Res. 10, no. 5, pp. 767–790.

Henrici, P., 1964, Elements of Numerical Analysis , John Wiley & Sons, New York.

Hervé, J.M., 1999, “The Lie group of rigid body displacements, a fundamental tool for mechanism design,” Mechanism and Machine Theory , Vol. 34, pp. 719–730.

Hervé, J.M. and Sparacino, F., 1992, “Star, a new concept in robotics”, Proc. 3rd International Workshop on Advances in Robot Kinematics , September 7–9, Ferrara, pp. 176–183.

Hillier, F.S. and Lieberman, G.J., 1995, Introduction to Mathematical Programming , McGraw-Hill, New York.

Hirose, S., Masui, T., and Kikuchi, H., 1985, “Titan III: A quadruped walking vehicle”, in Hanafusa, H. and Inoue, X. (editors), Robotics Research 2, MIT Press, Cambridge, MA, pp. 325–331.

Hines, L.L., Arabagi, V. and Sitti, M., 2011, “Free flight simulations and pitch and roll control experiments of a sub-gram flapping-flight micro aerial vehicle,” 2011 IEEE Int. Conf. Robotics and Automation , Shanghai, China, May 9–13, Paper No. 0602.

Hollerbach, J.M., 1980, “A recursive Lagrangian formulation of manipulator dynamics and a comparative study of dynamic formulation complexity”, IEEE Trans. Systems, Man, and Cybernetics SMC-10, no. 11, pp. 730–736.

Hollerbach, J.M. and Sahar, G., 1983, “Wrist-partitioned inverse kinematic accelerations and manipulator dynamics”, The Int. J. Robotics Res. 2, no. 4, pp. 61–76.

Horaud, R. and Dornaika, F., 1995, “Hand-eye calibration”, The Int. J. Robotics Res. 14, no. 3, pp. 195–210.

Horn, B.K.P., 1986, Robot Vision , The MIT Press, Cambridge, MA.

Hoschek, J. and Lasser, D., 1992, Grundlagen der geometrischen Datenverarbeitung , B.G. Teubner, Stuttgart.

Hughes, P.C., Sincarsin, W.G., and Carroll, K.A., 1991, “Trussarm—a variable-geometry-truss manipulator”, J. of Intell. Mater. Syst. and Struct. 2, pp. 148–160.

Husty, M. L., 1996, “An algorithm for solving the direct kinematics of general Stewart-Gough platforms”, Mechanism and Machine Theory 31, no. 4, pp. 365–380.

Husty, M.L., Pfurner, M. and Schröcker, H.-P., 2007, “A new and efficient algorithm for the inverse kinematics of a general 6R manipulator,” Mechanism and Machine Theory , Vol. 42, No. 1, pp. 66–81.

Isidori, A., 1989, Nonlinear Control Systems , 2nd Edition, Springer-Verlag, Berlin.

Jacobsen, S.C., Iversen, E.K., Knutti, D.F., and Biggers, K.B., 1984, “The Utah/MIT dextrous hand: Work in progress”, The Int. J. Robotics Res. 3, no. 4, pp. 21–50.

Jacobsen, S.C., Iversen, E.K., Knutti, D.F., Johnson, R.T., and Biggers, K.B., 1986, “Design of the Utah/MIT dextrous hand”, Proc. IEEE Int. Conf. on Robotics & Automation , San Francisco, pp. 1520–1532.

Kahaner, D., Moler, C., and Nash, S., 1989, Numerical Methods and Software , Prentice-Hall, Englewood Cliffs, NJ.

Kahn, M. E. 1969. “The near-minimum time control of open-loop articulated kinematic chains”, AI Memo 177, Artificial Intelligence Laboratory, Stanford University, Stanford. Also see Kahn, M.E., and Roth, B., 1971, “The near-minimum-time control of open-loop articulated kinematic chains”, ASME J. Dyn. Systs., Meas., and Control , 91, pp. 164–172.

Kane, T.R., 1961, “Dynamics of nonholonomic systems”, ASME J. Applied Mechanics 83, pp. 574–578.

Kane, T.R. and Levinson, D.A., 1983, “The use of Kane’s dynamical equations in robotics”, The Int. J. Robotics Res. 2, no. 3, pp. 3–21.

Kane, T.R., Likins, P.W., and Levinson, D.A., 1983, Spacecraft Dynamics , McGraw-Hill Book Co., New York.

Kaye, R. and Wilson, R., 1998, Linear Algebra , Oxford University Press, New York.

Khalil, W. and Dombre, E., 2002, Modeling, Identification & Control of Robots , Hermes Penton Ltd., London.

Khalil, W., Kleinfinger, J.F., and Gautier, M., 1986, “Reducing the computational burden of the dynamical models of robots”, Proc. IEEE Int. Conf. on Robotics & Automation ,, San Francisco, pp. 525–531.

Khalil, W. and Dombre, E., 2002, Modeling, Identification & Control of Robots , Hermes Penton Ltd., London.

Khan, W. A. and Angeles, J., 2011, “A novel paradigm for the qualitative synthesis of simple kinematic chains based on complexity measures”, ASME J. of Mechanisms and Robotics , Vol. 3, No. 3, pp. 031010-1–031010-11.

Killough, S.M. and Pin, F.G., 1992, “Design of an omnidirectional and holonomic wheeled platform prototype”, Proc. IEEE Int. Conf. on Robotics & Automation ,, Nice, pp. 84–90.

Klein, C.A., Olson, K.W., and Pugh, D.R., 1983, “Use of force and attitude sensors for locomotion of a legged vehicle over irregular terrain”, The Int. J. Robotics Res. 2, no. 2, pp. 3–17.

Kumar A.V. and Waldron K.J., 1981, “The workspace of a mechanical manipulator”, ASME J.  Mechanical Design 103, pp. 665–672.

Latombe, J.-C., 1991, Robot Motion Planning , Kluwer Academic Publishers, Dordrecht.

Laliberté, T., Birglen, L. and Gosselin, C., 2002, “Underactuation in robotic grasping hands,” Japanese J. Machine Intelligence and Robotic Control , Special Issue on Underactuated Robots, Vol. 4, No. 3, pp. 77–87.

Lazard, D. and Merlet, J.-P., 1994, “The (true) Stewart platform has 12 configurations”, Proc. IEEE Int. Conf. on Robotics & Automation , San Diego, pp. 2160–2165.

Lee, C.C. and Lee, P.C., 2010, “Isoconstraned mechanisms for fast pick-and-place manipulation,” in Lou, Y. and Li, Z. (editors), Geometric Methods in Robotics and Mechanism Research , Lambert Academic Publishing, Saarbrücken, Germany, pp. 85–99.

Lee, H.Y. and Liang, C.G., 1988, “Displacement analysis of the general spatial seven-link 7R mechanism”, Mechanism and Machine Theory 23, no. 3, pp. 219–226.

Lee, H.Y. and Roth, B., 1993, “A closed-form solution of the forward displacement analysis of a class of in-parallel mechanisms”, Proc. IEEE Int. Conf. on Robotics & Automation , Atlanta, pp. 720–731.

Lee, T., Leok, M. and McClamroch, N.H., 2010, “Geometric tracking control of a quadrotor UAV on SE(3),” Proc. 49th IEEE Conf. Decision and Control , Dec. 15–17, Atlanta, GA.

Leigh, D.C., 1968, Nonlinear Continuum Mechanics , McGraw-Hill Book Company, New York.

Levine, M.D., 1985, Vision in Man and Machines , McGraw-Hill Book Company, New York.

Li, H., 1990, Ein Verfahren zur vollständigen Lösung der Rückwärtstransformation für Industrieroboter mit allgemeiner Geometrie , doctoral thesis, Universität-Gesamthochschule Duisburg, Duisburg.

Li, C.-J., 1989, “A new Lagrangian formulation of dynamics of robot manipulators”, ASME J. Dyn. Systs., Meas., and Control , 111, pp. 559–567.

Li, C.-J. and Sankar, 1992, “Fast inverse dynamics computation in real-time robot control”, Mechanism and Machine Theory 1992, no. 27, pp. 741–750.

Li, H., Woernle, C., and Hiller, M., 1991, “A complete solution for the inverse kinematic problem of the general 6R robot manipulator”, ASME J. Mechanical Design 113, pp. 481–486.

Liu, H., Iberall, T., and Bekey, G., 1989, “The multi-dimensional quality of task requirements for dextrous robot hand control”, Proc. IEEE Int. Conf. on Robotics & Automation , Scottsdale, pp. 452–457.

Livio, M., 2005, The Equation That Couldn’t Be Solved. How Mathematical Genius Discovered the Language of Symmetry , Simon & Schuster, New York-London-Toronto-Sydney.

Lozano-Pérez, T., 1981, “Automatic planning of manipulator transfer movements”, IEEE Trans. Systems, Man, and Cybernetics SMC-11, no. 110, pp. 681–689.

Luh, J.Y.S., Walker, M.W., and Paul, R.P.C., 1980, “On-line computational scheme for mechanical manipulators”, ASME J. Dyn. Systs., Meas., and Control , 102, pp. 69–76.

Mandelbrot, B. B. 1983, The Fractal Geometry of Nature , 3rd ed., W. H. Freeman and Company, New York.

Makino, H. and Furuya, N., 1980, “Selective compliance assembly robot arm,” Proc. First International Conference on Assembly Automation , Brighton (no page numbers available.)

Mavroidis, C. and Roth, B., 1992, “Structural parameters which reduce the number of manipulator configurations”, Proc. ASME 22nd Biennial Mechanisms Conference , September 13–16, Scottsdale, DE-45, pp. 359–366.

Menitto, G. and Buehler, M., 1996, “CARL: A compliant articulated robotic leg for dynamic locomotion”, Robotics and Autonomous Systems 18, pp. 337–344.

Merlet, J.-P., 1989, “Singular Configurations of Parallel Manipulators and Grassmann Geometry”, The Int. J. Robotics Res. 8, no. 5, pp. 45–56.

Merlet, J.-P., 2006, Parallel Robots , Second Edition, Springer, Dordrecht.

Morgan, A.P., 1987, Solving Polynomial Systems Using Continuation for Scientific and Engineering Problems , Prentice-Hall, Englewood Cliffs. NJ.

Mozzi, G., 1763, Discorso Matematico Sopra il Rotamento Momentaneo dei Corpi , Stamperia di Donato Campo, Naples.

Nanua, P., Waldron, K.J., and Murthy, V., 1990, “Direct kinematic solution of a Stewart platform”, IEEE Trans. Robotics & Automation 6, pp. 438–444.

Ostrovskaya, S. and Angeles, J., 1998, “Nonholonomic systems revisited within the framework of analytical mechanics”, Applied Mechanics Reviews , vol. 51, No. 7, pp. 415–433.

Pattee, H.A., 1995, “Selecting computer mathematics”, Mechanical Engineering 117, no. 9, pp. 82–84.

Paul, R.P., 1981, Robot Manipulators. Mathematics, Programming, and Control , The MIT Press, Cambridge. MA.

Paul, R.P. and Stevenson, C.N., 1983, “Kinematics of robot wrists”, The Int. J. Robotics Res. 2, no. 1, pp. 31–38.

Penrose, R., 1994, Shadows of the Mind. A Search for the Missing Science of Consciousness , Oxford University Press, Oxford.

Pettinato, J.S. and Stephanou, H.E., 1989, “Manipulability and stability of a tentacle based robot manipulator”, Proc. IEEE Int. Conf. on Robotics & Automation ,, Scottsdale, pp. 458–463.

Pfeiffer, F., Eltze, J., and Weidemann, H.-J., 1995, “The TUM walking machine”, Intelligent Automation and Soft Computing. An International Journal , 1, no. 3, pp. 307–323.

Phillips J., 1990, Freedom in Machinery. Vol 2: Screw Theory Exemplified , Cambridge University Press, Cambridge.

Pieper, D.L., 1968, The Kinematics of Manipulators Under Computer Control , Ph.D. thesis, Stanford University, Stanford.

Pierrot, F., Fournier, A., and Dauchez, P., 1991, “Towards a fully-parallel 6 dof robot for high-speed applications”, Proc. IEEE Int. Conf. on Robotics & Automation , Sacramento, pp. 1288–1293.

Pottmann, H. and Wallner, J., 2001, Computational Line Geometry , Springer, Berlin-Heidelberg-New York.

Primrose, E.J.F., 1986, “On the input-output equation of the general 7R mechanism”, Mechanism and Machine Theory 21, no. 6, pp. 509–510.

Raghavan, M., 1993, “The Stewart platform of general geometry has 40 configurations”, ASME J. Mechanical Design 115, pp. 277–282.

Raghavan, M. and Roth, B., 1990, “Kinematic analysis of the 6R manipulator of general geometry”, in Miura, H. and Arimoto, S. (editors), Proc. 5th Int. Symposium on Robotics Research , MIT Press, Cambridge, MA.

Raghavan, M. and Roth, B., 1993, “Inverse kinematics of the general 6R manipulator  and  related  linkages”, ASME J. Mechanical Design 115, pp. 502–508.

Raibert, M.H., 1986, Legged Robots That Balance , MIT Press, Cambridge, MA.

Ranjbaran, F., Angeles, J., and Patel, R.V., 1992, “The determination of the Cartesian workspace of general three-axes positioning manipulators”, Proc. Third Int. Workshop on Advances in Robot Kinematics , Sept.7–9, Ferrara, pp. 318–324.

Ravani, B. and Roth, B., 1984, “Mappings of spatial kinematics”, ASME J. Mechanisms, Transm., and Auto. in Design 106, pp. 341–347.

Reynaerts, D., 1995, Control Methods and Actuation Technology for Whole-Hand Dextrous Manipulation , doctoral dissertation, Fakulteit der Torgepaste Wetenschappen, Katholieke Universiteit Leuven, Leuven.

Roth, B., 1984, “Screws, motors, and wrenches that cannot be bought in a hardware store”, in Brady, M., and Paul, R.P. (editors), Robotics Research. The First International Symposium , The MIT Press, Cambridge, MA, pp. 679–693.

Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., and Lorensen, W., 1991, Object-Oriented Modeling and Design ,  Prentice-Hall,  Englewood  Cliffs, NJ.

Rus, D., 1992, “Dextrous rotations of polyhedra”, Proc. IEEE Int. Conf. on Robotics & Automation ,, Nice, pp. 2758–2763.

Russell, Jr., M., 1983, “Odex I: The first functionoid”, Robotics Age , 5, pp. 12–18.

Saha, S.K., 1997, “A decomposition of the manipulator inertia matrix”, IEEE Trans. Robotics & Automation 13, pp. 301–304.

Saha, S.K., 1999, “Analytical expression for the inverted inertia matrix of serial robots”, The Int. J. Robotics Res. 18, no. 1, pp. 116–124.

Saha, S.K., 2008, Introduction to Robotics , The McGraw-Hill Companies, New Delhi.

Salisbury, J.K. and Craig, J.J., 1982, “Articulated hands: Force and kinematic issues”, The Int. J. Robotics Res. 1, no. 1, pp. 4–17.

Salmon, G., Higher Algebra , 5th Edition (1885), reprinted: 1964, Chelsea Publishing Co., New York.

Samson, C., Le Borgne, M., and Espiau, B., 1991, Robot Control. The Task Function Approach , Clarendon Press, Oxford.

Salerno, A. and Angeles, J., 2004, “The control of semi-autonomous self-balancing two-wheeled quasiholonomic mobile robots,” Proc. 15th CISM-IFToMM Symposium on Robot Design, Dynamics and Control (RoManSy 2004), Montreal, Canada. June 14–18.

Shampine, L.F. and Gear, C.W., 1979, “A user’s view of solving stiff ordinary differential equations”, SIAM Review 21, no. 1, pp. 1–17.

Shiu, Y.C. and Ahmad, S., 1987, “Finding the mounting position of a sensor by solving a homogeneous transform equation of the form AX = XB”, Proc. IEEE Int. Conf. on Robotics & Automation , Raleigh, pp. 1667–1671.

Silver, W.M., 1982, “On the equivalence of Lagrangian and Newton-Euler dynamics for manipulators”, The Int. J. Robotics Res. 1, no. 2, pp. 118–128.

Song, S.-M. and Waldron, K.J., 1989, Machines That Walk , The MIT Press, Cambridge, MA.

Soureshi, R., Meckl, P.H., and Durfee, W.M., 1994, “Teaching MEs to use microprocessors”, Mechanical Engineering 116, no. 4, pp. 71–76.

Spong, M.W., Hutchinson, S., and Vidyasagar, M., 2006, Robot Modeling and Control , John Wiley & Sons, Inc., Hoboken, NJ.

Srinivasan L.N. and Ge, Q.J., 1997, “Fine tuning of rational B-splines motions”, Proc. ASME Design Engineering Technical Conference DETC’97 , pp. 1–10.

Staffetti, E., Bruyninckx, H., and De Schutter, J., 2002, in Lenarcič, A.J. and Thomas, F., Advances in Robot Kinematics: Theory and Applications , Kluwer Academic Publishers, Dordrecht, pp. 57–66.

Stewart, D., 1965, “A platform with 6 degrees of freedom”, Proc. Institution of Mechanical Engineers 180, part 1, no. 15, pp. 371–386.

Strang, G., 1988, Linear Algebra and Its Applications , Third Edition, Harcourt Brace Jovanovich College Publishers, New York.

Stroustrup, B., 1991, The C $$++$$ Programming Language , Addison-Wesley Publishing Company, Reading, MA.

Sutherland, I.E. and Ullner, M.K., 1984, “Footprints in the asphalt”, The Int. J. Robotics Res. 3, no. 2, pp. 29–36.

Sun, L., Xie, H., Rong, W., and Chen, L., 2005, “Task-reconfigurable system for MEMS assembly,” Proc. IEEE International Conference on Robotics and Automation , Barcelona, Spain, April 18–22, pp. 844–849.

Synge, J.L., 1960, “Classical Dynamics”, in Flügge, S. (editor), Encyclopedia of Physics , vol. III/1, Springer-Verlag, Berlin, pp. 1–225.

Takano, M., 1985, “A new effective solution for inverse kinematics problem (synthesis) of a robot with any type of configuration”, Journal of the Faculty of Engineering , The University of Tokyo 38, no. 2, pp. 107–135.

Tandirci, M., Angeles J., and Ranjbaran, F., 1992, “The characteristic point and the characteristic length of robotic manipulators”, ASME 22nd Biennial Mechanisms Conference , September 13–16, Scottsdale, vol. 45, pp. 203–208.

Tandirci, M., Angeles, J., and Darcovich, J., 1994, “On rotation representations in computational robot kinematics”, J. Intelligent and Robotic Systems 9, pp. 5–23.

Teichmann, M., 1995, Grasping and Fixturing: A Geometric Study and Implementation , Ph.D. thesis, Department of Computer Science, New York University, New York.

Thompson, S.E. and Patel, R.V., 1987, “Formulation of joint trajectories for industrial robots using B-splines”, IEEE Trans. Industrial Electronics IE-34, pp. 192–199.

Thorne, C.E. and Yim, M., 2011, “Towards the development of gyroscopically controlled micro air vehicles,” 2011 IEEE Int. Conf. Robotics and Automation , Shanghai, China, May 9–13, Paper No. 1800.

Todd, D.J., 1985, Walking Machines. An Introduction to Legged Robots , Kogan Page Ltd., London.

Török, J.S., 2000, Analytical Mechanics with an Introduction to Dynamical Systems , John Wiley & sons, Inc., New York.

Tsai, L.W. and Morgan, A.P., 1985, “Solving the kinematics of the most general six- and five-degree-of-freedom manipulators by continuation methods”, ASME J. Mechanisms, Transm., and Auto. in Design 107, pp. 189–200.

Uicker, Jr., J.J., 1965. On the Dynamic Analysis of Spatial Linkages Using 4 × 4 Matrices , Ph.D. thesis, Northwestern University, Evanston.

Van Brussel, H., Santoso, B., and Reynaerts, D., 1989, “Design and control of a multi-fingered robot hand provided with tactile feedback”, Proc. NASA Conf. Space Telerobotics , Pasadena, Jan.31–Feb.2, vol. III, pp. 89–101.

Vijaykumar, R., Tsai, M.J., and Waldron, K.J., 1986, “Geometric optimization of serial chain manipulator structures for working volume and dexterity”, The Int. J. Robotics Res. 5, no. 2, pp. 91–103.

Vinogradov I.B., Kobrinski A.E., Stepanenko, Y.E., and Tives, L.T., 1971, “Details of kinematics of manipulators with the method of volumes” (in Russian), Mekhanika Mashin , no. 27–28, pp. 5–16.

von Mises, R., 1924, “Motorrechnung, ein neues Hilfsmittel der Mechanik”, Z. Angewandte Mathematik und Mechanik 4, no. 2, pp. 155–181.

von Mises, R., 1996, “Motor calculus. A new theoretical device for mechanics”, translated from the German by J. E. Baker and K. Wohlhart, Institute for Mechanics, Technical University of Graz, Graz.

Vukobratovic, M. and Stepanenko, J., 1972, “On the stability of anthropomorphic systems”, Math. Biosci. 15, pp. 1–37.

Wälischmiller, W. and Li, H., 1996, “Development and application of the TELBOT System–A new Tele Robot System”, Proc. 11th CISM–IFToMM Symposium on Theory and Practice of Robots and Manipulators–Ro.Man.Sy. 11 , Udine (Italy), July 1–4.

Walker, M.W. and Orin, D.E., 1982, “Efficient dynamic computer simulation of robotic mechanisms”, ASME J. Dyn. Systs., Meas., and Control , 104, pp. 205–211.

Wampler, C., 1996, “Forward displacement analysis of general six-in-parallel SPS (Stewart) platform manipulators using soma coordinates”, Mechanism and Machine Theory 31, no. 3, pp. 331–337.

West, M. and Asada, H., 1995, “Design and control of ball wheel omnidirectional vehicles”, Proc. IEEE Int. Conf. on Robotics & Automation , Nagoya, pp. 1931–1938.

Wells, D., 1986, The Penguin Dictionary of Curious and Interesting Numbers , Penguin Books, Middlesex, England.

Wen, L., Wang, T., Wu, G. and Li, J., 2011, “A novel method based on a force-feedback technique for the hydrodynamic investigation of kinematic effects on robotic fish,” 2011 IEEE Int. Conf. Robotics and Automation , Shanghai, China, May 9–13, Paper No. 0828.

Whitney, D.E., 1972, “The mathematics of coordinated control of prosthetic arms and manipulators”, ASME J. Dyn. Systs., Meas., and Control , 94, pp. 303–309.

Williams, O., Angeles, J., and Bulca, F., 1993, “Design philosophy of an isotropic six-axis serial manipulator”, Robotics and Computer-Aided Manufacturing 10, no. 4, pp. 275–286.

Yang, D.C. and Lai, Z.C., 1985, “On the conditioning of robotic manipulators—service angle”, ASME J. Mechanisms, Transm., and Auto. in Design 107, pp. 262–270.

Yang, L., Hou, X.R., and Zeng, Z.B., 1996, “A complete discrimination system for polynomial,” Mathematic Mechanization Preprints , No. 14, pp. 98–115.

Yoshikawa, T., 1985, “Manipulability of robotic mechanisms”, The Int. J. Robotics Res. 4, no. 2, pp. 3–9.

Index

A

ABB-IRB 1000 robot

acatastatic systems

acceleration analysis

of parallel manipulators

of rigid bodies

of serial manipulators

affine transformation

Agile Eye

AI

See see artificial intelligence

algorithm definition

angle of rotation

angular acceleration

computation

invariant-rate relations

matrix

vector

angular velocity

dyad

invariant-rate relations

matrix

vector

Appendix A

Appendix B

arc-welding

operation

path-tracking

architecture of a kinematic chain

manipulator

articulated-body method

artificial intelligence

axial component of a vector

axial vector of a 3 × 3 matrix,

B

base frame

basis of a vector space

Bezout’s method

bivariate-equation approach

C

C

C + +

Canadarm

See see Canadarm2

Canadarm2

canonical form of a rotation

Carausius morosus

Cartesian coordinates of a manipulator

also

See see Cartesian variables

Cartesian decomposition

Cartesian variables of a manipulator

caster wheel

catastatic system

Cayley’s Theorem

Cayley–Hamilton theorem

Center of mass

Centroidal moment of inertia

change of basis

characteristic equation

of a manipulator

characteristic length

characteristic polynomial

of a manipulator

Chasles’ Theorem

See see Mozzi–Chasles’

Theorem

Chebyshev norm

Cholesky-decomposition algorithm

classical mechanics

closure equations

compatibility conditions

for acceleration

for velocity

composite rigid-body method

composition of reflections and rotations

condition number

configuration of a manipulator

constraint wrenches

continuous path

operations

tracking

control vector

coordinate transformation

Coriolis

acceleration

and centrifugal forces

Couette flow

Coulomb

dissipation function

friction

CP

See see continuous path

cross-product matrix

curvature

derivative w. r. t.

a parameter

derivative w. r. t. the arc length

parametric representation

time-derivative

cycloidal motion

D

Darboux vector

time-derivative

decoupled manipulators

decoupled robots

Delta Robot

Delta robot

delta-array (Δ-array)

Denavit–Hartenberg

frames

notation

parameters

rotation matrix

vector joining two frame origins

determined system

dexterity

measures

See see kinetostatic performance

indices

DEXTRE

dextrous hands

See see multifingered hands

dextrous manipulation

dextrous workspace

DH

See see Denavit–Hartenberg

dialytic elimination

DIESTRO

inverse kinematics

Jacobian

manipulator

differentiation with respect to vectors

direct kinematic problem of parallel manipulators

displacement equations of a

manipulator

dissipation function

duality

dynamic systems

dynamics

of holonomic systems

of multibody systems

of parallel manipulators

of rigid bodies

of robotic mechanical systems

of rolling robots

of serial manipulators

E

EE

See see end-effector

elastodynamic

end-effector

Euclidean norm

Euler

angles

equation (for graphs)

equation (in mechanics)

parameters

See see Euler–Rodrigues

parameters

Euler’s formula for graphs

See see Euler equation for graphs theorem

Euler–Lagrange equations

derived with the NOC

Euler–Rodrigues parameters

F

Fanuc Arc Mate inverse displacement

Fanuc Arc Mate 120iB

Fanuc Robot Arc Mate

characteristic length

DH parameters

KCI

feasible twists

First Law of Thermodynamics

flight simulator

floating-point operation

flop

See see floating-point operation

forward dynamics

algorithm complexity

of serial manipulators

fractal

Frenet

See see Frenet–Serret

Frenet–Serret

formulas

frame

vectors

friction forces

Frobenius norm

fuzzy logic

G

genealogy of robotic mechanical systems

general architecture of a manipulator

generalized coordinates

generalized forces

generalized inertia matrix

Cholesky decomposition

factoring

time-rate of change

generalized speeds

Ginger

See see Segway

gluing operation

grasping matrix

gravity

terms

wrench

H

hand-eye calibration

Hexa robot

higher kinematic pair

holonomic systems

homogeneous coordinates

homotopy

I

IDP

See see inverse displacement problem

ilonators

inertia dyad

inertial frame

input

instant screw axis

instrument calibration

intelligent machines

intelligent robots

invariance

inverse displacement problem of a general 6R manipulator

inverse dynamics of serial manipulators

recursive

inverse kinematics problem of parallel manipulators

inverse vs. forward dynamics

inward recursions

ISA

See see instant screw axis

isomorphism

isotropic

manipulator

matrix

isotropy

iteration

J

Jacobian matrix

condition number

evaluation

invertibility

transfer formula

joint

coordinates

parameters

variables

K

Kane’s equations

KCI

See see kinematic conditioning index

kernel of a linear transformation

Kinemate

kinematic

chain

conditioning index

constraints

constraints for serial manipulators

pair

kinematic chain architecture of a

kinetic energy

kinetostatic performance indices

kinetostatics

L

least-square error

least-square solution

Lee vs. Li

Lee’s manipulator

Lee’s procedure

left hand

legged robots

Li vs. Lee

See see Lee vs. Li

Li’s manipulator

See see Lee’s manipulator linear invariants

of rotation

linear transformations

local structure of a manipulator

locomotors

lower kinematic pair

LU decomposition

M

machine (definitions of)

main gauche

See see left hand

maneuverability

manipulability

of decoupled manipulators

manipulator

angular velocity matrix

architecture

configuration

dynamics

general architecture

mass matrix

posture

twist

wrench

manipulators

matrix

norm

representation

mechanical system

mechatronics

Mekanum wheels

minimum-time trajectory

mobile wheeled pendulums

module

moment of inertia

moment invariants

moment of a line

about a point

about another line

moment-of-inertia matrix

momentum screw

Motoman-EA1400N welding robot

motor

Mozzi–Chasles’ Theorem

MSS

multibody system dynamics

Euler–Lagrange equations

multicubic expression

multifingered hands

multilinear expression

multiquadratic expression

multiquartic expression

N

natural orthogonal complement

applied to holonomic systems

applied to parallel manipulators

applied to planar manipulators

applied to rolling robots

Newton

-Gauss method

-Raphson method

equation

methods

Newton–Euler

equations

Newton–Euler equations

NOC

See see natural orthogonal complement

nonholonomic systems

noninertial base link

nonlinear system

norm

also

See see Frobenius norm

norm (matrix -)

normal component of a vector

normality condition

null space of a linear transformation

numerical conditioning

O

object-oriented programming

Odetics series of hexapods

ODW

See see omnidirectional wheels, see

omnidirectional wheels

off-line

omnidirectional wheels

dynamics

kinematics

on-line

operation point

orientation problem

orthogonal complement

orthogonal decomposition of a vector

orthogonal decoupled manipulator

orthogonal projection

orthogonal RRR manipulator

dynamics

inverse kinematics

recursive dynamics

workspace

OSU ASV

OSU Hexapod

output

outward recursions

overdetermined system

P

Pappus–Guldinus theorem

parallel axes, theorem

parallel manipulators

acceleration analysis

dynamics

kinematics

velocity analysis

parallel robots

parametric

path representation

representation of curvature

representation of curvature derivative

representation of torsion

representation of torsion derivative

splines

path-tracking for arc-welding

pick-and-place operations

Plücker coordinates

of a line

transfer formula

planar manipulators

acceleration analysis

displacement analysis

dynamics

static analysis

velocity analysis

platform manipulators

polar-decomposition theorem

polynomial interpolation

with 3-4-5 polynomial

with 4-5-6-7 polynomial

pose array

of a rigid body

positioning problem

posture of a manipulator

PPO

See see pick-and-place operations

principal axes of inertia

principal moments of inertia

Principle of Virtual Work

prismatic pair

programmable robot

projection

theorem

Puma robot

DH parameters

inverse kinematics

workspace

pure reflection

Q

quaternions

R

Raghavan and Roth’s procedure

Raghavan-Roth’s procedure

range of a linear transformation

Rayleigh dissipation function

See see dissipation function

real-time

reciprocal bases

reciprocal product

recursion

redundant sensing

References

reflection

composition with rotations

regional structure of a manipulator

revolute pair

rheonomic systems

robot design

robotic hands

robotic mechanical systems

Rodrigues

See see Euler–Rodrigues vector

rolling robots dynamics

kinematics

rotating pair

rotation

rotation matrix

exponential representation

run-time

Runge–Kutta methods

RVS

S

SARAH

Schönflies-motion generators

scleronomic systems

screw

amplitude

axis

motion

pitch

Segway

self-inverse

serial manipulators

acceleration analysis

dynamics

kinematics

statics

velocity analysis

workspace

service angle

similarity transformations

simple manipulation

simulation

singular-value decomposition

singular-values

singularities

singularity analysis of decoupled manipulators,

sliding pair

SPDM

spherical wrist

workspace

spline(s)

interpolation of 4-5-6-7 polynomial

natural

nonparametric

parametric

periodic

square root of a matrix

Star robot

state of a dynamical system

of parallel manipulators

of serial manipulators

variable

variable equations

vector

static analysis of rigid bodies

of serial manipulators

static, conservative conditions

stationary point

Steiner’s Theorem in dyad form

Steiner, theorem

Stewart platform

See see Stewart–Gough platform

Stewart–Gough platform

direct kinematics

leg kinematics

structural design

structure of mechanical systems

structured environment

Sutherland, Sprout & Assocs. Hexapod

Swedish wheels

system

T

telemanipulators

tensors

Titan series of quadrupeds

torsion

derivative w. r. t.

a parameter

derivative w. r. t. the arc length

parametric representation

time-derivative

trace of a square matrix

trajectories with via poses

trajectory planning

truncation error

Trussarm

TU Munich Hand

TU Munich Hexapod

twist

axis coordinates

of a rigid body

ray coordinates

transfer formula

twist-shape relations

for serial manipulators

U

unimodular group (of matrices)

unstructured environment

V

vector of a 3 × 3 matrix

vector space

velocity analysis

of parallel manipulators

of rolling robots

of serial manipulators

via poses

virtual work

See see Principle of Virtual Work

viscosity coefficient

viscous forces

W

walking machines

kinematics

leg architecture

walking stick

weighting matrix

wheeled robots

workspace of positioning manipulators, wrench

acting on a rigid body

axis

pitch

transfer formula