Dual Numbers

Download as pdf or txt
Download as pdf or txt
You are on page 1of 29

i An update to this article is included at the end

PERGAMON Mechanism and Machine Theory 34 (1999) 693±718

Dual numbers representation of rigid body dynamics


V. Brodsky, M. Shoham *
Department of Mechanical Engineering, TechnionÐIsrael Institute of Technology, Haifa, 32000, Israel

Abstract

A three-dimensional representation of rigid body dynamic equations becomes possible by introducing


the dual inertia operator. This paper generalizes this result and by using motor transformation rules and
the dual inertia operator, gives a general expression for the three-dimensional dynamic equation of a
rigid body with respect to an arbitrary point.
Then, the dual Lagrange equation is formulated by developing derivative rules of a real function with
respect to dual variables. It is shown that the same rules hold for derivatives of a real function with
respect to both real and dual variables.
The analogy between rigid body spherical dynamics and the dual three-dimensional spatial one is
discussed and summarized. # 1998 Elsevier Science Ltd. All rights reserved.

1. Introduction

Dual numbers were introduced in the 19th century by Cli€ord [1], and their application to
rigid body kinematics was subsequently generalized by Kotelnikov and Study in their principle
of transference [2±6]. The principle of transference states that when dual numbers replace real
ones, then all relations of vector algebra for intersecting lines are also valid for skew lines. In
practice, this means that all rules of vector algebra for the kinematics of a rigid body with a
®xed point (spherical kinematics) also hold for motor algebra of a free rigid body (spatial
kinematics). As a result, a general rigid body motion can be described by only three dual
equations rather than six real ones.
For several decades there were attempts to apply dual numbers to rigid body dynamics.
Investigators showed that the momentum of a rigid body can be described as a motor that
obeys the motor transformation rule; hence, its derivative with respect to time yields the dual

* Corresponding author. Tel: 00 972 48 293 264; Fax: 00 972 48 324 533; e-mail: shoham@techunix.technion.ac.il
(M.Shoham)

0094-114X/98/$ - see front matter # 1998 Elsevier Science Ltd. All rights reserved.
PII: S 0 0 9 4 - 1 1 4 X ( 9 8 ) 0 0 0 4 9 - 4
694 V. Brodsky, M. Shoham / Mechanism and Machine Theory 34 (1999) 693±718

force. However, in those investigations, while going from the velocity motor to the momentum
motor, there was always a need to expand the equation to six dimensions and to treat the
velocity motor as two separate real vectors. This process actually diminishes one of the main
advantages of dual numbersÐnamely, compactness of representation.
The recently introduced dual inertia operator [7] suggests a solution to this problem. By
giving the mass a dual property, results have shown that it is possible to remain in a three-
dimensional dual space throughout the entire derivation of the dynamic equations. Also, unlike
the result obtained with the binor inertia matrix, which requires an arti®cial permutation of the
dual and the real parts of the momentum, the dual inertia operator yields the equations in a
correct order. Thus, the dual inertia operator can be perceived as a necessary link between the
velocity and the momentum motors.
This paper expands, in its ®rst part, the results reported in Brodsky and Shoham's paper [7]
and gives a more general expression for the dynamic equations which enables the calculation of
the dual momentum and the dual force with respect to an arbitrary point. Then, the moment-
product is applied to obtain the energy of a rigid body. Its mathematical properties, i.e.,
analyticity and derivative rules of a real function with respect to dual variables are developed
and subsequently applied to derive Lagrange's formulation of equations-of-motion in a
complete three-dimensional dual form. Finally, the analogy between the spherical and the
spatial dynamics is discussed and summarized in Table 1.

1.1. Dual numbers and motors

We start our discussion by reviewing some of the basic concepts of dual numbers.
Dual numbers were introduced by Cli€ord [1] as a necessary unit for motor algebra (see
below). A dual number can be de®ned as an ordered pair combining a real part, a, and a dual
part, a8,
a^ ˆ a ‡ Ea 1†
where E is the dual unit with multiplication rule
E2 ˆ 0: 2†
The algebra of dual numbers results from this de®nition. Two dual numbers are equal if and
only if their real and dual parts are equal, respectively. As in the case of complex numbers,
addition of two dual numbers requires separate addition of their real and dual parts:
a ‡ Ea † ‡ b ‡ Eb † ˆ a ‡ b† ‡ E a ‡ b †: 3†
Multiplication of two dual numbers results in:
a ‡ Ea † b ‡ Eb † ˆ ab ‡ E a b ‡ ab †: 4†
Division of dual numbers aÃ/bà is de®ned as the inverse operation to multiplication. Due to the
special property of dual numbers, Eq. (2), division is possible and unambiguous only if b$0
  
a^ a a ab
ˆ ‡E ÿ 2 ; b 6ˆ 0: 5†
b^ b b b
V. Brodsky, M. Shoham / Mechanism and Machine Theory 34 (1999) 693±718 695

Cli€ord also coined the term ``motor'' which can be de®ned as a combination of three-
dimensional rotor (line±vector), a, and vector (free±vector), a8, that refers to some point [1, 2],

a^ ˆ a ‡ Ea ; 6†

and satis®es the motor transformation rule, [8], the matrix form of which can be written as
follows:
^ OA a ‡ Ea †;
a ‡ EaO ˆ D 7†
A

where DÃOA is an Hermitian matrix


2 3
1 ÿEdOA;z EdOA;y
^ OA ˆ ‰1 ‡ E dOA †Š ˆ 4 EdOA;z
D 1 ÿEdOA;x 5: 8†
ÿEdOA;y EdOA;x 1

This matrix can be interpreted in two ways: ®rst, as an operator that derives motor
components at point O from a known motor at point A; and second, as an operator that refers
a motor given in a system with origin at point A, to a parallel system with origin at point O.
Transformation of a motor back from point O to A, i.e., the inverse operation to DÃOA, is
given by the transpose (also the conjugate) of the above matrix:

^ AO ˆ D
D ^ ÿ1 ˆ D
^T ˆD^* : 9†
OA OA OA

The motor transformation rule is used in the following sections to refer dual vectors of
velocity, force and momentum to an arbitrary reference point.
Every motor can be brought to such a reference point that its rotor and vector parts become
parallel, which turns a motor into an equivalent screw. A parallel line through this point is the
screw axis.
Geometrically, when motors are perceived as screws, then there exists a dual angle

y^ ˆ y ‡ Ed 10†

which is a combination of an angle, y, and a distance, d, between the skew axes of their
respective screws [3].
With these de®nitions, scalar and vector multiplication of dual vectors have exactly the same
pattern as those of real ones. The dual form, however, includes information not only about the
relative orientation between the free vectors but also about their relative position. This
property stems from the principle of transference formulated by Kotelnikov in 1895 and
Study [3] and investigated further by Rooney [4], Martinez and Du€y [6] and Chevallier [9].
Dimentberg [2] formulated it essentially in the following way: ``. . . at least all the formulas of
vector algebra. . . will serve as formulas for motor algebra. . . ; here the complex modulus of the
screw will correspond to the modulus of the vector in the new formulas, and the complex
(dual) angle between the axes of two motors will correspond to the angle between two
696 V. Brodsky, M. Shoham / Mechanism and Machine Theory 34 (1999) 693±718

vectors''. The principle of transference has, in fact, been used to expand relations in spherical
into spatial kinematics by replacing real with dual numbers.
Dimentberg argued that the only case when the principle of transference loses its sense is
when vector moduli vanish. In this case the corresponding motors are degenerate, and such a
case needs a special treatment.

1.2. Dual function of dual numbers

Dual function of dual number presents a mapping of a dual numbers space on itself, namely,

f^ x†
^ ˆ f x; x † ‡ Ef  x; x †; 11†
wher xà = x + x8 is a dual variable, f and f 8 are two, generally di€erent, functions of two
variables. This type of function is referred to simply as the dual functions throughout the paper.
Properties of dual functions were thoroughly investigated by Dimentberg [2]. He derived the
general expression for dual analytic (di€erentiable) function as follows:

f^ x ‡ Ex † ˆ f ‡ Ef  ˆ f x† ‡ E x f 0 x† ‡ f~ x††; 12†


