Faults Diagnosis in Robot Systems: A Review

Any robot system consists of mechanical and electrical components. These components are combined and compacted together with a special controller to do a specific work. Mostly and with time obsolescence, faults and errors are happen in robot systems lead to work problems. Many years ago, researchers are working in this field. In this paper, a review study focuses on this field is introduced to make classifications between different types of faults and diagnosis methods those used in the field of robotics. Many types of faults are studied, according to some previous and recent works. The most detected faults can be classified into two parts: hardware and software faults. The hardware faults part is further classified into two main types; the first one is represented in sensors and actuators, while the other is included taking into consideration both position and velocity in joints. These joints which usually connect the links of the arm with each other and ensure contentions to motors, controllers, and many sensors, are really represent the most important side have to be studied. The software faults part includes those errors occurred during programming such as any error happen in signal translation, signal classification or signal identification is considered as a software fault. In this paper most of the fault diagnosis and detection methods of faults types in the field of robotics are studied. According to these studied papers, the hardware fault part is the most important part which must be identified and corrected in real time using smart methods.


INTRODUCTION
In recent years, robots have been developed and take a place in most of the fields [1], [2], it taken a place in the industries, militaries, medical surgeries, medical devices, surveillance systems, monitoring and others. The robot has become the main part of most industrial fields, according to that, the robot has to be more safe and accurate. Any fault happened in a robot may lead to high influence on the system during the work, causing bad performance. Many years ago, hundreds approaches are used for the fault detection and isolation of the dynamic systems, including the integration of qualitative and quantitative information's model [3]. Fault diagnosis approach is usually consists of three steps: fault detection step, which can give an indication about an occurrence of the abnormal behaviors, fault isolation step, which identifies location and type of the happen failure, and finally the fault analysis step, that reveals the relationship between causes of failures and their symptoms [4]. Other researchers considered that these systems consist of four steps: fault detection, fault isolation, fault identification, and fault recovery [5]. In the detection step, the system has to be checked if any error happens inside the system. The isolation step is used to decide which part of robot system is faulty, after that, the faults have to be identified according to their type and location. The Final step is how to solve the problem and repair the system according to the fault identified. The fault tolerance steps, which usually includes fault detection and fault recovery and control, has to be done in real time as possible. The fault detection is usually dependented on the software components; software environment that used to scan the faulty behaviors, while the diagnosis is based on the residual principles of the system [5]. In this paper, many types of the fault diagnosis and detection methods, in the field of robotics are presented. According to these studied works, the hardware faults are the most effected part, which must be identified and corrected in real time using smart methods

TYPES OF FAULTS
In the distant past, mechanical and electrical systems are developed and interfered with each other and become very complex [6]. It is efficient to behave with faults those related to the sensors, actuators and other parts of the robot and control them. That's if those faults are not related to a high-level knowledge of system like the contextual environment of a robot; whereas it is impossible to deals with a wide range of faults at the same time [5]. Thus in many recent works, focus is directed only on one, two and almost three different-type faults to be detected, isolated and controlled [4], [5], [7]. Recovery step in fault tolerance can deal simultaneously with two or three faults and the system state can be reactivated again, but it is not easy to do so when more errors happened at a time [3], [8]. Two modes of failures because of faults can happen: complete failure mode, and partially failure mode [5]. The first mode is existed in faults when no longer concerned services can be delivered like broken motors, while the second mode happens when the services are available but has a bad quality [5], [9]. These modes (the complete and the partial failures) are also separated into two types: permanent and transient; when the failures are resulted from faults those affect the system quality; this is the first type. While in the second one, the services quality can be controlled and recovered [5], [8]. In the following subsections, the recently studied major occurred faults are described.

Software Faults:
Any robotic system or robot arm is derived and controlled by a specialized program. The software can control the position needed, the velocity, the supplied torques, orientation [10], or degrees of motions like that in stepper motors. Vibration is another type which can happen during failures in motors or in torque points or because of some hardware parts, but it can be controlled using software. Mostly, the software part has to be added to the robotics system inside the sensors and actuators for the purpose of fault decreasing and detection [11]. Really, the software faults are not easy to be detected. According to many references and researchers, it is usually classified as hard faults [10], [11], [12]. This type is more important, but also more dangerous than hardware; that because many faults may not be detected and diagnosed when an error happens in software. In addition, many other actions may be detected as faults although they are accurate.

