Intelligent Fault Detection, Diagnosis and Health Evaluation for Industrial Robots

To develop an intelligent health diagnosis system for industrial robots, it is crucial to promote equipment utilization and then maintain high throughput. A concept explored here is the employment of an intelligent maintenance system (IMS) [1] aimed at preventing failure and degradation-phase defectiveness through the unremitting monitoring, prediction and estimation of equipment and production performance to enable appropriate diagnosis and maintenance. Condition-based maintenance (CBM) is an important part of an IMS. According to [2], intelligent CBM includes several fundamental elements: condition monitoring, fault diagnosis and prediction of a trend of equipment deterioration. There are three main approaches to fault detection and diagnosis (FDD), including the knowledge-based, model-based, and data-driven approaches [3]. Knowledgebased approaches generally imitate the behavior of a human expert in checking a system’s operation. This kind of approach can be easily implemented but difficult to use in a sophisticated multivariable robotic system. Model-based approaches are completely dependent on prior knowledge about the system model. By comparing the behaviors produced by the current system with the normal operation model, this approach checks for and further diagnoses any fault types. The major disadvantage of this method is that it is very difficult to model complex robotic systems precisely and quickly. Contrary to model-based approaches, datadriven approaches rely only upon sampled data to extract useful information that enables system condition monitoring and diagnosis. Moreover, the primary advantage of datadriven approaches is that they are model free. Compared to a general mechanical system, robot manipulators usually have more degrees of freedom (DOFs) and need more sensors to monitor the system state, which means that the data-driven approaches are most suitable for complex robotic systems. Data-driven approaches can be further subdivided into two categories. One category is the machine learning method, such as demonstrated by [4], who used a neural network (NN) to model the fault function for fault detection, [5], who used an NN to model residual torque for fault detection, and [6], who used not only an adaptive neuro fuzzy inference system to model the system but also an NN to diagnose faults. However, the obvious limitations with those methods are the quantity and quality of training data. The other category is the statistics-based method, as seen with [7] showing several outlier detection methods that can be used for fault detection, [8], who used the Wiener process to predict the fault of the bearings, [9], who used partial least squares to estimate the dynamic parameters for fault detection, [10], who used SPC charts to detect faults for an industrial robot. While outlier types are intuitive and easy to implement, a suitable threshold setting is critical with these methods. Because an industrial robot typically has a number of parts, numerous kinds of performance degradation faults can occur, such as from a lack of lubrication in transmission mechanisms, a timing belt coming loose, and wear and tear on gears. These faults can lead to industrial robot instability and damage. To avoid such situations, a health evaluation should be added to the maintenance management system. Accordingly, the proposed system presented in this study includes fault detection, fault diagnosis and health evaluation. The proposed fault detection method is based on the statistical process control (SPC) and uses principal component analysis (PCA) [11] to reduce the variable dimensions for multivariate monitoring. Furthermore, the Nelson rules [12] are used to more effectively and sensitively set fault detection thresholds. In applying the predominant statistical theory in a small sample population and abundant nonlinear kernel function of support vector machines (SVMs), the proposed fault diagnosis method is developed based on the multi-class SVM [13] to classify the faults of an industrial robot. Additionally, in the proposed health evaluation method, the robot health index (RHI) generator uses fuzzy logic to evaluate the health of the industrial robot. This study is organized into four sections. Section 2 proposes the architecture for the online fault detection, diagnosis and health evaluation system. Section 3 presents the proposed method for the complete system. Then Section 4 discusses the results of experiments with an actual industrial robot to verify the effectiveness of the proposed system’s functions. Finally, conclusions are discussed in Section 5.


Introduction
To develop an intelligent health diagnosis system for industrial robots, it is crucial to promote equipment utilization and then maintain high throughput. A concept explored here is the employment of an intelligent maintenance system (IMS) [1] aimed at preventing failure and degradation-phase defectiveness through the unremitting monitoring, prediction and estimation of equipment and production performance to enable appropriate diagnosis and maintenance. Condition-based maintenance (CBM) is an important part of an IMS. According to [2], intelligent CBM includes several fundamental elements: condition monitoring, fault diagnosis and prediction of a trend of equipment deterioration.
There are three main approaches to fault detection and diagnosis (FDD), including the knowledge-based, model-based, and data-driven approaches [3]. Knowledgebased approaches generally imitate the behavior of a human expert in checking a system's operation. This kind of approach can be easily implemented but difficult to use in a sophisticated multivariable robotic system. Model-based approaches are completely dependent on prior knowledge about the system model. By comparing the behaviors produced by the current system with the normal operation model, this approach checks for and further diagnoses any fault types. The major disadvantage of this method is that it is very difficult to model complex robotic systems precisely and quickly. Contrary to model-based approaches, datadriven approaches rely only upon sampled data to extract useful information that enables system condition monitoring and diagnosis. Moreover, the primary advantage of datadriven approaches is that they are model free.
Compared to a general mechanical system, robot manipulators usually have more degrees of freedom (DOFs) and need more sensors to monitor the system state, which means that the data-driven approaches are most suitable for complex robotic systems. Data-driven approaches can be further subdivided into two categories. One category is the machine learning method, such as demonstrated by [4], who used a neural network (NN) to model the fault function for fault detection, [5], who used an NN to model residual torque for fault detection, and [6], who used not only an adaptive neuro fuzzy inference system to model the system but also an NN to diagnose faults. However, the obvious limitations with those methods are the quantity and quality of training data.
The other category is the statistics-based method, as seen with [7] showing several outlier detection methods that can be used for fault detection, [8], who used the Wiener process to predict the fault of the bearings, [9], who used partial least squares to estimate the dynamic parameters for fault detection, [10], who used SPC charts to detect faults for an industrial robot. While outlier types are intuitive and easy to implement, a suitable threshold setting is critical with these methods.
Because an industrial robot typically has a number of parts, numerous kinds of performance degradation faults can occur, such as from a lack of lubrication in transmission mechanisms, a timing belt coming loose, and wear and tear on gears. These faults can lead to industrial robot instability and damage. To avoid such situations, a health evaluation should be added to the maintenance management system. Accordingly, the proposed system presented in this study includes fault detection, fault diagnosis and health evaluation. The proposed fault detection method is based on the statistical process control (SPC) and uses principal component analysis (PCA) [11] to reduce the variable dimensions for multivariate monitoring. Furthermore, the Nelson rules [12] are used to more effectively and sensitively set fault detection thresholds. In applying the predominant statistical theory in a small sample population and abundant nonlinear kernel function of support vector machines (SVMs), the proposed fault diagnosis method is developed based on the multi-class SVM [13] to classify the faults of an industrial robot. Additionally, in the proposed health evaluation method, the robot health index (RHI) generator uses fuzzy logic to evaluate the health of the industrial robot.
This study is organized into four sections. Section 2 proposes the architecture for the online fault detection, diagnosis and health evaluation system. Section 3 presents the proposed method for the complete system. Then Section 4 discusses the results of experiments with an actual industrial robot to verify the effectiveness of the proposed system's functions. Finally, conclusions are discussed in Section 5.

System architecture
As shown in Fig. 1, the system is proposed to be an online implementation of a solution to the problem of industrial robotic faults. The structure consists of three subsystems: a fault detection subsystem, a fault diagnosis subsystem and a health evaluation subsystem. The fault detection subsystem, designed for continuous monitoring of all kinds of robot tasks, uses online sensor data to check the operation status of the industrial robot in real time. After pre-processing and being multiplied by the projection model, online sensor data can be transformed into representative information that can be used by the SPC to identify variations in robot performance. When the operation status of a robot reaches a warning threshold, the fault diagnosis subsystem is launched after the robot stops its current task. Moreover, the pre-processing weights, projection model and control limits of the SPC are first determined by the historical normal data of the current task. If the warning conditions are not met, the next step will be the conditions of health evaluation process determined by either the duration of work or the user specification. If these conditions are met, the health evaluation subsystem is launched after the robot stops its current task. Oppositely, the fault detection subsystem returns to the starting point to proceed with the next cycle. In the fault diagnosis subsystem, the robot will first perform a diagnostic operation of each joint, and the features of the testing data are then extracted. These features will be input to the classifier to diagnose the robot's current faults. Based on the diagnosis results, the appropriate maintenance can then be performed to prevent serious damage to the industrial robot. Moreover, the classifier is trained by the historical normal features acquired from the original diagnostic operation.
In the health evaluation subsystem, the robot will also perform an evaluation operation of each joint which is the same as the diagnostic operation to acquire the evaluation data. Then the RHI can be calculated to evaluate the health condition of the industrial robot. The required calculation distributions are also decided by the historical normal data of original evaluation operations. These three subsystems will be introduced and discussed in detail in the next section.

Fault detection, diagnosis and health evaluation
In this section, the fault detection, fault diagnosis and health evaluation will be described in more detail.

Fault detection
Assuming the industrial robot performs a repetitive task, the subsystem will try to identify the variations seen by all of the sensors online. Before online fault detection, the subsystem will build the required pre-processing weights, projection model and SPC control limits from historical normal data of the current task, as shown in Fig. 2. The related parts of the offline building process and the online fault detection process are described below.
3.1.1. Sensor data pre-processing In total, the sensors include six motor encoders, six motor current sensors and one external single-axis accelerometer. Because of the importance of the industrial robot's performance, errors of historical normal operations and running operations in a task are identified using the following equations: , where: q, q and τ denote the joint angle, joint velocity and joint torque values of each motor. The subscript cmd means the variable is the command value of the desired task. The subscript fb means the variable is a feedback value. The subscript ref means the variable is the average of the historical normal operation data. The subscript i refers to the joint index of the robot, and the subscript j refers to the sample number index of the task. The joint velocity data is calculated from the joint angle data. These error type variables can clearly represent the performance of an industrial robot and are not easily affected by the contents of the task. Ideally, the smaller these errors are, the better the results are. When the operation status of a robot becomes abnormal, the errors of motion will likely be greater. In addition, vibration data from an external accelerometer will be input directly. Therefore, there are total of 19 channels of input data in this subsystem. Because these values from different sensors have different units and scales, a weight tuning process is required. The normalization processes of data shifting and scaling are executed for all historical normal operation data to generate two weight vectors with a length of 19. Then the two vectors are used to pre-process data for the offline building process and online fault detection, as shown in Figs. 1 and 2.

Projection model
With sensor-based machine fault detection, it is not uncommon for data to be collected on dozens of process variables. Clearly, this calls for an approach that can visually display important quantities and still have the sensitivity to detect special causes of variation.
Because of the ability to discriminate direction with the largest variance in a data set that consists of a large number of interrelated variables, PCA is usually used to identify the most representative features [11]. Hence, the operation status of a machine can be interpreted against those projected data over the first few principal components easily and sensitively. This can save many efforts to observe all the original parameters.
The projection model can be built by a PCA of preprocessed historical normal operation data offline, as shown in Fig. 2. Let the original data matrix be: where: m is the sensor variable's number, which is 19 here, and n is the data number, which is a multiple of the sample number of the task here. In addition, each row has been preprocessed for normalization. Then the covariance matrix of X can be calculated as: (5) where: the operator E denotes the expected value of its argument. The principal components can be acquired by eigenvectors of X Σ and, according to the size of the corresponding eigenvalues, one or two representative principal components can be chosen to be the projection model. This projection model is used for transforming pre-processed historical normal operation data and running data into projected values, as shown in Figs. 1 and 2, where the former projected values are used to define the control limits, and the latter ones show the state of a running machine. The projected values will form trajectories in a single task. After acquiring the projected trajectories from historical normal operations, the SPC is adopted to construct the control limit, as shown in Fig. 2. Then the detection rules of the fault detection subsystem can also be built. SPC [14] is an optimization philosophy applied to continuous process improvement, using a collection of statistical tools for data and process analysis. It seeks to maximize profit by improving product quality and productivity, streamlining process, and reducing scrap rate, among other goals.
In the proposed subsystem, it is assumed that the relationship between normal trajectories in the same task is the normal distribution if there are enough normal trajectories. Next, the control charts are chosen to monitor the system variables. According to the system characteristics, the Xbar-R chart is chosen for continuous sensor data; it is used to assess the stability of a task and includes the process mean (Xbar) and process range (R). The corresponding control limits of the R chart are calculated with the inputs of the normal process spread as: where: UCL, LCL, and CL denote the upper control limit, lower control limit and central line, respectively. R denotes the average of ranges of sample groups. D3 and D4 are sample size specific factors for control limits [14]. The control limits of the Xbar chart are then calculated with the inputs of the normal process mean as: where: x denotes the average of averages from the sample groups. A2 is also a sample size specific factor for control limits [14]. In the proposed method, the sample groups are formed by several consecutive projection values, and their size is between 2 and 10. For example, in Fig. 3, there are two normal projection trajectories with a sample group size of five, and the sample window will shift with time. The control limits at time T are then built with all of the normal sample groups at time T. Therefore, in different time steps, there are different control limits in these charts. The range between UCL and LCL is six standard deviations. The general fault detection is only based on these two boundaries or additional boundaries of positive and negative two standard deviations [10], so in order to detect more subtle fluctuations and shifts, the Nelson rules [12] are used. Sample graphs of the eight rules are shown in Fig. 4. The central line is CL, and the sigmas represent the standard deviation of the data. The running projection values are also formed for the same size sample groups to online monitor status using these rules, with individual thresholds in these charts.
In this study, by integrating the aforementioned approaches, the PCA-based SPC using Nelson rules is realized to rapidly find the process variation of an industrial robot equipped with many sensors using only a few control charts. This method can handle effectively the multivariate monitoring problem and it will significantly reduce the burden on monitoring. As soon as an abnormal variation behavior is detected, the fault diagnosis subsystem will be started for further fault classification. Fig. 4 The violation rules of control chart

Fault diagnosis
In this subsystem, the identifiable faults of a chosen robot should be decided, and the robot will perform a set of diagnostic operations with normal and different fault conditions to collect corresponding features first. These features can be used to train and validate the fault diagnosis model by using machine learning technology offline, after which the model can be used to diagnose faults online, as shown in Fig. 1.

Fault types and diagnostic operation of an industrial robot
The proposed method focuses on possible performance degradation problems of the industrial robot, including increasing joint friction (lack of lubrication) and timing belt loosening (belt aging or an abnormal tension adjustment mechanism). The baseline information is very important for diagnosis, so the initial healthy features of the robot should be fully and effectively collected from the original diagnostic operations. The diagnostic operation is designed with the following characteristics. First, the robot will rotate only one joint at a time, keeping other joints locked. This means that the diagnostic information for each axis can be generated as independently as possible. Second, the diagnostic operation is conducted at a constant speed of rotation back and forth several times. Then the robot operating frequency can be fixed in order to be easily analyzed.

Fault diagnosis features
In the proposed method, an industrial robot's existing sensors, including motor encoders and motor torque sensors, are the preferred choice. Further, because the vibration data is also important for analyzing robot motion, an additional accelerometer is needed.
There  1), and the joint torque of the diagnostic operation can be extracted. In the frequency domain, the fast Fourier transform (FFT) is used to analyze the spectrum, and the size of specific frequencies are chosen as features through observation of the spectrum of normal diagnostic operation data. These features will be used for an effective pattern recognition method to train the fault diagnosis model.

Multi-class support vector machines
An SVM is a machine learning technique that has been in use since the 1990s. SVMs are becoming increasingly important in machine learning, especially with data of large dimensions. The advantage of an SVM is its fast convergence in learning and fewer parameters to be tuned. It can solve a number of small-sample problems in practice, and also present a theoretical framework for machine learning.
In the proposed method, because a multi-class classifier is needed, a one-against-one multi-class SVM [13] is adopted. If there are p classes of data, this kind of SVM constructs p(p-1)/2 two-class SVMs, but each one is trained with data from only two different classes. Given v training data () uu ,l z , where z and l mean the training input vector and corresponding label and 1 u ,...,v  , from the qth and the rth classes, the following binary classification problem can be solved:  (12) where: ω and b denote the parameter vector and bias of the support hyperplane,  denotes the slack variable,  is the function for mapping z to a higher dimension space and C is the penalty parameter. After all of the two-class SVMs are constructed, each training input z can be classified by: (13) where sign is the sign function. If the predict result equals positive one, the vote for the qth class is added by one. Otherwise, the rth class is increased by one. Finally, we can predict z is in the class with the highest vote, and the strategy is also called the "max wins" voting strategy.

Health evaluation
Construction of a quantitative index is an intuitive and effective way to understand the health of the industrial robot. In general, the health of the robot will affect its performance and the performance is therefore best at the beginning of use. So the index which is between 0 and 1 can be designed based on the overlapping area of two normal distributions with the same standard deviation [15], and these two distributions can be used to show the current performance and the original performance of the robot, as shown in Fig. 5. In the proposed health evaluation subsystem, the evaluation operation is the same as the diagnostic operation of the fault diagnosis subsystem. The evaluation operation will be executed at the beginning of use to collect at least 30 sets of original operation data, which include the joint angle error and torque of each joint. These sets of data are used to calculate the mean and standard deviation at each sampling time to represent the original performance. When the evaluation process is triggered online, the subsystem will collect several sets of evaluation operation data and average them to minimize fluctuations of the position controller to represent the current performance. Assuming that the standard deviation of current evaluation operation data at every sampling time are the same as those of the original evaluation operation data, the overlapping area of the two normal distributions of current and original evaluation operation data, at one sampling time and with only mean deviation, can be calculated. Then the joint angle error index (JAEI) and the joint torque index (JTI) for each joint, along with the robot angle error index (RAEI) and robot torque index (RTI) for the whole robot, are calculated as follows:  where the subscript i denotes the joint index, and the subscript j denotes the sample number index of the task.
T N means the total sample number in the task, and J N is the number of joints. The means of the original and current evaluation operations are mao and mac, respectively, for the joint angle error; mto and mtc are the means of the original and current evaluation operations, respectively, for joint torque; a  and t  are standard deviations for joint angle error and joint torque, respectively. These six parameters can be calculated according to different values for i and j. The proposed four indexes are real numbers between 0 and 1, and the larger the value, the healthier. This study considers that a performance deviation in any joint will severely affect the performance of the whole robot, and the RAEI and RTI are minimum values of all JAEI and JTI, respectively.
The RHI generator is a Mamdani fuzzy inference system. There are two input variables, RAEI and RTI, and one output variable, RHI. Fig. 6 shows the proposed architecture for the RHI generator. Fig. 7 shows the designed membership functions for RAEI, RTI and RHI. The RAEI and RTI are divided into three levels, high, medium and low, and the RHI, which is also between 0 and 1, is divided into four levels: good, slight aging, medium aging and severe aging. The joint torque values are more significantly affected by faults than the joint angle error values because the robot position controller can increase the torque output to reduce a joint angle error. Therefore, the acceptable deviation of the RTI is larger than that of the RAEI, as shown in Fig. 7 The whole rule base is shown in Table 1 and the fuzzy implication for these rules is the min operator. Then the rule outputs are combined by max aggregation method to the fuzzy set of the output variable, RHI. Finally, to produce a nonfuzzy action that best represents the possibility distribution of an inferred fuzzy action, the center of area (COA) method is used for the defuzzification strategy. After defuzzification, the value of RHI ranges from 0 to 1; and the higher is better.

Experiments
This study covers three experiments corresponding to three subsystems. The chosen industrial robot is a six-axis robot, DRV90L7A6213N by Delta Electronics.

Experimental settings
Due to the design of the robot's mechanisms, only the fifth and sixth joints can be used for fault-related experiments. For this experiment, the fifth joint is chosen as the experimental area. Fig. 8 shows how the simulation of increasing joint friction is implemented by applying normal force on the wheel in the solid red box, and the simulation of timing belt looseness is implemented by tuning the length of the screw in the dotted red box. This screw is loosened about 2 mm from its original position to simulate a loose belt. The wheel pressing device is shown in Fig. 9. This device has a screw that moves the white metal block to press the wheel, and there is a flexible pressure sensor to estimate the normal force and friction added to the wheel. The normal force on the pulley is about 60 N in a condition of increasing friction.

