## Abstract

To improve the robustness and performance of the dynamic response of a cage asynchronous motor, a direct torque control (DTC) based on sliding mode control (SMC) is adopted to replace traditional proportional-integral (PI) and hysteresis comparators. The combination of the proposed strategy with sinusoidal pulse width modulation (SPWM) applied to a three-level neutral point clamped (NPC) inverter brings many advantages such as a reduction in harmonics, and precise and rapid tracking of the references. Simulations are performed for a three-level inverter with SM-DTC, a two-level inverter with SM-DTC and the three-level inverter with PI-DTC-SPWM. The results show that the SM-DTC method achieves better performance in terms of reference tracking, while adoption of the three-level inverter topology can effectively reduce the ripples. Applying the SM-DTC to the three-level inverter presents the best solution for achieving efficient and robust control. In addition, the use of a sliding mode speed estimator eliminates the mechanical sensor and this increases the reliability of the system.

### Similar content being viewed by others

## 1 Introduction

In recent years, there has been an increasing demand for the use of multi-level converters in power electronics applications. The increase in the number of voltage levels in the converter output voltage leads to a satisfactory level of total harmonic distortion (THD) while reducing the stress in each switching component by reducing their supported voltages especially in high power applications. The lower cost of low voltage switches further makes multi-level converters even more attractive [1]. The common neutral point clamped (NPC) inverter is one of the most used multi-level topologies in industrial applications [2] because of the several advantages offered in terms of its reduced stress across the semiconductors, less harmonic content, and lower voltage distortion [3, 4]. A sinusoidal pulse width modulation (SPWM) strategy is commonly used for converter operation [5]. Variable speed drive of electric motors continues to be the objective of scientific research because of the technological evolution of converters and the development of increasingly efficient control laws. Direct torque control (DTC) is one of the strategies for a high performance motor drive. Its principle is to obtain decoupled control of the stator flux and electromagnetic torque based on hysteresis controllers and a switching table [6]. DTC has a relatively simple control structure, is less sensitive to variations in motor parameters (as only the stator resistance is used to estimate the stator flux), and offers a higher dynamic performance than conventional vector control [7]. However, the variable switching frequency caused by hysteresis regulators results in unwanted ripples in flux and torque responses, increased acoustic noise and increased control difficulty in low speed regions [8]. Several improvements have been proposed to overcome these problems. Model predictive control (MPC) is one of the methods used to determine an appropriate voltage vector which can reduce the ripples, though the great complexity of the control law and the unsatisfactory performance in the steady state limit its uses [1, 9]. The DTC method with constant switching frequency based on SPWM has been presented to circumvent the aforementioned drawbacks, as this strategy is based on PI regulators. This improves the system dynamics while eliminating the static errors between the estimated quantities and the references [10]. However, the linear mathematical model of the SPWM-DTC generally contains approximate assumptions and unspecified dynamics. These can affect the stability and robustness of the entire system. Another method proposed in the literature is the DTC based on an artificial neural network. Despite having good performance this strategy needs a very long process that doesn’t allow real-time command especially when the motor is fed by a multilevel inverter [11]. This paper presents a DTC method based on sliding mode control (SMC) which is one of the robust and non-linear strategies widely used in the field of electric motor drives. This technique is characterized by good dynamic performance since it forces the system trajectory to move along the sliding surface according to a control law whose stability is verified analytically by Lyapunov theory [12]. The most powerful advantages of this technique include high robustness against various system uncertainties, fast dynamic response and simplicity in implementation [13]. In a high-performance control system, the accuracy of the state feedback parameters is an important factor which influences the reliability of the whole system, in particular the flux and torque which must be estimated with precision. In this regard, optimal observers can be designed to improve the performance of asynchronous motor drives [14]. In the literature, various observers have been proposed such as Luenberger observers [15], sliding mode observers (SMO) [16], extended Kalman filters (EKF) [17] etc. The observer based on SMO used in this work; presents the advantage of an exact convergence of the real system states even in the presence of disturbances due to a nonlinear switching term called sliding surface [18]. This type of observer also has other advantages such as rapid response, insensitivity to changes in parameters and good robustness.

