El objetivo de este proyecto consiste en establecer una conexión directa mediante
p2p (peer to peer) entre un usuario usando una aplicación web y un robot gobernado
por una arquitectura robótica basada en el framework ROS, con el fin de realizar un
"streaming" de audio y vídeo, así como intercambiar datos.
El establecimiento de la comunicación se basa en la tecnología WebRTC,
desarrollada por Google en colaboración con Mozilla y Opera.
La aplicación web cuenta con un servidor Django, que gestiona las diferentes
funcionalidades de ésta, así como el acceso de los usuarios y la comunicación inicial
con el robot remoto. Dicha comunicación inicial es posible gracias al uso de
webSockets, que permiten el intercambio de mensajes entre aquellos usuarios o
dispositivos que se encuentren en una misma "room". El chat integrado en la web se
nutre de este sistema de igual forma.
El ecosistema ROS del robot gestiona diversos nodos, que se encargan de establecer
la comunicación con el usuario remoto, gestionar los recursos multimedia locales y
remotos, así como del control del hardware del robot.
Por tanto, el usuario podrá controlar el respectivo robot de forma remota, visualizando
lo que ve el robot y recibiendo la información que proporcionan sus sensores, con el
único requisito de que tanto el usuario como el robot dispongan de conexión a internet,
sin importar la ubicación de cada uno de ellos.