Home


 

Desarrollo de avionica UAV: Sistema de navegación inercial Strap-Down con sensores inerciales de estado solido.

Un poco de historia

Los primeros sistemas de navegación autónoma se remontan a la segunda guerra mundial y las famosas bombas V1 y V2 alemanas, En aquellos días la electrónica era escasa al borde de inexistente y sin embargo disponían de sistemas de guiado que cometían un error pequeño en un viaje de larga distancia. El método que usaban estas bombas de largo alcance es el conocido como Sistema de Navegación Inercial (INS Inertial Navigation System), en él existen unos sensores inerciales (giroscopos y acelerómetros) a partir de los cuales podemos calcular la posición con respecto al punto de lanzamiento (ni que decir tiene que no existía el GPS).

La unidad de medidas inerciales (IMU Inerial Measurements Unit) era un complejo sistema mecánico con motores, volantes de inercia y pesados acelerómetros mecánicos.

El Strap-down INS

El sistema strap-down es una simplificación mecánica del método "gimbaled" anteriormente descrito, en el sistema strap-down,  los acelerómetros esta rígidamente montados sobre el fuselaje y giran con él y no flotantes como en el "gimbaled".

Para tener una idea mas clara trata de entender en que consiste el método tradicional, unos giroscopos mecánicos (de los de motor y volante de inercia) mantienen alineado el sistema con respecto a la tierra (el conjunto flota sobre rodamientos), de manera que cuando el avión rota en algún eje el sistema sigue alineado y es muy fácil medir la desalineación para corregirla si es necesario, es un sistema fundamentalmente mecánico que no requiere de ningún calculo, el guiado puede ser analógico o incluso mecánico. la desventaja de este sistema es el peso y el coste

El Strap-Down es un método desarrollado para la tecnología actual, (microcontroladores con gran potencia de calculo y sensores de estado sólido), El Strap-Down es completamente diferente en su construcción, tecnología, peso... pero obtiene el mismo resultado.

La desventaja del método strap-down es la gran potencia de calculo que necesita, mientras que el método "gimbaled" obtenía directamente los datos de actitud del avión (ángulo de ataque, alabeo...) los giroscopos del strap-down nos dan solo la velocidad angular de rotación en cada eje, por lo que esta debe de ser integrada para obtener el ángulo. El algoritmo se complica increíblemente cuando se introducen el resto de sensores que están implicados en la navegación inercial (acelerómetros pero también otros sensores no inerciales como altura barométrica, posición GPS...)

Navegación Inercial

Hasta este punto queda claro que la base de la navegación y el guiado son los sensores inerciales. Pero hoy en día tiene poco sentido un sistema de navegación inercial puro por la existencia de tecnologías como el GPS.

El sistema de navegación inercial (INS) es el algoritmo en el cual se calculan todas las variables del vuelo:

  • Por una parte las referentes a la inclinación de los ejes del avión con respecto al eje de referencia "tierra", lo que llamaríamos horizonte artificial o mas técnicamente AHRS (attitude and Heading Reference system)
  • y por otra parte el sistema de posicionamiento, posicion y velocidad del avion.

No parece lógico que disponiendo de GPS tengamos que calcular la posición a partir de unos acelerómetros!

El algoritmo INS (inectial navigation system) se basa en una herramienta matemática llamada filtro Kalman. El filtro kalman trata de hacer un seguimiento de las señales de aceleración, velocidad y posición y de sus errores (lo que de desvían estas medidas o las variables que de ellas se calculan).



En este punto vamos a meter la señal del GPS, el GPS se usa para hacer un calculo del la desviación de las medidas y por tanto sirve para corregir estas medidas. Este algoritmo inercial asistido por GPS de llama INS/GPS.

¿porque no se usa directamente la señal del GPS?, la señal de GPS que vemos ya esta muy procesada por un algoritmo basado en Kalman (la señal original es muy ruidosa), este algoritmo nos da una señal normalmente a 1HZ (hasta 10Hz para GPS militares pero no por ello mas precisa que la de 1HZ), lo cual no es suficiente para establecer ningún bucle de control. Sin embargo la señal del GPS (1hz y 5m de error) es increíblemente buena para hacer un seguimiento del error de las medidas inerciales, de esta combinación sacamos una señal a 500Hz (si la velocidad de proceso nos diese) de aceleración lineal, velocidad lineal, posición global, aceleración angular, velocidad angular y posición angular del avión, un buen churro de datos que nos permiten hacer cualquier estrategia de control.

En cualquier caso tiene que quedar claro que los datos de GPS SOLO se usan para calcular los errores del modulo de navegación inercial.

A la posición calculada por este algoritmo se le llama posición (INS/GPS), a las velocidades, Velocidad (INS/GPS) y a todos lo referente ángulos y velocidades angulares se le llama ACTITUD o AHRS (AHRS Attitude and Heading Reference Systems, la traducción al español podría ser horizonte artificial)

Todos estos datos se envían a los módulos que establecen los bucles de control para pilotar el avión, por una parte el AHRS se envía al modulo de dinámica del vuelo que se encarga de mantener el avión nivelado, mantener las velocidades... digamos que este modulo esta a los mandos del avión. Mientras que la posición (INS/GPS) se envía al modulo de trayectorias, rumbos o como quieras llamarlo, que mira donde esta el avión, a donde tiene que llegar y decide si tiene que virar y posteriormente le dice al modulo de dinámica del vuelo cuanto tiene que virar, subir, bajar...

A continuación se profundiza un poco mas en el tipo de calculo que realiza el algoritmo:

Descripcion de las partes fundamentales de la navegacion inercial.

