AGREGANDO FUNCIONALIDADES: “SENSOR DE PRESENCIA”

Dado que Groucho es un robot cuya finalidad principañ es jugar con nosotros e intentar ganarnos, debe disponer de algún sistema para avisarnos de que quiere jugar cuando estemos cerca.

Hemos desarrollado esto mediante varias condiciones dentro del programa. En primer lugar el programa se ejecuta normalmente pero ahora, cada vez que entramos en el bucle de las capturas se incrementa una variable para saber el número de capturas sin caras. Posteriormente, en el caso de detectarse una cara, es decir en el caso de activarse tanto el clasificador de caras como el de ojos, que nos proporcinaba facedetect, dicha variable se decrementa. Por otra parte si ocurre eso aumenta una variable nueva llamada capturas con caras.

En el caso de estar el número de capturas con caras a 0 y producirse 100 capturas sin caras Groucho nos escribe un mensaje en pantalla avisándonos de que se aburre. Si llegamos a las 200 capturas nos escribirá uno aún más imperioso. Por otra parte si detecta una captura, automaticamente nos pedirá con un mensaje por pantalla que nos quedemos porque quiere jugar con nosotros. Además si se producen las 100 capturas con 1 o más capturas con caras el mensaje será para que volvamos a jugar (“vuelve!”) en lugar de “ven a jugar!”, es decir, Groucho sabrá cuando hemos estado jugando hace poco y cuando no hemos jugado en ningún momento. El número de caputuras sin caras se pone a cero cada vez que detectamos alguna cara.

Además es necesaria una variable temporizadora en forma de una serie de capturas 5-7, durante las cuales el sistema no puede enviarnos mensajes sobre nuestra proximidad o lejanía, una vez que el robot ha detectado que hemos vuelto. Esto se ha hecho así porque ahora el sensor de proximidad se actualiza cada 5 capturas y usamos su misma ventana como ventana por la que Groucho nos hace llegar sus mensajes, dado que si no la pantalla se llenaría de ventanas innecesarias. Así pues, si hemos estado jugando y volvemos aparecerá el mensaje de “bien has vuelto!”, pero si eso se produce en la captura número 4 de 5, no se verá pues automáticamente pasaremos al siguiente mensaje de proximidad o lejanía. Para solucionarlo usamos una variable que valdrá 5 o 7 cuando hayamos vuelto y que se irá decrementando cada vez que capturemos una cara. Al llega a un valor negativo el sistema volverá a mostrarnos mensajes de proximidad o lejanía.

De esta forma con una serie de sencillas variables sobre las caputuras se puede implementar un sensor de proximidad bastante útil.

Actualmente estamos pensando en utilizar la cara robótica de Groucho, ayer instalada gracias a Carlos, para que ponga diferentes caras como de aburrimiento o tristeza o enfado si no vamos a jugar con Groucho, e incluso hemos pensado en introducir audio al sistema en forma de reproducción de mensajes mp3 cada vez que groucho detecte alguna cosa para hacer el sistema más realista.

Ya veremos como queda al final, saludos.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: