1 Introduction

Thanks to some important advances in the research for efficient and safe control strategies of electromechanical and robotic devices, upper-limb exoskeletons are used for assisted rehabilitation therapy to provide passive arm movements such as the subject’s limb can be moved following a given trajectory [19]. In particular, the 5-DOF upper-limb exoskeleton robot is able to assist with the shoulder, elbow and wrist joint movements [1, 2]. Applied for assisted rehabilitation tasks, the repeatability, precision, control, and accuracy in the movements of an exoskeleton are very important for offering thorough and safe rehabilitation routines [10]. Therefore, controller design for such system is an important task.

Controller design can be problematic because of challenges related to real-world applications such as uncertain dynamics, external disturbances and unavailable full-state measurement. Knowing that these issues can affect the closed-loop system stability and/or performances, many approaches have been proposed for tackling them. For instance, for tackling the uncertainty problem, it has been proved that using adaptive controllers incorporating fuzzy logic systems for nonlinear dynamics approximation can provide very satisfactory results (see, for instance, in [1115] and references therein). In order to deal with the actuation fault issue, a particular class of adaptive controllers known as fault-tolerant controllers (FTC) has been studied and successfully applied (see, for instance, in [11, 14, 1618] and references therein). These FTCs can use either some robust control approaches (passive FTC) [11, 14] or some fault detection and diagnosis (FDD) components (active FTC) [1619] for dealing with actuation faults. For dealing with the unavailable full-state issue, especially when the system’s dynamics is unknown, some model-free state observers such as fuzzy state observers [12, 14] or fuzzy sliding mode state observers [20] or high-gain linear state observers [13, 21, 22] are generally incorporated in the adaptive control scheme. These adaptive controllers are generally designed using some well-known nonlinear control techniques or strategies such as the sliding mode control (SMC) [2328], feedback control [13, 21], the backstepping technique [11, 12, 14, 29, 30], and dynamic surface control [15]. Particularly for upper-limb exoskeleton robot control for passive rehabilitation, several works have been published showing good results obtained by applying different nonlinear control strategies such as the SMC [20, 23, 24, 3134], feedback control [1, 2], fuzzy logic control [35, 36], impedance control [37], and passivity-based control [9]. For instance, an output feedback controller for a 5-DOF upper-limb exoskeleton robot was proposed in [1]. The proposed controller was designed such that it can provide good tracking performances despite uncertainties and disturbance torques. This controller uses an adaptive nonlinear state observer that provides estimation of velocity having only position information from sensors. An adaptive logic-based switching algorithm was proposed for the controller’s parameters online adjustment. A robot system able to guide patient’s wrist to move along planned linear or circular trajectories has been proposed in [35]. A hybrid position/force controller incorporating fuzzy logic was developed for that robot. The position controller was obtained as the fuzzy logic system output using the center-of-gravity method. The force controller was proposed as a combination of a conventional PI controller and a fuzzy PI tuner. The purpose of this late is the compensation of the joint friction of the robot and the unknown disturbing force from the subject/patient. A control system for a 3-DOF upper-limb rehabilitation and training robot was proposed in [36]. The presented system was based on a hierarchical structure that allows the execution of sequence of switching control laws for position, force, and impedance, corresponding to a given required training configuration. This system is a model-based nonlinear controller that requires the knowledge of the robot’s kinematics and dynamics for ensuring haptic transparency and patient safety. Therefore, identification of robot dynamics was performed using a maximum-likelihood type estimation [38]. Many works addressing the control of exoskeleton robots have used the SMC strategy for its robustness with respect to uncertainty and external disturbances (see, for instance, in [23, 24, 33, 39, 40]). However, it is known that the main drawback of SMC is the chattering phenomenon [20, 23, 24, 3134, 4042]. This phenomenon generates vibrations to the mechanical structure that could cause premature wear, or breaking of mechanical components. Thus, it is practically impossible to use conventional SMC with exoskeleton robots for the patients’ safety. An approach for dealing with this issue was proposed in [40] for a 7-DOF exoskeleton robot arm. In this work, a chattering-free reaching law-based SMC combining the concept of the saturation function [43] and an exponential reaching law [44] was presented. However, to the best of our knowledge, a few has been done to propose approaches for nonlinear fault-tolerant adaptive control for upper-limb exoskeleton robotic systems, while these late can be subject to actuators faults. In fact, it has been reported that robot can be exposed to different types of faults such as total failure, partial fault, and bias fault [2, 16, 17, 45, 46]. Thus, designing controllers able to efficiently tackle actuators’ faults may considerably increase patients’ safety. However, such controller for a 5-DOF upper-limb exoskeleton robot has been studied in [2] but with only the actuators’ loss of effective fault considered. Furthermore, actuation torque generated by this controller for meeting the control objective seems relatively too high, which is not energy efficient. Therefore, for a safe and efficient control of upper-limb exoskeleton robots, there is still a need for some improvements in terms of control energy, tracking performances, and robustness with respect to different types of faults.

Motivated by the above discussion and observations, this paper proposes a new adaptive nonlinear FTC scheme for the 5-DOF upper-limb exoskeleton robot presented in [1, 2, 47]. The study considers multiple challenges such as unavailable full system state information, uncertain nonlinear dynamics, disturbance torques, actuation faults (especially loss of effectiveness or gain faults, bias faults or the two considered simultaneously), and the need for faster response and improved tracking accuracy with relatively low amplitude control torques. For dealing with the unavailability of full-state measurement and exact system’s dynamics, the scheme incorporates a model-free high-gain state observer with a dynamic high-gain matrix for obtaining information about links’ velocities, and a fuzzy neural network (FNN) for approximating the robot’s unknown dynamics. To address the problem of control performance improvement and energy efficiency, a modified reaching law-based SMC is proposed, which has the particularity of providing a chattering-free control signal that ensures good tracking performances. The main advantages of the scheme introduced in this paper are as follows:

  1. (a)

    ability to efficiently and simultaneously tackle issues such as uncertain dynamics, torque disturbances, unavailable full state measurement and actuation faults of different types (unlike other schemes for exoskeletons robot control [1, 2, 9, 23, 24, 3133, 3537, 39, 40]);

  2. (b)

    chattering-free control signals without using some chattering avoidance methods that have been reported to alter the controllers’ robustness feature [48] and that may involve some additional design parameters [20, 34, 40, 41, 43, 4854];

  3. (c)

    alleviated online computation burden thanks to the use of the linear high-gain observer and to the fact that the FNN is used for approximating only one nonlinear vector function, unlike in [21, 55] where two nonlinear matrix functions have to be approximated;

  4. (d)

    unlike in other works involving FNN for robot control (see, for instance, in [20, 21, 24, 34, 41, 56, 57]), FNN approximation errors are compensated using dynamic parameters such that no prior error bound knowledge is required;

  5. (e)

    compensation of torque disturbances and actuation fault effects without any prior knowledge of any bound or any use of FDD devices as it is with many adaptive and FTC schemes [2, 1619, 34, 44, 46];

  6. (f)

    convergence of the state observer and asymptotic stability of the closed-loop system are achieved using the proposed scheme and the update rules for the controller’s dynamic parameters;

  7. (g)

    continuous and lower amplitudes control torques, shorter settling time, fewer oscillations, better tracking accuracy, or improved robustness.

The aforementioned effectiveness of the proposed approach is illustrated by simulating the controlled 5-DOF upper-limb exoskeleton robot in MATLAB. The obtained results are compared to those obtained using the adaptive nonlinear FTC proposed in [2] for the same system.

The rest of this paper is organized as follows: In Sect. 2, we present the model of a 5-DOF upper-limb exoskeleton robot and state the control problem along with some preliminaries. In Sect. 3, the main results of this paper are developed, specifically the design of a high-gain state observer and a FNN-based adaptive fault-tolerant nonlinear controller for the robot. In Sect. 4, the 5-DOF upper-limb exoskeleton robot controlled by the designed adaptive fault-tolerant nonlinear controller is simulated in MATLAB. Section 5 is devoted to some concluding remarks.

2 Preliminaries and problem statement

In the mathematical developments presented throughout this paper, standard notations are used. \(\mathbb {R}\) represents the set of real numbers; \(\mathbb {R}^+\) represents the set of positive real numbers; \(\mathbb {R}^n\) stands for the n-dimensional real vector space; \(\mathbb {R}^{n \times n}\) denotes the \(n \times n\) real matrix space. Let \(I_n\) be the column vector of n ones. The norm of vector \(\mathbf {x} \in \mathbb {R}^n\) and that of matrix \(\mathbf {A}\in \mathbb {R}^n\) are defined as \(\Vert \mathbf {x}\Vert =\sqrt{\mathbf {x}^T\mathbf {x}}\) and \(\Vert \mathbf {A} \Vert ^2=tr\left[ \mathbf {A}^T \mathbf {A} \right] \), respectively. If y is scalar, then |y| denotes its absolute value.

This section presents the dynamic equation of the 5-DOF upper-limb exoskeleton robot and its control problem. Some preliminaries are provided for a better understanding of the design of the controller proposed in this work, which involves the following steps:

  • Step 1 Design of a state observer by specifying its parameters for good convergence properties;

  • Step 2 Design of a nonlinear dynamics approximator: a FNN with its membership function, inputs, update rules and design parameters;

  • Step 3 Design of a sliding function and a reaching law defining its dynamics;

  • Step 4 Design of the fault-tolerant adaptive nonlinear controller and its parameters.

These preliminaries are provided through the presentation of the controller design for an ideal case corresponding to known system dynamics and available full-state measurement.

2.1 Exoskeleton control problem

