Detección de movimiento para el aprendizaje de baile ...tlamati.uagro.mx/t7e2/220.pdf · la...

12
Tlamati Sabiduría, Volumen 7 Número Especial 2 (2016) 176 4° Encuentro de Jóvenes Investigadores – CONACYT 11° Coloquio de Jóvenes Talentos en la Investigación Acapulco, Guerrero 22, 23 y 24 de septiembre 2016 Memorias Detección de movimiento para el aprendizaje de baile, utilizando una aplicación en realidad aumentada. Diego García Estrada (Becario) Unidad Académica de Ingeniería de la UAGro Programa de Verano DELFÍN [email protected] Área en la que participa: VII Ingenierías Romero Antonio Rocío Lizeth (Becaria) Instituto Tecnológico de Ciudad Juárez ITCJ Programa de Verano DELFÍN [email protected] Área en la que participa: VII Ingenierías Dr. Amadeo José Argüelles Cruz (Asesor) Profesor-Investigador del Centro de Investigación en Computación CIC del IPN [email protected] Resumen En el presente trabajo de investigación describimos el procedimiento que seguimos para proponer un proyecto la cual consiste en una aplicación en realidad aumentada, diseñado con la capacidad de transmitir la enseñanza de bailar correctamente mediante el uso de acelerómetros y un microcontrolador “arduino”, esta aplicación contiene dos interfaces en la aplicación móvil en realidad aumentada, la cual una se proyecta un humanoide bailando al ritmo de la música y en la segunda interfaz un segundo humanoide estático la cual se mueve dependiendo de los valores

Transcript of Detección de movimiento para el aprendizaje de baile ...tlamati.uagro.mx/t7e2/220.pdf · la...

Tlamati Sabiduría, Volumen 7 Número Especial 2 (2016)

 176  

4° Encuentro de Jóvenes Investigadores – CONACYT 11° Coloquio de Jóvenes Talentos en la Investigación

Acapulco, Guerrero 22, 23 y 24 de septiembre 2016 Memorias

Detección de movimiento para el aprendizaje de baile, utilizando una

aplicación en realidad aumentada.

Diego García Estrada (Becario)

Unidad Académica de Ingeniería de la UAGro

Programa de Verano DELFÍN

[email protected]

Área en la que participa: VII Ingenierías

Romero Antonio Rocío Lizeth (Becaria)

Instituto Tecnológico de Ciudad Juárez ITCJ

Programa de Verano DELFÍN

[email protected]

Área en la que participa: VII Ingenierías

Dr. Amadeo José Argüelles Cruz (Asesor)

Profesor-Investigador del Centro de Investigación en Computación CIC del IPN

[email protected]

Resumen

En el presente trabajo de investigación describimos el procedimiento que seguimos para proponer

un proyecto la cual consiste en una aplicación en realidad aumentada, diseñado con la capacidad

de transmitir la enseñanza de bailar correctamente mediante el uso de acelerómetros y un

microcontrolador “arduino”, esta aplicación contiene dos interfaces en la aplicación móvil en

realidad aumentada, la cual una se proyecta un humanoide bailando al ritmo de la música y en la

segunda interfaz un segundo humanoide estático la cual se mueve dependiendo de los valores

Tlamati Sabiduría Volumen 7 Número Especial 2 (2016)

177  

que recibiendo esta aplicación tales como X, Y y Z que nuestro acelerómetro genera y transmite

vía Bluetooth.

Palabras Clave: La aplicación en realidad aumentada ayuda a personas arrítmicas.

Introducción

Un estudio realizado por las Universidad de Canadá, la Universidad McGill y la

Universidad de Montreal, encontró que las personas que no coordinan sus pasos de baile padecen

del trastorno conocido como “arritmia musical”, el cual se define como la incapacidad de

moverse al ritmo de la música. En el estudio se comprobó que las personas arrítmicas presentan

una menor capacidad de sincronizar su ritmo ante una señal externa.

Esta situación explica la dificultad que se genera al seguir una canción de baile, siguiendo

esta problemática se pretende implementar una aplicación capaz de detectar los movimientos de

una persona para mejorar la coordinación de los pasos de baile. ¿Es posible controlar los

movimientos de baile de una persona mediante una aplicación en realidad aumentada? Mediante

el análisis de estudios enfocados al reconocimiento de movimientos por medio de sensores, se

busca desarrollar una aplicación móvil que facilite el aprendizaje de baile e indique cuando un

movimiento puede ser mejorado.

Materiales y Métodos

La metodología utilizada en este proyecto de investigación es la metodología

Hermenéutica, ya que nos basamos en la información de una gran diversidad de proyectos y

