0% found this document useful (0 votes)
106 views14 pages

Rigid Body Dynamics Using Clifford Algebra: J.M. Selig and E. Bayro-Corrochano

This document discusses representing rigid body dynamics using Clifford algebra. It summarizes previous work using Clifford algebra to represent velocities, momenta, and inertias of rigid bodies. It then presents a new approach using the algebra C(0,6,2), where velocities and momenta can be represented as elements of the algebra. The equations of motion for a rigid body are derived by differentiating the momentum of the body.

Uploaded by

Zow Niak
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
106 views14 pages

Rigid Body Dynamics Using Clifford Algebra: J.M. Selig and E. Bayro-Corrochano

This document discusses representing rigid body dynamics using Clifford algebra. It summarizes previous work using Clifford algebra to represent velocities, momenta, and inertias of rigid bodies. It then presents a new approach using the algebra C(0,6,2), where velocities and momenta can be represented as elements of the algebra. The equations of motion for a rigid body are derived by differentiating the momentum of the body.

Uploaded by

Zow Niak
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

Rigid Body Dynamics using Clifford Algebra

J.M. Selig and E. Bayro-Corrochano

Abstract. In this paper the dynamics of rigid bodies is recast into a Clif-
ford algebra formalism. Specifically, the algebra C`(0, 6, 2), is used and it is
shown how velocities, momenta and inertias can be represented by elements
of this algebra. The equations of motion for a rigid body are simply derived
by differentiating the momentum of the body.

Mathematics Subject Classification (2000). Primary 70E15; Secondary 11E88.


Keywords. Rigid bodies, Dynamics, Clifford algebra.

1. Introduction
In this work we present a Clifford algebra for representing the dynamics of rigid
bodies. Much of the motivation for doing this comes from robotics. In robotics
we commonly have several rigid bodies connected by simple joints. The equations
of motion of serial robots, where the bodies are joined to each other in a serial
chain, are quite simple to derive. Much of this simplicity comes from two ideas
usually absent from the physics literature on mechanics. Rather, two ideas which
simplify the analysis of single rigid bodies actually complicate matters when we
have several bodies to consider. The first idea is to split the translational and
rotational motion. In robotics things are a lot simpler if we treat translational and
rotational velocities on an equal footing. The second usual simplification that we
must abandon is the body-fixed co-ordinate frame, if we have several rigid bodies
in which one should we fix the co-ordinate frame? So we choose a standard fixed
inertial frame to work in. This means however, that the inertia operators for the
rigid bodies will not be constant but will change as the bodies move with respect
to our standard frame.
A simple method of finding the equations of motion for robots in this way
is Screw theory. In Screw theory the rotational and translational velocities of a
rigid body are combined to form a single six-dimensional vector called a screw. In
essence, these screws are elements of the Lie algebra to the group of rigid body
2 J.M. Selig and E. Bayro-Corrochano

motions, and modern approaches to Screw theory use this Lie theoretic point of
view to much advantage.
By using Clifford algebra we get a common algebraic framework in which
graphic, vision, kinematics and now dynamics problems can be expressed. As these
functions of robots become more closely integrated in practical systems we expect
that a uniform way of analysing these features will become useful.
Another area which may benefit from this work is so called “Game Physics”,
see [8] for example. The problem here is to simulate systems of rigid bodies for com-
puter games. Many different approaches have been suggested recently, in particular
the use of techniques from linear programming, see [16]. These complimentarity
problems would seem to be well suited to formulation in a Clifford algebra. There
may be some gain in overall efficiency if the graphics system used to display the
results was also based on Clifford algebra.
It has been suggested elsewhere that Clifford algebras could form the basis
of efficient computer algorithms, see [2] for instance. Certainly, modern proces-
sor architectures seem to favour algebraic methods. Much of the development of
computer hardware at present is driven by the need to speed up graphics. The
computations required in graphics are in essence, computations in a Clifford al-
gebra. Indeed the use of quaternions to represent rotations is commonplace in
commercial computer graphics systems, see [17]. So there is some hope that the
support for Clifford algebra in future hardware may be better than it is now and
hence the advantage of Clifford algebras will increase.
However, to claim that the results presented here will lead to fast algorithms
for dynamics is premature. The algebra we use is rather large and it is well known
that this will lead to large memory requirements and slow algorithms.
There have been previous attempts to write rigid body dynamics using Clif-
ford algebra. Hestenes [5] presents an essentially 3 dimensional approach using
C`(3). Linear velocities are represented as vectors and angular velocities as bivec-
tors. So linear and angular velocities can be combined into a single term in the
algebra. Forces and torques are treated in much the same way. The power can then
be found by taking the Clifford product of the velocities and forces and extracting
the scalar part. This neat formulation has some drawbacks however. The action
of the group of rigid body motions on the velocities and forces is a little awk-
ward, rotations are effected by conjugation with unit elements of even grade but
translation must be added as vectors. As mentioned above the velocities or screws
form a Lie algebra with a Lie bracket operation, this operation is not modelled in
the Clifford algebra. Neither is the coadjoint action of a Lie algebra element on
an element in the dual of the Lie algebra. This operation is especially important
in dynamics as it gives the so called Coriolis terms in the equations of motion.
Finally, the inertia matrix is represented as an operation that maps bivectors to
bivectors. It is not an element of the Clifford algebra.
Hestenes [6] and Hestenes and Fasse [7] introduce another method using the
algebra C`(4, 1). In this algebra linear velocities are represented by elements of
grade 2 and angular velocities by grade 4 elements. The action of the rigid body
Rigid Body Dynamics using Clifford Algebra 3

motion group on these screws is now much cleaner, both rotations and translations
are represented by conjugations with certain unit elements of even degree. However,
the action of the group on the force/torque elements is not clear and many of the
other drawbacks mentioned above still apply. Abou El Dahab [1] gave a formulation
of Hamiltonian mechanics using Clifford algebra. In some respects the approach
taken is similar to the approach taken in this work. Configuration space is assumed
to be the space of vectors in a Clifford algebra and phase space is constructed by
enlarging the algebra to include the conjugate momentum vectors. The symplectic
geometry of phase space is realised using a distinguished bivector.
The original intention of this work was simply to apply Hestenes’ C`(4, 1) ap-
proach to the dynamics of robots. However, the drawbacks mentioned above meant
that this could not be done as explicitly as was required. This failure prompted
the search for an alternative approach.
This alternative approach, reported below, uses the algebra C`(0, 6, 2). This
arises from the duplication of the algebra C`(0, 3, 1). The algebra C`(0, 3, 1) con-
tains a copy of the group of rigid body motions SE(3) as well as its Lie algebra, the
screws, and elements corresponding to the points, lines and planes of Euclidean
3-space. By duplicating the algebra, elements can be found to represent the mo-
menta, dual to velocities and the inertia which transforms velocities into momenta.
Because the algebra we are using is degenerate, we have to introduce the shuffle
product. We also find it helpful to use the distinguished involution on the algebra
which exchanges elements from one copy of C`(0, 3, 1) with their corresponding
elements in the other copy.
We begin with a brief review of rigid body dynamics using the standard Screw
formalism.

