Uploaded by ginoginini

PSO EKF

advertisement
See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/272997107
Particle swarm optimization of an extended Kalman filter for speed and rotor
flux estimation of an induction motor drive
Article in Electrical Engineering · June 2015
DOI: 10.1007/s00202-014-0322-1
CITATIONS
READS
32
784
3 authors:
Yahia Laamari
Kheireddine Chafaa
Université de M'sila
University of Batna 1
11 PUBLICATIONS 49 CITATIONS
32 PUBLICATIONS 124 CITATIONS
SEE PROFILE
Belkacem Athamena
Al Ain University
39 PUBLICATIONS 149 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
Estimation of Induction Machines View project
Modeling control and fault diagnosis of the electromechanical systems View project
All content following this page was uploaded by Belkacem Athamena on 06 June 2015.
The user has requested enhancement of the downloaded file.
SEE PROFILE
Particle Swarm Optimization of an Extended Kalman Filter
for speed and rotor flux estimation of an induction motor drive
Yahia Laamari1,2, Kheireddine Chafaa3 and Belkacem Athamena4
1
Electronics Department, Faculty of Technology, Annaba University
Electrical Engineering Laboratory, M’Sila University
3
Electronics Department, Faculty of Technology, Batna University
4
Al Ain University of Science and Technology, UAE
2
Abstract
A novel method based on a combination of the Extended Kalman Filter (EKF) with Particle Swarm
Optimization (PSO) to estimate the speed and rotor flux of an induction motor drive is presented.
The proposed method will be performed in two steps. As a first step, the covariance matrices of
state noise and measurement noise will be optimized in an off-line manner by the PSO algorithm.
As a second step, the optimal values of the above covariance matrices are injected in our speedrotor flux estimation loop (on-line). Computer simulations of the speed and rotor-flux estimation
have been performed to investigate the effectiveness of the proposed method. Simulations and
comparison with genetic algorithms (GAs) show that the results are very encouraging and achieve
good performances.
Keywords-- Induction Motors, Speed estimation, Stochastic state observer, Extended Kalman
Filter, Particle Swarm Optimization.
1 Introduction
Induction motors (IMs) are critical components in a number of industrial processes. They have been
used for over a hundred years in various industrial applications as actuators or drivers to produce
mechanical motions and forces. Because of their simplicity, efficiency, rugged structure, low cost
and reliability, etc., the IM with a squirrel cage rotor was the most widely employed machine at
fixed speed. However, the rapid developments in the field of power electronics have made their use
possible in the field of variable speed drivers. In most applications and for accurate control of the
IM, the information about rotor speed is very necessary and essential. Usually, rotor speed can be
directly measured by using a sensor (an optical encoder) which is mounted on the motor shaft.
However, the system cost, volume and weight of the motor are increased; also, the reliability of
drive reduces with hard environments conditions [1, 2]. Furthermore, it is not always possible to
reach all the state variables in the considered system.
In recent years, several approaches have been proposed to eliminate the speed transducers and
Hall effect flux sensors (inserted into the air gap of the machine) from industrial IM drives for
1
economical and technical reasons to reduce the cost and increase the reliability of the overall system
[3-21].
Therefore, the need to use an auxiliary dynamic system, called observer, which is responsible for
estimating the state of the system is necessary. These observers are very good alternatives to
transducers and encoders. In general, the synthesis of the observer uses the information available on
the real system, i.e., the model dynamics of the system, its inputs and its measured outputs.
In the linear case, the problem of observer synthesis is well restrained especially with the famous
observers: Luenberger [5-7] and Kalman filter [8, 9]. However, the problem of state estimation of
nonlinear systems remains unresolved in a many cases, despite the many methods proposed in this
direction such as Extended Luenberger [10-12], Sliding-Mode [13, 14], EKF [4, 15, 16], Model
Reference Adaptive System (MRAS) [17, 18], Fuzzy logic [19, 20] and Artificial Neural Network
(ANN) [21] based observers.
In the last decade, the EKF is the widely-used observer for stochastic nonlinear systems. The main
advantage of the EKF estimator over other estimators is its ability of taking into account the
stochastic uncertainties which is the case of IM drives (model uncertainties and inherent
nonlinearities). The EKF is a recursive filter based on the knowledge of the statistics of both states
and noises created by system modeling and measurements. It can be applied to nonlinear, timevarying and stochastic systems. The EKF is also known for its high convergence rate, which
improves transient performance significantly. Compared with nonlinear observers, EKF is
characterized by better dynamic behavior, disturbance resistance and it can work even under
standstill conditions.
In the literature, there have been many studies that use EKF to estimate the rotor speed, machine
parameters, and rotor flux [4, 16]. However, in this work the rotor speed and flux estimations have
been performed by using EKF with the knowledge of the stator currents and voltages. On the other
hand, the key problem of the EKF is that its estimation performance is greatly influenced by the
values of the system parameters and covariance matrices Q and R of state and measurement noises,
respectively. According to the Kalman filter theory, Q and R have to be obtained by considering the
stochastic properties of the corresponding noises [1]; however, since these are usually not known, in
most cases, the covariance matrices are used as weighting factors (tuning parameters).These
matrices were first tuned manually by trial and error methods which are very tedious procedures [4].
To overcome this problem and to avoid the computational complexity of trial and error method,
genetic algorithms were used to optimize matrices Q and R automatically [15].
In this paper, we propose a new alternative for the optimization of Q and R based on a method
called PSO, which is an evolutionary algorithm inspired by social interactions. With this method,
the identification problem of Q and R is changed to an optimization problem. Compared to genetic
2
algorithms, PSO method is simpler and more computationally efficient (easy implementation). The
goal of our work is the simultaneous estimation of the rotor speed and flux by an adaptive EKF
where the PSO algorithm is employed. The framework of the proposed method is constituted of two
steps. First, we present a PSO-EKF structure which works in an offline manner and allows finding
the optimal values of Q and R. Second, obtained values Q and R from step one are injected into
EKF estimator running online to estimate rotor speed and flux.
The rest of the paper is organized as follows: The basic mathematical formulation of EKF is
recalled in section 2. Section 3 describes the continuous and the discrete IM models. Section 4
introduces the principle concepts of PSO. The proposed framework is presented in section 5. To
validate the effectiveness of our method, simulation results are given in section 6. Finally,
conclusions are presented in section 7.
2 Extended Kalman Filter
EKF is an extension of the classical Kalman filter which considers nonlinear dynamical systems. In
this paper, we will attempt to find the best linear estimate of the state vector xk of the induction
machine which evolves according to the following discrete-time nonlinear dynamic:
 xk 1  f ( xk , uk , wk )

 yk  h( xk , vk )
