Sensorless Control of Electric Motors with Kalman Filters: Applications to Robotic and Industrial Systems

The paper studies sensorless control for DC and induction motors, using Kalman Filtering techniques. First the case of a DC motor is considered and Kalman Filter-based control is implemented. Next the nonlinear model of a field-oriented induction motor is examined and the motor's angular velocity is estimated by an Extended Kalman Filter which processes measurements of the rotor's angle. Sensorless control of the induction motor is again implemented through feedback of the estimated state vector. Additionally, a state estimation-based control loop is implemented using the Unscented Kalman Filter. Moreover, state estimation-based control is developed for the induction motor model using a nonlinear flatness-based controller and the state estimation that is provided by the Extended Kalman Filter. Unlike field oriented control, in the latter approach there is no assumption about decoupling between the rotor speed dynamics and the magnetic flux dynamics. The efficiency of the Kalman Filter-based control schemes, for both the DC and induction motor models, is evaluated through simulation experiments.


Introduction
During the last years, there has been significant effort in improving the performance of electric motors. DC (direct current) motors are widely used in industrial systems, such as robotic manipulators, because their control is relatively simple and they are reliable for a wide range of operating conditions. DC motors are usually modelled as linear systems and then linear control approaches are implemented. Additionally, controllers for nonlinear DC motor models have been developed. On the other hand, the applications of induction motors (IM) are mainly concerned with motion transmission systems. Induction motors have been the most widely used machines in fixed-speed applications for reasons of cost, size, weight, reliability, ruggedness, simplicity, efficiency, and ease of manufacture. With the field-oriented method, the dynamic behavior of the induction motor is rather similar to that of a separately excited DC motor [Rigatos 2009a].
The possibility to reduce the number of sensors involved in the control of electric motors has been a subject of systematic research during the last years [Holtz 2002], [Hilairet et al. 2009], [Borsje et al. 2005]. As a result, state estimation-based control has become an active research area in the field of electric machines and power electronics. In the control of robotic manipulators, which is actually control of the DC motors that rotate the robot's joints, the angle of each joint is usually measured with the use of an optical encoder. High performance robot control systems also call for velocity and acceleration information from the joints. However, to reduce equipment cost and to simplify installation and maintenance, tachometers and accelerometers are not always used in the robotic control loops. In other cases the information from tachometer and accelerometer measurements is replaced by the fusion of measurements from encoders and external sensors, such as cameras, laser trackers, etc. Thus, one should be able to deduce the velocity and acceleration of the robot's joints from angular position measurements, using state estimators [Rigatos 2009b], [Rigatos 2008], [Rigatos 2009c]. Furthermore, speed estimation methods have been of great interest among induction motor control researchers. Elimination of the speed sensors has the advantages of lower cost, ruggedness as well as increased reliability. Again to reconstruct the state vector of the induction motor, from a sequence of angular position measurements and the associated voltage input measurements a state observer has to be used.
The Kalman Filter is a special kind of observer that provides optimal filtering of process and measurement noises if the covariances of these noises are known. For linear systems subject to Gaussian measurement or process noise the Kalman Filter is the optimal state estimator, since it results in minimization of the trace of the estimation error's covariance matrix [Kamen & Su 1999], [Basseville & Nikiforov 1993], [Xiong 2008], . For nonlinear systems, subject to Gaussian noise one can use the generalization of the Kalman Filter as formulated in terms of the Extended Kalman Filter (EKF). The Extended Kalman Filter is based on a linearization of the systems' dynamics using a first order Taylor expansion [Rigatos & Zhang 2001].
Although EKF is efficient in several estimation problems, it may be subject to cumulative errors due to the local linearization assumption and this may affect the accuracy of the state estimation or even risk the stability of the observer-based control loop.
To overcome the EKF flaws, the Unscented Kalman Filter can be also considered. UKF is a derivative-free state estimation method of high accuracy. The state distribution in UKF is approximated by a Gaussian random variable, which is represented using a minimal set of suitably chosen weighted sample points. These sigma points are propagated through the true nonlinear system, thus generating the posterior sigma-point set, and the posterior statistics are calculated. The sample points progressively converge to the true mean and covariance of the Gaussian random variable [Rigatos 2009d], [Rigatos 2009e]. The Unscented Kalman Filter has been proposed as a suitable approach for overcoming certain drawbacks of the Extended Kalman Filter, such as (i) the need to compute Jacobians and (ii) the cumulative linearization errors which are due to truncation of higher order terms in the associated Taylor series expansion of the motor's dynamical model. The use of the Unscented Kalman Filter for state estimation and control of nonlinear electric motor models is a relatively new and promising topic. In [Akin et al. 2003] and [Akin et al. 2006] the Unscented Kalman filter (UKF) has been applied to state observation in field oriented control of an induction motor. The UKF enables to estimate rotor speed and dq-axis flux of an induction motor through the processing of only the stator currents and voltages. In [Kumar et al. 2011] the Unscented Kalman Filter (UKF) has been compared to the Extended Kalman Filter for the state estimation of a three-phase induction motor. In [Karami et al. 2010] the Unscented Kalman Filter is applied to state estimation for fault diagnosis of induction motors. Comparison between the estimated and the real output measurements enables the detection of failures in the motor's components. Finally, in [Akin et al. 2004] the Unscented Kalman Filter (UKF) and Extended Kalman Filter (EKF) are analyzed and compared both experimentally and theoretically in the problem of non-linear state estimation for field-oriented sensorless control of AC drives.
The current paper studies sensorless control for DC and induction motors using Kalman Filtering techniques. The structure of the paper is as follows: In Section 2 the dynamic model of the DC motor is explained and control for the nonlinear DC motor model is analyzed. In Section 3, the field-oriented induction motor model is analyzed. In Section 4, flatness-based control for the complete (sixth-order) induction motor model is analyzed. In Section 5 Kalman Filtering for the DC motor model is introduced. Moreover, the Extended Kalman Filter is proposed to estimate the state vector of the nonlinear electric motor using a limited number of sensors, and control of the induction motor is again implemented through feedback of the estimated state vector. In Section 6, the Unscented Kalman Filter is used to estimate the induction motor's state vector and subsequently a state estimation-based control loop is implemented. In Section 7 the efficiency of the above mentioned Kalman Filter-based control schemes, for both the DC and induction motor models, is tested through simulation experiments. Finally, in Section 8 concluding remarks are given.

DC motor model
The linear model of the DC motor shown in Fig. 1 is described by the set of equations Next, control for a nonlinear DC motor model will be presented. Usually the DC-motor model is considered to be linear by neglecting the effect of armature reaction or by assuming that the compensating windings remove this effect. Introducing the armature reaction leads to a nonlinear system. In that case the dynamic model of the DC-motor model can be written as an affine in-the-input system [Horng 1999]:ẋ withẋ denoting the derivative of the motor's state vector, (θ is the position of the motor,θ is the angular velocity of the motor and i α is the armature current). Functions f (x) and g(x) are vector field functions defined as: where k 1 = −F/J, k 2 = A/J, k 3 = B/J, k 4 = −1/J, k 5 = −A/L, k 6 = −B/L, k 7 = −R/L, k 8 = −1/L, R and L are the armature resistance and induction respectively, and J is the rotor's inertia, while F is the friction. Now, considering k 4 T 1 as disturbance, the state-space equation of the DC motor can be rewritten aṡ where T 1 the load torque and u is the terminal voltage. From the second row of Eq. (5) one obtains, Thus the input-output relation can be written as where,f (x) = k 1ẋ2 + k 2ẋ3 + 2k 3 k 5 x 2 x 3 + 2k 3 k 6 x 2 x 2 3 + 2k 3 k 7 x 2 3 , andḡ(x) = 2k 3 k 8 x 3 . Taking k 1 = 0 and considering the torque T 1 as external disturbance, the nonlinear DC motor model of Eq. (5) becomeṡ Then, setting the output to be y = x 1 one can see that all state variables x i , i = 1, 2, 3 and the control input u can be expressed as functions of this output and its derivatives. Indeed it holds The aforementioned system of Eq. (8) can be written in the Brunovsky (canonical) form: where v =f (x, t) +ḡ(x, t)u. Using a control input as in Eq. (15) it is possible to make the electric motor's angle track any desirable setpoint.

Control of the nonlinear DC motor model
The design of the nonlinear DC motor controller is according to the flatness-based control theory.  [Villagra et al 2007]. Flatness-based control can be applied to finite dimensional system of the form The quantity w denotes the system variable while w (i) , i = 1, 2, · · · , q are its derivatives (these can be for instance the elements of the system's state vector). The system of Eq. (1) is said to be differentially flat if there exists a collection of m functions y = (y 1 , · · · , y m ) of the system variables and of their time-derivatives, i.e.
such that the following two conditions are satisfied [Flies & Mounier 1999], [Rigatos 2008]: 1. There does not exist any differential relation of the form R(y,ẏ, · · · , y β ) = 0 (13) which implies that the derivatives of the flat output are not coupled in the sense of an ODE, or equivalently it can be said that the flat output is differentially independent. 2. All system variables, i.e. the components of w (elements of the system's state vectors) can be expressed using only the flat output y and its time derivatives An equivalent definition of differentially flat systems is as follows: (x, u,u, · · · , u (r) ), x = φ(y,ẏ, · · · , y (r−1) , y (r) ) and u = ψ(y,ẏ, · · · , y (r−1) , y (r) ).
This means that all system dynamics can be expressed as a function of the flat output and its derivatives, therefore the state vector and the control input can be written as x (t) = φ(y(t),ẏ(t), · · · , y (r) (t)) and u(t) = ψ(y(t),ẏ(t), · · · , y (r) (t)). For the motor model of Eq.
(4) an appropriate control law that satisfies the aforementioned flatness properties is with e = x − x d , e T = [e,ė,ë, · · · , e (n−1) ] T , K T = [k n , k n−1 , · · · , k 1 ], such that the polynomial e (n) + k 1 e (n−1) + k 2 e (n−2) + · · · + k n e is Hurwitz. This controller makes the system's output (angle θ of the motor) follow a given reference signal x d . The control law of Eq. (15) results into where the supervisory control term u c aims at the compensation of modeling errors as well as of the additive disturbanced ].

Field-oriented induction motor model
Control for induction motors is also studied. With the field-oriented method, the induction motor dynamics is rather similar to that of a separately excited DC motor [Wai and Chang 2001], [Nounou & Rehman 2007], [Wai & Chang 2004]. A decoupled relationship is obtained after a proper selection of state coordinates and thus, the rotor speed is asympotically decoupled from the rotor flux, while the speed can be controlled only by the torque current as shown in [Bodson et al. 1994], [Marino et al. 1991], [Leonard 1985], [Wai & Chang 2003], [Lin et al 2000].
To derive the dynamic model of an induction motor the three-phase variables are first transformed to two-phase ones. This two-phase system can be described in the stator-coordinates frame α − b, and the associated voltages are denoted as v s α and v s b , while the currents of the stator are i s α and i s b , and the components of the rotor's magnetic flux are ψ r α and ψ r b . Then, the rotation angle of the rotor with respect to the stator is denoted by δ. Next, the rotating reference frame d − q on rotor, is defined (Fig. 2).
The state vector of the motor is defined as and the dynamic model of the induction motor is written as [Horng 1999]: J is the rotor's inertia, and T L is the external load torque.
The rest of the model parameters are where L s , L r are the stator and rotor autoinductances, M is the mutual inductance and n p is the number of poles.

Decoupling of speed-flux dynamics in the field-oriented induction motor
The classical method for induction motors control is based on a transformation of the stator's currents (i s α and i s b ) and of the magnetic fluxes of the rotor (ψ r α and ψ r b ) to the reference frame d − q which rotates together with the rotor (Fig. 2). In the d − q frame there will be only one non-zero component of the magnetic flux ψ r d , while the component of the flux along the q axis equals 0. The new control inputs of the system are considered to be v s d , v s q , and are associated to the d − q frame voltages v d and v q , where ψ = ψ r d and ||ψ|| = ψ 2 s α + ψ 2 s b . Next, the following nonlinear feedback control law is defined The control signal in the coordinates system The system of Eq. (23) to Eq. (27) consists of two linear subsystems, where the first one has as output the magnetic flux ψ r d and the second has as output the rotation speed ω, i.e.
i.e. the transient phenomena for ψ r d have been eliminated and therefore ψ r d has converged to a steady state value then Eq. (30) is decoupled ψ r d , then the two subsystems described by Eq. (28)-(29) and Eq. (30)-(31) are decoupled.
The subsystem that is described by Eq. (28) and Eq. (29) is linear and has as control input v d , and can be controlled using methods of linear control. For instance the following PI controller has been proposed for the control of the magnetic flux [Marino et al. 1991], [Leonard 1985] If Eq. (32) is applied to the subsystem that is described by Eq.
(28) and Eq. (29), then one can succeed is not precisely measured using Hall sensors then it can be reconstructed using some kind of observer. Now the subsystem that consists of Eq. (30) and Eq. (31) is examined. The term T = µψ r d ref i sq denotes the torque developed by the motor. The above mentioned subsystem is a model equivalent to that of a DC motor and thus after succeeding ψ r d →ψ r ref d , one can also control the motor's speed ω, using control algorithms already applied to the control of DC motors.

A flatness-based control approach for induction motors
In [Martin & Rouchon 1996] the voltage-fed induction machine was shown to be a differentially flat system. It has been shown that the angle of the rotor position (rotation angle θ) and the angle ρ of the magnetic field (angle between flux ψ a and ψ b ) constitute a flat output for the induction motor model [Martin & Rouchon 1996], [Delaleau et al. 2001], [Dannehl & Fuchs 2006]. Since all state variables of the circuits describing the induction motor dynamics can be expressed as functions of y = (θ, ρ) and its derivatives it can be concluded that the induction motor is a differentially flat system.
The equations of the induction motor in the d − q reference frame, given by Eq. (28) to Eq. (31), are now rewritten in the form of Eq. (33) to Eq. (37): The flat outputs for the voltage-fed induction motor are the angle of the rotor θ and variable ρ, where ρ has been defined as the rotor flux angle. According to [Dannehl & Fuchs 2006], if the stator current dynamics are much faster than the speed and flux dynamics a faster inner current control loop can be designed using only Eq.
(35) and Eq. (36) and assuming the speed and flux as constants. For the outer speed and flux control design the stator currents are treated as new control inputs and the system behavior is described by Eq. (33), Eq. (34) and Eq. (37). This system of lower order is also flat with ψ r d and θ as flat outputs.
It can be shown that all state variables of the induction motor can be written as functions of the flat outputs and their derivatives. Moreover, using Eq. (35) and Eq. (36) a controller that satisfies the flatness properties (and thus it can be also expressed as a function of the flat outputs and their derivatives) is defined as follows: Tracking of the reference setpoint can be also succeeded for the rotor's speed and flux through the application of the control law of Eq. (38) and Eq. (39) to Eq. (33) and Eq.
(37). The control inputs are chosen as Denoting ∆ψ r d = ψ r d − ψ * r d and ∆ω = ω − ω * the tracking error dynamics are given by The convergence of the tracking error to zero can be assured through the application of the following feedback control laws:

The discrete-time Kalman Filter for the Linear Electric Motors
For the DC motor models described in Section 2 the Kalman Filter is an efficient state estimator. Kalman Filtering can be applied to discrete-time state models of the form where the state x(k) is a m-vector, w(k) is a m-element process noise vector and Φ is a m × m real matrix. Moreover, the output measurement z(k) is a p-vector, C is an p×m-matrix of real numbers, and v(k) is the measurement noise. It is assumed that the process noise w(k) and the measurement noise v(k) are uncorrelated. Now, the problem of interest is to estimate the state x(k) of the DC motor based on output measurements. This can be done using the Kalman Filter equations measurement update: acquire z(k) and compute time update: compute wherex − (k) is the estimation of the state vector using measurements up to time instant k − 1,x(k) is the estimation of the state vector using measurements up to time instant k, P is the covariance matrix of the estimation error, R is the measurement noise covariance matrix and Q is the process noise covariance matrix.
It can be observed that the recursion of the Kalman Filter given by Eq. (51) and Eq. (54) is also applicable to the nonlinear DC motor model of Eq. (3) and Eq. (4) if the latter system is written in the form of Eq. (10) and the measured output is taken to be y = x 1 .

Extended Kalman Filter for nonlinear electric motor models
The following nonlinear time-invariant state model is now considered ]: where where x∈R m×1 is the system's state vector, and z∈R p×1 is the system's output, while w(k) and v(k) are uncorrelated, Gaussian zero-mean noise processes with covariance matrices Q(k) and R(k) respectively. The operators φ(x) and γ(x) are , · · · , γ p (x)] T , respectively. It is assumed that φ and γ are sufficiently smooth in x so that each one has a valid series Taylor expansion. Following a linearization procedure, φ is expanded into Taylor series aboutx: wherex − (k) is the estimation of the state vector x(k) before measurement at the k-th instant to be received and x(k) is the updated estimation of the state vector after measurement at the k-th instant has been received. The The resulting expressions create first order approximations of φ and γ. Thus the linearized version of the plant is obtained: Now, the Extended Kalman Filter (EKF) recursion is as follows: First the time update is considered: byx(k) the estimation of the state vector at instant k is denoted. Given initial conditionsx − (0) and P − (0) the recursion proceeds as: • Measurement update. Acquire z(k) and compute: • Time update. Compute: The schematic diagram of the EKF loop is given in Fig. 3. The Extended Kalman Filter is applicable to nonlinear electric motor models, such as the induction motor described in Sections 3 and 4.  The Unscented Kalman Filter (UKF) is a nonlinear state estimator of high accuracy, as analyzed in [Julier et al. 2000], [Julier & Uhlmann]. The state distribution is represented again by a Gaussian Random Variable but is now specified using a minimal set of deterministically chosen weighted sample points. The basic sigma-point approach can be described as follows:

1.
A set of weighted samples (sigma-points) are deterministically calculated using the mean and square-root decomposition of the covariance matrix of the prior random variable. As a minimal requirement the sigma-point set must completely capture the first and second order moments of the prior random variable.
Higher order moments can be captured at the cost of using more sigma-points.
2. The sigma-points are propagated through the true nonlinear function using functional evaluations alone, i.e. no analytical derivatives are used, in order to generate a posterior sigma-point set.
3. The posterior statistics are calculated (approximated) using tractable functions of the propagated sigma-points and weights. Typically, these take on the form of a simple weighted sample mean and covariance calculations of the posterior sigma points.
The sigma-point approach results in posterior approximations that are accurate to the third order for Gaussian inputs for all nonlinearities. For non-Gaussian inputs, approximations are accurate to at least the second-order, with the accuracy of third and higher-order moments determined by the specific choice of weights and scaling factors. Furthermore, unlike EKF no analytical Jacobians of the system equations need to be calculated as in the case for the EKF. The concept of UKF for approximating the distribution of a system's state is given in Fig. 4 [van der Merwe et al. 2004]. It can be observed that comparing to EKF, the UKF (sigma-point) approach succeeds improved estimation of the state vector's mean value and covariance (only 5 points are needed to approximate sufficiently the 2D distribution).
The UKF is a special case of Sigma-Point Kalman Filters. The UKF is a discrete time filter which uses the unscented transform for approximating solutions to the filtering problem of the form where x k ∈R n is the state, y k ∈R m is the measurement, q k−1 ∈R n is a Gaussian process noise q k−1 ∼N(0, Q k−1 ), and r k ∈R m is a Gaussian measurement noise r k ∼N(0, R k ).
The mean and covariance of the initial state x 0 are m 0 and P 0 , respectively. Some basic operations performed in the UKF algorithm (Unscented Transform) are summarized as follows: 1) Denoting the state vector mean asx, a set of 2n + 1 sigma points is taken from the columns of the n×n matrix (n + λ)P xx as follows: and the associate weights are computed: Matrix P xx is the covariance matrix of the state x and index i denotes its i-th column. The parameter λ is a scaling parameter.
2) Transform each of the sigma points as 3) Mean and covariance estimates for z can be computed aŝ 4) The cross-covariance of x and z is estimated as The matrix square root of a positive definite matrix P xx means a matrix A = √ P xx such that P xx = AA T and a possible way for the calculation of this variable is Singular Value Decomposition (SVD) [Rigatos & Zhang 2001]. As in the case of the Extended Kalman Filter, the Unscented Kalman Filter also consists of prediction stage (time update) and correction stage (measurement update) [Julier & Uhlmann] Measurement update: Obtain the new output measurement z k and compute the predicted meanẑ k and covariance of the measurement P zzk , and the cross covariance of the state and measurement P xzk Then compute the filter gain K k , the state meanx k and the covariance P xx k , conditional to the measurement y k The filter starts from the initial mean m 0 and covariance P xx0 . The stages of state vector estimation with the use of the particle filtering algorithm are depicted in Fig. 5. The Unscented Kalman Filter can be used for state estimation of nonlinear electric motors, such as the induction motor analyzed in Sections 3 and 4.

