OBJETIVOS
Presentar los conceptos básicos de los sistemas de medida inercial o IMUs.
- Plantear las nociones básicas de sistemas de referencia.
- Acelerómetros y giróscopos.
- El MPU6050, Medida inercial de 6 grados de libertad.
MATERIAL REQUERIDO.
Arduino UNO o equivalente | |
Un módulo MPU6050 |
SISTEMAS DE MEDIDA INERCIAL
Hasta ahora básicamente hemos ido viendo componentes sencillos que nos permitieran crear pequeños prototipos con nuestros Arduinos, pero ahora ha llegado la hora de empezar a jugar en el patio de los mayores.
Vamos a empezar a jugar con uno de los dispositivos más impresionantes y versátiles que la moderna tecnología pone a nuestra disposición a un precio ridículo: Los sistemas de medida inercial o IMUs por sus siglas en Ingles (Inercial Measurement Units).
No hace mucho tiempo, los giróscopos eran mecánicos y solamente los militares podían permitirse el lujo de usarlos, porque no solo eran complicados y tendían a desajustarse, sino que además su precio era disparatado (Y para aplicación civil había que justificar su utilización)
Pero hoy con el abaratamiento de los dispositivos electrónicos integrados, los chips digitales con giróscopo y acelerómetros se han vuelto no solo cotidianos, sino además de precio ridículo, gracias a los teléfonos móviles y a toda la industria que se ha desarrollado alrededor.
- Ya todos nos hemos acostumbrado a que nuestro móvil o Tablet gire la pantalla para adaptarse a nuestra posición bien apaisado bien vertical y naturalmente se hace a base de este tipo de sensores.
Vamos a presentar un componente muy frecuente en el mundo Arduino, el MPU650 tanto por su potencia, como por lo extendido de su uso y documentación que lo convierten en una referencia imprescindible para infinidad de proyectos, que van desde drones, quadricópteros y robots 4×4 a multitud de otros inventos. Es uno de esos componentes que cuando lo conoces se te empiezan a ocurrir cosas que podrías hacer.
No son especialmente sencillos (Aunque procuraremos que lo parezcan) y esperamos poder demostraros que podéis incluirlos en vuestros proyectos con un poco de ayuda en el arranque.
Ha llegado el momento de que empecemos a jugar en el frontón grande, así que ataros los machos, poned cara de que sabéis lo que estáis haciendo y dad un paso al frente que los Sistema de medida inercial quedaran a vuestras órdenes en breve.
Pero antes de empezar a hablar de los giróscopos y acelerómetros, necesitamos dar un rodeo (Si, lo siento, es necesario) y tendremos que hablar de sistemas de coordenadas, velocidades angulares y otras zarandajas, para fijar algunas ideas básicas, sin las cuales no podremos avanzar.
SISTEMAS DE REFERENCIA Y COORDENADAS
Sí, yo sé que lo de las mates es como mentaros la bicha, pero necesitamos un marco de referencia común básico para asegurarnos de que hablamos el mismo lenguaje, porque de lo contrario no podréis entender la función y las medidas que estos estos aparatitos producen en grandes cantidades, así que a callar.
Hace mucho, pero que mucho, en una época en que íbamos primero al colegio y después a la universidad, nos machacaban con los sistemas cartesianos de coordenadas y recuerdo unos aburrimientos memorables con niveles de tedio insuperables,
En aquel momento no parecía posible que aquella pesadez plúmbea sirviera para algo, claro, pero mira, con el tiempo acabas dándote cuenta de que sí que podía servir para algo, aunque quien te lo explicaba, usaba uno de esos tonos monocordes de profesor viejo, que aburría hasta a las ovejas.
Me imagino que los que sois de ciencias, recordareis con similar cariño esas lejanas clases (Porque no sé qué iba a hacer aquí nadie de letras, claro) pero por si acaso vamos a hacer un resumen rápido de la cuestión.
Sistemas de coordenadas
Para localizar un punto en un sistema de coordenadas, lo primero es definir un sistema de referencia claro y a ser posible común entre los diferentes observadores. El más habitual en nuestra cultura es el llamado sistema cartesiano de referencia (Que no es el único posible como pronto veremos)
Para definir un punto en un espacio de 3 dimensiones como este que percibimos (Aunque no faltan físicos diciendo que hay 11) necesitamos 3 números, que pueden ser la proyección del punto en tres ejes ortogonales (Forma pija de decir perpendiculares entre sí).
De este modo, una vez definida la unidad de medida, la posición de cualquier punto del espacio queda definido mediante las 3 coordenadas que llamamos x, y, z, con respecto a nuestro sistema de referencia. No creo que haga falta insistir mucho en esto, que es con lo que nos amargaron nuestra más tierna adolescencia.
Pero es importante comprender que no existe un sistema de referencia privilegiado con respecto a otros, sino que son todos equivalentes y mas importante aun, se puede convertir la posición de un sistema e referencia a las coordenadas de otro sistema arbitrario.
Hasta aquí todo bien, pero imaginaros un avión. ¿Cómo definimos su posición en el espacio? Con un único punto, de 3 coordenadas en el espacio, podemos fijar por ejemplo su centro de gravedad, pero resulta evidente de que necesitamos además especificar otros parámetros para saber si el avión vuela boca arriba o boca abajo, o si tiene un Angulo ascendente o descendente.
Por eso para reflejar la situación y orientación de un avión o barco necesitamos más información: Los ángulos que cada uno de los ejes del aparato marca con respecto a la nuestra referencia. Estos ángulos de desviación respecto los ejes de referencia se llaman en ingles Yaw, Pitch y Roll, y en castellano corresponden a Guiñada, Cabeceo y Balanceo. Y son fáciles de imaginar.
Suponed un barco proa a las olas que va subiendo y bajando de proa al ritmo. Este movimiento es el cabeceo, pero con olas laterales harán que el barco se balancee lateralmente siguiendo su ritmo. La guiñada es el ángulo que se desvía la dirección del barco con respecto al curso deseado (llamado de derrota según creo recordar) causado por olas y viento y que debe ser corregido periódicamente (Aunque de eso se encargan hoy los sistemas automáticos de navegación GPS)
Por eso para definir la posición de un avión necesitamos tres coordenadas para fijar la posición y 3 ángulos que definan la orientación del avión con respecto a los ejes del sistema de referencia.
La posición de un barco en ruta se puede fijar con dos coordenadas, llamadas latitud y longitud con respecto a una referencia arbitraria, que en este caso son dos ángulos, y es lo que nos ofrecen los sistemas GPS de los que hablaremos dentro de no mucho.
- Esta forma de referenciar la posición mediante ángulos en lugar de distancias cartesianas se llamancoordenadas angulares o polares.
Podemos fijar la localización de un barco que flota mediante su posición GPS, latitud y longitud porque lleva implícito que la altura sobre el globo es cero (Flota). Pero en el caso de un avión para situarlo se requiere además, la altitud a la que vuela que es la tercera coordenada.
Pero en los sistemas móviles, como barcos aviones y robots en equilibrio, no basta con saber la posición en el espacio, sino que queremos saber las fuerzas que actúan sobre nuestra nave, porque si no las controlamos será relativamente sencillo que el tema acabe en compañías de seguros revisando muy despacio la letra pequeña de las pólizas.
Para controlar esas fuerzas se requieren sensores que nos den información temprana de cualquier fuerza que actúe sobre nuestra nave, para corregirla si se puede y estabilizarla. Y hay dos tipos de sensores que se usan para esto: Acelerómetros y Giróscopos.
¿Por qué dos? Pues porque hay dos tipos de fuerzas que puede sentir una nave, las de empuje lateral por el viento racheado por ejemplo, y una fuerza centrífuga, si por cualquier causa una diferencia de los vientos entre las alas provoca un giro del avión ( O pisar un bordillo con solo una rueda en un robot móvil)
El principio de funcionamiento de giróscopos y acelerómetros se funda en otro viejo terror de los malos estudiantes: La primera ley de Newton o ley de la inercia. Establece que todo objeto en movimiento tiene a mantener su estado (Inercia) hasta que una fuerza externa lo perturbe.
- Es la fuerza que nos pega al asiento cuando un avión acelera, o que nos impulsa hacia adelante cuando un coche frena.
.
Aquí empiezan las cosas raras: A un sistema de referencia que no está sometido a ninguna fuerza externa se le llama un sistema de referencia inercial.
Si aplicamos una fuerza externa (Como una frenada en el coche en que viajamos) nuestro sistema de referencia, el coche, deja de ser inercial por definición y percibimos unas fuerza opuestas a las aplicadas que tienden a mantener nuestro movimiento previo. Para detectar este tipo de fuerzas usamos los acelerómetros.
Acelerómetros
Un acelerómetro detecta las fuerzas de inercia que empujan al sensor y las descomponen en las tres direcciones principales de referencia.
Cuando un acelerómetro es sometido a una fuerza lateral en una dirección, el sensor interno (En la imagen la bolita) tiende a retrasarse en la dirección contraria a la fuerza que actúa y al detectar en que paredes choca y con qué intensidad, podemos calcular la dirección en intensidad de la fuerza aplicada.
Hoy no se construyen ya acelerómetros mecánicos con bolitas como antaño, sino que se construyen como dispositivos electrónicos integrados y basándose en el efecto piezoeléctrico, que provoca pequeñas corrientes inducidas cuando la inercia deforma ligeramente cristales diseñados para ello.
- También encontrareis referencias a estos sistemas como MEMS o Micro Electro Mechanical Systems, porque se construyen como un hibrido de semiconductores y sistemas micro mecánicos con partes semi móviles para detectar las inercias y las aceleraciones.
Un acelerómetro, detecta la aceleración lateral (De ahí el nombre) que una fuerza externa provoca en el sensor y mezclando la información de los tres ejes determina mediante calculo, la dirección de la fuerza que se le aplica.
Giróscopos
A diferencia de los acelerómetros que detectan las fuerzas de inercia y la descomponen en las tres direcciones básicas, los giróscopos detectan la rotación del sensor que no podríamos detectar fácilmente mediante acelerómetros.
Los giróscopos modernos detectan las fuerzas centrífugas que el giro provoca alrededor de los tres ejes principales, y devolverán 0 cuando no exista giro. Un giro continuo, a velocidad angular constante, provocará una medida continua en el giróscopo.
Es fácil de verlo en un solo eje, como una rueda que gira y la velocidad de giro se puede medir en las familiares revoluciones por segundo o (Para que no sea fácil y marcarnos un pegote), en grados por segundo (º / seg) en el mundo de los giróscopos
Lo que hace un giróscopo es detectar esas fuerzas centrífugas y convertirlas en velocidad de giro alrededor de los tres ejes principales de referencia y por cálculo, los ángulos de inclinación con respecto a los ejes de referencia, para conocer la orientación de nuestra nave o vehículo.
Así pues y como resumen, el acelerómetro mide las fuerzas laterales instantáneas a las que se somete el sensor en las tres direcciones de referencia x, y, z, mientras que el giróscopo mide la velocidad angular a la que está girando en cada momento el sensor.
MPU-6050 SIX-AXIS MEMS MOTIONTRACKING™ DEVICES
Un chip que integre un acelerómetro de 3 ejes y un giróscopo de 3 ejes se suele decir que es un IMU de 6 grados de libertad y nos permite, mediante cálculo, conocer toda la información necesaria para determinar la orientación y aceleraciones a las que está sometido un objeto y actuar en consecuencia.
- En Física e Ingeniería, un sistema tiene tantos grados de libertad como variables debemos especificar para definir con precisión su situación en un momento dado.
- La posición en el espacio de un punto o nave tiene tres grados de libertad o 3dof (Degrees of freedom) porque se requieren 3 variables para determinarla, pero podrían ser 3 coordenadas cartesianas o 3 ángulos o dos ángulos y una altitud, pero al final 3.
- La información que un Sistema de medida inercial típico nos entrega son 6 valores, 3 aceleraciones y 3 giros por lo que a los técnicos les gusta decir (También les va lo de fardar con los coleguis) que es un sistema de 6 grados de libertad 0 6 dof.
También podemos usarlo para construir un robot de dos ruedas que se estabilice automáticamente y mantenga un equilibrio inestable sobre esas dos únicas ruedas en todo momento (Ya hablaremos).
- Pero ojo, no sirve para conocer la posición de nuestro equipo, para eso están los GPS y de eso ya hablaremos en algún momento futuro.
Como cualquier fuerza externa producirá tanto aceleraciones locales como giros, los IMUs como el MP650, incorporan un procesador interno que combina ambas informaciones para gestionar con el menor esfuerzo todas las informaciones relativas a la situación instantánea
Estos procesadores reciben el nombre de IMUs por las siglas en ingles Inercial Measurement Unit (O unidad de medida inercial) y encontrareis que es frecuente que la documentación escrita se refiera a estos sensores así. Y en muchos de ellos también se incluye un magnetómetro que se puede usar como brújula.
- Tradicionalmente como el coste de estos sensores era alto, se podían encontrar acelerómetros de 1,2 o 3 grados de libertad. Es decir que podían detectar las aceleraciones pero solo en una cierta dirección o en 2 de las tres posibles y lo mismo ocurría con los giróscopos.
- Pero el desarrollo de la tecnología ha posibilitado construir IMUs integrados de 6 grados de libertad (3 Giros + 3 Acelerómetros) a precios ridículos por lo que ni se os ocurra comprar un IMU que no tenga los 6 grados de libertad al menos.
En esta sesión vamos a presentar una de esas virguerías integradas, cuyo precio (De unos pocos euros) puede llevarnos a engaño, pero no os equivoquéis, el MPU-6050 es un IMU integrado que de 6 grados de libertad diseñado para ser barata e incluida en teléfonos móviles y tabletas, pero con unas especificaciones que harían palidecer de envidia a cualquiera de los espías de no hace tantos años
En el mercado podéis encontrar chips como este a saco, así que ¿Que tienes que buscar en un sensor IMU?
En primer lugar el rango de operación. Para los acelerómetros se mide en Gs. Recordad de los olvidados y poco añorados días de colegio que G es la aceleración de la gravedad en la superficie de la tierra y cualquier aceleración se puede medir por comparación.
Para los quadricópteros una IMU capaz de medir unos pocos Gs pueden ser suficientes porque no es un Ferrari, pero si hacéis pruebas de impacto o de choque de coches, vais a necesitar medir 50 o 60 Gs.
Para los giros necesitas conocer la mayor velocidad angular que puede medir y se suele dar en grados por segundo (º / seg) y para que no sea fácil suelen hablar de mili Voltios por grado y por segundo. Que normalmente significa que un giróscopo de 30 mV / ° / s te dará una medida de 300mV en la salida a analógica cuando rote a 10º / seg. Y mejor lo dejamos aquí porque a mí ya no me alcanza más para seguir hablando de esto.
El integrado que vamos a usar, el MPU650 es una pieza bastante sofisticada de hardware y software que cubre un abanico bastante amplio de situaciones y además a un precio mínimo que es lo que nos gusta: Bueno Bonito y Barato.
Si buscas en Internet encontrarás con facilidad la data sheet de este chip y con suerte entenderéis lo mismo que yo, o sea nada, pero es cantidad de molón y vale la pena que echéis una ojeada.
Nosotros vamos a usar para las próximas sesiones una breakout Board, o sea, una placa con el chip integrado y pines, que deberemos soldar, para comunicarnos con él a través del BUS I2C, que son bastante fáciles de encontrar por poca tela, como la que veis aquí abajo.
En la próxima sesión veremos cómo conectarlos a nuestros Arduinos y como leerlos, pero por hoy os dejo descansar que ya he abusado bastante de vuestra paciencia.