where fÄ(x) is an arbitrary function of a real part of a dual variable.
The analytic condition for dual function is:
@f  @f
ˆ : 13†
@x  @x
The derivative of such a dual function with respect to a dual variable is

df^ x†
^ @f @f
ˆ ‡E ; 14†
dx^ @x @x
or, taking into account Eq. (13):

df^ x†
^ @f @f 
ˆ ‡E ˆ f 0 x† ‡ E x f 00 x† ‡ f~ 0 x††: 15†
dx^ @x @x
This de®nition allows us to write the dual form of functions, for example:

sin x ‡ Ex † ˆ sin x† ‡ Ex cos x†;

cos x ‡ Ex † ˆ cos x† ÿ Ex sin x†;

ea‡Eb ˆ ea eEb ˆ ea 1 ‡ Eb† ˆ ea ‡ Ebea_;


p
p p x ‡ Ex
x^ ˆ x ‡ Ex ˆ p ; x > 0†: 16†
2 x

In particular, trigonometric relations are maintained in dual angles


V. Brodsky, M. Shoham / Mechanism and Machine Theory 34 (1999) 693±718 697

sin2 x^ ‡ cos2 x^ ˆ 1; ^ y^
ex‡ ˆ ex^  ey^ : 17†
The above formulas have been widely applied in kinematics (see, for example, Refs [10±19]).
One of the main goals of this paper is to develop this algebra further and to apply it also to
dynamics, as is shown in the following sections.

1.3. The inertia binor and its application to rigid body dynamics

In the last thirty years, a growing number of investigations concerning the application of
dual numbers to rigid body dynamics have appeared in the literature [2, 13, 20±31].
The use of dual numbers for rigid body dynamics is justi®ed by the fact that by combining
body's linear and angular momentum vectors, HLand HA, respectively, into a dual vector
^ ˆ HL ‡ EHA ;
H 18†
one obtains a motor, which satis®es the motor transformation rule, Eq. (7).
The common approach to dual number formulation of rigid body dynamics is based on
Kislitcin's inertia binor [2]. The binor is a 6  6 matrix of the body's mass and its ®rst and
second moment of mass:
2 3
0 Sz ÿSy m 0 0
6 ÿSz 0 Sx 0 m 0 7
6 7
6 Sy ÿSx 0 0 0 m 7
T† ˆ 66 7: 19†
6 Ixx Ixy Ixz 0 ÿSz Sy 7 7
4 Ixy Iyy Iyz Sz 0 ÿSx 5
Ixz Iyz Izz ÿSy Sx 0

The inertia binor is analogous to the 6x6 inertia matrix introduced by Von Mises [31].
Multiplying the binor by the velocity motor at the center of mass, one obtains a six-
dimensional motor of momentum
   
HL o
ˆ T† 20†
HA vc

the ®rst three components of which form the linear and the other three form the angular
momentum. This six-dimensional vector is, in turn, combined into three-dimensional dual
vector of rigid body momentum, Eq. (18). It is clear that one of the binor's drawbacks is that
it operates on a six-dimensional vector rather than on a three-dimensional velocity motor. A
similar approach, consisting of a separate calculation of real (linear) and dual (angular) parts
of rigid body dual momentum, was used by Yang [20, 21].
Using the binor inertia matrix for evaluating the dynamic equations, Dimentberg has come
to the conclusion that one could not obtain this matrix from any real operator by substituting
dual quantities for real counterparts, i.e. by applying the principle of transference. That led
Dimentberg to the conclusion ``that it is impossible to obtain a screw equation of the dynamics
of an arbitrary moving body from the dynamics vector equation of a body with a ®xed point
by application of the transfer principle.''
698 V. Brodsky, M. Shoham / Mechanism and Machine Theory 34 (1999) 693±718

Only recently, a new dual number formulation of rigid body dynamics was suggested that
casts the equations throughout the entire derivation into a three-dimensional form [7, 32]. This
approach is detailed in the next section.

2. Dual character of mass

Recent papers introduce a new approach to the formulation of rigid body dynamic
equations in a dual number form by giving the mass a dual character.
Rigid body is an aggregation of elementary masses, the velocity of each can be derived from
the body's velocity motor và = o + Ev (see Fig. 1). Linear momentum of each elementary mass
can be perceived as an operation of the mass on the velocity. This operation does not only
multiply the velocity by a scalar, but it actually changes a velocity motor's basic property. The
velocity motor, as shown by Chevallier [17], produces a vector ®eld of velocities. When an
elementary mass dmA, situated at a speci®c point, having a linear velocity vA, the resulting
entity, vAdmA, is tied to the elementary mass at a speci®c location. Hence, it is no longer a free
vector, as is the linear velocity , but in fact, a rotor.
Thus, the result of a body's mass operation on a vector ®eld is an in®nite set of rotors of
linear momentum related to an in®nite set of elementary masses (points) composing the body.
At each point of the body, the obtained rotor is proportional to the vector component of the
velocity motor (linear velocity) at this point and to the elementary mass carried by this point.
It is, therefore, a rotor of linear momentum of the elementary mass situated at a given point of
the body.
Mathematically, this process is described by a dual mass operator, dm d/dE, which acts on a
velocity motor and changes it into a rotor
d
dm^ A v^ ˆ dmA o ‡ Ev† ˆ vA dmA : 21†
dE
The above consideration is applicable also to the force acting on a mass in a gravitational ®eld.
The gravitation forms a vector ®eld. If a mass is located in this ®eld, then a force rotor, which
acts on the mass and is tied to its location, is developed. The dual mass operator, as de®ned
above, operates on the gravitational vector by transforming it into a rotor proportional to the
gravitational vector magnitude and aligned in its direction.
The above de®ned operator d/dE has a complementary sense of Cli€ord's dual unit which
``when applied to any motor, changes it into a vector parallel to its axis and proportional to
the rotor part of it'' [1]. It does not have, however, an in®nitesimal sense.
Comparing the operations of E and d/dE on a dual vector, one obtains:
d d
E^a ˆ E a ‡ Ea † ˆ Ea; a^ ˆ a ‡ Ea † ˆ a : 22†
dE dE
Like the dual unit E, when the operator d/dE is applied twice to a dual motor it reduces this
motor to zero.
With the above de®nition of dual mass, Newton's second law can now be written in a
correct dual form:
V. Brodsky, M. Shoham / Mechanism and Machine Theory 34 (1999) 693±718 699

Fig. 1. Velocity and Momentum of a Rigid Body

 
^f ˆ m^ d^u ˆ m d E dv ˆ m dv ; 23†
dt dE dt dt
where fà = f is a forceÐa pure real numberÐacting on a particle of mass m, and uà = Ev is its
dual (linear) velocity.

3. Dual number representation of Newton±Euler's dynamic equations

Consistent application of the dual mass concept allows one to calculate the dual momentum
motor of a system of particles and of a rigid body about an arbitrary point.
A momentum motor of a system of particles is a sum of linear momentum rotors of each
particle. To calculate this quantity, all rotors are brought to a common reference point O,
using the motor transformation rule, Eq. (7), and then, rotor and vector parts are summed up,
respectively:
X
n X
n X
n
h^ O ˆ ^ OAi m^ Ai v^ Ai ˆ
D mAi vAi ‡ E mAi dOAi  vAi ; 24†
iˆ1 iˆ1 iˆ1

where n is the number of particles, mAi is ith particle mass and A i is ith particle location.
A momentum motor of a rigid body is obtained in a similar way by integration over the
body's mass:

h^ B ˆ ^ BA dm^ A v^ A ;
D 25†
AEb

where A and B are, in general, two di€erent points.


Note that the velocity motor vÃA of any point A of the body is obtained from only one
velocity motor at some point, O, by using the motor transformation rule. The following
expression of a momentum motor is then obtained:
700 V. Brodsky, M. Shoham / Mechanism and Machine Theory 34 (1999) 693±718
 
d ^
h^ B ˆ ^
DBA dmA ‰DAO o ‡ EvO †Š ˆ mvO ‡ mDCO o ‡ E‰IBO o ÿ mDCB vO Š; 26†
dE
AEb

where
D ˆ ‰dŠ and IBO ˆ IC ÿ m‰DCB Š‰DCO Š; 27†
or explicitly:
2 3
ICxx ‡ dCBy dCOy ‡ dCBz dCOz ICxy ÿ dCBy dCOx ICxz ÿ dCBz dCOx
IBO ˆ 4 ICxy ÿ dCBx dCOy ICyy ‡ dCBy dCOy ‡ dCBz dCOz ICyz ÿ dCBz dCOy 5:
ICxz ÿ dCBx dCOz ICyz ÿ dCBy dCOz ICzz ‡ dCBy dCOy ‡ dCBx dCOx
28†
Equation (26) describes the most general case, where the velocity motor of a rigid body is
given at some point O, while the momentum is calculated at some other point B. It gives the
expression of the dual momentum of a rigid body calculated with respect to an arbitrary point,
in a complete three-dimensional dual form. It utilizes the dual mass operator and motor
transformation rule (does not use the inertia binor matrix) and stays three-dimensional.
De®ning the dual inertia operator as:
2 3
md=dE ‡ EIxx EIxy EIxz
M^ ˆm ^ ‡ I^ C ˆ 4 EIxy md=dE ‡ EIyy EIyz 5; 29†
EIxz EIyz md=dE ‡ EIzz

(26) can be rewritten in a more compact form:


^ BC M
h^ B ˆ D ^ D
^ CO v^ O †; 30†
where DÃCO and DÃBC are motor transformation matrices from point O to the center of mass,
and from the center of mass to an arbitrary point B, respectively, as de®ned by Eq. (8).
If orientational changes are also considered, i.e. the inertia parameters are given with respect
to the body-attached coordinate system C, while velocity, radius-vectors and momentum are
measured with respect to some other coordinate system N, one obtains the dual momentum
with respect to point B in coordinated system N by the following equation:

h^ B ˆ D ^ AC D
^ BC AN M ^ N;B M
^ ^O† ˆ A ^ C v^ O †;
^ A
C N CO v C N;O 31†

where AN Ã N,B
C is a rotation matrix from C to N, AC is a dual transformation matrix of rotation
from C to N and translation from origin of C to point B, and AÃC N,O is a dual transformation
matrix of rotation from N to C and translation from point O to origin of C. This equation can
also be obtained by dualizing the equation for angular momentum, H0 = ATIAo o, where dual
transformation matrices replace real ones, dual velocity replaces angular velocity and the dual
inertia operator replaces the inertia matrix. This form is the most general expression of dual
momentum about an arbitrary point, which is an extension of the expression given in
Dimentberg [2], Yang [21] and Brodsky and Shoham [7].
V. Brodsky, M. Shoham / Mechanism and Machine Theory 34 (1999) 693±718 701

It is more practical to obtain an expression for the dual momentum when the velocity and
momentum motor are referred to the same point, say A:

h^ A ˆ D ^ D
^ AC M ^ CA v^ A † ˆ mvA ‡ mDCA o ‡ E‰IA o ÿ mDCA vA Š; 32†
where IA = IC ÿ m[D CA]2.
A signi®cantly simpler result is obtained in the particular case in which the momentum is
calculated with respect to the center of mass C, [7]

h^ C ˆ M^
^ vC : 33†
It is interesting to note that, similar to kinematics, this dynamic equation is a dual form of a
real expression for angular motion.
In order to obtain dynamic equations in Newton±Euler's form, one of the above equations is
used along with the time derivative rule of a motor, [2, 21, 33]:
d ^ @
hA ˆ h^ A ‡ v^ A  h^ A : 34†
dt @t
Note that Eq. (34) also implies that the derivative of any motor expressed in this case with
respect to a moving coordinate system, is also a motor.
It is interesting to give here a six-dimensional expansion (binor version) of the general case,
Eq. (30):

2 3 2 3
px m 0 0 0 ÿmdCA;z mdCA;y
6 py 7 6 0 m 0 mdCA;z 0 ÿmdCA;x 7
6 7 6 7
6 pz 7 6 0 0 m ÿmdCA;y mdCA;x 0 7
6 7 6 7
6 LB;x 7 ˆ 6 0 md ÿmdCB;y IBA;x IBA;xy IBA;xz 7
6 7 6 CB;z 7
4 LB;y 5 4 ÿmdCB;z 0 mdCB;x IBA;xy IBA;y IBA;yz 5
LB;z mdCB;y ÿmdCB;x 0 IBA;xz IBA;yz IBA;z
2 3
vA;x
6 vA;y 7
6 7
6 vA;z 7
66 7: 35†
7
6 ox 7
4 oy 5
oz

When compared to the regular binor inertia matrix [2], the above expression has di€erent
terms at the lower 3  6 sub-matrix. The above equation, unlike the regular binor inertia,
allows calculating the dual momentum with respect to a point di€erent from that one at which
the velocity motor is given.
Rigid body dynamic equations are obtained by di€erentiating Eq. (32) with respect to time
according to Eq. (34). This results in a dual force motor (force and moment) acting at point A
where momentum is expressed:
702 V. Brodsky, M. Shoham / Mechanism and Machine Theory 34 (1999) 693±718

d @ @
f^A ˆ h^ A ˆ h^ A ‡ v^ A  h^ A ˆ o  v^ A ‡ mo
mvA ‡ mDCA o † ‡ mo o  DCA o †
dt  @t @t 
@
‡E IA o ÿ mDCA vA † ‡ mDAC o  vA † ‡ o  IA o † : 36†
@t
To obtain the dual force acting on the body at the center of mass, we di€erentiate Eq. (33)
with respect to time in the center of the mass body-®xed coordinate system, which leads to a
much simpler expression:
d ^ @ v^ C ‡ v^ C  M^ ^ @ v^ C ‡ o  M^
f^C ˆ h^ C ˆ M ^ vC ˆ M ^ vC : 37†
dt @t @t
Note that Eqs. (36) and (37) de®ne the same motor referring to di€erent points.

4. Energy function and the moment-product operation

Lagrange's formulation of rigid body dynamic equations requires the calculation of the
energy function and its derivatives. Since we use dual number representation, derivatives of
functions with respect to dual variables are needed. In this section, we calculate the energy
function using dual vectors and then develop the rules by which derivatives of energy with
respect to dual variables are takenÐa subject which, to the best of our knowledge, has not
been previously discussed in the literature.

4.1. Moment-product operation

Mutual operation between force and velocity motors or between momentum and velocity
motors requires di€erent rules from the regular dual number algebra multiplication of two dual
vectors. The corresponding physically correct operation for screws was de®ned as early as 1900
by Ball [34]. For motor algebra it was termed by Dimentberg [2] as the mutual moment of two
motors and by Von Mises (see Ref. [8, 31]) as the scalar multiplication of screws. The same
operation is denoted either as the inner-product of dual numbers (motors), [17], or Klein
form [9, 35], where the notation is:
^ ˆ ‰a ‡ Ea jb ‡ Eb Š ˆ ab ‡ a b:
‰^ajbŠ 38†
We refer to this operation as moment-product throughout the paper to underline both its
physical meaning as a mutual moment of two skew lines and its mathematical sense as the
moment part of a dual number.
This operation has a clear physical meaning. A moment-product of a force motor and a
velocity motor is a power. One half of the moment-product of a dual momentum and a dual
velocity motor of a body is the body's kinetic energy. Similarly, the potential energy of a body
is obtained. Next, we derive the kinetic and potential energy of a rigid body while writing the
vectors in their proper dual form and making use of the dual mass operator.
Observing that the moment-product of force motor and elementary displacement motor
results in an elementary change in the kinetic energy of a moving body, one can draw a dual
V. Brodsky, M. Shoham / Mechanism and Machine Theory 34 (1999) 693±718 703

expression of kinetic energy for an elementary mass,


r2 r2 r1
^ rŠ ˆ d^v
DK ˆ ‰fjd^ ‰dm^ jd^v  dtŠ ˆ ‰dm^ v^ j^vŠ; 39†
r1 r1 dt r1