Hardware Faults:
According to this type of fault, any part of robot body may be damaged in case of a broken motor, gear, or a sensor failure [13]. This happens due to misuse or frequent use, in addition to surrounding environment's factorsthat lead to faulty signals during the work [14], [15]. Some of these hardware faults come from sensors, actuators, lead mostly to other types of faults, causing unstable motions; like those happen in position, velocity, orientation, and vibration.

Sensors and Actuators:
A sensor is the part that senses the output environment of the robot, while the actuator reacts to this sense; like the mechanical and electrical components, it may fail to sense or may be effected by other part or affect other component or make some error reactions. The faults in sensors and actuators are studied in many works [14], [15], [16]. In [14], [17], [15], the faulty sensor is isolated from the other part of robot system in order not to affect the system. Two types of practical faults are presented insensors, the first one is called stuck, in which the sensors return the same signals or reading which represent the real state. The second fault type is called drift, in which the sensor return signals with upward or downward the real values. The first type indicates data to be in the truthful range, while the drift may change the signal slowly to maintain the correct or the truth range of the signal [17]. Both are abnormal system behaviors. Many times, the sensors give an indication that there are some thing unhealthy as a stuck or drift faults but it still works normally. In [18], a layered fault tolerance system including new fault diagnosis framework is presented, a developed algorithm with a threshold is used to detect faults happened in PUMA robot. These to determine the errors happened between the desired and the actual values. If the sensors are damaged, in failure or not accurate, the received results by the controller will not be true, leading to a system failure.
In [19], many sensors are merged inside each joint of a prototype Chinese robot arm. Eight strain gauges, temperature sensors, joint position sensors and joints torques sensors are connected with other controllers and motors inside the joints. These sensors can give a truly data mostly, but some time and because of the frequent use, any error happened in one or more of these sensors can lead to some system failures or give inaccurate results. Thus threshold value for each one of these sensors and also for isolation are important to identify the faulty data and replace the delivered data with others. In [20], the controller of the robot manipulator did not determine the actual position (angular displacement) of the joints. A special sensor of COMAU SMART3-S3 manipulator is used to sense the fault, it is very precise and accurate. The faults are diagnosed for one (or multi) sensor or actuator at a time. In that system, a model with two stages is presented. The upper one is used for the actuators faults; while the lower one is specified for the sensors faults, whereas the diagnosis faults of the sensors are isolated. To perform a fault diagnosis and identification (FDI) in sensors, many observers are used; one for each sensor. Depending on the use observers, the classification (isolation or identification) of sensor's faults can be obtained. The threshold is used again to check the input to the system. If one output only of the sensors is equal to one, while all the others are zeros, this means a single faulty sensor is detected. In [21] and [22], a model of fault detection and isolation was presented, the faults in actuators are detected and isolated from a transmission model in a mobile robot. Each wheel is moved by a DC motor combined with 25:1 gearbox. With this gearbox, an incremental encoder be added for the purpose of resolution pulses increment. The motors are controlled using a dual-mode controller; velocity and position. When the controller receives a position command, it will be switched to the position mode, while when it receives the velocity command, it will be switched to the velocity mode. Two types of results are achieved, faulty and normal. A list of analytical redundancy relation (ARR) with others of faulty signature matrix (FSM). FSM is generated using a special model of fault detection and isolation. The mentioned tools are used to detect, identify and isolate the faults in a physical system. FDI is calculated depending on the residuals of ARR, resulting from the difference between the dynamic system in both normal and faulty results. In [23], a fault diagnosis (FD) scheme is implemented for the COMAU SMART23-S2 robot manipulator, this scheme includes unknown number of input observers (UIO) to detect actuator's faults, together with a generalized observer scheme (GOS) for the purpose of sensor's faults diagnosis, where many of observers are used for sensors. The output of these observers are delivered to a decision logic unit to determine the final output as a faulty or normal signal. According to the logical output (zero or one), the signal is considered as a fault when it is equal to one and normal when equal to zero. In [24], a study of fault tolerant control is presented for a mobile robot to detect and control the faults happened in the actuators of wheels and unknown robot's parameters. These faults lead to a path that is untruly, or with a wrong trajectory because of the friction factors and the driving gain in the used two-independent wheeled mobile rotor.
In that work, the researchers presented a feedback control system depend on the Lyapunov stability theory for the purpose of solving the trajectory of the mobile robot. This presented study can be applied for other types of motion control systems in robots and also in ships, aircraft and others.