2. Rigid Body Dynamics


The neatest formalism for rigid body dynamics uses 6-dimensional vectors to rep-
resent velocities and momenta. These vector are effectively elements of the Lie
algebra of the group of rigid body motions, SE(3). In partitioned form these vec-
tors can be written,
 
ωx
ωy 
   
ω  ωz 
s= =  vx  .

v  
 vy 
vz
Instantaneously the body is rotating about an axis with angular velocity ω and
simultaneously translating along the same axis with linear velocity v. These 6-
dimensional velocity vectors are called twists, or sometimes screws.
4 J.M. Selig and E. Bayro-Corrochano

Similarly momenta can be written as,


 
lx
   ly 
 
l  lz 
P= px  ,
= 
p  
py 
pz
the angular momentum is l and p is the linear momentum. These 6-dimensional
vectors can be called co-screws as they are intended to be dual to the screws.
These co-screws can also be used to represent wrenches, that is combinations of
force and torque vectors,
 
τ
W= .
F
It is very important to know how the group of rigid transformations SE(3),
acts on these vectors.
For screws, the action is given by the adjoint representation of the group
on its Lie algebra. This can be written in terms of 6 × 6 matrices that have the
partitioned form,
 
R 0
H= ,
TR R
here R is a 3 × 3 rotation matrix and T is an anti-symmetric 3 × 3 matrix repre-
senting the translation vector t. So that T x = t × x for any vector x.
Screws transform according to s → Hs but co-screws transform under the
dual representation; the co-adjoint representation, P → H −T P. Here H −T is short
for (H −1 )T = (H T )−1 . The partitioned form of this matrix is,
 
