Interfaces naturales para aplicaciones terapéuticas

Buscar


Desarrollo e implementación de middleware entre Blender, Kinect y otros dispositivos


  • Ignacio-Gomez editada

    Ignacio-Gomez editada
199
22-07-2016

Proyecto fin de grado de Ignacio Gómez-Martinho González


El objetivo de este proyecto es desarrollar un programa que sirva de intermediario (middleware) entre una cámara de captura de movimiento y un entorno de desarrollo de videojuegos, permitiendo la creación de juegos controlados por movimientos corporales, o exergames. El objetivo a largo plazo es el desarrollo de juegos adaptativos destinados a usuarios con movilidad reducida, especialmente a niños y adolescentes, que combinen el entretenimiento con el ejercicio físico necesario para la rehabilitación de pacientes. El sistema no sólo debe leer los movimientos corporales del jugador y trasladarlos a los controles del videojuego, sino también reconocer las limitaciones físicas de cada usuario particular, adaptando los movimientos requeridos por el juego a las necesidades del paciente.
Este proyecto se basa en el uso de la cámara de control de movimiento Kinect, desarrollada por Microsoft. Este sensor permite reconocer la posición en el espacio y la orientación de hasta veinte puntos, o articulaciones, del cuerpo del usuario. Utilizando esta información, es posible reconstruir en un entorno 3D una simulación esquematizada del esqueleto del jugador, que imitará todos sus movimientos en tiempo real. El software elegido para el desarrollo de los videojuegos es el Blender, una solución gratuita de código abierto que permite el modelado y programación de juegos en tres dimensiones, con cualquier grado de complejidad.
Para poder integrar en Blender los movimientos registrados por la cámara, el sistema está dividido en dos componentes: el principal es una aplicación autónoma que accede regularmente a la interfaz de la Kinect y obtiene los datos de posición del usuario. Mediante su propio protocolo de comunicación, la aplicación transmite esos datos al segundo componente: un receptor, cuyo código se incorpora y ejecuta en las aplicaciones desarrolladas con Blender. Este receptor interpreta los datos recibidos y reconstruye el esqueleto del jugador en tiempo real, permitiendo su incorporación al sistema de control del juego. Los movimientos del jugador pueden utilizarse de dos formas: por una parte, haciendo que el personaje protagonista los imite, y por la otra, midiendo la velocidad de los movimientos o la distancia entre determinados puntos del cuerpo, y activando determinados comandos en función de los valores obtenidos.
El receptor, además, puede guardar en la memoria permanente del ordenador la anatomía y la capacidad de movimiento de cada usuario, y utilizar estos datos para amplificar los movimientos del esqueleto. Esto permite que ligeros gestos, realizados por jugadores con movilidad reducida, sean interpretados por el juego como movimientos tan amplios como los que pueda realizar cualquiera.
El middleware entre Blender y Kinect se ha integrado en un programa contenedor, el Chiro, con capacidad para agrupar una serie de middlewares que comuniquen Blender con distintos dispositivos de interfaz natural. Se han implementado uno para smartphones y otro para cascos de realidad virtual, así como las herramientas necesarias para desarrollar otros similares en el futuro.
En la última fase del proyecto se ha iniciado el diseño de un juego de aventuras 3D con funciones de rehabilitación, al que se ha dado el nombre provisional de “Blexer” (Blender Exergames). De los que en el futuro formarán parte de él, se han implementado cinco ejercicios o minijuegos, en colaboración entre el autor y estudiantes en prácticas. Estos juegos han sido el centro de unas pruebas realizadas con dos grupos de personas, con y sin limitaciones motoras, con el objetivo de mostrar la utilidad y la funcionalidad del sistema. Los resultados han sido muy positivos.
En total, este trabajo dio lugar a dos publicaciones en conferencias: la ISCE 2015 en Madrid [1] y el ICCE 2016 en Berlín [2].


2 Investigaciones relacionadas


Sistema Blexer v1
15-03-2020

Sistema Blexer v1

Middleware: Chiro
14-07-2016

Middleware: Chiro