Professional Documents
Culture Documents
ENTREGA FINAL
Las IMU (Inertial Measurement Units) son sensores utilizados en diversas aplicaciones
tecnológicas, en sectores de la robótica, automática, control, entre otras. Son utilizados en
los llamados Smartphone, en apps en donde se encuentran inmersas las mediciones de altitud,
gravedad, posición, inclinación, etc. Han sido extendidos a aplicaciones que contribuyen con
la automatización en otros enfoques como investigaciones en ciencias de la salud.
Como los ejes de referencia X, Y, y Z del acelerómetro y del giroscopio están desalineados
con los ejes de referencia del chasis del dispositivo estos dan lugar a la baja precisión y alta
sensibilidad en su medición. Por lo tanto el objetivo de la calibración de los sensores de la
IMU 6050, es estimar los parámetros del acelerómetro y del giróscopo con el fin de establecer
el factor de corrección y así disminuir las condiciones anteriormente descritas.
FORMULACIÓN MATEMÁTICA DEL ACELEROMETRO
𝑎𝑂 = 𝑇𝑎 ∗ 𝑎𝑆 (1)
En (1) 𝒂𝑶 representa las medidas de la aceleración específica ideal en la estructura de ejes
ortogonales del chasis de la MPU 6050 y 𝒂𝑺 son las medidas de la aceleración específica en
los ejes ortogonales del acelerómetro, los cuales están desalineados respecto a la estructura
de ejes del chasis.
En (2) Ta es la matriz de rotación, donde 𝛼𝑖𝑗 es la rotación del i-ésimo eje del acelerómetro
alrededor del j-ésimo eje del chasis. En este caso el número de ejes del chasis y del
acelerómetro es igual a 3: X, Y y Z.
En (5) se representa finalmente el modelo general acogiendo los elementos que generan
imprecisión en las medidas del acelerómetro tales como el error sistemático, el error de escala
y la desalineación entre ejes (chasis-acelerómetro) representados por los ángulos de la matriz
𝑇𝑎.
En (6) 𝜽𝒂𝒄𝒄 es el vector de parámetros desconocidos para calibrar la triada de ejes del
acelerómetro.
Esta es la ecuación que se utiliza en MatLab para hallar los parámetros que minimizan el
error, determinando el factor de corrección que permite la calibración de las medidas
tomadas.
𝑤𝑂 = 𝑇𝑔 ∗ 𝑤𝑆 (8)
En (8) 𝑤𝑆 son las velocidades angulares específicas en los ejes de la estructura no ortogonal
medida en el giróscopo y 𝑤𝑂 son las velocidades angulares específicas en una estructura del
giroscopio ideal y ortogonal, con respecto a la estructura de los ejes del chasis.
(9)
En (9) 𝑻𝒈 es la matriz de rotación, donde 𝛼𝑖𝑗 es la rotación del i-ésimo eje del giróscopo
alrededor del j-ésimo eje del chasis. En este caso el número de ejes del chasis y del giróscopo
es igual a 3: X, Y, Z.
(10)
En (10) 𝑲𝒈 representa la matriz de error de escalado.
(11)
En (11) 𝒃𝒈 representa el vector de error sistemático (bias). La calibración del giróscopo se
considerará libre de error sistemático (bias), por lo tanto, este vector no se tendrá en cuenta
puesto que las señales del giróscopo se promediarán alrededor de un periodo inicial
conveniente sin movimiento (intervalo estático).
𝑤𝑂 = 𝑇𝑔 ∗ 𝐾𝑔 ∗ 𝑤𝑆 (12)
(13)
En (13) 𝜃𝑔𝑦𝑟𝑜 es el vector de parámetros desconocidos para calibrar la triada de ejes del
giróscopo.
(14)
Después se procedió a buscar la plataforma física sobre la cual el sensor debió mantenerse en
una posición estática mientras se realizaba la adquisición de datos. Se debió idear una
estructura que se mantuviese rígida y libre de vibraciones en el periodo de adquisición de
datos, debido a la sensibilidad en la lectura de los ejes de acelerómetro. Para una adquisición
de datos efectiva se decidió situar el montaje directamente en la superficie del suelo, de esta
forma se evitaba el desnivel que pudo haber estado en una superficie elevada.
Las principales falencias observadas utilizando la base PTZ es el ruido inducido por la
dinámica del motor, ya que su control se realiza mediante la medición analógica de un
potenciómetro interno, por tanto, la lectura varía haciendo accionar el servomotor, lo que
induce errores en la muestra de los datos. Por otra parte, los pasos de control de los actuadores
dejan un margen de error bastante considerables.
Para la adquisición de datos se procedió a conectar adecuadamente los pines del módulo a la
placa de acuerdo a los requerimientos del protocolo I2C. Después se procedió a buscar la
plataforma física sobre la cual el sensor debía mantenerse en sus periodos estáticos mientras
se realizaba la adquisición de datos.
Durante los intervalos de movimiento, se sometía la IMU y la estructura a rotaciones. Es
decir, rotaba toda la estructura incluyendo la base de icopor y el compás, esto gracias al
movimiento que se realizaba con las manos. En el experimento los intervalos estáticos fueron
de 10 segundos aproximadamente y los intervalos dinámicos de 10 segundos. Se realizaron
9 experimentos, cada intervalo dinámico estuvo acompañado de un intervalo estático inicial
y uno final.
En la figura 8 se presenta la estructura anteriormente descrita, la cual permitía la obtención
de datos tanto para los intervalos estáticos como los dinámicos.
Figura 8 Estructura para el desarrollo de la calibración del giróscopo.
En las muestras obtenidas por el giróscopo se utilizaron las mismas bases que experimentales
que para el acelerómetro, es en esta etapa donde se evidencia un problema con el rango de
operabilidad de la base PTZ, ya que las trayectorias se ven limitadas y su funcionamiento
solo se realiza en dos ejes, teniendo en cuenta las falencias de los experimentos y limitaciones
asociadas, se determina realizar una base triaxial. La base tiene como características:
Base con rotación libre de 360° en tres ejes.
Actuadores con comunicación half-duplex, con paso de 0,6°, operabilidad de 360°
continuos.
Base de plomo con soportes anti vibratorios.
Comunicación RF, eliminando la limitación de cableado.
Con el diseño y la implementación de la plataforma 3 DOF se pretende eliminar todos los
errores presentes en las calibraciones manuales, en el ajuste de parámetros pequeñas
variaciones físicas generan una gran desviación en la calibración de cada dispositivo.
Se realiza un prototipo en 3D, con el fin de hacer estudios de movimiento y verificar que
cumpla con los requerimientos mínimos (medidas).
Figura 9 Prototipo 3D base triaxial.
Lo que se llevó a cabo en este experimento fue encontrar el vector de parámetros, dentro el
cual se encuentra los ángulos 𝛼𝑦𝑧, 𝛼𝑧𝑦 𝑦 𝛼𝑧𝑥, y que pretendió disminuir estos valores de
ángulos de desalineación, con lo cual se disminuye la sensibilidad de medición en los ejes
del acelerómetro y se garantizan unas medidas más precisas. Dentro del vector de parámetro
establecido en (6) se han hallado los parámetros de error de escala representados por
, y los parámetros de error sistemático representados por .
𝜃𝑎𝑐𝑐
= [−0.2742, 0.0215, −0.0705, 0.9330, 0.9329, 0.9905, −0,4210, −0.3422, 1.3291]
Lo primero que se debió hacer fue obtener el vector unitario de gravedad a partir de los datos
medidos por el acelerómetro en el primer intervalo estático de cada experimento, el cual fue
obtenido al promediar los primeros 200 datos, posteriormente se debieron procesar con el
vector de calibración de parámetros obtenido en la anterior práctica.
Este vector unitario de gravedad fue utilizado para obtener el cuaternión inicial necesario
para ejecutar el algoritmo de Runge-Kuta, el cual fue el encargado de integrar las lecturas de
las velocidades angulares del giróscopo, y así se obtuvieron los cuaterniones finales que
permitieron hallar el vector unitario de gravedad final dado por el giróscopo, el cual fue
comparado con el vector unitario de gravedad dado por el acelerómetro en el intervalo
estático final y así se logró resolver el problema de mínimos cuadrados y hallar los parámetros
de calibración del giróscopo.
En el proceso de adquisición de datos se obtuvieron 599 muestras brutas por cada intervalo
estático de tiempo. Al aplicar el código en MATLAB se obtiene una gráfica de los datos antes
y después de la calibración.
En el eje de abscisas se encuentran el número total de datos y en el eje de ordenadas, la
magnitud de la gravedad.
El número de posiciones o rotaciones a las que se sometió el acelerómetro durante el
experimento fueron 9, estos están representados en la Figura 12 por color azul, se observan
por tanto 9 anchos de igual longitud, 599 datos brutos que incluyen por cada uno, las
magnitudes de las mediciones de la aceleración en los ejes X, Y, y Z.
Figura 12 Magnitud de los datos brutos en las triadas de la MPU, en las 9 diferentes posiciones estáticas.
En la Figura 12 se puede apreciar que las mediciones del acelerómetro en las diferentes
posiciones estáticas no es la misma, aun cuando es el mismo acelerómetro el que realiza las
medidas, esto se debe porque la referencia de los 3 ejes del chasis de la IMU presenta una
estructura ortogonal fija, y la medición de aceleración realizada en cada eje variará en el
sentido, dirección y altura que se perciba desde este, es decir que un cambio en el sentido del
chasis representará un cambio en las orientaciones de los ejes, y por lo tanto en las
magnitudes de las medidas de los 3 ejes. También se fundamenta en el hecho de que existe
una alta sensibilidad en los ejes, lo cual representa un cambio en la magnitud de la medida
de las triadas. Por lo anterior se evidencia en la Figura 12, las diferentes desviaciones del
valor de la magnitud de la gravedad con respecto al valor 9.775767 𝑚⁄𝑠2 .
Figura 13 Simulación de las magnitudes de las triadas del MPU optimizadas mediante código en MATLAB,
representando las medidas calibradas en las 9 diferentes posiciones estáticas.
4
x 10
4
x
2
y
0 z
-2
-4
0 100 200 300 400 500 600 700 800
Figura 14 Datos brutos para un experimento.
Numero Datos
4
x 10
4
x
2
y
0 z
-2
-4
0 1000 2000 3000 4000 5000 6000 7000
Figura 15 Medición de las velocidades angulares en las triadas del giróscopo durante los 9
experimentos.
Numero Datos
La calibración del giróscopo es necesaria debido a que la referencia de los 3 ejes del chasis
de la IMU presenta una estructura ortogonal fija que esta desalineada con respecto a las
triadas del sensor, por lo tanto la medición de las velocidades angulares realizada en cada eje
variará en el sentido, dirección y altura que se perciba desde este, es decir que un cambio en
el sentido del chasis representará un cambio en las orientaciones de los ejes, y por lo tanto en
las magnitudes de las medidas de los 3 ejes. Además existe una alta sensibilidad en los ejes,
lo cual representa un cambio en la magnitud de las medidas de las triadas.
Ahora para comparar las velocidades angulares brutas entregadas por el giróscopo con las
aceleraciones brutas entregadas por el acelerómetro se debe tener en cuenta que las
velocidades angulares entregadas por el giróscopo durante el intervalo dinámico debieron ser
integradas a través del algoritmo de integración de Runge-Kutta. El cual recibía como
condición inicial un vector que representaba el promedio de las aceleraciones en los
intervalos estáticos iniciales. Y retornaba un vector de aceleración final el cual permitía la
comparación de las aceleraciones finales medidas por el acelerómetro calibrado. La figura 16
representa la comparación entre cada uno de los componentes del vector de gravedad final
𝑈𝑎 entregado por el acelerómetro calibrado y el vector de gravedad final
𝑈𝑔 entregado gracias a la integración de las velocidades angulares. En la figura 16 𝑈𝑎𝑥, 𝑈𝑎𝑦
y 𝑈𝑎𝑧 representa las componentes de 𝑈𝑎 en los ejes X, Y y Z respectivamente, y
análogamente sucede esto mismo con 𝑈𝑔. En este experimento no se compara la gravedad
con su magnitud, sino en términos de un vector de gravedad normalizado equivalente a
suponer una aceleración gravitacional de 1𝑚/𝑠^2. En la figura 16 se visualiza que son
entregadas aproximadamente las mismas magnitudes en cada una de los componentes tanto
de Ua como de Ug, esto gracias al proceso de minimización por mínimos cuadrados y la
determinación de los parámetros de calibración que realizan el ajuste entre estos dos vectores.
Figura 16 comparación entre cada uno de los componentes del vector de gravedad final