The system to be controlled in this paper is the upper-limb exoskeleton robot that can simulate the most important 5-DOF in the human upper-limb movements that are: shoulder abduction/adduction, shoulder flexion/extension, the elbow flexion/extension, wrist flexion/extension, and internal/external rotation. This robot is modeled as a set of highly nonlinear coupled differential equations given as follows (the independent variable t is omitted for simplicity in notations) [1, 2, 47]:

$$\begin{aligned} \mathbf {M(q)} {\ddot{\mathbf{q}}}+\mathbf {C}(\mathbf {q},\dot{\mathbf{q}}) {\dot{\mathbf{q}}} +\mathbf {G(q)} + \mathbf {\tau _d}({\dot{\mathbf{q}}})=\mathbf {\tau } \end{aligned}$$
(1)

where \(\mathbf {q}\), \({\dot{\mathbf{q}}}\), \({\ddot{\mathbf{q}}} \in \mathbb {R}^5\) are the position, velocity, and acceleration vectors, respectively; \(\mathbf {\tau }_d ({\dot{\mathbf{q}}}) \in \mathbb {R}^5\) is the disturbance torque vector, and \(\mathbf {\tau }\in \mathbb {R}^5\) is the joints actuation torque vector. \(\mathbf {M(q)}\in \mathbb {R}^{5 \times 5}\) is the generalized inertia matrix given by

$$\begin{aligned} \mathbf {M(q)}=\begin{bmatrix} M_{11}&\quad M_{12}&\quad M_{13}&\quad 0&\quad 0\\ M_{21}&\quad M_{22}&\quad M_{23}&\quad 0&\quad 0\\ M_{31}&\quad M_{32}&\quad M_{33}&\quad 0&\quad M_{35}\\ 0&\quad 0&\quad 0&\quad M_{44}&\quad 0\\ 0&\quad 0&\quad M_{53}&\quad 0&\quad M_{55} \end{bmatrix} \end{aligned}$$

where

$$\begin{aligned} M_{11}= & {} I_6 \sin (q_2) \cos (q_2)+I_4 \sin ^2(q_2 + q_3)\nonumber \\&+\,I_5 \sin (q_2+q_3) \cos (q_2+q_3)+2\nonumber \\&+\,I_7 \sin ^2(q_2+q_3) +I_8\cos (q_2) \sin (q_2+q_3)\nonumber \\&+\,I_9 \cos (q_2) \cos (q_2+q_3)+I_{10} \sin ^2(q_2+q_3)\nonumber \\&+\,I_{11} \cos (q_2) \sin (q_2+q_3)+I_3 \cos ^2(q_2)\nonumber \\&+\,I_2+I_{19}+I_{12} \sin (q_2+q_3) \cos (q_2+q_3) \end{aligned}$$
(2)
$$\begin{aligned} M_{12}= & {} M_{21}=I_{13} \sin (q_2)+\left( I_{14} -I_{17}\right) \cos (q_2+q_3)\nonumber \\&+\,I_{16} \sin (q_2+q_3)+I_{15} \cos (q_2) \end{aligned}$$
(3)
$$\begin{aligned} M_{13}= & {} M_{31}=I_{14} \cos (q_2+q_3)+I_{16} \sin (q_2+q_3)\nonumber \\&-\,I_{17} \cos (q_2+q_3) \end{aligned}$$
(4)
$$\begin{aligned} M_{22}= & {} I_{18}+I_{19}+I_{20}+ I_9 \cos (q_2)\nonumber \\&+\,I_{10}+\left( I_{11}+ 2 I_8\right) \sin (q_3) \end{aligned}$$
(5)
$$\begin{aligned} M_{23}= & {} M_{32}=I_8 \sin (q_3) +I_{20}+I_9 \cos (q_3)\nonumber \\&+\,I_{11} \sin (q_3) +2 I_{10} \end{aligned}$$
(6)
$$\begin{aligned} M_{33}= & {} I_{13}+I_{20}+2 I_{10} \end{aligned}$$
(7)
$$\begin{aligned} M_{35}= & {} M_{53}=I_{10}+I_{21} \end{aligned}$$
(8)
$$\begin{aligned} M_{44}= & {} I_{22}+I_{23} \end{aligned}$$
(9)
$$\begin{aligned} M_{55}= & {} I_{24}+I_{21} \end{aligned}$$
(10)

and the carioles/centripetal matrix \(\mathbf {C}(\mathbf {q},\dot{\mathbf{q}}) \in \mathbb {R}^{5 \times 5}\) is given by

$$\begin{aligned} \mathbf {C}(\mathbf {q},\dot{\mathbf{q}})=\begin{bmatrix} C_1 \dot{q}_2&\quad C_2 \dot{q}_3+C_3 \dot{q}_2&\quad C_4 \dot{q}_2+C_5 \dot{q}_3&\quad 0&\quad 0\\ C_6 \dot{q}_1&\quad C_7 \dot{q}_3&\quad C_8 \dot{q}_3&\quad 0&\quad 0\\ C_5 \dot{q}_1&\quad C_9 \dot{q}_2&\quad 0&\quad 0&\quad 0\\ C_{10} \dot{q}_2&\quad 0&\quad C_{11} \dot{q}_1&\quad 0&\quad 0\\ 0&\quad C_{12} \dot{q}_2&\quad 0&\quad 0&\quad 0\\ \end{bmatrix} \end{aligned}$$

where

$$\begin{aligned} C_1= & {} 2\,[-I_3 \sin (q_2) \cos (q_2)+I_8 \cos (2 q_2 +q_3) \nonumber \\&+\,I_4 \sin (q_2+q_3) \cos (q_2) -I_9\sin (2 q_2+q_3)\nonumber \\&-\,2I_{10} \sin (q_2+q_3) +I_{11} \cos (2q_2+q_3) \nonumber \\&+\,I_7 \sin (q_2 +q_3) cos (q_2 q_3)\nonumber \\&+\,I_{12}(1-2 \sin ^2 (q_2+q_3))]\nonumber \\&+\,I_5 \left( 1-2 \sin (q_2 +q_3)+I_6 (1-2 \sin ^2(q_2))\right) \nonumber \\ \end{aligned}$$
(11)
$$\begin{aligned} C_2= & {} 2\,[-I_{14} \sin (q_2+q_3)+I_{16} \cos (q_2+q_3)\nonumber \\&+\,I_{17} \sin (q_2+q_3)] \end{aligned}$$
(12)
$$\begin{aligned} C_3= & {} I_{13} \cos (q_2)-I_{14} \sin (q_2+q_3)-I_{15} \sin (q_2)\nonumber \\&+\,I_{16} \cos (q_2+q_3)+I_{17} \sin (q_2+q_3) \end{aligned}$$
(13)
$$\begin{aligned} C_4= & {} 2\,[I_8 \cos (q_2) \cos (q_2+q_3)\nonumber \\&+\,I_4 \sin (q_2+q_3) \cos (q_2+q_3)\nonumber \\&-\,I_9 \cos (q_2) \sin (2q_2)\nonumber \\&+\,2 I_{10}\sin (q_2+q_3)\cos (q_2+q_3)\nonumber \\&+\,I_{11}\cos (q_2)\cos (q_2+q_3)\nonumber \\&+\,I_7 \sin (q_2+q_3) \cos (q_2+q_3)\nonumber \\&+\,I_{12}(1-2\sin ^2(q_2+q_3))]\nonumber \\&+\,I_5(1-2\sin ^2(q_2+q_3)) \end{aligned}$$
(14)
$$\begin{aligned} C_5= & {} 0.5 C_2 \end{aligned}$$
(15)
$$\begin{aligned} C_6= & {} -0.5 C_1 \end{aligned}$$
(16)
$$\begin{aligned} C_7= & {} 2\left[ -2I_9 \sin (q_3)+I_8 \cos (q_3) + I_{11} \cos (q_3) \right] \nonumber \\ \end{aligned}$$
(17)
$$\begin{aligned} C_8= & {} -0.5 C_4 \end{aligned}$$
(18)
$$\begin{aligned} C_9= & {} \left( 1-2I_{10}\right) \sin (q_2+q_3)\cos (q_2+q_3)\nonumber \\&-\,I_{11} \cos (q_2) \cos (q_2+q_3)\nonumber \\&-\,I_{12}\cos ^2(q_2+q_3) \end{aligned}$$
(19)
$$\begin{aligned} C_{10}= & {} \left( -I_{23} +I_{19}+I_{20} \right) \sin (q_2+q_3) \end{aligned}$$
(20)
$$\begin{aligned} C_{11}= & {} \left( -I_{20} +I_{23}+I_{19} \right) \sin (q_2+q_3) \end{aligned}$$
(21)
$$\begin{aligned} C_{12}= & {} -I_{11} \cos (q_3)-I_{12} \end{aligned}$$
(22)

The system gravitational parameters used in Eqs. (2)–(22) are given in Table 1. Finally, the gravity vector is given by \(\mathbf {G(q)}^T=\begin{bmatrix} 0&G_2&G_3&0&G_5 \end{bmatrix}\) where

$$\begin{aligned} G_2= & {} g_1 \cos (q_2)+g_3 \sin (q_2)+g_4 \cos (q_2+q_3)\nonumber \\&+\,\left( g_2+g_5 \right) \sin (q_2+q_3) \end{aligned}$$
(23)
$$\begin{aligned} G_3= & {} \left( g_2 +g_5 \right) \sin (q_2+q_3) +g_4 \cos (q_2+q_3) \end{aligned}$$
(24)
$$\begin{aligned} G_5= & {} g_5 \sin (q_2+q_3) \end{aligned}$$
(25)
Table 1 5-DOF upper-limb exoskeleton robot parameters [1, 2]

