Dual quaternion explained

In mathematics, the dual quaternions are an 8-dimensional real algebra isomorphic to the tensor product of the quaternions and the dual numbers. Thus, they may be constructed in the same way as the quaternions, except using dual numbers instead of real numbers as coefficients. A dual quaternion can be represented in the form, where A and B are ordinary quaternions and ε is the dual unit, which satisfies and commutes with every element of the algebra. Unlike quaternions, the dual quaternions do not form a division algebra.

In mechanics, the dual quaternions are applied as a number system to represent rigid transformations in three dimensions.[1] Since the space of dual quaternions is 8-dimensional and a rigid transformation has six real degrees of freedom, three for translations and three for rotations, dual quaternions obeying two algebraic constraints are used in this application. Since unit quaternions are subject to two algebraic constraints, unit quaternions are standard to represent rigid transformations.[2]

Similar to the way that rotations in 3D space can be represented by quaternions of unit length, rigid motions in 3D space can be represented by dual quaternions of unit length. This fact is used in theoretical kinematics (see McCarthy), and in applications to 3D computer graphics,[3] robotics[4] [5] and computer vision.[6] Polynomials with coefficients given by (non-zero real norm) dual quaternions have also been used in the context of mechanical linkages design.[7] [8]

History

W. R. Hamilton introduced quaternions[9] [10] in 1843, and by 1873 W. K. Clifford obtained a broad generalization of these numbers that he called biquaternions,[11] [12] which is an example of what is now called a Clifford algebra.[13]

In 1898 Alexander McAulay used Ω with Ω2 = 0 to generate the dual quaternion algebra.[14] However, his terminology of "octonions" did not stick as today's octonions are another algebra.

In 1891 Eduard Study realized that this associative algebra was ideal for describing the group of motions of three-dimensional space. He further developed the idea in Geometrie der Dynamen in 1901.[15] B. L. van der Waerden called the structure "Study biquaternions", one of three eight-dimensional algebras referred to as biquaternions.

In 1895, Russian mathematician Aleksandr Kotelnikov developed dual vectors and dual quaternions for use in the study of mechanics.[16]

Formulas

In order to describe operations with dual quaternions, it is helpful to first consider quaternions.[17]

A quaternion is a linear combination of the basis elements 1, i, j, and k. Hamilton's product rule for i, j, and k is often written as

i2=j2=k2=ijk=-1.

Compute, to obtain, and or . Now because, we see that this product yields, which links quaternions to the properties of determinants.

A convenient way to work with the quaternion product is to write a quaternion as the sum of a scalar and a vector (strictly speaking a bivector), that is, where a0 is a real number and is a three dimensional vector. The vector dot and cross operations can now be used to define the quaternion product of and as

G=AC=(a0+A)(c0+C)=(a0c0-AC)+(c0A+a0C+A x C).

A dual quaternion is usually described as a quaternion with dual numbers as coefficients. A dual number is an ordered pair . Two dual numbers add componentwise and multiply by the rule . Dual numbers are often written in the form, where ε is the dual unit that commutes with i, j, k and has the property .

The result is that a dual quaternion can be written as an ordered pair of quaternions . Two dual quaternions add componentwise and multiply by the rule,

\hat{A}\hat{C}=(A,B)(C,D)=(AC,AD+BC).

It is convenient to write a dual quaternion as the sum of a dual scalar and a dual vector,, where and is the dual vector that defines a screw. This notation allows us to write the product of two dual quaternions as

\hat{G}=\hat{A}\hat{C}=(\hat{a}0+A)(\hat{c}0+C)=(\hat{a}0\hat{c}0-AC)+(\hat{c}0A+\hat{a}0C+A x C).

Addition

The addition of dual quaternions is defined componentwise so that given,

\hat{A}=(A,B)=a0+a1i+a2j+a3k+b0\varepsilon+b1\varepsiloni+b2\varepsilonj+b3\varepsilonk,

and

\hat{C}=(C,D)=c0+c1i+c2j+c3k+d0\varepsilon+d1\varepsiloni+d2\varepsilonj+d3\varepsilonk,

