  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.
