Model Predictive Control-Based Integrated Path Tracking and Velocity Control for Autonomous Vehicle with Four-Wheel Independent Steering and Driving

: This paper presents an MPC-based integrated control algorithm for an autonomous vehicle equipped with four-wheel independent steering and driving systems. The objective of this research is to improve the performance of the path and velocity tracking controllers by distributing the control effort to the multiple actuators. The proposed algorithm has two modules: reference state decision and MPC-based vehicle motion controller. Reference state decision module determines reference state proﬁles consisting of yaw rate and velocity in order to overcome the limitation of the error dynamics-based path tracking controller, which requires several assumptions on the reference path. The MPC-based vehicle motion controller is designed with a linear time-varying vehicle model in order to optimally allocate the control effort to each actuator. A linear time-varying MPC is adopted to reduce computational burden caused by using a non-linear one. The effectiveness of the proposed algorithm is validated via simulation on MATLAB/Simulink and CarSim. The simulation results show that the proposed algorithm improves the reference tracking performance by effectively distributing the control effort to the steering angle and driving force of each actuator.


Introduction
For the last decade, autonomous driving has attracted intensive attention as a solution needed to improve road safety, traffic efficiency, and the convenience of traffic participants. Various methodologies have been adopted to extend the coverage of application environments and target vehicles in the area of autonomous driving [1,2]. At the beginning of autonomous driving, the operational design domain (ODD) of the autonomous vehicles was restricted to some specific and simple driving environments, such as motorways or parking lots. Thanks to continuous research and developments, the advantages of autonomous driving led to the expansion of application environments, and ODD has been extended beyond urban roads to unconstructed environments [3]. These advances in autonomous driving have been achieved by utilizing the increased number of sensors, processors, actuators, and various information sources, such as vehicle-to-vehicle (V2V) or vehicle-to-infrastructure (V2I) communications. In particular, a larger number of actuators for autonomous vehicles leads to the control allocation problem, which is used to improve the vehicle control performance by coordinating the multiple actuators [4][5][6][7][8]. Since current autonomous vehicles are actuated by the steering, throttle, and brake, researchers have not focused on the problem of motion control. Recently, over-actuated vehicles, such as a purpose-built vehicle (PBV) equipped with in-wheel motors (IWMs) and four-wheel independent steering (4WIS) modules, have been introduced as a platform for future autonomous driving [5][6][7][8]. In order to effectively control the over-actuated vehicles, several using hybrid structure considering an adaptive maximum torque search and robust sliding mode control to regulate acceleration slip [42].
Since the 4WS/4WD system is inherently non-linear, various sliding mode control (SMC)-based algorithms have been proposed to consider the non-linearity when determining the control input. By assigning two control points at the front and rear wheels of a vehicle, SMC can be applied to the front-and rear-wheel steering, respectively [7]. Similarly, a parallel steering maneuver, which actuates the front and rear wheels at the same angle, was introduced to simplify the SMC algorithm [43]. Furthermore, several types of SMC algorithms were also used to allocate the control effort to the differential steering system by using integral SMC [8], adaptive multivariable super-twisting control [44], and non-linear gain adjustment [45]. The integrated SMC controller for steering and driving/braking was designed to compensate the external yaw moment needed to improve the path tracking performance [4]. In addition, a robust SMC with a T-S fuzzy model was designed to consider the non-linearity of the vehicle model [46].
MPC-based algorithms have been proposed to design the path and velocity tracking controllers for a vehicle with 4WS/4WD system. A time-invariant linear vehicle model assuming a small steering angle and constant velocity was utilized to design an MPC-based path tracking controller [47]. However, it is difficult for this simple model to maintain performance when the curvature or acceleration increases. To prevent the deviation from the linear section of tire force, an MPC with slip angle constraints has been proposed [48]. In addition, a multi-model based MPC was proposed to improve the performance in various driving conditions [49].
Recently, studies have been proposed to integrate several methods or introduce other methods such as machine learning. An integrated approach of MPC and SMC was developed to follow the path and desired speed simultaneously. In this approach, MPC distributed the yaw moment and SMC calculated the longitudinal forces [50]. Decoupling motion tracker for 4WD was designed based on the inverse model learned by the neural network [51]. This method corrected the reference path to improve the yaw tracking and lateral tacking. Furthermore, a game theory-based controller was proposed to search the Nash equilibrium points between two player models [52].
To reduce the computational burden and complexity of the MPC, MPC itself and a control allocation method were separated [9,10]. In this approach, MPC was used only to determine the desired motion needed to track a reference path, and a control allocation method was used to distribute control efforts into each actuator in order to follow the desired motion. The integrated approach with the maneuver decision and the path planner for the lane changes and intersection crossing scenario was proposed based on the MPC. However, a proper prediction algorithm for surrounding vehicles was not proposed [53]. In addition, the controllers that reflect the operational constraints have been proposed [54]. A method for unmanned aerial vehicles to avoid obstacles has been proposed using an explicit reference governor. This governor combines a dynamic safety margin from obstacles and attraction field toward target position in order to create an auxiliary reference for position controller [54].
From a careful review on the previous studies, the various control algorithms for autonomous vehicles with 4WS/4WD have been proposed to enhance the reference tracking performance. In this paper, the reference tracking means both of path and velocity tracking. Since the path tracking control can be considered as an error feedback regulator, the error dynamics based on the lateral and heading error with respect to the reference path were frequently adopted when defining the MPC problem. This approach required the assumptions on the reference path in order to derive the derivatives of the lateral and heading error, which restricts the road conditions where performance can be achieved. In addition, the 4WIS was frequently regarded as a 4WS system, so control inputs were the front and rear steering angles, which were equally applied to the left and right-side wheels [4][5][6]8,36,[38][39][40][41][42][43][44][45]. Furthermore, the effect of the four-wheel independently driving (4WID) on the yaw motion of the vehicle was not considered when designing the path tracking controller.
Based on the literature survey on the previous studies, this paper presents the integrated control algorithm with the path and velocity tracking controllers for autonomous vehicles equipped with 4WIS/4WID. Figure 1 shows the schematic diagram of the proposed algorithm. As shown in Figure 1, the proposed algorithm is composed of two modules: a reference state decision and an MPC-based motion controller. The reference state decision module is introduced to determine the reference yaw rate and velocity, which replace the lateral and heading errors. Then, the MPC-based motion controller directly determines the eight control inputs consisting of four steering angles and four traction forces generated by 4WIS/4WID in order to track the reference states. To validate the performance of the proposed algorithm, simulation was conducted via co-simulation on MATLAB/Simulink and CarSim. The key contributions in this work are summarized as follows: 1.
In the proposed algorithm, the path tracking and velocity controllers determine the control inputs, required for autonomous vehicles with 4WIS/4WID, with a single integrated controller, which distributes the control efforts into the steering angle and wheel torque of each wheel.

2.
The reference states can be determined without assumptions on the road shapes and vehicle models. Therefore, the reference state decision module can be used for various road conditions and vehicle systems.

3.
The proposed MPC controller uses the vehicle model as a constraint. The vehicle model is not included in other modules. Therefore, even if the actuator configuration changes, it can only be used by modifying the constraint.
The remaining section of the paper is organized as follows: Section 2 describes the vehicle model used for controller design. The reference state decision for path and velocity tracking controllers are presented in Section 3. The linear time-varying MPC algorithm based on the local linearization of the vehicle model is presented in Section 4. The simulation results in the proposed algorithm and conventional ones are summarized in Section 5. The final section provides the conclusion and future works regarding the proposed algorithm.

Vehicle Model
The integrated control algorithm for path and velocity tracking control should consider the longitudinal, lateral, and yaw motion of the vehicle simultaneously. In other words, the equations of motion along the x-axis and y-axis, and around z-axis are defined to describe the behavior of the vehicle. Since it is assumed that the steering, driving, and braking of the four wheels are controlled independently, the longitudinal and lateral forces of each wheel should be considered as independent variables. Figure 2 shows the free-body diagram of 4WIS/4WID vehicle model. Based on the variables as shown in Figure 2, the tire forces along the longitudinal and lateral directions generated by the steering and wheel torque were calculated. Then, the equations of the longitudinal (along x-direction), lateral (along y-direction), and yaw (around z-axis) motions are derived as (1), (2), and (3), respectively [55]. In these equations, M and I z denote the total mass and the yaw moment of inertia of the vehicle, respectively. l f and l r are the distances of the front and rear axles from the CG, respectively. t w is the track width of the vehicle. v x and v y are the longitudinal and lateral velocities of the vehicle, respectively. γ is the yaw rate. F x,i , F y,i and δ i represent the longitudinal, lateral forces and the steering angle of each wheel, where i = FL, FR, RL, RR denote the front left, front right, rear left, and rear right wheels, respectively.
Lateral dynamics: Yaw dynamics: The lateral tire force F y,i of each wheel is modeled as a linear model under the assumption that the tire slip angle is small. Therefore, F y,i can be represented as (4) where α i is the slip angle of each tire. C f and C r are the cornering stiffness of the front and rear tires, respectively. Since the difference between the left and right tires is negligible compared to that of the front to rear tires, it is assumed that the cornering stiffness of the left and right tires are identical to each other.
where, α i is the slip angle of each tire. C f and C r are the cornering stiffness of the front and rear tire, respectively. Since the difference of the left and right tire is negligible compared to the front-to-rear difference, it is assumed that the cornering stiffness of the left and right tires are identical to each other. For the 4WID system, which is realized by using an in-wheel motor, F x,i can be calculated as (5). In (5), I w and w i denote the wheel inertia and angular velocity of each wheel. T i denotes the driving or braking torque of each wheel. R e is the effective radius of the tire.

