logo móvil
Contáctanos

Una implementación inteligente de muchos núcleos de un marco de planificación de movimiento a lo largo de un camino de referencia para autos autónomos

Autores: Cabodi, Gianpiero; Camurati, Paolo; Garbo, Alessandro; Giorelli, Michele; Quer, Stefano; Savarese, Francesco

Idioma: Inglés

Editor: MDPI

Año: 2019

Descargar PDF

Acceso abierto

Artículo científico
2019

Una implementación inteligente de muchos núcleos de un marco de planificación de movimiento a lo largo de un camino de referencia para autos autónomos


Categoría

Ingeniería y Tecnología

Subcategoría

Ingeniería Eléctrica y Electrónica

Palabras clave

Investigación
Coches autónomos
árboles aleatorios de exploración rápida
Camino libre de colisiones
Implementación de gpgpu
Esfuerzo computacional

Licencia

CC BY-SA – Atribución – Compartir Igual

Consultas: 43

Citaciones: Sin citaciones


Descripción
La investigación sobre coches autónomos, que se intensificó a principios de la década de 1990, se está convirtiendo en uno de los principales caminos de investigación en la industria automotriz. Los trabajos recientes utilizan Árboles Aleatorios de Exploración Rápida para explorar el espacio de estados a lo largo de un camino de referencia dado, y para calcular en tiempo real el camino mínimo libre de colisiones. Esos métodos no requieren buenas aproximaciones del camino de referencia, son capaces de enfrentar rutas discontinuas, pueden navegar en escenarios de tráfico realistas y obtienen su potencia de un esfuerzo computacional extenso dirigido a mejorar la calidad de la trayectoria de paso a paso. En este documento, nos enfocamos en la reingeniería de un algoritmo secuencial de vanguardia existente para obtener una implementación basada en GPGPU de CUDA (Unidades de Procesamiento Gráfico de Propósito General). Para hacerlo, mostramos cómo dividir el algoritmo original entre varios hilos de trabajo que se ejecutan en la GPU, cómo propagar información entre los hilos y cómo sincronizar esos hilos. También proporcionamos evidencia detallada sobre cómo organizar las transferencias de memoria entre la CPU y la GPU (y entre diferentes núcleos de CUDA) de manera que los tiempos de planificación estén optimizados y la memoria disponible no se exceda al almacenar grandes cantidades de datos de fusibles. En resumen, en nuestra aplicación la GPU se utiliza para todas las operaciones principales, toda la aplicación está desarrollada en el lenguaje CUDA y se presta especial atención a la concurrencia, la sincronización y la comunicación de datos. Realizamos experimentos en varios escenarios reales, comparando la implementación de la GPU con la de la CPU en términos de la calidad de los caminos generados y en términos de los tiempos de cálculo (reloj de pared). Los resultados de nuestros experimentos muestran que las GPUs integradas pueden utilizarse como facilitadores para aplicaciones en tiempo real de enfoques de planificación computacionalmente costosos.

Otros recursos que podrían interesarte

Temas Virtualpro