Fault detection experiments
The fault detection subsystem is designed to identify variations in any type of cyclic task. The task designed to simulate object grasping is shown in Fig. 10 with the video included in the attachment as an example. The robot performs cyclic movements in three points, and the sensor data will be monitored throughout that time. There are 2,411 points, with a 6 ms sampling time in one task cycle. For this experiment, 30 sets of normal operation data for 19 variables are collected to build the projection model, with only one principal component at first. Then the control limits of the Xbar-R chart can be built with a sample group size of five, as shown in Figs. 11 and 12.  Table 2, where the variations between normal and abnormal operations are obvious. This table shows that the Xbar chart is much more sensitive for fault detection than the R chart, so the Xbar chart is more suitable for use in fault detection. In the second test, these 12 operations are further checked using Nelson rules in an Xbar chart, and the results are shown in Table 3. Rule 2, used for detecting prolonged bias, shows a difference between normal and abnormal operations, but the number of normal operations is not zero, so this study considers this rule to be unsuitable. Rule 3 is used for detecting existing trends, and there is no obvious difference between normal and abnormal operations. In rule 4, used for detecting oscillation, the numbers in these operations are zero. Rule 7 detects faults with one standard deviation, and if there are any faults, the number will decrease. Therefore, rules 1, 5, 6, and 8 are the most suitable for checking the variations, while rule 1 is the same as the original SPC detection method. Next, the warning thresholds can be set for online implementation at 50, 100, 300 and 200 for rules 1, 5, 6 and 8, respectively. Once the violations for any rule crosses over the threshold, the current task is stopped, and the diagnosis process is launched. Moreover, to make online reaction faster, one original task can be separated into several small tasks, and these small tasks can also use the proposed fault detection approach.  Fig. 10 The condition monitoring task including three points: athe first point, bthe second point, cthe third point 77 Fig. 11 The upper (red) and lower (blue) boundaries in the Xbar chart Fig. 12 The upper (red) and lower (blue) boundaries in the R chart. The lower boundary is zero  0  1467  641  0  0  68  2066  41  Friction1  425  1893  605  0  541  886  756  764  Friction2  281  1946  621  0  436  828  843  691  Friction3  475  2001  650  0  612  787  1079  707  Friction4  241  1904  614  0  340  796  765  664  Mean of the increasing friction operations  356  1936  623  0  482  824  861  707  Loose1  419  1891  611  0  625  943  929  839  Loose2  437  2015  627  0  494  768  1090  656  Loose3  440  1975  612  0  503  647  1221  580  Loose4  455  1854  603  0  530  785  891  668  Mean of the loose belt operations  438  1934  613  0  538  786  1033  686 4.3. The fault diagnosis experiment In this experiment, the robot performs the constantspeed diagnostic operation several times in the fifth joint under the aforementioned fault conditions, as shown in Fig. 13 with the video included in the attachment. The motor speed is 5,500 rpm. There are six kinds of features of these diagnostic operations, including the mean and variance of joint angle error and joint torque, as well as two frequencies, 38 Hz and 68 Hz. The data set has three labels: normal, friction and looseness, and each label has 120 data points. The multi-class SVM has three classifiers: normal to friction, normal to looseness, and looseness to friction. Each classifier has 240 data points, and the data are divided into 180 training data points and 60 validating data points. The testing results are shown in Tables 4, 5 and 6. Clearly, the accuracy is 100%, so if one testing sample is input to this system, these classifiers can vote the correct results. Table 4 The testing results of normal to friction Predicted normal Predicted friction Actual normal 31 0 Actual friction 0 29 Table 5 The testing results of normal to looseness Predicted normal Predicted looseness Actual normal 35 0 Actual 0 25 Table 6 The testing results of looseness to friction First, 30 sets of original evaluation operation data of each joint for the whole robot are collected for baseline data. Then 10 sets of current evaluation operation data are collected for each of three different fault conditions in the fifth joint, including normal, increasing friction, and belt looseness, which is the same as previously mentioned. The other five joints are within normal conditions. In this way, three kinds of current evaluation operation data are acquired for calculating JAEI, JTI, RAEI, RTI and RHI. The results are shown in Table 7 and 8. In Table 7, it can be seen that the JAEI and JTI under normal conditions are around 0.92 and 0.93, respectively. This means that there is always some fluctuation of the position controller even if the robot is brand new. By comparing the results for the fifth joint, the differences between the normal and abnormal conditions become very clear, and the JAEI and JTI decrease with fault conditions. Table 8 shows that there are obvious differences among three fault conditions in RAEI, RTI and RHI. The RHI is around 0.92, 0.19 and 0.08 for normal, belt looseness and increasing friction conditions, respectively, so the aging state of the health is clear. This shows that the health evaluation subsystem can discriminate the health status of the industrial robot. The RTI changes more dramatically than the RAEI because of the regulation of the position controller. The relationship between RAEI, RTI and RHI is shown in

Conclusions
This study describes a proposed intelligent fault detection, diagnosis and health evaluation system using a PCA-based SPC with Nelson rules to monitor the multivariate operation condition of industrial robots. After analysis, four suitable Nelson rules are chosen for fault detection. It is shown that this approach can effectively detect subtle variations in a robot's performance. A multi-class SVM is applied to fault diagnosis in this system with several features, and the results of classification are sufficient to recognize faults. Furthermore, if a user wants to know the health status of a robot, the RHI can be calculated using the health evaluation process in this system. Finally, the proposed system is successfully validated by two kinds of real fault conditions implemented with an actual six-axis industrial robot.