Therefore, the main purpose of this work is to propose an enhanced sensorless sliding mode technique based on direct torque control (SM-DTC) via a three-level NPC inverter in which principles of DTC, SMC, SPWM, multi-level inverter and SMO are combined for improved robustness, minimized ripples and higher operating performance. Moreover, this paper proposes an advanced SMO of stator flux which directly allows the determination of the estimated speed, torque and rotor flux to reduce structural complexity and increase estimation accuracy. To highlight the aforementioned advantages of the whole proposed structure, simulation results are compared between the proposed strategy (SM-DTC) using a three-level inverter, the same SM-DTC using a two-level inverter, and the PI-DTC-SPWM using the three-level inverter.

The paper is structured as follows. The modeling of the asynchronous motor is briefly summarized in Section 2 and the proposed SM-DTC strategy is described in detail in Section 3. Section 4 introduces the NPC topology and the use of the SMO for stator flux estimation is outlined in Section 5. The simulation results are presented and discussed in Section 6 and a general conclusion is presented in Section 7.

## 2 Mathematical model

The mathematical model of an asynchronous motor in the stationary reference frame is given as follows:

where V_{ds} and V_{qs} are the direct and quadrature stator voltage components, respectively. I_{ds}, I_{qs} and I_{dr}, I_{qr} are the direct and quadrature stator and rotor current components, respectively. φ_{ds}, φ_{qs} and φ_{dr}, φ_{qr} are the respective direct and quadrature stator and rotor flux components. R_{s} and R_{r} are the stator and rotor resistances, respectively.

The fundamental mechanical equation and the electromagnetic torque can be expressed as:

where *P* is the number of pole pairs, Ω is the motor mechanical speed, and T_{L} is the load torque. *f* and *J* are the friction and the moment of inertia coefficients, respectively.

## 3 Application of the sliding mode technique (SM) in direct torque control (DTC)

The block diagram of the variable-structure sliding mode control of an asynchronous motor (SM-DTC) is illustrated in Fig. 1. The quantities that are required are the stator flux, the torque and the motor speed. It is possible, in certain cases, to suppress the speed control loop and to control the motor using only its torque and flux [19]. The combination of the SMC with the DTC-SPWM provides a robust control which keeps the parameters to be adjusted within a well-defined range (Fig. 1) [20].

The complete flowchart of the proposed algorithm is illustrated in Fig. 2.

### 3.1 Stator flux and torque control

The main task of the variable structure controller, illustrated in Fig. 3, is to obtain a fast and reliable control of the torque and the stator flux. For this reason, two sliding mode controllers with PI regulators are designed, and the direct and quadrature reference voltages are obtained at the output of the controller to generate the SPWM. In the following illustration, the reference and the estimated values are designated respectively by (*) and (^).

Based on (1)–(2) and under the assumed orientation where the d component is aligned to the stator flux vector direction, i.e., the quadrature stator flux is zero ‘φ_{qs} = 0’, the developed equations can be written as:

The above equations indicate that the direct and quadrature stator voltage components V_{ds} and V_{qs} can be employed for flux and torque control, respectively.

From the same perspective as the PI-DTC-SPWM control strategy, two sliding surfaces (S_{1},S_{2}) are selected according to (4), in which S_{1} is defined from the error of the stator flux to control the direct voltage component, while the surface S_{2} represents the error of the electromagnetic torque to allow the determination of the quadrature voltage component. Since defining a sliding surface based only on the error will not allow the imposition of the dynamics for the error correction [17], these two surfaces S_{1} and S_{2} are designed so as to enforce sliding-mode operation with first-order dynamics of \( {\mathrm{S}}_1={\dot{\mathrm{S}}}_1=0 \) and \( {\mathrm{S}}_2={\dot{\mathrm{S}}}_2=0 \) as:

where c_{φs} and c_{Te} are constant gains to be defined according to the desired dynamics. e_{φs} and e_{Te} are theerror functions that must be minimized:

In sliding mode, the control laws limit the state of the system to the surfaces (S_{1} and S_{2}) and their behavior is exclusively governed by (S_{1} = S_{2} = 0). First-order linear torque and flux error dynamics resulting from (5) are:

Then, the control law can be proposed in a similar way as:

