“evaluación y pruebas automatizadas de los algoritmos de estimación de...

7
MEMORIAS DEL XXIV CONGRESO INTERNACIONAL ANUAL DE LA SOMIM 19 al 21 DE SEPTIEMBRE DE 2018 CAMPECHE, CAMPECHE, MÉXICO Tema A3b. Mecanismos y Robótica: Algoritmos de estimación de orientación “Evaluación y pruebas automatizadas de los al goritmos de estimación de orientación para vehículos aéreos.” Yuriy Kovalenko a* , Pedro Huerta Durán a , Yevgen Prokhorov b . a Universidad Aeronáutica en Querétaro, Carretera Estatal 200 QuerétaroTequisquiapan No. 22154. Col. Parque Aeroespacial de Querétaro. Colón, Qro. C.P. 76278. México. b CINVESTAV, Unidad Querétaro. Libramiento Norponiente #2000, Fracc. Real de Juriquilla. Santiago de Querétaro, Qro. C.P. 76230. México. * Contacto: [email protected] R E S U M E N El articulo presenta un programa de pruebas aleatorias automatizadas de los algoritmos de estimación de orientación para vehículos aéreos. Para la generación de los datos sintéticos de prueba, el programa incluye el modelo dinámico de una aeronave y los modelos de sensores. El programa usa el método de optimización aleatoria para la búsqueda de los errores y la evaluación cuantitativa del algoritmo sometido a pruebas. La evaluación cuantitativa permite comparar diferentes algoritmos de estimación de orientación o comparar diferentes versiones de un algoritmo. El programa permite reducir el costo del diseño de la aeronave gracias a su capacidad de comparar los algoritmos de estimación de orientación automáticamente. El artículo muestra un ejemplo del uso del programa para evaluar un algoritmo simple de estimación de la orientación. Palabras Clave: Estimación de orientación, Pruebas de los algoritmos, Datos sintéticos, Vehículo aéreo no tripulados. A B S T R A C T The article presents a program of automatic random testing of the attitude estimation algorithms for aerial vehicles. For the generation of synthetic test data, the program includes the dynamic model of an aircraft and the sensor models. The program uses the random optimization method for the search of the errors and the quantitative evaluation of the algorithm under tests. The quantitative evaluation allows to compare different orientation estimation algorithms or different versions of an algorithm. The program allows to reduce the cost of aircraft design thanks to its ability to compare the attitude estimation algorithms automatically. The article shows an example of the use of the program to evaluate a simple attitude estimation algorithm. Keywords: Attitude Estimation, Algorithm testing, Synthetic data, Unmanned aerial vehicle. 1. Introducción Gracias al progreso en microelectrónica, se hizo posible obtener vehículos aéreos no tripulados (UAV) más autónomos y accesibles. Para evaluar la posición, los pilotos automáticos de dichos dispositivos comúnmente utilizan sensores de Sistemas Microelectromecánicos (MEMS). Los sensores MEMS tienen pequeñas dimensiones y son baratos, pero son ruidosos y tienen un gran sesgo. Para lograr una buena evaluación del estado de la aeronave utilizando sensores MEMS, es necesario usar algoritmos bastante complejos de procesamiento de señales de los sensores. En la actualidad, se ha desarrollado una gran cantidad de algoritmos de estimación de estado. Ejemplos de tales algoritmos son: el Filtro de Partículas, el Filtro de Kalman “Unscented” (UKF) y el Filtro de Kalman Extendido (EKF) [1]. Debido a la diversidad de algoritmos de estimación de orientación, se requiere de una herramienta que pueda evaluarlos. Usualmente en trabajos científicos los autores muestran las ventajas de sus algoritmos al comparar los resultados de su algoritmo propuesto con algún predecesor conocido. En muy pocas ocasiones, esta comparación se realiza usando los datos de medición de las trayectorias de objetos físicos reales. Por ejemplo, en [2] se realiza una comparación experimental física del algoritmo basado en el método del gradiente (método del máximo descenso) y el algoritmo basado en un filtro complementario no lineal (CF) con un EKF. Para validar la precisión de la estimación de orientación se usó un robot KUKA para generar los datos de prueba. Además, para estimar la carga computacional, los algoritmos se implementan en una tarjeta de evaluación basada en ARM-Cortex M4. Obviamente, los costos de los experimentos físicos son muy altos, por lo que, en [2] se ejecutaron las pruebas de los algoritmos solo para 2 trayectorias. ISSN 2448-5551 MT 28 Derechos Reservados © 2018, SOMIM

Upload: others

Post on 17-Apr-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: “Evaluación y pruebas automatizadas de los algoritmos de estimación de ...somim.org.mx/memorias/memorias2018/articulos/A3_154.pdf · 2020-01-14 · una aeronave y los modelos

MEMORIAS DEL XXIV CONGRESO INTERNACIONAL ANUAL DE LA SOMIM 19 al 21 DE SEPTIEMBRE DE 2018 CAMPECHE, CAMPECHE, MÉXICO

Tema A3b. Mecanismos y Robótica: Algoritmos de estimación de orientación

“Evaluación y pruebas automatizadas de los algoritmos de estimación de orientación para vehículos aéreos.”

Yuriy Kovalenkoa*, Pedro Huerta Durána, Yevgen Prokhorovb.

a Universidad Aeronáutica en Querétaro, Carretera Estatal 200 Querétaro–Tequisquiapan No. 22154. Col. Parque Aeroespacial de Querétaro. Colón,

Qro. C.P. 76278. México. b CINVESTAV, Unidad Querétaro. Libramiento Norponiente #2000, Fracc. Real de Juriquilla. Santiago de Querétaro, Qro. C.P. 76230 . México.

* Contacto: [email protected]

R E S U M E N

El articulo presenta un programa de pruebas aleatorias automatizadas de los algoritmos de estimación de orientación

para vehículos aéreos. Para la generación de los datos sintéticos de prueba, el programa incluye el modelo dinámico de

una aeronave y los modelos de sensores. El programa usa el método de optimización aleatoria para la búsqueda de los

errores y la evaluación cuantitativa del algoritmo sometido a pruebas. La evaluación cuantitativa permite comparar

diferentes algoritmos de estimación de orientación o comparar diferentes versiones de un algoritmo. El programa

permite reducir el costo del diseño de la aeronave gracias a su capacidad de comparar los algoritmos de estimación de

orientación automáticamente. El artículo muestra un ejemplo del uso del programa para evaluar un algoritmo simple de

estimación de la orientación. Palabras Clave: Estimación de orientación, Pruebas de los algoritmos, Datos sintéticos, Vehículo aéreo no tripulados.

A B S T R A C T

The article presents a program of automatic random testing of the attitude estimation algorithms for aerial vehicles. For

the generation of synthetic test data, the program includes the dynamic model of an aircraft and the sensor models. The program uses the random optimization method for the search of the errors and the quantitative evaluation of the

algorithm under tests. The quantitative evaluation allows to compare different orientation estimation algorithms or

different versions of an algorithm. The program allows to reduce the cost of aircraft design thanks to its ability to

compare the attitude estimation algorithms automatically. The article shows an example of the use of the program to

evaluate a simple attitude estimation algorithm.

Keywords: Attitude Estimation, Algorithm testing, Synthetic data, Unmanned aerial vehicle.

1. Introducción

Gracias al progreso en microelectrónica, se hizo posible obtener vehículos aéreos no tripulados (UAV) más autónomos y accesibles. Para evaluar la posición, los pilotos automáticos de dichos dispositivos comúnmente utilizan sensores de Sistemas Microelectromecánicos (MEMS). Los sensores MEMS tienen pequeñas dimensiones y son baratos, pero son ruidosos y tienen un gran sesgo. Para lograr una buena evaluación del estado de la aeronave utilizando sensores MEMS, es necesario usar algoritmos bastante complejos de procesamiento de señales de los sensores. En la actualidad, se ha desarrollado una gran cantidad de algoritmos de estimación de estado. Ejemplos de tales algoritmos son: el Filtro de Partículas, el Filtro de Kalman “Unscented” (UKF) y el Filtro de Kalman Extendido (EKF) [1].

Debido a la diversidad de algoritmos de estimación de orientación, se requiere de una herramienta que pueda evaluarlos. Usualmente en trabajos científicos los autores muestran las ventajas de sus algoritmos al comparar los resultados de su algoritmo propuesto con algún predecesor conocido. En muy pocas ocasiones, esta comparación se realiza usando los datos de medición de las trayectorias de objetos físicos reales. Por ejemplo, en [2] se realiza una comparación experimental física del algoritmo basado en el método del gradiente (método del máximo descenso) y el algoritmo basado en un filtro complementario no lineal (CF) con un EKF. Para validar la precisión de la estimación de orientación se usó un robot KUKA para generar los datos de prueba. Además, para estimar la carga computacional, los algoritmos se implementan en una tarjeta de evaluación basada en ARM-Cortex M4. Obviamente, los costos de los experimentos físicos son muy altos, por lo que, en [2] se ejecutaron las pruebas de los algoritmos solo para 2 trayectorias.

ISSN 2448-5551 MT 28 Derechos Reservados © 2018, SOMIM

Page 2: “Evaluación y pruebas automatizadas de los algoritmos de estimación de ...somim.org.mx/memorias/memorias2018/articulos/A3_154.pdf · 2020-01-14 · una aeronave y los modelos

MEMORIAS DEL XXIV CONGRESO INTERNACIONAL ANUAL DE LA SOMIM 19 al 21 DE SEPTIEMBRE DE 2018 CAMPECHE, CAMPECHE, MÉXICO

