alfombra multisensorial autor: fecha

93
1 Título: Alfombra Multisensorial Autor: Roberto López García Fecha: 15-01-2013 Director: Josep Fernández Ruzafa Departamento: Ing. Sistemas, Automática i Informática Industrial Codirector: Marc Iñiguez Institución: Fundació Maresme Ing. Técnica de Sistemes 22,5 Cr. Centro: Facultat d'Informàtica de Barcelona (FIB) Universidad: Universitat Politècnica de Catalunya (UPC) BarcelonaTech

Upload: others

Post on 17-Jan-2022

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Alfombra Multisensorial Autor: Fecha

1

Título: Alfombra Multisensorial Autor: Roberto López García Fecha: 15-01-2013 Director: Josep Fernández Ruzafa Departamento: Ing. Sistemas, Automática i Informática Industrial Codirector: Marc Iñiguez Institución: Fundació Maresme Ing. Técnica de Sistemes 22,5 Cr.

Centro: Facultat d'Informàtica de Barcelona (FIB)

Universidad: Universitat Politècnica de Catalunya (UPC) BarcelonaTech

Page 2: Alfombra Multisensorial Autor: Fecha

2

Tribunal Director: Jose Fernàndez Ruzafa Codirector: Marc Iñiguez Presidente: Alicia Casals Gelpi Vocal: Juan Luis Esteban Ángeles Secretario: Jose Fernàndez Ruzafa

Page 3: Alfombra Multisensorial Autor: Fecha

3

Agradecimientos

A mis padres, por la paciencia que han tenido conmigo y por darme el futuro que tengo, y tendré. A mis compañeros de universidad, con los que he aprendido todo lo que sé hasta ahora. A Laura, por su ayuda y constante apoyo durante el desarrollo del proyecto y estar a mi lado cuando más lo he necesitado. A Josep, por la libertad que me ha brindado al planificar y desarrollar mi proyecto. A la Fundación Maresme y a todas aquellas personas que hay detrás, por el gran trabajo y labor que están realizando en la Fundació y el entusiasmo con el que lo hacen. A todas aquellas personas que alguna vez utilizaran este proyecto para aprender o divertirse. Y por último y más importante, A todas aquellas personas que debido a la mala gestión del gobierno, están sufriendo y han sufrido despidos, brutales recortes en ayudas, presupuestos o incluso eliminación de su ayuda por dependencia.

Page 4: Alfombra Multisensorial Autor: Fecha

4

Tabla de contenido

1. Introducción ______________________________________________________ 6

Descripción _________________________________________________________________ 7

Origen del proyecto – La Fundació Maresme ______________________________________ 8

Organización de la memoria.__________________________________________________ 10

2. Antecedentes - Kinect ______________________________________________ 11

Kinect ____________________________________________________________________ 12

Alternativa - Asus Xtion Pro Live ___________________________________________________ 14

¿Cómo funciona? _______________________________________________________________ 15

Reconocimiento de imágenes ___________________________________________________ 15

Skeletal Tracking _____________________________________________________________ 16

Sistema de micrófonos ________________________________________________________ 18

Motor de inclinación __________________________________________________________ 19

Primer contacto – Developer Toolkit ___________________________________________ 20

Color Basics ___________________________________________________________________ 21

Audio Basics ___________________________________________________________________ 21

Kinect Shape Game _____________________________________________________________ 22

Speech Basics __________________________________________________________________ 22

Kinect Explorer _________________________________________________________________ 23

Investigación y Kinect _______________________________________________________ 24

Recomendaciones de uso ____________________________________________________ 26

Kinect – Kit de desarrollo (SDK) _______________________________________________ 27

Requerimientos del sistema_______________________________________________________ 29

3. Análisis _________________________________________________________ 30

Planificación _______________________________________________________________ 30

Requerimientos y objetivos ___________________________________________________ 32

Casos de uso _______________________________________________________________ 41

Caso de uso. Instalación: _________________________________________________________ 42

Caso de uso. Calibración: _________________________________________________________ 43

Caso de uso. Crear Actividad:______________________________________________________ 43

Caso de uso. Cargar Actividad _____________________________________________________ 43

Caso de uso. Supervisar Actividad __________________________________________________ 44

Caso de uso. Realizar Actividad ____________________________________________________ 44

4. Diseño __________________________________________________________ 45

Calibración ________________________________________________________________ 45

Zona de interacción _________________________________________________________ 46

Diseño interfaz usuario ______________________________________________________ 49

Calibración ____________________________________________________________________ 51

Page 5: Alfombra Multisensorial Autor: Fecha

5

Configuración __________________________________________________________________ 53

Iniciar Actividad ________________________________________________________________ 55

5. Implementación __________________________________________________ 57

Windows Presentation Foundation (WPF) _______________________________________ 57

eXtensible Application Markup Language – XAML ________________________________ 57

Lenguaje de programación – C# _______________________________________________ 58

Visual Studio – Entorno de Desarrollo __________________________________________ 59

Crear un proyecto con Visual Studio y Kinect _________________________________________ 60

Alfombra Multisensorial _____________________________________________________ 63

6. Manuales de Uso _________________________________________________ 65

Manual 1 - Instalación SDK y Drivers ___________________________________________ 65

Manual 2 – Instalación de la aplicación _________________________________________ 67

Manual 3 - Creación de actividades ____________________________________________ 69

Actividad Acción-Reacción ________________________________________________________ 69

Actividad Estimulo-Respuesta _____________________________________________________ 72

Actividad Piano Musical __________________________________________________________ 73

Actividad Música Corporal ________________________________________________________ 75

Manual 4 – Calibración de Kinect ______________________________________________ 76

7. Pruebas _________________________________________________________ 78

Residencia y centro de atención especializada. Llar Santa María. ____________________ 78

Centro de terapia ocupacional Pere Parera ______________________________________ 83

Resultados ________________________________________________________________ 88

8. Opinión _________________________________________________________ 90

9. Conclusión _______________________________________________________ 91

Conclusión general __________________________________________________________ 91

Opinión personal ___________________________________________________________ 91

10. Bibliografía ____________________________________________________ 93

Page 6: Alfombra Multisensorial Autor: Fecha

6

1. Introducción

La aparición del sensor Kinect para videoconsolas Xbox de Microsoft ha

supuesto un cambio en la forma de concebir los videojuegos, ya que éste

permite interaccionar con los jugadores sin ningún dispositivo físico,

ofreciendo así una experiencia muy gratificante al interaccionar con tu

propio movimiento corporal. Pero este hecho, también ha sido una

revelación para un buen número de empresas e investigadores que tratan

de encontrar mil y una aplicaciones en distintos campos, como la

medicina, la educación o la rehabilitación.

Este proyecto se centrará en desarrollar una aplicación adaptada para

persones afectadas por alguna discapacidad física, psíquica o sensorial que

dificulta su desarrollo personal o integración social, educativa o social. La

tecnología adaptativa puede llegar a reducir el impacto de la discapacidad

y satisfacer el derecho de la calidad de vida de las personas con

necesidades especiales.

La propuesta presentada en este proyecto es la utilización del sensor de

videojuegos Kinect para crear una aplicación que permita diseñar

actividades de estimulación auditiva, visual y cognitiva con la finalidad de

estimular a la persona que la utiliza a realizar un movimiento o acción

cognitiva con una respuesta atractiva y enriquecedora.

Page 7: Alfombra Multisensorial Autor: Fecha

7

Descripción

El objetivo del proyecto es desarrollar una aplicación utilizando las

funcionalidades que nos ofrece el sensor Kinect, que permita la creación y

ejecución de actividades lúdicas y/o educativas dirigidas a persones

afectadas por alguna discapacidad física, psíquica o sensorial.

Estas actividades serán pequeños juegos que estarán adaptados

totalmente a la persona que la realiza, ofreciendo estímulos como

recompensa a ciertas acciones, como por ejemplo, tocar una determinada

zona, buscar un objeto o mover alguna parte del cuerpo con la finalidad

de estimular a la persona a realizar un movimiento o acción con una

respuesta enriquecedora y estimulante.

La aplicación dispondrá de unas actividades base, que mediante la

aplicación Alfombra Multisensorial se podrán incorporar fácilmente

interacción visual y auditiva con el usuario, posibilitando así la creación de

un sinfín de actividades de estimulación y aprendizaje relacionadas con

temas distintos, y estimulando partes del cuerpo diferentes.

Page 8: Alfombra Multisensorial Autor: Fecha

8

Origen del proyecto – La Fundació Maresme

Este proyecto nace en el Departamento de Innovación de la Fundación

privada El Maresme pro personas con disminución psíquica.

La Fundación es una entidad de iniciativa social sin ánimo de lucro que

promueve e impulsa la integración social y la mejora de la calidad de vida

de las personas con discapacidad intelectual de la comarca del Maresme y

de sus familias, procurando dar respuesta a las necesidades y demandas

de este colectivo, disponiendo de una compleja red de servicios y centros

que ofrecen una atención continua.

Los valores que promueve son:

Compromiso con las necesidades de las personas con discapacidad

intelectual y sus familias.

Compromiso con la inclusión social i la participación comunitaria.

Compromiso de dar una atención adecuada, ofreciendo una

formación continuada a sus profesionales.

Compromiso con la transparencia en la gestión, con la calidad de la

prestación de sus servicios y la ética de sus actuaciones.

Apuesta constante por la innovación y la mejora continua.

El Departamento de Innovación de esta fundación, gestiona y desarrolla

proyectos innovadores relacionados con la aplicación de las Tecnologías

