SciELO - Scientific Electronic Library Online

 
vol.86 issue208Numerical comparisons of sandwich viscoelastic beam modelsPredictive model of microorganism mesophiles in processed meat products during storage under fluctuating temperatures author indexsubject indexarticles search
Home Pagealphabetic serial listing  

Services on Demand

Journal

Article

Indicators

Related links

  • On index processCited by Google
  • Have no similar articlesSimilars in SciELO
  • On index processSimilars in Google

Share


DYNA

Print version ISSN 0012-7353

Dyna rev.fac.nac.minas vol.86 no.208 Medellín Jan./Mar. 2019

https://doi.org/10.15446/dyna.v86n208a4.65567 

Artículos

Continuous Estimation of Speed and Torque of Induction Motors Using the Unscented Kalman Filter under Voltage Sag

La estimación continúa de la velocidad y torque de un motor de inducción usando el filtro de Kalman sin perfume bajo huecos de tensión

Amin Darvishia 

Aref Doroudib 

a Faculty of Engineering, Shahed University, Tehran, Iran. a.darvishi@shahed.ac.ir

b Faculty of Engineering, Shahed University, Tehran, Iran. doroudi@shahed.ac.ir


Abstract

Due to sensor limitations in some applications, induction motors state estimators are widely used in industries. One of the most powerful tools available for estimation is the Kalman filter. In this paper, unscented Kalman filter (UKF) and extended Kalman filter (EKF) is used to estimate the speed and torque of an induction motor. In the UKF algorithm, three types of unscented transformation (UT): basic, general and spherical types are presented and compared. It will be shown that the spherical UKF presents good estimation performance. Speed and torque Estimation approach is applied at both steady state conditions and at the time of sudden and rapid change in the motor input voltage. It will be shown that, EKF cannot trace the motor speed at the time of a large disturbance. Finally, experimental validation is presented to show the effectiveness of UKF for continuous estimation of torque and speed of induction motors.

Keywords: unscented Kalman filter; extended Kalman filter; sensorless control; induction motor; induction motor parameter estimation

Resumen

Como se veía las limitaciones en los sensores en algunas aplicaciones, los motores asíncronos estimadores de estado ya son ampliamente utilizados en las industrias. Una de las herramientas disponibles y más potentes es el filtro de Kalman. En el presente artículo el Filtro de Kalman Unscented (UKF en siglas en inglés) y el Filtro de Kalman Extendido(EKF) se usan para estimación de la velocidad y el par motor o torque de un motor de inducción. En el algoritmo de UKF, hay 3 tipos de la transformación “unscented” que son presentados y comparados: Basica, general y esférica. Se muestra en ese artículo que el UKF esférico presentará una buena estimación. En materia de la estimación de la velocidad y el par motor, que son aplicados tanto en condiciones que están en estado estacionario como en los cambios repentinos y rápidos en el voltaje de entrada del motor. Y además va a mostrar que el EKF no es capaz de rastrear la velocidad del motor en el momento cuando hay una larga perturbación. Por último, la validación experimental es presentada para mostrar la eficacia del UKF de forma continua en la estimación del par motor y la velocidad de los motores asíncronos.

Palabras clave: filtro de Kalman unscented; Filtro de Kalman extendido; control sin sensor; motor asíncrono; parámetro de estimación del motor inducción

1. Introduction

Recently Kalman filter is used abundantly to estimate dynamic states and parameters of electrical machines specially induction motors. Expensive sensors such as speed, torque and flux sensors are substituted by Kalman filter estimators. [1]. Due to inherent nonlinearity of induction motors, linear (traditional) Kalman filter does not work well for this subject. In recent years, Extended Kalman Filter (EKF) and Unscented Kalman Filter (UKF) have been proposed for these motors [2]. EKF doesn’t show a good efficiency itself, because of using the first order estimation of Taylor’s expansion in system with high non-linearity and sometimes it can cause divergence problems [3,4]. In order to dominate this subject, UKF that are based on unscented transformation (UT) and statistical linearity techniques is proposed [5-7]. UKF is based on traditional Kalman filter and in general is divided to two stages of prediction and estimation. The main advantage of UKF versus EKF is that it does not any linearization for calculating the state predictions and covariances. In this case, available information does not miss in the higher orders of function and the method represents a more suitable estimation for real time applications. Moreover, UKF doesn’t need Jacobian matrix and so the amount of CPU capacity that may be allocated to an application will reduce. All previous papers concerning UKF for estimating states of induction motor evaluate the motor performance in a steady state conditions and when an input with slow changes applies to motor. However, in distribution networks, there are some abrupt, fast and nonlinear phenomena which may be applied to input terminals of induction motors. In these cases, the motor states such as speed and torque should also be correctly estimated continuously in order to improve motor controller’s actions. UKF-based algorithms use estimated past data for prediction of the future states. Therefore, for fast and abrupt changes, there will be the possibility of error.

