Autonomous Racing with Multiple Vehicles using a Parallelized Optimization with Safety Guarantee using Control Barrier Functions

by   Suiyi He, et al.
University of Minnesota
berkeley college

This paper presents a novel planning and control strategy for competing with multiple vehicles in a car racing scenario. The proposed racing strategy switches between two modes. When there are no surrounding vehicles, a learning-based model predictive control (MPC) trajectory planner is used to guarantee that the ego vehicle achieves better lap timing performance. When the ego vehicle is competing with other surrounding vehicles to overtake, an optimization-based planner generates multiple dynamically-feasible trajectories through parallel computation. Each trajectory is optimized under a MPC formulation with different homotopic Bezier-curve reference paths lying laterally between surrounding vehicles. The time-optimal trajectory among these different homotopic trajectories is selected and a low-level MPC controller with control barrier function constraints for obstacle avoidance is used to guarantee system's safety-critical performance. The proposed algorithm has the capability to generate collision-free trajectories and track them while enhancing the lap timing performance with steady low computational complexity, outperforming existing approaches in both timing and performance for a autonomous racing environment. To demonstrate the performance of our racing strategy, we simulate with multiple randomly generated moving vehicles on the track and test the ego vehicle's overtake maneuvers.



page 1

page 3

page 4

page 5


Safety-Critical Model Predictive Control with Discrete-Time Control Barrier Function

The optimal performance of robotic systems is usually achieved near the ...

Bernstein polynomial-based transcription method for solving optimal trajectory generation problems

This paper presents a method and an open-source implementation, Bernstei...

Zero-Error Tracking for Autonomous Vehicles through Epsilon-Trajectory Generation

This paper presents a control method and trajectory planner for vehicles...

Safe Hierarchical Model Predictive Control and Planning for Autonomous Systems

Planning and control for autonomous vehicles usually are hierarchical se...

Gaussian Process-Based Model Predictive Control for Overtaking

This paper proposes a novel framework for addressing the challenge of au...

A Control Architecture for Provably-Correct Autonomous Driving

This paper presents a novel two-level control architecture for a fully a...

Learning-based Initialization Strategy for Safety of Multi-Vehicle Systems

Multi-vehicle collision avoidance is a highly crucial problem due to the...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

I Introduction

I-a Motivation

Recently, autonomous racing is an active subtopic in the field of autonomous driving research. In autonomous racing, the ego car is required to drive along a specific track with an aggressive behavior, such that it is capable of competing with other agents on the same track. By overtaking other leading vehicles and moving ahead, the ego vehicle can finish the racing competition with a smaller lap time. While the behavior of overtaking other vehicles has been studied in autonomous driving on public roads, however, these techniques are not effective on a race track. This is because autonomous vehicles are guided by dedicated lanes on public roads to succeed in lane follow and lane change behaviors, while the racing vehicles compete in the limited-width tracks without guidance from well-defined lanes. Existing work focuses on a variety of algorithms for autonomous racing, but most of them could not provide a time-optimal behavior with high update frequency in the presence of other moving agents on the race track. In order to generate racing behaviors for the ego racing car, we propose a racing algorithm for planning and control that enables the ego vehicle to maintain time-optimal maneuvers in the absence of local vehicles, and fast overtake maneuvers when local vehicles exist, as shown in Fig. 1.

Fig. 1: Snapshots from simulation of the overtaking behavior. Red is the ego vehicle and the color of the surrounding vehicles switches from blue to green depending on if they are in the ego vehicle’s range of overtaking. Note the large sideways orientation of the red ego car at the start of the overtake maneuver. The solid blue line and dashed brown line are track’s boundary and center line. The dashed black line and yellow line (in inset) are reference paths and the optimized trajectory, respectively.

I-B Related Work

In recent years, researchers have been focusing on planning and control for autonomous driving on public roads. For competitive scenarios like autonomous lane change or lane merge, both model-based methods [34] and learning-based methods [44] have been demonstrated to generate the ego vehicle’s desired trajectory. Similarly, control using model-based methods [39, 13, 26] and learning-based methods [21] has also been developed. However, the criteria to evaluate planning and control performance are different for car racing compared to autonomous driving on public roads. For autonomous racing [25], when the ego racing car competes with other surrounding vehicles, most on-road traffic rules are not effective. Instead of maneuvers that offer a smooth and safe ride, aggressive maneuvers that push the vehicle to its dynamics limit [43, 38] or even beyond its dynamics limit [11] are sought to win the race. In order to quickly overtake surrounding vehicles, overtake maneuvers with tiny distances between the cars and large orientation changes are needed. Moreover, due to the bigger slip angle caused by changing the steering orientation more quickly during racing, more accurate dynamical models should be used for autonomous racing planning and control design. We next enumerate the related work in several specific areas.

