UDP
15 Noviembre 2023UDP es una aplicación para el envío de mensajes UDP a otros dispositivos. El objetivo detrás del desarrollo de esta aplicación es poder enviar mensajes de tipo UDP desde un celular Android a otros dispositivos conectados a la misma red local.
Motivación del proyecto
La aplicación nace de la necesidad de enviar comandos de operación a robots móviles que se conectan a redes WiFI. Los celulares cuentan con una gran capacidad de conexión y comunicación, lo que los hace ideales como medio para enviar estos comandos. La plataforma Android es la más utilizada, por lo que se tomó la decisión de desarrollar la aplicación para este sistema operativo.
Los robots con los que he trabajado necesitan ser operados manualmente: los comandos deben llegar lo más rápido posible a su destino. Para este caso de uso específico, la velocidad de los comandos es más importante que la calidad de servicio. En otras palabras, es más importante que el comando llegue rápido a que llegue con cambios o errores. Es responsabilidad del robot determinar si el comando que le llega es correcto y si debe ejecutarse.
Características
El prototipo inicial de la aplicación cumplía adecuadamente el objetivo buscado. La app contaba con una sencilla interfaz de usuario con botones similares a un Gamepad. Cada botón envía un comando de movimiento distinto al robot.
El menú de configuración del gamepad permite ajustar el comportamiento de cada botón: se puede cambiar el comando, la cantidad de veces que se envía y la frecuencia con la que se envía.
Con el avance del desarrollo de la app, se agregaron más formas de interacción: se agregó una vista tipo terminal en la se envía y se recibe texto.
Otra vista agregada es la de botones programables. Una lista vertical permite agregar botones que pueden ser configurados de forma similar a la de un gamepad. El usuario decide cuantos botones hay en la lista, el nombre del botón, el comando, su formato, la frecuencia con la que se envía el comando y la cantidad de veces que se envía dicho comando.
Finalmente, se agregó un vista con contenidos de ayuda. En esta se encuentran definiciones básicas de los conceptos usados en la comunicación con el protocolo UDP, los modos de visualización de la app, etc.
Personalización
Una característica estética de la app es que permite cambiar el color base del tema y activar el modo oscuro de forma independiente a la del sistema. Esto permite ajustar el aspecto de la app a los gustos del usuario y permite tener la app ejecutándose por largos periodos de tiempo con un bajo consumo de batería con pantallas tipo OLED.
Ejemplo de uso
La aplicación se usá habitualmente para el control manual de robots móviles en el laboratorio LabFabEx en la Universidad Nacional de Colombia. En el siguiente video puede observarse una prueba de teleoperación manual del robot SDV4 con esta app y el modo gamepad.
Este otro video contiene una prueba de teleoperación con un robot virtual de ROS (TurtleSim). Muestra detalladamente como se configura la app, como se prueba si la app envía mensajes al computador destino y una prueba de movimiento.
Consigue la app
Esta aplicación es gratuita y puede descargarse desde la PlayStore.