de la Información y el Conocimiento (TIC) al bienestar, el aprendizaje, la

comunicación y la calidad de vida de las personas con discapacidad. Sus

proyectos se centran en mejorar la comunicación entre personas con

dificultades de lecto-escritura, expresión y/o movimiento con ejercicios

para evitar el deterioro cognitivo y funcional a través de actividades para

ejercitar la memoria, potenciar el razonamiento y realizar aprendizaje o

mantener conocimientos.

Page 9: Alfombra Multisensorial Autor: Fecha

9

Algunos ejemplos son:

Messenger Visual:

Servicio de mensajería instantánea basado en iconos donde las

palabras y conceptos son representados por pictogramas y dibujos,

con el objetivo de mejorar la comunicación entre personas con

discapacidad o que tienen dificultades de lecto-escritura, expresión

y/o movimiento.

Figura 1. Messenger Visual

El casal digital:

Aplicación web que pretende evitar el deterioro cognitivo y

funcional a través de ofrecer actividades para ejercitar la memoria,

potenciar el razonamiento y realizar aprendizaje. Se trabajan

aspectos como los objetos cuotidianos, vestuario, estados de

ánimo, salud, etc.

Figura 2.El Casal Digital

Page 10: Alfombra Multisensorial Autor: Fecha

10

Organización de la memoria. La memoria está organizada en varias partes totalmente diferenciadas:

1. En la primera parte se verá una breve descripción del proyecto y su

origen, sirviendo de pequeña introducción.

2. En la segunda parte veremos Kinect como un dispositivo de

reconocimiento de personas, veremos su funcionamiento detallado,

haremos una primera toma de contacto con el tipo de aplicaciones

de Kinect, y como nos puede ayudar en nuestro proyecto.

3. En la tercera parte, correspondiente al análisis, veremos como se ha

planificado el proyecto y los objetivos a cubrir durante su

desarrollo.

4. En la parte de diseño, veremos el diseño tanto de los diferentes

componentes como de la interfaz gráfica.

5. En la parte de implementación, veremos a grandes rasgos todas las

tecnologías implicadas para el desarrollo de la aplicación

6. El capítulo 6 nos proporcionará los conocimientos necesarios para

instalar, configurar y utilizar la aplicación correctamente.

7. En los últimos capítulos veremos los resultados de las pruebas

realizadas en los centros de la Fundació Maresme, la opinión de las

especialistas y una conclusión final.

Page 11: Alfombra Multisensorial Autor: Fecha

11

2. Antecedentes - Kinect

Kinect es un dispositivo de control por movimiento creado originalmente

para jugar a los videojuegos de la videoconsola Xbox360. Kinect permite a

los usuarios controlar e interactuar con la consola sin necesidad de tener

contacto físico como un controlador de videojuegos tradicional, mediante

una interfaz natural de usuario que reconoce gestos, comandos de voz, y

objetos e imágenes.

Dadas las características de este sensor, es adecuada su aplicación en el

proyecto, ya que será el encargado de transmitir información del usuario a

la aplicación de manera transparente al usuario.

La ventaja principal del uso de este dispositivo de control es que evitamos

utilizar un soporte físico hardware como podría ser una alfombra con

sensores conectados a un micro-controlador, ya que esta sería más

robusta, no ofrecería mucha flexibilidad en cuanto a tamaño y disposición

de las zonas donde interactúa y tendríamos un desgaste importante con el

uso habitual.

En este capítulo se describe el dispositivo de control Kinect como

elemento físico, detallando las diferentes partes que componen este

dispositivo, las funcionalidades que nos aporta al proyecto y cómo

podemos hacer una aplicación utilizando el kit de desarrollo de software

(SDK) de Microsoft.

Page 12: Alfombra Multisensorial Autor: Fecha

12

Kinect Kinect es una barra horizontal de aproximadamente 23 cm conectada a

una pequeña base circular con un eje de articulación de rotula, y está

diseñado para ser colocado longitudinalmente por encima o por debajo

del televisor.

Debido a sus características Kinect compite directamente con otros

sistemas como Wiimote o PlayStation Move de Nintendo y Sony

respectivamente.

Figura 3. Dispositivo de control Kinect

Figura 4. Wiimote Figura 5. Playstation Move

Durante la primera mitad del 2011 numerosos desarrolladores,

instituciones como el MIT, empezaron a investigar y programar nuevas

aplicaciones que pudieran aprovechar las características del Kinect para

darle un uso que vaya más allá de los videojuegos.

Debido a este éxito y con el objetivo de canalizarlo, Microsoft publicó la

primera beta de su SDK oficial compatible con Windows 7 el 16 de junio

de 2011. Actualmente cuenta con la versión 1.6 con soporte para

Windows 8 y más facilidad de uso y programación.

Page 13: Alfombra Multisensorial Autor: Fecha

13

Kinect se compone principalmente de:

Una cámara RGB de video con una resolución de 640x480 a 30 fps

(frames per second)

Un emisor de infrarrojos.

Una cámara de infrarrojos.

Micrófono Multi-array, conjunto de cuatro micrófonos que se

monta como un solo micrófono. 4 Micrófonos (16bit sampling rate:

16Hz).

Un motor que permite ajustar la cámara hacia arriba o hacia abajo

hasta 27º.

Y aunque no visibles a simple vista, Kinect también posee:

Memoria RAM de 512 Mb

Acelerómetro, para estabilizar la imagen cuando se mueve.

Ventilador, no está encendido continuamente para no interferir con

los micrófonos.

Figura 6. Componentes de Kinect

1. Sistema de micrófonos.

2. Emisor Infrarrojos.

3. Cámara profundidad o analizador de infrarrojos.

4. Motor de inclinación.

Page 14: Alfombra Multisensorial Autor: Fecha

14

5. Cable USB para conexión al PC.

6. Cámara a color.

Alternativa - Asus Xtion Pro Live Asus Xtion es un dispositivo muy parecido a Kinect que la marca Asus

lanzó después de ver el éxito de éste. Sus componentes son iguales:

cámara de color y profundidad, un par de micrófonos y un procesador,

incluso sus características son parecidas (distancia efectiva, resolución de

cámaras, sonido, etc…). Utiliza los controladores de código abierto

OpenNI.

Figura 7. Asus Xtion Pro

No ha sido elegido ya que Microsoft, a fecha de inicio del proyecto, ofrecía

la versión 1.5 para su Kit de desarrollo de software (SDK) ofreciendo

mejores características frente OpenNI, muy adecuadas para el proyecto

que detallaré en el capítulo para Kinect SDK.

Page 15: Alfombra Multisensorial Autor: Fecha

15

¿Cómo funciona? En este apartado se describe brevemente el funcionamiento de los

elementos que componen Kinect.

Se puede dividir el funcionamiento de Kinect en tres partes:

Reconocimiento de imágenes.

Reconocimiento de voz.

El motor

Reconocimiento de imágenes

Kinect utiliza una cámara RGB que obtiene imágenes en color y 2 cámaras

de infrarrojos para medir la distancia a la que se encuentran los elementos

que están en el campo de visión.

La cámara de imágenes a color simplemente nos proporciona imágenes en

color de la cámara RGB, como podemos ver en la figura siguiente:

Figura 8. Cámara RGB

Las cámaras infrarrojas las podemos dividir en dos partes principales, el

proyector y la cámara de infrarrojos VGA. El rebote de los haces de laser

por todo el campo de juego es lo que permite que la cámara capte al

profundidad de los diferentes objetos. En la siguiente figura podemos ver

estos haces de láser, con una cámara infrarroja.

Page 16: Alfombra Multisensorial Autor: Fecha

16

Figura 9. Cámara infrarroja

Skeletal Tracking

Una de las funcionalidades más interesantes de Kinect utilizando estas

cámaras consiste en el seguimiento de cuerpos humanos, denominado

“Skeletal Tracking” en inglés.

Con los datos de la cámara, Kinect ejecuta una serie de filtros con la

intención de calcular que es una persona y que no lo es. El sistema

utilizará directrices como “una persona tiene una cabeza, dos piernas y

dos brazos” para diferenciarla del sofá o de algún otro elemento que

pueda haber en el campo de juego.

Figura 10. Detección del esqueleto

Page 17: Alfombra Multisensorial Autor: Fecha

17

A partir de la información del sensor, se ordena y convierte la

identificación de las partes del cuerpo en un esqueleto.

Kinect tiene precargadas más de 200 posiciones comunes del ser humano

por lo que en caso de que alguna acción tape alguna parte del esqueleto a

la cámara o se pierda el seguimiento, Kinect llenará el vacío

automáticamente basándose en la experiencia.

El sistema hace todo esto continuamente a una velocidad de 30fps y hay

que estar a una distancia de unos dos metros para poder ser reconocido.

En la siguiente figura podemos ver las partes del cuerpo que identifica,

ordena y realiza el seguimiento:

Figura 11. Partes del cuerpo identificadas por Kinect

Page 18: Alfombra Multisensorial Autor: Fecha

18

Sistema de micrófonos

El sistema de micrófonos es un conjunto de cuatro micrófonos colocados en la parte inferior, uno a la izquierda y tres a la derecha. De hecho, esta distribución específica es la única razón por la que Kinect es tan ancho (28 cm). Se utiliza tanto para el reconocimiento de voz como para identificar el origen y direccionalidad de la fuente de sonido.

Figura 12. Distribución de los micrófonos