Es mucho más fácil comparar algoritmos en forma de un experimento numérico [3]. En este caso, se requieren datos de prueba sintéticos.

En [3] se obtuvieron datos sintéticos de pruebas como resultado de un vuelo manual en un simulador del vuelo de un cuadricóptero. Se compararon tres algoritmos de estimación de la orientación (filtro complementario (CF), EKF y UKF) en condiciones de maniobras altamente dinámicas. Se hicieron comparaciones para 9 casos de prueba (similar a las trayectorias) y 4 escenarios de simulación. Aunque este método de generación es mucho más económico que un experimento físico, la participación humana limita tanto la cantidad como la calidad de los datos de prueba obtenidos. Para eliminar esta limitación, se necesita un generador automático de datos sintéticos de prueba. En otras palabras, el simulador de vuelo o el modelo dinámico de una aeronave debe ser parte del entorno de prueba.

El entorno de simulación se utilizó en [4] para comparar algoritmos de EKF, filtro complementario explícito, filtro complementario pasivo y filtro basado en seguimiento; para 3 trayectorias y 3 configuraciones de prueba. Para generar los datos de prueba, se utilizó el modelo dinámico de un vehículo aéreo no tripulado tipo cuadricóptero. Sin embargo, en este artículo, solo se consideraron tres trayectorias. Tal conjunto limitado de datos de prueba fue el resultado de la participación humana en el diseño de misiones para el piloto automático. Para una comparación de algoritmos más completa, es necesario eliminar la participación humana en el procedimiento de generación de datos de prueba.

En todos los trabajos mencionados anteriormente, se observa que la precisión del algoritmo de estimación de orientación depende de la trayectoria de la aeronave. El hecho de que un algoritmo muestre un buen resultado de estimación en una trayectoria no garantiza que en otra trayectoria el mismo algoritmo también proporcionará un buen resultado. Sin embargo, se necesita un algoritmo que dé buenos resultados en cualquier trayectoria físicamente realizable. Por lo tanto, cuantas más trayectorias se usan en las pruebas, mejor será la calidad de la comparación. Además, para excluir el elemento determinista en las trayectorias de prueba, es deseable que estas trayectorias no se limiten por piloto automático como en [4] o por piloto humano como en [3].

Una comparación de los algoritmos de estimación de orientación también es necesaria en la etapa de desarrollo de la aeronave. El desarrollador debe seleccionar sensores, microcontroladores y algoritmos, adecuados para el tipo de aeronave y su propósito. Cabe señalar que, cuando se comparan los algoritmos, de hecho, no se comparan los algoritmos sino su implementación, es decir, programas. Cada implementación del mismo algoritmo no tiene que producir los mismos resultados. Las implementaciones de algoritmos serán diferentes al menos en el tiempo de ejecución, y el tiempo de ejecución es un parámetro importante en los sistemas de tiempo real que incluyen los pilotos automáticos. Por lo tanto, los diferentes tipos de

aeronaves, diferentes configuraciones de sensores, un gran número de algoritmos de estimación de orientación y muchas más implementaciones, así como el requisito de explorar cada algoritmo en el número máximo posible de trayectorias determinan la necesidad de realizar una comparación automática, sin intervención humana.

La tarea de comparación de algoritmos se puede considerar como una tarea de prueba. La prueba es una búsqueda del error. El algoritmo puede estimarse cuantitativamente por el número de errores encontrados o por la magnitud del error. Por lo tanto, los métodos de prueba se pueden utilizar para la comparación cuantitativa de algoritmos.

En el presente artículo se propone un programa de pruebas automáticas de los algoritmos de estimación de orientación de un vehículo aéreo. Para generar automáticamente datos sintéticos de prueba el programa usa el modelo dinámico de la aeronave y los modelos de los sensores. Para excluir el efecto limitante del piloto humano o piloto automático en las trayectorias generadas, las trayectorias estarán determinadas solo por los valores iniciales del modelo (posición, velocidad de traslación, ángulos de dirección y velocidades angulares) y variables de control (superficies de control y empuje).

2. Programa de pruebas aleatorias de los algoritmos de

estimación de orientación

El programa está desarrollado para funcionar en el entorno de cálculo científico Scilab. El programa tiene una estructura modular, lo que facilita su uso para la evaluación de distintos algoritmos de estimación de orientación, de los vehículos aéreos de diferentes tipos.

En modo de prueba automatizada, el programa se ejecuta automáticamente sin intervención humana. Sin embargo, para controlar el flujo de pruebas o para depurar el programa, se proporciona un modo interactivo en el que el usuario puede observar la animación del movimiento del avión (Fig. 1), ver los gráficos con los resultados del modelo dinámico del avión, las señales de los sensores, la estimación de orientación del avión y guardar los resultados de la simulación con los archivos en el disco.

