Dual Numbers
Dual Numbers
Dual Numbers
Abstract
1. Introduction
Dual numbers were introduced in the 19th century by Cliord [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.
We start our discussion by reviewing some of the basic concepts of dual numbers.
Dual numbers were introduced by Cliord [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
Cliord 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
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 Duy [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.
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 dierent, 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 (dierentiable) function as follows:
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:
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.
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 Cliord'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
^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.
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
i1 i1 i1
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
D d and IBO IC ÿ mDCB 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
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 EIA 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 dierent
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 dierent from that one at which
the velocity motor is given.
Rigid body dynamic equations are obtained by dierentiating 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 dierentiate 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 dierent points.
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.
Mutual operation between force and velocity motors or between momentum and velocity
motors requires dierent 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
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 dierent 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 fIC ÿ mD2CA o
og
2 A 2
1 1
mv2A o fIC ÿ mD2CA ÿ 2mDCA DAO o og
2 2
1 1
mv2A o fIC ÿ 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.
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
u u x; x : 45
Since this function depends on two independent variables, x and x8, its dierential is:
@u @u
du x; x dx dx : 46
@x @x
Let us suppose that this dierential 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 dierential of dual variable
dxÃ:
^
du
du x; x dx^ g Eqjdx Edx gdx qdx: 47
dx^
Eqs. (46) and (47) de®ne the same dierential 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
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 uu E uu
dx^ @x @x @x @x @x @x
53
^
du ^
du
uu ;
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:
^
duu ^
x ^
@uu x ^
@uu 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 dierentiate this function, one must assume the analytic character of the dual
function u(xÃ), namely, u(xÃ) is dierentiable. It is well known [2], that a dual analytic function
of dual variable satis®es the conditions, Eqs. (12)±(15):
^ u Eu u x Ex 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. Dierentiability
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 Ex 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~ xdx 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 Ex u 0 x u~ xg x u 0 x u~ x u 0 x Ex 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
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 dierentiating 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
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 dierent 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 dierentiated 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.
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
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
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
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
^ vC
d @K @K @^vC dM^
ÿ j ; 84
dt @q_i @qi @q_i dt
X
N ^
^t ^i dMi^vCi p;
J 85
i1
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:
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
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
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 i1 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
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
The same result could be obtained by use of Eq. (85) presenting the Newton±Euler approach
in combination with virtual work principle.
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 dierent coordinate systems and dierent 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.
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
j1
^ 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 j1 @yi
^ j1
@^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
ji @yj
^ ji
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
j1 j1 j1
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 ji j1
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
ji j1
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
j1 j1
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
j1 j1
Hence, all the right hand side in equation (a9) vanishes, which proves our assumption.
References
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
V. Brodsky, M. Shoham*
Department of Mechanical Engineering, TechnionÐIsrael Institute of Technology, Haifa, Israel
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