El mayor problema durante el diseño del sistema de micrófonos era que tenía que ser sensible a voces de hasta cinco metros de distancia además de ignorar los ruidos ambientales y cualquier otro sonido. Para solucionarlo Microsoft puso en hasta doscientas cincuenta viviendas dieciséis micrófonos para tomar una serie de grabaciones con el objetivo de determinar cuál es el mejor posicionamiento del sistema de micrófonos.

La distribución es óptima para recoger las voces desde la distancia, el ruido asociado es cancelado por la unidad de procesamiento y utiliza un sistema software para calcular de donde viene el sonido y así crear un burbuja de sonido alrededor del usuario, de esta manera se identifica el sonido de la voz, y se hace caso omiso a las otras personas que se encuentren alrededor de los jugadores. Al igual que el reconocimiento de imágenes, el reconocimiento de sonido está funcionando continuamente.

Page 19: Alfombra Multisensorial Autor: Fecha

19

Figura 13. Identificación del ángulo de la voz de un usuario

Motor de inclinación

Tras investigaciones para ver las diferentes configuraciones de espacios de vida en toda América, Europa y Asia, Microsoft llegó a la conclusión de que era necesario dotar la cámara con posibilidad de moverse hacia arriba o hacia abajo con el objetivo de calibrar cada espacio concreto. El motor de inclinación se encuentra en la base de Kinect y es el encargado

de mover arriba y abajo 27 grados la parte donde se encuentran las

cámaras para así poder calibrar el espacio de detección con más precisión.

El espacio de visión del sensor es de 43 grados.

Figura 14. Motor de inclinación.

Page 20: Alfombra Multisensorial Autor: Fecha

20

Primer contacto – Developer Toolkit Con el objetivo de familiarizarse con las funcionalidades del sensor Kinect,

mostraré algunas aplicaciones que servirán de ejemplo para ver las

posibilidades del dispositivo.

Estas aplicaciones forman parte del conjunto de tutoriales y códigos de

ejemplo que proporciona Microsoft con Kinect for Windows Developer

ToolKit 1.5 incluido en el SDK, utilizando la tecnología Windows

Presentation Foundation (WPF).

Figura 15. Deleveloper ToolKit

El código de todas las aplicaciones que veremos a continuación lo

podemos instalar en nuestro PC para ver códigos de ejemplo que serán

útiles para el desarrollo final de nuestra aplicación. No entraré en detalles

de código ni lenguaje, ya que durante el desarrollo de la aplicación se

darán más detalles.

Page 21: Alfombra Multisensorial Autor: Fecha

21

Color Basics Este programa muestra en una imagen los frames capturados por la

cámara de color y nos permite hacer un “pantallazo” de la cámara. Nos

proporciona la información necesaria para inicializar el sensor y obtener

datos de la cámara de color.

Figura 16. Color Basics

Audio Basics Este programa nos permite identificar la procedencia del audio de las

diferentes fuentes de sonido. Nos proporciona la información necesaria

para localizar la procedencia de la voz.

Figura 17. Audio Basics

Page 22: Alfombra Multisensorial Autor: Fecha

22

Kinect Shape Game Este programa nos permite jugar utilizando nuestro propio cuerpo. El

jugador recibe puntos cuando colisiona con los diferentes objetos que van

apareciendo sobre él. Las funcionalidades del dispositivo que se utilizan en

este programa son:

Cámara de color para vernos y colocarnos correctamente delante

del sensor.

Seguimiento del esqueleto.

Comandos de voz para cambiar el tamaño y color de los objetos.

Figura 18. Shape Game

Speech Basics Este programa nos permite mover la tortuga de la imagen hacia las 4

direcciones mediante comandos de voz simples. La funcionalidad del

dispositivo que utiliza el programa es el reconocimiento de voz y nos

proporciona la información necesaria para crear comandos de voz y su

correcto reconocimiento.

Page 23: Alfombra Multisensorial Autor: Fecha

23

Figura 19. Speech Basics

Kinect Explorer Esta aplicación nos proporciona imagen a color e imagen de profundidad

de las diferentes cámaras, seguimiento del esqueleto, movimiento del

motor de inclinación e identificación de la fuente de sonido.

Nos proporciona información acerca de las características más utilizadas

de este dispositivo.

Figura 20. Kinect Explorer

Page 24: Alfombra Multisensorial Autor: Fecha

24

Investigación y Kinect Muchas instituciones han incorporado Kinect para facilitar las

comunicaciones, los negocios, la salud, el aprendizaje y muchos otros

aspectos de nuestra vida cuotidiana.

A continuación podemos ver algunos ejemplos gráficos de las aplicaciones

que las personas, dada la necesidad de mejora, han desarrollado para

mejorar aspectos muy diferentes y dispares con un magnífico resultado.

Creación de videojuegos:

Figura 21. Videojuegos

Violín Virtual:

Figura 22. Música

Page 25: Alfombra Multisensorial Autor: Fecha

25

Presentaciones y docencia:

Figura 23. Educación

Visualización de radiografías sin necesidad de contacto:

Figura 24. Medicina

Rehabilitación y fisioterapia:

Figura 25. Rehabilitación

Page 26: Alfombra Multisensorial Autor: Fecha

26

Usos militares:

Figura 26. Desactivación de bombas

Recomendaciones de uso

Es necesario conectar el dispositivo a una fuente de alimentación

externa, ya que sino su funcionalidad será limitada.

El sistema está protegido frente al sobrecalentamiento, a partir de

90º se apaga automáticamente, no hay ninguna interfaz que

permita regular el ventilador. La temperatura ambiente adecuada

está entre 5º y 35º

El motor de inclinación no está preparado para usarse

frecuentemente, no es recomendable más de un cambio al segundo

o más de quince cambios en un periodo de 20 segundos, esta

limitación viene dada con el objetivo de proteger el hardware, si

una aplicación intenta usar frecuentemente el motor el sistema

primero bloqueará la aplicación y si sigue así devolverá un código de

error.

No colocar nunca Kinect enfrente de un altavoz o sobre una

superficie que vibre.

Page 27: Alfombra Multisensorial Autor: Fecha

27

No colocar nunca Kinect en el exterior o directamente a la luz del

sol.

No colocar nunca cerca de una fuente de calor.

No conectar Kinect en un hub que es usado por otros dispositivos.

Evitar el uso de otro software o drivers beta que puedan interactuar

con el SDK beta de Kinect.

Kinect – Kit de desarrollo (SDK)

El Kit de Desarrollo de Software (SDK) para Windows es un conjunto de

herramientas que permiten al programador crear aplicaciones capaces de

interactuar con el dispositivo.

Tras la salida al mercado de Kinect no pasó mucho tiempo hasta que

empezaron a hackear Kinect y apareciesen distribuciones libres como por

ejemplo PrimeSense OpenNi. Este éxito provocó que Microsoft decidiese

publicar la SDK oficial de Kinect.

El SDK ha estado orientado a la investigación académica principalmente

aunque también a programadores particulares con el objetivo que

experimenten con la creación de interfaces naturales de usuario.

Actualmente, Microsoft ha lanzado una licencia comercial para

desarrolladores.

La versión de SDK utilizada en este proyecto ha sido la versión 1.5 que nos

proporciona las siguientes funcionalidades:

Kinect Studio, una nueva herramienta que permite a los grabar y

reproducir una secuencia de acciones frente al sensor. Fundamental

para evitar tener que apararte y realizar una prueba unitaria

humana cada vez que cambias algo en una aplicación.

Page 28: Alfombra Multisensorial Autor: Fecha

28

Guía de buenas prácticas para desarrollar interfaces de usuario.

Reconocimiento y seguimiento automático de hasta 20

articulaciones del cuerpo humano.

Seguimiento de elementos hasta 40 cm del sensor.

Capacidad de conocer la orientación de las articulaciones.

Capacidades de reconocimiento facial.

Reconocimiento del esqueleto “sentado”, que proporciona la

capacidad de seguir la cabeza, cuello y brazos de un usuario que

esté sentado o en silla de ruedas.

Localización de la fuente de sonido, que permite la determinación de la localización espacial de un sonido, mejora de fiabilidad cuando se integra con la API de reconocimiento de voz.

Reconocimiento de voz en Inglés, Francés, Alemán, Japonés, Italiano

y Español.

Códigos de ejemplo que explotan las funcionalidades de kinect con

la finalidad de facilitar el trabajo a los desarrolladores.

Mejora de resolución a 640x480 a 30 fps con mejora en ambientes

con poca luz.

Page 29: Alfombra Multisensorial Autor: Fecha

29

Requerimientos del sistema Para ejecutar las aplicaciones desarrolladas con el SDK de Kinect será necesario utilizar un entorno nativo de Windows, esto quiere decir que no es posible ejecutar las aplicaciones en una máquina virtual ya que tanto los drivers de Kinect como el SDK deben estar instalados en la computadora donde está corriendo la aplicación.

Los requisitos mínimos de nuestro sistema para desarrollar la aplicación son:

Sistema operativo: Windows 7 (32 o 64 bits).

Drivers de Kinect.

Requerimientos hardware:

o Ordenador con un procesador dual-core 2.66 GHz.

o Tarjeta gráfica compatible con Windows 7 y que soporte

Microsoft DirectX 9.0c.

o 2Gb de memoria RAM mínimo (4 Gb recomendados)

o USB 2.0 Dedicado al dispositivo

o Dispositivo Kinect.

Requerimientos software:

o Microsoft Visual Studio 2010 o posterior (Express o cualquier

otra edición).

o Microsoft .NET Framework 4 (instalado con Visual Studio).

o Microsoft Speech Platform – Server Runtime, versión 10.2

