What is ROAR?

The Robot Open Autonomous Racing (ROAR) is an AI racecar competition hosted by Berkeley. The competition involves multiple student racing teams competing for speed and vehicle skills at the heart of the iconic Berkeley campus.

Our Approach

We've adopted an advanced, iterative strategy, leveraging the Learning-based Model Predictive Control (LMPC) approach for continuous lap time improvement. Our method focuses on refining multi-vehicle racing dynamics, using curvilinear coordinates for track calculations.

Introduction


We are excited to share our project on the implementation of an autonomous racing planner. This planner is capable of two tasks: following the front vehicle and overtaking it when signaled. Our main goal was to create a more advanced planner for the ROAR team's vehicle, which originally ran with a hard-coded planner.

OUR Team

Meet our talented team: Yunhao Liu, Chenyan Zhang, and Ray Xi. As members of the EECS department at Berkeley, we've honed a wide spectrum of skills.

We're experienced in robotics, crafting advanced systems that solve complex challenges. In the realm of computer systems, we ensure efficiency and robust performance. Our expertise also extends to hardware, where we focus on the latest tech for high performance.

With a proven track record in full-stack development, we're capable of creating seamless and effective solutions from front to back. We're passionate about what we do, and we're dedicated to driving progress in our field.

Our Goal

Our goal is to develop an autonomous racing planner that can trace the optimal trajectory as fast as possible without passing or crashing. The planner should also have a safety-first overtaking mode.

Implementation

Our work was inspired by a significant potential for a performance boost by switching to an advanced planner. The original planner generated a track reference trajectory regardless of the number of laps the vehicle had run, and thus lacked the ability to optimize its trajectory over iterations. In contrast, we leveraged the learning-based MPC (LMPC) strategy proposed by He et al. for scenarios where multiple vehicles run on the same track lap after lap. This strategy employs a combination of data collection and optimization to continuously refine the model and improve the lap time. However, our application scenario differed from He et al.'s work in terms of racing regulations, division of tasks among team members, and the use of ROS2 system instead of ROS1. These differences necessitated significant adjustments in the implementation of the LMPC strategy.

Methods

Our team developed a racing planner that uses curvilinear coordinates for easier calculation on bent tracks. We utilized an advanced version of basic MPC called LMPC, which includes a learning model correction, and relied on third-order Bezier curves to generate overtaking trajectories.

Implementation

We started with He et al.'s codebase for multi-vehicle racing, which we then refactored to suit our needs. We then implemented a racing planner capable of two tasks: following the front vehicle and overtaking it when signaled.

The refactoring resulted in a system minimized to three major components: a planning package that generates trajectories, a racing_env package that produces unified interfaces, and a test package that provides modules for conducting experiments in simulated environments.

Simulations and Hardware Deployment

The team used a pair of simulators to test the planner - a lower fidelity simulator included in He et al.'s codebase and a higher fidelity simulator provided by the ART team. The planner logic was incorporated into ROS2 nodes, which allowed us to connect both the high-fidelity simulator and the hardware via the same ROS2 protocol. This setup opens up the possibility for future transfer of the planner onto a real F1 vehicle.

+

result

We tested the following and overtaking functionalities of the planner in the low-fidelity simulator under different scenarios. All tests included a learning phase for the LMPC, followed by the vehicle operating in following mode and then in overtaking mode. We observed that the planned trajectory never goes over the counter vehicle in the following mode, and that the ego vehicle was able to execute an overtake when the counter vehicle was in the inner lane. In addition, the planner was tested on abnormal tracks, demonstrating its robustness in various racing conditions.

Appendix

For more detailed insights and animations of our project implementation, please refer to the Appendix.