## 2 Related Studies  
### Control  
The first challenge when implementing an autonomous vehicle is the design of a proper controller. Researchers have made significant efforts to improve the performance of path-tracking by the controllers in vehicles. Many studies have implemented a variety of different control approaches to control autonomous vehicles. Earlier studies endeavored to employ widely used model-free controllers such as the proportional-integral-differential (PID) controller method [2]. However, in situations where the system parameters change over a wide range, the PID controllers are not suitable approaches [3]. The second problem is the tuning of this type of controller. In order to alleviate the latter problem, some researchers have proposed artificial intelligence methods for auto-tuning in the controller. The controller, however, still lacks proper stability in challenging driving scenarios [4; 5]. The Stanley method [6] is another widely used algorithm that has been employed in many studies [7; 8]. This method originally was designed for lateral motion control, and it did not take into account the longitudinal motion control of the vehicle. Although the method improves the performance of the lateral controller, it still lacks the capability to consider the dynamic properties such as forces that usually appear at high speeds. A Pure Pursuit controller is another widely used control approach in ground vehicles [9]. The controller was initially introduced as a path-tracking method for ground robots. The approach uses the nearest forward point on the path with respect to the present position as a look-ahead distance to adjust the steering commands. However, the controller has some problems. First, the controller is not able to track straight trajectories between two consecutive points. In order to get an optimized response, the controller parameters must be tuned carefully for different speed classes. The second problem is that the controller is not able to stabilize the vehicle on a specific point. As a solution, a threshold must be defined to stop the car when it approaches a destination point [10]. According to many previous comparison studies [11; 12; 13], it has been proven that optimal control approaches provide far more acceptable performance of ground vehicle control as compared with traditional model-free approaches and geometric path tracking algorithms [14]. Although different types of optimal control algorithms have been used in vehicle control, model predictive control (MPC) is the most usable method [15]. The controller has several advantages over other control algorithms. Firstly, it can control a multi-input multi-output system, which might have severe interactions between input and output. Secondly, the controller is able to take into account several soft and hard constraints [16]. A linear model predictive control with an optimization problem solver is used to predict both ensuing states of the system and a series of proper control inputs. However, a linear model often is not adequate to describe the nonlinear behavior of the dynamic model in ground vehicles. As an alternative, a nonlinear model is used instead of the linear model [17]. As the ordinary MPC cannot take the nonlinear dynamic model as its prediction model, researchers have introduced a new optimal model predictive control approach called the nonlinear model predictive control (NMPC), in which a nonlinear model of the plant is used to predict the forward reaction of the system during ensuing states (see Section 4.2). Most studies have used a dynamic bicycle model combined with a linear tire model as a vehicle model for MPC [18]. This approach, however, comes with two main drawbacks. It is computationally heavy and the tire model approaches its singularity points at low vehicle velocities. Generally, tire models consider the sideslip angle estimator term, which has the vehicle speed in the denominator.