Reference State Decision
In the conventional approaches, path tracking controllers for autonomous vehicles have been designed by using the error dynamics based on the lateral position and heading errors with respect to the reference path [17][18][19][20][21][22][23][24][25]. In this paper, the pre-defined path that an autonomous vehicle wants to follow is called the reference path. To design the path tracking controller, several studies have converted the vehicle model to the path tracking one by considering the vehicle position and reference path [21][22][23]. However, when defining the plant model of the controller based on the error with respect to the reference path, it is difficult to intuitively connect the dynamic behavior of the vehicle to the errors. This is caused by the fact that an appropriate relationship between the lateral motion of vehicle and path tracking errors should be defined before deriving the path tracker. In addition, the dimension of the path tracking error is different from the yaw rate or the steering angle, which is closely related to the lateral motion of the vehicle [18][19][20]. Furthermore, the assumption on the reference path should be included in order to differentiate the error in constructing the error dynamics [20,21]. As a result, the path tracking performance may not be achieved in driving situations where the assumptions on the reference path are not valid. To overcome the limitations of the error dynamics, a reference state decision module is proposed for the purpose of determining the yaw rate and velocity profile within the prediction horizon.
The reference states, which consist of the reference yaw rate and the longitudinal velocity, have been determined when providing the reference path for MPC. Figure 3 shows the decision procedure of the desired path based on the reference one. First, the geometric relationship between the vehicle's position and the reference path, which is depicted as a black dotted line in Figure 3, is considered. Under the assumption of low speed and negligible body slip angle, the required yaw rate needed to align the vehicle with the reference path is calculated by defining the desired path represented as a red solid line, which connects the center of gravity (C.G.) of the vehicle and the preview point on the reference path [56]. The C.G. of the vehicle and the preview point are denoted as P(x 0 ,y 0 ) and P(x 1 ,y 1 ), respectively. A preview length needed to define the preview point is determined by multiplying the preview time and the longitudinal velocity of the vehicle. In this paper, the preview time of 0.8 s is used to define the preview point. The preview length needed to determine P(x 1 ,y 1 ) is represented as L p, and the preview time needed to calculate the L p is denoted as gain k in Figure 3. To determine the required yaw rate needed for a vehicle to follow the reference path, the curvature κ des of the desired path should be defined first. Since the preview point is close enough to the vehicle, the desired path can be approximated by a simple polynomial. To define the desired path, the second-order polynomial, as given in (6), is adopted in this paper. This is defined with respect to the vehicle's local coordinate system. The coefficients of (6), i.e., a, b and c, are determined with (7) by considering the position constraints at P(x 0 ,y 0 ), P(x 1 ,y 1 ) and the heading constraint at P(x 0 ,y 0 ). Based on the approximated desired path, κ des at P(x 0 ,y 0 ) is derived as (8). Finally, the required yaw rate γ j|k,input for path tracking is derived as (9). This is the explicit relationship between the required yaw rate and the reference path, which is the key contribution of this paper. By virtue of the relationship, vehicle chassis control dealing with the required yaw rate tracking and autonomous driving dealing with the reference path tracking are connected to each other.
Since the reference states for the MPC should be defined within the prediction horizon, it is necessary to distinguish the indices for the time and the prediction step. In (9), j is the prediction step index for reference state decision and k is the time index. Therefore, v j|k means the j-th predicted longitudinal velocity at k-th time instant. For example, v 0|k is the current velocity of the vehicle at k-th instant.
The desired velocity v j|k,des is defined by selecting the pre-defined velocity on the reference path. The pre-defined velocity on the reference path can be defined in various ways [29][30][31]57]. However, since the objective of this paper is to develop an integrated control algorithm for the path and velocity tracking controllers, the driving history of the driver is used to define the pre-defined velocity profiles and the reference path [15,58]. Then, a simple proportional controller is utilized to define the acceleration input for reference state decision, as given in (10).
As mentioned before, the reference states should be defined within the prediction horizon of the MPC. This means that the state prediction of the vehicle should be performed in order to define the reference states [10,[52][53][54]58,59]. First, the state and input vectors of the motion prediction model is defined as (11). In (11), p x,j|k , p y,j|k , and θ j|k are the longitudinal and lateral positions, and the yaw angle of the vehicle with respect to the local coordinate system defined at k-th time instant, respectively. v j|k , γ j|k , a j|k , and γ j|k are the longitudinal velocity, the yaw rate, the longitudinal acceleration, and the yaw acceleration, respectively. When defining the state and input vectors, it is necessary to take the actuation delay of the vehicle into account. For this reason, the a j|k, and γ' j|k are defined separately with the virtual inputs, a j|k,input, and γ j|k,input in order to include the delay model in the reference state decision module.
x pred,j|k = [p x,j|k p y,j|k θ j|k v j|k γ j|k a j|k γ j|k ] T u j|k = [γ j|k,input a j|k,input ] T Under the assumption of small body slips, the kinematic model can be used to propagate the vehicle states. In addition, the lateral velocity is excluded from the state variable because of small body slip [39]. Based on the kinematic model, the prediction model is defined as (12). In (12), f (x pred,j|k , u j|k ) is the non-linear equation, which is composed of the seven ones for each state variable, as given in (13). In (13), dt is the prediction sampling time, which is set to 0.1 s.
x pred,j+1|k = f x pred,j|k , u j|k (12) It is necessary to determine the longitudinal and lateral behaviors, which occur after the virtual inputs are applied, with the consideration of the actuation delay. If the virtual input is directly integrated by the prediction model without any considerations, the generated reference state can be the states that the actual vehicle cannot follow [59]. In this paper, the first-order delay model is used to describe the actuation delay in the prediction model. The expression of the first-order transfer function in the time domain appears as an exponential function, which is named as an exponential decay model in many studies [60]. Therefore, the exponential decay model is used in defining (13) in order to reflect the actuation delay in the prediction model. The exponential decay model is represented as (14) [60]. In (14), k a and k γ are the decay rate for the longitudinal acceleration and yaw rate, respectively. The values of k a and k γ are set to 0.05 and 0.15 for state prediction, respectively. a 0 and γ 0 are the initial values of the a j|k , and γ j|k , respectively. . a(k + j · dt) = a 0 · exp(−k a · (k + j · dt)) The reference state x ref,k is composed of v x , v y and γ. The reference v x and γ are defined from the prediction results of v j|k and γ j|k , respectively. To minimize the body slip, the reference v y is set to zero. Therefore, x ref,k is defined as (15).

