Plataforma de Realidad Aumentada para Educación Infantil

Como cada Septiembre, llega el momento de plantearse nuevos retos para el año que viene, así como de hacer una reflexión sobre lo realizado el año pasado, es por eso que no quisiera cerrar uno de los proyectos que me planteé hace un año sin hacer una reflexión en voz alta a través de mi blog.

Para explicaros en qué consistió me gustaría apoyarme en el siguiente gráfico que se corresponde con la infografía que utilicé para exponer al tribunal el Proyecto de Fin de Grado que presenté a finales del mes de Julio y con el que adaptaba mi anterior titulación de Ingeniería Técnica con la especialidad de equipos electrónicos al nuevo Grado en Ingeniería de Telecomunicaciones:

SlideEducacionAumentada

El proyecto consistió en el desarrollo de una Plataforma de Realidad Aumentada para Educación Infantil, y con él trate de profundizar en algunas de las tecnologías que más me interesan al mismo tiempo que cubría algunos gaps tecnológicos que tenía dada mi formación anterior de Ingeniería pero más centrada en el hardware que en el software; si hablamos de lenguajes de alto nivel ésta se limitaba a la programación estructura en C, sí, hace tanto :-). Por cierto, lástima que por aquel entonces no existiera Arduino!!!!

Como puede verse en la infografía de arriba, en el proyecto abordé la creación de una plataforma en Internet que sirviera actividades educativas basadas en juegos utilizando Realidad Aumentada. El objetivo era tener un servicio accesible tanto desde las aulas como desde el hogar y en el que el alumno pudiera «jugar» realizando determinadas actividades en las que tuviera que utilizar su cuerpo como interfaz, las actividades a realizar podrían ser de varios tipos pero siempre persiguiendo unos objetivos pedagógicos determinados. Como el desarrollo de la plataforma en sí se escapaba del alcance del proyecto, mi objetivo específico fue desarrollar un prototipo de uno de estos juegos, pudiendo así ponerme al día en programación, sobre todo enfocada a programación web.

Para realizar el prototipo utilicé un entorno de programación cuya curva de aprendizaje es muy rápida, Processing, y que por lo que pude investigar en un primer momento me permitiría tanto programar en modo stand-alone como para la web, así como portar fácilmente la aplicación a dispositivos móviles. Processing fue todo un descubrimiento, pudiéndome centrar rápidamente en las capacidades de visión por computadora necesarias para desarrollar el tipo de actividades que quería teniendo en cuenta que el hardware con el que contaba era un PC y una webcam convencional. Decidí desarrollar un juego que consistía en explotar pompas virtuales que caían desde la parte superior de la pantalla con el movimiento de nuestro cuerpo, para ello utilicé la librería OpenCV adaptada al entorno de programación Processing (librerías hipermedia y javacvpro).

Una vez finalizado el prototipo en formato stand-alone tenía que portar la aplicación a un entorno de Internet, para lo cual utilicé Processing.js, que permite seguir utilizando Processing pero para programación web haciendo uso del canvas de HTML5, por lo que pude experimentar con éste y con las nuevas APIs de Javascript basadas en WebRTC, y más concretamente getUserMedia(), que permite capturar el stream de video de la webcam. Este último punto me resultó especialmente interesante aunque no pude profundizar en él todo lo que hubiera querido.

En la siguiente figura podéis ver un momento en la realización del proyecto, tratando de afinar las variables del juego para poder ser utilizado por niños en la etapa de educación infantil, como no, utilizando a mi hija como conejillo de indias al mismo tiempo que para divertirnos.

JuegoPompas