Figure 1 -Animación de los resultados del modelo dinámico del avión.

ISSN 2448-5551 MT 29 Derechos Reservados © 2018, SOMIM

Page 3: “Evaluación y pruebas automatizadas de los algoritmos de estimación de ...somim.org.mx/memorias/memorias2018/articulos/A3_154.pdf · 2020-01-14 · una aeronave y los modelos

MEMORIAS DEL XXIV CONGRESO INTERNACIONAL ANUAL DE LA SOMIM 19 al 21 DE SEPTIEMBRE DE 2018 CAMPECHE, CAMPECHE, MÉXICO

2.1. Estructura y funcionamiento del programa

Desde el punto de vista de la optimización, el programa realiza una optimización aleatoria [5, 6] para calcular la mayor diferencia entre la orientación de la aeronave obtenida con el modelo dinámico del UAV y de la orientación obtenida por el algoritmo de estimación de la orientación en estudio. En otras palabras, el programa busca los valores iniciales de las variables de estado y las variables de control del modelo dinámico de un vehículo aéreo, que resultan en el máximo error de un algoritmo de estimación de orientación sometido a prueba. El error se define como la diferencia entre las variables de estado obtenidas por el modelo dinámico y las variables de estado recuperadas de las señales de los sensores, usando el algoritmo de estimación de orientación de la aeronave.

El Diagrama de bloques del programa de pruebas aleatorias de los algoritmos de estimación de orientación se muestra en la Fig. 2.

Figure 2 - Diagrama de bloques del programa de pruebas aleatorias

de los algoritmos de estimación de orientación para vehículos aéreos.

El bloque "Archivos de los Parámetros" representa

cuatro archivos de parámetros: TestParam.sce, UAVParam.sce, SimParam.sce y SensParam.sce. Los parámetros de pruebas, como la cantidad de pruebas y fronteras de los intervalos de cambio de las variables del estado y del control del vehículo, están definidos en el archivo TestParam.sce. El archivo UAVParam.sce describe los parámetros de la aeronave como los parámetros físicos de la estructura del avión y los coeficientes aerodinámicos. Los parámetros de simulación, como el valor de la aceleración de la gravedad, presión atmosférica, paso y tiempos de simulación inicial y final son definidos en el archivo SimParam.sce. El archivo SensParam.sce define los parámetros de los modelos de sensores.

El modelo dinámico del vehículo aéreo está representado por el bloque "Modelo dinámico de UAV". El estado inicial del modelo (posición, orientación velocidad

lineal y angular) así como los valores de las variables de control de UAV (los ángulos de las superficies de control como los alerones, los elevadores, el timón y la variable de empuje) se aplican a la entrada del modelo. A la salida del modelo, obtenemos la dependencia del estado del modelo con el tiempo.

Esta dependencia del estado del modelo con el tiempo se utiliza luego en el bloque "Generador de las señales de sensores". El generador de señales de sensores es un conjunto de los modelos de sensores de presión, acelerómetros, giroscopios y GPS. Las señales de salida de los sensores entran en el algoritmo de estimación de la orientación en estudio. El bloque “Comparador” compara la orientación obtenida por el algoritmo de estimación de orientación y la orientación obtenida utilizando el modelo dinámico del UAV. El error de orientación está usado por el bloque “Control de pruebas” como valor de aptitud del algoritmo de estimación para realizar la optimización aleatoria.

El algoritmo del programa se muestra en la Fig. 3.

Figure 3 - El algoritmo del programa de pruebas aleatorias de los

algoritmos de estimación de orientación para vehículos aéreos.

El programa comienza con la inicialización del ciclo de

pruebas. A propósito, lee los parámetros de cuatro archivos

ISSN 2448-5551 MT 30 Derechos Reservados © 2018, SOMIM

Page 4: “Evaluación y pruebas automatizadas de los algoritmos de estimación de ...somim.org.mx/memorias/memorias2018/articulos/A3_154.pdf · 2020-01-14 · una aeronave y los modelos

MEMORIAS DEL XXIV CONGRESO INTERNACIONAL ANUAL DE LA SOMIM 19 al 21 DE SEPTIEMBRE DE 2018 CAMPECHE, CAMPECHE, MÉXICO

(TestParam.sce, UAVParam.sce, SimParam.sce, SensParam.sce). A continuación, el programa entra en el ciclo principal de pruebas.

En el ciclo principal se realiza lo siguiente: 1. El programa genera nuevos valores iniciales para las

variables de estado y de control, de un modelo dinámico del vehículo aéreo, usando el generador de números aleatorios y fronteras de cambios de variables definidas en el archivo TestParam.sce.

2. Usando los resultados del modelo dinámico, el programa genera las señales de los sensores del vehículo, como señales de giroscopios, acelerómetros, sensores de presión y GPS.

