Definición de una arquitectura móvil integrando robots Mindstorms EV3 (2018)
Este proyecto surge con la motivación de servir de base para desarrollos en los que se quiera hacer uso de aplicaciones móviles junto con robots de la familia Lego Mindstorms EV3. El problema que se resolvió fue la definición e implementación de los distintos componentes necesarios para desarrollar una arquitectura de software que permita que una aplicación móvil sea capaz de enviar distintos comandos a un robot Lego EV3, al igual que recibir retroalimentación del mismo acerca de su estado. La arquitectura propuesta tiene tres componentes: El robot que se compone de dos partes: La primera es el robot físico, el cual ejecuta las instrucciones recibidas y envía información captada por sus sensores. La segunda es la representación abstracta del robot, que permite la comunicación con el mismo. (presente en el servidor intermedio) La componente servidor intermedio sirve de puente de comunicación entre la aplicación móvil y el robot físico. Por un lado, el servidor intermedio se comunica con la aplicación móvil mediante peticiones HTTP y por el otro, se comunica con el robot mediante una conexión bluetooth. La componente aplicación móvil ejerce el rol de control remoto del robot al conectarse con el servidor intermedio. Para lo cual ofrece una interfaz gráfica al usuario con las opciones de movimientos (adelante, atrás, giro a la izquierda, giro a la derecha) del robot. Además, puede pedir información acerca de lo captado por su sensor infrarrojo. Esta interfaz también incluye una vista de una cámara IP permitiéndole al usuario visualizar el ambiente donde se mueve el robot. Como resultado final se logró un sistema funcional que fue implementado bajo la arquitectura de software propuesta. Se realizaron pruebas de este sistema usando el ambiente de simulación de la plataforma Android Studio con el robot físico Lego Mindstorms EV3 y en el laboratorio haciendo uso de una cámara IP