# Effective and Robust Generalized Predictive Speed Control of Induction Motor

Authors: Patxi Alkorta; Oscar Barambones; Asier Zubizarreta; José Antonio Cortajarena
Journal: Mathematical Problems in Engineering
 (2013)

---

## Abstract

This paper presents and validates a new proposal for effective speed vector control of induction motors based on linear Generalized Predictive Control (GPC) law. The presented GPC-PI cascade configuration simplifies the design with regard to GPC-GPC cascade configuration, maintaining the advantages of the predictive control algorithm. The robust stability of the closed loop system is demonstrated by the poles placement method for several typical cases of uncertainties in induction motors. The controller has been tested using several simulations and experiments and has been compared with Proportional Integral Derivative (PID) and Sliding Mode (SM) control schemes, obtaining outstanding results in speed tracking even in the presence of parameter uncertainties, unknown load disturbance, and measurement noise in the loop signals, suggesting its use in industrial applications.


---

## Body

## 1. Introduction

The Model Predictive Control (MPC) groups a set of controllers which are based on the model of the system and the known future reference for optimal control signal calculation. The operational principle of predictive control is to calculate in advance the control signal required by the system, when the future input reference that will be applied is known beforehand [1]. In this sense, the system is able to react to the input reference, anticipating its changes and avoiding the effects of delay in system response [2]. There are countless applications in industry where the input reference is known beforehand, such as robotic systems, and machine tools. Therefore, in all these systems predictive control algorithms can be implemented. Since Clarke et al. proposed the design principles of Generalized Predictive Control [3, 4], many authors have used this advanced technique for induction motor control in the last two decades. There is extensive research related to the application of predictive controllers in electric drives, and, for this reason, predictive algorithms compete with other advanced control techniques such as fuzzy control [5], sliding mode control [6, 7], and nonlinear Hinf control [8].Predictive algorithms are often implemented using two or more GPC blocks to control several loops of the electrical machine, and usually they are connected in cascade form [9–11]. Frequently, only one predictive regulator for the control of the main variable of the machine is implemented, such as speed [12–15] or position [16], while the rest of the variables are controlled with classical algorithms, usually PI/PID and hysteresis comparators. Some authors use more complex formulations in order to control several variables of the engine, such as the multivariable GPC [17], and others implement a predictive algorithm in the current loops [18, 19], using the classic PI regulators for the main variables such as speed and rotor flux.All predictive control schemes are based on the minimization of a cost function. In the GPC this implies solving a quadratic programming problem in the case where physical constraints are introduced in the optimization. If no constraints are considered, an analytical solution can be obtained. In this sense, it is known that all real systems have constraints, such as saturation values, frequencies, and time limits of the actuators [13, 16, 20]. Hence, a numerical method is required to solve the quadratic programming problem, which implies a high computation cost for the processor where the controller is implemented. For this reason, the sample period of a predictive controller is usually greater than other types of controllers [9], which limit its applicability to quick response systems. Due to this issue, some works do not consider constraints, implementing the analytical solution with acceptable results [15, 17]. Moreover, constraints can be considered after the predictive control law is obtained [15].In addition, even if the delay time of the electric motor systems is usually small, sometimes it can be long enough so that its compensation improves significantly the system behaviour [21], and in this way it can be used in precision applications. In this sense, the predictive algorithms allow to compensate easily the delay time of the controlled system, because this aspect is included in the implementation of these algorithms.Finally, the robustness of the GPC regulator is another aspect included by some authors in the controller design [16, 20], obtaining relevant results, but with an arduous controller design process. In this sense, it is known that all closed loop controlled systems have inherent robustness [22] that in the presented GPC speed controller is enough to overcome the typical uncertainty cases of induction motor, without having to design an explicit robust controller nor to include any method for the adaptive identification of the motor parameters.After all these considerations and taking into account the complexity in the design of predictive controllers and their important computational costs, this paper presents an induction motor speed indirect vector control that combines the GPC algorithm with PI regulators, proposing a simple, robust, and effective design which provides better dynamical behaviour than other speed regulators such as other GPC, PID, and Sliding Mode (SM). The rest of the paper is organized as follows. In Section2 the design of the proposed GPC speed regulator is presented, detailing the objectives, the dynamics of the induction motor, the design of the controller and its tuning, and finally its robust stability. Section 3 contains a brief description of the used experimental platform and the simulation and experimental tests carried out by implementing the proposed regulator. Comparative results are given of the presented speed GPC regulator with other GPC, PI/PID, and SM speed controllers. Finally, Section 4 summarizes the most important ideas.


## 2. Linear GPC Speed Controller for Induction Motor

### 2.1. Objective and Description

The objective of this paper is to demonstrate experimentally that the GPC algorithm can be used in speed regulation of induction motors in an effective way with a simple, robust, and stable design, offering faster speed tracking than other algorithms such as PID or SM, allowing being implemented in industrial applications.The proposed speed regulator combines a GPC scheme with two PI current regulators. The dynamics of the induction motor is regulated using a distributed control in cascade form: the stator, (1), (2), is regulated with the PI current regulators and the rotor, (4), (5), with a GPC speed controller. The PI current regulators are very effective, simple, and provide fast response, offering similar results to the ones obtained by implementing a GPC-based current regulator. These are combined with a Space Vector Pulse Width Modulation (SVPWM), which is a standard modulator that is implemented in many commercial Digital Signal Process (DSP) processors, even in many low-cost processors. The proposed GPC controller is designed taking into account the first order transfer function (mechanical equation, (4), (5)) of the induction motor, considering the delay time, but without considering the constraints. Therefore, it is a simpler approach to GPC-based controllers than previous works.


### 2.2. Induction Motor Dynamics

The dynamics of the motor can be described by the stator voltage equations and the rotor flux equation, expressed all in thed-q synchronous rotating reference frame [23], assuming that the quadrature component of rotor flux is null, ψrq≈0, and consequently the rotor flux is formed only by its direct component, ψr≈ψrd:
(1)vsd=Rsisd+σLsdisddt+LmLrdψrddt-ωeσLsisq,(2)vsq=Rsisq+σLsdisqdt+ωeLmLrψrd+ωeσLsisd,(3)dψrddt=RrLrLmisd-RrLrψrd,(4)Te-TL=Jdωmdt+Bvωm,(5)Te=34pLmLrψrdisq.The employed symbols are described as follows:Bv:
viscous friction coefficient,J:
moment of inertia,Lm:
magnetizing inductance,Ls:
stator inductance,Lr:
rotor inductance,Rr:
rotor resistance,Rs:
stator resistance,p:
number of poles,σ:
leakage factor,Te:
electromagnetic torque,TL:
load or disturbance torque,ωe:
synchronous rotating speed,ωm:
mechanical rotor speed,ωr:
electrical rotor speed,ψr:
rotor flux vector,ψrd,ψrq:
direct and quadrature components of the rotor flux vector,is:
stator current vector,isd,isq:
direct and quadrature components of the stator current vector,vs:
stator voltage vector,vsd,vsq:
direct and quadrature components of the stator voltage vector.


### 2.3. GPC Speed Controller Design

Figure1 shows the speed vector control diagram of an induction motor, where the GPCω block is the proposed GPC controller for the speed loop whose algorithm will be detailed later. The two PI blocks are a pair of PI controllers for the two current loops. Their function is to convert the isd and isq current commands in their respective vsd and vsq voltage commands. This conversion is necessary because the inverter needs voltage commands, instead of current commands. The VSI block is the three-phase Voltage Sourced Inverter, ABC→dq block gets the is space vector in the d-q synchronous rotating reference frame from the iA, iB, and iC motor stator three-phase currents measured with Hall effect sensors, using Park’s transformation [23, 24], while the dq→ABC block makes the reverse Park’s transformation. It should be noted that this transformation uses the rotor flux angular position, θe, and therefore this angle is calculated using the indirect method, obtained by integrating the ωe synchronous speed.Figure 1
Diagram of GPC speed control of induction motor with the PI current control and SVPWM.Next, the dynamics of the induction motor system will be calculated in order to design the GPC.As it is known that the synchronous speed can be expressed as follows:(6)ωe=ωs+ωr,
where ωs is the slip speed, and ωr is the rotor speed. As it is assumed that the d direct and q quadrature components of the rotor flux are decoupled, then ψrq≈0, and dψrq/dt≈0, and consequently the rotor flux is formed only by the direct component [23, 24]. In this context, the slip speed is obtained from the following:
(7)ωs=LmψrRrLrisq,
where the rotor flux is calculated by (3),
(8)RrLrdψrdt+ψr=Lmisd,
while the rotor speed is proportional to the ωm mechanical rotor speed, which is measured using a incremental encoder:
(9)ωr=ωmp2.
From diagram of Figure 1 it is possible to obtain the external representation of the induction motor (Figure 2).Figure 2
External representation of the induction motor with the PI current control and SVPWM.Usually the rotor flux is held constant, fixing the rotor flux current command (isq*) to a constant value, that is, Isd; see Figures 1 and 2. Then the pole associated to the electrical time constant can be neglected and consequently (3) in a steady state takes the following expression:
(10)ψr=LmIsd.The electromagnetic torque of the induction motor in steady state, taking into account that torque and rotor flux current components are decoupled in` thed-q rotating reference frame, (5), also can be expressed as follows [24]:
(11)Te=3p4LmLrψrdisq=KTisq,
where KT is the torque constant (12) and ψrd is the rotor flux:
(12)KT=3p4LmLrψrd=KT′ψrd=KT′LmIsd.Considering that the SVPWM and the VSI modules have neither dynamics nor gain in diagram of Figure1, it is possible to obtain the following transfer function:
(13)ωm(s)Isq*(s)=KT′ψrd/Bv(1+sτr)(1+sτm)×(Kpis+KiiσLss2+(Rs+Kpi)s+Kii)2,
where the mechanical time constant and the rotor electrical time constant are, respectively,
(14)τm=JBv,τr=LrRr.Now, if the dynamics associated to the two current loops are neglected, because they are much faster than the rest, the following second order transfer function of the induction motor is obtained as follows:(15)ωm(s)Isq*(s)=KT/Bv(1+sτm)(1+sτr)e-τd,
where τd is the delay time of the induction motor.Taking into account the consideration to obtain (10) from (3), Figure 2, and also considering that the dynamics associated to the rotor electrical time constant is much faster than the mechanical time constant, then the electrical pole is neglected. Thus, the following first order transfer function of the induction motor is obtained
(16)ωm(s)Isq*(s)=KT/Bv(1+sτm)e-τd.The design of the GPC controller is carried out using the first order transfer function of the motor. As the GPC controller is defined in discrete time, the transfer function must be transformed into a discrete time transfer function. Then, using the ZOH (Zero-Order Hold) discretization method, it is obtained that(17)ωm(z-1)Isq*(z-1)=B(z-1)A(z-1)z-d=b0(1-az-1)z-d.Taking into account GPC theory and employing the CARIMA model [1], it is possible to obtain the following equation of the system, in which the output ωm is replaced by y, the input isq* is replaced by u, and white noise is included in the previous transfer function (17):
(18)A(z-1)y(t)=B(z-1)z-du(t-1)+C(z-1)ε(t)Δ,
where d is the delay time of the system and it is multiple of the sample time chosen, ε is the white noise with null average, Δ=1-z-1, and the C(z-1) is the noise polynomial that is chosen to be 1 for simplicity in this design [1].The GPC algorithm involves applying a control sequence that minimizes a multistage cost function of the form:(19)Jc=∑j=N1N2δ(j)[y^(t+j∣t)-w(t+j)]2+∑j=1Nuλ(j)[Δu(t+j-1)]2,
where y^(t+j∣t) is the predicted output j step ahead of actual time t, N1 is the minimum cost horizon, N2 is the maximum cost horizon, Nu is  the control horizon, δ(t) and λ(t) are the weighting sequences, and w(t+j) is the future reference trajectory. The GPC regulator design requires tuning the prediction horizons and the two weighting factors. If one takes into account the possibility that the plant has a delay time, then the minimum and maximum horizons are, respectively, N1=1+d and N2=N+d [1], where N is the prediction horizon. Since a high value for the control horizon produces an undesirable oscillation in the control signal [3, 4], which could cause the chattering phenomenon in the induction motor, then it is assumed that Nu=1.The prediction of the future output is as follows:(20)y^(t+j+d∣t)=Fj+d(z-1)y(t)+Ej+d(z-1)B(z-1)Δu(t+j-1),
where F(z-1) and E(z-1) polynomials are calculated by operating 1/A~(z-1)N2 times, where A~(z-1)=A(z-1)Δ, according to the following Diophantine identity:
(21)1=Ej(z-1)A~(z-1)+z-jFj(z-1).Taking into account that(22)Gj(z-1)=Ej(z-1)B(z-1)
the following set of j ahead optimal predictions for the system expressed in matrix form (23) can be obtained:
(23)y=Gu+F(z-1)y(t)+G′(z-1)Δu(t+j-1)=Gu+f,
where, for an N prediction horizon, one obtains the G matrix, which contains values of the step sequence of the plant (induction motor), with N×N dimension:
(24)G=[gN10⋯0gN1+1gN1⋱⋮⋮gN1+1⋱0gN2⋯⋯gN1]=[GN1(z-1)⋮⋮GN2(z-1)].Thus, from (22) and (24) we can see that the G matrix depends only on the process parameters, while the f term is the free response of the system, and it is easy to deduce that it is a vector of N elements:
(25)f=[FN1,0+FN1,1z-1⋮FN2,0+FN2,1z-1]y(t)f=+[gN1+1+gN1+2z-1+⋯+gN1+dz-(d-1)⋮gN2+1+gN2+2z-1+⋯+gN2+dz-(d-1)]Δu(t-1),f=[FN1(z-1)⋮FN2(z-1)]y(t)+[GN1′(z-1)⋮GN1′(z-1)]Δu(t-1).Assuming that theδ(t) control weighting sequence is constant and equal to 1, then the cost function (19) can be written in the following form:
(26)Jc=(Gu+f-w)T(Gu+f-w)+λuTu.The minimum of the cost function (26) when no constraints are considered can be calculated by equalling 0 the gradient of Jc, obtaining the following analytical expression:
(27)u=(GTG+λI)-1GT(w-f),
where u and w are two vectors of N elements:
(28)u=[Δu(t)⋮Δu(t+N-1)],w=[w(t+N1)⋮w(t+N2)].As the receding horizon strategy is used, the control signal applied to the process is obtained from the first element ofu, where the following expression must be employed:
(29)Δu(t)=K(w-f),
where K=[K1K2⋯KN], that is, the first row of the (GTG+λI)-1GT matrix in (27).Now replacing the variablesy(t) and u(t), by ωm* and isq*, respectively, it is obtained that
(30)Δisq*(t)=K(ωm*-f),
where finally the control law for the induction motor GPC speed regulation (31) is obtained, Figure 3 as follows:
(31)isq*(t)=K(ωm*-f)+isq*(t-1).Figure 3
Diagram of the induction motor speed control scheme using GPC linear regulator.The analytical solution of the cost function minimization is possible only if the control signal (31) is not restricted or limited [1]. As induction motors can support stator overcurrents up to 2.5 times the rated value in short periods, this GPC design does not need to limit the stator currents. That is, the isq* control signal is not limited, allowing the implementation of the more simple, low computational cost analytical solution. With regard to the isd* current, it is fixed to a value to produce the nominal rotor flux, Isd. Finally, the calculation of the K, G, F, and G′ parameters is carried out off-line, without using any identification algorithm, because the usual variation of the main parameters of the motor should be overcome in an effective form by the inherent robustness of any closed loop controller [22].


### 2.4. Regulator Tuning

#### 2.4.1. PID and PI Controllers

The two current PI regulators use the same tuning values. The higher the bandwidth chosen for these controllers, the faster the current loops dynamics are. However, in practice, any real system’s bandwidth is limited physically. In the employed experimental platform (Section3.1), which uses the induction motor described in Table 1, this limit is located at 4000 rad/s; up to this value, the platform produces the undesirable chattering phenomenon and dangerous mechanical vibrations that can damage the machine.Table 1
Induction motor parameters (manufacturer).
Parameter
Symbol
Value
Stator resistance
R
s
0.81Ω
Rotor resistance
R
r
0.57Ω
Magnetizing inductance
L
m
0.117774 H
Stator inductance
L
s
0.120416 H
Rotor inductance
L
r
0.121498 H
Nominal rotor flux
ψ
r
1.01 Wb
Number of  poles
p
4
Nominal torque
T
N
49.3 N m
Moment of inertia
J
0.057 kg m2
Viscous friction coefficient
B
v
0.015 N m/(rad/s)
Temperature coeff. Al/Cu
α
0.0039 K−1As to the speed regulation, in the first case, a PID speed controller has been used to measure the delay time of the system. This PID speed regulator has also been designed in the frequency domain, using a bandwidth which is 10 times smaller than the PI current loop regulators [24]. Then, the optimal tuning of the PID speed regulator has been obtained taking into account this ratio of bandwidths and the physical limit of the experiment platform. Thus, the most efficient PID-PI (speed currents) controller system has been designed with the following parameter values: ωcω=300 rad/s with a margin phase of PMω=1.4311 rad (82°) and ωci=3000 rad/s with a margin phase of PMi=1.5707 rad (90°). The D action of the speed loop is added after PI is tuned, and a small value is enough to do faster the response but without any overshot, where Kd=0.02 and the PID-PI controller is obtained. The delay time measured in the experiment platform using this PID-PI speed regulator tuning is 700 μs, using the sample time of 100 μs, (Section 3.2).


#### 2.4.2. SM Controller

A sliding-mode speed regulator for induction motor is also implemented in order to be compared with the proposed GPC regulator. This advanced speed regulator was presented by the authors in [7], where the parameters used in its design for the induction motor (Table 1) are obtained considering an uncertainty around 50% in the system parameters: a=0.3947, b=77.601, f=17.544*TL, k=400, γ=1.3, and ζ=2.5. This speed scheme uses the same two current PI regulators employed in GPC and PI speed schemes and detailed in the previous subsection.


#### 2.4.3. GPC Controller

The tuning of the GPC regulator requires choosing the values of two horizons and two weighting factors. The control horizon,Nu, and the output error weighting factor, δ, both have been fixed to 1 (Section 2.1). The prediction horizon, N, determines the size of the G matrix and the f vector, and, as a consequence, the number of the GPC controller’s coefficients. A larger value for N increases the anticipative effect, involving a better control and performance of the system. However, this increases the number of the coefficients and the computational cost of the control law, which requires increasing the sample time. So N should be selected to ensure proper dynamic behaviour and low computational cost. In this design it has been set to 5. From Section 2.1, it is known that the minimum and maximum horizons take into account the delay time of the system, N1=1+d and N2=N+d. Considering two GPC speed regulator designs, D1 and D2, using sample times of 100 μs and 700 μs, respectively, and taking into account that the measured experimental delay time is 700 μs (Section 3.2), then the delay values are d=7 for D1 and d=1 for D2 (Table 2).Table 2
Several stable cases of GPC speed regulator designs.
GPC speed regulator design
D1 (efficient 1) Nominal mech. parameters  τm = 3.8 s  Ts= 100 µs, N = 5,  d = 7,  N1 = 8, N2 = 12, Nu = 1, λ=0.17   GMω = 15 dB, PMω = 8°
D2 (efficient 2) Nominal mech. parameters  τm = 1.9 s (J = 0.0285 kgm2)  Ts = 700 µs, N = 5, d= 1,  N1 = 2, N2 = 6, Nu= 1, λ=1   GMω = 12 dB, PMω = 35°
U1 IM: τm higher  τm = 7.6 s (J = 0.114 kgm2)  GMω = 25 dB, PMω = 5°
U1 IM: τm higher  τm = 3.8 s (J = 0.057 kgm2)  GMω = 25 dB, PMω = 25°
U2 IM: τm smaller  τm = 0.38 s (Bv = 0.15 Nms)  GMω = 15 dB, PMω = 9°
U2 IM: τm smaller  τm = 0.19 s (Bv = 0.15 Nms)  GMω = 12dB,PMω = 35°
PI currents regulators design
Stator nominal electr. parametersτs = 0.1487 s (T = 20°C) Ts = 100 µs, ωci = 3000 rad/s  PMi = 1.5707 (90°)
Us1:τs higher  τs = 0.1612 s (T = 0°C) PMi = 90°
Us2:τs smaller τs = 0.1040 s (T = 130°C) PMi = 90°The control weighting factor,λ, has a direct impact on the response of the controlled system. Hence, the higher its value, the slower the resulting controlled system. On the other hand, if its value is too small, it can produce the chattering phenomenon that can damage the motor in a real case. Then, it is desirable to find a value for λ to provide an effective response of the controlled system. Taking into account the recommendation in [15], an easy way to obtain an effective and stable value for λ factor is applying the following empirical expression:
(32)λopt=mtrace(GTG),
where m takes a value inversely proportional to the sample time. For D1 design the m parameter results in a value of 60, and for D2, m equals 2 (tens for 100 μs, units for 700 μs).


### 2.5. Robust Stability Analysis

The closed loop stability of the motord-q currents with the PI controllers is guaranteed if the PMi phase margins are positive and sufficiently high. As to the speed loop, the stability of the controlled system is analysed using the classic RST poles placement scheme [25], where the control law is obtained as
(33)isq*(t)=1r0[R′(z-1)T(z-1)ωm*(t)T000000-S(z-1)ωm(t)-isq*(t-1)R′(z-1)].In this sense, it is necessary to translate the GPC controlled system parameters to its equivalent RST controlled system parameters [1], to check the stability of the system. Identifying the terms between (31) and (33), we can obtain the general expression of equivalence in both RST and GPC algorithms for any first order plant with delay time:
(34)R(z-1)=r0+r1z-1+⋯+rd+1z-(d+1)=r0+z-1R′(z-1),S(z-1)=s0+s1z-1,T(z-1)=t0z-N1+t1z-(N1+1)+⋯+tN-1z-N2,(35)r0=1,r1=K[gN1+1⋯gN2+1]T-1,r2=K([gN1+2⋯gN2+2]T-[gN1+1⋯gN2+1]T),rd=K([gN1+d⋯gN2+d]T-[gN1+d-1⋯gN2+d-1]T),rd+1=-K[gN1+d⋯gN2+d]T,s0=K[FN1,0⋯FN2,0]T,s1=K[FN1,1⋯FN2,1]T,t0=K1,t1=K2,⋮tN-1=KN,
where it should be noted that the polynomial T multiplies the future references vector (33). Thus, the controller should be designed so that the controlled system presents all the poles inside the unit circle. In order to achieve this a graphical representation (Nichols chart) of the open loop system is more appropriate as GMω gain margin and PMω phase margin can be observed.The robust stability is analysed taking into account the parametric uncertainties of the induction motor in two limit real cases of each control loop detailed in Table2. These limits are used to determine the robustness of the speed and current regulators, as these limits are both critical in real cases. Hence, as the controller is lineal, any uncertainty case located into the defined limits has the stability guaranteed.First, the following two uncertainty cases for the limits of robustness, related with the mechanical parameters of the induction motor, are considered in the proposed GPC. The U1 takesJ a 100% higher, and the U2 that considers Bv 10 times higher, increasing 2 times and reducing 10 times, respectively, the τm mechanical time constant of the machine. The D1 and D2 designs are presented for the speed GPC regulator. The D1 uses a sample time of 100 μs and nominal J of 0.057 kg m2, and D2, a sample time of 700 μs and a nominal J of 0.0285 kg m2. On the other hand, another two limit cases are considered for the PI current controllers, which are related with the stator windings resistances (Rs) modified by their temperature. Us1 determines the uncertainty when the temperature of the windings is 0°C (before starting in a cold place), and Us2 considers the heating case of the stator windings when the induction motor is working at rating power for half an hour or more, where the stator windings are around 130°C. As it is known, the temperature variation produces the proportional increase of the stator windings resistance:
(36)Rf=R0(1+α(Tf-T0))
and the proportional decrease of the τs stator electrical time constant:
(37)τs=LsRs.Table2 shows the two efficient designs for the GPC speed regulator, D1 and D2, taking into account different nominal moments of inertia of the induction motor and sample times in each case. The two uncertainties cases, U1 and U2, have been based in the D1 and D2 designs, but even so, the stability of the controlled system is guaranteed observing the gain and phase margins obtained from Figure 4. In Table 2, the efficient design for the two PI current controllers is detailed, with Us1 and Us2 uncertainties cases. Figure 5 shows that the temperature variations in the stator windings practically have not any effect.Figure 4
Nichols diagram of the GPC and PID speed loops.Figure 5
Nichols diagram of the PI current loops.


## 2.1. Objective and Description

The objective of this paper is to demonstrate experimentally that the GPC algorithm can be used in speed regulation of induction motors in an effective way with a simple, robust, and stable design, offering faster speed tracking than other algorithms such as PID or SM, allowing being implemented in industrial applications.The proposed speed regulator combines a GPC scheme with two PI current regulators. The dynamics of the induction motor is regulated using a distributed control in cascade form: the stator, (1), (2), is regulated with the PI current regulators and the rotor, (4), (5), with a GPC speed controller. The PI current regulators are very effective, simple, and provide fast response, offering similar results to the ones obtained by implementing a GPC-based current regulator. These are combined with a Space Vector Pulse Width Modulation (SVPWM), which is a standard modulator that is implemented in many commercial Digital Signal Process (DSP) processors, even in many low-cost processors. The proposed GPC controller is designed taking into account the first order transfer function (mechanical equation, (4), (5)) of the induction motor, considering the delay time, but without considering the constraints. Therefore, it is a simpler approach to GPC-based controllers than previous works.


## 2.2. Induction Motor Dynamics

The dynamics of the motor can be described by the stator voltage equations and the rotor flux equation, expressed all in thed-q synchronous rotating reference frame [23], assuming that the quadrature component of rotor flux is null, ψrq≈0, and consequently the rotor flux is formed only by its direct component, ψr≈ψrd:
(1)vsd=Rsisd+σLsdisddt+LmLrdψrddt-ωeσLsisq,(2)vsq=Rsisq+σLsdisqdt+ωeLmLrψrd+ωeσLsisd,(3)dψrddt=RrLrLmisd-RrLrψrd,(4)Te-TL=Jdωmdt+Bvωm,(5)Te=34pLmLrψrdisq.The employed symbols are described as follows:Bv:
viscous friction coefficient,J:
moment of inertia,Lm:
magnetizing inductance,Ls:
stator inductance,Lr:
rotor inductance,Rr:
rotor resistance,Rs:
stator resistance,p:
number of poles,σ:
leakage factor,Te:
electromagnetic torque,TL:
load or disturbance torque,ωe:
synchronous rotating speed,ωm:
mechanical rotor speed,ωr:
electrical rotor speed,ψr:
rotor flux vector,ψrd,ψrq:
direct and quadrature components of the rotor flux vector,is:
stator current vector,isd,isq:
direct and quadrature components of the stator current vector,vs:
stator voltage vector,vsd,vsq:
direct and quadrature components of the stator voltage vector.


## 2.3. GPC Speed Controller Design

Figure1 shows the speed vector control diagram of an induction motor, where the GPCω block is the proposed GPC controller for the speed loop whose algorithm will be detailed later. The two PI blocks are a pair of PI controllers for the two current loops. Their function is to convert the isd and isq current commands in their respective vsd and vsq voltage commands. This conversion is necessary because the inverter needs voltage commands, instead of current commands. The VSI block is the three-phase Voltage Sourced Inverter, ABC→dq block gets the is space vector in the d-q synchronous rotating reference frame from the iA, iB, and iC motor stator three-phase currents measured with Hall effect sensors, using Park’s transformation [23, 24], while the dq→ABC block makes the reverse Park’s transformation. It should be noted that this transformation uses the rotor flux angular position, θe, and therefore this angle is calculated using the indirect method, obtained by integrating the ωe synchronous speed.Figure 1
Diagram of GPC speed control of induction motor with the PI current control and SVPWM.Next, the dynamics of the induction motor system will be calculated in order to design the GPC.As it is known that the synchronous speed can be expressed as follows:(6)ωe=ωs+ωr,
where ωs is the slip speed, and ωr is the rotor speed. As it is assumed that the d direct and q quadrature components of the rotor flux are decoupled, then ψrq≈0, and dψrq/dt≈0, and consequently the rotor flux is formed only by the direct component [23, 24]. In this context, the slip speed is obtained from the following:
(7)ωs=LmψrRrLrisq,
where the rotor flux is calculated by (3),
(8)RrLrdψrdt+ψr=Lmisd,
while the rotor speed is proportional to the ωm mechanical rotor speed, which is measured using a incremental encoder:
(9)ωr=ωmp2.
From diagram of Figure 1 it is possible to obtain the external representation of the induction motor (Figure 2).Figure 2
External representation of the induction motor with the PI current control and SVPWM.Usually the rotor flux is held constant, fixing the rotor flux current command (isq*) to a constant value, that is, Isd; see Figures 1 and 2. Then the pole associated to the electrical time constant can be neglected and consequently (3) in a steady state takes the following expression:
(10)ψr=LmIsd.The electromagnetic torque of the induction motor in steady state, taking into account that torque and rotor flux current components are decoupled in` thed-q rotating reference frame, (5), also can be expressed as follows [24]:
(11)Te=3p4LmLrψrdisq=KTisq,
where KT is the torque constant (12) and ψrd is the rotor flux:
(12)KT=3p4LmLrψrd=KT′ψrd=KT′LmIsd.Considering that the SVPWM and the VSI modules have neither dynamics nor gain in diagram of Figure1, it is possible to obtain the following transfer function:
(13)ωm(s)Isq*(s)=KT′ψrd/Bv(1+sτr)(1+sτm)×(Kpis+KiiσLss2+(Rs+Kpi)s+Kii)2,
where the mechanical time constant and the rotor electrical time constant are, respectively,
(14)τm=JBv,τr=LrRr.Now, if the dynamics associated to the two current loops are neglected, because they are much faster than the rest, the following second order transfer function of the induction motor is obtained as follows:(15)ωm(s)Isq*(s)=KT/Bv(1+sτm)(1+sτr)e-τd,
where τd is the delay time of the induction motor.Taking into account the consideration to obtain (10) from (3), Figure 2, and also considering that the dynamics associated to the rotor electrical time constant is much faster than the mechanical time constant, then the electrical pole is neglected. Thus, the following first order transfer function of the induction motor is obtained
(16)ωm(s)Isq*(s)=KT/Bv(1+sτm)e-τd.The design of the GPC controller is carried out using the first order transfer function of the motor. As the GPC controller is defined in discrete time, the transfer function must be transformed into a discrete time transfer function. Then, using the ZOH (Zero-Order Hold) discretization method, it is obtained that(17)ωm(z-1)Isq*(z-1)=B(z-1)A(z-1)z-d=b0(1-az-1)z-d.Taking into account GPC theory and employing the CARIMA model [1], it is possible to obtain the following equation of the system, in which the output ωm is replaced by y, the input isq* is replaced by u, and white noise is included in the previous transfer function (17):
(18)A(z-1)y(t)=B(z-1)z-du(t-1)+C(z-1)ε(t)Δ,
where d is the delay time of the system and it is multiple of the sample time chosen, ε is the white noise with null average, Δ=1-z-1, and the C(z-1) is the noise polynomial that is chosen to be 1 for simplicity in this design [1].The GPC algorithm involves applying a control sequence that minimizes a multistage cost function of the form:(19)Jc=∑j=N1N2δ(j)[y^(t+j∣t)-w(t+j)]2+∑j=1Nuλ(j)[Δu(t+j-1)]2,
where y^(t+j∣t) is the predicted output j step ahead of actual time t, N1 is the minimum cost horizon, N2 is the maximum cost horizon, Nu is  the control horizon, δ(t) and λ(t) are the weighting sequences, and w(t+j) is the future reference trajectory. The GPC regulator design requires tuning the prediction horizons and the two weighting factors. If one takes into account the possibility that the plant has a delay time, then the minimum and maximum horizons are, respectively, N1=1+d and N2=N+d [1], where N is the prediction horizon. Since a high value for the control horizon produces an undesirable oscillation in the control signal [3, 4], which could cause the chattering phenomenon in the induction motor, then it is assumed that Nu=1.The prediction of the future output is as follows:(20)y^(t+j+d∣t)=Fj+d(z-1)y(t)+Ej+d(z-1)B(z-1)Δu(t+j-1),
where F(z-1) and E(z-1) polynomials are calculated by operating 1/A~(z-1)N2 times, where A~(z-1)=A(z-1)Δ, according to the following Diophantine identity:
(21)1=Ej(z-1)A~(z-1)+z-jFj(z-1).Taking into account that(22)Gj(z-1)=Ej(z-1)B(z-1)
the following set of j ahead optimal predictions for the system expressed in matrix form (23) can be obtained:
(23)y=Gu+F(z-1)y(t)+G′(z-1)Δu(t+j-1)=Gu+f,
where, for an N prediction horizon, one obtains the G matrix, which contains values of the step sequence of the plant (induction motor), with N×N dimension:
(24)G=[gN10⋯0gN1+1gN1⋱⋮⋮gN1+1⋱0gN2⋯⋯gN1]=[GN1(z-1)⋮⋮GN2(z-1)].Thus, from (22) and (24) we can see that the G matrix depends only on the process parameters, while the f term is the free response of the system, and it is easy to deduce that it is a vector of N elements:
(25)f=[FN1,0+FN1,1z-1⋮FN2,0+FN2,1z-1]y(t)f=+[gN1+1+gN1+2z-1+⋯+gN1+dz-(d-1)⋮gN2+1+gN2+2z-1+⋯+gN2+dz-(d-1)]Δu(t-1),f=[FN1(z-1)⋮FN2(z-1)]y(t)+[GN1′(z-1)⋮GN1′(z-1)]Δu(t-1).Assuming that theδ(t) control weighting sequence is constant and equal to 1, then the cost function (19) can be written in the following form:
(26)Jc=(Gu+f-w)T(Gu+f-w)+λuTu.The minimum of the cost function (26) when no constraints are considered can be calculated by equalling 0 the gradient of Jc, obtaining the following analytical expression:
(27)u=(GTG+λI)-1GT(w-f),
where u and w are two vectors of N elements:
(28)u=[Δu(t)⋮Δu(t+N-1)],w=[w(t+N1)⋮w(t+N2)].As the receding horizon strategy is used, the control signal applied to the process is obtained from the first element ofu, where the following expression must be employed:
(29)Δu(t)=K(w-f),
where K=[K1K2⋯KN], that is, the first row of the (GTG+λI)-1GT matrix in (27).Now replacing the variablesy(t) and u(t), by ωm* and isq*, respectively, it is obtained that
(30)Δisq*(t)=K(ωm*-f),
where finally the control law for the induction motor GPC speed regulation (31) is obtained, Figure 3 as follows:
(31)isq*(t)=K(ωm*-f)+isq*(t-1).Figure 3
Diagram of the induction motor speed control scheme using GPC linear regulator.The analytical solution of the cost function minimization is possible only if the control signal (31) is not restricted or limited [1]. As induction motors can support stator overcurrents up to 2.5 times the rated value in short periods, this GPC design does not need to limit the stator currents. That is, the isq* control signal is not limited, allowing the implementation of the more simple, low computational cost analytical solution. With regard to the isd* current, it is fixed to a value to produce the nominal rotor flux, Isd. Finally, the calculation of the K, G, F, and G′ parameters is carried out off-line, without using any identification algorithm, because the usual variation of the main parameters of the motor should be overcome in an effective form by the inherent robustness of any closed loop controller [22].


## 2.4. Regulator Tuning

### 2.4.1. PID and PI Controllers

The two current PI regulators use the same tuning values. The higher the bandwidth chosen for these controllers, the faster the current loops dynamics are. However, in practice, any real system’s bandwidth is limited physically. In the employed experimental platform (Section3.1), which uses the induction motor described in Table 1, this limit is located at 4000 rad/s; up to this value, the platform produces the undesirable chattering phenomenon and dangerous mechanical vibrations that can damage the machine.Table 1
Induction motor parameters (manufacturer).
Parameter
Symbol
Value
Stator resistance
R
s
0.81Ω
Rotor resistance
R
r
0.57Ω
Magnetizing inductance
L
m
0.117774 H
Stator inductance
L
s
0.120416 H
Rotor inductance
L
r
0.121498 H
Nominal rotor flux
ψ
r
1.01 Wb
Number of  poles
p
4
Nominal torque
T
N
49.3 N m
Moment of inertia
J
0.057 kg m2
Viscous friction coefficient
B
v
0.015 N m/(rad/s)
Temperature coeff. Al/Cu
α
0.0039 K−1As to the speed regulation, in the first case, a PID speed controller has been used to measure the delay time of the system. This PID speed regulator has also been designed in the frequency domain, using a bandwidth which is 10 times smaller than the PI current loop regulators [24]. Then, the optimal tuning of the PID speed regulator has been obtained taking into account this ratio of bandwidths and the physical limit of the experiment platform. Thus, the most efficient PID-PI (speed currents) controller system has been designed with the following parameter values: ωcω=300 rad/s with a margin phase of PMω=1.4311 rad (82°) and ωci=3000 rad/s with a margin phase of PMi=1.5707 rad (90°). The D action of the speed loop is added after PI is tuned, and a small value is enough to do faster the response but without any overshot, where Kd=0.02 and the PID-PI controller is obtained. The delay time measured in the experiment platform using this PID-PI speed regulator tuning is 700 μs, using the sample time of 100 μs, (Section 3.2).


### 2.4.2. SM Controller

A sliding-mode speed regulator for induction motor is also implemented in order to be compared with the proposed GPC regulator. This advanced speed regulator was presented by the authors in [7], where the parameters used in its design for the induction motor (Table 1) are obtained considering an uncertainty around 50% in the system parameters: a=0.3947, b=77.601, f=17.544*TL, k=400, γ=1.3, and ζ=2.5. This speed scheme uses the same two current PI regulators employed in GPC and PI speed schemes and detailed in the previous subsection.


### 2.4.3. GPC Controller

The tuning of the GPC regulator requires choosing the values of two horizons and two weighting factors. The control horizon,Nu, and the output error weighting factor, δ, both have been fixed to 1 (Section 2.1). The prediction horizon, N, determines the size of the G matrix and the f vector, and, as a consequence, the number of the GPC controller’s coefficients. A larger value for N increases the anticipative effect, involving a better control and performance of the system. However, this increases the number of the coefficients and the computational cost of the control law, which requires increasing the sample time. So N should be selected to ensure proper dynamic behaviour and low computational cost. In this design it has been set to 5. From Section 2.1, it is known that the minimum and maximum horizons take into account the delay time of the system, N1=1+d and N2=N+d. Considering two GPC speed regulator designs, D1 and D2, using sample times of 100 μs and 700 μs, respectively, and taking into account that the measured experimental delay time is 700 μs (Section 3.2), then the delay values are d=7 for D1 and d=1 for D2 (Table 2).Table 2
Several stable cases of GPC speed regulator designs.
GPC speed regulator design
D1 (efficient 1) Nominal mech. parameters  τm = 3.8 s  Ts= 100 µs, N = 5,  d = 7,  N1 = 8, N2 = 12, Nu = 1, λ=0.17   GMω = 15 dB, PMω = 8°
D2 (efficient 2) Nominal mech. parameters  τm = 1.9 s (J = 0.0285 kgm2)  Ts = 700 µs, N = 5, d= 1,  N1 = 2, N2 = 6, Nu= 1, λ=1   GMω = 12 dB, PMω = 35°
U1 IM: τm higher  τm = 7.6 s (J = 0.114 kgm2)  GMω = 25 dB, PMω = 5°
U1 IM: τm higher  τm = 3.8 s (J = 0.057 kgm2)  GMω = 25 dB, PMω = 25°
U2 IM: τm smaller  τm = 0.38 s (Bv = 0.15 Nms)  GMω = 15 dB, PMω = 9°
U2 IM: τm smaller  τm = 0.19 s (Bv = 0.15 Nms)  GMω = 12dB,PMω = 35°
PI currents regulators design
Stator nominal electr. parametersτs = 0.1487 s (T = 20°C) Ts = 100 µs, ωci = 3000 rad/s  PMi = 1.5707 (90°)
Us1:τs higher  τs = 0.1612 s (T = 0°C) PMi = 90°
Us2:τs smaller τs = 0.1040 s (T = 130°C) PMi = 90°The control weighting factor,λ, has a direct impact on the response of the controlled system. Hence, the higher its value, the slower the resulting controlled system. On the other hand, if its value is too small, it can produce the chattering phenomenon that can damage the motor in a real case. Then, it is desirable to find a value for λ to provide an effective response of the controlled system. Taking into account the recommendation in [15], an easy way to obtain an effective and stable value for λ factor is applying the following empirical expression:
(32)λopt=mtrace(GTG),
where m takes a value inversely proportional to the sample time. For D1 design the m parameter results in a value of 60, and for D2, m equals 2 (tens for 100 μs, units for 700 μs).


## 2.4.1. PID and PI Controllers

The two current PI regulators use the same tuning values. The higher the bandwidth chosen for these controllers, the faster the current loops dynamics are. However, in practice, any real system’s bandwidth is limited physically. In the employed experimental platform (Section3.1), which uses the induction motor described in Table 1, this limit is located at 4000 rad/s; up to this value, the platform produces the undesirable chattering phenomenon and dangerous mechanical vibrations that can damage the machine.Table 1
Induction motor parameters (manufacturer).
Parameter
Symbol
Value
Stator resistance
R
s
0.81Ω
Rotor resistance
R
r
0.57Ω
Magnetizing inductance
L
m
0.117774 H
Stator inductance
L
s
0.120416 H
Rotor inductance
L
r
0.121498 H
Nominal rotor flux
ψ
r
1.01 Wb
Number of  poles
p
4
Nominal torque
T
N
49.3 N m
Moment of inertia
J
0.057 kg m2
Viscous friction coefficient
B
v
0.015 N m/(rad/s)
Temperature coeff. Al/Cu
α
0.0039 K−1As to the speed regulation, in the first case, a PID speed controller has been used to measure the delay time of the system. This PID speed regulator has also been designed in the frequency domain, using a bandwidth which is 10 times smaller than the PI current loop regulators [24]. Then, the optimal tuning of the PID speed regulator has been obtained taking into account this ratio of bandwidths and the physical limit of the experiment platform. Thus, the most efficient PID-PI (speed currents) controller system has been designed with the following parameter values: ωcω=300 rad/s with a margin phase of PMω=1.4311 rad (82°) and ωci=3000 rad/s with a margin phase of PMi=1.5707 rad (90°). The D action of the speed loop is added after PI is tuned, and a small value is enough to do faster the response but without any overshot, where Kd=0.02 and the PID-PI controller is obtained. The delay time measured in the experiment platform using this PID-PI speed regulator tuning is 700 μs, using the sample time of 100 μs, (Section 3.2).