Design of Linear Time-Varying Model Predictive Controller
The control algorithm for the over-actuated vehicle with 4WIS/4WID is designed with MPC. MPC has the advantage that an optimization has been performed for each moment while keeping future behavior in the account [9,10,[48][49][50][51][52]59]. This advantage is realized by performing the optimization for a finite horizon and then optimizing repeatedly for every sampling time of the controller. In addition, since MPC is solved for every instant, prediction results of the plant and surrounding factors can be considered to respond to future events. For this reason, a linear time-varying MPC algorithm is proposed to control the over-actuated vehicle with 4WIS/4WID for the purpose of tracking the reference states. The details of the MPC algorithm will be discussed in the following sections.

Discretization and Linearization of the Vehicle Model
The vehicle model presented in Section 2 is the time-varying non-linear one. In the previous studies, various assumptions have been made to linearize the model and to transform it into a time-invariant one. In particular, small steering angle and constant velocity assumptions were frequently made to linearize a trigonometric function for steering inputs and to ensure the denominator divided by the velocity is constant [19,23,24]. In order to avoid the performance deterioration caused by the model linearization, the nonlinear control method has been introduced in designing the path and velocity tracking controllers [6][7][8][39][40][41][42][43][44][45]. Among the approaches using the non-linear control, a nonlinear MPC (NMPC) has been used to directly utilize the non-linear vehicle model. However, NMPC requires a complex nonlinear optimization algorithm to obtain optimal control inputs considering nonlinear prediction models, constraints, and cost functions. In addition, the complex numerical calculation of the NMPC increases the computational burden, which makes the NMPC solving sampling time larger [61]. Therefore, the non-linear vehicle model described in Section 2 is transformed to a linear time-varying one through local linearization.
The state and input vectors of the nonlinear vehicle model are defined as (16) and (17), respectively. After dividing (1) and (2) (16) and (17). The state-space equation of the non-linear vehicle model is given in (18). In (18), the vehicle model is a continuous-time one. To adopt the model of (18) in the linear time-varying MPC controller, the model is needed to be linearized with respect to current states and inputs. The linearized model is obtained as (19) by approximation of (18) at x(t) and u(t − 1). . where, Since the 4WIS/4WID system uses a steering motor and IWM at each wheel, the steering angle and driving torque of each wheel are measurable. Therefore, C is the identity matrix of 8 × 8. The linear time-varying continuous system of (19) is discretized by firstorder difference and transformed into (20). In (20), ∆T is the sampling time of the MPC algorithm, which is set to 0.1 s. n is the prediction step index for the MPC problem. where,

