Bernadi
Bernadi
Facultad de Ingeniería
Marzo de 2013
Índice general
1. Introducción 6
1.1. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.6.4. Cuaterniones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.6.5. Discusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.1.1. Giróscopos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.1.2. Acelerómetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3
4 Índice general
[Link]. Determinación de Tl , Tm y Ts . . . . . . . . . . . . . . . . . . . . . . . 39
3. Estimación de Errores 46
3.1. Filtro de Kalman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.4.2. Implementación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4. Navegación Integrada 69
4.1. Corrección de Variables de Navegación . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.1.1. Actitud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.2.3. Alineación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Introducción
1.1. Objetivos
El objeto de esta tesis es diseñar un sistema de navegación para el vuelo de un cohete suborbital
que cumpla con los requerimientos impuestos por los sistemas de guiado y control. Un sistema de
navegación provee información de la posición, velocidad y orientación del vehículo, datos que en este
caso deben ser calculados en tiempo real. La calidad de la información de navegación debe ser tal
que, en conjunto con los sistemas de guiado y control, garantice un buen seguimiento de la trayectoria
prevista.
de sus partes. Es por esto que otro de los requerimientos impuestos es el del bajo costo de los sistemas.
En este contexto surge el problema de lograr una calidad de navegación aceptable con sensores de
performance moderada.
El 4 de octubre de 1957 una adaptación del misil intercontinental de dos etapas R-7 puso en órbita
el Sputnik-1, primer satélite articial, dando inicio a la Era Espacial. Este vehículo constituye el primer
lanzador satelital, y, con la carrera espacial como motor principal, se han desarrollado muchos desde
entonces. El lanzador Soyuz desciende de esta familia de cohetes rusos, aunque con mayor capacidad
Los Estados Unidos respondieron a este evento, entre otras cosas con el desarrollo de cohetes basados
en el misil Thor, que se adaptó para hacer pruebas con cargas satelitales. Se realizaron desarrollos
con distintas etapas de propulsión, llamando a la cuarta Thor-Delta. Eventualmente, esta serie de
vehículos llegó a conocerse simplemente como Delta. El vehículo Delta II fue diseñado especícamente
6
1.3. Navegación Integrada 7
para poner en órbita los satélites GPS del bloque II, utilizándose luego para diversas misiones. En la
segunda etapa de este vehículo se encuentra el sistema de navegación inercial, capaz de calcular su
En la década del 70, Europa tomó la decisión de ingresar en el mercado de los lanzadores satelitales,
dando nacimiento al programa Ariane por medio de la ESA (European Space Agency). Entre 1988 y
2003 el Ariane-4 capturó el 50 % del mercado de lanzamientos comerciales, llevando cargas de hasta
7.500kg a órbitas bajas y de hasta 4.300kg a órbitas GTO (Geostationary Transfer Orbit).
En latinoamérica, Brasil es el país más avanzado en materia de lanzadores. Se han realizado varias
pruebas desde 1984, siendo el VLS-1 el actual foco de atención. Es un cohete de tres etapas, que
será capaz de llevar cargas de hasta 340kg a órbitas bajas. En la Argentina, el Plan Espacial Nacional
llevado a cabo por la Comisión Nacional de Actividades Espaciales (CoNAE) contempla diversos cursos
de acción para su concreción. Uno de estos es el Acceso al Espacio, que comprende las acciones que se
realicen con el objetivo de permitir la colocación en órbita de los satélites incluídos en el Plan Espacial
Existen actividades que tienen el objetivo de incrementar el conocimiento en el área de los lanzadores
satelitales. En particular se menciona el proyecto Tronador, cuya segunda fase (vehículo Tronador II)
es un lanzador satelital multietapa de cargas livianas. En el marco del desarrollo de tecnología con
miras a la construcción de dicho lanzador, se están contruyendo una serie de vehículos experimentales
El VEX-1 es un cohete experimental desarrollado por la CoNAE que utiliza combustible líquido y
mide 13m de altura y 1m de diámetro. Para corregir la trayectoria, se controla la dirección de la tobera,
técnica conocida como control del vector de empuje (TVC, por sus siglas en inglés). Para la navegación,
se cuenta con una unidad de mediciones inerciales (IMU) que provee información de velocidad angular
y fuerza especíca, y con un receptor GPS que provee datos de posición y velocidad.
óptima de sistemas dinámicos lineales en presencia de ruido blanco, lo que dio en llamarse Filtro de
Kalman. El enfoque recursivo y desde la óptica del espacio de estados llamó la atención de ingenieros
alrededor del mundo, y las aplicaciones crecieron exponencialmente, llegando a los campos de teoría
otros.
Luego de la publicación de su trabajo, Kalman fue contactado por el jefe de la División de Análisis
trayectorias para enviar astronautas a la Luna y de regreso [11]. Estos trabajos pasaron luego a formar
parte de las misiones Apollo. Se habían vislumbrado las ventajas que ofrecía el ltro de Kalman
la toma de mediciones, ya que podían pasar horas antes de que un determinado sensor suministrar
información. Otras contribuciones de este equipo de trabajo consisten en el desarrollo del Filtro de
Kalman Extendido, junto con análisis de Monte Carlo que demostraban que las alinealidades del modelo
no contribuían más allá de los márgenes de error considerados. Muchos de los resultados obtenidos
fueron rápidamente compartidos, entre otros, con universidades como el MIT, que en 1961 ganó el
concurso para diseñar los sistemas de guiado y navegación para las misiones Apollo. A partir de ese
No pasó mucho tiempo hasta que se notó que el ltro de Kalman era útil en sistemas de navegación
inerciales donde existen errores instrumentales variables en el tiempo que deben ser identicados,
así como incertidumbres en el estado inicial. Además, la matriz de covarianza del ltro de Kalman
relacionaba la performance de los sensores con la del navegador naturalmente. En este contexto y con
el ltro de Kalman como base nació la fusión de datos de diversos sensores, principalmente inerciales
y de radar. El avión C-5A fue el primero en contar con un sistema de navegación integrado. Desde
entonces, diversas fuentes de datos se han utilizado para corregir los errores cometidos por el sistema
de navegación inercial (INS), tales como barómetros para estabilizar el error vertical, o magnetómetros
o star trackers para corregir la orientación o actitud del vehículo. Las combinaciones son enormes, lo
Con el surgimiento del Sistema de Posicionamiento Global (GPS) en la década del 90, se tuvo
relativo a los satélites GPS en vista. Esto dio origen a sistemas de navegación INS/GPS, clasicados
generalmente como débilmente acoplados y fuertemente acoplados. Los primeros utilizan la información
de posición y velocidad calculados por el receptor, mientras que los segundos utilizan directamente las
sos tipos de sensores, incrementando la robustez y precisión de la información provista. Las mediciones
de una Unidad de Mediciones Inerciales son independientes de las condiciones ambientales, poseen una
1.4. Desarrollo 9
alta tasa de muestreo, pero debido a errores instrumentales el error que surge de navegar sus datos
crece indenidamente. Por otro lado, los sistemas de navegación satelitales tienen la ventaja de poseer
errores acotados, pero con una fuerte dependencia de las condiciones externas al vehículo y una baja
datos con un error acotado y a una alta frecuencia, con tolerancia a condiciones ambientales adversas.
Estas características han motivado el diseño de sistemas de navegación de buena calidad a un costo
mucho menor debido a la relajación en los requerimientos de los sensores. Sin embargo, la desventaja
computacional.
1.4. Desarrollo
mismo se han realizado otras tesis relacionadas con la navegación integrada INS/GPS con aplicaciones
fusiona información de una IMU, un receptor GPS, un sensor solar grueso y un sensor de horizonte.
Por otro lado, en dicho trabajo se desarrolla un sistema de navegación inercial que fue el utilizado en la
navegación del cohete sonda VS30, lanzado el 16 de Diciembre de 2007. En [4] se propone un sistema
de navegación integrado INS/GPS para la navegación del VS30, utilizando datos reales del vehículo
En este trabajo, además de exponer las bases teóricas del algoritmo de navegación integrado, se
del retardo en los datos del receptor GPS. Un aspecto importante de este trabajo es el de la presentación
de resultados obtenidos de un simulador de vuelo que utiliza el navegador integrado como base para el
sistema de guiado. Asimismo, se midieron los tiempos de ejecución del algoritmo de navegación sobre
y el tipo de datos de salida que se necesiten, se puede elegir uno u otro, cada uno con sus respectivas
ventajas y desventajas. Se describen en esta sección los sistemas de referencia más comunes, de los que
surgirán las respetivas ecuaciones a resolver para poder realizar la navegación del vehículo.
Se denen a continuación algunos parámetros que resultan útiles a la hora de construir los sistemas
de referencia:
Longitud (λ): coordenada geográca que especica la posición de un punto sobre la supercie
del elipsoide de referencia respecto de la dirección Este-Oeste. Es una medida angular, y por
Vertical Local Geodésica: vector normal al plano tangente en un punto del elipsoide de refer-
encia. Si se extiende una recta con esta dirección desde la supercie del elipsoide hasta el plano
del ecuador, no pasará por el centro de masa de la tierra, a diferencia de la vertical geocéntrica,
que si lo hace.
supercie del elipsoide de referencia en la dirección Norte-Sur. El ángulo Φ se mide respecto del
Altura Geodésica (h): Altura medida respecto de un punto del elipsoide de referencia en la
entre ellos. La terna ECI (Earth-Centered Inertial) se encuentra centrada en la tierra y no está sometida
a rotación alguna. El eje x tiene la dirección del equinoccio vernal y el eje z coincide con el eje de rotación
de la tierra, mientras que el eje y completa la terna dextrógira, deniendo un sistema de coordenadas
superíndice i indica la terna ECI. Asimismo, la velocidad se expresa como [ vxi vyi vzi ].
1.5. Sistemas de Referencia 11
donde el eje z coincide con el eje de rotación de la tierra, el eje x coincide siempre con el meridiano
de Greenwich a la altura del ecuador, y el eje y completa la terna dextrógira. Debido a la rotación
que experimenta este sistema, no es inercial, lo que dará origen a fuerzas aparentes actuando sobre
sistema de coordenadas ECEF se expresan como los vectores [ xe y e z e ] y [ vxe vye vze ]. La terna
de referencia ECEF tiene un interés particular, ya que el Sistema de Posicionamiento Global provee
local. Los ejes horizontales xg e yg apuntan en las direcciones Este y Norte, respectivamente, mientras
que el eje vertical zg apunta en la dirección de la vertical geodésica (Up), por lo que se lo denomina
ENU (East-North-Up). La posición de un punto viene dada por su latitud geodésica, longitud y altura
geodésica: [ Φ λ h ]. Una variante para esta terna es denir los ejes en las direcciones NED (North-
East-Down).
12 Capítulo 1. Introducción
encia. En esta sección se da un breve resumen de estos métodos de representación, y luego se discuten
por ahora se considerará genérica. La matriz de cosenos directores es una matriz de dimensión 3 × 3,
cuyas columnas representan versores del cuerpo proyectados sobre la terna de navegación. El elemento
cij de la matriz es el coseno del ángulo entre el eje i de la terna n y el eje j de la terna b. La
vn = Cnb vb (1.1)
Una propiedad interesante de las matrices de rotación es que son matrices unitarias y determinante
CT = C−1 (1.2)
1.6. Representaciones de Actitud 13
vb = Cbn vn (1.3)
donde ω bnb es la velocidad angular de b respecto de n, expresada en coordenadas b. S() es una
función de R3 en el conjunto de las matrices antisimétricas tal que
0 −a3 a2 b1
a × b = S(a)b = a
3 0 −a 1 b2
(1.7)
−a2 a1 0 b3
y que permite convertir el producto vectorial en el producto de una matriz y un vector. Cumple además
con la propiedad
de rotación
0
Cnb = Cnn0 Cnb (1.9)
dene el eje de rotación. Este ángulo vectorial es invariante ante la rotación entre las ternas b y n,
y su módulo dene el ángulo rotado. Si θ bn es el ángulo vectorial entre las ternas b y n, su relación
con la matriz de rotación es
tr(Cnb ) − 1
kθ nb k = arc cos (1.11)
2
lo que permite encontrar la relación del eje de Euler con la matriz de cosenos directores según [8]
c32 − c23
θ̆nbx = (1.12)
2 sin kθ nb k
14 Capítulo 1. Introducción
c13 − c31
θ̆bny = (1.13)
2 sin kθ nb k
c21 − c12
θ̆bnz = (1.14)
2 sin kθ nb k
De estas ecuaciones se desprende que existe una singularidad para sin kθ nb k = 0. Aunque es posible
encontrar el eje a pesar de esto, su cálculo no resulta sujeto a estas ecuaciones, lo que diculta su uso
en un algoritmo.
La ecuación que describe la variación del ángulo vectorial es la llamada ecuación del coneo, derivada
1 1 kθ bn (t)k sin (kθ bn (t)k)
θ̇ bn (t) = ω bnb (t) + b
θ bn (t) × ω nb (t) + 1 − θ bn (t) × θ bn (t) × ω b
nb (t)
2 kθ bn (t)k2 2 (1 − cos(kθ bn (t)k))
(1.15)
y reproducida en [8], que al ser integrada da el ángulo vectorial rotado en el intervalo de tiempo
considerado.
donde ψ, θ y φ son los llamados ángulos de Euler, y θ es distinto al ángulo vectorial θ nb . Generalmente,
se asocia los ejes x, y y z con ejes del vehículo, por lo que los ángulos de Euler describen la orientación
del mismo. Por esta razón, se denomina a los ángulos ψ Yaw (rumbo), θ Pitch (elevación o cabeceo),
y φ Roll (rolido). Estas rotaciones pueden expresarse independientemente mediante sus matrices de
cosenos directores:
cos ψ sin ψ 0
1. Rotar un ángulo ψ alrededor del eje z : C1 = − sin ψ cos ψ 0
0 0 1
cos θ 0 sin θ
2. Rotar un ángulo θ alrededor del eje y : C2 = 0 1 0
− sin θ 0 cos θ
1 0 0
3. Rotar un ángulo φ alrededor del eje x: C3 = 0 cos φ sin φ
0 − sin φ cos φ
1.6. Representaciones de Actitud 15
Componiendo estas rotaciones se obtiene la matriz de cosenos directores expresada en función de los
ángulos de Euler:
1 0 0 cos θ 0 sin θ cos ψ sin ψ 0
C3 C2 C1 =
0 cos φ sin φ
0 1 0 − sin ψ cos ψ 0
(1.16)
0 − sin φ cos φ − sin θ 0 cos θ 0 0 1
cos θ cos ψ cos θ sin ψ − sin θ
=
− cos φ sin ψ + sin φ sin θ cos ψ cos φ cos ψ + sin φ sin θ sin ψ sin φ cos θ (1.17)
sin φ sin ψ + cos φ sin θ cos ψ − sin φ cos ψ + cos φ sin θ sin ψ cos φ cos θ
c23
φ = arctan (1.18)
c33
c12
ψ = arctan (1.19)
c11
θ = arcsin (−c13 ) (1.20)
Similarmente al caso del ángulo vectorial, existen singularidades para c13 = 0 y c11 = 0. También
es destacable que esta matriz de rotación es igual a la que representa la rotación en orden inverso
Cuando los ángulos son pequeños, se pueden realizar las aproximaciones cos α w 1 y sin α w
antisimétrica
1 −ψ θ
Cw
ψ 1 −φ
(1.21)
−θ φ 1
1.6.4. Cuaterniones
Las rotaciones mediante cuaterniones surgen de la noción del ángulo vectorial descripto antes. Son
De la denición puede comprobarse rápidamente que este cuaternión tiene norma unitaria:
s
1 kθ nb k kθ nb k
kqnb k 2
= 2 θx2
+ + θy2
sin θz2 + cos2
kθ nb k 2 2
s
kθ nb k kθ nb k
= sin2 + cos2
2 2
= 1
El cuaternión también admite una representación con tres elementos complejos y uno real: q = q1 i +
El producto de dos cuaterniones se puede derivar teniendo en cuenta los productos entre ejes complejos
q −q3 q2 q1 p
4 1
q3 q4 −q1 q2
p2
q◦p= (1.24)
−q2 q1 q4 q3 p3
−q1 −q2 −q3 q4 p4
norma al cuadrado: q 2
q ◦ q∗ = q12 + q22 + q32 + q42 = kqk2 = 1 (1.25)
0 como componente real, construyendo en este caso un cuaternión de norma distinta a cero. La rotación
sólo cuaternión
0
qnb = qnn0 ◦ qnb (1.27)
1.6. Representaciones de Actitud 17
Finalmente, la relación entre cuaterniones y matriz de cosenos directores viene dada por:
q42 + q12 − q22 − q32 2 (q1 q2 − q3 q4 ) 2 (q1 q3 + q2 q4 )
n n
Cb (qb ) =
2 (q1 q2 + q3 q4 ) q42 + q22 − q12 − q32 2 (q2 q3 − q1 q4 )
(1.28)
2 (q1 q3 − q2 q4 ) 2 (q2 q3 + q1 q4 ) q42 + q32 − q12 − q22
Notar que si se reemplaza qnb por −qnb se llega a la misma matriz de cosenos directores, por lo que
1 ω bnb 1 ω nnb
q̇nb = qnb ◦ =
n
◦ qb (1.29)
2 0 2 0
1.6.5. Discusión
A pesar de que todos los métodos de representación son equivalentes y permiten realizar ulterior-
mente la misma operación, debe realizarse un análisis desde el punto de vista de su implementación en
un algoritmo. Los criterios a considerar son por lo tanto el tamaño de la variable y la complejidad del
cáclulo.
La matriz de cosenos directores tiene una interpretación simple, así también es su uso y su com-
posición. Sin embargo, cuenta con las desventajas de requerir 6 parámetros redundantes, y lo que es
CT = C−1
peor, se debe vericar que la matriz de rotación sea unitaria . Esta comprobación no es
directa, por lo que un algoritmo que requiera actualizar la información de actitud se verá limitado por
tal motivo.
El ángulo vectorial cuenta con la ventaja de que no contiene parámetros redundantes. Sin embargo,
Al igual que el ángulo vectorial, los ángulos de Euler no contienen datos redundantes y tienen una
interpretación geométrica muy clara. Como contrapartida, las rotaciones deben efectuarse una por vez
y en un orden determinado. Es necesario calcular la matriz de cosenos directores para realizar una
Finalmente, los cuaterniones cuentan con las ventajas de tener pocos parámetros redundantes,
Además, es muy fácil normalizarlos luego de realizar operaciones entre ellos. Estas características
hacen del cuaternión el elemento adecuado para la representación de rotaciones, a pesar de contener
un parámetro redundante.
Capítulo 2
locidad angular y aceleración, junto con condiciones iniciales de un vehículo para calcular su actitud,
velocidad y posición respecto de un determinado sistema de referencia en todo momento. Existen dos
por la plataforma para mantenerse en la misma posición, dando como resultado ecuaciones más
complejidad y costo.
Strapdown: la plataforma es rígida y está ja al cuerpo del vehículo, por lo que se suele consid-
erar la terna de los sensores equivalente a la del cuerpo y se la denota con la letra b (body). Los
datos obtenidos mediante los sensores deben ser luego transformados a la terna de navegación de
interés.
La gura 2.1 muestra un esquema básico del funcionamiento de un sistema de navegación inercial strap-
down. Las mediciones de velocidad angular son integradas en el tiempo para obtener la orientación del
vehículo respecto de un determinado sistema de referencia. Por otro lado, la aceleración es proyectada
según la orientación para obtener su valor en el sistema de referencia elegido. Una vez logrado esto, se
integra una vez para obtener la velocidad, que a su vez es integrada para obtener la posición, siempre
18
2.1. Sensores Inerciales MEMS 19
Los sistemas microelectromecánicos (MEMS) han sido objeto de creciente interés en los últimos
años. Son sistemas mecánicos construidos sobre el mismo sustrato que la electrónica, ofreciendo muchas
ventajas respecto de otros tipos de tecnologías. Al adaptar la tecnología utilizada para la construcción
de circuitos integrados es posible lograr sistemas mecánicos de precisión, permitiendo reducir signica-
tivamente su costo al producirlos en masa. Frente a otras tecnologías, los sensores MEMS cuentan con
virtudes cada vez más valorables, como por ejemplo tamaño reducido, bajo peso y consumo, resistencia
Por otro lado, la reducción en el tamaño por lo general degrada la sensibilidad y aumenta el
ruido de medición, y existen grandes dependencias de la temperatura [21]. Sin embargo, el creciente
conocimiento de las características fundamentales y los mecanismos de error de cada sensor permiten
2.1.1. Giróscopos
Los giróscopos MEMS miden el efecto Coriolis sobre una masa testigo en vibración. Dicha masa
testigo es forzada a vibrar en un eje con un alto Q (ancho de banda pequeño respecto de la frecuencia
de resonancia). Al aplicar una rotación perpendicular al eje de vibración, se induce una aceleración
de Coriolis perpendicular a los otros dos ejes. Esta aceleración es la que se mide y guarda relación
con la magnitud de la velocidad de rotación. A pesar de que muchas conguraciones están basadas en
este principio, por lo general se pueden dividir en los siguientes tipos: osciladores simples, osciladores
ellos similar a un diapasón (Tuning Fork). En la gura 2.3 se muestra un esquema de estos giróscopos.
Consisten en un par de masas testigo suspendidas, que oscilan con un desfasaje de 180°. La aplicación
de una velocidad angular perpendicular a la velocidad lineal de las masas produce una aceleración de
Coriolis que las empuja fuera del plano de oscilación. Este movimiento es sensado por placas capacitivas
arriba y abajo de las masas, dando como salida una señal proporcional a la velocidad angular aplicada.
El tamaño de las masas testigo es de alrededor de 1000 × 1000 × 20 micrómetros, oscilando a una
frecuencia de decenas de KHz , con un desplazamiento máximo de 10µm. La precisión del sistema
sensoras.
2.1.2. Acelerómetros
Los acelerómetros fueron los primeros sensores construidos con tecnología MEMS, con fuerte in-
centivo por parte de la industria automotriz principalmente . Con esta tecnología, la aceleración puede
En el primer caso, los sensores son análogos a una masa suspendida entre resortes, que se desplaza al
ser acelerada. Su sensibilidad es menor que en el segundo caso, aunque cuenta con la ventaja de un
variación en la frecuencia de resonancia de vigas en contacto con una masa testigo, y no a través del
desplazamiento de la misma.
La estructura de los acelerómetros es similar a la de un tuning fork, con una masa testigo cuadrada
relativamente pesada, sostenida por cuatro exores. Adheridos a estos, se encuentran unas vigas que
se hacen oscilar electrostáticamente, induciendo la vibración sobre la masa. Las vigas sufren una carga
axial adicional en presencia de una aceleración en la dirección de la vibración, que se maniesta como
una variación en su frecuencia de resonancia. La escala de la medición queda expresada en una variación
de Hz/g . En la gura 2.4 se puede ver que las vigas opuestas se colocan una del lado interior de la
22 Capítulo 2. Navegación Inercial Strapdown
estructura y la otra del lado exterior. Esta conguración produce variaciones opuestas en su frecuencia
de vibración, que pueden ser comparadas con vigas no conectadas a la masa, que sirven para medir la
una terna de sensores independientes que miden magnitudes físicas. En la realidad, su construcción no
es perfecta y aparecen errores que modican la medición. Por un lado, errores sistemáticos tales como
sesgos, factores de escala, no ortogonalidad entre los ejes, variabilidad dependiente de la temperatura,
que pueden ser medidos e identicados. Por otro, existen incertidumbres de caracter estocástico como
ruido blanco, inestabilidad del sesgo, o movimiento Browniano, que sólo pueden caracterizarse mediante
su estadística.
Tanto los acelerómetros como los giróscopos se ven afectados por errores debidos a su construcción
y a la tecnología empleada para la medición. El sesgo [20] (bias en inglés) es la observación de una
medición en ausencia de una magnitud física que la produzca. El factor de escala es la relación entre el
cambio en la medición y el de la magnitud que produce tal medición. Los errores de ortogonalidad entre
los ejes producen mediciones en todos los ejes cuando en realidad sólo deberían producirlos en uno,
quedando todas las mediciones acopladas entre sí. La no linealidad en la medición se maniesta como
una variación en el factor de escala. Todos estos parámetros pueden variar con la temperatura, lo que
requiere una caracterización en ese sentido. Existen también errores tales como sesgo dependiente de
la aceleración (en giróscopos), o errores debidos a anisoelasticidad [16, 13] (en giróscopos vibratorios).
En este trabajo se propone un modelo de error que incluye los factores de error más comunes:
σx σxy σxz bx ξx
m̂(t) =
I + σ
yx σy σyz
m(t) + b + ξ
y y (2.1)
σzx σzy σz bz ξz
= (I + Σ(σ m )) m(t) + bm + ξ m (t) (2.2)
donde el vector bm es el sesgo, los σi en la diagonal de Σ(σ m ) modelan los factores de escala, y los σij
los factores de no ortogonalidad que proyectan mediciones sobre los demás ejes, mientras que el vector
que puede ser un giróscopo o un acelerómetro. Se requiere un juego de parámetros independientes para
2.2. Trayectoria Nominal 23
cada uno de ellos, ya que los errores son distintos y las ternas no comparten ejes. Despejando de este
modelo el vector de mediciones m(t), es posible corregir las mediciones de la IMU en función de los
errores instrumentales:
En la tabla 2.1 se muestran los parámetros de error especicados [1] para la IMU prevista para el
proyecto. Debido a que los parámetros de error pueden ser identicados e incorporados en el software
para corregir las mediciones, se muestran únicamente las inestabilidades en los mismos, que serán
los factores que afectarán las mediciones. En [14] se describen procesos para identicar los errores
Giróscopo Acelerómetro
El vehículo realizará un vuelo controlado de 60 segundos, luego de los cuales naliza el empuje.
Durante los primeros 5 segundos, se realiza un ascenso vertical, para luego realizar una maniobra
denominada gravity turn que es utilizada para perlar el vehículo en una trayectoria que mantenga
un ángulo de ataque
1 pequeño. Esto permite reducir el impacto del factor aerodinámico sobre el cuerpo
del vehículo, lo que a su vez reduce el consumo de combustible. En la gura 2.5 se muestra el perl
de altura para la trayectoria prevista, en que se observa la altura máxima alcanzada, o el apogeo del
El lanzamiento se realiza desde una rampa que dene la posición inicial del vehículo, así como su
actitud dentro de un determinado margen de error. El eje z de la IMU coincidirá con el de Roll en
el vehículo, mientras que los ejes x e y coincidirán con los ejes Yaw y Pitch, respectivamente. En el
instante inicial, el vehículo está orientado de forma tal que el eje de Roll coincide con la vertical local,
1
Ángulo entre el vector velocidad del vehículo y el del viento
24 Capítulo 2. Navegación Inercial Strapdown
Debido a que el vehículo realiza un vuelo controlado, se espera que su trayectoria no se aparte de la
prevista dentro de ciertos márgenes. Resulta útil denir algunos parámetros de error que se utilizarán
para evaluar el error de guiado, lo que da una medida de cuánto se aparta la trayectoria efectuada por
el vehículo de la nominal.
Attitude Tracking Error: error de guiado en actitud, representa el ángulo entre la dirección del
eje axial real del vehículo y la dirección deseada en ese instante. Se espera que para los ejes Pitch
y Yaw estos errores sean menores a 3 grados, mientras que para Roll no hay una especicación
Ascent Altitude Error: Diferencia entre la altitud deseada y la real en ese instante. Se espera
que este error esté dentro de los 100m al nalizar el vuelo controlado.
Range Error: Diferencia entre la distancia horizontal real recorrida y la deseada. Se espera que
esté dentro de los 300m.
ecuación de Newton: h i
Fi (t) = [Link] (t) = m P̈i (t) − gi (t) (2.4)
donde Fi (t) es la fuerza que actúa en el punto Pi (t), m es la masa del móvil, ai (t) es la aceleración a
la que está sometido el mismo, y gi (t) es la fuerza de gravedad en coordenadas inerciales. Se dene la
Fi (t)
f i (t) = (2.5)
m
Debido a que en un sistema de navegación strapdown se mide la fuerza especíca en terna del cuerpo
f b (t), se necesita expresar este vector en terna inercial, lo que se logra mediante la rotación f i (t) =
Cib (t)f b (t). Introduciendo esta relación en 2.6, y despejando P̈i (t), se llega a la ecuación fundamental
variables respecto del tiempo t. Dado que la fuerza especíca fb se mide en coordenadas del cuerpo del
vehículo, es necesario conocer en todo momento la matriz de rotación Cib , que depende de la velocidad
angular ω bib que afecta al vehículo. Considerando esta nueva variable y además la velocidad en terna
inercial Vi , otra de las variables que se desean conocer, queda determinado el sistema de ecuaciones a
Estas ecuaciones describen la evolución de las variables Pi (t), Vi (t) y Cib (t) a partir de sus condiciones
iniciales Pi (0), Vi (0) y Cib (0), utilizando los datos f b (t) y ω bib (t) proporcionados por la IMU. En la
práctica, en lugar de integrar la ecuación diferencial matricial 2.8 que requiere actualizar 9 parámetros
redundantes, se integra únicamente la ecuación del coneo, de dimensión 3, que da el ángulo vectorial
26 Capítulo 2. Navegación Inercial Strapdown
de rotación instantáneo entre ambas ternas. Conociendo este ángulo es posible luego calcular la matriz
Derivando la relación Pi = Cie Pe dos veces respecto del tiempo, utilizando 1.6 y teniendo en cuenta
Ṗi = Ċie Pe + Cie Ṗe = Cie S(ω eie )Pe + Cie Ṗe (2.11)
P̈i = Cie S(ω eie )S(ω eie )Pe + Cie S(ω eie )Ṗe + Cie S(ω eie )Ṗe + Cie P̈e (2.12)
h i
P̈i = Cie ω eie × (ω eie × Pe ) + 2(ω eie × Ṗe ) + P̈e = gi + Cib f b (2.13)
ω eie × (ω eie × Pe ) + 2(ω eie × Ṗe ) + P̈e = Cei gi + Cei Cib f b (2.14)
P̈e = Cei gi + Cei Cib f b − ω eie × (ω eie × Pe ) − 2(ω eie × Ṗe ) (2.15)
debida a la rotación de la tierra y 2(ω eie × Ve ) es el término de Coriolis. Para resolver esta ecuación es
Las ecuaciones que determinan la dinámica de un vehículo en coordenadas ECEF a partir de las
La terna de referencia ECEF resulta muy atractiva debido la relativa simplicidad de sus ecuaciones
2.5. Navegador Inercial Simple 27
y al hecho de que la resolución de las mismas provee datos que pueden ser comparados con los provistos
por un GPS sin ninguna transformación adicional. Por estas razones, el sistema de referencia ECEF
parámetros de navegación en el tiempo en función de las magnitudes físicas que se pueden medir,
como velocidad angular y fuerza especíca. El cálculo de los parámetros de navegación viene dado en-
tonces por la integración en el tiempo de las ecuaciones de navegación, operación que admite diversas
Dado el modelo x(t) = ḟ (t), con x(t) diferenciable, el método más simple de integración consiste
f (tk+1 ) − f (tk )
ḟ (tk+1 ) '
tk+1 − tk
Las ecuaciones de navegación pueden integrarse usando este método, siendo tk+1 − tk el intervalo
de tiempo en que se toman las mediciones inerciales, y que, para simplicar la notación, se denominará
la siguiente expresión:
El cuaternión resultante (ecuación 2.25) contiene la actitud actual en terna inercial. Para convertir
(k + 1)T ω eie i
= ◦ qb (tk+1 ) (2.26)
0
Luego se puede utilizar este cuaternión para hallar la matriz de rotación Ceb (tk+1 ) e integrar las
h i
Ve (tk+1 ) ' Ve (tk ) + T Ceb f b + [ge − ω eie × (ω eie × Pe )] − 2(ω eie × Ve ) (2.27)
los datos de velocidad angular y fuerza especíca provistos por los sensores y se integran con el método
simple, su performance en general no es buena. El error depende del paso de integración T, que está
En los grácos (2.6) a (2.8) se representan los errores en el ángulo vectorial de actitud, velocidad y
posición, en cada uno de sus ejes. Se han usado mediciones ideales, es decir que no están afectadas por
ruidos, sesgos, o errores en condiciones iniciales, de forma de evaluar el error numérico del algoritmo.
ϕb = S−1 Cbe Ceb(IN S) − I (2.29)
δVe = VIN
e
S −V
e
(2.30)
donde ϕb es el ángulo vectorial de error entre la terna del cuerpo navegada y la real, y las matrices de
Se observa un error en actitud que oscila en los ejes x e y, llegando a aproximadamente 0,8° de
error. En el eje z el error es apenas menor, pero igualmente creciente. El error en velocidad en el
30 Capítulo 2. Navegación Inercial Strapdown
eje x crece hasta alcanzar aproximadamente 7m/s, siendo los errores en otros ejes bastante menores.
Para el caso de la posición, el error en el eje x (asociado al error en velocidad del eje x) crece hasta
aproximadamente 270m.
Evidentemente los niveles de error alcanzados en ausencia de cualquier tipo de perturbación hacen
que este algoritmo por sí solo no sea útil para una aplicación. Sin embargo se mostrará más adelante
que la navegación integrada permite reducir los errores causados por un navegador inercial deciente,
En esta sección, siguiendo el desarrollo expuesto en [5] y basado en los trabajos de Savage [17, 18],
se presentará un algoritmo de integración de las ecuaciones de navegación en tiempo real que se efectúa
se ve afectada en forma signicativa. Los intervalos de tiempo están relacionados mediante Ts = [Link]
tk+1 = tk + [Link]
tk,j = tk + [Link]
tk,j,i = tk + [Link] + [Link]
resolver la ecuación que describe la variación en el tiempo de la terna del cuerpo respecto de la inercial.
Si ψ b (λ, tk,j ) es la solución a la ecuación (1.15), representa el ángulo vectorial rotado en el intervalo
[tk,j , λ] (λ ∈ [tk,j , tk,j+1 ]) a partir de la condición inicial ψ b (tk,j ) = 0. El ángulo rotado por la terna
terrestre en el intervalo t ∈ [tk , tk+1 ] es θ e (t, tk ) = Ωeie (t − tk ), y al ser Ωeie constante, resulta colineal
Se consideran las rotaciones mediante cuaterniones. La rotación de la terna del cuerpo a la terrestre
θ(t ,tk ) kθ(tk+1 ,tk )k
e(t ) − kθ(tk+1
k+1 ,tk )k
sin 2
qe(tkk+1 = (2.34)
)
kθ(tk+1 ,tk )k
cos 2
e(t )
Ce(λ)k = exp(S(θ e (λ, tk ))) ∼
= I + S(θ e (λ, tk ))
γ e (Re (t)) ∼
= γ e [Re (tk ) + Ve (tk )(t − tk )] ∼
= γ e [Re (tk )] + γR
e
[Re (tk )] Ve (tk )(t − tk )
3. Tm sucientemente pequeño como para despreciar los términos de segundo orden en la ecuación
del coneo
b 1
ψ̇ ∼= ω bib + S(ψ b )ω bib
2
4. Tm sucientemente pequeño para realizar la aproximación
b(t )
Cb(λ)k,j = exp(S(ψ b (λ, tk,j ))) ∼
= I + S(ψ b (λ, tk,j ))
el tiempo
1 b
ψ b (λ, tk,j,i ) ∼
= ψ bk,j,i + ψ k,j,i+1 − ψ bk,j,i
2
con λ ∈ [tk,j,i , tk,j,i+1 ]
6. fb es constante en el Intervalo Tl
Para obtener el ángulo rotado por la terna del cuerpo debemos integrar la ecuación del coneo, donde
aplicamos la hipótesis 3:
ˆ
tk,j+1
1 b
ψ (tk,j , tk,j+1 ) ∼
b
= ω bib (λ) b
+ S ψ (λ, tk,j ) ω ib (λ) dλ (2.35)
2
tk,j
L−1 ˆ
tk,j,i+1
1 b
ψ (tk,j , tk,j+1 ) ∼
X
b
= ω bib (λ) b
+ S ψ (λ, tk,j,i ) ω ib (λ) dλ (2.36)
2
i=0 t
k,j,i
´ tk,j,i+1
Llamando ∆ψ bk,j,i = tk,j,i ω bib (λ)dλ, que es la integración en un tiempo Tl de la velocidad angular
medida por los giróscopos, considerando la linealidad de ψb en Tl y el resultado presentado por Savage
L−1
X
1 1
ψ (tk,j , tk,j+1 ) ∼
b
= ∆ψ bk,j,i+1 + S(ψ bk,j,i )∆ψ bk,j,i+1 + S(∆ψ bk,j,i )∆ψ bk,j,i+1 (2.37)
2 12
i=0
Para el cálculo de esta ecuación se consideran las condiciones iniciales ψ bk,j,i = 0 y ∆ψ bk,j,i = 0. Con el
b(t )
ángulo ψ b (tk,j , tk,j+1 ) calculado es posible construir el cuaternión qb(tk,j
k,j+1 )
.
2.6. Navegador Inercial de Precisión 33
El equivalentee discreto de este sistema coincide con el continuo para los instantes tk :
tˆk+1
0
X(tk+1 ) = e ATs
· X(tk ) + eA(tk+1 −ξ) dξ (2.39)
tk u(ξ)
donde
n o
P(t) = L−1 (sI + 2S(Ωeie ))−1
cos(2Ωe t) sin(2Ωe t) 0
−2S(Ωeie )t
= e =
− sin(2Ωe t) cos(2Ωe t) 0
; P(0) = I3
(2.41)
0 0 1
( )
(sI + 2S(Ωeie ))−1
−1
Q(t) = L
s
ˆt sin(2Ωe t) 1 − cos(2Ωe t) 0
1
= P(λ)dλ = cos(2Ω t) − 1
e sin(2Ωe t) 0 ; Q(0) = 03 (2.42)
2Ωe
0
0 0 2Ωe t
tˆk+1
Q(tk+1 − ξ)
X(tk+1 ) = eATs · X(tk ) + u(ξ)dξ (2.43)
tk P(tk+1 − ξ)
34 Capítulo 2. Navegación Inercial Strapdown
y desarrollando,
tˆk+1
Q(tk+1 − ξ)
X(tk+1 ) = eATs · X(tk ) +
e e e b
γ (R (ξ)) + Cb f (ξ) dξ
tk P(tk+1 − ξ)
tˆk+1 tˆk+1
Q(tk+1 − ξ) Q(tk+1 − ξ) e b
= eATs
e e
· X(tk ) + γ (R (ξ))dξ + Cb f (ξ)dξ
tk P(tk+1 − ξ) tk P(tk+1 − ξ)
ATs
= e · X(tk ) + Xgk+1 + Xfk+1
El término Xgk+1 corresponde a la contribución debida a la gravedad, mientras que Xfk+1 depende
tˆk+1
Q(t k+1 − ξ) e e
Xgk+1 = γ (R (ξ))dξ
tk P(tk+1 − ξ)
tˆk+1
∼ Q(tk+1 − ξ) e e e e e
= (γ [R (tk )] + γ R [R (tk )] V (tk )(ξ − tk )) dξ
tk P(tk+1 − ξ)
ˆTs
∼ Q(λ) e e e e e ∆Rgk+1
= (γ [R (tk )] + γ R [R (tk )] V (tk )(Ts − λ)) dλ , (2.44)
0 P(λ) ∆Vgk+1
ˆTs
∆Rgk+1 = Q(λ) (γ e [Re (tk )] + γ eR [Re (tk )] Ve (tk )(Ts − λ)) dλ
0
ˆTs ˆ Ts
= Q(λ)dλ (γ e [Re (tk )] + γ eR [Re (tk )] Ve (tk )Ts ) − Q(λ)λdλγ eR [Re (tk )] Ve (tk )
0
0
y, de la misma forma,
ˆTs
∆Vgk+1 = P(λ) (γ e [Re (tk )] + γ eR [Re (tk )] Ve (tk )(Ts − λ)) dλ
0
ˆTs ˆTs
e e
= P(λ)dλ (γ [R (tk )] + γ eR [Re (tk )] Ve (tk )Ts ) − P(λ)λdλγ eR [Re (tk )] Ve (tk )
0 0
2.6. Navegador Inercial de Precisión 35
´ Ts
Por lo tanto, para obtener la expresión exacta de Xgk+1 basta con resolver las integrales
o Q(λ)dλ,
´ Ts ´ Ts ´ Ts
o λQ(λ)dλ, o P(λ)dλ y
o λP(λ)dλ.
Otra forma de resolver el término de gravedad consiste en considerar que las matrices Q(t) y P(t)
ˆTs
Q e e
Xgk+1 ∼
=
e e e
(γ [R (tk )] + γ R [R (tk )] V (tk )(Ts − λ)) dλ
0 P
ˆTs ˆTs
Q e e Q e
∼
=
e e e
(γ [R (tk )] + γ R [R (tk )] V (tk )Ts ) dλ −
e e
γ R [R (tk )] V (tk ) λdλ
P 0 P 0
Q e e Q e Ts2
∼
=
e e e
(γ [R (tk )] + γ R [R (tk )] V (tk )Ts ) Ts −
e e
γ R [R (tk )] V (tk )
P P 2
Q Ts2
∼
=
γ e
[R e
(t k )] Ts − γ e
[R e
(t k )] V e
(t k ) (2.47)
R
2
P
su jacobiano.
Q(t) y P(t):
tˆk+1
Q(tk+1 − ξ) e b
Xfk+1 = Cb f (ξ)dξ
tk P(tk+1 − ξ)
36 Capítulo 2. Navegación Inercial Strapdown
tˆk+1
Q
∼
=
Ceb f b (ξ)dξ
P tk
tˆk+1
∼ Q e(ξ) e(t ) b(t )
= Ce(tk ) C b(tkk) Cb(ξ)k f b (ξ)dξ
P tk
∼ Q
= (Ic − Im ) (2.48)
P
donde se ha llamado
M −1 ˆ
tk,j+1
e(t ) b(t )
X k,j k,j b
Ic = Cb(tk,j ) Cb(ξ) f (ξ)dξ (2.49)
j=0 t
k,j
M −1 ˆ
tk,j+1
e(t ) b(t )
X
Im = S(Ωeie ) k,j
(ξ − tk,j )Cb(tk,j k,j b
) Cb(ξ) f (ξ)dξ (2.50)
j=0 t
k,j
Resolución del Término Ic Para resolver este término se divide el intervalo Tm en L intervalos Tl
y se aplica la hipótesis 4:
M −1 L−1 ˆ
tk,j,i+1
e(tk,j )
X X
Ic = Cb(tk,j I + S(ψ b (ξ, tk,j,i )) f b (ξ)dξ
)
j=0 i=0 t
k,j,i
M −1 L−1 ˆ
tk,j,i+1 ˆ tk,j,i+1
e(tk,j )
X X
= Cb(tk,j f b (ξ)dξ + S(ψ b (ξ, tk,j,i ))f b (ξ)dξ
)
j=0 i=0 tk,j,i
tk,j,i
M −1
"L−1 #
X e(tk,j )
X
b 1 b b
Ic = Cb(tk,j ) ∆Vk,j,i+1 + S ψ k,j,i + (ψ k,j,i+1 − ψ k,j,i ) ∆Vk,j,i+1
2
j=0 i=0
M −1
e(t )
X k,j
= Cb(tk,j ) I ci
j=0
donde L−1
X
1 b
b b
I ci = ∆Vk,j,i+1 + S ψ k,j,i + (ψ k,j,i+1 − ψ k,j,i ) ∆Vk,j,i+1 (2.51)
2
i=0
2.6. Navegador Inercial de Precisión 37
e(t
k,j ) k e(t ) e k e(t )
Utilizando la hipótesis 1, es posible hacer el reemplazo Cb(tk,j ) = Cb(tk,j ) − jTm S(Ωie )Cb(tk,j ) :
M −1
e(tk ) e(tk )
X
e
Ic = Cb(tk,j ) − jT m S(Ωie )Cb(tk,j ) Ici
j=0
M −1
e(t ) e(t )
X
k e k
= Cb(tk,j ) Ici − jTm S(Ωie )Cb(tk,j ) Ici (2.52)
j=0
M −1 ˆ
Tm
e(t ) b(t )
X
Im = S(Ωeie ) k,j
λCb(tk,j k,j b
) Cb(λ+tk,j ) f (λ + tk,j )dλ
j=0 0
L−1
X ˆ
tk,j,i+1 ˆ
tk,j,i+1
Imi = λf b (λ + tk,j,i )dλ + λS(ψ b (λ, tk,j,i ))f b (λ + tk,j,i )dλ (2.53)
i=0 tk,j,i tk,j,i
e(t
k,j )
y desarrollando el término Cb(tk,j ) de la misma forma que antes:
M −1
e(t )
X
Im = S(Ωeie ) k,j
Cb(tk,j ) Imi
j=0
M −1
e(tk ) e(tk )
X
= S(Ωeie ) Cb(tk,j ) − jT m S(Ωe
ie )Cb(tk,j ) Imi (2.54)
j=0
M −1
e(t ) e(t )
X
= S(Ωeie )Cb(tk,j
k 2 e k
) Imi − jTm S (Ωie )Cb(tk,j ) Imi (2.55)
j=0
L−1
X 2i + 1 3i + 2 b b 2i + 1
Imi = Tl ∆Vk,j,i+1 + S (ψ k,j,i+1 − ψ k,j,i ) + ψ k,j,i ∆Vk,j,i+1 (2.56)
2 6 2
i=0
38 Capítulo 2. Navegación Inercial Strapdown
utilizando como entradas los datos suministrados por la Unidad de Mediciones Inerciales.
b(t )
qb(tk,j
k,j+1 )
= q(ψ bk,j+1 )
e(t )
k ke(t ) k,j b(t )
qb(tk,j+1 ) = qb(tk,j ) ◦ qb(tk,j+1 )
end
Ts2
Q e e e e e
Xgk+1 = γ [R (tk )] Ts − γ R [R (tk )] V (tk )
P 2
Q
Xfk+1 = (Ic − Im )
P
X(tk+1 ) = eATs · X(tk ) + Xgk+1 + Xfk+1
e(t ) e(t )
qeb (tk+1 ) = qe(tkk+1
)
k
◦ qb(tk+1 )
end
decirse que las funciones contenidas en el ciclo i pasan a formar parte del ciclo j. Esto permite elim-
inar algunos términos del ciclo, ya que las variables i, ψ bk,j,i , ∆ψ bk,j,i y ∆Vk,j,i permanecen en cero
constantemente.
2.7. Validación del Algoritmo Inercial 39
Lo mismo ocurre cuando Tm = Ts , ya que los términos donde aparece j se mantienen en cero.
Estas ecuaciones son mucho más directas, intervienen menos términos y eliminan la necesidad de
utilizar ciclos for anidados. En caso de que Tl = Tm = Ts , todas las funciones formarían parte de un
mismo ciclo, que toma datos y devuelve resultados a una misma frecuencia.
un algoritmo con ciclos anidados que realiza una determinada cantidad de cálculos a una determinada
tasa, o usar una simplicación del algoritmo que funciona a una tasa mucho mayor, pero que realiza
menos cálculos y tiene una precisión mayor. El estudio de qué versión conviene utilizar dependerá de
[Link]. Determinación de Tl , Tm y Ts
sistema de control es de 10Hz. Por otro lado, la frecuencia de actualización de la IMU está prevista en
100Hz. Estas condiciones jan los tiempos para el ciclo lento (Ts =100ms) y el ciclo rápido (Tl =10ms),
quedando por denir Tm . Para ganar precisión, lo más conveniente es actualizar el cuaternión de actitud
con el ángulo rotado en el ciclo rápido cada vez que se lo calcula, lo que ja Tm = Tl =10ms.
Para evaluar el algoritmo, al igual que en la sección 2.5 se utilizaron datos sintéticos generados a
partir de la trayectoria ideal del cohete. Esto permite prácticamente eliminar las incertidumbres debidas
40 Capítulo 2. Navegación Inercial Strapdown
a la generación de las mediciones inerciales, por lo que se está analizando la precisión del algoritmo
inercial únicamente. Con el mismo objetivo, se inyectaron datos inerciales y condiciones iniciales libres
Los errores para este navegador resultan varios órdenes de magnitud menores que para el navegador
2.7. Validación del Algoritmo Inercial 41
basado en el método de Euler. El error en actitud se mantiene dentro de los 0, 0001° durante el vuelo
(gura 2.10), mientras que los errores en velocidad y posición son del orden de los 0, 0001m/s y 0, 02m,
respectivamente. En la gura 2.13 se puede ver que la navegación de la trayectoria coincide con la
nominal.
Cuando se incluyen incertidumbres en las mediciones y en las condiciones inerciales, como sucede
en la práctica, se propagan a través de las ecuaciones de navegación. Los sesgos se integran constan-
temente, los ruidos afectan la precisión de la medición, y las condiciones iniciales erróneas no pueden
ser detectadas. En la gura (2.14) se observan las mediciones de una IMU afectada por errores como
los dados en la tabla 2.1, esperados para la IMU que se utilizó en este trabajo.
El resultado de navegar datos ruidosos es un error creciente con el tiempo, en particular en posición
y velocidad. El módulo del error en posición llega a los 500m en tan sólo 60 segundos, mientras que el
error en velocidad alcanza un pico de 17m/s. Estos valores son inaceptables en un sistema de navegación
para un vehículo controlado que debe seguir una trayectoria predeterminada. Surge de este resultado
44 Capítulo 2. Navegación Inercial Strapdown
En las guras 2.19 a 2.21 se muestran los errores resultantes de navegar esta misma secuencia de
datos con el navegador basado en el método de Euler. Se puede ver que las magnitudes de los errores
Esto indica que el error numérico debido a la integración de las ecuaciones de navegación pasa
a un segundo plano en presencia de los ruidos y errores instrumentales de la IMU, lo que opaca la
2.8. Desventajas de la Navegación Inercial 45
performance del algoritmo de precisión, pasando a estar ambos métodos en un nivel de performance
similar.
Estimación de Errores
Se ha mostrado la necesidad de implementar un sistema capaz de identicar errores en las condi-
ciones iniciales, y que sea robusto ante ruidos presentes en las mediciones, así como a errores instrumen-
tales. En el campo de la navegación es común utilizar el Filtro de Kalman como recurso para estimar
estos errores e incorporar su naturaleza aleatoria en el proceso. En este capítulo se describe el Filtro
de Kalman, su estructura, y se deduce el modelo dinámico que utiliza como base en la estimación.
por ruido. El objetivo es estimar el estado dinámico incorporando también las características del ruido
y observaciones ruidosas independientes. El modelo lineal variante en el tiempo para tal sistema viene
dado por
ẋ(t) = F(t)x(t) + B(t)ξ(t)
(3.1)
y(t) = C(t)x(t) + η(t)
donde x(t) es el vector de estados, F(t) es la matriz que contiene la información acerca de la dinámica
y(t) es el vector de observaciones del estado. Los vectores ξ(t) y η(t) son ruidos supuestos
del sistema e
T T
blancos Gaussianos de media nula, con matrices de covarianza E ξ(t)ξ (t) = Qδ(t) y E η(t)η (t) =
Para efectuar los cálculos digitalmente, es necesario denir el equivalente en tiempo discreto de este
sistema:
xk+1 = Φk xk + Bk ξ k
(3.2)
yk+1 = Ck+1 xk+1 + η k+1
46
3.1. Filtro de Kalman 47
La discretización del ruido no es directa, sino que media la matriz de transición de estados según
la ecuació ˆT
ξk = Φ(T, τ )B(τ )ξ(τ )dτ (3.4)
0
a partir de la que se puede calcular la covarianza del ruido discretizado
ˆT
E ξ k ξ Tk Φ(T, τ )B(τ )Q(τ )BT (τ )ΦT (T, τ )dτ
= (3.5)
0
∼
= Bk QBTk T (3.6)
Esta es una solución aproximada bastante común, que es válida cuando los autovalores de F(t) son
Es necesario conocer también las condiciones iniciales del vector de estados, construyendo además
una matriz de covarianza del error inicial que será propagada en el tiempo y será una medida de la
incertidumbre en la estimación de cada variable. Siendo el valor inicial del vector de estados x̂0/0 =
El primer paso del algoritmo consiste en predecir la evolución del sistema a partir de su dinámica.
donde x̂k+1/k es el valor esperado para el vector de estados en el instante k+1 calculado a partir de
Además de propagar el estado, se propaga la matriz de covarianza del error en la estimación mediant
El término Φk Pk/k ΦTk corresonde a la propagación en el tiempo de la matriz de covarianza del estado,
mientras que Bk Qk BTk T da cuenta del ruido de proceso en un intervalo de tiempo T. De esta forma,
El segundo paso consiste en actualizar estas estimaciones cuando se dispone de una observación
48 Capítulo 3. Estimación de Errores
del estado, relacionados mediante yk+1 = Ck+1 xk+1 . Se calcula primero la ganancia de Kalman, que
−1
Kk+1 = Pk+1/k CTk+1 Ck+1 Pk+1/k CTk+1 + Rk+1 (3.10)
Luego se actualiza o corrige la estimación del estado utilizando la ganancia Kk+1 y la observación,
mediant
x̂k+1/k+1 = x̂k+1/k + Kk+1 yk+1 − Ck+1 x̂k+1/k (3.11)
El término yk+1 − Ck+1 x̂k+1/k recibe el nombre de innovación, y representa la información independi-
que es análoga a un ruido blanco con la potencia del ruido de las observaciones.
de Kalma
Esta segunda fase del Filtro de Kalman recibe el nombre de Actualización, ya que se corrigen los datos
Debido a que las ecuaciones de navegación son marcadamente alineales, no es posible aplicar di-
modelo para la dinámica de un error δx propagándose por las ecuaciones de navegación. Para el caso de
utilizar el Filtro de Kalman para estimarlo. Se estudia en esta sección la propagación del error a través
donde Ĉeb es la matriz de rotación calculada por el INS y Ceb es la matriz de rotación real. A su vez, se
donde ϕb es el ángulo vectorial de error en terna del cuerpo. Para ϕb pequeño, se puede interpretar el
término I + S(ϕb ) como una aproximación de la matriz de rotación entre la terna del cuerpo sin error
3.2. Modelo Dinámico del Error 49
∼ b
= Cebreal Cbreal
IN S
Se desarrollan las ecuaciones para obtener el modelo dinámico del error en actitud.
˙ e = Cˆ˙e − Ċe
δC b b b
e
h i h i
= Ĉeb S(ω̂ bib ) − S(Ω̂ie )Ĉeb − Ceb S(ω bib ) − S(Ωeie )Ceb
e
Dado que la velocidad angular de la tierra es conocida, Ω̂ie = Ωeie :
˙ e = Ĉe S(ω̂ b ) − Ce S(ω b ) − S(Ωe )Ĉe − S(Ωe )Ce
δC b b ib b ib ie b ie b
Ahora, reemplazando Ĉeb = Ceb +δCeb y ω̂ bib = ω bib +δω bib , desarrollando y despreciando los productos
entre errores:
= Ceb S(ω bib ) + Ceb S(δω bib ) + δCeb S(ω bib ) + δCeb S(δω bib ) − Ceb S(ω bib ) − S(Ωeie )δCeb
= Ceb S(ω bib )S(ϕb ) − S(Ωeie )Ceb S(ϕb ) + Ceb S(ϕ̇b ) (3.20)
50 Capítulo 3. Estimación de Errores
Ceb S(δω bib ) + Ceb S(ϕb )S(ω bib ) − S(Ωeie )Ceb S(ϕb ) = Ceb S(ω bib )S(ϕb ) − S(Ωeie )Ceb S(ϕb ) + Ceb S(ϕ̇b )
y, nalmente
esta ecuación,
˙ e = V̂˙ e − V̇e
δV
h i h i
= Ĉeb f̂ b − 2S(Ωeie )V̂e + ĝe (P̂e , Ωeie ) − Ceb f b − 2S(Ωeie )Ve + ge (Pe , Ωeie )
= Ĉeb f̂ b − Ceb f b − 2S(Ωeie )V̂e − 2S(Ωeie )Ve + ĝe (P̂e , Ωeie ) − ge (Pe , Ωeie )
e
e b e b
e e ∂g
= Ĉb f̂ − Cb f − 2S(Ωie )δV + δPe
∂Pe Pe
e
e e
b b
e b e e ∂g
= (Cb + δCb ) f + δf − Cb f − 2S(Ωie )δV + δPe
∂Pe Pe
e
˙ e b e b e b e b e b e e ∂g
e
δV = Cb f + Cb δf + δCb f + δCb δf − Cb f − 2S(Ωie )δV + δPe
∂Pe Pe
e
e b e b e e ∂g
= Cb δf + δCb f − 2S(Ωie )δV + δPe
∂Pe Pe
˙ e = δVe
δP (3.24)
3.2. Modelo Dinámico del Error 51
T
Si σm = σx σy σz σxy σxz σyz σyx σzx σzy entonces
mx 0 0 my mz 0 0 0 0
L(m̂) =
0 my 0 0 0 mz mx 0 0
(3.28)
0 0 mz 0 0 0 0 mx my
e
˙ e b e e ∂g
e
δV = −Cb S(f )ϕ − 2S(Ωie )δV + δPe + Ceb δf b
∂Pe Pe
e
e b e e ∂g e e
b
= −Cb S(f )ϕ − 2S(Ωie )δV + δP + Cb δb f + L(f )δσ f + ξ f
∂Pe e
e P
∂g
= −Ceb S(f b )ϕ − 2S(Ωeie )δVe + δPe + Ceb δbf + Ceb L(f b )δσ f + Ceb ξ f (3.30)
∂Pe Pe
De esta forma pueden separarse los términos que se busca estimar de los que son puramente ruido,
52 Capítulo 3. Estimación de Errores
lo que quedará en evidencia cuando se construya el modelo completo de la dinámica del error.
en el mismo
m = m̂ + δm (3.31)
δm = m − m̂ (3.32)
donde m puede representar el sesgo, factor de escala o factor de no ortogonalidad de los instrumentos
inerciales.
como un Random Walk, o movimiento Browniano (el resultado de integrar ruido blanco en el tiempo),
lo que mejora la observabilidad del estado. Por lo tanto, el modelo dinámico para esta inestabilidad
resulta
˙ =ξ
δm (3.33)
m
contínuo similar al 3.1. Sin embargo, sólo se dispone de estimaciones de las variables que intervienen en
la dinámica del error, que en este caso son la velocidad angular ω̂ bib , la fuerza especíca f̂ b y la matriz
de rotación de la terna del cuerpo a la de la tierra Ĉeb . Estos parámetros son medidos por la IMU y
ϕ̇b −S(ω̂ bib ) 0 0 I L(ω̂ bib ) 0 0 ϕb
˙
δV e −Ĉe S(f̂ b ) −2S(Ωe ) γe 0 0 Ĉeb Ĉeb L(f̂ b ) δVe
b ie
δP˙e
0 I 0 0 0 0 0
δPe
δb˙ ω =
0 0 0 0 0 0 0
δbω
δσ˙ ω
0 0 0 0 0 0 0
δσ ω
δb˙ f 0 0 0 0 0 0 0 δbf
δσ˙ f 0 0 0 0 0 0 0 δσ f
I 0 0 0 0 0 0 ξω
0 Ĉe I 0 0 0 0 ξf
b
0 0 0 0 0 0 0 ξg
+ 0 0 0 I 0 0 (3.35)
0
ξ bω
0 0 0 0 I 0 0 ξ σω
0 0 0 0 0 I 0 ξ bf
0 0 0 0 0 0 I ξ σf
ξω ruido en giróscopos
ξf ruido en acelerómetros
ϕ
δVe
e
δP
yP os 0 0 I 0 0 0 0 η P os
=
δbω + (3.37)
yV el 0 I 0 0 0 0 0 η V el
δσ ω
δbf
δσ f
donde y = yIN S − yGP S es la observación y los η son los ruidos que afectan las mediciones de posición
y velocidad. La matriz C(t) es constante, por lo que no es necesario recalcularla cada vez que aparece
Kalman, se da el algoritmo para el mismo. Las mediciones inerciales y salidas del INS se incorporan
en la propagación del estado, mientras que las mediciones del GPS actúan como observaciones del
mismo. Debe destacarse que no hay necesidad de que los ciclos de predicción y actualización del iltro
de Kalman tengan el mismo período, sino que, mientras no se tenga una nueva observación del estado,
se lo puede estimar mediante su dinámica. Por lo tanto, cada vez que el navegador inercial da un
dato como salida, se ejecuta el paso de predicción, y cuando llega un dato del receptor GPS, el de
actualización. Mientras la salida del navegador se actualiza cada 0, 1s, el dato del receptor GPS lo hace
cada 1 segundo o incluso más, si algún dato GPS no es válido; por este motivo, el paso de predicción
se realizará 10 ó más veces antes de que se realice el de actualización. Se indican estos ciclos internos
1. Inicialización
Una vez denido el vector de estados, se necesitan las condiciones iniciales para el mismo. Estas
vienen dadas p
δx0/0 = E [δx0 ]
h i
P0/0 = E δx0/0 δxT0/0
2. Estimación a priori
Se calculan las matrices del modelo Bk,n y Fk,n en el instante tk,n . También es necesario calcular
1
Φk,n = exp (Fk,n Ts ) w I + Fk,n Ts + F2k,n Ts2
2
donde Ts es el período entre datos del navegador inercial. Se comprobó que la aproximación de
no era lo sucientemente precisa. Por lo tanto, se utilizó una aproximación de segundo orden.
Con estas matrices se propagan el vector de estados y la matriz de covarianza para obtener sus
estimaciones a priori
Este paso se repite a una frecuencia 1/Ts , hasta que se reciba una nueva medición externa. En
3. Innovación
En el momento en que se recibe una observación independiente del estado yk+1 (medición GPS),
4. Ganancia de Kalman
Se calcula Ck+1 para obtener la ganancia de Kalman
−1
Kk+1 = Pk+1/k CTk+1 Ck+1 Pk+1/k CTk+1 + Rk+1
5. Actualización
Se corrige la estimación a priori mediante
La función del Filtro de Kalman en el contexto de la navegación es estimar errores de forma óptima.
navegación computadas inercialmente se hace muy importante. Se muestra en las guras el resultado
de ejecutar el Filtro de Kalman en comparación con el error cometido por el navegador inercial. En la
tabla 3.1 se dan los valores utilizados para la simulación, consistentes con los instrumentos disponibles
para el vehículo.
disponga de información más precisa provista por el receptor GPS. En este caso, Rk guardará relación
con la matriz de Dilución de la Precisión (DOP) calculada en el receptor, que depende fuertemente de
A pesar de inicializar el vector de estados en cero, el Filtro de Kalman identica rápidamente los
errores en posición, velocidad y actitud, siguiéndolos a lo largo de la trayectoria del vehículo. Se puede
ver que en el caso del eje z del ángulo vectorial de error, no es posible identicarlo con precisión. El
error en actitud es observado mediante el error en el vector velocidad, que por lo general es invariante
58 Capítulo 3. Estimación de Errores
Se espera que la estimación de los errores en las variables de navegación por medio de su modelo
linealizado sea coincidente con los errores cometidos por el algoritmo de navegación inercial, siempre
que éste no incorpore errores signicativos debidos a la integración de las ecuaciones. Teniendo esto en
cuenta, basta con corregir las variables para obtener una mejor calidad en la navegación.
El análisis de la covarianza de cada incertidumbre del modelo permite identicar factores domi-
un sistema de ecuaciones lineal respecto de las incertidumbres del proceso descripto en las secciones
anteriores. De esta forma, se analiza el comportamiento de las diversas fuentes de error por separado,
A partir de esta información es posible determinar los pasos a seguir para mejorar la performance
del sistema, como por ejemplo eliminar estados que no inuyan signicativamente, o alternativamente
obtener sensores de mejor calidad que provean datos con menor ruido.
xk+1 = Φk xk + Bk ξ k
(3.38)
yk+1 = Ck+1 xk+1 + η k+1
Lo que se utiliza en realidad es una estimación de cada una de las variables presentes en el modelo, que
no son conocidas a la perfección. Esto da lugar a un estimador, que no incluye necesariamente todos
dim(x̂), como resultado de la imposibilidad de incluir todos los estados que dan lugar a la dinámica
real del sistema. La matriz V elige los estados que se incluyen en el estimador.
3.4. Presupuesto de Errores 59
xk+1/k Φk 0 xk/k Bk
= + ξk (3.41)
x̂k+1/k 0 Φ̂k x̂k/k 0
xk+1/k
yk+1 = Ck+1 0 + η k+1 (3.42)
x̂k+1/k
xk+1/k
ŷk+1 = 0 Ĉk+1 (3.43)
x̂ k+1/k
xk+1/k+1 xk+1/k 0
= + (yk+1 − ŷk+1 ) (3.44)
x̂k+1/k+1 x̂k+1/k K̂k+1
xk+1
δxk+1 = V −I (3.45)
x̂k+1
Estas expresiones representan la propagación en el tiempo del sistema real y del estimado. Debido
a que la estimación se calcula de forma exacta no se incluyen términos de ruido en las las correspon-
dientes en las ecuaciones 3.41 y 3.43. Además, los ceros en la matriz de ganancia demuestra que las
La covarianza del error en la estimación para el caso general viene dada por
Cov(δx) = M = E δxδxT
(3.46)
T
x x
= E V −I V −I (3.47)
x̂ x̂
T
x V
= V −I E xT x̂T (3.48)
x̂ −I
T T T
xx xx̂ V
= V −I E (3.49)
x̂xT x̂x̂T −I
Desarrollando la esperanza utilizando las ecuaciones 3.41 y 3.44 se calculan las covarianzas del error a
de la esperanza
xk+1/k P11k+1/k P12k+1/k
Mk+1/k = = E xTk+1/k x̂Tk+1/k = (3.50)
x̂k+1/k P21k+1/k P22k+1/k
Separando los elementos de la matriz, se obtienen las ecuaciones que propagan la covarianza del error
en cada caso:
T
P12k+1/k = Φk P12k/k Φ̂k (3.52)
T
P22k+1/k = Φ̂k P22k/k Φ̂k (3.53)
de la esperanza
xk+1/k+1 P11k+1/k+1 P12k+1/k+1
Mk+1/k+1 = E xTk+1/k+1 x̂Tk+1/k+1 = (3.54)
x̂k+1/k+1 P21k+1/k+1 P22k+1/k+1
Desarrollando cada término se obtienen las ecuaciones que propagan la covarianza del error a posteriori
en cada caso:
3.4.2. Implementación
Cuando sea razonable suponer que Φ̂k = Φk , Ĉk+1 = Ck+1 (la estimación de estas matrices sea
sucientemente precisa), y en el caso en que el modelo contenga los estados necesarios para modelar
queda denido como δx = x− x̂, y las ecuaciones que propagan la covarianza de este error se simplcan
3.4. Presupuesto de Errores 61
notablemente
Mk+1/k+1 = (I − Kk+1 Ck+1 ) Mk+1/k (I − Kk+1 Ck+1 )T + Kk+1 Rk+1 Kk+1 (3.59)
M = E δxδxT .
donde Ya que estas ecuaciones son lineales en los términos de error (M, Q y R), es
válido el principio de superposición [9], lo que permite analizar la contribución de cada incertidumbre
por separado. Este análisis requiere conocer el valor de la matriz de ganancias K para cada observación,
Considerando que las matrices que involucran ruidos o incertidumbres son diagonales, las podemos
PNq PNr PNm
escribir como Q= i=1 Qi , R= i=1 Ri y M(0) = i=1 Mi (0), donde cada matriz Ai contiene un
sólo término de incertidumbre. Se realizará una simulación por cada una de estas matrices (Nq +Nr +Nm
en total), igualando las otras a cero. Esto produce como salida Nq + Nr + Nm secuencias de matrices
Para mayor claridad, en los grácos se han separado las fuentes de error en 4 categorías
Los valores para los parámetros de error instrumentales, de GPS e incertidumbres en el estado inicial
de las diversas fuentes de incertidumbre es similar. El error en actitud inicial es el dominante, pero se
extingue rápidamente luego del inicio del vuelo. También decrecen los errores en velocidad incial, que,
a pesar de no tener una inuencia tan importante, son corregidos. El error inicial en el eje z (gura
3.6) del ángulo vectorial de error es el único remanente, que tiene una pequeña inuencia en el error
Una vez que desaparece la inuencia de la incertidumbre inicial sobre las componentes x e y del
error en actitud, este queda dominado por el ruido blanco en los giróscopos en primer lugar, y por
el ruido en la medición de velocidad del GPS en segundo. El ruido en los acelerómetros tiene menor
inuencia.
3.4. Presupuesto de Errores 63
El ruido en la medición de posición del GPS y los sesgos en los giróscopos tienen una incidencia un
orden de magnitud menor al de las variables analizadas anteriormente, y similar entre sí. El sesgo en
los acelerómetros es el segundo factor instrumental con inuencia notable. Se observa que los demás
parámetros instrumentales, tales como factores de escala y no ortogonalidad tienen un efecto apenas
El análisis es similar para el eje z del ángulo vectorial de error ϕb , aunque el error inicial en actitud
en este eje no es directamente observable, y por lo tanto decrece lentamente, comparado con los ejes xe
y . El ruido en los giróscopos sigue siendo igualmente dominante, pero con una magnitud mayor. El error
debido al ruido en la medición de velocidad GPS tiene una incidencia un poco mayor, aunque similar a
los otros ejes. El mayor cambio, sin embargo, se produce en la inuencia de los errores instrumentales,
siendo los sesgos y factores de escala de los giróscopos los más importantes. Esto se debe a que, al no
poder observar el error en actitud en el eje z mediante la medición de velocidad, este queda fuertemente
tante tener en cuenta que la medición de la fuerza especíca debe ser compensada con la estimación del
vector gravedad en ese punto. Es por esto que factores como el error en la estimación de la orientación
64 Capítulo 3. Estimación de Errores
del vehículo respecto de la tierra y el error en su posición tendrán un efecto notable en la calidad de
dicha compensación.
Se puede observar nuevamente que los errores en condiciones iniciales se extinguen rápidamente,
quedando como remanente el error inicial en actitud en el eje z de ϕb (gura 3.9). El error en velocidad
3.4. Presupuesto de Errores 65
inicial es el factor dominante, pero se hace despreciable dos segundos después de iniciado el vuelo
(guras 3.7 y 3.8). Los errores iniciales en actitud son los factores dominantes secundarios.
Durante el vuelo, una vez eliminado el efecto de los errores inciales, los factores más importantes
resultan ser el ruido en la medición de velocidad GPS y el ruido en los giróscopos, siendo sus magnitudes
similares. Resulta poco intuitivo en este caso que el ruido en los giróscopos tenga mayor incidencia que
el de los acelerómetros, resultado que adquiere mayor sentido cuando se considera la compensación del
El tercer factor determinante del error en velocidad es el ruido en los acelerómetros, y detrás de
este factor, se encuentran el ruido en la medición de posición GPS y las inestabilidades en parámetros
instrumentales, de los cuales los sesgos en los giróscopos y el factor de escala de los acelerómetros son
unos pocos factores sobre esta variable. Como era de esperarse, el error inicial en posición se extingue
en el tiempo, dando paso al dominio del ruido en la medición de posición del GPS, al que se suma el
En un grado mucho menor, hay una inuencia del ruido en los acelerómetros, seguido por el de los
giróscopos. Los parámetros instrumentales tienen un efecto prácticamente despreciable sobre el error
en posición, siendo el factor de escala y el sesgo en los acelerómetros los factores destacables, seguidos
factores con mayor inuencia en el error en la navegación de la trayectoria prevista son el ruido en los
instrumentos inerciales y en el GPS. Debido a que el efecto de la incertidumbre en los valores iniciales
de las variables de navegación se extingue en el tiempo, y que, en todo caso pueden ser mejoradas
mediante una mejor alineación, resulta interesante notar que una mayor calidad en las variables de
navegación en el largo plazo está estrechamente ligada a la reducción de los niveles de ruido en los
instrumentos.
Considerando que la IMU de la que se dispone tiene la capacidad de proveer datos hasta una
frecuencia máxima de 819,2Hz cuando el algoritmo de navegación inercial los requiere a 100Hz, y
tomando el resultado anterior, surge la posibilidad de promediar los datos inerciales provistos pos la
N N
" #
1 X 1 X 1 1
σ 2avg = Var xi = 2 Var [xi ] = 2 N σ 2 = σ 2
N N N N
i=1 i=1
√
Por lo tanto, el desvío del ruido queda reducido en un factor 1/ N . Aplicando este promediado a
68 Capítulo 3. Estimación de Errores
los datos de la IMU con una frecuencia de 800Hz, se tiene N = 8, lo que da una reducción en el
desvío del ruido de 0,3536. Los nuevos valores para los desvíos del ruido de giróscopos y acelerómetros
son de 0,1414°/s y 1,7678mg respectivamente, y son los valores que se utilizarán para el resto de las
simulaciones.
Lamentablemente este promediado no puede realizarse sobre los datos provistos por el receptor
GPS, debido a su baja tasa de actualización. Por esta razón, los valores indicados para los ruidos de
medición de posición y velocidad permanecen iguales. Se muestran los nuevos resultados del presupuesto
de error con los valores de ruido actualizados en el Apéndice B, donde se observa un comportamiento
similar para las fuentes de error, pero con una magnitud menor.
la de los demás factores. Los parámetros instrumentales más inuyentes resultan ser el sesgo en los
giróscopos y el factor de escala en los acelerómetros, particularmente sobre el eje z, seguido por el
sesgo.
Teniendo en cuenta la capacidad de cómputo limitada disponible durante el vuelo para realizar
cálculos en tiempo real, parece natural efectuar una reducción en la cantidad de estados considerados,
particularmente los correspondientes a los parámetros instrumentales con menor inuencia en la calidad
de los datos de navegación. Los estados eliminados corresponderían en principio a los factores de no
Esta idea será tenida en cuenta en los análisis subsiguientes, evaluando la posibilidad de quitar estos
estados y otros que no sean observables. Sin embargo debe recordarse que los efectos de los errores
instrumentales son despreciables frente a los ruidos de medición, por lo que la decisión no tendrá un
Navegación Integrada
Incorporando las técnicas descriptas en los capítulos anteriores, se está en condiciones de construir
el algoritmo de navegación integrado. El objetivo nal es acotar el crecimiento indenido de los errores
cometidos por el navegador inercial por su cuenta. Para esto, se construyó en el capítulo anterior un
modelo lineal para la dinámica del error, que describe la propagación del mismo a través del algoritmo
de navegación inercial. Mediante la observación de datos adicionales, como en este caso de un recptor
GPS, es posible además identicar incertidumbres en el estado inicial, así como errores instrumentales.
Se describe en este capítulo la forma de combinar la estimación del error efectuada por el Filtro de
Kalman con los datos de salida del navegador inercial para cumplir con el objetivo.
Se reserva una sección al estudio del caso, más cercano a la realidad, en que el dato provisto por el
receptor GPS llega con un retardo que puede ser signicativo. Se estudia el impacto de este retardo y
se analiza y simula una solución a este problema. Finalmente, se estudian los tiempos de ejecución del
El resultado de ejecutar el Filtro de Kalman es una estimación del error cometido en el cálculo
siguiente paso es utilizar esta estimación para corregir los datos. La forma de hacerlo dependerá de la
4.1.1. Actitud
Para el caso de la actitud, se recuerda que una de las deniciones utilizadas es
69
70 Capítulo 4. Navegación Integrada
∼ b
= Cebreal Cbreal
IN S
siendo la aproximación válida siempre que el ángulo vectorial de error ϕb sea un ángulo pequeño.
Asumiendo que la condición anterior se da, el equivalente de esta denición para cuaterniones es
rotación que se estima mediante el Filtro de Kalman y qebreal es el cuaternión real. Con esto en cuenta,
∗
qebreal = q̂ebIN S ◦ qbbreal
IN S
Esta es la variable que se usa de aquí en adelante, hasta que se corrija el estado nuevamente. Después
de hacer esto es necesario establecer en el algoritmo que el error cometido es ahora nulo (ϕ
b = 0), ya
δu = û − u (4.1)
Filtro de Kalman para el error en ese estado. En este caso, la corrección es directa:
u = û − δu (4.2)
onalidad) según:
δu = u − û (4.3)
u = û + δu (4.4)
4.2. Algoritmo de Navegación Integrado 71
Ya se dieron todos los elementos necesarios para la implementación del navegador integrado. Debe
mecionarse que, dado que el vector de estados contiene la estimación del error que comete el INS,
luego de corregir las variables de navegación, debe forzarse δx = 0. Esto se debe a que 0 es la mejor
estimación del error en el INS inmediatamente después de ser corregido. En caso de que la corrección
se realice cada vez que hay una observación disponible, no hay razón para realizar la propagación del
vector de estados mediante la matriz de transición, ya que el primero siempre permanecerá en cero.
Además, el paso de actualización del vector de estados queda simplicado de la siguiente form
δxk+1/k+1 = δxk+1/k + Kk+1 yk+1 − Ck+1 δxk+1/k (4.5)
Sin embargo, no se elimina este paso del algoritmo debido a que representa el caso más general, siendo
las variables de navegación con la estimación del error provista por el Filtro de Kalman, se implementa
Las guras 4.1, 4.2 y 4.3 muestran los errores en actitud, velocidad y posición del navegador
integrado. Estos errores resultan de navegar el mismo juego de datos utilizado en la sección 2.7 para
ilustrar el efecto de ruidos y errores instrumentales en una IMU. Se observa una marcada mejoría en
la calidad de las variables de navegación, oscilando en torno a cero con una determinada conabilidad,
dada por la covarianza de la estimación del Filtro de Kalman. Adicionalmente, se corrigen rápidamente
los errores en actitud y posición inicial, algo que no era posible utilizando simplemente el navegador
inercial.
estar descorrelacionadas, ya que representan una sucesión de vectores ortogonales entre sí. Se muestra
del lado izquierdo de las guras 4.4 y 4.5 los procesos de innovaciones, mientras que del lado derecho se
gracan las funciones de autocorrelación de los mismos. Se observa que las funciones de autocorrelación
son similares a una función delta, típica de un proceso de ruido blanco descorrelacionado.
El análisis de las innovaciones es una herramienta importante para saber si el Filtro de Kalman
está funcionando correctamente. Cualquier inconsistencia en los valores elegidos para los procesos de
ruido y observación puede manifestarse modicando el esquema anterior, obteniendo una función de
En las guras 4.6 y 4.7 se muestran las covarianzas teóricas de los errores instrumentales calculadas
por el Filtro de Kalman. Debe notarse que los parámetros para los que es posible observar el error ven
su desvío reducido cada vez que se efectúa una actualización del Filtro de Kalman. Los parámetros
que no es posible observar mediante la medición del error en posición y velocidad tienen un desvío
4.2. Algoritmo de Navegación Integrado 75
que crece en el tiempo debido al ruido de proceso. La observabilidad de los parámetros depende de
Figura 4.6: Desvío del Error en la Estimación del Bias de los Giróscopos (°/s)
Figura 4.7: Desvío del Error en la Estimación del Bias de los Acelerómetros (m/s )
2
76 Capítulo 4. Navegación Integrada
El sesgo en los giróscopos es observable en todos sus ejes, y por ende el desvío en su estimación se
reduce con el tiempo. Por otro lado, el sesgo en los acelerómetros es observable solamente en el eje z,
Figura 4.8: Desvío del Error en la Estimación del Factor de Escala de los Giróscopos
Figura 4.9: Desvío del Error en la Estimación del Factor de Escala de los Acelerómetros
El factor de escala de los giróscopos (gura 4.8) no es observable en niguno de sus ejes durante
4.2. Algoritmo de Navegación Integrado 77
el vuelo impulsado. Sin embargo, a partir de los 60 segundos, el desvío de la estimación en el eje z
comienza a decrecer. Esto apoya la idea de eliminar estos estados del vector de estados, ya que no
aportan información útil durante el vuelo (de hecho, se naliza con una incertidumbre aún mayor que
en los instantes iniciales). El factor de escala de los acelerómetros (gura 4.9) es observable únicamente
en el eje z.
Figura 4.10: Desvío del Error en la Estimación del Factor de No Ortogonalidad de los Giróscopos
Figura 4.11: Desvío del Error en la Estimación del Factor de No Ortogonalidad de los Acelerómetros
78 Capítulo 4. Navegación Integrada
guras 4.10 y 4.11 respectivamente, se evidencia un crecimiento lineal del desvío en la estimación,
El análisis de los datos obtenidos mediante la navegación integrada conrma la idea de elminar
estados no observables y con poca inuencia en el error nal. Se ha conrmado que los factores de no
determinante sobre el error nal. De este modo, resulta natural desecharlos del vector de estados,
ganando simplicidad en el Filtro de Kalman y tiempo de cálculo. Por otro lado, los factores de escala
de los giróscopos no son observables durante el vuelo, razón por la cual conviene también descartarlos.
El factor de escala de los acelerómetros tiene mayor inuencia sobre el error que el sesgo, y por
ende resultaría evidente la necesidad de incluir el primero en el vector de estados. Sin embargo, la
dependencia del sesgo con la temperatura, voltaje de operación, y otros factores hace del mismo un
parámetro mucho más variable que el factor de escala [1]. Es por esto que resulta más seguro incluirlo
en el vector de estados, dejando fuera el factor de escala, que tiene un valor más estable. A partir de
este momento, el nuevo modelo dinámico del error viene dado por las siguientes matrices:
ϕ̇b −S(ω̂ bib ) 0 0 I 0 ϕb
˙e −Ĉeb S(f̂ b ) −2S(Ωeie ) γe Ĉeb
δVe
δV 0
˙e =
δP 0 I 0 0 e
0 δP
˙
δbω 0 0 0 0 0 δbω
δb˙ f 0 0 0 0 0 δbf
I 0 0 0 0 ξω
e
0 Ĉb I 0 0 ξf
+ 0 0 0 0 0
ξg
(4.7)
0 0 0 I 0 ξ bω
0 0 0 0 I ξ bf
ϕb
e
δV
yP os 0 0 I 0 0 η P os
= e
δP +
(4.8)
yV el 0 I 0 0 0 η V el
δbω
δbf
cometido, no resultaba atractivo para una aplicación real. Sin embargo, al utilizarlo dentro del contexto
estimar el error cometido por el navegador inercial y utilizando esta información para corregirlo, es
posible lograr una performance prácticamente idéntica a la del navegador integrado basado en un
En las guras 4.12 a 4.14 se comparan los errores en actitud, velocidad y posición de navegadores
integrados que utilizan como base los algoritmos inerciales mencionados. Se ha navegado exactamente
el mismo conjunto de datos para la comparación. Los resultados son casi idénticos para los tres tipos
4.2.3. Alineación
A pesar de que en la aplicación en consideración la posición y actitud del vehículo antes del vuelo
pueden ser conocidas, inicializando el algoritmo de navegación con esos valores, existen pequeños
desvíos que es conveniente identicar. La alineación es el proceso por el cual se determina la posición
4.2. Algoritmo de Navegación Integrado 81
y orientación de los ejes del sistema de navegación respecto de la terna de referencia. Resulta crucial
una correcta alineación si se ha de navegar inercialmente, ya que los errores iniciales se propagan en
el tiempo, degradando la calidad de la información. En este caso, es común utilizar la técnica de gyro-
compassing, dependiente de las mediciones de fuerza especíca y velocidad angular en estado de reposo
sobre la supercie terrestre. Sin embargo, esto requiere de giróscopos de muy buena calidad, capaces
las mediciones del receptor GPS para identicar y corregir errores iniciales en posición y actitud.
Adicionalmente, es posible identicar parcialmente los sesgos en la IMU, lo que reduce su impacto
durante el vuelo.
corregido inmediatamente en los ejes x e y , mientras que en z este error no es observable y por lo tanto
se propaga en el tiempo. Esto se debe a que la actitud es determinada mediante la acción del vector
gravedad, que es invariante ante una rotación respecto del eje vertical.
Las incertidumbres iniciales en velocidad y posición (guras 4.16 y 4.17) son también identicadas
rápidamente, mientras que la covarianza del error en la estimación de estas variables se estabiliza en
Por otro lado, las desviaciones en los sesgos del giróscopo en los ejes xey son identicados, aunque
en un tiempo considerable (gura 4.18). El sesgo en el eje relacionado con la medición del ángulo de
En el caso de los acelerómetros (gura 4.19), el único sesgo observable es el del eje z, que en la
orientación inicial mide el efecto del vector gravedad (o más precisamente, la fuerza normal del suelo
En el cuadro 4.1 se muestran los desvíos nales en la estimación del error alcanzados por el Filtro
de Kalman. Se han considerado únicamente las variables observables. Puede verse que se obtiene un
desvío del error signicativamente menor a los valores de error iniciales. El caso más notable es el de
la posición, en que se logra un desvío del 15 % del valor original, mientras que en los sesgos el desvío
4.2. Algoritmo de Navegación Integrado 85
en que el receptor GPS no provee datos de salida a la frecuencia especicada. Para simular este
escenario, se incorpora una probabilidad de pérdida de datos del GPS del 50 %, lo que da origen a
una secuencia no periódica. El navegador integrado actualiza la estimación del error en el momento en
que se obtiene una medición GPS válida, mientras que, cuando no hay datos disponibles, se propaga
la matriz de covarianza incorporando el ruido de proceso. Esto puede observarse en las guras 4.22 a
4.24, en que la covarianza del error aumenta en los períodos en que no hay datos GPS disponibles,
A pesar de contar con la mitad de las mediciones disponibles durante el vuelo, se observa que el
error se mantiene dentro de su cota de 2σ , excepto para el caso del eje x de la posición. Los niveles de
86 Capítulo 4. Navegación Integrada
demuestra que la información incorporada es independiente. Esto indica que el sistema de navegación es
Debido a que los errores en los datos de la IMU y GPS son aleatorios, la simulación de la navegación
de una determinada trayectoria dependerá de cada incerteza y proceso de ruido presentes. Al comparar
la trayectoria navegada con la ideal, se obtiene un gráco del error cometido en la navegación. Una sola
realización de esta simulación no es suciente para establecer cotas para los errores cometidos, por lo
que se recurre a una simulación de Monte Carlo para obtener resultados con signicancia estadística.
Se realiza un número alto de simulaciones, utilizando datos de IMU, GPS, y condiciones iniciales
del conjunto de trayectorias obtenido permite obtener datos importantes acerca de la conabilidad del
sistema de navegación.
y comparándolos con los estimados por el Filtro de Kalman. Los estados analizados mediante este
N
1 X
µx = xi (4.9)
N
i=1
v
u N
u 1 X
σx = t (xi − µx )2 (4.10)
N −1
i=1
Se graca la media en azul y la cota de 2 desvíos en rojo para el resultado de las simulaciones.
4.3. Simulación de Monte Carlo 89
Se puede ver que las medias de los diferentes errores se mantienen en cero, que es el comportamiento
esperado para el navegador. La gura 4.27 muestra un error en actitud que se mantiene dentro de los
0,3° para los ejes x e y, con un intervalo de conanza del 95 %. El error en velocidad tiene una cota de
2σ que ronda los 0,5m/s, y el de posición converge lentamente a 8m (guras 4.28 y 4.29).
90 Capítulo 4. Navegación Integrada
Se comparó la covarianza calculada por el Filtro de Kalman con la covarianza del error obtenida en
las simulaciones. Hay buena concordancia entre ambas para posición y velocidad (guras 4.31 y 4.32,
respectivamente). Como se muestra en la gura 4.30, aparece una diferencia en el caso de la covarianza
Los picos observados más notoriamente en el error en velocidad con una frecuencia de un segundo
corresponden a los períodos en que se navega inercialmente. En este período de tiempo, los ruidos
así como su actualización cuando llega una observación. Es por eso que realizar la propagación de la
matriz de covarianza a priori cada 100ms puede resultar comprometedor. Debido a que la dinámica
del vehículo bajo las condiciones de la trayectoria en consideración no es muy rápida, puede asumirse
con cierto grado de error que las mediciones inerciales se mantienen aproximadamente constantes en
intervalos de 1 segundo. En este caso, es posible calcular la matriz de transición de estados Φk para
cada segundo, utilizándola para propagar el vector de estados y la matriz de covarianza a priori en este
intervalo de tiempo. De esta forma, el paso T en las ecuaciones 3.3 y 3.9 pasa a valer 1 segundo, y el
Filtro de Kalman se ejecuta en su totalidad con una frecuencia de 1Hz. Esta estructura del algoritmo
resultará además útil cuando se considere el retardo en el dato del GPS, por lo que se estudia mediante
Se han simulado nuevamente 300 trayectorias utilizando el nuevo método de propagación de ma-
trices y se muestran las medias y cotas de 2 desvíos para el error en cada variable de navegación.
Se gracan las medias y desvíos para la propagación cada 100ms en negro, mientras que los nuevos
resultados se muestran en azul y rojo. Los grácos muestran que realizar la propagación de la matriz
de covarianza cada un segundo no afecta en ninguna forma la performance del navegador. Las medias
y desvíos conciden perfectamente, indicando que, para esta aplicación en particular es posible evitar
4.3. Simulación de Monte Carlo 93
propagar las matrices cada 100ms, sin degradar en forma alguna la calidad de los datos.
Se ha asumido que la sincronización entre las mediciones inerciales y las del receptor GPS es
perfecta. En la práctica, esto se puede aproximar utilizando el PPS (Pulse per Second) generado por el
receptor como marca de tiempo, a partir de lo que se puede generar un clock que gobierne la toma de
datos de IMU y GPS. A pesar de que se puede asumir que las mediciones son simultáneas, el receptor
entrega el dato con un cierto retardo debido al procesamiento de la información para obtener posición
y velocidad. Este retardo puede ser de cientos de milisegundos, lo que tiene una importante inuencia
En las guras 4.36 a 4.38 se muestran los errores resultantes de una simulación de Monte Carlo
de una trayectoria con datos GPS retrasados aleatoriamente entre 450ms y 750ms, que son valores
esperables para este proyecto. Se actualizó el vector de estados en el instante en que se recibió el dato
GPS como si correspondiese a ese momento. La performance del sistema se ve gravemente degradada,
en particular la media del error de navegación, a pesar de que su varianza se mantiene acotada debido
Por otro lado, en las guras 4.39 y 4.40 se observan los procesos de innovaciones. Se mencionó que
cuando el Filtro de Kalman funciona correctamente, deben ser secuencias de datos descorrelacionados.
Sin embargo, al no tener en cuenta el retraso del dato GPS, aparece una correlación temporal. Resulta
evidente la necesidad de considerar este retardo en la estimación de los errores y la corrección de las
96 Capítulo 4. Navegación Integrada
Una posible consideración del retardo consiste en propagar las mediciones de posición y velocidad
en el tiempo. Para el caso de la posición, esto es muy simple ya que se utiliza la medición de velocidad
del GPS para calcular una posición posterior. La contrapartida es que se reduce la conabilidad del
4.4. Consideración de un Retardo en el Dato GPS 97
dato, ya que se incorpora el ruido de la medición de velocidad. Para los valores considerados esto no
La propagación de la velocidad, por otro lado, considera la aceleración, que no es provista por el
recpetor GPS y debe ser estimada. Si se hace a partir de mediciones sucesivas de velocidad, también
se correlaciona el ruido de medición, que deja de ser blanco. Este resulta un problema mayor para el
navegador, que asume esta naturaleza para todos los procesos de ruido.
Un proceso que salvaguarda la naturaleza de los ruidos y mantiene la estructura del navegador
tiempo mediante la matriz de transición de estados Φk . En el navegador propuesto en este trabajo este
paso no ocurre, ya que una vez disponible la estimación del error, se procede a corregir las variables
de navegación, después de lo cual se fuerza el vector estados a cero (ya que se asume se han eliminado
los errores).
sigue propagando el vector de estados, la estimación sigue siendo óptima con la información disponible
(aunque degradada respecto del momento de la actualización, ya que el ruido de proceso incrementa
la varianza en la estimación). Aplicando esta característica al problema del retraso en el dato GPS, es
posible calcular la actualización del vector de estados de un instante previo, (siempre que se conozca
la ganancia de Kalman correspondiente a ese instante) y luego propagarlo hasta un instante posterior
de interés.
Cuando el vector de estados se propaga utilizando la dinámica del proceso, se aplica la matriz de
δxk+1/k = Φk δxk/k−1 + Kk yk − Ck δxk/k−1 (4.11)
= Φk δxk/k−1 + Φk Kk yk − Ck δxk/k−1 (4.12)
innovación. Este último término es el de interés para el problema en cuestión, ya que indica que es
De la estructura del Filtro de Kalman puede verse que el cálculo de la ganancia de Kalman 3.10
98 Capítulo 4. Navegación Integrada
del problema del retardo, es posible conocer el momento de medición gracias al PPS generado por
el receptor. En este momento se guardan los datos de posición y velocidad del INS con los que se
compararán los datos del GPS, y se calculan la ganancia Kk+1 y la matriz de covarianza a posteriori
Pk+1/k+1 . Cuando el dato correspondiente a ese instante de tiempo está disponible para su lectura,
Teóricamente, la forma más conveniente de utilizar este método es actualizar el vector de estados y la
matriz de covarianza en el momento que se recibe el dato (que será variable con el delay). Esto garantiza
que la información incorporada posee la menor varianza posible. Sin embargo, diculta notablemente
los cálculos que deben realizarse, ya que es necesario propagar la matriz de covarianza entre el momento
de la toma de la medición hasta el de la actualización, y luego desde este instante hasta el de la toma de
la medición siguiente. Esto implica calcular dos veces por segundo la matriz de transición de estados
y la matriz de covarianza a priori, lo que a primera vista resulta poco práctico, sobre todo en una
Si se decide mantener los instantes de actualización jos cada 1 segundo, entonces el problema
queda simplicado, ya que las matrices se actualizan (en el sentido numérico) cada 1 segundo. De esta
forma, sólo es necesario cambiar el orden de la actualización, calculando primero el vector de estados
a posteriori (en función de las matrices del instante previo) y luego calcular la matriz de transición de
estados para propagarlo, así como la matriz de covarianza. En la gura 4.41 se representa la secuencia
de pasos a seguir para actualziar el vector de estados con mediciones del instante previo.
grado queda modicada como se muestra en el algoritmo 4.2. Los datos del GPS recibidos corresponden
4.4. Consideración de un Retardo en el Dato GPS 99
distinta; más considerando la complejidad de un método sobre otro. Por este motivo, se ha optado por
propagar la innovación hasta el segundo siguiente, resultando en la misma cantidad de operaciones que
Algoritmo 4.2 Navegador Integrado INS/GPS Considerando Retardos en los Datos GPS
Inicializar Variables del Navegador (Pe , Ve , qeb )
Inicializar Variables del Kalman (ϕb , δVe , δPe , δbω , δbf , P0/0 )
While(1)
{
Ejecutar Navegador Inercial (calcula Pe , Ve , qeb )
if(Datos PGP
k
S y VGP S disponibles)
k
{
Calcular la covarianza de la estimación pasada Pk/k = (I − Kk Ck ) Pk/k−1
Calcular la Observación del error pasado yk = ykIN S − ykGP S
Corregir la estimación del error pasado δxk/k = δxk/k−1 + Kk yk − Ck δxk/k−1
Calcular Fk , Bk y Φk
Propagar el estado al instante actual δxk+1/k = Φk δxk/k
Corregir las variables de navegación y parámetros instrumentales
(Pe ,Ve ,qeb ,bω ,bf )
y resetear el vector de estados δxk+1/k = 0
Propagar la matriz de covarianza actual Pk+1 = Φk Pk/k ΦTk + Bk QBTk Tk
−1
Calcular la ganancia de Kalman actual Kk+1 = Pk+1/k CTk+1 Ck+1 Pk+1/k CTk+1 + Rk+1
}
}
Nuevamente, si se decide corregir las variables de navegación cada vez que se obtiene una nueva
δxk/k = Kk yk (4.13)
mientras que incorporando la propagación del estado hasta el instante actual, se obtiene
δxk+1/k = Φk Kk yk (4.14)
100 Capítulo 4. Navegación Integrada
4.4.2. Simulaciones
Simulando nuevamente 300 trayectorias, se obtuvieron las medias y varianzas de los errores cometi-
dos en los parámetros de navegación, y se las comparó con las obtenidas en el caso sin retardo. Se
graca en negro las medias y cotas de 2σ del desvío para el caso sin retardo, expuesto en la sección
anterior, mientras que para las medias y desvíos de la nueva simulación se siguen utilizando el azul y
el rojo, respectivamente.
Se observa que el desvío del error en actitud (gura 4.42) converge prácticamente al mismo valor
que en el caso sin retardo, aunque desfasado un segundo en el tiempo. Sin embargo, como se mostró
antes, este parámetro no había sufrido grandes cambios al incorporar el retardo en las mediciones. La
media del error, por otro lado, se mantiene en cero, indicando que la estimación del error es correcta.
Por otro lado, el desvío del error en velocidad mostrado en la gura 4.43 sufre una alteración más
notoria, particularmente en los primeros 10 segundos de navegación. Luego de este transitorio, el desvío
sigue una curva similar al caso sin delay, aunque ligeramente mayor. El desvío del error en posición
(gura 4.44) se comporta idénticamente al caso sin retardo, siempre con un desfasaje de un segundo.
4.4. Consideración de un Retardo en el Dato GPS 101
lo más cercana posible al caso sin retardo. De esta forma, se resuelve el problema del retardo en el
dato del GPS, manteniendo la performance del sistema de navegación, y más importante, con la misma
de navegación integrada. Se ha visto que la mejora en la calidad de los datos provistos, así como en la
robustez del sistema es notoria. Sin embargo, las simulaciones dadas constituyen una prueba parcial
de estas cualidades.
En este capítulo se discute la inclusión del navegador integrado en un simulador que contempla
diversas variables físicas y ambientales, e incorporando los sistemas de guiado y control. Se pretende
que fue diseñado, utilizando los datos navegados para alimentar otros sistemas que a su vez toman
decisiones en base a los mismos. En este caso, las simulaciones se realizan a lazo cerrado (on-line),
distinguiendolas de las efectuadas a lazo abierto únicamente sobre la trayectoria nominal (o-line).
Para comprobar la validez de los datos provistos por el sistema de navegación se lo incluyó en un
simulador, que integra los sistemas de navegación, guiado y control del cohete. El sistema de guiado,
basado en el trabajo desarrollado en [19], toma la posición, velocidad, actitud y velocidad angular
corregida y calcula las acciones que debe tomar el sistema de control para seguir la trayectoria deseada.
Además incluye perturbaciones sobre el vehículo debidas a vientos, modela los actuadores, tanques de
combustible, y modos de vibración, por lo que constituye un resultado importante desde el punto de
vista de la validación del algoritmo de navegación en una aplicación que exige un correcto desempeño
del sistema.
102
5.1. Estructura del Simulador 103
en vez de Gaussianos, con el objetivo de exigir al navegador. Se consideró un ancho de 6σ para una
distribución Gaussiana, siendo reemplazada por una uniforme. Desde el punto de vista teórico, esto
implica una degradación en la estimación, ya que el estimador lineal óptimo deja de serlo en todo sentido
si el ruido no es Gaussiano. Las potencias de los ruidos se mantienen como en los ejemplos anteriores
y se gracan las medias y errores de 2σ para una simulación de Monte Carlo de 100 trayectorias.
Se graca en esta sección el error en actitud del navegador utilizando los ángulos de Euler: Roll,
Pitch y Yaw, que tienen relación directa con los ejes del vehículo. Estos ángulos se pueden obtener a
obtener
2(q2 q3 − q1 q4 ) 2(q2 q3 − q1 14 )
φ = arctan = arctan (5.1)
q42 + q32 − q22 − q12 1 − 2(q22 + q12 )
θ = arcsin (−2(q1 q3 + q2 q4 )) (5.2)
2(q1 q2 − q3 q4 ) 2(q1 q2 − q3 q4 )
ψ = arctan 2 = arctan (5.3)
q4 + q12 − q22 − q32 1 − 2(q22 + q32 )
donde se ha utilizado la propiedad de norma unitaria de los cuaterniones, kqk2 = q12 + q22 + q32 + q4 = 1.
Debido a que el vehículo no realiza control de rolido, el error de actitud inicial en este eje no causa
mayor impacto en la práctica. Por esta razón se consideran errores en actitud del orden de 1 grado
para Pitch y Yaw, mientras que en Roll el error es de 6 grados. Se observa en la gura 5.2, sin embargo,
una degradación de la performance del sistema de navegación respecto de las simulaciones o-line con
5.1. Estructura del Simulador 105
ruido Gaussiano. Luego de un transitorio, el error en actitud en los ejes de Pitch y Yaw se mantiene
dentro de los 0,8°, mientras que el error en Roll tarda en converger a un desvío mayor, que llega en su
El error en velocidad (gura 5.3) también se ve incrementado respecto del caso o-line. De igual
forma, luego de un transitorio, se mantiene dentro de 0,8m/seg para los ejes x y y, mientras que para
el eje z converge a 0,4m/seg. El error en posición, mostrado en la gura 5.4, se mantiene dentro de los
Si bien los valores para los desvíos obtenidos para el navegador en presencia de ruido no Gaussiano
son mayores, su valor es acotado y menor que el de las mediciones disponibles. En la sección siguiente
se observará que estos niveles de conablidad son sucientes para asegurar un correcto guiado del
vehículo.
inicial. Puede observarse que los picos en el desvío tienen una frecuencia de 10Hz , coincidente con la
frecuencia de las acciones de control de actitud. Debido a que no hay control de rolido, el error en este
En la gura 5.6 se observan con mayor claridad las medias y desvíos del error de guiado durante
el vuelo controlado. La naturaleza ondulatoria del error concuerda con un vehículo oscilando alrede-
dor de la trayectoria deseada, y el desvío del error en Roll es acotado, mientras que su media crece
Otro de los parámetros de interés en el guiado es el error en altitud (Ascent Altitude Error). El
error se mantiene dentro de límites establecidos para este vehículo, con una media que llega a 10m de
error, y un desvío que llega en su máximo a los 11m. Debe notarse que en este caso el crecimiento del
desvío no guarda relación con la oscilación en torno a la media, sino que el error en las trayectorias
La media del error de rango (Range Error) llega a los 60m, mientras que su desvío aumenta hasta
alcanzar los 11m. Finalmente, el error de seguimiento lateral (Lateral tracking Error) es el que más se
desvía de la trayectoria nominal, llegando su media a valer 40m, y con un desvío de 130m.
A pesar de que las magnitudes de estos errores resultan mucho mayores que los cometidos por
el navegador integrado, se encuentran dentro de valores esperados para el vuelo en las condiciones
dispuestas. Vale aclarar que los errores resultantes para el vehículo no son únicamente dependientes
del error en el navegador, sino que se contemplan los errores en los sistemas de guiado y control.
5.2. Consideración del Retardo en el Dato GPS 109
Tal como se hiciera en la Sección 4.4, se analiza la performance del navegador integrado cuando
se toma en consideración un retardo en el dato GPS. En esta sección se analizan nuevamente los
resultados del simulador mediante el método de Monte Carlo. Incorporando la actualización retrasada
Los resultados son consistentes con los mostrados anteriormente. Como se ve en la gura 5.10,
la media del error en actitud permanece en cero mientras que la varianza converge prácticamente a
la obtenida sin retardo en el dato GPS. Es notable el hecho de que este método reduce el efecto del
transitorio inicial en actitud, debido al segundo adicional que tarda en comenzar la corrección. En las
guras 5.11 y 5.12, se muestra que la media y la varianza del error en posición coinciden, mientras que
En el error de guiado (guras 5.13 y 5.14) se ve reejada la reducción del efecto del transitorio
en actitud, siendo menor que en el caso anterior. Puede observarse además una reducción inicial en el
desvío del error en Roll, aunque después de los 10 segundos, pasa a ser apenas mayor como consecuencia
La media y desvío en el error de altura (guras 5.15 y 5.16) son inicialmente idénticos, y comienzan
a apartarse a partir de los 30 segundos. A pesar de esto, sus valores resultan muy similares.
En el caso del error de rango, gracado en las guras 5.17 y 5.18, las medias son prácticamente
coincidentes durante todo el vuelo, mientras que el desvío del navegador con delay llega a ser 1m mayor
5.2. Consideración del Retardo en el Dato GPS 113
Finalmente, en las guras 5.19 y 5.20 se observa que la media del error de seguimiento lateral
se aparta notoriamente, especialmente a partir de los 40 segundos. El desvío, por otro lado, llega a
Los errores en que se incurre al modicar el navegador para considerar el delay en el dato GPS
son consistentes con una ligera degradación de la calidad en los datos de navegación. Sin embargo, las
diferencias son menores, resultando la solución propuesta muy útil y de fácil implementación.
5.3. Tiempos de Ejecución 115
aparecen restricciones sobre los tiempos de procesamiento de la información. Por un lado, la IMU
impone una frecuencia de trabajo de 100Hz, lo que da una ventana de 10ms para procesar las mediciones
inerciales antes de recibir otro paquete de datos. Sin embargo, el algoritmo de navegación correrá en
una computadora junto con los sistemas de guiado, control, y rutinas de comunicaciones; esta situación
reduce aún más el tiempo disponible para resolver la navegación inercial. Las rutinas de guiado y control
se ejecutan a una tasa de 100ms, lo que libera en gran medida los recursos para correr las rutinas de
navegación.
Cada vez que llega un dato GPS y se calculan las matrices correspondientes a la dinámica, propa-
gación, y actualización del Filtro de Kalman, ocurre un incremento muy importante de la carga com-
Cada 1 segundo las rutinas de navegación (inercial e integrada), guiado, y control coinciden en su
caso para el hardware desde el punto de vista de los tiempos de cálculo. Idealmente, el algoritmo de
navegación inercial debe seguir ejecutándose en tN + 10ms, momento en que llega un nuevo dato de la
IMU. Esto impone un margen de tiempo demasiado acotado para la nalización de todas las rutinas
descriptas. Gracias a que el sistema de control requiere el siguiente dato de navegación en tN + 100ms,
una opción es proveer el dato en tN antes de ejecutar el Filtro de Kalman (dar el resultado de la
navegación inercial en ese instante). El sistema de control tendrá el dato que necesita, y el Filtro de
Kalman podrá ejecutarse después de esto, con una ventana de 100ms para nalizar los cálculos. En
este caso, algunos paquetes de datos de la IMU se colocarán en un buer para ser procesados cuando
Se muestran en la tabla 5.1 los tiempos de ejecución de cada fase del algoritmo de navegación
inercial optimizado, donde se ha utilizado el algoritmo 2.3. Se han indicado los ciclos internos del
algoritmo, considerando los tiempos de ejecución máximos. Por otro lado, se incorporan los tiempos
de ejecución del algoritmo de navegación inercial de baja precisión presentado en la sección 2.5. Debe
mencionarse que en el hardware en consideración, los tiempos medidos son extremadamente regulares,
siendo la variación de los mismos típicamente menor a 10µs, y eventualmente con un incremento menor
a 50µs.
116 Capítulo 5. Incorporación del Sistema de Navegación Integrado en un Simulador
Se observa que, cuando se ejecutan todos los ciclos del navegador inercial, y en el peor caso, el
tiempo de ejecución no supera los 4ms. Esto representa menos de la mitad de la ventana de 10ms de
la que se disponía originalmente, dejando los otros 6ms para ejecutar otras operaciones.
En la tabla 5.21 se muestran los tiempos de ejecución para el Filtro de Kalman y la corrección de
variables de navegación, también para el peor caso. Puede observarse que las funciones que trabajan
con multiplicación de matrices son las que insumen mayor tiempo. El tiempo total de ejecución del
Filtro de Kalman y de la corrección de las variables de navegación supera ampliamente el margen inicial
de 6ms que deja el algoritmo de navegación inercial luego de ejecutarse, por lo que deberá ejecutarse
En la tabla 5.22 se han detallado los tiempos de ejecución totales para cada ciclo del navegador
inercial de precisión, mostrando también los del navegador inercial basado en el método de Euler. Se
puede observar que los ciclos rápido y medio del navegador de precisión se ejecutan en un tiempo
menor que el de Euler, mientras que al calcularse también el ciclo lento, el tiempo se ve incrementado,
tardando 1, 2ms más que el mismo. Basados en esta información, es interesante notar que a pesar de
ofrecer una precisión mucho mayor, el navegador inercial de precisión no demanda mucho más tiempo
5.4. Conclusiones 117
Si se considera que el algoritmo inercial consume 25, 233ms de cálculo cada 100ms, es posible
incorporar el Filtro de Kalman antes de proveer la siguiente salida para el sistema de control. Una
vez que termine de calcularse el Filtro de Kalman, se habrán acumulado en un buer 2 paquetes de
datos de la IMU para ser procesados, por lo que, teniendo en cuenta lso tiempos de cálculo de los
ciclos rápido y medio, el algoritmo estará trabajando en condiciones normales nuevamente a partir de
tN + 30ms.
5.4. Conclusiones
El objetivo de esta Tesis ha sido diseñar un sistema de navegación para un cohete suborbital que
ecuaciones de navegación en una terna de navegación conveniente para obtener los parámetros de
actitud, velocidad y posición buscados. Se desarrollaron dos métodos de integración numérica distintos,
uno basado en el método de Euler, y otro en el trabajo de Savage. Se demostró que bajo condiciones
ideales, sin incertidumbre en las condiciones iniciales o en la IMU, existe una importante diferencia
en la precisión de estos dos algoritmos, que a priori determina una inclinación hacia la elección del
algoritmo de Savage por sobre el de Euler. Sin embargo, en presencia de ruidos instrumentales y errores
en condiciones iniciales, el error debido a la integración numérica deja de ser el factor determinante en
la precisión de ambos algoritmos, situación que los pone en pie de igualdad. Por lo tanto, la ventaja
del navegador inercial de Savage por sobre el de Euler es dependiente de la calidad de la IMU.
estimador lineal óptimo en presencia de ruido blanco Gaussiano, que incorpora la dinámica del estado
118 Capítulo 5. Incorporación del Sistema de Navegación Integrado en un Simulador
del sistema y su observación para proveer una estimación de mínima varianza. Se analizó la inuencia de
diversos factores de error sobre la incertidumbre nal por medio del Presupuesto de Errores, observando
que, al extinguirse el efecto de la incertidumbre inicial en las variables de navegación, el ruido de
medición en giróscopos y en la velocidad provista por el GPS son los factores dominantes, seguidos por
el ruido en los acelerómetros. Conociendo esta información, se decidió eliminar los factores de escala
y no ortogonalidad del vector de estados debido a su mínima inuencia en el error nal. Queda en
evidencia que los ruidos en giróscopos y en velocidad GPS actúan como factores limitantes para la
Una importante reducción en estos factores de ruido permitiría identicar de forma más precisa errores
instrumentales tales como sesgos, ganando precisión en dos frentes. Por lo tanto, se propuso promediar
datos consecutivos de la IMU con el objetivo de promediar el ruido presente en ellos y reducir su
impacto en la navegación.
Una vez desarrollado el algoritmo de navegación inercial y un método de estimación de su error por
medio del Filtro de Kalman, se procedió a integrar los datos provistos por ambos sistemas. Se comprobó
que, cuando se navega en forma integrada, el error en las variables de navegación en presencia de ruido
instrumental e incertidumbre en el estado inicial queda acotado. Del mismo modo, se complementó
el navegador inercial basado en el método de Euler con el Filtro de Kalman, obteniendo resultados
prácticamente idénticos a los del navegador basado en el de Savage. Este hecho demuestra que la
navegación integrada resulta muy robusta ante diferentes tipos de perturbaciones, haciéndola una
A partir de la equivalencia en la performance para las dos versiones del navegador integrado, y en
vista de la evidente simplicidad del método de Euler por sobre el de Savage, parece natural utilizar
el primero como navegador inercial. Por medio de la medición de los tiempos de ejecución para las
funciones que componen los algoritmos de navegación inercial y el Filtro de Kalman, se comparó la
eciencia de las rutinas de navegación, llegando a la conclusión de que no hay una clara ventaja de un
método sobre otro. Más aún, la simplicidad del método de Euler no se ve reejada en los tiempos de
ejecución de las rutinas de navegación inercial -de hecho, el navegador inercial de Savage se ejecuta en
un tiempo menor que el de Euler, salvo cuando se ejecutan los tres ciclos consecutivamente-. Debido a
que para futuros vehículos se prevé navegar inercialmente utilizando sensores inerciales de alta calidad,
y en vista del resultado recién mencionado, parece interesante utilizar el navegador basado en el trabajo
Aprovechando la dinámica lenta del vehículo, y con el objetivo de aligerar la carga computacional,
se decidió analizar el caso en que se propaga la matriz de covarianza a priori cada 1 segundo, en lugar de
cada 0, 1 segundos. Mediante simulaciones se demostró que la performance del sistema de navegación
no se ve degradada.
Se mostró que el retardo en datos GPS tiene un impacto muy importante en la navegación, dando
origen a correlaciones temporales en las innovaciones. Como solución a este problema, se propuso
calcular la innovación correspondiente al instante tk -en que se realiza la medición GPS- en el instante
tk + δt -en que el dato GPS medido se encuentra disponible-, propagándola hasta el instante tk+1 ,
hecho que, con la aproximación utilizada para el paso de predicción, modicó el algoritmo del Filtro
de Kalman ligeramente. Mediante simulaciones se comprobó que la pérdida de precisión que emerge
de esta modicación no es signicativa, manteniendo los desvíos para el error en la estimación en los
los requerimientos de guiado y control dados inicialmente. Debido a que el simulador contempla también
la acción de los sistemas de guiado y control, y las variables físicas que afectan al vehículo, este resultado
también los resultados de la navegación del vehículo cuando existen retardos en la información provista
por el GPS, utilizando el navegador modicado para tal n. Tal como se observó en simulaciones a
el método de actualización implementado. Más aún, el análisis de los errores de guiado del vehículo en
este caso demostró que el navegador modicado también cumple con los requerimientos del sistema.
El proyecto en el que se está trabajando consta de varias etapas que contnúan su desarrollo,
apareciendo en el camino nuevos problemas que requieren soluciones que contemplen el sistema como
un todo. Se analizará la inclusión de giróscopos de una categoría diferente a los MEMS, mucho más
precisos, para determinar con menor incertidumbre el estado inicial del vehículo. Con el mismo n,
Otra de las tareas que deben encararse en el futuro es el suavizado de los datos proporcionados por
el navegador integrado. Luego de procesar las mediciones del GPS, la corrección de las variables de
navegación causa variaciones instantáneas muy importantes, como se puede ver, por ejemplo, en las g-
uras 4.1 a 4.3. Estos cambios bruscos de actitud, velocidad y posición, proporcionados por el navegador,
120 Capítulo 5. Incorporación del Sistema de Navegación Integrado en un Simulador
no son un reejo del estado físico del vehículo, sino que es un resultado numérico de la incorporación
de mediciones independientes. Cuando los sistemas de guiado y control ven cambios tan veloces en los
parámetros, responden intentando seguir esa dinámica, causando picos en la potencia consumida por
los actuadores. Esta situación puede resolverse ltrando los datos de salida del navegador, situación
Modelo de Gravedad J2
El modelo de gravedad J2 es una aproximación de segundo orden de la expansión del potencial
3J2 a2
z 2
1+ 1 − 5 x
2r2 r x
3J2 a2
e e GM z 2
+ Ω2 y
γ (R ) = − 3 1+ 1 − 5 y
r
2r2 r
3J2 a2
z 2
0
1+ 3 − 5 z
2r2 r
a la que se ve sometido un cuerpo debido a la rotación de la tierra. Los valores corresponden al sistema
Constante Valor
a 6378137, 0m
MG 3, 986004418 × 1014 m3 /s2
Ω 7, 292115 × 10−5 rad/s
J2 1,082629989051944 × 10−3
121
122 Apéndice A. Modelo de Gravedad J2
15J2 a2 xz 7z 2
e GM 3xz
J13 (γ ) = − 3 − 2 − 3− 2
r r 2r4 r
15J2 a xy 105J2 a2 xyz 2
2
GM 3xy
J21 (γ e ) = − 3 − 2 − +
r r 2r4 2r6
2 7z 2
GM 3yz 15J2 a yz
J23 (γ e ) = − 3 − 2 − 3− 2
r r 2r4 r
45J2 a xz 105J2 a2 xz 3
2
GM 3xz
J31 (γ e ) = − 3 − 2 − +
r r 2r4 2r6
45J2 a2 yz 105J2 a2 yz 3
GM 3yz
J32 (γ e ) = − 3 − 2 − +
r r 2r4 2r6
Apéndice B
tados del presupuesto de errores considerando los nuevos parámetros de ruido para los giróscopos y
acelerómetros.
Puede observarse en los grácos, que aunque cualitativamente el comportamiento de los ruidos es
aporte a la covarianza total en el error en la estimación de cada parámetro. Debe notarse, sin embargo,
que la reducción del ruido en las mediciones de giróscopos y acelerómetros ha provocado una reducción
del impacto del ruido en la velocidad medida por el GPS. Asimismo, la contribución de los errores
instrumentales se ha incrementado levemente, mientras que los errores en condiciones iniciales son
123
124 Apéndice B. Presupuesto de Errores con Valores de Ruido Actualizados
[2] World Geodetic System 1984 - Its Denition and Relationships with Local geodetic Systems. Tech-
[3] John E. Bortz. A New Mathematical Formulation for Strapdown Inertial Navigation. IEEE
[4] Juan Carrizo. Sistemas de Navegación para Cohetes Suborbitales. Master's thesis, Universidad
de Buenos Aires - Facultad de Ingeniería.
[5] Juan A. Carrizo, Martín España, and Juan I. Giribet. Algoritmo de Navegación Inercial para
Vehículos de Alta Velocidad. In RPIC Estudiantil, 2007.
[7] John J. Craig. Introduction to Robotics - Mechanics and Control. Pearson Prentice Hall, 2005.
[8] Martín España. Fundamentos De La Navegación Integrada. AADECA, 2010.
[9] Jay Farrell and Matthew Barth. The Global Positioning System and Inertial Navigation.
McGraw-Hill, 1999.
[10] Juan I. Giribet. Algoritmos de Navegación Integrada Aplicados a Vehículos Espaciales. Master's
thesis, Universidad de Buenos Aires - Facultad de Ingeniería, 2003.
[11] Mohinder S. Grewal and Angus P. Andrews. Applications of Kalman Filtering in Aerospace
from 1960 to the Present. IEEE Control Systems Magazine, June:6978, 2010.
[12] Elliott D. Kaplan and Christopher J. Hegarty, editors. Understanding GPS - Principles And
Applications. Artech House, 2006.
129
130 Bibliografía
[13] Anthony Lawrence. Modern Inertial Technology - Navigation, Guidance and Control. Springer,
1998.
[15] Pratap Misra and Per Enge. Global Positioning System - Signals, Measurement, and Perfor-
mance. Ganga-Jamuna Press, 2001.
[16] A. Srikantha Phani and Ashwin A Seshia. Identication of Anisoelasticity and Nonproportional
Damping in MEMS Gyroscopes. NSTI-Nanotech, 2:343346, 2004.
[17] Paul Savage. Strapdown Inertial Navigation Integration Algorithm Design Part I: Attitude Algo-
rithms. Journal of Guidance, Control and Dynamics, 21 N°1:1, 1998.
[18] Paul Savage. Strapdown Inertial Navigation Integration Algorithm Design Part II: Velocity and
Position Algorithms. Journal of Guidance, Control and Dynamics, 21 N°2:1, 1998.
[19] Pablo Servidia, Juan I. Giribet, and Martín España. Kinematic Integral Attitude Tracking
Under Input Saturation. Preprint.
[20] Isaac Skog and Peter Händel. Calibration of a MEMS Inertial Measurement Unit. In XVII
[21] David H. Titterton and John L. Weston. Strapdown Inertial Navigation Technology. The
Institution Of Electrical Engineers & The American Institute Of Aeronautics And Astronautics,
2004.
Agradecimientos
A mis padres, por dar todo sin dudarlo para que pudiera estudiar esta carrera.
A mis hermanos, por su constante interés y colaboración.
A Motta, Pepe, Huevo, Cacho, Foto, Mne, y el Cabezón por las eternas sesiones de estudio
compartidas, miles de grupos de TP exitosos, y los momentos importantes (y no tanto) vividos.
A los enfermizos: Mario, Seba, Marian y Nico, por las clases, ensayos y comidas bizarras.
A Jony, por su ayuda en las primeras materias.
A Pablo Servidia por su enorme ayuda con el simulador.
A Juan Giribet, por darme la oportunidad de trabajar en un proyecto tan interesante y por su
disposición e inmensa paciencia a lo largo de todo el desarrollo de este trabajo.