(((Los siguientes textos son una traducción de la pagina de Tom Pycke http://tom.pycke.be/)))

¿Que es una IMU?

Una IMU (iniciales de Inertial Measurement Unit) es imprescindible en todo buen autopilot. Básicamente podrías verlo como una "caja negra" que te da información acerca de la posición y de la orientación del aparato.

Pero como funciona esta "caja negra"? Pues esta caja lleva dos tipos de sensores:

  • Los acelerómetros, en total lleva 3 acelerómetros en los ejes XYZ, como recordaras de la clase de física la gravedad es una aceleración por lo que los acelerómetros te dan las tres componentes del vector gravedad! Conociendo que el vector gravedad es supuestamente perpendicular a la superficie terrestre es fácil calcular nuestra orientación con respecto a tierra. Sin embargo como estamos volando las aceleraciones debidas a los giros nos alteran la medida del vector gravedad. Como resultado este vector solo resulta correcto si hacemos una media de un periodo largo de tiempo.
  • Los gyroscopos, lleva dos o 3 giroscopos, estos sensores miden la aceleración angular, con la aceleración angular podemos calcular la velocidad angular (integrando) y con la velocidad podemos calcular directamente el ángulo (integrando otra vez) para saber la orientación con respecto a tierra. Parece ideal sin embargo estos sensores tienen ruido y deriva (se descalibran) y después de tanto calculo no es posible obtener datos con una mínima precisión, solo funciona en periodos de tiempo muy pequeños para luego desviarse mucho de la medida correcta.

Si has prestado atención veras que hemos calculado la orientación por dos métodos diferentes, en uno solo es valida y muy estable para periodos de tiempo muy grandes y en otro es precisa y rápida pero valida para periodos de tiempo muy pequeños.

Entonces podemos juntar estas dos medidas para tener una buena medida siempre???, SI! para esto se usa una herramienta llamada filtro Kalman, desde los pequeños misiles guiados hasta los grandes aviones de pasajeros usan este método que el Dr Rudolf E. Kalman enuncio en el 1960 y a la que la NASA encontró rápidamente aplicación.

AHRS (Attitude and Heading Reference System)

En este apartado se describe muy simplificadamente el tipo de calculo que se hace con los sensores de la IMU para obtener los angulos del AHRS.

Acelerometros.

Este apartado se describe, de una manera practica, como el acelerómetro puede ser usado para determinar la orientación (solo el ángulo de ataque y el alabeo).

Como decíamos anteriormente con el acelerómetros nosotros podemos medir la aceleración de la gravedad.

La flecha roja indica la aceleración de la gravedad. La flecha azul indica lo que el acelerómetro esta midiendo a causa de la gravedad, Nota que el eje del acelerómetro es perpendicular a el avión.
El ángulo theta es el ángulo entre la dirección del vector gravedad y la dirección del eje de nuestro acelerómetro. El ángulo de ataque del avión es igual a theta por lo que calculando theta con unos pequeños cálculos trigonométricos tenemos calculado el ángulo de ataque.

accelerometer = cos (theta) * gravity

theta = acos (accelerometer / gravity)

Esto es un ejemplo simplificado en un plano 2D, en la practica se calculan los dos ángulos a la vez operando directamente con los vectores 3D.

 

Descripción del calculo con los Giroscopos
El calculo con los giroscopos es sencillo, los girocopos dan una medida de velocidad angular por lo cual hay integrar este valor para obtener la posición angular.

 ángulo  = ∫ velocidad angular (giroscopo)*dt + K

Esta formula es muy fácil de entender, si leemos la salida del acelerómetro una vez cada segundo y  la medida nos da una velocidad = 5 grados/segundo. en caso de que empecemos con un ángulo = 0 (K=0) después del primer segundo tendremos que el ángulo será 5º, si la medida sigue siendo uno en el segundo segundo tendremos que el ángulo será 10º, el tercer segundo 15º... y de esta forma vamos calculando el ángulo en función de la velocidad angular.

El problema que tenemos con esta medida es que el acelerómetro siempre tiene un pequeño error de medida, por pequeño que sea el error al cabo de un tiempo integrando esta señal la medida de ángulo se nos habrá ido mucho. Por ejemplo en el siguiente grafico se aprecia como después de 4500 muestras (12 segundos la medida) tiene un error de casi 40º!!!

 

Finalmente solo queda aplicar el filtrado Kalman.

No voy a explicar esta parte porque es cualquier caso resulta igual de complicado, para los que quieran comprender este algoritmo pongo tres links de lo mejor que he visto:

http://www.cs.unc.edu/~welch/media/pdf/kalman_intro.pdf  - Introducción al filtro Kalman por Welch & Bishop. Necesario si quieres dominar esta tecnologia.

Testing Kalman filters (Implementación practica de un filtro Kalman simplificado al máximo. Lo mas digerible que se puede encontrar)

Kalman demo application  (Programa para un dsPIC30 y video de demostración)

 

Pruebas del algoritmo completo: Simulador de vuelo.

Las primeras pruebas se pueden realizar sobre un simulador de vuelo, los simuladores de vuelo suelen mandar toda la información sobre dinámica del avión y GPS por red ethernet (protocolo UDP), además admiten la entrada de los mando también por esta vía (todo esto se usa cuando el simulador esta conectado a una cabina de mando totalmente instrumentalizada como en las escuelas de vuelo y para jugar en red).

Hay varios simuladores que hacen esto: FlightGear, x-plane, Flight Simulator.

En la pagina de Tom Pycke hay una aplicación en VisualBasic que recibe los datos del FlightGear y aplica el algoritmo para comprobar su funcionamiento.

http://www.flightgear.org/ (se puede descargar el simulador desde su pagina)

http://tom.pycke.be/mav/91/testing-kalman-filters


 

Copyright© 2008 nMine flight control. Todos los derechos reservados.