Next Article in Journal
Optimal Configuration and Path Planning for UAV Swarms Using a Novel Localization Approach
Next Article in Special Issue
Modeling and Control of Negative-Buoyancy Tri-Tilt-Rotor Autonomous Underwater Vehicles Based on Immersion and Invariance Methodology
Previous Article in Journal
Automatic Bowel Motility Evaluation Technique for Noncontact Sound Recordings
Previous Article in Special Issue
A Nonlinear Observer for Remotely Operated Vehicles with Cable Effect in Ocean Currents
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

MPC and PSO Based Control Methodology for Path Tracking of 4WS4WD Vehicles

1
School of Mechanical, Electronic and Control Engineering, Beijing Jiaotong University, Beijing 100044, China
2
School of Mechanical and Mechatronic Engineering, University of Technology Sydney, Sydney, NSW 2007, Australia
3
School of Mechanical and Manufacturing Engineering, The University of New South Wales, Sydney, NSW 2052, Australia
*
Author to whom correspondence should be addressed.
Appl. Sci. 2018, 8(6), 1000; https://doi.org/10.3390/app8061000
Submission received: 31 May 2018 / Revised: 13 June 2018 / Accepted: 13 June 2018 / Published: 19 June 2018
(This article belongs to the Special Issue Advanced Mobile Robotics)

Abstract

:
Four wheel steering and four wheel drive (4WS4WD) vehicles are over-actuated systems with superior performance. Considering the control problem caused by the system nonlinearity and over-actuated characteristics of the 4WS4WD vehicle, this paper presents two methods to enable a 4WS4WD vehicle to accurately follow a predefined path as well as its reference trajectories including velocity and acceleration profiles. The methodologies are based on model predictive control (MPC) and particle swarm optimization (PSO), respectively. The MPC method generates the virtual inputs in the upper controller and then allocates the actual inputs in the lower controller using sequential quadratic programming (SQP), whereas the PSO method is proposed as a fully optimization based method for comparison. Both methods achieve optimization of the steering angles and wheel forces for each of four independent wheels simultaneously in real time. Simulation results achieved by two different controllers in following the reference path with varying disturbances are presented. Discussion about two methodologies is provided based on their theoretical analysis and simulation results.

1. Introduction

With the development of Autonomous Ground Vehicles (AGVs) in the last few decades, the demand for accuracy, maneuverability and controllability in vehicle’s navigation is ever increasing. For example, an AGV may be required to follow a path accurately under unstructured and uneven terrain conditions, where a significant amount of wheel slip and unpredictable disturbance forces occur at the vehicle’s wheels. The 4WS4WD vehicle, with four wheels that can be steered and driven independently, is a revolutionary platform that has great potential to perform high maneuverability and flexibility in harsh environments.
The main challenge in the control of 4WS4WD control is the number of control inputs (four steering angles and four drive torques), which results in an over-actuated system, where only three outputs including its degree of freedom (DOF) in the longitudinal, lateral and angular directions of the vehicle are concerned. How to allocate all eight control inputs to achieve high path following performance has not yet been effectively solved. The control allocation is proposed to handle the control problems of over-actuated systems [1]. Generally, the control allocation can be treated as an optimization problem.
For controller designing, a model of the vehicle under control is generally required to facilitate the selection of future control inputs. A dynamic model describes the states of the vehicle based on the forces applied. However, the development of a detailed vehicle dynamic model is always a challenging task due to the uncertainty of parameters and the complex disturbances from the external forces. The majority of existing control methodologies for 4WS4WD vehicles are proposed based on the linearized dynamic model, which lead to the loss of input degree of freedom [2,3]. Meanwhile, some other methods use nonlinear dynamic models in the control of 4WS4WD vehicles [4,5], where control inputs are subjected to some relationship constraints to simplify the controller design. However, in practice, the four independent wheels may interact with different terrain conditions, where different slip, wheel forces and terrain disturbances are generated on the corresponding contact patches. Hence, it is desirable to make four wheels individually controlled, thereby limiting and/or overcoming different slip and disturbance on different contact patch.
There is an abundance of literature that presents kinematic modelling of ground vehicles [6,7,8], in which the vehicles are assumed to operate at low speeds to reduce the dynamic effects. Most vehicle kinematic models are developed based on the non-integrable kinematic constraints, known as non-holonomic constraints. As a result, the wheel slip has to be ignored with the assumption of zero relative velocity between wheels and terrain [9,10]. To utilize the kinematic model’s advantage of keeping the steering control relatively independent of velocity control [11], it is desirable to incorporate wheel slip in the vehicle kinematic model so as to facilitate the accurate vehicle control in complex terrain conditions where the no-slip assumption is not applicable.
To realize force control, a novel type of 4WS4WD vehicle with force sensors at each wheel has been designed as shown in Figure 1. This vehicle possesses the characteristics of independent steering and drive control at each wheel and force measurements. In this work, the dynamic model is partitioned into a hierarchy of three levels to facilitate the incorporation of force sensors and overcome uncertainties in the model. The force sensors at the drive unit allow the measurement of actual force data, while models of the drive unit and tire are used for simulation.
Model predictive control (MPC) is selected for its ability in handling linear constraints and time-varying systems as well as its good performance in tracking problems. Particle swarm optimization (PSO) is also selected for its fast searching speed in global optimization. MPC and PSO have been successfully applied in the controller design of real-time control systems [12,13,14,15,16,17]. In this work, MPC and PSO based control methods are proposed to realize the controlling aim of achieving good path following performance as well as high motion quality via vehicle steering control and independent force control at four wheels.
As novel contributions, the MPC methodology is applied to achieve precise path tracking of 4WS4WD vehicle. Based on the MPC theory, an offline control law is proposed to guarantee the stability of the upper controller. An sequential quadratic programming (SQP) based control allocation is developed to control the 4WS4WD vehicle in the lower controller. The inclusion of full independent force control and steering control on all four wheels enable the maximization of performance. In this work, comparison of MPC and PSO on the same vehicle model is provided, in which the proposed PSO control methodology is a further refinement of the PSO methodology presented previously in [18]. The PSO control methodology in this paper simplifies the derivation and gives an algorithm in a more general form, which facilitates the comparison with other control methods. In addition, both methodologies are compared with the kinematic model based method proposed in [19].
The paper is organized as follows: Section 2 describes the 4WS4WD vehicle modelling. The MPC and PSO control methodologies are presented in Section 3. In Section 4, simulation setup and the reference path are presented. The result of the two controllers are compared. In Section 5, the discussion about two methodologies are provided based on their theoretical analysis and simulation results. Finally, conclusions are provided in Section 6.

2. Vehicle System Modelling

In order to develop suitable control methodology, the 4WS4WD vehicle must be modelled for controller design and simulation. The model used for this work is a fully dynamic model that consists of three components, vehicle body dynamics to estimate vehicle body movement, drive unit dynamics to model the tire force acting on the drive unit in vehicle coordinate frame and a tire dynamic model to model the force generated by the tire in a wheel coordinate frame. The separation of dynamic model allows force sensors to be incorporated easily and reduces uncertainties by obtaining actual force measurements. In the end, an offset error model is proposed for evaluating the tracking performance and is used in the controller design.

