dc.contributor.advisor | Vivas Venegas, Carlos | es |
dc.creator | Gallardo Gómez, Luis | es |
dc.date.accessioned | 2021-11-04T15:44:19Z | |
dc.date.available | 2021-11-04T15:44:19Z | |
dc.date.issued | 2021 | |
dc.identifier.citation | Gallardo Gómez, L. (2021). Aplicación de visión por computador y machine learning al guiado de un robot móvil basado en Raspberry Pi. (Trabajo Fin de Grado Inédito). Universidad de Sevilla, Sevilla. | |
dc.identifier.uri | https://hdl.handle.net/11441/127072 | |
dc.description.abstract | En este proyecto se propone el desarrollo de la maqueta de un vehículo con capacidad de guiado autónomo
basado exclusivamente en visión, y que emplea cierta señalización situada en el suelo para su orientación. En
concreto, el cerebro del vehículo será un Red Neuronal Convolucional (CNN) que es entrenada para seguir, a
partir de las imágenes capturadas por la cámara a bordo, un camino previamente marcado en suelo en forma de
una cuerda, cordón o cinta adhesiva.
Se ha construido un pequeño coche mediante impresión en 3D de piezas diseñadas para este trabajo. Se usa una
Raspberry Pi 4 como unidad de procesamiento y una cámara oficial de Raspberry Pi como medio de percepción.
La red neuronal ha sido desarrollada mediante Keras y entrenada y ejecutada a través de TensorFlow. El
entrenamiento de la red se realiza gracias a la herramienta proporcionada por Google denominada Google Colab
que da acceso a hardware, como GPUs, en la nube de forma gratuita.
La idea original del proyecto consistía en desarollar un vehículo completamente autónomo capaz de procesar
las imágenes a bordo del propio vehículo procesando las imágenes directamente en la Raspberry Pi (RP), pero
debido a problemas de software no se ha llegado a poder poner en práctica. Como solución complementaria se
implementa una comunicación PC-RP de manera que un PC en tierra realice este procesamiento de imágenes,
devolviendo al vehículo las instrucciones para su guiado. El precio a pagar en este caso es una tasa de muestreo
de imágenes inferior a la inicialmente deseada, que no ha supuesto sin embargo menoscabo en la capacidad de
guiado del vehículo.
La red ha sido entrenada mediante un dataset formado por 6370 imágenes clasificadas en cuatro clases diferentes,
5096 para el entrenamiento y 1274 para test. La precisión obtenida sobre el set de prueba completamente
desconocido para la red ha sido de un 92,86%. El principal problema en el entrenamiento de la red ha sido el
conseguir cierta homogeneidad en el porcentaje de acierto para todas las clases. Finalmente se consiguió
teniendo un 90% de precisión en la clase peor predicha.
El comportamiento final del coche se puede considerar satisfactorio ya que se cumple plenamente la idea
implementada siguiendo la línea sin problemas. Se considera que podría haber un salto de calidad importante en
términos de velocidad de respuesta si se consiguiera implementar la ejecución de la red directamente sobre la
RP. | es |
dc.description.abstract | This project proposes the development of a model of a vehicle with autonomous guidance capacity based
exclusively on vision, and that uses certain signs located on the ground for its orientation. Specifically, the brain
of the vehicle will be a Convolutional Neural Network (CNN) that is trained to follow, from the images captured
by the on-board camera, a path previously marked on the ground in the form of a rope or adhesive tape.
A small car has been built by 3D printing parts designed for this project. A Raspberry Pi 4 is used as a processing
unit and an official Raspberry Pi camera as a means of perception. The neural network has been developed using
Keras and trained and executed through TensorFlow. The training of the network is carried out thanks to the
tool provided by Google called Google Colab that gives access to hardware, such as GPUs, in the cloud for free.
The original idea of the project was to develop a completely autonomous vehicle capable of processing the
images on board the vehicle itself, processing the images directly on the Raspberry Pi (RP), but due to software
problems it has not been implemented. As a complementary solution, a PC-RP communication is implemented
so that a PC on the ground performs this image processing, returning the instructions for its guidance to the
vehicle. The price to pay in this case is an image sampling rate lower than the one initially desired, which has
not, however, impaired the vehicle's guiding capacity.
The network has been trained using a dataset made up of 6370 images classified in four different classes, 5096
for training and 1274 for testing. The precision obtained on the completely unknown test set for the network has
been 92.86%. The main problem in training the network has been to achieve a certain homogeneity in the
percentage of success for all classes. Finally, it was achieved by having a 90% precision in the worst predicted
class.
The final behavior of the car can be considered satisfactory since the idea implemented following the line without
problems is fully met. It is considered that there could be a significant quality jump in terms of response speed
if the network execution could be implemented directly on the RP. | es |
dc.format | application/pdf | es |
dc.language.iso | spa | es |
dc.rights | Attribution-NonCommercial-NoDerivatives 4.0 Internacional | * |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-nd/4.0/ | * |
dc.title | Aplicación de visión por computador y machine learning al guiado de un robot móvil basado en Raspberry Pi | es |
dc.type | info:eu-repo/semantics/bachelorThesis | es |
dc.type.version | info:eu-repo/semantics/publishedVersion | es |
dc.rights.accessRights | info:eu-repo/semantics/openAccess | es |
dc.contributor.affiliation | Universidad de Sevilla. Departamento de Ingeniería de Sistemas y Automática | es |
dc.description.degree | Universidad de Sevilla. Grado en Ingeniería de Tecnologías Industriales | es |
dc.publication.endPage | 91 p. | es |