⌂ | Introducción | Panorama general | Logística | Desarrollo del producto | Manual de usuario | Resultados |
- Manual de usuario
Manual de usuario¶
Este robot ha sido creado para satisfacer la necesidad de controlar operativamente, a través de una interfaz, con el fin de desplazarse y recoger una pelota de ping-pong, utilizando el lenguaje de programación Python. Por consiguiente, puede llevarse a cabo en cualquier dispositivo que cuente con este lenguaje de programación.
Es relevante destacar que, en esta arquitectura, Hardware, se empleó el set de educación LEGO Mindstorms Ev3, ya que esta tecnología ofrece una notable facilidad de implementación y adaptabilidad a cualquier meta planteada.
Este Software cuenta con un diseño destinado a alcanzar los objetivos establecidos por el curso, Proyecto 1, que se realiza para la evaluación a medio término de la carrera de Ingeniería Civil en Computación e Informática.
Concepto de los roles y operaciones¶
Descripción de los roles¶
- Jefe de proyecto: Representante del equipo, supervisa y organiza el progreso del proyecto.
- Ensamblador: Encargado del montaje y el armado de las piezas, monitorea el cumplimiento de las funcionalidades del robot, en conjunto con el * programador.
- Programador: Encargado del área de la codificación y funcionamiento del robot, en colaboración del ensamblador.
- Documentador: Encargado de registrar el avance del proyecto, junto con la redacción de los informes.
- Diseñador: Encargado de la creación del logotipo y la estética del proyecto.
Descripción de las operaciones¶
- Montaje del Robot: El ensamblador reúne y ensambla las piezas físicas del robot siguiendo las especificaciones técnicas. Durante este proceso, se realizan pruebas preliminares para verificar la estabilidad estructural y funcionalidad básica.
- Programación: El programador desarrolla el software del robot, asegurando que cada componente tenga el comportamiento deseado. Incluye la escritura de código, pruebas de funcionalidad y corrección de errores en colaboración con el ensamblador.
- Diseño Estético y Presentación: El diseñador crea la identidad visual del proyecto, incluyendo el logotipo y los elementos gráficos de los informes. Además, se encarga de la presentación final del robot para asegurar un diseño coherente y profesional.
- Documentación: El documentador registra cada etapa del proyecto, elaborando reportes sobre el progreso, los desafíos enfrentados y las soluciones implementadas. Este registro sirve como guía para el equipo y como evidencia del trabajo realizado.
- Supervisión y Control: El jefe de proyecto coordina las operaciones, asegurando que cada etapa se complete según lo planeado. Además, organiza reuniones periódicas para evaluar el progreso y realizar ajustes necesarios.
Requerimientos¶
Sistema Operativo (PC Host)¶
El sistema operativo debe ser compatible con Python y conexión Wi-Fi:
*Windows 10/11
*Linux (Ubuntu/Debian, preferiblemente con buen soporte para redes)
*macOS
Software Necesario en la PC Host¶
- Python: Python 3.7 o superior (ya incluye Tkinter).
- Conexión por SSH (Wi-Fi): Para comunicación con EV3, usar SSH.
Si usas Windows: Asegúrate de tener habilitado OpenSSH (viene en Windows 10/11). Alternativamente, puedes usar una herramienta como PuTTY, pero no es estrictamente necesario. En Linux y macOS, el cliente SSH ya está integrado.
*ev3dev2 (si usas EV3): Esto se ejecuta en el ladrillo, pero el script de Python en tu PC puede controlarlo por Wi-Fi. Si necesitas, instalar ev3dev2 en el entorno de Python local (por seguridad).
Configuración en el Ladrillo LEGO¶
- Wi-Fi en EV3: Activa el Wi-Fi en el ladrillo LEGO y conéctalo a la misma red Wi-Fi que tu PC.
Debes obtener la dirección IP del ladrillo. Aparecerá en la configuración de red del ladrillo.
Requerimientos de Hardware¶
PC Host:- Procesador: Doble núcleo o superior.
- RAM: 2 GB mínimo.
- Tarjeta de red Wi-Fi compatible.
Conexión Wi-Fi: - El ladrillo y la PC deben estar en la misma red local (LAN).
- Velocidad mínima: 2 Mbps es suficiente, ya que el control remoto no necesita mucho ancho de banda.
Procedimientos¶
Instalación¶
Obtención del software¶
- Asegúrate de tener instalado Python 3 en tu computadora. Si no lo tienes, descárgalo desde python.org y sigue las instrucciones de instalación para tu sistema operativo.
- Instala la dependencia necesaria para la interacción con el EV3 ejecutando el siguiente comando en tu terminal:
“pip install python-ev3dev2”
- Asegúrate de que el ladrillo EV3 esté configurado correctamente: Conéctalo a tu computadora mediante USB, Wi-Fi o Bluetooth. Verifica que esté encendido y configurado para aceptar conexiones SSH.
Uso del software¶
Ejecución del código¶
- Iniciar el servidor en el ladrillo EV3: Asegúrate de que el ladrillo EV3 esté encendido y conectado a la misma red que tu computadora (por USB, Wi-Fi o Bluetooth).
- Abre un terminal en tu computadora y conéctate al ladrillo EV3 mediante SSH:
“ssh robot@<dirección_IP_del_EV3>”
(La contraseña predeterminada es maker).
- Navega al directorio donde se encuentra el archivo server.py. Por ejemplo:
“cd robot/my_proyect/”
- Ejecuta el servidor con el siguiente comando:
“python3 server.py”
- Iniciar el cliente en la computadora: Abre un terminal o tu editor de código en la computadora. Navega al directorio donde se encuentra el archivo del cliente que incluye la interfaz gráfica. Ejecuta el cliente con:
“python3 Cliente.py”
- Interacción con el robot: Utiliza la interfaz gráfica proporcionada por el cliente para enviar comandos al servidor en el ladrillo EV3. A través de esta interfaz, podrás controlar movimientos, leer datos de sensores o realizar las funciones específicas del proyecto.
- Finalización: Importante, Al cerrar la ventana de la interfaz gráfica, el código del cliente finaliza y automáticamente detiene el servidor en el ladrillo EV3. No es necesario detener el servidor manualmente.
Verifica que el ladrillo EV3 haya dejado de ejecutar cualquier proceso relacionado.
Interfaz Gráfica¶
Botones:¶
Número
Función
1) Sube la garra hasta la posición predeterminada
2) Baja la garra hasta la posición 0
3) Cierra la garra
4) Abre la garra
5) Gira el robot hacia la derecha, hasta que suelte el botón
6) Gira el robot hacia la izquierda, hasta que suelte el botón
7) Hace que avance el robot, hasta que suelte el botón
8) Hace que retroceda el robot, hasta que suelte el botón
9) Realiza la conexión y desconexión del robot
Barra Superior:¶
ModoDespliega un menú de modos en el cual está:
- Botones: Se utilizan los botones de la interfaz gráfica para realizar los movimientos de la garra.
- Mouse: Se Modifica la interfaz para que se pueda utilizar el mouse para el movimiento de la garra, hay dos métodos:
- Mantener: Con el click izquierdo se cierra la garra, y cuando se suelta el click se abre la garra.
- Botones: Con el click derecho se cierra la garra y cuando se suelta el click se abre la garra.
Ayuda
Despliega un menú de Ayuda en el cual están la opciones: - Acerca de: Dirige hacia la wiki de nuestro proyecto
- Manual de usuario: Abre el manual de usuario.
Servidor EV3¶
El servidor EV3 es un sistema de comunicación y control que permite la interacción y programación de robots basados en la plataforma LEGO Mindstorms EV3. Este servidor facilita la conexión entre una computadora, tablet o dispositivo móvil y el robot EV3, permitiendo a los usuarios programar, enviar comandos y monitorear el funcionamiento del robot de manera remota.
¿Para qué sirve el servidor EV3?
El servidor EV3 permite realizar diversas funciones y tareas, como:
1. Programación y Control Remoto: Facilita la creación, modificación y ejecución de programas en el robot EV3 desde un dispositivo externo, como una computadora o tablet. Esto es útil para usuarios que desean desarrollar proyectos complejos y realizar ajustes sin conectar físicamente el robot.
2. Monitoreo en Tiempo Real: Permite recibir datos en tiempo real sobre el estado del robot, como lecturas de sensores y el estado de los motores, lo que ayuda en la detección de errores y el ajuste fino de la programación.
3. Conexión entre Dispositivos: El servidor actúa como un puente para conectar múltiples dispositivos al robot EV3, lo que permite a varios usuarios colaborar o controlar el robot de manera coordinada.
Características principales- Compatibilidad multiplataforma: Soporta conexiones con dispositivos móviles y computadoras, adaptándose a distintas necesidades y escenarios de uso.
- Personalización de Programas: Los usuarios pueden diseñar y enviar sus propios programas al EV3, ampliando la versatilidad y las posibilidades de automatización del robot.
- Facilidad de conexión: Ofrece métodos de conexión vía Bluetooth, Wi-Fi o USB, según las opciones disponibles y las necesidades del usuario.
Ejemplo de Uso
Imagina un proyecto en el que se quiere que el robot EV3 siga una línea y recoja objetos. Con el servidor EV3, los usuarios pueden programar estos movimientos en una computadora y observar en tiempo real cómo el robot responde a los comandos, ajustando parámetros como la velocidad o la precisión en la detección de objetos.
En resumen, el servidor EV3 es una herramienta esencial para aquellos que buscan aprovechar al máximo las capacidades de LEGO Mindstorms EV3, facilitando la programación avanzada, la conectividad y el monitoreo del robot para proyectos educativos o experimentales.
Mensaje de error y resolución de problemas¶
Error en el Sensor o Motor no Detectado¶
Mensaje de error: Sensor no detectado o Motor no detectadoPosibles causas:
- El sensor o motor no está conectado correctamente al puerto designado.
- El sensor o motor puede estar dañado o no compatible.
- Conexiones sueltas o cables defectuosos.
Soluciones: - Revisar la conexión: Asegúrate de que los cables están bien conectados y en los puertos adecuados. Por ejemplo, verifica que los sensores estén en los puertos 1-4 y los motores en los puertos A-D.
- Probar con otro cable o puerto: Cambia el sensor o motor a otro puerto para verificar si el problema está en el puerto específico.
- Actualizar el firmware: Algunos problemas de compatibilidad pueden resolverse al actualizar el firmware del EV3.
Error de Software¶
Mensaje de error: Software no compatible o Error de actualización de SoftwarePosibles causas:
- Versión antigua o dañada del firmware.
- Interrupción durante la actualización del firmware.
Soluciones: - Actualizar el Software: Conecta el EV3 a una computadora y utiliza el software de LEGO Mindstorms EV3 para reinstalar o actualizar el Software a la última versión.
- Restablecer el EV3: Si la actualización falla, realiza un restablecimiento del dispositivo quitando y volviendo a colocar la batería, o manteniendo presionado el botón de encendido durante unos segundos.
Error de Memoria Baja¶
Mensaje de error: Memoria baja o Espacio de almacenamiento insuficientePosibles causas:
- Demasiados programas y archivos guardados en la memoria interna del EV3.
- Archivos grandes que ocupan mucho espacio.
Soluciones: - Eliminar programas innecesarios: Borra programas o archivos que no estés usando para liberar espacio.
- Usar almacenamiento externo: Si necesitas almacenar muchos archivos, considera transferir los datos a una computadora y mantener solo los programas esenciales en el EV3.
Error de Conexión Bluetooth o Wi-Fi¶
Mensaje de error: Conexión fallida o No se puede conectar al dispositivoPosibles causas:
- El dispositivo Bluetooth o Wi-Fi no está correctamente configurado o está fuera de rango.
- Interferencias o conflictos con otros dispositivos conectados.
Soluciones: - Verificar la distancia: Mantén el EV3 dentro de un rango adecuado del dispositivo al que deseas conectarlo.
- Eliminar otros dispositivos conectados: Apaga otros dispositivos Bluetooth que puedan estar causando interferencia.
- Reiniciar la conexión: Desactiva y vuelve a activar Bluetooth o Wi-Fi en el EV3 y en el dispositivo que estás intentando conectar. También puedes eliminar el dispositivo de la lista y emparejarlo nuevamente.
Error en la Batería o Energía Insuficiente¶
Mensaje de error: Batería baja o Energía insuficiente para ejecutar el programaPosibles causas:
- Batería descargada o con fallos.
- Problemas con la carga o desgaste de la batería.
- Cargar la batería completamente: Conecta el EV3 al cargador y asegúrate de que la batería esté completamente cargada antes de intentar ejecutar programas.
- Reemplazar la batería: Si la batería ya no mantiene carga, considera sustituirla por una nueva.
- Utilizar baterías de alta duración: Si utilizas baterías AA, asegúrate de que sean de buena calidad y estén completamente cargadas.
Error de Sobrecalentamiento¶
Mensaje de error: El motor se ha sobrecalentado o Sobrecalentamiento detectadoPosibles causas:
- Uso continuo e intensivo de los motores, generando calor excesivo.
- Bloqueo físico del motor que fuerza el sistema.
Soluciones: - Apagar el robot y dejarlo enfriar: Apaga el EV3 y espera unos minutos para que los motores se enfríen.
- Revisar el entorno y los objetos cercanos: Asegúrate de que no haya obstrucciones o elementos que bloqueen el movimiento del motor.
Error de Programa Incompatible¶
Mensaje de error: Programa incompatible o Error en la ejecución del programaPosibles causas:
- El programa utiliza funciones o bloques no compatibles con la versión de firmware.
- Configuraciones incorrectas en el programa.
Soluciones: - Actualizar el software y el firmware: Asegúrate de que tanto el software en la computadora como el firmware en el EV3 estén actualizados.
- Revisar el programa: Modifica el programa para que esté acorde a la configuración actual y utiliza bloques compatibles con la versión de firmware del robot.
Errores¶
1. Se congela el robot?
Posibles causas:- Programas demasiado complejos o sobrecarga de tareas.
- Problemas de firmware o software desactualizado.
- Fallos en el hardware, como el motor o los sensores.
Posibles causas:
- Uso intensivo de motores y sensores.
- Batería en mal estado o desgaste natural de la misma.
- Conexión Bluetooth o Wi-Fi activa todo el tiempo.
Posibles causas:
- Señal Bluetooth o Wi-Fi inestable.
- Interferencias en la conexión (otros dispositivos cercanos).
- Configuración de energía que apaga la conexión después de un tiempo sin actividad.
Posibles causas:
- Conexión Wi-Fi con IP dinámica.
- Router que asigna diferentes IP cada vez que el robot se conecta.
Soluciones¶
1.- Se congela el robot?Soluciones:
- Reducir la complejidad del programa: Simplifica el programa y evita que el robot ejecute demasiadas tareas simultáneamente, lo cual puede reducir la posibilidad de que se congele.
- Actualizar el firmware: Conecta el robot EV3 a la computadora y usa el software oficial de LEGO Mindstorms para verificar si hay una actualización de firmware disponible, ya que las actualizaciones pueden resolver problemas de rendimiento.
- Reiniciar el dispositivo: Apaga el EV3 completamente y vuelve a encenderlo. Si sigue congelado, realiza un reinicio forzado quitando y volviendo a colocar la batería.
- Verificar el hardware: Revisa los sensores y motores; desconéctalos y vuelve a conectarlos, ya que algún componente defectuoso puede estar causando el problema.
Soluciones:
- Optimizar el uso de motores y sensores: Ajusta el programa para que los motores y sensores se usen solo cuando sea necesario, ya que su uso constante consume mucha energía.
- Desactivar la conexión Bluetooth/Wi-Fi: Apaga el Bluetooth o Wi-Fi cuando no necesites conexión remota, ya que estas funciones consumen batería constantemente.
- Reemplazar la batería: Si el robot tiene una batería antigua o en mal estado, cámbiala por una nueva o utiliza baterías AA de alta duración.
- Ajustar la configuración de ahorro de energía: Configura el robot para que entre en modo de suspensión cuando no esté en uso, lo cual ayudará a conservar batería.
Soluciones:
- Mantener el robot cerca del dispositivo: Si estás usando Bluetooth, coloca el robot cerca de la computadora o dispositivo móvil y evita obstáculos que puedan interferir con la señal.
- Evitar interferencias: Apaga otros dispositivos Bluetooth cercanos que puedan interferir con la conexión del EV3.
- Desactivar el ahorro de energía para la conexión: En la configuración del EV3, desactiva opciones de ahorro de energía que puedan estar apagando Bluetooth o Wi-Fi tras un período de inactividad.
- Actualizar el firmware: Algunos problemas de desconexión pueden solucionarse al actualizar el firmware del EV3.
Soluciones:
- Configurar una IP estática en el robot: En la configuración de red del EV3, asigna una IP estática para que el robot siempre use la misma dirección IP en lugar de recibir una nueva cada vez que se conecta.
- Reservar una IP en el router: Configura el router para que asigne siempre la misma dirección IP al EV3. Esto se hace reservando la IP específica para la dirección MAC del robot.
- Usar conexión por USB para mayor estabilidad: Si no es indispensable el uso de Wi-Fi, conecta el robot a la computadora mediante un cable USB, lo cual evitará el cambio constante de IP y proporcionará una conexión más estable.