In this paper, UKF is used for continuous and online estimation of speed and torque of an induction motor. States estimation is done for both steady state conditions and when an abrupt and extreme change is occurred in motor input terminals. The abrupt and nonlinear phenomenon is voltage sag. Three kinds of UKF are used for continuous estimation of speed and torque of induction motors. For comparison, EKF is also applied and its results will be compared with UKF.

This paper is organized as fallows. In part 2, the induction motor nonlinear model will be described and in part 3, three unscented transformation (UT) are introduced. Part 4, described the UKF algorithm and in part 5 simulations based on UKF are presented. Part 6 compares UKF results with EKF. In part 7, induction motor parameters are estimated with both Filters and Experimental results are discussed in part 8. Finally, in part 9 conclusions are drawn.

2 . Nonlinear induction motor model

In this paper, nonlinear dynamic equations of induction motor are given in the stator frame. Rotor fluxes, stator currents and speed are considered as the state variables. Mathematical model of induction motor in dq frame is [8]:

where:

The electromagnetic torque of induction motor is also expresses as follow:

Stator currents are selected as measuring outputs. So, measuring equation will define as follow:

Output matrix expresses as follow:

In order to simulate, continuous time equations should be transformed to discrete version. According to basic definition of time derivation for x variable, we have [9]:

3 . Unscented transformation

Output describing of a nonlinear system under a random input is so difficult. The most simple and common method for solving nonlinear problems, is system linearization. Linearization about the operating point is a good estimation in several cases, but in highly nonlinear system can cause inaccurate results. UT is a nonlinear transformation which can estimate output of a nonlinear system under a random input [10]. UT is based on the fact that estimation of a normal distribution is simpler than nonlinear functions [11]. A system with the following characteristics is assumed:

Where, x is a n×1 vector that is specified with probability distribution function, F with the mean, m and the covariance matrix, P. y is also an m×1 vector that depends on variable x by the nonlinear function g(x).

The goal of UT is to obtain a series of vectors which are called sigma points. Sigma point series should have similar mean and covariance of the distribution function F. Sigma points are expanded through nonlinear function g(x) for estimation mean and covariance of y. There are several types of UT. The most common types are described below.

3.1. Basic UT

In basic UT, 2n point will select for sigma points as follow:

Where, is ith column of Square root of a matrix is calculated with Cholesky factorization. It is worth to mention that computational time of Cholesky factorization considerably depends on the number of sigma points.

Sigma points which contain mean and covariance of x, should have real value. By using Cholesky factorization, the sigma points are not complex number [11]. In UT, a weight will give to each of the sigma based on UT type, weight values can be considered the same or different. In basic UT, equal weights of will be used for computing mean and covariance [12].

3.2. General UT

In this type of UT, 2n+1 points will be used for sigma points distribution as follows.

shows distance from the origin of coordinate axes. If is higher than zero, sigma points will take some distance from the origin [4].

Basic UT has efficiency close to general UT due to 2n sigma points selection and it can be assumed as a special case of general UT.

3.3. Spherical UT

Spherical UT uses n+2 sigma points. This kind of UT shows a high numerical stability. Spherical UT uses equal weights like basic UT.

Spherical sigma points are selected with the following algorithm:

1) First, 0th weight is selected as if .

2) The rest of the weights are selected as:

The weights can be scaled as follow:

Scaling can reduce the effect of higher order components. Finally, 0’th weight of sigma points series can be modified as:

where α is the called scalar factor of sigma points (0 ≤ α ≤1) and it represents dispersion of sigma points about mean. The second parameter β contains distribution information. Assuming Gaussian distribution, value 2 for this parameter is optimal [13-16].

3) Single-value vectors are considered as follows:

4) By an iterative manner, σ vectors are expanded by the following procedures for j=2 to n:

In the above relations, is a column vector that contains zeros of jth iteration, j shows state vector dimensions and i expresses a series of sampling points.

5) After iterative procedure of stage 4, contains n-elements vectors

Therefore, Sigma points will compute as follow:

4. UKF algorithm

For nonlinear systems, Extended Kalman Filter (EKF) was first introduced. EKF efficiency is acceptable if the system is approximately linear (semi linear) and otherwise it shows inaccurate results. In order to estimate highly nonlinear systems, UKF algorithm which is a combination of Kalman filter and UT was introduced [9].

UKF includes three important following steps:

Step 1: Sigma points computation

Step 2: Prediction

Step 3: State correction

As said before, Sigma points should have similar mean and covariance of the main variable distribution to form an unscented transformation. Using following nonlinear transformation, a cloud of points will create:

The Mean can be estimated by the weighted mean of the transformed points, as follow:

where, weighted factors wi is defined as:

Covariance is also computed by:

Below, UKF algorithm is described:

1) It is assumed that the studied system is a nonlinear system of discrete type:

where, wk is Gaussian white process noise by 0 mean and covariance Qk and vk is also Gaussian white measuring noise by 0 mean and covariance Rk. xk is state vector nx1, y is measuring vector mx1 and h is measuring matrix which its dimension is mxn. f ( xk,uk) is also a known, nonlinear function.

1) Initial estimation in zero time is obtained as follow.

3) Following time updated relations are applied point by point to promote state estimation and covariance:

a) For going forward from time step (k-1 (to k, sigma points of is first selected according to the type of UT. Best estimations will be

b) Known nonlinear function f(.) in eq. (38 ) is used for transforming sigma points into vectors.

a) To obtain the states estimation in step time k, based on the last data, vectors are computed as follow:

a) Previous step covariance, according to eq. (37) is computed. It should be mentioned that Qk-1 has been added to the end of relation in order to include process noise.

3) As step 3, measuring points should also be time updated as follow:

a) Sigma points , which has suitable changes are selected, the best estimation for mean and covariance xk, now will be and .

Known nonlinear measuring equation h (.)’ is applied to transform sigma points into vectors as:

a) , vectors obtained from step b are combined with each other for achieving predicted values in time step k, as follow:

b)Now, the predicted covariance should be computed according to eq. (37). Note that Rk has been added to the end of relation in order to include measuring noise.

b)Mutual covariance between and is given by:

Finally, the updated version of parameters can be obtained using standard Kalman filter as follow:

It should be mentioned about estimation algorithm and its sampling time that the UKF algorithm is constructed based on the measuring point interval. The sampling time must then be selected such that it does not cause inaccuracy in the estimation process. Therefore, if sampling time increases, a margin [17] should be used to increase real time observation and decisions on the studied system.

Another important point is that process and measuring noise matrixes are selected by trial and error. Some researchers believed that because of unknown system state, process noise is not measurable and therefore offline data can be used to compute the matrix. Initial value of matrix Px is not so important, because the matrix value will be modified in the iterative algorithm [12].

5. Simulation Results

In this section, performances of UKF are assessed to estimate speed and torque of induction motor in two cases: steady state and under occurring of a voltage sag. The specifications of studied motor are given in the appendix. What attracts attention in UKF algorithm is that when a nonlinear phenomenon such as rapid voltage change in the motor terminals occurs, which type of UT is more efficient recognition of UT with high accuracy can be effective in controlling of industrial process.

Voltage sag is reduction of voltage magnitude for times shorter than 1 minute. Voltage sag occurs in the event of short circuit in power networks or startup of large loads [18]. If voltage sags remain more than one cycle, they can influence the fundamental frequency. It is worth to note that voltage sag is a statistical phenomenon and its properties depend on the short circuit cause and location.

Change of speed, motors malfunction and loss of synchronism are among important effects of voltage sag. These factors may result in shutting down of an industrial process. Assuming a symmetrical voltage sag beginning in time t=1s, lasts for 5 cycles, and depth of 0.6 per unit (Fig. 1). After fault clearing, the motor draws high current in like manner of motor starting. The purpose is to estimate speed and torque of induction motor using UKF in the event of voltage sag. Speed and torque can continuously be estimated using dynamic equations of induction motor and measurement of voltages and currents in every moment.