2.1. Vehicle Body Dynamic Model

As shown in Figure 2, the vehicle body dynamic model describes the motion of the vehicle by representing each drive unit as a pair of forces, with F S l in the longitudinal and F S L in the lateral direction of the corresponding wheel. The reason for separating the dynamics of the vehicle at the drive unit boundary is to allow force sensors to be incorporated to measure the forces acting on each wheel, instead of relying on the tire model to estimate them. To facilitate the notations, the four wheels are numbered by 1, 2, 3 and 4 in circles. In particular, the force acting at each force sensor is decomposed into two components (i.e., F S l i and F S L i , i = 1 , , 4 ) normal to each other.
The equation of the vehicle body dynamics can be expressed as
acc = a r a l γ = M 1 C R 1 F A S 1 R 2 F A S 2 R 3 F A S 3 R 4 F A S 4 ,
where the acceleration vector denoted by acc consists of longitudinal acceleration a l , radial acceleration a r and angular acceleration γ .
The mass matrix is represented by M :
M = M 4 m d 0 0 0 M 4 m d 0 0 0 J z ,
where M is the mass of the vehicle, J z is the vehicle body inertia, and m d is the mass of the drive unit.
The matrix C is decided by vehicle dimension, written as
C = 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 L h L f L h L f L h L r L h L r .
The force vectors F A S i are defined as
F A S i = F S l i F S L i T , i = 1 , , 4 .
The transfer matrices R i from wheel frame to vehicle local coordinate frame X L O L Y L are presented in
R i = cos δ i sin δ i sin δ i cos δ i , i = 1 , , 4 .
The lateral components F S L i are determined by the lateral forces acting on tires, while the longitudinal components F S l i are viewed as intermediate control inputs of vehicle system, which can be achieved by controlling the torques (i.e., T i , i = 1 , , 4 ) applied on wheels. To simplify the coupled issue of left and right wheel steerings, the steering angles are constrained by
δ 1 = δ 2 = δ f , δ 3 = δ 4 = δ r .
Therefore, the vehicle system in this work considers six control inputs (i.e., δ f , δ r and T i , i = 1 , , 4 ) in total.

2.2. Driving Unit Dynamic Model

While the force sensors provide measurement of the current forces acting on each wheel, controller design requires prediction of future values based on control inputs. The drive unit dynamic model as shown in Figure 3 is described in this section.
In each driving unit, the force sensor mounted on the wheel hub rotate with the wheel. Force measurement is in the direction of the steering angle. According to Figure 3, the dynamics of driving unit can be expressed by
F A S i = F S l i F S L i T = F w i m d a w l i m d a w L i T ,
where a w l i and a w L i denote the longitudinal and lateral accelerations of each driving unit i in the wheel coordinate system ( X W i O W i Y W i ), respectively. Using the transfer matrices R i and the accelerations a l , a r and γ given in vehicle body dynamic model, a w l i and a w L i can be deduced as
a w l 1 a w L 1 = a l L h γ a r + L f γ R 1 , a w l 2 a w L 2 = a l + L h γ a r + L f γ R 2 , a w l 3 a w L 3 = a l + L h γ a r L r γ R 3 , a w l 4 a w L 4 = a l L h γ a r L r γ R 4 .
In Equation (7), F w i represents the force vector acting on each wheel, which is written as
F w i = F w l i F w L i T .

2.3. Tire Model

The actual generation of wheel forces are from the contact between tires and the ground. The wheel forces depend on the surface friction, load, and the intrinsic properties of the tire. To analyze the wheel forces F w i in Equation (9), the tire model is built as shown in Figure 4.
Considering the generation of wheel forces and external disturbances, F w i can be expressed as
F w i = F w l i F w L i T = F l i F g l i F L i F g L i T ,
where F l i and F L i ( i = 1 , , 4 ) are longitudinal and lateral forces caused by wheel slip, respectively. F g l i and F g L i denote the terrain disturbances corresponding to F l i and F L i .
According to [20], the longitudinal force can be considered proportional to the slip ratio in small range, which is expressed by
F l i = k l i F N i ς i 0.1 , ς i 0.1 , k l i F N i , ς i > 0.1 ,
where F N i is the weight force on wheel i. In the simulation, the load transfer due to the longitudinal and lateral accelerations and roll angle are taken into consideration. F N i can be calculated by considering longitudinal and lateral load transfer according to [21]. The longitudinal slip stiffness k l i is determined by the tire type and terrain condition. ς i is the longitudinal slip ratio of wheel i presented in [22]:
ς i = R w ω i v w i R w ω i , R w ω i > v w i > 0 , R w ω i v w i v w i , R w v w i > ω i > 0 , 0 , R w v w i = ω i 0 ,
where R w and ω i denote the tire radius and angular velocity of wheel i as shown in Figure 4b. v w i represents the actual velocity of the wheel i, which can be calculated by the vehicle geometry as well as velocities V l , V r and Ω shown in Figure 2. Note that the model is proposed only considering the vehicle is moving forward. Thus, v w i and ω i are set to be nonnegative. As is discussed in Equation (12), the slip ratio is zero when the vehicle is resting.
Finally, as per Figure 4b, the wheel dynamic equation indicating the relationship between T i and F l i can be written as
T i = ( F l i + F r i ) R w + ω ˙ i J w ,
where J w represents the wheel inertia, and F r i is the rolling resistance calculated by
F r i = F N i ( K r 0 + K r 1 V l 2 ) ,
where K r 0 = 0.015 and K r 1 = 7 × 10 6 s 2 /m 2 are the parameters for common car tires [23].
The steering motion of wheels result in the lateral slip velocities v s i , which causes the actual direction of wheel velocity v w i to differ from the wheel center plane by the slip angle α i . According to the tire lateral characteristic curve [24], a linear model for F L i is given in
F L i = k L i F N i α i 5 , α i 5 ° , k L i F N i , α i > 5 ° , k L i F N i , α i < 5 ° ,
where k L i is the lateral slip stiffness of the wheel i. Note that, due to the sign conventions in X W i O W i Y W i and X L O L Y L , a negative slip angle causes a positive lateral force and vice versa.
As shown in Figure 4a, the slip angle α i can be calculated by steering angle δ i and side slip angle β i ,
α i = β i δ i ,
where the expression of β i is available in our previous work presented in [25].

2.4. Offset Model

