Rotating blade faults classification of a rotor-disk-blade system using artificial neural network

Received May 12, 2021 Revised Jul 9, 2021 Accepted Jul 17, 2021 In this paper, the artificial neural network (ANN) has been utilized for rotating machinery faults detection and classification. First, experiments were performed to measure the lateral vibration signals of laboratory test rigs for rotor-disk-blade when the blades are defective. A rotor-disk-blade system with 6 regular blades and 5 blades with various defects was constructed. Second, the ANN was applied to classify the different xand y-axis lateral vibrations due to different blade faults. The results based on training and testing with different data samples of the fault types indicate that the ANN is robust and can effectively identify and distinguish different blade faults caused by lateral vibrations in a rotor. As compared to the literature, the present paper presents a novel work of identifying and classifying various rotating blade faults commonly encountered in rotating machines using ANN. Experimental data of lateral vibrations of the rotor-disk-blade system in both xand y-directions are used for the training and testing of the network.


INTRODUCTION
For competitiveness and high quality operating requirements in industries, the need for effective rotating machines has been significant. This can be achieved in part through continuous monitoring of operating conditions to detect any fault before the rotating machines break down. Faults in rotating blades are very difficult to detect by direct blade vibration measurements and evaluation. This is because blades often operate in very harsh environments. In addition, no significant results have been obtained in the quest for a more efficient artificial intelligence system for real time monitoring of these faults yet.
The performance and reliability of spinning machines are maintained by constantly tracking their working conditions in order to detect any defects before causing a significant problem or failure of the system that may impact output targets. There are research articles on the rotor vibration response [1]- [3], that are usually monitored in the industry and analysed for identification of faults. These efforts have resulted in the development of knowledge base and standard procedures to identify machine faults such as shaft misalignment and unbalance, rotor eccentricity, blade crack, twisting, and rubbing. Many industrial rotating machines have rotors, disks, blades, and vanes. Hence, it is important to monitor the dynamic response of the machine parts such as rotor-disk-blade system that potentially can develop machine faults contributed by the other hand, worked on the gearbox system and developed a deep neural network based diagnosis model to diagnose and classify multi-level tooth cut gear faults operating under variable shaft speeds. They first implemented the adaptive noise control approach to remove any unwanted noise in the original vibration signal and then employed the stacked sparse autoencoder based deep neural network to diagnose and classify the gearbox faults.
In addition to the application of ANN to diagnose specific rotating machine faults, some previous works are reported here identifying rotor-bearing system faults using multi-layer BP neural network [18], rolling element bearing faults using time-domain features in ANN [19], minor faults such as scratch and hole in the bearings of induction motors using five machine learning algorithms and convolutional neural network [20], and compound bearing defects such as inner race, outer race and roller defect for embedded systems under varying rotational speeds using MobileNet-v2; a light state-of-the-art convolutional neural network model [21]. In addition, two articles related to rotating shafts addressed the the detection of ball bearing faults producing vibrations in Rotating shafts using multi-layer feed forward neural network [22] and induction motor shaft misalignments using multi-scale entropy (MSE) coupled with back-propagation neural network [23].
Related to the present study of utilizing ANN for blade faults identification, some previous work can be found. Rao and Srinivas [24] used single layer neural network to locate the optimal position of rotational constraint along the length of a pre-twisted blade on a rotor system in order to increase the lowest natural frequency undergoing torsional vibration. Two papers are found that address the blade faults of variable rotational speed wind turbines. First is by Chen et al. [25] in which they used the deep learning approach by embedding attention mechanism into long-short-term memory neural network to identify the wind turbine blade imbalance fault due to the accumulation of ice on the blades. Second paper by Joshuva et al. [26] presented a study investigating various wind turbine blade faults using first variational mode decomposition (VMD) for experimental data signal pre-processing and then multi-layer perceptron (MLP) for blade fault classification. The experimental data of lateral vibrations of the shaft in only vertical axis, i.e., y-axis was acquired specific to wind turbines. Figure 1 shows the experimental test rig, consisting of a variable speed electric motor, a rotor, a 6blade disk and 2 ball bearing supports. The disk and the 6 normal blades were designed and fabricated in a workshop. In addition to the 6 normal blades, more blades were designed and fabricated and the following defects were introduced on the blades: twisted, bent, bulged, cracked, slotted bulged, cracked and slotted blades. Some of the blades with defects are shown in Figure 2 (a). Four accelerometers are attached to the two supports along the x-and y-axes to measure the lateral vibration of the rotor-disk-blade system. The signals of the accelerometers are connected to a six-channel B&K data acquisition system and then to a laptop with Pulse software (Figure 2 (b)). The Pulse software is capable of measuring, analysing and storing vibration signals from the accelerometers and the signals can be exported to excel file for further processing. First, the test-rig was operated by running the electric motor and rotor-disk-blade system at a speed of 1000 rpm and the vibration signals in time domain for the set-up with 6 normal blades were obtained from the four accelerometers and saved in the laptop. One of the 6 normal blades was then replaced with one blade with a defect and the set-up was operated again at 100 rpm to obtain the vibration signal of the system with a defective blade. The defective blade was later removed and subsequently replaced with other defective blades one after the other to obtain the vibration signals for all the defective blades. 1903 signals of the rotor-disk-blade system were exported to excel file for analysis. The vibration signals from the x-and y-axis accelerometers attached to the support that is close to the disk-blade system are considered for further analysis.

