Rotaciones, secuencia aeroespacial y cuaterniones. … · Tecnología, 14 2014 1128 18500870 11...

18
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 Serrano 1 , Ricardo Oscar Sirne 2 y Guillermo La Mura 3 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

Transcript of Rotaciones, secuencia aeroespacial y cuaterniones. … · Tecnología, 14 2014 1128 18500870 11...

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 fundamentalesEduardo 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 - IUE2 UBA - Facultad de Ingeniería3 ECyT UNSAM

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).

This review of the formulas includes the simplicity and detail levels to allow efficient 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.

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.

Esta estimación en general se hace a partir de datos medidos por distintos dispositivos 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.

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

1. 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. Esta estimación en general se hace a partir de datos medidos por distintos dispositivos 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. 2. Rotación de un vector – fórmula de Rodrigues Se plantea en 3ℜ el giro de un vector 0≠u alrededor de un versor v( , 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(||)(senu

vuu

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

vvuu

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(

1

21

1

11 ||)(sen||)cos(rotuvcu

ucuu

+= θθπ (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).

oπ 1u

2c(

3cv (( =

u

3u

rotu

θθθθ πrotu 1c(

3cv (( = u

1x

2x

3x ϕ

2c( 1c

( a oπ

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

Estando u en el plano generado por vc (( y1 , se lo puede expresar como:

43421(

4434421(

31

1 ||)cos(||)(senu

vuu

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

vvuu

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(

1

21

1

11 ||)(sen||)cos(rotuvcu

ucuu

+= θθπ (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).

oπ 1u

2c(

3cv (( =

u

3u

rotu

θθθθ πrotu 1c(

3cv (( = u

1x

2x

3x ϕ

2c( 1c

( a oπ

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:

( )

( ) ( ){uuuu

w

vvvvvv

uv

−−

−=∧

3

2

1

12

13

23

00

0

44 344 21

( (10)

Por otra parte, dado que:

( )( ) ( )

=

=

2

2

2

33231

32221

31211

321

3

2

1

vvvvvvvvvvvvvvv

vvvvvv

vv T(( (11)

resulta:

( )

{

( )

( ){uuuu

v

vvv

vvvv

vuvvuvvuvvuvuvvuvvuvvuvu

vvuT

=

++++++

=⋅

3

2

1

321

3

2

1

233322311

323222211

313212211

)()(

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

RvvwIu 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

00

)(sen100010001

)cos(vvvvvvvvvvvvvvv

vvvvvv

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[

23132231

13222321

23132121

θθθθθθθθθθθθθθθθθθ

θvvvvvvv

vvvvvvvvvvvvvv

R (14)

donde 12

322

21 =++ vvv pues v( es un versor. La traza de θR es )cos(21)( θθ +=Rtr .

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...

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:

( )

( ) ( ){uuuu

w

vvvvvv

uv

−−

−=∧

3

2

1

12

13

23

00

0

44 344 21

( (10)

Por otra parte, dado que:

( )( ) ( )

=

=

2

2

2

33231

32221

31211

321

3

2

1

vvvvvvvvvvvvvvv

vvvvvv

vv T(( (11)

resulta:

( )

{

( )

( ){uuuu

v

vvv

vvvv

vuvvuvvuvvuvuvvuvvuvvuvu

vvuT

=

++++++

=⋅

3

2

1

321

3

2

1

233322311

323222211

313212211

)()(

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

RvvwIu 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

00

)(sen100010001

)cos(vvvvvvvvvvvvvvv

vvvvvv

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[

23132231

13222321

23132121

θθθθθθθθθθθθθθθθθθ

θvvvvvvv

vvvvvvvvvvvvvv

R (14)

donde 12

322

21 =++ 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:

44344214434421443442143421

kjiI

dcba

abdcbacddcabcdba

q

−−

+

+

+

=

=

−−−−−−

=

001000011000

0100

0001001001001000

01001000

00010010

1000010000100001 (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: Tqq ≡* 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

)()(

kkjikjiikjikji .

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 ==== **** .

III. Cuaterniones

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

3. Cuaterniones Definido en forma matricial, un cuaternión q se representa mediante:

44344214434421443442143421

kjiI

dcba

abdcbacddcabcdba

q

−−

+

+

+

=

=

−−−−−−

=

001000011000

0100

0001001001001000

01001000

00010010

1000010000100001 (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: Tqq ≡* 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

)()(

kkjikjiikjikji .

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

||*

qqq =− & (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

qq =&( (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:

Tqqqqq ((((( ≡==− *||/* 21

(21) pues 1|| =q( . P7) Un cuaternión q admite las siguientes representaciones:

43421444 3444 214342134 ),,(

),,,(ℜ∈ℜ∈

+=+++==

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 214434421v

vvvavaa

vvaaqq 212112212121 ∧+++⋅−= (23)

donde “ ⋅ ” representa producto escalar y “∧ ” producto vectorial entre 321, ℜ∈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|| 23

22

21

2 =++= vvvv( y 1)()(sen)(cos|| 23

22

21

22 =+++= vvvq λλ .

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...

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

||*

qqq =− & (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

qq =&( (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:

Tqqqqq ((((( ≡==− *||/* 21

(21) pues 1|| =q( . P7) Un cuaternión q admite las siguientes representaciones:

43421444 3444 214342134 ),,(

),,,(ℜ∈ℜ∈

+=+++==

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 214434421v

vvvavaa

vvaaqq 212112212121 ∧+++⋅−= (23)

donde “ ⋅ ” representa producto escalar y “∧ ” producto vectorial entre 321, ℜ∈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|| 23

22

21

2 =++= vvvv( y 1)()(sen)(cos|| 23

22

21

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 vqv

qa

vv

qv

qa

qvaqqq ((

||||

||||||||

||||||/ +=+=+== , donde definiendo el

ángulo ),0( πλ ∈ tal que:

=

=

+++

++

+++

=

=

2222

222

2222

||||

||

)(sen

)cos(

dcbadcbdcba

qv

aqa

λ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)

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

vvvvava

avvaaqq 212112212121 ∧+++⋅−= (23)

Dado que al vector 3321 ),,( ℜ∈= 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 34421((

rvuu

avuqu ∧−+⋅= )2/(sen)2/cos()2/(sen* θθθ (28)

Si ahora se pre-multiplica esta última por q( , usando también (23), se obtiene:

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

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 vqv

qa

vv

qv

qa

qvaqqq ((

||||

||||||||

||||||/ +=+=+== , donde definiendo el

ángulo ),0( πλ ∈ tal que:

=

=

+++

++

+++

=

=

2222

222

2222

||||

||

)(sen

)cos(

dcbadcbdcba

qv

aqa

λ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)

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

vvvvava

avvaaqq 212112212121 ∧+++⋅−= (23)

Dado que al vector 3321 ),,( ℜ∈= 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 34421((

rvuu

avuqu ∧−+⋅= )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

uvuvvuuvvuk

((

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/(sen222

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:

( )udcbadcbadbca

dcbadcbadacbdbcadacbdcba

+−−++−+−−+−++−−−+

=

2222

2222

2222

)(2)(2)(2)(2

)(2)(2k (33)

lo cual permite, comparando con (32) relacionar el cuaternión q( con la matriz de rotación, obteniéndose:

IV. Relación entre cuaterniones y rotaciones

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...

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

uvuvvuuvvuk

((

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/(sen222

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:

( )udcbadcbadbca

dcbadcbadacbdbcadacbdcba

+−−++−+−−+−++−−−+

=

2222

2222

2222

)(2)(2)(2)(2

)(2)(2k (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

dcbadcbadbcadcbadcbadacb

dbcadacbdcbaRθ (34)

Esta última, teniendo en cuenta que 12222 =+++ dcba puede escribirse en la forma:

−+++−+−−+++−−+

=122)(2)(2)(2122)(2

)(2)(2122

22

22

22

dadcbadbcadcbacadacb

dbcadacbbaRθ (35)

que comparada con lo indicado por Madgwick (Madgwick, 2010) en su expresión (6) resulta 1−== θθ RRR TA

B , pues RR BA=θ .

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

21

qqqa

(

(

(

π

πθθ (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 ( ) ( )rot1 uRu −= θ con TRR θθ =−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

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

+−−++−+−−+−++−−−+

=2222

2222

2222

)(2)(2)(2)(2

)(2)(2

dcbadcbadbcadcbadcbadacb

dbcadacbdcbaRθ (34)

Esta última, teniendo en cuenta que 12222 =+++ dcba puede escribirse en la forma:

−+++−+−−+++−−+

=122)(2)(2)(2122)(2

)(2)(2122

22

22

22

dadcbadbcadcbacadacb

dbcadacbbaRθ (35)

que comparada con lo indicado por Madgwick (Madgwick, 2010) en su expresión (6) resulta 1−== θθ RRR TA

B , pues RR BA=θ .

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

21

qqqa

(

(

(

π

πθθ (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 ( ) ( )rot1 uRu −= θ con TRR θθ =−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 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

xr

xrrx

xr

xrrx

′+

=+=

=+=

de donde, en forma matricial, resulta

′′

−=

2

1

2

1

)(cos)(sen)(sen)(cos

xx

xx

ωωωω

o bien:

=

′′

2

1

2

1

)(cos)(sen)(sen)(cos

xx

xx

ωωωω

(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:

−=

zyx

q

zyx

444 3444 21

1

1000)cos()(sen0)(sen)cos(

ˆˆˆ

αααα

Fig. 5 Eje de giro zz ˆ≡

zx

y

yaw:0>α

roll:0>γ

pitch:0>β

1x

2x P

1x′ 2x′ ω

ϕ

x x

yy

zz ˆ≡

α

V. Secuencia aeroespacial - ángulos de Euler

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...

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 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

xr

xrrx

xr

xrrx

′+

=+=

=+=

de donde, en forma matricial, resulta

′′

−=

2

1

2

1

)(cos)(sen)(sen)(cos

xx

xx

ωωωω

o bien:

=

′′

2

1

2

1

)(cos)(sen)(sen)(cos

xx

xx

ωωωω

(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:

−=

zyx

q

zyx

444 3444 21

1

1000)cos()(sen0)(sen)cos(

ˆˆˆ

αααα

Fig. 5 Eje de giro zz ˆ≡

zx

y

yaw:0>α

roll:0>γ

pitch:0>β

1x

2x P

1x′ 2x′ ω

ϕ

x x

yy

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:

−=

1000)cos()(sen0)(sen)cos(

αααα

αR

por lo tanto, observando 1q resulta:

=

zyx

Rzyx

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:

−=

zyx

q

zyx

ˆˆˆ

)cos(0)(sen010

)(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)(sen010

)(sen0)cos(

ββ

ββ

βR

de donde, comparando con 2q se obtiene:

=

zyx

Rzyx

ˆˆˆ

~~~

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:

−=

′′′

zyx

q

zyx

~~~

)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

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

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:

−=

1000)cos()(sen0)(sen)cos(

αααα

αR

por lo tanto, observando 1q resulta:

=

zyx

Rzyx

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:

−=

zyx

q

zyx

ˆˆˆ

)cos(0)(sen010

)(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)(sen010

)(sen0)cos(

ββ

ββ

βR

de donde, comparando con 2q se obtiene:

=

zyx

Rzyx

ˆˆˆ

~~~

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:

−=

′′′

zyx

q

zyx

~~~

)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:

=

′′′

zyx

Rzyx

~~~

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:

=

=

=

′′′

−−−−−−

zyx

M

RRRzyx

RRzyx

Rzyx

43421111111

ˆˆˆ

~~~

αβγβγγ (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:

−+++−

−=

γβγαγβαγαγβα

γβγβαγαγβαγα

ββαβα

CCSCCSSSSCSCSCSSSCCSSCCSSCSCC

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

&

MMMMMMMMMM

dadcbadbcadcbacadacbdbcadacbba

R

=

−++−++−+−+−+−+

=−

333231232221131211

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

βαβαγβγβ

β

MbaMdacbMdaMdcbaMdbca

(45)

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...

Entonces, comparando con 3q resulta:

=

′′′

zyx

Rzyx

~~~

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:

=

=

=

′′′

−−−−−−

zyx

M

RRRzyx

RRzyx

Rzyx

43421111111

ˆˆˆ

~~~

αβγβγγ (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:

−+++−

−=

γβγαγβαγαγβα

γβγβαγαγβαγα

ββαβα

CCSCCSSSSCSCSCSSSCCSSCCSSCSCC

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

&

MMMMMMMMMM

dadcbadbcadcbacadacbdbcadacbba

R

=

−++−++−+−+−+−+

=−

333231232221131211

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

βαβαγβγβ

β

MbaMdacbMdaMdcbaMdbca

(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(

γβαγβαγβαγβαγβαγβαγβαγβα

dcba

(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

3323

32

βγβγ

==><><

MM ⇒

−∉−−

−∈=

)2

,2

(si)33,23(atan2

)2

,2

(si)33,23(atan2

ππβ

ππβγ

MM

MM (48)

)cos()cos()cos()(sen

1112

54

βαβα

==><><

MM ⇒

−∉−−

−∈=

)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:)(

MMRollMPitch

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 .

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

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(

γβαγβαγβαγβαγβαγβαγβαγβα

dcba

(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

3323

32

βγβγ

==><><

MM ⇒

−∉−−

−∈=

)2

,2

(si)33,23(atan2

)2

,2

(si)33,23(atan2

ππβ

ππβγ

MM

MM (48)

)cos()cos()cos()(sen

1112

54

βαβα

==><><

MM ⇒

−∉−−

−∈=

)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:)(

MMRollMPitch

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

aMMdaMMcaMMbMMMa

(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 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. Si bien se adoptaron los ángulos de Euler para la denominada secuencia aeroespacial, 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. 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). “Quaternion Algebra and Calculus, Geometric Tools”, 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%20Conversion%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. Kirtley C. (2001) “Summary: Quaternions vs. Euler angles,” BIOMCH-L Discussion Disponible: http://isb.ri.ccf.org/biomch-l/archives/biomch-l-2001-05.

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.

Si bien se adoptaron los ángulos de Euler para la denominada secuencia aeroespacial, 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.

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). “Quaternion Algebra and Calculus, Geometric Tools”, 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%20Conversion%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.

Kirtley C. (2001) “Summary: Quaternions vs. Euler angles,” BIOMCH-L Discussion 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.

Sabatini A.M. (2006) “Quaternion-Based Extended Kalman Filter for Determining Orientation by Inertial and Magnetic Sensing”, IEEE Transactions On Biomedical Engineering, Vol. 53, Nº. 7.

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.