1. Ciencia y Tecnología, 14, 2014, pp. 11-28 ISSN 1850-0870 11
Rotaciones, secuencia aeroespacial y cuaterniones. Una revi-
sión de las relaciones fundamentales
Eduardo Serrano1
, Ricardo Oscar Sirne2
y Guillermo La Mura3
Resumen
En este trabajo se presenta un esquema que justifica e interpreta geométricamente
las formulas fundamentales que permiten relacionar los ángulos de Euler, con la
matriz de rotación y el cuaternión para describir la rotación de un cuerpo en el
espacio tridimensional (3D).
Esta revisión de fórmulas logra un nivel de simplicidad y detalle que posibilita
una eficiente implementación computacional a nivel de software o de hardware
programable.
La fundamentación se realiza adoptando los denominados ángulos de Euler para
la secuencia aeroespacial. Con similar razonamiento se la puede desarrollar para
otras secuencias de interés.
Las expresiones son de aplicación en sistemas de posicionamiento y control
automático que utilizan mediciones continuas desde dispositivos tales como
giróscopos, acelerómetros y magnetómetros 3D.
Palabras clave: Ángulos de Euler, secuencia aeroespacial, cuaternión.
1 UNSAM, Escuala Superior Técnica - IUE
2 UBA - Facultad de Ingeniería
3 ECyT UNSAM
2. Ciencia y Tecnología, 14, 2014, pp. 11-28 ISSN 1850-087012
E. Serrano, R. O. Sirne y G. La Mura Rotaciones, secuencia aeroespacial y cuaterniones Una revisión de las relaciones...
Abstract
In this paper we propose a methodology for prove and make a geometric
interpretation of the main formulas to relate the Euler’s angles with the rotation
matrix and the corresponding quaternion, to describe the rotation movement of a
body in space of three dimensions (3D).
Thisreviewoftheformulasincludesthesimplicityanddetaillevelstoallowefficient
computational design to implementation via software or programmable hardware.
Development is done by adopting the so-called Euler angles for the aerospace
sequence. With similar reasoning it can be prove the corresponding relationships
to other sequences of interest.
The expressions are applicable to positioning systems and automatic
control which use continuous measurements from devices such as gyroscopes,
accelerometers and magnetometers 3D.
Key words: Euler’s angles, aerospace sequence, quaternion.
3. E. Serrano, R. O. Sirne y G. La Mura Rotaciones, secuencia aeroespacial y cuaterniones Una revisión de las relaciones...
Ciencia y Tecnología, 14, 2014, pp. 11-28 ISSN 1850-0870 13
I. Introducción
La estimación de la posición de un objeto rígido que se mueve en el espacio
tridimensional constituye un problema frecuente y de fundamental importancia de
la ingeniería y la tecnología en general. Por ejemplo aeronaves, vehículos terrestres,
antenas y sistemas de posicionamiento incluyendo brazos de robot.
Estaestimaciónengeneralsehaceapartirdedatosmedidospordistintosdispositivos
que permiten sensar la posición y el movimiento del cuerpo (Systron, 2011).
Dichos datos, obtenidos desde giróscopos, acelerómetros y magnetómetros 3D
(Kemp et al., 1998; Madgwick, 2010) se deben traducir en una precisa descripción
de la rotación espacial del cuerpo durante su desplazamiento (Sabatini, 2005;
Waldron & Schmiedeler, 2008).
Esta descripción normalmente se realiza mediante la información temporal
expresada en términos de los ángulos de Euler, mediante cuaterniones o matrices
de rotación (Chou,1992; Eberly, 2010; Marins et al., 2009; Kirtley, 2001).
Si bien las fórmulas que relacionan estos elementos son clásicas, su justificación
e interpretación geométrica no es evidente lo cual dificulta su implementación.
Particularmente se dificulta el diseño de algoritmos para la implementación
computacional, combinándola con técnicas matemáticas de filtrado y procesamiento
de los datos en tiempo real (Marins et al., 2009; Sabatini, 2006).
Esto motiva el presente trabajo que apunta a sintetizar, justificar e interpretar
geométricamente las relaciones entre los ángulos de Euler, la matriz de rotación y
el cuaternión asociado a cada rotación.
Los presentes desarrollos se basan en la bibliografía existente, parte de la cual
se detalla en las referencias.
El trabajo está organizado comenzando, en la siguiente sección, por analizar
la rotación relativa de un vector alrededor de otro y justificando la denominada
fórmula de Rodrigues.
En la próxima sección se definen los cuaterniones en forma matricial y se
detallan varias propiedades aritméticas de interés.
A continuación se establecen las relaciones entre cuaterniones y rotaciones,
para culminar en la quinta sección justificando las relaciones entre los ángulos de
Euler, la matriz de rotación y el cuaternión de cada rotación.
4. Ciencia y Tecnología, 14, 2014, pp. 11-28 ISSN 1850-087014
E. Serrano, R. O. Sirne y G. La Mura Rotaciones, secuencia aeroespacial y cuaterniones Una revisión de las relaciones...
II. Rotación de un vector – fórmula de Rodrigues
Rodrigues.
En la próxima sección se definen los cuaterniones en forma matricial y se detallan
varias propiedades aritméticas de interés.
A continuación se establecen las relaciones entre cuaterniones y rotaciones, para
culminar en la quinta sección justificando las relaciones entre los ángulos de Euler, la
matriz de rotación y el cuaternión de cada rotación.
2. Rotación de un vector – fórmula de Rodrigues
Se plantea en 3
ℜ el giro de un vector 0≠u alrededor de un versorv
(
, en un ángulo θ y
en sentido positivo.
En la Fig. 1a se representan los vectores vu
(
y que generan un plano sombreado oπ que
contiene al punto a y tiene a 2c
(
como versor normal; se supone que el producto
vectorial 0≠∧uv
(
, siendo ),0( πϕ ∈ el ángulo entre vu
(
y .
El espacio de referencia es 321 xxx con origen )0,0,0( y versores canónicos:
)1,0,0(y)0,1,0(,)0,0,1( 321
=== eee
(((
Considérese ahora otro sistema con origen en ),,( 321 aaaa = y versores canónicos:
vccc ≡321 y,
(((
Dado el orden cíclico del producto vectorial:
211221 y, ccvcvcvcc
(((((((((
=∧=∧=∧ (1)
Estando u en el plano generado por vc
((
y1 , se lo puede expresar como:
43421
(
4434421
(
31
1 ||)cos(||)(sen
u
vu
u
cuu ϕϕ += (2)
Por otra parte, siendo 2)(sen|| cuuv
((
ϕ=∧ , se tiene que:
112 )(sen||)(sen||)( ucuvcuvuv ==∧=∧∧
(((((
ϕϕ (3)
Así, reemplazando (3) en (2) y teniendo en cuenta que )cos(|| ϕuvu =⋅
(
, resulta:
321
((
43421
((
31
)(
u
vvu
u
vuvu ⋅+∧∧= (4)
Para facilitar la interpretación geométrica, en la Fig. 1b se muestra una representación
local alrededor de a .
(a) (b)
Fig. 1 (a) posición relativa de las ternas, (b) representación local alrededor de a .
El vector que se busca es rotu , que surge de rotar u alrededor de v
(
un ángulo θ en
sentido positivo; como puede observarse:
3rotrot uuu += π
(5)
siendo |||| 1rot uu =π
.
La componente 3u no cambia pues el giro es alrededor de v
(
, entonces:
321(
(
321
(
2111 ||)(sen||)cos(rot
uv
cu
u
cuu
∧
+= θθπ (6)
oπ
1u
2c
(
3cv
((
=
u
3u
rotu
θθθθ πrotu
1c
(
3cv
((
=u
1x
2x
3x
ϕ
2c
(
1c
( a oπ
5. E. Serrano, R. O. Sirne y G. La Mura Rotaciones, secuencia aeroespacial y cuaterniones Una revisión de las relaciones...
Ciencia y Tecnología, 14, 2014, pp. 11-28 ISSN 1850-0870 15
El vector que se busca es rotu , que surge de rotar u alrededor de v
(
un ángulo θ en
sentido positivo; como puede observarse:
3rotrot uuu += π
(5)
siendo |||| 1rot uu =π
.
La componente 3u no cambia pues el giro es alrededor de v
(
, entonces:
321(
(
321
(
1
21
1
11 ||)(sen||)cos(rot
uv
cu
u
cuu
∧
+= θθπ (6)
ya que, por (1), 11121 |||| uvcvucu
v((((((
∧=∧= .
Reemplazando (6) en (5) resulta:
311 )(sen)cos(rot uuvuu +∧+=
(
θθ
con lo cual, expresando 31,uu según (4) queda:
vvuvuvvvuvu
(((((((
⋅+∧∧∧+∧∧= ])[()(sen)()cos(rot θθ (7)
Por último, como vvuuvvuuvvvuv
((((((((
⋅−=⋅−⋅=∧∧ )( , de (7) se obtiene:
vvuvvuuvvvuuu
(((((((
⋅+⋅−∧+⋅−= ][)(sen][)cos(rot θθ (8)
y ya que uvvvvuuvvvuuv ∧=∧⋅−∧=⋅−∧
((((((((
][ , pues 0=∧ vv
((
, resulta:
vvuuvuu
(((
⋅−+∧+= )]cos(1[)(sen)cos(rot θθθ (9)
que es la denominada fórmula de Rodrigues (Olinde Rodrigues, 1795-1851, matemático
francés).
Interesa representar esta última expresión en forma matricial, para ello puede observarse
que siendo ),,( 321
vvvv =
(
y ),,( 321
uuuu = , su producto vectorial uv ∧
(
, resulta:
),,( 122131132332
uvuvuvuvuvuvuv −−−=∧
(
Si se denota ( )• la matriz correspondiente al vector • , queda:
( )
( ) ( )
{
u
u
u
u
w
vv
vv
vv
uv
−
−
−
=∧
3
2
1
12
13
23
0
0
0
44 344 21
(
(10)
Por otra parte, dado que:
( )( ) ( )
=
=
2
2
2
33231
32221
31211
321
3
2
1
vvvvv
vvvvv
vvvvv
vvv
v
v
v
vv T((
(11)
resulta:
( )
{
( )
( )
{
u
u
u
u
v
vvv
v
v
v
v
vuvvuvvu
vvuvuvvu
vvuvvuvu
vvu
T
=
++
++
++
=⋅
3
2
1
321
3
2
1
2
33322311
323
2
22211
313212
2
11
)(
)(
43421
(
(
((
(12)
Con (10) y (12), siendo 33×
ℜ∈I la matriz identidad, la fórmula (9) puede expresarse:
( ) ( ) ( )( ) ( )( ) ( )uvvuwuIu T((
)]cos(1[)(sen)cos(rot θθθ −++=
resultando:
( ) ( ) ( )( ) ( ) ( )uRu
R
vvwIu T
θ
θ
θθθ =−++=
44444444 344444444 21
((
])]cos(1[)(sen)[cos(rot (13)
que es la fórmula de Rodrigues en forma matricial, donde θR es la matriz de rotación.
6. Ciencia y Tecnología, 14, 2014, pp. 11-28 ISSN 1850-087016
E. Serrano, R. O. Sirne y G. La Mura Rotaciones, secuencia aeroespacial y cuaterniones Una revisión de las relaciones...
( )
{
( )
( )
{
u
u
u
v
vvv
v
v
v
vuvvuvvu
vvuvuvvuvvu
T
=
++
++=⋅
3
2321
3
2
2
33322311
323
2
22211
)(
)(
43421
(
(
(12)
Con (10) y (12), siendo 33×
ℜ∈I la matriz identidad, la fórmula (9) puede expresarse:
( ) ( ) ( )( ) ( )( ) ( )uvvuwuIu T((
)]cos(1[)(sen)cos(rot θθθ −++=
resultando:
( ) ( ) ( )( ) ( ) ( )uRu
R
vvwIu T
θ
θ
θθθ =−++=
44444444 344444444 21
((
])]cos(1[)(sen)[cos(rot (13)
que es la fórmula de Rodrigues en forma matricial, donde θR es la matriz de rotación.
Por último, desarrollando la expresión de θR se obtiene:
−+
−
−
−
+
=
2
2
2
33231
32221
31211
12
13
23
)]cos(1[
0
0
0
)(sen
100
010
001
)cos(
vvvvv
vvvvv
vvvvv
vv
vv
vv
R θθθθ
es decir:
+−+−−−
−−+−+−
+−−−+−
=
)cos()]cos(1[)(sen)]cos(1[)(sen)]cos(1[
)(sen)]cos(1[)cos()]cos(1[)(sen)]cos(1[
)(sen)]cos(1[)(sen)]cos(1[)cos()]cos(1[
2
3132231
132
2
2321
231321
2
1
θθθθθθ
θθθθθθ
θθθθθθ
θ
vvvvvvv
vvvvvvv
vvvvvvv
R (14)
donde 12
3
2
2
2
1 =++ vvv pues v
(
es un versor. La traza de θR es )cos(21)( θθ +=Rtr .
3. Cuaterniones
Definido en forma matricial, un cuaternión q se representa mediante:
44 344 2144 344 2144 344 2143421
kjiI
dcba
abdc
bacd
dcab
cdba
q
−
−
+
−
−
+
−
−
+
=
=
−−
−−
−−
=
0010
0001
1000
0100
0001
0010
0100
1000
0100
1000
0001
0010
1000
0100
0010
0001 (15)
donde ℜ∈dcba ,,, , los elementos kjiI y,, también son cuaterniones y forman la base
BQ del espacio de cuaterniones, siendo q combinación lineal de los elementos de BQ .
En forma equivalente se puede denotar:
),,,( dcbakdjcibIaq =+++= (16)
Se definen:
Conjugado de q : qIadcbaq −=−−−= 2),,,(* (17)
Norma de q : 2222
|| dcbaq +++= (18)
Es claro que qq =*)*( ; por otra parte, matricialmente: T
qq ≡* y 4 )det(|| qq = .
Siendo )1,0,0,0(,)0,1,0,0(,)0,0,1,0(,)0,0,0,1( ==== kjiI : 1|||||||| ==== kjiI .
III. Cuaterniones
7. E. Serrano, R. O. Sirne y G. La Mura Rotaciones, secuencia aeroespacial y cuaterniones Una revisión de las relaciones...
Ciencia y Tecnología, 14, 2014, pp. 11-28 ISSN 1850-0870 17
Se definen:
Conjugado de q : qIadcbaq −=−−−= 2),,,(* (17)
Norma de q : 2222
|| dcbaq +++= (18)
Es claro que qq =*)*( ; por otra parte, matricialmente: T
qq ≡* y 4 )det(|| qq = .
Siendo )1,0,0,0(,)0,1,0,0(,)0,0,1,0(,)0,0,0,1( ==== kjiI : 1|||||||| ==== kjiI .
Por simple cálculo matricial se pueden verificar las siguientes propiedades:
P1) Propiedad cíclica del producto entre kji ,, : jikikjkji === ,, .
Cumpliéndose también que jkiijkkij −=−=−= ,, .
P2) Ikji −=== 222
, además: Ikji −= pues
==
==
2
2
)(
)(
kkjikji
ikjikji
.
P3) Si ),,,(y),,,( dcbaqdcbaq ′′′′=′= son cuaterniones:
La suma es asociativa y conmutativa: qqddccbbaaqq +′=′+′+′+′+=′+ ),,,( .
El producto es asociativo pero no conmutativo, puede obtenerse por producto matricial,
siendo: ),,,(),,,(),,,( dcbadcbadcbaqq ′′′′′′′′=′′′′=′ , con ddccbbaaa ′−′−′−′=′′ ,
cddcbabab ′−′+′+′=′′ , dbdbcaacc ′+′−′+′=′′ y cbcbdaadd ′−′+′+′=′′ .
En particular, siendo *q el conjugado de q , Iqdcbaq*q 22222
||)0,0,0,( =+++= ;
de donde, la norma de q puede expresarse como |*||| qqq = .Observándose también
que: IkkjjiiII ==== **** .
El producto de un cuaternión por un escalar k es: ),,,(),,,( dkckbkakdcbakqk == & ,
de donde: |||||| qkqk = ; aquí || k es el valor absoluto de ℜ∈k .
P4) Si ),,,(y),,,( dcbaqdcbaq ′′′′=′= son cuaterniones: **)*( qqqq ′=′ , mientras
que |||||| qpqp = .
P5) Siendo el cuatrenión )0,0,0,0(≠q , el cuaternión 1−
q tal que Iqq =−1
es el inverso
multiplicativo de q ; en forma matricial es la matriz inversa de q . Se verifica que:
2
1
||
*
q
q
q =−
& (19)
pues Idcbadcbaqqqqq ==++++++==−
)0,0,0,1()/()0,0,0,(||/* 2222222221
.
En particular: 111
)( −−−
′=′ qqqq , donde 1−
q y 1−
′q son los inversos multiplicativos de los
cuaterniones q y q′ respectivamente.
También se cumple que: qq =−− 11
)( y ||/1|| 1
qq =−
.
P6) Todo cuaternión ),,,( dcbaq = con 0|| ≠q tiene asociado un cuaternión unitario q
(
,
tal que su norma 1|| =q
(
. La expresión correspondiente es:
|| q
q
q =&
(
(20)
que por lo visto en “P3)” tiene 1|| =q
(
.
Los elementos de },,,{ kjiIBQ = son cuaterniones unitarios.
En particular, aplicando (19), el inverso multiplicativo de un cuaternión unitario q
(
es:
8. Ciencia y Tecnología, 14, 2014, pp. 11-28 ISSN 1850-087018
E. Serrano, R. O. Sirne y G. La Mura Rotaciones, secuencia aeroespacial y cuaterniones Una revisión de las relaciones...
También se cumple que: qq =)( y ||/1|| qq = .
P6) Todo cuaternión ),,,( dcbaq = con 0|| ≠q tiene asociado un cuaternión unitario q
(
,
tal que su norma 1|| =q
(
. La expresión correspondiente es:
|| q
q
q =&
(
(20)
que por lo visto en “P3)” tiene 1|| =q
(
.
Los elementos de },,,{ kjiIBQ = son cuaterniones unitarios.
En particular, aplicando (19), el inverso multiplicativo de un cuaternión unitario q
(
es:
T
qqqqq
(((((
≡==−
*||/* 21
(21)
pues 1|| =q
(
.
P7) Un cuaternión q admite las siguientes representaciones:
43421444 3444 2143421
34
),,(
),,,(
ℜ∈ℜ∈
+=+++==
dcbmatricialformatopunto
vakdjcibIadcbaq (22)
Utilizando el último formato, el producto de 111 vaq += por 222 vaq += se puede
calcular usando la fórmula (Eberly, 2010; Rodríguez Padilla, tesis digital):
444 3444 214434421
v
vvvava
a
vvaaqq 212112212121 ∧+++⋅−= (23)
donde “⋅ ” representa producto escalar y “ ∧ ” producto vectorial entre 3
21, ℜ∈vv ;
trabajando en forma matricial la verificación de (23) es inmediata.
P8) Dado el versor ),,( 321 vvvv =
(
y el ángulo λ , el cuaternión:
))(sen,)(sen,)(sen,)(cos()(sen)cos( 321 vvvvq λλλλλλ =+=
((
(24)
es unitario pues 1|| 2
3
2
2
2
1
2
=++= vvvv
(
y 1)()(sen)(cos|| 2
3
2
2
2
1
22
=+++= vvvq λλ .
Recíprocamente, todo cuaternión unitario q
(
puede expresarse según (24). Para ello,
dado el cuaternión )0,0,0,(),,,( adcbavaq ≠=+= , aplicando (20), tiene asociado el
cuaternión unitario v
q
v
q
a
v
v
q
v
q
a
q
vaqqq
((
||
||
||||||
||
||||
||/ +=+=+== , donde definiendo el
ángulo ),0( πλ ∈ tal que:
=
=
+++
++
+++
=
=
2222
222
2222
||
||
||
)(sen
)cos(
dcba
dcb
dcba
q
v
a
q
a
w
λ
λ
se obtiene la forma (24).
Cuando )0,0,0,(0 aaq =+= con 0≠a , 0)(sen)cos(0||/ ππ kkaaq +=+=
(
donde
corresponden: 0=k y 0=λ si 0>a , 1=k y πλ = si 0<a .
P9) Partiendo de (24) donde 3
ℜ∈v
(
es un versor, un cuaternión unitario también puede
expresarse mediante (Eberly, 2010):
)(Exp)(sen)cos( vvq
(((
λλλ =+= (25)
que es la generalización de la identidad de Euler.
Es posible definir el logaritmo natural de un cuaternión unitario como:
vvq
(((
λλ == ))(Expln()ln( (26)
y también la potencia de un cuaternión unitario como:
vnnvnvq nn ((((
)(sen)cos()(Exp))(sen)(cos( λλλλλ +==+= (27)
9. E. Serrano, R. O. Sirne y G. La Mura Rotaciones, secuencia aeroespacial y cuaterniones Una revisión de las relaciones...
Ciencia y Tecnología, 14, 2014, pp. 11-28 ISSN 1850-0870 19
)(Exp)(sen)cos( vvq
(((
λλλ =+= (25)
que es la generalización de la identidad de Euler.
Es posible definir el logaritmo natural de un cuaternión unitario como:
vvq
(((
λλ == ))(Expln()ln( (26)
y también la potencia de un cuaternión unitario como:
vnnvnvq nn ((((
)(sen)cos()(Exp))(sen)(cos( λλλλλ +==+= (27)
En cambio, dado que el producto de cuaterniones es no conmutativo, no es posible
aplicar las identidades típicas de las funciones logaritmo y exponencial. Es decir:
)ln( qp
((
puede resultar distinto de )ln()ln( qp
((
+
y
)(Exp qp
((
+ puede resultar distinto de )(Exp)(Exp qp
((
4. Relación entre cuaterniones y rotaciones
La rotación de un vector 3
ℜ∈u alrededor de un eje orientado por v
(
en un ángulo θ ,
puede representarse mediante un cuaternion unitario vq
((
)2/(sen)2/cos( θθ += .
Considérese la mencionada fórmula (9) de Rodrigues para el vector rotado, que se repite
aquí para facilitar la lectura:
vvuuvuu
(((
⋅−+∧+= )]cos(1[)(sen)cos(rot θθθ (9)
y el formato (23) del producto de cuaterniones, que también se reitera:
444 3444 214434421
v
vvvava
a
vvaaqq 212112212121 ∧+++⋅−= (23)
Dado que al vector 3
321 ),,( ℜ∈= uuuu le corresponde el cuaternión ),,,0( 321
uuuu = ,
aplicando (23) para calcular el producto *qu
(
, donde vq
((
)2/(sen)2/cos(* θθ −= ,
resulta:
44444 344444 21
(
44 344 21
((
r
vuu
a
vuqu ∧−+⋅= )2/(sen)2/cos()2/(sen* θθθ (28)
Si ahora se pre-multiplica esta última por q
(
, usando también (23), se obtiene:
444444444 3444444444 21
(((
4444444444444 34444444444444 21
43421
((
444444444 3444444444 21
(((
k
rvrvvu
vuvvuvuquq
∧++⋅+
+
ℜ∈
∧⋅−⋅−⋅=
==
)2/(sen)2/cos()2/(sen
0
)2/(sen)2/(sen)2/cos()2/(sen)2/cos(*
2
2
00
θθθ
θθθθθ
Es decir:
kquq += 0* con rvrvvuk ∧++⋅=
(((
)2/(sen)2/cos()2/(sen2
θθθ (29)
Reemplazando la expresión de r según (28), resulta:
)()2/(sen
)(sen
)2/cos()2/(sen)2/cos()2/(sen)2/(cos)2/(sen
2
22
vuv
uv
uvvuuvvuk
((
4444444444 84444444444 76
(
((((
∧∧−
−
∧
∧+∧−+⋅=
θ
θ
θθθθθθ
es decir, uvvuvuvvuk ∧+∧∧−+⋅=
(((((
)(sen)()2/(sen)2/(cos)2/(sen 222
θθθθ .
Reemplazando ahora vvuuvvuuvvvuv
((((((((
⋅−=⋅−⋅=∧∧ )( , queda:
uvvvuuuvvuk =∧+⋅−−+⋅=
(((
(((((
)(sen][)2/(sen)2/(cos)2/(sen
222
222
θθθθ
IV. Relación entre cuaterniones y rotaciones
10. Ciencia y Tecnología, 14, 2014, pp. 11-28 ISSN 1850-087020
E. Serrano, R. O. Sirne y G. La Mura Rotaciones, secuencia aeroespacial y cuaterniones Una revisión de las relaciones...)()2/(sen
)(sen
)2/cos()2/(sen)2/cos()2/(sen)2/(cos)2/(sen
2
22
vuv
uv
uvvuuvvuk
((
4444444444 84444444444 76
(
((((
∧∧−
−
∧
∧+∧−+⋅=
θ
θ
θθθθθθ
es decir, uvvuvuvvuk ∧+∧∧−+⋅=
(((((
)(sen)()2/(sen)2/(cos)2/(sen 222
θθθθ .
Reemplazando ahora vvuuvvuuvvvuv
((((((((
⋅−=⋅−⋅=∧∧ )( , queda:
uvuvvu
uvvvuuuvvuk
∧+−+⋅=
=∧+⋅−−+⋅=
(((
(((((
)(sen)]2/(sen)2/([cos)2/(sen2
)(sen][)2/(sen)2/(cos)2/(sen
222
222
θθθθ
θθθθ
Por último, dado que )cos(1)2/(sen2 2
θθ −= y ]cos[)2/(sen)2/(cos 22
θθθ =− , resulta:
uvuvvuk ∧++⋅−=
(((
)(sen]cos[)]cos(1[ θθθ (30)
que coincide con la expresión de rotu según (9).
Así queda demostrado que dado 3
ℜ∈u , si se definen los cuaterniones uu += 0 y
vq
((
)2/(sen)2/cos( θθ += , el producto:
kquq += 0* con rotuk = (31)
donde rotu es el vector resultante de rotar u un ángulo θ alrededor de v
(
en sentido
positivo. Adoptando para q
(
el ángulo ],0[2/ πθ ∈ , se tendrá ]2,0[ πθ ∈ .
Puesto en forma matricial según (13):
( ) ( ) ( )uRu θ== rotk (32)
donde )cos(21)( θθ +=Rtr , ver texto asociado a (14).
Denotando ),,,()2/(sen)2/cos( dcbavq =+=
((
θθ con 12222
=+++ dcba , por ser un
cuaternión unitario, al desarrollar el producto de cuaterniones de (31) y reconocer k se
obtiene:
( )u
dcbadcbadbca
dcbadcbadacb
dbcadacbdcba
+−−++−
+−−+−+
+−−−+
=
2222
2222
2222
)(2)(2
)(2)(2
)(2)(2
k (33)
lo cual permite, comparando con (32) relacionar el cuaternión q
(
con la matriz de
rotación, obteniéndose:
+−−++−
+−−+−+
+−−−+
=
2222
2222
2222
)(2)(2
)(2)(2
)(2)(2
dcbadcbadbca
dcbadcbadacb
dbcadacbdcba
Rθ (34)
Esta última, teniendo en cuenta que 12222
=+++ dcba puede escribirse en la forma:
−+++−
+−−++
+−−+
=
122)(2)(2
)(2122)(2
)(2)(2122
22
22
22
dadcbadbca
dcbacadacb
dbcadacbba
Rθ (35)
que comparada con lo indicado por Madgwick (Madgwick, 2010) en su expresión (6)
resulta 1−
== θθ RRR TA
B , pues RR B
A=θ .
De (34) se obtiene que 143)( 22222
−=−−−= adcbaRtr θ , donde )2/cos(θ=a ; por
lo cual se cumple que )cos(21)( θθ +=Rtr .
Por otra parte, según (24) y texto relacionado, para 2/θλ = dado que el cuaternión de
interés es ),,,()2/(sen)2/cos( dcbavq =+=
((
θθ , corresponde:
≠∈ )0,0,0,1(si),0(con)arccos( 2
1
1
qa
(
(
πθ
11. E. Serrano, R. O. Sirne y G. La Mura Rotaciones, secuencia aeroespacial y cuaterniones Una revisión de las relaciones...
Ciencia y Tecnología, 14, 2014, pp. 11-28 ISSN 1850-0870 21
que comparada con lo indicado por Madgwick (Madgwick, 2010) en su expresión (6)
resulta 1−
== θθ RRR TA
B , pues RR B
A=θ .
De (34) se obtiene que 143)( 22222
−=−−−= adcbaRtr θ , donde )2/cos(θ=a ; por
lo cual se cumple que )cos(21)( θθ +=Rtr .
Por otra parte, según (24) y texto relacionado, para 2/θλ = dado que el cuaternión de
interés es ),,,()2/(sen)2/cos( dcbavq =+=
((
θθ , corresponde:
−=
=
≠∈
=
)0,0,0,1(si
)0,0,0,1(si0
)0,0,0,1(si),0(con)arccos( 2
1
2
1
q
q
qa
(
(
(
π
πθ
θ (36)
con lo cual, conociendo a , queda identificado unívocamente el ángulo θ .
Así, dado q
(
se pueden obtener θ y θR . Además con (32) se calcula ( ) ( )uRu θ=rot o
también ( ) ( )rot
1
uRu −
= θ con T
RR θθ =−1
.
5. Secuencia aeroespacial – ángulos de Euler
La secuencia aeroespacial contempla el movimiento de rotación en el espacio según tres
ejes, los dos primeros giros se representan en la Fig. 2.
Posición de referencia 1º giro: alrededor de zz ˆ= 2º giro: alrededor de yy ~ˆ =
Fig. 2 Secuencia aeroespacial, los dos primeros giros.
El 1º giro, ángulo αψ ≡ en sentido positivo alrededor del eje zz ˆ= (eje de yaw
o guiñada), tiene asociado el cuaternión ))2/(sen,0,0),2/(cos(1 αα=g respecto del
sistema xyz de referencia.
El 2º giro, ángulo βθ ≡ en sentido positivo alrededor del eje yy ~ˆ = (eje de
pitch o cabeceo), tiene asociado el cuaternión )0),2/(sen,0),2/(cos(2 ββ=g respecto
del sistema zyx ˆˆˆ de referencia (el avión levanta la nariz girando sobre el eje de sus alas,
ver Fig. 2).
αψ ≡ xxˆ
yˆ
y
zz ˆ=
βθ ≡
xˆ
yy ~ˆ =
z~
zˆ
x~
x
z
y
El 3º giro, ángulo γφ ≡ en sentido positivo alrededor del eje xx ′=~ (eje roll o
balanceo o alabeo), tiene asociado el cuaternión )0,0),2/(sen),2/(cos(3 γγ=g respecto
del sistema zyx ~~~ de referencia (el avión gira sobre su eje “cola→nariz”).
En la Fig. 3 se muestra el sentido positivo de
los tres giros mencionados, donde γβα y,
son los denominados ángulos de Euler para la
secuencia aeroespacial.
A continuación se identificará el cuaternión
asociado a cada giro y, mediante la expresión
(34), la matriz de rotación correspondiente. Fig. 3 Secuencia aeroespacial.
Para lograrlo se deben tener en cuenta las relaciones básicas
que surgen de un análisis bidimensional, ver Fig. 4, donde se
z
x
y
yaw:0>α
roll:0>γ
pitch:0>β
2x P
V. Secuencia aeroespacial - ángulos de Euler
12. Ciencia y Tecnología, 14, 2014, pp. 11-28 ISSN 1850-087022
E. Serrano, R. O. Sirne y G. La Mura Rotaciones, secuencia aeroespacial y cuaterniones Una revisión de las relaciones...
secuencia aeroespacial.
A continuación se identificará el cuaternión
asociado a cada giro y, mediante la expresión
(34), la matriz de rotación correspondiente. Fig. 3 Secuencia aeroespacial.
Para lograrlo se deben tener en cuenta las relaciones básicas
que surgen de un análisis bidimensional, ver Fig. 4, donde se
considera una rotación ω en sentido antihorario del sistema
de puntos ),( 21 xx ′′ respecto de ),( 21 xx .
Siendo r la distancia del punto P al origen común y
aplicando las fórmulas de transformación de coordenadas
polares se obtiene: Fig. 4 Rotación en 2
ℜ .
)(sen)cos()cos()(sen)(sen
)(sen)(sen)cos()cos()cos(
12
2
21
1
ωϕωϕωϕ
ωϕωϕωϕ
4342143421
4847648476
x
r
x
rrx
x
r
x
rrx
′
+
′
=+=
′
−
′
=+=
de donde, en forma matricial, resulta
′
′
−
=
2
1
2
1
)(cos)(sen
)(sen)(cos
x
x
x
x
ωω
ωω
o bien:
−
=
′
′
2
1
2
1
)(cos)(sen
)(sen)(cos
x
x
x
x
ωω
ωω
(37)
Retomando ahora los mencionados ángulos de Euler para la secuencia aeroespacial y
suponiendo que se parte de un sistema original xyz , se considerarán los tres giros de
yaw ( αψ ≡ ), pitch ( βθ ≡ ) y roll ( γφ ≡ ), en ese orden y en sentido positivo.
1º giro: En la Fig. 5 se muestra la rotación α alrededor del
eje z , ángulo medido en sentido antihorario de xˆ respecto
de x en el plano xy .
Dado que zz ˆ= , teniendo en cuenta (37) para relacionar las
restantes variables, resulta:
−=
z
y
x
q
z
y
x
444 3444 21
1
100
0)cos()(sen
0)(sen)cos(
ˆ
ˆ
ˆ
αα
αα
Fig. 5 Eje de giro zz ˆ≡
z
x
yaw:0>α
roll:0>γ
1x
2x P
1x′2x′
ω
ϕ
x xˆ
y
yˆ
zz ˆ≡
α
Por lo expuesto en la sección anterior, ))2/(sen,0,0,)2/cos((1 αα=g es el cuaternión
asociado a este giro y por (34) su correspondiente matriz de rotación es:
−
=
100
0)cos()(sen
0)(sen)cos(
αα
αα
αR
por lo tanto, observando 1q resulta:
=
−
z
y
x
R
z
y
x
1
ˆ
ˆ
ˆ
α (38)
donde 1−
αR es la matriz de rotación asociada a ∗
1g , el cuaternión conjugado de 1g .
2º giro: Rotación positiva alrededor de yˆ , con ángulo β
de z~ respecto de zˆ , ver Fig. 6. Siendo yy ~ˆ ≡ , la expresión
zˆ
13. E. Serrano, R. O. Sirne y G. La Mura Rotaciones, secuencia aeroespacial y cuaterniones Una revisión de las relaciones...
Ciencia y Tecnología, 14, 2014, pp. 11-28 ISSN 1850-0870 23
100
por lo tanto, observando 1q resulta:
=
−
z
y
x
R
z
y
x
1
ˆ
ˆ
ˆ
α (38)
donde 1−
αR es la matriz de rotación asociada a ∗
1g , el cuaternión conjugado de 1g .
2º giro: Rotación positiva alrededor de yˆ , con ángulo β
de z~ respecto de zˆ , ver Fig. 6. Siendo yy ~ˆ ≡ , la expresión
(37) establece la relación entre las otras variables, resulta:
−
=
z
y
x
q
z
y
x
ˆ
ˆ
ˆ
)cos(0)(sen
010
)(sen0)cos(
~
~
~
2
444 3444 21
ββ
ββ
Fig. 6 Eje de giro yy ~ˆ ≡
En este caso el cuaternión asociado es )0,)2/(sen,0,)2/cos((2 ββ=g , para el cual
aplicando (34) corresponde la matriz de rotación:
−
=
)cos(0)(sen
010
)(sen0)cos(
ββ
ββ
βR
de donde, comparando con 2q se obtiene:
=
−
z
y
x
R
z
y
x
ˆ
ˆ
ˆ
~
~
~
1
β (39)
Siendo 1−
βR la matriz de rotación asociada a ∗
2g .
Por último, el 3º giro es en sentido positivo en un ángulo γ alrededor de xˆ , la terna
cambia de zyx ~~~ a la definitiva zyx ′′′ . En este caso, dado que xx
w
=′ , se tiene:
−
=
′
′
′
z
y
x
q
z
y
x
~
~
~
)cos()(sen0
)(sen)cos(0
001
3
444 3444 21
γγ
γγ
concuaternión )0,0,)2/(sen,)2/cos((3 γγ=g y matriz de rotación:
−=
)cos()(sen0
)(sen)cos(0
001
γγ
γγγR
β
xˆ x~
yy ~ˆ =
z~
zˆ
Entonces, comparando con 3q resulta:
=
′
′
′
−
z
y
x
R
z
y
x
~
~
~
1
γ (40)
siendo 1−
γR la matriz de rotación asociada a ∗
3g .
Dadas (38), (39) y (40), la composición de los tres giros tiene asociada la matriz de
rotación M tal que:
′
−−−−−−
xxxx
111111
ˆ
~
~
14. Ciencia y Tecnología, 14, 2014, pp. 11-28 ISSN 1850-087024
E. Serrano, R. O. Sirne y G. La Mura Rotaciones, secuencia aeroespacial y cuaterniones Una revisión de las relaciones...
=
′
′
′
−
z
y
x
R
z
y
x
~
~
~
1
γ (40)
siendo 1−
γR la matriz de rotación asociada a ∗
3g .
Dadas (38), (39) y (40), la composición de los tres giros tiene asociada la matriz de
rotación M tal que:
=
=
=
′
′
′
−−−−−−
z
y
x
M
RRR
z
y
x
RR
z
y
x
R
z
y
x
43421
111111
ˆ
ˆ
ˆ
~
~
~
αβγβγγ (41)
Se verifica que esta matriz 111
)(1 −−−
== −
γβααβγ RRRRRRM es la matriz de rotación
asociada al cuaternión que se obtiene como producto de los cuaterniones conjugados
correspondientes a cada giro parcial. Es decir, M es la matriz de rotación de:
∗∗∗∗∗
== )( 321123 ggggggg (42)
Operando en forma matricial se obtiene:
−+
++−
−
=
γβγαγβαγαγβα
γβγβαγαγβαγα
ββαβα
CCSCCSSSSCSC
SCSSSCCSSCCS
SCSCC
M (43)
donde )cos(ωω =C y )(sen ωω =S .
Siendo θR de (35) la matriz de rotación de ),,,( dcbag = , para el cuaternión conjugado
),,,(* dcbag −−−= corresponde MR =−1
θ .
Entonces:
444 3444 21
&
M
MMM
MMM
MMM
dadcbadbca
dcbacadacb
dbcadacbba
R
=
−++−+
+−+−
+−+−+
=−
333231
232221
131211
122)(2)(2
)(2122)(2
)(2)(2122
22
22
22
1
θ (44)
Por simple inspección, de (43) y (44) resultan:
==−+><
==+><
==−+><
==+><
−==+−><
)cos()cos(111225
)cos()(sen12224
)cos()cos(331223
)(sen)cos(23222
)(sen13221
22
22
βα
βα
γβ
γβ
β
Mba
Mdacb
Mda
Mdcba
Mdbca
(45)
Siendo ),,,(321 dcbagggg == , desarrollando el producto se obtienen:
−=
+=
+−=
+=
)2/(sen)2/(sen)2/(cos)2/cos()2/cos()2/(sen
)2/(sen)2/(cos)2/(sen)2/cos()2/(sen)2/cos(
)2/(sen)2/(cos)2/(cos)2/cos()2/(sen)2/(sen
)2/(sen)2/(sen)2/(sen)2/cos()2/cos()2/cos(
γβαγβα
γβαγβα
γβαγβα
γβαγβα
d
c
b
a
(46)
Desde las relaciones numeradas <1> a <5> en (45), suponiendo denominadores no
nulos, se tiene:
13)arcsen()(sen13:1 MM −=⇒−=>< ββ (47)
15. E. Serrano, R. O. Sirne y G. La Mura Rotaciones, secuencia aeroespacial y cuaterniones Una revisión de las relaciones...
Ciencia y Tecnología, 14, 2014, pp. 11-28 ISSN 1850-0870 25
−=
+=
+−=
+=
)2/(sen)2/(sen)2/(cos)2/cos()2/cos()2/(sen
)2/(sen)2/(cos)2/(sen)2/cos()2/(sen)2/cos(
)2/(sen)2/(cos)2/(cos)2/cos()2/(sen)2/(sen
)2/(sen)2/(sen)2/(sen)2/cos()2/cos()2/cos(
γβαγβα
γβαγβα
γβαγβα
γβαγβα
d
c
b
a
(46)
Desde las relaciones numeradas <1> a <5> en (45), suponiendo denominadores no
nulos, se tiene:
13)arcsen()(sen13:1 MM −=⇒−=>< ββ (47)
con lo cual no queda unívocamente definido β salvo que se imponga, por ejemplo,
],[ 22
ππβ −∈ . Por otra parte:
)cos()cos(
)cos()(sen
33
23
3
2
βγ
βγ
==
><
><
M
M
⇒
−∉−−
−∈
=
)
2
,
2
(si)33,23(atan2
)
2
,
2
(si)33,23(atan2
ππβ
ππβ
γ
MM
MM
(48)
)cos()cos(
)cos()(sen
11
12
5
4
βα
βα
==
><
><
M
M
⇒
−∉−−
−∈
=
)
2
,
2
(si)11,12(atan2
)
2
,
2
(si)11,12(atan2
ππβ
ππβ
α
MM
MM
(49)
donde, por definición, 0si)/(tan),(2atan 1
≠= −
xxyxy , 0si2/)0,(2atan >= yy π ,
0si2/)0,(2atan <−= yy π .
Para aquellas aplicaciones donde se cumple que 2/2/ πβπ <<− , los tres ángulos
queden unívocamente determinados, resultando:
=≡
−∈−=≡
=≡
)33,23(atan2:)(
)2/,2/(con13)arcsen(:)(
)11,12(atan2:)(
MMRoll
MPitch
MMYaw
γγφ
ππβββθ
ααψ
(50)
similares a las fórmulas de conversión de MicroStrain Inc. (MicroStrain, 2003).
Desde (44) y teniendo en cuenta que 12222
=+++ dcba , surge que )()( 1
MtrRtr =−
θ , es
decir:
33221114 2
MMMa ++=−
por lo tanto:
2/3322111|| MMMa +++=
pero, por otra parte, los cuaterniones ),,,( dcba y ),,,( dcba −−−− generan la misma
matriz M . En consecuencia, partiendo de M no es posible determinar el signo de a .
Así, si se adopta por ejemplo 0>a , por simple comparación de las dos matrices que
figuran en (44) surgen las siguientes expresiones que permiten obtener el cuaternión a
partir de la matriz M .
−=
−=
−=
+++=
)4/()2112(
)4/()1331(
)4/()3223(
2/3322111
aMMd
aMMc
aMMb
MMMa
(51)
Expresiones que son equivalentes a la primera forma de cálculo ( 1max testif = ) de
MicroStrain Inc. (MicroStrain, 2003).
6. Comentarios Finales
Se ha realizado una exposición detallada, que incluye interpretaciones geométricas y
justificaciones de las relaciones fundamentales entre ángulos de Euler, matriz de
16. Ciencia y Tecnología, 14, 2014, pp. 11-28 ISSN 1850-087026
E. Serrano, R. O. Sirne y G. La Mura Rotaciones, secuencia aeroespacial y cuaterniones Una revisión de las relaciones...
VI. Comentarios Finales
Se ha realizado una exposición detallada, que incluye interpretaciones
geométricas y justificaciones de las relaciones fundamentales entre ángulos de
Euler, matriz de rotación y cuaternión correspondiente a la rotación de un cuerpo
en el espacio 3D.
Es de particular interés la interpretación y uso de las relaciones mencionadas
pues, en combinación con algoritmos de filtrado y procesamiento digital de señales
en tiempo real, se utilizan en el diseño de sistemas automáticos de posicionamiento,
seguimiento y control para diferentes aplicaciones tecnológicas.
SibienseadoptaronlosángulosdeEulerparaladenominadasecuenciaaeroespacial,
con similar razonamiento se pueden obtener las relaciones correspondientes a otras
secuencias típicas, según las necesidades de cada aplicación.
Reconocimientos: El presente trabajo se ha realizado con aporte parcial del
proyecto PIDDEF 26/12.
17. E. Serrano, R. O. Sirne y G. La Mura Rotaciones, secuencia aeroespacial y cuaterniones Una revisión de las relaciones...
Ciencia y Tecnología, 14, 2014, pp. 11-28 ISSN 1850-0870 27
Referencias
Chou J.C.K. (1992) “Quaternion kinematic and dynamic differential equations,”
IEEE Trans. Robot. Autom., vol. 8, no. 1, pp. 53–64.
Eberly D. (2010). “QuaternionAlgebra and Calculus, GeometricTools”, disponible
en: http://www.geometrictools.com/Documentation/Quaternions.pdf
Madgwick S.O.H. (2010), “An efficient orientation filter for inertial and inertial
/ magnetic sensor arrays”, x-io Technologies Limited, Open source IMU
and AHRS algorithms (http://www.x-io.co.uk/open-source-imu-and-ahrs-
algorithms) reporte interno original disponible en: http://www.x-io.co.uk/res/
doc/madgwick_internal_report.pdf
Marins J.L., Yun X., Bachmann E.R., McGhee R.B. and Zyda M.J. (2009) “An
extended Kalman filter for quaternion-based orientation estimation using
MARG sensors”, Proc. IEEE/RSJ Int. Conf. Intelligent Robots and Systems,
Mani, HI, pp. 2003–2011.
MicroStrain Inc. (2003) “Orientation Quantity Conversion Formulas”,
reporte interno, disponible en: http://files.microstrain.com/Orientation%20
Conversion%20formulas.pdf
Kemp. B., Janssen A.J.M.W. and van der Kamp B. (1998) “Body position can
be monitored in 3D using accelerometers and earth-magnetic field sensors,”
Electroencephalogr. Clin.Neurophysiol., vol. 109, pp. 484–488.
KirtleyC.(2001)“Summary:Quaternionsvs.Eulerangles,”BIOMCH-LDiscussion
Disponible: http://isb.ri.ccf.org/biomch-l/archives/biomch-l-2001-05.
Rodríguez Padilla J.J. “Capítulo 4 – Rotaciones y Cuaternios” de la tesis: “El
Algebra y la geometría de los cuaternios y algunas de sus aplicaciones”,
Universidad de Sonora, México; disponible como tesis digital en: http://
bibliotecadigital.uson.mx/bdg_tesisIndice.aspx?tesis=21070
Sabatini A.M. (2005) “Quaternion based strap-down integration method for
applications of inertial sensing to gait analysis,” Med. Biol. Eng. Comput., vol.
42, pp. 97–105.
SabatiniA.M. (2006) “Quaternion-Based Extended Kalman Filter for Determining
Orientation by Inertial and Magnetic Sensing”, IEEE Transactions On
Biomedical Engineering, Vol. 53, Nº. 7.
18. Ciencia y Tecnología, 14, 2014, pp. 11-28 ISSN 1850-087028
E. Serrano, R. O. Sirne y G. La Mura Rotaciones, secuencia aeroespacial y cuaterniones Una revisión de las relaciones...
Systron Donner Inertial (2011), “MMQ-G User’s Guide”, disponible en: http://
www.systron.com/sites/default/files/964856_e_mmq-g_user_s_guide_1_.pdf
Waldron, Kenneth, Schmiedeler, James (2008) “Kinematics”, Springer Handbook
of Robotics.