(1)
where f (.) is the state evolution function representing the machine dynamics, h(.) represents the
relationship between the state vector and the observation yk , uk the machine input at time k and
wk and vk are the process and measurement white Gaussian noise vectors with zero mean and with
associated covariance matrices Q  E  wk wkT  and R  E vk vkT  , respectively.
To allow application of Kalman filter to the nonlinearity (1), this later must be linearized by using
ˆ k  0, vˆk  0) , which gives us
first order Taylor approximation near a desired reference point ( xˆk , w
the following approximated linear model:
3
Induction motor model
Mux
Prediction
Correction
EKF Algorithm
xˆk 1/ k 1 (Estimated state)
Fig. 1 Extended Kalman filter framework
 xk 1  f ( xk , uk , wk )  f ( xˆk , uk ,0)  Fk ( xk  xˆk )  Wk ( wk  0)

 yk  h( xk , vk )  h( xˆk , 0)  H k ( xk  xˆk )  Vk (vk  0)
(2)
where Fk , Wk , H k and Vk are the Jacobean matrices defined by:
Fk 
f ( xˆk , w)
h( xˆk , v)
f ( x, 0)
h( x, 0)
, Wk 
, Hk 
, Vk 
x x  xˆk
w w0
x x  xˆk
v
v 0
(3)
Thus, the EKF algorithm can be given by the following recursive equations:
xˆk 1/ k  f ( xˆk / k , uk , 0)
Pk 1/ k  Fk Pk / k FkT  Wk QWkT
K k  Pk 1/ k H kT ( H k Pk 1/ k H kT  Vk RVkT ) 1
xˆk 1/ k 1  xˆk 1/ k  K k ( yk  h( xˆk 1/ k , 0))
(4)
Pk 1/ k 1  Pk 1/ k  K k H k Pk 1/ k
where xˆk 1/ k is the priori prediction state vector, xˆk 1/ k 1 is the posteriori prediction state vector,
Pk 1/ k is the priori prediction error covariance matrix, Pk 1/ k 1 is the posteriori prediction error
covariance matrix and K k is the Kalman gain. Therefore, Extended Kalman filter structure is given
in Fig. 1.
4
3 Induction motor model and discretization
The continuous dynamic model of an induction motor can be described by fifth order nonlinear
differential equations with four electrical variables (currents and fluxes), a mechanical variable
(rotor speed), and two control variables (stator voltages). In the stationary reference frame (  ,  ),
the states, the stator voltages, the measurements, state noises and measurement noises are:
x  t    x1
x2
x3
x5   i s
T
x4
u  t   v s
v s 
y  i s
T
i s 
w  t    w1
w2
i s
 r
 r

T
T
(5)
(6)
(7)
w3
w4
w5 
T
v  v1 v2 
T
(8)
(9)
Then, the nonlinear dynamic model of the induction motor can be given by the following
continuous general nonlinear representation:
 x  t   f ( x(t ), u (t ), w(t ))

 y  t   h  x  t  , v(t ) 
(10)
where the continuous nonlinearity f and the continuous linearity h are given by:
Lm
Lm
1 1
1


 ( T   T ) x1   L L T x3   L L px4 x5   L v s  w1 
s
r
s r r
s r
s



Lm
Lm

1 1
1

) x2 
px3 x5 
x4 
v s  w2 
 x1   (
 Ls Lr
 Ls LrTr
 Ls
 x    Ts  Tr

2
  

Lm
1
x1  x3  px5 x4  w3
f ( x, u , w)   x3   

Tr
Tr
  

 x4  

Lm
1
 x5  
x2  px5 x3  x4  w4

Tr
Tr




f
pLm
C


( x3 x2  x4 x1 )  f x5  r  w5
JLr
J
J


(11)
x v 
h ( x, v )   1 1 
 x2  v2 
(12)
5
Since the model given by (11) and (12) is a continuous model, and Kalman filter is a discrete
algorithm, then discretization of (11) and (12) is needed. This discretization will be done using the
forward Euler method which provides an acceptable approximation of the systems dynamics for a
short sampling period. The resulting discrete form will be given by the following discrete general
nonlinear representation:
 x  k  1  f ( x(k ), u (k ), w(k ))

y  k   h  x  k  , v (k ) 

(13)
where f in this case describes the discrete nonlinearity and h the discrete linearity such as:


1 1 
1
1
1

)  x1 (k )  T
x3 (k )  T
px5 (k ) x4 (k )  T
v s  w1 
 1  T (
 Ts  Tr 
 LmTr
 Lm
 Ls




1 1 
1
1
1
 x1 (k  1)  1  T (

)  x2 (k )  T
px3 (k ) x5 (k )  T
x4 (k )  T
v s  w2 

 Ts  Tr 
 Lm
 LmTr
 Ls
 x (k  1)  

 2
 
L
1

f   x3 (k  1)   
T m x1 (k )  (1  T ) x3 (k )  Tpx5 (k ) x4 (k )  w3


 
Tr
Tr

 x4 (k  1)  
L
1

 x5 (k  1)  
T m x2 (k )  Tpx5 (k ) x3 (k )  (1  T ) x4 (k )  w4


Tr
Tr


ff
pLm
Cr


T
 ( x3 (k ) x2 (k )  x4 (k ) x1 (k )   (1  T ) x5 (k )  T  w5


JLr
J
J


(14)
 x (k )  v1 
h 1

 x2 (k )  v2 
where T is the sampling period.
4 Particle Swarm Optimization
Particle Swarm Optimization is a population-based stochastic search algorithm inspired by the
social behavior of bird flocking and fish schooling. It was first introduced by Kennedy and Eberhart
in 1995 [22]. Similar to other evolutionary computation algorithms, such as genetic algorithms
(GAs), PSO is a search method that exploits the concepts of social sharing of information. In PSO,
the population is called a Swarm, and each individual in the swarm is called a particle. Starting with
an arbitrarily initialized swarm population, each member in PSO flies through a searching Ndimensional solution space, and remembers the best encountered position.
Note that each particle in the PSO is a candidate solution of the optimization problem and can
communicate the better position to each other particle, and then particles in the swarm can adjust
dynamically their own positions and velocities. PSO algorithm was used successfully in many
engineering areas such as telecommunications [23], instrumentation [24] and automatic control
[25].
6
Each particle in the swarm of size N is described by its position xi 
N
and velocity vi 
N
( i  1, 2,..., N ) . The position of each particle is a potential solution, and the best position that each
particle achieved during the entire optimization process is memorized as pbi 
N
(best local
position). The swarm as a whole memorizes the best position ever achieved by any of its particles as
pg 
N
(best global position). Position optimality is measured by means of one or more fitness
functions defined in relation to the considered optimization problem. The position and the velocity
of each particle in the k th iteration are updated according to the following equations:
vi (k  1)  w.vi (k )  c1.r1 (k ).  pbi (k )  xi (k )   c2 .r2 (k ).  pg (k )  xi (k ) 
xi (k  1)  xi (k )  vi (k  1)
(15)
(16)
where r1 (.) and r2 (.) are two random numbers uniformly distributed in the interval [0,1] to provide
a stochastic weighting of the different components participating in the particle velocities.
c1 and c2 are positive constants defining the cognitive acceleration (control the relative impact of
the local knowledge on the movement of each particle) and the social acceleration (control the
relative impact of the global knowledge on the movement of each particle), respectively. w is the
inertia weight factor, it is used to control the impact of the previous history of velocities on the
current one.
Equation 15 updates the velocity from the previous velocity to the new one. The new position is
then determined by the sum of the previous position and the new velocity by equation 16.
Stop
Random initialization
Calculate initial fitness
Move the particles with PSO velocity
Fitness evaluation for each particle
Obtain pbest, gbest
Calculate new searching directions
Criterion is met ?
No
Yes
Output result
Stop
Fig. 2 PSO algorithm flowchart
7
Swarm optimization algorithm main steps are described as illustrated by the flowchart in Fig. 2
from which six steps can be distinguished:
1) Start a population of particles with random positions and velocities in N dimensions of the
problem space. 2) Evaluate the fitness of each particle in the swarm. 3) Change the velocity and
position of the particle according to equations (15) and (16), respectively. 4) As in step 2, the
updated position particles are evaluated according to their fitness; the best local and best global
positions will be updated if necessary. 5) Loop to step 3 until a terminal condition is met, otherwise
the optimization process ends. 6) Outputting the best global solution obtained from this
optimization process.
5 Proposed PSO-EKF estimation system
To apply extended Kalman filter, parameters Q and R have to be determined which is a difficult
task especially that the stochastic properties of the corresponding noises are unknown. To avoid this
difficulty, the covariance matrices will be considered as free parameters to be tuned. In the
literature, these matrices were first tuned manually by trial and error methods which were very
laborious tasks [26]. In order to surmount this problem and to avoid trial and error method, genetic
algorithms were used to tune and optimize matrices Q and R automatically [15].
In this section, we propose a new alternative for the tuning and optimization of Q and R based on
the PSO algorithm. The structure of the method is constituted of two steps. As a first step
represented in Fig. 3, we present a PSO-EKF structure which works in an offline manner and allows
finding the optimal values of Q and R. As a second step, obtained values Q and R from step one are
injected into EKF estimator running online to estimate the rotor speed and fluxes of the induction
motor.
Input
Measured rotor speed
Induction motor
(MAS)
Measured
output
+
-
Extended Kalman
Filter (EKF)
Estimated rotor
Speed
Kalman parameters
Performance
evaluator (MSE)
Particle Swarm
Optimizer (PSO)
Fig. 3 Block diagram of PSO-EKF parameter estimation system
8
The framework of the PSO-EKF parameter estimation system is illustrated in Fig. 3. The system
input u  t   v s
T
v s  and the measured response y  i s
T
i s  are used by the observer EKF,
where input u is applied to both induction motor and extended Kalman filter. Actual (measured)
rotor speed (  ) of IM and estimated rotor speed ( ̂ ) of EKF are set to be inputs to a performance
evaluator through a comparator. Note that the optimization will be impossible if the speed can’t be
measured. The performance evaluator calculates the fitness function which is a Mean Square Error
(MSE) criterion between

and ̂ . Then, obtained MSE will be applied to the particle Swarm
optimizer. Based on MSE values, PSO optimizer will calculate and optimize the unknown
parameters of covariance matrices Q and R by updating the particle solutions according to updating
equations (15) and (16) (see Fig. 2) to provide particles better sets. The new particle solutions and
updated Q and R are then used for the adaptation of the EKF for the next iteration until a preset
number of iterations has been reached, and then optimal values of Q and R are obtained. Finally,
optimized values Q and R are injected into EKF estimator running online to estimate rotor speed
and flux.
Note that the PSO-EKF algorithm is implemented offline because PSO needs a several iterations to
obtain acceptable solutions. For each iteration, the PSO-EKF estimator has to be executed once;
consequently, PSO-EKF must be executed several times allowing the optimization of the
parameters Q and R from each measurement.
6 Simulation results
In this section, an induction motor is simulated on a PC using Matlab software (version 7.12.0.635)
to demonstrate the performance of the proposed EKF-PSO approach. Note that all of our codes are
written in Matlab language in M-files with sampling period 10-4 sec. The motor used has the
parameters cited in appendix B.
In our simulations, the IM is fed via an ac drive in open loop with a sinusoidal input voltage
to achieve more realistic tests. The state and measurement have been both corrupted by Gaussian
noises with zero mean values and with variances 104 and 102 , respectively.
Recall that the key problem of the EKF is that the estimation results are greatly affected by the
covariance matrices Q and R of noises. Bad choice of these matrices will make the result of
estimation divergent or have large estimate errors. In order to yield the best estimations, the tuning
of Q and R will be necessary. Changing these parameters affects both the transient duration and
steady-state operation of the EKF. For example, increasing Q, means that state noises or
uncertainties in the machine model are large, this makes Kalman gain also increase and thus the
9
measurements will be more heavily weighted and the EKF transient performance will be faster. On
the other hand, if R increases, this corresponds to strong noise measurements, and the noise will be
weighted less by EKF. In this case, Kalman gain is decreased which gives us a slower transient
performance.
To justify the need of our proposed method, let’s begin with the frequently used method to get Q
and R which are done by experimental trial and error to achieve the desired transient and steadystate behaviors of the estimations of the speed and fluxes. In the simulation, error covariance matrix
P of the EKF is set to a unit 5×5 matrix and Q and R matrices with dimensions 5×5 and 2×2,
respectively, are assumed to be
 qi s
 0

Q  diag ([qi s , qi s , q r , q r , q ])   0

 0
 0
0
qi s
0
q r
0
0
0
0
0
0
0
q r
0
 ri s
R  diag ([ri s , ri s ])  
0
0
0





0
q 
0
0
0
0
ri s 
Table.1 Trial-error estimations and EKF Performances
Case
Values of Q and R
1
qi  q  q  ri  0.1
2.3761×10
2
qi  q  1e  3, q  ri  1e  2
136.8057
Very Poor
3
qi  q  q  0.01, ri  0.1
72.2788
Poor
4
qi  q  1e  7, q  1e  2, ri  1e  1
33.1022
Poor
5
qi  q  1e  6, q  ri  1e  2
19.1381
Poor
6
qi  q  1e  4, q  1e  2, ri  1e  1
2.2877
Good
7
qi  q  1e  4, q  1e  3, ri  1e  2
1.0220
Good
8
qi  q  1e  3, q  1e  3, ri  1e  1
0.3866
Very good
Estimation quality
MSE
3
Very Poor
Assuming that the two components of currents have approximately the same magnitude and
dynamics, the first two entries in the diagonal of Q have been chosen to be identical
(qi s  qi s  qi ) .The same thing for the two flux components (q r  q r  q ) and the two
diagonal entries of R (ri s  ri s  ri ) .For comparison purposes, the performance of the EKF with
10
diverse compositions of Q and R is evaluated by using the MSE criterion between the estimated
speed and the actual rotor speed as follows:
MSE 
1
K
(i  iest )

