Abstract
This article proposes a novel approach for the two-wheel-steer four-wheel-drive vehicle path tracking based on force control. Both the kinematic and dynamic models are used to calculate the virtual inputs based on a model predictive control algorithm. By using these virtual inputs as the constraints of a real-time sequential quadratic programming optimization, the optimal real inputs such as the drive forces and the steering angles are obtained. Note that the system is discretized when designing the control algorithm. The novelty is that all the forces are taken into account in the dynamic model, and the controller uses optimal steering angles and drive forces to obtain the minimum path offset. The integrated algorithms are then used in tracking a predefined path. Simulation results are provided to demonstrate the effectiveness and applicability of the proposed approach.
Keywords
Introduction
This article addresses the problem of path tracking applicable to field vehicles. While there are a number of successfully developed path tracking algorithms currently in operation as well as presented in the literature, the demand on extremely high precision path tracking at moderately high speeds is ever increasing. In order to realize better path tracking capabilities, it is of paramount importance to deal with the disturbances that affect the ability to track a path accurately. Among the disturbances are gravitational forces that act on the vehicle when it travels along terrain that slopes towards a side; the inability of the ground to provide the necessary reactionary forces to hold the vehicle on the path, for example, due to sandy or soft soil; and in some cases such as construction, mining and agriculture, the forces due to the machine engaging the ground.
In order to design sound control algorithms, it is essential to develop system models that accurately represent the ground vehicle being modeled. The two primary modeling methods used, namely, the kinematic models and the dynamic models have their own advantages and disadvantages. A kinematic model is developed by ignoring the inertial effects and on the assumption that velocities can be used as inputs. On the contrary, a dynamic model is developed by taking into account all the inertial effects and considering forces as the inputs. Undoubtedly, a dynamic model is an accurate representation of what goes on in real life provided the modeling can be done accurately.
In the current research, the vehicle path tracking is mainly based on the kinematic models due to their simplicity. Kinematic-based control algorithms are developed using offset model derived from the vehicle kinematic model. Normally, the kinematic model is approximated by the bicycle model or the tricycle model in which the steering angle of the front wheel is used to orientate the vehicle. 1 –3 In order to improve the robustness and reliability of the controller, the slip effects are incorporated in the kinematic modeling. Among the many controller design method available are sliding mode control (SMC), back-stepping control (BSC), and model predictive control (MPC). Zhou et al. 4 proposed a new robust SMC method which is implemented by considering the dynamic characteristics of the vehicle. A more elaborate way to deal with wheel slip was presented by Taghia and Katupitiya, 5 in which the authors dealt with the slip through the use of a slip observer, then an SMC is used to achieve a successful path tracking control. In the research of Fang et al. 6 a BSC based controller is designed which considers the slip effects as additive unknown parameters to the ideal kinematic model. Lenain et al. 7 proposed an MPC algorithm to control the vehicle’s path following while the vehicle is subjected to sliding, and in its follow-up study, 8 a slip estimator is used in an MPC in combination with a Kalman filter which led to keeping the tracking error within ±15 cm.
These researches have shown that the controllers designed based on kinematic models perform just as good as the controllers designed based on dynamic models provided the operating conditions do not make the dynamical effects dominant. However, it can be seen that an obvious difficulty in kinematic model-based control algorithms is the incorporation of wheel slip, which is primarily due to the difficulties in measuring them. Thus, this assumption is valid only for ground vehicles operating on rather undisturbed ground at low speeds, in which situation the slip forces and slip velocities are not considerable and can be treated as disturbances. For the situations where the vehicles are expected to operate at higher speed or on slippery ground, it is essential to use a dynamic model. 9,10 Regardless of the type of model used, the disturbances that are affecting the motion of the vehicle must be incorporated and taken into account in the model. 11 Thus, a more direct way of taking the slip effects into account is to use a dynamic model in which the slip effects can be incorporated as slip forces where the slip forces are either measurable or can be estimated.
In recent years, more researches on dynamic model-based path tracking implementation have been presented. 12 –14 The controllability of the vehicles can be significantly improved by allowing more freedom in the control efforts. In two-wheel-steer four-wheel-drive (2WS4WD) vehicles, this can be achieved by allowing the independent control of all drive forces and steering angles. The 2WS4WD system is an overactuated system and one way of obtaining a solution is to use robust control algorithm in combination with optimization that can be implemented in real time. Yang et al. 15 proposed a hybrid optimal fault-tolerant control approach which combines the linear-quadratic control method, and the Lyapunov method is proposed for a path tracking system. The dynamic model is developed and applied in an objective function, which is optimized by a particle swarm optimization (PSO) algorithm to obtain the optimal drive and steering motions for tracking the planned path precisely. 16 To analyze the effect of the optimization method, the genetic algorithm and the PSO algorithm are compared in real-time path tracking. 17 Among all the optimization methods available, the sequential quadratic programming (SQP) can be effectively used to solve the nonlinear constrained problems, which is the type of optimization associated with the dynamic model-based path tracking implementation. 18,19
In this article, we will be using a complete dynamic model in x, y, and θ space, taking into account all the forces exerted on the vehicle by the ground and all inertial forces. 20 Given that the vehicle presented in this study is a four-wheeled vehicle, with the ability to independently steer two of the steered wheels and with the ability to independently drive all four wheels, the significant external forces acting on the vehicle occur at the wheels. The forces at the wheels can be categorized into two different varieties: the longitudinal forces and the lateral forces. If a wheel is driven, the longitudinal force becomes a resultant drive force, and if the vehicle is idling, the longitudinal force becomes a rolling resistance. The lateral forces on the other hand are the forces that hold the vehicle on its intended path. When the lateral forces are insufficient, the vehicle drifts off course. In path tracking, the requirement therefore is to ensure sufficient lateral forces are generated so that the vehicle is kept on its path at all times.
As mentioned before, the vehicle being controlled has four drive forces and two steering angles to be controlled. This also means that there is no link such as the tie rod coupling the steering angles of the two wheels being steered. As such, the steering of the two wheels can be independently controlled. The wheels can also be driven completely independently and therefore requires four drive forces. In total, there are six control inputs. The configuration of six inputs can significantly improve the vehicle’s performance in overcoming the complex disturbances compared to the kinematic model-based vehicles. However, it also leads to an overactuated system problem.
Thus, as the contribution in this work, an integrated MPC algorithm that combines a solution obtained using MPC method applied to a kinematic model and a solution obtained using MPC applied to a dynamic model is presented. These results are further combined in an optimization algorithm to obtain the real inputs such as the drive forces and the steering angles. The MPC applied to the kinematic model provides a set of constraints used in the optimization. The MPC applied to the dynamic model provides a set of virtual accelerations that will also be used as further constraints. Given that the system is an overactuated system, a new objective function is proposed and an SQP-based optimization method is used to solve the control allocation issue.
The article is organized as follows. “Vehicle system modeling” section describes the models needed by the controller, including the vehicle kinematic model, dynamic model, offset model, and wheel model. “Control algorithm and its implementation” section presents the control algorithm, including the integrated MPC algorithm and the SQP optimization method. In “Results and discussion” section, the simulation results are discussed in detail and compared with different control algorithms. Finally, this article is concluded in the last section.
Vehicle system modeling
This section presents the model of the vehicle system, which consists of three submodels: kinematic model, dynamic model, and wheel model. The kinematic model considers the vehicle’s steering angle and velocities, while the dynamic model is subjected to the contact forces generated by the ground. Based on the kinematic and dynamic models, two offset models are proposed for the path tracking problem. As a part of the dynamic model, the wheel model presented in the end describes the actual forces acting on each wheel.
Vehicle kinematic model
Model description
As shown in Figure 1, the vehicle kinematic model is considered as a bicycle model in that the steered wheels at the front are represented with a single wheel at point C and the rear wheels are represented by a single wheel at point D. The length of the vehicle is illustrated in the figure where the front length Lf and the rear length Lr are measured with respect to the center of gravity G. In this model, Vl and Vr are the longitudinal velocity and lateral velocity of the vehicle at point G, respectively. Considering the 2WS4WD vehicle, in its kinematic model, the front wheel is steerable and the steering angle is presented as δ, while the rear wheel is nonsteerable. Ot is defined as the instantaneous center of rotation of the vehicle. Vfw and Vrw are the resultant velocities of the front wheel and the rear wheel, respectively. αf represents the slip angle of the front wheel. The positive direction of both the steering angle and slip angle is set to be clockwise.