where K_{pφs}, K_{pTe} are the proportional gains of the PI regulators which allow the convergence of the errors, and must be chosen to satisfy the condition of stability \( {S}_1\frac{dS_1}{dt}<0\ \mathrm{et}\ {S}_2\frac{dS_2}{dt}<0 \) using the Lyapunov criterion [21]. K_{Iφs}, K_{ITe} are the integral gains which also ensure convergence of the errors and decoupling between the torque and the flux. In order to reduce chattering phenomena, the traditional sign function of the switching control is replaced by a more flexible saturation function “sat(S_{1}) and sat(S_{2})”.

### 3.2 Speed control

Figure 4 shows the speed loop using sliding mode control. The controller is designed so that the regulation loop generates the reference of the electromagnetic torque with a rapid dynamic response. The speed sliding surface is defined by:

The mechanical equation of the asynchronous motor is given by:

By substituting (9) into (10), the surface derivative is:

Based on the sliding mode theory, there is:

The equivalent command part (T_{eeq}) is defined during the sliding mode state with Ṡ_{Ω} = 0, T_{en} = 0 and \( {\dot{\varOmega}}^{\ast } \) =0, and is:

The non-linear part (Ten) is defined as:

From (13) and (14) the torque control equation in sliding mode is given by:

where c_{Ω} is a positive gain.

## 4 Three-level NPC inverter

Multi-level inverters are increasingly used for drive and control of AC motors because of their multiple advantages over the two-level inverters especially in medium and high power applications [22, 23]. A simplified circuit diagram of a three-level NPC inverter is shown in Fig. 5. Each phase is made by four switches S_{i1}-S_{i4} with four freewheeling diodes D_{i1}-D_{i4}, where “i” corresponds to one of the phase segments a, b, or c. The DC bus voltage V_{dc} is divided into two equal parts by the line capacitors C_{1} and C_{2}, which provide a neutral point N. The clamping diodes D_{si1} and D_{si2} are used to clamp the output potential to the neutral point N. This generates an additional zero voltage level, i.e., +V_{dc}/2, 0 and -V_{dc}/2 taking the neutral point as a reference [24].

The phase to neutral (V_{an}, V_{bn}, V_{cn}) and the phase to phase (V_{ab}, V_{bc}, V_{ca}) output voltages are expressed as:

A number of modulation techniques can be used to control three-phase multi-level converters. These modulation techniques are used to generate the PWM pulses in order to meet the objectives of converter control, such as low THD, etc. [25]. In SPWM, the switching states of the switches are obtained by comparing a balanced three-phase reference voltage with two triangular high frequency carriers. Variations in the amplitude and frequency of the reference voltage modify the generated pulse patterns which determine the inverter output.

## 5 Sliding mode observer

The sliding mode observers (SMO) offer high efficiency, ease of implementation with no in-depth calculation, and good robustness against the variation of machine parameters [26]. The objective of the flux observer in sliding mode is to reconstruct the stator flux components and to use them for torque and speed estimation (as shown in Fig. 6). According to the characteristic equations of the asynchronous motor (1), the variations of the stator flux and current are obtained as:

where: \( {T}_s=\frac{L_s}{R_s}\ and\ {T}_r=\frac{L_r}{R_r} \) are the stator and rotor time constants and \( \sigma =1-\frac{L_m}{L_s{L}_r} \) is the leakage coefficient. The term (ω_{s}φ_{s}) contains the pulsation and stator flux considered as a perturbation for the design of the observer. Thus, the estimated stator flux and current are:

where *K* is the observer gain which must be positive, and S_{I} is the sliding surface of the current error. A PI controller is proposed to impose the error convergence as:

The advantage of the stator flux observer lies in the fact that it is not related to the rotor speed, while the latter can be estimated as:

Rotor flux and torque can be estimated as:

## 6 Simulation results and discussion

The global control and observation algorithms presented previously are simulated using MATLAB/SIMULINK in this section. The simulation results are obtained for a 300 W three-phase squirrel cage asynchronous motor, with its characteristics given in Table 1. The results are compared between SM-DTC via a three-level NPC inverter, the same control with a two-level inverter and PI-DTC using the three-level NPC inverter. The motor flux magnitudes are taken from a sliding mode observer applied to all schemes. The figures are specified by (a) for SM-DTC with a three-level NPC inverter, (b) for SM-DTC with a two-level inverter, and (c) for PI-DTC with the three-level NPC inverter.

Figure 7 illustrates the speed tracking performance to the reference of 1146 rpm while the load torque is applied at t = 0.3 s. It can be noticed that Fig. 7(a) and (b), presenting the SM-DTC, have the fastest responses at startup by reaching the steady state in only 0.17 s, and very minimal overshoots of less than 6.385% compared to that in Fig. 7(c) with PI-DTC. They are also least affected by the application of load. The SM-DTC strategy with the three-level inverter offers the best reference tracking according to the zoomed part of Fig. 7(a) (with negligible error) compared to the other two strategies (with errors around 0.5%).

Figure 8 shows the torque responses for the three systems when the load is introduced at t = 0.3 s. In steady state, it is clearly seen that the proposed strategy shown in Fig. 8(a) has smaller ripples compared to the others presented in Fig. 8(b) and (c). In addition, the transient response time and overshoot are minimized with the SM-DTC with both the two-level and three-level inverter cases. It can also be observed that the SM-DTC strategy has a smaller initial settings torque than that of the PI-DTC-SPWM because of the control strategy which minimizes the startup current.

Figure 9 illustrates the stator current with their zoomed waveforms.

As can be seen, Fig. 9(a) and (b) show good sine waveforms that quickly reach the steady state after the application of the load. In addition, the SM-DTC strategy, with either the two-level or three-level inverter, limits the current drawn at startup (around half of that with PI-DTC-SPWM) indicating a significant advantage.

Figure 10 compares the current harmonic spectra of the three cases. It can be seen that the cases with the three-level inverter shown in Fig. 10(a) and (c) have lower harmonic distortion than the two-level shown in Fig. 10(b). In addition, SM-DTC produces lower ripples in the stator current, torque and flux than those of PI-DTC, and thus further improves the THD, as can be seen from Fig. 10(a) and (c).

From the stator flux amplitude waveforms shown in Fig. 11, it can be observed that the stator flux in the three cases follows the reference 0.9960 Wb with great precision. The SM-DTC algorithm associated with the three-level inverter has reduced flux ripples (0.4%) compared to those of the PI-DTC-SPWM strategy with the same inverter (0.55%) and the SM-DTC strategy with the two-level inverter (5%). In addition, the SM-DTC strategy associated with the three-level inverter shows excellent controllability during load disturbance.

From the above analysis, the proposed method that combines the SM-DTC with the three-level inverter and the SMO shows the following characteristics:

Good reference tracking with almost zero static error.

Reduced ripples in flux and torque.

Limited current drawn at start-up.

Low THD.

Excellent controllability during load disturbance.

Simplified structure with a single observer.

## 7 Conclusion

This paper presents a comparative analysis of a cage asynchronous motor supplied by a three-level NPC inverter with SM-DTC, a conventional two-level inverter with the same SM-DTC, and the three-level NPC inverter with PI-DTC-SPWM. The study shows that the use of the three-level inverter considerably reduces the ripples and the THD of the motor current, while the adoption of the robust SM-DTC control law offers good tracking of the references, a significant reduction of the starting current and faster dynamic response. In conclusion, the use of the three-level NPC inverter with the variable structure strategy SM-DTC and the SMO results in excellent control of the drive system.

## 8 Nomenclature

DTC Direct Torque Control

NPC Neutral Point Clamped

MPC Model Predictive Control

PI-DTC-SPWM Direct Torque Control based on PI regulators using Sinusoidal Pulse Width Modulation

SMC Sliding Mode Control

SMO Sliding Mode Observer

SM-DTC Sliding Mode based on Direct Torque Control

SPWM Sine Pulse Width Modulation

THD Total Harmonic Distortion

V_{ds}, V_{qs} Direct and quadrature stator voltages

I_{ds}, I_{qs} Direct and quadrature stator currents

I_{dr}, I_{qr} Direct and quadrature rotor currents

R_{s}, R_{r} Stator and Rotor resistances

L_{s}, L_{r} Stator, Rotor and mutual inductances

ω_{s} Synchronous speed

T_{e}, T_{L} Electromagnetic and load torques