## 2.4.2. SM Controller

A sliding-mode speed regulator for induction motor is also implemented in order to be compared with the proposed GPC regulator. This advanced speed regulator was presented by the authors in [7], where the parameters used in its design for the induction motor (Table 1) are obtained considering an uncertainty around 50% in the system parameters: a=0.3947, b=77.601, f=17.544*TL, k=400, γ=1.3, and ζ=2.5. This speed scheme uses the same two current PI regulators employed in GPC and PI speed schemes and detailed in the previous subsection.


## 2.4.3. GPC Controller

The tuning of the GPC regulator requires choosing the values of two horizons and two weighting factors. The control horizon,Nu, and the output error weighting factor, δ, both have been fixed to 1 (Section 2.1). The prediction horizon, N, determines the size of the G matrix and the f vector, and, as a consequence, the number of the GPC controller’s coefficients. A larger value for N increases the anticipative effect, involving a better control and performance of the system. However, this increases the number of the coefficients and the computational cost of the control law, which requires increasing the sample time. So N should be selected to ensure proper dynamic behaviour and low computational cost. In this design it has been set to 5. From Section 2.1, it is known that the minimum and maximum horizons take into account the delay time of the system, N1=1+d and N2=N+d. Considering two GPC speed regulator designs, D1 and D2, using sample times of 100 μs and 700 μs, respectively, and taking into account that the measured experimental delay time is 700 μs (Section 3.2), then the delay values are d=7 for D1 and d=1 for D2 (Table 2).Table 2
Several stable cases of GPC speed regulator designs.
GPC speed regulator design
D1 (efficient 1) Nominal mech. parameters  τm = 3.8 s  Ts= 100 µs, N = 5,  d = 7,  N1 = 8, N2 = 12, Nu = 1, λ=0.17   GMω = 15 dB, PMω = 8°
D2 (efficient 2) Nominal mech. parameters  τm = 1.9 s (J = 0.0285 kgm2)  Ts = 700 µs, N = 5, d= 1,  N1 = 2, N2 = 6, Nu= 1, λ=1   GMω = 12 dB, PMω = 35°
U1 IM: τm higher  τm = 7.6 s (J = 0.114 kgm2)  GMω = 25 dB, PMω = 5°
U1 IM: τm higher  τm = 3.8 s (J = 0.057 kgm2)  GMω = 25 dB, PMω = 25°
U2 IM: τm smaller  τm = 0.38 s (Bv = 0.15 Nms)  GMω = 15 dB, PMω = 9°
U2 IM: τm smaller  τm = 0.19 s (Bv = 0.15 Nms)  GMω = 12dB,PMω = 35°
PI currents regulators design
Stator nominal electr. parametersτs = 0.1487 s (T = 20°C) Ts = 100 µs, ωci = 3000 rad/s  PMi = 1.5707 (90°)
Us1:τs higher  τs = 0.1612 s (T = 0°C) PMi = 90°
Us2:τs smaller τs = 0.1040 s (T = 130°C) PMi = 90°The control weighting factor,λ, has a direct impact on the response of the controlled system. Hence, the higher its value, the slower the resulting controlled system. On the other hand, if its value is too small, it can produce the chattering phenomenon that can damage the motor in a real case. Then, it is desirable to find a value for λ to provide an effective response of the controlled system. Taking into account the recommendation in [15], an easy way to obtain an effective and stable value for λ factor is applying the following empirical expression:
(32)λopt=mtrace(GTG),
where m takes a value inversely proportional to the sample time. For D1 design the m parameter results in a value of 60, and for D2, m equals 2 (tens for 100 μs, units for 700 μs).


## 2.5. Robust Stability Analysis

The closed loop stability of the motord-q currents with the PI controllers is guaranteed if the PMi phase margins are positive and sufficiently high. As to the speed loop, the stability of the controlled system is analysed using the classic RST poles placement scheme [25], where the control law is obtained as
(33)isq*(t)=1r0[R′(z-1)T(z-1)ωm*(t)T000000-S(z-1)ωm(t)-isq*(t-1)R′(z-1)].In this sense, it is necessary to translate the GPC controlled system parameters to its equivalent RST controlled system parameters [1], to check the stability of the system. Identifying the terms between (31) and (33), we can obtain the general expression of equivalence in both RST and GPC algorithms for any first order plant with delay time:
(34)R(z-1)=r0+r1z-1+⋯+rd+1z-(d+1)=r0+z-1R′(z-1),S(z-1)=s0+s1z-1,T(z-1)=t0z-N1+t1z-(N1+1)+⋯+tN-1z-N2,(35)r0=1,r1=K[gN1+1⋯gN2+1]T-1,r2=K([gN1+2⋯gN2+2]T-[gN1+1⋯gN2+1]T),rd=K([gN1+d⋯gN2+d]T-[gN1+d-1⋯gN2+d-1]T),rd+1=-K[gN1+d⋯gN2+d]T,s0=K[FN1,0⋯FN2,0]T,s1=K[FN1,1⋯FN2,1]T,t0=K1,t1=K2,⋮tN-1=KN,
where it should be noted that the polynomial T multiplies the future references vector (33). Thus, the controller should be designed so that the controlled system presents all the poles inside the unit circle. In order to achieve this a graphical representation (Nichols chart) of the open loop system is more appropriate as GMω gain margin and PMω phase margin can be observed.The robust stability is analysed taking into account the parametric uncertainties of the induction motor in two limit real cases of each control loop detailed in Table2. These limits are used to determine the robustness of the speed and current regulators, as these limits are both critical in real cases. Hence, as the controller is lineal, any uncertainty case located into the defined limits has the stability guaranteed.First, the following two uncertainty cases for the limits of robustness, related with the mechanical parameters of the induction motor, are considered in the proposed GPC. The U1 takesJ a 100% higher, and the U2 that considers Bv 10 times higher, increasing 2 times and reducing 10 times, respectively, the τm mechanical time constant of the machine. The D1 and D2 designs are presented for the speed GPC regulator. The D1 uses a sample time of 100 μs and nominal J of 0.057 kg m2, and D2, a sample time of 700 μs and a nominal J of 0.0285 kg m2. On the other hand, another two limit cases are considered for the PI current controllers, which are related with the stator windings resistances (Rs) modified by their temperature. Us1 determines the uncertainty when the temperature of the windings is 0°C (before starting in a cold place), and Us2 considers the heating case of the stator windings when the induction motor is working at rating power for half an hour or more, where the stator windings are around 130°C. As it is known, the temperature variation produces the proportional increase of the stator windings resistance:
(36)Rf=R0(1+α(Tf-T0))
and the proportional decrease of the τs stator electrical time constant:
(37)τs=LsRs.Table2 shows the two efficient designs for the GPC speed regulator, D1 and D2, taking into account different nominal moments of inertia of the induction motor and sample times in each case. The two uncertainties cases, U1 and U2, have been based in the D1 and D2 designs, but even so, the stability of the controlled system is guaranteed observing the gain and phase margins obtained from Figure 4. In Table 2, the efficient design for the two PI current controllers is detailed, with Us1 and Us2 uncertainties cases. Figure 5 shows that the temperature variations in the stator windings practically have not any effect.Figure 4
Nichols diagram of the GPC and PID speed loops.Figure 5
Nichols diagram of the PI current loops.


## 3. Simulation and Experimental Results

### 3.1. Experiment Platform

The employed platform is composed by a PC withMatLab7/Simulink R2007a, dsControl 3.2.1, and theDS1103 Controller Board real time interface of dSpace, with a floating point PowerPC processor to 1 GHz; and a set of electric machines that includes a M2AA 132M4ABB commercial induction motor of 7.5 kW of die-cast aluminium squirrel-cage type (1445 rpm), Table 1, connected to a DC bus of 540 V by VSI inverter, and a 190U2 Unimotor synchronous AC servo in motor of 10.6 kW to generate the load torque (controlled in torque), presented in [15]. An incremental encoder of 4096 pulses is employed to measure the mechanical speed of the induction motor. The rotor flux of the induction motor has been set to its nominal value of 1.01 Wb, keeping the flux current command isq*, that is, Isd, to a constant value of 8.61 A. Finally, as the SVPWM modulator frequency is fixed at 10 kHz, then the sample time employed for the PI current controllers is 100 μs.


### 3.2. Speed Tracking

Using D1 design for the GPC controller, simulation and experimental tests are carried out with a trapezoidal speed reference of 1445 rpm and 0.33 Hz, adding an square form load torque of 30 Nm (starting from the second period of the speed reference).Results are shown in Figure6, where very satisfactory speed tracking can be observed, obtaining a stationary speed error of about 2 rpm (0.138%) in the experimental case, both without and with load torque. In addition, the electromagnetic torque does not present any aggressiveness, and consequently it will not generate the undesirable chattering phenomenon, as seen in the third graph. Moreover, around t=4s and t=5.5s, the motor is working at nominal speed and torque (Table 2), obtaining an excellent speed tracking. Considering the electromagnetic torque reference current, isq*, it should be noted that it is not limited, which justifies the employed analytical. Moreover, it can be seen that the rotor flux current, isd, takes the value imposed by its reference in accordance with the previous assumption of the theoretical section (see Section 2.3), and consequently that the rotor flux remains constant at its nominal value for a short time after it is requested, verifying the decoupling of its components. The great similarity between the simulation and the experimental tests validates the presented GPC speed regulator, and they show that the choice of the first order model for the induction motor is correct.Simulation and real tests of the GPC-PI model with D1 design with unknown load torque.
(a)
(b)
(c)
(d)
(e)
(f)
(g)Figure7 shows the speed response and the electromagnetic torque reference current for D1 of GPC speed controller and PID speed regulator cases. It can be observed that the PI regulator has a delay of 700 μs (d=7) and that the GPC controller generates the control signal 12 sample times (N2) before the speed reference, compensating for the delay time of the system and anticipating 5 steps (N) the reaction of the speed response.Comparative experimental tests: speed responses (a) and torque reference currents (b) of GPC D1 controller versus PI regulator.
(a)
(b)In Figure8 the performance comparison between the regulator proposed in this paper, GPC1, and a previously proposed GPC one [15] based on a second order transfer function (15), GPC2, can be observed. The tests are based on a 1200 rpm and 0.75 Hz a saw-toothed speed reference and an unknown load torque of 25 Nm starting from 1.65 s. Comparing the two speed responses, it is possible to appreciate that the proposed GPC speed regulator (GPC1) is better than the previous version (GPC2), because the speed response is similar but is less oscillatory.Figure 8
Comparative experimental tests: speed responses of GPC1 D1 controller versus GPC2 D1 regulator.Figure9 compares the GPC1, SM, PI, and PID speed regulators, in the same test conditions as in the previous case. Comparing the responses of the GPC1 and SM regulators, it can be observed that the predictive response is a little faster than sliding modes’ response. Moreover, the effect of the load torque in the GPC1 case is minor than the SM case, which demonstrates the robustness of the approach when varying load torques are applied. In addition, it can be seen that the PID is faster than PI due to derivative effect. Also, it can be observed that the GPC1 regulator’s response is considerably faster than PID’s response.Figure 9
Comparative experimental tests: speed responses of GPC1 D1, SM, PI, and PID speed regulators.Figures10 and 11 show the comparative experimental tests of the GPC1, SM, and PID speed regulators using constant acceleration and variable acceleration cases, respectively. Figure 10 shows that the speed tracking without any load torque (between 0 and 2.25 s) is very similar for the three regulators though it can be observed that the speed error is about 2 rpm for GPC while its magnitude is increased to 4 and 5 rpm in the SM and PID cases. When the load torque is considered, the speed tracking is considerably worse for SM and PID cases, while the GPC maintains a good speed tracking (fourth graph (a)). Moreover, GPC regulator supports better than the SM and PID controllers the load torque changes (fourth graph on the right (b)). Figure 11 shows that the speed tracking without any load torque (between 0 and 2.25 s) is similar for the three regulators although the speed error is 2 rpm for GPC while it increases to 4 an 5 rpm in the SM cases, and about 8 rpm in the PID case. Moreover, the GPC regulator provides a faster response in the initial half period (fourth graph on the left (a)). When the load torque appears, the speed tracking is considerably worse for PID case, while the GPC and SM maintain a good speed tracking (fourth graph on the right (b)), though the GPC response is a little faster than sliding mode’s response.Figure 10
Comparative experimental tests: speed responses of GPC1 D1, SM, PI, and PID speed regulators for constant acceleration case.Figure 11
Comparative experimental tests: speed responses of GPC1 D1, SM, PI, and PID speed regulators for variable acceleration case.Therefore, the use of the first order transfer function model is justified because the first order model simplifies the computational cost and the controlled performance contains less oscillations than the second order case.


### 3.3. Load Disturbance, Uncertainties, and Measurement Noise Rejection

One of the issues that usually exists in real applications is load disturbance, and, in the previous tests, the proposed GPC speed controller has demonstrated its performance even in presence of this effect. Moreover, parametric uncertainties that is, the change of values in the induction motor parameters can arise. These have been considered as U1 and U2 in Table2. Finally, the measurement noise in the two loop signals, in the rotor speed, and in the stator current has a negative impact on the controllers.In this sense, the graphs of Figure12 show the simulation and real tests, using a 1200 rpm and 0.33 Hz trapezoidal speed reference and an unknown square form load disturbance of 30 Nm. The GPC speed regulator is designed taking into account the nominal parameters of the motor, D2 design (Table 2). In the simulation case the induction motor has the nominal values in its parameters, and the unknown load disturbance in its shaft only is considered. In the experimental case, an additional, software based, measurement white noise is induced in the two feedback signals, ωm and iA (using MatLab/dSControl). In this way, robustness against measurement noises is demonstrated. Additionally, in this case parameter uncertainties and load disturbances are introduced, this is, a greater stator (Cu) resistance, at 130°C and a 100% greater moment of inertia, Us2 and U2 cases for D2 design in Table 2. Observing the graphs of Figure 10, it can be seen that the motor response is very good in spite of all the adversities, and a satisfactory speed tracking is achieved. The electromagnetic torque manifests some activity due to the sensor noises, but not due to the controller action, as observed in the simulation test in the second graph. As to real computational cost of the GPC-PI controller, as the calculation of the parameters K, G, F, and G′ is realized offline, its value is the same as the PI-PI controller: 10 μs employing a PowerPC processor at 1 GHz.Figure 12
Simulation and real tests of the proposed GPC (D2 design) speed regulator with high-level noise in the two feedback loops and unknown load torque.


## 3.1. Experiment Platform