Kinematic model and its offset model.
In order to facilitate the description of the vehicle kinematic states, a state vector qk
is defined as
Kinematic model-based offset model
In order to develop the kinematic model-based controller, the kinematic model-based offset model (KBOM) must be developed. As shown in Figure 1, los denotes the offset error between the center of gravity G and the closest point on the reference path, while θos denotes the heading error. Particularly, we have |los | = |GP| and θos = θk − θd , where point P is the reference point and θd is the desired orientation at P. Point P can be obtained by comparing the distances from CG to all the point on reference path. 22 For the path tracking system, the KBOM can describe the relationship between errors and velocities, which is written as
where Vrd and ωd are the desired lateral velocity and angular velocity at reference point P, respectively.
To be applied in the MPC algorithm, the KBOM needs to be linearized. In this offset model, for a controlled vehicle, we define that the heading error θos should satisfy a range [−10°, 10°], and we define Vr ⋅ cosθos ≈ Vr . This assumption is valid when the vehicle is controlled by the dynamic controller. Moreover, as the second assumption, the amount of slip at the wheels αf can be ignored and the desired lateral velocity Vrd is set to be zero at this stage. Because at this stage, the kinematic model is used as a virtual model of the vehicle. Later in the dynamic modeling, the slip forces are incorporated to make the vehicle model more realistic. Based on the above assumptions, the KBOM in equation (2) can be simplified as
From the simplified KBOM, the state variables, x 1 and x 2, and the new input u are defined as follows
Then, the model can be rewritten as
where
In this model, the derivative of the lateral velocity Vr is considered as the measured disturbance within a small range. In the application of control algorithm, the value of d can be obtained relying on the feedback from the global position system (GPS) directly.
According to the control objective of the model, we define the state vector and output vector as Xk
= [x
1 x
2]T and Yk
= [x
1 x
2]T, respectively. Then, the model can be obtained as a standard linear state space model
Vehicle dynamic model
In this section, the vehicle dynamic model and the offset model for force control are presented.
Model description
The vehicle dynamic modeling is illustrated in Figure 2. The 2WS4WD vehicle body is considered as a rigid body which has a constant mass M and inertia J. The vehicle is driven by four wheels, in which the front wheels are steerable while the rear wheels are nonsteerable. To simplify the derivations, the dynamic analysis is made at the center of gravity. θ is the orientation of the vehicle, and ax
, ay
, and γ represent the accelerations in x-direction, y-direction, and angular acceleration of the vehicle about a vertical axis, respectively. Vl
and Vr
represent the longitudinal and lateral velocity in the local coordinate frame, while al
and ar
represent the longitudinal and lateral acceleration in the local coordinate frame.

