# Path Tracking Method Based on Model Predictive Control and Genetic Algorithm for Autonomous Vehicle

Authors: Meng Wang; Juexuan Chen; Hanwen Yang; Xin Wu; Longjiao Ye
Journal: Mathematical Problems in Engineering
 (2022)

---

## Abstract

Model predictive control (MPC) is often used for controlling the autonomous vehicle tracking the target path. But to apply MPC schemes, the nonlinear model of vehicle kinematics needs to be approximately converted to a linear format, and the path tracking problem has to be converted into certain formats in order to implement the solver of convex quadratic programming. To solve these issues, a control strategy combining MPC and genetic algorithm (GA) is put forward. The nonlinear predictive model is adopted to predict the future movement of a controlled vehicle. The objective function is established according to the future movement and target path. Instead of using a convex quadratic programming solver, GA is applied to solve the optimization problem. The proposed MPC-GA method can handle the arbitrary nonlinear problem and make the objective function more comprehensible and flexible. This method is applied in solving the path tracking problem of an autonomous vehicle. Both simulations and on-field tests are conducted. The results validate the efficiency of the proposed MPC-GA path tracking method in comparison with traditional methods. With the MPC-GA controller, the automatic driving on the park road is basically realized. The control strategy can be considered as an alternative method to solve the path tracking problem for an autonomous vehicle.


---

## Body

## 1. Introduction

With the rapid development of artificial intelligence, autonomous vehicle arouses more and more scholars’ interest [1]. Generally speaking, the autonomous vehicle can be divided into three modules: perception, decision and planning, and trajectory control. The trajectory control contains lateral control (path tracking) and longitudinal control. The aim of path tracking is to track the target trajectory in a fast and exact way under the limit of operation conditions and restrictions [2, 3]. As one of the most important parts, path tracking control has been a significant research topic.Traditional control methods, such as PID [4] and fuzzy control [5], are widely used in path tracking control or steering control. They have the characteristic of simple structure and quick response. Because PID control and fuzzy control generate the steering actions exclusively based on the tracking errors without requiring the vehicle information, it is unnecessary to set up an explicit mathematical model of the controlled vehicle. Single PID controller or single fuzzy controller is poor of precision, so some scholars propose neural network PID control method [6, 7] and fuzzy-PID control method [8, 9]. The type of composite control system improves the tracking precision to some extent. However, traditional control methods fail to consider the actuator saturation and physical limit [10] and only take into account the current deviation between the actual state and ideal state, instead of future deviation. What is more, traditional methods generally require a labor-intensive tuning task to achieve acceptable path tracking performance.Pure Pursuit (PP) algorithm is another simple approach for path tracking. Due to the simplicity of its math model, the PP algorithm is chosen as the main algorithm for path controlling of Ackermann steering vehicles [11, 12]. PP, as a geometric control algorithm, determines the look-ahead point according to the look-ahead distance, then obtains the vehicle steering angle control input according to the current heading angle and the distance between the current position and the look-ahead point position, so that the vehicle follows an arc trajectory passing through the look-ahead point [13]. PP control method is also applied for the path tracking problem of four-wheel independent steering robot [14]. The path tracking control is realized considering the correlation between the look-ahead distance and velocity, as well as the lateral error between the robot and the reference path.In recent years, some new control theories and applications have been extensively developed, such as model predictive control [15], model-free control (MFC) [16], and static output feedback control (SOF) [17]. More and more scholars put forward the MPC into autonomous vehicle [18, 19]. MPC controller design is based on an identified model from experimental data in open loop. The model is represented in state-space form, and the future values of the state trajectory and output variables are used as optimization objective with respect to the future values of the control signal [20]. The MPC objective is a finite time quadratic cost function accounting for output error and control amplitude. The goal of MPC is to compute a future control sequence in a defined horizon that can drive the vehicle close to the reference path. This is accomplished by minimizing a multistage cost function with respect to the future control actions, considering a set of constraints both in the control actions and the plant outputs [21]. Different methods, such as PP, Stanley, Linear Quadratic Regulator (LQR), and MPC with Ackermann steering model are investigated [22], and these methods are tested on different shape paths in simulation experiments. It is demonstrated that the performance of the MPC controller is better than those using Pure Pursuit and Stanley controllers.In fact, vehicle motion is a kind of nonlinear time-varying system. In most academic studies [23, 24], the nonlinear time-varying model is approximately transformed into a linear time-invariant model. The purpose of this approximate treatment is to facilitate calculations. However, those ignored nonlinear factor and time variation factor will induce unacceptable errors. At the same time, the solving process of MPC with restrictions is often changed into a constrained quadratic programming problem. Solving this quadratic programming problem remains a difficult task, and only a few results have been presented in the literature [25, 26]. Taking into account the above facts, this study proposes an approach for introducing GA into the MPC process. On one hand, the nonlinear time-varying model of vehicle motion is used directly to predict future values of the state trajectory and output variables, instead of approximate treatment. With accurately predicting future values, the objective function value is obtained by comparing the predicted values and reference values. On the other hand, GA is introduced to search for the optimal solution. GA is an adaptive global optimization probabilistic search algorithm that is inspired by referring to natural selection and evolution mechanisms in the biological world. Using a genetic algorithm, the global optimal control signal can be obtained, instead of solving the quadratic programming problem. The scheme to implement GA is much simpler than traditional MPC. To implement the proposed MPC-GA, random solutions are generated according to the encoding principle of GA first. With the given solutions, a nonlinear time-varying model is used to forecast future travel paths. Then, the forecast paths are evaluated according to their deviation from the reference path. After the evolution processing including selection, mutation, and crossover operations, the optimal solution will be obtained. Lastly, the optimal solution is converted to an executable control quantity.The remainder of this study is organized as follows: Section2 describes the basic mathematical models about vehicle motion and traditional MPC. Section 3 introduces the proposed MPC-GA method. The specific application scheme of MPC-GA is described in Section 4. At last, Section 5 displays the simulation and experiment results. This study ends with the conclusions of this work in Section 6.


## 2. Basic Mathematical Model

The mathematical model of vehicle motion involves a kinematics aspect and a dynamic aspect. Generally, the kinematic model is suitable for control law design at a low speed [27]. In this study, we focus on autonomous technology in defined areas, such as the industrial park, tourism areas, and campus roads. So, the allowed vehicle speed is usually limited within 40 km/h, and only the kinematic model is taken into account. In fact, the vehicle kinematics model is a nonlinear system. The mathematical model has to be transformed into a linear format. Then, linear MPC can be chosen for implementation.


### 2.1. Vehicle Kinematics Model

