AtsushiSakai / AtsushiSakai/PythonRobotics

[Optimization] Speedup Cubic Spline Planner and Frenet Planner Execution

Abierto
#1,337 1 comentario 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Python
Estrellas
30.5k
Forks
7.4k
Merge medio
1 d 9 h
PR fusionados (30 d)
3

Descripción

By introducing concurrent data-level parallelism in `calc_frenet_paths` and `calc_global_paths` functions, and by using vectorized instructions in `calc`, `calcd`, and `__search_index`, a major speedup is obtained. In my application, execution is up to 5 times faster.

Here are the changes: [cubic_spline_planner.py](https://github.com/mc-cat-tty/paav-assignments/blob/main/6-planning/cubic_spline_planner.py), [frenet_optimal_trajectory.py](https://github.com/mc-cat-tty/paav-assignments/blob/main/6-planning/frenet_optimal_trajectory.py).

[Here](https://github.com/mc-cat-tty/paav-assignments/blob/main/6-planning/results/(3)%20Report%20Planning.pdf) (just section "Preliminary Work: Parallelization") a detailed explanation of the changes and their impact on the execution time.

If @AtsushiSakai is interested in the changes, I am available to integrate them in this repository and perform some further testing.

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Revisa los cambios enlazados en cubic_spline_planner.py y frenet_optimal_trajectory.py, centrándote en calc_frenet_paths, calc_global_paths, calc, calcd y __search_index. Ejecuta los ejemplos de planificación o las pruebas existentes antes de comparar el tiempo de ejecución y el comportamiento. Se considera terminado cuando la implementación paralelizada y vectorizada está integrada sin cambiar los resultados del planner y se han medido mejoras de rendimiento.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
python
Área
autonomous-driving, performance, robotics
Tipo de issue
Refactorización
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Tranquilo
Claridad
Bastante claro
Aptitud para principiantes
45/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.