Ω Mechanical Speed

P Number of Pole Pairs

*J, f* Moment of inertia and friction coefficients

φ_{ds}, φ_{qs} Direct and quadrature stator flux

φ_{dr}, φ_{qr} Direct and quadrature rotor flux

T_{s}, T_{r} Stator and rotor time constants

σ Leakage coefficient

K_{PTe}, K_{Pφs} proportional gains of the PI regulators

K_{ITe}, K_{Iφs} Integral gains of the PI regulators

*K* Observer’s gain

c_{Ω}, c_{φs}, c_{Te} Speed, stator flux and torque sliding mode gains

S_{I}, S_{1}, S_{2}, S_{Ω} Sliding surfaces of the current, stator flux, torque and speed errors

e_{φs}, e_{Te} Stator flux and torque error functions

## Availability of data and materials

Data sharing not applicable to this article as no datasets were generated or analyzed during the current study.

## References

Nathenas, T., & Adamidis, G. (2012). A new approach for SVPWM of a three-level inverter-induction motor fed-neutral point balancing algorithm.

*Simulation Modelling Practice and Theory, 29*, 1–17.Rodríguez, J., Bernet, S., Wu, B., Pontt, J. O., & Kouro, S. (2007). Multilevel voltage-source-converter topologies for industrial medium-voltage drives.

*IEEE Transactions on Industrial Electronics, 54*(6), 2930-2945.Porru, M., & Serpi, A. (2017).

*Ignazio Marongiu*. Alfonso Damiano: Suppression of DC-Link Voltage Unbalance in Three-Level Neutral-Point Clamped Converters, Journal of the Franklin Institute. https://doi.org/10.1016/j.jfranklin.2017.11.039.El Ouanjli, N., Derouich, A., El Ghzizal, A., Taoussi, M., El Mourabit, Y., Mezioui, K., & Bossoufi, B. (2019). Direct torque control of doubly fed induction motor using three-level NPC inverter.

*Protection and Control of Modern Power Systems*. https://doi.org/10.1186/s41601-019-0131-7.El Daoudi, S., Lazrak, L., & Benzazah, C. (2018). Mustapha Ait Lafkih: Open loop control of voltage across a three phase resistive load fed by two level inverters controlled by DSP TMS320F2 8 12.

*International Review of Electrical Engineering (IREE), 13*(6), 440–451.El Daoudi, S., Lazrak, L., Benzazah, C., & Lafkih, M. A. (2019). An improved Sensorless DTC technique for two/three-level inverter fed asynchronous motor.

*International Review on Modelling and Simulations (IREMOS), 12*(5), 322–334.Badreddine, N. A. A. S., NEZLI, L., NAAS, B., MAHMOUDI, M. O., & ELBAR, M. (2012). Direct torque control based three level inverter-fed double star permanent magnet synchronous machine.

*Energy Procedia, 18*, 521–530.Ammar, A., Bourek, A., & Benakcha, A. (2017).

*Nonlinear SVM-DTC for induction motor drive using input-output feedback linearization and high order sliding mode control*ISA Transactions.Zhang, Y., & Yang, H. (July 2015). Generalized two-vector-based model-predictive torque control of induction motor drives.

*IEEE Transactions on Power Electronics, 30*(7), 3818–3829.Lazrak, L., El Daoudi, S., Benzazah, C., & Lafkih, M. A. (2018). Direct control of the stator flux and torque of the three-phase asynchronous motor using a 2-level inverter with sinusoidal pulse width modulation.

*Journal of Theoretical and Applied Information Technology, 96*(18), 6199-6210.Mahmoud, N. M. A. E., Abdu, M. M., Moustafa, M. S., & Saraya, S. F. (2018). Speed control of three phase induction motor using neural network.

*International Journal of Computer Science and Information Security, 16*(5), 257-272.Liu, J., Vazquez, S., Wu, L., Marquez, A., Gao, H., & Franquelo, L. G. (2017). Extended state observer based sliding mode control for three-phase power converters.

*IEEE Transactions on Industrial Electronics, 64*(1), 22–31.Achour, A., Rekioua, D., Mohammedi, A., Mokrani, Z., Rekioua, T., & Bacha, S. (2016). Application of direct torque control to a photovoltaic pumping system with sliding-mode control optimization.

