Introducción al IMU – Sistemas de navegación Inercial

Los sistemas de navegación inercial es quizás la asignatura más compleja en robótica, ya que se requiere de muhas comprensión para abordar las matemáticas y la abstracción de su uso hasta llegar a su aplicación práctica.

Al no ser tan evidente, muchos modelos robóticos se quedan en un diseño aparente que no profundiza en la precisión o extiende la utilidad que puede alcanzar en este campo.

Es por ello que explicaremos este concepto y lo desarrollaremos para obtener una utilidad de estos componentes.

En el momento que creemos un robot; aprovechando esta extensión de la tecnología; nos daremos cuenta de la magia de la ciencia y a su vez de cuanto estamos desaprovechando este poder por el mero desconocimiento de su existencia.

Para empezar, he de resaltar que existe un nuevo diccionario de palabras nuevas que se repiten en cualquier documentación que queramos buscar acerca de los sistemas de navegación inercial. Así que lo primero que quiero es que veáis el siguiente video antes de abordar conceptos técnicos.

 

¿Qué es IMU?

IMU son las siglas de Inertial Measurement Unit.

Un IMU es una unidad electrónica de procesado que obtiene información del movimiento y cinemática de un robot. Al estar relacionado con magnitudes espaciales, de cada uno de ellos obtendremos 3 valores núméricos que son las magnitudes de medida en cada uno de los ejes del espacio.

  • Acelerómetro – Mide la aceleración en cada uno de los 3 ejes de coordenadas espaciales
  • Giroscopio – Mide la velocidad angular respecto a los 3 ejes del espacio.
  • Magnetómetro – Mide la orientación angular respecto a los polos magnéticos de la tierra en sus ejes de coordenadas.

Los componentes IMU pueden ser de 3, 6 o 9 ejes respectivamente si tienen un acelerómetro, un gisroscopio adicional o los tres a la vez junto con el magnetómetro.

 

 

Gyroscopes

Los giroscopios son un poco extraños de comprender. En esencia es un elemento que mide los efectos del movimiento rotacional. Es decir, en lugar de desplazarse, cómo le afecta a un objeto girar con respecto a los 3 ejes.

Los giroscopios que utilizaremos solo nos proporcioinan información de la velocidad angular, pero utilizando algunas matemáticas nos permiten , junto con el acelerómetro conocer con precisión la orientación de nuestro robot en todos los ejes de giro.


 

Magnetometers

Los magnetómetros son dispositivos que nos permiten conocer la orientación de un robot midiendo las fuerzas de campo magnético respecto a la tierra. De esta manera, podemos crear un vector que nos define los ángulos de inclinación y declinación con respecto a los polos magnéticos de la tierra.

 

Estas medidas son susceptibles a fallos, ya que el campo magnético terrestre es muy débil (25 – 65 μT) y cualquier campo externo más fuerte puede afectar a las medidas. Además, se sabe experimentalmente que el campo magnético varía sobre cada punto de la superficie, ya que no es un medio homogéneo. Además de que es un campo que varía con el tiempo.

 

 

MEMS – Microelectromechanical Systems

Todos estos elementos a día de hoy se pueden conseguir a una escala microscópica, gracias a los llamados MEMs. Aunque no lo sepamos en muchos de nuestros dispositivos tenemos pequeños microchips que nos proporcionan esta información y que podemos utilizar.

Antes para hacer que un avión o un cohete pudiera navegar en el aire, tenían que utilizar dispositivos muy grandes y pesados para poder hacer lo mismo que nosotros hacemos con el móvil. GPS, acelerómetro, giroscopios, magnetómetros

 

 

 

Y es que estos dispositivos se han construido a escala microscópica y precisa. Y lo más impresionante que aún con bichos por en medio funcionan.

 

¿Cómo utilizar estos dispositivos?

En las siguientes lecciones realizaremos algunos ejercicios para poder llevar a la práctica estos sensores sin morir en el intento.

Utilizaremos los sensores MPU6050 de 6 ejes, que disponen de acelerómetro y giroscopio y para otras pruebas utilizaremos el MPU9250 de 9 ejes con magnetómetro incluido.

Los conectaremos a nuestra placa y lo programaresmos a través de la página de Ardublockly integrando algunas librerías que dejo a disposición del público para cada uno de ellos.


Si buscamos más información podemos encontrar muchas palabras que se repiten como las siguientes.

  • DMPDigital Motion Processor
  • AHRS Attitude, Heading and Reference Systems
  • INSs Inertial Navigation Systems
  • Kalman Filter
  • Madgwick Filter*Este filtro es el que usaremos para las lecturas de estos dispositivos.