First Place Solution in Spring 2025 Simulation Racing Series
Written by George Zeng, a graduated senior from University High School and a current student at the University of California, Santa Cruz.
Table of Contents
Introduction
This LatController builds upon the classic pure pursuit method by incorporating adaptive waypoint distance prioritization and weighted averaging to enhance steering smoothness and vehicle stability at high speeds.
Motivation for Change
The original lateral control employed a classic pure pursuit algorithm, resulting in consistent issues during larger turns due to the sparse distance between each waypoint. During larger-radius turns, the car passes a waypoint and immediately snaps its steering toward the next point, then drives in a straight line. This initial snap doesn’t take advantage of the natural turning radius of the track; instead, the small radius turn slows the car down due to the throttle dependency on turning.
Logical Explanation
Rather than steering toward the immediate next waypoint, the controller constantly calculates a weighted average of the waypoints ahead to aim for. This changing target creates a smoother predictive steering reference that reduces jolting small-radius turns and thus increases overall speed.
The weight places significantly higher priority on closer waypoints as it has an inverse relationship with the distance the vehicle is away from the waypoint. So in sharper turns it prioritizes the immediate nearby waypoints, and in larger turns it smoothly transitions between each waypoint, allowing for a consistent natural turning radius which rids of the throttle limiting behavior caused by small radius turns following each waypoint.
Method Explanation
The weighted average point is built off of the next N points, each with a weight of a
linear change x and an inverse scaling with distance.
This solution utilizes 20 as the N value, as larger values take in waypoints that go across the diameter of a turn, leading to behavior of cutting too close to the inner wall, resulting in a smaller turning radius or collision.
The inverse relationship with distance weakens the intended benefit of having the faraway points have a noticeable impact. Thus, I chose .5 as x so that the further points would have more consideration to allow impact where waypoints are further apart.
Future Improvements
The values used in the formula are empirically chosen. Reinforcement learning or
evolutionary strategies could be applied to tune the values of N, and X.
Conclusion
This project wouldn’t have been possible without the support of several individuals. I’d
like to thank Dr. Allen Yang and Mr. Huo Chao Kuan for maintaining the ROAR
competition and consistently responding to technical inquiries. I’m also grateful to
Jonathan Zhu for his help with implementation details, to Mark Menaker for introducing
me to the competition, and to Mr. Shulman for providing a space for weekly meetings.