then

\hat{A}+\hat{C}=(A+C,B+D)=(a0+c0)+(a1+c1)i+(a2+c2)j+(a3+c3)k+(b0+d0)\varepsilon+(b1+d1)\varepsiloni+(b2+d2)\varepsilonj+(b3+d3)\varepsilonk,

Multiplication

Multiplication of two dual quaternion follows from the multiplication rules for the quaternion units i, j, k and commutative multiplication by the dual unit ε. In particular, given

\hat{A}=(A,B)=A+\varepsilonB,

and

\hat{C}=(C,D)=C+\varepsilonD,

then

\hat{A}\hat{C}=(A+\varepsilonB)(C+\varepsilonD)=AC+\varepsilon(AD+BC).

Notice that there is no BD term, because the definition of dual numbers requires that .

This gives us the multiplication table (note the multiplication order is row times column):

Multiplication table for dual quaternion units
(Row x Column)1 i jkεεiεjεk
11 i j k ε εi εj εk
ii −1 k j εi −ε εk −εj
jj k −1 i εj −εk −ε εi
kk j i −1 εk εj −εi −ε
εε εi εj εk 0 0 0 0
εiεi −ε εk −εj 0 0 0 0
εjεj −εk −ε εi 0 0 0 0
εkεk εj −εi −ε 0 0 0 0

Conjugate

The conjugate of a dual quaternion is the extension of the conjugate of a quaternion, that is

\hat{A}*=(A*,B*)=A*+\varepsilonB*.

As with quaternions, the conjugate of the product of dual quaternions,, is the product of their conjugates in reverse order,

\hat{G}*=(\hat{A}\hat{C})*=\hat{C}*\hat{A}*.

It is useful to introduce the functions Sc(∗) and Vec(∗) that select the scalar and vector parts of a quaternion, or the dual scalar and dual vector parts of a dual quaternion. In particular, if, then

Sc(\hat{A})=\hat{a}0,Vec(\hat{A})=A.

This allows the definition of the conjugate of  as

\hat{A}*=Sc(\hat{A})-Vec(\hat{A}).

or,
*
(\hat{a}
0+A)

=\hat{a}0-A.

The product of a dual quaternion with its conjugate yields

\hat{A}\hat{A}*=(\hat{a}0+A)(\hat{a}0-A)=

2
\hat{a}
0

+AA.

This is a dual scalar which is the magnitude squared of the dual quaternion.

Dual number conjugate

A second type of conjugate of a dual quaternion is given by taking the dual number conjugate, given by

\overline{\hat{A}}=(A,-B)=A-\varepsilonB.

The quaternion and dual number conjugates can be combined into a third form of conjugate given by

\overline{\hat{A}*}=(A*,-B*)=A*-\varepsilonB*.

In the context of dual quaternions, the term "conjugate" can be used to mean the quaternion conjugate, dual number conjugate, or both.

Norm

The norm of a dual quaternion is computed using the conjugate to compute . This is a dual number called the magnitude of the dual quaternion. Dual quaternions with are unit dual quaternions.

Dual quaternions of magnitude 1 are used to represent spatial Euclidean displacements. Notice that the requirement that, introduces two algebraic constraints on the components of Â, that is

\hat{A}\hat{A}*=(A,B)(A*,B*)=(AA*,AB*+BA*)=(1,0).

The first of these constraints,

AA*=1,

implies that

A

has magnitude 1, while the second constraint,

AB*+BA*=0,

implies that

A

and

B

are orthogonal.

Inverse

If is a dual quaternion, and p is not zero, then the inverse dual quaternion is given by

p−1 (1 − ε q p−1).Thus the elements of the subspace do not have inverses. This subspace is called an ideal in ring theory. It happens to be the unique maximal ideal of the ring of dual numbers.

The group of units of the dual number ring then consists of numbers not in the ideal. The dual numbers form a local ring since there is a unique maximal ideal. The group of units is a Lie group and can be studied using the exponential mapping. Dual quaternions have been used to exhibit transformations in the Euclidean group. A typical element can be written as a screw transformation.

