Keywords

1 Introduction

The direct drive is a mechanical solution, in which an electric motor is connected with the operating machine without any mechanical gear. A special construction of the motor is required, which enables the drive system operation with a low rotational speed of about 100 rpm, in general, and often even less. The increase in industrial requirements, which can be observed over many years, has required the application of more and more precise solutions, especially in the industrial drives of robots and technological machines, e.g., paper machines, rolling machines or other servo drives. The lack of mechanical gear offers numerous advantages, e.g., an elimination of backlashes introduced by the gear, which improves the static accuracy of the operation and dynamic properties of the drive, as well as increases drive system efficiency (an elimination of losses in the gear) and reliability (a smaller amount of mechanical elements). The aforementioned advantages in direct drives require the application of proper regulation algorithms in the control system.

Mechanical systems with reduced rigidity are characterized by undesired vibrations, which are associated with mechanical resonance phenomena. These unwanted oscillations represent one of the major problems within the control of mechanical systems with limited stiffness [1, 2]. The degradation of parts’ parameters and breakdowns, as well as machine and equipment faults, may be caused by the occurrence of oscillations. The elimination of vibration in the system may significantly extend the lifespan of the mechanical system, resulting in an avoidance of the problems associated with accidents and damage. One of the ways of eliminating vibrations is the application of a properly tuned digital filter in the control system, whose role is to prevent the excitation of oscillations [3]. The proper selection of the structure of digital filters allows for minimizing the influence of the limited stiffness in the mechanical system, such that the dynamic and static properties of the drive remain excellent. The task of properly avoiding vibration is particularly challenging for systems with variable parameters, where the oscillation frequency is also variable. In these situations, it is necessary to identify the parameters of the operating machine.

In the direct drive, the moment of inertia in an operating machine is many times higher than the moment of inertia in the motor itself; therefore, large changes in the moment of inertia in the machine can have a significant influence on operating conditions in the drive system. Robustness and adaptability to parameter variation and load disturbances in a highly dynamic and accurate trajectory tracking system are prerequisites for fulfilment of the application requirements.

Methods of computational intelligence, artificial neural networks (ANNs) in particular, are utilized in the implementation of adaptive control structures.

Different concepts of the adaptive neural controller are presented. Both offline learning, based on data from simulations, and online learning during system operation are used. Recently, controllers with online learned neural networks have especially been the focus of many studies [4, 5].

One of the methods to achieve robustness is sliding mode control (SMC) [6, 7]. However, SMC creates some problems in practical applications due to chattering effects, such as high frequency oscillation of the motor torque, additional mechanical stresses and noise during an operation [8, 9]. An interesting solution is terminal SMC, ensuring a finite duration of transient processes [10]. Unfortunately, such an approach cannot be directly used in the real drive system [11].

This chapter is divided into six sections. In Sect. 2, an example of a direct drive, with emphasis upon the general structure the control system, is presented. The study in Sect. 3 shows that the application of a digital signals analysis to the frequency domain allows for the correct identification of the frequency of vibrations in the drive systems, which contain a complex mechanical structure for various parameters of the machine. As a result of the single identification procedure, the amplitude of frequency response is obtained for the mechanical part of the drive for the selected moment of inertia in the machine. In Sect. 4, an improved solution of the neural speed controller and proposed ANN structure are discussed. The modified RPROP algorithm of the online ANN training is presented. The theoretical analysis is validated by the experiment results. The modified algorithm of a terminal sliding mode controller is discussed in Sect. 5. The modifications of the sliding surface and the control laws, which allow the implementation in a real system, are presented. Proper operation of the controller is tested by a simulation exercise. Section 6 contains the conclusions summarizing the presented studies.

2 Laboratory Stand

The structure of the laboratory stand is presented in Fig. 1. The system consists of three main parts: a motor with a load construction, a pulse-width modulation (PWM) converter and a control algorithm, which is implemented in a digital signal processor (DSP). The data of the investigated drive are presented in the appendix. The set of metal plates fixed to the arm, which are mounted on the motor shaft, enables change to the moment of inertia. The disc brake, with four adjustable brake pads, is fixed to the motor shaft. This adjustable brake may be used to model dry friction, typically for cutting processes [12].

Fig. 1
figure 1

Block diagram of a laboratory stand with a vector-controlled PMSM direct drive

The sampling time of the control algorithm, which runs in the floating point DSP, is set to 100 μs. An incremental optical encoder provides information about the rotor position. Drive speed is calculated by the differentiation of the rotor position with respect to time. It is very important to filter the speed signal adequately in order to exclude the mechanical resonance amplification. A digital biquadratic multi-band filter is designed and tested [3].

Field-oriented control of currents along the d-axis and q-axis is performed by applying a robust proportional-integral control algorithm. The closed current control loop is much faster than mechanical dynamics.

3 Filter Tuned to Several System Frequency Responses

3.1 Model of an Electrical Drive Control System

A block diagram of the drive with the control system is presented in Fig. 2. The structure of the control system consists of a cascade connection between the current controller and the speed controller. The mechanism is driven by a low-speed permanent-magnet synchronous motor (PMSM) (up to 2.5 rev/s), which is designed to operate with no mechanical gear. The motor is powered by a PWM transistor inverter. A typical vector control structure for the PMSM is assumed, with appropriate transformations of phase currents from a three-phase A-B-C coordinate frame to a d-q system, with inverse transformation of the reference voltages. According to the most common control strategy for a PMSM, the reference current along the d-axis is equal to zero \(( i_{d}^{\text{ref}} = 0) \), while the q-axis reference current \(( i_{q}^{\text{ref}}) \) is fed by the speed controller. The operating machine is presented as a multi-mass system with flexible connections. Such a system is characterized by many mechanical resonance frequencies, which negatively affect the quality of regulation, or may lead to an unstable operation of the system. The high mechanical resonance frequency signal components are transmitted by the control system. Therefore, the application of an appropriately tuned anti-resonance filter allows for attenuating the selected frequency components [3]. As a result, the feedback signal is filtered (ω f,r) and does not excite the system into oscillation. The filter is tuned after an identification procedure of the system. The sampling time is equal to τ s = 100 μs. The position sensor (512,000 pulses/rev) is installed on the motor shaft. Due to the lack of direct measurement, the speed signal is substituted with a differentiated and digitally filtered measurement signal from the shaft rotation angle. In the control system, an Analog Devices’ SHARC signal processor is utilized, equipped with a motion coprocessor and an appropriate set of 14-bit digital-analogue converters. A low-pass measurement filter with a cut-off frequency equal to 100 Hz and damping at 40 dB/dec is utilized only for the measurements’ registration.

