• No se han encontrado resultados

I MPLEMENTACIÓN DEL ALGORITMO DE ESTIMACIÓN DE ÁNGULOS DE E ULER

C ARACTERIZACIÓN DEL BNO055 USB S TICK

CAPÍTULO 4: CARACTERIZACIÓN DE LAS IMUS  Variación del Roll de forma continua mientras se pasa de posición horizontal a vertical:

4.2.2 I MPLEMENTACIÓN DEL ALGORITMO DE ESTIMACIÓN DE ÁNGULOS DE E ULER

Esta sección describe el proceso de adaptación del algoritmo de estimación de ángulos de Euler presentado en el capítulo 2 [Muñoz 2016] para el BNO055 USB Stick.

Ajuste de parámetros del filtro de Kalman extendido (EKF):

Una vez establecido el sistema de coordenadas del dispositivo, se ha procedido a ajustar los parámetros y umbrales de funcionamiento del EKF desarrollado por [Muñoz 2016] incluido en el algoritmo de estimación de los ángulos de Euler.

El primer paso será fijar el valor de la matriz de covarianza del ruido de la medida R. Para ello se han realizado pruebas con el dispositivo en reposo y se han calculado con Matlab las desviaciones estándar de las estimaciones del Roll y del Pitch. Este valor varía, en este caso, en función del cable utilizado como conector al PC. La matriz R, caracterizada por los valores calculados en las pruebas, sigue la siguiente expresión:

Las expresiones (4.1) y (4.2) se corresponden a los cálculos con un cable de corta longitud, y con uno de mayor longitud, respectivamente. En este TFG se ha empleado el valor de (4.2) para la matriz R, ya que para las pruebas se ha necesitado un cable de larga longitud.

Para calibrar el valor de la matriz Q del EKF, se ha realizado un análisis paramétrico variando la diagonal principal de la matriz Q del EKF de forma gradual. Se ha analizado el efecto que tiene esta variación de Q en la señal estimada a partir del algoritmo de una prueba sencilla, basada en hacer girar el dispositivo en torno al eje X, simulando pasos, siendo el ángulo Pitch (señal de detección de pasos) el que se analizará con detalle para realizar el ajuste comparada con la señal directamente obtenida del dispositivo.

𝑅 = [0.00112 0

0 0.00112] 𝑔𝑟𝑎𝑑𝑜𝑠2 (4.1)

𝑅 = [0.00142 0

CAPÍTULO 4: CARACTERIZACIÓN DE LAS IMUS  Variación de la diagonal principal de Q desde un valor 10·10-4 hasta 1.56·10-4 en 3 pasos:

Figura 33: Análisis paramétrico del BNO055 para la obtención de Q

En la figura 33 se compara la señal procedente del dispositivo PitchB (señal naranja) con las estimadas a partir del algoritmo variando la varianza del ruido de proceso (std_Q) , de mayor a menor. Se puede observar que para un valor de la varianza del ruido de proceso (std_Q) de 10·10-4 (señal azul) la señal muestra un rizado notable, mientras que para un valor de 1.56·10-4 (señal morada) el ruido de la señal disminuye pero se produce un retardo que a largo plazo puede provocar pérdida de información.

Para tener una precisión mayor, se ha acotado el rango de variación del parámetro de Q para el análisis paramétrico:

 Variación de la diagonal principal de Q desde un valor 5·10-4 hasta 1·10-4 en 4 pasos:

Figura 34: Análisis paramétrico 2 del BNO055 para la obtención de Q (la gráfica inferior muestra el tramo de la señal analizado, y la superior, las señales del tramo ampliado en detalle)

Para un valor std_Q = 1·10-4 (señal morada) el ruido de la señal disminuye con respecto a las señales con valores mayores de std_Q. El aumento del retardo de la señal en función de la variación de Q se puede analizar con más detalle en la figura 35.

Figura 35: Análisis paramétrico 3 del BNO055 para la obtención de Q (la gráfica inferior muestra el tramo de la señal analizado, y la superior, las señales del tramo ampliado en detalle)

CAPÍTULO 4: CARACTERIZACIÓN DE LAS IMUS

El estudio paramétrico anterior demuestra que para elegir el valor de la varianza del ruido de proceso de una IMU es necesario establecer una relación de compromiso entre el rizado y el retardo de la señal estimada. En este caso, ha servido para fijar el valor de 1.56·10-4 para el BNO055 USB Stick. Sin embargo, la obtención del valor de la matriz Q es uno de los procesos más complejos en las aplicaciones que emplean el EKF. Esta matriz cuantifica en cierta medida lo adecuado que es el modelo de estimación (lo mucho que se aproxima al modelo real). Por lo tanto, el proceso anterior sirve como ejemplo de cómo calibrar el valor de Q mediante un análisis paramétrico, pero se trata de un proceso que debe repetirse si se cambia de condiciones (tipo de aplicación, posición de la IMU, tipo de dispositivo…, etc.).A partir del análisis anterior, se han obtenido los siguientes valores para los parámetros del EKF:

Umbral = 1 m/s2 ; 𝑄 = [0.000156 2 0 0 0 0.0001562 0 0 0 0.0001562 ] ; 𝑅 = [0.00142 0 0 0.00142]

Donde Umbral representa el margen de error que se comete cuando la norma da el valor de la aceleración de la gravedad y realiza la etapa de corrección, como muestra el diagrama de la figura 9.

La conclusión que se puede extraer de esta sección es que mediante la variación de los parámetros del EKF no se consigue mejorar la estimación de la señal hasta el punto de ser muy próxima a la generada por el propio dispositivo con su propio algoritmo. Esto podría significar que el algoritmo interno que emplea el BNO055 USB Stick para la obtención de los ángulos de Euler no solo realiza una fusión de los sensores procedentes del giróscopo y acelerómetro, si no que muy probablemente disponga de bloques adicionales donde se lleve a cabo algún tipo de filtrado de la señal para reducir el ruido.

Por lo tanto, para mejorar la estimación de los ángulos de Euler mediante el algoritmo implementado con Matlab a partir de los datos brutos de acelerómetro y giróscopo, es necesario añadir un procesamiento posterior que realice algún tipo de filtrado de la señal. Esto supondría un aumento de la densidad de código y, por lo tanto, una reducción de la optimización de las diversas aplicaciones donde se emplee dicho algoritmo.