# Predictive Path Following and Collision Avoidance of Autonomous Connected Vehicles
## 1 Introduction  
Autonomous driving has gained a lot of attention in the last decade, from both industry and academia, due to its anticipated impacts on the enhancement of traffic efficiency. There are many types of controllers that can be used for autonomous driving. In [1], sensitivity analysis is used to design an automatic path following controller by means of an automatic modification of desired output trajectories. A novel path planning algorithm is presented in [2] for planning and execution of heavy multi-body vehicles with multi-axle steering. Sliding mode control is used in [3] for trajectory tracking and control of autonomous high-speed ground vehicles.  
Nonlinear Model Predictive Control (NMPC) has proven successful results and has been employed in many recent publications [4; 5] because it combines both control and collision avoidance into one algorithm which can be used for critical maneuvers. It is an optimization-based controller that has been widely used for various transportation systems such as autonomous ships [6] and autonomous vehicles [4]. It is mainly used for two famous problems: Trajectory tracking and path following. Recently, it started to get attention to be used for collision avoidance because of its ability to handle nonlinear constraints [7]. In [8], NMPC is used for the trajectory tracking of a scaled autonomous racing car with a higher level planner to account for collision avoidance by building local approximations of the controls from linearized time-varying models. A bi-level NMPC is developed in [9] for intersection scenarios to allocate and update optimal and collision-free timeslots when each vehicle is allowed to occupy the intersection, and provide optimal actuation commands given the allocated timeslots using another low level controller. Experimental validation of NMPC is given in [4] to show that online nonlinear optimization tools are efficient for real-time applications on hardware with limited processing resources, and a comparison of different embedded nonlinear optimization algorithmsfor autonomous vehicle control is provided. In [10], a legible model predictive control scheme is presented for overtaking of autonomous vehicles on highways in order to enhance the safety and improve the efficiency.  
It has been shown recently in [11] that NMPC can meet the safety and robustness requirements of autonomous systems by demonstrating some real world scenarios of autonomous driving under consideration of unknown obstacles. The issue of critical maneuvers of autonomous vehicles is discussed in [12], where a real-time trajectory planning is achieved using model predictive control employing homotopic classes to avoid the computation complexity of sophisticated models.  
The main contribution of this work is to fill the gap in NMPC algorithms for autonomous driving by employing paths and road corridors that could be obtained directly from existing digital maps.  
This paper is organized as follows. Section 2 describes the vehicle model employed by NMPC, the generation of the reference trajectory, and clarifies the control objective. The controller synthesis is presented in Section 3: A brief introduction of NMPC is given first for the trajectory tracking of the vehicle, followed by how to utilize state and control constraints for comfort driving. After that, the development of the collision avoidance constraints is presented, followed by some guidelines for the implementation of the dynamic optimization problem and the software used for that. MATLAB-based simulation results are given in Section 4. Section 5 concludes this paper and provide our outlook for future work.