and then obtain by integration the kinetic energy, K, of the whole rigid body. This results in
the moment-product of two dual motors of a di€erent natureÐthe velocity and the momentum
motor:
1 1 1
o ˆ ‰^vC jh^ C Š:
K ˆ mv2C ‡ o T Io 40†
2 2 2
In a similar way and using the dual mass property one can write the expression of the potential
energy of a body in a gravitational ®eld, displaced by xC:
 
d
P ˆ m EgjExC ˆ mgxC : 41†
dE
Since the moment-product of two motors does not depend on a reference point ( [2, 8, 17]), one
can rewrite Eq. (40) for both velocity and momentum motors being referred to some point, A,
of the body, not necessarily the mass center:
1 1 1
K ˆ ‰^vA jh^ A Š ˆ mv2A ‡ mdCA  o  vA † ‡ o  IA o †: 42†
2 2 2
The second term of the latter expression can be interpreted as a moment of the body's inertia
about an instantaneous screw axis. Indeed, if O is a point on the screw axis, and vo = po o,
where p is the pitch of the motor, simple algebraic manipulations result in:
mdCA  o  vA † ˆ mdCA  ‰o
o  vo ‡ DAO o †Š ˆ ÿmo
o  DCA DAO o †: 43†
Substituting Eq. (43) for Eq. (42) and expanding the expression for IA, one obtains:
1 2 1
Kˆ mv ÿ moo  ‰DCA DAO o Š ‡ o  f‰IC ÿ mD2CA Šo
og
2 A 2
1 1
ˆ mv2A ‡ o  f‰IC ÿ mD2CA ÿ 2mDCA DAO Šo og
2 2
1 1
ˆ mv2A ‡ o  f‰IC ÿ mDCA DCO ÿ mDCA DAO Šo og 44†
2 2
This expression gives the kinetic energy of a moving body from its velocity and inertia
parameters measured about the instantaneous screw axis.

4.2. Moment-product derivative

In order to use the energy function to derive Lagrange's dynamics equations, it is necessary
to obtain derivative rules of a real function (e.g. energy) with respect to dual variables.
The result of a moment-product operation, Eq. (38), is a real scalar function. If at least one
of the multiplied elements is a function of a dual variable xà = x + Ex8, then the result, u, of
704 V. Brodsky, M. Shoham / Mechanism and Machine Theory 34 (1999) 693±718

this operation depends on this variable:

u ˆ u x; x †: 45†

Since this function depends on two independent variables, x and x8, its di€erential is:

@u @u
du x; x † ˆ dx ‡  dx : 46†
@x @x

Let us suppose that this di€erential is a moment-product of the derivative of a real function
with respect to the dual variable, dÃu/dxà = g(x,x8) + Eq(x,x8), and a di€erential of dual variable
dxÃ:
^ 
 du
du x; x † ˆ dx^ ˆ ‰g ‡ Eqjdx ‡ Edx Š ˆ gdx ‡ qdx: 47†
dx^
Eqs. (46) and (47) de®ne the same di€erential of the function u, hence:

@u @u
dx ‡  dx ˆ gdx ‡ qdx; 48†
@x @x

or
   
@u  @u
ÿ g dx ‡ ÿ q dx ˆ 0: 49†
@x @x

For the function u to be analytic, Eq. (49) should be satis®ed for an arbitrary ratio of dx/dx8,
hence:

@u @u
gˆ and q ˆ ; 50†
@x @x

which gives the derivative of a real function with respect to a dual variable:

^
du @u @u
ˆ ‡E : 51†
dx^ @x @x

Comparing the last equation with the regular expression for derivative of a dual analytic
function with respect to dual variable, Eq. (14), one can see that they are, actually, de®ned by
the same relation.
Note that our derivation shows that if multiplication of dual numbers is in the form of
moment-product, then every real function of a dual variable is analytic.
This result will subsequently be used to derive Lagrange's formulation of rigid body
dynamics.
V. Brodsky, M. Shoham / Mechanism and Machine Theory 34 (1999) 693±718 705

4.3. Moment-product derivative rules

It would be worthwhile to verify whether the derivative of a moment-product operation


satis®es the same rules as the regular derivative of real function with respect to real variable.
The derivative of the sum of two real functions with respect to dual variables is obtained
by:

d^ u ‡ u† @ u ‡ u† ^
@ u ‡ u† du ^
du
ˆ ‡ E ˆ ‡ : 52†
dx^ @x @x dx^ dx^

One can easily check that the regular derivative rules also hold for derivatives of
multiplication and division of real functions with respect to dual variables:

 
d^ u  u† @ u  u† @ u  u† @u @u @u @u
ˆ ‡E ˆ u‡u ‡E u‡u
dx^ @x @x @x @x @x @x
53†
^
du ^
du
ˆ u‡u ;
dx^ dx^

^ u
d
 
@ u
 
@ u @u=@x  u ÿ u  @u=@x @u=@x  u ÿ u  @u=@x
ˆ  ‡E ˆ ‡E
dx^ u @x u @x u u2 u2
54†
^
@u=@x ‡ E@u =@x†  u ÿ u  @u=@x ‡ E@u =@x† du=d ^ x^
x^  u ÿ u  du=d
ˆ ˆ :
u2 u2
A derivative of composite function with respect to a dual variable is given by:
^
du‰u ^
x†Š ^
@u‰u x†Š ^
@u‰u x†Š du @u ^
du @u du du
ˆ ‡ E ˆ ‡ E ˆ : 55†
dx^ @x @x du @x du @x du dx^

A more complicated case is obtained when a real function is a composite function of a dual
function of a dual variable, namely,
^
u ˆ u‰^u x†Š: 56†
In order to di€erentiate this function, one must assume the analytic character of the dual
function u(xÃ), namely, u(xÃ) is di€erentiable. It is well known [2], that a dual analytic function
of dual variable satis®es the conditions, Eqs. (12)±(15):
^ ˆ u ‡ Eu ˆ u x† ‡ E‰x u 0 x† ‡ u~ x†Š;
u^ x† 57†
where u(x) is an arbitrary function of x.
The moment-product derivative of a composite function u, Eq. (56), subjected to condition
(57), is
706 V. Brodsky, M. Shoham / Mechanism and Machine Theory 34 (1999) 693±718

^ u x†Š
du‰^ ^ ^
@u‰^u x†Š ^
@u‰^u x†Š
ˆ ‡E
dx^ @x @x
  58†
@u @u @u @u @u @u @u @u
ˆ ‡ ‡E ‡ ;
@u @x @u @x @u @x @u @x

and by condition (13), the ®rst term is zero and the second term is equal to @u/@u8 @u/@x, then:

^ u x†Š  
du‰^ ^ @u @u @u @u @u @u
ˆ  ‡E ‡ 
dx^ @u @x @u @x @u @x
59†
   ^
@u @u @u @u du d^u
ˆ ‡E ‡E ˆ :
@u @u @x @x d^u dx^

Hence, the derivative of a composite function with respect to a dual variable has the same
rule as the regular derivative of a composite function.

4.4. Di€erentiability

Since the ®rst derivative of a real function by a dual variable is a dual function, it is
reasonable to assume that a second derivative exists if the ®rst one is an analytic dual function
of Eq. (12), namely:

^
du @u @u
ˆ  ‡ E ˆ u x† ‡ E‰x u 0 x† ‡ u~ x†Š: 60†
dx^ @x @x

In this case, all existing derivatives of high order are dual functions and are calculated by
Eq. (15).
From Eq. (60) it follows that in order to have a second derivative, the real function must
have the following form:

R
u ˆ x u x† ‡ u~ x†dx ‡ C; 61†