2.2.2Position and Velocity:
The robot system, especially the robot arm consists of many parts connected to each other by joints. In each joint, there is a servo or a stepper motor for the motion purpose. These motors are controlled usually depending on the dynamic equation of toque, which represents the needed torque for all motor's motions. The robot motion depends on the degree of freedom of the robot at all. This motion which is mainly determined by position and velocity of the motors in each joint in robot, representing the main factors that are used to determine the trajectory. In [18], the position and the velocity of each joint of Puma robot arm are detected depended on two types of sensors, especially tachometers and encoders, to exam the robot arm's structure. The use of these two sensors is suitable for the purpose of fault isolation. The detected position is really an angular position for each joint during a period of time, which is determined by two actual readings using the two Al-Rafidain Engineering Journal (AREJ) Vol.25, No.2, December 2020, pp. 164-175 mentioned sensors in a desired time. The introduced system consists of three levels. The first level includes the robot arm, the sensors and the controller. The second one includes the detection and the diagnosis of the faults, which works as an interfacing level between the first and the third level. Finally the third level which is the last one includes the fault tolerance, provided with an expert system used to determine the threshold value used for the prediction of the state of delivered signals from the first two levels and to decide if they are faulty signals or not. The final decision of that system depends on replacing the data of current depended faulty sensor by the data of the second sensor, for example if an error happen in tachometer sensor, that lead to a faulty data. Then the delivered data from the encoder will instead replace that one read from the tachometer. This type of algorithm or framework will increase both system complexity and cost while using many sensors, rather than using a single sensor for both position and velocity. The applied algorithm can reduce the software complexity and ease the isolation between information results at the expense of additional complexity in hardware. In [25], the position and the velocity are also detected in the Manutec r3, which considered as an industriral robot arm used for reseach works. Friction is considered to determine whether the faults is happened or not in both position and velocity. This is done using a smart threshold value under the fuzzy logic system. The problem appears here in case of velocity faults detection whenever the torque is not high enough. This condition may lead the velocity to be more slowly. According to that, the friction factor then won't be accurate to detect the fault in velocity; due to that, the position is adpted to detect faults while the velocity is neglected. In [19], the position is detected using theta reading sensors in each joints in a mechatronics robot system. Firstly, the communication period is calculated between the main controller of the robot and the joint controller; according to the position of path in joint. The trajectory has to be calculated. This trajectory includes a desired position (theta). Another theta value is sensed by joint sensor. The difference between these two values of theta must be less than a threshold value selected for a well and accurate results of system. The fuzzy controller is used to adjust the threshold theta. The maximum value of speed is also calculated which represent the threshold value. The calculation or determination of threshold values for both position and velocity in joints are done in order to get adequate and accurate checks of faults in the system. In [26], only the position is observed for a simulation of a mechanical system without the velocity. A developed fault detection system using artificial neural network has been introduced with good results. The position is observed during a period and estimated before the online observation. The threshold value is selected according to the system. If a fault is detected in system, it is an indication of passing the threshold. In [20], the threshold is used again for the fault diagnosis in the COMAU SMART32-S2 which is a classical example of industrial robot that has six links and six rotational joints used for motion. Many sensors are also used in the joints, but here the output of the sensor have to be either zero or one. Many observers are used here to detect the angular fault (position) in a special manipulator supported with many sensors in joints. In [21], FDI algorithm is proposed which depends on detecting and isolating the position and the velocity from the communication cable in a mobile robot system. A proposed proportionalintegral-derivative (PID) controller system is used to control these signals. It is designed depending on finding the difference between normal and faulty signals in its dynamic system. In [27], a fault tolerant and control method is used to detect the angle in joint for a robot arm with backup solution. When an encoder fault happens, a visual joint angle detection method and encoder values are both used to detect the value of angle in robot arm joint. If any fault happens in encoder value, the visual joint detection method has to be used in real time, where the joint angle is detected using the canny edge detection and the probabilistic Hough transform [27]. The canny edge detection is selected as the best type of edges detection at the expense of consuming more time than other types but it still give a good result when it is used in real time systems [28], [29]. The visual mechanism used in [27] needs healthy data as a reference to be compared with the current detected data. While the failure in encoder depends on the difference between the measured value and the actual value. The visual joint angle detection method of [27] shows high accurate results with errors values not exceeding ±0.008.

Al-Rafidain Engineering Journal (AREJ)
Vol.25, No.2, December 2020, pp. 164-175 As any of industrial system parts, the robot system has mostly a specific work to be accomplished. This system may be exposed to many barriers or obstacles, which lead to faults and system errors. These faults have to be detected and diagnosed immediately in order to be resolved then instantly. Many methods are used and other can be used. In the following, the most used methods in fault detection and diagnosis in robot systems.

Fuzzy Logic
The fuzzy logic system is used in many technical fields in order to enclose the gap between the crisp values needed for these technical disciplines and the linguistic concepts that used by humans [25]. Since many ten years ago, the fuzzy concept was used in fault detection and diagnosis for many types of mechanical systems especially those combined with electrical parts and controlled by an intelligent controller like robots. In [18], the fuzzy system was used in level three as mentioned before for the purpose of fault tolerance using a threshold values for the signals delivered from the sensors and detection system in layer one and two. In [25], the faulty signals for the position and velocity was detected according to the friction characteristic. Whenever force/torque is applied, the friction appears in the gears inside the joints which leads to errors in position and velocity of the robot system. The error increases if the applied force/torque is increased. In [25], a simple fuzzy rule is used for two linguistic variables. These variables are combined using AND gate while the accumulator of this rule is an OR gate.

Artificial Neural Network (ANN)
Artificial neural network is one of the most intelligent and technical methods used in many field today. It is defined as a high processing system consisting of many inter-connected units which are known as neuron, these neurons are really representing mathematical functions connected with each other using weights. The artificial neural network has been successfully applied to many hundred applications including fault diagnosis of the non-linear dynamic systems. The increase of using this type of technology is because of its accurate and high quality results. Many types of algorithms are developed to achieve best and more accurate information about the system that it is used for. The fault detection or diagnosis field especially for robotics systems has become one of those fields depending on ANN. In [30], an FDI system is designed, the ANN is used to train the special model designed for this purpose. The Fuzzy expert system cannot do well for this matter, thus the ANN is used instead. To overcome the problems that happens during the use of mathematical models, the ANN is used to satisfy both detection and isolation. One good property of ANN is it can learn from the past examples, compare the fault current information with those past information and improve them in relation to the past values. The ANN can be applied using different approaches. The most used approaches are the pattern recognitions and decision making which are used usually for the purpose of classification. In [26], a simulation for a mechanical system is presented. The neural network approximated scheme is used to estimate the threshold value depending on the fault detection and diagnosis of the mechanical system. The estimated threshold is very crucial component to develop the system of diagnosis and detection. The position can only be observed during a time. When the value becomes above or greater than the threshold estimated value, this means that a fault is happened. The faulty value is processed using the fault detection scheme, and the results are well achieved after many learning periods. According to [26], and while comparing the results of monitoring the faults detection, using a designed observer with and without ANN, it appears that neural network application can provide good and useful information as compared to other methods. In [31], a fault detection and identification method is proposed for a railway track circuit using a recurrent artificial neural network (RANN). The long short-term memory (LSTM) type is used to satisfy the availability of signals measurement. This type of network (railway track network) is very large; thus a large monitoring network have to be used here. A monitoring device is installed in each track circuit. During the measurements, the introduced method is directly used for both detection and classification of the faults. These signals are considered in the same geographic area, and measured over the same time. According to [31], this method includes detection and can distinguish between different faults considered in this work; such as the joints defect, mechanical rail defect and electrical disturbances. The neural network that is used here is trained and tested depending on the synthetic dataset from the generalized model which can make the analysis of the opportunities of the applying end to end learning be able to fault diagnosis of the track [31]. The applied method is depended on dataset trained for a period of time that reach 100 days. Although the authors mentioned that the proposed method can be used for other systems and faults, it is still not easy to use it in robotics. In [32], the principle component analysis (PCA) is used to detect the faults happened in a robot type Cane during its walking, the walking of this human robot is Al-Rafidain Engineering Journal (AREJ) Vol.25, No.2, December 2020, pp. 164-175 monitored during its healthy case using sensors. Any abnormal or emergence walking is detected and distinguished, the detection operation is done using a real time monitoring that based on a human robot coordination system. The healthy statistical cases is verified depending on many experimental data. This is done via some detecting and monitoring method, which is implemented using sensors to distinguish between the normal and abnormal walking. The experimental results demonstrates that the proposed method in [32] responds better when compared to others, in detection and in recognition but without error correction.

