Design and Estimation of an AUV Portable Intelligent Rescue System Based on Attitude Recognition Algorithm

Additional the Abstract This research is based on the attitude sensing algorithm to design a portable intelligent rescue system for autonomous underwater vehicles (AUVs). To lower the possibility of losing the underwater vehicle and reduce the difficulty of rescuing, when an AUVintelligent rescue system (AIRS) detects the fault of AUVs and they could not be reclaimed, AIRS can pump carbon dioxide into the airbag immediately to make the vehicle resurface. AIRS consists of attitude sensing module, double-trigger inflator mechanism, and activity recognition algorithm. The sensing module is an eleven-DOF sensor that is made up of a six-axis inertial sensor, a three-axis magnetometer, a barometer, and a thermometer. Furthermore, the signal calibration and extended Kalman filter (SC-EKF) is proposed to be used subse- quently to calibrate and fuse the data from the sensing module. Then, the attitude data are classified with the principle of feature extraction (FE) and backpropagation network (BPN) classifier. Finally, the designed double-trigger inflator can be triggered not only by electricity but also by water damage when the waterproof cabin is severely broken. With the AIRS technology, the safety of detecting and investigating the use AUVs can be increased since there is no need to send divers to engage in the rescue mission under water.


Introduction
Significant research is being conducted on the development of autonomy for underwater robotic vehicles, which are widely employed in many fields of application such as oceanographic, marine archeology [1], military organizations, and cable tracking and inspection [2].
The advent of underwater robotic vehicles has significantly reduced the dangers in deep sea exploration. Two kinds of robotic vehicles used in marine research are remotely operated vehicles (ROVs) and autonomous underwater vehicles (AUVs). The main difference between the two is that ROVs are connected to the ship by communication cables whereas AUVs operate independently from the ship. AUVs operate without an umbilical; therefore, AUVs are able to conduct a larger range of work area. In this research, AUV intelligent rescue system (AIRS) can minimize the loss of losing or unpredictable catastrophic failure of AUVs caused by emergency conditions.
In recent years, the micro-electro-mechanical system (MEMS) has almost become a vital technology for modern society because of its small volume, low power consumption, low cost, and ease of integration into systems or modification [3]. The MEMS technology creates entirely innovative kinds of products, such as gyroscope sensor in camera-shake detection systems [4], multi-axis inertial motion sensors for smartphone-based navigation [5], and rehabilitation systems based on inertial measurement units (IMUs) [6]. Additionally, the integration of global positioning system and inertial navigation system (GPS/INS) is usually employed to measure the position of AUVs [7,8]. Unfortunately, small errors in the measurement of initial data are double integrated into larger errors progressively in attitude data, and such errors increase without bound. Error reduction calibration for initialization of INS is paramount for the systematic parameter, like scale factor, bias, and misalignment of the axes. As the situation depicted above, a calibration method is investigated and adopted in this research. There are many researches utilizing Kalman filter (KF) [9], complementary filter (CF) [10], adaptive Kalman filter (AKF) [11], or extended Kalman filter (EKF) [12] to fuse the gyroscope and accelerometer together, taking advantages of their individual strength. In this research, we use EKF to filter IMU outputs with a balance of noise canceling and adaptability simultaneously used in sensing attitude algorithm for AIRS.
The sensing algorithm with EKF for sensing the attitude of AUV, while employing the backpropagation network (BPN) to classify motion data that are formed in the AUV. Before classify the data, there is a problem. The problem is compounded by the fact that our system is computationally complex due to values estimation of AUV and causes the high dimension that is called "curse of dimensionality," which donates the drastic rise of computational complexity and the classification error. Therefore, the step of feature extraction (FE) is an important procedure in data classification [28]. Further, we feed the data into eural network to distinguish every AUV motion in each operating period. The neural network consists of multiple artificial neurons to receive inputs, and process them to obtain an output [13]. By repeating amendments to the model weights, the neural network makes central processing unit (CPU) more logical to calculate the nonlinear systems of AUV motion [14]. The neural network has been widely used because of a number of advantages, including estimating which variables are important in classification, detecting possible interactions between predictor variables, and constructing the prediction model with a high accuracy rate. Furthermore, the neural network has emerged as an important tool in classification which has been investigated in many different important applications [15]. In this study, neural network classifier (NNC) is used in the calculation of nonlinear systems AUV attitude data to detect a catastrophic failure of an AUV. Based on the multilayer feed-forward backpropagation algorithm as NNC, we proposed an effective activity recognition method using 10-DOF sensor module.
The concept of AIRS is inspired from the vehicle safety device: airbags have a flexible fabric bag that can protect and restrict the occupant from being thrown away during a crash accident [16,17]. Wang and Dragcevic designed the airbags, which fire via a small pyrotechnic charge to increase motorcyclists' safety protections when riding a motorcycle [18,19]. The airbags are applied to not only fall-protection devices but also automatic inflatable life buoy by the inflatable method of a gas cylinder [20][21][22][23]. We extended the airbag systems to load on the AUV with CO 2 cylinder to implement the AIRS. In this research, we developed a malformed detection algorithm for AUV with both EKF and BPN, and the implementation of the airbag system loaded on AUV is underway.

Intelligent rescue system
In this section, we introduce the hardware components of an AIRS and its working principles. The hardware of AIRS contains the sensing module and a double-trigger inflator. The 11-DOF sensing module combines the 9-DOF inertial sensor, barometric pressure sensor, and temperature sensor to collect the motion data and the depth of the underwater vehicle. The inflator is used with gas cylinders as the double trigger mechanism, which can be triggered not only by electricity but also by water damage when the waterproof cabin is severely broken. Furthermore, we used the commercial software LabVIEW™ to analyze the relation between buoyancy force and inflator device in water, to confirm the inflator specifications ( Figure 1).

Sensing module
Master control module uses ATmega2560 with the Arduino program written to read motion data of sensor. Ten-axis motion sensor combined with the accelerometer, gyroscope, magnetometer, and the barometer to acquire attitude angle data through the inter-integrated circuit (I2C) is adopted. The communication module uses Bluetooth transmit data wirelessly to the processing software. The block diagram of the 11-DOF sensing module is shown in Figure 2.

Inflator mechanism
In case of failure and sinking of AUVs underwater, we designed an airbag system to increase the buoyancy and reduce the overall density of the AUVs. AIRS is installed on top of AUV, an airbag inflated in a fault condition to force the AUVs to surface up. In this section, we are going to introduce how to manufacture an inflator mechanism of the AIRS for the AUV, including the specification analysis and the mechanism design.

Specification analysis
The AIRS mechanism is installed on top of the AUV and dives down into the ocean. One should note that the hydrostatic pressure exerted by a liquid increases with increase in ocean depth, which influences the specification of the cylinder. Not only that, the full displacement and weight of the AUV also affect the size of the airbag and cylinder. These interrelated factors cause the different performance of the airbag inflation time and rescue time. To analyze the inflator specification more accurately and conveniently, we have engineered the specification calculator for the inflator to ensure that the airbag can be inflated and can bring the AUV to surface successfully. From the required buoyancy and the depth of the location, the calculator analyzes the required gas cylinders and airbag volume.
From the result of the calculation illustrated in Figure 3(b), it takes 68.1 seconds to make nylon airbags fill with CO2 and provides 42.1 N buoyancy for AUV. The design of added buoyancy can bring 7.47 kgw of underwater vehicle to the surface (assume that the full load displacement is fixed). With this technology, we can install the appropriate number of gas cylinders and airbags in accordance with different displacements of AUV accurately and conveniently.

Mechanism design
After the above analysis by the calculator, we found out the appropriate gas cylinder and airbag, and designed the corresponding mechanism parts for the selected gas cylinder and airbag. We are going to elaborate on the design concept of the inflator mechanism in the following. Figure 4 illustrates a double-trigger inflator including a servomotor, horn, spring, spring case, crowbar-striker, water-soluble PVA fiber, release button, and CO 2 cylinder. The designed double-trigger inflator can be triggered not only by electricity but also by water damage when the waterproof cabin is severely broken.
After the above analysis by the calculator, we found out the appropriate gas cylinder and airbag, and design the corresponding mechanism parts for the selected gas cylinder and airbag.
There are two operating mechanisms to trigger the inflator. To begin with the electricity trigger mechanism as shown in Figure 4(b), we assume that the waterproof cabin is watertight; after detecting the failure of AUVs, servo motor rotates for pushing the crowbar-striker, and the crowbar-striker punches the release button, which needs 35 N normal force to release into the airbag through the air tube. We chose MG995 for servomotor, which has product size 40.7 Â 19.7 Â 42.9 mm and weight 55 g; MG995 is sufficient to move the horn for the release button with its maximum torque 127 N-cm.
Besides, if the AUV is severely impacted and causes cabin seepage, so that the power system is damaged, the AUV cannot resurface by the thruster or the electricity-trigger inflator. Hence, we designed the water-trigger inflator for this kind of case. When the cabin is broken, water  melts the water-soluble PVA fiber and releases the spring case as shown in Figure 4(c). Within the spring case, the music wire is selected to spring; the true maximum load of spring is 27.985 N, which is not enough to press the release button. Thus, we extended the striker into a crowbar-striker, and amplified the spring force by the lever principle to release the push button. The final part is the airbag, which is made of nylon 6/6 and folded under a cover. The airbag weighs 150 g and the value of tensile strength is 809.3 atm, which can withstand the pressure caused by gas cylinders.

Sensor with activity recognition algorithm
The method and the procedure of data processing and activity recognition are described in Section 3. The former includes the signal calibration and extended Kalman filter algorithm; the latter is constructed of FE and BPN classifier.

Data processing of 11-DOF sensing module
The 10-DOF sensing module including the 9-DOF IMU (three accelerometers, three gyroscopes, three magnetometers), barometer, and thermometer integrated with a microcontroller (Arduino Mega2560). The six-axis inertial sensor (MPU6050), which is a complete triple-axis gyroscope and triple-axis accelerometer inertial sensing system, is the most suitable sensor for stabilization and attitude measurement. MPU6050 contains the digital motion processor (DMP) which performs the motion processing algorithm itself. However, the horizontal attitude (yaw) is not a possible measurement. We used a magnetometer (HMC5883L) with fusion algorithm accordingly for eliminating the gyroscope offset to recognize the AUV activity context more reliably. The barometer (BMP180) is used in AIRS to detect the depth of the AUV and control the pressure of the airbag for supplying the perfect buoyancy. In addition, BMP180 also includes a temperature sensor, which does not only measure the underwater temperature but also thermal compensation for the MPU6050. Although the development of the MEMS technology has made a great progress, the IMUs are still difficult to collect precise data in the presence of various errors. Calibration is the process of comparing the measurement outputs with known reference data and determining the coefficients that drive the output to agree with the reference data over a range of output. We calibrated the sensor in terms of its thermal noise, bias, and scale factor.

EKF strategy
A quaternion-based EKF is proposed in this section for determining the attitude of the AUV from the outputs of IMU. Attitude estimation is a very important part of the AIRS. If the initial data are double integrated into larger errors without bound, it brings on the misclassification of ANN algorithm with wrong attitude values. For the sake of this error, we used a series of measurements and observed over time for signal processing. The main advantage of the KF is its ability to provide the quality of the estimate, but the KF only applies to linear and Gaussian models. The EKF conversely is a nonlinear version of the KF which linearizes about an estimate of the current mean and covariance. In view of this, we chose the EKF to filter IMU outputs with a balance of noise canceling and adaptability simultaneously, used in sensing attitude algorithm for AIRS. We proposed the EKF fusing with the accelerometer, gyroscope, and magnetometer integrated with sensor calibration (SC). SCEKF results in an improvement of the orientation accuracy from IMU. A flowchart of structure performed by the proposed SCEKF is capsuled in Figure 5.
The first step of EKF predicts a current state and covariance matrix at time k. We estimated a current state based on the previous statesx kÀ1 ¼â kÀ1ωkÀ1mkÀ1 ½ T that are composed of the gyroscope measurementω kÀ1 and white noiseν kÀ1 ¼ aν Â Ã T and the priori covariance matrixP k based on a previous covariance matrix P

Jacobian computation
However, in view of the nonlinear process of state transition F kÀ1 and observation H k directly, the EKF approach requires estimation by computing the Jacobian.

Gravity corrections
where the innovation covariance matrix S k is based on the a priori error covariance matrixP k and the measurement covariance matrix of accelerometer R a , whose main diagonal elements are from the accelerometer values, and nonmain diagonal elements are all zero conversely. The Kalman gain K k is the error covariance matrix after gravity measurement is corrected.

Yaw corrections
where the measurement covariance matrix of magnetometers R m , which main diagonal elements are from the magnetometer values, non-main diagonal elements are all zero conversely. P 2 ð Þ k is the error covariance matrix after yaw measurement is corrected.

Feature extraction (FE)
AUV motions are defined by the six degrees of freedom, including heave, surge, sway, pitch, roll, and yaw, and they are coupling by the vehicle shape, trends, and current interaction. Therefore, the attitude data of AUV is of high dimension and very complex. The value of FE is to reduce the dimension of the large measurement data and prevent program operation to run out of memories. The characteristics of a data segment are to keep the most meaningful features and remove the redundant data. Therefore, the FE methods have been applied for activity detection from accelerometer data [24,25]. İn order to extract features easily, the continuous measurement data of sensors are divided into many overlapping segments of which each is 20 seconds long, as illustrated in Figure 6. A sliding window technique cuts the sensors' data into 20 seconds (550 samples) in each short-term window with 50% overlapping. As previous studies found that the effectiveness of FE on windows with 50% overlap is an effective window size [24].
In this chapter, we adopted principal component analysis (PCA) as the feature selection procedure to lower the dimension of the original features. Feature extraction is highly subjective in nature, it depends on applications. Here, we introduced the following features that are beneficial to the classification of AUV failure detection, and used these features to discriminate the type of AUV activity: (1) min, max; (2) mean; (3) interquartile range (IQR); (4) root mean square (RMS); (5) standard deviation (STD); (6) root mean square error (RMSE); (7) signal magnitude area (SMA); (8) signal vector magnitude (SVM); and (9) averaged acceleration energy (AEE).

BPN classifier
Finally, this feature extraction by the PCA is fed into the short-term classifier and long-term classifier sequentially, and then output the AUV conditions. In order to detect the AUV condition accurately, reliably, stably, and robustly, we divided the recognition system into three classifiers which are based on BPN. BPN is considered the workhorse of ANNs and is the multilayer perceptron (MLP) based on a feed-forward algorithm. The hidden layers, between input and output layers, use the error backpropagation (BP) algorithm to compute the nonlinear relationship in supervised learning as shown in Figure 7. The main features of BPN are as follows: high learning accuracy, fast response, and ability to process the nonlinear problems.
In this chapter, a three-layer BPN is used for classifying AUV failure conditions. The topology of the BPN classifier is shown in Figure 7 [28]. The input layer has R neurons, equal to the dimension of the feature vectors I ¼ I where superscript 1 indicates the first layer. The hidden layer has J neurons, and the output layer has P neurons, equal to the number Figure 6. Attitude data with a long-term window, which consists of many overlapping short-term windows.
The discrepancy E 3 ð Þ between the desired output t 3 ð Þ p and the real output O 3 ð Þ p in the third layer can motivate the BP learning algorithm as gradient descent on the sum-squared discrepancy. The factor of 1=2 will simplify the exponent when differentiating later. The function is defined as: Then, the weights are adjusted to find the partial derivative E with respect to a weight w 3 ð Þ pj : Δw . However, the discrepancy is not directly the function of weights.
Calculating the derivative of the discrepancy is done using the chain rule twice.
Let us discuss each of partial derivatives in turn. In the last term of Eq. (15) Next, the derivative of the activation o Last, we consider the derivative of E with respect to the activation. Since the neuron is in the Finally, we substitute these results Eqs. (15) We can find the weight change Δw 2 ð Þ jr in the same processes as above and it is defined as: The BPN algorithm approach to recognize and intelligently detect failures is based on changes in weight values Δw

SCEKF
To validate the sensor calibration and fusion method proposed in this chapter, this section covers the results obtained from the 10-DOF sensor module with operating system of Windows 8.1, 2.20 GHz CPU, 8 GB memory, and experiments are performed with the Arduino program described in Section 2.1. The system was fixed on an anti-vibration table to minimize interference. The proposed SCEKF algorithm was used to estimate accelerometer and orientation with 27-Hz updating rate.
As the calculation process of sensor algorithm, we used the rotary platform with outputting the quantitative and stable signal to observe the relative signal output. The first process is fixing IMU at the center and along the rotation axis of the platform and fixing it by valves. After installation, setting the required rate or angle of rotation as a reference data by the user interface, we measured the output corresponding to the reference data. The performance of the orientation before/ after SCEKF algorithm is presented in Figure 8(a-c), respectively; it produced reasonable output values within the expected ranges. It is seen that each component of Euler orientation (i.e., roll, pitch, and yaw) is within 0Á1 degree after SCEKF processing in the static test. Figure 9 shows the whole system of the TrenchRoDer equipped with the proposed AIRS. The whole equipment includes the TrenchRoDer, a camera, an AIRS, a Bluetooth box, and a floating board. We put a camera in the waterproof bags and tied them to a fixed plate in order to observe the situation when the airbag is inflated. The function of the floating board is to protect the Bluetooth box from immersing into the water. In order to construct a robust underwater vehicle fault attitude database, we simulated the underwater vehicle motion model with different situations in the water environment, which can provide the particular case of attitude data, such as if the AUVs suffered a crash or a disabled propeller. Moreover, we built the fault simulator GUI interface for a more convenient operation, in other words, the AIRS starts with the fault simulator GUI interface, after inputting the required AUV's dimensions, hydrodynamic coefficients, buoyancy center, and inertia coefficients. Next, the simulator calculates the different AUV motion data under different cases through the Matlab™ program as shown in Figure 10. The above results from simulator will combine with the experimental data as the database for the training and verification of BPN classifier. Last but not least, the real AUV motion signal is set as the testing dataset to ensure the establishment of the AIRS. The modular modeling equation of AUVs is selected from [27]. The modeling method of Prestero's which id without considering the sea conditions of emission can help us to generate the dynamic models of AUVs quickly and conveniently. The dynamics model and kinematics model of AUVs are established by analysis of the force working on AUVs moving underwater, based on the theorem of the momentum of the rotation around the buoyancy center and the theorem of the motion of mass center. The motion in 6-DOF of the AUVs is determined. And then, the attitude data of AUVs at any instant are determined.

AUVs' attitude simulation and experiment
Since we simulated the AUV motion in the underwater environment without considering the influence of currents and waves, we did the wave maker experiment in NCKU's ship model towing tank to observe the changes and effects on the AUV motion data for different wave heights. By experimenting with simulation, we can be closer to the state of the real ocean environment. The experiment of the AUVs affected by wave maker in NCKU's ship model towing tank is illustrated in Figure 11.

Classification results
In this chapter, we focused on 10 conditions of AUV, which are listed in Table 1.
There are two types of these AUV conditions. One of them is failure situation and the other is functional condition and both include five motion status of the AUV. We carried out 20   experiments for capturing data and verifying classifier. The data from 17 experiments were adopted in the training program of the recognition scheme; the data obtained from the other experiments were used for testing the recognition performance. Note that, since the sampling frequency is 27.5 Hz, the total number of the short-term and long-term samplings for each activity of each experiment is 550 and 2200, respectively, which means 20 seconds per short-term window and 80 seconds per long-term window. The feature extraction of this chapter was based on 50% overlapping windows using 550 samples of window sizes to avoid information loss at the boundary of a single window. The dimension of a feature vector was 45 (an accelerometer Â 3 axes Â 9 features + a gyroscope Â 3 axes Â 6 features). Figure 12 illustrates the first 2200 data of accelerations and Euler orientations collected from the first experiment. The selected features of sensor's data enabled effective recognition of the conditions and were suggested for BPN training procedure. A computation program adopted the input features and activated the feature classifier learning procedure with the BP algorithm, and outputted the results to short-term classifier. Then, an AUV condition was distinguished by a long-term classifier, of which the input is from the short-term classifier to raise the accuracy of failure recognition. The number of neurons in each hidden layer is 4, 6, and 7 for the feature classifier, short-term classifier, and long-term classifier, respectively, and the number of epochs is 700 for each neural training. The BPN classifier was trained on the training data set and tested on the test set which are from the experiment values. The classifier was created by neural network toolbox of MATLABTM for practical implementation and for validating the proposed model.
After building up our prediction algorithm, we apply our chosen prediction algorithm on our new test set which is from the real signal of AUV, in order to have an idea about the algorithm's performance on unseen data. The confusion matrix measured in the real AUV test is shown in Table 2, which recorded the results from 20 times experiments on each condition of AUV. We have implemented in two different ways under MATLABTM environment. In the first, we conducted in our proposed classifier system with feature extraction and the results indicate that the AUV failure detection on the average 97% of the time, and a successful functional condition accuracy of 93% is achieved. Second, we chose a classifier in ANN learning algorithm without feature extraction for comparing with the classifier that we proposed. The performance indicated Autonomous Vehicles that the ANN classifier without feature extraction performs poorer than our proposed classifier. From the confusion matrix, we can know that the malfunction and functional conditions are not easy to be confused. However, the motions within functional condition may be misclassified between each other, because these activities contain similar amplitude peaks and waveforms at the AUV.

Conclusions and future works
The main objective of this work was to develop an intelligent AUV rescue system (AIRS) for detecting failure to minimize loss of an autonomous underwater vehicle (AUV). We combined three main ideas to construct the AIRS, including sensors algorithm, classifier conducting, and airbag system. Complex data acquisition was done by the 10-DOF sensor module with sensor calibration and extended Kalman filter (SCEKF), where Euler orientation fused with gravity and magnetic field are state variables, can benefit to get the precise attitude from the AUV. After SCEKF processed, we extracted the features of these signals from the 10-DOF sensor module and selected these features by principal component analysis (PCA) method. The results were incorporated with feature classifier, short-term classifier, and long-term classifier in order to recognize 10 types of AUV conditions. According to the experimental test in Section 3, we have shown that the 20 experimental data sets are categorized into "malfunction" or "functional condition" categories. The outcomes of the proposed classification with features extracted, whose failure detection accuracy is 97%, were more accurate than those of the ANN without features extracted. These results confirmed that the technology of the AIRS was feasible and that the proposed methods were accurate. Furthermore, we designed an inflatable mechanism, which fills CO 2 in the airbags to generate buoyancy for AUV during failure detection.
The attitude estimation and classification applied in the underwater environment are a new field. Considering future work, we will try to extend more condition types of AUV for classifying more complex situations and accomplish the airbag system for setting on the AUV. We can have the ability to construct a variety of different models for the AUV's fault simulation, such as underwater turbulence or underwater creatures' interference. Providing a more comprehensive AIRS, to not have to do the experiment in the real underwater environment, also can improve the performance and convenience of installation to the AIRS.  With this technology, we can install the appropriate number of gas cylinders and airbags in accordance with the different displacements of AUV to avoid the loss of AUV; this can even be used in rescuing vessels to reduce shipwreck in the future, thereby minimizing loss of life and property. This study will have outstanding contributions for the next generation of underwater vehicles. We are looking forward to the application of the SIRS being used widely in the future.