Sequential MPC Strategy for High Performance Induction Motor Drives: a detailed analysis

The paper deals with a newly developed sequential model predictive control strategy for the high-performance control of electric drives. The sequential nature of cost function evaluation allows to eliminate weighting factors whose tuning is not straightforward. In the first cost function evaluation, torque (or flux) error is minimized and, the second evaluation minimizes the flux (or torque) error. The first optimization generates two optimal voltage vectors that give minimum error for the controlled variable and the second optimization tests only the selected two vectors to find the global optimal. In this paper, a detailed analysis of the sequential MPC is carried out with a focus on the inversion of sequence of optimization with respect to the original algorithm. The paper also analyses the effect of selecting more than two vectors from the first evaluation and explains to the reader why some numbers of selected vectors produce flux and torque distortions while others do not control flux and torque at all


INTRODUCTION
The induction motor is one of the most used machines in industrial applications, thanks to its high reliability, low cost and robustness. The strategies that are most used in AC motor drives are Field Oriented Control (FOC) and Direct Torque Control (DTC). In recent years, thanks to the significantly higher microcontroller computational power, it has been possible to implement new control strategies including the Model Predictive Control (MPC).
Until now, the Finite Control Set Model Predictive Control (FCS-MPC) of torque and flux of AC machines has been implemented using a single cost function and using a weighting factor to give importance to the minimization of torque or flux error [1][2][3]. The calculation of the weighting factor is one of the main problems in this control strategy, and in most cases, it is obtained through iterative processes that are not accepted by many users [4]- [5]- [6].
One of the proposed solutions for predictive torque and flux control for AC machine that does not use weighting factors is the Sequential Model Predictive Control (SMPC) [3], based on a two-stage sequential structure with a single cost function for each stage. For this strategy, the first stage controls the torque and the second stage controls the flux. In the SMPC strategy [3], the first cost function is evaluated for all seven available voltage vectors, then the two voltage vectors that generate the smallest torque error are selected for the evaluation of the flux error.
Finally, between the available two voltage vectors, the voltage vector that minimizes the flux error is selected as global optimal and applied through the inverter.
In this paper, a new control strategy called SMPC-FT is analyzed (FT stands for Flux-Torque). For this strategy, the evaluation of the cost functions is carried out in an inverse way compared to [3]. With SMPC-FT strategy the first cost function is evaluated for all seven voltage vectors available, then the two or more voltage vectors that generate the smallest flux error are selected for the evaluation of the torque error. Among the two (or more) voltage vectors available, a voltage vector that minimizes the torque error is selected.
This means that ideally there are seven SMPC-FT strategies that can be distinguished from the number of vectors used for the second minimization. To identify them, a number from one to seven will be used at the end of the name.
For these strategies, the following figures of merit are analyzed: • The drive's dynamic response at speed step and load step.
• Response to a simultaneous load and stator flux step.
The first ones have been performed with the aim of obtaining comparative results with what is reported in [3], while the latter to analyses the functioning of the control strategy when an MTPA strategy is used.
In this paper, simulation results are presented to briefly comment on [3] and to give the reader a detailed insight into the workings of this strategy while, at the same time, to explain why more than two vectors selected from the first evaluation does not produce desired results.
The other goal of this work is to propose a reverse evaluation sequence in which flux error minimization is given precedence (evaluated first) over torque error which is beneficial when in flux-weakening region of operation.
The paper also explains to the reader why it is still possible to control the machine if, in the reverse sequence, more than two vectors are selected from the first cost function evaluation.

A. Inverter model
The simulated inverter is a 2-level Voltage Source Inverter (2L-VSI) with ideal switches and with a DC-link of 520V. As regards the inverter circuit and the vectors that can be generated, it is possible to refer to [7].

B. Induction machine
The dynamic equation of IM in stationary frame (α, β) are: where v, i and λ are voltage, current and flux vectors with subscript 's' and 'r' denoting stator and rotor, respectively. T and TL are the motor and load torque; p=2 is the number of pole-pairs and Jm=0.062 kg.m 2 is the moment of inertia of the machine.
It is important to note that bold typeface is used for vector quantities and "j" is a complex operator.

III. THE CONTROL STRATEGY SMPC-FT
For the implementation of SMPC-FT, the stator flux and stator current must be predicted, then from these two quantities it is possible to predict the torque that will be supplied by the machine.
It is important to compensate for the digital delay [8], this means that , and must be calculated for the future instant k+2. For the implementation of this strategy a flux observer [9] was used; from it for every instant, exploiting the properties of the discrete integral, two information are available, and they are: • which is a predicted stator flux for the future instant k+1, in particular it is the output of the backemf integrator at the present sample k; • which is the stator flux at the previous instant k, kept in memory.
The first information of the flux observer is used for the prediction of the current and stator flux at the instant k+2, while the second information is just used for the prediction of the stator current at the instant k+1. For prediction of stator current the state equation (7) is used.
) is a leakage factor and = ⁄ is the rotor time constant. This equation can be obtained starting from (1), using (3) and (4). Using the Euler discretization and based on the measured current, of the voltage vector applied at the instant k and , it is possible to calculate the current at the instant k + 1 as below: In the same way it is possible to obtain , using the results of equations (8) and the flux observed at the current time k that is . The stator flux prediction at the instant k+2 is obtained by the forward Euler discretization of the equation (1), using the stator current . The equations used are: From the prediction of the current and flux at instant k+2, it is possible to calculate the torque, at instant k+2 ( ), using the equation (5). The block diagram for SMPC-FT control strategies is presented in Fig. 1. The two cost functions used for evaluating torque and flux error are (11) and (12).
where: | * | is the stator flux reference amplitude, It is important to note that the number of voltage vectors selected for the evaluation of the torque cost function depends on the type of SMPC-FT strategy used.  Table I shows all the possible SMPC-FT strategies that have been analyzed, however, the strategy SMPC-FT7 has not been analyzed because with this strategy only the torque error would be minimized, neglecting the minimization of the flux error.
For the same reason the SMPC-FT1 was not analyzed, in this case the torque error is not minimized. All the strategies have been simulated.
IV. RESULTS Table II shows the principal control parameters. For all the SMPC-FT strategies, shown in Table I, the response to a speed step and a load step was tested. In all the following figures, at 0.2 seconds a step speed reference (ω * ) was imposed equal to 100 rad/s, while at 0.6s a load step of 40Nm was applied. From 0s to 0.2s the machine is fluxing at (| * | = 0.8Vs) because otherwise the induction machine is not able to give a torque, and the torque reference is forced to zero during fluxing period. The SMPC-FT2 and SMPC-FT3 strategies are analyzed in detail below. Table III shows the principals setup parameters and Fig. 2 shows the setup used in this work.