Simulation tests
The concept of the simulation experiments was as follows: For linear electric motor models subject to Gaussian measurement or process noise the Kalman Filter is the optimal state estimator, since it results in minimization of the trace of the estimation error's covariance matrix. For nonlinear electric motor models, subject to Gaussian noise one can use the Extended Kalman Filter. Finally, to overcome some limitations of the EKF (such as the need to calculate Jacobians and cumulative estimation errors due to approximative linearization), the Unscented Kalman Filter can be used.

Kalman Filter-based control of the DC motor model
The DC motor of Eq. (3) and Eq. (4) in its linearized form of Eq. (10) is considered. The control law of Eq. (15) is used to make the motor track the desirable trajectory. The state vector x used in the control law is estimated through Kalman Filtering, as described in Eq. (51)-Eq. (54). To generate Gaussian noise Matlab's function randn() was used. The process and measurement noises were considered to be uncorrelated. The process noise covariance matrix was taken to be E{w(i)w T (j)} = Qδ(i − j), with diagonal elements with diagonal elements w ii = 10 −3 . The covariance matrix of the measurement noise was defined E{v(i)v T (j)} = Rδ(i − j), with diagonal elements r ii = 10 −2 . The estimation error covariance matrix P∈R 3×3 and the KF gain K∈R 3×1 were used in Eq. (51) and (54). To perform sensorless control only measurements of the rotor's angle θ were used. The sampling period was taken to be T s = 0.01sec. The tracking performance of the Kalman Filter-based control loop, in the case of a see-saw and a sinusoidal setpoint are depicted in Fig. 6, Fig. 7 and Fig. 8, while the associated control input is shown in Fig. 9. The reference setpoint in denoted by the red line, the state vector variables of the motor are denoted by the blue line, while the estimated state vector elements are described by the green line.