Source: The Authors.

Figure 1 Voltage of phase ‘a’ during the voltage sag. 

Block diagram of UKF algorithm has been shown Fig. 2. UKF algorithm is independent of the reference frame of selected dynamic equations of induction motor. However, the stationary reference frame is selected for easy UKF application. Fig. 3 presents real and estimated value of electromagnetic torque by using two UT algorithms (spherical and general). As observed in the figure, both kinds of UT present good estimation of electromagnetic torque.

Source: The Authors.

Figure 2 Kalman filter block diagram to estimate motor speed and torque. 

Source: The Authors.

Figure 3 The real value and estimation of torque during the voltage sag (general and spherical UTs are used). 

Fig. 4 shows the estimation of motor speed under the same conditions. As it can be seen, spherical UT has more appropriate results than general UT. Electromagnetic torque is obtained from combination of the first four equations of induction motor. Motor speed is the integration of motor torque. With regard to Taylor expansion, one can conclude that the degree of speed nonlinearity is higher than torque nonlinearity. Spherical UT presents excellent accuracy for motor speed as a high nonlinear variable.

Source: The Authors.

Figure 4 Comparison of real and estimated values of motor speed during the voltage sag (general UT and spherical UT). 

Table 1 indicates mean of error for different UTs. As it is seen in the table, spherical UKF has less error than general UKF. Regarding iterative-based computation of σ, spherical UT is expected to need more time for execution than two other UTs.

Table 1 The mean of error of speed and torque for different UTs. 

Source: The Authors.

6. Estimation with EKF

EKF is comprehensively assessed in [18-20]. Like conventional Kalman Filter, EKF has two stages: prediction and correction. EKF predicts the state using system model and then the state is corrected by applying of measurements. EKF is an optimized algorithm based on the linearization of equations by means of Jacobian Matrix. EKF algorithm can be shown as follow:

Prediction step:

Correction and update step:

Where Ak and Hk is defined as follows:

The results of EKF algorithm to estimate motor speed and torque during the voltage sag are shown in Fig. 5,6. The UKF results are also given for comparison. As can be seen in Fig. 5,6, EKF has higher estimate error than UKF. This indicates that the accuracy of initial values of states and parameters of system in EKF is more important than that in UKF. If the initial values have far from their real values to some specified extent, the estimation algorithm may tend to diverge.

Source: The authors

Figure 5 Real and estimated values of torque during the voltage sag 

Fig. 6 indicates that EKF algorithm is not able to trace the speed in the event of a nonlinear phenomenon such as voltage sag. As mentioned, the degree of nonlinearity of speed is one degree higher than the torque, so EKF which uses linear approximation cannot be able to estimate speed accurately.

Source: The authors

Figure 6 Real and estimated values of speed during the voltage sag 

7. Estimation of Induction Motor’s Parameters

The goal of parameters estimation of a dynamic model is to provide accurate presentation of the system under consideration. Another application of KF is the estimation of unknown parameter of a dynamic model. In this section, parameters Tl and Re are assumed as unknown parameters and they will be estimated by means of EKF and UKF. To estimate both parameters, the eq. (61), (62) are added to state equations of induction motor. To make situation more real, white noise is added to measured values. Fig. 7,8 show parameters T1 and Rr which are estimated by EKF whereas Fig. 9,10 show estimation of these parameters by means of spherical UKF. What we can understand from these figures is that the speed of convergence of EKF algorithm is lower than UKF. The results suggest that UKF method present more accurate estimation and better convergence than EKF even in the case of noise conditions.

Source: The Authors.

Figure 7 Real values and estimation of parameter T1 by means of EKF. 

Source: The Authors.

Figure 8 Real values and estimation of parameter Rr by means of EKF algorithm. 

Source: The authors

Figure 9 Real values and estimation of parameter Rr by means of spherical UKF 

Source: The authors

Figure 10 Real values and estimation of parameter T1 by means of spherical UKF 

The mean of estimation errors of EKF and UKF algorithm are shown in Table 2.

Table 2 Mean error in estimating parameters Rr and Tl by means of UKF and EKF algorithms. 

Source: The Authors.

8. Expermiental Result