R TR
H −T = .
0 R
The evaluation of a co-screw on a screw can be written as a matrix product,
P(s) = P T s.
This combination is clearly independent of the action of the rigid body motions; it
is a scalar. This allows us to express the kinetic energy of the rigid body in terms
of screws and co-screws,
1 1 1
EK = P(s) = (ω · l + v · p) = (ωx lx + ωy ly + ωz lz + vx px + vy py + vz pz ),
2 2 2
where P is the momentum co-screw of the body and s is its velocity screw.
The inertia matrix of the body can be represented as a symmetric 6 × 6
matrix,
 
I mC
N= .
mC T mI3
Rigid Body Dynamics using Clifford Algebra 5

Here I is usual the 3 × 3 inertia matrix, while I3 is the 3 × 3 identity matrix.


The mass of the body is m and C is the anti-symmetric matrix representing the
position vector of the centre of mass. The inertia maps velocities to momenta,
P = N s.
The transformation properties of the inertia matrix can be inferred from the
fact that the kinetic energy must be invariant,
N −→ H −T N H −1 .
Finally, we need the co-adjoint action of a screw on a co-screw, this gives
the Coriolis terms in the equations of motion. The action will be denoted by
curly brackets. The operation is dual to the adjoint action of the screws acting on
themselves; the Lie bracket,
sT1 {s2 , P} = [s1 , s2 ]T P.
In the partitioned form we have,
     
ω l ω×l+v×p
{s , P} = { , }= .
v p ω×p
The equation of motion for a single rigid body can now be written,
d
N s + { s, N s } = W,
dt
where W is the external wrench (force/torque co-screw) acting on the body.
This is not quite a simple combination of the Newton and Euler equations of
motion. These are given in a fixed inertial frame, hence the inertia matrix changes
as the body moves. As mentioned in the introduction, in robotics, it is convenient
to use a single fixed inertial frame of reference since there will be several interacting
rigid bodies.