where C is a constant of integration. The function of such a form has as many derivatives as
exist for function u(x) or one more than those existing for function u(x).
It is interesting to examine the moment-product derivative of a real function u, from which the
`moment-product integral' can be obtained. For example, the dual sine, cosine, and exponential
functions can be considered as the moment-product derivative of the following real functions:
V. Brodsky, M. Shoham / Mechanism and Machine Theory 34 (1999) 693±718 707

^
du
u ˆ x sin x ) ˆ sin x^ ˆ sin x ‡ Ex cos x;
dx^
^
du
u ˆ x cos x ) ˆ cos x^ ˆ cos x ÿ Ex sin x; 62†
dx^
^
du
u ˆ x ex ) ^ ˆ ex ‡ Ex ex :
ˆ exp x†
dx^

Note that the same dual functions are obtained by taking dual derivatives of corresponding
dual analytic functions:

^ cos x†
d ^ ^ sin x†
d ^ ^ exp x††
d ^
^
ˆ ÿ sin x; ^
ˆ cos x; ^
ˆ exp x†: 63†
dx^ dx^ dx^

One can draw the interesting conclusion that a dual derivative of a dual analytic function,
Eq. (57), and a moment-product derivative of a dual part of the same analytic function
coincide:

d d^ 00
fu x† ‡ E‰x u 0 x† ‡ u~ x†Šg ˆ ‰x u 0 x† ‡ u~ x†Š ˆ u 0 x† ‡ E‰x u x† ‡ u~ 0 x†Š: 64†
dx^ dx^

Finally, we compare the derivatives of the moment-product and the regular dual number
algebra product of two dual analytic functions with respect to a dual variable.
The derivative of a moment-product of two analytic functions is de®ned using Eqs. (53) and
(57) as:
^
d ^
d
‰u ‡ Eu ju ‡ Eu Š ˆ ‰x uu 0 ‡ u 0 u† ‡ uu
~ ‡ u~u†Š
dx^ dx^
  65†
0 0  d 0 0 d
ˆ uu ‡ u u ‡ E x uu ‡ u u† ‡ ~ ‡ u~u† :
uu
dx dx
The derivative of a regular dual number algebra product of two dual functions is:
d
‰ u ‡ Eu †  u ‡ Eu †Š
dx^
00 00
ˆ ‰u 0 ‡ E x u ‡ u~ 0 †Š  u ‡ Eu † ‡ u ‡ Eu †  ‰u 0 ‡ E x u ‡ u~ 0 †Š 66†
 
0 0  d 0 0 d
ˆ uu ‡ u u ‡ E x uu ‡ u u† ‡ ~ ‡ u~u† :
uu
dx dx
Hence, the derivatives of the moment and regular products of two dual analytic functions with
respect to dual variables are equal to each other.
708 V. Brodsky, M. Shoham / Mechanism and Machine Theory 34 (1999) 693±718

5. Lagrange's dual dynamic equation

The above results are used next to derive the dual form of Lagrange's dynamic equation.
Expressing the generalized coordinates in a dual form, qÃi = y i + Edi, the energy is obtained as a
moment-product of two dual functions. The dual generalized force, QÃi = f i + Et i, is obtained
by di€erentiating the real energy function with respect to dual variable according to the
moment-product derivative rule, Eq. (51):
^  ^ ^      
^ d @K @K @P d @K @K @P d @K @K @P
Qi ˆ ÿ ‡ ˆ ÿ ‡ ‡E ÿ ‡ : 67†
dt @q_^i @q^i @q^i dt @d_i @di @di dt @y_ i @yi @yi

If a generalized linear coordinate is properly represented as a pure dual number and a


generalized rotational coordinate is properly represented as a pure real one, then, according to
the moment-product derivative rule, the derivative of the energy with respect to the dual
generalized coordinate yields a pure dual number in the case of moment, and a pure real
number in the case of force. It should be mentioned that in Brodsky and Shoham's paper [7],
the kinetic energy of a moving rigid body was derived by integration of a scalar product of
dual force and in®nitesimal motion, which resulted in a pure dual number. By taking
derivatives of the energy with respect to real and dual variables, force and moment were
correctly obtained in two distinct equations. In the present paper, the moment-product is used
to yield the energy from which, by applying the moment-product derivative rules, the dual
generalized force is obtained in only one equation.

5.1. Moment-product derivative of kinetic energy

As shown above, the energy of a rigid body is a moment-product of velocity and momentum
motors. Since a momentum motor is itself a product of the dual inertia operator and the
velocity motor, the resulting derivative is substantially simpli®ed:
   
d ^ d^
u ^ d^v ^
‰^
ujM^vŠ ˆ  M^v ‡  M^
u : 68†
dx^ dx^ dx^
In our case when vector-functions uà and và are the same:
 
d ^ d^v ^
‰^vjM^vŠ ˆ 2  M^v : 69†
dx^ dx^

In the case when vector uà is not a function of dual variable xÃ, Eq. (68) gives:
 
d ^ d^v ^
‰^
ujM^vŠ ˆ u ; ^
 M^ ^ x†:
u 6ˆ u ^ 70†
dx^ dx^
In practice, uà and và may be measured in di€erent coordinate systems. Then, assuming that the
transformation matrix between these systems also depends on a dual variable xÃ, one obtains:
V. Brodsky, M. Shoham / Mechanism and Machine Theory 34 (1999) 693±718 709
   
d ^ ^ d ^ ^ d^v ^ ^
‰^
ujAM^vŠ ˆ ^
uA†  M^v ‡  M ^uA† : 71†
dx^ dx^ dx^

If the above expression is di€erentiated with respect to a real variable, then the result is:
   
d ^ d^
u ^ d^v ^
‰^
ujM^vŠ ˆ jM^v ‡ jM^u : 72†
dx dx dx
These moment-product derivative rules are applied in the next section to analyze the dual
dynamics of Lagrange's formulation.

6. Derivation of Newton±Euler's equations from Lagrange's equations

The equivalence between the dual Newton±Euler and Lagrange formulations is shown next.
It seems to us that it is worth discussing this obvious relation here to draw one's attention to
the straightforward relation between the two formulations once dual numbers and the above-
developed derivative rules, Eqs. (51) and (69), are used.
We start this derivation by calculating the energy of a rigid body, without loss of generality,
about its mass center, Eq. (40):
^ vC Š:
K ˆ 12 ‰^vC jM^ 73†

De®ning generalized coordinate as qÃi, namely


q^i ˆ yi ‡ Edi ; 74†
then, the ith Lagrange equation of motion corresponding to generalized coordinate qÃi has the
following form:
^  ^ ^
d @K @K @P
ÿ ‡ ˆ t^ i : 75†
dt @q_^i @q^i @q^i

Let us start with rearranging the ®rst term of Eq. (75) by using an expression for kinetic
energy Eq. (73) and derivative rule Eq. (69), (analyticity of dual velocity as a function of both
dual variable and time derivative of dual variable is assured). Simple substitutions lead to:
^      ^
d @K d @^vC ^ d @^vC ^ vC ‡ @^vC  dM^vC :
ˆ  M^vC ˆ  M^ 76†
dt @q_^i dt @q_^i dt @q_^i @q_^i dt

The second term of Eq. (75) can also be rewritten using Eq. (69):

^
@K @^vC ^
ˆ  M^vC : 77†
@q^i @q^i
710 V. Brodsky, M. Shoham / Mechanism and Machine Theory 34 (1999) 693±718

Calculating now a sum of Eqs. (76) and (77), one obtains


^  ^     ^
d @K @K d @^vC @^vC ^ vC ‡ @^vC : dM^vC ;
ÿ ˆ ÿ  M^ 78†
dt @q_^i @q^i dt @q_^i @q^i @q_^i dt

but the term in square brackets vanishes:


 
d @^vC @^vC
ÿ ˆ 0: Proof is given in the Appendix†: 79†
dt @q_^ i
@q^i

Physically it can be explained as follows: the velocity of a rigid body obtained through the
given constraints is the only one kinetically possible; hence, it must satisfy the Lagrange
Eq. (79).
Hence, Eq. (78) reduces to the form:
^  ^ ^ vC
d @K @K @^vC dM^
ÿ ˆ  : 80†
dt @q_^i @q^i @q_^i dt

The right hand side of Eq. (80) contains the Newton±Euler formulation in dual form
expressed in a form of Eq. (37):
^ vC
dM^
ˆF ^C; 81†
dt
where FÃC is a dual force acting on the rigid body at the mass center.
The ®rst term in the right hand side of Eq. (80), de®ned as

@^vC C
ˆ ti 82†
@q_^ i

is a unit dual vector along the ith dual coordinate.


A scalar multiplication of dual force de®ned by Eq. (81) and unit dual vector, Eq. (82), gives
the projection of a dual force FÃC on the direction of ith general coordinate axis.
Taking also into account the potential energy component of a dual force, one ®nally has:
^  ^ ^ ^ vC @P
^
d @K @K @P dM^
ÿ ‡ ˆC ^ti  ‡ ˆ f^i 83†
dt @q_^
i
@q^i @q^i dt @q^i

Hence, a dual form of ith Lagrange equation of a rigid body motion is a projection of the
Newton±Euler equation on the direction of ith general coordinate axis.
An important conclusion can be drawn considering numerical complexity aspects. Numerical
algorithms which are based on Lagrange's approach and calculate each term of the Lagrange's
equations of motion, actually calculate mutually canceling terms Eq. (79).
V. Brodsky, M. Shoham / Mechanism and Machine Theory 34 (1999) 693±718 711

Two comments are in order:


In the case when ith generalized coordinate presents only rotation or translation (qà i = y i or
q^i ˆ di ), Eq. (80) has the following form (Eq. (79) is still satis®ed):

   ^ vC 
d @K @K @^vC dM^
ÿ ˆ j ; 84†
dt @q_i @qi @q_i dt

which results in pure moment or force, respectively.


The second remark concerns a serial manipulator consisting of a number of links. Using the
Jacobian matrix form of a dual velocity expression, one can rewrite the right hand side of
Eq. (83) in the form:

X
N ^
^t ˆ ^i  dMi^vCi ‡ p;
J 85†
iˆ1
dt

where t^ ˆ ‰^t1 t^ 2 . . . t^ N ŠT is a vector of dual generalized forces along the manipulator's joints, JÃi
is the dual Jacobian matrix of link i at its center of mass and p ˆ ‰@P=@ ^ q^1 @P@ ^
^ q^2 . . . @P=@ q^N ŠT is
the vector of dual forces at joints due to potential energy.
Eq. (85) is the basic term of an algorithm based on D'Alembert's approach and virtual
work principle, [36], a dual formulation of which was obtained in Ref. [7]. This shows the
equivalence between all three formulations of a manipulator dynamics algorithms, namely,
Newton±Euler, Lagrange and D'Alembert formulations.

7. Illustrative example

As an example of dual numbers application to rigid body dynamics, consider the four
degrees-of-freedom robot, shown in Fig. 2. Since this robot contains two cylindrical pairs, it
can be perceived as having only two-dual-degrees-of-freedom.
The dual generalized coordinates of this robot are:

q^1 ˆ y1 ‡ Ed1 ; q^2 ˆ y2 ‡ Ed2 : 86†

Using Denavite±Hartenberg notation to attach the coordinate systems, one obtains the
following dual transformation matrices between the link attached coordinate systems
(translated to respective center of mass) and joint attached ones:

2 3 2 3
c^1 s^1 0 c^2 s^2 0
^1
A ˆ 4 ÿEr1 s1 Er1 c1 ÿ1 5; ^2
A ˆ 4 Er2 s2 ÿEr2 c2 1 5;
0 1
ÿ^s1 c^1 Er1 s^2 ÿc^2 ÿEr2
712 V. Brodsky, M. Shoham / Mechanism and Machine Theory 34 (1999) 693±718
2 3
c^1 c^2 ÿ E`1 s1 s2 s^1 c^2 ‡ E`1 c1 s2 ÿ^s2
^2
A ˆ4 ÿ^s1 ‡ Er2 c1 s2 c^1 ‡ Er2 s1 s2 E `1 ‡ r2 c2 † 5: 87†
0
c^1 s^2 ‡ Es1 `1 c2 ‡ r2 † s^1 s^2 ÿ Ec1 `1 c2 ‡ r2 † c^2