To evaluate the efficiency and accuracy of UKF algorithms to online estimate of speed and torque of induction motors, a 1.1 kW motor is used for experimental validation. The Induction motor parameters are given in the Appendix. Matrices R and Q, which are given in the Appendix obtained by trial and error. Hall-effect sensor is used for measuring of currents. To create voltage sag, three resistors are placed in motor circuit and after a pre-specified time they are shorted (Fig. 11). Fig. 12 shows the created voltage sag which is applied to input terminals of the motor. As it is seen in the figure, the voltage does not suddenly drop due to the inductive nature of the induction motor.

Fig. 13,14 show experimental results and estimation of motor speed and torque using spherical and general UKF, respectively. It is clear that good correlation exists between experimental and estimation results.

Source: The Authors.

Figure 11 Block diagram of an experimental circuit for voltage sag. 

Source: The Authors.

Figure 12 Experimental results from measuring the a-phase voltage when voltage sag. 

Source: The Authors.

Figure 13 Comparison of Experimental and estimation results - induction motor speed. 

Source: The Authors.

Figure 14 Comparison of Experimental and estimation results - induction motor torque. 

The mean of estimated error for speed and torque is presented in Table 3 for detailed study.

Table 3 The mean of error for general and spherical UKF motor speed 

Source: The authors

9. Conclusions

This paper shows the superiority of UKF over EKF in estimation of states and parameters of induction motors. The results show that spherical UKF algorithm can approximate available information in nonlinear function of torque and speed of induction motor better than EKF. The reason is that spherical UKF does not use the Jacobian matrix. Spherical UKF shows good estimation performance in steady state and when a drastic change in motor input voltage is occurred. Furthermore, in estimation of induction motor’s parameter, UKF algorithm shows more convergence speed.

References

[1] Kiran, S. and Madhusudan, S., Design of Kalman filter for induction motor drive, Students Conference on Engineering and Systems (SCES), 2013 India. DOI: 10.1109/SCES.2013.6547575 [ Links ]

[2] Khanesar, M.A., Kayacan, E., Teshnehlab, M . and Kaynak O. , Extended Kalman filter based learning algorithm for Type-2 fuzzy logic systems and Its experimental evaluation. IEEE Transactions on Industrial Electronics, 59(11), pp. 4443-4455, 2012. DOI: 10.1109/TIE.2011.2151822. [ Links ]

[3] Luo, Z. and Fang, H., Modified state prediction algorithm based on UKF. Journal of Systems Engineering and Electronics, 24(1), pp. 135-140, 2013. DOI: 10.1109/JSEE.2013.00017 [ Links ]

[4] Julier, S.J. and Uhlmann, J.K., Unscented filtering and nonlinear estimation. Proceedings of the IEEE, 92(3), pp. 401-422, 2004. DOI: 10.1109/JPROC.2003.823141 [ Links ]

[5] Lalami, A., Wamkeue, R., Kamwa, I. Saad, M. and Beaudoin, J.J. , Unscented Kalman filter for non-linear estimation of induction machine parameters. IET Electric Power Applications, 6(9), pp. 611-620, 2012. DOI: 10.1049/iet-epa.2012.0026 [ Links ]

[6] Wang, S., Gao,W. and Meliopoulos, A.P.S. An alternative method for power system dynamic state estimation based on unscented transform. IEEE Transactions on Power Systems, 27(2), pp. 942-950, 2012. DOI: 10.1109/TPWRS.2011.2175255 [ Links ]

[7] Simon, S. Haykin. Kalman filtering and neural networks. Wiley Publishing, . 2002 [ Links ]

[8] Alonge, F., D'Ippolito, F. and Sferlazza, A., Sensorless control of induction-motor drive based on robust Kalman filter and adaptive speed estimation. IEEE Transactions on Industrial Electronics, 61(3), pp. 1444-1453, 2014. DOI: 10.1109/TIE.2013.2257142 [ Links ]

[9] Ghahremani, E. and Kamwa, I., Online state estimation of a synchronous generator using unscented Kalman filter from phasor measurements units. IEEE Transactions on Energy Conversion, 26(4), pp. 1099-1108, 2011. DOI: 10.1109/TEC.2011.2168225 [ Links ]

[10] Chang, L., Hu, B., Li, A. and Qin, F., Unscented type Kalman filter: limitation and combination. IET Signal Processing, 7(3), pp. 167-176, 2013. DOI: 10.1049/iet-spr.2012.0330 [ Links ]

