Control De Un Robot Usando Raspberry Pi Y Planificación Automática
Total Page:16
File Type:pdf, Size:1020Kb
Grado Universitario en Ingeniería Informática 2017-2018 Trabajo Fin de Grado Control de un robot usando Raspberry Pi y Planificación Automática Alba Gragera Álvarez Tutor: Ángel García Olaya Octubre 2018, Leganés [Incluir en el caso del interés de su publicación en el archivo abierto] Esta obra se encuentra sujeta a la licencia Creative Commons Reconocimiento – No Comercial – Sin Obra Derivada Trabajo Fin de Grado _____________________________________________________________________________________ pág. 2 Trabajo Fin de Grado _____________________________________________________________________________________ RESUMEN La presente memoria corresponde al desarrollo del control de un robot utilizando Raspberry Pi y planificación automática mediante las herramientas ROS y PELEA. La primera es un framework para el desarrollo de software destinado a robots, que facilita el proceso proporcionando un conjunto de librerías y estructuras que se detallarán en el documento. La segunda, PELEA, es un software creado para la integración de planificación automática en robots que permite monitorizar la ejecución y conocer información acerca del estado del mundo. A partir de esta idea se presentan en primer lugar la situación actual y el ámbito histórico de herramientas y sistemas como los robots, la Planificación Automática y las placas Raspberry Pi y Arduino, tecnologías que forman parte de la estructura del trabajo. Dentro de esta revisión se identificarán también las debilidades y fortalezas presentes en estos campos y se realizarán comparaciones entre distintos métodos de implementación o herramientas con similar funcionamiento, justificando el porqué de la elección final. De esta forma se llegará a la definición de los objetivos y el alcance del proyecto, donde se fijarán las metas a alcanzar. En el ámbito socio-económico se destaca el auge que está teniendo la robótica en nuestros tiempos y el gran desarrollo que aún se espera en este campo para el futuro, pese a que aún existen barreras a superar. Posteriormente y en función de los datos detallados se describe la solución adoptada para la implementación del sistema, mediante la especificación de los distintos casos de uso y los requisitos a tener en cuenta para su construcción. Una vez realizado, el funcionamiento del sistema será verificado por una serie de pruebas cuyos resultados serán estudiados, proponiendo mejoras adicionales en la sección de trabajos futuros. Finalmente se comentan las conclusiones obtenidas tras la realización del proyecto, así como información relativa a la planificación del mismo y los costes que ha supuesto su desarrollo. Palabras clave: Cliente; Servidor; Planificación Automática; ROS; PELEA. pág. 3 Trabajo Fin de Grado _____________________________________________________________________________________ pág. 4 Trabajo Fin de Grado _____________________________________________________________________________________ AGRADECIMIENTOS En primer lugar, agradecer a la Universidad Carlos III de Madrid y a todo su profesorado la formación recibida por su parte durante estos años, permitiéndome llegar hasta este punto. Especialmente gracias a Ángel García Olaya, tutor de este Trabajo Fin de Grado, por ejercer de guía del mismo durante el desarrollo y por su continua disponibilidad y apoyo prestado. Quiero dar las gracias también a mis padres por su preocupación y sus ánimos, a mi hermana por su paciencia, por cada rato que este trabajo me ha robado de jugar con ella, y a Ernesto, por sus consejos y por sufrirme todo este tiempo. Y por su supuesto, gracias a todos los compañeros y amigos que han hecho que haya merecido la pena pasar por este camino. pág. 5 Trabajo Fin de Grado _____________________________________________________________________________________ ÍNDICE DE CONTENIDO 1. INTRODUCCIÓN ................................................................................................................... 12 1.1. Motivación .................................................................................................................. 13 1.2. Estructura del documento ............................................................................................ 13 2. ESTADO DEL ARTE ................................................................................................................ 15 2.1. Robótica ...................................................................................................................... 15 2.2. Planificación automática ............................................................................................. 20 2.3. Arduino y Raspberry ................................................................................................... 21 2.6. Trabajos similares ....................................................................................................... 26 3. OBJETIVOS Y ALCANCE ........................................................................................................ 29 4. MATERIALES Y MÉTODOS .................................................................................................... 31 4.1. Elección de las herramientas ....................................................................................... 31 4.2. PELEA ........................................................................................................................ 31 4.3. Rosjava ........................................................................................................................ 32 4.4. Raspberry .................................................................................................................... 32 4.5. El robot ........................................................................................................................ 33 4.6. Eclipse ......................................................................................................................... 34 4.7. Alternativas de diseño ................................................................................................. 36 5. ENTORNO SOCIO-ECONÓMICO ........................................................................................... 37 5.1. Marco regulador .......................................................................................................... 39 6. DISEÑO E IMPLEMENTACIÓN .............................................................................................. 40 6.1. Casos de uso ................................................................................................................ 40 6.2. Requisitos .................................................................................................................... 45 6.2.1. Requisitos funcionales ......................................................................................... 46 6.2.2. Requisitos no funcionales .................................................................................... 51 6.3. Matriz de trazabilidad .................................................................................................. 54 6.4. Desarrollo .................................................................................................................... 55 6.4.1. Carga de PELEA ................................................................................................. 55 6.4.2. Configuración del entorno ................................................................................... 56 6.4.3. Estructura cliente-servidor .................................................................................. 56 6.4.4. Integración en Eclipse ......................................................................................... 57 6.4.5. Interfaz de comunicación .................................................................................... 60 6.4.6. Creación del dominio y problemas ...................................................................... 63 6.4.8. Carga en Raspberry Pi ......................................................................................... 66 7. RESULTADOS ........................................................................................................................ 67 pág. 6 Trabajo Fin de Grado _____________________________________________________________________________________ 7.1. Pruebas unitarias ......................................................................................................... 68 7.2. Pruebas de sistema ...................................................................................................... 73 7.3. Matriz de trazabilidad .................................................................................................. 79 8. CONCLUSIONES ................................................................................................................... 80 8.1. Conclusiones generales ............................................................................................... 80 8.2. Conclusiones técnicas ................................................................................................. 80 8.3. Conclusiones personales ............................................................................................. 81 9. TRABAJOS FUTUROS ............................................................................................................ 83 10. PLANIFICACIÓN Y PRESUPUESTO ........................................................................................ 84 10.1. Planificación inicial ................................................................................................