The velocity motors of the links' centers-of-mass are:

2 3 2 3 2 3
0 0 0
6 7 6 7 6 7
^v1 ˆ 6 7_ 6 7 6 7
6 ÿ1 7y^ 1 ˆ 6 ÿy_ 1 7 ‡ E6 ÿd_1 7;
4 5 4 5 4 5
Er1 0 _
r1 y1
2 3 2 3 2 3 2 3 88†
ÿ^s2 0 ÿs2 y_ 1 ÿs2 d_1 ÿ d2 c2 y_ 1
6 7 6 7 6 7 6 7
^v2 ˆ 6 7_ 6 7_ 6 7 6 7
6E `1 ‡ r2 c2 † 7y^ 1 ‡ 6 1 7y^ 2 ˆ 6 y_ 2 7 ‡ E6 r2 c2 y_ 1 ‡ d_2 ‡ `1 y_ 1 7:
4 5 4 5 4 5 4 5
c^2 ÿEr2 c2 y_ 1 c2 d_1 ÿ d2 s2 y_ 1 ÿ r2 y_ 2

For simpli®cation, we assume that the links-attached coordinate system axes are principal,
hence, the dual inertia operators become:

2 3
mi d=dE ‡ EIix 0 0
^i ˆ4
M 0 mi d=dE ‡ EIiy 0 5; i ˆ 1; 2: 89†
0 0 mi d=dE ‡ EIiz

The momentum motors of the ®rst and the second link with respect to their centers of mass

Fig. 2. Two dual (four real) degrees-of-freedom robot manipulator


V. Brodsky, M. Shoham / Mechanism and Machine Theory 34 (1999) 693±718 713

are calculated using Eq. (33) (HÃi = MÃivÃi):


2 3 2 3 2 3 2 3
0 0 ÿs2 d_1 ÿ d2 c2 y_ 1 ÿI2x s2 y_ 1
^ 1 ˆ m1 6
H
7 6 7
4 ÿd_1 5 ‡ E4 ÿI1y y_ 1 5; ^ 2 ˆ m2 6
H
7 6
4 r2 c2 y_ 1 ‡ d_2 ‡ `1 y_ 1 5 ‡ E4 I2y y_ 2 5:
7
90†
r1 y_ 1 0 c2 d_1 ÿ d2 s2 y_ 1 ÿ r2 y_ 2 I2z c2 y_ 1

If the momentum motor is calculated about an arbitrary point, Eq. (32) is used. For example,
calculating the dual momentum motor of the second link about point A one obtains:
2 3
1 0 0
^ 2A ˆ D
H ^2 ˆ 6
^ A;2 H 40 1
7^
ÿEr2 5H 2
0 Er2 1
2 3 2 3 91†
ÿs2 d_1 ÿ d2 c2 y_ 1 ÿI2x s2 y_ 1
6 7 6 7
ˆ m2 4 r2 c2 y_ 1 ‡ d_2 ‡ `1 y_ 1 5 ‡ E4 I2y y_ 2 ÿ r2 m2 c2 d_1 ÿ d2 s2 y_ 1 ÿ r2 y_ 2 † 5;
c2 d_1 ÿ d2 s2 y_ 1 ÿ r2 y_ 2 I c y_ ‡ r m r c y_ ‡ d_ ‡ ` y_ †
2z 2 1 2 2 2 2 1 2 1 1

where DÃA,2 is the motor transformation matrix, Eq. (8), de®ned by vector dA,2 =
[r2 0 0]T.
Velocity motor at the point A of the second link is calculated in the same way:
2 3 2 3
ÿs2 y_ 1 ÿs2 d_1 ÿ d2 c2 y_ 1
^v2A ^ A;2^v2 ˆ 6
ˆD
7 6
4 y_ 2 5 ‡ E4 d_2 ‡ `1 y_ 1 5:
7
92†
c2 y_ 1 c2 d_1 ÿ d2 s2 y_ 1

In order to calculate the kinetic energy, one should use the moment-product of velocity and
momentum motors, evaluated at an arbitrary point

1X 2
^ i Š ˆ 1 ‰^v1 jH
^ 1 Š ‡ 1 ‰^v2 jH
^ 2 Š ˆ 1 ‰^v1 jH
^ 1 Š ‡ 1 ‰^v2A jH
^ 2A Š;
Kˆ ‰^vi jH 93†
2 iˆ1 2 2 2 2

which yields