(para x86).

o Microsoft Speech Platform- Software Development Kit,

versión 10.2 (para x86).

o Kinect for Windows Runtime Language Pack, versión 0.9 o

superior.

Page 30: Alfombra Multisensorial Autor: Fecha

30

3. Análisis En este capítulo se analizará la aplicación a desarrollar y se cubrirán los

siguientes puntos:

1. Identificación y planificación de las fases del proyecto.

2. Análisis de objetivos y requisitos de la aplicación Alfombra

Multisensorial y todo el sistema que le rodea.

3. Casos de uso de la aplicación.

Planificación

He identificado y planificado las siguientes fases del proyecto:

1. Investigación de diferentes dispositivos sensoriales.

2. Investigación del entorno de desarrollo.

3. Primer contacto con aplicaciones para kinect

4. Diseño y desarrollo del programa Alfombra Multisensorial.

5. Pruebas

6. Documentación

Durante las tres primeras fases, más orientadas a la investigación del

sensor Kinect y al aprendizaje, he aprendido como funciona internamente

el sensor y como utilizar las funcionalidades del sensor para crear una

aplicación utilizando el Kit de desarrollo (SDK).

La cuarta y quinta fase se centran en el desarrollo del programa Alfombra

Multisensorial y su posterior puesta a prueba con diferentes tipos de

usuarios y actividades para validar su funcionamiento.

La fase de documentación se ha ido desarrollando durante todo el

proyecto e intenta reflejar todo el trabajo realizado.

Page 31: Alfombra Multisensorial Autor: Fecha

31

Podemos ver la planificación temporal en un gráfico más visual, en el

siguiente diagrama de Gantt:

Figura 27. Planificación del proyecto

Page 32: Alfombra Multisensorial Autor: Fecha

32

Requerimientos y objetivos Para analizar los requisitos y objetivos de la aplicación veremos un

pequeño esquema de los elementos que la forman y se detallarán los

requisitos de cada uno de los componentes.

Figura 28. Esquema del sistema

Page 33: Alfombra Multisensorial Autor: Fecha

33

Dentro de este sistema, encontraremos los siguientes elementos:

1. Espacio de interacción

Es el espacio definido de juego donde se desarrollan las actividades.

Este espacio de interacción deberá cumplir los siguientes requisitos:

i. Deberá ofrecer diferentes zonas de interacción que se podrán

configurar a través del programa Alfombra Multisensorial,

incorporando sonidos e imágenes como reacción a la

interacción del usuario con cada zona.

ii. Deberá posibilitar la colocación de diferentes texturas encima

de las diferentes zonas de interacción, provocando así un

mayor grado de interacción sensorial.

Figura 29. Ejemplos de espacios de interacción

Gracias a la utilización de Kinect, este espacio de interacción podrá ser

cualquier superficie, sin necesidad de ningún cable que conecte este

espacio con el ordenador ya que el dispositivo nos proporciona datos de la

posición del usuario. Esto nos ofrece las siguientes características y

ventajas:

Page 34: Alfombra Multisensorial Autor: Fecha

34

Ligero y flexible. Podemos utilizar una sábana extendida en el

suelo, una moqueta o simplemente pintar líneas en el suelo. Esto

nos aporta una máxima comodidad en transporte e instalación.

Económico. Como he comentado en el punto anterior, la

flexibilidad que nos ofrece el soporte físico nos permite adaptarnos

económicamente a nuestras necesidades y requisitos para ciertas

actividades.

La superficie posibilita la colocación de diferentes texturas

encima de las diferentes zonas de interacción, provocando así un

mayor grado de interacción sensorial.

2. Sensor Kinect

Figura 30. Sensor Kinect

Es el sensor encargado de transmitir la información de la posición del

usuario al software e ira conectado al PC mediante un cable USB.

Nos permite conocer la posición de múltiples partes del cuerpo humano,

su postura y gestos corporales, así como reconocer comandos de voz

simples.

Page 35: Alfombra Multisensorial Autor: Fecha

35

3. Programa Alfombra Multisensorial

El programa deberá permitir la creación de actividades de estimulación

auditiva y visual con facilidad y su correcta ejecución. Irá conectado

mediante USB al sensor Kinect y recibirá y procesará los datos del usuario

situado en la zona de interacción para obtener información sobre la

posición de las diferentes partes de su cuerpo.

Deberá cumplir los siguientes requisitos:

i. Debe permitir ajustar el espacio de interacción a diferentes

tamaños con la finalidad de adecuarse a la realización de diferentes

actividades y espacios. Algunas actividades necesitaran más espacio

que otras y el tamaño deberá ser diferente, y en otras ocasiones

necesitaremos un espacio más reducido debido a la limitación por

muebles u otros objetos.

ii. Debe permitir subdividir el espacio de interacción en diferentes

tipos de distribución y numero de zonas de interacción.

iii. Para la creación de las actividades a realizar, el programa deberá

incluir algunas actividades como base que ofrecerán variedad en el

tipo de actividad o juego a realizar y la parte del cuerpo que se

ejercitará.

iv. Estas actividades base se podrán personalizar incluyendo las

imágenes y sonidos correspondientes al tipo de actividad que se

vaya a llevar a cabo.

v. La aplicación debe permitir definir el espacio de interacción de una

manera fácil e intuitiva, evitando tener que definirlo o configurarlo

cada vez que se empiece una actividad.

Page 36: Alfombra Multisensorial Autor: Fecha

36

4. Proyector y altavoces

Nos permitirá interaccionar tanto auditiva como visualmente con el

usuario, proyectando imágenes y reproduciendo sonidos diferentes a

través del programa.

5. Actividades

Las actividades que ofrecerá el programa son:

1. Actividades Acción-Reacción.

El usuario podrá interaccionar con su cuerpo con las diferentes zonas de

interacción. Cuando una de estas zonas reciba una acción del usuario, se

activará y reproducirá la imagen y el sonido correspondiente a esa zona.

Estas zonas podrán ser configuradas previamente con el estímulo visual y

auditivo que corresponda. En la siguiente figura podemos ver un ejemplo

de actividad Acción-Reacción relacionada con los animales:

Figura 31. Actividad Acción-Reacción

Page 37: Alfombra Multisensorial Autor: Fecha

37

En la figura 31, disponemos de un espacio de interacción definido de 4x2

casillas, con un animal definido en cada zona de interacción. Cuando el

usuario se sitúa encima de la zona de interacción del caballo, se

proyectará la imagen del animal y se reproducirá la interacción auditiva

correspondiente al sonido del caballo.

Este tipo de actividades tiene como objetivo:

Mejorar la atención visual.

Asociación de pares (imagen – sonido)

Estimulación auditiva.

Reforzar o estimular el movimiento de alguna parte concreta del

cuerpo, como por ejemplo manos, pies o cabeza.

2. Actividades Estimulo-Respuesta.

El usuario recibirá un estímulo auditivo, ya sea un sonido o una melodía, y

deberá interaccionar con la zona correspondiente a dicho estimulo.

Cuando el usuario interaccione con la zona correcta, se reproducirá un

sonido estimulante.

En la figura 32 podemos ver que se reproduce el estímulo auditivo y visual,

y el usuario deberá interaccionar con la zona correspondiente, asociando

el sonido y la imagen con la zona de interacción correspondiente, en este

caso el pez.

Page 38: Alfombra Multisensorial Autor: Fecha

38

Figura 32. Actividad Estimulo-Respuesta

Cuando el usuario interaccione correctamente con la zona, se reproducirá

un sonido estimulante indicando que ha acertado.

Figura 33. Actividad Estimulo-Respuesta II

Page 39: Alfombra Multisensorial Autor: Fecha

39

Este tipo de actividades tiene como objetivo:

Mejorar la atención visual.

Asociación de pares (imagen – sonido).

Estimulación auditiva.

Mantenimiento de conocimientos.

Reforzar o estimular el movimiento de alguna parte concreta del

cuerpo, como por ejemplo manos, pies o cabeza.

3. Actividad Piano Musical.

El usuario podrá interaccionar libremente con las diferentes zonas de

interacción, recibiendo un estímulo auditivo cuando interaccione con cada

una de ellas.

A diferencia de las actividades de Acción-Reacción la división de zonas

será semejante a la de un piano y los estímulos auditivos serán notas

musicales de algún instrumento, permitiendo al usuario hacer música con

el movimiento de su cuerpo.

Podemos ver un ejemplo en la figura siguiente:

Figura 34. Actividad Piano

Page 40: Alfombra Multisensorial Autor: Fecha

40

En el ejemplo de la figura anterior, cada zona tiene asociando el sonido de

una nota musical con un piano, permitiendo al usuario hacer música con el

movimiento de su cuerpo.

Este tipo de actividades tiene como objetivo:

Estimulación auditiva.

Estimular el movimiento de alguna parte concreta del cuerpo.

4. Actividad Música Corporal.

Este tipo de actividad permitirá al usuario hacer sonar diferentes notas

musicales con el movimiento de su cuerpo, como podrían ser los brazos o

las piernas. Podemos ver un ejemplo ilustrado en la figura siguiente:

Figura 35. Actividad Música Corporal

En el ejemplo de la figura anterior, cuando el usuario mueve sus brazos

arriba y abajo, hace sonar diferentes notas musicales.

Este tipo de actividades tiene como objetivo:

Estimulación auditiva.

Estimular el movimiento de alguna parte concreta del cuerpo.

Page 41: Alfombra Multisensorial Autor: Fecha

41

Casos de uso En la ingeniera del software, un caso de uso es una lista de pasos