Approach GP DRL Graph-Search Game Theory Model-Based
Publication [15] [10] [37] [24] [41] [14] [32] [18] [20] [9] [6] [47] Ours
Lap Timing Yes Yes Yes Yes No Yes Yes Yes Yes No No No Yes
Static Agent No No Yes Yes Yes No No No No Yes Yes Yes Yes
Moving Agent No No One One Multiple No No No No Multiple One One Multiple
Update Frequency (Hz) N/A N/A 15 30 2 Offline 20 20 Offline <1 10 <10 >25
Planner No No Yes Yes Yes Yes No No No Yes Yes No Yes
Dynamics Accuracy N/A N/A Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes
TABLE I: A comparison of recent work on autonomous racing and their attributes. Lap timing indicates if the lap timing performance is considered. Static and moving agent indicates if other static or moving agents are considered. Update frequency indicates the optimization update frequency. Learning-based approaches like GP don’t have this attribute. Planner indicates if the approach has the planning part. Dynamics accuracy indicates the dynamics model used in the controller, with “Yes”, “No”, “N/A” representing dynamic model, kinematic model and model-free.

I-B1 Planning Algorithms

For autonomous racing, the planner is desired to generate a time-optimal trajectory. Although some work using convex optimization problems [23, 19, 5, 7, 14, 36, 1] or Bayesian optimization (BO) [16] reduces the ego vehicle’s lap time impressively, either no obstacles [19, 5, 7, 14, 36, 1, 16] or only static obstacles [23] are assumed to be on the track. When moving vehicles exist on the track, nonlinear dynamic programming (NLP) [9], graph-search [37] and game theory [24, 41, 17] based approaches have demonstrated their capabilities to generate collision-free trajectories. Additionally, in order to improve the chance of overtaking, offline policies are learnt for the overtake maneuvers at different portions of a specific track [3]. However, these approaches don’t solve all challenges. For instance, work in [9, 41, 17, 3] does not take lap timing enhancement into account. In [37], the ego vehicle is assumed to compete on a straight track with one constant-speed surrounding vehicle. These assumptions are relatively simple for a real car racing competition. In [24], it is assumed that the planner knows the other vehicle’s strategy and the complexity of the planner increases excessively when multiple vehicles compete with each other on the track.

I-B2 Control Algorithms

Researchers focus on enhancing performance of the ego vehicle by achieving its speed and steering limits through better control design, e.g., obtaining the optimal lap time by driving fast. The majority of existing work focuses on developing controllers with no other vehicles on the track. The learning-based controllers [32, 18, 20, 42] leverage the control input bounds to achieve optimal performance in iterative tasks. Model-free methods like Bayesian optimization (BO) [27], Gaussian processes (GPs) [15]

, deep neural networks (DNN)

[28, 40]

and deep reinforcement learning (DRL)

[31, 10] have also been exploited to develop controllers that result in agile maneuvers for the ego car. To deal with other surrounding vehicles, DRL has also been used in [35] to control the ego vehicle during overtake maneuvers. Recently, model predictive based controllers (MPC) with nonlinear obstacle avoidance constraints have become popular to help the ego vehicle avoid other vehicles in the free space. A nonconvex nonlinear optimization based controller is implemented in [33] to help the ego vehicle avoid static obstacles. Researchers in [22] use mixed-integer quadratic programs (MIQP) to help the ego vehicle compete with one moving vehicle. In [6], GPs was applied to formulate the distance constraints of a stochastic MPC controller with a kinematic bicycle model. However, large slip angles under aggressive maneuvers will cause a mismatch between real dynamics model and the kinematic model used in the controller, resulting in the controller being unable to guarantee the system’s safety in some cases. In [47], a safety-critical control design by using control barrier functions is proposed to generate a collision-free trajectory without a high-level planner, where infeasibility could arise due to the high nonlinearity of the optimization problem. Moreover, due to the lack of a trajectory planner, deadlock could happen very often during overtake maneuvers, such as in [47, 6]. A comparison of various approaches and their features are enumerated in TABLE I.

As mentioned above, all the previous work on planning and control design for autonomous racing could not enhance the lap timing performance and simultaneously compete with multiple vehicles. Inspired by the work on iterative learning-based control and optimization-based planning, we propose a novel racing strategy to resolve the challenges mentioned above with a steady low computational complexity.

I-C Contribution

The contributions of this paper are as follows:

  • We present an autonomous racing strategy that switches between a learning-based MPC trajectory planner (in the absence of surrounding vehicles) and optimization-based homotopic trajectory planner with a low-level safety-critical controller (when the ego vehicle competes with surrounding vehicles).

  • The learning-based MPC approach guarantees time-optimal performance in the absence of surrounding vehicles. When the ego vehicle competes with surrounding vehicles, multiple homotopic trajectories are optimized in parallel with different geometric reference paths and the best time-optimal trajectory is selected to be tracked with an optimization-based controller with obstacle avoidance constraints.

  • We validate the robust performance together with steady low computational complexity of our racing strategy in numerical simulations where randomly moving vehicles are generated on a simulated race track. It is shown that our proposed strategy allows the ego vehicle to succeed in overtaking tasks without deadlock when there are multiple vehicles moving around the ego vehicle. We also demonstrate that our strategy would work for various racing environments.

Fig. 2: Autonomous Racing Strategy. The system dynamics is identified through offline data collection via recursive tasks. For online deployment, when no surrounding vehicles exist, the learning-based MPC trajectory planner is executed to guarantee time-optimal trajectories. When there are surrounding vehicles, the best time-optimal trajectory is chosen among the trajectories that are optimized in parallel with each optimization carried out for a particular homotopic trajectory around the surrounding cars. The chosen trajectory is then tracked with a safety-critical model predictive based controller.

Ii Background