K ˆ12m1 d_21 ‡ r21 y_ 21 † ‡ 12I1y y_ 21 ‡ 12m2 fd_21 ‡ ‰d22 ‡ `1 ‡ r2 c2 †2 Šy_ 21 ‡ d_22 ‡ r22 y_ 22
94†
‡ 2 `1 ‡ r2 c2 †y_ 1 d_2 ÿ 2r2 c2 y_ 2 d_1 ‡ 2d2 r2 s2 y_ 1 y_ 2 g ‡ 12 I2x s22 ‡ I2z c22 †y_ 21 ‡ 12I2y y_ 22

Applying now the moment-product derivative, Eq. (51), one obtains the dual Lagrange
equations of motion:
714 V. Brodsky, M. Shoham / Mechanism and Machine Theory 34 (1999) 693±718

t^ 1z ˆ m1 ‡ m2 † d1 ‡ g† ÿ m2 r2 c2 y 2 ‡ m2 r2 s2 y_ 22 ‡ Ef I1y ‡ I2x s22 ‡ I2z c22 †y 1

‡ I2x ÿ I2z †s2 c2 y_ 1 y_ 2 ‡ m1 r21 y 1 ‡ m2 ‰ d22 ‡ r22 c22 ‡ `21 ‡ 2`1 r2 c2 †y 1 ‡ `1 ‡ r2 c2 †d2

‡ 2d2 d_2 y_ 1 ‡ r2 d2 c2 y_ 22 ‡ r2 d2 s2 y 2 ÿ 2 `1 r2 ‡ r22 c2 †s2 y_ 1 y_ 2 Šg;

t^ 2z ˆm2 d2 ‡ `1 ‡ r2 c2 †y 1 ÿ 2r2 s2 y_ 1 y_ 2 ÿ y_ 21 d2 † ‡ EfI2y y 2 ‡ I2z ÿ I2x †s2 c2 y_ 21

‡ m2 ‰r22 y 2 ÿ r2 c2 d1 ‡ 2r2 s2 d_2 y_ 1 ‡ r2 s2 d2 y 1 ‡ `1 r2 ‡ r22 c2 †s2 y_ 21 ÿ gr2 c2 Šg:

The same result could be obtained by use of Eq. (85) presenting the Newton±Euler approach
in combination with virtual work principle.

8. Discussion and conclusions

At ®rst, this paper discusses the nature and the physical property of the dual inertia operator
which, unlike the binor inertia matrix, allows connecting the dual velocity with the dual
momentum spaces in a three-dimensional form. With the dual inertia operator, all
transformations between di€erent coordinate systems and di€erent points are naturally
embedded into the dual motors space.
Using the dual inertia operator and the motor transformation rules, this paper develops then
the general expression for dual momentum and uses it to obtain the Newton±Euler
formulation of rigid body dynamics in a three-dimensional dual form. Interestingly, the dual
number representation seems to be a more complete one since it does not require a special
term mvA  vC that is needed with the commonly real vector representation when moments are
calculated about an arbitrary point (not about the center of mass or a stationary point).
With Lagrange's formulation, a special consideration is needed since dual generalized forces
are obtained through derivatives of the energy function. Hence, derivative rules of a real
function with respect to a dual variable are developed in this paper. In particular, derivative
rules of a moment-product operation between the velocity and momentum motors, which is the
operation yielding energy, are developed. It is shown that when analyticity is concerned, same
rules as in real variables for addition, multiplication and composite functions apply also in
dual variables. Once these rules are developed, their application to the Lagrange equation yield
the dual force (both force and moment) in only one equation. These derivative rules are used
also to show how the dual Newton±Euler equations are derived from the dual Lagrange
equation in a straightforward and simple way. The same is shown for another multi-body
dynamic algorithm of a serial manipulator which is based on D'Alembert and virtual work
principles. All formulations calculate dual forces projected along the axes of the active joints.
From the computational complexity point of view it is worth mentioning that Lagrange's
equation includes mutually canceling terms.
One of the main objectives of this investigation is to examine the analogy between real and
dual dynamic relations as it appears in the derivations throughout the paper. This analogy
V. Brodsky, M. Shoham / Mechanism and Machine Theory 34 (1999) 693±718 715

cannot be obtained by standard application of the principle of transference for the dualization
of a dynamic equation, namely, expanding from spherical to spatial dynamic.
Indeed, the principle of transference in kinematics is based on the dualization process [6], which
expands a real function (scalar or vector) describing spherical kinematics into a dual analytic one
describing spatial kinematics. For example, if a real function u = u(y) is given, the corresponding
dual analytic function will be:
du y†
u^ ˆ u y† ‡ Ed :
dy
The necessary condition allowing this transformation is that the real function must depend only
on the real part of the corresponding dual variable. Apparently, the dual momentum vector
function cannot be obtained by this process. Its real part depends generally, on both real and dual
parts of dual variables. However, using the dual inertia operator we have come to the conclusion
that there exists an analogy between real expressions of a rigid body dynamics describing
spherical motion and dual ones describing spatial motion, as is shown in the following table.

Table 1. Rigid body dynamics equations

Real expressions Dual expressions


Momentum of a rigid body
Linear and angular momentum Dual momentum
About mass center, point C

Translational motion p ˆ mvC ;


Rotational motion HC ˆ IC o ^C ˆ M
H ^ C^vC
About an Arbitrary Point A
Translational motion p ˆ mvA ‡ mrCA  o ;
Rotational motion HA ˆ IC ‡ DAC mDCA †o o ^A ˆ D
H ^ AC M
^ CD
^ CA^vA
Velocity and inertia parameters are given in di€erent coordinate systems
Translational motion p ˆ mvC ; T
Rotational motion HA ˆ AT IA Ao o H ^ M
^A ˆ A ^ CA^vA
^ CA
CA
Kinetic energy
Translational motion K ˆ 12v  mv
Rotational motion K ˆ 12o  Io
o ^ C^vŠ ˆ 1‰^vC j^
K ˆ 12‰^vC jM hC Š
2
Newton±Euler dynamic equation
dp
Force f ˆ ;
dt ^A
dHA dH
Moment t A ˆ ‡ mvA  vC ^t A ˆ
dt dt
dp @mv
Force f ˆ ˆ ‡ o  mv;
dt @t
@IA o dH ^ M
^ A @A ^ C^v†
Moment t A ˆ ‡ o  IA o ‡ mvA  vC ^t A ˆ ˆ ^ M
‡ ^vA  A ^ C^v†
@t dt @t
Lagrange dynamic equation
  ^  ^ ^
d @K @K @P d @K @K @P
Qi ˆ ÿ ‡ Q^ i ˆ ÿ ‡
dt @q_i @qi @qi dt _
@q^ @ ^
q i @ q^ i
i
716 V. Brodsky, M. Shoham / Mechanism and Machine Theory 34 (1999) 693±718

This analogy includes the calculation of dual momentum, kinetic energy and rigid body
dynamics equations (both in Newton±Euler and Lagrange formulations).For example, one can
obtain the expression for dual momentum in the general case, Eq. (31) by substituting dual for
real quantities in the expression for angular momentum (velocity motor for angular velocity
vector, dual transformation matrices for real ones and dual inertia operator for the inertia
matrix). This procedure is similar to the use of the principle of transference. Although it does
not have the same sense as in kinematics, it enables, however, to describe fully the dynamics of
a rigid body in a dual form.

Appendix A

This Appendix proves that Lagrange's formulation includes mutually canceling terms,
Eq. (79)
 
d @^vC @^vC
ÿ ˆ0 a1†
dt @q_^
i
@^qi

The nth link dual velocity is (for a free rigid body virtual links can be considered):

X
n
^vn ˆ n ^ j y_^ j :
A a2†
jˆ1

The derivative of a dual rotational transformation matrix is:

^ iÿ1
@i A ^ iÿ1 ;
ˆ ÿ ^ei †i A a3†
@y^ i

^ iÿ1 is a matrix transforming motors from i-1-th coordinate system to ith ; (^ei ) is a
where i A
skew-symmetric cross-product matrix of dual unit vector ^ei of ith rotation axis.
The derivative of velocity motor with respect to a dual variable is obtained by using
equations. (a2) and (a3):

