Second Place Solution in Summer 2024 Simulation Racing Series
Written by Eric Le, a rising Senior from De La Salle High School.
Github: https://github.com/ericle85/ROAR_Competition
Table of Contents
Introduction
Overall my solution was just building off what previous solutions had. I spent the bulk of my time fine tuning and finding combinations for PID and coefficients of frictions that decreased lap time.
Generating a Racing Line
In order to generate a general racing line I used this repo I found online that generates a racing line when given a .csv file of the track. So I had to convert the Monza.npz file to a csv file with the x and y, generate the line, then rewrite the original x and y coordinates.
(https://github.com/TUMFTM/global_racetrajectory_optimization)
Once I had a general racing line, my solution when running would take an average of the previous waypoint all the way to an X number of waypoints ahead to get a smoother waypoint.
The higher the X value the more it looks ahead and would cut corners essentially. For sharp turns I just followed a set waypoint and didn’t average them. As the car would gradually become faster and faster, X values had to go up to make sure turns weren’t sharp.
Fine Tuning
I spent a majority of my team tuning the PID settings. It was mainly just trial and error of countless combinations that I kept track of in a spreadsheet. Ultimately, it was just a numbers game with finding the right combination for PID settings, X values, Friction coefficients, and settings used to generate the racing line.
Conclusion
Overall, this competition was a great way for me to learn new things. And If I had more time I could have definitely made a faster run. Maybe in the future I will develop a way to optimize PID and Coefficient of frictions autonomously.