Fusión de sensores IMU con Simulink
Este ejemplo muestra cómo generar y fusionar datos del sensor IMU utilizando Simulink®. Puede modelar con precisión el comportamiento de un acelerómetro, un giroscopio y un magnetómetro y fusionar sus salidas para calcular la orientación.
Unidad de medida Inercial
Una unidad de medida inercial (IMU) es un grupo de sensores que consta de un acelerómetro que mide la aceleración y un giroscopio que mide la velocidad angular. Con frecuencia, también se incluye un magnetómetro para medir el campo magnético de la Tierra. Cada uno de estos tres sensores produce una medición de 3 ejes, y estas tres mediciones constituyen una medición de 9 ejes.
Sistemas de referencia de actitud y rumbo
Un sistema de referencia de actitud y rumbo (AHRS) toma las lecturas del sensor de 9 ejes y calcula la orientación del dispositivo. Esta orientación se da en relación con el marco NED, donde N es la dirección del Norte magnético. El bloque AHRS en Simulink logra esto utilizando una estructura de filtro Kalman indirecto.
Sistema Simulink
Abra el modelo de Simulink que fusiona datos del sensor IMU
open_system('IMUFusionSimulinkModel');
Entradas y configuración
Las entradas al bloque IMU son la aceleración lineal del dispositivo, la velocidad angular y la orientación relativa al marco de navegación. La orientación tiene la forma de un cuaternión (un vector de 4 por 1 en Simulink) o una matriz de rotación (una matriz de 3 por 3 en Simulink) que rota cantidades en el marco de navegación hacia el marco del cuerpo. En este modelo, la velocidad angular simplemente se integra para crear una entrada de orientación. La velocidad angular está en rad/s y la aceleración lineal está en m/s^2. Debido a que el AHRS tiene solo una entrada relacionada con la traslación (la entrada del acelerómetro), no puede distinguir entre gravedad y aceleración lineal. Por lo tanto, el algoritmo AHRS supone que la aceleración lineal es un proceso de ruido blanco que varía lentamente. Ésta es una suposición común para los algoritmos de fusión de 9 ejes.
Norte verdadero versus norte magnético
El parámetro del campo magnético en el cuadro de diálogo del bloque IMU se puede configurar en el valor del campo magnético local. Los valores del campo magnético se pueden encontrar en el NOAA website o usando la función wrldmagm
en Aerospace Toolbox™. Los valores del campo magnético en el cuadro de diálogo del bloque IMU corresponden a las lecturas de un magnetómetro perfecto orientado al norte verdadero. Por lo tanto, la entrada de orientación al bloque IMU es relativa al marco NED, donde N es la dirección del Norte verdadero. Sin embargo, el filtro AHRS navega hacia el norte magnético, lo cual es típico de este tipo de filtro. Por lo tanto, la orientación de entrada a la IMU y la orientación estimada a la salida del AHRS difieren por el ángulo de declinación entre el Norte verdadero y el Norte magnético.
Esta simulación está configurada para latitud y longitud. El campo magnético en esta ubicación se establece como [27.5550, -2.4169, -16.0849] microtesla en el bloque IMU. La declinación en esta ubicación es de aproximadamente
Simulación
Simular el modelo. La orientación de entrada de la IMU y la orientación de salida estimada del AHRS se comparan utilizando la distancia de cuaterniones. Esto es preferible en comparación con diferenciar los equivalentes de los ángulos de Euler, considerando las singularidades de los ángulos de Euler.
sim('IMUFusionSimulinkModel');
Orientación estimada
La diferencia entre la orientación estimada y la verdadera debería ser casi , que es la declinación en esta latitud y longitud.
Sesgo del giroscopio
La segunda salida del filtro AHRS es la lectura del giroscopio con corrección de polarización. En el bloque IMU, al giroscopio se le dio una polarización de 0,0545 rad/s o 3,125 grados/s, que debería coincidir con el valor de estado estacionario en el bloque Scope Gyroscope Bias
.
Ejercicios adicionales
Al variar los parámetros en la IMU, debería ver un cambio correspondiente en la orientación en la salida del AHRS. Puede configurar los parámetros en el bloque IMU para que coincidan con una hoja de datos IMU real y ajustar los parámetros AHRS para satisfacer sus requisitos.