definiendo interacciones entre un actor o rol, y un sistema, para conseguir

un objetivo. Se utilizan para describir como los usuarios realizan diferentes

funciones utilizando el sistema.

En la figura siguiente podemos ver los casos de uso de la aplicación:

Figura 36. Casos de uso

Los roles que utilizarán el sistema serán:

1. Administrador:

Es el encargado de instalar la aplicación en el PC cumpliendo con los

requisitos de software y hardware indicados, solo deberá realizarse

la primera vez que utilicemos la aplicación.

Page 42: Alfombra Multisensorial Autor: Fecha

42

Cada vez que arranquemos la aplicación se encargará de calibrar el

espacio de detección y de seleccionar una actividad a realizar.

2. Creador de Actividades:

Es el encargado de diseñar y crear las actividades utilizando la

aplicación. Deberá conocer que tipos de personas que la van a

utilizar, el grado de dificultad que tiene, si es educativa o lúdica,

etc...

3. Supervisor

Es el encargado de ofrecer soporte al usuario que realiza la

actividad dando soporte motriz, ayuda o instrucciones de los pasos

a seguir.

4. Usuario

Es la persona que realiza la actividad y generará eventos en el

sistema. Podrá interaccionar con las diferentes zonas de interacción

y recibirá estímulos visuales y auditivos como recompensa a ciertas

acciones.

Una persona normalmente desempeñará más de un rol. Con el uso

habitual de la aplicación, una misma persona podría hacer el rol de

administrador, creador de actividades y supervisor, ya que instalaría la

cámara, realizaría la calibración e iniciaría la actividad en menos de 3

minutos.

Caso de uso. Instalación: Actor: Administrador

El administrador podrá instalar la aplicación en el PC la primera vez que

vaya a ser utilizada cumpliendo con los requisitos de software y hardware

indicados

Page 43: Alfombra Multisensorial Autor: Fecha

43

Caso de uso. Calibración: Actor: Administrador

El administrador podrá calibrar el espacio de interacción para realizar las

actividades. Se mostrará una ventana y el especialista deberá seleccionar

con que parte del cuerpo quiere realizar la calibración.

En la ventana se podrán ver imágenes de la cámara RGB y una imagen con

la posición del esqueleto. Mediante comandos de voz se podrá definir los

límites del espacio de interacción.

Caso de uso. Crear Actividad: Actor: Creador de Actividades

Se podrá crear una nueva actividad. Se mostrará una ventana donde se

podrá:

Seleccionar número de zonas de interacción dentro del espacio

definido.

Seleccionar el tipo de actividad a realizar.

Incorporar imágenes y sonidos a estas zonas.

Añadir una descripción.

Añadir otras opciones más concretas para ciertas actividades.

Caso de uso. Cargar Actividad Actor: Administrador

Se mostrará una ventana donde podrá seleccionar la actividad que quiere

empezar a realizar, entre todas las actividades ya creadas anteriormente.

Page 44: Alfombra Multisensorial Autor: Fecha

44

Caso de uso. Supervisar Actividad Actor: Supervisor

Precondición: Se debe haber cargado una actividad y calibrado el espacio

de interacción.

Se mostrará una ventana donde podrá seleccionar la parte del cuerpo que

el usuario debe utilizar para interaccionar con el sistema. También

dispondrá de información de la cámara RGB y de información del estado

del seguimiento del usuario.

Caso de uso. Realizar Actividad Actor: Usuario

Precondición: Se debe haber cargado una actividad y calibrado el espacio

de interacción.

El usuario podrá interaccionar con las diferentes zonas de interacción, y

dependiendo de la configuración del juego, recibirá estímulos visuales y

auditivos como recompensa a ciertas acciones.

Page 45: Alfombra Multisensorial Autor: Fecha

45

4. Diseño En este capítulo trataré el diseño de la aplicación y de la interfaz de

usuario.

Calibración La calibración permite a la persona responsable definir el espacio de

interacción que dispondrá el usuario para realizar la actividad.

La calibración se realizará por comandos de voz, enumerando las

diferentes esquinas del espacio de interacción que queramos definir.

Figura 37. Calibración

Como podemos ver en la figura anterior los puntos 1 y 2 serán los más

cercanos a la cámara, de izquierda a derecha, y los puntos 3 y 4 los más

lejanos, de izquierda a derecha.

Estos datos se almacenarán en un fichero de configuración para no tener

que calibrar el espacio de interacción cada vez que abramos la aplicación y

no cambiemos la posición de la cámara.

Page 46: Alfombra Multisensorial Autor: Fecha

46

Zona de interacción Una vez definido el espacio de interacción, el diseño que ofrecerán las

diferentes zonas de interacción dentro de este espacio es el siguiente:

Para actividades de Acción-Reacción y Estimulo-Respuesta:

4 Zonas de interacción:

División de 2x2 del espacio de interacción:

Figura 38. 4 Zonas de interacción

6 Zonas de interacción:

División de 3x2 del espacio de interacción:

Figura 39. 6 Zonas de interacción.

Page 47: Alfombra Multisensorial Autor: Fecha

47

9 Zonas de interacción:

División de 3x3 del espacio de interacción:

Figura 40. 9 Zonas de interacción.

12 zonas de interacción:

División de 3x4 del espacio de interacción:

Figura 41. 12 Zonas de interacción.

Page 48: Alfombra Multisensorial Autor: Fecha

48

Para las actividades de Piano Musical podremos añadir el número de notas

musicales que queramos entre 1 y 12, y automáticamente se dividirá en

partes iguales en forma vertical, podemos ver un ejemplo con 8 notas en

la figura siguiente:

Figura 42. Piano Musical

Para las actividades de Música corporal también podremos añadir el

número de notas musicales que queramos entre 1 y 12, y

automáticamente se reproducirán según el movimiento de la parte del

cuerpo seleccionada para la actividad.

Page 49: Alfombra Multisensorial Autor: Fecha

49

Diseño interfaz usuario La interfaz de usuario son una serie de ventanas que permitirán al usuario

hacer uso de la aplicación. En la figura siguiente podemos ver un esquema

de la interfaz de usuario diseñada para la aplicación:

Figura 43. Diseño interfaz gráfica

Disponemos de una ventana principal dónde podremos seleccionar las

siguientes opciones:

1. Calibración:

En la opción de calibración, dispondremos de una ventana donde la

persona responsable de la actividad podrá calibrar el espacio de

interacción.

2. Configuración:

Esta opción es la parte de configuración de nuestra aplicación

dónde podremos crear y cargas las actividades. En la opción de

configuración, dispondremos de dos opciones:

i. Crear actividad:

Dispondremos de una ventana dónde podremos seleccionar

el tipo de actividad a realizar e incorporar interacciones

visuales y auditivas a cada zona de interacción.

Page 50: Alfombra Multisensorial Autor: Fecha

50

ii. Cargar actividad:

Dispondremos de una ventana dónde podremos seleccionar

la actividad que queremos cargar al sistema. Estas actividades

han sido creadas con anterioridad.

3. Iniciar Actividad:

Esta opción inicia una actividad previamente cargada y mostrará

dos ventanas:

i. Soporte:

Se mostrarán datos de la cámara RGB y del seguimiento

corporal para ofrecer soporte a la persona responsable.

También ofrecerá opciones de interacción del usuario con el

sistema.

ii. Interacción:

Esta ventana se mostrará por el proyector y mostrará las

imágenes correspondientes a la interacción de cada zona.

Figura 44. Menú Principal

Page 51: Alfombra Multisensorial Autor: Fecha

51

Calibración La ventana de calibración permite:

Seleccionar el ángulo de inclinación de la cámara para poder ajustar

el espacio de interacción deseado dentro del ángulo de visión.

Seleccionar la parte del cuerpo con la queremos realizar la

calibración (Manos o pies).

Ejecutar los comandos de voz para realizar la calibración de las

esquinas del espacio de interacción.

Figura 45. Ventana de calibración

Page 52: Alfombra Multisensorial Autor: Fecha

52

Figura 46. Ejemplo de calibración.

En la figura 46, podemos ver un ejemplo de calibración del espacio de

interacción. En la imagen de color se muestra el espacio de interacción

definido por cinta y en la imagen del seguimiento corporal se muestran los

puntos de las esquinas ya calibradas.

Una vez realizada correctamente podemos pulsar el botón guardar para

almacenar esta información.

Page 53: Alfombra Multisensorial Autor: Fecha

53

Configuración Esta ventana muestra opciones para crear y cargar actividades. En la

opción para crear una nueva actividad podemos ver la ventana siguiente:

Figura 47. Ventana Configuración

En la opción cargar actividad, se muestra un listado con las actividades ya

creadas anteriormente y permite seleccionar la actividad que queremos

realizar.

Figura 48. Cargar actividad

Page 54: Alfombra Multisensorial Autor: Fecha

54

En la opción crear actividad, se muestra una ventana donde la persona

que ha diseñado la actividad podrá crearla definiendo:

Un nombre.

Tipo de actividad:

o Acción-Reacción

o Estimulo-Respuesta

o Piano Musical

o Música Corporal

Numero de zonas.

Imágenes y sonidos correspondientes a la interacción de cada zona.

Descripción

Podemos ver un ejemplo en la figura siguiente:

Figura 49. Creación Actividad.

Page 55: Alfombra Multisensorial Autor: Fecha

55

Iniciar Actividad Cuando una actividad ha sido cargada al sistema, se puede empezar

pulsando la opción Iniciar actividad y dispondremos de dos ventanas.