A. Analysis and results obtained from the SMPC-FT2 strategy
With the SMPC-FT2 strategy at each control step to evaluate , and are calculated, for all the seven voltage vectors available. In particular, at the first control step, all the vectors different from zero allow to obtain the same flux error, i.e. all give the same flux amplitude, while the vector is excluded because it is not able to flux the machine consequently generates a greater than all the others.
Therefore, from the first minimization the two selected vectors are and , but only because the evaluation of is made in sequential way starting from the voltage vector with lower index. and are then used for the evaluation of the torque error but at the first control step the current is zero and therefore both vectors return = 0 and therefore also = 0.
In conclusion to the first control step the vector is applied to the machine and in this case the selection of instead of depends only on the implementation. Fig. 3 and Fig. 4 show how the application of causes the increment of flux and current in the α-axis.
From the second control step it is possible to demonstrate, using equations (9) and (10) for calculating the flux amplitude, that is the vector that reduces the flux error more quickly, while and are the two possible second choices.
In other words, and give the same increment of flux amplitude |∆ | , but less than the increment |∆ | generated by .
As long as the flux error between reference flux (| * |) and predicted flux ( ) is less than |∆ | , the two vectors selected by the minimization of are always and ; they are also used for the minimization of the torque error, but is always excluded because it would cause ≠ 0 and therefore a greater .
As soon as the flux error between (| * |) and ( ) becomes lower than |∆ | the two vectors selected by the flux error minimization are and , in fact they allow to have a lower flux error.
The problem is that both these vectors if applied to the machine cause ≠ 0. In other words, they are not able to respect the torque reference during the fluxing phase.
Consequently, as it is possible to observe from the Fig. 5 and Fig. 6, during the fluxing phase of the machine, torque and therefore speed noise are present.
The same analyses can be made from 0.2s onwards when the torque reference is different from zero, and it is possible to conclude that using for the minimization of the torque error only the two vectors that generate the smallest flux error does not allow to deliver the desired torque, in fact the vectors strictly necessary for the minimization of flux error are selected.
For example, after 0.2s when * ≠ 0, as soon as the flux exceeds the reference to allow the reduction of and a non-zero vector are selected This non-zero vector selected generates a component of flux in phase opposition and it is systematically excluded by the torque minimization, because it would increase , so the selected vector is for more than one control step not allowing torque delivery, as is possible to observe from the Fig. 4.   Thanks to the possibility to choose also , for the minimization of , all the problems during the fluxing of the machine are avoided, this means that there is no torque and speed noise and indeed = 0 as can be seen from the Fig. 7, Fig. 8 and Fig. 9.
So, whenever the flux error is less than |∆ | , the vector is applied, causing a flux reduction.
Consequently the flux error between (| * |) and ( ) becomes higher than |∆ | , allowing the application of in the subsequent control steps and avoiding all the problems of torque noise. With SMPC-FT3 there is the possibility to choose intermediate voltage vector that allows to deliver torque but at the same time able to support the stator flux even if with a greater error as can be seen from Fig. 10. Therefore, it is possible to conclude that the increase of vectors available for the evaluation of torque error allows this control strategy to work in the correct way.
C. Comparison with the results obtained using the strategy proposed in [3] In Fig. 11 and Fig. 12 are shown the results in terms of torque and stator flux obtained using the strategy [3], when: • between 0s and 0.2s the machine is fluxed to 0.8 Vs., • at 0.2s a speed step equal to 100 rad/s is imposed, • and at 0.6s a load step equal to 40Nm is required.
The sequence of commands listed is exactly the one used in the SMPC-FT2 and SMPC-FT3 strategies.
Comparing the results shown below with those obtained with the SMPC-FT3 strategy, it is possible to state that the two strategies are equivalent. However, selecting more than two vectors for SMPC-TF [3] produces torque and flux distortions and the underlying phenomenon.

V. CONCLUSIONS
This paper analyses a new control technique applied to an induction motor based on the Model Predictive Control, which can be used in high-performance electric drives. The control technique is called SMPC-FT and represents a group of possible strategies. This group of strategies performs a sequential evaluation of the cost functions associated with the torque and flux errors. By using these strategies, it is possible to avoid all the problems present in the defining the weights typical for a single cost function MPC.
The results for some possible SMPC strategies with normal sequence optimization and reverse sequence optimization was reported. Fig. 11. Torque delivered by the machine, reference torque and required load torque.