Vamos a utilizar un componente de la librería de simscape que implementa un IMU con sus 9 sensores convencionales, dispuestos en tres triadas de accelerómetros, giroscopios y sensores de campo magnético.
Nuestro objetivo es montar uno de esos sensores en el robot y comprobar que las señales que proporciona son coherentes con el movimiento de la máquina. Para ello deberíamos empezar por colocarlo en un punto cuyo movimiento sea fácilmente identificable, por ejemplo en el eje de alguna articulación y/o en el extremo de algún un eslabón.
Las entradas a este componente son las algunas variables cinemáticas de un sistema de coordenadas asociado al lugar en el que se coloca el sensor. Por tanto para utilizarlo convenientemente es necesario :
1) Definir dicho sistema de referencia o frame
2) Obtener las variables cinemáticas de dicho frame
Para lo primero, definimos un frame para el sensor en la máquina (frame_IMU1).
Para lo segundo, podemos utilizar un componente de la librería llamado Transform Sensor.
Con el Transform Sensor podemos calcular cualquier variable cinemática del frame asociado, calculada respecto al frame que deseemos.
Para alimentar al IMU necesitamos las aceleraciones del origen del frame y las velocidades angulares del mismo, que habrá que seleccionar como opciones de salida en el Transform Sensor.
El módulo IMU es un sensor digital, que espera entradas digitalizadas o discretas. Por tanto, será necesario muestrear las variables cinemáticas anteriores, y ordenarlas de la manera que exija el componente IMU que estamos utilizando (ver su ayuda). Todos estos componentes unidos serían algo así:
con el componente del muestreo como en la figura de la derecha, que incluye además un filtro y un integrador digital de la velocidad angular, para estimar el ángulo girado.
Vamos a poner un sensor al final del centro del segundo eslabón (caja verde de la figura):
Un ejemplo del tipo de resultados que obtendremos sería:
El IMU es un componente con muchos parámetros de configuración, relacionados con las características físicas del sensor (nivel de ruido de diferentes tipos, crosstalk, dependencia de la temperatura, etc). Para ajustarlo con precisión a un componente real con el que estemos trabajando será necesario estudiar la hoja de características del sensor y/o hacer alguna caracterización experimental, como hicimos antes con otros componentes físicos (el motor DC).