Ventana de soporte:

Se muestran datos de la cámara RGB, del seguimiento corporal y permite

a la persona responsable seleccionar con que parte del cuerpo debe

interaccionar el usuario.

Figura 50. Ventana de soporte

Page 56: Alfombra Multisensorial Autor: Fecha

56

Ventana de interacción:

Ventana donde se mostrarán las diferentes interacciones visuales de las

actividades. Esta ventana se muestra en el proyector.

Figura asdasda

Figura 51.Ejemplo de ventana de interacción

Page 57: Alfombra Multisensorial Autor: Fecha

57

5. Implementación

En este capítulo analizaré la implementación de la aplicación, describiendo

las tecnologías y el entorno de programación utilizado.

Para la realización del proyecto he optado por crear la aplicación

mediante un proyecto de Windows Presentation Foundation (WPF)

utilizando el entorno de desarrollo Visual Studio 2010 Express Edition.

La interfaz de usuario ha sido diseñada utilizando la tecnología XAML

destinada al diseño de interfaces de usuario para aplicaciones Windows.

Windows Presentation Foundation (WPF)

Windows Presentation Foundation es una tecnología Microsoft, presentada inicialmente como parte de Windows que permite el desarrollo de interfaces de interacción para aplicaciones Windows. WPF ofrece una amplia infraestructura y potencia gráfica con la que es posible desarrollar aplicaciones visualmente atractivas, con facilidades de integración que incluyen animación, video, audio, documentos, navegación o gráficos 3D. Cabe destacar que separa con el lenguaje declarativo XAML y los lenguajes de programación .NET, la interfaz visual de la lógica del negocio, propiciando una arquitectura Modelo Vista Controlador. WPF se incluye con Windows 7, Windows Vista y Windows Server 2008 aunque también está disponible para Windows XP SP2 o posterior y Windows Server 2003.

eXtensible Application Markup Language – XAML WPF introduce un nuevo lenguaje conocido como lenguaje extensible de marcado de aplicaciones, XAML, basado en XML. Su objetivo es dar un método eficaz para describir gráficamente interfaces de usuarios visuales ricas desde el punto de vista gráfico.

Page 58: Alfombra Multisensorial Autor: Fecha

58

Su gran ventaja es que es un lenguaje completamente declarativo, de manera que el desarrollador puede describir el comportamiento y la integración de los componentes sin utilizar la programación procedural. Su utilización para desarrollar interfaces de usuario permite también la separación entre modelo y vista, lo que es un buen principio de arquitectura. Hay que destacar que el uso de XAML en el desarrollo de aplicaciones no es estrictamente necesario, es posible cargar todos los elementos de WPF mediante código. Sin embargo XAML es más rápido, más fácil de implementar y de localizar y significan una elección mejor que cualquier código equivalente.

Lenguaje de programación – C#

C# es el nuevo lenguaje de propósito general diseñado por Microsoft para

su plataforma .NET. La sintaxis y estructuración de C# es muy parecida a

la de C++ o Java, puesto que la intención de Microsoft es facilitar la

migración de códigos escritos en estos lenguajes a C#.

C# es un lenguaje de programación que toma las mejores características

de lenguajes preexistentes como Visual Basic, Java o C++ y las combina en

uno solo.

Page 59: Alfombra Multisensorial Autor: Fecha

59

Visual Studio – Entorno de Desarrollo

Es un entorno de desarrollo integrado (IDE) para sistemas operativos

Windows, soporta lenguajes de programación tales como Visual C++,

Visual C#, Visual J#, ASP.NET y Visual Basic .NET, aunque actualmente se

han desarrollado las extensiones para muchos otros.

Visual Studio permite a los desarrolladores crear aplicaciones, sitios y

aplicaciones Web, así como servicios web en cualquier entorno que

soporte plataforma .NET. De esta forma se pueden crear aplicaciones que

se comuniquen entre dispositivos móviles, estaciones de trabajo y sitios

web.

La versión más reciente de este IDE es la versión 2012, que vio la luz el 24

de mayo 2012, su mayor logro ha sido incluir las herramientas para el

desarrollo de aplicaciones para Windows 8.

Para el desarrollo del proyecto utilizaré Visual Studio 2010, concretamente

la versión Express para C# ya que recordemos que la licencia de Visual

Studio es licencia propietaria, aunque Microsoft ofrece gratuitamente las

Express Editions, que son varias ediciones básicas separadas por lenguajes

de programación o plataforma enfocadas para novatos y entusiastas. Estas

ediciones son iguales al entorno de desarrollo comercial pero sin

características avanzadas.

Podemos descargar Visual Studio 2010 Express de la web de Microsoft:

http://www.microsoft.com/visualstudio/esn/downloads

Page 60: Alfombra Multisensorial Autor: Fecha

60

Crear un proyecto con Visual Studio y Kinect Para comenzar un proyecto con Microsoft Visual C# 2010 Express Edition se empezará creando un nuevo proyecto WPF. En la figura siguiente podemos ver las diferentes ventanas que nos ofrece nuestro entorno de desarrollo:

Figura 52. Visual Studio 2010 C# Express

1. Ventana de solución Muestra todas las clases, ventanas, propiedades y referencias del proyecto. Al crear el proyecto podemos ver 2 ficheros:

MainWindow.xaml, en este fichero de diseño será donde se declare y trabaje con la interfaz de usuario de la aplicación utilizando el lenguaje XAML.

MainWindow.xaml.cs, en esta parte se encontrará la lógica de negocio de la aplicación, programada utilizando el lenguaje de programación C#.

Page 61: Alfombra Multisensorial Autor: Fecha

61

2. Propiedades Muestra las propiedades de cada vista o clase del proyecto. Se pueden definir las propiedades de los diferentes elementos y manejar los eventos.

3. Vista de desarrollo En esta ventana podemos ver el contenido de los diferentes archivos de nuestro proyecto, ya sea código o interfaz gráfica.

4. Ventana de diseño En esta ventana podemos ver el código XAML que hay detrás de cada pantalla de la interfaz gráfica. Si este código de modifica, los cambios de mostraran inmediatamente en la ventana 3, pudiendo así visualizar los cambios con rapidez y sin necesidad de compilar y ejecutar nuestra aplicación.

5. Toolbox. Esta ToolBox nos proporciona las herramientas necesarias para desarrollar nuestra interfaz gráfica de usuario. Nos permite arrastrar y soltar cualquier elemento para incorporarlo fácilmente a nuestra interfaz.

Una vez creado o abierto un proyecto por primera vez se debe agregar la referencia al SDK de Kinect, que nos permitirá la comunicación con el dispositivo. Para ello, en la ventana de solución, hacemos clic encima de “References” y seleccionamos “Add reference” y buscamos “Microsoft.Kinect.dll” dentro de nuestro SDK como ver en la figura siguiente:

Page 62: Alfombra Multisensorial Autor: Fecha

62

Figura 53. Añadir referencia a librería de Kinect

Page 63: Alfombra Multisensorial Autor: Fecha

63

Alfombra Multisensorial

En esta sección veremos algunos detalles del proyecto con Visual Studio. Como hemos visto en la sección anterior cada ventana WPF tiene asociado dos archivos, un archivo con extensión .xaml donde se declaran los diferentes elementos de la interfaz de usuario, y un archivo con extensión .xaml.cs que es donde encontramos la lógica de la aplicación programada utilizando C#. En la figura siguiente podemos ver los componentes y ventanas que forman el programa:

Figura 54. Proyecto

Page 64: Alfombra Multisensorial Autor: Fecha

64

Figura 55. Esquema de ventanas

Estas ventanas corresponden a las diferentes acciones que nos permite la aplicación:

Calibrar el espacio de interacción.

Cargar o crear alguna actividad.

Empezar a realizar la actividad

Page 65: Alfombra Multisensorial Autor: Fecha

65

6. Manuales de Uso

Manual 1 - Instalación SDK y Drivers Una vez se tiene el ordenador con Windows 7 actualizado y Visual Studio 2010 instalado se procederá a la descarga e instalación del SDK. Es muy importante tener en cuenta dos cosas:

Que el Kinect esté desenchufado.

Que Visual Studio esté cerrado.

Que no haya ningún otro driver para Kinect instalado (incluyendo versiones más antiguas).

Se descargará el paquete correspondiente a la versión 1.5 (32bits o 64 bits) de la página web www.kinectforwindows.org.

Se siguen los pasos del instalador.

Figura 56. Instalación SDK

Una vez instalado el SDK, se conectará Kinect a la corriente y al ordenador (por USB), el sistema operativo reconocerá el nuevo hardware y se

Page 66: Alfombra Multisensorial Autor: Fecha

66

dispondrá a instalarlo automáticamente. Si se hace clic en más información se mostrará el siguiente estado al acabar la instalación:

Figura 57. Instalación correcta de drivers

Esta instalación deberá hacerse en cada equipo en donde se quiera usar Kinect, para el desarrollo de aplicaciones así que como para la ejecución de aplicaciones que lo usan. Para comprobar si se han instalado los drivers de Kinect correctamente, basta con ir a “Panel de control ->Sonido y Hardware ->Administrador de dispositivos” y ahí aparece el sensor instalado:

Figura 58. Drivers

Page 67: Alfombra Multisensorial Autor: Fecha

67

Manual 2 – Instalación de la aplicación

En este manual se hará una breve descripción de como instalar la

aplicación en nuestro PC.

Los requisitos de nuestro PC serán:

Windows 7.

Drivers de Kinect correctamente instalados.

Ordenador con un procesador dual-core 2.66 GHz.

