Second Place Solution in Spring 2024 Simulation Racing Series
Written by Ryan Chow.
Table of Contents
Introduction
This solution was built off of the default code provided in RoarPy. My algorithm remains relatively similar to my last submission in Fall ‘23. Several changes include tuning, new dynamic waypoint viewers, and a slight change in strategy.
General Strategy
In my solution, I attempted to maximize speed and optimize the racing line by using a dynamic waypoint viewer. The waypoint viewer would determine which waypoint to look at, (how far to look ahead) depending on the speed of the vehicle. From the point where my waypoint viewer looked, I could get the curvature value of the track at that specific point and other key data. Using this waypoint viewer allowed me to cut some corners, optimize the racing line, and cut speed only at necessary points.
Waypoint Viewers
In my newest submission, I used multiple waypoint viewers with different multipliers (different lookahead distance relative to speed) for different sections of the track. In both of my submissions, I used curvature to determine how sharp oncoming turns would be, and used this to determine how much to cut my speed. By using more waypoint viewers, I could slow down at specific times to maximize the amount of time the car’s throttle is maxed out.
Track-Specific Strategies and Tuning
Using the dynamic waypoint viewers along with curvature detection, I was able to measure the curvature of every single turn on the track. After observing the vehicle, I tuned the viewer multiplier and bucketted throttle amounts given the road curvature and the waypoint number the car was reaching on the track.
Conclusion
Even though a lot of improvements have been made from last season, there is still room for this algo to grow. There’s a lot to learn from this algorithm and I believe that either myself or others can greatly refine this strategy. Through observation I realized that the racing line could have been better optimized, and perhaps learning more about racing technique could help improve upon this solution. Thank you to the team at ROAR, and I’m excited to see what the future holds for autonomous racing.