Aplicación desarrollada en kotlin para el control de un balancing robot
Esta aplicación está diseñada para controlar un balancing robot, un tipo de robot que utiliza algoritmos de control para mantenerse equilibrado en posición vertical. Esta aplicación te permite interactuar con el robot de una manera intuitiva y eficiente.
-
Transmisión en Vivo: Disfruta de una transmisión en vivo desde un servidor HTTP (WIP) a través de la conexión WiFi a una Raspberry Pi. Mantente al tanto de lo que está viendo el robot en tiempo real.
-
Análisis de Performance: Observa un gráfico en tiempo real que muestra múltiples parámetros clave, lo que te permite analizar la performance del sistema de control PID de manera fácil y precisa.
-
Configuración Personalizada: Ajusta diferentes variables del robot según tus necesidades específicas, incluyendo configuraciones de PID, límites de seguridad y ángulo del centro de gravedad.
-
Control del robot mediante joystick: Permite la posibilidad de controlar la dirección del robot mediante un joystick analógico.
Esta aplicación está desarrollada en Kotlin utilizando Android Studio, al ser una aplicación nativa con el soporte de google, garantiza un rendimiento óptimo y una experiencia de desarrollo sólida.
El protocolo de comunicación utilizado en esta aplicación es Bluetooth Standard, no Bluetooth de Baja Energía (BLE). Esto significa que es compatible solo con los dispositivos ESP32 que admiten Bluetooth estándar(No ESP32s3!).
- Dispositivo Android compatible
- ESP32 con el firmware para el balancing robot cargado, que puedes encontrar aqui
- No es necesario tener conectada la app con wifi a una raspberry pi para poder utilizarla!
- Clona este repositorio en tu máquina local.
- Abre el proyecto en Android Studio.
- Conecta tu dispositivo Android al ordenador.
- Compila y ejecuta la aplicación en tu dispositivo Android.
App inicial, solicitud de permiso bluetooth
Lista de devices bluetooth disponibles
Grafico para el analisis del sistema de control PID
¡Toda colaboración es bienvenida! Si tienes ideas para mejorar esta aplicación, has encontrado algún error o simplemente quieres contribuir al proyecto, aquí hay algunas formas en las que puedes hacerlo:
-
Envía un Pull Request: Si tienes cambios que te gustaría agregar al proyecto, no dudes en enviar un pull request. ¡Estaremos encantados de revisarlo y fusionarlo si es apropiado!
-
Hacer un Fork: Si prefieres trabajar en tu propio espacio de desarrollo, puedes hacer un fork de este repositorio y trabajar en tus propias modificaciones. ¡No dudes en compartir tu trabajo con la comunidad!
-
Abrir un Issue: Si encuentras algún problema o tienes alguna idea para mejorar la aplicación, no dudes en abrir un issue en el repositorio. Estaremos encantados de escuchar tus comentarios y ayudarte a resolver cualquier problema que encuentres.
Especial agradecimiento a los creadores de las siguientes dependencias que fueron utilizadas en este proyecto:
-
Joystick: Agradecimientos al equipo de desarrollo de
io.github.controlwear
por su biblioteca de joystick virtual, que proporciona una interfaz intuitiva para el control del robot. -
Plotter: Un agradecimiento especial a
com.github.PhilJay
por su biblioteca MPAndroidChart, que facilita la visualización de datos en forma de gráficos en la aplicación.
Para cualquier consulta o sugerencia, no dudes en contactarnos a través de correo electrónico o en nuestra página de GitHub.
Este proyecto está bajo la Licencia Pública General de GNU versión 3 (GPLv3). Esto significa que cualquier persona que modifique o distribuya este software debe hacerlo bajo los términos de la GPLv3, lo que garantiza que las versiones modificadas también sean de código abierto.
Puedes ver los detalles completos de la licencia en el archivo LICENSE.