Archivos de la categoría ‘Uncategorized’

Dificultades en el proyecto

Junio 18, 2008

Un problema importante en el proyecto es que el wiimote no tiene un giroscopio, solo cuenta con acelerómetros. Esto es importante ya que los ángulos de rotación (pitch, yaw y roll) no pueden ser calculados adecuadamente:

El pitch y el roll se calculan mediante la librería de Wiiyourself, cuando el control esta estático, pero si el control está en movimiento, se utiliza el último valor cuando el control estuvo estático. Dada la imprevisibilidad de los movimientos de una persona y del tiempo en que realiza estos movimientos, tratar de utilizar fórmulas matemáticas para predecir los ángulos cuando el control está en movimiento resultaría en estimaciones poco confiables.

El yaw es imposible de calculara con los acelerómetros, dado que la gravedad no lo afecta. Es posible calcular los ángulos de rotación si se utiliza el sensor infla rojo del wiimote, sin embargo esto compromete severamente el área en el que un wiimote puede calcular los ángulos de rotación:

El wiimote solo puede detectar luces infla rojas que se encuentren hasta 22.5° a la izquierda o a la derecha del control, y hasta 15.5° arriba o abajo del control. Esto significa que si el control se coloca a tres metros de distancia de la luz infla roja (la máxima distancia que el wiimote puede detectar un emisor de luz infla roja) el wiimote solo podrá detectar emisores en un área de hasta 1m².

Esto complica el proyecto bastante, dado que si se quiere calcular la posición de las manos usando el wiimote, esto solo es posible si el wiimote está apuntando a los emisores de luz infla roja, limitando severamente los movimientos que una persona puede realizar.

Velocidad en una dimensión

Junio 16, 2008

Antes de calcular una posición en el espacio se decidio calcular la velocidad en una dimensión. Para lo cual se utilizo el eje x, por simplicidad y por que no es afectado directamente por la gravedad mientras el control no haga un movimiento de pitch ó roll.

La fórmula de Simulink que se obtuvo fue la siguiente:

En la cual se utiliza el valor absoluto de la acceleración para eliminar a valores que causen ruido, como movimientos involuntarios en las manos. El modelo integra la acceleración para obtener la velocidad, pero ademas si detecta que la aceleración es cero, en lugar de asumir que la velocidad es constante, asume que la velocidad es cero. Esto es muy importante por que es muy poco probable que un humano sea capaz de mantener una velocidad constante, así como también es muy probable que una vez que el wiimote detecte una aceleración de cero sea debido a que el usuario se haya detenido.

La fórmula de velocidad que obtuve fue la siguiente:

Velocidad en Simulink

Librearía Wiiyourself

Junio 16, 2008

A través de la librearía Wiiyourself es posible:

1. Obtener la aceleración en tres dimensiones

2. Obtener la posición en dos dimensiones de un emisor de luz infla roja, siempre y cuando se encuentren dentro de un rango de aproximadamente 45° y a no mas de 5 metros de distancia del sensor infla rojo del control wiimote.

3. Obtener el pitch y el roll cuando el control esta estático.

4. Saber que botón se está oprimiendo, así como el porcentaje de batería restante, entre otras funciones que no son relevantes a este proyecto.

Con ayuda del Simulink, es posible graficar las aceleraciones en relación al tiempo, así como el pitch y el roll con respecto al tiempo. También es posible el calcular la velocidad, por medio de la integración de la aceleración.

Wiimote Project

Junio 16, 2008

El objetivo inicial de este proyecto es el de obtener el una posición en el espacio a partir de una posición inicial y utilizando el control wiimote para el Nintendo Wii.

El control wiimote se conecta a la computadora a través de Bluetooth y se puede obtener información del mundo por medio de sus tres acelerómetros y de un sensor infla rojo que puede detectar hasta cuatro emisores diferentes de luz infla roja.

Para obtener la información del wiimote se utilizara una librería para C++ llamada Wiiyourself. Posteriormente la información será enviada a Mathlab, donde con ayuda de Simulink, la información será procesada para tratar de obtener posiciones en el espacio.

Un segundo objetivo de este programa es el de utilizar las aceleraciones obtenidas a través del wiimote y Mathlab, para crear una aplicación que sea capaz de reconocer nueve gestos diferentes de tai chi. Esta aplicación será comparada con la del sistema “Vicon” para probar que tan confiable es.

La librería Wiiyourself la puedes encontrar en:   http://wiiyourself.gl.tter.org/