3. Rigid Transformations
For kinematic problems it has been known for a long time that screws can be
represented using the Clifford algebra C`(0, 3, 1). This is the basis for Study’s
dual quaternions, see [11]. In the context of robot kinematics C`(3, 0, 1) was used
by Bayro-Corrochano and Kähle [3], however we will follow [14] here and base our
considerations on C`(0, 3, 1). Here, we have three generators which square to −1
and one which squares to 0. Say, e21 = e22 = e23 = −1 and e2 = 0.
In this algebra we can represent rotations by elements of the form,
θ θ
r = cos + sin (ux e2 e3 + uy e3 e1 + uz e1 e2 ).
2 2
The angle of rotation is θ and (ux , uy , uz )T is a unit vector in the direction of the
rotation axis. This is simply the representation of rotations by quaternions, in a
slightly different guise, just replace e2 e3 7→ i, e3 e1 7→ j and e1 e2 7→ k. So, this is
6 J.M. Selig and E. Bayro-Corrochano

a double-valued representation, or rather a representation of the covering group


Spin(3).
Translations are represented, in this algebra by elements of the form,
1
t = 1 + (tx e1 e + ty e2 e + tz e3 e).
2
Rigid transformations are combinations of rotations and translations g = tr,
and so will have the general form,
g = α0 + α1 e2 e3 + α2 e3 e1 + α3 e1 e2 + β0 ee1 e2 e3 + β1 e1 e + β2 e2 e + β3 e3 e,
where the αs and βs are real coefficients. Notice that the term in β0 has Clifford
element ee1 e2 e3 this could also have been written as −β0 e1 e2 e3 e, this choice is for
consistency with dual quaternion approaches to the subject. The coefficients are
not completely arbitrary, for such an element to be a rigid body motion it must
satisfy the condition,
gg ∗ = 1.
Here the superscript ∗ denotes the Clifford conjugation, see [12, Chap. 9]. In terms
of the coefficients the above equation gives just two relations,
α02 + α12 + α22 + α32 = 1 and α0 β0 + α1 β1 + α2 β2 + α3 β3 = 0.
The Lie algebra of the group of rigid body motions can also be represented in
this algebra. These are the screws, or more properly the twists, they are represented
by arbitrary elements of grade 2,
s = ωx e2 e3 + ωy e3 e1 + ωz e1 e2 + vx e1 e + vy e2 e + vz e3 e.
As usual, (ωx , ωy , ωz )T is the angular velocity vector of the body and (vx , vy , vz )T
is the linear velocity vector of the body. The Lie bracket of a pair of screws s1 and
s2 is simply their commutator,
1 
[s1 , s2 ] = s1 s2 − s2 s1 .
2
The exponential map from the Lie algebra to the group is consistent with the
Clifford algebra, given a Lie algebra element z we have,
1 1
g = e 2 z = 1 + (z/2) + (z/2)2 + · · · ,
2
the factor 12 here is due to the fact that we are working in the double cover of
SE(3).
The velocity screw comes from the time derivative of this relation. This is
simple if the motion of the body is a uniform motion about a constant screw,
t
g = e 2 s0 . It is easy to see that the derivative of this is,
d 1
g = s0 g.
dt 2
Rigid Body Dynamics using Clifford Algebra 7

1
When the motion is more general, g = e 2 z(t) , then it is harder to show but never-
theless true that,
d 1
g = sg,
dt 2
where s is the velocity screw of the rigid body. The relationship between s and z
is given by,

X 1 d
s= adi (z) z,
i=0
(i + 1)! dt

where adi (z)y = [z, adi−1 (z)y] and ad1 (z)y = [z, y], see [4].

4. The Shuffle Product


The theory of exterior or Grassmann products in Clifford algebras is well estab-
lished, see, [9, Chap. 3] for example. However we will also need the dual of this
operation. In a non-degenerate Clifford algebra this could be done simply using
the unit pseudo-scalar. That is the element e12···n = e1 e2 · · · en , with maximum
grade. In [10] Lounesto gives the formula,
b ∨ c = ((be−1 −1
12···n ) ∧ (ce12···n ))e12···n

The algebra we are using is degenerate, e−1 12···n doesn’t exist, so this shuffle operation
has to be introduced explicitly.
The construction is borrowed directly from the theory of Grassmann-Cayley
algebras, see [18] and [12, Chap. 10]. The shuffle product ∨, is defined as follows.
Let b = b1 ∧ b2 ∧ · · · ∧ bj and c = c1 ∧ c2 ∧ · · · ∧ ck in a general Clifford algebra of
dimension n, assuming j + k ≥ n we define
X
b∨c= sign(σ) det(bσ(1) , . . . , bσ(n−k) , c1 , . . . , ck )bσ(n−k+1) ∧ · · · ∧ bσ(j) .
σ

The sum is taken over all permutations σ of 1, 2, . . . , j such that σ(1) < σ(2) <
· · · < σ(n − k) and σ(n − k + 1) < σ(n − k + 2) < · · · < σ(j).
Each bi can be written as a sum of basis elements,
bi = bi1 e1 + bi2 e2 + · · · + bin en .
The determinant in the above definition is the determinant of the matrix whose
columns are the coefficients bσ(1)i , bσ(2)i , . . . , cσ(k)i . The shuffle product is then
extended to the entire Clifford algebra by demanding that it distributes over ad-
dition. When j + k < n the shuffle product is zero.
For example, consider e1 e2 ∨ e3 e in C`(0, 3, 1). For an orthogonal basis we
can confuse the Clifford product of basis elements with the exterior product, so,
e1 e2 ∨ e3 e = det(e1 , e2 , e3 , e) = 1,
where e has been taken to be the fourth basis element “e4 ”.
8 J.M. Selig and E. Bayro-Corrochano

