Optimization of automatic steering control on a vehicle ... · As one of the automotive technology...
Transcript of Optimization of automatic steering control on a vehicle ... · As one of the automotive technology...
Turk J Elec Eng & Comp Sci
(2016) 24: 541 – 557
c⃝ TUBITAK
doi:10.3906/elk-1305-43
Turkish Journal of Electrical Engineering & Computer Sciences
http :// journa l s . tub i tak .gov . t r/e lektr ik/
Research Article
Optimization of automatic steering control on a vehicle with a steer-by-wire
system using particle swarm optimization
Fachrudin HUNAINI1,∗, Imam ROBANDI2, Nyoman SUTANTRA3
1Electrical Engineering Department, Widyagama University, Malang, Indonesia2Electrical Engineering Department, ITS, Surabaya, Indonesia
3Mechanical Engineering Department, ITS, Surabaya, Indonesia
Received: 05.05.2013 • Accepted/Published Online: 18.12.2013 • Final Version: 05.02.2016
Abstract: This paper presents a simulation of the automatic steering control system on a vehicle model using particle
swarm optimization (PSO) to optimize the parameters of the control system. The control system involves fuzzy logic
control (FLC) and proportional-integral-derivative (PID) control working in a cascade; the main control (FLC) is used to
control lateral motion, and the secondary control (PID) is an enhancement to control the yaw motion in vehicle models
representing 10 degrees of freedom of the vehicle dynamics system. Optimization by PSO is carried out simultaneously
on both control systems. On FLC it is done by setting the width and the center point of the membership function
(MF) in the input and output FLC so that the optimal composition of the MF parameter is obtained. The optimization
process also determines the constants of optimal gain in the PID control. Testing is done through software in the loop
simulation. Based on the test results it can be stated that FLC and PID control tuned by PSO can steer the vehicle
rate well in accordance with desired trajectory and the vehicle motion can always be maintained at the specified path.
Key words: Automatic steering control, fuzzy logic, PID, PSO
1. Introduction
As one of the automotive technology developments of the future, a steer-by-wire system is expected to have
a reliable performance. It is an automatic steering control that uses electric motors instead of a mechanical
connection to determine the direction of a vehicle’s front wheels [1]. Steer-by-wire systems can be semiautomatic
or fully automatic. The semiautomatic steering control system is used in a vehicle that still uses the steering
wheel as a plant input, while using an electric motor as the plant output to drive the front wheels’ direction
of the vehicle [2]. The fully automatic system uses a programmed trajectory instead of a steering wheel as an
input, and an electric motor as an output plant [3].
A lot of research has been conducted on the fully automatic steer-by-wire system. Cai et al. [4] developed
an automatic vehicle steering control system for small-scale vehicles. The control system was built using fuzzy
logic control (FLC) optimized by the genetic algorithm (GA) method. The performance of this genetic-fuzzy
system was superior to that of the proportional-derivative (PD) control because the genetic-fuzzy is a nonlinear
controller very suitable for the nonlinear system. The GA method was also used by Karbala et al. [5] and
Kodagoda et al. [6], but without the use of optimization methods. Ping et al. [7] stated that small-scale
vehicles do not represent actual vehicle dynamics and used a vehicle model with 9 degrees of freedom (DOF)
∗Correspondence: [email protected]
541
HUNAINI et al./Turk J Elec Eng & Comp Sci
of vehicle dynamics. Testing was conducted using the software and hardware in the loop simulations because
it could be done repeatedly without risk of accidents, at lower costs, and the data obtained was real. The
GA optimization could not be done in the online system and so it was developed using neural network-back
propagation; the control system adjusted the lane keeping well and was acceptable to the transient response.
Adriansyah et al. [8] determined that the GA optimization method required a lot of computation steps and
simplified it using particle swarm optimization (PSO). PSO has the ability to achieve fast convergence because
this method only works depending on the position and velocity functions. The PSO-fuzzy algorithm design was
able to make the robot move as directed and could coordinate those movements effectively according to the
conditions faced.
In the current paper we present a model of a fully automatic steer-by-wire system using simulation of
automatic steering control of a vehicle model with 10 DOF, consisting of 7-DOF of the vehicle ride model and
3-DOF of the vehicle handling model [9,10]. The structure of the developed control system consists of two stages
in a cascade architecture. They are the lateral motion control (to eliminate unwanted lateral movement and be
used as the setting point of the second control) and the yaw motion control as a complement steering control
system. The control system involves the PSO to tune the parameters of FLC (in the control of lateral motion)
and of the proportional-integral-derivative (PID) controller (to control the yaw motion). The expected results
of the simulation automatic steering control using the FLC and PID control tuned by the PSO can improve the
vehicle dynamic performance.
2. Vehicle dynamic model
Based on the concept of vehicle dynamics, the vehicle model was built as a plant of the automatic steering
control system consisting of the vehicle ride model and the vehicle handling model.
2.1. Vehicle ride model
The vehicle ride model is represented as a 7-DOF system expressed in mathematical equations consisting of
seven equations in the car body with a freedom of movement to heave or bounce, pitch, roll, and move in vertical
direction for each wheel [9,10] as shown in Figure 1.
mufr
Ksfr Csfr
Zufr
ZrfrKtfr
Zsrr
Zsrl
Zsfr
Zsfl
mufl
Ksfl Csfl
Zufl
ZrflKtfl
mufr
Ksrr Csrr
Zurr
ZrrrKtrr
murl
Ksrl Csrl
Zurl
ZrrlKtrl
z
x
y
ϕ
z
θ
Figure 1. Vehicle ride model.
542
HUNAINI et al./Turk J Elec Eng & Comp Sci
Bouncing of the car body (Zs) is represented as:
msZs = −2 (Ks,f +Ks,r)Zs − 2 (Cs,f + Cs,r) Zs + 2 (aKs,f − bCs,r) θ + 2 (aCs,f − bCs,r) θ
+KsfZu,fl + Cs,f Zu,fl +KsfZu,fr + Cs,f Zu,frKsrZu,rl + Cs,rZu,rl +KsrZu,rr
+Cs,rZu,rr + Fpfl + Fpfr + Fprl + Fprr, (1)
where pitching of the car body (θ) is as follows:
Iyy θ = 2 (aKs,f − bKs,r)Zs + 2 (aCs,f + bCs,r) Zs − 2(a2Ks,f − b2Ks,r
)θ
−2(a2Cs,f − b2Cs,r
)θ − aKsfZu,fl − aCs,f Zu,fl − aKsfZu,fr − aCs,f Zu,fr
+bKsrZu,rl + bCs,rZu,rl + bKsrZu,rr + bCs,rZu,fr − (Fpfl + Fpfr) lf
+(Fprl + Fprr) lr (2)
Rolling of the car body (ϕ) is expressed as:
Ixxφ = −0.5w2 (Ks,f +Ks,r)φ− 0.5w2 (Cs,f + Cs,r) φ+ 0.5wKs,fZu,fl + 0.5wCs,f Zu,fl
−0.5wKs,fZu,fr − 0.5wCs,f Zu,fr + 0.5wKs,rZu,rl + 0.5wCs,rZu,rl − 0.5wKs,rZu,rr
−0.5wCs,rZu,rr + (Fpfl + Fprl)w
2− (Fpfr + Fprr)
w
2(3)
Vertical direction movement for each wheel is:
muZu,fl = Ks,fZs + Cs,f Zs − aKs,fθ − aCs,f θ + 0.5wKs,fφ+ 0.5wCs,f φ
− (Ks,f +Kt)Zu,fl−Cs,f Zu,fl +KtZr,fl − Fpfl (4)
muZu,fr = Ks,fZs + Cs,f Zs − aKs,fθ − aCs,f θ − 0.5wKs,fφ− 0.5wCs,f φ
− (Ks,f +Kt)Zu,fr−Cs,f Zu,fr +KtZr,fr − Fpfr (5)
muZu,rl = Ks,rZs + Cs,rZs + bKs,rθ + bCs,r θ + 0.5wKs,rφ+ 0.5wCs,rφ
− (Ks,r +Kt)Zu,rl−Cs,rZu,rl +KtZr,rl − Fprl (6)
muZu,rr = Ks,rZs + Cs,rZs + bKs,rθ + bCs,r θ − 0.5wKs,rφ− 0.5wCs,rφ
− (Ks,r +Kt)Zu,rr−Cs,rZu,rr +KtZr,rr − Fprr (7)
2.2. Vehicle handling model
The vehicle handling model is represented as a 3-DOF system, meaning that it has three mathematical equations
consisting of the equations of the movements of the car body: lateral, longitudinal, and yaw motions [11,12],
as shown in Figure 2. The lateral and longitudinal motions are represented along the x and y axes, expressed
as lateral acceleration (ay) and longitudinal acceleration (ax), so that the lateral and longitudinal motions can
be obtained by a double integration of the lateral and longitudinal accelerations.
543
HUNAINI et al./Turk J Elec Eng & Comp Sci
MzrlFxrl
Fxrl
MzrlFxrl
Fxrl
Mzrl
FxrlFxrl
�
Mzrl
FxrlFxrl
δ
vy
vx
�r
CG
lr lf
w
Figure 2. Vehicle handling model.
Lateral and longitudinal accelerations are expressed as follows:
ay = (Fyfl cos δ − Fxfl sin δ + Fyfr cos δ − Fxfr sin δ + Fyrl + Fyrr) /mt (8)
ax = (Fxfl cos δ − Fyfl sin δ + Fxfr cos δ − Fyfr sin δ + Fxrl + Fxrr) /mt (9)
An angular movement of the vehicle, which is based on the vertical axis, is called a yaw motion (r) [13] and
can be obtained by the integration of r and r :
r =1
Jz
[w2Fxfl cos δ −
w
2Fxfr cos δ +
w
2Fxrl −
w
2Fxrr +
w
2Fyfl sin δ −
w
2Fyfr sin δ
−lrFyrl − lrFyrr+lfFyfl cos δ+lfFyfr cos δ−lfFxfl sin δ−lfFxfr sin δ
+Mzfl +Mzfr +Mzrl + Mzrr] (10)
Definitions of variables are shown in Table 1.
Based on the above equations (Eqs. (1)–(10)), a full vehicle model was established as the plant of the
automatic steering control systems using MATLAB-SIMULINK software. The structure of the vehicle model
that was built (consisting of a 7 DOF ride model and a 3 DOF handling model) was connected using Calspan
tire models. This means that the vehicle model is a combination of the behavior of the tire vertical (as a
representation of a linear spring without damping) with the lateral and longitudinal behaviors using a Calspan
tire model [7,9,10], by taking δ as the steering input to the plant (Eqs. (8)–(10)), and the plant output is
expressed in three movements of the vehicle: the longitudinal motion (x) in Eq. (8), lateral motion (y) in Eq.
(9), and the yaw motion (r) in Eq. (10). Yaw motion will affect the moment of inertia around the z axis (Js),
which will lead to changes in pitch and roll angles at the body center of gravity (θ and φ) [10], and so it will
be more influenced by the entire force in the direction of the z axis (bouncing, pitching, rolling, and all vertical
direction movements for each wheel, Eqs. (1)–(7)).
544
HUNAINI et al./Turk J Elec Eng & Comp Sci
Table 1. Definitions of variables.
Variables DefinitionsZs sprung mass displacement at body center of gravity
Zs sprung mass velocity at body center of gravity
Zs sprung mass acceleration at body center of gravity
Zu,ij unsprung masses displacement
Zu,ij unsprung masses velocityZr,ij unsprung masses accelerationZr,ij road profiles at each tireKs,ij suspension spring stiffness at each tireCs,ij suspension damping at each tireIxx roll axis moment of inertiaIyy pitch axis moment of inertiaw wheel base of sprung massFij suspension force at each cornerms sprung mass weightmt total vehicle massMzij self-aligning momentsFpij pneumatic actuator forces at each cornerFxij tire forces in longitudinal directionFyij tire forces in lateral direction
i indicating front or rear
j indicating left or rightJz moment of inertia around the z-axisδ steering anglea distance between front of vehicle and center of gravity.b distance between rear of vehicle and center of gravity.θ pitch angle at body center of gravity
θ pitch rate at body center of gravity
θ roll acceleration at body center of gravityφ roll angle at body center of gravityφ roll rate at body center of gravityφ roll acceleration at body center of gravity
3. The proposed control and optimization system
An automatic steering control system of the vehicle model was built into the simulation using two cascaded
controllers: the FLC and the PID control [14]. The control system is needed to set the direction of the front
wheels of the vehicle to match the required trajectory (look up table x–y trajectory) in the form of a double
line change.
The plant output is expressed in the yaw, the lateral, and the longitudinal motions, so the functions of
the control system are as follows: FLC is used to suppress the error among lateral motions (y) associated with
the longitudinal motion (x) of the required trajectory, while the PID control is used to accelerate the rise time,
minimize errors, and reduce the overshoot/undershoot among yaw motions of the setting point, which is the
output from the FLC. The ideal condition on the output FLC is that if an error has been minimized, the vehicle
has no lateral motion (y), meaning that the vehicle also does not have the yaw motion, so that the output of
the FLC is used as the setting point on the yaw motion controls. Getting the optimal control depends on the
545
HUNAINI et al./Turk J Elec Eng & Comp Sci
design of the composition of each parameter control system, and in this paper the determination of parameter
values in both FLC and PID controls is done by tuning the values of these parameters to achieve the optimal
value by using the PSO. A block diagram of the control structure that was developed in the automatic steering
control simulation is shown in Figure 3.
ΔER, ΔDE, ΔOT
Particle Swarm Optimization
The best value of ΔER, ΔDE, ΔOT, ΔKp, ΔKi, ΔKd
PID+ -
+ -
du/dt
x
Steering Input y (δ)
yaw
x y
yaw
Look up table
x – y Trajectory
Error y
Error yaw
ITAE Criteria
FLC Control
PID Control
initialization:
Random of Particle Position
(DER, DDE, DOT, Kp, Ki, Kd)
ΔKp, ΔKi, ΔKd
Vehicle Model
With 10-DOF
1
2
3
4
5
6 7
Figure 3. The control and optimization structure for automatic steering on a vehicle model.
3.1. The main control using FLC with tunable MF
FLC is the main control on the developed control structure that is used to minimize error among the input and
output of the plant, i.e. the desired trajectory towards lateral motion. The main structure of the FLC includes
[15]:
-Fuzzification crisp variables: the error E(n) and the delta error DE(n) = E(n) – (En – 1) are converted
into fuzzy variables using the technique membership functions. Membership function (MF) is a function to
express the degree of fuzzy membership. The forms of MF used in this paper are triangular and trapezoidal
shapes. Each MF on the input (error and error delta) and the output consists of seven triangular MFs. The
following terms refer to MFs: negative small (NS), zero (Z), and positive small (PS).
In this paper, the shape of each MF can be changed based on the width and the location of the midpoint,
which depend on the multiplier of the variable domain as shown in Figure 4 for the triangular shape and Figure
5 for the trapezoidal shape. ∆ is a multiplier factor function proposed in this paper as a factor to determine
the shape of a MF. This means that all parameters of each MF are a function of ∆.
WLn-1 Cn-1 WRn-1 WLn Cn WRn
Wn-1 Wn
Degree ofmembership
(µx)
1
0 Domain (x)
Figure 4. Parameter of triangular membership function.
546
HUNAINI et al./Turk J Elec Eng & Comp Sci
Degree ofmembership
(µx)
1
0 Domain (x)
Cn-1
Cn-1
Wn-1
Wn-1
Cn
Cn
Wn
Wn
Figure 5. Parameter of trapezoidal membership function.
Determination of the width and the midpoint on each MF is expressed as the following equation:
Changes of the trapezoidal and triangular midpoint are:
Cnew = Cinitial ×∆ (11)
Trapezoidal and triangular width changes are:
Wnew = Winitial ×∆(for trapezoidal MF) (12)
Wnew = WRnew −WLnew(for triangular MF) (12a)
WRnew = WRinitial ×∆ (13)
WLnew = WLinitial ×∆ (14)
where C, WR, and WL are the midpoint, wide right, and wide left of the midpoint respectively. The subscript
”initial” means the initial value, and the ”new” is the new value following the change of the value of ∆.
Therefore, when the ∆ value changes, the parameters of each MF will change, including changes to the midpoint
and the width of the shape (W ) of the MF. The picture changes of ∆ are shown in Figure 6.
The value ∆i (∆ER , ∆DE , ∆OT ) consists of: ∆ER as multiplicative factors to MF parameters of error
input, ∆DE as multiplicative factors to MF parameters of delta error input, and ∆OT as multiplicative factors
to MF parameters of output FLC.
The values of multiplier factors ∆ER , ∆DE , and ∆OT can be determined by trial and error, but in this
paper the values of multiplier factors were obtained through a learning process repeated until the optimal values
were reached by using the PSO.
- A set of fuzzy rules consisting of several fuzzy rules grouped into base rules that are the basis of decision
making (inference process) to activate the control signal output from a condition input. Thus, the total
required rule base is 9 rules. The rule base of the built FLC is presented in Table 2.
- Defuzzification is the process of changing a fuzzy output variable back into a crisp variable.
547
HUNAINI et al./Turk J Elec Eng & Comp Sci
–2.5 –2 –1.5 –1 –0.5 0 0.5 1 1.5 2 2.5
–1 –0.5 0 0.5 1
–4 –3.5 –3 –2.5 –2 –1.5 –1 –0.5 0 0.5 1 1.5 2 2.5 3 3.5 4
–5 –4.5 –4 –3.5 –3 –2.5 –2 –1.5 –1 –0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Degree ofmembership
(µx )
Domain (x)
Domain (x)
Domain (x)
Domain (x)
NS Z PS
NS Z PS
NS Z PS
NS Z PS
Δ = 2
Δ = 1.5
Δ = 1
Δ = 0.5
Figure 6. Change in the width and center of the membership function.
Table 2. Rule base of fuzzy logic controller.
Delta Errorerror NS Z PSNS NS NS ZZ NK Z PSPS Z PS PS
The defuzzification method used in this paper is the Centroid defuzzification, which is a method of looking
for the center of gravity (CoG) of the aggregate set, as shown in the following equation:
CoG =x∫µ (x) dx∫µ (x) dx
(15)
3.2. The second control using PID control with tunable gain constants
In the proposed control structure, there is a second control serving to refine the control system. PID control is
a simple control on duty to suppress movement outside the lateral motion. PID will work to control the yaw
motion towards the setting point generated from the output of FLC.
548
HUNAINI et al./Turk J Elec Eng & Comp Sci
PID control is known as a system with superior control measures [16], including proportional control (P)
to speed up the system response rate (rise time), integral control (I) to minimize or eliminate the steady-state
error of the system, and derivative control (D) to reduce the overshoot/undershoot. Performance control of P,
I, and D is dependent on the determination of the constants Kp, Ki, and Kd. In this paper the values of these
constants are determined by means of learning on the control system or of tuning parameters to achieve the
optimal composition of a constant value by using the PSO. The three constants are referred to as Kp = ∆Kp ,
Ki = ∆Ki , and Kd = ∆Kd . This is necessary because if ∆Kp is too large, it will lead to instability of
overshoot and even of the system. On the other hand, if the value of ∆Kp is too small, it will reduce the
precision adjustment and place the system in a static state with a loss of dynamic characteristics. At constant
values of ∆Ki , if it is too big, it will cause the response to overshoot, and if ∆Ki is too small, it will be difficult
to eliminate any steady-state error in the system, which will affect the accuracy of the system. If ∆Kd is too
large, it will slow down the response and the capability of the system will be reduced, as shown in Figure 7.
Figure 7. PID control.
3.3. Optimization of the control system parameters using PSO
The optimization method based on swarm intelligence algorithm is behaviorally inspired as an alternative to
genetic algorithms, which are often called evolution-based procedures [17]. This model is simulated in space with
a certain dimension with a number of iterations, so that at each iteration the particle’s position will increasingly
lead to the intended target.
PSO is an optimization technique constructed by Dr Eberhart and Dr Kennedy in 1995, and inspired by
the social behavior of a flock of birds or fish [18]. Suppose that there is a flock of fish randomly looking for food
in an area and there is only one source of food there. The fish do not know where precisely the food is, but
they know how far they are from it in each iteration. Therefore, the most effective strategy is to follow the fish
closest to the food.
PSO is initialized with a population from random solutions and searches for the most optimal solution
to update members of the population. Each random solution is called a particle. Each particle moves in the
problem space and has the best value that has been achieved; this value is called pbest. The best other value
is the best value achieved by any particle in the population; this value is called gbest. PSO has a velocity that
would change the position of the particle at each iteration. At each iteration, the values of velocity and position
are updated.
The PSO algorithm consists of velocity and position [18]. The basic equation for velocity is:
vij (k + 1) = w × vij (k) + L1ij ×R1ij × (pij −∆ij (k)) + L2ij ×R2ij × (G−∆ij (k)) (16)
549
HUNAINI et al./Turk J Elec Eng & Comp Sci
The basic equation for position is:
∆ij (k + 1) = ∆ij (k) + vij (k + 1) (17)
where i = index variable, j = index particle, k = iteration, v = velocity of the particle, ∆ = position of
the particle, p = the best position of the particle (pbest), G = the best position of the swarm (gbest, best of
all particle), L1,2 = learning rates (social and cognitive constant), R1,2 = random intervals [0 – 1], and W =
inertia.
In this paper, PSO is used to optimize the parameters of the control system by first determining the
initial population of random particles, which are then evaluated on the model of the vehicle. The population
of particles, hereafter referred to as swarm, represents the 6 parameters of the control system that will be
optimized: three parameters of control in FLC needed to determine the midpoint and width of MF (i.e. ∆ER ,
∆DE , ∆OT ) and three PID control parameters (constants to determine the gain of Kp, Ki, and Kd, i.e. ∆Kp ,
∆Ki , ∆Kd). Furthermore, particles will be updated by using Eqs. (16) and (17), and will be reevaluated
on the automatic steering control of the vehicle models. Evaluation results are compared with the previous
evaluation to choose the smallest error and the position of the best particle. Updating and evaluation processes
are repeated until the maximum iteration. During the iteration process a selection of the smallest error will
provide a change in the constant error, meaning the selection process of the error has reached convergence. In
other words, the position of the particle has reached the best position so that the six parameters have reached
optimal values or the control system can work optimally.
The optimization steps are as follows:
Step 1. Initialization parameters of PSO
The optimization parameters of the control system using the PSO are as follows: the number of particles
is determined to be 30, the maximum iteration is set to 30, the social and cognitive constant is set to 1, the
inertia value is determined to be 0.5, and the number of variables is ∆i = (∆ER ; ∆DE ; ∆OT ; ∆Kp ; ∆Ki ;
∆Kd). The vehicle parameters are shown in Table 3.
Step 2. Initialization swarm
Initialization swarm consists of particles and velocities initialization, to initialize a population (array) of
particles with random positions and velocities of iand jdimension moves in the problem space. The particles
positions and velocities are expressed in the following equations:
∆ij = ∆min + (∆max −∆min)× randij (18)
Vij = Vmin + (Vmax − Vmin)× randij ; (i = 6andj = 30) (19)
At this step we obtained:
The best local position (i , :) = particles position (i , :).
Step 3. Evaluation of population initialization
Each particle was evaluated on the control system to get the fitness of each particle. A measure of fitness
of the particles is completed using the minimizing integral of time-weighted absolute error (ITAE) criterion [19].
Performance on the ITAE index is mathematically expressed as follows:
550
HUNAINI et al./Turk J Elec Eng & Comp Sci
Table 3. Vehicle model simulation parameters.
No. Parameter Value1 Vehicle mass 1700 kg2 Vehicle sprung mass 1520 kg3 Coefficient of friction 0.854 Front track width 1.5 m5 Rear track width 1.5 m6 Tire rolling radius 0.285 m7 Wheelbase 2.7 m8 Distance from front axle to center of gravity 1.11 m9 Distance from rear axle to center of gravity 1.59 m10 Pitch stiffness constant 4000 Nm−1
11 Roll stiffness constant 2400 Nm−1
12 Center of gravity height 0.55 m13 Pitch moment of inertia 425 kg m2
14 Roll moment of inertia 425 kg m2
15 Yaw moment of inertia 3125 kg m2
16 Wheel moment of inertia 1.1 kg m2
17 Pitch damping constant 170,000 Nm−1 s−1
18 Roll damping constant 900,00 Nm−1 s−1
ITAE =
∫ ∞
0
t |e (t)| dt (20)
where t is the time and e(t) is the error of the difference between reference and controlled variable.
In this step, we will obtain:
The best local fitness (i , :) = fitness of particles (i , :);
[The best global fitness, index] = min (The best local fitness (i , :));
The best global position (i) = The best local position (i , index);
Furthermore, the best global position is acquired and is updated using Eqs. (16) and (17).
Step 4. Evaluation of new particles
At this stage, any new particles will be reevaluated in the control system up to the maximum number of
iterations. In each iteration the particle positions are evaluated using the ITAE to obtain the fitness of particles,
then:
If fitness of particles < The best local fitness;
then The best local fitness = fitness of particles;
and the best local position = particles position;
The best global fitness for each iteration kth is obtained by:
[The best global fitness particles (k), index] = min (The best local fitness);
If The best global fitness particles (k) < The best global fitness;
then The best global fitness = The best global fitness particles (k);
and The best global position (i) = The best local position (i , index);
In the next iteration the best global position is updated again (using Eqs. (16) and (17)) until the
maximum number of iterations. During the whole process it is shown that The best global fitness has reached
551
HUNAINI et al./Turk J Elec Eng & Comp Sci
convergence at iteration 6, as shown in Figure 8. This means that the particle position corresponding to the
index of the best global fitness is an optimal particle position (∆i).
0 5 10 15 20 25 300
1
2
3
4
5
6
7
8 x 10–51 Convergence of PSO Algorithm Graphic
Iteration
Fit
nes
s F
un
ctio
n
Convergence onthe 6th iteration
Figure 8. Convergence of PSO algorithm graphic.
Here are the six optimal values acquired:
∆ER = 1.4932 ∆Kp = 521.5325
∆DE = 67.4870 ∆Ki = 10.1314
∆OT = 0.7617 ∆Kd = 6.6600
The obtained ∆ER,∆DE , and ∆OT are parameters of the multiplying factors to determine the positions
of the width and the midpoint of each MF of the input and output FLC. The shape of the optimal MF can be
seen in Figure 9 and the values of the width and midpoint of the MF, which are optimal in FLC, are shown in
Table 4. The obtained ∆Kp , ∆Ki , and ∆Kd are parameter expressions for proportional, integral, and derivative
controls.
�e Membership Function of FLC: 2 inputs, 1 outputs, 9 rules
–4 –2 0 2 4
0
0.2
0.4
0.6
0.8
1
Error of FLC Input
–100 –50 0 50 100
0
0.2
0.4
0.6
0.8
1
Delta Error of FLC Input
–3 –2 –1 0 1 2 3
0
0.2
0.4
0.6
0.8
1
Output of FLC
Fuzzy Logic Control
(Mamdani)
9 rules
Figure 9. The results of the MF that are optimal in FLC.
552
HUNAINI et al./Turk J Elec Eng & Comp Sci
Table 4. The results of the values of width and midpoint of the MF that are optimal in FLC.
ERROR INPUT∆ER = 1.4932 Width Left Midpoint Width RightNS –0.7466 –0.7466 0Z –0.7466 0 0.7466PS 0 0.7466 0.7466DELTA ERROR INPUT∆DE = 67.4870 Width Left Midpoint Width RightNS –33.7435 –33.7435 0Z –33.7435 0 33.7435PS 0 33.7435 33.7435OUTPUT∆OT = 0.7617 Width Left Midpoint Width RightNS –0.38085 –0.38085 0Z –0.38085 0 0.38085PS 0 0.38085 0.38085
4. Simulation results and discussion
PSO performed optimization until the maximum of 30 iterations on the control structure of a model of an
automatic steering vehicle with a plant input look up table (x− y trajectory) at a constant speed of 13.88 m/s.
This means that the control system has made the learning process with random parameters, and at the end
it was able to get the values of the optimal parameters such that the value of lateral motion has the smallest
error. The measure of error used in the optimization process was ITAE, which reached convergence at the fifth
iteration, where the ITAE value was 2.3829 e−42 . This value corresponds to the value of continuous root mean
square error (C-RMS error) of 0.003819.
Furthermore, the six parameters obtained from the optimization process are defined as parameters of
the system control (called FLC-PID tuned PSO) of the model automatic steering control. The simulation of
the vehicle steering control system is done with input look up table x − y trajectory (double lane change and
sine wave trajectory, where the amplitude and frequency of the sine wave are 2 m and 0.04 Hz, respectively)
with speeds varying from 10 to 70 km/h. The performance of the simulation is compared against the model of
automatic steering control of a vehicle control system without optimization (called PID-PID and FLC-PID) as
shown in Table 5.
Tests were conducted through software-in-the-loop simulation (SILS). Based on the test results it can
be stated that the use of FLC on lateral motion and PID control on yaw motion, tuned by PSO (FLC-PID
tuned by PSO), allows the movement of the vehicle to be always maintained in accordance with the desired
trajectory with a smaller error and a higher speed as compared with manually tuned by PSO FLC and PID
(FLC-PID) and PID-PID control systems. Since the performance of the main control system is the performance
of the lateral motion that is affected by 9 out of 10-DOF, this paper displays plant input (double lane change
trajectory) against plant output (lateral motion), as shown in Figure 10. Figure 11 shows the first maneuver
of the double lane change trajectory and Figure 12 is the second maneuver. The characteristic of the control
system is shown in Figure 13.
553
HUNAINI et al./Turk J Elec Eng & Comp Sci
Table 5. Benchmark of the control system.
No.Velocity
C-RMS ErrorDouble Lane Change
km/h m/s PID – PID FLC – PID FLC – PID tuned PSO1 10 2.77 0.30970 0.056450 0.0532802 20 5.55 0.64640 0.015240 0.0104503 30 8.33 0.02211 0.008329 0.0064194 40 11.11 0.01743 0.005529 0.0045505 50 13.89 0.01096 0.004480 0.0038196 60 16.67 0.01008 0.003849 0.0033617 70 19.45 time out time out time out
No.Velocity
C-RMS ErrorSINE WAVE(amplitude and freq.: 2 m and 0.04 Hz)
km/h m/s PID – PID FLC – PID FLC – PID tuned PSO1 10 2.77 divergent 0.016810 0.01339002 20 5.55 0.010640 0.006029 0.00542303 30 8.33 0.005704 0.003673 0.00342804 40 11.11 0.004244 0.002668 0.00252305 50 13.89 0.003741 0.002115 0.00203006 60 16.67 0.003444 0.001784 0.00171707 70 19.45 0.003128 0.001589 0.00171408 80 22.22 time out time out time out
600 700 800 900 1000 1100 1200
–3
–2.5
–2
–1.5
–1
–0.5
0
Time (s)
mo
tio
n (
s)
Input and output of lateral motion
Desired Trajectory of DLC
Output of PID–PID manually tunedOutput of FLC–PID manually tuned
Output of FLC–PID tuned by PSO
700 720 740 760 780 800 820–0.5
–0.45
–0.4
–0.35
–0.3
–0.25
–0.2
–0.15
–0.1
–0.05
0
Input and output of lateral motion
of Double Lane Change (DLC) on the first maneuver
Time (s)
Lat
eral
Mo
tio
n (
m)
Desired Trajectory of DLCOutput of PID–PID manually tunedOutput of FLC–PID manually tunedOutput of FLC–PID tuned by PSO
Figure 10. Input double lane change trajectory and out-
put lateral motion.
Figure 11. The first maneuver of double lane change.
A simulation that has been done above shows that the control system can be replaced with the desired
control system to compare the error and speed that can be achieved. It should be noted that the simulation
554
HUNAINI et al./Turk J Elec Eng & Comp Sci
of the model of the automatic steering control system is not using LPF because “no noise” conditions are
assumed. The simulation described in this paper invites further research in the form of testing hardware in
the loop simulations (HILS). Before HILS, however, one issue of note is the need for a more real trajectory
modification. For example, when the output of the control system in Figure 13 is connected to the actuator, the
response of the actuator cannot be observed because the output voltage is very brief. The double lane change
trajectory used has extreme maneuvers (necessary only for software testing), and so the form of trajectory
maneuvers should be changed to become more real with a given radius. A series of additional equipment that
is designed for HILS testing, as in the prototype image steer-by-wire system, is shown in Figure 14.
980 1000 1020 1040 1060 1080 1100 1120 1140 1160–3.1
–3
–2.9
–2.8
–2.7
–2.6
–2.5
Time (s)
Lat
eral
Mo
tio
n (
m)
Input and output of lateral moton of Double Lane Change (DLC) on the second maneuver
Desired Trajectory of DLCOutput of PID–PID manually tunedOutput of FLC–PID manualyl tunedOutput of FLC–PID tuned by PSO
0 500 1000 1500 2000 2500 3000–0.5
0
0.5
Time (s)
Mot
ion
(s)
0 500 1000 1500 2000 2500 3000–0.05
0
0.05
0 500 1000 1500 2000 2500 3000–4
–2
0
2Characteristics of "e Control System
0 500 1000 1500 2000 2500 3000–4
–2
0
2
1– Desired Trajectory of DLC
2– Lateral Motion Output
3– Lateral Motion Error
4– FLC Output (Setting point of Yaw Motion)
0 500 1000 1500 2000 2500 3000–2
0
2x 104
Time (s)
Mo
tio
n (
m)
0 500 1000 1500 2000 2500 3000–0.5
0
0.5
0 500 1000 1500 2000 2500 3000–0.1
0
0.15– Yaw Motion Output
6– Yaw Motion Error
7– PID Output (Control System Output)
Figure 12. The second maneuver of double lane change. Figure 13. Characteristic of the control system.
5. Conclusion
The simulation results of the optimization of the control system on the vehicle steering system using PSO
indicate that the input and output parameters of the FLC (which include the values of the location and width
of each MF) and the PID control parameters (which include the values of the gain-constants) may be obtained
optimally, quickly, and easily so that lateral motion error and yaw motion error can be reduced to lower
values as compared with the fuzzy-PID control system (FLC-PID) and the PID-PID control system that are
tuned manually. Thus, vehicle movement can be maintained in accordance with the desired trajectory and the
performance of the vehicle dynamics is better.
555
HUNAINI et al./Turk J Elec Eng & Comp Sci
Figure 14. The prototype of a steer-by-wire system proposed for HILS.
References
[1] Bertoluzzo M, Buja G, Menis R, Sulligoi G. Approach to steer-by-wire system design. In: IEEE International
Conference on Industrial Technology ICIT 2005; 14–17 December 2005; Hong Kong: IEEE. pp. 443–447.
[2] Park Y, Jung I. Semi-active steering wheel for steer-by-wire system. Technical paper SAE International, Warrendale,
PA 2001; 01: 3306.
[3] Hingwe P, Tan HS, Packard AK, Tomizuka M. Linear parameter varying controller for automated lane guidance,
experimental study on tractor-trailers. IEEE Contr Syst T 2002; 10: 793–806.
[4] Cai L, Rad AB, Chan WL. A genetic fuzzy controller for vehicle automatic steering control. IEEE T Veh Technol
2007; 56: 529–543.
[5] Karbalaei R, Ghaffari A, Kazemi R. Tabatabaei SH. A new intelligent strategy to integrated control of AFS/DYC
based on fuzzy logic. International Journal of Mathematical, Physical and Engineering Sciences 2007; 1: 47–52.
[6] Kodagoda KRS, Wijesoma WS, Teoh EK. Fuzzy speed and steering control of an AGV. IEEE Contr Syst T 2002;
10: 112–120.
[7] Ping EP, Hudha K, Jamaluddin H. Hardware-in-the-loop simulation of automatic steering control for lanekeeping
manoeuvre, outer-loop, and inner-loop control design. International Journal of Vehicle Safety 2010; 5: 35–59.
[8] Adriansyah A, Amin SHM. Learning of fuzzy-behaviours using Particle Swarm Optimisation in behaviour-based
mobile robot. Int J Intell Syst Technol Appl 2008; 5: 49–67.
[9] Hudha K, Kadir ZA, Said MR, Jamaluddin H. Modelling, validation, and roll moment rejection control of pneu-
matically actuated active roll control for improving vehicle lateral dynamics performance. International Journal of
Engineering Systems Modelling and Simulation 2009; 1: 122.
[10] Ahmad F, Hudha K, Jamaluddin H. Gain scheduling PID control with pitch moment rejection for reducing vehicle
dive and squat. International Journal of Vehicle Safety 2009; 4: 1–30.
[11] Falcone P, Borrelli F, Asgari J, Tseng HE, Hrovat D. Predictive active steering control for autonomous vehicle
systems. IEEE Contr Syst T 2007; 15: 566–580.
[12] Stone MR, Demetriou MA. Modeling and simulation of vehicle ride and handling performance. Presented at the
proceedings of: The 2000 IEEE International Symposium on Intelligent Control; 19–19 July 2000; Rio Patras:
IEEE. pp. 85–90.
556
HUNAINI et al./Turk J Elec Eng & Comp Sci
[13] Wang J, Hsieh MF. Vehicle yaw inertia and mass independent adaptive control for stability and trajectory tracking
enhancements. In: American Control Conference, ACC ’09; 10–12 June 2009; St. Louis, MO: IEEE. pp. 689–694.
[14] Hunaini F, Robandi I, Sutantra N. Model and simulation of vehicle lateral stability control. Presented at: The 2nd
APTECS 2010, International Seminar on Applied Technology, Science, and Arts; 21–22 December 2010; Surabaya,
Indonesia: p. 26.
[15] Obaid ZA, Sulaiman N, Marhaban MH, Hamidon MN. Analysis and performance evaluation of PD-like fuzzy logic
controller design based on matlab and FPGA. IAENG International Journal of Computer Science 2010; 37: 146–156.
[16] Xiuwei F, Li F, Feng K. Research of automotive steer-by-wire control based on integral partition PID control.
Presented at: 3rd International Conference on Genetic and Evolutionary Computing, WGEC ’09; 14–17 October
2009; China: IEEE. pp. 561–564.
[17] Amin SHM, Adriansyah A. Particle Swarm Fuzzy Controller for Behavior-based Mobile Robot. Presented at: the
9th International Conference on Control, Automation, Robotics and Vision, ICARCV ’06; Dec. 2006; Singapore,
2006, pp. 1–6.
[18] Kennedy J, Eberhart R. Particle swarm optimization. Presented at: The IEEE International Conference on Neural
Networks, Proceedings; 27 Nov–1 Dec 1995; University of Western Australia, Perth, Western Australia: IEEE. pp.
1942–1948.
[19] Martins FG. Tuning PID controllers using the ITAE criterion. The International Journal of Engineering Education
2005; 21: 867–873.
557