In this section, we revisit the vehicle model and learning-based MPC for iterative tasks. The learning-based MPC will be used as the trajectory planner when no surrounding vehicles exist.

Ii-a Vehicle Model

In this work, we use a dynamic bicycle model with decoupled Pacejka tire model under Frenet coordinates. The system dynamics is described as follows,


where and show the state and input of the vehicle, is a nonlinear dynamic bicycle model in [30]. The definition of state and input is as follows,


where acceleration at vehicle’s center of gravity and steering angle are the system’s inputs. denotes the curvilinear distance travelled along the track’s center line, and show the deviation distance and heading angle error between vehicle and center line. , and are the longitudinal velocity, lateral velocity and yaw rate, respectively.

In this paper, this model (1

) is applied for precise numerical simulation using Euler discretization with sampling time 0.001s (1000Hz). Through linear regression from the simulated reference path, an affine time-invariant model as below,


will be used in the trajectory planner to avoid excessive complexity from nonlinear optimization, where represents the equilibrium point for linearized dynamics. On the other hand, an affine time-varying model as below,


where matrices , , and are obtained at local equilibrium point on reference trajectory with iterative data which is close to . The dynamics (4) will be used on racing controller design for better tracking performance.

Ii-B Iterative Learning Control

A learning-based MPC [32], which improves the ego vehicle’s lap timing performance through iterative tasks, will be used in this paper. This has the following components:

Ii-B1 Data Collection

The learning-based MPC optimizes the lap timing through historical states and inputs from iterative tasks. To collect initial data, a simple tracking controller like PID or MPC can be used for the first several laps. During the data collection process, after the

-th iteration (lap), the controller will store the ego vehicle’s closed-loop states and inputs as vectors. Meanwhile, through offline calculation, every point of this iteration will be associated with a cost, which describes the time to finish the lap from this point.

Ii-B2 Online Optimization

After the initial laps, the learning-based MPC optimizes the vehicle’s behavior based on collected data. At each time step, the terminal constraint is formulated as a convex set (green convex hull in Fig. 3). This convex set includes the states that can drive the ego vehicle to the finish line in the previous laps. By constructing the cost function to create a minimum-time problem, an open-loop optimized trajectory can be generated. Since the cost function is based on the previous states’ timing data, the vehicle is able to drive to the finish line with time that is no greater than the time from the same position during previous laps. As a result, the ego vehicle will reach the time-optimal performance after several laps.

More details of this method can be found in [32]. In our work, this approach will be used for trajectory planning when the ego vehicle has no surrounding vehicles. This helps with better lap timing without surrounding vehicles. Notice that the data for iterative learning control will be collected through offline simulation with no obstacles on the track, as shown in Fig. 2.

Fig. 3: An illustration of learning-based MPC. Different groups of blue points show the historical closed-loop trajectories for different laps. When the ego vehicle is on the -th lap, data from ()-th to ()-th lap can be used for online optimization. The figure illustrates this with . Points with crosses are the selected neighboring historical states to the current point . The green set is a convex approximation hull of these selected points, which is the terminal constraint for the MPC problem. The orange line is the open-loop optimized trajectory for the racing with -th lap. This manner of iterative calculation generates time-optimal behavior when there are no surrounding vehicles.

Iii Racing Algorithm

After introducing the background of vehicle modeling and learning-based MPC, we will present an autonomous racing strategy that can help the ego vehicle enhance lap timing performance while overtaking other moving vehicles.

Iii-a Autonomous Racing Strategy

There are two tasks in autonomous racing: enhancing the lap timing performance and competing with other vehicles. To deal these two problems, our proposed strategy will switch between two different planning strategies. When there are no surrounding vehicles, trajectory planning with learning-based MPC is used to enhance the timing performance through historical data. Once the leading vehicles are close enough, an optimization-based trajectory planner optimizes several homotopic trajectories in parallel and the collision-free optimal trajectory is selected with an optimal-time criteria, which will be tracked by a low-level MPC controller. By adding obstacle avoidance constraints to the low-level controller, it has the ability to guarantee the system’s safety. The racing strategy is summarized in Fig. 2.

Iii-B Overtaking Planner

To determine if a surrounding vehicle is in the ego vehicle’s range of overtaking, following condition must be satisfied:


where and are ego vehicle’s and -th surrounding vehicle’s traveling distance, and are ego vehicle’s and -th surrounding vehicle’s longitudinal speed. indicates the vehicle’s length. and are safety-margin factor and prediction factor which we can tune for different performance.

Fig. 4: A typical overtaking scenario when there are vehicles in the range of overtaking. The ego vehicle and surrounding vehicles are in red and green, respectively. The dashed green line is a time-optimal trajectory calculated from the learning-based MPC. Blue points are control points for Bezier-curves in two different cases. Dashed black lines are groups of reference paths each with a different homotopy. Dashed orange lines are optimized trajectories for each optimization problem. The trajectory in area 2 is selected as the best for its smoothness and reachability along the track.