algunos artículos de investigación recopilados en las bases de datos científicos con las que tiene

convenio el Instituto Politécnico Nacional y de Google Académico. La investigación fue

realizada de acuerdo con proyectos similares al que se busca desarrollar mediante una aplicación

con realidad aumentada, que ayude a usuarios arrítmicos a coordinar sus pasos de baile.

Para hacer el uso de la realidad aumentada debemos saber en qué consiste. La Realidad

Aumentada (RA) consiste en sobreponer objetos o animaciones generadas por computadora sobre

la imagen en tiempo real que recoge una cámara web. De esta manera podemos “aumentar” en la

pantalla, la realidad que mira la cámara con los elementos de una realidad virtual “Es el entorno

real mezclado con lo virtual”.

4° Encuentro de Jóvenes Investigadores – CONACYT 11° Coloquio de Jóvenes Talentos en la Investigación

Acapulco, Guerrero 21, 22 y 23 de septiembre 2016

178  

A diferencia de la realidad virtual, la RA es una tecnología que complementa la

percepción e interacción con un mundo real y permite al usuario estar en el entorno aumentado

con información generada por una computadora. Una de las cosas importantes es que el

funcionamiento de la RA, los elementos básicos que conforman un sistema de RA son los

siguientes: un monitor, una cámara, el software ex profeso y un marcador. El marcador es un

símbolo escrito o impreso sobre objetos determinados, que varía desde un código de barras de

cualquier producto hasta datos codificados en la superficie de monumentos o ediciones. La

cámara se encarga de captar esos símbolos y transferirlos al software. Éste interpreta los datos de

los marcadores captados por la cámara y los convierte en todo tipo de información: Texto,

Imágenes fijas, objetos en 3D, video en 3D o sonido. En este proyecto en la parte de la RA se

implementó el motor de videojuegos Unity junto con Vuforia. Los materiales para la realización

de este proyecto son: Hardware, una placa Arduino UNO y un acelerómetro MPU6050, la

comunicación se realizó por medio del módulo bluetooth HC-05.

Figura 1.- En la siguiente figura podemos apreciar en que consiste la realidad aumentada.

Arduino

El Arduino es una plataforma computacional físico open-source basado en una simple

tarjeta de I/O, diseñada para facilitar el uso de la electrónica en proyectos multidisciplinares.

Características:

• Microcontrolador ATmega328

• Voltaje de entrada 7-12v

• 14 pines digitales de I/O (6 salidas PWM)

• 6 entradas analógicas

Tlamati Sabiduría Volumen 7 Número Especial 2 (2016)

179  

• 32k de memoria flash

• Reloj de 16MHz de velocidad

La alimentación de la placa arduino se realiza a través de la conexión USB con una fuente de

alimentación externa. Mientras que la comunicación con el modulo bluetooth HC 05 se realiza

con los pines digitales 0(RX) y 1(TX). Para la lectura de los datos del acelerómetro MPU6050 se

utiliza el bus de comunicación 12C mediante los pines SDA y ACL de la placa arduino.

Figura 2.- Representación de la placa arduino, sensor acelerómetro y módulo bluetooth.

Modulo Bluetooth HC 05.

El modulo bluetooth HC-05 es uno de los dispositivos más populares usados para añadirle

la funcionalidad de la comunicación Bluetooth a proyectos con Arduino o Micro-controladores.

El modulo bluetooth HC-05 tiene dos modos de funcionar maestro y esclavo. En este caso

trabaja en función de esclavo, es decir espera ordenes que le puedes enviar desde la PC o desde

un Smartphone, también puede actuar como maestro y ser él quien se conecte a otro dispositivo

Bluetooth, pudiendo así crear una conexión bidireccional punto a punto entre dos módulos

permitiendo transferir y recibir información. Enseguida se presenta el diagrama de conexión con

arduino.

• KEY: Activar a nivel alto cuando queremos entrar en el módulo de configuración del

módulo bluetooth.

• RDX: Pin por donde se recibirán los datos que nos lleguen desde la placa arduino. Debe

de ir al pin 1 TX de la placa Arduino.

• TXD: Pin por donde se transmitirán datos desde el módulo Bluetooth hacia la placa

Arduino. Este pin tiene que ir preciso conectado al pin 0 RX de arduino.

• VCC: Pin de alimentación a 5 voltios del módulo Bluetooth. Irá conectado al pin 5v de la

placa Arduino.

4° Encuentro de Jóvenes Investigadores – CONACYT 11° Coloquio de Jóvenes Talentos en la Investigación

Acapulco, Guerrero 21, 22 y 23 de septiembre 2016

180  

• GND: Pin de masa del módulo HC-05.

Figura 3. Representación de la conexión módulo Bluetooth a la placa Arduino

MPU6050

Es un dispositivo que contiene un acelerómetro y un giroscopio en un solo chip, es muy

preciso. Consta de 6DOF, significa que tanto el acelerómetro como el giroscopio constan de

3DOF. El sensor utiliza la 12C-Bus para interconectarse con el arduino y se alimenta con 5V.

El acelerómetro mide la aceleración. La aceleración es la variación de la velocidad por

unidad de tiempo es decir razón de cambio en la velocidad respecto al tiempo:

a=dv/dt

Así mismo la segunda ley de Newton indica que en un cuerpo con masa constante, la

aceleración del cuerpo es proporcional a la fuerza que actúa sobre el mismo:

a=F/m

Este segundo concepto es utilizado por los acelerómetros para medir la aceleración. Si

tenemos en cuenta que la única fuerza que actúa sobre el sensor es la fuerza de la gravedad.

Entonces los valores que obtenemos en las componentes del acelerómetro corresponden a la

gravedad y los ángulos de la resultante serán la inclinación del plano del sensor, puesto que la

gravedad siempre es vertical. Para entenderlo mejor, asumiremos que estamos en un plano X-Z e

inclinamos el MPU6050 un ángulo θ, dicho ángulo se calcula de la siguiente forma:

Lo anterior nos sirve para calcular el ángulo en un plano 2D, pero para calcular los

ángulos de inclinación en un espacio 3D tanto en X como en Y usamos las siguientes formulas:

Tlamati Sabiduría Volumen 7 Número Especial 2 (2016)

181  

Dado que el ángulo se calcula a partir de la gravedad, no es posible calcular el ángulo Z

con esta fórmula ni con ninguna otra. Para hacerlo se necesita otro componente: el

magnetómetro, que es un tipo de brújula digital. El MPU-6050 no lleva, y por tanto nunca podrá

calcular con precisión el ángulo Z. Sin embargo, para la gran mayoría de aplicaciones sólo se

necesitan los ejes X e Y.

Figura 4.- Representación del sensor acelerómetro.

Giroscopio

El giroscopio mide la velocidad angular. La velocidad angular es la tasa de cambio del

desplazamiento angular por unidad de tiempo, es decir que tan rápido gira un cuerpo alrededor de

su eje.

Con un giroscopio podemos medir la velocidad angular, y si se integra la velocidad

angular con respecto al tiempo se obtiene el desplazamiento angular (posición angular si se sabe

dónde se inició el giro).

Resultados

Los resultados obtenidos en el transcurso del programa de verano de investigación fue una

parte de la interfaz de la aplicación en Realidad Aumentada, para esto se implementaron varias

herramientas como son Make Human que fue la parte en la cual se hizo el diseño del humanoide,

es este programa se crearon las partes del cuerpo humano, como lo son la forma humana, los

brazos, los pies, la cabeza, se le implemento el esqueleto, se le colocó la ropa que viste el

4° Encuentro de Jóvenes Investigadores – CONACYT 11° Coloquio de Jóvenes Talentos en la Investigación

Acapulco, Guerrero 21, 22 y 23 de septiembre 2016

182  

humanoide, el color de piel, tipo de pelo, si es hombre o mujer, entre todo la forma de un ser

humano.

Figura 5.- En la siguiente figura podemos apreciar la manera en cómo se diseñó el humanoide

para obtener la forma humana.

Después de obtener el humanoide ya lo más parecido posible a una persona humana en

forma estática, procedimos a utilizar otro programa llamado Blender la cual consiste en darle

movimiento a nuestro humanoide para eso por el poco tiempo que tuvimos para desarrollar esta

aplicación en Realidad Aumentada, nos dimos la tarea de descargar archivos BVH ya creados y

ahorrar tiempo en estar creando estos tipos de archivos que suelen crearse con un gran tiempo, la

cual son archivos que ya incluyen animaciones, para poder hacer que nuestro humanoide

anteriormente estático sea dinámico recurrimos al programa llamado Blender que nos facilito la

manera de proporcionarle animación a nuestro humanoide.

Figura 6.- En la siguiente figura podemos apreciar la manera en cómo se le dio animación

a nuestro humanoide para que este pueda realizar movimientos.

A continuación podemos ver como nuestro humanoide se encuentra ya en nuestra

computadora haciendo unas pruebas de movimiento.

Tlamati Sabiduría Volumen 7 Número Especial 2 (2016)

183  

Figura 7.- En las siguientes figuras podemos apreciar cómo estamos haciendo pruebas de

