Arquitectura software y de navegación para vehículo autónomo

  1. de Miguel Paraíso, Miguel Ángel
Dirigée par:
  1. José María Armingol Moreno Directeur/trice
  2. Fernando García Fenández Co-directeur/trice

Université de défendre: Universidad Carlos III de Madrid

Fecha de defensa: 20 mai 2022

Jury:
  1. Ignacio Parra Alonso President
  2. Carlos Guindel Gómez Secrétaire
  3. Noelia Hernández Parra Rapporteur

Type: Thèses

Résumé

Hoy en día, el transporte privado por carretera forma parte de nuestras vidas, siendo necesario por numerosas personas casi a diario, desde un uso por necesidad para desplazarse al lugar de trabajo o a adquirir bienes, hasta como una parte del ocio. En los últimos siglos, la industrialización y el aumento de los desplazamientos humanos han hecho que esta actividad se haya convertido en una de las que más crecimiento ha experimentado. Según avanza la sociedad, las necesidades de transporte van creciendo, siendo necesario alcanzar lugares más remotos y disminuir el tiempo que se requiere para llegar al destino deseado. Entre los problemas actuales más preocupantes de este crecimiento del transporte se encuentran: los accidentes de tráfico, los cuales son causa de en torno a 1.3 millones de muertes anuales y entre 20 y 50 millones que sufren daños permanentes y están causados en su mayoría por errores humanos (entre el 94% y el 96%). Otro gran problema es la contaminación, la cual, además de acelerar el calentamiento global, es perjudicial para la salud, aumentando la mortalidad por enfermedades cardiorrespiratorias. Por último, los atascos son otro gran problema que provocan una gran pérdida de tiempo a un gran parte de la población y que genera, por lo tanto, una gran pérdida económica asociada. Para mitigar estos problemas, se están implantando cada vez más los sistemas de ayuda a la conducción, que cada vez automatizan o supervisan más tareas de la conducción para mitigar estos problemas. La tendencia por lo tanto apunta a descargar cada vez de más tareas al conductor hasta que este sea completamente prescindible del bucle de control de un vehículo. Los vehículos autónomos presentan una serie de ventajas, muchas de las cuales mitigan o solucionan completamente algunos de los problemas planteados Sin embargo, todavía existen numerosos problemas que deben resolverse de cara al desarrollo de un vehículo completamente autónomo. La conducción de un vehículo es una tarea compleja que requiere de una habilidad adquirida con el tiempo y la práctica que permite adaptarse a distintos tipos de entorno. Las características en las que un vehículo circula son muy diversas, incluyendo distintas condiciones climatológicas (sol en el horizonte, niebla, etc.) distintas localizaciones (desde autopistas hasta carreteras sin asfaltar), lo que puede dificultar las tareas de percepción del entorno. Por otro lado, aunque existen normas de circulación bien definidas, su aplicación a la conducción real no es trivial y requiere de una interpretación y una capacidad de decisión ante situaciones nunca antes vistas, que pueden resultar complejas para un vehículo autónomo (puede ser necesario seguir indicaciones de un guardia de tráfico y para ello infringir alguna norma de circulación, o pueden aparecer en la vía elementos nunca antes vistos ante los que reaccionar adecuadamente). El contenido de esta tesis pretende avanzar en la investigación sobre los vehículos autónomos, enfocándose en la arquitectura que hace posible que un vehículo de este tipo sea capaz de navegar de forma autónoma. Esta investigación describe los aspectos a tener en cuenta a la hora de diseñar un vehículo autónomo, así como aportar nuevos métodos que mejoren algunas de las partes más críticas de la navegación del vehículo. Diseñar un vehículo autónomo desde cero es un proceso complejo, que requiere un exhaustivo estudio. En primer lugar, es necesario definir de forma clara los objetivos, características y capacidades que el vehículo necesita tener. El vehículo puede estar destinado a transportar sólo personas o sólo bienes, puede ser necesario que circule por autopistas a alta velocidad, por ciudad junto con otros vehículos o por entornos sin carreteras definidas o puede ser necesario que funcione en situaciones adversas (mala visibilidad, suelo muy deslizante, etc). Todas estas características (entre otras muchas más), deben ser consideradas a la hora de diseñar el vehículo, ya que determinarán elementos clave como la elección de sensores o de software específicos para funcionar en las condiciones requeridas. A esta elección tanto de hardware como de software de acuerdo a unas condiciones, así como la definición de las relaciones entre los distintos elementos, y la comunicación entre ellos se le conoce como arquitectura. El diseño de la arquitectura de un vehículo autónomo es una de las primeras fases en el diseño, y una de las más importantes, ya que los siguientes pasos en el desarrollo del vehículo estarán condicionados por esta arquitectura. Esta tesis describe y justifica la arquitectura del vehículo autónomo desarrollado, describiendo todos los elementos necesarios de software, así como sus relaciones y el flujo de información. Además, se analiza también la elección del hardware, con especial atención a los sensores, determinando el tipo y colocación más adecuados. Por otra parte, también se profundiza en distintos algoritmos de la arquitectura en los que se ha visto necesario realizar una mejora. Estos algoritmos comprenden la localización, la planificación de trayectorias y las interfaces de comunicación con otros usuarios. Cada una de estas partes se detalla a continuación: En cuanto a la localización, cualquier robot móvil y en especial, los vehículos autónomos, requieren conocer de forma precisa su localización para ser capaces de navegar hasta su destino. La localización de un vehículo está determinada por un conjunto de coordenadas espaciales de posición y orientación, es decir, para un espacio tridimensional, la localización de un vehículo está determinada por las coordenadas de posición X, Y, Z y las coordenadas de orientación en los tres ejes de giro roll, pitch y yaw. Sin embargo, para algunas aplicaciones como los vehículos terrestres que van a circular por carreteras relativamente planas, estas coordenadas se pueden reducir a las de posición y orientación en dos dimensiones X, Y y yaw. Para obtener estas coordenadas de localización referenciadas a un punto en común (localización absoluta), existen distintos métodos. De entre los más utilizados, cabe destacar los sistemas de localización basados en GNSS y los que utilizan la correlación entre el mapa percibido y un mapa digital generado previamente. Cada uno de estos algoritmos, funciona mejor un entorno con unas características específicas, ya que la localización basada en GNSS necesita espacios amplios sin obstáculos que interfieran en las señales de los satélites, mientras que, para realizar la correlación entre un mapa y las lecturas de los sensores, es necesario que el entorno cuente con distintos objetos con los que localizarse en el mapa. Motivado por los problemas de localización del vehículo encontrados en entornos mixtos en los que parte del recorrido transcurre por carreteras urbanas rodeadas de edificios y parte por amplias carreteras sin grandes objetos a su alrededor, surge la necesidad de desarrollar un algoritmo que solvente dichos problemas. En esta tesis se presenta un algoritmo que mejora la localización basada en el filtro de partículas AMCL. Las principales modificaciones del filtro original son las siguientes. En primer lugar, para cada partícula se obtiene un nuevo peso cuyo valor se obtiene utilizando los valores de la posición y orientación de la partícula y una función de probabilidad que depende de la posición y orientación generada a partir de los datos del sensor GNSS e IMU. Por otro lado, en cada iteración del filtro, se añaden nuevas partículas con una probabilidad que depende del valor medio en todo el conjunto de partículas del nuevo peso calculado en el punto anterior. La posición de estas nuevas partículas generadas se muestrea siguiendo la función de probabilidad del punto anterior. De esta manera, se consigue una mejora en la localización en entornos mixtos con espacios abiertos sin objetos y con zonas en las que abundan distintos elementos en los que ninguno de los dos métodos por separado obtendría una localización precisa. Además, para los entornos en los que cada uno de los métodos obtiene los mejores resultados (espacios abiertos para GNSS o entornos con numerosos obstáculos para AMCL), el algoritmo propuesto iguala en precisión a estos métodos. Este método ha sido probado utilizando una base de datos pública de trayectorias de un vehículo equipado con un sensor LiDAR y un receptor GNSS entre otros sensores, datos con los que se ha podido evaluar y validar el método desarrollado. Además de en la localización, esta tesis describe un análisis de la implementación y funcionamiento de un modelo de aprendizaje automático basado en capas recurrentes y un modelo de tipo Variational Autoencoder (VAE) para la predicción de la maniobra y trayectoria que va a seguir un vehículo en los próximos segundos. Los distintos métodos que se pueden encontrar en la literatura para realizar esta tarea muestran que la tendencia actual a la hora de resolver este tipo de problemas es el uso de modelos de aprendizaje automático, habiendo ganado gran importancia en los últimos años los modelos generativos basados en estructuras de tipo GAN o VAE. El modelo propuesto entrena un VAE con datos de trayectorias reales obtenidas de una base de datos. La naturaleza temporal y secuencial de las trayectorias, en las que una posición depende de las anteriores, motiva el uso de neuronas de tipo recurrente como Long short-term memory (LSTM ) en las capas del modelo VAE. El modelo final de predicción utiliza la parte del codificador del modelo para generar una representación latente de la situación del entorno (vehículos de alrededor, velocidades, etc.) con un menor número de dimensiones. Este vector, al estar generado con un codificador de un modelo VAE, tiene la propiedad de colocar situaciones similares próximas una de otras en el espacio latente, y situaciones muy distintas, lejos. De esta manera, los vectores que representan situaciones similares que darán lugar a trayectorias parecidas en el futuro, tendrán valores semejantes, facilitando por lo tanto la tarea de predicción. Para generar las trayectorias futuras, se utiliza la parte del decodificador del VAE, el cual generará trayectorias en función de las variables latentes de entrada. Al igual que el codificador, al estar entrenado como un VAE, valores similares de estas variables generarán trayectorias muy parecidas entre sí. La generación de estas variables latentes que producirán la trayectoria futura es realizada con un modelo relativamente sencillo compuesto principalmente por capas de tipo denso cuya entrada son las variables latentes de la situación actual y en instantes pasados generadas por el codificador. Además de predecir trayectorias, las propiedades estadísticas de los VAE permiten obtener una estimación de la incertidumbre de las trayectorias generadas, indicando lo fiables que son las predicciones utilizando el método de Monte Carlo. Los resultados, evaluados en una base de datos pública, muestran una mejora en la predicción con respecto a los métodos del estado del arte, especialmente en las predicciones con un horizonte temporal largo. Por otra parte, se ha realizado un estudio de las propiedades del espacio latente de un VAE entrenado con trayectorias de vehículos en el que se comprueban distintos aspectos. En primer lugar, se analiza la precisión en la reconstrucción de las trayectorias en función del número de dimensiones del espacio latente. De esta manera se puede obtener el menor número de dimensiones que es capaz de reconstruir correctamente los datos de entrada. Además, se comprueba cómo la representación latente de situaciones similares que darán lugar al mismo tipo de trayectoria en el futuro se encuentran juntas y agrupadas para una arquitectura de tipo VAE, al contrario que para un Autoencoder tradicional, donde estas variables latentes se encuentran mezcladas. Por último, también se comprueba que el decodificador genera trayectorias similares para variables latentes similares, llegando a asignar a cada variable, de forma no supervisada, una característica de la trayectoria futura (tipo de cambio de carril o velocidad). Por último, esta tesis estudia las interacciones entre los vehículos autónomos y los peatones en entornos donde interactúan, así como distintas maneras de influir en el comportamiento de los peatones y en su percepción de las intenciones del vehículo. Los vehículos totalmente autónomos de nivel V, los cuales no necesitan un conductor, aún no están muy extendidos, concentrándose su uso en zonas controladas como industrias o almacenes. Sin embargo, su rápida evolución en los últimos años, así como los avances tecnológicos en esta área, hacen que cada vez vayan a estar más presentes en entornos compartidos con otros vehículos no autónomos y peatones. Actualmente existen numerosas situaciones en las que peatones y conductores interactúan, siendo los pasos de cebra o espacios peatonales dos de las más habituales donde el peatón espera a ser visto por el conductor para cruzar por delante. Con el vehículo autónomo, la ausencia del conductor puede llevar a dudas y a comportamientos no habituales. Por este motivo, entender y estudiar la interacción entre estos vehículos y los peatones es de gran interés, ya que su integración en este tipo de entornos depende de la aceptación por parte del resto de usuarios. La investigación realizada acerca de la interfaz hombre-máquina (HMI) consta del estudio de dos aspectos distintos. En primer lugar, se analiza en detalle la interacción entre peatones y vehículo autónomo atendiendo a distintos aspectos (si lo han visto, reacciones al verlo, hábitos de comportamiento con vehículos no autónomos). Por otro lado, se han probado distintas interfaces para analizar cuál obtiene mejores resultados. Dichas interfaces están basadas en mostrar información visual en una pantalla que puede mostrar colores verde y rojo (al igual que un semáforo) o imágenes que simulan un contacto visual con el peatón (ojos abiertos o cerrados). Los resultados de este estudio han sido obtenidos mediante experimentos en los que un vehículo autónomo real interactúa con los peatones que se encuentra a su paso, a los que les muestra distintos tipos de interfaces. De estos experimentos se obtienen datos mediante encuestas realizadas a los peatones que han interactuado con el vehículo, así como analizando las grabaciones realizadas de dichas interacciones. Como conclusión, el trabajo de esta tesis ha permitido desarrollar un vehículo autónomo funcional, que cumple con los requisitos establecidos y le permite navegar entre dos puntos de forma autónoma ysegura. La arquitectura desarrollada realiza de forma autónoma el control tanto lateral como longitudinal del vehículo. Es decir, tanto el giro del volante, como la aceleración y el freno, son controlados de forma autónoma y le permiten circular por la carretera sin intervención humana. Por otro lado, este vehículo también puede reaccionar ante la aparición de obstáculos, detectando qué clase de obstáculo es, su posición y actuando en consecuencia (parando o esquivándolo si fuera necesario). Además, a pesar de que por normativa siempre existe un conductor supervisando el funcionamiento del vehículo en las pruebas, el vehículo ha sido diseñado para que no sea necesaria su intervención en ninguna de las tareas de la conducción. Sin embargo, el dominio de entornos o situaciones en las que el vehículo puede funcionar de forma autónoma son limitadas, ya que los entornos en los que puede operar están determinados por el área que ha sido mapeado previamente no pudiendo funcionar en entornos desconocidos. Por lo tanto, el nivel de automatización de este vehículo, de acuerdo a los criterios establecidos en la SAE, corresponde con un nivel IV de automatización,que permite realizar las tareas de control longitudinal y lateral de un vehículo de forma autónoma, respondiendo y recuperándose ante posibles fallos, pero no puede circular por entornos desconocidos.