As shown in Fig. 4, when there are vehicles in the ego vehicle’s range of overtaking, there exists potential areas, each leading to paths with a different homotopy, that the ego vehicle can use to overtake these surrounding vehicles. These areas are the one below the -th vehicle, the one above the 1st vehicle, and the ones between each group of adjacent vehicles. +1 groups of optimization-based trajectory planning problems are solved in parallel, enabling steady low computational complexity even when competing with different numbers of surrounding vehicles. To reduce each optimization problem’s computational complexity through fast convergence, geometric paths with a distinct homotopy class that laterally lay between vehicles or vehicle and track boundary (black dashed curves in Fig. 4) are used as reference paths in the optimization problems. By comparing the optimization problems’ costs, the optimal trajectory is selected from optimized solutions. For example, as the case shown in Fig. 4, the dashed orange line in area 2 will be selected since it avoids surrounding vehicles and finishes overtake maneuver with smaller time. The function to minimize during the selection is shown as follows,


where is a scalar used in metric for timing and is a non-zero penalty cost if the new potential area of overtaking is different from the area of overtaking in the last time step. A bigger value of is applied such that the ego vehicle is optimized to reach a farther point during the overtake maneuver, which results in a shorter overtaking time since the planner’s prediction horizon and sampling time are fixed. Additionally, the other terms in (6) prevents the ego vehicle from changing direction abruptly during an overtake maneuver and guarantees the ego vehicle’s safety.

(a) Control points for the Bezier-curve next to the track boundary.
(b) Control points for the Bezier-curve between two adjacent vehicles.
Fig. 5: In the optimization problem, third order Bezier-curves are used as the reference paths. These two pictures show the Bezier-curves (dashed black lines) and their control points (blue points) for two different cases.
Fig. 6: One typical scenario where the reference Bezier-curve has a conflict with the surrounding vehicle when approaching with a large lateral difference.

Bezier-curves are widely used in path planning algorithms in autonomous driving research [12, 8, 29]

because it is easy to tune and formulate. Third-order Bezier-curves are used in this work. Each Bezier-curve is interpolated from four control points, including shared start and end points with two additional intermediate points, shown in Fig.

5. Specifically, the start point for the Bezier curve is the ego vehicle’s current position and end point is on the time-optimal trajectory generated from learning-based MPC planner. The selection of end point makes vehicle’s state as close as possible to the time-optimal trajectory after overtake behavior. To make all curves smoother and have no or fewer conflicts with surrounding vehicles, the other two control points will be between the track’s boundary and vehicle for Areas 1 and +1, shown Fig. 4(a), or between two adjacent vehicles, shown in Fig. 4(b). These two intermediate control points will have the same lateral deviation from the center line. The key advantage of our selection of control points is that the interpolated geometric curve won’t cross the connected lines between control points with its convexity, shown in Fig. 5. This property makes our reference paths collision-free with respect to surrounding vehicles in most cases, which speed up the computational time of the trajectory generation at each area.

Remark 1 ().

In order to avoid mixed-integer and nonlinear optimizations to speed up computation, the planners are separated into (a) the overtaking planner that generates different homotopic reference paths; and (b) trajectory generator that generates dynamically-feasible and collision-free trajectories (in parallel) based on the generated homotopic reference paths. The overtaking planner generates potential reference geometric paths for obstacle avoidance by choosing control points of the Bezier curves in different homotopic regions. However, this does not guarantee the reference path is collision free. For instance, when the ego vehicle is approaching other surrounding vehicles with a big lateral difference (see Fig. 6), the Bezier-curve path used in the planner might not be collision-free with other surrounding vehicles (while the Bezier control points are.) The parallelized trajectory optimizer then runs multiple trajectory optimizations in parallel for each homotopy class, warm starting from the corresponding Bezier curve. One of the generated dynamically-feasible and collision-free trajectories is then chosen to be sent to the overtaking controller.

The details of the optimization formulation for trajectory generation will be illustrated in the next section.

Iii-C Trajectory Generation

After illustrating the planing strategy, this subsection will show the details about the optimization problem used for trajectory generation for each potential area with different homotopic paths that the ego vehicle can use to overtake the surrounding vehicles.

The optimization problem is formulated as follows,

s.t. (7b)

where (7b), (7c), (7d) are constraints for system dynamics, state/input bounds and initial condition. The system dynamics constraint describes the affine linearized model described in (3). The cost function (7a) is composed with three parts along the horizon length , the terminal cost , the stage cost and the state/input changing rate cost . The construction of cost function and constraints in the optimization will be presented in details in the following subsections.

Iii-C1 Terminal Cost

Terminal cost is about the ego vehicle’s traveling distance along the track during overtaking process.


This compares the open-loop predicted traveling distance at the -th step with the ego vehicle’s current traveling distance . This works as the cost metric for timing during the overtaking process.

Iii-C2 Stage Cost

The stage cost introduces the lateral position differences between the open-loop predicted trajectory and other two paths along the horizon.


and are the reference path and time-optimal trajectory in Frenet coordinates. The time-optimal trajectory is generated by the learning-based MPC trajectory planner used on a track without other agents, discussed in Sec. II-B. is an initial guess for the traveling distance at the -th step, which is equal to , where a constant longitudinal speed is assumed along the prediction horizon.

Iii-C3 State/Input Changing Rate Cost

To make the predicted trajectory smoother, the state/input changing rate cost is formulated as follow:


Iii-C4 Obstacle Avoidance Constraint

