miércoles, 5 de octubre de 2011

Se me han puesto los pelos de punta! Android y q.bo juntos!


¿Que pasaría si pudieras ir a la oficina sin dejar físicamente tu casa o vice versa?
Imagina poder conectarte desde cualquier parte del mundo a tu robot QBO dondequiera que se encuentre: tu casa, tu oficina, un museo, o cualquier otro sitio. A través de tu móvil Android podrás oir lo que él oye, ver lo que él ve, y lo que es mejor, podrás moverlo en el entorno, hablar a través de él, comunicarte e incluso expresar emociones a través de sus leds.
Para hacerlo realidad están desarrollando una aplicación móvil para dispositivos Android. Para la comunicación Móvil-Robot deberás previamente haberte identificado como el dueño del robot, evitando así posibles intromisiones. Una vez autenticado serás capaz de oír, hablar y ver a través de los dispositivos del robot.

Si lo prefieres, puedes usar unas simples gafas 3D con cristales rojos y azules para ver las imágenes previamente procesadas por el robot. Así verás el anaglifo 3D resultado de la visión estereoscópica. Tambien puedes ver las imagenes fruto del processado del reconocimiento de caras y objetos.
Además la aplicación Android dispone de dos joystick, uno para la cabeza, y otro para el cuerpo, permitiendo así el libre movimiento de tu Qbo en el entorno en que se encuentre.
Otras opciones  finalizadas son:
-  Conseguir que Qbo exprese los sentimientos que elijas en tu terminal, mediante diferentes gestos de su cara (alegre, triste, decepción, etc ).
- Conseguir que Qbo hable, bien a través del Speech Recognition de Google o directamente a través del micrófono de tu móvil.
- Seleccionar en tu pantalla una región de la imagen recibida, y hacer que el robot siga a cierta persona. Si por ejemplo te conectas a tu casa y tu hijo quiere enseñarnte algo, bastará con que marques en tu móvil el contorno de tu hijo. Qbo se dispondrá a seguirlo sin que tengas que manejarlo mediante Joystick. También podrás hacer lo mismo si el robot se encuentra a tu lado.
¿Cómo funciona el sistema?
Internamente Qbo actúa como un servidor al que se ataca mediante un protocolo REST, y que maneja información en JSON. El sistema ofrece un API que facilita la interacción, por ejemplo, para mover la cabeza a una posición determinada. Para ello se crea un JSON con las coordenadas y se envía en una petición HTTP a la dirección apropiada, por ejemplo, http://192.168.4.6:8880/control/qbo_arduqbo/headServos. Internamente Qbo se encarga del resto, lanzando los nodos de ROS que sean necesarios en ese momento.
La conexión de audio con el robot se hace a través del protocolo SIP(Session Initiation Protocol). Para hacer un sistema independiente se ha instalado un servidor de Asterisk y un servidor de SIP  en Qbo. Esto permite que la conexión con el robot sea directa. Para poder usar esta funcionalidad, es necesario instalar a parte un cliente SIP para aceptar las llamadas y transmitir audio.
Este sistema nos permitirá hacer llamadas al Robot independientemente de la plataforma, ya que existen aplicaciones para ello en todos los sistemas(MacOSX, Windows, Linux, Android, IOS…).
En próximos post iremos explicando nuevas funcionalidades para la aplicación ANDROID para QBO.



Qbo Robot - Blog

1 comentario: