# Fault Diagnosis of a Reconfigurable Crawling-Rolling Robot Based on Support Vector Machines
## 1 Introduction  
In the last few decades, robotic applications have drastically increased, and continue to increase, as we advance towards more sophisticated and fast-paced development environments. Modern robots are highly complex mechatronic systems with hardware and software modules that have a diverging set of features. Due to the highly complex nature of next-generation robotic systems, and the uncertain environments they occupy, modern robots are highly likely to encounter faults during runtime. Even well-designed robotic hardware will encounter a fault in its lifetime. Machine learning techniques have been used for automated fault diagnosis in many industrial applications. In [1], the authors proposed a fault diagnosis method for a spur level gear box. The statistical features used in this procedure are determined via wavelet coefficients of the vibration signals. This work uses Artificial Neural Networks (ANN), which provided an accuracy of 97.5%, and Proximal Support Vector Machines (SVM), which provided an accuracy of 97% for classification. In [2], [PERSON] proposed a fault detection technique for turbo-pump motors by using a Multi-class Support VectorMachine for classification and Principal Component Analysis (PCA) for dimensionality reduction. This model exhibits a high level of accuracy, in the range of 95% to 100%, when tested with different kinds of Support Vector Machine methods. In [3], a fault diagnosis technique, which uses multiple components, is implemented for rotational mechanical systems using Support Vector Machine and decision tree methods. This work uses the vibration signals of machinery to extract the statistical features needed for classification. A neural network-based fault diagnosis technique for rotational machine parts is presented in [4]. The two neural networks used in this paper were either non-linear radial basis function-based or time delay-based neural networks. It was tested in the automatic gear system of automobiles using their acoustic data. Another similar machine learning-based approach is proposed in [5] for figuring out the faults in ball bearings. A high-speed rotor supported on a ball bearing is used to collect the vibration-signal data; the features are extracted from this data set. The classification is done using Support Vector Machines and Artificial Neural Networks. Aside from SVM and ANN, various other techniques have been explored in the context of fault diagnosis in industrial settings. In [6], a Non-linear Unknown Input Observer was used to diagnose a malfunctioning part in an autonomous spacecraft used in the rendezvous phase of the Mars Sample Return (MSR) mission. This approach does not involve machine learning. Instead, it uses observers and position models to detect faults. The approach in [7] uses an analytical redundancy method to diagnose faults in a vehicle roll rate sensor. Among the models found in analytical redundancy, an Eigen structure assignment is utilized in this work because it provides a higher level of robustness than other models. Another strategy mentioned in [8] for fault detection in ball bearings uses the three-phase induction motor. This approach uses PCA and Fisher's Linear Discriminant Analysis (LDA) for dimensionality reduction. Furthermore, it uses random tree algorithms and a C4.5 decision tree algorithm to classify faulty and non-faulty data. In [9], a genetic algorithm approach is used for detecting faults in analog circuits. The parameters used for this process are obtained from the transfer function of the circuit under test, and could detect faults efficiently with a high degree of accuracy. In the robotics field, machine learning techniques are becoming popular towards handling fault diagnostic issues. In [10], the authors proposed an SVM method for fault diagnosis in Autonomous Underwater Vehicles (AUV). The algorithm was specifically designed to detect any actuator faults in the robot, where the interpolation of the unknown actuator fault is accomplished via a Radial Basis Function (RBF).