The employed platform is composed by a PC withMatLab7/Simulink R2007a, dsControl 3.2.1, and theDS1103 Controller Board real time interface of dSpace, with a floating point PowerPC processor to 1 GHz; and a set of electric machines that includes a M2AA 132M4ABB commercial induction motor of 7.5 kW of die-cast aluminium squirrel-cage type (1445 rpm), Table 1, connected to a DC bus of 540 V by VSI inverter, and a 190U2 Unimotor synchronous AC servo in motor of 10.6 kW to generate the load torque (controlled in torque), presented in [15]. An incremental encoder of 4096 pulses is employed to measure the mechanical speed of the induction motor. The rotor flux of the induction motor has been set to its nominal value of 1.01 Wb, keeping the flux current command isq*, that is, Isd, to a constant value of 8.61 A. Finally, as the SVPWM modulator frequency is fixed at 10 kHz, then the sample time employed for the PI current controllers is 100 μs.


## 3.2. Speed Tracking

Using D1 design for the GPC controller, simulation and experimental tests are carried out with a trapezoidal speed reference of 1445 rpm and 0.33 Hz, adding an square form load torque of 30 Nm (starting from the second period of the speed reference).Results are shown in Figure6, where very satisfactory speed tracking can be observed, obtaining a stationary speed error of about 2 rpm (0.138%) in the experimental case, both without and with load torque. In addition, the electromagnetic torque does not present any aggressiveness, and consequently it will not generate the undesirable chattering phenomenon, as seen in the third graph. Moreover, around t=4s and t=5.5s, the motor is working at nominal speed and torque (Table 2), obtaining an excellent speed tracking. Considering the electromagnetic torque reference current, isq*, it should be noted that it is not limited, which justifies the employed analytical. Moreover, it can be seen that the rotor flux current, isd, takes the value imposed by its reference in accordance with the previous assumption of the theoretical section (see Section 2.3), and consequently that the rotor flux remains constant at its nominal value for a short time after it is requested, verifying the decoupling of its components. The great similarity between the simulation and the experimental tests validates the presented GPC speed regulator, and they show that the choice of the first order model for the induction motor is correct.Simulation and real tests of the GPC-PI model with D1 design with unknown load torque.
(a)
(b)
(c)
(d)
(e)
(f)
(g)Figure7 shows the speed response and the electromagnetic torque reference current for D1 of GPC speed controller and PID speed regulator cases. It can be observed that the PI regulator has a delay of 700 μs (d=7) and that the GPC controller generates the control signal 12 sample times (N2) before the speed reference, compensating for the delay time of the system and anticipating 5 steps (N) the reaction of the speed response.Comparative experimental tests: speed responses (a) and torque reference currents (b) of GPC D1 controller versus PI regulator.
(a)
(b)In Figure8 the performance comparison between the regulator proposed in this paper, GPC1, and a previously proposed GPC one [15] based on a second order transfer function (15), GPC2, can be observed. The tests are based on a 1200 rpm and 0.75 Hz a saw-toothed speed reference and an unknown load torque of 25 Nm starting from 1.65 s. Comparing the two speed responses, it is possible to appreciate that the proposed GPC speed regulator (GPC1) is better than the previous version (GPC2), because the speed response is similar but is less oscillatory.Figure 8
Comparative experimental tests: speed responses of GPC1 D1 controller versus GPC2 D1 regulator.Figure9 compares the GPC1, SM, PI, and PID speed regulators, in the same test conditions as in the previous case. Comparing the responses of the GPC1 and SM regulators, it can be observed that the predictive response is a little faster than sliding modes’ response. Moreover, the effect of the load torque in the GPC1 case is minor than the SM case, which demonstrates the robustness of the approach when varying load torques are applied. In addition, it can be seen that the PID is faster than PI due to derivative effect. Also, it can be observed that the GPC1 regulator’s response is considerably faster than PID’s response.Figure 9
Comparative experimental tests: speed responses of GPC1 D1, SM, PI, and PID speed regulators.Figures10 and 11 show the comparative experimental tests of the GPC1, SM, and PID speed regulators using constant acceleration and variable acceleration cases, respectively. Figure 10 shows that the speed tracking without any load torque (between 0 and 2.25 s) is very similar for the three regulators though it can be observed that the speed error is about 2 rpm for GPC while its magnitude is increased to 4 and 5 rpm in the SM and PID cases. When the load torque is considered, the speed tracking is considerably worse for SM and PID cases, while the GPC maintains a good speed tracking (fourth graph (a)). Moreover, GPC regulator supports better than the SM and PID controllers the load torque changes (fourth graph on the right (b)). Figure 11 shows that the speed tracking without any load torque (between 0 and 2.25 s) is similar for the three regulators although the speed error is 2 rpm for GPC while it increases to 4 an 5 rpm in the SM cases, and about 8 rpm in the PID case. Moreover, the GPC regulator provides a faster response in the initial half period (fourth graph on the left (a)). When the load torque appears, the speed tracking is considerably worse for PID case, while the GPC and SM maintain a good speed tracking (fourth graph on the right (b)), though the GPC response is a little faster than sliding mode’s response.Figure 10
Comparative experimental tests: speed responses of GPC1 D1, SM, PI, and PID speed regulators for constant acceleration case.Figure 11
Comparative experimental tests: speed responses of GPC1 D1, SM, PI, and PID speed regulators for variable acceleration case.Therefore, the use of the first order transfer function model is justified because the first order model simplifies the computational cost and the controlled performance contains less oscillations than the second order case.


## 3.3. Load Disturbance, Uncertainties, and Measurement Noise Rejection

One of the issues that usually exists in real applications is load disturbance, and, in the previous tests, the proposed GPC speed controller has demonstrated its performance even in presence of this effect. Moreover, parametric uncertainties that is, the change of values in the induction motor parameters can arise. These have been considered as U1 and U2 in Table2. Finally, the measurement noise in the two loop signals, in the rotor speed, and in the stator current has a negative impact on the controllers.In this sense, the graphs of Figure12 show the simulation and real tests, using a 1200 rpm and 0.33 Hz trapezoidal speed reference and an unknown square form load disturbance of 30 Nm. The GPC speed regulator is designed taking into account the nominal parameters of the motor, D2 design (Table 2). In the simulation case the induction motor has the nominal values in its parameters, and the unknown load disturbance in its shaft only is considered. In the experimental case, an additional, software based, measurement white noise is induced in the two feedback signals, ωm and iA (using MatLab/dSControl). In this way, robustness against measurement noises is demonstrated. Additionally, in this case parameter uncertainties and load disturbances are introduced, this is, a greater stator (Cu) resistance, at 130°C and a 100% greater moment of inertia, Us2 and U2 cases for D2 design in Table 2. Observing the graphs of Figure 10, it can be seen that the motor response is very good in spite of all the adversities, and a satisfactory speed tracking is achieved. The electromagnetic torque manifests some activity due to the sensor noises, but not due to the controller action, as observed in the simulation test in the second graph. As to real computational cost of the GPC-PI controller, as the calculation of the parameters K, G, F, and G′ is realized offline, its value is the same as the PI-PI controller: 10 μs employing a PowerPC processor at 1 GHz.Figure 12
Simulation and real tests of the proposed GPC (D2 design) speed regulator with high-level noise in the two feedback loops and unknown load torque.


## 4. Conclusions

The contribution of this work consists of the combination of the GPC algorithm in the speed loop with a PI based control in the current loops, using an easy and effective design, where the robust stability is demonstrated for typical induction motors’ parametric uncertainties. The GPC speed controller design is based on the first order model of the induction motor with a delay time, which is compensated. This regulator design is simpler to implement than other predictive proposed schemes, as neither constraints nor robustness terms have been taken into account.The proposed controller has been tested using various simulation and experimental tests in the presence of the parametric uncertainties, unknown load disturbance, and measurement noise in the loop signals: the rotor speed and the stator current. The experiment demonstrates the effectiveness of the approach. Moreover, the presented results also show that the GPC speed regulator is considerably faster than the classic PID and slightly faster than the advanced SM speed controller, using the same computational cost. This work demonstrates that the GPC-PI controller is an effective speed control algorithm, in both adverse and acceptable conditions, its robustness is clearly shown, the proposed control scheme is also easy to tune and to implement in a real system, and therefore it can be used in industrial applications.



---

*Source: 913458-2013-12-15.xml*