Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Daniel y Jonatan
© Universidad Distrital Francisco José de Caldas
© Centro de Investigaciones y Desarrollo Científico
©Daniel Reyes, Jonatan Aponte, José Jairo Soriano Méndez
Primera edición, abril de 2019
ISBN: 978-958-787-111-1
Editorial UD
Universidad Distrital Francisco José de Caldas
Carrera 24 No. 34-37
Teléfono: 3239300 ext. 6202
Correo electrónico: publicaciones@udistrital.edu.co
Introducción 17
1
1 Preliminares 25
9
1.1 Métodos de representación de actitud . . . . . . . . . . . . . . . . . . 25
9
1.1.1 Notación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
9
1.1.2 Ternas de referencia . . . . . . . . . . . . . . . . . . . . . . . 26
10
1.1.3 Métodos de representación de orientación . . . . . . . . . . . . 26
10
1.1.3.1 Matrices de rotación . . . . . . . . . . . . . . . . . . 26
10
1.1.3.2 Cuaterniones . . . . . . . . . . . . . . . . . . . . . . 27
11
1.1.3.3 Ángulos de Euler . . . . . . . . . . . . . . . . . . . . 29
13
1.2 Conceptos de robótica . . . . . . . . . . . . . . . . . . . . . . . . . . 29
13
1.2.1 Cinemática directa . . . . . . . . . . . . . . . . . . . . . . . . 31
15
1.2.2 Cinemática inversa . . . . . . . . . . . . . . . . . . . . . . . . 31
15
1.2.3 Generación de trayectoria . . . . . . . . . . . . . . . . . . . . 32
16
1.2.4 Dinámica y control . . . . . . . . . . . . . . . . . . . . . . . . 32
16
1.3 Unidad de medidas inerciales: modelo de error . . . . . . . . . . . . . 32
16
1.3.1 Giróscopos mecánicos . . . . . . . . . . . . . . . . . . . . . . . 33
17
1.3.2 Giróscopos ópticos . . . . . . . . . . . . . . . . . . . . . . . . 33
17
1.3.2.1 Interferometric fiber optic gyro technology . . . . . . 33
17
1.3.2.2 Ring laser gyroscope . . . . . . . . . . . . . . . . . . 34
18
1.3.3 Sistemas micro electro-mecánicos . . . . . . . . . . . . . . . . 34
18
1.3.4 Modelo de error . . . . . . . . . . . . . . . . . . . . . . . . . . 35
19
1.4 Modelado en espacio de estados . . . . . . . . . . . . . . . . . . . . . 37
21
2 Navegación inercial 41
25
41
2.1 Sistemas de navegación inercial . . . . . . . . . . . . . . . . . . . . . 25
2.1.1 42
Ecuaciones de navegación . . . . . . . . . . . . . . . . . . . . 26
2.1.2 43
Presupuesto de error . . . . . . . . . . . . . . . . . . . . . . . 27
2.1.2.1 44
Integración del sesgo . . . . . . . . . . . . . . . . . . 28
2.1.2.2 44
Integración términos de calibración . . . . . . . . . . 28
2.1.2.3 44
Integración del ruido blanco . . . . . . . . . . . . . . 28
45
2.2 Validación de navegación inercial . . . . . . . . . . . . . . . . . . . . 29
2.2.1 45
Trayectoria VS30 . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.2.1.1 46
Resultados . . . . . . . . . . . . . . . . . . . . . . . 30
2.2.2 48
Trayectoria SAC-D sobre el robot . . . . . . . . . . . . . . . . 32
2.2.2.1 50
Resultados . . . . . . . . . . . . . . . . . . . . . . . 34
51
2.3 Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3 Filtro de Kalman 53
37
53
3.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
54
3.2 Formulación del problema . . . . . . . . . . . . . . . . . . . . . . . . 38
55
3.3 Filtro de Kalman extendido . . . . . . . . . . . . . . . . . . . . . . . 39
57
3.4 Estimación de actitud . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.4.1 57
Modelo de error de actitud . . . . . . . . . . . . . . . . . . . . 41
3.4.2 59
Fusión de información . . . . . . . . . . . . . . . . . . . . . . 43
60
3.5 Modelo del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
63
3.6 Validación de la estimación en error de actitud . . . . . . . . . . . . . 47
3.6.1 63
Trayectoria VS30 . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.6.2 66
Trayectoria SAC-D sobre el robot . . . . . . . . . . . . . . . . 50
3.6.2.1 66
Resultados . . . . . . . . . . . . . . . . . . . . . . . 50
69
3.7 Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5 Análisis de observabilidad 89
73
89
5.1 Observabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.1.1 Análisis por matriz de observabilidad . . . . . . . . . . . . . . 73
5.1.2 Grado de observabilidad . . . . . . . . . . . . . . . . . . . . . 75
5.1.3 Observabilidad de la trayectoria: SAC-D . . . . . . . . . . . . 76
5.2 Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.1 Observabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.1.1 89
Análisis por matriz de observabilidad . . . . . . . . . . . . . . 73
5.1.2 91
Grado de observabilidad . . . . . . . . . . . . . . . . . . . . . 75
5.1.3 Observabilidad de la trayectoria: SAC-D . . . . . . . . . . . . 76 92
96
5.2 Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Referencias 121
105
Introducción
17
si dicha medida esta afectada por algún sesgo u otro parámetro de error tı́pico en la
instrumentación, este error se irá acumulando en el tiempo como resultado del pro-
ceso de integración. Actualmente es posible encontrar sistemas inerciales de altı́sima
calidad, pero su costo es alto y la relación calidad-costo es un factor importante por
tener en cuenta.
Otra opción son los sistemas de referencia externa. Estos se basan en plataformas
móviles de radionavegación como radiofaros no direccionales (NDB1 ), ası́ como sen-
sores estelares (star trackers: usualmente telescopios con campo de visión angosto),
magnetómetros, cámaras CCD, altı́metros, GPS, radares, sonares entre otros [13].
Este tipo de navegación es dependiente del entorno del vehı́culo y presenta una tasa
de muestreo baja si se compara con la navegación inercial; más allá de esto, presen-
tan una gran ventaja porque su error en general es acotado y se puede caracterizar
a priori.
Dadas las caracterı́sticas complementarias de ambos sistemas y la constante evolu-
ción de las tecnologı́as, en especial de los microprocesadores y las UMI, la mayorı́a de
los sistemas de navegación de buena calidad y bajo costo se diseñan sobre la base de
la navegación integrada. Este enfoque pretende fusionar la información proveniente
de los distintos sensores de manera óptima, y subsanar ası́ las desventajas de ambos
tipos de sensores a cambio de un procesamiento de la información más complejo.
Por esta razón, en la actualidad la navegación integrada es materia de investigación.
18
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
1
British National Space Centre.
2
Centre National dÉtudes Spatiales.
3
Agencia Espacial Brasileira.
4
Satélites de Aplicaciones Cientı́ficas.
19
Figura 1. Satélite SAC-D.
Fuente: [20].
actitud con Hardware en el Lazo(HIL1 , por sus siglas en inglés). El cual puede ser
por navegar es un brazo robótico de seis grados de libertad (sistema parte del La-
plataforma para validar los datos del TDP en el SAC-D, y ası́ obtener un sistema de
1
Hardware in the Loop.
20
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
La estrategia para el desarrollo de esta plataforma fue orientada por los objetivos
especı́ficos descritos a continuación:
• Generar las trayectorias del robot IRB140 a partir de los datos de telemetrı́a
del satélite SAC-D.
21
• Integrar la plataforma con hardware en el lazo, a partir del robot IRB140, un
sistema de adquisición de datos (TAD)1 y la Unidad de Medidas Inerciales
(UMI).
La figura (2) presenta las fases de ejecución del proyecto, que llevaron al cumpli-
miento de cada objetivo.
Capı́tulo 1
Capı́tulo 2
Capı́tulo 3
Capı́tulo 4
1
Tarjeta de Adquisición de Datos, se utiliza la herramienta de desarrollo LPCXpresso 1769,
la cual es descrita en la sección de Implementación.
22
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
Capı́tulo 5
Capı́tulo 6
23
Capı́tulo 1
Preliminares
i
• ωib : Velocidad angular de la terna b con respecto a la terna i, medida sobre la
terna i.
25
1.1.2 Ternas de referencia
Una terna de referencia {i} es un sistema cartesiano de tres ejes ortogonales, de-
notados de la forma, xi , y i , z i , y cuyo origen se establece como punto de interés
para el análisis de referencia en el espacio. Se definen como sistemas dextrógiros, es
decir, siguiendo la convención de la mano derecha. Dentro de este trabajo se usan
las siguientes ternas de referencia:
• Terna inercial {i}: su origen está en reposo o se mueve sin aceleración (mo-
vimiento rectilı́neo y uniforme) y cuya orientación no cambia.
• Terna del sensor {s}: a esta se encuentran referidas las medidas entregadas
por el sensor.
xb = Cab xa (1.1)
El conjunto de las matrices de rotación en R3 tiene algunas propiedades impor-
tantes, las cuales se denotan como SO(3):
26
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
• Su determinante es det[Cab ] = 1.
• El producto de dos matrices (Cbc Cab ) que pertenecen al conjunto SO(3), también
hace parte de dicho conjunto (Cac ) ∈ SO(3)
Una propiedad muy interesante que poseen las matrices de rotación es que se
puede realizar una composición de rotaciones mediante la multiplicación. Esta ope-
ración permite pasar un vector definido en terna {a} a la terna {c} sin necesidad
del paso intermedio a través de la terna {b}.
1.1.3.2 Cuaterniones
Los cuaterniones son elementos que extienden el sistema de los números complejos
propuesto por Hamilton [21]. El cuaternión, de forma general, es un vector de cuatro
componentes:
⎡ ⎤
q1
⎢ q2 ⎥ � �
qa = ⎢
b ⎥
⎣ q3 ⎦ · i j k 1 (1.5)
q4
Donde [i,j,k] son las bases del sistema de numeración. La forma más usual de
representar un cuaternión es separarlo en parte escalar y parte vectorial:
� � ��
V sen� φ2�
qba = (1.6)
cos φ2
27
Donde:
• ⊗: Es la operación rotación.
• qb∗ b
a : Es el conjugado de qa :
� � φ ��
−V sen
� φ �2
qba = (1.9)
cos 2
28
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
29
por solo nombrar las más importantes. Actualmente la gran mayorı́a de los robots
existentes se encuentran funcionando en procesos de manufactura; este tipo de ma-
nipuladores son automáticamente controlados por una computadora dedicada, lo
cual permite ser reprogramados para cumplir una amplia variedad de tareas. Los
manipuladores industriales se caracterizan por realizar procesos y garantizar ası́ las
siguientes métricas:
• Velocidad.
• Repetitividad.
• Precisión.
• Resistencia.
30
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
x̄ = F(θ̄) (1.14)
Donde:
• F es la función de transformación.
1
El espacio de coordenadas articulares es un sistema de coordenadas en el cual la posición del
robot se define en términos de los ángulos de rotación de cada eje.
31
Daniel Reyes, Jonatan Aponte, José Jairo Soriano Méndez
• Mecánicos.
• Ópticos.
• MEMS.
1
Si se desea información sobre acelerómetros puede consultarse a [25].
32
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
Un giróscopo mecánico consta de una rueda móvil que está montada en un gimbal 1 .
Cuando se presenta rotación en alguna dirección del gimbal la conservación del
momento angular genera un torque proporcional a la velocidad angular, el cual trata
de mantener invariante la orientación de la rueda. El problema de estos sensores
es que al ser mecánicos tienden a desgastarse con el tiempo, por lo que requieren
costosos procesos de calibración y reparación.
Este giróscopo se basa en el efecto Sagnac para medir la velocidad angular [5]. Se
introducen a una bobina de fibra óptica dos haces de luz en direcciones opuestas.
Cuando no hay rotación ambos haces recorren el anillo en el mismo tiempo y no
se genera interferencia; sin embargo, cuando la bobina rota en alguna dirección
provoca que el haz que va en esa misma dirección recorra un camino más largo, lo
que genera un cambio de fase entre ambos haces. Dicho cambio se ve reflejado en
una modificación en la intensidad, el cual es proporcional a la velocidad angular.
1
Gimbal: es un soporte que permite la rotación de un objeto alrededor de un eje único. Tı́pi-
camente un giróscopo mecánico está compuesto por 3 gimbal
33
Figura 1.4. Giróscopo IFOG.
Fuente: [27].
34
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
Si bien los MEMS son de bajo costo, se caracterizan por tener menor desempeño
que los giróscopos ópticos. Actualmente se están mejorando las tecnologı́as de cons-
trucción con el fin de obtener sensores MEMS de mejor desempeño que los ópticos [5].
La mayorı́a de los errores en la medición de los giróscopos son generados por im-
perfecciones [5, 28]. Las perturbaciones que sufre la medición se clasifican como
determinı́sticas o estocásticas (ver tabla 1.1). Aquellas que son determinı́sticas pue-
den ser estimadas y corregidas off-line mediante un proceso de calibración el cual usa
un modelo parametrizado. Todas las perturbaciones adicionales encajan dentro del
modelo estocástico, para el cual si bien no es posible determinar su valor exacto en
cada instante de tiempo, puede llegar a ser caracterizado estadı́sticamente mediante
métodos como la varianza de Allan [29]. En el estándar IEEE [30] se sugiere usar la
densidad espectral de potencia para la identificación del modelo, también existen m
étodos basados en cuadrados mı́nimos no lineales [31].
35
Parámetro Clase
Sesgo Determinı́stico
Factor de escala Determinı́stico
Falta de ortogonalidad Determinı́stico
No linealidad Determinı́stico
Inestabilidad del sesgo Estocástico
Inestabilidad del fac- Estocástico
tor de escala
Inestabilidad de falta Estocástico
de ortogonalidad
Ruido de cuantización Estocástico
Efecto de temperatura Estocástico
Ruido blanco Estocástico
Cuadro 1.1: Parámetros tı́picos en un modelo de error para giróscopos tipo MEMS.
Fuente: [28].
b b
ω̃ib = (I3 + Σ(�, �))ωib + b ω + ξω (1.16)
⎡ ⎤
�x �xy �xz
Σ(�ω , �ω ) = ⎣�yx �y �yz ⎦ (1.17)
�zx �zy �z
Donde:
b
• ω̃ib : velocidad angular entregada por el giróscopo.
b
• ωib : velocidad angular real del objeto.
E�ψω � = 0 (1.18)
� �
E ψω ψωT = Q (1.19)
36
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
37
distribución de probabilidad del estado x(t) condicionada a las observaciones y(0 : t)
es:
Donde la igualdad presentada en la ecuación 1.20 parte del supuesto de que existe
independencia lineal entre las mediciones. Ahora bien, lo que se desea conocer es la
probabilidad de la predicción del estado x(t) a partir de las mediciones y(0 : t − 1);
esto se conoce como la ecuación de Chapman-Kolmogorov:
p(x(t)|y(0 : t − 1)) = p(x(t)|x(t − 1))p(x(t − 1)|y(0 : t − 1))dx(t − 1) (1.21)
38
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
Desde el punto de vista del modelo de estado interesa conocer la información que
este proporciona; esto es, la posibilidad de analizar el comportamiento dinámico del
sistema a lo largo del tiempo. Para ello se debe tener una expresión explı́cita del
vector de estado. Esta solución exige el cálculo de la ecuación de estado. Debido a
que la ecuación de estado es lineal, ya sea porque el sistema lo es, o porque es el
resultado de la linealización de un sistema no lineal, admite una solución analı́tica
que es fácil de obtener y proporciona información de la evolución temporal del vector
de estado del sistema. La solución puede expresarse para el intervalo T = [t0 , t] como:
t
x(t) = Φ(t0 , t)x(t0 ) + Φ(t0 , t − τ )v(τ )dτ (1.24)
t0
Φ(t0 , t) = eA(t−t0 )
x[k + 1] = Φk+1
k x[k] + v[k] (1.25)
1
Para ver una definición más completa de la MTS ver [36].
39
y[k] = Hk x[k] + w[k] (1.26)
Donde v[k] y w[k] son secuencias de ruido que perturban el estado y la medición
en el instante tk , mientras que Φk+1
k es la matriz transición de estados en tiempo
discreto y está definida sobre el intervalo1 Ts = tk+1 − tk , la cual queda definida para
sistemas variantes en el tiempo como:
Φk+1
k = eA[k]Ts
1
Tiempo de muestreo del sistema discreto.
40
Capı́tulo 2
Navegación inercial
41
sensar magnitudes en vehı́culos con dinámicas altas, ya que esto se encuentra arrai-
gado a la respuesta del sistema de control que se utiliza. En este trabajo se hace
énfasis en los sistemas SD-INS1 .
Conociendo Cbi (t0 ) se puede solucionar la ecuación diferencial para todo t > t0 .
ṗi = v i (2.3)
Si bien existe una solución de forma cerrada para este sistema de ecuaciones, en
la práctica este problema es resuelto on − line por la computadora de navegación
mediante algún método de integración numérica. Como es de esperarse la navegación
de actitud requiere solamente la solución de (2.1). Por lo tanto, dado el problema
con condiciones iniciales y(0) = y0 :
42
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
k1 = hf (xj , yj ) (2.5)
h k1
k2 = hf (xj + , yj + ) (2.6)
2 2
h k2
k3 = hf (xj + , yj + ) (2.7)
2 2
k4 = hf (xj + h, yj + k3 ) (2.8)
1
yj+1 = yj + (k1 + 2k2 + 2k3 + k4 ) (2.9)
6
Con el fin de obtener estabilidad en el algoritmo y para simplificar su ejecución
dentro de la computadora de navegación, es conveniente trabajar con cuaterniones
a la hora de solucionar la ecuación cinemática de orientación usando (1.11). El algo-
ritmo empleado es una forma simplificada de resolver la integración, ya que existen
otros métodos que contemplan la normalización del cuaternión [37]. Partiendo de es-
te planteamiento el algoritmo de navegación inercial se puede resumir en el algoritmo
(2.1).
43
2.1.2.1 Integración del sesgo
La integración del sesgo provoca un error angular que crece linealmente con el tiem-
po, y además es proporcional a la magnitud del sesgo (ver ecuación 2.10)
t
φ̃b = bω dτ = t · bω (2.10)
0
t
b b
φ̃�,σ = Σ(�, σ)ωib dτ = Σ(�, σ)ωib ·t (2.11)
0
V ar ψ(τ )dτ t0 = δt · t · σ 2 (2.13)
Donde:
44
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
• Una UMI compuesta por una UMI comercial Motion Pack de Systron Donner
y un giróscopo IFOG construido por el Centro de Investigaciones Ópticas de
La Plata (CIOP) y un acelerómetro construido por el Instituto Universitario
Aeronaútico.
45
Figura 2.1. Velocidad angular del VS30.
Fuente: elaboración propia.
2.2.1.1 Resultados
Las simulaciones realizadas pretenden evaluar y corroborar la validez del proceso de
integración llevado a cabo, ası́ como del modelo de error elegido para el giróscopo.
Los datos seleccionados para contaminar la velocidad angular se extraen de la hoja
de datos de la UMI Adis 16364 [39]; los parámetros de la simulaciones realizadas se
resumen en la tabla 2.1.
Parámetro Magnitud
Condiciones Iniciales [◦ ] ±3
Sesgos [◦ /s] ±0,2
Factor de escala [ %] 1
Falta de ortogonalidad [ %] 5
Varianza del ruido blanco [◦2 ] ±3
Frecuencia de sensor interno ω[ Hz.] 50
46
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
47
Figura 2.4. Error por factor de escala.
Fuente: elaboración propia.
48
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
1
Ver capı́tulo 6.
49
Figura 2.7. Velocidad angular.
Fuente: elaboración propia.
A partir de estos datos se ejecutó el algoritmo (2.1). Con el objetivo de darse una
idea de la trayectoria realizada por el robot y de los resultados obtenidos al ejecutar
el algoritmo se muestra una comparación entre los ángulos de Euler (yaw, pitch y
roll ) reales1 y los calculados dada la velocidad angular (ver figura 2.7).
2.2.2.1 Resultados
Los resultados muestran la pobre calidad del proceso de integración directa, como
era de esperarse el error es alto. Aparentemente existe un sesgo, pero este no es tan
alto porque la pendiente de crecimiento del error es pequeña. Esto tiene relación con
el hecho de que en la UMI se programó un proceso de calibración del sesgo en la
etapa previa al inicio de la trayectoria. El análisis sobre la existencia o no de sesgo
en este experimento se realiza en los siguientes capı́tulos.
1
El yaw, pitch y roll reales son extraı́dos de la trayectoria de telemetrı́a por una transformación
50
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
2.3 Conclusiones
Tomando en consideración los resultados sobre los experimentos para las trayecto-
rias del VS30 y el SAC-D, queda evidenciado el carácter divergente de la navegación
inercial con sensores de bajo costo como es la ADIS16364. Se realizó un análisis del
51
presupuesto de error para el proceso de integración realizado, se describió un méto-
do de integración numérico para solucionar las ecuaciones dinámicas, se aplicó este
método a la solución de la ecuación dinámica de actitud y se encontró el error entre
la integración y las magnitudes reales para dos trayectorias.
Los parámetros que más afectan el desempeño del algoritmo son el sesgo, las
condiciones iniciales y el factor de escala. Sin embargo, esto queda sujeto a la tra-
yectoria, puesto que para una trayectoria con magnitudes de velocidad angular pe-
queñas (dinámicas lentas) puede llegar a ser nociva también la perturbación de ruido
blanco. En este caso, para la trayectoria del VS30, como la magnitud de velocidad
angular en el eje x (roll ) es tan alta, el efecto del ruido en la integración no es tan
apreciable, contrario a lo que sucede en la trayectoria del SAC-D donde la dinámica
es más lenta; razón por la cual, la excitación de los giróscopos es baja.
52
Capı́tulo 3
Filtro de Kalman
3.1 Introducción
Mientras trabajaba en el Research Institute for Advanced Studies, Rudolph Kalman
en 1960 [10] propuso una solución al problema cuadrático lineal o problema de Wie-
ner [42]. Su solución es un método iterativo capaz de suavizar, estimar o predecir de
manera óptima el estado de un sistema lineal, siempre y cuando el sistema modelado
cumpla con algunas condiciones [43, 44].
Existen diferentes variantes al método original que han sido propuestas en muchos
casos como soluciones ad hoc a problemas especı́ficos[45, 46, 47]. Desde su publi-caci
ón ha sido usado con éxito en áreas como control, economı́a, navegación, entre otras.
Para citar un ejemplo, el filtro de Kalman hizo parte del sistema de navegación de la
misión Apollo que llevó al hombre a la Luna en 19691.
1
Rudolph Kalman mostró sus resultados a Stanley F. Schmindt en el centro de investigación
Ames de NASA, quien inmediatamente reconoció el potencial de este nuevo método y empezó a
trabajar en su implementación; posteriormente mostró sus resultados a Charles Battim, encargado
de liderar el proyecto guiado-navegación-control de la misión Apollo.
53
3.2 Formulación del problema
Considerando un sistema dinámico lineal en tiempo discreto:
xk +1 = Φkk +1 xk + Γk ξk (3.1)
yk = Hk xk + ηk (3.2)
Donde:
Es posible plantear una función costo que sea no negativa y no decreciente [44] en
términos del error cuadrático medio de estimación:
54
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
1
Linearized Kalman Filter.
55
Ecuaciones para el Filtro de Kalman
Modelo en espacio de estados:
xk +1 = Φkk +1 xk + Γk ξk (3.7)
yk = Hk xk + ηk (3.8)
Iteración:
Estimación a priori :
x̂k− = Φkk−1 x̂k+−1 (3.11)
Propagación de la covarianza:
T
P− k k d T
k = Φk −1 Pk−1 Φk −1 + Γk −1 Qk−1 Γk −1 (3.12)
Innovación:
x̂k+ = x̂k− + Kk yk − Hk x̂k− (3.14)
Actualización de la covarianza:
−
P+
k = (I − Kk Hk ) Pk (3.15)
56
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
Otra ventaja de este enfoque es que permite pasar de manera intuitiva y simple
al planteamiento de estado aumentado en el cual se contempla un modelo de error
en los sensores, lo que permite realizar una calibración on-line del sistema.
Donde:
57
Inicialmente se establece esta transformación partiendo de que φb es lo suficien-
temente pequeño para poder definir la transformación de perturbación de esa forma.
Donde:
b
• ωib (t): es la velocidad angular real del vehı́culo.
b
• ω̃ib (t): es la velocidad que lee la computadora de navegación de los giróscopos.
C̄bi S(δωib
b
) + C̄bi [S(φb )S(ωib
b b
) − S(ωib )S(φb )] = C̄bi S(φ̇b ) (3.22)
b i i
δωib = ωib − ω̃ib (3.23)
δωφb 0 (3.24)
C̄bi S(δωib
b
) − C̄bi S(S(ωib
i
)φb ) C̄bi S(φ̇b ) (3.25)
58
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
φ̇b −S(ωib
i
)φb + δωib
i
(3.26)
i
C̆bR = Cbi I + S(φbR ) (3.27)
Donde:
i
• C̆bR : es la transformación que entrega el sensor adicional.
i
C̆bR I − S(φbR ) = C̄bi I − S(φb ) (3.28)
1
S −1 : Es la inversa de S y S −1 = −S
59
Separando los términos de interés:
i
� �� �T
C̆bR C̄biT = I − S(φb ) I − S(φbR ) (3.29)
i
� �
C̆bR C̄biT = I + S(φbR ) − S(φb ) − S(φb )S(φbR ) (3.30)
Es muy importante tener en cuenta que las simplificaciones que se hacen en (3.25)
y (3.30) son válidas siempre y cuando los errores de actitud se mantengan acotados
[59]. Esta suposición juega un papel importante en el desempeño de la estimación. En
este planteamiento se tiene el conocimiento de C̆biR gracias al sensor externo y C̄bi
puesto que es la salida del navegador inercial, con lo cual la relación entre los errores
de actitud está dada por:
� �
φbR − φb S −1 C̆bRi
C̄biT − I (3.32)
60
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
• ξφ : es el ruido de proceso.
• ηφ : es el ruido de medición.
1
En el desarrollo de este trabajo los términos sensor externo y sensor de ayuda se usan indis-
tintamente.
61
Algoritmo 3.1 Estimación de error de actitud con FKE
P = P0
Q = Q0
q̄ i (0) = q˘i (0)
b b
x̂0 = φ0
for tk = t0 ,t0 ≤ tk≤ tf ,tk+1 = tk + h do
b
ω̃ (tk )
K1 = h2 q̄bi (tk ) ◦ ib
0
h i K1
b
ω̃ib (tk + h2 )
K2 = 2 [q̄b (tk ) + 2 ] ◦
0
h i K2 ω̃ib (tk + h2 )
b
K3 = 2 [q̄b (tk ) + 2 ] ◦
0
b
h i ω̃ ib k + h)
(t
K4 = 2 [q̄b (tk ) + K3 ] ◦
0
q̄bi (tk+1 ) = q̄bi (tk ) + 16 (K1 + 2K2 + 2K3 + K4 )
q i (t )
q̄bi (tk+1 ) = ||qbi (tk+1
b k+1 )||
C̄bi (tk+1 ) = fq2c (q̄bi (tk+1 ))
i
A = −S(ω̃ib (tk+1 ))
k+1 Ah
Φk = e
x̂−k+1 = Φk x̂k
k+1 +
k+1 + k+1 T
P− k+1 = Φk Pk Φk + HQHT h
if Sensor externo diponible then
q̆ i (t )
q̆bi (tk+1 ) = ||q̆bi (tk+1
b k+1 )||
C̆bi (tk+1 ) = fc2q C̄bi (tk+1 )
T
ϕk+1 = S−1 [C̆bi (tk+1 ) C̄bi (tk+1 ) − I]
Kk+1 = P− T +
k+1 H [HPk H + R]
−1
62
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
63
Parámetro Magnitud
◦
Desvı́o del sensor externo [ ] ±2
Condiciones Iniciales[◦ ] ±3
Sesgos Velocidad [◦ /s] ±0,1
Factor de escala [ %] 1
Falta de ortogonalidad[ %] 5
Desvı́o en ω [◦ ] ±3
Frecuencia de sensor externo [Hz] 2.5
Frecuencia de sensor interno ω [Hz] 50
El hecho de que el error caiga dentro de sus cotas estimadas es buen indicio de
que el algoritmo esta funcionando bien; por otro lado, se observa que la magnitud del
error no sobrepasa de 0,5◦ . Esto comparado con el desvı́o real incorporado de ±2◦ y
±3◦ muestra que al utilizar el filtro de Kalman la incertidumbre que se obtiene sobre
la información es menor que la del mejor sensor. Como se mencionó, el funcionamien-
to del estimador se corrobora verificando el comportamiento de las innovaciones. En
este caso se evaluó la autocorrelación eliminando el sesgo en la contaminación de
la velocidad angular, lo cual muestra que cuando existe un sesgo en la medición, la
autocorrelación de la innovación no se parece mucho a la función delta de Dirac o,
lo que es equivalente, que la secuencia no es exactamente un proceso blanco. En [60]
64
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
65
3.6.2 Trayectoria SAC-D sobre el robot
Con el objetivo de obtener los datos para esta simulación, se debe nuevamente co-
nectar fı́sicamente la UMI a la sexta articulación del robot y se programa para que
ejecute la trayectoria del SAC-D; en este caso el sensor externo será emulado por el
robot.
3.6.2.1 Resultados
Los datos se almacenaron y fueron procesados usando el algoritmo previamente
descrito; en la figura 3.6 se comparan el valor de la estimación y el real para el error
en actitud de la trayectoria. A simple vista se observa que el desempeño comparado
con el navegador inercial es mucho mejor; en la figura 3.7 se puede observar la
evolución en el error de estimación y sus respectivas cotas de 2σ.
1
RAP: Robot Application Protocol.
66
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
67
Figura 3.8. Autocorrelación de la innovación.
Fuente: elaboración propia.
68
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
Similar a lo que ocurre con la trayectoria del VS30 se observa que existe alguna
correlación en la innovación. Podrı́a llegar a suponerse que esta correlación observada
en la innovación tiene que ver con un sesgo u otro parámetro por compensar en las
mediciones. El perfil de error real comparado con el estimado puede observarse en
la figura (3.9), aquı́ se observa que el error en actitud está acotado entre 20◦ , valor
obtenido mediante la navegación inercial.
3.7 Conclusiones
Teniendo en cuenta el desempeño del navegador inercial se propuso el algoritmo de
Kalman para estimar los parámetros de navegación del sistema, en particular el error
de actitud. Se construyó un modelo linealizado de error de actitud para implementar
el algoritmo de estimación, un modelo de error para el sensor externo y se describió el
filtro de Kalman para estimación de error actitud.
A partir de este filtro y de los datos de las dos trayectorias de referencia se reali-
zaron unas pruebas. Los resultados para la trayectoria del VS30 se obtienen a partir
de un análisis estadı́stico; se corrió el algoritmo 200 veces con ruidos de contamina-
ción diferentes. Se muestra que el error de estimación esta dentro de las cotas de 2σ
y que la incertidumbre que se obtiene después de ejecutar el algoritmo es menor que
la del mejor sensor. Un resumen de los resultados mas importantes se puede ver en la
tabla 3.3. Se comprobó el funcionamiento del FKE calculando la autocorrelación de
las innovaciones y se comparó el resultado de dicha autocorrelación cuando la velo-
cidad angular contiene sesgo y cuando no lo tiene. Se realizó un proceso similar para
los datos reales obtenidos de la UMI y el robot, el error de estimación se encuentra
dentro de las cotas estimadas por el algoritmo. La autocorrelación de la innovación
69
da indicios de que puede haber un sesgo en las mediciones. Los resultados obtenidos
muestran que el modelo lineal conseguido es válido y ahora puede ser extrapolado a
la construcción del sistema de navegación integrada.
70
Capı́tulo 4
Navegación integrada:
calibración On-Line
4.1 Introducción
Como se observa en las secciones anteriores, la navegación inercial presenta una alta
dependencia de la calidad del sensor inercial; se puede ver que el error en la medición
del giróscopo o un error en las condiciones iniciales del proceso de integración genera
la divergencia del sistema.
Con el fin de solucionar este problema es necesario encontrar la manera de reducir
al máximo el error en las mediciones del giróscopo y en las condiciones iniciales. El
problema de las condiciones iniciales se resuelve mediante el proceso de alineación1 ,
realizado en la fase previa al arranque del vehı́culo. Los errores determinı́sticos en
los sensores inerciales pueden ser reducidos mediante su calibración; sin embargo,
mitigar el impacto del error aleatorio que contiene la medida requiere una estra-
tegia más elaborada. A pesar de esto, los sensores inerciales son fundamentales en
cualquier sistema de navegación moderno puesto que en condiciones normales son
1
La alineación consiste en determinar con la menor incertidumbre posible las condiciones ini-
ciales del sistema que en términos generales son posición y orientación.
71
invulnerables1 a fenómenos externos al vehı́culo diferente a lo que sucede con sis-
temas satelitales o cámaras CCD, los cuales son dependientes de distintos factores.
Además de esto son una fuente de información que se encuentra disponible a una
alta frecuencia comparados con otro tipo de sensores.
Existe un esquema más completo que además de corregir la magnitud de los paráme-
tros de navegación mediante las medidas de sensores externos, estima los errores de
la UMI y los corrige on-line, de esta manera forma una arquitectura realimentada
como se muestra en las figuras 4.1 y 4.2. La necesidad de este tipo de arquitectura
surge porque, a pesar de compensar (off-line) los parámetros determinı́sticos del
sensor, generalmente queda un remanente que depende por ejemplo de parámetros
externos como la temperatura o las variaciones en la fuente de alimentación. La
construcción de esta arquitectura requiere modelar la dinámica de los errores de la
UMI y construir un vector de estado aumentado; dicho modelo dinámico será usado
por el estimador-observador (FKE). La salida del filtro de Kalman se divide en dos:
por un lado, permite la corrección de los parámetros de navegación y por otro se
realimenta al sistema de navegación inercial para corregir las magnitudes de la UMI.
1
Existen condiciones extremas como campos electromagnéticos fuertes que pueden afectar la
medición de los sensores inerciales.
72
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
4.2.1 Sesgo
El bias o sesgo en las medidas del giróscopo es muy común, su dinámica está deter-
minada por:
ḃ = 0 (4.1)
b(0) = b0 (4.2)
Donde:
ḃ = ξb (4.3)
b(0) = b0 (4.4)
Donde:
• ξb ∈ R3 : es un ruido blanco:
E�ξb � = b0 (4.5)
E ξbT ξb = Qb << I (4.6)
73
�˙ = ξ� (4.7)
�(0) = b0 (4.8)
Donde:
• ξ� ∈ R3 : es un ruido blanco:
E�ξ� � = �0 (4.9)
� �
E ξ�T ξ� = Q� << I (4.10)
�˙ = ξ� (4.12)
�(0) = �0 (4.13)
Donde:
• ξ� ∈ R6 : es un ruido blanco:
E�ξ� � = �0 (4.14)
� �
E ξ�T ξ� = Q� << I (4.15)
• Definiendo Γ̄: ⎡ ⎤
0 �xy �xz
Γ̄ = ⎣�yx 0 �yz ⎦ (4.16)
�zx �zy 0
• Se define Γ: ⎡ ⎤
�xy �xz 0 0 0 0
Γ(�) = ⎣ 0 0 �yx �yz 0 0⎦ (4.17)
0 0 0 0 �zx �zy
74
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
Con lo cual el modelo compacto del error del giróscopo está dado por:
b b
ω̃ib = (I3 + Υ + Γ̄))ωib + bω + ηω (4.18)
• La ecuación de proceso:
⎡ ⎤ ⎡ b b b
⎤⎡ ⎤ ⎡ ⎤⎡ ⎤
φ̇ −S(ωib ) I Υ(ωib ) Γ(ωib ) φ I3x3 03x3 03x3 03x6 ηφ
⎢ḃ⎥ ⎢ 03x3 0 0 0 ⎥ ⎢b⎥ ⎢03x3 I3x3 03x3 03x6 ⎥ ⎢ ηb ⎥
⎢ ⎥=⎢ 3x3 3x3 3x6 ⎥ ⎢ ⎥+⎢ ⎥⎢ ⎥
⎣ �˙ ⎦ ⎣ 03x3 03x3 03x3 03x6 ⎦ ⎣ � ⎦ ⎣03x3 03x3 I3x3 03x6 ⎦ ⎣ η� ⎦
�˙ 06x3 06x3 06x3 06x6 � 06x3 06x3 06x3 I6x6 η�
(4.21)
• La ecuación de medición:
⎡ ⎤
φ
� � � � ⎢b⎥ � �� �
φ = I3x3 03x3 03x3 03x6 ⎢ ⎥
⎣ � ⎦ + I3x3 ηr (4.22)
�
75
Figura 4.2. Navegación integrada.
Fuente: elaboración propia.
Ya que el vector de estados se lleva a cero en cada corrección, los estados de sesgo,
factor de escala y falta de ortogonalidad deben ser actualizados teniendo en cuenta
que persisten en la medición sin importar la corrección en el paso anterior; esto
implica que la corrección de la ecuación (4.23) se realiza de la siguiente forma:
Donde:
• b̆k , �˘k , �˘k : son los parámetros de corrección para la k-ésima iteración.
• b̂k , �ˆk , �ˆk : son las estimaciones del filtro de Kalman para la k-ésima iteración.
76
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
de navegación.
estima el error de actitud. A partir de dicha estimación es posible corregir la salida del
Ĉbi (tk ) = C̄bi (tk ) I − S(φ̂k ) (4.28)
Donde:
En resumen, existen dos lazos de realimentación que atacan los puntos débiles del
4.1.
77
Algoritmo 4.1 FKE: estimación con estado aumentado
1: INICIALIZACIÓN
2: P = P0
3: Q = Q0
4: q̄bi (0) = q˘bi (0)
� �T
5: x̂0 = φ0 b0 �0 �0
6: for tk = t0 ,t0 ≤ tk ≤ tf ,tk+1 = tk + h do
� �T � �T
7: b̂k �ˆk �ˆk = xˆ2 +k xˆ3 +
k xˆ4 +
k
8: b̆k = b̆k−1 + b̂k
9: �˘k = �˘k−1 + �ˆk
10: �˘k = �˘k−1 + �ˆk
11: ω̂(tk+1 ) = (I + Σ(˘ �k+1 , �˘k+1 ))−1 ω̃(tk+1 ) − b̆k+1
� �T
+
12: x̂k = 03x1 03x1 03x1 06x1
� �
13: q̄bi (tk ) = fq2c Ĉbi (tk )
� �
b (t )
ω̂ib k
14: K1 = h q̄ i (t ) ◦
2 b k 0
� �
b h
15: K2 = h [q̄ i (t ) + K1 ] ◦ ω̂ib (tk + 2 )
2 b k 2 0
� �
b h
16: K3 = h [q̄ i (t ) + K2 ] ◦ ω̂ib (tk + 2 )
2 b k 2 0
� �
b
17: K4 = h [q̄ i (t ) + K ] ◦ ω̂ib (tk + h)
2 b k 3
0
18: q̄bi (tk+1 ) = q̄bi (tk ) + 61 (K1 + 2K2 + 2K3 + K4 )
qbi (tk+1 )
19: q̄bi (tk+1 ) = ||qbi (tk+1 )||
� �
20: C̄bi (tk+1 ) = fq2c q̄bi (tk+1 )
⎡ b b ) b )
⎤
−S(ω̂ib ) I Υ(ω̂ib Γ(ω̂ib
⎢ 0 03x3 03x3 03x6 ⎥
⎢ 3x3 ⎥
21: A=⎢ ⎥
⎣ 03x3 03x3 03x3 03x6 ⎦
06x3 06x3 06x3 06x6
22: Φk+1
k = eAh
23: x̂−
k+1 = Φk+1
k x̂+
k
T
24: P−k+1 = Φk
k+1 + k+1
P k Φk + HQHT h
25: if Sensor externo diponible then
q̆bi (tk+1 )
26: q̆bi (tk+1 ) = ||q̆bi (tk+1 )||
� �
27: C̆bi (tk+1 ) = fc2q C̄bi (tk+1 )
T
28: ϕk+1 = S−1 [C̆bi (tk+1 ) C̄bi (tk+1 ) − I]
29: Kk+1 = P− T
k+1 H [HPk H + R]
+ −1
78
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
4.4 Validación
4.4.1 Trayectoria VS30
Parámetro Magnitud
◦
Varianza del sensor externo [ ] ±2
Condiciones iniciales [◦ ] ±3
Sesgos en ω [◦ /s] ±0,5
Factor de escala [ %] 1
Falta de ortogonalidad [ %] 0.5
Varianza de ω [◦ ] ±3
Frecuencia de sensor externo [Hz] 2.5
Frecuencia de sensor interno ω [Hz] 50
79
Figura 4.3. Error de estimación y cotas de 2σ.
Fuente: elaboración propia.
80
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
81
Figura 4.7. Falta de ortogonalidad estimada.
Fuente: elaboración propia.
Para este test se usan los datos obtenidos en el mismo experimento del capı́tulo 3.
En las figuras 4.8 y 4.9 se observa el comportamiento del error de estimación, el
cual se encuentra muy por debajo de sus cotas estimadas. En este procedimiento la
innovación resulta ser muy parecida a un proceso blanco y a su autocorrelación (ver
figura 5.10).
82
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
83
Figura 4.10. Autocorrelación de la innovación.
Fuente: elaboración propia.
84
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
85
Error VS30 SAC-D
◦
Media [ ]
ψ -0,0186 0,0083
θ 0,0218 -0,0488
φ -0,0167 0,0304
Desvio [◦ ]
ψ 0,2208 0,4938
θ 0,2168 0,4663
φ 0,2250 0,4504
Máximo [◦ ]
ψ 0,247 0,7755
θ 0,2028 1,1042
φ 0,2125 0,6294
Como puede observarse en la tabla 4.2, la media del error es casi cero para
ambas trayectorias. El desvı́o es muy pequeño comparado con el de los sensores y
la evolución del error se encuentra acotada. Estos resultados en comparación con el
esquema de estimación de actitud sin calibración on-line presentados en la tabla 3.3
son mejores, puesto que las cotas de error no superan los 0,5◦ y los valores máximos,
los 1,1◦ . De esta manera, los beneficios de la navegación integrada con estimación
de parámetros de error de los sensores es demostrada.
4.5 Conclusiones
Se construyó el modelo para el filtro de Kalman en el cual se realiza un proceso de
calibración on-line, sumado a la corrección de la actitud que se realizó en el capı́tulo
3. Las simulaciones realizadas sobre las trayectorias del VS30 y del SAC-D muestran
la superioridad del algoritmo frente a la solución de navegación inercial. Las mag-
nitudes de error máximas se reducen en un 70 % para el peor caso en la trayectoria
del SAC-D. Si bien el sistema no es lineal, el comportamiento de la solución para
el modelo elegido muestra que es una excelente aproximación del comportamiento
real del error en el sistema. Se puede concluir que el proceso ruidoso que contamina
al giróscopo efectivamente es cercano a una secuencia de ruido blanco. Otra carac-
terı́stica que se observa es la rápida convergencia del sistema.
86
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
Los resultados evaluados sobre la trayectoria del SAC-D son de gran importancia,
puesto que estos datos son adquiridos a partir de la plataforma robótica y evaluados
off-line. Si bien el sistema no esta funcionando sobre el vehı́culo, esta simulación
muestra que la implementación del algoritmo sobre la plataforma corriendo on-line
puede llegar a tener un desempeño adecuado.
87
Capı́tulo 5
Análisis de observabilidad
5.1 Observabilidad
La observabilidad es un criterio que se aplica sobre los modelos en espacio de estados
y pretende determinar si la información que entregan las mediciones es suficiente
para reconstruir el vector de estados en un tiempo determinado. Este es un criterio
de análisis de suma importancia en problemas de estimación, ya que si en algún
instante ciertas variables de estado no son observables, quiere decir que estas no
tendrán una correcta estimación. En este trabajo se analiza la observabilidad del
sistema mediante dos métodos:
89
Se construye la matriz de observabilidad M :
⎡ ⎤ ⎡ ⎤
y0 H
⎢ y1 ⎥ ⎢ HΦ0 1 ⎥
⎢ ⎥ ⎢ ⎥
⎢ y2 ⎥ ⎢ HΦ 2 1
Φ ⎥
⎢
ȳ[0, k] = ⎢ ⎥ ⎢ 1 0 ⎥ x[0] = M x[0]
... ⎥=⎢ ... ⎥ (5.2)
⎢ ⎥ ⎢ ⎥
⎣yk−1 ⎦ ⎣ HΦk−1 2 1
k−2 ...Φ1 Φ0
⎦
k k−1 2 1
yk HΦk−1 Φk−2 ...Φ1 Φ0
G = M−1 M (5.5)
G = U ∗ Σ ∗ UT
90
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
representan las bases ortonormales que indican las direcciones en las cuales xi es
más observable. Cuando x(t0 ) = ui se tiene que ||ȳ[0, k]||2 representa al autovalor
de observabilidad σi .
Donde P es la matriz de covarianza del error del filtro de Kalman. El mayor valor
para σw corresponde a la menor observabilidad obtenida de la combinación lineal w.
El objetivo del análisis por grado de observabilidad es encontrar los valores máxi-
mos de σw para determinar cuán pobre puede ser el grado de observabilidad para
dicha combinación. Estos valores pueden ser determinados mediante el método de
multiplicadores de Lagrange [63, 64] a partir de la siguiente expresión simplificada:
(P − λI)v = 0 (5.9)
91
Para dicho análisis se propone aplicar dos etapas de transformación a la matriz
P, la primera de normalización y la segunda para acotar, ya que los autovalores al
representar distintas variables poseen dimensiones y cotas distintas. Por lo tanto, se
busca la uniformidad en la magnitud de los autovalores, esto permite comparar el
grado de observabilidad entre los distintos estados. La normalización de la matriz
de covarianza del error P se hace utilizando como referencia las covarianzas de error
iniciales en el filtro, y se define de la siguiente forma:
n
P2 (k) = ∗ P 1(k) (5.12)
traza(P 1(k))
Finalmente, se puede decir que los autovalores de la matriz P2 corresponden al
grado de observabilidad de la combinación lineal de los estados, la cual es descrita
por los autovectores encontrados. El menor autovalor indica la mejor observabilidad
para la combinación lineal de algunos estados; en dicha combinación los estados con
mayor ponderación son los más observables y los que más aportan a la disminución
de la varianza del error.
92
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
σi σi σi
σ1 2126563,63 σ6 461,079 σ11 40,0970
σ2 1416025,20 σ7 195,208 σ12 37,3006
σ3 1279263,71 σ8 186,559 σ13 0,09115
σ4 753,05 σ9 168,691 σ14 0,08979
σ5 704,70 σ10 46,2263 σ15 0,08522
93
observabilidad de estos estados. Finalmente se puede inferir que el principal aporte
en la estimabilidad del sistema está dado por los estados de error de actitud, lo cual
implica que la actitud del simulador es muy observable en esta trayectoria, seguido
de los sesgos en cada eje de los giróscopos, los cuales son estimados correctamente.
Mientras en lo que concierne a los factores de escala y de falta de ortogonalidad su
baja magnitud estimada refleja poca observabilidad en el sistema planteado sobre
la trayectoria recorrida.
94
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
En los autovectores que referencian los estados de los 3 ejes en los que se estima
la orientación del simulador, la figura 5.3 confirma que son los 3 primeros estados los
que mayor aporte hacen en la combinación lineal que construye a dichos autovalores.
95
De igual manera para los sesgos, se observa el alto grado de observabilidad de los
estados de 4 al 6 que contribuyen en la estimabilidad de estos mismos.
5.2 Conclusiones
Al comparar ambos métodos de análisis, por matriz de observabilidad y grado de
observabilidad, se concluyó que el segundo entrega una noción detallada de los re-
sultados de estimación obtenidos por el algoritmo de navegación integrada. Mientras
que en el primero se podrı́a concluir que los únicos estados no observables son los
estados x13,14,15 correspondientes a 3 de los factores de falta de ortogonalidad. En
el segundo método, al estar directamente relacionado con el comportamiento del
estimador, se muestra que los estados que representan los 3 factores de escala y los
6 de falta de ortogonalidad tienen un bajo grado de observabilidad, pero posible-
mente en algún momento fueron instantáneamente observables y por esto la matriz
de observabilidad entrega una ponderación intermedia que presume una noción de
ser estados observables. Finalmente, una caracterı́stica interesante del análisis por
grado de observabilidad (particularmente los autovalores) es que se puede analizar
en un instante o iteración especı́fico de la trayectoria y luego ser comparada con los
autovalores de la siguiente iteración y ası́ poder observar cuál fue el mejor y peor
estado estimado entre la iteración tk y la tk+1 .
Un enfoque interesante que se puede aplicar consiste en usar el grado de observabili-
dad medido en cada iteración del algoritmo para decidir qué estados son observables
y si pueden ser realimentados, y construir ası́ un enfoque adaptivo según el grado
de observabilidad. Si el grado de observabilidad para un estado es mayor a cierto
umbral definido (lo cual implica una mala observabilidad), se puede detener la re-
alimentación de dicho estado. Este tipo de realimentación controlada puede llegar a
mejorar el rendimiento del sistema.
96
Capı́tulo 6
Implementación de la plataforma
de simulación con Hardware en
el Lazo
6.1 Introducción
La simulación con Hardware en el Lazo (HIL) es un concepto muy efectivo para
verificar y probar sistemas embebidos complejos antes de ser implementados en el
proceso real [65, 66]. El esquema de simulación tı́pico utiliza un conjunto de software
junto con un modelo de realidad, lo cual permite llevar al sistema simulado a zonas
de operación que son de interés. Con el crecimiento en la complejidad de los sistemas,
el proceso de simulación resulta de utilidad y permite la reducción de costos y riesgos
en la etapa de desarrollo de un proyecto [67, 68].
97
Figura 6.1. modelo simulación por software.
Fuente: elaboración propia.
Si bien esta simulación permite extraer información sobre el desempeño del sis-
tema, está sujeta a la precisión en el modelado de este. El enfoque HIL reemplaza
bloques del lazo de software por hardware, lo que reduce la complejidad del modelo.
Esto también genera un ambiente de simulación más parecido al real lo que permite:
98
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
6.1.1 Arquitectura
Una plataforma HIL generalmente está compuesta por elementos de software y hard-
ware que intercambian señales. Con el fin de que el sistema evolucione en el tiempo
de manera coherente (causalidad) se requiere una computadora que administre el
tiempo. Esta computadora central intercambia información con los bloques de la pla-
taforma y debe poseer una interfaz hombre-máquina (HMI, por sus siglas en inglés)
que le permita enviar información al usuario. En este trabajo la computadora prin-
cipal es una BeagleBoard xM [71, 72], la cual maneja casi la totalidad del software
dentro de la plataforma.
Esta computadora es la encargada de ejecutar el algoritmo de navegación integrada
de actitud y para ello requiere las mediciones de la velocidad angular. La tarjeta de
adquisición de datos LPCXpresso se encarga de servir como interfaz entre la unidad
de medidas inerciales y la computadora de navegación. Por otro lado, la compu-
tadora de navegación interactúa con el S4 controlador del robot IRB140 [41, 73]
recibiendo información de actitud y tiempo. Esta información es usada como fuente
extra en el algoritmo de navegación. En el controlador S4 del robot se almacena y
programa una trayectoria, que es producto de los datos obtenidos por telemetrı́a del
satélite SAC-D Aquarius que se encuentra en órbita actualmente. Esta trayectoria
de actitud se ve reflejada en el movimiento de la sexta articulación del robot sobre
la cual se encuentra conectada fı́sicamente la UMI.
99
La interacción entre los componentes de Hardware del sistema puede verse con más
claridad en la figura 6.3.
6.2 Hardware
A continuación se describen los elementos de hardware utilizados en el presente
trabajo para la construcción de la plataforma. En la figura 6.4 se presenta una
captura de la plataforma desarrollada.
100
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
Las especificaciones para los giróscopos y sus errores de sesgo y ruido pueden
observarse en la tabla 6.1. Esta UMI posee un sistema de sensado autónomo que,
tan pronto como se conecte a una fuente de alimentación, empieza a almacenar
medidas en sus registros a una frecuencia configurable mediante el registro SMPL -
PRD [39]. Adicionalmente posee un filtro digital interno, el cual permite reducir el
ancho de banda del ruido (NBW)2 . Según el valor de la frecuencia de muestreo este
filtro permite acotar el valor RMS del ruido de los giróscopos. En la tabla 6.1 se
resumen las principales caracterı́sticas de la UMI utilizada.
1
Micro ElectroMechanical Sensors.
2
Noise Band Width. Por defecto está configurado para 330Hz
101
Parámetro Condiciones de prueba valor tı́pico Unidad
◦
Rango dinámico ±300 /s
◦
Sensibilidad 0,05 /s]/LSB 1
◦
Error de Bias ±σ ±3 /s
Inicial
◦
√
Angle Random 1σ 2 / hr
Walk [5, 50]
◦
Ruido de salida Con un rango dinámico de 0.8 /s rms
±300◦ /s
◦
Sensibilidad al V cc = 4,75V a 5,25V ±0,3 /s
voltaje
Corriente de En modo normal.2 49 mA
consumo
3
http://lpcxpresso.code-red-tech.com/LPCXpresso/
102
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
• Costo.
• Bajo consumo.
103
de desarrollar funcionalidades de laptop gracias a su gran capacidad de desempeño,
las interfaces y periféricos disponibles. La capacidad de cómputo de esta platafor-
ma está diseñada para proveer procesamiento de video, imagen y gráficos, soporta
sistemas operativos como LINUX, WINDOWS CE, ANDROID y QNX. Esto la con-
vierte en un sistema embebido muy potente, de bajo consumo y costo, puesto que es
diseñada como una plataforma de experimentación y desarrollo [72].
104
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
6.3 Interfaces
Uno de los problemas más complejos en la construcción de plataformas HIL se pre-
senta en la interacción entre bloques de software y hardware [65]. Dada la arquitec-
tura propuesta en 6.3, a continuación se muestran las interfaces de comunicación
requeridas en el desarrollo del sistema.
105
6.3.1 TAD-UMI
La adquisición de datos se realiza mediante la TAD a través de una interfaz SPI
(Serial Peripheral Interface). La UMI almacena en un conjunto de registros de 16
bit las magnitudes sensadas; de manera independiente la TAD está programada
para trabajar como maestro y escribir o leer los registros del sensor. El diagrama de
conexión tı́pico se muestra en la figura 6.8. La lectura de una medición requiere 2
secuencias de 16 bits; en la primera se envı́a el comando de lectura que consiste en
una trama donde se define en un bit si se lee o escribe (bit R/W=0), concatenado
con la dirección del registro objetivo por la lı́nea DIN. En la segunda secuencia de
16 bits se transmite el contenido del registro en la lı́nea DOUT. Esta interfaz puede
operar en modo full-duplex.
6.3.2 TAD-CN
Una vez adquiridas las mediciones por parte de la TAD, estas deben ser enviadas a
la CN para ejecutar el algoritmo de navegación integrada. Los datos son enviados
mediante una interfaz de trasmisión serial RS-232 a 115200 baud/s. Se envı́a una
trama de 8 bytes, como se muestra en la figura 6.9. Los bytes trasmitidos equivalen a
la parte alta y baja de las velocidades angulares obtenidas, más los bytes equivalentes
a un registro de identificación único propio de la UMI, esto con el fin de tener un
106
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
dato con el cual se pueda garantizar la fiabilidad de las mediciones trasmitidas. Los
datos son concatenados por la computadora de navegación, que posteriormente se
encarga de acondicionar los bytes concatenados. El proceso de acondicionamiento se
lleva a cabo debido a que los datos la UMI los entrega en notación complemento a
2 y con una resolución de 0,05◦ /s = 1bit.
Finalmente la computadora de navegación recibe los datos cada 30 ms, estos son
concatenados y escalizados para ser procesados por parte del algoritmo de navega-
107
ción. En las figuras 6.10 y 6.11 se presenta el esquema y el PCB desarrollado como
interfaz entre la TAD y la CN. El sistema de alimentación de energı́a consta de un
regulador de voltaje LDO (LM 2575) en configuración BUCK, el cual garantiza una
regulación de menos del 1 % a un valor de 5V , por lo que la TAD y la UMI pueden
ser energizadas con una fuente externa de 7,5V hasta 48V , con consumo tı́pico de
0.6 vatios entre la TAD y la UMI. El acondicionamiento de interfaz UART a interfaz
RS-232 se hace por medio del integrado MAX3232, debido a que los niveles lógicos
que maneja la TAD son de 3,3V .
• Ejecutar programas.
108
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
6.3.4 CN-hombre
En la computadora de navegación se instaló un sistema operativo Linux, de distri-
bución Debian para sistemas embebidos de arquitectura ARM. El sistema completo
entrega al usuario un conjunto de resultados relacionados con el sistema de navega-
ción. Todos estos resultados son almacenados en el sistema de archivos.
• Estimación de actitud.
109
6.4 Evolución temporal del sistema
La evolución temporal de este sistema está directamente ligada a la adquisición
de datos, de tal manera que se tiene acceso a dos fuentes de sincronización. La
TAD alerta a la CN cada 30 ms la existencia de una nueva medición de velocidad
angular. Para que el algoritmo en el tiempo k entregue el cuaternión correspondiente
a este tiempo k debe conocer las velocidades angulares ωk−1 y ωk−2 . En este sentido,
el proceso principal siempre está a la espera de una nueva velocidad angular y
dependiendo de qué orden de llegada tenga, se encarga de almacenarla o de calcular
el cuaternión. Cada vez que se obtiene un cuaternión se genera una alarma del
proceso del Robot. Sin importar esto, en cada iteración existe un condicional sobre
el estado de esta alarma; en caso de que exista dicha alarma se procede a calcular
la estimación a partir del filtro de Kalman, como puede verse en la figura 6.13.
110
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
6.5 Software
6.5.1 Metodologı́a
En el proceso de desarrollo de este trabajo se siguió una metodologı́a iterativa en
la cual el desarrollo de software se lleva a cabo de manera incremental, en cada
iteración del proceso se agrega algo de complejidad al sistema, lo cual facilitó el tra-
bajo cooperativo en la etapa de desarrollo [81], se ha mostrado que esta metodologı́a
de trabajo permite ahorrar tiempo comparada con las metodologı́as lineales tı́picas.
Debido a que el proceso de depuración se realiza iterativamente con la implementa-
ción incremental se evita la acumulación de problemas lo cual flexibiliza el diseño de
la solución al problema [82]. En la figura 6.14 se puede ver la descripción de la evoluci
ón de la metodologı́a aplicada; por un lado, se centra en el planteamiento del
problema y análisis de requerimientos y, por el otro, se va expandiendo en tareas
que contienen las iteraciones pasadas. Por lo tanto, la iteración final abarcó el cum-
plimiento de todos los requerimientos propuestos para cada etapa del proyecto.
111
Las iteraciones que se construyeron son las siguientes:
112
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
• Main: este módulo representa el hilo principal del programa, donde sencilla-
mente se llevan tareas de inicialización y configuración de los módulos ante-
riormente descritos. También se lleva a cabo una función de inicialización de
la UMI (adis Init()). Luego de esto el sistema queda a la espera de la acti-
vación de la interrupción temporal para llevar a cabo las tareas de adquisición
y envı́o de datos desde la UMI hacia la CN. En dicha interrupción se solicitan
las mediciones a la UMI por medio de la función de acceso uint16 IMU -
Read(Uint8 Address Register), se toman los 8 bytes solicitados y se
procede a enviarlos por el módulo UART hacia la computadora de navegación.
1
Repetitive Interrupt Timer.
113
Figura 6.15. Descripción modular.
Fuente: elaboración propia.
6.5.2.2 Módulos CN
114
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
115
Library, la cual soporta un amplio rango de rutinas matemáticas. Las funciones
que se definen dentro de este modulo son:
116
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
117
Figura 6.16. Algoritmo del proceso principal.
Fuente: elaboración propia.
6.6 Conclusiones
La implementación del sistema de navegación integrada de actitud utilizando HIL
permite analizar la UMI en un entorno similar al real. Generalmente cuando se rea-
lizan simulaciones de sistemas de navegación se parte de la suposición de que las
118
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
119
Referencias Referencias
121
[10] R. E. Kalman et al., “A new approach to linear filtering and prediction pro-
blems,” Journal of basic Engineering, vol. 82, no. 1, pp. 35–45, 1960. 1, 21,
37
[12] M. S. Grewal and A. P. Andrews, Kalman filtering: theory and practice using
MATLAB. Wiley-IEEE press, 2011. 1
[17] “Plan espacial nacional, “argentina en el espacio”,” tech. rep., CoNAE, 2008. 3
[18] D. Li, R. Landry, and P. Lavoie, “Validation and performance evaluation of two
different inertial navigation system design approaches,” in International Global
Navigation Satellite Systems Society Symposium, 2007. 3
[19] S. Godha, “Performance evaluation of low cost mems-based imu integrated with
gps for land vehicle navigation application,” Department of Geomatics Enginee-
ring, p. 12, 2006. 3
[22] C. Reboulet and S. Leguay, “The interest of redundancy for the design of a sphe-
rical parallel manipulator,” in Recent Advances in Robot Kinematics, pp. 369–
378, Springer, 1996. 12
[23] D. Hoag, “Apollo guidance and navigation: Considerations of apollo imu gimbal
lock,” Apollo Lunar Surface J, 1963. 13
122
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
[24] M. W. Spong and M. Vidyasagar, Robot dynamics and control. John Wiley &
Sons, 2008. 14, 16, 33
[25] “Ieee standard specification format guide and test procedure for linear, single-
axis, nongyroscopic accelerometers corrigendum 1: Changes to annex k and
annex l,” IEEE Std 1293-1998/Cor 1-2008 (Corrigendum to IEEE Std 1293-
1998), pp. C1 –3, 25 2008. 16
[28] M. Grewal and A. Andrews, “How good is your gyro [ask the experts],” Control
Systems, IEEE, vol. 30, no. 1, pp. 12–86, 2010. 19, 20
[29] H. Hou, Modeling inertial sensors errors using Allan variance. University of
Calgary, Department of Geomatics Engineering, 2004. 19
[30] “Ieee standard specification format guide and test procedure for single-axis laser
gyros,” IEEE Std 647-2006 (Revision of IEEE Std 647-1995), 2006. 19
[31] M. Park, Error analysis and stochastic modeling of MEMS based inertial sensors
for land vehicle navigation applications. University of Calgary, Department of
Geomatics Engineering, 2004. 19
[32] J. Durbin and S. J. Koopman, Time series analysis by state space methods,
vol. 38. Oxford University Press, 2012. 21
123
[36] C.-T. Chen, Analog and digital control system design: transfer-function, state-
space, and algebraic methods. Oxford University Press, Inc., 1995. 23
[38] G. J. y. E. M. Carrizo J., Análisis de los datos del vuelo del VS30 y desarrollo
de algoritmos de navegación integrada. Universidad de Buenos Aires, 2013. 29
[40] GrabCAD Community, “ABB IRB 140 — 3D CAD Model Library,” 2012. 33
[41] ABB, “Product manual irb 1400 m97a, on-line manual,” 33, 83
[43] G. Welch and G. Bishop, “An introduction to the kalman filter,” 1995. 37
[44] S. S. Haykin et al., Kalman filtering and neural networks. Wiley Online Library,
2001. 37, 38
[46] E. A. Wan and R. Van Der Merwe, “The unscented kalman filter for nonlinear
estimation,” in Adaptive Systems for Signal Processing, Communications, and
Control Symposium 2000. AS-SPCC. The IEEE 2000, pp. 153–158, IEEE, 2000.
37
[47] J. Sasiadek, Q. Wang, and M. Zeremba, “Fuzzy adaptive kalman filtering for
ins/gps data fusion,” in Intelligent Control, 2000. Proceedings of the 2000 IEEE
International Symposium on, pp. 181–186, IEEE, 2000. 37
[48] E. R. Dougherty, Random processes for image and signal processing. SPIE
Optical Engineering Press, 1999. 38
124
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
[50] J. Farrell and M. Barth, The global positioning system and inertial navigation,
vol. 61. McGraw-Hill New York, NY, USA:, 1999. 39, 86
[52] R. Garcia, J. Puig, P. Ridao, and X. Cufi, “Augmented state kalman filtering
for auv navigation,” in Robotics and Automation, 2002. Proceedings. ICRA’02.
IEEE International Conference on, vol. 4, pp. 4010–4015, IEEE, 2002. 39
[55] G. Evensen, “The ensemble kalman filter: Theoretical formulation and practical
implementation,” Ocean dynamics, vol. 53, no. 4, pp. 343–367, 2003. 39
[56] S. Cooper and H. Durrant-Whyte, “A kalman filter model for gps navigation of
land vehicles,” in Intelligent Robots and Systems’94.Ádvanced Robotic Systems
and the Real World’, IROS’94. Proceedings of the IEEE/RSJ/GI International
Conference on, vol. 1, pp. 157–163, IEEE, 1994. 39
125
[61] J. Giribet, “Algoritmos de navegación integrada aplicados a vehı́culos espacia-
les.” Tesis para optar al tı́tulo de Ing. Electrónico en la Universidad de Buenos
Aires, 2003. 57
[62] F. Ham and R. Brown, “Observability, eigenvalues, and kalman filtering,” Ae-
rospace and Electronic Systems, IEEE Transactions on, vol. AES-19, no. 2,
pp. 269–273, 1983. 73, 75
[64] S. Hong, H.-H. Chun, S.-H. Kwon, and M. H. Lee, “Observability measures
and their application to gps/ins,” Vehicular Technology, IEEE Transactions
on, vol. 57, no. 1, pp. 97–106, 2008. 73, 75
[66] O. Ma, M. Zebenay, and T. Boge, “Control of industrial robots for hardware-
in-the-loop simulation of satellite docking,” in SPIE Defense, Security, and
Sensing, pp. 80440G–80440G, International Society for Optics and Photonics,
2011. 81, 82
[67] O. Ma, A. Flores-Abad, and T. Boge, “Use of industrial robots for hardware-
in-the-loop simulation of satellite rendezvous and docking,” Acta Astronautica,
vol. 81, no. 1, pp. 335–347, 2012. 81, 82
[68] T. Boge and O. Ma, “Using advanced industrial robotics for spacecraft rendez-
vous and docking simulation,” in Robotics and Automation (ICRA), 2011 IEEE
International Conference on, pp. 1–4, IEEE, 2011. 81, 82
[71] T. Instruments, “Beagleboard system reference manual rev c4,” 2009. 83, 87
126
Desarrollo de un sistema de navegación integrada para la evaluación de medidas inerciales
[77] R. Lundqvist and T. Söreling, New Interface for Rapid Feedback Control on
ABB-robots. PhD thesis, Linköping, 2005. 92
[81] M. Xie, M. Shen, G. Rong, and D. Shao, “Empirical studies of embedded softwa-
re development using agile methods: a systematic review,” in Proceedings of the
2nd international workshop on Evidential assessment of software technologies,
pp. 21–26, ACM, 2012. 95
127
Autores
Daniel Reyes
Ingeniero Electrónico de la Universidad Distrital Francisco José de Caldas. Duran-
te sus estudios de pregrado y mediante trabajo cooperativo con la Universidad de
Buenos Aires realizó su trabajo de grado, el cual fue laureado. Se desempeñó como
ingeniero de aplicaciones en Huawei Colombia durante un año y medio. Desde 2015
empezó a trabajar en Claro Colombia como ingeniero de proyectos y arquitecto de
red para servicios de comunicaciones móviles y fijas. En la actualidad se desempeña
como ingeniero de desarrollo de productos convergentes.
Jonatan Aponte
Ingeniero Electrónico de la Universidad Distrital Francisco José de Caldas. Durante
sus estudios de pregrado, su trabajo de grado fue laureado. Se desempeñó como in-
geniero de aplicaciones y Software en Huawei Colombia durante 3 años. Magíster en
Ingeniería Electrónica y Tecnologías de la Información de la Universidad de Ciencias
Aplicadas de Darmstadt, Alemania. Actualmente se desempeña como Consultor en
la empresa Detecon GmbH en Alemania.