@^vn X n ^j _
@n A X
iÿ1
^ j^ej y_^ j :
ˆ ^ej y^ j ˆ ÿ n ^
Ai ^ei †i A a4†
^
@yi jˆ1 @yi
^ jˆ1

A derivative of velocity motor with respect to time-derivative of a dual variable is [see


equation (a2)]:

@^vn n ^
ˆ Ai^ei : a5†
_
@y^ i
V. Brodsky, M. Shoham / Mechanism and Machine Theory 34 (1999) 693±718 717

This derivative is a motor, since it is a dual transformation of a dual unit vector, and its
time-derivative has to be calculated using Eq. (34):
 
d @^vn ^_ i^ei ‡ ^vn  n A
^ i^ei †:
ˆn A a6†
dt @y_^
i

Now, the ®rst and the second terms are calculated separately:

_ Xn ^j _
@n A Xn
n^
Ai^ei ˆ y^ j^ei ˆ ÿ n ^ ^ i^ei y_^ j
Aj ^ej †j A a7†
jˆi @yj
^ jˆi

and
X
n  X
iÿ1 X
n
n^ ^ _^ n^ n ^ i^ _^ n ^ ^ i^ei y_^ j :
^vn  Ai^ei † ˆ n
Aj^ej yj  Ai^ei † ˆ Ai Aj^ej †  ^ei yj ‡ Aj ^ej †j A a8†
jˆ1 jˆ1 jˆ1

Substitution of equations. (a4), (a7) and (a8) into equation (a1) results in
  Xn X
iÿ1
d @^vC @^vC _^ _
ÿ ˆÿ n ^
^ i^
^
Aj ej † Ai ei yj ‡ Ai Aj^ej †  ^ei y^ j
n ^ i^
dt @q_^i @q^i jˆi jˆ1
a9†
X
n X
iÿ1
‡ n
A ^ i^ei y_^ j ‡
^ j ^ej † j A n
A ^ j^ej y_^ j
^ i ^ei †i A
jˆi jˆ1

The ®rst term on the right side of equation (a9) is equal to the third one with an opposite
sign; hence, their sum vanishes. The sum of the remaining two terms can be calculated as
follows:
X
iÿ1 X
iÿ1
n
A ^ j^ej †  ^ei y_^ j ‡
^ i iA n ^ ^ j^ej y_^ j
Ai ^ei †i A
jˆ1 jˆ1
a10†
X
iÿ1 X
iÿ1
ˆ n^ ^ i^ei †y_^ j ‡
Aj^ej †  n A n^ ^ j^ej †y_^ j ˆ 0:
Ai^ei †  n A
jˆ1 jˆ1

Hence, all the right hand side in equation (a9) vanishes, which proves our assumption.

References

[1] W.K. Cli€ord, Proc. London Mathematic Society, 4, 1873, p. 381.


[2] F.M. Dimentberg, The Screw Calculus and its Applications in Mechanics, (Izdat. `Nauka', Moscow, USSR,
1965) English translation: AD680993, Clearinghouse for Federal and Scienti®c Technical Information.
718 V. Brodsky, M. Shoham / Mechanism and Machine Theory 34 (1999) 693±718

[3] E. Study, Geommetry der Dynamen. Leipzig, 1901.


[4] J. Rooney, Proc. 4th World Congress of IFToMM5, 1089, Newcastle-upon-Tyne, England, 1075.
[5] L.M. Hsia, A.T. Yang, ASME J. of Mech. Des. 103 (1981) 652.
[6] J.M.R. Martinez, J. Du€y, J. Mech. Mach. Theory 26 (1) (1993) 165.
[7] V. Brodsky, M. Shoham, ASME J. of Mech. Des. 116 (1994) 1089.
[8] L. Brand, Vector and Tensor Analysis. 7th printing, Wiley, New York, 1958.
[9] D.P. Chevallier, Mechm. Mach. Theory 31 (1) (1996) 57.
[10] L.S. Woo, F. Freudenstein, J. Mechm. 5 (1970) 417.
[11] G.R. Veldkamp, Mechm. Mach. Theory 11 (1976) 141.
[12] M.L. Keler, Envir. Plann. B 6 (1979) 403.
[13] G.R. Pennock, A.T. Yang, ASME J. of Mechm, Transm. Automn Des. 105 (1983) 28±34.
[14] J.M. McCarthy, Int. J. Rob. Res. 5 (2) (1986) 45.
[15] Y.L. Gu, J.Y.S. Luh, IEEE J. Rob. Automn. RA (3) 6 (1987) 615.
[16] A.K. Pradeep, P.J. Yoder, R. Mukundan, Int. J. Rob. Res. 8 (5) (1989) 55.
[17] D.P. Chevallier, Mechm. Mach. Theory 26 (6) (1991) 613.
[18] M.A. Gonzalez-Palacios, Angeles J., Cam Synthesis. Kluwer, Dordrecht, 1993.
[19] H.H. Cheng, Engng. Comp. 10 (4) (1994) 212.
[20] A.T. Yang, ASME J. Engng. Ind. Series B (93) (1971) 27.
[21] A.T. Yang, Basic Questions of Design Theory. W. R. Spillers (Ed.)., 265, North-Holland, Amsterdam, 1974.
[22] C. Bagci, ASME J. Engng. Ind. 94 (1079) 738.
[23] I.P.J. Lee, A.H. Soni, J. Mech. Des. 101 (1979) 569.
[24] J.Y.S. Luh, Y.L. Gu, Proc. 1984 Conf. Information Sciences and Systems, 680, Princeton, NJ, March 1984,
1984.
[25] B.V. Akselrod, Mekhanika Tverdogo Tela (Mechanics of Solids ). 20, Allerton Press, (1985), p. 79.
[26] L. Yanzhu, Acta Mechanica Sinica. 4, Science Press, Beijing, China, Allerton Press, (1988).
[27] J.M. Selig, Prikladnaya Matematika i Mekhanika, J. of Applied Math. and Mech. 55 (2) (1991) .
[28] G.R. Pennock, B.A. Oncu, ASME J. Dyn. Sys. Meas. and Contr. 114 (2) (1992) 262.
[29] S.K. Agrawal, ASME J., Mech. Des. 115 (1993) 833.
[30] M. Baklouti, J.M. Castelain, J. Rob. Systems 10 (2) (1993) 271.
[31] K. Wohlhart, J.-P. Merlet, B. Ravani, (Eds.), Computational Kinematics, 93, Kluwer, Dordrecht, (1995).
[32] V. Brodsky, M., Shoham 2nd ECPD Int. Conf. on Advanced Robotics, Intelligent Automation and Active
Systems. Vienna, Austria, (1996).
[33] F.M. Dimentberg, Theory of Hinted Spatial Mechanisms, Nauka. Moscow, USSR, 1982).
[34] R.S. Ball, A Treatise on the Theory of Screws. Cambridge University Press, Cambridge, 1900.
[35] A. Karger, J. Novak, Space Kinematics and Lie Groups. Gordon and Breach, New York, 1985.
[36] M. Shoham, R. Srivatsan, Rob. Comput.-integrat. Manufact. 9 (3) (1992) 219.
Update
Mechanism and Machine Theory
Volume 35, Issue 5, May 2000, Page III–IV

DOI: https://doi.org/10.1016/S0094-114X(99)00075-0
Mechanism and Machine Theory 35 (2000) III±IV
www.elsevier.com/locate/mechmt

Erratum

Erratum to ``Dual numbers representation of rigid body


dynamics'' [Mechanism and Machine Theory 34(5)
693±718]
p

V. Brodsky, M. Shoham*
Department of Mechanical Engineering, TechnionÐIsrael Institute of Technology, Haifa, Israel

On page 715, Table 1 should be (see overleaf ):

p
PII of original article: S0094-114X(98)00049-4
* Corresponding author.

0094-114X/00/$ - see front matter # 1999 Published by Elsevier Science Ltd. All rights reserved.
PII: S 0 0 9 4 - 1 1 4 X ( 9 9 ) 0 0 0 7 5 - 0
IV V. Brodsky, M. Shoham / Mechanism and Machine Theory 35 (2000) III±IV

You might also like