Dynamic model of the vehicle.
The dynamic equations of the 2WS4WD vehicle are written as
where
Offset model for the force control
In this work, we proposed an offset model specific to the ground vehicle force control which is named as offset model for the force control (OMFC) in this article. To analyze the error of the path tracking system more accurately, not only the offset error and the heading error but also their velocity errors and acceleration errors need to be considered. Thus, the OMFC is presented as shown in Figure 3.

Offset model for the force control.
In this model, the reference point is still set as point P which means los and θos have the same definition of that in KBOM. Thus, the desired velocities Vld , Vrd , and ωd and accelerations Ald , Ard , and γd can be obtained directly from the reference path properties when P is targeted.
To begin with constructing this model, the derivative of los
will firstly be considered. It is obvious that
The second derivative of los
can be derived by taking time derivative of equation (7). Thus, the equation about
Secondly, according to the definition of heading error θos
, its derivative
In the force control path tracking system, the longitudinal velocity is also considered as a controllable variable subjected to the longitudinal acceleration. Thus, a longitudinal velocity error Vlos is defined which denotes the error between the actual longitudinal velocity and the desired longitudinal velocity obtained from the reference path. Hence, the equation of Vlos and its derivative are written as
To be applied in the MPC algorithm, the OMFC should be written in state equation form. We define state vector
It is obvious that this model is nonlinear, where
where θos
and
Wheel model
The wheel model is used to describe the drive forces and lateral forces mentioned in the vehicle dynamic model (6). For the drive forces, in this article, we assume that an effective drive unit has been used to generate the drive force needed at each wheel. Based on this assumption, the drive forces Fdi are considered as inputs in the force control system. For the lateral forces, according to Woods and Katupitiya, 20 it is determined by not only the steering angle but also the actual velocity direction of each wheel. However, the wheel’s actual velocity direction is not a directly controllable variable. Thus, to obtain the sound simulation of the wheel, the lateral force is described subjected to the wheel kinematic properties as well as dynamic properties in the proposed wheel model.
As shown in Figure 4, the lateral forces FLi occur perpendicular to the plane of the wheel and are a result of the wheels slipping in the lateral directions. The longitudinal slip forces are the forces that occur in the nominal rolling direction of each wheel. The lateral force has a linear relationship with the slip angle αi when it is within [−5°, 5°]. The relationship is determined by the load at each wheel FNi and a lateral slip friction coefficient kLi which is expressed as