i 1
K
(17)
where iest is the estimated speed, i the actual speed and K the number of data samples.
We show in Table 1 typical covariance matrices entries ( qi , q , q and ri ) of EKF with their
corresponding performances (MSEs) obtained by a trial and error method.
It is seen that we have good performance in MSE for some values of Q and R (cases 6, 7 and 8 in
Table 1). A bad choice of these values can create large estimate error (case one in Table 1 and
dashed line in Fig. 4). We note that the best value of MSE (case 8) corresponds to the best estimate
of rotor speed (case eight in Table 1 and solid line in Fig. 4).
1600
1400
1200
Speed (rpm)
1000
800
1550
600
1500
400
1450
1400
200
0
-200
0
1350
Worst estimation: case 1 of Table 1
Actual speed
Best estimation: case 8 of Table 1
0.5
1
2.04
1.5
Time (sec)
2.06
2
2.08
2.1
2.12
2.14
2.16
2.5
3
Fig. 4 Speed estimation result with trial and error method
The manual adjustment of EKF using the trial and error method is simple to accomplish, but the
process is very long in terms of time. So, obtaining satisfactory estimation performance can only be
achieved with great effort by an experienced operator (expert). Indeed, it is not possible to easily
deduce a relationship (compromise) between the values of the covariance matrices and the best
speed estimation results. This problem is solved by our PSO-EKF framework, where we propose to
get the optimal covariance matrices by using the PSO algorithm as shown in Fig. 3, which will
allow us to obtain better estimations with higher precision than the trial and error method.
It should be noted that the convergence of the PSO method to the optimal solution depends on the
parameters c1, c2 and w. According to [27], the best values of these parameters are defined as
follows: c1  1.5 2 , c 2   2 2.5 and w  0.4 1.4 . During simulations, swarm population is set to
20 particles and the coefficients in (15), w , c1 and c2 are set to 0.8, 1 and 1.5, respectively.
11
Table. 2 PSO-EKF estimations and EKF performance
with PSO parameters: c1=1, c2=1.5 et w=0.8
iterations
5
ri  0.1818; qi  0.0838; q  0.0038; q  0.0027
0.7406
10
ri  0.205; qi  0.3424; q  0.0054; q  0.0117
0.3897
20
ri  1.1597; qi  0.2512; q  0.0152; q  0.0279
0.2619
30
ri  15.2927; qi  0.4156; q  0.2518; q  0.0823
0.0848
15
Speed error (rpm)
Speed (rpm)
2000
1600
1000
1500
0
1400
0.38
-1000
𝑴𝑺𝑬
Values of Q and R
0
0.1
0.2
0.3
0.4
0.4
0.5
Time (sec)
0.42
0.6
0.44
0.7
10
5
0
-5
0.46
0.8
0.9
-10
1
0
0.1
0.2
0.3
0.4
0.5
Time (sec)
0.6
0.7
0.8
0.9
1
0
0.1
0.2
0.3
0.4
0.5
Time (sec)
0.6
0.7
0.8
0.9
1
0
0.1
0.2
0.3
0.4
0.5
Time (sec)
0.6
0.7
0.8
0.9
1
Estimated alpha flux component
2
0.15
Alpha flux error (Web)
Actual alpha flux component
Flux (Web)
1
0
-1
-2
0
0.05
0.1
0.15
Time (sec)
0.2
0.25
0.1
0.05
0
-0.05
-0.1
0.3
Estimated beta flux component
2
Beta flux error (Web)
Flux (Web)
1
0
-1
-2
0.5
0.2
Actual alpha flu component
0.51
0.52
0.53
0.54
0.55
0.56
Time (sec)
0.57
0.58
0.59
0.6
0.1
0
-0.1
-0.2
Fig. 5 Simulation results obtained by PSO-EKF in stationary reference
frame relative to table 1 (case of 30 iterations)
We give in Table 2 optimized parameters ( qi , q , q and ri ) of EKF with their corresponding MSEs
obtained by our proposed approach PSO-EKF given in Fig. 3. Table 2 shows the convergence of
PSO-EKF process, where the MSE is decreased to 0.0848 after 30 iterations. Simulation
investigations show that the proposed approach gives excellent estimations within 30 iterations in
this application compared to trial and error approach. Simulation results relative to the best optimal
values of EKF parameters (30 iterations) are plotted in Fig. 5, where we remark a good agreement
between actual and estimated speeds and rotor fluxes in both transient and steady states. It also
shows the transient response of alpha flux component, and the steady state response of beta flux
component. It can be noted that estimation errors of speed and fluxes remains both within
12
acceptable bands. In Fig. 6 we present the corresponding evolution of the fitness function with
respect to the number of iterations.
2500
Fitness function
2000
1500
1000
500
0
0
5
10
15
Iteration
20
25
30
Fig. 6 Evolution of the fitness function relative to PSO-EKF
(case of 30 iterations in Table 2)
Table. 3 GA estimations and EKF performance
Generation
s
Values of Q and R
𝑴𝑺𝑬
5
ri  0.929; qi  0.947; q  0.024; q  0.07
1.1620
10
ri  0.95; qi  0.906; q  0.033; q  0.035
0.7176
20
ri  0.707; qi  1.435; q  0.021; q  0.028
0.3105
30
ri  15.8244; qi  3.2488; q  0.3083; q  0.0341
0.1487
In what follows and for comparison purposes, our proposed method will be compared with both
trial-error method and GA technique. The parameters of GA are chosen from reference [15] as
follows: Initial population size 100; Probability of crossover 0.8; Mutation probability 0.01; Initial
range of real-valued strings [0, 0.1]. Note that both PSO-EKF and EKF optimized by GA method
give more accurate rotor speed estimation compared to the trial and error method as shown in
Tables 1, 2 and 3. It is worthy to mention that, our PSO-EKF method outperforms the EKF
optimized by GA method in accuracy (see Tables 2 and 3: MSE in our case is less than the MSE in
GA case) and in convergence rate (see Figures 6 and 7: our approach is faster than the GA
approach), which confirms the superiority of our approach.
13
300
Fitness function
250
200
150
100
50
0
0
5
10
15
20
25
30
Generation
Fig. 7 Evolution of the fitness function relative to GA
(case of 30 iterations in Table 3)
To evaluate the effectiveness of our PSO-EKF method, two scenarios are performed: load torque
variation and parameter changes (due to temperature rise). Fig. 8 shows the actual and estimated
speed and rotor flux of the IM under a load torque of 10 N.m applied in the interval from 0.4s to
0.7s only. By inspecting the results of this first scenario, it can be noted that we have a quite
performance in the estimation of the speed and in both components of the rotor flux.
Speed (rad/s)
200
150
160
100
150
Estimated Speed
Actual speed
50
140
0
0.72 0.74 0.76 0.78
0
0.1
0.2
0.3
0.4
0.5
0.8
0.82
0.6
0.7
0.8
0.9
1
Time (sec)
Estimated alpha flux component
Actual alpha flux component
1.5
Flux (Web)
1
0.5
0
-0.5
-1
-1.5
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Time (sec)
Estimated beta flux component
Actual beta flux component
1.5
Flux (Web)
1
0.5
0
-0.5
-1
-1.5
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Time (sec)
Fig. 8 Simulation results of PSO-EKF under load torque variation test
For the purpose of parameter changes, the motor resistances used in EKF model are kept constant at
their nominal value Rr . Fig. 9 shows the actual and estimated speeds when the rotor resistance is
14
increased due to a load torque of 10N.m is applied starting from 0.4s. For this purpose, PSO-EKF
shows a better accuracy of speed even when the rotor resistance is increased by 25% or 50%.
2000
Speed (rpm)
1500
1000
1500
500
1400
-500
Estimated Speed
Actual speed
1300
0
0.58
0
0.1
0.2
0.6
0.3
0.62
0.64
0.4
0.66
0.68
0.5
Time (sec)
0.7
0.72
0.6
0.7
0.8
0.9
1
6.5
Rotor resistance
6
Rr +50%
5.5
Rr +25%
5
4.5
Nominal Rr
4
3.5
3
0
0.1
0.2
0.3
0.4
0.5
Time (sec)
0.6
0.7
0.8
0.9
1
Fig. 9 Speed estimation result of PSO-EKF under rotor resistance variation
7 Conclusion
In this paper a new approach combining EKF with PSO algorithms to achieve high performance
and accurate rotor flux and speed estimations in induction motor drives has been presented. PSO
technique was used for the optimization of the performances of EKF. The proposed optimization
enables the noise covariance matrices Q and R on which the EKF performance critically depends, to
be suitably selected. Simulation results demonstrated the efficiency of the proposed approach,
where obtained estimations are more precise and the optimization is faster than their counterparts
with GA. The estimation algorithm was also tested under challenging variations of load torque and
rotor resistance where good performances were obtained, which motivates the use of our proposed
method for sensorless control of IM drives.
15
Appendix A: Nomenclature
, 
: stator index
Ls ( Lr )
: stator (rotor) inductance
u
: stator voltage
Lm
: mutual inductance
is
: stator current

