Autonomous Car – Finding Optimal Path

The problem of finding the optimal path is one the main problems each autonomous system must solve. Therefore, this is a highly researched problem in robotics. In the past last years there has been continuous interest and accomplishments developing faster and more accurate algorithms for this purpose. Each algorithm has its own advantages and disadvantages, the tradeoff in those algorithms is mostly between running time and performance. After conducting research regarding the existing algorithms, we chose SST Algorithm (Stable Sparse RRT) because it was the best match to our requirements. Our main requirements were good performance in real time. The real time requirement was set since our implementation was intended to replace, while driving, a nonoptimal driving algorithm (which only tried to stay in the center of the lane, between the obstacle on both sides of the car, while driving very slowly).
In this project we integrated F1Tenth simulation platform, Robot Operating System (ROS) and Open Motion Planning Library (OMPL). F1Tenth simulates a physical car on a scale of 1/10 relative to F1 car. In the integrated environment we implemented nodes and functions that solve problems of car control, SST algorithm (with added improvements), visualization of the output path, etc.
In this project we had to implement and integrate all the functions and systems mentioned above. After implementing our system which included solving the path planning problem and visualizing the solution, we researched the performances of the algorithm. The original algorithm couldn’t find the shortest path in real time (it took more than 2 minutes). After adding our improvements finding the closest path can take less than one second. Furthermore, we showed that implementation of Dubins state space can’t provide real time solution (at least in our algorithm). We provided conclusions regarding the relationship between the algorithms’ parameters and the running time of the algorithm.
RViz simulator