los movimientos del humanoide en Blender.

Y para obtener la aplicación de realidad aumentada en el dispositivo móvil, tuvimos que

hacer uso del motor de videojuegos Unity junto con Vuforia, en esta parte si nos costó un poco de

complejidad ya que son varias las cosas que se tienen que considerar para pasar del programa

Blender a Unity y así poder generar ya el humanoide en 3D.

Figura 8.- En estas imágenes podemos aprecias las herramientas con que trabajamos para

hacer la aplicación en realidad aumentada.

A continuación podremos apreciar la manera en cómo podemos ver ya la realidad

aumentada aplicada en tiempo real por medio de algunas imágenes tomadas, logramos hacer que

al momento de ejecutar la aplicación esta empiece a reproducir un audio en la cual el humanoide

empieza a realizar pasos de baile.

4° Encuentro de Jóvenes Investigadores – CONACYT 11° Coloquio de Jóvenes Talentos en la Investigación

Acapulco, Guerrero 21, 22 y 23 de septiembre 2016

184  

Figura 9.- Podemos apreciar al humanoide en realidad aumentada.

Discusión y conclusiones

Con base en la revisión de los trabajos publicados en artículos que abordan la detección

de movimientos, se determinó utilizar como sensor el acelerómetro. Esta medida permitirá

conocer los cambios de movimiento de una persona, ya que el acelerómetro proporciona el

cambio de posición de los ejes x, y, z. Posteriormente para asegurar que los movimientos son

correctos se usara una aplicación en realidad aumentada que indique a la persona los pasos de

baile a realizar.

El proyecto sigue en proceso desarrollándose ya que lo que se presenta es una parte del

proyecto, tenemos como objetivo hacer lo que se muestra en la figura 10 como trabajo a futuro.

Figura 10.- En las siguientes imágenes podemos ver el trabajo a futuro que sigue

desarrollándose.

Tlamati Sabiduría Volumen 7 Número Especial 2 (2016)

185  

Agradecimientos

Agradezco profundamente a mi Dios quién sabe guiarme por el buen camino, darme

fuerzas para seguir adelante y no desmayar en los problemas que se presenten, enseñándome a

encarar las adversidades sin perder nunca la dignidad ni desfallecer en el intento.

Agradezco en especial a mis padres, por ser mi ejemplo para seguir adelante en el

convivir diario y por inculcarme valores que de una u otra forma me han servido en la vida, que

por ellos soy lo que soy gracias por su apoyo, consejos, compresión, amor, ayuda en los

momentos difíciles, y por ayudarme con los recursos necesarios para estudiar y poder concluir mi

verano de investigación con éxito. Me han dado todo lo que soy como persona, mis valores, mis

principios, mi carácter, mi empeño, mi perseverancia, mi coraje para poder conseguir mis

objetivos.

Agradezco también a mi novia Diana quien me apoyo y alentó para continuar cuando

parecía que me iba a rendir, los grandiosos consejos que me brindo fue el motor de que yo

siguiera con mí proyecto y por estar a mi lado en cada momento hoy, mañana y siempre.

Agradezco a mis hermanos que me incentivaron y me motivaron para seguir adelante con

los objetivos de este propósito y por respetarme en cada decisión que tomo.

Agradezco al Centro de Investigación en Computación CIC del IPN por permitir realizar

mis prácticas e investigaciones cada día, en el tiempo que duró este verano de investigación y

permitió realizar este proyecto en dicha institución.

Agradezco al Profesor-Investigador Dr. Amadeo José Argüelles Cruz, quien estuvo

siempre al pendiente de que todo el proyecto marchara muy bien y poder estar asesorándome en

el transcurso del verano de investigación.

Referencias

A.  Hermanis,  K.  N.  (March  2013).  Wearable  Posture  Monitoring  System  with  Biofeedback  via  Smartphone  .  Journal  of  Medical  and  Bioengineering  Vol.  2,  No.  1,  5.  

Lletí,  F.  B.  (2015).  “Comunicación  Bluetooth  entre  Arduino  UNO  y  Android  aplicado  a  un  detector  de  mentiras”.  GANDIA,  50.  

4° Encuentro de Jóvenes Investigadores – CONACYT 11° Coloquio de Jóvenes Talentos en la Investigación

Acapulco, Guerrero 21, 22 y 23 de septiembre 2016

186  

Morán,  J.  L.  (2015).  Uso  de  acelerómetros  para  el  control  de  dispositivos  mediante  captura  de  movimiento.  66.  

Tlamati Sabiduría Volumen 7 Número Especial 2 (2016)

187