3. Un algoritmo de estimación de orientación usa las señales de sensores producidas por el programa para recuperar las variables de estado del modelo de vehículo (posición, velocidades, ángulos de Euler y velocidades angulares).

4. El programa calcula la diferencia entre las variables de estado obtenidas por el modelo dinámico (paso 2) y las variables de estado recuperadas de las señales de sensores usando el algoritmo de estimación de orientación de la aeronave (paso 3).

5. El programa repite los pasos 1-5 hasta alcanzar la cantidad de pruebas definida por el usuario. Una vez que el programa ha completado el número de pruebas, se muestra el tiempo de ejecución y se genera un archivo de texto llamado TestResFile.log, que contiene el número de pruebas, el error máximo de estimación de orientación, los valores de posición y velocidades iniciales, y los valores de los controles del vehículo que llevaron a este error.

2.2. Modelo dinámico de UAV

Modelo dinámico de UAV es un sistema de 12 ecuaciones diferenciales ordinarias, no lineales, acopladas. Actualmente el programa usa el modelo dinámico de un vehículo aéreo de alas fijas con representación de orientación en los ángulos de Euler. Las fórmulas del modelo y los parámetros aerodinámicos del fuselaje se tomaron de [7]. Para integrar el modelo, se usa la función estándar de Scilab ode().

El modelo dinámico de la aeronave consta de dos archivos. El archivo UAVParam.sce describe los parámetros de la aeronave como los parámetros físicos de la estructura del avión y los coeficientes aerodinámicos. El usuario puede cambiar estos parámetros para simular una aeronave del mismo tipo (con alas fijas). Para cambiar el tipo de vehículo, el usuario debe cambiar el archivo DynModel.sce, que contiene los códigos del modelo dinámico. Los parámetros de simulación son definidos en el archivo SimParam.sce.

2.3. Generador de las señales de sensores

El generador de señales de los sensores utiliza los resultados del modelo dinámico para generar las señales de

los giroscopios, acelerómetros, sensores de presión y GPS. El diagrama de bloques del generador de señales de los sensores se muestra en la Fig. 4.

Figure 4 -Diagrama esquemático del generador de señales de los

sensores.

Los errores de medición de aceleraciones, presiones y

velocidades angulares están modelados por ruidos con distribución de Gauss. Los errores de medición de posición con el uso de GPS, son modelados con las secuencias aleatorias de Markov y ruidos de Gauss. Los parámetros de los sensores están definidos en el archivo SensParam.sce.

Acelerómetros. Los acelerómetros son modelados

como:

𝑦𝑎𝑐𝑐𝑒𝑙,𝑥 =𝑓𝑥

𝑚+ 𝑔 𝑠𝑖𝑛 𝜃 + 𝜂𝑎𝑐𝑐𝑒𝑙,𝑥 (1)

𝑦𝑎𝑐𝑐𝑒𝑙,𝑦 =𝑓𝑦

𝑚− 𝑔 𝑐𝑜𝑠 𝜃 𝑠𝑖𝑛 𝜙 + 𝜂𝑎𝑐𝑐𝑒𝑙,𝑦 (2)

𝑦𝑎𝑐𝑐𝑒𝑙,𝑧 =𝑓𝑧

𝑚− 𝑔 𝑐𝑜𝑠 𝜃 𝑐𝑜𝑠 𝜙 + 𝜂𝑎𝑐𝑐𝑒𝑙,𝑧 (3)

donde: fx, fy, fz son componentes de la fuerza obtenida del modelo dinámico; m es la masa del vehículo; g la aceleración de la gravedad; ϕ, θ, ψ son los ángulos de Euler del UAV, y ηaccel es ruido gaussiano de media cero.

Giroscopios. Las salidas de los giroscopios son modeladas como:

𝑦𝑔𝑦𝑟𝑜,𝑥 = 𝑝 + 𝜂𝑔𝑦𝑟𝑜,𝑥 (4)

𝑦𝑔𝑦𝑟𝑜,𝑦 = 𝑞 + 𝜂𝑔𝑦𝑟𝑜,𝑦 (5)

ISSN 2448-5551 MT 31 Derechos Reservados © 2018, SOMIM

Page 5: “Evaluación y pruebas automatizadas de los algoritmos de estimación de ...somim.org.mx/memorias/memorias2018/articulos/A3_154.pdf · 2020-01-14 · una aeronave y los modelos

MEMORIAS DEL XXIV CONGRESO INTERNACIONAL ANUAL DE LA SOMIM 19 al 21 DE SEPTIEMBRE DE 2018 CAMPECHE, CAMPECHE, MÉXICO

𝑦𝑔𝑦𝑟𝑜,𝑧 = 𝑟 + 𝜂𝑔𝑦𝑟𝑜,𝑧 (6)

donde: p, q y r son tazas angulares de UAV y ηgyro representa procesos gaussianos de media cero con varianza σ2