A simplified bicycle kinematics model is used to describe vehicle motion at low speed. For the sake of simplified analysis, it is assumed that the machine moves at a low constant speed over a flat surface with no wheel slippage and the wheels are considered rigid wheels [28]. Usually, the automotive rear axle center is regarded as the reference point, and the control task is to make the center point follow the target path. According to the kinematics analysis, the vehicle’s motion equation is given as [29, 30]:(1)x˙=vcosθ,y˙=vsinθ,θ˙=vtanδL,where (x, y) is displacement in the global reference frame coordinates as illustrated in Figure 1, θ is the heading angle of the vehicle, v is the longitudinal velocity at the middle of the rear axis, L is the wheel base, and δ is the steering angle of the front wheel.Figure 1
The kinematics model of simplified bicycle.The vehicle kinematics model can be expressed as a nonlinear equation shown in (2). The state variable is X(t) = [x(t) y(t) θ(t)]T, and the control amount is U(t) = [v (t) δ(t)]T. In practical application, as the vehicle speed changes slightly in a short period of time, the speed control variable v is considered approximately constant.(2)X˙t=fXt,Ut.


### 2.2. Linear Predictive Model

Because the discrete state-space model is generally adopted for the controlled system in MPC, the nonlinear continuous state model of the vehicle should be linearized and discretized [31]. Ignoring higher-order derivatives, Taylor expansion is performed at an arbitrary reference point (Xr(t), Ur(t)) with a nonlinear state equation:(3)X˙t=fXrt,Urt+∂f∂XX=XrU=UrXt,Xrt+∂f∂UX=XrU=UrUt,Urt,where ∂f/∂XX=XrU=Ur and ∂f/∂UX=XrU=Ur represent the Jacobian matrix of the path tracking system with respect to the state quantity X(t) and the control quantity U(t) respectively, Xr(t) represents the reference state with Xr(t) = [xr(t) yr(t) θr(t)]T, and Ur(t) represents the reference control amount with Ur = [vr (t) δr(t)]T.Combining (2) and (3), the linear model (4), namely the error equation of the vehicle, can be obtained. The linear model (4) describes the dynamic characteristics of error signals. ΔX represents the error signal with ΔX = X(t)-Xr(t), and ΔU(t) denotes the control input error with ΔU(t) = U(t)-Ur(t). At the same time, matrices A(t) and B(t) are the Jacobians of system in relation to X(t) and U(t) respectively.(4)ΔX˙t=AtΔXt+BtΔUt.Using Euler’s method, a time-variant discrete linear model is obtained as (5), and equation (6) is the corresponding output function.(5)ΔXk+1=ΔAkΔXk+ΔBXΔUk,(6)ΔYk+1=ΔCkΔXk+1.Further, linear MPC constructs the state quantityXδ(k) = [ΔX(k) ΔU(k-1)]T and control increment Uδ(k) = [ΔU(k) ΔU(k-1)]T, so as to obtain the linear predictive model and output model as (7) and (8).(7)Xδk+1=AδkXδk+BδkUδk,(8)Yδk+1=CδkXδk+1.The prediction horizon and control horizon of the controller based on MPC are set toNP and NC, then the outputs over the prediction horizon NP can be derived according to (9):(9)Yδk+1|kYδk+2|k⋮Yδk+Nc|k⋮Yδk+Np|k=CδAδCδAδ2⋮CδAδNc⋮CδAδNp=CδBδ0⋯0CδAδBδCδBδ⋯0⋮⋮⋱⋮CδAδNc−1BδCδAδNc−2Bδ⋯CδBδ⋮⋮⋯⋮CδAδNp−1BδCδAδNp−2Bδ⋯CδAδNp−NcBδUδk|kUδk+1|k⋮Uδk+Nc−1|k.In (9), we make an approximation that uses time-invariant model to replace the time-varying model, in order to facilitate the analysis and calculation. By the above process, the state variables and output variables can be predicted at each future time step, which will be compared with the corresponding reference variables.


### 2.3. Objective Function and Optimization Problem

The optimization problem can be understood as follows: to find the control inputs in a bounded group of possible values that drive the state variables from an initial position to the origin. Therefore, an objective function is designed, which regards the control quantityUδ as the variable. To ensure tracking the target signal quickly and smoothly, the objective function is always designed as (10). The first term of the formula represents weighting error between the predicted value and the target signal. It reflects the path tracking performance. The second term considers the volatility of control quantities, which is to ensure the control quantities change smoothly. Coefficients qi and ri represent the weight respectively. At the same time, some constraint conditions are given as (11):(10)J=∑i=1NpY−YrTqiY−Yr+∑j=0Nc−1U−UrTrjU−Ur,(11)ΔUmin≤ΔU≤ΔUmax.With some transformation, the above problem is transformed into solving the following single objective optimization problem with upper and lower bounds:(12)minJ=∑i=1NpYδK+i|kQ+∑j=0Nc−1ΔUδK+j|kR,s.t.ΔUδmin≤ΔUδ≤ΔUδmax.The above optimization problem is a typical convex quadratic programming problem with linear constraints. Some previous works [32, 33] have provided the methods to solve this kind of problem, and we will not repeat them here.When applying MPC schemes, the nonlinear model of vehicle kinematics needs to be converted to a linear format, and the path tracking problem has to be converted into certain formats in order to implement the solver of convex quadratic programming. However, those ignored nonlinear factor and time variation factor will induce unacceptable errors. Also, solving this quadratic programming problem remains a difficult task.


## 2.1. Vehicle Kinematics Model

A simplified bicycle kinematics model is used to describe vehicle motion at low speed. For the sake of simplified analysis, it is assumed that the machine moves at a low constant speed over a flat surface with no wheel slippage and the wheels are considered rigid wheels [28]. Usually, the automotive rear axle center is regarded as the reference point, and the control task is to make the center point follow the target path. According to the kinematics analysis, the vehicle’s motion equation is given as [29, 30]:(1)x˙=vcosθ,y˙=vsinθ,θ˙=vtanδL,where (x, y) is displacement in the global reference frame coordinates as illustrated in Figure 1, θ is the heading angle of the vehicle, v is the longitudinal velocity at the middle of the rear axis, L is the wheel base, and δ is the steering angle of the front wheel.Figure 1
The kinematics model of simplified bicycle.The vehicle kinematics model can be expressed as a nonlinear equation shown in (2). The state variable is X(t) = [x(t) y(t) θ(t)]T, and the control amount is U(t) = [v (t) δ(t)]T. In practical application, as the vehicle speed changes slightly in a short period of time, the speed control variable v is considered approximately constant.(2)X˙t=fXt,Ut.


## 2.2. Linear Predictive Model

Because the discrete state-space model is generally adopted for the controlled system in MPC, the nonlinear continuous state model of the vehicle should be linearized and discretized [31]. Ignoring higher-order derivatives, Taylor expansion is performed at an arbitrary reference point (Xr(t), Ur(t)) with a nonlinear state equation:(3)X˙t=fXrt,Urt+∂f∂XX=XrU=UrXt,Xrt+∂f∂UX=XrU=UrUt,Urt,where ∂f/∂XX=XrU=Ur and ∂f/∂UX=XrU=Ur represent the Jacobian matrix of the path tracking system with respect to the state quantity X(t) and the control quantity U(t) respectively, Xr(t) represents the reference state with Xr(t) = [xr(t) yr(t) θr(t)]T, and Ur(t) represents the reference control amount with Ur = [vr (t) δr(t)]T.Combining (2) and (3), the linear model (4), namely the error equation of the vehicle, can be obtained. The linear model (4) describes the dynamic characteristics of error signals. ΔX represents the error signal with ΔX = X(t)-Xr(t), and ΔU(t) denotes the control input error with ΔU(t) = U(t)-Ur(t). At the same time, matrices A(t) and B(t) are the Jacobians of system in relation to X(t) and U(t) respectively.(4)ΔX˙t=AtΔXt+BtΔUt.Using Euler’s method, a time-variant discrete linear model is obtained as (5), and equation (6) is the corresponding output function.(5)ΔXk+1=ΔAkΔXk+ΔBXΔUk,(6)ΔYk+1=ΔCkΔXk+1.Further, linear MPC constructs the state quantityXδ(k) = [ΔX(k) ΔU(k-1)]T and control increment Uδ(k) = [ΔU(k) ΔU(k-1)]T, so as to obtain the linear predictive model and output model as (7) and (8).(7)Xδk+1=AδkXδk+BδkUδk,(8)Yδk+1=CδkXδk+1.The prediction horizon and control horizon of the controller based on MPC are set toNP and NC, then the outputs over the prediction horizon NP can be derived according to (9):(9)Yδk+1|kYδk+2|k⋮Yδk+Nc|k⋮Yδk+Np|k=CδAδCδAδ2⋮CδAδNc⋮CδAδNp=CδBδ0⋯0CδAδBδCδBδ⋯0⋮⋮⋱⋮CδAδNc−1BδCδAδNc−2Bδ⋯CδBδ⋮⋮⋯⋮CδAδNp−1BδCδAδNp−2Bδ⋯CδAδNp−NcBδUδk|kUδk+1|k⋮Uδk+Nc−1|k.In (9), we make an approximation that uses time-invariant model to replace the time-varying model, in order to facilitate the analysis and calculation. By the above process, the state variables and output variables can be predicted at each future time step, which will be compared with the corresponding reference variables.


## 2.3. Objective Function and Optimization Problem

The optimization problem can be understood as follows: to find the control inputs in a bounded group of possible values that drive the state variables from an initial position to the origin. Therefore, an objective function is designed, which regards the control quantityUδ as the variable. To ensure tracking the target signal quickly and smoothly, the objective function is always designed as (10). The first term of the formula represents weighting error between the predicted value and the target signal. It reflects the path tracking performance. The second term considers the volatility of control quantities, which is to ensure the control quantities change smoothly. Coefficients qi and ri represent the weight respectively. At the same time, some constraint conditions are given as (11):(10)J=∑i=1NpY−YrTqiY−Yr+∑j=0Nc−1U−UrTrjU−Ur,(11)ΔUmin≤ΔU≤ΔUmax.With some transformation, the above problem is transformed into solving the following single objective optimization problem with upper and lower bounds:(12)minJ=∑i=1NpYδK+i|kQ+∑j=0Nc−1ΔUδK+j|kR,s.t.ΔUδmin≤ΔUδ≤ΔUδmax.The above optimization problem is a typical convex quadratic programming problem with linear constraints. Some previous works [32, 33] have provided the methods to solve this kind of problem, and we will not repeat them here.When applying MPC schemes, the nonlinear model of vehicle kinematics needs to be converted to a linear format, and the path tracking problem has to be converted into certain formats in order to implement the solver of convex quadratic programming. However, those ignored nonlinear factor and time variation factor will induce unacceptable errors. Also, solving this quadratic programming problem remains a difficult task.


## 3. Control Method Based on MPC-GA

Considering that GA is an adaptive heuristic search technique inspired by the evolutionary ideas of natural selection and genetics [34, 35], this section constructs a new control method that combines MPC and GA. Compared with traditional MPC, it is no need to convert the nonlinear model to a linear format or implement the solver of convex quadratic programming.MPC-GA uses a population of points at a time in contrast to the single-point approach by traditional MPC methods. The convergence is monotonic and a global solution is obtained. The solving process of the MPC-GA method can be generally divided into three steps. First of all, a group of random solutions are initialized complying with GA encoding rules. The solution group is considered as the initial population and each solution is considered as an individual. Next, MPC provides the prediction model, and the predictive model is utilized to predict the state variables and output variables at each time step. The predictive variables will be compared with the corresponding reference variables, which is to construct the objective function. The objective function will be used for calculating the fitness value that is used in the selection process of GA. Lastly, selection, mutation, and crossover operations on the genes of individuals are conducted based on the principles of GA, and iterative operation is implemented in order to search optimal individual or solution.


### 3.1. Control Structure of MPC-GA

The control system diagram is shown in Figure2. Vehicle sensors provide all measured variables that contain the current vehicle position. According to the current position displayed on the global map, the local reference input is generated. The reference input Yr is in fact a path segment that starts from the current position and ends at a certain distance ahead. The sensors also provide the measured variables that constitute initial state X0. With the MPC-GA controller, a control quantity will be calculated and output to the controlled object.Figure 2
The control system diagram of MPC-GA.The working principle of MPC-GA controller: in each control cycle, initial solutions {Ui} are generated randomly. Given the initial candidate solutions and the current state of controlled object, the corresponding predicted outputs {Yp} are obtained according to the nonlinear predictive model. Through the iterative optimization of GA, the final solution U(t) that minimizes the deviation between the reference signal Yr and predicted output {Yp} is searched. Lastly, the optimal solution is applied to the controlled object, and the control task of the current control cycle is finished. With the passage of time, the output of controlled object gradually approximates the desired signal. Figure 3 shows the difference between MPC-GA and traditional MPC.Figure 3
Comparing of the control algorithms.According to Figure3, MPC-GA is based on the principle and implementation steps of traditional MPC. The main improvements are: (1) MPC-GA directly uses the nonlinear time-varying model of vehicle as the predictive model to predict the states and outputs, instead of using an approximate predictive model. Therefore, the predicted states and outputs are more accurate. (2) MPC-GA is able to deal with the free-form objective function, including the quadratic objective function. (3) Given the objective function, MPC-GA utilizes the genetic algorithm to solve the optimization goal, instead of using other quadratic programming solvers. Based on MPC and classical GA schemes, the specific steps are described in detail in the following:


### 3.2. Initial Solution

First of all, it is need to determine the solution space of the problem based on the description of the optimization problem [36]. The design of the initial solution is an important aspect, since the initial solution relates to the convergence speed to find an optimal solution. Meanwhile, the initial solution must be feasible, so as to satisfy the constraints. Aiming at these requirements, each candidate solution U is defined as a sequence of NC discrete values as:(13)U=u1,u2,⋯,ui,⋯,uNc,i=1,2,⋯,Nc.For each control variableui, the physical limit is a basic constraint, which means the control quantity of each cycle should not exceed the maximum output of the actuator (maximum wheel angle, for instance). GA provides a random way to generate the initial solutions. Here, binary coding is adopted to initialize the variable ui taking into account that |ui|≤umax. Supposing that each variable ui is encoded as an 8 bits binary string (A1A2…Ak…A7A8, Ak = 0 or 1), the range of ui can be limited in [−umaxumax] through a simple transformation relation. For example, equation (14) provides one form of the transformation relation.(14)ui=umaxA−127.5127.5,A=A1A2A3A4A5A6A7A82.All bits of solutionU are assigned a random value 0 or 1, which is to generate a chromosome. By repeating this operation, the initial population is produced. With decoding operation, they are converted to real values of candidate solutions. Figure 4 gives the generation process of the initial population.Figure 4
The generation progress of initial solutions.


### 3.3. Nonlinear Prediction and Solution Evaluation

With the given initial solutions and state-space equation of the system, state variables and output variables can be predicted at every future cycle. Traditionally, a linear predictive model is used to make this prediction. By applying GA, both linear model and nonlinear model are feasible, since GA is a forward way to heuristically search for the optimal solution. Supposing thatU(k), U(k+1), …, U(k + Nc-1) are the control variables and g is the arbitrary nonlinear function, the future states are predicted as:(15)Xk+i+1|k=gXk+i|k,Uk+i|k,i=1,2,⋯,Nc−1.Correspondingly, the predicted outputs of future cycles are:(16)YPk+i+1|k=Ck+i+1|kXk+i+1|k,i=1,2,⋯,Nc−1.In traditional MPC, a trade-off between control quantity and tracking performance is considered. The objective function has to meet certain formats in order to implement the solver of convex quadratic programming. By introducing GA, all the control variables and outputs are obtained. So, the objective function can be free-format equations. We can define the objective function of MPC-GA as:(17)obj=FYp,Yr,U.GA provides an efficient means to solve the optimization problem, even if discontinuities in the objective function or constraints are present [37]. Obviously, one format of the objective function can be the same as an objective function that traditional MPC adopts, namely:(18)obj=∑i=1NcYpk+i|k−Yrk+i|kTqiYpk+i|k−Yrk+i|k+∑j=0Nc−1Uk+j+1|k−Uk+j|kTriUk+j+1|k−Uk+j|k.Similarly, the first term of the objective function represents the error between the predicted value and the target signal. The second term reflects the volatility of control quantities.


### 3.4. Iterative Optimization

After the candidate solutions are evaluated, the next step is to implement iterative optimization. Firstly, the best members are selected according to their fitness. Subsequently, the next generation is generated through crossover operation. Then, a mutation operation is conducted in order to avoid trapping in local minimums [38].The selection process has the main purpose to select the best candidates among the population. Fitness calculation is defined depending on the objective function for each solution candidate in the current population. In detail, fitness calculation is defined as the reciprocal of objective function because minimization of the objective function corresponds to maximum coincidence. The fitness ofith individual is defined as (19). The selection is usually driven by fitness-ranking evaluation by means of a specific mathematical method. There exist many different approaches in the literature, and in this study “Roulette Wheel Selection” method [39] is adopted. According to the method, the probability of being selected is defined as (20), where N represents the population size of the genetic algorithm.(19)Fitnessi=1obji,(20)Pi=Fitnessi∑j=1NFitnessj.In crossover operation, two parent individuals and an intersection point are selected randomly, and the two individuals exchange corresponding segments with each other.Mutation is implemented as a random change of an optimization variable after the crossover task is completed. This task allows to better explore the entire search space.By means of selection, crossover, and mutation of genetic operators in natural genetics, a population is generated on behalf of the new solution set. This process is the same as the natural evolution of the population. The young generation population adapts to the environment more than the previous generation. The best individual in the population after decoding has become the approximate optimal solution [40]. After a limited number of iterations, the optimal solution that is satisfactory results is achieved.


## 3.1. Control Structure of MPC-GA

The control system diagram is shown in Figure2. Vehicle sensors provide all measured variables that contain the current vehicle position. According to the current position displayed on the global map, the local reference input is generated. The reference input Yr is in fact a path segment that starts from the current position and ends at a certain distance ahead. The sensors also provide the measured variables that constitute initial state X0. With the MPC-GA controller, a control quantity will be calculated and output to the controlled object.Figure 2
The control system diagram of MPC-GA.The working principle of MPC-GA controller: in each control cycle, initial solutions {Ui} are generated randomly. Given the initial candidate solutions and the current state of controlled object, the corresponding predicted outputs {Yp} are obtained according to the nonlinear predictive model. Through the iterative optimization of GA, the final solution U(t) that minimizes the deviation between the reference signal Yr and predicted output {Yp} is searched. Lastly, the optimal solution is applied to the controlled object, and the control task of the current control cycle is finished. With the passage of time, the output of controlled object gradually approximates the desired signal. Figure 3 shows the difference between MPC-GA and traditional MPC.Figure 3
Comparing of the control algorithms.According to Figure3, MPC-GA is based on the principle and implementation steps of traditional MPC. The main improvements are: (1) MPC-GA directly uses the nonlinear time-varying model of vehicle as the predictive model to predict the states and outputs, instead of using an approximate predictive model. Therefore, the predicted states and outputs are more accurate. (2) MPC-GA is able to deal with the free-form objective function, including the quadratic objective function. (3) Given the objective function, MPC-GA utilizes the genetic algorithm to solve the optimization goal, instead of using other quadratic programming solvers. Based on MPC and classical GA schemes, the specific steps are described in detail in the following:


## 3.2. Initial Solution

First of all, it is need to determine the solution space of the problem based on the description of the optimization problem [36]. The design of the initial solution is an important aspect, since the initial solution relates to the convergence speed to find an optimal solution. Meanwhile, the initial solution must be feasible, so as to satisfy the constraints. Aiming at these requirements, each candidate solution U is defined as a sequence of NC discrete values as:(13)U=u1,u2,⋯,ui,⋯,uNc,i=1,2,⋯,Nc.For each control variableui, the physical limit is a basic constraint, which means the control quantity of each cycle should not exceed the maximum output of the actuator (maximum wheel angle, for instance). GA provides a random way to generate the initial solutions. Here, binary coding is adopted to initialize the variable ui taking into account that |ui|≤umax. Supposing that each variable ui is encoded as an 8 bits binary string (A1A2…Ak…A7A8, Ak = 0 or 1), the range of ui can be limited in [−umaxumax] through a simple transformation relation. For example, equation (14) provides one form of the transformation relation.(14)ui=umaxA−127.5127.5,A=A1A2A3A4A5A6A7A82.All bits of solutionU are assigned a random value 0 or 1, which is to generate a chromosome. By repeating this operation, the initial population is produced. With decoding operation, they are converted to real values of candidate solutions. Figure 4 gives the generation process of the initial population.Figure 4
The generation progress of initial solutions.


## 3.3. Nonlinear Prediction and Solution Evaluation

With the given initial solutions and state-space equation of the system, state variables and output variables can be predicted at every future cycle. Traditionally, a linear predictive model is used to make this prediction. By applying GA, both linear model and nonlinear model are feasible, since GA is a forward way to heuristically search for the optimal solution. Supposing thatU(k), U(k+1), …, U(k + Nc-1) are the control variables and g is the arbitrary nonlinear function, the future states are predicted as:(15)Xk+i+1|k=gXk+i|k,Uk+i|k,i=1,2,⋯,Nc−1.Correspondingly, the predicted outputs of future cycles are:(16)YPk+i+1|k=Ck+i+1|kXk+i+1|k,i=1,2,⋯,Nc−1.In traditional MPC, a trade-off between control quantity and tracking performance is considered. The objective function has to meet certain formats in order to implement the solver of convex quadratic programming. By introducing GA, all the control variables and outputs are obtained. So, the objective function can be free-format equations. We can define the objective function of MPC-GA as:(17)obj=FYp,Yr,U.GA provides an efficient means to solve the optimization problem, even if discontinuities in the objective function or constraints are present [37]. Obviously, one format of the objective function can be the same as an objective function that traditional MPC adopts, namely:(18)obj=∑i=1NcYpk+i|k−Yrk+i|kTqiYpk+i|k−Yrk+i|k+∑j=0Nc−1Uk+j+1|k−Uk+j|kTriUk+j+1|k−Uk+j|k.Similarly, the first term of the objective function represents the error between the predicted value and the target signal. The second term reflects the volatility of control quantities.


## 3.4. Iterative Optimization

After the candidate solutions are evaluated, the next step is to implement iterative optimization. Firstly, the best members are selected according to their fitness. Subsequently, the next generation is generated through crossover operation. Then, a mutation operation is conducted in order to avoid trapping in local minimums [38].The selection process has the main purpose to select the best candidates among the population. Fitness calculation is defined depending on the objective function for each solution candidate in the current population. In detail, fitness calculation is defined as the reciprocal of objective function because minimization of the objective function corresponds to maximum coincidence. The fitness ofith individual is defined as (19). The selection is usually driven by fitness-ranking evaluation by means of a specific mathematical method. There exist many different approaches in the literature, and in this study “Roulette Wheel Selection” method [39] is adopted. According to the method, the probability of being selected is defined as (20), where N represents the population size of the genetic algorithm.(19)Fitnessi=1obji,(20)Pi=Fitnessi∑j=1NFitnessj.In crossover operation, two parent individuals and an intersection point are selected randomly, and the two individuals exchange corresponding segments with each other.Mutation is implemented as a random change of an optimization variable after the crossover task is completed. This task allows to better explore the entire search space.By means of selection, crossover, and mutation of genetic operators in natural genetics, a population is generated on behalf of the new solution set. This process is the same as the natural evolution of the population. The young generation population adapts to the environment more than the previous generation. The best individual in the population after decoding has become the approximate optimal solution [40]. After a limited number of iterations, the optimal solution that is satisfactory results is achieved.


## 4. Path Tracking by MPC-GA

This section introduces the proposed MPC-GA method to solve the path tracking problem. In the design, the path tracking problem is transformed into an optimization problem, and the MPC-GA method is applied to search for the desired steering angle.


### 4.1. Increment Encoding

In the initialization stage, each candidate solution of the optimization problem is defined as a sequence ofNC discrete values of input variables as:(21)U=u1,u2,⋯,ui,⋯,uNc=δ1,δ2,⋯,δi,⋯,δNc,where Nc is the number of control variables. As the vehicle speed changes slightly in a short period of time, the speed control variable v is considered approximately constant, and only steering angle δ is considered as the control variable.For every control variableδi, binary encoding takes a cumulative approach. Specifically, the increment Δδ is considered as the variation from ith control variable to i + 1th control variable, and Δδ is encoded as an 8 bits binary string. Consequently, each individual of GA is expressed as (22). Correspondingly, the value of each candidate solution is calculated as (23):(22)Δδ1,Δδ2,⋅⋅⋅,Δδi,⋅⋅⋅,ΔδNc−1,i=1,2,⋯,Nc−1,(23)δi+1=δi+∑k=1iΔδk,i=1,2,⋯,Nc−1.The increment Δδ reflects the variation of steering angle, and the variation has to satisfy steering angle limitation for safe driving. That is to say, Δδ should be assigned with a small value if the vehicle speed is high, while a larger value can be assigned to Δδ if the vehicle speed is low. By limiting the steering angle according to vehicle speed, the controller not only provides safe driving but also guarantees high model accuracy with the dynamic vehicle model [41]. On the other hand, the physical limitations of the steering system are also considered. If the control quantity δ exceeds the limitation (max steering angle), the decoder will output the max steering angle.Comparing traditional encoding method that encodes the solutionδi into binary string directly, this increment encoding method removes the possibility that the independent variables can freely vary from −umax to umax. So, the computational complexity of the optimization problem is obviously reduced. On the other hand, this encoding method enables the variations of control variables to satisfy constraint conditions easily.


### 4.2. Nonlinear Prediction

Each individual is converted to real values of control variables. They are used to predict the future trajectory of a vehicle. Different from the traditional linear model prediction, MPC-GA is able to deal with both linear model and nonlinear model, since GA is a forward way to heuristically search for the optimal solution. With the given current states and control variables, the vehicle trajectory of every future cycle can be predicted based on the vehicle kinematics model. Considering the nonlinear kinematics model of vehicle after discretization:(24)xk+1=xk+Tvcosθk,yk+1=yk+Tvsinθk,θk+1=θk+TvtanδkL,where T is the control cycle. Because the change of speed is small during the predicted period, we regard speed v as a constant that is equal to the current speed. Meanwhile, the less control variables facilitate to reduce the time consumption of the algorithm. Supposing that U(k|k), U(k + 1|k), …, U(k + Nc-1|k) represent the control variables, the future states can be obtained using the predictive model as shown in (25). Correspondingly, the predicted vehicle trajectory can be expressed as (26):(25)Xk+i|k=gXk+i−1|k,Uk+i−1|k,i=1,2,⋅⋅⋅,Nc,(26)Yk+i|k=xk+i|kyk+i|kθk+i|k=100010001Xk+i|k,i=1,2,⋯,Nc.To summarize, the predicted vehicle trajectory can be obtained with the following steps:Algorithm 1: Prediction of travel path.
(1)
begin(2)
initialization(3)
obtain current speedv, current position (x, y), current heading θ, and steering angle δ0 of last cycle(4)
decode the binary coding, and obtain future control variablesδ(k|k), δ(k + 1|k), …, δ(k + Nc-1|k)(5)
Assign current stateX(k|k) = [x(k|k), y(k|k), θ(k|k)]T = [x, y, θ]T, and define i = 1(6)
whilei ≤ Ncdo(7)
calculate the (k + i) th state X(k + i|k) =  g (X(k + i-1|k), v, δ(k + i-1|k))(8)
define the (k + i) th travel position and heading as Y(k + i|k) = [x(k + i|k), y(k + i|k), θ(k + i|k)]T(9)
i + 1 ⟶ i(10)
end while(11)
output the predicted travel pathY(k + 1|k), Y(k + 2|k), …, Y(k + Nc-1|k), Y(k + Nc|k)(12)
end


### 4.3. Objective Function

In order to balance the performance between position deviation and heading deviation, the objective function of MPC-GA is defined as the form of a quadratic equation as follows:(27)obj=a∑i=1Ncxk+i|k−xrk+i|k2+yk+i|k−yrk+i|k2+b∑i=1Ncθk+i|k−θrk+i|k2+c∑i=0Nc−1Δδk+i|k2,where a, b, and c are weighting factors; Δδ(k + i|k) = δ(k + i + 1|k)-δ(k + i|k) is the control increment that represents the change of desired steering angle. The selection of weighting factors is important, and reliance on practical test is often needed. In order to contrast with the traditional MPC method, the values of a, b, and c should be consistent with q and r in (10).The objective function contains tracking errors in the position and heading at each prediction horizon, as well as the total variation of control variables.


### 4.4. Progress of MPC-GA for Path Tracking

The progress of the MPC-GA-based path tracking control method is shown in Figure5.Figure 5
The progress of MPC-GA based path tracking control method.Reference path is input from path planning module. With the given current position, the system chooses the nearest segment of reference path as the target pathYr. Through increment encoding method, the initial generation population is generated randomly, and each individual represents the control increment. The population can be converted to candidate solutions {Ui} after the decoding operation. Next, the predicted trajectory Yp of each solution is obtained by substituting the control sequence into the nonlinear predictive model. According to the fitness function, the fitness of each candidate solution is calculated by comparing the predicted path and target path. Then, the algorithm enters into iterative optimization, and the iteration will stop within finite steps or when the deviation between the predicted trajectory and target path is less than a small value. After iteration, the best individual is selected, and the individual is decoded. Lastly, the first control quantity δ1 is output to the actuator.


## 4.1. Increment Encoding

In the initialization stage, each candidate solution of the optimization problem is defined as a sequence ofNC discrete values of input variables as:(21)U=u1,u2,⋯,ui,⋯,uNc=δ1,δ2,⋯,δi,⋯,δNc,where Nc is the number of control variables. As the vehicle speed changes slightly in a short period of time, the speed control variable v is considered approximately constant, and only steering angle δ is considered as the control variable.For every control variableδi, binary encoding takes a cumulative approach. Specifically, the increment Δδ is considered as the variation from ith control variable to i + 1th control variable, and Δδ is encoded as an 8 bits binary string. Consequently, each individual of GA is expressed as (22). Correspondingly, the value of each candidate solution is calculated as (23):(22)Δδ1,Δδ2,⋅⋅⋅,Δδi,⋅⋅⋅,ΔδNc−1,i=1,2,⋯,Nc−1,(23)δi+1=δi+∑k=1iΔδk,i=1,2,⋯,Nc−1.The increment Δδ reflects the variation of steering angle, and the variation has to satisfy steering angle limitation for safe driving. That is to say, Δδ should be assigned with a small value if the vehicle speed is high, while a larger value can be assigned to Δδ if the vehicle speed is low. By limiting the steering angle according to vehicle speed, the controller not only provides safe driving but also guarantees high model accuracy with the dynamic vehicle model [41]. On the other hand, the physical limitations of the steering system are also considered. If the control quantity δ exceeds the limitation (max steering angle), the decoder will output the max steering angle.Comparing traditional encoding method that encodes the solutionδi into binary string directly, this increment encoding method removes the possibility that the independent variables can freely vary from −umax to umax. So, the computational complexity of the optimization problem is obviously reduced. On the other hand, this encoding method enables the variations of control variables to satisfy constraint conditions easily.


## 4.2. Nonlinear Prediction

Each individual is converted to real values of control variables. They are used to predict the future trajectory of a vehicle. Different from the traditional linear model prediction, MPC-GA is able to deal with both linear model and nonlinear model, since GA is a forward way to heuristically search for the optimal solution. With the given current states and control variables, the vehicle trajectory of every future cycle can be predicted based on the vehicle kinematics model. Considering the nonlinear kinematics model of vehicle after discretization:(24)xk+1=xk+Tvcosθk,yk+1=yk+Tvsinθk,θk+1=θk+TvtanδkL,where T is the control cycle. Because the change of speed is small during the predicted period, we regard speed v as a constant that is equal to the current speed. Meanwhile, the less control variables facilitate to reduce the time consumption of the algorithm. Supposing that U(k|k), U(k + 1|k), …, U(k + Nc-1|k) represent the control variables, the future states can be obtained using the predictive model as shown in (25). Correspondingly, the predicted vehicle trajectory can be expressed as (26):(25)Xk+i|k=gXk+i−1|k,Uk+i−1|k,i=1,2,⋅⋅⋅,Nc,(26)Yk+i|k=xk+i|kyk+i|kθk+i|k=100010001Xk+i|k,i=1,2,⋯,Nc.To summarize, the predicted vehicle trajectory can be obtained with the following steps:Algorithm 1: Prediction of travel path.
(1)
begin(2)
initialization(3)
obtain current speedv, current position (x, y), current heading θ, and steering angle δ0 of last cycle(4)
decode the binary coding, and obtain future control variablesδ(k|k), δ(k + 1|k), …, δ(k + Nc-1|k)(5)
Assign current stateX(k|k) = [x(k|k), y(k|k), θ(k|k)]T = [x, y, θ]T, and define i = 1(6)
whilei ≤ Ncdo(7)
calculate the (k + i) th state X(k + i|k) =  g (X(k + i-1|k), v, δ(k + i-1|k))(8)
define the (k + i) th travel position and heading as Y(k + i|k) = [x(k + i|k), y(k + i|k), θ(k + i|k)]T(9)
i + 1 ⟶ i(10)
end while(11)
output the predicted travel pathY(k + 1|k), Y(k + 2|k), …, Y(k + Nc-1|k), Y(k + Nc|k)(12)
end


## 4.3. Objective Function

In order to balance the performance between position deviation and heading deviation, the objective function of MPC-GA is defined as the form of a quadratic equation as follows:(27)obj=a∑i=1Ncxk+i|k−xrk+i|k2+yk+i|k−yrk+i|k2+b∑i=1Ncθk+i|k−θrk+i|k2+c∑i=0Nc−1Δδk+i|k2,where a, b, and c are weighting factors; Δδ(k + i|k) = δ(k + i + 1|k)-δ(k + i|k) is the control increment that represents the change of desired steering angle. The selection of weighting factors is important, and reliance on practical test is often needed. In order to contrast with the traditional MPC method, the values of a, b, and c should be consistent with q and r in (10).The objective function contains tracking errors in the position and heading at each prediction horizon, as well as the total variation of control variables.


## 4.4. Progress of MPC-GA for Path Tracking

The progress of the MPC-GA-based path tracking control method is shown in Figure5.Figure 5
The progress of MPC-GA based path tracking control method.Reference path is input from path planning module. With the given current position, the system chooses the nearest segment of reference path as the target pathYr. Through increment encoding method, the initial generation population is generated randomly, and each individual represents the control increment. The population can be converted to candidate solutions {Ui} after the decoding operation. Next, the predicted trajectory Yp of each solution is obtained by substituting the control sequence into the nonlinear predictive model. According to the fitness function, the fitness of each candidate solution is calculated by comparing the predicted path and target path. Then, the algorithm enters into iterative optimization, and the iteration will stop within finite steps or when the deviation between the predicted trajectory and target path is less than a small value. After iteration, the best individual is selected, and the individual is decoded. Lastly, the first control quantity δ1 is output to the actuator.


## 5. Simulation and Experiment

This section presents the simulations and on-field test of the proposed control method. In order to evaluate the control method, some different simulation scenarios are demonstrated: (1) tracking ability in straightway road is analyzed when the vehicle departs from the target path; (2) curve road with sinusoidal variation is then applied to test the adaptability of tracking path; (3) effectiveness of the proposed control method is further validated in complex situations such as curve road and circle road. In the experiment, the on-field test is conducted based on Kotei 2.0 autonomous platform.


### 5.1. Simulations

The first simulation is aimed to validate the deflection rectifying ability. The reference path is set as a straight line, and the initial position of the vehicle is set 2 meters apart from the path, while the heading is the same as reference path. The vehicle speed is set from low speed (20 km/h) to high speed (60 km/h) separately and is assumed to be constant. Simulation results are shown in Figure6. According to the results, the MPC-GA controller can direct the vehicle to reach the reference path with initial departure. The adjustment process is smooth and safe. After the system is stabilized, the track deviation is less than 0.1 m.Figure 6
Straightway road simulation with different speed.Next, the road is set as a curve that the variation conforms to sinusoidal functions (y = 3.5sin (x/30), y = 3.5sin (x/10)), which simulates the lane changing path or obstacle avoidance path. The initial position is set to be near the path. Also, different vehicle speeds are tested in this driving scene. The tracking performance is shown in Figure 7. According to the results, the vehicle perfectly responds to the continuous change of road path. The track deviation is less than 0.1 m most of the time.Figure 7
Simulation on curve road that conforms to sinusoidal functions.Then, we simulate two complex situations. The first situation gives a reference path with variation that conforms to functiony = xsin (x/30)/10 as shown in Figure 8. In this situation, an autonomous vehicle needs to respond to changing consecutive curves and sharp turns. The initial position of the vehicle is set 2 meters apart from the path. The initial speed of a vehicle is zero, and the target speed is set as 15 km/h. The second situation adopts circles as the reference path as shown in Figure 9. The center coordinates are at the origin coordinates (0 m, 0 m), and the radius is set as 25 m, 50 m, and 100 m respectively. The initial speed of vehicle is zero and runs at target constant speeds according to the circle radius. The vehicle starts at the points 2 meters apart from the circles.Figure 8
Complex situation I (reference path:y = xsin (x/30)/10).Figure 9
Complex situation II (reference path: circle).The simulation results in Figures8 and 9 reveal that the MPC-GA-based path tracking control strategy realizes the path tracking for the two complex situations. The displacement error keeps small all the time after a beginning’s chattering, and the maximum error is about 0.15 m. The error fully meets the requirements of path tracking for autonomous vehicle.Lastly, the performance of the MPC-GA method is compared with that of the traditional MPC method and PP control method in similar conditions. The reference path is set as a curve, and the variation conforms to the sinusoidal function (y = 3.5sin (x/30)). The original position is set 0.1 m apart from the reference path. The vehicle speed is set as 40 km/h. The executed paths and desired paths are shown in Figure 10. The tracking error and control quantities of the three methods are shown in Figures 11 and 12.Figure 10
Executed paths of the three methods.Figure 11
Tracking error of the three methods.Figure 12
Control quantities of the three methods.From the results, we can see that all three methods can drive the vehicle following the reference path. At the beginning, MPC method causes a larger overshoot than MPC-GA method and PP method. After entering the stable stage, the tracking error of MPC-GA method and MPC method is less than that of PP method, and tracking precision of MPC-GA method is no less than that of MPC method.According to the simulation results, the MPC-GA is able to deal with both simple situations and complex situations. Even in the sharp turn situation, the controller generates a corresponding steering angle and drives the vehicle to follow the preset path. The tracking deviation is less than 0.15 m. Compared with the MPC method and PP control method, the path executed with the MPC-GA method is the closest to the desired path.


### 5.2. Experiment

In order to examine the feasibility and effectiveness of the proposed MPC-GA method, the on-field test is conducted based on Kotei 2.0 platform that is developed by Wuhan Goyu Intelligent Technology Corporation as shown in Figure13(a). On-field test is conducted on park road of Wuhan Goyu Intelligent Technology Corporation. The satellite map image of the test field is shown in Figure 13(b), with a total area of about 200 m × 200 m. The park road consists of corners with different turning radius. The road width is 3.6 m approximately. First, we drive the car around the park road to collect GPS data (position in the XY plane) to get the global reference path.Figure 13
Kotei 2.0 platform and on-field test route: (a) Kotei 2.0 autonomous platform; (b) satellite map image of the test field.Then, we start the autonomous system, and the vehicle moves automatically from the start point to the end point with the autonomous system. The travel path is recorded. Figure14 shows the road map and travel path in the XY plane.Figure 14
XY plane path tracking.The vehicle passes by corner A, corner B, corner C, and corner D successively, and the local enlarged images of the four corners and two straight roads are shown in Figures15 and 16. The tracking error of the entire process is depicted in Figure 17.Figure 15
Partial enlargement of corners.Figure 16
Partial enlargement of straight road.Figure 17
Tracking errors of the entire process.Figures15–17 illustrate the vehicle’s performance when it travels from start point to end point. On the straight road, the travel path is almost perfectly consistent with the reference path. When encountering the corners, the vehicle will deviate from the reference path. With the self-adjusting ability of MPC-GA, the vehicle rapidly tracks the reference path again. For the straight road, the average tracking error is less than 0.05 m, while the maximum error is 0.1 m. For the curve road, the average tracking error is less than 0.2 m, while the maximum error is about 0.3 m.The above simulations and experiment indicate that the MPC-GA method has realized the path tracking control for autonomous vehicle with straight road scene and curve road scene. It also shows a good self-adjusting performance when there is a sharp turn. The controller eliminates the tracking error and directs the vehicle to reach the reference path with a small deviation. Meanwhile, the MPC-GA method demonstrates better performance than traditional methods. Therefore, the proposed path tracking control method can ensure the vehicle driving in accordance with the reference path.


## 5.1. Simulations

The first simulation is aimed to validate the deflection rectifying ability. The reference path is set as a straight line, and the initial position of the vehicle is set 2 meters apart from the path, while the heading is the same as reference path. The vehicle speed is set from low speed (20 km/h) to high speed (60 km/h) separately and is assumed to be constant. Simulation results are shown in Figure6. According to the results, the MPC-GA controller can direct the vehicle to reach the reference path with initial departure. The adjustment process is smooth and safe. After the system is stabilized, the track deviation is less than 0.1 m.Figure 6
Straightway road simulation with different speed.Next, the road is set as a curve that the variation conforms to sinusoidal functions (y = 3.5sin (x/30), y = 3.5sin (x/10)), which simulates the lane changing path or obstacle avoidance path. The initial position is set to be near the path. Also, different vehicle speeds are tested in this driving scene. The tracking performance is shown in Figure 7. According to the results, the vehicle perfectly responds to the continuous change of road path. The track deviation is less than 0.1 m most of the time.Figure 7
Simulation on curve road that conforms to sinusoidal functions.Then, we simulate two complex situations. The first situation gives a reference path with variation that conforms to functiony = xsin (x/30)/10 as shown in Figure 8. In this situation, an autonomous vehicle needs to respond to changing consecutive curves and sharp turns. The initial position of the vehicle is set 2 meters apart from the path. The initial speed of a vehicle is zero, and the target speed is set as 15 km/h. The second situation adopts circles as the reference path as shown in Figure 9. The center coordinates are at the origin coordinates (0 m, 0 m), and the radius is set as 25 m, 50 m, and 100 m respectively. The initial speed of vehicle is zero and runs at target constant speeds according to the circle radius. The vehicle starts at the points 2 meters apart from the circles.Figure 8
Complex situation I (reference path:y = xsin (x/30)/10).Figure 9
Complex situation II (reference path: circle).The simulation results in Figures8 and 9 reveal that the MPC-GA-based path tracking control strategy realizes the path tracking for the two complex situations. The displacement error keeps small all the time after a beginning’s chattering, and the maximum error is about 0.15 m. The error fully meets the requirements of path tracking for autonomous vehicle.Lastly, the performance of the MPC-GA method is compared with that of the traditional MPC method and PP control method in similar conditions. The reference path is set as a curve, and the variation conforms to the sinusoidal function (y = 3.5sin (x/30)). The original position is set 0.1 m apart from the reference path. The vehicle speed is set as 40 km/h. The executed paths and desired paths are shown in Figure 10. The tracking error and control quantities of the three methods are shown in Figures 11 and 12.Figure 10
Executed paths of the three methods.Figure 11
Tracking error of the three methods.Figure 12
Control quantities of the three methods.From the results, we can see that all three methods can drive the vehicle following the reference path. At the beginning, MPC method causes a larger overshoot than MPC-GA method and PP method. After entering the stable stage, the tracking error of MPC-GA method and MPC method is less than that of PP method, and tracking precision of MPC-GA method is no less than that of MPC method.According to the simulation results, the MPC-GA is able to deal with both simple situations and complex situations. Even in the sharp turn situation, the controller generates a corresponding steering angle and drives the vehicle to follow the preset path. The tracking deviation is less than 0.15 m. Compared with the MPC method and PP control method, the path executed with the MPC-GA method is the closest to the desired path.


## 5.2. Experiment

In order to examine the feasibility and effectiveness of the proposed MPC-GA method, the on-field test is conducted based on Kotei 2.0 platform that is developed by Wuhan Goyu Intelligent Technology Corporation as shown in Figure13(a). On-field test is conducted on park road of Wuhan Goyu Intelligent Technology Corporation. The satellite map image of the test field is shown in Figure 13(b), with a total area of about 200 m × 200 m. The park road consists of corners with different turning radius. The road width is 3.6 m approximately. First, we drive the car around the park road to collect GPS data (position in the XY plane) to get the global reference path.Figure 13
Kotei 2.0 platform and on-field test route: (a) Kotei 2.0 autonomous platform; (b) satellite map image of the test field.Then, we start the autonomous system, and the vehicle moves automatically from the start point to the end point with the autonomous system. The travel path is recorded. Figure14 shows the road map and travel path in the XY plane.Figure 14
XY plane path tracking.The vehicle passes by corner A, corner B, corner C, and corner D successively, and the local enlarged images of the four corners and two straight roads are shown in Figures15 and 16. The tracking error of the entire process is depicted in Figure 17.Figure 15
Partial enlargement of corners.Figure 16
Partial enlargement of straight road.Figure 17
Tracking errors of the entire process.Figures15–17 illustrate the vehicle’s performance when it travels from start point to end point. On the straight road, the travel path is almost perfectly consistent with the reference path. When encountering the corners, the vehicle will deviate from the reference path. With the self-adjusting ability of MPC-GA, the vehicle rapidly tracks the reference path again. For the straight road, the average tracking error is less than 0.05 m, while the maximum error is 0.1 m. For the curve road, the average tracking error is less than 0.2 m, while the maximum error is about 0.3 m.The above simulations and experiment indicate that the MPC-GA method has realized the path tracking control for autonomous vehicle with straight road scene and curve road scene. It also shows a good self-adjusting performance when there is a sharp turn. The controller eliminates the tracking error and directs the vehicle to reach the reference path with a small deviation. Meanwhile, the MPC-GA method demonstrates better performance than traditional methods. Therefore, the proposed path tracking control method can ensure the vehicle driving in accordance with the reference path.


## 6. Conclusion

This study puts forward a path tracking control method for autonomous vehicle. The method combines the traditional MPC and GA to obtain the optimal solution. The proposed MPC-GA method can solve the nonlinear optimization problem without any compromise, and effectively deal with the objective function of any free-format equations. The control strategy is applied in the path tracking problem to implement the steering control. Simulations and on-field tests illustrate the performance of the proposed method. By the MPC-GA method, the autonomous vehicle can track the preset path both on straightway road and curve road at different speed. Compared with traditional MPC method and PP method, the proposed MPC-GA method is of higher accuracy. The control strategy can be considered as an alternative method to solve the path tracking problem of autonomous vehicle.This work needs to be further carried out. Subsequent research will focus on reducing algorithm complexity, in order to improve real-time performance. Currently, the time consumption of the proposed MPC-GA algorithm is almost similar to MPC. Reducing the GA population or decreasing evolution generations can further reduce the time complexity of MPC-GA, but at the same time leads to poor control performance. Therefore, trying new attempt and approach to reduce algorithm complexity without decreasing control performance will be our future work.



---

*Source: 4661401-2022-09-20.xml*