Cost Function and Constraints
The objective of the controller designed for the over-actuated autonomous vehicle with 4WIS/4WID is to make the vehicle follow the reference path and velocity while minimizing the control effort. In order to achieve the objective of the proposed controller, the cost function of the MPC problem is defined as the quadratic form of (21). In (21), x(k) ref is the reference states, which are defined in (15). α i (n) and κ i (n) are the tire slip angle and tire slip ratio for each wheel, respectively. The subscripts, i = 1, 2, 3, 4, correspond to FL, FR, RL, and RR tires of the vehicle. ρ is a relaxation factor used to avoid optimization failures when there is no optimal solution within the prediction horizon [50]. In other words, ρ ensure that at least cost function can find a suboptimal solution. In (21), Q and R are defined as (22), which represent the weighting matrices on reference tracking error and control input, respectively. In (22), Q vx , Q vy , and Q γ are the weights on the tracking errors of the longitudinal and lateral velocities and the yaw rate, respectively. R δ and R Fx are the weighting matrices on the steering angle generated by 4WIS and the longitudinal force generated by the driving torques of 4WID at each wheel, respectively.
Equality constraints are derived from the vehicle model and initial condition of the optimization. In the MPC controller, the linearized and discretized vehicle models are used as a dynamic constraint, as given in (23). In (23), N p is the number of the prediction steps. Then, the vehicle states at k-th time instant are used as initial condition constraints, as given in (24).
Constraints on the states and inputs of MPC problem are defined as inequality ones in order to make the vehicle operate within a stable region. The constraints for the state vector of the MPC problem are defined as (25). The input constraints are defined as (26) and (27), which mean a maximum value and jerk limit to each actuator needed to consider the actuator limit. The inequality constraints on steering of 4WIS are defined as (26). In (26), δ max and δ' max are the maximum steering angle and its angular rate, respectively. The inequality constraints for drive torque of 4WID are defined as (27). In (27), F x,max, and F' x,max are the maximum longitudinal tire force and its rate, respectively. Finally, the parameters of the linear time-varying MPC are summarized in Table 1.

Simulation
The simulation with the path and velocity tracking controllers was conducted to evaluate the performance of the proposed algorithm, comparing it with base algorithms. In this paper, two base algorithms were used to compare the performance of path and velocity tracking controllers. The details of the base algorithms and simulation environments are described in the following subsection.

Base Algorithms
As mentioned before, two base algorithms, Base #1 and Base #2, were adopted to compare the performance with the proposed algorithm. These algorithms were designed for 4WS with conventional 4WD vehicle systems. In other words, 4WS of the base algorithms control the left and right wheels with identical steering angles as done in the previous studies [4][5][6]8,36,[38][39][40][41][42][43][44][45][46]. Base #1 is a simplified version of the proposed algorithm, which determines the FWS and RWS angles and a single driving torque. The diving torque determined by Base #1 is transferred to each wheel via a conventional drivetrain, which is composed of the transfer case, front, and rear differentials. Base #2 is based on the conventional RWS controller and velocity tracking algorithm [11]. The path tracking controller of Base #2 makes the RWS angle proportional to that of the FWS, which is determined by an adaptive steering controller. A model-free approach was adopted to track the reference yaw rate by determining the FWS angle. The reference yaw rate for Base #2 was determined by the same approach, as described in Section 3 [56]. Since the path tracking controller of Base #2 adapts the yaw rate gain by using the lateral position error to reference path, it can be applied to various kinds of vehicle [56]. The yaw rate gain represents the ratio between the steering angle and yaw rate. Therefore, the steering angle command can be determined without vehicle parameters and a detailed lateral model [56]. A similar model-free approach was also adopted to determine the throttle and brake inputs to track the reference velocity. The velocity tracking controller of Base #2 modeled the longitudinal behavior as a dynamic model with lumped parameters [62]. The lumped parameter was adapted to compensate for acceleration error in order to improve the velocity tracking performance. Therefore, the vehicle parameters are not required to determine the throttle and brake inputs [62].

Simulation Environments
The co-simulation platform on MATLAB/Simulink and CarSim was adopted as the simulation environment. The proposed algorithm and Base #1 were implemented by using CVXGEN, which is a high-speed solver for a convex optimization problem [63]. For the Base #2, the MPC block was replaced by the base algorithm, and simulation was undertaken. In this paper, D-class sedan model given in CarSim was used as a vehicle model for simulation. The parameters used for simulation are listed in Table 2.
The campus road in the Seoul National University, Korea, was adopted as the reference path for the simulation. As shown in Figure 4, the reference path, which is approximately 3.7 km long, has a large curvature and steep slope region. In particular, this path includes a 90 deg turn and a section with a slope of about 15%. Therefore, the proposed reference path is an appropriate environment for evaluating the path tracking algorithm. Since the reference path given in Figures 4 and 5 was acquired from a vehicle equipped with a high-precision DGPS, OxTS RT3002, not only the vehicle's position but also the vehicle's pose and dynamic states were precisely collected. The velocity history of the human driving data was used to define the reference velocity on the reference path, as shown in Figure 6. Among all simulation results, the results of Case #1 with a slight slope and curvature and Case #2 with 90 deg turning on a steep slope are summarized in the following section. The road sections of Case #1 and Case #2 are marked in red and green bold lines in Figures 4-6, respectively. Step of prediction horizon 20 ∆T Sampling time of MPC 0.1 s