gyro respectivamente. Sensores de presión. La medición del sensor de presión atmosférica absoluta

resulta:

𝑦𝑎𝑏𝑠 𝑝𝑟𝑒𝑠 = 𝜌𝑔ℎ𝐴𝐺𝐿 + 𝛽𝑎𝑏𝑠 𝑝𝑟𝑒𝑠 + 𝜂𝑎𝑏𝑠 𝑝𝑟𝑒𝑠 (7)

donde ρ es la densidad del aire, g es la aceleración de la gravedad, hAGL=h-hground es la diferencia entre la altitud del avión y la altitud del terreno, βabs pres es una deriva de sesgo relacionada con la temperatura, ηabs pres es ruido gaussiano de media cero con varianza σ2

abs pres.

La medición del sensor de presión diferencial resulta:

𝑦𝑑𝑖𝑓𝑓 𝑝𝑟𝑒𝑠 =𝜌𝑉𝑎

2

2+ 𝛽𝑑𝑖𝑓𝑓 𝑝𝑟𝑒𝑠 + 𝜂𝑑𝑖𝑓𝑓 𝑝𝑟𝑒𝑠 (8)

donde ρ es la densidad del aire, Va es el valor absoluto de la velocidad aérea, βdiff pres es una deriva de sesgo relacionada con la temperatura, ηdiff pres es ruido gaussiano de media cero con varianza σ2

diff pres.

Sistema GPS. Las señales de las salidas de GPS se modelan mediante las siguientes ecuaciones:

𝑦𝐺𝑃𝑆,𝑛[𝑛] = 𝑝𝑛[𝑛] + 𝑣𝑛[𝑛] (9)

𝑦𝐺𝑃𝑆,𝑒[𝑛] = 𝑝𝑒[𝑛] + 𝑣𝑒[𝑛] (10)

𝑦𝐺𝑃𝑆,ℎ[𝑛] = −𝑝𝑑[𝑛] + 𝑣ℎ[𝑛] (11)

donde: yGPS,n, yGPS,e y yGPS,h son señales de salida de los sensores GPS en los canales de posición norte, este y altura, respectivamente; pn, pe y pd son coordenadas del UAV en el sistema inercial; n es número de muestra; y vn, ve, vh las componentes norte, este y altura del proceso Gauss-Markov, que simula la señal de error en el sistema GPS.

El error en el posicionamiento está modelado como:

𝑣[𝑛 + 1] = 𝑒𝑘𝐺𝑃𝑆𝑇𝑠𝑣[𝑛] + 𝜂𝐺𝑃𝑆[𝑛] (12)

donde: kGPS es un parámetro de modelo; Ts es el periodo de la muestra; y ηGPS es ruido blanco gaussiano de media cero.

2.4. Estimación del estado de UAV

El bloque "Algoritmo de estimación de orientación" contiene el algoritmo de estimación de orientación del vehículo aéreo sometido a pruebas. Para revisar el funcionamiento del programa actualmente se utilizó el algoritmo de estimación de orientación basado en la integración de los modelos matemáticos inversos de sensores [7-9]. El algoritmo es sencillo y no permite obtener una estimación precisa del estado en condiciones reales, pero es suficiente para justificar el funcionamiento del programa. Esquemáticamente, el algoritmo de estimación de orientación del vehículo se muestra en la Fig. 5.

La integración de los datos discretos de los sensores está realizada por el método de Heun [10].

Figure 5 -Diagrama del algoritmo de estimación de orientación.

2.5. Comparador

El módulo Comparator.sce, calcula la diferencia entre las variables de estado obtenidas por el modelo dinámico y las variables de estado recuperadas por el algoritmo de estimación de orientación. El estado del vehículo aéreo en cada momento i está representado por el vector de estado xi.

𝒙𝒊 = (𝑝𝑛,𝑖 , 𝑝𝑒,𝑖 , 𝑝𝑑,𝑖 , 𝑢𝑖 , 𝑣𝑖 , 𝑤𝑖 , 𝜑𝑖 , 𝜃𝑖 , 𝜓𝑖 , 𝑝𝑖 , 𝑞𝑖 , 𝑟𝑖)𝑇 (13)

donde las variables de estado pn,i, pe,i, pd,i definen la posición inercial del UAV, ui, vi, wi son velocidades de traslación de UAV, φi, θi, ψi son ángulos de orientación, pi, qi, ri son velocidades angulares del UAV.

Si �̂�𝒊 = (�̂�𝑖 , 𝜃𝑖 , �̂�𝑖) es valor estimado del vector de los ángulos de orientación, resultado del algoritmo de estimación sometido a pruebas y 𝚽𝒊 = (𝜑𝑖 , 𝜃𝑖 , 𝜓𝑖) es el vector de los ángulos de orientación obtenido al utilizar el modelo dinámico del UAV, el comparador calcula el error cuadrático medio (RMSE) definido por la siguiente expresión:

𝜑𝑅𝑀𝑆𝐸 = √1

𝑁∑ (�̂�𝑖 − 𝜑𝑖)

2𝑁𝑖=1 (14)

𝜃𝑅𝑀𝑆𝐸 = √1

𝑁∑ (𝜃𝑖 − 𝜃𝑖)

2𝑁𝑖=1 (15)

ISSN 2448-5551 MT 32 Derechos Reservados © 2018, SOMIM

Page 6: “Evaluación y pruebas automatizadas de los algoritmos de estimación de ...somim.org.mx/memorias/memorias2018/articulos/A3_154.pdf · 2020-01-14 · una aeronave y los modelos

MEMORIAS DEL XXIV CONGRESO INTERNACIONAL ANUAL DE LA SOMIM 19 al 21 DE SEPTIEMBRE DE 2018 CAMPECHE, CAMPECHE, MÉXICO

𝜓𝑅𝑀𝑆𝐸 = √1

𝑁∑ (�̂�𝑖 − 𝜓𝑖)

2𝑁𝑖=1 (16)

donde N es cantidad de muestreos. La aptitud del algoritmo o estimación cuantitativa de la

calidad del algoritmo es el máximo de tres errores de ángulos

𝛷𝐸𝑟𝑟 = 𝑚𝑎𝑥(𝜑𝑅𝑀𝑆𝐸 , 𝜃𝑅𝑀𝑆𝐸, 𝜓𝑅𝑀𝑆𝐸) (17)

donde función max(x) significa la norma máxima del vector x.

Una vez que la prueba ha sido completada, el programa muestra la estadística y el tiempo de ejecución de la prueba.

3. Experimento

Para verificar el funcionamiento del modelo dinámico de la aeronave, los modelos de sensores, el algoritmo de estimación de orientación y el comparador, se realizaron varias pruebas en el modo interactivo del programa. En este modo, es posible comparar los resultados numéricos del programa con datos visuales y gráficos en las trayectorias de vuelo más simples. Por ejemplo, para las condiciones iniciales 𝒙𝟎 = (0,0,0,65,0,0,0,0,0,0,0,0)𝑇 y los valores iniciales de las variables de control 𝜹𝟎 =(0,0,0,0.97)𝑇 (la componente x de la velocidad es igual a 65 m/s y el empuje es igual a 97% del rango), solo el movimiento de la aeronave en el plano XOZ y el cambio del ángulo de cabeceo son posibles.

Si, bajo tales condiciones iniciales, la amplitud de ruido del giroscopio y el valor del sesgo son iguales a cero, entonces los valores de cabeceo obtenidos por el estimador de orientación no diferirán del cabeceo obtenido por el modelo dinámico de la aeronave. La Fig. 6 muestra las dependencias del cabeceo a los 60 segundos de la simulación. Como se puede ver en la figura, el cabeceo obtenido por el estimador es prácticamente el mismo que el cabeceo obtenido por el modelo. Las pequeñas diferencias entre las dependencias son errores de integración numérica y la influencia del filtrado. El error máximo obtenido por el comparador en este caso es 0.020440.

El efecto del ruido del giroscopio sobre los resultados de la estimación del cabeceo se muestra en la Fig. 7. Se puede ver en el gráfico que los ruidos del 10% del rango completo del sensor están suficientemente suprimidos por el filtro de paso bajo y no conducen a errores significativos. El error recibido a la salida del algoritmo de estimación no excede 0.024807

El algoritmo de estimación de orientación utilizado actualmente no puede eliminar la influencia del sesgo en los resultados de la orientación final. Como se puede ver en la Fig. 8, el sesgo de 1.6% del rango completo del

giroscopio conduce a errores significativos en la estimación del cabeceo.

Figure 6 -Cabeceo con respecto del tiempo sin ruidos y sin sesgo.

Figure 7 -Cabeceo con respecto del tiempo con ruidos, sin sesgo.

Figure 8 - Cabeceo con respecto del tiempo con ruidos y con sesgo.

ISSN 2448-5551 MT 33 Derechos Reservados © 2018, SOMIM

Page 7: “Evaluación y pruebas automatizadas de los algoritmos de estimación de ...somim.org.mx/memorias/memorias2018/articulos/A3_154.pdf · 2020-01-14 · una aeronave y los modelos

MEMORIAS DEL XXIV CONGRESO INTERNACIONAL ANUAL DE LA SOMIM 19 al 21 DE SEPTIEMBRE DE 2018 CAMPECHE, CAMPECHE, MÉXICO

Para probar el programa en modo automático, se realizó una optimización aleatoria en el siguiente intervalo de búsqueda −0.01 ≤ 𝛿𝑒 ≤ 0.01 (rad), donde 𝛿𝑒 es la posición del elevador de la aeronave. La amplitud del ruido y el sesgo del sensor se establecieron en cero. Los resultados de las primeras 18 iteraciones de optimización se dan en la Tabla 1.

