Desarrollo en ROS de planificadores de comportamiento para un vehículo autónomo a escala
Authors
Perucha Martínez-Atienza, AlonsoDirector
Hernández Parra, NoeliaDate
2022Degree
Grado en Ingeniería en Electrónica y Automática Industrial
Keywords
ROS
Python
Visión artificial
Detección de líneas de carretera
Vehículos autónomos
Artificial vision
Lane lines detection
Autonomous vehicles
Document type
info:eu-repo/semantics/bachelorThesis
Version
info:eu-repo/semantics/acceptedVersion
Rights
Attribution-NonCommercial-NoDerivatives 4.0 Internacional
Access rights
info:eu-repo/semantics/openAccess
Abstract
Para el desempeño de este trabajo de fin de grado se ha llevado acabo el análisis, desarrollo e
implementación de algoritmos de planificación del comportamiento en un coche autónomo a escala,
programados en python e implementados a través del sistema operativo para robots ROS. El objetivo
ha consistido en el correcto control de trayectorias del coche en tiempo real, donde éste pudiese
recorrer el carril de un circuito de manera autónoma.
El coche elegido para desarrollar estas funciones viene equipado con varios sensores a los cuales
se puede acceder de manera remota a través de ROS. Las señales producidas por estos sensores
pueden ser interpretadas y procesadas con el fin de crear una respuesta que se pueda acabar viendo
materializada o ejecutada por el coche. Los sensores de los cuales dispone el coche consisten en un
LIDAR para poder determinar distancias a objetos o superficies y una cámara para poder trabajar
con visión artificial. Además, el coche viene con un motor de corriente continua que actuando sobre
las ruedas traseras se encarga del movimiento longitudinal y un servomotor que actúa en las ruedas
delanteras para efectuar los giros. Todos estos dispositivos se controlan mediante una RaspberryPi4 la
cual es la encargada de procesar el sistema operativo ROS. Todos los algoritmos y comportamientos
del coche son implementados desde un ordenador portátil, el cual trabaja con la información que
recibe del coche para procesarla y posteriormente mandar una respuesta de vuelta.
Los objetivos se han logrado implementando técnicas de visión artificial clásicas, desarrolladas
con la librería OpenCV, la cual ofrece un gran abanico de posibilidades, e implementadas mediante
código de Python. Se ha procesado la imagen en tiempo real, detectado las lineas del carril y calculado
una dirección a seguir por el coche de manera que se mantuviese dentro de la vía del circuito. El
programa de Python se procesa dentro de un nodo previamente creado en ROS, de tal manera que
se pueda comunicar con el resto de nodos del sistema. For the development of this final degree project, the analysis, development and implementation of
behavioral planning algorithms have been carried out in a scale autonous car programmed in python
and implemented through the robot operating system ROS. The goal of the project has consisted in
the correct control of the trajectories of the car in real time, where the vehicle traveled the lane of a
circuit autonomously.
The chosen car to develop these functions is equipped with several sensors to which can be
accessed remotely via ROS. The signals produced by these sensors can be interpreted and processed
in orden to create a response that can end up being seen materialized or executed by the car. The
sensors of the car consist of a LIDAR to be able to determine distances to objects or surfaces and a
camera to be able to work with artificial vision. In addition, the car comes with a DC motor that,
acting on the rear wheels, is responsible for the longitudinal movement and a servomotor that acts
on the front wheels to make the turns. All these devices are controlled by a RaspberryPi4 which is
in charge of processing the operating system ROS. All the algorithms and behaviors of the car are
implemented from a laptop which works with the information it receives from the car, process it and
send a response back.
The objectives have been achieved by implementing classic machine vision techniques, developed
with the OpenCV library, which offers a wide range of possibilities, and implemented using python.
The image has been processed in real time, detecting the lane lines and calculating the direction for
the car to follow so that it stays within the track of the circuit. The python program is processed
inside a node previously created in ROS, in such a way that it can communicate with the rest of the
nodes in the system.
Files in this item
| Files | Size | Format |
|
|---|---|---|---|
| TFG_Perucha_Martinez_Atienza_2 ... | 11.97Mb |
|
| Files | Size | Format |
|
|---|---|---|---|
| TFG_Perucha_Martinez_Atienza_2 ... | 11.97Mb |
|
Collections
- Trabajos Fin de Grado (TFG) [1956]















