1 Introduction

Electro-hydraulic servo systems are commonly used in precise tracking control applications due to their high-power density and high response, and capability to generate large force/torque [1,2,3]. Nevertheless, during the operation process, some adverse factors significantly reduce the tracking performance of the EHSS. These factors comprise of parametric uncertainties (i.e., the unknown friction, leakage coefficients, unmodeled dynamics) and time-varying disturbance (i.e., external load) [4, 5]. Importantly, unexpected malfunctions in sensors, i.e., position, velocity, and pressure sensor, maybe happen that result in the unstable systems and even lead to catastrophic accidents [6, 7]. Therefore, developing a robust FTC scheme to overcome the disadvantages of lumped disturbances/uncertainties and sensor faults and ensure stability, safety, and reliability has received massive attention from scholars.

Recently, to deal with disturbances/uncertainties, an effective control technique was utilizing different robust strategies, but it was not suitable with the increase in the uncertainty nonlinearities [8, 9]. Another approach, called an observer-based nonlinear controller, was developed to cope with the disturbances and uncertainties of the EHSS. The core idea of this approach is to create an observer to approximate the different disturbances in the system and then mitigate their effect through a control design procedure. Various disturbance observers were induced, such as adaptive disturbance observer [10], high-gain disturbance observer [11], time delay estimation [12], ESO [13,14,15], and so on. Typically, the well-known ESO exhibited the online estimation of the lumped disturbances, and only one parameter needs to be regulated without too much system information. Owing to these benefits, ESO was widely used as an efficient tool for disturbance compensation. However, the disturbance attenuation problem for the EHSS affected by sensor faults has not been investigated. Then, an FDEI and FTC should be designed to retain the stabilization performance and system safety.

The fault diagnosis is a powerful component of designing an FTC for any system which includes fault detection (FD), fault estimation (FE), and fault isolation (FI) [16]. FD and FE point to the appearance of the fault, and the characteristic of the fault, while FI determines the location of the fault. Dependent on the obtained information about the fault, the damages caused by the fault can be eliminated. Several fault diagnosis algorithms using state observers have been explored by different researchers in the literature [17]. In [18, 19], the authors suggested a sensor fault detection method based on one Luenberger observer and two higher-order sliding mode observers for a permanent magnet synchronous motor. In [20], the intelligent observer-based fault diagnosis, i.e., an adaptive fuzzy observer, was explored to obtain a simultaneous estimation of internal system state and sensor fault by applying the H optimization approach. However, the impacts of the lumped disturbances were not mentioned in these works. Especially, NUIO is an excellent way to accurately estimate and distinguish disturbances and faults developed based on the linear matrix inequality (LMI) method. In EHSS applications, Du et al. given fault diagnosis using NUIO for position sensor fault while the other sensors were not considered [21]. Reference [22] investigated an UIO-integrated extended finite impulse response to solve multi-sensor fault but the matched, unmatched disturbance were also neglected. In [23], a linearized model-based FDI scheme for the EHSS, which integrated multiple NUIOs, was investigated. However, this study did not cover the tracking control problem, and the scheme's robustness in the face of disturbances was not validated. Thus, tackling the influences of simultaneous lumped disturbance, uncertainty, and multi-sensor faults for the EHSS to obtain an effective fault diagnosis and better tracking performance motives this paper.

Consequently, the design of the FTC scheme has been put forward for suppressing the unfavorable effects of the disturbances and sensor faults for the EHSS. Different control methods have been introduced to obtain high precision tracking control under sensor fault conditions [24,25,26,27,28]. Among them, the backstepping control technique is exploited in designing position tracking control problem for the EHSSs. This approach supplies a systematic framework to effectively enhance the tracking control influence. The authors of [25, 28] designed an observer-based full state feedback backstepping method to deal with mismatched disturbance and displacement sensor fault for the typical applications of hydraulic systems. Nevertheless, it is worth noting that the standard backstepping control has inherent computational complexity because of the numerical differentiation. The DSC was first proposed by [29] to overcome this obstacle by giving the first-order filter to backstepping design. Many studies applied the DSC technique to ensure fast convergence of the EHSS [30,31,32,33]. However, most of the previous works use the DSC method for the applications of EHSS in fault-free operating conditions. Therefore, how to solve the problem of complexity explosion in backstepping controller design procedure and simultaneously preserve the excellent tracking performance in the presence of multiple sensor faults, the lumped disturbance is still a challenging and important problem for the EHSSs.

Motivated by the above discussion, this article provides the advanced FTC method for the EHSS to solve adverse problems, including sensor faults and matched and unmatched disturbances. Compared with previous works, the main contributions of this paper are presented as follows:

  1. (i)

    Compared with only position sensor fault analyzed in [21, 24, 25]. In this paper, three sensor faults are simultaneously occurred, then fault observers are constructed to simultaneously estimate the sensor faults (i.e., position, velocity, and load pressure sensor fault) under the influences of the lumped disturbance. The NUIO-based FDEI is accommodated to detect and isolate the sensor faults in real-time successfully even if three faults simultaneously occur.

  2. (ii)

    A dynamic surface control-based FTC with NUIO, ESO is elaborated for the EHSS suffering from multiple sensor faults, the matched, unmatched disturbance to obtain better performance and system stability.

  3. (iii)

    To verify the outstanding of the proposed FTC scheme, different simulation trials are achieved under the disturbances and sensor fault conditions. Furthermore, the stability analysis is carried out, which exhibits that the suggested controller can ensure the uniformly ultimately bounded tracking errors and system states.

The architecture of this paper is arranged as follows. Section 2 derives the problem statements, including system description of the EHSS, and some required assumptions. In Sect. 3, the proposed NUIO on the basis of LMI approach is presented. Sections 4 presents the ESOs and the DSC-based FTC design. Simulation studies on the proposed algorithm are shown in Sect. 5. Finally, the conclusions are discussed, and future works are put forward in Sect. 6.

2 Problem statement

The block diagram of the symmetric EHSS is illustrated in Fig. 1, which mainly consists of a swing motor, a double-rod cylinder, a servo valve, and inertial load. From Fig. 1, three sensor faults of hydraulic driven actuator are considered: (1) position sensor fault (fs1); (2) velocity sensor fault (fs2); and (3) load pressure sensor fault (fs3).

Fig. 1
figure 1

Schematic diagram of EHSS with sensor faults

The dynamic equation showing the movement of the hydraulic actuator is expressed by

$$ m\ddot{x}_{p} = P_{L} A - B\dot{x}_{p} + F_{{{\text{ex}}}} + F_{{{\text{fr}}}} , $$
(1)

where xp, m, and B denote, in turn, the piston’s displacement, mass of the moving part, and viscous damping factor; PL = Pa − Pb defines the difference of pressure, Pa, Pb is the port a, b pressure value, respectively; A denotes the effective area of the piston; \(F_{{{\text{ex}}}} ,F_{{{\text{fr}}}}\) are the external force, friction force.

We suppose that the relationship between the voltage input signal and the spool displacement of the servo valve is directly proportional. The equation describing the load flow rate QL with respect to the control signal u can be expressed as follows:

$$ Q_{{\text{L}}} = k_{t} u\sqrt {P_{{\text{s}}} - {\text{sign}}\left( u \right)P_{L} } , $$
(2)

where kt represents a proportional gain of the servo-valve, Ps defines the supply pressure.

By applying the flow continuity equation, the governing nonlinear equation describing the fluid dynamic equation of the cylinder is formulated by [34, 35]

$$ \dot{P}_{L} = - \frac{{4A\beta_{e} }}{{V_{{\text{c}}} }}\dot{x}_{p} - \frac{{4\beta_{e} C_{{{\text{in}}}} }}{{V_{{\text{c}}} }}P_{L} + \frac{{4\beta_{e} }}{{V_{{\text{c}}} }}\left( {Q_{{\text{L}}} + Q_{t} } \right), $$
(3)

where βe, A are the Bulk modulus, a piston effective area, and Cin is the nominal internal leakage coefficient. Vc is a fixed control volume of the cylinder; Qt denotes the time-varying uncertain flow of the cylinder.

The parameter uncertainties Δ1 and Δ2 can be defined as follows [36]:

$$ \Delta_{1} = - \Delta b_{m} \dot{x}_{p} ,\Delta_{2} = - \Delta p_{b} x_{2} - \Delta p_{c} x_{3} , $$
(4)

where Δbm, Δpb, and Δpc, in turn, represent the uncertainties of B/m, pb = 4βeA/Vc, pc = 4βeCin/Vc.

Defines \({\mathbf{x}} = [x_{1} ,x_{2} ,x_{3} ]^{T} \triangleq [x_{p} ,\dot{x}_{p} ,P_{L} ]^{T}\). From (1)–(4) the system modeled with system uncertainties, Δ1 and Δ2, can be expressed by:

$$ \begin{aligned} & \begin{array}{*{20}l} {{\text{Mechanical}}} \hfill \\ {{\text{subsystem}}} \hfill \\ \end{array} \;\left\{ {\begin{array}{*{20}l} {\dot{x}_{1} = x_{2} ,} \hfill \\ {\dot{x}_{2} = \phi_{2} \left( {x_{2} } \right) + w_{a} x_{3} + \varphi_{1} \left( {x_{1} ,x_{2} ,t} \right),} \hfill \\ \end{array} } \right. \\ & \begin{array}{*{20}c} {{\text{Hydraulic}}} \\ {{\text{subsystem}}} \\ \end{array} \;\left\{ {\dot{x}_{3} = \phi_{3} \left( {x_{2} ,x_{3} } \right) + w_{b} \left( {x_{3} ,u} \right)u + \varphi_{2} \left( {x_{2} ,x_{3} ,t} \right)} \right., \\ \end{aligned} $$
(5)

where

$$ \begin{aligned} & w_{a} = \frac{A}{m},\phi_{2} = - \frac{B}{m}x_{2} ,w_{b} = \frac{{4\beta_{e} k_{t} }}{{V_{{\text{c}}} }}\sqrt {P_{{\text{s}}} - x_{3} {\text{sign}}\left( u \right)} , \\ & \phi_{3} = - p_{c} x_{3} - p_{b} x_{2} . \\ \end{aligned} $$

\(\varphi_{1} = \frac{{F_{{{\text{ex}}}} + F_{{{\text{fr}}}} }}{m} + \Delta_{1} ,\varphi_{2} = \frac{{4\beta_{e} }}{{V_{{\text{c}}} }}Q_{t} + \Delta_{2} ,\) denote the unmatched, matched disturbances, respectively.

In the case of sensor faults, the practical measured system state can be established as \(x_{p}^{F} = x_{p} + f_{s1} ,\dot{x}_{p}^{F} = \dot{x}_{p} + f_{s2} ,\)\(P_{L}^{F} = P_{L} + f_{s3} .\) Hence, the sensor fault dynamics is formulated by [25]

$$ \left\{ {\begin{array}{*{20}l} {{\dot{\mathbf{f}}}_{{\text{s}}} = {\mathbf{d}}_{{\text{s}}} {\mathbf{f}}_{{\text{s}}} + {{\varvec{\uptheta}}}_{{\text{s}}} ,} \hfill \\ {{\mathbf{y}} = {\mathbf{Cx}} + {\mathbf{D}}_{{\mathbf{s}}} {\mathbf{f}}_{{\text{s}}} ,} \hfill \\ \end{array} } \right. $$
(6)

where fs = [fs1 fs2 fs3]T denotes the concerned sensor fault, i.e., position sensor fault and load pressure sensor fault, ds = [ds1 0 0; 0 ds2 0;0 0 ds3], dsi is a scalar that describes the evolution of the ith sensor fault, θs = [θs1 θs2 θs3]T is an unknown input signal, C = I3 is output matrix, I3 ∈ ℜ3×3 is a unit matrix ∈ ℜ3×3 is,\({\mathbf{D}}_{{\text{s}}} = \left[ {\begin{array}{*{20}c} {{\mathbf{d}}_{1} } & {{\mathbf{d}}_{2} } & {{\mathbf{d}}_{3} } \\ \end{array} } \right]\), d1 = [1 0 0]T, d2 = [0 1 0]T, d3 = [0 0 1]T, denotes a standard vector. Based on (5), (6), the augmented system including sensor fault can be rewritten as follows:

$$ \left\{ {\begin{array}{*{20}l} {{\dot{\mathbf{\xi }}}_{i} = {\mathbf{g}}_{i} \left( {{{\varvec{\upxi}}}_{i} ,u} \right) + {\mathbf{E}}_{i} {{\varvec{\upchi}}}_{i} ,} \hfill \\ {{\mathbf{y}}_{i} = {\mathbf{S}}_{i} {{\varvec{\upxi}}}_{i} ,} \hfill \\ \end{array} } \right. $$
(7)

where \({{\varvec{\upxi}}}_{i} = \left[ {{\mathbf{x}},f_{si} } \right]^{{\text{T}}}\) is an augmented state vector, Ei represents the known fault distribution matrix, Si = [C di]T, \({\mathbf{g}}_{i} = [x_{2} ,w_{a} x_{3} + \phi_{2} ,w_{b} u + \phi_{3} ,d_{si} f_{si} ]^{{\text{T}}} ,{{\varvec{\upchi}}}_{i} = \left[ {\varphi_{1} ,\varphi_{2} ,\theta_{si} } \right]^{{\text{T}}} .\)

Assumption 1

  1. (a)

    The desired signal x1d and its derivative \(\dot{x}_{1d}\) are bounded e.g., \(\left\| {\dot{x}_{d} } \right\| \le \rho_{1}\); Pa, Pb, and |PL| are smaller than Ps

  2. (b)

    All system states of x are measurable.

  3. (c)

    There exist upper bounds for the matched (φ1), unmatched disturbance (φ2) and their derivatives \(\dot{\varphi }_{1} ,\dot{\varphi }_{2}\) such that they satisfy \(\left| {\varphi_{i} } \right| \le d_{im} ,\left| {\dot{\varphi }_{i} } \right| \le \Xi_{i} ;i = 1,2\), in which dim, Ξi, are positive constants.

  4. (d)

    The sensor faults can simultaneously appear at the position, velocity, or load pressure sensor at the same time.

Assumption 2

For the nonlinear function g(ξ), \({\hat{\mathbf{\xi }}}\) is the estimated state vector, there exist a Lipschitz constant σ such that.

$$ \left| {{\mathbf{g}}\left( {{\varvec{\upxi}}} \right) - {\mathbf{g}}\left( {{\hat{\mathbf{\xi }}}} \right)} \right| \le \sigma \left| {{{\varvec{\upxi}}} - {\hat{\mathbf{\xi }}}} \right|. $$
(8)

Lemma 1

([37]) For a time-varying positive function Lf(t) ≥ 0, ∀t ∈ [0, ∞] and Lf(0) bounded. If the following inequality holds.

$$ \dot{L}_{f} \le - aL_{f} + b, $$
(9)

where a and b are two positive constants, then it can be concluded that Lf(t) is bounded.

Remark 1

Note of the Assumption 1a, c: These are common assumptions that has been conducted in literature, for instance [1, 4, 12] to facilitate verifying the system stability. Note of the Assumption 1b is necessary to satisfy the conditions during the designing process of the presented NUIO. Note of the Assumption 1d: This assumption ensures that the fault problem is close to the practical and is verified by simulation results.

Remark 2

The first objective is to design three NUIO observers for estimating the position, velocity, load pressure sensor fault, and then the FDEI is given. The second objective of this study is to organize an appropriate u that drives the output x1 of the EHSS (5) to track the desired trajectory x1d in spite of the lumped disturbances and sensor faults.

Remark 3

It should be noted that sensor faults can be divided into three situations: bias fault (i.e., offsets, poor calibration, scaling errors), partial loss of effectiveness sensor fault, and the outage case [6, 17, 34]. In this paper, a bias sensor fault case model formulated by (6) is used. The latter two faults will be studied in our future works.

3 NUIO-based fault identification for EHSS

The architecture of proposed control approach is described in Fig. 2, which comprises of three main parts: three NUIOs (sensor faults and states estimation), two ESOs, and DSC control approach. In this section, the procedure of three NUIOs design is described, while the remain parts are presented in the next section. It is noted that the sensor faults may simultaneously at a time in this study. By considering the matched, unmatched disturbances, unknown input signal as the unknown input terms, three NUIOs are designed to approximate the internal system states and position, velocity or load pressure sensor fault, respectively. Then, the sensor faults are detected when the estimated value is bigger than a predefined threshold. In addition, the location of the faults is determined through the three NUIOs. When the sensor faults were identified and detected, only the position sensor fault information is used to fed to the integrated controller. Other sensor faults, i.e., velocity, load pressure sensor fault, are detected for the alarm proposal.

Fig. 2
figure 2

Schematic view of the proposed control scheme

The procedure design observer process is built based on the separate sensor fault warrants the independent operation of the designed fault observer. Without loss of generality, a typical observer is constructed to provide a unified approach, other observers will be similarly designed. For the sake of simplicity, ξ, g, φ, E, y, S denote ξi, gi, φi, Ei, yi, Si, respectively.

Considering the NUIO for a fault estimation process:

$$ \begin{aligned} & {\dot{\mathbf{\psi}}} = \mathbf{H}\hat{\mathbf{g}} + {\mathbf{K}}\left( {{\mathbf{y}} - {\mathbf{S}\hat{\mathbf{\xi }}}} \right), \\ & {\hat{\mathbf{\xi }}} = {\mathbf{\psi }} + {\mathbf{Ry}}, \\ \end{aligned}$$
(10)

where \({\hat{\mathbf{g} = g}}\left( {{\hat{\mathbf{\xi }}},u} \right)\), R ∈ 4x3, H = I − RS, I ∈ 4x4 is a unit matrix, K ∈ 4x3 are the gain matrices to be designed.

Defining estimation error \({\tilde{\mathbf{\xi } = \xi }} - {\hat{\mathbf{\xi }}}\), and using (7), one has

$$ \begin{aligned} {\tilde{\mathbf{\xi }}} & {\mathbf{ = \xi }} - {{\varvec{\uppsi}}} - {\mathbf{RS\xi }} \\ & {\mathbf{ = }}\left( {{\mathbf{I}} - {\mathbf{RS}}} \right){{\varvec{\upxi}}} - {{\varvec{\uppsi}}}. \\ \end{aligned} $$
(11)

From (7), (10), (11), the derivative of \({\tilde{\mathbf{\xi }}}\) is given by

$$ {\mathbf{\dot{\xi } = }}\left( {{\mathbf{I}} - {\mathbf{RS}}} \right)\left( {{\mathbf{g}} - {\hat{\mathbf{g}}}} \right) + \left( {{\mathbf{I}} - {\mathbf{RS}}} \right){\mathbf{E\varphi }} - {\mathbf{KS\tilde{\xi }}}. $$
(12)

If one can make the following relationship holds:

$$ \left( {{\mathbf{I}} - {\mathbf{RS}}} \right){\mathbf{E = 0}}. $$
(13)

Hence, the unknown input vector φ has been decoupled. The state estimation error dynamics (12) simplify to

$$ {\mathbf{\dot{\xi } = H}}\left( {{\mathbf{g}} - {\hat{\mathbf{g}}}} \right) - {\mathbf{KS\tilde{\xi }}}. $$
(14)

The solution of (13) relies on the rank of matrix SE. If the condition rank (SE) = rank (E) is satisfied, R exists. Therefore, the robust NUIO (10) for the EHSS (7) can be designed, and a special solution of (13) is derived by

$$ {\mathbf{R = R}}_{{\mathbf{1}}} + {\mathbf{YR}}_{{\mathbf{2}}} , $$
(15)

where

$$ \begin{aligned} {\mathbf{R}}_{1} & {\mathbf{ = E}}\left[ {\left( {{\mathbf{SE}}} \right)^{{\mathbf{T}}} \left( {{\mathbf{SE}}} \right)} \right]^{{ - {\mathbf{1}}}} \left( {{\mathbf{SE}}} \right)^{{\mathbf{T}}} {\mathbf{,}} \\ {\mathbf{R}}_{2} & {\mathbf{ = I}}_{3} - {\mathbf{SE}}\left[ {\left( {{\mathbf{SE}}} \right)^{{\mathbf{T}}} \left( {{\mathbf{SE}}} \right)} \right]^{{ - {\mathbf{1}}}} \left( {{\mathbf{SE}}} \right)^{{\mathbf{T}}} , \\ \end{aligned} $$
(16)

and Y is a gain matrix to be designed.

Theorem 1

If there exist a positive definite symmetric matrix P ∈ 4x4, and two matrices Y, K that satisfy the following inequality.

$$ - \left( {{\mathbf{PKS}} + \left( {{\mathbf{KS}}} \right)^{{\text{T}}} {\mathbf{P}} - \sigma {\mathbf{PHH}}^{{\text{T}}} {\mathbf{P}} - \sigma {\mathbf{I}}} \right) < 0, $$
(17)

then (10) is the NUIO for sensor fault estimation of (7), and \({\tilde{\mathbf{\xi }}} \to 0\) in a certain time.

Proof

Consider the Lyapunov function candidate Vuio.

$$ V_{{{\text{uio}}}} = {\tilde{\mathbf{\xi }}}^{{\mathbf{T}}} {\mathbf{P\xi }}. $$
(18)

Using (8), (14), the derivative of Vuio can be given by

$$ \begin{aligned} \dot{V}_{{{\text{uio}}}} & = - {\tilde{\mathbf{\xi }}}^{{\text{T}}} ({\mathbf{PKS}} + ({\mathbf{KS}})^{{\text{T}}} {\mathbf{P}}){\tilde{\mathbf{\xi }}} + 2{\tilde{\mathbf{\xi }}}^{{\text{T}}} {\mathbf{PH}}\left( {{\mathbf{g}} - {\hat{\mathbf{g}}}} \right) \\ & \le - {\tilde{\mathbf{\xi }}}^{{\text{T}}} ({\mathbf{PKS}} + ({\mathbf{KS}})^{{\text{T}}} {\mathbf{P}}){\tilde{\mathbf{\xi }}} + 2\sigma \left\| {{\mathbf{\tilde{\xi }PH}}} \right\|\left\| {{\tilde{\mathbf{\xi }}}} \right\| \\ & \le - {\tilde{\mathbf{\xi }}}^{{\text{T}}} ({\mathbf{PKS}} + ({\mathbf{KS}})^{{\text{T}}} {\mathbf{P}}){\tilde{\mathbf{\xi }}} + \sigma \left( {\left\| {{\mathbf{\tilde{\xi }PH}}} \right\|^{2} + \left\| {{\tilde{\mathbf{\xi }}}} \right\|^{2} } \right) \\ & = - {\tilde{\mathbf{\xi }}}^{{\text{T}}} \left( {{\mathbf{PKS}} + ({\mathbf{KS}})^{{\text{T}}} {\mathbf{P}} - \sigma {\mathbf{PHH}}^{{\mathbf{T}}} {\mathbf{P}} - \sigma {\mathbf{I}}} \right){\tilde{\mathbf{\xi }}} \\ & = - {\tilde{\mathbf{\xi }}}^{{\mathbf{T}}} {\mathbf{\Pi \tilde{\xi }}}. \\ \end{aligned} $$
(19)

Since Π > 0 in terms of (17), one has Vuio < 0, which shows \({\tilde{\mathbf{\xi }}}\) tends to zero asymptotically, i.e., \({\tilde{\mathbf{\xi }}}_{{\mathbf{i}}} \le \varsigma_{im}\) with ςim is a small positive constant. The Theorem 1 is proven.

Procedure 1 On the premise of Theorem 1, the design procedure of the NUIO for sensor fault estimation can be summarized as follow:

  1. (1)

    Determine R1, R2 according to formulas (16)

  2. (2)

    Solve the LMI (17) to achieve the matrices P, Y, K.

  3. (3)

    Compute the other observer gain matrices R, H.

Remark 4

The NUIO in (10) is built for a sensor fault that depends on the structure of the vector Di. In this work, the three NUIOs are independently constructed to identify and detect the sensor fault. Among these observers, the NUIO 1 is used for the position sensor fault that will feed the state estimation to the control law. Meanwhile, the NUIO 2 and NUIO 3 are utilized for the detection, and alarming proposes the velocity and load pressure sensor fault.

Remark 5

The control error is generated by subtracting displacement output with desired signal, and it is reconstructed under the position sensor fault. Because the aim is to perform a position tracking control task, the control errors of other sensor faults are not considered within the scope of this paper. In detail, the estimation value is compared with a threshold, once the ith sensor becomes faulty, the control error will be calculated as e1r = x1r − x1d. x1r denotes the output value of the reconfiguration mechanism which is given by.

$$ x_{1r} = \left\{ {\begin{array}{*{20}l} {y_{1} } \hfill & {{\text{if}}\;\left| {f_{s1} } \right| \le \mu_{1} ,} \hfill \\ {\hat{y}_{1} } \hfill & {{\text{if}}\;\left| {f_{s1} } \right| > \mu_{1} ,} \hfill \\ \end{array} } \right. $$
(20)

where μ1 is a predefined threshold, xd1 is the desired signal. And the alarm of velocity and load pressure sensor is set when \(\left| {f_{si} } \right| > \mu_{i} ,i = 2,3\) with μi are threshold values.

4 Observer-based fault-tolerant tracking control

As abovementioned, to handle the influence of the multiple sensor faults and matched, unmatched disturbance for the tracking problem, the FTC controller based on DSC method, NUIOs, and ESOs is constructed. Since the position, velocity, and load pressure sensor fault occurs, the estimation values of the component sensor of NUIO 1–3 are implemented instead of the measurement value to eliminate the influences of the sensor failure. Meanwhile, the design obstacle of lumped disturbance is mitigated by ESOs which provide the real-time lumped disturbance compensation for the controller. The proposed FTC can be preserved the system stability and acceptable performance of the whole closed-loop system under the effect of the multiple sensor faults, disturbances. The procedure control design procedure is presented as the following.

4.1 ESO design

The disturbance compensation module is designed to improve the performance tracking control for EHSS. In this work, the ESOs are utilized to estimate both matched and unmatched disturbances in which the disturbance is extended as a new state. Then, the nonlinear system (7) with only position sensor fault can be reorganized as follows:

$$ \begin{aligned} & \left\{ {\begin{array}{*{20}l} {\dot{x}_{2} = \phi_{2} \left( {x_{2} } \right) + w_{a} x_{3} + \varphi_{1} ,} \hfill \\ {\dot{\varphi }_{1} = q_{1} ,} \hfill \\ \end{array} } \right. \\ & \left\{ {\begin{array}{*{20}l} {\dot{x}_{3} = \phi_{3} \left( {x_{2} ,x_{3} } \right) + w_{b} \left( {x_{3} ,u} \right)u + \varphi_{2} ,} \hfill \\ {\dot{\varphi }_{2} = q_{2} .} \hfill \\ \end{array} } \right. \\ \end{aligned} $$
(21)

Therefore, two ESOs [10, 38] can be elaborated as follows:

$$ \begin{aligned} & \left\{ {\begin{array}{*{20}l} {\dot{\hat{x}}_{2} = \phi_{2} \left( {x_{2} } \right) + w_{a} x_{3} + \hat{\varphi }_{1} + r_{1} \varepsilon_{1} \left( {x_{2} - \hat{x}_{2} } \right),} \hfill \\ {\dot{\hat{\varphi }}_{1} = r_{2} \varepsilon_{1}^{2} \left( {x_{2} - \hat{x}_{2} } \right),} \hfill \\ \end{array} } \right. \\ & \left\{ {\begin{array}{*{20}l} {\dot{\hat{x}}_{3} = \phi_{3} \left( {x_{2} ,x_{3} } \right) + w_{b} \left( {x_{3} ,u} \right)u + \hat{\varphi }_{2} + r_{3} \varepsilon_{2} \left( {x_{3} - \hat{x}_{3} } \right),} \hfill \\ {\dot{\hat{\varphi }}_{2} = r_{4} \varepsilon_{2}^{2} \left( {x_{3} - \hat{x}_{3} } \right),} \hfill \\ \end{array} } \right. \\ \end{aligned} $$
(22)

where \(\hat{\varphi }_{1} ,\hat{\varphi }_{2}\) denote the estimate of φ1, φ2; r1, r2, r3, r4, are positive constants;\(\varepsilon_{1} ,\varepsilon_{2}\) are the observer gain parameters which can be considered as the bandwidths of the ESOs.

The observer error dynamics are calculated by subtracting (21) to (22) and shown as

$$ \begin{aligned} & \left\{ {\begin{array}{*{20}l} {\dot{\tilde{x}}_{2} = - r_{1} \varepsilon_{1} \tilde{x}_{2} + \tilde{\varphi }_{1} ,} \hfill \\ {\dot{\tilde{\varphi }}_{1} = - r_{2} \varepsilon_{1}^{2} \tilde{x}_{2} + q_{1} ,} \hfill \\ \end{array} } \right. \leftrightarrow \left\{ {\begin{array}{*{20}l} {\dot{\tilde{x}}_{2} = - r_{1} \varepsilon_{1} \tilde{x}_{2} + \tilde{\varphi }_{1} ,} \hfill \\ {\frac{{\dot{\tilde{\varphi }}_{1} }}{{\varepsilon_{1} }} = - r_{2} \varepsilon_{1} \tilde{x}_{2} + \frac{{q_{1} }}{{\varepsilon_{1} }},} \hfill \\ \end{array} } \right. \\ & \left\{ {\begin{array}{*{20}l} {\dot{\tilde{x}}_{3} = - r_{3} \varepsilon_{2} \tilde{x}_{3} + \tilde{\varphi }_{2} ,} \hfill \\ {\dot{\tilde{\varphi }}_{2} = - r_{4} \varepsilon_{2}^{2} \tilde{x}_{3} + q_{2} ,} \hfill \\ \end{array} } \right. \leftrightarrow \left\{ {\begin{array}{*{20}l} {\dot{\tilde{x}}_{3} = - r_{3} \varepsilon_{2} \tilde{x}_{3} + \tilde{\varphi }_{2} ,} \hfill \\ {\frac{{\dot{\tilde{\varphi }}_{2} }}{{\varepsilon_{2} }} = - r_{4} \varepsilon_{2} \tilde{x}_{3} + \frac{{q_{2} }}{{\varepsilon_{2} }}.} \hfill \\ \end{array} } \right. \\ \end{aligned} $$
(23)

Define the disturbance error \(\varpi_{1} = \left[ {\begin{array}{*{20}c} {\tilde{x}_{2} } & {{\raise0.7ex\hbox{${\tilde{\varphi }_{1} }$} \!\mathord{\left/ {\vphantom {{\tilde{\varphi }_{1} } {\varepsilon_{1} }}}\right.\kern-0pt} \!\lower0.7ex\hbox{${\varepsilon_{1} }$}}} \\ \end{array} } \right]^{{\text{T}}}\), \(\varpi_{2} = \left[ {\begin{array}{*{20}c} {\tilde{x}_{3} } & {{\raise0.7ex\hbox{${\tilde{\varphi }_{2} }$} \!\mathord{\left/ {\vphantom {{\tilde{\varphi }_{2} } {\varepsilon_{2} }}}\right.\kern-0pt} \!\lower0.7ex\hbox{${\varepsilon_{2} }$}}} \\ \end{array} } \right]^{{\text{T}}}\). Take the derivative of \(\varpi_{1} ,\varpi_{2}\) as

$$ \dot{\varpi }_{i} = \varepsilon_{i} {\mathbf{A}}_{i} \varpi_{i} + {\mathbf{C}}_{i} \frac{{q_{i} }}{{\varepsilon_{i} }},i = 1,2 $$
(24)

where \({\mathbf{A}}_{1} = \left[ {\begin{array}{*{20}c} { - r_{1} } & 1 \\ { - r_{2} } & 0 \\ \end{array} } \right],{\mathbf{A}}_{2} = \left[ {\begin{array}{*{20}c} { - r_{3} } & 1 \\ { - r_{4} } & 0 \\ \end{array} } \right],{\mathbf{C}}_{1} = \left[ {\begin{array}{*{20}c} 0 \\ 1 \\ \end{array} } \right],{\mathbf{C}}_{2} = {\mathbf{C}}_{1} .\)

If Ai (i = 1, 2) is the Hurwitz matrix, a positive definite matrix Pi exists so that the following equality holds selected

$$ {\mathbf{A}}_{i}^{{\text{T}}} {\mathbf{P}}_{i} + {\mathbf{P}}_{i} {\mathbf{A}}_{i} = - {\mathbf{Q}}_{i} , $$
(25)

where Qi is the symmetric positive definite matrix.

Theorem 2

For the EHSS (5), with a set of big enough design parameters ε1, ε2 are selected, the ESO is constructed in (22) which can ensure the bounded estimation performance.

Proof

Lyapunov function candidate Vesoi is selected as.

$$ V_{{{\text{esoi}}}} = \varpi_{i}^{T} {\mathbf{P}}_{i} \varpi_{i} . $$
(26)

Using (25), Assumption 1c, the derivative of Vesoi is calculated as

$$ \begin{aligned} \dot{V}_{esoi} &= \dot{\varpi }_{i}^{{\text{T}}} {\mathbf{P}}_{i} \varpi_{i} + \varpi_{i}^{{\mathbf{T}}} {\mathbf{P}}_{i} \dot{\varpi }_{i} \hfill \\ &= \varepsilon_{i} \varpi_{i}^{{\text{T}}} \left( {{\mathbf{A}}_{i}^{{\text{T}}} {\mathbf{P}}_{i} + {\mathbf{P}}_{i} {\mathbf{A}}_{i} } \right)\varpi_{i} + 2\varpi_{i}^{{\text{T}}} {\mathbf{P}}_{i} {\mathbf{C}}_{i} \frac{{q_{i} }}{{\varepsilon_{i} }}. \hfill \\ \end{aligned} $$
(27)

Applying Young’s inequality, one obtains

$$ 2\varpi_{i}^{{\text{T}}} {\mathbf{P}}_{i} {\mathbf{C}}_{i} \frac{{q_{1} }}{{\varepsilon_{i} }} \le \varpi_{i}^{{\text{T}}} \varpi_{i} + \frac{{\Xi_{i}^{2} }}{{\varepsilon_{i}^{2} }}\left( {{\mathbf{P}}_{i} {\mathbf{C}}_{i} } \right)^{{\text{T}}} {\mathbf{P}}_{i} {\mathbf{C}}_{i} . $$
(28)

The derivative of Vesoi is rewritten as

$$ \dot{V}_{esoi} \le - \varpi_{i}^{{\text{T}}} \left( {\varepsilon_{i} {\mathbf{Q}}_{i} - {\mathbf{I}}} \right)\varpi_{i} + \frac{{\Xi_{i}^{2} }}{{\varepsilon_{i}^{2} }}\left( {{\mathbf{P}}_{i} {\mathbf{C}}_{i} } \right)^{T} {\mathbf{P}}_{i} {\mathbf{C}}_{i} . $$
(29)

Then (29) becomes

$$ \dot{V}_{{{\text{esoi}}}} \le - a_{i} V_{{{\text{esoi}}}} + \frac{1}{{\varepsilon_{i}^{2} }}b_{i} , $$
(30)

where

$$ \begin{aligned} a_{i} & = 2\lambda_{\min } \left( {\varepsilon_{i} {\mathbf{Q}}_{i} - {\mathbf{I}}} \right), \\ b_{i} & = \Xi_{1}^{2} \left( {{\mathbf{P}}_{i} {\mathbf{C}}_{i} } \right)^{T} {\mathbf{P}}_{i} {\mathbf{C}}_{i} . \\ \end{aligned} $$
(31)

From (17) and noting Lemma 1, the ESO errors for matched and unmatched disturbances are bounded by the compact sets as

$$ \left\| {\varpi_{i} } \right\| \le \sqrt {\frac{{b_{i} }}{{\varepsilon_{i}^{2} a_{i} }}} , $$
(32)

Theorem 2 is verified.

4.2 FTC design with ESOs and NUIO

Since the position sensor fault is successfully detected and identified by NUIO 1, the reconfiguration mechanism is performed by switching between estimation and measurement value. Meanwhile, the matched, unmatched disturbance are estimated by two ESOs. Both the obtained results of NUIO 1 and ESOs will feed to the DSC-based FTC controller that is presented as follows:

Step 1 Define tracking errors, we have

$$ \begin{aligned} & e_{1} = x_{1} - x_{1d} , \\ & \varsigma_{1} = x_{1} - x_{1r} , \\ & e_{i} = x_{i} - \alpha_{i - 1} ,\;i = 2,3 \\ \end{aligned} $$
(33)

where x1d is the reference signal, αi–1 represents the virtual controller, which need to be designed.

To eliminate the influences of ‘‘explosion of complexity’’ caused by the backstepping iteration and achieve the objective, we will deploy the DSC technique to perform the design task. Considering a first-order filter κ1, the command filter is elaborated as

$$ \tau_{1} \dot{\kappa }_{1} + \kappa_{1} = x_{1d} ,\,\,\kappa_{1} \left( 0 \right) = x_{1d} \left( 0 \right), $$
(34)

where τ1 is positive coefficient.

Defining the error compensation z1 = κ1 − x1d for the filter, its derivative is computed as:

$$ \dot{z}_{1} = \dot{\kappa }_{1} - \dot{x}_{1d} = - \tau_{1}^{ - 1} z_{1} - \dot{x}_{1d} . $$
(35)

The virtual control law α1 is constructed with noting Remark 3 and (33), one yields

$$ \alpha_{1} = \dot{\kappa }_{1} - \lambda_{1} e_{1r} = \dot{\kappa }_{1} - \lambda_{1} e_{1} + \lambda_{1} \varsigma_{1} , $$
(36)

where λ1 is a control gain and a positive constant.

Lyapunov function candidate V1 is chosen as

$$ V_{1} = \frac{1}{2}e_{1}^{2} + \frac{1}{2}z_{1}^{2} . $$
(37)

Differentiating (36) with respect to time, it follows that:

$$ \begin{aligned} \dot{V}_{1} & = e_{1} \left( {\dot{z}_{1} - \lambda_{1} e_{1} + \lambda_{1} \varsigma_{1} + e_{2} } \right) + z_{1} \left( { - \tau_{1}^{ - 1} z_{1} - \dot{x}_{1d} } \right) \\ & = - \lambda_{1} e_{1}^{2} + \lambda_{1} \varsigma_{1} e_{1} + e_{1} e_{2} + e_{1} \left( { - \tau_{1}^{ - 1} z_{1} - \dot{x}_{1d} } \right) + z_{1} \left( { - \tau_{1}^{ - 1} z_{1} - \dot{x}_{1d} } \right), \\ \end{aligned} $$
(38)

Using Young’s inequality, one yields

$$ \begin{aligned} & - e_{1} \tau_{1}^{ - 1} z_{1} \le \frac{1}{{2\tau_{1}^{2} }}e_{1}^{2} + \frac{1}{2}z_{1}^{2} , - e_{1} \dot{x}_{d} \le \frac{1}{2}e_{1}^{2} + \frac{1}{2}\left\| {\dot{x}_{1d} } \right\|^{2} , \\ & \varsigma_{1} e_{1} \le \frac{1}{2}\varsigma_{1m}^{2} + \frac{1}{2}e_{1}^{2} , - z_{1} \dot{x}_{d} \le \frac{1}{2}z_{1}^{2} + \frac{1}{2}\left\| {\dot{x}_{1d} } \right\|^{2} , \\ \end{aligned} $$
(39)

where ς1m is a positive constant.

The derivative of V1 reduces as

$$ \dot{V}_{1} \le - \left( {\frac{{\lambda_{1} }}{2} - \frac{{\tau_{1}^{ - 2} + 1}}{2}} \right)e_{1}^{2} + e_{1} e_{2} - \left( {\tau_{1}^{ - 1} - 1} \right)z_{1}^{2} + \frac{1}{2}\rho_{1}^{2} + \frac{{\lambda_{1} }}{2}\varsigma_{1m}^{2} . $$
(40)

Step 2 Then, a similar approach to step 1 is applied to derive the virtual controller α2. The command filter can be constructed as follows:

$$ \tau_{2} \dot{\kappa }_{2} + \kappa_{2} = \alpha_{1} ,\,\,\kappa_{2} \left( 0 \right) = \alpha_{1} \left( 0 \right),\,\tau_{2} > 0, $$
(41)

where τ2 is a positive scalar.

Denotes z2 = κ2 − α1 for command filter, the filter error dynamics is given by:

$$ \begin{aligned} \dot{z}_{2} & = \dot{\kappa }_{2} - \dot{\alpha }_{1} = - \tau_{2}^{ - 1} z_{2} + \left( {\frac{{\partial \alpha_{1} }}{{\partial e_{1} }}\dot{e}_{1} + \frac{{\partial \alpha_{1} }}{{\partial \kappa_{1} }}\dot{\kappa }_{1} } \right) \\ & = - \tau_{2}^{ - 1} z_{2} + \gamma_{1} , \\ \end{aligned} $$
(42)

where \(\gamma_{1} \left( {e_{1} ,\kappa_{1} } \right)\) represents a continuous function, and \(\left\| {\gamma_{1} \left( {e_{1} ,\kappa_{1} } \right)} \right\| \le \gamma_{1m}\).

The virtual control law α2 is constructed as

$$ \alpha_{2} = \frac{1}{{w_{a} }}\left( {\dot{\kappa }_{2} - \lambda_{2} e_{2} - e_{1} - \phi_{2} - \hat{\varphi }_{1} } \right),\,\,\lambda_{2} > 0, $$
(43)

where λ2 is a control gain and a positive constant.

Considering the Lyapunov function as follows:

$$ V_{2} = \frac{1}{2}e_{2}^{2} + \frac{1}{2}z_{2}^{2} . $$
(44)

and differentiating V2 with respect to time, we have:

$$ \begin{aligned} \dot{V}_{2} & = e_{2} \left( { - \tau_{2}^{ - 1} z_{2} + \gamma_{1} - \lambda_{2} e_{2} + e_{3} + \tilde{\varphi }_{1} - e_{1} } \right) \\ & \quad + z_{2} \left( { - \tau_{2}^{ - 1} z_{2} + \gamma_{1} } \right). \\ \end{aligned} $$
(45)

Applying Young’s inequality, one gets:

$$ \begin{aligned} & - e_{2} \tau_{2}^{ - 1} z_{2} \le \frac{1}{2}\tau_{2}^{ - 2} e_{2}^{2} + \frac{1}{2}z_{2}^{2} , \\ & e_{2} \gamma_{1} \le \frac{1}{2}e_{2}^{2} + \frac{1}{2}\gamma_{1m}^{2} , \\ & e_{2} \tilde{\varphi }_{1} \le \frac{1}{2}e_{2}^{2} + \frac{1}{2}\Xi_{1}^{2} . \\ \end{aligned} $$
(46)

From (43), (44), (45) can then be simplified to

$$ \begin{aligned} \dot{V}_{2} & \le - \left( {\lambda_{2} - \frac{{\tau_{2}^{ - 2} + 2}}{2}} \right)e_{2}^{2} + e_{2} e_{3} - \left( {\tau_{2}^{ - 1} - \frac{1}{2}} \right)z_{2}^{2} \\ & \quad - e_{1} e_{2} + \frac{1}{2}\gamma_{1m}^{2} + \frac{1}{2}\Xi_{1}^{2} . \\ \end{aligned} $$
(47)

Step 3 This step gives the final control input. The virtual controller α2 pass through a first-order filter κ3 as

$$ \tau_{3} \dot{\kappa }_{3} + \kappa_{3} = \alpha_{2} ,\,\,\kappa_{3} \left( 0 \right) = \alpha_{2} \left( 0 \right),\,\tau_{3} > 0. $$
(48)

Define z3 = κ3 − α2, one has

$$ \begin{aligned} \dot{z}_{3} & = \dot{\kappa }_{3} - \dot{\alpha }_{2} = - \tau_{3}^{ - 1} z_{3} + \left( {\frac{{\partial \alpha_{2} }}{{\partial e_{2} }}\dot{e}_{2} + \frac{{\partial \alpha_{2} }}{{\partial \kappa_{2} }}\dot{\kappa }_{2} } \right) \\ & = - \tau_{3}^{ - 1} z_{3} + \gamma_{2} . \\ \end{aligned} $$
(49)

where \(\gamma_{2} \left( {e_{2} ,\kappa_{2} } \right)\) represents a continuous function and satisfies \(\left\| {\gamma_{2} \left( {e_{2} ,\kappa_{2} } \right)} \right\| \le \gamma_{2m}\).

The input signal u can be designed by

$$ u = \frac{1}{{w_{b} }}\left( {\dot{\kappa }_{3} - \lambda_{3} e_{3} - \phi_{3} - e_{2} - \hat{\varphi }_{2} } \right),\,\,\lambda_{3} > 0. $$
(50)

The Lyapunov function be selected as follows:

$$ V_{3} = \frac{1}{2}e_{3}^{2} + \frac{1}{2}z_{3}^{2} . $$
(51)

The time derivative of V3 is achieved as follows:

$$ \begin{aligned} \dot{V}_{3} & = e_{3} \left( { - \tau_{3}^{ - 1} z_{3} + \gamma_{2} - \lambda_{3} e_{3} + \tilde{\varphi }_{2} - e_{2} } \right) + z_{3} \left( { - \tau_{3}^{ - 1} z_{3} + \gamma_{2} } \right) \\ & \le - \left( {\lambda_{2} - \frac{{\tau_{3}^{ - 2} + 2}}{2}} \right)e_{3}^{2} - e_{2} e_{3} - \left( {\tau_{3}^{ - 1} - \frac{1}{2}} \right)z_{3}^{2} + \frac{1}{2}\gamma_{2m}^{2} + \frac{1}{2}\Xi_{2}^{2} . \\ \end{aligned} $$
(52)

Theorem 3

For the EHSS dynamics reported by (7), with the designed NUIO in (10), if the ESOs are developed as (22), the control law carried out by (50). It can be revealed that all system states \(e_{i} ,z_{i}\) are uniformly ultimate boundedness in the presence of lumped disturbances, and faulty conditions.

Proof

See “Appendix”.

Remark 6

Different from the FTC strategy suggested in [12], the sensor malfunctions were not compensated. In this paper, since the multiple sensor faults are successfully estimated and detected by NUIO (10), the reconfiguration mechanism will be activated on the premise of sensor fault observation information. The sensor fault compensation can be performed by utilizing this approach.

Remark 7

In [21, 24, 25], authors are only interested to position sensor fault identification for EHSS. Whereas, in this study, the problem of multiple sensor faults detection, estimation, and isolation are discussed for EHSS with matched and unmatched disturbances. Moreover, the different sensor faults can simultaneously appear at the same time.

5 Simulation results

5.1 Simulation setup

Simulations were performed by MATLAB/Simulink to evaluate the position tracking performance of the proposed controller under the impact of sensor fault and lumped uncertainties. The displacement demand is sinusoidal signal, i.e., x1d = 10(1−cos(πt))(1−exp(−t)) (mm) and multistep reference tracking. Table 1 provides the actuator physical parameters.

Table 1 Parameters of the EHSS [12]

The controller parameters of the suggested controller, i.e., DSC technique-based FTC controller with two ESOs and NUIO, described in Sect. 3, are listed as: λ1 = 50; λ2 = 150; λ3 = 25; τ1 = τ2 = τ3 = 0.05. The ESO parameters are tuned as r1 = r3 = 2; r2 = r4 = 1; ε1 = 100; ε2 = 150. The predefined threshold value of position, velocity, and load pressure sensor are carefully set as μ1 =  ± 4 (mm), μ2 =  ± 30 (mm/s), μ3 =  ± 1.5 (bar), respectively. The NUIO parameters in (53) are determined by following the Procedure 1, shown as:

$$ \begin{aligned}& {\text{NUIO}}\;{\text{1}}:{\mathbf{H}} =\left[ \begin{array}{cccc}1&0&0&0\\0&1&0&0\\0&0&1&0\\-1&0&0&0\end{array}\right],\;{\mathbf{K}} = \left[\begin{array}{cccc}0&-0.005&0\\0&300&0\\0&0&260\\1.99& - 0.005&0 \end{array}\right],\quad {\mathbf{R}} = \left[ \begin{array}{cccc}0&0&0\\0& - 1&0\\0&0& -1\\1&0&0 \end{array}\right], \\& {\text{NUIO}}\;{\text{2}}:{\mathbf{H}}= \left[\begin{array}{cccc}1&0&0&0\\0&1&0&0\\0&0&1&0\\0& - 1&0&0\end{array}\right],\;{\mathbf{K}} = \left[ \begin{array}{cccc}300&0&0\\0&0& -0.005\\0&0&260\\777&1.99& - 0.005\end{array} \right], \quad {\mathbf{R}} = \left[\begin{array}{cccc}0&0&0\\0&0&0\\0&0& - 1\\0&1&0\end{array}\right], \\& {\text{NUIO}}\;{\text{3}}:{\mathbf{H}} = \left[\begin{array}{cccc}1&0&0&0\\0&1&0&0\\0&0&1&0\\0&0&-1&0\end{array}\right];\;{\mathbf{K}} = \left[\begin{array}{cccc}300& -0.005&0\\0&300&0\\0&0.015&0\\777&0.015&1.99\end{array} \right],\quad {\mathbf{R}} = \left[ \begin{array}{cccc}0&0&0\\0& -1&0\\0&0&0\\0&0&1\end{array} \right].\end{aligned} $$
(53)

To make a comparison, the other two controllers are also applied for the EHSS: Strategy 1 is the control algorithm which is same as the proposed controller but without NUIO (DSESO) while Strategy 2 is the same as proposed controller but without two ESOs (DSNUIO). For fairness, all design parameters of these controllers are set as same as the corresponding parameters of the suggested controller.

In order to study the validity of the proposed control in the presence of sensor faults and lumped disturbances, the following two parts were performed:

  1. 1.

    Sensor fault separately and simultaneously occurs one at a time such as position, velocity, and load pressure sensor fault. The purpose of this part is to verify the effectiveness of the three NUIOs for fault detection and fault estimation.

  2. 2.

    Sensor faults simultaneously happen in above-mentioned sensor fault. Besides, the matched and unmatched disturbances are also appeared. The purpose of this part is to demonstrate the effectiveness of the proposed controller for position tracking control problem under multiple sensor fault conditions.

5.2 Simulation result

5.2.1 NUIO performance validation

In this simulation, the fault detection of the three different fault types was conducted: (1) Fault in position sensor with ds1 = − 1; θs1 = 20 + 5sinπt; (2) Fault in velocity sensor with ds2 =  − 1; θs2 =  − 70 + 10 sawtooth (πt); (3) Fault in load pressure sensor with ds3 =  − 1; θs3 = 5.

For the case separately occurrence fault, at the time t = 5 s, the sensor fault happens. The estimation performance of three NUIOs is given in Figs. 3, 4 and 5. As seen in Figs. 3, 4 and 5, it is clear that three NUIOs estimated the fault accurately. Moreover, the estimation value of every sensor fault is within the thresholds in the normal state while it exceeds the thresholds in the fault state. For fault detection, the value ‘‘1’’ and ‘‘0’’ reveals whether a fault can be detected or not. When the sensor fault is identified, and its estimation value exceeds the predefined thresholds, the NUIO successfully detects a fault. This indicated that the faults happened in position, velocity, or load pressure sensor and the respective fault flag was set as 1. Hence, the alarm will be activated to notify the operator or engineer, and the fault then needs to fix. Besides, three above sensor fault types can be effectively isolated via three NUIOs.

Fig. 3
figure 3

FDEI of NUIOs in case of only fault in position sensor

Fig. 4
figure 4

FDEI of NUIOs in case of only fault in velocity sensor

Fig. 5
figure 5

FDEI of NUIOs in case of only fault in pressure sensor

For the case simultaneously occurrence fault, at the time t = 5 s, three sensor faults happen. The estimation performance of three NUIOs is given in Fig. 6. It can be seen that every designed fault observer can effectively approximate the relevant sensor fault. Furthermore, the location of the faults is determined through the three NUIOs. The simulation results confirm the reliability the effectiveness of the fault diagnosis algorithm in both case study including separately and simultaneously fault appearance.

Fig. 6
figure 6

FDEI of NUIOs in case of simultaneous fault

Remark 7

In this study, although the all-sensor faults occur at the same time t = 5 s, the sensor faults (i.e., position, velocity, and pressure sensor faults) are detected at different times, in turn, 5.26 s, 5.55 s, 5.37 s. This fact ensures that the condition rank (SE) = rank (E) for (13) is satisfied. Therefore, the proposed FTC scheme with three NUIOs can effectively work under sensor faulty conditions.

5.2.2 Tracking performance validation

In this part, to demonstrate the performance of the proposed controller in position tracking control problem, two demand signals is applied under the displacement sensor fault and lumped uncertainties. The position sensor fault and other sensor faults appear at the time t = 5 s. Hereby, a reconfigurable mechanism is introduced for position tracking control issue. By using the achieved sensor fault information, the faulty sensor is switched to the estimated output from the NUIO 1 since a position sensor fault is detected.

Case 1 Sinusoidal reference tracking.


Firstly, the obtained results of three controllers are depicted in Fig. 7 that indicates the position tracking performance, the tracking error, and the control inputs, respectively. With reference to Fig. 7a, the DSESO performs the worst tracking performance under the position sensor fault due to the lack of compensation of NUIO. Especially, the tracking error of DSESO is great since the sensor fault occurs at time t = 5 s. On the contrary, the relevant controllers, i.e., the proposed controller, DSNUIO can tackle the effect of the displacement sensor fault because of the support of the NUIO. However, the proposed controller provides better tracking performance than the DSNUIO controller by benefiting from ESOs to approximate matched and unmatched disturbances in real time. The zoom in of tracking error in Fig. 7b implies that the suggested controller has the smallest error as compared to other controllers. Besides, the control effort u of the contrastive three controllers can be exhibited in the second subgraph of Fig. 7a, which is significantly adjusted after the detection of a fault.

Fig. 7
figure 7

Performances of comparative controllers in case 1

In addition, the estimation performance of the two ESOs are displayed in Fig. 8. From Fig. 8, we can see that the lumped disturbances are successfully estimated. Hence, it will be compensated feedforwardly through the procedure control design. It is noteworthy that their estimation performance can be further enhanced when the design parameters ε1, ε2. are increased. Nonetheless, this causes a trade-off between the estimation performance and the system stability.

Fig. 8
figure 8

Lumped disturbance estimation of ESOs in case 1

Case 2 Multistep reference tracking.


To further verify the robustness of the proposed methodology, the multistep trajectory is given. The position tracking performance of three controllers are displayed in the first subgraph of Fig. 9a which reveals that x1 can track x1d under healthy condition (t < 5 s). However, since the multiple sensor faults happen, the output response of the DSESO without NUIO cannot tracking the reference signal x1d. Meanwhile, owning the effectiveness of the fault detection and estimation from NUIO, the DSNUIO and proposed can ensure the tracking error as small as possible. Furthermore, as seen from the zoom in of the tracking error in Fig. 9b, the proposed controller exhibits better tracking performance than that of DSNUIO, this demonstrates the advantage of the synthesized ESOs. The control input of all controllers shown on the final subgraph of Fig. 9a, which are strongly regulated to adopt the sensor fault at t = 5 s. It can be observed that the control efforts are impacted when the fault is detected.

Fig. 9
figure 9

Overall tracking performance of different control methods in case 2

The estimation performance of two ESOs in this case is presented in Fig. 10. From Fig. 10, it indicates that the estimated matched and unmatched disturbance can track its physical value as closely as possible, which further verifies good estimate performance of the designed ESO observers.

Fig. 10
figure 10

Lumped disturbance estimation of ESOs in case 2

Furthermore, to quantitatively evaluate the robustness of the three controllers, the two performance indexes are computed, i.e., the RMS value (\(\sqrt {\left( {{1 \mathord{\left/ {\vphantom {1 T}} \right. \kern-0pt} T}} \right)\int_{0}^{T} {e_{i}^{2} \left( t \right){\text{d}}t} } ,\) where T is the time period) and maximum error (max(ei)). Using the tracking error data from Figs. 7 and 9, the result of performance indexes of the relevant controller is summarized in Table 2. It is worth mentioned that for each case, the suggested controller has the smallest RMS error as well as maximum error in comparison with other controllers. This reconfirms the high control precision and strong robustness of the proposed algorithm under the multiple sensor faults and lumped disturbances.

Table 2 Summary of control performance in terms of RMS and maximum tracking errors

Case 3: Multistep reference tracking with different lumped disturbance.


To further validate the effectiveness of the proposed method against disturbances under sensor faults, we perform the simulation with different lumped disturbances and compare it with the DSNUIO. The matched, unmatched disturbances are adjusted which increases the challenge of the designed controller. For instance, the friction force value changes from 10x2 + 50sign(x2) to 20x2 + 100sign(x2), and the leakage disturbance \(\,Q_{f} = - C_{t} \sqrt {\left| {x_{3} } \right|} {\text{sign}}\left( {x_{3} } \right),C_{t} = 2.5 \times 10^{ - 8}\) is added to matched disturbance \(\varphi_{2} = \frac{{4\beta_{e} }}{{V_{c} }}\left( {Q_{t} + Q_{f} } \right) + \Delta_{2}\) after 10 s. The estimation performance of the two ESOs, in this case, is displayed in Fig. 11 while overall tracking errors are depicted in Fig. 12. From Fig. 12, it can be seen that the tracking error of DCNUIO becomes worse and unstable, especially after 10 s, due to the lack of disturbance compensation. Meanwhile, the proposed controller brings less tracking error thanks to ESOs as a compensation part. The result of maximum errors is 0.5324 (proposed controller) and 0.4655 (DSNUIO) in case 3, it confirms the efficacy of the proposed strategy over the DSNUIO method.

Fig. 11
figure 11

Lumped disturbance estimation of ESOs in case 3

Fig. 12
figure 12

Tracking errors of two control methods in case 3

According to the achieved simulation results, we can conclude that the proposed FTC exhibits the superior tracking performance and can ensure the stability condition in the presence of the matched, unmatched disturbances, multiple sensor faults.

6 Conclusions

In this paper, the proposed FTC scheme is elaborated and applied for the dynamics model of EHSS to overcome the influences of the negative factor such as disturbance/uncertainties, and multiple sensor faults. This is the first time, three NUIOs are deployed to detect and estimate the simultaneously sensor faults, i.e., position, velocity, or load pressure sensor fault. Every sensor fault is successfully identified and isolated that validate the effectiveness of the suggested NUIO. Next, the position tracking control problem is considered under the multiple sensor faults and lumped disturbance. The ESOs are employed to deal with the matched, unmatched disturbance and further enhance tracking performance of the closed-loop system. Meanwhile, the NUIO 1 is used to provide the exact estimated position value when the position sensor fault appears. The DSC handles the derivative explosion phenomena when computing the derivatives of virtual control laws. The advanced FTC scheme comprises of DSC, NUIO, ESO that provides a continuous tracking control regardless of sensor fault and disturbances. System stability and asymptotic tracking convergence were verified by the Lyapunov theory. The comparison results have been conducted to demonstrate effectiveness of the proposed algorithm.

For future works, the influences of the measurement noises and other type of actuator faults (i.e., bias and loss of effectiveness fault) to the system control performance will be considered. In addition, the relevant experimental data with multi-sensor and actuator fault diagnosis will be investigated.