An offset error model is proposed for the evaluation of the performance of the controllers. The reference position (RP) of the vehicle on the reference path is defined as the normal projection of the heading of the vehicle at the centre of gravity on to the reference path, as shown in Figure 5. The tracking error in vehicle coordinate frame consists of lateral offset error l o s and heading error θ o s , expressed as
pos ˜ = 0 l o s θ o s T
The position errors are always in the lateral direction of the vehicle. The longitudinal position error is set to 0. The heading error can be found by
θ o s = θ θ r e f ,
where θ r e f is the reference heading direction of the RP, tangential to the reference path.
The velocity error states vel ˜ is the difference between vehicle velocity vel and reference velocity states vel r e f in the vehicle coordinate frame. vel ˜ can be expressed as
vel ˜ = V l e r r V r e r r Ω e r r T = vel vel r e f ,
where V l e r r , V r e r r and Ω e r r are the errors in longitudinal, lateral, and angular velocity, respectively. Reference velocity states are defined as
vel r e f = V l r e f V r r e f Ω r e f T ,
where reference angular velocity Ω r e f is the rate of change of the heading of RP on the reference path.
The reference longitudinal velocity V l r e f and lateral velocity V r r e f in vehicle coordinate frames can be derived from the reference path coordinate frame by the equations:
V l r e f = V l p cos ( θ o s ) V r p sin ( θ o s ) , V r r e f = V l p sin ( θ o s ) + V r p cos ( θ o s ) ,
where V l p is the reference longitudinal velocity, taken as tangential to the reference path. V r p is the reference radial velocity normal to the reference path at RP.
Finally, the acceleration error states acc ˜ are written as:
acc ˜ = a l e r r a r e r r γ e r r T = acc acc r e f ,
where acc is the difference between vehicle acceleration acc and reference acceleration acc r e f . The reference acceleration vector acc r e f is defined as
acc r e f = a l r e f a r r e f γ r e f T ,
where a l r e f and a r r e f are, respectively, the reference longitudinal and lateral acceleration at point RP, measured in the direction and normal to the vehicle heading, and γ r e f is the reference angular acceleration of the point RP.
The reference acceleration in vehicle coordinate frame can be derived from the path coordinate frame by
a l r e f = a l p cos ( θ o s ) a r p sin ( θ o s ) , a r r e f = a l p sin ( θ o s ) + a r p cos ( θ o s ) ,
where a l p and a r p are the reference acceleration tangential and normal to the reference path.

3. Control Methodology

Two methods of finding the optimal control inputs for steering angles (i.e., δ f and δ r ) and drive forces F S l i , ( i = 1 , , 4 ) are developed. The first method used model predictive control (MPC) with a sequential quadratic programming (SQP) solver. The second method is particle swarm optimization (PSO). The objective of the controller is to accurately follow a predetermined path through multiple terrain types.

3.1. MPC-SQP Method

3.1.1. Offset Model Linearization

In order to be applied in the MPC controller design, the offset model is linearized by a feedback linearization method. By defining the state vector x = [ x 1 , x 2 , x 3 , x 4 , x 5 ] , as x 1 = V l e r r , x 2 = l o s , x 3 = l ˙ o s , x 4 = θ o s and x 5 = θ ˙ o s , the offset model can be written in the following form:
x ˙ 1 = a r ( a l p cos x 4 a r p sin x 4 ) , x ˙ 2 = x 3 , x ˙ 3 = a r ( a l p sin x 4 + a r p cos x 4 ) , x ˙ 4 = x 5 , x ˙ 5 = γ γ r e f .
In this model, a r , a l and γ are considered as the inputs while other constants including reference accelerations and velocities can be obtained from the vehicle states. The nonlinearity of the model comes from trigonometric terms of x 4 . For accurate path tracking problems, the yaw error is assumed to vary smoothly within [−10° 10°]. Then, the model can be linearized by feedback linearization. Define the input vector u = [ a r a l γ ] T ; then, the new input vector at time t k is obtained as
v ( x , t ) | t = t k = u a l p cos x 4 a r p sin x 4 a l p sin x 4 + a r p cos x 4 γ r e f x 4 = x 4 ( t k ) ,
and the offset model is expressed as
x ˙ = A · x + v ( x , t ) | t = t k ,
where
A = 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 .
It can be seen that the model is time-varying but can be treated as a linear model at each sampling step. The output vector is denoted by y c and the equation is written as
y c = C c x ,
where
C c = 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 .

3.1.2. Model Predictive Control

