Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1. INTRODUCCIN
La representacin cinemtica de orientacin ha sido motivo de investigacin en diversas
reas de la ciencia e ingeniera, cronolgicamente, se puede mencionar sus inicios en astronoma
y fsica con aportes notables entre los siglos XVI y XIX (G. Cardano, L. Euler, W.R. Hamilton,
W.K. Clifford, M.Chasles, A. Cayley, M. O. Rodrigues y C.F. Gauss (Altmann, 1986; Corke,
2011), y ms tarde se aplicaron en navegacin y control de vehculos areos (Stevens y Lewis,
1992; Sidi, 1997; Phillips y Hailey, 2001), en cinemtica terica (Bottema y Roth, 1979; Mc-
Carthy, 1990), en mecnica computacional de slidos y mecanismos flexibles (Geradin y Car-
dona, 2001), en visin, animacin computada y realidad virtual (Kuipers, 1994; Ma et al., 2010),
en robtica (Murray et al., 1994), y en control de vehculos no tripulados (Corke, 2011), entre
otras aplicaciones.
Las diferentes representaciones de orientacin conducen a conjuntos mnimos o redundantes
(con el apropiado nmero de restricciones), a diferentes situaciones para corregir singularidades
o mltiples soluciones de inversin, a ventajas en el lgebra y a ventajas computacionales en la
integracin de las ecuaciones diferenciales del movimiento en las cuales participan.
En este trabajo, se revisan las representaciones con el objetivo de determinar cul es la ms
adecuada para ser utilizada en ecuaciones de estimacin de orientacin, con aplicacin a un
vehculo areo no tripulado en cuyo sistema de control se desea fusionar seales obtenidas de
orgenes diversos (girscopo, acelermetro, magnetmetro y procesamiento de imgenes) para
obtener una estimacin mejor que las estimaciones individuales (Aragus et al., 2013; Paz et al.,
2013, 2014). Como resultado del estudio, se elige la representacin de cuaternin unitario como
la ms conveniente, bajo el criterio de simplicidad del lgebra y de la eficiencia computacional.
El trabajo se estructura como sigue: en la Seccin 2 se describen operadores de rotacin y
diferentes parametrizaciones, cuyas singularidades se resmen en la Subseccin 2.3.6, y poste-
riormente, se introducen a los cuaterniones unitarios en la Subseccin 2.4. En la Seccin 3, se
describen las ecuaciones de velocidad en las diferentes representaciones. La teora anterior se
aplica en la Seccin 4, para escribir las ecuaciones de filtros Bayersianos de estimaciones de
actitud. En la Seccin 6 se describen las principales aportes y trabajos a futuro.
trasladarse, para el anlisis de las rotaciones se suponen a los orgenes de las ternas super-
puestos.
Para producir el cambio de una terna a otra se recurre matemticamente a una operacin
matricial que se demuestra que debe ser la multiplicacin de cada vector base de la terna por
una matriz ortogonal. Siguiendo a Geradin y Cardona (2001, Caps. 3 y 4), los vectores base
de la terna fija se denotan como E1 , E2 , E3 y los de la terna mvil como e1 , e2 , e3 . Un vector
posicin en terna fija X rota a uno x mediante la transformacin
x = RX (1)
La matriz ortogonal multiplicada por un vector produce la rotacin de un vector. Estas ma-
trices tienen un elemento inverso, un elemento identidad y la multiplicacin de dos matrices
ortogonales es una matriz ortogonal, pero en general el producto no es conmutativo. Con es-
tas propiedades las matrices ortogonales forman el grupo Especial de Orientacin SO(3) (del
ingls, Special Orthogonal Group) y el lgebra no conmutativa asociada es denotada so(3).
El tensor ortogonal en el espacio Euclideano se puede representar por una matriz de nueve
componentes para operar con el lgebra matricial. Los vectores de las columnas de la matriz
de rotacin son las coordenadas de los vectores de la terna mvil expresados en la terna fija, o
bien, son los vectores base de la terna fija luego de la transformacin de rotacin, ver Fig. (1).
La aplicacin de un tensor ortogonal a un vector posicin, preserva la longitud de un vector y
E3 e3
f n
r3
r1 E2
e1 r2
e2
E1
Figura 1: Interpretacin del significado de las columnas de la matriz de rotacin (adaptado de Ma et al. (2010))
para dos direcciones fijas al cuerpo, el ngulo entre las mismas tambin se preserva luego de la
transformacin. De aqu se deriva el requerimiento que debe cumplir una matriz ortogonal
det(A) = 1 det(B) = 1
(4)
A = RB 1 = det(A) = det(R) det(B) = 1 det(R) = 1,
Las seis restricciones complementarias, consisten de que los vectores columna son unitarios y
las proyecciones entre ellos son nulas,
R = [r1 r2 r3 ] ri rj = ij i, j = 1, 2, 3 i j. (6)
Euler demostr que existe un eje que se preserva fijo en la rotacin. Utilizando lgebra
lineal y la descomposicin espectral de la matriz de rotacin se puede demostrar que el tensor
ortogonal tiene un solo autovalor real de valor unitario 1 = 1 y su autovector real asociado n
define el eje de rotacin, de modo que
Rn = 1 n = n. (7)
Los otros dos autovalores (2 y 3 ) son complejos y sus respectivos autovectores complejos (w
y w ) definen un plano ortogonal al eje de n.
A partir de los autovectores complejos se pueden construir dos vectores reales ortogonales
c1 = (w + w )/2
(9)
c2 = i(w w )/2.
X f
x
n
El eje y el ngulo rotado forman un par de invariantes de la rotacin (n, ) muy intuitivos
(ver Fig. 2) y permiten construir la matriz de rotacin mediante una gran variedad de expre-
siones. Por otro lado, no configuran un conjunto mnimo, son un sistema de cuatro componentes
ligadas por la condicin de normalidad knk = 1 (de modo que dadas dos componentes n1 y n2
del vector n la tercera queda determinada n3 = (1 n21 n22 )0,5 ).
Utilizando el Teorema de Euler, es oportuno remarcar la relacin entre el operador de rotacin
R y un cambio de coordenadas expresado por la matriz de cambio de base C. Como se ha
mencionado, el operador R(n, ) permite rotar vectores manteniendo fijo el sistema de coor-
denadas; a esta rotacin se la llama rotacin activa (Goldstein et al., 2001). Si dado un vector
expresado en coordenadas en un sistema se requiere convertirlo a otro, el problema es un cam-
bio de coordenadas. En la prctica, se necesita expresar un vector fsico en coordenadas de
ternas diferentes, por ejemplo, en una terna inercial I y en una terna de cuerpo B, o en ms
ternas segn convenga, manteniendo el vector invariante. La rotacin del marco coordenado se
la considera una rotacin pasiva. La relacin entre el operador de rotacin es tal que la matriz
R(n, ) al multiplicar por izquierda a un vector, lo gira en un ngulo alrededor del eje n,
y esta matriz tiene las mismas componentes que la matriz de cambio de coordenadas que est
girada un ngulo con respecto a la terna de origen, es decir, existe la correspondencia
R(n, ) = C(n, )B I B T
I = C(n, )B = [C(n, )I ] . (11)
Por ejemplo, un vehculo areo tiene una actitud dada por un conjunto de ngulos de Euler
equivalentes a rotar el vehculo desde la orientacin alineada con la terna inercial a aquella ac-
tual, mediante el operador R(n, ). Luego, el vector de empuje tB = [T 0 0]T expresado en
coordenadas de terna del vehculo B puede expresarse en terna inercial como tI = C(n, )IB tB ,
, utilizando su actitud, como tI = R(n, )tB .
A continuacin se repasan mtodos alternativos a la matriz de cosenos directores Ec. ( 5)
para generar la matrices correspondientes a distintos operadores de rotacin.
ejes del tipo z xz es usada en fsica y en mecnica orbital. Con la secuencia de rotaciones se
obtienen las expresiones para las matrices ortogonales 3 3 que multiplicadas permiten obtener
la matriz de rotacin. El conjunto de parmetros es mnimo ya que coincide con el nmero de
grados de libertad a representar.
Una terna en posicin de referencia es girada un ngulo alrededor del eje x, un ngulo
alrededor del eje y 0 y finalmente un ngulo alrededor del eje z 00 , se expresa como el producto
de matrices ortogonales
z=z'
q y''
Y
Z=z''
y
y'
f y
x
x'=x''
La terna de coincidente con la inercial es girada alrededor un ngulo alrededor del eje z,
un ngulo alrededor del eje x0 y finalmente un ngulo alrededor del eje z 00 , se expresa como
el producto de matrices ortogonales
X = (I Pn )X + Y
(18)
x = (I Pn )x + y
Luego, se utiliza el hecho de que las proyecciones sobre n son invariantes lineales ante la
rotacin
(I Pn )X = (I Pn )x (19)
y que las proyecciones sobre el plano normal (ver Fig. 4) preservan longitud y satisfacen si-
Y
X f y
X
Pn )
x
(I-
n
Figura 4: Descomposicin de los vectores actual X y rotado x como suma de vectores en la direccin del eje
rotacin y vectores proyectados sobre el plano perpendicular al eje de rotacin
multneamente
Y y = kY kkykn sin = kY k2 n sin
(20)
Y y = kY kkyk cos = kY k2 cos ,
para demostrar (Geradin y Cardona, 2001) que el operador de rotacin toma la forma denomi-
nada Frmula de rotacin de Rodrigues,
R = I33 cos() + (1 cos )n n + n sin (21)
donde n = spin(n) es la matriz antisimtrica que transforma linealmente a un vector obte-
niendo el mismo resultado que con el producto vectorial na = n a, y la operacin de
transformacin que toma el vector axial de una matriz es n = vect(n).
La frmula de Rodrigues (21) combinada con la descomposicin espectral y propiedades del
lgebra tensorial, permiten obtener fcilmente los invariantes lineales
tr(R) = 1 + 2 + 3 = 1 + 2 cos
(22)
vect(R) = n sin
Derivando a la Ec.(1) miembro a miembro con respecto a , y usando la Ec.(21), se puede
plantear la ecuacin diferencial:
dx
nx = 0 con x(0) = X (23)
d
cuya solucin es
x = exp(n)X (24)
donde
R = exp(n) (25)
otorgando al operador de rotacin su forma ms compacta posible en funcin de sus invariantes.
2.3. Parametrizaciones
2.3.1. Vector de rotacin cartesiano
Deriva de considerar un vector con direccin coincidente con el eje de Euler y de magnitud
igual al ngulo rotado , y la matriz de rotacin puede obtenerse del mapeo exponencial de la
Ec. (25),
= n R = exp( ), (26)
o en su forma trigonomtrica
sin 1 cos
R=I+ + . (27)
2
X
x-X x+
X
X*
f/2
f* x*
g*
Figura 5: Construccin geomtrica utilizada para derivar la Frmula de Cayley correspondiente a la rotacin ilustra-
da previamente en las Figs. (2) y (4)
La matriz de rotacin puede expresarse en funcin de esta matriz antisimtrica por medio de
la llamada Frmula de Cayley
R = (I B)1 (I B) (32)
El vector asociado a la matriz B = b es el Vector de Rodrigues. Su magnitud se puede obtener
de la relacin entre las proyecciones del romboide y sus diagonales sobre el plano normal al eje
de rotacin. En la Fig. (5), se muestra que f y g son las diagonales proyectadas, se cumple
que f = Bg = b g , luego, las magnitudes de este producto satisfacen
kf k = kbkkg k, (33)
adems, del tringulo rectngulo formado por las semidiagonales f /2 y g /2 se obtiene
tan(/2) = kg k/kf k, (34)
que reemplazada en la anterior permite obtener la magnitud del Vector de Rodrigues
kbk = tan(/2). (35)
La matriz de rotacin puede expresarse por la frmula de Cayley (32) o bien reducirse a
2
R=I+ (b + bb)
1 + kbk2
1 + b21 b22 b23 2(b1 b2 b3 ) 2(b1 b3 + b2 ) (36)
1
= 2(b1 b2 + b3 ) 1 b21 + b22 b23 2(b2 b3 b1 )
1 + b1 + b22 + b23
2
2(b1 b3 b2 ) 2(b2 b3 + b1 ) 1 b21 b22 + b23
que si bien es ms simple que las vistas anteriormente, posee un clara singularidad cuando
= .
Para una completa generacin y clasificacin de las parametrizaciones vectoriales mostradas
arriba mediante el empleo de funciones generadoras, referimos al lector al trabajo de Trainelli
(2002).
en donde se evidencia la prdida de un grado de libertad, causando que existan distintas combi-
naciones de y para obtener la misma rotacin c, es decir, = c. Lo mismo ocurre para
los ngulos de Euler, evaluando la expresin de la Ec. (17) con = 0 ya que existirn multiples
soluciones para + = c. En cualquier forma de los ngulos de Euler es imposible evitar
tener una singularidad, esto se debe a que son una parametrizacin local del SO(3) ya que son
adecuados solamente dentro de una porcin del espacio.
Con respecto a las parametrizaciones, el vector de rotacin Cartesiano tiene una fcil in-
terpretacin geomtrica y no posee singularidades matemticas, el costo computacional de la
evaluacin de funciones trascendentes en la forma exponencial o trigonomtrica puede reducirse
si usa la expansin en series truncada, muy til para realizar linealizaciones y emplear ngu-
los pequeos. En la representacin con parmetros de Rodrigues, la obtencin de la matriz de
rotacin requiere de una evaluacin de funcin trigonomtrica para obtener b y luego la obten-
cin del operador de rotacin es algebraica. Sin embargo, en la inversin para obtener b desde
R existe una singularidad cuando = . Cuando el ngulo rotado es cero, existen mltiples
direcciones posibles para n en la definicin de b, pero esta singularidad aparente se salva
considerando que
lm R(n) = lm R(tan(/2)n) = I. (50)
0 0
diferente, conducir al mismo concepto de los parmetros de Euler para producir la rotacin
(McCarthy, 1990; Geradin y Cardona, 2001). Un cuaternin se define como el nmero comple-
jo de 4 dimensiones
q = q0 + q1 i + q2 j + q3 k (51)
donde q0 es la parte escalar real, q = q1 i + q2 j + q3 k es la parte vectorial compleja, y los
nmeros imaginarios i,j, y k satisfacen las siguientes reglas de multiplicacin
i2 = j 2 = k 2 = ijk = 1
jk = kj = i
ki = ik = j (52)
ij = ji = k.
que claramente es la aplicacin de la frmula de Rodrigues (21) tomando = /2, por lo que
la matriz de rotacin es
2
e0 + e21 e22 e23 2(e1 e2 + e3 e0 ) 2(e1 e3 e2 e0 )
R = 2(e1 e2 e3 e0 ) e20 e21 + e22 e23 2(e2 e3 + e1 e0 ) (63)
2(e1 e3 + e2 e0 ) 2(e2 e3 e1 e0 ) e20 e21 e22 + e23
Esta equivalencia se deduce con mayor claridad utilizando la forma matricial del producto
de cuaterniones, en forma de matrices 4 4 y poniendo al cuaternin como vector el columna
q = [q0 q1 q2 q3 ]T .
a = pq a = Ap q = Bq p (64)
x = eX e x = Ae BeT X (66)
donde
1 T
Ae BeT = con R33 = (2e20 1)I + 2(e e + e0 e) (67)
R
que se expande en componentes de cuaternin orientacin como la Ec.(63).
Cabe destacar que la composicin de dos rotaciones como producto de dos matrices del tipo
R33 requiere de 27 multiplicaciones y 18 sumas, mientras que en forma de cuaterniones, la
Ec. (60) en la forma matricial de la Ec. (64), requiere 16 multiplicaciones y 12 sumas.
Para obtener la velocidad material del punto P se procede de igual modo, realizando la
derivada dtd (RT R) = 0, en donde se define
VP = RT vP = RT (RXP ) = XP = XP (73)
donde B = pe1 + qe2 + re3 es el vector de velocidad angular expresado en terna de cuerpo.
Pero se puede notar que las matrices tienen denominadores que hacen singulares entradas en la
primer y ltima fila, en casos en que sin = 0 para ngulos de Euler y cuando cos = 0 en los
de Bryan. Esto complica a la integracin y, en general, se evita emplearlas.
= M T n + n
(77)
= M n + n donde M = sin I (1 cos )n
Luego, por cada parametrizacin a, se obtienen las expresiones de n(a, a) y (a, a), se reem-
plazan en las Ecs.(77) para identificar al operador tangente T (a).
Se resumen a continuacin las expresiones de algunos operadores
2. Parmetros de Rodrgues:
2
T (b) = (I + b)
1 + kbk2 (79)
T
(b) = T (b)b y (b) = T (b)b
= 2H(p)p
(80)
= 2G(p)p
que coinciden con la regla de multiplicacin del cuaternin que se ver en la siguiente
subseccin.
x = e X e + eX e
x e)e + e(e xe)e
= e(e
|{z} |{z} (82)
1 1
x + xee
= ee
= 0 +
ee (84)
2 2
que se reemplaza en la Ec. (82) para obtener
1 1
x = (x + x ) = (x x)
2 2 (85)
1
0 + ( x x ) x = v = x
2
donde el vector de velocidad angular espacial se obtiene de realizar el producto del lado izquier-
do de la Ec. (84) resultando en la expresin
= 2(e0 e e0 e + e e) (86)
e e = 0+ (87)
2 2
y la velocidad material de traslacin se puede expresar como V = X y la velocidad
material angular como
= Ae e = AT e = 2AT e
ee e e
2
(89)
e e = Be e = BeT e = 2BeT e
2
La parte vectorial de estas expresiones forman los vectores de velocidad angular
= 2H e con H = [e e0 I + e]
(90)
= 2Ge con G = [e e0 I e]
donde con sombrero se simboliza con () al valor estimado y con superndice menos () al
valor predicho.
Luego, en la etapa llamada actualizacin de la medicin, con el estado estimado a priori
xk , se realiza una prediccin de la medicin y se compara con la observacin del sistema para
formar la innovacin
yk = Hk x
k (97)
zk = yk yk (98)
Finalmente, se utiliza la matriz de ganancia de Kalman Kk para actualizar el estado predicho
con la innovacin
Kk = Pk HkT (Hk Pk HkT + Rk )1 (99)
xk = x
k + K k zk (100)
Pk = Pk Kk Hk Pk (101)
obtenindose as la funcin densidad de probabilidad del estado buscada con media xk y cova-
rianza Pk .
Para este trabajo, teniendo en cuenta la aplicacin de estos algoritmos en cuadricpteros,
se implement un filtro extendido de Kalman considerando como estado del sistema xk a su
orientacin, se puede utilizar como modelo de transicin de estado a las ecuaciones cinem-
ticas de un cuerpo expresadas con cuaterniones (Kim y Golnaraghi, 2004) o con ngulos de
Euler (Kang y Park, 2011), por lo que con cada lectura de los girscopos se ejecuta la etapa de
prediccin y usando el modelo cinemtico se predice el desplazamiento del estado. Luego, con
cada lectura de los acelermetros se ejecuta la etapa de actualizacin de la medicin en donde
se corrige el valor estimado de la orientacin basndose en la prediccin del vector gravedad.
Esto se realiza cambiando de coordenadas al vector de gravedad g = [0, 0, g]T a la terna del
cuerpo usando (17) si se usan ngulos de Euler en el estado o (63) si el estado del sistema esta
formado por el cuaternin unitario. De la misma forma, cuando las lecturas del magnetmetro
estn disponibles se puede actualizar la orientacin segn el ngulo de guiada rotando esta vez
al vector correspondiente al Norte magntico m = [N, 0, 0]T .
Por ltimo, cabe remarcar que es posible trabajar con funciones no lineales en las ecuaciones
de proceso u observacin, debido a que las funciones son linealizadas alrededor del estado esti-
mado utilizando los Jacobianos de la funcin. Dadas las Ecs. (93) y (94) con fk y hk funciones
no lineales, los Jacobianos
fk
Fk = (102)
x xk1
hk
Hk = . (103)
x xk1
resultan ser expresiones algebraicas muy simples, por lo cual nuevamente, se demuestra la con-
veniencia del empleo de cuaterniones unitarios para representar la actitud.
5. RESULTADOS
Las implementaciones de los filtros fueron codificadas en lenguaje de programacin C y
se ejecutaron en un procesador Cortex-M3 para evaluar el tiempo de procesamiento de cada
funcin, ver ms detalles de implementacin en el trabajo de Paz et al. (2014). Para cuantificar el
tiempo demandado cada vez que se ingresa a las funciones, stas ponen en un pin determinado
un valor de tensin representando un 1 lgico, luego, al finalizar la funcin el mismo pin es
puesto a un valor representando un 0 lgico. Una vez que el procesador est en funcionamiento,
por medio de un osciloscopio se puede observar el ancho del pulso generado por cada funcin,
y de esta manera cuantificar el tiempo demandado por el algoritmo.
Dado que las pruebas se realizaron utilizando sensores inerciales en reposo, con valores
alejados de los posibles puntos de indeterminacin (para el caso de ngulos de Euler) y ya que
las ecuaciones aqu planteadas son equivalentes, ambos filtros mostraron idnticos resultados
en cuanto a la precisin de la estimacin.
En lo referido a velocidad de clculo para esta plataforma, se implementaron las funciones de
rotacin (17) y (63) utilizadas en la prediccin de la gravedad para ambos tipos de representa-
ciones. En el laboratorio se observ que la funcin implementada con cuaterniones logra medias
de 172s mientras que la implementada con ngulos de Euler logr una media de 1,632ms. De
esta forma, slo el cambio de representacin a cuaterniones significa un incremento en la ve-
locidad de cmputo de la funcin de prediccin de la gravedad de 10 veces. Esta gran diferencia
se debe a que para determinar el seno o coseno de un ngulo las funciones matemticas imple-
mentadas para sistemas embebidos buscan los valores ms prximos de ngulos en tablas y
luego realizan una aproximacin recursiva para determinar el valor final. Por el contrario, la
representacin de orientacin con cuaterniones slo tiene productos y sumas en su operador de
rotacin, las cuales son operaciones naturales a los procesadores.
6. CONCLUSIONES
En este trabajo se realiz una revisin de las representaciones ms usuales de orientacin
disponibles en literatura moderna y se describieron sus ventajas y desventajas en la cinemtica
de posicin y velocidad. Principalmente, se destac la representacin en parmetros de Euler y
los cuaterniones unitarios como libre de singularidades y computacionalmente conveniente.
Experimentalmente, se observ que la utilizacin de cuaterniones unitarios en estimaciones
con filtros Bayesianos permite grandes incrementos en la velocidad del procesamiento en com-
paracin con los ngulos de Euler (en el rango de ausencia de indeterminaciones). En referen-
cia a la implementacin en un sistema embebido en un UAV, para la estimacin del vector de
gravedad, los tiempos de cmputo se redujeron en aproximadamente 10 veces.
A futuro, se pretende avanzar en las lneas de investigacin desarrolladas en el CIII, con
el estudio de representaciones en el grupo de desplazamientos en SE(3) para: (i) estimar si-
multneamente posicin y orientacin para su empleo en sistemas de navegacin inercial, ya
sea con cuaterniones duales (Wu et al., 2005) o con lgebra Geomtrica (Wu y Wang, 2012);
(ii) incluir conceptos dinmicos del objeto en donde se realizan las mediciones para mejorar
la estimacin (Leishman et al., 2014); (iii) modelar eficientemente el movimiento de cmaras
para localizacin y mapeo (Ma et al., 2010); desarrollar algoritmos de integracin temporal de
mecanismos (Geradin y Cardona, 2001).
AGRADECIMIENTOS
El primer autor agradece el financiamiento del CONICET y ANPCyT (PICT-2013-2894
Modelado Computacional de Sistemas Mecnicos Complejos). Los segundos autores agrade-
cen el financiamiento del programa de becas de investigacin de alumno (M. Pereyra) y doc-
toral (C. Paz) de la Universidad Tecnolgica Nacional y de la ANPCyT (PICT-PRH-2009-0136
Guiado de Vehculos Autnomos usando Fusin de Seales de GPS de Bajo Costo y otros Sen-
sores). Se agradece especialmente la participacin del Dr. G. Aragus y los Ings. D. Gaydou
y G. Prez Paina en el desarrollo colaborativo de filtros en cuaterniones y la construccin del
cuadricptero.
REFERENCIAS
Altmann S.L. Rotations, quaternions, and double groups. Oxford University Press, New York,
1986.
Aragus G., Paz C., Gaydou D., y Prez Paina G. Orientation-estimation fusing a downward-
looking camera and inertial sensors for a hovering UAV. En Proc. 16th International Con-
ference on Advanced Robotics - ICAR2013. 2013. Montevideo, Uruguay.
Bottema O. y Roth B. Theoretical Kinematics. North-Holland Publishing Co., Amsterdam,
1979.
Chen Z. Bayesian filtering: From kalman filters to particle filters, and beyond. Statistics, pginas
169, 2003.
Corke P. Robotics, Vision and Control: Fundamental Algorithms in MATLAB. Springer Tracts
in Advanced Robotics, Volume 73. Springer, Berlin, Germany, 2011.
Daum F. Nonlinear filters: beyond the kalman filter. Aerospace and Electronic Systems Maga-
zine, IEEE, 20(8):5769, 2005.
Geradin M. y Cardona A. Flexible Multibody Dynamics: A Finite Element Approach. John
Wiley & Sons, New York, USA, 2001.
Goldstein H., Poole Jr. C., y Safko J. Classical Mechanics. Addison Wesley, New York, 3
edicin, 2001.
Kang C.W. y Park C.G. Euler angle based attitude estimation avoiding the singularity problem.
Proceedings of the 18th IFAC World Congress, 2011.
Kim A. y Golnaraghi M. A quaternion-based orientation estimation algorithm using an inertial
measurement unit. En Position Location and Navigation Symposium, 2004. PLANS 2004,
pginas 268272. 2004.
Kuipers J.B. Quaternions and rotation sequences: a primer with applications to orbits,
aerospace, and virtual reality. Princeton University Press, Princeton, New Jersey, 1994.
Leishman R., Macdonald J., Beard R., y McLain T. Quadrotors and accelerometers: State
estimation with an improved dynamic model. IEEE Control Systems Magazine, 34(1):2841,
2014.
Ma Y., Soatto S., Koseck J., y Sastry S.S. An Invitation to 3-D Vision: From Images to Geo-
metric Models. Springer, Berlin, 2010.
McCarthy J.M. Introduction to Theoretical Kinematics. The MIT Press, Cambridge, MA, 1990.
Munguia R. y Grau A. Attitude and heading system based on EKF total state configuration.
IEEE International Symposium on Industrial Electronics - ISIE 2011, pginas 21472152,
2011.
Murray R.M., Li Z., y Sastry S.S. A Mathematical Introduction to Robotic Manipulation. CRC
Press, Boca Raton, Florida, 1994.
Paz C., Infante G., Bez Carballo J., Daz Bez F., y Cavenio C.D. Implementacin de un filtro
extendido de kalman para la estimacin de la orientacin de un UAV utilizando el estndar
CMSIS. En Proc. V Congreso de Microelectrnica Aplicada - UEA2014. 2014. Instituto
Universitario Aeronutico, Crdoba, Argentina.
Paz C.J., Prez Paina G.F., y Toloza J.H. A comparison of bayesian filters for orientation
estimation. En Proc. XV Reunin de Trabajo en Procesamiento de la Informacin y Control
- RPIC2013. 2013. Univ. Nac. Ro Negro, San Carlos de Bariloche, Ro Negro, Argentina.
Phillips W. y Hailey C. Review of attitude representations used for aircraft kinematics. Journal
of Aircraft, 38(4):718737, 2001.
Sidi M.J. Spacecraft Dynamics and Control, A Practical Engineering Approach. Cambridge
University Press, New York, USA, 1997.
Stevens B.L. y Lewis F.L. Aircraft Control and Simulation. John Wiley & Sons, New York,
USA, 1992.
Trainelli L. The vectorial parameterization of rotation and motion. Informe Tcnico, Politecnico
di Milano, 2002. Report DIA-SR 02-18.
Wu D. y Wang Z. Strapdown inertial navigation system algorithms based on geometric algebra.
Advances in Applied Clifford Algebras, 22(4):11511167, 2012.
Wu Y., Hu X., Hu D., Li T., y Lian J. Strapdown inertial navigation system algorithms based on
dual quaternions. IEEE Trans. on Aerospace and Electronic Systems Magazine, 41(1):110
132, 2005.