Wheel model.
where kLi is the lateral slip friction coefficient of the wheel. FNi is the load at each wheel which can be calculated by distributing the vehicle’s weight at each wheel. The equations of FNi are written as
As shown in Figure 4, the slip angle
where the side slip angle βi can be calculated by equation (16) according to the dynamic model shown in Figure 4
Control algorithm and its implementation
This section presents the control algorithms in detail. First, the integrated MPC controller is based on an embedded integrator MPC algorithm. The model predictive controller will deliver the virtual control inputs that will control the vehicle in a stable way. Embedded in the virtual control inputs are the real inputs such as the two steering angles and the four drive forces. Then, an SQP is used to carry out optimal control allocation so that the actual inputs to be applied to the physical system can be found. This is achieved by using the virtual control inputs as constraints in the SQP optimization process. A detailed flowchart depicting how all parts of this approach fit together is given later in this section.
Embedded integrator MPC
The MPC algorithm is commonly used to obtain the outputs by solving an online optimization. It has an extensive applicability and strong reliability in controlling different types of systems such as linear system, time-varying or constrained systems. However, one issue is that the MPC algorithm would lead to a large amount of computation in the controller when calculating the optimal solution. For the linear system, because of the particularity of its model, it is probable to get an offline solution directly. An embedded integrator MPC algorithm is proposed and proved to be effective in controlling the linear system without disturbances. 23
Control design
To enable us to develop this model predictive controller, the two offset models KBOM and OMFC presented earlier are written in their general form as
where the models presented are continuous-time models. X represents the state vector matrix. U c is the virtual input vector. Y c represents the output matrix which is part of the state vector X and can be obtained directly by multiplying the state vector with the matrix Cc .
To apply the MPC algorithm in the real system, the model in equation (17) needs to be discretized. The discrete-time model is written as
where Xd (k), Yd (k), and Ud (k) are the state vector, output vector, and virtual input vector, respectively. Ad , Bd , and Cd are the matrices after discretization.
Referring to Wang,
23
an augmented state-space model with an embedded integrator can be obtained by defining
where od is a zero matrix and I is the identity matrix with the same dimension of Yd .
Then, the matrix form of augmented model (19) can be simplified by defining
where
Following the basic idea of MPC, the future outputs can be derived by the linear model proposed earlier. Then, these predictive outputs are compared with the desired outputs. By minimizing the error between the two outputs and the future inputs, the optimal inputs can be obtained. Here, we assume that ki is the sample time, while y(ki + n|ki ) denotes the predictive outputs at time ki + n based on the states at time ki . Nc and Np represent the control horizon and the prediction horizon, respectively. To simplify the derivation, we define the predictive outputs Y and the future inputs ΔU as follow
Thus, the relationship between predictive outputs Y and the future inputs ΔU can be presented by the following equation
where
Then the objective function J is defined as
where Rs
is the target vector, and
By differentiating J and equating it to zero, the optimal solution ΔU* is obtained; however, only the first increment is applied as the control inputs. Thus, the control inputs are Δu(ki )* and presented as follows
where
Finally, the virtual inputs U
* can be calculated by integrating the optimal solution Δu(ki
)*. In this work, by substituting the virtual inputs calculated by this MPC algorithm and the current states into equations (4) and (12), the reference steering angle δ and the desired accelerations
Stability proof
The stability proof is derived based on Lyapunov’s method. 24 Referring to Wang, 23 a novel Lyapunov function is defined specifically for the optimization-based MPC algorithm. In order to facilitate the judgment of monotonicity, an intermediate function is defined.
Remark 3.1
For both KBOM and OMFC, they are following a typical linear model, and the target vector Rs is always zero. The first term in the objective function (22) penalizes the error between Rs and Y. Since the objective function is a typical quadratic form, it is obvious that the optimal solution of ΔU can make its output sequence converge to zero. Thus, the last element of the predictive output sequence Y has to be smaller than its initial element, which is expressed as
Theorem 3.1
Given that the objective function J is minimized subjected to U = U
* and the stability constraint
Proof
The MPC algorithm is realized by receding optimization and the future input
where
Then, the Lyapunov function at the next sample time ki + 1 can be written as
Now we define
then
Since
As given in theorem 3.1,
Therefore, when the gain matrix rw is positive, the derivative of the Lyapunov function is
which can prove the asymptotic stability of the system.
As is stated in remark 3.1, the stability constraint
Control allocation
For the force control of the ground vehicle, the desired acceleration vector Avir
delivered from the integrated MPC controller should be produced jointly by the drive forces Fdi
(i = 1, &, 4), the steering angles δi
(i = 1, 2), and the lateral forces FLi
(i = 1, …, 4) at each wheel. The reference steering angle δ will be used to locate the actual steering angles δi
(i = 1, 2). In these variables, the drive forces and the steering angles are directly controllable, while the lateral forces are generated from the wheel model. Thus, two input vectors are defined, in which
where
The control allocation problem reduces to making the actual accelerations A act to coincide as much as possible with the desired accelerations A vir calculated by the MPC. In actual operation, to improve the calculation efficiency and stability, a slack variable s ∈ ℝ3 is defined by
Sequential quadratic programming
SQP can be powerful to solve constrained nonlinear programming problems. The control allocation issue can be achieved by solving the SQP problem which involves an objective function subject to the equality and inequality constraints. Referring to Johansen et al., 19 the slack variable s which guarantees feasibility by allowing probable errors of the inputs is taken into account in the objective function.
In this work, the objective function is defined by minimizing (uf, uδ, s)
where the first term in this function represents the magnitude of the drive forces. Similarly, the second term represents the magnitude of the steer angle. The third term can penalize the slack variable s, which makes the actual generalized forces to coincide as much as possible with the commanded forces τ. The matrices Qf ∈ I 4×4, Qδ ∈ I 2×2, and Qs ∈ I 3×3 are used to adjust the objective function. The maximum and minimum of the input variables and slack variable are specified by the constraints.
Consider the general constraints of the 2WD4WD vehicle, the drive forces should satisfy
where ΔF dmax denotes the variation of the drive force Fd within the sample time Δt.
Thus, the bound of the drive forces can be expressed as
where
For the steering angle, the search range is around reference steering angle δ delivered from the integrated MPC controller. We define the radius of the search range is Δδ and the maximum of the steering angles is δ
max. Thus, we can obtain the definition of
Closed-loop control of the vehicle system
The detailed flowchart of system is presented in Figure 5. In this work, the reference path, which contains the location, the desired velocity profiles, the desired acceleration profiles, and the desired curvature profiles, has been generated offline and provided to the integrated MPC controller as well as the offset models. Based on the offset states delivered by the two offset models, two groups of virtual inputs including the reference steering angle δ and desired accelerations