Fig. 2
figure 2

Drive control scheme

The current control loop may be depicted as a first-order inertial element with time constant τ cur = 0.3 ms, combined with transport delay τ sam = 0.2 ms. The torque constant is equal to k T = 17.5 Nm/A. The end of the bandpass of the current/torque control system is approximately equal to 530 Hz. Therefore, identification of the system is performed in the range of 50–500 Hz.

3.2 Model of the Mechanical Part

The mechanical part of the drive can be described by an MIMO system in the form of state space equations [2] or an equivalent matrix of transfer functions (Fig. 3) [13]. State space representation can be derived from the knowledge of the system’s exact mechanical construction and equations of motion. When the mechanical system is complex and hard to describe by equations of motion, the use of transfer functions can be sufficient for the synthesis of the control system.

Fig. 3
figure 3

MIMO scheme of the mechanical part with a transfer function description

It is assumed that the poles are equal for each of the transfer functions. If the poles of the transfer functions H 1,1(s), H 1,2(s), H 2,1(s) and H 2,2(s) are the same, then the resonance frequencies are also identical. From the point of view of the anti-resonance filter synthesis, information about the parameters of one of four transfer functions is sufficient for proper filter synthesis. Transfer function H 1,1(s) is chosen due to the availability of measurement signals (motor torque and motor speed), allowing identification of its parameters.

For example, let us consider the two-mass system presented in Fig. 4. This example justifies the poles’ equality in the four remaining transfer functions. The system is described by motion equations in matrix notation