Extended Kalman Filter-based control of the field-oriented induction motor
The nolinear model of the decoupled field-oriented induction motor, given in Eq. (30) and Eq. (31), was considered. The model's state variables were taken to be x 1 = θ and x 2 =θ. The measurement update of the EKF is given by Eq. (62), while the time update of the EKF is given by Eq. (63). The measured state variable was supposed to be the rotor's angle θ. The Jacobian J φ (x) is the 2×2 Jacobian of φ calculated through the expansion: and which is given by wherex − (k) is the estimation of the state vector x(k) before measurement at the k-th instant to be received and x(k) is the updated estimation of the state vector after measurement at the k-th instant has been received. The 1×2 Jacobian J γ (x) is To implement sensorless control for the decoupled field-oriented induction motor model only measurements of the rotor's angle θ where used. Again the tracking performance of the proposed control scheme was tested in the case of a sinusoidal and a see-saw setpoint. As it can be seen in Fig. 10 and Fig. 11 the sensorless controller succeeded asympotic elimination of the tracking error despite abrupt changes in the reference trajectory, or the existence of process and measurement noises. The control signal of the Extended Kalman Filter-based control loop is depicted in Fig. 12.

Unscented Kalman Filter-based control of the induction motor model
In Unscented Kalman Filter-based control a set of suitably chosen weighted sample points (sigma points) were propagated through the nonlinear system and used to approximate the true value of the system's state vector and of the state vector's covariance matrix. The UKF algorithm consisted of two-stages, the time update and the measurement update, which are summarized as follows: The time update of the UKF is The measurement update of the UKF is The simulation experiments of Fig. 13 and 14 show the good tracking performance of the UKF-based control loop, in the case of time varying setpoints (such as see-saw and sinusoidal reference trajectories). Furthermore, the diagrams presented in Fig. 15 show that the control signal, which is applied to the decoupled field-oriented induction motor model, remains smooth.