Dual quaternions and spatial displacements

A benefit of the dual quaternion formulation of the composition of two spatial displacements DB = ([''R''<sub>''B''</sub>], b) and DA = ([''R''<sub>''A''</sub>],a) is that the resulting dual quaternion yields directly the screw axis and dual angle of the composite displacement DC = DBDA.

In general, the dual quaternion associated with a spatial displacement D = ([''A''], d) is constructed from its screw axis S = (SV) and the dual angle (φd) where φ is the rotation about and d the slide along this axis, which defines the displacement D. The associated dual quaternion is given by,

\hat{S}=\cos

\hat{\phi
} + \sin\frac \mathsf.

Let the composition of the displacement DB with DA be the displacement DC = DBDA. The screw axis and dual angle of DC is obtained from the product of the dual quaternions of DA and DB, given by

\hat{A}=\cos(\hat{\alpha}/2)+\sin(\hat{\alpha}/2)A and\hat{B}=\cos(\hat{\beta}/2)+\sin(\hat{\beta}/2)B.

That is, the composite displacement DC=DBDA has the associated dual quaternion given by

\hat{C}=\cos

\hat{\gamma
}+\sin\frac\mathsf=\left(\cos\frac+\sin\frac\mathsf\right) \left(\cos\frac+\sin\frac\mathsf\right).

Expand this product in order to obtain

\cos\hat{\gamma
}+\sin\frac \mathsf = \left(\cos\frac\cos\frac - \sin\frac\sin\frac \mathsf\cdot \mathsf\right) + \left(\sin\frac\cos\frac \mathsf + \sin\frac\cos\frac \mathsf + \sin\frac\sin\frac \mathsf\times \mathsf\right).

Divide both sides of this equation by the identity

\cos\hat{\gamma
} = \cos\frac\cos\frac - \sin\frac\sin\frac \mathsf\cdot \mathsfto obtain
\tan\hat{\gamma
} \mathsf = \frac.

This is Rodrigues' formula for the screw axis of a composite displacement defined in terms of the screw axes of the two displacements. He derived this formula in 1840.[18]

The three screw axes A, B, and C form a spatial triangle and the dual angles at these vertices between the common normals that form the sides of this triangle are directly related to the dual angles of the three spatial displacements.

Matrix form of dual quaternion multiplication

The matrix representation of the quaternion product is convenient for programming quaternion computations using matrix algebra, which is true for dual quaternion operations as well.

The quaternion product AC is a linear transformation by the operator A of the components of the quaternion C, therefore there is a matrix representation of A operating on the vector formed from the components of C.

Assemble the components of the quaternion into the array . Notice that the components of the vector part of the quaternion are listed first and the scalar is listed last. This is an arbitrary choice, but once this convention is selected we must abide by it.

The quaternion product AC can now be represented as the matrix product

AC=[A+]C= \begin{bmatrix} a0&A3&-A2&A1\\ -A3&a0&A1&A2\\ A2&-A1&a0&A3\\ -A1&-A2&-A3&a0 \end{bmatrix} \begin{Bmatrix}C1\C2\C3\c0\end{Bmatrix}.

The product AC can also be viewed as an operation by C on the components of A, in which case we have

AC=[C-]A=\begin{bmatrix} c0&-C3&C2&C1\\ C3&c0&-C1&C2\\ -C2&C1&c0&C3\\ -C1&-C2&-C3&c0 \end{bmatrix} \begin{Bmatrix}A1\A2\A3\a0\end{Bmatrix}.

The dual quaternion product ÂĈ = (A, B)(C, D) = (AC, AD+BC) can be formulated as a matrix operation as follows. Assemble the components of Ĉ into the eight dimensional array Ĉ = (C1, C2, C3, c0, D1, D2, D3, d0), then ÂĈ is given by the 8x8 matrix product

\hat{A}\hat{C}=[\hat{A}+]\hat{C}=\begin{bmatrix}A+&0\B+&A+\end{bmatrix}\begin{Bmatrix}C\D\end{Bmatrix}.