EXPERIMENT AND ESTABLISHMENT OF THE SIMULATION MODEL 2.1. Experimental set-up and data measurement
(a) (b) Figure 2. (a) three defective blades (bent, twisted and broken blades); (b) PC and B&K pulse system and vibration data measurement and analysis accessories.

Data collection procedure
Experiments are conducted on the different blades of a wind turbine by varying the frequency (F) from 0 Hz to 2000 Hz. The x-and y-coordinates for different sets of blades "namely" the good blades without any defects, twisted blades, bent blades, bulged blades, cracked blades, and slotted blades; all of which are recorded in an excel file. The dataset so prepared has 13 attributes and 2134 observations. The attributes are the frequency, x-and y-axis vibration measurements of the good blades without any defects, twisted blades, bent blades, bulged blades, cracked blades, and slotted blades.

Simulation model
Python is a high-level programming language. Python is a programming language that can be utilized to create desktop graphical user interface (GUI) programs [28]. Furthermore, since Python is a highlevel programming language, it helps you to concentrate on the application's core features while it handles the mundane programming tasks. Python was used in this study to develop the ANN for classifying various rotating blade faults commonly encountered in rotating machines. Compared to other software"s, python is a general-purpose programming language. Python gives more control over one's code organization and better management of namespace. There are three main steps to develop the ANN in python [29], i.e. 1) using the provided data as input 2) predicting the output 3) comparison of the prediction with the actual output and 4) changing its internal state in order to correctly predict the next time.

ARTIFICIAL NEURAL NETWORK
ANN refers to a computational model mimicking the human brain and its information processing capabilities [30], [31]. An ANN is an ensemble of highly interconnected processing units known as the neurons [32]. There are a number of numerical values between the neurons that shows the strength of the connections known as the weights [23], [33]. The ANN is capable of self-organization and acquisition of information, i.e., learning [34]. Figure 3 shows a typical three feed forward neural network, comprising of the input layer, hidden layer and output layer. In this network, the middle layer nodes only receive information from the nodes of the previous layer and forward their outputs to consecutive layer nodes only. The hidden layers are not connected with the outside world directly. The computational elements or nodes used in neural network models are normally nonlinear and generally analog. As shown in Figure 3, the simplest node sums the weighted inputs and transfers the result through nonlinearity. The major part of the ANN is its learning algorithm. The BP, which is a supervised learning algorithm, is the most widely used for various applications [35], [36].

Back-propagation algorithm
A type of supervised learning is the BP algorithm [37], [38]. It takes place in two stages, "namely" forward propagation of information and backward propagation of errors [14]. It learns by presenting the input and output data patterns repeatedly and propagating the error backward each time and adjusting the weights until the error minimizes to a reasonable low value. Some of the BP algorithm's fundamental weaknesses include longer convergence period and susceptibility to failure of training. One of the modifications introduced to resolve this issue include adding a momentum term for faster training, thereby compromising additional memory space. The following equation gives the output of the neuron [37]: Where w 1j and x j are the associated weights and the inputs of the ANN, respectively. Figure 4 show how the BP algorithm is implemented together with the processing elements. Inputs (X p1 .............X pNo ) are initially propagated and the response is computed via the network. Then the output error (T p1 ……….T pNM ) is propagated backward through the network and the weights are modified according to the algorithm based on the gradient descent [30]. This method continues until the average mean square error at the output reaches an acceptable minimum value. For this work, the BP algorithm will be implemented in the ANN to classify the different blade faults.

DATA EXPLORATION AND PRE-PROCESSING
There are several important steps in data exploration and pre-processing. This section gives an account of the steps involved in data exploration and pre-processing for vibration faults.

Exploratory data analysis
The next important step after data collection is the exploratory data analysis. The data is analysed by summarizing the basic statistical description of the data for finding anomalies, missing values, duplicate values, and patterns or relationship between the attributes. Statistical description of the data reveals that all attributes are floating point numbers and there are no missing values in the dataset. The range of the attribute frequency is from 0 Hz to 2000 Hz. For all other attributes, the minimum value is a very small continuous floating point value that has a power of 1e-9. Further analysis of the data using duplicated in pandas, a data analysis software, reveal there are no duplicate rows in the dataset. To further analyse the dataset for outliers, skewness and kurtosis functions in pandas have been used and the results reveal high positive value for skew and kurtosis for all attributes except the frequency. High positive value for skew indicates all attributes except frequency are right skewed which indicates the data distribution is not symmetrical and highly skewed with longer tails to the right side. High positive values for kurtosis reveal numerous outliers in the dataset for all attributes except frequency. The results shown in Table 1 indicate significant reduction in skewness and kurtosis values which indicates the transformed dataset is now closer to normal distribution with reduced outliers. Exploratory data analysis reveals that the dataset has numerous outliers and is positively highly skewed. Therefore, the training of the ANN would not be ideal and with the help of a suitable transformation algorithm, the dataset has to be transformed to a new dataset devoid of outliers and skewness.

