You are on page 1of 488

Studies in Systems, Decision and Control 191

Ernesto Olguín Díaz

3D Motion
of Rigid
Bodies
A Foundation for Robot Dynamics
Analysis
Studies in Systems, Decision and Control

Volume 191

Series editor
Janusz Kacprzyk, Polish Academy of Sciences, Warsaw, Poland
e-mail: kacprzyk@ibspan.waw.pl
The series “Studies in Systems, Decision and Control” (SSDC) covers both new
developments and advances, as well as the state of the art, in the various areas of
broadly perceived systems, decision making and control–quickly, up to date and
with a high quality. The intent is to cover the theory, applications, and perspectives
on the state of the art and future developments relevant to systems, decision
making, control, complex processes and related areas, as embedded in the fields of
engineering, computer science, physics, economics, social and life sciences, as well
as the paradigms and methodologies behind them. The series contains monographs,
textbooks, lecture notes and edited volumes in systems, decision making and
control spanning the areas of Cyber-Physical Systems, Autonomous Systems,
Sensor Networks, Control Systems, Energy Systems, Automotive Systems,
Biological Systems, Vehicular Networking and Connected Vehicles, Aerospace
Systems, Automation, Manufacturing, Smart Grids, Nonlinear Systems, Power
Systems, Robotics, Social Systems, Economic Systems and other. Of particular
value to both the contributors and the readership are the short publication timeframe
and the world-wide distribution and exposure which enable both a wide and rapid
dissemination of research output.

More information about this series at http://www.springer.com/series/13304


Ernesto Olguín Díaz

3D Motion of Rigid Bodies


A Foundation for Robot Dynamics Analysis

123
Ernesto Olguín Díaz
Robotics and Advance Manufacturing Group
Centro de Investigación y de Estudios
Avanzados del Instituto Politécnico
Nacional (CINVESTAV-IPN)
Coahuila, Mexico

ISSN 2198-4182 ISSN 2198-4190 (electronic)


Studies in Systems, Decision and Control
ISBN 978-3-030-04274-5 ISBN 978-3-030-04275-2 (eBook)
https://doi.org/10.1007/978-3-030-04275-2

Library of Congress Control Number: 2018961213

© Springer Nature Switzerland AG 2019


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.
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.
The publisher, the authors and the editors are safe to assume that the advice and information in this
book are believed to be true and accurate at the date of publication. Neither the publisher nor the
authors or the editors give a warranty, express or implied, with respect to the material contained herein or
for any errors or omissions that may have been made. The publisher remains neutral with regard to
jurisdictional claims in published maps and institutional affiliations.

This Springer imprint is published by the registered company Springer Nature Switzerland AG
The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland
Preface

This text has arisen from the need of a complementary material for a course in
modelling and dynamic analysis of multi-body mechanical systems, for an in-depth
understanding in the modelling and control in robotics.
Robots are most of the time a set of multiple rigid bodies, articulated in some
manner that they can perform complex motions. These robots define a wide variety
of architectures: from simple manipulators (mostly designed for manufacturing
process) till much more complex humanoids (that are intended to reproduce the
human behavior). Yet, there is a different, and more basic, family of robots con-
sisting of one single rigid body that moves in the Euclidean space, such as aircrafts,
submarines, and land or surface vehicles. All of these mobile robots are navigation
robots, which can be free-moving 3D objects or they are constraint to move on a 2D
space. In all of them (any robot family, single- or multi-bodied with free or con-
straint motion), the rigid body concept is a foundational need to analyze their
mechanical dynamic behavior.
While Lagrangian formulation suits nicely multi-body systems, its physical
meaning becomes paradoxically complicated for single rigid bodies. Yet the most
advanced (and fastest) numerical methods rely on the physics of single rigid bodies,
where they are subject to different motion constraints which in turn define the
system degrees of freedom and generalized coordinates.
At first sight, it seems natural to extend Newton’s equation of motion (for
particles) to rigid bodies, from the natural displacement to rotational movements.
Euler himself studied this problem and reformulated the problem with his two laws
of motion: translation and rotational motion. This set of equations is known as the
Newton–Euler formulation and is widely used in most of the scientific and engi-
neering areas. However, this set has a major drawback consisting in the following:
while translation motion is more simply expressed with inertial frame coordinates,
the rotation motion is simpler when expressed with a body frame (local non-inertial
frame) coordinates because the inertia tensor has a constant expression in this local
coordinates. This difference may lead to confusion when solving simultaneously
both equations of motion. Even more, it is worth noticing that Euler [rotation]
equation expresses the motion when the rotation is expressed exactly at the center

v
vi Preface

of mass, which of course is not the case for robotic systems or for most practical
situations. Therefore, it may be convenient to express the general motion of a body
without this restriction.
This work aims to present simple tools to express these dynamic equivalences
and to present a simple way of expressing a single dynamic equation for the motion
of a rigid body, either free motion (six dimensions) such any free space navigation
robot or constrained motion (less than six-dimension) such as ground or surface
vehicles.
This work is organized into three parts. The first one considers the fundamentals
tools used all along the work. Chapter 1 presents the mathematical foundations on
linear algebra, including matrix algebra, vector spaces, and a specialized section
dedicated to the 3D vector analysis used to describe forces, torques, and velocities
quantities. Chapter 2 presents the basic foundation of classical mechanics, from
which all the scalar and vectorial quantities are deduced such as work, power,
kinetic energy. If the reader is familiar with these topics, he/she may start this work
from the second part. However, the important insight for the understanding of
further Chaps. 6 and 7 is in Chap. 2.
The second part, and the heart of this work, corresponds to the motion of a single
free-flying rigid body. These concepts are applied to any free navigating robot. The
first three chapters (3, 4, and 5) correspond to classical results, already presented in
classical books, with a consistent notation that allows extension to the 6D spacial
vectors expressions deduced in Chaps. 6 and 7. Chapter 3 explains the kinematic
relationships between the pose (position and orientation) of a body and the different
orders of its time derivatives (velocities and accelerations), with attention to the
angular velocity. Chapter 4 presents different commonly used attitude representa-
tions at both kinematical levels: attitude and angular velocity. Chapter 5 develops
the classical motion equations for both translation and rotations in the classical
ways and presents their equivalences. Chapter 6 presents the six-dimensional
spacial vectors and their operators (with its corresponding algebra) that allow to
express both the rigid body kinematics and dynamics with succinct 6D equations.
Finally, Chap. 7 presents the Lagrangian equivalence of both, Newton-–Euler
formulation and the spacial vectors one, and shows why and how the Lagrangian
formulation for single bodies becomes more complex.
The third and last part completes the volume with a single Chap. 8, wherein the
general expression of constraint motion of a single rigid body is presented by
introducing two formal ways (dynamic and kinematic) to get the reduced equation
of motion of a rigid body under motion constraints.
The inertial dynamics of free-floating robots such as aircrafts (airplanes,
quadrotors, multirotors, helicopters) or submarines (ROVs, torpedoes, etc.) can be
obtained in any of the forms produced in Part II of this text. Since any free
navigating robot fulfills these concepts, there are no particular examples provided.
In this sense, the reader can work these concepts with its own particular application.
For surface vehicles (cars, land vehicles of boats), the dynamic equation is the one
obtained in any of the proposed sections of Part III, where examples with different
configurations of planar [wheeled] mobile robots are studied.
Preface vii

Four appendices dedicated to the proves of most of the mathematical properties


used along this work are also included to help the understanding of important
details all along this text.

Coahuila, Mexico Ernesto Olguín Díaz


Contents

Part I Fundamentals
1 Mathematic Foundations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1 Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.1.1 The Determinant of a Matrix . . . . . . . . . . . . . . . . . . . . . . 10
1.1.2 Other Basic Functions of a Matrix . . . . . . . . . . . . . . . . . . 16
1.1.3 Basic Matrix Operations . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.1.4 Square Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.1.5 Square Block Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
1.2 Linear Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
1.2.1 Vector Spaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
1.2.2 Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
1.2.3 Range Space and Null Space . . . . . . . . . . . . . . . . . . . . . . 56
1.2.4 Eigenvalues and Eigenvectors . . . . . . . . . . . . . . . . . . . . . . 61
1.3 3D Vector Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
1.3.1 The Dot (Scalar) Product . . . . . . . . . . . . . . . . . . . . . . . . . 80
1.3.2 The Cross (Vector) Product . . . . . . . . . . . . . . . . . . . . . . . 83
1.3.3 Vectorial Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
1.3.4 Vector Differentiation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
2 Classical Mechanics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
2.1 Newton’s Mechanics of a Particle . . . . . . . . . . . . . . . . . . . . . . . . 101
2.1.1 The Work and Energy . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
2.1.2 The Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
2.1.3 Final Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
2.2 Lagrange Mechanics for Multi-particle Systems . . . . . . . . . . . . . . 112
2.2.1 D’Alembert–Lagrange’s Equation . . . . . . . . . . . . . . . . . . . 116
2.2.2 The Euler–Lagrange’s Equation . . . . . . . . . . . . . . . . . . . . 129
2.2.3 Properties of Lagrangian Formulation . . . . . . . . . . . . . . . . 136
2.2.4 Final Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

ix
x Contents

Part II Free Motion of Single Rigid Body


3 Rigid Motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
3.1 Translations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
3.2 Rotations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
3.2.1 Attitude’s Degrees of Freedom . . . . . . . . . . . . . . . . . . . . . 153
3.2.2 Basic Rotations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
3.2.3 Composed Rotations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
3.2.4 The Euler Theorem of Rotations . . . . . . . . . . . . . . . . . . . . 160
3.3 The Rigid Motion Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
3.3.1 The Angular Velocity . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
3.3.2 The Coriolis Effect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
3.3.3 The Linear Velocity and Acceleration . . . . . . . . . . . . . . . . 180
3.3.4 Kinematic Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
4 Attitude Representations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
4.1 Pair of Rotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
4.1.1 Computing the Axis/Angle Parameters
from a Rotation Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . 188
4.1.2 The Angular Velocity for the Axis/Angle
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
4.1.3 Attitude Inverse Kinematics for the Axis/Angle
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
4.2 Roll-Pitch-Yaw Representation . . . . . . . . . . . . . . . . . . . . . . . . . . 192
4.2.1 Computing the Roll, Pitch and Yaw Angles
from a Rotation Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . 193
4.2.2 Angular Velocity and the Roll-Pitch-Yaw
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
4.2.3 Attitude Inverse Kinematics for the Roll-Pitch-Yaw
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
4.3 Euler Angles zyz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
4.3.1 Computing the zyz Euler Angles from a Rotation
Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
4.3.2 Angular Velocity and the zyz Representation . . . . . . . . . . . 199
4.3.3 Attitude Inverse Kinematics for the Euler
Angles zyz Representation . . . . . . . . . . . . . . . . . . . . . . . . 201
4.4 Unit Quaternions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
4.4.1 Equivalence with the Pair of Rotation . . . . . . . . . . . . . . . . 204
4.4.2 Computing Quaternions from a Rotation Matrix . . . . . . . . 208
4.4.3 Composed Rotation with Quaternions . . . . . . . . . . . . . . . . 210
4.4.4 Angular Velocity with Quaternions . . . . . . . . . . . . . . . . . . 212
4.4.5 Attitude Inverse Kinematics for the Quaternion
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Contents xi

4.5 Rodrigues Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219


4.5.1 Computing Gibb’s Vector from a Rotation Matrix . . . . . . . 220
4.5.2 Angular Velocity and Rodrigues Parameters . . . . . . . . . . . 221
4.5.3 Attitude Inverse Kinematics for Gibb’s
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
4.6 Resume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
5 Dynamics of a Rigid Body . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
5.1 The Center of Mass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
5.1.1 Kinematics at the Center of Mass . . . . . . . . . . . . . . . . . . . 238
5.2 The Kinetic Energy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
5.2.1 The Inertia Tensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
5.2.2 Different Coordinates Expressions for the Kinetic
Energy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
5.3 Momentums . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
5.3.1 Linear Momentum Expression . . . . . . . . . . . . . . . . . . . . . 247
5.3.2 Angular Momentum Expression . . . . . . . . . . . . . . . . . . . . 248
5.4 Rigid Dynamic Motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
5.4.1 Euler’s First Law of Motion . . . . . . . . . . . . . . . . . . . . . . . 251
5.4.2 Euler’s Second Law of Motion . . . . . . . . . . . . . . . . . . . . . 252
5.4.3 The Newton–Euler Formulation . . . . . . . . . . . . . . . . . . . . 255
5.5 Work and Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
5.6 External Influences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
5.6.1 The Gravity Force . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
5.7 Kirchhoff (Energy-Based) Formulation . . . . . . . . . . . . . . . . . . . . . 263
5.7.1 Kirchhoff–Euler Equivalence . . . . . . . . . . . . . . . . . . . . . . 264
5.7.2 The Potential Energy . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
6 Spacial Vectors Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
6.1 Spacial Vectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
6.1.1 The Twist: the Velocity Spacial Vector . . . . . . . . . . . . . . . 273
6.1.2 The Wrench: the Force Spacial Vector . . . . . . . . . . . . . . . 274
6.1.3 The Pose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
6.1.4 The Motion and Force Spaces . . . . . . . . . . . . . . . . . . . . . 276
6.2 Spacial Vectors Transformations . . . . . . . . . . . . . . . . . . . . . . . . . 276
6.2.1 Extended Rotations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
6.2.2 Extended Translations . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
6.2.3 The Spacial Vector Product . . . . . . . . . . . . . . . . . . . . . . . 281
6.3 Spacial Vector’s Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
6.3.1 The Plücker Transformation . . . . . . . . . . . . . . . . . . . . . . . 283
6.3.2 The Pose Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
6.4 Spacial Vector’s Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
6.4.1 The Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
6.4.2 Kinetic Energy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
xii Contents

6.4.3 The Momentum’s Spacial Vector . . . . . . . . . . . . . . . . . . . 290


6.4.4 Spacial Vector’s Rigid Dynamic Motion . . . . . . . . . . . . . . 292
6.4.5 Wrench of Exogenous Influences . . . . . . . . . . . . . . . . . . . 302
7 Lagrangian Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
7.1 Direct Lagrangian Expression . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
7.1.1 The Kinetic Energy and Inertia Matrix . . . . . . . . . . . . . . . 308
7.1.2 The Coriolis Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
7.1.3 The Gravity Vector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
7.1.4 The Generalized Forces . . . . . . . . . . . . . . . . . . . . . . . . . . 314
7.2 Indirect Lagrangian Formulation . . . . . . . . . . . . . . . . . . . . . . . . . 315
7.2.1 The quasi-Lagrangian Coordinates . . . . . . . . . . . . . . . . . . 315
7.2.2 Indirect Lagrangian Equivalence . . . . . . . . . . . . . . . . . . . . 316
7.2.3 Properties of Quasi-Lagrangian Formulation . . . . . . . . . . . 318
7.3 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326

Part III Constraint Motion of a Single Rigid Body


8 Model Reduction Under Motion Constraint . . . . . . . . . . . . . . . . . . . 331
8.1 The Constraint Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
8.2 Model Reduction, the Dynamical Approach . . . . . . . . . . . . . . . . . 334
8.2.1 Example 1: The Omnidirectional Mobile Robot . . . . . . . . . 335
8.2.2 Example 2: The Differential Mobile Robot . . . . . . . . . . . . 346
8.3 Twist Coordinates Separation: The Kinematical Approach
for the Dynamic Model Reduction . . . . . . . . . . . . . . . . . . . . . . . . 351
8.3.1 Wrench Coordinates Separation . . . . . . . . . . . . . . . . . . . . 354
8.3.2 Kinematical Reduction of the Dynamic Model . . . . . . . . . 355
8.3.3 Example 3: The Omnidirectional Mobile Robot,
Kinematic Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
8.3.4 Example 4: The Differential Mobile Robot,
Kinematic Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
8.4 Resume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
Appendix A: The Cross Product Operator . . . . . . . . . . . . . . . . . . . . . . . . 371
Appendix B: Fundamentals of Quaternion Theory. . . . . . . . . . . . . . . . . . 385
Appendix C: Extended Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
Appendix D: Examples for the Center of Mass and Inertia
Tensors of Basic Shapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
Nomenclature

Acronyms

3D Three-dimensional Euclidean space


6D Six-dimensional space
CM Center of mass of body
CPO Cross product operator
CV 3D Cartesian vectors, written with the three Cartesian coordinates of the
Euclidean space
ER Extended rotation
ETO Extended translation operator
SEð3Þ Special Euclidean group of order 3
SOð3Þ Special orthogonal group of order 3
SV 6D spacial vector, made by two consecutive 3D cartesian vectors

Operations

aðiÞ Vector a expressed in coordinates of frame Ri


a_ Time derivative of vector a
kakp p-norm of vector a
kak Euclidean norm (2-norm) of vector a
^
a Normalized unit vector
½a  Cross-product operator (CPO) of vector a
da Variation (in the sense of variational calculus) of variable a
r The nabla operator

xiii
xiv Nomenclature

Symbols

Scalars
g Gravity constant
h Height of a particle or point
m (1) Mass of a body
(2) Row dimension of a matrix
(3) Dimension of the attitude vector
n (1) Order of a square matrix
(2) Dimension of a generalized coordinates vector
(3) Column dimension of a matrix
p Local frame coordinate, in the x-direction, of the angular velocity
q Local frame coordinate, in the y-direction, of the angular velocity
r Local frame coordinate, in the z-direction, of the angular velocity
u Local frame coordinate, in the x-direction, of the linear velocity
v Local frame coordinate, in the y-direction, of the linear velocity
w Local frame coordinate, in the z-direction, of the linear velocity
A Action
E Total mechanical energy
K Kinetic energy
L Lagrangian function
P [Mechanical] Power of a system
R Rayleigh dissipative function
U Potential energy
W [Mechanical] Work of a system
a First angle of rotation in the Euler angles composed rotation transformation
b Second angle of rotation in the Euler angles composed rotation
transformation
 Third angle of rotation in the Euler angles composed rotation transformation
 ij Cofactor corresponding to the element aij of a square matrix A of order n
h Pitch angle
# Rotation angle in the axis/angle attitude representation
‚ (1) Lagrange multiplier
(2) Eigenvalue of a square matrix
‚m Minimal eigenvalue of a square matrix
‚M Maximal eigenvalue of a square matrix
q Rank of a matrix
r Singular value of a matrix
rm Minimal singular value of a matrix
Nomenclature xv

rM Maximal singular value of a matrix


/ (1) Roll angle
(2) Constraint function
w Yaw angle

Vectors

0 Null vector
a 3D acceleration vector
d 3D distance vector, in general defined form the origin of the inertial frame
f 3D force vector
gq Gravity vector in Lagrangian coordinates
~
g 3D gravity acceleration vector
h 6D nonlinear velocity-dependent wrench in the quasi-Lagrangian formulation
hq Nonlinear velocity-dependent generalized force vector in the Lagrangian
formulation
i 3D unit vector in x-direction of a frame
j 3D unit vector in y-direction of a frame
k 3D unit vector in z-direction of a frame
n (1) 3D torque vector
(2) 3D normal vector
(3) 3D rows of a rotation matrix
p (1) 3D linear momentum
(2) 3D cartesian position of a point
q (1) Generalized coordinates vector
(2) Quaternion
r (1) 3D relative distance vector, in general in coordinates of a non-inertial
frame
(2) 3D columns of a rotation matrix
rc 3D relative distance vector from the origin of the non-inertial frame to the
center of mass of a body
v 3D linear velocity vector
x Pose vector of a frame
a 3D angular acceleration vector
e Unit quaternion vector
h Attitude parameter vector
# The rotation vector
‚ (1) 3D unit vector
(2) Lagrange multiplier
(3) rotation axis in the axis/angle attitude representation
xvi Nomenclature

m 6D velocity spacial vector: the twist


q Gibb’s vector of Rodrigues attitude parameters
¿ Generalized exogenous force vector
/ Constraint vector
x 3D angular velocity
H Dynamic parameter vector
F 6D force spacial vector: the wrench
G 6D gravity spacial vector
L 3D angular momentum
P 6D spacial momentum
Q Generalized forces

Matrices

AWþ Weighted pseudo-inverse matrix


As Symmetric part of matrix A
Ass Skew-symmetric part of matrix A
B Input driving matrix
C (1) Coriolis matrix in quasi-Lagrangian coordinates
(2) Input restrictive matrix
Cq Coriolis matrix in Lagrangian coordinates
D Dissipative matrix in quasi-Lagrangian coordinates
Dq Dissipative matrix in Lagrangian coordinates
D0 Schur complement of the diagonal sub-block D in a square matrix
E Active forces to body wrench operator during restricted motion
G restrictive forces to body wrench operator during restricted motion
H Inertia matrix in Lagrangian coordinates
I Identity matrix of proper order
I Order 3 angular inertia tensor
J (1) Jacobian, mapping two velocities vectors
(2) Cost functional
i
Jh Angular velocity operator, mapping h_ 7! xðiÞ
L Linear regressor of constant matrix M
M (1) Algebraic complement
(2) Order 3 infinitesimal rotation generators
(3) Order 6 constant inertial matrix of a single rigid body
P [Dynamic] Null space projector
Q [Kinematic] Null space projector
R Order 3 rotation matrix
Nomenclature xvii

S (1) Skew-symmetric matrix of order 6 whose block components are given


by CPOs
(2) Submatrix of proper dimensions
(3) [Kinematic] Reduced motion operator
T [Dynamic] Coordinates transformation/separation during restricted motion
U Kinematic restriction operator
V [Kinematic] coordinates transformation for restricted motion
W Weighting matrix
Y Dynamics regressor of a system
R Spacial vectors’ extended rotation (ER)
T Motion spacial vectors’ extended translation, also called translation
operator (TO)
X Plücker transformation
Adj Adjugate matrix
C Restrictive force operator
K Diagonal matrix of eigenvalues
R Singular values matrix
XðaÞ Vector (cross) spacial product operator for an space vector a

Others

C Field of complex numbers


F Number field
F Force space
M Motion space
N Field of natural numbers (In this work it includes zero)
N Null space
Q Field of rational numbers
R Field of real numbers
R Range space
S Vector space
Z Field of integer numbers
Ri Reference frame i
List of Figures

Fig. 1.1 Schematic projection of matrices AðxÞ _


_ ¼ @z=@x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
and Jz ðx; xÞ .. 59
Fig. 1.2 Reference frame with Cartesian coordinates of an Euclidian
space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 77
Fig. 1.3 Right hand rule definition for Cartesian 3D frames . . . . . . . . .. 77
Fig. 1.4 Different coordinate systems for the same position
of a point p in a reference frame . . . . . . . . . . . . . . . . . . . . . . .. 78
Fig. 1.5 Pythagorean theorem applied to 3D vectors . . . . . . . . . . . . . . .. 79
Fig. 1.6 Canonical basis unit vectors, the unit sphere and the director
vector of an arbitrary unit vector . . . . . . . . . . . . . . . . . . . . . . .. 79
Fig. 1.7 Geometric interpretation of the dot product definition . . . . . . .. 80
Fig. 1.8 Geometric interpretation of law of cosine and the dot
product . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 81
Fig. 1.9 Geometric interpretation of the dot product for acute and
obtuse angles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 82
Fig. 1.10 Direction cosines for an arbitrary vector ka . . . . . . . . . . . . . . .. 82
Fig. 1.11 Geometric interpretation of the right-hand rule for the cross
product definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 84
Fig. 1.12 Geometrical interpretation of the orthogonal complementarity
separation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 88
Fig. 1.13 Vector field examples for n ¼ 2 and m ¼ 2 . . . . . . . . . . . . . . .. 90
Fig. 1.14 Pressure (scalar) field example of a simulated underground
water reservoir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 90
Fig. 1.15 Geometric interpretation of the Kelvin–Stokes Theorem . . . . .. 94
Fig. 1.16 Type I area D for Green’s Theorem with boundaries given
by 4 curves C1 , C2 , C3 , and C4 . . . . . . . . . . . . . . . . . . . . . . . .. 96
Fig. 1.17 Equivalent 2D region is s-t coordinates of the Kelvin–Stokes
Theorem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 99
Fig. 2.1 Reference frame and the particle position . . . . . . . . . . . . . . . . . 102

xix
xx List of Figures

Fig. 2.2 2 different paths for the same particle to move from point 1 to
point 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Fig. 2.3 Multi-particle systems. Left: a single rigid body B with
associated reference frames and main points position vectors.
Right: the classical 4 bar linkage (with a virtual bar 1 being
always static) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Fig. 2.4 Real path yðxÞ and -varied path yðx; Þ . . . . . . . . . . . . . . . . . . . 129
Fig. 2.5 Spherical surface segment defined as x2 þ y2 þ z2 ¼ 1 in the
positive 3D quadrant. Left: Restriction defined as / ¼
x2 þ y2 þ z2  1 ¼ 0 gives outwards gradients. Right:
Restriction defined as / ¼ 1  x2  y2  z2 ¼ 0 gives
inwards gradients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Fig. 3.1 Reference frames associated with 3D free moving rigid
body . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Fig. 3.2 Frame translation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Fig. 3.3 Pure rotation of a Rigid body over the origin of both base
frame and body’s frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Fig. 3.4 Basic rotation about z-axis, an angle w . . . . . . . . . . . . . . . . . . . 155
Fig. 3.5 Basic rotation about y-axis, an angle h . . . . . . . . . . . . . . . . . . . 156
Fig. 3.6 Basic rotation about x-axis, an angle / . . . . . . . . . . . . . . . . . . . 156
Fig. 3.7 Comparison of complex rotations performed on base frame,
current frame and inverting the order of the basic rotations . . . . 157
Fig. 3.8 # rotation about an arbitrary axis ‚ . . . . . . . . . . . . . . . . . . . . . . 159
Fig. 3.9 The pair of rotation ð‚; #Þ: representing a rotation angle #
about an arbitrary axis ‚ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Fig. 3.10 Scheme of the trigonometric functions of an angle h in a
unit circle, Wikipedia (2013) . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Fig. 3.11 Rigid motion transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Fig. 4.1 # rotation about an arbitrary axis ‚ða; bÞ . . . . . . . . . . . . . . . . . . 187
Fig. 4.2 Roll, pitch and yaw angles [image obtained for internet] . . . . . . 193
Fig. 4.3 Geometric interpretation for some Euler angles. Left: zxz
convention. Right: zyz convention. First an a-rotation around
z, so that the neutral axis N (either the new x or y axes) is
properly aligned. Second a b-rotation around the N axis.
Finally a -rotation around the newest z-axis so that the frame
reach the final orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Fig. 4.4 Plot of the half angle trigonometric basic functions . . . . . . . . . . 207
Fig. 5.1 Moment definition of a vector quantity a . . . . . . . . . . . . . . . . . . 232
Fig. 5.2 The center of mass, and the relationship with any point p . . . . . 235
Fig. 5.3 Complex body composed of basis shapes . . . . . . . . . . . . . . . . . 237
Fig. 5.4 Linear and angular velocities associated to the center
of mass and on point p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Fig. 5.5 Particular case when the reference frame of the body
is at its center of mass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
List of Figures xxi

Fig. 5.6 Same cylinder with three different local reference frame
assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Fig. 5.7 Gravity effect over an free-floating rigid mass . . . . . . . . . . . . . . 262
Fig. 6.1 Linear and angular velocities associated to geometric origin g
of frame R1 and linear and angular velocities of the center of
mass cm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Fig. 6.2 Gravity effect over an free-floating rigid mass . . . . . . . . . . . . . . 302
Fig. 8.1 Omnidirectional robot Robotino XT, from Festo,
[Photograph taken from https://www.festo.com/] . . . . . . . . . . . . 336
Fig. 8.2 Sketch for a 3-wheeled omnidirectional robot where the
contact force, the power torque and a virtual frame in the first
wheel are shown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
Fig. 8.3 Left: Swedish wheel, also known as Mecanum wheel, invented
by the Swedish engineer Bengt Ilon. Right: Omni-wheel, an
upgraded design of a omnidirectional wheel . . . . . . . . . . . . . . . 337
Fig. 8.4 Sketch of the virtual reference frames position at the contact
points of each of the three omni-wheels of an omnidirectional
robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
Fig. 8.5 Differential robot Pioneer 3DX from Adept Technology, Inc.
for in-door purposes, [Photograph taken from
http://www.mobilerobots.com/Libraries/Downloads/
Pioneer3DX-P3DX-RevA.sflb.ashx] . . . . . . . . . . . . . . . . . . . . . . 346
Fig. 8.6 Left: 3D sketch for the contact forces: vertical restrictive force,
lateral friction and the power torque in the first wheel. Right:
Sketch of the position of local reference frames at the contact
point of each wheel of a differential drive robot, using regular
wheels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
Fig. D.1 Parallelepiped with Cartesian coordinates. x-axis: ½a; a with
a total length of A ¼ 2a; y-axis: ½b; b with a total length of
B ¼ 2b; and z-axis: ½c; c with a total length of C ¼ 2c . . . . . 414
Fig. D.2 Elliptical prism with Cartesian coordinates . . . . . . . . . . . . . . . . 414
Fig. D.3 Ellipsoid with Cartesian coordinates . . . . . . . . . . . . . . . . . . . . . 415
Fig. D.4 Parallelepiped with Cartesian coordinates limits at x 2 ½0; a,
y 2 ½0; b, and z 2 ½0; c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
Fig. D.5 Triangular prism. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
Fig. D.6 Rectangular Tetrahedral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
Fig. D.7 Quarter of an elliptical prism . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
Fig. D.8 Octant segment of an ellipsoid . . . . . . . . . . . . . . . . . . . . . . . . . . 419
Fig. D.9 Quarter of an elliptic cone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
Fig. D.10 Parallelepiped with Cartesian coordinates. x-axis: ½a; a with
a total length of A ¼ 2a; y-axis: ½b; b with a total length of
B ¼ 2b; and z-axis: ½c; c with a total length of C ¼ 2c . . . . . 425
Fig. D.11 Plate as a particular case of a parallelepiped . . . . . . . . . . . . . . . 427
Fig. D.12 Elliptical prism with Cartesian coordinates . . . . . . . . . . . . . . . . 427
xxii List of Figures

Fig. D.13 Elliptical plate as a particular case of a elliptical prism . . . . . . . 429


Fig. D.14 Cylinder as a particular case of an ellipsoidal prism . . . . . . . . . 430
Fig. D.15 Pole as a particular case of a cylinder . . . . . . . . . . . . . . . . . . . . 430
Fig. D.16 Ellipsoid with Cartesian coordinates . . . . . . . . . . . . . . . . . . . . . 431
Fig. D.17 Sphere as a particular case of an ellipsoid . . . . . . . . . . . . . . . . . 433
Fig. D.18 Spheroid with Cartesian coordinates . . . . . . . . . . . . . . . . . . . . . 433
Fig. D.19 Parallelepiped of Example D.4 . . . . . . . . . . . . . . . . . . . . . . . . . . 435
Fig. D.20 Triangular prism of Example D.5. . . . . . . . . . . . . . . . . . . . . . . . 437
Fig. D.21 Rectangular tetrahedral of Example D.6 . . . . . . . . . . . . . . . . . . . 439
Fig. D.22 Elliptical prism of Example D.7 . . . . . . . . . . . . . . . . . . . . . . . . . 442
Fig. D.23 Ellipsoid of Example D.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
Fig. D.24 One-quarter elliptical cone of Example D.9 . . . . . . . . . . . . . . . . 448
Fig. D.25 Cylinder with different local reference frame assignment . . . . . . 451
Fig. D.26 Quarter segment of an elliptical prism with rotated
frame R2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
Fig. D.27 Rotated Parallelepiped . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
Fig. D.28 Rotated Sphere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
Fig. D.29 Parallelepiped with reference frame at one corner . . . . . . . . . . . 456
Fig. D.30 Elliptical prism with reference frame at one edge . . . . . . . . . . . 457
Fig. D.31 Ellipsoid with reference frame at one end . . . . . . . . . . . . . . . . . 458
Fig. D.32 Eight-octant parallelepiped composed by 8 one-octant
parallelepipeds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
Fig. D.33 Eight-octant elliptical prism composed by 8 one-octant
segment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
Fig. D.34 Eight-octant ellipsoid composed by 8 one-octant segment . . . . . 467
List of Tables

Table 4.1 Conversion table of some unit quaternions to the their


equivalent pair of rotation, through the Rotation matrix . . . . . . 205
Table 4.2 Table of Rotation Matrices for the Attitude representations . . . . 223
Table 4.3 Conversion table for the axis/angle representation . . . . . . . . . . . 224
Table 4.4 Conversion table for the quaternion representation . . . . . . . . . . 225
Table 4.5 Conversion table for the Rodrigues parameters
representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Table 4.6 Conversion table for the RPY Euler angles attitude
representations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Table 4.7 Conversion table for the ZYZ intrinsic Euler angles attitude
representations, after (4.6) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
Table 4.8 Kinematics Operators table for 5 different attitude
representations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Table D.1 Axis signs and integration limits for the 8 octants segments
of a parallelepiped . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460

xxiii
Part I
Fundamentals
Chapter 1
Mathematic Foundations

All matrices of order n form a ring with unit element In . Since in


this ring the operation of multiplication by a number (of a given
number field F) is defined, and since there exist a basis
of n linearly independent matrices in terms of which all the
matrices of order n can be expressed linearly, the ring of
matrices of order n is an algebra.
F.R. Gantmacher (1977)

Linear algebra is not only related with matrices and matrix operations which define
the algebraic matrix theory, but also with linear operators which relate vectors spaces.
While matrices have a more algebraic point of view to these algebras, operators and
vectors spaces have a more geometric interpretation. It happens that linear operators
(those which fulfils superposition) are indeed expressed in matrix form which leads
to misinterpretation and confusion between these two mathematical elements.
This chapter is intended to clarify the most basic differences between matrices
and linear operators and in the process also the equivalences.

Consider the following set of n simultaneous equations:




⎪ y1 = a11 x1 + a12 x2 + · · · + a1n xn



⎪ y 2 = a21 x 1 + a22 x 2 + · · · + a2n x n

⎪ ..

.
(1.1)

⎪ yi = ai1 x1 + ai2 x2 + · · · + ain xn

⎪ ..



⎪ .

ym = am1 x1 + am2 x2 + · · · + amn xn

or equivalently in a succinct form as

© Springer Nature Switzerland AG 2019 3


E. Olguín Díaz, 3D Motion of Rigid Bodies, Studies in Systems,
Decision and Control 191, https://doi.org/10.1007/978-3-030-04275-2_1
4 1 Mathematic Foundations


n
yi = ai j x j (1 = 1, 2, . . . , m) (1.2)
j=1

The transformation of the quantities x1 , x2 , . . ., xn into quantities y1 , y2 , . . ., ym by


means of expressions in (1.1) is called a Linear Transformation; where the quantities
xi , y j and ai j can belong to any number field F, Gantmacher (1977).
On the other hand, if quantities yi = bi are known, expression (1.1) represents a
set of m simultaneous equations with n unknown variables x j , for which there is at
least one solution if there is at least as many independent equations than unknown
variables, i.e. m ≥ n (it may have a unique solution if the there is the same number
of independent equations than unknown variables i.e. n = m); and has no solution
if there are not enough equations i.e. m < n. The solutions relies in the values of
quantities ai j which can be expressed in a rectangular bidimensional array also known
as the matrix.
The major confusion between matrices and linear operators is that expression
(1.1) above can represent both: a matrix equation with proper matrices and matrix
operations or as a vector equation with the corresponding linear transformation alge-
bra. It happens that linear operators also form a ring and in consequence an algebra
of its own. Actually the term linear algebra must have been that of “algebra of linear
operators” or simple “linear operators’ algebra”, which indeed has a lot of matrix
algebra.

Definition 1.1 (Number Field) A number field is defined as any collection of num-
bers within which the four basic operations of addition, substraction, multiplication,
and division by a non-zero element can always be carried out, such as real num-
bers (R ⊂ F), integer numbers (Z ⊂ R ⊂ F), natural numbers (N ⊂ Z ⊂ R ⊂ F),
rational numbers (Q ⊂ R ⊂ F), complex numbers (C ⊂ F), and so on.

Remark Notice that natural numbers can be defined either with or without zero 0. In
this sense, in this work the natural numbers includes the zero: N = {0, 1, 2, 3, . . .}
and the set of natural numbers without the zero is represented by the set of positive
integers Z+ = {1, 2, 3, . . .}. 

Definition 1.2 (Group) A set of objects G, in which an operation “∗” is defined


which associates any two elements a ∈ G and b ∈ G is called a group if the set
fulfills, the 4 so called “group axioms”:
1. Closure: the operation a ∗ b = c ∈ G produce a third elements which also be-
longs to the set G.
2. Associativity: the operation has the associative property:
(a ∗ b) ∗ c = a ∗ (b ∗ c),
3. Identity Element: there exist a unique element e ∈ G such that
a ∗ e = e ∗ a = a, and
4. Inverse Element: there exist an inverse element a −1 ∈ G for every element a
such that a ∗ a −1 = a −1 ∗ a = e, with e being the identity element.
1 Mathematic Foundations 5

If in addition, a group presents

5. Commutativity: the operation a ∗ b = b ∗ a = c ∈ G

it is said to be a commutative group or Abelian group.

Example 1.1 The set of real numbers R is an Abelian group with respect to the
addition because ∀(a, b) ∈ R
1. a+b =c ∈R
2. (a + b) + c = a + (b + c) = d ∈ R
3. The additive identity is zero: e+ = 0 such that a + 0 = a
4. The additive inverse of an element a is its negative: a −1 = −a such that a +
(−a) = 0, and
5. a + b = b + a = c ∈ R.

Example 1.2 The set of real numbers R is an Abelian group with respect to the
product because ∀(a, b) ∈ R
1. a·b =c ∈R
2. (a · b) · c = a · (b · c) = d ∈ R
3. The product identity is the number one: e∗ = 1 such that a · 1 = a,
4. The product inverse of an element a is its reciprocal a −1 = 1/a such that a ·
(1/a) = 1, and
5. a · b = b · a = c ∈ R.

Definition 1.3 (Ring) A ring R is a collection of elements in which two operation


are defined and can always be carried out uniquely: the ‘addition’ of two elements
(with the commutative and associative properties, equivalent of being an Abelian
group wrt ‘addition’) and the ‘multiplication’ of two elements (with the associative
property, equivalent of being a group wrt to the ‘multiplication’); and moreover the
‘multiplication’ operation must also presents the distributive property with respect
to the ‘addition’:

a · (b + c) = (a · b) + (a · c) ∀ (a, b, c) ∈ R left distributivity


(b + c) · a = (b · a) + (c · a) ∀ (a, b, c) ∈ R right distributivity

Additionally, if the ‘multiplication’ operation is also commutative, the R is said to


be a commutative ring.

Example 1.3 The set of real numbers R is a Commutative Ring over the arithmetic
addition and product (as the ring’s ‘addition’ and ‘multiplication’ operations) since
it
(1) an Abelian group wrt to the addition,
(2) an Abelian group wrt to the product and
(3) the product operation is distributive wrt the addition.
6 1 Mathematic Foundations

1.1 Matrices

Definition 1.4 (Matrix) A Matrix “A” is a 2 dimension (rectangular) array of m × n


scalar elements, denoted [A]i, j = ai j ∈ F belonging to a given number field, such
that ⎡ ⎤
a11 a12 · · · a1 j · · · a1n
⎢ a21 a22 · · · a2 j · · · a2n ⎥
⎢ ⎥
⎢ .. .. .. .. ⎥
⎢ . . . . ⎥
A⎢ ⎥
⎢ ai1 ai2 · · · ai j · · · ain ⎥ ∈ F
m×n
(1.3)
⎢ ⎥
⎢ . . .. .. ⎥
⎣ .. .. . . ⎦
am1 am2 · · · am j · · · amn

Notation: Notice that the first sub index in each element of the array refers to
the row and the second to the column. If the elements ai j ∈ (Q, R, C) are ra-
tional, real or complex numbers, then the array is said to be, respectively A ∈
(Qm×n , Rm×n , Cm×n ).
Definition 1.5 (Square matrix) A rectangular matrix such as the one defined in (1.3)
is a square matrix if it has the same number of columns and rows, i.e. n = m.
Definition 1.6 (Order) For square matrices whose columns and rows dimension is
the same n = m, this characteristic dimension n is called its order.
Definition 1.7 (Partitioned matrix) A partitioned matrix is such that its elements
are [block] matrices of proper dimensions
⎡ ⎤
A11 A12 · · · A1 j · · · A1n
⎢ A21 A22 · · · A2 j · · · A2n ⎥
⎢ ⎥
⎢ .. .. .. .. ⎥
⎢ . . . . ⎥

A⎢ ⎥
A A
⎢ i1 i2 · · · A ij · · · Ain ⎥

⎢ . .. .. .. ⎥
⎣ .. . . . ⎦
Am1 Am2 · · · Am j · · · Amn

Notice that if all diagonal elements are square matrices, then the partitioned matrix
is also a square matrix.

Definition 1.8 (Column matrix) A column matrix “b” is a matrix consisting in one
singular column of m scalar elements bi ∈ F, such that
⎡ ⎤
b1
⎢ b2 ⎥
⎢ ⎥
bc  ⎢ . ⎥ ∈ Fm×1 (1.4)
⎣ .. ⎦
bm
1.1 Matrices 7

Example 1.4 Consider the matrix defined in (1.3). Consider that each column of this
matrix can be defined as a column matrix of the form:
⎡ ⎤
a1 j
⎢ a2 j ⎥
⎢ ⎥
ac j  ⎢ . ⎥ ∈ Fm×1 ∀ j = {1, . . . , n}
.
⎣ . ⎦
am j

Then the matrix A can be expressed as partitioned matrix of all column matrices acj
as 
A = ac1 ac2 · · · acn ∈ Fm×n

Example 1.5 The matrices definitions above allows to write the multiple scalar linear
transformation (1.1), in a simple matrix expression

y = Ax ∈ Fn (1.5)

where x is a column matrix made out of quantities x = [x1 , x2 , . . . , xn ]T ∈ Fn×1 and


y is a column matrix made out of quantities y = [y1 , y2 , . . . , ym ]T ∈ Fm×1 .

Remark From last example, expressions (1.1) and (1.5) define the canonic rule for
array multiplication. 

Definition 1.9 (Row matrix) A row matrix “b” is a matrix consisting in one singular
row of n scalar elements bi ∈ F, such that
 
br  b1 b2 . . . bn ∈ F1×n (1.6)

Example 1.6 Consider the matrix defined in (1.3). Consider that each row of this
matrix can be defined as a row matrix of the form:
 
ari  ai1 ai2 . . . ain ∈ F1×n ∀ i = {1, . . . , m}

Then A can be expressed as a vertically partitioned matrix of all row matrices ari as
⎡ ⎤
ar1
⎢ ar2 ⎥
⎢ ⎥
A=⎢ . ⎥ ∈ Fm×n
⎣ .. ⎦
arm

Definition 1.10 (Null Matrix) A matrix is said to be a null matrix if all and everyone
of its elements are null: [A]i, j = 0, ∀ i = {1, . . . , m}; j = {1, . . . , n}; ⇔

A=0
8 1 Mathematic Foundations

Definition 1.11 (Positive (nonnegative) Matrix) A matrix is said to be positive (non-


negative) if all and everyone of its elements are positive (nonnegative):
 
[A]i, j > 0 [A]i, j ≥ 0 ∀ i = {1, . . . , m}; j = {1, . . . , n}

Definition 1.12 (Diagonal Matrix) A diagonal matrix is a square matrix whose off-
diagonal elements are zero:
⎡ ⎤
d11 0 ··· 0
⎢ 0 d22 ··· 0 ⎥
⎢ ⎥
D=⎢ . .. .. .. ⎥ ∈ Fn×n
⎣ .. . . . ⎦
0 0 · · · dnn

Diagonal matrices can be summarized with its main diagonal elements in column
matrix form as
⎡ ⎤
d11
⎢ d22 ⎥
⎢ ⎥
d  ⎢ . ⎥ ∈ Fn×1
⎣ .. ⎦
dnn

and the matrix expression as

D = diag (d) = diag (d11 , . . . , dnn )

Definition 1.13 (Unit (Identity) Matrix) A diagonal matrix whose nonzero elements
are all 1, denoted as In ∈ Fn×n , is said to be a unit matrix or identity matrix of
order n: ⎡ ⎤
1 0 ··· 0
⎢0 1 ··· 0⎥
⎢ ⎥
In  diag ((1, 1, . . . , 1)) = ⎢ . . . . ⎥ ∈ Fn×n
⎣ .. .. . . .. ⎦
0 0 ··· 1

Definition 1.14 (Triangular Matrix) Consider a partitioned matrix A with the same
number n of vertical block elements and horizontal block elements.
This matrix is said to be upper triangular if each element Ai j = 0 for i > j:
⎡ ⎤
A11 A12 ··· A1n
⎢ 0 A22 ··· A2n ⎥
⎢ ⎥
A=⎢ . .. .. .. ⎥
⎣ .. . . . ⎦
0 0 · · · Ann

and it is said to be lower triangular if each element Ai j = 0 for i < j:


1.1 Matrices 9
⎡ ⎤
A11 ··· 0
⎢ A12 A22 · · · 0 ⎥
⎢ ⎥
A=⎢ . .. . . .. ⎥
⎣ .. . . . ⎦
A1n A2n · · · Ann

Definition 1.15 (The Transpose) The transpose of any given matrix A ∈ Fm×n , de-
noted as A T , is also an array whose elements are given by the elements of the original
array with inverting the subindex order:

[A T ]i, j = [A] j,i = a ji

Example 1.7 The resulting array A T corresponding to the matrix given by expression
(1.3) is following matrix with inverted dimensions:
⎡ ⎤
a11 a21 · · · ai1 · · · am1
⎢ a12 a22 · · · ai2 · · · am2 ⎥
⎢ ⎥
⎢ .. .. .. .. ⎥
⎢ . . . . ⎥
AT  ⎢
⎢ a1 j
⎥ ∈ Fn×m (1.7)
⎢ a2 j · · · ai j · · · ami ⎥⎥
⎢ .. .. .. .. ⎥
⎣ . . . . ⎦
a1n a2n · · · ain · · · amn

Example 1.8 Notice that from definitions of column matrix (1.4) and row matrix
(1.6), it follows that
bc = brT
br = bcT

Example 1.9 The transpose matrix A T in (1.7) can be expressed as the partitioned
matrix of both column and row matrices as follows.

A T = arT1 arT2 · · · arTm ∈ Fn×m
⎡ T⎤
ac1
⎢ acT ⎥
⎢ 2⎥
= ⎢ . ⎥ ∈ Fn×m
⎣ .. ⎦
acTn

Example 1.10 The transpose of a scalar α ∈ F can be obtained considering any


scalar as a matrix of dimension 1 × 1. Then it follows directly that

αT = α ∈ F1×1
10 1 Mathematic Foundations

1.1.1 The Determinant of a Matrix

Definition 1.16 (Determinant) The determinant det(A) of a square matrix A is the


scalar evaluation of a function of its inner elements ai j such that if different form
zero (det(A) = 0) the set of equations Ax = b has a unique solution x for a given
known element b; and if equal to zero (det(A) = 0) the set of equations Ax = b has
either no solution at all or has multiple solutions for x.

1.1.1.1 Determinant Evaluation of Square Matrices

Example 1.11 Consider the simple case of a matrix of order n = 1:


 
A = a11

It is evident that for this matrix to represents a system of equation with unique solution
the element a11 = 0. Then this unique scalar element is indeed its determinant:

det(A) = a11

For square matrices, it is often used the symbol | · | to represent the determinant:

det(A) = |A|

For the particular case of an order 1 (scalar) matrix A = a, its determinant is its
own value |A| = a; being different from the absolute value

det(A) = |A| = a11 = |a11 |

Example 1.12 Consider the simple case of a matrix of order n = 2:


 
a11 a12
A=
a21 a22

which can represent the coupled linear equations


   
a11 x1 + a12 x2 = b1 x b
with x = 1 ; b= 1 ; ⇒ Ax = b
a21 x1 + a22 x2 = b2 x2 b2

After triangularization (replacing the second equation by the addition of itself


minus the first one weighted with factor aa2111
), an equivalent set of simultaneous
equations arise as
1.1 Matrices 11

a11 x1 + a12 x2 = b1
a21 a21
a22 x2 − a12 x2 = b2 − b1
a11 a11

with and equivalent (triangular) matrix:


 
a11 a12
Ā =
0 a22 − aa21
11
a12

Then the system determinant for which the equivalent set of equations to have a
unique solution is the product of the diagonal elements of the triangularized matrix:
 
a21 a12
a11 a22 − =0
a11

Then the determinant of matrix A is indeed:

det(A) = |A| = | Ā| = a11 a22 − a21 a12

Example 1.13 Consider the case of a matrix of order n = 3:


⎡ ⎤
a11 a12 a13
A = ⎣a21 a22 a23 ⎦
a31 a32 a33

The triangularized matrix (for an equivalent system equation set) becomes:


⎡ ⎤
a11 a12 a13
a11 a22 −a21 a12 a11 a23 −a21 a13
Ā = ⎣ 0 a11 a11

a11 a33 −a31 a13 a32 −a31 a12 a11 a23 −a21 a13
0 0 a11
− aa11
11 a22 −a21 a12 a11

The determinant of an order 3 matrix is given the product of the diagonal elements
of the triangularized matrix:

det(A) = |A| = | Ā|


= a11 a22 a33 + a12 a23 a31 + a13 a21 a32 − a11 a23 a32 − a12 a21 a33 − a13 a22 a31
(1.8)

Property 1.1 It can be seen that the determinant of a triangular matrix (in particular
diagonal matrix) is given as


n
Determinat of a triangular matrix: det(A) = det(Aii ) (1.9)
i1
12 1 Mathematic Foundations

Remark Notice that the determinant of the order 3 matrix (1.8) can also be expressed
with either of the following expressions:

det(A) = a11 (a22 a33 − a23 a32 ) − a12 (a21 a33 − a23 a31 ) + a13 (a21 a32 − a22 a31 )
(1.10a)
= a21 (a13 a32 − a12 a33 ) − a22 (a13 a31 − a11 a33 ) + a23 (a12 a31 − a11 a32 )
(1.10b)
= a31 (a12 a23 − a13 a22 ) − a32 (a11 a23 − a13 a21 ) + a33 (a11 a22 − a12 a21 )
(1.10c)
= a11 (a22 a33 − a23 a32 ) − a21 (a12 a33 − a13 a32 ) + a31 (a12 a23 − a13 a22 )
(1.10d)
= a12 (a23 a31 − a21 a33 ) − a22 (a13 a31 − a11 a33 ) + a32 (a13 a21 − a11 a23 )
(1.10e)
= a13 (a21 a32 − a22 a31 ) − a23 (a11 a32 − a12 a31 ) + a33 (a11 a22 − a12 a21 )
(1.10f)

where for any of this expressions, the terms in parenthesis are indeed determinants
of order 2 matrices made with elements of the original order 3 matrix A.
From determinant definition above, it follows that the determinant evaluation of
any matrix can be achieved in a recursive manner using determinants of reduced
order square matrices made out of the elements of the original matrix. 

Definition 1.17 (Algebraic Complement) Consider the rectangular matrix A as in


(1.3). The algebraic complement Mi j (A) ∈ F(m−1)×(n−1) , of matrix A, is obtained
from A by eliminating the ith-row and the jth-column:
⎡ ⎤
a11 a12 · · · a1( j−1) a1( j−1) · · · a1n
⎢ a21 a22 · · · a2( j−1) a1( j−1) · · · a2n ⎥
⎢ ⎥
⎢ .. .. .. .. .. ⎥
⎢ . . . . . ⎥
⎢ ⎥
Mi j (A)  ⎢ a a
⎢ (i−1)1 (i−1)2 · · · a a
(i−1)( j−1) (i−1)( j−1) · · · a ⎥
(i−1)n ⎥
⎢ a(i+1)1 a(i+1)2 · · · a(i+1)( j−1) a(i+1)( j−1) · · · a(i+1)n ⎥
⎢ ⎥
⎢ . .. .. .. .. ⎥
⎣ .. . . . . ⎦
am1 am2 · · · am( j−1) am( j−1) · · · amn

Definition 1.18 (Minor) The i jth minor (of order n − 1) of a given square matrix
A, is the determinant of the corresponding algebraic complement:
 
 Mi j (A) ∈ F

The minors corresponding to the diagonal values of a matrix (i.e. i = j) are called
principal minors.
1.1 Matrices 13

Definition 1.19 (Cofactor) The cofactor γi j , corresponding to the element ai j of a


square matrix A of order n is given by the corresponding minor, with a sign correction
given by the element position as:
 
 
γi j  (−1)i+ j Mi(n−1)
j 

Example 1.14 Consider the simple case of a matrix of order n = 2:


 
a a12
A = 11
a21 a22

Their algebraic complements of order n − 1 = 1 are:

M11 = a22 ; M12 = a21 ;


M21 = a12 ; M22 = a11 ;

Consequently their cofactors are

γ11 = a22 ; γ12 = −a21 ;


γ21 = −a12 ; γ22 = a11 .

Example 1.15 Consider the case of a matrix of order n = 3:


⎡ ⎤
a11 a12 a13
A = ⎣ a21 a22 a23 ⎦
a31 a32 a33

The algebraic complements of order n − 1 = 2 are:


     
a22 a23 a21 a23 a21 a22
M11 = ; M12 = ; M13 = ;
a32 a33 a31 a33 a31 a32
     
a a a a a a
M21 = 12 13 ; M22 = 11 13 ; M23 = 11 12 ;
a32 a33 a31 a33 a31 a32
     
a a a a a a
M31 = 12 13 ; M32 = 11 13 ; M33 = 11 12 .
a22 a23 a21 a23 a21 a22

From which the cofactors can be calculated to be as follows

γ11 = a22 a33 − a23 a32 ; γ12 = −(a21 a33 − a23 a31 ); γ13 = a21 a32 − a22 a31 ;
γ21 = −(a12 a33 − a13 a32 ); γ22 = a11 a33 − a13 a31 ; γ23 = −(a11 a32 − a12 a31 );
γ31 = a12 a23 − a13 a22 ; γ32 = −(a11 a23 − a13 a21 ); γ33 = a11 a22 − a12 a21 .
14 1 Mathematic Foundations

1.1.1.2 Laplace Extension

For square matrices, the Laplace extension (Khailath 1980) gives a recursive formu-
lation to calculate the determinant of any order of square matrices. This is based on
the addition of the elements of any column or row, weighted by their cofactors:


n
|A| = ai j γi j for any column j = (1, . . . , n) (1.11a)
i=1
n
= ai j γi j for any row i = (1, . . . , n) (1.11b)
j=1

Property 1.2 From the Laplace extension  formula to compute the determinant of a
matrix A = a1 · · · a p · · · aq · · · an or order n, it can be seen that if two columns
of the same matrix (for example a p and aq ) are inverted in position with each other,
the sign on the corresponding cofactor would change arising the following property
   
det a1 · · · a p · · · aq · · · an = − det a1 · · · aq · · · a p · · · an

which means that the determinant of a square matrix is null if it has two equal
columns (or rows), and consequently A is no longer a full-rank matrix: ρ(A) < n.

Example 1.16 Consider the order 2 matrix of Example 1.14, where its cofactors are
given. Using (1.11) and taking either only one row or one column of A, its determinant
is uniquely given as
⎧ ⎫

⎪ a11 γ11 + a12 γ12 ⎪

⎨ ⎬
a21 γ21 + a22 γ22
|A| = = a11 a22 − a12 a21
⎪ a11 γ11 + a21 γ21 ⎪
⎪ ⎪
⎩ ⎭
a12 γ12 + a22 γ22

Example 1.17 Using again (1.11), the determinant of an order 3 matrix has 6 different
representations (1 for each column abd 1 for each row). The explicit expression are
given by (1.10).

Property 1.3 The determinant of a diagonal matrix


⎡ ⎤
d11 0 ··· 0
⎢ 0 d22 ··· 0 ⎥
⎢ ⎥
D = diag (d11 , . . . , dnn ) = ⎢ . .. .. .. ⎥ ∈ Fn×n
⎣ .. . . . ⎦
0 0 · · · dnn

or order n, after the Laplace extension formula, arise as the multiplication of all its
diagonal elements:
1.1 Matrices 15


n
|D| = d11 d22 · · · dnn = dii
i=1

1.1.1.3 Determinant Extension for Non Square Matrices

Definition 1.20 (The maximal-order submatrix of a rectangular matrix) Consider


the rectangular matrix A as in (1.3), where the maximal square submatrix has order
r = min(n, m). The r -order submatrices Sl(r ) (A) are square matrices formed with
only r chosen out of n columns (or r out of m rows):
⎧ 
⎪ · · · , ac j , · · · if m < n

⎪ ⎡ ⎤

⎪ .

⎨ ⎢ .. ⎥ ∀ l = (1,2, . . . , q),
Sl(r ) (A) = ⎢ ari ⎥ if m > n  (1.12)

⎪ ⎣ ⎦ and q = max(n,m)

⎪ .
.
r

⎩ .

A if m = n
max(n,m)
Notice that for any rectangular matrix, there is only1 q = r
square sub-
matrices with maximal possible order r .

Example 1.18 For column or row matrices of dimension n, the maximal possible
order of square submatrices is r = 1. In consequence
 the maximal-order submatrices
of any column/row matrix are the q = n1 = n elements of the matrix:

Sl(1) (a) = al , ∀ l = (1, . . . , n)

( p)
Definition 1.21 (A p-order algebraic complement) An algebraic complement Mi j
of order p is square algebraic complement of an algebraic complement of superior
( p+1)
order Mkl :
  
( p+1)
( p) Mi j Mkl (A) if 1 ≤ p < r
Mi j (A) =
S (rj ) (A) if 1 ≤ p = r

where the maximal square sub-matrix Sl(r ) (A) is any of those defined in (1.12).
   
Notice that for any rectangular matrix, there is always mp · np algebraic comple-
ments of any order p.

n 
1 The scalar term r = n Cr = n!
r !(n−r )! is a binomial coefficient for as many combinations of r out
of n elements.
16 1 Mathematic Foundations

Definition 1.22 (Minor of order p) The i jth minor of order p, of a given matrix A,
is the determinant of the corresponding p-order algebraic complements:
 
 ( p) 
Mi j (A) ∈ F

Definition 1.23 (Determinant) The determinant of a rectangular matrix A ∈ Fm×n ,


with m < n, denoted as det(A) ∈ F, is a scalar quantity that characterize the given
array, defined as follows


q
det(A)  |Mil(m) | for any i = {1, . . . , n} (1.13)
l=1

n 
where each |Mil(m) | is one of the q = m
minors of order m of matrix A.

Notice that for a square matrix n = m. Hence q = 1, which means that there is only
one minor of order n.

Example 1.19 For column/row matrices of dimension n, its minors are the elements
of the array. Then from the determinant definition of rectangular matrices, the deter-
minant of a column/row matrix is the addition of all the elements of it.


n
det(a) = ai , ∀ i = (1, . . . , n)
i=1

Notice that det(a) = 0 does not means that a = 0 is a null matrix (except for the
particular case of scalars-order 1 matrices-).

Property 1.4 Notice that the determinant of a [rectangular] matrix fulfills the fol-
lowing property

Determinant of a transpose matrix: det(A T ) = det(A)

1.1.2 Other Basic Functions of a Matrix

Definition 1.24 (Trace) The trace of a square matrix A or order n, is the sum of its
main diagonal elements:


n
tr(A)  aii
i=1
1.1 Matrices 17

Definition 1.25 (Rank) The rank ρ of a matrix A is the largest order of its non-zero
minors:
ρ(A) ≤ min(n, m)

A matrix whose rank is ρ{A} = r is said to be a full rank matrix. Notice that a
square matrix is full rank if ρ{A} = n. A rectangular matrix is column-full rank is
ρ{A} = n < m, and row-full rank if ρ{A} = m < n.

Example 1.20 The rank of a nonzero column matrix a = 0 of any dimension n, is 1:

ρ(a) = 1 (1.14)

1.1.3 Basic Matrix Operations

The four basic operation of addition, substraction, multiplication and “division” can
be defined for most of the matrices. There are however some important differences
with respect to the classic operations with scalar elements. These concepts are dis-
cussed in this section.

1.1.3.1 Addition

Definition 1.26 (Array addition) The array addition A + B = C is defined for two
array (A, B) ∈ Fm×n of exactly the same dimensions, where each element

ci j = [A + B]i, j  ai j + bi j ∀ i = {1, . . . , m}; j = {1, . . . , n}

is the addition of corresponding elements of the summands, giving a third array


C ∈ Fm×n of exactly de same dimensions.

Property 1.5 From definition above, it follows straight forward that the array ad-
dition fulfils commutativity and associativity properties:

Null element: A+0 = A


Commutativity: A+B = B+A
Associativity: (A + B) + C = A + (B + C)
Transposition: (A + B)T = AT + B T

Definition 1.27 (Array substraction) The array substraction or difference A − B =


C is defined for two array (A, B) ∈ Fm×n of exactly the same dimensions, as

A − B = A + (−1)B = C ∈ Fm×n
18 1 Mathematic Foundations

In a practical way each element of the difference can be computed as

ci j = [A − B]i, j  ai j − bi j ∀ i = {1, . . . , n}; j = {1, . . . , m}

Remark The array substraction is equivalent to the array addition with a negative
matrix A − B = A + (−B) = C. Then any set of rectangular matrices with the same
dimension Fm×n is an Abelian group (due to commutativity) wrt to the addition
operation with a null matrix as the identity element and the negative of any other
matrix as the inverse element. 

1.1.3.2 Matrix Multiplication

Contrary to scalars, there are many definitions for the product of arrays such as the
Kronecker product, Schur product, Frobenius product, etc. (Khailath 1980); which
greatly depends on the dimensions of both arrays.

Definition 1.28 (Dyad) A dyad is the product of any two arrays A and B each of
them with its own dimensions and is expressed as

AB

The canonical product of two arrays can be deduced from expression (1.1), (1.2)
and (1.5), from which the usual multiplication rule is defined to be:


m
yi  ai1 x1 + ai2 x2 + · · · + ain xn = ai j x j
j=1

Since any rectangular matrix can be expressed as a partitioned matrix of single


column arrays, the product of two matrices A = [a1 , a2 , . . . , an ] ∈ Fm×n and B =
[b1 , b2 , . . . , bs ] ∈ Fn×s , where ai ∈ Fm×1 (i = 1, 2, . . . , m) and b j ∈ Fn×1 ( j =
1, 2, . . . , s), becomes
 
AB = A b1 , b2 , . . . , b p
 
= Ab1 , Ab2 , . . . , Ab p ∈ Fm×s

From which the canonical matrix product can be defined as follows.

Definition 1.29 (The matrix product) Consider two arrays A ∈ Fm×n and B ∈ Fn×s .
The [usual] product AB ∈ Fn×s is defined such that each element fulfils the following
rule:


n
[AB]i j  aik bk j i = {1, 2, . . . , m}; j = {1, 2, . . . , s} (1.15)
k=1
1.1 Matrices 19

Remark Notice that the commutative product B A does not always exist, because of
the dimensions of both matrices A and B. However if s = m the product AB ∈ Fm×m
and B A ∈ Fn×n , both being square matrices but with different dimensions. Even
further, if in addition n = m, both products (AB, B A) 
∈ Fn×n would be of the same
n
dimension, but the elements [AB]i j = ari · bc j
= k=1 aik bk j are intrinsically
m
different with those of [B A]i j = bri · ac j = k=1 ik k j giving rise to different
b a
matrices. 
Property 1.6 (Matrix product properties) The array product presents the following
properties (with appropriate dimensions in each matrix):

Identity product: AIn = Im A = A


Associativity: ABC = (AB)C = A(BC)
Product Distributivity: (A + B)C = AC + BC
Addition Distributivity: A(B + C) = AB + AC
Transpose: [AB]T = B T A T
Non-commutative (in general): AB = B A
Non-orthogonal Complementarity: AB = 0  A = 0 or B = 0
AC = BC  A = B
    
Determinant:  A B  =  A  B  (1.16a)
Rank: ρ(AB) ≤ min (ρ(A), ρ(B)) (1.16b)
Self-Product rank: ρ(A T A) = ρ(A A T ) = ρ(A) (1.16c)
   q
 ( p)  ( p) ( p)
Binet−Cauchy formula: Mi j (AB) = |Mil (A)| · |Ml j (B)|
l=1
(1.16d)
 
where in the in last expression A ∈ Fm×n , B ∈ Fn×s , and q = Rp = C pR = p!(R−
R!
p)!
is the combination number of p ≤ r elements out of R, with r = min(m, n, s) and
R = max(m, n, s) being respectively the smallest and biggest dimensions m, n or s
of matrices A and B.
Remark The Binet–Cauchy formula (1.16d), Gantmacher (1977), Khailath (1980),
establishes the determinant of any minor of any order p of the product of two rect-
angular matrices A and B, as a function of the minors (of the same order) of the
independent factors.
This formula allows some important results:
1. The determinant (minor of maximal order p = r = min(m, n, s)) of a product
of rectangular matrices:


q
det(AB) = |Mil(r ) (A)| · |Ml(rj ) (B)|
l=1
20 1 Mathematic Foundations

2. The definition of the determinant of a non-square matrix, given in (1.13); obtained


from last expression using B = In .
3. The particular case for minors of order p = 1 yields to (1.15).
4. The determinant of the product of two square matrices (m = n = s, ⇒ R = r =
p = n, ⇒ q = 1) is the product of their independent determinants, as expressed
by (1.16a)
5. The rank of a product of matrices cannot exceed the rank of any of the factors, as
expressed by (1.16b). 

Other Array Products

Definition 1.30 (Scalar multiplication) The product of a Matrix A ∈ Fm×n by a


scalar α ∈ F is a matrix
C = αA

with the same dimensions as A and whose elements are computed as

ci j = [C]i j = α[A]i j = αai j ∀ i = {1, . . . , m}; j = {1, . . . , n}

Property 1.7 From definition above, it follows straight forward that the scalar mul-
tiplication fulfils the following properties, for all (A, B) ∈ Fm×n , (α, β) ∈ F:

Matrix distributivity: α(A + B) = α A + αB


Scalar distributivity: (α + β)A = α A + β A
Associativity: (αβ)A = α(β A)
Commutativity: α A = Aα
Transposition: (α A)T = α A T
Determinant: |α A| = αn |A|

Definition 1.31 (The scalar (inner) product) The scalar product of two column (or
row) matrices (a, b) ∈ Fn of the same dimension is defined as


n
a, b  ai bi ∈F
i=1

If both are column matrices it can also be written as

a, b = a T b

Property 1.8 Since the inner product is a scalar, this product is commutative:

Commutativity: a, b = a T b = b T a = b, a
1.1 Matrices 21

Remark Notice that it is sometimes used a different notation for the inner product:
a|b , which is indeed a different inner product defined as follows
t
a|b  a, b dt 
t0

Definition 1.32 (The dyadic (external) product) The external product of two column
matrices a ∈ Fm×1 and b ∈ Fn×1 is defined as the following product
⎡ ⎤ ⎡ ⎤
a1 a1 b1 a1 b2 · · · a1 bn
⎢ a2 ⎥   ⎢ ⎥
⎢ ⎥ ⎢ a2 b1 a2 b2 · · · a2 bn ⎥
ab T  ⎢ . ⎥ b1 b2 · · · bn = ⎢ . ∈ Fm×n
⎣ .. ⎦ ⎣ .. .. . . . .. ⎥
. .

am am b1 am b2 · · · am bn

Remark The external product is in general not commutative, i.e.: ab T = ba T . 

Property 1.9 For two different column matrices of the same dimension a ∈ Fn×1
and b ∈ Fn×1 it follows:

inner-external product realtionship: tr (ab T ) = a, b

Definition 1.33 (Kronecker Product) The Kronecker product is defined for any two
matrices of any dimension ( A ∈ Fm×n and B ∈ Fs×t ) as a partitioned matrix whose
block matrices are produced by the element-wise scalar product of the elements of
the first matrix in the dyad with the second matrix:
⎡ ⎤
a11 B · · · a1n B
⎢ ⎥
A ⊗ B  ⎣ ... . . . ... ⎦ ∈ Fms×nt
am1 B · · · amn B

Definition 1.34 (Schur Product) Is the element-wise multiplication of two matrices


of the same dimensions (not necessarily square, (A, B) ∈ Fm×n ), which produce a
third matrix of the original dimensions.

[A ◦ B]i, j  [A]i, j [B]i, j ; A ◦ B ∈ Fm×n

Definition 1.35 (Frobenius Product) Is a scalar value produced after the addition
of the elements of the Schur product of two matrices with the same dimension
(A, B) ∈ Fm×n , using the following rule:


m 
n
A:B [A]i, j [B]i, j = tr (A∗ T B) = tr (AB ∗ T ) ∈ F (1.17)
i=1 j=1
22 1 Mathematic Foundations

where “A∗ ” stands for complex conjugate. This product is also called Frobenius inner
product, also written as A, B F

Remark Notice that the Frobenius product within the same matrix


m 
n
A : A = tr (A∗ T A) = tr (A A∗ T ) = |ai, j |2 > 0 (1.18)
i=1 j=1

is the element-wise addition of the square modulus of all the elements of


matrix A. 

Definition 1.36 (Lie Product) Is a square matrix produced by the difference of the
simple product order of two square matrices of the same order ((A, B) ∈ Fn×n ),
using the following rule:


n
[[A, B]]i, j  {aik bk j − bik ak j } ⇒ [A, B] = AB − B A ∈ Fn×n
k=1

1.1.3.3 Array’s Quotients (“Division”)

“Division” of arrays or matrices is a complex subject since there is not a unique way
of expressing the operation:
A/B = T

where the resulting term T is known as a Tensor, and is mostly an abstraction of this
kind of division. Concrete expressions are more easily found in the form A = T B,
where the dimensions of the matrix T are properly defined by the dimension of the
corresponding matrices A and B.
The simplest matrix division arise for square matrices which defines complete and
non-redundant linear system like (1.1) with exactly the same number of unknowns
as linear equations (n = m). Then it is possible also to define the inverse element for
the matrix multiplication, that according to the multiplication rule is only valid for
square matrices.

Definition 1.37 (Adjugate Matrix) The adjugate2 matrix ad j (A) of a square matrix
A, is the transpose of a matrix whose elements are the cofactors of matrix A
 T  
ad j (A)  γi j = γ ji

2 Notice that in the literature, this matrix is commonly referred as the adjoint matrix. However the
term “adjoint” is sometimes used for different purposes. For instance in Gantmacher (1977) the
adjoint matrix of A is defined as the adjugate matrix of the resolvent matrix λIn − A: B(A) =
ad j (λIn − A), where λ represent the set of eigenvalues of A. However the term adjoint matrix is
mostly used to refer the conjugate transpose of a complex square matrix.
1.1 Matrices 23

Example 1.21 Consider the order 2 matrix of Example 1.14, where its cofactors are
given. The adjugate matrix is then
   
γ γ21 a22 −a12
ad j (A) = 11 =
γ12 γ22 −a21 a11

Definition 1.38 (The Inverse Matrix) Given a square matrix A of order n, a matrix
X that fulfils
AX = X A = In

is called the inverse matrix of A, and is denoted as X = A−1 .

One analytical solution is known to be

ad j (A)
A−1  ; ∀|A| = 0
|A|

The existence condition |A| = 0 means that the largest order of a non-zero minor
shall be indeed the order of the matrix n, or equivalently that the matrix shall be full
rank: ρ(A) = n.

Example 1.22 Consider the case of an order 2 matrix given in Examples 1.14, 1.16,
and 1.21. Then the inverse of a 2 × 2 square matrix is given as
 
a22 −a12
−a21 a11
A−1 =
a11 a22 − a12 a21

Example 1.23 Consider the simple order 3 matrix whose cofactors and determinant
are given in Example 1.15. Then its Adjugate matrix is written as
⎡ ⎤
γ11 γ21 γ31
ad j (A) = ⎣ γ12 γ22 γ32 ⎦
γ13 γ23 γ33

and its inverse becomes


⎡ ⎤
a22 a33 − a23 a32 −a12 a33 + a13 a32 a12 a23 − a13 a22
⎣ −a21 a33 + a23 a31 a11 a33 − a13 a31 −a11 a23 + a13 a21 ⎦
a21 a32 − a22 a31 −a11 a32 + a12 a31 a11 a22 − a12 a21
A−1 =
a11 a22 a33 + a12 a23 a31 + a13 a21 a32 − a13 a22 a31 − a12 a21 a33 − a11 a23 a32
24 1 Mathematic Foundations

Definition 1.39 (Singular Matrix) A square matrix A of order n, is said to be singular


if its determinant is null:
|A| = 0

Otherwise is called non-singular.


In consequence, singular matrices are not full rank i.e. ρ(A) < n and they have no
inverse. Consequently, the condition for inverse existence can be expressed as
Any square matrix A has an inverse matrix A−1 if it is non-singular, i.e.

|A| = 0 ≡ ρ(A) = n.

Definition 1.40 (Right (left) quotients) Consider the following matrix equations

AX = B, Y A = B

where A is square matrix such that |A| = 0 and (B, X, Y ) are rectangular matrices
of the same dimensions.
These equations have only one solution, respectively:

X = A−1 B and Y = B A−1

where the matrices X and Y are called respectively, the ‘right’ quotient and ‘left’
quotient of “dividing” B by A.
Since ρ(A) = n (rank of A is full), it follows from (1.16c) that ρ(X ) = ρ(Y ) = ρ(B),
which means that the rank of the quotient matrix, either left or right, is the same as
it factor.
Property 1.10 (Inverse matrix properties) Consider two square matrices (A, B) of
order n, where A is non-singular. The following properties hold
1
Inverse determinant: |A−1 | =
|A|
Inverse of a product: [AB]−1 = B −1 A−1 if ∃ B −1
 −1 T −1
Transpose of an Inverse: A = AT = A−T

 −1
I + A−1 B A−1  −1
Inverse of an addition: [A + B]−1 =  −1 −1 if ∃ I + A−1 B
A−1
− A−1 B
I + A−1 B A
  −1
A −1 I + BA −1  −1
=  −1 if ∃ I + B A−1
A−1 − A−1 I + B A−1 B A−1

Remark The existence of the inverse of a square matrix produce that the set of full
rank square matrices of any dimension is a group (non-commutative group) w.r.t. to
the product operation with a unit matrix as the identity element and the inverse of
any other matrix as the inverse element. 
1.1 Matrices 25

1.1.3.4 Differential Operations

Definition 1.41 (Partial derivative of a Matrix w.r.t. a scalar) Given a rectangular


matrix A of dimension (m × n), whose elements are endowed with partial derivatives
with respect to a scalar α. The partial derivative of the matrix A(α) with respect to
the scalar α is also a matrix of the same dimensions whose elements are the partial
derivative with the scalar:
 
∂ A(α) ∂ [A(α)]i, j ∂ A(α)
= ∈F ≡
∂α i, j ∂α ∂α

Definition 1.42 (The time derivative of a Matrix) Given a rectangular matrix A of


dimension (m × n), where each element ai j is continue and differentiable scalar
function, has time derivative Ȧ = ddtA ∈ Fm×n where each element is given as
 
dA d
= [A]i j ∈ F
dt i, j dt

Property 1.11 Notice that the time derivative of an inverse (square) matrix A−1
exist if the matrix is full rank, i.e. ∃ A−1 .

d ! −1 "
A = −A−1 Ȧ A−1
dt
Definition 1.43 (Partial derivative of a scalar w.r.t. a matrix) Given a scalar α en-
dowed with partial derivatives with respect to the elements of a matrix b of dimension
(m × n). The partial derivative of the scalar with respect to the matrix b is also a
matrix of the same dimensions of b.

Example 1.24 For a column matrix b = [b1 , b2 , . . . , bm ]T (n = 1):


⎡ ⎤
∂α
⎢ ∂b1 ⎥
⎢ ∂α ⎥
⎢ ⎥
∂α ⎢ ⎥
=⎢ ∂b
⎢ .1
⎥ ∈ Fm×1

∂b ⎢ .. ⎥
⎢ ⎥
⎣ ∂α ⎦
∂bm

Example 1.25 For a row matrix b = [b1 , b2 , . . . , bn ] (m = 1):


 
∂α ∂α ∂α ∂α
= ··· ∈ F1×n
∂b ∂b1 ∂b1 ∂bn
26 1 Mathematic Foundations

Example 1.26 For a rectangular matrix


⎡ ⎤
b11 b12 ··· b1n
⎢ b21 b22 ··· b2n ⎥
⎢ ⎥
B=⎢ . .. .. ⎥ ∈ Fm×n
⎣ .. . . ⎦
bm1 bm2 ··· bmn

the partial derivative becomes


⎡ ⎤
∂α ∂α ∂α
···
⎢ ∂b11 ∂b12 ∂b1n ⎥
⎢ ∂α ∂α ∂α ⎥
⎢ ⎥
∂α ⎢ ··· ⎥
=⎢ ∂b
⎢ . 21
∂b22 ∂b2n ⎥ ∈ Fm×n

∂B ⎢ . .. .. ⎥
⎢ . . . ⎥
⎣ ∂α ∂α ∂α ⎦
···
∂bm1 ∂bm2 ∂bmn

Example 1.27 (Particular case) Consider the scalar inner product of two col-
umn matrices, i.e. α = x, y = x T y = y T x = x1 y1 + x2 y2 + · · · + xn yn . The par-
tial derivatives with respect to x and y are, respectively
⎡ ∂(x y + x y + · · · + x y ) ⎤ ⎡ ⎤
1 1 2 2 n n
⎢ ∂x ⎥ ⎢ y1 ⎥
⎢ ∂(x y + x y + 1
· · · + xn yn ) ⎥
⎢ ⎥ ⎢ ⎥
⎥ ⎢ y2 ⎥
1 1 2 2

∂ x, y ⎢ ∂x2 ⎢
⎥ ⎢ ⎥
=⎢ ⎥ = ⎢ .⎥ = y,
∂x ⎢ .
.. ⎥ ⎢ .⎥
⎢ ⎥ ⎢ .⎥ ⎥
⎢ ⎥
⎣ ∂(x1 y1 + x2 y2 + · · · + xn yn ) ⎦ ⎣ ⎦
yn
∂xn

⎡ ∂(x y + x y + · · · + x y ) ⎤ ⎡ ⎤
1 1 2 2 n n
⎢ ∂ y1 ⎥ x1
⎢ ∂(x y + x y + · · · + x y ) ⎥ ⎢ ⎢ ⎥

⎢ n n ⎥ ⎢
⎥ ⎢ x2 ⎥
1 1 2 2
∂ x, y ⎢
⎢ ∂ ⎥ ⎢ ⎥
⎥ = ⎢ .⎥
=⎢ y 2 =x
∂y ⎢ .. ⎥ ⎢ .⎥
⎢ . ⎥ ⎢ .⎥ ⎥
⎢ ⎥
⎣ ∂(x y + x y + · · · + x y ) ⎦ ⎣ ⎦
1 1 2 2 n n xn
∂ yn

Definition 1.44 (Partial derivative of a matrix w.r.t. a different matrix) Given a


matrix A of dimension (m a × n a ), with elements endowed with partial derivatives
with respect to the elements of a matrix B of dimensions (m b × n b ), the partial
derivative of the matrix A with respect to matrix B is a partitioned matrix whose
block elements are the partial derivatives of A with respect to the scalar elements
[B]i, j . The dimensions of partial derivative are (m a m b × n a n b ):
1.1 Matrices 27
 
∂A ∂A
=
∂B i, j ∂[B]i, j

Example 1.28 A row matrix a = [a1 , a2 , . . . , ana ] (m a = 1), w.r.t. a column matrix
b = [b1 , b2 , . . . , bm b ]T (n b = 1):
⎡ ∂a ∂a2 ∂ana ⎤
1
···
⎢ ∂b1 ∂b1 ∂b1 ⎥
⎢ ∂a ∂a2 ∂ana ⎥
⎢ 1
··· ⎥
∂a ⎢ ⎥
=⎢ ∂b2 ∂b2 ∂b2 ⎥ ∈ Fm b ×na (1.19)
∂b ⎢⎢ ... .. .. ⎥

⎢ . . ⎥
⎣ ∂a1 ∂a2 ∂ana ⎦
···
∂bm b ∂bm b ∂bm b

Example 1.29 A column matrix a = [a1 , a2 , . . . , am a ]T (n a = 1) w.r.t. a row matrix


b = [b1 , b2 , . . . , bn b ] (m b = 1):
⎡ ⎤
∂a1 ∂a1 ∂a1
⎢ ∂b1 ··· ⎥
⎢ ∂b2 ∂bn b ⎥
⎢ ∂a2 ∂a2 ∂a2 ⎥
∂a ⎢ ··· ⎥
⎢ ⎥
= ⎢ ∂b1 ∂b2 ∂bn b ⎥ ∈ Fm a ×n b
∂b ⎢ .. .. .. ⎥
⎢ . . . ⎥
⎢ ⎥
⎣ ∂am a ∂am a ∂am a ⎦
···
∂b1 ∂b2 ∂bn b

Example 1.30 A rectangular matrix A ∈ Fm a ×na w.r.t. a rectangular matrix B ∈


Fm b ×n b , the partial derivative becomes
⎡ ⎤
∂A ∂A ∂A
⎢ ∂b11 ··· ⎥
⎢ ∂b12 ∂b1n b ⎥
⎢ ∂A ∂A ∂A ⎥
∂A ⎢ ⎢ ··· ⎥

= ⎢ ∂b21 ∂b22 ∂b2n b ⎥ ∈ Fm a m b ×na n b
∂B ⎢ .. .. .. ⎥
⎢ . . . ⎥
⎢ ⎥
⎣ ∂A ∂A ∂A ⎦
···
∂bm b 1 ∂bm b 2 ∂bm b n b

Property 1.12 (Inner product gradient) Consider the scalar inner product of two
column matrices x = [x1 , x2 , . . . , xn ]T and y = [y1 , y2 , . . . , ym ]T , i.e. α = x, y =
x T y = y T x = x1 y1 + x2 y2 + · · · + xn yn , and together with the condition that some
elements of the second matrix depend on the first matrix variables

y = y(x)
28 1 Mathematic Foundations

Then the partial derivative with respect to x is

∂ x, y ∂ y(x) T
=y+ x (1.20)
∂x ∂x

∂ y(x) T ∂ y T (x)
where the matrix = has the form (1.19).
∂x ∂x
Proof Consider the ith element of the differentiation matrix above:

n # $
∂ x, y ∂(x1 y1 + x2 y2 + · · · + xn yn ) ∂yj ∂y
= = yi + xj = yi + x,
∂xi ∂xi j=1
∂xi ∂xi

 T
∂y
Notice that de second term in the above expression can be written as x=
∂xi
∂ yT
x. Then the full differential matrix yields (1.20). 
∂xi
Definition 1.45 (Differentiation of a Matrix Product) Given a product of matrices
A and B of proper dimensions ∈ F, the scalar differentiation is given as

∂ AB ∂A ∂B
= B+A
∂α ∂α ∂α

Definition 1.46 (The time integral of a Matrix) Given a rectangular


% matrix A ∈ Fm×n
where each element is given as ai j ∈ F, has time integral Adt ∈ Fm×n where each
element is given as  
Adt = [A]i j dt ∈ F
i, j

Definition 1.47 (A bilinear form) Given a rectangular matrix A ∈ Fm×n , its bilinear
form in the variables x = [x1 , x2 , . . . , xn ]T and y = [y1 , y2 , . . . , ym ]T is defined as
the scalar product:


m 
n
B(x, y) = y T A x = x T A T y = ai j x j yi (1.21)
j=1 i=1

Property 1.13 The gradients of the the bilinear form (1.21) with respect to x and y
are, respectively

∂ B(x, y)
= A T y, (1.22a)
∂x
∂ B(x, y)
=Ax (1.22b)
∂y
1.1 Matrices 29

Proof Consider the bilinear form (1.21) and two auxiliary variables w = Ax and
z = A T y such that the bilinear expression can be written as the scalar inner products:

B(x, y) = y T A x = x, z = y, w

After Example 1.27, the gradients of the inner products above with respect to x and
y are, respectively

∂ B(x, y) ∂ x, z ∂ B(x, y) ∂ y, w
= = z = A T y, = =w= Ax
∂x ∂x ∂y ∂y

Definition 1.48 (The quadratic form) A particular case of the bilinear form is defined
for a square matrix A of order n when the bilinear form is quadratic in only one
variable x = [x1 , x2 , . . . , xn ]T as:


n 
n 
n
Q(x) = x Ax =
T
ai j x j xi = ai j x j xi (1.23)
j=1 i=1 i, j=1

Property 1.14 The gradient of a quadratic form (1.23) with respect to x is

∂ Q(x)  
= A + AT x (1.24)
∂x

∂ Q(x)
And if A is symmetric (i.e. A = A T ) then = 2 A x.
∂x
Proof Consider an auxiliary column matrix variable y = Ax such that

∂ yT
= AT
∂x

Then the quadratic form (1.23) can be written as the inner product Q(x) = x, y
and property (1.20) yields (1.24); and corollary (for symmetry condition) follows
straight forward. 

1.1.3.5 Pseudo-inverse Matrix

In the case where a matrix A ∈ Fm×n is not square, the solutions for (1.1)/(1.5) may
not exist or there can be multiple solutions. In the first case, it is due to the lack of
existence of the full set of linearly independent equations in the set (1.1) (m > n). In
the second case is due to de existence of redundancy of equations in the corresponding
set (m < n).
30 1 Mathematic Foundations

Solution for the redundancy case (m < n) can be obtained using indirect methods,
as to formulate the problem as constrained linear optimization problem that minimize
a quadratic cost functional (least squares optimization problem).

1 T
J (x) = x Wx
2
s.t. y − Ax = 0

for any symmetric positive-definite3 weighting matrix W = W T > 0. The resulting


solution, among all possible ones, would be that which minimize the above criterion.
This constrained optimization problem can be solved using the Lagrange multi-
pliers method by modifying the cost functional as

1 T
J (x, λ) = x W x + λT (y − Ax)
2
that must satisfy the following conditions, after (1.22)–(1.24):

∂J
= W x − AT λ = 0 (1.25a)
∂x
∂J
= y − Ax = 0 (1.25b)
∂λ
with λ ∈ Fm being a column matrix of unknown Lagrange multipliers.
Notice that the second condition in the modified functional is indeed the constraint
in the first formulation, while the first condition establishes the dependence of the
inversion problem with the Lagrange multipliers as

x = W −1 A T λ

where the existence of W −1 is assured by the positive definiteness of W . Then using


last relation in the second condition, the Lagrange multiplier dependence on y is
established to be y = AW −1 A T λ. From which the Lagrange multipliers array can
be found if A has full-rank as
 −1
λ = AW −1 A T y

which finally yields the optimal solution for the minimization problem:
 −1
x = W −1 A T AW −1 A T y

which fulfills both constraints (1.25).

3 Positive definite matrices are defined later in (1.35).


1.1 Matrices 31

For the no-solution case (m > n) an approximative solution can be easily found
replacing the real solution x in the minimizing criterion J , by an error e  y − Ax.
Then the formulation as a constrained linear optimization problem that minimize a
quadratic cost functional:

1 T −1 1
J (x, y) = e W e = (y − Ax)T W −1 (y − Ax)
2 2

for any symmetric positive-definite weighting matrix W = W T > 0, minimize the


difference defined by the error. Then the optimality condition ∂∂xJ = A T W −1 Ax −
A T W −1 y = 0 yields
 −1 T −1
x = A T W −1 A A W y

Definition 1.49 (The Weighted Pseudo-inverse Matrix) Given a full rank rectangular
matrix A ∈ Fm×n and a symmetric positive-definite square matrix W = W T > 0 of
proper dimensions, the weighted pseudo-inverse matrix of A, denoted A+ W ∈F
n×m

is defined to be   −1
+ W −1 A T AW −1 A T if m < n
A W   T −1 −1 T −1 (1.26)
A W A A W if m > n

Remarks 1. The first expression in (1.26) is known as the right pseudo-inverse


matrix of A because A A+ +
W = Im (while A W A  = In ). The second expression in
(1.26) is known as the left pseudo-inverse because A+ +
W A = In (while A A W  =
Im ).
2. Notice that in the particular case where W = I the cost functionals becomes the
Euclidian (quadratic) norms4 of the variables x or e respectively; and the least-
squares optimal solutions are the so-called Penrose pseudo-inverse matrices:
 −1
+ AT A AT if m < n
A   T −1 T
A A A if m > n

3. Notice also that after the symmetry condition on the weighting matrix W the
following property always holds:
[A+ T +
W ] = [A ]W
T


1.1.4 Square Matrices

After group Definition 1.2 it arise that all the square matrices of order n form a com-
mutative group (Abelian group) with respect to the operation of addition (Gantmacher
1977) because

4 Refer to definition (1.49) in further sections.


32 1 Mathematic Foundations

1. Matrix addition: (A + B) = C produces a third matrix of order n (closure


property),
2. Matrix addition is associative: (A + B) + C = A + (B + C),
3. The identity element is a null matrix: E + = 0 ⇒ A + 0 = 0 + A = A,
4. The inverse element is its negative: A + (−A) = (−A) + A = E + = 0,
and in addition
5. Matrix addition is commutative: A + B = B + A.

Also, all the full-rank (non singular) square matrices of order n form a (non-
commutative) group with respect to the operation of multiplication (Gantmacher
1977) because
1. Matrix multiplication: (AB) = C produces a third matrix of order n (closure
property),
2. Matrix multiplication is associative: (AB)C = A(BC),
3. The identity element is the identity matrix: E ∗ = In ⇒ AIn = In A = A, and
4. The inverse element is the inverse matrix: A A−1 = A−1 A = E ∗ = In

Remark full-rank square matrices are a group w.r.t. the matrix multiplication and
an abelian group w.r.t. the matrix addition and additionally the matrix multiplication
presents both left and right distributive properties with respect to the matrix addition:

A(B + C) = (AB) + (AC) ∀(A, B, C) ∈ Fn×n left distributivity


(B + C)A = (B A) + (C A) ∀(A, B, C) ∈ Fn×n right distributivity

then each set of full-rank order n matrices form a ring. It is not a commutative
ring because the matrix multiplication is not commutative. 

Property 1.15 (Determinants properties of square matrices) For all square matrices
of order n, (A, B) ∈ Fn×n

|AB| = |A| |B|


|α A| = αn |A| ∀α ∈ F

Definition 1.50 (Symmetric Matrices) A square matrix A ∈ Fn×n is said to be sym-


metric if it fulfills the following condition:

A = AT

Example 1.31 Given any square matrix B of order n, the following operation define
a symmetric matrix:
 T
B + BT = B + BT = BT + B
1.1 Matrices 33

Definition 1.51 (Skew-Symmetric Matrices) Skew-symmetric matrices are defined


such that
A = −A T ≡ A + AT = 0 (1.27)

The SS(n) is the set of all skew symmetric matrices of order n, and means that if A
is order n, then A ∈ SS(n)

Example 1.32 Given any square matrix B of order n, the following operation define
a skew-symmetric matrix:

C = B − BT
 T
CT = B − BT = B T − B = −C

Property 1.16 (Symmetric/skew-symmetric matrix decomposition) Any square ma-


trix A ∈ Fn×n can be decomposed in a pure symmetric matrix As = AsT and a pure
skew-symmetric one Ass = −AssT

A = As + Ass (1.28)

where these matrices are given as

A + AT A − AT
As = , Ass = ∈ SS(n)
2 2
Proof Consider any square matrix as the addition of a lower triangular matrix L ∈
Fn×n with null values in its main diagonal, a pure diagonal D ∈ Fn×n , and an upper
triangular matrix U ∈ Fn×n , again with null values in its main diagonal: A = L +
D + U.
By adding and subtracting one half of the transpose matrices of the lower an upper
triangular matrices it yields

1
A = L + D+U ± [L + U ]T
2
1 1 1 1 1 1 1 1
= L + LT + D + U + U T + L − LT + U − U T
2
& 2 '( 2 2 2
) & 2 '( 2 2 )
B C

T T
Notice that B = A+A 2
is a symmetric matrix: B = B T while C = A−A
2
is a skew
symmetric one: C + C = 0. The addition of these matrices in the above expression
T

yields property (1.28). 


34 1 Mathematic Foundations

Definition 1.52 (Orthogonal matrix) An order n matrix A is said to be orthogonal


if the inner product of all its column or row describing the matrix:
⎤ ⎡
b1T
 ⎢
T⎥
 ⎢b2 ⎥
A = a1 a2 . . . an = ⎢ . ⎥ (1.29)
⎣ .. ⎦
bnT

fulfill the column/row orthogonal conditions:



0 if i = j
ai , a j =
αi = ai 2 > 0 if i = j

0 if i = j
bi , b j =
βi = bi  > 0 if i = j
2

where αi = ai , ai = ai 2 > 0 and βi = bi , bi = bi 2 > 0 are respectively the


square of the euclidian norms of all columns and rows of the given matrix.
Property 1.17 (Columns’s (row’s) dyadic addition) For a given orthogonal matrix
A the addition of the external product of all its column or row are diagonal matrices:

a1 a1T + a2 a2T + · · · + an anT = diag (β1 , . . . , βn ) = Dβ


b1 b1T + b1 b1T + · · · + bn bnT = diag (α1 , . . . , αn ) = Dα

Proof Notice that the first expression above is indeed a column’s expression of the
product A A T while the second is indeed a row’s expression of product A T A; and
each of these products, after the orthogonal conditions produce the positive diagonal
matrices (also positive-definite matrices after further definition):
⎡ T⎤ ⎡ T ⎤
a1 a1 a1 a1T a2 ... a1T an
⎢a2T ⎥   ⎢a2T a1 a2T a2 ... a2T an ⎥
⎢ ⎥ ⎢ ⎥
A T A = ⎢ . ⎥ a1 a2 . . . an =⎢ . .. .. .. ⎥ = Dα ; (1.30)
⎣ .. ⎦ ⎣ .. . . . ⎦
anT anT a1 anT a2 ... anT an
⎡ T⎤ ⎡ T ⎤
b1 b1 b1 b1T b2 ... b1T bn
⎢b2T ⎥   ⎢b2T b1 b2T b2 ... b2T bn ⎥
⎢ ⎥ ⎢ ⎥
A A T = ⎢ . ⎥ b1 b2 . . . bn =⎢ . .. .. .. ⎥ = Dβ (1.31)
.
⎣ . ⎦ ⎣ .. . . . ⎦
bnT bnT b1 bnT b2 ... bnT bn


Property 1.18 The inverse of an orthogonal matrix A of order n is always
A−1 = Dα−1 A T = A T Dβ−1
1.1 Matrices 35

Proof Follows straight-forward after the self-products (1.30) and (1.31). 

Property 1.19 The determinant of an orthogonal matrix A of order n is always


* *
+ n + n
+ +
|A| = ±, αi = ±, βi
i=1 i=1

Proof Consider the self-products (1.30) and (1.31) whose determinants in both cases
produce:


n 
n
|A|2 = ai , ai = bi , bi
i=1 i=1

From which it arise that the determinant of an orthogonal matrix is the square root
of the above value which may be negative. 

Definition 1.53 (Orthonormal matrix) An orthonormal matrix is an orthogonal


matrix for which all the inner product of all of its columns (or rows) are the unit:

ai , ai = αi = 1 ∀ i = {1, 2, ..., n}
bi , bi = βi = 1 ∀ i = {1, 2, ..., n}

Property 1.20 Orthonormal matrices naturally fulfils

Its determinant: |A| = ±1


Its inverse: A−1 = A T ⇔ A A T = A T A = In
Its column’s dyadic addition: a1 a1T + · · · + an anT = In
Its row’s dyadic addition: b1 b1T + · · · + bn bnT = In

Property 1.21 For a given orthonormal matrix A of order n with time derivative Ȧ,
the products A T Ȧ and A Ȧ T yield skew-symmetric matrices of order n:

A T Ȧ ∈ SS(n) and A Ȧ T ∈ SS(n)

Proof If A is orthonormal it follows that A T A = A A T = In . Consider the time


derivative on both sides:
d T
(A A) = A T Ȧ + Ȧ T A = 0
dt
d
(A A T ) = A Ȧ T + Ȧ A T = 0
dt
from which it arise straight forward the above property 
36 1 Mathematic Foundations

Definition 1.54 (The Special Orthogonal Group of order n) All orthonormal matri-
ces of order n with positive determinant (i.e. |A| = 1) are called Special Orthogonal
of order n, and are denoted as S O(n).
Example 1.33 Consider the following matrices:
     
1 0 0 1 0 1
A= ; B= ; C= ;
0 −2 1 0 −1 0

Matrix A is orthogonal with determinant |A| = −2, hence it is not a orthonormal


matrix. Matrix B is an orthonormal matrix since it is orthogonal with unit (negative)
determinant |B| = −1, and in consequence B ∈ / S O(2). Matrix C is indeed an or-
thonormal matrix with unit positive determinant |C| = 1, hence C ∈ S O(2) belongs
to the Special Orthogonal group of order 2.
Definition 1.55 (The power of a matrix) The power p ∈ N of any square matrix of
order n is defined in the usual way5 :


⎪ In if p = 0

Ap = AA . . . A ∀ p ∈ Z+ (positive integers)

⎩ & '( )

p times

Property 1.22 From the associative property of matrix multiplication it follows


directly that
A p+q = A p Aq ∀ ( p, q) ∈ N

Definition 1.56 (Idempotent matrix) A square matrix A of order n is said to be


idempotent if
AA = A

In this case A p = A ∀ p ∈ Z+ and A0 = In


Definition 1.57 (The exponential matrix) The exponential matrix of a square matrix
A of order m, is also a square matrix of the same order, denoted e A ∈ Fm×m defined
by the Taylor series of a matrix, following the product definition of arrays:

∞
1 n
eA  A (1.32)
n=1
n!

Property 1.23 Notice that the time derivative of the exponential matrix e Aα(t) , where
A is a constat matrix of order n and α(t) is a time dependant scalar function, is

d ! Aα(t) "
e = α̇(t)Ae Aα(t) = α̇(t)e Aα(t) A
dt

5 Remember that in this work the natural numbers set N = {0, Z+ } contains the zero element.
1.1 Matrices 37

Property 1.24 (Null product of the quadratic form of a skew-symmetric matrix)


Any skew-symmetric matrix Ass ∈ Rn×n fulfils

x T Ass x = 0 ∀ x = 0 (1.33)
 T
Proof Since the product x T Ass x is a scalar it follows that x T Ass x = x T Ass x =
x T Ass
T
x, Then it can be written as

1 T  1  
x T Ass x = x Ass x + x T Ass
T
x = x T Ass + Ass
T
x
2 2
which is null after definition (1.27). 

Remark A direct consequence of this property is that any quadratic form of a square
matrix can be sufficiently expressed with the symmetric part of the corresponding
matrix

Q(x) = x T Ax = x T As x 

Property 1.25 (Skew-symmetric matrices are singular matrices) Any skew-


symmetric matrix Ass ∈ Rn×n has null determinant

|Ass | = 0 (1.34)

Proof After the Binet–Cauchy property it follows that the determinant of the scalar
product
|x T Ass x| = |x T | |Ass | |x| = 0

which must be null for any x = 0 after definition (1.33). Then |x| = 0 and the
only possible way that the above expression is true is that the determinant of the
skew-symmetric matrix to be null, which implies that any skew symmetric matrix is
singular. 

Definition 1.58 (Positive-definite Matrices) A square matrix A ∈ Fn×n is said to be


positive-definite6 (PD) A > 0 if its scalar quadratic form is always strictly positive:

x T Ax > 0 ∀ x = 0 (1.35)

for any non null column matrix x = 0 ∈ Fn×1

Property 1.26 The determinant of positive-definite matrices is always positive. In


consequence, PD matrices are always full rank matrices and thus invertible.

6 Not to be confused with a positive matrix or totally positive matrix.


38 1 Mathematic Foundations

Example 1.34 Given any full-rank non-symmetric square matrix A of order n, the
following operations define non symmetric positive-definite matrices:

A AT = B > 0
AT A = C > 0

Positive definiteness of B is found for a nonzerocolumn matrix x ∈ Fn such that


A x = b = 0. Then the product x Bx = b b = n1i bi2 > 0. Since each term is
T T T

quadratic, the total addition is positive and B > 0.


Positive definiteness of C is also found for a nonzero
n column matrix y ∈ Fn such
that Ay = c = 0. Then the product y C y = c c = 1i ci > 0. Since each term is
T T 2

quadratic, the total addition is positive and C > 0.

Definition 1.59 (Positive-semidefinite Matrices) A square matrix A ∈ Fn×n is said


to be positive-semidefinite (PSD) A ≥ 0 if its scalar quadratic form (for any non null
column matrix x = 0 ∈ Fn×1 ) is nonnegative:

x T Ax ≥ 0

Property 1.27 The determinant of positive-semidefinite matrices is always nonneg-


ative. That is either positive or zero. In consequence, SPD matrices may not be always
full rank matrices and thus they may be noninvertible.

Example 1.35 Given any full-rank rectangular matrix A ∈ Fm×n , where m < n the
following operations define a positive-definite matrix and a positive-semidefinite
matrix:

A A T = B > 0 ∈ Fm×m
A T A = C ≥ 0 ∈ Fn×n

n 2 matrix x ∈ F such
m
Positive definiteness of B is found for a nonzero column
that A x = b = 0. Then the product x Bx = b b = 1i bi . Since each term is
T T T

quadratic, the total addition is positive and B > 0.


Positive semi-definiteness of C is found for a nonzero column matrix y ∈ Fn
such that Ay = c. Notice that since m < n it can alwaysbe a combination such that
c = 0 for nonzero y. Then the product y T C y = c T c = n1i ci2 ≥ 0. Since each term
is quadratic, the total addition may be zero or positive, then C ≥ 0. Also it is true the
following. Since A has full rank ρ(A) = m, and from property (1.16c) if follows that
ρ(C) = m < n which means that the n-order C cannot have full rank. This means
that for a nonzero column matrix y = 0 ∈ Fn the quadratic form y T C y may be zero.

1.1.5 Square Block Matrices

This section resumes the most interesting results on block matrices taken from
Khailath (1980).
1.1 Matrices 39

Consider the block matrix:


 
A B
∈ F(n+m)×(n+m) (1.36)
C D

where A ∈ Fn×n , B ∈ Fn×m , C ∈ Fm×n and D ∈ Fm×m .

Definition 1.60 (Schur complements) The Schur complements A0 and D0 of (1.36)


are defined as

A0  D − C A−1 B ∈ Fm×m if ∃ A−1 (Schur complement of A) (1.37)


−1 −1
D0  A − B D C ∈ F n×n
if ∃ D (Schur complement of D) (1.38)

1.1.5.1 The Determinant of a Block Matrix

Consider the block matrix (1.36). Its determinant is given by any of the following
expressions:
  
A B  |A| |A0 | if ∃ A−1
 = (1.39)
C D  |D0 | |D| if ∃ D −1

Proof The last comes form three facts. First is that the determinant of triangular block
matrices, due to Laplace extension, is produced by the product of the determinants
of the main diagonal block matrices:
   
A 0   A B 
 = = |A| |D|
C D  0 D

Secondly that the block matrix given in (1.36) can be expressed by the following
identities:
    
A B A 0 I A−1 B
= if ∃ A−1
C D C I 0 D − C A−1 B
  
A − B D −1 C B D −1 I 0
= if ∃ D −1
0 I C D

and finally due to property of the determinant of the product of square matrices as
the product of the individual determinants. 

1.1.5.2 Block Matrix Operations

Consider two block matrices of proper dimensions:


   
A B E F
;
C D G H
40 1 Mathematic Foundations

The transpose of a block matrix is


 T  
A B AT CT
=
C D BT DT

Addition and Substraction of Block Matrices


The sum of two block matrices of proper dimension fulfills the addition rule:
     
A B E F A+E B+F
+ =
C D G H C+G D+H

Product of Block Matrices


The product of block matrices fulfills the usual multiplication rule:
    
A B E F AE + BG AF + B H
=
C D G H C E + DG C F + DH

1.1.5.3 The Inverse of a Block Matrix

Exist if either ∃ A−1 or ∃ D −1 together with well defined Schur complement i.e.
∃ A0 −1 or ∃ D0 −1 :
 −1  
A B A−1 + A−1 B A0 −1 C A−1 −A−1 B A0 −1
= if ∃ A−1 , A0 −1
C D −A0 −1 C A−1 A0 −1
 
D0 −1 −D0 −1 B D −1
= if ∃ D −1 , D0 −1
−D C D0 D + D −1 C D0 −1 B D −1
−1 −1 −1

Example 1.36 Notice that if both inverse matrices exist ∃ A−1 , D −1 , then ∃ A0 −1 ,
D0 −1 , and the block inverse matrix can be written as
 −1  
A B D0 −1 E
= (1.40)
C D F A0 −1

where the off-diagonal block elements may adopt any of the following shapes:
 
−A−1 B A0 −1 −D −1 C D0 −1
E= ; F=
−D0 −1 B D −1 −A0 −1 C A−1

Property 1.28 From the example above it follows that the next equivalence is valid
for any group of matrices of proper dimensions, if ∃ A−1 , D −1 :
 −1  −1
A − B D −1 C = A−1 + A−1 B D − C A−1 B C A−1 (1.41)
1.1 Matrices 41

Example 1.37 Consider expression (1.41) with (A, B) as square matrices of order
n, C = −In and D = In . Then it is found that
 −1 −1
[A + B]−1 = A−1 − A−1 B I − A−1 B A

Example 1.38 (Triangular forms) Block matrices in triangular form can be ex-
pressed when either of the off-diagonal matrices B = 0 or C = 0. Then D0 = A,
A0 = D and the inverse of the block matrix becomes:
 −1  
A 0 A−1 0
=
C D −D C A−1
−1
D −1
 −1  
A B A−1 −A−1 B D −1
=
0 D 0 D −1

Example 1.39 (Particular Case: D = 0) If D = 0, then D0 = A, A0 = −C A−1 B


and the inverse of the block matrix becomes:
 −1 - −1  −1  −1 .
A B A − A−1 B C A−1 B C A−1 A−1 B C A−1 B
=  −1 −1  −1 (1.42)
C 0 CA B C A−1 − C A−1 B

while its determinant is  


A B   
 = |A| −C A−1 B 
C 0

Notice that a necessary condition for this matrix to be invertible, is that the Schur
complement A0 = −C A−1 B must have full rank. This means that additionally to
requirement of A being invertible, the order m of D cannot be larger than the order
n of A.
Example 1.40 (Particular Case: D = 0 and B = C T ) If in addition of the condition
D = 0 it happens that B = C T , the above block matrix is block symmetric (it would
be symmetric if A is indeed symmetric), whose inverse has the particular solution:
 −1  
A B D0 −1 B+
=  Ar −1 (1.43)
BT 0 B+Al
T −1
− B A B

were off-diagonal elements are given by the right and left A-weighted pseudo-inverse
matrices:
 T −1 −1
E = B+ −1
Ar = A B B A B
 T −1 −1 T −1
F = B+
Al = B A B B A

and the inverse of the Schur complement of the null block matrix can be written in
either of the following forms:
42 1 Mathematic Foundations
  −1
−1 −1 −1
 −1
−1 −1 I − B+ Ar B
T
A
D0 =A −A B B A T
B CA = −1
 +

A I − B B Al

Example 1.41 (Particular Case: D = 0, B = C T and A = A T ) If in addition of the


conditions D = 0 and B = C T , it happens that A = A T , the above block matrix is
indeed symmetric. Then the off diagonal right and left pseudo-inverse matrices are
 + T
related as: B +
Al = B Ar and the first diagonal matrix is also symmetric and fulfils
  −1 T  + T 
D0 −1 = I − B+
Ar B T
A = A −1
I − B B Ar

Example 1.42 (Diagonal form) Consider the square block matrix (1.36) where the
off-diagonal elements B = 0 and C = 0. Than according to the general block inverse
expression (1.40) and the Schur complements definitions (1.37)–(1.38), the inverse
of a block diagonal matrix is
 −1  
A 0 A−1 0
=
0 D 0 D −1

1.1.5.4 Asymmetric Forms

Consider a full rank matrix written in the following block form:


 
E= A B ∈ Fn×n (1.44)

where A ∈ Fn×m and B ∈ Fn×(n−m) are full column-rank matrices, i.e.:

ρ(A) = m, and ρ(B) = p = n − m

Theorem 1.1 If the block matrices A and B in (1.44) are orthogonal complements
fulfilling the following condition:
AT B = 0

Then the inverse of E = [A B] is given as


 
−1
 −1 A+
E = A B = ∈ Fn×n (1.45)
B+

where A+ and B + are the corresponding pseudo-inverse matrices.

Proof First consider the pseudo-inverse matrices A+ and B + with their correspond-
ing null space projectors PA and Mt PB (Refer to further definition (1.62)) given
as
1.1 Matrices 43
 −1 T
A+ = AT A A A+ A = Im ∈ Fm×m
 T −1 T
B+ = B B B B+ B = I p ∈ F p× p
such that
PA = In − A A+ = PAT PA A = 0; PA B = B
PB = In − B B + = PBT PB B = 0; PB A = A

Since matrices A and B are orthogonal complements, their null space projectors are
orthogonal complements themselves, fulfilling the following properties:

PA PB = PB PA = 0
PA + PB = In

Notice that the product PA PB = PB PA = In − A A+ − B B + , from which it arise the


following property:
A A + + B B + = In (1.46)

Secondly, a matrix X is said to be the inverse of E if X E = E X = I . Then consider


the product E −1 E:
     
 −1   A+   A+ A A+ B Im 0
A B A B = A B = = = In
B+ B+ A B+ B 0 Ip

which is evidently the identity matrix following the orthogonal condition.


Also consider the product E E −1 :
 
  −1   A+  + +

A B A B = A B + = AA + BB
B

which from property (1.46) is also the identity and then expression (1.45) is indeed
the inverse of E. 

1.2 Linear Operators

Contrary to the point of view of matrix algebra, the linear operators (or just operators
in the more general way) have a geometric point of view in mathematical solutions.
It happens that linear operators have a lot in common with matrix algebra, but it is
useful to keep the geometric point of view for possible extension of these notions to
nonlinear operators, as frequently happens in physical mechanics.
44 1 Mathematic Foundations

1.2.1 Vector Spaces

Let S be a set of arbitrary elements x, y, z, . . . in which they are defined the operations
of ‘addition’ and ‘multiplication’ with a number of a number field F. It is postulated
that these operations can always be performed uniquely in S and that the following
rules hold for arbitrary elements of S and numbers α, β of F:
1. x + y = y + x
2. (x + y) + z = x + ( y + z)
3. ∃ 0 ∈ S | 0 · x = 0
4. 1 · x = x
5. α(βx) = (αβ)x
6. (α + β)x = αx + βx
7. α(x + y) = αx + α y
Definition 1.61 (Vectors and vector space) A set S of elements in which the op-
erations of ‘addition’ and ‘multiplication’ of elements of S by a number of F can
always be performed uniquely and for which postulates 1–7 hold is called a vector
space (over the field F) and it elements are called vectors.
Example 1.43 Consider two column matrices x and y with n elements each:
(x1 , x2 , . . . , xn ) and (y1 , y2 , . . . , yn ), of a number field F, and a null column ma-
trix 0 with n null elements of F.
Since matrices x, y and 0 fulfils all the operation postulates 1–7, where the null
element 0 = 0. Then the three column matrices are vectors and the vector space is
defined by the number field of proper dimension S = Fn :
⎛ ⎞ ⎛ ⎞ ⎛ ⎞
x1 y1 0
⎜ x2 ⎟ ⎜ y2 ⎟ ⎜0⎟
⎜ ⎟ ⎜ ⎟ ⎜ ⎟
x = ⎜ . ⎟ ∈ Fn ; y = ⎜ . ⎟ ∈ Fn ; 0 = ⎜ . ⎟ ∈ Fn
⎝ .. ⎠ ⎝ .. ⎠ ⎝ .. ⎠
xn yn 0

Definition 1.62 (Null vector) A vector


⎛ ⎞
0
⎜0⎟
⎜ ⎟
n = ⎜ . ⎟ = 0 ∈ Fn
⎝ .. ⎠
0

whose all elements are zero is said to be a null vector.


Definition 1.63 (Linear Independency) A selected bunch of vectors (x, y, . . . , u) ∈
S are called linearly dependent if there exist numbers (α, β, . . . , δ) ∈ F among which
at least one is non-zero, such that

αx + β y + · · · + δu = 0 (1.47)
1.2 Linear Operators 45

If such constraint (linear dependency) does not hold, then the vectors x, y, . . . , u
are said to be linearly independent.

Notice that if vectors x, y, . . . , u are linearly dependent, then at least one of them can
be expressed as a linear combination of the remaining ones, with proper coefficients
in F. For example, if α = 0 in (1.47), then

β δ
x=− y − ··· − u
α α
Definition 1.64 (Finite-dimensional space) The space S is called finite-dimensional
and the number n is called its dimension if there exist n linearly independent vectors
in S, while any combination of n + 1 vectors in S are linearly dependent.

If the space contains linearly independent systems of an arbitrary number of vectors,


then it is called infinite-dimensional. The dimension of a space

dim(S) = n

can also be stated as the maximum number of linearly independent vectors x in S.

Definition 1.65 (Basis) A system of n linearly independent vectors e1 , e2 , . . . , en


of an n-dimensional space, given in a definite order, is called a BASIS of the space.

Example 1.44 Consider the vector space Fn of Example 1.43. A basis of this space
can be given by the column vectors of the n-order identity matrix:
⎛ ⎞ ⎛ ⎞ ⎛ ⎞
1 0 0
⎜0⎟ ⎜1⎟ ⎜0⎟
⎜ ⎟ ⎜ ⎟ ⎜ ⎟
e1 = ⎜ . ⎟ ∈ Fn ; e2 = ⎜ . ⎟ ∈ Fn ; ··· en = ⎜ . ⎟ ∈ Fn
⎝ .. ⎠ ⎝ .. ⎠ ⎝ .. ⎠
0 0 1

This particular basis is known as the orthogonal (canonical) basis.

Example 1.45 The simplest basis of the Euclidean space R3 (3D, physical space) is
given by the unit vectors i, j and k:
⎛ ⎞ ⎛ ⎞ ⎛ ⎞
1 0 0
i = ⎝ 0 ⎠ ∈ R3 ; j = ⎝ 1 ⎠ ∈ R3 ; k = ⎝ 0 ⎠ ∈ R3
0 0 1

Consider a n-dimensional vector space S with a basis formed by the n vectors


e1 , e2 , . . . , en , and an arbitrary vector x ∈ S. The vector set {x, e1 , e2 , . . . , en } is
linearly dependent since they are n + 1 vectors:

α0 x + α1 e1 + α2 e2 + · · · + αn en = 0
46 1 Mathematic Foundations

where at least one of the αi ∈ F is nonzero, in this case α0 .


Definition 1.66 (Vector coordinates) If a vector x can be expressed as a linear com-
bination of the vector’s basis:
−αi
x = x 1 e1 + x 2 e2 + · · · + x n en ; ∀ x i = (i = 1, 2, . . . , n)
α0

the scalar numbers x1 , x2 , . . . , xn are called the coordinates of x.


Notice that the coordinates of a vector can be expressed in a column matrix as
⎡ ⎤
x1
⎢ x2 ⎥
⎢ ⎥
x = ⎢ . ⎥ ∈ Fn ;
⎣ .. ⎦
xn

Then it is evident that the coordinates x of a vector depends on the chosen basis,
while the geometric meaning of the vector x remains unaltered. It is common to use
vector notation x instead of the column matrix coordinates x because if the basis is
chosen to be the orthogonal one, both expressions are equivalent (x = In x).
Theorem 1.2 (Linearly independency condition Gantmacher 1977) In order that the
vectors (x1 , x2 , . . . , xm ) ∈ Fn be linearly independent it is necessary and sufficient
condition that the rank of the matrix X formed with the coordinates of any order of
these vectors in an arbitrary basis,
⎡ ⎤
x11 x12 · · · x1m
  ⎢⎢ x21 x22 · · · x2m ⎥

X = x1 x2 · · · xm = ⎢ . .. .. ⎥
⎣ .. . . ⎦
xn1 xn2 ··· xnm

be equal to the number of vectors, i.e. ρ(X ) = m.



Proof Consider the m vectors x k = in1 xik ei . They are linearly dependent
 if there
exist nonzero (at least one of them) numbers c1 , . . . , cm such that mk=1 ck xk = 0
which can be written as

x11 c1 + x12 c2 + · · · + x1m cm = 0


x21 c1 + x22 c2 + · · · + x2m cm = 0
..
.
xn1 c1 + xn2 c2 + · · · + xnm cm = 0

or in matrix terms, where c is the column matrix of all ci ’s coefficients, as follows:

Xc = 0 for c = 0 (1.48)
1.2 Linear Operators 47

This matrix equation has non-zero solution (c = 0) if and only if the rank of X
is less that the number of unknowns m (i.e. ρ(X ) < m). Then if ρ(X ) = m, there
is no null solution for c in (1.48), which means that condition for linearly depen-
dence is not met (sufficiently) and thus all vectors x i ’s are linearly independent.
Also since the rank of X is bounded ρ(X ) ≤ m, it is necessary the equality to meet
independency. 
Definition 1.67 (Subspace) A subset X of a vector space S is a subspace X ⊆ S if
it is a vector space with the operations of

Vector addition: x+ y = z
Scalar product: αx + β y = γ z

for all (α, β, γ) ∈ F and (x, y, z) ∈ X .


According to a geometric interpretation, a subspace is an hyperplane passing by the
origin (null element) of S.
Definition 1.68 (Orthogonal vectors) Two vectors (x, y) ∈ S of the same space are
said to be orthogonal if their scalar (inner) product is null:

x, y = x T y = 0

Definition 1.69 (The norm) The norm of a vector (a) is a positive-definite scalar
function that fulfils the following vector norm axioms:

Positive-definiteness: a > 0 ∀ a = 0


Nullity condition: a = 0 ⇔ a=0
Homogeneity: αa = |α|a
5 5
Triangle Inequality: 5 a + b5 ≤ a + b

Definition 1.70 (The p-norm) The p-norm of a vector is a positive-definite scalar


function defined as
6 n 71/ p

a p  |ai | p ≥0 ∀ p≥1
i=1

where |ai | is the absolute value of each element ai .


Remark Notice the the above axioms are valid for the p-norm only of p ≥ 1. For
the cases where 0 ≤ p < 1 different definition of norms shall be considered. 
Property 1.29 From the norm of vectors and determinant of column matrices defini-
tions it arise the following properties for a vector a with column matrix coordinates a:

Determinant boundedness: −a p ≤ det(a) ≤ a p


48 1 Mathematic Foundations

Example 1.46 Consider the case where p = 1. Then


n
a1 = |ai | ≥ 0
i=1

Example 1.47 Consider the case where p = 2, also known as the Euclidian norm.
Then *
+ n
+
a2 = , ai2 ≥ 0 (1.49)
i=1

Example 1.48 Consider the infinity norm as the case where p → ∞. Then
*
+ n
+
a∞ = lim ,
p
|ai | p = max(|ai |) ≥ 0
p→∞
i=1

Property 1.30 Notice that the Euclidian norm7 ( p = 2) present the following prop-
erties:

Inner product relationship: a2 = a, a = a T a


 
Cauchy–Schwarz Inequality:  a, b  ≤ a · b (1.50)

Example 1.49 Consider the following 3D vector:


⎛⎞
1
a = ⎝ −2 ⎠
3

Its different norm values are:



a1 = 6; a2 = 14 = 3.7416; a∞ = 3;

Definition 1.71 (Unit vector) A unit vector x̂ ∈ Fn is a vector whose Euclidian norm
is the unit:
x̂ = 1

This kind of vector can always be obtained as a normalized version of the original
vector: x
x̂ =
x

7 It is customary use to omit the subindex p = 2 for simplification in the notation.


1.2 Linear Operators 49

1.2.2 Transformations

1.2.2.1 Space Mapping

Consider the linear transformation (1.1) where a matrix A ∈ Fm×n is defined and the
two vector spaces over F: an n-dimensional space X and an m-dimensional space
Y. By choosing a basis e1 , e2 , . . . , en in X and
a basis g 1 , g 2 , . . . , g n in Y. Then
n
transformation
m (1.1) associates every vector x = i=1 x i ei ∈ X with a certain vector
y = i=1 yi g i ∈ Y.

Definition 1.72 (Operator) A space mapping operator (or Operator for simplicity)
is a vector space operator that associates two vector spaces X , and Y, denoted as
f : X → Y thought the set up of a correspondence between every vector x ∈ X to
a vector y = f (x) ∈ Y.

Definition 1.73 (Linear Operator) A Linear Operator A is an operator mapping


that for arbitrary vectors x1 , x2 ∈ X and α ∈ F, fulfils additivity and homogeneity
conditions (superposition):

Additivity: A(x1 + x2 ) = A(x1 ) + A(x2 )


Hommogeneity: A(αx1 ) = α A(x1 )

In order for vector space operators to fulfill with linearity, they must be expressed
as matrix elements. Then for an arbitrary linear operator A, mapping X → Y and
arbitrary bases (e1 , e2 , . . . , en ) ∈ X and (g 1 , g 2 , . . . , g m ) ∈ Y, there exists a rectan-
gular matrix A ∈ Fm×n with elements in F, such that the linear transformation (1.1)
formed by means of this matrix expresses the coordinates y of the transformed vector
y = Ax, in terms of the coordinates x of the original vector x. This last statement
implies that for every every vector equation

y = Ax (1.51)

it corresponds a matrix equation


y = Ax. (1.52)

Then it follows straightforward that linear operators A in expression (1.51) sat-


isfy matrix algebra. In particular addition, substraction, scalar multiplication, matrix
multiplication, inverse matrix and rank. On the other hand vectors satisfy, addition,
scalar multiplication, inner product, external product and the norm.
50 1 Mathematic Foundations

Definition 1.74 (The tensor product) The tensor product of two vectors a ∈ Fm ,
b ∈ Fn is a linear operator defined as the external product of the argument vectors:
⎡ ⎤
a1 b1 a1 b2 ··· a1 bn
⎢ a2 b1 a2 b2 ··· a2 bn ⎥
⎢ ⎥
[abT ]  ⎢ . .. .. .. ⎥ ∈ Fm×n (1.53)
⎣ .. . . . ⎦
am b1 am b2 ··· am bn

Property 1.31 (Tensor product singularity) The determinant of any tensor product
is null, hence all tensor products are singular operators
 T 
[ab ] = 0 (1.54)

Proof It follows from (1.14) that the rank ρ(a) = 1 < m, ρ(b) = 1 < n, and from
(1.16c) that ρ([abT ]) = ρ(a) = ρ(b) = 1 < min(m, n). This means that a tensor
product is a singular matrix (has not full rank), hence (1.54) holds. 

Definition 1.75 (The dyadic) The dyadic of a vector a is a square linear operator
defined as the tensor product within the same vector:
⎡ ⎤
a12 a1 a2 ··· a1 an

 T  ⎢ 2 a1
a a22 ··· a2 an ⎥

aa = ⎢ . .. .. .. ⎥ ≥ 0 ∈ F
n×n
⎣ .. . . . ⎦
an a1 an a2 ··· an2

being a square positive-semidefinite (rank 1) symmetric matrix.

The order and symmetry arise from the tensor (external) product definition when
the same vector is used. The positive semi-definiteness comes from the fact that the
 a x = a · x may be zero for some non-zero vector x, hence the
T
vector inner product
product x aa x ≥ 0 for some x = 0.
T T

Remark Notice the resemblance between the dyadic product (of column or row ma-
trices) and the tensor product (of vectors). These operation are commonly confused
and both names, together with external product are often used as synonyms. 

Property 1.32 (Idem-Potence of the dyadic of a normalized vector) Any power of


the dyadic of an arbitrary unit vector is idem-potent:
p 
â â T = â â T ∀ p ∈ Z+ (1.55)

Proof Any power of the dyadic of an arbitrary vector is characterized only itself,
and a scalar term:  T p  
aa = a2( p−1) aa T
1.2 Linear Operators 51

which is found recursively from a quadratic expression:


 2       
aa T = aa T aa T = a(a T a)a T = aa T a2 = a2 aa T
 3  2    2
For p = 3, the power can be written as: aa T = aa T aa T = a2 aa T =
a4 aa T . And so on for p ≥ 4.
If the factor of the dyadic matrix is a normalized vector â = a/a, then  â = 1,
and (1.55) holds. 

Definition 1.76 (The gradient) Given a scalar function f (x) ∈ F endowed with par-
tial derivatives with respect to each element of vector x ∈ X of dimension n, the
gradient of the scalar function f with respect to the vector x is also a vector:
⎛ ⎞
∂ f (x)
⎜ ∂x ⎟
⎜ 1 ⎟
⎜ ∂ f (x) ⎟
⎜ ⎟
∂ f (x) ⎜


=⎜ ∂x 2 ⎟
∂x ⎟
⎜ .. ⎟
⎜ . ⎟
⎜ ⎟
⎝ ∂ f (x) ⎠
∂xn

The nabla notation is also widely used, such that

∂ f (x)
= ∇x f (x)
∂x
If x is a time differentiable variable, the time derivative of the scalar function f can
be calculated, via the chain rule as
 T
∂ f (x) ∂ f (x)
f˙(x) = ẋ = ∇x f (x), ẋ = · ẋ ∈F
∂x ∂x

Then the transpose of the gradient [∂ f (x)/∂ x]T is a operator that transforms X → F:

∂ f (x) T
: X → F
∂x
Definition 1.77 (The Jacobian Operator) Given a vector function g(x) ∈ G of di-
mension m, whose elements are smooth functions of the elements of vector x ∈ X
of dimension n, the Jacobian Matrix of the vector g(x) with respect to the vector x
is a Linear Operator Jg : X → G:
52 1 Mathematic Foundations
⎡ ⎤ ⎡  ⎤
∂g1 (x) ∂g1 (x) ∂g1 (x) ∂g1 (x) T
⎢ ∂x ···
⎢ 1 ∂x2 ∂xn ⎥ ⎢
⎥ ⎢  ∂x 


⎢ ∂g (x) ∂g2 (x) ∂g2 (x) ⎥ ⎢
⎥ T ⎥
⎢ 2 ⎢ ∂g2 (x) ⎥
∂g(x) ⎢ ··· ⎥ ⎢ ⎥
Jg (x)  =⎢⎢ .1
∂x ∂x2 ∂xn ⎥ = ⎢ ∂x ⎥
∂x ⎢ . .. .. ⎥ ⎢
⎥ ⎢ ..


⎢ . . . ⎥ ⎢ . ⎥
⎢ ⎥ ⎢  ⎥
⎣ ∂gm (x) ∂gm (x) ∂gm (x) ⎦ ⎣ ∂gm (x) T ⎦
···
∂x1 ∂x2 ∂xn ∂x
 
∂g(x) ∂g(x) ∂g(x)
= ···
∂x1 ∂x2 ∂xn

Where the i– j element is


∂gi (x)
[ Jg (x)]i, j = (1.56)
∂x j

Property 1.33 The gradient of a inner product f , g is related with the transpose
Jacobians of the inner product arguments ( f (x), g(x)) ∈ G of dimension m, with
respect to a vector x ∈ X of dimension n, as follows:
   T
∂ f , g ∂f T ∂g
= g+ f = J Tf (x)g + JgT (x) f (1.57)
∂x ∂x ∂x

Proof First consider the inner product


m
f , g = f i gi
i=1

Then its gradient becomes


⎛ ⎞ ⎛ ⎞
.. ..
⎜ . ⎟ ⎜ . ⎟
⎜ ⎟ ⎜ ⎟
⎜ ⎟ ⎜ 8 9⎟

∂ f , g ⎜ m ∂ f i gi ⎟
 ⎜
⎟=⎜ m ∂ fi ∂gi ⎟
= ⎜ i=1 ⎟ ⎜ i=1 ∂ x gi + fi ⎟

∂x ⎜ ∂ x k ⎟ ⎜ k ∂ xk ⎟
⎜ ⎟ ⎜ ⎟
⎝ ⎠ ⎝ ⎠
.. ..
. .

That is:
1.2 Linear Operators 53
⎛ ⎞ ⎛ ⎞
. .
. .
⎜ . ⎟ ⎜ . ⎟
⎜ ⎟ ⎜ ⎟
⎜ ⎟ ⎜ ⎟

∂ f , g ⎜ ∂ f 1 ∂ f2 ∂ fm ⎟ ⎜ ⎟
⎟ ⎜ ∂g1 ∂g2 ∂gm ⎟
=⎜ g1 + g2 + · · · + gm ⎟ + ⎜ f1 + f2 + · · · + fm ⎟
∂x ⎜ ∂ xk ∂ xk ∂ xk ⎟ ⎜ ∂ xk ∂ xk ∂ xk ⎟
⎜ ⎟ ⎜ ⎟
⎜ ⎟ ⎜ ⎟
⎝ ⎠ ⎝ ⎠
.. ..
. .
⎛ ⎞ ⎛ ⎞
∂f T ∂g T
⎜ g ⎟ ⎜ f ⎟
⎜ ∂ x1 ⎟ ⎜ ∂ x1 ⎟
⎜ . ⎟ ⎜ . ⎟
⎜ . ⎟ ⎜ . ⎟
⎜ . ⎟ ⎜ . ⎟
⎜ ⎟ ⎜ ⎟
⎜ ∂ f T ⎟ ⎜ ∂g T ⎟

=⎜ ⎟
g⎟ + ⎜⎜ f⎟⎟
⎜ ∂ xk ⎟ ⎜ ∂ xk ⎟
⎜ . ⎟ ⎜ . ⎟
⎜ . ⎟ ⎜ .. ⎟
⎜ . ⎟ ⎜ ⎟
⎜ ⎟ ⎜ ⎟
⎝∂f T ⎠ ⎝ ∂g T ⎠
g f
∂ xn ∂ xk

from which it arise straight forward expression (1.57). 

1.2.2.2 Coordinates Transformations

Definition 1.78 (Basis matrix) Given a basis e1 , e2 , . . . , en ∈ Fn , the corresponding


Basis matrix is defined as square matrix of order n built as

E  [e1 , e2 , . . . , en ] ∈ Fn×n

From its definition it is evident that any basis matrix has full rank since the vectors
of the basis must be linearly independent. Also a canonical basis matrix is an Identity.

Since the coordinates x of a vector x ∈ X depends on a chosen basis, a change


of coordinates arise the existence of a different basis. Consider two basis, an old
one given by E and a new one defined as Ē = [e¯1 , e¯2 , . . . , e¯n ]. The vector x can be
expressed in terms of either, the old coordinates x or new coordinates x̄, by the use
of their corresponding basis:
x = E x = Ē x̄ (1.58)

Definition 1.79 (Coordinates Transformation Matrix) A coordinates transforma-


tion matrix is a full rank square matrix

T = E −1 Ē

made by the product of the two basis matrices, which would lead to new-to-old or
old-to-new coordinates transformation:

x = T x̄
x̄ = T −1 x
54 1 Mathematic Foundations

1.2.2.3 Matrix Transformations

From previous sections it has been established that for an arbitrary linear oper-
ator A, mapping X → Y and arbitrary bases E = (e1 , e2 , . . . , en ) ∈ X and G =
(g 1 , g 2 , . . . , g m ) ∈ Y (x = E x, y = Gy), there exists a rectangular matrix A ∈
Fm×n with elements in F, such that the linear transformation (1.1) formed by means
of this matrix expresses the coordinates y of the transformed vector y, given by the
vector equation (1.51) (i.e.: y = Ax), in terms of the coordinates x of the original
vector x as the matrix equation (1.52) (i.e.: y = Ax).
While linear operator A maps spaces (X → Y), the matrix A transforms coordi-
nates x to y, which depends on chosen bases for each vector space. Then it should
exist different bases Ē and Ḡ and in consequence different coordinates expressions
x̄ and ȳ; such that

x = E x = Ē x̄ (1.59a)
y = Gy = Ḡ ȳ, (1.59b)

together with an appropriate matrix Ā such that the vector equation (1.51) can also
be expressed as 
y = Ax
y = Ax ≡ (1.60)
ȳ = Ā x̄

After coordinates equivalences (1.59), they arise the coordinates transformation


matrices:

Tx = E −1 Ē ∈ Fn×n
Ty = G −1 Ḡ ∈ Fm×m

that transforms coordinates of vectors x and y in the following way:

x = Tx x̄, x̄ = Tx−1 x
y = Ty ȳ, ȳ = Ty−1 y

Then after the coordinates transformations above and expression (1.60):

Ty ȳ = y = Ax = A Tx x̄ ⇒ ȳ = Ty−1 A Tx x̄ = Ā x̄

it arise the equivalence between matrices A and Ā:

Ā = Ty−1 A Tx ⇔ Ty Ā Tx−1 = A
1.2 Linear Operators 55

Definition 1.80 (Equivalent Matrices) Two rectangular matrices A and B of the


same dimension are called equivalent if there exist two non-singular square matrices
P and Q of proper dimension such that:

B = P AQ
A = P −1 B Q −1

Last equivalence comes form the fact that the two spaces X and Y are of different
dimension and the coordinates transformations for vectors x and y is performed each
with a different basis. A particular case would be if spaces X and Y are of the same
dimension, then matrices A and B would be square, but the use of two different
coordinate transformations is needed.
Example 1.50 Consider the vector equation (1.51), where vectors could be expressed
through (1.58) as a linear combination of a given basis and its coordinates represen-
tation:

x = Ex
y = Gy

Then the vector equation (1.51) is equivalent to matrix equation (1.52) through the
following matrix equivalence

A = G −1 AE ⇔ A = G AE −1

Remark Notice in last example that if both bases are chosen to be the canonical
(orthogonal) bases for each space vector, then the linear operator A is identical to
the matrix A. Then the vector equation can also be expressed as

y = Ax

In fact, this is the most used notation in literature and assumes that the bases of all
vector spaces are indeed canonical. 
Definition 1.81 (Similar Matrices) Two square matrices A and B of the same order
are called similar if they are connected by the relationship

B = T −1 A T
A = T B T −1

where the non-singular matrix T is called the similarity transformation matrix.


Property 1.34 Notice that similar matrices have the following properties:

A p = T B p T −1 ∀ p ∈ N (1.61)
|A| = |B|
56 1 Mathematic Foundations

Remark If two similar matrices are symmetric, (i.e. : A = A T ⇔ B = B T =


T T AT −T ) and the similarity transformation T is made out of unit vectors (from
unitary basis representations), then the similarity transformation is an orthogonal
matrix, i.e. :

T = T −T 
T −1 = T T ⇒
B = T T AT

1.2.3 Range Space and Null Space

Consider again the vector space X of dimension n and the vector space Y of dimen-
sion m with m ≤ n, and the linear operator A : X → Y. Then the linear transfor-
mation (1.1), in vector form is expressed by (1.51), i.e. y = Ax, where x ∈ X and
y ∈ Y; and the linear operator A has dimensions (m × n).

Definition 1.82 (Range Space) The range space (or simply range) of a linear oper-
ator A is the subspace R ⊆ Y where the linear transformation y = Ax has a result:

R( A) = { y : y = Ax, ∀x ∈ X } ⊆ Y

It follow that this subspace is generated by the linear independent columns of A,


then its dimension is given by the following expression

dim(R( A)) = ρ( A)

Also if the solution y is in the range of A, then it is a linear dependent vector with
all its columns. Then if y ∈ R( A), the rank of the augmented matrix [A, y] (for any
basis) must be the same as the rank of A:

ρ ([A, y]) = ρ(A)

Definition 1.83 (Null Space) The null space (or simply null) of a linear operator A
is the subspace N ⊆ X where the vector equation Ax = 0 has nonzero solutions:

N ( A) = {x : Ax = 0, ∀x ∈ X } ⊆ X

It follow that the dimension of this subspace is given by the following expression

dim(N ( A)) = n − ρ( A)

Also, the dimension of both, the range and the null space are

dim(R( A)) + dim(N ( A)) = n


1.2 Linear Operators 57

Remarks 1. For full rank ρ( A) = m rectangular matrices (m < n) the null space
is not null and the dimensions of its range and null spaces are:

dim(N ( A)) = n − m
dim(R( A)) = m < n

2. For full rank ρ( A) = n square matrices (m = n) the null space is null and the
dimensions of its range and null spaces are:

dim(N ( A)) = n − m = 0
dim(R( A)) = n

3. For non full rank ρ( A) = r < n square matrices (m = n) the null space is not
null and the dimensions of its range and null spaces are:

dim(N ( A)) = n − r

dim(R( A)) = r < n

Property 1.35 Vectors in the null space of A are orthogonal to vectors in the range
of the transpose AT . In other word, if x ∈ N ( A) and y ∈ R( AT ), then x · y =
y T x = 0. Then it is said that the null space of A is perpendicular (orthogonal) to
the range of AT :

N ( A) ≡ R⊥ ( AT ) ⇔ N ⊥ ( A) ≡ R( AT )
R( A) ≡ N ⊥ ( AT ) ⇔ R⊥ ( A) ≡ N ( AT )

Definition 1.84 (Null space projector) Consider a vector equation Ax = 0 with


nonzero solutions x̄ ∈ N (A) = {0}, and x ∈ X . A null space projector is a linear
operator P which maps the vector space X to the null subspace N (A):

P : X → N (A) (1.62)

Then if happens that P x = x̄ ∈ N (A) such that A x̄ = 0.

Property 1.36 The null space projector present the following property:

Orthogonal Complementarity: A P = 0

Example 1.51 A matrix expression of a null space projector of a rectangular linear


operator A can be computed from its matrix pseudo-inverse as

For the right pseudo-inverse (m < n) : P = In − A +


WA ⇒ AP = 0
For the left pseudo-inverse (m > n) : P = Im − A A +
W ⇒ PA = 0
58 1 Mathematic Foundations

Example 1.52 Consider the linear transformation (1.1) in vector form (1.51), with
m < n and full row rank of A (i.e.: ρ(A) = m). Since m < n, for the inverse prob-
lem there are multiple solutions x ∈ X for a given y ∈ Y. However the following
expression
x = A+ y + P k

is a solution for an arbitrary vector k ∈ X .


Notice that since the term P k ∈ N ( A), then the remaining part belong to the
orthogonal space, i.e. A+ y ∈ N ⊥ ( A) which is equivalent to A+ y ∈ R( AT ).

1.2.3.1 Jacobians Properties

Theorem 1.3 Given a vector function z(x, ẋ) ∈ Z of dimension m, whose elements
are smooth functions of the elements of vector x ∈ X of dimension n, and its time
derivatives ẋ, such that it can be expressed as the linear transformation

z(x, ẋ) = A(x)ẋ : (1.63)

It always happens that the following difference

∂ z(x, ẋ) d ∂ z(x, ẋ)


− = Q ∈ Fm×n ; Q ẋ = 0 (1.64)
∂x dt ∂ ẋ

is a null space projector of vector ẋ, and in general a non zero operator Q = 0.

Proof First notice that


∂ z(x, ẋ)
= A(x) ∈ Fm×n
∂ ẋ

Then the Jacobian Jz = ∂ z/∂ x ∈ Fm×n and the time derivative of A(x) are each
one given by the following different expressions:
   
∂z ∂z ∂z ∂A ∂A
Jz (x, ẋ) = = , ··· , = ẋ, · · · , ẋ ;
∂x ∂x1 ∂xn ∂x1 ∂xn
d ∂z n
∂ A(x)
Ȧ(x, ẋ) = = ẋi
dt ∂ ẋ i=1
∂xi

which means that the difference (matrix Q) is a non null matrix, i.e.: Jz (x, ẋ) =
Ȧ(x, ẋ).
Second, notice that the projections of vector ẋ on both of these operators is exactly
the same vector (Fig. 1.1):
1.2 Linear Operators 59

Fig. 1.1 Schematic projection of matrices Ȧ(x) and Jz (x, ẋ) = ∂ z/∂ x

∂ z(x, ẋ) 
n
∂ A(x)
Ȧ(x) ẋ = ẋ = ẋi ẋ
∂x i=1
∂xi

upon which it arise that the difference matrix Q = Jz (x, ẋ) − Ȧ(x, ẋ) is indeed a
null space projector of vector ẋ, expressed in the form of (1.64). 

Corollary 1.2.1 (or Theorem 1.3) If there exist some y(x) ∈ Y of dimension m, such
that ẏ = z, and y(x) is independent of ẋ, i.e. it fulfills the following condition:

∂y
= 0; (1.65)
∂ ẋ
then

∂ y(x)
1. A(x) = = Jy (x) (1.66a)
∂x
∂ y(x) ∂ ẏ(x, ẋ)
2. = = Jy (x) (1.66b)
∂x ∂ ẋ
∂ z(x, ẋ) d ∂ z(x, ẋ)
3. = = Jz (x, ẋ) = Ȧ(x, ẋ) ⇔ Q=0
∂x dt ∂ ẋ
∂ ẏ(x, ẋ) d ∂ y(x, ẋ)
≡ = (1.66c)
∂x dt ∂x
60 1 Mathematic Foundations

Proof Identity (1.66a) arises straight-forward after the chain rule differentiation,
under condition (1.65):

n
∂ y(x) ∂ y(x)
ẏ(x) = ẋi = ẋ = Jy (x) ẋ
i=1
∂xi ∂x

and simple comparison with expression (1.63).


Identity (1.66b) arise directly from the previous identity (1.66a) and condition
(1.65), i.e. the elements of vector y(x) are function only of elements of vector x and
not its time derivative arguments.
To prove identity (1.66c), first consider the time derivative of any element of the
Jacobian Jy (x), after its definition (1.56) above:

d  ∂ ∂ yi
n  ∂ ∂ yin  ∂ 2 yi n ∂ 2 yi n
[Jy ]i, j = ẋk + ẍk = ẋk + ẍk
dt k=1
∂xk ∂x j k=1
∂ ẋk ∂x j k=1
∂x j ∂xk k=1
∂x j ∂ ẋk

and notice that the second term vanish after condition (1.65).
On the other hand consider the time derivative vector ẏ after the chain rule expres-
sion, and notice that a change in the summation index is possible without changing
the result:
⎛ ⎞ ⎛ ⎞
.. ..
⎜ n . ⎟ ⎜ n . ⎟
⎜ ∂ yi ⎟ ⎜ ∂ y ⎟
⎜ ⎟ ⎜ i
ẋk ⎟
ẏ = Jy (x) ẋ = ⎜ ẋ j ⎟ = ⎜ ⎟
⎜ j=1 ∂x j ⎟ ⎜ k=1 ∂xk ⎟
⎝ ⎠ ⎝ ⎠
.. ..
. .

∂ ẏ
Then the Jacobian can be computed after last expression for which the i- j element
∂x
gets the following form:
   :
∂ ẏ ∂ n
∂ yi n
∂ 2 yi
= ẋk = ẋk
∂x i, j ∂x j k=1
∂x k k=1
∂x j ∂xk

Finally simple comparison completes the equality. The fact that the null space pro-
jector Q is indeed a null matrix under condition (1.65) arise after simple comparison
of expressions (1.64) and (1.66c). 
1.2 Linear Operators 61

1.2.4 Eigenvalues and Eigenvectors

Definition 1.85 (Eigenvalues and eigenvector) Given a square matrix A of order n,


the vector v = 0 ∈ Fn for which the following expression holds, for some scalar λ:

Av = λv (1.67)

is said to be an eigenvector 8 of A, and λ is said to be an eigenvalue 9 of A.


Equation (1.67) is equivalent to

(λIn − A)v = 0 or (A − λIn )v = 0;

where either inverse matrix [A − λIn ]−1 or [λIn − A]−1 is called the resolvent of A,
Khailath (1980). Since v = 0, (1.67) can only hold if |λIn − A| = |A − λIn | = 0,
which defines a scalar polynomial equation of order n.
Definition 1.86 (Characteristic polynomial of a Matrix) Given a square matrix A
of order n, its characteristic polynomial10 is found to be

f (λ) = |λIn − A| = αn λn + αn−1 λn−1 + · · · + α1 λ + α0 = 0 (1.68)


= αn (λ − λ1 )(λ − λ2 ) · · · (λ − λn )

whose n roots are the eigenvalues λi of A, denoted as λi {A}, for all i = (1, . . . , n).
Remark Notice that it is customary to express the characteristic equation normalized
such that coefficient αn = 1. However this is not compulsory for all the properties
of this polynomial function to hold. 
The n vectors vi satisfying the equation

[A − λi In ]vi = 0 (1.69)

are said to be the eigenvectors associated with the eigenvalues λi .


Remark Notice that the vector αvi is also an eigenvector of A, for all α ∈ R. Then
a partitioned matrix V , made out of the n normalized eigenvector v̂i = vi /vi  is a
full-rank square matrix of order n:

V  v̂1 · · · v̂n (1.70)

8 Also called proper vector, latent vector, characteristic vector.


9 Also called proper value, latent value, characteristic value, latent root, latent number, charac-
teristic number, etc. The current term comes from the German language where the prefix “eigen”
means proper.
10 Also called characteristic equation.
62 1 Mathematic Foundations

On the other hand, let  be a diagonal matrix of order n whose elements are the
eigenvalues of A:
⎡ ⎤
λ1 0 ··· 0
⎢0 λ2 ··· 0 ⎥
⎢ ⎥
  diag (λi (A)) = ⎢ . .. .. .. ⎥
⎣ .. . . . ⎦
0 0 ··· λn

Then it happens that the n equations (1.67) can be written in matrix form as AV =
V  or equivalently A = V V −1 , which means that V is a similarity transformation
matrix of A.

Definition 1.87 (Eigenvalues diagonalization) Given a square matrix A of order n,


the similar transformation matrix V , made out of the n normalized linearly indepen-
dent eigenvectors has a similar diagonal matrix, whose elements are the eigenvalues
of A, computed as
 = V −1 AV

It happens that if A = A T is symmetric, then V is orthogonal: V −1 = V T and  =


T = V T AV .

Remark Notice that not all square matrices are diagonalizable into their eigenval-
ues diagonal form because this diagonalization demands that all de eigenvectors vi
satisfying (1.69) must be linearly independent as required by (1.70) to be invertible;
which in turns demands that all the eigenvalues must be different. Then only square
matrices with different eigenvalues are eigenvalue-diagonalizable. 

Eigenvectors for Repeated Eigenvalues


Notice that each vi ∈ N (A − λi In ). In consequence, the null space for each matrix
[A − λi In ] has a dimension equal to the number of times where the eigenvalue λi
appears in A. This means that there are as many linearly independent eigenvector for
each repeated eigenvalue as the number of repetitions.
If an eigenvalue λk is repeated p times then it happens that the eigenvectors
vk1 − vk p may be linearly dependent. To avoid such dependency one can define the
following recurrence of the eigenvectors:
vk1 = [A − λk In ]vk2
vk2 = [A − λk In ]vk3
..
.
vk p−2 = [A − λk In ]vk p−1
vk p−1 = [A − λk In ]vk p

that assures that all these new eigenvectors lie in the null space vki ∈ N (A − λk In ),
and yet are linearly independent among them.
1.2 Linear Operators 63

If vk p is known, a backward recurrence would yield:

vk p−1 = [A − λk In ]vk p (1.71a)


vk p−2 = [A − λk In ]vk p−1 = [A − λk In ] vk p
2
(1.71b)
..
.
vk j = [A − λk In ]vk j+1 (1.71c)
..
.
vk1 = [A − λk In ]vk2 = [A − λk In ] p−1 vk p (1.71d)
0 = [A − λk In ] p vk p (1.71e)

From which vk p is found as the solution of (1.71e).


Definition 1.88 (Generalized eigenvector) If the eigenvector vk corresponding to a
p-repeated eigenvalue λk satisfies

[A − λk In ] pk vk = 0
[A − λk In ] pk −1 vk = 0

then vk is called a generalized eigenvector of grade p.


The corresponding eigenvectors vk j for all j = 1, 2, . . . , p, associated with the
repetitive eigenvalue λk , can be computed recursively backward after (1.71), which
modify expression (1.67) to the following form:

[A − λk In ] pk vk pk = 0 ∀ j = pk
[A − λk In ] vk j = vk j−1 ∀ j < pk (1.72)

Definition 1.89 (Block diagonal Jordan form) If a square matrix has k repetitive
eigenvalues, there are k generalized eigenvectors of grade pk ≥ 2, and the corre-
sponding pk equations (1.67) adopt after (1.72) the modified form:

Avk j = λk j vk j + vk j−1 ∀ j < pk

Then the n eigenvalue equations can be written as

A V̄ = V̄ Jλ

where V̄ is a partitioned matrix made with the n linearly independent generalized


eigenvectors and Jλ is the block diagonal Jordan Canonical form constructed as11 :

11 Inthis example there are k = 2 repeated eigenvalues. This first is repeated two times p1 = 2 and
the second is repeated three times p2 = 3.
64 1 Mathematic Foundations
⎡ ⎤
λ1 0 ··· 0 0 0 0 0 0 0
⎢ 0 λ2 ··· 0 0 0 0 0 0 0 ⎥
⎢ ⎥
⎢ . .. .. .. .. ⎥
⎢ . . ⎥
⎢ . . . . 0 0 0 0 0 ⎥
⎢ ⎥ ⎡ ⎤
⎢ 0 0 ··· λl−1 0 0 0 0 0 0 ⎥ Jλ1 0 0
⎢ ⎥
Jλ  ⎢

0 0 ··· 0 λl 0 0 0 0 0 ⎥=⎣ 0
⎥ Jλ2 0 ⎦ ∈ Fn×n
⎢ 0 0 0 0 0 λk 1 1 0 0 0 ⎥ 0 0 Jλ3
⎢ ⎥
⎢ 0 0 0 0 0 0 λk 1 0 0 0 ⎥
⎢ ⎥
⎢ 0 0 0 0 0 0 0 λk 2 1 0 ⎥
⎢ ⎥
⎣ 0 0 0 0 0 0 0 0 λk 2 1 ⎦
0 0 0 0 0 0 0 0 0 λk 2
(1.73)
where all Jλi are upper triangular matrices.

Definition 1.90 (Jordan diagonalization) Given a square matrix A of order n, with


n generalized eigenvectors whose normalized version are used to built a similarity
transformation matrix V̄ as in (1.70). The eigenvalues diagonalization of A is a
diagonal block Jordan matrix of form (1.73), given as

Jλ = V̄ −1 A V̄

Theorem 1.4 (Matrix rank) The rank of a matrix A of order n is determined by the
number r of the eigenvalues different from zero:

ρ(A) = ρ(Jλ ) = r (1.74)




λ1 (A) = λ2 (A) = · · · = λr (A) = 0,
λr +1 (A) = λr +2 (A) = · · · = λn (A) = 0

Proof From (1.16b) and the fact that V̄ is full rank, it follows that ρ(A) = ρ(Jλ ).
On the other hand, if there are n − r repetitive null eigenvalues, the block diagonal
Jordan matrix (1.73) can be written as
 
J1 0
Jλ = diag (J1 , J2 ) =
0 J2

where ρ(Jλ ) = ρ(J1 ) + ρ(J2 ), and with


⎡ ⎤ ⎡ ⎤
λ1 0 ··· 0 0 0 1 ··· 0 0
⎢ 0 λ2 ··· 0 0 ⎥ ⎢0 0 ··· 0 0⎥
⎢ ⎥ ⎢ ⎥
⎢ .. .. .. .. .. ⎥ ⎢. .. .. .. .. ⎥
J1  ⎢ . . . . . ⎥ ∈ Fr ×r , J2  ⎢ .. . . . .⎥ ∈ F(n−r )×(n−r )
⎢ ⎥ ⎢ ⎥
⎣ 0 0 ··· λr −1 0 ⎦ ⎣0 0 ··· 0 1⎦
0 0 ··· 0 λr 0 0 ··· 0 0
1.2 Linear Operators 65

From (1.9), it is evident that J1 has full rank r , while J2 has null rank: ρ(J2 ) = 0
(since there is no minor with any order being non null). Then (1.74) holds. 

Theorem 1.5 (Quadratic form bounds) The scalar quadratic form of any square
matrix is bounded by its minimal and maximal eigenvalues, λm (A) and λ M (A) re-
spectively, in the following form

λm (A)x2 ≤ x T Ax ≤ λ M (A)x2 (1.75)

Proof Consider that there exist a similarity transformation matrix V such that  =
V −1 AV , and the following matrices:

m  λm (A)I
 M  λ M (A)I

Then it is easy to see that the quadratic form x T Ax = x T V V −1 x is bounded as


follows
x T V m V −1 x ≤ x T Ax ≤ x T V  M V −1 x

Then since λi are scalars, it follows that the product V i V −1 = λi I , and then (1.75)
arise straightforward. 

Property 1.37 (Eigenvalues properties)

Diagonal Matrix:  = diag(d A ) ⇒ d A = (λ1 , . . . , λn )T


if λ1  = λ2  = . . .  = λn
Jordan Diagonalization: Jλ = V̄ −1 A V̄

n
Matrix determinant: |A| = λi = λ1 λ2 · · · λn
i=1
Matrix singularity condition: |A| = 0 ⇔ λi (A) = 0
Rank: ρ(A) = ρ(Jλ ) = r, (λr +1 = · · · = λn = 0)
Matrix possitive definitness: A > 0 ⇔ λm (A) > 0 ⇒ |A| > 0
Matrix possitive semi-definitness: A ≥ 0 ⇔ λm (A) ≥ 0 ⇒ |A| ≥ 0

1.2.4.1 The Cayley–Hamilton Theorem

Theorem 1.6 (Hamilton–Cayley) “Every square matrix fulfils it own character-


istic polynomial”. This means that for a scalar characteristic equation given
by (1.68): f (λ) = |λIn − A| = αn λn + αn−1 λn−1 + · · · + α1 λ + α0 , there exists a
Matrix polynomial
66 1 Mathematic Foundations

F(M) = αn M n + αn−1 M n−1 + · · · + α1 M + α0 In (1.76)

such that when evaluated with the original square matrix A it becomes zero:

F(A) = [0]n

Proof First notice that the evaluation of the characteristic polynomial using the ma-
trix A instead of the eigenvalues f (A) = |AIn − A| is not possible since the char-
acteristic equation (1.68) is a scalar one while the characteristic equation (1.76) is a
matrix polynomial.
The relationship is found after the resolvent of A: [A − λI ]−1 = f (λ)1
ad j (A −
λI ); which yields:

f (λ)In = [A − λI ] ad j (A − λI ) = ad j (A − λI ) [A − λI ] (1.77a)
= αn In λ + αn−1 In λ
n n−1
+ · · · + α1 In λ + α0 In = F(λIn ) (1.77b)

which is the evaluation of the matrix characteristic polynomial (1.76) with M = λIn .
Since the characteristic polynomial is of order n, expression (1.77a) means that
the adjugate matrix ad j (A − λI ) must be a matrix polynomial of order n − 1 with
matrix coefficients Bi ∈ Fn×n for all i = 1, . . . , n − 1:

ad j (A − λI ) = Bn−1 λn−1 + · · · + B1 λ + B0 ;

Using last expression in (1.77a), and comparing with (1.77b) it follows that the matrix
coefficients Bi must be commutative with A, i.e. Bi A = ABi , under the following
conditions:

α0 In = AB0 = B0 A (1.78a)
α1 In = AB1 − B0 = B1 A − B0 (1.78b)
α2 In = AB2 − B1 = B2 A − B1
..
.
αn−2 In = ABn−2 − Bn−3 = Bn−2 A − Bn−3
αn−1 In = ABn−1 − Bn−2 = Bn−1 A − Bn−2
αn In = −Bn−1 (1.78c)

Solving backwards for Bi from (1.78c) to (1.78b) it yields:


1.2 Linear Operators 67

Bn−1 = −αn In
Bn−2 = −αn−1 In − αn A
Bn−3 = −αn−2 In − αn−1 A − αn A2
..
.
B1 = −α2 In − α3 A − α4 A2 − · · · − αn−1 An−3 − αn An−2
B0 = −α1 In − α2 A − α3 A2 − · · · − αn−3 An−3 − αn−1 An−2 − αn An−1

from which it arise that all matrices Bi have the following general form, being indeed
product commutative with A:


n
Bi = − α j A j−i−1
j=i+1

n
Finally expression (1.78a) becomes α0 In = AB0 = B0 A = − j=1 α j A j which
can be rewritten in the homogeneous form:


n 
n
α0 In + αj A =
j
α j A j = 0 = F(A)
j=1 j=0

being indeed the characteristic matrix polynomial (1.76) evaluated with M = A, as


stated by the theorem. 

From the Cayley–Hamilton Theorem if follows that for any square matrix A of
order n, any power p ≥ n of this matrix is a linear combinations of (In , A, A2 , . . . ,
An−1 ):

An = β0 In + β1 A + β2 A2 + · · · + βn−1 An−1 with βi = −αi /αn


A n+1
= β0 A + β1 A + β2 A + · · · + βn−1 A
2 3 n

..
.
An+ j = β0 A j + β1 A j+1 + β2 A j+2 + · · · + βn−1 An+ j−1
..
.

Then it follows that any infinite series of powers of a square matrix can also
be computed as a finite linear combination of the base (In , A, A2 , . . . , An−1 ); for
instance: the exponential matrix.
68 1 Mathematic Foundations

1.2.4.2 Singular Values

The concept of singular values is mainly an extension of eigenvalues for rectangular


matrices. However it can also be applied to square matrices from which it arise
interesting properties and relationships.

Definition 1.91 (Singular Values) Given a rectangular matrix A of dimensions (m ×


n), its singular values are the square root of the eigenvalues of square matrix with
smaller dimensions:
;
λ (A A T ) if m < n
σi (A)  ; i T (1.79)
λi (A A) m>n

It follows that all singular values are positive.

Definition 1.92 (SVD (Singular Value Decomposition)) Consider a rectangular ma-


trix (operator) A with dimensions (m × n) and two orthogonal similarity transfor-
mations: U of order m and V of order n that yield the equivalent rectangular matrix:

A = U V T ∈ Fm×n (1.80)

Then  is the singular values matrix; and expression (1.80) is called the singular
value decomposition (SVD).

Case m > n
If m > n the original operator A and the singular values matrix  can be written
as block matrices:
   
A1 1
A= ∈ Fm×n , = ∈ Fm×n , ∀m > n
A2 2

where blocks A1 ∈ Fn×n is square of order n, A2 ∈ F(m−n)×n has dimensions ((m −


n) × n), 1 = diag (. . . , σi , . . .) is a diagonal matrix of order n with the singular
values of A, and 2 = 0 is a null matrix or proper dimensions:
⎡ ⎤
σ1 0 ··· 0 0
⎢0 σ2 ··· 0 0 ⎥
⎢ ⎥ ⎡ ⎤
⎢ .. .. .. .. .. ⎥
⎢ . . . . . ⎥
⎢ ⎥ ⎢ 1 ⎥
⎢0 0 ··· σm−1 0 ⎥ ⎢ ⎥
⎢
⎢0
⎥=⎢ ⎥ ∈ Fm×n ,
⎢ 0 ··· 0 σm ⎥ ⎢ ⎥
⎥ ⎣ ⎦
⎢0 0 ··· 0 0 ⎥
⎢ ⎥ 2
⎢ . .. .. .. ⎥
⎣ .. . . . ⎦
0 0 ··· 0 0
1.2 Linear Operators 69

Notice that the product A T A ∈ Fn×n yields a positive definite square matrix of
order n:
 
A T A = A1T A1 + A2T A2 = V 12 V T >0

while the product A A T ∈ Fm×m yields a positive semi-definite square matrix of


order m:
   2 
A1 A1T A1 A2T 1 0
A AT = = U UT ≥0
A2 A1T A2 A2T 0 0

Case m < n
Equivalently, for m < n, the original operator and the singular values matrix are
also block matrix with adequate separations:
   
A = A1 , A2 ∈ Fm×n ;  = 1 , 2 ∈ Fm×n ; ∀m < n

where A1 ∈ Fm×m , A2 ∈ Fm×n−m , 1 = diag (. . . , σi , . . .) ∈ Fm×m is a diagonal ma-


trix of order m with the singular values of A, and 2 = 0 is a null matrix or proper
dimensions.
In this case the product A T A ∈ Fn×n yields a positive semi-definite square matrix:
   
A1T A1 A1T A2 12 0
A A=
T
=V VT ≥0
A2T A1 A2T A2 0 0

while the product A A T ∈ Fm×m yields a positive definite square matrix of order m:
 
A A T = A1 A1T + A2 A2T = U 12 U T >0

In both cases, it can be seen that U is a similarity transformation for A A T while V


is a similaritytransformation
 for A T A, which both yields similar diagonal matrices
1 and diag 1 , 0 . Then the orthogonal matrices U and V are made with the
2 2

normalized general eigenvectors ûi ∈ Fm (left-singular vectors) and v̂i ∈ Fn (right-


singular vectors):

U = [û1 , û2 , . . . , ûm ] ∈ Fm×m


V = [v̂1 , v̂2 , . . . , v̂n ] ∈ Fn×n

which are the non zero solution of the following expressions:


 
A A T − λi (A A T )Im ui = 0 (1.81a)
 T 
A A − λi (A T A)In vi = 0 (1.81b)
70 1 Mathematic Foundations

Remarks
• The singular value decomposition (1.80) of any rectangular matrix A can be re-
constructed alternatively as the following weighted dyadic addition:


d
A = U V T = σk ûk v̂kT ∈ Fm×n (1.82)
k=1

where d = min(m, n); in which each adding tensor is a rank-1 external product of
the left- and right-singular vectors corresponding to the same singular value.
• Notice that if matrix A is rectangular, one of the two square matrix A T A or A A T
has at least 1 zero eigenvalue, but it can also have repeated zero eigenvalues which
would need generalized eigenvectors. In any case, after last remark, it follows
that only the singular vectors corresponding to non-null singular values are of
importance in the reconstruction of the original matrix.
After this, it is possible to define an economy size SVD:

A = Ū 1 V̄ T ∈ Fm×n

where the matrices Ū and V̄ only includes the singular vectors corresponding to
non-null singular values.
• Notice that for any left-singular vector ûi that fulfils expression (1.81a), its neg-
ative −ûi is also a left-singular vector upon which a different basis U may be
constructed. The same reasoning can be applied to the right-singular vectors v̂i .
However the dyadic reconstruction (1.82) needs a particular direction on both sin-
gular vectors associated to any (non-negative) singular value σi : ûi and v̂i which
means that if both singular vectors switch sign, the dyadic addition (1.82) remains
unaltered. This means that the direction of the singular vectors associated to non-
null singular values is indeed of importance.
To remove the ambiguity, consider the singular vector conditions (1.81), which
for the non-null singular values they may be written in either the following forms:
9 8
A A T ui = σi2 ui A T ui = σi vi
⇔ (1.83)
A T Avi = σi2 vi Avi = σi ui

Then the sign of any ûi or v̂i shall be switched such that both singular vectors
associated with the same singular value fulfill expression (1.83).
Alternatively, since the non-null singular values are always positive, it is possi-
ble to define the left-singular vectors as function of the right-singular ones, or
viceversa as:
Avi A T ui
ûi  or v̂i  5 T 5 
Avi  5 A ui 5
1.2 Linear Operators 71

Property 1.38 (Singular values properties)

Semi-positiveness: σi ≥ 0 (1.84a)
Matrix bounds: − σ M (A) xy ≤ y Ax ≤ σ M (A) xy T

(1.84b)
Rank: ρ(A) = ρ(1 ) (1.84c)

d
Singular values addition: σi2 (A) = tr (A T A) = tr (A A T ) (1.84d)
i=1

Proof The singular values addition (1.84d) arise straightforward after the Frobenius
product definition (1.17) under the quadratic case (1.18):


m 
n
A : A = tr (A T A) = tr (A A T ) = ai,2 j
i=1 j=1

which means that the trace of the self-square products of any matrix is the element-
wise addition of the square of all of its elements.
On another hand, after the dyadic addition form of the singular values decom-
position (1.82) it arise that the elements ai, j of a matrix A are the total addition of
the corresponding elements of dyadic terms ûk v̂kT weighted by the corresponding
singular value σk :

d
ai, j = σk û ki v̂k j
k=1

Since the similarity transformation U and V are by definition orthogonal matri-


ces with normalized singular vectors it happens that its columns vectors fulfil the
following identities:
 m  m
1= û 2ki if k = l 1= v̂k2 j if k = l
ûk , ûl = i=1
v̂k , v̂l = j=1
0 if k = l 0 if k = l

which means that the square product of each element in the matrix is indeed:


d
ai,2 j = σk2 û 2ki v̂k2 j
k=1

Then the Frobenius product A: A becomes:


⎧ ⎛ ⎛ ⎞⎞⎫
d < = d ⎨ ⎬  d

m 
n 
m 
n   m 
n
ai,2 j = σk2 û 2ki v̂k2 j = σ 2 ⎝ 2
û ki ⎝ 2
v̂k j ⎠ ⎠ = σk2
⎩ k ⎭
i=1 j=1 i=1 j=1 k=1 k=1 i=1 j=1 k=1
72 1 Mathematic Foundations

which produces the Singular values addition identity (1.84d). 

Definition 1.93 (Singular-value pseudo-inverse (SV-PI)) The singular-value


pseudo-inverse (SV-PI) of a given matrix A of any dimensions (m × n) is defined
as
d
1
A+  V  + U T = v̄i ūiT ∈ Fn×m
i
σi
1

where U and V are the orthogonal matrices of the left and right eigenvectors, d =
min(m, n), and  + is the Penrose pseudo-inverse of  as follows, if all singular
values are different from zero (i.e.: A being full rank):
⎧- −1 .

⎪ 
⎨ 1 ∈ Fn×m ∀ m < n
+ 0
 =

⎪ 
⎩  −1 0 ∈ Fn×m ∀ m > n
1

Remark After the above expression, the pseudo-inverse of full rank rectangular ma-
trix can be computed using the economy size SVD as follows:

A+ = V̄ 1−1 Ū T ∈ Fn×m 

1.2.4.3 Rank Deficient Matrix Inversion

If there are some null singular values in the matrix A such that

σ1 ≥ σ2 ≥ · · · ≥ σr > σr +1 = · · · = σd = 0

it arise the following facts:


• The matrix A is rank deficient with rank(A) = r < d.
• The singular values matrix 1 is also singular with the following shape:
⎡ ⎤
σ1 0 ··· 0 0 0 0
⎢0 σ2 ··· 0 0 0 0⎥
⎢ ⎥
⎢ .. .. .. .. .. .. .. ⎥
⎢ . . . . . . .⎥  
⎢ ⎥ ¯
 0
1 = ⎢
⎢0 0 ··· σr 0 0 0⎥ ⎥ = ∈ Fd×d ,
⎢0 0 0
⎢ 0 ··· 0 0 ··· 0⎥ ⎥
⎢ . .. .. .. .. .. ⎥
⎣ .. . . . . .⎦
0 0 ··· 0 0 ··· 0

¯ ∈ Fr ×r is a full rank economy size singular value matrix.


where 
1.2 Linear Operators 73

Then, the square product A A T or A T A is singular and there is no possible weighted


pseudo-inverse computed by (1.26). Different alternatives exist to compute a numer-
ically robust pseudo-inverse. For instance consider the following definition:

Definition 1.94 (Damped least-squares pseudo-inverse) (Canudas de Wit et al.


1996) The damped least-squares pseudo-inverse (DLS-PI) of a matrix is a modi-
fied version of the Penrose pseudo-inverse defined as follows:
  −1
A T A A T + δ Im
A#δ   −1 T
A T A + δ In A

with a user defined scalar damping factor: δ.

Remarks
• Notice that the second expression arise from the following minimization criterion

1 1
J= y − Ax2 + δx2
2 2

• Due to the additional damping factor both matrices A A T + δ Im and A T A + δ In


are well conditioned and both are non singular, then the DLS-PI can be computed
indistinctly with any formulation. However it is evident that the one with less
computational effort is the one with smaller dimension.
• After de SVD it happens that the DLS-PI can be computed as


q
σi  σi
r
A#δ = v̄i ū T
i = v̄i ūiT ∈ Fn×m
i1
σi2 + δ i
σi
2
+ δ
1

whose zero singular value’s influence is naturally excluded. 

Definition 1.95 (The MSV-PI (Modified SV-PI)) The modified singular value
pseudo-inverse is indeed the DLS-PI in the limit case when the damping factor
vanishes δ → 0:
r
1
A#  lim A#δSV D = v̂i ûiT ∈ Fn×m
δ→0 σ
i=1 i

Remark Notice that the above MSV-PI can be computed using directly an economy
size SVD:
¯ −1 Ū T ∈ Fn×m
A# = V̄ 

where the bar: ¯· represents the corresponding economy size matrices. 


74 1 Mathematic Foundations

1.2.4.4 Linear Operator’s (Matrix) Norms

Property 1.39 (Matrix norms axioms) Analogous to vector norms, matrix norms
are also positive definite scalar functions of the elements of the matrix fulfilling the
following axioms:

Positive-definiteness  A > 0 ∀ A = 0
Nullity condition:  A = 0 ⇔ A=0
Homegeneity α A = |α| A
Sub-additivity  A + B ≤  A + B
Sub-multiplicativity  AB ≤  A B if ∃ AB

Using the vector product Ax after the sub-multiplicative axiom it arise:

 Ax ≤  A x

for any vector norms  Ax and x. Then a particular matrix norm can be defined
after the vector p-norm as follows:

Definition 1.96 (The induced p-norm of a Linear Operator (matrix)) The induced
p-norm of a linear operator is defined in the following form

 Ax p
 A p  sup ∀p ≥ 1
x=0 x p

Last definition can also be computed using a vector of ones as  A p =  Ae p .


For the particular cases where p = {1, 2, ∞} these norms can be computed as


m
p=1  A1 = max |ai, j | i.e.: maximum absolute column sum
1≤ j≤n
i=1
n
p=2  A2 = σ M ( A) i.e.: maximum singular value
j=1

n
p=∞  A∞ = max |ai, j | i.e.: maximum absolute row sum
1≤i≤n
j=1

Definition 1.97 (The Matrix Spectral Norm) The spectral norm of a linear operator
is defined as the induced Eucludian norm:
 Ax2
 As   A2 = sup
x=0 x2

Property 1.40 The spectral norm of a matrix is its maximum singular value:
1.2 Linear Operators 75

 As = σ M ( A)

Proof (The Matrix Spectral Norm) Consider the square product of the Euclidian
induced norm of the operator A:

 Ax22 ( Ax)T ( Ax) x T AT Ax


 A2 2 = sup = sup = sup
x=0 x22 x=0 x22 x=0 x22

Last term is upper bounded as

x T AT Ax λ M ( AT A)x2
≤ (after Euclidean vector norm bounds (1.75))
x22 x2
≤ λ M ( AT A) = σ 2M ( A) (after singular values definition (1.79))

Then it follows that the spectral (Euclidean) norm of a matrix is its maximal singular
value:
 Ax2
 As   A2 = sup = σ M ( A)
x=0 x2

which applies for any matrix, without the square matrix restriction. 
Definition 1.98 (The Frobenius Norm) The Frobenious norm of a linear operator is
defined after the entrywise norms with p = 2 as follows:
*
+
+ m 
n
 A F  , |ai, j |2 for any A ∈ Fm×n
i=1 j=1

Notice that the square product of this norm can be computed alternatively as

 A2F = A : A = tr ( AT A) (after the Frobenius product definition (1.17))



min{m,n}
= σi2 ( A) (after the singular value property (1.84d))
i=1

Then the Frobenius norm may be computed after any of the following expressions
* *
+ ; +min{m,n}
+ m 
n + 
 A F = , |ai, j | = tr A A = ,
2 T
σi2 ( A)
i=1 j=1 i=1

After the above definition it is straight-forward evident that the Frobenius norm fulfils
all axioms of matric norms but sub-multiplicativity:

 AB F ≤  A F B F , ∀ A ∈ Fm× p ; B ∈ F p×n


76 1 Mathematic Foundations

which is proven as follows.

Proof (Sub-multiplicativity of Frobenius norm) Consider the square product of the


norm:
 2
m  n  
p 

 AB2F =  ai,k bk, j  (after the simple matrix product)

i=1 j=1 k=1 
⎛ ⎞
m   p p
n  2   2
≤ ⎝ ai,k  · bl, j  ⎠ (after Cauchy–Schwarz inequality (1.50))
i=1 j=1 k=1 l=1
m  p  p
n 
   
= ai,k 2 · bl, j 2
i=1 k=1 j=1 l=1

=  A2F · B2F

Finally, the square root under the nonnegativity condition completes the proof. 

Remark Notice that both Spectral norm and Frobenius norm of a matrix A are related
after a vector composed with the r = min{m, n} singular values:
⎛ ⎞
σ1 ( A)
⎜ ⎟  As = s∞
s  ⎝ ... ⎠ ∈ Rr ⇒
 A F = s2
σr ( A)

Then it always happens that  As ≤  A F 

Example 1.53 Consider the following matrix:


⎡ ⎤
−5 −5 −7
A = ⎣−4 −2 −4⎦
−7 −4 −5

The eigenvalues and singular values are:


⎛ ⎞ ⎛ ⎞
−16.3246 > 12.0301
λ( A) = ⎝−12.0000⎠ ; s( A) = λ( AT A) = ⎝16.6717⎠ ;
−16.3246 15.9805

The different norm values are

 A1 = 16;  As =  A2 = 12.0301;


 A∞ = 17;  A F = 15;
1.3 3D Vector Analysis 77

Fig. 1.2 Reference frame


with Cartesian coordinates of
an Euclidian space

Fig. 1.3 Right hand rule


definition for Cartesian 3D
frames y
z

1.3 3D Vector Analysis

This section is dedicated to the spacial case of 3D vector spaces of real numbers
R3 , which is of important interest for the physical interpretation because it is in this
space where all the classic mechanics elements are defined, and it represents most
of the physical phenomena of everyday life.

Definition 1.99 (3D Euclidian space) The 3-dimensional physical space (≡ R3 ),


whose elements like position, velocity and acceleration are 3-D vectors, is called the
Euclidian space.

Definition 1.100 (Reference frames) Let 0x yz be a right-handed coordinate system


frame defined by Cartesian axes x, y and z. Let  be a coordinates basis (the canonical
basis) defined by the unit vectors i, j and k along the axes x, y and z respectively.
Then  is called a reference frame, in the 3D space of real numbers. See Fig. 1.2.

Cartesian coordinates frames  are fully equivalent to Euclidian Spaces, i.e. they
are made by 3 orthogonal axes with the right-hand rule, defining the 3D physical
space, as shown in Fig. 1.3.

Remark Notice that a reference frame is also called a reference system. 

Definition 1.101 (Coordinates Systems) Coordinates Systems are coordinates sets


to express the magnitude of a vector w.r.t. a given point in a reference frame.
78 1 Mathematic Foundations

Fig. 1.4 Different coordinate systems for the same position of a point p in a reference frame

Coordinate systems can be Cartesian coordinates, Cylindrical (polar) coordinates,


Spherical coordinates, Geodesic coordinates or any other. Some of them are shown
in Fig. 1.4.

Remark Notice that a reference frame or reference system is not a coordinate system.
However it defines a coordinates basis in which all vectors can be expressed uniquely
with any coordinates system. 

The Cartesian coordinates system (Refer to Example 1.45, in Sect. 1.2,) has the
canonical basis of a 3D space:
⎛ ⎞ ⎛ ⎞ ⎛ ⎞
1 0 0
i  ⎝ 0 ⎠ ∈ R3 j  ⎝ 1 ⎠ ∈ R3 k  ⎝ 0 ⎠ ∈ R3 (1.85)
0 0 1

Then any 3D vector a ∈ R3 can be expressed as a linear combination of the above


mentioned basis:

a = a x i + a y j + az k

where the elements (ax , a y , az ) are the Cartesian coordinates of a. Notice that this
vector can also be expressed as the column matrix with the coordinate elements in
the form: ⎛ ⎞
ax
a = ⎝ ay ⎠
az

The magnitude of a vector The magnitude of a 3D vector can be computed using


a geometric diagram an the known Pythagorean Theorem. Refer to Fig. 1.5 where
the vector a has [Cartesian] coordinates ax , a y>and az . The magnitude of the vector
projection in the x-y plane would be |ax y | = ax2 + a 2y . The magnitude of vector
a can be calculated also with Pythagoras’ Theorem on the> plane formed by the x-y
projection ax y and the remaining component az as |a| = ax2y + az2 which becomes:
1.3 3D Vector Analysis 79

Fig. 1.5 Pythagorean


theorem applied to 3D
vectors

Fig. 1.6 Canonical basis


unit vectors, the unit sphere
and the director vector of an
arbitrary unit vector

>
|a| = ax2 + a 2y + az2

Notice that this is indeed the Euclidian norm of vectors. Then it is also true that
the magnitude of a vector can also be expressed as

|a| = a

Definition 1.102 (The director vector) The director vector λa ∈ R3 of a vector a ∈


R3 is defined as a unit vector (λa  = 1) such that the original vector can be computed
form this direction and its magnitude as (Fig. 1.6)

a = aλa
80 1 Mathematic Foundations

Then this director vector can be written as

λa = λax i + λa y j + λaz k (1.86)

or in coordinates form as
⎛ ⎞
⎛ ⎞ √ 2 ax 2 2
λax a +a +a
⎜ x ay y z ⎟
a √2 2 2
λa = ⎝ λa y ⎠ = =⎜ ⎟
λaz a ⎝ ax +a y +az ⎠
√ 2 az 2 2
ax +a y +az

1.3.1 The Dot (Scalar) Product

Definition 1.103 (Dot Product) The dot product of any two vectors a = (ax , a y ,
az )T , b = (bx , b y , bz )T ∈ R3 is a scalar value defined as the product of the magnitude
of one vector by the projection magnitude of the second vector over the first one (Zill
and Cullen 2006):
a · b  a b cos(θ) (1.87)

with θ ∈ [0, π] being the smallest angle between vectors a and b (Fig. 1.7).

Notice that if a and b represent a distance in the Euclidian space, the distance
c = b − a is the relative distance from a to b, and closes a triangle (see Fig. 1.8),
with corresponding Euclidian norms as

a2 = ax2 + a 2y + az2


b2 = bx2 + b2y + bz2

Fig. 1.7 Geometric interpretation of the dot product definition


1.3 3D Vector Analysis 81

Fig. 1.8 Geometric


interpretation of law of
cosine and the dot product

c2 = (bx − ax )2 + (bx − a y )2 + (bx − az )2


= a2 + b2 − 2(ax bx + a y b y + az bz ) (1.88)

Consider also the law of cosines:

c2 = a2 + b2 − 2a b cos(θ)

which with the use of (1.87) can be written as c2 = a2 + b2 − 2a · b, and
using (1.88) it establishes the more commonly used expression of the dot product:

a · b = a x b x + a y b y + az bz (1.89)

Property 1.41 (3D dot product properties) Notice the the dot product presents the
following properties, for all (a, b, c) ∈ R3 , x ∈ Rr , and (α, β, x) ∈ R (Fig. 1.9):

Inner Product: a · b = a, b = a T b
Commutativity: a·b= b·a
Linearity: (αa + βb) · c = α(a · c) + β(b · c)
Orthogonality (θ = π/2) : a·b=0⇒a⊥b
Acute angle (θ < π/2) : a·b>0
Obtuse angle (θ > π/2) : a·b<0
d da db
Scalar differentiation: (a · b) = ·b+a· ∈R
dx dx dx
 T  T
∂ ∂a ∂b
Vectorial differentiation: (a · b) = b+ a ∈ Rr
∂x ∂x ∂x
(1.90a)
5 52
Euclidian norm relationship: a · a = 5 a5 = a a ≥ 0
T
 
Cauchy−Schwarz Inequality:  a · b ≤ a · b
82 1 Mathematic Foundations

Fig. 1.9 Geometric interpretation of the dot product for acute and obtuse angles

Fig. 1.10 Direction cosines


for an arbitrary vector λa

All the above properties follows straightforward from the dot product expression
(1.87) and (1.89). Property (1.90a) is the 3D version of the inner product gradient
(1.57) for any dimension vectors.

Remark While the inner product is defined for column or row matrices of any di-
mension, the dot product is defined for 3D vectors. However they share the same
properties and thus is common use to call the inner product of n-dimensional vectors
as the dot product. 

Example 1.54 Consider the unit vectors i, j and k which defines an orthogonal
basis for the Euclidian space with Cartesian coordinates, see (1.85). The dot product
definition yields the following dot product identities

i·i =1 i· j =0 i·k=0
j·i =0 j· j =1 j·k=0
k·i =0 k· j =0 k·k=1

Example 1.55 (The direction cosines) Consider the direction (unit) vector λa of
Fig. 1.10 expressed in (1.86), with coordinates λax , λa y , and λaz . The direction angles
αx , α y , and αz and their cosine can be computed using the dot product as
1.3 3D Vector Analysis 83

λa · i = λa  cos(αx ) = λax


λa · j = λa  cos(α y ) = λa y
λa · k = λa  cos(αz ) = λaz

from which it can be deduced that the direction cosines that defines the direction of
any vector are the cartesian coordinates of its unit director vector:

cos(αx ) = λa · i = λax
cos(α y ) = λa · j = λa y
cos(αz ) = λa · k = λaz

and fulfils the following property

cos2 (αx ) + cos2 (α y ) + cos2 (αz ) = 1

1.3.2 The Cross (Vector) Product

Definition 1.104 (Cross Product) The cross product of any two vectors a =
(ax , a y , az )T , b = (bx , b y , bz )T ∈ R3 is defined to be a vector, perpendicular to both
original vectors (i.e. perpendicular to the plane defined by these vectors) in the di-
rection defined by the right-hand rule (Fig. 1.11), with magnitude equal to the area
of the parallelogram defined by vectors a and b:

a × b  (a b sin(θ)) λn (1.91)

with θ ∈ [0, π] being the smallest angle between vectors a and b, and λn ∈ R3 is the
unit vector normal to the plane defined by both vectors a and b, and the right-hand
rule; hence being perpendicular to both argument vectors.

The parallelogram area is computed as the base (b = a) times the height (h =
b sin(θ)) which yields an area: A = a b sin(θ).

Example 1.56 Consider the unit vectors i, j and k which defines an orthogonal basis
for the Euclidian space with Cartesian coordinates. The right-hand rule of the cross
product definition yields the following Cartesian frames identities

i×i =0 j × i = −k k×i = j
i× j=k j× j =0 k × j = −i (1.92)
i ×k =−j j×k=i k×k=0

Property 1.42 (3D cross product properties) Notice that the cross product presents
the following properties, for all (a, b, c) ∈ R3 , and (α, β) ∈ R:
84 1 Mathematic Foundations

Fig. 1.11 Geometric interpretation of the right-hand rule for the cross product definition

Parallel nullity: a×a=0 (1.93a)


Skew-symmetry: a × b = −b × a (1.93b)
Linearity: (αa + βb) × c = α(a × c) + β(b × c) (1.93c)
Magnitude: a × b = a b sin(θ) (1.93d)
Perpendicularity: a × b ⊥ (a, b)
⇒ a · (a × b) = b · (a × b) = 0
(1.93e)
d da db
Scalar differentiation: (a × b) = ×b+a× ∀x ∈R
dx dx dx
(1.93f)
Jacobi Identity: a × (b × c) + b × (c × a) + c × (a × b) = 0
(1.93g)
Bounding norm: a × b ≤ a b (1.93h)

Almost all the above properties follows straightforward from the cross product def-
inition (1.91), except for the Jacobi identity and the bounding norm. Although the
Jacobi identity can be proven explicitly, the use of the cross product operator to-
gether with its Lie bracket property lead to a more simple proof. This is presented
in (A.23) of Appendix A. The bounding norm arise after a particular case of the
Lagrange identity which presented in the following section.
An alternative definition can be achieved using expressions (1.92), property (1.93c),
and the following notation for the argument vectors:

a = a x i + a y j + az k
b = b x i + b y j + bz k

Then the cross product a × b yields:


1.3 3D Vector Analysis 85

a × b = (ax i + a y j + az k) × (bx i + b y j + bz k)
= (a y bz − az b y )i + (az bx − ax bz ) j + (ax b y − a y bx )k (1.94)

From which an alternative, commonly used, expression can be stated to be the “de-
terminant”12 of the following array:
 
 i j k 

a × b   ax ay az  ∈ R3 (1.95)
 bx by bz 

Property 1.43 (Properties involving both dot product and cross product)

The triple scalar product: a · (b × c) = b · (c × a) = c · (a × b)


(1.96a)
Grassmann Identity: a × (b × c) = (a · c)b − (a · b)c (1.96b)
Lagrange identity: (a × b) · (c × d) = (a · c)(b · d) − (a · d)(b · c)
(1.96c)

These properties follows straightforward from both expressions: the dot product
(1.89) and the cross product (1.94). Proof are left to the reader as exercises.
Remarks
• Property (1.96b) is also known as the triple vector product.
• Note the particular case in the Lagrange identity (1.96c) when a = c and b = d.
These conditions lead to

a × b2 = a2 b2 − (a · b)2

from which it arise property (1.93h). 

1.3.2.1 The Cross Product Operator

Consider the product expression (1.94), which can be written with the corresponding
coordinates as a column vector with the following structure:
⎛ ⎞
a y bz − b y az
a × b = ⎝ −ax bz + az bx ⎠ ∈ R3 (1.97)
ax b y − bx a y

Since the cross product a × b ∈ R3 is also a vector, Eq. (1.97) can also be ex-
pressed as a linear transformation a × b = Ab = c where A : R3 → R3 is a linear

12 This
is an abuse of notation since i, j , and k are not scalars but vectors. However, using the
Laplace extension (1.11), the cross product definition holds (See Example 1.13).
86 1 Mathematic Foundations

operator in matrix form of order 3. For simplification in the notation, the matrix rep-
resentation of this linear operator is written as A = [a×] such that [a×]b = a × b.

Definition 1.105 (Cross Product Operator) The cross product operator (CPO)
[a×] ∈ R3×3 of vector a ∈ R3 is defined from expression (1.97) to be an order 3
matrix: ⎡ ⎤ ⎛ ⎞
0 −az ay ax
[a×]  ⎣ az 0 −ax ⎦ ∀ a = ⎝ a y ⎠ ∈ R3 (1.98)
−a y ax 0 az

Notice that the above matrix is skew-symmetric of order 3: [a×] ∈ SS(3), with the
next set of properties, for all (a, b, c) ∈ R3 , x ∈ Rr :
Property 1.44 (CPO properties) for all (a, b, c) ∈ R3 :

CPO equivalence: [a×]b = a × b (1.99a)


Skew-symmetry: [a×] = −[a×] T
(1.99b)
Linearity: [(αa + βb) ×] = α[a×] + β[b×] ∀ (α, β) ∈ R (1.99c)
Nullity projection: [a×]a = 0 ≡ a [a×] = 0
T
(1.99d)
Anti-commutativity: [a×]b = −[b×]a (1.99e)
Product transpose: bT [a×] = (b × a)T = −(a × b)T (1.99f)
Similarity uponR : R[a×]R = [(Ra) ×]
T
(1.99g)
Triple scalar product: a [b×]c = b [c×]a = c [a×]b ∈ R
T T T
(1.99h)
 
 
Singular operator: [a×] = 0 (1.99i)
5 5
5 5
Bounding norm: 5[a×]5 ≤ a (1.99j)
Double product: [a×][b×] = ba T − (a · b)I (1.99k)
  2T
The square product: [a×]2 = aa T − a2 I = [a×] ≤0 (1.99l)
Triple CPO product: [a×][b×][a×] = −(a · b)[a×] (1.99m)
Quadruple product: [a×][b×] a = −[b×][a×] b
2 2
(1.99n)
 n−1
(−1) 2 an−1 [a×] if n is odd
High powers (n ≥ 3) : [a×] =
n
n−2 (1.99o)
(−1) 2 an−2 [a×]2 if n is even
Lie bracket: [(a × b) ×] = [a×][b×] − [b×][a×] (1.99p)
 
Dyadic difference: [(a × b) ×] = ba T − abT (1.99q)
Jacobi Identity: [a×][b×]c + [b×][c×]a + [c×][a×]b = 0 (1.99r)
sin(a) 1 − cos(a)
Exponential mapping: e[a×] = I + [a×] + [a×]2 (1.99s)
a a2
Double prod. powers: ([a×][b×])n = −(a · b)n−1 [a×][b×] ∀n ≥ 2 (1.99t)
1.3 3D Vector Analysis 87

∂ ∂b ∂a
Vectorial differentiation: (a × b) = [a×] − [b×] ∈ R3×r ∀ x ∈ Rr (1.99u)
∂x ∂x ∂x

Properties (1.99a) and (1.99b) follows directly from the CPO definition (1.98), while
properties (1.99c) through (1.99f) follows directly from the cross product properties
(1.93a)–(1.93c). Property (1.99g) follows from the Rotation matrix definition, and
its proof is presented in Sect. 3.2 with expression (3.15). Proves for the rest of these
properties (and others) are presented in Appendix A.

Remarks
• Notice that the anti-commutative property (1.99e) of CPO is equivalent to the
skew-symmetric property (1.93b) for the 3D vector cross product; the triple scalar
product in (1.99h) is a bilinear form of the CPO; and expression (1.99s) is a
generalization of Rodrigues formula (See Theorem
  3.3 and expression (3.36)).
• Notice that the explicit forms of the operators aa T and [a×]2 arise from definition
(1.53) and (1.98) respectively:
⎡ ⎤
 ax2
 a x a y a x az
aa = ⎣ ax a y
T a 2y a y az ⎦ (1.100)
a x az a y az az2
⎡ 2 ⎤
−a y − az2 ax a y a x az
[a×] = ⎣ ax a y
2
−ax2 − az2 a y az ⎦ (1.101)
a x az a y az −ax2 − a 2y

such that property (1.99l) is verified under the form


 
aa T − [a×]2 = aI (1.102)

• In differential geometry it exist the so called Lie groups and its correspondence
Lie algebras which must verify:
1. the bi-linearity condition (in terms of the Lie Bracket) (1.99p),
2. the Jacobi Identity (1.99r), and
3. the skew-symmetry condition (1.99b).
Then the set g  [a×] containing all CPO elements is said to be a matrix Lie
algebra, associated to the matrix Lie group G whose elements are given by the
exponential mapping (1.99s): e[a×] ∈ G, Sastry (2010). 
88 1 Mathematic Foundations

Fig. 1.12 Geometrical


interpretation of the
orthogonal complementarity
separation

1.3.3 Vectorial Geometry

1.3.3.1 Orthogonal Separation

Theorem 1.7 (Axial/radial Orthogonal Separation) For an arbitrary directional


[unit] vector λ ∈ R3 , (λ = 1), any 3D vector b ∈ R3 can be decomposed in two
orthogonal components: ba ∈ R3 , and br ∈ R3 , defined as follows
 
the axial component : ba = λλT b and (1.103)
the radial component : br = −[λ×] b 2
(1.104)

such that
 
b = ba + br = λλT b − [λ×]2 b (1.105)
 
where in this scope λλT is called the axial operator and −[λ×]2 is called the
radial operators.

Proof Consider a vector b and an a priori unitary director vector λ as shown in


Fig. 1.12. The axial component can be easily computed as the vector in the direction
of λ whose magnitude is given by the dot product b · λ. Then it is easy to see
that ba = λ(λ · b), from which expression (1.103) is directly deduced. The radial
component br needs an auxiliary vector lying in the normal plane of λ. In Fig. 1.12
this is represented as the cross product b × λ, whose magnitude is given by the cross
product definition as |b × λ| = b sin(θλ ). Then the radial component is given
by a second cross product br = λ × (b × λ) from which expression (1.104) arises
straightforward, and whose magnitude is indeed |br | = b sin(θλ ).
Note that the complementary separation (1.102) under the particular case for a
unit vector (i.e. , a = λ) give rise to the orthogonal separation:
 T
λλ − [λ×]2 = I (1.106)
1.3 3D Vector Analysis 89

From which it arise expression (1.105) as the addition of axial and radial components
(1.103)–(1.104). 

Remarks
• Notice that both the axial and radial components fulfill the following property

Orthogonal complementarity: ba · br =0 (1.107)

being equivalent to
 T  
λλ [λ×]2 = [λ×]2 λλT = 0 (1.108)

which is easily verified after the nullity projection property (1.99d). Also the
orthogonal complementary property give rise to the additional properties:

ba × λ = 0
Axial alignment: (1.109)
ba · λ = ba 

br · λ = 0
Radial alignment: (1.110)
br × λ = br 

• Equations (1.106)–(1.108) express an orthogonal separation in two subspaces de-


fined by the director vector λ:
1. Anaxial subspace A, defined by range space of the dyadic operator A =
R λλT , along of vector λ and
2. a radial
 subspace
 Ā, defined by range space of the square of the CPO Ā =
R [λ×]2 , as all normal planes to this vector.
Since this range spaces are complementary it happens that A is the the null space
of the radial operator and Ā is the null space of the axial operator:
 T
λλ br = 0; −[λ×]2 ba = 0

Then each of these complementary spaces can also be defined as follows


   
A = R λλT = N [λ×]2
   
Ā = R [λ×]2 = N λλT

• Finally, notice that the axial operator is indeed a dyadic product, hence has only
rank 1. In consequence his range space is only 1-dimensional, as shown to be
the axial line. In contrast, the rank of a CPO is 2 (see (A.5)), which provides
2-dimensional range space for the radial operator, as shown by the radial plane
of λ. 
90 1 Mathematic Foundations

Fig. 1.13 Vector field examples for n = 2 and m = 2

Fig. 1.14 Pressure (scalar) field example of a simulated underground water reservoir

1.3.3.2 Vector Fields

Definition 1.106 A vector field is a space transformation f : Rn → Rm that assigns


for each position x ∈ Rn a vector f (x) ∈ Rm (Figs. 1.13 and 1.14).

Remark Vector fields are required to be coordinate-independent, meaning that any


two observers using the same units will agree on the value of the vector field at the
same point in space (or spacetime). 
1.3 3D Vector Analysis 91

Scalar fields A scalar field associates a scalar value to every point in a space. Is a
particular case of a vector field. The scalar may either be a mathematical number, or
a physical quantity. Examples used in physics include the temperature distribution
throughout space, the pressure distribution in a fluid, and many other.

1.3.4 Vector Differentiation

1.3.4.1 The Chain Rule

Consider a scalar field f (x) ∈ R where the argument is a position space vector
⎛ ⎞
x
x = x i + y j + zk = ⎝ y ⎠ ∈ R3
z

endowed with time derivatives:


dx dx dy dz
= i+ j+ k
dt dt dt dt

The absolute derivative of the scalar field f (x) can be performed using the scalar
chain rule in the following way:

d f (x) ∂ f (x) d x ∂ f (x) dy ∂ f (x) dz ∂ f (x)


= + + +
dt ∂x dt ∂ y dt ∂z dt ∂t

which can be written as


d f (x) ∂ f (x) ∂ x ∂ f (x)
= · +
dt ∂x ∂t ∂t

1.3.4.2 The Nabla Operator

The nabla or del operator, represented by “∇” is a differential operator over the 3D
Euclidean space, R3 , defined as

∂ ∂ ∂
∇ i+ j+ k
∂x ∂y ∂z

where x, y, z are the Cartesian coordinates of the 3D Euclidean space.


92 1 Mathematic Foundations

The Gradient: R → R3
If the nabla operator is conducted over a scalar field φ, the outcome is a vector field:
⎞ ⎛
∂φ
⎜ ∂x ⎟
⎜ ⎟
∂φ ∂φ ∂φ ⎜ ∂φ ⎟
∇φ = i+ j+ ⎜
k=⎜ ⎟

∂x ∂y ∂z ⎜ ∂y ⎟
⎝ ∂φ ⎠
∂z

∂φ
Notice that if x = (x, y, z)T then the operation ∇φ = is fully equivalent to the
∂x
gradient of the scalar field φ w.r.t. the vector x.

Remark Notice that the product ∇ a does not exist since vector operations over the
unitary vectors i, j and k are only defined for the dot and cross product. However it
∂a
is sometime used the term ∇x a to express the Jacobian: = Ja 
∂x
The Divergence: R3 → R
The divergence or div of a 3D vector a = ax i + a y j + az k ∈ R3 is defined as the
dot product of the nabla operator (∇·) with the vector itself, whose outcome is a
scalar field:
 
∂ ∂ ∂  
∇·a= i+ j+ k · a x i + a y j + az k
∂x ∂y ∂z
∂ax ∂a y ∂az
= + +
∂x ∂y ∂z

The Curl: R3 → R3
The curl of a 3D vector a ∈ R3 is defined as the cross product of the nabla operator
and the vector itself, whose outcome is a vector field:
 
∂ ∂ ∂  
∇×a= i+ j+ k × a x i + a y j + az k
∂x ∂y ∂z
     
∂az ∂a y ∂ax ∂az ∂a y ∂ax
= − i+ − j+ − k
∂y ∂z ∂z ∂x ∂x ∂y
⎛ ⎞
∂az ∂a y

⎜ ∂y ∂z ⎟
⎜ ⎟
⎜ ∂ax ∂az ⎟
=⎜ − ⎟ (1.111)
⎜ ∂z ∂x ⎟
⎝ ∂a y ∂ax ⎠

∂x ∂y

The Laplacian: R → R or R3 → R3
1.3 3D Vector Analysis 93

The divergence of a gradient ∇ · ∇( ) is a special case called Laplacian; and is


denoted as ∇ 2 , or :
   
∂ ∂ ∂ ∂ ∂ ∂
∇2 =  = ∇ · ∇ = i+ j+ k · i+ j+ k
∂x ∂y ∂z ∂x ∂y ∂z
∂ 2
∂ 2
∂ 2
= + 2+ 2
∂x 2 ∂y ∂z

Notice that this operator can be applied to either scalar or vector variables, giving
rise to a new field of the same kind of its input:

∂2φ ∂2φ ∂2φ


∇ 2 φ = φ = + + 2 ∈R
∂x 2 ∂ y2 ∂z
∇ a = a = ∇ ax i + ∇ a y j + ∇ 2 az k
2 2 2
∈ R3

Identities of the Nabla Operator

Curl of a gradient: ∇ × ∇φ = 0 (1.112)


Divergence of a curl: ∇ · (∇ × a) = 0
Vector Laplacian decomposition: ∇ 2 a = ∇(∇ · a) − ∇ × (∇ × a)
 
Curl of different gradients: ∇φ2 × ∇φ1 = ∇ × (∇φ1 ) φ2
?
The Kelvin−Stokes’ Theorem: (∇ × f ) · dn = f · dr
A B

Proofs for all the above properties, but the Kelvin–Stokes theorem are left to the
reader as exercises. The Kelvin–Stokes theorem, being more complex is developed
in the following section.

1.3.4.3 The Kelvin–Stokes’ Theorem

The Kelvin–Stokes’ Theorem (also known as the Curl Theorem) is fundamental in


the definition of a potential and the potential energy. It is an the extension of the
Green’s Theorem from the plane to 3D space. It relates the surface integral of the
curl of a vector field f (r) = (L , M, N )T ∈ R3 over a surface A(r) (scalar field) in
the Euclidean 3D space R3 to the line integral of the vector field over the boundary
B of the surface.

Theorem 1.8 (Kelvin–Stokes Theorem) Lets A be an oriented smooth surface in


the Euclidean 3D space that is bounded by a simple, closed, smooth boundary curve
B with “positive” orientation (Fig. 1.15). Also let f (r) ∈ R3 be a vector field in this
space. Then the following relation holds:
94 1 Mathematic Foundations

⎛ ⎞
L(r)
f (r) = ⎝M(r)⎠ ∈ R3
N(r)

Fig. 1.15 Geometric interpretation of the Kelvin–Stokes Theorem

?
(∇ × f ) · dn = f · dr (1.113)
A B

The positiveness boundary orientation means that the unit differential vector
⎞ ⎛
dx
d r = d x i + dy j + dzk = ⎝ dy ⎠
dz

points counterclockwise when the surface normal


⎞ ⎛
dy dz
dn = dy dz i + d x dz j + d x d y k = ⎝ d x dz ⎠
dx dy

points toward the viewer, following the right-hand rule.

Remark Note that the curl term is given by expression (1.111)

∂M ⎞ ⎛∂N

      ⎜ ∂y ∂z ⎟
∂N ∂M ∂L ∂N ∂M ∂L ⎜ ∂L ∂N ⎟
⎜ − ⎟
∇× f = − i+ − j+ − k=⎜ ⎟
∂y ∂z ∂z ∂x ∂x ∂y ⎜ ∂z ∂x ⎟
⎝ ∂M ∂L ⎠

∂x ∂y
(1.114)

so that the inner product arguments in the left-hand side of (1.113) can be written as
     
∂N ∂M ∂L ∂N ∂M ∂L
(∇ × f ) · dn = − dy dz + − d x dz + − dx dy
∂y ∂z ∂z ∂x ∂x ∂y

then the Kelvin–Stokes Theorem (1.113) may also be expressed with the following
extended shape:
1.3 3D Vector Analysis 95
8      9
∂N ∂M ∂L ∂N ∂M ∂L
− dy dz + − d x dz + − dx dy
A ∂y ∂z ∂z ∂x ∂x ∂y
?
= {Ld x + Mdy + N dz} 
B

The proof for the Kelvin–Stokes’ Theorem provided in this text needs the follow-
ing Lemma and the so-called Green’s Theorem.
Lemma 1.1 Lets consider the vector field f (r) = (L , M, N )T ∈ R3 which depends
on the position r ∈ R3 to be characterized with uniquely two variables (s, t) ∈ R and
endowed with continuous partial derivative in these variables. Then the following
identity holds
 
∂r ∂r ∂ f ∂r ∂ f ∂r
(∇ × f ) · × = · − · (1.115)
∂s ∂t ∂s ∂t ∂t ∂s

Proof (Lemma 1.1): Lets express the smooth parametrization of the spacial coordi-
nates as ⎛ ⎞
x(s, t)
r = r(s, t) = ⎝ y(s, t) ⎠ (1.116)
z(s, t)

such the partial derivatives of the coordinates r and the vector field f (r) yield:
⎛ ⎞ ⎛ ∂x ⎞ ⎛ ∂ y ∂z
∂x ∂z ∂ y ⎞
⎜ ∂s ⎟ −
⎜ ⎟ ⎜ ∂t ⎟ ⎜ ∂s ∂t ∂s ∂t ⎟
∂r ⎜ ∂y ⎟ ∂r ⎜ ∂y ⎟ ∂r ∂r ⎜ ∂z ∂x ∂x ∂z ⎟
=⎜ ⎟; =⎜ ⎟
⎜ ∂t ⎟ ; ⇒ × =⎜
⎜ ∂s ∂t − ⎟
∂s ⎜ ∂s ⎟ ∂t ⎝ ⎠ ∂s ∂t ⎝ ∂s ∂t ⎟ ⎠
⎝ ∂z ⎠ ∂z ∂x ∂ y ∂ y ∂x

∂s ∂t ∂s ∂t ∂s ∂t
(1.117)

⎛ ⎞ ⎛ ∂ L ∂x ∂L ∂y ∂ L ∂z ⎞ ⎛ ⎞
∂L ∂L ∂r
+ + ·
⎜ ∂s ⎟ ⎜ ∂x ∂s ∂ y ∂s ∂z ∂s ⎟ ⎜ ∂ r ∂s ⎟
∂f ∂ f ∂r ⎜ ⎟ ⎜ ∂ M ∂x ∂M ∂y ∂ M ∂z ⎟ ⎜ ⎟
⎜ ∂M ⎟ ⎜ ⎟ ⎜ ∂M ∂r ⎟;
= =⎜ ⎟=⎜ + + ⎟=⎜ · ⎟
∂s ∂ r ∂s ⎜ ∂s ⎟ ⎜ ∂x ∂s ∂ y ∂s ∂z ∂s ⎟ ⎝ ∂ r ∂s ⎠
⎝ ∂N ⎠ ⎝ ∂ N ∂x ∂N ∂y ∂ N ∂z ⎠ ∂N ∂r
+ + ·
∂s ∂x ∂s ∂ y ∂s ∂z ∂s ∂ r ∂s
(1.118a)
⎛ ∂L ⎞ ⎛ ∂ L ∂x ∂L ∂y ∂ L ∂z ⎞ ⎛ ∂L ∂r ⎞
+ +
⎜ ∂t ⎜
⎟ ⎜ ∂x ∂t ∂ y ∂t ∂z ∂t ⎟ ⎜ ∂ r · ∂t ⎟
⎜ ⎟ ⎜ ∂ M ∂x ⎟ ⎜ ⎟
∂f ∂ f ∂r ⎜ ∂M ⎟ ⎜ ∂ M ∂ y ∂ M ∂z ⎟ ⎜ ∂M ∂r ⎟
= =⎜ ⎟=⎜ + + ⎟=⎜ ⎟;
∂t ∂ r ∂t ⎜ ∂t ⎟ ⎜ ∂x ∂t ∂ y ∂t ∂z ∂t ⎟ ⎜ ∂ r · ∂t ⎟
⎝ ⎠ ⎝ ⎟ ⎝ ⎠
∂N ∂ N ∂x ∂N ∂y ∂ N ∂z ⎠ ∂N ∂r
+ + ·
∂t ∂x ∂t ∂ y ∂t ∂z ∂t ∂ r ∂t
(1.118b)
96 1 Mathematic Foundations

Then the triple scalar product at the left-hand side of (1.115) becomes explicitly,
after (1.114) and (1.117), written as
 
∂r ∂r ∂ L ∂ y ∂x ∂ L ∂z ∂x ∂ L ∂ y ∂x ∂ L ∂z ∂x
(∇ × f ) · × = + − −
∂s ∂t ∂ y ∂s ∂t ∂z ∂s ∂t ∂ y ∂t ∂s ∂z ∂t ∂s
∂ M ∂x ∂ y ∂ M ∂z ∂ y ∂ M ∂x ∂ y ∂ M ∂z ∂ y
+ + − −
∂x ∂s ∂t ∂z ∂s ∂t ∂x ∂t ∂s ∂z ∂t ∂s
∂ N ∂x ∂z ∂ N ∂ y ∂z ∂ N ∂x ∂z ∂ N ∂ y ∂z
+ + − −
∂x ∂s ∂t ∂ y ∂s ∂t ∂x ∂t ∂s ∂ y ∂t ∂s

By adding and subtracting the following terms in last expression

∂ L ∂2 x ∂ M ∂2 y ∂ N ∂2 z
, ,
∂x ∂s∂t ∂ y ∂s∂t ∂z ∂s∂t

and replacing the terms in (1.118), it becomes:


       
∂r ∂r ∂ L ∂ r ∂x ∂M ∂r ∂y ∂ N ∂ r ∂z
(∇ × f ) · × = · + · + ·
∂s ∂t ∂ r ∂s ∂t ∂ r ∂s ∂t ∂ r ∂s ∂t
     
∂ L ∂ r ∂x ∂M ∂r ∂y ∂ N ∂ r ∂z
− · − · − ·
∂ r ∂t ∂s ∂ r ∂t ∂s ∂ r ∂t ∂s

∂ L ∂x ∂M ∂y ∂ N ∂z ∂ L ∂x ∂M ∂y ∂ N ∂z
= + + − − −
∂s ∂t ∂s ∂t ∂s ∂t ∂t ∂s ∂t ∂s ∂t ∂s

being equivalent to identity (1.115). 


Green’s Theorem This theorem is a fundamental key in the proof of a the more
general Kelvin–Stokes’s, although it has some direct applications by itself.13

Fig. 1.16 Type I area D for


Green’s Theorem with
boundaries given by 4 curves
C1 , C2 , C3 , and C4

13 In physics, Green’s theorem is mostly used to solve two-dimensional flow integrals. In plane

geometry, and in particular, area surveying, Green’s theorem can be used to determine the area and
centroid of plane figures solely by integrating over the perimeter.
1.3 3D Vector Analysis 97

Theorem 1.9 (Green’s theorem) Let C be a positively oriented, piecewise smooth,


simple closed curve in a plane, and let D be the region bounded by C. If L and M are
functions of (x, y) defined on an open region containing D endowed with continuous
partial derivatives in the same region, then
?  
∂M ∂L
(L d x + M dy) = − dx dy
C D ∂x ∂y

where the path of integration along C is counterclockwise.

Proof First consider, on one hand, that there are 3 types of planar regions: Type I,
where C2 and C4 are vertical lines (possibly of zero length); Type II, where C1 and
C3 are horizontal lines (again possibly of zero length), and Type III regions which
are both type I and type II. And on the other hand consider the following identities
yet to be proven :
?  
∂L
L dx = − dA (1.119)
C D ∂y
?  
∂M
M dy = dA (1.120)
C D ∂x

Second, assume region D is a type I region and can thus be characterized, as shown
in Fig. 1.16, by

D = {(x, y)| a ≤ x ≤ b, g1 (x) ≤ y ≤ g2 (x)}

where g1 and g2 are continuous functions on the interval [a, b].


Then, the double integral in (1.119) yields:
g2 (x)
∂L b
∂L
dA = (x, y) d x d y (1.121)
D ∂y g1 (x) a ∂y

while the line integral can be computed by segments, where the contour C can be
rewritten as the union of four curves: C1 , C2 , C3 , C4 :
?
L dx = L(x, y)d x + L(x, y)d x + L(x, y)d x + L(x, y)d x
C C1 C2 C3 C4

For the curve segment C1 , it follows that x = x and y = g1 (x), in the interval a ≤
x ≤ b. Then
b
L(x, y)d x = L (x, g1 (x)) d x
C1 a

For the curve segment C3 , it follows that x = x, y = g2 (x), a ≤ x ≤ b. Then


98 1 Mathematic Foundations

a b
L(x, y)d x = L (x, g2 (x)) d x = − L (x, g2 (x)) d x
C3 b a

Note that the line integral over C3 is negated because it goes in the negative direction
from b to a, as C is oriented positively (counterclockwise).
For the curve segments C2 and C4 , the variable x remains constant, meaning

L(x, y)d x = L(x, y)d x = 0


C2 C4

Therefore,
? b  
L dx = L (x, g1 (x)) − L (x, g2 (x)) d x
C a

or equivalently
?  g1 (x)  g2 (x)
b
∂ L (x, y) b
∂ L (x, y)
L dx = dy d x = − d xd y
C a g2 (x) ∂y g1 (x) a ∂y

which after (1.121) it establishes that the proposed identity (1.119) is always true for
regions of type I.
A similar treatment yields identity (1.120) to be true for regions of type II. Then
adding both identities it arise the result for regions of type III for which it follows
immediately the validity of Green’s theorem for any region D. 
     
L g dx
Remark Notice that if g  = x ∈ R2 ; and d s  ∈ R2 . Then,
M gy dy
Green’s theorem can be written as:
?  
∂gx ∂g y
g · ds = − dx dy 
C D ∂x ∂y
Proof of the Kelvin–Stokes’ Theorem
First, without lost of generality, it is possible to assume that the 3D surface A in
Fig. 1.15 has a smooth parametrization R in a 2D plane s ∈ R2 with coordinates
(s, t) as shown in Fig. 1.17.
With the same parametrization as in (1.116), the border B of the surface A in the
space has a corresponding curve C being the border of the planar region R. Then the
differentials used in (1.113) have the following forms:
⎛ ⎞ ⎛ ∂x ∂x ⎞ ⎛ ⎞
dx dt ds + dy dz
⎜ ⎟ ⎜ ∂s ∂t ⎟ ⎜ ⎟  
⎜ ⎟ ⎜∂y ⎟ ∂r ⎜ ⎟
dr = ⎜ ⎟ ⎜ ∂ y ⎟ dn = ⎜ ⎟ = ∂ r ds × ∂ r dt
⎜dy ⎟ = ⎜ ∂s ds + ∂t dt ⎟ = ∂s d s; ⎜ d x dz ⎟ ∂s ∂t
⎝ ⎠ ⎝ ⎠ ⎝ ⎠
∂z ∂z
dz ds + dt dx dy
∂s ∂t
1.3 3D Vector Analysis 99

Fig. 1.17 Equivalent 2D region is s-t coordinates of the Kelvin–Stokes Theorem

such that the left-hand side of (1.113) can be written as the area integral in the 2D
s-t space:
 
∂r ∂r
(∇ × f ) · dn = (∇ × f ) · × ds dt (1.122)
A R ∂s ∂t

Second, in the planar vector space s ∈ R2 , there is a 2D vector field g ∈ R2 in the


s-t-plane such that it is given as
⎛ ⎞ ⎛ ⎞ ⎛ ⎞
∂r  T
⎜s ⎟ g
⎜ ⎟ ⎜ f · ∂r
∂s ⎟
s
s⎝ ⎠ ⇒ g=⎝ ⎠⎝ ∂r ⎠ = f (1.123)
t gt f· ∂s
∂t
Then it arise the 3D/planar equivalence of the right-hand side of (1.113):
? ?   ?
∂r
f · dr = fT ds = g · ds
B C ∂s C

which by virtue of Green’s Theorem, this can be written as


? ?  
∂gt ∂gs
f · dr = g · ds = − ds dt (1.124)
B C R ∂s ∂t

Third, note after (1.123) that:

∂gt ∂ f ∂r ∂2 r ∂gs ∂ f ∂r ∂2 r
= · + f· ; = · + f·
∂s ∂s ∂t ∂s∂t ∂t ∂t ∂s ∂s∂t
whose difference, after Lemma 1.1 becomes:
100 1 Mathematic Foundations
 
∂gt ∂gs ∂ f ∂r ∂ f ∂r ∂r ∂r
− = · − · = (∇ × f ) · ×
∂s ∂t ∂s ∂t ∂t ∂s ∂s ∂t

from which expression (1.124) can be written as


?  
∂r ∂r
f · dr = (∇ × f ) · × ds dt
B R ∂s ∂t

Finally, comparison of last expression with expression (1.122) completes the


proof. 
Chapter 2
Classical Mechanics

2.1 Newton’s Mechanics of a Particle

Newton’ mechanics is the set of motion expression for either a particle or a group of
particles which are the result of his widely known motion laws. While the first two
laws gives rise to some important facts only in the mechanics of particles, the third
one is essential for the extension of the first two laws to the case of rigid bodies.
Lets consider each one of Newton’s laws in order to introduce the main issues of
each one.
Newton’s 1st law: (Also known as the inertial law.) Any particle of mass m keeps its status
quo (steady or constant velocity) [with respect to an inertial frame] unless an external force
changes this status.

Newton’s 1st law, establishes the existence of an inertial frame (or absolute ref-
erence) from which all inertial measurements must be performed.

Definition 2.1 (Inertial Frame) (Goldstein 1950) A reference frame is said to be


inertial if it does not posses any kind of acceleration.

Last definition means that an inertial frame needs the lack of linear nor angular
accelerations. This restriction limits an inertial frame to not have either angular
velocity. For applications close to the Earth surface, this inertial frame can be chosen
in the Earth’s surface. However, it cannot be used in application like for example,
space ships, satellites or space bodies because such a reference frame would have an
angular velocity due to the rotation movent of the Earth.
Newton’s 2nd law The rate of change of the status of a body is given by the rate of change
of its momentum ( p = mv), being proportional to the impressed force f ∈ R3 :

ṗ = f (2.1)

© Springer Nature Switzerland AG 2019 101


E. Olguín Díaz, 3D Motion of Rigid Bodies, Studies in Systems,
Decision and Control 191, https://doi.org/10.1007/978-3-030-04275-2_2
102 2 Classical Mechanics

Fig. 2.1 Reference frame


and the particle position

Definition 2.2 (Momentum) The inertial motion of a single particle of constant mass
is determined by Newton’s 2nd law (2.1) where the [linear] momentum of a particle
p is defined as
p  mv ∈ R3 (2.2)

where v = ḋ = ddts ∈ R3 is the inertial velocity (expressed in the inertial frame),


d ∈ R3 is its inertial position with respect to the origin of that frame, and m is its
mass.

Finally the third law, is useful in the development of the motion equations in rigid
bodies:
Newton’s 3rd law: To every action or force, there is a counter action or force with the same
magnitude but in opposite sense.

2.1.1 The Work and Energy

The Work produced by the particle when moving from a point 1 to a point 2 (Fig. 2.1)
can be computed by definition (Goldstein 1950), as the integral along the moving
path s as the dot product of the force acting in the particle and the performed path:
 2
W1−2  f · ds (2.3)
1

2.1.1.1 The Kinetic Energy

Using Newton’s 2nd law (2.1), the work (2.3) can be expressed as:
 2  2  2
dp ds
W1−2 = · ds = ·dp= v·dp
1 dt 1 dt 1
2.1 Newton’s Mechanics of a Particle 103

From the linear momentum definition (2.2), and under the assumption that the mass
m is constant (which is true for most examples on particle’s applications), then
d p = mdv. Consequently, last expression becomes
 
2 2  
W1−2 = m v · dv = m vx dvx + v y dv y + vz dvz
1 1
  2 2  1  
1 2    2
= m vx2  + v 2y  + vz2  = m vx2 + v 2y + vz2 
2 1 1 1 2 1

Definition 2.3 (Kinetic Energy) The term

1  2  1 1
K  m vx + v 2y + vz2 = mv2 = mv T v (2.4)
2 2 2
is known as the Kinetic Energy of the particle.

Finally, the work achieved from point 1 to point 2 is calculated as the change of
this energy as stated by the work-energy theorem, (José and Saletan 1998):

W1−2 = K 2 − K 1 (2.5)

Remark
• Notice from the Kinetic Energy definition (2.4) that the momentum of the particle
can be expressed as
∂K
p = ∇v K = = mv (2.6)
∂v
Then the Newton’s 2nd law can be written as
d ∂K
= f
dt ∂v
• It is important from the Kinetic Energy definition (2.4) to notice that this energy
variable does not depend explicitly on the path, nor the position of the particle, but
only on the particle’s velocity (which of course can be position dependant, defining
a vector field, in which case the Kinetic Energy would be implicitly dependant on
the path). 

2.1.1.2 The Potential Energy

Consider that a particle can be taken from point 1 to point 2 by two different paths
s1 and s2 , as shown in Fig. 2.2. Or else, that the particle can be taken one way by the
first path and being returned by the second. If the work W1−2 is independent on the
path, this means that
104 2 Classical Mechanics

Fig. 2.2 2 different paths for


the same particle to move
from point 1 to point 2

1. The work done around this close circuit C must be zero:


  2  1
f · ds = f · ds + f · ds = 0 (2.7)
C 1/s1 2/s2

Equivalently, if the force field f is such that that work W1−2 is the same for
any physically possible path between point 1 and 2, then the force is said to be
conservative, (Goldstein 1950).
2. For a conservative force f , since the work from one point to another does not
depends on an arbitrary path, if must be characterized by the values at the be-
ginning and at the end of all possible paths. This means that a conservative force
is position dependent: f (d). In other words a conservative force defines a force
(vectorial) field.
By virtue of the Kelvin–Stokes theorem (1.113), necessary and sufficient condi-
tions for a force f to be conservative are equivalent to have a null curl, i.e.:

∇× f =0 ⇔ f · ds = 0
C

From this expression and the curl of a gradient identity (1.112) (i.e.∇ × ∇ a =
0, ∀ a = 0) it arise the existence of scalar function U (·), such that the force field
must be described as
∂U (d) ∂U (d)
f (d) = −∇ U (d) ≡ f (d) = − =− (2.8)
∂d ∂s
where the sign is arbitrarily introduced for later convenience.
Then the work expressed by (2.3) becomes:
 
∂U
2 2
W1−2 = − · ds = − dU (·)
1 ∂s 1
= U1 (·) − U2 (·) (2.9)

and the scalar function U is called the potential function or more commonly as
potential energy.
2.1 Newton’s Mechanics of a Particle 105

2.1.1.3 The Total [Mechanical] Energy

Consider the work-energy theorem, (2.5) and work expression for potential energies
(2.9). Both are equivalent and together they are written as:

W1−2 = K 2 − K 1 = U1 − U2 (2.10)

From which it arise that for conservative systems (i.e. W = 0)

K 1 + U1 = K 2 + U2 .

In a general way, one can think that the initial position d 0 = d(t0 ) corresponds
to an initial time t0 , and the final position is a general time dependent variable d(t).
Then last expression can also be written as

K 0 + U0 = K (t) + U (t)

Repeating this procedure to any point one can conclude that


1. the addition of kinetic and potential energy is an important term defined as the
total [mechanical] energy of the particle:

E(t)  K (t) + U (t)

2. for particles whose impressed forces are given only from potential fields, the total
energy is a constant value
E(t) = E(t0 )

2.1.1.4 The Virtual Work Concept

Since the work of a force acting on a particle depends in the displacement path, it
will be different for different displacements. On the other hand, among all possible
displacements that a particle may follow only one will minimize the action, and,
therefore, is the one followed by the particle. Any of the possible displacements a
particle may follows is called virtual displacement; the fact that only one path will
minimize the action (energy) is called the principle of least action; and the work of
a force on a particle in static equilibrium along a virtual displacement is known as
the virtual work, (Goldstein 1950; Meirovitch 1970).
The formal procedure for computing the difference of functions evaluated on
nearby paths is by the use of the calculus of variations. This is a generalization
of the differential calculus, where instead of having a variable differential within a
function, it use “function variations” within “functionals” (functions having function
arguments). For instance, let d(t) be the function that define the path followed by
the particle. A nearby path can be defined by adding the variation δd(t) to the
106 2 Classical Mechanics

original path, so that the new path is given by the functional d(t) + δd(t). Each of
the components of the variation of the original path δd = (δx, δ y, δz) is a virtual
displacement.
The principle of virtual work is the work expression of the principle of least action
in static equilibrium, and states that
the path actually followed by a particle is the one for which the difference between the work
along this path and other nearby paths is zero.

Virtual work can now be described as the work done by the applied forces on a
particle as it “would move” through a set of virtual displacements:
 2  t2
δW1−2  f · δd = ( f · δ ḋ)dt (2.11)
1 t1

Then the principle of virtual work, when considering forces applied to a body in
static equilibrium, requires (due to principle of least action) the virtual work of these
forces to be zero.
δW1−2 = 0 ⇔ f · δd = 0 (2.12)

Definition 2.4 (Restrictive Force and Constraint) The restrictive forces on a particle
are the coordinates of the exogenous force that induce an static equilibrium is some
directions, i.e.those forces whose virtual work is zero. These directions are called
constraints and the corresponding force is called restrictive force, i.e.

f r · δd = 0 ∀t

Then the impressed forces can be separated as the restrictive forces and the effec-
tive forces
f = fr + fe (2.13)

2.1.1.5 D’Alembert’s Principle

While the principle of virtual work consider only static equilibrium, D’Alembert’s
principle is a dynamic generalization. It simply reformulates Newton’s equation of
motion in a way whose solution is the equilibrium, (Goldstein 1950; Lanczos 1970).
For the particular case of a single particle it can be stated as follows:

f − ṗ = 0

Definition 2.5 (Force of inertia) The force of inertia of a particle is given by the
negative value of the time derivative of its momentum, i.e.

d ∂K
f I  − ṗ = −m d̈ = − (2.14)
dt ∂v
2.1 Newton’s Mechanics of a Particle 107

With this terms, the statement of d’Alembert’s principle becomes:


The total virtual work performed by the impressed forces [including those of constraint],
augmented by the forces of inertia, vanishes for virtual displacements. (Lanczos 1970).

Then D’Alembert’s principle for a particle has the following shape:


 
f + f I · δd = 0 (2.15)

Remark Combining the virtual work principle (2.12), the impressed force separation
(2.13), and D’Alembert’s Principle (2.15) it follows that D’Alambert’s Principle can
be computed exclusively with the effective force, neglecting any restrictive force:
 
f e + f I · δd = 0 (2.16)

This results is perhaps the most remarkable outcome from D’Alembert’s Principle.

Theorem 2.1 The work produced by the force of inertia is indeed the negative value
of the changes in the Kinetic Energy:
 2
f I · d s = −(K 2 − K 1 )
1

Proof Follows straight forward from the force of inertia definition (2.14) and proper
algebra over the work expression (2.3), in the same way where the Kinetic Energy
expression has been deduced.
The importance of this Theorem lays in the concept that the force of inertia
is indeed conservative since the work produced from one position to another and
backward is zero. Directly consequence is that the Kinetic Energy is a Conservative
Energy.

2.1.2 The Power

Another way to look into the Work expression (2.3) is to rewrite it in such a way that
the integral can be performed in time. This can be achieved introducing a differential
of time in the above mentioned expression as
 t2  t2
ds
W1−2 = f· dt = ( f · v) dt (2.17)
t1 dt t1

form which it arises that the Power of the particle is defined as the time derivative of
the work, or equivalently to the inner product of the force vector in the particle with
its velocity vector:
108 2 Classical Mechanics

d
P W = f · v = f , v
(2.18)
dt
Then, for a singular particle it follows from form the work-energy theorem (2.5) that
power of a single particle can be computed as

P = K̇ (2.19)

More over, for the particular case where the exogenous force is conservative, it
also follows from (2.9) that
P = −U̇ (2.20)

Then for conservative systems of a single particle, (2.19) and (2.20) are equivalent
and yield to the so called Energy Conservation Principle:

Ė = K̇ (t) + U̇ (t) = 0

An interesting result is the corollary of Theorem 2.1 whose power expression


leads the following

Corollary 2.1.1 The power produced by the force of inertia is indeed the negative
time variation in the Kinetic Energy:
 2  t2
f I · ds = ( f I · v)dt = −(K 2 − K 1 ) ⇔ f I · v = − K̇
1 t1

2.1.2.1 Dissipated Energy

Conservative forces are the result of a potential energy and fulfil expression (2.7) for
which it means that a closed path on a conservative potential field does not produce
a change in the the total mechanical energy of the system. Then one can analyze the
work integral expression (2.3) and its power equivalence (2.17), and remark that a
necessary condition for any force f x to be conservative is that the work integral
 
2 t2  
W1−2 x = f x · ds = f x · v dt
1 t1

does have a change on sign, so that the closed path integration (2.7) may lead to a
null result. In counter part, if a force f x is such that the work integral above does
not change sign, then this force is non conservative.
With the above arguments, a sufficient condition for a force f D ∈ R3 to be non
conservative is that its sign is either that of the velocity field or its negative, such that
the expression (2.7) is non zero:
2.1 Newton’s Mechanics of a Particle 109

t  
sign(v) ⇒ f D · v > 0 ⇔ t12 f D · v dt > 0
sign( f D ) =
t  
−sign(v) ⇒ f D · v < 0 ⇔ t12 f D · v dt < 0

for a piece-wise sign function (Notice that condition f D · v = 0 is less restrictive


than sign( f D ) = ±sign(v)):
⎛ ⎞
sign(a1 )
⎜ .. ⎟
sign(a)  ⎝ . ⎠
sign(an )

Then, for a particle whose only acting force is a non conservative one it follows,
by using (2.19): P = K̇ = f D · v. that

K̇ > 0 for f D · v > 0


K̇ < 0 fD ·v <0

or in other words, that the energy of the particle E(t) = K (t) is monotonically
increasing or decreasing for these two cases.
Since dissipative forces are such that induce an energy diminution, a necessary
(and sufficient) condition for a non conservative force to be dissipative is:

fD ·v <0 (2.21)

Rayleigh’s Dissipation Function


Rayleigh had proposed a positive dissipation function R(v) > 0 as a quadratic form:

1 
3
1
R= di j vi v j = v T D(·)v (2.22)
2 i, j=1 2

such that it fulfils condition (2.21) with

∂R
f D = −∇v R = − = −D(·)v (2.23)
∂v
Notice that the restriction of positiveness in the Rayleigh’s dissipation function
R impose a positive definite order 3 matrix D(·) > 0, called damping matrix.

Simplified cases are found for diagonal damping matrices:


110 2 Classical Mechanics
⎡ μx

|vx |
0 0
⎢ μy
0 ⎥
Coulomb friction: D(v) = 2 ⎣ 0 |v y | ⎦
0 0 |vμzz |
⎡ ⎤
bx 0 0
Viscous friction: D = ⎣ 0 by 0 ⎦
0 0 bz
⎡ ⎤
C |v | 0 0
2 ⎣ Dx x
Aerodynamic drag: D(v) = 0 C D y |v y | 0 ⎦
3 0 0 C Dz |vz |

for which the corresponding dissipative force yields:


⎛ ⎞
μx sign(vx )
Coulomb friction: fD = − ⎝ μ y sign(v y ) ⎠
μz sign(vz )
⎛ ⎞
bx vx
Viscous friction: fD = − ⎝ by vy ⎠
bz vz
⎛ ⎞
C Dx |vx |vx
Aerodynamic drag: fD = − ⎝ C D y |v y |v y ⎠
C Dz |vz |vz

2.1.3 Final Comments

So far, four different types of 3D forces that acts on a particle have been deduced:
1. Inertial forces f I , defined as the negative of the momentum derivative, which
has a strong relationship with the conservative Kinetic Energy:

d ∂K
fI =− ⇔ f I · v = − K̇
dt ∂v

2. Conservative forces f U , that arise from [conservative] potential fields where the
particle is moving, which do not input nor reduce the energy of the system, but
do produce work, which reduces to zero for closed paths:

∂U (·)
f U = −∇U (·) = − ⇔ ∇ × fU = 0 ≡ f U · ds = 0
∂d C

3. Restrictive forces f r , that appears in the case where a restriction constraints the
motion of the particle; and which do not produce work due to the virtual work
principle:
2.1 Newton’s Mechanics of a Particle 111
 2  t2
δW1−2 = f r · δd = ( f r · δ ḋ)dt = 0
1 t1

4. Dissipative forces f D which reduce the overall energy and are due to dissipative
influences such as friction, and which fulfill the dissipative condition:

fD ·v <0

However, there is a fifth force such that Newton’s 2nd law (2.1) or D’Alembert
principle (2.15) can be written in a uniform manner:
5. Exogenous active force f E ∈ R3 which may induce energy to the system.
Then Newton’s 2nd law (2.1) and D’Alembert principle (2.15) can be written re-
spectively as

− f I = fU + f D + fr + f E

( f I + f U + f D + f r + f E ) · δd = 0

Finally, active, impressed and effective forces can be defined out from these 5
types of forces:

Definition 2.6 (Active Force) The active force on a particle is the addition of any
force components that do produce work:

f a · δd = 0

It is given by the addition of all possible forces but those of restriction:

fa = f I + fU + f D + f E ∈ R3

Definition 2.7 (Impressed Force) The impressed force is the addition of all possible
external forces that acts in the particle (i.e.not including the force of inertia.):

f = fU + f D + fr + f E ∈ R3

Definition 2.8 (Effective Force) The effective force is the addition of all possible
force components in the particle that produce motion on the particle. They are the
active forces but the inertial one:

fe = fU + f D + f E ∈ R3
112 2 Classical Mechanics

With these last definitions Newton’s 2nd law (2.1) and D’Alembert principle
(2.15) become

Newton’s 2nd law: − f I = fe + fr


D’Alembert’s Principle: ( f I + f e + f r ) · δd = ( f I + f e ) · δd = 0

2.2 Lagrange Mechanics for Multi-particle Systems

Consider a system with a large yet finite number N of particles, whether it is a single
body or a multi-body system. To characterize the motion of this system with Newton’s
mechanics of particles, 3N scalar equations are needed. However, if the system is
composed with rigid bodies, there should be a big number of constraints that must
be expressed within the 3N original equations. Also, a system with interconnected
components only presents motion restrictions in particular directions. In these cases
it may be more simple to express the motion equations in terms of energies and the
system configuration; arising the concept of Generalized Coordinates.
Definition 2.9 (Generalized Coordinates) Any set of coordinates
⎛ ⎞
q1
⎜ ⎟
q = ⎝ ... ⎠ ∈ Rn
qn

is called a set of generalized coordinates of a system, if and only if the number


n of its elements is necessary and sufficient (equivalently to a minimal number of
linearly independent variables) to define the configuration or the positional status of
the system uniquely, (Banerjee 2005).
The dimension n of such coordinates is given by the rule (Meirovitch 1970):
n = 3N − h for a given N particles and h holonomic1 constraints.
Important Issues Arising from the Generalized Coordinates Concept:
• The set q may not be unique since for the same system many combinations may
fulfill requirements in Definition 2.9.
Example 2.1 The four bar linkage in Fig. 2.3b can be characterized uniquely with
only one generalized coordinate either absolute angles θ2 , θ3 , or θ4 , or relative angles
θ5 , or θ6 .

1 Holonomic means integrable in the sense of Frobenius in the framework of differential geometry. In

a practical situation it can be understood as the ability of a constraint expression in a differential form:
ax d x + a y dy + az dz + a0 dt = 0 to be written as an algebraic restriction in the form f (x, y, z, t) =
0. If the differential form cannot be written as an equality and in terms of the non-differentiated
variables x, y, z, it said to be non-holonomic. Dependence of time give rise to the terminology
scleronomic, when it does not depend explicitly on time, and otherwise rheonomic, (Meirovitch
1970).
2.2 Lagrange Mechanics for Multi-particle Systems 113

(a) Rigid Body (b) 4 bar linkage

Fig. 2.3 Multi-particle systems. Left: a single rigid body B with associated reference frames and
main points position vectors. Right: the classical 4 bar linkage (with a virtual bar 1 being always
static)

Remark The rigid body example of Fig. 2.3a needs particular attention and is the
central core of this text. However it needs 6 generalized coordinates to establish its
position (3 independent variables) and attitude (another 3 independent variables). 

• The spacial coordinates (position) of every and each of the N particles of the
system can be described with these generalized coordinates:

d 1 = d 1 (q1 , q2 , q3 , . . . , qn , t)
..
.
d N = d N (q1 , q2 , q3 , . . . , qn , t)

equivalently
d j = d j (q, t) ∈ R3

For example: Each particle in the four bar linkage in Fig. 2.3 can be expressed in
terms of the unique chosen variable; either θ2 , θ3 , θ4 , θ5 , or θ6 .
• The velocity of any particle can be written as


n
∂d j ∂d j ∂d j ∂d j
v j = ḋ j (q, q̇) = q̇i + = q̇ + (2.24)
i=1
∂qi ∂t ∂q ∂t

∂d j
The term represents the tangent direction of d j w.r.t the coordinate qi , in a
∂qi
different (often larger) finite n-dimension space defined by q ∈ Rn ; and the vector
114 2 Classical Mechanics
⎛ ⎞
q̇1
⎜ ⎟
q̇ = ⎝ ... ⎠ ∈ Rn
q̇n

is the generalized velocity.


∂d j
The last term in (2.24) means that the position d j would depend explicitly
∂t
on time. However in a general way this dependence can always be expressed in
terms of additional generalized coordinates. In this case this term can be neglected
in the following and the velocity of each particle can be written as

v j = J j (q)q̇ (2.25)

with the Jacobian matrix of d j :

∂d j
J j (q) = : Rn → R3 (2.26)
∂q

• From the definition of q (lineal independency) and (2.24) the following equality
always holds:
∂ ḋ j ∂d j
= (2.27)
∂ q̇i ∂qi

• The virtual displacement concept (used in both virtual work principle and
D’Alembert’s principle) can be generalized to the generalized coordinates qi , for
i = 1, . . . , n. In this case, the variation of the trajectory qi (t) is defined by the
virtual displacements δqi , for all i = 1, . . . , n. The Euclidean virtual displace-
ments δ d j ∈ R3 in terms of the generalized coordinates mean for every particle
an admissible motion such that


n
∂d j
δ dj = δ qi (2.28)
i=1
∂qi

• The total Kinetic Energy of the system can be expressed with the generalized
coordinates q and the generalized velocity q̇, as the addition of every particle
contributions:

1  2 1
N N
K (q, q̇) = m j  ḋ j  = m j ḋ j · ḋ j (2.29)
2 j=1 2 j=1

and in virtue of (2.27) the kinetic energy has the following derivative expressions
2.2 Lagrange Mechanics for Multi-particle Systems 115

∂K N
∂ ḋ j N
∂d j
= m j ḋ j · = m j ḋ j · (2.30)
∂ q̇i j=1
∂ q̇ i j=1
∂qi

∂K N
∂ ḋ j
= m j ḋ j · (2.31)
∂qi j=1
∂qi

• By the use of (2.25) the Kinetic Energy expression (2.29) yields:

1 T
K (q, q̇) = q̇ H (q)q̇ (2.32)
2
where

N
H (q)  m j J jT (q)J j (q) (2.33)
j=1

is known as the Lagrangian Inertia Matrix,2 and J j (q) is the particle’s Jacobian
defined in (2.26). Although the explicit calculation of (2.33) is cumbersome (fur-
ther chapters will show a more simple way for rigid bodies), it is enough to state
the most important properties of this Lagrangian Inertia Matrix:
Property 2.1 (Properties of the Lagrangian Inertia Matrix)
1. The Lagrangian Inertia Matrix depends only in the system configuration described
by the generalized coordinates:
H (q)

Proof: It follows straight forward from definition (2.33) and the fact that the each
∂d j (q)
Jacobian J j (q) = would only depend on the system configuration q. 
∂q
2. The Lagrangian Inertia Matrix is a square matrix of order n:

H (q) ∈ Rn×n

Proof: It also follows from the fact that the each Jacobian J j (q) ∈ R3×n has
dimensions 3 × n, and according to the matrix product definition (1.15), each
product J jT (q)J j (q) would produce a square matrix or order n with rank at most
3. Then by definition (2.33), H (q) is a square matrix of order n. 

An important outcome of this property is that the Kinetic Energy can be expressed
in quadratic form (1.23) explicitly as

1 
n
K = h i j (q) q̇ j q̇i (2.34)
2 i, j=1

2 Very often referred only as the Inertial Matrix.


116 2 Classical Mechanics

3. The Lagrangian Inertia Matrix is symmetric:

H (q) = H T (q)

Proof: It follows straight forward from definition (2.33). 


4. The Lagrangian Inertia Matrix is positive definite:

H (q) > 0

Proof: Despite the fact that this matrix is composed by the addition of multiple
rank 3 matrices J jT (q)J j (q), which conclude that the inertia matrix would be
semipositive definite, the property follows straight forward from Matrix positive-
ness definition (1.35), and the fact that the Kinetic Energy expression (2.32) is
always positive for a non zero velocity: K (q, q̇) > 0 ∀q̇ = 0. 

2.2.1 D’Alembert–Lagrange’s Equation

Consider the equation of motion for the particle j inside a system with N particles,
that interact with its neighbors:


N
m j d̈ j = f i j = f j = f ej + f rj
i=1

and the restrictive force f r j is such that the constraint motion of this particle is
characterized with the effective forces f e j . Then for each particle j this restrictive
force is written as
m j d̈ j − f e j = f r j

The idea of virtual work and D’Alembert’s principle can be extended to multi-
particle systems, taking the following forms:


N
f r j · δd j = 0 (2.35)
j=1
N 
 
f e j + f r j − m j d̈ j · δd j = 0 (2.36)
j=1

Since δd j means the admissible [local] motions of each particle, the restrictive
forces in (2.35) do not produce any Work in this directions (due to the Virtual Work
principle). The virtual displacements that fulfill this expression are called reversible
2.2 Lagrange Mechanics for Multi-particle Systems 117

displacements. Then, the statement of Virtual Work principle for multi-particle sys-
tems (2.35) becomes:
The total work done by the applied forces in infinitesimal reversible displacements compatible
with the system constraints is zero, (Meirovitch 1970).

Combination of (2.35) and (2.36) yields the generalized principle of D’Alembert


(Meirovitch 1970):

N 
  
N
m j d̈ j − f e j · δd j = f r j · δd j = 0 (2.37)
j=1 j=1

which can be stated as:


The total virtual work performed by the impressed forces [including those of constraint],
augmented by the forces of inertia, vanishes for virtual displacements. (Lanczos 1970).

To express this generalized principle in terms of the Lagrangian generalized co-


ordinates, use (2.28) in the left-hand side of (2.37), becoming

N    n
∂d j
m j d̈ j − f e j · δ qi = 0
j=1 i=1
∂qi

and by rearranging the order of summation, last expression yields


⎧ ⎫
n ⎨ N  ⎬
∂d j ∂d j
m j d̈ j · − f ej · δ qi = 0 (2.38)
⎩ ∂q i ∂qi ⎭
i=1 j=1

Notice that
 
d ∂d j ∂d j ∂ ḋ j
ḋ j · = d̈ j · + ḋ j ·
dt ∂qi ∂qi ∂qi

Then expression (2.38) can be rewritten as


⎧ ! "  # $⎫
n ⎨ 
 ∂d j ⎬
N
d ∂d j ∂ ḋ j
mj ḋ j · − ḋ j · − f ej · δ qi = 0
⎩ dt ∂qi ∂qi ∂qi ⎭
i=1 j=1
⎧ ⎛ ⎞ ⎫
n ⎨
 d ⎝ ∂d j ⎠  ∂ ḋ j  ∂d j ⎬
N N N
m j ḋ j · − m j ḋ j · − f ej · δ qi = 0
⎩ dt ∂qi ∂qi ∂qi ⎭
i=1 j=1 j=1 j=1

Finally, by using (2.30)–(2.31), last expression becomes


118 2 Classical Mechanics
⎧ ⎫
n ⎨
 ∂K  ∂d j ⎬
N
d ∂K
− − f ej · δ qi = 0 (2.39)
⎩ dt ∂ q̇i ∂qi ∂qi ⎭
i=1 j=1

Notice that in (2.39), each term in the parentheses is a scalar, and since δ qi = 0
because it is indeed the admissible motion in the generalized coordinates direction,
each of the n scalar equations inside the parentheses must be null.
Definition 2.10 (Generalized Force) The force (or torque, depending on the dimen-
sions of the applied coordinate qi ) made by the total addition of effective forces
f e j ∈ R3 (at each element j) projected to the tangent space of each particle coordi-
nates d j w.r.t. the generalized coordinate qi , is a generalized force coordinate:


N
∂d j
Qi  f ej · (2.40)
j=1
∂qi

which all together sets the n-dimension generalized force vector:


⎛ ⎞
Q1
⎜ ⎟
Q  ⎝ ... ⎠ ∈ Rn
Qn

Notice that after (2.40), the generalized force vector can be expressed in a simple
way as
N
Q= J jT (q) f e j (2.41)
j=1

With the above definition, the n solutions of (2.39) can be written as

d ∂K ∂K
− − Qi = 0 ∀ i = {1, . . . , n}
dt ∂ q̇i ∂qi

or in single vectorial form as:

d ∂K ∂K
− = Q (2.42)
dt ∂ q̇ ∂q

Remark Expression (2.36) is often called d’Alembert’s principle, but it was first writ-
ten in this variational form by Lagrange. D’Alembert’s contribution was to demon-
strate that in the totality of a dynamic system the forces of constraint vanish. That is
to say that the generalized forces need not to include the constraint forces (as stated
by expression (2.37)). The above demonstration which yields (2.42) is equivalent
to D’Alembert’s, but in a much elegant way due to Lagrange himself and his varia-
2.2 Lagrange Mechanics for Multi-particle Systems 119

tional calculus, for which this equation is widely known as the Lagrange equation,
(Goldstein 1950; José and Saletan 1998; Meirovitch 1970). However, since there is
a different formulation called Euler–Lagrange3 which is very often confused with
(2.42), in the spirit to avoid such confusion the formulation (2.42) is called in this
work as the D’Alembert–Lagrange equation. 
Equivalently to the singular particle case, there are expressions for both work and
power given by the following propositions:
Lemma 2.1 (Power of multi-particle systems) The Power of multi-particle systems
can be computed as the inner product of the total generalized force and the general-
ized velocity:
P = q̇ · Q = q̇, Q
= q̇ T Q (2.43)

Proof Consider the generalized force coordinates expressed by (2.40). Then the inner
product in (2.43) yields
⎧ ⎫ %

n ⎨N
∂d j ⎬ 
N n
∂d j N
q̇ · Q = q̇i f ej · = f ej · q̇i = f e j · ḋ j
⎩ ∂qi ⎭ ∂qi
i=1 j=1 j=1 i=1 j=1

which according to (2.18) is the addition of the power produced by all the N particles
in the system. Then (2.43) holds. 
Lemma 2.2 (Work of multi-particle Systems) The Work of multi-particle systems
can be computed as the time integral of the Power of the system:
 t2  2
W1−2 = ( Q · q̇)dt = Q · dq (2.44)
t1 1

Proof The left-hand side of expression (2.44) follows straight forward from the
power definition (2.18). The right-hand side follows from the inner product definition
of n-dimensional vectors:
⎧ ⎫ ! n $%
n ⎨
 ∂d j ⎬   
N N N
∂d j
Q · dq = f ej · dqi = f ej · dqi = f ej · d d j
⎩ ∂qi ⎭ ∂qi
i=1 j=1 j=1 i=1 j=1

which according to (2.3) is the addition of the work produced by all the N particles
in the system. Then (2.44) holds.

Finally, in the same manner as for single particles, the left-hand side term in (2.42)
must be the negative equivalence of force of inertia in the generalized space Rn ,
while the right-hand side must be the addition of all effective generalized forces.
According to this, it arise that

3 Euler–Lagrange equation will be explained in Sect. 2.2.2.


120 2 Classical Mechanics

1. The generalized forces of inertia in the generalized space are given by the neg-
ative value of the D’Alembert–Lagrange equation:

∂K d ∂K
τI  − (2.45)
∂q dt ∂ q̇

2. The generalized force Q in (2.42), when expressed with the form (2.41) and the
decomposition of the effective forces f e = f U + f D + f E for each particle
yields
N
Q= J jT (q)( f U j + f D j + f E j ) = τ U + τ D + τ E
j=1

which is the addition of all effective forces that acts over all the particle’s system,
and which are only of 3 kinds of nature:
(a) Conservative forces τ U ∈ Rn which do not induce& nor reduce the energy of
the system and are resultant of Potentials U (·) = Nj=1 U j (·) which is the
addition of all potential energy that may affect any particle in the system,
such as gravity, buoyancy, electrical fields, etc.;


N
τU = J jT (q) f U j
j=1

(b) Dissipative forces τ D ∈ Rn which reduce the overall energy of the system
and are due to dissipative influences such as friction;


N
τD = J jT (q) f D j
j=1

(c) Exogenous generalized forces τ E = τ A + τ C ∈ Rn which would induce


energy to the system such as those produced by actuators τ A or produced
by external constraint or contact forces τ C ∈ Rn :


N
τE = J jT (q) f E j = τ A + τ C
j=1

The five types of generalized forces τ I , τ U , τ D , τ C and τ A will be discussed


independently in the following paragraphs.
2.2 Lagrange Mechanics for Multi-particle Systems 121

2.2.1.1 Inertial Forces

Using the Kinetic Energy expression (2.32), and the fact property of the Inertia Matrix
being symmetric, equation (2.42) takes the following form:
' (
1 ∂ q̇ T H (q)q̇
H (q)q̈ + Ḣ (q, q̇)q̇ − = Q
2 ∂q

The Coriolis Matrix


Notice that only the first term in the left hand side' is homogeneous
( to the generalized
acceleration q̈, and the terms Ḣ (q, q̇)q̇ and 21 ∂ q̇ T H (q)q̇ /∂q are both quadratic
in the generalized velocity. The addition of these vectors is often written as the
projection of a single velocity dependent linear operator C(q, q̇), as
' (
1 ∂ q̇ T H (q)q̇
τ cor  Ḣ (q, q̇)q̇ − = C (q, q̇) q̇ (2.46)
2 ∂q

where τ cor is called the Coriolis vector and C(q, q̇) : q̇ → τ cor is the Coriolis
Matrix. While the Coriolis vector is unique, the Coriolis Matrix is an algebraic
concept that may have many different expressions, and helps to write D’Alembert–
Lagrange equation in a much more simple and useful way as:

H (q)q̈ + C (q, q̇) q̇ = Q (2.47)

By virtue of the Coriolis vector definition it arise the following properties related
uniquely with the Kinetic Energy of multi-particles systems:

Property 2.2 (Uniqueness of the Coriolis vector expression τ cor ) The Coriolis
torque vector is unique and has the following expression:
⎛ ⎞
..
⎜ n  . ⎟
⎜ ∂h k j (q) 1 ∂h i j (q)  ⎟
⎜ − q̇i q̇ j ⎟
τ cor = C (q, q̇) q̇ = ⎜ ⎟ (2.48)
⎜ i, j ∂qi 2 ∂qk ⎟
⎝ ⎠
..
.

where h i j (q) = [H (q)]i, j is the i- jth element of the inertia matrix.


∂ {q̇ T H (q)q̇ }
Proof Consider the terms Ḣ (q, q̇)q̇ and 21 ∂q
that arise form definition (2.46)
independently, and using the time derivative of each element in the inertia matrix

n
∂h i j (q)
performed by the chain rule ḣ i j (q, q̇) = q̇k :
k
∂qk
122 2 Classical Mechanics
⎛ ⎞ ⎛ .. ⎞
..
⎜ n . ⎟ ⎜ n ! n . $ ⎟
⎜ ⎟ ⎜  ∂h i j (q) ⎟
⎜ ḣ i j (q, q̇)q̇ j ⎟ ⎜ q̇k q̇ j ⎟
Ḣ (q, q̇)q̇ = ⎜ ⎟=⎜ ⎟
⎜ j ⎟ ⎜ j ∂qk ⎟
⎝ ⎠ ⎝ k ⎠
.. ..
. .
⎛ ⎞ (2.49)
..
⎜ n . ⎟
' T ( ⎜ ∂h i j (q) ⎟
∂ K (q, q̇) ∂ (q) 1 ⎜ q̇i q̇ j ⎟
q̇ H q̇
=21
= 2⎜ ⎟
∂q ∂q ⎜ i, j ∂qk ⎟
⎝ ⎠
..
.

Notice that the row counting variable on the first of these vectors is i while for the
second is k. Then variable commutation is required in either vector. For instance
it can be performed in the first vector. Then, proper addition of the above vectors
produce expression (2.48). 

Property 2.3 (The non-uniqueness of the Coriolis matrix C(q, q̇)) While the Corio-
lis vector C (q, q̇) q̇ ∈ Rn is unique, the velocity-dependent linear operator Coriolis
Matrix C(q, q̇) : q̇ → τ cor is not unique.

Proof Consider the Coriolis vector expression (2.48), from which it can be computed
at least the following two versions of a Coriolis matrix:
⎡ ⎤
..
⎢ . ⎥
⎢  n   ⎥
⎢· · · ∂h k j (q) 1 ∂h i j (q)
C1 (q, q̇) = ⎢ − q̇i · · ·⎥⎥, ⇒ C1 (·)q̇ = C(·)q̇
⎢ ∂qi 2 ∂qk ⎥
⎣ i ⎦
..
.
⎡ ⎤
..
⎢ . ⎥
⎢  n   ⎥
⎢· · · ∂h k j (q) 1 ∂h i j (q)
C2 (q, q̇) = ⎢ − q̇ j · · ·⎥
⎥ ⇒ C2 (·)q̇ = C(·)q̇
⎢ ∂qi 2 ∂qk ⎥
⎣ j ⎦
..
.

Then the Coriolis matrix has not a unique representation.




Property 2.4 (The power of Coriolis q̇ T τ cor ) The power to the Coriolis torque
vector has a quadratic form with the following equivalence, (Arimoto 1995a):

1 T
q̇ T C (q, q̇) q̇ = q̇ Ḣ (q, q̇) q̇ (2.50)
2
2.2 Lagrange Mechanics for Multi-particle Systems 123

Proof First, consider the' unique Coriolis( vector with its definition form in (2.46)
∂ q̇ T
H (q) q̇
τ cor = Ḣ (q, q̇)q̇ − 21 such that the inner product of the Coriolis vec-
∂q
tor becomes:
' (
1 T ∂ q̇ T H (q)q̇
q̇ τ cor = q̇ C (q, q̇) q̇ = q̇ Ḣ (q, q̇)q̇ − q̇
T T T
2 ∂q

Secondly, consider the quadratic product of the first term in the right-hand side
⎧⎛ ⎞ ⎫

n n ⎨  n ⎬  n
∂h ij (q) ∂h i j (q)
q̇ T Ḣ (q, q̇)q̇ = ḣ i j (q)q̇i q̇ j = ⎝ q̇k ⎠ q̇i q̇ j = q̇i q̇ j q̇k
⎩ ∂qk ⎭ ∂qk
i, j i, j k i, j,k

Thirdly, consider the inner product of the second term, where the Kinetic energy
gradient can adopt the form given in (2.49):
⎛ ⎞
..
⎜ . ⎟  
1 T⎜ ∂ (q) ⎟  n
T ∂ K (q, q̇) H ⎟= 1 T ∂ H (q)
q̇ = q̇ ⎜ q̇ T
q̇ q̇ q̇ q̇
2 ⎜ ∂qk ⎟
k
∂q ⎝ ⎠ 2 k ∂qk
..
.
⎧ ⎛ ⎞⎫
n ⎨
  n ⎬ 1 n
1 ∂h i j (q) ∂h i j (q)
= q̇k ⎝ q̇i q̇ j ⎠ = q̇i q̇ j q̇k
2 k ⎩ i, j
∂q k ⎭ 2
i, j,k
∂qk

Finally the proper addition of last two expressions yields straightforward equivalence
(2.50). 

Property 2.5 (Skew-symmetry of C w.r.t. Ḣ ) Among all possible expressions for


the Coriolis matrix, there is at least one that fulfils the following conditions:

1
C (q, q̇) − Ḣ (q) = Q, Q + Q T = 0 (2.51a)
2
C (q, q̇) + C T (q, q̇) = Ḣ (q) (2.51b)

Proof First consider  that the Coriolis matrix


 may be composed by a symmetric ma-
trix Cs (q, q̇) = 21 C (q, q̇) + C T (q, q̇) plus an antisymmetric one Css (q, q̇) =
 
1
2
C (q, q̇) − C T (q, q̇) , such that C (q, q̇) = Cs (q, q̇) + Css (q, q̇).
Secondly consider the power produced by the Coriolis vector (2.50), which hap-
pens to be a quadratic form in velocity for the Coriolis matrix, which due to the
skew symmetric property of matrices this product can be expressed uniquely with
the symmetric part of the Coriolis matrix: q̇ T τ cor = q̇ T C (q, q̇) q̇ = q̇ T Cs (q, q̇) q̇.
Since the inertia matrix is indeed symmetric, and in consequence its time derivative
as well, it follow that the symmetric part of a Coriolis matrix is indeed
124 2 Classical Mechanics

1
Cs (·) = Ḣ (·)
2
giving rise to expression (2.51b). The difference C(·) − Cs (·) = Css would be the
antisymmetric part of the Coriolis matrix, from which it arise identity (2.51a); and
expressions (2.51a) and (2.51b) are fully equivalent. 
The Christoffel Symbols
One of the possible expression of Coriolis matrix that fulfills the skew-symmetry
condition (2.51) arise after the Christoffel symbols of the first kind. These elements
are obtained after the following analysis.
Consider expression (2.48) and notice that


n
∂h k j (q) 
n
∂h ki (q)
q̇i q̇ j = q̇i q̇ j
i, j
∂qi i, j
∂q j

Then since H is symmetric, last expression can be written as


n
∂h k j (q) 1  ∂h k j (q)
n
1  ∂h ik (q)
n
q̇i q̇ j = q̇i q̇ j + q̇i q̇ j
i, j
∂qi 2 i, j ∂qi 2 i, j ∂q j

and the Coriolis vector can be computed as:


⎛ ⎞
..
⎜ n ⎟ .
⎜ ⎟
⎜ ci jk (q)q̇i q̇ j ⎟
C (q, q̇) q̇ = ⎜ ⎟ (2.52)
⎜ i, j=1 ⎟
⎝ ⎠
..
.

where the terms ci jk (q) are the well known Christoffel symbols of the first kind,
which have the following explicit form, (Spong and Vidyasagar 1989):
) *
1 ∂h k j (q) ∂h ik (q) ∂h i j (q)
ci jk (q) = + − (2.53)
2 ∂qi ∂q j ∂qk

Then it can be established that the elements of one possible Coriolis matrix that
fulfills the skew-symmetry condition (2.51) are defined as:

+ , 
n
C (q, q̇) k, j = ci jk (q)q̇i
i=1

Theorem 2.2 (The power-kinetic energy) For any multi-particle system the Power
produced by the generalized forces is equivalent to the time derivative of the Kinetic
Energy:
2.2 Lagrange Mechanics for Multi-particle Systems 125
 
P = q̇ · Q = q̇ T H (q)q̈ + C (q, q̇) q̇ = K̇ (2.54)

Proof From Lemma 2.1 and expression (2.47), it is easy to see that the power be-
comes q̇ · Q = q̇ T H (q)q̈ + q̇ T C (q, q̇) q̇, which by virtue of properties (2.50) or
(2.51) (either of them independently) it yields

1
q̇ · Q = q̇ T H (q)q̈ + q̇ T Ḣ (q, q̇) q̇
2
Since the inertia matrix is symmetric, last expression is indeed the time derivative
of the kinetic energy expression (2.32): K̇ = q̇ T H (q)q̈ + 21 q̇ T Ḣ (q, q̇) q̇. Then ex-
pression (2.54) holds. 
Remark Expression (2.54) arise independently using properties (2.50) or (2.51)
which yields the passivity mapping Q → q̇. Notice that property (2.51) is more
restrictive than (2.50) because the first only holds for some particular Coriolis matri-
ces while the second is always valid. In this sense, the skew-symmetry is a sufficient
condition (not a necessary one) for the theorem above. 
The Inertia Force On the other hand, form definitions of the generalized force of
inertia (2.45) and Coriolis vector (2.46), it follows that the first can be written as

τ I = −H (q)q̈ − C (q, q̇) q̇

Property 2.6 (The power due to the generalized forces of inertia) In the same way
as for single particles, the power generated by all forces of inertia in the entire
multi-particles system is the same as the negative value of the time derivative of the
Kinetic Energy:
q̇ · τ I = − K̇

Proof It follows straight forward from Lemma 2.2 above. 


Since the kinetic energy is a conservative energy, the inertia forces are conserva-
tives.

2.2.1.2 Potential-Based Generalized Forces

Conservative forces τ U ∈ Rn which do not induce nor reduce the energy of the
system are resultant of Potentials U (·) being the addition of all potential energy that
may affect any particle in the system, such as gravity, buoyancy, electrical fields, etc.
Theorem 2.3 The generalized force τ U due to any Potential U (·) would take the
shape of the potential gradient over the generalized coordinates (Goldstein 1950):

∂U (·)
τU = − (2.55)
∂q
126 2 Classical Mechanics

Proof Last expression arise from the generalized force definition (2.40) and the
potential force expression for single particles (2.8):
&N
N
∂U j (d j ) ∂d j N
∂U j (d j ) ∂ j=1 U j (d j )
τUi =− · =− =−
j=1
∂d j ∂qi j=1
∂qi ∂qi

&N
Since the total potential energy can be written as U (·) = j=1 U j (·), last expression
yields (2.55). 

Property 2.7 (The power due to generalized potential forces) In the same way as
for single particles, the power generated by all potential-based forces on the entire
multi-particles system is the negative value of the time derivative of the Potential
Energy:
q̇ · τ U = −U̇

Proof It follows straight forward using the inner product in last expression, definition
(2.55) and the chain rule. 

In the particular case where the systems is subject only to a conservative gravity
field, the gradient
∂U (q)
 g(q) (2.56)
∂q

is called the gravity vector. Since the Potential Energy is conservative energy, the
gravity vector is conservative. Then the D’Alembert–Lagrange equation with (con-
servative) gravity effects can be written as:

H (q)q̈ + C (q, q̇) q̇ + g(q) = τ A

2.2.1.3 Dissipative Generalized Forces

Dissipative force τ D ∈ Rn which reduce the overall energy of the system is the
generalized version of all dissipative influences in all particles such as friction.

Theorem 2.4 If there is a Rayleigh dissipative generalized function R(q, q̇) > 0,
then the generalized force τ D would take the shape of the gradient of R over the
generalized velocity:
∂R(q, q̇)
τD = − (2.57)
∂ q̇

such that
∂R(q, q̇)
q̇ T ≥0 (2.58)
∂ q̇
2.2 Lagrange Mechanics for Multi-particle Systems 127

Proof First notice that the Generalized Dissipative function can be explicitly be
written by using Rayleigh original proposed function (2.22) and the matrix expression
for each particle velocity (2.25):


N
1 T
R(q, q̇) = R j (·) = q̇ D(q, q̇)q̇ ≥ 0 (2.59)
j=1
2

where the Generalized Damping matrix D is given as:


N
D(q, q̇)  J jT (q)D j (v j (q, q̇))J j (q) ≥ 0
j=1

Notice that this generalized dissipative function is non negative in contrast to the
original Rayleigh function which is always positive for non zero velocities. The
semipositive definiteness may arise from the fact that D(q, q̇) is an order n matrix
while all Jacobians J j (q) ∈ R3×n are rank deficient (i.e.ρ{J j } ≤ 3). Thus they may
be particles that does not suffer dissipative forces and those who will, may not move
during a particular configuration which would render a null damping force. In any
case, the damping matrix is non negative.
Secondly, from (2.27), the generalized force coordinates definition (2.40) can be
rewritten as follows


N
∂ ḋ j N
∂v j
Qi = f ej · = f ej · (2.60)
j=1
∂ q̇i j=1
∂ q̇i

Then using the effective dissipative force (2.23) on each particle, and the chain rule,
last expression yields


N
∂R j ∂v j  ∂R j
N
∂R
τ Di = − · =− =−
j=1
∂v j ∂ q̇i j=1
∂ q̇ i ∂ q̇i

from which the vectorial version (2.57) holds.


∂R
finally, from (2.59) it follows that the gradient becomes
∂ q̇

∂R
= D(q, q̇)q̇
∂ q̇

then the product (2.58) always holds. 


128 2 Classical Mechanics

2.2.1.4 Contact Generalized Forces

Since external contact forces f ck ∈ R3 appear only locally at some particles pk , k =


1, . . . , r in the system, the generalized contact force is a reduced version of a gen-
eralized force which considers only the contact forces over the r contact-impressed
particles:


r
τC = JkT (q) f ck (2.61)
k=1

Remark Notice that positive forces f ck in (2.61) mean that they are induced from
the environment to the system. This is recovered in the positive sign in the contact
forces in the right-hand side of (2.62).
If for some reason it is necessary to express the exerted forces from the mechanical
system to the environment, by virtue of Newton’s third law, the contact force may
be reversed. 

2.2.1.5 The General D’Alembert–Lagrange Equation

The D’Alembert–Lagrange equation with (conservative) gravity, dissipative and ex-


ternal contact effects (if any) can be written as:


r
H (q)q̈ + C (q, q̇) q̇ + D(q, q̇)q̇ + g(q) = τ A + JkT (q) f ck
k=1

Using the generalized vector τ = τ A for the actuators generalized exogenous


force, D’Alembert–Lagrange equation (2.42) can be written in a general way as:

−τ I = τ U + τ D + τ C + τ A

or equivalently in a classical way:

d ∂ K (q, q̇) ∂(K (q, q̇) − U (·)) ∂R(q, q̇)  r


− + =τ+ JkT (q) f ck
dt ∂ q̇ ∂q ∂ q̇ k=1

(2.62)
2.2 Lagrange Mechanics for Multi-particle Systems 129

Fig. 2.4 Real path y(x) and


-varied path ȳ(x, )

2.2.2 The Euler–Lagrange’s Equation

Consider the definite integral


 x2
I = F(x, y, y )d x (2.63)
x1

which has an extremum or stationary value4 for a given [vectorial or scalar] function
y(x) ∈ Rn which satisfy the following boundary conditions:

y(x1 ) = y1 , y(x2 ) = y2 (2.64)

∂y
where y = ∈ Rn and F ∈ R is a scalar function called the Lagrangian function.
∂x
Calculus of variations lead to the so called Euler–Lagrange differential equation

∂F d ∂F
− =0 (2.65)
∂y d x ∂ y

as a necessary condition for (2.63) to have a stationary value under the boundary
conditions (2.64).

2.2.2.1 Deduction of the Euler–Lagrange Differential Equation

Refer to (Fig. 2.4) and consider that the stationary value y(x) has a variation δ y(x) =
 η(x) being proportional to a small scalar  and a smooth (at least once differentiable)
arbitrary function η(x), such that a varied function

4 A function is said to have a stationary value at a certain point if the rate of change in every direction

at this point is zero, (Meirovitch 1970).


130 2 Classical Mechanics

ȳ(x, )  y + δ y(x) = y +  η(x)

differs from the stationary value by an arbitrary virtual change δ y(x) in a way that
all the varied functions ȳ(x, ) lie in a small neighborhood of y(x). In order the
conditions (2.64) to hold, it is necessary that the new function η(x) also fulfils the
following boundary condition:

η(x1 ) = η(x2 ) = 0 (2.66)

Then the definite integral (2.63) would have an -varied form:


 x2  
I () = F x, ȳ(x, ), ȳ (x, ) d x
x1

that yields (2.63) whenever  = 0. Since y(x) is the stationary value of I , then within a
sufficiently small neighborhood I () would have an stationary value at  = 0. Taking
advantage that the variable of integration x is independent of the variation argument
∂x
 (i.e. = 0), the solution of the following ordinary stationary-value problem
∂

d I () 
=0
d =0

is an equivalent solution, regardless of the shape of the function η(x).


Thus, the -derivative of I (), following the chain rule, would yield:
 ) *  x2 ) *
d I () x2
∂F ∂ ȳ ∂F ∂ ȳ ∂F ∂F 
= · + · dx = ·η+ · η dx
d x1 ∂ ȳ ∂ ∂ ȳ ∂ x1 ∂ ȳ ∂ ȳ

Now, consider for one moment only the second term in the above expression:
 
x2
∂F x2
∂F ∂η
· η d x = · dx
x1 ∂ ȳ x1 ∂ ȳ ∂x

which can be integrated by parts:


 x2  x2  
x2
∂F ∂η ∂F  d ∂F
· d x = · η  − · η dx
∂ ȳ ∂x ∂ ȳ  d x ∂ ȳ
x1 x1 x1

By virtue of boundary conditions (2.66), the first term in the right-hand side vanish.
Then the -derivative of the varied definite integral simplifies as:
  
d I () x2
∂F d ∂F
= − · η dx
d x1 ∂ ȳ d x ∂ ȳ
2.2 Lagrange Mechanics for Multi-particle Systems 131

Finally, when  = 0, last expression yields


  x2  
d I ()  ∂F d ∂F
= − · η dx = 0
d =0 x1 ∂y d x ∂ y

which must vanish according to the ordinary stationary-value problem statement;


giving rise to condition (2.65), (Goldstein 1950; José and Saletan 1998; Meirovitch
1970). This means that the solution of (2.65) is the function for which the definite
integral (2.63) has a stationary value.
A very useful example is to consider the following change of variables: x = t and
y = q, being the n linearly independent generalized coordinates. Then y = q̇ and
F → L. Then (2.65) adopts the following shape:

d ∂L ∂L
− =0 (2.67)
dt ∂ q̇ ∂q

and the definite integral (2.63) is a functional called Action:


 t2
A L(q, q̇, t)dt (2.68)
t1

2.2.2.2 Conservative Systems

Notice, for the particular case where the exogenous generalized forces are given
uniquely from a potential field (with no dissipative effects, nor contact, nor actuators
influences), and after the D’Alembert–Lagrange equation (2.62), the Lagrangian
function in (2.67)–(2.68) becomes

L = K (q, q̇) − U (q), (2.69)

provided that the potential energy does not depend5 on the generalized velocity:
∂U (·)
= 0.
∂ q̇
Lagrangian Function in Contact
On the other hand, a generalized contact force τ C ∈ Rn appears whenever the sys-
tem’s motion is constrained by either holonomic constraints of the form φk (q) = 0 or
non-holonomic constraints of the form φk (q) ≥ 0 or φk (q̇) = 0. For the holonomic
case, the Lagrangian function L is augmented with the constraints themselves and

5 An important example are forces produced by velocity-dependant electric potential fields. For
such cases it is always possible to define a Generalized Potential function Ū such that a Lagrangian
L = K − Ū , would hold using (2.67).
132 2 Classical Mechanics

some Lagrange multipliers with any sign, such that the extended Lagrangian function
takes the following shape, (Arimoto 1995a, b):

Lc = K (q, q̇) − U (q) ∓ φ(q) · λ = L ∓ φ(q) · λ (2.70)

where ⎛ ⎞ ⎛⎞
φ1 (q) λ1
⎜ ⎟ ⎜ ⎟
φ(q) = ⎝ ... ⎠ ∈ Rr , λ = ⎝ ... ⎠ ∈ Rr
φr (q) λr

are the r -dimensional constraint vector representing the r holonomic constraints and
their corresponding Lagrange multipliers, such that Euler–Lagrange equation (2.67)
becomes
d ∂Lc ∂Lc d ∂L ∂L
− = 0, ⇒ − = ±JφT (q)λ
dt ∂ q̇ ∂q dt ∂ q̇ ∂q

with
∂φ(q)
Jφ (q) = ∈ Rr ×n ;
∂q

and the minimizing Action is


 t
A Lc (q, q̇, t)dt
t0

Under this scope it is evident that the generalized contact force is indeed given as

r ) *
∂φk (·)
τC = ±λk = ±JφT (q)λ (2.71)
k=1
∂q

Using the result with positive sign, when compared with D’Alembert–Lagrange
expression, it arise that (2.61) and (2.71) would be equivalent expressions:


r
τC = JkT (q) f ck = JφT (q)λ (2.72)
k=1

Equivalence Between Contact Forces and Lagrangian Multipliers


Equivalences between the contact forces and the Lagrange multipliers can be estab-
lished as follows. First consider that the constraint φ = 0 is a surface in the Euclidean
space for which none of the particles of the system cannot pass through. If a certain
particle k in the system with absolute position d k , is at the constraint, this condition
can be expressed as φk (d k ) = 0. Moreover, since any position in the system can be
characterized with only the generalized coordinates d k = d k (q), then it follows that
2.2 Lagrange Mechanics for Multi-particle Systems 133

the constraint Jacobian of the particle k can be expressed in the following form:
! T $T
∂φk (d k (q)) ∂φk (·) ∂d k (q)
= = JkT (q)nk
∂q ∂d k ∂q

where
∂φk (·)
nk  ∇φk (·) =
∂d k

is a normal vector (not necessarily a unit one) to the constraint surface, at the contact
point d k (q). After last expression equivalence (2.72) means that each contact force
would be:
f ck = λk nk (2.73)

which in turn also means that each contact force at particle k, using Euler–Lagrange
equation is normal to the constraint surface. Since this force is a restrictive one, due
to the virtual work it does not produce any change of energy, and by consequence is
a conservative force; and it does not take account of contact friction.
Equivalently, under these assumptions, after (2.73) each scalar Lagrange multi-
plier can be computed as follows:
⎧  
⎪  fc 
nk ⎨ |λk | = k

λk = f ck · ⇔ nk  (2.74)
nk 2 ⎪
⎩sign(λk ) = sign( f · nk )
ck

from which it can be deduced the following:


1. If the normal vector is a unitary (i.e.nk  = 1) then the Lagrange multiplier is
indeed the magnitude of the contact force at the corresponding point.
2. The sign of every Lagrangian multiplier depends on:
(a) The sign of the contact force itself f ck , where all these forces are consider
to be positive when the environment induces the force to the system, and
negative when is the environment receive the forces from the system.
(b) The sign of the normal vector nk . Although the normal vector of a surface
must, by definition, be positive in the convex direction, it is always possible
to set the constraint function φ(q) = 0 such that the gradient of the surface
points “outwards”, inducing a positive sign in the normal vector nk (See
Fig. 2.5).
(c) The dot product projection of both the contact force and the normal vector.
From properties of the dot product it can be seen that acute angles projections
render a positive sign weather obtuse angles render negative values, and
(d) Finally, it depends on the used sign for the factor φ(q) · λ in the contact
Lagrangian Lc given by (2.70), which determines whether the contact force
is supplied from the environment to the system (negative sign) or supplied
134 2 Classical Mechanics

Fig. 2.5 Spherical surface segment defined as x 2 + y 2 + z 2 = 1 in the positive 3D quadrant. Left:
Restriction defined as φ = x 2 + y 2 + z 2 − 1 = 0 gives outwards gradients. Right: Restriction de-
fined as φ = 1 − x 2 − y 2 − z 2 = 0 gives inwards gradients

by the system to the environment (positive sign), and whether the contact
force attracts to or repulses from the constraint the particles of the system.
Two consequence arise from the above arguments:
1. Equivalences (2.73) and (2.74) are only valid for holonomic constraints of the
form φk (q) = 0, where they induce frictionless (conservative) contact. Then
Euler–Lagrange equation (2.67), with the Lagrangian function in either form
(2.69) or (2.70) represents uniquely the conservative forces of a system.
2. Using the orthogonal decomposition identity (1.105), expressed by Theorem
1.7, the real contact forces f ck that can be expressed more accurately with
D’Alembert–Lagrange equation; being indeed composed by:
+ ,2
a (friction-like) contact tangent component: f ck T = −. n̂k ×/ f ck ; and
a contact normal component: f ck N = n̂k n̂kT f ck ;
. / + ,2
where n̂k n̂kT is a normal projector operator and − n̂k × is a tangent projector
operator, with
nk
n̂k =
nk 

Note that the surfaces’s normal component of the contact force is equivalent
. / to the
T
constraint force that arise from the constraint Lagrangian (2.73), i.e. n̂k n̂k f ck =
λk nk . Then the contact force due to a surface constraint can be written as the
addition of a normal component f ck N and a tangent component f ck T defined as
2.2 Lagrange Mechanics for Multi-particle Systems 135

. / ∂φk (·)
f ck N = n̂k n̂kT f ck = λk nk = λk
∂d k
+ ,2
f ck T = − n̂k × f ck

which renders:
∂φk (·) + ,2
f ck = f ck N + f ck T = λk − n̂k × f ck
∂d k
. / + ,2
More over, note that both orthogonal projectors n̂k n̂kT and − n̂k × , due its
square nature, are independent on the “positive” side of the constraint φk .
Finally, from last expression it arise that the generalized force vector of a multi-
particle system due to the contact with a surface can be written as the addition of
two terms:


r 
r 
r
τC = JkT (q) f ck = JkT (q) f ck N + JkT (q) f ck T
k=1 k=1 k=1

where the first term, models the normal contact force:


r r ) *
∂φk (·)
JkT (q) f ck N = λk = JφT (q)λ
k=1 k=1
∂q

and the second term models the tangent contact forces at the contact points,
i.e. f ck T · nk = 0, such as friction-like forces.
Finally the complete terms of contact force can be decomposed in a conservative
constraint influence and a dissipative friction effects:


r 
r
τC = JkT (q) f ck = JφT (q)λ + JkT (q) f ck T (2.75)
k=1 k=1

2.2.2.3 The General Euler–Lagrange Equation

After the D’Alembert–Lagrange equation (2.62), a modification to the Euler–


Lagrange equation to include non conservative systems is produced, (Goldstein
1950):
d ∂L ∂L
− =τ (2.76)
dt ∂ q̇ ∂q

where the generalized force τ represents the total non-conservative forces and last
expression is widely known as the General Euler–Lagrange equation.
136 2 Classical Mechanics

In particular if the generalized dissipative forces can be written as in (2.57) because


they do dissipate energy from a Rayleigh dissipative function, then (2.76) would adopt
the following shape:
d ∂L ∂L ∂R
− + =τ (2.77)
dt ∂ q̇ ∂q ∂ q̇

where in this last version the generalized force express all exogenous forces but
dissipative and frictionless contacts.

Remark Notice that the solutions of (2.76) or (2.77) does not longer minimize an
Action of the form  t
A L(·)dt
t0

Then these two expressions (2.76) and (2.77) are not Euler–Lagrange equations in
the pure mathematical sense. They are indeed Lagrange equations written in Euler–
Lagrange like form with a Lagrangian function defined as L(q, q̇) = K (q, q̇) −
U (q). 

2.2.3 Properties of Lagrangian Formulation

Both expressions: D’Alembert–Lagrange equation (2.42) and the General Euler–


Lagrange equation (2.77), give rise to Lagrangian Systems. Notice that D’Alembert–
Lagrange equation is physical-based and allows the inclusion of non-holonomic
constraints, while Euler–Lagrange equation is a math-based formulation which is
the solution for the stationary value of a variational definite integral, and does not
allows non-holonomic constraints. Both expressions can be written after definitions
(2.46), (2.56), (2.57) and (2.72) in the the Lagrange formulation form:

H (q)q̈ + C (q, q̇) q̇ + D(·)q̇ + g(q) = τ + τ C (2.78)

The following paragraph lists some of the most relevant properties of the above
expression.

2.2.3.1 Symmetry and Positive Definiteness of the Inertia Matrix

The symmetry and positiveness of the inertia matrix (refer to Property 2.1) H =
H T > 0 means that all the eigenvalues of this matrix are positive and bounded, such
that
0 < λm {H } ≤ H  ≤ λ M {H }

which also means that:


2.2 Lagrange Mechanics for Multi-particle Systems 137

1
λm {H −1 } = >0
λ M {H }

or in other words the existence of H −1 is well posed. This property allows to compute
the system dynamics (defining a function known as the Direct Dynamics) as

q̈ = H −1 (q) (τ − h(q, q̇) + τ C )

where the function

h(q, q̇)  C (q, q̇) q̇ + D(·)q̇ + g(q)

regroups all the nonlinear terms of unconstraint system.


Notice that if the contact forces f ck are known, D’Alembert–Lagrange formula-
tion suits better for computer implementation:
! $

r
q̈ = H −1 (q) τ − h(q, q̇) + JkT (q) f ck
k=1

If on the contrary, the contact forces are unknown, Euler–Lagrange is better,


supplying the algebraic restriction φ(q) = 0. For computer simulation, it is sometime
useful to consider a differential approximation using first or second order derivatives
of the constraint:

φ=0 (2.79a)
φ̇ = Jφ (q)q̇ ≈ 0 (2.79b)
φ̈ = Jφ (q)q̈ + J˙φ (q)q̇ ≈ 0 (2.79c)

then the constraint systems has the following solutions


  0 1−1  
q̈ H (q) −JφT (q) τ − h(q, q̇)
=
λ −Jφ (q) 0 J˙φ (q)q̇ − uφ

where uφ is a numerical stabilizer, (Baumgarte 1972), that renders φ̈ = uφ a stable


dynamic manifold. In (Baumgarte 1972) this stabilizer is proposed as PD-like func-
tion uφ = −D φ̇ − Pφ with proper PD gains such that φ̈ + D φ̇ + Pφ = 0 would
render a bounded constraint φ → 0.

2.2.3.2 Passivity Mapping

The input-output mapping u → y of a dynamic system is said to be passive if the


time integral of the input-output inner product is a time function having a global
minimum, (Ortega et al. 1998). The time integral is called the virtual energy storage
138 2 Classical Mechanics

function and the existence of a global minimum means that this function must be
bounded from below:
 t  t
δW = u, y
dt ≥ −β, ≡ − u, y
dt ≤ β for some β > 0 (2.80)
t0 t0

This property always holds for Lagrangian systems with the exogenous gener-
alized force τ = u as input with the generalized velocity q̇ = y as the the passive
output in the absence of contact forces, (Ortega et al. 1998). In the occurrence of
external contacts, different situations arise and some conditions must prevail in order
to guaranty passivity. To prove the first and show the conditions for the second, lets
prove this property in different stages. For a more profound analysis of passivity
subject, the reader is invited to consult (Ortega et al. 1998; Lozano et al. 2000).
Lemma 2.3 Any Lagrangian system, in the absence of external contact forces, due
to restriction of any kind, fulfils the passivity condition (2.80).
Proof Consider first the inner product q̇, τ
= q̇ · τ and the use of the Lagrangian
formulation (2.78) with τ C = 0:

q̇ T τ = q̇ T H (q)q̈ + q̇ T C (q, q̇) q̇ + q̇ T D(·)q̇ + q̇ T g(q) (2.81)

From the Power Theorem 2.2 (expression (2.54)) it follows that the first two terms
in the right-hand side are indeed:
 
q̇ T H (q)q̈ + C (q, q̇) q̇ = K̇

Also, by virtue of the chain rule and the definition of the gravity vector (2.56), it
follows that the last term can be written as
∂U (q)
q̇ T g(q) = g(q) · q̇ = · q̇ = U̇ (·)
∂q

Then after E(·) = K (·) + U (·), (2.81) becomes

q̇ T τ = Ė(·) + q̇ T D(·)q̇

and the time integral of the above expression yields


 
t t  
q̇, τ
dt = E(t) − E(t0 ) + q̇ T D(·)q̇ dt (2.82)
t0 t0

Since the dissipative term is always positive, last expression becomes


 t
q̇, τ
dt ≥ E(t) − E(t0 ) (2.83)
t0
2.2 Lagrange Mechanics for Multi-particle Systems 139

Finally, rearranging the terms and since the total energy cannot be negative it follows
that  t
q̇, τ
dt + E(t0 ) ≥ E(t) ≥ 0
t0

which leads to the passivity condition (2.80) with β = E(t0 ) > 0. 

Remark
1. Note that last inequality holds regardless the existence of the dissipative terms,
i.e.for conservative systems. In this case expression (2.83) would be an equality.
However the passivity condition (2.80) remains as an inequality.
2. Note also that the skew-symmetry condition C + C T = Ḣ is more restrictive
than the power condition q̇ T C q̇ = 21 q̇ T Ḣ q̇ to prove passivity, since not all of
the Coriolis matrix representations fulfill the skew-symmetry condition but all of
them fulfill the power condition. Then the skew symmetry of the Coriolis matrix
is a sufficient condition but is not a necessary one while the power condition is
indeed sufficient and necessary. 

Passivity in the Occurrence of Contact Force


Although it is possible to develop one single proof for the occurrence of contact
forces, it seems important to separate this in two different parts in order to establish
the importance of the conservative nature of the constraint Lagrangian function of
the form in (2.70), i.e.

Lc = K (q, q̇) − U (q) − φ(q) · λ

A lemma is presented first to prove the passivity mapping for this Constraint La-
grangian. Then the full contact theorem will be established.

Lemma 2.4 (Passivity preservation for holonomic constraints) Any Lagrangian sys-
tem whose equation of motion is determined by the Euler–Lagrange equation with
constraint Lagrangian function of the form in (2.70), where the motion constraints
fulfils φ = 0, preserves passivity if the 1st order derivative of the constrain (2.79b)
vanishes at the contact point:
φ̇ = Jφ (q)q̇ = 0 (2.84)

Proof Consider the Lagrangian formulation (2.78) with contact forces given by
(2.71) (τ C = JφT (q)λ) yielding

H (q)q̈ + C (q, q̇) q̇ + D(·)q̇ + g(q) = τ + JφT (q)λ (2.85)

Then the inner product q̇, τ


= q̇ · τ yields

q̇ T τ = q̇ T H (q)q̈ + q̇ T C (q, q̇) q̇ + q̇ T D(·)q̇ + q̇ T g(q) − q̇ T JφT (q)λ


140 2 Classical Mechanics

The passivity proof for contact on holonomic constraints follows mutatis-mutandis


the proof of Lemma 2.3 until expression (2.82) where it is modified as
  
t t   t  
q̇, τ
dt = E(t) − E(t0 ) + q̇ D(·)q̇ dt +
T
q̇ T JφT (q)λ dt (2.86)
t0 t0 t0

In last expression the last term vanishes, by virtue of condition (2.84):


 
t   t  
q̇ T JφT (q)λ dt = Jφ (q)q̇ · λdt = 0
t0 t0

then it follows that (2.86) yields (2.83) and consequently also leads to the passivity
condition (2.80). 
Remark Last lemma establishes that the contact due to the Constraint Lagrangian
is passive, hence the constraint Lagrangian function Lc = K − U − φ · λ considers
conservative elements of a holonomic surface constraint. 
Finally, we can now establish the overall theorem:
Theorem 2.5 (Passivity preservation for non conservative constraints) Any La-
grangian system with a generalized contact force preserves passivity provided that
the 1st order derivative of the Lagrangian constrain of the form (2.79a), vanishes as
in (2.84):
φ̇ = Jφ (q)q̇ = 0

Proof From (2.75) it arise that the generalized force vector due to contact can be
written as the addition of two terms:


r
τ C = JφT (q)λ + JkT (q) f ck T (2.87)
k=1

where the first term corresponds to an holonomic constraint since it arise from the
constrained Lagrangian, and the second term happens to model the contact friction
forces that are tangent to the constraint surface at the contact points, i.e. f ck T · nk = 0.
Recall that the constraint Jacobian Jφ (q) = [. . . , nk , . . .] has 3D columns vectors
nk = ∂φk (·)/∂d k being normal to the constraint surface, but not necessarily unitary
ones.
Consider that the contact friction forces are of the form (2.23), i.e. f ck T =
+ ,2
n̂k × Dk (·)vk T , with unit vectors n̂k = nnk  and order 3 positive definite Rayleigh
k
dissipative operator Dk (·) > 0 fulfilling the dissipative condition (2.21): f ck T ·
+ ,2
vk T < 0 (notice that the rank deficient operator n̂k × is semidefinite negative.
See (1.99).). Also, the velocity of any k−particle can be computed by expression
(2.25): vk = Jk (q)q̇, and its tangent component (w.r.t. the constraint surface) is
+ ,2
vk T = − n̂k × vk . Then the second term in (2.87) can be written as
2.2 Lagrange Mechanics for Multi-particle Systems 141


r
JkT (q) f ck T = −Dc (·)q̇
k=1

where Dc (·) is a positive semi-definite square matrix:


r
+ ,2 + ,2
Dc (·)  JkT (q) n̂k × Dk (·) n̂k × Jk (q) ≥ 0
k=1

And the generalized contact force can be written as

τ C = JφT (q)λ − Dc (·)q̇

which yields the General expression of Lagrangian systems to be

H (q)q̈ + C (q, q̇) q̇ + D̄(·)q̇ + g(q) = τ + JφT (q)λ (2.88)


D̄(·) = D(·) + Dc (·) ≥ 0

Note that (2.88) has the same form as (2.85) with exception of the augmented damping
matrix D̄(·). Then the passivity proof for real contacts follows the proof of Lemma
2.4, with the use of condition (2.84). Then it follows the passivity condition (2.80)
is met. 

2.2.3.3 Linear Regression for a Non-linear Combination of the


Dynamic Parameters

This property stands that the left-hand side of the Lagrangian formulation (2.78)
can always be expressed as the product of a rectangular matrix Y (q, q̇, q̈) ∈ Rn× p ,
whose elements are non-linear but known functions which depends on the generalized
coordinates q, the generalized velocity q̇ and the generalized acceleration q̈, and a
vector  ∈ R p whose p elements are combinations of the dynamic parameters of
the overall multi-particle system:

H (q)q̈ + C (q, q̇) q̇ + D(·)q̇ + g(q) = Y (q, q̇, q̈)

The matrix Y (q, q̇, q̈) is called the regressor, while the vector  is the dynamic base
parameter. This last vector can have different form or dimension depending on the
chosen combination of overall dynamic parameters. However it has been proven that
the minimal set for multi-body systems composed of N rigid bodies is p = 10N
and is constant. Refer to (Canudas de Wit et al. 1996; Siciliano and Khatib 2008)
for details on the form and construction of these operators. For the particular case of
one single rigid body the corresponding regressor and dynamic base are explained
in Sect. 7.2.3.3.
142 2 Classical Mechanics

2.2.3.4 Bounds on the Overalls Structure

This property stands that the left-hand side of the Lagrangian formulation (2.78) is
bounded uniquely by the generalized velocity and acceleration, with positive scalars
ci > 0, in the following way:

H (q)q̈ + C (q, q̇) q̇ + D (q, q̇) q̇ + g(q) ≤ c0 + c1 q̇ + c2 q̇2 + c3 q̈

This property can be easily shown using the bound in each term in the left-hand
side of the Lagrangian expression (2.78):
1. For the term H (q)q̈ consider the following properties:

x2 = xT x
σi (B)  λi (B T B) ≥ 0
λm (A)x2 ≤ xT Ax ≤ λ M (A)x2

where λi (A) and σi (A) are respectively the eigenvalues and singular values of A,
having both a maximal and minimal value; from which it is deduced that

Bx2 = xT B T Bx ≤ λ M (B T B)x2 = σ M (B)x2


2
⇒ Bx ≤ σ M (B) x

Since the inertia matrix is symmetric and positive definite, it is true

σ M (H (q)) = λ2M (H (q))

which yields
H (q)q̈ ≤ λ M (H )q̈

and the c3 constant can be set to

c3 = max{λ M (H (q))} > 0 ∀ q


q

2. For the Coriolis term C (q, q̇) q̇ consider expression (2.52), and notice that it can
be written as, (Kelly et al. 2005):
⎛ ⎞
..
⎜ T . ⎟
C (q, q̇) q̇ = ⎜ ⎟
⎝ q̇ Ck (q)q̇ ⎠
..
.
2.2 Lagrange Mechanics for Multi-particle Systems 143

where the elements of each symmetric matrix Ck = CkT are indeed the Christoffel
symbols of the first kind, defined after (2.53):
+ ,
Ck (q) i, j = ci jk (q) = c jik (q)

Then, the norm of the Coriolis vector is bounded as follows:


3 3
4 n 4 n  2
4  T 2 4
C (q, q̇) q̇ = 5 q̇ Ck (q)q̇ ≤5 λ M {Ck (q)} q̇2
k=1 k=1

From which the c2 constant can be set to


⎧3 ⎫
⎨4
4n ⎬
c2 = max 5 λ2M {Ck (q)} > 0 ∀ q
q ⎩ ⎭
k=1

3. For the Damping term D (·) q̇, the bound follows in the same way it comes for
the inertia term. This means the use of Theorem 1.5 which yields

D(·)q̇ ≤ λ M (D)q̇

and the c1 constant can be set to

c1 = max{λ M (D(·))} > 0 ∀ (q, q̇)


q,q̇

4. Finally, the constant value c0 arise from the gradient of the potential function as

g ≤ c0 , c0 > 0

2.2.4 Final Comments

The Euler–Lagrange equation, expressed by (2.67), has a larger mathematical sense,


since the Lagrangian function L may represent any function on the variables x, y, y  .
This equation is indeed the solution for which the Action integral functional (2.68) has
an stationary value. Other external influences can be introduced as long as they can
be expressed within the Lagrangian function like holonomic constraint. Therefore
when the Lagrangian function represents a mechanical system, this can only include
holonomic constraints. Additionally, if some other external influences are introduced
through the modified version (2.76) called General Euler–Lagrange equation, this
last equation does not guaranty to be de solution for the stationary value of the Action
integral functional.
144 2 Classical Mechanics

On the other hand the D’Alembert–Lagrange equation (2.42), arisen from


D’Alembert’s principle (dynamic version of Virtual Work) is valid only for multi-
particle systems in which each particle has a constant mass; and the equation allows
the inclusion of any kind of external forces, including non-holonomic constraints
(unilateral constraints) or dissipative forces. But is only valid for mechanical sys-
tems.
The equivalence between these two approaches is given directly for conservative
systems where the Lagrangian function is the difference of the kinetic and potential
energy, which means that the variational principle reduces the difference of these
energies, or equivalently the power flow from one kind of energy to the other.
Note that to express the Lagrangian formulation, either by D’Alembert–Lagrange
or Euler–Lagrange, neither angular momentum nor torque definitions have been
needed. These quantities arise for [rigid] bodies analysis when lumped dynamic
parameters are used in order to decrease the number of particle’s equations. These
terms and some other will be discussed in Chap. 5.
Finally, Lagrangian formulation suits nicely for multi-body systems, but para-
doxically its physical meaning becomes quite complicated for one single rigid body.
This is due to the rotation motion of a rigid body which is more easily expressed
by Euler’s 2nd law of motion, also known as the Euler Equation of motion. This
equation needs the inclusion of the Inertia Tensor which is the way how the kinetic
energy of all the body’s particles is expressed in lumped parameters for rotational
motions. This particular notion is also developed in Chap. 5.
Part II
Free Motion of Single Rigid Body
Chapter 3
Rigid Motion

The rigid motion refers to the motion of rigid bodies. This means the use of Galileo
transformations to describe the displacement of a body with respect to a given ref-
erence frame, and a rotations from which both linear and angular velocities can
be derived. These expressions are needed in the Newtonian formulation since the
dynamic expression needs the inertial expression (with respect to an inertial frame)
of the first and the second time derivatives of the position for every single particle in
a body.
The position of a frame is defined as the position of its origin w.r.t. the origin of
a reference frame, expressed with coordinates of the reference frame.
For the example on Fig. 3.1 is d, where g is the origin of frame 1 . As for the
attitude or orientation, the set of variables that describes this is not a unique expression
as in the case of position. As it will be shown in the next sections, the attitude variables
can be parameterized with at least three parameters, but can also be expressed with
more than those. The attitude parameter vector is described in following section of
the Rotation Matrix.

3.1 Translations

Let 0 be a right-handed reference frame defined with the unit vectors i, j and
k along the Cartesian axes x0 , y0 and z 0 of 0 . Let 1 be a different right-handed
reference frame defined with the same unit vectors along the axes x1 , y1 and z 1 whose
origin is placed at a distance d ∈ R3 with coordinates dx , d y , dz from the origin of
0 . Since both frames used the same unit vectors this means that both frames are
parallel, and that each pair of axes x, y, and z have the same direction, as shown in
Fig. 3.2.

© Springer Nature Switzerland AG 2019 147


E. Olguín Díaz, 3D Motion of Rigid Bodies, Studies in Systems,
Decision and Control 191, https://doi.org/10.1007/978-3-030-04275-2_3
148 3 Rigid Motion

Fig. 3.1 Reference frames associated with 3D free moving rigid body

Fig. 3.2 Frame translation

Consider any point p in space, whose coordinates w.r.t. 0 would be


⎛⎞
px
p = px i + p y j + pz k = ⎝ p y ⎠ ∈ R3
pz

or when expressed w.r.t. 1 would be


⎛ ⎞
rx
r = r x i + r y j + r z k = ⎝ r y ⎠ ∈ R3
rz
3.1 Translations 149

It is simple to see that from vector addition the coordinates of vector p can be
computed as ⎛ ⎞ ⎛ ⎞ ⎛ ⎞
px dx rx
p = d + r ≡ ⎝ py ⎠ = ⎝ dy ⎠ + ⎝ r y ⎠
pz dz rz

Which is known as the translation transformation or Galilean Transformation.

Remark Notice that this transformation is not a linear one since it does not fulfill the
superposition principle. 

Definition 3.1 (The translation director vector λT ) The translation director vector
λT ∈ R3 express the direction of a Cartesian translation d in R3 . If d = d is the
magnitude of this translation distance, then the translation director vector is defined
as a unit vector
d
λT  (3.1)
d

such that d = λT d

3.2 Rotations

For simplicity consider a pure rotation motion were there is no displacement of the
origin of the mobile frame w.r.t. the base one as shown in Fig. 3.3.
Let 0 be a right-handed reference frame defined with the unit vectors i 0 , j 0 and
k0 along respectively to the Cartesian axes x0 , y0 and z 0 of 0 . Let 1 be also a
different right-handed reference frame rigidly attached to a body B, defined with
unit vectors i 1 , j 1 and k1 along the axes x1 , y1 and z 1 .
Any point p in the body has the same physical properties as position, velocity
and acceleration regardless wether it is expressed in one frame or another. Let p be
the vector representing the position of the point p from the common origin 0; and let

Fig. 3.3 Pure rotation of a


Rigid body over the origin of
both base frame and body’s
frame
150 3 Rigid Motion

p(0) and p(1) be the coordinates expressions of this vector p in frames 0 and 1 ,
respectively as follows:


p0 x
p(0) = p0x i 0 + p0 y j 0 + p0z k0 = ⎝ p0 y ⎠ ∈ R3
p0 z
⎛ ⎞
p1 x
p(1) = p1x i 1 + p1 y j 1 + p1z k1 = ⎝ p1 y ⎠ ∈ R3
p1 z

The relationship that exists between these two vectors can be found by calculating
the orthogonal components of each representation along the unit axes of either frame.
For example, the component of p along the x-axis of the frame 0 (coordinate p0x )
can be obtained by the projection of vector p, in either coordinates expression, with
the unit vector along this axis: i 0 as follows:

p0 x = p · i 0

If the coordinate vector p(0) is used the result is trivial. However if its coordinates
vector equivalent p(1) is used instead, last expression yields:

p0x = p(1) · i 0 = p1x i 1 · i 0 + p1 y j 1 · i 0 + p1z k1 · i 0 (3.2)

Performing the same procedure over the components in y0 and z 0 yields to:

p0 y = p(1) · j 0 = p1x i 1 · j 0 + p1 y j 1 · j 0 + p1z k1 · j 0 (3.3)


(1)
p0 z = p · k 0 = p1 x i 1 · k 0 + p1 y j 1 · k 0 + p1 z k 1 · k 0 (3.4)

Expressions (3.2)–(3.4) mean a linear transformation for the coordinates p(1) of the
canonical basis of 1 to the coordinates p(0) of the canonical basis of 0 . This
coordinates transformation can be written as:

p(0) = R01 p(1) (3.5)

where R01 is the Rotation Matrix from frame 0 to frame 1 , and it is the linear
transformation that transforms coordinate vectors expressed in a frame 1 to their
equivalent vector whose coordinates belong to frame 0 :

R01 : 1 → 0

From expressions (3.2), (3.3) and (3.4) it is defined as:


3.2 Rotations 151
⎡ ⎤
i 1 · i 0 j 1 · i 0 k1 · i 0
R01  ⎣ i 1 · j 0 j 1 · j 0 k1 · j 0 ⎦ (3.6)
i 1 · k0 j 1 · k0 k1 · k0

In the same way, a rotation matrix R10 : 0 → 1 can be found using the same
arguments, i.e. the projections of p(1) along the the unit vectors of 0 as follows:

p1x = p(0) · i 1 = p0x i 0 · i 1 + p0 y j 0 · i 1 + p0z k0 · i 1


p1 y = p(0) · j 1 = p0x i 0 · j 1 + p0 y j 0 · j 1 + p0z k0 · j 1
p1z = p(0) · k1 = p0x i 0 · k1 + p0 y j 0 · k1 + p0z k0 · k1

Or in matrix form as
p(1) = R10 p(0) (3.7)

with a transformation operator (Rotation matrix) computed as follows


⎡ ⎤
i 0 · i 1 j 0 · i 1 k0 · i 1
R10  ⎣ i 0 · j 1 j 0 · j 1 k0 · j 1 ⎦
i 0 · k1 j 0 · k1 k0 · k1

Property 3.1 From equations (3.5) and (3.7) it is evident that matrix R10 is the inverse
−1
of R01 : R10 = (R01 ) . Even more, since the dot product of two vectors is commutative,
T
i.e. a · b = b · a, it follows that R10 = (R01 ) . Then every rotation matrix, denoted as
R is an orthonormal matrix (see Definition 1.53):

R −1 = R T (3.8)

Property 3.2 For right-handed coordinates systems, the determinant of the rotation
matrix is
|R| = 1 (3.9)

Property 3.3 From construction, the columns vectors and the row vectors of any
rotation matrix R are unit magnitude and mutually orthogonal.
⎡ ⎤
n1T
R = [r 1 , r 2 , r 3 ] = ⎣ n2T ⎦ (3.10)
n3T

where the column vectors r i ∈ R3 , and the row vectors ni ∈ R3 fulfill the orthonor-
mal conditions:
152 3 Rigid Motion

0 if i = j, (orthogonal condition)
ri · r j = (3.11)
1 if i = j, (normal condition)

0 if i = j
ni · n j = (3.12)
1 if i = j

Property 3.4 Properties (3.11)–(3.12) together with (3.9) can also be expressed in
terms of the cross product of either their column vectors:

r1 × r2 = r3 (3.13a)
r2 × r3 = r1 (3.13b)
r3 × r1 = r2 (3.13c)

or their row vectors:

n1 × n2 = n3 (3.14a)
n2 × n3 = n1 (3.14b)
n3 × n1 = n2 (3.14c)

Proof From the cross product definition (1.91), the cross product of two vectors
r 1 , r 2 ∈ R3 is also a vector r 1 × r 2 = a ∈ R3 which is also orthogonal to both orig-
inal vectors with magnitude equal the the area of the parallelogram defined by these
vectors: a = r 1 r 2  sin(α), where α is the angle between vectors r 1 and r 2 .
If these argument vectors are mutually orthogonal as expressed by (3.11), the angle
α = π/2 [rad]. Also, by condition (3.11), the magnitude of the cross product is a
unit vector a = 1. Again from the orthogonal condition, there are only two unit
vectors being orthogonal to vectors r 1 and r 2 at the same time: ±r 3 . Finally, for
right-handed frames, the cross product i × j = k > 0 is positive while the cross
product j × i = −k < 0 is negative, which proves that expression (3.13a) is the one
to be true and corresponds to a right-handed frame.
The same procedure, performed over expressions (3.13b) through (3.14c) proves
the rest of the property. 

Orthogonal matrices of positive unit determinant, known as rotation matrices, are


commonly referred by the symbol S O(n) which stands for Special Orthogonal of
order n. For the Euclidean space n = 3 and so these rotation matrices use the symbol
S O(3):
R ∈ S O(3)

Property 3.5 (Rotation as a Similarity Transformation) One of the most important


properties of the cross product operator is given by the following expression:

R[a×]R T = [(Ra) ×] (3.15)


3.2 Rotations 153

Which means that [(Ra) ×] is a similar matrix of [a×]; and both are CPO.

Proof Consider that vector a = a(B) ∈ R3 is expressed in coordinates of an arbitrary


frame  B and the Rotation Matrix R ∈ S O(3) is such that it transforms the coordi-
nates to a different frame  A : a(A) = Ra. Consider also a different 3D vector b ∈ R3
with coordinates in either frame such that the following cross product holds:

a(A) × b(A) = R(a × b)

Developing both sizes, last equation yields:



a(A) × b(A) = R[a×]b
[(Ra)×] b(A) = R[a×]R T Rb
= R[a×]R T b(A)

Then (3.15) holds. 

3.2.1 Attitude’s Degrees of Freedom

As it has been notice in last section, the attitude (orientation) of an arbitrary frame
with respect to another is expressed in a unique way by the rotation matrix between
these two frames. Then nine elements are necessary to express this attitude:
⎡ ⎤
r11 r12 r13
R= ⎣ r21 r22 r23 ⎦
r31 r32 r33

On the other hand, by definition, the degrees of freedom is the minimal number of
independent variables that are needed to describe a configuration. Then the minimal
number of elements that are needed to describe the attitude (and to construct the
rotation matrix) are the attitude’s degrees of freedom. The question to find those
attitude’s degrees of freedom is: how many independent variables are needed to obtain
the nine elements of the rotation matrix? It is clear that if there are no restrictions
in the way these nine elements are obtained, the minimal number would be nine.
However there are indeed some restrictions given by the properties of the rotation
matrix.

Theorem 3.1 (Attitude Degrees of Freedom) The degrees of freedom of any non-
inertial reference to express uniquely its attitude is 3.

Proof Considering any rotation matrix that maps coordinates of any non-inertial
frame to an inertial one. This matrix is composed with 9 elements where they must
fulfil 6 independent equations given by (3.11). It follows straightforward that there
154 3 Rigid Motion

should be only 3 independent variables that together with these restrictions express
all the elements of that rotation matrix. 
These three (3) independent variables, represents the degrees of freedom for the
attitude of any frame with respect to any other:
⎡ ⎤ ⎛ ⎞
r11 (θ) r12 (θ) r13 (θ) α
R(θ) = ⎣ r21 (θ) r22 (θ) r23 (θ) ⎦ ∈ S O(3) θ = ⎝β ⎠
r31 (θ) r32 (θ) r33 (θ) γ

Definition 3.2 (Attitude Representation) Any set1 of variables θ used to describe the
attitude of a reference frame is called attitude parameter vector and its components
are the attitude parameters. Each set is a particular way to express the attitude of the
same frame and is known as Attitude Representation.
Because the degrees of freedom are the minimal number of independent variables
that are needed to represent the attitude, the orientation cannot be expressed with
less than three attitude parameters.

dim(θ) = m, m ≥ 3

Representations that use more than 3 parameters are said to be redundant, and they
need m − 3 restrictions in order to keep the independence of the 3 DoF.
In any case, the unique solution for the attitude of a frame is given only with the
complete rotation matrix R(θ) ∈ S O(3). Their elements ri j (θ) can be calculated out
from the specific set of attitude parameters and viceversa (See Chap. 4 for common
examples).
A more elegant demonstration of Theorem 3.1 is to demonstrate that the matrix
⎡ ⎤⎡ ⎤−1 ⎛ ⎞
1 −c b 1 c −b a
R(θ) = ⎣ c 1 −a ⎦ ⎣ −c 1 a ⎦ θ = ⎝ b ⎠ ∈ R3
−b a 1 b −a 1 c

constructed only out of 3 independent variables a, b, c has an inverse matrix equal


to its transpose. I.e. R −1 = R T , then R ∈ S O(3) is a Rotation Matrix. This demon-
stration can be constructed with properties (A.34), (A.35a), (A.36) and (A.39), given
in Appendix A.

3.2.2 Basic Rotations

A basic rotation is defined as a rotation around one single Cartesian axis. For example,
consider Fig. 3.4, and let 1 be a frame rotated an angle ψ about the z-axis, with

1 There is a big number of different attitude parametrization.


3.2 Rotations 155

⎡ ⎤
cψ −sψ 0
Rz,ψ = ⎣ sψ cψ 0 ⎦ ∈ SO(3) (3.16)
0 0 1

Fig. 3.4 Basic rotation about z-axis, an angle ψ

the right-hand convention for the positiveness of angles. Since in this basic rotation
z 0 and z 1 are the same direction, it is of no concern about which one of them the
rotation is performed, while the dot products between the unit vectors is as follows:

i 1 · i 0 = cos ψ j 1 · i 0 = − sin ψ k1 · i 0 = 0
i 1 · j 0 = sin ψ j 1 · j 0 = cos ψ k1 · j 0 = 0
i 1 · k0 = 0 j 1 · k0 = 0 k1 · k0 = 1

Then, using the following notation cx = cos x and sx = sin x the rotation matrix
R01 : 1 → 0 becomes the Rotation Matrix Rz,ψ of an angle ψ ∈ [−π, π] = S
about the z-axis.
In the same manner, a basic rotation R y,θ of an angle θ ∈ S about the y-axis can
be constructed using Fig. 3.5 as

i 1 · i 0 = cos θ j1 · i0 = 0 k1 · i 0 = − sin θ
i1 · j0 = 0 j1 · j0 = 1 k1 · j 0 = 0
i 1 · k0 = sin θ j 1 · k0 = 0 k1 · k0 = cos θ

yielding the basic rotation matrix about the y-axis.


Finally a basic rotation Rx,φ of an angle φ ∈ S about the x-axis arise after the
same procedure, using Fig. 3.6.

i1 · i0 = 1 j1 · i0 = 0 k1 · i 0 = 0
i1 · j0 = 0 j 1 · j 0 = cos φ k1 · j 0 = − sin φ
i 1 · k0 = 0 j 1 · k0 = sin φ k1 · k0 = cos φ

Remarks
• Notice that due to orthogonal condition of Rotation matrices the external product
of their column/row vectors satisfies (Property 1.17):
156 3 Rigid Motion

⎡ ⎤
cθ 0 sθ
Ry,θ = ⎣ 0 1 0 ⎦ ∈ SO(3) (3.17)
−sθ 0 cθ

Fig. 3.5 Basic rotation about y-axis, an angle θ

⎡ ⎤
1 0 0
Rx,φ = ⎣ 0 cφ −sφ ⎦ ∈ SO(3) (3.18)
0 sφ cφ

Fig. 3.6 Basic rotation about x-axis, an angle φ


3
R R T = r 1 r 1T + r 2 r 2T + r 3 r 3T = r i r iT = I
i=1


3
R T R = n1 n1T + n2 n2T + n3 n3T = ni niT = I
i=1

Then, due to the square product property (1.991), the CPO of the same vectors
fulfills the following identity


3
[r 1 ×]2 + [r 2 ×]2 + [r 3 ×]2 = [r i ×]2 = −2I (3.19)
i=1


3
[n1 ×]2 + [n2 ×]2 + [n3 ×]2 = [ni ×]2 = −2I (3.20)
i=1
3.2 Rotations 157

Fig. 3.7 Comparison of complex rotations performed on base frame, current frame and inverting
the order of the basic rotations

• Notice that canonic basis vectors are eigenvectors of a rotation matrix about them-
selves:

Rx,φ i = i; (3.21a)
R y,θ j = j ; (3.21b)
Rz,ψ k = k (3.21c)

3.2.3 Composed Rotations

The orientation or attitude of a body is normally more complicated than just single
rotations about the main axes. One way to view this problem is to think that any
rotation is made by successive basic rotations. However, the order of this basic
rotations can give completely different attitudes (See Fig. 3.7). Even more, the frame
to which this basic rotations are performed is crucial: It is very different to perform
basic rotations about axes of the base frame (extrinsic rotations) than perform them
about axes on the current rotated frames (intrinsic rotations).
158 3 Rigid Motion

In Fig. 3.7, it is shown how the order of rotation can lead to a different attitude.
More over, the frame in which this rotations are performed also influences the final
result. In the figure the first and second rotations are performed about axes of the
base frame (extrinsic rotations) while the third is performed with basic rotations
about axes on each current frame i.e. while moving (intrinsic rotations).

Remark It is remarkable to see that inverting both: the order of rotations and the
intrinsic/extrinsic order the final attitude results in the same (see first and third cases).
Then for extrinsic rotations (performed relative to the fixed frame) the final rotation
matrix is made on by the same basic matrices as for intrinsic rotations (performed
relative to current frames) but with reversed order. 

Recall Fig. 3.3 with all its elements: frames 0 , 1 and point p. Let 2 be a third
frame, arbitrarily chosen. Then p can also be represented in this frame as p(2) . Then
there should exist two rotation matrices R02 ∈ S O(3) and R12 ∈ S O(3) which make
true the next couple of equations.

p(1) = R12 p(2) (3.22a)


(0) (2)
p = R02 p (3.22b)

Using (3.22a) into the compact form of (3.5), it yields

p(0) = R01 R12 p(2) (3.22c)

Notice that in expression (3.22a) the rotation matrix R12 is defined relative to frame
1 and not to the base frame 0 . Hence, comparing Eqs. (3.22c) and (3.22b) it can
be obtained the identity product matrix for intrinsic rotations (relative to the current
frames):
R02 = R01 R12 (3.23)

Equivalently, since extrinsic rotations needs inversion in the performed basic rota-
tions, the identity product matrix for extrinsic rotations (relative to the base frame)
becomes
R02 = R12 R01 (3.24)

For example, successive basic rotations about the following explicit order x-y-z
would yield to a composed rotation:

extrinsic rotations: R = Rz,ψ R y,θ Rx,φ


intrinsic rotations: R = Rx,φ R y,θ Rz,ψ

Remark Notice after expression (3.22a), (3.22b) and (3.22c) that: for any two arbi-
j
trary reference frames i and  j related with a rotation matrix Ri produced when
frame i is reoriented to become parallel to  j , the coordinates transformation of
any vector v from one frame to another follows the following rule:
3.2 Rotations 159

v (i) = Ri v ( j)
j
(3.25)

Since the attitude of a reference frame, w.r.t. another frame (indeed its rotation
matrix), can be computed from at least 3 variables, it would be natural to use 3
different basic rotations. It becomes rapidly evident that there is not a unique solution
for the problem of finding a set of variables that represent a 3D rotated frame. This is
because one can always perform arbitrarily the order and axes’ frames about which
these basic rotations are performed. It can be proven easily that there are only 12
different combinations of basic rotations:

1. x − y − z 3. y − x − z 5. z − y − x
2. x − z − y 4. y − z − x 6. z − x − y
7. x − y − x 9. y − x − y 11. z − x − z
8. x − z − x 10. y − z − y 12. z − y − z

Any combination of basic rotations about main axes has three independent angles
called Euler angles, and the basic rotations can be performed either all in the
base frame (extrinsic parametrization), all in the currently rotating frames (intrinsic
parametrization), or else a combination. Since last possibility leads to a very cum-
bersome calculations it is not used. So it can be seen that in practice there are 24
different ways of representing a Rotation matrix with 3 independent Euler angles;
12 extrinsic combinations for a fixed-frame-based rotations and 12 intrinsic combi-
nations for current-frame-based rotations. Details on these 24 combinations can be
found in Craig (1986). Notice that the first 6 combinations in the table above uses each
a single rotation about different axis, while the last 6 repeat the first rotation in the
third place. Combination with repeated axis are also called symmetric while different
axis combination are often called Tait-Bryant or Cardan angles parameterizations,
Shuster (1993).

Fig. 3.8 ϑ rotation about an arbitrary axis λ


160 3 Rigid Motion

3.2.4 The Euler Theorem of Rotations

Theorem 3.2 (Euler Theorem of Rotations Goldstein 1950) The general displace-
ment of a rigid body with one point fixed is a Rotation about some axis

The Euler Theorem of Rotations is equivalent as the following proposition:

Lemma 3.1 In any Rotation matrix R ∈ S O(3) there is at least one positive unit
magnitude eigenvalue as λ = +1.

Proof Consider that a pure rotation is achieved when a rotated frame 1 has per-
formed a rotation angle ϑ along a given direction. Consider also that this direction is
defined by a direction vector λ, as shown on Fig. 3.8. To perform a backward rotation,
then the moving frame 1 must perform the negative angular rotation −ϑ in the very
same direction λ. In consequence, regardless of the magnitude of the rotation angle
ϑ, the rotation axis λ should have the same coordinates in either reference frame:
λ(0) = λ(1) . Hence, the rotation equation λ(0) = Rλ(1) yields

λ(0) = R T λ(0) or λ(1) = Rλ(1) (3.26)

Which can be written in the form of the definition of the eigenvalues λi :

Rλ = λi λ (3.27)

Comparing (3.26) and (3.27) it follows that at least one of the three eigenvalues of
the rotation matrix is the unit λ1 = 1, and then, the motion of the frame is given
solely by a rotation above λ. 

Corollary 3.1 A first corollary is that the eigenvector of R corresponding to the unit
eigenvalue is the unit direction vector
⎛ ⎞
λx
λ = ⎝ λy ⎠ ⇒ λ = 1
λz

about which the rotation is made.

Proof It follows straightforward from expression (3.27). 

Corollary 3.2 The second corollary of this lemma is that the two remnant eigenval-
ues of R are conjugate complex numbers of unit magnitude.

Proof To prove the last corollary, it shall be demonstrated that the magnitude of the
eigenvalues is 1. Then the two remanent eigenvalues are conjugates since the the
determinant of a Rotation matrix is +1 and is also |R| = i=13
λi , the multiplication
of all the eigenvalues, and there is already one being λ1 = 1.
3.2 Rotations 161

Fig. 3.9 The pair of rotation


(λ, ϑ): representing a
rotation angle ϑ about an
arbitrary axis λ

To prove unit magnitude of all the eigenvalues, suppose that two of them are
complex, and their corresponding eigenvectors as well:

Rx 2 = λ2 x 2 , Rx 3 = λ3 x 3 ; ∀ R ∈ S O(3), λ2,3 ∈ C, x 2,3 ∈ C3

The square product of the magnitude of such complex vectors x = (x x , x y , x z )T is


given as
x2 = x ∗ · x = |x x |2 + |x y |2 + |x z |2

that remains unchanged when expressed in either frame, i.e: x ∗ (0) · x (0) = x ∗ (1) · x (1) .
Then the square of the magnitude of the rotated vectors Rx2 can be computed as

Rx2 = x ∗ · x = λ∗ x ∗ · λx = λ∗ λ x ∗ · x

From which it follows that the magnitude λ∗ λ = 1 which proves that the remaining
eigenvalues are complex conjugates with unit magnitude. 

3.2.4.1 Axis/Angle Representation

The rotation from frame 0 to frame 1 can also be expressed as a single rotation
ϑ ∈ [−π, π] about an arbitrary axis (see Fig. 3.9), defined by unit vector λ ∈ R3 , as
stated in Euler Theorem of Rotations 3.2.
The corresponding Rotation matrix can be calculated performing basic rotations
in such a way that the axis λ is oriented in any of the main axes, then perform the
ϑ angle rotation and then undo the rotations in order to reinstall the axis λ to its
original position. The example of Fig. 3.9 suggest to perform this in the following
way:

1. A rotation R y,−α around the y-axis an angle −α such that the axis λ is in the y-z
plane.
2. A rotation Rx,β around the x-axis an angle β to align λ with the z-axis.
3. A rotation Rz,ϑ about this axis an angle ϑ.
4. A backward rotation Rx,−β = Rx,β T
to reinstall the λ at the y-z plane.
162 3 Rigid Motion

5. A last backward rotation R y,α = R y,−α


T
to reinstall λ.
Because all rotations are performed relative to the base frame, the resulting matrix
is:

R  R y,α R x,−β Rz,ϑ R x,β R y,−α


⎡ 2 + s 2 s 2 )c + s 2 c2 s s c (1 − c ) − c c s 2 ⎤
(cα α β ϑ α β α β β ϑ α β ϑ sβ sϑ + sα cα cβ (1 − cϑ )
⎢ cβ2 cϑ + sβ2 cα sβ cβ (1 − cϑ ) − sα cβ sϑ ⎥
= ⎣ sα sβ cβ (1 − cϑ ) + cα cβ sϑ ⎦
2
sα cα cβ (1 − cϑ ) − sβ sϑ cα sβ cβ (1 − cϑ ) + sα cβ sϑ (sα2 + cα 2 s 2 )c + c2 c2
β ϑ α β
(3.28)

which is dependent on only three independent angle variables α, β, and ϑ, which


can be written as coordinates of 3D variable attitude parameter vector:
⎛ ⎞
α
θ ep = ⎝β ⎠ ∈ S3 ⇒ R = R(θ ep )
ϑ

Notice that a more elegant and simple expression results if the following trigono-
metric relationships for angles α and β arising also after Fig. 3.9:

λx λz
sα = sin(α) =  cα = cos(α) = 
λ2x + λ2z λx + λ2z
2
 
λy λ2x + λ2z
sβ = sin(β) = = λy cβ = cos(β) = = λ2x + λ2z
λ λ

Then after some algebra the rotation matrix (3.28) becomes


⎡ ⎤
λ2x (1 − cϑ ) + cϑ λx λ y (1 − cϑ ) − λz sϑ λx λz (1 − cϑ ) + λ y sϑ
Rλ,ϑ = ⎣ λx λ y (1 − cϑ ) + λz sϑ λ2y (1 − cϑ ) + cϑ λ y λz (1 − cϑ ) − λx sϑ ⎦
λx λz (1 − cϑ ) − λ y sϑ λ y λz (1 − cϑ ) + λx sϑ λ2z (1 − cϑ ) + cϑ
(3.29)
or in a succinctly way as

Rλ,ϑ = λλT (1 − cϑ ) + I cϑ + [λ×]sϑ (3.30)

where now the Rotation matrix is dependent on four parameters, referred in this
text as the Euler parameters representation, which can be parameterized in a single
vector:
⎛ ⎞
ϑ  
⎜ λx ⎟ ϑ

θr p  ⎝ ⎠ =⎟ ∈ S × R3 ⇒ R = R(θr p ) = R(ϑ, λ) (3.31)
λy λ
λz
3.2 Rotations 163

Remarks
• The pair (ϑ, λ) is known as the pair of rotation.
• The pair of rotation is a redundant representation because the dimension of θr p
is grater than 3. In order to maintain three independent variables (3 degrees of
freedom), a restriction is needed, which is no other than the unit magnitude of the
direction vector:
λ · λ = λT λ = λ2 = 1 (3.32)

• The Rotation matrix (3.30)


can
 be rewritten using property (1.991) with the unit
vector λ = a = b, i.e. λλT = I + [λ×]2 , as

Rλ,ϑ = I + [λ×] sϑ + [λ×]2 (1 − cϑ ) (3.33)

• Any of the three expressions (3.29), (3.30), or (3.33) is known as the Euler’s
Formula (Shuster 1993). Notice that they all need a unit vector λ in order the
determinant of R = 1 and they all fulfil (3.27).
• The four elements of the pair of rotation are also referred by some texts as the Euler
parameters (not to be confused with the Euler angles. See Chap. 4). However it
seems that Euler defined the rotation axis with only two direction cosines, then
expressing a Rotation with only three independent parameters: α, β and ϑ, as in
(3.28). 

3.2.4.2 The Exponential Mapping

Definition 3.3 (The Rotation Vector) The rotation vector is defined as a three dimen-
sion expression of the four axis/angle parametrization:

ϑ  λ ϑ ∈ R3 (3.34)

Theorem 3.3 (The exponential mapping of R) Any rotation matrix R can be com-
puted as the exponential matrix of the cross product operator of a rotation vector
when the director vector λ fulfils the unit magnitude constraint (3.32):

R = e[ϑ×] = e[λ×]ϑ ∈ S O(3) (3.35)

Proof Lets consider the definition of the exponential matrix e A (see (1.32)) as an
infinite series:
 ∞
An
eA =
n=0
n!

Then the exponential matrix e[λ×]ϑ can be expressed as


164 3 Rigid Motion


 [λ×]n ϑn
e[λ×]ϑ =
n=0
n!

which after extension and using the property (1.99o), and known that λ = 1, the
exponential of [λ×]ϑ yields to the so-called Rodrigues’ Formula (Murray et al.
1994):
   
ϑ ϑ3 ϑ5 ϑ7 ϑ2 ϑ4 ϑ6 ϑ8
e [λ×]ϑ
= I + [λ×] − + − + ··· + [λ×]2 − + − + ···
1 3! 5! 7! 2! 4! 6! 8!

= I + [λ×] sin ϑ + [λ×]2 (1 − cos ϑ) (3.36)

which happens to be the same as expression (3.33). Then it follows straightforward


that expression (3.35) holds. 

Remarks
• Although Expression (3.36) is referred as the Rodrigues’ formula, there is a general
expression for the exponential mapping of the cross product operator, presented
as the property (1.99s). The complete proof is shown in Annexe A under Property
A.13, Eq. (A.19).
• Due to this Rodrigues’ formula, some authors refer to the pair (λ, ϑ) as the Euler-
Rodrigues parameters. However other authors use the same term Euler-Rodrigues
for a different parametrization related with unit quaternions. For a depth survey on
the subject consult (Shuster 1993). To avoid misunderstandings in this work this
parametrization is refered as the pair of rotation.
• In Sect. 1.3.2.1 it has been established that the set SS(3) [a×] containing all
CPO is a Lie algebra associated to the Lie Group G e[a×] containing all the CPO
exponentials. Since, after Theorem 3.3, this Lie group is S O(3) R containing
all the 3D rotation matrices, the Lie algebra containing all CPOs is denoted so(3),
Murray et al. (1994):
[a×] ∈ so(3) (3.37)

The versed sine function Notice that 1 − cos(θ) is indeed the versed sine: versin(θ)
(from the Latin sinus versus) which is a now-a-days seldom used trigonometric func-
tion defined as the cosine complement to the unit circumference (refer to Fig. 3.10),
and which guards a close relationship with half the angle function, Wikipedia (2013):
Notice that the now-a-days more common function sine is formally known as the
L:sinus rectus (vertical sine). The name L:versed sinus of flipped sine arise naturally
from Fig. 3.10 where both functions sine and versine are respectively the vertical
and horizontal distances of point C to the unit circumference. This function has also
been called arrow or L:sagitta, where the bow is played by the circumference arc
AD B and the chord is played by the line AB.
3.2 Rotations 165

versin(θ) 1 − cos(θ) (3.37)


θ
= 2 sin2
2

Fig. 3.10 Scheme of the trigonometric functions of an angle θ in a unit circle, Wikipedia (2013)

Fig. 3.11 Rigid motion transformation

With the use of the versine function (versin(θ) = vers(θ) = vθ ), the three Euler’s
Formula expressions: (3.29), (3.30), or (3.33), as well as the Rodrigues’ formula
(3.36) are all simplified.

3.3 The Rigid Motion Kinematics

The Cartesian position d p of any point p in the body B as shown in Fig. 3.11, is the
addition of the position d of the body plus the relative position r p of point p with
respect to the geometric point g.
Although the position of the frame 1 is normally expressed with base frame coor-
dinates, the relative position of p is generally expressed with local frame coordinates,
mostly when this is constant in this frame. To calculate correctly this position in the
base frame, the next correction shall be performed to the Galileo Transformations,
166 3 Rigid Motion

leading to the Rigid Motion Transformation:

d (0)
p = d
(0)
+ R(θ)r (1)
p (3.38)

The above expression, in order to simplify its notation, is often written without
the coordinates indices upon each element is expressed as follows:

d p = d + Rr p (3.39)

Definition 3.4 (Special Euclidean Group) The pair (R, d) define a spacial group
called Special Euclidean Group of order 3, which together express a rigid motion
composed by a translation and a rotation. S E(3) = R3 × S O(3), hence

(R, d) ∈ S E(3)

It is simple to deduce that the linear velocity of point p can be obtained by the
time derivative of (3.39) as follows:

ḋ p = ḋ + Ṙr p + R ṙ p (3.40)

This section discusses last equation and higher order of time derivatives. Special
attention is given to the time derivative of the rotation matrix Ṙ. The rate of change
of this rotation expresses the rate of change of attitude, and consequently the angular
velocity, ω, of a reference frame.

3.3.1 The Angular Velocity

If the attitude is expressed by a small set of attitude parameters θ, their time derivatives
shall express somehow this angular velocity. Then which set of attitude representa-
tion (e.g. any set of Euler angles or quaternions) express the angular velocity with
their derivatives? The answer to this question should take in count that the angular
velocity vector is unique, whether it is expressed in the inertial frame or body’s frame,
regardless of which attitude representation has been chosen.
To simplify the analysis of angular velocity, lets study the problem with a pure
change in the attitude without displacements, i.e. ḋ = 0. Take the example of Fig. 3.3,
where both frames has the same origin and suppose that the body B is moving with
a angular velocity ω ∈ R3 , and let R(t) = R(θ(t)) ∈ S O(3) be the instantaneous
rotation matrix from frame 0 to frame 1 at an instant t, so that the position of
point p at that instant is
d (0)
p = R(t)d p
(1)
(3.41)

Then the instantaneous linear velocity of point p is given by the time derivative
of last expression as
3.3 The Rigid Motion Kinematics 167

(0) (1)
ḋ p = Ṙ(t)d (1)
p + R(t) ḋ p

= Ṙ R T d (0)
p (3.42)

(1)
where ḋ p = 0 because it is defined relative to the frame attached to the body, hence
constant. It is evident that the linear velocity of point p in (3.42) must depend on the
angular velocity ω of the body because it only rotates. The question: How are the
rotation matrix and the angular velocity related? arise. To answer this question lets
consider the following facts

1. Since R(t) is orthonormal, it is true that R R T = I , whose time derivative yields


expression: Ṙ R T + R Ṙ T = 0, from which it is clear that the product Ṙ R T ∈
SS(3) is a skew symmetric matrix of order 3. These matrices can only be expressed
by 3 independent variables.
The same happens for the product R T R = I ⇒ R T Ṙ ∈ SS(3)
2. The basic rotations about the main axes: Rx,φ , R y,θ and Rz,ψ , given by expressions
(3.16) through (3.18), give rise to the specific time derivatives:
⎡ ⎤ ⎡ ⎤
0 0 0 −sθ 0 cθ
Ṙx,φ = φ̇ ⎣ 0 −sφ −cφ ⎦ ; Ṙ y,θ = θ̇ ⎣ 0 0 0 ⎦ ;
0 cφ −sφ −cθ 0 −sθ
⎡ ⎤
−sψ −cψ 0
Ṙz,ψ = ψ̇ ⎣ cψ −sψ 0 ⎦ ;
0 0 0

for which the products fulfil Ṙ R T = R T Ṙ, and give rise to the three infinitesimal
rotation generators, Goldstein (1950):
⎡ ⎤ ⎡ ⎤
00 0 0 01 
Mx  ⎣ 0 0 −1 ⎦ = [i×]; My  ⎣ 0 0 0 ⎦ = j × ;
01 0 −1 0 0
⎡ ⎤
0 −1 0
Mz  ⎣ 1 0 0 ⎦ = [k×]
0 0 0

such that:
T
Ṙx,φ Rx,φ = Rx,φ
T
Ṙx,φ = Mx φ̇ = [i×]φ̇; (3.43a)

T
Ṙ y,θ R y,θ = R y,θ
T
Ṙ y,θ = M y θ̇ = j × θ̇; (3.43b)
T
Ṙz,ψ Rz,ψ = T
Rz,ψ Ṙz,ψ = Mz ψ̇ = [k×]ψ̇ (3.43c)

3. The time derivative of a Rotation matrix, comes from the basic definition of the
time derivative of any time function:
168 3 Rigid Motion

R(t + t) − R(t)


Ṙ = lim (3.44)
t→0 t

4. Successive rotations in time, also fulfills multiplication rules:

R(t + t) = R(t) R(t) For base-referenced rotations


= R(t) R(t) For current-referenced rotations

The angular velocity generalization follows after considering the existence of an


infinitesimal small rotation matrix, which is equivalent to an infinitesimal rotation
vector (3.34), having the following form:

ϑ = λ ϑ

where ϑ is an infinitesimal small angle variation which renders

sin(ϑ) ≈ ϑ
cos(ϑ) ≈ 1
versin(ϑ) ≈ 0

Then, according to Euler’s formula (3.33), the infinitesimal rotation matrix corre-
sponding to an infinitesimal time variation would be

R(t) = R(ϑ) = R(λ, ϑ) = I + [λ×]ϑ


= I + [ϑ×]

Property 3.6 Notice that in contrast to finite Rotations, infinitesimal Rotations com-
mute with a Rotation matrix and with another infinitesimal Rotation:

R(ϑ1 )R(ϑ2 ) = R(λ, ϑ1 + ϑ2 ) (3.45)


R(λ, ϑ)R(ϑ) = R(ϑ)R(λ, ϑ) (3.46)

Proof Expression (3.45) follows straight-forward because the high order terms of
the CPO are neglected in the infinitesimal rotations.

R(ϑ1 )R(ϑ2 ) = [I + [λ×]ϑ1 ] [I + [λ×]ϑ2 ]


= I + [λ×]ϑ1 + [λ×]ϑ2 + [λ×]2 ϑ1 ϑ2

= I + [λ×](ϑ1 + ϑ2 )

Expression (3.46) follows form the fact that the product R(t)[ϑ×] is indeed com-
mutative:
3.3 The Rigid Motion Kinematics 169
 
R(t)[ϑ×] = [λ×] + [λ×]2 sϑ + [λ×]3 (1 − cϑ ) ϑ = [ϑ×]R(t)
 
= [λ×](1 − (1 − cϑ )) + [λ×]2 sϑ ϑ
 
= [λ×]cϑ + [λ×]2 sϑ ϑ

Then the product in (3.46) becomes

R(λ, ϑ)R(ϑ) = R + R[ϑ×] = R + [ϑ×]R = R(ϑ)R(λ, ϑ)

After last expressions, the time derivative of any Rotation matrix given by (3.44)
becomes:
Ṙ = R(t)[ξ×] = [ξ×]R(t) (3.47)

where

ξ = lim ∈ R3
t→0 t

is a 3 dimension vector that must be unique and represent the time variation of the
attitude regardless of the parametrization of the Rotation Matrix.
Finally, consider (3.47) and the product:

Ṙ R T = R(t)[ξ×]R T = [ξ×]

After property (3.15) (i.e. R[a×]R T = [(Ra)×]), last expression means that the
unique vector ξ must have coordinates on both, base and current frames such that
the following expression holds:
  
R(t) ξ (1) × R T = (Rξ (1) )× = ξ (0) × (3.48)

Then the angular velocity definition arise as follows:


Definition 3.5 (Angular velocity) The angular velocity ω ∈ R3 of a rotation frame
with respect to another is a 3D vector that fulfills the following conditions:

Ṙ R T = ω (0) × in base frame coordinates (3.49a)

R T Ṙ = ω (1) × in current frame coordinates (3.49b)

Example 3.1 Consider expression (3.33) whose time derivative is


   
Ṙ = λ̇× sϑ + [λ×]cϑ ϑ̇ + [λ×] λ̇× + λ̇× [λ×] vϑ + [λ×]2 sϑ ϑ̇
 
   
= [λ×] cϑ + [λ×]2 sϑ ϑ̇ + λ̇× sϑ + [λ×] λ̇× vϑ + λ̇× [λ×] vϑ
(3.50)
170 3 Rigid Motion

On the other hand, since the directional vector λ is defined to be unitary, its time
derivative λ̇ has the the property of being orthogonal to the rotation direction, which
arise after the time derivation of expression (3.32):

λ · λ̇ = λT λ̇ = 0 (3.51)

Then the product Ṙ R T , after proper reduction, using (A.15), (A.17), (3.32), and
(3.51) yields:
 
Ṙ R T = [λ×]cϑ + [λ×]2 sϑ I − [λ×]sϑ + [λ×]2 vϑ ϑ̇
 
   
+ λ̇× sϑ + [λ×] λ̇× vϑ + λ̇× [λ×]vϑ I − [λ×]sϑ + [λ×]2 vϑ
   
= [λ×] ϑ̇ + λ̇× sϑ + λ × λ̇ × vϑ

Finally, after (3.49a) the angular velocity expression in base frame coordinates
for the Euler parameter representation arise as:
 
ω (0) = λϑ̇ + λ̇sϑ + λ × λ̇ vϑ (3.52)

Example 3.2 In the same way as in the previous example, the product R T Ṙ, after
proper reduction using again (A.15), (A.17), (3.32), and (3.51), yields:
    
R T Ṙ = [λ×] ϑ̇ + λ̇× sϑ − λ × λ̇ × vϑ = ω (1) ×

Then after expression (3.49b) i.e.: R T Ṙ = ω (1) × , the angular velocity expres-
sion with local coordinates for the Euler parameter representation arise as
 
ω (1) = λϑ̇ + λ̇sϑ − λ × λ̇ vϑ (3.53)

Remarks
(0)
• With the use of (3.49a), expression (3.42) (i.e. ḋ p = Ṙ R T d (0)
p ) becomes the
classical vector product expression
(0)
ḋ p = ω (0) × d (0)
p

• If frame 0 is an inertial frame (i.e. it does not posses any acceleration), the
angular velocity ω (0) is the absolute angular velocity of frame 1 , expressed in the
inertial frame. The angular velocity ω (1) is the same absolute angular velocity but
expressed with the local frame 1 coordinates, fulfilling the following coordinates
transformation:
ω (0) = Rω (1) (3.54)
3.3 The Rigid Motion Kinematics 171

• Equations (3.49a) and (3.49b) are useful to express the time derivative of the
rotation matrix as either of the following expression:

Ṙ = [ω (0) ×]R (3.55a)


(1)
= R[ω ×] (3.55b)

• The CPO [ω×] of the angular velocity ω = ωx i + ω y j + ωz k, can be expressed


as a linear combination of the infinitesimal rotation generators:

[ω×] = ωx Mx + ω y M y + ωz Mz

Then infinitesimal rotation generators form a matrix basis for every CPO.
• Notice that if λ̇ = 0 then the  λ, λ̇ and λ × λ̇ form a basis (but not
three vectors
a normal one) on R3 : E  λ, λ̇, λ × λ̇ . 

3.3.1.1 General Expression for the 3D Angular Velocity

In the more general case, the angular velocity can be computed out of the components
of a Rotation Matrix and their time derivatives as expressed by the next

Theorem 3.4 (Angular Velocity) For any Rotation Matrix R01 ∈ S O(3) that
expresses the attitude of a frame 1 with respect to base frame 0 , and parame-
terized by an attitude parameter vector θ ∈ Rm (with m ≥ 3), when written in either
column vectors or row vectors as:
⎡ T ⎤
  n1 (θ)
R(θ) = r 1 (θ), r 2 (θ), r 3 (θ) = ⎣ n2T (θ) ⎦ (3.56)
n3T (θ)

its components and their time derivatives define the angular velocity ω 1/0 of frame
1 with respect to the base frame 0 , by any of the following expressions with inertial
coordinates:
1 !
ω (0)
1/0 = r 1 × ṙ 1 + r 2 × ṙ 2 + r 3 × ṙ 3 (3.57a)
2
⎛ ⎞
n2 · ṅ3
= ⎝ n3 · ṅ1 ⎠ (3.57b)
n1 · ṅ2
⎛ ⎞
n3 · ṅ2
= − ⎝ n1 · ṅ3 ⎠ (3.57c)
n2 · ṅ1
⎛ T ⎞
n ṅ − n3T ṅ2
1 ⎝ 2T 3
= n ṅ1 − nT ṅ3 ⎠ (3.57d)
2 n3T ṅ − n1T ṅ
1 2 2 1
172 3 Rigid Motion

or any of the following expressions with local coordinates:

1 !
ω (1)
1/0 = − n1 × ṅ1 + n2 × ṅ2 + n3 × ṅ3 (3.58a)
⎛2 ⎞
r 3 · ṙ 2
= ⎝ r 1 · ṙ 3 ⎠ (3.58b)
r 2 · ṙ 1
⎛ ⎞
r 2 · ṙ 3
= − ⎝ r 3 · ṙ 1 ⎠ (3.58c)
r 1 · ṙ 2
⎛ T ⎞
r ṙ − r 2T ṙ 3
1 ⎝ 3T 2
= r ṙ 3 − r T ṙ 1 ⎠ (3.58d)
2 r 1T ṙ − r 3T ṙ
2 1 1 2

Proof First consider that from the orthonormal properties (3.11)–(3.12) of any Rota-
tion Matrix, the dot product of any two column or row vectors is constant, and in
consequence it arise that

d(r i · r j )
= ṙ i · r j + r i · ṙ j = 0
dt
d(ni · n j )
= ṅi · n j + ni · ṅ j = 0
dt
From which it is deduced that
"
−r Tj ṙ i if i = j
r i · ṙ j = r iT ṙ j = (3.59a)
0 if i = j
"
−niT ṅ j if i = j
ni · ṅ j = niT ṅ j = (3.59b)
0 if i = j

Secondly consider the expression (3.56) of the rotation matrix with column vectors
and row vectors, whose time derivative can be expressed as Ṙ = [ṙ 1 , ṙ 2 , ṙ 3 ], or
Ṙ T = [ṅ1 , ṅ2 , ṅ3 ]. Then the angular velocity expressions (3.49a) and (3.49b) can be
written respectively as:
⎡ T⎤ ⎡ ⎤
(0)  ṅ1 0 −n1T ṅ2 n3T ṅ1
ω × = Ṙ R T = ⎣ ṅ2T ⎦ [n1 , n2 , n3 ] = ⎣ n1T ṅ2 0 −n2T ṅ3 ⎦ (3.60a)
ṅ3T
−n3 ṅ1 n2 ṅ3
T T
0
⎡ T⎤ ⎡ ⎤
(1)  r1 0 −r 2 ṙ 1 r 1 ṙ 3
T T

ω × = R T Ṙ = ⎣ r 2T ⎦ [ṙ 1 , ṙ 2 , ṙ 3 ] = ⎣ r 2T ṙ 1 0 −r 3T ṙ 2 ⎦ (3.60b)
r3 T
−r 1 ṙ 3 r 3 ṙ 2
T T
0
3.3 The Rigid Motion Kinematics 173

from which expressions (3.57b), (3.57c), (3.58b) and (3.58c) arise straightforward
after the CPO definition (1.98). Then, expressions (3.57d)–(3.58d) are indeed the
average versions of expressions (3.57b)–(3.57c) and (3.58b)–(3.58c) respectively.
Thirdly, considering the coordinates transformations ω (0) = R ω (1) and ω (1) =
T (0)
R ω , using the average expressions (3.57d)–(3.58d) the angular velocity can be
written as follows:

ω (0) = R(r i ) ω (1) (r i , r˙i ) = [r 1 , r 2 , r 3 ] ω (1) (r i , r˙i )


1 !
= [r 3 r 2T − r 2 r 3T ]ṙ 1 + [r 1 r 3T − r 3 r 1T ]ṙ 2 + [r 2 r 1T − r 1 r 2T ]ṙ 3 (3.61a)
2

ω (1) = R T (ni ) ω (0) (ni , ṅi ) = [n1 , n2 , n3 ] ω (0) (ni , ṅi )


1 !
= − [n3 n2T − n2 n3T ]ṅ1 + [n1 n3T − n3 n1T ]ṅ2 + [n2 n1T − n1 n2T ]ṅ3
2
(3.61b)

Finally, using the CPO dyadic difference property (1.99q) (see also property (A.22)),
i.e. abT − ba T = −[(a × b)×] = [(b × a)×], ∀ a, b ∈ R3 , within the cross prod-
uct expressions (3.13a)–(3.14c) of the orthonormal restrictions of R it arise de fol-
lowing equivalences:

r 3 r 2T − r 2 r 3T = [(r 2 × r 3 )×] = [r 1 ×]
r 1 r 3T − r 3 r 1T = [(r 3 × r 1 )×] = [r 2 ×]
r 2 r 1T − r 1 r 2T = [(r 1 × r 2 )×] = [r 3 ×]
n3 n2T − n2 n3T = [(n2 × n3 )×] = [n1 ×]
n1 n3T − n3 n1T = [(n3 × n1 )×] = [n2 ×]
n2 n1T − n1 n2T = [(n1 × n2 )×] = [n3 ×]

that when replaced in expressions (3.61a) and (3.61b) they yield the angular velocity
expressions (3.57a) and (3.58a), respectively. 

Remark The angular velocity of a moving frame with local coordinates is usually
expressed as ⎛ ⎞
p
ω (1) = ⎝ q ⎠ ∈ R3
r

This notation dates probably before (Kirchhoff 1869) where the explicit expression
is given as the negative value of expression (3.57c), with scalar elements.
174 3 Rigid Motion

3.3.1.2 The Attitude Differential Kinematics

The angular velocity ω 1/0 ∈ R3 of a non inertial frame 1 is a unique 3D vector


whose coordinates can be given with respect any frame (for example either the base
frame 0 or the non inertial one 1 ). On the other hand, any attitude parameter vector
θ expresses the attitude of the same frame 1 with respect to 0 , and can be very
different from one representation to another.
Two conclusions arise from the this observation:
1. The angular velocity and the time derivatives of any attitude parameter vector
cannot be the same:
ω = θ̇

2. The angular velocity shall have some relationship with the time derivative of
attitude parameter vector ω = ω(θ, θ̇).

Definition 3.6 (Attitude Kinematic Operator) Given the angular velocity ω of a


non-inertial frame 1 , expressed with coordinates of an arbitrary reference frame i
(either local or base ones), it can be written in the following form:

ω (i) = i Jθ (θ) θ̇ (3.62)

where the operator i Jθ (θ) : θ̇ → ω (i) that maps the time derivative of any m-
dimension attitude representation to the 3D angular velocity vector with coordinates
of the chosen frame can be computed as

∂ω (i)
i
Jθ (θ)  ∈ R3×m (3.63)
∂ θ̇
and is called Attitude Kinematic Operator; expression (3.62) is called the attitude
kinematics of frame 1 for which the angular velocity belongs.

Remark Notice that there should exist at least two of these attitude kinematic oper-
ators, a base one: 0Jθ (θ) and a local one: 1Jθ (θ) such that
1
Jθ (θ) = R T (θ) 0Jθ (θ) (3.64)

Some common attitude representations θ’s and their corresponding angular velocity
mappings are presented in Chap. 4. 

Example 3.3 For the Euler parameter representation, i.e. the axis/angle (3.31), the
angular velocity expressions are given by (3.52) and (3.53):
 
ω (0) = λϑ̇ + λ̇sϑ + λ × λ̇ vϑ
 
ω (1) = λϑ̇ + λ̇sϑ − λ × λ̇ vϑ
3.3 The Rigid Motion Kinematics 175

Then the Attitude Kinematic Operators for this representation would take, after
(3.63), the following forms:

0
Jθ (θr p ) = λ I sϑ + [λ×] vϑ (3.65)
⎡ ⎤
λx sϑ −λz vϑ λ y vϑ
= ⎣ λ y λz vϑ sϑ −λx vϑ ⎦ ∈ R3×4
λz −λ y vϑ λx vϑ sϑ

1
Jθ (θr p ) = λ I sϑ − [λ×] vϑ (3.66)
⎡ ⎤
λ x sϑ λz vϑ −λ y vϑ
= ⎣ λ y −λz vϑ sϑ λx vϑ ⎦ ∈ R3×4
λz λ y vϑ −λx vϑ sϑ

The Analytic Attitude Kinematic Operator

Lemma 3.2 Consider the rotation matrix of a moving frame w.r.t. another whose
vectors can be expressed as in (3.56), with smooth enough time derivatives. Then,
regardless of the attitude parametrization of the moving frame, the following identi-
ties always hold:

∂ ri ∂ ṙ i
= = −[r i (θ)×] 0Jθ (θ); (3.67a)
∂θ ∂ θ̇
∂n j ∂ n˙j 
= = n j (θ)× 1Jθ (θ) (3.67b)
∂θ ∂ θ̇
Proof First notice that for any row or column vector of the rotation matrix we have:

∂ ri ∂n j
ṙ i (θ, θ̇) = θ̇; ṅ j (θ, θ̇) = θ̇;
∂θ ∂θ

which have the form of expression (1.63) and fulfill condition (1.65) (i.e. ∂ r i /∂ θ̇ = 0
and ∂n j /∂ θ̇ = 0), and thus complies with properties (1.66). Then each Jacobian of
the column/row vectors of a rotation matrix fulfills

∂ ṙ i (θ, θ̇) ∂ r i (θ) ∂ ṅi (θ, θ̇) ∂ni (θ)


after(1.66b) : = ; = ∈ R3×m (3.68a)
∂ θ̇ ∂θ ∂ θ̇ ∂θ
∂ r˙i d ∂ ri ∂ ṅ j d ∂n j
after(1.66c) : = ; = ∈ R3×m (3.68b)
∂θ dt ∂θ ∂θ dt ∂θ
Second, notice that the time derivatives of the same column/row vectors arise after
(3.49a)–(3.49b) as
  
Ṙ = ṙ 1 ṙ 2 ṙ 3 = ω (0) × R = R ω (1) ×
 
Ṙ T = ṅ1 ṅ2 ṅ3 = − ω (1) × R T
176 3 Rigid Motion

which means

ṙ i = ω (0) × r i = −r i × ω (0) ; ṅ j = −ω (1) × n j = n j × ω (1) (3.69a)



= −[r i ×] Jθ (θ) θ̇
0
= n j × 1Jθ (θ) θ̇ (3.69b)

Finally, expressions (3.67) arise directly after (3.68a) and (3.69b). 

Theorem 3.5 (Analytical Attitude Kinematic Operator) Some possible Attitude


Kinematic Operators, for any attitude parametrization θ ∈ Rm (for m = {3, 4}), are
found to be the 3 × m rectangular matrices:
 
1 ∂ r 1 (θ) ∂ r 2 (θ) ∂ r 3 (θ)
0
Jθ (θ)  [r 1 (θ)×] + [r 2 (θ)×] + [r 3 (θ)×]
2 ∂θ ∂θ ∂θ
(3.70a)
 
1 ∂n 1 (θ) ∂n 2 (θ) ∂n 3 (θ)
1
Jθ (θ)  − [n1 (θ)×] + [n2 (θ)×] + [n3 (θ)×]
2 ∂θ ∂θ ∂θ
(3.70b)

fulfilling (3.62).

Proof It follows straight-forward after definition (3.63), angular velocity expressions


(3.57a) and (3.58a), and equivalence (3.68a).

Example 3.4 Using the Rotation matrix expression (3.33) and the general solution
(3.70a), an Analytical Attitude Kinematic Operator takes the following shape:

0
Jθa (θr p ) = sϑ [I + λλT vϑ ] + [λ×] vϑ , λ (3.71)

which differs from (3.65) by the term sϑ [λλT vϑ ]. However notice that by virtue
of (3.51), i.e. λT λ̇ = 0, the product 0Jθa (θr p )θ̇r p = ω (0) fulfils (3.52). Hence, the
operator (3.71) is an Attitude Kinematic Operator.
If on the other hand, the Rotation matrix expression (3.30) is used instead, another
Analytical Attitude Kinematic Operator takes the following different shape:

0
Jθ b (θr p ) = sϑ [I − λλT vϑ ] + [λ×] vϑ , λ (3.72)

which now differs from (3.65) by the term −sϑ [λλT vϑ ], but whose product 0Jθ b (θr p )
θ̇r p = ω (0) also fulfils (3.52). Hence, operator (3.72) is also an Attitude Kinematic
Operator.
Remark From the equivalence (3.64) and expressions (3.70) it arise an alternative
form for the Attitude Kinematic Operator, which is consistent with the angular veloc-
ity expression (3.57d):
3.3 The Rigid Motion Kinematics 177
⎡ ⎤
n1T 
∂r1 ∂r2 ∂r3 ⎢ ⎥ ∂n1 ∂n2 ∂n3
[r 1 ×] + [r 2 ×] + [r 3 ×] = − ⎣n2T ⎦ [n1 ×] + [n2 ×] + [n3 ×]
∂θ ∂θ ∂θ ∂θ ∂θ ∂θ
n3T
⎡ ⎤ ⎡ ∂n ∂n3 ⎤
2
(n1 × n2 )T ∂n 2
+ (n × n ) T ∂n3 n3T − n2T
⎢ ∂θ 1 3 ∂θ ⎥ ⎢ ∂θ ∂θ ⎥
⎢ ⎢ ∂n ∂n1 ⎥
3 ⎥
= − ⎢ (n2 × n1 )T ∂n + (n2 × n3 )T ∂n ⎥ = −⎢ ⎥
3
1
⎢ n1T − n3T
⎣ ∂θ ∂θ ⎦ ⎣ ∂θ ∂θ ⎥⎦
(n3 × n1 )T ∂n T ∂n2 ∂n1 ∂n2
∂θ + (n3 × n2 ) ∂θ
1
n2T − n1T
∂θ ∂θ

Theorem 3.6 (Attitude Kinematic Operator Identity) The following attitude kine-
matic identities always hold, regardless of the attitude parametrization of the moving
frame:

∂ω (0) 
= 0J˙θ − ω (0) × 0Jθ ∈ R3×m (3.73a)
∂θ
∂ω (1) 
= 1J˙θ + ω (1) × 1Jθ ∈ R3×m (3.73b)
∂θ
Proof First consider the rotation matrix of a moving frame w.r.t. another whose
vectors can be expressed as in (3.56):
⎡ ⎤
 n1T (θ)

R(θ) = r 1 (θ), r 2 (θ), r 3 (θ) = ⎣ n2T (θ) ⎦
n3T (θ)

with smooth enough time derivative variables such that the rotation matrix elements
fulfils (3.68). Also the angular velocity of the moving frame can be written indistinctly
by expressions (3.57)–(3.58) or (3.62).
Then notice that the time derivatives of the Jacobians of the rotation column/row
vectors arise after expressions (3.67):

d ∂ ri
= −[ṙ i ×] 0Jθ − [r i ×] 0J˙θ
dt ∂θ
d ∂n j  
= n˙j × 1Jθ + n j × 1J˙θ
dt ∂θ
which after the use of expressions (3.69a) and the CPO Lie bracket property (1.99p),
they yield:

d ∂ ri   
= [r i ×] ω (0) × 0Jθ − 0J˙θ − ω (0) × [r i ×] 0Jθ (3.74a)
dt ∂θ
d ∂n j     
= n j × ω (1) × 1Jθ + 1J˙θ − ω (1) × n j × 1Jθ (3.74b)
dt ∂θ
178 3 Rigid Motion

Also after expressions (3.69a), the following Jacobians arise to be:

∂ ṙ i ∂ω (0)  ∂ ri
= − [r i ×] + ω (0) × ; (3.75a)
∂θ ∂θ ∂θ
∂ n˙j  ∂ω (1) (1)  ∂n j
= nj× − ω × (3.75b)
∂θ ∂θ ∂θ
Then the difference of the last two expressions (3.74) and (3.75) can be simplified
using (3.67) yielding:
 
d ∂ ri ∂ ṙ i (0)  0 0˙ ∂ω (0)
− = [r i ×] ω × Jθ − Jθ +
dt ∂θ ∂θ ∂θ
 (1) 
d ∂n j ∂ n˙j  (1)  1 1˙ ∂ω
− = n j × ω × Jθ + Jθ −
dt ∂θ ∂θ ∂θ

Which must all be zero after property (1.66c)/(3.68):


 
(0)  0 0˙ ∂ω (0)
[r i ×] ω × Jθ − Jθ + =0 (3.76a)
∂θ
 
  ∂ω (1)
n j × ω (1) × 1Jθ + 1J˙θ − =0 (3.76b)
∂θ

Finally, although each CPO (cross product operator [·×] ∈ so(3)) is a rank deficient
matrix, there are three orthogonal vectors r i or n j on the Rotation matrix such that
the right multiplying term in the above expressions shall always be zero, arising
identities (3.73). 

Remarks
• Notice that the angular velocity vectors after expression (3.62):

ω (i) (θ, θ̇) = i Jθ (θ) θ̇

have the form of expression (1.63), but contrary to the column/row vectors of a
rotation matrix there is no vector
#
σ(θ, θ̇) = ω(θ, θ̇) dt

that complies with condition (1.65):

∂σ(θ, θ̇)
= 0
∂ θ̇
and in consequence, as stated by Theorem 1.3, the difference
3.3 The Rigid Motion Kinematics 179

∂ω (0) d ∂ω (0) ∂ω (0)


− = − 0J˙θ = Q 0 ;
∂θ dt ∂ θ̇ ∂θ
∂ω (1) d ∂ω (1) ∂ω (1)
− = − 1J˙θ = Q 1
∂θ dt ∂ θ̇ ∂θ

must be (non zero) null space projectors of θ̇: Q 0 θ̇ = 0 and Q 1 θ̇ = 0.


After identities (3.73) these null space projectors arise to be

Q 0 = − ω (0) × 0Jθ = − Ṙ R T 0Jθ = − Ṙ 1Jθ ;

Q 1 = − ω (1) × 1Jθ = −R T Ṙ 1Jθ = −R T Q 0

Then it arise that

Ṙ 1Jθ θ̇ = Ṙω (1) = 0; Ṙ T ω (0) = 0

• Notice that the time derivative of the attitude kinematic operators can be computed
after (3.68b) and (3.70) as follows:

3 " $ 3 " $
0˙ 1 ∂ ri d ∂ ri 1 ∂ ri ∂ ṙ i
Jθ (θ) = [ṙ i ×] + [r i ×] = [ṙ i ×] + [r i ×]
2 ∂θ dt ∂θ 2 ∂θ ∂θ
i=1 i=1
3 " $ 3 " $
1˙ 1 ∂ni d ∂ni 1 ∂ni ∂ ṅi
Jθ (θ) = − [ṅi ×] + [ni ×] =− [ṅi ×] + [ni ×]
2 ∂θ dt ∂θ 2 ∂θ ∂θ
i=1 i=1

3.3.2 The Coriolis Effect

High order derivatives of any vector a ∈ R3 , expressed in a non inertial frame have
different results if the time variation is computed in the inertial frame and then
transformed to the non inertial one or if it is computed in the non inertial frame
directly. ⎧ " $(1) ⎫ ⎧ " $
⎪ = d  a(0) 



⎪ ⎪
⎪ ⎪ d  (1) 

⎨ ⎪ ⎪ a
dt" $⎬ ⎨ dt
(1)
ȧ = d   = d  

⎪ = RT a(0) ⎪ ⎪ ⎪
⎪ = R T a(0)

⎪ ⎪
⎪ ⎪ dt
⎩ dt ⎭ ⎩= R T (0)
ȧ + Ṙ T a(0)
= R T ȧ(0)

The equivalence is easy ti found using the time derivative of the frame equivalence
equation:
a(0) = Ra(1)
180 3 Rigid Motion

and either of the time derivative equation (3.55a) or (3.55b):

d (1)
ȧ(0) = Ṙa(1) + R a
dt
d
= R[ω (1) ×]a(1) + R a(1)
 dt 
d (1)
=R a + ω (1) × a(1) (3.77)
dt

Equation (3.77) explains why a virtual compensation (The coriolis effect) must be
introduced when the time derivative of any vector is not expressed with coordinates
of an inertial (non accelerating) frame.

3.3.2.1 The Angular Acceleration

Angular acceleration can be obtained by differentiating the angular velocity expres-


sion (3.54), i.e. ω (0) = R ω (1) as:

α  ω̇ (0) = R ω̇ (1) + Ṙω (1)


 
= R ω̇ (1) + ω (1) × ω (1)
= R ω̇ (1) (3.78)

Remark The angular acceleration does not need any compensation to be calculated
in either frame. However it does need the rotation matrix to be expressed from one
frame to another.
However time derivatives of angular acceleration does need frame transformation
compensation. 

3.3.3 The Linear Velocity and Acceleration

3.3.3.1 The Linear Velocity

Coming back to the general case of Fig. 3.11, the linear velocity of any point of the
body is given by equation (3.40) as

ḋ p = ḋ + Ṙr p (3.79a)

where the term R ṙ p has been omitted because the position r p is constant in body’s
frame (i.e. ṙ p = 0). Replacing Ṙ using either (3.55a) or (3.55b) yields to
3.3 The Rigid Motion Kinematics 181

ḋ p = ḋ + [ω (0) ×]Rr p = ḋ + ω (0) × r (0)


p w/ inertial frame coordinates
(3.79b)
 
= Rv + R[ω (1) ×]r p = R v + ω × r p w/ local frame coordinates (3.79c)

where the terms


(1)
v  ḋ = R T ḋ (3.80a)
(1) (0)
ωω =R ω T
(3.80b)

stand for the linear velocity of the geometric point g of the body (the origin of body’s
frame 1 ) and the angular velocity of the body (body’s frame angular velocity)
respectively, both expressed in the body’s frame. Equation (3.79c) is the Coriolis
equation that express the absolute velocity of the point p with inertial frame coordi-
nates.

Remark The linear velocity of a moving frame with local coordinates is usually
expressed as ⎛ ⎞
u
v = ⎝ v ⎠ ∈ R3
w

This notation dates probably before (Kirchhoff 1869) where the explicit expression
of (3.80a) is given in scalar form. 

3.3.3.2 The Linear Acceleration

Linear acceleration can be obtained by differentiating equation (3.79c) as


   
d̈ p = R v̇ + ω̇ × r p + R[ω×] v + ω × r p
 !
= R v̇ + ω̇ × r p + ω × v + ω × ω × r p (3.81)

where each term is known as:

v̇ Apparent acceleration (of pointg)


ω̇ × r p Tangential acceleration (at p)
 ω × v Coriolis acceleration (of the non-inertial reference1 )
ω × ω × rp Centripetal acceleration (at p)

Remark The acceleration v̇ is not the real acceleration of origin point g. The real
(inertial) one is d̈ expressed in either the inertial or in the local frame, expressed as
182 3 Rigid Motion

d̈ = R v̇ + Ṙv = R (v̇ + ω × v) (3.82a)


(1)
d̈ = R T d̈ = v̇ + ω × v (3.82b)

This means that the apparent acceleration v̇ of a non-inertial frame has to be


“compensated” by an additional term is order to obtain the real (inertial) acceleration
d̈. This compensation is indeed the so-called Coriolis acceleration. 

3.3.4 Kinematic Equations

The kinematic equations are all the mathematical relationships that express corre-
lation from different ways to express motion variables such as position, attitude,
velocities or acceleration.
The differential kinematic equations of a rigid body expresses the transforma-
tion of the inertial position and attitude parameters derivatives to linear and angular
velocities, expressed in either inertial or local frame.
Notice in particular that θ̇ = ω (0) ; however, in Sect. 3.3.1 a relationship is given in
(3.62) by the operator 0Jθ (θ) ∈ R3×m . The dimension m of the attitude parameters
vector dim(θ) = m depends on the choice that has been achieved to express the
orientation of the no inertial frame 1 attached to the body, while the operator
0
Jθ (θ) is particular for each attitude parameter representation. Some examples can
be consulted in Chap. 4.
Inertial Expression
The set of differential kinematics or just the kinematic equations for the inertial
representation of linear and angular velocities is then given by:

v(0) = ḋ (3.83a)
(0)
ω = Jθ (θ)θ̇
0
(3.83b)

From which the inverse kinematics are computed as:

ḋ = v(0) (3.84a)
0 +
θ̇ = Jθ (θ)ω (0) (3.84b)

Non-inertial Expression
The set of kinematic equations for the non-inertial representation of linear and angular
velocities is obtained from (3.7) and the last set of relationships (3.83a)–(3.83b) as
follows:
3.3 The Rigid Motion Kinematics 183

v(1) = R T (θ) ḋ (3.85a)


(1)
ω = R (θ) Jθ (θ)θ̇ = Jθ (θ)θ̇
T 0 1
(3.85b)

From which the inverse kinematics is computed as:

ḋ = R(θ)v(1) (3.86a)
0 + 1 +
θ̇ = Jθ (θ)R(θ)ω (1) = Jθ (θ)ω (1) (3.86b)

Remarks
• The explicit expression for the kinematic equations is particular for a given
parametrization of the attitude.
• The pseudo-inverse matrices 0Jθ+ (θ) and 0Jθ+ (θ) are used to include non minimal
attitude representations such Euler parameters or quaternions, where there is a
well defined inverse operator.
• Some attitude representations (among any Euler angles) has particular represen-
tation point for which the corresponding attitude kinematic operator becomes
singular. Such singularities are known as attitude representation singularities, and
may be overcome switching form one representation to another.
• It is noticeable the existence of two types of velocity vectors: the linear velocity
vectors and the angular velocity ones. While the linear velocity v depends on the
position d p of a given particle p in the body, hence define a field vector such that

∂v
= 0
∂d p

the angular velocity ω does not. Actually it happens that

∂ω
=0
∂d p

In this regard, one can say that while the angular velocity is a free vector which
can be placed unrestrictedly at any point in space, the linear velocity is a point
vector which is particular for a given point in the Euclidean space, and hence it
defines a field vector space in R3 . 
Chapter 4
Attitude Representations

In previous Chapter, there has been presented a set of solutions for complex rotation
using 3 concatenated basic rotation. All of this solutions, using three rotation angles
about some defined principal axis of either: the base frame or the current frame, are
the so-called Euler angles.
In addition to the Euler angles representations (with multiple solution existence
for 3D rotations) there are other methods than allow to express the same complicated
rotation matrix. For instance, using independent variables that are not basic rotations
like Gibb’s parameters; Or else, using non-minimum parametrization (redundant rep-
resentations with more than three parameters) such as the axis/angle parametrization
or unit quaternions.
Since the minimal number of independent rotational variables is 3, it arise that
non-minimum parametrization need a linear dependence between its corresponding
parameters.
In following subsections, five of the more common representation are described.
First, the the axis/angle parametrization (also called the Euler parameters or pair of
rotation), arisen from the Euler Theorem of rotations, is developed. This is indeed a
redundant representation since it uses 4 parameters: 3 for the unit vector describing
the direction of the rotation and one for the rotation angle. Right immediately, two
different combinations of Euler angles are presented. The one called the roll-pitch-
yaw, that corresponds to the extrinsic combination x-y-z (performed on fixed frame)
which has a natural physical meaning for free moving 3D rigid objects; and the com-
bination corresponds to the intrinsic symmetric z-y-z. Then the second important
redundant combinations is presented, corresponding to the unit quaternion repre-
sentation (also referred as the Euler–Rodrigues representation). Finally a minimal
representation (with only 3 parameters) called Rodrigues parameters or Gibb’s vec-
tor) is presented, whose parameters do not correspond to any basic rotation around
main axis.
Each attitude representation has advantages and disadvantages over the others.
That is why, some representations are more suitable to be used for some applications
© Springer Nature Switzerland AG 2019 185
E. Olguín Díaz, 3D Motion of Rigid Bodies, Studies in Systems,
Decision and Control 191, https://doi.org/10.1007/978-3-030-04275-2_4
186 4 Attitude Representations

than others. For example, the best representation for the modelling of free moving
bodies is the roll, pitch and yaw angles while for simulations of the same system,
the best representation is the quaternions.
Remark Depending on the field of expertise, the Euler angles representation term
has different meanings. For example in Robotics for manufacturing it refers exclu-
sively to the zyz-current-frame rotations, since this particular combination represents
the attitude of a spherical wrist under the so called Denavit–Hartenberg convention,
(Spong and Vidyasagar 1989). A different example occurs in classic mechanics,
where it refers exclusively to the zxz combination, since Euler himself used first
this combination, (Goldstein 1950). Even more some literature refer to the Euler
Angles parametrization to any of the 6 intrinsic symmetric Euler angles combina-
tions, (Shuster 1993).

4.1 Pair of Rotation

This representation is based on the Euler Theorem of Rotations 3.2, where the Euler
parameters1 of a rotation are given by the pair (λ, ϑ) expressed by (3.31), (Fig. 4.1),
which is indeed a four element parametrization:
 
ϑ
θr p  ∈ S × R3
λ

The condition for which the attitude has only 3 degrees of freedom (dof), i.e. linear
independency of only three variables, is given by the unit restriction of the direction
vector λ:
λ · λ = λT λ = λ2 = 1

This set of parameters are also referred in the literature as pair of rotation, the
Axis/angle representation or Euler–Rodrigues parameters. Since last name is also
used in the literature for a modification of the unit quaternions (see Sect. 4.4), this
name is avoided in this work in order to minimize any misunderstanding.
For this representation, the rotation matrix can be written explicitly with the use of
any of the Euler formulas: (3.29), (3.30) and (3.33) or with the Rodrigues’ Formula
(3.36):
⎡ ⎤
λ2x vϑ + cϑ λx λ y vϑ − λz sϑ λx λz vϑ + λ y sϑ
Rλ,ϑ = ⎣ λx λ y vϑ + λz sϑ λ2y vϑ + cϑ λ y λz vϑ − λx sϑ ⎦ ∈ S O(3)
λx λz vϑ − λ y sϑ λ y λz vϑ + λx sϑ λ2z vϑ + cϑ
 T
= λλ vϑ + I cϑ + [λ×]sϑ
= I + [λ×]sϑ + [λ×]2 vϑ

1 Notice that the Euler angles are a complete different family of rotation representation.
4.1 Pair of Rotation 187

Fig. 4.1 ϑ rotation about an


arbitrary axis λ(α, β)

= e[ϑ×] = e[λ×]ϑ
ϑ
where vϑ = 1 − cos ϑ = 2 sin2 2
is the versine function as defined in (3.37).

Remarks
• Rodrigues’ Formula (3.36), i.e.R = e[ϑ×] = e[λ×]ϑ establishes the exponential
mapping of the axis/angle parameters, via the rotation vector (3.34): ϑ = λϑ ∈ R3 .
This is the reason why some authors refer to the pair (λ, ϑ) as the Euler–Rodrigues
parameters.
• Notice from succinct expressions of R, the inverse (i.e.transpose) of a rotation
matrix becomes

T
Rλ,ϑ = λλT vϑ + I cϑ − [λ×]sϑ (4.1a)
= I − [λ×]sϑ + [λ×] vϑ 2
(4.1b)
−[ϑ×] −[λ×]ϑ
=e =e (4.1c)

which can be computed either with a negative orientation angle −ϑ or a negative


direction −λ:
T
Rλ,ϑ = R−λ,ϑ = Rλ,−ϑ

• Axis/angle parameters define a redundant representation, because four parameters


are needed for defining a rotation matrix R. The restriction that keeps only 3
independent variables is the unit magnitude of the rotation vector, given by (3.32).
This representation is in consequence not unique since a counter-sense rotation
−ϑ about the negative axis −λ is exactly the same as a rotation ϑ about λ

Rλ,ϑ = R−λ,−ϑ 
188 4 Attitude Representations

4.1.1 Computing the Axis/Angle Parameters from a Rotation


Matrix

Notice that the skew symmetric part of the rotation matrix is

R − RT
Rs = = [λ×]sϑ (4.2)
2
and its trace (i.e. the addition of the diagonal elements) is

tr (R) = (λ2x + λ2y + λ2z )vϑ + 3cϑ = 1 + 2cϑ (4.3)

Then the axis/angle parameters of a rotation matrix R ∈ S O(3) can be found after
above expressions (4.2) and (4.3) by next relationships:
 
r11 + r22 + r33 − 1
ϑ = arccos ∈ [0, π] (4.4a)
2
⎛ ⎞
r − r23
1 ⎝ 32
λ= r13 − r31 ⎠ ∀ ϑ = {0, ±π} (4.4b)
2 sin ϑ r − r
21 12

Remarks
• Since the arccos is not a function but a relation (i.e. it has multiple solution for the
same argument) in practical way it is defined always positive, hence ϑ ∈ [0, π].
To obtain negative values of ϑ ∈ [−π, 0], a negative sign must be include in the
computation.
• The axis λ is ill conditioned when sin(ϑ) = 0, i.e.whenever ϑ = nπ for n ∈ Z;
which means that tr (R) − 1 = ±2 or equivalently:

3 ⇔ ϑ=0
tr (R) =
−1 ⇔ ϑ = ±π

The only solution for the first case, when ϑ = 0, means that there is no change
in the attitude. Then the lack of definition of vector λ is irrelevant for physical
meaning; hence ⎡ ⎤
100
R = I = ⎣ 0 1 0 ⎦ ⇒ λ = N AN
001

For the case when tr (R) = −1 there are only three solutions:
4.1 Pair of Rotation 189
⎧ ⎡ ⎤

⎪ 1 0 0



⎪ Rx,±π = ⎣ 0 −1 0 ⎦ ⇒ λ = i



⎪ 0 0 −1



⎪ ⎡ ⎤


⎨ −1 0 0
R = R y,±π = ⎣ 0 1 0 ⎦ ⇒ λ = j



⎪ 0 0 −1



⎪ ⎡ ⎤



⎪ −1 0 0



⎪ R = ⎣ 0 −1 0 ⎦ ⇒ λ = k
⎩ z,±π
0 0 1

Each of them implies a half circle rotation ϑ = ±π rad = ±180deg in the direc-
tion of any of the main axis. Then the direction of λ is then found after the previous
table. 

4.1.2 The Angular Velocity for the Axis/Angle Representation

The angular velocity for this representation has been found in Examples 3.1 and 3.2,
where the angular velocity in base frame coordinates is given by expression (3.52)
and the angular velocity in local frame coordinates is given by expression (3.53):
 
ω (0) = λϑ̇ + λ̇sϑ + λ × λ̇ vϑ
 
ω (1) = λϑ̇ + λ̇sϑ − λ × λ̇ vϑ

The Attitude Kinematic Operators (0Jθ , 1Jθ ) ∈ R3×4 for the axis/angle represen-
tation (Euler parameters) that allows to write the above angular velocity expressions
as

ω (0) = 0Jθ (θr p )θ̇r p (4.5)


ω (1) = 1Jθ (θr p )θ̇r p (4.6)

are found in Example 3.3, and given by expressions (3.65) and (3.66):

0
Jθ (θr p ) = λ I sϑ + [λ×] vϑ ∈ R3×4

1
Jθ (θr p ) = λ I sϑ − [λ×] vϑ ∈ R3×4

Remark Notice that according to Theorem 3.6 the attitude kinematic identities hold
straight forward:

∂ω (0)  ∂ω (1)  
= 0J˙θ − ω (0) × 0Jθ ; = 1J˙θ + ω (1) × 1Jθ
∂θ ∂θ
190 4 Attitude Representations

4.1.3 Attitude Inverse Kinematics for the Axis/Angle


Representation

The inverse problem of finding the time derivative set of axis/angle parameters from
a given angular velocity is ill-conditioned for this representation because its redun-
dancy. It uses 4 parameter instead of 3. To compute these 4 parameters derivatives it
is necessary to add the restriction equation that keeps this representation being only
3 independent attitude variables, as (3.51). Then either direct kinematic equations
(4.5) or (4.6) can be extended as:
   
0 0 λT
= θ̇r p (4.7)
ω (i) λ Ai

where the lower-right block matrix for both: base frame coordinates (i = 0) and
local frame coordinates (i = 1), is a diagonal-weighted CPO (see definition (A.28)
in annexe A):
⎧  
⎪ sϑ

⎨ I sϑ + [λ×]vϑ = vϑ I v + [λ×] if i = 0
ϑ
Ai = I sϑ + (−1)i [λ×]vϑ =  

⎪ sϑ
⎩ I sϑ − [λ×]vϑ = vϑ I − [λ×] if i = 1

whose explicit inverse expression arise straight-forward:


 
vϑ2 sϑ2 + vϑ2 s
Ai−1 =   I − (−1)i ϑ [λ×] + [λ×]2 after property (A.31)
sϑ sϑ2 + vϑ2 vϑ2 vϑ

1  
= 2I − (−1)i [λ×]sϑ + [λ×]2 vϑ using sϑ2 + vϑ2 = 2vϑ
2sϑ

Finally, after the Euler formula (3.33), the inverse Ai−1 can be written succinctly as

⎪ 1 
 ⎪ I + Rλ,ϑ if i = 0
T
1  ⎨
−(−1)i 2sϑ
Ai−1 = I + Rλ,ϑ = (4.8)
2sϑ ⎪
⎪ 1 
⎩ I + Rλ,ϑ if i = 1
2sϑ

The inverse kinematics consist in inverting the extended matrix in (4.7), which
after the use of block matrix inversion (see expression (1.43)) arise as:
 −1 
 −1  T −1 −1 T −1 
0 λT − λT Ai−1 λ λ Ai λ λ Ai
=  −1 −1  −1 (4.9)
λ Ai Ai−1 λ λT Ai−1 λ Ai − Ai−1 λ λT Ai−1 λ λT Ai−1
4.1 Pair of Rotation 191

Notice that after Euler’s Rotation Theorem, i.e. Rλ = λ and expression (4.8) it
arise the next set of equalities:
⎧ ⎫
⎪ T −1 1 T ⎪

⎨ λ Ai = λ ; ⎪ ⎬  −1
1 sϑ 1
Ai−1 λ = λ; ⇒ ⇒ Ai−1 λ λT Ai−1 λ λT Ai−1 = λλT
sϑ ⎪
⎪ λT A−1 λ = 1 ; ⎪⎪ sϑ
⎩ i

Then the lower-right block matrix in (4.9) can be computed as


 −1 1  
−(−1)i
Ai−1 − Ai−1 λ λT Ai−1 λ λT Ai−1 = I + Rλ,ϑ − 2λλT
2sϑ
1   
= 2I − (−1)i [λ×]sϑ + [λ×]2 vϑ − 2 [λ×]2 + I
2sϑ
1  
= −(−1)i [λ×] sϑ − [λ×]2 (1 + cϑ )
2sϑ

and the inverse of the block matrix (4.9) is explicitly given by the following expres-
sions:
⎧⎡ ⎤

⎪ −sϑ λT

⎪ ⎣ ⎦ for i = 0 (base frame)

⎪ 1 1 + cϑ
 
T −1

⎨ λ − [λ×] − [λ×]2
0λ 2 2sϑ
= ⎡ ⎤
λ Ai ⎪
⎪ −sϑ λ T

⎪⎣

⎪ 1 1 + cϑ ⎦ for i = 1 (current frame)

⎩ λ [λ×] − [λ×]2
2 2sϑ
(4.10)
Finally, the inverse kinematic equation for the axis/angle representation, arising
from the inversion of (4.7) is given by the following expression

θ̇r p = i Jθ+ (θr p ) ω (i)


 +
where the operators 0Jθ+ (θr p ) and 1Jθ+ (θr p ) = R T (θr p ) 0Jθ (θr p ) = 0Jθ+ (θr p )
R(θr p ) are right pseudo-inverse matrices of the kinematic operators (3.65) and (3.66)
respectively, whose explicit form is given after (4.10) as:
⎡ ⎤
λT
0 +
Jθ (θr p ) =⎣ 1 1 ϑ ⎦ ∈ R4×3 (4.11a)
− [λ×] − cot [λ×]2
2 2 2
⎡ ⎤
λ T

Jθ (θr p ) = ⎣ 1
1 +
1 ϑ ⎦ ∈ R4×3 (4.11b)
[λ×] − cot [λ×]2
2 2 2
192 4 Attitude Representations

Remarks
• The matrices i Jθ and i Jθ+ fulfill the next property:
i
Jθ i Jθ+ = I3 ∈ R3×3

• If this representation is chosen for numeric simulation, i.e. to calculate the attitude
by integration of the time derivatives of Euler parameters, there will arise some
problems in the vicinity of ϑ = 0 where λ is not defined.
• Indeed, the point at ϑ = 0 is also a singular point in the inverse kinematic equation
due to the fact that equations (4.11) are ill conditioned for the cot ϑ2 . 

4.2 Roll-Pitch-Yaw Representation

This is a non-symmetric (Tait–Bryant parametrization), based-frame-defined (extrin-


sic) Euler angles representation, defined as the three successive rotations in the strict
specific order x − y − z. The first rotation, performed about the x A -axis (the x-axis
of the base frame) is called the roll angle, and is denoted by φ. The second rotation,
performed about the y A -axis (the y-axis of the base frame) is called the pitch angle,
and is denoted by θ. The third and last rotation, performed about the z A -axis (the
z-axis of the base frame) is called the yaw angle, and is denoted by ψ (Fig. 4.2).
The attitude parameter vector representing the three roll-pitch-yaw angles (RPY)of
an arbitrarily moving frame 1 with respect to base frame 0 is defined as:
⎛ ⎞
φ
θr py  ⎝ θ ⎠ ∈ S × S × S = T3
ψ

Since the basic rotations are all performed relative to the fixed frame 0 the
composed rotation matrix R01 is defined as:

R01 (θ)  Rz,ψ R y,θ Rx,φ (4.12)

Then replacing the basic rotations (3.16), (3.17) and (3.18), it yields to the par-
ticular solution of the Rotation Matrix using roll-pitch-yaw angles:
⎡ ⎤⎡ ⎤⎡ ⎤
cψ −sψ 0 cθ 0 sθ 1 0 0
R01 (θ) = ⎣ sψ cψ 0 ⎦ ⎣ 0 1 0 ⎦ ⎣ 0 cφ −sφ ⎦
0 0 1 −sθ 0 cθ 0 sφ cφ
⎡ ⎤
cψ cθ −sψ cφ + cψ sθ sφ sψ sφ + cψ sθ cφ
= ⎣ sψ cθ cψ cφ + sψ sθ sφ −cψ sφ + sψ sθ cφ ⎦ (4.13)
−sθ cθ sφ cθ cφ
4.2 Roll-Pitch-Yaw Representation 193

Fig. 4.2 Roll, pitch and yaw angles [image obtained for internet]

4.2.1 Computing the Roll, Pitch and Yaw Angles from a


Rotation Matrix

The inverse problem of finding the roll, pitch and yaw angles from a given rotation
matrix R ∈ S O(3) follows straight forward from expression (4.13) such that the roll
and yaw angles can get the four quadrant solutions, (Craig 1986):
"
−r31
pitch: θ = arctan ! ∈ [−π/2, π/2] (4.14a)
r11 2 + r21 2
 
r32 r33
roll: φ = arctan2 , ∈ [−π, π] (4.14b)
cθ cθ
 
r21 r11
yaw: ψ = arctan2 , ∈ [−π, π] (4.14c)
cθ cθ

where the four-quadrant function arctan2(y, x) is defined as follows


194 4 Attitude Representations
⎧ y

⎪ arctan if x ≥ 0
⎨ x
arctan2(y, x)  (4.15)

⎪ y
⎩ π − arctan x <0
|x|

Remarks
• The full range of solution for θ ∈ [−π, π] can be completed using the negative
square root in the denominator of (4.14a), which after the four quadrant arctan
function defined above would become:
"
r31
pitch: θ = π + arctan ! ∈ [π/2, 3π/2]
r11 2 + r21 2

Although this is a user’s choice, notice that only one half of the pitch range is
enough to describe any attitude. For detail refer to Craig (1986) or Shuster (1993).
• Notice that expressions (4.14b)–(4.14c) are ill conditioned for the pitch’s extreme
solutions: θ = ±π/2. For these particular points the Rotation matrix (4.13)
becomes:
 
0 A
R01 (θ) =
∓1 0

with
     
r12 r13 −sψ cφ ± cψ sφ sψ sφ ± cψ cφ − sin(x) ± cos(x)
A= = =
r22 r23 cψ cφ ± sψ sφ −cψ sφ ± sψ cφ cos(x) ± sin(x)

where x = ψ ∓ φ and the signs varies according to a particular case of the any of the
two extreme solutions θ = ±π/2, respectively. Since the upper-right block matrix
A is function of only one independent variable x (with determinant |A| = ∓1),
it is necessary to define either φ or ψ in order to compute the other one in terms
of the first. This means that for the pitch’s extreme solutions: θ = ±π/2, the rpy
parametrization looses one degree of freedom while the Rotation Matrix remains
with full rank (with |R| = 1). The lost of one of these degrees of freedom in the
parametrization is also known as the gimbal-lock effect.
• Notice that for the pitch solutions interval θ ∈ (−π/2, π/2) it always happens
that cos(θ) > 0. Then it follow that the sign in the arguments of the roll and yaw
solutions do not change with this factor and the above solutions can be simplified to

roll: φ = arctan2 (r32 , r33 ) ∈ [−π, π]


"
−r31
pitch: θ = arctan ! ∈ (−π/2, π/2)
r11 2 + r21 2
yaw: ψ = arctan2 (r21 , r11 ) ∈ [−π, π]
4.2 Roll-Pitch-Yaw Representation 195

• Finally, due to the fact that these angles can be physically measured independently
one of another, this representation is the more natural one and is widely used in
mobile robotics and aeronautics. However caution must be present when working
in the vicinity of ill conditioned configurations, i.e.: at pitch: θ = ±π/2. 

4.2.2 Angular Velocity and the Roll-Pitch-Yaw


Representation

Because the roll, pitch and yaw are the angles of rotation about the main axes, it
seems natural at the first glance that their time derivatives must be the components
of the angular velocity. This is not true since for this representation the rotations are
performed in a specified order which affects the computation of the angular velocity.

4.2.2.1 Angular Velocity in Base Frame Coordinates

For any attitude representation the angular velocity can be calculated by using expres-
sion (3.49a), i.e.
Ṙ R T = [ω (0) ×],

and its particular solution of Rotation Matrix R(θ). For the roll-pitch-yaw represen-
tation the rotation matrix is defined by (4.12), then its time derivative is expressed
as follows:

Ṙ(θr py , θ̇r py ) = Ṙz,ψ R y,θ Rx,φ + Rz,ψ Ṙ y,θ Rx,φ + Rz,ψ R y,θ Ṙx,φ

and the product Ṙ R T becomes

Ṙ R T = Ṙz,ψ Rz,ψ
T
+ Rz,ψ Ṙ y,θ R y,θ
T T
Rz,ψ + Rz,ψ R y,θ Ṙx,φ Rx,φ
T T
R y,θ T
Rz,ψ

Then by the use of the infinitesimal rotation generators given in expressions (3.43)
and property (3.15), last expression yields:
 T
Ṙ R T = [k×]ψ̇ + Rz,ψ j × Rz,ψ θ̇ + Rz,ψ R y,θ [i×]R y,θ
T T
Rz,ψ φ̇
 
= [k×]ψ̇ + (Rz,ψ j )× θ̇ + (Rz,ψ R y,θ i)× φ̇

from which the angular velocity is explicitly expressed as


196 4 Attitude Representations

ω (0) = Rz,ψ R y,θ i φ̇ + Rz,ψ j θ̇ + kψ̇


⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞
cθ cψ −sψ 0 cθ cψ φ̇ − sψ θ̇
= ⎝ cθ sψ ⎠ φ̇ + ⎝ cψ ⎠ θ̇ + ⎝ 0 ⎠ ψ̇ = ⎝ cθ sψ φ̇ + cψ θ̇ ⎠
−sθ 0 1 −sθ φ̇ + ψ̇

Since the general expression of the angular velocity is given by (3.62) i.e. ω (0) =
0
Jθ (θ)θ̇, the particular Attitude Kinematic Operator 0Jθ (θ) for the RPY attitude
representation becomes:
⎡ ⎤
  cθ cψ −sψ 0
∂ω (0)
0
Jθ (θ) = = Rz,ψ R y,θ i, Rz,ψ j , k = ⎣ cθ sψ cψ 0 ⎦ (4.16)
∂ θ̇ −sθ 0 1

with determinant | 0Jθ | = cos(θ).

Remarks Notice the following issues on operator 0Jθ expressed by (4.16):

• It is independent of the roll rotation

∂ 0
{ Jθ } = 0
∂φ

• It has two singularities at pitch θ = ± π2 , where its determinant becomes null. These
singularities are known to be the representation singularities of the roll-pitch-yaw
angles.
• Operator (4.16) can also be calculated analytically from expression (3.70a). 

4.2.2.2 Angular Velocity with Current Frame Coordinates

Since there is a coordinates expression of the angular velocity in the non-inertial


frame as
ω (1) = R T ω (0) = R T 0Jθ (θ)θ̇ = 1Jθ (θ)θ̇

the product 1Jθ (θ) = R T 0Jθ is also a kinematic operator which maps the time
derivative of roll-pitch-yaw parameter’s vector to the non-inertial angular velocity.
This operator is explicitly expressed as:
   
1
Jθ (θ) = R T (θ) 0Jθ (θ) = Rx,φ
T
i, T
Rx,φ T
R y,θ j , Rx,φ
T T
R y,θ T
Rz,ψ k = i, Rx,φ
T
j , Rx,φ
T T
R y,θ k
⎡ ⎤
1 0 −sθ
= ⎣0 cφ sφ cθ ⎦ (4.17)
0 −sφ cφ cθ

with determinant | 1Jθ (θ)| = |R T 0Jθ | = |R| | 0Jθ | = | 0Jθ | = cθ


4.2 Roll-Pitch-Yaw Representation 197

Remarks
• The operator 1Jθ (θ) is independent of the yaw rotation


{R T 0Jθ } = 0
∂ψ

• The operator 1Jθ (θ) has the same singularities that 0Jθ at pitch θ = ± π2 , where
its determinant becomes null
• Notice that operator (4.17) can be calculated analytically from expression (3.70b).
• Notice that according to Theorem 3.6 the attitude kinematic identities hold straight
forward:

∂ω (0)  ∂ω (1)  
= 0J˙θ − ω (0) × 0Jθ ; = 1J˙θ + ω (1) × 1Jθ
∂θ ∂θ

4.2.3 Attitude Inverse Kinematics for the Roll-Pitch-Yaw


Representation

The inverse kinematic problem, to find the vector θ̇ from the angularcvelocity ω can
be useful, specially for simulations where numerical integration must be performed.
The solution for this problem is given by the inverse of the attitude kinematic oper-
ators (4.16) and (4.17):

0 −1
Jθ (θ)ω (0)
θ̇ = 1 −1
Jθ (θ)ω (1)

where the inverse of kinematic operators are given as follows, except for the repre-
sentation singularity at pitch θ = ± π2 (with tθ = tan θ):
⎡ ⎤
cψ /cθ sψ /cθ 0
0 −1
Jθ (θ) = ⎣ −sψ cψ 0 ⎦ (4.18)
tθ cψ tθ sψ 1
⎡ ⎤
1 sφ tθ cφ tθ
Jθ (θ) = ⎣ 0 cφ −sφ ⎦ =
1 −1 0 −1
Jθ (θ)R(θ) (4.19)
0 sφ /cθ cφ /cθ
198 4 Attitude Representations

Fig. 4.3 Geometric interpretation for some Euler angles. Left: zxz convention. Right: zyz conven-
tion. First an α-rotation around z, so that the neutral axis N (either the new x or y axes) is properly
aligned. Second a β-rotation around the N axis. Finally a γ-rotation around the newest z-axis so
that the frame reach the final orientation

4.3 Euler Angles zyz

This is a symmetric, current-frame-defined (intrinsic) Euler angles representation,


also referred as proper Euler angles parametrization, and it is used in robotics because
under some practical conditions it represents the orientation of a spherical wrist in a
robot manipulator.
This representation is hence defined as successive rotations around the main
axes in the strictly order of z-y-z axes of the current frames. This can be seen in
Fig. 4.3(right). This means that in the first rotation, an angle α is performed about
the common z-axis of both frames. In the second rotation, an angle β is performed
about the y-axis of the just modified (current) frame. Finally in the third rotation, an
angle γ is performed about the newest z-axis (the z-axis of the current frame who
has been changed with the two previous rotations). The attitude parameter vector for
this representation is then defined as:
⎛ ⎞
α
θ zyz  ⎝ β ⎠ ∈ S × S × S = T3
γ

The rotation from the base frame 0 to the final frame 1 is defined by three
consecutive basic rotations about main current axes:
4.3 Euler Angles zyz 199

R01 (θ) = Rz,α R y,β Rz,γ (4.20)


⎡ ⎤⎡ ⎤⎡ ⎤
cα −sα 0 cβ 0 sβ cγ −sγ 0
= ⎣ sα cα 0 ⎦ ⎣ 0 1 0 ⎦ ⎣ sγ cγ 0 ⎦ ∈ S O(3)
0 0 1 −sβ 0 cβ 0 0 1

which after proper algebraic reduction renders


⎡ ⎤
cα cβ cγ − sα sγ −cα cβ sγ − sα cγ cα sβ
R01 (θ) = ⎣ sα cβ cγ + cα sγ −sα cβ sγ + cα cγ sα sβ ⎦ (4.21)
−sβ cγ sβ sγ cβ

4.3.1 Computing the zyz Euler Angles from a Rotation


Matrix

The inverse problem of finding the zyz Euler angles from a given rotation matrix
R ∈ S O(3) is as follows (Craig 1986):
! "
r13 2 + r23 2
β = arctan ∈ [−π/2, π/2] (4.22a)
r33
 
r23 r13
α = arctan2 , ∈ [−π, π] (4.22b)
sβ sβ
 
r32 −r31
γ = arctan2 , ∈ [−π, π] (4.22c)
sβ sβ

where arctan2(y, x) is the four quadrant ar ctan function defined in (4.15).

Remarks
• Solutions for the complete range of β can be found using the negative solution of
the square root. For detail refer to Craig (1986)
• This representation is ill conditioned for the solutions β = 0 and β = ±π, which
are the gimbal lock configuration for this particular Euler angles set. In this cases,
there is a redundant solution for the set of the angles α and γ.
• This representation is used mostly in robotics for the attitude representation of the
spherical wrist. It is also used for the spinning-top. 

4.3.2 Angular Velocity and the zyz Representation

For the zyz convention of rotation, that is relative to the current frames, the angular

velocity can be calculated by using also expression (3.49a) (i.e.: Ṙ R T = ω (0) × )
and the rotation matrix defined by (4.20) (i.e.: R = Rz,α R y,β Rz,γ ).
200 4 Attitude Representations

Starting with the time derivative of the rotation matrix as the composite of the
three main rotation matrices around the current cartesian axes, it can be calculated
as follows:

Ṙ(θ zyz , θ̇ zyz ) = Ṙz,α R y,β Rz,γ + Rz,α Ṙ y,β Rz,γ + Rz,α R y,β Ṙz,γ ;

4.3.2.1 Angular Velocity in Base Frame Coordinates

As in the case of the r-p-y angles, by the useT of expressions (3.43a)–(3.43c) (i.e.:
T
Ṙx,φ Rx,φ = [i×]φ̇, Ṙ y,θ R y,θ
T
= j × θ̇, Ṙz,ψ Rz,ψ = [k×]ψ̇) and property (3.15) (i.e.:
R[a×]R = [(Ra) ×]), the product Ṙ R for the ZYZ Euler angles convention
T T

yields

Ṙ R T = Ṙz,α Rz,α
T
+ Rz,α Ṙ y,β R y,β
T T
Rz,α + Rz,α R y,β Ṙz,γ Rz,γ
T T
R y,β T
Rz,α
 T
= [kα̇×] + Rz,α j β̇× Rz,α + Rz,α R y,β [kγ̇×]R y,β T T
Rz,α
 
= [k×]α̇ + (Rz,α j )× β̇ + (Rz,α R y,β k)× γ̇

which means that the angular velocity vector is:


⎛ ⎞
−(sin α)β̇ + (cos α sin β)γ̇
ω (0) = kα̇ + Rz,α j β̇ + Rz,α R y,β kγ̇ = ⎝ (cos α)β̇ + (sin α sin β)γ̇ ⎠ (4.23)
α̇ + (cos β)γ̇

Expressing the angular velocity as (3.62) i.e. ω (0) = 0Jθ (θ)θ̇, the Attitude Kine-
matic Operator 0Jθ (θ zyz ) arises as follows:
⎡ ⎤
 0 − sin α cos α sin β

∂ω (0)
0
Jθ (θ) = = k, Rz,α j , Rz,α R y,β k = ⎣ 0 cos α sin α sin β ⎦ (4.24)
∂ θ̇ 1 0 cos β

with determinant | 0Jθ | = − sin(β).

Remarks
• Because of definition (4.24), the operator 0Jθ is independent of the last rotation γ:

∂ 0
{ Jθ } = 0
∂γ

• The operator 0Jθ has three singularities at β = {0, ±π}, where its determinant
becomes null.
• The operator (4.24) also arise analytically from expression (3.70a). 
4.3 Euler Angles zyz 201

4.3.2.2 Angular Velocity with Current Frame Coordinates

Again, angular velocity expressed in the local frame coordinates would be

ω (1) = R T ω (0) = 1Jθ (θ) θ̇ (4.25)

the matrix 1Jθ (θ) = R T 0Jθ (from expression (3.64)) is also a kinematic operator
which maps the time derivative of ZYZ attitude parameter’s vector to the angular
velocity with local frame coordinates. Then after the use of property (3.21) (i.e.:
T
Rz,α k = k and R y,β
T
j = j ), this operator is explicitly expressed as:
 
1
Jθ (θ) = R T (θ) 0Jθ (θ) = Rz,γ
T T
R y,β T
Rz,α T
k, Rz,γ T
R y,β j , Rz,γ
T
k
 
= Rz,γ
T T
R y,β T
k, Rz,γ j, k (4.26a)
⎡ ⎤
− sin β cos γ sin γ 0
= ⎣ sin β sin γ cos γ 0 ⎦ (4.26b)
cos β 0 1

with determinant | 1Jθ | = |R T 0Jθ | = |R| | 0Jθ | = | 0Jθ | = − sin(β)

Remarks
• The operator 1Jθ It is independent of the first rotation α

∂ 1
{ Jθ } = 0
∂α

• The operator 1Jθ has the same singularities that 0Jθ at β = {−π, 0, π}, where its
determinant becomes null
• Notice that operator (4.26) can be calculated analytically from expression
 (3.70b),
or with the same procedure as for ω (0) with the product R T Ṙ = ω (1) × .
• Notice that according to Theorem 3.6 the attitude kinematic identities hold straight
forward:

∂ω (0)  ∂ω (1)  
= 0J˙θ − ω (0) × 0Jθ ; = 1J˙θ + ω (1) × 1Jθ
∂θ ∂θ

4.3.3 Attitude Inverse Kinematics for the Euler Angles zyz


Representation

The inverse kinematic problem, i.e. to find the vector θ̇ from the angular velocity ω
follows the inversion of the attitude kinematic operators (4.24) and (4.26):
202 4 Attitude Representations
⎡ ⎤
− cos α/ tan β − sin α/ tan β 1
Jθ (θ) = ⎣
0 −1
− sin α cos α 0⎦ (4.27)
cos α/ sin β sin α/ sin β 0
⎡ ⎤
− cos γ/ sin β sin γ/ sin β 0
Jθ (θ) = ⎣
1 −1
sin γ cos γ 0⎦ = 0 −1
Jθ (θ)R(θ) (4.28)
cos γ/ tan β − sin γ/ tan β 1

which are undefined for the 3 singularities of this zyz Euler angles representation.

4.4 Unit Quaternions

This redundant representation is based on quaternions that are hyper-complex num-


bers with one real variable and 3 complex ones defined in three different complex
directions. Since a 2D rotation (planar) can be expressed with unit complex num-
bers when changing from cartesian to polar coordinates, unit quaternions can instead
express 3D rotations. This unit quaternion expresses the full space of orientations
without singularities, but has no direct physical meaning.
For the general definition of quaternions refer to Annex Sect. B. For the sake of this
section we can consider the unit quaternion ε = (ε0 , ε1 , ε2 , ε3 ) ∈ H that expresses
3D rotation, as a 4 dimension vector
 
ε0
ε= ∈ R4
εv

with a real part ε0 ∈ R and a vectorial part εv = (ε1 , ε2 , ε3 )T ∈ R3 , which fulfill the
unit norm:

ε = 1 ⇔ εT ε = ε2 = ε20 + ε21 + ε22 + ε23 = ε20 + εv 2 = 1 (4.29)

The Rotation matrix R ∈ S O(3) for a given unit quaternion ε, takes the shape
given by expressions (B.23c)–(B.24):

R(ε) = I + 2ε0 [εv ×] + 2[εv ×]2 (4.30a)


   
= ε20 − εvT εv I + 2 εv εvT + ε0 [εv ×] (4.30b)

or alternatively the following explicit form


⎡ ⎤
2(ε20 + ε21 ) − 1 2(ε1 ε2 − ε0 ε3 ) 2(ε1 ε3 + ε0 ε2 )
R(ε) = ⎣ 2(ε1 ε2 + ε0 ε3 ) 2(ε20 + ε22 ) − 1 2(ε2 ε3 − ε0 ε1 ) ⎦ (4.30c)
2(ε1 ε3 − ε0 ε2 ) 2(ε2 ε3 + ε0 ε1 ) 2(ε20 + ε23 ) − 1
4.4 Unit Quaternions 203

where the difference in the diagonal elements with expressions (B.23d), (B.25), can
be proven easily under the unit quaternion constraint (4.29).

Remarks
• Notice that for unit quaternions the reciprocal quaternion ε−1 is indeed its conju-
gate ε∗ :
 
ε0 ε∗
ε∗  ∈H ⇒ ε−1  = ε∗
−εv ε

• Notice after (4.30a) that the rotation matrix of a conjugate unit quaternion is indeed
the transposed rotation matrix:

R(ε∗ ) = R T (ε) (4.31)

which means that the conjugate of a unit quaternion represents the inverse rotation
af the original quaternion.
• Notice that the Rotation Matrix for the negative quaternion is exactly the same
Rotation matrix:
R(−ε) = R(ε)

which means that the negative of a unit quaternion is an equivalent quaternion in


terms of rotations. 

The coordinates transformation of a 3D vector a ∈ R3 , around a rotation defined


by a unit quaternion ε is equivalent to the triple quaternion product (refer to Annexe
B):
p = ε ⊗ p ⊗ ε∗ ∈ H ≡ a = R(ε)a ∈ R3 (4.32)

where p = (0, a) ∈ H and p = (0, a ) ∈ H are quaternion version of vectors (a, a )


∈ R3 , respectively; where the quaternion product (also known as Hamiltonian prod-
uct) denoted by the symbol ⊗ of the quaternion elements (h, g) ∈ H is defined as
(refer to (B.10)):
 
h 0 g0 − hv · g v
h⊗g = ∈H
h 0 g v + g0 hv + hv × g v

Last statement arise after the fact that the triple quaternion product above can be
written as ε ⊗ p ⊗ ε∗ = Q(ε) p (refer to Annexe B), where the order 4 matrix Q is
given as  
1 0
Q= ∈ S O(4)
0 R(ε)
204 4 Attitude Representations

4.4.1 Equivalence with the Pair of Rotation

The Rotation matrix (4.30) shall be equivalent to other representations such the
axis/angle parameters (λ, ϑ) or any other. Then it arise the questions: how are the
different attitude representations related to the unit quaternion’s? and; How can the
equivalent quaternion for a given rotation be calculated?.
The Polar decomposition The quaternion exponential function of a quaternion g =
(r, v) ∈ H is defined as an extended version (for hyper-complex numbers) of the
Euler identity of complex numbers:

q = eg  er (cos(α), v̂ sin(α)) = (q0 , q v ) ∈ H

where the vector part v ∈ R3 of the original quaternion is decomposed in a unit


vector v̂  v/v and a magnitude α = v > 0 such that v = αv̂. It is evident that
the magnitude of the output quaternion is given as q = er .
The polar decomposition of a quaternion is the inverse mapping of the quaternion
exponential function, and it consists in finding the variables (r, v) out of a given
quaternion q = (q0 , q v ).
The polar decomposition for a unit quaternion ε start from the fact that the real
part r = ln(ε) = 0 is always cero and the exponential function becomes:
 
ε = ev̂α = cos(α), v̂ sin(α) (4.33)

Then the polar decomposition variables, after (B.21) becomes:

α = arctan2 (εv , ε0 ) ∈ [0, π] (4.34a)


εv
v̂ = ∈ R3 , (4.34b)
εv 

where arctan2(y, x) is the four quadrant ar ctan function defined in (4.15).


Remarks
• Notice that the range of angle α is restricted to only the upper quadrants in the
plane ε0 -εv  because the norm of the vectorial part is always positive.
• Negative angles would produce the conjugate quaternion, equivalently as using
the reversed direction of the unit vector v̂:

  
e−v̂α = cos(α), −v̂ sin(α) = ε∗

In order to achieve the equivalence with the pair of rotation, consider the set of
unit quaternions samples of Table 4.1, with its corresponding polar parametrization
and Rotation matrices, and the corresponding axis/angle parameters for each of these
quaternions.
4.4 Unit Quaternions 205

Table 4.1 Conversion table of some unit quaternions to the their equivalent pair of rotation, through
the Rotation matrix
ε α v̂ R(ε) Rλ,ϑ ϑ λ
⎡ ⎤
1
⎢ ⎥
(1,0,0,0) 0 (0 0 0) ⎣ 1 ⎦ Ri,0 0 –
1
⎡ ⎤
1
⎢ ⎥
(0,1,0,0) π/2 (1,0,0) ⎣ −1 ⎦ Rx,π π (1,0,0)
−1
⎡ ⎤
−1
⎢ ⎥
(0,0,1,0) π/2 (0,1,0) ⎣ 1 ⎦ R y,π π (0,1,0)
−1
⎡ ⎤
−1
⎢ ⎥
(0,0,0,1) π/2 (0,0,1) ⎣ −1 ⎦ Rz,π π (0,0,1)
1
⎡ ⎤
1
⎢ ⎥ π
( √1 , √1 , 0, 0) π/4 (1,0,0) ⎣ 0 −1 ⎦ Rx, π2 2 (1,0,0)
2 2
1 0
⎡ ⎤
0 1
⎢ ⎥ π
( √1 , 0, √1 , 0) π/4 (0,1,0) ⎣ 1 ⎦ R y, π2 2 (0,1,0)
2 2
−1 0
⎡ ⎤
0 −1
⎢ ⎥ π
( √1 , 0, 0, √1 ) π/4 (0,0,1) ⎣1 0 ⎦ Rz, π2 2 (0,0,1)
2 2
1
.. .. .. .. .. .. ..
. . . . . . .

Comparison of last expressions with the corresponding axis/angle parameters


(λ, ϑ) yields the following facts:
1. The polar direction v̂ ∈ R3 for a given unit quaternion ε ∈ H is given uniquely by
the vectorial part of the unit quaternion, and is exactly the same as the direction
of the rotation λ ∈ R3 : εv
v̂ = = λ ∈ R3
εv 

2. The scalar α is half of the angle ϑ of the axis/angle parameters:

α = ϑ/2

Then, after (4.33), the equivalence between the axis/angle parameters (λ, ϑ) and
the unit quaternion ε is given by the following expressions:
206 4 Attitude Representations

ϑ
ε0 = cos (4.35a)
2
ϑ
εv = λ sin (4.35b)
2
And the polar-exponential mapping can be written succinctly as
    
ϑ ϑ ϑ
ε = eλ 2 = (ε0 , εv ) = cos , λ sin (4.36)
2 2

Remarks
• Quaternions representation need four arguments instead of the three natural
degrees of freedom (for example roll-pitch-yaw angles), and the unit quaternion
constraint (4.29).
• The exponential function in (4.36) is the quaternion exponential, being different
from a scalar exponential function. 

Inverse mapping ε → (λ, ϑ). To compute the axis-angle parameters, first notice
that the magnitude of the quaternion vectorial part εv can be calculated from (4.35b)
and (4.29) as εv 2 = 1 − ε20 = sin2 ϑ2 , from which is deduced that
%
ϑ
sin = 1 − ε20 = εv  (4.37)
2
Then the axis/angle parameters (λ, ϑ) can be computed straight-forward after
equivalences (4.35):

ϑ = 2 arccos ε0 ∈ [−2π, 2π] ⇔ ε0 ∈ [−1, 1] (4.38a)


⎧ ε εv
v

⎨ =% if |ε0 | = 1
εv  − ε 2
λ= 1 0 (4.38b)


0 if |ε0 | = 1

Remarks
• α = ϑ/2 means that one turn in the quaternion space (α ∈ [0, 2π]) equals two turns
in the axis-angle parameter space: ϑ ∈ [0, 4π]. After Fig. 4.4, it can be seen that
positive values of ε0 > 0 means ϑ ∈ (−π, π), null values of ε0 = 0 means ϑ =
±π = 180 deg and negative values of ε0 < 0 means ϑ ∈ (−2π, −π) ∪ (π, 2π);
which leads to an over-representation of the same rotation.
• One way to avoid such over-representation is to compute the angle after the polar
decomposition expression (4.34a):

ϑ = 2 arctan2 (εv , ε0 ) ∈ [0, 2π] ⇔ ε0 ∈ [−1, 1]


4.4 Unit Quaternions 207

Fig. 4.4 Plot of the half angle trigonometric basic functions

• An alternative to avoid such over-representation is to chose always to work with


non-negative values of ε0 ≥ 0; such that when using any expression (4.38a) it arise
the full range of rotation without representation redundancy:

ϑ = 2 arccos ε0 ∈ [−π, π] ⇔ ε0 ∈ [0, 1]

However this may not be always be desirable, for instance for the sake of continuous
solutions in numerical analysis.
ϑ
• While the polar-exponential expression (4.36) (ε = eλ 2 ) establishes a bidirec-
tional nonlinear mapping between axis/angle parameters and unit quaternions,
expressions (4.35) and (4.38) give a more practical expressions for direct compu-
tation process.
• An alternative way of proving the validity of the equivalences (4.35) and (4.38) is
to find the equivalence of the Rotation matrices using these expressions.
This can be achieved using the following “half-angle” trigonometric identities:

ϑ ϑ ϑ ϑ
cϑ = cos ϑ = cos2 − sin2 , sϑ = sin ϑ = 2 sin cos
2 2 2 2

from which they arise2 :

ϑ
vϑ = 1 − cos ϑ = 2 sin2 the versus sine function (4.39a)
2
2 ϑ
1 + cos ϑ = 2 cos (4.39b)
2
which after (4.35a) and (4.37), they become

cϑ = 2ε20 − 1 (4.40)

2 The versine function vϑ has been presented in (3.37).


208 4 Attitude Representations
%
sϑ = 2ε0 1 − ε20 (4.41)
 
vϑ = 2 1 − ε20 (4.42)

Then using (4.38b) and the above equivalences in either Euler formula (3.33)
(i.e.Rλ,ϑ = I + [λ×]sϑ + [λ×]2 vϑ ) or its Rodrigues equivalence (3.36), it leads
to any of the expressions (4.30) for the Rotation matrix R(ε) ∈ S O(3). 

4.4.2 Computing Quaternions from a Rotation Matrix

The inverse problem of getting the quaternion vector can be solved by different
methods. For instance the axis/angle parameters can be calculated and use them to
calculate the quaternion using definitions (4.35a) and (4.35b). An alternative method
is to compute ε0 from the trace of the rotation matrix (with only the positive value
to avoid redundancies):

1! 1!
ε0 = T r {R} + 1 = r11 + r22 + r33 + 1
2 2
The rest of the component can be found using the off-diagonal elements:
⎛ ⎞ ⎛ ⎞
ε1 r32 − r23
1
ε v = ⎝ ε2 ⎠ = ⎝ r13 − r31 ⎠ (4.43)
ε3 4ε0 r − r
21 12

Remarks
• Expression (4.43) is ill conditioned for the particular solution of ε0 = 0 (equivalent
to ϑ = ±π). An alternative solution for this case is found from expression (4.30c)
of the rotation matrix (Bona 2009):

1!
ε0 = r11 + r22 + r33 + 1 (4.44a)
2
1!
ε1 = sign(r32 − r23 ) r11 − r22 − r33 + 1 (4.44b)
2
1!
ε2 = sign(r13 − r31 ) −r11 + r22 − r33 + 1 (4.44c)
2
1!
ε3 = sign(r21 − r12 ) −r11 − r22 + r33 + 1 (4.44d)
2
The sign function is introduced to get the solution out of the full solution space,
which otherwise would be restricted only in the 1st quadrant of the Cartesian 3D
frame.
• This representation is always well conditioned for whatever attitude it
represents. 
4.4 Unit Quaternions 209

Example 4.1 The quaternion εx,φ corresponding to the basic rotation φ about the
x-axis (equivalent to (λ, ϑ) = (i, φ)) is found after expressions (3.18) and (4.44)
and using the half-angle trigonometric identities (4.39):

&
1! 1 + cφ φ
ε0 = 1 + cφ + cφ + 1 = = cos
2 2 2
&
1! 1 − cφ φ
ε1 = 1 − cφ − cφ + 1 = = sin
2 2 2
1!
ε2 = −1 + cφ − cφ + 1 =0
2
1!
ε3 = −1 − cφ + cφ + 1 =0
2
Then the unit quaternion εx,φ corresponding to the basic rotation about the x-axis
becomes: ⎛ ⎞
⎡ ⎤ cos φ2
  1 0 0 ⎜ sin φ ⎟
Rx,φ εx,φ = ⎣ 0 cφ −sφ ⎦ ⇔ εx,φ = ⎜⎝ 0 ⎠
2⎟
0 sφ cφ
0

which is consistent with expressions (4.35).

Example 4.2 The quaternion ε y,θ corresponding to the basic rotation θ about the
y-axis (equivalent to (λ, ϑ) = ( j , θ)) is found after expressions (3.17) and (4.44)
and again the identities (4.39):
&
1! 1 + cθ φ
ε0 = cθ + 1 + cθ + 1 = = cos
2 2 2
1!
ε1 = cθ − 1 − cθ + 1 =0
2 &
1! 1 − cθ φ
ε2 = −cθ + 1 − cθ + 1 = = sin
2 2 2
1!
ε3 = −cθ − 1 + cθ + 1 =0
2
Then, the unit quaternion ε y,θ corresponding to the basic rotation about the y-axis
is also consistent with expressions (4.35):
⎛ ⎞
⎡ ⎤ cos 2θ
  cθ 0 sθ ⎜ 0 ⎟
R y,θ εx,θ = ⎣ 0 1 0 ⎦ ⇔ ε y,θ =⎜
⎝ sin θ ⎠

−sθ 0 cθ 2
0
210 4 Attitude Representations

Example 4.3 The quaternion εz,θ corresponding to the basic rotation ψ about the
z-axis (equivalent to (λ, ϑ) = (k, ψ)) is found after expression (3.16) and (4.44) and
once more the identities (4.39):
&
1! 1 + cψ φ
ε0 = cψ + cψ + 1 + 1 = = cos
2 2 2
1!
ε1 = cψ − cψ − 1 + 1 =0
2
1!
ε2 = −cψ + cψ − 1 + 1 =0
2 &
1! 1 − cψ φ
ε3 = −cψ − cψ + 1 + 1 = = sin
2 2 2

Finally, the unit quaternion εz,ψ corresponding to the basic rotation about the
z-axis is also consistent with expressions (4.35):
⎛ ⎞
⎡ ⎤ cos ψ2
  cψ −sψ 0 ⎜ 0 ⎟
Rz,ψ εx,ψ = ⎣ sψ cψ 0 ⎦ ⇔ εz,ψ =⎜
⎝ 0 ⎠

0 0 1
sin ψ2

4.4.3 Composed Rotation with Quaternions

The coordinates transformation of a vector a ∈ R3 after two consecutive rotations


defined by proper unit quaternions: first ε1 and then ε2 is expressed as:

a = R(ε1 )a
a = R(ε2 )a = R(ε2 )R(ε1 )a

On the other hand after expression (4.32), each one of the above rotations can
be conducted using the equivalent quaternion product, with p = (0, a), p = (0, a ),
and p = (0, a ):

a = R(ε1 )a  p = ε1 ⊗ p ⊗ ε∗1
a = R(ε2 )a  p = ε2 ⊗ p ⊗ ε∗2

Then last expression can be developed using the quaternion properties of associativity
and the conjugate of a product:

p = ε2 ⊗ (ε1 ⊗ p ⊗ ε∗1 ) ⊗ ε∗2


= (ε2 ⊗ ε1 ) ⊗ p ⊗ (ε2 ⊗ ε1 )∗  a = R(ε2 ⊗ ε1 )a
4.4 Unit Quaternions 211

From last expression it arise the rotation identity, (Goldstein 1950):

R(ε1 )R(ε2 ) = R(ε3 ), ≡ ε3 = ε1 ⊗ ε2 (4.45)

which means that the unit quaternion that expresses a composed rotation is indeed the
product of the unit quaternions that represents each one the original single rotations,
in exactly the same order of the rotation matrix products.

Remark Notice also that using the rotation identity (4.45) and conjugate rotation
(4.31) it arise the following relationships:

ε1 = ε3 ⊗ ε∗2 
ε2 = ε∗1 ⊗ ε3

Example 4.4 For example the unit quaternion representing the roll-pitch-yaw angles
convention is given by the quaternion product (refer to (B.10)) of the quaternions
representing the basic rotation in proper order:
⎛ ⎞ ⎛ ⎞ ⎛ ⎞
cos ψ2 cos 2θ cos φ2
⎜ ⎟ ⎜ ⎟
⎜ 0 ⎟ ⎜ 0 ⎟ ⎟ ⎜ sin φ2 ⎟
εr py = εz,ψ ⊗ ε y,θ ⊗ εx,φ =⎜ ⎟⊗⎜ ⎜ ⎟ ⊗ ⎜ ⎟
⎜ 0 ⎟ ⎝ sin θ ⎠ ⎜ 0 ⎟
⎝ ⎠ 2 ⎝ ⎠
sin ψ2 0 0
⎛ ⎞
cos φ2 cos 2θ cos ψ2 + sin φ2 sin 2θ sin ψ2
⎜ φ ⎟
⎜sin cos θ cos ψ − cos φ sin θ sin ψ ⎟
⎜ 2 2 2 2 2 2⎟
=⎜ ⎟ (4.46)
⎜cos φ2 sin 2θ cos ψ2 + sin φ2 cos 2θ sin ψ2 ⎟
⎝ ⎠
cos φ2 cos 2θ sin ψ2 − sin φ2 sin 2θ cos ψ2

Example 4.5 Equivalently the quaternion for the Euler zyz angles arise after the
following quaternion product
⎛ ⎞ ⎛ ⎞ ⎛ ⎞
cos α2 cos β2 cos γ2
⎜ 0 ⎟ ⎜ 0 ⎟ ⎜

0 ⎟
⎜ ⎟ ⎜ ⎜ ⎟ ⎜ ⎟
εzyz = εz,α ⊗ ε y,β ⊗ εz,γ =⎜ ⊗
⎟ ⎜ β⎟⊗⎜ ⎟
⎝ 0 ⎠ ⎝ sin 2 ⎠ ⎝ 0 ⎠
α γ
sin 2 0 sin 2
⎛ ⎞
cos α2 cos β2 cos γ2 − sin α2 cos β2 sin γ2
⎜ ⎟
⎜ cos α sin β sin γ − sin α sin β cos γ ⎟
⎜ 2 2 2 2 2 2 ⎟
=⎜ ⎟
⎜ cos α2 sin β2 cos γ2 + sin α2 sin β2 sin γ2 ⎟
⎝ ⎠
cos α2 cos β2 sin γ2 + sin α2 cos β2 cos γ2
212 4 Attitude Representations

Notice that due to the symmetry of the zyz Euler angle representation, the equiv-
alent quaternion above can be simplified further as:
⎛  ⎞ ⎛  ⎞
cos β2 cos α2 cos γ2 − sin α2 sin γ2 cos β2 cos γ+α
2
⎜  ⎟ ⎜  ⎟
⎜ sin β cos α sin γ − sin α cos γ ⎟ ⎜ sin β sin γ−α ⎟
⎜ 2
 2 2 2 2 ⎟ ⎜
⎟ = ⎜ 2
 2
⎟
εzyz =⎜ ⎟ (4.47)
⎜ sin β2 cos α2 cos γ2 + sin α2 sin γ2 ⎟ ⎜ sin β2 cos γ−α ⎟
⎝ ⎠ ⎝ 2 ⎠
β  γ γ  β  γ+α 
cos 2 cos α2 sin 2 + sin α2 cos 2 cos 2 sin 2

Example 4.6 After last example, a simple inverse analytic solution for the Euler
angles zyz is found. Notice that after last expression (4.47) the following relationships
arise:
 
ε3 γ+α γ+α
= tan ⇒ arctan2(ε3 , ε0 ) =
ε0 2 2
 
ε1 γ−α γ−α
= tan ⇒ arctan2(ε1 , ε2 ) =
ε2 2 2
β
ε20 + ε23 = cos2
2
2 β
ε1 + ε2 = sin
2 2
⇒ ε20 + ε23 − ε21 − ε22 = cos β
2
then

α = arctan2(ε3 , ε0 ) − arctan2(ε1 , ε2 ) ∈ [−π, π] (4.48a)


 
β = arccos ε20 − ε21 − ε22 + ε23 ∈ [0, π] (4.48b)
γ = arctan2(ε3 , ε0 ) + arctan2(ε1 , ε2 ) ∈ [−π, π] (4.48c)

Remark: Particular attention must be paid for the singular configuration of this
representation i.e.when β = {0, ±π}.

4.4.4 Angular Velocity with Quaternions

The angular velocity as function of the quaternion can be found by replacing the
quaternion–axis/angle parameters equivalences in the kinematic equation (3.52) as
follows:
First, calculate the time derivatives of expressions (4.35a)–(4.35b), and use the
trigonometric equivalences (4.35a), (4.37), and (4.38b):
4.4 Unit Quaternions 213

%
ϑ̇ ϑ ϑ̇
ε̇0 = − sin =− 1 − ε20
2 2 2
%
ϑ ϑ̇ ϑ εv ϑ̇
ε̇v = λ̇ sin + λ cos = λ̇ 1 − ε20 + % ε0
2 2 2 2 2
1 − ε0

Then the time derivatives of the Euler Parameters can be expressed as function of
the quaternions and their time derivatives as:

2ε̇0
ϑ̇ = − % (4.49)
1 − ε20
1 ε0 ε̇0
λ̇ = % ε̇v + 3/2
εv (4.50)
1 − ε20 (1 − ε20 )

4.4.4.1 Angular Velocity in Base Frame Coordinates

Replacing (4.49)–(4.50) in the angular velocity expression (3.52) and using again
equivalences given by (4.37), (4.41), and (4.42), the angular velocity yields

ω (0) = −2ε̇0 εv + 2ε0 ε̇v + 2[εv ×]ε̇v (4.51)

from which quaternions’ the Attitude Kinematic Operator Jθ (ε) ∈ R3×4 arise after
definition (3.63):

∂ω (0)  
Jθ (ε) 
0
= −2εv , 2ε0 I3 + 2[εv ×] (4.52)
∂ ε̇
Then the angular velocity, with base frame coordinates can also be expressed as

ω (0) = 0Jθ (ε) ε̇ = 2 0Jε (ε)ε̇ (4.53)

where ⎡ ⎤
  −ε1 ε0 −ε3 ε2
0
Jε (ε)  −εv , ε0 I3 + [εv ×] = ⎣ −ε2 ε3 ε0 −ε1 ⎦ (4.54)
−ε3 −ε2 ε1 ε0

Remark Notice that the Attitude Kinematic Operator (4.52) arise directly from gen-
eral expression (3.70) when the Rotation matrix is expressed in the form given by
(4.30b); but it differs largely if expression (4.30a) is used instead, yielding:
   
Jθa (ε) = 2 −εv 2(1 − ε20 ) − 1 , ε0 I + [εv ×] + 2 εv εvT ε0
0
(4.55)
214 4 Attitude Representations

However notice that the 1st order expression of unit quaternion constraint (4.29) is
expressed as

d  
ε2 = ε̇T ε + εT ε̇ = 2εT ε̇ = 0 ⇒ εT ε̇ = 0 (4.56)
dt

and in consequence the product ω (0) = 0Jθ (ε)ε̇ = 0Jθa (ε)ε̇. Hence, the operator
(4.55) can also be used to compute the angular velocity of a frame. However (4.54)
is more simple.
Notice however that expression (4.30b) is indeed equivalent to the form given in
(B.23c) which does not requires the unit quaternion constraint, but whose inverse
needs to be divided by the quaternions norm. Then the derivation of (4.54) using
(4.30b) seems more directly even if the resulting arguments are constraint to be unit
quaternions.

4.4.4.2 Angular Velocity in Current Frame Coordinates

Replacing (4.49)–(4.50) in (3.53) and using again equivalences given by (4.37),


(4.40), (4.41), and (4.42), the angular velocity of a moving frame with local coordi-
nates is given as

ω (1) = −2ε̇0 εv + 2ε0 ε̇v − 2[εv ×]ε̇v (4.57)

then the Attitude Kinematic Operator 1Jθ (ε) ∈ R3×4 arise after definition (3.63) as
follows:
∂ω (1)
1
Jθ (ε)  = 2 1Jε (ε) (4.58)
∂ ε̇
Then the angular velocity, with local frame coordinates can also be expressed as

ω (1) = 1Jθ (ε) ε̇ = 2 1Jε (ε)ε̇ (4.59)

where ⎡ ⎤
  −ε1 ε0 ε3 −ε2
1
Jε (ε)  −εv , ε0 I3 − [εv ×] = ⎣ −ε2 −ε3 ε0 ε1 ⎦ (4.60)
−ε3 ε2 −ε1 ε0

Remark Notice that according to Theorem 3.6 the attitude kinematic identities hold
straight forward:

∂ω (0)  ∂ω (1)  
= 0J˙θ − ω (0) × 0Jθ = 1J˙θ + ω (1) × 1Jθ
∂θ ∂θ
4.4 Unit Quaternions 215

4.4.4.3 The Angular Velocity in Quaternion Form

Consider the angular velocity vectors in quaternion form (with null real part for pure
vector representation):
   
0 0
ω q(0)  , and ω q(1) 
ω (0) ω (1)

Then, the direct kinematic equations (4.51) and (4.57) can be extended to the
quaternion dimension by including the 1st time derivative of unit quaternion restric-
tion (4.56):
 
εT
ω q(0) = 2 ε̇ (4.61a)
0
Jε (ε)
 T 
ε
ω q(1) =2 1 ε̇ (4.61b)
Jε (ε)

Notice that the square matrices in (4.61) are indeed the left and right [quaternion]
product operators defined in (B.14)–(B.15), evaluated with the conjugate quaternion.
These order −4 product operators are indeed orthogonal matrices for unit quaternions
with positive determinant, hence they belong to the Special Orthogonal group of
order 4:
⎡ ⎤
    ε0 ε1 ε2 ε3
εT ε0 εvT ⎢ −ε1 ε0 −ε3 ε2 ⎥
= =⎢
⎣ −ε2
⎥ = FR (ε∗ ) ∈ S O(4)
0J (ε)
ε −εv ε0 I + [εv ×] ε3 ε0 −ε1 ⎦
−ε3 −ε2 ε1 ε0
⎡ ⎤
    ε0 ε1 ε2 ε3
εT ε0 εvT ⎢ −ε1 ε0 ε3 −ε2 ⎥
= =⎢
⎣ −ε2
⎥ = FL (ε∗ ) ∈ S O(4)
1J (ε)
ε −εv ε0 I − [εv ×] −ε3 ε0 ε1 ⎦
−ε3 ε2 −ε1 ε0

Then quaternion form direct kinematic expressions (4.61) may be written in either
of the following forms:

ω q(0) = 2FR (ε∗ )ε̇ = 2 ε̇ ⊗ ε∗ (4.62a)


ω q(1) = 2FL (ε∗ )ε̇ = 2 ε∗ ⊗ ε̇ (4.62b)

4.4.5 Attitude Inverse Kinematics for the Quaternion


Representation

The inverse kinematics consists in inverting either (4.53) or (4.59) or both to get the
time derivative ε̇ = f −1 (ε, ω (i) ) as a function of the real attitude of the moving frame
216 4 Attitude Representations

and the its time change rate. However, since the dimension of the attitude quaternions
and that of the angular velocity is not the same, the attitude kinematic operators i Jθ for
quaternions representation are not square matrices, and in consequence not invertible.
However, there are at least to options to get a proper inverse mapping. Both use
the quaternion extended form of the angular velocity expressions (4.62), which are
explained in the following subsections.

4.4.5.1 Using Attitude Kinematic Operators

The first way to get the inverse kinematic mapping consist in inverting the kinematic
expressions (4.62) after its linear algebra expression:

1 −1 ∗ (0)
ω q(0) = 2FR (ε∗ )ε̇ ⇔ ε̇ = F (ε )ω q
2 R
1
ω q(1) = 2FL (ε∗ )ε̇ ⇔ ε̇ = FL−1 (ε∗ )ω q(0)
2
Since orthogonal matrices of unit determinant have the property of having its
inverse equal to its transpose, it follows that:
 
 ε0 −εvT
FR−1 (ε∗ ) = FRT (ε∗ ) = FR (ε) = ε Jε (ε)
1 0 T
=
2 εv ε0 I − [εv ×]
  ε −εvT

FL−1 (ε∗ ) = FLT (ε∗ ) = FL (ε) = ε 1 1 T
Jε (ε) = 0
2 εv ε0 I + [εv ×]

Then the inverse kinematic equations are easily obtained as follows:

1
ε̇ = FR (ε) ω q(0) (4.63a)
2
1
= FL (ε) ω q(1) (4.63b)
2
These equations may be reduced since the real part of the angular velocity quater-
nion is, by definition, zero. Then the above equation can be reduced to the following:

 
10 T 1 −εvT
ε̇ = Jε (ε) ω (0) = ω (0) = 0Jθ+ (ε) ω (0) (4.64a)
2 2 ε0 I − [εv ×]
 
1 1 −εvT
= 1JεT (ε) ω (1) = ω (1) = 1Jθ+ (ε) ω (1) (4.64b)
2 2 ε0 I + [εv ×]

where the pseudoinverse matrices of the quaternion’s attitude kinematic operators


are
4.4 Unit Quaternions 217
⎡ ⎤
 −ε1 −ε2 −ε3
1 1 −εvT 1⎢ ε0 ε3 −ε2 ⎥
0 +
Jθ (ε) = Jε (ε) =
0 T
= ⎢ ⎥ (4.65a)
2 2 ε0 I − [εv ×] 2 ⎣ −ε3 ε0 ε1 ⎦
ε2 −ε1 ε0
⎡ ⎤
  −ε1 −ε2 −ε3
1 1 −εvT 1⎢ ε0 −ε3 ε2 ⎥
1 +
Jθ (ε) = Jε (ε) =
1 T
= ⎢ ⎥ (4.65b)
2 2 ε0 I + [εv ×] 2 ⎣ ε3 ε0 −ε1 ⎦
−ε2 ε1 ε0

Remark Expressions (4.65) are indeed the right pseudoinverse matrices of (4.52)–
(4.58):
 
0 +
 −εvT
0
Jθ (ε) Jθ (ε) = Jε (ε)
0
= −εv ε0 I + [εv ×]
Jε (ε)
0 T
=I
ε0 I − [εv ×]
 
 −εvT
1
Jθ (ε) 1Jθ+ (ε) = 1Jε (ε) 1JεT (ε) = −εv ε0 I − [εv ×] =I 
ε0 I + [εv ×]

4.4.5.2 Using the Quaternion Product

The second way to get the inverse kinematic mapping consist in inverting the kine-
matic expressions (4.62) after its quaternion product expression:
1 (0)
ω q(0) = 2 ε̇ ⊗ ε∗ ⇔ ε̇ = ω ⊗ε (4.66a)
2 q
1
ω q(1) = 2 ε∗ ⊗ ε̇ ⇔ ε̇ = ε ⊗ ω q(1) (4.66b)
2
which are fully equivalent to expressions (4.63).

Remark Equations (4.66) can also be written with the same left and right product
operators in the following way:
1 1
ε̇ = FL (ω (0) )ε = FR (ω (1) )ε (4.67)
2 2
where both above mentioned operators become skew symmetric matrices of order 4
when evaluated with 3D vectors:
 T   
(1) T
(0) 1 0 −ω (0) (1) 1 0 −ω 
FL (ω ) = ; FR (ω ) =
2 ω (0) ω (0) × 2 ω (1) − ω (1) ×

Then the product (4.67) is consistent with the 1st order version of the unit quater-
nion constraint (4.56):

1 T 1 
εT ε̇ = ε FL (ω (0) )ε = εT FR (ω (1) )ε = 0
2 2
218 4 Attitude Representations

4.4.5.3 Computational Evaluation

Numerical computational evaluation can lead to numerical errors due to the floating
point of the used processor. When integrating this computational evaluation, the
numerical error will generate a numerical drift along the numerical integration which
may produce quaternions whose magnitude in no longer the unit. To avoid this
undesired effect two actions can be used independently or at the same time.

1. The first action is to normalize the integrator output quaternion εo at each inte-
gration step:
εk
ε̂k = (4.68)
εk 

such that the numerical norm of the used quaternion is forced to be the unit:
) )
)ε̂k ) = 1

2. The second or alternative action is to induce a stable equilibrium manifold in


the quaternion dynamical behaviour such that limk→∞ εk  = 1. This can be
achieved using the inverse kinematics (4.66), and replacing the null real part of
the quaternion ω q by a manifold α:
 
α
ω̂ q 
ω

which allows to rewrite the inverse kinematic expression (4.66) as:

1 1 (0) 10 T α
ε̇ = FR (ε)ω̂ q(0) = ω̂ ⊗ ε = J (ε)ω (0) + ε (4.69a)
2 2 q 2 ε 2
1 1 1 α
= FL (ε)ω̂ q(1) = ε ⊗ ω̂ q(0) = 1JεT (ε)ω (1) + ε (4.69b)
2 2 2 2
that becomes the desired solutions (4.64) whenever α → 0.
In order to assure a stable dynamics with a zero equilibrium point α∗ = 0 at
ε = 1, such manifold must fulfill the following conditions:


⎨> 0 if ε < 1
α = 0 if ε = 1


< 0 if ε > 1

For instance, the following functions fulfill the above conditions


*  
a 1 − ε2
α= ∀a >0
a (1 − ε)
4.4 Unit Quaternions 219

Finally, numerical integration may lead to a result with negative values of ε0 .


Although this is not an erroneous result, it may not be desired if assumptions over
the positiveness of ε0 had been foreseen. To avoid any miscalculation, expression
(4.68) can be modified as follows in order to assure the positiveness of ε0 ≥ 0:
εk
ε̂k = sign(εk0 ) (4.70)
εk 

Remark This representation has no singularities, thus is the most suitable for numer-
ical applications. However, it uses four parameters instead of three that have no direct
physical representation. 

4.5 Rodrigues Parameters

Another representation for rotations is given by the following vector whose param-
eters are defined after the axis/angle parameters or quaternion representation as fol-
lows: ⎛ ⎞
ρ1
εv ϑ
ρ = ⎝ρ2 ⎠  = λ tan ∈ R3 ; ϑ = ±π (4.71)
ρ ε 0 2
3

These representation has been originally proposed by Rodrigues in 1840, before


the vector algebra, and reformulated by Gibbs in the early 1900’s, in its vector form.
Therefore this vector is known either as the Rodrigues’ vector or Gibbs’ vector whose
coordinates are the so called Rodrigues parameters, (Shuster 1993).
Due to definition (4.71), Rodrigues’s parameters are ill conditioned for the par-
ticular solution of ε0 = 0, i.e. at ϑ = ±π, which represents a rotation of 180◦ in any
of the main axis direction.
By the unit magnitude restriction for orientation quaternions (i.e. εT ε = 1), and
from definition above, it can be found that:

1
ε0 = ! (4.72)
1 + ρT ρ
1
ε v = ε0 ρ = ! ρ (4.73)
1 + ρT ρ

Then the Rotation Matrix can be found by replacing last relationships in (4.30),
arising:

2 
R(ρ) = I + [ρ×] + [ρ×]2 ∈ S O(3)
1+ρ ρ
T

(4.74a)
220 4 Attitude Representations
  −1
equivalently after (A.39b): R(ρ) = I + [ρ×] I − [ρ×] (4.74b)
 −1  
and after property (A.36): R(ρ) = I − [ρ×] I + [ρ×] (4.74c)
1 
and also after (A.39a): R(ρ) = I + ρT ρI + 2[ρ×] + 2[ρ×]2
1+ρ ρ
T

(4.74d)

and more explicitly as


⎡ ⎤
1 + ρ21 − ρ22 − ρ23 2(−ρ3 + ρ1 ρ2 ) 2(ρ2 + ρ1 ρ3 )
1 ⎣ 2(ρ3 + ρ1 ρ2 ) 1 − ρ21 + ρ22 − ρ23 2(−ρ1 + ρ2 ρ3 ) ⎦
R(ρ) =
1 + ρT ρ 2(−ρ2 + ρ1 ρ3 ) 2(ρ1 + ρ2 ρ3 ) 1 − ρ21 − ρ22 + ρ23
(4.74e)

where expression (4.74b) is generally known as Cayley’s formula, (Shuster 1993).

Remarks
• Notice that
R(−ρ) = R T (ρ) (4.75)

• A null Gibb’s vector is equivalent to a null rotation:

ρ=0 ≡ R=I ≡ ϑ=0 ≡ ε0 = 1

• Finally, after the rotation identity (4.45) and the Rodrigues’ parameters definition
(4.71) if can be seen that the Gibb’s vector for a composed rotation is indeed:

ρ1 + ρ2 + ρ1 × ρ2 
R(ρ1 )R(ρ2 ) = R(ρ3 ) ⇔ ρ3 =
1 − ρ1 · ρ2

4.5.1 Computing Gibb’s Vector from a Rotation Matrix

The inverse problem of getting Gibb’s vector can be solve by different methods. The
direct method consist in extracting the skew symmetric part of the rotation matrix
given in (4.74a) as:
4
R − RT = [ρ×]
1 + ρT ρ

Notice after expression (4.74e) that

3 − ρ21 − ρ22 − ρ23 3 − ρT ρ


T r {R(ρ)} = =
1 + ρ1 + ρ2 + ρ3
2 2 2 1 + ρT ρ
4.5 Rodrigues Parameters 221

From which it arise the following identity:

4
T r {R(ρ)} + 1 =
1 + ρT ρ

Then the skew symmetric expression of Gibb’s vector yields:

1 
[ρ×] = R − RT
T r {R} + 1

from which the Rodrigues parameters expression arise as:


⎛ ⎞ ⎛ ⎞
ρ1 r32 − r23
1
ρ = ⎝ ρ2 ⎠ = ⎝ r13 − r31 ⎠ (4.76)
ρ3 r 11 + r 22 + r 33 + 1 r21 − r12

4.5.2 Angular Velocity and Rodrigues Parameters

4.5.2.1 Angular Velocity in Base Frame Coordinates

For this particular representation, the angular velocity expression is easier to obtain
directly form quaternion’s velocity expression (4.51), instead of using Ṙ R T = [ω×].
Then by substitution of expression (4.73) and its time derivative ε̇v = ε̇0 ρ + ε0 ρ̇ in
the angular velocity expression (4.51), it yields:

ω (0) = −2ε̇0 ε0 ρ + 2ε0 (ε̇0 ρ + ε0 ρ̇) + 2ε0 [ρ×] (ε̇0 ρ + ε0 ρ̇)


 
= 2ε20 I + [ρ×] ρ̇

and when using expression (4.72) yields to the angular velocity with Rodrigues
parameters:
2  
ω (0) = I + [ρ×] ρ̇ (4.77)
1 + ρT ρ

From which the base Attitude Kinematic Operator 0Jθ (ρ) ∈ R3×3 for Gibb’s vector
can be computed:
⎡ ⎤
  1 −ρ3 ρ2
∂ω (0) 2 2 ⎣ ρ3 1 −ρ1 ⎦
0
Jθ (ρ)  = I + [ρ×] =
∂ ρ̇ 1 + ρT ρ 1 + ρT ρ −ρ ρ 1
2 1
(4.78)
222 4 Attitude Representations

4.5.2.2 Angular Velocity in Current Frame Coordinates

For the current frame expression of the angular velocity, it can be computed as in the
previous paragraph but using expressions (4.60). Then by substitution of expression
(4.73) and its time derivative ε̇v = ε̇0 ρ + ε0 ρ̇ in the angular velocity expression
(4.51), it yields:

ω (1) = −2ε̇0 ε0 ρ + 2ε0 (ε̇0 ρ + ε0 ρ̇) − 2ε0 [ρ×] (ε̇0 ρ + ε0 ρ̇)


2  
= I − [ρ×] ρ̇ (4.79)
1 + ρT ρ

and the local Attitude Kinematic Operator 1Jθ (ρ) ∈ R3×3 for Gibb’s vector becomes:

∂ω (1) 2  
1
Jθ (ρ)  = I − [ρ×] = 0JθT(ρ)
∂ ρ̇ 1 + ρT ρ

Remark Notice that according to Theorem 3.6 the attitude kinematic identities hold
straight forward:

∂ω (0)  ∂ω (1)  
= 0J˙θ − ω (0) × 0Jθ = 1J˙θ + ω (1) × 1Jθ
∂θ ∂θ

4.5.3 Attitude Inverse Kinematics for Gibb’s Representation

The inverse kinematic equation for the Gibb’s vector representation, takes either of
the following forms:
0 −1
Jθ (ρ) ω (0)
ρ̇ = (4.80)
0 −T
Jθ (ρ) ω (1)

where the inverse matrices 0Jθ−1(ρ) and 0Jθ−T(ρ) are calculated using property (A.35)
as:

0 −1 1
Jθ (ρ) = I + ρρT − [ρ×]
2
0 −T 1
Jθ (ρ) = I + ρρT + [ρ×] = 1Jθ−1 (ρ)
2
which are full range matrices (with no singularities ever).

Remark This description is valid for the open set ϑ ∈ (−π, π), where ϑ is the pure
rotation of axis/angle parameters. The extreme points ϑ = {−π, π} are ill condi-
tioned, not as a singular points in the kinematic equation, but because of the very
definition of Gibb’s parameters. 
Table 4.2 Table of Rotation Matrices for the Attitude representations
θ R(θ) ∈ S O(3) θ(ri j ) ∈ Rm
 
r11 + r22 + r33 − 1
I + [λ×]sϑ + [λ×]2 vϑ = e[λ×]ϑ = ϑ = arccos ∈ [0, π]
" ⎡ ⎤
ϑ ⎛ 2⎞
θ ep  ∈ R3 × S λ2x vϑ + cϑ λx λ y vϑ − λz sϑ λx λz vϑ + λ y sϑ r32 − r23
λ ⎢ ⎥ 1 ⎜ ⎟
⎣λx λ y vϑ + λz sϑ λ2y vϑ + cϑ λ y λz vϑ − λx sϑ ⎦ λ= ⎝ r13 − r31 ⎠ ∀ ϑ = {0, ±π}
2 2 sin ϑ
4.5 Rodrigues Parameters

λx λz vϑ − λ y sϑ λ y λz vϑ + λx sϑ λz vϑ + cϑ r21 − r12
"
⎛ ⎞ ⎡ ⎤ −r31
φ cψ cθ −sψ cφ + cψ sθ sφ sψ sφ + cψ sθ cφ θ = arctan ! ∈ [−π/2, π/2]
⎜ ⎟ ⎢ ⎥ r11 2 + r21 2
θr py  ⎝ θ ⎠ ∈ T3 ⎣sψ cθ cψ cφ + sψ sθ sφ −cψ sφ + sψ sθ cφ ⎦
φ = arctan2 (r32 , r33 ) ∈ [−π, π]
ψ −sθ cθ sφ cθ cφ
ψ = arctan2 (r21 , r11 ) ∈ [−π, π]
√ 
⎛ ⎞ ⎡ ⎤ r13 2 +r23 2
α cα cβ cγ − sα sγ −cα cβ sγ − sα cγ cα sβ β = arctan r33 ∈ [−π/2, π/2]
⎜ ⎟ ⎢ ⎥  
θ zyz  ⎝ β ⎠ ∈ T3 ⎣sα cβ cγ + cα sγ −sα cβ sγ + cα cγ sα sβ ⎦ α = arctan2 rs23β , rs13β ∈ [−π, π]
γ −sβ cγ sβ sγ cβ  
r32 −r31
γ = arctan2 sβ , sβ ∈ [−π, π]
I + 2ε0 [εv ×] + 2[εv ×]2 = 1√
" ε0 = 2 r11 +√ r22 + r33 + 1
⎡ ⎤
ε0 2(ε20 + ε21 ) − 1 2(ε1 ε2 − ε0 ε3 ) 2(ε1 ε3 + ε0 ε2 ) ε1 = sign(r32 − r23 ) 21 r11 − r22 − r33 + 1
ε= ∈ R4 ⎢ ⎥ √
εv ⎣2(ε1 ε2 + ε0 ε3 ) 2(ε20 + ε22 ) − 1 2(ε2 ε3 − ε0 ε1 )⎦ ε2 = sign(r13 − r31 ) 21 −r11 + r22 − r33 + 1

2(ε1 ε3 − ε0 ε2 ) 2(ε2 ε3 + ε0 ε1 ) 2(ε20 + ε23 ) − 1 ε3 = sign(r21 − r12 ) 21 −r11 − r22 + r33 + 1
   −1
⎛ ⎞ I + 1+ρ2 T ρ [ρ×] + [ρ×]2 = I + [ρ×] I − [ρ×] = ⎛ ⎞ ⎛ ⎞
ρ1 ⎡ ⎤ ρ1 r32 − r23
⎜ ⎟ ⎜ ⎟ 1 ⎜ ⎟
ρ = ⎝ρ2 ⎠ ∈ R3 1 + ρ21 − ρ22 − ρ23 2(−ρ3 + ρ1 ρ2 ) 2(ρ2 + ρ1 ρ3 ) ⎝ ρ2 ⎠ = ⎝ r13 − r31 ⎠
⎢ ⎥ r11 + r22 + r33 + 1
ρ3 ⎣ 2(ρ3 + ρ1 ρ2 ) 1 − ρ21 + ρ22 − ρ23 2(−ρ1 + ρ2 ρ3 ) ⎦ ρ3 r21 − r12
2(−ρ2 + ρ1 ρ3 ) 2
2(ρ1 + ρ2 ρ3 ) 1 − ρ1 − ρ2 + ρ32 2
223
224

Table 4.3 Conversion table for the axis/angle representation


⎛ ⎞
ε0 ⎛ ⎞ ⎛ ⎞ ⎛ ⎞
⎜ε ⎟ ρ1 φ α
⎜ 1⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟
(ϑ, λ) ε = ⎜ ⎟ ∈ R4 ρ = ⎝ρ2 ⎠ ∈ R3 θr py = ⎝ θ ⎠ ∈ T3 θ zyz = ⎝β ⎠ ∈ T3
⎝ε 2 ⎠
ρ3 ψ γ
ε3
x = cψ cθ +cψ cφ +cθ cφ + sφ sθ sψ  (α + γ)
x = cβ + (1+ cβ ) cos
  x −1 x −1
ϑ = 2 arctan2 εv , ε0 = 2 arctan (ρ) ϑ = arccos ϑ = arccos
2 2
∈ [0, 2π] ∈ [0, π] ∈ [0, π] ∈ [0, π]
After R(·) After R(·)
⎛ ⎞ ⎛ ⎞
(cθ + cψ )sφ − sψ sθ cφ sβ (sγ − sα )
εv ρ 1 ⎜ ⎟ 1 ⎜ ⎟
λ
⎛=⎞ λ= λ= λ= ⎝ sφ sψ + (cφ cψ + 1)sθ ⎠ λ= ⎝ sβ (cγ + cα ) ⎠
λx ε v  ρ 2 sin(ϑ) 2 sin(ϑ)
⎜ ⎟ sψ (cθ + cφ ) − cψ sθ sφ (1 + cβ ) sin(α + γ)
⎝λ y ⎠
λz
∈ R3
or after quaternions or
λ = 1
⎛ φ ψ⎞ ⎛ β  γ−α  ⎞
sin 2 cos 2θ cos ψ2 − cos φ2 sin 2θ sin 2 sin
2 sin 2
⎜ ψ⎟ ⎜ β  γ−α ⎟
2⎜ cos φ2 sin 2θ cos ψ2 + sin φ2 cos 2θ sin ⎟ ⎜ sin 2 cos 2

⎝ 2⎠ 2⎝
ψ β  γ+α ⎠
cos φ2 cos 2θ sin ψ2 − sin φ2 sin 2θ cos 2 cos 2 sin 2
= √ λ= √
3−x 3−x
4 Attitude Representations
4.5 Rodrigues Parameters

Table 4.4 Conversion table for the quaternion representation


" ⎛ ⎞ ⎛ ⎞ ⎛ ⎞
ε0 " ρ1 φ α
ε= ∈ R4 ϑ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟
εv θ ep = ∈ R3 × S ρ = ⎝ρ2 ⎠ ∈ R3 θr py = ⎝ θ ⎠ ∈ T3 θ zyz = ⎝β ⎠ ∈ T3
λ
ε = 1 ρ3 ψ γ
⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ε ⎛  ⎞
ε0 cos ϑ2 1 ⎛= φ ψ⎞ cos β2 cos γ+α
2
⎜ ⎟ ⎜ ⎟ ⎜ ⎟ cos 2 cos 2θ cos ψ2 + sin φ2 sin 2θ sin 2 ⎜   ⎟
⎜ ε1 ⎟ ϑ ⎜ρ1 ⎟ ⎜ φ ⎟
⎜ ⎟
⎜λx sin 2 ⎟
⎜ ⎟ 1 ⎜ ⎟ ⎜sin 2 cos 2θ cos ψ2 − cos φ2 sin 2θ sin ψ⎟⎟
⎜ sin β2 sin γ−α
⎜ 2 ⎟
ε=⎜ ⎟ ε=⎜ ϑ ⎟ ε= ! ⎜ ⎟ ⎜ 2⎟ ε=⎜ β  γ−α  ⎟
⎜ε 2 ⎟ ⎜λ y sin 2 ⎟ 1 + ρ T ρ ⎜ρ2 ⎟ ⎜ ψ⎟ ⎜ sin 2 cos 2 ⎟
⎝ ⎠ ⎝ ⎠ ⎝ ⎠ ⎜cos φ2 sin 2θ cos ψ2 + sin φ2 cos 2θ sin ⎟ ⎝  ⎠
ϑ ⎝ 2⎠
ε3 λz sin 2 ρ3 ψ cos β2 sin γ+α
2
cos φ2 cos 2θ sin ψ2 − sin φ2 sin 2θ cos 2
225
226

Table 4.5 Conversion table for the Rodrigues parameters representation


⎛ ⎞ ⎛ ⎞
" " φ α
ϑ 3 ε0 ⎜ ⎟ ⎜ ⎟
θ ep = ∈R ×S ε= ∈ R4 θr py = ⎝ θ ⎠ ∈ T3 θ zyz = ⎝β ⎠ ∈ T3
λ εv
ψ γ
After R(·) After R(·)
⎛ ⎞
(cθ + cψ )sφ − sψ sθ cφ
⎜ ⎟
⎛ ⎞ ⎝ sφ sψ + (cφ cψ + 1)sθ ⎠
ρ1
⎜ ⎟ ϑ εv sψ (cθ + cφ ) − cψ sθ sφ
ρ = ⎝ρ2 ⎠ ρ = λ tan ρ= ρ= ρ =⎛ ⎞
2 ε0 cψ cθ + cψ cφ + cθ cφ + sφ sθ sψ + 1
ρ3 sβ (sγ − sα )
⎜ ⎟
⎝ sβ (cγ + cα ) ⎠
(1 + cβ ) sin(α + γ)
(1 + cβ ) cos(α + γ) + cβ + 1
∈ R3 Or after quaternions or
⎛  ⎞
sin β2 sin γ−α
2
⎜ β  ⎟
⎜sin 2 cos γ−α ⎟
⎝ 
2 ⎠

cos β2 sin γ+α2
ρ= ρ= β  γ+α 
⎛ φ ψ φ θ ψ⎞ cos 2 cos 2
sin 2 cos 2θ cos 2 − cos 2 sin 2 sin 2
⎜ ψ φ θ ψ⎟
⎜cos φ2 sin 2θ cos 2 + sin 2 cos 2 sin

⎝ 2⎠
ψ φ θ ψ
cos φ2 cos 2θ sin 2 − sin 2 sin 2 cos 2
φ θ ψ φ θ ψ
cos 2 cos 2 cos 2 + sin 2 sin 2 sin 2
4 Attitude Representations
Table 4.6 Conversion table for the RPY Euler angles attitude representations
θ θr py = (φ, θ, ψ)T ∈ T3
 
φ = arctan2 (λ y λz vϑ + λx sϑ ), (λ2z vϑ + cϑ ) ∈ [−π, π]
" ⎛ ⎞
ϑ −λx λz vϑ + λ y sϑ
θ ep = θ = arctan ⎝ % ⎠ ∈ [−π/2, π/2]
λ (λ2x vϑ + cϑ )2 + (λx λ y vϑ + λz sϑ )2
4.5 Rodrigues Parameters

 
ψ = arctan2 (λx λ y vϑ + λz sϑ ), (λ2x vϑ + cϑ ) ∈ [−π, π]
 
⎛ ⎞ φ = arctan2 (ε2 ε3 + ε0 ε1 ), (ε20 + ε23 − 21 ) ∈ [−π, π]
ε0 ⎛ ⎞
⎜ε ⎟
⎜ 1⎟ −ε 1 ε 3 + ε 0 ε 2
ε=⎜ ⎟ θ = arctan ⎝ % ⎠ ∈ [−π/2, π/2]
⎝ε 2 ⎠ (ε20 + ε21 − 21 )2 + (ε1 ε2 + ε0 ε3 )2
ε3  
ψ = arctan2 (ε1 ε2 + ε0 ε3 ), (ε20 + ε21 − 21 ) ∈ [−π, π]
 
φ = arctan2 2(ρ1 + ρ2 ρ3 ), (1 − ρ21 − ρ22 + ρ23 ) ∈ [−π, π]
⎛ ⎞ ⎛ ⎞
ρ1
⎜ ⎟ −2(ρ2 + ρ1 ρ3 )
ρ = ⎝ρ2 ⎠ θ = arctan ⎝ % ⎠ ∈ [−π/2, π/2]
2
(1 + ρ1 − ρ22 − ρ23 )2 + 4(ρ3 + ρ1 ρ2 )2
ρ3
 
ψ = arctan2 2(ρ3 + ρ1 ρ2 ), (1 + ρ21 − ρ22 − ρ23 ) ∈ [−π, π]
 
φ = arctan2 sβ sγ , cβ ∈ [−π, π]
⎛ ⎞ ⎛ ⎞
α
⎜ ⎟ sβ cγ
θ zyz = ⎝β ⎠ θ = arctan ⎝ % ⎠ ∈ [−π/2, π/2]
γ (cα cβ cγ − sα sγ )2 + (sα cβ cγ + cα sγ )2
 
ψ = arctan2 (sα cβ cγ + cα sγ ), (cα cβ cγ − sα sγ ) ∈ [−π, π]
227
228

Table 4.7 Conversion table for the ZYZ intrinsic Euler angles attitude representations, after (4.6)
θ θ zyz = (α, β, γ)T ∈ T3
   
α = arctan2 λz sin( ϑ2 ), cos( ϑ2 ) − arctan2 λx sin( ϑ2 ), λ y sin( ϑ2 ) ∈ [−π, π]
"
ϑ   
θ ep = β = arccos cos2 ( ϑ2 ) − sin2 ( ϑ2 ) λ2x + λ2y − λ2z ∈ [0, π]
λ
   
γ = arctan2 λz sin( ϑ2 ), cos( ϑ2 ) + arctan2 λx sin( ϑ2 ), λ y sin( ϑ2 ) ∈ [−π, π]
⎛ ⎞
ε0 α = arctan2(ε3 , ε0 ) − arctan2(ε1 , ε2 ) ∈ [−π, π]
⎜ε ⎟  
⎜ 1⎟
ε=⎜ ⎟ β = arccos ε20 − ε21 − ε22 + ε23 ∈ [0, π]
⎝ε 2 ⎠
ε3 γ = arctan2(ε3 , ε0 ) + arctan2(ε1 , ε2 ) ∈ [−π, π]
α = arctan(ρ3 ) − arctan2(ρ1 , ρ2 ) ∈ [−π, π]
⎛ ⎞
ρ1 "
⎜ ⎟ 1 − ρ21 − ρ22 + ρ23
ρ = ⎝ρ2 ⎠ β = arccos ∈ [0, π]
1 + ρ21 + ρ22 + ρ23
ρ3
γ = arctan(ρ3 ) + arctan2(ρ1 , ρ2 ) ∈ [−π, π]
⎛% ⎞
(sψ sφ + cψ sθ cφ )2 + (−cψ sφ + sψ sθ cφ )2
β = arctan ⎝ ⎠ ∈ [−π/2, π/2]
⎛ ⎞ cθ cφ
φ
⎜ ⎟  
θr py = ⎝θ ⎠ −cψ sφ + sψ sθ cφ sψ sφ + cψ sθ cφ
α = arctan2 , ∈ [−π, π]
ψ sβ sβ
 
cθ sφ sθ
γ = arctan2 , ∈ [−π, π]
sβ sβ
4 Attitude Representations
Table 4.8 Kinematics Operators table for 5 different attitude representations
+
θ θ
0J (θ)
θ
1J (θ) 0J + (θ) 1J (θ)
⎡θ ⎤ ⎡θ ⎤
4.5 Rodrigues Parameters

"
ϑ     λT λT
θ ep = λ I sϑ + [λ×]vϑ λ I sϑ − [λ×]vϑ ⎣ ⎦ ⎣ ⎦
λ 1 1 ϑ 2
− 21 [λ×] − 21 cot ϑ2 [λ×]2
" ⎡ ⎤ ⎡
2 [λ×] − 2 cot⎤2 [λ×]

ε0     −εvT −εvT
1 ⎣ ⎦ 1 ⎣ ⎦
ε= 2 −εv ε0 I + [εv ×] 2 −εv ε0 I − [εv ×] 2 2
εv ε0 I − [εv ×] ε0 I + [εv ×]
⎛ ⎞
ρ1        
⎜ ⎟ 2 2 1 1
ρ = ⎝ρ2 ⎠ T
I + [ρ×] T
I − [ρ×] 2 I + ρρT − [ρ×] 2 I + ρρT + [ρ×]
1+ρ ρ 1+ρ ρ
ρ3
⎛ ⎞ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤
φ cθ cψ −sψ 0 1 0 −sθ cψ /cθ sψ /cθ 0 1 sφ tθ cφ t θ
⎜ ⎟ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥
θr py = ⎝ θ ⎠ ⎣cθ sψ cψ 0⎦ ⎣0 cφ sφ cθ ⎦ ⎣ −sψ cψ 0⎦ ⎣0 c φ −sφ ⎦
ψ −s 0 1 0 −sφ cφ cθ t c t s 1 0 s /c cφ /cθ
⎛ ⎞ ⎡ θ ⎤ ⎡ ⎤ ⎡ θ ψ θ ψ ⎤ ⎡ φ θ ⎤
α 0 −sα cα sβ −sβ cγ sγ 0 −cα /tβ −sα /tβ 1 −cγ /sβ sγ /sβ 0
⎜ ⎟ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥
θ zyz = ⎝β ⎠ ⎣0 cα sα sβ ⎦ ⎣ sβ sγ cγ 0⎦ ⎣ −sα cα 0 ⎦ ⎣ sγ cγ 0⎦
γ 1 0 cβ cβ 0 1 cα /sβ sα /sβ 0 cγ /tβ −sγ /tβ 1
229
230 4 Attitude Representations

4.6 Resume

In Tables 4.2, 4.3, 4.4, 4.5, 4.6, 4.7 and 4.8, a resume for the 5 attitude parameters
representations presented in this chapter is exposed. In Table 4.2, the shape of the
Rotation matrix and the way to extract the attitude parametrization is shown. Tables
4.3-4.7 show equivalence conversions from any of these representation to: the pair
of rotation, quaternions, Gibb’s vector, the extrinsic roll-pitch-yaw Euler angles, and
the intrinsic zyz Euler angles representations. Finally, a comparison for the kinematic
operators is presented in the Table 4.8.
Chapter 5
Dynamics of a Rigid Body

If D’Alembert principle is used on the particles of a rigid body, the principle would
state:
When a rigid body that is in equilibrium (either static of dynamic) is subject to virtual
compatible displacements, the total virtual work of all external forces is zero; and conversely,
if the total virtual work of all external forces acting on a rigid body is zero then the body is
in equilibrium. (Lanczos 1970).

The expression compatible displacements means that the particles remain in con-
tact and displace together so that the work done by pairs of action/reaction inter-
particle forces cancel out. These action/reaction forces between particles are indeed
the restrictive forces that constraint the particles to remain in a constant configuration.
The derivation of the equation of motions for a rigid object that moves freely in the
3D space (Euclidean space), using the Newton’s laws, yields equations that should
be referenced to an inertial frame, as stated in the first law. The second law, applied
to the full set of small differential particles of differential of mass dm that complete
the rigid body shall give the desired mathematical differential equation. Finally, the
third law is used together with the fact that the body is rigid, i.e. that the position
between the differential particles is constant. This particular fact, allows to eliminate
almost all the differential of forces d f , that acts in each particle when adding all of
them. The remanent effective force shall then be induced only by external forces on
the body and not from the inner ones, that cancel one to another. So the equation of
linear motion shall be given by the solution of
 
d ṗ = df = f (5.1)
B B

where the integration is along all the body, the differential of momentum d p is given
by the velocity ḋ p of the particle p and the differential of mass as follows:

d p = ḋ p dm
© Springer Nature Switzerland AG 2019 231
E. Olguín Díaz, 3D Motion of Rigid Bodies, Studies in Systems,
Decision and Control 191, https://doi.org/10.1007/978-3-030-04275-2_5
232 5 Dynamics of a Rigid Body

and the force vector f represents the total forces over the particles that are not canceled
by reaction, i.e. are the external forces. For rigid bodies of constant mass, solution
to equation (5.1) yields the equation of motion in the 3 directions of the Cartesian
coordinates of the 3D space, known as the Euler’s first law of motion:

f = mv̇cm (5.2)

In last expression the acceleration v̇cm is the time derivative of the velocity
 vcm of
a particular point called the center of mass where the total mass m = dm can be
considered to be concentrated (lumped), and both the force and the acceleration are
expressed in inertial frame coordinates.
Expression (5.1) can also be referred as the linear momentum conservation theorem,
since it establishes that
the total linear momentum remain unaltered if there is no external force acting on the body.

Also, it is known that a free moving body in the space has 6 dof, i.e. 6 independent
possible movements. The other 3 movements are those given by rotation of the body
B. In order to obtain the lacking equations (those for rotation), lets introduce the
following definitions:
Definition 5.1 (The moment) Consider a vector a at a given point a, and a distance
vector r form a second point b to a. The term r × a is said to be the moment of a wrt
point b (Fig. 5.1).

Definition 5.2 (Angular Momentum) The angular momentum of a particle, is defined


as the moment of the linear momentum:

L  d × p ∈ R3 (5.3)

Remark Notice that the above product d × p projects the linear momentum into the
range space of operator [d×] which is by construction of dimension 2. The remanent
direction, along the direction of vector d itself, is the null space. So the product can
be placed indistinctly in any position along vector d being exactly the same, but
would be different for any other placement. Therefore for vectors that arise from
a the moment of any quantity (produced using the cross product) it is necessary to
specify with respect which point in space they have been referred. 

Fig. 5.1 Moment definition


of a vector quantity a
5 Dynamics of a Rigid Body 233

Then the angular


 momentum  w.r.t. the origin of the inertial frame of each particle
d L0  d p × d p = d p × ḋ p dm is used to perform a similar analysis to that of linear
momentum preservation:
1. The time derivative of each particle’s angular momentum is computed as

d L̇0 = d p × d ṗ + ḋ p × d p
= d p × d f + ḋ p × dm ḋ p
= dp × d f

from which it arise the torque definition:

Definition 5.3 (Torque) The torque is defined as the moment of a force as

n0  d 10 × f + n1 ∈ R3 (5.4)

where d 10 ∈ R3 is the distance form point 0 to point 1, where the torque n1 is applied.

Then the differential angular momentum of a particle w.r.t. the inertial frame
becomes:

d L̇0 = d n0

where d n0 = d p × d f is the inertial torque (w.r.t the origin of the inertial frame) of
each particle.
2. The equation of angular motion shall be given by the solution of angular equivalent
of (5.1), known as the Euler’s second law of motion:
 
d L̇0 = d p × d f = n0 (5.5)
B B

Last expression (5.5) yields the angular momentum conservation theorem, since it
establishes that
the total angular momentum of a body remain unaltered if there is no external torque acting
on the body.

The simplest solution of expression (5.5) has been found to be at the center of
mass of the body, with all vector elements expressed in the non-inertial moving body
frame. This solution is known as the Euler equation of motion:

I ω̇ + ω × I ω = nc (5.6)

where I ∈ R3×3 is a constant, symmetric, positive definite, square matrix of order 3,


known as the inertia tensor or matrix of inertia moment, and ω is the angular velocity
of the moving frame attached to the body, expressed in the non-inertial coordinates.
234 5 Dynamics of a Rigid Body

Then expressions (5.2) and (5.6) together shall describe the motion of a rigid
motion. However, notice that Newton equation (5.2) is expressed in inertial frame
coordinates while Euler equation (5.6) is expressed with non-inertial frame coordi-
nates. These difference may lead to confusion when solving both at the same level.
Notice also that Euler equation expresses the motion when the rotation is expressed
exactly at the center of mass, which most of the time is very difficult to compute,
and that it may be convenient to express the general motion of a body without this
restriction. Possible solutions are
1. Express both equations in the inertial frame
2. Express both equations in the non-inertial frame
3. Use them as they are already written, and solve them separately with proper
coordinates changes at velocity level.
In this chapter, the effects of differential forces acting on each particle of differ-
ential mass is introduced. Then beside the purely geometric effects studied in last
section, dynamics deals with the study of the movement at the force level.
If the body B is considered to be rigid, i.e. that there is no deformation due to
the nature of the material it is built of, then distances between each particle remains
constant. Under this assumption, the body can be characterized with constant global
parameters, allowing the representation to be a lumped system. Then the parameters
that describe the dynamics of the body are known as the lumped parameters.

5.1 The Center of Mass

The center of mass of a body is the point in space where the lumped parameters can
be naturally defined. It is also called the center of gravity because of its definition’s
nature.
If there is no external forces acting on the surface of the body, the only force
acting on each particle is the one due to the gravity field. If the body is rigid, then the
total effect of all particles can be expressed as a single effect in the center of mass.
The total mass of the body can be calculated by the addition of all the differential
masses on it as: 
m = dm
B

Then the effects of the gravity forces on each particle with respect to the inertial
frame 0 can be described by the moment each particles exerts on this frame. i.e.:

d p × g dm
B

where the vector g represents the direction of the gravity field. It is defined in accor-
dance with the chosen attitude of the inertial frame. Typically for the 3D case, the
5.1 The Center of Mass 235

Fig. 5.2 The center of mass, and the relationship with any point p

z-axis is chosen to be vertical. In particular, for navigation systems (aircrafts and


boats) the positive direction of the vertical z-axis is defined pointing toward the cen-
ter of the earth. The other two axes are chosen arbitrarily provided they fulfill the
right-hand rule condition.
The summation of the gravity effects of each particle should then be equal to the
effect of the total mass at the center of gravity:

d p × gdm = d c × gm (5.7)
B

where the inertial distances d p and d c (see Fig. 5.2) are the inertial position of the
particle p and the inertial position of the center of mass cm respectively.
Since the center of mass is a particular case, its location can be obtained from the
rigid motion expression (3.39), i.e. d p = d + Rrp , where the relative position is the
one of the center of mass:
d c = d + R(θ)rc (5.8)

Using Eqs. (3.39) and (5.8), Eq. (5.7) can be written as


 
 
d + Rrp dm − (d + Rrc ) m × g = 0 (5.9)
B

Which after cancelling the identical terms becomes


236 5 Dynamics of a Rigid Body
 
R rp dm − rc m × g = 0
B

Whose non-trivial solution yields the definition of the center of mass as the weight
average of the overall mass distribution over the body B:

1
rc  rp dm (5.10)
m B

It is very common in the literature to express the center of mass of a body with
respect to itself. This can be achieved in different ways. One of them is to redo
the same analysis as before, but using the position of particles d p from the inertial
position of the center of mass as (see Fig. 5.2):

d p = d c + Rr (5.11)

Then the non-trivial solution of (5.9) becomes:



rdm = 0 (5.12)
B

This last equation establishes that the center of mass of a body is the point from
which the distances r to every single particle on that body fulfils last relationship.
Expression (5.12) can also be found from expression (5.10) if the center of the
body’s frame 1 is placed at the center of mass (see special case of Fig. 5.5), which
is a practical use but not the general case.
Then, Eqs. (5.10) and (5.12) are equivalents and both describe the place of the
center of mass. It is important to note that this center of mass does not depend on
the inertial frame because it does not depend on the attitude of the body. Even more,
for rigid bodies, is a constant fixed point relative to the body’s frame 1 . Then both
the constant mass m and the constant position of the center of mass rc are lumped
parameters of the rigid body B.
For examples refer to Appendix D

Remark It is easy to see that for bodies of homogenous density, each coordinate of
the center of mass vector is null if the body is symmetric along the corresponding
axis. 

Example 5.1 (Complex body) Consider the multibody system of Fig. 5.3, with a
common reference frame at the centroid of the ellipsoid; with the following values:
5.1 The Center of Mass 237

Fig. 5.3 Complex body composed of basis shapes

Ellipsoid Pole Cylinder Box


m1 = 4 kg m2 = 0.2 kg m3 = 0.11 kg m4 = 4 kg
A1 = 0.6 m A2 = 0.7 m r3 = 0.012 m A4 = 0.45 m
B1 = 0.2 m r2 = 0.0085 m B3 = 0.05 m B4 = 0.25 m
C1 = 0.3 m C4 = 0.3 m

Notice that the center of mass vectors for each of the four bodies, with coordinates
of the local frame placed at the centroid of the ellipsoid are:
⎛ ⎞ ⎛ A ⎞ ⎛ ⎞
0 − 21 − A22 −0.65 m
rc1 = ⎝0⎠ ; rc2 = ⎝ 0 ⎠ = ⎝ 0 ⎠;
0 0 0
⎛ A ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞
− 21 − A2 − r3 −1.006 m − A44 −0.112 m
⎜ ⎟ ⎝
rc3 = ⎝ 0 ⎠=⎝ 0 ⎠; rc4 = ⎝ 0 ⎠= 0 ⎠;
C1
0 0
2 + C4
2
0.3 m

Then the center of mass vector of the overall system can computed with the
piece-wise version of expression (5.10) as:
⎛ ⎞
−0.082 m
m1 rc1 + m2 rc2 + m3 rc3 + m4 rc4
rc = =⎝ 0 ⎠
m1 + m2 + m3 + m4 0.144 m
238 5 Dynamics of a Rigid Body

with a total mass of

m = m1 + m2 + m3 + m4 = 8.31 kg

Notice that the center of mass is a virtual point outside the volume of the complex
body.

5.1.1 Kinematics at the Center of Mass

The linear velocity of the center of mass is obtained after the time derivative of its
inertial position given by (5.8), as follows:

ḋ c = ḋ + Ṙrc
= R (v + ω × rc )

and its expression in the local frame can be defined as

vc  RT ḋ c (5.13)

Then last expression becomes (Fig. 5.4)

vc = v + ω × rc (5.14)

Remarks
• Notice that the angular velocity due to the rotation effect of the local frame, is the
same at any point in the rigid body:

ωc = ωp = ω (5.15)

from which it arise that the angular velocity is a free vector.


On the other hand, the linear velocity depends on the cross product of the angular
velocity and a position vector, making that the linear velocity is valid only along
the axis defined by the position rc , making it to be a line vector.
• Notice also that the acceleration of the center of mass can be computed from (3.81)
replacing the distance to any particle for the distance of the center of mass:
 
d̈ c = R v̇ + ω̇ × rc + ω × v + ω × (ω × rc )


5.2 The Kinetic Energy 239

Fig. 5.4 Linear and angular


velocities associated to the
center of mass and on point p

5.2 The Kinetic Energy

The kinetic energy of the body B of Fig. 2.3 can be easily found as the addition of
the small amount of kinetic energy of each particle (Fig. 5.4):

1  2
K= ḋ p  dm (5.16)
2 B

Remark
 Since the euclidean norm of a vector is its magnitude, i.e.: a2 = a 
ax2 + ay2 + az2 with the following property: a2 = a·a = aT a, it is of no importance
whose frame coordinates are used to compute de velocity of every particle. In other
words, the kinetic energy does not depend on the choice of any particular reference
frame. 

The position of any particle d p can be given by the rigid motion expression (3.39),
in terms of the position of the local frame, or in terms of the center of mass position
from (5.11) as follows: 
d + Rrp
dp =
d c + Rr

where rp = rc + r, whose time derivative express the velocity of any point p in terms
of the frame velocities (expression (5.11)) or in terms of the center of mass velocities:
  
R v + ω × rp
ḋ p =
R (vc + ω c × r)
240 5 Dynamics of a Rigid Body

Fig. 5.5 Particular case


when the reference frame of
the body is at its center of
mass

Then, by replacing last expressions in (5.16), and considering that RT R = I , it yields


the following equivalent expressions:

1  T  
K= v − rp × ω v − rp × ω dm (5.17a)
2 B

1
= (vc − r × ω c )T (vc − r × ω c ) dm (5.17b)
2 B

Expression (5.17a) gives the kinetic energy of a body in terms of the velocity of a
local reference frame 1 (linear velocity of its origin and angular velocity of the
same frame). Expression (5.17b) gives the same energy in terms of the velocity in
the center of mass and the angular velocity of the body (Fig. 5.5).
Expanding the vector product and considering that velocity vectors v, vc , ω and
ω c are independent of the position of any particle p, the above expressions can be
reduced to:
    
1 T   1 T  T  
K = v v dm − v T
rp × dm ω + ω rp × rp × dm ω
2 B B 2 B
(5.18a)
    
1 1
= vcT vc dm − vcT [r×] dm ω c + ω Tc [r×]T [r×] dm ω c
2 B B 2 B
(5.18b)
5.2 The Kinetic Energy 241

At this point it may be convenient to evaluate individually the integral terms in


the above expressions. Consider then the next set of solution for these integrals:
 
 
 
rp × dm =
rp dm × = m[rc ×] (5.19)
B
 B  
[r×] dm = rdm × = 0 (5.20)
 B
B
[r×]T [r×] dm = − [r×]2 dm (5.21)
 B B
 T    2
rp × rp × dm = − rp × dm (5.22)
B B

Expression (5.19) arise from the center of mass definition (5.10) and is known as
the first moment of inertia. Nullity in Eq. (5.20) arise from the equivalence (5.12).
Negative values on expressions (5.21)–(5.22) arise after the skew symmetry property
(1.99b) of CPO’s; and both expression give rise the second moment of inertia, also
known as the Inertia Tensor.

5.2.1 The Inertia Tensor

Due to property (1.99l) (i.e.: −[a×]2 ≥ 0) the second moment of inertia w.r.t. the
center of mass defined by (5.21) is a symmetric definite positive square matrix of
order 3 known as the Inertia Tensor, (Goldstein 1950) or Inertia Moment Matrix;
with the following explicit form:
⎡ ⎤
 Ixxc Ixyc Ixzc
I c  − [r×]2 dm = ⎣ Ixyc Iyyc Iyzc ⎦ > 0 ∈ R3×3 (5.23)
B Ixzc Iyzc Izzc

If the distance r of any particle p in the body with respect it center of mass
is expressed with cartesian1 frame coordinates x, y, z (i.e r = (x, y, z)T ), then the
diagonal elements, usually called inertia moments are explicitly computed as:
  
Ixxc = (y + z )dm,
2 2
Iyyc = (x + z )dm,
2 2
Izzc = (x2 + y2 )dm
B B B

and the off-diagonal elements, called inertia products are then:


  
Ixyc = − xydm, Ixzc = − xzdm, Iyzc = − yzdm
B B B

1 Other coordinate systems like polar or any other my result more adequate for particular problems.
242 5 Dynamics of a Rigid Body

The term Inertia Tensor is more often reserved for general geometric analysis in
which there is little or no importance to which reference coordinates the vectors has
been expressed (as in (5.24)), while the term Inertia Moments Matrix does implies
a particular reference frame dependance – for instance i – whose coordinates are
used for a particular expression:

 (i) 2
I (i)
c − r × dm > 0 ∈ R3×3 (5.24)
B

In this sense, the Inertia Moment Matrices I (i)


c of a body are different coordinates
expressions of the unique Inertia Tensor I c of the same body.

In most of the undergraduate textbooks on physics or mechanical engineering


values for the elements of the inertia moment matrices have already been calculated
for regular symmetric bodies of constant density. This is achieved considering the
differential of mass dm = ρ d V where the volume differential in the three cartesian
axes is expressed as d V = dx dy dz; with any arbitrary order. Then the integrals in
(5.23) become volume integral whose limits are given by the borders of the body.
Refer to the examples in Appendix D.

Remarks
 
• Due to the square CPO product identity (1.99l), i.e.: [a×]2 = aaT − a2 I , the
inertia tensor can also be written as, (Kane and Levinson 1985):

 2  
Ic = r I − rrT dm
B

• Notice that the elements of the inertia tensor depend not only in the mass of the
body, but also in its geometric distribution around its center of mass. 

5.2.1.1 Different Coordinates Expressions of the Inertia Tensor

Consider there are multiple ways to describe the Inertia Moment Matrix of a rigid
body, related to the choice of the local reference frame as for example in the case of
the cylinder in Fig. 5.6. Then it arise different Inertial Moment Matrices:

 (i) 2
I (i)
c =− r × dm
B
 (j) 2
I (j)
c =− r × dm
B

The equivalence between these different expressions arise from the coordinates
transformation (3.25) between the different references:
5.2 The Kinetic Energy 243

Fig. 5.6 Same cylinder with three different local reference frame assignments

jT
r(i) = Ri r(j) r(j) = Ri r(i)
j

such that (5.24) yields


   2      
I (i)
j (j)
Ri r(j) × Ri r(j) × dm
j j
c =− Ri r × dm = −
B B

which after property (1.99g) (i.e.: [(Ra) ×] = R[a×]RT ) it becomes


 
j  jT j  jT  (j)  (j)  jT
I (i) Ri r(j) × Ri Ri r(j) × Ri dm = −Ri
j
c =− r × r × dm Ri
B B

meaning:
jT jT
I (i) (j)
I (j) (i)
j j
c = Ri I c Ri ⇔ c = Ri I c Ri (5.25)

Remarks
• Last expression means that the Rotation matrix between two different local ref-
erence frame assignments on the body is the similarity transformation of these
Inertia Moment Matrices and both matrices I (i) (j)
c and I c are similar. In this sense
the the Tensor I c plays the role of linear operator for a space transformation.
• Notice that the inertia moment matrix is constant only for rigid objects when
referred at the local frame coordinates. 

5.2.1.2 The 3-D Parallel Axes Theorem

Expression (5.22) expresses also a “shifted” Inertia Tensor, no longer around the
center of mass but w.r.t. the origin g of the non-inertial frame 1 . This difference
give rise to the 3D parallel axes theorem, whose 2D version is widely known the
parallel axis theorem, the Steiner Theorem or Huygens–Steiner theorem, (Kane and
Levinson 1985).
244 5 Dynamics of a Rigid Body

Theorem 5.1 (3-D Parallel Axes Theorem) The inertia tensor of a body is aug-
mented when the body rotates about an axe that does not intersect its center of mass.
The
 augmentation
 is given by the semidefinite positive second moment of inertia
−m[rc ×]2 ≥ 0, where the vector rc = (rcx , rcy , rcz )T ∈ R3 stands for the distance
from the rotating point to the center of mass of the body, i.e.:
 
 T    2
I1  rp × rp × dm = − rp × dm = I c − m[rc ×]2 > 0 (5.26)
B B

Proof Notice after Fig. 5.2 (left) that rp = rc + r with a constant offset distance rc .
 2
Then the square product becomes rp × = [(rc + r)×]2 = [rc ×]2 + [rc ×][r×] +
[r×][rc ×] + [r×]2 . Notice that the crossed products vanish inside the integral after
expression (5.12). Then expression (5.26) arise after the use of definition (5.23).
Remarks
• Note that the shifted Inertia Tensor I 1 of a body is also a positive definite con-
stant matrix due to property (1.99l) (i.e.: −[a×]2 ≥ 0), with the following explicit
expression
⎡   ⎤
Ixxc + m rc2y + rc2z Ixyc − mrcx rcy Ixzc − mrcx rcz
⎢   ⎥
I1 = ⎢
⎣ Ixyc − mrcx rcy Iyyc + m rc2x + rc2z Iyzc −mrcy rcz  ⎥

Ixzc − mrcx rcz Iyzc − mrcy rcz Izzc + m rc2x + rc2y
(5.27a)
⎡ ⎤
Ixx Ixy Ixz
= ⎣ Ixy Iyy Iyz ⎦ > 0 (5.27b)
Ixz Iyz Izz

• Expression (5.26) is also referred as the inertia tensor extension of the Huygens–
Steiner theorem and is more commonly found as, (Kane and Levinson 1985):
  
I 1 = I c + m rc 2 I − rc rTc

which after the square CPO product identity (1.99l) is identical to (5.26). 

m = 8.31kg
⎛ ⎞
−0.082 m
rc = ⎝ 0 ⎠
0.144 m
5.2 The Kinetic Energy 245

Example 5.2 (The inertia tensor of the complex body of Example 5.1)

Ellipsoid Pole Cylinder Box


m1 = 4 kg m2 = 0.2 kg m3 = 0.11 kg m4 = 4 kg
A1 = 0.6 m A2 = 0.7 m r3 = 0.012 m A4 = 0.45 m
B1 = 0.2 m r2 = 0.0085 m B3 = 0.05 m B4 = 0.25 m
C1 = 0.3 m C4 = 0.3 m
⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞
0 −0.65 −1.006 −0.112
rc1 = ⎝0⎠ ; rc2 = ⎝ 0 ⎠ [m]; rc3 = ⎝ 0 ⎠ [m]; rc4 = ⎝ 0 ⎠ [m];
0 0 0 0.3

The inertia tensor of the Ellipsoid follows after (D.28) (Example D.16) at its center
of mass:
⎡ 2 ⎤ ⎡ ⎤
B1 + C12 0 0 0.026 0 0
m1 ⎣ ⎦ = ⎣ 0 0.09 0 ⎦ [kg m2 ]
I 1c = 0 A21 + C12 0
20 0 0 A2 + B2 0 0 0.08
1 1

 2
Then at origin of frame 1 remains the same: I 11 = I 1c − m1 rc1 × = I 1c .
The inertia tensor of the Pole follows after (D.26) (Example D.15, with pole axis
along x) at its center of mass:
⎡ ⎤ ⎡ ⎤
0 0 0 0 0 0
m2 ⎣
I 2c = 0 A2 0 ⎦ = ⎣ 0 0.0082 0 ⎦ [kg m2 ]
12 0 02 A2 0 0 0.0082
2

Then at the origin of frame 1 it becomes:


⎡ ⎤
 2 0 0 0
I 21 = I 2c − m2 rc2 × = ⎣ 0 0.0927 0 ⎦ [kg m2 ]
0 0 0.0927

The inertia tensor of the Cylinder follows after (D.25) (with central axis along x) and
its coordinates transformation (D.41) to align the axis of the cylinder to the y-axis
(Example D.25), at its center of mass:
⎡ 2 ⎤ ⎡ ⎤
B + 3r32 0 0 0.2688 0 0
m3 ⎣ 3 ⎦ = ⎣ 0 0.0792 0 ⎦ × 10−4 [kg m2 ]
I 3c = 0 6r32 0
12 2 2
0 0 B3 + 3r3 0 0 0.2688

Then at origin of frame 1 it becomes:


246 5 Dynamics of a Rigid Body
⎡ ⎤
 2 2.687 × 10−5 0 0
I 31 = I 3c − m3 rc3 × = ⎣ 0 0.1113 0 ⎦ [kg m2 ]
0 0 0.1114

The inertia tensor of the Box follows after (D.22) (Example D.10), at its center of
mass:
⎡ 2 ⎤ ⎡ ⎤
B + C42 0 0 0.0508 0 0
m4 ⎣ 4 ⎦ = ⎣ 0 0.0975 0 ⎦ [kg m2 ]
I 4c = 0 A24 + C42 0
12 0 0 A +B
2 2
0 0 0.0883
4 4

Then at origin of frame 1 it becomes:


⎡ ⎤
 2 0.4108 0 0.1344
I 41 = I 4c − m4 rc4 × = ⎣ 0 0.5077 0 ⎦ [kg m2 ]
0.1344 0 0.1385

Finally, the inertia tensor at the origin of the local frame 1 is given by the addition
of all individual contributions:
⎡ ⎤
0.4369 0 0.1344
I 1 = I 11 + I 21 + I 31 + I 41 = ⎣ 0 0.8017 0 ⎦ [kg m2 ]
0.1344 0 0.4225

And the inertia tensor at the center of mass is found using the 3D parallel axes
theorem in reverse sense:
⎡ ⎤
0.2645 0 0.0363
I c = I 1 + m[rc ×]2 = ⎣ 0 0.5735 0 ⎦ [kg m2 ]
0.0363 0 0.3667

5.2.2 Different Coordinates Expressions for the Kinetic


Energy

Local coordinates expression of the Kinetic Energy


Using the Inertia tensors above, the Kinetic Energy expressions given by (5.18) can
be expressed in a compact form by either of the next expressions:

1 T 1
K= mv v − mvT [rc ×]ω + ω T I (1)
1 ω (5.28a)
2 2
1 1
= mvcT vc + ω Tc I (1)
c ωc (5.28b)
2 2
5.2 The Kinetic Energy 247

The first term in expression (5.28b) is the very well known term of translation
kinetic energy, given by KT = 21 mvc 2 , while the second term also induce kinetic
energy but only when the body rotates about its center of mass. This term is known
as the rotation kinetic energy, and is expressed by KR = 21 ω Tc I (1)
c ω c which uses the
inertia tensor I (1)
c of body B, defined by (5.23) with respect to its center of mass, and
being constant when referred at the non-inertial frame 1 .
In expression (5.28a) the term mvT [rc ×]ω –which does not appear when the
kinetic energy is expressed with velocities that are not those of its center of mass–
gives rise to the so-called first moment of inertia m[rc ×] (explicitly expressed by
cross product operator).
Inertial coordinates expression of the Kinetic Energy
The Kinetic energy can also be referred to with velocities referred to the inertial
frame through the equivalences vc = RT ḋ c and ω c = RT ω (0) , in expression (5.28b)
as:
1 T 1 T
K= mḋ ḋ c + ω (0) I (0)
c ω
(0)
(5.29)
2 c 2
where the inertia tensor with respect to its center of mass is now referred at the inertial
frame I (0)
c (θ) through transformation (5.25):

I (0) (1) T
c (θ) = R(θ) I c R (θ) > 0, ∈ R
3×3
(5.30)

The resulting matrix while being still positive definite is no longer constant; because
when expressed in the inertial frame this matrix depends on the absolute attitude of
the body.

5.3 Momentums

5.3.1 Linear Momentum Expression

The total momentum (linear momentum) of the body, from definition (2.2), shall be
the integral addition of particles’ momentums along the body:

p= ḋ p dm (5.31)
B

This expression can be reduced using (3.79b) for the inertial expression of the
velocity of the center of mass, and (3.79c) for the non-inertial expression, resulting
in the following:
248 5 Dynamics of a Rigid Body

(0)
 
p(0) = mḋ c = m ḋ + ω (0) × (Rrc ) (5.32a)
= mRvc = mR (v + ω × rc ) (5.32b)

where the argument of R(θ) has been omitted for simplification in the notation.

Remarks
1. From (5.32b), the non-inertial expression of the linear momentum of the body
can be deduced to be
p(1) = mvc (5.33)

such that the p(0) = Rp(1) .


2. Notice that, in the same way as (2.6), the linear momentum of a rigid body can
also be expressed as
∂K
p(0) = = mḋ c
∂ ḋ c


5.3.2 Angular Momentum Expression

From definition (5.3), the inertial angular momentum of a rigid body is the integral
addition of the angular momentum of every particle with respect to an inertial frame:

L0  (d p × ḋ p )dm (5.34)
B

Since the development of this term is somehow more complex than the linear
momentum itself, lets develop it in small parts. First consider the argument d p × ḋ p
which can be written after (3.39) (d p = d + Rrp ) with either of the following forms:
 
d p × ḋ p = d + Rrp × ḋ p
 
= d + r(0)
p × ḋ p
= d × ḋ p + r(0)
p × ḋ p (5.35)

The second term in the right-hand side in last expression can be expressed with pure
inertial terms using (3.79b) (ḋ p = ḋ + ω (0) × r(0)
p ) as:
5.3 Momentums 249
 
r(0) (0)
p × ḋ p = rp × ḋ + ω
(0)
× r(0)
p
  
(0) (0)
= r(0)
p × ḋ − r p × ω
   2
= r(0)
p × ḋ − r (0)
p × ω (0) (5.36)

 
or else, it can be expressed in non-inertial terms using (3.79c) (ḋ p = R v + ω × rp )
as:
 
r(0)
p × ḋ p = (Rrp ) × R(v + ω × rp )
   
= R rp × RT R v − rp × ω
   2 
= R rp × v − rp × ω (5.37)

Then, calculating the angular momentum of the body after the integration of
(5.35) over the whole volume of the body can be achieved using either inertial or
non-inertial coordinates expression (5.36) or (5.37), respectively. In the non-inertial
coordinates expression, the distance rp is constant yielding the angular momentum
to be:
  
     2 
L0 = d × ḋ p dm + R rp × v − rp × ω dm
B
 B

= d × p + R m[rc ×]v + I 1 ω

From which it arise that there is an angular momentum w.r.t. to the non-inertial frame
L1 that may be expressed with either inertial or non-inertial coordinates:

L(1)
1  m[rc ×]v + I 1 ω (5.38a)
(0)   (0)
L1 = m r(0)
c × v + I (0)
1 ω
(0)
= RL(1)
1 (5.38b)

and the angular momentum w.r.t. the inertial frame can be computed as

L(0)
0 =d×p
(0)
+ L(0)
1 (5.39)

Remark After last expression the angular momentum is a position-dependent line


vector –contrary to the free vector linear momentum–. 

Notice that using the 3D parallel axes theorem i.e. I 1 = I c − m[rc ×]2 and center
of mass velocity (vc = v + ω × rc ) it arise the following coordinates-independent
identity:

m (rc × v) + I 1 ω = m (rc × vc ) + I c ω (5.40)


250 5 Dynamics of a Rigid Body

Then after (5.33) the angular momentum about the origin of the non-inertial frame
in (5.38) becomes

L(i) (i) (i) (i)


1 = rc × p + L c (5.41)

where the angular momentum about the center of mass is defined to be:

L(1)
c  Icω (5.42a)
L(0)
c = RL(1)
c = R(θ)I c R (θ) ω
T (0)
= I (0)
c ω
(0)
(5.42b)

Finally, after the kinematic expression of the center of mass (5.8) (d c = d +


R(θ)rc = d + r(0)
c ) the angular momentum (5.34) with inertial coordinates is com-
puted as

L(0)
0 = dc × p
(0)
+ L(0)
c (5.43)

Remark Notice that, in the same way as for the linear momentum, the angular
momentum of a rigid body can also be expressed as angular velocity gradient of
the kinetic energy:

∂K
L(i)
c = = I (i)
c (θ) ω
(i)
∀ i = {0, 1}
∂ω (i)


5.4 Rigid Dynamic Motion

Newton–Euler formulation is the explicit solution of both momentum conservation


theorems with the linear momentum conservation expressed in the inertial frame and
angular one expressed in the non-inertial frame.
This section deals with the explicit solutions of both equations of momentum
conservation stated by (5.1) and (5.5) which represents respectively the first and
second Euler laws of motion expressed in the in the inertial frame:
  
d
ḋ p dm = f (0) = df (5.44a)
dt B B
  
d  
d p × ḋ p dm = n(0)
0 = dp × d f (5.44b)
dt B B

where ḋ p dm = d p is the differential of the linear momentum of particle p, d f is the


differential force applied to that particle in inertial frame, and
5.4 Rigid Dynamic Motion 251

f (0) = df
B

represents the total forces over the particles, in the inertial frame. The resulting force,
i.e. those that are not mutually canceled by reaction, are the external forces. The term

d p × ḋ p dm = d L0

is the differential of the angular momentum of particle p with respect to the inertial
frame. The term d p × d f is the moment of the differential force about the origin of
the inertial frame, and n(0)
0 ∈ R is the total external moment of forces. This moment
3

of forces 
 
n(0)
0 = dp × d f
B

represents all the moments produced by the lever arm wrench of each differential
force over all the particles, around the origin of the inertial frame.

5.4.1 Euler’s First Law of Motion

Euler’s first law of Motion (5.44a) recovers Newton’s second law on all the particles
that compose a rigid body, which after the linear momentum definition of a rigid
body (5.31), it becomes succinctly as

ṗ = f (0) (5.45)

This expression corresponds to the so called Linear Momentum Conservation because


it represents the linear momentum equilibrium if the external force is null.
Note that expression (5.45) can be written in terms of the inertial position of the
center of mass by using the time derivative of (5.32a), yielding expressions, either
at the center of mass:

md̈ c = f (0) (5.46a)

or at the origin of the rigid local frame attached to the body:

  
m d̈ + ω̇ (0) × r(0)
c (θ) + ω
(0)
× ω (0) × r(0)
c (θ) = f (0) (5.46b)
252 5 Dynamics of a Rigid Body

where the term d̈ is the classical linear acceleration, the term ω̇ (0) × r(0)
c (θ) is
the tangential
 (0) component
 due to the angular acceleration, and the term ω (0) ×
(0)
ω × rc (θ) is the very well known centripetal acceleration.
Non-inertial expression of Euler’s first law of Motion
If the expression of the linear momentum is derivated using the non-inertial expres-
sion (5.32b), with the velocities of the center of mass given by equivalences (5.14)–
(5.15), and also using f (0) = Rf (1) , then the Newton expressions (5.46) take the
following equivalent forms:
  
m v̇c + ω c × vc = f (1) (5.47a)
   
m v̇ + ω̇ × rc + ω × v + (ω × rc ) = f (1) (5.47b)

Although in strictly mathematical sense expressions (5.47) are not the equal to
Newton equation because they are expressed in the non inertial frame, they have
however, the same analytical solution. Any of them can be used to solve the linear
momentum conservation equation, but only (5.47) use information purely in the
non-inertial frame 1 .
Remark Notice that the big difference in the inertial expressions (5.46) and the non-
inertial ones (5.47) is that in the second appears a term given by the product ω × v,
(or ω c × vc in expressions with the center of mass velocities) known as the Coriolis
acceleration.
This acceleration appears when the second time derivative of the inertial position
is expressed in a non-inertial frame:

d̈ = R (v̇ + ω × v) = Rv̇ + ω (0) × ḋ (5.48)


d̈ c = R (v̇c + ω c × vc ) (5.49)

due to the rotation dependance of the non-inertial coordinates. 

5.4.2 Euler’s Second Law of Motion

Euler’s second law of Motion (5.44b) has no equivalence with Newton’s second law.
However, after definition (5.34), this can be written succinctly as

L̇0 = n(0)
0 (5.50)

Expression (5.50) corresponds to the so called Angular Momentum Conservation


because it represents the equilibrium of the rotational motion if the external torque
is null.
5.4 Rigid Dynamic Motion 253

To obtain the explicit expression of this equation, first lets develop the right-hand
side terms in (5.50). This can be expanded from the definition in expression (5.44b)
as follows:
 
(0)
n0 = d p × d f = (d + r(0) p ) × df
(0)
B B
 
= d × d f (0) + r(0) p × df
(0)
B B
= d × f (0) + n(0)
1 (5.51)

where

n(0)
1  r(0) (0)
p × df p (5.52)
B

is the resulting torque over the body B, as the overall effect of the torques produced
by all differential forces about the origin of body’s non-inertial frame 1 .

Secondly, the left-hand side of (5.50) is obtained from the time derivatives of the
angular momentum using either expressions (5.39) or (5.43):
 (0)
(0) ḋ × p(0) + d × ṗ(0) + L̇1
L̇0 = (0)
ḋ c × p(0) + d c × ṗ(0) + L̇c

Notice that the term ḋ c × p = ḋ c × mḋ c = 0, while the time derivative of the angular
momentum at the center of masses reduces using expressions (3.55a) and (5.30), as
 
(0) (0)
L̇c = I c (0) ω̇ (0) + I˙c ω (0) = I c (0) ω̇ (0) + ṘI c RT + RI c ṘT ω (0)
   T 
= I c (0) ω̇ (0) + ω (0) × RI c RT + RI c RT ω (0) × ω (0)
 
(0) (0)
= I c (0) ω̇ (0) + ω (0) × I c ω (0) − I c ω (0) × ω (0)
(0)
= I c (0) ω̇ (0) + ω (0) × I c ω (0)

where the second term is known as the gyroscopic term.


Then, after Euler’s first law of motion (ṗ = f (0) ) the time derivative of the angular
momentum above can be written as
  (0) (0)
L̇0 = d × f (0) + m r(0)
c × d̈ + I 1 ω̇ + ω (0) × I (0)
1 ω
(0)
(5.53a)
(0)
=d×f + r(0)
c × ṗ + I c ω̇ (0) (0)
+ω (0)
× Ic ω(0) (0)
(5.53b)
254 5 Dynamics of a Rigid Body

Finally, Eq. (5.50) stands that expressions (5.51) and (5.53a) are equal. Since
the term d × f (0) appears in both sides, an equivalent2 expression for the angular
momentum conservation is found to be at the origin of the non-inertial frame as:

  (0) (0)
m r(0)
c × d̈ + I 1 ω̇ + ω (0) × I (0)
1 ω
(0)
= n(0)
1 (5.54)

Remarks Expression (5.53a) may be found directly form the time derivative of
(5.38a) when all terms are referred to the non-inertial frame (L(1)
1 ). However, a sim-
pler equivalence with (5.53b) arise directly from (5.53b) itself and the following
issues:
1. First, the inertia tensor I 1 about the origin of the rigid body’s frame, as defined
by (5.26) as a constant positive definite matrix when referred to this non-inertial
frame: I 1 = I c − m[rc ×]2 > 0.
2. Secondly, when referred to the inertial the above tensor is attitude dependant, and
is expressed as
  T
I (0)
1 (θ) = R(θ)I 1 R (θ) = R(θ) I c − m[rc ×] R (θ)
T 2
  
= I (0)
c (θ) − m R(θ)[rc ×]R (θ) R(θ)[rc ×]R (θ)
T T

 (0) 2
= I (0)
c (θ) − m rc (θ)×

3. The term r(0)


c × ṗ in (5.53b), after the use of expression (5.46b) and property
(A.16) ([a×][b×]2 a = −[b×][a×]2 b), establishes the following equivalence,
that yields straightforward to (5.53a):
  
r(0) (0)
c × ṗ = mrc × d̈ + ω̇
(0)
× r(0)
c +ω
(0)
× ω (0) × r(0)
c
 (0) 2 (0)  2 (0) 
= mr(0)
c × d̈ − m rc × ω̇ + mr (0)
c × ω (0)
× rc
 (0) 2 (0)  2 (0) 
= mr(0)
c × d̈ − m rc × ω̇ − mω (0) × r(0) c × ω 

Non-inertial expression of Euler’s second law of Motion Equation (5.54), when


written with non inertial coordinates with the use of property (3.15) and the expression
d̈ = R (v̇ + ω × v), becomes:
 
R m[rc ×] (v̇ + ω × v) + I 1 ω̇ + ω × I 1 ω = Rn(1)
1 (5.55)

2 In strictly mathematical sense, this expression is not the inertial angular momentum conservation.

However its solution is the same to the real one provided that the linear momentum equation
(Newton’s) is preserved.
5.4 Rigid Dynamic Motion 255

where the term n(0) (1)


1 = Rn1 is the torque over the body B defined in (5.52). Then the
non-inertial expression of the rotational motion (5.54) becomes:

 
m[rc ×]v̇ + I 1 ω̇ + m rc × (ω × v) + ω × I 1 ω = n(1)
1 (5.56)

5.4.3 The Newton–Euler Formulation

Equations (5.45) and (5.50) are rewritten succinctly, as:

ṗ = f (0) (5.57a)
L̇0 = n(0)
0 =d×f (0)
+ n(0)
1 (5.57b)

which yield the equation set (5.46)–(5.54) that define the dynamics of a the 3D
free moving rigid object in its 6 degrees of freedom, expressed with inertial frame
coordinate. While the linear motion can be referred to either the origin of the non-
inertial frame or the center of mass, the rotational motion equation cannot.
Remark Notice that Eqs. (5.54) and (5.57b) are not the same. However they are
equivalent to each other if (5.57a) holds. 
Dynamics at the center of mass Notice that the force f (0) happens to be the addition
uniquely of the external forces over the body because the inner ones are mutually
canceled due to Newton’s 3rd law. Then, the force at the center of mass is a free
vector:

f (0)
c =f
(0)
(5.58)
f (1)
c =f (1)
(5.59)

On the other hand, the torque as computed in (5.57b) is a line vector, with n1
defined by (5.52).
Since r(0) (0)
p = rc + r
(0)
(See Fig. 5.2, left), the torque n(0)
1 around the origin of
frame 1 can also be expressed as

 
n(0)
1 = r(0)
c +r
(0)
× d f (0)
p = r(0)
c ×f
(0)
+ n(0)
c (5.60)
B

or equivalently with non-inertial coordinates:

n(1)
1 = rc × f
(1)
+ n(1)
c (5.61)
256 5 Dynamics of a Rigid Body

where n(1)c is the torque around the center of mass cm, produced by al exogenous
differential force acting on all and every particle of the body, expressed with non-
inertial coordinates: 
(1)
 
nc = r × d f (1) (5.62)
B

Then the inertial torque can be written as


 
n(0) (0)
0 = d + rc × f (0) + n(0)
c

Which comparing with expression (5.53b) it arise the Euler equation of motion:

I c ω̇ c + ω c × I c ω c = n(1)
c (5.63)

Remark Note that Eqs. (5.56) and (5.63) are different (contrary to the linear momen-
tum equations) because the torques n1 = nc whose relationships is given by (5.61);
however they are fully equivalent because (5.56) can be written using vc = v + ω ×
rc as follows:
 
m rc × (v̇c + ω × vc ) + I c ω̇ + ω × I c ω = n(1)
1 (5.64)

then after (5.47a) and (5.61), the equivalence directly arise. 


The proof of expression (5.64) as an alternative of (5.56) is left to the reader as
exercise (hint: use property (A.16).)
Classic Newton–Euler Expressions The classic Newton–Euler formulation consist
in the most simplest expression for both linear and angular motion, considering each
motion independently. Since the angular motion depends on the angular velocity, a
kinematic expression shall be considered, for example (3.83b) or (3.49b). Then the
Newton–Euler dynamic formulation is written as

md̈ c = f (0) (5.65a)


I c ω̇ (1) + ω (1) × I c ω (1) = n(1)
c (5.65b)
 (1)  (1)
Ṙ = R(θ) ω × ⇔ ω = RT (θ) 0Jθ (θ)θ̇ (5.65c)

where θ ∈ Rm is any set of attitude parameters.


Remarks
• Notice that this expression is equivalent to place the non-inertial reference frame
at the center of mass, i.e. rc = 0.
5.4 Rigid Dynamic Motion 257

• Notice that Newton equation (5.65a) is expressed with inertial frame coordinates
while the Euler equation (5.65b) is expressed with non-inertial frame coordinates.
• The rotational motion equation can also be written with inertial frame coordinates:

I (0)
c ω̇
(0)
+ ω (0) × I (0)
c ω
(0)
= n(0)
c

Notice that in this case, the inertia tensor I (0)


c (θ) = R(θ)I c R (θ) is attitude depen-
T

dant, hence no longer constant. 

Inertial Expressions of the Rigid Dynamic Motion The inertial set of rigid dynamic
motion taking account that the origin of the reference frame is not at the center
of mass, is expressed by the inertial dynamic equation set (5.46)–(5.54) and the
kinematic equation (3.83b). The overall system is written as
 
 (0)  (0) (0)
 (0) (0)

md̈ − m rc (θ)× ω̇ + m ω × ω × rc (θ) = f (0) (5.66a)
  (0)
m r(0)
c (θ)× d̈ + I 1 (θ)ω̇
(0)
+ ω (0) × I (0)
1 (θ)ω
(0)
= n(0)
1 (5.66b)
 (0)  (0)
Ṙ = ω × R(θ) ⇔ ω = Jθ (θ)θ̇ 0
(5.66c)

This set takes account of a distance to the center of mass r(0)


c (θ)  = 0 different
form zero, however it introduces attitude dependence on the dynamics parameters,
particularly the inertia tensor I (0)
1 (θ).

Non-inertial expressions of the Rigid Dynamic Motion Finally, when the local
constant distance r(1)
c  = 0, the simplest way of expressing both linear and angular
dynamics motions is in the non-inertial frame. The non-inertial set of rigid dynamic
motion is given by the set of dynamic equations (5.47a)–(5.56) together with the
non-inertial kinematic equation set (3.85a)–(3.85b). The overall system is written as

   
mv̇ − m[rc ×]ω̇ + m ω × v + m ω × (ω × rc ) = f (1) (5.67a)
 
m[rc ×]v̇ + I 1 ω̇ + m rc × (ω × v) + ω × I 1 ω = n(1)
1 (5.67b)

v = RT (θ)ḋ (5.67c)
 
Ṙ = R(θ) ω (1) × ⇔ ω = RT (θ) 0Jθ (θ)θ̇ (5.67d)

The terms (ω × v) and ω × (ω × r) are the well known Coriolis and centripetal
acceleration, respectively. The less known term (rc × (ω × v)) is the moment of the
Coriolis acceleration which induce a Coriolis torque. The term ω × I 1 ω is known
as the gyroscopic term.

Remarks Notice that the equation set (5.66) and the set (5.67) are very alike with
two important differences:
258 5 Dynamics of a Rigid Body

1. All the terms and vectors in the set (5.66) are expressed in the inertial frame,
including the attitude dependent distance r(0)
c (θ) and the Inertia Moment Tensor
(0)
I 1 (θ), while in the set (5.67), the same terms and vectors are expressed in the
(1)
non-inertial frame, for which the distance r(1)
c and Inertia Tensor I 1 are constant.
2. In the set (5.67) there are two additional terms that donot appear inthe set
 
(5.66). They are m ω × v in the force equation and m rc × (ω × v) in the
moment equation. Both depends on the Coriolis acceleration (ω × v) which does
not appears in the inertial expression. This is explained by the Coriolis equation
applied to the inertial velocity ḋ = Rv:

d̈ = R (v̇ + ω × v)

3. Finally, notice that the Coriolis terms in (5.67) can also be expressed as
     
m ω × v + m ω × (ω × rc ) = m ω × vc (5.68a)
   
m rc × (ω × v) + ω × I 1 ω = m rc × (ω × vc ) + ω × I c ω (5.68b)

5.5 Work and Power

In Sect. 2.1 the concept of Work of a particle was defined (see expression (2.3)) as the
integral of an applied force all along a performed path of the particle. The calculation
give rise to the Kinetic Energy which is the movent energy that allows the particle to
achieve this Work. Then the Work performed from one point in the path until a second
point is given by the difference of the kinetic energy of the particle at both different
points. It also happens that this Work can be computed from the time integral of
a new quantity called Power, defined as the time derivative of the Work, but when
expressed for a single particle takes the form Pp = f p · vp (see expression (2.18)),
where f p is the force applied to the particle and vp is the particle’s velocity.
Extending the notion of Work for a rigid body can be done by using expression
(2.3) with a differential force d f p for each particle and the performing the integral
over the full volume of the body as
  2
WB1−2 = d f (0) (0)
p · d sp
B 1

Last expression shall express the Work of the body along a path in the 6 dimension
space defined by its 6 degrees of freedom.
A simple way of solving the body’s Work expression can be using expression
(2.18) of the Power of a particle as:
5.5 Work and Power 259
  2
WB1−2 = d f (0) (0)
p · vp dt
B 1

that when changing the integration order it yields to


 2    2
WB1−2 = d f (0)
p · vp
(0)
dt = PB dt (5.69)
1 B 1

where the Power of the body is given as the integral summation of the power of all
particles: 
T
PB  vp(0) d f (0)
p
B

Notice that the velocity of the particle vp can be expressed in terms of the linear
and angular velocities (v, ω) of a non-inertial frame 1 , attached to the body, as
in expression (3.79b): vp = v + ω × rp with al vectors using the same reference
 T
coordinates;
  and that the transpose cross product can be written as ω × rp =
ω T rp × (see property (1.99f)). Then the body’s Power expression finally yields

PB = v(0) · f (0) + ω (0) · n(0)


1 (5.70)

where the torque over the body B, as the overall effect of the torques produced by all
differential forces about the origin of body’s frame 1 has been defined in (5.52).
Notice that in last expression both vectors are expressed with inertial frame coor-
dinates

Theorem 5.2 (Invariance of the Power and Work) The Work and Power of a single
free flying rigid body is invariant to any reference frame. However, both the velocities
and the force/moment vectors shall be mutually corresponding at the same point in
the body.

PB = v(0) · f (0) + ω (0) · n(0)


1 (5.71a)
=v (1)
·f (1)
+ ω · n(1)
(1)
1 (5.71b)
= vc(0) · f (0)
c + ω c · n(0)
(0)
c (5.71c)
= vc(1) · fc(1)
+ (1) (1)
ω c · nc (5.71d)

and the Work given by Eq. (5.69).

Proof Equivalence between (5.71a) and (5.71c) is established using expressions


(5.14)–(5.15) of the velocities at the center of mass, i.e. vc = v + ω × rc and ω c = ω,
and expressions (5.58) and (5.60):
260 5 Dynamics of a Rigid Body

T (0) T (0)
 T (0) T
PB = vc(0) f (0)
c + ωc nc = v(0) + ω (0) × r(0)
c f + ω (0) n(0)
c
(0) T (0) (0) T
 (0) (0) (0)

= v f +ω rc × f + nc
T T
= v(0) f (0) + ω (0) n(0)

Equivalences between (5.71a)–(5.71b) and (5.71c)–(5.71d) are established using the


rotation matrix to change from the non-inertial to inertial expression (and viceversa)
of the force/torque expressions f (0) = Rf (1) , f (0) (1)
c = Rf c , n
(0)
= Rn(1) , n(0) (1)
c = Rnc ,
(1) T (0) T (0) (1) T (0) (1) T (0)
and velocities v = R v , vc (1) = R vc , ω = R ω , ω c = R ω c . The
body’s Power can then be expressed as follows:
T T T T
PB = v(0) Rf (1) + ω (0) Rn(1) = v(1) f (1) + ω (1) n(1)
T T T T
PB = vc(0) Rf (1) (0)
c + ωc Rn(1)
c = vc(1) f (1) (1)
c + ωc n(1)
c

Then all equivalences in (5.71) are established. 

Remark Contrary to the kinematic velocity vectors, the nature of the force and torque
vectors is somehow skew symmetric in the following sense:
The force vector f ∈ R3 , that induces a linear velocity v ∈ R3 in a body, does not
depend on the position d ∈ R3 at which this force is applied to the body, hence is a
free vector (while v is a point vector):

∂f
=0
∂d

Also, the torque vector n ∈ R3 , that induces an angular velocity ω ∈ R3 in a rigid


object, does depend on the position d ∈ R3 at which this torque is applied to the
body, hence is a point vector (while ω is a free vector), and hence defines a field
vector such that
∂n
= 0
∂d


5.6 External Influences

Consider any of the expressions for the dynamic motion of a rigid body given by either
(5.65), (5.66), or (5.67). In all cases, the left-hand side of the expression represents
the moments conservation principle that depends on the conservative kinetic energy,
while the right-hand side represents the total forces and torques exerted to the full
amount of particles of the rigid body B at the point where the linear and angular
velocities are measured. Since internal forces and torques of interaction between
these particles are self-compensated by the 3rd law of Newton, the remaining forces
5.6 External Influences 261

and torques left in f and n are the external forces and moments forces acting on
the rigid body. According to Newton’s mechanics (see Sect. 2.1.3), these forces are
produced uniquely by the four different sources explained in the following list.
1. The forces induced from potential fields where the body is moving like gravity,
magnetic fields or buoyancy. This kind of forces are conservative, that is that the
total work produced by this influences does not change with the trajectory.
2. The second kind of force-torque influence are those produced by dissipative
motion. This forces are normally velocity dependant and opposite to the move-
ment direction, like friction. The work produced by this kind does depend on the
movement path and thus are non-conservative, and are often referred as dissipative
terms.
3. The third kind are produced by a mechanical contact when the body B touches
another body or a physical constraint. This kind of force is the one used in the
Lagrangian formulation for multi-bodied systems in which it is assumed that it
does not produce any work (virtual work principle, see (Goldstein 1950; Spong
and Vidyasagar 1989)) in the constrained directions. This assumption is true for
frictionless contact or equivalently when the contact point has no velocity in the
direction of the force-torque, but this is not always the case. This wrench may have
some conservative components (mechanical reaction) and some non-conservative
(friction at the contact points).
4. The forth term is given by the actuator’s forces and torques that are produced
by the body itself to produce its own motion. This term is zero for non-actuated
bodies, but is not for systems armed with propulsion actuators, such as the reactors
of an airplane or the trusters of a submarine.
Gravity will be discussed in the this section in the following pages while contacts
and restrictions deserve a chapter of its own (see Chap. 8).
The dissipative external influence depend on each particular condition of a body
(aerodynamics for example) and then is not treated in this work. Finally the fourth
case are forces/moments of an active nature which are particular for each body case,
and often named as the external forces/moments when the previous are already taken
in the motion expression.

5.6.1 The Gravity Force

The gravity force f g = m


g is a point vector that acts at the center of masses of a rigid
body, where ⎛ ⎞
gx
g = ⎝ gy ⎠ (5.72)
gz
262 5 Dynamics of a Rigid Body

Fig. 5.7 Gravity effect over


an free-floating rigid mass

is the gravity field direction, whose components are arbitrary chosen according to
the inertial frame attitude. In any case the magnitude of this vector shall fulfil the
restriction 
g  = g = 9.81 m/s2 .

Example 5.3 In ships and aircrafts, it is a convention to define inertial frame at the
Earth surface with the vertical direction in the z-axis and positive through the center
of the earth (such that the yaw angle coincide with a compass azimuth measure).
Then the gravity field direction in the inertial frame coordinates would be given as:
⎛ ⎞ ⎛ ⎞
gx0 0
g (0) = ⎝ gy0 ⎠ = ⎝ 0 ⎠ = gk
gz0 g

For a rigid body, the gravity force acting on the center of mass can be calculated
by the projection of the gravity acceleration over the moving frame as (Fig. 5.7)

f (1) g (1) = mRT g (0)


g = m (5.73)

Remark Notice that for free-flying bodies there is no the gravity torque: ng = 0, since
there is no anchor point from which the gravity force would produce any rotational
motion, hence implying that the gravity force would not produce any moment.
For non free-flying bodies, which suffer external forces applied at different points
than the center of mass, this forces together with the force of gravity would induce
a gravity torque.
Then in a general way, the gravity torque of any body can be expressed to be
5.6 External Influences 263
 (i)
r(i)
c × fg if f = 0
n(i)
g = (5.74)
0 f =0

Then the motion equations of a rigid body including the gravity effect becomes:

Inertial expression:

 
 (0)  (0)  (0) 
(0) (0)
md̈ − m rc (θ)× ω̇ + m ω × ω × rc (θ) − mg (0) = f (0) (5.75a)
  (0)
m r(0)
c (θ)× d̈ + I 1 (θ)ω̇
(0)
+ ω (0) × I (0)
1 (θ)ω
(0)
− n(0)
g =n
(0)
(5.75b)
 
Ṙ = ω (0) × R(θ) ⇔ ω (0) = 0Jθ (θ)θ̇
(5.75c)

Non-inertial expression:

   
g (0) = f (1)
mv̇ − m[rc ×]ω̇ + m ω × v + m ω × (ω × rc ) − mRT (θ)
(5.76a)
 
m[rc ×]v̇ + I 1 ω̇ + m rc × (ω × v) + ω × I 1 ω − n(1)
g =n
(1)

(5.76b)
v = RT (θ)ḋ
(5.76c)
 
Ṙ = R(θ) ω (1) × ⇔ ω = 1Jθ (θ)θ̇
(5.76d)

5.7 Kirchhoff (Energy-Based) Formulation

Kirchhoff’s equations for the dynamic motion of a free-flying rigid object surrounded
by a fluid is the solution of the Hamilton’s minimal energy principle when considering
only conservative energies: 
δ (K + U )dt = 0
264 5 Dynamics of a Rigid Body

where K stands for the kinetic energy of both the rigid body and that of the fluid and
U stands for the potential energy of both the body and the fluid.
The solution, when expressed in the non-inertial coordinates, is found3 to be
(Kirchhoff 1869):

d ∂K ∂K ∂U
+ω× = −RT (θ) (5.77a)
dt ∂v ∂v ∂d

d ∂K ∂K ∂K ∂U ∂U ∂U
+v× +ω× = n1 × + n2 × + n3 ×
dt ∂ω ∂v ∂ω ∂n1 ∂n2 ∂n3
(5.77b)

where ni are the rows of the rotation matrix R ∈ SO(3) that describes the orientation
of the body w.r.t. the inertial frame, i.e.:

RT = [n1 , n2 , n3 ] ∈ SO(3)

Remark Notice that if the fluid has no density or its kinetic and potential energies
are small enough that can be neglected with respect to the mechanical energy of the
body, then expression (5.77) still holds and the above equation must represent the
motion of a free-flying rigid body. 

5.7.1 Kirchhoff–Euler Equivalence

Notice that the left-hand sides of (5.77) are equivalent to the left-hand sides of the
non-inertial Newton–Euler expressions (5.67a)–(5.67b). While the equivalence can
be achieved using linear algebra and the CPO properties, the original way to find
these expression is quite cumbersome (Kirchhoff 1869). However the following pro-
cedure establishes the complete equivalence in terms of the Kinetic energy:

First notice that the partial derivatives of the kinetic energy with respect to veloc-
ities of the body fulfill the following relationships:
I. Using the kinetic energy expression (5.28a), with respect to the velocities of the
non-inertial frame 1 , expressed in local coordinates:

∂K
= m (v + ω × rc ) = mvc = p(1)
∂v
∂K (1) (1)
= I 1 ω + m (rc × v) = I c ω c + m (rc × vc ) = L1 = Lc + rc × p(1)
∂ω

3 In the original paper (Kirchhoff 1869) this equation set is presented as 6 (largely more complicated)

scalar equations, since they predate the vector notation.


5.7 Kirchhoff (Energy-Based) Formulation 265

where definitions (5.32) and (5.41) have been used.


II. Using the kinetic energy expression (5.28b), with respect to the velocities of the
body at its center of mass expressed with the non-inertial coordinates of frame
1 :

∂K ∂K
= mvc = p(1) =
∂vc ∂v
∂K ∂K ∂K
= Ic ωc = L(1) = − rc ×
∂ω c c
∂ω ∂v

III. Using the kinetic energy expression (5.29), with respect to the velocities of the
body at its center of mass expressed with the inertial coordinates of frame 0 :

∂K ∂K ∂K
= mḋ c = p(0) =R =R
∂ ḋ c ∂vc ∂v
∂K ∂K ∂K ∂K
= I (0)
c ω
(0)
= L(0) =R =R − r(0)
c ×R
∂ω (0) ∂ω c ∂ω ∂v
c
c

Then, after using (5.8) as d c = d + r(0)


c , one can conclude that the rigid body
momentums can be written out of (5.32) and (5.43) as

∂K ∂K
p(0) = =R (5.78)
∂ ḋ c ∂v
∂K ∂K ∂K ∂K
L(0)
0 = dc × + =d×R +R (5.79)
∂ ḋ c ∂ω (0) ∂v ∂ω

From which the Euler laws (5.57a)–(5.57b) can be written with inertial coordinates
as
 
d ∂K ∂K
ṗ = R +ω× = f (0)
dt ∂v ∂v
 
∂K d ∂K ∂K
(1) (1)
L̇0 = R d × f + v × + +ω× = n(0)
∂v dt ∂ω ∂ω 0

where expressions Ṙ = R [ω×] and ḋ = Rv have been used. Notice that last expres-
sions are equivalent for the Inertial
 Newton–Euler  expressions (5.66). Finally, after
the use of (5.51), i.e. n(0)
0 = R d (1)
× f (1)
+ n(1)
1 , it follows that last expression can
be written4 as:

4 This vector expression is being presented in (Meirovitch 1970).


266 5 Dynamics of a Rigid Body

d ∂K ∂K
+ω× = f (1) (5.80a)
dt ∂v ∂v
d ∂K ∂K ∂K (5.80b)
+v× +ω× = n(1)
dt ∂ω ∂v ∂ω 1

Remarks
• Although the original solution found by Kirchhoff is (5.77), Eq. (5.80) are the
ones that are often referred as the Kirchhoff equations (Meirovitch 1970; Fossen
1994).
• Expressions (5.80) are indeed the non-inertial Newton–Euler expressions (5.67a)–
(5.67b). Therefore both expressions are fully equivalent.
• Kirchhoff equations (5.80) above use only kinetic energy, hence they must be
equivalent to the D’Alembert-Lagrange formulation for a rigid body, implying
that a generalized coordinates expression q ∈ R6 must exist. 

5.7.2 The Potential Energy

To include the potential energy effects in Kirchhoff’s equations consider that the
gravity potential energy of a rigid object is known to be

U (t) = U0 + m g h(t)

where h is the altitude or vertical position of the center of mass of the body with
respect to an inertial datum (where the term mgh is null), and U0 is an additional
term that guaranties that this potential energy is always positive (i.e. U (t) > 0).
Notice that the scalar product g h(t) can be computed by the inner product (dot
product) of the gravity vector g (0) and the inertial position of the center of mass d c
as
g h(t) = − g (0) · d c (t) = − 
g (0) , d c (t)
= −d Tc (t) g (0)

where the negative sign comes from the fact that the gravity field always points to
the center of the Earth which is contrary to direction for which vertical position
increases. Since the inertial position of center of mass

d c = d + R(θ)rc

depends on both the position d ∈ R3 of the non-inertial frame and its attitude θ,
such that the rotation matrix RT = [n1 , n2 , n3 ] ∈ SO(3) can be expressed with its
5.7 Kirchhoff (Energy-Based) Formulation 267

row vectors ni ∈ R3 . Then the potential energy due to gravity can be written in either
of the following forms:

U (d, θ) = U0 − m d Tc (d, θ) g (0) (5.81a)


 T  (0)
= U0 − m d + rc R (θ) g
T T
(5.81b)
 
= U0 − m d T g (0) + rTc n1 (θ)gx0 + rTc n2 (θ)gy0 + rTc n3 (θ)gz0 (5.81c)

from which it yields

∂U
g (0)
= −m (5.82)
∂d
∂U ∂U ∂U
= −mr(1)
c gx0 ; = −mr(1)
c gy0 ; = −mr(1)
c gz0 (5.83)
∂n1 ∂n2 ∂n3

Notice that the gradient (5.82): ∂U /∂d is the negative expression of the weight
f (0)
g = m g (0) . Then the right-hand side term in (5.77a) is indeed the gravity force,
defined in expression (5.73):

∂U
−RT (θ) = mRT g (0) = f (1)
g
∂d

Then it arise that expression (5.77a) is equivalent to (5.76a) when there is no exoge-
nous forces other than those of gravity, i.e. f (1) = 0.

Also notice the following products using the potential gradients w.r.t. the rotation
matrix rows (5.83):

∂U
n1 × = −m(n1 × rc )gx0 = m(rc × n1 )gx0
∂n1
∂U
n2 × = −m(n2 × rc )gy0 = m(rc × n2 )gy0
∂n2
∂U
n3 × = −m(n3 × rc )gz0 = m(rc × n3 )gz0
∂n3

such that their addition happens to be the gravity torque as expressed in (5.74), when
the exogenous force in (5.76a) is not null, i.e. f (1) = 0:

∂U ∂U ∂U
n1 × + n2 × + n3 × = m[rc ×]RT g (0) = rc × f (1)
g
∂n1 ∂n2 ∂n3

which is the right-hand side of Kirchhoff equation for angular motion (5.77b).
268 5 Dynamics of a Rigid Body

Remarks
• Although last conclusion seems to be a contradiction since equivalence (5.76a)–
(5.77a) follows only for f (1) = 0 while equivalence (5.76b)–(5.77b) is valid only
for f (1) = 0, this is not. It happens that the original Kirchhoff formulation (5.77)
had been developed for the motion of a rigid body inside of a fluid endowed
with kinetic and potential energy. While the kinetic energy does not posses any
problem in the formulation, the potential energy seems so. However the fluid
potential energy:

Uf (d, θ) = ρV d Tb (d, θ) g (0)


 
= ρV d T + rTb RT (θ) g (0)
 
= ρV d T g (0) + rTb n1 (θ)gx0 + rTb n2 (θ)gy0 + rTb n3 (θ)gz0

where ρ is the density of the fluid, V is the volume of the rigid body, equivalent
to the displaced fluid, and d b (d, θ) = d + R(θ)rb is the inertial expression of the
body’s volume centroid where it is applied the buoyancy force (expressed in any
frame coordinates):
f (i)  (i)
b = ρV g

Since in general the center of mass and the volume centroid are not at the same
spot, it arise that each part of the potential energy U = Ug + Uf (gravity and
fluid) provides a potential force at different points in the body, producing an effec-
tive potential torque, which in non-inertial coordinates is found after Kirchhoff
formulation as
∂U ∂U ∂U  
n1 × + n2 × + n3 × = m[rc ×] − ρV [rb ×] RT g (0)
∂n1 ∂n2 ∂n3
= [(mrc − ρV rb ) ×]RT g (0)
(1)
= rc × f (1)
g − rb × f b

which is null whenever the vector mrc − ρV rb ∈ R3 is collinear with the gravity
vector in local coordinates g (1) .
Then Kirchhoff’s equations (5.80a) capture the full complexity of the rigid body
motion where the exogenous force/torques includes any kind of external influence
such as potentials, dissipative, active or constraints.
• Notice that the potential gradients w.r.t. the rotation matrix rows (5.83) can be
written in the following tensor product form:
5.7 Kirchhoff (Energy-Based) Formulation 269
     
∂U ∂U ∂U ∂U (0) T (0) T
= , , = −m r(1)
c g  = − r(1)
c fg
∂RT ∂n1 ∂n2 ∂n3
 
(0) T
= −RT (θ) r(0) c fg
 
(1) T
= − r(1)
c f g RT (θ)

from which after identity (1.99k) (i.e.: [a×][b×] = baT − (a · b)I ), it arise the
following identities:

∂U     (1)   (1) T (1) 


(1) T
−RT (θ) = f (1)
g rc = r(1)
c × fg × + fg rc I3 ;
∂R
∂U T    (0)  (0)   
(0) T (0) T (0)
− R (θ) = f (0)
g c r = r × f g × + f g r I3 
∂R c c

5.7.2.1 The Potential Energy Gradient

A Lagrangian-like formulation may be useful is some context. For such formulation,


consider the time derivative of the potential energy (5.81a), and the use of expressions
(5.13) and (5.73):

U̇ (·) = −mḋ c g (0) = −mvcT RT g (0) = −vcT f (1)


T
g (5.84)

which is a negative Power induced by the gravity force at the center of mass. Recall
that the velocity at the center of mass can be expressed with the velocity compo-
nents of the non-inertial frame (see (5.14)): vc = v + ω × rc = v − [rc ×]ω. Then
expression (5.84) becomes
 
U̇ (t) = − vT + ω T [rc ×] f (1) T (1) T (1)
g = −v f g − ω ng (5.85)

Also notice that the chain rule would produce

∂U ∂U
U̇ (·) = · ḋ + · θ̇
∂d ∂θ
with the inverse kinematic equivalence given by (3.86a)–(3.86b):

ḋ = R(θ)v
θ̇ = 0Jθ+ (θ)R(θ)ω = 1Jθ+ (θ)ω

where 1Jθ (θ) is the attitude kinematic operator which is particular for each attitude
representation and whose inverse may be ill conditioned for some attitude values
270 5 Dynamics of a Rigid Body

known as attitude representation singularities. Refer to Chap. 4 for details on these


operators.
Then the time derivative of the potential function can be written as

∂U ∂U 1 +
U̇ (·) = · Rv + · Jθ (θ)ω (5.86)
∂d ∂θ
which together with expression (5.85) mean that

∂U
f (1)
g = −R (θ)
T
(5.87)
⎧ ∂d
⎨ 1 +T ∂U
− Jθ (θ) if f (1) = 0
n(1)
g = ∂θ (5.88)
⎩ 0 f (1) = 0

Notice that if the free flying body has null exogenous force f (1) in (5.80a), then the
gravity torque n(1)
g = 0 must be null since there is no anchor point other than the
inertial frame origin (already taken in account) and then, the gravity force would not
produce any moment.
The Kirchhoff formulation (5.80a) can be slightly modified to include the potential
energy as follows:

d ∂K ∂K ∂U (5.89a)
+ω× + RT (θ) = f (1)
dt ∂v ∂v ∂d
d ∂K ∂K ∂K ∂U
+ 1Jθ+ (θ) (5.89b)
T
+v× +ω× = n(1)
dt ∂ω ∂v ∂ω ∂θ

Remarks
• The potential gradient in expression (5.89b) is mapped with the transpose of the
inverse of the attitude kinematic operator 1Jθ (θ) which is particular for each
attitude representation and that may be ill conditioned for some attitude values
known as attitude representation singularities. Some common attitude representa-
tions together with their attitude kinematic operators 1Jθ ’s and their corresponding
singularities are presented in Chap. 4.
• From both Kirchhoff formulations: above and the original one (5.77), it arise the
following identity for the Potential attitude gradient:
 
∂U ∂U ∂U ∂U
= 1JθT (θ) n1 × + n2 × + n3 × (5.90)
∂θ ∂n1 ∂n2 ∂n3

• If a “Lagrangian function” is considered as L(q, ν) = K(ν) − U (q), expressions


(5.89) could be written as:
5.7 Kirchhoff (Energy-Based) Formulation 271

d ∂L ∂L ∂L
+ω× − RT (θ) = f (1) (5.91a)
dt ∂v ∂v ∂d
d ∂L ∂L ∂L T ∂L
+v× +ω× − 1Jθ+ (θ) = n(1) (5.91b)
dt ∂ω ∂v ∂ω ∂θ
Since L(q, ν) is not a Lagrangian function in the sense of the Euler-Lagrange
equation, the above formulation is known as the Quasi-Lagrangian formulation
for a rigid body, (Meirovitch 1970; Fossen 1994).
However, notice that the Quasi-Lagrangian generalization (5.91) of the Kirch-
hoff formulation (5.89) needs the potencial energy to be independent of the
generalized velocities, which may not always be the case. 
Chapter 6
Spacial Vectors Approach

By definition any vector has a magnitude and a direction. For some physical vectors
this information is enough for their definition. For example the angular velocity of a
rigid body or the 3-D force applied to it. In any case neither the angular kinematics
nor the translational dynamic motion do not change when any of these vectors is
applied at any particular point of the body.
On the other hand, for some other physical vectors, the magnitude and direction
is not enough for their definition. For example the linear velocity or the 3D torque
applied to a rigid body. For the linear velocity, it must be defined for a particular
point such as the center of mass or the geometric center of the non-inertial frame,
and a particular choose give rise to a particular kinematic equation. In the case of
the torque, the angular dynamic motion do change when this vector is applied at
different locations in the body. These kind of vectors need additional characteristics
given by the position in the Euclidian space where the vector is expressed. These
vectors are called “line vectors” while vectors that need not a particular point to be
expressed are called “free vectors”.

6.1 Spacial Vectors

6.1.1 The Twist: the Velocity Spacial Vector

In the motion of rigid bodies, one can define the linear velocity of the center of mass
in term of the linear and angular velocities v and ω of the body’s frame and a local
constant distance r c from the origin of that non inertial frame to the center of mass,
refer to (5.14)–(5.15).

vc = v + ω × r c
v = vc − ω c × r c

© Springer Nature Switzerland AG 2019 273


E. Olguín Díaz, 3D Motion of Rigid Bodies, Studies in Systems,
Decision and Control 191, https://doi.org/10.1007/978-3-030-04275-2_6
274 6 Spacial Vectors Approach

For rigid bodies endowed with a reference frame, the linear and angular velocities
of the frame can describe the complete 3D motion (translation and rotation) of the
body. Then a six dimension velocity vector ν ∈ R6 can be defined, which expresses
both linear and angular velocities of a non-inertial frame. This extended velocity
vector is called the twist, and is defined as follows:
Definition 6.1 The linear and angular velocity pair (v, ω) ∈ R3 of a any point in
space is a twist:  
v
ν ∈ R6 (6.1)
ω

Example 6.1 For a rigid body, the twist


 
v
ν=
ω

in above expression corresponding to the velocities of the origin of the non-inertial


frame 1 , attached to the body; while the twist
 
v
νc = c
ω

corresponds at the center of mass of the body.

Remark Note that from the above definition that each twist in a rigid body is a point
vector because it is unique for a given point in the body. Then the vector space
defined from these vectors is a vector field. Also notice that independent of the point
where they are placed, they can be expressed in coordinates of any frame. 

6.1.2 The Wrench: the Force Spacial Vector

In the same manner as for velocities, a six dimension force vector F ∈ R6 can
be defined, which expresses both force and torque at a given point in space. This
extended force vector is called the wrench, and it is defined as follows:
Definition 6.2 The force and torque pair ( f , n) ∈ R3 of a any point in space is a
wrench:  
f
F ∈ R6 (6.2)
n

For example, the force and torque of the momentum conservation equations
(5.45)–(5.50) would define the inertial wrench F 0 of the body, of course expressed
with inertial frame coordinates:
6.1 Spacial Vectors 275
 
f (0)
F (0) = (6.3)
0
n(0)
0

On the other hand, wrenches can also change the acting point. For example, there
is a wrench at the origin of the non-inertial frame given by:
 
f (0)
F (0) = (6.4)
1
n(0)
1

which are the acting forces/torques in the inertial Newton’s formulation (5.57a)–
(5.57b).

Remark In consequence, wrenches are also point vectors because they are unique
for a given point in the space. The vector spaces defined from these vectors are also
vector fields. 

6.1.3 The Pose

The pose is the set of variables needed to describe both the position and orientation
of a frame 1 with respect to another one 0 , regardless whether the last is an inertial
frame or not. Then a natural chose for the pose is
 
d
x ∈ R3+m (6.5)
θ

where d ∈ R3 is distance form the origin of the base frame 0 to the origin of the
target frame 1 , expressed with base frame coordinates (i.e is the cartesian position
of the origin of frame 1 ), and θ ∈ Rm , m ≥ 3 is the attitude set that parameterize
the Rotation R01 (θ) ∈ S O(3) from the target frame 1 to the base frame 0 . Since
the rotation matrix has 3 dof and many ways to be parameterized, the pose is not
unique, but depends on the particular choice of attitude parametrization.
The set S E(3) = R3 × S O(3) is known as the Special Euclidian space of order
3 made by the Cartesian product of a 3D Euclidian space representing a translation
and Special Orthogonal space of order 3 representing the orientation. Then the pair
(R, d) ∈ S E(3).
The pose is not a spacial vector since it does not belong to the R6 space neither to
the S E(3). However this vector is useful to describe the full configuration of a rigid
body.
276 6 Spacial Vectors Approach

6.1.4 The Motion and Force Spaces

Notice that while twists and wrenches both have a free vector and a line vector in their
arguments, the order where they are been defined is reversed from one to another.
Therefore the vector fields defined by these vectors is different. Such difference can
be expressed by naming the vector space of twists as the motion space M ⊂ R6
while the vector space of the wrenches is named force space F ⊂ R6 , (Featherstone
and Orin 2000; Featherstone 2008):

ν ∈ M ⊂ R6 F ∈ F ⊂ R6

6.2 Spacial Vectors Transformations

Spacial vectors are 6D vector which for their physical meaning are defined at a very
specific point in the Euclidean space. Then by its own definition they are, except for
some particular exceptions, 6D point vectors. They can perform two operation based
in that they are, on one hand an extended version of 3D vectors and on the other hand
that they are point vectors. The first assumption defines the Extended Rotation or
coordinate transformation and the second defines the Extended Translation. While
the first operation is the same for any spacial vector, the second needs particular
attention in the kind of vector to be translated. This section introduce the notions for
these particular types of transformations, and corresponding Extended Operators.

6.2.1 Extended Rotations

Spacial vectors, being made with 3D vectors, can be expressed with coordinates of
any reference frame. For example the inertial frame 0 or in the non-inertial frame
1 :
   
v(0) f (0)
ν (0) = ∈ M ⊂ R6 ; F (0) = ∈ F ⊂ R6 ;
ω (0) n(0)
   
v(1) f (1)
ν (1) = ∈ M ⊂ R6 ; F (1) = ∈ F ⊂ R6 ;
ω (1) n(1)

Definition 6.3 An Extended Rotation R(R) : R6  → R6 is an order 6 linear operator


that transforms the coordinates of any given spacial vector from one frame to another,
whose structure is given as follows:
 
R(θ) 0
R(R)  (6.6)
0 R(θ)
6.2 Spacial Vectors Transformations 277

Note that from the properties of the rotation matrix R ∈ S O(3), the extended
rotation R(R) is an order 6 orthonormal matrix and hence a Special Orthogonal
matrix of order 6 (i.e.: S O(6)) with the following general properties:

R−1 (R) = RT (R) = R(R T ) (6.7a)


det(R) = 1 (6.7b)
Ṙ(R, ω) =  R (ω (b) ) R = R  R (ω (l) ) (6.7c)

where ω = ωl/b is the angular velocity of the local frame l with respect to the base
frame b , and ω (b) = Rω (l) is the transformation form local frame expression to the
base frame.
In virtue of the last statement,  R (a) is an operator defined as follows:
 
[a×] 0
 R (a)  ∈ R6×6 ∀ a ∈ R3 (6.8)
0 [a×]

which exhibit the following properties:

TR (a) = − R (a) (6.9)


 
[a×]n 0
 R n (a) = ∀n≥0 (6.10)
0 [a×]n

Also, if the rotation is expressed with Euler parameters (axis-angle, see (3.35)),
the extended rotation exhibit the following particular properties:

R(Rλ,ϑ ) = e R (λ)ϑ (6.11)


− R (λ)ϑ
R (Rλ,ϑ ) = e
T
(6.12)

Then the Extended Rotation is indeed a coordinates transformation matrix for


both motion (velocity) and force (dynamics) vectors spaces: R(R) : R6 → R6 :

ν (0) = Rν (1) (6.13a)


ν (1) = RT ν (0) (6.13b)
(0) (1)
F = RF (6.13c)
(1) (0)
F =R F
T
(6.13d)
278 6 Spacial Vectors Approach

Fig. 6.1 Linear and angular


velocities associated to
geometric origin g of frame
1 and linear and angular
velocities of the center of
mass cm

6.2.2 Extended Translations

6.2.2.1 Motion Spacial Vectors Translations

The twist of a point in a rigid body is a 6 dimension extended velocity vector that
represents both the linear velocity of the given point and the angular velocity of the
rigid body (actually the angular velocity of the frame attached to the body).
In this work, when the frame in which the twist is expressed is omitted, the twist
is expressed with coordinates of the local (non-inertial) frame. Thus for different
points in the body B there are different twists. For instance, the twist of the center
of mass of a body, expressed in its own referential frame, is defined as:
 
vc
νc  ∈M (6.14)
ωc

whose components can be calculated using the components of the twist ν of the
origin of frame 1 and the relative constant distance r c from this origin to the center
of mass cm, as in expressions (5.14)–(5.15):

vc = v + ω × r c (6.15a)
ωc = ω (6.15b)

Or equivalently in the inverse sense, components of the twist at g can be computed


form components of the center of masses’ twist as
6.2 Spacial Vectors Transformations 279

v = vc + r c × ω c (6.16a)
ω = ωc (6.16b)

Equations (6.15) and (6.16) can be expressed in matrix form as (Fig. 6.1)
         
vc I3 −[r c ×] v v I3 [r c ×] vc
= ; =
ωc 0 I3 ω ω 0 I3 ωc

where I3 ∈ R3×3 stands for an identity matrix of order 3. This results yield to the
following

Definition 6.4 The Extended Translation Operator T (a) : M → M is defined as


 
I3 −[a×]
T (a)  (6.17)
0 I3

where the vector a ∈ R3 is the 3D translation from the base point to the target point,
expressed in the same referential frame as the twists.

Then twists ν c and ν are translated version of each other:

ν c = T (r c )ν (6.18)
ν = T (−r c )ν c (6.19)

Remark In a more general way, twist translations are given as


 
(c)
ν a(c) = T r a/b ν (c)
b (6.20)

where the vectors ν a(c) , ν (c) (c)


b ∈ R and r a/b ) ∈ R are all expressed in the same ref-
6 3
(c)
erence c ; and the distance r a/b ∈ R3 expresses the cartesian offset from point a to
point b. 

The time derivative of a Extended Translation Operator is


 
0 −[ ȧ×]
Ṫ (a) =
0 0

where ȧ is a linear velocity vector expressed in the same coordinates as vector a,


from which the following operator arise:
 
0 [b×]
T (b)  ∈ R6×6 ∀ b ∈ R3 (6.21)
0 0

Notice that operator T (·) exhibit the following property:


280 6 Spacial Vectors Approach

⎨ I6 if n = 0
T n (a) = T (a) if n = 1 (6.22)

0 if n ≥ 2

In conclusion, the twist translation operator (or extended translation) and its time
derivative fulfill the next set of properties, for all a, b ∈ R3 :

T (a) = e−T (a) = I6 − T (a) (6.23a)


T (0) = I6 (6.23b)
T −1 (a) = T (−a) (6.23c)
T (a)T (b) = T (a + b) (6.23d)
T (a)T (b) = T (b)T (a) (6.23e)
R(R)T (a)R = T (Ra)
T
(6.23f)
T n (a) = T (na) (6.23g)
Ṫ (a) = −T ( ȧ) (6.23h)
Ṫ (a)T (b) =T (b) Ṫ (a) = Ṫ (a)
n n
(6.23i)

Proves for each one of these properties can be found in Appendix C.

6.2.2.2 Force Spacial Vectors Translations

Consider the wrench at the origin of the non-inertial frame 1 defined in (6.4) whose
elements are used in the dynamic motion expression (5.67), expressed with local
coordinates F (1) T (0)
1 = R F 1 . Consider a wrench at the center of mass whose compo-
nent are used in the Newton-Euler equations (5.65), also with the same coordinates’s
reference, and consider the inertial wrench used in the Newton-Euler formulation
(5.57):
     
f (1) f (1) f (0)
F (1)
1 = ∈ F, F (1)
c  ∈ F, F (0)
0  ∈F
n(1)
1 n(1)
c n(0)
0

(1)
Then consider the torques equivalences (5.61) (for the mapping n(1)c → n1 ) and
(5.51) (for the mapping n(0) (0)
1 → n0 ), from which it arise that the wrench mappings
are indeed:
 (1)     (1)   (0)     (0) 
f I3 0 f f I3 0 f
(1) = ; (0) =
n1 [r c ×] I 3 nc(1)
n0 [d×] I 3 n(0)
1

From which it arise


6.2 Spacial Vectors Transformations 281

F (1) (1)
1 = T (r c )F c
T
(6.24a)
F (1)
c =T −T
(r c )F (1)
1 (6.24b)

F (0) (0)
0 = T (d)F 1
T
(6.24c)
F (0)
1 =T −T
(d)F (0)
0 =T T
(−d)F (0)
0 (6.24d)

where T (a) is the Extended Translation Operator defined in (6.17). Expression


(6.24c) stands that the inertial wrench F (0)
0 , defined in (6.3), is a translated version
to the origin of the inertial frame, of the non-inertial origin wrench F (0)
1 .

Remark
• Notice that the translation of these force spacial vectors needs the transpose of the
Extended Translation Operator T T (·) : F → F, instead of the simple ETO for the
motion spacial vectors.
• Expression (6.24b) can be written using also the extended rotation:

F (1)
c =T
−T
(r c ) RT (R) F (0)
1 (6.25a)
F (0)
1 = R(R) T (r c ) T
F (1)
c (6.25b)

• Expression (6.24a) can also be written in the inertial frame using property (6.23f):

F (0) (1) (0)


1 = R(R) F 1 = R(R) T (r c ) R (R)F c
T T

= T T (r (0) (0)
c ) Fc

which shows that the translation is achieved regardless of coordinates’s frame in


which the translation is expressed. 

6.2.3 The Spacial Vector Product

The vector product for 3D vectors (i.e in R3 ) is also known as the cross product. This
product, in contrast to inner or outer products is only defined for 3D vectors (Refer
to (1.95) and Appendix A). There is however a vector product for spacial vectors
that shall reproduce most of the properties of the 3D cross product (see properties
(1.93) and (1.96)). This is achieved with the following
282 6 Spacial Vectors Approach

Definition 6.5 Let be (a); R6 → R6 an operator defined as follows:

(a)  T (a1 ) +  R (a2 ) (6.26)


 
a1
∀ a= ∈ R6 ; (a1 , a2 ) ∈ R3
a2

where the operators T (b1 ) and  R (b2 ) are defined in (6.21) and (6.8) respectively.

This extended cross product operator is written explicitly as:


 
[a2 ×] [a1 ×]
(a) = ∈ R6×6 (6.27)
0 [a2 ×]

is the equivalent cross product operator for spacial vectors. Notice that operator (a)
and its elements exhibit the following properties, for all (a, b) ∈ R6 , and r ∈ R3 :
Property 6.1 (Spacial vectors product operator properties)

Linearity : (αa + βb) = α(a) + β(b)


(6.28a)
Nullity projection : (a)a = 0 (6.28b)
Anti-commutativity : (a)b = −(b)a (6.28c)
Lie bracket : (a)(b) − (b)(a) =  ((a)b) (6.28d)
Dual anti-symmetry : T (a)b = S(b)a (6.28e)
Similarity Transformations : R(a)R =  (Ra)
T
(6.28f)
−1
T (r)(a)T (r) =  (T (r)a) (6.28g)
Nullity complementarity : T (a1 )a = − R (a2 )a (6.28h)

where matrix S(·) is a skew-symmetric matrix (i.e.S(b) + S(b)T = 0), defined as


   
0 [b1 ×] b1
S(b)  ∈ R6×6 ∀b= ∈ R6 ; (b1 , b2 ) ∈ R3 (6.29)
[b1 ×] [b2 ×] b2

Notice that this skew-symmetric operator is related with both the extended rotation
and extended translation by the following properties:

S(c) + S(c)T = 0 (6.30a)


R S(b) R = S (Rb) T
(6.30b)

T (r) S(b) T (r) = S T T (r)b
T
(6.30c)

Proves for each one of these properties can be found in Appendix C.


6.3 Spacial Vector’s Kinematics 283

6.3 Spacial Vector’s Kinematics

It has been shown how twists (extended velocity vectors) can be expressed in different
frames by the use of an Extended Rotation -refer to expressions (6.13a)- or translated
from different points in the same body using the Extended Translator Operator –refer
to expression(6.19)–. The Twist Kinematic Equations are given by the combination
of these two operators.
For example, the inertial velocity twist (expressed in the inertial frame) of the
origin of the non-inertial frame of the body can be expressed from the center of
mass’s twist in at least two different ways:

ν (0) = R(R)T (−r (1)


c )ν c (6.31a)
=T (−r (0)
c )R(R)ν c (6.31b)

Expression (6.31a) is obtained by first translating


the twist at the center of mass
to the non-inertial frame origin: ν (1) = T −r (1) c ν c , and secondly by rotating the
resulting spacial vector to the inertial frame: ν (0) = R(R)ν (1) . In contrast, expression
(6.31b) is obtained by first rotating the twist at center of mass to inertial frame
coordinates: ν (0)
c = R(R)ν c ), and then translating the resulting spacial vector by the
same distance r c , but expressed in the rotated frame: ν (0) = T (−r (0) (0)
c )ν c . Both of
these expressions stand that

R(R)T (r (1) (0)


c ) = T (r c )R(R)

which is reordered version of property (6.23f):

T (r (0) (1) (1)


c ) = R(R)T (r c )R (R) = T (Rr c )
T

6.3.1 The Plücker Transformation

Expressions (6.31a)–(6.31b) yield to the following


Definition 6.6 Lets have two reference frames b and l and the pair (R, d) that
defines uniquely the rotation R = Rbl from the local frame l to the base frame
b , and the distance d = d l/b from the base frame origin to the local frame origin,
expressed in either local or base frame. Then the Operator X (R, d) : M(b) → M(l)
that transforms motion spacial vectors form the base frame to the local frame, is
defined as:


X (R, d)  RT (R)T d (b) = T d (l) RT (R) ∈ S E(3)

(6.32)
284 6 Spacial Vectors Approach

Notice that according to definition (6.32) and properties of extended operators the
inverse and the transpose of the X -operator are given as

X −1 (R, d) = T −d (0) R(R) = R(R)T −d (1) (6.33a)

X T (R, d) = T T d (0) R(R) = R(R)T T d (1) (6.33b)

X −T (R, d) = RT (R)T T −d (0) = T T −d (1) RT (R) (6.33c)

Remarks
• After the X operator definition the twist equations (6.31a) can be written as:

ν (1)
c = X (R, r c ) ν
(0)
ν (0) = X −1 (R, r c ) ν (1)
c

and the force equations (6.25) as:

F (0) (1)
1 = X (R, r c ) F c
T
F (1)
c =X
−T
(R, r c ) F (0)
1

• Notice that while X (R, d) : M(b) → M(l) maps motion spacial vectors, their
transpose X T (R, d) : F (l) → F (b) maps force spacial vectors; and so their
inverses: X −1 (R, d) : M(l) → M(b) and X −T (R, d) : F (b) → F (l) .
• Operator X is called: velocity transformation (and its transpose: force-moment
transformation) by Craig, (Craig 1986), while Featherstone, (Featherstone 2008)
refer to it as: Plüker coordinates transformation and Khalil, (Khalil 2010) calls it
just as screw transformation. 

The explicit expressions of definition (6.32) and its variate versions (6.33) become
   T  
R T (θ) −R T (θ) d (0) × R (θ) − d (1) × R T (θ)
X (R, d) = =
0 R T (θ) 0 R T (θ)
    
−1 R(θ) d (0) × R(θ) R(θ) R(θ) d (1) ×
X (R, d) = =
0 R(θ) 0 R(θ)
   
R(θ) 0 R(θ)
(1)  0
X T (R, d) = (0)  =
d × R(θ) R(θ) R(θ) d × R(θ)
   
R (θ)
T
 0 R T (θ)
 0
X −T (R, d) = =
−R T (θ) d (0) × R T (θ) − d (1) × R T (θ) R T (θ)

Property 6.2 (Plücker Transformation properties) Consider the frames b and l


with its pair (R, d) ∈ S E(3), defining the rigid motion between these frames, and
any spacial vector a ∈ R6 .

Plücker’s identity:  X (R, d)a = X (R, d) (a) X −1 (R, d) (6.34a)
6.3 Spacial Vector’s Kinematics 285

(l)
Time derivative Ẋ (R, d) = −(ν l/b ) X (R, d) (6.34b)

with ν l/b ∈ M being the relative twist of the local frame with respect to the base
one. The time derivative expression above need that this twist must be expressed with
local frame coordinates.

Proof Proof of (6.34a) follows straightforward from properties (6.28f) and (6.28g).

Proof Proof of (6.34b) arise from definition (6.32), for which its the time derivative
yields
Ẋ (R, d) = ṘT (R)T (d) + RT (R)Ṫ (d)

Then consider the time derivative of the arguments of X , given as

ḋ = v(b) = Rv(l) (6.35)


(b)  
Ṙ = ω × R = R ω (l) ×

which defines the relative twist


 
v
ν l/b = ∈M
ω

of the local frame with respect to the base one, that can be expressed in either frame
and transformed from one to another using an extended rotation defined by (6.6)
(b) (l)
(i.e.: ν l/b = R(R)ν l/b ).
Then using the above time derivative arguments with local coordinates, the time
derivative of the Plücker Transformation yields

Ẋ (R, d) = TR (ω (l) )RT (R)T (d) − RT (R)T ( ḋ) after (6.7c)–(6.23b),
= TR (ω (l) )X (R, d) − RT (R)T ( ḋ)T (d) after (6.23i),
= TR (ω (l) )X (R, d) − RT (R)T ( ḋ)R(R)RT (R)T (d) after R(R)RT (R) = I,
= TR (ω (l) )X (R, d) − T (R T ḋ)X (R, d) after (6.28f),
= − R (ω (l) )X (R, d) − T (v(l) )X (R, d) after (6.9)–(6.35)

Finally, after (6.26), last expression yields straightforward (6.34b).


Remark Notice that the time derivative of the Plücker transformation can also be
computed using the twist with base frame coordinates as

by means of property (6.28f): Ẋ (R, d) = −RT (R) (ν (b) )T (d)


or
   
using Plücker’s identity (6.34a): Ẋ (R, d) = −X  X −1 ν (l) = −X  T −1 (d)ν (b) 
286 6 Spacial Vectors Approach

6.3.2 The Pose Kinematics

The configuration of the body, known as the pose x = (d T , θ T )T ∈ S E(3) defined


in (6.5), has a time derivative known as the pose velocity:
 

ẋ = ∈ R3+m (6.36)
θ̇

The corresponding twist is a extended velocity given by the linear and angular velocity
of the frame b defining the pose of the body.
The kinematic equation of the body is given by the transformation of the pose
velocity ẋ to the body twist ν, with coordinates in either, inertial frame or local frame.
To obtain this mapping, first notice that the difference between these two velocity
vectors is due to the fact that θ̇  = ω (0) . However, in Sect. 3.3.1 a relationship is given
in (3.62) by the operator 0Jθ (θ) ∈ R3×m which transforms θ̇  → ω (0) with inertial
frame coordinates. Then an extended version of this operator is defined as
 
I 0
0
Jν (θ)  ∈ R6×(3+m) (6.37)
0 0Jθ (θ)

such that it transforms ẋ  → ν (0) (with inertial frame coordinates:

(6.38)
ν (0) = 0Jν (θ)ẋ
ẋ = 0Jν+ (θ)ν (0) (6.39)

The operator 0Jθ (θ) in (6.37) is particular for each attitude parameter representa-
tion. While a general expression is presented in (3.70), some examples for common
attitude representation can be found is Chap. 4.

To get the twist of the body in local (non-inertial) coordinates, a simple extended
rotation can be performed:

ν = RT (θ)ν (0) = RT (θ) 0Jν (θ)ẋ

and a new kinematic operator 1Jν (q) can be defined as


6.3 Spacial Vector’s Kinematics 287
 T   T 
1J (θ)  RT (θ) 0J (θ) = R (θ) 0 R (θ) 0
ν ν = 1J (θ) ∈ R6×(3+m)
0 R T (θ) 0Jθ (θ) 0 θ
(6.40)
such that the transformation ẋ  → ν (1) can be expressed as:

ν = 1Jν (θ)ẋ (6.41)

Remarks
• Notice that the inverse 1Jν−1 (θ) needs the inverse 0Jθ−1 (θ). The transpose, inverse,
and inverse transpose of this operator are expressed as follows
   
R(θ) 0 R(θ) 0
Jν (θ)
1 T
= 0JνT (θ)R(θ) = =
0 0JθT (θ)R(θ) 0 1JθT (θ)
   
1 −1 R(θ) 0 R(θ) 0
Jν (θ) = 0Jν−1 (θ)R(θ) = =
0 0Jθ−1 (θ)R(θ) 0 1Jθ−1 (θ)
 T   T 
1 −T R (θ) 0 R (θ) 0
Jν (θ) = RT (θ) 0Jν−T (θ) = =
0 R T (θ) 0Jθ−T (θ) 0 1Jθ−T (θ)

• The transformation (6.41) can also be found using expressions (3.85a)–(3.85b).


Also notice that the operator 0Jν (θ) defined in (6.37) has the same singularities
as operator 0Jθ (θ). Since the extended operator R(θ) has none (it has determi-
nant 1), the operator 1Jν (θ) presents singularities given by the particular attitude
representation θ ∈ Rm , chosen to define 0Jθ (θ).
• Notice the use of the pseudo-inverse 0Jν+ (θ) in (6.39). This includes non minimal
attitude representations such the pair of rotation or unit quaternions. For these
particular redundant cases, there is a well defined inverse operator 0Jθ+ (θ) that
fulfils (6.39).
• In the cases where the inverse operation is not well defined at a particular attitude for
a given parametrization, it is always possible to switch to a different parametriza-
tion for which that attitude is not a singular value of 0Jθ (θ). This can be carried out
switching different parametrization in order to avoid numerical ill-conditioning.
This fact establishes that the singularities imposed by the operators 0Jθ (θ) are not
properly of the kinematic of a rigid body but due to the numerical representation
of its attitude, and by this reason are called representation singularities. 
288 6 Spacial Vectors Approach

6.4 Spacial Vector’s Dynamics

6.4.1 The Power

The power in a rigid body, at any time, can be calculated adding the power of linear
translation f · v = f T v and the power of angular rotation τ · ω = τ T ω as stated in
(5.71). This addition can be expressed as

P = F·ν =ν · F (6.42)

Hence, by using the equivalents of twist and wrench, it becomes that

P = F T ν = F cT T (−r c )T (r c )ν c = F cT ν c (6.43)

Remarks
• Expression (6.43) means that the power can be computed with terms at any point
in the body, provided that both the twist and wrench correspond to the same spot
and both are expressed in the same reference frame.
• Expression (6.42) establishes that the Motion Space and the Force Space are dual
spaces, (Featherstone 2008). 

6.4.2 Kinetic Energy

Kinetic energy in expressions (5.28b) can be written in an even more compact using
the twists, either that of the origin of the non inertial frame ν or that of the center of
mass ν c :

1 T
K = ν Mν (6.44a)
2
1
= ν cT Mc ν c (6.44b)
2
where the twists ν and ν c are respectively defined by (6.1) and (6.14) and its trans-
formation is given in (6.18) (i.e.ν c = T (r c )ν).

6.4.2.1 The Spacial Vector’s Inertia Matrix

The inertia matrices M ∈ R6×6 and Mc ∈ R6×6 are both inertia matrices, with respect
to the frame 1 , whose difference arise from the fact that the kinetic energy is a scalar
function made by the quadratic form of a dimension 6, positive definite matrix and a
the twist of the body. Since the twist of the same body may have multiple expressions
6.4 Spacial Vector’s Dynamics 289

(depending on the point of the body where it belongs), so it has the inertia matrix.
For example, it is easy to observe that the inertia matrix at the center of mass is
symmetric and positive definite:
 
m I3 0
Mc  = McT > 0 (6.45)
0 Ic

while the more general matrix is


 
m I3 −m[r c ×]
M= (6.46)
m[r c ×] I c − m[r c ×]2

Notice that the twist transformation ν c = T (r c )ν establishes the equivalence as

M = T (r c )T Mc T (r c ) = M T > 0 (6.47)

meaning that this is also symmetric and definite positive matrix.


Alternative expressions for the kinetic energy with both the twist and the inertia
matrix expressed with inertial frame’s coordinates arise from the twist transforma-
tions:
 
ḋ c
ν (0) = R(θ)ν = (6.48)
c c
ω (0)
   (0) 
(0)
(0) (0) ḋ v
ν = T rc νc = = (6.49)
ω (0) ω (0)

such that the kinetic energy may be expressed as

1 (0) T (0) (0)


K = ν Mc ν c (6.50a)
2 c
1 T
= ν (0) M (0) ν (0) (6.50b)
2
where the corresponding inertia matrices are given as
 
m I3 0 T
Mc(0) = R(θ)Mc RT (θ) = = Mc(0) > 0 (6.51)
0 I (0)
c (θ)
  
(0) mI −m r (0)
c ×  (0) T
M (θ) = R(θ)MR (θ) =
T  (0)
2 = M (6.52)
m r (0)
c × I c − m r (0)
c ×

Notice that expressions (6.51)–(6.52) can also be computed using the particle
velocity ḋ p expression (3.79ba) directly over the kinetic energy expression (5.16)
(This proof path is left as an exercise to the reader).
290 6 Spacial Vectors Approach

6.4.3 The Momentum’s Spacial Vector

Definition 6.7 There is a spacial momentum P 0 of a rigid body made up by the


pair of both linear and angular momentum, both respect to the origin of the inertial
frame, expressed in inertial frame coordinates:
   
p mvc(0)
P0  = ∈F (6.53)
L0 d c × p + I (0) (0)
c (θ)ω c

where the angular [inertial] momentum L 0 of rigid body is given by expression (5.43).
From definition (5.42b), i.e.L (0) (0) (0)
c = I c (θ)ω , it arise the existence of another spa-
cial momentum, defined at the center of mass of the rigid body:
   
p mvc(0) ∂K
P (0)
c  = (0) = ∈F (6.54)
Lc I c (θ)ω (0)
c ∂ν (0)
c

which from equivalences (6.49) and (6.52), it can also be written as

P (0) (0) (0)


c = Mc (θ)ν c (6.55)

Remark Notice that the 6D spacial vectors of momentums are force spacial vectors
since the free vector is placed in the first position and the line vector in the second
one. 

6.4.3.1 Spacial Vector’s Momentum Transformations

According to (5.43) (i.e.L = d c × p + R I c ω c ) and the above definitions (6.53)–


(6.54), these two extended momentum are related by an Extended Translator Operator
in the following way:
  
I 0 mvc(0)
P 0 = T T (d c ) P (0) = (0) (6.56)
c [d c ×] I I c (θ)ω (0)
c

Notice that d c = d + Rr c (expression (5.8)), then it follows after the use of the
properties (6.23d) and (6.23f):

P 0 = T T (d) T T (Rr c ) P (0) T T T (0)


c = T (d) R(R) T (r c ) R (R) P c (6.57)
  
P (1)
  
c

P (1)
  
1

P (0)
1
6.4 Spacial Vector’s Dynamics 291

Notice that the products

P (1) (0)
c = R (R) P c
T

P (1) (1)
1 = T (r c ) P c
T

P (0) (1)
1 = R(R) P 1

are transformed expressions of the spacial momentum of the same rigid body. It is
evident that the first transformation P (1)
c , due to the extended rotation definition,
yields the spacial momentum at the center of mass expressed with local (non-
inertial) coordinates:
   
p(1) mvc ∂K
P (1) =R T
P (0) = = = Mc ν c = (6.58)
c c L (1)
c I c ωc ∂ν (1)
c

where the linear momentum p(1) and the angular momentum L (1) c are given by (5.33)
and (5.42a) respectively.
The second transformation P (1) is the spacial momentum at the origin of the
non-inertial frame 1 , expressed with local (non-inertial) coordinates:
 
mvc
P (1) (1)
1 = T (r c ) P c =
T
(6.59)
m (r c × vc ) + I c ω c
 
m (v + ω × r c ) ∂K
= = Mν =
I 1 ω + m (r c × v) ∂ν (1)

where ν c = T (r c )ν and M = T (r c )T Mc T (r c ) are given by (6.18) and (6.46)


respectively, and identity (5.40) i.e.m (r c × vc ) + I c ω c = I 1 ω + m (r c × v).
The third transformation is the spacial momentum at the origin of the non-
inertial frame 1 , expressed with inertial coordinates:
 
mvc(0)
P (0) = R(R) P (1)
1 =
(6.60)
1 I (0)
c ω
(0)
+ m r (0)
c × vc
(0)
 
m v(0) + ω (0) × r (0) ∂K
= (0) (0) (0)
c
(0)
= M (0) ν (0) =
I1 ω + m rc × v ∂ν (0)
(0) 2
where I (0) (0)
1 = I c − m r c × is the diagonal submatrix of M
(0)
described by (6.52).
Finally, due to the transpose expression of the Plücker Transformation (6.33b),
the extended inertial momentum transformations (6.57) can be succinctly as

P 0 = X T (R, d) P (1)
1 ∈F (6.61)

Remark Notice that the expressions of the spacial momentum at a given point i can
be generalized for any frame coordinates  j as
292 6 Spacial Vectors Approach

( j) ( j) ( j) ∂K
Pi = Mi ν i = ( j)
(6.62)
∂ν i

( j)
Then any inertia matrix Mi : M → F maps the Motion Space into the Force Space
( j)
and its inverse produce the inverse mapping: [Mi ]−1 : F → M. 

6.4.4 Spacial Vector’s Rigid Dynamic Motion

The dynamic equation of motion for a rigid body in 3D space can also be obtained
directly from Euler’s momentum conservation principles when expressed in the
extended form. To this end consider the succinct vectorial inertial expression of
Newton-Euler equations (5.57a)–(5.57b):

ṗ = f (0)
L̇ 0 = n(0)
0 = d × f
(0)
+ n(0)
1

where the left-hand side of both equations are the time derivative of 3D components
of the spacial momentum P 0 given by (6.61), while the right-hand side are the 3D
components of the inertial wrench F 0 defined in (6.3); both expressed with inertial
frame coordinates. Recall that after expressions (6.13c)–(6.24c) and property (6.33b),
the inertial wrench of the body is expressed as

F 0 = X T (R, d) F (1)
1 , (6.63)

Then it arise the extended expression of momentum conservation theorem:

(0)
Ṗ 0 = F (0)
0 (6.64)

Remark Expression (6.64) is the extended version (6D) of the double momentum
conservation laws for a rigid body (2× 3D). It is by consequence equivalent to
Newton-Euler equations of motion using only one single 6D equation. 

Using expressions (6.61) and (6.63), the spacial momentum expression (6.64)
becomes
 (1) 
X T (R, d) Ṗ 1 − T ν (1) P (1)
1 = X T (R, d)F (1)
1 (6.65)

whose solution is also given by the equivalent (simplified) version using non-inertial
coordinates variables of rigid body motion:
6.4 Spacial Vector’s Dynamics 293

(1)
Ṗ 1 − T (ν (1) ) P (1) (1)
1 = F1 (6.66)

Remark Expression (6.66) is the extended version (6D) of the double Euler laws
equation for a rigid body and it is by consequence equivalent to Newton-Euler equa-
tions of motion using only one single 6D equation with local frame coordinates.
Also notice that using expression (6.62) in (6.66) it yields the Spacial Vector’s
Kirchhoff Formulation:
 
d ∂K ∂K
− T (ν (1) ) = F (1) (6.67)
dt ∂ν (1) ∂ν (1)

Which is fully equivalent to Kirchhoff expressions (5.80a) with the use of the (·)
operator definition in (6.26). 

Notice that using the spacial momentum expression (6.59) as P (1)


1 = Mν, with a
constant inertia matrix, expression (6.66) can be written as:

M ν̇ − T (ν)Mν = F (6.68)

where ν = ν (1) and F = F (1)


1 for simplification.

6.4.4.1 The Coriolis Wrench

The twist dependent nonlinear wrench F (1) cor (ν) is the non-inertial expression of the
Coriolis vector which regroups the centrifugal term, the gyroscopic term and the
Coriolis acceleration terms. Due to the dual anti-symmetry property (6.28e), the
Coriolis vector can be written indistinctly as

(1) −T (ν)Mν
F cor (ν) = (6.69a)
−S(Mν)ν
(6.69b)
which is explicitly given by
⎛  ⎞
m (ω × v) + m ω × (ω × r c )
F (1)
cor (ν) = − (ν)Mν =
T ⎝   ⎠ (6.70)
m r c × (ω × v) + ω × I 1 ω

where the terms (ω × v) and ω × (ω × r) are the well known Coriolis and centripetal
acceleration, respectively. The less known term (r c × (ω × v)) is the moment of the
294 6 Spacial Vectors Approach

Coriolis acceleration which induce a moment of the Coriolis force m (ω × v), and
the term ω × I 1 ω is the gyroscopic term.
Remarks
• Expression (6.69a) is the one used by Featherstone, (Featherstone 2008) in his
efficient algorithms; while (6.69b) is used by the underwater robotics community,
(Antonelli 2006).
• Notice that in the above reduction (6.70), the term r c × (ω × v) arise after the
products [v×] (ω × r c ) + [ω×] (r c × v) = [v×][ω×]r
c − [ω×][v×]r c and
 the
use of the Lie bracket property (1.99p) of CPO’s: [v×][ω×] − [ω×][v×] r c =
[(v × ω) ×]r c . 
Theorem 6.1 (Coriolis partial derivative) The partial derivative of the Coriolis vec-
tor in local coordinates is a square matrix with the following closed form

∂ 
{F (1) (ν)} = − T (ν)M + S(Mν) (6.71)
∂ν cor
where operators (·) and S(·) are defined in (6.27) and (6.29) respectively.
Proof Consider Coriolis vector (6.69) and notice that it is only dependent on the
body’s twist but not in the position/attitude of it, and that the inertia matrix is constant.
Then the time derivative of this vector by both the chain rule and expression (6.69)
it arises
  
(1) ∂ (1) −T (ν̇)Mν − T (ν)M ν̇
Ḟ cor (ν) = {F cor (ν)} ν̇ =
∂ν −S(M ν̇)ν − S(Mν)ν̇

Finally, after property (6.28e) both expressions in right-hand side of last equation
yield (6.71).

6.4.4.2 The Equivalent Dynamic Equation of Motion

It happens that the dynamic equation of motion of a free flying rigid body expressed
with non-inertial coordinates in any of its expressions (6.66), (6.67) or (6.68), being
fully equivalent to the expression set (5.67a)–(5.67b). However it is not sufficient to
calculate the absolute motion of the body, because it only depends on the velocity
and acceleration, and does not express any position or attitude. In order to complete
the full model of the 3D motion of a rigid body, the kinematic equation (6.41) which
by itself is equivalent to the expression set (5.67c)–(5.67d), shall be included. Then
the complete non-inertial set of equation of 3D motion of a rigid body is given by
the set (6.68)–(6.41):

M ν̇ − T (ν)Mν = F
ν = 1Jν (θ)ẋ
6.4 Spacial Vector’s Dynamics 295

Theorem 6.2 (Equivalent Dynamic Rigid Motion) Consider the set of motion equa-
tions (6.68)–(6.41) with twist ν and wrench F given with local frame coordinates,
and an arbitrary point p in the body described by the constant distance r p measured
from the origin of the frame. The motion equation set

M p ν̇ p − T (ν p )M p ν p = F p (6.72a)
ν p = T (r p ) Jν (θ)ẋ
1
(6.72b)

is equivalent to (6.68), with the following identities

ν p = T (r p )ν (6.73a)
−T
Fp = T (r p )F (6.73b)
−T −1
Mp = T (r p ) M T (r p ) (6.73c)

Proof The proof of the kinematic equation equivalence follows straightforward from
(6.41) and (6.73a) in the form:

ν = T −1 (r p )ν p (6.74)
−1
ν̇ = T (r p )ν̇ p (6.75)

The dynamic equation equivalence is found after (6.74), its time derivative (6.75),
and property (6.28g) (i.e.T −1 (r)(a)T (r) =  T −1 (r p )a ), after which it arise:

T T −1 (r)a = T T (r)T (a)T −T (r) (6.76)

For instance, consider the Coriolis vector (6.69):



T (ν) Mν = T T −1 (r p )ν p MT −1 (r p )ν p after (6.74),

= T T (r p )T ν p T −T (r p )MT −1 (r p )ν p after (6.76),

= T T (r p )T ν p M p ν p after definition (6.73c).

Finally equation (6.68) yields, after (6.73c), last expression and (6.75) the following
expression:

M ν̇ − T (ν)Mν = [T T (r p ) M p T (r p )] T −1 (r p ) ν̇ p − T T (r p )T ν p M p ν p

= T T (r p ) M p ν̇ p − T ν p M p ν p = F

which is equivalent to (6.72a) since F = T T (r p )F p .

Corollary 6.2.1 The dynamic motion of a body expressed with non-inertial coordi-
nates can be expressed at any point p located at a distance r p ∈ R3 from the origin
of non-inertial frame with the following equivalence:
296 6 Spacial Vectors Approach

M ν̇ − T (ν)Mν = T T (r p ) M p ν̇ p − T ν p M p ν p (6.77)

Proof This follows straight forward from identity F = T T (r p )F p and the proof of
Theorem 6.2. 

Remarks
• A particular case of last theorem arise at the center of mass, i.e.r p = r c , F p = F c ,
ν p = ν c and M p = Mc , from which the dynamic equation (6.68) can be written
as
 
T T (r c ) Mc ν̇ c − T (ν c ) Mc ν c = F (6.78)

or equivalently

Mc ν̇ c − T (ν c )Mc ν c = F c (6.79)

with F = T T (r c )F c .
• Notice that because of null values of the off-diagonal elements on Mc and that the
cross product vc × p = 0, the following relationship always holds:

T (ν c ) Mc ν c = TR (ω)Mc ν c = − R (ω)Mc ν c

Then the dynamic equation (6.68) can be written as


 
T T (r c ) Mc ν̇ c +  R (ω)Mc ν c = F (6.80)

• The Coriolis vector (6.70), after equivalence (5.68a) can be written as


 
m  ω × v + mω× ω × r c
−T (ν) M ν =
m r c × (ω × v) + ω × I 1 ω
 
 m ω × vc
=
m r c × (ω × vc ) + ω × I c ω
   
I 0 [ω×] 0 mvc
= = T T (r c ) R (ω)Mc ν c
[r c ×] I 0 [ω×] I c ω
(6.81)

which is indeed the Coriolis vector expression that appears in expression (6.80).

6.4 Spacial Vector’s Dynamics 297

6.4.4.3 The Inertial Coordinates Expression

The inertial coordinates expression for the dynamic motion of a rigid body is found
from the non-inertial coordinates expression (6.68), the coordinates extended rotation
of the twist (6.13b): ν = RT ν (0) , and its time derivative:

ν̇ = RT ν̇ (0) − RT  R (ω (0) )ν (0)

Then by replacing last expression in (6.68), and premultiplying it by R, it yields the


inertial coordinates expression:
 
RMRT ν̇ (0) − RMRT  R (ω (0) )ν (0) − RT RT ν (0) MRT ν (0) = RF (1) = F (0)

By virtue of property (6.28f) (i.e.R(a)RT =  (Ra)) and the inertia matrix


equivalence (6.52) (i.e.M (0) (θ) = R(θ)MRT (θ)) last expression is simplified as:

M (0) ν̇ (0) − M (0)  R (ω (0) ) + T ν (0) M (0) ν (0) = F (0)

which is indeed equivalent to the inertial coordinates expressions (5.66a)–(5.66b).

Remark Notice that the Coriolis vector with inertial coordinates seems to be more
complex that for the non-inertial coordinates case because it is produced by two terms,
having each of them at least two different forms to be expressed due to properties of
the  operator (6.28):
 (0) 
ω × v(0)
 R (ω (0) )ν (0) = −T (v(0) )ν (0) =
0
(0) (0) (0) (0) (0) (0)
− ν
T
M ν = −S M ν ν
⎛  ⎞
m ω (0) × v(0) + m ω (0) × ω (0) × r (0)
=⎝   ⎠
c
(0)
m r (0)
c × ω × v(0) + ω (0) × I (0)
1 ω
(0)

However, any combination of theses terms


(0) (0)
F (0) (0) (0)
cor (θ, ν ) = −M  R ω ν − T ν (0) M (0) ν (0) (6.82a)

= M (0) T v(0) ν (0) − T ν (0) M (0) ν (0) (6.82b)

= −M (0)  R ω (0) ν (0) − S M (0) ν (0) ν (0) (6.82c)

= M (0) T v(0) ν (0) − S M (0) ν (0) ν (0) (6.82d)

has a unique explicit form:


298 6 Spacial Vectors Approach
 
m ω (0) × ω (0) × r (0)
F (0) (0)
cor (θ, ν ) =
c
(6.83)
ω (0) × I (0)
1 ω
(0)

representing only the centripetal and gyroscopic terms 

The kinematic equation with inertial coordinates is already given by (6.38). Then
the complete set of inertial equations of 3D motion of a rigid body is given by the
following set:

M (0) ν̇ (0) + F (0) (0)


cor (θ, ν ) = F
(0)
(6.84a)
(0)
ν = Jν (θ)ẋ
0
(6.84b)

Remarks
• Notice that (6.84a) can be obtained directly from the extended momentum conser-
vation theorem (6.64), with the inertial momentum expressed as P 0 = T T (d) P (0)
1
and the inertial wrench as F 0 = T T (d) F (0)
1 .
(0)
The procedure starts from the evaluation of (6.64) as T T (d) Ṗ 1 + Ṫ T (d) P (0)
1 =
T T (d)F (0)
1 . Then after properties (6.23h)–(6.23i), the algebra yields an inertial
coordinates expression:
(0)
Ṗ 1 − TT v(0) P (0) (0)
1 = F1 (6.85)

Considering the spacial momentum expression (6.60) as P (0) (0) (0)


1 = M ν , its time
(0)
derivative is Ṗ 1 = M (0) ν̇ (0) + Ṁ (0) ν (0) , and the time derivative of the inertial
coordinates expression of the inertia matrix Ṁ (0) is computed after (6.52):

Ṁ (0) =  R ω (0) M (0) + M (0) TR ω (0)

= −TR ω (0) M (0) − M (0)  R ω (0) (6.86)

Then after definition (6.26), expression (6.85) can be written as (6.84a), with F cor
as in (6.82a)
• Simple inspection is sufficient to prove that both expressions (6.84a) and (6.85)
are equivalent to the set (5.66a)–(5.66b) corresponding to the inertial coordinates
expressions of classical 3D vector dynamics. 

6.4.4.4 The Coriolis Matrix

The nonlinear velocity dependent wrench F (0) (0)


cor (θ, ν ) ∈ R in the dynamic equa-
6

tion is a 6D vector that does not depends on acceleration but in quadratic terms of the
twist. It happens that due to this quadratic nature of this vector it is often expressed
as the product of a matrix of proper dimensions, which indeed depends on the twist,
6.4 Spacial Vector’s Dynamics 299

and the twist itself, with coordinates of any reference frame:

F (x) (x) (x)


cor (θ, ν ) = C(θ, ν )ν
(x)
(6.87)

By abuse of notation and from extension of Lagrange formulation, the matrix C(·) in
this form is called Coriolis matrix, even that when expressed in inertial coordinates it
does not has Coriolis acceleration but only centripetal forces and gyroscopic torques.

Remark By the nature from which this matrix arise it follows that although the
nonlinear (Coriolis) wrench has a unique expression, the Coriolis matrix is not.
However it exist the following important property: 

Lemma 6.1 (Skew-symmetry property) Among all possible expression of the Cori-
olis matrix C, there is at least one of then that fulfils any of the following equivalent
conditions:
1 (x)
C(θ, ν (x) ) − Ṁ = Q; Q + QT = 0 (6.88a)
2
C(θ, ν (x) ) + C T (θ, ν (x) ) = Ṁ (x) (6.88b)

Proof (Proof of Lemma 6.1) First, the equivalence in both expressions (6.88) is found
since any matrix can be decomposed in a symmetric matrix plus a skew symmetric
matrix (see property (1.28) in Sect. 1.1.4). Then from (6.88b) it happens that the
symmetric part of the Coriolis matrix is indeed the time derivative of the Inertia
Matrix, and the difference given in (6.88a) is the skew symmetric part of the Coriolis
matrix.
Second, lets consider the non-inertial case (6.68) where the non-linear term is
F (1) (1)
cor (θ, ν ) = − (ν)Mν. By virtue of the dual anti-symmetry property (6.28e)
T

(i.e. (a)b = S(b)a) it happens that the Coriolis matrix can be expressed as
T

C(ν) = −S(Mν) (6.89)

which by construction is indeed skew symmetric, as stated in property (6.30a). Since


the inertia matrix with non-inertial coordinates M is constant (i.e. Ṁ = 0), the Cori-
olis matrix (6.89) fulfils directly (6.88).

Third, lets consider the inertial case


(0)(6.68) where the non-linear
(0) term is written as
in (6.82c) as F (0)
cor (θ, ν (0)
) = −S M ν (0)
ν (0)
− M (0)
 R ω ν (0)
. Since S(·)
is a skew symmetric matrix, it yields that

C(θ, ν (0) ) + C T (θ, ν (0) ) = −M (0)  R (ω (0) ) − TR (ω (0) )M (0) (6.90)

Then, from (6.86) it follows that the right-hand side of last expression is equal to
Ṁ (0) and thus (6.88) is fulfilled. 
300 6 Spacial Vectors Approach

Remark Notice that Lemma 6.1 is pretty much alike property 2.4 for Lagrangian
systems. Although the proof differs, it establishes a direct relationship of the Rigid-
Body as a Lagrangian system. 

Non-inertial coordinates expressions for the Coriolis Matrix


From the Coriolis matrix definition (6.87) it arise two different ways of expressing the
square Coriolis matrix C(ν) ∈ R6×6 . Additionally, other different expression arise
from direct inspection in the right-hand side of the nonlinear wrench (6.70) or its
equivalency (6.81):
 
m[ω×] −m[ω×][r c ×]
C1 (ν) = −T (ν)M =
m[v×] + m[ω×][r c ×] m[v×][r c ×] + [ω×]I 1
(6.91a)
 
0 −m [(v + ω × r c ) ×]
C2 (ν) = −S(Mν) = (6.91b)
−m [(v + ω × r c ) ×] −[(m r c × v + I 1 ω) ×]
 
m [ω×] −m [ω×] [r c ×]
C3 (ν) = (6.91c)
m [r c ×] [ω×] − [(I 1 ω) ×]
 
m [ω×] −m [ω×] [r c ×]
C4 (ν) = (6.91d)
m [r c ×] [ω×] [ω×] I 1
 
m[ω×] −m[ω×][r c ×]
C5 (ν) = (6.91e)
m[ω×][r c ×] m[v×][r c ×] + [ω×]I 1
 
m[ω×] −m[ω×][r c ×]
C6 (ν) = T T (r c ) R (ω)Mc T (r c ) =
m[ω×][r c ×] m(r c · ω)[r c ×] + [ω×]I c
(6.91f)

Notice that among the above expression only (6.91b) and (6.91c) are skew-
symmetric (Other skew symmetric representations are presented in (Fossen 1994).
However all of them present the following
Property 6.3 The non-inertial expression of the Coriolis matrix C(ν) is only depen-
dant on the non-inertial expression of the twist, regardless of the position nor orien-
tation of the non-inertial frame:


C(ν) = 0
∂q

Remark Recall vc = v + ω × r c and m (r c × vc ) + I c ω c = m (r c × v) + I 1 ω.


Then using expressions (6.91a) and (6.91b) notice that the explicit form of the par-
tial derivative (6.71) of the Coriolis wrench (6.70) becomes, after the use of the Lie
bracket property (1.99p) as:
6.4 Spacial Vector’s Dynamics 301


{C(ν)ν} = −T (ν)M − S(Mν)
∂ν
⎡ ⎤
m[ω×] −m[v×] − 2m[ω×][r c ×] + m[r c ×][ω×]
=⎣ ⎦
m[r c ×][ω×] 2m[v×][r c ×] − m[r c ×][v×] + [ω×]I 1 − [(I 1 ω) ×]

or:
⎡ ⎤
m[ω×] −m[vc ×] − m[ω×][r c ×]
⎢ ⎥
⎢  ⎥
=⎢ ⎥
r cT ω
⎣ 2m [vc ×] − [ω×][r c ×] − I [r c ×] ⎦
m[r c ×][ω×] 2
−m[r c ×][vc ×] + [ω×]I c − [(I c ω) ×]

Inertial coordinates expressions for the Coriolis Matrix


From the inertial coordinates expression of the nonlinear wrench (6.82) and the
Coriolis matrix definition (6.87) there four different ways of expressing the square
Coriolis matrix C(θ, ν (0) ) ∈ R6×6 . Additionally, other different expression arise
from direct inspection in the simplified nonlinear wrench (6.83):

C1 (θ, ν (0) ) = − T (ν (0) )M (0) + M (0)  R (ω (0) ) (6.92a)

C2 (θ, ν (0) ) = − T (ν (0) )M (0) + M (0) T (v(0) ) (6.92b)

C3 (θ, ν (0) ) = − S M (0) ν (0) + M (0)  R (ω (0) ) (6.92c)

C4 (θ, ν (0) ) = − S M (0) ν (0) + M (0) T (v(0) ) (6.92d)
" (0)  (0) #
0 m ω (θ)× r c (θ)×

C5 (θ, ν (0) ) = − (6.92e)
0 I (0) (0)
1 (θ)ω (θ) ×
  
0 m ω (0) (θ)× r (0) c (θ)×
(0)
C6 (θ, ν ) = −  (6.92f)
0 − ω (0) (θ)× I (0) 1 (θ)

Property 6.4 For the particular case where the reference frame of the body 1 is
placed exactly at its center of mass (CM) i.e.r c = 0, then the Coriolis matrix can be
expressed in the form:
 
0 0
C(θ, ω (0) ) = (6.93)
0 C22

where C22 can be expressed at least with the sub-block matrix of either expression
(6.92e) or (6.92f).

Proof (Proof of property 6.4) It follows directly from expressions (6.92e) and (6.92f)
using the center of mass condition i.e.: r c = 0. 
302 6 Spacial Vectors Approach

Fig. 6.2 Gravity effect over


an free-floating rigid mass

6.4.5 Wrench of Exogenous Influences

In Sect. 5.6 it has been pointed out that the external forces and torques that consti-
tute the wrench F are the external influences acting on the body. These wrenches
influences are produced principally by four different sources:

F = F g + F D + F C + F T ∈ R6 (6.94)

The first type are forces/torques induced from potential fields where the body is
moving like gravity, magnetic fields or buoyancy. The second type are produced by
dissipative effects like friction, and are normally velocity dependant and opposite to
the motion direction. The work produced by this kind does depend on the motion path
and thus are non-conservative The third type are produced by a mechanical contact
when the body B touches another body or a physical constraint. This wrench may have
some conservative components (mechanical reaction) and some non-conservative
(friction at the contact points). Finally, the forth type are the forces/torques that are
produced by the body itself to produce its own movement. This term is zero for
non-actuated bodies, but is not for systems armed with propulsion actuators, such as
the reactors of an airplane or the trusters of a submarine.

6.4.5.1 The Gravity Wrench

Since the gravity force f (0)


g = mg
(0)
is applied only at the center of masses of
free-moving objects it does not produce any torque (Fig. 6.2). However other force
moments are produced w.r.t the center of mass if there are external forces applied
6.4 Spacial Vector’s Dynamics 303

at a different point other than the center of mass. The non-inertial expression it is
computed as the projection of the gravity acceleration g (0) , defined in (5.72), over
the moving frame as, (5.73):
f (1)
g = mR g
T (0)

Definition 6.8 Lets G ∈ R6 be the gravity acceleration spacial vector, defined as


 
(0) g (0)
G  ∈ M ⊂ R6 (6.95)
0

This acceleration spacial vector can be expressed in the non-inertial frame coordinates
as  T   (1) 
(1) T (0) R (θ)g (0) g (θ)
G (θ)  R G = = (6.96)
0 0

Example 6.2 Roll-Pitch-Yaw attitude representation with gravity acceleration g =


9.81m/s, contrary to the z-axis direction (used convention for ships and aircrafts).
If the gravity is contrary to the z-axis direction it means that the inertial frame is
possed such that its z-axis is positive upwards. Then the gravity vector is defined as
⎞ ⎛
0
g (0) =⎝ 0 ⎠
−g

Then the extended gravity would be


⎞⎛
0
⎜ 0 ⎟
⎜ ⎟
⎜ −g ⎟
G (0) =⎜
⎜ 0 ⎟

⎜ ⎟
⎝ 0 ⎠
0

If the roll-pitch-yaw convention is chosen to express the attitude of the body w.r.t.
an inertial frame, the Rotation matrix R is explicitly given by (4.13) as
⎡ ⎤
cψ cθ −sψ cφ + cψ sθ sφ sψ sφ + cψ sθ cφ
R(θ) = ⎣ sψ cθ cψ cφ + sψ sθ sφ −cψ sφ + sψ sθ cφ ⎦
−sθ cθ sφ cθ cφ

Then the extended gravity acceleration vector, in the non-inertial frame coordi-
nates is:
304 6 Spacial Vectors Approach
⎛ ⎞

⎜ −cθ sφ ⎟
⎜ ⎟
⎜ −cθ cφ ⎟
G (1) (θ) = g ⎜
⎜ 0 ⎟

⎜ ⎟
⎝ 0 ⎠
0

Remark Notice also that since the gravity spacial vector (in any frame coordinates
i , for all i = {0, 1}) has a null element in the second row, the gravity wrench is a
free spacial vector. 

Property 6.5 Since G is a free vector, it arise the following identities:

G (i) = T (a(i) )G (i) ∈ M ⊂ R6 ∀ a(i) ∈ R3 (6.97)


(i) (i)
m G (θ) = Mc G (θ) ∈F ⊂R 6
(6.98)

Then the external gravity wrench at the center of mass may be computed as follows:

F (0)
g/c = m G (0) = Mc(0) G (0) (θ) (6.99a)
F (1)
g/c (θ) =R T
(θ)F (0)
g/c
(1)
= m G (θ) (1)
= Mc G (θ) (6.99b)

The Dynamic equation with gravity


To include the gravity effects in the motion of a free flying object consider the
dynamic equation (6.79), that considers the twist and dynamic parameters at the
center of mass with non-inertial coordinates.
When included the gravity wrench defined by (6.99b), this expression yields

Mc ν̇ c − T (ν c )Mc ν c − m G (1) (θ) = F c (6.100)

where F c is now the addition of all external wrenches (but gravity evidently) at the
center of mass. By performing a wrench translation to the origin of the non-inertial
frame last expression becomes
 
T T (r c ) Mc ν̇ c − T (ν c )Mc ν c − m G (1) (θ) = F (6.101)

where F = T T (r c )F c is the same addition at the origin of the local frame. Then by
virtue of property (6.77), last expression simplifies as

M ν̇ − T (ν)Mν − mT T (r c )G (1) (θ) = F (6.102)

Due to properties (6.97) and (6.98) the third term in the left-hand side of last
expression is indeed the gravity wrench at origin g of the non-inertial frame:
6.4 Spacial Vector’s Dynamics 305

F g/g (θ) = mT T (r c )G (1) (θ) = M G (1) (θ) (6.103)

Remark Notice that while F g/c is a free vector since it has null values at the rotation
components, F g/g is not. This means that F g/g would induce a gravity moment which
is a paradox (refer to Sect. 5.7.2). 

What must really happen is that the external force component f in the wrench
F = ( f , n)T does produce such torque by means of F c = T −T (r c )F. Then (6.102)
is only true if the force component is not null, (i.e. f  = 0), which is always the case
but for a free falling object with no support either from a supporting point or a
reciprocity force due to a dissipative (friction) or conservative (floatability) field.
Due to (6.103) expression (6.102) can be written in more compact way as

M ν̇ − G (1) (θ) − T (ν)Mν = F if f = 0 (6.104)

which is only true if there is the external force is not null: f  = 0.


Notice that (6.101) recovers the null force possibility. Then, as a general result,
the model equation set (6.68), when the gravity is included, is modified to:

 
T T (r c ) Mc ν̇ c − G (1) (θ) − T (ν c )Mc ν c = F (6.105a)
ν c = T (r c ) 1Jν (θ)ẋ (6.105b)
(6.105c)
F = F D + FC + F T
Chapter 7
Lagrangian Formulation

The dynamic equation of motion of a multi-particle conservative system is obtained


using either D’Alembert-Lagrange equation (2.62) or the General Euler-Lagrange
(2.76) which in both cases would get the form given in (2.78):

H (q)q̈ + C(q, q̇)q̇ + g(q) = τ (7.1)

The Lagrangian expression (7.1) does not considers dissipative components and
fulfils the property set of any Lagrangian system (refer to Sect. 2.2.3):
Symmetry and Positive Definiteness of the Inertia Matrix

H (q) = H T (q) > 0 (7.2)

Passivity Mapping for the Input τ to the Output q̇



 
q̇ T τ dt = E(t) − E(t0 ) (7.3)

Linear Regression Parametrization

H (q)q̈ + C (q, q̇) q̇ + g(q) = Y (q, q̇, q̈) (7.4)

Boundedness of the Overall Structure

H (q)q̈ + C (q, q̇) q̇ + g(q) ≤ c0 + c2 q̇2 + c3 q̈ (7.5)

© Springer Nature Switzerland AG 2019 307


E. Olguín Díaz, 3D Motion of Rigid Bodies, Studies in Systems,
Decision and Control 191, https://doi.org/10.1007/978-3-030-04275-2_7
308 7 Lagrangian Formulation

7.1 Direct Lagrangian Expression

For rigid solids, its configuration is represented by the position d = d (0) ∈ R3 and
the orientation R(θ) ∈ S O(3) of a rigid reference frame attached to the body (see
Fig. 3.1). The attitude or orientation can be parameterized with a reduced set of atti-
tude parameters θ ∈ Rm , whose dimension m = {3, 4}, cannot be smaller than the 3
degrees of freedom of attitude, but that may be 4 for redundant attitude representa-
tions (refer to Chap. 4), where each set is known as a attitude representation.
Since the pose (6.5) is defined as the vector expression of both position and atti-
tude of a non-inertial frame x = (d T , θ T )T ∈ S E(3), it seems natural to chose this
as the generalized coordinates for a rigid body. Notice that if the attitude representa-
tion is expressed with a dimension m = 4 set, it arise a linear dependency between
these coordinates which is contradictory to the Lagrangian definition for generalized
coordinates. Then the generalized coordinates for a rigid body can only be chosen
among the subset of all possible expression of the pose x of the Rigid body’s refer-
ence frame 1 with respect to another one (for instance the inertial frame), in which
the attitude is restricted to be expressed uniquely with a minimal set of 3 linearly
independent parameters, i.e. m = 3: θ 3 ∈ R3 . Then the generalized coordinates are
 
d
q ∈ CS ⊂ S E(3) (7.6)
θ3

which happens to be the degrees of freedom of the reference frame attached to


the body. In consequence, the generalized velocity is the time derivative of these
coordinates:  

q̇ = ∈ R6 (7.7)
θ̇ 3

7.1.1 The Kinetic Energy and Inertia Matrix

The Lagrangian expression for the kinetic energy (2.32) can be obtained from the
kinetic energy of a rigid body (6.44a) or (6.50b), using the proper kinematic expres-
sions (6.38)–(6.41):

ν (0) = 0Jν (θ)q̇; ν = 1Jν (θ)q̇

where operators 0Jν (θ) and 1Jν (θ) = RT (R(θ)) 0Jν (θ) are given respectively by
(6.37) and (6.40); being square matrices of order 6 for a minimal attitude represen-
tation:
   T 
I 0 R (θ) 0
0
Jν (θ) = ; 1
Jν (θ) =
0 0Jθ (θ) 0 1
Jθ (θ)
7.1 Direct Lagrangian Expression 309

The substitution yields the Lagrangian Inertia Matrix which can be computed by
either of the following expressions:
⎧ 

⎪ mI −m [r c ×] 1Jθ

⎪ J (θ) M 1Jν (θ)
1 T
=
⎨ ν m 1JθT [r c ×] 1JθT I 1 1Jθ
H (θ) =   0  (7.8)

⎪ −m r (0)
⎪ mI c × J
⎪ (0)
⎩ Jν (θ) M (θ) Jν (θ) =
0 T 0  (0)  0 T (0) 0 θ
m Jθ r c ×
0 T
Jθ I 1 Jθ

From last expression it follows that


1. The inertia matrix fulfills all the properties (defined in Property 2.1 in Sect. 2.2)
of any Lagrangian inertia matrix:
(a) it is symmetric,
(b) it is only configuration dependent H (q),
(c) it is an order n = 6 square matrix,
(d) it is positive definite: H (θ) = H T (θ) > 0.
(e) Even more, for the particular case of a single rigid body, its time derivative
exhibits the following close form:

Ḣ (θ, θ̇) = 1J˙νT (θ)M 1Jν (θ) + 1JνT (θ)M 1J˙ν (θ) (7.9)

2. The kinetic energy expressed with the generalized coordinates has the following
closed form (refer to expression (5.28a)):

1 T
K (q, q̇) = q̇ H (q)q̇ (7.10)
2
1 T T 1 T  
= m ḋ ḋ − m ḋ R [r c ×] R T 0Jθ θ̇ + θ̇ 0JθT R(θ)I 1 R T (θ) 0Jθ θ̇
2 2
which provides an attitude-dependent kinetic energy.

Remarks
• The constant inertia matrix M is defined in (6.46), while M (0) (θ) is a time variable
inertia matrix described by (6.52); whose diagonal submatrix
 (0) 2
I (0) (0)
1 (θ) = I c (θ) − m r c (θ)× = R(θ) I 1 R T(θ)

is the attitude-dependant inertia tensor, referred to the inertial coordinates.


• Notice that if instead of using a minimal set of attitude parameters i.e. θ ∈ R4 , the
kinematic operators Jν (θ) ∈ R6×7 would be a non square matrix of rank 6. Then
according to (7.8) the inertia matrix would be of order 7: H (θ) = JνT (θ)M Jν (θ) ∈
R7×7 , being still symmetric and configuration dependent, but no longer positive
definite yet only semi-definite positive:
310 7 Lagrangian Formulation

H (θ) = H T (θ) ≥ 0;

due to the rank deficiency condition rank{H (θ)} = 6, imposed by the kinematic
operators Jν (θ). Then H (θ) would be singular, hence non invertible.
• Notice that even if the inertia matrix in the general form of Lagrangian equation is
written as dependant on the full generalized coordinate vector q, for the particular
case of rigid bodies it only depends on the attitude parametrization θ:

∂K
=0
∂d

which means that the d-coordinates are indeed cyclic coordinates, Goldstein
(1950). 

7.1.1.1 The Generalized Momentum

After the spacial momentum expression (6.62)

( j) ( j) ( j) ∂K
Pi = Mi ν i = ( j)
∂ν i

a generalized momentum p ∈ Rn for the Lagrangian coordinates space may be


defined as
∂K
p = ∇q̇ K (7.11)
∂ q̇

which after (7.10) (i.e. K = 21 q̇ H (q)q̇) this vector becomes

p = H (q)q̇ ∈ Rn

7.1.2 The Coriolis Matrix

The Lagrangian Coriolis vector is computed after definition (2.46) as

∂ K (q, q̇)
τ cor = C (q, q̇) q̇ = Ḣ (θ, θ̇)q̇ −
∂q

being quadratic in the generalized velocity vector. Notice that the gradient ∇q K for
a single rigid body can be computed by the chain rule as
7.1 Direct Lagrangian Expression 311

 T  T   T
∂K ∂ν ∂K ∂ν ∂ 1Jν (θ)q̇
∇q K = = = Mν = M 1Jν (θ)q̇
∂q ∂q ∂ν ∂q ∂q
(7.12)
Then by the use of expressions (7.9) and (7.12), the Lagrangian Coriolis vector above
can be computed as
1  T
∂ Jν (θ)q̇
τ cor = Jν (θ)M 1J˙ν (θ, θ̇)q̇
1 T
+ 1˙
Jν (θ, θ̇) − M 1Jν (θ)q̇
∂q
(7.13)

On the other hand, notice that time derivative of the twist ν(q, q̇) = 1Jν (θ)q̇ can
be expressed by either of the following ways:



⎨1Jν (θ)q̈ + 1J˙ν (θ, θ̇)q̇
ν̇ =

⎪ ∂ν ∂ν
⎩ q̈ + q̇
∂ q̇ ∂q

∂ν
Since = 1Jν , then it arise the following identity:
∂ q̇

1˙ ∂ν(θ)
Jν (θ, θ̇)q̇ = q̇ (7.14)
∂q

which means that the matrix difference


∂ν(q, q̇)
Q ν (θ, q̇)  1J˙ν (θ, θ̇) − (7.15)
∂q

is a null space projector of q̇, i.e. Q ν (θ, q̇)q̇ = 0. In consequence the Coriolis matrix
C(q, q̇) in (7.1) may be produced out of (7.13) with either of the following forms:

C(q, q̇) = 1JνT (θ)M 1J˙ν (θ, θ̇) + Q νT (θ, q̇) M 1Jν (θ) (7.16a)
∂ν
= 1JνT (θ)M + Q νT (θ, q̇) M 1Jν (θ) (7.16b)
∂q

Remarks
• Notice that after the time derivative expression of the inertia matrix (7.9) and
identity (7.14), both expressions of the Coriolis matrix (7.16) fulfill directly the
equivalent quadratic expression (2.50) i.e.: q̇ T C (q, q̇) q̇ = 21 q̇ T Ḣ (q, q̇) q̇ which
is the key to establish the passivity mapping τ → q̇. On the other hand only the
Coriolis matrix expression (7.16a) fulfils the skew symmetric property (2.51), i.e.:
C (q, q̇) + C T (q, q̇) = Ḣ (q, q̇).
312 7 Lagrangian Formulation

• Notice that the twist Jacobian is given as


1   
∂ Jν (θ)q̇ ∂ν ∂ν ∂ν
= = , ∈ R6×3+m
∂q ∂q ∂d ∂θ

On one hand, since the d-coordinates are cyclic, the following Jacobian is null:
1 
∂ν ∂ Jν (θ)q̇
= = [0] ∈ R6×3
∂d ∂d
On the other hand the attitude gradient of any scalar function α is given after (5.90)
as:  3 
∂α  ∂α
= 1JθT (θ) ni ×
∂θ i=1
∂ni

Since v = (u, v, w)T ∈ R3 and ω = ( p, q, r ) ∈ R3 the velocities’ Jacobians over


the attitude parametrization can be written as (proof is left to the reader):

3  
∂v ∂v
=− [ni ×] 1Jθ (θ)
∂θ i=1
∂n i

3  
∂ω ∂ω
=− [ni ×] 1Jθ (θ)
∂θ i=1
∂ni

which establish that the twist Jacobian is in general a non-null matrix:


⎡ ⎤
∂v
[0]
⎢ 3 ∂θ ⎥
∂ν ⎢ ⎥
=⎢ ⎥
= 0
∂q ⎣ ∂ω ⎦
[0]3
∂θ
• A direct result of the above deduction is that except for some particular numerical
∂K
solutions the gradient
≡ 0 is in general not zero. 
∂q

7.1.3 The Gravity Vector

It follows after (2.56) that conservative Lagrangian gravity vector for any system
expressed with generalized coordinates is given as
7.1 Direct Lagrangian Expression 313
⎛ ⎞
∂U

∂U (q) ⎜ ∂d ⎟

g(q) = =⎜ ⎟
∂q ⎝ ∂U ⎠
∂θ
∂U
It happens that the gradient can be obtained form expression (5.87) as
∂d

∂U
= −R(θ) f (1) (0)
g = − fg ,
∂d

∂U
while the gradient is obtained form expression (5.88) as
∂θ
∂U
= − 0JθT (θ)R(θ)n(1) (1) (0)
g = − Jθ (θ)ng = − Jθ (θ)ng
1 T 0 T
∂θ

Since the gravity wrench F gT = ( f gT , ngT ) for rigid bodies is given from (6.103)
as
(1)
F (1)
g = M G (θ)

it follows that the generalized coordinates potential gradient i.e. the Lagrangian
gravity vector, is given by the following expression:
 
∂U R(θ) 0
= g(q) = M G (1) (θ) = − 1JνT (θ)M G (1) (θ) (7.17)
∂q 0 1JθT (θ)

where 1Jν (θ) is the pose kinematic operator, defined by (6.40).

Remarks
• Last result is consistent with the gravity expression in the modified Kirchhoff
formulation (5.89),
∂U
F (1) 1 −T
g = − Jν (θ) (7.18)
∂q

but is not with the quasi-Lagrangian formulation (5.91) for a function L(q, q̇) =
K (q, q̇) − U (q)
∂L
F (1) 1 −T
g
= Jν (θ)
∂q

since the kinetic energy is indeed dependent on the generalized coordinates. Then
the true quasi-Lagrangian formulation must be the modified Kirchhoff equations
(5.89) since this expression allows to express the dynamics of the rigid body out
of the Kinetic and Potential energy expressions.
• The time derivative expression of the Potential energy produce
314 7 Lagrangian Formulation

∂U
U̇ = · q̇ = q̇ T g(q) (7.19)
∂q

which produce that the inner product along the trajectories of the dynamic equation
(7.1) becomes q̇ T τ = K̇ + U̇ ; whose time integral produce the passive mapping
τ → q̇. 

7.1.4 The Generalized Forces

The generalized force, acting onto the generalized coordinates τ → q, through the
dynamic equation (7.1), would be defined as
 
τd
τ  ∈ R3+m
τθ

with τ d ∈ R3 , τ θ ∈ Rm acting onto their corresponding coordinates:

τd → d (7.20a)
τθ → θ (7.20b)

From the mapping (7.20) it follows that τ d = f (0) , Then the first three scalar
equations in (7.1) correspond to the Inertial expression of Newton equation (5.66),
with angular velocity and acceleration expressed as function of attitude parameter
derivatives:
" #$ %
(0)
m d̈ − m r c (θ)× 0Jθ (θ)θ̈ + Ḃθ (θ, θ̇)θ̇ +
$ % $ % 
+ m 0Jθ (θ)θ̇ × 0J (θ)θ̇ × r (0) (θ) − mg = f (0)
θ c 0

On the other hand, since the choose of generalized attitude parameters is not
unique, it follows straight-forward that generalized moment component τ θ is not
unique either and it would depend on the chosen attitude vector θ. Also, the gen-
eralized force component τ θ shall be applied simultaneously to the chosen attitude
coordinates θ, which is either a convention of successive rotations or a non-physical
representation. In consequence the component τ θ in the Lagrangian formulation of a
rigid body shall expresses some non-physical external moments, for which a physical
equivalence must exist via some transformation.
7.2 Indirect Lagrangian Formulation 315

7.2 Indirect Lagrangian Formulation

7.2.1 The quasi-Lagrangian Coordinates

Recall the expression set (5.78)–(5.79):

∂K
p=R
∂v
∂K ∂K
L0 = d × R +R
∂v ∂ω
and notice that it can be written in a compact form with the spacial vectors as

∂K
P 0 = X T (R, d)
∂ν
which after (6.59) means that the twist gradient of the kinetic energy is indeed the
spacial momentum

∂K
= P (1) = Mν (7.21)
∂ν 1

Last expression shows that the twist gradient over the kinetic energy ∇ν K ∈ F is
a wrench, being analogous to the generalized momentum (7.11) that lays in the space
of the generalized forces. However, even if the twist and the generalized velocity are
analogous, the twist is not a generalized velocity since it is a non-holonomic variable
(due to the angular velocity). In this sense the twist of a rigid body ν ∈ M would
define a new set of coordinates, Meirovitch (1970).
The equation of motion with spacial vectors is given after Kirchhoff’s formulation
for the free flying motion of a rigid body (6.67) (which is the spacial vector version
of the 3D Kirchhoff equations (5.80a)):
 
d ∂K ∂K
− T (ν (1) ) = F (1)
dt ∂ν (1) ∂ν (1)

for any exogenous wrench F (1) .


When the gravity potential energy is not null, the gravity wrench can be included
using (7.18), yielding the quasi-Lagrangian equivalence of expression (7.1):

& '
d ∂K ∂K ∂U
− T (ν) + 1Jν−T (θ) =F (7.22a)
dt ∂ν ∂ν ∂q
ν = 1Jν (θ)q̇ (7.22b)
316 7 Lagrangian Formulation

which is indeed the modified Kirchhoff equations (5.89) for a free-moving rigid body,
expressed with spacial vectors; where q = (d, θ)T ∈ R3 × T3 is the pose of the non-
inertial frame attached to the body, whose time derivative is related with its twist with
expression (6.41), also replicated here as (7.22b); and F = F D + F C + F T ∈ F ⊂
R6 is the addition of the all exogenous wrenches but gravity.
Then the new set of coordinates that defines the systems dynamics, given by
the motion space coordinates of the twist, adopt the name of quasi-Lagrangian
coordinates.
Expression (7.22a) can be written in a more simple form using the energy gradients
(7.17) and (7.21):

M ν̇ − T (ν)Mν − M G (1) (θ) = F (7.23)

being exactly the same as (6.104).

7.2.2 Indirect Lagrangian Equivalence

Instead of computing the Lagrangian formulation for a rigid body, directly from
D’Alembert-Lagrange or Euler-Lagrange equations, it is possible to obtain the corre-
sponding expression (7.1) in an indirect manner using either Newton-Euler equation
(6.84a) (with inertial coordinates) or Kirchhoff (7.23) (with noninertial coordinates).
The following procedure has been developed using the quasi-Lagrangian expres-
sion (7.23), with the Coriolis matrix expressed in the skew symmetric form due to
property (6.28e):
M ν̇ − S(Mν)ν − M G (1) (θ) = F (7.24)

First the time derivative of the kinematic equation (7.22b) is obtained:

ν̇ = 1Jν (q)q̈ + 1J˙ν (q, q̇)q̇ (7.25)

Secondly, perform the substitution of both the kinematic and its time derivative in
the dynamic equation:
$ %
M 1Jν (q)q̈ + M 1J˙ν (q, q̇)q̇ − S M 1Jν (q)q̇ 1Jν (q)q̇ − M G (1) (θ) = F (7.26)

Last equation is written as function uniquely in the generalized coordinates q ∈ R6


and the generalized velocity q̇ ∈ R6 . However the exogenous force F ∈ F does not
represents the generalized force because the overall equation is not properly written.
However a general equivalence from the physical wrench F and the generalized
force τ ∈ R6 can be obtained form the power transmission principle:

P = ν T F = q̇ T τ
7.2 Indirect Lagrangian Formulation 317

which after the kinematic equation (7.22b) give rise to the force equivalence:
   
R(θ) f f (0)
τ = Jν (q)F
1 T
= = (7.27)
Jθ (θ) n1
1 T
Jθ (θ) n(0)
0 T
1

Then by pre-multiplying all terms in (7.26) by 1JνT (q) it yields the dynamic
equation of rigid motion for a single free moving object:

" $ % #
Jν (q)M 1Jν (q) q̈
1 T
+ 1JνT (q) M J˙ν (q, q̇) − S M 1Jν (q)q̇ 1Jν (q) q̇
( )* + ( )* +
H (q) C (q, q̇)
− 1JνT (q)M G (1) (θ) = 1JνT (q)F (7.28)
( )* + ( )* +
g(q) τ

From which is evident that it has the Lagrangian formulation form (7.1), although not
directly derived form D’Alembert-Lagrange or Euler-Lagrange formulations. Hence
it is an indirect Lagrange one.
Equivalences for all term but Coriolis have already been presented: Expression
(7.8) for the Inertia matrix, (7.17) for the gravity vector and (7.27) for the generalized
force. However, due to the dual anti-symmetry property (6.28e) of operators (·)
∂ν(θ)
and S(·) (i.e. T (a)b = S(b)a), and identity (7.14) (i.e. 1J˙ν (θ, θ̇)q̇ = q̇), the
∂q
Lagrangian Coriolis matrix may adopt any of the following expressions:
" $ % #
C (q, q̇) = 1JνT (q) M 1J˙ν (q, q̇) − T 1Jν (q)q̇ M 1Jν (q) (7.29a)
" $ % #
= 1JνT (q) M 1J˙ν (q, q̇) − S M 1Jν (q)q̇ 1Jν (q) (7.29b)
 $ % 
∂ν
= 1JνT (q) M − T 1Jν (q)q̇ M 1Jν (q) (7.29c)
∂q
 $ % 
∂ν
= Jν (q) M
1 T
− S M Jν (q)q̇ Jν (q)
1 1
(7.29d)
∂q

Remark Notice that all expressions (7.29) fulfill the equivalent quadratic expression
(2.50): q̇ T C (q, q̇) q̇ = 21 q̇ T Ḣ (q, q̇) q̇, but only (7.29b) fulfills the skew symmetry
condition (2.51): C + C T = Ḣ . In any case, the passivity mapping is preserved,
since the proof uses q̇ T (H (q)q̈ + C(q, q̇)q̇) = K̇ .
318 7 Lagrangian Formulation

7.2.3 Properties of Quasi-Lagrangian Formulation

To complete the Lagrangian validation of the quasi-Lagrangian formulation (7.24)


or equivalently the indirect Lagrangian expression (7.28), it is necessary to validate
the properties of all Lagrangian systems, resumed by expression (7.2) through (7.5).
This sections exposes this arguments.

7.2.3.1 Inertia Matrix

Positive definiteness and symmetry of the inertia matrix M are found directly form
its definition (6.46) and expression (6.47):
 
m I3 −m [r c ×]
M = T T (r c )Mc T (r c ) = = MT > 0
m [r c ×] I c − m [r c ×]2

where r c = (rcx , rc y , rcz )T ∈ R3 is the 3D vector that expresses the position of the
center of mass in the body frame, and the lower right block matrix
⎡ ⎤
Ix x Ix y Ix z
I 1 = I c − m [r c ×]2 = ⎣ Ix y I yy I yz ⎦ = I 1T > 0 (7.30)
Ix z I yz Izz

is the shifted constant positive definite symmetric inertia tensor, at the origin of the
body frame (not at is center of mass as would be I 0 ) and referred to the local frame
coordinates, which is computed by the 3D version of the Steiner theorem, also known
as the 3D parallel axis theorem; and whose explicit expression is given by (5.27).
Both, positive definiteness and symmetry arise from Mc which is the matrix at
the center of mass, defined in (6.45):
 
m I3 0
Mc  = McT > 0
0 Ic

and the inertia tensor I c = I cT > 0 is defined and proved to be positive definite by
(5.23).

Remark Notice that for the particular case of a rigid body whose inertia matrix is
expressed in local non-inertial coordinates, the inertia matrix is constant:

Ṁ = 0.


7.2 Indirect Lagrangian Formulation 319

Inverse of the Inertia Matrix


The inverse of the Inertia Matrix M −1 can be easily computed using expression (6.47)
as follows:
 −1
M −1 = T T (r c )Mc T (r c ) = T −1 (r c )Mc−1 T −T (r c )
1 
I − [r c ×] I −1 −1
c [r c ×] [r c ×] I c
= m 3 = M −T > 0 (7.31)
−I −1
c [r c ×] I −1
c

7.2.3.2 Passivity

In Sect. 2.2.3.2 it has been shown that for Lagrangian system the passivity property
is established under the mapping τ → q̇ by expression (2.80). For the rigid body
this property must be established using quasi-Lagrangian coordinates, as stated in
the following
Lemma 7.1 The twist output of a rigid body is passive to the wrench input with
respect to the total mechanical energy of the body:
 t
− ν, F dt ≤ E(0) (7.32)
t0

where E = K + U is the total mechanical energy of the system.

Proof First consider the expression (5.81) of potential energy U (q) = U0 − m d cT


g (0) where d c (q) = d + R(θ)r c . Whose time derivative, either by direct derivation
or the chain rule it becomes
T
U̇ (q, q̇) = −m ḋ c g (0) (7.33)

Notice that the inner product ḋ c , g (0) can also be expressed in term of spacial vectors
T T (0)
because the extended gravity has null angular component: ḋ c g (0) = ν (0) c G . Then,
after the use of (6.73a) and (6.103), expression (7.33) can also be written as
T
U̇ (t) = −mν (0)
c G (0) = −mν c T G (1) (θ) (7.34)
(1) (1)
= −m ν T (r c )G (θ) = −ν M G (θ)
T T T

Second, consider the inner product ν, F , being the Power expression (6.42), which
with the use of the dynamic equation (7.24), yields
$ %
ν T F = ν T M ν̇ − T (ν)Mν − M G (1) (θ)

And after the nullity projector property (6.28b) simplifies as


320 7 Lagrangian Formulation

ν T F = ν T M ν̇ − ν T M G (1) (θ) = K̇ + U̇ = Ė
,t
Finally, the time integral of the above expression yields t0 ν, F dt = E(t) − E(t0 )
or equivalently  t
ν, F dt + E(t0 ) = E(t) ≥ 0.
t0

from which it follows (7.32). 

Remark Notice that the term ν T T (ν)Mν is null due to property (6.28b) (i.e.
(ν)ν = 0). Alternatively, the term T (ν)Mν can be expressed, using property
(6.28e), with a skew symmetric matrix: T (ν)Mν = S(Mν)ν, which also yields
to the nullity of the inner product:

ν T T (ν)Mν = ν T S(Mν)ν = 0

This means that


1. the Coriolis term, written in any way:

C(ν)ν = −T (ν)Mν = −S(Mν)ν

does not produce any change in the Kinetic Energy and in consequence does not
produce any mechanical Work, an thus it is a conservative term; and
2. While the skew-symmetry property implies a passive mapping, the opposite is
not true:


Passivity mapping F → ν Coriolis skew-symmetry: C + C T = Ḣ

Then this skew symmetry property is a sufficient condition for passivity but is not
a necessary one. 

7.2.3.3 Dynamic Parameter Regression

From Atkeson et al. (1985), it is known that in the absence of nonconservative effects
(damping), either expression (7.23) or (7.24) can be linearly parameterized with a
minimal set of 10 dynamic parameters b ∈ R10 as follows:

M ν̇ − T (ν)Mν − M G (1) (θ) = Yb (θ, ν, ν̇)b (7.35)

where Yb (θ, ν, ν̇) ∈ R6×10 is the regressor of known nonlinear functions and b
is a constant vector whose coordinates are the combinations of the inertial param-
eters appearing in the Inertia matrix (6.46) of the body, i.e. combinations between
the mass m ∈ R+ , the distance to the center of mass r c ∈ R3 , the inertia moments
7.2 Indirect Lagrangian Formulation 321

(Icx x , Ic yy , Iczz ) ∈ R+ and the inertia products (Icx y , Icx z , Ic yz ) ∈ R. The proper combi-
nations had been proposed independently in Khosla and Kanade (1985) and Atkeson
et al. (1985) such that the 10 coordinates of the parameter vector would be: the mass
itself m ∈ R+ , the first moment of inertia m r c ∈ R3 , and the six different elements
of the shifted constant positive definite symmetric inertia tensor (7.30), referred at
body frame (not at is center of mass as would be I 0 ) computed by the 3D version of
the Steiner theorem, also known as the 3D parallel axis theorem.
The Inertia Matrix Being Linear to the Dynamics Parameters
The explicit expression of the regressor Yb (ν, ν̇) in (7.35) would depend on the
chosen order of the coordinates in b , and can be obtained by expanding (7.35) in
parts, and the use of the following lemma:
Lemma 7.2 The product of the inertia matrix of a rigid body with any spacial vector
a = (a1T , a2T )T ∈ R6 is linear to the body inertia parameters:

M a = L(a)b

with a regressor jacobian


∂(M a)
L(·)  ∈ R6×10 (7.36)
∂b

which is defined for a given parametric definition b .

Proof Notice that for any order in the coordinates of the body parameters vector b ,
made as proposed in Khosla and Kanade (1985), and after the body inertia matrix
expression (6.46), the regressor matrix (7.36) is independent of the parameter vector

∂ L(·)
=0 ∀ j = {1, . . . , 10}
∂b j

which proves linearity w.r.t. the parameter vector coordinates b j . 

For the particular case where


 T
b  m m r cT Ix x I yy Izz I yz Ix z Ix y (7.37)

the induced inertia matrix regressor jacobian L(·) after definition (7.36) becomes
 
a1 [a2 ×] 0 0
L(a)  (7.38)
0 − [a1 ×] diag(a2 ) s (a2 )

where diag(b) ∈ R3×3 is the order 3 diagonal matrix whose elements are the coor-
dinates of vector b ∈ R3 and
322 7 Lagrangian Formulation
⎡ ⎤
0 bz b y
s (b)  ⎣ bz 0 bx ⎦ ∈ R3×3
b y bx 0

Remark If vector b is defined differently than in (7.37), then the regressor matrix
L(a) shall be modified accordingly, as done originally in Khosla and Kanade (1985),
Atkeson et al. (1985), or more recently in Siciliano and Khatib (2008), Ch. 14, where
this vector is arbitrary defined as
 T
b = m m r cT Ix x Ix y Ix z I yy I yz Izz ∈ R10

Preference on the order given in (7.37) arise from the more simple notation (7.38)
for the regressor matrix L(·).

Linear Regression in the Absence of Gravity


Consider the dynamic expression of rigid motion (7.35) with no gravity:

M ν̇ − T (ν)Mν = Yb (ν, ν̇)b (7.39)

By the use of Lemma 7.2 the left-hand side of (7.39) can be written as

M ν̇ − T (ν)Mν = L(ν̇)b − T (ν)L(ν)b

From which it is deduced that the regressor Yb (·) for a single body can be expressed
as1 :

Yb (ν, ν̇) = L(ν̇) − T (ν)L(ν) ∈ R6×10 (7.40)


 
v̇ + ω × v [ω̇×] + [ω×]2 0
=
0 − [(v̇ + ω × v)×] Y I (ω, ω̇)

where
 
Y I (ω, ω̇) = diag (ω̇) + [ω×] diag (ω) s (ω̇) + [ω×] s (ω)
⎡ ⎤
ω̇x −ω y ωz ω y ωz ω 2y − ωz2 ω̇z + ωx ω y ω̇ y − ωx ωz
= ⎣ ω x ωz ω̇ y −ωx ωz ω̇z − ωx ω y ωz2 − ωx2 ω̇x + ω y ωz ⎦
−ωx ω y ωx ω y ω̇z ω̇ y + ωx ωz ω̇x − ω y ωz ωx2 − ω 2y
(7.41)

is the regressor corresponding to the Inertia tensor parameters  I ∈ R6 , such that


Y I (ω, ω̇) I = I 1 ω̇ + ω × I 1 ω.

1 In the algebra for this reduction the Lie bracket property of cross matrix expression has been used:

[a×] [b×] − [b×] [a×] = [(a × b)×].


7.2 Indirect Lagrangian Formulation 323

Regression Including Gravity


When gravity is taken into account, the regressor above must be modified. There are
two possibilities to construct the regressor Yb ∈ R6×10 , corresponding whether the
exogenous force is null ( f = 0) or not ( f
= 0), as described in Sect. 6.4.5.1.
Notice that the expression (6.105a) which is well posed for both cases, is not
suitable for the regression form above. Then both case must be considered separately
for this regression simplification.
Consider first the case where there is indeed an external force, i.e. f
= 0. In this
case, we can use directly expression (6.104):
 
M ν̇ − G (1) (θ) − T (ν)Mν = F if f
= 0

for which the regressor yields:


 
Yb H (θ, ν, ν̇) = L ν̇ − G (1) (θ) − T (ν)L(ν) (7.42)
 (1)

v̇ + ω × v − g (θ)  [ω̇×] + [ω×] 2
 0
=
0 − (v̇ + ω × v − g (1) (θ))× Y I (ω, ω̇)

with Y I (·) as defined in (7.41).


The regressor is the form (7.41) with Y I (·) modified accordingly is known as the
Höllerbach’s regressor and was presented first in Atkeson et al. (1985) and rewritten
in Siciliano and Khatib (2008), Ch. 14, Hollerbach et al., with the extended vectors
notation used by Featherstone (2008). It is indeed the body regressor (7.40) replacing
the apparent acceleration v̇ by the gravity-shifted acceleration v̇ − g (1) .

Consider now the second case, where there is no other external force, i.e. f =
0. In this case expression (6.102) must be used together with property (6.97) (i.e.
G (i) = T (a(i) )G (i) ) which yields

M ν̇ − T (ν)Mν − m G (1) (θ) = F if f =0

where G (1) (θ) is gravity acceleration spacial vector in local frame coordinates,
defined in (6.96). In this case, the regressor (7.40) is modified differently as

Yb O (θ, ν, ν̇) = L(ν̇) − L g (θ) − T (ν)L(ν) (7.43)


 
v̇ + ω × v−g (1) (θ) [ω̇×] + [ω×]2 0
=
0 − [(v̇ + ω × v)×] Y I (ω, ω̇)

where  
L g (θ)  G (1) (θ) 0 0 0 0 0 0 0 0 0 ∈ R6×10

and Y I (·) again as defined in (7.41)


324 7 Lagrangian Formulation

Then the single body dynamic equation (6.105a) where gravity is included:
$ %  
(1) f
T (r c ) Mc ν̇ c −  (ν c )Mc ν c − m G (θ) = F =
T T
= Yb (θ, ν, ν̇)
n

has a regressor expressed as:


&
Yb H (θ, ν, ν̇) if f
= 0
Yb (θ, ν, ν̇) = (7.44)
Yb O (θ, ν, ν̇) if f = 0

Remark Notice that in (7.43) the gravity vector does not produce any torque, even
when the regressor assumes that the body velocity is not at the center of mass. This
expression is only valid if all external forces (only forces, not torques) are null,
as for example for a free flying body. On the other hand (7.42) does produce a
gravity moment around the origin of the local frame which is only valid whenever
the exogenous force vector is not null, such as bodies in a robotic kinematic chain.

7.2.3.4 Parametric Boundedness

Follows in analogy with Sect. 2.2.3.4.


This property stands that the left-hand side of the quasi-Lagrangian formulation
(7.24) is bounded uniquely by the twist and extended acceleration, with positive
scalars (λ M (M), g) > 0, in the following way:
 
M ν̇ − S(Mν)ν − M G (1) (θ) ≤ λ M (M) ν̇ + ν2 + g

where λ M (M) is the maximal eigenvalue of the inertia matrix and g is the gravity
constant.
This property can be easily shown using the bounds in each term in the left-hand
side of the quasi-Lagrangian expression (7.24):
1. Consider that the inertia matrix M is definite positive, hence, by the use of The-
orem 1.5, it follows that
M ν̇ ≤ λ M (M) ν̇ (7.45)

2. The bounds on the Coriolis term C(ν)ν = −T (ν)Mν = −S(Mν)ν arise
straightforward as:
- -
-−T (ν)Mν - ≤ (ν) M ν ≤ λ M (M) ν2 (7.46)

3. Finally, the gravity wrench is bounded as


- - - - - -
-−M G (1) (θ)- ≤ λ M (M) - G (1) (θ)- = λ M (M) -RT (θ)G (0) - ≤ λ M (M) g
7.2 Indirect Lagrangian Formulation 325

7.2.3.5 Other Properties

The inertia wrench According to the force of inertia2 definition (2.14) it follows
that there shall exist an extended force (wrench) of inertia F I ∈ F ⊂ R6 for any
rigid body such that expression (6.94) can be written as

−F I = F g + F D + F C + F T

Then if arise that this wrench of inertia must have been given by the negative
values of either expression (6.85) for inertial coordinates of (6.66) for non-inertial
coordinates:
(0)  
F (0)
I = − Ṗ + 1T v(0) P (0)
(1)
F (1)
I = − Ṗ + T (ν (1) ) P (1)

where P (1) = Mν and P (0) = R P (1) = M (0) ν (0) = RMν. Or in terms of the kinetic
energy, using (6.62), as
& '
d ∂K ∂K
F (0) =− (0)
+ 1T (v(0) ) (0)
I
dt ∂ν ∂ν
& '
d ∂K ∂K
F (1) =− (1)
+ T (ν (1) ) (1)
I
dt ∂ν ∂ν

The Twist Gradient Identity

Theorem 7.1 The twist gradient fulfils the following identity involving the kinematic
operator

∂ν (1)  
= 1J˙ν (θ, θ̇) +  ν (1) 1
Jν (θ) (7.47)
∂q

regardless the attitude parametrization.

Proof Comparing the unique Coriolis vector with expression (7.13) together with
the Coriolis vector expression arisen from the Coriolis matrix (7.29a), and using the
kinematic expression (7.22b) it arise straightforward the above identity. 

Remarks
• Identity (7.47) is the extended version of identity (3.73b) for the attitude/angular
velocity operator. Indeed it contains the attitude kinematic identity (3.73b) for the
noninertial coordinates:

2 Not to be confused with inertial force, which is a force expressed with inertial frame coordinates
w.r.t. the origin of the inertial frame.
326 7 Lagrangian Formulation

∂ω (1)  
= 1J˙θ + ω (1) × 1Jθ
∂θ
Hence, according to Lemma 3.6 the rotation vectors’s identities for the noninertial
coordinates case:
∂ ṅ j d ∂n j
= ∀ j = {1, 2, 3}
∂θ dt ∂θ
are always fulfilled, regardless the attitude parametrization.
• The null space projector Q ν (θ, q̇) in (7.16a) is found after (7.47) as the product
1 
Q ν (θ, q̇) =  Jν (θ)q̇ Jν (θ)
1

7.3 Conclusions

The following are some concluding remarks on the Lagrangian expression of Rigid
Bodies.
The equivalence of the quasi-Lagrangian expression (7.24) of a rigid body and its
Lagrangian counterpart (7.1) has been established such that the indirect Lagrangian
expression (7.28) is fully equivalent to (7.1) and hence fulfils the property set (7.2)–
(7.5) of any Lagrangian systems. In particular notice that
1. The symmetry and positive definiteness of the inertia matrix H (q) is concluded
form equivalence (7.8) i.e. H (θ) = 1JνT (θ)M 1Jν (θ) and the symmetry and pos-
itive definiteness of the inertia matrix M.
2. The passive mapping follows for the quadratic Coriolis expression (2.50) such
that the product q̇ T τ = K̇ + U̇ = Ė, from which the integral is found to be lower
bounded, Ortega et al. (1998), regardless the chosen attitude parametrization θ.
However the skew symmetry property (2.51) of the Coriolis Matrix i.e. C + C T =
Ḣ which arise straightforward form expression (7.29b) and property (6.30a) i.e.:
S(·) = −S T (·):

C (q, q̇) + C T (q, q̇) = 1J˙νT (θ, θ̇)M 1Jν (θ) + 1JνT (θ)M 1J˙ν (θ, θ̇) = Ḣ (θ, θ̇)

is sufficient to prove this passivity mapping.


3. The regressor Y (q, q̇, q̈) can be computed directly form expression (7.28) and
the use of the regressor Yb (θ, ν, ν̇) of a rigid body in non-inertial coordinates,
given in Sect. 7.2.3.3, in the following form

Y (q, q̇, q̈) = 1JνT (q) Yb (θ, ν, ν̇)


7.3 Conclusions 327

with ν(q, q̇) and ν̇(q, q̇, q̈) given by (7.22b) and (7.25) respectively. Then the
inertial parameter base  = b is the one given in (7.37).
4. The boundedness of the overall structure is also revised in section Sect. 7.2.3.4,
for the terms in the quasi-Lagrangian expression (7.24). The boundedness of
all terms in (7.1) follows straightforward from the mappings given by the
indirect Lagrangian expression (7.28) and the boundedness of the operator
1
Jν (q) = RT (θ) 0Jν (θ) defined in (6.40) derivative 1J˙ν (q) =
 0 and its time (0)
R (θ) Jν (θ) + Ṙ (θ) Jν (θ) = R (θ) J˙ν (θ) − 2 (ω ) 0Jν (θ) .
T 0˙ T 0 T

The bound of 1Jν (q) is by construction reduced to that of 0Jν (q) =
diag I, 0Jθ (θ) , whose bound is defined by the bound of the operator 0Jθ (θ) ∈
R3×m defined in (3.70) and lower-bounded the unit:
-0 -
- Jθ (θ)- = σ M ( 0Jθ )  β0
-1 - - -
- Jν (θ)- = - 0Jν (θ)- = σ M ( 0Jν ) = max(1, β0 )  β1 ≥ 1

Notice that although operator 0Jθ may present singularities for some particular
representations (refer to Chap. 4), it is always possible to use a different attitude
parametrization at each representation singularity, having always a well posed
operator 0Jθ (θ) which together with its time derivative are always bounded
-0 - - - - -
-˙ Jθ (θ)- = - 0J˙ν (θ)- = σ M (˙0Jθ ) ≤ β2 -
˙ -.

Then the operator 1Jν (q) and its time derivative are also bounded such that
-1 -
- Jν (q)- = β1
-1 - - - - - $ √ %- -
- J˙ν (q)- ≤ - 0J˙ν (θ)- + -2 (ω (0) ) 0Jν (θ)- ≤ β2 + 2β0 β1 -
˙-

which finally yield the values of the bounding constants ci in (7.5):

c0 = gβ1 λ M (M)
$ √ %
c2 = β13 + 2β0 β12 + β2 β1 λ M (M)
c3 = β12 λ M (M)

On another hand, the mapping between the physically meaning extended wrench
F of forces/torques, and the generalized force τ is produced by the transpose of the
extended kinematic operator 1Jν . Then the mapping F → τ always exist while the
inverse may be ill conditioned since this operator depends on the attitude represen-
tation, as well as the kinematic operator 0Jθ , which depends on the chosen attitude
parametrization. This physical paradox arise from the fact that not all of the attitude
representations θ have a physical meaning (for example quaternion representation)
while angular velocity always does.
328 7 Lagrangian Formulation
,t ,t
Remark that the time integral of the angular velocity: t0 ωdt = t0 0Jθ (θ)θ̇dt has
no physical meaning either, so the angular velocity is said to be a non-holonomic
variable. This lack of physical meaning in the attitude parametrization is reflected
in the equivalence (7.27) wherefore the generalized forces corresponding to the
coordinates of the attitude parameters has no physical meaning either.
Finally, since the quasi-Lagrangian formulation fulfills the Lagrangian properties,
it is more convenient to use it in the place of the direct Lagrangian one, at least for
the rigid body case. This indeed seems to be the reason why this formulation is
used as a Lagrangian one even though its dynamic coordinates are not generalized
[Lagrangian] ones.
Part III
Constraint Motion of a Single Rigid Body
Chapter 8
Model Reduction Under Motion
Constraint

The most common analysis assumes that a motion restriction enforces some coor-
dinates to remain at rest, with no displacement. This non-displacement assumption
means a lack of work in the restricted direction, known as the virtual work principle,
which can be stated as follows:

W j = τ j δq j = 0

where δq j is the virtual displacement in the direction of the restricted coordinate


q j corresponding to the generalized force coordinate τ j . This virtual displacement
is actually null, but is considered as an algebraic element to perform this analysis.
While this approach is very effective for Lagrangian systems, it becomes particularly
difficult in free-moving rigid bodies since the generalized force vector τ does not
have the same physical meaning than the wrench F, neither the generalized velocity
q to the twist ν, as expressed in Chap. 6. However there is indeed a mapping trans-
formation for both of these vectors given by the kinematic operator and the virtual
work at Power level, as stated in (7.27). Then these restriction can also be expressed
in terms of the transmitted Power, which must be null for the r restricted coordinates:

Fj ν j = 0

meaning that the constraint twist coordinates ν j shall be null and must remains so:

∃ F j  ν j = ν̇ j = 0 (8.1)

Consider the equation of motion of a single rigid body using a local reference
frame at any position of the body (not necessarily its center of mass), (8.2):

M ν̇ + h(θ, ν) = F (8.2)

© Springer Nature Switzerland AG 2019 331


E. Olguín Díaz, 3D Motion of Rigid Bodies, Studies in Systems,
Decision and Control 191, https://doi.org/10.1007/978-3-030-04275-2_8
332 8 Model Reduction Under Motion Constraint

with the the non linear term includes Coriolis and gravity effects, h(θ, ν) =
C(ν)ν + g(θ), and these last terms are explicity given by the following expres-
sions:

C(ν)ν = −T (ν)Mν = −S(Mν)ν


g(θ) = −mT (r c )G (1) (θ) = −M G (1) (θ)

Consider also that some coordinates F j on the wrench F are such that they enforce
their corresponding twist coordinates ν j to remain in equilibrium, i.e. ν̇ j = 0.
Two question arise from the last condition. The first one is: How would be a
reduced model that only takes account for the non-restricted (admissible motion)
coordinates?, while the second stand for: How would be the time-shape of the restrict-
ing forces F j ? This chapter aims to answer both of these questions.

8.1 The Constraint Model

In a general way, the external wrench F ∈ F in (8.2) can be written as in (6.105c) as


the addition of the input induced wrench F T ∈ F and the constraint wrench F C ∈ F:

F = F T + FC (8.3)

On another hand consider that both of these wrenches are linear combinations F T =
E τ̄ and F C = Gτ r of some generalized force vectors τ̄ ∈ Rq and τ r ∈ R p –whose
coordinates are either force or torques– which induce input energy to the rigid body
(coordinates of τ̄ ) or motions constraints to the body (coordinates of τ r ). Then the
exogenous wrench (8.3) can be written as

F = E τ̄ + Gτ r (8.4)

Consider a force vector τ ∈ Rq+ p and a velocity vector v ∈ Rq+ p composed by


the admissible motion coordinates and the restricted coordinates as follows
   
τ̄ v̄
τ = , v=
τr vr

such that P = ν T F = v T τ = v̄ T τ̄ + vr T τ r . Notice that kinematic constraint


condition (8.1) (ν j = ν̇ j = 0) due to the constraint force means that vr = 0 which
yield
P = v̄ T τ̄ (8.5)
 
Now consider a matrix T  E G , which allows expression (8.4) to be written as

F = Tτ (8.6)
8.1 The Constraint Model 333

From which it arises the velocity mapping v = T T ν which provides expressions for
both the admissible motion and constraint velocity coordinates:

v̄ = E T ν ∈ R p (8.7)
vr = G ν ∈ R
T q
(8.8)

Constraint Expression
Condition (8.1) establishes that the constraint coordinates shall be null regardless of
the shape of operator T , i.e.: vr = 0; and must remain so, i.e.: v̇r = 0.
Then the motion restriction can be expressed as:

vr = G T ν = 0

The constraint model is found after the dynamic system expression (8.2) with the
wrench as in (8.4), together with the motion constraint:

M ν̇ + h(θ, ν) = E τ̄ + Gτ r (8.9a)
G ν=0
T
(8.9b)

The solution for such system is found easier using the second order kinematic
constraint as the time derivative of (8.9b):

v̇r = G T ν̇ + Ġ T ν = 0 (8.10)

where both the dynamic and constraint equations can be written in a compact matrix
form:     
M −G ν̇ E τ̄ − h(θ, ν)
= (8.11)
−G T 0 τr Ġ T ν

which as a unique solution for both unknowns, the body motion ν̇ and constraint
force τ r if the block matrix above is invertible.
Remarks
• Notice that if constraint (8.9b) can be written in terms of the generalized coordi-
nates as φ(q) = 0 it is then an holonomic constraint.1 However this expression
needs not that this restriction to be holonomic but only to be expressed as an
equality. Inequalities may be handled with proper numerical methods.
• Notice that the restrictive wrench F C = Gτ r is a linear combination of all
restrictive forces/torques τ r ∈ Rq that constraint the motion of the body, and
G : Rq → R6 is the linear operator that maps the coordinates τri to the restrictive
wrench. It is worth noticing that the dimension q has no restrictions, because it

1 Holonomy means integrable in the sense of Frobenius, and a constraint is said to be holonomic if
the constraint is involutive. Otherwise the constraint is non-holonomic. Refer to Sect. 2.2.
334 8 Model Reduction Under Motion Constraint

spans all exogenous forces/torques that produce a motion restriction in the body.
It could happen that multiple different restrictive force coordinates restricts the
motion of a body in the same direction, as for example the vertical motion of a car
that is constrained by the four vertical forces at the contact point of its wheels.
The rank ρ(G) = r ≤ 6 represent the dimension of the restricted motions on the
rigid body, and the difference m = 6 − r is the dimension of the nonrestricted
(admissible motion) coordinates. Notice that in the limit case when r = 6 the
body is fully restricted and cannot move.
• On the other hand, the input induced wrench F T = E τ̄ is also a linear combination.
The vector τ̄ ∈ R p stands for the exogenous active input forces/torques, and E :
R p → R6 is the corresponding linear operator. Again, the dimension p of input
forces has no restrictions. 

8.2 Model Reduction, the Dynamical Approach

Solution for the pair (ν̇, τ r ) is found with the inverse matrix in the left hand-side of
(8.11):
   −1  
ν̇ M −G E τ̄ − h(θ, ν)
= (8.12)
τr −G T 0 Ġ T ν

This is found with the use of inverse of block matrices (1.42) (and Schur comple-
ments) as
 −1  −1 T −1  −1

M −G M −1 − M −1 G G T M −1 G G M −M −1 G G T M −1 G
=  −1 T −1  −1
−G T 0 − G T M −1 G G M − G T M −1 G
 −1   T −1 
M PG −G  PG M −G 
= + −1 = + −1
−G M −M0 −G M −M0

where M0 = G T M −1 G and the off diagonal block elements are indeed the M-
weighted left pseudo-inverse of G and its transpose (with proper sign):
 −1 T −1
G +M = G T M −1 G G M = M0−1 G T M −1 ∈ Rr × 6
+ T
 −1 (8.13)
 −1
G  [G M ] = M G G M G T −1
= M −1 G M0−1 ∈ R6×r

such that G +M G = I and G T G  = I ; and

PG  I − GG +M ∈ R6×6 (8.14)

is a dynamic left- null space projector of G (or the right- null projector of G +M ) such
that

PG G = 0; G +M PG = 0
8.2 Model Reduction, the Dynamical Approach 335

Finally the reduced model (8.12) can be expressed with the following solutions:

ν̇ = PGT M −1 (E τ̄ − h(θ, ν)) − G  Ġ T ν (8.15a)


−1 
=M PG (E τ̄ − h(θ, ν)) − G Ġ ν T
(8.15b)

τ r = −G +M (E τ̄ − h(θ, ν)) − M0−1 Ġ T ν (8.16a)



= −M0−1 G T M −1 (E τ̄ − h(θ, ν)) + Ġ T ν (8.16b)

Remarks
• It is worth noticing that the null projector PG fulfils the following properties:

Null space complements: PG G = 0 G +M PG = 0


Non symmetry of the null projector: PG = PGT
Idempotency of the null projector: PG 2 = PG
Rank of PG : ρ(PG ) = 6 − r
−1
Symmetry of M PG : M −1 PG = PGT M −1
Symmetry of PG M: PG M = M PGT

• Expressions (8.15)–(8.16) are the solution for the constraint system (8.9), but its
validity relies on the non-singularity of matrix M0 = G T M −1 G. This can only be
achieved if the rank of G is equal to the dimension of the restrictive forces/torques
vector τ r i.e.: if r = q. Even more if p = m, then τ̄ shall be the generalized force
vector of the reduced system when expressed in a reduced version of generalized
coordinates q̄ ∈ Rm . 

8.2.1 Example 1: The Omnidirectional Mobile Robot

As a matter of example, consider the omnidirectional mobile robot of Fig. 8.1, whose
constraint equation of motion shall take the form (8.9). From the figure it can be seen
that the center of mass is not placed at the origin of the non-inertial frame of the robot,
and the inertia matrix M must be expressed as in (6.46) with inverse given by (7.31).
The Coriolis wrench (−T (ν)Mν) has the form (6.70), while the gravity wrench,
consider that the non-inertial frame is placed with the z-axis pointing upwards and
the roll-pitch-yaw attitude representation (R-P-Y ) is chosen, as in Example 6.2. Then,
the gravity vector is ⎛ ⎞
0
g0 = ⎝ 0 ⎠ (8.17)
−g

and the gravity wrench (−M G (1) ) is expressed by (6.103).


336 8 Model Reduction Under Motion Constraint

Fig. 8.1 Omnidirectional robot Robotino XT, from Festo, [Photograph taken from https://www.
festo.com/]

Fig. 8.2 Sketch for a 3-wheeled omnidirectional robot where the contact force, the power torque
and a virtual frame in the first wheel are shown

The Exogenous Forces F


Consider that this robot has three omnidirectional wheels, like in Fig. 8.3-right. For
simplification purposes, consider the wheels to be mass-less bodies and the contact
point between the floor and the wheel to be constant relative to the wheel position
(refer to Fig. 8.2). For kinematic analysis, consider the sketch of Fig. 8.4, where the
non-inertial frame is placed at the geometric center of the wheels such that the x-axis
is positive to the front of the vehicle, the z-axis is positive in the upward direction and
the y-axis is placed according to the right-hand rule. Consider three local frames ri
at the contact point of each driving wheel i with the x-axis parallel to the rotation axis
of each wheel, whose origin positions r ri ∈ R3 are function of the radius R of the
circle in which each wheel is placed equidistantly from each other, and the vertical
position h of the local frame w.r.t the floor:
8.2 Model Reduction, the Dynamical Approach 337

Fig. 8.3 Left: Swedish wheel, also known as Mecanum wheel, invented by the Swedish engineer
Bengt Ilon. Right: Omni-wheel, an upgraded design of a omnidirectional wheel

Fig. 8.4 Sketch of the virtual reference frames position at the contact points of each of the three
omni-wheels of an omnidirectional robot
338 8 Model Reduction Under Motion Constraint
⎛ R ⎞ ⎛ ⎞ ⎛ R ⎞
√2 −R √
2
r r1 = ⎝ 3R
2
⎠; r r2 = ⎝ 0 ⎠ ; r r3 = ⎝ − 23R ⎠
−h −h −h

Also form the sketch in Fig. 8.4 the rotation matrices for each contact frame are
defined as follows:
⎡ √ ⎤ ⎡ ⎤
√1/2 − 3/2 0 −1 0 0
R1r 1 = Rz,π/3 = ⎣ 3/2 1/2 0⎦; R1r 2 = Rz,π = ⎣ 0 −1 0⎦;
0 0 1 0 0 1
⎡ √ ⎤
1/2
√ 3/2 0
R1r 3 = Rz,−π/3 = ⎣ − 3/2 1/2 0⎦
0 0 1

The exogenous wrench F is the addition of the three wrenches produced by the
3 wheels:

F = XrT1 F c(r11 ) + XrT2 F (r 2) T (r3 )


c2 + Xr3 F c3 (8.18)

where Xri = Rri i T (r ri ), Rr1i are the extended rotations that maps the coordinates
of the frame ri to the local frame 1 , and T T (r ri is the extended translation that
displace wrenches from the contact point to the vehicle’s frame.
From Fig. 8.1-down and the fact that the 3 wheel are omnidirectional, i.e. they do
not produce lateral friction, the 3 wrenches expressed in local coordinates ri are
given as:
⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞
f cx 0 0 0
⎜ f c y ⎟ ⎜ 1 τm ⎟ ⎜ 1 τm ⎟ ⎜ 1 τm ⎟
⎜ ⎟ ⎜r 1⎟ ⎜r 2⎟ ⎜r 3⎟
⎜ f cz ⎟ ⎜ f z ⎟ ⎜ fz ⎟ ⎜ fz ⎟
F c(r11 ) =⎜ ⎟ ⎜ 1 ⎟
⎜ τc x ⎟ = ⎜ 0 ⎟ ; F (r
c2
2)
=⎜
⎜ 0 ⎟;
2 ⎟
F c(r33 ) =⎜
⎜ 0 ⎟
3 ⎟

⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎝ τc y ⎠ ⎝ 0 ⎠ ⎝ 0 ⎠ ⎝ 0 ⎠
τc z 0 0 0

where the radius r is the one of the wheels, the torques τm i are those produced by the
motors at each wheel and the constraint forces f zi are the three contact forces that
constraint the motion of the body to remain at the floor level.
The extended motion operators Xri in (8.18) that transforms each wrench in its
local coordinates to the vehicle’s adopt the following transpose shape:
8.2 Model Reduction, the Dynamical Approach 339

⎡ √ ⎤
1/2
√ 3/2 0 0 0 0
⎢ − 3/2 1/2 0 0 0 0⎥
⎢ ⎥
⎢ 0 0 1 0 0 0⎥
=⎢ √ √ √ ⎥
T
XrT1 = T T (r r1 )Rr11 ⎢ − 3h/2
⎢ √h/2 3R/2 1/2
√ 3/2 0⎥⎥
⎣ −h/2 − 3h/2 −R/2 − 3/2 1/2 0⎦

− 3R/2 −R/2 0 0 0 1
⎡ ⎤
−1 0 0 0 0 0
⎢ 0 −1 0 0 0 0⎥
⎢ ⎥
⎢ 0 0 1 0 0 0⎥
=⎢ ⎥
T
XrT2 = T T (r r2 )Rr12 ⎢ 0 −h 0 −1 0 0 ⎥
⎢ ⎥
⎣ h 0 R 0 −1 0 ⎦
0 R 0 0 0 1
⎡ √ ⎤
√1/2 − 3/2 0 0 0 0
⎢ 3/2 1/2 0 0 0 0⎥
⎢ ⎥
⎢ 0 0 0⎥
XrT3 = T T (r r3 )Rr13
T
=⎢ √ √1 0 √0 ⎥
⎢ 3h/2 h/2 − 3R/2 1/2 − 3/2 0⎥
⎢ √ √ ⎥
⎣ −h/2 3h/2 −R/2 3/2 1/2 0⎦

3R/2 −R/2 0 0 0 1

Expressing the exogenous wrench as in (8.4), i.e. F = E τ̄ + Gτ r they arise the


following force vectors and proper mapping operators:
⎛ ⎞ ⎛ ⎞
τm 1 f z1
τ̄ = ⎝ τm 2 ⎠ ; τ r = ⎝ f z2 ⎠ ; (8.19)
τm 3 f z3
⎡ √ √ ⎤ ⎡ ⎤
3/2 0 − 3/2 0 0 0
⎢ 1/2 −1 1/2 ⎥ ⎢ 0 0 0 ⎥
⎢ ⎥ ⎢ ⎥
1⎢ 0 0 0 ⎥ ⎢ 1 1 √1

E= ⎢ ⎥; G=⎢ √ ⎥
r ⎢
⎢ √ h/2 −h √h/2 ⎥
⎥ ⎢ 3R/2
⎢ 0 − 3R/2 ⎥

⎣ − 3 h/2 0 3 h/2 ⎦ ⎣ −R/2 R −R/2 ⎦
−R/2 R −R/2 0 0 0
(8.20)

Notice that both operators E and G are constant, i.e. Ė = 0, and Ġ = 0, and full
column rank: ρ(E) = p = 3 and ρ(G) = r = q = 3.

8.2.1.1 Constraint Motions

Since the rank of G is r = 3, there are m = 6 − r = 3 remaining coordinates acting


as admissible motion. Notice that in this example, the restricted coordinates vr would
have dimension q = r = 3, and can be calculated using (8.8)–(8.9b) as
340 8 Model Reduction Under Motion Constraint

⎛ √ ⎞ ⎡ √ ⎤⎛ ⎞
vz + 3R
2
ωx − R2 ω y 1 3R
2
− R2 vz
⎜ ⎟ ⎢ ⎥⎜ ⎟
vr = G T ν = ⎝ vz + Rω y ⎠ = ⎣1 0 R ⎦ ⎝ ωx ⎠ = 0
√ √
vz − 3R
ωx − R2 ω y 1 − 23R −R ωy
2 2
(8.21)

which has null solution only if the following expression is fulfilled:


⎛ ⎞
vz
ν r = ⎝ ωx ⎠ = 0 (8.22)
ωy

where ν r are the constraint twist coordinates which means that the twist of the
constraint body must be ⎛ ⎞
vx
⎜v y ⎟
⎜ ⎟
⎜0⎟
ν=⎜ ⎜0⎟

⎜ ⎟
⎝0⎠
ωz

On the other hand the admissible motion velocity coordinates arise from (8.7) and
the motion constraint (8.22) as
⎛ √ ⎞ ⎡ √ ⎤⎛ ⎞
3
v
2r x
+
1
v − 2rR ωz
2r y
3 1
− 2rR vx
⎜ ⎟ ⎢ 2r 2r ⎥
R ⎥⎜ ⎟
v̄ = E T ν = ⎜ 1
v + Rr ωz ⎟ =⎢ 1
v
⎝ √ r y ⎠ ⎣ 0 r r ⎦ ⎝ y⎠

− 2r vx + 2r v y − 2r ωz
3 1 R
− 2r3 1
−R ωz
2r 2r

From which it arise a vector with non zero twist coordinates that becomes the admis-
sible motions: ⎛ ⎞
vx
ν̄  ⎝ v y ⎠ (8.23)
ωz

for which the reduced model shall exist.

8.2.1.2 Pose Constraints

Recall expression (6.41): ν = Jν (θ) ẋ where x = (x, y, z, φ, θ, ψ)T is the pose of


the body, and Jν (θ) is the kinematic operator defined in (6.40) which is dependent
of the attitude representation:
8.2 Model Reduction, the Dynamical Approach 341
 
R T (θ) 0
Jν (θ)  RT (θ)Jx (θ) =
0 1
Jθ (θ)

If the roll-pitch-yaw representation is chosen, the Rotation matrix R and the


operator 1Jθ (θ) are explicitly given by (4.13) and (4.17) as
⎡ ⎤ ⎡ ⎤
cψ cθ −sψ cφ + cψ sθ sφ sψ sφ + cψ sθ cφ 1 0 −sθ
R01 (θ) = ⎣sψ cθ cψ cφ + sψ sθ sφ −cψ sφ + sψ sθ cφ ⎦ ; 1
Jθ (θ) = ⎣0 cφ sφ cθ ⎦
−sθ cθ sφ cθ cφ 0 −sφ cφ cθ

Then, restriction (8.22) becomes


⎛ ⎞ ⎛ ⎞
vz sψ sφ + cψ sθ cφ ẋ − cψ sφ − sψ sθ cφ ẏ + cθ cφ ż
⎝ ωx ⎠ = ⎝ φ̇ − sθ ψ̇ ⎠=0 (8.24)
ωy cφ θ̇ + sφ cθ ψ̇

Equivalently, last restriction can also be written using the inverse kinematic equa-
tion ẋ = Jν−1 (θ)ν where
 
R(θ) 0
Jν−1 (θ) = Jx−1 (θ)R(θ) = 1 −1 (8.25)
0 Jθ (θ)
⎡ ⎤
cψ cθ −sψ cφ + cψ sθ sφ sψ sφ + cψ sθ cφ 0 0 0
⎢ sψ cθ c c + s s s −c ψ sφ + sψ sθ cφ 0 0 0 ⎥
⎢ ψ φ ψ θ φ ⎥
⎢ −sθ c s cθ cφ 0 0 0 ⎥
=⎢⎢ 0
θ φ ⎥
⎢ 0 0 1 s φ tθ cφ tθ ⎥

⎣ 0 0 0 0 cφ −sφ ⎦
0 0 0 0 sφ /cθ cφ /cθ
(8.26)

where (8.25) stands for the general case and the (8.26) for the particular R-P-Y
representation. Notice that the inverse expression ẋ = Jν−1 (θ)ν for the R-P-Y case,
when using (8.22) becomes
⎛ ⎞ ⎛ ⎞
ẋ cψ cθ vx + cψ sθ sφ − sψ cφ v y
⎜ ẏ ⎟ ⎜ sψ cθ vx + sψ sθ sφ + cψ cφ v y ⎟
⎜ ⎟ ⎜ ⎟
⎜ ż ⎟ ⎜ −sθ vx + cθ sφ v y ⎟
⎜ ⎟=⎜ ⎟ (8.27)
⎜ φ̇ ⎟ ⎜ c t ω ⎟
⎜ ⎟ ⎜ φ θ z ⎟
⎝ θ̇ ⎠ ⎝ −sφ ωz ⎠
ψ̇ cφ /cθ ωz

Particular Case: Horizontal Flat Floor


If the floor where the robot moves is horizontally flat, then it happens that the roll
and pitch are null: φ = 0 and θ = 0, implying that R01 (θ) = Rz,ψ and 1Jθ (θ) = I ,
yielding
342 8 Model Reduction Under Motion Constraint
⎡ ⎤ ⎡ ⎤
cψ sψ 0 0 0 0 cψ −sψ 0 0 0 0
⎢ −sψ cψ 0 0 0 0⎥ ⎢ sψ cψ 0 0 0 0⎥
⎢ ⎥ ⎢ ⎥
⎢ 0 0 1 0 0 0⎥ ⎢ 0⎥
Jν (θ) = ⎢ ⎥ ; J −1 (θ) = ⎢ 0 0 1 0 0 ⎥
⎢ 0 0 0 1 0 0⎥⎥ ν ⎢0 0 0 1 0 0⎥
⎢ ⎢ ⎥
⎣ 0 0 0 0 1 0 ⎦ ⎣0 0 0 0 1 0⎦
0 0 0 0 0 1 0 0 0 0 0 1
(8.28)

Then the restriction expression (8.24) becomes


⎛ ⎞

⎛ ⎞ ⎡ ⎤ ⎜ ẏ ⎟ ⎛ ⎞
vz 0 0 1 0 0 0 ⎜ ⎟
⎜ ż ⎟ ż
ν r = ⎝ ωx ⎠ = ⎣ 0 0 0 1 0 0⎦⎜ ⎟ = ⎝ φ̇ ⎠ = 0
⎜ φ̇ ⎟ (8.29)
ωy 0 0 0 0 1 0 ⎜ ⎟
⎝ θ̇ ⎠ θ̇
ψ̇

while expression (8.27) becomes as


⎛ ⎞ ⎛ ⎞
ẋ cψ vx − sψ v y
⎜ ẏ ⎟ ⎜ sψ vx + cψ v y ⎟
⎜ ⎟ ⎜ ⎟
⎜ ż ⎟ ⎜ 0 ⎟
⎜ ⎟=⎜ ⎟ (8.30)
⎜ φ̇ ⎟ ⎜ 0 ⎟
⎜ ⎟ ⎜ ⎟
⎝ θ̇ ⎠ ⎝ 0 ⎠
ψ̇ ω z

which contains constraint (8.29).

Remarks
• Constraint expression (8.29) can also be written in terms of the pose x as gener-
alized coordinates q = x, rendering without any doubt that these three restriction
are indeed holonomic restrictions:
⎛ ⎞
z − z0
ϕ(q) = ⎝ φ ⎠ = 0 (8.31)
θ

• Also, from (8.30) it is possible to express the admissible motion as the remaining
non-null coordinates: ⎛ ⎞ ⎛ ⎞
ẋ cψ vx − sψ v y
⎝ ẏ ⎠ = ⎝ sψ vx + cψ v y ⎠ (8.32)
ψ̇ ωz


8.2 Model Reduction, the Dynamical Approach 343

8.2.1.3 Reduced Model

From expression (7.31) of the inverse2 of the inertial matrix M −1 , and some algebra
it can be found that
⎡ ⎤
M011 M012 M013
M0 = G M G = ⎣ M012 M022 M023 ⎦ ∈ R3×3
T −1

M013 M023 M033

is a full rank (invertible) matrix of order 3, ⇒ ρ(M0 ) = 3 ( det (M0 ) = 0), supporting
the validity of expressions (8.15) and (8.16). Even more, for this example these
equation are simplified since Ġ = 0:

ν̇ = PGT M −1 (E τ̄ − h(θ, ν)) = M −1 PG (E τ̄ − h(θ, ν)) (8.33)


τr = −G +M (E τ̄ − h(θ, ν)) (8.34)

Notice that the M-weighted left pseudo-inverse G +M = M0−1 G T M −1 , defined


in (8.13); the null projector PG = I − GG +M , defined in (8.14); and the product
PGT M −1 = M −1 PG have the following particular solutions for this example:
⎡ √ √ √ √ √ ⎤
rcz Izz c +rc y (I yz c − 3 I x z c ) 3 rcz Izz c −rcx (I yz c − 3 I x z c ) I yz c − 3 I x z c
1 3
− 3R
1
⎢ 3R Izz c 3R Izz c 3 3R 3R Izz c ⎥
⎢ 2I yz rc +2Izz rc ⎥
G+
2I yz c rcx 2I
M =⎢ − c 3Ry Izz c z − 3R yzIzzc ⎥
1 2
0
⎣ c√ √ 3R Izz c √ 3

3R √ c ⎦
rcz Izz c +rc y (I yz c + 3 I x z c ) 3 rcz Izz c +rcx (I yz c + 3 I x z c ) I yz c + 3 I x z c
3R Izz c − 3R Izz c
1
3 − 3R3 − 3R
1
3R Izz c
(8.35)

⎡ ⎤
1 0 0 0 0 0
⎢ 0 1 0 0 0 0 ⎥
⎢ ⎥
⎢ 0 0 0 0 0 0 ⎥
⎢ ⎥
PG = ⎢ I x z c rc y

rcz Izzc +I x zc rcx Ix zc ⎥
⎢ 0 0 0 ⎥
⎢ rcz IzzcI+Izz c
yz c rc y
Izzc Izzc

⎣ I
I r
− yzIzzc cx 0 0 0
I yzc
Izzc

zz c c
0 0 0 0 0 1
⎡ rc2y

rcx rc y rc y
1
+ − 0 0 0
⎢ m Izzc Izzc Izzc ⎥
⎢ r r
− cIxzz c y 1
+
rc2x r
− Izzcx⎥
⎢ 0 0 0 ⎥
⎢ c m Izzc

c

PGT M −1 = M −1 PG = ⎢

0 0 0 0 0 0 ⎥
⎥ (8.36)
⎢ 0 0 0 0 0 0 ⎥
⎢ ⎥
⎣ 0 0 0 0 0 0 ⎦
rc y r
Izzc
− Izzcx 0 0 0 1
Izzc
c

2 The
elements M0i j of M0 , being too complex to be expressed in a simple way, are left out of this
example. However they can be verified with the use of any symbolic calculation program.
344 8 Model Reduction Under Motion Constraint

Then from (8.33) and last expression the time derivative of the twist has the
following form
⎛ ⎞ ⎛ ⎞
v̇x v̇x
⎜ v̇ y ⎟ ⎜ v̇ y ⎟
⎜ ⎟ ⎜ ⎟
⎜ v̇z ⎟ ⎜0⎟
ν̇ = ⎜ ⎟ = ⎜
⎜ ⎟
⎜0⎟
⎟ (8.37)
⎜ ω̇x ⎟ ⎜ ⎟
⎝ ω̇ y ⎠ ⎝0⎠
ω̇z ω̇z

that means v̇z = ω̇x = ω̇ y = 0, which is in fact, the second order version of the
kinematic restriction (8.24). Then the reduced model would have indeed the reduced
twist coordinates defined in (8.23).
Notice that the nonlinear terms are given by the Coriolis and gravity wrenches:
h(θ, ν) = C(ν)ν + g(θ) = −T (ν)Mν − mT T (r c )G(θ). By using the constraint
motion expression (8.22) (i.e.vz = 0, ωx = 0, and ω y = 0), the Coriolis vector is sim-
plified to:
⎛ ⎞
−m v y ωz + rcx ωz2
⎜ m vx ωz − rc y ωz2 ⎟
⎜ ⎟
⎜ ⎟
C(ν)ν = −T (ν)Mν = ⎜ 0 2⎟ (8.38)
⎜ −mrcz ωz vx − I yzc − mrc y rcz ω ⎟
⎜ z⎟
⎝ −mrcz ωz v y + Ix zc − mrcx rcz ωz2 ⎠

m r cx v x + r c y v y ωz

The gravity wrench is given as:


⎛ ⎞
−sθ
⎜ cθ sφ ⎟
⎜ ⎟
⎜ c c ⎟

g(θ) = −mT (r c )G(θ) = mg ⎜
T θ φ ⎟ (8.39)
−r c s + r c c ⎟
⎜ cz θ φ cy φ θ ⎟
⎝ −rcz sθ − rcx cφ cθ ⎠
rc y sθ + rcx cθ sφ

On the other hand, the product E τ̄ becomes


⎛ √ ⎞
3
τ m 1 − τm 3 ⎡ ⎤
2r
⎜ 1 1τ − τ + 1τ ⎟ 1 0
⎜ r 2 m1 m2 2 m3 ⎟ ⎢ 0 1 ⎥
⎜ ⎟ ⎢ ⎥ 
⎜ 0 ⎟ ⎢ 0 0 ⎥

E τ̄ = ⎜ h 1 ⎟ ⎢ ⎥ a
⎟=⎢ h ⎥
(8.40)
⎜ r 2 τ√m 1 − τm 2 + 2 τm 3 ⎟ ⎢ 0
1
⎥ b
⎜ ⎟ ⎣−h 0 ⎦
⎝ − 2r3h τm 1 − τm 3 ⎠
0 −R
− r 2 τm 1 − τm 2 + 2 τm 3
R 1 1
8.2 Model Reduction, the Dynamical Approach 345

where
√  
3 1 1 1
a= τ m 1 − τm 3 ; b= τ m 1 − τm 2 + τ m 3 ,
2r r 2 2

Then with the last expressions, the active wrench E τ̄ − h(θ, ν), that is used in both
the model reduction (8.33) and the restrictive forces (8.34) becomes explicitly:
⎛   ⎞
a + m v y ωz + rcx ωz2 + mgsθ
⎜   ⎟
⎜ b − m vx ωz − rc y ωz2 − mgcθ sφ ⎟
⎜ ⎟
⎜ ⎟

E τ̄ − h(θ, ν) = ⎜ −mgc c
θ φ ⎟

⎜ hb + mrcz ωz vx + I yz c − mrc y rcz ωz + mg rcz cθ sφ − rc y cφ cθ ⎟
2
⎜ ⎟
⎝ −ha + mrc ωz v y − I x z − mrc rc ω 2 + mg rc sθ + rc cφ cθ ⎠
z c x z z z x
−Rb − m rcx vx + rc y v y ωz − mg rc y sθ + rcx cθ sφ
(8.41)
Finally, a reduced model taking only the non-zero coordinates of the constraint system
(8.33) has the following form
⎛ ⎞
v̇x
ν̄˙ = ⎝ v̇ y ⎠ =
ω̇z
⎡ ⎤
rc2y rc rc rc y ⎛ ⎞
⎢ m + Izzc
1
− Ixzz y ⎥ a + m v y ωz + rcx ωz2 + gsθ
⎢ rcx rc y c Izz c
⎥⎜ ⎟
⎢ − rc2x ⎥⎝ b − m vx ωz − rc y ωz2 + gcθ sφ
r ⎠
m + Izz − Izzcx
1
⎣ Izz ⎦
rc y c r
c c
−Rb − m rcx ωz vx + gcθ sφ + rc y ωz v y + gsθ
Izz c − Izzcx 1
Izz c
c
(8.42)

and the restrictive forces can be computed directly after (8.34) with (8.35) and (8.41).
Remark The gravity wrench for the particular case of an horizontal flat floor (θ =
φ = 0) is simplified to ⎛ ⎞
0
⎜ 0 ⎟
⎜ ⎟
⎜ mg ⎟
g(θ) = ⎜⎜ mg rc y ⎟

⎜ ⎟
⎝ −mg rcx ⎠
0

and the reduced model becomes independent of the gravity influence:


⎡ ⎤⎛ ⎞
⎛ ⎞ r2 rcx rc y rc y
a + mωz v y + rcx ωz
v̇x
1
+ Izzc y −
⎢ m c Izzc Izzc ⎥⎜ ⎟
⎝ v̇ y ⎠ = ⎢ − rcx rc y 1 r2
+ Izzcx
r
− Izzcx ⎥ ⎝ b − mωz vx − rc ωz ⎠
⎣ Izz m ⎦ y

ω̇z rc y c r
c c
−Rb − mωz rcx vx + rc y v y
Izzc
− Izzcx 1
Izzc
c
(8.43)

346 8 Model Reduction Under Motion Constraint

Fig. 8.5 Differential robot Pioneer 3DX from Adept Technology, Inc. for in-door purposes, [Photo-
graph taken from http://www.mobilerobots.com/Libraries/Downloads/Pioneer3DX-P3DX-RevA.
sflb.ashx]

8.2.2 Example 2: The Differential Mobile Robot

Consider the robot of Fig. 8.5, which has two regular driving wheels and a castor
wheel to provide stability in the floor plane. For kinematic analysis, consider the
local non-inertial frame to be placed at the geometric center of the two driving
wheels such that the x-axis is positive to the front of the vehicle, the z-axis is positive
in the upward direction and the y-axis is placed according to the right-hand rule. For
simplification purposes, consider the wheels to be mass-less bodies and the contact
point between the floor and the wheel to be constant relative to the wheel position
(refer to Fig. 8.6-Left). The lateral friction of the castor wheel is neglected. Consider
a local frame ri at the contact point of each driving wheel i with the x-axis parallel
to the rotation of the wheel and properly oriented such that a positive torque τm i
provides a positive displacement of the robot. For the castor wheel consider a frame
r3 at the constant point of its contact3 that is parallel to the non-inertial frame of the
robot, i.e. R1r 3 = I , while the Rotation matrices or the driving wheel contact frames
are just a simple rotation of π/2 rad around the vertical (z-axis), i.e.:

3 This is a strong assumption since in the castor wheel the contact point is not constant. This is
eccentric so the very same contact friction produces the necessary moment so the wheel is naturally
oriented to the desired motion.
8.2 Model Reduction, the Dynamical Approach 347

Fig. 8.6 Left: 3D sketch for the contact forces: vertical restrictive force, lateral friction and the
power torque in the first wheel. Right: Sketch of the position of local reference frames at the contact
point of each wheel of a differential drive robot, using regular wheels

⎡ ⎤
0 −1 0
R1r 1 = R1r 2 = Rz,π/2 = ⎣1 0 0⎦;
0 0 1

The positions r ri ∈ R3 from the local frame 1 to the contact point at each wheel
depend on the distances d and L, and arbitrary vertical position h of the local frame
w.r.t the floor:
⎛ ⎞ ⎛ ⎞ ⎛ ⎞
0 0 −L
r r1 = ⎝ d ⎠ ; r r2 = ⎝ −d ⎠ ; r r3 = ⎝ 0 ⎠
−h −h −h

The exogenous forces F. The exogenous wrench F is, like in the previous example,
the addition of the three wrenches produced by the 3 wheels:

F = X1T F c(r11 ) + X2T F (r 2) T (r3 )


c2 + X3 F c3 (8.44)

where the extended motion operators Xi = Rri i T (r ri ), Rr1i are the extended rotations
that maps the coordinates of the frame ri to the local frame i , and T (r ri ) are the
extended translation from the contact point to the vehicle’s reference frame origin.
These operators takes the following shape (next page):

r1 T r2 T
X1T = T T
⎡ (r r1 )R1 ⎤ X2T = T T
⎡ (r r2 )R1 ⎤
0 1 0 0 0 0 0 1 0 0 0 0
⎢ −1 0 0 0 0 0⎥ ⎢ −1 0 0 0 0 0⎥
⎢ ⎥ ⎢ ⎥
⎢ 0 0 1 0 0 0⎥ ⎢ 0 0 1 0 0 0⎥
=⎢⎢ −h
⎥; =⎢ ⎥;
⎢ 0 d 0 1 0⎥⎥
⎢ −h
⎢ 0 −d 0 1 0⎥⎥
⎣ 0 −h 0 −1 0 0⎦ ⎣ 0 −h 0 −1 0 0⎦
0 −d 0 0 0 1 0 d 0 0 0 1
348 8 Model Reduction Under Motion Constraint
⎡ ⎤
1 0 0 0 0 0
⎢ 0 1 0 0 0 0⎥
⎢ ⎥
⎢ 0 0 1 0 0 0⎥
=⎢ ⎥
T
X3T = T T (r r3 )Rr13 ⎢ 0
⎢ h 0 1 0 0⎥⎥
⎣ −h 0 L 0 1 0⎦
0 −L 0 0 0 1

From Fig. 8.6-left and the fact that only the castor wheel is omnidirectional, the
3 wrenches expressed in local coordinates ri are given as:
⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞
f cx f x1 f x2 0
⎜ f c y ⎟ ⎜ 1 τm ⎟ ⎜ 1 τm ⎟ ⎜ 0 ⎟
⎜ ⎟ ⎜r 1⎟ ⎜r 2⎟ ⎜ ⎟
⎜ f cz ⎟ ⎜ f z ⎟ ⎜ fz ⎟ ⎜ f z3 ⎟
F c(r11 ) ⎜
=⎜ ⎟ = ⎜ 1 ⎟; F (r 2)
=⎜ 2 ⎟
F c(r33 ) =⎜ ⎟
⎟ ⎜ ⎟ ⎜ 0 ⎟; ⎜ 0 ⎟
(8.45)
⎜ τc x ⎟ ⎜ 0 ⎟
c2
⎜ ⎟ ⎜ ⎟
⎝ τc y ⎠ ⎝ 0 ⎠ ⎝ 0 ⎠ ⎝ 0 ⎠
τc z 0 0 0

where r is the radius of the driving wheels, and the torques τm i are those produced
by the motors at them. In this case, each wheel including the castor one produces
vertical constraint forces f zi that constraint the robot to remain in the floor level; but
only the driving wheels produce a lateral friction forces that constraint the robot from
lateral slippering. Then it follows that the reduced generalized force τ̄ is given by
only 2 torques provided at each driving wheel axis, while the restricting generalized
force is given by the 5 contact forces on the wheels:
 
τm 1
τ̄ = ⇒ p=2 (8.46)
τm 2
⎛ ⎞
f x1
⎜ f z1 ⎟
⎜ ⎟
τr = ⎜ ⎟
⎜ f x2 ⎟ ⇒ q=5 (8.47)
⎝ f z2 ⎠
f z3

Operators E and G. Then it is deduced that matrices E and G are composed with
some of the columns of the above operators as follows:
⎡ ⎤ ⎡ ⎤
1 1 0 0 0 0 0
⎢ 0 0 ⎥ ⎢ −1 0 −1 0 0⎥
⎢ ⎥ ⎢ ⎥
1⎢ 0 0 ⎥ ⎢ 0 1 0 1 1⎥
E= ⎢ ⎥; G=⎢ ⎥ (8.48)
r ⎢
⎢ 0 0 ⎥

⎢ −h
⎢ d −h −d 0⎥⎥
⎣ −h −h ⎦ ⎣ 0 0 0 0 L⎦
−d d 0 0 0 0 0
8.2 Model Reduction, the Dynamical Approach 349

Notice that both E and G are constant, i.e. Ė = 0, and Ġ = 0. Also their ranks
ρ(E) = 2 and ρ(G) = r = 4 < q. While this time E is a full column rank matrix G
is not, and as consequence it does not exists any weighted pseudo-inverse such as
G +M defined by (8.13).
Constraint motions. Since the rank of G is r = 4 there are m = 6 − r = 2 remaining
coordinates acting as admissible motion. Notice that in this example, the restricted
coordinates vr would have dimension q = 5 > r , and can be calculated using (8.9b)
as
⎛ ⎞
−v y − hωx
⎜ vz + dωx ⎟
⎜ ⎟
vr = G ν = ⎜
T ⎟
⎜ −v y − hωx ⎟ = 0
⎝ vz − dωx ⎠
vz + Lω y

Notice in this case that the first and third equations are the same (since the first
and third columns of G are linearly dependent). Taking only one of them and the
remaining 3 equations, they can be expressed as
⎡ ⎤⎛ ⎞
0 1 d 0 vy
⎢ −1 0⎥ ⎜ ⎟
⎢ 0 h ⎥ ⎜ vz ⎟ = 0 (8.49)
⎣ 0 1 −d 0 ⎦ ⎝ ωx ⎠
0 1 0 L ωy

which has null solution only for the following restricted twist coordinates:
⎛ ⎞
vy
⎜ vz ⎟
νr = ⎜ ⎟
⎝ ωx ⎠ = 0 (8.50)
ωy

which means that the twist must be


⎛ ⎞
vx
⎜0⎟
⎜ ⎟
⎜0⎟
ν=⎜
⎜0⎟
⎟ (8.51)
⎜ ⎟
⎝0⎠
ωz

leaving the two non-zero coordinates vx and ωz as the admissible motion coordinates,
for which there must exist a reduced model:
 
vx
ν̄ 
ωz
350 8 Model Reduction Under Motion Constraint

Pose constraints. Just as in the previous example, the pose constraints can be derived
form expression (6.41): ν = Jν (θ) ẋ where x = (x, y, z, φ, θ, ψ)T is the pose of the
body, and Jν (θ) is the kinematic operator defined in (6.40) which is dependent of
the attitude representation. If the roll-pitch-yaw representation is chosen, the Rota-
tion matrix R, and the operator 0Jθ (θ) are explicitly given by (4.13), and (4.16)
respectively. Finally restriction (8.50) becomes
⎛ ⎞
⎛ ⎞ ⎡ ⎤ ẋ
vy −sψ cφ + cψ sθ sφ cψ cφ + sψ sθ sφ cθ sφ 0 0 0 ⎜ ẏ ⎟
⎜ ⎟
⎜ vz ⎟ ⎢ sψ sφ + cψ sθ cφ −cψ sφ + sψ sθ cφ 0 ⎥ ⎜ ⎟
⎜ ⎟=⎢ cθ cφ 0 0 ⎥ ⎜ ż ⎟
⎝ ωx ⎠ ⎣ 0 0 0 1 0 −sθ ⎦ ⎜ ⎟
⎜ φ̇ ⎟
ωy 0 0 0 0 cφ sφ cθ ⎝ θ̇ ⎠
ψ̇
⎛ ⎞
(−s
ψ cφ + cψ sθ s φ )ẋ + (cψ cφ + sψ sθ sφ ) ẏ + cθ sφ ż
⎜ sψ sφ + cψ sθ cφ ẋ − cψ sφ − sψ sθ cφ ẏ + cθ cφ ż ⎟
=⎜

⎟=0
⎠ (8.52)
φ̇ − sθ ψ̇
cφ θ̇ + sφ cθ ψ̇

Equivalently, last restriction can also be written using the inverse kinematic equation
ẋ = Jν−1 (θ)ν where Jν−1 (θ) is given by (8.26). Then this expression when using
(8.51) becomes
⎛ ⎞ ⎡ ⎤ ⎛ ⎞
ẋ cψ cθ 0 cψ cθ vx
⎜ ẏ ⎟ ⎢ sψ cθ 0 ⎥ ⎜ ⎟
⎜ ⎟ ⎢ ⎥   ⎜ sψ cθ vx ⎟
⎜ ż ⎟ ⎢ −sθ 0 ⎥ v ⎜ −s v ⎟
⎜ ⎟=⎢ ⎥ x
=⎜ θ x ⎟
(8.53)
⎜ φ̇ ⎟ ⎢ 0 cφ tθ ⎥ ω ⎜ c t ω ⎟
⎜ ⎟ ⎢ ⎥ z ⎜ φθ z ⎟
⎝ θ̇ ⎠ ⎣ 0 −sφ ⎦ ⎝ −sφ ωz ⎠
ψ̇ 0 cφ /cθ cφ /cθ ωz

Particular case: Horizontal flat floor. If the floor where the robot moves is hori-
zontally flat, then it happens that the roll and pitch are null: φ = 0 and θ = 0, and the
operators Jν (θ) and Jν−1 (θ) are simplified as in (8.28). Then the restriction expression
(8.52) becomes
⎛ ⎞
⎛ ⎞ ⎡ ⎤ ẋ ⎛ ⎞
vy −sψ cψ 0 0 0 0 ⎜ ⎟
⎜ ẏ ⎟ −sψ ẋ + cψ ẏ
⎜ vz ⎟ ⎢ 0 0⎥ ⎜ ⎟ ⎜ ⎟
⎜ ⎟=⎢ 0 1 0 0 ⎥ ⎜ ż ⎟ = ⎜ ż ⎟=0
⎝ ωx ⎠ ⎣ 0 0 0 1 0 0⎦⎜ φ̇
⎜ ⎟
⎟ ⎝ φ̇ ⎠
ωy 0 0 0 0 1 0 ⎝ θ̇ ⎠ θ̇
ψ̇
(8.54)

while the pose derivatives expression (8.53) becomes


8.2 Model Reduction, the Dynamical Approach 351
⎛ ⎞ ⎛ ⎞
ẋ cψ vx
⎜ ẏ ⎟ ⎜ sψ vx ⎟
⎜ ⎟ ⎜ ⎟
⎜ ż ⎟ ⎜ 0 ⎟
⎜ ⎟=⎜ ⎟ (8.55)
⎜ φ̇ ⎟ ⎜ 0 ⎟
⎜ ⎟ ⎜ ⎟
⎝ θ̇ ⎠ ⎝ 0 ⎠
ψ̇ ωz

which already contains the motion constraint (8.54). Notice that in this case only
the null coordinates in (8.55) can be written as an equality restriction expression in
terms of the pose coordinates x, rendering these constraints to be, without any doubt,
holonomic restrictions: ⎛ ⎞
z − z0
ϕ(q) = ⎝ φ ⎠ = 0 (8.56)
θ

Remark The fourth restriction in (8.54) becomes

v y = −sψ ẋ + cψ ẏ = 0 (8.57)

which is not possible to be expressed only in terms of the pose variables x, y and/or
ψ. Since this is only one equation having three unknowns (ẋ, ẏ, ψ), this particular
restriction is known as the non-holonomic restriction of this system. 

Reduced Model. The reduced model (8.15)–(8.16) relies on the assumption that
that matrix M0 = G T M −1 G is invertible. Since for this case G is not a full column
rank matrix, M0 is singular. Then the reduced model cannot be obtained using this
procedure.

8.3 Twist Coordinates Separation: The Kinematical


Approach for the Dynamic Model Reduction

If the rank of G is lower than the dimension of the restrictive forces/torques vector τ r
i.e.: if r < q, then reductions (8.15) and (8.16) are not longer valid. If this is the case
of a restricted system, it seem more useful to work this restrictions at the kinematic
level by separating the restricted twist coordinates ν j from those that actually moves.
Let ν r ∈ Rr be a vector of dimension r spanning the r restricted coordinates of
the twist that play the roll of a virtual motion, and let ν̄ ∈ Rm be the remaining
coordinates of the rigid body being the admissible motion coordinates. Then it is
possible to write the full twist as follows

ν = S ν̄ + U ν r (8.58a)
= V ν̃ (8.58b)
352 8 Model Reduction Under Motion Constraint

where V = [S U ] is a square matrix of order 6, S ∈ R6×m is the Reduced Motion


Operator mapping the reduced motion to the full twist ν̄ → ν, U ∈ R6×r is the
Kinematic Restriction Operator that maps the virtual motion coordinates to the body
twist ν r → ν. Lets ν̃ be the vector with separated coordinates:
 
ν̄
ν̃ 
νr

Since the velocity coordinates in ν are all independent in the local reference frame
basis, they define at least locally an orthogonal space. Then expression (8.58) would
mean that the operator U ∈ R6×r spans the null space of S, and viceversa, being
orthogonal complements of each other:

ST U = 0 (8.59)

Also notice that since (8.58) means a reordering of the same coordinates of the twist
ν, the non-zero singular values of each operator S and U are all the unit, given rise
to the following properties:

0 ∀i ≤r
S T S = I ∈ Rm×m ≡ σi (S) = ⇒ ρ(S) = m (8.60)
1 ∀i >r

1 ∀i ≤r
U T U = I ∈ Rr ×r ≡ σi (U ) = ⇒ ρ(U ) = r (8.61)
0 ∀i >r

Since the kinematic coordinates separator operators S and U only have the restric-
tion of having unit singular values (whenever they are not zero), they can be defined
relative to the Constraint force operator G under the following definitions:

S  span{Q G } ∈ R6×m (8.62a)


U  span{I − Q G } ∈R 6×r
(8.62b)

where Q G ∈ R6×6 is the null projector of the Constraint Operator G such that

ρ(Q G ) = m
QG G = 0

Remarks
• Expression (8.1) establishes that the virtual motion vector shall be null regardless
of the shape of operator S, i.e.: ν r = 0; and must remain so, i.e.: ν̇ r = 0. Then the
motion restriction can be expressed in either of the following forms:

ν = S ν̄ (8.63)
U ν=0
T
(8.64)
8.3 Twist Coordinates Separation: The Kinematical … 353

Notice that restriction (8.64) must be equivalent to expression (8.9b).


• Particularly if G is full column rank (i.e. r = q), G T G is an non-singular matrix,
and the Penrose pseudo-inverse G + exists. Then the kinematic null projector Q G
can be expressed as
Q G = I − GG +

yielding the following set for the matrices S and U :

S = span{I − GG + } (8.65a)
U = span{GG + } (8.65b)

If on the other hand, G is not full column rank (i.e. r < q), then the kinematic null
projector can be defined as the spanning of the eigenvectors of G that correspond
to the null singular values, as expressed in (1.71). 

Definition (8.62a) is consequent with the kinematic separation analysis and the
orthogonal condition (8.59). Moreover it enforces the following important results:
1. It establishes the following properties:
 −1 T
S+ = S T S S = ST (8.66a)
 −1 T
U+ = UTU U = UT (8.66b)
QG S = S (8.66c)
S G=0
T
(8.66d)
SS = Q G
T
(8.66e)
[I − Q G ] U = U (8.66f)
UU T = I − Q G (8.66g)
SS + UU = I
T T
(8.66h)

2. The time derivative of (8.59) yields

Ṡ T U + S T U̇ = 0

3. Since V is full rank, hence is invertible: ν̃ = V −1 ν. Also from Theorem 1.1


(expression (1.45)), it follows that the inverse V −1 is
   
−1
 −1 S+ ST
V = S U = = = VT (8.67)
U+ UT

which means that V is an orthonormal matrix, and

ν̃ = V T ν (8.68)
354 8 Model Reduction Under Motion Constraint

which finally yields the separated coordinates in vectors ν̃ to become

ν̄ = S T ν (8.69)
νr = U T ν (8.70)

4. Since operators S and U are not square matrices, they are not full rank operators
by themselves, and have null space projectors defined as follows:

Q S = I − SS + = UU + ⇒ QS S = 0
+ +
Q U = I − UU = SS ⇒ QU U = 0

These projectors have the following properties:

Symmetry: QS = Q TS
QU = Q UT
Idempotence: Q 2S = QS
Q U2 = QU
Crossed range space projectors: Q SU =U
QU S =S
Orthogonal complementary: Q S QU =0
Q S + QU =I

8.3.1 Wrench Coordinates Separation

Let F̃ a modified wrench whose coordinates can be separated as follows


 

F̃  ∈ R6
fr

T
such that the Power of the rigid body can be written as P = F T ν = F̃ ν̃ from which
it arise the following results
1. The separated coordinates vectors f̄ ∈ Rm and f r ∈ Rr become
   
f̄ ST F
F̃ = =V F= T
(8.71)
fr UT F

2. After (8.67), the full wrench F can also be separated as

F = V F̃ (8.72a)
= S f̄ + U f r (8.72b)
8.3 Twist Coordinates Separation: The Kinematical … 355

3. The Power is achieved only by the admissible motion coordinates:


 T
F̃ ν̃
P=ν F= T
T (8.73)
F̄ ν̄

On another hand in Sect. 8.1 it is assumed the the motion of a body is restricted
by an external constraint force τ r ∈ Rq through the mapping of the key operator
G : Rq → R6 , with rank(G) = r ; and that the exogenous wrench in the dynamic
equation can be written by the use of a transformation T (see expression (8.4)):
 
τ̄
F = E τ̄ + Gτ r = T = Tτ
τr

It follows, after (8.71), that the coordinates separation for the exogenous wrench
becomes
 
F̃ = V T T τ

where the operator product becomes (notice that the null block element arises from
property (8.66d)):  T   
S E 0 B 0
VTT = =
UT E UT G C 

with the following matrix definitions:

Input Driving Matrix: B  ST E ∈ Rm× p (8.74)


r×p
Input Restrictive Matrix: C U E T
∈R (8.75)
r ×q
Restrictive Force Operator: U G T
∈R (8.76)

Then the wrench coordinates separation adopts the following forms:

f̄ = B τ̄ = S T E τ̄ (8.77)
f r = C τ̄ + τ r = U (E τ̄ + Gτ r )
T

(8.78)

8.3.2 Kinematical Reduction of the Dynamic Model

To reduce the model, lets use the dynamic equation (8.2), expressed in separated
coordinates by the use of the twist decomposition (8.58b) and its time derivative:
ν̇ = V ν̃˙ + V̇ ν̃, together with the wrench decomposition (8.72):
356 8 Model Reduction Under Motion Constraint

M̃ ν̃˙ + h̃(θ, ν̃) = F̃ (8.79)

where the following equivalences hold:


 
M̄ Ma
M̃ = V M V
T
= T
 Ma Mr 
h̄(θ, ν̄, ν r )
h̃(θ, ν̃) = V T M V̇ ν̃ + h(θ, V ν̃) =
hr (θ, ν̄, ν r )

which include the following equalities:

M̄ = S T M S ∈R
m×m
Reduced Inertia
h̄(θ, ν̄, ν r ) = S M Ṡ ν̄ + M U̇ ν r + h(θ, ν)
T
Reduced nonlinear terms
Mr = U T MU ∈ Rr ×r Restricted Inertia
hr (θ, ν̄, ν r ) = U M Ṡ ν̄ + M U̇ ν r + h(θ, ν)
T
Restricted nonlinear terms
Ma = S T MU Coupling Inertia

Then the coordinate-separated model (8.79) can be expressed as two coupled dynamic
systems:

M̄ ν̄˙ + Ma ν̇ r + h̄(θ, ν̄, ν r ) = f̄ (8.80)


MaT ν̄˙ + Mr ν̇ r + hr (θ, ν̄, ν r ) = f r (8.81)

8.3.2.1 Reduced Model

Finally, due to condition (8.1), i.e. ν r = ν̇ r = 0, Eq. (8.80) is simplified to be the


reduced model:

M̄ ν̄˙ + h̄(θ, ν̄, 0) = M̄ ν̄˙ + S T M Ṡ ν̄ + h(θ, S ν̄) = f̄ (8.82)

Remarks
• The reduced model (8.82) can be found using the original model (8.2), with the
wrench expressed either as in (8.4) or (8.72b), and the twist with the mobile
coordinates using (8.63) and its time derivative i.e. ν̇ = S ν̄˙ + Ṡ ν̄ as:

S f̄ + U f r
M S ν̄˙ + M Ṡ ν̄ + h(θ, S ν̄) = (8.83)
E τ̄ + Gτ r

Since both operators G and U are orthogonal to operator S (see expressions (8.59)
and (8.66d)), by pre-multiplying last expression by its natural null space projector
S T it yields (8.82).
• Solution of the reduced model (8.82) is computed after (8.77) as
8.3 Twist Coordinates Separation: The Kinematical … 357

M̄ −1 f̄ − S T h(θ, S ν̄) − S T M Ṡ ν̄
ν̄˙ =
M̄ −1 S T E τ̄ − h(θ, S ν̄) − M Ṡ ν̄

• The reduced system (8.82) takes the classical reduced form:

M̄ ν̄˙ + h̄(θ, ν̄, 0) = B τ̄ (8.84)

where the reduced wrench coordinates f̄ = B τ̄ is a simple transformation of the


reduced force vector τ̄ that drives the reduced system.
• The equivalent velocity separation due to the dynamic approach becomes:

v̄ = E T S ν̄ + E T U ν r = B T ν̄ + C T ν r (8.85)
vr = G U ν r
T
=  νr
T
(8.86)

Since ν r = 0, expression (8.85) is reduced to

v̄˙ = B T ν̄

which together with (8.77) is equivalently to the power condition (8.5), established
at the beginning of this analysis. 

8.3.2.2 The Restrictive Wrench Coordinates f r ∈ R r

The restrictive force coordinates f r can be computed either from (8.81) with condi-
tion (8.1) or by pre-multiplying expression (8.83) by U T :

f r = U T M S ν̄˙ + M Ṡ ν̄ + h(θ, S ν̄)

= MaT ν̄˙ + U T M Ṡ ν̄ + h(θ, S ν̄)

Notice that this expression depends on the dynamics ν̄˙ of the reduced system. Then
using (8.82), it becomes
 
f r = U T M S M̄ −1 f̄ + I − M S M̄ −1 S T M Ṡ ν̄ + h(θ, S ν̄) (8.87a)
 
= MaT M̄ −1 f̄ + U T I − M S M̄ −1 S T M Ṡ ν̄ + h(θ, S ν̄) (8.87b)

The null space projector PS . Consider an M −1 -weighted left pseudo-inverse of S


and its transpose to be defined as

+
 −1 T
SM  ST M S S M = M̄ −1 S T M
+ T
S   [S M ] = M S M̄ −1
358 8 Model Reduction Under Motion Constraint

+
such that S M S = I and S T S  = I . Then notice that the product

I − M S M̄ −1 S T = I − S  S T  PS (8.88)

is a right null projector of S T such that S T PS = 0, and the left null projector of S 
such that PS S  = 0. It is worth noticing that PS is a dynamic (mass dependant) null
projector, contrary to the kinematic null projector Q S . Also PS fulfils the following
properties:
Property 8.1
+ +
Pseudo-inverse complementarity: SM S=I SS M = I − PST  = I
 
+ T
S T S = I S  S T = SS M = I − PS  = I
Orthogonal complementarity: S T PS = 0 PS S  = 0
 −1
Non symmetry: PS = I − M S S T M −1 S S T  = PST
Idempotence: PS 2 = PS
Rank of PS : ρ(PS ) = r
Symmetry of PS M −1 : M −1 PS = PST M −1
Symmetry of PS M: PS M = M PST
Range space projector of U : PS U = U

Finally after definition (8.88), expressions (8.87) can be simplified as



f r = U T S  f̄ + PS M Ṡ ν̄ + h(θ, S ν̄) (8.89a)

= U T [I − PS ]E τ̄ + PS M Ṡ ν̄ + h(θ, S ν̄) (8.89b)

Remark The reduced model with the restrictive wrench coordinates can be computed
as
    
ν̄˙ M̄ −1 S T − M̄ −1 S T E τ̄
= (8.90)
fr U T [I − PS ] U T PS M Ṡ ν̄ + h(θ, S ν̄)

8.3.2.3 The Restrictive Forces/Torques τ r ∈ Rq

The restrictive coordinates f r is a linear combination of both the reduced force vector
τ̄ and the constraint forces τ r , as stated in (8.78).
While f r ∈ Rr is a vector whose coordinates are those of the exogenous wrench
that constraint the motion of the rigid body, and has the same dimension that the num-
ber of constraint DoF, both the reduced generalized force τ̄ ∈ R p and the constraint
generalized force τ r ∈ Rq have no dimension limit.
Notice that after (8.78) it follows that
8.3 Twist Coordinates Separation: The Kinematical … 359

τ r = f r − C τ̄ = U T [I − PS ]E τ̄ + PS M Ṡ ν̄ + h(θ, S ν̄) − U T E τ̄

= U T PS M Ṡ ν̄ + h(θ, S ν̄) − E τ̄

Notice that since the rank of  is always r (notice that ρ(G) = ρ(U ) = r ), even
if  is not a square matrix (whenever r < q), then it always exists the Penrose right
pseudo-inverse:
 −1
 +   T [ T ]−1 = G T U U T GG T U

and its null projector Q   I −  + .


Then the restrictive force vector can be computed as

τ r = − + U T PS E τ̄ − h(θ, S ν̄) − M Ṡ ν̄ + Q  τ r0 (8.91)

where τ r0 ∈ Rq represents some redundant restriction forces, in the same direction


that τ r , that may exist in the system but have no influence in its dynamics.
Remark Notice that the reduced model with the restrictive force vector can be com-
puted as     
ν̄˙ M̄ −1 S T 0 E τ̄ − h(θ, S ν̄) − M Ṡ ν̄
= (8.92)
τr − + U T PS Q  τ r0

8.3.3 Example 3: The Omnidirectional Mobile Robot,


Kinematic Approach

Consider again the omnidirectional robot Robotino XT, from Festo, showed in Fig. 8.1.

The omnidirectional wheels position sketch is shown in Fig. 8.4 and the dynamic
equation is given after expression (8.9) as:

M ν̇ − T (ν)Mν − mT T (r c )G(θ) = E τ̄ + Gτ r

where the reduced generalized force τ̄ (i.e. the 3 torques provided at each wheel
axis) and the restricted generalized force τ r (i.e. the 3 vertical contact forces at each
360 8 Model Reduction Under Motion Constraint

wheel), are given by (8.19); and the operators E and G are given by expressions
(8.20):
⎛ ⎞ ⎛ ⎞
τm 1 f z1
τ̄ = ⎝ τm 2 ⎠ ; τ r = ⎝ f z2 ⎠ ;
τm 3 f z3
⎡ √ √ ⎤ ⎡ ⎤
3/2 0 − 3/2 0 0 0
⎢ 1/2 −1 1/2 ⎥ ⎢ 0 0 0 ⎥
⎢ ⎥ ⎢ ⎥
1⎢ 0 0 0 ⎥ ⎢ 1 1 1 ⎥
E= ⎢ ⎥; G=⎢ √ √ ⎥
r ⎢
⎢ √ h/2 −h √h/2 ⎥
⎥ ⎢ 3R/2
⎢ 0 − 3R/2 ⎥

⎣ − 3 h/2 0 3 h/2 ⎦ ⎣ −R/2 R −R/2 ⎦
−R/2 R −R/2 0 0 0

Definition of matrices S and U . Since G is full column rank (ρ(G) = 3), there
are r = 3 restricted coordinates, and m = 6 − r = 3 motion coordinates. Then the
kinematic null projector can be Q G = I − GG + , where the Penrose pseudo-inverse
G + is given as
⎡ √ ⎤
 −1 T 0 0 1 3
− 3R
1
0
⎢ 3 3R ⎥
G+ = GT G G = ⎣0 0 1
3
0√ 2
3R
0⎦
0 0 1
3
− 3R3 − 3R1
0

Then the range space projector GG + and the null space projector Q G become:
⎡ ⎤ ⎡ ⎤
0 0 0 0 0 0 1 0 0 0 0 0
⎢0 0 0 0 0 0⎥ ⎢0 1 0 0 0 0⎥
⎢ ⎥ ⎢ ⎥
⎢0 0 1 0 0 0⎥ ⎢0 0 0 0 0 0⎥
GG + = ⎢
⎢0
⎥; Q G = I − GG + = ⎢ ⎥
⎢ 0 0 1 0 0⎥⎥
⎢0
⎢ 0 0 0 0 0⎥⎥
⎣0 0 0 0 1 0⎦ ⎣0 0 0 0 0 0⎦
0 0 0 0 0 0 0 0 0 0 0 1

Finally the reduced motion and kinematic restriction operators are computed as
⎡ ⎤ ⎡ ⎤
1 0 0 0 0 0
⎢0 1 0⎥ ⎢0 0 0⎥
⎢ ⎥ ⎢ ⎥
⎢0 0 0⎥ ⎢1 0 0⎥
S = span{Q G } = ⎢
⎢0
⎥; U = span{GG + } = ⎢ ⎥;
⎢ 0 0⎥⎥
⎢0
⎢ 1 0⎥⎥
⎣0 0 0⎦ ⎣0 0 1⎦
0 0 1 0 0 0

which establish the wrench and twist’s coordinates separation:


8.3 Twist Coordinates Separation: The Kinematical … 361
⎛ ⎞ ⎛ ⎞
fx vx
f̄ = S T F = ⎝ f y ⎠ ; ν̄ = S T ν = ⎝ v y ⎠ ;
nz ωz
⎛ ⎞ ⎛ ⎞
fz vz
f r = U T F = ⎝ nx ⎠ ; ν r = U T ν = ⎝ ωx ⎠ = 0 (8.93)
ny ωy

and give rise to the expression of operators B, C, and  to be as


⎡ √ √ ⎤
3
2r
0 − 2r3
B = ST E = ⎣ 1 − r1 1 ⎦;
2r 2r
− 2rR R
r
− 2rR
⎡ ⎤ ⎡ ⎤
0 0 0 √
1 1 √
1
C = UT E = ⎣ − hr ⎦;  = UT G = ⎣ − 23R ⎦
h h 3R

2r √
2r 2
0
− 3
2r
0 3
2r
− R2 R − R2

Constraint expression. The restricted coordinates expression (8.93) is fully equiv-


alent to the restriction (8.22), resulted in the dynamic approach. Notice that in
that reduction, expression (8.21) can be written as vr = G T U ν r =  T ν r , where
 T = GU T is a full rank matrix, which has an empty null space. Then both dynamic
and kinematic restrictions are equivalent with the simple expression (8.93). Then the
constraint expression follows mutatis-mutandis expressions (8.24):
⎛ ⎞
sψ sφ + cψ sθ cφ ẋ − cψ sφ − sψ sθ cφ ẏ + cθ cφ ż
⎝ φ̇ − sθ ψ̇ ⎠=0
cφ θ̇ + sφ cθ ψ̇

and for the particular case of an horizontal flat floor i.e.: φ = 0 and θ = 0, this
restriction can be written as a holonomic constraint in terms of the pose x = q as
generalized coordinates as (8.31):
⎛ ⎞
z − z0
ϕ(q) = ⎝ φ ⎠ = 0
θ

The reduced model. The most simple expression of the reduced model comes after
(8.82) as
ν̄˙ = M̄ −1 S T E τ̄ − h(θ, S ν̄) − M Ṡ ν̄ (8.94)

where the reduced inertia matrix M̄ = S T M S becomes


⎡ ⎤ ⎡ m 0 −mrc y

m 0 −mrc y
⎢ ⎥
M̄ = S T M S = ⎣ 0 m mrcx ⎦ = ⎣ 0 m mr
 cx ⎦
−mrc y mrcx Izz −mrc y mrcx Izz c + m rc2x + rc2y
362 8 Model Reduction Under Motion Constraint

Notice that M̄ −1 becomes


⎡ rc2y

rcx rc y rc y
1
+ −
⎢ m Izzc Izzc Izzc ⎥
M̄ −1 = ⎢

r r
− cIxzz c y 1 r2
+ Izzcx
r
− Izzcx ⎥

m
rc y c r
c c

Izzc
− Izzcx 1
Izzc
c

which has the same elements that its counterpart PGT M −1 = M −1 PG, (8.36) in
 the
−1
dynamic
 reduction
 example, and that it can me computed as S T
PG
T
M S=
S T M −1 PG S, but with far less calculations.

The reduced active wrench S T E τ̄ − h(θ, S ν̄) − M Ṡ ν̄ reduces to
S T (E τ̄ − h(θ, S ν̄)) since S is constant. More over, the active wrench E τ̄ −
h(θ, S ν̄) for this example as been already computed in expression (8.41), from
which is simple to obtain its reduced version as:
⎛ ⎞
a + m v y ωz + rcx ω z2 + mgsθ
S T (E τ̄ − h(θ, ν)) = ⎝ b − m vx ωz − rc y ωz2 − mgc
θ sφ

−Rb − m rcx vx + rc y v y ωz − mg rc y sθ + rcx cθ sφ
√ (8.95)

where a = 2r τm 1 − τm 3 and b = r 2 τm 1 − τm 2 + 2 τm 3 are simplification of the
3 1 1 1

input torques τm i .
Finally, the reduced model (8.94) gets the same shape obtained in (8.42):
⎛ ⎞
v̇x
ν̄˙ = ⎝ v̇ y ⎠
ω̇z
⎡ ⎤
rc2y rcx rc y rc y ⎛ ⎞
⎢ m + Izzc
1
− ⎥ a + m v y ωz + rcx ωz2 − gsθ

Izz c Izz c
⎥⎜ ⎟
= ⎢ − rcx rc y rc2x ⎥⎝ b − m vx ωz − rc y ωz2 − gcθ sφ
r ⎠
m + Izz c − Izzcx
1
⎣ Izz ⎦
rc y c r
c
−Rb − m rcx ωz vx − gcθ sφ + rc y ωz v y − gsθ
Izz c − Izzcx 1
Izz c
c
(8.96)

The Range and null space Operators S  S T and PS . Using the results obtained in
+
the example 1, the operator S M , its range space projector and its null space projector
happens to be as follows
⎡ I x z c rc y I yzc rc y

1 0 0 r cz + 0
 −1 T ⎢ Izzc Izzc ⎥
+
S M =⎢ 0⎥
I r I r
SM = ST M S ⎣0 1 0 −rcz − xIzzzc cx − yzIzzc cx ⎦
c c
Ix zc I yzc
0 0 0 Izzc Izzc
1
8.3 Twist Coordinates Separation: The Kinematical … 363
⎡ ⎤
1 0 0 0 0 0
⎢ 0 1 0 0 0 0 ⎥
⎢ ⎥
 T
 + T ⎢ ⎢ 0 0 0 0 0 0 ⎥

S S = SS M = ⎢ Ix zc rc y −rcz −
I x z c rcx Ix zc ⎥
⎢ Izzc Izzc
0 0 0 Izzc ⎥
⎢ ⎥
⎣ rcz + I yzI c rc y I r
− yzIzzc cx 0 0 0
I yzc
Izzc

zz c c
0 0 0 0 0 1
⎡ ⎤
0 0 0 0 0 0
⎢ 0 0 0 0 0 0 ⎥
⎢ ⎥
⎢ 0 0 1 0 0 0 ⎥
⎢ ⎥
PS = I − S  S T = ⎢ − Ix zc rc y I r
rcz + xIzzzc cx
I
− Ixzzzc ⎥
⎢ Izzc
0 1 0 ⎥
⎢ c c

⎣ −rcz − I yzI c rc y I yzc rcx
Izzc
0 0 1
I
− Iyzzz c ⎦
zz c c
0 0 0 0 0 0

The restrictive wrench coordinates. The restrictive wrench coordinates f r =


U T F = ( f z , n x , n y )T can be computed using (8.89) with Ṡ = 0 as

f r = U T ([I − PS ]E τ̄ + PS h(θ, S ν̄))

with the following products:


I x z c rc y I x z c rcx I

− r cz + 0 1 0 − Ixzzzc
U [I − PS ] =
T Izzc
I r I yzc rcx
Izzc
I
c

−rcz − yzIzzc c y Izzc


0 0 1 − Iyzzz c

c c
I x z c rc y I x z c rcx I
−rcz − 0 0 0 x zc

U T
PS = Izzc
I r I r
Izzc Izzc
I yzc
rcz + yzIzzc c y − yzIzzc cx 0 0 0 Izzc
c c

Then the input influence over these coordinates becomes, after (8.40):
⎛ ⎞
 0 
⎜ Ix zc √ r I ⎟
⎜ 3rc y (τm 1 − τm 3 ) − rcz + Izzx zcr (R + rcx ) ( 21 τm 1 − τm 2 + 21 τm 3 ) ⎟
U T [I − PS ]E τ̄ = ⎜  2I
√ c
zz r  c ⎟
⎝ 3rcz I yz c √ I yz c ⎠
2r + 2Izz r 3rc y (τm 1 − τm 3 ) − Izz r (R + rcx )( 2 τm 1 − τm 2 + 2 τm 3 )
1 1
c c

while the inherent coupling effects correspond, after (8.38)–(8.39) to the following
vector
⎛ ⎞ ⎛ ⎞
1 0
U T PS h(θ, S ν̄) = ⎝ rc y ⎠ gmcφ cθ + ⎝ −I yz − mrc y rcz ⎠ ωz 2
−rcx Ix z + mrcx rcz

The restricted coordinates f r = U T F of the exogenous wrench F, are the addi-


tion of the last two expressions.
364 8 Model Reduction Under Motion Constraint

The restrictive forces τ r . The restrictive force vector can be computed directly using
expression (8.91) with Ṡ = 0, hence τ r = − −1 U T PS (E τ̄ − h(θ, S ν̄)), being
fully equivalent to (8.34), since  is a full-rank square matrix, and the operator’s
product  −1 U T PS is equal the M-weighted pseudo-inverse G +M computed in (8.35):
⎡  √ 

 √ 
√ √ ⎤
r cz rc y I yz c − 3I x z c 3rcz rcx I yz c − 3I x z c I yz c − 3I x z c
⎢ 3R + 3Izz c R  3R − 3Izz c R
1
3
3
3R − 3R
1
3Izz c R ⎥
⎢  ⎥
⎢ 2 r cz +
I r
yz c c y

 −1 U T PS = ⎢ −
Izz c 2I yz c rcx 1
0 2 2I
− 3IzzyzcR ⎥
⎢  3R √  3Izz c R  3 3R ⎥
⎣ rc y I yz c + 3I x z c
√ √
rcx I yz c + 3I x z c √ √
c

r cz 3rcz I yz c + 3I x z c
3R + 3Izz c R − 3R − 3Izz c R
1
3 − 3R3 − 3R
1
3Izz c R

8.3.4 Example 4: The Differential Mobile Robot, Kinematic


Approach

Refer to Figs. 8.5 and 8.6:

and again to Eqs. (8.9):

M ν̇ − T (ν)Mν − mT T (r c )G(θ) = E τ̄ + Gτ r

where the reduced generalized force τ̄ is given by (8.46), i.e.: the 2 torques provided
at each driving wheel axis, while the restricted generalized force is given by (8.47),
i.e.: the 5 contact forces: the 3 vertical ones at each wheel and the 2 lateral friction
at the driving wheels; and the operators E and G are given by expressions (8.48):
⎛ ⎞
f x1
  ⎜ f z1 ⎟
τm 1 ⎜ ⎟
τ̄ = τr = ⎜
⎜ f x2 ⎟

τm 2 ⎝ f z2 ⎠
f z3
8.3 Twist Coordinates Separation: The Kinematical … 365
⎡ ⎤ ⎡ ⎤
1 1 0 0 0 0 0
⎢ 0 0 ⎥ ⎢ −1 0 −1 0 0⎥
⎢ ⎥ ⎢ ⎥
1⎢ 0 0 ⎥ ⎢ 0 1 0 1 1⎥
E= ⎢ ⎥; G=⎢ ⎥
r ⎢
⎢ 0 0 ⎥

⎢ −h
⎢ d −h −d 0⎥⎥
⎣ −h −h ⎦ ⎣ 0 0 0 0 L⎦
−d d 0 0 0 0 0

The coordinates separation operators S and U . In this case G is not full column
rank (ρ(G) = 4 < q = 5). Notice that since the first and third columns are equal,
eliminating one of them:
⎡ ⎤
0 0 0 0
⎢0 −1 0 0⎥
⎢ ⎥
⎢1 0 1 1⎥
Gr = ⎢
⎢d

⎢ −h −d 0⎥⎥
⎣0 0 0 L⎦
0 0 0 0

is sufficient to produce the null space projector as Q G = I − G r G r+ , where the


Penrose pseudo-inverse G r+ is given as
⎡ ⎤
0 − 2d
h 1
2
1
2d
− 2L
1
0
 −1 T ⎢0 −1 0 0 0 0⎥
G r+ = G rT G r Gr = ⎢
⎣0

h
2d
1
2
− 2d1 − 2L
1
0⎦
1
0 0 0 0 L
0

Then the null space projector Q G and the range space projector G r G r+ become:
⎡ ⎤ ⎡ ⎤
1 0 0 0 0 0 0 0 0 0 0 0
⎢0 0 0 0 0 0⎥ ⎢0 1 0 0 0 0⎥
⎢ ⎥ ⎢ ⎥
⎢0 0 0 0 0 0⎥ ⎢0 0 1 0 0 0⎥
QG = ⎢
⎢0
⎥ G r G r+ = ⎢ ⎥;
⎢ 0 0 0 0 0⎥⎥
⎢0
⎢ 0 0 1 0 0⎥⎥
⎣0 0 0 0 0 0⎦ ⎣0 0 0 0 1 0⎦
0 0 0 0 0 1 0 0 0 0 0 0

Finally the reduced motion and kinematic restriction operators are computed as
⎡ ⎤ ⎡ ⎤
1 0 0 0 0 0
⎢0 0⎥ ⎢1 0 0 0⎥
⎢ ⎥ ⎢ ⎥
⎢0 0⎥ ⎢0 1 0 0⎥
S = span{Q G } = ⎢
⎢0
⎥; U = span{G r G r } = ⎢
+ ⎥;
⎢ 0⎥⎥
⎢0
⎢ 0 1 0⎥⎥
⎣0 0⎦ ⎣0 0 0 1⎦
0 1 0 0 0 0

which establishes the coordinate’s separation of the wrench and twist as follows
366 8 Model Reduction Under Motion Constraint
 
fx vx
f̄ =S T F = ; ν̄ =S T ν = ;
nz ωz
⎛ ⎞ ⎛ ⎞
fy vy
⎜ fz ⎟ ⎜ vz ⎟
f r =U F = ⎜
T
⎝ nx ⎠
⎟ ν r =U ν = ⎜
T ⎟
⎝ ωx ⎠ = 0 (8.97)
ny ωy

They also give rise to the expression of operators B,  and C to be as


 
1 1
B=S E=T
;
−d d
⎡ ⎤ ⎡ ⎤
0 0 −1 0 −1 0 0
⎢ 0 0 ⎥ ⎢ 1⎥
C = UT E = ⎢ ⎥;  = UT G = ⎢ 0 1 0 1 ⎥
⎣ 0 0 ⎦ ⎣ −h d −h −d 0⎦
−h −h 1 0 −1 0 L

Notice that in this example  is not a square matrix, implying the existence of
null space. This can be found with its pseudo-inverse and null space projector:
⎡ ⎤
−1/2 0 0 0
⎢ −h/2d 1/2 1/2d −1/2L ⎥
⎢ ⎥
 + =  T [ T ]−1 =⎢
⎢ −1/2 0 0 0 ⎥ ⎥
⎣ h/2d 1/2 −1/2d −1/2L ⎦
0 0 0 1/L
⎡ ⎤
1/2 0 −1/2 0 0
⎢ 0 0 0 0 0⎥
⎢ ⎥
Q  = I − + = ⎢
⎢ −1/2 0 1/2 0 0⎥⎥
⎣ 0 0 0 0 0⎦
0 0 0 0 0

Constraint expression. The restricted coordinates vector ν r = 0 in (8.97) is fully


equivalent to the restriction resulted in (8.50), using the dynamic approach. Then the
constraint expression follows mutatis-mutandis expressions (8.52):
⎛ ⎞
ψ cφ + cψ sθ s φ )ẋ + (cψ cφ + sψ sθ sφ ) ẏ + cθ sφ ż
(−s
⎜ sψ sφ + cψ sθ cφ ẋ − cψ sφ − sψ sθ cφ ẏ + cθ cφ ż ⎟
⎜ ⎟=0
⎝ φ̇ − sθ ψ̇ ⎠
cφ θ̇ + sφ cθ ψ̇

Again, for the particular case of an horizontal flat floor i.e.: φ = 0 and θ = 0, this
restriction can be written as a set of 3 holonomic constraints (8.56) in terms of the
pose x = q (as generalized coordinates) and a non-holonomic constraint (8.57):
8.3 Twist Coordinates Separation: The Kinematical … 367
⎛ ⎞
z − z0
Holonomic constraints: ϕ(q) = ⎝ φ ⎠ = 0
θ
Non − holonomic constraint: v y = −sψ ẋ + cψ ẏ = 0

The reduced model. The most simple expression of the reduced model comes form
(8.82) as
ν̄˙ = M̄ −1 S T (E τ̄ − h(θ, S ν̄)) (8.98)

where the reduced inertia matrix M̄ = S T M S becomes


  m −mr

m −mrc y  cy 
M̄ = S M S =
T
=
−mrc y Izz −mrc y Izzc + m rc2x + rc2y

with inverse as
⎡ ⎤
rc2y rc y
1
+
M̄ −1
=⎣ m Izzc +mrc2x
rc y
Izzc +mrc2x
1

Izzc +mrc2x Izzc +mrc2x

The active wrench E τ̄ − h(θ, S ν̄) for this example, give rise to the reduced active
wrench S T (E τ̄ − h(θ, S ν̄)):
 
τm 1 + τm 2 + mrcx ωz2 + mgsθ
S (E τ̄ − h(θ, ν)) =
T
d(τm 1 − τm 2 ) − mrcx vx ωz − mg rc y sθ + rcx cθ sφ
(8.99)
Finally, the reduced model (8.98) has the following form
 
v̇x
ν̄˙ =
ω̇z
⎡ ⎤
rc2y rc y  
1
+ τm 1 + τm 2 + mrcx ωz2 + mgsθ
=⎣ m Izz c +mrc2x Izz c +mrc2x ⎦
rc y 1 d(τm 1 − τm 2 ) − mrcx vx ωz − mg rc y sθ + rcx cθ sφ
Izz c +mrc2x Izz c +mrc2x
(8.100)

which is the one that could not be obtained in Sect. 8.2.2.


The Range and null space Operators S  S T and PS . In order to compute the restric-
tive forces in either forms as wrench coordinates f r it is necessary to compute oper-
+
ators S M , its range space projector S  S T and its null space projector PS which have
the following form:
368 8 Model Reduction Under Motion Constraint
mrcx rc y I x zc −mrcx rcz rcz +I yzc rc y

+
 −1 1 Izzc +mrc2x
0 rc y Izzc +mrc2x Izzc +mrc2x
0
SM = S MST
S M=
T
mrcx I x zc −mrcx rcz I yzc
0 Izzc +mrc2x
0 Izzc +mrc2x Izzc +mrc2x
1
⎡ ⎤
1 0 0 0 0 0
⎢ mrcx rc y
0 0 0 0
mrcx ⎥
⎢ Izzc +mrc2x Izzc +mrc2x ⎥
⎢ ⎥
  ⎢ 0 0 0 0 0 0 ⎥
+ T
I − PS = S  S T = SS M =⎢⎢ rc y IxIzc −mr c x r cz
0 0 0 0
I x zc −mrcx rcz ⎥

⎢ zz c +mrcx
2 Izzc +mrc2x ⎥
⎢ rcz +I yzc rc y I yzc ⎥
⎣ Izzc +mr 2 0 0 0 0 Izzc +mrc2x ⎦
cx
0 0 0 0 0 1
⎡ ⎤
0 0 0 0 0 0
⎢ − mrcx rc y2 1 0 0 0 − Izz
mrcx ⎥
⎢ Izzc +mrcx c +mrcx
2 ⎥
⎢ ⎥
⎢ 0 0 1 0 0 0 ⎥
PS = ⎢
⎢ −rc y IxIzc −mr c x r cz
0 0 1 0 −
I x zc −mrcx rcz ⎥

⎢ zz c +mrcx
2 Izzc +mrc2x ⎥
⎢ rcz +I yzc rc y I yzc ⎥
⎣ − Izzc +mr 2 0 0 0 1 − Izz +mr
c
2 ⎦
cx cx
0 0 0 0 0 0

The restrictive wrench coordinates f r . The vector f r = U T F = ( f y , f z , n x , n y )T


can be computed using (8.89) with Ṡ = 0 as

f r = U T [I − PS ]E τ̄ + PS h(θ, S ν̄)

The restrictive forces τ r The restrictive force vector can be computed directly using
expression (8.91) with Ṡ = 0:

τ r = − + U T PS E τ̄ − h(θ, S ν̄) + Q  τ r0 (8.101)

Notice after the form of  + that the restrictive active wrench U T PS (E τ̄ − h(θ, S ν̄))
when projected to the τ r space (8.47), the resulting projection over the lateral forces
(due to the lateral friction in the driving wheels) is divided in one half to each wheel.
This may not be the case in a real situation for many different reasons. However a
correction to this effect may be given by the vector τ r0 ∈ R5 that is projected on this
space via the kernel Q  . Notice the shape of this operator which only have projec-
tions over the directions f x1 and f x2 corresponding to the lateral contact forces on
the driving wheels. Then this vector must have the following shape:
⎛ ⎞
f x 10
⎜ 0 ⎟
⎜ ⎟
τ r0 =⎜ ⎟
⎜ f x 20 ⎟
⎝ 0 ⎠
0
8.4 Resume 369

8.4 Resume

Algorithm 8.1 (Reduced model with coordinate separation)


1. Analyze the exogenous forces F such that they can be separated in the active
wrench F T and the restrictive wrench F C , each of them with proper coordinates
elements defining the generalized reduced forces τ̄ and the restrictive generalized
forces τ r .
2. Identify the matrix E and G that compose operator T .
3. Define the operators S and U that represents the admissible motion projector and
restriction projector as the span of the null and range projector of operator G.
4. Express the constraint with coordinates ν r as

νr = U T ν = 0

If possible, find the expression ν r (q r , q̇ r ) that express that the coordinates qr i


are restricted generalized coordinates.
5. Obtain the reduced model using (8.82) as:
 
S T M S ν̄˙ + S T M Ṡ ν̄ + h(θ, S ν̄) = f̄ = S T E τ̄ = B τ̄

6. Obtain the restrictive forces


(a) Evaluate S  and PS as
 −1
S = M S S T M S
PS = I − S  S T

and calculate the restrictive wrench coordinates with (8.89b) as



f r = U T [I − PS ]E τ̄ + PS M Ṡ ν̄ + h(θ, S ν̄)

(b) Analyze the matrix  = U T G in case it has a null space projector Q  =


I −  + ; and calculate the real restrictive forces τ r with (8.91) as

τ r = − + U T PS E τ̄ − h(θ, S ν̄) − M Ṡ ν̄ + Q  τ r0
Appendix A
The Cross Product Operator

The linear operator [a×] expresses the linear transformation of the cross product of
vector a with some unknown vector. This operator is called in this work as the cross
product operator (CPO). This appendix presents as most as possible of its properties.
The explicit form of the CPO is presented in (1.98) as
⎡ ⎤
0 −az a y
[a×]  ⎣ az 0 −ax ⎦ ∈ SS(3), (A.1)
−a y ax 0

being deduced from the vector product definition (1.97), i.e.:

[a×]b = a × b
⎡ ⎤⎛ ⎞ ⎛ ⎞
0 −az a y bx a y bz − b y az
⎣ az 0 −ax ⎦ ⎝ b y ⎠ = ⎝ −ax bz + az bx ⎠ (A.2)
−a y ax 0 bz ax b y − bx a y

A.1 Simple CPO

Property A.1 (Linearity ≡ Superposition) The Cross Product Operator (CPO) is a


linear operator, i.e.for any two vectors (a, b) ∈ R3 and scalars α and β, it holds:

[(αa + βb) ×] = α [a×] + β [b×] (A.3)

Proof Both properties for superposition (linearity) i.e Homogeneity ([αa×] =


α[a×]), and additivity ([(a + b)×] = [a×] + [b×]) follows directly from defini-
tion (A.1). 

Property A.2 (Skew-symmetry) The cross product operator [a×] is a skew sym-
metric matrix of order 3 ([a×] ∈ SS(3)):
© Springer Nature Switzerland AG 2019 371
E. Olguín Díaz, 3D Motion of Rigid Bodies, Studies in Systems,
Decision and Control 191, https://doi.org/10.1007/978-3-030-04275-2
372 Appendix A: The Cross Product Operator

[a×] + [a×]T = 0 ≡ [a×] = −[a×]T (A.4)

Proof It follows straight-forward from definition (A.1). Then, the transpose of matrix
[a×] is its negative: [a×]T = −[a×]. 

Property A.3 (CPO is a singular matrix) The CPO is a singular matrix of rank 2:

ρ ([a×]) = 2

Proof From definition (A.1) it follows that the characteristic equation of the CPO is

⎡ ⎤


λ az −a y



f ([a×]) =

⎣ −az λ ax ⎦

= λ3 + (ax2 + a 2y + az2 )λ = λ2 + a2 λ = 0



a y −ax λ

whose roots are the following eigenvalues:

λ ([a×]) = {0, ±a} (A.5)

Since the CPO is an order 3 matrix and only one eigenvalue is zero, its rank is 2, thus
is not full and consequently is a singular matrix. 

Remark The non zero eigenvalues of a CPO [a×] are the positive and negative values
of the (euclidian) norm the vector a. 

Property A.4 (The induced norm of a CPO) The induced Euclidean norm of a CPO
is bounded by the Euclidian norm of its argument vector

[a×] ≤ a (A.6)

Proof Consider the definition of the induced norm and the norm of the vector product:

[a×]b
[a×] = ; a × b ≤ a b
b

Then it follows that

[a×]b2 a2 b2


[a×]2 = ≤
b2 b2

from which it arise straightforward the bound (A.6). 

Property A.5 (The triple scalar product) The triple scalar product property (1.96a)
of any 3 cartesian vectors: a · (b × c) can be expressed more easily with the use of
the CPO:
a T [b×]c = bT [c×]a = cT [a×]b (A.7)
Appendix A: The Cross Product Operator 373

Proof Consider the first term in expression (1.96a), written in a bilinear form: a ·
(b × c) = a T [b×]c which is indeed the first term in (A.7). Using the basic properties
of the CPO it follows: a T [b×]c = −a T [c×]b. Since this is a scalar product its
transpose is the same expression, i.e.a · (b × c) = (a · (b × c))T . Then it follows
straightforward T
c [b×]T a = c · (a × b)
a · (b × c) =
−bT [c×]T a = b · (c × a)

which yield both triple scalar product (1.96a) and (A.7). 

Remark Notice that if any two vectors in this triple scalar product have the same
direction, the overall product is zero, either because of the parallel nullity prop-
erty (1.99d) of the cross product or the quadratic scalar property for any the skew-
symmetric matrix (1.33). 

Property A.6 (The double CPO product) The product of two CPO of two different
vectors is the difference of their outer product minus a diagonal matrix with its dot
product:
[a×][b×] = ba T − (a · b)I (A.8)

Proof Lets start with the simple product [a×][b×] after definition (1.98) using the
usual matrix product rules:
⎡ ⎤
−a y b y − az bz a y bx az bx
[a×][b×] = ⎣ ax b y −ax bx − az bz az b y ⎦ (A.9)
a x bz a y bz −ax bx − a y b y

Then it is easy to notice that [a×][b×] + (a · b)I = ba T , from which it arise expres-
sion (A.8). 

Remark The double CPO product is the matrix equivalent of the Grassmann identity
or triple vector product:
 
a × (b × c) = [a×][b×]c = ba T − (a · b)I c = b(a T c) − (a · b)c

A special case of last property is when a = b arising the square CPO product:

[a×]2 = aa T − a2 I (A.10)

Property A.7 (Symmetry of the square product) The second power of a CPO [a×]2
is a symmetric matrix or order 3:
T
[a×]2 = [a×]2 (A.11)
374 Appendix A: The Cross Product Operator

Proof Consider expression (A.4). Then the square product can be written as

[a×]2 = [a×][a×] = −[a×]T [a×] = −[a×][a×]T

from which symmetry follows straight forward. 


Property A.8 (Negative semi-definiteness of the square product) The second power
of a CPO [a×]2 is a negative semi-definite matrix or order 3:

[a×]2 ≤ 0 (A.12)

Then the matrix −[a×]2 ≥ 0 is semi-definite positive.


Proof Consider a vector b ∈ R3 , then the product bT [a×]2 b yields
 2
 
bT [a×]2 b = −bT [a×]T [a×]b = − ([a×]b)T [a×]b = −[a×]b ,
where the norm x ≥ 0 stands for the euclidian norm of any vector, yielding the
product bT [a×]2 b ≤ 0 to be negative except for a the collinear pair of vectors a and
b. Semi-definiteness follows directly from the rank of the CPO being non-full. From
property (1.16b), any power of a CPO heritages his rank, being singular. 
Property A.9 (Orthogonal complementarity) The subspaces defined
 by the projec-
tions of the operators [a×]2 and the associated dyadic: aa T are complementary
and orthogonal:

aa T − [a×]2 = a2 I (A.13)
 T  
aa [a×]2 = [a×]2 aa T = 0 (A.14)

Proof Expression (A.13) follows directly from the special case (A.10). Notice that
bT [a×] = − ([a×]b)T , then a T [a×] = 0. In consequence, nullity for both left-hand
side expressions in (A.14) follows straightforward. 
Property A.10 (The triple CPO product) The triple product of two CPO is the
CPO of the repetitive vector, weighted by the negated dot product (inner product) of
corresponding vectors of the CPO’s:

[a×][b×][a×] = −(a · b)[a×] (A.15)

Proof Consider the double CPO product (A.8). Then the triple product (A.15)
becomes [a×][b×][a×] = [ba T − (a · b)I ][a×] = ba T [a×] − (a · b)[a×]. From
properties (1.99d) and (1.99f) it follows that a T [a×] = 0 which yields to expression
(A.15). 
Property A.11 (The quadruple vector product) The quadruple vector product of
two different CPO is skew symmetric:

[a×][b×]2 a = −[b×][a×]2 b (A.16)


Appendix A: The Cross Product Operator 375

Proof Expanding the left-hand side of (A.16) it follows [a×][b×]2 a = [a×][b×]


[b×]a, which after property (1.99e) (i.e.[a×]b = −[b×]a) it becomes

[a×][b×]2 a = −[a×][b×][a×]b

Then using property (A.15) it yields: −[a×][b×][a×]b = (a · b)[a×]b = −(a ·


b)[b×]a.
Then using the same properties in the inverse sense it follows:

−(a · b)[b×]a = [b×][a×][b×]a = −[b×][a×]2 b

which complete the proof of (A.16). 

Property A.12 (High order powers of CPO) Any power larger than 3 of the CPO
[a×]n is characterized by either the skew-symmetric matrix [a×] or its square sym-
metric matrix [a×]2 :
 n−1
(−1) 2 an−1 [a×] if n is odd
[a×] =
n
n−2 ∀ n≥3 (A.17)
(−1) 2 an−2 [a×]2 if n is even

Proof Lets start with the power n = 3, which can be computed as [a×]3 = [a×]2
[a×]. Notice that bT [a×] = − ([a×]b)T . Then using property (A.13), the third
power yields:
  
n=3 [a×]3 = aa T − a2 I [a×] = −a2 [a×]

The following powers can be computed recursively, starting with last expression:

n=4 [a×]4 = [a×]3 [a×] = −a2 [a×]2


n=5 [a×]5 = [a×]4 [a×] = −a2 [a×]3 = a4 [a×]
n=6 [a×]6 = [a×]5 [a×] = a4 [a×]2
n=7 [a×]7 = [a×]6 [a×] = a4 [a×]3 = −a6 [a×]
..
.
[a×]n = [a×]n−1 [a×]

From this recurrence series, it follows straightforward expressions (A.17). 

Property A.13 (The Exponential Mapping) The exponential mapping of the cross
product operator of any vector a ∈ R3 is a Rotation matrix as:
a
e[a×] = Rλa ,a ∈ S O(3), a = a ∈ R+ ; λa = ∈ R3 (A.18)
a
376 Appendix A: The Cross Product Operator

Therefore, every CPO is said to belong to the so(3) algebra, associated to the S O(3)
group.

Proof Lets consider the definition of the exponential matrix e A (see (1.32)) as the
infinite sum of the terms:
∞
An
eA =
n=0
n!

Then the exponential matrix e[a×] = e[λa ×]a can be expressed as



 [λa ×]n a n
e[λa ×]a =
n=0
n!

which after extension and using the property (A.17), and known that λa  = 1, the
exponential e[a×] yields to the so-called Rodrigues’ Formula (Murray et al. 1994):
   2 
a a 3 a 5 a 7 a a4 a6 a8

e a ×]a
= I + [λa ×] − + − + · · · + [λa ×]2 − + − + ···
1 3! 5! 7! 2! 4! 6! 8!

= I + [λa ×] sin a + [λa ×]2 (1 − cos a)

Then after Euler’s formula (3.33) for rotation matrices i.e.: Rλ,ϑ = I + [λ×]sϑ +
[λ×]2 vϑ (where vx = versin(x)  1 − cos(x) and s y = sin(x)) it arises that expres-
sion (A.18) holds. Finally after replacing the original values it arise the generalized
version of Rodrigues formula:

sin(a) 1 − cos a


e[a×] = I + [a×] + [a×]2 (A.19)
a a2

Since any CPO is an element of a Lie algebra, and the exponential mapping above
associates these elements to rotations matrix that belongs to the Lie group S O(3),
the Lie algebra of CPO is called the so(3) group. 

Property A.14 (The Lie bracket) The Lie bracket is, by definition, the difference
of the commutative expression of a single function evaluated in two different values
variable.
The Lie bracket of two different CPO is also a a CPO whose argument is the cross
product of original vectors:
 
[a×], [b×] = [a×][b×] − [b×][a×] = [(a × b) ×] (A.20)

Proof The proof follows from the explicit expression of the double product [a×][b×]
given by (A.9) and the commutative product [b×][a×] being:
Appendix A: The Cross Product Operator 377
⎡ ⎤
−b y a y − bz az b y ax bz a x
[b×][a×] = ⎣ bx a y −bx ax − bz az bz a y ⎦
bx az b y az −bx ax − b y a y

Then the Lie bracket yields the skew-symmetric cross product matrix expression:
⎡ ⎤
0 a y b x − a x b y az b x − a x bz
[a×][b×] − [b×][a×] = ⎣ ax b y − a y bx 0 az b y − a y bz ⎦ (A.21)
a x bz − az b x a y bz − az b y 0
⎡⎛ ⎞ ⎤
a y bz − az b y
= ⎣⎝ az bx − ax bz ⎠ ×⎦
ax b y − a y bx
⎡⎛⎡ ⎤ ⎛ ⎞⎞ ⎤
0 −az a y bx
= ⎣⎝⎣ az 0 −ax ⎦ ⎝ b y ⎠⎠ ×⎦
−a y ax 0 bz

Which is indeed the same as expression (A.20). 

This result also proves that the product of two CPO: [a×][b×] is commutative only
if both vectors a and b are co-linear, i.e.a × b = 0.

Property A.15 (External product difference) Also referred in this text as the Lie-
Grassmann identity since it may be expressed as a combination of both Lie bracket
(see below) and the CPO-Grassmann identity (A.8):
   
abT − ba T = −[(a × b) ×] (A.22)

Proof Consider the double CPO product (A.8) for both terms in the Lie bracket:

[a×][b×] = ba T − (a · b)I
[b×][a×] = abT − (a · b)I

From which it is evident that the difference is the Lie bracket expression above such
that expression (A.22) holds. 

Property A.16 (Jacobi identity for the cross product)

a × (b × c) + b × (c × a) + c × (a × b) = 0 ∈ R3 (A.23)
[a×][b×]c + [b×][c×]a + [c×][a×]b = 0 ∈R 3
(A.24)

Proof Consider the first term of the above expressions, written as either of the fol-
lowing forms:
− (b × c) × a
a × (b × c) = [a×][b×]c =
−[(b × c) ×]a
378 Appendix A: The Cross Product Operator

Using the Lie bracket


 property (A.20) in the last expression, this becomes
[a×][b×]c = − [b×][c×] − [c×][b×] a. Then using the anti-commutative prop-
erty (1.99e), (i.e.[a×]b = −[b×]a) this expression yields

[a×][b×]c = −[b×][c×]a − [c×][a×]b

from which it follows that the CPO Jacobi identity (A.24) holds.

Finally writing back last expression to the vector cross product notation it
becomes:
a × (b × c) = −b × (c × a) − c × (a × b)

from which it follows that the cross product Jacobi identity (A.23) also holds. 

Property A.17 (Jacobi identity for the Lie bracket of the CPO)
        
[a×], [b×], [c×] + [b×], [c×], [a×] + [c×], [a×], [b×] = 0 ∈ R3×3
(A.25)

Proof From the Lie bracket property (A.20), it follows that each term in expression
(A.25) can be written as
     
[a×], [b×], [c×] = a × b × c ×
     
[b×], [c×], [a×] = b × c × a ×
     
[c×], [a×], [b×] = c × a × b ×

Then the addition of the three above terms, after the Jacobi identity for the cross
product (A.23) means [0×] = 0, which proves the Jacobi identity for the Lie bracket
of a CPO. 

Property A.18 (The Power of a Product) Any power of the product of two different
CPO is equal to the first power of the product weighted by the power minus 1 of
negative the inner product (dot product) of the two arguments:
n
[a×][b×] = (−a · b)n−1 [a×][b×] (A.26)

Proof The proof follows form property (A.15) and a recursive evaluation starting
with n = 2:
Appendix A: The Cross Product Operator 379

2
[a×][b×] = [a×][b×][a×][b×] = (−a · b)[a×][b×]
3 2 2
[a×][b×] = [a×][b×] [a×][b×] = (−a · b) [a×][b×] = (−a · b)2 [a×][b×]
4 3 2
[a×][b×] = [a×][b×] [a×][b×] = (−a · b)2 [a×][b×] = (−a · b)3 [a×][b×]

An so on, arising (A.26). 

Property A.19 (The vector differentiation of the cross product) The vector differ-
entiation (Jacobian matrix) of a cross product a × b with respect to a vector xRr of
dimension r is composed with the CPO of both vector arguments and both indepen-
dent Jacobians as follows

∂ ∂a ∂b
(a × b) = −[b×] + [a×] ∈ R3×r (A.27)
∂x ∂x ∂x
Proof First notice that the Jacobian of a cross product has columns given by the
scalar differentiation of the argument:
 
∂ ∂ ∂ ∂
(a × b) = (a × b), . . . , (a × b), . . . , (a × b)
∂x ∂x1 ∂xi ∂xr

Then each column is given by the scalar differentiation of expression (A.2) from
which it arise the scalar differentiation identity:
⎛    ⎞
∂az ∂a y ∂bz ∂b y
⎜ − b − b + a − a
∂xi  ⎟
y z y z
⎜  ∂xi ∂xi   ∂xi ⎟
∂ ⎜ ∂ax ∂az ∂bx ∂bz ⎟
(a × b) = ⎜
⎜ − b − b + a − a ⎟
∂xi ⎟
z x z x
∂xi ⎜  ∂xi ∂xi   ∂xi ⎟
⎝ ∂a y ∂ax ∂b y ∂bx ⎠
− bx − by + ax − ay
∂xi ∂xi ∂xi ∂xi
∂a ∂b
= −[b×] + [a×]
∂xi ∂xi

Finally, the column concatenation give rise straightforward expression (A.27). 

A.2 The Diagonal-weighted CPO

Definition A.1 (The Diagonal-weighted CPO) Given a 3D vector a ∈ R3 and a


scalar b ∈ R; the [positive] diagonal-weighted CPO (dw-CPO) of a is the order 3
matrix defined as follows:
Db (a)  bI + [a×] (A.28)

while the [negative] dw-CPO of a is the order 3 matrix defined as follows:


380 Appendix A: The Cross Product Operator

Db (−a)  bI − [a×] = DbT (a)

Lemma A.1 Any diagonal-weighted CPO: Db (±a) is non-singular whenever the


scalar b = 0 is not null.

Proof The non-singularity of the above mentioned dw-CPO is equivalente to having


a non-null determinant:

|Db (±a)| =
bI ± [a×]
= b(b2 + a T a) = 0 (A.29)

Lets write the explicit form of the additions bI + [a×] and bI − [a×] in a single
expression:
⎡ ⎤
  b ∓a3 ±a2
Db (±a) = bI ± [a×] = ⎣ ±a3 b ∓a1 ⎦ (A.30)
∓a2 ±a1 b

Then it is straight forward the calculation of their determinants is the same for both
cases:


bI ± [a×]
= b3 + a1 a2 a3 + (−a1 )(−a2 )(−a3 ) − b(−a12 ) − b(−a22 ) − b(−a32 )
= b(b2 + a12 + a22 + a32 ) = b(b2 + a T a)

which yields expression (A.29), and is of course different from zero for all b = 0. 

Lemma A.2 The inverse of a diagonal-weighted CPO is given as:

1  2 
Db−1 (±a) = b I ∓ b[a×] + aa T (A.31a)
b(b2 + a T a)
1  2 
= (b + a T a)I ∓ b[a×] + [a×]2 (A.31b)
b(b + a a)
2 T

Proof Lets write the explicit form of Db (±a) and calculate its inverse with matrix
algebra.
⎡ ⎤−1
b ∓a3 ±a2
Db−1 (±a) = ⎣ ±a3 b ∓a1 ⎦
∓a2 ±a1 b
⎡ ⎤
b2 + a12 ±a3 b + a1 a2 ∓a2 b + a1 a3
1 ⎣ ∓a3 b + a1 a2
= b2 + a 2 ±a1 b + a2 a3 ⎦
b(b2 + a T a) ±a b + a a ∓a b + a2 a b2 + a32
2 1 3 1 2 3
1  2 
= b I + aa T ∓ b[a×]
b(b + a a)
2 T
Appendix A: The Cross Product Operator 381

which proves directly (A.31a).


 Expression (A.31b) follows straightforward from
property (A.13) (i.e. aa T − [a×]2 = a2 I ). 
Property A.20 (Eigenvalues of a dw-CPO) The eigenvalues of a dw-CPO are explic-
itly given by the set

1 2 1 2
λ{Db (±a)} = b + 3b − a, b, b − 3b − a (A.32)
2 2

Proof Consider the dw-CPO as is (A.30). Then its eigenvalues are given by the roots
of the following expression:


λI − Db (±a)
= 0 (A.33)

Notice that λI − Db (±a) = Dλ−b (∓a). Then by virtue of (A.29), expression (A.33)
becomes






λI − Db (±a)
=
Dλ−b (∓a)
= (λ − b) (λ − b)2 + a T a

= (λ − b) λ2 − 2λb + b2 + a = 0

From which it follows that the roots are


1 2
λ1 = b + 3b − a
2
λ2 = b
1 2
λ3 = b − 3b − a
2
which are the ones of the set in (A.32). 
Corollary: The corollary of last property is that the condition for which all eigen-
values are real numbers is
1
b2 ≥ a
3
Definition A.2 (The Identity-added CPO) The particular case of a Diagonal-
weighted CPO for which the scalar b = 1 is defined to be the Identity-added CPO
or IACPO:
D1 (a) = I + [a×]

Remarks
• From (A.29), the IACPO is non-singular. Even more its determinant is always
positive:




D1 (a)
=
I ± [a×]
= 1 + a T a ≥ 1 > 0 (A.34)
382 Appendix A: The Cross Product Operator

• From (A.31), the IACPO has inverse given as


 −1 1  
I ± [a×] = I + aa T ∓ [a×] (A.35a)
1+a aT

1  
=I+ [a×]2 ∓ [a×] (A.35b)
1 + aT a


Property A.21 (IACPO commutativity) The product of an identity-added CPO with


its inverse-transpose is commutative:
  −1  −1  
I ± [a×] I ∓ [a×] = I ∓ [a×] I ± [a×] (A.36)

Proof Proof is achieved using properties (A.14), (A.35a):


Lets start with the left hand side of (A.36):
  −1 1   
I ± [a×] I ∓ [a×] = I ± [a×] I + aa T
± [a×]
1 + aT a
1  
= I + aa T
± 2[a×] + [a×] 2
(A.37a)
1 + aT a

Then the right hand side of (A.36):


 −1   1   
I ∓ [a×] I ± [a×] = I + aa T
± [a×] I ± [a×]
1 + aT a
1  
= I + aa T
± 2[a×] + [a×]2
(A.37b)
1 + aT a

Comparison of (A.37a) and (A.37b) completes the proof. 

Property A.22 (Orthonormal Matrix after Identity-added product) The product of


an identity-added CPO with its inverse-transpose is a Rotation Matrix for any 3D
vector:
  −1
I ± [a×] I ∓ [a×] =R ∈ S O(3) ∀ a ∈ R3 (A.38)

Proof Consider the following matrix definitions:

A = I ± [a×]
B = I ∓ [a×]

where it happens that A T = B. Then the transpose and the inverse of the product in
the left-hand side of (A.38) becomes respectively
Appendix A: The Cross Product Operator 383

 T
AB −1 = B −T A T = A−1 B
 −1 −1
AB = B A−1 = A−1 B after the commutativity property (A.36)
 T  −1
Then if follows that AB −1 = AB −1 , which means that the product AB −1 is
an orthogonal matrix of order 3, and hence it is a Rotation Matrix for any vector
a ∈ R3 . 

Remarks
• After expression (A.37a) and the use of property (A.13), it arises an alternative
expression form of the previous Rotation matrix (A.38):
  −1 1  
I ± [a×] I ∓ [a×] = I + aa T
± 2[a×] + [a×] 2
1 + aT a
1  
= (1 + a T
a)I + 2[a×]2
± 2[a×]
1 + aT a
(A.39a)
2  
=I+ [a×]2 ± [a×] (A.39b)
1 + aT a
  −1
• Also notice that if we define R(a) = I + [a×] I − [a×] it happens that

R(−a) = R T (a) ∈ S O(3)


Appendix B
Fundamentals of Quaternion Theory

B.1 Quaternions Representation

Quaternions were “discovered” in 1843 by Sir William Hamilton, who was looking
for the extension to 3D space of the complex numbers as rotation operators.

Definition B.1 (Quaternion) A quaternion q ∈ H is defined as a linear combination


expressed in the base {u i j k} ∈ H:

q = q0 u + q1 i + q2 j + q3 k

with real coefficients (q0 , q1 , q2 , q3 ) ∈ R, and for which the base values u, i, j and
k satisfy the following anticommutative identities (also known as Hamilton’s rules
or Hamilton’s identities):

i 2 = j 2 = k 2 = i jk = −u (B.1)
u2 = u (B.2)
i j = − ji = k (B.3)
jk = −k j = i (B.4)
ki = −ik = j (B.5)

Hence, quaternions are general mathematical objects with elements belonging to a 4D


linear space H(R), defined on the real numbers field F = R, with base {u, i, j, k}.

© Springer Nature Switzerland AG 2019 385


E. Olguín Díaz, 3D Motion of Rigid Bodies, Studies in Systems,
Decision and Control 191, https://doi.org/10.1007/978-3-030-04275-2
386 Appendix B: Fundamentals of Quaternion Theory

B.1.1 Analogy with Complex Numbers

Consider the following scalar quaternion base,1 made only with scalar values:
√ √ √
u = 1; i= −1; j= −1; k= −1; (B.6)

In analogy with complex numbers c = a + jb ∈ C, where c = (a, b) is repre-


sented by a couple of reals (a, b) ∈ R, quaternions present the following issues:
1. Quaternions are also represented as a the quadruple

q = (q0 , q1 , q2 , q3 ) ∈ H

2. Quaternions can be defined as hypercomplex numbers, i.e.complex numbers q =


c1 + jc2 ∈ C2 , having complex coefficients c1 = qo + kq3 ∈ C and c2 = q2 +
kq1 ∈ C. Therefore, considering Hamilton’s identities above, it yields:

q = c1 + jc2 = q0 + kq3 + j (q2 + kq1 ) = q0 1 + q1 i + q2 j + q3 k ∈ C2

3. Quaternions may represents in general way:


• Real numbers:
r = (r, 0, 0, 0) : ∀r ∈R

• Complex numbers:

c = a + ib = (a, b, 0, 0); ∀ (a, b) ∈ R

Definition B.2 (Quaternion conjugate) Given a quaternion q = q0 + q1 i + q2 j +


q3 k ∈ H, it exist a conjugate quaternion q ∗ ∈ H, having the same real part and
negative hyper-imaginary part:

q ∗  q0 − q1 i − q2 j − q3 k

Property B.1 (Properties of the quaternion conjugate)


• Conjugate quaternions satisfy: (q ∗ )∗ = q.
• If a quaternions is expressed as an hypercomplex number q = c1 + jc2 ∈ C2 , with
c1 = qo + kq3 ∈ C and c2 = q2 + kq1 ∈ C, its conjugate quaternion is

q ∗ = c1∗ − jc2 = q0 − kq3 − j (q2 + kq1 ) = q0 − q1 i − q2 j − q3 k ∈ C2

1 Notice that this base does not fulfill the skew symmetry conditions in Hamilton identities, hence
it cannot be a quaternion base strictly speaking. However it is a very good initial starting example
providing the sense of hypercomplex numbers.
Appendix B: Fundamentals of Quaternion Theory 387

B.1.2 Analogy with Vector Spaces

In analogy with vector spaces that defines vectors as “column” vectors, we can write
a quaternion with quaternion coordinates as
⎛⎞
q0
⎜ q1 ⎟
q=⎜ ⎟
⎝ q2 ⎠ ∈ R
4

q3

whose basis {u, i, j, k} must define a vector space in H ⊂ R4 . This can have the
following form:
⎛ ⎞ ⎛ ⎞
1   0  
⎜0⎟ 1 ⎜1⎟ 0

u=⎝ ⎠= ⎟ ; ⎜
i =⎝ ⎠=⎟ ;
0 0 0 i
0 0
⎛ ⎞ ⎛ ⎞
0   0  
⎜0⎟ 0 ⎜0⎟ 0

j =⎝ ⎠=⎟ ; ⎜
k=⎝ ⎠= ⎟ ; (B.7)
1 j 0 k
0 1

where i, j , and k are the canonical [Cartesian] basis of 3D Euclidian space, and the
above quaternion basis fulfills Hamilton’s identities within the quaternion product
(see definition in the following section). In this last case, elements {i, j, k} form
an orthonormal base in a cartesian right-handed reference frame through the unit
vectors (i, j , k).2 This basis is a Hamiltonian integer since it is a linear combination
of basis quaternions with integer coefficients (Bona 2009).
Since this basis is suitable to express 3D vectors in R3 : v = (0, v1 , v2 , v3 ); ∀ (v1 ,
v2 , v3 ) ∈ R, then in a general way, the hyperimaginary part of a quaternions can be
expressed as a vectorial part:

q v = q1 i + q2 j + q3 k ∈ R3
= q1 i + q2 j + q3 k ∈ H4

Property B.2 (Properties of quaternion vectors)


• Since quaternions can be seen as vectors, they have norms. In particular the
Euclidian norm can be expressed as

2 Sincequaternions predate the use of vectorial algebra, this is the very first origin from which
orthogonal basis {i, j , k} is used in the 3D Euclidean space with Cartesian coordinates in R3 .
388 Appendix B: Fundamentals of Quaternion Theory
 2
q2 = q02 + q12 + q22 + q32 = q02 + q v  = q02 + q vT q v

• The quaternion conjugate can be expressed as


 
∗ q0
q = ∈ R4
−q v

• Any quaternion q and its conjugate q ∗ have the same norm

q = q ∗ 

• A quaternion with unit norm q = 1 is called unit quaternion.

In resume:

1. Quaternions may also represents, in general way 3D vectors in R3 (with some


caution, since not all vectorial parts represents vectors):

v = (0, v1 , v2 , v3 ); ∀ (v1 , v2 , v3 ) ∈ R

2. Quaternions can be expressed as the addition of a real part q0 ∈ R and a vectorial


part q v ∈ R3 , in either of the following alternative expressions:


⎪q0 u + q1 i + q2 j + q3 k;



⎪ (q0 , q1 , q2 , q3 );


⎨(q , q );
0 v
q=




q0 v ;
+ q




q0

qv

B.1.3 Alternative Quaternion Basis

Basis defined with scalar or vector is not the only way to express a quaternion basis.
For instance consider the following examples

B.1.3.1 Cayley Matrices

Consider the following quaternion basis in H2×2 :


       
1 0 i 0 0 1 0 i
u= ; i= ; j= ; k= (B.8)
0 1 0 −i −1 0 i 0
Appendix B: Fundamentals of Quaternion Theory 389

where i = −1 is the imaginary complex variable. This set fulfill Hamilton’s iden-
tities and are called Cayley matrices, used to describe Cayley–Klein parametrization
of rotation (Goldstein 1950).

B.1.3.2 Order 4 Matrices

Consider the following quaternion basis in H4×4 :


⎡ ⎤ ⎡ ⎤
1 0 0 0 0 −1 0 0
⎢ 0 1 0 0⎥ ⎢ 1 0 0 0⎥
u=⎢⎣ 0 0 1
⎥; i =⎢ ⎥
⎣ 0 0 0 −1 ⎦ ;
0⎦
0 0 0 1 0 0 1 0
⎡ ⎤ ⎡ ⎤
0 0 −1 0 0 0 0 −1
⎢ 0 0 0 1⎥ ⎢ 0 0 −1 0 ⎥
j =⎢
⎣ 1 0 0
⎥; k=⎢⎣ 0 1 0 0⎦;
⎥ (B.9)
0⎦
0 −1 0 0 1 0 0 0

This basis is indeed a Hamiltonian integer, since it is defined uniquely with integer
coefficients.

B.2 The Quaternion’s Group

B.2.1 The Quaternion Addition

Definition B.3 (The quaternion addition) Given two quaternions

h = h0u + h1i + h2 j + h3k ∈ H


g = g0 u + g1 i + g2 j + g3 k ∈ H

the addition h + g is defined, for any of the above alternative representations, as


follows:

h + g  (h 0 + g0 )u + (h 1 + g1 )i + (h 2 + g2 ) j + (h 3 + g3 )k
 (h 0 + g0 , h 1 + g1 , h 2 + g2 , h 3 + g3 )
 (h 0 + g0 ) + (hv + g v )
 
h 0 + g0
 ∈H
hv + g v
390 Appendix B: Fundamentals of Quaternion Theory

Property B.3 The quaternion addition is associative:

(q + g) + h = q + (g + h)

Property B.4 The null quaternion:


 
0
0q  (0)u + (0)i + (0) j + (0)k = (0, 0) = 0 + 0 = (0, 0, 0, 0) = ∈H
0

is such that the sum of a quaternion with the null element is the quaternion itself:

q + e+ = e+ + q = q

Property B.5 The inverse element for the quaternion addition is its negative: −q ∈
H such that the addition with q is the null element:

q + (−q) = 0q

Property B.6 The quaternion addition is commutative:

g+h = h+g

Proof Proofs of the above properties follow straight forward from the quaternion
addition definition. 

Remark According to Definition 1.2 and after the above mentioned properties, all
the quaternions, with any base, form a commutative group (Abelian group) with
respect to the operation of addition, with the null quaternion as the identity element
e + = 0q . 

B.2.2 The Quaternion Product

Definition B.4 (The quaternion-Hamiltonian-product ⊗) Given two quaternions


(h, g) ∈ H the product of two quaternions is defined as follows:

h ⊗ g  (h 0 u + h 1 i + h 2 j + h 3 k)(g0 u + g1 i + g2 j + g3 k) ∈ H

which after proper algebra manipulation, using identities (B.1)–(B.5), the quaternion
product can be written in either of the above alternative representations:
Appendix B: Fundamentals of Quaternion Theory 391

h ⊗ g = (h 0 g0 − h 1 g1 − h 2 g2 − h 3 g3 )u +
(h 0 g1 + h 1 g0 + h 2 g3 − h 3 g2 )i +
(h 0 g2 − h 1 g3 + h 2 g0 + h 3 g1 ) j +
(h 0 g3 + h 1 g2 − h 2 g1 + h 3 g0 )k
 
h 0 g0 − hv · g v
= (B.10)
h 0 g v + g0 hv + hv × g v

Remarks
• The symbol “⊗” is normally used when the quaternion product is used with other
types of products. It is also omitted when it is clear that all products in the same
expression are the quaternion product.
• In the light of the quaternion product, the quaternion base {u, i, j, k} in (B.7) fulfils
Hamilton identities under the fulfillment of the cross product identities (1.92) of
unit vectors i, j , k, for a 3D right-handed orthogonal frame. 

Property B.7 The quaternion product is associative:

q ⊗ h ⊗ g = (q ⊗ h) ⊗ g = q ⊗ (h ⊗ g) (B.11)

Proof The last follows straight forward form quaternion product definition (B.10)
and the use of 3D vector properties (1.96). 

Property B.8 The quaternion product is non commutative, with the exception for
quaternions whose vectorial elements fulfills a null cross product (either one being
null or both being parallel):

h⊗g =g⊗h iff hv × g v = 0

Proof Consider the product


 
g0 h 0 − g v · hv
g⊗h=
g0 hv + h 0 g v + g v × hv

Which would be equal to h ⊗ g (expressed by (B.10)) if hv × g v = g v × hv . Then


both necessarily and sufficient condition are that the cross product hv × g v = 0 must
be null. 

Property B.9 The product q ⊗ q ∗ is commutative and equals to the square Euclidean
norm:
q ⊗ q ∗ = q ∗ ⊗ q = (q2 , 0, 0, 0) = q2 ∈ R (B.12)

Proof It arise straight forward after the quaternion product expression (B.10). 
392 Appendix B: Fundamentals of Quaternion Theory

Property B.10 The quaternion norm is multiplicative:

h ⊗ g = h g

Proof It follows straightforward from Euler’s Four-square identity (Weisstein 2013):

(a12 + a22 + a32 + a42 )(b12 + b22 + b32 + b42 )


= (a1 b1 − a2 b2 − a3 b3 − a4 b4 )2 + (a1 b2 + a2 b1 + a3 b4 − a4 b3 )2
+(a1 b3 − a2 b4 + a3 b1 + a4 b2 )2 + (a1 b4 + a2 b3 − a3 b2 + a4 b1 )2

and definitions for both the quaternion product and the Euclidean norm. 

Property B.11 The conjugate of a quaternion product satisfies

(h ⊗ g)∗ = g ∗ ⊗ h∗

Proof It follows straightforward from the quaternion product definition. Notice that
the commutation in the right-hand side must be performed due to the cross product
anti-commutative property. 

Property B.12 The identity quaternion:


 
1
1q  (1)u + (0)i + (0) j + (0)k = (1, 0) = 1 + 0 = (1, 0, 0, 0) = ∈H
0

is such that the product of a quaternion with the identity quaternion is the quaternion
itself
q ⊗ 1q = 1q ⊗ q = q

Property B.13 The inverse element for the quaternion product is the reciprocal
quaternion:
1 ∗
q −1  q ∈H (B.13)
q2

such that
q ⊗ q −1 = q −1 ⊗ q = 1q

Property B.14 The reciprocal of a quaternion satisfies

(q −1 )−1 = q
 
Proof Notice that q −1  = 1/q. Then last property arise after definition
(B.13). 
Appendix B: Fundamentals of Quaternion Theory 393

Property B.15 The reciprocal of a quaternion product of any two different quater-
nions (h, g) ∈ H, satisfies

(h ⊗ g)−1 = g −1 ⊗ h−1

Remark Similar to the addition, according to Definition 1.2 and after the above
mentioned properties, all the quaternions, with any base, form a (non-commutative)
group with respect to the quaternion product, with the identity quaternion as the
identity element e⊗ = 1q . 
Property B.16 The quaternion product presents the distributive property with
respect to the quaternion addition ∀ (h, g, q) ∈ H:

left distributivity h ⊗ (g + q) = h ⊗ g + h ⊗ q
right distributivity (g + q) ⊗ h = g ⊗ h + q ⊗ h

Property B.17 (Quaternion Ring) Since the quaternion group is both a group w.r.t.
quaternion addition and w.r.t. Hamiltonian product and the last presents the dis-
tributive property with respect to the first, according to Definition 1.3, the quaternion
group is also a non commutative ring.

B.3 Quaternion’s Algebra

B.3.1 The Quaternion Product Operators

Notice that the quaternion product hg can be written in matrix algebra as follows:

h ⊗ g = FL (h)g
= FR (g)h

where the operators FL (q) ∈ R4×4 and FR (q) ∈ R4×4 stand for the left quaternion
product and right quaternion product operators respectively, and are defined explic-
itly as
⎡ ⎤
  q0 −q1 −q2 −q3
q0 −qvT  ⎢ q1 q0 −q3 q2 ⎥
FL (q)  =⎢
⎣ q2
⎥ (B.14)
qv q0 I + q v × q3 q0 −q1 ⎦
q3 −q2 q1 q0

⎡ ⎤
  q0 −q1 −q2 −q3
q0 −qvT  ⎢ q1 q0 q3 −q2 ⎥
FR (q)  =⎢
⎣ q2
⎥ (B.15)
qv q0 I − q v × −q3 q0 q1 ⎦
q3 q2 −q1 q0
394 Appendix B: Fundamentals of Quaternion Theory

B.3.1.1 Properties of the Quaternion Product Operators

Property B.18 The quaternion product operators are linear operators and satisfy

FL (ag + bh) = a FL (g) + bFL (h)


FR (ag + bh) = a FR (g) + bFR (h)

Proof It follows straightforward from definitions (B.14)–(B.15). 


Property B.19 when evaluated with the conjugate argument, the quaternion prod-
uct operators equals their transpose:

FL (q ∗ ) = FLT (q)
FR (q ∗ ) = FRT (q)

Proof It follows straightforward from definitions (B.14)–(B.15). 


Property B.20 Both quaternion product operators are orthogonal matrices (but not
orthonormal):

FL (q)FLT (q) = FLT (q)FL (q) = q2 I4


FR (q)FRT (q) = FRT (q)FR (q) = q2 I4

Proof Orthogonality follows straightforward from definitions (B.14)–(B.15). The


value of α follows after the product
  
q0 −qvT  q0 q vT 
FL (q)FLT (q) =
q v q0 I + q v × −q v q0 I − q v ×
  
q0 + q v q v
2 T
q0 q vT − q0 q vT + q vT q v ×
=    2
q0 q v − q0 q v + q v × q v q v q vT + q02 I − q v ×

which after identity (1.99l) i.e.[a×]2 = aa T − a2 I , last expression is reduced to


 2
= (q02 + q v  )I4 = q2 )I4

The same procedure for the products FLT (q)FL (q), FR (q)FRT (q) and FRT (q)FR (q)
completes the proof. 
Property B.21 The inverse of any quaternion product operators is given as follows

1 1
FL−1 (q) = F T (q) =
2 L
F (q ∗ ) = FL q −1
2 L
q q
1 1
FR−1 (q) = F T (q) =
2 R
F (q ∗ ) = FR q −1
2 R
q q
Appendix B: Fundamentals of Quaternion Theory 395

Proof After the orthogonal Property B.20, the product 1


F T (q) is both left and
q2 L
right quotient of FL (q). Hence it is the inverse matrix of FL (q). The second equality
arises from Property B.19. Finally, last equality arises from the reciprocal quaternion
definition (B.13).
The same applies for FR (q). 
Property B.22 The Determinant of both quaternion product operators is the same
and equals the 4th power of the norm of the given quaternion:

|FL (q)| = |FR (q)| = q4 (B.16)

Proof Notice that the right-lower block


 matrix in either FL or FR is a diagonal-
weighted CPO: Dq0 (±q v ) = q0 I ± q v × as defined in (A.28):
   
q0 −q vT q0 −q vT
FL (q) = ; FR (q) =
q v Dq0 (q v ) q v Dq0 (−q v )

whose determinant and inverse, given by (A.29) and (A.31) are:




Dq (q v )
= q0 (q 2 + q T q v ) = q0 q2
0 0 v
1     1     2 
−1
Dq0 (q v ) = q02 I ∓ q0 q v × + q v q vT = q2 I ∓ q0 q v × + q v ×
q0 q 2
q0 q 2

From the determinant of a block matrix (1.39), if follows that



|FL (q)| = q0 + q vT Dq−1 (q v )q v



Dq (q v )

0
 0

1  2  
= q0 + − × + v q0 q
T T 2
q v q 0 I q 0 vq q q
v v q
q0 q2

= q02 q2 + q02 + q vT q v q vT q v = q4

and in the same procedure applies for FR (q) as



|FR (q)| = q0 + q vT Dq−1 (−q v )q v


Dq0 (−q v )

 0

1  2  
= q0 + + × + v q0 q
T T 2
q v q 0 I q 0 vq q q
v v q
q0 q2

= q02 q2 + q02 + q vT q v q vT q v = q4


Property B.23 The quaternion product operators becomes skew symmetric matri-
ces when the quaternion argument represents a pure 3D vector:

FL (q v ) + FLT (q v ) = 0
FR (q v ) + FRT (q v ) = 0
396 Appendix B: Fundamentals of Quaternion Theory

Proof It follows straightforward definition of the quaternion product operator. 


Property B.24 The left product operator FL (q) can be expressed as the quaternion
q = (q0 , q1 , q2 , q3 ) under the base given in (B.9) in H4×4 :

FL (q) = q0 u + q1 i + q2 j + q3 k ∈ H4×4

Proof Notice that the basis given in (B.9) in H4×4 fulfils the Hamilton identities. 
Remark Notice that the right product operator FR (·) leads to a left-handed basis,
i.e.i 2 = j 2 = k 2 = k ji = −u; an in consequence is not a quaternion basis. 

B.3.2 The Quaternion Exponential Function

Definition B.5 (The quaternion exponential) The exponential mapping of a [hyper-


complex] quaternion a = (r, v) = r u + v1 i + v2 j + v3 k ∈ H is defined as an exten-
sion of the Euler identity of complex numbers:

e a = er +v = er ev = er ev̂α
 er (cos(α), v̂ sin(α)) (B.17)

where
'  
v v
α = v = v12 + v22 + v32 > 0 and v̂ = = ⇒ v̂ = 1;
α v

Then the exponential mapping q = (q0 , q v ) = e(r,v) ∈ H is also a quaternion, with


quaternion coordinates (q0 , q1 , q2 , q3 ) given as

q0 = er cos(v) (B.18a)
v1
q1 = er sin(v) (B.18b)
v
v2
q2 = er sin(v) (B.18c)
v
v3
q3 = er sin(v) (B.18d)
v

B.3.2.1 Properties of the Quaternion Exponential

Property B.25 The norm of the resulting quaternion is given solely by the real part
of the domain quaternion:  (r,v) 
e  = q = er (B.19)
Appendix B: Fundamentals of Quaternion Theory 397

 seen that the exponential e r = (cos(α),


v̂α
Proof From definition (B.17) if can be
v̂ sin(α)) is a unit quaternion since v̂ = 1. Then the exponential e is the scalar
factor that normalize the resulting quaternion being is its norm. 

Remark The quaternion exponential mapping of pure 3D vector gives unit quater-
nions. 

Property B.26 (The quaternion Polar decomposition) Any quaternion q ∈ H has


the following polar decomposition:

q = qev̂α = q cos(α), v̂ sin(α) (B.20)

for a positive scalar α ∈ R and the unit vector v̂ ∈ R3 given as


 
α = arctan2 q v , q0 ∈ [0, π] (B.21a)
1
v̂ = q ∀ α = {0, π}
sin(α)q v
(B.21b)

Proof This polar decomposition is the inverse mapping of the quaternion exponen-
tial, and can be computed as follows.
1. From (B.18a) and property (B.19) it follows: q0 = q cos α.
2. From expressions (B.18b)–(B.18d) it follows: q v = qv̂ sin α,
from which
  (B.21b) is directly deduced.  
3. Since v̂ = 1, last identity yields:  
 q v = q sin α, ∀α ≥ 0,
q v  sin α
from which the following ratio arise: = = tan α
q0 cos α
4. Since q0 may be negative, the quadrant sensitive arctan2 function (defined in
(4.15)) is used to compute (B.21a).
5. Finally (B.20) follows straightforward from (B.19) and (B.17). 

Property B.27 (The power of a quaternion) Any power of a given quaternion q ∈ H


can be computed with the extension of Moivre’s identity to hypercomplex numbers
as
q n = qn en v̂α = qn cos(nα), v̂ sin(nα)

Proof Follows straightforward from definition (B.17). 

B.3.3 Transformations with Quaternions

For any two different quaternions q, p ∈ H, consider the following triple product

q pq ∗ ∈ H (B.22)
398 Appendix B: Fundamentals of Quaternion Theory

From the right and left quaternion product operators, notice that the above triple
product can be written as

q pq ∗ = q( pq ∗ ) = FL (q)FR (q ∗ ) p = Q p

From last expression it is clear that the triple product transforms quaternion p
into a new coordinates, through the transformation matrix Q  FL (q)FR (q ∗ ). From
definitions (B.14)–(B.15) and its properties, it follows that the order 4 matrix Q is
given as

Q = FL (q)FR (q ∗ ) = FL (q)FRT (q)


  
q0 −qvT  q0 q vT 
=
q v q0 I + q v × −q v q0 I + q v ×
 2 
q0 + q v q v
T
0
=    2
0 q v q vT + q02 I + 2q0 q v × + q v ×
 
q2 0
=
0 Q 22

where the transformed quaternion p = q pq ∗ = ( p0 , pv ) has the following shape:
 
 q2 p0
p =
Q 22 (q) pv

Remarks Notice that:


1. The Q matrix, after Property B.20 is orthogonal:

Q Q T = FL (q)FRT (q)FR (q)FLT (q) = q2 FL (q)FLT (q) = q4 I4


Q T Q = FR (q)FLT (q)FL (q)FRT (q) = q2 FR (q)FRT (q) = q4 I4

from which it arise that the lower-right block submatrix Q 22 is also orthogonal:
T
Q 22 Q 22 = Q 22
T
Q 22 = q4 I

2. The lower-right block matrix Q 22 can be expressed with either of the following
succinct forms (by virtue of property (1.99l) i.e.[a×]2 = aa T − a2 I ):
   2
Q 22 (q) = q v q vT + q02 I + 2q0 q v × + q v × (B.23a)
   2
= q2 I + 2q0 q v × + 2 q v × (B.23b)
 2    
= (q02 − q v  )I + 2q0 q v × + 2 q v q vT (B.23c)

or explicitly as
Appendix B: Fundamentals of Quaternion Theory 399
⎡ ⎤
q02 + q12 − q22 − q32 2(q1 q2 − q0 q3 ) 2(q1 q3 + q0 q2 )
Q 22 (q) = ⎣ 2(q1 q2 + q0 q3 ) q02 − q12 + q22 − q32 2(q2 q3 − q0 q1 ) ⎦
2(q1 q3 − q0 q2 ) 2(q2 q3 + q0 q1 ) q0 − q12 − q22 + q32
2

(B.23d)

3. The determinant of Q is:

after property (B.16) : |Q| = |FL (q)| |FR (q ∗ )| = q8


or after block matrices determinant (1.39) : = q2 |Q 22 |

Then it follows that the determinant of the lower-right block matrix Q 22 is indeed

|Q 22 | = q6

4. The order 3 matrix Q 22 transforms the vectorial part of the original quaternion,
while the norm of q scales its real part. Then if the corresponding argument is a
unit quaternion, the transformation matrix Q 22 is a rotation matrix (with positive
unit determinant):
Q 22 ∈ S O(3) ⇔ q = 1

with
   2
R(q) = I + 2q0 q v × + 2 q v × (B.24)
⎡ ⎤
1 − 2(q22 + q32 ) 2(q1 q2 − q0 q3 ) 2(q1 q3 + q0 q2 )
= ⎣ 2(q1 q2 + q0 q3 ) 1 − 2(q12 + q32 ) 2(q2 q3 − q0 q1 ) ⎦ (B.25)
2(q1 q3 − q0 q2 ) 2(q2 q3 + q0 q1 ) 1 − 2(q12 + q22 )

Under the unit quaternion condition the diagonal elements can be written in either
of the following forms:

r11 = q02 + q12 − q22 − q32 = 1 − 2(q22 + q32 ) = 2(q02 + q12 ) − 1


r22 = q02 − q12 + q22 − q32 = 1 − 2(q12 + q32 ) = 2(q02 + q22 ) − 1
r33 = q02 − q12 − q22 + q32 = 1 − 2(q12 + q22 ) = 2(q02 + q32 ) − 1

5. Also If q is a unit quaternion, the order 4 matrix Q ∈ S O(4) is a rotation matrix


for quaternions in H: Q Q T = I ⇒ Q T = Q −1 , arising the product

p = q pq ∗  p0 = p0 and pv = R(q) pv

6. If q −1 is used instead of q ∗ in (B.22), there is no need to have a unit quaternion


since the reciprocal operation normalizes every term in the transformation in the
same way as it would be performed with unit quaternion, with the following
equivalence
400 Appendix B: Fundamentals of Quaternion Theory

p = q pq −1 = ε pε∗  p0 = p0 and pv = R(ε) pv

for the normalized unit quaternion:


q
ε
q

While rotations performed with quaternions operations does not need them to be
unit quaternions, rotations performed with linear operators of the S O(3) group do
need to be defined with unit quaternions to fulfill its required properties.
Appendix C
Extended Operators

C.1 The Spacial Vector’s Cross Product Operator

Consider the following spacial vectors a, b ∈ R6 , such that


   
a1 b1
a= , b= (a1 , a2 , b1 , b2 ) ∈ R3
a2 b2

From definition (6.26), the spatial operator (a) ∈ R6×6 is defined as


 
[a2 ×] [a1 ×]
(a)  T (a1 ) +  R (a2 ) =
0 [a2 ×]

where the operators T (a1 ) and  R (a2 ) are defined, respectively, by expressions
(6.21) and (6.8):
 
0 [a1 ×]
T (a1 ) = ∈ R6×6 (C.1)
0 0
 
[a2 ×] 0
 R (a2 ) = ∈ R6×6 (C.2)
0 [a2 ×]

These operators present the following properties

Property C.1 (Powers of T )



⎨ I if n = 0
T n (a1 ) = T (a1 ) if n = 1 (C.3)

0 if n ≥ 2

Proof It is sufficient to prove T 2 (a1 ) = 0, then the rest of the increasing powers
will follow recursively. The last follows straightforward form expression (C.1). 

© Springer Nature Switzerland AG 2019 401


E. Olguín Díaz, 3D Motion of Rigid Bodies, Studies in Systems,
Decision and Control 191, https://doi.org/10.1007/978-3-030-04275-2
402 Appendix C: Extended Operators

Property C.2 (Orthogonality in )

(a)a = 0 (C.4)

Proof It follows from direct inspection:


    
[a2 ×] [a1 ×] a1 a2 × a1 + a1 × a2
= =0
0 [a2 ×] a2 a2 × a2

Property C.3 (Anti-commutativity in )

(a)b = −(b)a (C.5)

Proof It follows from direct inspection:


    
[a2 ×] [a1 ×] b1 a2 × b1 + a1 × b2
(a)b = =  c (C.6)
0 [a2 ×] b2 a2 × b2
  
[b2 ×] [b1 ×] a1
=−
0 [b2 ×] a2

Property C.4 (The induced norm of ) The induced Euclidean norm of  is


bounded by the Euclidian norm of its argument spacial vector

(a) ≤ a (C.7)

Proof First consider the square value of the norms of vector a, b, and the product
a b:

a2 = a1 2 + a2 2 ; b2 = b1 2 + b2 2 ;


a2 b2 = a1 2 b1 2 + a1 2 b2 2 + a2 2 b1 2 + a2 2 b2 2

Notice, after (C.6) that the square value of the norm of the product c = (a)b is
bounded as:

(a)b2 = a2 × b1 + a1 × b2 2 + a2 × b2 2


≤ a2 2 b1 2 + a1 2 b2 2 + a2 2 b2 2 ≤ a2 b2
Appendix C: Extended Operators 403

Then it follows that the induced norm is also bounded

(a)b2 a2 b2


(a)2 = ≤
b 2
b2

from which it arise straightforward the bound (C.7). 

Property C.5 (Lie Bracket in )

(a)(b) − (b)(a) =  ((a)b) (C.8)

Proof First consider the double product (a)(b):


    
[a2 ×] [a1 ×][b2 ×] [b1 ×] [a2 ×][b2 ×] [a2 ×][b1 ×] + [a1 ×][b2 ×]
=
0 [a2 ×] 0 [b2 ×] 0 [a2 ×][b2 ×]
(C.9)
and the commutative product:
    
[b2 ×] [b1 ×] [a2 ×] [a1 ×] [b2 ×][a2 ×] [b2 ×][a1 ×] + [b1 ×][a2 ×]
=
0 [b2 ×] 0 [a2 ×] 0 [b2 ×][a2 ×]

and their difference, using the Lie Bracket property of the CPO (A.20) becomes:
 
[(a2 × b2 )×] [(a2 × b1 )×] + [(a1 × b2 )×]
(a)(b) − (b)(a) =
0 [(a2 × b2 )×]

Last expression is indeed (c) where c has been defined in (C.6); which leads directly
to property (C.8). 

Property C.6 (Dual Skew Symmetric product )

T (a)b = S(b)a (C.10)


S(b) + S T (b) = 0 (C.11)

where S(b) as another 6 × 6-dimension operator, depending on an extended vector


b ∈ R6 , defined in (6.29) such as:
 
0 [b1 ×]
S(b)  ∈ R6×6
[b1 ×] [b2 ×]

Proof Consider the product T (a)(b) in explicit form:


    
−[a2 ×] 0 b1 b1 × a2
=
−[a1 ×] −[a2 ×] b2 b1 × a1 − b2 × a2
404 Appendix C: Extended Operators

Notice after definition of operator S(·) that the last expression can be written in
succinct form as in (C.10). 

Property C.7 (Square power of )


 
0 [a1 ×][a2 ×] + [a2 ×][a1 ×]
 (a) =  R (a) +
2 2
(C.12)
0 0

Proof It arises straightforward from the double product expressions (C.2) and
(C.9). 

C.2 The Extended Rotation R

The Extended Rotation (ER) R(R) is defined by expression (6.6) as follows:


 
R 0
R(R)  ∈ R6×6
0 R

where the Rotation matrix R ∈ S O(3) is a Special Orthonormal matrix of order 3,


that fulfils the following conditions:
1. It can be expressed as the span of a basis vectors r i ∈ R3 , ∀i = {1, 2, 3}:

R = [r 1 , r 2 , r 3 ]

2. Condition r i · r j = 0 ∀ i = j, given in Property 3.3 in Sect. 3.2), establish the


orthogonality condition between each column vector of the basis that forms the
Rotation matrix.
3. Condition r i · r j = 1 ∀ i = j, given in Property 3.3 in Sect. 3.2), establish the
unit magnitude condition of each column vector (unit normalized).
4. Condition |R| = 1, given in Property 3.4 in Sect. 3.2), establish the right-hand
rule for the definition of the corresponding basis of the rotation matrix and is
equivalent to

r1 × r2 = r3
r2 × r3 = r1
r3 × r1 = r2

5. In consequence of the above conditions, the following property, given as Property


3.1 in Sect. 3.2), arise:
R −1 = R T
Appendix C: Extended Operators 405

Property C.8 (Orthonormal Matrix) The extended rotation belongs to a set of Spe-
cial Orthonormal matrices or order 6

R(R) ∈ S O(6) (C.13)

Proof Since its definition It is by construction and properties of the rotation matrix
is a 6 dimension orthonormal matrix and hence define a Special Orthogonal matrix
of order 6 (S O(6)), with the following important 

Property C.9 (Orthonormal Matrix)

R−1 (R) = RT (R) = R(R T ) (C.14)

Proof The Extended Rotation R(R) is defined by expression (6.6) as follows:


 
R 0
R(R)  ∈ S O(6) ⊂ R6×6 (C.15)
0 R

It is by construction and properties of the rotation matrix is a 6 dimension orthonor-


mal matrix and hence define a Special Orthogonal matrix of order 6 (S O(6)), with
the following important 

Property C.10 (Exponential Mapping of R)

R(R) = e R (λϑ) (C.16)

Proof From the exponential matrix definition (1.32), it follows

∞ ∞  
1 1 [λ×]n ϑn 0
e R (λϑ) =  R n (λϑ) =
n! n! 0 [λ×]n ϑn
n=0 n=0
 (∞ 1 
n=0 n! [λ×] ϑ
n n
= (∞ 1 0
n=0 [λ×] ϑ
n n
0
) *  n! 
e[λ×]ϑ 0 R 0
= [λ×] ϑ
= = R(R)
0 e 0 R

Property C.11 (Time derivative of R) The time derivative of the Extended Rotation
can be written with the angular velocity of the rotated frame expressed in either the
base frame or the rotated frame:

Ṙ(R) =  R ω (0) R(R) (C.17a)

= R(R) R ω (1) (C.17b)
406 Appendix C: Extended Operators

Proof It follows straight-forward after the diagonal block matrix definition (6.8) of
 R , the diagonal block definition (6.6) of the extended rotation matrix R, and the
angular velocity identities (3.55). 

C.3 The Translation Operator T

The Extended Translation Operator (ETO) T (d) is defined by expression (6.17) as


follows:
 
I3 −[d×]
T (a)  (C.18a)
0 I3
= I − T (d) (C.18b)

where the vector d ∈ R3 is the 3D translation from the base point to the target point,
both points expressed in the same referential frame.
Property C.12 (The identity element of of T ) The identity element of a TO is given
by a translation of a null vector
T (0) = I6 (C.19)

Proof yields from definition (C.18). 


Property C.13 (Associativity of T ) The product of two TO’s is the same as one
single TO using a vector which is the addition of the two original translations

T (d 1 )T (d 2 ) = T (d 1 + d 2 ) (C.20)

Proof
      
I3 − [d 1 ×] I3 − [d 2 ×] I − [d 2 ×] − [d 1 ×] I − [(d 1 + d 2 )×]
= 3 = 3
0 I3 0 I3 0 I3 0 I3


Property C.14 (Commutativity of T ) The product of multiple TO’s is commutative

T (d 1 )T (d 2 ) = T (d 2 )T (d 1 ) (C.21)

Proof Using property (C.20) this commutative property is proven 


Property C.15 (The inverse element of T ) The inverse of a TO is the same operator
but using the translation vector in opposite direction
 
I3 [d×]
T (d)−1 = T (−d) = (C.22)
0 I3
Appendix C: Extended Operators 407

Proof It follows straight-forward after the inverse of a block matrix (1.40). Alterna-
tively, last property is proven using Properties C.12 and C.13 as

T (d)T (−d) = T (−d)T (d) = I

which proves that T (−d) is the product complement of T (d) and as consequence
its inverse product operator. 

Property C.16 (Powers of T ) The n th power of a TO is a TO made with n-times the


distance of the original TO, for any integer n

T n (d) = T (nd) (C.23)

Proof It follows after simple concatenation:


⎛ ⎞

T n (d) = T (d)T (d) · · · T (d) = T ⎝+d + d + ⎠


,-· · · + d. = T (nd)
+ ,- .
n n

Property C.17 (Exponential mapping of T ) Any TO has an exponential mapping


given by the operator T evaluated in the original distance of the TO.

T (d) = e−T (d) (C.24)

Proof Consider the definition of the exponential matrix (1.32) together with property
(6.22). The Taylor series becomes definition (C.18b) which establishes the exponen-
tial mapping (C.24). 

Property C.18 (The time derivative of T ) The time derivative of a TO is given by


the operator T evaluated with the time derivative the original distance of the TO.

Ṫ (d) = −T ( ḋ) (C.25)

Proof Follows straightforward from definition (C.18b). 

Property C.19 (Range space projection of the time derivative of T ) Notice that time
derivative of operators T has both left-hand side and right-hand side idem-potence
property:

Ṫ (d 1 )T n (d 2 ) = T n (d 2 )Ṫ (d 1 ) = Ṫ (d 1 ) (C.26)

for any integer n ∈ N


408 Appendix C: Extended Operators

Proof Lets consider n = 1, such that the following product is always true:
       
I − d (0) × 0 − v(0) × 0 − v(0) ×
T (d)Ṫ (d) = =
0 I 0 0 0 0

Then expression (C.26) can be stated as:


      
I −[d 1 ×] 0 − d˙2 × 0 − d˙2 ×
T (d 1 )Ṫ (d 2 ) = = = Ṫ (d 2 )
0 I 0 0 0 0
      
0 − d˙2 × I −[d 1 ×] 0 − d˙2 ×
Ṫ (d 2 )T (d 1 ) = = = Ṫ (d 2 )
0 0 0 I 0 0

By recursion it follows that the above expression is valid for all positive integers
n ∈ Z+ . For n = 0, the proof is trivial since A0 = I . Finally for negative integers
n < 0 the proof also stands because of property (C.22), i.e.: T (d)−1 = T (−d). 

C.4 Properties of products of Extended Operators

Consider (a, b) ∈ R6 ; r ∈ R3 , such that


   
a1 b1
a= , b= (a1 , a2 , b1 , b2 , r) ∈ R3
a2 b2

Property C.20 (R as a similarity transformation of ) The spacial vector oper-


ator (·) of a transformed spacial vector Ra is equal as the following similarity
transformation:

R(R)(a)RT (R) =  (R(R)a) (C.27)

Proof This follows from direct inspection in the expanded algebraic expression and
property (3.15) of the CPO:
   
R 0 [a2 ×] [a1 ×] RT 0
R(R)(a)R (R) = T
0 R 0 [a2 ×] 0 RT
 
R[a2 ×]R TR[a1 ×]R T
=
0 R[a2 ×]R T
 
[(Ra2 )×] [(Ra1 )×]
= = (Ra)
0 [(Ra2 )×]

Which fulfills expression (C.27). 


Appendix C: Extended Operators 409

Property C.21 (R as a similarity transformation of S) The spacial vector oper-


ator S(·) of a transformed spacial vector Ra is equal as the following similarity
transformation:

R(R) S(b) RT (R) = S (R(R)b) (C.28)

Proof Again this follows straightforward from the expanded algebraic expression
and property (3.15) of the CPO:
   
R 0 0 [b1 ×] RT 0
R(R)S(b)R (R) =
T
0 R [b1 ×] [b2 ×] 0 RT
 
0 R[b1 ×]R T
=
R[b1 ×]R T
R[b2 ×]R T
 
0 [(Rb1 )×]
= = S(Rb)
[(Rb1 )×] [(Rb2 )×]

Which fulfills expression (C.28). 

Property C.22 (R as a similarity transformation of T ) The extended translation


T (·) of a transformed 3D vector Rr is equal as the following similarity transforma-
tion:

R(R)T (r)RT (R) = T (Rr) (C.29)

Proof This follows straightforward from the expanded algebraic expression and
properties (3.8) of the Rotation matrix and (3.15) of the CPO:
   T 
R 0 I −[r×] R 0
R(R)T (r)RT (R) =
0 R 0 I 0 RT
 
R R −R[r×]R
T T
=
0 R RT
 
I −[(Rr)×]
= = T (Rr)
0 I

Which fulfills expression (C.29). 

Property C.23 (T as a similarity transformation of )

T (r)(a)T −1 (r) =  (T (r)a) (C.30)

Proof It is achieved from direct evaluation. First consider explicitly the product
410 Appendix C: Extended Operators
   
I −[r×] [a2 ×] [a1 ×] I [r×]
T (r)(a)T −1 (r) =
0 I 0 [a2 ×] 0 I
 
[a2 ×] [a2 ×][r×] + [a1 ×] − [r×][a2 ×]
= after property (A.20)
0 [a2 ×]
 
[a2 ×] [(a1 + a2 × r)×]
=
0 [a2 ×]

Notice that
      
a1 + a2 × r a1 − r × a2 I −[r×] a1
= = = T (r)a
a2 a2 0 I a2

Then (C.30) holds. 



Remark Notice that T T (r)(a)T −T (r) =  T T (r)a , and thus T T (r) is not a
similarity transformation of . 

Property C.24 (Symmetry of T in S)



T T (r) S(b) T (r) = S T T (r)b (C.31)

Proof First Consider the transpose of property (C.30):


 T
T (T (r)a) = T (r)(a)T −1 (r)
= T −T (r)T (a)T T (r)

Second, notice that the product

S(b)T (r)a = T (T (r)a) b


= T −T (r)T (a)T T (r)b

= T −T (r)S T T (r)b a

Then (C.31) is true. 

Remark Notice that T is not a similarity transformation for S, because


T (r) S(b) T −1 (r) = S (T (r)b) 
Appendix D
Examples for the Center of Mass and Inertia
Tensors of Basic Shapes

Lemma D.1 Consider the following simple defined integral:


/ x2
x n d x, ∀ n ∈ Z+ (D.1)
x1

The integral evaluation of (D.1) is zero under the fulfillment of the following
conditions

the integral limits are symmetric: x1 = −x2 = xs and (D.2a)


n
the power n is an odd number ∈
/ Z+ (D.2b)
2
Proof Direct evaluation of (D.1) under conditions (D.2) yields
/
xs
xs
1

n+1
1 n+1
x dx =
n
x
= xs − (−xs )n+1
−xs n+1 −xs n + 1

Since n is an odd number, n + 1 is an even number producing (−xs )n+1 = xsn+1 that
renders null the above definite integral:
/ xs
x n d x = 0, ∀ n odd
−xs

Recall the following undefined integrals formulae from any basic curse on calcu-
lus, for instance (Leithold 1972):

© Springer Nature Switzerland AG 2019 411


E. Olguín Díaz, 3D Motion of Rigid Bodies, Studies in Systems,
Decision and Control 191, https://doi.org/10.1007/978-3-030-04275-2
412 Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes
/ 
a2 u u 2
a 2 − u 2 du = arcsin + a − u2 + C (D.3)
2 a 2
/  
a4 u u
u 2 a 2 − u 2 du = arcsin + (2u 2 − a 2 ) a 2 − u 2 + C (D.4)
8 a 8
/ 
2 3 3a 4
u u
a − u 2 2 du = arcsin − (2u 2 − 5a 2 ) a 2 − u 2 + C (D.5)
8 a 8

Then it follows that the solutions for the particular defined integrals becomes
/ a
π
a 2 − u 2 du = a 2 (D.6)
4
/ a0 
π 4
u 2 a 2 − u 2 du = a (D.7)
16
/ a
0
2 3 3π 4
a − u 2 2 du = a (D.8)
0 16

Other useful integral are the following:


/ 
m
n = −1
u m (a − u)n du = −c1 (a − u)n+m+1 − bi (a − u)n+i u n+1−i + C ∀
m ∈ Z+
i=1
/
n 1 2 n+1
u a 2 − u 2 du = − a − u2 +C ∀ n = −1
2(n + 1)

where the constants are


m
m! Pi−1
c1 = ; bi =
0
m+1 0
m+1
(n + k) (n + k)
k=0 k=0

and the permutation of k elements out of n is given as

n!
Pkn =
(n − k)!

And the solutions for the particular defined integrals becomes


/ a
u m (a − u)n du = c1 a n+m+1 ∀ n = −1 ∩ m ∈ Z+ (D.9)
/ 0
a n 1
u a 2 − u 2 du = a 2(n+1) ∀ n = −1 (D.10)
0 2(n + 1)
Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes 413

D.1 Examples of Center of Mass

For constant and homogenous density volumes, it mass can be computed as

m = ρV
1
where the volume can be computed as V = B d V where de volume differential is
d V = d x d y dz. Then de Volume becomes the triple integral
///
V = d x d y dz (D.11)

with any arbitrary integration order and proper integral limits x, x̄, y, ȳ, z, and z̄
which defines the limits of the body.
For instance, for the particular integration order x-y-z the volume is computed as
/ z̄ / ȳ / x̄  
V = x d x dy dz
z y x

Then the vector that defines the position of the center of mass can be computed
from (5.10) and the mass differential dm = ρ d V , yielding
⎛ ⎞
/// r cx
1
rc = r p d x d y dz = ⎝rc y ⎠
V r cz

where ⎛ ⎞
x
r p = ⎝y⎠
z

represents the Cartesian position of every particle of mass dm w.r.t. the local reference
frame. Then it follows that the coordinates of the position of the center of mass of a
body are:
/ ///
1 1
r cx = x dm = x d x dy dz (D.12a)
m B V
/ ///
1 1
rc y = y dm = y d x dy dz (D.12b)
m B V
/ ///
1 1
r cz = z dm = z d x dy dz (D.12c)
m B V
414 Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes

Fig. D.1 Parallelepiped


with Cartesian coordinates.
x-axis: [−a, a] with a total
length of A = 2a; y-axis:
[−b, b] with a total length of
B = 2b; and z-axis: [−c, c]
with a total length of C = 2c

Fig. D.2 Elliptical prism


with Cartesian coordinates

D.1.1 Center of Mass of Basic Symmetric Volumes

Consider the Figs. D.1, D.2 and D.3 where the local reference frame is placed at the
centroid of the body. Then the volume of the body, computed on the x-y-z order
becomes
/ z̄ / ȳ / x̄  
V = d x dy dz (D.13)
−z̄ − ȳ −x̄

and the coordinates of the center of mass vector becomes


/ / ȳ / x̄  
1 z̄
r cx = x d x dy dz (D.14a)
V −z̄ − ȳ −x̄
/ / ȳ / x̄  
1 z̄
rc y = y d x dy dz (D.14b)
V −z̄ − ȳ −x̄
Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes 415

Fig. D.3 Ellipsoid with


Cartesian coordinates

/ z̄ / ȳ / x̄  
1
r cz = z d x dy dz (D.14c)
V −z̄ − ȳ −x̄

For symmetric bodies with local frame placed at the centroid the integral limits
in (D.14) are symmetric. Also notice that (D.14) presents odd powers in the variable
arguments. Then after Lemma D.1 it arise that coordinates of the center of mass
vector for any symmetric body are all null:
⎛ ⎞
0
r c = ⎝0 ⎠ (D.15)
0

Example D.1 The center of mass of an eight octants parallelepiped body


The following develops the null center-of-mass vector statement:
/ / / / / b  2  
1 c b a 1 c a (−a)2
rcx = x d x dy dz = − dy dz =0
V −c −b −a V −c −b 2 2

/ / / / / b  /  
1 c b a 2a c 2a c b2 (−b)2
rc y = y d x dy dz = y dy dz = − dz =0
V −c −b −a V −c −b V −c 2 2

/ / / / / b  /
1 c b a 2a c 4ab c
r cz = z d x dy dz = z dy dz = z dz
V −c −b −a V −c −b V −c
 
4ab c2 (−c)2
= − =0
V 2 2

Example D.2 (The center of mass of an elliptical prism) Consider the symmetric
elliptical prism with dimensions as in Fig. D.2. The volume integral (D.13) are limited
by the convex surface in the y-z plane.
416 Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes

The coordinates of the center of mass vector follows from (D.12). In this example
we consider the integration order z-y-x, such that the integral limits that represent
the limits on the convex surface of the ellipsoid shown in Fig. D.3 are
2
y2 c 2
x̄ = a; ȳ = b; z̄ = c 1 − 2
= b − y2
b b

Then the first coordinate yields


/ a / b / z̄ / a / b  / / b ' 
1 2 2c a
r cx = x dz dy d x = x z̄dy dz = x b2 − y 2 dy d x
V −a −b −z̄ V −a −b V b −a −b
which after (D.3)
/ /  
2c a  π 2  π cb a π cb a 2 (−a)2
= x b dx = x dx = − =0
V b −a 2 V −a V 2 2

/ / / / /  
1 c a ỹ 1 c a ỹ 2 (− ỹ)2
rc y = y dy d x dz = − d x dz = 0
V −c −a − ỹ V −c −a 2 2

/ / / / /  
1 a b z̄ 1 a b z̄ 2 (−z̄)2
r cz = z dz dy d x = − dy dx = 0
V −a −b −z̄ V −a −b 2 2

Being consistent with Lemma D.1. Using the same Lemma the center of mass vector
is a null vector, given by (D.15).
Example D.3 (The center of mass of an ellipsoid) Consider the symmetric ellipsoid
with dimensions as in Fig. D.3, whose limits are found as the solutions for the ellipsoid
equation.
In this example we consider different integration orders, such that the integral
limits representing the convex surface of the ellipsoid shown in Fig. D.3 are

variable int order int limits


a 2 b 2
r cx x-y-z x̄ = ȳ − y 2 ; ȳ = c − z2; z̄ = c
b c
b 2 a 2
rc y y-x-z ỹ = x̃ − x 2 ; x̃ = c − z2; z̃ = c
a c
c 2 b 2
r cz z-y-x ẑ = ŷ − y 2 ; ŷ = a − x 2; x̂ = a
b a
The coordinates of the center of mass vector follows from (D.12) and limits above:
/ / / / /  
1 c ȳ x̄
1 c ȳ
x̄ 2 (−x̄)2
r cx = x d x dy dz = − dy dz = 0
V −c − ȳ −x̄ V −c − ȳ 2 2
Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes 417
/ / / / /  
1 c x̃ ỹ
1 c a
ỹ 2 (− ỹ)2
rc y = y dy d x dz = − d x dz = 0
V −c −x̃ − ỹ V −c −a 2 2

/ / / / /  
1 a ŷ ẑ
1 a b
ẑ 2 (−ẑ)2
r cz = z dz dy d x = − dy dx = 0
V −a − ŷ −ẑ V −a −b 2 2

Then the center of mass vector is a null vector, given by (D.15); being consistent
with Lemma D.1.

D.1.2 Center of Mass of Basic Non Symmetric Volumes

Consider the Figs. D.4, D.5, D.6, D.7, D.8 and D.9 where the local reference frame
is placed at one corner of the body. Then the volume of the body, computed on the
x-y-z order becomes
/ z̄ / ȳ / x̄  
V = d x dy dz (D.16)
0 0 0

and the center of mass vector becomes


⎛ ⎞
r cx / / ȳ / x̄  
1 z̄
r c = ⎝rc y ⎠ = r p d x dy dz (D.17)
r V 0 0 0
cz

x̄ = a;
ȳ = b;
z̄ = c

Fig. D.4 Parallelepiped with Cartesian coordinates limits at x ∈ [0, a], y ∈ [0, b], and z ∈ [0, c]
418 Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes

y a
x̄ = a 1 − = (b − y) ;
b b
ȳ = b;
z̄ = c

Fig. D.5 Triangular prism

y z a
x̄ = a 1 − − = (ȳ − y) ;
b c b
z
ȳ = b 1 − ;
c
z̄ = c

Fig. D.6 Rectangular Tetrahedral

y2 a
x̄ = a 1 − = b2 − y 2 ;
b2 b
ȳ = b;
z̄ = c

Fig. D.7 Quarter of an elliptical prism

Example D.4 (The parallelepiped) Consider the parallelepiped of Fig. D.4, whose
dimensions in the directions of the local axes x, y, and z are defined respectively.

Center of mass vector


The coordinates of the center of mass vector are then:
/ c / b / a / c / b  /
1 1 a2 1 a2 b c 1 a 2 bc
r cx = x d x dy dz = dy dz = dz =
V 0 0 0 V 2 0 0 V 2 0 V 2
Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes 419

y2 z2 a
x̄ = a 1− − 2 = ȳ 2 − y 2 ;
b2 c b
z2 b√ 2
ȳ = b 1 − 2 = c − z2 ;
c c
z̄ = c

Fig. D.8 Octant segment of an ellipsoid

z 2 y2 a
x̄ = a 1− − = ȳ 2 − y 2 ;
c b2 b
z b
ȳ = b 1 − = (c − z);
c c
z̄ = c

Fig. D.9 Quarter of an elliptic cone

/ c / b / a  / c / / b
1 a 1 ab2 c 1 ab2 c
rc y = y d x dy dz =
y dy dz = dz =
V 0 0 0 0 0 V V 2 0 V 2
/ c/ b/ a / c / b  / c
1 a ab 1 abc2
r cz = z d x dy dz = z dy dz = z dz =
V 0 0 0 V 0 0 V 0 V 2

From which after the use of the Volume expression V = abc the center of mass
vector becomes
⎛1 ⎞
2
a
⎜1 ⎟
rc = ⎜
⎝ 2 b⎠

1
2
c

Example D.5 (Triangular prism) Consider the body of Fig. D.5 whose dimensions
in the directions of the local axes x, y, and z respectively are defined as

Center of mass vector The coordinates of the center of mass vector follows from
(D.17) Notice that for rc y the integral evaluation is more simple with a proper change
in the order and limits of the volume integral:
420 Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes
/ / / / / b 2 
1 c b x̄ 1 c x̄
r cx = x d x dy dz = dy dz
V 0 0 0 V 0 0 2
/ / b  /
a2 c
y 2 a2 c
b a 2 bc
= 1− dy dz = dz =
2V 0 0 b 2V 0 3 6V

/ c/ a / b(1−x/a)
1 ab2 c
rc y = y dy d x dz =
V 0 0 0 6V

/ / / / / b 
1 c b x̄ 1 c
r cz = z d x dy dz = x̄ z dy dz
V 0 0 0 V 0 0
/ c / b    / c
a y a b abc2
= 1− z dy dz = z dz =
V 0 0 b V 0 2 4V

From which after the use of the Volume expression V = 21 abc, the center of mass
vector becomes
⎛1 ⎞
3
a
⎜1 ⎟
rc = ⎜
⎝ 3 b⎠

1
2
c

Example D.6 (Rectangular tetrahedral) Consider the body of Fig. D.6 whose dimen-
sions in the directions of the local axes x, y, and z respectively are defined as
Body Volume
After (D.16) the volume of the rectangular tetrahedral becomes
/ c / ȳ / x̄   / c / ȳ
/ / ȳ  
a c
V = d x dy dz = x̄ dy dz = ( ȳ − y) dy dz
0 0 0 0 0 b 0 0
/ /
a c ȳ 2 ab c  z 2 ab  c  1
= dz = 1− dz = = abc
b 0 2 2 0 c 2 3 6

Center of Mass Vector


The coordinates of the center of mass vector are then:
/ / /
1 c ȳ x̄
r cx = x d x dy dz
V 0 0 0
/ / ȳ 2  / c / ȳ 
1 c x̄ a2
= dy dz = ( ȳ − y) dy dz
2
V 0 0 2 2V b2 0 0
/ /
a2 c 3
ȳ a2b c  z 3 a2b  c  a 2 bc
= dz = 1 − dz = =
2V b2 0 3 6V 0 c 6V 4 24V
Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes 421
/ / /
1 c ȳ x̄
rc y = y d x dy dz
V 0 0 0
/ c / ȳ  / c / ȳ 
1 a
= y x̄ dy dz = ( ȳ − y) y dy dz
V 0 0 bV 0 0
/ c 3 /
a ȳ ab2 c  z 3 ab2 c
= dz = 1− dz =
bV 0 6 6V 0 c 24V

/ / /
1 c ȳ x̄
r cz = z d x dy dz
V 0 0 0
/ / ȳ  / c / ȳ 
1 c a
= x̄ z dy dz = ( ȳ − y) z dy dz
V 0 0 bV 0 0
/ c 2 / c  4
a ȳ ab ab c abc2
= z dz = (c − z)2
z dz = =
bV 0 2 2V c2 0 2V c2 12 24V

From which after the use of the volume expression V = 16 abc, the center of mass
vector becomes
⎛1 ⎞
4
a
r c = ⎝ 14 b ⎠
1
4
c

Example D.7 (Quarter of an elliptical prism) Consider the body of Fig. D.7 whose
dimensions in the directions of the local axes x, y, and z respectively are defined as

The Body Volume


The volume is easily computed from the triple integral (D.16) with the proper integral
limits:
/ c / b / x̄   / c / b  / / b ' 
a c
V = d x dy dz = x̄ dy dz = b − y dy dz
2 2
0 0 0 0 0 b 0 0

which after (D.6) the volume becomes V = π4 abc.

Center of Mass Vector


The coordinates of the center of mass vector follows from (D.17). Notice that for rc y
the integral evaluation is more simple with a proper change in the order and limits
of the volume integral; and rcz uses (D.6):
/ / / / / b 2 
1 c b x̄ 1 c x̄
r cx = x d x dy dz = dy dz
V 0 0 0 V 0 0 2
2 / c / b
 / c 3
a a2 2b a 2 bc
= b 2
− y 2
dy dz = dz =
2V b2 0 0 2V b 2
0 3 3V
422 Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes

/ c/ a / √
b 1−x/a
1 ab2 c
rc y = y dy d x dz =
V 0 0 0 3V

/ / / / / b 
1 c b x̄ 1 c
r cz = z d x dy dz = x̄ z dy dz
V 0 0 0 V 0 0
/ c / b   / c
a a π 2 πabc2
= b − y z dy dz =
2 2 b z dz =
Vb 0 0 V b 0 4 8V

From which after the use of the Volume expression V = π4 abc, the center of mass
vector becomes
⎛4 ⎞

a
r c = ⎝ 3π
4 ⎠
b
1
2
c

Example D.8 (Octant segment of an ellipsoid) Consider the body of Fig. D.8 whose
dimensions in the directions of the local axes x, y, and z respectively are defined as
The Body Volume
The volume is easily computed from the triple integral (D.16) with the proper integral
limits:
/ c / ȳ / x̄   / c / ȳ  / / ȳ ' 
a c
V = d x dy dz = x̄ dy dz = ȳ 2 − y 2 dy dz
0 0 0 0 0 b 0 0
which after (D.6) the volume becomes
/ /
a c  π 2 πab c  2  πab 2 π
= ȳ dz = 2 c − z 2 dz = 2 c3 = abc
b 0 4 4c 0 4c 3 6

Center of Mass Vector


The coordinate of the center of mass rcx vector follows from (D.17) and the use (D.8):
/ / / / / ȳ 2 
1 c ȳ x̄ 1 c x̄
r cx = x d x dy dz = dy dz
V 0 0 0 V 0 0 2
2 / c / ȳ
 2 / c
a a 2 3
= ȳ 2 − y 2 dy dz = ȳ dz
2V b2 0 0 2V b 2
0 3
/ c
a2b a 2 b 3π 4 πa 2 bc
= (c 2
− z )
2 3/2
dz = c =
3V c3 0 3V c3 16 16V

For the other two coordinates the integral evaluation is more simple with proper
changes in the order and limits of the volume integral, and follows mutatis-mutandis
Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes 423

the same procedure of coordinate rcx :

/ c / a √1−z 2 /c2 / b√1−x 2 /a 2 −z 2 /c2


1 πab2 c
rc y = y dy d x dz =
V 0 0 0 16V

/ / b√1−x 2 /a 2 / b√1−x 2 /a 2 −y 2 /b2


1 a
πabc2
r cz = z dz dy d x =
V 0 0 0 16V

From which after the use of the Volume expression V = π6 abc, the center of mass
vector becomes
⎛3 ⎞
8
a
⎜3 ⎟
rc = ⎜
⎝ 8 b⎠

3
8
c

Example D.9 (Quarter of an elliptic cone) Consider the body of Fig. D.9 whose
dimensions in the directions of the local axes x, y, and z respectively are defined as

The Body Volume


The volume is easily computed from the triple integral (D.16) with the proper integral
limits:
/ c / ȳ / x̄   / c / ȳ  / / ȳ ' 
a c
V = d x dy dz = x̄ dy dz = ȳ − y dy dz
2 2
0 0 0 0 0 b 0 0
which after (D.6) the volume becomes
/ /
a cπ 2 πab c  z 2 πab c π
= ȳ dz = 1− dz = = abc
b 0 4 4 0 c 4 3 12

Center of Mass Vector


The coordinates of the center of mass vector follows from (D.17) Notice that for rc y
the integral evaluation is more simple with a proper change in the order and limits
of the volume integral; and rcz uses (D.6):
/ / / / / ȳ 2 
1 c ȳ x̄ 1 c x̄
r cx = x d x dy dz = dy dz
V 0 0 0 V 0 0 2
/ / ȳ  /
a2 c a2 c
2 3
= 2
ȳ 2
− y 2
dy dz = 2
ȳ dz
2V b 0 0 2V b 0 3
/
a2b c  z 3 a2b c a 2 bc
= 1− dz = =
3V 0 c 3V 4 12V
424 Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes

/ c/ a(1−z/c) / b√1−x 2 /a 2 −z 2 /c2


1 ab2 c
rc y = y dy d x dz =
V 0 0 0 12V

/ / / / / ȳ 
1 c ȳ x̄ 1 c
r cz = z d x dy dz = z x̄ dy dz
V 0 0 0 V 0 0
/ c / ȳ   / c
a a π
= z ȳ 2 − y 2 dy dz = z ȳ 2 dz
Vb 0 0 Vb 0 4
/  
πab c z2 z3 πab c2 πabc2
= z − 2 + 2 dz = =
4V 0 c c 4V 12 48V
π
From which after the use of the Volume expression V = 12
abc, the center of mass
vector becomes
⎛1 ⎞
π
a
⎜1 ⎟
r c = ⎝ π b⎠
1
4
c

D.2 Examples of Inertia Tensors

D.2.1 Inertia Tensors of Symmetric Bodies

For symmetric bodies of constant homogenous density ρ, the body’s centroid i.e.the
geometric center of the body is also the center of mass. Furthermore the differential
of mass would be dm = ρ d V where the differential of volume in the three cartesian
axes is expressed as d V = d x d y dz; with any arbitrary order. Then the integrals in
(5.23) become volume integral whose limits x̄, ȳ, and z̄ are given by the borders of
the body:
⎡ ⎤
/ / x̄ / ȳ / z̄ Ix xc Ix yc Ix zc
Ic = − [r×]2 dm = −ρ [r×]2 d x d y dz = ⎣ Ix yc I yyc I yzc ⎦
B −x̄ − ȳ −z̄ Ix zc I yzc Izzc
(D.18)

Where the elements of the inertia matrix are explicitly given as


/ / x̄ / ȳ / z̄
I x xc = (y 2 + z 2 ) dm =ρ (y 2 + z 2 ) d x d y dz (D.19a)
B −x̄ − ȳ −z̄
/ / x̄ / ȳ / z̄
I yyc = (x 2 + z 2 ) dm =ρ (x 2 + y 2 ) d x d y dz (D.19b)
B −x̄ − ȳ −z̄
Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes 425

Fig. D.10 Parallelepiped


with Cartesian coordinates.
x-axis: [−a, a] with a total
length of A = 2a; y-axis:
[−b, b] with a total length of
B = 2b; and z-axis: [−c, c]
with a total length of C = 2c

/ / x̄ / ȳ / z̄
Izzc = (x + y ) dm
2 2
=ρ (x 2 + z 2 ) d x d y dz (D.19c)
B −x̄ − ȳ −z̄

with the inertia products being null after Lemma D.1 and since they present two
variable argument with odd power, regardless of the form of the integral limits:
/ / x̄ / ȳ / z̄
Ix yc = − x y dm = −ρ x y d x dy dz =0 (D.20a)
B −x̄ − ȳ −z̄
/ / x̄ / ȳ / z̄
Ix zc = − x z dm = −ρ x z d x dy dz =0 (D.20b)
B −x̄ − ȳ −z̄
/ / x̄ / ȳ / z̄
I yzc = − yz dm = −ρ yz d x dy dz =0 (D.20c)
B −x̄ − ȳ −z̄

Example D.10 (The inertia tensor of a parallelepiped body) Consider the symmetric
parallelepiped with dimensions as in Fig. D.10.

The Body Volume


The volume is easily computed after Example D.4 where the volume corresponding
to one-octant has been computed. Then the volume in the 8 octants parallelepiped of
Fig. D.10 becomes
V = 8abc = ABC

The Inertia Moments


Consider the particular integration order z-y-x. Then the first diagonal element in
(D.18) becomes
426 Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes

/ a / b / c   / a / b   
c3
I x xc = ρ (y 2 + z 2 ) dz dy d x = 2ρ y2c + dy d x
−a −b −c −a −b 3
/ a  
2 8
= 2ρ bc(b2 + c2 ) d x = ρ abc(b2 + c2 )
−a 3 3
(D.21a)

And the other two inertia moments are computed accordingly in the same way to be

8
I yyc = ρ abc(a 2 + c2 ) (D.21b)
3
8
Izzc = ρ abc(a 2 + b2 ) (D.21c)
3
The Inertia Matrix
Notice that the volume of the body is V = ABC = 8abc with a mass m = ρ ABC =
8ρ abc. Then the inertia moments above can be written in terms of the body mass and
the inertia matrix of a square parallelepiped of homogenous density at its geometric
center (its center of mass), referred to a local frame as in Fig. D.10 is given as:
⎡ 2 ⎤ ⎡ 2 ⎤
b + c2 0 0 B + C2 0 0
m⎣ m
Ic = 0 a 2 + c2 0 ⎦= ⎣ 0 A2 + C 2 0 ⎦
3 0 0 a +b
2 2 12 0 0 A +B
2 2

(D.22)

where the off-diagonal elements (the inertia product) are null after Lemma D.1 and
expressions (D.20).

Remarks
1. Notice that the inertia moments (the diagonal elements of the inertia matrix) have
square arguments (even power) which render positive inertia moments.
2. Notice that the inertia moments (D.21) are exactly eight times the inertia moments
of the one-octant parallelepiped (D.34). This fact is less evident when comparing
the inertia moments in terms of the mass as in (D.35) and (D.22) because the the
mass is already scaled, being the mass of the 8 octants parallelepiped 8 times the
mass of the one-octant parallelepiped.
3. The inertia matrix (D.22) is identical to (D.36) with the proper corrections in the
dimensions nomenclature, corresponding to the body in Fig. D.4. 

Example D.11 (The inertia tensor of a rectangular plate) A rectangular plate is


a particular case of a parallelepiped where one of the dimensions is very small
compared with the other two.
For instance, consider the plate on Fig. D.11 where the vertical dimension C = 2c
along the z-axis may be negligible w.r.t. the other two dimensions: A  C ∩ B  C.
Then the Inertia matrix is found after (D.22) under the condition C = 2c ≈ 0.
Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes 427

⎡ 2 ⎤
b 0 0
m⎣ ⎦
Ic = 0 a2 0
3
0 0 a2 + b2
⎡ 2 ⎤
B 0 0
m⎣ ⎦
= 0 A2 0
12
0 0 A2 + B 2

Fig. D.11 Plate as a particular case of a parallelepiped

Fig. D.12 Elliptical prism


with Cartesian coordinates

Example D.12 (The inertia tensor of an elliptical prism) Consider the symmetric
elliptical prism with dimensions as in Fig. D.12. The volume integral (D.16) and the
Tensor (D.18) are limited by the convex surface in the y-z plane:

Then the integral limits for the integration order z-y-x can be established as
c 2
x̄ = a; ȳ = b; z̄ = b − y2
b
The Body Volume
The volume is easily computed after Example D.7 where the volume corresponding
to one-octant segment has been computed. Then the volume in the 8 octants of the
elliptical prism of Fig. D.12 becomes
π π
V = 8 abc = 2π abc = ABC
4 4
The Inertia Moments
Consider the first diagonal element, where the integral order along the different axes
would be z-y-x. Since the body is symmetric with even powers in the differential
argument, the integral limits can be replaced as:
428 Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes

/ a / b / z̄   / a / b   
z̄ 3
I x xc = 8ρ (y 2 + z 2 ) dz dy d x = 8ρ y 2 z̄ + dy d x
0 0 0 0 0 3
/ a / b  '  
c c3 3
= 8ρ y 2 b2 − y 2 + 3
(b2 − y 2 ) 2 dy d x
0 0 b 3b
which after (D.7) and (D.8) yields
/ a 
c π 4 c3 3π 4 π
= 8ρ b + 3 b dx = ρ abc(b2 + c2 ) (D.23a)
0 b 16 3b 16 2

/ a / b / z̄   / a / b   
z̄ 3
I yyc = 8ρ (x 2 + z 2 ) dz dy d x = 8ρ x 2 z̄ + dy d x
0 0 0 0 0 3
/ a /  '  
b c 2 2 c3 3
= 8ρ x b − y 2 + 3 (b2 − y 2 ) 2 dy d x
0 0 b 3b
which after (D.6) and (D.8)
/ a  / a 
c 2 π 2 c3 3π 4 π
= 8ρ x b + 3 b d x = ρ bc 4x 2 + c2 d x
0 b 4 3b 16 2 0
 
π a 3 π  
= ρ bc 4 + c2 a = ρ abc 4a 2 + 3c2 (D.23b)
2 3 6

/ a / b / z̄   / / b '  
c a
Izz c = 8ρ (x 2 + y 2 ) dz dy d x = 8ρ b2 − y 2 (x 2 + y 2 ) dy d x
0 0 0 b 0 0

which after (D.6) and (D.7)


/ / a
c a 2 π 2 π 4 π 
= 8ρ x b + b d x = ρ bc 4x 2 + b2 d x
b 0 4 16 2 0
 
π a3 π  
= ρ bc 4 + b2 a = ρ abc 4a 2 + 3b2 (D.23c)
2 3 6

The Inertia Matrix


Notice that after Example D.2 the volume of the body is V = π4 ABC = 2πabc with
a mass m = ρ π4 ABC = 2ρπabc. Then the moments of inertia above can be written
in terms of the body mass as

1 1
I x xc = m (b2 + c2 ) = m(B 2 + C 2 )
4 16
1 2 1 2
I yyc = m 4a + 3c2 = m 4 A + 3C 2
12 48
1 2 1 2
Izzc = m 4a + 3b2 = m 4 A + 3B 2
12 48
Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes 429

Then the inertia matrix of an elliptical prism of homogenous density, at its geo-
metric center (its center of mass), referred to a local frame as in Fig. D.12 is given
as:
⎡ 2 ⎤
3b + 3c2 0 0
m ⎣ ⎦
Ic = 0 4a 2 + 3c2 0
12 0 0 4a 2 + 3b2
⎡ 2 ⎤
3B + 3C 2 0 0
m ⎣ ⎦
= 0 4 A2 + 3C 2 0 (D.24)
48 0 0 4 A2 + 3B 2

where the off-diagonal elements (the inertia product) are null after Lemma D.1 and
expressions (D.20).

Remark Notice that the inertia moments (D.23) are exactly eight times the inertia
moments of the one-octant elliptical prism (D.37), with the proper reassignment in
the direction of the local frame. (refer to Example D.26).
This fact is less evident when comparing the inertia moments in terms of the mass
as in (D.38) and (D.24) because the the mass is already scaled, being the mass of the
elliptical prism 8 times the mass of it corresponding one-octant segment. 

Example D.13 (The inertia tensor of a ellipsoidal plate) An ellipsoidal plate is a


particular case of an elliptical prism for which the height of the prism is very small
compared to the ellipsoidal face dimensions. Then its inertia moment matrix arise
after (D.24) assuming a ≈ 0 (Fig. D.13):

Example D.14 (The cylinder) The cylinder is also a particular case of the elliptical
prism where both main diagonal components of the elliptical plane are equal.
For instance b = c = r implies an horizontally placed cylinder of radius r and
length l = A = 2a, with volume V = πr 2 l, and diameter D = B = C = 2r . The
inertia matrix is found after these conditions over expression (D.24) (Fig. D.14).

⎡ 2 ⎤
b + c2 0 0
m⎣ ⎦
Ic = 0 c2 0
4
0 0 b2
⎡ 2 2

B +C 0 0
m⎣
= 0 C2 0 ⎦
16
0 0 B2

Fig. D.13 Elliptical plate as a particular case of a elliptical prism


430 Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes

⎡ ⎤
6r 2 0 0
m⎣ ⎦
Ic = 0 l2 + 3r 2 0
12
0 0 l2 + 3r 2
⎡ ⎤
6D 2 0 0
m⎣ 2 2 ⎦
= 0 4l + 3D 0
48
0 0 4l2 + 3D 2
(D.25)

Fig. D.14 Cylinder as a particular case of an ellipsoidal prism

⎡ ⎤
0 0 0
m⎣
Ic = 0 l2 0 ⎦ (D.26)
12
0 0 l2

Fig. D.15 Pole as a particular case of a cylinder

⎡ 2 ⎤
6r 0 0
m ⎣ ⎦
Ic = 0 l 2 + 3r 2 0
12 0 0 l + 3r
2 2
⎡ 2 ⎤
6D 0 0
m ⎣ ⎦
= 0 4l 2 + 3D 2 0 (D.25)
48 0 0 4l + 3D
2 2

Example D.15 (The inertia tensor of a pole) A pole is the particular case of a cylinder
with a very small diameter (radius) in comparison with the length: r  l. In this case
the mass distribution in the radial direction is negligible and the Inertia moments
matrix can be computed using (D.25) assuming r ≈ 0 (Fig. D.15):

⎡ ⎤
0 0 0
m ⎣
Ic = 0 l2 0 ⎦ (D.26)
12 0 0 l 2

Example D.16 (The inertia tensor of an ellipsoid) Consider the symmetric ellipsoid
with dimensions as in Fig. D.16, whose limits are found as the solutions for the
ellipsoid equation:
Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes 431

Fig. D.16 Ellipsoid with


Cartesian coordinates

x2 y2 z2
+ + =1
a2 b2 c2
Under the assumption of constant density bodies, the mass integral in the inertia
tensor definition (5.23) become volume integral whose limits are given by the borders
of the body. In this example we consider the integration order z-y-x, such that the
integral limits that represent the limits on the convex surface of the ellipsoid shown
in Fig. D.16 are
2
b 2 x2 y2 c 2
x̄ = a; ȳ = a − x 2; z̄ = c 1 − − = ȳ − y 2
a a2 b2 b

The Ellipsoid Volume


The volume is easily computed from the triple integral (D.11). Since the body is
symmetric in the 3 planes, and the arguments are an even power of the differential
variables it follows / a / ȳ / z̄  
V =8 dz dy d x
0 0 0

The triple integral is the same performed in Example D.8, then the ellipsoid
volume becomes
π 4 π
V = 8 abc = π abc = ABC
6 3 6
The Inertia Moments
Since the body is symmetric with even powers in the differential argument, the
integral limits can be replaced as:
/ a / ȳ / z̄   / a / ȳ   
z̄ 3
I x xc = 8ρ (y 2 + z 2 ) dz dy d x = 8ρ y 2 z̄ + dy d x
0 0 0 0 0 3
/ a / ȳ  '  
c c3 3
= 8ρ y2 ȳ 2 − y 2 + 3 ( ȳ 2 − y 2 ) 2 dy d x
0 0 b 3b
after (D.7) and (D.8)
432 Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes

/ a   
 / a  2
π c c3 π bc
= 8ρ + 3 ȳ 4 d x = ρ 4 b2 + c2 a2 − x 2 d x
0 16 b b 2 a 0
 
a  
π bc 2 1

= ρ 4 b2 + c2 a4 x − a2 x 3 + x 5
= 4π ρ abc b2 + c2 (D.27a)
2 a 3 5
15
0

And the other two inertia moments are computed accordingly in the same way to be


I yyc = ρ abc(a 2 + c2 ) (D.27b)
15

Izzc = ρ abc(a 2 + b2 ) (D.27c)
15
The Inertia Matrix
Since the volume of the ellipsoid is V = 43 πabc = π6 ABC with a mass m =
4
3
ρπabc = ρ π6 ABC. Then the moment of inertia above can be written in terms
of the body mass and the inertia matrix of an ellipsoid of homogenous density, at
its geometric center (its center of mass), referred to a local frame as in Fig. D.16 is
given as:
⎡ 2 ⎤ ⎡ 2 ⎤
b + c2 0 0 B + C2 0 0
m⎣ m
Ic = 0 a 2 + c2 0 ⎦= ⎣ 0 A2 + C 2 0 ⎦
5 0 0 a +b
2 2 20 0 0 A +B
2 2

(D.28)

where the off-diagonal elements (the inertia product) are null after Lemma D.1 and
expressions (D.20).

Remark Notice that the inertia moments (D.27) are exactly eight times the inertia
moments of the one-octant ellipsoid (D.39). This fact is less evident when comparing
the inertia moments in terms of the mass as in (D.40) and (D.28) because the the mass
is already scaled, being the mass of the ellipsoid 8 times the mass of the one-octant
segment ellipsoid. 

Example D.17 (The sphere) The sphere is the particular case of an ellipsoid where
a = b = c = r and diameter D = A = B = C = 2r , which implies an overall vol-
ume V = 43 πr 3 = 16 π D 3 . Then after (D.28) inertia matrix of a constant density
sphere referred at its centroid is (Fig. D.17)
Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes 433

⎡ ⎤
1 0 0
2 2⎣
I c = mr 0 1 0 ⎦
5
0 0 1
⎡ ⎤
1 0 0
1
= mD 2 ⎣ 0 1 0 ⎦ (D.29)
10
0 0 1

Fig. D.17 Sphere as a particular case of an ellipsoid

⎡ 2 ⎤
r + c2 0 0
m⎣
Ic = 0 r 2 + c2 0 ⎦
5
0 0 2r 2
⎡ 2 2

D +W 0 0
m⎣
= 0 D2 + W 2 0 ⎦
20
0 0 2D 2

Fig. D.18 Spheroid with Cartesian coordinates

Example D.18 (The revolution ellipsoid or spheroid) Another particular case for the
ellipsoid is the spheroid –also called revolution ellipsoid– in which two of the main
axes are equal. Consider the case where the equal axes are along the x and y axes as
in Fig. D.18, i.e.D = A = B = 2r (also r = a = b), which implies an spheroid with
diameter D and width W = C. The overall volume becomes V = 43 πr 2 c = 16 π D 2 W .
Then after (D.28) inertia matrix of a constant density spheroid referred at its centroid
with proper orientation is given in Fig. D.18

D.2.2 Inertia Tensors of Non-symmetric Bodies

For non-symmetric bodies of constant homogenous density, the origin of the local
reference frame is not necessarily placed at the center of mass. For homogeneous
density bodies the integrals in (5.23) become volume integral whose lower limit and
upper limits are represented by the variables x, y, z, x̄, ȳ, and z̄, given by the borders
of the particular body.
Then the inertia moments and inertia product integrals with these integral limits
produce the elements of the inertia matrix at the origin of the frame (not at the center
of mass):
434 Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes
⎡ ⎤
/ / / / Ix x1 Ix y1 Ix z1
 2 x̄ ȳ z̄  2
I1 = − r p × dm = −ρ r p× d x d y dz = ⎣ Ix y1 I yy1 I yz1 ⎦
B x y z Ix z1 I yz1 Izz1
(D.30)

If ⎛ ⎞
x
r p = ⎝y⎠
z

Then the elements in the above matrix becomes explicitly:


/ / x̄ / ȳ / z̄
I x x1 = (y + z ) dm
2 2
=ρ (y 2 + z 2 ) d x d y dz (D.31a)
B x y z
/ / x̄ / ȳ / z̄
I yy1 = (x 2 + z 2 ) dm =ρ (x 2 + z 2 ) d x d y dz (D.31b)
B x y z
/ / x̄ / ȳ / z̄
Izz1 = (x 2 + y 2 ) dm =ρ (x 2 + y 2 ) d x d y dz (D.31c)
B x y z

/ / x̄ / ȳ / z̄
Ix y1 = − x y dm = −ρ x y d x dy dz (D.32a)
B x y z
/ / x̄ / ȳ / z̄
Ix z1 = − x z dm = −ρ x z d x dy dz (D.32b)
B x y z
/ / x̄ / ȳ / z̄
I yz1 = − yz dm = −ρ yz d x dy dz (D.32c)
B x y z

Finally, the expression of the inertia matrix referred at the center of mass follows
from the 3D parallel axes theorem (i.e.: I 1 = I c − m[r c ×]2 ) as:

I c = I 1 + m[r c ×]2 (D.33)

For the cases presented in Examples D.4–D.9 the lower limits in the integrals in
(D.31)–(D.32) are zero and upper limits are represented by the variables x̄, ȳ, and z̄,
given by the borders of the particular body in each example.
Example D.19 (One octant parallelepiped) This figure correspond to the one-octant
volume parallelepiped of Example D.4 (Fig. D.19).
The Inertia Moments
The inertia moments, i.e.the diagonal elements of the inertia matrix are given by
evaluation of (D.31a)–(D.31c). In the particular integration order x-y-z they became
Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes 435

⎛1 ⎞
x̄ = a; 2
a
⎜1 ⎟
ȳ = b; rc = ⎜
⎝2 ⎠
b⎟
1
z̄ = c 2
c

V = abc

Fig. D.19 Parallelepiped of Example D.4

/ / /   / c / 
c b a b
I x x1 = ρ (y + z ) d x dy dz = ρ a
2 2
y +z
2 2
dy dz
0 0 0 0 0
(D.34a)
/ c 2   2 3
b b c c 1
= ρ ab + z 2 dz = ρ ab + = ρ abc(b2 + c2 )
0 3 3 3 3

/ c / b / a   / c / b   
a2
I yy1 = ρ (x + z ) d x dy dz = ρ a
2 2
+ z dy dz
2
0 0 0 0 0 3
(D.34b)
/ c   2 
a2 a c c3 1
= ρ ab + z dz = ρ ab
2
+ = ρ abc(a 2 + c2 )
0 3 3 3 3

/ c / b / a   / c / b   
a2
Izz1 = ρ (x 2 + y 2 ) d x dy dz = ρ a + y 2 dy dz
0 0 0 0 0 3
(D.34c)
/ c
1 1
= ρ ab(a 2 + b2 ) dz = ρ abc(a 2 + b2 )
3 0 3

The Inertia Products


The off-diagonal elements of the inertia matrix follows from (D.32). In the particular
integration order x-y-z they yield:
/ c / b / a   / / b  /
a2 c a 2 b2 c
I x y1 = −ρ x y d x dy dz = −ρ y dy dz = −ρ dx
0 0 0 2 0 0 2 2 0

/ c / b / a   / / b  / c
a2 c a2
I x z 1 = −ρ x z d x dy dz = −ρ z dy dz = −ρ b z dz
0 0 0 2 0 0 2 0
436 Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes
/ c / b / a   / c / b  /
b2 c
I yz 1 = −ρ yz d x dy dz = −ρ a yz dy dz = −ρ a z dz
0 0 0 0 0 2 0

yielding

a 2 b2 c a 2 bc2 ab2 c2
Ix y1 = −ρ ; Ix z1 = −ρ ; I yz1 = −ρ
4 4 4
The Inertia Matrix
Since the volume of this parallelepiped is V = abc, the mass is m = ρ abc then the
inertia moments and the products of inertia of the one-octant parallelepiped w.r.t. the
frame origin are

1 1 1
I x x1 = m(b2 + c2 ); I yy1 = m(a 2 + c2 ); Izz1 = m(a 2 + b2 )
3 3 3
1 1 1
Ix y1 = − m ab; Ix z1 = − m ac; I yz1 = − m bc
4 4 4
Then the inertia matrix of a square parallelepiped of homogenous density referred
to the local frame at one of its corners, as in Fig. D.4 is given as:
⎡ ⎤
4(b2 + c2 ) −3ab −3ac
1 ⎣
I1 = m −3ab 4(a 2 + c2 ) −3bc ⎦ (D.35)
12 −3ac −3bc 4(a 2 + b2 )

The expression of the inertia matrix referred at the center of mass after (D.33)
needs [r c ×]2 which is computed after the center of mass vector obtained from Exam-
ple D.4 and (1.101):
⎛1 ⎞ ⎡ ⎤
a −(b2 + c2 ) ab ac
2 1
r c = ⎝ 21 b ⎠ ⇒ [r c ×]2 = ⎣ ab −(a 2 + c2 ) bc ⎦
1 4 ac bc −(a 2 + b2 )
2
c

Then if follows straight-forward that


⎡ 2 ⎤
b + c2 0 0
1
I c = I 1 + m[r c ×]2 = m⎣ 0 a 2 + c2 0 ⎦ (D.36)
12 0 0 a + b2
2

Remark Notice that the inertia matrix at the center of mass of this symmetric body
is purely a diagonal matrix

Example D.20 (Triangular prism) This figure correspond to the triangular prism of
Example D.5 (Fig. D.20).
Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes 437

y ⎛1 ⎞
x̄ = a 1 − 3
a
b ⎜1 ⎟
ȳ = b; rc = ⎜
⎝3 ⎠
b⎟
1
z̄ = c 2
c

1
V = abc
2

Fig. D.20 Triangular prism of Example D.5

The Inertia Moments


The inertia moments, i.e.the diagonal elements of the inertia matrix are given by
evaluation of (D.31a)–(D.31c). In the particular integration order x-y-z they became
/ c / b / x̄  
I x x1 = ρ (y + z ) d x dy dz
2 2
0 0 0
/ /  / / b 
c b a c 2
=ρ y 2 + z 2 x̄ dy dz = ρ y + z 2 (b − y) dy dz
0 0 b 0 0
/  
a c 1 2 2 1
=ρ b b + 6z 2 dz = ρ abc b2 + 2c2
b 0 12 12

/ c / b / x̄  
I yy1 = ρ (x 2 + z 2 ) d x dy dz
0 0 0
/ c / b  3 / c / b   


x̄ 1 a
=ρ ρ 3 + x̄ z 2 dy dz =
a 2 (b − y)3 + 3b2 (b − y) z 2 dy dz
0 0 3 3 b 0 0
/ c 4 2
 / c   
1 a b b 1 1
= ρ 3 a2 + 3b2 z 2 dz = ρ ab a 2 + 6z 2 dz = ρ abc a 2 + 2c2
3 b 0 4 2 12 0 12

/ c / b / x̄  
Izz 1 = ρ (x 2 + y 2 ) d x dy dz
0 0 0
/ c / b  3   / c / b  

x̄ 1 a
=ρ + x̄ y 2 dy dz = ρ 3 a 2 (b − y)3 + 3b2 (b − y) y 2 dy dz
00 3 3 b 0 0
/ c 2  

 
1 a b 1
= ρ 3 a 2 + b2 dz = ρ abc a 2 + b2
3 b 0 4 12
438 Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes

The Inertia Products


The off-diagonal elements of the inertia matrix follows from (D.32). In the particular
integration order x-y-z they yield:
/ c / b / x̄  
Ix y1 = −ρ x y d x dy dz
0 0 0
/ c / b / / b 
x̄ 2 1 a2 c
= −ρ y dy dz = − ρ 2 (b − y) y dy dz
2
0 0 2 2 b 0 0
/  
1 a 2 c b4 1
=− ρ 2 dz = − ρ a 2 b2 c
2 b 0 12 24

/ c / b / x̄  
Ix z1 = −ρ x z d x dy dz
0 0 0
/ c /
 b / / b 
x̄ 2 1 a2 c
= −ρ z dy dz = − ρ 2 (b − y)2 z dy dz
0 0 2 2 b 0 0
2 / c 3 
1 a b 1
=− ρ 2 z dz = − ρ a 2 bc2
2 b 0 3 12

/ c / b / x̄  
I yz1 = −ρ yz d x dy dz
0 0 0
/ c / b  / c / b 
a
= −ρ x̄ yz dy dz = −ρ (b − y) yz dy dz
0 0 b 0 0
/  
a c b3 1
= −ρ z dz =− ρ ab2 c2
b 0 6 12

The Inertia Matrix


Since the volume of this parallelepiped is V = 21 abc, the mass is m = 21 ρ abc then
the inertia moments and the products of inertia of the triangular prism w.r.t. the frame
origin are

1 1 1
I x x1 = m(b2 + 2c2 ); I yy1 = m(a 2 + 2c2 ); Izz1 = m(a 2 + b2 )
6 6 6
1 1 1
Ix y1 = − m ab; Ix z1 = − m ac; I yz1 = − m bc
12 6 6
Then the inertia matrix of a triangular prism of homogenous density referred to
the local frame at the distal corner, as in Fig. D.5 is given as:
Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes 439
⎡ 2 ⎤
2b + 4c2 −ab −2ac
1 ⎣
I1 = m −ab 2a 2 + 4c2 −2bc ⎦
12 −2ac −2bc 2(a 2 + b2 )

The expression of the inertia matrix referred at the center of mass after (D.33)
needs [r c ×]2 which is computed after the center of mass vector obtained from Exam-
ple D.5 and (1.101):
⎛1 ⎞ ⎡ ⎤
a −4b2 − 9c2 4ab 6ac

3
1 ⎠ 1 ⎣ ⎦
rc = 3 b ⇒ [r c ×] =
2
4ab −4a 2 − 9c2 6bc
1 36 6ac 6bc −4(a 2 + b2 )
2
c

Then if follows straight-forward that inertia matrix of triangular prism at its center
of mass is
⎡ 2 ⎤
2b + 3c2 ab 0
1
I c = I 1 + m[r c ×]2 = m ⎣ ab 2a 2 + 3c2 0 ⎦
36 0 0 2(a + b )
2 2

Remark Notice that at the center of mass, two put of three inertia products vanish
because from the center of mass, the triangle prism is symmetric with only one axis.

Example D.21 (Rectangular Tetrahedral)


This figure correspond to the rectangular tetrahedral of Example D.6 (Fig. D.21).

The Inertia Moments


The inertia moments, i.e.the diagonal elements of the inertia matrix are given by
evaluation of (D.31a)–(D.31c). In the particular integration order x-y-z they became

⎛1 ⎞
4
a
⎜1 ⎟
rc = ⎜
⎝4 ⎠
b⎟
1
4
c

1
V = abc
6

y z a z b
x̄ = a 1 − − = (ȳ − y) ; ȳ = b 1 − = (c − z) ; z̄ = c
b c b c c
Fig. D.21 Rectangular tetrahedral of Example D.6
440 Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes
/ c / ȳ / x̄  
I x x1 = ρ (y 2 + z 2 ) d x dy dz
0 0 0
/ / / / ȳ 
c ȳ
a c 2
=ρ y 2 + z 2 x̄ dy dz = ρ y + z 2 ( ȳ − y) dy dz
0 0 b 0 0
/ c  /
a 1 1 a b2 c 2
=ρ ȳ + 6 ȳ z
4 2 2
dz = ρ 4
b (c − z)4 + 6c2 (c − z)2 z 2 dz
b 0 12 12 b c 0
and after (D.9) with (m, n) = (0, 4) and (m, n) = (2, 2) :
    
π ab 1 5 1 5 1
= ρ 4 b2 c + 6c2 c = ρ abc b2 + c2
12 c 5 30 60

/ c / ȳ / x̄     / c / ȳ 
x̄ 3
I yy1 = ρ + x̄ z 2 dy dz
(x 2 + z 2 ) d x dy dz = ρ
0 0 0 0 0 3
/ c / ȳ   
1 a
= ρ 3 a 2 ( ȳ − y)3 + 3b2 ( ȳ − y) z 2 dy dz
3 b 0 0
/ c  /
1 a 1 a2 4 3 2 2 1 ab c  2 
= ρ 3 ȳ + ȳ z dz = ρ a (c − z)4 + 6c2 (c − z)2 z 2 dz
3 b 0 4 b2 2 12 c4 0
 
1 ab c5  2  1  
= ρ 4 a + c2 = ρ abc a 2 + c2
12 c 5 60

/ c / ȳ / x̄   / c / ȳ   
x̄ 3
Izz1 = ρ (x 2 + y 2 ) d x dy dz = ρ + x̄ y 2 dy dz
0 0 0 0 0 3
/ c / ȳ   
1 a
= ρ 3 a 2 ( ȳ − y)3 + 3b2 ( ȳ − y) y 2 dy dz
3 b 0 0
after (D.9) with (m, n) = (0, 3) and (m, n) = (2, 1) :
/ c     / c
1 a 1 4 1 4 1 ab  2
= ρ 3 a2 ȳ + 3b2 ȳ dz = ρ 4 a + b2 (c − z)4 dz
3 b 0 4 12 12 c 0
1 ab  2  c5 1  
= ρ 4 a + b2 = ρ abc a 2 + b2
12 c 5 60

The Inertia Products


The off-diagonal elements of the inertia matrix follows from (D.32). In the particular
integration order x-y-z they yield:
/ c / ȳ / x̄  
I x y1 = −ρ x y d x dy dz
0 0 0
/  c / / / ȳ
ȳ 
x̄ 2 1 a2 c
= −ρ y dy dz = − ρ 2 ( ȳ − y)2 y dy dz
0 0 2 2 b 0 0
/   /  
1 a 2 c ȳ 4 1 a 2 b2 c 1 a 2 b2 c5 1
=− ρ 2 dz = − ρ 4 (c − z)4 dz = − ρ 4 =− ρ a 2 b2 c
2 b 0 12 24 c 0 24 c 5 120
Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes 441
/ c / ȳ / x̄  
Ix z1 = −ρ x z d x dy dz
0 0 0
/ c / ȳ / / ȳ 
x̄ 2 1 a2 c
= −ρ z dy dz = − ρ 2 ( ȳ − y) z dy dz
2
0 0 2 2 b 0 0
/   /
1 a 2 c ȳ 3 1 a2b c
=− ρ 2 z dz = − ρ 3 (c − z)3 z dz
2 b 0 3 6 c 0
after (D.9) with (m, n) = (1, 3) :
 
1 a 2 b c5 1
=− ρ 3 =− ρ a 2 bc2
6 c 20 120

/ c / ȳ / x̄  
I yz1 = −ρ yz d x dy dz
0 0 0
/ c / / / ȳ
ȳ  
a c
= −ρ x̄ yz dy dz = −ρ ( ȳ − y) yz dy dz
0 0 b 0 0
/   /
a c ȳ 3 1 ab2 c 1
= −ρ z dz = − ρ 3 (c − z)3 z dz =− ρ ab2 c2
b 0 6 6 c 0 120

The Inertia Matrix


Since the volume of this parallelepiped is V = 16 abc, the mass is m = 16 ρ abc then
the inertia moments and the products of inertia of the rectangular tetrahedral w.r.t.
the frame origin are

1 1 1
I x x1 = m(b2 + c2 ); I yy1 = m(a 2 + c2 ); Izz1 = m(a 2 + b2 )
10 10 10
1 1 1
Ix y1 = − m ab; Ix z1 = − m ac; I yz1 = − m bc
20 20 20
Then the inertia matrix of a rectangular tetrahedral of homogenous density referred
to the local frame at the distal corner, as in Fig. D.6 is given as:
⎡ ⎤
2(b2 + c2 ) −ab −ac
1 ⎣
I1 = m −ab 2(a 2 + c2 ) −bc ⎦
20 −ac −bc 2(a 2 + b2 )

The expression of the inertia matrix referred at the center of mass after (D.33) needs
[r c ×]2 which is computed after the center of mass vector obtained from Example
D.6 and (1.101):
⎛1 ⎞ ⎡ ⎤
a −b2 − c2 ab ac
4 1 ⎣
r c = ⎝ 14 b ⎠ ⇒ [r c ×]2 = ab −a 2 − c2 bc ⎦
1 16 ac bc −a 2 − b2
4
c
442 Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes

⎛ 4


a
⎜4 ⎟
rc = ⎝ 3π b ⎠
1
2
c

π
V = abc
4

y2 a
x̄ = a 1− = b2 − y 2 ; ȳ = b; z̄ = c
b2 b
Fig. D.22 Elliptical prism of Example D.7

Then if follows straight-forward that inertia matrix of triangular prism at its center
of mass is
⎡ 2 ⎤
3(b + c2 ) ab ac
1
I c = I 1 + m[r c ×]2 = m⎣ ab 3(a 2 + c2 ) bc ⎦
80 ac bc 3(a + b )
2 2

Example D.22 (One-octant segment of an elliptical prism) This figure correspond


to the quarter of an elliptical prism of Example D.7 (Fig. D.22).

The Inertia Moments


The inertia moments, i.e.the diagonal elements of the inertia matrix are given by
evaluation of (D.31a)–(D.31c). In the particular integration order x-y-z they became

/ c / b / x̄  
I x x1 = ρ (y 2 + z 2 ) d x dy dz
0 0 0
/ / / / b  
c b a c 2 
=ρ y + z x̄ dy dz = ρ 2 2
y +z 2
b − y dy dz
2 2
0 0 b 0 0
which after (D.6) and (D.7)
/ / c
a c  π 4 π 2 2 π 2
=ρ b + b z dz = ρ ab b + 4z 2 dz
b 0 16 4 16 0
 3
π c π
= ρ ab b2 c + 4 = ρ abc 3b2 + 4c3
16 3 48
(D.37a)
Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes 443
/ c / b / x̄   / c / b   
x̄ 3
I yy1 = ρ (x + z ) d x dy dz = ρ
2 2
+ x̄ z dy dz
2
0 0 0 0 0 3
/ c / b 

 
1 a a2
= ρ (b − y) + 3 b − yz dy dz
3/2 2
3 b 0 0 b2
which after (D.6) and (D.8) renders
/   / c
1 a c a 2 3π 4 π 2 2 π 2
= ρ 2
b + 3 b z dz = ρ ab a + 4z 2 dz
3 b 0 b 16 4 16 0
 3
π c π
= ρ ab a 2 c + 4 = ρ abc 3a 2 + 4c3
16 3 48
(D.37b)

/ c / b / x̄   / c / b   
x̄ 3
Izz1 = ρ (x + y ) d x dy dz = ρ
2 2
+ x̄ y dy dz
2
0 0 0 0 0 3
/ /  2 c b 
 
1 a a
= ρ (b − y) 3/2
+ 3y 2
b − y dy dz
3 b 0 0 b2
which after (D.7) and (D.8)
/   /
1 a c a 2 3π 4 π 4 π 2 c
= ρ b + 3 b dz = ρ ab a + b 2
dz
3 b 0 b2 16 16 16 0
π
= ρ abc a 2 + b2 (D.37c)
16
The Inertia Products
The off-diagonal elements of the inertia matrix follows from (D.32). In the particular
integration order x-y-z they yield:
/ c / b / x̄  
Ix y1 = −ρ x y d x dy dz
0 0 0
/  / / / b 
x̄ 2 c b
1 a2 c 2
= −ρ y dy dz = − ρ 2 b − y 2 y dy dz
0 0 2 2 b 0 0
2 / c  4
1 a b 1
=− ρ 2 dz = − ρ a 2 b2 c
2 b 0 4 8
/ c / b / x̄  
Ix z1 = −ρ x z d x dy dz
0 0 0
/ / / / b 
c
x̄ 2 b
1 a2 c 2
= −ρ z dy dz = − ρ 2 b − y 2 z dy dz
0 0 2 2 b 0 0
2 / c 3  / c
1 a 2b 1 1
=− ρ 2 z dz = − ρ a 2 b z dz = − ρ a 2 bc2
2 b 0 3 3 0 6
444 Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes
/ c / b / x̄  
I yz1 = −ρ yz d x dy dz
0 0 0
/ c / b / / b   
a c
= −ρ x̄ yz dy dz = −ρ y b − y z dy dz
2 2
0 0 b 0 0
which after (D.9) with (m, n) = (1, 1/2) :
/   / c
a c b3 1 1
= −ρ z dz = − ρ ab2 z dz = − ρ a 2 bc2
b 0 3 3 0 6

The Inertia Matrix


Since the volume of this body is V = π4 abc, the mass is m = π4 ρ abc then the inertia
moments and the products of inertia of this body w.r.t. the frame origin are

1 1 1
I x x1 = m(3b2 + 4c2 ); I yy1 = m(3a 2 + 4c2 ); Izz1 = m(a 2 + b2 )
12 12 4
1 2 2
Ix y1 = − m ab; Ix z1 = − m ac; I yz1 = − m bc
2π 3π 3π
Then the inertia matrix of this figure of homogenous density referred to the local
frame at the distal corner, as in Fig. D.7 is given as:
⎡ ⎤
π(3b2 + 4c2 ) −6ab −8ac
1
I1 = m⎣ −6ab π(3a 2 + 4c2 ) −8bc ⎦ (D.38)
12π −8ac −8bc 3π(a + b )
2 2

The expression of the inertia matrix referred at the center of mass after (D.33)
needs [r c ×]2 which is computed after the center of mass vector obtained from Exam-
ple D.7 and (1.101):
⎛ 4 ⎞ ⎡ ⎤
3π a −8b2 − 94 π 2 c2 16ab 6π ac
⎝ 4 b⎠ 1 ⎣ ⎦
rc = 3π ⇒ [r c ×] = 2
16ab −8a 2 − 4 π 2 c2
9
6π bc
9π 2
1
2c 6π ac 6π bc −16(a 2 + b2 )

Then if follows straight-forward that inertia matrix of quarter ellipsoid segment


prism at the center of mass of the body is indeed

I c = I 1 + m[r c ×]2
⎡ ⎤
(9 − π642 )b2 + 3c2 −( 18
π
− π642 ) ab 0
1 ⎣ ⎦
= m −( π − π2 ) ab (9 − π2 )a 2 + 3c2
18 64 64
0
36
0 0 (9 − 64
π2
)(a 2
+ b 2
)

Example D.23 (One-octant segment of an ellipsoid) This figure correspond to the


octal part of an ellipsoid of Example D.8 (Fig. D.23).
Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes 445

⎛3 ⎞
8
a
⎜3 ⎟
rc = ⎝ 8 b ⎠
3
8
c

π
V = abc
6

y2 z2 a z2 b√ 2
x̄ = a 1− − 2 = ȳ 2 − y 2 ; ȳ = b 1 − = c − z2 ; z̄ = c
b2 c b c 2 c

Fig. D.23 Ellipsoid of Example D.8

The Inertia Moments


The inertia moments, i.e.the diagonal elements of the inertia matrix are given by
evaluation of (D.31a)–(D.31c). In the particular integration order x-y-z they became

/ c / ȳ / x̄  
I x x1 = ρ (y 2 + z 2 ) d x dy dz
0 0 0
/ c / ȳ    / / b  ' 
a c
=ρ y + z 2 x̄ dy dz = ρ
2
y2 + z2 ȳ 2 − y 2 dy dz
0 0 b 0 0
which after (D.6) and (D.7)
/ /   
a c  π 4 π 2 2 π a b2 c 2  2 2 
=ρ ȳ + ȳ z dz = ρ b c − z 2
+ 4c 2
c 2
− z 2
z 2 dz
b 0 16 4 16 b c4 0
      
π ab 8 5 2 5 π
= ρ 4 b2 c + 4c2 c = ρ abc b2 + c2 (D.39a)
16 c 15 15 30

/ c / ȳ / x̄   / c / ȳ  3  

I yy1 = ρ (x 2 + z 2 ) d x dy dz = ρ + x̄ z 2 dy dz
0 0 0 0 0 3
/ c / ȳ  2 
 
1 a a
= ρ ( ȳ − y)3/2 + 3 ȳ − y z 2 dy dz (D.39b)
3 b 0 0 b2
which after (D.6) and (D.8)
/   /   
1 a c a 2 3π 4 π 2 2 π ab c 2  2  
2 2 + 4c2 c2 − z 2 z 2 dz
= ρ ȳ + 3 ȳ z dz = ρ a c − z
3 b 0 b2 16 4 16 c4 0
π  
= ρ abc a 2 + c2
30
(D.39c)
446 Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes
/ c / ȳ / x̄   / c / ȳ   
x̄ 3
Izz1 = ρ (x + y ) d x dy dz = ρ
2 2
+ x̄ y dy dz
2
0 0 0 0 0 3
/ c / ȳ 

 
1 a a2
= ρ ( ȳ − y) + 3y ȳ − y dy dz
3/2 2
3 b 0 0 b2
which after (D.7) and (D.8)
/   /
1 a c a 2 3π 4 π 4 π ab 2 c 2 2
= ρ 2
ȳ + 3 ȳ dz = ρ 4
a + b 2
c − z 2 dz
3 b 0 b 16 16 16 c 0
 
π ab 2 8 π
= ρ 4 a + b2 c5 = ρ abc a 2 + b2
16 c 15 30
(D.39d)

The Inertia Products


The off-diagonal elements of the inertia matrix follows from (D.32). In the particular
integration order x-y-z they yield:
/ c / ȳ / x̄  
Ix y1 = −ρ x y d x dy dz
0 0 0
/ c /  ȳ / / ȳ
2

x̄ 2 1 a2 c
= −ρ y dy dz = − ρ 2 ȳ − y y dy dz
2
0 0 2 2 b 0 0
/   /
1 a 2 c ȳ 4 1 a 2 b2 c 2 2
=− ρ 2 dz = − ρ 4 c − z 2 dz
2 b 0 4 8 c 0
 
1 a 2 b2 8 5 1
=− ρ 4 c = − ρ a 2 b2 c
8 c 15 15

/ c / ȳ / x̄  
Ix z1 = −ρ x z d x dy dz
0 0 0
/ c /  / / ȳ 
x̄ 2 ȳ
1 a2 c 2
= −ρ z dy dz = − ρ 2 ȳ − y z dy dz
2
0 0 2 2 b 0 0
/   /
1 a 2 c 2 ȳ 3 1 a2b c 2 3/2
=− ρ 2 z dz = − ρ 3 z c − z2 dz
2 b 0 3 3 c 0
after (D.10) with n = 3/2 :
 
1 a 2 b c5 1
=− ρ 3 = − ρ a 2 bc2
3 c 5 15
Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes 447
/ c / ȳ / x̄  
I yz1 = −ρ yz d x dy dz
0 0 0
/ c / ȳ / / ȳ   
a c
= −ρ x̄ yz dy dz = −ρ y ȳ − y z dy dz
2 2
0 0 b 0 0
/   /
a c ȳ 3 1 a2b c 2 3/2
= −ρ z dz = − ρ 3 z c − z2 dz
b 0 3 3 c 0
 
1 a 2 b c5 1
=− ρ 3 = − ρ ab2 c2
3 c 5 15

The Inertia Moments


Since the volume of this body is V = π6 abc, the mass is m = π6 ρ abc then the inertia
moments and the products of inertia of the on-octant segment ellipsoid w.r.t. the
frame origin are

1 1 1
I x x1 = m(b2 + c2 ); I yy1 = m(a 2 + c2 ); Izz1 = m(a 2 + b2 )
5 5 5
2 2 2
Ix y1 = − m ab; Ix z1 = − m ac; I yz1 = − m bc
5π 5π 5π
Then the inertia matrix of this figure of homogenous density referred to the local
frame at the distal corner, as in Fig. D.8 is given as:
⎡ ⎤
π(b2 + c2 ) −2ab −2ac
1 ⎣
I1 = m −2ab π(a 2 + c2 ) −2bc ⎦ (D.40)
5π −2ac −2bc π(a 2 + b2 )

The expression of the inertia matrix referred at the center of mass after (D.33)
needs [r c ×]2 which is computed after the center of mass vector obtained from Exam-
ple D.8 and (1.101):
⎛3 ⎞ ⎡ 2 ⎤
a −b − c2 ab ac
8 9
r c = ⎝ 38 b ⎠ ⇒ [r c ×]2 = ⎣ ab −a 2 − c2 bc ⎦
3 64 ac bc −a − b2
2
8
c

Then if follows straight-forward that inertia matrix of triangular prism at its center
of mass is

I c = I 1 + m[r c ×]2
⎡ ⎤
19π(b2 + c2 ) (45π − 128)ab (45π − 128)ac
1
= m ⎣(45π − 128)ab 19π(a 2 + c2 ) (45π − 128)bc ⎦
320π (45π − 128)ac (45π − 128)bc 19π(a 2 + b2 )
448 Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes

⎛1 ⎞
π
a
⎜1 ⎟
rc = ⎝ π b ⎠
1
4
c

π
V = abc
12

z 2 y2 a z b
x̄ = a 1− − = ȳ 2 − y 2 ; ȳ = b 1 − = (c − z) ; z̄ = c
c b2 b c c

Fig. D.24 One-quarter elliptical cone of Example D.9

Example D.24 (Quarter of an elliptic cone) This figure correspond to the one-quarter
elliptical cone of Example D.9 (Fig. D.24).

The inertia moments


The inertia moments, i.e.the diagonal elements of the inertia matrix are given by
evaluation of (D.31a)–(D.31c). In the particular integration order x-y-z they became
/ c / ȳ / x̄  
I x x1 = ρ (y 2 + z 2 ) d x dy dz
0 0 0
/ c / ȳ  
 / / b  '

a c
=ρ y 2 + z 2 x̄ dy dz = ρ y2 + z2 ȳ 2 − y 2 dy dz
0 0 b 0 0
which after (D.6) and (D.7)
/ /
a c  π 4 π 2 2 π a b2 c  2 
4 + 4c2 (c − z)2 z 2 dz
=ρ ȳ + ȳ z dz = ρ b (c − z)
b 0 16 4 16 b c4 0
and after (D.9) with (m, n) = (0, 4) and (m, n) = (2, 2) :
      
π ab 2 1 5 2 1 5 π
= ρ 4 b c + 4c c = ρ abc 3b2 + 2c2
16 c 5 30 240
Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes 449
/ c / ȳ / x̄   / c / ȳ   
x̄ 3
I yy1 = ρ (x 2 + z 2 ) d x dy dz = ρ + x̄ z 2 dy dz
0 0 0 0 0 3
/ /   
1 a c ȳ a2 
= ρ ( ȳ − y) 3/2
+ 3 ȳ − y z 2
dy dz
3 b 0 0 b2
which after (D.6) and (D.8)
/   /
1 a c a 2 3π 4 π 2 2 π ab c  2 
I yy1 = ρ 2
ȳ + 3 ȳ z dz = ρ 4
a (c − z)4 + 4c2 (c − z)2 z 2 dz
3 b 0 b 16 4 16 c 0
and again after (D.9) with (m, n) = (0, 4) and (m, n) = (2, 2) :
π  
= ρ abc 3a 2 + 2c2
240

/ c / ȳ / x̄   / c / ȳ   
x̄ 3
Izz1 = ρ (x 2 + y 2 ) d x dy dz = ρ + x̄ y 2 dy dz
0 0 0 0 0 3
/ / ȳ  2 
 
1 a c a
= ρ ( ȳ − y) + 3y ȳ − y dy dz
3/2 2
3 b 0 0 b2
which after (D.7) and (D.8)
/   /
1 a c a 2 3π 4 π 4 π ab 2 c
= ρ ȳ + 3 ȳ dz = ρ a +b 2
(c − z)4 dz
3 b 0 b2 16 16 16 c4 0
 
π ab 2 1 5 π
= ρ 4 a +b 2
c = ρ abc a 2 + b2
16 c 5 80

The Inertia Products


The off-diagonal elements of the inertia matrix follows from (D.32). In the particular
integration order x-y-z they yield:
/ c / ȳ / x̄  
Ix y1 = −ρ x y d x dy dz
0 0 0
/  / / / ȳ 
x̄ c
1 a2 c 2 ȳ 2
= −ρ y dy dz = − ρ 2 ȳ − y 2 y dy dz
0 0 2 2 b 0 0
2 / c  4 /
1 a ȳ 1 a 2 b2 c
=− ρ 2 dz = − ρ 4 (c − z)4 dz
2 b 0 4 8 c 0
 
1 a 2 b2 1 5 1
=− ρ 4 c = − ρ a 2 b2 c
8 c 5 40
450 Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes
/ c / ȳ / x̄  
Ix z1 = −ρ x z d x dy dz
0 0 0
/ c / ȳ / / ȳ
2

x̄ 2 1 a2 c
= −ρ z dy dz = − ρ 2 ȳ − y z dy dz
2
0 0 2 2 b 0 0
/   /
1 a 2 c 2 ȳ 3 1 a2b c
=− ρ 2 z dz = − ρ 3 z (c − z)3 dz
2 b 0 3 3 c 0
and after (D.9) with (m, n) = (1, 3) :
 
1 a2b 1 5 1
=− ρ 3 c = − ρ a 2 bc2
3 c 20 60

/ c / ȳ / x̄  
I yz1 = −ρ yz d x dy dz
0 0 0
/ c / ȳ / / ȳ   
a c
= −ρ x̄ yz dy dz = −ρ y ȳ − y z dy dz
2 2
0 0 b 0 0
/   /
a c ȳ 3 1 a2b c
= −ρ z dz = − ρ 3 z (c − z)3 dz
b 0 3 3 c 0
 
1 a2b 1 5 1
=− ρ 3 c = − ρ ab2 c2
3 c 20 60

The Inertia Moments


π π
Since the volume of this body is V = 12 abc, the mass is m = 12 ρ abc then the inertia
moments the products of inertia of one-octant segment of a ellipsoidal cone w.r.t. the
frame origin are

1 1 3
I x x1 = m(3b2 + 2c2 ); I yy1 = m(3a 2 + 2c2 ); Izz1 = m(a 2 + b2 )
20 20 20
3 1 1
Ix y1 =− m ab; Ix z1 = − m ac; I yz1 = − m bc
10π 5π 5π
Then the inertia matrix of this figure of homogenous density referred to the local
frame at the distal corner, as in Fig. D.8 is given as:
⎡ ⎤
π(3b2 + 2c2 ) −6ab −4ac
1
I1 = m⎣ −6ab π(3a 2 + 2c2 ) −4bc ⎦
20π −4ac −4bc 3π(a + b )
2 2

The expression of the inertia matrix referred at the center of mass after (D.33)
needs [r c ×]2 which is computed after the center of mass vector obtained from Exam-
ple D.8 and (1.101):
Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes 451
⎛ ⎞ ⎡ ⎤
1a
−16b2 − c2 π 2 16ab 4acπ
⎜ π1 ⎟ 1 ⎣ ⎦
r c = ⎝ π b⎠ ⇒ [r c ×]2 = 16ab −16a 2 − c2 π 2 4bcπ
16π 2
1
4c
4acπ 4bcπ −16a 2 − 16b2

Then if follows straight-forward that inertia matrix of triangular prism at its center
of mass is

I c = I 1 + m[r c ×]2
⎡ ⎤
(12π 2 − 80)b2 + 3π 2 c2 −(24π − 80)ab 4πac
1
= m⎣ −(24π − 80)ab (12π 2 − 80)a 2 + 3π 2 c2 4πbc ⎦
80π 2
4πac 4πbc (12π 2 − 80)(a 2 + b2 )

D.2.3 Coordinates Transformation of Inertia Moment


Matrices

Example D.25 (The inertia tensor of rotated cylinder) Consider a cylinder with three
different orientations of the local reference frame; each with one of the Cartesian
orthogonal axes along the axial direction of the cylinder, as shown in Fig. D.25.

Notice that the first cylinder in Fig. D.25 has the same frame orientation that the
one in Example D.14, with length respectively for the three cases: l = A, l = B, and
l = C. Then after expression (D.25) the inertia tensor of the first cylinder is
⎡ 2 ⎤
6r 0 0
m ⎣ ⎦
I (1)
c = 0 l 2 + 3r 2 0
12 0 0 l + 3r
2 2

Consider the following rotation matrices representing the frame reallocation from
position (1) to positions (2) and (3) respectively

Fig. D.25 Cylinder with different local reference frame assignment


452 Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes
⎡ ⎤ ⎡ ⎤
0 10 0 01
R12 = Rz,−π/2 = ⎣−1 0 0⎦ ; R13 = R y,π/2 = ⎣ 0 1 0⎦
0 01 −1 0 0

jT
Then, after transformation (5.25) (i.e.: I (c j) = Ri I (i)
j
c Ri ) it follows that the inertia
matrices for the second and third cylinders in Fig. D.25 are
⎡ 2 ⎤
l + 3r 2 0 0
T m ⎣ ⎦
I (2)
c = R12 I (1)
c R1 =
2
0 6r 2 0 (D.41)
12 0 0 l + 3r
2 2
⎡ 2 ⎤
l + 3r 2
0 0
m ⎣ l 2 + 3r 2 0 ⎦
T
I (3)
c = R13 I (1)
c R1 =
3
0 (D.42)
12 0 0 6r 2

Example D.26 (Inertia matrix of a rotated quarter of an elliptical prism) Consider


the quarter of an elliptical prism of Example D.7 whose inertia matrix have been
found in Example D.22, and whose local reference frame will be named for this
example purposes as 1 .

⎛ 4


a
⎜4 ⎟
r (1)
c = ⎝ 3π b ⎠
1
2
c

π
V = abc
4

Quarter segment of an elliptical prism with frame Σ1


⎡ ⎤
π(3b2 + 4c2 ) −6ab −8ac
1
I (1)
1 = m⎣ −6ab π(3a + 4c )
2 2 −8bc ⎦; I c = I 1 + m[r c ×]2
12π
−8ac −8bc 3π(a 2 + b2 )

Now consider the same body having a different definition of the local reference
frame as in Fig. D.26:
Notice que while the volume remains the same, the coordinates of the same center
of mass suffers a swing between the first and third coordinates.
The rotation matrix that relates both reference frames is found after rule (3.24) as
a concatenation of a 90 deg clockwise rotation around the x-axis followed by a 90
deg clockwise rotation around the z-axis:
Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes 453

⎛1 ⎞
2
a
⎜4 ⎟
r (2)
c = ⎝ 3π b⎠
4

c

π
V = abc
4
Fig. D.26 Quarter segment of an elliptical prism with rotated frame 2

⎡ ⎤⎡ ⎤ ⎡ ⎤
1 0 0 0 10 010
R12 = Rx,−π/2 Rz,−π/2 = ⎣0 0 1⎦ ⎣−1 0 0⎦ = ⎣0 0 1⎦
0 −1 0 0 01 100

( j) jT
Then, after transformation (5.25) (i.e.: I 1 = Ri I (i)
j
1 Ri ) it follows that the inertia
matrix of the quarter elliptical prism of Fig. D.26 is
⎡ ⎤
3π(a 2 + b2 ) −8ac −8bc
1
I (2) I (1) m ⎣ −8ac ⎦;
T
1 = R12 1 R1
2
= π(3b2 + 4c2 ) −6ab
12π −8bc −6ab π(3a + 4c )
2 2

And after the equivalences ā = c, b̄ = a and c̄ = b it follows:


⎡ ⎤
3π(b̄2 + c̄2 ) −8ā b̄ −8ā c̄
1
I (2)
1 = m ⎣ −8ā b̄ π(4ā 2 + 3c̄2 ) −6b̄c̄ ⎦ (D.43)
12π
−8ā c̄ −6b̄c̄ π(4ā + 3b̄ )
2 2

Example D.27 (Inertial-coordinates-referred parallelepiped) Consider the sym-


metric parallelepiped of Example D.10, with an orientation does not match the
orientation of an external reference frame 0 .

From Example D.10 the inertia tensor of this body at its center of mass w.r.t. its
local frame is given by (D.22):
⎡ 2 ⎤
b + c2 0 0
m⎣
I (1)
c = 0 a 2 + c2 0 ⎦
3 0 0 a + b2
2

And from expression (5.30) the inertia tensor at the center of mass w.r.t. to the
base frame 0 would be
I (0) (1) T
c (θ) = R(θ) I c R (θ)
454 Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes

Fig. D.27 Rotated Parallelepiped

For the particular case where the parallelepiped is rotated about the vertical z-axis,
the Rotation matrix is given by (3.16):
⎡ ⎤
cos(ψ) − sin(ψ) 0
R01 = Rz,ψ = ⎣ sin(ψ) cos(ψ) 0 ⎦ ∈ S O(3)
0 0 1

Then the inertia tensor of the body in Fig. D.27 becomes


(0) (1) T
I c (θ) = Rz,ψ I c Rz,ψ
⎡      ⎤
a 2 + c2 sin2 (ψ) + b2 + c2 cos2 (ψ) − a 2 − b2 sin(ψ) cos(ψ) 0
m⎢       ⎥
= ⎢ − a 2 − b2 sin(ψ) cos(ψ) a 2 + c2 cos2 (ψ) + b2 + c2 sin2 (ψ) 0 ⎥
3 ⎣ ⎦
0 0 a 2 + b2

For the particular case where the parallelepiped is rotated about the horizontal
y-axis, the Rotation matrix is given by (3.17):
⎡ ⎤
cos(θ) 0 sin(θ)
R01 = R y,θ =⎣ 0 1 0 ⎦ ∈ S O(3)
− sin(θ) 0 cos(θ)
Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes 455

Then the inertia tensor of the body in Fig. D.27 becomes

I (0) (1) T
c (θ) = R y,θ I c R y,θ
⎡ 2 ⎤
a + b2 sin2 (θ) + b2 + c2 cos2 (θ) 0 (a 2 − c2 ) sin(θ) cos(θ)
m⎣ ⎦
= 0 a +c
2 2 0
3
(a 2 − c2 ) sin(θ) cos(θ) 0 (a 2 + b2 ) cos2 (θ) + (b2 + c2 ) sin2 (θ)

For the particular case where the parallelepiped is rotated about the horizontal
x-axis, the Rotation matrix is given by (3.18):
⎡ ⎤
1 0 0
R01 = Rx,φ = ⎣ 0 cos(φ) − sin(φ) ⎦ ∈ S O(3)
0 sin(φ) cos(φ)

Then the inertia tensor of the body in Fig. D.27 becomes

I (0) (1) T
c (θ) = R x,φ I c R x,φ
⎡ 2 ⎤
b + c2 0 0
m⎣ ⎦
= 0 (a 2 + b2 ) sin2 (φ) + (a 2 + c2 ) cos2 (φ) −(b2 − c2 ) sin(φ) cos(φ)
3
0 −(b2 − c2 ) sin(φ) cos(φ) (a 2 + b2 ) cos2 (φ) + (a 2 + c2 ) sin2 (φ)

Remarks
• Notice that in the last three cases, the inertia tensor is not longer constant when
referred to a frame that does not belongs to the body itself.
• The most general expression for complex rotations needs the general expression
of the 3D rotation. Since this matrix may have multiple representations according
to the parametric chosen set (Refer to Chap. 4) each representation produce a
particular inertia tensor when referred to the frame 0 . 

Example D.28 (Inertial-coordinates-referred sphere) Consider the sphere of Exam-


ple D.17, with an orientation does not match the orientation of an external reference
frame 0 (Fig. D.28).

Fig. D.28 Rotated Sphere


456 Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes

Fig. D.29 Parallelepiped


with reference frame at one
corner

From Example D.17 the inertia tensor of this body at its center of mass w.r.t. its
local frame is given by (D.17):
⎡ ⎤
1 0 0
2 2
I c = mr 2 ⎣ 0 1 0 ⎦ = mr 2 I3
5 0 0 1 5

Since the inertia tensor referred at the local frame is an scaled identity matrix, it
arise from expression (5.30) that the inertia tensor at the center of mass w.r.t. to the
base frame 0 remains unchanged regardless of the attitude of the sphere:

2 2 2
I (0) (1) T
c (θ) = R(θ) I c R (θ) = mr R(θ) I3 R T (θ) = mr 2 I3
5 5

D.2.4 Shifted Inertia Moment Matrices

Example D.29 The inertia tensor of a parallelepiped body w.r.t. on corner

Consider the body in Fig. D.29. This body is identical to that in Fig. D.10 but
where the reference frame is placed not at the centroid of the figure but at one corner.
The distance form the new position of the reference frame to the center of mass is
not longer zero but
⎛ ⎞ ⎡ ⎤
a b2 + c2 −ab −ac
r c = ⎝b ⎠ which after (1.101) ⇒ −[r c ×]2 = ⎣ −ab a 2 + c2 −bc ⎦
c −ac −bc a 2 + b2
Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes 457

The inertia matrix referred at the new position of the reference frame is computed
with the 3D parallel axes theorem (5.26) and the use the the inertia matrix at the
center of mass computed in Example D.10 given by (D.22):

I 1 = I c − m[r c ×]2
⎡4 2 ⎤ ⎡4 2 ⎤
3 (b + c ) −ab −ac (B + C 2 ) −AB −AC
2
⎣ ⎦ m ⎣3
=m −ab 3 (a
4 2
+ c2 ) −bc = −AB 3 (A
4
+ C 2)
2 −BC ⎦
4
−ac −bc 3 (a + b )
4 2 2 −AC −BC 3 (A + B )
4 2 2

(D.44)

Remarks
1. Notice that the inertia matrix (D.44) is identical to (D.35) with the proper correc-
tions in the dimensions nomenclature, corresponding to the body in Fig. D.4.
2. Notice that in this case, even if the body is symmetric, when the Inertia matrix is
referred to a shifted point (in this case the origin of the new reference frame) the
off-diagonal elements may not longer be zero. In this sense, this example may be
seen that the body is no longer symmetric in any direction from the new position
of the reference frame. 

Example D.30 (The inertia tensor of a elliptical prism w.r.t. a point in the edge)
Consider the body in Fig. D.30 being identical to that in Fig. D.12 but where the
reference frame is placed not at the centroid of the figure but at the edge of one of
the elliptical faces at the end of the horizontal plane.

The distance form the new position of the reference frame to the center of mass
is not longer zero but
⎛ ⎞ ⎡ ⎤
a b2 −ab 0
r c = ⎝b ⎠ which after (1.101) ⇒ −[r c ×]2 = ⎣−ab a 2 0 ⎦
0 0 0 a 2 + b2

Fig. D.30 Elliptical prism


with reference frame at one
edge
458 Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes

Fig. D.31 Ellipsoid with reference frame at one end

The inertia matrix referred at the new position of the reference frame is computed
with the 3D parallel axes theorem (5.26) and the use the the inertia matrix at the
center of mass computed in Example D.12 given by (D.24):
⎡5 ⎤
b2 + 41 c2
4
−ab 0
I 1 = I c − m[r c ×]2 = m ⎣ −ab a + 41 c2
4 2
3
0 ⎦
0 0 3
a + 4b
4 2 5 2
⎡5 2 1 2 ⎤
B + 4C −AB 0
1 ⎣4 ⎦
= m −AB A + 14 C 2
4 2
3
0
4
0 0 4 2
3
A + 5 2
4
B

Remark Notice again that even if this body is symmetric, the Inertia matrix when
referred at the new position of the reference frame some the off-diagonal elements
are not longer zero.
Since in this example with the new reference frame the body is symmetric only
along one axis (in this case the vertical z one), notice that the two off-diagonal
elements: Ix z and I yz , that are product along this symmetric z-axis becomes zero. 

Example D.31 (The inertia tensor of a ellipsoid w.r.t. the distal point along the
z-axis) Consider the body in Fig. D.31 being identical to that in Fig. D.16 but here
the reference frame is placed not at the centroid of the figure but at one end of the
vertical axis.

The distance form the new position of the reference frame to the center of mass
is not longer zero but
⎛ ⎞ ⎡ ⎤
0 c2 0 0
r c = ⎝0 ⎠ which after (1.101) ⇒ −[r c ×]2 = ⎣ 0 c2 0⎦
c 0 0 0
Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes 459

The inertia matrix referred at the new position of the reference frame is computed
with the 3D parallel axes theorem (5.26) and the use the the inertia matrix at the
center of mass computed in Example D.16 given by (D.28):
⎡ 2 ⎤
b + 6c2 0 0
m
I 1 = I c − m[r c ×]2 = ⎣ 0 a 2 + 6c2 0 ⎦
5 0 0 a 2 + b2
⎡ 2 ⎤
B + 6C 2 0 0
m ⎣ ⎦
= 0 A2 + 6C 2 0
20 0 0 A2 + B 2

Remark Notice that in this case, the new location of the reference frame allows two
orthogonal symmetry axes (x and y)producing that all off-diagonal elements to be
zero, despite that the origin of the reference frame is not at the center of mass. 

D.2.5 Inertia Moment Matrix of Complex bodies

The inertia tensors of complex bodies can be produced by the proper addition of
segmented parts. This section shows the reconstruction of Inertia Moment Matrix of
symmetric bodies from its non-symmetric basic shapes.

Example D.32 (The inertia tensor of a parallelepiped body) Consider the Paral-
lelepiped in Fig. D.32, being identical to the one in Example D.10, and whose inertia
tensor is given by (D.22):
⎡ 2 ⎤
b + c2 0 0
m⎣
Ic = 0 a 2 + c2 0 ⎦ (D.45)
3 0 0 a + b2
2

Then consider that this body is composed by 8 symmetric one-octant parallelepipeds,


each placed at one of the eight octants of the Cartesian space.

Then according to Example D.19 the inertia tensor of the small parallelepiped in
the first octant, w.r.t. to the local frame of the big parallelepiped is given by (D.35),
using the eighth part of the total mass of the big parallelepiped:
⎡ ⎤ ⎛1 ⎞
4(b2 + c2 ) −3ab −3ac 2a
1
I 11 = m 8 ⎣ −3ab 4(a 2 + c2 ) −3bc ⎦ ; r c = ⎝ 21 b ⎠
12
−3ac −3bc 4(a 2 + b2 ) 1
2c

where the mass m 8 of each small parallelepiped is one eight of the total mass m 8 =
m/8.
The inertia tensors for the other seven one-octant parallelepiped follows from
inertia moments and inertia product integrals (D.31) and (D.32) respectively with
460 Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes

Fig. D.32 Eight-octant parallelepiped composed by 8 one-octant parallelepipeds

Table D.1 Axis signs and integration limits for the 8 octants segments of a parallelepiped
Octant Axes signs Integration limits
x y z x y z
1 + + + [0, x̄] [0, ȳ] [0, z̄]
2 – + + [−x̄, 0] [0, ȳ] [0, z̄]
3 – – + [−x̄, 0] [− ȳ, 0] [0, z̄]
4 + – + [0, x̄] [− ȳ, 0] [0, z̄]
5 + + – [0, x̄] [0, ȳ] [−z̄, 0]
6 – + – [−x̄, 0] [0, ȳ] [−z̄, 0]
7 – – – [−x̄, 0] [− ȳ, 0] [−z̄, 0]
8 + – – [0, x̄] [− ȳ, 0] [−z̄, 0]

ρ abc = m/8 and proper integration limits, which are given accordingly to the octant
of each small parallelepiped as shown in Table D.1, producing the following inertia
tensors:

⎡ ⎤
4(b2 + c2 ) 3ab 3ac
1
I 21 = m8 ⎣ 3ab 4(a 2 + c2 ) −3bc ⎦
12
3ac −3bc 4(a 2 + b2 )

⎡ ⎤
4(b2 + c2 ) −3ab 3ac
1
I 31 = m 8 ⎣ −3ab 4(a 2 + c2 ) 3bc ⎦
12 2 2
3ac 3bc 4(a + b )
Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes 461

⎡ ⎤
4(b2 + c2 ) 3ab −3ac
1
I 41 = m8 ⎣ 3ab 4(a 2 + c2 ) 3bc ⎦
12 2 2
−3ac 3bc 4(a + b )

⎡ ⎤
4(b2 + c2 ) −3ab 3ac
1
I 51 = m 8 ⎣ −3ab 2 2
4(a + c ) 3bc ⎦
12
3ac 3bc 4(a 2 + b2 )

⎡ ⎤
4(b2 + c2 ) 3ab −3ac
1
I 61 = m8 ⎣ 3ab 4(a 2 + c2 ) 3bc ⎦
12 2 2
−3ac 3bc 4(a + b )

⎡ ⎤
4(b2 + c2 ) −3ab −3ac
1
I 71 = m 8 ⎣ −3ab 2 2
4(a + c ) −3bc ⎦
12
−3ac −3bc 4(a 2 + b2 )

⎡ ⎤
4(b2 + c2 ) 3ab 3ac
1
I 81 = m8 ⎣ 3ab 4(a 2 + c2 ) −3bc ⎦
12
3ac −3bc 4(a 2 + b2 )

Then, the Inertia Tensor of the big parallelepiped (D.45) is the algebraic addition
of the inertia tensor of all the small parallelepipeds, provided that all the small
segments in which the big parallelepiped is separated keeps the same pose (position
and attitude) of the local reference frame:

Ic = I 11 + I 21 + I 31 + I 41 + I 51 + I 61 + I 71 + I 81

Remarks
1. Notice for the eight one-octant cases that the inertia moments (the diagonal ele-
ments) are the same while the inertia products (the off-diagonal elements) differs
only in the signs, accordingly to Table D.1; and the corresponding order 3 Inertia
tensor are equal for segments in opposite octants: 1 vs 7, 2 vs 8, 3 vs 5, and 4 vs
6.
2. Consider the addition of some the these small blocks and notice they renders
different Inertia tensors. Notice for the inertia tensor at the local frame origin that
for the first three cases there is only one axis of symmetry; the x-axis for the first
case, the y-axis for the second case, and the z-axis for the third case; In these
cases two out out three inertia product becomes zero due to this symmetry. For the
462 Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes

fourth case there are two axes of symmetry: the x-axis and the y-axis, producing
a diagonal inertia tensor. Also for the inertia tensor at the center of mass, there
is symmetry in the three direction of the coordinates axes, producing diagonal
Inertia matrices:

Octants 1 and 2:

I 121 = I 11 + I 21
⎡ ⎤
4(b2 + c2 ) 0 0
1
= (2 m 8 ) ⎣ 0 4(a 2 + c2 ) −3bc ⎦
12
0 −3bc 4(a 2 + b2 )

⎛ ⎞ I 12c = I 121 + 2m 8 [r c ×]2


0
⎡ 2 ⎤
r c = ⎝ 21 b⎠ ; ⇒ 1
b + c2 0 0
1
c = m8 ⎣ 0 4a + c
2 2 0 ⎦
2 6
0 0 4a 2 + b2

Octants 1 and 4:

I 141 = I 11 + I 41
⎡ ⎤
4(b2 + c2 ) 0 −3ac
1
= (2 m 8 ) ⎣ 0 4(a + c )
2 2 0 ⎦
12
−3ac 0 4(a 2 + b2 )

⎛1 ⎞
2
a I 14c = I 141 + 2m 8 [r c ×]2
rc = ⎝ 0 ⎠ ; ⇒ ⎡ 2 ⎤
1 4b + c2 0 0
c 1
2 = m8 ⎣ 0 a 2 + c2 0 ⎦
6
0 0 a 2 + 4b2

Octants 1 and 5 :

I 151 = I 11 + I 51
⎡ ⎤
4(b2 + c2 ) −3ab 0
1
= (2 m 8 ) ⎣ −3ab 4(a 2 + c2 ) 0 ⎦
12
0 0 4(a 2 + b2 )

⎛1 ⎞ I 15c = I 151 + 2m 8 [r c ×]2


2
a ⎡ 2 ⎤
r c = ⎝ 21 b ⎠ ; ⇒ b + 4c2 0 0
1
= m8 ⎣ 0 a 2 + 4c2 0 ⎦
0 6
0 0 a +b
2 2
Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes 463

Octants 5 through 8:

I 56781 = I 51 + I 61 + I 71 + I 81
⎡ ⎤
4(b2 + c2 ) 0 0
1 ⎣ ⎦
= (4 m 8 ) 0 4(a + c )
2 2 0
12
0 0 4(a 2 + b2 )

⎛ ⎞ I 5678c = I 56781 + 4m 8 [r c ×]2


0 ⎡ 2 ⎤
rc = ⎝ 0 ⎠ ; ⇒ 1
4b + c2 0 0
− 21 c = m8 ⎣ 0 4a + c
2 2 0 ⎦
3
0 0 4(a 2 + b2 )

Example D.33 (The inertia tensor of an ellipsoidal prism) Consider the ellipsoidal
prims on Fig. D.33 being identical to the one in Example D.12, and whose inertia
tensor is given by (D.24):
⎡ ⎤
3b2 + 3c2 0 0
m ⎣ ⎦
Ic = 0 4a 2 + 3c2 0 (D.46)
12 0 0 4a 2 + 3b2

Then consider that this body is composed by 8 one-octant bodies similar of the
form of Example D.7 and properly rotated as in Example D.26; each placed at one
of the eight octants of the Cartesian space, as shown in Fig. D.33.
As in the previous example the Inertia Tensor of the full ellipsoidal prism (D.46)
is the algebraic addition of the inertia tensor of all octant segments of the prism,

Fig. D.33 Eight-octant elliptical prism composed by 8 one-octant segment


464 Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes

referred to the same position in the prism:


8
Ic = I j1
j=1

The inertia tensor of the first octant segment is given by (D.43) as the rotated one-
octant segment of the ellipsoidal prism in Example D.26. Here consider that de mass
is the eighth part of the total mass of the full ellipsoidal prism): m 8 = m/8. The inertia
tensors for the other seven one-octant segments of the ellipsoidal prims follows from
inertia moments and inertia product integrals (D.31) and (D.32) respectively with
the proper integration limits, which are given accordingly to the octant of each small
segment as shown in Table D.1, as in previous example.
A more simple way arise by changing the sings in the inertia products according
to the signs changes in Table D.1, producing the following inertia tensors:
⎡ ⎤
3π(b2 + c2 ) −8ab −8ac
1
I 11 = m8 ⎣ −8ab π(4a 2 + 3c2 ) −6bc ⎦
12π
−8ac −6bc π(4a 2 + 3b2 )

⎡ ⎤
3π(b2 + c2 ) 8ab 8ac
1 ⎣ ⎦
I 21 = m8 8ab 2 2
π(4a + 3c ) −6bc
12π 2 2
8ac −6bc π(4a + 3b )

⎡ ⎤
3π(b2 + c2 ) −8ab 8ac
1
I 31 = m8 ⎣ −8ab π(4a 2 + 3c2 ) 6bc ⎦
12π
8ac 6bc π(4a 2 + 3b2 )

⎡ ⎤
3π(b2 + c2 ) 8ab −8ac
1 ⎣ ⎦
I 41 = m8 8ab π(4a + 3c )
2 2 6bc
12π
−8ac 6bc π(4a 2 + 3b2 )

⎡ ⎤
3π(b2 + c2 ) −8ab 8ac
1
I 51 = m8 ⎣ −8ab π(4a 2 + 3c2 ) 6bc ⎦
12π
8ac 6bc π(4a 2 + 3b2 )

⎡ ⎤
3π(b2 + c2 ) 8ab −8ac
1 ⎣ ⎦
I 61 = m8 8ab 2 2
π(4a + 3c ) 6bc
12π
−8ac 6bc π(4a 2 + 3b2 )
Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes 465

⎡ ⎤
3π(b2 + c2 ) −8ab −8ac
1
I 71 = m8 ⎣ −8ab π(4a 2 + 3c2 ) −6bc ⎦
12π
−8ac −6bc π(4a 2 + 3b2 )

⎡ ⎤
3π(b2 + c2 ) 8ab 8ac
1 ⎣ ⎦
I 81 = m8 8ab 2 2
π(4a + 3c ) −6bc
12π
8ac −6bc π(4a 2 + 3b2 )

Notice also that the combination of some of these small blocks renders different
Inertia tensors:
Octants 1 and 2:

I 121 = I 11 + I 21
⎡ ⎤
3π(b2 + c2 ) 0 0
1 ⎢ 2 2 ⎥
= (2 m 8 ) ⎣ 0 π(4a + 3c ) −6bc ⎦
12π
0 −6bc π(4a 2 + 3b2 )

⎛ ⎞
0 I 12c = I 121 + 2m 8 [r c ×]2
⎝ 4 ⎠ ⎡  ⎤
r c = 3π b ; ⇒ 1 − 32 (b2 + c2 ) 0 0
4 c ⎢ 2 9π 2   ⎥
⎢ ⎥
3π = m8 ⎢ 0 2 a 2 + 1 − 32 c2 − (9π−32) bc ⎥
⎣ 3 9π 2 9π 2  ⎦
0 − (9π−32)
2 bc
2 a 2 + 1 − 32 b2
3 2
9π 9π

Octants 1 and 4:

I 141 = I 11 + I 41
⎡ ⎤
3π(b2 + c2 ) 0 −8ac
1 ⎢ 2 2 ⎥
= (2 m 8 ) ⎣ 0 π(4a + 3c ) 0 ⎦
12π
−8ac 0 π(4a 2 + 3b2 )

⎛1 ⎞
a I 14c = I 141 + 2m 8 [r c ×]2
2  
rc = ⎝ 0 ⎠ ; ⇒ ⎡
1 b2 + 1 − 32 c2 0 0

4 ⎢2 2 9π 2   ⎥
c = m8 ⎢ 1 a2 + 1 32 c2 ⎥
3π ⎣ 0 6 2 − 9π 2 0 ⎦
0 0 1 a 2 + 1 b2
6 2
466 Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes

Octants 1 and 5:

I 151 = I 11 + I 51
⎡ ⎤
3π(b2 + c2 ) −8ab 0
1 ⎢ 2 2 ⎥
= (2 m 8 ) ⎣ −8ab π(4a + 3c ) 0 ⎦
12π
0 0 π(4a 2 + 3b2 )

⎛ 1
⎞ I 15c = I 151 + 2m 8 [r c ×]2
a ⎡   ⎤
2 1 b2 + 1 − 32 c2
rc = ⎝ 4 b⎠ ; ⇒ ⎢ 2 2 9π 2 0 0

3π = m8 ⎢⎣ 0 1 a 2 + 1 c2
6 2  0

 ⎦
0 0 0 1 a2 + 1 − 32 b2
6 2 2

Octants 5 through 8:

I 56781 = I 51 + I 61 + I 71 + I 81
⎡ ⎤
3(b2 + c2 ) 0 0
1 ⎢ 2 2 ⎥
= (4 m 8 ) ⎣ 0 4a + 3c 0 ⎦
12
0 0 4a 2 + 3b2

⎛ ⎞
0 I 5678c = I 56781 + 4m 8 [r c ×]2
rc = ⎝ 0 ⎠ ; ⇒ ⎡   ⎤
b2 + 1 − 642 c2 0 0
− 3π
4
c = m8 ⎢
⎢ 9π 
4 a 2 + 1 − 64 c2
 ⎥

⎣ 0 3 9π 2
0 ⎦
0 0 4 a 2 + b2
3

Example D.34 (The inertia tensor of an ellipsoid) Consider the ellipsoid below,
being identical to the one in Example D.16, and whose inertia tensor is given by
(D.28) (Fig. D.34):

⎡ 2 ⎤
b + c2 0 0
m⎣
Ic = 0 a 2 + c2 0 ⎦ (D.47)
5 0 0 a + b2
2

Then consider that this body is composed by 8 one-octant bodies–similar to the


body of Example D.8–placed at one of the eight octants of the Cartesian space and
properly rotate with an eighth part of the total mass of the full ellipsoid (m 8 = m/8).
The inertia tensor of the first octant segment is given by (D.40) in Example D.23.
The inertia tensors for the other seven one-octant segments of the ellipsoidal prims
follows either from inertia moments and inertia product integrals (D.31) and (D.32)
respectively with the proper integration limits or by changing the signs in the inertia
products according to Table D.1:
Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes 467

Fig. D.34 Eight-octant ellipsoid composed by 8 one-octant segment

⎡ ⎤ ⎛ ⎞
π(b2 + c2 ) −2ab −2ac 3a
1 ⎢ ⎥ ⎜ 83 ⎟
I 11 = m ⎣ −2ab π(a 2 + c2 ) −2bc ⎦ ; r c = ⎝ 8 b⎠
5π 8 2 2 3c
−2ac −2bc π(a + b ) 8

⎡ ⎤
π(b2 + c2 ) 2ab 2ac
1
I 21 = m8 ⎣ 2ab π(a 2 + c2 ) −2bc ⎦
5π 2ac −2bc π(a 2 + b2 )
⎡ ⎤
π(b2 + c2 ) −2ab 2ac
1
I 31 = m 8 ⎣ −2ab π(a 2 + c2 ) 2bc ⎦
5π 2ac 2bc π(a + b )
2 2

⎡ ⎤
π(b2 + c2 ) 2ab −2ac
1
I 41 = m 8 ⎣ −2ab π(a 2 + c2 ) 2bc ⎦
5π 2ac 2bc π(a 2 + b2 )
⎡ ⎤
π(b2 + c2 ) −2ab 2ac
1
I 51 = m 8 ⎣ −2ab π(a 2 + c2 ) 2bc ⎦
5π 2ac 2bc π(a + b )
2 2

⎡ ⎤
π(b2 + c2 ) 2ab −2ac
1
I 61 = m8 ⎣ 2ab π(a 2 + c2 ) 2bc ⎦
5π −2ac 2bc π(a + b )
2 2
468 Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes

⎡ ⎤
π(b2 + c2 ) −2ab −2ac
1
I 71 = m 8 ⎣ −2ab π(a 2 + c2 ) −2bc ⎦
5π −2ac −2bc π(a 2 + b2 )

⎡ ⎤
π(b2 + c2 ) 2ab 2ac
1
I 81 = m8 ⎣ 2ab π(a 2 + c2 ) −2bc ⎦
5π 2ac −2bc π(a 2 + b2 )

As in the two previous examples, the Inertia Tensor of the ellipsoid (D.47) is the
algebraic addition of the inertia tensor of
(all octant segments of the prism, referred
to the same position in the prism: Ic = 8j=1 I j1 .
Again, the addition of some of these small blocks renders different Inertia tensors:
Octants 1 and 2:

I 121 = I 11 + I 21
⎡ ⎤
π(b2 + c2 ) 0 0
2 ⎣
= (2 m 8 ) 0 2 2
π(a + c ) −2bc ⎦

0 −2bc π(a 2 + b2 )

⎛ ⎞ I 12c = I 121 + 2m 8 [r c ×]2


0 ⎡ ⎤
r c = ⎝ 38 b⎠ ; ⇒ 1
83(b2 + c2 ) 0 0
3 = m8 ⎣ 0 2
128a + 83c 2 −211bc ⎦
8
c 160
0 −211bc 128a 2 + 83b2

Octants 1 and 4:

I 141 = I 11 + I 41
⎡ ⎤
π(b2 + c2 ) 0 −2ac
2
= (2 m 8 ) ⎣ 0 2 2
π(a + c ) 0 ⎦

−2ac 0 π(a 2 + b2 )

⎛3 ⎞
a I 14c = I 141 + 2m 8 [r c ×]2
8
⎡ ⎤
rc = ⎝ 0 ⎠ ; ⇒ 128b2 + 83c2 0 −211ac
1
3
c = m8 ⎣ 0 2 2
83(a + c ) 0 ⎦
8 160
−211ac 0 83a 2 + 128b2
Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes 469

Octants 1 and 5:

I 151 = I 11 + I 51
⎡ ⎤
π(b2 + c2 ) −2ab 0
2
= (2 m 8 ) ⎣ −2ab 2 2
π(a + c ) 0 ⎦

0 0 π(a 2 + b2 )

⎛3 ⎞ I 15c = I 151 + 2m 8 [r c ×]2


8
a ⎡ ⎤
83b2 + 128c2 −211ab
r c = ⎝ 38 b ⎠ ; ⇒
0
1
= m 8 ⎣ −211ab 2
83a + 128c 2 0 ⎦
0 160
0 0 83(a 2 + b2 )

Octants 5 through 8:

I 56781 = I 51 + I 61 + I 71 + I 81
⎡ 2 ⎤
b + c2 0 0
2
= (4 m 8 ) ⎣ 0 2
a +c 2 0 ⎦
5
0 0 a 2 + b2

⎛ ⎞ I 5678c = I 56781 + 4m 8 [r c ×]2


0 ⎡ ⎤
rc = ⎝ 0 ⎠ ; ⇒ 1
128b2 + 83c2 0 0
= m8 ⎣ 0 2
128a + 83c 2 0 ⎦
− 38 c 80
0 0 128(a 2 + b2 )

D.3 Summary of Inertia Tensors of Some Basic Body’s


Shapes

Parallelepiped This figure correspond to the one-octant volume parallelepiped of


Example D.4.

⎛1 ⎞
2
a
r c = ⎝ 21 b ⎠
1
2
c

V = abc

⎡ ⎤ ⎡ 2 ⎤
4(b2 + c2 ) −3ab −3ac b + c2 0 0
1 ⎣ 1 ⎣
I1 = m −3ab 4(a 2 + c2 ) −3bc ⎦ I c = m 0 a 2 + c2 0 ⎦
12 12
−3ac −3bc 4(a 2 + b2 ) 0 0 a 2 + b2
470 Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes

Triangular prism This figure correspond to the triangular prism of Example D.5.

⎛1 ⎞
3
a
r c = ⎝ 13 b ⎠
1
2
c

1
V = abc
2
⎡ 2 ⎤
2b + 4c2 −ab −2ac
1 ⎣
I1 = m −ab 2a 2 + 4c2 −2bc ⎦
12 −2ac −2bc 2(a 2 + b2 )
⎡ 2 ⎤
2b + 3c2 ab 0
1 ⎣ ⎦
Ic = m ab 2a 2 + 3c2 0
36 0 0 2(a + b )
2 2

Rectangular Tetrahedral This figure correspond to the rectangular tetrahedral


of Example D.6.

⎛1 ⎞
4
a
⎝ 1 ⎠
rc = 4 b
1
4
c

1
V = abc
6
⎡ ⎤
2(b2 + c2 ) −ab −ac
1 ⎣
I1 = m −ab 2(a 2 + c2 ) −bc ⎦
20 −ac −bc 2(a 2 + b2 )
⎡ 2 ⎤
3(b + c2 ) ab ac
1 ⎣ ⎦
Ic = m ab 3(a 2 + c2 ) bc
80 ac bc 3(a + b )
2 2

Quarter of an elliptical prism This figure correspond to the quarter of an elliptical


prism of Example D.7.
Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes 471

⎛ 4


a
rc = ⎝ 4 b⎠

1
2
c

π
V = abc
4
⎡ ⎤
π(3b2 + 4c2 ) −6ab −8ac
1
I1 = m⎣ −6ab π(3a 2 + 4c2 ) −8bc ⎦
12π −8ac −8bc 3π(a + b )
2 2
⎡ ⎤
(9 − π2 )b + 3c −( π − π2 ) ab
64 2 2 18 64
0
1 ⎣ ⎦
Ic = m −( 18π
− π642 ) ab (9 − π642 )a 2 + 3c2 0
36
0 0 (9 − π2 )(a + b )
64 2 2

Octant segment of an ellipsoid This figure correspond to the octal part of an


ellipsoid of Example D.8.

⎛3 ⎞
8
a
r c = ⎝ 38 b ⎠
3
8
c

π
V = abc
6
⎡ ⎤
π(b2 + c2 ) −2ab −2ac
1 ⎣
I1 = m −2ab π(a 2 + c2 ) −2bc ⎦
5π −2ac −2bc π(a 2 + b2 )
⎡ ⎤
19π(b2 + c2 ) (45π − 128)ab (45π − 128)ac
1
Ic = m ⎣(45π − 128)ab 19π(a 2 + c2 ) (45π − 128)bc ⎦
320π (45π − 128)ac (45π − 128)bc 19π(a 2 + b2 )

Quarter of an elliptic cone This figure correspond to the one-quarter elliptical


cone of Example D.9.
472 Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes

⎛1 ⎞
π
a
r c = ⎝ π1 b ⎠
1
4
c

π
V = abc
12

⎡ ⎤
π(3b2 + 2c2 ) −6ab −4ac
1
I1 = m⎣ −6ab π(3a 2 + 2c2 ) −4bc ⎦
20π
−4ac −4bc 3π(a 2 + b2 )
I c = I 1 + m[r c ×]2
⎡ ⎤
(12π 2 − 80)b2 + 3π 2 c2 −(24π − 80)ab 4πac
1
= m⎣ −(24π − 80)ab (12π − 80)a + 3π c
2 2 2 2 4πbc ⎦
80π 2
4πac 4πbc (12π 2 − 80)(a 2 + b2 )

Elliptical prism This figure correspond to the elliptical prism of Examples D.12
and D.30.

⎛ ⎞
a
r c = ⎝b ⎠
0

V = 2π abc

⎡ 2 ⎤
3b + 3c2 0 0
m ⎣ ⎦
Ic = 0 4a 2 + 3c2 0
12 0 0 4a + 3b
2 2

I 1 = I c − m[r c ×]2
⎡5 2 1 2 ⎤
4
b + 4c −ab 0
= m ⎣ −ab a + 41 c2
4 2
3
0 ⎦
0 0 4 2
3
a + 5 2
4
b

Ellipsoid This figure correspond to the ellipsoid of Examples D.16 and D.31.
Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes 473

⎛ ⎞
0
r c = ⎝0⎠
c


V = abc
3
⎡ 2 ⎤
b + c2 0 0
m⎣
Ic = 0 a 2 + c2 0 ⎦
5 0 0 a + b2
2

I 1 = I c − m[r c ×]2
⎡ 2 ⎤
b + 6c2 0 0
m⎣
= 0 a 2 + 6c2 0 ⎦
5 0 0 a + b2
2

References

Antonelli, G. (2006). Underwater robots. Motion and force control of vehicle-manipulator system.
Springer tracts in advanced robotics. New York: Springer.
Arimoto, S. (1995a). Fundamental problems of robot control: Part I, innovations in the realm of
robot servo-loops. Robotica, 13(01), 19–27.
Arimoto, S. (1995b). Fundamental problems of robot control: Part II, a nonlinear circuit theory
towards an understanding of dexterous motions. Robotica, 13(02), 111–122.
Atkeson, C. G., An, C. H., & Hollerbach, J. M. (1985). Rigid body load identification for manipu-
lators. In 1985 24th IEEE Conference on Decision and Control (vol. 24, pp. 996–1002). IEEE.
Banerjee, S. (2005). Dynamics for engineers. New York: Wiley.
Baumgarte, J. (1972). Stabilization of constraints and integrals of motion in dynamical systems.
Computer Methods in Applied Mechanics and Engineering, 1(1), 1–16.
Bona, B. (2009). Lecture notes: Geometric fundamentals in robotics. DAUIN - Poitecnico di Torino.
Canudas de Wit, C., Bastin, G., & Siciliano, B. (Eds.) (1996). Theory of robot control (1st ed.).
New York: Springer.
Craig, J. J. (1986). Introduction to robotics, mechanics and control (2nd ed.). Boston: Addison
Wesley.
Featherstone, R. (2008). Rigid body dynamics algorithms (Vol. 49). Berlin: Springer.
Featherstone, R., & Orin, D. E. (2000). Robot dynamics: Equations and algorithms. In IEEE Inter-
national Conference on Robotics and Automation (pp. 826–834). San Francisco.
Fossen, T. I. (1994). Guidance and control of ocean vehicles. New York: Wiley.
Gantmacher, F. (1977). The Theory of Matrices (vol. 1). Rhode Island: AMS Chelsea Publishing.
Reprint 2000.
Goldstein, H. (1950). Classical mechanics. Boston: Addison Wesley.
José, J. V., & Saletan, E. J. (1998). Classical dynamics: A contemporary approach. Cambridge:
Cambridge University Press.
Kane, T. R., & Levinson, D. A. (1985). Dynamics, theory and applications. New York City: McGraw
Hill.
474 Appendix D: Examples for the Center of Mass and Inertia Tensors of Basic Shapes

Kelly, R., Santibáñez-Davila, V., & Loría, A. (2005). Control of robot manipulatgors in joint space.
London: Springer.
Khailath, T. (1980). Linear systems. Upper Saddle River: Prentice Hall.
Khalil, W. (2010). Dynamic modeling of robots using recursive Newton–Euler techniques.
ICINCO2010.
Khosla, P. K. & Kanade, T. (1985). Parameter identification of robot dynamics. In 1985 24th IEEE
Conference on Decision and Control (pp. 1754–1760). IEEE.
Kirchhoff, G. (1869). Ueber die bewegung eines rotationskörpers in einer flüssigkeit. Journal für
die reine und angewandte Mathematik, 71, 237–262.
Lanczos, C. (1970). The variational principles of mechanics (4th ed.). New York: Dover Publications
Inc.
Leithold, L. (1972). The calculus with analytic geometry (Vol. 1). New York City: Harper & Row.
Lozano, R., Brogliato, B., Egeland, O., & Maschke, B. (2000). Dissipative systems analysis and
control: Theory and applications. London: Springer.
Meirovitch, L. (1970). Methods of analytical dynamics. Mineola: Courier Dover Publications.
Murray, R. M., Li, Z., & Sastry, S. S. (1994). A mathematical introduction to robotic manipulation.
Boca Raton: CRC Press.
Ortega, R., Loría, A., Nocklasson, J., & Sira-Ramírez, H. (1998). Passivity-based control of Euler-
Lagrange systems: Mechanical, electrical and electromechanical applications. Berlin: Springer.
Sastry, S. (2010). Nonlinear systems, analysis, stability, and control. Berlin: Springer.
Shuster, M. D. (1993). A survey of attitude representations. Journal of the Astronautical Sciences,
41(4), 439–517.
Siciliano, B., & Khatib, O. (Eds.) (2008). Handbook of robotics. Berlin: Springer.
Spong, M. W., & Vidyasagar, M. (1989). Robot dynamics and control. New York: Wiley.
Weisstein, E. W. (2013). Euler four-square identity. From MathWorld–A Wolfram Web Resource:
http://mathworld.wolfram.com/EulerFour-SquareIdentity consulted on 2013.
Wikipedia (2013). Versine. From web source: http://en.wikipedia.org/wiki/Versine, consulted on
2013.
Zill, D. G., & Cullen, M. R. (2006). Advanced engineering mathematics (3rd ed.). Jones & Bartlett
Learning.

You might also like