Wavelet Transform
The wavelet is one of relatively new method used for the purpose of signal transform and many applications [33]. As known, the Fourier transform is usually used to translate the signal into frequency domain using one or average frequency for all the period of time; the second type is presented then called the shortest term Fourier transform (STFT). This type include the use of a window with constant width multiplied by the signal at each value of time to find the variation in frequency. Although STFT overcomes the problem of the lack of time dependent frequencies of the Fourier transform in both discrete and continues types, it is still not flexible to any change in window width or scale used for the signal [33]. The wavelet transform is presented to solve the mentioned problems of the STFT transform. It considers many windows with different scales and widths as shown in Figure (1). In that sense, the wavelet transform can separate the data into many frequency components and study each component individually [34]. Wavelet transform is suitable to find the frequency at any time. The signal can represented in both frequency and time for the entire signal as shown in Figure (2). Due to this flexibility, many algorithms are presented for this type of transforms. One of the most important one is called Haar, which includes the use of the low pass filter and the high pass filter [34]. Many factors are mostly considered for the robot in the presence of the fault, these factors include fault detection, quantifications, characterizations, and finally identification or classification [35]. The wavelet transform is used in many applications for the purpose of detection and diagnosis, while some time, it is merged with other algorithms like ANN for the purpose of identification and classification. Two types of filters are used in wavelet transform; low pass filter and high pass filters. Many levels of LPFs (Low Pass Filters) can be used according to the need [35]. Firstly, the delivered signals are passed through the high pass filters to analyze the high frequencies which always represent the details of the signals, while the low pass filter is used to pass and analyze only the low frequencies which are important to detect the faulty signals. In [36], a fault detection and diagnosis study is issued for a PUMA 560 industrial robot that has six degree of freedom (DOF) and three links. In that study, one of the motors of the robot, located at joint two, is replaced with an abnormal one. Three accelerometers sensors for three dimensions (X, Y, and Z) are used in this joint for the purpose of detecting vibration signals. These signals are delivered then using 16-bit NI data acquisition card (DAQ) to a PC in order to be processed under the use of environment (LabVIEW and Matlab). The discrete wavelet transform (DWT) is used first for signal conditioning and removing noises. Then the signals are modified again using the wavelet transform to separate between the high and the low frequencies for the purpose of multi-resolution Al-Rafidain Engineering Journal (AREJ) Vol.25, No.2, December 2020, pp. 164-175 analysis [37]. As mentioned before, the HPF is used to pass the high frequencies, which include the details of the signals, while the LPF pass the low frequencies of the signal, which represent the approximation coefficients. Figures (3) and (4) illustrate different decompositions of the wavelet transform. In these figures, the outputs of the previous level are delivered again to a new level of DWT to produce new details by the HPF (High Pass Filter) and new approximated coefficients by the LPF. This process may continue until obtaining the pre-definition of a certain level [37]. The signal de-noising consists of three main steps, the first one includes decomposing the original signal to convert it into a multi-time-scale coefficients through a number of levels using a suitable wavelet family. The second step includes the thresholding process. During this step, the small coefficients are eliminated from the high-decomposed frequencies (the details part).  There are two types of thresholding process, hard threshold and soft threshold. Hard one converts the value that is less than the threshold value to zero, while the soft type clip the signal value that is greater than the threshold to be equal to the threshold value. Finally, after the completion of the threshold process, the signal is reconstructed using the discrete inverse wavelet transform [37]. The root mean square (RMS) value is calculated for the locations (X, Y, and Z), to estimate and detect the fault position, while the sensors (accelerometers) are located one location. The robot is programed to move depend on its joints many time, then the RMS is calculated. Five vibration signals are captured from the RMS with different speed, then the percentage root mean square difference (PRD) is determined using eight wavelet functions using different thresholds. The wavelet transform is an efficient time-frequency method. It is used for noise removal and feature extraction to detect the faulty parts in signals. Many researchers uses LabVIEW in their work [36], [2], but in [37], both LabView and Matlab are used together for wavelet programing. In [38] a method is presented for the purpose of detection and isolation for three sensors; those usually have common faults in wireless network sensors in a wind turbine monitoring systems, thus three type of faults appear because of a malfunctions or a hard or soft faults. Such faults are assumed to happen in the form of short fault, constant fault and noisy fault. In the first one and according to the use of wavelet based method, the signal is classified according to its frequency: high frequencies which include detail coefficients; and the low frequencies that represent the approximation's coefficients; as mentioned, these coefficients are separated during the use of the DWT [38], [39]. This method and the others, which are used for the other two faults are applied online. The short fault referred to a spike that appears in signals during the sensor's reading, when such fault is detected, the corrupted data is restored using the interpolation method. In the second, the constant fault must be detected, using a specific correlation method, the correlation is measured between the healthy and the corrupted signals. This stage is used for the purpose of monitoring, in the third and last stage where the DWT is used again to detect the noisy faults. In such stage, the DWT is used to measure the similarity [38]. The given information are used to isolate the corrupted signals. The noisy detected signals are mostly due to a hardware failure, according to this article, the correlation stage is not sensitive for the noisy signals, and thus the method can function well only with a short error occurrence.