Overall flow chart for the closed-loop control of the vehicle system.
Results and discussion
In this section, the whole system mentioned earlier is simulated. Firstly, the simulation setup including the reference path and the parameters of system are introduced. Then, the simulation results are presented and discussed in detail. To indicate the advantage of the integrated MPC approach, a comparison has been made with the kinematic-based MPC algorithm implemented in the path tracking.
Simulation setup
To test the effect of the 2WS4WD vehicle system, a reference path has been generated based on a seven-order Bézier curve referring to Dai and Katupitiya. 13 As shown in Figure 6, the path is presented in Figure 6(a), while other properties of the reference path are illustrated in Figure 6(b) to (d) which denote the path curvature, reference velocities, and accelerations, respectively. In Figure 6(a), the start point is on the reference path and defined as the origin of the global coordinate frame. The drive direction of the reference path is in the clockwise direction. In Figure 6(b), we can see that the curvature of each curved segment is less than 0.2 m−1 and the fourth curved segment is the sharpest cornering of all. Figure 6(c) shows that the reference longitudinal velocity is set to around 3 m s−1 and the desired lateral velocity is zero.

(a) Reference path, (b) the curvature of the reference path, (c) the reference velocities, and (d) the reference accelerations.
The initial heading is set equal to the direction of the tangent to the reference path at the start point so that both the initial offset error and heading error are zero. To test the longitudinal velocity adjustment ability of the controller, the initial longitudinal velocity is set to be 0.5 m s−1. While other initial velocities and accelerations are all set to zero. The system has been simulated in MATLAB using the full dynamic model of 2WS4WD vehicle, following the parameters listed in Table 1.
Parameters used in the simulations.
Simulation result
The path tracking result is shown in Figure 7. In Figure 7(a), we can see that the actual path stays close to the reference path. The offset error and the heading error presented in Figure 7(b) are less than 5 cm and 8°, respectively.

