Cop\Tight © I F.V: Theon' ot Rohots. \·it'IlIl~1. .-\\lslria 1~}Ht)
QUATERNIONS APPLIED TO DIRECT AND INVERSE ROBOT KINEMATICS PROBLEMS A. L. Feria* and
J.
V. Codina**
81::. T.S. 1::lIgiIlYI'I"I dl' TI'/nullllllli({ui() & Imtitllt de CiiJl'nu'tim (['.I'.C.) **l:.T..'i. /:' lIgiIlYl'rs de TI'/nullllllli((lci() (L'.P.c.) cl jordi (;irollfl S/ II OHO].J BflrCI'/olla, Spaill
Abstract. The trigonometry and vectors coordinate geometry have demostra ted some deficiences like tools to manipulate a robot. The properties of quaternions and how they can be applied are exposed. An example is given to show how to use the quaternions in an arm manipulator. Keywords. Quaternions; Euler parameters; Dual Numbers; Dual Quaternions; Biquaternions; Octonions; Robot.
-..
INTRODUCTION
s + v 1\
( 1)
where We can represent the attitude of the rigid solid in the space with different systems. s ;
One is the matrix of director cosinus,this 3 x3 matrix can be used to represent the attitude of a solid rigid in space.
a
j)COSCl
and
-..
v
(2 )
-.. -.. If a and b are two vectors. and Cl is the an gle between them, the vector V is perpendi: cular to the plane defined by these vectors
Other method, is using Euler's angles, knowing a position we can change to another doing three rotations, where each rotation is represented by an Euler's angle.
~a
We can use another method, the qUcternions which is a part of the object of this paper.
V
Fig. 1
We define the quotient The other part of this paper is devoted to dual quaternions as a tool to do translations.
a j)
Finally, the quaternions and dual quaternions are used to solve the direct and inverse problem.
Q
(3 )
like the quaternion's tensor, where Q is a simple scalar, and we define
-..
p
QUATERNIONS
-..
v v
(4 )
-.. like the quaternion' s versor, p is a unit vector the defines the plane that contains a and ~, and also the turn. Wc can write in consequence, the quaternions as
Hamilton was who discovered the concept of "quaternion" due to that he was searching a system to divide two vectors. The quaternion is a mathematical operator which is composed of a scalar part and a vectorial part.
~; Q[cosCl+sinClp
Its representation is Their conjugate is
67
( 5)
68
:\, L. Feria and
.
s-v
Q[cosa-sinap
J. \',
Codina
ROTATIONS
(6 )
We can express the addition and the product of two quaternions ( 1= Sl.Vl q2 = S2. V2 ) in the following manner ( 7)
The most important application of quaternions is in the expression of rotations.
If we have a quaternion with the form
~= cosa+sinap
( 12 )
(8 )
and its conjugate is the addition has the commutativity propertie but not the product.
.
,
( 13)
cosa-s~nap
The quaternions has a structure of a field The field of quaternions encloses the scalars, the vectors and the complex numbers.
If Y is a vector, applyinq the guaternions on y in the following n.anner
If Q = 1 we can say that the quaternion is normalised, which expression is
~=
( 14 )
.
,
(9 )
cosats~nap
then CARTESIAN EXPRESSION OF QUATERNIONS
..y'
. . .
We define an orthonormal basis el, e2, e3 of the three-dimensional vector space. If we consider el, t 2 , t 3 , like quaternions with null scalar part, the application of the product's definition gives us the following table (1).
eo
el
e2
e3
eo
eo
el
e2
e3
el
e
1
-eo
e3
-e2
e2
e2
-e 3
-eo
el
e3
e3
e2
-e
-e 0
1
( 15)
and
y'
and ..the vector is invar iant because y' and ~ arc in the same direction. The vector x' is the same as ~ ",ith a turned angle 2a. As shown in the figure,(2) the new vector is
Yl
;c'
+
y
( 16)
I
table (1) Defining e o = 1, the cartesian expression of quaternion is
'1=
~
-+
~
..
qoeo+qlel+q2e2+q3e3
(10 )
and if the quaternion is normalised we can say
q~-j-q~+q~+q~
1
( 11 )
ng.
(2)
We can see that with the application of the quaternion q on a vector, in the above exposed manner, we obtain the same vector turned an angl~ 2a arround t~e axe defined by the vector p, ilnd in the p veccor sense.
69
Direct and llwerse Robot Kinematics Prohlem The mouvement of a rigid solid referring to a reference system A with a fixed point can be represented by the Euler's angles or by the director cosinus, the final rota tion is expressed as the matrix product of three successive rotations. If we work with the director cosinus, the mouvement are expressed as the product of a matrix by a vector. If we apply three successive rotations using quaternions, it can be done in the following manner
DUAL VECTORS A dual vector is defined by the following expression
...r
...r
( 19 )
+ Er
where The dual vectors have all the operations that a vectorial spaces have. We remark only the
( 17 )
Product by a dual number DUAL NUMBERS
...
a.r Dual quaternions, is the last and commun name. Before, biquaternions and octonions were used.
(20 )
Scalar product +
~
Octonions is the name that Clifford (18451879) gave to his work about dual numbers and dual quaternions.
r
1 •
+
r 2 + E( r
-
1 •
-
+
r 2 + r 1 r2)
Vectorial product
Clifford defined the dual numbers as
(22 )
( 18)
a + £a
a
(21 )
GEOMETRIC APPLICATION v/here a 6. R and a E. R. We can write dual vector as Applying the hypothesis that the value of £ can be changed, we have the following ca ses:
...r
...
r + £r
which represents a line. Case hyperbolic where £2 = 1 then it implies that D = ~ (complex)
r
X
Case parabolic where £2 = 0 then it implies that 11> Case elyptic implies Il = IR
where £2
-r
p
1 then it
o Fig. (3)
If we consider that 1 E IR as the unit of real numbers, and £ as the unit of dual numbers, £ t D, we can define the following table (2)
1
£
...
...
r.r
1
1
£
E
...
......
The expression r x A r where r is colineal \~ith the line and x is the position vector, of any point in the line. They have the following conditions. r.r
1
o
(23 )
£ 0
Table (2)
These conditions are necessary to represent a line with a dual vector. The angle between two dual vectors is
Dual numbers have a structure of algebra of dimension two. q> +
...
E
(24 )
.-\. L. Feria ane!
iO and it is done by cos.
.J.
Y. Codina
where is the scalar product. E sin~
(25 )
then
We can apply a dual quaternion to this dual vector ( 39)
and we obtain an other dual vector. Defining that the translations are done by a dual quaternion which expression is (40)
(26)
or
and developing the expression
g
qoG o + -
... q l el+ -
~
... qze z
+
-
-+
-+
+ E(qoe o + qlel
... q 3e3
...v
+
--+
+ qzez + q 3e3
(1 + E Z)(r + Er)(l ~
( 27) -+
another equivalent could be
q+
g = qo +
r + Er
E(go + g)
+
1
......
-+-+
2(( vr
rv)
...
(28 )
r'
...
We define the interior product as
i
=
then the value of r'
{gg' + g'.s. }
(41 )
is
...
r'
(42 ) or
(29 )
A dual quaternion is normalised, when we do the interior product of itself
If we define r as
...
r
...pllr...
then
...
r'
(43)
GEOMETRIC INTERPRETATION (30 )
...
the conditions for a dual quaternion be normalised are given by the interior product of
I /
/ ---
~--
1
(31 )
= 0
(32 )
and
The conjugate of a dual quaternion can be expressed by the following three diferent \~ays
g
...
...
:;;
= q + q = qo - q + E(go -
q)
...
g = q - Eq E :: q = q Eq E
qo + q - E(qo + q) qo
q
(( go
g)
pFig. (4)
As it is the figure 4, !he dual vector r has translated a value v and we have the new dual vector ~'. The vector p is an uni tari vector. APPLICATION TO A ROBOT
(33 )
Direct Problem (34 ) (35 )
We have a robot figure (5) where the point 1 has a freedom degree respect to axe e3 and the point 2 has a freedom degree axe el
TRANSLATIONS If
have a dual vector, as a line,
~le
...
...
r
r + Er
( 36 )
~2 Y f3. 1 - - - - - - 1
which has the normalised conditions
...
r.r
1
(37)
r.r
o
(38 )
Fig.
(5)
71
Direct and !Il\·erse Robot Kinematics Problem The turn referring to the e
3
...
axe is (44 )
0
ql
=
1
(cos-2
0
_
r3
...
r
The turned angle between r and r f ven by
The expression of the quaternion ql is
...
If we konw the initial vectors vf~ ri, r2 and also we konw the final pos1t1on de fined by f"
f
is gi-
1
+ Plsin--) 2
(45)
where 0 1 is the turned angle, and Pl~iS~ the vector k in the ortonormal base 1, ],
k.
...
(50 )
r.
1
To maintain the orientation between the axes and the robot's arms we apply the qu~ tern ion ql to the vector P2
1
...pi
(46)
where the vector the quaternion q2
We need to define some additional condi tions to ... minimize thi ~buvcment of the vector r ..
...pz
CONCLUSIONS
is the new vector to
02
02
2
2
= cos-- + p~ nin--
Thc!") to turn the angle 8 2 respect to the axe e l will be
If the robot had more articulations we'd do the same. TRANSLATIONS
The applications of the quaternions and dual quaternions applied to a robot allows the simplification of the calculation system of the arm's orientation. To use the quaternions to do rotations and translations is easier than use matrix transforma tions. In consequence in a comparative analysis of the operations using quaternions or matricial methods, there is a reduction in the amount of operations and execution ti me in a computer. REFERENCES
If we have a robot with an extensible arms we will have is shown in the
Gini, G & M (1983) Robot . Clup, Milano Hamilton, W.R. (1866). Elements of nions. Longmans Green & Co, London
Fig.
(6)
The expression of the dual quaternion to do a translation is given by (47)
2nd to apply it to the dual vectors -1 rand £2' we do
...
r'
_1
(48 )
Invers problem To solve the inverse kinematics problem,we have different ways. We use a similar methode to that one developed by Paul, but using quaternions and not the transformation mntrix as operator.
r;
r. r. '
rt__ - - -- - (XiY/Zi)
---------
(XoYoZo)
Fig.
(7)
quate~
Ninot, J. (1961) La congruencia de rectas y la cinematica parametrica. Tesi, Barcelona. Clifford, (1898) Octonions. Cambridge at the University Press.