: total leakage coefficient
r
: rotor flux
p
: pole pairs number

: rotor speed
J
: rotor inertia
Ts (Tr )
: stator (rotor) time constant
ff
: friction coefficient
Appendix B: Motor parameters
The ratings of the three phase 50 Hz, 1.5 kW, 220/380V, 4 poles, 1420 rpm squirrel cage induction
motor are:
Rs  4.85 , Rr  3.805 , Ls  0.274 H , Lr  0.274 H
Lm  0.258 H , J  .031 kg.m2 , f f  0.008 N .m / rad / s
References
1. Vas P (1998) Sensorless, vector and direct torque control. Oxford University Press, London
2. Aydogmus O, Sunter S (2012) Implementation of EKF based sensorless drive system using controlled
PMSM fed by a matrix converter. Electrical Power and Energy Systems 43:736-743
3. Akin B, Orguner U, Ersak A, Ehsani (2006) Simple Derivative-Free Nonlinear State Observer for
sensorless AC Drives. IEEE/ASME Trans. on Mechatronics 11:634-642
4. Barut M, Bogosyan S, Gokasan M (2007) Speed-sensorless estimation for induction motors using
extended kalman filters. IEEE Trans. on Industrial Electronics 54272-280
5. Luenberger DG (1971) An introduction to observers. IEEE Trans. on Automatic Control 16:596-602
6. Bojoi R, Griva G, Profumo F (2006) Field oriented control of dual three-phase induction motor drives
using a Luenberger flux observer. In: Industry Applications Conference, Tampa, USA , pp 1253–1260
7. Kwon TS, Shin MH, Hyun DS (2005) Speed sensorless stator flux-oriented control of induction motor in
the field weakening region using Luenberger observer. IEEE Trans. on Power Electron. 20:864–969
8. Kalman RE (1960) A new approach to linear filtering and prediction problems. Trans. of the ASME
Journal of Basic Engineering 82:35–45
9. Chafaa K, Ghanai M, Benmahammed K (2007) Fuzzy modelling using Kalman filter. IET Control Theory
Appl. 1:58-64
10. Kowalska TO (1989) Application of extended Luenberger observer for flux and rotor time-constant
estimation in induction motor drives. IEE Proceedings on Control Theory and Applications 136:324–330
16
11. Du T, Vas P, Stronach AF, Brdys MA (1994) Application of Kalman filters and extended Luenberger
observers in induction motor drive. In: Proc. Intelligent motion, pp 369-387
12. Du T, Brdys MA (1993) Shaft speed, load torque and rotor flux estimation of induction motor drive using
an extended Luenberger observer. In: Proc. of IEEE-IEMDC’93 annual meeting, pp179–84
13. Gadoue SM, Giaouris D, Finch JW (2010) MRAS sensorless vector control of an induction motor using
new sliding-mode and fuzzy-logic adaptation mechanisms. IEEE Trans. Energy Convers. 25:394–402
14. Chen F, Dunnigan MG (2002) Comparative study of a sliding-mode observer and Kalman filters for full
state estimation in an induction machine. IEE Proc-Electric Power Appl. 149:53–64
15. Shi KL, Wong YK, Ho SL (2002) Speed estimation of an induction motor drive using an optimized
extended Kalman filter. IEEE Trans. on Industrial Electronics 49:124–133
16. Aksoy S, Muhurcu A, Kizmaz H (2010) State and parameter estimation in induction motor using the
Extended Kalman Filtering algorithm. In: Proc. of the International Symposium, Modern Electric Power
Systems (MEPS), Wroclaw, Poland, pp 1-5
17. Koubaa Y, Boussak M (2005) Rotor resistance tuning for indirect stator flux oriented induction motor
drive based on MRAS scheme. Trans. on Electrical Power, Revue European. 15:557–570
18. Agrebi Y, Triki M, Koubaa Y, Boussak Y M (2007) Rotor speed estimation for indirect stator flux
oriented induction motor drive based on MRAS Scheme. Journal of Electrical Systems 3:131–143
19. Choi HH (2007) LMI-Based Nonlinear Fuzzy Observer-Controller Design for Uncertain MIMO
Nonlinear Systems. IEEE Trans. on Fuzzy Systems 15:956-971
20. Xiao-Jun Ma, Zeng-qi Sun, Yan-Yan (2011) He Analysis and design of fuzzy controller and fuzzy
observer. In: IEEE 12th International Symposium on Computational Intelligence and Informatics (CINTI),
Budapest, Hungary, pp 45-50
21. Karanayil B, Rahman MF, Grantham C (2007) Online stator and rotor resistance estimation scheme
using artificial neural networks for vector controlled speed sensorless induction motor drive. IEEE Trans. on
Industrial Electronics 54:167–176
22. Kennedy J, Eberhart RC (1995) Particle swarm optimization. In: Proc. of the IEEE International
Conference on Neural Networks, Piscataway, USA, pp 1942–1948
23. Boeringer DW, Werner DH (2004) Particle swarm optimization versus genetic algorithms for phased
array synthesis. IEEE Trans. on Antennas and Propagation 52:771-779
24. Sun T H, Tang CH, Tien FC (2011) Post-Slicing Inspection of Silicon Wafers Using the HJ-PSO
Algorithm Under Machine vision. IEEE Trans. on Semiconductor Manufacturing 24:80-88
25. Gaing ZL (200) A particle swarm optimization approach for optimum design of PID controller in AVR
system. IEEE trans. Energy Conversion 19:384-391
26. Hongxia Y, Jingtao H (2012) Speed and Load Torque Estimation of Induction Motors based on an
Adaptive Extended Kalman Filter. Trans. Tech. Publications, Advanced Materials Research 433-440:70047010
27. http://www.ocw.mit.edu/courses/engineering-systems-division/esd-77-multidisciplinary-system-designoptimization-spring-2010/lecture-notes/MITESD_77S10_lec12.pdf
17
View publication stats
Download