1 Introduction

As a powerful tool to handle complicated system, multi-agent technology has been the focus of many researchers and has been applied in many significance fields, for instance, in automotive control systems [17], satellite constellations [19], unmanned aerial vehicles [18, 14], and so on. In order to investigate the issue of MAS, there have been a considerable number of fruitful results [8, 13, 22], which include consensus problems, formation control, and cooperative control.

The structure of MAS is distributed and there isn’t a centralized entity to monitor the whole system. Thus, if an agent becomes faulty, the fault may spread to other agents through the special communication topology in the MAS and then the performance of the entire system will suffer a difficult situation. Consequently, in order to improve the safety and reliability of system, the FD scheme, including fault detection, fault isolation, and fault estimation (FE), must be considered. FD technology is mainly used to monitor the system state, determine the location of the occurred fault and eventually obtain detailed fault information. Its application to a wide range of industrial and commercial processes has attracted a great deal of attention for several decades [2, 6, 16, 20, 26].

It should be noted that most of the existing works on FD are based on centralized systems. Owing to the fact that the MAS is a distributed system, where all of the measurements are not available to each agent, it makes these works on FD difficult to be directly applied to MAS. Therefore, distributed FD schemes should be proposed to deal with the FD for the MAS instead of the centralized FD method. In [24], for a class of interconnected nonlinear systems, the method of distributed FD was proposed. Qin et al. [15] presented a survey of FD for swarm systems. A dynamic neural network-based fault detection and isolation (FDI) scheme was studied to perform the formation flying mission of satellites in [21]. And in [25], for MAS with directed graphs, the design of adaptive technique-based distributed FE observer was put forward.

A model-based scheme is built upon the precise mathematical model, whereas the presence of uncertainties and external disturbances is not avoidable in practical systems. Thus, to weaken or eliminate such unexpected effects of uncertainties, the design of unknown input observer (UIO) has been extensively studied because of its insensitivity to the unknown input. An UIO has also provided a useful method to achieve FD with robustness against unknown inputs, in which the residual is designed to be insensitive to unknown inputs and some researchers pay more attention to the UIO-based FD approaches [7, 11, 28].

The stability of a system remains in a priority position in the processes of analysis and design. In general, the stability which we often said in the field of dynamical systems, such as the Lyapunov stability and bounded-input bounded-output stability are all asymptotically stable. In many applications, however, it is desirable that the trajectories of a dynamical system can converge to a equilibrium state in finite time rather than merely asymptotically. Besides, the state of the asymptotically stable system is not limited in a circle, as long as it can be bounded. In these cases, the concept of the finite-time stability (FTS) is put forward, which is different from traditional notions of stability and has been focused on the convergence performance and transient performance of the system. Some early results on FTS are shown in [3, 23]. In [12], FTS for time-varying nonlinear dynamical systems is proposed. Extensions of FTS to discrete switched singular positive systems can be found in [9].

In these observer-based FD schemes, the effect of FD depends mainly on the steady-state performance of the observer without taking the transient performance into consideration. However, owing to the fact that MAS is a high cost as well as high investment technique, its FD technique has to be accurate and fast. Hence, both transient performance and convergence performance are required by the FD for MAS. So far, despite a few academic results on application of FTS for MAS in terms of consensus problems and cooperative control [4, 5, 10, 27], the body of application of FTS for FD research on MAS is much smaller because such research is more challenging.

Motivated by the above discussion, the problem of FT-UIO-based distributed FD for MAS with actuator faults and disturbances is put forward in this paper. And different from the traditional way of constructing observers in every agent, the method proposed in this paper is putting one observer in a certain agent to diagnose the faults occurred in its neighbor agents, so that only with one or two observers, the distributed FD for MAS can also be achieved. The main contributions of this study are summarized in four aspects: (I) under the communication topology, the global multi-agent system dynamics is represented with respect to a certain agent and the output of the system becomes the local information which can be used by the selected agent; (II) based on the system dynamics obtained, by coordinate transformation, the system will be decomposed into three subsystems and one of them is independent of faults as well as disturbances, which can improve the robustness of FD ; (III) with the reduced-order system obtained in (II), the FT-UIO, constituted by two distinct UIOs, is constructed at the selected agent and is designed to converge in a pre-assigned finite time, which is chosen as the time delay of the UIOs; (IV) using the state estimation from the FT-UIO in the selected agent, a FD algorithm is also proposed to diagnose the faults occurred in its neighbor agents, and then not only the location of the faults but also the detailed information of the faults can be obtained in a finite time.

The remainder of this paper is organized as follows. Preliminaries and problem formulation are presented in Sect. 2. Section 3 contains the procedure of system decomposition and the design of FT-UIO-based distributed FD for MAS. Simulation results are provided to illustrate the effectiveness of the proposed methods in Sect. 4. Finally, a conclusion is made in Sect. 5.

In this paper, some notations are used as follows. \(B^\text{ T }\) denotes the transpose of a matrix B. \(\otimes \) stands for the Kronecker product. |N| means the cardinality of the set N. \(C^\dag \) stands for the left pseudoinverse of a matrix C. I denotes an identity matrix with appropriate dimension.

2 Preliminaries and Problem Formulation

2.1 Graph Theory

Consider a weighted undirected graph \({\mathcal {G}}\) of a network, in which \(V=\{v_0,v_1,v_2\ldots ,v_N\}\) denotes the set of nodes, and \(\varepsilon =\{(v_i,v_j):v_i,v_j\in v\}\) denotes the set of edges. Denote the associated adjacency matrix \(\Lambda =[a_{ij}]\in \mathbb {R}^{N\times N}\), where \(a_{ij}\) means the weight of an edge \((v_i,v_j)\) and \(a_{ij}=1\) if \((v_i,v_j)\in \varepsilon \), otherwise \(a_{ij}=0\). For the undirected graph used by this paper, we define \(a_{ii}=0\) without considering the connectivity of the node itself. The neighborhood set of the node \(v_p\) is denoted by \(N_p=\{v_j\in V:(v_p,v_j)\in \varepsilon ,p\ne j\}\). Define \(G=\text {diag}(g_1,\ldots ,g_N),g_i= \sum \nolimits _{j=1}^Na_{ij}\) as the degree matrix and the Laplacian matrix of \({\mathcal {G}}\) as \(L=G-\Lambda \).

2.2 Problem Formulation

Consider a single system with actuator fault of each agent labeled by node \(v_i\) in the graph \({\mathcal {G}}\) as follows:

