*Article* **An Active Fault-Tolerant Control Based on Synchronous Fast Terminal Sliding Mode for a Robot Manipulator**

**Quang Dan Le and Hee-Jun Kang \***

Department of Electrical, Electronic and Computer Engineering, University of Ulsan, Ulsan 44610, Korea; ledantm@gmail.com

**\*** Correspondence: hjkang@ulsan.ac.kr

**Abstract:** To maintain the safe operation and acceptable performance of robot manipulators when faults occur inside the system, fault-tolerant control must deal differently uncertainties and disturbances, especially with the occurrence of loss-effective faults. Therefore, in this paper, an active fault-tolerant control for robot manipulators based on the combination of a novel finite-time synchronous fast terminal sliding mode control and extended state observer is proposed. Due to the internal constraints of the synchronization technique, the position error at each actuator simultaneously approaches zero and tends to be equal. Therefore, the proposed controller can suppress the effects of faults and guarantee the acceptable performance of robot manipulators when faults occur. First, an extended state observer is designed to estimate the lumped uncertainties, disturbance and faults. Then, the information from the observer is used to combine with the main novel synchronous fast terminal sliding mode controller as a compensator. By combining the merits of the observer compensation, sliding mode and synchronization technique, the proposed fault-tolerant controller is able to deal with uncertainties and disturbances in normal operation mode and reduce the effects of faults in case faults occur, especially in the occurrence of loss-effective faults. Finally, the enhanced safety, reality and effectiveness of the proposed fault-tolerant control are evaluated through the control of a 3-DOF robot manipulator in both a simulated environment and experiment.

**Keywords:** active fault-tolerant control; synchronous fast terminal sliding mode control; active fault-tolerant control; robot manipulator control; extended state observer; fault

#### **1. Introduction**

At present, robot manipulators play an important role in the manufacturing industry and in daily life. In parallel with the development of hardware and advantageous control technology, robot manipulators are required to enhance safety in all situations. Safety is a key role when robots share the workspace with humans or cooperate with humans. Therefore, fault-tolerant control (FTC) was introduced to increase safety and acceptable performance when faults occur in the system. Generally, AFTC can be divided into two main types: (1) active FTC (AFTC) [1–3] and (2) passive FTC (PFTC) [4–6]. Each FTC strategy has advantages and disadvantages depending on the characteristics of the system, the knowledge about the system, and the types of faults. FTC became very important in the systems with human application systems such as aircraft [2], human robot interaction [7], and wearable systems [8] which require high safety and reliability.

In robot manipulator systems, PFTC has a simple architecture with one controller for both normal and fault conditions. PFTC responds quickly to faults due to the elimination of a fault diagnosis process. Some techniques have been classified into PFTC such as sliding mode control (SMC) [9,10], adaptive control [11–13], and so on. For instance, the SMC [10] is widely known due to its robustness and ability to deal with uncertainties and disturbances. In order to guarantee the stability of systems, the design of the SMC required the upper-bound knowledge of faults which is difficult to gain in a real system.

**Citation:** Le, Q.D.; Kang, H.-J. An Active Fault-Tolerant Control Based on Synchronous Fast Terminal Sliding Mode for a Robot Manipulator. *Actuators* **2022**, *11*, 195. https://doi.org/10.3390/ act11070195

Academic Editors: Marco Carricato and Edoardo Idà

Received: 15 June 2022 Accepted: 13 July 2022 Published: 17 July 2022

**Publisher's Note:** MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

**Copyright:** © 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https:// creativecommons.org/licenses/by/ 4.0/).

Therefore, PFTC with SMC is less flexible and limited to tolerating the fault's capability in real systems. The second PFTC technique is adaptive control which does not need exact knowledge of faults, but the excessive adaptation rate is a problem with this kind of controller. From the above analyses, it can be seen that PFTC has the advantage in the case of the systems with a good knowledge about the upper bound of uncertainties, disturbances and faults. In contrast, to guarantee the stability and acceptable performance of a system, AFTC uses fault detection and fault diagnosis (FDD) to compensate for the normal controller. In AFTC, the FDD process is a very important process which leads to increasing the ability of tolerating faults. Therefore, FDD [14–17] has been developed with several techniques. The advantage of the AFTC strategy is it has a strong ability to deal with high-magnitude faults and multiple faults. In addition, the upper bound of faults does not require being exactly known in the same way as PFTC does. However, this strategy slowly responds to faults because the FDD process needs time to feed back the information of faults as well as the time delay problem in a real system. Hence, the performance of AFTC is affected. In a real system, the degradation performance of AFTC can be obtained by the occurrence of the picking phenomenon due to the slow response of AFTC and high magnitude of uncertainties and disturbances. In robot manipulator systems, the FDD has been widely replaced by the fault estimation process (FE) which uses fault detection, fault isolation and fault diagnosis within one step. The structure controller is combined with the estimator and is known as disturbance observer base (DOB). The difference between DOB and AFTC with the estimator is that in AFTC with an estimator, the output value is used to compare the threshold to detect faults and isolation faults. It warns the operator about the occurrence of faults to make the effective action. The AFTC with a structure of DOB control (AFTC-DOB) [18–20] may have an effect in the case of bias faults. These kinds of faults can be considered as uncertainties or disturbances so that the AFTC-DOB can show acceptable performance depending on the accuracy of the estimator. However, with the loss-effective fault or the combination of loss-effective and bias faults, using merely AFTC-DOB may not reduce the effect of this kind of fault. Hence, AFTC needs a different way to handle the faults due to the occurrence of loss-effective faults. Most of the research studies on FTC [1,9,21,22] focus on the development of the ability to deal with the uncertainties and disturbances or handle the conventional problems of controllers such as the chattering phenomenon or the fast convergence problem. However, they lack the picking phenomenon of the AFTC strategy which has the most impact in degrading the performance of AFTC. Therefore, in this paper, the synchronization technique is proposed to suppress the picking phenomenon when faults occur, especially with the occurrence of loss-effective for the AFTC strategy.

In the field of control, the synchronization control has been widely known with a closed-loop chain mechanism such as the dual-drive gantry mechanism [23], parallel robot manipulator [24], cable-driver parallel manipulator [25], cooperation robot manipulator [26], and so on. These systems have an internal tensor force during the motion due to the closed-loop mechanism. This kind of force can degrade the performance of systems. By using the synchronization technique, the controller makes the position errors at each joint simultaneously approach zero and reduce the internal tensor force. Therefore, the accuracy of systems can be increased. Unlike a closed-loop mechanism, a serial robot manipulator does not contain an internal tensor force. Due to the open-loop mechanism, this internal uncertainty can be compensated by the consideration of a dynamic model. Therefore, the synchronization technique does not show an advantage compared the model-based controller such as DOB in normal operation. However, the ability to make the position error simultaneously equal to and approach zero still remains in an open-loop mechanism with the synchronization technique. In case faults occur, the internal constraints of the synchronization control to keep the error at each joint equal may suppress the effect of the faults. The synchronization controller increases the ability to quickly respond to the controller before it receives the feedback information of faults from FDD or FE. In [27], the authors first proposed the synchronization technique to reduce the effect of faults. In

this study, the experimental results showed the outperformance of the proposed controller. However, it can be seen that the proposed controller in [27] did not consider the finite-time convergence issue. In [28], the finite-time synchronization controller was addressed with two proposed controllers. With the first controller in [27,28], it is unclear whether the ability to reduce the effect of faults comes from the synchronization technique or from the integral term of the cross-coupling technique in the design-sliding surface. In [28], the second proposed controller showed the effectiveness of the synchronization technique without the cross-coupling technique. Motivated by that proposed controller, in this paper, a novel AFTC with a finite-time synchronous fast terminal sliding mode control is proposed. In addition, the analysis of synchronization parameters is presented to show the effect of the synchronization technique in fault-tolerant control. In this paper, the picking phenomenon is the specific problem of the AFTC strategy which is analyzed and considered. Then, it can be tackled by using the synchronization technique to guarantee the acceptable performance of a robot manipulator when faults occur. Due to the internal constraints of position error at each joint of the synchronization technique, the proposed controller can reduce the picking effect before the FE receives the information of faults.

In this paper, AFTC using the combination of an extended state observer and novel finite-time synchronous faster terminal sliding mode control is proposed. Firstly, an extended state observer (ESO) [29] is adopted to estimate the lumped uncertainties, disturbances, and faults. The observer has a role as the FDD includes fault detection, fault isolation, and fault estimation within one step. In addition, by using a high-gain technique, the ESO does not require the upper bound information of faults and simple adjustment of the observer parameter. Therefore, the ESO can easily apply in real robot manipulator systems. Next, an AFTC with a novel synchronous fast terminal sliding mode control is proposed without the cross-coupling technique. The synchronization error in [28] was used to guarantee the finite-time convergence of position error at each joint. Finally, the proposed controller is verified on a 3-DOF robot manipulator in simulations and experiments. The results of the proposed control are compared to AFTC with conventional fast terminal sliding mode control [30]. In addition, the analysis effect of synchronization parameters to the fault-tolerant control is presented in a real implementation system. The contribution of this paper can be summarized as follows:

*(1) An active fault-tolerant control based on the combination of novel finite-time synchronous fast terminal sliding mode control and an extended state observer is proposed. The proposed control has the ability to quickly respond to faults, before the controller has the feedback information of faults from fault estimation due to the internal constraints of the synchronization technique. Therefore, the proposed control can reduce the picking phenomenon and suppress the effect of faults to show an acceptable performance when it is compared to AFTC with conventional finite-time fast terminal sliding mode control [30]. The proposed controller has the ability to maintain the accepted performance with the occurrence of faults in the system until the maintenance*.

*(2) By using a novel finite-time synchronous fast terminal sliding surface without the coupling technique, the proposed controller has fast computation, avoids oscillation due to the integral term, and guarantees the finite-time convergence of the position error at each joint compared [27]*.

*(3) The analysis of synchronization parameters is presented to show the effect and behavior of the synchronization technique in fault-tolerant control. Unlike the conventional AFTC controller, the proposed controller can make the error at each joint simultaneously approach zero. This feature can reduce the effect of fault in the robot systems*.

*(4) Comparing the proposed controller in this paper with the first controller in [28], it can be seen that without the conventional coupling technique, the proposed AFTC can reduce the time computation, avoid the oscillation due to the integral term, and guarantee the finite-time convergence of position errors and fast convergence. In addition, the proposed control in this paper converges faster than the two synchronous sliding mode surfaces in [28]. Therefore, in this proposed controller, the fault-tolerant controller has the ability to reduce the picking phenomenon due to the synchronous technique, as well as the time convergence, faster than in [28]. The proposed controller in this paper has more advantages than two controllers in [28] in both time convergence and time computation*.

*(5) The implementation of advantage control in real robot systems faces many challenges such as the noise of sensors and output actuators, time of computation, the drawbacks of the sliding mode technique in real systems, and so on. However, in this paper, the experimental results on a real 3-DOF robot manipulator demonstrated the effectiveness and ability to apply to real systems of the proposed controller*.

The rest of this paper is organized as follows. In Section 2, the dynamic model of robot manipulators and faults is presented. The design of fault estimation based on an extended state observer is shown in Section 3. In Section 4, a novel finite-time synchronous fast terminal sliding mode control is proposed. The simulation results and some discussions about the effect of kinds of faults are given in Section 5. In Section 6, the experimental results are shown to verify the effectiveness of synchronization technique and the effect of synchronization parameter selection in fault-tolerant control. Finally, the conclusions are given in Section 7.

#### **2. Dynamics Model of Robot Manipulators and Faults**

#### *2.1. Dynamics Model of Robot Manipulators*

The dynamics of an n-degrees-of-freedom robot manipulator was defined as

$$
\dot{\mathcal{L}}M(q)\ddot{q} + \mathcal{C}(q,\dot{q})\dot{q} + \mathcal{G}(q) = \pi \tag{1}
$$

where .. *q*, . *<sup>q</sup>*, *<sup>q</sup>* ∈ *<sup>n</sup>* are the vectors of joint acceleration, velocity and position, respectively. *<sup>M</sup>*(*q*) ∈ *n*×*n*, *<sup>C</sup>*(*q*, . *<sup>q</sup>*) ∈ *n*×*<sup>n</sup>* and *<sup>G</sup>*(*q*) ∈ *<sup>n</sup>* represent the inertia matrix, the centripetal and Coriolis matrix, and the vector of gravitation force, respectively. *<sup>τ</sup>* ∈ *<sup>n</sup>* is the vector of torque at the joints.

In practice, the dynamic model of robots is not known exactly, so the system in (1) can be written as

$$\frac{1}{2}\left(\mathbf{M}(q) + \Delta M(q)\right)\ddot{q} + \left(\mathbf{C}(q, \dot{q}) + \Delta C(q, \dot{q})\right)\dot{q} + \left(\mathbf{G}(q) + \Delta G(q)\right) + \delta = \tau \tag{2}$$

where Δ*M*, Δ*C* and Δ*G* are unknown dynamic uncertainties and *δ* is external disturbance. **M**(*q*), **C**(*q*, . *q*), *and* **G**(*q*) are estimation values of *M*(*q*), *C*(*q*, . *q*), *and G*(*q*). Thus, (2) can be simply rewritten as

$$\mathbf{M}(q)\ddot{q} + \mathbf{C}(q,\dot{q})\dot{q} + \mathbf{G}(q) + \boldsymbol{\upupmu} = \boldsymbol{\upmu} \tag{3}$$

where <sup>ψ</sup> <sup>=</sup> <sup>Δ</sup>*M*.. *<sup>q</sup>* <sup>+</sup> <sup>Δ</sup>*<sup>C</sup>* . *q* + Δ*G* + *δ*.

#### *2.2. Mathematical Calculation of Joint Actuator Faults*

In a robot manipulator, the motions of the robot are generated by a joint actuator which consist of an electronic motor, a motor driver, and a gear. In practice, the occurrence of faults/failure in the electric motor, the gear, the bearing, and the motor driver can degrade the performance of a robot manipulator. For instance, in the electric motor, the increased friction between the stator and the rotor or fault in the driver motor may decrease the motor torque. This can be considered as the loss-effective fault. Generally, the two kinds of faults which commonly occur in a robot manipulator are bias and loss-effective fault, which can be described as

$$
\pi^t = (I - \mathfrak{p}(t))\pi + \mathfrak{f}(t) \ (t > t\_f) \tag{4}
$$

where *<sup>τ</sup><sup>t</sup>* ∈ *<sup>n</sup>* is the vector of torque at the output joint actuator. *<sup>τ</sup>* ∈ *<sup>n</sup>* is the vector of torque at the output controller. <sup>ρ</sup>(*τ*) = *diag*(*ρi*(*t*)) ∈ *n*×*n*, 0 ≤ *<sup>ρ</sup>i*(*t*) < 1, (*<sup>i</sup>* = 1, 2, ... , *<sup>n</sup>*) denotes the loss-effective rate. **<sup>f</sup>**(*t*) ∈ *<sup>n</sup>* is the vector of the bias faults. *tf* is the time of the occurrence of faults. *<sup>I</sup>* ∈ *n*×*<sup>n</sup>* is the identity matrix.

Substituting (4) into (3), the dynamics model of an n-degrees-of-freedom robot manipulator with actuator faults can be written as

$$\mathbf{M}(q)\ddot{q} + \mathbf{C}(q,\dot{q})\dot{q} + \mathbf{G}(q) + \boldsymbol{\uppsi} = (I - \mathbf{o}(t))\boldsymbol{\uptau} + \mathbf{f}(t) \tag{5}$$

**Remark 1.** *In this paper, only the loss-effective and bias faults are investigated. The loss-effective fault with ρi*(*t*) = 1 *and lock-in-place fault are not considered because the robot does not have the redundancy actuator, so the robot cannot tolerate those kinds of faults*.

#### **3. Fault Estimation with Extended State Observer**

In this section, an extended state observer to estimate the lumped uncertainties, disturbances, and faults is presented.

The dynamic model of the robot manipulator of (5) can be rewritten as

$$\ddot{q} = \mathbf{M}^{-1}(q)(\pi - \mathbf{H}(q, \dot{q})) - \mathbf{M}^{-1}(q)\zeta \tag{6}$$

where **H**(*q*, . *q*) = **C**(*q*, . *q*)*q* + **G**(*q*), *ζ* = ρ(*t*)*τ* + ψ − **f**(*t*) represents uncertainties, disturbances, and faults or failures.

The dynamic model of (6) can be rewritten in the state space as

$$\begin{cases}
\dot{\mathbf{x}}\_1 = \mathbf{x}\_2 \\
\dot{\mathbf{x}}\_2 = f(\mathbf{x}\_1, \mathbf{x}\_2, \mathbf{r}) + \phi
\end{cases} \tag{7}$$

where *<sup>x</sup>*<sup>1</sup> <sup>=</sup> *<sup>q</sup>* ∈ *n*, *<sup>x</sup>*<sup>2</sup> <sup>=</sup> . *<sup>q</sup>* ∈ *n*, *<sup>f</sup>*(*x*1, *<sup>x</sup>*2, *<sup>τ</sup>*) = **<sup>M</sup>**−1(*q*)(*<sup>τ</sup>* <sup>−</sup> **<sup>H</sup>**(*q*, . *<sup>q</sup>*)), and *<sup>φ</sup>* <sup>=</sup> <sup>−</sup>**M**−1(*q*)*ζ*. An extended state observer [29] is given as

$$\begin{cases}
\dot{\mathfrak{k}}\_1 = \mathfrak{k}\_2 + \frac{a\_1}{\mathfrak{c}} (\mathfrak{x}\_1 - \mathfrak{x}\_1) \\
\dot{\mathfrak{k}}\_2 = f(\mathfrak{k}\_1, \mathfrak{k}\_2, \mathfrak{r}) + \frac{a\_2}{\mathfrak{c}^2} (\mathfrak{x}\_1 - \mathfrak{x}\_1) + \hat{\phi} \\
\dot{\hat{\phi}} = \frac{a\_3}{\mathfrak{c}^3} (\mathfrak{x}\_1 - \hat{\mathfrak{x}}\_1)
\end{cases} \tag{8}$$

where *x*ˆ1, *x*ˆ2 and *φ*ˆ are estimates of *x*1, *x*<sup>2</sup> and *φ*, respectively,*α*1, *α*<sup>2</sup> and *α*<sup>3</sup> are positive constants, polynomial *s*<sup>3</sup> + *α*1*s*<sup>2</sup> + *α*2*s* + *α*<sup>3</sup> is Hurwitz, and 0 < *ε* < 1.

**Lemma 1** [31]**.** *Considering a function f* ∈ *n, f is <sup>γ</sup>*−*Lipschitz with the respective argument*

$$\|f(\mathbf{x}) - f(\mathbf{y})\| \le \gamma \|\mathbf{x} - \mathbf{y}\| \text{ } \forall \mathbf{x}, \mathbf{y} \in \mathfrak{R}^n \tag{9}$$

**Theorem 1.** *Considering the system (7) with observer (8) and satisfying* 0 < *ε* < 1*,* . *φ* <sup>≤</sup> *L, and exist P* <sup>=</sup> *<sup>P</sup><sup>T</sup>* <sup>&</sup>gt; <sup>0</sup>*, then x* <sup>1</sup>(*t*) → *x*1(*t*)*, <sup>x</sup>* <sup>2</sup>(*t*) <sup>→</sup> *<sup>x</sup>*2(*t*) *and φ*(*q*, . *q*, *t*) → *φ*(*q*, . *q*, *t*) *as t* → ∞.

**Proof .** The error dynamics from (7) and (8) can be written as

$$\begin{cases} \dot{\overline{\varepsilon}}\_1 = \overline{\varepsilon}\_2 + \frac{a\_1}{\varepsilon} \overline{\varepsilon}\_1\\ \dot{\overline{\varepsilon}}\_2 = \Delta f + \frac{a\_2}{\varepsilon^2} \overline{\varepsilon}\_1 + \overline{\varepsilon}\_3\\ \dot{\overline{\varepsilon}}\_3 = \dot{\phi} - \frac{a\_3}{\varepsilon^3} \overline{\varepsilon}\_1 \end{cases} \tag{10}$$

where /*e*<sup>1</sup> <sup>=</sup> *<sup>x</sup>*<sup>1</sup> <sup>−</sup> *<sup>x</sup>*ˆ1, ∼ *<sup>e</sup>* <sup>2</sup> <sup>=</sup> *<sup>x</sup>*<sup>2</sup> <sup>−</sup> *<sup>x</sup>*ˆ2, /*e*<sup>3</sup> <sup>=</sup> *<sup>φ</sup>* <sup>−</sup> *<sup>φ</sup>*<sup>ˆ</sup> and <sup>Δ</sup>*<sup>f</sup>* <sup>=</sup> *<sup>f</sup>*(*x*1, *<sup>x</sup>*2, *<sup>τ</sup>*) <sup>−</sup> *<sup>f</sup>*(*x*ˆ1, *<sup>x</sup>*ˆ2, *<sup>τ</sup>*). We define the Lyapunov function as

$$V = \mathfrak{e}\overline{\mathfrak{e}}^T P \overline{\mathfrak{e}} \tag{11}$$

where /*<sup>e</sup>* = [/*e*1, /*e*2, /*e*3] *T*

The time derivative of V in Equation (11) is

$$
\dot{V} = \varepsilon \dot{\overline{\epsilon}}^T P \overline{\epsilon} + \varepsilon \overline{\epsilon}^T P \dot{\overline{\epsilon}} \tag{12}
$$

where

$$\begin{aligned} \varepsilon \ddot{\overline{\epsilon}} &= \begin{bmatrix} \varepsilon \dot{\overline{\epsilon}}\_1 \\ \varepsilon \dot{\overline{\epsilon}}\_2 \\ \varepsilon \dot{\overline{\epsilon}}\_3 \end{bmatrix} = \begin{bmatrix} -\frac{a\_1}{\varepsilon^2} \overline{\epsilon}\_1 + \frac{1}{\varepsilon} \overline{\epsilon}\_2 \\ \varepsilon \Delta f - \frac{a\_2}{\varepsilon^2} \overline{\epsilon}\_1 + \overline{\epsilon}\_3 \\ \varepsilon \dot{\phi} - \frac{a\_3}{\varepsilon^2} \overline{\epsilon}\_1 \end{bmatrix} \\ &= \begin{bmatrix} -a\_1 \overline{\epsilon}\_1 + \overline{\epsilon}\_2 \\ -a\_2 \overline{\epsilon}\_1 + \overline{\epsilon}\_3 \\ -a\_3 \overline{\epsilon}\_1 + \varepsilon \dot{\phi} \end{bmatrix} = A \overline{\epsilon} + \varepsilon B\_1 \Delta f + \varepsilon B\_2 \dot{\phi} \end{aligned} \tag{13}$$

and

$$A = \begin{bmatrix} -\alpha\_1 & 1 & 0 \\ -\alpha\_2 & 0 & 1 \\ -\alpha\_3 & 0 & 0 \end{bmatrix}, B\_1 = \begin{bmatrix} 0 \\ 1 \\ 0 \end{bmatrix} \text{ and } B\_2 = \begin{bmatrix} 0 \\ 0 \\ 1 \end{bmatrix}. \tag{14}$$

Substituting (13) into (12)

$$\begin{split} \dot{V} &= \varepsilon \dot{\overline{\varepsilon}}^{T} P \overline{\varepsilon} + \varepsilon \overline{\varepsilon}^{T} P \dot{\overline{\varepsilon}} \\ &= \left( A \overline{\varepsilon} + \varepsilon B\_{1} \Delta f + \varepsilon B\_{2} \dot{\phi} \right)^{T} P \overline{\varepsilon} + \overline{\varepsilon}^{T} P (A \overline{\varepsilon} + \varepsilon B\_{1} \Delta f + \varepsilon B\_{2} \dot{\phi}) \\ &= \overline{\varepsilon}^{T} A^{T} P \overline{\varepsilon} + \varepsilon (B\_{1} \Delta f)^{T} P \overline{\varepsilon} + \varepsilon (B\_{2} \phi)^{T} P \overline{\varepsilon} + \overline{\varepsilon}^{T} P A \overline{\varepsilon} + \varepsilon \overline{\varepsilon}^{T} P B\_{1} \Delta f + \varepsilon \overline{\varepsilon}^{T} P B\_{2} \dot{\phi} \\ &= \overline{\varepsilon}^{T} (A^{T} P + P A) \overline{\varepsilon} + \varepsilon \overline{\varepsilon}^{T} P B\_{1} \Delta f + 2 \varepsilon \overline{\varepsilon}^{T} P B\_{2} \dot{\phi} \\ &= - \overline{\varepsilon}^{T} Q \overline{\varepsilon} + 2 \varepsilon \overline{\varepsilon}^{T} P B\_{1} \Delta f + 2 \varepsilon \overline{\varepsilon}^{T} P B\_{2} \dot{\phi} \end{split} \tag{15}$$

where

$$A^T P + PA = -Q \tag{16}$$

From Lemma 1, we can obtain

$$
\Delta f = f(\mathbf{x}\_1, \mathbf{x}\_2, \mathbf{r}) - f(\mathbf{x}\_1, \mathbf{x}\_2, \mathbf{r}) \le \gamma \|\overline{e}\_{12}\| \tag{17}
$$

where /*e*<sup>12</sup> = [/*e*1, /*e*2] *<sup>T</sup>* and we also obtain

$$||\vec{e}\_{12}|| = \sqrt{\vec{e}\_1^2 + \vec{e}\_2^2} \le \sqrt{\vec{e}\_1^2 + \vec{e}\_2^2 + \vec{e}\_3^2} = ||\vec{e}||\tag{18}$$

so that

$$2\varepsilon \overline{\epsilon}^T P B\_1 \Delta f \le 2\varepsilon \gamma \left\| P B\_1 \right\| \left\| \left\| \overline{\epsilon} \right\| \right\|^2 \tag{19}$$

Substituting (18) into (14), we obtain

$$\begin{split} \dot{V} &= \varepsilon \dot{\tilde{\varepsilon}}^{T} P \tilde{\varepsilon} + \varepsilon \tilde{\varepsilon}^{T} P \dot{\tilde{\varepsilon}} \\ &= -\tilde{\varepsilon}^{T} Q \tilde{\varepsilon} + 2 \varepsilon \tilde{\varepsilon}^{T} P B\_{1} \Delta f + 2 \varepsilon \tilde{\varepsilon}^{T} P B\_{2} \dot{\phi} \\ &\leq -\tilde{\varepsilon}^{T} Q \tilde{\varepsilon} + 2 \varepsilon \gamma ||P B\_{1}|| ||\tilde{\varepsilon}||^{2} + 2 \varepsilon L ||P B\_{2}|| ||\tilde{\varepsilon}|| \\ &\leq -(\lambda\_{\text{min}}(Q) - 2 \varepsilon \gamma ||P B\_{1}||) ||\tilde{\varepsilon}||^{2} + 2 \varepsilon L ||P B\_{2}|| ||\tilde{\varepsilon}|| \end{split} \tag{20}$$

To guarantee the stability of the system, we impose . *V* < 0 so the convergence is given as

$$||\vec{\varepsilon}|| \le \frac{2\varepsilon L ||PB\_2||}{\lambda\_{\min}(Q) - 2\varepsilon \gamma ||PB\_1||} \tag{21}$$


**Remark 2.** *The value of L does not need to be exactly known. However, this value always exists to make sure the maximum torque generated at the actuators is able to attenuate φ.Therefore, robot manipulators can be controllable.*

#### **4. Active Fault-Tolerant Control with Finite-Time Synchronous Fast Terminal Sliding Mode Control**

In this section, the proposed active fault-tolerant control with finite-time synchronous fast terminal sliding mode control (AFTC S-FTSMC) is presented. Some definitions will be useful in the rest of the paper.

**Definition 1.** *We define x* <sup>Λ</sup> = | *x*<sup>1</sup> | *<sup>λ</sup>*<sup>1</sup> *sign*(*x*1), <sup>|</sup> *<sup>x</sup>*<sup>2</sup> <sup>|</sup> *<sup>λ</sup>*<sup>2</sup> *sign*(*x*2),..., <sup>|</sup> *xn* <sup>|</sup> *<sup>λ</sup><sup>n</sup> sign*(*xn*) *T* ∈ *<sup>n</sup> where <sup>λ</sup>i*(*<sup>i</sup>* = 1, 2, ... , *<sup>n</sup>*) > <sup>0</sup> *and* <sup>Λ</sup> = *diag*(*λi*)*. <sup>x</sup>* = [*x*1, *<sup>x</sup>*2,..., *xn*] *<sup>T</sup>* ∈ *<sup>n</sup> and y* = [*y*1, *y*2,..., *yn*] *<sup>T</sup>* ∈ *n*.

**Definition 2.** *We define x* · *y* = [*x*1*y*1, *x*2*y*2,..., *xnyn*] *<sup>T</sup>* ∈ *n*.

**Definition 3.** *The time derivative of <sup>x</sup>*<sup>Λ</sup> *is*

$$\frac{d}{dt}\lceil \mathbf{x} \rceil^{\Lambda} = \Lambda \lvert \mathbf{x} \rvert^{\Lambda - 1} \cdot \dot{\mathbf{x}} = \left[ \lambda \lvert \mathbf{x}\_{1} \rvert^{\lambda - 1} \dot{\mathbf{x}}\_{1}, \lambda \lvert \mathbf{x}\_{2} \rvert^{\lambda - 1} \dot{\mathbf{x}}\_{2}, \dots, \lambda \lvert \mathbf{x}\_{n} \rvert^{\lambda - 1} \dot{\mathbf{x}}\_{n} \right]^{T},$$
 
$$and \; \mathbf{x}^{\Lambda - I} = \left[ \mathbf{x}\_{1}^{\lambda\_{1} - 1}, \mathbf{x}\_{2}^{\lambda\_{2} - 1}, \dots, \mathbf{x}\_{n}^{\lambda\_{n} - 1} \right] \in \mathbb{R}^{n} \; where \; I = \operatorname{diag}(1) \in \mathbb{R}^{n \times n}.$$

The synchronization error [28] was given as:

$$\begin{array}{l} \varepsilon\_{1} = (1 + \psi\_{1}\psi\_{n})e\_{1} - \psi\_{1}e\_{2} - \psi\_{1}e\_{n} \\ \varepsilon\_{2} = (1 + \psi\_{2}\psi\_{1})e\_{2} - \psi\_{2}e\_{3} - \psi\_{2}e\_{1} \\ \vdots \\ \varepsilon\_{n} = (1 + \psi\_{n}\psi\_{n-1})e\_{n} - \psi\_{n}e\_{2} - \psi\_{n}e\_{1} \end{array} \tag{22}$$

where *ei*(*i* = 1, 2, ... , *n*) is the error at each joint, and *ψi*(*i* = 1, 2, ... , *n*) is the corresponding positive gains. In matrix form

$$
\varepsilon = T \varepsilon \tag{23}
$$

where *ε* = [*ε*1,*ε*2,...,*εn*] *<sup>T</sup>* ∈ *n*, *<sup>e</sup>* = [*e*1,*e*2,...,*en*] *<sup>T</sup>* ∈ *n*, *<sup>T</sup>* ∈ *n*×*n*, and

$$T = \begin{bmatrix} (1 + \Psi\_1 \Psi\_n) & -\Psi\_1 & 0 & \cdots & -\Psi\_1 \\ -\Psi\_2 & (1 + \Psi\_2 \Psi\_1) & -\Psi\_2 & \cdots & 0 \\ 0 & -\Psi\_3 & (1 + \Psi\_3 \Psi\_2) & \cdots & 0 \\ \vdots & & & \\ -\Psi\_n & -\Psi\_n & 0 & \cdots & (1 + \Psi\_n \Psi\_{n-1}) \end{bmatrix} \tag{24}$$

A novel synchronous fast terminal sliding mode surface is proposed as

$$S = \dot{\mathfrak{e}} + \mathfrak{a}\varepsilon + \mathcal{J}\lceil \mathfrak{e} \rceil^{\Lambda} \tag{25}$$

where *<sup>α</sup>* = *diag*(*αi*) ∈ *n*×*<sup>n</sup>* and *<sup>β</sup>* = *diag*(*βi*) ∈ *n*×*<sup>n</sup>* are positive matrix gain. <sup>Λ</sup> = *diag*(*λi*) ∈ *n*×*<sup>n</sup>* with 0 < *<sup>λ</sup>*1*<sup>i</sup>* < 1.

The proposed active fault-tolerant control with synchronous fast terminal sliding mode (AFTC S-FTSMC) is given as

$$
\pi = \pi\_{\rm cl} + \pi\_0 + \pi\_{\rm ob} \tag{26}
$$

where *<sup>τ</sup>eq* <sup>=</sup> **<sup>M</sup>**(*q*)(.. *qd* + *α* . *ε* + *β*Λ|*ε*| <sup>Λ</sup>2−*<sup>I</sup>* · . *ε* + **H**(*q*, . *<sup>q</sup>*)), *<sup>τ</sup><sup>o</sup>* = **<sup>M</sup>**(*q*)*K*1*sign*(*S*), *<sup>τ</sup>ob* = −**M**(*q*)*φ*ˆ, and *<sup>K</sup>*<sup>1</sup> = *diag*(*k*1*i*) ∈ *n*×*n*.

**Theorem 2.** *The system described in (5), using the controller specified in (25), guarantees that e* → 0 *is finite time.*

**Proof.** The Lyapunov function can be selected as

$$V = \frac{1}{2} \mathbf{S}^T \mathbf{S} \tag{27}$$

The time derivative of V in (26) is

$$\begin{array}{l}\dot{V} = S^T \dot{S} \\ \dot{V} = S^T (\ddot{\epsilon} + a\dot{\varepsilon} + \Lambda \beta |\varepsilon|^{\Lambda - I} \cdot \dot{\varepsilon}) \\ \dot{V} = S^T (\ddot{q}\_d - \ddot{q} + a\dot{\varepsilon} + \Lambda \beta |\varepsilon|^{\Lambda - I} \cdot \dot{\varepsilon}) \\ \dot{V} = S^T (\ddot{q}\_d - \mathbf{M}^{-1}(q) \left(\tau - \mathbf{H}(q, \dot{q})\right) + \mathbf{M}^{-1}(q)\zeta(q, \dot{q}, \tau, t) + a\dot{\varepsilon} + \Lambda \beta |\varepsilon|^{\Lambda - I} \cdot \dot{\varepsilon}) \end{array} \tag{28}$$

Substituting (25) into (27), we have

$$\begin{array}{l}\dot{V} = -S^T K\_1 \text{sign}(S) \\ \leq -\sigma\_1 V^{\frac{1}{2}} < 0 \end{array} \tag{29}$$

where *σ*<sup>1</sup> = *λ*min(*K*1). When the sliding mode achieves *S* = 0 and converges, then *E* = 0 and . *E* = 0, and we have:

$$\begin{array}{l}\dot{c}\_{i} = -a\_{i}\varepsilon\_{i} - \beta\_{i} \lceil \varepsilon\_{i} \rceil^{\lambda} \\ = -a\_{i}((1 + \psi\_{i}\psi\_{i-1})e\_{i} - \psi\_{i}e\_{i-1} - \psi\_{i}e\_{i+1}) \\ - \beta\_{i} |(1 + \psi\_{i}\psi\_{i-1})e\_{i} - \psi\_{i}\varepsilon\_{i-1} - \psi\_{i}e\_{i+1}|^{\lambda}sign((1 + \psi\_{i}\psi\_{i-1})e\_{i} - \psi\_{i}e\_{i-1} - \psi\_{i}e\_{i+1}) \end{array} \tag{30}$$

The system in (29) has equilibrium points at *ei* = 0 (*i* = 1, 2, ... , *n*; *n* + 1 = 1). According to the definition of terminal attractors [32], we have

$$\left| \left| \frac{\partial \varepsilon\_i}{\partial \varepsilon\_j} \right| = -a\_i \left| \frac{\partial \varepsilon\_i}{\partial \varepsilon\_j} \right| - \beta\_i \lambda \left| (1 + \psi\_i \psi\_{i-1}) e\_i - \psi\_i e\_{i-1} - \psi\_i e\_{i+1} \right|^{\lambda - 1} \left| \frac{\partial \varepsilon\_i}{\partial \varepsilon\_j} \right| = \infty \tag{31}$$

where *j* = (*i* − 1, *i*, *i* + 1) (*i* = 1, 2, . . . , *n*).

From (5), we have *ei* → 0(*i* = 1, 2, . . . , *n* ) at finite time. Therefore, Theorem 1 is proven. -

**Remark 3.** *The time convergence shows that*

$$t = t\_r + t\_{c\_i} \tag{32}$$

Time convergence *S* → 0:

$$t\_r \le \frac{2V^{\frac{1}{2}}(0)}{\sigma\_1} \tag{33}$$

Time convergence *ei* → 0

$$t\_{\varepsilon\_i} = \frac{1}{a\_i(1 - \lambda\_i)} \left( \ln \left( a\_i(ae\_i(0) + b\epsilon\_{i-1}(0) + c\epsilon\_{i+1}(0))^{1 - \lambda\_i} \right) - \ln(\beta\_i) \right) \tag{34}$$

where *a* = 1 + *ψiψi*−1, *b* = −*ψi*, and *c* = −*ψi*.

**Remark 4.** *A singularity may occur at* |*ε*| Λ−*I in (25) when the synchronization error approaches or crosses zero. By using saturation function sat*(*x*Λ−*<sup>I</sup>* , *us*), *x* = |*ε*| *where us* > 0*, the singularity can be avoided and the system retains finite-time stability* [33].

#### **5. Simulation Results**

This section, the comparison of the proposed AFTC S-FTSMC and an AFTC with the combination of an conventional fast terminal sliding mode and an extended state observer ([30]+ESO) for the 3-DOF manipulator, is presented with different kinds of faults. In this simulation, the geometry parameters from the catalog of a FARA-AT2 robot manipulator were used to establish the 3-DOF robot manipulator. In Table 1, the dynamics parameters of the robot manipulator in Solidworks are shown. From Solidworks, a 3-DOF robot manipulator was imported to Matlab environment through Simmechanics with full information of the dynamics parameters. The robot in the simulation environment was shown in Figure 1.


**Table 1.** Dynamics Parameters of 3-DOF Robot Manipulator.

**Figure 1.** The simulation of 3-DOF Robot Manipulator in MATLAB/Simulink.

For this trajectory-tracking simulation, the desired position trajectories at each joint are given as ⎧

$$\begin{cases} \ q\_1 = 0.5 \cos(t/2) - 0.5\\ q\_2 = 0.3 \ast \cos(t) - 0.3\\ q\_3 = 0.2 \ast \cos(t) - 0.2 \end{cases} \tag{35}$$

The disturbance at each joint is assumed to be

$$\begin{cases} \delta\_{1f} = 0.2\operatorname{sgn}(\dot{q}\_1) + 0.3\dot{q}\_1\\ \delta\_{2f} = 0.2\operatorname{sgn}(\dot{q}\_2) + 0.3\dot{q}\_2\\ \delta\_{3f} = 0.2\operatorname{sgn}(\dot{q}\_3) + 0.3\dot{q}\_3 \end{cases} \tag{36}$$

The related parameters for the ESO were chosen to be *α*<sup>1</sup> = 8, *α*<sup>2</sup> = 28, *α*<sup>3</sup> = 7, and *ε* = 0.01. The controller [30]+ESO is given as:

$$
\pi\_{[25]+ESO} = \pi\_0 + \pi\_{smc} + \pi\_{ob} \tag{37}
$$

where *<sup>τ</sup>eq* <sup>=</sup> **<sup>M</sup>**(*q*)(.. *qd* + *d* . *e* + *c*Λ|*e*| <sup>Λ</sup>−*<sup>I</sup>* · . *e*) + **H**(*q*, . *q*), *τ<sup>o</sup>* = **M**(*q*)*K*1*sign*(*S*), and *<sup>τ</sup>ob* = −**M**(*q*)*φ*ˆ, and *<sup>K</sup>*<sup>1</sup> = *diag*(*k*1*i*) ∈ *n*×*n*. The conventional fast terminal sliding surface [30] was selected as:

$$S = \dot{e} + de + c \left[ e \right]^\Lambda \tag{38}$$

The parameters for the [30]+ESO were suitably chosen as *c* = *diag*(0.5; 0.5; 0.5), *d* = *diag*(0.72; 0.72; 0.72), *K*<sup>1</sup> = *diag*(80; 80; 110) and Λ = *diag*(0.6; 0.6; 0.6).

The parameters for the AFTC S-FTSMC were chosen as *ψ*<sup>1</sup> = *ψ*<sup>2</sup> = *ψ*<sup>3</sup> = 2, *α* = *diag*(0.5; 0.5; 0.5), *β* = *diag*(0.72; 0.72; 0.72), Λ = *diag*(0.6; 0.6; 0.6), and *K*<sup>1</sup> = *diag*(80; 80; 110).

To avoid a singularity, the terms containing power Λ − *I* in (25) and (36) were replaced with the saturation function.

$$sat(u\_{f'}u\_{s}) = \begin{cases} \ u\_{s} & \text{if } u\_{f} \ge u\_{s} \\\ u\_{f} & \text{if } u\_{f} < u\_{s} \end{cases}$$

where *us* = 0.3 is a positive constant, and *uf* = Λ|*x*| <sup>Λ</sup>−*<sup>I</sup>* · . *x* with *x* = *e* and *ε* .

To avoid chattering, the signum function in (25) and (36) was replaced with the saturation function.

$$sat(s) = \begin{cases} sgn(s) & if|s| \ge \lambda \\ \frac{s}{\lambda} & if|s| < \lambda \end{cases}$$

where *λ* = 0.8.

#### *5.1. Simulation 1*

In this subsection, the comparison of two AFTCs (AFTC S-FTSMC and [30]+ESO) is described with the combination of loss-effective and bias fault at joint 2 at the fifth second. The total torque function at each joint was assumed to be:

$$\begin{cases} \begin{aligned} \tau\_1^t &= \tau\_1\\ \tau\_2^t &= (1 - \rho\_2(t))\tau\_2 + f\_2(t) \; t \ge 5\\ \tau\_3^t &= \tau\_3 \end{aligned} \end{cases} \tag{39}$$

where *ρ*2(*t*) = 0 and *f*2(*t*) = 200 sin(*π*(*t* − 5)/2).

In Figure 2, the estimation of a fault is shown. It can be seen that the FE performance does not have high accuracy, but with that magnitude error in the FE, the sliding mode control technique can handle uncertainties or disturbances. It can be seen in Figure 3. Before the fifth second, both controllers have similar accuracy because in normal operation mode, the synchronization control does not show the effectiveness in an open-loop mechanism that serial robot manipulators do. After the fifth second, the proposed control AFTC S-FTSMC can significantly reduce the effect of the fault when compared with AFTC with [30]+ESO, because in this case, the internal constraints of the synchronization technique can suppress the effect of the fault to make the position error at each joint tend to be equal. However, the accuracy of [30]+ESO is still inside the order 10−<sup>3</sup> radian, so it can be said that [30]+ESO showed acceptable performance in this case. From these results, both controllers have the ability to guarantee an acceptable performance with this kind of fault.

**Figure 2.** Fault estimation results. (**a**) Joint 1; (**b**) Joint 2; (**c**) Joint 3.

**Figure 3.** Tracking error results. Blue line is [30]+ESO controller. Red line is the proposed controller. (**a**) Joint 1; (**b**) Joint 2; (**c**) Joint (3).

#### *5.2. Simulation 2*

In this subsection, the total two kinds of actuator fault with a similar magnitude of fault to Simulation 1 are considered. The assumed fault function is shown as

$$\begin{cases} \begin{aligned} \tau\_1^t &= \tau\_1\\ \tau\_2^t &= (1 - \rho\_2(t))\tau\_2 + f\_2(t) \; t \ge 5\\ \tau\_3^t &= \tau\_3 \end{aligned} \end{cases} \tag{40}$$

where *ρ*2(*t*) = −0.4 sin(*π*(*t*)) and *f*2(*t*) = 90 sin(*π*(*t*)/2).

In Figure 4, the magnitude of fault is similar to the case in Simulation 1, but in this case, the effect of actuator loss-effective fault is considered. In Figure 5, after the fifth second, by using AFTC with [30]+ESO, the picking values occur in joint 2 and joint 3 at 10.42 s and 14.48 s, respectively. The acceptable performance of AFTC with [30]+ESO cannot be guaranteed in this case. In contrast, the proposed AFTC S-FTSMC still maintains the accuracy inside order 10−<sup>3</sup> rad. This causes the effectiveness of synchronization control which can suppress the effect of the fault. However, it can be seen that the tracking error in joint 1 slightly increases due to the synchronization technique which also makes the error at each joint tend to be equal. This characteristic is the disadvantage of the synchronization technique.

**Figure 4.** Fault estimation results. (**a**) Joint 1; (**b**) Joint 2; (**c**) Joint (3).

**Figure 5.** Tracking error results. Blue line is [30]+ESO controller. Red line is the proposed controller. (**a**) Joint 1; (**b**) Joint 2; (**c**) Joint (3).

**Remark 5.** *From the results in Simulation 1 and 2, it can be seen that the different kinds of faults can highly affect the performance of the active fault-tolerant control strategy despite having similar magnitude at the actuators. Therefore, to prevent the effect of faults, AFTC needs a different solution for the way it deals with uncertainties and disturbances. AFTC with the conventional controller technique may not be enough to guarantee an acceptable performance in the robot manipulators when faults occur. In contrast, with the synchronization technique, the proposed AFTC showed effectiveness in tolerating faults despite this technique having no effect in the normal operation mode.*

#### **6. Experimental Results**

#### *6.1. Experiment Setup*

The experimental setup is shown in Figure 6 and uses a 3-DOF FARA-AT2 robot manipulator. This robot manipulator has 6 DOF, but for these experiments, joints 4, 5, and 6 were blocked. The 3-DOF FARA-AT2 robot had a CSMP series motor at each joint. The gear box at each joint was 120:1, 120:1, and 100:1 at joints 1, 2, and 3, respectively. The encoder at each joint was a 2048 line count incremental encoder. The controller was run on Labview-FPGA, NI-PXI-8110, and NI-PXI-7842R PXI cards with the frequency control set at 500 Hz. The NI-PXI-8110 was run on a Windows operating system.

**Figure 6.** Experiment setup for 3-DOF FARA-AT2 robot manipulator.

The desired trajectory at each joint is given as:

$$q\_{id}(t) = \frac{\pi}{6} \sin(\frac{\pi t}{1600}) (i = 1, 2, 3) \tag{41}$$

The related parameters of the fault estimation (8) can be suitably selected as *α*<sup>1</sup> = 2, *α*<sup>2</sup> = 3, *α*<sup>3</sup> = 0.3, and *ε* = 0.01.

The parameters of AFTC with [30]+ESO in (36) were suitably selected as *c* = *diag*(0.2; 0.2; 0.2), *d* = *diag*(0.1; 0.1; 0.1), Λ = *diag*(0.62; 0.62; 0.62) and *K*<sup>1</sup> = *diag*(30; 30; 50).

The parameters of the proposed AFTC S-FTSMC (25) were suitably chosen as *α* = *diag*(0.2; 0.2; 0.2), *β* = *diag*(0.1; 0.1; 0.1), Λ = *diag*(0.62; 0.62; 0.62), *K*<sup>1</sup> = *diag*(28; 25; 45) and *ψ*<sup>1</sup> = *ψ*<sup>2</sup> = *ψ*<sup>3</sup> = 3.5.

To avoid a singularity, the terms containing power Λ − *I* in (25) and (36) were replaced with the saturation function.

$$\text{sat}(u\_{f'}, u\_s) = \begin{cases} u\_s & \text{if } u\_f \ge u\_s \\ u\_f & \text{if } u\_f < u\_s \end{cases}$$

where *us* = 10 is a positive constant, and *uf* = Λ|*x*| <sup>Λ</sup>−*<sup>I</sup>* · . *x* with *x* = *e* and *ε* .

To avoid chattering, the signum function in (25) and (36) were replaced with the saturation function.

$$sat(s) = \begin{cases} \operatorname{sgn}(s) & if|s| \ge \lambda \\ \frac{\varepsilon}{\lambda} & if|s| < \lambda \end{cases}$$

where *λ* = 1.6.

#### *6.2. Experiment 1*

In this experiment, the total two kinds of actuator faults are considered to show the advantage of the proposed AFTC when compared to AFT with [30]+ESO. The assumed fault function is shown as

$$\begin{cases} \begin{aligned} \mathbf{r}\_1^t &= \mathbf{r}\_1\\ \mathbf{r}\_2^t &= (1 - \rho\_2(t))\mathbf{r}\_2 + f\_2(t) \ t \ge 10\\ \mathbf{r}\_3^t &= \mathbf{r}\_3 \end{aligned} \end{cases} \tag{42}$$

where *ρ*2(*t*) = 0.4 sin(*π*(*t* − 10)/2.4) and *f*2(*t*) = 60 sin(*π*(*t* − 10)/2.4).

In Figure 7, the fault estimation results are shown. Unlike in Simulation 2's results, the high magnitude of uncertainties occurred in the real implementation estimation results. However, the magnitude of the assumed fault dominated over the uncertainties. Hence, the effect of the total uncertainties and faults is mainly affected by faults. In Figure 8, the tracking error at each joint is presented. Before the 10th second, as mentioned in Section 1, the synchronization technique has no advantage in an open-loop chain mechanism such as the serial robot manipulator in normal operation mode. Therefore, the error at each joint of two controllers has similar accuracy. It is shown that the AFTC with [30]+ESO still

maintains the ability to deal with a high magnitude of uncertainties. After the 10th second, in Figure 8b, the difference accuracy of two controllers is shown. The proposed AFTC S-FTSMC outperformed the AFTC with [30]+ESO. It can be seen that the effectiveness of the synchronization technique in the AFTC strategy is verified. In addition, in Figure 8c, the error of the proposed AFTC S-FTSMC is slightly increased due to the synchronization method. However, this increase still guarantees an acceptable performance of the robot manipulator.

**Figure 7.** Fault estimation results. (**a**) Joint 1; (**b**) Joint 2; (**c**) Joint (3).

**Figure 8.** Tracking error results. Blue line is [30]+ESO controller. Red line is the proposed controller. (**a**) Joint 1; (**b**) Joint 2; (**c**) Joint (3).

#### *6.3. Experiment 2*

In this experiment, three different group values of synchronization parameters *ψ*<sup>1</sup> = *ψ*<sup>2</sup> = *ψ*<sup>3</sup> = *ψ*(*Psi*) where *ψ* = 1.5, 3.5 and 4.5 were considered to show the effect of these parameters in the proposed controller.

Before the 10th second, in Figure 9a–c, the position errors at each joint tend to be equal so that they have similar behavior due to the synchronization technique. With different values of group *ψ*, the synchronization occurs during the tracking trajectory of the robot manipulator. However, with a higher value of *ψ*, the system has better synchronization as shown in Figure 9b,c. It can be seen that from *ψ* = 3.5 to *ψ* = 4.5, the position error at each joint has not much change. In this implementation with a 3-DOF FARA-AT2 robot manipulator, the value of *ψ* is limited to 4.5. If *ψ* is selected to be higher, oscillation will occur in the robot manipulator system. In Figure 9d, the error of AFTC with [30]+ESO showed a different characteristic at each joint. However, in Figure 9b–d, the accuracy still maintains. After the 10th second, in Figure 9d without the synchronization technique, the position error at each joint shows dependent characteristics. In contrast, in Figure 9a–c, the synchronization guarantees that the position error at each joint tends to be equal. This characteristic of the synchronization technique is very helpful in tolerating faults because the internal constraints of synchronization can suppress the effect of faults in the system.

**Figure 9.** Tracking error results with difference group value of *ψ*. (**a**) *ψ*<sup>1</sup> = *ψ*<sup>2</sup> = *ψ*<sup>3</sup> = *ψ* = 1.5; (**b**) *ψ*<sup>1</sup> = *ψ*<sup>2</sup> = *ψ*<sup>3</sup> = *ψ* = 3.5; (**c**) *ψ*<sup>1</sup> = *ψ*<sup>2</sup> = *ψ*<sup>3</sup> = *ψ* = 4.5; (**d**) Non-synchronization.

#### **7. Conclusions and Future Works**

In this paper, active fault-tolerant control with the combination of a novel finitetime synchronous fast terminal sliding mode control and an extended state observer was proposed. Due to the internal constraints of the synchronization technique, the proposed controller has the ability to suppress the effect of faults and reduce the picking phenomenon in systems when faults occur. Without the conventional coupling technique, the proposed active fault-tolerant controller can reduce the computation and fast convergence and avoid the oscillation due to the integral term and guarantees the finite-time convergence of position errors. From the simulation and experimental results, it is shown that the effect of different kinds of faults cannot prevent uncertainties and disturbances like the control technique can. Therefore, the synchronization technique is a suitable technique to tolerate faults. It effectively treats the loss-effective faults at the actuators of robot manipulators.

In future work, selecting the optimal synchronization parameters using an optimal method or intelligent technique such as neural network and fuzzy could be considered to improve the performance of the synchronous technique in fault-tolerant control. In addition, the data-driver technique based on a deep neural network could be useful to detect faults on the system early, which is very important in tolerating the faults and maintaining acceptable performance when the faults occur. The combination of the model and signal base will be applied to a real robot system to detect faults early, then make a decision for the output of the robot actuator to tolerate the faults.

**Author Contributions:** All authors contributed equally to this article and accepted the final report. All authors have read and agreed to the published version of the manuscript.

**Funding:** This research was supported by Basic Science Research Program through the National Research Foundation of Korea (NRF) funded by the Ministry of Education (NRF-2016R1D1A3B03930496).

**Conflicts of Interest:** All authors announce that they have no conflict of interest in relation to the publication of this article.

#### **References**

