# Classification of Faults Operation of a Robotic Manipulator Using Symbolic Classifier
## 2 Materials and Methods
### Dataset Description  
The publicly available dataset [18] was used in this research. The dataset is well documented in [26; 27] so in this subsection, only a brief dataset description is given. The dataset consists of a total of 463 data points and each of the data points \(D\) is shaped as:  
\[D= \begin{bmatrix}F_{1}^{x}&F_{1}^{y}&F_{1}^{z}&T_{1}^{x}&T_{1}^{y}&T_{1}^{z}\\ F_{2}^{x}&F_{2}^{y}&F_{2}^{z}&T_{2}^{x}&T_{2}^{y}&T_{2}^{z}\\ \vdots&\vdots&\vdots&\vdots&\vdots&\vdots\\ F_{15}^{x}&F_{15}^{y}&F_{15}^{z}&T_{15}^{x}&T_{15}^{y}&T_{15}^{z}\\ \end{bmatrix} . \tag{1}\]  
As seen in the equation above, each of the data points consists of 90 measurements, organized into 15 subpoints. Each of the subpoints is a measurement of force and torque in each of the \(x\), \(y\), and \(z\) axes. The time difference between each point is 0.315 s, meaning that  
Figure 1: The methodology research flowchart. the entirety of the data point consists of 28.35 s. The statistical analysis and GPSC variable representation for all dataset variables are shown in Table A1 (Appendix A.1). It should be noted that in GPSC all input variables are represented with \(X_{i}\) notation where \(i=0,...,89\) since there are 90 input variables. The output variable in GPSC is represented with \(y\). The data points are split into 15 classes in total--\"collision in tool\", \"collision in part\", \"bottom obstruction\", \"bottom collision\", \"lost\", \"moved\", \"slightly moved\", \"right collision\", \"left collision\", \"back collision\", \"obstruction\", \"front collision\", \"collision\", \"normal\", and \"ok\". The number of elements in each class is given in Figure 2.  
Out of the listed classes, \"normal\" and \"ok\" indicate a non-faulty/normal operation, while the others indicate fault. Since for a lot of applications just knowing whether the fault has occurred is enough, and it is not necessary to immediately discern the type of it, the dataset can be made into a binary dataset by combining all the \"faulty\" data points and all the \"non-faulty\" data points, as shown in the Figure 3.  
As can be seen from Figures 2 and 3, the classes in the dataset are not balanced. This fact opens the possibility of applying the dataset balancing techniques which will be described in the following section. Figure 3: The distribution of the data points in the dataset, by class, after sorting for binary classification. Figure 2: The distribution of the data points in the dataset, by class. In this paper, only the binary problem will be considered because even balancing problems could not provide sufficient datasets in the case of multiple classes. In a multi-class problem, as seen in Figure 2, there are 15 classes. The extremes in the number of samples are lost class with only 3 samples and normal class with 109 samples. An equal number of samples per class (14 classes in total) can be achieved using OMs. However, even with the implementation of dataset balancing methods, each class would contain only 109 samples which is not enough for the implementation of ML methods. One of the investigations important to statistical dataset analysis is the correlation analysis between dataset variables. The correlation between variables could indicate if the dataset used in the training process will produce the trained ML model with high classification accuracy or not. In this paper, authors calculated [PERSON]'s coefficients of correlation which return the values in the range of \(<-1.0,1.0>\). The strong correlation ranges are in the range of \(\pm<0.5,1.0>\). The low correlation range is considered to be \(<-0.5,0.5>\), where 0 is the weakest correlation. If the value is negative, the growth of the variables is inverse, and vice-versa. Since the dataset consists of 91 variables and the correlation heatmap is too large for better visualization the interrelationship between dataset variables is presented in Figure 4.  
As seen in Figure 4, correlation values between the input and the target variables are in the 0.1 to \(-0.21\) range.