In order to generate a collision-free trajectory, collision avoidance constraint (7e) is added in the optimization problem. To reduce computational complexity, only linear lateral position constraint will be added when the ego vehicle overlapes with other vehicles longitudinally. will be used to check if the ego vehicle is overlapping with other vehicle longitudinally along the horizon. In (7e), shows the lateral position difference, and are the vehicle’s length and width, is a safe margin.

After parallel computation, the optimized trajectory with the minimum cost discussed in (6) will be selected from groups of optimization problems. It will be tracked by the MPC controller introduced in III-D.

Iii-D Overtaking Controller

After introducing the algorithm for trajectory generation, a low-level tracking controller with model predictive control used for overtaking will be discussed in this part. The constrained optimization problem is described as follows:


(11b), (11c), (11d) describe the constraints for system dynamics (4), input/state bounds and initial conditions, respectively. The represents the stage cost, which tracks the desired trajectory optimized by the trajectory planner. Equation (11e) with represents discrete-time control barrier function constraints [45] with relaxation ratio for feasibility [46], which could guarantee the system’s safety by guaranteeing along the horizon with forward invariance. In this project, is used to represent the distance between the ego vehicle and other vehicles. The optimization (11) allows us to find the optimal control in a manner similar to MPC.

Remark 2 ().

Notice that (7) uses a distance constraint for obstacle avoidance while (11) uses control barrier functions. The reason why we don’t combine these optimizations into one under dynamics (11b) is that this cascaded approach for trajectory generation and control is shown to be more computationally efficient and less likely to generate deadlock behavior.

Iv Results

Having illustrated our autonomous racing strategy in the previous section, we now show the performance of proposed algorithm. The setup and results of numerical simulations will be presented in the following part.

Iv-a Simulation Setup

In all simulations, all vehicles are 1:10 scale RC cars with a length of 0.4m and a width of 0.2m. Other vehicles drive along trajectories with fixed lateral deviation from track’s center line. The track’s width is set to 2 m. The horizon lengths for trajectory planner and controller are , and shared discretization time . In our custom-designed simulator, both state and input noises are considered. Surrounding vehicles’ speed and position information is used for trajectory generation. However, no interaction between the ego vehicle and other surrounding vehicles is included.

The optimization problems (7) and (11) are implemented in Python with CasADi [2] used as modeling language, are solved with IPOPT [4] on Ubuntu 18.04 on a laptop with a CPU i7-9850 processor at a 2.6Ghz clock rate.

Iv-B Racing With Other Vehicles

(a) Overtaking snapshots on curvy track segment. Other surrounding vehicles move at 1.3 m/s, 1.3 m/s and 1.35 m/s.
(b) Overtaking snapshots on straight track segment. Other surrounding vehicles all move at 1.2 m/s.
Fig. 7: Snapshots from simulation of the overtaking behavior. The red vehicle is the ego vehicle, the orange line shows the optimized trajectory from the planning strategy, and the dashed black line is the reference Bezier-curve used for generating the selected trajectory. Other vehicles are marked in blue with those in the ego vehicle’s range of overtaking marked in green. The solid blue line is the track’s boundary.

Snapshots shown in Fig. 7 illustrate examples of the overtaking behavior in both straight and curvy track segments when competing with other vehicles. When the ego vehicle competes with three surrounding vehicles, it could overtake them on one side of all vehicles (Fig. 6(a)) or between them (Fig. 6(b)). The animations of more challenging overtaking behavior can be found at As shown in TABLE I, the proposed racing planner could update at 25 Hz and could help the ego vehicle overtake multiple moving vehicles. By switching to a trajectory planning based on learning-based MPC, the ego vehicle is able to reach its speed and steering limit when there are no surrounding vehicles.

Speed Range [m/s] 0 - 0.4 0.4 - 0.8 0.8 - 1.2 1.2 - 1.6
mean [s] 1.613 2.312 3.857 13.095
min [s] 0.8 1.2 1.8 3.5
max [s] 3.6 5.2 21.6 36.1
TABLE II: Time taken to overtake the leading vehicle travelling at different speeds. For each group of speed range of the leading vehicles, 100 cases were simulated. The ego vehicle starts from the track’s origin. One other vehicle starts from a random position in the range of . The mean, min and max values show the average overtaking time, minimum overtaking time and maximum overtaking time for the corresponding group. In general, it takes more time to overtake faster moving vehicles on this track since they spend lesser time on the straight segments.

To better analyze the performance and limitations of our autonomous racing strategy in different scenarios, random tests are introduced under two groups. The first group of simulation aims to show the overtaking time for passing one leading vehicle with different speeds, and statistical results are summarized in TABLE II. We can observe that when the surrounding vehicles’ speed reaches between 1.2m/s and 1.6m/s, much more time is needed for the ego vehicle to overtake the leading vehicle. This is because as the leading vehicle’s speed increases, less space becomes available for the ego vehicle to drive safely. Especially in a curve, the ego vehicle’s speed limit decreases when less space can be used to make a turn. Since more than half of our track is with curves, the ego vehicle needs to wait for a straight segment to accelerate to pass the leading vehicle.

Speed Range [m/s] 0 - 0.4 0.4 - 0.8 0.8 - 1.2 1.2 - 1.6
Single 100 100 96 84
Two 100 100 98 66
Three 100 98 84 36
TABLE III: Overtaking success rate for the ego vehicle after one lap. For each group of speed range of the leading vehicles, 100 cases were simulated. The ego vehicle starts from the track’s origin. Other vehicles start from a random position in the range of . One to three leading cars were simulated.