*Electric Power Components & Systems, 44*(2), 172–184.Zhang, X., & Li, Z. (Aug. 2016). Sliding mode observer-based mechanical parameter estimation for permanent-magnet synchronous motor.

*IEEE Transactions on Power Electronics, 31*(8), 5732–5745.Karlovský, P., & Lettl, J. (2017).

*Improvement of DTC performance using Luenberger observer for flux estimation*. Kouty nad Desnou: 2017 18th International Scientific Conference on Electric Power Engineering (EPE).Li, J., Guo, X., Chen, C., & Qingyu, S. (2019). Robust fault diagnosis for switche d systems base d on sliding mode observer.

*Applied Mathematics and Computation Vol, 341*, 193–203.Demir, R., & Barut, M. (2018). Novel hybrid estimator based on model reference adaptive system and extended Kalman filter for speed-sensorless induction motor control.

*Transactions of the Institute of Measurement and Control, 40*(13), 3884–3898.Alejandro Apaza-Perez, W., Moreno, J. A., & Fridman, L. M. (2018). Dissipative approach to sliding mode observers design for uncertain mechanical systems.

*Automatica, 87*, 330–336.Lascu, C., Boldea, I., & Blaabjerg, F. (2004). Direct torque control of Sensorless induction motor drives: A sliding-mode approach.

*IEEE Transactions on Industry Applications, 40*(2), 582–590.El Ouanjli, N., Derouich, A., El Ghzizal, A., Motahhir, S., Chebabhi, A., El Mourabit, Y., & Taoussi, M. (2019). Modern improvement techniques of direct torque control for induction motor drives - a review.

*Protection and Control of Modern Power Systems*. https://doi.org/10.1186/s41601-019-0125-5.Zaihidee, F. M., Mekhilef, S., & Mubin, M. (2019). Robust speed control of PMSM using sliding mode control (SMC)—A review.

*Energies, 12*, 1669.Joy, M. C., & J., B. (2017).

*Three-phase infinite level inverter fed induction motor drive*. Trivandrum: 2016 IEEE International Conference on Power Electronics, Drives and Energy Systems (PEDES).In, H., Kim, S., & Lee, K. (2018). Design and control of small DC-link capacitor-based three-level inverter with neutral-point voltage balancing.

*Energies, 11*, 1435.Usta, M. A., Okumus, H. I., & Kahveci, H. (2017). A simplified three-level SVM-DTC induction motor drive with speed and stator resistance estimation based on extended Kalman filter.

*Electrical Engineering, 99*, 707–720.Singh, S. P., & Tripathi, R. K. (2013).

*Performance comparison of SPWM and SVPWM technique in NPC bidirectional converter*. Allahabad: 2013 IEEE Students Conference on Engineering and Systems (SCES).Ammar, A., Bourek, A., & Benakcha, A. (April 2017). Sensorless SVM-direct torque control for induction motor drive using sliding mode observers.

*Journal of Control, Automation and Electrical Systems, 28*, 189–202.

## Acknowledgements

The authors would like to thank the anonymous reviewers for their helpful and constructive comments that would greatly contribute in improving the final version of the paper. They would also like to thank the Editors for their generous comments and support.

## Funding

The work is not supported by any funding agency. This is the authors own research work.

## Author information

### Authors and Affiliations

### Contributions

SED, LL and MAL performed the study of Sliding mode approach applied to sensorless direct torque control of asynchronous cage motor via multi-level inverter and engaged in modifying the paper and submit it to the PCMP. They also checked the grammar and writing of the paper. The authors read and approved the final manuscript.

### Corresponding author

## Ethics declarations

### Competing interests

The authors declare that they have no competing interests.

## Rights and permissions

**Open Access** This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.

## About this article

### Cite this article

El Daoudi, S., Lazrak, L. & Ait Lafkih, M. Sliding mode approach applied to sensorless direct torque control of cage asynchronous motor via multi-level inverter.
*Prot Control Mod Power Syst* **5**, 13 (2020). https://doi.org/10.1186/s41601-020-00159-7

Received:

Accepted:

Published:

DOI: https://doi.org/10.1186/s41601-020-00159-7