MFC / IMC Control Algorithm for Reduction of Load Torque Disturbance in PMSM Servo Drive Systems

The following article presents the hybrid control scheme (MFC/IMC) that involves model following control (MFC) and internal model control (IMC) for velocity control of permanent magnet synchronous motor (PMSM) with the aim of reducing the influence of torque load disturbance. A brief description of the MFC/IMC algorithm is given, its structure is an expansion of a classical cascade control loop; the PMSM model was linearized in order for it to be applicable to the proposed solution. Numerical analysis of sensitivity for both systems (i.e., the MFC/IMC cascade and the classical one) is given with regards to their robustness to torque load disturbance. The behavior of these two control schemes is then analyzed on a laboratory test stand with various load disturbances introduced to the system; the methodology and the test stand itself are also briefly presented in the article. The results presented in the form of performance indices and graphs prove that the developed MFC/IMC method is an improvement over the classical cascade for velocities near the operating point.


Introduction
Servo drive systems are commonly exploited in many areas of the modern industry where precise control over position, velocity or torque for servo motors is required.CNC machines, robotics, factory automation are just some of the fields that have been heavily influenced in the past years by the development of servomechanisms and their control algorithms.
Permanent magnet synchronous motors (PMSM) gained broad recognition in servo drive applications due to a range of beneficial properties: Compact structure, high air-gap flux density, high power density, high torque to inertia ratio, and high efficiency.However, due to the existence of nonlinearities, structured and unstructured uncertainties, and external disturbances, there is a necessity for improvement of PMSM control schemes [1][2][3].
One of the external disturbances encountered by the control system is the torque load disturbance which is closely tied to the task the PMSM is performing.The characteristics of this disturbance can be considered as either fluctuant or largely constant depending on the nature of the process and its phase.An example of such varied behavior is exhibited on a milling machine with ball-screw driven table-freely positioning the workpiece as opposed to movement while processing it (i.e., material's contact with a tool is maintained) [4].In each case, however, it has an adverse effect on achieving the desired motion profile.Another example of a system in which torque-related external disturbances play a substantial role is a drum shearer and its transmission system.It affects the efficiency of the cutting unit and is caused by a non-homogenous coal seam with hard parcels and rocks.Dynamic load suppression, in this case, is desired to improve mining performance and to minimalize wearing of the mining shearer elements [5].
In the literature, one can find various PMSM control techniques introduced in order to increase the robustness of PMSM servo drive control.In [6] authors introduced a cascade model predictive control (MPC) structure for a high-performance speed control of PMSM with speed ripple minimization.The inner-loop MPC provides fast feedback control action aimed at reducing the effects of disturbances, nonlinearities and model parameter uncertainty.The outer-loop MPC is embedded with a zero frequency mode for start-up and an extra frequency mode for minimizing the speed ripples in steady-state operation.In [7] authors proposed a fuzzy sliding mode controller (SMC) with a third-order load torque observer for a robust speed tracking of PMSM.The proposed observer-based fuzzy SMC method took into account the disturbance inputs representing the system nonlinearity or the unmodeled uncertainty to guarantee the robustness under motor parameter and load torque variations.
This article discusses a method of reducing the effects of load torque disturbances in PMSM servo drive systems by using the MFC/IMC control algorithm; the algorithm itself is described in [8].The theoretical analysis, simulations and real-world experiments indicate a greater reduction of external disturbance influence when exploiting the MFC/IMC structure as compared to commonly utilized cascade control structure containing PI controllers.
This paper is organized as follows.In Section 2, a mathematical model of surface-mounted PMSM is introduced.Section 3 describes the linearization process of PMSM necessary to obtain a linear model for the MFC/IMC algorithm.Section 4 shows numerical analysis whereas Section 5 presents the experimental results of the MFC/IMC implementation on an actual test stand.Section 6 concludes the paper by summarizing the results and presents potential areas of application of the algorithm.Also, the advantages and disadvantages of the MFC/IMC control scheme are given along with authors' new ideas for further development of the method.

Mathematical Model of Surface-Mounted PMSM
One of the most common control schemes implemented in the servo drives systems is a cascade structure with a field-oriented control (FOC) algorithm [9,10].It consists of two loops, each controlling different physical quantity: Electric current (inner loop) and velocity (outer loop).The former loop has faster cycle times (i.e., is executed more frequently by the control system) and regulates the currents in the d-q rotating reference frame.The latter one generates the q-axis reference current that serves as a set point for the inner loop.This control scheme is usually exploited to maintain a constant velocity.
The dynamical model of PMSM can be expressed by a set of voltage and current equations [11][12][13].In order to reduce the complexity of the original three-phase model description, most often, Clarke and Park's transformations are used to convert three-phase quantities (ABC reference frame) into two-phase reference frame quantities (d-q reference frame).This operation allows to decouple state variables and solve time-dependent equations in a common frame of reference.
In this paper, a PMSM with surface-mounted magnets is considered.The dynamical model in d-q reference frame assumes that:

•
The machine is symmetrical.

•
The induced EMF is sinusoidal.

•
Eddy currents and hysteresis are neglected.

•
Resistance and inductance of motor's windings are constant.

•
Magnetic circuits are linear,

•
Static friction model with Stribeck's effect is adopted.
Basing on these assumptions a set of differential equations can be given in the explicit form (1): where i d (t), i q (t), ω(t) T represents the state vector of the output currents in direct and quadrature axes, and rotor mechanical velocity respectively.Stator voltages in d-axis and q-axis are denoted by u d (t) and u q (t).Lumped friction torque expressed by T F involves static friction model with Stribeck's effect.Parameter R s is the stator's winding resistance, L d = L q is the stator's winding inductance, ψ f is the permanent magnet flux, p is the number of pole pairs, J is the rotor's moment of inertia, T v is the coefficient of viscous friction, T c is the coefficient of Coulomb friction, T s is the coefficient of static friction, ω s is the Stribeck velocity, δ is an additional empirical parameter in range from 0.5 to 1 and τ load (t) is the load torque.

PMSM Model Linearization
Examining the PMSM dynamical model, it is seen that there are several terms that have nonlinear expressions: bilinear functions ω(t)i q (t), ω(t)i d (t), i d (t)i q (t), as well as signum and absolute value functions.It is necessary to obtain linear approximations of these terms in order to conduct the linearization process.
The bilinear terms can be approximated at the operating points (ω 0 , i d0 , i q0 ) using first-order Taylor series expansion: The signum and absolute value functions can be approximated using: where α is an empirically chosen parameter.By substituting approximations Equation ( 2)-( 4) into (1), a linear state-space model of PMSM can be derived: where vectors x(t) = i d_act (t), i q_act (t), ω act (t) T , u(t) = u d (t), u q (t), τ load (t) T and y(t) = x(t) matrices A, B, C are defined as Equation ( 6): where η 0 is a constant vector containing the steady-state parameters.This is a special case as the vector of outputs y(t) is identical to the state vector x(t), thus the underlying output matrix C is an identity matrix.Normally, the state and output vectors of a full model would also include the angular position; the latter vector would also incorporate the torque generated on the motor shaft.Thus, they would be respectively described as

Theoretical Analysis
Theoretical analysis of a typical velocity control loop found in PMSM servo drives was conducted in order to demonstrate the benefits of the proposed method.In the following section, the classical and MFC/IMC velocity control loops are compared with regards to sensitivity to the disturbance caused by an external load.Parameter values of the PMSM model were presented in Appendix A in Table A1.
In this section, an implicit conversion from time domain t to complex numbers domain (Laplace operator s) for all the previous equations is assumed; applying Laplace transform is a typical approach for solving linear systems.Later, when the numerical analysis is provided, a switch to the frequency domain is made.In this case, the Laplace operator is substituted, i.e., s = jω.This approach allows for analyzing the entire system in its working frequency and does not require multiple simulations as the analysis in time domain would.

Models of Clasical and MFC/IMC Cascade Control System
The PMSM linear model W M (s) and current controllers in d-axis R id (s) and q-axis R iq (s) were coupled and considered as one object.It was motivated by the fact that the current controllers' parameter values are strictly dependent on the motor type; the users usually are not able to manipulate those quantities.
In Figure 1, element ŴM (s) illustrates a simplified FOC current control loop.The system has two input signals: i q_re f (s)-reference current value in q-axis in d-q reference frame, and τ load (s)-load torque.The output signals of this system are: i d_act (s)-actual current in d-axis in d-q reference frame, i q_act (s)-actual current in q-axis in d-q reference frame, and ω act (s)-actual velocity of the PMSM motor shaft.Voltages generated by the current controllers in d and q axis are indicated by u d (s) and u q (s).It is also noteworthy that the third input signal, namely i d_re f (s), is equal to zero which is a consequence of the FOC control scheme.
1 The above system can be presented in the following form Equation ( 7): where T is the PMSM model (W M (s)) input signals vector, and W M (s) is described by a set of transfer functions presented in Equation ( 8): Remark: the signal names in subscripts denote the signals upon which the transfer function is constructed, e.g., W M_id_ud (s) denotes the transfer function as a ratio of input signal u d (s) and output signal i d_act (s).
The coupled system consisting of PMSM linear model W M (s) and current controllers in d-axis R id (s) and q-axis R iq (s) can be described as Equation (9): where i d_act (s), i q_act (s), ω act (s) T is the combined system model ( ŴM (s)) output signals vector, T is the combined system model ( ŴM (s)) input signals vector and ŴM (s) is described by a set of transfer functions shown in Equation ( 10): The influence on the velocity control is determined by a pair of transfer functions: ω act (s) and i q_re f (s), along with ω act (s) and τ load (s); both pairs are derived from ŴM (s).The coupling of PMSM and current regulators reduces the velocity control loop structure to a basic closed-loop scheme as shown in Figure 2.  Upholding the previously adopted convention, W M_ω_iq_re f (s) and W M_ω_τ_load (s) denote PMSM plant transfer functions obtained as a relation between the signal pairs: ω act (s), i q_re f (s), and ω act (s), τ load (s) respectively.The velocity controller R ω (s) generates input signal i q_re f (s) for current controller in q-axis R iq (s) as a difference between the reference ω re f (s) and actual ω act (s) velocity of the PMSM shaft.
Based on the structure presented in Figure 2 the following equation can be derived (11): Hence S z_cas (s) is the sensitivity function at the plant input of the classical cascade control system: Implementation of the MFC/IMC algorithm in the velocity control loop of PMSM servo drive system is presented in Figure 3; W M_ω_iq_zad (s) denotes the PMSM nominal model transfer function obtained from ω act (s) to i q_re f (s); ω act (s) is the actual velocity computed by the PMSM model; R ∆ (s) is the controller which generates an additional control signal i q_add (s) for the current control loop in q-axis.This additional control signal is based upon the difference between the model's actual velocity ω act (s) and actual velocity of the PMSM shaft ω act (s).
The structure presented in Figure 3 leads to the following equation: Hence S z_m f cimc (s) is the sensitivity function at the plant input of MFC/IMC cascade control system:

Numerical Analysis
To compare both velocity control loops, i.e., classical and MFC/IMC one, a simulation test was conducted.The linear plant ŴM (s) and its nominal model W M_ω_iq_zad (s) were achieved in the linearization process.As shown in Table 1, parameters of PI current controllers in d-axis R id (s) and q-axis R iq (s), velocity controller R ω (s), and finally, the R ∆ (s) controller, were calculated using gain and phase margin method.It is worth mentioning that the R ∆ (s) controller was tuned with the assumptions directly tied to the MFC/IMC structure: [14].
Transfer function of the exploited PI controllers:

Experimental Results
The presented concept of reducing the influence of external load disturbance by the MFC/IMC control structure was validated on the experimental setup presented in Figure 5.

Experimental Results
The presented concept of reducing the influence of an external load disturbance by the MFC/IMC control structure was validated on the experimental setup presented in Figure 5.

Experimental Results
The presented concept of reducing the influence of external load disturbance by the MFC/IMC control structure was validated on the experimental setup presented in Figure 5. Due to the code generation functionality available in Matlab/Simulink software it was possible to develop a control-measurement application for the servo drive control system.The vendor of industrial servo drive system (Bernecker&Rainer) provides a toolbox (Automation Studio Target for Simulink) which allows for the direct conversion of developed Simulink models into the PLC code.
The classical cascade and MFC/IMC cascade velocity control loops were developed in the Matlab/Simulink environment, both of these solutions implemented PI controllers.The current control loop remained unchanged, i.e. the current controller originally provided by the manufacturer was not modified.The reference velocity signal was generated in Automation Studio (PLC programming IDE) and passed to the PLC-code converted Matlab/Simulink model whose task was to calculate the appropriate current values for q-axis current controller (i.e.q i signal).The actual velocity signal required in the control loop was acquired directly from the servo drive.Because of the hardware limitations, the simulation and communication process period was set to 400μs .The software integration between Automation Studio and Matlab/Simulink was described in details in [15].Due to the code generation functionality in Matlab/Simulink software it was possible to develop a control-measurement application for the servo drive control system.The vendor of industrial servo drive system (Bernecker&Rainer) provides a toolbox (Automation Studio Target for Simulink) which allows for the direct conversion of developed Simulink models into the PLC code.
The classical cascade and MFC/IMC cascade velocity control loops were developed in the Matlab/Simulink environment, both of these solutions implemented PI controllers.The current control loop remained unchanged, i.e., the current controller originally provided by the manufacturer was not modified.The reference velocity signal was generated in Automation Studio (PLC programming IDE) and passed to the PLC-code converted Matlab/Simulink model whose task was to calculate the appropriate current values for q-axis current controller (i.e., i q signal).The actual velocity signal required in the control loop was acquired directly from the servo drive.Because of the hardware limitations, the simulation and communication process period was set to 400 µs.The software integration between Automation Studio and Matlab/Simulink was described in details in [15].

Reduction of Load Torque Disturbance Influence
The experiment was conducted with two PMSM drives whose shafts were coupled (Figure 6).The main PMSM (1) is the one on which both control schemes were tested: the classical cascade and the proposed MFC/IMC method.The auxiliary PMSM (2), controlled in the current loop, generated various load torques-it was the disturbance source.The goal of the experiment was to compare the performance of the proposed method and the classical approach while maintaining a fixed velocity.As that reference velocity ( ref ω ) was chosen to be zero, the main PMSM ( 1) should remain at a standstill for the entirety of the experiment while being affected by the auxiliary PMSM (2) which exerted external torque disturbance.The goal of the experiment was to compare the performance of the proposed method and the classical approach while maintaining a fixed velocity.As that reference velocity (ω re f ) was chosen to be zero, the main PMSM (1) should remain at a standstill for the entirety of the experiment while being affected by the auxiliary PMSM (2) which exerted external torque disturbance.
The developed control-measurement system compared the deviation from the reference velocity value of the classical cascade and MFC/IMC cascade control algorithms in terms of IAE, ISE and ITAE performance indices.Motor's motionless state was desired, as such, any non-zero velocity attributed to the error signal.Moreover, in the case of the MFC/IMC control scheme, an additional control signal was measured in order to prove that values of the generated auxiliary current signal (i q_add ) are within the PMSM operating range.Load torques generated by the auxiliary PMSM in the conducted experiments are presented in Figure 7: The goal of the experiment was to compare the performance of the proposed method and the classical approach while maintaining a fixed velocity.As that reference velocity ( ref ω ) was chosen to be zero, the main PMSM (1) should remain at a standstill for the entirety of the experiment while being affected by the auxiliary PMSM (2) which exerted external torque disturbance.
The developed control-measurement system compared the actual velocity values of the classical cascade and MFC/IMC cascade control algorithms in terms of IAE, ISE and ITAE performance indices.Motor's motionless state was desired, as such, any non-zero velocity attributed to the error signal.Moreover, in the case of the MFC/IMC control scheme, an additional control signal was measured in order to prove that values of the generated auxiliary current signal ( _   ) and actual velocity ( ) of the main PMSM, the latter being a response to a specific set of external load disturbances depicted in the matching subsection of Figure 7.In each case, the proposed algorithm (Figure 7b) exhibits higher insensitivity to the load torque disturbance than the classical cascade control structure (Figure 7a).   ) and actual velocity ( ) of the main PMSM, the latter being a response to a specific set of external load disturbances depicted in the matching subsection of Figure 7.In each case, the proposed algorithm (Figure 7b) exhibits higher insensitivity to the load torque disturbance than the classical cascade control structure (Figure 7a).For each of the experiments the performance indices are calculated as a difference between the reference velocity and actual velocity.Table 2 presents the obtained results:  For each of the experiments performance indices are calculated as a difference between the reference velocity and actual velocity.Table 2 presents the obtained results:

Conclusions
In this paper, the authors introduced the MFC/IMC algorithm for velocity control of PMSM.The numerical analysis of a linear system in frequency domain shows that the presented MFC/IMC structure is much more insensitive to disturbances at the plant input.The experimental results prove that the exploitation of MFC/IMC scheme in servo drive system reduces the influence of load torque disturbances compared to the classical cascade control structure.Measured reference and actual velocity signals of PMSM during conducted tests indicate explicit improvement in load torque reduction by the MFC/IMC scheme.Additionally, the calculated performance indices show a substantial difference between both control structures in favor of the new method.
The above factors lead the authors to believe that introducing the MFC/IMC algorithm in cascade velocity control significantly improves the servo drive's insensitivity to external torque disturbances.This, in turn, is highly beneficial in any application where a precise execution of the desired path is required, e.g., CNC milling, robotics.
Moreover, the implementation of MFC/IMC algorithm is feasible in commonly utilized servo drives for industrial applications.There is no need to modify existing classical cascade control structure.The algorithm can be easily applied in open-structure control systems while employing such techniques like rapid prototyping and PLC code generation without dedicating too many resources.
The proposed Model Following Control algorithm requires a model of the object to generate an additional control signal.In this paper, the authors exploited a nominal linear model of the PMSM motor.One of the advantages of the MFC/IMC algorithm is that the model itself does not need to be accurately identified.Precise identification allows to generate a more "suitable" additional control signal, but in many cases, it is not required as long as the signal's value remains within the operating range of the controlled device.
One of the disadvantages of the proposed control method is the lack of explicit R ∆ (s) controller tuning procedure.Although the controller used in the article was tuned with the assumption: |R ∆ (s)| > |R ω (s)|, s = jω, ω ∈ [0, ∞), it is only a general recommendation.The R ∆ (s) tuning is scarcely described in the literature leaving the field relatively unexplored.
Another drawback of the MFC/IMC algorithm is the need to develop an elaborate model for more complex applications.For example, applying this algorithm in CNC motion control may demand the modelling of a feed drive which can itself be a challenging task.One should also be aware that some trade-offs in model's complexity may be necessary if it is to be implemented in the CNC control system.
The effectiveness of the presented MFC/IMC algorithm possibly could be improved.The authors currently conduct new simulation experiments that utilize the piecewise affine models and sets of controllers in the correction block.The first results are promising, but more work is needed to be undertaken to confirm the usefulness of this new approach.

Figure 2 .
Figure 2. Velocity control loop in classical cascade system.

Figure 3 .
Figure 3. Velocity control loop in cascade MFC/IMC system.

Figure 4
Figure 4 shows the S z_cas and S z_m f cimc sensitivity functions comparison in the frequency range (ω f ) 0-5000 [rad/s].It proves that the exploitation of the MFC/IMC algorithm in the velocity control loop of PMSM reduced sensitivity to the torque disturbance in the 0-800 [rad/s] band.

Figure 4 .
Figure 4. Sensitivity functions depicting the plant's sensitivity to load disturbance.

Figure 4 .
Figure 4. Sensitivity functions depicting the plant's sensitivity to load disturbance.

Figure 4 .
Figure 4. Sensitivity functions depicting the plant's sensitivity to load disturbance.

Figure 6 .
Figure 6.The test stand utilized in experiments.

Figure 6 .
Figure 6.The test stand utilized in experiments.
PMSM operating range.Load torques generated by the auxiliary PMSM in the conducted experiments are presented in Figure7:

Figures 8 -
Figures 8-11 represent the results of the undertaken experiments for the classical cascade and the proposed MFC/IMC solution.Each subfigure contains measured reference velocity ( ) and

Figures 8 -
represent the results of the undertaken experiments for the classical cascade and the proposed MFC/IMC solution.Each subfigure contains measured reference velocity (ω re f ) and actual velocity (ω act ) of the main PMSM, the latter being a response to a specific set of external load disturbances depicted in the matching subsection of Figure7.In each case, the proposed algorithm exhibits higher insensitivity to the load torque disturbance than the classical cascade control structure.

Figures 8 -
Figures 8-11 represent the results of the undertaken experiments for the classical cascade and the proposed MFC/IMC solution.Each subfigure contains measured reference velocity ( ) and

Figure 9 .Figure 9 .Figure 10 .
Figure 9. Systems' responses to the disturbance presented in Figure 7b.Measured reference and actual velocity of PMSM for: (a) cascade (b) MFC/IMC cascade structure.

Figure 10 .
Figure 10.Systems' responses to the disturbance presented in Figure 7c.Measured reference and actual velocity of PMSM for: (a) cascade (b) MFC/IMC cascade structure.

Figure 12 .
Figure 12.Additional control signal (i q_add ) of the MFC/IMC control algorithm measured in each of the experiments.The subfigure order matches the one used in Figure 7 where generated disturbances were shown: (a) positive ramp; (b) negative ramp; (c) sine wave; (d) triangle wave.

Table 1 .
PI controllers parameters values calculated with gain & phase method.

Table 2 .
Performance indices comparison between the original cascade and the proposed method.

Table 2 .
Performance indices comparison between the original cascade and the proposed method.