The second group of simulation shows the proposed racing strategy’s success rate to overtake multiple leading vehicles in one lap, and statistical results are summarized in TABLE III. We can find that when more than one surrounding vehicle exists, much more space would be occupied by other vehicles. As a result, the ego vehicle might not have enough space to accelerate to high speed to pass surrounding vehicles. Although in these cases, the ego vehicle can not overtake all surrounding vehicles after one lap, our proposed racing strategy can still guarantee the ego vehicle’s safety along the track.

During our simulation, the mean solver time for our planner for single, two or three surrounding vehicles is 39.21ms, 39.41ms and 40.23ms. We also notice that when the number of surrounding vehicles is larger than three, the steady complexity still holds but the track becomes too crowded for the ego vehicle to achieve high success rate of overtake maneuver. This validates the steady low computational complexity of proposed planning strategy thanks to the parallel computation for multiple trajectory optimizations.

Moreover, the optimized multiple trajectory candidates offer more choices for overtaking, which helps the ego vehicle avoid deadlock.

Fig. 8: Speed and lateral deviation from the track’s center line. We illustrate our proposed strategy with three competing vehicles (orange line) as well as the learning-based MPC strategy without any competing vehicles (blue line). The highlighted red region shows the session for overtaking.

Iv-C Racing Without Other Vehicles

As discussed in Sec. III-A, when there are no other surrounding vehicles, the ego vehicle adopts the learning-based MPC formulation for trajectory generation and control. In this paper, the learning-based MPC uses historical data from two previous laps (implying in Fig. 3) and the initial data are calculated offline before the racing tasks. For the same setup as shown in Fig. 6(a), the ego vehicle’s speed and deviation from track’s center line along the track is shown with learning-based MPC’s profile in Fig. 8. The overtake maneuver happens in a hairpin curve and the curve’s apex is occupied by other moving vehicles, resulting in less space being available for the ego vehicle and thus causing it to slow down to avoid a potential collision. After it passes all surrounding vehicles, the ego vehicle goes back to drive at its speed and steering limit to achieve time-optimal behavior.

V Conclusion