Wavenet
In [36], the authors suggested to use the ANN instead of using of wavelet transform for the purpose of feature extraction and the classification; in which the signal can be separated into faulty and normal type. As mentioned before, the ANN consist of many neurons connected with each other using links with different weights. These neurons are designed in many levels including hidden layers; these ANN are flexible and usually used in learning and training processes [36]. combination between the ANN and the wavelet transform is combined together in order to increase the flexibility of choosing the parameters, to reduce the time of learning and training and to decrease the number of hidden layers used as shown in Figure (5). This combined method is called wavenet. This combined method (wavenet) of the ANN and the wavelet, has a high property of localizationin domains of time and frequency for the multiscale characteristics. The wavenet was used for analyzing the signals that are nonstationary and also used for nonlinear learning functions [40].
As shown in Figure (5), many parameters are used inside the neurons [41], [42]. It includes parameters for the scale period came from wavelet [7], and also the weight parameters. In many early published papers, away from wavenet, the ANN is used together with the wavelet or in a two steps interconnection for feature detection, extraction and classification [43], [44]. In [45], a method is presented using a modified wavelete neural network (WNN) based on prediction for the purpose of link state prediction for computer network, the used method enhanced the performance of the link state and obtained (produced) the best utilization for the resources of the network. In [46], an intelligent system for monitoring and diagnose the gear faults in the joint in PUMA 560 robot arm is presented; the DWT with the multi layer perceptron network (MLPN) are used together for dignosing and classifying the faults, a very significant level of the neuralnetwork is used to obtain a correct classification with a rate of 100%, using this method, a complex combination of faults are dignosed and classified correctly.The results given in [46], using the mentioned method can be not accurate if the signals gotten from the sensors are not accurate. In [47], the perception is one of many algorithms classified as a software faults type; thus, it is important to give a high attention to the signal prediction or the initiated signals before dignose and detect faults in signals. The prediction is used in many application for the beginning before the dignoses and detection of faults; the most used ANN to construct the wavenet in recent paper is the perceptron network in either single or multiple layer type [46], [48].