Tarjeta gráfica compatible con Windows 7 y que soporte Microsoft

DirectX 9.0c.

2Gb de memoria RAM mínimo (4 Gb recomendados).

USB 2.0 dedicado al dispositivo.

Si nuestro PC cumple con los requisitos de software y hardware para el

soporte de Kinect, podremos instalar la aplicación haciendo doble clic en

el instalador y siguiendo los pasos que nos indica.

Figura 59. Instalación de la aplicación (I).

Page 68: Alfombra Multisensorial Autor: Fecha

68

Figura 60. Instalación de la aplicación ( II).

Figura 61. Instalación de la aplicación (III).

Una vez cargada la barra de proceso hacemos clic en “cerrar” y ya estará

lista para ser utilizada.

Page 69: Alfombra Multisensorial Autor: Fecha

69

Manual 3 - Creación de actividades

En este manual utilizaré la aplicación para crear algunas actividades,

utilizando las actividades base propuestas en la aplicación, que servirán de

primer paso para crear otras actividades con diseños e interacciones

diferentes.

Aprenderemos a crear una actividad de cada tipo con la finalidad de dar

una idea del tipo de actividades que podemos crear, cuál debe ser su

diseño y cómo podemos crearlas fácilmente.

Actividad Acción-Reacción El usuario podrá interaccionar con su cuerpo con las diferentes zonas de

interacción. Cuando una de estas zonas reciba una acción del usuario, se

activará y reproducirá la imagen y el sonido correspondiente a esa zona.

Para crear nuestra primera actividad primero debemos diseñarla, el

diseño para esta actividad será el siguiente:

Nombre: Animales A-R

Tipo: Acción-Reacción

Numero de zonas: 6

o Zona 1: Vaca

o Zona 2: Caballo

o Zona 3: Elefante

o Zona 4: Perro

o Zona 5: Delfín

o Zona 6: León

Disponer de las imágenes y sonidos correspondientes a cada zona

de interacción.

Abrimos la aplicación y pulsamos sobre Configuración/Crear Actividad.

Primeramente rellenamos los datos del nombre, estilo de juego y las

zonas de interacción, como podemos ver en la figura siguiente:

Page 70: Alfombra Multisensorial Autor: Fecha

70

Figura 62. Creación de actividad A-R. Primeros Pasos

Más tarde debemos ir añadiendo las interacciones de cada zona,

indicando el número de zona, y el sonido e imagen correspondientes,

como podemos ver en la figura siguiente. Por último debemos escribir una

descripción y pulsar sobre el botón de finalizar.

Figura 63. Creación de actividad A-R.

Page 71: Alfombra Multisensorial Autor: Fecha

71

Un esquema final de la actividad sería el siguiente:

Figura 64. Esquema de la actividad Acción-Reacción

Page 72: Alfombra Multisensorial Autor: Fecha

72

Actividad Estimulo-Respuesta

El usuario recibirá un estímulo auditivo, ya sea un sonido, una melodía o

una orden grabada, y deberá interaccionar con la zona correspondiente a

dicho estimulo. Cuando el usuario interaccione con la zona correcta, se

reproducirá un sonido estimulante totalmente configurable.

Diseño de la actividad:

Nombre: Animales E-R

Tipo: Estimulo-Respuesta

Numero de zonas: 6

o Zona 1: Vaca

o Zona 2: Caballo

o Zona 3: Elefante

o Zona 4: Perro

o Zona 5: Delfín

o Zona 6: León

Disponer de las imágenes y sonidos correspondientes a cada zona

de interacción.

Disponer de la imagen y el sonido que se mostrarán cuando el

usuario interaccione con la zona correcta.

Diseñar un camino, este camino es el que el usuario deberá seguir

durante la actividad. Por ejemplo: Zona 1 – Zona 3 -- Zona 2 - Zona 6

– Zona 4 – Zona 5.

Abrimos la aplicación y pulsamos sobre Configuración/Crear Actividad.

Rellenamos los datos del nombre, estilo de juego y las zonas de

interacción. En segundo lugar añadimos las interacciones visuales y

auditivas según el diseño de la actividad y el número de zonas. Por último,

añadimos el orden de las zonas que el usuario deberá seguir y el sonido

que se reproducirá cuando éste interaccione con la zona correcta.

Page 73: Alfombra Multisensorial Autor: Fecha

73

Figura 65. Actividad Estimulo-Respuesta

Actividad Piano Musical A diferencia de las actividades de Acción-Reacción la división de zonas es

semejante a la de un piano, es decir, las divisiones serán verticales, como

podemos ver en la figura siguiente:

Figura 66. Piano

Page 74: Alfombra Multisensorial Autor: Fecha

74

Como estímulos auditivos utilizaré notas musicales de un piano,

permitiendo al usuario hacer música con el movimiento de su cuerpo.

Diseño de la actividad:

Nombre: Piano

Tipo: Piano Musical

Numero de notas: 8 (Do – Re - Mi – Fa – Sol – La – Si – Do )

Disponer de la imagen del instrumento.

Disponer de las 8 notas del piano.

Figura 67. Piano Musical

Page 75: Alfombra Multisensorial Autor: Fecha

75

Actividad Música Corporal

Este tipo de actividad permite al usuario hacer sonar diferentes notas

musicales con el movimiento de su cuerpo. Como estímulos auditivos

utilizaré notas musicales de un piano, permitiendo al usuario hacer música

con el movimiento de su cuerpo.

Diseño de la actividad:

Nombre: MusicaCorporal

Tipo: Música Corporal

Numero de notas: 5 (Do – Re - Mi – Fa – Sol)

Disponer de la imagen del instrumento.

Disponer de las 5 notas del piano.

Figura 68. Música Corporal

Page 76: Alfombra Multisensorial Autor: Fecha

76

Manual 4 – Calibración de Kinect

La calibración permite a la persona responsable definir el espacio de

interacción que dispondrá el usuario para realizar la actividad. La

calibración se realizará por comandos de voz, enumerando las diferentes

esquinas del espacio de interacción que queramos definir.

Abrimos la aplicación y seleccionamos la opción de calibración.

Figura 69. Calibración

Para realizar la calibración debemos situarnos en las esquinas de espacio

de interacción que hayamos definido, si éstas no están dentro del rango

del dispositivo podremos moverlo utilizando la opción de grados de

inclinación de la cámara. Si moviendo el ángulo no podemos ver el espacio

de interacción entero, deberemos hacerlo más pequeño y ajustarlo a las

limitaciones del dispositivo.

Page 77: Alfombra Multisensorial Autor: Fecha

77

Cuando en el campo de visión de la cámara tengamos fijado el espacio de

interacción, deberemos comunicarle al sistema mediante la voz en que

numero de esquina estamos situados para que guarde esta información.

Los comandos de voz validos serán: “uno”, “dos”, “tres” y “cuatro”.

Figura 70. Calibración

Como podemos ver en la figura anterior los puntos 1 y 2 serán los más

cercanos a la cámara, de izquierda a derecha, y los puntos 3 y 4 los más

lejanos, de izquierda a derecha.

Una vez calibrados los 4 puntos, hacemos clic en “Guardar”.

NOTA: La calibración debe hacerse cuando coloquemos la cámara o en

caso de que se mueva durante la realización de una actividad, por lo que

se recomienda que se sitúe en un sitio firme y fijo.

Page 78: Alfombra Multisensorial Autor: Fecha

78

7. Pruebas

Las pruebas de la aplicación han sido realizadas en dos de los centros de la

Fundació Maresme: Llar Santa María y STO Pere Parera.

Estos dos centros se diferencian por el tipo de personas que atiende. La

Llar Santa María atiende a personas con discapacidades profundas y

graves que necesitan una atención continua las 24 horas, a diferencia del

STO Pere Parera que atiende a personas con un menor grado de

discapacidad.

Residencia y centro de atención especializada. Llar Santa

María.

La “Llar Santa María” es un centro asistencial que atiende a personas en

edad adulta con discapacidad intelectual profunda, con graves

disfunciones y con una necesidad de soporte extenso y generalizado. Estas

discapacidades van acompañadas normalmente de déficit motriz y

sensorial, así como también importantes problemas de salud.

El centro contempla una atención interdisciplinaria para cubrir de manera

integral las necesidades individuales de asistencia educativa y emocional.

A la vez que proporciona un seguimiento a nivel médico y rehabilitador.

El centro ofrece:

Orientación a las personas atendidas y sus familias.

Curas y seguridad personal

Tratamiento rehabilitador y terapéutico ajustador a las necesidades

individuales.

Realización de actividades de ocio que favorece la interacción,

comunicación y relaciones personales.

Trabajo de los hábitos y la autonomía.

Estimulación cognitiva y sensorial.

Trabajo de los hábitos y autonomía.

Integración social y comunitaria.

Page 79: Alfombra Multisensorial Autor: Fecha

79

En conclusión, los usuarios de este centro son personas con altos niveles

de discapacidad intelectual, motriz o comunicativa que necesitan cuidados

las 24 horas del día.

Las pruebas realizadas en este centro han sido bastante satisfactorias. La

dificultad era elevada ya que el grado de discapacidad intelectual y/o

motriz es muy grave.

Las pruebas han sido realizadas con dos usuarias diferentes para

comprobar el buen funcionamiento de la aplicación:

La usuaria 1 con movilidad totalmente independiente, aunque

reducida, y con habilidades comunicativas suficientes como para

entender las actividades más simples.

La usuaria 2 con movilidad totalmente dependiente, en silla de