To develop the MPC controller, the offset model as given in Equations (27) and (28) needs to be discretized and its discrete-time state vector form can be written as
x d ( k + 1 ) = A d x d ( k ) + B d u d ( k ) , y d ( k ) = C d x d ( k ) ,
where x d ( k ) , y d ( k ) and u d ( k ) are the state vector, output vector and input vector, respectively. The coefficient matrices A d , B d and C d are updated after discretization.
To eliminate undesirable oscillations, embedded integrator vectors Δ x d ( k ) = x d ( k + 1 ) x d ( k ) , Δ u ( k ) = u d ( k + 1 ) u d ( k ) are defined, thereby an augmented state-space model can be expressed as
Δ x d ( k + 1 ) y d ( k + 1 ) = A d O T C d A d I Δ x d ( k ) y d ( k ) + B d C d B d Δ u ( k ) , y d ( k ) = O I Δ x d ( k ) y d ( k ) ,
where O is a zero matrix, and I represents the identity matrix.
Defining the new state vector x ( k ) = [ Δ x d ( k ) T y d ( k ) T ] T , the augmented model can be written in the following matrix form:
x ( k + 1 ) = A x ( k ) + B Δ u ( k ) , y ( k ) = C x ( k ) ,
where
A = A d O T C d A d I , B = B d C d B d , C = O T I .
Theorem 1.
Given a discrete time system following the form of Equation (31), the asymptotic stabilization of the closed-loop system can be realized by substituting the first item of Δ U as the control input Δ u ( k ) , when Δ U is the optimal solution of the following optimization problem:
arg min Δ U J = ( R s Y ) T ( R s Y ) + Δ U T R ¯ Δ U , s . t . y N p ( Δ U ) = 0 ,
where Y denotes the predicted output sequence, Δ U denotes the future input sequence, and N p is the prediction horizon. R s is the sequence of the control target vector. y N p ( Δ U ) represents the error between the final predicted output and target.
Proof of Theorem 1.
To prove the stability, the Lyapunov function V ( x k ) is defined equal to the value of the objective function J k subjected to its optimal solution, which can be expressed as
V ( x k ) = m i n J k = i = 1 N p y k + i T y k + i + i = 0 N p 1 Δ u k + i T r w Δ u k + i ,
where, Δ u k , , Δ u k + N p 1 are obtained by the optimal solution of future inputs, and y k , , y k + N p represent the corresponding error sequence between future outputs and target. r w is the nonnegative gain matrix.
According to the definition in Equation (33), the Lyapunov function at the next sample k + 1 is written as
V ( x k + 1 ) = i = 1 N p y k + 1 + i T y k + 1 + i + i = 0 N p 1 Δ u k + 1 + i T r w Δ u k + 1 + i .
To facilitate the comparison between two neighboring Lyapunov function values, a intermediate function V ¯ is defined, which is formed by evaluating V ( x k + 1 ) with a defined inputs sequence, which is obtained by shifting the optimal inputs sequence of V ( x k i ) one step forward, and setting its last input Δ u k + N p as zero. It is obvious that the objective function value of non-optimal inputs sequence has to be no less than V ( x k i + 1 ) , which can be expressed as
V ( x k + 1 ) V ¯ ,
thereby,
V ( x k + 1 ) V ( x k ) V ¯ V ( x k ) .
Since V ¯ shares the same future inputs sequence and the predictive outputs sequence with V ( x k ) for the sample time k + 1 , , k + N p 1 , it can be easily derived that the difference between these two functions is
V ¯ V ( x k ) = y k + N p T y k + N p y k + 1 T y k + 1 Δ u k T r w Δ u k .
As is given in Equation (32), the optimization problem is subjected to the constraint y k + N p = 0 . Then, it can be obtained that
V ¯ V ( x k ) y k + 1 T y k + 1 Δ u k T r w Δ u k .
Then, the monotonicity of the Lyapunov function can be obtained by
V ( x k + 1 ) V ( x k ) y k + 1 T y k + 1 Δ u k T r w Δ u k < 0 ,
which can prove the asymptotic stability of the system. □
The model predictive control algorithm is realized by receding optimization. In order to apply the MPC efficiently, we assume that the predicted outputs sequence is in a finite prediction horizon N p and the inputs sequence is in a control horizon N c , which is less than N p . The sequences mentioned above can be expressed in the matrix form:
Y = y ( k + 1 | k ) y ( k + 2 | k ) y ( k + N p | k ) T , Δ U = Δ u ( k ) Δ u ( k + 1 ) Δ u ( k + N c 1 ) T ,
where y ( k + n | k ) denotes the predicted outputs at time k + n based on the states at time k. Based on Theorem 1 and the assumption above, the corollary about finite-time unconstrained MPC can be obtained as follows.
Corollary 1.
Given the system without input and output constraints, the prediction and control horizon are N p and N c , respectively. Then, the following feedback control law Δ u ( k ) = K x ( k ) can asymptotically stabilize the closed-loop system, where
K = [ 1 0 0 ] T N c ( Ξ [ Γ ( Ψ Ξ ) 1 ( C A N p + Ψ Ξ Γ ) ] ) ,
and,
F = C A C A 2 C A N p , Ψ = C A N p 1 B C A N p 2 B C A N p N c B T , Φ = C B 0 0 C A B C B 0 C A 2 B C A B 0 C A N p 1 B C A N p 2 B C A N p N c B , Ξ = ( Φ T Φ + R ¯ ) 1 , Γ = Φ T F .
Proof of Corollary 1.
According to Equations (31) and (40), the predicted output sequence Y can be expressed by
Y = F x ( k ) + Φ Δ U .
Meanwhile, the final item of Y can be expressed as
y ( k + N p | k ) = C A N p x ( k ) + Ψ Δ U .
By substituting Equations (43) and (44) into Theorem 1, the optimization problem turns into the following form:
arg min Δ U J = ( R s F x ( k i ) Φ Δ U ) T ( R s F x ( k i ) Φ Δ U ) + Δ U T R ¯ Δ U , s . t . Ψ Δ U + C A N p x ( k i ) = 0 ,
where R ¯ is a weighting matrix.
Note that in the application of offset model based path tracking, the target vector R s should be zero all the time. It can be seen that J meets an equality constrained quadratic programming. Then, the objective function is expanded by Lagrange expression and simplified by omitting the constant term,
J = 2 Δ U T Φ T F x ( k ) + Δ U T ( Φ T Φ + R ¯ ) Δ U + ξ T ( Ψ Δ U + C A N p x ( k ) ) ,
where ξ is the Lagrange multiplier.
According to the Lagrange multiplier method, the optimal control input vector Δ U can be found by solving the following equation system. The solution is obtained by taking the first partial derivatives of J with respect to the vectors Δ U and λ , and then equating these derivatives to zero:
J Δ U = Δ U T ( Φ T Φ + R ¯ ) + Φ T F x ( k ) + Ψ T ξ = 0 , J ξ = Ψ Δ U + C A N p x ( k ) = 0 .
Then, its optimal solution can be obtained:
Δ U = Ξ [ Γ ( Ψ Ξ ) 1 ( C A N p + Ψ Ξ Γ ) ] x ( k ) ,
where
Ξ = ( Φ T Φ + R ¯ ) 1 , Γ = Φ T F .
According to the receding horizon control principle, the first increment of Δ U is applied as the control inputs. Then, the control law in Equation (41) can be obtained. □
It can be seen that Corollary 1 gives an offline solution of the MPC algorithm, which significantly improves its computing efficiency. Based on Corollary 1, the desired accelerations A ˜ = [ a r ˜ , a l ˜ , γ ˜ ] T can be obtained by integrating the optimal solution Δ u ( k ) .

3.1.3. Sequential Quadratic Programming Based Control Allocation

Considering the vehicle body with the mass M and inertia J in this work, the command force vector τ is defined as
τ = τ l τ r τ γ = M 0 0 0 M 0 0 0 J A ˜ ,
where τ l , τ r and τ γ are the longitudinal and lateral forces and the moment about a vertical axis of the vehicle, respectively.
According to the vehicle body dynamic model given in Equation (1), the actual actuating forces come from the longitudinal forces F S l and lateral forces F S L on each wheel. Let the command forces τ produced jointly by the wheel forces and steering angles be expressed as
τ ( F S l , F S L , δ ) = B u ( δ ) F S l + B w ( δ ) F S L ,
where the i-th column of B u ( δ ) and B w ( δ ) can be written as
B u i ( u δ i ) = cos δ i sin δ i L y i cos δ i + L x i sin δ i , B w i ( u δ i ) = sin δ i cos δ i L y i sin δ i + L x i cos δ i .
( L x i , L y i ) represents the location of each wheel in a coordinate system with its origin at the centre of gravity and positive x-axis forward.
On a 4WS4WD vehicle, the drive forces F S l and the steering angles δ are the direct inputs while the lateral forces F S L obtained from sensors are considered as a measured disturbance. In this work, the steering angles δ are composed of δ f and δ r , which represent the front and rear steering inputs, respectively. Thus, the control problem is reduced to obtaining the feasible solution of Equation (50). In order to facilitate the computation, a slack vector s is defined by
s = τ B u ( δ ) F S l + B w ( δ ) F ^ S L ,
which denotes the error between the commanded and actual generalized forces. The slack variable s guarantees that there always exists a feasible solution in the following optimization [26].
In order to solve this control allocation problem, the objective function is defined with respect to F S l , δ and s ,
J ( F S l , δ , s ) = F S l T Q f F S l + ( δ δ ) T Q δ ( δ δ ) + s T Q s s , s . t . s = τ B u ( δ ) F S l + B w ( δ ) F ^ S L , s B s , F S l B F S l , δ B δ ,
where B s , B F S l and B δ are the search bounds of each variable.
In this function, the first term minimizes the magnitudes of the drive forces; the second term is used to ensure the steering angle to search around its previous value. By penalizing the slack variable s in the third term, the actual generalized force vector coincides as much as possible with the commanded forces τ . The matrix Q f I 4 × 4 , Q δ I 2 × 2 and Q s I 3 × 3 are used to tune the objective. The search bounds of all variables (i.e. F S l , δ and s) are specified by the constraints.
Based on the objective function presented above, the control allocation is converted to a nonlinear constrained optimization problem. Using the sequential quadratic programming (SQP), the optimal solution can be computed efficiently and reliably by standard numerical software.

3.2. PSO-Based Method

For the PSO-based method, an objective function including vehicle error states is proposed using the sliding surfaces. In Sliding Mode Control (SMC), the time-varying sliding surface is normally defined by the scalar equation s ( x ; t ) = 0 , in which s ( x ; t ) is expressed by [27],
s ( x ; t ) = ( d d t + λ ) n 1 x ˜ ,
where λ is a positive constant and x ˜ is the error state vector.
According to the idea of SMC, the problem of maintaining x ˜ = 0 is transformed into keeping s = 0 . In this work, the scalar quantities composed of vehicle error states are introduced into the definition of objective function. Instead of designing the switching control law in SMC, the optimization is used to maintain the scalar quantities on the sliding surface s = 0 . The vehicle error state vectors including pos ˜ , vel ˜ and acc ˜ are following the definitions in the offset model. Therefore, to track the trajectories of the RP, the vector s = [ s l , s r , s a ] needs to be defined correspondingly. Note that vector s follows a different definition than that in SQP. It is defined to facilitate the notations in the local boundary part.
For pos ˜ presented in Equation (17), its first component, which represents the position error in the longitudinal direction, is always zero. Therefore, according to Equation (53), the longitudinal scalar quantity s l can be obtained as
s l = a l e r r + λ l V l e r r ,
where a l e r r and V l e r r are the longitudinal components of acc ˜ and vel ˜ , which are given in Equations (22) and (19), respectively.
To maintain the vehicle on the RP geometrically, another first order scalar quantity s r is designed as
s r = V r e r r + λ r l o s ,
which aims to minimize the offset errors l o s and V r e r r .
The angular acceleration error γ ˜ is included to consider the effects of forces and yaw movements of vehicle, and thus a second order scalar quantity is chosen as
s a = γ e r r + 2 λ a Ω e r r + λ a 2 θ o s ,
where θ o s , Ω e r r and γ e r r are given in Equations (17), (19) and (22), respectively.
Then, the problem of following the trajectories of RP is transformed into maintaining s at 0. Using the linear scalarization, an objective function is defined as
J min ( F S l , δ ) = C l s l + C r s r + C a s a ,
where C l , C r and C a are the weighting coefficients strictly positive and constrained by
C l + C r + C a = 1 .
The variables of objective function in Equation (57) consist of the forces F S l i , steering angles δ f and δ r , which can be written as a variable vector,
v o b j = δ f δ r F S l 1 F S l 2 F S l 3 F S l 4 . T
First invented by Kennedy and Eberhart (1995), PSO has been successfully applied to solve problems featuring nonlinearity, non-differentiable, and multiple optima. PSO is found to be capable of generating high quality solutions with more stable and faster convergence characteristics, and shorter calculation times than other stochastic methods [17]. For standard PSO at time t, the updating velocity v i ( t ) and position x i ( t ) of the i-th particle are presented in the following equations:
v i ( t + 1 ) = ζ v i ( t ) + ϕ 1 η 1 ( p b x i ( t ) ) + ϕ 2 η 2 ( g b x i ( t ) ) , x i ( t + 1 ) = x i ( t ) + v i ( t + 1 ) ,
where v i ( t ) and x i ( t ) are vectors in multi-dimensional space. p b and g b denote the local optimal position and the global optimal position, respectively. The particle inertia weight is represented by ζ . The particle cognitive acceleration and social acceleration are denoted by ϕ 1 and ϕ 2 , which are defined as positive constants. η 1 and η 2 are two stochastic parameters within [0 1].
The search space of PSO in this work is defined as a six-dimensional space corresponding to the dimension of v o b j . Therefore, the particle position vector x i ( i ) in Equation (60) represents a possible solution of the objective function in Equation (57).

3.3. Boundary Definition

Given that both methods are reduced to the optimization problems, the definition of the search space determines the quality of the solution.

3.3.1. Global Boundaries

In this work, the global boundaries can be assigned based on the properties of each actuator, which is defined as
B g = δ min δ f δ max , δ min δ r δ max , F d min F S l i F d max ,
where δ min and δ max are the minimum and maximum steering angles of each wheel. F d min and F d max are the minimum and maximum drive forces provided by the driving unit, which can be calculated by
F d min = T max R w , F d max = T max R w ,
where T max is the maximum torque that can be achieved by the driving unit of the vehicle.

3.3.2. Local Boundaries

To realize real-time optimization, the computing time obtaining optimal values for variables [ F S l , δ ] needs to be constrained within the sample time of controller T s . According to the properties of each actuator, the maximum variations of [ F S l , δ ] within T s can be obtained. In this work, to improve the computing efficiency, the local boundaries are also determined by the states of s .
According to a r in Equation (1), when s l < 0 , the forces F S l i need to be increased, thereby dragging s l in Equation (54) towards the surface s l = 0 . Similarly, when s l > 0 , the forces F S l i need to be decreased. Therefore, the local boundaries of F S l i can be written as
B F S l i P = F S l i ( t ) F S l i ( t + T s ) F S l i ( t ) + Δ F d max , s l < 0 , F S l i ( t ) Δ F d max F S l i ( t + T s ) F S l i ( t ) , s l 0 ,
where Δ F d max is the maximum change of F S l i that can be achieved within T s . At the time t + T s , F S l i ( t + T s ) are the possible optimal solutions.
For the steering angles δ f and δ r in v o b j , they affect the vehicle lateral and angular motions in a coupled way. To solve this problem, an allocating method is specified that the vehicle lateral error determines searching direction of δ f , while δ r is related to vehicle angular error. When s r < 0 , δ f needs to be increased to drive s r back to the surface s r = 0 , and vice versa. Thus, the local boundary of δ f is summarized as,
B δ f P = δ f ( t ) δ f ( t + T s ) δ f ( t ) + Δ δ max , s r < 0 , δ f ( t ) Δ δ max δ f ( t + T s ) δ f ( t ) , s r 0 ,
where Δ δ max is the maximum change of steering angle that can be achieved within T s . At the time t + T s , the possible optimal solution of front steering angle is δ f ( t + T s ) .
Similarly, based on s r , the local boundary of δ r is defined as
B δ r P = δ r ( t ) Δ δ max δ r ( t + T s ) δ r ( t ) , s a < 0 , δ r ( t ) δ r ( t + T s ) δ r ( t ) + Δ δ max , s a 0 .
For the PSO in particular, its particle velocity boundaries define the range of speed that particles can achieve to search for the optimal solution. To improve search performance in PSO, the absolute maximum particle velocity is normally set as a certain percentage of particle position range [28]. According to Equations (63)–(65), the particle velocity boundaries can be obtained as
B F S l i V = σ F Δ F d max Δ F d max , B δ f V = σ δ f Δ δ max Δ δ max , B δ r V = σ δ r Δ δ max Δ δ max ,
where σ F , σ δ f and σ δ r are the particle velocity coefficients for F S l i , δ f and δ r , respectively.