As we saw for quaternions, the product ÂĈ can be viewed as the operation of Ĉ on the coordinate vector Â, which means ÂĈ can also be formulated as,

\hat{A}\hat{C}=[\hat{C}-]\hat{A}=\begin{bmatrix}C-&0\D-&C-\end{bmatrix}\begin{Bmatrix}A\B\end{Bmatrix}.

More on spatial displacements

The dual quaternion of a displacement D=([A], d) can be constructed from the quaternion S=cos(φ/2) + sin(φ/2)S that defines the rotation [A] and the vector quaternion constructed from the translation vector d, given by D = d1i + d2j + d3k. Using this notation, the dual quaternion for the displacement D=([A], d) is given by

\hat{S}=S+\varepsilon

1
2

DS.

Let the Plücker coordinates of a line in the direction x through a point p in a moving body and its coordinates in the fixed frame which is in the direction X through the point P be given by,

\hat{x}=x+\varepsilonp x xand\hat{X}=X+\varepsilonP x X.

Then the dual quaternion of the displacement of this body transforms Plücker coordinates in the moving frame to Plücker coordinates in the fixed frame by the formula

\hat{X}=\hat{S}\hat{x}\overline{\hat{S}*}.

Using the matrix form of the dual quaternion product this becomes,

\hat{X}=[\hat{S}+][\hat{S}-]*\hat{x}.

This calculation is easily managed using matrix operations.

Dual quaternions and 4×4 homogeneous transforms

It might be helpful, especially in rigid body motion, to represent unit dual quaternions as homogeneous matrices. As given above a dual quaternion can be written as:

\hatq=r+d\varepsilonr

where r and d are both quaternions. The r quaternion is known as the real or rotational part and the

d

quaternion is known as the dual or displacement part.

The rotation part can be given by

r=rw+rxi+ryj+rzk=\cos\left(

\theta
2

\right)+\sin\left(

\theta
2

\right)\left(\vec{a}(i,j,k)\right)

where

\theta

is the angle of rotation about the direction given by unit vector

\vec{a}

. The displacement part can be written as

d=0+

\Deltax
2

i+

\Deltay
2

j+

\Deltaz
2

k

.

The dual-quaternion equivalent of a 3D-vector is

\hatv:=1+\varepsilon(vxi+vyj+vzk)

and its transformation by

\hatq

is given by[19]

\hat{v}'=\hatq\hatv\overline{\hatq*}

.

These dual quaternions (or actually their transformations on 3D-vectors) can be represented by the homogeneous transformation matrix

T=\begin{pmatrix} 1&0&0&0&\\ \Deltax&&&\\ \Deltay&&R&\\ \Deltaz&&&\\ \end{pmatrix}

where the 3×3 orthogonal matrix is given by

R

2
=\begin{pmatrix} r
z

&2rxry-2rwrz&2rxrz+2rwry\\ 2rxry+2rwrz&

2
r
z

&2ryrz-2rwrx\\ 2rxrz-2rwry&2ryrz+2rwrx&

2\\ \end{pmatrix}.
r
z

For the 3D-vector

v=\begin{pmatrix} 1\\ vx\\ vy\\ vz\\ \end{pmatrix}

the transformation by T is given by

\vec{v}'=T\vec{v}

Connection to Clifford algebras

Besides being the tensor product of two Clifford algebras, the quaternions and the dual numbers, the dual quaternions have two other formulations in terms of Clifford algebras.

First, dual quaternions are isomorphic to the Clifford algebra generated by 3 anticommuting elements

i

,

j

,

e

with

i2=j2=-1

and

e2=0

. If we define

k=ij

and

\varepsilon=ek

, then the relations defining the dual quaternions are implied by these and vice versa. Second, the dual quaternions are isomorphic to the even part of the Clifford algebra generated by 4 anticommuting elements

e1,e2,e3,e4

with
2
e
1

=

2
e
2

=

2
e
3

=-1,

2
e
4

=0.

For details, see Clifford algebras: dual quaternions.

Eponyms