As another example, consider the algebra C`(0, 6, 2) with the orthogonal set
of generators, a1 , a2 , a3 , a, e1 , e2 , e3 , e with that order. Suppose we need to compute
a1 a2 a3 a ∨ a3 a1 e1 e2 e3 e,
a1 a2 a3 a ∨ a3 a1 e1 e2 e3 e = det(a1 a2 a3 a1 e1 e2 e3 e)a3 a + · · ·
− det(a2 aa3 a1 e1 e2 e3 e)a1 a3 + · · · + det(a3 aa3 a1 e1 e2 e3 e)a1 a2 .
Clearly only the middle term on the right-hand-side is non-zero so we have the
result,
a1 a2 a3 a ∨ a3 a1 e1 e2 e3 e = a3 a1 .

5. Momenta and Inertia


In order to include momenta and inertias we ‘double’ the algebra and use the Clif-
ford algebra C`(0, 6, 2). We will label the generators, e1 , e2 , e3 , e and a1 , a2 , a3 , a,
and assume a2i = e2j = −1 and a2 = e2 = 0.
In this algebra we can represent the co-screws with elements of grade 2 of
the form,
P = px a2 a3 + py a3 a1 + pz a1 a2 + lx a1 a + ly a2 a + lz a3 a.
It is easy to see that the action of the group of rigid body motions on these elements
is exactly the same as the action on the screws but using as instead of es.
So let us introduce a new operation, an involution which exchanges as for es.
If we write this with an over bar then āi = ei and ēi = ai .
Now the group action on momenta can be written,
P −→ ḡP ḡ ∗ ,
where g would be the corresponding group element that acts on the screws.
The evaluation map of a co-screw on a screw can be written using the invari-
ant element Q0 ,
Q0 = a2 a3 e1 e + a3 a1 e2 e + a1 a2 e3 e + a1 ae2 e3 + a2 ae3 e1 + a3 ae1 e2 .
Now the evaluation, can have either of the two forms,
P(s) = P ∨ (Q0 ∧ s) = (P ∧ Q0 ) ∨ s.
The invariance of the element Q0 here is with respect to the group action, (gḡ)Q0 (gḡ)∗ .
That is, Q0 = (gḡ)Q0 (gḡ)∗ , however, this element is not invariant under the action
of either g or ḡ alone, Q0 6= gQ0 g ∗ and Q0 6= ḡQ0 ḡ ∗ . Notice that the evaluation
here is very similar to the reciprocal product in traditional Screw theory.
Explicitly, with s as in section 3 we have,
Q0 ∧ s = (ωx a2 a3 + ωy a3 a1 + ωz a1 a2 + vx a1 a + vy a2 a + vz a3 a)e1 e2 e3 e,
since the exterior product is the same as the Clifford product on an orthogonal
basis—except that terms containing a basis element twice vanish. Taking the shuf-
fle of this with P we get,
P ∨ (Q0 ∧ s) = ωx lx + ωy ly + ωz lz + vx px + vy py + vz pz .
Rigid Body Dynamics using Clifford Algebra 9

This time the cross terms vanish because the determinant in the shuffle product
will contain repeated columns.
Next we look at the inertia matrix. Notice that since any inertia matrix can
be transformed to a diagonal matrix by a suitable rigid body motion, if we get
the group action on inertias correct then we only have to consider diagonal inertia
matrices. That is, if the equations work for diagonal inertia matrices they will work
for general inertia matrices. This saves a considerable amount of work verifying
our constructions. Now a diagonal inertia matrix can be represented as,
N = dx a1 ae1 e + dy a2 ae2 e + dz a3 ae3 e + ma2 a3 e2 e3 + ma3 a1 e3 e1 + ma1 a2 e1 e2 ,
where as usual m represents the mass of the body, and di is the mass times the
square of the radius of gyration about the principle axis i.
To construct the map from velocities to momenta we need another invariant,
A = a1 a2 a3 a. This element clearly commutes with any g so unlike the previous
invariant A = gAg ∗ . It is also easy to see that A = ḡAḡ ∗ so clearly A = (gḡ)A(gḡ)∗ .
Now the momentum of the rigid body is given by,
P = A ∨ (N ∧ s).
Explicitly, with the diagonal inertia as above and s as in section 3, we get,
P = mvx a2 a3 + mvy a3 a1 + mvz a1 a2 + dx ωx a1 a + dy ωy a2 a + dz ωz a3 a,
as would be expected from elementary mechanics.
Next we introduce two small results, firstly we have that: h(a∧b)h∗ = (hah∗ )∧

(hbh ), for any elements of the Clifford algebra a, b and h an element which satisfies
hh∗ = 1 and hxh∗ is a vector for any vector x. For any two vectors x and y we
have,
1 1
h(x ∧ y)h∗ = h (xy − yx)h∗ = (hxh∗ hyh∗ − hyh∗ hxh∗ ) = (hxh∗ ) ∧ (hyh∗ ).
2 2
Just as the definition of the exterior product can be extended by linearity and
associativity to the whole algebra, so can this result since conjugation by h is a
linear operation.
The second result is really the dual of the first, that is: h(a ∨ b)h∗ = (hah∗ ) ∨