4. Simulation

4.1. Simulation Setup

The working process of the vehicle control system is illustrated in Figure 6. The dashed box at the top shows the operation of the vehicle dynamic model. Based on the actual inputs (i.e., T i and δ i ) as well as the vehicle velocity states vel , the tire model can generate the wheel forces, which is then used in driving unit model. The driving unit model considers the wheel inertia and gives the actual forces acting on the vehicle body. The dynamic states of the vehicle such as positions and velocities are simulated by running the proposed vehicle body dynamic model in Matlab (R2017a, MathWorks, Natick, MA, United States) using a Runge–Kutta method based solver with a time step of 8.33 μ s.
In the simulation, both external disturbances and state measurement noises are involved in validating the robustness of the proposed control methodology. The measured states are compared with the reference profiles to generate the error states. Using the method proposed in Section 3.3, the search boundaries of the drive forces and steering angles are obtained. Meanwhile, the error states are transfered to the offset model. Virtual inputs calculated by the MPC algorithm are delivered to the control allocation modual. Then, the actual control inputs including drive forces and steering angles are generated and substituted into the dynamic model for the next iteration. The dashed box at the bottom represents the main controller. PSO controller can be substituted in place of the MPC controller.
The PSO and MPC controllers are applied to drive the simulated vehicle to track the reference path shown in Figure 7a. In the simulation, the varying terrain conditions are considered to verify the validity and robustness of each controller. As presented in Figure 7b, the reference path is divided into ten sections, which have different tire stiffnesses k l i and k L i acting on each wheel. To simulate the terrain disturbances, the disturbances F g i applied to all four wheels were always in the vehicle longitudinal direction. As shown in Figure 8, the disturbances are modeled as step signals and their magnitudes are generated randomly to show the uncertainties.
As a comparison, a kinematic model based control method is applied to drive the same vehicle. According to relative kinematic path tracking research [8,19], the side slip is the main disturbance that leads to the unpredicted tracking errors. Using the dynamic model based observer, the side slip of the vehicle can be predicted with an error of 10 % to 30 % . In this simulation, a random side slip velocity that is less than 10 % of its longitudinal velocity is added in the kinematic model.

4.2. Parameters of Simulation

The first two sections of Table 1 list the parameters of vehicles used in simulation. The common parameters in the objective functions are listed in the third section of Table 1, in which the vehicle mass and inertia values used in the objective function are different from actual vehicle values to simulate parametric uncertainties. This helps to verify the robustness of the vehicle control method in dealing with variations in the system. In order to run in real time, both optimization methods are limited to 15 ms of search time per iteration, less than the system sample time T s = 20 ms. In optimization, the optimal solution is searched within the boundaries until time reaches T I or the error gradient of 0.001 is achieved by the objective function. The last two sections present the particular parameters for each method.

4.3. Simulation Results

Figure 9 shows path tracking results by different controllers. The MPC-SQP controller has superior performance with offset error less than 3.2 cm, and heading error less than 2 ° . The PSO controller has maximum offset error of 6.1 cm and heading error of 3.2 ° . Both dynamic model based control methods perform better than the kinematic model based one in constraining the offset errors.
The drive torques and steering angles applied on four wheels are presented in Figure 10. At each cornering, the torques applied at the two outside wheels (i.e., T 1 and T 4 ) firstly increase and then decrease, which are contrary to that of the two inside wheels (i.e., T 2 and T 3 ). The difference in torques is used to compensate the insufficient angular accelerations of vehicle in corners. The steering angles of MPC-SQP and PSO controller follow the same varying trend in which steering curves of MPC-SQP show smoother variation. Thus, the MPC-SQP controller can provide more stable steerings compared with the PSO controller.
In this work, another aim of control is to maintain high vehicle motion quality including its velocity and acceleration performances. Figure 11a presents the longitudinal velocity curves achieved by MPC-SQP and PSO controllers. Starting at 0.5 m/s, the two curves reach 3 m/s at 6.5 s and 4.8 s , respectively. Thus, the trajectory and error curves of the MPC controller responses are slower than the PSO controller in Figure 9. Both controllers are capable of maintaining the longitudinal velocity around 3 m/s in the rest process. In Figure 11b, the longitudinal acceleration curve of PSO increases faster than MPC-SQP and has a peak value of 1 m/s 2 . The curve of MPC-SQP controller reaches 0.6 m/s 2 at a maximum and has smoother variation during the whole process.
From the offset model, lateral velocity is undesirable as it causes tracking error. As shown in Figure 11c, both controllers maintain the lateral velocities fluctuating around zero. The MPC-SQP controller has a maximum lateral velocity of 0.08 m/s, whereas PSO has a maximum value of 0.17 m/s. The lateral velocities are well constrained, which provides higher accuracy of path tracking. The lateral acceleration curves follow the same varying trend in Figure 11d. It can be seen the PSO controller causes a lateral acceleration oscillation of 0.6 m/s 2 relative to the MPC-SQP. The smoother change of lateral acceleration achieved by MPC-SQP controller reduces the jerk effect, decreasing the deviation from the reference path. The angular velocities are demonstrated in Figure 11e, in which the MPC-SQP has higher accuracy and a smoother manner, compared with that of the PSO. In Figure 11f, the angular acceleration curves are presented. MPC-SQP and PSO curves vary with oscillations of 12 °/s 2 and 20 °/s 2 , respectively. The undesirable oscillations are eliminated in the process of the integration, which can be demonstrated in Figure 11e. From all the acceleration plots given in Figure 11, the MPC-SQP controller performs better in constraining oscillations of accelerations, which provides better stability in vehicle motion control.
Considering that the optimization based method may lead to an expensive computation, it is essential to analyze the computing efficiency for each controller. As shown in Figure 12, the computing efficiency of each controller is compared. Figure 12a shows the computing time used by the controllers in each sampling time T s . It can be seen that both controllers achieve finishing computing within T s , which validates the feasibility of proposed controllers. In the box plot in Figure 12b, both controllers have an average computing time of 8 ms. The PSO controller gives a stable variation range from 4 ms to 10 ms, as the particle velocity vector is decided by the limitation of the sampling time, which guarantees relatively high quality solutions within a short time. The computing time of MPC-SQP controller substantially increases and reaches 15 ms to 20 ms during each cornering because the control allocation may encounter a complex optimization problem when the lateral forces start to vary. It indicates that the PSO controller performs better in computing efficiency.

5. Discussion

