[en] 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.

[es] 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.