The parameters used in Eqs. (23)–(25) are given in Table 1.

Considering actuation faults, the robot dynamic model in Eq. (1) can be rewritten as follows:

$$\begin{aligned} \mathbf {M(q)} {\ddot{\mathbf{q}}}+\mathbf {C}(\mathbf {q},\dot{\mathbf{q}}) {\dot{\mathbf{q}}} +\mathbf {G(q)} + \mathbf {\tau _d}({\dot{\mathbf{q}}})=\mathbf {\tau }_a \end{aligned}$$
(26)

where \(\mathbf {\tau }_a \in \mathbb {R}^5\) represents the vector of actual actuation torque. Unlike in [2], in order to consider not only the partial loss of effectiveness fault, we consider that

$$\begin{aligned} \mathbf {\tau }_a=\tau -\delta \mathbf {\tau } + \Delta \end{aligned}$$
(27)

where \(\delta =\mathsf {diag} \left[ \delta _1,\ldots ,\delta _5 \right] \) is the time-varying/constant matrix of actuation power loss rates, \(\mathbf {\tau } \in \mathbb {R}^5\) is the vector of theoretical joints input torques (provided by the control algorithm), and \(\Delta ^T=\left[ \Delta _1,\ldots ,\Delta _5 \right] \) represents the time-varying/constant bias in the actuation torque. Hence, Eq. (27) can represent different types of actuation faults. For \(1\le i \le 5\), if \(\delta _i=1\) and \(\Delta _i=0\), there is a total failure at the i-th bar-link that can manifest in free-swinging joint, or locked joint because of jamming of bearings, transmission or because of the failure of the drive motor; if \(\delta _i < 1\) and \(\Delta _i=0\), there is a partial loss of actuation at the i-th bar-link that may be caused by increased resistance in the joint movement (e.g., due to loss of lubrication) or vibrations (e.g., due to increased backlash); if \(\delta _i=1\) and \(\Delta _i\ne 0\), there is a bias fault at the i-th bar-link; if \(\delta _i < 1\) and \(\Delta _i \ne 0\), the system may be subject to a complex fault [2, 16, 17, 45, 46].

Given a vector \(\mathbf {q}_d \in \mathbb {R}^5\) of reference trajectories for the five links, the objective is to design a controller that will provide \(\mathbf {\tau } \in \mathbb {R}^5\) to force the robot position vector \(\mathbf {q} \in \mathbb {R}^5\) to track \(\mathbf {q}_d\) with accuracy despite the torque disturbance \(\mathbf {\tau }_d \in \mathbb {R}^5\), unknown or uncertain system dynamics or parameters (\(\mathbf {M(q)}\), \(\mathbf {C}(\mathbf {q},\dot{\mathbf{q}})\), and \(\mathbf {G(q)}\)), unavailable velocity measurements \({\dot{\mathbf{q}}}\), actuation faults of different types.

2.2 Controller design: ideal case with available states and system dynamics

Here we first assume that full system state measurement information (\(\mathbf {q},\dot{\mathbf {q}}\)) and system nonlinear dynamics (or parameters \(\mathbf {M(q)}\), \(\mathbf {C}(\mathbf {q},\dot{\mathbf{q}})\), and \(\mathbf {G(q)}\)) are known. This will set the path to the main results of this paper.

Considering the aforementioned control objective, let us denote the position tracking error vector by \(\mathbf {e}^T=\left[ e_1,\ldots , e_5 \right] \) where \(e_i=q_{d,i}-q_i\) for \(1\le i\le 5\).

Let us denote the sliding function vector as \(\mathbf {s}^T=[s_1,\ldots ,s_5]\) obtained from

$$\begin{aligned} \mathbf {s}=\dot{\mathbf {e}}+{\varvec{\Gamma }} \mathbf {e} \end{aligned}$$
(28)

where \({\varvec{\Gamma }} = {\varvec{\Gamma }}^T \in {\mathbb {R}}^{5 \times 5}\) is a positive-definite constant diagonal matrix. The first time derivative of \(\mathbf {s}\) multiplied by the generalized inertia matrix corresponds to

$$\begin{aligned} \mathbf {M(q)}{\dot{\mathbf{s}}}=\mathbf {M(q)} \left( {\ddot{\mathbf{q}}}_d+{\varvec{\Gamma }} \dot{\mathbf {e}}\right) -\mathbf {M(q)} {\ddot{\mathbf{q}}} \end{aligned}$$
(29)

Using the expression of \({\ddot{\mathbf{q}}}\) obtained from Eq. (26), we obtain

$$\begin{aligned} \mathbf {M(q)}{\dot{\mathbf{s}}}= & {} \mathbf {M(q)} \left( {\ddot{\mathbf{q}}}_d+{\varvec{\Gamma }} \dot{\mathbf {e}}\right) +\mathbf {C}(\mathbf {q},\dot{\mathbf{q}}) {\dot{\mathbf{q}}} +\mathbf {G(q)}\nonumber \\&+\, \mathbf {\tau _d}({\dot{\mathbf{q}}})-{\varvec{\tau }}_a \end{aligned}$$
(30)

Using Eq. (27) in Eq. (30), we obtain

$$\begin{aligned} \mathbf {M(q)}{\dot{\mathbf{s}}}= & {} \mathbf {M(q)} \left( {\ddot{\mathbf{q}}}_d+{\varvec{\Gamma }} \dot{\mathbf {e}}\right) +\mathbf {C}(\mathbf {q},\dot{\mathbf{q}}){\dot{\mathbf{q}}} \nonumber \\&+\,\mathbf {G(q)} +{\psi ({{\dot{\mathbf {q}}}},{{\tau }})}- {{\tau }} \end{aligned}$$
(31)

where \({\psi ({\dot{\mathbf {q}}},\mathbf {\tau })}=\mathbf {\tau _d}({\dot{\mathbf{q}}})+\delta \cdot \tau -\Delta \) is the lumped disturbance, resulting from the disturbance torque and the actuation fault.

Here we propose the use of a sliding mode reaching law given as follows:

$$\begin{aligned} \mathbf {M(q)}{\dot{\mathbf{s}}}=-\mathbf {\eta } \mathbf {T(s)}- \mathbf {K} \mathbf {E(s)} \end{aligned}$$
(32)

where \(\eta =\mathsf {diag}\left[ \eta _1,\ldots ,\eta _5 \right] \) and \(\mathbf {K}=\mathsf {diag}\left[ K_1,\ldots ,\right. \left. K_5 \right] \) are positive-definite design matrices, \(\mathbf {T(s)}^T=\left[ T_1(s_1),\ldots ,T_5(s_5) \right] \) with

$$\begin{aligned} T_i (s_i)=\frac{\mathsf {exp}(4s_i)-1}{\mathsf {exp}(4s_i)+1} \end{aligned}$$
(33)

and \(\mathbf {E(s)}^T=\left[ E_1(s_1),\ldots ,E_5(s_5) \right] \) with

$$\begin{aligned} E_i (s_i)=\frac{s_i}{\mathsf {exp}(s_i)+1} \end{aligned}$$
(34)

Using the reaching law given by Eq. (32), we obtain chattering phenomenon cancelation without involving some chattering avoidance methods that have been reported to alter the controllers’ robustness feature and that may involve some additional design parameters to the control system that may need to be tuned [40, 48]. Some of these methods consist in, for instance, replacing the sign function of the traditional SMC with a boundary layer function [20, 49] or saturation function [40, 43], using a continuous hyperbolic tangent function [50], using fuzzy logic to adjust the slope of switching surface [51], using a disturbance observer [52], using a radial basis function neural network [53], and/or using power rate reaching strategy [54].

Using Eq. (31) (where \({\psi ({\dot{\mathbf {q}}},\mathbf {\tau })}=0\)) and Eq. (32), we derive the joints theoretical input torque vector as follows

$$\begin{aligned} \tau ={\mathbf {f}}({\mathbf {q}},\dot{\mathbf {q}}) + \eta \mathbf {T(s)} + \mathbf {K} \mathbf {E(s)} \end{aligned}$$
(35)

where the nonlinear function vector \({\mathbf {f}}({\mathbf {q}},\dot{\mathbf {q}}) \in {\mathbb {R}}^5\) corresponds to

$$\begin{aligned} {\mathbf {f}}({\mathbf {q}},\dot{\mathbf {q}})=\mathbf {M(q)} \left( \ddot{\mathbf {q}}_d+{\varvec{\Gamma }} {\dot{\mathbf {e}}}\right) +\mathbf {C}(\mathbf {q},\dot{\mathbf{q}}){\dot{\mathbf{q}}} +\mathbf {G(q)} \end{aligned}$$
(36)

In order to check under which condition the control law given by Eq. (35) can guarantee the closed-loop system stability, let us consider the following Lyapunov function

$$\begin{aligned} V=\frac{1}{2} \mathbf {s}^T \mathbf {M(q)} \mathbf {s} \end{aligned}$$
(37)

The first time derivative of this function is

$$\begin{aligned} \dot{V}&=\mathbf {s}^T \mathbf {M(q)} {\dot{\mathbf{s}}}+ \frac{1}{2} \mathbf {s}^T \dot{\mathbf {M}}(\mathbf {q}) \mathbf {s}\nonumber \\&=\mathbf {s}^T \mathbf {M(q)} {\dot{\mathbf{s}}}+ \frac{1}{2} \mathbf {s}^T \left( \dot{\mathbf {M}}(q)-2 \mathbf {C}(\mathbf {q},\dot{\mathbf{q}}) \right) \mathbf {s}\nonumber \\&=\mathbf {s}^T \mathbf {M(q)} {\dot{\mathbf{s}}} \end{aligned}$$
(38)

Let us apply Eq. (35) in Eq. (31) (where \({\psi ({\dot{\mathbf {q}}},\mathbf {\tau })}\ne 0\)) to obtain

$$\begin{aligned} \mathbf {M(q)}{\dot{\mathbf {s}}}={\psi ({\dot{\mathbf {q}}},\mathbf {\tau })}- \eta \mathbf {T(s)} - \mathbf {K} \mathbf {E(s)} \end{aligned}$$
(39)

Applying Eq. (39) in Eq. (38), we obtain

$$\begin{aligned} \dot{V}=\mathbf {s}^T \left[ {\psi ({\dot{\mathbf {q}}},\mathbf {\tau })}- \eta \mathbf {T(s)} - \mathbf {K} \mathbf {E(s)} \right] \end{aligned}$$
(40)

Considering the worst-case scenario caused by the disturbance \({\psi ({\dot{\mathbf {q}}},\mathbf {\tau })}\), the sliding variable may go away from the origin such that \(T_i (s_i)=\frac{\mathsf {exp}(4s_i)-1}{\mathsf {exp}(4s_i)+1} \approx 1\). Therefore, Eq. (40) becomes

$$\begin{aligned} \dot{V}&\approx \mathbf {s}^T {\psi ({\dot{\mathbf {q}}},\mathbf {\tau })}- \mathbf {s}^T \eta \mathbf {I}_5 - \sum \limits _{i=1}^5 K_i \frac{s_i^2}{\exp (s_i)+1} \nonumber \\&\le \Vert \mathbf {s}\Vert \left( \Vert {\psi ({\dot{\mathbf {q}}},\mathbf {\tau })} \Vert _{\max } - \Vert \eta \Vert \right) - \sum \limits _{i=1}^5 K_i \frac{s_i^2}{\exp (s_i)+1} \end{aligned}$$
(41)

If we select the five diagonal elements of the positive-definite matrix \(\eta \) such that, \(\eta _i>|\psi _i(\dot{q}_i,\mathbf {\tau }_i)|_{\max }\) for \(1\le i \le 5\), with \(K_i \in \mathbb {R}^+\), we obtain \(\dot{V} \le 0\). Therefore, under this condition, the closed-loop system asymptotic stability is guaranteed. Thus, according to Barbalat’s lemma, \(\mathbf {s} \rightarrow 0\), \(\mathbf {e}\rightarrow 0\) as \(t \rightarrow \infty \), despite torque disturbances and actuation faults.

Remark 1

The implementation of the designed control law Eq. (35) requires the availability of full-state measurements \((\mathbf {q},\dot{\mathbf {q}})\), the exact knowledge of the system dynamics \(\mathbf {f}(\mathbf {q},\dot{\mathbf {q}})\) given by Eq. (36), and the knowledge of the upper bound of the lumped disturbance \({\psi ({\dot{\mathbf {q}}},\mathbf {\tau })}\). This requirement is unlikely to be fulfilled in practical applications because of the uncertain nature of the upper-limb exoskeleton robot, the unavailability of the full-state measurement, and the unknown disturbance upper bound. Therefore, the control law Eq. (35) should be improved by making its implementation independent of full-state measurement availability, systems dynamics, and disturbances bounds. This improvement is the main subject of the next section.

3 Main results

3.1 High-gain state observer design

Having only information on robot links position vector \(\mathbf {q}\), let us use a high-gain state observer that will provide an accurate estimation \({\dot{\hat{\mathbf {q}}}}\) of the unavailable velocity vector \({\dot{\mathbf{q}}}\). Let us first consider the state-space representation of the robot dynamic model by rewriting Eq. (26) as follows:

$$\begin{aligned} \left\{ \begin{array}{ll} \dot{\mathbf {x}}=\mathbf {A} \mathbf {x} + \mathbf {F(x,\tau )} \\ \mathbf {y}=\mathbf {H}\mathbf {x} \end{array} \right. \end{aligned}$$
(42)

where \(\mathbf {x}^T=\left[ \mathbf {x_1}^T,\ldots , \mathbf {x_5}^T\right] \) is the state vector with \(\mathbf {x}_i^T=\begin{bmatrix} q_i&\dot{q}_i \end{bmatrix}\); \(\mathbf {y}\in \mathbb {R}^5\) is the system output vector; \(\mathbf {F(x,\tau )}=-\mathbf {B}\cdot \mathbf {M^{-1}(q)} \left[ \mathbf {C}(\mathbf {q},\dot{\mathbf{q}}) {\dot{\mathbf{q}}} +\mathbf {G(q)} + \mathbf {\tau _d}({\dot{\mathbf{q}}})\right. \left. -\mathbf {\tau }_a \right] \); for \(1\le i \le 5\), \(\mathbf {A}=\mathsf {diag} \left[ \mathbf {A_1},\ldots ,\mathbf {A_5} \right] \) with \(\mathbf {A_i}=\begin{bmatrix} 0&1\\ 0&0 \end{bmatrix}\), \(\mathbf {B}=\mathsf {diag} \left[ \mathbf {B_1},\ldots ,\mathbf {B_5} \right] \) with \(\mathbf {B_i}=\begin{bmatrix} 0\\ 1 \end{bmatrix}\), and \(\mathbf {H}=\mathsf {diag} \left[ \mathbf {H_1},\ldots ,\mathbf {H_5} \right] \) with \(\mathbf {H_i}=\begin{bmatrix} 1&0 \end{bmatrix}\) such that \(\mathbf {H}\) is a full rank matrix in accordance with the observability criteria.

Assumption 1

[18, 19, 5860] With the state vector \(\mathbf {x}\in \mathbb {R}^{10}\) bounded over the compact set \(\Omega \subset \mathbb {R}^{10}\), and the control torque \(\mathbf {\tau }\in \mathbb {R}^5\) restricted to the class of admissible control torques \(U\in \mathbb {R}^5\), the nonlinear vector field \(\mathbf {F(x,\tau )}\) is bounded with respect to its arguments on \(\Omega \), i.e., there exist a positive scalar valued function \(\rho (\mathbf {x,\tau })\) such that \(\Vert \mathbf {F(x,\tau )}\Vert \le \Vert \mathbf {P}\Vert ^{-1}\rho (\mathbf {x,\tau })\) \(\forall \mathbf {x} \in \mathbb {R}^{10}\) and \(\forall \tau \in \mathbb {R}^5\), with \(\mathbf {P}=\mathbf {P}^T>0\).

Knowing that the system dynamics are unavailable and that only position information \(\mathbf {q}\) is available, the objective is to design an observer that does not involve the system dynamics in its implementation, for which the input is the system output vector \(\mathbf {y}\), and for which the state \({\hat{\mathbf {x}}}\) will converge asymptotically to \(\mathbf {x}\), i.e., \(\lim \limits _{t\rightarrow \infty } ({\hat{\mathbf {x}}}-\mathbf {x})=0\). For that we use a high-gain observer modeled by

$$\begin{aligned} \left\{ \begin{array}{ll} \dot{{\hat{\mathbf {x}}}}=\mathbf {A} {\hat{\mathbf {x}}} + \mathbf {L} \left( \mathbf {y}-{\hat{\mathbf {y}}} \right) \\ {\hat{\mathbf {y}}}=\mathbf {H}{\hat{\mathbf {x}}} \end{array} \right. \end{aligned}$$
(43)

where \(\mathbf {L}=\mathsf {block-diag}\left[ \mathbf {L}_1,\ldots , \mathbf {L}_5\right] \) is the high-gain observer matrix with \(\mathbf {L}_i^T=\begin{bmatrix} \frac{k_{i,1}}{\epsilon (t)}&\frac{k_{i,2}}{\epsilon (t)^2} \end{bmatrix}\). The parameters \(k_{i,1}\) and \(k_{i,2}\) are selected such that the polynomial \(p^2+k_{i,2} p+k_{i,1}=0\) is Hurwitz. The time-varying parameter \(\epsilon (t) \in \mathbb {R}^+\) is expressed as follows [25]:

$$\begin{aligned} \epsilon (t)=\frac{\exp (50t)+1}{100\left[ \exp (50t) -1 \right] } \end{aligned}$$
(44)

Let us denote \(\tilde{\mathbf{x}}=\mathbf {x}-{\hat{\mathbf {x}}}\) the state estimation error vector. Using Eqs. (42) and (43), the dynamics of this error is given as follows:

$$\begin{aligned} {\dot{\tilde{\mathbf {x}}}}&=\dot{\mathbf {x}}- \dot{\hat{\mathbf {x}}}\nonumber \\&=\left( \mathbf {A}-\mathbf {LH} \right) \tilde{\mathbf{x}}+\mathbf {F(x,\tau )}\nonumber \\&=\mathbf {A}_0 \tilde{\mathbf{x}}+\mathbf {F(x,\tau )} \end{aligned}$$
(45)

where \(\mathbf {A}_0= \left( \mathbf {A}-\mathbf {LH} \right) \) has all its eigenvalues with negative real parts.

In order to check the convergence property of the state observer, let use the following Lyapunov function:

$$\begin{aligned} V=\frac{1}{2} \tilde{\mathbf{x}}^T \mathbf {P}\tilde{\mathbf{x}} \end{aligned}$$
(46)

where \(\mathbf {P}=\mathbf {P}^T>0 \in \mathbb {R}^{10 \times 10}\), mentioned in Assumption 1, is a solution of the following Riccati algebraic equation:

$$\begin{aligned} \mathbf {A}_0^T \mathbf {P} + \mathbf {P} \mathbf {A}_0 = -\mathbf {Q} \end{aligned}$$
(47)

for a given \(\mathbf {Q}=\mathbf {Q}^T>0 \in \mathbb {R}^{10 \times 10}\). The first time derivative of the Lyapunov function is

$$\begin{aligned} \dot{V}&=\frac{1}{2} {\dot{\tilde{\mathbf {x}}}}^T \mathbf {P} \tilde{\mathbf{x}} +\frac{1}{2} \tilde{\mathbf{x}}^T \mathbf {P} {\dot{\tilde{\mathbf {x}}}}\nonumber \\&= \frac{1}{2} \tilde{\mathbf{x}}^T\left( \mathbf {A_0}^T \mathbf {P} + \mathbf {P} \mathbf {A_0}\right) \tilde{\mathbf{x}}+ \tilde{\mathbf{x}}^T \mathbf {P} \mathbf {F(x,\tau )} \end{aligned}$$
(48)

Using Eq. (47), under Assumption 1, Eq. (48) becomes

$$\begin{aligned} \dot{V}&=-\frac{1}{2} \tilde{\mathbf{x}}^T \mathbf {Q} \tilde{\mathbf{x}} + \tilde{\mathbf{x}}^T \mathbf {P} \mathbf {F(x,\tau )}\nonumber \\&\le -\frac{1}{2} \tilde{\mathbf{x}}^T \mathbf {Q} \tilde{\mathbf{x}} + \Vert \tilde{\mathbf{x}}\Vert \Vert \mathbf {P}\Vert \Vert \mathbf {F(x,\tau )}\Vert \nonumber \\&\le -\frac{1}{2} \tilde{\mathbf{x}}^T \mathbf {Q} \tilde{\mathbf{x}}+\Vert \tilde{\mathbf{x}}\Vert \rho (\mathbf {x},\tau )\nonumber \\&\le -\frac{1}{2} \lambda _{\min } (\mathbf {Q}) \Vert \tilde{\mathbf{x}}\Vert ^2+\Vert \tilde{\mathbf{x}}\Vert \rho (\mathbf {x},\tau ) \end{aligned}$$
(49)

where \( \lambda _{\min } (\mathbf {Q})\) is the smallest eigenvalue of \(\mathbf {Q}\). Therefore, we have \(\dot{V}\le 0\) whenever \(\Vert \tilde{\mathbf {x}}\Vert \) is outside the region bounded by \(\Vert \tilde{\mathbf {x}}\Vert \le 2 \rho (\mathbf {x},\tau ) /\lambda _{\min }(Q)\). Hence, according to the Barbalat’s lemma, \(\forall t \ge 0\), \(\lim \limits _{t\rightarrow \infty } (\mathbf {x}-{\hat{\mathbf {x}}})=0\) such that \(\hat{\mathbf {x}}\) is guaranteed to be bounded in the compact set \(\Omega \). This convergence property is illustrated by the simulation results presented in Sect.  4.

3.2 Fuzzy neural network and observer-based nonlinear controller design

As stated by Remark 1 of Sect.  2, the control law given by Eq. (35) is not good for practical applications as the robot dynamics \(\mathbf {f}(\mathbf {q},\dot{\mathbf {q}})\), the full-state vector \(\mathbf {x}\), and the disturbance torque and actuation fault upper bounds (\(\Vert \psi (\dot{q},\tau )\Vert _{\max }\)) are not available. Therefore, we exploit the state observer given by Eq. (43) to obtain an accurate estimation \(\hat{\mathbf {x}}\) of the state vector \(\mathbf {x}\).

In order to approximate the unknown dynamics with the approximate state vector (\({{\mathbf {f}}(\hat{\mathbf {q}},\dot{\hat{\mathbf {q}}})}\)), considering that the approximate state vector \({\hat{\mathbf {x}}}\) remains bounded in the compact set \(\Omega \) \(\in \mathbb {R}^{10}\) \(\forall t\), we exploit the universal approximation theorem of FNN (in this paper, unlike in [21, 55], the FNN is used for approximating only one nonlinear vector function: less computational burden). FNN are known for their ability of exploiting the structural advantage of fuzzy logic systems and the learning capability of neural networks [61]. It has been proved several times that FNN are able to approximate any continuous nonlinear function defined on a compact set \(\Omega \) to arbitrary accuracy (see, for instance, in [20, 21, 24, 34, 41, 56, 57, 62]).

With a FNN using a center-of-gravity defuzzification method, an approximation of the nonlinear vector function is obtained as \({\hat{\mathbf {f}}(\hat{\mathbf {q}},\dot{\hat{\mathbf {q}}})}^T=\left[ f_1,\ldots ,f_5 \right] \) where, for \(i=1,\ldots ,5\), we have:

$$\begin{aligned} \hat{f}_i(\mathbf {x_{ei}}|\hat{\theta _i} )&=\frac{\sum \nolimits _{j=1}^m \hat{\theta }_{i,j} (t) \left( \prod \nolimits _{l=1}^k \mu _{A_l^j} (x_{ei,l} )\right) }{{\sum \nolimits _{j=1}^m \left( \prod \nolimits _{l=1}^k \mu _{A_l^j} (x_{ei,l} )\right) }}\nonumber \\&={\hat{\mathbf {\theta }}}_i^T (t) \varphi (\mathbf {x_{ei}}) \end{aligned}$$
(50)

with m being the number of fuzzy rules, k being the length of the FNN input vector \(\mathbf {x_{ei}}\) for the ith link. In this paper, \(\mathbf {x_{ei}}=\begin{bmatrix} q_{d,i}-\hat{q}_i,&\dot{q}_{d,i}-\dot{\hat{q}}_i \end{bmatrix}\); the FNN weighting vector for the ith link is \(\hat{\theta }_i^T (t) =[\hat{\theta }_{i 1} (t), \ldots ,\hat{\theta }_{i m} (t) ] \); \(\varphi (\mathbf {x_{ei}})\in \mathbb {R}^m\) is the vector of fuzzy basis functions for the ith link, for which the components \(\varphi _j (\mathbf {x_{ei}})\), for \(1\le j \le m\), are obtained from:

$$\begin{aligned} \varphi _i (\mathbf {x_{ei}})=\frac{\prod \nolimits _{l=1}^k \mu _{A_l^j} (x_{ei,l})}{\sum \nolimits _{j=1}^m \left( \prod \nolimits _{l=1}^k \mu _{A_l^j} (x_{ei,l})\right) } \end{aligned}$$
(51)

where \(A_l^j\) are the fuzzy sets that correspond to the membership functions \(\mu _{A_l^j}\), for \(1 \le l \le k\) and \(1 \le j \le m\), calculated for each input \(x_{ei,l}\) using the Gaussian function given as follows:

$$\begin{aligned} \mu _{A_l^j} (x_{ei,l} )=\exp \left[ -\frac{(x_{ei,l}-a_{i,l}^j )^2}{2 \mu ^2} \right] \end{aligned}$$
(52)

where \(a_{i,l}^j\) is the width of the Gaussian function and \(\mu > 0\) is the center of the receptive field. These parameters, known as membership function parameter set, and the number of fuzzy rules (m) are very relevant for the accuracy of the FNN output. The approximate vector function at the output of the FNN can therefore be written as follows

$$\begin{aligned} \hat{f}(\mathbf {x_{e}}|\hat{\theta } )= \hat{\theta }^T \varphi (\mathbf {x}_e) \end{aligned}$$
(53)

where \(\varphi ^T=\left[ \varphi ^T(\mathbf {x}_{e1}),\ldots , \varphi ^T(\mathbf {x}_{e5})\right] \in \mathbb {R}^{5\cdot m}\), and \(\hat{\theta }=\mathsf {block-diag}\left[ \hat{\theta }_1,\ldots ,\hat{\theta }_5 \right] \in \mathbb {R}^{5 \cdot m \times 5}\) is the matrix of the five links weighting vectors, for which the update law is designed as follows:

$$\begin{aligned} \dot{\hat{\theta }}=\gamma ^{-1} \varphi (\mathbf {x}_e) {\hat{\mathbf {s}}}^T \end{aligned}$$
(54)

with \({\hat{\mathbf {s}}}\in \mathbb {R}^5\) being the sliding function vector obtained with the estimated states as follows:

$$\begin{aligned} {\hat{\mathbf {s}}}=\dot{\hat{e}}+\varGamma \hat{e} \end{aligned}$$
(55)

where \({\hat{\mathbf {e}}}^T=[\hat{e}_1,\ldots ,\hat{e}_5]\), with \(\hat{e}_i=q_{d,i}-\hat{q}_i\), is the approximate tracking error vector; \(\gamma =\mathsf {diag}\left[ \gamma _1,\ldots ,\right. \left. \gamma _5 \right] \), with \(\gamma _i>0\in \mathbb {R}\) (\(1\le i \le 5\)) being the learning rate for the dynamics of the ith link.

The benefit of using the update law expressed by Eq. (54), which is a function of the approximate closed-loop system tracking error dynamics, is that the parameter \(\hat{\theta }(t)\) does not have a direct effect on the closed-loop system stability (see the proof of Theorem 1). This dynamics of \(\hat{\mathbf {e}}\) is defined by the sliding function given by Eq. (55) where the parameter \(\Gamma =\Gamma ^T>0 \in \mathbb {R}^{5 \times 5}\) is selected such that \(\lim \limits _{t \rightarrow \infty } \hat{\mathbf {e}}=0\).

The difference between the FNN output given by Eq. (53) and the exact nonlinear function given by Eq. (36) corresponds to:

$$\begin{aligned} \hat{\mathbf {f}} (\mathbf {x_e} |\hat{\theta })-\mathbf {f} (\mathbf {q},\dot{\mathbf {q}})=\tilde{\theta }^T \varphi (\mathbf {x_e})-\varepsilon (\mathbf {x_e}) \end{aligned}$$
(56)

where \(\tilde{\theta } (t)\) is the error on approximated weight matrix \(\hat{\theta } (t)\), \(\varepsilon ^T (\mathbf {x_e})=\left[ \varepsilon _1(\mathbf {x}_{e1}),\ldots ,\varepsilon _5 (\mathbf {x}_{e5})\right] \) is the FNN approximation error vector.

Assumption 2

The approximation errors \(\varepsilon _i (\mathbf {x_{ei}})\) are bounded by some unknown constants \(\varepsilon _{i\,\max } > 0\) over the compact set \(\Omega \in R^{10}\), i.e., \(\max \limits _{\mathbf {x_{ei}} \in \Omega } |\varepsilon _i (\mathbf {x_{ei}})| \le \varepsilon _{i\,\max }\).

In order to improve the FNN performances (i.e., to compensate the approximation error effects) for a fixed low number of fuzzy rules m and a fixed FNN parameter set, we add to the designed control law a dynamic parameter vector \(\hat{\varepsilon }(t)\in \mathbb {R}^5\) tuned online to compensate the FNN approximation errors without causing an important computational load, while ensuring robustness of the control system (and without any prior error upper bound knowledge). The update rule for this parameter vector is

$$\begin{aligned} {\hat{\mathbf {\varepsilon }}}(t)= \zeta _\varepsilon ^{-1} \hat{s} \end{aligned}$$
(57)

where \(\zeta _\varepsilon =\mathsf {diag}\left[ \zeta _{\varepsilon ,1},\ldots ,\zeta _{\varepsilon ,5} \right] \), with \(\zeta _{\varepsilon ,i} \in \mathbb {R}^+\) (for \(1 \le i \le 5\)), is the matrix of the parameter \(\hat{\varepsilon }(t)\) learning rate.

In order to compensate the effects of the lumped disturbance \({\psi (\dot{\mathbf {q}},\tau )}\) without any prior knowledge of its upper bound, unlike as suggested in Sect. 2, let us add to the control law the dynamic matrix \(\hat{\eta }_1(t)=\mathsf {diag}\left[ \hat{\eta }_{1,1},\ldots ,\hat{\eta }_{1,5} \right] \) for which the update rule is

$$\begin{aligned} \dot{\hat{\eta }}_1=\zeta _\eta ^{-1} {\hat{\mathbf {s}}}^* \end{aligned}$$
(58)

where \({\hat{\mathbf {s}}}^*=\mathsf {diag}\left[ \hat{s}_1,\ldots ,\hat{s}_5 \right] \), \(\zeta _\eta =\mathsf {diag}\left[ \zeta _{\eta ,1},\ldots ,\right. \left. \zeta _{\eta ,5} \right] \), with \(\zeta _{\eta ,i} \in \mathbb {R}^+\) (for \(1 \le i \le 5\)), is the matrix of the parameter \(\hat{\eta }_1(t)\) learning rate.

Theorem 1

By generating the robot actuation input torque using the following control law

$$\begin{aligned} \tau ={{\hat{\mathbf {f}}(x_e|\hat{\theta })}}+\hat{\eta }(t) {T(\hat{\mathbf {s}})}+\mathbf {KE}(\hat{\mathbf {s}}) \end{aligned}$$
(59)

that uses the estimated vector \(\hat{\mathbf {x}}\in \mathbb {R}^{10}\) of the high-again state observer given by Eq. (43) (with proved convergence) and the FNN output given by Eq. (53) for which the weights are adjusted using Eq. (54), the closed-loop system’s stability, and therefore, robustness is guaranteed regardless the changes in the robotic system’s parameters, the torque disturbances, the FNN approximation error, and different types of actuation faults; this is ensured if

$$\begin{aligned} \hat{\eta }(t)=\hat{\eta }_1(t)+\eta _2 (t) \end{aligned}$$
(60)

with \(\hat{\eta }_1(t) \in \mathbb {R}^{5 \times 5}\) obtained using the update rule by Eq. (58), and \(\eta _2 (t)=\mathsf {diag}\left[ \varrho |\hat{\varepsilon }_1|,\ldots ,\varrho |\hat{\varepsilon }_5| \right] \), with \(\varrho >1 \in \mathbb {R}\), where the parameters \(\hat{\varepsilon }_i\) are obtained using the update rule in Eq. (57); \(\mathbf {K}=\mathsf {diag} \left[ K_1,\ldots ,K_5 \right] >0\), \(\mathbf {T}(\hat{s})\in \mathbb {R}^5\) and \(\mathbf {E}(\hat{\mathbf {s}}) \in \mathbb {R}^5\) are obtained using Eqs. (33) and (34), respectively.

Proof

in order to prove Theorem 1, let us consider the following candidate Lyapunov function (in the following development, for simplicity in notations, we will omit the independent variable t, and the dependent variables \(\mathbf {q}\) and \({\dot{\mathbf{q}}}\)):

$$\begin{aligned} V=V_1+V2 \end{aligned}$$
(61)

where

$$\begin{aligned} V_1=\frac{1}{2} \mathbf {s}^T \mathbf {M} \mathbf {s} +\frac{1}{2} \mathsf {tr}\left[ \tilde{\theta }^T \gamma \tilde{\theta } \right] \end{aligned}$$
(62)

with the error vector on the approximate weight \(\hat{\theta }\) given as

$$\begin{aligned} \tilde{\theta }=\hat{\theta }-\theta ^* \end{aligned}$$
(63)

where \(\theta ^* \in \mathbb {R}^{5 \cdot m \times 5}\) is the optimal weight vector, which is used here only for stability analysis purpose, and

$$\begin{aligned} V_2=\frac{1}{2} \mathsf {tr} \left[ \tilde{\eta }^T_1 \zeta _\eta \tilde{\eta }_1 \right] + \frac{1}{2} \tilde{\varepsilon }^T \zeta _\varepsilon \tilde{\varepsilon } \end{aligned}$$
(64)

with the error on the approximate matrix \(\hat{\eta }_1\) given by

$$\begin{aligned} \tilde{\eta }_1=\hat{\eta }_1-\eta _1 \end{aligned}$$
(65)

with \(\eta _1\) being a large value considered here only for analytical purpose, and

$$\begin{aligned} \tilde{\varepsilon }=\hat{\varepsilon }-\varepsilon (\mathbf {x}_e) \end{aligned}$$
(66)

is the error matrix on the approximate \(\hat{\varepsilon }\).

Let us find the first-order derivative of \(V_1\) and apply the identity given by Eq. (63) as follows:

$$\begin{aligned} \dot{V}_1&=\mathbf {s}^T \mathbf {M} {\dot{\mathbf{s}}}+\frac{1}{2} \mathbf {s}^T {\dot{\mathbf {M}}} \mathbf {s}+\mathsf {tr} \left[ \tilde{\theta }^T \gamma \dot{\tilde{\theta }} \right] \nonumber \\&=\mathbf {s}^T \mathbf {M} {\dot{\mathbf{s}}}+\frac{1}{2} \mathbf {s}^T \left( {\dot{\mathbf {M}}} -2 \mathbf {C}\right) \mathbf {s}+\mathsf {tr} \left[ \tilde{\theta }^T \gamma \dot{\hat{\theta }} \right] \nonumber \\&=\mathbf {s}^T \mathbf {M} {\dot{\mathbf{s}}}+\mathsf {tr} \left[ \tilde{\theta }^T \gamma \dot{\hat{\theta }} \right] \end{aligned}$$
(67)

Let us apply the control law given by Eq. (59) in Eq. (31) [where the identities Eqs. (36) and (56) are used] to obtain

$$\begin{aligned} \mathbf {M} {\dot{\mathbf{s}}}=-\left[ \tilde{\theta }^T \varphi (\mathbf {x_e}) - \varepsilon (\mathbf {x_e})\right] +\psi -\hat{\eta } \mathbf {T} ({\hat{\mathbf {s}}})-\mathbf {K} \mathbf {E} ({\hat{\mathbf {s}}}) \end{aligned}$$
(68)

Applying Eq. (68) in Eq. (67), we obtain

$$\begin{aligned} \dot{V}_1= & {} \mathbf {s}^T \lbrace -\left[ \tilde{\theta }^T \varphi (\mathbf {x_e}) - \varepsilon (\mathbf {x_e})\right] +\psi -\hat{\eta } \mathbf {T} ({\hat{\mathbf {s}}})\nonumber \\&-\,\mathbf {K} \mathbf {E} ({\hat{\mathbf {s}}}) \rbrace +\mathsf {tr} \left[ \tilde{\theta }^T \gamma \dot{\hat{\theta }} \right] \nonumber \\= & {} \mathsf {tr} \left[ \tilde{\theta }^T\left( \gamma \dot{\hat{\theta }}-\varphi (\mathbf {x_e})\mathbf {s}^T \right) \right] +\mathbf {s}^T \varepsilon (\mathbf {x_e}) + \mathbf {s}^T \psi \nonumber \\&-\, \mathbf {s}^T\hat{\eta }\mathbf {T}(\hat{\mathbf {s}})- \mathbf {s}^T \mathbf {K} \mathbf {E}(\hat{\mathbf {s}}) \end{aligned}$$
(69)

Applying the update law given by Eq. (54) in Eq. (69) yields

$$\begin{aligned} \dot{V}_1= & {} \mathsf {tr} \left[ \tilde{\theta }^T \varphi (\mathbf {x_e})\left( {\hat{\mathbf {s}}}^T-\mathbf {s}^T \right) \right] +\mathbf {s}^T \varepsilon (\mathbf {x_e}) + \mathbf {s}^T \psi \nonumber \\&-\, \mathbf {s}^T\hat{\eta }\mathbf {T}(\hat{\mathbf {s}}) - \mathbf {s}^T \mathbf {K} \mathbf {E}(\hat{\mathbf {s}}) \end{aligned}$$
(70)

Considering the convergence property of the employed high-gain state observer, i.e., the fact that \(\hat{s} \rightarrow s\), we have

$$\begin{aligned} \dot{V}_1=\mathbf {s}^T \varepsilon (\mathbf {x_e}) + \mathbf {s}^T \psi - \mathbf {s}^T\hat{\eta }\mathbf {T}(\hat{\mathbf {s}}) - \mathbf {s}^T \mathbf {K} \mathbf {E}(\hat{\mathbf {s}}) \end{aligned}$$
(71)

The first time derivative of Eq. (64) corresponds to

$$\begin{aligned} \dot{V}_2=\mathsf {tr} \left[ \tilde{\eta }_1^T \zeta _\eta \dot{\tilde{\eta }}_1 \right] +\tilde{\varepsilon }^T \zeta _\varepsilon \dot{\tilde{\varepsilon }} \end{aligned}$$
(72)

Using Eqs. (65), (66), (71), and (72), the first time derivative of the Lyapunov function given by Eq. (61) can be written as follows:

$$\begin{aligned} \dot{V}= & {} \mathbf {s}^T \left( \hat{\varepsilon }-\tilde{\varepsilon } \right) + \mathbf {s}^T \psi - \mathbf {s}^T\hat{\eta }\mathbf {T}(\hat{\mathbf {s}}) - \mathbf {s}^T \mathbf {K} \mathbf {E}(\hat{\mathbf {s}})\nonumber \\&+\, \mathsf {tr} \left[ \tilde{\eta }_1^T \zeta _\eta \dot{\hat{\eta }}_1 \right] +\tilde{\varepsilon }^T \zeta _\varepsilon \dot{\hat{\varepsilon }}\nonumber \\= & {} \tilde{\varepsilon }^T \left( \zeta _\varepsilon \dot{\hat{\varepsilon }}-\mathbf {s} \right) + \mathbf {s}^T \psi - \mathbf {s}^T\hat{\eta }\mathbf {T}(\hat{\mathbf {s}}) - \mathbf {s}^T \mathbf {K} \mathbf {E}(\hat{\mathbf {s}})\nonumber \\&+\, \mathsf {tr} \left[ \tilde{\eta }_1^T \zeta _\eta \dot{\hat{\eta }}_1 \right] +\mathbf {s}^T \hat{\varepsilon } \end{aligned}$$
(73)

Let us apply the update rule given by Eq. (57) in Eq. (73) to obtain

$$\begin{aligned} \dot{V}= & {} \tilde{\varepsilon }^T \left( {\hat{\mathbf {s}}}-\mathbf {s} \right) + \mathbf {s}^T \psi -{\mathbf {s}}^T{\hat{\eta }}\mathbf {T}({\hat{\mathbf {s}}}) - \mathbf {s}^T \mathbf {K}\mathbf {E}(\hat{\mathbf {s}})\nonumber \\&+\, \mathsf {tr} \left[ \tilde{\eta }_1^T \zeta _\eta \dot{\hat{\eta }}_1 \right] +\mathbf {s}^T \hat{\varepsilon } \end{aligned}$$
(74)

Considering the convergence property of the state observer, i.e., \(\hat{s} \rightarrow s\), we have

$$\begin{aligned} \dot{V}= \mathbf {s}^T \psi - \mathbf {s}^T\hat{\eta }\mathbf {T}(\hat{\mathbf {s}}) - \mathbf {s}^T \mathbf {K} \mathbf {E}(\hat{\mathbf {s}})+ \mathsf {tr} \left[ \tilde{\eta }_1^T \zeta _\eta \dot{\hat{\eta }}_1 \right] +\mathbf {s}^T \hat{\varepsilon } \end{aligned}$$
(75)

Considering the worst-case scenario caused by the disturbance \({\psi ({\dot{\mathbf {q}}},\mathbf {\tau })}\), the sliding variable \({\hat{\mathbf {s}}}\) may go away from the origin such that \(T_i (\hat{s}_i)=\frac{\mathsf {exp}(4{\hat{s}}_i)-1}{\mathsf {exp}(4{\hat{s}}_i)+1} \approx 1\). Therefore, Eq. (75) can be written as follows:

$$\begin{aligned} \dot{V}\approx & {} \mathbf {s}^T \psi - \mathbf {s}^T\hat{\eta }\mathbf {I}_5 - \mathbf {s}^T \mathbf {K} \mathbf {E}(\hat{\mathbf {s}})+ \mathsf {tr} \left[ \tilde{\eta }_1^T \zeta _\eta \dot{\hat{\eta }}_1 \right] +\mathbf {s}^T \hat{\varepsilon }\nonumber \\= & {} \mathbf {s}^T \psi - \mathbf {s}^T \left( \hat{\eta }_1 +\eta _2 \right) \mathbf {I}_5 - \sum \limits _{i=1}^5 K_i \frac{\hat{s}_i s_i}{\exp (\hat{s}_i)+1}\nonumber \\&+\, \mathsf {tr} \left[ \tilde{\eta }_1^T \zeta _\eta \dot{\hat{\eta }}_1 \right] +\mathbf {s}^T \hat{\varepsilon } -\mathbf {s}^T \eta _1 \mathbf {I}_5 + \mathbf {s}^T \eta _1 \mathbf {I}_5 \end{aligned}$$
(76)

Applying the identities Eqs. (60) and (65), and considering the convergence of the observer, i.e., \(s=\hat{s}\), Eq. (76) becomes as follows

$$\begin{aligned} \dot{V}= & {} \mathbf {s}^T \left( -\hat{\eta }_1 + \eta _1 \right) \mathbf {I}_5- \sum \limits _{i=1}^5 K_i \frac{s_i^2}{\exp (s_i)+1}\nonumber \\&+\,\mathbf {s}^T \psi + \mathsf {tr} \left[ \tilde{\eta }_1^T \zeta _\eta \dot{\hat{\eta }}_1 \right] +\mathbf {s}^T \hat{\varepsilon } -\mathbf {s}^T \eta _1 \mathbf {I}_5 -\mathbf {s}^T \eta _2 \mathbf {I}_5 \nonumber \\= & {} -\mathbf {s}^T \tilde{\eta }_1 \mathbf {I}_5- \sum \limits _{i=1}^5 K_i \frac{s_i^2}{\exp (s_i)+1}+\mathbf {s}^T \hat{\varepsilon }\nonumber \\&+\,\mathbf {s}^T \psi + \mathsf {tr} \left[ \tilde{\eta }_1^T \zeta _\eta \dot{\hat{\eta }}_1 \right] -\mathbf {s}^T \eta _1 \mathbf {I}_5 -\mathbf {s}^T \eta _2 \mathbf {I}_5 \nonumber \\= & {} \mathsf {tr}\left[ \hat{\eta }_1^T \left( \zeta _\eta \dot{\hat{\eta }}_1 -\mathbf {I}_5 \mathbf {s}^T \right) \right] - \sum \limits _{i=1}^5 K_i \frac{s_i^2}{\exp (s_i)+1}\nonumber \\&+\,\mathbf {s}^T \psi +\mathbf {s}^T \hat{\varepsilon } -\mathbf {s}^T \eta _1 \mathbf {I}_5 -\mathbf {s}^T \eta _2 \mathbf {I}_5 \end{aligned}$$
(77)

Let us apply the update rule given by Eq. (58) in Eq. (77) to obtain

$$\begin{aligned} \dot{V}=&\,\mathsf {tr}\left[ \hat{\eta }_1^T \left( {\hat{\mathbf {s}}}^*-\mathbf {s}^* \right) \right] - \sum \limits _{i=1}^5 K_i \frac{s_i^2}{\exp (s_i)+1}\nonumber \\&+\mathbf {s}^T \psi +\mathbf {s}^T \hat{\varepsilon } -\mathbf {s}^T \eta _1 \mathbf {I}_5 -\mathbf {s}^T \eta _2 \mathbf {I}_5 \end{aligned}$$
(78)

where \({\hat{\mathbf {s}}}^*=\mathsf {diag}\left[ \hat{s}_1,\ldots ,\hat{s}_5 \right] \) and \(\mathbf {s}^*=\mathsf {diag}\left[ s_1,\ldots ,\right. \left. s_5 \right] \). Considering the convergence property of the state observer, Eq. (78) becomes

$$\begin{aligned} \dot{V}= & {} - \sum \limits _{i=1}^5 K_i \frac{s_i^2}{\exp (s_i)+1}+\mathbf {s}^T \psi \nonumber \\&+\,\mathbf {s}^T \hat{\varepsilon } -\mathbf {s}^T \eta _1 \mathbf {I}_5 -\mathbf {s}^T \eta _2 \mathbf {I}_5 \nonumber \\\le & {} \, - \sum \limits _{i=1}^5 K_i \frac{s_i^2}{\exp (s_i)+1}+\Vert \mathbf {s}\Vert \left( \Vert \psi \Vert - \Vert \eta _1\Vert \right) \nonumber \\&+\,\Vert \mathbf {s}\Vert \left( \Vert \hat{\varepsilon }\Vert - \Vert \eta _2\Vert \right) \end{aligned}$$
(79)

Considering that \(\eta _2=\mathsf {diag}\left[ \varrho |\hat{\epsilon }_1|,\ldots ,\varrho |\hat{\epsilon }_5| \right] \) with \(\varrho \in \mathbb {R}^+\), we have \(\Vert \eta _2\Vert =\varrho \Vert \hat{\varepsilon }\Vert \). Applying this late equality in Eq. (79), we obtain

$$\begin{aligned} \dot{V} \le&- \sum \limits _{i=1}^5 K_i \frac{s_i^2}{\exp (s_i)+1}+\Vert \mathbf {s}\Vert \left( \Vert \psi \Vert - \Vert \eta _1\Vert \right) \nonumber \\&+\Vert \mathbf {s}\Vert \left( \frac{1}{\varrho } - 1 \right) \Vert \eta _2\Vert \end{aligned}$$
(80)

Knowing that \(\eta _1\) (which is not needed for the controller’s implementation but that is used for stability analysis purpose only) is such as \(\Vert \eta _1\Vert>>\Vert \psi \Vert \), and by selecting \(\varrho > 1\), with \(K_i \in \mathbb {R}^+\), we have \(\dot{V} \le 0\). This means that the closed-loop system is asymptotically stable regardless of the uncertain dynamics \(\mathbf {f}(\mathbf {q},\dot{\mathbf {q}})\), the disturbance torque, and the actuation fault (lumped disturbance \(\psi ({\dot{\mathbf{q}}},\tau )\)). According to the Barbalat’s lemma, \(\mathbf {s}\rightarrow 0\), and therefore \(\mathbf {e}\rightarrow 0\) as \(t \rightarrow \infty \). Hence, we conclude that the control objective is achieved with the proposed control law used with the proposed dynamic parameters and update rules. This ends the proof of Theorem 1. \(\square \)

Fig. 1
figure 1

Links’ positions \(q_1\), \(q_2\) and \(q_3\) for \(K_1=K_2=K_3=5\) (dashed line) and for \(K_1=K_2=K_3=2\) (dashdoted line) tracking the references \(q_{d1}\), \(q_{d2}\) and \(q_{d3}\) with the nonlinear fault-tolerant controller from [2] (see a, c, e), and with our nonlinear controller (see b, d, f)

Fig. 2
figure 2

Links’ positions \(q_4\) and \(q_5\) for \(K_4=K_5=5\) (dashed line) and for \(K_4=K_5=2\) (dashdoted line) tracking the references \(q_{d4}\) and \(q_{d5}\) with the nonlinear fault-tolerant controller from [2] (see a, c), and with our nonlinear controller (see b, d)

4 Simulation and discussion

In order to illustrate the efficiency of the proposed control algorithm for the 5-DOF upper-limb exoskeleton robot, in this section we present the results obtained when simulating the controlled system in MATLAB/SIMULINK. A benchmarking is performed by comparing these late results with those reported in [2].

For this simulation, the control objective is, as in [1] and [2], to force the links position vector \(\mathbf {q}\) to track the reference \(\mathbf {q}_d=\left[ q_{d,1},\ldots , q_{d,5} \right] ^T\) where \(q_{d,i}=5 \sin (t+i \pi /5)\) for \(1 \le i \le 5\).

For the high-gain state observer in Eq. (43) used to obtain an estimate state vector \(\hat{\mathbf {x}}\), the high-gain matrix \(\mathbf {L}=\mathsf {diag}\left[ L_1,\ldots ,L_5 \right] \) is selected with \(L_i^T=\begin{bmatrix} \frac{18}{\epsilon (t)}&\frac{9}{\epsilon (t)} \end{bmatrix}\) where \(\epsilon (t)\) is obtained using Eq. (44). For the FNN used for approximating the system dynamics \(\mathbf {f}(\mathbf {q},\dot{\mathbf {q}})\), we use seven fuzzy rules for each link. For simplicity in the design, we use the same membership function for each link, given by

$$\begin{aligned} \mu _{A_l^j}=\exp \left[ - \frac{\left( x_{ei,l} + 1.5 - (j-1)0.5\right) ^2}{10^2} \right] \end{aligned}$$
(81)

for \(\mathbf {x}_{ei}=\left[ \hat{q}_i,\dot{\hat{q}}_i \right] \), \(i=1,\ldots 5\), \(j=1,\ldots ,7\) and \(l=1,2\). The learning rate matrix for the FNN weight is selected as \(\gamma =\mathsf {diag} \left[ \gamma _1,\ldots ,\gamma _5 \right] \) where \(\gamma _i=1/15\) for \(1 \le i \le 5\). For the controller’s dynamic matrix parameter \(\hat{\varepsilon }(t)\), the learning rate matrix is selected as \(\zeta _\varepsilon =\mathsf {diag}\left[ \zeta _{\varepsilon ,1},\ldots , \zeta _{\varepsilon ,5}\right] \) with \(\zeta _{\varepsilon ,i}=0.02\) for \(1 \le i \le 5\). The learning rate matrix for the dynamic matrix \(\hat{\eta }_1(t)\) is selected as \(\zeta _\eta =\mathsf {diag} \begin{bmatrix} 0.05&0.05&0.2&0.5&4 \end{bmatrix}\). The sliding function uses a diagonal matrix \(\Gamma \in \mathbb {R}^5\) for which all diagonal elements are equal to 15; we select \(\varrho =2\) for the parameter \(\eta _2\).

Remark 2

It is worth mentioning here that the choice of all the aforementioned constant design parameters may affect the tracking performances in terms of settling time and tracking accuracy. Their values are tuned during a trial-and-error process for which the outcome is a set of parameters that lead to optimal tracking performances. Just for illustration, the effect of the values selected for the controller’s parameter \(\mathbf {K}=\mathbf {K}^T\in \mathbb {R}^{5 \times 5}\) on the tracking performances can be observed by comparing results obtained for \(K_i=5\) and for \(K_i=2\) with \(1 \le i \le 5\) (see dashed and dashdoted lines, respectively, on the right-hand side of Figs. 1, 2).

As in [2], for checking the performance of the control system when a torque disturbance and an actuation fault occur, we consider that at the time \(t=4s\), a disturbance torque \(\tau _d=[\tau _{d1},\ldots ,\tau _{d5}]\) with \(\tau _{di}=0.5\) N m and a fault \(\tau _a=1.2\tau \) occur.

Figures 1 and 2 depict the 5-DOF upper-limb exoskeleton robot links positions \(q_1,\ldots ,q_5\) tracking their references \(q_{d1},\ldots ,q_{d5}\) when the FNN and observer-based nonlinear controller in Eq. (59) are used, and as reported in [2] where a fault-tolerant adaptive nonlinear controller was proposed for the same robotic system.

The plots on the left-hand-side of these figures represent the results reported in [2] while the ones on the right-hand-side are those obtained with the control law in Eq. (59). One can notice that the use of the control law in Eq. (59) leads to shorter settling time with fewer oscillations during the transient phase and better tracking accuracy. Information on the obtained approximate values of the minimum and maximum settling times on the five links with the two controllers can be found in Table 2.

Table 2 Some performance specifications on the five links with the controller Eq. (59) and the fault-tolerant adaptive nonlinear controller from [2]
Fig. 3
figure 3

Actual velocity \(\dot{q}_2\) (dashed line) with its estimated value \(\dot{\hat{q}}_2\) for the 2nd link

Fig. 4
figure 4

Five links actuation torques \(\tau _1,\ldots ,\tau _5\) obtained: a with nonlinear fault-tolerant controller from [2]; b with the control approach proposed in this paper

Let us remind that only the robot’s position information \(\mathbf {q}\) is available and that the controller uses the approximated position \({\hat{\mathbf {q}}}\) and velocity \({\dot{\hat{\mathbf {q}}}}\) vectors. The good convergence ability of the employed high-gain observer is illustrated in Fig. 3 where the approximate velocity (continuous plot) for the robot’s second link is represented along with its corresponding actual velocity (dashed plot).

Another important fact worth to be mentioned here is that the actuation effort needed to achieve the performance reported in [2] is away bigger than the one needed to achieve the improved performances obtained using the control law in Eq. (59). The control torques for the fives links obtained when the control law in Eq. (59) is applied, and the ones reported in [2] are portrayed in Fig. 4.

Table 2 provides an insight into the advantage of using the controller given by Eq. (59) by pointing out the fact that, with the control law reported in [2], considering each link individually, the maximum control effort in steady state is about 25 times bigger than when Eq. (59) is used for controlling the exoskeleton robot with unknowns dynamics, a disturbance torque and an actuation fault.

5 Conclusion

This paper has studied the design of a controller for a 5-DOF upper-limb exoskeleton robot used for passive rehabilitation therapy. The study has addressed challenges related to practical utilization of the robot such as uncertain nonlinear dynamics, unavailable full-state measurement, occurrence of disturbance torque, and actuation faults of different types. For tackling these challenges, an adaptive nonlinear control scheme, which is a new reaching law-based sliding mode control strategy, has been proposed. A high-gain state observer and a FNN have been used in the scheme for state vector and nonlinear dynamics estimation, respectively. Some dynamic parameters have been used in the scheme for efficiently and simultaneously tackling the effects of FNN approximation error, disturbance torque, and actuation faults. Simulation results have proved that fewer oscillations during transient phase, faster response, good tracking accuracy, and chattering-free control torques with lower amplitudes are obtained when the proposed scheme is employed. Future research will focus on extending the study presented in this work to propose an approach for the design of efficient observer-based adaptive fault-tolerant controllers for uncertain MIMO strict-feedback nonlinear systems with unknown control directions and constrained inputs.