Slantlet Transform (SLT)
Another transform method is presented to be as an improved, enhanced and advanced than the wavelet transform. This type of transformer is called the Slantlet transform (SLT). As mentioned in definition of the wavelet transform before, many levels must be implemented using the LPF, and the HPF at each time to obtain the frequency component and signal details. This is can be done at any time needed, but still the wavelet has a weak point; this represented in that it is unable to produce or implement an optimal discrete time, which is actually the basis for the limited number of zero moments. Thus, to overcome this problem, Selesnick [49] proposed a new type of filters just like the DWT. These filters are called Slantlet transform. It provides best performance when compared with DWT due to their improvements of the time localization properties [49]. The SLT is recently an advanced multi-resolution decomposing technique which is very suitable for a piecewise linear data. The utilized filters are just like DWT; they are orthogonal and can offer multiresolution decomposition. In addition, an octave band and zero-moment characteristics are provided. The SLT filters, just like DWT, can take the same minimum number (level of decomposition is equal to two (2)), as shown in Figure (6). Another good SLT property can be mentioned; the filters of the SLT are implemented in a parallel structure by employing the different filters for each scale, whereas the DWT filters are implemented usually in a tree-structure that is based on filter bank iteration [50]. In [51], the Slantlet transform is used for compression with different threshold functions, the SLT is relatively new efficient and multi-resolution analysis (MRA) technique [52], [53], [54].
In [55], the Slantlet is used with the DCT (Discrete cosine transform) for the purpose of reconstructing and decomposing different images; the operations of decomposing and reconstructing are applied using the DCT for the standard original images and then the inverse DCT. Then Slantlet transform is applied for the same images. This test shows that the DCT is more efficient in analyzing images, while it is not the case during the application of Slantlet transform, where the complexity is increased. Regardless, the analytic results may be efficient if SLT is used for robot

Discussion
Due to the studied papers, many types of faults may occur in robot systems. Many types of methods were used for the purpose of diagnosis, identification and classification of those faults. Unfortunately, mostly studied papers had focused on a single type of fault, in one joint, or in one part of the system. ANN and the fuzzy systems were the mostly used method in the fields of diagnosis, identification and classification. However, the wavelet transform was also used many times for the purpose of diagnosis and identification. While only a single paper only applied the wavenet method for that purpose. Slantlet filtering was never used for the mentioned purpose. Nevertheless, all of these studies were applied for rigid real robots like PUMA 560. Thus, neither studies were issued adopting all these methods together, nor they can be applied for several types of faults in more than one joint (or part) of the system at the same time. Finally, no simulation studies were found in the literature regarding the faults diagnosis and identification in a robot system.

CONCLUSION
Fault diagnosis and detection general methods was presented and studied since many centuries; but in robotic fields, it still to be more investigated. Many cases studies was accomplished on educational robot types while less cases studies were adopted for industrial types. In this paper, more than fifty articles, which include methods of fault diagnosis, detection, identification and faults classification in robot systems have been discussed and studied. The most detected faults in robot systems have been classified into two parts: hardware and software faults. Really most of faults have been occurred in sensors and actuators beside less number of faults in software algorithms. Thus, the most detected and diagnosed faults are classified as hardware faults. ANN, Fuzzy logic and DSP (Digital Signal Processing) transformers like wavelet are the most methods used for classification and identification. The wavenet and Slantlet are proposed methods for fault diagnosis in robots. Less bardin has been specified to control faulty signals (faults correction) and system recovery. According to the studied articles, the hardware part has appeared as the most important part in fault detection.

ACKNOWLEDGEMENT
Authors greatly wish to thank the college of engineering staff at the University of Mosul, Iraq, espacialy the departments of computer engineering and mechatronics engineering for their support in this study.