Académique Documents
Professionnel Documents
Culture Documents
Una revi-
sión de las relaciones fundamentales
Eduardo Serrano1, Ricardo Oscar Sirne2 y Guillermo La Mura3
Resumen
Abstract
I. Introducción
( (
Estando u en el plano generado por c1 y v , se lo puede expresar como:
( (
u = sen (ϕ ) | u | c1 + cos(ϕ ) | u | v (2)
142 4 43 4 14243
u1 u3
( (
Por otra parte, siendo v ∧ u = | u | sen (ϕ ) c2 , se tiene que:
( ( ( ( (
(v ∧ u ) ∧ v = | u | sen (ϕ ) c2 ∧ v = | u | sen (ϕ ) c1 = u1 (3)
(
Así, reemplazando (3) en (2) y teniendo en cuenta que u ⋅ v = | u | cos(ϕ ) , resulta:
( ( ((
u = (v ∧ u ) ∧ v + u ⋅ v v (4)
14243 123
u1 u3
Para facilitar la interpretación geométrica, en la Fig. 1b se muestra una representación
local alrededor de a .
( (
v = c3
x3 ( (
u ϕ v = c3 u3
c1 a
( ( π urot
c2 o u
(
c2
x2
u θ urotπ
( 1
c1 πo
x1
(a) (b)
Fig. 1 (a) posición relativa de las ternas, (b) representación local alrededor de a .
(
El vector que se busca es urot , que surge de rotar u alrededor de v un ángulo θ en
sentido positivo; como puede observarse:
urot = urot π + u3 (5)
siendo | urot π | = | u1 | .
(
La componente u3 no cambia pues el giro es alrededor de v , entonces:
14 ( (
urotπ = cos(θ ) | u1Ciencia
| c +y sen
Tecnología, 14, 2014,
(θ ) | u1 | c2 pp. 11-28 ISSN 1850-0870
(6)
1231 1 ( 2 3
u v ∧u
(
El vector que se busca es urot , que surge de rotar u alrededor de v un ángulo θ en
sentido positivo; como puede observarse:
E. Serrano, R. O. Sirne y G. La Mura Rotaciones, secuencia aeroespacial y cuaterniones Una revisión de las relaciones...
urot = urot π + u3 (5)
siendo | urot π | = | u1 | .
(
La componente u3 no cambia pues el giro es alrededor de v , entonces:
( (
urotπ = cos(θ ) | u1 | c1 + sen (θ ) | u1 | c2 (6)
123 1 ( 2 3
u1 v ∧ u1
( ( ( ( ( ( v
ya que, por (1), | u1 | c2 = | u1 | v ∧ c1 = v ∧ u1 .
(w) (u )
Por otra parte, dado que:
v1 v12 v1 v2 v1 v3
( (T
(v )(v ) = v2 (v1 v2 v3 ) = v1 v2 v22 v2 v3 (11)
v
3 v1 v3 v2 v3 v32
resulta:
u v2 + u v v + u v v v u1
1 1 2 1 2 3 1 3
1
((
(u ⋅ v v ) = u1v1v2 + u2 v2 + u3v2v3 = v2 (1
2
v1 v2 v3 ) u2
424 3
(12)
u1v1v3 + u2v2v3 + u3 v32 v3 (v( )T u3
{ ( {
(v ) (u )
Con (10) y (12), siendo I ∈ ℜ3×3 la matriz identidad, la fórmula (9) puede expresarse:
(urot ) = cos(θ ) I (u ) + sen (θ ) (w)(u ) + [1 − cos(θ )] (v( )(v( )T (u )
resultando:
( (
(urot ) = [cos(θ ) I + sen (θ ) (w) + [1 − cos(θ )] (v )(v )T ] (u ) = Rθ (u )
1444444442444444443
(13)
Rθ
Ciencia y Tecnología, 14, 2014, pp. 11-28 ISSN 1850-0870 15
que es la fórmula de Rodrigues en forma matricial, donde Rθ es la matriz de rotación.
(u ⋅ v v ) = u1v1v2 + u2 v22 + u3v2v3 = v2 (1
v1 v2 v3 ) u2
424 3
(12)
v u
u1v1v3 + u2v2v3 + u3 v32 {3
(
(v )T { 3
(
(v ) (u )
E. Serrano, R. O. Sirne y G. La Mura Rotaciones, secuencia aeroespacial y cuaterniones Una revisión de las relaciones...
Con (10) y (12), siendo I ∈ ℜ3×3 la matriz identidad, la fórmula (9) puede expresarse:
(urot ) = cos(θ ) I (u ) + sen (θ ) (w)(u ) + [1 − cos(θ )] (v( )(v( )T (u )
resultando:
( (
(urot ) =
[cos(θ ) I + sen (θ ) (w) + [1 − cos(θ )] (v )(v )T ] (u ) = Rθ (u )
1444444442444444443
(13)
Rθ
que es la fórmula de Rodrigues en forma matricial, donde Rθ es la matriz de rotación.
(
donde v12 + v22 + v32 = 1 pues v es un versor. La traza de Rθ es tr ( Rθ ) = 1 + 2 cos(θ ) .
III. Cuaterniones
3. Cuaterniones
Definido en forma matricial, un cuaternión q se representa mediante:
a −b d −c
b a −c −d
q= =
− d c a −b
c d b a
1 0 0 0 0 −1 0 0 0 0 0 − 1 0 0 1 0 (15)
0 1 0 0 1 0 0 0 0 0 − 1 0 0 0 0 − 1
=a +b +c +d
0 0 1 0 0 0 0 − 1 0 1 0 0 −1 0 0 0
0 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0
14243 14 4244 3
14 4244 3
14 4244 3
I i j k
donde a, b, c, d ∈ ℜ , los elementos I , i , j y k también son cuaterniones y forman la base
BQ del espacio de cuaterniones, siendo q combinación lineal de los elementos de BQ .
16
Es claro que (q*)* = q ; por otra parte, matricialmente: q* ≡14,qT2014,
Ciencia y Tecnología, y |pp. = 4 det(
q |11-28 q)1850-0870
ISSN .
Siendo I = (1,0,0,0) , i = (0,1,0,0) , j = (0,0,1,0) , k = (0,0,0,1) : | I | = | i | = | j | = | k | = 1 .
Se definen:
Conjugado de q : q* = (a, − b, − c, − d ) = 2 a I − q (17)
E. Serrano, R. O. Sirne y G. La Mura Rotaciones, secuencia aeroespacial y cuaterniones Una revisión de las relaciones...
Norma de q : | q | = a 2 + b 2 + c 2 + d 2 (18)
En particular: (q q′) −1 = q′−1 q −1 , donde q −1 y q′−1 son los inversos multiplicativos de los
cuaterniones q y q′ respectivamente.
También se cumple que: (q −1 ) −1 = q y | q −1 | = 1 / | q | .
(
P6) Todo cuaternión q = (a, b, c, d ) con | q | ≠ 0 tiene asociado un cuaternión unitario q ,
(
tal que su norma | q | = 1 . La expresión correspondiente es:
( q
q =& (20)
|q|
(
que por lo visto en “P3)” tiene | q | = 1 .
Los elementos de BQ = {I , i, j , k} son cuaterniones unitarios.
Ciencia y Tecnología, 14, 2014, pp. 11-28 ISSN 1850-0870 17
(
En particular, aplicando (19), el inverso multiplicativo de un cuaternión unitario q es:
También se cumple que: (q ) = q y | q | = 1 / | q | .
(
P6) Todo cuaternión q = (a, b, c, d ) con | q | ≠ 0 tiene asociado un cuaternión unitario q ,
(
talSerrano,
E. que su norma
R. O. | qLa| Mura
Sirne y G. = 1 . LaRotaciones,
expresión correspondiente
secuencia es:
aeroespacial y cuaterniones Una revisión de las relaciones...
( q
q =& (20)
|q|
(
que por lo visto en “P3)” tiene | q | = 1 .
Los elementos de BQ = {I , i, j , k} son cuaterniones unitarios.
(
En particular, aplicando (19), el inverso multiplicativo de un cuaternión unitario q es:
( ( ( ( (
q −1 = q * / | q |2 = q* ≡ q T (21)
(
pues | q | = 1 .
(
P9) Partiendo de (24) donde v ∈ ℜ3 es un versor, un cuaternión unitario también puede
expresarse mediante (Eberly, 2010):
( ( (
q = cos( λ ) + sen (λ ) v = Exp (λ v ) (25)
que es la generalización de la identidad de Euler.
Es posible definir el logaritmo natural de un cuaternión unitario como:
( ( (
ln(q ) = ln(Exp(λ v )) = λ v (26)
y también la potencia de un cuaternión unitario como:
( ( ( (
18 q n = (cos(λ ) + sen (λ ) v ) n = Exp (nλyvTecnología,
Ciencia nλ2014,
) = cos(14, ) + sen nλ ) v
pp.(11-28 (27)
ISSN 1850-0870
( ( (
q = cos( λ ) + sen (λ ) v = Exp (λ v ) (25)
que es la generalización de la identidad de Euler.
Es posible
E. Serrano, R. O.definir
Sirne y G.elLalogaritmo
Mura naturalsecuencia
Rotaciones, de un cuaternión unitario como:
aeroespacial y cuaterniones Una revisión de las relaciones...
( ( (
ln(q ) = ln(Exp(λ v )) = λ v (26)
y también la potencia de un cuaternión unitario como:
( ( ( (
q n = (cos(λ ) + sen (λ ) v ) n = Exp(nλ v ) = cos( nλ ) + sen (nλ ) v (27)
IV. Relación
4. entre
Relación entre cuaterniones
cuaterniones y rotaciones
y rotaciones
(
La rotación de un vector u ∈ ℜ alrededor de un eje orientado por v en un ángulo θ ,
3
( (
puede representarse mediante un cuaternion unitario q = cos(θ / 2) + sen (θ / 2) v .
Considérese la mencionada fórmula (9) de Rodrigues para el vector rotado, que se repite
aquí para facilitar la lectura:
( ( (
urot = cos(θ ) u + sen (θ ) v ∧ u + [1 − cos(θ )] u ⋅ v v (9)
y el formato (23) del producto de cuaterniones, que también se reitera:
q1 q2 = a1 a2 − v1 ⋅ v2 + a2 v1 + a1 v2 + v1 ∧ v2 (23)
142 4 43 4 144424443
a v
Dado que al vector u = (u1 , u2 , u3 ) ∈ ℜ3 le corresponde el cuaternión u = (0, u1 , u2 , u3 ) ,
( ( (
aplicando (23) para calcular el producto u q * , donde q* = cos(θ / 2) − sen (θ / 2) v ,
resulta:
( ( (
u q * = sen (θ / 2) u ⋅ v + cos(θ / 2) u − sen (θ / 2) u ∧ v (28)
144244 3 14444 4244444 3
a r
(
Si ahora se pre-multiplica esta última por q , usando también (23), se obtiene:
( ( ( ( (
q u q * = cos(θ / 2) sen (θ / 2) u ⋅ v − cos(θ / 2) sen (θ / 2) u ⋅ v − sen 2 (θ / 2) v ⋅ u ∧ v +
14444444442444444444 3 1424 3
=0 0
1444444444 44442444444444444=4 3
0∈ℜ
( ( (
+ sen 2 (θ / 2) u ⋅ v v + cos(θ / 2) r + sen (θ / 2) v ∧ r
144444444 42444444444 3
k
Es decir:
(( (
q u q* = 0 + k con k = sen 2 (θ / 2) u ⋅ v v + cos(θ / 2) r + sen (θ / 2) v ∧ r (29)
( (
Denotando q = cos(θ / 2) + sen (θ / 2) v = (a, b, c, d ) con a 2 + b 2 + c 2 + d 2 = 1 , por ser un
cuaternión unitario, al desarrollar el producto de cuaterniones de (31) y reconocer k se
obtiene:
a 2 + b2 − c 2 − d 2 2 (b c − a d ) 2 (a c + b d )
k
= 2 (b c + a d ) a 2
− b 2
+ c 2
− d 2
2 ( − a b + c d ) (u ) (33)
2
2 (−a c + b d ) 2 (a b + c d ) a −b −c +d
2 2 2
(
lo cual permite, comparando con (32) relacionar el cuaternión q con la matriz de
rotación, obteniéndose:
a 2 + b2 − c2 − d 2 2 (b c − a d ) 2 (a c + b d )
Rθ = 2 (b c + a d ) a −b +c −d
2 2 2 2
2 (− a b + c d ) (34)
2
2 (−a c + b d ) 2 (a b + c d ) a −b −c +d
2 2 2
2 a 2 + 2 b 2 − 1 2 (b c − a d ) 2 (a c + b d )
Rθ = 2 (b c + a d ) 2 a + 2 c − 1 2 (− a b + c d )
2 2
(35)
2 ( − a c + b d ) 2 ( a b + c d ) 2 a 2
+ 2 d 2
− 1
que comparada con lo indicado por Madgwick (Madgwick, 2010) en su expresión (6)
resulta BA R = RθT = Rθ−1 , pues Rθ = ABR .
V. Secuencia
5. aeroespacial
Secuencia aeroespacial - ángulos
– ángulos de Euler
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.
ŷ yˆ = ~
y
~
x
θ ≡β
x
x̂ ψ ≡α x x̂
y y ~
z z = zˆ z ẑ
Posición de referencia 1º giro: alrededor de z = zˆ 2º giro: alrededor de yˆ = ~
y
Fig. 2 Secuencia aeroespacial, los dos primeros giros.
Dadas (38), (39) y (40), la composición de los tres giros tiene asociada la matriz de
rotación M tal que:
Ciencia y Tecnología, 14, 2014, pp. 11-28 ISSN 1850-0870 23
x′ ~
x xˆ x
−1 ~ −1 −1
−1 −1 −1
x′ ~ x
−1 ~
y′ = Rγ y (40)
z′ ~z
E. Serrano, R. O. Sirne y G. La Mura
Rotaciones, secuencia aeroespacial y cuaterniones Una revisión de las relaciones...
siendo Rγ−1 la matriz de rotación asociada a g 3∗ .
Dadas (38), (39) y (40), la composición de los tres giros tiene asociada la matriz de
rotación M tal que:
x′ ~x xˆ x
−1 ~
−1 −1 −1
′ −1 −1
ˆ
y = Rγ y = Rγ Rβ y = Rγ Rβ Rα y (41)
z′ ~ zˆ 1 42 43 z
z M
atan2( M 12 , M 11) si β ∈ (− π , π )
< 4 > = M 12 = sen (α ) cos( β ) ⇒ α = 2 2 (49)
<5 > M 11 cos(α ) cos( β ) π ,π )
atan2( − M 12 , − M 11) si β ∉ ( −
2 2
Así, si se adopta por ejemplo a > 0 , 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 .
a = 1 + M 11 + M 22 + M 33 / 2
b = ( M 23 − M 32) /(4 a )
(51)
c = ( M 31 − M 13) /(4 a)
d = ( M 12 − M 21) /(4 a)
Expresiones que son equivalentes a la primera forma de cálculo ( if max = test1 ) de
MicroStrain Inc. (MicroStrain, 2003).
6. Comentarios
Ciencia y Tecnología, 14,Finales
2014, pp. 11-28 ISSN 1850-0870 25
Se ha realizado una exposición detallada, que incluye interpretaciones geométricas y
justificaciones de las relaciones fundamentales entre ángulos de Euler, matriz de
E. Serrano, R. O. Sirne y G. La Mura Rotaciones, secuencia aeroespacial y cuaterniones Una revisión de las relaciones...
Referencias
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.