Flatness-based control and Extended Kalman Filter for the induction motor
The approach on flatness-based control of the induction motor that was presented in Section 4 needs knowledge of the electric motor's state vector x = [θ, ω, ψ s d , i s d , i s q , ρ]. It will be shown that it is possible to implement state estimation for the electric motor using measurements only the rotation angle θ and of the stator currents i s a and i s b . The Extended Kalman Filter can give estimates of the non-measured state vector elements, i.e. of the rotation speed ω, of the magnetic flux ψ r d and of the angle ρ between the flux vectors ψ r a and ψ r b . Measuring currents i s a and i s b and using the estimate of angle ρ, the input measurements i s d and i s q can be provided to the Extended Kalman Filter. Thus one has The proposed flatness-based control scheme with the use of Extended Kalman Filtering for estimation of the non-measurable parameters of the motor's state vector is depicted in Fig. 16.
To implement the Extended Kalman Filter in the induction motor's model that is expressed in the dq reference frame the following Jacobian matrices are calculated Simulation results on flatness-based control of the induction motor when using the Extended Kalman Filter for reconstructing its state vector from output measurements are presented in Fig. 17 to Fig. 22. The real state variable is denoted by the dashed blue line, the estimated state variable is denoted by the dashed green line, while the associated reference setpoint is denoted by the continuous red line. It can be observed that, although using a reduced number of sensors, the proposed state estimation-based control scheme for the induction motor provides accurate tracking of the reference setpoints. Taking into account that several variables of the induction motor state vector (e.g. rotation speed and magnetic flux) are not directly measurable (due to sensors cost and limited reliability, sensors failures and difficulties in sensors installation) the significance of state estimation through Kalman Filtering becomes clear. It can be noticed that the Extended Kalman Filter is an efficient approach for the implementation of state estimation-based control of the sixth-order induction motor model. The Unscented Kalman Filter can be also used in place of the Extended Kalman Filter and in the latter case there will be no need to compute Jacobian matrices.
Remark 1: DC motor control is performed using as control input the armature current or the field voltage. Field oriented induction motor control assumes transformation of the induction motor model from the ab-reference frame to the dq reference frame and that the magnetic flux ψ r d converges to a steady-state value ψ ref r d . The field-oriented control for induction motors is implemented through nested control loops. In the outer loop, control of the magnetic flux is performed enabling decoupling between the motor's speed dynamics and the flux dynamics. This decoupling makes possible to develop controllers of the rotor's speed/position with methods already applied to DC motors. Finally, flatness-based control for induction motors considers also a nested control loops scheme as depicted in Fig. 16. Transformation to the dq reference frame is again performed, however this time there is no assumption about decoupling between the rotor speed dynamics and the magnetic flux dynamics.
In the inner-loop, current control is implemented providing as control inputs to the induction motor the voltages v s d and v s q . In the outer loop position/speed control and flux control are implemented, providing the current setpoints i s q and i s d which become inputs to the inner voltage control loop. Filtering is implemented through the adaptation of the process and measurement noise covariance matrices in the Kalman Filter recursion so as to cope with variable noise levels [Alonge & Ippolito 2010]. Regarding (ii), additive disturbances and parametric changes can be identified with the use of Kalman Filters that operate as disturbance observers (see work on Kalman Filtering and disturbance observers in [Rigatos 2011]). Once the disturbance affecting the nonlinear system becomes known it can be compensated through the introduction of an additional control term in the loop. Thus, it can be assured again that the estimation error x −x will be minimal and the performance of the control loop will be satisfactory. There are several results on disturbance observers (e.g. Extended State Observers, Unknown Input Observers or Perturbation Observers) and on their use within a Kalman Filter framework [Miklosovitch et al 2006], [Kwon & Chung 2003]. Such results can be exploited so as to make Kalman Filtering for electric motors as well as the associated state estimation-based control loop be more robust [Rigatos 2011].