Data transformation
Even many transformations are available, log transformation is applied to all attributes of this dataset to reduce the skewness to make the data as normal as possible. For the attribute frequency, the log transformation is applied to all values except the first value which is zero. For all other values, the application of the Log transformation results in a negative value and hence, after applying Log transformation, the sign of the data is changed from negative to positive. The basic statistical details of the transformed dataset are summarized in Table 2.

Design of the ANN
This section describes the architecture of the ANN designed to predict the 10 faults (5 defects in each x-and y-directions) in the blades of the rotating machines. The input layer of ANN consists of three neurons "namely" the frequency, good x and good y attributes. The output layer consists of 10 neurons namely, x-and y-axis vibration measurements of twisted blades, bent blades, bulged blades, cracked blades and slotted blades. After trial and error with a number of neurons, a single hidden layer with 80 neurons with linear activation function is considered between the input and output layer as shown in Figure 5. Before choosing the linear activation, correlation between the attributes were considered and a positive correlation between the input and output attributes was found as shown in the heat map (see Figure 6).

Selection of the training and testing dataset
Scikit-learn machine learning library available for machine learning for python programming [21] is used to split the transformed dataset into training and testing dataset. Ninety percent of the dataset is used for training and ten percent of the dataset is used for testing. 1920 observations are randomly split as training data and 214 observations are split as testing data.

Training of the ANN
TensorFlow is a machine learning platform used for training neural networks and it is an open source library with plenty of fast numerical computing algorithms available to create ANN models and to train them. Keras is an API that runs on top of TensorFlow and enables fast experimentation to fine tune and train ANN models. Training of ANN in this research is carried out using Keras and TensorFlow as it helps to sequentially build and test neural network very quickly with minimal lines of code. Adam optimizer (adaptive moment estimator) is used for upgrading the weights of the dense layers of the ANN during the training. Adam uses adaptive learning rate during training phase and changes the individual learning rates for each parameter based on squared gradients and momentum to enable faster convergence. Adam is superior to stochastic gradient descent optimizer which uses a learning rate that does not vary during the iterations and hence preferred for training the ANN.
During training the mean squared error (MSE) loss function is minimized. The maximum epoch is specified as 80. Very common issue with training neural network model is the problem of over fitting. To overcome this problem EarlyStopping feature available in keras to stop training when a monitored metric has stopped improving has been used. The patience argument available in EarlyStopping function is set to five which stops the training when the loss function has not significantly improved over 5 iterations. The 20 per cent of the training data was used for validation to test the model during training. The convergence of the model is provided in Table 3. In Table 3, MSE, MAE, VAL_MSE and VAL_MAE refer to mean squared error during training, mean absolute error during training, mean squared error during validation, and mean absolute error during validation respectively. As seen from Table 3 the model converged in 17 iterations when there is no significant improvement in mse during training. The early stopping feature used in this work ensures the training continues until the error significantly decreases and error for training and validation data is almost similar to avoid over fitting. The mse during training and validation is almost the same at the end of the 17 th iterations which indicates the model will not over fit for unseen data. The plot the convergence characteristics are shown in Figure 7 (a) and Figure 7 (b). From Figure 7 (a) and Figure 7 (b), it is evident that during training of ANN, the MSE and MAE reduces to the lowest possible value.

ANN prediction results
In this section, the plot of the actual value and the predicted value for all 10 faults are shown. In   and through finite element modal analysis. The system responses in two directions were obtained at 1000 rpm. Five faulty blades (twisted, bent, bulged, cracked, and slotted) were replaced in turn by one of the 6 safe blades. Comparisons of a twisted blade's response magnitudes with those of healthy blades indicate that the vibration amplitudes in the acceleration response range of the first two resonant frequencies decreased, while the amplitude nearer to the running speed increased. After obtaining the data on the aforementioned rotational machine faults, the ANN was utilized to be able to classify and discriminate the x-and y-axis lateral vibrations of the rotor. The ANN was coded in python software. Initially, correlation between the attributes was considered and it was shown that there is a positive correlation between the input and output attributes. For training the ANN, 90% of the dataset is used and 10% of the dataset is used for testing. The result shows that ANN can very accurately predict the twodimensional (x-and y-axes) lateral vibrations of most of the faults. The results imply that the ANN can effectively recognize and discriminate different lateral vibration in a rotor depending on training and testing with different data samples of the faults types. Further research concentrates on the application of the ANN for practical fault detection and classification.