$$ \left[ {\begin{array}{*{20}c} {J_{M} } & 0 \\ 0 & {J_{L} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {\ddot{\theta }_{M} } \\ {\ddot{\theta }_{L} } \\ \end{array} } \right] + \left[ {\begin{array}{*{20}c} b & { - b} \\ { - b} & b \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {\dot{\theta }_{M} } \\ {\dot{\theta }_{L} } \\ \end{array} } \right] + \left[ {\begin{array}{*{20}c} k & { - k} \\ { - k} & k \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {\theta_{M} } \\ {\theta_{L} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {T_{M} } \\ {T_{L} } \\ \end{array} } \right], $$
(3.1)

where the torsional torque equal to T s = k(θ M − θ L) is assumed, while k is the elasticity constant, θ M and θ L are the respective positions on the motor and load side, and b is the damping constant. The general mathematical notation of the system in the state space is presented by:

$$ \begin{aligned} \dot{\varvec{x}}\text{(}t\text{) = }\varvec{Ax}\text{(}t\text{) + }\varvec{Bu}\text{(}t\text{)} \hfill \\ \varvec{y}\text{(}t\text{) = }\varvec{Cx}\text{(}t\text{) + }\varvec{Du}\text{(}t\text{)} \hfill \\ \end{aligned}, $$
(3.2)

where x is the state variables vector, u is the input vector, y is the output vector, A is the state matrix, B is the input matrix, C is the output matrix and D is the feedforward matrix.

Fig. 4
figure 4

Kinematic elastic and damped two-mass system

For the described case, the following state variables are assumed to be \(\omega_{M} = {\dot{\theta}_M}, \omega_{L} = {\dot{\theta}_L},\) T s; as a result, the description in the state space assumes the formula (D is the zero matrix):

$$ \begin{aligned} \underbrace {{\left[ {\begin{array}{*{20}c} {\dot{\omega }_{M} } \\ {\dot{\omega }_{L} } \\ {\dot{T}_{S} } \\ \end{array} } \right]}}_{{\dot{\varvec{x}}}} & = \underbrace {{\left[ {\begin{array}{*{20}c} { - \frac{b}{{J_{M} }}} & {\frac{b}{{J_{M} }}} & { - \frac{1}{{J_{M} }}} \\ {\frac{b}{{J_{L} }}} & { - \frac{b}{{J_{L} }}} & {\frac{1}{{J_{L} }}} \\ k & { - k} & 0 \\ \end{array} } \right]}}_{\varvec{A}}\underbrace {{\left[ {\begin{array}{*{20}c} {\omega_{M} } \\ {\omega_{L} } \\ {T_{S} } \\ \end{array} } \right]}}_{\varvec{x}} + \underbrace {{\left[ {\begin{array}{*{20}l} {\frac{1}{{J_{M} }}} \hfill & 0 \hfill \\ 0 \hfill & { - \frac{1}{{J_{L} }}} \hfill \\ 0 \hfill & 0 \hfill \\ \end{array} } \right]}}_{\varvec{B}}\underbrace {{\left[ {\begin{array}{*{20}l} {T_{M} } \hfill \\ {T_{L} } \hfill \\ \end{array} } \right]}}_{\varvec{u}} \\ \varvec{y} & \varvec{ = }\underbrace {{\left[ {\begin{array}{*{20}l} 1 \hfill & 0 \hfill & 0 \hfill \\ 0 \hfill & 1 \hfill & 0 \hfill \\ \end{array} } \right]}}_{\varvec{C}}\left[ {\begin{array}{*{20}c} {\omega_{M} } \\ {\omega_{L} } \\ {T_{S} } \\ \end{array} } \right]. \\ \end{aligned} $$
(3.3)

The derivatives of subsequent state variables are defined by the formula:

$$ \left\{ {\begin{array}{*{20}l} {\dot{\omega }_{M} = \frac{{T_{M} - b(\omega_{M} - \omega_{L} ) - T_{S} }}{{J_{M} }}} \hfill \\ {\dot{\omega }_{L} = \frac{{T_{S} + b(\omega_{M} - \omega_{L} ) - T_{L} }}{{J_{L} }}} \hfill \\ {\dot{T}_{S} = k(\omega_{M} - \omega_{L} )} \hfill \\ \end{array} } \right.. $$
(3.4)

It is possible to pass from the MIMO system, as defined in the state space, to the system description by using the transfer function matrix, with the application of the relation H (s) = C (s I − A ) −1 B + D. Interconnections between subsequent inputs and outputs of the system are presented in Fig. 3. Taking into account formula (3.3) and the conversion relationship, the following transfer function matrix is obtained:

$$ \begin{aligned} \varvec{H}\text{(}s\text{)} & \text{ = }\varvec{C}\text{(}s\varvec{I} - \varvec{A}\text{)}^{ - 1} \varvec{B} + \varvec{D} = \left[ {\begin{array}{*{20}c} {\frac{{\mathcal{L}\left\{ {\omega_{M} } \right\}}}{{\mathcal{L}\left\{ {{\rm T}_{M} } \right\}}}} & {\frac{{\mathcal{L}\left\{ {\omega_{M} } \right\}}}{{\mathcal{L}\left\{ {{\rm T}_{L} } \right\}}}} \\ {\frac{{\mathcal{L}\left\{ {\omega_{L} } \right\}}}{{\mathcal{L}\left\{ {{\rm T}_{M} } \right\}}}} & {\frac{{\mathcal{L}\left\{ {\omega_{L} } \right\}}}{{\mathcal{L}\left\{ {{\rm T}_{L} } \right\}}}} \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {H_{1,1} (s)} & {H_{1,2} (s)} \\ {H_{2,1} (s)} & {H_{2,2} (s)} \\ \end{array} } \right] \\ & = \left[ {\begin{array}{*{20}c} {\frac{{J_{L} s^{2} + bs + k}}{{s((J_{M} + J_{L} )k + (J_{M} + J_{L} )bs + J_{M} J_{L} s^{2} )}}} & {\frac{k + bs}{{s((J_{M} + J_{L} )k + (J_{M} + J_{L} )bs + J_{M} J_{L} s^{2} )}}} \\ {\frac{k + bs}{{s((J_{M} + J_{L} )k + (J_{M} + J_{L} )bs + J_{M} J_{L} s^{2} )}}} & {\frac{{J_{M} s^{2} + bs + k}}{{s((J_{M} + J_{L} )k + (J_{M} + J_{L} )bs + J_{M} J_{L} s^{2} )}}} \\ \end{array} } \right]. \\ \end{aligned} $$
(3.5)

The denominator is identical in each of the four functions. The transfer function matrix (3.5) is then transformed to:

$$ \varvec{H}(s) = \left[ {\begin{array}{*{20}l} {\frac{1}{{(J_{M} + J_{L} )s}}\frac{{s^{2} + 2\zeta_{ar} \omega_{ar} s + \omega_{ar}^{2} }}{{s^{2} + 2\zeta_{r} \omega_{r} s + \omega_{r}^{2} }}\frac{{\omega_{r}^{2} }}{{\omega_{ar}^{2} }} - \frac{1}{{(J_{M} + J_{L} )s}}\frac{{2\zeta_{ar} \omega_{ar} s + \omega_{ar}^{2} }}{{s^{2} + 2\zeta_{r} \omega_{r} s + \omega_{r}^{2} }}\frac{{\omega_{r}^{2} }}{{\omega_{ar}^{2} }}} \hfill \\ {\frac{1}{{(J_{M} + J_{L} )s}}\frac{{2\zeta_{ar} \omega_{ar} s + \omega_{ar}^{2} }}{{s^{2} + 2\zeta_{r} \omega_{r} s + \omega_{r}^{2} }}\frac{{\omega_{r}^{2} }}{{\omega_{ar}^{2} }} - \frac{1}{{(J_{M} + J_{L} )s}}\frac{{R^{ - 1} s^{2} + 2\zeta_{ar} \omega_{ar} s + \omega_{ar}^{2} }}{{s^{2} + 2\zeta_{r} \omega_{r} s + \omega_{r}^{2} }}\frac{{\omega_{r}^{2} }}{{\omega_{ar}^{2} }}} \hfill \\ \end{array} } \right] $$
(3.6)

using the relations:

$$ \left\{ {\begin{array}{*{20}l} {\omega_{r} = \sqrt {\frac{{J_{M} + J_{L} }}{{J_{M} J_{L} }}k,} \quad \omega_{ar} = \sqrt {\frac{k}{{J_{L} }},} } \hfill \\ {\zeta_{r} = \frac{{J_{M} + J_{L} }}{{J_{M} J_{L} }}\frac{b}{{2\omega_{r} }},\quad \zeta_{ar} = \frac{b}{{2J_{L} \omega_{ar} }},} \hfill \\ {R = J_{L} /J_{M} } \hfill \\ \end{array} } \right. $$
(3.7)

where ω r and ω ar are respectively angular resonance and anti-resonance frequencies, ζ r and ζ ar are respectively the damping coefficient for resonance and anti-resonance frequencies, and R is the inertia ratio. Formula (3.6) allows for proper synthesis of the anti-resonance filter.

3.3 Synthesis of a Fixed Anti-resonance Filter Based on the Identification of the Mechanical Part of Drive

The identification of H 1,1(s) is performed due to the measurement accessibility of the motor torque (proportional to the reference current along the q-axis) and motor speed (sensor on the motor side). Generally, all identification methods are divided into two main groups of identification algorithms: parametric [14] and non-parametric. The selection of model structure and fitting algorithm is required for the application of the parametric approach. However, a parametric model is not necessary for the proper tuning of the digital anti-resonance filter used in the control system shown in Fig. 2. Therefore, non-parametric identification in the frequency domain is applied. The system is identified in open loop. Additionally, the dynamic of the current closed loop is neglected because it has no influence on resonance frequency components in the range of identification frequencies. The reference current along the q-axis is used as the excitation input using a chirp signal. A chirp signal is a cosine wave with linear frequency modulation. The frequency is linearly changed from f min to f max in the time equal to τ inc (see the top of Fig. 5).

Fig. 5
figure 5

Drive response to the excitation with a chirp signal: time response (top) and frequency response (bottom)

Therefore, this signal allows for the excitation of resonance components in the required range of frequencies. Excitation and response signals in the time and frequency domain is shown in Fig. 5. The frequency amplitude response of drive G ident is calculated on the basis of a discrete Fourier transform of the input and output signal. The number of filter sections and their parameters is determined after the identification procedure, which is equal to the number of frequencies recognized as resonant. The location of the filter in the control system is presented in Fig. 2. The filter is marked as an anti-resonant filter, whose input is, in this particular case, ω d, while the output is ω f,r. In this case, both the structure and parameters of the filter are determined by human intervention on the basis of data obtained during the identification procedure.

Separate identification is performed for three configurations of load machine. Each modification of the mechanical part of the drive results in a change of system frequency response. The amplitude frequency response family of the drive in different cases is shown in Fig. 6. Therefore, for each case, a separate anti-resonance filter is required. Instead of preparing three filters, only one fixed anti-resonance filter is prepared (Fig. 7) for the whole family of frequency responses. The filter consists of four sections: (1) a low-pass filter approximation of inverse Chebyshev parameters [15]: a p = 3 dB, a z = 3.8 dB, f p = 76 Hz, f z = 80.88 Hz, f 0 = f z; (2) a notch filter [15]: f z = 200 Hz, f width = 180 Hz; (3) another notch filter: f z = 280 Hz, f width = 200 Hz; and (4) another low pass filter: a p = 3 dB, a z = 20 dB, f p = 200 Hz, f z = 200 Hz, f 0 = 400 Hz.

Fig. 6
figure 6

Frequency response family: gain (top) and magnitude (bottom)

Fig. 7
figure 7

Frequency response of the fixed anti-resonance filter tuned on the basis of the frequency response family of the drive

4 Online Trained Neural Speed Controller

4.1 Structure and Training Algorithm

The changes in the moment of inertia influence the parameters of the mechanical resonance frequencies, which essentially complicates their damping. In such cases, the adaptive controllers, based on ANNs that are trained online, can be good solutions. In order to solve this issue an anti-resonance filter with fixed, properly tuned frequency characteristics is proposed and an adaptive neural controller is applied. Such an approach provides a compromise effect of higher frequency torsional vibration damping at changing values of these frequencies. The neural controller structure is shown in Fig. 8. The following signals have been chosen as network inputs: the reference speed value, the present and previous samples of filtered speed signals, and the current value of the control error. These input signals are delivered to the three-neuron hidden layer with a non-linear activation function. The output signal \( i_{q}^{\text{ref}} \) is computed by one output neuron with a linear activation function.

Fig. 8
figure 8

Structure of non-linear PID-2DOF controller

Besides the selection of the ANN structure, there are two different issues during neural controller synthesis: the determination of the network error signal and the training rule. For the ANN speed controller, the network error value is related to the speed control error according to the following formula [5]:

$$ E = \frac{1}{2}\left( {\omega_{ref,f} - \omega_{f,r} } \right)^{2} = \frac{1}{2}e^{2} . $$
(4.1)

Due to the assumed “online” training mode of the ANN, the selection of an appropriately fast and efficient training method becomes an important issue. The chosen method is the RPROP algorithm, described in [16]. Its basic advantage, in comparison to the widely applied error backpropagation method, is the fact that, instead of the accurate value of the error function gradient, only its sign is required. The value of weight w ij of the connection between i-th neuron, in a given layer, and j-th neuron, in the preceding layer, is modified in each step of the ANN training, according to equation [16]:

$$ \Delta w_{ij} (k) = - \eta_{ij} (k) \cdot \text{sgn} \left( {\frac{\partial E(w(k))}{{\partial w_{ij} }}} \right) = - \eta_{ij} (k) \cdot \text{sgn} \left( {S_{ij} (k)} \right). $$
(4.2)

In the RPROP method, for each weight coefficient, corresponding training factors η ij is defined. The training factors are also updated in every algorithm step:

$$ \eta_{{\text{ij}}} (k) = \left\{ {\begin{array}{*{20}l} {\hbox{min} (a \, \cdot \, \eta_{{\text{ij}}} (k - 1),\eta_{\hbox{max} } )} \hfill & {\text{if}} \hfill & {S_{{\text{ij}}} (k)\, \cdot \, S_{{\text{ij}}} (k - 1) > 0} \hfill \\ {\hbox{max} (b \, \cdot \, \eta_{{\text{ij}}} (k - 1),\eta_{\hbox{min} } )} \hfill & {\text{if}} \hfill & {S_{{\text{ij}}} (k)\, \cdot \, S_{{\text{ij}}} (k - 1) < 0} \hfill \\ {\eta_{{\text{ij}}} (k - 1)} \hfill & {} \hfill & {\text{other}\,\text{cases}} \hfill \\ \end{array} } \right.. $$
(4.3)

An analysis of the results of many simulations and experimental tests for different conditions of the controller and the drive system operation leads to the conclusion that formula (4.3), in the original RPROP algorithm, should be redefined. A stable online training process, under conditions of measured real feedback signals with some disturbances, is obtained when a tolerant band ΔS is used instead of a zero value, under the conditions of the training factors’ update (4.4) [5].

$$ \eta_{{\text{ij}}} (k) = \left\{ {\begin{array}{*{20}l} {\hbox{min} (a \cdot \eta_{{\text{ij}}} (k - 1),\eta_{\hbox{max} } )} \hfill & {\text{if}} \hfill & {S_{{\text{ij}}} (k) \cdot S_{{\text{ij}}} (k - 1) > \Delta S} \hfill \\ {\hbox{max} (b \cdot \eta_{{\text{ij}}} (k - 1),\eta_{\hbox{min} } )} \hfill & {\text{if}} \hfill & {S_{{\text{ij}}} (k) \cdot S_{{\text{ij}}} (k - 1) < - \Delta S} \hfill \\ {\eta_{{\text{ij}}} (k - 1)} \hfill & {\text{if}} \hfill & { - \Delta S \le S_{{\text{ij}}} (k) \cdot S_{{\text{ij}}} (k - 1) \le \Delta S} \hfill \\ \end{array} } \right.. $$
(4.4)

One of the RPROP algorithm advantages is eliminated by the modification resulting from the introduction of a “tolerant band” into formula (4.4), since the value of the error function gradient is required when considering the non-zero value of ΔS, which is present in the inequalities. This modification implies the substitution of the comparator, described by Eq. (4.3), with a comparator with hysteresis, according to (4.4), where the hysteresis width is the value of ΔS.

In such a comparator, it is necessary to determine not only the sign of the error function gradient, but also to calculate its value. Fortunately, the value of ΔS is selected empirically on the basis of tests, which allows the use if roughly estimated gradient values in (4.4) only. In [17], a modified and improved ANN training algorithm is applied, assuring the improvement of the control properties. For this purpose, the formula’s error backpropagation method is utilized.

In order to avoid neural network overtraining, a particularly small limit value of the error e x(k) should be assumed so that the network weights are not modified when |e k(k)| < e x(k) (when the training process is stopped). The training is continued when |e k(k)| > e x(k). This modified training rule is defined as:

$$ \Delta w_{ij} (k) = \left\{ {\begin{array}{*{20}c} { - \eta_{ij} (k) \cdot \text{sgn} \left( {S_{ij} (k)} \right)} & {\text{if}\;\;\left| {e_{k} (k)} \right| > e_{x} (k)} \\ 0 & {\text{if}\;\;\left| {e_{k} (k)} \right| \le e_{x} (k)} \\ \end{array} } \right.. $$
(4.5)

4.2 Experiment Results

Efficiency of the applied fixed filter may be evaluated by comparison of step response waveforms in the speed control system with and without an anti-resonance filter, as presented in Figs. 9 and 10. Unacceptable oscillations in the rotational speed, leading to stability loss, are displayed by the system without a filter (Fig. 9). These oscillations are eliminated by the introduction of an anti-resonance filter, which can be observed in the waveform in Fig. 10. Nevertheless, a small pulsation in the motor speed is still observed after a step change in load signal i q. The process of controller adaptation, i.e., the ANN training process, which, after two periods of reference, changes to provide a successful effect, is well-depicted in Fig. 10.

Fig. 9
figure 9

Reference and measured (ω) rotational speed and current (i q ) of the speed control system during the step response without an anti-resonance filter

Fig. 10
figure 10

Reference and measured (ω) rotational speed and current (i q ) of speed control system during the step response with an anti-resonance filter

The basic goal of the adaptive neural speed controller application is obtaining good and invariable control properties despite changes in the mechanism moment of inertia. This property may be noticed by an analysis of waveforms in the reference speed, measured speed and q-axis current during controller responses, which lead to a step change in the reference speed and load torque step changes, as presented in Figs. 11 and 12. The experimental waveforms are registered for the largest (Fig. 11) and the smallest (Fig. 12) value in the moment of inertia, demonstrating almost identical properties, which are confirmed by the quality indexes collected in Table 1. These quality indexes should be read as follows: response time (10–90 %), settling time (5 %), and settling time after a step change in load (5 %). The speed signal during the reference speed step change increases rapidly, while the reference value is achieved with no overshot from either value of inertia; whereas, after load torque step changes, the small dynamic error in speed control is quickly removed, as are the extreme values in the moment of inertia. The application of this controller is fully substantiated by the obtained results.

Fig. 11
figure 11

Reference (ω ref) and measured (ω) rotational speed and current (i q ) of the speed control system during the step response and step change of the load torque for the largest value in the moment of inertia (J max)

Fig. 12
figure 12

Reference (ω ref) and measured (ω) rotational speed and current (i q ) of the speed control system during the step response and step change of the load torque for the smallest value in the moment of inertia (J min)

Table 1 Quality indexes for the neural network controller

5 Terminal SMC of a Direct Drive with a Multi-mass Mechanical Load

5.1 Concept of the Terminal SMC

Let us assume that a second order system, described by Eq. (5.1), is considered:

$$ \begin{aligned} \frac{{\text{d}x_{1} }}{{\text{d}t}} & = x_{2} \\ \frac{{\text{d}x_{2} }}{{\text{d}t}} & = f({\mathbf{x}}) + b({\mathbf{x}}) \cdot u + d({\mathbf{x}},t), \\ \end{aligned} $$
(5.1)

where x = [x 1 x 2]T is the system state vector and u is the scalar control input. Functions f(x), b(x) are smooth and known, while component d(x, t) represent uncertainties and disturbances, thereby satisfying:

$$ \left| {d({\mathbf{x}},t)} \right| \le D. $$
(5.2)

In the case of the classical SMC, the control signal switching surface is defined as:

$$ \sigma = x_{2} + \lambda \cdot x_{1} = 0, $$
(5.3)

where λ > 0 defines the decay rate of generalized error σ.

The control task is to bring the state vector to the origin. If the initial value of the state vector is x(0) = [x 1(0) 0]T, then, in the sliding mode, the system will tend to a steady state, according to the equation:

$$ x_{1} = x_{1} (0) \cdot {\text{e}}^{ - \lambda t} . $$
(5.4)

The system, therefore, tends asymptotically to a steady state with a time constant of 1/λ and reaches it after an infinitely long time.

In [10], a new formula for switching surface is proposed:

$$ \sigma = x_{2} + \lambda \cdot x_{1}^{{{q \mathord{\left/ {\vphantom {q p}} \right. \kern-0pt} p}}} = 0, $$
(5.5)

where p and q are positive odd integers, which satisfy the following condition: q < p. Considering the acceptable range of values of the state variables, Eq. (5.5) may be written in a modified form:

$$ \sigma = x_{2} + \lambda \cdot \left| {x_{1} } \right|^{{{q \mathord{\left/ {\vphantom {q p}} \right. \kern-0pt} p}}} \, \cdot \, \text{sgn} (x_{1} ) = 0. $$
(5.6)

A sufficient condition of the sliding mode is to ensure that, for the full variation range for parameters and possible disturbances, the derivative of the Lyapunov function \( V({\mathbf{x}}) = \frac{1}{2}\sigma^{2} \) satisfies the relationship:

$$ \frac{\text{d}}{{{\text{d}}t}}V({\mathbf{x}}) = \frac{1}{2} \cdot \frac{\text{d}}{{{\text{d}}t}}\sigma^{2} = \frac{{{\text{d}}\sigma }}{{{\text{d}}t}} \cdot \sigma < - \eta \cdot \left| \sigma \right|, $$
(5.7)

where η > 0 is a constant.

The proposed control law is expressed by the formula:

$$ u = - b^{ - 1} ({\mathbf{x}}) \cdot \left( {f({\mathbf{x}}) + \lambda \cdot \frac{q}{p} \cdot \left| {x_{1} } \right|^{{\frac{q}{p} - 1}} \cdot x_{2} \cdot \text{sgn} (x_{1} ) + L \cdot \text{sgn} (\sigma )} \right). $$
(5.8)

Let \( x_{1} \ge 0 \). After substituting control law (5.8) in the equations of object (5.1), the derivative of the generalized error (5.6) can be written as:

$$ \begin{aligned} \frac{{{\text{d}}\sigma }}{{{\text{d}}t}} & = \frac{{{\text{dx}}_{2} }}{{{\text{d}}t}} + \lambda \cdot \frac{q}{p} \cdot x_{1}^{{\frac{q}{p} - 1}} \cdot x_{2} \\ & = f({\mathbf{x}}) + b({\mathbf{x}}) \cdot u + d({\mathbf{x}},t) + \lambda \cdot \frac{q}{p} \cdot x_{1}^{{\frac{q}{p} - 1}} \cdot x_{2} \\ & = d({\mathbf{x}},t) - L \cdot \text{sgn} (\sigma ). \\ \end{aligned} $$
(5.9)

Condition (5.7) is thus fulfilled when the amplitude of the switching part is selected, such that:

$$ L > \left| {d({\mathbf{x}},t)} \right| + \eta . $$
(5.10)

In the sliding mode, the system will tend to a steady state according to equation:

$$ x_{2} = - \lambda \cdot x_{1}^{{{q \mathord{\left/ {\vphantom {q p}} \right. \kern-0pt} p}}} . $$
(5.11)

Finite time t s is taken to travel x(0) to origin (0, 0) as follows:

$$ t_{s} = \frac{p}{{\lambda \cdot \left( {p - q} \right)}} \cdot \left| {x_{1} (0)} \right|^{{1 - \frac{q}{p}}} . $$
(5.12)

5.2 Elimination of Singularities in the Control Law

In a real control system, it is possible that x2 ≠ 0 and x1 = 0. This condition does not occur in an ideal sliding mode, described by Eq. (5.6), but can occur in the phase of reaching the sliding surface or during the sliding motion, which is a result of discretization errors associated with the measurements of variables. In this case, the value of the control law component \( \lambda \cdot \frac{q}{p} \cdot \left| {x_{1} } \right|^{{\frac{q}{p} - 1}} \cdot x_{2} \) tends to infinity. This may cause oscillations and instability in the control system. To eliminate this singularity, a modified switching surface is proposed [11]

$$ \sigma = \frac{1}{{\lambda^{{{p \mathord{\left/ {\vphantom {p q}} \right. \kern-0pt} q}}} }} \cdot \left| {x_{2} } \right|^{{{p \mathord{\left/ {\vphantom {p q}} \right. \kern-0pt} q}}} \cdot \text{sgn} (x_{2} ) + x_{1} = 0. $$
(5.13)

During the sliding mode, Eq. (5.13) is equivalent to Eq. (5.6). The modification used in (5.13), however, allows for the introduction of control law:

$$ u = - b^{ - 1} ({\mathbf{x}}) \cdot \left( {f({\mathbf{x}}) + \lambda^{{\frac{p}{q}}} \cdot \frac{q}{p} \cdot \left| {x_{2} } \right|^{{2 - \frac{p}{q}}} \, \cdot \, \text{sgn} (x_{2} ) + L \cdot \text{sgn} (\sigma )} \right). $$
(5.14)

A similar analysis of the stability of the sliding mode, as in (5.9), leads to the equation:

$$ \begin{aligned} \frac{{{\text{d}}\sigma }}{{{\text{d}}t}} & = \frac{1}{{\lambda^{{{p \mathord{\left/ {\vphantom {p q}} \right. \kern-0pt} q}}} }} \cdot \frac{p}{q} \cdot x_{2}^{{{p \mathord{\left/ {\vphantom {p q}} \right. \kern-0pt} q} - 1}} \cdot \frac{{{\text{dx}}_{2} }}{{{\text{d}}t}} + x_{2} \\ & = \frac{1}{{\lambda^{{{p \mathord{\left/ {\vphantom {p q}} \right. \kern-0pt} q}}} }} \cdot \frac{p}{q} \cdot x_{2}^{{{p \mathord{\left/ {\vphantom {p q}} \right. \kern-0pt} q} - 1}} \cdot \left( {f({\mathbf{x}}) + b({\mathbf{x}}) \cdot u + d({\mathbf{x}},t)} \right) + x_{2} \\ & = \frac{1}{{\lambda^{{{p \mathord{\left/ {\vphantom {p q}} \right. \kern-0pt} q}}} }} \cdot \frac{p}{q} \cdot x_{2}^{{{p \mathord{\left/ {\vphantom {p q}} \right. \kern-0pt} q} - 1}} \cdot \left( {d({\mathbf{x}},t) - L \cdot \text{sgn} (\sigma )} \right). \\ \end{aligned} $$
(5.15)

When q < p < 2q and L is selected in accordance with formula (5.10), condition (5.15) is satisfied. Control law (5.14) eliminates the singularity that occurs in control law (5.8), thereby offering the same sliding trajectory.

5.3 Modification of the Sliding Surface

The sliding surface described by Eqs. (5.6) or (5.13) does not limit the scope of the state variables. However, in practical drive applications, it is necessary, for example, to limit the speed by which the actuator system accelerates. Therefore, it is proposed to modify the sliding surface according to the relationship:

$$ \sigma = \left\{ {\begin{array}{*{20}l} {x_{2} + x_{2}^{\hbox{max} } \cdot \text{sgn} (x_{1} )} & {\text{if}} & {\lambda \cdot \left| {x_{1} } \right|^{{{q \mathord{\left/ {\vphantom {q p}} \right. \kern-0pt} p}}} \ge x_{2}^{\hbox{max} } } \\ {\frac{1}{{\lambda^{{{p \mathord{\left/ {\vphantom {p q}} \right. \kern-0pt} q}}} }} \cdot \left| {x_{2} } \right|^{{{p \mathord{\left/ {\vphantom {p q}} \right. \kern-0pt} q}}} \cdot \text{sgn} (x_{2} ) + x_{1} } & {\text{if}} & {\lambda \cdot \left| {x_{1} } \right|^{{{q \mathord{\left/ {\vphantom {q p}} \right. \kern-0pt} p}}} < x_{2}^{\hbox{max} } } \\ \end{array} } \right.. $$
(5.16)

The fulfilment of the condition for sliding mode \( \sigma = 0 \) on the sliding surface, as defined by Eq. (5.16), provides the motion with speed \( \pm x_{2}^{\hbox{max} } \) away from the origin. The switching point is determined at the intersection of characteristics. When moving at constant speed \( x_{2}^{\hbox{max} } \cdot \text{sgn} (x_{1} ) \), control law (5.14) is reduced to the following formula:

$$ u = - b^{ - 1} ({\mathbf{x}}) \cdot \left( {f({\mathbf{x}}) + L \cdot \text{sgn} (\sigma )} \right). $$
(5.17)

In the control systems of the electric drive, it is necessary to take into account the delay introduced by the blocks of discrete control algorithms, whose delay is caused by the filtering of measurement signals, with an equivalent delay in the force or torque closed-loop control. This delay in the control loop limits the allowable gain. For the sliding motion along the surface, as defined by Eq. (5.6), the speed gain can be determined according to the following formula:

$$ \frac{{\partial x_{2} }}{{\partial x_{1} }} = - \lambda \cdot \frac{q}{p} \cdot \frac{{\left| {x_{1} } \right|^{q/p} }}{{\left| {x_{1} } \right|}}. $$
(5.18)

For x 1 values close to zero, expression (5.18) tends to infinity. In a closed control loop with delays, such a large speed gain leads to vibrations. Therefore, it is proposed to limit the velocity gain for small values of x 1. The modified sliding surface, therefore, has the following formula:

$$ \sigma = \left\{ {\begin{array}{*{20}l} {x_{2} + x_{2}^{\hbox{max} } \cdot \text{sgn} (x_{1} )} \hfill & {\text{if}} \hfill & {x_{2}^{\hbox{max} } \le \hbox{min} \left( {\lambda_{l} \cdot \left| {x_{1} } \right|,\lambda \cdot \left| {x_{1} } \right|^{q/p} } \right)} \hfill \\ {\frac{1}{{\lambda^{p/q} }} \cdot \left| {x_{2} } \right|^{p/q} \cdot \text{sgn} (x_{2} ) + x_{1} } \hfill & {\text{if}} \hfill & {\lambda \cdot \left| {x_{1} } \right|^{q/p} < \hbox{min} \left( {\lambda_{l} \cdot \left| {x_{1} } \right|,x_{2}^{\hbox{max} } } \right)} \hfill \\ {x_{2} + \lambda_{l} \cdot x_{1} } \hfill & {\text{if}} \hfill & {\lambda \cdot \left| {x_{1} } \right| \le \hbox{min} \left( {\lambda_{l} \cdot \left| {x_{1} } \right|^{q/p} ,x_{2}^{\hbox{max} } } \right)} \hfill \\ \end{array} } \right.. $$
(5.19)

The value of the slope of the linear part of sliding surface λ l is chosen in order to eliminate vibration for small values of variable x 1. In this interval, the control law has the formula:

$$ u = - b^{ - 1} \left({\mathbf{x}}) \cdot (f({\mathbf{x}}) + \lambda_{l} \cdot x_{2} + L \cdot \text{sgn} (\sigma)\right). $$
(5.20)

Figure 13 presents the components of the sliding surface described by Eq. (5.19). The top part of Fig. 13 illustrates the surfaces for the range of motion in the drive from 25 rad to 0, while the bottom shows the zoom in the vicinity of the origin.

Fig. 13
figure 13

Components of the sliding surface: non-linear surface (solid line), speed limit (dotted line) and rectilinear final part (grey line)

5.4 Elimination of Chattering in the Control Signal

The control law described by Eqs. (5.14, 5.17, 5.20) comprises the component, which is dependent on the sign of generalized error σ. During the sliding motion, this component switches with a infinitely high frequency, ensuring the movement of the state vector object along the sliding surface. In any real system, the frequency of these switches is limited by the delays that occur in objects, which may lead to the loss of the possibility to keep the state vector at the given surface [18]. The application of a fast alternating control signal also stimulates unmodelled vibration modes of the object, which is disadvantageous from the viewpoint of motion accuracy and durability of the device. When implementing the sliding mode control, the discontinuous control law is often replaced by a continuous approximation. For example, a saturation function is defined according to the following equation:

$$ \text{sat} (\sigma ) = \left\{ {\begin{array}{*{20}l} {\frac{\sigma }{\Phi }} & {\text{if}} & {\left| \sigma \right| \le\Phi } \\ {\text{sgn} (\sigma )} & {\text{if}} & {\left| \sigma \right| >\Phi } \\ \end{array} } \right. $$
(5.21)

Function sat() defines the band of width \( \Phi \) on both switching surfaces sides, wherein the discrete component control law is replaced by the component proportional to the generalized error. The studies presented in [18] do not show any significant advantages, which are suggested in the literature on non-linear approximation function sgn() in comparison to function sat(). It should be noted that, when replacing sgn() with function sat(), a finite gain is introduced into the control system. From the point of view of stability, it is important that the cumulative gain in the closed-loop control is defined by the width of band approximation Φ and sliding surface slope λ l [18].

Conditions for switching between different segments of the sliding surface (5.19) and corresponding control laws (5.14, 5.17, 5.20) provide a bumpless change in the structure of the control system, but only if there is a perfect sliding motion when the state vector is on the defined sliding surface. However, replacing relay function sgn() in the control law with continuous approximation sat() causes the state vector to move at distance \( 0 \le \delta \le\Phi \) from the sliding surface. In this case, the switching control structures involves large step change in the control signal, which is undesirable in practice. Therefore, a partial reduction of this effect, by dynamically changing the width of the approximation of the maximum value from \( \Phi ^{\hbox{max} } \) to minimum \( \Phi ^{\hbox{min} } \) is proposed.

The maximum value of width \( \Phi \) is taken when changing the sliding surface (5.19), after which it is exponentially reduced, according to Eq. (5.22), to the minimum value, thereby guaranteeing the proper elimination of chattering in the control signal:

$$ \Phi =\Phi ^{\hbox{min} } + \left( {\Phi ^{\hbox{max} } -\Phi ^{\hbox{min} } } \right) \cdot {\text{e}}^{{ - {t \mathord{\left/ {\vphantom {t {T_{\Phi } }}} \right. \kern-0pt} {T_{\Phi } }}}} $$
(5.22)

The rate of change in width approximation, determined by T Φ, is selected experimentally.

5.5 Simulation Tests

Identified parameters of the laboratory stand were used for the synthesis of the simulation model of the drive. This model takes into account the following phenomena: the discrete character of the speed and position controllers, the equivalent model of a torque control loop, which includes delay and inertia, the complex multi-mass structure of the mechanical load, and the quantized measurement of the angular position of the motor shaft. The speed, calculated on the basis of a discrete measurement position, was subjected to digital filtering to eliminate the influence of the mechanical load resonances.

To verify the appropriateness of the presented theoretical analysis, a set of simulation tests was carried out. A sliding mode position controller for direct drive was designed. Position \( \theta \) and drive speed \( \omega \) were assumed as state vectors of the object, as described by Eq. (5.23)

$$ \begin{aligned} & \frac{{\text{d}\theta }}{{\text{d}t}} = \omega \\ & \frac{{\text{d}\omega }}{{\text{d}t}} = - \frac{{\hat{k}_{f} }}{{\hat{J}}} \cdot \omega + \frac{{k_{T} }}{{\hat{J}}} \cdot i_{q}^{{\text{ref}}} + d, \\ \end{aligned} $$
(5.23)

where the estimated moment in system inertia \( \hat{J} \) is the geometric mean of the variation range of the moment of inertia in the drive:

$$ \hat{J} = \sqrt {J^{\hbox{max} } .J^{\hbox{min} } } $$
(5.24)

and \( \hat{k}_{f} \) is the estimated viscous friction coefficient, equal to half of the maximum coefficient of friction in the drive. Component d describes the influence of load torque, as well as the equivalent effect of the variability moment of inertia and friction in the assumed range. The method of determining D variability of component d is presented in [12]. The control signal is the reference current in q-axis \( i_{q}^{\text{ref}} \), which is proportional to torque command \( T_{\text{m}}^{\text{ref}} \).

All tests were carried out using the same scenario: a step change in position from the specified initial value \( 8 \cdot \pi \) radians to zero. Speed limitation during the drive operation was assumed as equal to \( \pm 10 \) rad/s.

In the first stage of the study, the case of the smallest moment of inertia was analysed. Due to the largest gain in the object, this case determined the range of the stable operation of the drive. Control law was implemented according to Eq. (5.8). Saturation function sat() was applied and the selected sliding surface was described in a similar way to formula (5.16). The test results are shown in Fig. 14.

Fig. 14
figure 14

Base terminal SMC

Given that, in the real implementation of the sliding mode controller, there are cases in which the measured position is equal to zero, while the speed is non-zero, control law (5.8) introduces the control signals of a large amplitude and high switching frequency. This status is unacceptable in practice. It should be noted that increasing the width of function sat() leads to a deterioration in the quality of tracking the sliding surface, while chattering occurs during the standstill of the drive.

In the second stage of the research, modified control law (5.14) was applied, which eliminated the mathematical singularity points. Satisfactory results were obtained for this case, whose waveforms are shown in Fig. 15. However, closer analysis revealed the appearance of oscillations around the origin. They were caused by a velocity gain that was too high near the location of the error, which was equal to zero. Due to the delays in the object, such a gain led to a loss of stability. In a direct drive system with a complex, multi-mass mechanical structure, such oscillations of the torque command may lead to the excitation of high frequency vibrations, which will adversely affect the quality of control and stability of the mechanism. Therefore, it is advised to eliminate them. In the third stage of the study, modified sliding surface (5.19) was applied, along with appropriately switching the control law in the different phases of motion (5.14, 5.17, 5.20). The test results for the lowest assumed inertia drive are shown in Fig. 16.

Fig. 15
figure 15

Non-singular terminal SMC

Fig. 16
figure 16

Non-singular terminal SMC with a rectilinear final part

For such designed control systems, there are no vibrations in the reference current, while the settling time is only slightly longer in relation to the basic terminal sliding motion.

In the second part of the simulation study, the robustness of the designed control system was tested. Tests were carried out for the unbalanced load and the maximum moment of inertia.

Unbalanced load carried the gravity load torque in the case of medium inertia. The test results are given in Fig. 17. The system behaved properly, while the speed and position waveforms were similar to those in the case of low inertia, as shown in Fig. 16. The apparent difference only occurred during the phase of constant speed movement, since function sat() was applied to the motion control law instead of the function of sgn(), meaning that the state vector did not exactly slip on the set sliding surface.

Fig. 17
figure 17

Medium inertia and high-load torque case

The last presented tests were made for the case of the maximum moment of inertia; the waveforms are shown in Fig. 18.

Fig. 18
figure 18

Maximum inertia case

For comparison, aggregated phase trajectories of all tests are plotted in Fig. 19. Significant differences only appeared in the phase of acceleration, which was not covered by a sliding motion. The motion phase with constant speed deviations were visible due to a gravity torque in the case of medium inertia.

Fig. 19
figure 19

Aggregated phase trajectories for minimum inertia (grey line), medium inertia (dotted line) and maximum inertia (solid line) cases

The braking phase is clearly visible: the trajectory was initially non-linear, then rectilinear in the final part. In the course of the motion phase with constant speed, it can be seen that the deviation from the set speed decreased. This was the result of modifying the applied width of linear function sat() according to Eq. (5.22).

6 Conclusions

As a result of the proposed synthesis of a fixed anti-resonance filter, a family of frequency characteristics was gathered for a range of possible changes in the moment of inertia. Further analysis of the characteristics family allowed for the definition of a set of common resonant frequencies and their changes for different operation parameters of the drive. In the final stage, a filter with a fixed structure and fixed parameters was derived, taking into account all identified mechanical resonance frequencies.

The advantages of the proposed concept of a neural speed controller trained online, which are automatic tuning and the ability to adapt to the variable parameters of the object, have been confirmed. It transpired that the controller was not only tuned to the changes of the object parameters, but also influenced by the reference signal or load torque during all transient processes, in order to minimize the speed control error. The pointed modifications of the original RPROP training algorithm are essential for the operation of a proper system. The proposed original modifications may demonstrate its usefulness in different ANN applications as well. Very good static and dynamic properties of the speed controller may be successfully implemented using the presented ANN in industrial drive systems.

The chapter presents the implementation of a modified terminal sliding mode control method, which is applied to a direct drive. Given the conditions for the stable operation of the control system of an object with delays, it was necessary to apply a continuous approximation of a discontinuous component control law, while replacing the non-linear sliding surface of the rectilinear segment of constant slope in the vicinity of the zero position error.

The presented conclusions are based on the critical evaluation of the terminal sliding control method and its application in drives with a complex mechanical structure. From the scope of the sliding control methods, better properties can be found, for example, with a variable sliding surface method [6] and a method with a reference model [18]. However, it is noted that, in the scope of the terminal sliding control, further work should be published that is focused, for example, on eliminating the chattering without the need for a continuous approximation of discontinuous functions in the control law [7].

The useful properties of the presented methods have allowed for the consideration of their implementation in industrial drives.