Based on the theoretical analysis and simulation results provided above, the discussion between MPC based method and PSO method are given as follows:
D1
Comparing the simulations, it is obvious that dynamic-based methods proposed in this paper perform better than kinematic model based methods. In the kinematic model based methods, it is difficult to measure the side slip directly. The majority of research works are trying to design observers to predict its side slip. However, this kind of method can only get an approximate estimate. Thus, it is not feasible to use a kinematic model based controller to completely eliminate the error due to side slip. Both MPC-SQP and PSO methods are proposed based on dynamic models and controlled by drive forces. In the dynamic model, the lateral forces can be obtained easily using force sensors. This kind of method gives a practical way to avoid the side slip estimation and achieve precise tracking along curved paths.
D2
Both MPC-SQP and PSO methods are proposed partly or completely based on optimizations. As is compared in the simulation, the PSO controller achieves obtaining the solution with a stable computing time. The algorithm can optimize the quality of solutions and the calculation times at the same time, which guarantees the feasibility and capability of the controller. The MPC-SQP controller may encounter the calculation timeout in the simulation results. This is because the SQP solver spends more time when calculating a complex Hessian matrix. Thus, it is necessary to set a sufficient sampling time when applying the MPC-SQP method.
D3
The MPC-SQP method gives a stability proof of the control system while the PSO method has difficulty with the mathematical proof due to the limitation of intelligent optimization. The stability analysis of MPC-SQP method provides a possibility to analyze the stable range of its control parameters and margin of errors.
D4
Both control algorithms are reduced to constrained optimization problems with six input variables. PSO is a global algorithm that performs better with searching for a global optimal solution while SQP is a reliable solver but may be held in local optimal solutions. Thus, for each method, it is important to define a proper search range. In this paper, the boundaries are calculated based on the vector s , which improves the efficiency and stability of the optimization process.

6. Conclusions

This paper presented two control methodologies applicable to four wheel steering and four wheel drive vehicle systems to track paths accurately. The system model is a nonlinear coupled dynamic model that is over-actuated. The first methodology determines the drive force inputs and steer inputs using an MPC based method coupled with a control allocation based on SQP. The second methodology is proposed as a fully optimization based method that is developed by refining a previously proposed PSO based method. The performance of the MPC-SQP method has been compared with the PSO based control method and a kinematic model based control method. In the simulation, the path tracking results have proved the superior performance of the MPC-SQP based controller. In the cases when computing times are considered, the PSO based controller offers more efficiency and better stability in computing compared with MPC-SQP based controller.
References

Author Contributions

Conceptualization, Q.T. and J.K.; Methodology, Q.T. and P.D.; Writing—Original Draft Preparation, Q.T. and Z.Z.; Writing—Review & Editing, J.K.; Supervision, J.K.; Project Administration, J.K.; Funding Acquisition, Q.T.

Funding

This research was funded by the Fundamental Research Funds for the Central Universities, Grant No. 2017JBM051 and 2015JBC022, and the China Postdoctoral Science Foundation, Grant No. 2016M600910.

Acknowledgments

This work was carried out at the School of Mechanical and Manufacturing Engineering, the University of New South Wales, Sydney, Australia.

Conflicts of Interest

The authors declare no conflict of interest. The founding sponsors had no role in the writing of the manuscript.

References

  1. Oppenheimer, M.W.; Doman, D.B.; Bolender, M.A. Control Allocation for Over-actuated Systems. In Proceedings of the 14th Mediterranean Conference on Control and Automation, Ancona, Italy, 28–30 June 2006; pp. 1–6. [Google Scholar]
  2. Ackermann, J.; Sienel, W. Robust yaw damping of cars with front and rear wheel steering. IEEE Trans. Control Syst. Technol. 1993, 1, 15–20. [Google Scholar] [CrossRef] [Green Version]
  3. Itoh, H.; Oida, A.; Yamazaki, M. Numerical simulation of a 4WD-4WS tractor turning in a rice field. J. Terramech. 1999, 36, 91–115. [Google Scholar] [CrossRef]
  4. Wu, J.; Wang, Q.; Wei, X.; Tang, H. Studies on improving vehicle handling and lane keeping performance of closed-loop driver-vehicle system with integrated chassis control. Math. Comput. Simul. 2010, 80, 2297–2308. [Google Scholar] [CrossRef]
  5. Wang, W.; Song, Y. A new high dimension nonlinear dynamics simulation model for four-wheel-steering vehicle. J. Mech. Eng. Sci. 2013, 227, 29–37. [Google Scholar] [CrossRef]
  6. Udengaard, M.; Iagnemma, K. Kinematic analysis and control of an omnidirectional mobile robot in rough terrain. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, IROS, San Diego, CA, USA, 29 October–2 November 2007; pp. 795–800. [Google Scholar]
  7. Grand, C.; Amar, F.B.; Plumet, F. Motion Kinematic analysis of wheeled-legged rover over 3D surface with posture adaptation. Mech. Mach. Theory 2010, 45, 477–495. [Google Scholar] [CrossRef]
  8. Han, G.; Fu, W.; Wang, W.; Wu, Z. The Lateral Tracking Control for the Intelligent Vehicle Based on Adaptive PID Neural Network. Sensors 2017, 17, 1244. [Google Scholar] [CrossRef] [PubMed]
  9. Qian, H.; Lam, T.; Li, W.; Xia, C.; Xu, Y. System and design of an Omni-directional vehicle. In Proceedings of the IEEE International Conference on Robotics and Biomimetics (ROBIO), Bangkok, Thailand, 22–25 February 2009; pp. 389–394. [Google Scholar]
  10. Grepl, R.; Vejlupek, J.; Lambersky, V.; Jasansky, M.; Vadlejch, F.; Coupek, P. Development of 4WS/4WD Experimental Vehicle: Platform for research and education in mechatronics. In Proceedings of the IEEE International Conference on Mechatronics (ICM), Istanbul, Turkey, 13–15 April 2011; pp. 893–898. [Google Scholar]
  11. Ramaswamy, S.A.P.; Balakrishnan, S.N. Formation control of car-like mobile robots: A Lyapunov function based approach. In Proceedings of the American Control Conference, Seattle, WA, USA, 11–13 June 2008; pp. 657–662. [Google Scholar]
  12. Camacho, E.; Alba, C. Model Predictive Control; Advanced Textbooks in Control and Signal Processing; Springer: London, UK, 2013. [Google Scholar]
  13. Lenain, R.; Thuilot, B.; Cariou, C.; Martinet, P. Model predictive control for vehicle guidance in presence of sliding: Application to farm vehicles path tracking. In Proceedings of the 2005 IEEE International Conference on Robotics and Automation (ICRA 2005), Barcelona, Spain, 18–22 April 2005; IEEE: Piscataway, NJ, USA, 2005; pp. 885–890. [Google Scholar]
  14. Lenain, R.; Thuilot, B.; Cariou, C.; Martinet, P. High accuracy path tracking for vehicles in presence of sliding: Application to farm vehicle automatic guidance for agricultural tasks. Auton. Robots 2006, 21, 79–97. [Google Scholar] [CrossRef]
  15. Prasetya, D.A.; Yasuno, T. Cooperative control of multiple mobile robot using particle swarm optimization for tracking two passive target. In Proceedings of the SICE Annual Conference (SICE), Akita, Japan, 20–23 August 2012; pp. 1751–1754. [Google Scholar]
  16. Lin, L.; Sun, Q.; Wang, S.; Yang, F. Research on PSO based multiple UAVs real-time task assignment. In Proceedings of the Chinese Control and Decision Conference (CCDC), Guiyang, China, 25–27 May 2013; pp. 1530–1536. [Google Scholar]
  17. Thomas, J. Integrating Particle Swarm Optimization with Analytical Nonlinear Model Predictive Control for nonlinear hybrid systems. In Proceedings of the International Conference on Informatics in Control, Automation and Robotics (ICINCO), Colmar, France, 21–23 July 2015; pp. 294–301. [Google Scholar]
  18. Dai, P.; Katupitiya, J. Force control for path following of a 4WS4WD vehicle by the integration of PSO and SMC. Veh. Syst. Dyn. 2018, 1–35. [Google Scholar] [CrossRef]
  19. Wang, X.; Taghia, J.; Katupitiya, J. Robust Model Predictive Control for Path Tracking of a Tracked Vehicle with a Steerable Trailer in the Presence of Slip. IFAC-PapersOnLine 2016, 49, 469–474. [Google Scholar] [CrossRef]
  20. Rajamani, R. Vehicle Dynamics and Control; Springer Science: Berlin, Germany, 2006. [Google Scholar]
  21. Smith, D.; Starkey, J. Effects of Model Complexity on the Performance of Automated Vehicle Steering Controllers: Model Development, Validation and Comparison. Veh. Syst. Dyn. 1995, 24, 163–181. [Google Scholar] [CrossRef]
  22. Brach, R.; Brach, R. Tire Models for Vehicle Dynamic Simulation and Accident Reconstruction; SAE Technical Paper; Society of Automotive Engineers: Warrendale, PA, USA, 2009; Volume 1. [Google Scholar]
  23. Jazar, R.N. Vehicle Dynamics: Theory and Applications; Springer: New York, NY, USA; London, UK, 2008. [Google Scholar]
  24. Milliken, W.F.; Milliken, D.L. Race Car Vehicle Dynamics; Society of Automotive Engineers: Warrendale, PA, USA, 1995. [Google Scholar]
  25. Dai, P.; Katupitiya, J. Force Control of a 4WS4WD Vehicle for Path Tracking. In Proceedings of the IEEE International Conference on Advanced Intelligent Mechatronics (AIM), Busan, Korea, 7–11 July 2015; pp. 238–243. [Google Scholar]
  26. Johansen, T.A.; Fossen, T.I. Control allocation—A survey. Automatica 2013, 49, 1087–1103. [Google Scholar] [CrossRef] [Green Version]
  27. Slotine, J.J.E.; Li, W. Applied Nonlinear Control; Prentice Hall: Upper Saddle River, NJ, USA, 1991. [Google Scholar]
  28. Eberhart, R.C.; Shi, Y. Particle swarm optimization: Developments, applications and resources. Evol. Comput. 2001, 1, 81–86. [Google Scholar]
