Third Place Solution in Summer 2024 Simulation Racing Series
Written by Yuehan Yang, Audrey Han, Gavin Chang, Alex Lin, and Brandon Koo from Walnut High School
Table of Contents
Introduction
In ROAR, competitors have to use Python to autonomously race a car around the new Monza Map. Using the Carla research simulation, we had to develop and test a self-driving car’s capability to traverse the map. Extending on Virgile Foussereau and Derek Chen’s team’s solution, we implemented additional programs such as adaptive pure pursuit and tuning in order to achieve the most efficient time.
Pure Pursuit
We modified the Pure pursuit that Virgile Foussereau used for his last year’s solution by tuning and implementing a more robustly gain scheduled system PID by tuning variables dependent on different variables while introducing a more adaptive lookahead system. One main issue we had was finding a way to optimize our lookahead distance, minimizing oscillation while maximizing accuracy. To fix this issue, we followed a research paper[1] to determine the optimal lookahead distance based on alpha, theta, and car speed.
Waypoints
One main issue we came across while coding for this season was the restraint of the waypoints being in the center. Although we previously looked into waypoint averaging, this season we were looking into using more defined racing lines. We reached out and asked Virgile Foussereau how he worked towards finding his optimal racing line for the best possible results. However, this proved to be inefficient as the method he introduced to us gave almost no room for error, and with issues with collision zones on the simulation, we decided to step down from this idea. Then we looked into Derek Chen’s custom line, as we had previously noted his impressive customization. Through this, we used a combination of a custom generated MPC profile in order to match velocities to the racing line. This gave us some issues in turning aspects, which we dealt with using Adaptive Lookahead distance. However, we ran into an issue with a certain part in the waypoints creating a larger issue tied into turning, that cost us some time and we hope to look into solving that issue for further iterations.
Conclusion
We would like to thank Aaron Xie, Tianlun Zhang, Huo Chao Kuan, and Dr.Allen Yang for their patience, support, throughout the season. Additionally, we would like to thank to Virgile Foussereau and Derek Chen for open sourcing their solution last season. With their help, we were able to iterate and improve upon the open-sourced to create the solution we have today.
[1]S. Qinpeng, W. Zhonghua, L. Meng, L. Bin, C. Jin and T. Jiaxiang, “Path Tracking Control of Wheeled Mobile Robot Based on Improved Pure Pursuit Algorithm,” 2019 Chinese Automation Congress (CAC), Hangzhou, China, 2019, pp. 4239-4244, doi: 10.1109/CAC48633.2019.8997258. keywords: {Mobile robots;Pursuit algorithms;Path planning;Steering systems;Wheels;Tracking;wheeled mobile robot;Pure Pursuit algorithm;path tracking;preview distance;tracking error},