[11] Valverde, G. and Terzija, V., Unscented Kalman filter for power system dynamic state estimation, IET Generation, Transmission & Distribution, 5(1), pp. 29-37, 2011. DOI: 10.1049/iet-gtd.2010.0210 [ Links ]

[12] Ariff, M.A.M., Pal, B.C. and Singh, A.K., Estimating dynamic model parameters for adaptive protection and control in power system. IEEE Transactions on Power Systems, 30(2), pp. 829-839, 2015. DOI: 10.1109/TPWRS.2014.2331317 [ Links ]

[13] Julier, S.J., The scaled unscented transformation. in Proceedings of the 2002 American Control Conference (IEEE Cat. No.CH37301), 2002. pp.4555-4559. DOI: 10.1109/ACC.2002.1025369 [ Links ]

[14] Jafarzadeh, S., Lascu, C. and Fadali, M.S., State estimation of induction motor drives using the unscented kalman filter. IEEE Transactions on Industrial Electronics, 59(11), pp. 4207-4216, 2012. DOI: 10.1109/TIE.2011.2174533 [ Links ]

[15] Simon, D, Optimal state estimation: Kalman, H∞, and nonlinear. New York, Wiley, 2006. [ Links ]

[16] Lozano, J.G.C., Carrillo, L.R.G., Dzul, A. and Lozano, R., Spherical simplex sigma-point Kalman filters: a comparison in the inertial navigation of a terrestrial vehicle. in Control Conference, American , 2008. DOI: 10.1109/ACC.2008.4587041 [ Links ]

[17] Dugan, R.C., McGranaghan, M.F., Santoso, S. and Beaty, H.W., Electrical Power Systems Quality ,2nd ed., New York, McGraw-Hill, 2004. [ Links ]

[18] Barut, M., Bogosyan, S. and Gokasan, M., Experimental evaluation of braided EKF for sensorless control of induction motors. IEEE Transactions on Industrial Electronics, 55(2), pp. 620-632, 2008. DOI: 10.1109/TIE.2007.911956 [ Links ]

[19] Amalkar, P.A.O. and Khanchandani, K.B., Design and implementation of sensorless speed control for induction motor drive using an optimized extended kalman filter. IJECET, 6(3), pp. 33-43, 2015. [ Links ]

[20] Barut, S.B.a.M.G.-s.e.M., Speed-sensorless estimation for induction motors using extended Kalman filters. IEEE Trans. Ind.Electron, 54(1), pp. 272-280, 2007. DOI: 10.1109/ACEMP.2011.6490621 [ Links ]

How to cite: Darvishi, A. and Doroudi, A., Continuous Estimation of Speed and Torque of Induction Motors Using the Unscented Kalman Filter under Voltage Sag. DYNA, 86(208), pp. 38-47, January - March, 2019

A. Darvishi, was born in 1992 in Ahvaz, Iran. He received the BSc. degree from the Electrical Eng. Dept. of Malayer University, Hamedan, Iran, in 2014 and the MSc. degree in electrical engineering from Shahed University, Tehran, Iran, in 2017. His especial fields of interest include. His main research interests include: modeling and simulation of induction motors, power quality. ORCID: 0000-0002-7649-6474

A. Doroudi, was born in 1968 in Tehran, Iran. He received the BSc. degree from the Electrical Eng. Dept. of Amirkabir University of Technology, Tehran, Iran, in 1992 and the MSc. degree in Electrical Engineering from Tabriz University, Tabriz, Iran, in 1994 and PhD degree in Electrical Engineering Dept, of Amirkabir University of Technology, Tehran, Iran, in 2000. His especial fields of interest include: Power Quality, Electric Machines Design and power systems dynamic. ORCID: 0000-0003-3722-0827

Appendix

Specification of simulated motor

Vs =380 v

P = 1.1 kw

Rs = 5.Ω

Rr =6.38Ω

Ls = 0.4656H

Lr = 0.4656H

Lm = 0.4434H

Tl = 0.7 N.m

P = 2

Values of measurement noise covariance matrix and process

Initial value of state variables

Received: August 06, 2017; Revised: June 15, 2018; Accepted: August 15, 2018

© The author; licensee Universidad Nacional de Colombia.

Creative Commons License This is an open-access article distributed under the terms of the Creative Commons Attribution License