Conclusions
The paper has studied sensorless control, for DC and induction motors, using Kalman Filtering techniques. First the case of a DC motor was considered. The Kalman Filter was proposed for estimating the state vector of the electric motor and Kalman Filter-based control was implemented. Next the nonlinear model of a field-oriented induction motor was considered. The motor's angular velocity was estimated by an Extended Kalman Filter which used rotor angle measurements, and sensorless control of the induction motor was again implemented through feedback of the estimated state vector. Moreover, a state estimation-based control loop was implemented, using the Unscented Kalman Filter to estimate the induction motor's state vector.
Finally, state estimation-based control was developed for the complete (sixth-order) dynamical model of the induction motor using a nonlinear flatness-based controller and the state estimation provided by the Extended Kalman Filter. Unlike field-oriented control, in the latter approach there is no assumption about decoupling between the rotor's speed dynamics and the magnetic flux dynamics. The efficiency of the aforementioned Kalman Filter-based control schemes, for both the DC and the induction motor models, was tested through simulation experiments.
The paper has shown that in the design of state estimation-based control for electric motors the following should be taken into account: (i) for linear electric motor models subject to Gaussian measurement or process noise the Kalman Filter is the optimal state estimator, since it results in minimization of the trace of the estimation error's covariance matrix , (ii) for nonlinear electric motor models, subject to Gaussian noise one can use the generalization of the Kalman Filter as formulated in terms of the Extended Kalman Filter. The EKF appears to be an efficient estimator for the implementation of state estimation-based control schemes. (iii) to overcome certain limitations of the EKF (such as the need to compute Jacobian matrices and the cumulative linearization errors due to approximative linearization of the motor dynamics), Sigma Point Kalman Filters (SPKF), and particularly the Unscented Kalman Filter (UKF) can be used.
The Kalman Filtering approaches examined in this paper have shown that it is possible to reduce the number of sensors involved in the control loops of electric motors and to implement efficient state estimation-based control. Kalman Filter-based control for DC and induction motors can have several applications for the design of industrial and robotic systems of improved performance.