(a) Path tracking result and (b) path tracking errors.
As shown in Figure 8, the reference steering angle undergoes smooth changes along the path which demonstrates that the kinematic-based MPC part in the integrated MPC controller is reliable. For the actual steering angles, they are searching around the reference steering angle. It can be seen that the steering angles stay around zero when the path is straight and reach a negative value at cornering. Note that all cornering on this path were turning towards right. Hence, the actual steering angles of both sides have provided the correct orientation of the path tracking.

Steering angles.
In order to analyze the force control effect, the actual forces on each wheel are illustrated in Figure 9. According to Figure 9(a) and (d), the drive forces which are applied at outside wheels (i = 1, 4) increase first and then decrease when the vehicle is turning to the right. At the end of the turning, the drive forces at outside wheels reach a negative value and then return to zero, which is a result of compensatory behavior to combat the heading errors. For the inside wheels (i = 2, 3) presented in Figure 9(b) and (c), the drive forces show a behavior to the contrary of that of the outside wheels. The differential drive forces between the outside and inside wheels can provide the angular acceleration when the vehicle is turning.

Actual forces on each wheel, (a) forces on left front wheel, (b) forces on right front wheel, (c) forces on left rear wheel, and (d) forces on right rear wheel.
The lateral forces of rear wheels shown in Figure 9(c) and (d) show smooth changes at each cornering, providing the necessary centripetal acceleration. It is because the rear wheels are nonsteerable, and the slip angles of rear wheels are equal to their corresponding side slip angles which are only related to the resultant velocity directions of each wheel. For the front wheels, it can be seen in Figure 9(a) and (b) that the lateral forces vary from −80 N to 80 N. It is because the lateral forces on the front wheels are not only based on the resultant velocity directions but also decided by the steering angles presented earlier.
Figure 10 illustrates the kinematic and the dynamic properties of the path following result. In the plots, reference velocities are the properties of the predefined path, while the virtual accelerations are the control inputs calculated by the MPC. The comparison between virtual and actual accelerations can illustrate the effect of control allocation.