(hbh ), for any elements of the Clifford algebra a, b and h as above. Note however
that the shuffle product will be zero unless the sum of the grades of the lowest
grade terms in a and b is more than or equal to the dimension of the Clifford
algebra.
In a non-degenerate Clifford algebra this result would not require any extra
proof because of the definition of the shuffle product using the pseudo-scalar as
in section 4 above. For degenerate Clifford algebras, such as the ones considered
in this work this result can be shown quite simply. First observe that for vectors
x1 , x2 , · · · xn we have,
det((hx1 h∗ ), (hx2 h∗ ), · · · (hxn h∗ )) = det(x1 , x2 , · · · xn ).
10 J.M. Selig and E. Bayro-Corrochano

This can be seen by considering the action of h and h∗ on vectors as being rep-
resented by matrix multiplication. The n × n matrices representing h and h∗ will
have determinants which are mutually reciprocal since hh∗ = 1. Combining this
with the first result and the definition of the shuffle product given in section 4
above yields the second result. Finally here, we observe that gḡ clearly satisfies
the conditions (gḡ)(gḡ)∗ = 1 and (gḡ)x(gḡ)∗ is a vector for all vectors x.
Now to find the action of SE(3) on the inertia we use the two results above.
Transforming the equation for the momentum co-screw using conjugation by gḡ
gives,
(gḡ)P(gḡ)∗ = (gḡ) A ∨ (N ∧ s) (gḡ)∗ = (gḡ)A(gḡ)∗ ∨ (gḡ)N (gḡ)∗ ∧ (gḡ)s(gḡ)∗
 

using the results above. Since A is invariant, P commutes with g and s commutes
with ḡ we have,
ḡP ḡ ∗ = A ∨ (gḡN ḡ ∗ g ∗ ∧ gsg ∗ ).
Hence we can deduce that the inertia must transform according to,
N −→ (gḡ)N (gḡ)∗ .
Notice that in fact the same transformation law could be used for, the screws and
co-screw, s → (gḡ)s(gḡ)∗ and P → (gḡ)P(gḡ)∗ .
As an example, consider how the diagonal inertia above transforms under a
translation of tx in the x-direction. For this transformation we have,
1
g = 1 + tx e1 e,
2
and hence,
1 1 1 1 1
gḡ = 1 + tx e1 e 1 + tx a1 a = 1 + tx a1 a + tx e1 e + t2x a1 ae1 e.
 
2 2 2 2 4
For hand calculation it is probably better to perform the multiplications by g and
ḡ separately. The result is,
gḡN ḡ ∗ g ∗ = dx a1 ae1 e + (dy + mt2x )a2 ae2 e + (dz + mt2x )a3 ae3 e +
mtx a3 ae3 e1 − mtx a2 ae1 e2 +
mtx a3 a1 e3 e − mtx a1 a2 e2 e +
ma2 a3 e2 e3 + ma3 a1 e3 e1 + ma1 a2 e1 e2 .
Compare this with the corresponding 6 × 6 inertia matrix,
 
dx 0 0 0 0 0
 0 dy + mt2x 0 0 0 −mtx 
 2

0 0 dz + mtx 0 mtx 0 
 .
0 0 0 m 0 0 
 
0 0 mtx 0 m 0 
0 −mtx 0 0 0 m
Rigid Body Dynamics using Clifford Algebra 11

Finally here, the kinetic energy of the rigid body can be written,
1 1
Ek = P ∨ (Q0 ∧ s) = A ∨ (Q0 ∧ s) ∨ (N ∧ s)
2 2
Notice that the combination A ∨ (Q0 ∧ s) produces,
A ∨ (Q0 ∧ s) = ωx a2 a3 + ωy a3 a1 + ωz a1 a2 + vx a1 a + vy a2 a + vz a3 a.
This, of course is the same as s̄. So the kinetic energy can be written neatly as,
1
Ek = s̄ ∨ (N ∧ s).
2