Tabla 1–Iteraciones del proceso de optimización.

Iteración Angulo de elevador (rad) Error de cabeceo (rad)

1 -0.001308 0.019835

4 -0.008155 0.027324

6 -0.008518 0.028484

16 -0.009569 0.033222

18 -0.009927 0.034736

Como se puede ver en la tabla, el proceso de

optimización funciona con éxito. Con un aumento en las iteraciones, crece el error en la estimación del ángulo de cabeceo. El máximo de error del ángulo se encuentra en la frontera del intervalo de búsqueda 𝛿𝑒 = −0.01.

4. Conclusiones

El articulo presenta un programa que realiza pruebas aleatorias automatizadas de los algoritmos de estimación de orientación para vehículos aéreos desarrollado en el entorno de cálculo científico Scilab. Este programa usa el método de optimización aleatoria para la búsqueda de los errores y la evaluación cuantitativa de los algoritmos sometidos a las pruebas.

Gracias a su estructura modular el programa desarrollado tiene una alta configurabilidad. Se puede elegir el tipo de avión, los parámetros aerodinámicos y de estructura, los parámetros y tipos de sensores.

El programa tiene la ventaja de generar automáticamente los datos sintéticos de prueba para explorar cada algoritmo en el máximo número posible de trayectorias, lo que evita el efecto limitante de un piloto humano o automático en las trayectorias generadas. Para la generación de los datos sintéticos de prueba, el programa incluye el modelo dinámico de la aeronave y los modelos de sensores.

Adicional a su propósito inmediato, que es la búsqueda de los errores, el programa puede ser usado para probar el desempeño de los algoritmos de estimación de orientación de vehículos aéreos pues calcula el tiempo de ejecución de prueba. En los experimentos realizados, el programa mostró la capacidad de generar datos sintéticos y realizar una prueba de algoritmo en una trayectoria de 10 minutos con un período de muestreo de 0.1 segundos en 6

segundos. Por lo tanto, el uso del programa puede reducir el costo y el tiempo del diseño de la aeronave.

Para verificar su funcionamiento, se realizaron varias pruebas del programa en el modo interactivo. Los resultados de pruebas confirmaron que el algoritmo de estimación de orientación usado es tolerante a ruidos (error de estimación de cabeceo es menor a 0.021 radianes), pero no puede eliminar la influencia del sesgo.

Los resultados de verificación del funcionamiento del programa en el modo automático muestran que, en el proceso de optimización aleatoria, el programa encontró un máximo local en el error del algoritmo, lo que comprueba el funcionamiento del programa. El valor del máximo encontrado es 0.034736 radianes en la variable de cabeceo para los parámetros de búsqueda elegidos.

Agradecimientos

Proyecto apoyado por el Fondo Sectorial de Investigación, Desarrollo Tecnológico e Innovación en Actividades Espaciales.

REFERENCIAS

[1] Crassidis, J. L., Markley, F. L., & Cheng, Y. (2007). Survey of nonlinear attitude estimation methods. Journal of guidance, control, and dynamics, 30(1), 12-28.

[2] Cavallo, A., Cirillo, A., Cirillo, P., De Maria, G., Falco, P., Natale, C., & Pirozzi, S. (2014). Experimental comparison of sensor fusion algorithms for attitude estimation. IFAC Proceedings Volumes, 47(3), 7585-7591.

[3] Teague, H. (2016). Comparison of Attitude Estimation Techniques for Low-cost Unmanned Aerial Vehicles. arXiv preprint arXiv:1602.07733.

[4] Moutinho, A., Figueirôa, M., & Azinheira, J. R. (2015). Attitude estimation in so (3): A comparative UAV case study. Journal of Intelligent & Robotic Systems, 80(3-4), 375-384.

[5] Matyas, J., (1965). Random optimization. Automation and Remote control, 26(2), pp.246-253.

[6] Hamlet, R., (1994). “Random testing.” Encyclopedia of Software Engineering, Wiley, New York.

[7] Beard, R.W. and McLain, T.W., (2012). Small unmanned aircraft: Theory and practice. Princeton university press.

[8] Barton, J.D., (2012). Fundamentals of small unmanned aircraft flight. Johns Hopkins APL technical digest, 31(2), pp.132-149.

[9] Woodman, O.J., (2007). An introduction to inertial navigation (No. UCAM-CL-TR-696). University of Cambridge, Computer Laboratory.

[10] Mathews, J.H. and Fink, K.D., (2004). Numerical methods using MATLAB (4th ed.). Upper Saddle River, NJ: Pearson Prentice Hall.

ISSN 2448-5551 MT 34 Derechos Reservados © 2018, SOMIM