A Constrained Non-Linear Model Predictive Controller for the Rotor Flux-Oriented Control of an Induction Motor Drive

: Predictive controllers have been extensively studied and applied to electrical drives, mainly because they provide fast dynamic responses and are suitable for multi-variable control and non-linear systems. Many approaches perform the prediction and optimization process on-line, which requires a high computational capacity for fast dynamics, such as, for example, the control of AC electric motors. Due to the complexity of embedding constraints in controller design, which demands a high computational capacity to solve the optimization problem, off-line approaches are one of the choices to overcome this problem. However, these strategies do not deal with the inherent constraints of the drive system, which signiﬁcantly simpliﬁes the design of the controller. This paper proposes a non-linear and multi-variable predictive controller to control the speed and rotor ﬂux of an induction motor, where the constraints are treated after the controller design. Besides dealing with the constraints of the electric drive system, our proposal allows increasing the stability of the system when the model does not incorporate disturbances and when parameter incompatibilities occur. Several computer simulations and experimental tests were performed to evaluate the behavior of the proposed controller, showing good performance to track the controlled variables under normal operating conditions, under load disturbances, parametric incompatibility, and at a very low rotor speed.

Model-based predictive control is a family of controllers whose formulation is suitable for non-linear and multi-variable systems and allows natural handling constraints on the input or output variables [10,11]. Besides, its design is easily implemented and results in faster dynamic responses to command signals, when compared to other controllers [12,13]. Two non-linear design techniques have been widely employed for the power converter and drive applications: the Continuous Control Set-Non-linear Model Predictive Control (CCS-NMPC) and the Finite Control Set-Non-linear Model Predictive Control (FCS-NMPC) [14,15]. In the case of our present work, the focus is on CCS-NMPC, which calculates a continuous control signal and uses a modulator to generate the desired output voltage in the power converter [16].
Unlike FCS-NMPC, CCS-NMPC establishes a fixed switching frequency that concentrates the harmonic spectrum of the current around the switching frequency [13] and, thereby, simplifies the design and reduces the cost of the harmonic filter.
Many model predictive approaches perform the prediction and optimization process iteratively on-line to obtain the optimal control action [17], requiring high capacity processors, mainly if long prediction horizon or small sampling time are used [18]. On the other hand, some approaches make use of analytical methods with low computational load to optimize the cost function of CCS-NMPC. However, if the constraints are considered as optimization criteria, these algorithms are computationally intensive and very complex to be used in systems whose dynamics is extremely fast, such as electric drives [19], only the unconstrained CCS-NMPC being considered in these cases.
In an attempt to ensure the robust operation of the drive system, i.e., keep the motor current in its boundary values, some strategies decrease the gain values of the unconstrained CCS-NMPC for reducing its control effort, trying to keep the electric current within the limits, as suggested by [20]. One of the main disadvantages of that strategy is the potential emergence of high frequency oscillations and, consequently, instabilities, such as [20]. Another standard strategy applied to resolve this problem appeared in [21][22][23][24], where second-order filters were employed to smooth the reference signal. The purpose of using the second-order filter was to slow down the reference signal, thus reducing the motor stator current. The disadvantage of employing filters is that they provide slow responses without ensuring, under some conditions-such as full load motor starting, eventual overload, and speed reversion-that the electrical current does not exceed the acceptable limits for convenient operation.
With a focus on keeping the state and control variables within the desired limits, some approaches design the controller in a cascade structure, allowing the use of simple blocks to saturate the state and control variables, as proposed in [25] for restricting the q-axis current of a PMSM. The disadvantage of this approach is that it requires two CCS-NMPC to be designed, where the outer loop controller is designed to regulate the rotor angular speed and the inner loop controller regulates the current stator components of the dq-axis. If a similar approach is chosen to control the angular speed and the rotor flux of an induction motor, the extra control loop would increase the design complexity of the CCS-NMPC and the number of parameters to be defined as well-four instead of two. Besides the aforementioned drawbacks, generally, the outer loop of the cascade controllers is designed to have a relatively slow dynamics response in comparison to the inner loop and, therefore, ensure a stable operation. Thereby, the development control techniques based on the non-cascade structure have been used [26]. In this approach, the predicted speed tracking error is directly used to determine the required voltage command without the need for a cascaded control scheme, however requiring exact knowledge of the system model to guarantee an accurate prediction of the system behavior, while the PMSM is usually subjected to model uncertainties and external disturbances such as the load torque.
Thereby, another critical aspect of the model predictive control techniques is the requirement of precise mathematical models to provide satisfactory performance [27,28], which requires the knowledge of external disturbances that are usually determined by observers [29]. The problem with using observers is that generally, their algorithms are computationally heavy, making the implementation of predictive controllers in systems with low or medium computational capacity even more challenging.
An integral control action is added to the control law of CCS-NMPC to control the rotation of the PMSM [20] to overcome problems arising from uncertainties and non-modeled disturbances; however, this strategy demonstrated a high immunity to non-modeled disturbances and the parametric motor variations. The cost function is based on the predicted integral action of the tracking error, and the controller is developed under the assumption that the system is free from any disturbance and mismatched parameters. Besides, due to the windup phenomenon, the use of the integral control action has the potential to deteriorate the dynamic response with oscillating behavior or, in the worst case, make the system unstable. A candidate strategy to address the constraint problems of CCS-NMPC appeared in [30], where the constraints of the drive system were handled after the synthesis of a state feedback controller applied to control the angular speed of PMSM. Basically, it makes use of the PMSM mathematical model to determine at each sample time the maximum allowable value of the system input that keeps the state variables within the desired limit. If the input value exceeds this limit, it is saturated using a simple saturation block. The effectiveness of this strategy ensures that the values of the constrained variables remain within the specified range, and its low computational cost constitutes its main advantage.
This paper proposes a simple strategy to restrict the state and the control variables of the induction motor in the case of a non-cascade and non-linear multi-variable CCS-NMPC with integral action and such that one can control the rotor angular speed and rotor flux of the induction motor. Unlike the CCS-NMPC approaches found in the literature, the approach proposed in this work is able to address the restrictions of the motor and the power converter, e.g., current and voltage, in cases where CCS-NMPC is designed on the direct structure. Therefore, the design of the controller is simplified, and the operational safety of the system is guaranteed. Furthermore, the proposed methodology to incorporate the anti-windup control action into the CCS-NMPC controller provides fast dynamic responses and improves the stability of the system, even if severe parametric incompatibilities occur.

Rotor Flux Control
In the Rotor Flux-Oriented Control (RFOC) of an induction machine, the q-axis rotor flux is zero, i.e., ψ qr = 0, and so, the rotor flux equation is: where the time constant τ r = L r /r r is the ratio between the rotor self-inductance and the rotor resistance; L m denotes the magnetizing inductance; ψ r is the d-axis rotor flux; and i ds is the d-axis stator current. In our case, the rotor flux position, θ r , is determined by: θ r = (ω r + ω sl )dt (2) in which ω r is the angular reference speed of the rotor in electrical radians per second and ω sl is the slip speed of the rotor flux, whose value is given by: where τ * r is the reference value of the rotor constant and i qs is the q-axis stator current. One observes, by inspection of Equations (2) and (3), the dependence of the rotor flux position on the rotor time constant, i.e., it depends on the resistance r r and the self-inductance L r . In practical applications, these parameters vary with temperature and slip frequency, and so, depending on the kind of controller used, it may be mandatory to update their values.
The other equations for the rotor flux oriented control are: in which u ds and u qs are the d-axis and q-axis components of the stator voltage, r s and r r are the stator and rotor resistances per phase, L s and L r are the stator and rotor self-inductances per phase, respectively, J t is the total inertial moment, b is the viscous friction, p is the number of pole pairs, ω s is the spatial synchronous speed of the rotor flux, and Γ is the load torque disturbance. We still have in these latter equations, Ls Lr

Representation in the Continuous State-Space Model
The control of induction motors is a multi-variable non-linear control system described by m inputs, u 1 u 2 . . . u m , and p outputs, y 1 y 2 . . . y p , whose representation in state-space form is given by the set of equations: In RFOC, the state vector, x, the input vector, u, and the disturbance vector, d, are: The output vector is: The vector f (x) in (5) is: The matrices g 1 and g 2 are: In terms of control, it is important to note in these equations that f (x), g(x), and h(x) are smooth vector fields, allowing, then, their respective linearization.

Formulation of the CCS-NMPC Algorithm
Although CCS-NMPC is well established in the literature and experimentally validated for PMSM, it has hardly been applied to induction motors. The objective of our multi-variable CCS-NMPC controller is to find the optimal inputs such that the expected plant outputs follow the reference. The CCS-NMPC controller concept is based on the moving horizon time frame principle where the basic idea is that at each time t, within a moving horizon time frame located at time t, find the optimal control action, u(t), to bring the future plant outputs,ŷ i (t + τ), for your references,ŷ ri (t + τ). Just to distinguish from real variables, hatted variables are the predicted variables defined in the moving horizon time frame. When the dynamics of the controlled variables are very different from each other, the control effort has to be set independently for each controlled variable [20] to attain high performance. Based on this strategy and the adjustment procedure suggested in [31], we propose the following cost function for the rotor flux-oriented control of a three phase induction motor: whereÎ 1 (t + τ) andÎ 2 (t + τ) are the integral of the errors in the moving prediction horizon, T pi , and τ is a time constant, with 0 ≤ τ ≤ T pi for ∀ T pi . Thus, the integral terms in the cost function can be approximated by Taylor series whose order is (ρ i + 1), i.e., ρ i is the relative degree of the i th output and represents the number of times that were needed to differentiate the respective output i until obtaining an explicit relation between the output and input [32]. In our case, ρ 1 = 2 and ρ 2 = 2, defining the total relative degree of the system, ρ = ρ 1 + ρ 2 = 4. As ρ is equal to the order of the system, the input-output map can be fully linearized, and the system does not have zero dynamics [33].
The measured error for the i th controlled variable is: where y ri is the reference signal and y i is the measured output. The integral of the error is then: In the case of ignoring the effects of external disturbances, the output derivatives required to calculate the derivatives in (11) are computed as follows: where j denotes the derivative order and L f h i (x) is the Lie derivative of h i (x) along the vector field f (x): and the j th Lie derivative can be computed interactively, as follows: and: Thus, the prediction expression (11), written in matrix form, becomes: where the matrix Λ i contains the coefficients of the Taylor series: and: As pointed out before, the relative degrees of the outputs, y 1 and y 2 , are ρ 1 = 2 e ρ 2 = 2, respectively, and so, we can write: The condition for the control law to be optimal is given by: that applied to (10) yields the following optimal control law: with: The vectors K 1 and K 2 contain the controller gains and are determined following the procedure described in [21], i.e., Note that the predictive periods T p1 and T p2 are the only parameters that must be tuned to achieve the desired performance. Long predictive periods produce slow dynamic responses. However, if these periods are too long, high frequencies may arise, or the system even becomes unstable. On the other hand, faster dynamic responses occur for small predictive periods; however, if it is too small, the controller behaves as having a high gain controller, then amplifying the measurement noise.

Constraining the State and Control Variables
The primary purpose of limiting the values of the state and control variables is to ensure the safe operation of a drive system. Moreover, restricted controllers attain a fast dynamic response and superior steady-state behavior for enabling the use of high gains without exceeding the limits of safe operation. In our study, restrictions are added after the CCS-NMPC controller synthesis, ignoring, therefore, in this step, the limits of the state and control variables. The general idea that characterizes this approach is to employ the mathematical model of the IMto determine the limits of the control variables that guarantee the future values of the state variables remain within the appropriate pre-established ranges. It is usual to restrict the q-axis stator current i qs to maintain the electromechanical torque at the rated motor value and the d-axis and q-axis components of the stator voltages, u ds and u qs , because one can deal with the restrictions of the motor and the power converter as well. The future state of the q-axis stator current, i qs (k + 1), is determined by employing the mathematical model described in (5), after its discretization by the Euler method, as follows: Denoting the maximum value of i qs (k + 1) by i qs,H and its minimum value by i qs,L , the substitution of these values in this equation generates the boundary values of the q-axis stator voltage that maintain the q-axis current within a specific range: u qs,H (k) is the maximum acceptable value, and u qs,L (k) is its minimum: The values of u qs,H (k) and u qs,L (k) establish the points of saturation of the control variable u qs : when it reaches its high or low value, the control signal saturates, characterizing, therefore, an actuator, where: The employment of saturation functions generates the phenomenon known as a windup, whose existence becomes the controller being unable to respond promptly when the saturation points are reached, and this may even cause instabilities of the system [34]. The classical tracking back-calculation method was adopted, according to [35], to avoid the windup phenomenon. This anti-windup action was added to CCS-NMPC and modified the M 2 matrix, given in (22), as follows: where k awp is the anti-windup coefficient, which is empirically adjusted, and u awp is the difference between the unsaturated and saturated values of the control action u qs , i.e., The control variable u ds is saturated and expressed as: where u ds,L and u ds,H define the high and low voltage limits of the direct axis stator.

Rotor Flux Estimation
In this application, the information of the magnitude of the rotor flux is necessary to perform the rotor flux control. The use of discretized models is more suitable in practical implementations, and therefore, the discrete time model that performs the rotor flux estimation is obtained by applying Euler's discretization method in Equation (1): where T s is the sampling time and k denotes the present sampling instant. The block diagram of the constrained CCS-NMPC is shown in Figure 1. Observe that each reference signal, i.e., the rotor flux reference, ψ * r , and speed reference, ω * r , are smoothed by a second-order filter, making Taylor's series (11) possible for a discontinuous reference.

Computer Simulation and Experimental Results
The motor was subjected to the conditions of free starting and sudden loading to check the performance of the proposed controller. For this, the capacity of the proposed CCS-NMPC in controlling the rotor speed and keeping the rotor flux-oriented was verified by computational simulation and experimental results, considering the variation of the parameters and the imposed electrical limits as well: i qs,H = 5.5 A and i qs,L = −5.5 A and u ds,H = 311 V and u qs,L = −311 V. The predictive periods of ψ r and ω r were T p1 = 2 ms and T p2 = 10 ms, respectively. The natural frequency and damping coefficient for the second-order filter used for the constrained CCS-NMPC were ω n = 400 rad s −1 and ζ = 1, respectively. The rated data of the motor are in Appendix A.

Computational Simulation
The system behavior was initially analyzed in a computer environment with the aid of MATLAB R software. The controller and the induction motor models were discretized with a sampling frequency of 10 kHz and 500 kHz, respectively. The Voltage Source Inverter (VSI) was simulated using the Simulink R VSI model.

A Comparative Study
To compare the performance, the CCS-NMPC used to control permanent synchronous motors [20] was adapted to be applied to the control of induction motors-from now on called the standard CCS-NMPC-and thus to compare it with our proposed controller, hoping to improve the stability and dynamics of the response.
This study clearly revealed the stability problem of the standard CCS-NMPC ( Figure 2) and the correction made by our approach (Figure 3). The analyses of Figure 2a,b showed high oscillations in the speed and rotor flux responses, respectively. It was also evident that the system became unstable after the motor underwent a sudden reversal of speed, at the instant 4 s. Moreover, observe in Figure 2c that the q-axis current reached very high values that would damage the power converter and the motor. On the other hand, under the same conditions, our controller ( Figure 3) remained stable and tracked the rotor angular speed reference (Figure 3a) and the rotor flux reference (Figure 3b) without exceeding the imposed q-axis stator current limits (Figure 3c).

Analyses of the Proposed Controller
The computational simulation results of a three phase induction motor controlled by the proposed CCS-NMPC are shown in Figure 4. From these results, one could make the following observations: (a) The settling time of the speed during start-up was 263 ms and under speed reversion was 444 ms, as can be seen in details in Figure 5a,b, respectively. Note also that for the load torque perturbation, shown in Figure 4b, the rotor speed did not change.

Experimental Results
The experimental test bench (Appendix B) consisted of two mechanically-coupled three phase induction motors: one was the motor under test, and the other worked as a load (auxiliary motor); two sets of inverters controlled by a dSPACE processor board, Model DS1104, where the algorithms used were executed; an incremental rotary encoder and voltage and current transducers. The auxiliary motor was fed by a commercial frequency inverter operating in torque control, whose value was set by the dSPACE processor board. The performance, including the robustness of the controller, was investigated under conditions of speed step-variation, torque disturbance, and parameter changes of the motor, as follows.

Speed Step Response
The left column of Figure 6 shows the experimental results of the proposed controller. The rotor angular speed response is presented in Figure 6a, and in Figure 7a, a zoom is presented to make visible the settling time during the start-up, that is 263 ms. In the case of a reversion command, the settling time was 350 ms, as zoomed in Figure 7b. Furthermore, its steady-state error was annulled, and no overshoot was observed in the speed response. In turn, the d-axis rotor flux followed exactly its reference without any oscillating, according to Figure 6b.
The efficiency of the proposed approach in restricting the q-axis stator current was proven: its value did not surpass the limit of |5.5 A| (Figure 6c), i.e., its nominal value. In Figure 6e, it is observed that the q-axis stator voltage was saturated, as was expected, since i qs should remain within its limits, i.e., i qs,H = 5.5 A and i qs,L = −5.5 A. Note still, in Figure 6d, that the three phase current envelope analysis showed that the stator current never surpassed its nominal peak value: 6.8 A.
For comparison purposes only, a non-constrained CCS-NMPC was tested, and the results are shown in the right column of Figure 6. It should be noted that the speed dynamic response of the non-constrained CCS-NMPC was worse (Figure 6f) than that of our proposed constrained controller, despite the fact that the non-constrained CCS-NMPC employed a second-order filter whose natural frequency was reduced to 250 rad s −1 for keeping i qs between its bound values, unlike our constrained controller, whose natural frequency was 400 rad s −1 . Furthermore, as shown in Figure 7c,d, its settling times during start-up and speed reversion were 650 ms and 772 ms, respectively. Although the second-order filter smoothed the speed response in the case of the non-constrained controller, i qs surpassed its limit value at the moments of the speed reversion, t ≈ 4 s and t ≈ 6 s, as shown in Figure 6h. In short, in the non-constrained case, we had to give up the dynamic performance in an attempt to ensure the safe operation of the drive system.

Load Torque Step Response
With ψ r = 0.6 Weber, a load torque of 7.6 Newton-meter was applied at the instant 3 with the motor already operating in steady-state. After 5 s, i.e., at the instant 8 s, this load was withdrawn, as shown in Figure 8b. The speed error caused by the load torque step was rapidly eliminated, as can be seen in Figure 8a, and the rotor flux was kept constant at its commanded value, as shown in Figure 8c. Furthermore, one can note in Figure 8d that i qs was suitably limited to its maximum value, i.e., 5.5 A, demonstrating the success of the chosen strategy.

Low Speed Operation
Very low speed operation of electric motors is often a problem for model-based predictive control techniques [15]. In such an operation mode, the voltage across the stator phase was close to zero, and the power converter non-linearities (losses, dead time, and others) and inaccuracies of the measurement system (offset, noise, A/D conversion inaccuracies, and others) made the model very inaccurate, degrading, therefore, the controller performance. A sinusoidal speed reference with very low amplitude (4 rad s −1 ) was generated by the Root Mean Square Error (RMSE) to evaluate the performance of the proposed controller when the motor operation was at low speeds. The action of the proposed controller resulted in tracking the speed reference, and its measured RMSE value was 0.166 rad s −1 , as depicted in Figure 9a. The rotor flux also tracked the reference, and its measured RMSE could be negligible, as shown in Figure 9b. Figure 9c shows the three phase currents of the stator, when the rotor speed inversion occurred. The minimal RMSE values showed the effectiveness of the proposed controller to drive the induction motors when the operation occurred at speeds close to zero.

Parametric Incompatibility between the Controller and Motor Data
Discrepancies between declared motor parameters to design the controller and the actual values of the motor could occur. Such parametric incompatibilities could result from errors during the tests for determining the parameter of the motor, or when they change during the motor operation, which may render the operation of the motor unstable. The parameters of the motor under tests were changed over a specific time in the CCS-NMPC algorithm to evaluate the controller robustness against parametric incompatibilities. The instants in the which the parameters had their values changed are shown in Figure 10a. The rotor angular speed response, the rotor flux response, and the behavior of the q-axis stator current component are shown in Figure 10b-d, respectively. Initially, the r s , r r , L s , and L r parameters were augmented 50%.   Analysis of the motor responses showed that variations in rotor and stator resistance did not disturb the system. Moreover, variation in the rotor and stator inductance produced small disturbances in the rotor speed response and consequently in the behavior of the q-axis component of the stator current, which were quickly rejected by the control. The primary disturbance was caused when the magnetizing inductance, L m , was augmented by 5%; for variations above 5%, the magnitude of the motor current exceeded the maximum admissible values by the power converter, requiring, therefore, a protective action. Given that in rotor flux-oriented control, the rotor flux depends directly on the d-axis stator current and the magnetizing inductance, it was evident that constant flux control operation resulted in weakening of the rotor flux when the value of the magnetizing inductance considered in the controller was higher than the motor value. In such a case, one expected a higher q-axis current to provide power to the motor, whose magnitude could reach very high values. Although the sudden parametric variation considered in this test was the worst case in terms of the controllability of the system, in practical applications, the motor parameters change slowly. For this reason, a more realistic analysis for magnetizing inductance variation was conducted in the next test.

Sensitivity of Proposed Controller against Magnetizing Inductance
As already mentioned, it was necessary to check the sensitivity of the proposed controller in a more realistic scenario, i.e., when L m changes slowly. To avoid high values of the q-axis current, the L m value was decreased in the controller according to the slope shown in Figure 11a. The main effect observed in the case of the variation of the magnetizing inductance was the q-axis current ripples, which increased as much as the parameter discrepancies, as shown in Figure 11d. However, the controller was able to maintain the rotor angular speed (Figure 11b) and the rotor flux ( Figure 11c) in their references values. Therefore, these results, along with the previous test, endorsed the robustness of the proposed controller, which remained stable and quickly rejected all disturbances due to parametric variations. Figure 11. Experimental performance of the proposed CCS-NMPC for smooth variation of L m : (a) normalized value of L m ; (b) reference of rotor angular speed (ω * r ) and measured rotor angular speed (ω r ); (c) rotor flux reference (ψ * r ) and rotor flux waveform (ψ r ); (d) q-axis stator current waveform.

Conclusions
This work contributed to the advancement of predictive controllers in the field of electric drives, and the methodology proposed here could be extended to other related areas, such as power generation and electric traction.
Concerning non-modeled disturbances and parameter incompatibilities, the robustness and stability of the system proved to be improved significantly. An anti-windup action was employed, resulting in faster dynamic responses than for a similar, but non-restricted controller. Moreover, the controller proposed in this paper remained stable for fast changes in the speed reference and ensured the safe operation of the drive system. In the face of non-modeled disturbances and parameter incompatibility, the robustness and stability of the system proved to be improved.
In summary, the aim of this work of improving the transient responses, the robustness, and ensuring the safe operation of the drive system controlled by a non-cascaded CCS-NMPC was achieved with simplicity and low computational load.
Direct power control of wind energy conversion systems and multiphase machines drive are future research related to the proposed controller.

Conflicts of Interest:
The authors declare no conflict of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript; nor in the decision to publish the results.

Appendix A. Rated Motor Parameters
The rated data of the investigated motor connected in Y are shown in Table A1.