Simulation Results
The simulation results of the proposed and base algorithms for Case #1 are summarized in Figure 7. In Figure 7, the results of the proposed algorithm, Base #1, and Base #2 are depicted as a blue solid, red dashed and green dash-dot lines, respectively. In addition, the desired velocity is marked as a cyan dotted line in Figure 7b. Since the simulation time of each algorithm is different, the simulation histories are described with respect to the travel distance of the closest point on the reference path.
As shown in Figure 7a, simulation results of Case #1 show that the position error of the proposed algorithm was maintained below 0.05 m. Meanwhile, the position errors of Base #1 and Base #2 were almost three times that of the proposed one, and even the lateral acceleration and the yaw rate were almost the same for all algorithms in Figure 7b,c. For longitudinal motion, the velocity tacking performances of Base #1 and Base #2 showed an error of about 1 km/h, as shown in Figure 7d. In addition, a larger jerk occurred in the case of the base algorithms in Figure 7e. As shown in Figure 7h, Base #1 and Base #2 evenly distributed the driving torque through the conventional drivetrain, which causes a larger body slip angle than the proposed algorithm. Since Base #2 determined the RWS angle in proportion to that of the FWS as shown in Figure 7g, it caused the largest body slip among the simulation results, as shown in Figure 7f. Moreover, the proposed algorithm generated the additional lateral moment by actively distributing the driving torque to each wheel, as shown in Figure 7h. From the results, the proposed algorithm showed the most accurate path and velocity tracking performance than the base algorithms while regulating the body slip angle.
The simulation results of Case #2 are summarized in Figure 8. Simulation for Case #2 included a larger curvature and steep road slope than Case #1, which makes it difficult for the vehicle to track the reference path and velocity. Like simulation Case #1, the proposed algorithm improved the path and velocity tracking performances, compared to Base #1 and Base #2, as shown in Figure 8a,d. As shown in Figure 8b,c, all algorithms showed the similar histories of lateral acceleration and yaw rate. In terms of the reference tracking performance, the proposed algorithm prevented the position error from increasing by actively distributing the driving and braking torques to each wheel, as shown in Figure 8h. In the case of Base #1, the steering angle was determined similarly with that of the proposed algorithm, as shown in Figure 8g. However, the driving torque was not effectively distributed, compared to the proposed algorithm. Consequently, the path tracking performance of Base #1 was not improved as much as Base #2, as shown in Figure 8a. For Base #2, severe jerks in longitudinal acceleration and driving torque occurred, as shown in Figure 8e,h. This was caused by the fact that the proposed algorithm and Base #1, which are based on the MPC, predict and consider the road conditions ahead for optimization. Meanwhile, the longitudinal controller of Base #2 only takes the current states into account to determine the control inputs. In addition, since Base #2 was not designed to consider the lateral velocity, it can be seen that the body slip was not properly managed, compared to the proposed algorithm, as shown in Figure 8f.  From the perspective of energy consumption, it can be considered that more energy is consumed in applying the proposed algorithm because the wheel torque was highly used. However, considering that regenerative braking is available in a vehicle with IWM, all three algorithms can be found to be at the same level of energy consumption. For example, as shown in Figure 8h, the acceleration torque was used for the left wheels, but the right wheels were decelerating to a similar level of the acceleration torque on the left. Therefore, there were no significant differences in energy consumption from the base algorithms because regenerative braking can recover similar levels of energy used to drive left wheels. Therefore, it can be concluded that the proposed algorithm improves the path and velocity tracking performances for the autonomous vehicle with 4WIS/4WID without much loss in energy consumption.

Conclusions
This paper proposed a new algorithm for the integrated path and velocity tracking controller for an autonomous vehicle with 4WIS/4WID. The proposed algorithm is composed of the two modules: a reference state decision and MPC-based motion controller. The reference state decision module determines the reference yaw rate and velocity profiles to provide the reference state for the MPC algorithm. The MPC-based motion controller was designed based on the linear time-varying vehicle model in order to handle the high curvature road conditions which require a large steering angle. The local linearization of the non-linear vehicle model was performed for every sampling step to minimize the modeling error caused by linearization and discretization. The MPC was used to optimize and allocate the control inputs while reducing the computational load compared to non-linear MPC.
The performance of the proposed algorithm was evaluated via simulation conducted on the co-simulation environment, MATLAB/Simulink and CarSim. The reference path and velocity were defined by collecting the driving data of the driver from real driving experiments. The simulation results showed that the proposed algorithm achieved improved reference tracking performance than the base algorithms, which were based on the simplified MPC-based controller and adaptive control approach, respectively. Future work will consider extreme driving conditions, such as racing or the split-mu condition. The scope of the proposed algorithm will be extended toward the fault-tolerant control approach to over-actuated vehicle systems in order to guarantee the safety of autonomous vehicles.

Author Contributions:
The key idea was devised by Y.J. and S.Y. Equation development and simulation design were implemented by the Y.J. Verification and simulation of the control method were performed by Y.J and S.Y. This manuscript was drafted by the Y.J. The revised version and final submission were written by Y.J and S.Y. All authors have read and agreed to the published version of the manuscript.