6. Equations of Motion
We need one final operation before we can write down the equations of motion
for a rigid body; the co-adjoint action. This can be found from the group action
on the co-screws given in the previous section. Let us suppose that a co-screw is
subject to a uniform motion about a screw. The relevant group elements can be
t
written as exponentials, g = e 2 s where t is time. Hence, as a function of time the
co-screw is given by,
t t
P(t) = e 2 s̄ Pe− 2 s̄ .
Now if we differentiate this with respect to t and then set t = 0, we get the
co-adjoint action of the screw s on the co-screw P,
1 
{s , P} = s̄P − Ps̄ .
2
Computation shows that this agrees with the formula given in section 2.
The equations of motion can be derived very simply now. According to New-
ton’s second law, the force applied to the body is equal to the rate of change of
momentum, in our notation this becomes,
d
P = W.
dt
where W is the applied wrench. The momentum is given by, P = A ∨ (N ∧ s),
as we saw above. The derivatives of the factors here are simple to find, A is an
invariant so its derivative is zero, the screw s is the unknown here so we simply
d
write dt s = ṡ. The derivative of the inertia matrix can be found by differentiating
the group action,
d 1 1
N = (sN − N s) + (s̄N − Ns̄).
dt 2 2
Now (sN − N s) ∧ s = 0 so when we combine these results to form the derivative
of the momenta we get,
d 1 
P = A ∨ (N ∧ ṡ) + A ∨ (s̄N − Ns̄) ∧ s .
dt 2
12 J.M. Selig and E. Bayro-Corrochano

This agrees with the results given in section 2, since the second term on the right-
hand side here is,
1 
s̄(A ∨ (N ∧ s)) − (A ∨ (N ∧ s))s̄ = {s , A ∨ (N ∧ s)} = {s , P}.
2
It should also be possible to derive this equation from the expression for the kinetic
energy using Lagrangian mechanics.
Notice that we can tidy our Clifford equations of motion a little by introduc-
ing the invariant element E = Ā = e1 e2 e3 e. Clearly, we have that AE ∨ c = c for
any element c in the algebra, so multiplying our equation by E gives,
1 
N ∧ ṡ + (s̄N − Ns̄) ∧ s = WE.
2

7. Conclusions
As mentioned in the introduction, one of the main motivations for this work was
to cast the dynamics of robots into a Clifford algebra form. This can now be done
quite simply, at least for serial robot arms, we can just imitate the analysis given
in [12] for example, and in fact this has been done in [13].
A more significant achievement of this work is that we have been able to
find a Clifford algebra which contains the symmetric tensor square of the adjoint
representation of the group of rigid body motions SE(3). Clifford algebras are
more usually associated with the anti-symmetric representations. The methods
used here have some similarities to the work of Sobczyk [15], where general linear
algebra is represented using Clifford algebra.
Actually, inertia matrices lie in a subspace of the symmetric square of the
adjoint representation. However, it is clear that the Clifford algebra C`(0, 6, 2)
contains all of this representation. This means that it would be relatively easy
to include first order elasticity and damping into this presentation of mechanics.
This is because the damping matrix and stiffness matrix of such systems are also
symmetric 6 × 6 matrices with the same transformation properties as the inertia
matrix.
Notice that this means that inertias are honest elements of the Clifford alge-
bra, grade 4 elements in fact. Moreover these inertias correspond to the 6×6 inertia
matrices of screw theory. This means that we don’t need to introduce the parallel
axis theorem for inertias, it is contained in, and generalised by, the transformation
properties of the inertia elements.
Of course this is the main advantage of using Clifford algebras in general,
everything is in the algebra. Not just the inertias, velocities and momenta but
also the elements of the group of rigid body motions. All the relations between
physical quantities are given by standard operations in the algebra. This includes
the Lie bracket of screws and the adjoint action of screws on co-screws. So to
perform computations all we need to know is how to do computations in any
Clifford algebra.
Rigid Body Dynamics using Clifford Algebra 13

The algebra we have used C`(0, 6, 2) is rather large, a key question is, can we
find a smaller algebra in which to represent the dynamics of rigid bodies? Certainly
everything we have done uses even graded elements of the algebra, hence by stan-
dard theory of Clifford algebra all our constructions could be reduced to C`(0, 5, 2).
Then again if size was the only consideration we could resort to Hestenes’ original
C`(3) formulation. The question is really: what is the smallest Clifford algebra that
contains a copy of the symmetric square of the adjoint representation of SE(3)?