ruedas y habilidades comunicativas muy reducidas

Figura 71. Usuaria 1. Actividad animales

Page 80: Alfombra Multisensorial Autor: Fecha

80

Figura 72. Usuaria 1. Actividad Acierta

Page 81: Alfombra Multisensorial Autor: Fecha

81

Figura 73. Usuaria 2. Actividad Piano con manos

Page 82: Alfombra Multisensorial Autor: Fecha

82

Figura 74. Usuaria 2.

Page 83: Alfombra Multisensorial Autor: Fecha

83

Centro de terapia ocupacional Pere Parera

Los centros ocupacionales para personas con disminución psíquica son la

alternativa desde el ámbito de los servicios sociales a la integración de

aquellas personas que no pueden incorporarse al sistema de trabajo y de

mercado ordinario, ni en un centro especial de trabajo, por no llegar a un

determinado nivel de capacidad productiva.

La ocupación terapéutica ofrece actividades que favorecen el desarrollo

personal y social, mejorando el ámbito de la autonomía, fomentando las

relaciones interpersonales, la comunicación y el deporte. También ofrece

actividades de socialización, celebrando fiestas tradicionales y populares

con otras entidades.

Los objetivos generales del servicio ocupacional son:

Conseguir un funcionamiento independiente del individuo, tanto

personal como socialmente, ofreciendo un amplio abanico de

actividades a elegir.

Potenciar las capacidades y habilidades para adquirir autonomía.

En conclusión, los usuarios de este centro, a diferencia de “Llar Santa

María” son personas con mucha más autonomía y conocimientos, y la

mayoría tienen buena motricidad y habilidad cognitiva.

Page 84: Alfombra Multisensorial Autor: Fecha

84

Figura 75. Preparación de las actividades

Page 85: Alfombra Multisensorial Autor: Fecha

85

Figura 76. Actividad ¿De qué color es?

Page 86: Alfombra Multisensorial Autor: Fecha

86

Figura 77. Actividad Explora los animales

Page 87: Alfombra Multisensorial Autor: Fecha

87

Figura 78. Piano Musical

Page 88: Alfombra Multisensorial Autor: Fecha

88

Resultados En esta sección veremos los cambios, modificaciones o ideas que han ido

surgiendo al realizar las pruebas y como se han tratado:

Algunas personas que utilizaron la aplicación tenían una movilidad muy

reducida, aunque podían estar en pie, debían ir acompañados de una

persona que les diera soporte motriz y de refuerzo auditivo.

En un primer momento se pensó en hacer el seguimiento corporal de las 2

personas en escena y hacer caso omiso al acompañante, no pudiendo este

afectar sobre el sistema. Pero surgió una pregunta, ¿Quién es el

acompañante?, ¿El Primero que entra?, entonces se decidió que fuese la

persona más activa, es decir, la persona con más movimiento y cercanía a

la cámara, solo pudiendo esta afectar con el sistema. En motivo a esta

solución, la persona acompañante se debe situar lo más oculta a la cámara

posible.

Resueltos los problemas con personas de movilidad reducida, surgió la

pregunta, ¿Cómo interaccionaran las personas en una silla de ruedas con

el sistema? , ¿Se quedarán fuera del conjunto de personas que se

beneficien de la aplicación?, la respuesta claramente era no.

Como solución se propuso la realización de las actividades de música

corporal, que en un inicio no era una actividad base propuesta. Estas

actividades permiten que personas en silla de ruedas y sin trabajar desde

el suelo, puedan hacer música con el movimiento de sus brazos o cabeza.

Por último, el mayor problema encontrado ha sido la detección por parte

del dispositivo Kinect de las personas que interactuaban desde el suelo,

concretamente si la posición del cuerpo no era “natural”, es decir,

tumbado en el suelo o en posición de rodillas y con un movimiento

reducido, el dispositivo tenía dificultades para reconocer e identificar las

partes del cuerpo. Podemos ver un ejemplo en la figura 3453.

En muchos casos este problema se soluciona con la realización por parte

del usuario de algún movimiento de su cuerpo como levantar los brazos o

intentar levantar un poco la cabeza y la espalda para hacer una primera

identificación del cuerpo y facilitar el seguimiento posterior. Aunque una

Page 89: Alfombra Multisensorial Autor: Fecha

89

vez identificado el cuerpo, la interacción con el sistema puede fallar en

algunos casos, ya que la precisión del lugar donde se encuentra cada una

de las articulaciones dada la postura no es muy exacta.

Este problema no tendrá solución ya que viene dado por las limitaciones

del sensor, que internamente procesa los datos de la cámara para

identificar las partes del cuerpo, comprensible ya que no olvidemos que

está diseñado para jugar con una videoconsola o PC, de pie o sentado en

una silla o sofá.

Los resultados de las pruebas han sido muy satisfactorios en todos los

casos y han aportado muchas ideas y mejoras al proyecto.

Page 90: Alfombra Multisensorial Autor: Fecha

90

8. Opinión En esta sección citaré la opinión de Sandra Delgado, especialista de la

Fundació Maresme:

“A nivel pedagógico, la Alfombra Multisensorial permite trabajar las

acciones intelectuales con la finalidad de promover el mantenimiento

cognitivo y facilitar la autonomía de las personas que la utilizan en su día a

día.

La amplia flexibilidad de la aplicación en la creación de un sinfín de

actividades diferentes, permite ejercitar la memoria para prevenir su

perdida, potenciar el razonamiento, agilizar la capacidad de aprendizaje y

mantener conocimientos con la ventaja de estar jugando a un videojuego

adaptado a las necesidades de cada persona.

A nivel fisioterapéutico, la Alfombra Multisensorial es una herramienta

útil para nosotras ya que facilita a las personas con graves problemas

motrices, que puedan participar en la realización de actividades junto al

resto de compañeros, y complementa muy bien el trabajo que debemos

realizar a nivel sensorial gracias a los estímulos auditivos y visuales.

También podemos decir que es una herramienta motora muy buena, ya

que los participantes ejercitaran su cuerpo mientras realizan las

actividades, pudiendo trabajar con las extremidades superiores como

inferiores.

En conclusión, podemos decir que es una herramienta útil y divertida, que

nos permite trabajar con un abanico muy amplio de persones afectadas

por alguna discapacidad, ofreciendo soporte educativo y cognitivo.”

Page 91: Alfombra Multisensorial Autor: Fecha

91

9. Conclusión

En este capítulo se exponen las conclusiones finales del proyecto. Primero

se analizan los objetivos conseguidos y después una valoración personal

sobre el trabajo realizado.

Conclusión general El objetivo del proyecto era desarrollar una aplicación utilizando las

funcionalidades que nos ofrece el sensor Kinect, que permita la creación y

ejecución de actividades lúdicas y/o educativas dirigidas a persones

afectadas por alguna discapacidad física, psíquica o sensorial.

Como resultado final se ha obtenido una aplicación totalmente flexible

que intenta cubrir las necesidades de todas las personas con discapacidad

que utilizarán la aplicación, ofreciendo 4 tipos de actividades base que se

pueden complementar con diferentes sonidos e imágenes para crear un

sinfín de actividades de estimulación diferentes.

Tras las primeras pruebas se llegó a la conclusión de que sí que era posible el uso de esta herramienta para propósitos educativos y lúdicos, los usuarios mostraron un gran interés por la herramienta y la forma de interacción que se planteaba. Tras las pruebas con los usuarios se pudo mejorar la aplicación, habiendo en ellos una gran motivación por realizar la actividad.

Opinión personal La realización de este proyecto me ha gustado mucho, en especial la

satisfacción de haber podido ayudar a personas con discapacidad a

participar en juegos que incorporan tecnología de una manera divertida, y

a la vez educativa y rehabilitadora.

Durante la primera fase del proyecto, he tenido que investigar sobre el

dispositivo Kinect y como desarrollar una aplicación. Creo que me ha sido

muy útil e interesante, ya que he podido evaluar mi base de

conocimientos adquiridos durante la carrera y mi capacidad para adquirir

nuevos por mi cuenta.

Page 92: Alfombra Multisensorial Autor: Fecha

92

El resultado del proyecto ha sido muy bueno, tanto en funcionalidades

como en la opinión personal de las personal que la han utilizado hasta

ahora.

Page 93: Alfombra Multisensorial Autor: Fecha

93

10. Bibliografía

www.xbox.com/es-ES/kinect

www.primesense.com

http://www.edogaru.net/2011/11/14/kinect-primeros-pasos

http://elrincon-delgamer.blogspot.com.es/2010/08/caracteristicas-y-

funcionamiento-de.html

http://channel9.msdn.com/coding4fun/kinect

http://es.wikipedia.org/wiki/Modelo_de_color_RGB http://www.kinecteducation.com/blog/tag/programming-for-kinect/ http://www.microsoft.com/en-

us/kinectforwindows/develop/resources.aspx

http://www.microsoft.com/es-es/download/details.aspx?id=17851

http://www.microsoft.com/visualstudio/es-es

http://esencialbit.com/analisis/como-funciona-kinect http://es.wikipedia.org/wiki/Wiimote http://es.wikipedia.org/wiki/PlayStation_Move

http://msdn.microsoft.com/es-es/library/ms748948.aspx

http://wpftutorial.net

http://stackoverflow.com/questions/227140/c-sharp-speech-recognition-

is-this-what-the-user-said

http://blog.kinectfordevelopers.com

https://skydrive.live.com/?cid=bef06dffdb192125&resid=BEF06DFFDB192

125!4275&id=BEF06DFFDB192125!4275