Kinematic and dynamic properties, (a) longitudinal velocity, (d) longitudinal acceleration, (b) lateral velocity, (e) lateral acceleration, (c) angular velocity, and (f) angular acceleration.
In Figure 10(a), the actual longitudinal velocity of the vehicle starts increasing from 0.5 m s−1 to 3 m s−1 in 3 s and then keeps stable around 3 m s−1 following the reference longitudinal velocity. The velocity shown in Figure 10(b) is the lateral velocity at rear wheels, from which we can see the slip velocity of the vehicle is less than 0.2 m s−1 which is less than 7% of the longitudinal velocity. Thus, the slip motion of the vehicle is under controllable range. Figure 10(c) shows that the angular velocity is smoothly following the reference, demonstrating the stability during turning. In Figure 10(d) and (e), the longitudinal and lateral accelerations are illustrated. In this simulation, the actual acceleration is generated by applying Fd , FL , and δ to the dynamic model. As is shown in the plots, the actual accelerations basically track the virtual accelerations with its errors less than 0.1 m s−2. Thus, the SQP-based control allocation method is proved to be effective in longitudinal and lateral directions. For the angular acceleration shown in Figure 10(f), the error between actual and virtual accelerations is chattering within −15 to 10 ° s−2 at each cornering. It is caused by the slack variables defined in the objective function of SQP. Comparing Figure 10(c) and (f), the effect of the acceleration error is basically eliminated in the process of integrating which illustrates that the control allocation is useful in the rotating direction. From all the above, the effectiveness of proposed control allocation method is demonstrated. Since the actual velocities can track their references when applying the virtual inputs calculated by the MPC, the Lyapunov stability of the system is achieved.
In order to verify the performance of SQP-based optimizer, Figure 11 is presented which contains the iteration and optimality of the optimizer. Figure 11(a) illustrates that the iteration of each sampling time varying between 5 and 35 and its average is 20, which means the optimizer converges rapidly during the whole process. Based on the Karush-Kuhn-Tucker (KKT)-optimality conditions, the Lagrange function values in Figure 11(b) show that SQP-based optimizer is always convergent.

Performance of the SQP-based optimizer, (a) iterations of SQP and (b) optimality of SQP. SQP: sequential quadratic programming.
Comparison
In this section, a comparison is made between two different control approaches, namely, the kinematic model-based MPC and the one presented in this article as integrated MPC, which combines kinematic and dynamics of the vehicle. The kinematic-based MPC is based on the controller presented by Taghia et al. 25 Simulation of these two approaches is presented and discussed in the following.
Offset and heading errors for both control approaches are shown in Figure 12(a) and (b), respectively. The red lines denote the kinematic-based MPC, while the blue lines denote the integrated MPC. The comparison began from 6 s when the two vehicles are operating in the same velocity of 3 m s−1. Based on the figures, we can see the offset error of the kinematic-based MPC may reach 0.2 m at cornering segments and no matter at the straight segments or the cornering segments, and vibrations would occur with an average range ±0.03 m. While the offset error of the integrated MPC is less than 0.05 m at cornering segments and shows a smooth changing during the operation especially in the straight segments, the offset error can be reduced and the vehicle can follow the path accurately. In Figure 12(b), the heading error of the kinematic model-based MPC can reach 20 at the fourth cornering, while the heading error of the integrated MPC reaches 6° at most which is much smaller than that of the kinematic model-based MPC. It is clear that the integrated MPC approach presented in this article has a better control effect than the kinematic-based MPC in path tracking.

Error comparison between integrated MPC and kinematic-based MPC, (a) offset error comparison and (b) heading error comparison. MPC: model predictive control.
Conclusions
In this article, a control approach that combines an integrated MPC and an SQP-based control allocation method is presented to control the ground vehicle path tracking system. The stability of proposed method is proved based on the Lyapunov’s method. In this system, all the inputs are considered based on dynamic model. The lateral forces and slip motions can be measured via the wheel model. The simulation result shows that all the virtual inputs obtained from the MPC controller are reasonable and can be accurately tracked by the actual accelerations generated from the actual inputs. By applying the actual inputs obtained from the SQP optimization, the vehicle can track the reference path closely as well as keep its velocities stable. Compared with a kinematic-based MPC algorithm, the result shows a significant improvement in errors. Thus, the new control approach is proved to be effective and reliable in controlling the ground vehicle to track a predefined path. The contribution of this work is to provide a feasible solution which combines kinematic-based and dynamic-based methods to realize the precise path tracking of a 2WS4WD vehicle. In the future work, the robustness of the MPC will be considered to overcome the unpredicted force disturbances from the ground. Also, the experiments will be carried out to verify the validity of the proposed methods.
Footnotes
Authors’ note
This work is carried out at the School of Mechanical and Manufacturing Engineering, University of New South Wales, Sydney NSW 2052, Australia.
Acknowledgements
The authors would like to appreciate for the facility and assistance provided by the Group of robotics and autonomous systems, University of New South Wales.
Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The author(s) disclosed receipt of the following financial support for the research, authorship, and/or publication of this article: This work is supported by the China Postdoctoral Science Foundation (grant no 2016M600910) and the Fundamental Research Funds for the Central Universities (grant nos 2015JBC022 and 2017JBM051).