$$\begin{aligned} \left\{ \begin{aligned} \dot{x}_i(t)&=A x_i(t)+B u_i(t)+E f_i(t)+D d_i(t) \\ y_i(t)&= C x_i(t)\\ \end{aligned} \right. \end{aligned}$$
(1)

where \(x_i(t)\in \mathbb {R}^n\) is the state, \(u_i(t)\in \mathbb {R}^m\) is the input, \(y_i(t)\in \mathbb {R}^{p_1}\) is the output, \(f_i(t)\in \mathbb {R}^{q_1}\) represents the actuator fault and \(d_i(t)\in \mathbb {R}^{l_1}\) is the external disturbance and model uncertainties [i.e. \(\Delta A x_i(t)+\Delta B u_i(t)\)] [1]. A, B, E, C, and D are constant real matrices of appropriate dimensions. It is assumed that matrices E and D are of full column rank.

Based on undirected graph theory, the global fault multi-agent system dynamics can be represented as

$$\begin{aligned} \left\{ \begin{aligned} \dot{x}(t)&=(I_N\otimes A) x(t)+(I_N\otimes B) u(t)+(I_N\otimes E) f(t)+(I_N\otimes D) d(t) \\ y(t)&= (I_N\otimes C) x(t)\\ \end{aligned} \right. \end{aligned}$$
(2)

where

$$\begin{aligned} x(t)= & {} \big [x_1^T(t),x_2^T(t),\ldots ,x_N^T(t)\big ]^T, u(t)=\big [u_1^T(t),u_2^T(t),\ldots ,u_N^T(t)\big ]^T,\\ y(t)= & {} \big [y_1^T(t),y_2^T(t),\ldots ,y_N^T(t)\big ]^T, f(t)=\big [f_1^T(t),f_2^T(t),\ldots ,f_N^T(t)\big ]^T,\\ d(t)= & {} \big [d_1^T(t),d_2^T(t),\ldots ,d_N^T(t)\big ]^T. \end{aligned}$$

With respect to the agent p, the systems are rewritten as

$$\begin{aligned} \left\{ \begin{aligned} \dot{x}(t)&=(I_N\otimes A) x(t)+(I_N\otimes B) u(t)+(I_N\otimes E)_r f_r(t)+(I_N\otimes E)_{-r} f_{-r}(t)\\&\quad +(I_N\otimes D) d(t) \\ y_p(t)&= (\Lambda _p\otimes I_n) x(t)\\ \end{aligned} \right. \end{aligned}$$
(3)

where \(f_r( t)\) is the fault occurred in agent r (\(r\in N_p\)), and \(f_{-r}(t)\) is the matrix obtained by removing component \(f_r( t)\) of f(t) . Correspondingly, \((I_N\otimes E)_r\) is the distribution matrix of \(f_r( t)\) as well as the submatrix of \(I_N\otimes E\). And \((I_N\otimes E)_{-r}\), the distribution matrix of \(f_{-r}(t)\), is the surplus of \(I_N\otimes E\) after removing \((I_N\otimes E)_r\). \(y_p(t)\in \mathbb {R}^{|\overline{N}_p|n\times Nn}\) is the local information which can be used by agent p. \(|\overline{N}_p|\) denotes the cardinality of the set \(\overline{N}_p\), where \(\overline{N}_p=N_p\cup \{p\}\), i.e., the set \(\overline{N}_p\) consists of agent p and its neighbor agents. \(\Lambda _p\otimes I_n\) is the local information matrix of full row rank. The matrix \(\Lambda _p\in \mathbb {R}^{|\overline{N}_p|\times N}\) is also full row rank and is a submatrix of the associated adjacency matrix \(\Lambda \).

Define \(M=\left[ \begin{array}{cc} (I_N\otimes E)_{-r} &{} I_N\otimes D \\ \end{array} \right] \),\(\ \omega (t)=\left[ \begin{array}{cc} f_{-r}(t) \\ d(t) \\ \end{array} \right] \), then (3) can be reorganized as follows

$$\begin{aligned} \left\{ \begin{aligned} \dot{x}(t)&=(I_N\otimes A) x(t)+(I_N\otimes B) u(t)+(I_N\otimes E)_r f_r( t)+M \omega (t) \\ y_p(t)&= (\Lambda _p\otimes I_n) x(t)\\ \end{aligned} \right. \end{aligned}$$
(4)

Due to the fact that \(y_p(t)\) is the local information which can be used by agent p, through an UIO technology, we can construct an observer in agent p to estimate the state in system (4). Then with a FD algorithm, the estimation of \(f_r( t)\) can be obtained.

3 Main Results

3.1 System Decomposition

For the sake of distributed finite-time FD for MAS with actuator faults f(t) and disturbances d(t), a FT-UIO will be constructed in the special agent p with respect to its neighbor agent r. Owing to the fact that \(\omega (t)\) is consisted by \(f_{-r}(t)\) and d(t), one can obtain a reduced-order system which is independent of faults as well as disturbances by regarding the term \(f_r(t)\) and \(\omega (t)\) as unknown inputs. Through the following coordinate transformation, the system (4) can be decomposed into three subsystems.

Assumption 1

In this paper, we assume that M and \((I_N\otimes E)_r\) are of full column rank. Note that \(\Lambda _p\otimes I_n\) is of full row rank, we can define \(\hbox {rank}(\Lambda _p\otimes I_n)=p\), \(\hbox {rank}(M)=l\), and \(\hbox {rank}((I_N\otimes E)_r)=q\), (\(l+q\le p\)), then it can be assumed that \(rank\big [M \quad (I_N\otimes E)_r\big ]=l+q\), \(rank((\Lambda _p\otimes I_n)M)=l\), \(\hbox {rank}((\Lambda _p\otimes I_n)(I_N\otimes E)_r)=q\), and \(\hbox {rank}\big [(\Lambda _p\otimes I_n)M \quad (\Lambda _p\otimes I_n)(I_N\otimes E)_r \big ]=l+q\). So that the matrix \(\big [(\Lambda _p\otimes I_n)M \quad (\Lambda _p\otimes I_n)(I_N\otimes E)_r \big ]\) has the left pseudoinverse \(\big [(\Lambda _p\otimes I_n)M \quad (\Lambda _p\otimes I_n)(I_N\otimes E)_r \big ]^\dagger \), where \(X^\dagger =(X^\text {T}X)^{-1}X^\text {T}\) and \(X^\dagger X=I\).

Next, for the purpose of the state coordinate transformation, there exists a non-singular matrix

$$\begin{aligned} T=\big [ N \quad M \quad (I_N\otimes E)_r\big ], \quad T\in \mathbb {R}^{Nn\times Nn}, \end{aligned}$$
(5)

where \(N=P_1N_0\), \(N\in \mathbb {R}^{Nn\times (Nn-l-q)}\), and \(N_0\) is chosen as an arbitrary matrix to make \(\big [N_0 \quad M \quad (I_N\otimes E)_r \big ]\) non-singular. The square matrix \(P_1=I_{Nn}-\big [M \quad (I_N\otimes E)_r \big ]\big [(\Lambda _p\otimes I_n)M \quad (\Lambda _p\otimes I_n)(I_N\otimes E)_r \big ]^\dagger (\Lambda _p\otimes I_n\)) satisfies \(P_1^2=P_1\), which means \(P_1\) is idempotent. As long as if the matrix \(\big [N_0 \quad M \quad (I_N\otimes E)_r \big ]\) is non-singular, the matrix T is also non-singular.

With the transformation matrix T, the system (4) can be decomposed into the following form

$$\begin{aligned} \left\{ \begin{aligned} \dot{\overline{x}}(t)&=\overline{A} \overline{x}(t)+\overline{B} u(t)+\overline{E} f_r( t)+\overline{M} \omega (t) \\ y_p(t)&= \overline{C}_p \overline{x}(t)\\ \end{aligned} \right. \end{aligned}$$
(6)

where

$$\begin{aligned}&x(t)=T\overline{x}(t)=T\left[ \begin{array}{c} \overline{x}_1(t) \\ \overline{x}_2(t) \\ \overline{x}_3(t) \\ \end{array} \right] , \overline{A}=T^{-1}(I_N\otimes A)T=\left[ \begin{array}{ccc} \overline{A}_{11} &{} \overline{A}_{12} &{} \overline{A}_{13} \\ \overline{A}_{21} &{} \overline{A}_{22} &{} \overline{A}_{23} \\ \overline{A}_{31} &{} \overline{A}_{32} &{} \overline{A}_{33} \\ \end{array} \right] \\&\overline{B}=T^{-1}(I_N\otimes B)=\left[ \begin{array}{c} \overline{B}_1 \\ \overline{B}_2 \\ \overline{B}_3 \\ \end{array} \right] , \overline{M}=T^{-1}M=\left[ \begin{array}{c} 0 \\ I_l \\ 0 \\ \end{array} \right] ,\overline{E}=T^{-1}(I_N\otimes E)_r=\left[ \begin{array}{c} 0 \\ 0 \\ I_q \\ \end{array} \right] \\&\overline{C}_p=(\Lambda _p\otimes I_n)T=\left[ \begin{array}{ccc} (\Lambda _p\otimes I_n)N &{} (\Lambda _p\otimes I_n)M &{} (\Lambda _p\otimes I_n)(I_N\otimes E)_r \\ \end{array} \right] \end{aligned}$$

with \(\overline{x}_1(t)\in \mathbb {R}^{Nn-l-q}\), \(\overline{x}_2(t)\in \mathbb {R}^l\), \(\overline{x}_3(t)\in \mathbb {R}^q\).

Obviously, the differential equations of \(\overline{x}_2(t)\) and \(\overline{x}_3(t)\) are affected directly by the terms of \(\omega (t)\) and \(f_r( t)\), respectively. Removing the differential equations of \(\overline{x}_2(t)\) and \(\overline{x}_3(t)\), the system without \(\omega (t)\) and \(f_r( t)\) is written as follows

$$\begin{aligned} \left\{ \begin{aligned}&\left[ \begin{array}{ccc} I_{Nn-l-q} &{} \quad 0 &{} \quad 0 \\ \end{array} \right] \dot{\overline{x}}(t) =\left[ \begin{array}{ccc} \overline{A}_{11} &{} \quad \overline{A}_{12} &{} \quad \overline{A}_{13} \\ \end{array} \right] \overline{x}(t)+\overline{B}_1 u(t) \\&y_p(t) = \left[ \begin{array}{ccc} (\Lambda _p\otimes I_n)N &{} (\Lambda _p\otimes I_n)M &{} (\Lambda _p\otimes I_n)(I_N\otimes E)_r \\ \end{array} \right] \overline{x}(t)\\ \end{aligned} \right. \end{aligned}$$
(7)

Furthermore, in order to achieve the output transformation, there exists a non-singular matrix

$$\begin{aligned} U=\left[ \begin{array}{ccc} (\Lambda _p\otimes I_n)M &{} (\Lambda _p\otimes I_n)(I_N\otimes E)_r &{} Q \\ \end{array} \right] , U\in \mathbb {R}^{p\times p} \end{aligned}$$
(8)

where \(\ Q=P_2Q_0\), \(\ Q\in \mathbb {R}^{p\times (p-l-q)}\), and \(\ Q_0\) is chosen as an arbitrary matrix to make \(\big [(\Lambda _p\otimes I_n)M \quad (\Lambda _p\otimes I_n)(I_N\otimes E)_r \quad Q_0\big ]\) non-singular. The square matrix \(P_2=I_{p}-\Lambda _p\otimes I_n\big [M \quad (I_N\otimes E)_r\big ]\big [(\Lambda _p\otimes I_n)M \quad (\Lambda _p\otimes I_n)(I_N\otimes E)_r \big ]^\dagger \) satisfies \(P_2^2=P_2\), which means \(P_2\) is idempotent. As long as the matrix \(\big [(\Lambda _p\otimes I_n)M \quad (\Lambda _p\otimes I_n)(I_N\otimes E)_r \quad Q_0 \big ]\) is non-singular, the matrix U is also non-singular.

Define

$$\begin{aligned} U^{-1}=\left[ \begin{array}{c} U_1 \\ U_2 \\ U_3 \\ \end{array} \right] , U_1\in \mathbb {R}^{l\times p}, U_2\in \mathbb {R}^{q\times p}, U_3\in \mathbb {R}^{(p-l-q)\times p}, \end{aligned}$$

and we can obtain

$$\begin{aligned} U^{-1}U=\left[ \begin{array}{c} U_1 \\ U_2 \\ U_3 \\ \end{array} \right] \left[ \begin{array}{ccc} (\Lambda _p\otimes I_n)M &{} (\Lambda _p\otimes I_n)(I_N\otimes E)_r &{} Q \\ \end{array} \right] =\left[ \begin{array}{ccc} I_l &{} \quad 0 &{} \quad 0 \\ 0 &{} \quad I_q &{} \quad 0 \\ 0 &{} \quad 0 &{} \quad I_{p-l-q} \\ \end{array} \right] . \end{aligned}$$

Lemma 1

[7] From the information above, it also holds that \(U_1(\Lambda _p\otimes I_n)N=0_{l\times (Nn-l-q)}\) and \(U_2(\Lambda _p\otimes I_n)N=0_{q\times (Nn-l-q)}\).

Then, multiplied by \(U^{-1}\) on both sides of the output equation in system (7) , the following equations can be obtained

$$\begin{aligned} U_1y_p(t)= & {} \overline{x}_2(t) \end{aligned}$$
(9)
$$\begin{aligned} U_2y_p(t)= & {} \overline{x}_3(t) \end{aligned}$$
(10)
$$\begin{aligned} U_3y_p(t)= & {} U_3(\Lambda _p\otimes I_n)N\overline{x}_1(t) \end{aligned}$$
(11)

Note that the differential equations of \(\overline{x}_2(t)\) and \(\overline{x}_3(t)\) are affected directly by the terms of \(\omega (t)\) and \(f_r( t)\), respectively. Meanwhile, these vectors can be represented only by output measurements. Hence, by substituting the relations (9), (10) and (11) into the system (7), the reduced-order system independent of the unknown inputs is obtained as follows

$$\begin{aligned} \left\{ \begin{aligned} \dot{\overline{x}}_1(t)&=\overline{A}_{11} \overline{x}_1(t)+\overline{B}_1 u(t)+\widetilde{E}y_p(t) \\ \overline{y}_p(t)&= \widetilde{C}_p \overline{x}_1(t)\\ \end{aligned} \right. \end{aligned}$$
(12)

where \(\widetilde{E}=\overline{A}_{12}U_1+\overline{A}_{13}U_2\), \(\widetilde{C}_p=U_3(\Lambda _p\otimes I_n)N\), and \(\overline{y}_p(t)=U_3y_p(t)\).

By regarding the term \(f_r(t)\) and \(\omega (t)\) as unknown inputs, the system (4) has been decomposed into three subsystems. The subsystem (12) we obtained is obviously independent of faults and disturbances, which can improve the robustness of FD. Then, based on (12), the FT-UIO, constituted by two distinct observers, can be designed in the special agent p with respect to its neighbor agent r.

3.2 FT-UIO-Based Fault Diagnosis Design

It is assumed that the pair \((\overline{A}_{11}, \widetilde{C}_p)\) is observable, then the two UIOs are described by

$$\begin{aligned} \dot{z}_1(t)= & {} (\overline{A}_{11}-L_1\widetilde{C}_p)z_1(t)+\overline{B}_1 u(t)+L_1^*y_p(t) \end{aligned}$$
(13)
$$\begin{aligned} \dot{z}_2(t)= & {} (\overline{A}_{11}-L_2\widetilde{C}_p)z_2(t)+\overline{B}_1 u(t)+L_2^*y_p(t) \end{aligned}$$
(14)

where \(L_1^*=L_1U_3+\widetilde{E}\) and \(L_2^*=L_2U_3+\widetilde{E}\). And the matrices \(L_1\) and \(L_2\) are the gain of observers to be designed.

By defining

$$\begin{aligned} z(t)= & {} \left[ \begin{array}{c} z_1(t) \\ z_2(t) \\ \end{array} \right] , G=\left[ \begin{array}{c} \overline{B}_1 \\ \overline{B}_1 \\ \end{array} \right] , H=\left[ \begin{array}{c} L_1^*\\ L_2^*\\ \end{array} \right] ,\\ F= & {} \left[ \begin{array}{cc} F_1 &{} 0 \\ 0 &{}F_2\\ \end{array} \right] =\left[ \begin{array}{cc} \overline{A}_{11}-L_1\widetilde{C}_p &{} 0 \\ 0 &{} \overline{A}_{11}-L_2\widetilde{C}_p \\ \end{array} \right] , \end{aligned}$$

these two observers can be combined in one equation. Using a delay \(\tau \) to estimate the state \(\overline{x}_1(t)\), the FT-UIO constructed in the special agent p with respect to its neighbor agent r is obtained as follows

$$\begin{aligned} \left\{ \begin{aligned} \dot{z}(t)&=F z(t)+G u(t)+Hy_p(t), t\ge t_0 \\ \hat{\overline{x}}_1(t)&= K[z(t)-\hbox {e}^{F\tau }z(t-\tau )]\\ \end{aligned} \right. \end{aligned}$$
(15)

Due to the delay, this observer has initial conditions for z(t), \(t\in [t_0-\tau ,t_0]\). Without loss of generality, we assume \(z(t)=S\hat{\overline{x}}_1(t_0)\), \(\forall t\in [t_0-\tau ,t_0]\), where \(\hat{\overline{x}}_1(t_0)=\big [I_{Nn-l-q} \quad 0 \quad 0\big ]T^{-1}\hat{x}(t_0)\) and \(\hat{x}(t_0)\) is arbitrary but bounded.

Theorem 1

After defining \(K=\big [I_{Nn-l-q} \quad 0_{Nn-l-q} \big ]\cdot \big [S \quad \hbox {e}^{F\tau }S\big ]^{-1} \) and \(S=\left[ \begin{array}{c} I_{Nn-l-q} \\ I_{Nn-l-q} \\ \end{array} \right] \), if there exist a matrix H and an non-negative scalar \(\tau \) such that the following conditions hold

  1. i)

    F is stable,

  2. ii)

    \(det[S,\hbox {e}^{F\tau }S]\ne 0\),

then the FT-UIO (15) exists and can estimate the state \(\overline{x}_1(t)\) of the reduced-order system (12) in finite time \(\tau \) with a bounded estimation error \(e(t)=\hat{\overline{x}}_1(t)-\overline{x}_1(t)\) \((\forall t\in [t_0,t_0+\tau ])\).

Proof

The proof is consisted by two parts. In the first place, the boundedness of the estimation error \(e(t)=\hat{\overline{x}}_1(t)-\overline{x}_1(t)\) during the time interval \([t_0,t_0+\tau ]\) is certified. Secondly, it is proved that the FT-UIO can converge in finite time \(\tau \), i.e. \(\hat{\overline{x}}_1(t)=\overline{x}_1(t)\) \(\forall t\ge t_0+\tau \).

Since the FT-UIO exists, there is

$$\begin{aligned} \frac{\hbox {d}}{\hbox {d}t}(z(t)-S\overline{x}_1(t))&=\dot{z}(t)-S\dot{\overline{x}}_1(t)\nonumber \\&=F z(t)+G u(t)+Hy_p(t)-S(\overline{A}_{11} \overline{x}_1(t) +\overline{B}_1 u(t)+\widetilde{E}y_p(t))\nonumber \\&=F(z(t)-S\overline{x}_1(t))+FS\overline{x}_1(t)+(H-S\widetilde{E})y_p(t)\nonumber \\&\quad +(G-S\overline{B}_1)u(t)-S\overline{A}_{11} \overline{x}_1(t) \end{aligned}$$
(16)

Note that

$$\begin{aligned} \begin{aligned} (H-S\widetilde{E})y_p(t)&=\left( \left[ \begin{array}{c} L_1U_3+\widetilde{E}\\ L_2U_3+\widetilde{E}\\ \end{array} \right] -\left[ \begin{array}{c} \widetilde{E}\\ \widetilde{E}\\ \end{array} \right] \right) y_p(t)\\&=\left[ \begin{array}{c} L_1\\ L_2\\ \end{array} \right] U_3y_p(t)\\&=\left[ \begin{array}{c} L_1\\ L_2\\ \end{array} \right] \overline{y}_p(t)\\&= \left[ \begin{array}{c} L_1\\ L_2\\ \end{array} \right] \widetilde{C}_p \overline{x}_1(t)\\ G-S\overline{B}_1&=\left[ \begin{array}{c} \overline{B}_1 \\ \overline{B}_1 \\ \end{array} \right] -\left[ \begin{array}{c} I_{Nn-l-q} \\ I_{Nn-l-q} \\ \end{array} \right] \overline{B}_1\\&=0 \end{aligned} \end{aligned}$$

we can substitute the above equations to (16), then

$$\begin{aligned} \frac{ \hbox {d}}{\hbox {d}t}(z(t)-S\overline{x}_1(t))= & {} F(z(t)-S\overline{x}_1(t))+\left( \left[ \begin{array}{cc} \overline{A}_{11}-L_1\widetilde{C}_p &{} 0 \\ 0 &{} \overline{A}_{11}-L_2\widetilde{C}_p \\ \end{array} \right] \right. \nonumber \\&\left. -\,\left[ \begin{array}{c} \overline{A}_{11} \\ \overline{A}_{11} \\ \end{array} \right] +\left[ \begin{array}{c} L_1\widetilde{C}_p\\ L_2\widetilde{C}_p\\ \end{array} \right] \right) \overline{x}_1(t)\nonumber \\= & {} F(z(t)-S\overline{x}_1(t)). \end{aligned}$$
(17)

On the basis of this equation, the boundedness and convergence can be proved.

Boundedness Multiplied by \(\hbox {e}^{-F t}\) and then integrating from \(t_0\) to t, with \(t\in [t_0,t_0+\tau ]\), on both sides of (17), it can be easily shown that

$$\begin{aligned}&\Rightarrow \hbox {e}^{-F t}\big [z(t)-S\overline{x}_1(t)\big ]-\hbox {e}^{-F (t_0)}\big [z(t_0)-S\overline{x}_1(t_0)\big ]=0 \end{aligned}$$
(18)
$$\begin{aligned}&\begin{aligned} \Rightarrow z(t)-S\overline{x}_1(t)&=\hbox {e}^{-F(t_0-t)}\big [z(t_0)-S\overline{x}_1(t_0)\big ]\\&=\hbox {e}^{F(t-t_0)}\big [z(t_0)-S\overline{x}_1(t_0)\big ]\\&=\hbox {e}^{F(t-t_0)}S\big [\hat{\overline{x}}_1(t_0)-\overline{x}_1(t_0)\big ] \end{aligned} \end{aligned}$$
(19)

With the assumption that \(z(t)=S\hat{\overline{x}}_1(t_0)\), \(\forall t\in [t_0-\tau ,t_0]\), it can be obtained that \(z(t-\tau )=S\hat{\overline{x}}_1(t_0), t\in [t_0,t_0+\tau ]\). Using the FT-UIO (15), when \(t\in [t_0,t_0+\tau ]\), one can further obtain

$$\begin{aligned} \hat{\overline{x}}_1(t)= & {} \big [Kz(t)-K\hbox {e}^{F\tau }z(t-\tau )\big ]\nonumber \\= & {} KS\overline{x}_1(t)+K\hbox {e}^{F(t-t_0)}S\big [\hat{\overline{x}}_1(t_0)-\overline{x}_1(t_0)\big ]-K\hbox {e}^{F\tau }z(t-\tau )\nonumber \\= & {} KS\overline{x}_1(t)+K\hbox {e}^{F(t-t_0)}S\big [\hat{\overline{x}}_1(t_0)-\overline{x}_1(t_0)\big ]-K\hbox {e}^{F\tau }S\hat{\overline{x}}_1(t_0) \end{aligned}$$
(20)

Note that \(KS=I_{Nn-l-q}\), and \(K\hbox {e}^{F\tau }S=0\), (20) becomes

$$\begin{aligned} \hat{\overline{x}}_1(t) = \overline{x}_1(t)+K\hbox {e}^{F(t-t_0)}S\big [\hat{\overline{x}}_1(t_0)-\overline{x}_1(t_0)\big ] \end{aligned}$$
(21)

Then the estimation error is

$$\begin{aligned} e(t)= & {} \hat{\overline{x}}_1(t) - \overline{x}_1(t)\nonumber \\= & {} K\hbox {e}^{F(t-t_0)}S\big [\hat{\overline{x}}_1(t_0)-\overline{x}_1(t_0)\big ] \end{aligned}$$
(22)

Owing to the assumption that \(\hat{\overline{x}}_1(t_0)\) and \(\overline{x}_1(t_0)\) are bounded, it’s obvious that the estimation error shown in (22) stays bounded \(\forall t\in [t_0,t_0+\tau ]\).

Finite-Time Convergence Multiplied by \(\hbox {e}^{-F t}\) and then integrating from \(t_0\) to \(t-\tau \), with \(t\ge t_0+\tau \), on both sides of (17), we have:

$$\begin{aligned}&\Rightarrow \hbox {e}^{-F(t-\tau )}\big [z(t-\tau )-S\overline{x}_1(t-\tau )]-\hbox {e}^{-F (t_0)}[z(t_0)-S\overline{x}_1(t_0)\big ]=0 \end{aligned}$$
(23)
$$\begin{aligned}&\begin{aligned} \Rightarrow z(t-\tau )-S\overline{x}_1(t-\tau )&=\hbox {e}^{-F(t_0-(t-\tau ))}\big [z(t_0)-S\overline{x}_1(t_0)\big ]\\&=\hbox {e}^{F(t-\tau -t_0)}\big [z(t_0)-S\overline{x}_1(t_0)\big ]\\&=\hbox {e}^{F(t-\tau -t_0)}S\big [\hat{\overline{x}}_1(t_0)-\overline{x}_1(t_0)\big ] \end{aligned} \end{aligned}$$
(24)

Using the FT-UIO (15), equations (19) and (24), when \(t\ge t_0+\tau \), one can further obtain

$$\begin{aligned} \hat{\overline{x}}_1(t)= & {} \big [Kz(t)-K\hbox {e}^{F\tau }z(t-\tau )\big ]\nonumber \\= & {} KS\overline{x}_1(t)+K\hbox {e}^{F(t-t_0)}S\big [\hat{\overline{x}}_1(t_0)-\overline{x}_1(t_0)\big ]\nonumber \\&-K\hbox {e}^{F\tau }S\overline{x}_1(t-\tau )-K\hbox {e}^{F\tau }\hbox {e}^{F(t-\tau -t_0)}S\big [\hat{\overline{x}}_1(t_0)-\overline{x}_1(t_0)\big ]\nonumber \\= & {} KS\overline{x}_1(t)+K\hbox {e}^{F(t-t_0)}S[\hat{\overline{x}}_1(t_0)-\overline{x}_1(t_0)]\nonumber \\&-K\hbox {e}^{F\tau }S\overline{x}_1(t-\tau )-K\hbox {e}^{F(t-t_0)}S\big [\hat{\overline{x}}_1(t_0)-\overline{x}_1(t_0)\big ]\nonumber \\= & {} KS\overline{x}_1(t)-K\hbox {e}^{F\tau }S\overline{x}_1(t-\tau ) \end{aligned}$$
(25)

Note that \(KS=I_{Nn-l-q}\), and \(K\hbox {e}^{F\tau }S=0\), (25) becomes

$$\begin{aligned} \hat{\overline{x}}_1(t) = \overline{x}_1(t), t\ge t_0+\tau \end{aligned}$$
(26)

Therefore, the FT-UIO (15) can estimate the state \(\overline{x}_1(t)\) of the reduced-order system (12) in finite time \(\tau \). \(\square \)

Theorem 2

For any \(i,j \in {(1\sim Nn-l-q)}\), if \(L_1\) and \(L_2\) are chosen such that

  1. (i)

    \(Re(\lambda _i(F_1))\ne Re(\lambda _j(F_2))\),

  2. (ii)

    \(Re(\lambda _i(F_1))< 0\),

  3. (iii)

    \(Re(\lambda _i(F_2))< 0\),

then the conditions that F is stable and \(det[S,\hbox {e}^{F\tau }S]\ne 0\) in Theorem 1 can be matched for almost all \(\tau \in \mathbb {R}^+\). This ensures the existence of the matrix K and thus the existence of the FT-UIO (15) for almost any finite time \(\tau \).

Proof

Since \((\overline{A}_{11}, \widetilde{C}_p)\) is observable and

$$\begin{aligned} F=\left[ \begin{array}{cc} F_1 &{} 0 \\ 0 &{}F_2\\ \end{array} \right] =\left[ \begin{array}{cc} \overline{A}_{11}-L_1\widetilde{C}_p &{} \quad 0 \\ 0 &{} \quad \overline{A}_{11}-L_2\widetilde{C}_p \\ \end{array} \right] , \end{aligned}$$

as long as \(Re(\lambda _i(F_1))< 0\) and \(Re(\lambda _i(F_2))< 0\), F can be stable.

While

$$\begin{aligned} \left[ \begin{array}{cc} S &{} \quad \hbox {e}^{F\tau }S \\ \end{array} \right] = \left[ \begin{array}{cc} I_{Nn-l-q} &{} \quad \hbox {e}^{F_1\tau } \\ I_{Nn-l-q} &{} \quad \hbox {e}^{F_2\tau } \\ \end{array} \right] \end{aligned}$$

and the delay \(\tau >0\), if \(Re(\lambda _i(F_1))\ne Re(\lambda _j(F_2))\) for any \(i,j \in {(1\sim Nn-l-q)}\), then the condition \(det[S,\hbox {e}^{F\tau }S]\ne 0\) can also be achieved. \(\square \)

Remark 1

From the relations (9), (10) and (11), the vectors \(\overline{x}_2(t)\) and \(\overline{x}_3(t)\) can be represented only by output measurements, respectively. Hence, using the system (6), the estimation of the state x(t) in system (4) can be expressed as follows

$$\begin{aligned} \hat{x}(t)=T\hat{\overline{x}}(t)=T\left[ \begin{array}{c} \hat{\overline{x}}_1(t) \\ \hat{\overline{x}}_2 (t)\\ \hat{\overline{x}}_3(t) \\ \end{array} \right] =T\left[ \begin{array}{c} \hat{\overline{x}}_1(t) \\ U_1y_p(t) \\ U_2y_p(t) \\ \end{array} \right] \end{aligned}$$
(27)

Therefore, through the FT-UIO, the exact estimation of the state x(t) in system (4) with disturbance and actuator fault can be obtained in a pre-assigned finite time. Once the estimation of x(t) is obtained, the estimation of \(f_i(t)\) in system (4) can be found immediately. Similarly with the system (4), we have

$$\begin{aligned} \left[ \begin{array}{ccc} 0 &{} \quad 0 &{} \quad I_{q} \\ \end{array} \right] \dot{\overline{x}}(t)=\dot{\overline{x}}_3(t)=\left[ \begin{array}{ccc} \overline{A}_{31} &{} \quad \overline{A}_{32} &{} \quad \overline{A}_{33} \\ \end{array} \right] \overline{x}(t)+\overline{B}_3 u(t)+ f_r(t) \end{aligned}$$
(28)

Considering the system (28) and equation (27), the estimation \(\hat{f}_r(t)\) of \(f_r(t)\) is given as

$$\begin{aligned} \begin{aligned} \hat{f}_r(t)&=\dot{\hat{\overline{x}}}_3(t)-\left[ \begin{array}{ccc} \overline{A}_{31} &{} \quad \overline{A}_{32} &{} \quad \overline{A}_{33} \\ \end{array} \right] \hat{\overline{x}}(t)-\overline{B}_3 u(t)\\&= U_2\dot{y}_p(t)-\overline{A}_{31}\hat{\overline{x}}_1(t)-(\overline{A}_{32}U_1+\overline{A}_{33}U_2)y_p(t)-\overline{B}_3 u(t) \end{aligned} \end{aligned}$$
(29)

Remark 2

The FD algorithm above contains the derivative of \(y_p(t)\), and it is feasible as long as \(\dot{y}_p(t)\) can be obtained. However, in case that it cannot be easily obtained for certain systems, \(\dot{y}_{pf}(t)\) is proposed instead of \(\dot{y}_p(t)\) [18] as

$$\begin{aligned} \dot{y}_{pf}(t)=-\frac{1}{\alpha }(y_{pf}(t)-y_p(t)) \end{aligned}$$
(30)

By this method, (29) can be rewritten as

$$\begin{aligned} \hat{f}_r(t)=U_2\dot{y}_{pf}(t)-\overline{A}_{31}\hat{\overline{x}}_1(t)-(\overline{A}_{32}U_1+\overline{A}_{33}U_2)y_p(t)-\overline{B}_3 u(t) \end{aligned}$$
(31)

Remark 3

In this paper, a FT-UIO is constructed in a special agent p to monitor its neighbor agents r (\(r\in N_p\)). And it is assumed that \(f_r( t)\) is the fault occurred in agent r. In fact, the \(f_r( t)\) can be all of the faults occurred in the neighbor agents around agent p so that the FT-UIO constructed in agent p can diagnose the faults occurred in its neighbor agents simultaneously.

4 Simulation Results

To show the effectiveness of the method, we consider a group of linearized dynamic models in the vertical plane of a VTOL aircraft as an illustrative example, which can be described as

$$\begin{aligned} \left\{ \begin{aligned} \dot{x}_i(t)&=A x_i(t)+B u_i(t)+E f_i(t)+D d_i(t) \\ y_i(t)&= C x_i(t)\\ \end{aligned} \right. \end{aligned}$$
(32)

where

$$\begin{aligned} x_i(t)= & {} \left[ \begin{array}{c} \text {horizontal} \ \text {velocity (kt)} \\ \text {vertical}\ \text {velocity (kt)} \\ \text {pitch}\ \text {rate (deg/s)} \\ \text {pitch}\ \text {angle (deg)} \\ \end{array} \right] \\ u_i(t)= & {} \left[ \begin{array}{c} \text {collective}\ \text {pitch}\ \text {control} \\ \text {longitudinal cyclic pitch angle} \\ \end{array} \right] \\ A= & {} \left[ \begin{array}{cccc} -0.0366 &{} \quad 0.0271 &{} \quad 0.0188 &{} \quad -0.4555 \\ 0.0482 &{} \quad -1.0100 &{} \quad 0.0024 &{} \quad -4.0208 \\ 0.1002 &{} \quad 0.3681 &{} \quad -0.7070 &{} \quad 1.4200 \\ 0.0000 &{} \quad 0.0000 &{} \quad 1.0000&{} \quad 0.0000 \\ \end{array} \right] ,\\ B= & {} \left[ \begin{array}{cc} 0.4422 &{} \quad 0.1761 \\ 3.5446 &{} \quad -7.5922 \\ -5.5200 &{} \quad 4.4900 \\ 0.0000 &{} \quad 0.0000 \\ \end{array} \right] ,\\ C= & {} \left[ \begin{array}{cccc} 1 &{} \quad 0 &{} \quad 0 &{} \quad 0 \\ 0 &{} \quad 1 &{} \quad 0 &{} \quad 0 \\ 0 &{} \quad 0 &{} \quad 0 &{} \quad 1 \\ \end{array} \right] ,\ D=[0\ 0\ 1\ 0]^\text {T}. \end{aligned}$$

It is assumed that the band-limited white noise is added as the unknown disturbance \(d_i(t)\) and the actuator fault which usually occurs in the input channel is also taken into consideration with assumption \(E=B\). The structure of the MAS is described by Fig. 1, with the associated adjacency matrix \(\Lambda =\left[ \begin{array}{cccc} 0 &{} \quad 1 &{} \quad 0 &{} \quad 0 \\ 1 &{} \quad 0 &{} \quad 1 &{} \quad 1 \\ 0 &{} \quad 1 &{} \quad 0 &{} \quad 1 \\ 0 &{} \quad 1&{} \quad 1 &{} \quad 0 \\ \end{array} \right] \).

Fig. 1
figure 1

Topology structure of the multi-agent system

In this study, a FT-UIO is constructed at agent 2 to diagnose the faults occurred in its neighbor agents, which are agents 1, 3 and 4. The press-assigned finite time designed as the delay in FT-UIO is chosen as \(\tau =1\), with \(\alpha =0.001\). According to Lemma 4, using MATLAB, we can obtain these important parameters by placing the poles at \([-\,2\ -\,1\ -\,2\ -\,2]\) and \([-\,7\ -\,6\ -\,7\ -\,7]\), respectively.

$$\begin{aligned} {I_N\otimes E}_{-r}= & {} \left[ \begin{array}{cccccccccccccccc} 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0.4422 &{} \quad 3.5446 &{} \quad -\,5.5200 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0&{} \quad 0 &{} \quad 0 &{} \quad 0&{} \quad 0 &{} \quad 0 \\ 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0.1761 &{} \quad -\,7.5922&{} \quad 4.4900 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0&{} \quad 0 &{} \quad 0 &{} \quad 0&{} \quad 0 &{} \quad 0 \\ \end{array} \right] ^{\text {T}}\\ {I_N\otimes E}_{r}= & {} \left[ \begin{array}{cccccc} 0.4422 &{} \quad 0.1761 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 \\ 3.5446 &{} \quad -\,7.5922&{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 \\ -\,5.5200 &{} \quad 4.4900 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 \\ 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 \\ 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 \\ 0 &{} \quad 0 &{} 0 \quad &{} \quad 0 &{} \quad 0 &{} \quad 0 \\ 0 &{} \quad 0 &{} 0 \quad &{} 0 \quad &{} \quad 0 &{} \quad 0 \\ 0 &{} \quad 0 &{} 0 \quad &{} 0 \quad &{} \quad 0 &{} \quad 0 \\ 0 &{} \quad 0 &{} \quad 0.4422 &{} \quad 0.1761 &{} \quad 0 &{} \quad 0 \\ 0 &{} \quad 0 &{} \quad 3.5446 &{} \quad -\,7.5922 &{} \quad 0 &{} \quad 0 \\ 0 &{} \quad 0 &{} \quad -\,5.5200 &{} \quad 4.4900 &{} \quad 0 &{} \quad 0 \\ 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 \\ 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0.4422 &{} \quad 0.1761 \\ 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 3.5446 &{} \quad -\,7.5922 \\ 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad -\,5.5200 &{} \quad 4.4900 \\ 0 &{} \quad 0 &{} \quad 0 &{}\quad 0 &{} \quad 0 &{} \quad 0 \\ \end{array} \right] \\ L_1= & {} \left[ \begin{array}{cccc} 3.4404 &{} \quad 1.7202&{} \quad -\,1.7202 &{} \quad -\,1.7202\\ 0.7202 &{} \quad 0 &{} \quad 0&{} \quad 0\\ -\,1.7202 &{} \quad 0 &{} \quad 0 &{} \quad 1.7202\\ -\,1.7202 &{} \quad 0&{} \quad 1.7202&{} \quad 0\\ \end{array} \right] \\ L_2= & {} \left[ \begin{array}{cccc} 13.4404 &{} \quad 6.7202&{} \quad -\,6.7202 &{} \quad -\,6.7202\\ 5.7202 &{} \quad 0 &{} \quad 0&{} \quad 0\\ -\,6.7202 &{} \quad 0 &{} \quad 0 &{} \quad 6.7202\\ -\,6.7202 &{} \quad 0&{} \quad 6.7202&{} \quad 0\\ \end{array} \right] \\ K= & {} \left[ \begin{array}{cccccccc} -\,0.0068 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 1.0068 &{} \quad 0&{}\quad 0 &{} \quad 0 \\ 0 &{} \quad -\,0.0068 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 1.0068 &{} \quad 0 &{} \quad 0 \\ 0 &{} \quad 0 &{} \quad -\,0.0068 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 1.0068 &{} \quad 0 \\ 0 &{} \quad 0 &{} \quad 0 &{} \quad -\,0.0068 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 1.0068 \\ \end{array} \right] \end{aligned}$$

During the process of coordinate transformation, \(N_0\) and \(Q_0\) are chosen as follows and then some important parameters are also obtained.

$$\begin{aligned}&Q_0=N_0=\left[ \begin{array}{cccccccccccccccc} 0 &{} \quad 0 &{} \quad 0 &{} \quad 1 &{} \quad 0 &{} \quad 0&{} 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 \\ 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 1 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 \\ 0 &{} \quad 0&{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 1 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 \\ 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 1 \\ \end{array} \right] ^{\text {T}}\\&T=\left[ \begin{array}{cccccccc} 0.4892 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0&{} \quad 0 &{} \quad 1 &{} \quad 0 \qquad \\ 0.0557&{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0&{} \quad 0 &{} \quad 1 &{} \quad 0 \qquad \\ 0.0749 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0&{} \quad 0 &{} \quad 0 &{} \quad 0 \qquad \\ 0.5448 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0&{} \quad 0 &{} \quad -\,1 &{} \quad 0 \qquad \\ 0 &{} \quad 0.4892 &{} \quad 0 &{} \quad 0 &{} \quad 0.4422 &{} \quad 0.1761 &{} \quad 0 &{} \quad 1 \qquad \\ 0 &{} \quad 0.0557 &{} \quad 0 &{} \quad 0 &{} \quad 3.5446 &{} \quad -\,7.5922 &{} \quad 0 &{} \quad 1 \qquad \\ 0 &{} \quad 0.0749 &{} \quad 0 &{} \quad 0 &{} \quad -\,5.5200 &{} \quad 4.4900&{} \quad 0 &{} \quad 0 \qquad \\ 0 &{} \quad 0.5448&{} \quad 0 &{} \quad 0 &{} \quad 0&{} \quad 0 &{} \quad 0 &{} \quad -\,1 \qquad \\ 0 &{} \quad 0 &{} \quad 0.4892 &{} \quad 0 &{} \quad 0&{} \quad 0 &{} \quad 0 &{} \quad 1 \qquad \\ 0 &{} \quad 0 &{} \quad 0.0557 &{} \quad 0 &{} \quad 0&{} \quad 0 &{} \quad 0 &{} \quad 1 \qquad \\ 0 &{} \quad 0 &{} \quad 0.0749 &{} \quad 0 &{} \quad 0&{} \quad 0 &{} \quad 0 &{} \quad 0 \qquad \\ 0 &{} \quad 0 &{} \quad 0.5448 &{} \quad 0 &{} \quad 0&{} \quad 0 &{} \quad 0 &{} \quad -\,1 \qquad \\ 0 &{} \quad 0 &{} \quad 0 &{} \quad 0.4892 &{} \quad 0&{} \quad 0 &{} \quad 0 &{} \quad 0 \qquad \\ 0 &{} \quad 0 &{} \quad 0 &{} \quad 0.0557 &{} \quad 0&{} \quad 0 &{} \quad 0 &{} \quad 0\qquad \\ 0 &{} \quad 0 &{} \quad 0 &{} \quad 0.0749 &{} \quad 0&{} \quad 0 &{} \quad 0 &{} \quad 0 \qquad \\ 0 &{} \quad 0 &{} \quad 0 &{} \quad 0.5448 &{} \quad 0&{} \quad 0 &{} \quad 0 &{} \quad 0\qquad \\ \end{array} \right. \\&\left. \begin{array}{cccccccc} \qquad 0 &{} \quad 0 &{} \quad 0.4422 &{} \quad 0.1761 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0\\ \qquad 0 &{} \quad 0 &{} \quad 3.5446 &{} \quad -\,7.5922 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0\\ \qquad 0 &{} \quad 0 &{} \quad -\,5.5200 &{} \quad 4.4900&{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0\\ \qquad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 \\ \qquad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 \\ \qquad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0\\ \qquad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0\\ \qquad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0\\ \qquad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0.4422 &{} \quad 0.1761 &{} \quad 0 &{} \quad 0 &{} \quad 0\\ \qquad 0 &{} \quad 0 &{} \quad 0 &{} \quad 3.5446 &{} \quad -7.5922 &{} \quad 0 &{} \quad 0 &{} \quad 0 \\ \qquad 0 &{} \quad 0 &{} \quad 0 &{} \quad -\,5.5200 &{} \quad 4.4900 &{} \quad 0 &{} \quad 0 &{} \quad 0\\ \qquad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0\\ \qquad 0 &{} \quad 1 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0.4422 &{} \quad 0.1761 \\ \qquad 0 &{} \quad 1 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 3.5446 &{} \quad -\,7.5922 \\ \qquad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad -\,5.5200 &{} \quad 4.4900 \\ \qquad 0 &{} \quad -\,1 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 \\ \end{array} \right] \end{aligned}$$
$$\begin{aligned} U= & {} \left[ \begin{array}{cccccccc} 0.4422 &{} \quad 0.1761 &{} \quad 0 &{} \quad 1 &{} \quad 0&{} \quad 0 &{} \quad 0 &{} \quad 0 \qquad \\ 3.5446 &{} \quad -\,7.5922 &{} \quad 0 &{} \quad 1 &{} \quad 0&{} \quad 0 &{} \quad 0 &{} \quad 0 \qquad \\ -\,5.5200 &{} \quad 4.4900&{} \quad 0 &{} \quad 0&{} \quad 0&{} \quad 0 &{} \quad 0 &{} \quad 0 \qquad \\ 0 &{} \quad 0 &{} \quad 0 &{} \quad -\,1 &{} \quad 0&{} \quad 0 &{} \quad 0 &{} \quad 0 \qquad \\ 0 &{} \quad 0 &{} \quad 1 &{} \quad 0 &{} \quad 1 &{} \quad 1 &{} \quad 0.4422 &{} \quad 0.1761 \qquad \\ 0 &{} \quad 0 &{} \quad 1 &{} \quad 0 &{} \quad 1 &{} \quad 1 &{} \quad 3.5446 &{} \quad -\,7.5922 \qquad \\ 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0&{} \quad -\,5.5200 &{} \quad 4.4900 \qquad \\ 0 &{} \quad 0&{} \quad -\,1 &{} \quad 0 &{} \quad -\,1&{} \quad -\,1 &{} \quad 0 &{} \quad 0 \qquad \\ 0.4422 &{} \quad 0.1761 &{} \quad 0 &{} \quad 1 &{} \quad 0&{} \quad 1 &{} \quad 0 &{} \quad 0 \qquad \\ 3.5446 &{} \quad -\,7.5922 &{} \quad 0 &{} \quad 1 &{} \quad 0&{} \quad 1 &{} \quad 0 &{} \quad 0 \qquad \\ -\,5.5200 &{} \quad 4.4900&{} \quad 0 &{} \quad 0&{} \quad 0&{} \quad 0 &{} \quad 0 &{} \quad 0 \qquad \\ 0 &{} \quad 0 &{} \quad 0 &{} \quad -\,1 &{} \quad 0&{} \quad -\,1 &{} \quad 0 &{} \quad 0 \qquad \\ 0.4422 &{} \quad 0.1761 &{} \quad 0 &{} \quad 1 &{} \quad 1&{} \quad 0 &{} \quad 0 &{} \quad 0 \qquad \\ 3.5446 &{} \quad -\,7.5922 &{} \quad 0 &{} \quad 1 &{} \quad 1&{} \quad 0 &{} \quad 0 &{} \quad 0 \qquad \\ -\,5.5200 &{} \quad 4.4900&{} \quad 0 &{} \quad 0&{} \quad 0&{} \quad 0 &{} \quad 0 &{} \quad 0 \qquad \\ 0 &{} \quad 0 &{} \quad 0 &{} \quad -\,1 &{} \quad -\,1&{} \quad 0 &{} \quad 0 &{} \quad 0 \qquad \\ \end{array} \right. \\&\left. \begin{array}{cccccccc} \qquad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0.4892 &{} \quad 0 &{} \quad 0 &{} \quad 0\\ \qquad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0.0557 &{} \quad 0 &{} \quad 0 &{} \quad 0\\ \qquad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0.0749 &{} \quad 0 &{} \quad 0 &{} \quad 0\\ \qquad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0.5448 &{} \quad 0 &{} \quad 0 &{} \quad 0 \\ \qquad 0.4422 &{} \quad 0.1761 &{} \quad 0.4422 &{} \quad 0.1761 &{} \quad 0&{} \quad 0.4892 &{} \quad 0 &{} \quad 0 \\ \qquad 3.5446 &{} \quad -\,7.5922 &{} \quad 3.5446 &{} \quad -\,7.5922 &{} \quad 0&{} \quad 0.0557 &{} \quad 0 &{} \quad 0 \\ \qquad -\,5.5200 &{} \quad 4.4900&{} \quad -\,5.5200 &{} \quad 4.4900&{} \quad 0&{} \quad 0.0749 &{} \quad 0 &{} \quad 0 \\ \qquad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0&{} \quad 0.5448 &{} \quad 0 &{} \quad 0 \\ \qquad 0 &{} \quad 0 &{} \quad 0.4422 &{} \quad 0.1761 &{} \quad 0 &{} \quad 0 &{} \quad 0.4892 &{} \quad 0\\ \qquad 0 &{} \quad 0 &{} \quad 3.5446 &{} \quad -\,7.5922 &{} \quad 0&{} \quad 0 &{} \quad 0.0557 &{} \quad 0 \\ \qquad 0 &{} \quad 0 &{} \quad -\,5.5200 &{} \quad 4.4900&{} \quad 0 &{} \quad 0 &{} \quad 0.0749 &{} \quad 0\\ \qquad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0.5448 &{} \quad 0\\ \qquad 0.4422 &{} \quad 0.1761 &{} \quad 0&{} \quad 0 &{} \quad 0&{} \quad 0 &{} \quad 0&{} \quad 0.4892 \\ \qquad 3.5446 &{} \quad -\,7.5922 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0&{} \quad 0.0557 \\ \qquad -\,5.5200 &{} \quad 4.4900&{} \quad 0&{} \quad 0&{} \quad 0&{} \quad 0 &{} \quad 0 &{} \quad 0.0749 \\ \qquad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0 &{} \quad 0&{} \quad 0 &{} \quad 0&{} \quad 0.5448 \\ \end{array} \right] \end{aligned}$$

To validate the effect of the FD methods, after constructing a FT-UIO in agent 2, the following two simulation cases are used.

Case I Assume that agents 1 , 2 and 4 all occur faults and there is no fault in agent 3. It should be noted that the agent 2 is the agent constructed the FT-UIO and its fault should theoretically not affect the FD of its neighbor agents.

For the agent 1: \(f_1(t)=\left[ \begin{array}{c} f_{11}(t) \\ f_{12}(t) \\ \end{array} \right] : \)

$$\begin{aligned} f_{11}(t)=\left\{ \begin{aligned} \begin{array}{cc} 0 &{} \quad 0s\le t<2s \\ 0.05\hbox {e}^{-0.3(t-4)} &{} \quad 2\le t<7s \end{array} \end{aligned} \right. ,\ f_{12}(t)=0 \end{aligned}$$

For the agent 3: \(f_2(t)=\left[ \begin{array}{c} f_{21}(t) \\ f_{22}(t) \\ \end{array} \right] : \)

$$\begin{aligned} f_{21}(t)=\left\{ \begin{aligned} \begin{array}{cc} 0 &{} \quad 0s\le t<1s \\ 0.5\sin (2(t-4)) &{} \quad 1s\le t<7s \end{array} \end{aligned} \right. ,\ f_{22}(t)=0 \end{aligned}$$

For the agent 4: \(f_4(t)=\left[ \begin{array}{c} f_{41}(t) \\ f_{42}(t) \\ \end{array} \right] : \)

$$\begin{aligned} f_{41}(t)=\left\{ \begin{aligned} \begin{array}{cc} 0 &{} \quad 0s\le t<3s \\ 0.6\sin (-1.5(t-4)) &{} \quad 3s\le t<7s \end{array} \end{aligned} \right. ,\ f_{42}(t)=0 \end{aligned}$$

The obtained simulation results are shown as follows (Fig. 2):

Fig. 2
figure 2

Simulation results of case I

Case II Assume that faults are occurred in agents 2, 3 and 4. In accordance with the above, the agent 2 is the agent constructed the FT-UIO and its fault should theoretically not affect the FD of its neighbor agents. And we assume that the fault occurred in agent 2 remains the same.

For the agent 3: \(f_3(t)=\left[ \begin{array}{c} f_{31}(t) \\ f_{32}(t) \\ \end{array} \right] : \)

$$\begin{aligned} f_{31}(t)=\left\{ \begin{aligned} \begin{array}{cc} 0 &{} \quad 0s\le t<3s \\ -\,0.7\hbox {e}^{0.2(t-5)} &{} \quad 3s\le t<7s \end{array} \end{aligned} \right. ,\ f_{32}(t)=0 \end{aligned}$$

For the agent 4: \(f_4(t)=\left[ \begin{array}{c} f_{41}(t) \\ f_{42}(t) \\ \end{array} \right] : \)

$$\begin{aligned} f_{41}(t)=\left\{ \begin{aligned} \begin{array}{cc} 0 &{} \quad 0s\le t<3s \\ 0.65\sin (t-4) &{} \quad 3s\le t<7s \end{array} \end{aligned} \right. ,\ f_{42}(t)=0 \end{aligned}$$

The obtained simulation results are shown as follows (Fig. 3):

Fig. 3
figure 3

Simulation results of case II

As shown in these figures, when the faults occur in the neighbor agents, the FT-UIO in agent 2 can diagnose the faults in finite time \(\tau =1s\). Furthermore, the FD of each neighbor agent will not be affected by the faults occurred in other agents including the agent 2, which is selected to construct the FT-UIO. Simulation results show the effectiveness of the proposed design technique.

5 Conclusion

In this paper, a FT-UIO-based distributed FD scheme for MAS with actuator faults and disturbances is proposed. Under the communication topology , the global multi-agent system dynamics are represented with respect to a certain agent and the output of the system becomes the local information which can be used by the selected agent. Then, the system will be decomposed into three subsystems. Next, constituted by two distinct observers, the FT-UIO is constructed at the selected agent and is designed to converge in a pre-assigned finite time, which is chosen as the time delay of the observers. With the state estimation obtained from the FT-UIO in the selected agent, a FD algorithm is also proposed to diagnose the faults occurred in its neighbor agents, and then not only the location of the faults but also the detailed information of the faults can be obtained in a pre-assigned finite time. Finally, the effectiveness and advantages of the proposed distributed FD method are shown through simulation studies performed on the control of a VTOL aircraft in the vertical plane.