《1. Introduction 》

1. Introduction

In recent years, robots have been used to perform complex tasks in many places. Applications include space exploration [1], disaster rescue [2], minesweeping [3], and more. Because of the harsh and dangerous work environments, robots inevitably face the risk of damage. Therefore, many researchers have begun to investigate robot fault-tolerant control [4–8]. Kawata et al. [9] proposed a fault-tolerant adaptive gait-generation method for a multilimbed robot, Mavrovouniotis et al. [10] developed a faulttolerant sliding mode control, and Zhang et al. [11] conducted research on reconstruction fault-tolerant control for underwater vehicles. Studies related to fault-tolerant control ensure the stability of robot applications.

With the development of autonomous underwater vehicles (AUVs), more and more researchers have focused on enhancing the maneuverability of underwater vehicles. After a long evolutionary period, fish have acquired sufficient flexibility to swim underwater. Inspired by this intriguing trait, Triantafyllou et al. [12] first created the biomimetic robotic fish in 1994. As a new type of AUV, robotic fish attract considerable attention from researchers due to their superior mobility [13–19]. Zhong et al. [20] designed a novel robotic fish with a wire-driven active body, and Romero et al. [21] proposed a cost-effective intelligent robotic fish. Compared with traditional AUVs, robotic fish have advantages such as low noise, harmlessness to underwater organisms, and more [22]. With these benefits, robotic fish have the potential to be widely used to complete complex underwater missions [23].

Research into the fault-tolerant control of AUVs is mainly divided into two categories: ① sensor fault-tolerant control methods such as those discussed in Ref. [24], and ② fault-tolerant control methods for the motion execution of AUVs. Ahmadzadeh et al. [25] proposed a fault-tolerant control method for AUVs in order to overcome thruster failures, and Rauber et al. [26] presented a faulttolerant control strategy for the thruster of an AUV. Existing studies on underwater fault-tolerant control seldom deal with robotic fish. However, the high maneuverability behavior exhibited by a robotic fish, such as a C-turn [27], places heavy loads on the actuators and increases the risk of damage to the robotic fish. At the same time, if the configuration of the bio-inspired central pattern generator (CPG)—which is widely applied to generate rhythmic movements for a robot with multiple degrees of freedom [28,29]—is not satisfactory, the joints of the robotic fish may become stuck during motion pattern transition. Since the fish body waves need the coordination of all the joints of the robotic fish, damage to any part of it will strongly influence the motion. In addition, since robotic fish operate in underwater environments, once the fault occurs, it is difficult for a robotic fish to be repaired in time. As a type of underwater vehicle, robotic fish must be autonomous and reliable. The fault-tolerant control ability of the control system is an important indicator to ensure the stable operation of a robotic fish in a faulty condition. Thus, it is necessary to investigate fault-tolerant control for robotic fish.

The main objective of this paper is to propose a fault-torrent control method to deal with the problem of a robotic fish with a stuck tail joint. In order to ensure stable motion performance for a robotic fish, a CPG-governed feedback controller was developed. We conducted dynamic modeling for a fault situation in which one of the tail joints of the robotic fish is stuck [30]. Based on the modeling, we developed feedforward compensation in order to speed up convergence. Together, these two parts form the feedforwardfeedback fault-tolerant control system.

Simulations and experiments were performed in order to verify the effectiveness of the proposed control system. Existing studies on underwater fault-tolerant control are mainly aimed at underwater vehicles using a traditional propeller. Unlike previous works, this paper focuses on the problem of motion correction for a faulty robotic fish whose propulsion is generated by a multi-jointed tail. Based on an analysis of the unique motion and dynamic models of the robotic fish, a fault-tolerant control method for a multi-jointed robotic fish is proposed for the first time. Our method improves the robustness of the control system and thus lays a foundation for the practical application of robotic fish in complex environments.

The rest of this paper is organized as follows: The mechanical structure of the robotic fish is introduced in Section 2. Section 3 describes the feedback controller based on the CPG model and the feedforward compensation based on the dynamic model, and then discusses the development of the overall control system. The experiments and corresponding results are described in Section 4. Finally, Section 5 provides conclusions and looks forward to future work.

《2. Overview of the multi-jointed robotic fish》

2. Overview of the multi-jointed robotic fish

The controlled object used in this study is a self-propelled multi-jointed robotic fish [31]. Fig. 1 shows the mechanical structure of the robotic fish, which follows the structure of Esox lucius. The robotic fish has a self-propulsive body with a four-joint tail and a caudal fin. The four tail joints of the robotic fish are driven by servomotors. In addition, a rigid head with two movable pectoral fins is designed to meet the requirements of threedimensional motion. In this paper, we only discuss the tolerance of a robotic fish moving in a two-dimensional plane, so the pectoral fins are always kept still. The controller of the robotic fish is embedded in its head. With the coordination of the servomotors, the robotic fish has a high peak steering speed of 670° per second and an average steering speed of 460° per second. If the tail joint of the robotic fish gets stuck, the motion direction of the robotic fish deviates severely. To determine the deviation, an inertial measurement unit (IMU) is installed in the head of the robotic fish to measure the yaw angle.

《Fig.1》

Fig. 1. Mechanical structure of the self-propelled multi-jointed robotic fish.

Fig. 2 shows the appearance of the robotic fish. The whole robotic fish is covered by a waterproof skin made of an emulsion. Above the skin of the head, red and yellow color markers made of tape are placed on the outside of the rigid shell in order to help the measuring device track the head position and the posture of the robotic fish during its movements.

《Fig.2》

Fig. 2. Appearance of the robotic fish with color markings.

《3. Fault-tolerant controller design》

3. Fault-tolerant controller design

This section proposes a fault-tolerant control method for the robotic fish. Specifically, a feedback controller based on CPG and a feedforward compensator based on a mathematical model are designed.

《3.1. Feedback controller based on CPG》

3.1. Feedback controller based on CPG

In general, there are two types of motion control methods for robotic fish: fish body waves curve fitting and the CPG-based method. The latter method was adopted for the robotic fish in this paper. Vertebrates can generate rhythmic signals without a central nerve through biological CPG networks. Inspired by this, the CPG model can generate control signals through the interaction of neuron oscillators in order to control the motion of a robotic fish [32]. The CPG model has the advantages of strong robustness and smoothness in motion mode switching.

The control method used in this paper is a Hopf oscillator-based CPG model with phase differences [33]. The CPG model consists of multiple neuron oscillators, as shown in Fig. 3.

The details of the CPG model are given below [31]:

where n represents the nth oscillator (n = 1, ... ,N) and N denotes the number of the neurons in the CPG network; xn and yn represent the state variables of the nth oscillator, and and represent the derivative of xn and yn, respectively; wn and rn denote the natural frequency and amplitude of the nth oscillator, respectively; φn represents the phase difference between adjacent neurons; bn denotes the deflection factor of the nth oscillator; h1 and h2 represent the coupling coefficients; zn is the output signal of the nth oscillator; and cn is a constant coefficient.

《Fig.3》

Fig. 3. Topological structure of the CPG model.

Through appropriate adjustment of the CPG parameters, the motions of the robotic fish can be controlled. The swimming speed can be regulated by changing wn and rn, and backward swimming can be realized by setting φn. wn = w and rn = r were employed for all the oscillators in this paper, and φ was set appropriately according to Ref. [33]. When bi is adjusted, the CPG model generates an asymmetric bias output signal to change the swimming direction of the robotic fish. As mentioned previously, if the tail joint gets stuck, this fault will affect the yaw of the robotic fish. Therefore, it is feasible to control bi using the yaw angle as a feedback, to ensure that the robotic fish can maintain good motion performance in the event of faults. As the head of the robotic fish always swings when swimming because of its unique motion method, it is necessary for the determined yaw angle to be properly filtered. Based on the above analysis, a proportional integral (PI) feedback controller was designed as follows:

where t denotes the moment, bi(t) denotes the bias of the ith oscillator of the robotic fish at time t, fγ(t) represents the filtering result of the yaw angle at time t,  is the target yaw, e(t) denotes the PI controller input at time t, T represents the threshold and is set as T = 0.17, and KiP and KiI are the feedback gains of the ith joint, KiP is the proportional controller coefficient and KiI is the integral controller coefficient.

The swing of the head of the robotic fish is caused by the periodic signal output of the CPG. The swing period is the same as that of the CPG oscillator. Therefore, a mean filter with a threshold is designed to deal with the effect of the yaw swing. The window time of the mean filter is set to the period of the CPG oscillator. When the parameters of the CPG model change, it will take some time for its outputs to reach a steady state. Therefore, the frequency of the change control will affect the stability of the system. In order to improve the stability of the system and reduce the burden on the servo, a threshold near the target yaw angle is set. A corresponding block diagram of the feedback control system is illustrated in Fig. 4.

《Fig.4》

Fig. 4. Block diagram of the feedback control system.

In our previous work [30], a data-driven dynamic model was built for the robotic fish in that study. Using the same model as the real robotic fish, we can obtain the output of the feedback control through a simulation, as shown in Fig. 5. In the simulation in the current paper, the third joint of the tail of the robotic fish is set to be stuck at π/6, and the target yaw is set to 0. Fig. 5(a) shows the straight swimming behavior of the robotic fish in the event of a stuck tail joint. When the fault occurs, the swimming direction of the robotic fish is greatly affected. The feedback control system can effectively reduce the impact of the stuck joint on the yaw, and eventually causes the output yaw angle to converge to the target yaw angle, as shown in Fig. 5(b).

《Fig.4》

Fig. 5. Simulation of the system output when one of the tail joints is stuck. (a) System without control; (b) system with feedback controller.

《3.2. Feedforward compensator based on dynamic analysis 》

3.2. Feedforward compensator based on dynamic analysis

The feedback controller proposed in Section 3.1 still has many problems, including a long convergence time, which is due to the delay caused by the filter. To tackle this problem, this section proposes a feedforward compensator based on the dynamic model.

According to Ref. [32], the dynamic model of the robotic fish is specified as follows:

where is the velocity vector of the robotic fish head. M represents the whole inertial matrix of the robotic fish in the head coordinate system, Γ is the (6×1) force vector of the robotic fish head, iH0 = iHi-1 i-1Hi-2 ... 1H0 and iHi-1 denote the transformation matrix, Mi denotes the inertial matrix of the ith joint, f w,i denotes the Coriolis force and hydrodynamic force on the ith link, and fr is the remaining part of the head force.

Since the driving force of the robotic fish swimming in the water is mainly generated by the hydrodynamic force, the influence of fr can be ignored in calculations. In this study, the robotic fish swims in a two-dimensional plane, so it is feasible to reduce the yaw effect caused by the fault by controlling the torque of the head. The sixth component of Γ represents the torque of the head. Therefore, the sixth line of Γ is extracted as follows:

where (·)k: represents the kth line of matrix · and Γ6 denotes the sixth component of Γ.

For (iHT0)6: , it can be calculated from the following:

where θi represents the angle of the ith joint and li represents the length of the ith link.

In a more explicit form, the following equations are introduced:

f w;i can be derived according to the following equation:

where σi represents the total Coriolis force received by the ith link, and fd,i denotes the resistance of the ith link.

According to Ref. [30], the following equation can be obtained:

where Vi is a (6×1) vector representing the velocity of the ith joint. Specifically, the first three dimensions of Vi form the linear velocity vectors, the last three dimensions form the angular velocity vectors. ωi = (Vi)6: , Vx,i =(Vi)1: , and Vy,i = (Vi)2: ; c1,i and c2,i are constants; Mi denotes the mass matrix of the ith link; and r is a variable.

By simplifying Mi to a diagonal matrix, we obtain the following:

where Mi,1 and Mi,2 are constants.

In order to obtain a concise form, we introduce the following denotations:

It then follows that

Vi can be calculated by V0 from Vi = iHi-1Vi +[05×1,1]T . The value of Γ6 at each moment can be obtained iteratively by setting the initial value of V0 to 06×1.

A sinusoidal wave approximation can be used for the signal produced by the CPG model. For a situation in which one of the joints is stuck, the wave approximation can be expressed as follows:

where b0 is the compensation bias, f ∈ {1, ..., n} marks the location of the stuck joint, and β denotes the angle of the faulty joint.

By substituting Eq. (12) into Eq. (11), Γ6 can be expressed as Γ6(t, β, b0, f).

As previously analyzed, in order to minimize the impact of the yaw caused by the fault, a feedforward compensator was designed as follows:

where T = 2π/w is the period and u is variable. Once the range of b is limited, the value of bc can be obtained through optimization.

The complete controller is proposed as follows:

A block diagram of the fault-tolerant control system is provided in Fig. 6, and Fig. 7(a) shows the simulated output of the system with a feedforward compensator. The feedforward compensator can adequately correct the effect of the fault. Fig. 7(b) shows the simulated output of a system with a feedforward-feedback controller, which permits eventual convergence to the target yaw with a small overshot and short convergence time when the fault occurs. The system with a feedforward-feedback controller has a shorter convergence time than the system with a feedback controller.

《Fig.6》

Fig. 6. Block diagram of the feedforward-feedback fault-tolerant control system.

《Fig.7》

Fig. 7. Simulated output of the system with a feedforward compensator in a situation with a stuck tail joint. (a) System with feedforward compensator; (b) system with feedforward-feedback controller.

《4. Experiments and results 》

4. Experiments and results

To verify the effectiveness of the fault-tolerant control of the robotic fish, a motion measurement system with a global vision camera was employed [34]. The global vision camera was set 190 cm above the center of the experimental setup, which was 500 cm long, 400 cm wide, and 120 cm deep. Based on the image data returned by the camera, the host computer of the recording system provides the current position and velocity by identifying the colored marks on the head of the robotic fish.

During this experiment, the third tail joint of the robotic fish was fixed at p=9. Fig. 8 shows the straight swimming performance of the robotic fish without fault-tolerant control. When one of the tail joints of the robotic fish was stuck, the swimming direction of the robotic fish was extremely affected; it was difficult for the robotic fish to swim normally.

《Fig.8》

Fig. 8. Motion of the faulty robotic fish without fault-tolerant control. (a) Initial posture; (b) swimming path

Fig. 9 shows the swimming performance of the robotic fish with the feedback controller. As shown in Fig. 9(a), the feedback controller gave the robotic fish a satisfactory motion performance in the faulty condition. The filtered yaw error during the motion is shown in Fig. 9(b). It can be seen that the system was able to stably converge to the target yaw angle. However, the system still had the disadvantage of a long convergence time. The robotic fish took nearly 7 s to adjust the yaw to the threshold. A lateral displacement of 53.4 cm occurred during the posture adjustment. The main reason for this displacement was that the filtering window for the yaw angle must be set in order to obtain the correct motion direction, by at least one period of CPG, which results in a large delay to the system and which extends the control period.

《Fig.9》

Fig. 9. Motion performance of the faulty robotic fish with the feedback controller. (a) Swimming path; (b) filtered yaw error.

The motion performance of the robotic fish with the feedforward-feedback controller is shown in Fig. 10. The parameters of the feedforward compensator were set according to Ref. [19]. As shown in Fig. 10(a), the feedforward compensator gave the robotic fish a smoother motion curve than the simulation with the single feedback controller. In this case, the lateral displacement of the robotic fish was limited to 24.7 cm. Fig. 10(b) shows the filtered yaw error during the motion of the robotic fish. Due to the influence of the feedforward compensator, the robotic fish was able to quickly adapt to the fault when it occurred, and the convergence time of the system was reduced to approximately 1 s. Compared with the system with the feedback controller alone, the system with the feedforward compensator had better fault tolerance. Fig. 11 provides a sequence of screenshots from a video of the robotic fish swimming in the faulty condition.

《Fig.10》

Fig. 10. Motion performance of the faulty robotic fish with the feedforward-feedback controller. (a) Swimming path; (b) filtered yaw error.

《Fig.11》

Fig. 11. A sequence of screenshots from a video of the robotic fish swimming with a stuck tail joint.

This experiment demonstrates that the swimming performance of the robotic fish with fault-tolerant control is satisfactory when the third joint is damaged. To further validate this fault-tolerant control method for a situation in which a different joint fails, we carried out an experiment in which the second joint was set as the faulty joint. The corresponding comparative experiment is illustrated in Fig. 12. As can be observed, when the fault location changed, the fault-tolerant control method was still able to ensure that the robotic fish achieved good swimming performance. To be specific, the closer the fault location is to the caudal fin, the more severe the loss of the swimming speed of the robotic fish is. This is due to the fact that the wetted surface of the caudal fin is the main source of hydrodynamic force. Also, the closer the fault is to the head, the more serious the effect of the fault is on the swimming direction of the robotic fish.

The experimental results show that the fault-tolerant control method proposed in this paper effectively improves the performance of the robotic fish in a faulty condition. The deflection in the direction of motion that is caused by the stuck tail joint can be effectively counteracted by the feedforward-feedback controller. With the feedback controller, the control system eventually converges to the target yaw with almost no static error. Through the comparative experiment, it was found that the feedforward compensator solves the delay problem of the system. The prior knowledge obtained through the dynamic analysis allows the other joints of the robotic fish to rapidly adapt to the impact of the stuck joint. As the convergence time is shortened, the lateral displacement produced by the posture adjustment is reduced. Considering that the head of the robotic fish swings on the plane of the yaw angle, the swimming performance in this state indicates that the proposed fault-tolerant control method has some stability and anti-interference ability.

《5. Conclusion and future work 》

5. Conclusion and future work

In this paper, we proposed a fault-tolerant control method for a self-propelled multi-jointed robotic fish with a stuck tail joint. Based on the CPG model, the feedback controller was designed by analyzing the influence of the fault. In order to obtain better performance, a feedforward compensator was designed based on dynamic analysis. More specifically, controlling the specific parameters of the CPG makes the robotic fish robust to faults. The performance of each part of the fault-tolerant control system was analyzed using the simulation. Finally, the validity of the faulttolerant control algorithm in the real world was verified experimentally. The control method proposed in this paper is able to effectively control the motion of a faulty robotic fish. Hence, the fault-tolerant control of a robotic fish based on the CPG and on a mathematical model has been accomplished.

Our future work will focus on improving the anti-interference ability of these fault-tolerant control methods. In addition, the experiments showed that the speed of the faulty robotic fish was greatly affected; thus, it will be necessary to seek an alternative method to enhance the swimming speed tolerance under faulty conditions. We will also concentrate on adapting the faulttolerant control method to other faulty conditions, such as joint power failure.

《Acknowledgements》

Acknowledgements

This work was supported by the National Natural Science Foundation of China (61725305, 61633020, 61633004, and 61633017), the Beijing Natural Science Foundation (4161002), and the Beijing Advanced Innovation Center for Intelligent Robots and Systems (2016IRS02).

《Compliance with ethics guidelines》

Compliance with ethics guidelines

Yueqi Yang, Jian Wang, Zhengxing Wu, and Junzhi Yu declare that they have no conflict of interest or financial conflicts to disclose.