Since both Eduard Study and William Kingdon Clifford used and wrote about dual quaternions, at times authors refer to dual quaternions as "Study biquaternions" or "Clifford biquaternions". The latter eponym has also been used to refer to split-biquaternions. Read the article by Joe Rooney linked below for view of a supporter of W.K. Clifford's claim. Since the claims of Clifford and Study are in contention, it is convenient to use the current designation dual quaternion to avoid conflict.

See also

References

NotesSources

Further reading

External links

Notes and References

  1. A.T. Yang, Application of Quaternion Algebra and Dual Numbers to the Analysis of Spatial Mechanisms, Ph.D thesis, Columbia University, 1963.
  2. Valverde . Alfredo . Tsiotras . Panagiotis . 2018 . Dual Quaternion Framework for Modeling of Spacecraft-Mounted Multibody Robotic Systems . Frontiers in Robotics and AI . 5 . 128 . 10.3389/frobt.2018.00128 . 2296-9144 . free . 33501006 . 7805728 .
  3. Web site: Kenwright . Ben . Dual-Quaternions: From Classical Mechanics to Computer Graphics and Beyond . December 24, 2022.
  4. Book: Figueredo . L.F.C. . Adorno . B.V. . Ishihara . J.Y. . Borges . G.A. . 2013 . 2013 IEEE International Conference on Robotics and Automation . Robust kinematic control of manipulator robots using dual quaternion representation . https://ieeexplore.ieee.org/document/6630836 . 10.1109/ICRA.2013.6630836 . 978-1-4673-5643-5 . 531000 . 1949–1955.
  5. Book: Vilhena Adorno, Bruno . 2017 . Robot Kinematic Modeling and Control Based on Dual Quaternion Algebra — Part I: Fundamentals. .
  6. http://vision.in.tum.de/_media/spezial/bib/rodola-cvpr11-2.pdf A. Torsello, E. Rodolà and A. Albarelli, Multiview Registration via Graph Diffusion of Dual Quaternions, Proc. of the XXIV IEEE Conference on Computer Vision and Pattern Recognition, pp. 2441-2448, June 2011.
  7. Li . Zijia . Schröcker . Hans-Peter . Scharler . Daniel F. . 2022-09-07 . A Complete Characterization of Bounded Motion Polynomials Admitting a Factorization with Linear Factors . math.RA . 2209.02306.
  8. Huczala . D. . Siegele . J. . Thimm . D. . Pfurner . M. . Schröcker . H.-P. . 2024 . Rational Linkages: From Poses to 3D-printed Prototypes . Advances in Robot Kinematics 2024 . 2403.00558.
  9. W. R. Hamilton, "On quaternions, or on a new system of imaginaries in algebra," Phil. Mag. 18, installments July 1844 – April 1850, ed. by D. E. Wilkins (2000)
  10. https://archive.org/details/elementsofquater00hamirich W. R. Hamilton, Elements of Quaternions, Longmans, Green & Co., London, 1866
  11. W. K. Clifford, "Preliminary sketch of bi-quaternions, Proc. London Math. Soc. Vol. 4 (1873) pp. 381–395
  12. W. K. Clifford, Mathematical Papers, (ed. R. Tucker), London: Macmillan, 1882.
  13. Book: McCarthy, J. M. . 1990 . An Introduction to Theoretical Kinematics . MIT Press . 62–5 . 9780262132527 .
  14. [Alexander McAulay]
  15. [Eduard Study]
  16. A. P. Kotelnikov (1895) Screw calculus and some applications to geometry and mechanics, Annal. Imp. Univ. Kazan
  17. https://books.google.com/books?id=f8I4yGVi9ocC O. Bottema and B. Roth, Theoretical Kinematics, North Holland Publ. Co., 1979
  18. Rodrigues, O. (1840), Des lois géométriques qui régissent les déplacements d’un système solide dans l’espace, et la variation des coordonnées provenant de ses déplacements considérés indépendamment des causes qui peuvent les produire, Journal de Mathématiques Pures et Appliquées de Liouville 5, 380–440.
  19. https://www.cs.utah.edu/~ladislav/kavan06dual/kavan06dual.pdf Dual Quaternions for Rigid Transformation Blending