Figure 1. The 4WS4WD (four wheel steering and four wheel drive) vehicle.
Figure 1. The 4WS4WD (four wheel steering and four wheel drive) vehicle.
Applsci 08 01000 g001
Figure 2. Vehicle body dynamic model.
Figure 2. Vehicle body dynamic model.
Applsci 08 01000 g002
Figure 3. Driving unit dynamic model.
Figure 3. Driving unit dynamic model.
Applsci 08 01000 g003
Figure 4. Tire model. (a) Top view of the tire; (b) lateral view of the tire.
Figure 4. Tire model. (a) Top view of the tire; (b) lateral view of the tire.
Applsci 08 01000 g004
Figure 5. Offset model.
Figure 5. Offset model.
Applsci 08 01000 g005
Figure 6. Flowchart of the vehicle control system.
Figure 6. Flowchart of the vehicle control system.
Applsci 08 01000 g006
Figure 7. Reference path (RP) and terrain coefficients along the RP. (a) Reference path; (b) terrain coefficients.
Figure 7. Reference path (RP) and terrain coefficients along the RP. (a) Reference path; (b) terrain coefficients.
Applsci 08 01000 g007
Figure 8. Terrain disturbance.
Figure 8. Terrain disturbance.
Applsci 08 01000 g008
Figure 9. Path following performance.
Figure 9. Path following performance.
Applsci 08 01000 g009
Figure 10. Actual inputs.
Figure 10. Actual inputs.
Applsci 08 01000 g010
Figure 11. Acceleration and velocity performances. (a) longitudinal velocity; (b) longitudinal acceleration; (c) lateral velocity; (d) lateral acceleration; (e) angular velocity; (f) angular acceleration.
Figure 11. Acceleration and velocity performances. (a) longitudinal velocity; (b) longitudinal acceleration; (c) lateral velocity; (d) lateral acceleration; (e) angular velocity; (f) angular acceleration.
Applsci 08 01000 g011
Figure 12. Computing efficiency comparison. (a) computing time; (b) box plot of computing time.
Figure 12. Computing efficiency comparison. (a) computing time; (b) box plot of computing time.
Applsci 08 01000 g012
Table 1. Parameters used in the simulation.
Table 1. Parameters used in the simulation.
ParaValueUnitParaValueUnit
Vehicle model
M200.0kg m d 15.0kg
L f 0.85m L r 0.85m
L h 0.5m R w 0.25m
J z 45.0kg·m 2 J w 0.8kg·m 2
System constraints
F d max 250.0N δ max 40.0 °
F d min −250.0N δ min −40.0 °
Δ F d max 0.8N Δ δ max 0.35 °
Common parameters in objective function
M c 205.0kg J z c 40.0kg·m 2
λ l 2.0- λ r 1.5-
λ a 2.8- T I 15ms
MPC and SQP parameters
R ¯ 0 . 1 × I 3 × 3 - Q f 1 e 4 × I 4 × 4 -
Q δ 0 . 1 × I 2 × 2 - Q s I 3 × 3 -
PSO parameters
S S 24- ζ 0.9-
ϕ 1 1.85- ϕ 2 1.85-
σ F 0.4- σ δ f 0.5-
σ δ r 0.5- C l 0.35-
C r 0.35- C a 0.3-
I i × i represents the i-th-order identity matrix. MPC: model predictive control; SQP: sequential quadratic programming; PSO: particle swarm optimization.

Share and Cite

MDPI and ACS Style

Tan, Q.; Dai, P.; Zhang, Z.; Katupitiya, J. MPC and PSO Based Control Methodology for Path Tracking of 4WS4WD Vehicles. Appl. Sci. 2018, 8, 1000. https://doi.org/10.3390/app8061000

AMA Style

Tan Q, Dai P, Zhang Z, Katupitiya J. MPC and PSO Based Control Methodology for Path Tracking of 4WS4WD Vehicles. Applied Sciences. 2018; 8(6):1000. https://doi.org/10.3390/app8061000

Chicago/Turabian Style

Tan, Qifan, Penglei Dai, Zhihao Zhang, and Jay Katupitiya. 2018. "MPC and PSO Based Control Methodology for Path Tracking of 4WS4WD Vehicles" Applied Sciences 8, no. 6: 1000. https://doi.org/10.3390/app8061000

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop