Proyecto Fin de Grado - Universidad de Sevilla · v Proyecto Fin de Grado: Implementación y...
Transcript of Proyecto Fin de Grado - Universidad de Sevilla · v Proyecto Fin de Grado: Implementación y...
i
Proyecto Fin de Grado
Grado en Ingeniería Aeroespacial
Implementación y Análisis de Algoritmos de Control
para la Determinación de la Actitud en Aeronaves
Autor: Carlos Díaz de Mayorga Ramos
Tutora: Dra. María de los Ángeles Martín Prats
Dep. de Ingeniería Electrónica
Escuela Técnica Superior de Ingeniería
Universidad de Sevilla
Sevilla, 2015
ii
iii
Proyecto Fin de Grado
Grado en Ingeniería Aeroespacial
Implementación y Análisis de Algoritmos de
Control para la Determinación de la Actitud en
Aeronaves
Autor:
Carlos Díaz de Mayorga Ramos
Tutora:
María de los Ángeles Martín Prats
Profesora titular
Dep. de Ingeniería Electrónica
Escuela Técnica Superior de Ingeniería
Universidad de Sevilla
Sevilla, 2015
iv
v
Proyecto Fin de Grado: Implementación y Análisis de Algoritmos de Control para la Determinación de la
Actitud en Aeronaves
Autor: Carlos Díaz de Mayorga Ramos Tutora: María de los Ángeles Martín Prats
El tribunal nombrado para juzgar el Proyecto arriba indicado, compuesto por los siguientes miembros:
Presidente:
Vocales:
Secretario:
Acuerdan otorgarle la calificación de:
Sevilla, 2015
El Secretario del Tribunal
vi
vii
A mi abuelo Pepe, que siempre
estará presente en mi recuerdo.
viii
ix
Agradecimientos
A mis padres, mi hermana y mis abuelas por confiar siempre en mí y apoyarme durante todos estos
años. Por mostrarme el camino para seguir siempre hacia adelante, enseñándome que nunca hay que
rendirse; y en especial a mi padre, por haberme ayudado además en la corrección de la redacción de
este trabajo.
A mis amigos y mi novia, por estar cuando más los necesitaba, ofreciéndome su apoyo y animándome
en los momentos más difíciles.
A mis compañeros de la universidad, por ayudarme siempre que lo he necesitado, por brindarme esos
magníficos momentos en su compañía y por hacerme estos años mucho más agradables.
A la tutora de este proyecto y a Vito por atenderme en todo momento que me haya sido necesario y
ayudar en gran medida a la consecución del mismo.
x
xi
Resumen
En este trabajo se desarrollarán una serie de herramientas y conceptos acerca de la determinación de
la actitud de una aeronave, centrándose en la programación y el posterior análisis de los algoritmos de
control para la estimación de la actitud.
Para ello se parte de diferentes algoritmos desarrollados por diversos autores y se implementan en la
herramienta Matlab/Simulink, que permite encontrar la matriz de rotación, Rbi, la cual describe la
orientación de la aeronave en un sistema de referencia fijo con respecto a un sistema de referencia
conocido. Tras esto se compara la matriz obtenida con la exacta, pudiendo obtener de esta forma el
error en la resolución del problema de determinación de actitud.
Todo ello tendrá como objetivo establecer las características principales que presentan los diferentes
métodos con el fin de determinar cuál de ellos es viable para ser implementado en un caso real, así
como para ser integrado en un microprocesador.
xii
xiii
Índice
Agradecimientos ix
Resumen xi
Índice xiii
Índice de Tablas xv
Índice de Figuras xvii
Notación xix
1 Introducción 1
1.1 Introducción a la determinación de la actitud 2
1.1.1 La idea básica 2
1.1.2 Problema indeterminado o sobredeterminado 2
2 Instrumentos de Medida 3
2.1. Sensores de medición relativa 3
2.1.1 Giróscopos 3
2.1.2 Acelerómetros 8
2.2. Sensores de medición absoluta 11
2.2.1 Magnetómetros 11
2.2.2 Sensores solares 15
3 Algoritmos de Determinación 21
3.1 Determinación de la actitud: métodos determinísticos 21
3.1.1 Algoritmo Triads 22
3.2 Determinación de la actitud: métodos estadísticos 25
3.2.1 Cuaterniones 26
3.2.2 Algoritmo de Estimación Basado en el Método de Gauss-Newton 27
3.2.3 q-Method 35
3.2.4 QUEST 40
3.2.5 Optimal Linear Attitude Estimator (OLAE) 45
4 Resultados y Comparativa 53
5 Conclusiones 67
6 Líneas Futuras 69
xiv
Referencias 71
Anexos 73
Anexo A Código función cuaternión 73
Anexo B Modelo Simulink función de pérdida de Mortari 74
Anexo C Modelo Simulink función de pérdida de Wahba. 76
Anexo D Código función desviacion_solucion 77
Glosario 79
xv
ÍNDICE DE TABLAS
Tabla 2.1 Rangos de precisión de diferentes sensores. 20
Tabla 4.1 Errores 1e de los diversos métodos. 62
Tabla 4.2 Errores 2e de los diversos métodos. 63
Índice de Tablas
xvi
xvi
xvii
ÍNDICE DE FIGURAS
Figura 2.1 Giróscopo mecánico. 4
Figura 2.2 Giróscopo láser. 5
Figura 2.3 Esquema de un giróscopo de fibra. 6
Figura 2.4 MEMS Rate Gyro. 6
Figura 2.5 Esquema de un acelerómetro. 8
Figura 2.6 Diagrama de un acelerómetro piezo-eléctrico. 9
Figura 2.7 Diagrama de un acelerómetro piezo-resistivo. 9
Figura 2.8 Esquema de un acelerómetro capacitivo. 10
Figura 2.9 Esquema de un acelerómetro MEMS. 10
Figura 2.10 Magnetómetro de efecto Hall de bolsillo. 12
Figura 2.11 Brújula de Magnetómetro Fluxgate. 12
Figura 2.12 Magnetómetro Fluxgate uniaxial. 13
Figura 2.13 Magnetómetro MEMS. 13
Figura 2.14 Sensor solar. 15
Figura 2.15 Sensores solares colocados perpendicularmente. 16
Figura 2.16 Sensor digital de aspecto solar. 16
Figura 2.17 Celdas fotoeléctricas para sensores solares. (a) Celda única. (b) Pareja de celdas. 17
Figura 2.18 Geometría de un sensor solar de cuatro celdas. 19
Figura 3.1 Esquema principal del algoritmo Triads. 23
Figura 3.2 Estructura interna del algoritmo Triads. 24
Figura 3.3 Diagrama del bloque Norm. 24
Figura 3.4 Bloque Matrix from 3x3 vector. 25
Figura 3.5 Diagrama general del algoritmo de Gauss-Newton. 30
Figura 3.6 Estructura interna del algoritmo. 30
Figura 3.7 Esquema del bloque Cálculo J_k. 31
Figura 3.8 Bloques Productos_q_M y Productos_q_A. 32
Figura 3.9 Bloque Términos_1. 32
Figura 3.10 Esquema interno bloque Términos_1. 33
Figura 3.11 Diagrama interno del bloque Cálculo Rt. 33
Figura 3.12 Diagrama interno del bloque Mt. 34
Índice de Figuras
xviii
xviii
Figura 3.13 Diagrama interno del bloque f. 34
Figura 3.14 Esquema general algoritmo q-Method. 37
Figura 3.15 Estructura interna algoritmo q-Method. 37
Figura 3.16 Esquema interno Bloque Cálculo B. 38
Figura 3.17 Estructura interna bloque Cálculo S. 38
Figura 3.18 Diagrama interno bloque Cálculo Z y sigma. 39
Figura 3.19 Interior del bloque Cálculo K. 39
Figura 3.20 Interior Cálculo q. 40
Figura 3.21 Diagrama general algoritmo QUEST. 42
Figura 3.22 Estructura interna algoritmo QUEST. 43
Figura 3.23 Bloque Cálculo Y, estructura interna. 43
Figura 3.24 Bloque Cálculo p. 44
Figura 3.25 Sistema Cálculo q, estructura interna. 44
Figura 3.26 Diagrama general algoritmo OLAE. 50
Figura 3.27 Esquema interno algoritmo OLAE. 51
Figura 3.28 Diagrama interno bloque Cálculo M_m. 51
Figura 3.29 Esquema bloque Cálculo G. 52
Figura 3.30 Esquema bloque Cálculo C. 52
Figura 4.1 OLAE y QUEST precisión estimada. 65
Figura 4.2 Carga computacional. 65
Figura 0.1 Estructura interna modelo función de perdida de Mortari. 74
Figura 0.2 Esquema interno bloque Cálculo c. 74
Figura 0.3 Esquema interno bloque Cálculo T_2. 74
Figura 0.4 Esquema interno bloque Cálculo T_3. 75
Figura 0.5 Estructura interna modelo función de pérdida de Wahba. 76
xix
NOTACIÓN
sin Función seno
cos Función coseno
tan Función tangente
|𝑣| Módulo del vector v
𝑣 × 𝑛 Producto vectorial ente los vectores v y n
𝐵𝑇 Intensidad magnético total
𝐵𝑥 , 𝐵𝑦, 𝐵𝑧 Componentes del campo magnético según los ejes x, y, z
𝑣 ⋅ 𝑛 Producto vectorial entre los vectores v y n.
∑ 𝜉𝑖
𝑛
𝑖=1
Sumatorio desde 1 hasta n de las correspondientes 𝜉𝑖
g Vector unitario
𝑣𝑇 Vector traspuesto
𝐴−1 Matriz inversa
f
y
Derivada de la función f respecto de y
tr[B] Traza de la matriz B
∑ 𝜉𝑖
𝑖
Sumatorio para todo i de 𝜉𝑖
‖𝑣‖ Norma del vector v
v Vector con ruido
km Kilómetros
º Grados
hr Horas
alt. Altitud
𝑣𝑘 Vector k-ésimo
2d f
dxdy Derivada segunda de la función f respecto de x e y
Notación
xx
xx
1
1 INTRODUCCIÓN
l control de la actitud se define como la realización de diversas acciones encaminadas a dirigir
la orientación de un objeto respecto a un sistema de referencia aunque, principalmente, el término
es usado para referirse a aquellas acciones que permiten controlar la orientación de una aeronave en el
espacio.
Todo vehículo que requiera un control en actitud deberá tener incorporado un sistema de determinación
y control. Dicho sistema está compuesto, esencialmente, por dos componentes hardware (sensores y
actuadores) y un software (algoritmos de control), cada uno de los cuales tiene una función específica.
De esta forma los sensores se encargarán de medir el estado del sistema obteniendo una serie de datos
que serán procesados en los algoritmos de control para determinar los comandos apropiados para los
actuadores, de manera que estos modifiquen la actitud del vehículo con el fin de llevarlo al estado
deseado.
Particularizando en el caso de los sistemas de determinación y control de la actitud de aeronaves, que
será el suceso tratado en este trabajo, aparece la necesidad de usar una gran variedad de sensores y
actuadores debido a la complejidad que se presenta a la hora de realizar un control en actitud de
cualquier vehículo aéreo. Además, el hecho de presentarse como un problema indeterminado o
sobredeterminado hace aún más compleja la realización de un análisis matemático de la determinación
de la actitud.
Es por ello que muchos autores han desarrollado diferentes algoritmos basándose en diversos criterios
de resolución del problema de determinación [1, 2, 3]. Algunos de estos algoritmos son muy potentes
y presentan una gran robustez frente a errores, lo que aumenta el tiempo de computación y su
complejidad, mientras que otros se centran en reducir el coste computacional obteniendo, en
consecuencia, mayores errores en la solución obtenida. No obstante, a pesar de la gran variedad de
métodos disponibles, todos tienen una base común, que no es más que, tras recibir los datos necesarios
de los sensores, calcular la matriz de rotación Rbi que define la actitud de la aeronave.
E
Introducción
2
2
Con este gran número de algoritmos desarrollados, se hace necesaria la realización de diversas
comparativas de las características principales de cada uno de ellos frente a los demás.
Es por ello que este trabajo se centrará en el estudio de algunos de los métodos, con el fin de determinar
cuáles de estos pueden ser implementados en el caso práctico de una aeronave en vuelo, con las
restricciones que ello conlleva, teniendo en cuenta que las características que presenten deben permitir
su integración en un microprocesador.
1.1 Introducción a la determinación de la actitud
Se trata en este apartado de dar una visión general del problema de determinación y control de actitud
con el fin de adquirir conocimientos de las bases utilizadas en el desarrollo de los algoritmos de
determinación, para así poder facilitar el entendimiento de los métodos elegidos.
1.1.1 La idea básica
El problema de determinación de actitud utiliza la combinación de sensores y modelos matemáticos
para obtener las componentes del vector de posición del vehículo aéreo en los sistemas de referencia
cuerpo e inercial. Estos datos serán necesarios a la hora de ejecutar el algoritmo de control para la
determinación de la matriz de rotación Rbi que, como ya se comentó anteriormente, define la actitud
de la aeronave.
La matriz de rotación encontrada por el algoritmo debe asegurar el cumplimiento de
(1.1)
De esta forma, se necesitarán al menos dos vectores, ˆˆ y ms , con sus componentes en los sistemas de
referencia cuerpo e inercia, sb – mb y si – mi respectivamente, para poder estimar la actitud.
1.1.2 Problema indeterminado o sobredeterminado
A la hora de resolver el problema de determinación se necesitan tres parámetros independientes. No
obstante, como se acaba de mencionar, son necesarios al menos dos vectores para determinar la actitud,
lo que implica que, dado que cada vector unitario tiene dos componentes independientes, el problema
no puede resolverse con un total de tres parámetros independientes. De esta manera siempre quedará
un problema indeterminado, si sólo se tuviera un único vector, o sobredeterminado si se dispone de
más de uno.
Es por ello que, al referirse a un algoritmo, se debe de hablar de estimación de actitud y no de
determinación de actitud.
y bi bi
b i b is R s m R m
3
2 INSTRUMENTOS DE MEDIDA
os sensores utilizados en la determinación de la actitud se pueden agrupar en dos clases. La
primera de ellas está compuesta por los instrumentos de medición absoluta que, conociendo la
posición de la aeronave en su órbita, calculan las direcciones vectoriales con respecto a un sistema de
referencia inercial, de los diferentes cuerpos que encontramos en el espacio y de las líneas de fuerza
del campo magnético terrestre. De esta forma, midiendo y comparando estas direcciones respecto de
las de un sistema de referencia fijo y conocido, se determina la posición relativa entre el sistema de
coordenadas del sensor (ejes cuerpo) y el inercial. [3]
En la segunda clase se encuentran los sensores de medición relativa, los cuales determinan un ratio de
cambio de la actitud. Es por ello que es necesario conocer un punto de partida, o tener alguna
información externa, que permita usar las variaciones para calcular la actitud actual de la aeronave.
Además, muchos de estos sensores presentan ruido en las señales, lo que provocará ciertas
imprecisiones en las medidas tomadas si no se corrigen con información proveniente de los sensores
absolutos de medición. [4]
Dentro de cada una de las categorías existen un gran número de sensores, aunque se desarrollan en
este trabajo los más usados e importantes.
2.1. Sensores de medición relativa
2.1.1 Giróscopos
Son dispositivos que se utilizan para medir, mantener o cambiar la orientación en el espacio de algún
aparato o vehículo. Existen, principalmente, dos tipos de giróscopos.
Giróscopos mecánicos.
Giróscopos ópticos.
L
Instrumentos de Medida
4
4
2.1.1.1 Giróscopos mecánicos
Son unos dispositivos que basan su funcionamiento en la Ley de Conservación del Momento Angular.
Su estructura consiste en un sólido rígido simétrico fijado al centro de masas pero al que se le permite
cualquier rotación en torno a este. De esta manera, si la masa gira velozmente alrededor del eje de
simetría se consigue mantener la orientación respecto de un sistema de ejes de referencia. [5, 6, 7]
Figura 2.1 Giróscopo mecánico.
Para entender mejor el funcionamiento, es necesario someter al giróscopo a una fuerza externa tal que
tienda a cambiar la orientación de su eje de rotación. Ante esta acción, el dispositivo responderá
variando la orientación de un tercer eje, perpendicular al eje principal y a aquél en torno al cual se le
ha forzado a girar, conservando la posición del eje empujado a girar mejor incluso que un objeto no
giratorio. Este efecto, conocido como el efecto giroscópico, puede observarse en una gran cantidad de
objetos cotidianos como la peonza o una moneda que está rotando.
De esta forma, el giróscopo proporcionará unos planos fijos de referencia que no varían aun cambiando
la posición del cuerpo en el que esté integrado. A causa de esto, este instrumento, si se integra en una
aeronave, determina la posición espacial de dicho vehículo respecto de distintos ejes o planos de
referencia.
No obstante, estos dispositivos se ven muy afectados por factores externos, como la temperatura. Es
por ello que requieren una frecuente calibración y un alto mantenimiento.
5
5 Implementación y Análisis de Algoritmos de Control para la Determinación de la Actitud en Aeronaves
2.1.1.2 Giróscopos ópticos
Con el avance de la tecnología el giróscopo mecánico ha sido sustituido por el óptico, que presenta
mayor robustez ante las condiciones externas y mejora la precisión en la medición. Se basa en un
principio llamado efecto Sagnac, el cual describe la interferencia que provoca un área finita, que posee
una velocidad angular, sobre una onda electromagnética a la cual rodea. De tal manera que dos rayos
de luz lanzados en direcciones opuestas desde un punto de una trayectoria cerrada, que está rotando
con una velocidad angular ω, volverán al punto de partida habiendo recorrido uno de ellos un camino
más corto debido al giro existente. Se genera por tanto un desplazamiento de fase que provoca unas
interferencias, las cuales pueden ser captadas por un montaje interferométrico, que permiten conocer
la velocidad de rotación del dispositivo según la intensidad del rayo resultante. [8, 9]
Existen dos tipos principales de giróscopos ópticos: láser y de fibra óptica. Los pertenecientes a la
primera categoría consisten en un láser con una cavidad circular compuesta por tres o cuatro espejos
que forman un circuito cerrado.
Figura 2.2 Giróscopo láser.
Instrumentos de Medida
6
6
Por su parte los giróscopos de fibra presentan una estructura similar, pero en este caso el haz de luz
viaja a lo largo de una fibra óptica en forma de anillo. [10]
Figura 2.3 Esquema de un giróscopo de fibra.
2.1.1.3 Giróscopos micromecánicos (MEMS)
Por último, aunque no se haya hecho mención a estos en las clases principales, se hace necesario dar
una breve explicación de los giróscopos micromecánicos (MEMS Rate Gyros). Dichos dispositivos
utilizan el efecto Coriolis para determinar la velocidad angular del objeto. [5]
Figura 2.4 MEMS Rate Gyro.
7
7 Implementación y Análisis de Algoritmos de Control para la Determinación de la Actitud en Aeronaves
El esquema del sensor, como se puede observar, es bastante simple. Una masa m, colocada en el
extremo de una viga en voladizo que se encuentra vibrando.
Esta vibración provoca que la masa se mueva según una senoide de amplitud constante y, por tanto,
con una velocidad dada por la expresión
(2.1)
Además, por el hecho de encontrarse en un movimiento vibratorio, la masa experimentará una
aceleración de Coriolis que será medida por un elemento detector y convertida en un voltaje mediante
un circuito de acondicionamiento de señal.
(2.2)
siendo kC una constante de proporcionalidad.
Por su parte, es sabido que la aceleración de Coriolis es proporcional a la velocidad de la masa y a su
velocidad de rotación.
(2.3)
De esta manera, se puede establecer una relación entre el voltaje de salida y la velocidad angular que
se pretende determinar.
(2.4)
Teniendo en cuenta que Ω y v son perpendiculares, |Ω × 𝑣| = Ω|𝑣|, queda la siguiente expresión
(2.5)
donde KC es una constante de calibración.
En conclusión, el funcionamiento de este dispositivo se basará en proporcionar un voltaje de salida a
través de la medida de la aceleración de Coriolis, para después determinar la velocidad angular con la
que está rotando el cuerpo.
sin( t)n nv A
gyro C CV k a
2Ca v
gyro C C CV k a k v
2 sin( ) 2gyro C n n C n CV k A t k A K
Instrumentos de Medida
8
8
2.1.2 Acelerómetros
Son instrumentos destinados a medir las aceleraciones a las que está sometido un cuerpo.
Concretamente, son sensores inerciales que miden la fuerza de inercia generada cuando una masa es
afectada por un cambio de velocidad. De la misma forma que ocurría con los giróscopos, existen
diferentes tipos de acelerómetros.
2.1.2.1 Acelerómetros mecánicos
Se construyen uniendo una masa a un dinamómetro cuyo eje está en la dirección que se desea medir.
Así, el dinamómetro proporcionará el módulo de la fuerza resultante que actúa sobre la masa m en
función del desplazamiento que sufre. Posteriormente aplicando la Segunda Ley de Newton o Ley
Fundamental de la Dinámica1 se puede obtener el módulo de la aceleración 𝑎 =𝐹
𝑚
Figura 2.5 Esquema de un acelerómetro.
1 Ley Fundamental de la Dinámica: el cambio de movimiento es proporcional a la fuerza motriz que se ha impuesto, y sigue la dirección de la línea en que se imprime la fuerza.
9
9 Implementación y Análisis de Algoritmos de Control para la Determinación de la Actitud en Aeronaves
2.1.2.2 Acelerómetros piezoeléctricos
Como bien indica el nombre se basan en el efecto piezoeléctrico2, más concretamente en las
propiedades de los cristales piezo-eléctricos. Estos al sufrir una variación en su estructura cristalina
producen una corriente eléctrica.
De esta forma, si se coloca un cristal de este tipo entre una masa inercial y una base o carcasa que está
unida al cuerpo cuya aceleración se desea medir se producirá una corriente cuando la masa ejerza una
fuerza sobre el cristal o, lo que es lo mismo, cuando el cuerpo este sometido a una aceleración que se
podrá calcular midiendo la corriente creada. [11]
Figura 2.6 Diagrama de un acelerómetro piezo-eléctrico.
2.1.2.3 Acelerómetros piezorresistivos
El funcionamiento es similar al del caso anterior; sin embargo, en vez de usar un cristal utiliza un
sustrato, el cual ante una fuerza ejercida por la masa varía su resistencia. Dicho sustrato forma parte
de un circuito que, usando un puente Whetstone, mide la intensidad de la corriente. [11]
Figura 2.7 Diagrama de un acelerómetro piezo-resistivo.
2 Efecto piezoeléctrico: las propiedades eléctricas de un material se ven modificadas al producirse un cambio en la estructura cristalina del mismo debido a la acción de una fuerza externa.
Instrumentos de Medida
10
10
2.1.2.4 Acelerómetro capacitivo
Basan su funcionamiento en la variación de la capacidad que se produce en un microcondensador al
modificarse la posición relativa de las placas que lo forman, en respuesta a cambios en la aceleración.
Es decir, usan la variación de la capacidad entre dos o más condensadores entre los que se encuentra
un dieléctrico para determinar la aceleración que lo provoca. [11]
Figura 2.8 Esquema de un acelerómetro capacitivo.
2.1.2.5 Acelerómetros micromecánicos (MEMS)
El desarrollo de estos sensores de inercia ha sido posible gracias a los avances que se han producido
en la tecnología micro-electromecánica.
Figura 2.9 Esquema de un acelerómetro MEMS.
El reducido tamaño que presentan estos sensores hace posible la construcción de un acelerómetro de
tres ejes en un solo chip de silicio, así como la implementación en numerosos dispositivos utilizados
en la vida cotidiana.
11
11 Implementación y Análisis de Algoritmos de Control para la Determinación de la Actitud en Aeronaves
2.2. Sensores de medición absoluta
2.2.1 Magnetómetros
Son dispositivos usados para cuantificar una señal magnética de una muestra en fuerza o dirección.
Son usados, principalmente, para la medición del campo magnético terrestre y para la detección de
anomalías magnéticas de diferentes tipos.
Existe una gran variedad de magnetómetros, desde lo más sencillos, como la balanza de Gouy, hasta
los más sofisticados y sensibles, como los dotados de SQUID. Sin embargo, todos los diversos
modelos se pueden agrupar en dos tipos básicos:
Magnetómetros escalares, que miden la fuerza total del campo magnético al que están
sometidos sin aportar ningún dato sobre las componentes vectoriales de campo.
Magnetómetros vectoriales, que son capaces de medir la intensidad del campo magnético en
una dirección particular, dependiendo de la colocación que se dé al dispositivo.
En el caso de la determinación de la actitud en aeronaves se necesitará conocer tanto la intensidad
como la dirección del campo magnético. Es por ello que a continuación se van a desarrollar más en
profundidad los magnetómetros vectoriales.
2.2.1.1 Magnetómetros vectoriales
Como se ha mencionado anteriormente, este tipo de magnetómetros miden una o más componentes
del campo magnético electrónicamente. Para calcular la totalidad del campo magnético en un punto se
utiliza un sistema de tres magnetómetros colocados ortogonalmente. Posteriormente, aplicando el
teorema de Pitágoras, hallaríamos el valor de la intensidad magnética total, IMT.
(2.6)
Cabe destacar que estos dispositivos se ven fuertemente afectados por la temperatura y la inestabilidad
dimensional de los núcleos férricos, por lo que requieren de una buena calibración.
2 2 2
T x y zB B B B
Instrumentos de Medida
12
12
2.2.1.1.1 Magnetó metrós de efectó Hall3
Producen un voltaje proporcional al campo magnético aplicado y además pueden detectar también la
polaridad. Los más usados son los de estado sólido. Actualmente se utilizan en muchos aspectos de la
vida cotidiana.
Figura 2.10 Magnetómetro de efecto Hall de bolsillo.
2.2.1.1.2 Magnetó metrós magnetórresistentes
Están compuestos de delgadas tiras de permaloy4, cuya resistencia eléctrica se ve modificada ante
cambios en el campo magnético.
2.2.1.1.3 Magnetó metrós Fluxgate
Se componen de un pequeño núcleo, susceptible al magnetismo, envuelto por dos bobinas de cable.
Al pasar una corriente alterna por una de las dos bobinas, se provocan ciclos de saturación magnética
en el núcleo que inducen una corriente en la segunda bobina, la cual es medida mediante un detector
para determinar la intensidad del campo magnético.
Figura 2.11 Brújula de Magnetómetro Fluxgate.
3 Efecto Hall: aparición de un campo eléctrico por separación de cargas en el interior de un conductor por el que circula una corriente, en presencia de un campo magnético perpendicular al movimiento de dichas cargas. 4 Tiras de permaloy: película magnética de Níquel-Hierro.
13
13 Implementación y Análisis de Algoritmos de Control para la Determinación de la Actitud en Aeronaves
Figura 2.12 Magnetómetro Fluxgate uniaxial.
2.2.1.1.4 Magnetó metrós micrómeca nicós (MEMS)
Son una serie de dispositivos micro-electromecánicos usados para detectar y medir campos
magnéticos. Su funcionamiento se basa en la detección del movimiento que se produce en la estructura
MEMS debido a la fuerza de Lorentz5, que actúa sobre el conductor por el que circula la corriente. La
detección del movimiento puede realizarse electrónica u ópticamente mediante elementos
piezorresistivos o fuentes de luz láser o LED, respectivamente.
Figura 2.13 Magnetómetro MEMS.
[12]
5 Fuerza de Lorentz: fuerza a la que se ve sometida toda carga eléctrica en movimiento dentro de un campo magnético. Es perpendicular tanto al campo como a la velocidad, por lo que no produce un cambio de energía cinética sino que sólo provoca una variación en la dirección de la velocidad.
Instrumentos de Medida
14
14
2.2.1.2 Física de los magnetómetros
En base a la definición de magnetómetro se puede afirmar que es un sensor capaz de estimar, tanto en
fuerza como en dirección, las componentes del campo magnético terrestre respecto de un sistema de
referencia fijo para él. Dado que la orientación del magnetómetro respecto del sistema de ejes cuerpo
espacial está fijada, el sensor proporcionará un vector sin normalizar, cuyas componentes representan
la intensidad del campo magnético terrestre en las diferentes direcciones, respecto del sistema de
coordenadas cuerpo, *
bm .
Por otro lado, si se quieren calcular las componentes de dicho vector, basadas en el tiempo y en la
posición de la aeronave, en el sistema de coordenadas inercial, im , se necesita un modelo matemático
del campo magnético de la Tierra.
Un modelo que aproxima el comportamiento magnético terrestre es el de un dipolo que presenta cierta
inclinación. En base a esto, las componentes del campo magnético terrestre, con respecto a un sistema
de referencia inercial centrado en la Tierra, vienen dadas por las siguientes expresiones.
(2.7)
(2.8)
siendo d el vector de dirección unitario del dipolo, cuyas componentes en el sistema de referencia
inercial son:
(2.9)
El vector r es un vector unitario en la dirección del vector de posición de la aeronave.
0m g mt , donde 0g es el tiempo sideral de Greenwich en la época,
es la velocidad de
rotación de la Tierra, y y m m son la coelevación y la longitud Este del dipolo. Los valores actuales
son =196.54 y 108.43m m . Por su parte, las constantes 06378 km y H 30,115 nTR son,
respectivamente, el radio de la Tierra y una constante característica del campo magnético terrestre. [3]
3* 0
3ˆ ˆ[3d r r d ]T
i i i i i
R Hm
r
sin cos
sin sin
cos
m m
i m m
m
d
13
* 023
3
ˆ ˆ3(d r) r sin cos
ˆ ˆ3(d r) r sin sin
ˆ ˆ3(d r) r cos
T
m m
T
i m m
T
m
R Hm
r
15
15 Implementación y Análisis de Algoritmos de Control para la Determinación de la Actitud en Aeronaves
2.2.2 Sensores solares
Los sensores solares constituyen uno de los dispositivos de medición más usados, pudiéndose
encontrar varios tipos de estos sensores en una aeronave. Esto se debe a diversos factores, como la
simplicidad que presentan o la elevada luminiscencia del Sol respecto de otros cuerpos celestes, que
lo convierte en una potente referencia de dirección. Además, existen numerosas razones por las que se
hace necesario conocer la posición relativa de la aeronave con respecto al Sol. Algunos ejemplos de
ello son la cantidad de vehículos espaciales que utilizan la irradiación solar como fuente de energía, o
aquellos satélites que no pueden estar directamente expuestos al Sol debido a que poseen instrumentos
bastante sensibles. [3]
2.2.2.1 Sensores de radiación solar
La estructura del sensor se basa en una “cámara oscura” fija al vehículo, en la que se permite la entrada
de los rayos solares mediante una pequeña ranura, con una retícula de detectores fotoeléctricos6 al
fondo de la misma. De esta forma, en función de los detectores que respondan a la radiación, se podrá
calcular el ángulo de incidencia.
Figura 2.14 Sensor solar.
6 Sensor fotoeléctrico o fotocélula: es un dispositivo electrónico que responde al cambio en la intensidad de la luz.
Instrumentos de Medida
16
16
Dado que con un único sensor sólo podemos obtener un ángulo relativo, se hace necesaria una
configuración de dos sensores colocados perpendicularmente para poder calcular los dos ángulos de
una dirección. [13]
Figura 2.15 Sensores solares colocados perpendicularmente.
2.2.2.2 Sensores digitales de aspecto solar (DASDs)
Se basan en los mismos principios usados por el sensor de radiación solar. Sin embargo, utilizan una
celda de sensores fotoeléctricos más sensibles, mejorando de esta forma la precisión de la medida.
Son capaces de determinar tanto el ángulo de incidencia como la intensidad de la radiación incidente.
De esta manera se puede obtener la dirección y el ángulo de máxima incidencia y, en consecuencia,
calcular la dirección en la que se encuentra el centroide del Sol.
Figura 2.16 Sensor digital de aspecto solar.
17
17 Implementación y Análisis de Algoritmos de Control para la Determinación de la Actitud en Aeronaves
Como comparativa entre la precisión de la medida entre ambos sensores, el sensor de radiación
presenta una precisión máxima igual al diámetro angular del sol (0.5 grados en LEO), mientras que el
DSADs consigue una precisión de segundos de arco. [13]
2.2.2.3 Física de los sensores solares
Tras haber dado una breve explicación de los diferentes tipos de sensores solares y su función, se puede
afirmar que se trata de un instrumento de medida que tiene como objetivo determinar un vector unitario
que apunta hacia el Sol con respecto de un sistema de coordenadas cuerpo, s .
(2.10)
Sin embargo, si se quieren conocer las componentes de dicho vector en el sistema de referencia
inercial, is , se necesitará más información. Así, con el conocimiento de las posiciones del vehículo y
la Tierra en sus respectivas órbitas, se consigue la información necesaria para el cálculo de is .
Figura 2.17 Celdas fotoeléctricas para sensores solares. (a) Celda única. (b) Pareja de celdas.
A lo largo de este apartado se han dado a conocer dos tipos de sensores solares: analógicos y digitales.
Los primeros utilizan celdas fotoeléctricas las cuales, en función del coseno del ángulo de incidencia
α (Figura 2.19 (a)), obtienen una salida proporcional a dicho ángulo.
(2.11)
De esta ecuación (2.11) y, una vez el sensor haya proporcionado una salida (I (α)), se puede determinar
α.
ˆˆˆ T T
i bs s i s b
( ) (0) cosI I
Instrumentos de Medida
18
18
Por otra parte, una vez calculado el ángulo de incidencia el objetivo se centra en la obtención del vector
s . Así, sabiendo que n es un vector unitario normal a la celda fotoeléctrica, se puede verificar que
(2.12)
No obstante, utilizando esta ecuación (2.12) no se dispone de información suficiente para determinar
s completamente, es decir, el conocimiento del ángulo de incidencia no permite por sí solo la
determinación exacta de la dirección en la que se encuentra el sol. Es por ello que, normalmente, los
sensores solares utilizan una combinación de cuatro de las mencionadas celdas para poder calcular
íntegramente el vector unitario.
En el caso de que se quiera determinar el ángulo de incidencia en un plano específico se usa una
estructura de dos celdas inclinadas un ángulo 0 respecto de la normal, n (Figura 2.19 (b)). Cada una
de las celdas genera las siguientes salidas:
(2.13)
(2.14)
Tomando la diferencia entre las Ecuaciones 2.14 y 2.13 se obtiene
(2.15)
(2.16)
(2.17)
(2.18)
siendo 02 (0)sinC I una constante que depende de las características eléctricas de las celdas y de
la disposición que presentan.
Si se dispusiera de una estructura de cuatro celdas organizadas en parejas se obtendría una geometría
como la de la Figura 2.20. En dicha imagen 1 ´2
ˆ ˆ y n n son los vectores normales a las parejas de
fotoceldas. Por su parte, el vector t es elegido para definir los dos planos de las fotocélulas. De tal
forma que la terna 1 ´2ˆˆ ˆ, ,n n t forma un sistema de referencia denotado por ℱ𝑠. Además, la matriz de
orientación bsR es conocida, ya que la orientación de este sistema de referencia con respecto al sistema
de ejes cuerpo espacial está fijada de inicio, al igual que ocurría en el caso de los magnetómetros.
En consecuencia, el sensor solar determinará los ángulos 𝛼1 𝑦 𝛼2, que permitirán el cálculo del vector
en el sistema de referencia solar (ℱ𝑠), 𝑠𝑠, mientras que las componentes en el sistema de ejes cuerpo
se obtienen a través de la matriz 𝑅𝑏𝑠.
ˆ ˆ coss n
1 0( ) (0)cos( )I I
2 0( ) (0)cos( )I I
0 0(0) cos( ) cos( )I
02 (0)sin sinI
sinC
2 1I I I
19
19 Implementación y Análisis de Algoritmos de Control para la Determinación de la Actitud en Aeronaves
Figura 2.18 Geometría de un sensor solar de cuatro celdas.
Por último, para obtener el vector 𝑠𝑠 unitario a partir de los ángulos medidos, lo más sencillo es forzar
el valor de la primera componente a 1 y, usando la geometría, determinar el resto.
(2.19)
El vector normalizado quedaría de la siguiente forma
(2.20)
[3]
* 1
2
1
1
tantan
tan
ss
11
2
* *
tan1 tan
tanˆ
T
sT
s s
ss s
Instrumentos de Medida
20
20
Para terminar el capítulo de instrumentos de medida se muestra una tabla comparativa de la precisión
de diversos sensores de actitud que se pueden encontrar en una aeronave.
Tabla 2.1 Rangos de precisión de diferentes sensores.
Sensor Precisión
Magnetómetros 1.0º (5000 km alt.)
5.0º (200 km alt.)
Sensores terrestres 0.05º (GEO)
0.01º (LEO)
Sensores solares 0.01º
Sensores de estrellas 2 arc-sec
Giróscopos 0.001 º/hr
Antenas direccionales 0.01-0.5º
Adaptada de la Ref. 3
21
3 ALGORITMOS DE DETERMINACIÓN
esde que surge la necesidad de determinar la actitud de una aeronave muchos autores han
centrado su trabajo en el desarrollo de un algoritmo que permita obtener la solución del
problema de determinación. Además, el hecho de que cada uno de estos algoritmos utilice un criterio
de resolución distinto, ha motivado la aparición de una gran variedad de procedimientos dirigidos a
estimar la posición de un vehículo aéreo.
No obstante, todos los métodos existentes presentan un objetivo común: encontrar la matriz de rotación
que describa la orientación de un sistema de referencia fijo en el espacio, ℱ𝑏, respecto de un sistema
de referencia conocido, como por ejemplo el inercial, ℱ𝑖. En conclusión, determinar la actitud es
equivalente a calcular 𝑅𝑏𝑖.
3.1 Determinación de la actitud: métodos determinísticos
En el capítulo 1 de este trabajo se habló del carácter indeterminado o sobredeterminado que presentaba
el problema de determinación de actitud, obteniéndose como conclusión que eran necesarios al menos
dos vectores para poder resolverlo, lo cual implica que se dispone de cuatro variables conocidas.
Por otro lado, aunque la matriz de cosenos directores 𝑅𝑏𝑖 esté compuesta de nueve números, solo se
necesitan tres de ellos para definirla completamente. Esto se traduce en que el problema presenta tres
incógnitas.
Se llega por tanto a una situación en la que tenemos, por un lado, tres incógnitas necesarias para obtener
la matriz de rotación y, por otro, cuatro variables provenientes de las mediciones de los sensores y que,
en consecuencia, son conocidas. Se plantea por consiguiente una tesitura en la que, con el exceso de
información existente, no se puede resolver el problema con exactitud. Se hablará, por tanto, de
estimación de la actitud.
D
Algoritmos de Determinación
22
22
Se va ahora a proceder a plantear las bases del problema de estimación. Para ello, se parte de dos
vectores que han sido determinados a través de los sensores de medición del vehículo. El primero de
ellos nos permite conocer la dirección hacia el sol, s , mientras que el segundo facilita la dirección del
campo magnético terrestre, m . En base a esto se denota por 𝑠𝑏 y 𝑚𝑏 a las componentes de dichos
vectores medidas respecto del sistema de referencia de ejes cuerpo; de la misma manera, 𝑠𝑖 y 𝑚𝑖 serán
las coordenadas obtenidas respecto del sistema de referencia inercial.
Idealmente, la matriz de rotación, también denominada de actitud, 𝑅𝑏𝑖, tendrá que satisfacer
(3.1)
Sin embargo, la condición de problema sobredeterminado hace imposible encontrar dicha matriz.
Ante esta coyuntura se plantea un algoritmo basado en descartar una parte de la información; no
obstante, este descarte no implica olvidar una de las componentes de los vectores. Dicho algoritmo,
que además es el más simple de todos los deterministas, es conocido como el Algoritmo de las Triads.
3.1.1 Algoritmo Triads
Recibe su nombre de la construcción de dos tríadas de vectores ortonormales usando la información
disponible. Cada una de las tríadas está compuesta por componentes del mismo sistema de referencia,
denotado por ℱ𝑡, pero expresadas en los sistemas de coordenadas cuerpo e inercia.
Para la construcción del citado sistema de referencia (ℱ𝑡), es necesario asumir que uno de los vectores
es correcto, es decir, que una de las dos Ecuaciones de 3.1 se cumple exactamente. En este caso se ha
supuesto que el vector s es el exacto, y por lo tanto se usará para formar el primer vector que define a
ℱ𝑡.
(3.2)
(3.3)
(3.4)
Para construir el segundo vector se calcula una dirección perpendicular a las dos observaciones.
(3.5)
(3.6)
(3.7)
y bi bi
b i b is R s m R m
1ˆt s
1b bt s
1i it s
2ˆ ˆt s m
2b b
b
b b
s mt
s m
2i i
i
i i
s mt
s m
23
23 Implementación y Análisis de Algoritmos de Control para la Determinación de la Actitud en Aeronaves
Por último, el tercer vector, debido a la ortogonalidad que presenta la tríada, deberá ser perpendicular
a los anteriores.
(3.8)
3 1 2b b bt t t (3.9)
(3.10)
Una vez obtenidos los tres vectores se está en disposición de calcular las matrices de rotación 𝑅𝑏𝑡 y
𝑅𝑡𝑖.
(3.11)
Finalmente, con estas dos matrices se obtiene la deseada.
(3.12)
[3]
3.1.1.1 Implementación en MatLab/Simulink
Se trata ahora de dar una visión general del modelo de Simulink que implementa el algoritmo, así
como de explicar los subsistemas de los que está compuesto.
Figura 3.1 Esquema principal del algoritmo Triads.
La estructura interna queda recogida dentro del sistema “Algoritmo Triads” (Figura 3.1), de tal manera
que se tendrá que bajar un nivel en las capas del modelo para poder observarla (Figura 3.2).
3 1 2ˆ ˆ ˆt t t
3 1 2i i it t t
1 2 3 1 2 3 y bt ti
b b b i i iR t t t R t t t
1 2 3 1 2 3 Tbi bt ti
b b b i i iR R R t t t t t t
Algoritmos de Determinación
24
24
Figura 3.2 Estructura interna del algoritmo Triads.
Las funciones principales de este sistema son: calcular los tres vectores que conforman el sistema de
referencia ℱ𝑡, construir las dos matrices de rotación, 𝑅𝑏𝑡 y 𝑅𝑡𝑖, a partir de dichos vectores, y
determinar la matriz de orientación, 𝑅𝑏𝑖. Para ello se utiliza una combinación de elementos, ya
existentes en las librerías de Simulink, y dos sistemas creados por el usuario que serán explicados a
continuación.
El primero de los bloques construidos se denota como Norm y su función consiste en calcular la norma
de un vector de tres componentes. A pesar de ser un elemento ya existente en las librerías se decide
reprogramar a causa de los posibles cambios a los que podía estar sometido, además del gran uso que
adquiere durante el desarrollo de los diferentes algoritmos.
Figura 3.3 Diagrama del bloque Norm.
25
25 Implementación y Análisis de Algoritmos de Control para la Determinación de la Actitud en Aeronaves
A lo largo de la ejecución del algoritmo se ha hecho necesario formar una matriz 3x3 a partir de tres
vectores calculados previamente. Dado que un elemento así no existía en las librerías de Simulink, se
ha tenido que adaptar el bloque “Create 3x3 Matrix”. Como resultado se ha obtenido un nuevo sistema
llamado “Matrix 3x3 from 3 vector”.
Figura 3.4 Bloque Matrix from 3x3 vector.
3.2 Determinación de la actitud: métodos estadísticos
Estos algoritmos permiten usar toda la información disponible, sin descartar ninguna parte de ella, en
el caso de que se disponga de dos o más observaciones. Consecuencia de ello, los métodos estadísticos
presentan un aumento en la precisión a la hora de estimar la actitud de la aeronave, es decir, obtener
𝑅𝑏𝑖.
Como ya sabemos, toda matriz de rotación que defina la orientación de una aeronave debe cumplir la
ecuación
(3.13)
bi
kb kiv R v
Algoritmos de Determinación
26
26
En el caso de los métodos estadísticos, se parte, generalmente, de una serie de N vectores unitarios
ˆkv , k = 1, …, N, de los cuales se tienen las componentes medidas por los sensores en el sistema de
coordenadas cuerpo, 𝑣𝑘𝑏, y un modelo matemático que permite determinar dichas componentes en el
sistema de ejes inercial, 𝑣𝑘𝑖.
Por lo tanto, la Ecuación 3.13 debe ser satisfecha por cada uno de los vectores de los que se dispone
en el problema. Es decir, encontrar una solución global que minimice los errores globales para todos
los N vectores.
Existen numerosas formas de abordar el problema, una de ellas se basa en encontrar la matriz 𝑅𝑏𝑖 que
minimice la función de pérdida
(3.14)
donde J es la función de pérdida a minimizar, k=1, …, N, 𝑤𝑘 es el peso correspondientes a la k-ésima
observación, ˆkv es el k-ésimo vector medido, 𝑣𝑘𝑏 y 𝑣𝑘𝑖 son los vectores k-ésimos cuyas componentes
están expresadas en los sistemas de referencia cuerpo e inercial, respectivamente. Dado que la función
de pérdida representa una suma de los errores cuadráticos de cada una de las medidas, cada uno de los
métodos tratará de minimizar el error obtenido.
Se presenta, en consecuencia, un problema de minimización en el que el objetivo es encontrar el
mínimo de la función definida en 3.14, también conocida como función de Wahba. A lo largo de este
capítulo, este problema será resuelto mediante tres métodos que se darán a conocer a continuación.
Sin embargo, como ya se adelantó anteriormente, existen distintas maneras de tratar el problema. Es
por ello que se ha decidido presentar en este capítulo un cuarto algoritmo, “Optimal Linear Attitude
Estimator”, que utiliza otro criterio de optimización a la hora de determinar la actitud de una aeronave.
[3, 14]
3.2.1 Cuaterniones
En el posterior desarrollo de los diferentes algoritmos que se va a realizar en este capítulo aparecerán
frecuentemente estos elementos. Es por ello que se ha considerado necesario hacer un pequeño inciso
para definirlos y explicar algunas de sus propiedades.
2
1
1(R )
2
Nbi bi
k kb ki
k
J w v R v
27
27 Implementación y Análisis de Algoritmos de Control para la Determinación de la Actitud en Aeronaves
Los cuaterniones son una extensión de los números reales, similar a la de los números complejos. Esta
extensión se forma con la adición de las unidades imaginarias i, j, k a los números reales, las cuales
deben cumplir
(3.15)
En base a esto podemos definir un cuaternión de la siguiente manera.
(3.16)
Es decir un vector con cuatro componentes, una de ellas real y el resto imaginarias.
Por otra parte algunas de las propiedades que presentan son:
La multiplicación de cuaterniones no es conmutativa.
El producto es asociativo.
Todo cuaternión no nulo posee un único inverso.
De esta forma, se puede afirmar que los cuaterniones forman un álgebra asociativa tetradimensional
sobre los números reales, y los números complejos forman un subconjunto de ella. No obstante, los
cuaterniones no forman un álgebra asociativa sobre los complejos. [15]
3.2.2 Algoritmo de Estimación Basado en el Método de Gauss-Newton
Anteriormente se definía a 𝑅𝑏𝑖 como una matriz de cosenos directores que describía la actitud de una
aeronave. Esta matriz era expresada a través de las funciones trigonométricas.
En esta subsección, sin embargo, se van a utilizar distintos elementos en la formación de la matriz de
rotación, olvidando las funciones trigonométricas. En este aspecto adquieren un importante papel los
cuaterniones, siendo bastante relevante la elección de una correcta configuración de los mismos.
En cuanto al método, se trata de un algoritmo que, mediante un proceso iterativo, converge en una
matriz de rotación, definida en base a un cuaternión, que presenta una buena estimación de la actitud.
No obstante, puesto que los cuaterniones están formados por cuatro componentes independientes y,
como ya ha sido mencionado con anterioridad, la matriz de rotación queda definida con únicamente
tres variables, se necesitará añadir una restricción a la definición del cuaternión de manera que solo
presente tres variables independientes.
(3.17)
Esta ligadura (Ecuación 3.17) implica que todo cuaternión usado en la composición de la matriz de
rotación deberá ser unitario.
2 2 2 1i j k ijk
ˆˆ ˆw x y zq q iq jq kq
1Tq q
Algoritmos de Determinación
28
28
Una vez impuestas las bases del método se pretende realizar un desarrollo del algoritmo paso a paso
para facilitar su compresión. De esta forma, se partirá de las medidas determinadas por dos sensores
de actitud distintos (por ejemplo, un magnetómetro y un acelerómetro) para formar un vector, denotado
por z , de la siguiente manera:
(3.18)
siendo 𝐴𝑥 , 𝐴𝑦, 𝐴𝑧 las medidas del acelerómetro y 𝑀𝑥, 𝑀𝑦, 𝑀𝑧 las del magnetómetro.
Además, se cuenta con las referencias de dichas medidas agrupadas en un vector similar al anterior,
denotado por 0z . Por otra parte se desea que el error de la medida sea nulo, esto es
(3.19)
tz representa un vector que contiene las medidas del acelerómetro y el magnetómetro en el momento
actual. Por su parte, 𝑅𝑡 es la matriz de cosenos directores (𝑅𝑏𝑖) en el momento actual. Esta matriz
queda definida en el caso de usar cuaterniones de la siguiente manera.
(3.20)
donde 𝑞1, 𝑞2, 𝑞3 𝑦 𝑞4 representan las componentes del cuaternión: 𝑞 = 𝑞1𝑖 + 𝑞2𝑗 + 𝑞3𝑘 + 𝑞4.
Dado que en el caso desarrollado se disponen de dos medidas de dos sensores diferentes será necesario
redefinir 𝜀.
(3.21)
siendo 𝑀𝑡 la MCD en el momento actual que rota a ambas medidas.
(3.22)
M M MT
x y z x y zz A A A
0 t tz R z
2 2 2 2
4 1 2 3 1 2 3 4 1 3 2 4
2 2 2 2
1 2 3 4 4 2 1 3 2 3 4 1
2 2 2 2
1 3 2 4 3 2 1 4 4 3 1 2
2 (q q q q ) 2 (q q q q )
2 (q q q q ) 2 (q q q q )
2 (q q q q ) 2 (q q q q )
q q q q
q q q q
q q q q
0 t tz M z
0
0
t
t
t
RM
R
29
29 Implementación y Análisis de Algoritmos de Control para la Determinación de la Actitud en Aeronaves
Por su parte, el método de Gauss-Newton se define como un método iterativo de optimización que
sigue el paso
(3.23)
hasta que o bien f 0 , o bien
1
( ) ( ) 0k n
fx x f x
x
.
En el caso que se trata en este apartado, la función f de la Ecuación 3.23 está representada por 𝜀 y la
variable 𝑥𝑘 por el cuaternión 𝑞𝑘. Por su parte, kJ es el Jacobiano de la función f calculado en 𝑥𝑘. De
esta forma, el Jacobiano de la k-ésima iteración vendrá dado por la siguiente expresión.
(3.24)
Realizando las operaciones pertinentes, la ecuación 3.24 queda de la siguiente forma.
(3.25)
1 2 3 2 1 4 3 4 1 4 3 2
2 1 4 1 2 3 4 3 2 3 4 1
3 4 1 4 3 2 1 2 3
2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2( (t))
x y z x y z x y z x y z
x y z x y z x y x y z
x y z x y z x y z
k
q A q A q A q A q A q A q A q A q A q A q A q A
q A q A q A q A q A q A q A q A q A q A q A q A
q A q A q A q A q A q A q A q A q AJ q
2 1 4
1 2 3 2 1 4 3 4 1 4 3 2
2 1 4 1 2 3 4 3 2 3 4 1
3 4 1 4 3 2 1 2
2 2 2
2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2
x y z
x y z x y z x y z x y z
x y z x y z x y z x y z
x y z x y z x
q A q A q A
q M q M q M q M q M q M q M q M q M q M q M q M
q M q M q M q M q M q M q M q M q M q M q M q M
q M q M q M q M q M q M q M q
3 2 1 42 2 2 2y z x y zM q M q M q M q M
Una vez obtenida la expresión del Jacobiano, la iteración del cuaternión viene definida por
(3.26)
[2, 3]
1
1 [ ] fT T
k k k k kx x J J J
1 2 3 4
( )( (t))
(t)t k t t t t
k
M M M MJ q z z z z
q q q q q
1
1 0( ) ( ) ( ( )) ( ( )) ( ( )) ( )T T
k k t k t k t k t k tq t q t J q t J q t J q t z M q z
Algoritmos de Determinación
30
30
3.2.2.1 Implementación en MatLab/Simulink
Al igual que en el Apartado 3.1.1.1 se va a proceder ahora a desarrollar un análisis del modelo Simulink
realizado, así como de los subsistemas de los que está compuesto, dando a conocer las funciones de
cada uno de ellos.
Figura 3.5 Diagrama general del algoritmo de Gauss-Newton.
Como se puede observar en la Figura 3.5 las entradas del algoritmo serán las medidas obtenidas a
través de los sensores de medición y sus respectivas referencias. Con estos valores este algoritmo, cuya
estructura interna se puede observar en la Figura 3.6, nos devuelve como salida la matriz de rotación
𝑅𝑡, que variará en cada iteración.
Figura 3.6 Estructura interna del algoritmo.
31
31 Implementación y Análisis de Algoritmos de Control para la Determinación de la Actitud en Aeronaves
Este modelo de Simulink implementa el método de Gauss-Newton explicado en la Subsección 3.2.2.
Para ello se vale, aparte de los bloques básicos que se pueden hallar en las librerías de MatLab, de una
serie de subsistemas usados para el cálculo de elementos que intervienen en el desarrollo del algoritmo.
Uno de ellos, el sistema “Cálculo J_k” (Figura 3.7), se encarga de realizar las operaciones necesarias
para obtener el Jacobiano de la función ε, es decir, determina la matriz de la Ecuación 3.25.
Figura 3.7 Esquema del bloque Cálculo J_k.
Para ello se vale de cuatro sub-bloques. Los dos primeros (Figura 3.8) realizan los productos entre las
componentes de los cuaterniones y las de los dos vectores provenientes del acelerómetro y del
magnetómetro. Los otros dos restantes usan los productos calculados para obtener los términos de la
matriz del Jacobiano; para ello, cada uno se divide en otros tres bloques que calculan los términos
correspondiente a una fila (Figuras 3.9 y 3.10).
Por último, para formar la correspondiente matriz se ha creado el sistema “Matrix 6*4” a partir del
bloque “Create 3x3 Matrix”.
Algoritmos de Determinación
32
32
Figura 3.8 Bloques Productos_q_M y Productos_q_A.
Figura 3.9 Bloque Términos_1.
33
33 Implementación y Análisis de Algoritmos de Control para la Determinación de la Actitud en Aeronaves
Figura 3.10 Esquema interno bloque Términos_1.
Otros dos bloques significativos son “Cálculo Rt” y “Mt”. Ambos se encargan de obtener las matrices
Rt y Mt, respectivamente (Figuras 3.11 y 3.12). Cabe destacar que, para evitar que se generen
confusiones en el diseño del modelo, el sistema Cálculo de Rt ha sido agrupado en tres subsistemas,
tal y como se observa en la imagen. Esta razón también llevó al bloque “Cálculo J_k” a ser rediseñado
para adquirir la estructura ya explicada.
Figura 3.11 Diagrama interno del bloque Cálculo Rt.
Algoritmos de Determinación
34
34
Figura 3.12 Diagrama interno del bloque Mt.
Por último encontramos el bloque “f” (Figura 3.13), que calcula la función ε.
Figura 3.13 Diagrama interno del bloque f.
35
35 Implementación y Análisis de Algoritmos de Control para la Determinación de la Actitud en Aeronaves
3.2.3 q-Method
Resuelve elegantemente el problema de determinación de la actitud mediante la minimización de la
función de Wahba.
Como paso previo al desarrollo del algoritmo será necesario realizar una serie de cambios que permitan
llegar a otra expresión de la función de pérdida (Ecuación 3.14). Para ello se desarrolla dicha ecuación
de la forma siguiente:
(3.27)
(3.28)
Asumiendo que los vectores son unitarios se tiene que 1T T
kb kb ki kiv v v v . En consecuencia la
Ecuación 3.28 pasa a tener la siguiente expresión:
(3.29)
No obstante, aunque el problema puede ser abordado minimizando 𝐽(𝑅) o (R) T bi
k kb kiJ w v R v
(expresión en la cual se ha obviado la parte de la Ecuación 3.29 que no depende de R), se va a tratar
desde un punto de vista equivalente a este, es decir, maximizando la función de ganancia.
(R) T bi
k kb kig w v R v (3.30)
Además, como ya se introdujo al principio de la subsección, el problema va a ser resuelto en términos
de un cuaternión que deberá cumplir la restricción de vector unitario, Tq q 1 . Bajo estas condiciones
la función de ganancia, 𝑔(𝑅), la cual estaba expresada en función de la matriz de rotación, pasa a ser
reescrita en términos del cuaternión.
(3.31)
1(v R v ) (v R v )
2
bi T bi
k kb ki kb kiJ w
1(v v v v 2v R v )
2
T T T bi
k kb kb ki ki kb kiw
(1 v R v )T bi
k kb kiJ w
T(q) q Kqg
Algoritmos de Determinación
36
36
siendo K una matriz 4x4 dada por la expresión
(3.32)
donde
(3.33)
(3.34)
T
23 32 31 13 12 21Z B B B B B B (3.35)
tr[B] (3.36)
Una vez determinada la nueva expresión de la función de ganancia el objetivo será obtener el máximo
de ésta. Para ello, se deriva respecto de la variable q ; sin embargo, dado que el cuaternión presenta una
ligadura que ha de ser cumplida, se deberá añadir esta restricción con un multiplicador de Lagrange a
la Ecuación 3.31, quedando una nueva expresión para la función de ganancia:
(3.37)
Derivando e igualando a cero, se demuestra que '(q)g presenta un extremo cuando
(3.38)
Esta ecuación se reconoce fácilmente como un problema de autovalores. Por lo tanto, la solución
óptima del problema de actitud será uno de los autovectores de la matriz K. La pregunta que se plantea
ahora es cuál de los cuatro autovectores es el correcto. Para responder a dicha cuestión habrá que
analizar qué autovalor corresponde a la solución óptima.
(3.39)
De la expresión 3.39 se puede deducir que el autovector correspondiente al mayor autovalor será el
que maximice la función de ganancia y, por tanto, solución del problema. Este autovector no es más
que el cuaternión a partir del cual se formará 𝑅𝑡.
[3]
S I ZK
Z
1
(v v )N
T
k kb ki
k
B w
TS B B
T T(q) q Kq λq qg
Kq = λq
T T Tg(q) q K q q λ q λ q q λ
37
37 Implementación y Análisis de Algoritmos de Control para la Determinación de la Actitud en Aeronaves
3.2.3.1 Implementación en MatLab/Simulink
Una vez más se presenta una visión del modelo implementado en Simulink. Todo el algoritmo, al igual
que se ha realizado con los anteriores, ha sido agrupado en un bloque principal de manera que se
pueden ver con claridad las entradas y salidas del sistema (Figura 3.14).
Figura 3.14 Esquema general algoritmo q-Method.
Una vez más, el sistema necesitará que se le proporcionen como entrada los vectores obtenidos de las
mediciones realizadas, con sus respectivas referencias, para calcular la matriz de rotación 𝑅𝑡, que será
almacenada en un archivo .mat.
En referencia a la estructura interna el algoritmo se agrupa en diferentes subsistemas, los cuales
realizan los cálculos oportunos para obtener los elementos que componen la matriz K, formar la matriz
K, resolver el problema de autovalores y determinar la matriz 𝑅𝑡 (Figura 3.15).
Figura 3.15 Estructura interna algoritmo q-Method.
Algoritmos de Determinación
38
38
El bloque o sistema base de este algoritmo “Cálculo B” permite determinar la matriz B a través de la
cual se construyen los elementos S, σ y Z. El esquema de éste se puede ver en la Figura 3.16. Recalcar
que, como se puede observar, se le ha asignado un valor 0.5 a cada uno de los pesos.
Figura 3.16 Esquema interno Bloque Cálculo B.
Los dos bloques siguientes “Cálculo S” y “Cálculo Z y sigma” permiten obtener las componentes de
la matriz K, la cual se construye en el bloque “Cálculo K” (Figuras 3.17, 3.18 y 3.19).
Figura 3.17 Estructura interna bloque Cálculo S.
39
39 Implementación y Análisis de Algoritmos de Control para la Determinación de la Actitud en Aeronaves
Figura 3.18 Diagrama interno bloque Cálculo Z y sigma.
Figura 3.19 Interior del bloque Cálculo K.
Algoritmos de Determinación
40
40
Finalmente en el sistema “Cálculo q” se determina el cuaternión necesario para formar la matriz de
rotación 𝑅𝑡 (Figura 3.20).
Figura 3.20 Interior Cálculo q.
Será en este bloque donde se aborde el problema de autovalores el cual, por simplicidad y rapidez, se
ha resuelto a través de una MatLab function. El código de esta función puede ser consultado en el
Anexo A de este trabajo.
Para finalizar, el último bloque usado por este algoritmo, Cálculo Rt, es un sistema que ya ha sido
utilizado y explicado anteriormente en otro método (Véase el Apartado 3.2.2.1).
3.2.4 QUEST
Hasta ahora se ha hecho referencia a dos métodos estadísticos de estimación de la actitud que usan
diferentes herramientas para obtener el mínimo de la función de Wahba. No obstante, no se ha
mencionado en ningún momento la complejidad de los algoritmos ni el coste computacional que
conllevan los cálculos numéricos que en ellos se desarrollan.
En este aspecto, el recién explicado q-Method vincula la solución a resolver un problema de
autovalores que, a pesar de ser un problema fácilmente resoluble en herramientas como MatLab,
supone un intenso procesamiento numérico.
Por otro lado, se debe de tener en cuenta que estos sistemas van a ser implementados en aeronaves en
las que existen unos requisitos muy estrictos. Es por ello que se hace necesaria la búsqueda de otros
métodos más eficientes de estimación de la actitud.
En este sentido aparece el algoritmo QUEST, el cual ofrece una forma alternativa de resolución del
problema de autovalores que supone un menor coste computacional.
La clave del algoritmo radica en que no se hace necesario resolver el problema de autovalores para
obtener el autovalor óptimo y su correspondiente autovector.
41
41 Implementación y Análisis de Algoritmos de Control para la Determinación de la Actitud en Aeronaves
Se parte de las siguientes expresiones de la función de pérdida y de la de ganancia:
(3.40)
T bi
k kb kig w v R v (3.41)
λoptg (3.42)
Combinando estas tres expresiones obtenemos
(3.43)
Dado que 𝐽 representa la suma de los errores cuadráticos de cada una de las mediciones, para el
autovalor óptimo se puede suponer que su valor será pequeño, pudiéndose aproximar el autovalor de
la siguiente manera:
(3.44)
Una vez hallada una expresión que permite estimar el autovalor se debe calcular el autovector
correspondiente. Una forma de hacerlo es reformular el problema en términos de los parámetros de
Rodrigues en lugar del cuaternión, definidos éstos como
(3.45)
obteniéndose esta nueva expresión para el problema de autovalores.
(3.46)
donde S, Z y σ están definidas en las Ecuaciones 3.33-3.36
Aunque en la expresión anterior (Ecuación 3.46) aparece una inversa, cuya obtención requiere un gran
coste computacional, su cálculo no es necesario ya que se pueden utilizar otros métodos como la
eliminación Gaussiana.
(1 v R v )T bi
k kb kiJ w
λopt kw J
λopt kw
4
qp a tan
2q
1p [(λ )1 S] Zopt
Algoritmos de Determinación
42
42
Por último, una vez encontrados los parámetros de Rodrigues, faltaría la determinación del cuaternión.
(3.47)
Es necesario mencionar que estos parámetros presentan una singularidad cuando la rotación es de
𝜋 radianes. No obstante, en la referencia [16], Shuster y Oh desarrollan un método de rotaciones
secuenciales para evitarla.
[3, 17]
3.2.4.1 Implementación en MatLab/Simulink
En la Figura 3.21 se observa el bloque general que agrupa al algoritmo. Como sus predecesores,
presenta las mismas entradas y la misma salida.
Figura 3.21 Diagrama general algoritmo QUEST.
T
p1q
11 p p
43
43 Implementación y Análisis de Algoritmos de Control para la Determinación de la Actitud en Aeronaves
Viendo la estructura interna (Figura 3.22) se puede advertir un esquema similar al Algoritmo
q-Method, debido a que ambos requieren del cálculo de S, Z y σ.
Figura 3.22 Estructura interna algoritmo QUEST.
No obstante, se pueden hallar, sobre todo en los pasos finales del algoritmo, una serie de diferencias.
Éstas se deben a que, como se ha visto previamente, este método no resuelve el problema de
autovectores. Por tanto, el apartado se centrará en dar una explicación de aquellos bloques que no
hayan sido utilizados antes.
El primero que se encuentra, Cálculo lambda óptimo, determina el autovalor óptimo mediante la
aproximación realizada en la Ecuación 3.44.
Unos de los bloques base de este algoritmo es “Cálculo Y” (Figura 3.24). Su función es calcular la
matriz Y [(λ )1 S]opt , necesaria para determinar los parámetros de Rodrigues (Ecuación 3.46).
Figura 3.23 Bloque Cálculo Y, estructura interna.
Algoritmos de Determinación
44
44
Seguidamente aparece el sistema “Cálculo p” que, valiéndose de la Ecuación 3.46, permite calcular
los parámetros de Rodrigues (Figura 3.25).
Figura 3.24 Bloque Cálculo p.
Hay que recordar que, a pesar de que el elemento “Divide” indique inv de Y, este bloque no calcula la
inversa de la matriz sino que aplica procedimientos aproximados de menor coste computacional.
Por último, una vez calculados los parámetros de Rodrigues es necesario obtener el cuaternión que
determinará la matriz Rt en el bloque “Cálculo de Rt”. Es por ello que se crea el sistema “Cálculo q”,
cuya estructura interna se puede ver en la Figura 3.26.
Figura 3.25 Sistema Cálculo q, estructura interna.
45
45 Implementación y Análisis de Algoritmos de Control para la Determinación de la Actitud en Aeronaves
3.2.5 Optimal Linear Attitude Estimator (OLAE)
Muchos de los algoritmos de estimación de la actitud han utilizado un elemento de cuatro
componentes, con su pertinente ligadura, para expresar la matriz de rotación. Sin embargo, en la
actualidad más reciente los métodos basados en la utilización de vectores de tres componentes han
adquirido mayor importancia debido a dos razones principales:
Permiten el desarrollo de algoritmos mucho más rápidos.
Usando el método de las rotaciones secuenciales se consigue, además de evitar la singularidad
geométrica, acercar al algoritmo a sus condiciones óptimas.
Ante esto, en este apartado se plantea un algoritmo que posibilita la resolución del problema de
estimación de la actitud, en tiempo real y en un único punto, con el uso de un vector de tres
componentes (el vector de Rodrigues o de Gibbs). Este método, a diferencia de los anteriores, usa un
criterio de optimización diferente al de Wahba; sin embargo, es capaz de alcanzar una precisión
comparable a la del resto de algoritmos que sí lo utilizan. Todo esto es posible gracias a la
transformación de Cayley, que permite la representación de la MCD mediante los parámetros de
Rodrigues.
La transformación de Cayley se basa en la aplicación de las siguientes expresiones:
(3.48)
e inversamente.
(3.49)
donde G es una matriz antisimétrica 3x3 expresada en función de las componentes del vector de
Rodrigues y C no es más que la matriz de rotación 𝑅𝑏𝑖, a la que se le ha cambiado la notación con el
fin de distinguirla de la obtenida mediante otro algoritmos.
(3.50)
1 1( )( ) ( ) ( )C I G I G I G I G
1 1( )( ) ( ) ( )G I C I C I C I C
3 2
3 1
2 1
0
[ ] 0
0
g g
G g g g
g g
Algoritmos de Determinación
46
46
Para el desarrollo del método se partirá de una expresión obtenida a partir de la Ecuación 3.13.
(3.51)
en la que se ha renombrado a los vectores vkb y vki como bi y ri, respectivamente, y a la matriz 𝑅𝑏𝑖
como C.
Usando el segundo término de la Ecuación 3.48 e introduciendo en la expresión 3.51:
(3.52)
Definiendo 𝑠𝑖 = 𝑏𝑖 + 𝑟𝑖 y 𝑑𝑖 = 𝑏𝑖 − 𝑟𝑖 se obtiene una expresión análoga a 3.51:
(3.53)
De esta manera se deduce que la matriz g puede sustituir a la matriz de actitud C. Además, dado
que g es una matriz resultado de un producto vectorial 3D, la Ecuación 3.53 puede ser reescrita
de la siguiente forma.
(3.54)
Cabe destacar que no todas las componentes de la Ecuación 3.54 son independientes. Esto sugiere que
el problema se puede simplificar tomando únicamente las dos componentes mayores del vector 𝑑𝑖(𝑘)
y descartando la tercera. Este hecho implica un aumento de velocidad en el algoritmo a cambio de una
pequeña pérdida de precisión.
i ib Cr
[ ]( ) ( )i i i ig b r b r
i ig s d
i is g d
47
47 Implementación y Análisis de Algoritmos de Control para la Determinación de la Actitud en Aeronaves
De ahora en adelante se utilizará la Ecuación 3.54 en lugar de la 3.51 por dos razones principales:
Las componentes del vector de Rodrigues (g) no tienen que satisfacer ninguna restricción. Esto
se deduce de la condición de ortogonalidad de una matriz ( TAA I ), que se sustituye en
matrices antisimétricas por 0TH H y que implica que los elementos de fuera de la
diagonal no deben cumplir ninguna restricción. En el caso de la matriz antisimétrica G, los
elementos fuera de la diagonal, y que por tanto no tienen que cumplir ninguna restricción, son
los parámetros de Rodrigues.
Los vectores 𝑠𝑖 y 𝑑𝑖 son ortogonales ( 0T
i is d ).
Debido a la existencia del ruido presente en los vectores obtenidos a partir de los sensores de medición,
la Ecuación 3.54 no va a poder ser satisfecha para todas las n medidas. Este ruido es introducido de la
siguiente manera:
(3.55)
Donde i=1,…, n, y 𝜈𝑖 es un ruido blanco Gaussiano. En consecuencia, todos los vectores de Rodrigues
dados se verán afectados por un error, que se obtiene mediante la siguiente expresión:
(3.56)
donde y i i i i i is b r d b r .
Esto permite introducir un nuevo criterio de optimización de la actitud de una aeronave. Así, la
estimación óptima de la actitud vendrá dada por el vector de Rodrigues que minimice la siguiente
función de coste cuadrática:
(3.57)
siendo ξ una matriz diagonal de pesos ξi = ξ (i, i), donde los pesos tienen que cumplir:
(3.58)
i i ib b
i i ie s g d
1
1 1( ) ( )
2 2
nT T
m i i i i i
i
L e e s g d s g d
1i
i
Algoritmos de Determinación
48
48
La Ecuación 3.57 puede ser reescrita de la siguiente manera:
(3.59)
y en consecuencia:
(3.60)
donde
(3.61)
Al no presentar el problema ninguna restricción la condición de minimización queda de la siguiente
manera:
(3.62)
De esta forma, la estimación optima del vector de Rodrigues, denotado por g , se calcula resolviendo
la siguiente ecuación:
(3.63)
1
1
1
2 ( ) ( )
( )
= 2
nT
m i i i i i
i
nT T T T
i i i i i i i i i
i
nT T T
i i i i i i i i i
i i i
L s g d s g d
g s s g g s d d s g d d
d d g s s g d s g
2T T
m mL c g M g v g
1
1 1 1, ,
2 2 2
nT T
i i i i i i m i i i
i i i
c d d v s d M s s
2 0mm
dLv M g
dg
mM g v
49
49 Implementación y Análisis de Algoritmos de Control para la Determinación de la Actitud en Aeronaves
Por su parte la matriz mM es real, simétrica y definida negativa para 𝑛 ≥ 2; lo que permite afirmar
que, tras calcular la segunda derivada de la función 𝐿𝑚 (Ecuación 3.64), la solución del método OLAE
será un mínimo de la función 𝐿𝑚.
(3.64)
Por último, como ya se vio en la subsección 3.2.4, una vez calculados los elementos del vector de
Rodrigues el cuaternión que define la matriz de orientación se determina según la Ecuación 3.47, que
reescrita en los términos usados en este algoritmo quedaría:
(3.65)
Como ayuda a la implementación del algoritmo, se va a proceder a mostrar una serie de relaciones
bastante útiles. Primeramente el vector v puede ser escrito como
(3.66)
mM se puede desarrollar de la siguiente manera:
(3.67)
Renombrando a los pesos i i la condición 3.58 queda:
(3.68)
2
2mmT
d LM
dgdg
ˆ
ˆ ˆ siendo q 1ˆ ˆ
TT
optT
qq g
q q
1 1 1
1
2
n n n
i i i i i i i i i i i
i i i
v b r b r r b b r
1 1 1 1
2 2 2n n n n
T T T T T
m i i i i i i i i i i i i i i
i i i i
M bb rr I b r rb I r b
1i
i
Algoritmos de Determinación
50
50
E introduciendo la matriz B y el vector z como sigue
(3.69)
se pueden reformular las ecuaciones 3.66 y 3.67 de la siguiente manera:
(3.70)
[18]
3.2.5.1 Implementación en MatLab/Simulink
Este sistema realiza las mismas funciones básicas que sus antecesores, es decir, a través de las medidas
determinadas por los sensores de actitud realiza una serie de procedimientos que tienen como
consecuencia la obtención de la matriz de rotación, la cual determina la actitud de la aeronave (Figuras
3.27 y 3.28).
Figura 3.26 Diagrama general algoritmo OLAE.
23 32
31 13
1 1
12 21
, n n
T T
i i i i i i
i i
B B
B b r z b r B B
B B
1
1 1tr 1
2 2
nT T T
m i i i i i
i
v z
M bb rr B B B I
51
51 Implementación y Análisis de Algoritmos de Control para la Determinación de la Actitud en Aeronaves
Figura 3.27 Esquema interno algoritmo OLAE.
Cabe destacar que, con el fin de obtener un esquema general igual al de los demás algoritmos, los pesos
no se han impuesto como una entrada principal del sistema, sino que, como se puede ver en la Figura
3.28, se introducen en los bloques en los que son requeridos mediante un vector.
En el modelo interno se pueden encontrar cuatro sistemas principales que se desarrollan a
continuación.
El primero de ellos obtiene la matriz mM usando la Ecuación 3.67. Como se puede observar en la
Figura 3.29 se encuentran cuatro subsistemas (T_1, T_2, T_3 y T_4) cada uno de los cuales calcula
los términos respectivos de dicha ecuación.
Figura 3.28 Diagrama interno bloque Cálculo M_m.
Algoritmos de Determinación
52
52
Los dos últimos bloques mostrados en la Figura 3.28 permiten, una vez hallados los parámetros de
Rodrigues a partir de la resolución de la Ecuación 3.63, calcular la matriz de actitud C, previo cálculo
de la matriz G.
Figura 3.29 Esquema bloque Cálculo G.
Figura 3.30 Esquema bloque Cálculo C.
53
4 RESULTADOS Y COMPARATIVA
lo largo de este trabajo se han desarrollado una serie de algoritmos que permiten, con mayor o
menor precisión, estimar la actitud de una aeronave. Para ello se sirven de una serie de
procedimientos cuya finalidad es la determinación de la matriz de rotación, 𝑅𝑏𝑖, la cual define
completamente la orientación del vehículo aéreo. En suma, cada uno de los métodos implementados,
usando diferentes herramientas y criterios, tiene como resultado la consecución de dicha matriz.
La precisión del método radicará en la desviación que presenten los resultados respecto de la matriz
de actitud exacta, 𝑅𝑒𝑥𝑎𝑐𝑡𝑏𝑖 . Por consiguiente, se tratará de encontrar diversas maneras de cuantificar el
error, o variación entre la solución obtenida y la precisa, que presentan los diversos programas
implementados.
De esta manera, tras realizar un análisis de las distintas formas de abordar esta cuestión se decide
aplicar los dos métodos siguientes:
Cálculo del valor de las funciones de pérdida respectivas a cada algoritmo.
Cálculo de la desviación que presenta la matriz D, resultado del producto entre la solución
obtenida y la correcta, 𝑅𝑚𝑒𝑡ℎ𝑜𝑑𝑏𝑖 ∙ 𝑅𝑒𝑥𝑎𝑐𝑡
𝑏𝑖 , respecto de la matriz identidad.
Para el primero de los casos se ha creado un modelo Simulink tanto de la función de pérdida de Wahba
como de la aplicada en el algoritmo OLAE en la referencia [18], Ecuaciones 3.14 y 3.57. La estructura
interna de ambos modelos puede ser consultada en los Anexos B y C.
Por otro lado, para la ejecución de la segunda opción elegida se ha programado una función MatLab,
“desviacion_solucion2”, que calcula la matriz D, anteriormente definida, determina la matriz A,
diferencia entre la matriz identidad 3x3 y la matriz D, y asigna a una variable denominada “error” el
valor absoluto de la mitad de la traza de la matriz A.
(4.1)
A
3
1tr I
2e D
Resultados y Comparativa
54
54
Esta expresión (4.1) permite cuantificar la desviación que presenta el ángulo de rotación total calculado
con respecto al exacto. El código puede ser consultado en el Anexo D.
En cuanto a la determinación de los resultados, se deciden implementar tres situaciones diferentes. Las
dos primeras, definidas por la misma rotación, difieren en el error que presenta la medición tomada
por el sensor. Por otro lado, con el fin de estudiar la singularidad que presentan algunos métodos en el
caso de que la rotación sea de π radianes, se ha optado por implementar en la tercera situación una
rotación cercana a dicho valor.
En base a esto se parte de dos vectores cuyas componentes en el sistema de referencia inercial son
conocidas:
1 2
0.2673 0.3124
0.5345 0.9370
0.8018 0.1562
i iv v
Estos valores han sido tomados de la referencia [3].
La actitud en cada uno de los casos viene definida por una rotación en torno a los ejes Z-X-Z de los
ángulos de Euler, que será de 30º para las dos primeras situaciones y de 179º para la tercera. Dicha
rotación está representada por las siguientes matrices de orientación:
0.5335 0.8080 0.2500 0.9999 2.6577 6 3.0459 4
(30º ) 0.8080 0.3995 0.4330 (179º ) 2.6577 6 0.9998 1.7450 2
0.2500 0.4330 0.8660 3.0459 4 1.7450 2 0.9999
bi bi
exact exact
e e
R R e e
e e
Si los sensores midiesen los vectores sin error se obtendría el siguiente resultado de las componentes
de los vectores 𝑣1 y 𝑣2 en ejes cuerpo:
1 2
1 2
0.7749 0.6296
0.3448 0.6944 (30º)
0.5297 0.3486
0.2675 0.3124
0.5484 0.9396 (179º)
0.7923 0.1399
exact exact
exact exact
b b
b b
v v
v v
55
55 Implementación y Análisis de Algoritmos de Control para la Determinación de la Actitud en Aeronaves
No obstante, dado que las mediciones de los sensores nunca son exactas se ha introducido un error
aleatorio distribuido uniformemente en los resultados anteriores.
En el caso de la rotación de 30º, que engloba dos situaciones diferentes se ha impuesto que los errores
deben estar comprendidos entre unos valores máximos de 5º y de 7º para el primer y el segundo
caso respectivamente. Por su parte, en la tercera situación el error será igual al de la primera situación
( 5º ). En base a esto, los resultados obtenidos son los siguientes:
1 1
2 2
3 3
1 2
1 2
1 2
0.7814 0.6163
0.3751 0.7075
0.4987 0.3459
0.7290 0.6624
0.2798 0.6907
0.6247 0.2900
0.2961 0.2703
0.5216 0
0.8001
b b
b b
b b
v v
v v
v v
.9469
0.1744
donde los subíndices 1 y 2 están referidos a la rotación de 30º con los errores comprendidos entre 5º
y 7º , respectivamente, y el tercer subíndice hace mención a la situación cercana a la singularidad.
Definidas las variables básicas del problema se puede dar paso a la obtención de los diferentes
resultados:
a) Se comenzará con el algoritmo determinista de estimación de actitud (Triad_algorithm), para
lo cual será necesario asumir que uno de los dos vectores es correcto. En este caso se ha
decidido que el vector exacto sea 𝑣1, arrojando los siguientes resultados:
1) Rotación de 30º con un error aleatorio uniformemente distribuido comprendido entre
5º .
0.5661 0.7801 0.2648
-0.7879 0.4175 0.4520
0.2416 -0.4647 0.8512
bi
triadR
(4.2)
0.9992 0.03806 0.0094
0.0378 0.9989 0.0268
0.0104 0.02645 0.9996
bi T bi
Triad exactR R
(4.3)
Resultados y Comparativa
56
56
Este algoritmo, al ser un método determinístico, no está basado en la minimización de una
función de pérdida. En consecuencia sólo se puede determinar el error mediante la segunda de
las opciones expuestas. Así, usando la función MatLab se determina el siguiente valor:
0.0017743539e (4.4)
2) Rotación de 30º con un error aleatorio uniformemente distribuido comprendido entre
7º .
0.4748 0.8620 0.1753
-0.8431 0.3883 0.3711
0.2514 -0.3242 0.9113
bi
triadR
(4.5)
0.9974 0.0621 0.0286
0.0651 0.9920 0.1029
0.0215 0.1047 0.9938
bi T bi
Triad exactR R
(4.6)
0.083940563e (4.7)
3) Rotación de 179º con un error aleatorio uniformemente distribuido comprendido entre
5º .
0.9990 0.0356 0.0121
0.0352 0.9988 0.0044
0.0127 0.0037 0.9994
bi
triadR
(4.8)
0.9991 0.0350 0.0130
0.0356 0.9985 0.0211
0.0117 0.0218 0.9992
bi T bi
Triad exactR R
(4.9)
0.0016094914e (4.10)
b) El siguiente algoritmo utiliza un método iterativo para converger a la solución del problema de
minimización. En consecuencia, conforme vayan sucediéndose las iteraciones se irá tendiendo
a una matriz de orientación cada vez más similar a la exacta.
57
57 Implementación y Análisis de Algoritmos de Control para la Determinación de la Actitud en Aeronaves
1) Rotación de 30º con un error aleatorio uniformemente distribuido comprendido entre
5º .
Tras seis iteraciones el método obtiene el siguiente resultado estable:
(4.11)
(4.12)
Dada la matriz, se puede calcular el error correspondiente mediante ambos métodos. Es
necesario matizar que 𝑒1 corresponderá al error obtenido a través de la función de pérdida,
mientras que 𝑒2 se asigna al error calculado mediante el segundo método.
(4.13)
2 0.00050094647e (4.14)
2) Rotación de 30º con un error aleatorio uniformemente distribuido comprendido entre
7º .
En este caso son necesarias siete iteraciones para converger al resultado.
0.4885 0.8515 0.1904
0.8343 0.3919 0.3877
0.2555 0.3483 0.9019
bi
Gauss NewtonR
(4.15)
0.9986 0.0492 0.0178
0.0505 0.9954 0.0810
0.0138 0.0818 0.9966
bi T bi
Gauss Newton exactR R
(4.16)
4
1 3.870905 10e (4.17)
2 0.0046898878e (4.18)
0.5569 0.7897 0.2574
0.7951 0.4172 0.4402
0.2402 0.4499 0.8602
bi
Gauss NewtonR
4
1 1.847720 10e
0.9996 0.02833 0.00296
0.02827 0.9996 0.01154
0.003309 0.01137 0.9999
bi T bi
Gauss Newton exactR R
Resultados y Comparativa
58
58
3) Rotación de 179º con un error aleatorio uniformemente distribuido comprendido entre
5º .
En este caso dos iteraciones son suficientes para que se converja a la solución.
0.9991 0.0385 0.0148
0.0384 0.9992 0.0091
0.0151 0.0086 0.9998
bi
Gauss NewtonR
(4.19)
0.9992 0.0379 0.0157
0.0383 0.9989 0.0259
0.0147 0.0265 0.9995
bi T bi
Gauss Newton exactR R
(4.20)
5
1 2.099908 10e (4.21)
2 0.0011869647e (4.22)
c) El q-Method es un algoritmo muy robusto que estima la actitud de la aeronave resolviendo el
problema de minimización de una manera elegante. Por tanto, los cálculos realizados
presentarán unos errores bastantes reducidos.
1) Rotación de 30º con un error aleatorio uniformemente distribuido comprendido entre
5º .
(4.23)
(4.24)
(4.25)
2 0.0005009467e (4.26)
0.5569 0.7897 0.2574
0.7950 0.4172 0.4402
0.2402 0.4499 0.8602
bi
q MethodR
4
1 1.847720 10e
0.9995 0.02837 0.003003
0.02827 0.9996 0.01154
0.003309 0.01137 0.9999
bi T bi
q Method exactR R
59
59 Implementación y Análisis de Algoritmos de Control para la Determinación de la Actitud en Aeronaves
2) Rotación de 30º con un error aleatorio uniformemente distribuido comprendido entre
7º .
0.4885 0.8515 0.1904
0.8343 0.3919 0.3877
0.2555 0.3483 0.9019
bi
q MethodR
(4.27)
0.9986 0.0492 0.0178
0.0505 0.9954 0.0810
0.0138 0.0818 0.9966
bi T bi
q Method exactR R
(4.28)
4
1 3.870905 10e (4.29)
2 0.0046898878e (4.30)
3) Rotación de 179º con un error aleatorio uniformemente distribuido comprendido entre
5º .
0.9991 0.0385 0.0148
0.0384 0.9992 0.0091
0.0151 0.0086 0.9998
bi
q MethodR
(4.31)
0.9992 0.0379 0.0157
0.0383 0.9989 0.0259
0.0147 0.0265 0.9995
bi T bi
q Method exactR R
(4.32)
5
1 2.099908 10e (4.33)
2 0.0011869647e (4.34)
d) Como ya se explicó en el apartado 3.2.4 de este trabajo, el algoritmo q-Method requiere
resolver un problema de autovalores para estimar la actitud de la aeronave. Esto implica un
alto coste computacional y, unido a las estrictas restricciones existentes en las aeronaves, hace
necesaria la búsqueda de un algoritmo más eficiente. En este sentido el algoritmo QUEST
implementaba un método que no necesitaba resolver el problema de autovectores y
autovalores. Los resultados obtenidos se muestran a continuación.
Resultados y Comparativa
60
60
1) Rotación de 30º con un error aleatorio uniformemente distribuido comprendido entre
5º .
(4.35)
(4.36)
(4.37)
2 0.00050614094e (4.38)
2) Rotación de 30º con un error aleatorio uniformemente distribuido comprendido entre
7º .
0.4889 0.8513 0.1905
0.8342 0.3925 0.3874
0.2550 0.3483 0.9020
bi
QUESTR
(4.39)
0.9987 0.0487 0.0181
0.0500 0.9955 0.0811
0.0141 0.0819 0.9965
bi T bi
QUEST exactR R
(4.40)
4
1 3.871673 10e (4.41)
2 0.0046801266e (4.42)
3) Rotación de 179º con un error aleatorio uniformemente distribuido comprendido entre
5º .
0.9992 0.0379 0.0141
0.0377 0.9992 0.0154
0.0147 0.0149 0.9998
bi
QUESTR
(4.43)
0.9992 0.0375 0.0150
0.0379 0.9988 0.0323
0.0138 0.0329 0.9994
bi T bi
QUEST exactR R
(4.44)
0.5571 0.7895 0.2574
0.7950 0.4174 0.4401
0.2400 0.4498 0.8603
bi
QUESTR
4
1 1.847857 10e
0.996 0.0258 0.002882
0.02853 0.9995 0.01143
0.003196 0.01135 0.9999
bi T bi
QUEST exactR R
61
61 Implementación y Análisis de Algoritmos de Control para la Determinación de la Actitud en Aeronaves
5
1 3.904328 10e (4.45)
2 0.0013472322e (4.46)
e) Los últimos resultados proceden del método OLAE, del cual hay que destacar que utiliza otro
criterio de optimización distinto al de Wahba.
1) Rotación de 30º con un error aleatorio uniformemente distribuido comprendido entre
5º .
(4.47)
(4.48)
(4.49)
2 0.00055544835e (4.50)
2) Rotación de 30º con un error aleatorio uniformemente distribuido comprendido entre
7º .
0.4876 0.8524 0.1889
0.8356 0.3928 0.3841
0.2532 0.3451 0.9038
bi
OLAER
(4.51)
0.9986 0.0495 0.0207
0.0510 0.9951 0.0843
0.0164 0.0852 0.9962
bi T bi
OLAE exactR R
(4.52)
4
1 4.545305 10e (4.53)
2 0.0050409785e (4.54)
0.5580 0.7886 0.2583
0.7942 0.4171 0.4419
0.2407 0.4517 0.8591
bi
OLAER
4
1 2.072747 10e
0.9996 0.02931 0.004071
0.02924 0.9995 0.01339
0.004451 0.01327 0.9999
bi T bi
OLAE exactR R
Resultados y Comparativa
62
62
3) Rotación de 179º con un error aleatorio uniformemente distribuido comprendido entre
5º .
0.9993 0.0275 0.0263
0.0272 0.9996 0.0118
0.0266 0.0110 0.9996
bi
OLAER
(4.55)
0.9993 0.0268 0.0268
0.0275 0.9992 0.0285
0.0260 0.0292 0.9992
bi T bi
OLAE exactR R
(4.56)
1 0.364658e (4.57)
2 0.00113299e (4.58)
Una vez hallados los resultados y sus correspondientes errores se está en disposición de realizar un
análisis de los métodos implementados. Para ello, se van a utilizar una serie de parámetros
característicos de los algoritmos (precisión, coste computacional, robustez, tiempo de computación y
complejidad) que van a permitir establecer diferencias entre ellos, en torno a las cuales se elaborará el
estudio comparativo.
Con el fin de facilitar este estudio se han realizado dos tablas que agrupan los errores que presentan
los diferentes algoritmos ante las tres situaciones implementadas.
Tabla 4.1 Errores 1e de los diversos métodos.
Algoritmos 30º 179º
5º 7º 5º
Triads - - -
Gauss-Newton 1.847720e-4 3.870905e-4 2.099908e-4
q-Method 1.847720e-4 3.870905e-4 2.099908e-4
QUEST 1.847857e-4 3.871673e-4 3.904328e-5
OLAE 2.072747e-4 4.545305e-4 0.364658
63
63 Implementación y Análisis de Algoritmos de Control para la Determinación de la Actitud en Aeronaves
Tabla 4.2 Errores 2e de los diversos métodos.
Algoritmos 30º 179º
5º 7º 5º
Triads 0.00177435 0.00839405 0.00160949
Gauss-Newton 0.00050095 0.00468989 0.00118696
q-Method 0.00050095 0.00468989 0.00118696
QUEST 0.00050613 0.00468012 0.00132723
OLAE 0.00055545 0.00504098 0.00113299
No se debe comenzar con el análisis sin antes tener una idea clara de lo que representan cada uno de
los errores calculados.
Como se mencionó al comienzo del capítulo, 1e equivale al valor obtenido al calcular la función de
pérdida, es decir, representa la diferencia existente entre el vector de referencia y el vector rotado. En
base a esto se puede decir que no es un parámetro que indique la precisión de la matriz de rotación
determinada. No obstante, esta variable permite localizar aquellas situaciones en las que se presenta
una singularidad, como se puede observar en la Tabla 4.1 en la que el error del método OLAE se
dispara cuando nos aproximamos a la rotación de 180º.
Por otro lado se encuentra la variable 2e , que cuantifica la diferencia existente entre el valor del ángulo
de rotación global hallado y el exacto. Es por ello que podrá ser utilizada para establecer la precisión
que presenta la matriz de orientación calculada y, en consecuencia, la exactitud del algoritmo utilizado
en su determinación.
Tras las aclaraciones realizadas se puede comenzar con la comparativa de cada uno de los métodos.
En ese sentido, el algoritmo Triads presenta los mayores errores calculados. Esto era de esperar ya que
es el único método determinista implementado y, por tanto, descarta parte de la información, con la
consecuente pérdida de precisión. Por este motivo el análisis se centrará en los métodos estadísticos
de determinación de actitud, que consiguen precisiones bastante mejores ya que utilizan la totalidad
de la información.
Entre éstos se puede observar que los métodos basados en el criterio de Wahba presentan precisiones
muy similares. Esto es obvio dado que minimizan la misma función de pérdida y, en consecuencia, el
error determinado, a expensas de pequeñas desviaciones debidas a imprecisiones en los cálculos, debe
ser idéntico. No obstante, existen otros parámetros comparativos que dependen de los procedimientos
usados para la obtención del resultado y en los que sí se pueden hallar ciertas diferencias.
Resultados y Comparativa
64
64
En esta línea, la implementación del algoritmo basado en el método de Gauss-Newton, pese a no ser
un algoritmo complejo, conlleva un alto tiempo de computación. La razón de ello reside en que, al ser
un método iterativo, debe realizar el mismo procedimiento el número de veces necesarias hasta
converger a la solución (en el ejemplo aquí desarrollado se han tenido que realizar entre seis y ocho
iteraciones dependiendo de la situación). Esto implica que, si se dispone de una gran cantidad de
medidas, el método se ralentice mucho.
Frente a éste se encuentra el q-Method, que se presenta como un algoritmo muy robusto y que estima
resultados con bastante precisión. No obstante, como ya se mencionó anteriormente, la solución queda
supeditada a la resolución de un problema de autovalores y autovectores, el cual conlleva un gran nivel
de computación que no se puede permitir a bordo de una aeronave.
Aparece, siguiendo una línea parecida al q-Method, el algoritmo QUEST, que plantea una opción más
“barata”, computacionalmente hablando, de estimar la solución del problema de autovalores y
autovectores sin pérdida de la precisión. Además, al tratar el problema en términos de los parámetros
de Rodrigues se reduce el tiempo de computación, convirtiéndose en el algoritmo más rápido de los
tres hasta ahora tratados.
Por último se presenta el Algoritmo OLAE, que utiliza un criterio sin restricciones y distinto al
propuesto por Wahba para obtener una solución cercana a la real del problema de estimación de actitud.
Obviamente, el error es superior al de los anteriores métodos, dado que la mayor precisión la obtienen
aquellos algoritmos basados en la función de Wahba. No obstante, la solución ofrecida presenta unas
diferencias bastante pequeñas, y esto, unido a que el método presenta buena robustez y alta velocidad
de procesamiento, hace del algoritmo un buen candidato para ser implementado en una situación real.
Dado que los dos últimos algoritmos son los más favorables para ser utilizados en situaciones prácticas,
se han adjuntado dos gráficas, obtenidas de las referencias [14, 18], en las que se facilitan datos
numéricos de los métodos OLAE y QUEST, entre otros, y que permiten realizar una comparación
entre ambos.
65
65 Implementación y Análisis de Algoritmos de Control para la Determinación de la Actitud en Aeronaves
Figura 4.1 OLAE y QUEST precisión estimada.
Figura 4.2 Carga computacional.
Resultados y Comparativa
66
66
En la Figura 4.1 se compara la precisión de los algoritmos mediante dos procedimientos: error medio
que presentan los diferentes ángulos frente a la intensidad del ruido en la medición (Figura 4.1 a.) y
desviación estándar que presentan los ángulos en función de dicha intensidad (Figura 4.2 b.). En el
primero de los casos se puede ver cómo ante intensidades muy pequeñas ambos métodos obtienen una
precisión muy similar. No obstante, al ir aumentado la intensidad se alcanza un punto en el que la
mayor robustez del algoritmo QUEST hace que consiga una estimación más precisa que el algoritmo
OLAE.
Algo similar ocurre en la Figura 4.2 b. en la que se puede observar cómo ambos métodos muestran
desviaciones casi idénticas excepto cuando se presentan situaciones en las que el ruido de la medición
es importante y donde la robustez del método adquiere una gran importancia. En base a esto se puede
ver cómo el algoritmo QUEST, una vez más, obtiene una menor desviación, lo que implica mayor
precisión.
Por otro lado, en la Figura 4.2 se puede ver una comparación del coste computacional entre los métodos
QUEST, OLAE y un algoritmo no desarrollado durante este trabajo, IRQE. Al contrario que ocurría
anteriormente el algoritmo OLAE presenta mejores resultados que el QUEST, dado que realiza un
menor número de multiplicaciones y esto se traduce en una menor carga computacional.
Así pues, la robustez que presenta el método QUEST conlleva un aumento de los cálculos necesarios
para obtener la solución, y esto se traduce en un mayor coste computacional.
67
5 CONCLUSIONES
ras el desarrollo de cada uno de los algoritmos, la consecución de los resultados respectivos y el
análisis comparativo realizado se pretende dar el cierre a este trabajo ofreciendo un criterio que
permita decidir sobre qué métodos implementar en una situación real, y determinando, en base a esta
pauta, cuál de los aquí tratados podría integrarse en una aeronave.
Partiendo de la premisa de que existen numerosos parámetros que definen las características de un
algoritmo es evidente que se hace imposible imponer un criterio de selección en el que se tenga en
cuenta a cada uno de ellos. Por tanto, será necesario escoger, de entre todos, los más importantes.
Considerando que el desarrollo de todos los métodos de estimación de actitud tiene como claro fin ser
implementados en aeronaves, es más que evidente que la elección de los parámetros estará supeditada
a las restricciones a las que está sometido todo vehículo aéreo.
Además, no hay que olvidar que los algoritmos deben ser integrados en un dispositivo físico capaz de
soportar la carga computacional que éstos conllevan, es decir, el algoritmo deberá tener una
complejidad limitada para poder ser programado en alguno de los microprocesadores disponibles en
la actualidad.
En base a todo esto se decide imponer un criterio que se fundamente en el análisis de la robustez, la
velocidad, la complejidad computacional y, por supuesto, la precisión del algoritmo. La precisión del
método será prioritaria frente a los demás parámetros. No obstante, llegados al caso de que el error
sea suficientemente pequeño, se hará necesario centrar el análisis en otros aspectos. Es en este punto
donde alcanzan una mayor importancia la complejidad computacional, la velocidad y, en segunda
instancia, la robustez, dado que es una variable que adquiere importancia en situaciones en las que la
intensidad del ruido en las señales es alta, y que para su mejora se requiere un aumento considerable
del coste computacional.
En consecuencia, cualquier algoritmo de control destinado a la implementación en una aeronave
deberá presentar un bajo tiempo de computación acompañado de la menor complejidad posible, y todo
esto sin que se produzca pérdida de la precisión.
T
Conclusiones
68
68
En consecuencia, en base al análisis realizado se puede concluir que tanto el algoritmo QUEST como
el OLAE presentan alta precisión, alta velocidad y una robustez suficiente. Además, el bajo coste
computacional y la baja complejidad que muestran permiten su implementación en una gran cantidad
de microprocesadores existentes, incluyendo microprocesadores sencillos como los ARM.
Concluyendo, los dos métodos anteriormente mencionados presentan las características necesarias
para ser integrados en una aeronave, con las restricciones que ello conlleva, así como para ser
implementados en una amplia gama de microcontroladores actuales. Esto hace de estos dos algoritmos
una herramienta potencial para ser utilizada en una situación práctica.
69
6 LÍNEAS FUTURAS
Ampliación del estudio comparativo con algoritmos creados recientemente.
Ampliación del análisis a casos con mayor número de observaciones.
Realización de un análisis comparativo entre los datos experimentales obtenidos y datos reales
de una aeronave.
Integración de los algoritmos en un microprocesador actual para su aplicación en casos reales.
Integración de los modelos en nuevas tecnologías para su validación.
Combinación de los modelos para el diseño de nuevos métodos de determinación de actitud.
Líneas Futuras
70
70
71
REFERENCIAS
[1] D. Mortari y F. Landis Markley, «How to Estimate Attitude from Vector Observations,» de AAS/AIAA
Astrodynamics Specialist Conference, Girdwood, Alaska, 1999.
[2] D. Comotti, «Orientation Estimation Based on Gauss-Newton Method and Implementation of a
Quaternion Complementary Filter».
[3] C. D. Hall, «Attitude Determination,» de Spacecraft Attitude Dynamics and Control, January 12, 2003,
pp. 4.1 - 4.23.
[4] R. Vázquez Valenzuela, «Control y Determinación de la Actitud,» de Vehículos Espaciales y Misiles,
Sevilla, 2012.
[5] A. Ollero, «Estimación y Sensores de Navegación,» de Vehículos Aéreos No Tripulados, Sevilla, 2012.
[6] M. Navarro Bernal, «Web de Manuel Navarro Bernal,» 2012. [En línea]. Available:
http://www.ual.es/~mnavarro/Tema3Dinamicasolidorigido.pdf. [Último acceso: Agosto 2015].
[7] M. Á. Martín Prats, «Sensores,» de Aviónica y Sistemas de Ayuda a la Navegación, 2013.
[8] R. Arieli, «Lasers and Their Applications,» [En línea]. Available:
http://stwww.weizmann.ac.il/lasers/laserweb/Ch-9/F9s6t2p1.ht. [Último acceso: Agosto 2015].
[9] W. Segura González, «El efecto Sagnac y el gravitomagnetismo,» de Gravitoelectromagnetismo y
Principio de Mach, 2013, pp. 197-198.
[10] M. España, «Facultad de Inegniería de la Univerisdad de Buenos Aires,» [En línea]. Available:
http://laboratorios.fi.uba.ar/lscm/espana/apuntes/CLASE0.pdf. [Último acceso: Agosto 2015].
[11] M. Arenas Mas, Diseño e Implementación de un Sistema de Adquisición de Aceleraciones con
Procesamiento Mediante Microcontrolador, Sevilla, 2008.
[12] S. García García, Diseño y Construcción de un Magnetómetro Triaxial para Análisis y Experimentación
de Aislamientos Magnéticos, Leganés, 2013.
72
72
[13] R. Vázquez Valenzuela, «Introducción a la Dinámica y Control de la Actitud y al Sistema de Control y
Estimación de la Actitud,» de Vehículos Espaciales y Misiles, Sevilla, 2014, pp. 29-31.
[14] Y. MIao, «Discussions on the Loss Functions of Attitude,» 2008.
[15] E. Kroeker, Attitude Determination and Control, 2011.
[16] M. D. Shuster y S. D. Oh, «Three-Axis Attitude Determination from Vector Observations,» New York,
1981.
[17] I. Y. Bar-Itzhack y Y. Oshman, «Attitude Determination from Vector Observations: Quaternion
Estimation,» 1984.
[18] D. Mortari, F. L. Markley y P. Singla, «Optimal Linear Attitude Estimator,» 2007.
73
ANEXOS
Anexo A Código función cuaternión
function q = cuaternion(K)
[x,d]=eig(K);
[~,i] = max(diag(d));
q1=x(1:4,i);
q=real(q1);
end
Anexos
74
74
Anexo B Modelo Simulink función de pérdida de Mortari
Figura 0.1 Estructura interna modelo función de perdida de Mortari.
Figura 0.2 Esquema interno bloque Cálculo c.
Figura 0.3 Esquema interno bloque Cálculo T_2.
75
75 Implementación y Análisis de Algoritmos de Control para la Determinación de la Actitud en Aeronaves
Figura 0.4 Esquema interno bloque Cálculo T_3.
Anexos
76
76
Anexo C Modelo Simulink función de pérdida de Wahba.
Figura 0.5 Estructura interna modelo función de pérdida de Wahba.
77
77 Implementación y Análisis de Algoritmos de Control para la Determinación de la Actitud en Aeronaves
Anexo D Código función desviacion_solucion
function error=desviacion_solucion2(R_bi,R_exact)
D = R_bi'*R_exact;
A=eye(3)-D;
error= abs(1/2*trace(A));
end
Anexos
78
78
79
GLOSARIO
GEO: Geostationary Earth Orbit (órbita geoestacionaria) 20, 67
IMT: Intensidad Magnética Total 11
LEO: Low Earth Orbit (órbita baja terreste) 20, 67
MCD: Matriz de Cosenos Directores. 30
SQUID: Superconducting Quantum Interference Devices (Dispositivos Superconductores de Interferencia
Cuántica). 11