In this paper, we have presented an autonomous racing strategy that enables an ego vehicle to enhance its lap timing performance while overtaking other moving vehicles. We have verified the performance of our proposed algorithm through numerical simulation, where several surrounding vehicles are simulated to start from random positions with random speeds on a track. Moreover, interaction between the ego vehicle and other surrounding vehicles will be considered in the future work. For instance, autonomous racing strategies such as blocking cars from overtaking are envisaged for the future.


  • [1] E. Alcalá, V. Puig, J. Quevedo, and U. Rosolia (2020) Autonomous racing using linear parameter varying-model predictive control (lpv-mpc). Control Engineering Practice 95, pp. 104270. Cited by: §I-B1.
  • [2] J. A. Andersson, J. Gillis, G. Horn, J. B. Rawlings, and M. Diehl (2019) CasADi: a software framework for nonlinear optimization and optimal control. Mathematical Programming Computation 11 (1), pp. 1–36. Cited by: §IV-A.
  • [3] J. Bhargav, J. Betz, H. Zheng, and R. Mangharam (2021) Track based offline policy learning for overtaking maneuvers with autonomous racecars. In 2021 IEEE International Conference on Robotics and Automation (ICRA) Workshop for “Opportunities and Challenges with Autonomous Racing”, Cited by: §I-B1.
  • [4] L. T. Biegler and V. M. Zavala (2009) Large-scale nonlinear programming using ipopt: an integrating framework for enterprise-wide dynamic optimization. Computers & Chemical Engineering 33 (3), pp. 575–582. Cited by: §IV-A.
  • [5] S. A. Bonab and A. Emadi (2019) Optimization-based path planning for an autonomous vehicle in a racing track. In IECON 2019 - 45th Annual Conference of the IEEE Industrial Electronics Society, Vol. 1, pp. 3823–3828. Cited by: §I-B1.
  • [6] T. Brüdigam, A. Capone, S. Hirche, D. Wollherr, and M. Leibold (2021) Gaussian process-based stochastic model predictive control for overtaking in autonomous racing. In 2021 IEEE International Conference on Robotics and Automation (ICRA) Workshop for “Opportunities and Challenges with Autonomous Racing”, Cited by: §I-B2, TABLE I.
  • [7] D. Caporale, A. Settimi, F. Massa, F. Amerotti, A. Corti, A. Fagiolini, M. Guiggiani, A. Bicchi, and L. Pallottino (2019) Towards the design of robotic drivers for full-scale self-driving racing cars. In 2019 International Conference on Robotics and Automation (ICRA), Vol. , pp. 5643–5649. Cited by: §I-B1.
  • [8] J. Chen, P. Zhao, T. Mei, and H. Liang (2013) Lane change path planning based on piecewise bezier curve for autonomous vehicle. In Proceedings of 2013 IEEE International Conference on Vehicular Electronics and Safety, Vol. , pp. 17–22. Cited by: §III-B.
  • [9] H. Febbo, J. Liu, P. Jayakumar, J. L. Stein, and T. Ersal (2017) Moving obstacle avoidance for large, high-speed autonomous ground vehicles. In 2017 American Control Conference (ACC), Vol. , pp. 5568–5573. Cited by: §I-B1, TABLE I.
  • [10] F. Fuchs, Y. Song, E. Kaufmann, D. Scaramuzza, and P. Dürr (2021) Super-human performance in gran turismo sport using deep reinforcement learning. IEEE Robotics and Automation Letters 6 (3), pp. 4257–4264. Cited by: §I-B2, TABLE I.
  • [11] J. Y. Goh, T. Goel, and J. Christian Gerdes (2020) Toward automated vehicle control beyond the stability limits: drifting along a general path. Journal of Dynamic Systems, Measurement, and Control 142 (2), pp. 021004. Cited by: §I-B.
  • [12] L. Han, H. Yashiro, H. Tehrani Nik Nejad, Q. H. Do, and S. Mita (2010) Bézier curve based path planning for autonomous vehicle in urban environment. In 2010 IEEE Intelligent Vehicles Symposium, Vol. , pp. 1036–1042. Cited by: §III-B.
  • [13] S. He, J. Zeng, B. Zhang, and K. Sreenath (2021) Rule-based safety-critical control design using control barrier functions with application to autonomous lane change. In 2021 American Control Conference (ACC), Vol. , pp. 178–185. Cited by: §I-B.
  • [14] A. Heilmeier, A. Wischnewski, L. Hermansdorfer, J. Betz, M. Lienkamp, and B. Lohmann (2019) Minimum curvature trajectory planning and control for an autonomous race car. Vehicle System Dynamics. Cited by: §I-B1, TABLE I.
  • [15] L. Hewing, A. Liniger, and M. N. Zeilinger (2018) Cautious nmpc with gaussian process dynamics for autonomous miniature race cars. In 2018 European Control Conference (ECC), Vol. , pp. 1341–1348. Cited by: §I-B2, TABLE I.
  • [16] A. Jain and M. Morari (2020) Computing the racing line using bayesian optimization. In 2020 59th IEEE Conference on Decision and Control (CDC), Vol. , pp. 6192–6197. Cited by: §I-B1.
  • [17] C. Jung, S. Lee, H. Seong, A. Finazzi, and D. H. Shim (2021) Game-theoretic model predictive control with data-driven identification of vehicle model for head-to-head autonomous racing. In 2021 IEEE International Conference on Robotics and Automation (ICRA) Workshop for “Opportunities and Challenges with Autonomous Racing”, Cited by: §I-B1.
  • [18] J. Kabzan, L. Hewing, A. Liniger, and M. N. Zeilinger (2019) Learning-based model predictive control for autonomous racing. IEEE Robotics and Automation Letters 4 (4), pp. 3363–3370. Cited by: §I-B2, TABLE I.
  • [19] N. R. Kapania, J. Subosits, and J. Christian Gerdes (2016) A sequential two-step algorithm for fast generation of vehicle racing trajectories. Journal of Dynamic Systems, Measurement, and Control 138 (9). Cited by: §I-B1.
  • [20] N. R. Kapania and J. C. Gerdes (2020) Learning at the racetrack: data-driven methods to improve racing performance over multiple laps. IEEE Transactions on Vehicular Technology 69 (8), pp. 8232–8242. Cited by: §I-B2, TABLE I.
  • [21] H. Krasowski, X. Wang, and M. Althoff (2020) Safe reinforcement learning for autonomous lane changing using set-based prediction. In 2020 IEEE 23rd International Conference on Intelligent Transportation Systems (ITSC), Vol. , pp. 1–7. Cited by: §I-B.
  • [22] N. Li, E. Goubault, L. Pautet, and S. Putot (2021) Autonomous racecar control in head-to-head competition using mixed-integer quadratic programming. Technical report Institut Polytechnique de Paris. Cited by: §I-B2.
  • [23] A. Liniger, A. Domahidi, and M. Morari (2015) Optimization-based autonomous racing of 1: 43 scale rc cars. Optimal Control Applications and Methods 36 (5), pp. 628–647. Cited by: §I-B1.
  • [24] A. Liniger and J. Lygeros (2020) A noncooperative game approach to autonomous racing. IEEE Transactions on Control Systems Technology 28 (3), pp. 884–897. Cited by: §I-B1, TABLE I.
  • [25] D. Loiacono, L. Cardamone, and P. L. Lanzi (2013) Simulated car racing championship: competition software manual. arXiv preprint arXiv:1304.1672. Cited by: §I-B.
  • [26] Y. Lyu, W. Luo, and J. M. Dolan (2021) Probabilistic safety-assured adaptive merging control for autonomous vehicles. In 2021 IEEE International Conference on Robotics and Automation (ICRA), Vol. , pp. 10764–10770. Cited by: §I-B.
  • [27] R. Oliveira, F. H. M. Rocha, L. Ott, V. Guizilini, F. Ramos, and V. Grassi (2018) Learning to race through coordinate descent bayesian optimisation. In 2018 IEEE International Conference on Robotics and Automation (ICRA), Vol. , pp. 6431–6438. Cited by: §I-B2.
  • [28] E. Perot, M. Jaritz, M. Toromanoff, and R. De Charette (2017) End-to-end driving in a realistic racing game with deep reinforcement learning. In

    Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition Workshops

    pp. 3–4. Cited by: §I-B2.
  • [29] X. Qian, I. Navarro, A. de La Fortelle, and F. Moutarde (2016) Motion planning for urban autonomous driving using bézier curves and mpc. In 2016 IEEE 19th International Conference on Intelligent Transportation Systems (ITSC), Vol. , pp. 826–833. Cited by: §III-B.
  • [30] R. Rajamani (2011) Vehicle dynamics and control. Springer Science & Business Media. Cited by: §II-A.
  • [31] A. Remonda, S. Krebs, E. Veas, G. Luzhnica, and R. Kern (2019) Formula rl: deep reinforcement learning for autonomous racing using telemetry data. In IJCAI Workshop on Scaling-Up Reinforcement Learning: SURL@IJCAI, Cited by: §I-B2.
  • [32] U. Rosolia and F. Borrelli (2018) Learning model predictive control for iterative tasks. a data-driven control framework. IEEE Transactions on Automatic Control 63 (7), pp. 1883–1896. Cited by: §I-B2, TABLE I, §II-B2, §II-B.
  • [33] U. Rosolia, S. De Bruyne, and A. G. Alleyne (2017) Autonomous vehicle control: a nonconvex approach for obstacle avoidance. IEEE Transactions on Control Systems Technology 25 (2), pp. 469–484. Cited by: §I-B2.
  • [34] M. Schmidt, C. Manna, J. H. Braun, C. Wissing, M. Mohamed, and T. Bertram (2019) An interaction-aware lane change behavior planner for automated vehicles on highways based on polygon clipping. IEEE Robotics and Automation Letters 4 (2), pp. 1876–1883. Cited by: §I-B.
  • [35] Y. Song, H. Lin, E. Kaufmann, P. Dürr, and D. Scaramuzza (2021) Autonomous overtaking in gran turismo sport using curriculum reinforcement learning. In 2021 IEEE International Conference on Robotics and Automation (ICRA), Vol. , pp. 9403–9409. Cited by: §I-B2.
  • [36] S. Srinivasan, S. Nicolas Giles, and A. Liniger (2021) A holistic motion planning and control solution to challenge a professional racecar driver. IEEE Robotics and Automation Letters 6 (4), pp. 7854–7860. Cited by: §I-B1.
  • [37] T. Stahl, A. Wischnewski, J. Betz, and M. Lienkamp (2019) Multilayer graph-based trajectory planning for race vehicles in dynamic scenarios. In 2019 IEEE Intelligent Transportation Systems Conference (ITSC), Vol. , pp. 3149–3154. Cited by: §I-B1, TABLE I.
  • [38] K. L. Talvala, K. Kritayakirana, and J. C. Gerdes (2011) Pushing the limits: from lanekeeping to autonomous racing. Annual Reviews in Control 35 (1), pp. 137–148. Cited by: §I-B.
  • [39] J. L. Vázquez, M. Brühlmeier, A. Liniger, A. Rupenyan, and J. Lygeros (2020) Optimization-based hierarchical motion planning for autonomous racing. In 2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Vol. , pp. 2397–2403. Cited by: §I-B.
  • [40] S. N. Wadekar, B. J. Schwartz, S. S. Kannan, M. Mar, R. K. Manna, V. Chellapandi, D. J. Gonzalez, and A. E. Gamal (2021)

    Towards end-to-end deep learning for autonomous racing: on data collection and a unified architecture for steering and throttle prediction

    arXiv preprint arXiv:2105.01799. Cited by: §I-B2.
  • [41] M. Wang, Z. Wang, J. Talbot, J. C. Gerdes, and M. Schwager (2021) Game-theoretic planning for self-driving cars in multivehicle competitive scenarios. IEEE Transactions on Robotics 37 (4), pp. 1313–1325. Cited by: §I-B1, TABLE I.
  • [42] R. Wang, Y. Han, and U. Vaidya (2021) Deep koopman data-driven optimal control framework for autonomous racing. Technical report EasyChair. Cited by: §I-B2.
  • [43] A. Wischnewski, J. Betz, and B. Lohmann (2019) A model-free algorithm to safely approach the handling limit of an autonomous racecar. In 2019 IEEE International Conference on Connected Vehicles and Expo (ICCVE), Vol. , pp. 1–6. Cited by: §I-B.
  • [44] W. Yao, H. Zhao, F. Davoine, and H. Zha (2012) Learning lane change trajectories from on-road driving data. In 2012 IEEE Intelligent Vehicles Symposium, Vol. , pp. 885–890. Cited by: §I-B.
  • [45] J. Zeng, Z. Li, and K. Sreenath (2021) Enhancing feasibility and safety of nonlinear model predictive control with discrete-time control barrier functions. In 2021 Conference on Decision and Control (CDC), Vol. , pp. 6137–6144. Cited by: §III-D.
  • [46] J. Zeng, B. Zhang, Z. Li, and K. Sreenath (2021) Safety-critical control using optimal-decay control barrier function with guaranteed point-wise feasibility. In American Control Conference (ACC), Vol. , pp. 3856–3863. Cited by: §III-D.
  • [47] J. Zeng, B. Zhang, and K. Sreenath (2021) Safety-critical model predictive control with discrete-time control barrier function. In American Control Conference (ACC), Vol. , pp. 3882–3889. Cited by: §I-B2, TABLE I.