References
[1] E.T. Abou El Dahab, 2000. “A Formulation of Hamiltonian Mechanics using Geo-
metric Algebra”. Advances in Applied Clifford Algebras, 10(2):217–223.
[2] L. Dorst, D. Fontijne, S. Mann, 2007 Geometric Algebra for Computer Science: An
Object-Oriented approach to Geometry, Morgan Kaufmann, San Francisco.
[3] E. Bayro-Corrochano and D. Kähle, 2000. “Motor Algebra Approach for Computing
the Kinematics of Robot Manipulators”. Journal of Robotic Systems, 17(9):495–516.
[4] F. Hausdorff, 1906. “Die Symbolische Exponential Formel in den Grupen Theorie”.
Berichte de Sächichen Akademie de Wissenschaften (Math Phys Klasse) 58:19–48.
[5] D. Hestenes, 1999. New Foundations for Classical Mechanics 2nd ed. D. Reidel, Dor-
drecht.
[6] D. Hestenes, 2001. “Old Wine in New Bottles: A New Algebraic Framework for Com-
putational Geometry”, chapter 1, pp. 3–17. in Applied Clifford Algebra in Cybernet-
ics, Robotics, Image Processing and Engineering, eds. E. Bayro-Corrochano and G.
Sobczyk. Birkhäuser, Boston.
[7] D. Hestenes and E. Fasse, 2002 “Homogeneous Rigid Body Mechanics with Elastic
Coupling”. in Applications of geometric algebra in computer science and engineering,
eds. L.Dorst, C. Doran and J. Lasenby. Birkhäuser, Boston, pp. 197–212.
[8] I. Millington, 2007 Game Physics Engine Development, Morgan Kaufmann, San Fran-
cisco.
[9] P. Lounesto, 2001. Clifford Algebras and Spinors, 2nd edition. LMS Lecture Note
Series 286, Cambridge University Press, Cambridge.
[10] P. Lounesto, 2004. “Introduction to Clifford Algebras”, Lecture 1, pp. 1–29, in Lec-
tures on Clifford (geometric) algebras and applications. eds. R. Ablamowicz and G.
Sobczyk, Birkhäuser, Boston.
[11] I.R. Porteous, 1981. Topological Geometry. Cambridge University Press, Cambridge,
second edition.
[12] J.M. Selig, 2005. Geometric Fundamentals of Robotics. Springer Verlag, New York.
[13] J.M. Selig, 2005. “Clifford Algebra and Robot Dynamics”, Chapter 19, pp. 637–658,
in Handbook of Computational geometry for Pattern recognition, Vision, Neurocom-
puting and Robotics, editor E. Bayro-Corrochano, Springer Verlag, New York.
[14] J.M. Selig, 2001. “Robot Kinematics and Flags”. chapter 11, pp. 211–234, in Applied
Clifford Algebra in Cybernetics, Robotics, Image Processing and Engineering, eds. E.
Bayro-Corrochano and G. Sobczyk. Birkhäuser, Boston.
14 J.M. Selig and E. Bayro-Corrochano

[15] G. Sobczyk, 2001. “Universal Geometric Algebra”. chapter 2, pp. 18–41, in Applied
Clifford Algebra in Cybernetics, Robotics, Image Processing and Engineering, eds. E.
Bayro-Corrochano and G. Sobczyk. Birkhäuser, Boston.
[16] J.C. Trinkle, J.S. Pang, S. Sudarsky and G. Lo, 1997. “On Dynamic Multi-rigid-body
Contact Problems with Coulomb friction”. Zeitschrift für Angewandte Matematik und
Mechanik, 77(4):267–279.
[17] J. M. Van Verth, L. M. Bishop, 2004. Essential Mathematics for Games and Inter-
active Applications: A Programmers Guide, Morgan Kaufmann, San Francisco.
[18] N. White, 1994. “Grassmann-Cayley Algebra and Robotics”. J. Intell. Robot Syst.,
11:97–107.

J.M. Selig
Faculty of Business, Computing and Information Management
London South Bank University,
London SE1 0AA,
UK.
e-mail: seligjm@lsbu.ac.uk
E. Bayro-Corrochano
Centro de Investigacion y de Estudios Avanzados,
Guadalajara,
Jalisco 44550,
Mexico.
e-mail: edb@gdl.cinvestav.mx

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy