Skip to main content

Active fault-diagnosis method using adaptive allocator and fault-tolerant adaptive control system design


A new approach to the active fault diagnosis (AFD) for input redundant plants is presented in this paper. A test signal which helps the diagnosis is injected to the plant in addition to nominal control input in the AFD typically. One feature of the proposed AFD is adaptive allocation of the test signal. The adaptive allocator which distributes the test signal and injects it to the redundant actuators is introduced in this paper. A fault-diagnosis (FD) system that estimates fault location and its magnitude from adaptive parameter of the adaptive allocator is constructed with a simple neural network (NN) model. Furthermore, a A fault-tolerant adaptive control system which includes the adaptive test signal allocator is designed based on the model reference adaptive control (MRAC) technique. The adaptive laws of the adaptive allocator and controller are derived by using a suitable Lyapunov function. By performing experiments using a two-input redundant plant, we show the effectiveness and applicability of the proposed AFD and MRAC system.


Many machine-based systems consist of actuators, sensors, computers, and mechanical elements. The actuators play an important role in manipulating the plant states [1]. To improve the actuation and/or fault tolerance performance, input-redundant systems have been developed which have one or more additional actuators [2,3,4]. Based on the fault tolerance of redundant plants, it is possible to eliminate the faulty influence on the system. For instance, a self-repairing control system converts faulty actuators into healthy ones, and fault accommodation is also performed with the remaining healthy actuators in adaptive control systems [5,6,7,8,9]. From the perspective of system safety and maintainability, there is an increasing need to obtain information about the system health during operation [10, 11]. Therefore, a number of studies that address the fault-diagnosis (FD) problem have been developed [11,12,13,14,15,16]. Most of the fault-diagnosis methods that have been developed employ the passive approach. In the passive approach, by observing the system behavior using the available signals, it is possible to monitor the plant without affecting the system states.

On the contrary, the active fault diagnosis (AFD) method has been proposed, where an auxiliary signal (test signal) is used to improve the precision and speed of the diagnosis [12, 17]. In contrast to the passive fault diagnosis method, relatively few studies have focused on the active method [17]. In the literature [18], Takahashi proposed an algorithm for fault detection using a weak test signal for a system that has a redundant actuator. In the FD system which was developed by Ducard et al., the supervision module uses a test signal to help the FD process [19]. However, when the test signal is used for diagnosis, it also decreases the performance of the control system [20, 21].

On the other hand, it is known that it is possible to inject an arbitrary signal into an input-redundant plant without affecting the plant states [22,23,24]. In the literature [22], Elgarsma et al. proposed a method to identify the plant parameters by using the test signal without affecting the attitude of the aircraft, based on the input redundancy. This idea has been applied to the AFD technique, and there are several related studies of this application in the field of aircraft control [25,26,27,28].

Bateman et al. proposed an AFD method in which the test signal is inputted into the null-space of the input coefficient matrix [25]. In the FD system reported in literature [25], the test signal affects the plant states only when a fault occurs. A supervisor performs the fault diagnosis using the test signal response that becomes visible immediately after the fault occurrence. The AFD method with input redundancy is described schematically in “Outline of conventional AFD” section. One drawback of this method is that the null-space injection requires the precise plant parameters related to the input coefficient matrix. Moreover, it is not clear how the system stability is influenced by the test signal during the fault occurrence and its compensation. In the literature [28], Boskovic proposed a control system design that ensures the plant stability under the test signal injection, even if an actuator has a fault. However, the study in [28] did not refer to a specific AFD method.

We propose a new AFD method with input redundancy in this paper based on the, and design a control system proposed in the literature [29] to implement it in this paper. In the literature [29], we have designed an adaptive control system that guarantees reference model tracking while applying arbitrary bounded test signals for the input redundant system with unknown parameters. A feature of the proposed AFD method is adaptive allocation of the test signals in the control system. One adaptive test signal allocator is placed for a pair of redundant actuators. Therefore, the number p of adaptive allocators is \(p = m!/\left( {2!\left( {m - 2} \right)!} \right)\) when the controlled plant has m redundant actuators. The effectiveness ratio of a pair of redundant actuators can be estimated from the adaptive parameter in the corresponding adaptive allocator. We define the ratio as a feature value R for the proposed AFD process. The fault location can be estimated from an increase or decrease of the feature value R. And fault magnitude also can be estimated from the convergent value of R. A simple NN (neural network) model that describes the relation between the feature value R and both the estimated fault location and its magnitude is introduced in the proposed AFD system. The AFD system design is described in “Design of AFD system based on adaptive parameters” section. The novelty of the proposed AFD method is to place the adaptive allocator for each pair of the redundant actuators. The fault diagnosis for the individual actuator can be achieved with such the placement of adaptive allocators. The feature of the proposed AFD compared with the conventional one is described in “Proposed AFD using adaptive allocator” section. Furthermore, a fault-tolerant adaptive control system which includes the adaptive test signal allocator is designed for the faulty model in “Plant representation with actuator fault” section. In “Plant representation with actuator fault” section, we introduce the plant representation with actuator fault. The proposed control system design for the faulty model is based on the model reference adaptive control (MRAC) technique. In “Fault-tolerant adaptive control design with adaptive allocator” section, we show the derivation of the adaptive law for the controller and allocator using a suitable Lyapunov function [29]. The adaptive laws of the adaptive allocator and controller are derived by using a suitable Lyapunov function, in “Fault-tolerant adaptive control design with adaptive allocator” section.

We verify the effectiveness and applicability of the designed control system and proposed AFD system, through the experiments using a two-input redundant machine-based plant, in “Experimental example” section. The conclusions are described in “Conclusion” section.

AFD with input redundancy

Outline of conventional AFD

Figure 1 illustrates the schematic of the AFD with input redundancy in a two-input redundant plant. In this figure, the test signal τ is injected through a pre-designed allocator α. This allocator α is chosen such that its direction is orthogonal to the plant input coefficient vector, b. When no actuators have any fault, only the part of control effort caused by the test signal is canceled out in the total control effort, \(E\left( {: = b^{T} u} \right)\), and the states and output of the plant are not affected by the test signal. In the case where an actuator has a fault, it is seen that the coefficient vector \(b\) changes to a faulty one \(b'\) in the faulty model representation. Based on the assumption that the faulty vector \(b'\) satisfies \(b{^{\prime}}^{\text{T}} \alpha = 0\), the test signal \(\tau\) will be not canceled out, and its effect appears on the plant output. In other words, the test signal has a symptom that is caused by the actuator fault on the plant output. The conventional AFD is performed from the symptom, available signals in the control system, and prior knowledge about the plant. However, it also means that the plant output is affected by the test signal when a fault occurrs. There is a trade-off between the FD performance and the stability of the plant output, in the conventional AFD method.

Fig. 1
figure 1

Schematic of an active fault diagnosis with constant test signal allocator (an example of a two-input redundant first-order plant)

Proposed AFD using adaptive allocator

The proposed AFD method is not based on the fault symptom on the plant output in contrast to the conventional one. In proposed AFD (Fig. 2), the test signals are injected consistently through the adaptive allocator to the redundant actuators. The proposed AFD is performed from the behavior of adaptive parameter of the allocator and available signals in the control system. The stability of the plant output is ensured by the suitable adjusting of the adaptive allocator and adaptive controller in the proposed method. Both to guarantee the stability of plant output and to perform the AFD can be achieved simultaneously, in the proposed method. Therefore, the proposed method can perform AFD for the input redundant plant without obtaining parameters of \(b\).

Fig. 2
figure 2

Proposed active fault diagnosis and fault-tolerant control with adaptive test signal allocator

Plant representation with actuator fault

We consider the following linear plant:

$$\dot{x}\left( t \right) = Ax\left( t \right) + Bu\left( t \right)$$

where \(x\left( t \right) \in {\mathbb{R}}n\) and \(u\left( t \right) \in {\mathbb{R}}m\) are the plant output and input, respectively. Matrices \(A, B\) have appropriate dimensions, and can be represented as follows:

$$A = \left[ { \begin{array}{*{20}c} {A_{1} } \\ {a_{2}^{T} } \\ \end{array} } \right], \quad B = \left[ { \begin{array}{*{20}c} 0 \\ {b_{{}}^{T} } \\ \end{array} } \right]$$

where \(0\) denotes a zero matrix which has dimension \(\left( {n - 1} \right) \times m\), \(a_{2} \in {\mathbb{R}}n\) and \(b \in {\mathbb{R}}m\) are unknown coefficient vectors, but that \(A_{1} \in {\mathbb{R}}^{{\left( {n - 1} \right) \times n}}\) is a known submatrix, and the signs of each component in vector \(b\) are known. We assume that the known matrix \(A_{1}\) makes the following square matrix \(A_{0}\) stable, by suitable selection of the vector \(a_{m} \in {\mathbb{R}}n\).

$$A_{0} = \left[ { \begin{array}{*{20}c} {A_{1} } \\ {a_{m}^{T} } \\ \end{array} } \right]$$

For example, the \(\left( {n - q} \right)\)-th order systems that have \(q( < n)\) integrators, or \(n\)-th order systems with relative degree \(n\) can be considered as plants that satisfy the above conditions. In these systems, matrix \(A_{1}\) becomes known from its specific structure, and the plant parameters that may be unknown are in the vectors \(a_{2}\) and \(b\).

The fault on the actuator is represented by \(u\left( t \right)\) as

$$u\left( t \right) = \varLambda u_{c} \left( t \right) + \bar{u}\left( t \right),$$
$$\varLambda = diag\left\{ {\lambda_{1} ,\lambda_{2} , \ldots , \lambda_{m} } \right\},$$
$$u_{c} = \left[ { u_{c\left( 1 \right)} u_{c\left( 2 \right)} \cdots u_{c\left( m \right)} } \right]^{T} ,$$
$$\bar{u} = \left[ { \bar{u}_{1} \bar{u}_{2} \cdots \bar{u}_{m} } \right]^{T}$$

where \(u_{c} \in {\mathbb{R}}m\) is the controller output, and \(\bar{u} \in {\mathbb{R}}m\) is the fault input signal, which depends on the type of fault described later. \({{\varLambda }} \in {\mathbb{R}}^{m \times m}\) is an unknown fault-magnitude matrix. We define each element \(\lambda_{i} , \left( {i \in \left\{ {1, 2, \cdots , m} \right\}} \right)\) in diagonal matrix \({{\varLambda }}\) as the effectiveness of the actuator.

In this study, we focus on the following two types of actuator fault.

Loss of effectiveness

The loss of effectiveness (LOE) of the \(i\)-th actuator is represented with \(\lambda_{i}\) as:

$$\lambda_{i} \left( t \right) = \left\{ { \begin{array}{*{20}c} 1 & {\left( {t < t_{f\left( i \right)} } \right)} \\ d & {\left( {t \ge t_{f\left( i \right)} } \right)} \\ \end{array} } \right., \quad \bar{u} = 0, \quad \varvec{ }\forall t > 0$$

where \(t_{f\left( i \right)} \in {\mathbb{R}},\text{ }(t_{f\left( i \right)} > 0)\) is the unknown time at which the fault occurs. \(i \in \left\{ {1, 2, \cdots , m} \right\}\) is the unknown index which denotes the faulty actuator, \(d_{i} \in {\mathbb{R}}, (0 \le d_{i} < 1)\) is also an unknown parameter that represents the effectiveness of the faulty actuator. For instance, \(t_{f\left( 2 \right)} = 50\left[ {\text{s}} \right]\), \(d_{2} = 0.6\) means that the second actuator loses its effectiveness of \(40\%\) after \(50\left[ {\text{s}} \right]\).

Stuck actuator output

The stuck fault of the actuator may be caused by the freezing of the electronic motor driver and solidified valve for instance. The stuck fault is represented as follows.

$$\lambda_{i} \left( t \right) = \left\{ { \begin{array}{*{20}c} 1 & {\left( {t < t_{f\left( i \right)} } \right)} \\ 0 & {\left( {t \ge t_{f\left( i \right)} } \right)} \\ \end{array} } \right., \; \bar{u}_{i} \left( t \right) = \left\{ { \begin{array}{*{20}c} 0 & {\left( {t < t_{f\left( i \right)} } \right)} \\ {u_{c\left( i \right)} \left( {t_{f\left( i \right)} } \right)} & {\left( {t \ge t_{f\left( i \right)} } \right)} \\ \end{array} } \right., \quad \forall t > 0$$

From the above representation, we note that the effectiveness of the stuck actuator is always zero. Therefore, the case where the actuator loses its effectiveness completely \(\left( {d_{i} = 0,\bar{u} = 0} \right)\) can be considered as a special case in the stuck fault. After this section, we apply the word perfect LOE fault to the fault represented by \(d_{i} = 0\), and we also apply the word partial LOE fault to the fault represented by \(0 < d_{i} < 1\).

Fault-tolerant adaptive control design with adaptive allocator

In this section, we describe the design of an fault-tolerant adaptive control system with an adaptive allocator for test-signal injection and actuator faults [29]. For the system design, we considered the following assumptions:

  1. 1.

    Each actuator may have a fault that is expressed by either (i) or (ii) in “Plant representation with actuator fault” section.

  2. 2.

    At least one actuator has not perfect LOE fault.

  3. 3.

    All of the plant outputs are available to generate the control input signal.

The control system design is shown in the following three subsections. First, a stable reference model and adaptive controller are introduced in “Output tracking error equation” section. The output tracking error equation which represents the difference of plant output and reference model output is derived using the reference model and the adaptive controller. In “Adaptive allocator design for test signals” section, the adaptive test signal allocator is introduced. Finally, the adaptive laws of the adaptive test signal allocator and adaptive controller are derived from a suitable Lyapunov function in subsection 4.3.

Output tracking error equation

Equation (1) can be represented using (2) and (4) as:

$$\left\{ { \begin{array}{*{20}l} {\dot{x}_{1} \left( t \right) = A_{1} x\left( t \right)} \hfill \\ {\dot{x}_{2} \left( t \right) = a_{2}^{T} x\left( t \right) + b^{T} \left\{ {\varLambda u_{c} \left( t \right) + \bar{u}\left( t \right)} \right\}} \hfill \\ \end{array} } \right.$$

where \(x_{1} \in {\mathbb{R}}^{n - 1}\) and \(x_{2} \in {\mathbb{R}}\) are parts of the output vector \(x\).

$$x\left( t \right) = \left[ { \begin{array}{*{20}c} {x_{1}^{T} \left( t \right)} & {x_{2} \left( t \right)} \\ \end{array} } \right]^{T}$$

We introduce a stable reference model with known matrix \(A_{1}\),

$$\left\{ { \begin{array}{*{20}l} {\dot{x}_{m\left( 1 \right)} \left( t \right) = A_{1} x_{1} \left( t \right)} \hfill \\ {\dot{x}_{m\left( 2 \right)} \left( t \right) = a_{m}^{T} x_{m} \left( t \right) + b_{m} r\left( t \right)} \hfill \\ \end{array} } \right.$$

where \(x_{m} \in {\mathbb{R}}^{n}\) is the output of the reference model, and \(x_{m\left( 1 \right)} \in {\mathbb{R}}^{n - 1}\) and \(x_{m\left( 2 \right)} \in {\mathbb{R}}\) are the components of reference model output vector. \(r \in {\mathbb{R}}\) is an arbitrary bounded input signal for the reference model, and \(b_{m} \in {\mathbb{R}}\) is an arbitrary coefficient constant. The vector \(a_{m} \in {\mathbb{R}}^{n}\) is selected such that the matrix \(A_{0}\) in (3) becomes stable.

Boskovic proposed the following controller to design a stable MRAC system for such the plant and the reference model which are represented in (7) and (9), in the literature [5].

$$u_{c} \left( t \right) = L\left\{ {\theta_{1}^{T} x\left( t \right) + \theta_{2} r\left( t \right) + \xi \left( t \right)} \right\}$$

where \(L \in {\mathbb{R}}^{m}\) is the constant allocation vector. \(\theta_{1} \in {\mathbb{R}}n\), \(\theta_{2} \in {\mathbb{R}}\) and \(\xi \in {\mathbb{R}}\) are the adaptive parameter vector and adaptive parameter, respectively. The adaptive laws of the adaptive parameters \(\theta_{1}\), \(\theta_{2}\), and \(\xi\) have been presented in [5].

In this paper, we propose the following controller which is extended from (10).

$$u_{c} \left( t \right) = L\left\{ {\theta_{1}^{T} x\left( t \right) + \theta_{2} r\left( t \right) + \xi \left( t \right)} \right\} + \alpha \left( {\varPhi \left( t \right)} \right)\tau \left( t \right)$$

where \(L \in {\mathbb{R}}m\) is a constant vector that satisfies \(b^{\text{T}} {{\varLambda }}L > 0\). \(\theta_{1} \in {\mathbb{R}}n\), \(\theta_{2} \in {\mathbb{R}}\) and \(\xi \in {\mathbb{R}}\) are also the adaptive parameter vector and adaptive parameters, respectively. Each element \(\tau_{q} \left( t \right)\),\(\left( {q = 1, 2, \cdots , p} \right)\) in vector \(\tau\) is an arbitrary bounded test signal, and they are independent of each other. \(\alpha \left( {{{\varPhi }}\left( t \right)} \right) \in {\mathbb{R}}^{m \times p}\) is the adaptive allocator matrix for the test signal, and \({{\varPhi }}\left( t \right) \in {\mathbb{R}}p\) is the adaptive parameter vector.

Substituting (11) into (7), we obtain

$$\left\{ { \begin{array}{*{20}l} {\dot{x}_{1} \left( t \right) = A_{1} x\left( t \right)} \hfill \\ {\dot{x}_{2} \left( t \right) = a_{2}^{T} x\left( t \right) + b^{T} \left\{ {\varLambda L\left( {\theta_{1}^{T} x + \theta_{2} r + \xi } \right) + \varLambda \alpha \tau + \bar{u}\left( t \right)} \right\}} \hfill \\ \end{array} } \right.$$

We define the tracking error \(e = x - x_{m}\), and derive its time derivative.

$$\dot{e} = \dot{x} - \dot{x}_{m} = \left[ { \begin{array}{*{20}c} {\dot{x}_{1} - \dot{x}_{m\left( 1 \right)} } \\ {\dot{x}_{2} - \dot{x}_{m\left( 2 \right)} } \\ \end{array} } \right]$$

From (9) and (12), the first row of (13) can be written as:

$$\dot{x}_{1} - \dot{x}_{m\left( 1 \right)} = A_{1} x - A_{1} x_{m} = A_{1} e$$

We calculate the second row of (13) as:

$$\begin{aligned} \dot{x}_{1} - \dot{x}_{m\left( 1 \right)} = & a_{2}^{\text{T}} x + b^{\text{T}} \left\{ {{{\varLambda }}L\left( {\theta_{1}^{\text{T}} x + \theta_{2} r + \xi } \right) + {{\varLambda }}\alpha \tau + \bar{u}\left( t \right)} \right\} - \left( {a_{m}^{\text{T}} x_{m} + b_{m} r} \right) = \left( {a_{2}^{\text{T}} x + b^{\text{T}} {{\varLambda }}L\theta_{1}^{\text{T}} } \right)x \\ & + \,\left( {b^{\text{T}} {{\varLambda }}L\theta_{2} - b_{m} } \right)r + b^{\text{T}} \left( {{{\varLambda }}L\xi + \bar{u}} \right) + b^{\text{T}} {{\varLambda }}\alpha \tau - a_{m}^{\text{T}} \left( {x - e} \right) = a_{m}^{\text{T}} e + \left( {a_{2}^{\text{T}} + b^{\text{T}} {{\varLambda }}L\theta_{1}^{\text{T}} - a_{m}^{\text{T}} } \right)x \\ & + \,\left( {b^{\text{T}} {{\varLambda }}L\theta_{2} - b_{m} } \right)r + b^{\text{T}} \left( {{{\varLambda }}L\xi + \bar{u}} \right) + b^{\text{T}} {{\varLambda }}\alpha \tau \\ \end{aligned}$$

We introduce the following variables

$$\Delta \theta_{1}^{T} = {{\left( {a_{2}^{T} + b^{T} \varLambda L\theta_{1}^{T} - a_{m}^{T} } \right)} \mathord{\left/ {\vphantom {{\left( {a_{2}^{T} + b^{T} \varLambda L\theta_{1}^{T} - a_{m}^{T} } \right)} \kappa }} \right. \kern-0pt} \kappa }$$
$$\Delta \theta_{2} = {{\left( {b^{T} \varLambda L\theta_{2} - b_{m} } \right)} \mathord{\left/ {\vphantom {{\left( {b^{T} \varLambda L\theta_{2} - b_{m} } \right)} \kappa }} \right. \kern-0pt} \kappa }$$
$$\Delta \xi = b^{T} {{\left( {\varLambda L\xi + \bar{u}} \right)} \mathord{\left/ {\vphantom {{\left( {\varLambda L\xi + \bar{u}} \right)} \kappa }} \right. \kern-0pt} \kappa }$$

where we set the variable κ as:

$$\kappa = b^{T} \varLambda L, \quad \kappa \in {\mathbb{R}}.$$

From the assumption, it satisfies \(\kappa > 0\).

Using these variables, we rewrite (15) as:

$$\dot{x}_{2} - \dot{x}_{m\left( 2 \right)} = a_{m}^{T} e + \kappa \Delta \theta_{1}^{T} x + \kappa \Delta \theta_{2} r + \kappa \Delta \xi + b^{T} \varLambda \alpha \tau$$

Hence (13) can be represented as:

$$\dot{e} = \left[ { \begin{array}{*{20}l} {A_{1} e} \hfill \\ {a_{m}^{T} e + \kappa \Delta \theta_{1}^{T} x + \kappa \Delta \theta_{2} r + \kappa \Delta \xi + b^{T} \varLambda \alpha \tau } \hfill \\ \end{array} } \right]$$

Adaptive allocator design for test signals

Basic idea for adaptive allocator

We now consider the following two-input redundant plant.

$$\dot{x} = Ax + \left[ { \begin{array}{*{20}c} {b_{1} } & {b_{2} } \\ \end{array} } \right]u, \quad u = \left[ { \begin{array}{*{20}c} {u_{1} } & {u_{2} } \\ \end{array} } \right]^{T}$$

The part of the input vector \(u\) that is orthogonal to the plant coefficient vector \(b\left( {: = \left[ { b_{1},b_{2} } \right]^{\text{T}} } \right)\), becomes \(0\) in the step to generate the control effort \(E = b^{\text{T}} u\). In other words, the orthogonal part of the input vector for the plant-coefficient vector does not affect the plant output \(x\). Therefore, aiming for null-space injection, we design the controller output as:

$$u = f\left( {x,x_{m} ,r} \right) + \alpha \left( \theta \right)\tau , \quad \alpha \left( \theta \right) = \left[ { \begin{array}{*{20}c} {\cos \theta } & {\sin \theta } \\ \end{array} } \right]^{T}$$

where the function \(f\left( {x,x_{m} ,r} \right)\) generates a nominal control input, and where \(x\), \(x_{m}\), and \(r\) are the feedback of the plant output, reference model output, and reference input, respectively. \(\tau\) is the test signal that should be canceled out on the plant output, \(\alpha \left( \theta \right)\) is the adaptive allocator, and where \(\theta\) is adaptive parameter. Figure 3 shows an allocator vector \(\alpha\) and coefficient vector \(b\) in a two-dimensional (2D) plane. As shown in this figure, the allocator vector \(\alpha\) has a constant norm, and can change its direction. If the \(b \bot \alpha \left( \theta \right)\) can be satisfied by adjusting the parameter \(\theta\), then the effect on the plant outputs caused by the test signal will be removed.

Fig. 3
figure 3

Test signal allocator \(\alpha\) which rotates by adaptive parameter \(\theta\), and coefficient vector \(b\) of the two-input redundant plant

$$\begin{aligned} \dot{x} & = Ax + b^{T} \left\{ {f\left( {x,x_{m} ,r} \right) + \alpha \left( \theta \right)\tau } \right\} = Ax + b^{T} f\left( {x,x_{m} ,r} \right) + 0 \cdot \tau \\ & = Ax + b^{T} f\left( {x,x_{m} ,r} \right) \\ \end{aligned}$$

In this section, we design the test signal allocator for the \(m\)-input plant based on the 2D rotary allocator. In the allocator design, \(m\) redundant actuators are divided into all possible pairs, and the 2D allocators are assigned to these. Therefore, the number \(p\) of test-signal allocators and test signals is:

$$p = \frac{m!}{{2!\left( {m - 2} \right)!}}$$

For ease of explanation, we begin from the three-input plant in the next section.

Allocator design for three-input plant

In the case of (\(m = 3\)), let the input coefficient vector \(b_{\left( 3 \right)}\) be \(b_{\left( 3 \right)} = \left[ { b_{1}, \,b_{2}, \,b_{3} } \right]^{\text{T}}\). Let the pairs \(b_{1}\)\(b_{2}\), \(b_{1}\)\(b_{3}\), and \(b_{2}\)\(b_{3}\) be the possible combinations in elements of \(b_{\left( 3 \right)}\). Corresponding to these three pairs, we introduce the 3rd order test signal vector as:

$$\tau_{\left( 3 \right)} \left( t \right) = \left[ { \begin{array}{*{20}c} {\tau_{1} \left( t \right)} & {\tau_{2} \left( t \right)} & {\tau_{3} \left( t \right)} \\ \end{array} } \right]^{T} .$$

Then, we choose an allocator \(\alpha_{\left( 3 \right)}\) as follows.

$$\alpha_{\left( 3 \right)} \left( {\varPhi_{\left( 3 \right)} \left( t \right)} \right) = \left[ {\begin{array}{*{20}c} {\cos \phi_{1} \left( t \right)} & {\cos \phi_{2} \left( t \right)} & 0 \\ {sin\phi_{1} \left( t \right)} & 0 & {\cos \phi_{3} \left( t \right)} \\ 0 & {\sin \phi_{2} \left( t \right)} & {\sin \phi_{3} \left( t \right)} \\ \end{array} } \right]$$

Using these definitions, the coefficient part of the test-signal term \(b^{\text{T}} {{\varLambda }}\alpha\) in (19) can be expanded with \({{\varLambda }}_{\left( 3 \right)} = diag\left\{ {\lambda_{1} , \lambda_{2} , \lambda_{3} } \right\}\) as:

$$\begin{aligned} b_{\left( 3 \right)}^{T} \varLambda_{\left( 3 \right)} \alpha_{\left( 3 \right)} = \,& b_{\left( 3 \right)}^{T} \left[ {\begin{array}{*{20}c} {\lambda_{1} \cos \phi_{1} \left( t \right)} & {\lambda_{1} \cos \phi_{2} \left( t \right)} & 0 \\ {\lambda_{2} sin\phi_{1} \left( t \right)} & 0 & {\lambda_{2} \cos \phi_{3} \left( t \right)} \\ 0 & {\lambda_{3} \sin \phi_{2} \left( t \right)} & {\lambda_{3} \sin \phi_{3} \left( t \right)} \\ \end{array} } \right] \\ & = \left[ {\begin{array}{*{20}c} {\left( {b_{1} \lambda_{1} \cos \phi_{1} + b_{2} \lambda_{2} sin\phi_{1} } \right)} \\ {\left( {b_{1} \lambda_{1} \cos \phi_{2} + b_{3} \lambda_{3} sin\phi_{2} } \right)} \\ {\left( {b_{2} \lambda_{2} \cos \phi_{3} + b_{3} \lambda_{3} sin\phi_{3} } \right)} \\ \end{array} } \right]^{T} \\ \end{aligned}$$

We now define the following 2D vectors,

$$\bar{b}_{1} = \left[ { \begin{array}{*{20}c} {b_{1} \lambda_{1} } & {b_{2} \lambda_{2} } \\ \end{array} } \right]^{T} ,\; \bar{b}_{2} = \left[ { \begin{array}{*{20}c} {b_{1} \lambda_{1} } & {b_{3} \lambda_{3} } \\ \end{array} } \right]^{T} , \;\bar{b}_{3} = \left[ { \begin{array}{*{20}c} {b_{2} \lambda_{2} } & {b_{3} \lambda_{3} } \\ \end{array} } \right]^{T} .$$
$$\bar{\alpha }_{q} = \left[ { \begin{array}{*{20}c} {\cos \phi_{q} \left( t \right)} & {\sin \phi_{q} \left( t \right)} \\ \end{array} } \right]^{T} , \quad q = 1, 2, 3$$

Substituting the elements in (26) by the inner products of these vectors,

$$b_{\left( 3 \right)}^{T} \varLambda_{\left( 3 \right)} \alpha_{\left( 3 \right)} = \left[ { \begin{array}{*{20}c} {\bar{b}_{1}^{T} \bar{\alpha }_{1} } & {\bar{b}_{2}^{T} \bar{\alpha }_{2} } & {\bar{b}_{3}^{T} \bar{\alpha }_{3} } \\ \end{array} } \right]$$

The Eq. (29) indicates that the coefficients from test signals to the control effort can be represented using 2D allocators \(\bar{\alpha }_{1}\), \(\bar{\alpha }_{2}\), and \(\bar{\alpha }_{3}\).

Allocator design for m-input plant

According to the result in “Allocator design for three-input plant” section, an allocator matrix can be chosen as follows to assign the 2D allocators to the \(m\) redundant actuators.

$$\alpha \left( \varPhi \right) = \left[ {\begin{array}{*{20}c} {cos\phi_{1} } & {cos\phi_{2} } & 0 & {} & 0 & 0 \\ {sin\phi_{1} } & 0 & {cos\phi_{3} } & {} & \vdots & \vdots \\ 0 & {sin\phi_{2} } & {sin\phi_{3} } & \cdots & 0 & \vdots \\ \vdots & 0 & 0 & {} & {cos\phi_{p - 1} } & 0 \\ \vdots & \vdots & \vdots & {} & 0 & {cos\phi_{p} } \\ 0 & 0 & 0 & {} & {sin\phi_{p - 1} } & {sin\phi_{p} } \\ \end{array} } \right]$$

The test signal vector is:

$$\tau \left( t \right) = \left[ { \begin{array}{*{20}c} {\tau_{1} \left( t \right)} & {\tau_{2} \left( t \right)} & {\tau_{3} \left( t \right)} & \cdots & {\tau_{p - 1} \left( t \right)} & {\tau_{p} \left( t \right)} \\ \end{array} } \right]^{T} .$$

From these difinitions, we expand the test signal term in a similar way in the case of \(\left( {m = 3} \right)\) as:

$$b^{T} \varLambda \alpha = \left[ {\begin{array}{*{20}c} {\left( {b_{1} \lambda_{1} \cos \phi_{1} + b_{2} \lambda_{2} sin\phi_{1} } \right)} \\ {\left( {b_{1} \lambda_{1} \cos \phi_{2} + b_{3} \lambda_{3} sin\phi_{2} } \right)} \\ {\left( {b_{2} \lambda_{2} \cos \phi_{3} + b_{3} \lambda_{3} sin\phi_{3} } \right)} \\ \vdots \\ {\left( {b_{m - 2} \lambda_{m - 2} \cos \phi_{p - 1} + b_{m} \lambda_{m} sin\phi_{p - 1} } \right)} \\ {\left( {b_{m - 1} \lambda_{m - 1} \cos \phi_{p} + b_{m} \lambda_{m} sin\phi_{p} } \right)} \\ \end{array} } \right]^{T}$$

In addition, each element can be represented by the inner product of 2D vectors:

$$b^{T} \varLambda \alpha = \left[ { \begin{array}{*{20}c} {\bar{b}_{1}^{T} \bar{\alpha }_{1} } & {\bar{b}_{2}^{T} \bar{\alpha }_{2} } & \cdots & {\bar{b}_{p - 1}^{T} \bar{\alpha }_{p - 1} } & {\bar{b}_{p}^{T} \bar{\alpha }_{p} } \\ \end{array} } \right]$$

where the 2D vectors are defined as follows:

$$\begin{aligned} \bar{b}_{1} & = \left[ { \begin{array}{*{20}c} {b_{1} \lambda_{1} } & {b_{2} \lambda_{2} } \\ \end{array} } \right]^{T} , \bar{b}_{2} = \left[ { \begin{array}{*{20}c} {b_{1} \lambda_{1} } & {b_{3} \lambda_{3} } \\ \end{array} } \right]^{T} , \ldots , \\ \bar{b}_{p - 1} & = \left[ { \begin{array}{*{20}c} {b_{m - 2} \lambda_{m - 2} } & {b_{m} \lambda_{m} } \\ \end{array} } \right]^{T} , \bar{b}_{p} = \left[ { \begin{array}{*{20}c} {b_{m - 1} \lambda_{m - 1} } & {b_{m} \lambda_{m} } \\ \end{array} } \right]^{T} , \\ \end{aligned}$$
$$\bar{\alpha }_{q} = \left[ { \begin{array}{*{20}c} {\cos \phi_{q} \left( t \right)} & {\sin \phi_{q} \left( t \right)} \\ \end{array} } \right]^{T} , q = 1, 2, \ldots , p$$

Figure 4 shows vectors \(\bar{b}_{q}\) and \(\bar{\alpha }_{\text{q}}\) on a 2D plane, where \(q \in \left\{ {1, 2, \ldots , p} \right\}\). By using an angle \(\bar{\phi }_{q}\) that is defined by the vectors shown in Fig. 4, (33) can be represented as:

$$\begin{aligned} b^{T} \varLambda \alpha = \left[ { \begin{array}{*{20}c} {\bar{b}_{1} \bar{\alpha }_{1} \cos \bar{\phi }_{1} } & {\bar{b}_{2} \bar{\alpha }_{2} \cos \bar{\phi }_{2} } & \cdots \\ \end{array} } \right. \hfill \\ \quad \quad \quad \quad \left. {\begin{array}{*{20}c} \cdots & {\bar{b}_{p - 1} \bar{\alpha }_{p - 1} \cos \bar{\phi }_{p - 1} } & {\bar{b}_{p} \bar{\alpha }_{p} \cos \bar{\phi }_{p} } \\ \end{array} } \right] \hfill \\ \quad = \left[ { \begin{array}{*{20}c} {\bar{b}_{1} \cos \bar{\phi }_{1} } & {\bar{b}_{2} \cos \bar{\phi }_{2} } & \cdots \\ \end{array} } \right. \hfill \\ \left. {\begin{array}{*{20}c} {\quad \quad \quad \quad \cdots } & {\bar{b}_{p - 1} \cos \bar{\phi }_{p - 1} } & {\bar{b}_{p} \cos \bar{\phi }_{p} } \\ \end{array} } \right] \hfill \\ \end{aligned}$$

where the norm condition \(\bar{\alpha }_{q} = 1,\quad \left( {\forall q \in \left\{ {1, 2, \ldots , p} \right\}} \right)\) is used. Furthermore, we define the \(\tilde{\phi }_{q}\) as follows.

Fig. 4
figure 4

Relation between vector \(\bar{b}_{q}\) of controlled plant and adaptive vector \(\bar{\alpha }_{q} \left( {\phi_{q} } \right)\)

$$\tilde{\phi }_{q} \left( t \right) = \frac{1}{2}\pi - \bar{\phi }_{q} \left( t \right), \quad q = 1, 2, \ldots , p$$

Using this definition, we rewrite (36) as:

$$\begin{aligned} b^{T} \varLambda \alpha = \left[ { \begin{array}{*{20}c} {\bar{b}_{1} \sin \tilde{\phi }_{1} } & {\bar{b}_{2} \sin \tilde{\phi }_{2} } & \cdots \\ \end{array} } \right. \hfill \\ \left. {\quad \quad \begin{array}{*{20}c} \cdots & {\bar{b}_{p - 1} \sin \tilde{\phi }_{p - 1} } & {\bar{b}_{p} \sin \tilde{\phi }_{p} } \\ \end{array} } \right] \hfill \\ \end{aligned}$$

Therefore, the test signal term can be represented as:

$$b^{T} \varLambda \alpha = S^{T} N\tau$$

where we used the denotations of:

$$S = \left[ { \begin{array}{*{20}c} {\sin \tilde{\phi }_{1} } & {\sin \tilde{\phi }_{2} } & \cdots & {\sin \tilde{\phi }_{p - 1} } & {\sin \tilde{\phi }_{p} } \\ \end{array} } \right]^{T}$$
$$N = diag\left\{ {\bar{b}_{1} , \bar{b}_{2} , \ldots , \bar{b}_{p - 1} , \bar{b}_{p} } \right\}.$$

When the actuators have no fault, matrix \(N\) is positive definite from the assumption that all of the elements in vector \(b\) are non-zero. Even if \(\left( {m - 1} \right)\) actuators have partial/perfect LOE fault, then the matrix is positive or semi-positive definite.

Adaptive law design

Equation (19) is rewritten using (39) as:

$$\begin{aligned} \dot{e} & = \left[ { \begin{array}{*{20}l} {A_{1} e} \hfill \\ {a_{m}^{T} e + \kappa \Delta \theta_{1}^{T} x + \kappa \Delta \theta_{2} r + \kappa \Delta \xi + S^{T} N\tau } \hfill \\ \end{array} } \right] \\ & = A_{0} e + b_{0} \mu \left( t \right), \\ \end{aligned}$$

where \(\mu\) and \(b_{0}\) are as follows.

$$\mu = \kappa \Delta \theta_{1}^{T} x + \kappa \Delta \theta_{2} r + \kappa \Delta \xi + S^{T} N\tau ,$$
$$b_{0} = \left[ { \begin{array}{*{20}c} 0 & \cdots & 0 & 1 \\ \end{array} } \right]^{T} , \quad b_{0} \in {\mathbb{R}}^{n}$$

From the assumption that matrix \(A_{0}\) is stable, the positive definite symmetric matrix solution \(P \in {\mathbb{R}}^{n \times n}\) exists in the Lyapunov equation:

$$A_{0}^{T} P + PA_{0} = - Q$$

where \(Q \in {\mathbb{R}}^{n \times n}\) is a positive definite symmetric matrix. We now define a scalar function \(V\) with matrix \(P\) as:

$$V\left( t \right) = \frac{1}{2}e^{T} Pe + \frac{\kappa }{2}\Delta \theta_{1}^{T} \varGamma_{\theta }^{ - 1} \Delta \theta_{1} + \frac{\kappa }{{2\gamma_{\theta } }}\Delta \theta_{2}^{2} + \frac{\kappa }{{2\gamma_{\xi } }}\Delta \xi^{2} + 2\bar{S}^{T} N\varGamma_{\varPhi }^{ - 1} \bar{S}$$

where \(\bar{S} \in {\mathbb{R}}^{p}\) is defined as follows.

$$\bar{S} = \left[ { \begin{array}{*{20}c} {\sin \frac{1}{2}\tilde{\phi }_{1} } & {\sin \frac{1}{2}\tilde{\phi }_{2} } & \cdots & {\sin \frac{1}{2}\tilde{\phi }_{p - 1} } & {\sin \frac{1}{2}\tilde{\phi }_{p} } \\ \end{array} } \right]^{T}$$

\(\bar{S}\) is obtained by replacing the \(\tilde{\phi }_{q} , \left( {q = 1, 2, \ldots , p} \right)\) with \(\tilde{\phi }_{q} /2\) in (40). Matrices \({{\varGamma }}_{\theta } = diag\left\{ {\gamma_{\theta \left( 1 \right)} , \gamma_{\theta \left( 2 \right)} , \ldots , \gamma_{\theta \left( n \right)} } \right\}\) and \({{\varGamma }}_{{{\varPhi }}} = diag\left\{ {\gamma_{\phi \left( 1 \right)} , \gamma_{\phi \left( 2 \right)} , \ldots , \gamma_{\phi \left( n \right)} } \right\}\) in (46) are chosen as arbitrary positive definite.

We derive the time derivation of (46) as:

$$\dot{V}\left( t \right) = \frac{1}{2}\frac{d}{dt}\left( {e^{T} Pe} \right) + \kappa \Delta \theta_{1}^{T} \varGamma_{\theta }^{ - 1} \Delta \dot{\theta }_{1} + \frac{\kappa }{{\gamma_{\theta } }}\Delta \theta_{2} \Delta \dot{\theta }_{2} + \frac{\kappa }{{\gamma_{\xi } }}\Delta \xi \Delta \dot{\xi } + 2\frac{d}{dt}\left( {\bar{S}^{T} N\varGamma_{\varPhi }^{ - 1} \bar{S}} \right)$$

From (42) and (45), the first term on the right-hand side of (48) can be represented as:

$$\begin{aligned} \frac{1}{2}\frac{d}{dt}\left( {e^{T} Pe} \right) & = \frac{1}{2}\left\{ {\dot{e}^{T} Pe + e^{T} P\dot{e}} \right\} \\ & = \frac{1}{2}\left\{ {\left( {e^{T} A_{0}^{T} + b_{0}^{T} \mu } \right)Pe + e^{T} P\left( {A_{0} e + b_{0} \mu } \right)} \right\} \\ & = \frac{1}{2}\left\{ {e^{T} \left( {A_{0}^{T} P + PA_{0} } \right)e + 2b_{0}^{T} Pe\mu } \right\} \\ & = - \frac{1}{2}e^{T} Qe + b_{0}^{T} Pe\mu . \\ \end{aligned}$$

Then, the rightmost term on the right-hand side of (48) can be varied as:

$$\begin{aligned} 2\frac{d}{dt}\left( {\bar{S}^{T} N\varGamma_{\varPhi }^{ - 1} \bar{S}} \right) = & 2 \cdot 2\bar{S}^{T} N\varGamma_{\varPhi }^{ - 1} \dot{\bar{S}} \\ & = 2 \cdot 2\bar{S}^{T} N\varGamma_{\varPhi }^{ - 1} \left[ { \begin{array}{*{20}c} {\left( {\dot{\tilde{\phi }}_{1} /2} \right)cos\left( {\tilde{\phi }_{1} /2} \right)} \\ {\left( {\dot{\tilde{\phi }}_{2} /2} \right)cos\left( {\tilde{\phi }_{2} /2} \right)} \\ \vdots \\ {\left( {\dot{\tilde{\phi }}_{p} /2} \right)cos\left( {\tilde{\phi }_{p} /2} \right)} \\ \end{array} } \right] \\ & = 2\left[ { \begin{array}{*{20}c} {\sin \frac{1}{2}\tilde{\phi }_{1} \cos \frac{1}{2}\tilde{\phi }_{1} } & {\sin \frac{1}{2}\tilde{\phi }_{2} \cos \frac{1}{2}\tilde{\phi }_{2} } & \cdots \\ \end{array} } \right. \\ & \quad \quad \quad \quad \left. {\begin{array}{*{20}c} \cdots & {\sin \frac{1}{2}\tilde{\phi }_{p} \cos \frac{1}{2}\tilde{\phi }_{p} } \\ \end{array} } \right]N\varGamma_{\varPhi }^{ - 1} \left( {2\left[ {\begin{array}{*{20}c} {\dot{\tilde{\phi }}_{1} /2} \\ {\dot{\tilde{\phi }}_{2} /2} \\ \vdots \\ {\dot{\tilde{\phi }}_{p} /2} \\ \end{array} } \right] } \right) \\ & = S^{T} N\varGamma_{\varPhi }^{ - 1} \dot{\tilde{\varPhi }} \\ \end{aligned}$$

In the variation of the bottom expression, we used the well-known trigonometric formula \(2\sin \theta \cos \theta = \sin 2\theta\). The denotation \(\tilde{\varPhi } \in {\mathbb{R}}^{p}\) is expressed as:

$$\tilde{\varPhi } = \left[ { \begin{array}{*{20}c} {\tilde{\phi }_{1} } & {\tilde{\phi }_{2} } & \cdots & {\tilde{\phi }_{p} } \\ \end{array} } \right]^{T} .$$

From the expressions of (49) and (50), we can write (48) as:

$$\dot{V}\left( t \right) = - \frac{1}{2}e^{T} Qe + b_{0}^{T} Pe\mu + \kappa \Delta \theta_{1}^{T} \varGamma_{\theta }^{ - 1} \Delta \dot{\theta }_{1} + \frac{\kappa }{{\gamma_{\theta } }}\Delta \theta_{2} \Delta \dot{\theta }_{2} + \frac{\kappa }{{\gamma_{\xi } }}\Delta \xi \Delta \dot{\xi } + S^{T} N\varGamma_{\varPhi }^{ - 1} \dot{\tilde{\varPhi }} \to$$

Substituting \(\mu\) of (43) into (52) equation, we obtain:

$$\begin{aligned} \dot{V}\left( t \right) = & - \frac{1}{2}e^{T} Qe + \kappa \Delta \theta_{1}^{T} \left( {b_{0}^{T} Pex + \varGamma_{\theta }^{ - 1} \Delta \dot{\theta }_{1} } \right) + \kappa \Delta \theta_{2} \left( {b_{0}^{T} Per + \frac{1}{{\gamma_{\theta } }}\Delta \dot{\theta }_{2} } \right) \\ & + \,\kappa \Delta \xi \left( {b_{0}^{T} Pe + \frac{1}{{\gamma_{\xi } }}\Delta \dot{\xi }} \right) + S^{T} N\left( {b_{0}^{T} Pe\tau + \varGamma_{\varPhi }^{ - 1} \dot{\tilde{\varPhi }}} \right) \\ \end{aligned}$$

Note that \(b_{0}^{\text{T}} Pe\) becomes scalar in derivation of (53).

We adjust the adaptive parameters \(\theta_{1} , \theta_{2} , \xi\) and \({{\varPhi }}\)ss by using equations:

$$\begin{aligned} & \dot{\theta }_{1} \left( { = \Delta \dot{\theta }_{1} } \right) = - \varGamma_{\theta } b_{0}^{T} Pex, \dot{\theta }_{2} \left( { = \Delta \dot{\theta }_{2} } \right) = - \gamma_{\theta } b_{0}^{T} Per, \\ & \dot{\xi }\left( { = \Delta \dot{\xi }} \right) = - \gamma_{\xi } b_{0}^{T} Pe, \dot{\varPhi }\left( { = \dot{\bar{\varPhi }} = - \dot{\tilde{\varPhi }}} \right) = \varGamma_{\varPhi } b_{0}^{T} Pe\tau \\ \end{aligned}$$

where vectors \({{\varPhi }}, {\bar{{\varPhi }}} \in {\mathbb{R}}^{p}\) are as follows.

$$\varPhi = \left[ { \begin{array}{*{20}c} {\phi_{1} } & {\phi_{2} } & \cdots & {\phi_{p} } \\ \end{array} } \right]^{T} , \bar{\varPhi } = \left[ { \begin{array}{*{20}c} {\bar{\phi }_{1} } & {\bar{\phi }_{2} } & \cdots & {\bar{\phi }_{p} } \\ \end{array} } \right]^{T}$$

Substituting (54) into (56), we obtain:

$$\dot{V}\left( t \right) = - \frac{1}{2}e^{T} Qe$$

It is clear that \(\dot{V} \le 0\), because matrix \(P\) is positive definite, as given in (45). Therefore, the scalar function \(V\) is positive definite and non-increasing for time \(t\), and the signals \(e, {{\Delta }}\theta_{1} ,{{\Delta }}\theta_{2} , {{\Delta }}\xi\) are bounded, as is the case with adaptive parameters \(\theta_{1} ,\theta_{2} , \xi\) from (16). Based on the fact that \(V\) is positive definite and non-increasing, as well as (56), there exists \(\mathop \smallint \limits_{0}^{\infty } \dot{V}{\text{dt}} = \mathop \smallint \limits_{0}^{\infty } \left\{ { - e^{\text{T}} Pe/2} \right\}{\text{dt}} = V\left( \infty \right) - V\left( 0 \right)\), which is a finite value, so \(e \in {\mathcal{L}}_{2}\). Moreover, the plant output x is bounded, and from that, reference model output \(x_{m}\) is bounded in \(e = x - x_{m}\). From (42) and the fact that signals \({{\Delta }}\theta_{1} ,\,{{\Delta }}\theta_{2} , \,{{\Delta }}\xi , \,x, \,r\) and the test signal term \(S^{\text{T}} N\tau\) are bounded, \(\dot{e}\) is also bounded. By using Barbalat’s lemma, we obtain \(e \to 0\) at time \(t \to \infty\) because \(e \in {\mathcal{L}}_{2}\) and its derivative \(\dot{e}\) are bounded.

We now discuss the boundedness of the adaptive parameter vector \({{\varPhi }}\). From (54), \({{\varPhi }}\) can be given as:

$$\varPhi = \smallint \left( {\varGamma_{\varPhi } b_{0}^{T} Pe\tau } \right)dt + \varPhi \left( 0 \right)$$

where \({{\varPhi }}\left( 0 \right)\) is an arbitrary bounded initial value vector. Hence, the test signal and the error signal \(e\) are bounded, and the first term on the right-hand side of the above equation is bounded. From these facts, it is understood that the vector \({{\varPhi }}\) is bounded. We summarize the designed MRAC system, as shown in Fig. 5.

Fig. 5
figure 5

Block diagram of the proposed fault-tolerant adaptive control system

Design of AFD system based on adaptive parameters

In this section, we present a new approach for AFD with input redundancy, and the design process of the AFD system is discussed.

Basic idea

In (34), we introduced the vector \(\bar{b}_{q}\), which corresponds to a pair of redundant actuators. Figure 6 shows \(\bar{b}_{q}\) on the 2D plane. We assume that the vector \(\bar{b}_{q}\) corresponds to a pair of the \(i\)th and \(j\left( { \ne {\text{i}}} \right)\)th actuators. Figure 6a shows the fault-free case, so each element of \(\bar{b}_{q}\) is equal to \(b_{i}\) and \(b_{j}\).

Fig. 6
figure 6

Changes of vector \(\bar{b}\) by corresponding fault patterns

We consider the case where either the \(i\)th or \(j\)th actuator has a fault. As shown in Fig. 6b, the nominal vector \(\bar{b}_{q}\) changes to faulty vector \(\bar{b}^{\prime}_{q}\) after the fault occurrence. This change in the vector differs depending on the faulty location and its magnitude. Therefore, it is possible to estimate the faulty location and its magnitude if the vector \(\bar{b}^{\prime}_{q}\) is known, and if its change can be monitored precisely.

However, the plant parameters \(b_{i} , b_{j}\) and faulty parameters \(\lambda_{i} , \lambda_{j}\) are generally unknown, so \(\bar{b}_{q}\) cannot be obtained directly. Therefore, our idea is to monitor only the direction of \(\bar{b}_{q}\). Figure 7 again shows the changes of vector \(\bar{b}_{q}\) from the perspective of its direction. \(arg\left( \cdot \right)\) refers to the argument of the vector, and \(N\left( \cdot \right)\) is the null-space of the vector. From Fig. 7b, it is clear that the changes of direction also differ depending on the fault location and its magnitude.

Fig. 7
figure 7

Changes to vector \(\bar{b}_{q}\) caused by corresponding fault patterns with argument \(\bar{\theta }\)

Feature value for ratio of control effectiveness

To monitor the direction of vector \(\bar{b}_{q}\) indirectly, we used the adaptive parameter \(\phi_{q}\), which refers to the argument of allocator vector \(\bar{\alpha }_{q}\). In this section, we introduce a feature value for fault diagnosis from the adaptive parameter \(\phi_{q}\).

To discuss the feature value, we assume that the following are satisfied on the designed MRAC system in “Fault-tolerant adaptive control design with adaptive allocator” section.

  1. 1.

    When sufficient time has passed from the time the control is started, tracking error \(e\) converges to \(0\), and its time derivative \(\dot{e}\) also converges to \(0\).

  2. 2.

    We assume that the reference input \(r\) is a step-like signal, so \(\dot{r} = 0\) is satisfied when sufficient time has passed.

  3. 3.

    A fault that is represented in (5) or (6) may occur in one actuator. In other words, only one actuator may have a fault, and the remaining ones are fault-free at every moment.

Next, based on these assumptions, we show that the adaptive allocator \(\bar{\alpha }_{q}\) indicates an orthogonal direction to vector \(\bar{b}_{q}\).

When sufficient time has passed from the start of the control operation, the following equation is held from the assumption 1) and (42).

$$0 = \kappa \left( {\Delta \theta_{1}^{T} x + \Delta \theta_{2} r + \kappa \Delta \xi } \right) + S^{T} N\tau$$

Then, based on assumption (1) and (54), each time derivative of the adaptive parameter is as follows.

$$\Delta \dot{\theta }_{1} = 0, \Delta \dot{\theta }_{2} = \Delta \dot{\xi } = 0, \quad \dot{\varPhi }\left( { = \dot{\tilde{\varPhi }}} \right) = 0$$

The time derivative of (58) can be calculated from the above results and assumption (2) as follows:

$$0 = S^{T} N\dot{\tau }$$

For the test signals in which its time derivatives are bounded and independent of each other, \(S = 0\) is needed to satisfy the above equation. Therefore, the adaptive parameter satisfies,

$$\tilde{\phi }_{q} = n_{q} \pi , \quad \forall q = \left\{ {1, 2, \ldots , p} \right\}.$$

where \(n_{q} \in {\mathbb{Z}}\) is an integer corresponding to index \(q\). From (61) and (37), we obtained the following relations.

$$\begin{aligned} \tilde{\phi }_{q} = & \frac{1}{2}\pi - \bar{\phi }_{q} = n_{q} \pi \\ & - \bar{\phi }_{q} = \frac{\pi }{2}\left( {2n_{q} - 1} \right) \\ \end{aligned}$$

We found that the allocator \(\bar{\alpha }_{q}\) is orthogonal to the vector \(\bar{b}_{q}\) when the above equation is satisfied.

Figure 8 shows the plot of \(\bar{\alpha }_{q}\) which corresponds to vector \(\bar{b}_{q}\). When \(\bar{\alpha }_{q}\) is orthogonal to the vector \(\bar{b}_{q}\), vector \(\bar{b}_{q}\) can be expressed as follows.

Fig. 8
figure 8

Alternative representation of \(\bar{b}\) with adaptive parameter \(\phi\) based on the orthogonal condition \(\bar{b} \bot \bar{\alpha }\)

$$\begin{aligned} \bar{b}_{q} & = \left[ { \begin{array}{*{20}c} {b_{i} \lambda_{i} } & {b_{j} \lambda_{j} } \\ \end{array} } \right]^{T} \\ & = \bar{b}_{q} \left[ { \begin{array}{*{20}c} {\sin \phi_{q} } & { - \cos \phi_{q} } \\ \end{array} } \right]^{T} \left( {or = \bar{b}_{q} \left[ { \begin{array}{*{20}c} { - \sin \phi_{q} } & {\cos \phi_{q} } \\ \end{array} } \right]^{T} } \right) \\ \end{aligned}$$

Using this expression, we can calculate the ratio \(R_{q} , \quad \forall q \in \left\{ {1, 2, \ldots , p} \right\}\) of the first element in the vector \(\bar{b}_{q}\) as:

$$\begin{aligned} R_{q} & = \frac{{\left( {\lambda_{i} b_{i} } \right)^{2} }}{{\left( {\lambda_{i} b_{i} } \right)^{2} + \left( {\lambda_{j} b_{j} } \right)^{2} }} \\ & = \frac{{\bar{b}^{2} \sin^{2} \phi_{q} }}{{\bar{b}^{2} \left( {\sin^{2} \phi_{q} + \cos^{2} \phi_{q} } \right)}} = \sin^{2} \phi_{q} \\ \end{aligned}$$

This result means that it is possible to obtain the ratio of \(i\)th control effectiveness in a pair of \(i\)th and \(j\)th redundant actuators using only the adaptive parameter \(\phi_{q}\). Moreover, from the assumption (3), increasing or decreasing of a ratio \(R_{q}\) can be considered as the fault in \(i\)th or \(j\)th actuator.

FD system design

We calculated the proposed feature value \(R\) in (64) from the adaptive parameter, and the discussion for \(R\) has been based on the steady state of the system. In actual case, the adaptive parameter based feature value \(R\) may be moved in response to the disturbance, and there exists the transient state during system operation. Therefore, we should utilize other available signals in addition to the feature value \(R\), in the FD process.

We constructed a classifier of an actuator fault using the machine-learning technique. Therefore, the proposed AFD system requires a preliminary experiment for the learning.

The overview of the proposed MRAC system with the AFD module is illustrated in Figs. 9 and 10a shows the schematic of the proposed AFD system. This AFD system outputs the fault diagnostic information \(f\) by monitoring the signals \(e,\, r, \,\dot{x}_{m}\) and \(\phi\). The diagnostic information \(f\) has two elements as follows:

$$f = \left[ { \begin{array}{*{20}c} {f_{1} } & {f_{2} } \\ \end{array} } \right]^{T} = \left[ { \begin{array}{*{20}c} {\hat{i}} & {\hat{\lambda }_{i} } \\ \end{array} } \right]^{T}$$

where \(\hat{i}, \;\left( {\hat{i} \in \left\{ {0, 1, \ldots , m} \right\}} \right)\) is the estimated fault location, and \(\hat{\lambda }_{i}\) is the estimate of the fault magnitude of the \(\hat{i}\)-th actuator. When it is seen that no actuator has any fault, then the \(\hat{i}\) indicates \(\hat{i} = 0\).

Fig. 9
figure 9

System diagram of the MRAC and fault-diagnosis unit

Fig. 10
figure 10

Fault-diagnosis Unit

NN-based fault estimator

The core of the fault-diagnosis module is the NN model shown in Fig. 10b. Because the nonlinear relationship between fault magnitude and the feature value, we use the NN model which is known to be effective in approximating nonlinear functions as a failure estimator in this paper. In this study, we used the extreme learning machine (ELM) technique [30, 31] to learn the NN model. ELM is a machine-learning method that was proposed by Huang et al. One of the major advantages of ELM is that it does not perform the repeated calculation for the learning. Another advantage is the simple structure of the NN model, as shown in Fig. 10b.

NN model output \(Y = \left[ { y_{1} , y_{2} , \ldots , y_{2m} } \right]^{\text{T}} , \quad Y \in {\mathbb{R}}^{2m}\) is given as:

$$y_{i} = h\left( X \right)\beta_{i} , \quad \forall i \in \left\{ {1, 2, \ldots , 2m} \right\}$$

where \(\beta_{i} = \left[ { \beta_{i\left( 1 \right)} , \beta_{i\left( 2 \right)} , \ldots , \beta_{i\left( z \right)} } \right]^{\text{T}}\) is the output weighting vector from the hidden layer to the output layer. \(z, \left( {z \in {\mathbb{Z}},\text{ }\quad z > 2m} \right)\) is the number of nodes in the hidden layer, and it is one of the design parameters of ELM. Input signal \(X \in {\mathbb{R}}v\) of the NN model is represented as:

$$\begin{aligned} X\left( k \right) = & \left[ {\begin{array}{*{20}l} {e\left( k \right)} \hfill & {r\left( k \right)} \hfill & {\dot{x}_{m}^{T} \left( k \right)} \hfill & {R^{T} \left( k \right)} \hfill \\ \end{array} } \right]^{T} , \\ R\left( k \right) = & \left[ {\begin{array}{*{20}c} {R_{1} \left( k \right)} & {R_{2} \left( k \right)} & \cdots & {R_{p} \left( k \right)} \\ \end{array} } \right]^{T} \\ \end{aligned}$$

where \(k \in {\mathbb{Z}}\) refers to the step number of discrete time. The order \(v\) of vector \(X\) becomes \(v = \left( {n + p + 2} \right)\) from (67). In this study, we used the following sigmoid function as the activating function \(h\left( X \right)\).

$$h_{i} \left( X \right) = \frac{1}{{1 + \exp \left( { - A_{s\left( i \right)} X - B_{s\left( i \right)} } \right)}}$$

where \(A_{s\left( i \right)} \in {\mathbb{R}}^{v}\) and \(B_{s\left( i \right)} \in {\mathbb{R}}^{v}\) are the parameters that characterize the activating function. These parameters are randomly determined once, and are not reconstructed. The weighting vector \(\beta_{i}\) is calculated as follows:

$$\beta_{i} = H^{T} \left( {\frac{I}{C} + HH^{T} } \right)^{ - 1} \bar{Y}_{i}$$

where \(C\) is a positive scalar that is given by the designer. \(H\) and \(\bar{Y}_{i}\) are respectively the output matrix and correct data vector corresponding to the learning data \(\hat{X}\), and they are given as follows:

$$H = \left[ { \begin{array}{*{20}c} {h^{T} \left( {\hat{X}\left( 1 \right)} \right)} & {h^{T} \left( {\hat{X}\left( 2 \right)} \right)} & \cdots & {h^{T} \left( {\hat{X}\left( {n_{t} } \right)} \right)} \\ \end{array} } \right]^{T} ,$$
$$\hat{Y}_{i} = \left[ { \begin{array}{*{20}c} {\hat{y}_{i} \left( 1 \right)} & {\hat{y}_{i} \left( 2 \right)} & \cdots & {\hat{y}_{i} \left( {n_{t} } \right)} \\ \end{array} } \right]^{T} ,$$

where \(n_{t}\) is the number of samples that is included in the learning data, so \(H \in {\mathbb{R}}^{{n_{t} \times z}} , \hat{Y}_{i} \in {\mathbb{R}}^{{n_{t} }}\).

In the ELM learning, the weighting parameters \(A_{s\left( i \right)}\), \(B_{s\left( i \right)}\) among the input layer and hidden layer are not reconfigured, and the weighting parameters \(\beta_{i}\) can be determined uniquely using (69). Therefore, if the order of the learning data is not large, the learning step can be completed quickly, and the computation time is short

FD algorithm

Figure 11 shows the FD algorithm that outputs the FD result from the output of the NN model. First, the algorithm selects the maximum of \(y_{j} \in \left\{ {1, 2, \ldots , m} \right\}\) in \(Y\), and names it \(i\). If the sign of \(y_{i}\) is positive, then the \(i\)-th actuator is assumed to be faulty and \(i\) is assigned to \(f_{1}\). Furthermore, \(y_{m + i}\), which refers to the estimated fault magnitude of the \(i\)th actuator, is assigned to \(f_{2}\), (i.e., \(f_{2} = y_{m + i}\)).

Fig. 11
figure 11

Pseudo code of the fault detection and isolation, and magnitude estimation

Experimental example

Experimental setup and conditions

In this section, we perform the verification experiments of the proposed AFD system and the fault-tolerant adaptive control system. The main purpose of this experiment is to confirm the applicability of the proposed method in an actual plant. The experimental equipment is shown in Fig. 12. Using the experimental equipment shown in Fig. 12, we confirm the effectiveness and applicability of the proposed fault- tolerant adaptive control system and AFD system. Table 1 lists the specifications of the experimental plant. In this plant, one rotary shaft is driven by two actuators with a timing belt. Each actuator consists of a DC motor and a motor driver, and it generates a torque in response to individual command voltages.

Fig. 12
figure 12

Experimental plant setup

Table 1 Specifications of experimental plant

The experimental mechanical plant can be modeled as the following two-input first-order system.

$$\dot{x}_{p} \left( t \right) = a_{p} x\left( t \right) + b_{p}^{T} u\left( t \right),$$
$$b_{p} = \left[ { \begin{array}{*{20}c} {b_{p1} } & {b_{p2} } \\ \end{array} } \right]^{T} , \; u = \left[ { \begin{array}{*{20}c} {u_{1} } & {u_{2} } \\ \end{array} } \right]^{T}$$

where \(b_{p1} , b_{p2} > 0\). We provide the stable reference model as:

$$\dot{x}_{m} \left( t \right) = - 0.4x_{m} \left( t \right) + 10r\left( t \right),$$
$$r\left( t \right) = 1, \quad \forall t \ge 0.$$

And the constant vector \(L\) in (11) is,

$$L = \left[ { \begin{array}{*{20}c} 1 & 2 \\ \end{array} } \right]^{T} .$$

We chose the following periodic signal as the test signal for AFD.

$$\tau \left( t \right) = 0.05\left( {\sin \left( {0.8\pi t} \right) + \sin \left( {1.5\pi t} \right)} \right)$$

Equation (54) implies the adaptation of the parameter Φ proceeds by the tracking error which includes a test signal response of the plant. Thus, if a prior information about approximate dynamic characteristics of the plant is available, a test signal with a frequency that is hard to be decayed in the plant should be selected. A relatively low frequency signal was chosen for this experimental test signal due to the low-pass characteristics of the experimental plant. In addition, the test signal consists of sine waves with different periods and has a certain magnitude, for the speed of adaptation. Each adaptive parameter has the following initial value, and the adaptive gain is as follows:

(Initial parameters)

$$\theta_{1} \left( 0 \right) = 0.01, \theta_{2} \left( 0 \right) = 0.5, \xi \left( 0 \right) = 0, \varPhi \left( 0 \right) = \phi_{1} \left( 0 \right) = 0.$$

(Adaptive gains)

$$\varGamma_{\theta } = \gamma_{\theta \left( 1 \right)} = 1.0 \times 10^{ - 5} , \; \gamma_{\theta } = 5.0 \times 10^{ - 5} , \; \gamma_{\xi } = 5.0 \times 10^{ - 5} ,\; \varGamma_{\varPhi } = \gamma_{\phi \left( 1 \right)} = 10$$

In the experiment, we implemented the actuator fault using the following equation.

$$u\left( t \right) = \varLambda u_{c} \left( t \right) + \bar{u}\left( t \right),\quad \varLambda = diag\left\{ {\lambda_{1} , \lambda_{2} } \right\}$$

where the fault parameters \(\lambda_{1} , \lambda_{2}\) and signal \(\bar{u}\) are calculated using (5) or (6). The design parameters of ELM learning in the FD system are as follows.

$$Z = 46, C = 2^{36} .$$

Preliminary experiment

In the experimental plant, there is only one way of making a pair of redundant actuators. Therefore, the feature value that is introduced in (64) corresponds to a scalar \(R_{1}\). When the actuators have no fault,\(R_{1}\) has an unknown value in \(0 < R_{1} < 1\), from the discussion in “Feature value for ratio of control effectiveness” section. As the fault magnitude of the first actuator becomes large, \(R_{1}\) decreases toward \(0\). On the other hand, as the fault magnitude of the second actuator becomes large, \(R_{1}\) increases toward 1. Therefore, it can be seen that adjusting the \(R_{1}\) such that \(R_{1} = 0.5\) is satisfied in the fault-free case has an advantage for fault diagnosis. For such an advantage, we give a weighting matrix \(W\) to the test signal allocator.

$$u_{c} = L\left\{ {\theta_{1}^{T} x + \theta_{2} r + \xi } \right\} + W\alpha \tau , \quad W = diag\left\{ {1, w} \right\}, \quad w > 0$$

From (72) and (78), the control effort \(E_{\tau }\) that the test signal generates in the plant can be represented as:

$$\begin{aligned} E_{\tau } & = b_{p}^{T} \varLambda W\alpha \tau \\ & = \left[ { \begin{array}{*{20}c} {b_{p1} } & {wb_{p2} } \\ \end{array} } \right]\alpha \tau \\ \end{aligned}$$

where we used \({{\varLambda }} = I\) because we now consider the fault-free case. Equation (81) shows that the ratio \({{wb_{p2} } \mathord{\left/ {\vphantom {{wb_{p2} } {b_{p1} }}} \right. \kern-0pt} {b_{p1} }}\) of elements in the vector \(b_{p}\) can be adjusted by manipulating the weighting constant \(w\). Applying the weighting matrix \(W\) to the test signal allocator corresponds to transforming the vector \(b_{p}\) with positive definite diagonal matrix \(W\). As a result, we note that the discussion about the MRAC system in Sect. 4 does not lose its generality.

We performed the preliminary experiments to determine the weight parameter \(w\). We began the preliminary experiment with a weight parameter \(w = 1\), and other experimental conditions are as shown in “Experimental setup and conditions” section. By performing the preliminary experiment, we obtained a desirable control result. We also determined that \(\phi_{s} = - 7.39\)[rad] is the experimental convergence value of the adaptive parameter \(\phi\) from the fault-free preliminary experiment. Figure 13 shows the adaptive allocator \(\alpha \left( \phi \right)\) with \(\phi = \phi_{s}\). The plant vector \({\text{b}}_{\text{p}}\) can be expressed as follows based on the assumption that the vector \(\alpha \left( {\phi_{s} } \right)\) is orthogonal to the vector \(b_{p}\).

$$\begin{aligned} b_{p} & = \left[ { \begin{array}{*{20}c} {b_{p1} } & {b_{p2} } \\ \end{array} } \right]^{T} \\ & = b_{p} \left[ { \begin{array}{*{20}c} { - \sin \phi_{s} } & {\cos \phi_{s} } \\ \end{array} } \right]^{T} \\ & = b_{p} \left[ { \begin{array}{*{20}c} {0.8942} & {0.4475} \\ \end{array} } \right]^{T} \\ \end{aligned}$$

where we assume that each element of the vector \(b_{p}\) is positive. From this result, we determine the weight parameter as \(w = {{ - \cos \phi_{s} } \mathord{\left/ {\vphantom {{ - \cos \phi_{s} } {\sin \phi_{s} }}} \right. \kern-0pt} {\sin \phi_{s} }} = 1.998\) for the main experiment.

Fig. 13
figure 13

Linear transformation of vector \(\bar{b}_{p}\) with weighting matrix \(W\) for correction of the feature value \(R_{1}\)

Main experimental result

Because of space limitations, we present only a part of the experimental results here. Figure 14 shows an experimental result. In this case, the second actuator has a partial LOE fault with magnitude \(\lambda_{2} = 0.4\) at \(150\)(s) from the start of the experiment. In the Fig. 14, the upper plot shows the plant output and reference model output, while the middle and lower plots show the first input \(u_{c1}\) and second input \(u_{c2}\) of the plant, respectively. With respect to the period before \(150\)(s), we see that the plant output converges to the model output. Then, the plant inputs \(u_{c1} , u_{c2}\) are consistently vibrated even after the plant output converges to the model output. At \(150\)(s), the second actuator has a partial LOE fault. We confirmed that the reference model tracking is maintained after the fault occurs.

Fig. 14
figure 14

Experimental result in the case where the second actuator has a partial LOE (\(\lambda_{2} = 0.4\)) after \(150\) [second]

Figure 15 shows the AFD result in the experiment of Fig. 14. Figure 15a shows a discrete-time series of elements in the ELM input vector \(X\), and (b) shows a discrete-time series of the FD result. In plot (b), we can see that \(f_{1}\) is almost \(0\) when the actuator has no fault. About \(200\) steps after the fault occurrence, \(f_{1}\) is 2, and then \(f_{2}\) gradually tends to 0.4.

Fig. 15
figure 15

Feature values and FD results in the case where the second actuator has a partial LOE (\(\lambda_{2} = 0.4\)) after \(3000\) [step]

An accuracy rate of \(f_{1}\), which indicates the fault detection and isolation result, is summarized in Table 2. The content of the table was obtained from six experiments in total, and it includes the result of Fig. 15. The number of samples of each experimental dataset which was used to plot Table 2 and to learn ELM is presented in Table 3. Table 3 shows the number of datasets used for training and verification for each fault condition. From this table, it can be seen the data corresponding to the condition in Fig. 15 (\(\lambda = 0.4\)) does not exist in the learning data. Nevertheless, the fault diagnosis has been achieved as shown in Fig. 15b. This also shows the high generalization performance of the proposed FD system using ELM. From Table 2 and Fig. 15, we confirmed that the proposed FD system can estimate the fault occurrence and its location with high accuracy.

Table 2 FD accuracy rate (about \(f_{1}\))
Table 3 Number of samples of experimental data that were used to learn ELM, and to calculate the accuracy rate of the FD results obtained from the constructed FD system

We performed an experiment on a simple two-input machine-based plant to verify the proposed method in this section. In recent years, systems with redundant actuators, such as those seen in drones and electric/hybrid-electric vehicles [32], have attracted much attention. The proposed FD method and the fault-tolerant control design also have the potential to be applied to such the input redundant systems.


Here, we summarize the main contributions of this paper.

  1. 1.

    The new approach to the AFD for the input redundant plant which utilizes the adaptive test signal allocator in the control system [29] was proposed.

  2. 2.

    The fault-tolerant adaptive control system which includes the proposed adaptive allocator was designed by using the MRAC technique.

  3. 3.

    We introduced the feature value which indirectly indicates individual effectiveness of redundant actuators from the adaptive parameter of the proposed adaptive allocator.

  4. 4.

    An FD system that detects the fault occurrence and estimates its location and magnitude from the introduced feature value was constructed.

  5. 5.

    The applicability and the fault-tolerance of the designed FD system and fault- tolerant adaptive control system [29] was confirmed through the experiments with a two-input redundant meachine-based plant.

  6. 6.

    In the experiments, the constructed FD system detected the fault occurrence and estimated its location with the accuracy rate of more than 91%.

Availability of data and materials

The datasets used during the current study are available from the corresponding author on reasonable request.


  1. Isermann R, Raab U (1993) Intelligent actuators—ways to autonomous actuating systems–. Automatica 29(5):1315–1331

    Article  Google Scholar 

  2. Ryll M, Bulthoff HH, Giordano PR (2015) Novel overactuated quadrotor unmanned aerial vehicle: modeling, control, and experimental validation. IEEE Trans Control Syst Technol 23:2

    Article  Google Scholar 

  3. Isermann R, Schwartz R, Stolzl S (2002) Fault-tolerant drive-by-wire systems. IEEE Control Syst Mag 22(5):64–81

    Article  Google Scholar 

  4. Oppenheimer MW, Doman DB, Bolender MA (2006) Control allocation for over-actuated systems. In: 14th mediterranean conference on control and automation

  5. Boskovic JD, Yu S-H, Mehra RK (1998) A stable scheme for automatic control reconfiguration in the presence of actuator failures. In: Proceedings of the 1998 American control conference, pp. 2455–2459

  6. Tao G, Chen S, Joshi SM (2002) An adaptive control scheme for systems with unknown actuator failures. Automatica 38:1027–1034

    Article  MathSciNet  Google Scholar 

  7. Guo J, Tao G (2012) Adaptive fault detection and fault-tolerant control of NASA generic transport aircraft model. In: Proceedings of the 2012 IFAC symposium on fault detection, supervision and safety of technical processes, Mexico City, Mexico, pp. 307–312

  8. Guo J, Tao G, Liu Y (2014) Adaptive actuator failure and structural damage compensation of NASA generic transport model. J Dyn Syst Meas Contr 136(3):1–10

    Article  Google Scholar 

  9. Liu Y, Crespo LG (2012) Adaptive control allocation in the presence of actuator failures. J Contr Sci Eng 2012:1–16

    Article  MathSciNet  Google Scholar 

  10. Yu X, Jiang J (2015) A survey of fault-tolerant controllers based on safety-related issues. Ann Rev Contr 39:46–57

    Article  Google Scholar 

  11. Hwang I, Kim S, Kim Y, Seah CE (2010) A survey of fault detection, isolation, and reconfiguration methods. IEEE Trans Control Syst Technol 18(3):636–653

    Article  Google Scholar 

  12. Isermann R (2011) Fault-diagnosis applications: model-based condition monitoring: actuators, drives, machinery, plants, sensors, and fault-tolerant systems. Springer, Berlin

    MATH  Google Scholar 

  13. Ding SX (2008) Model-based fault diagnosis techniques: design schemes, algorithms, and tools, 1st edn. Springer, Berlin

    Google Scholar 

  14. Venkatasubramanian V, Rengaswamy R, Yin K, Kavuri SN (2003) A review of process fault detection and diagnosis: part I: quantitative model-based methods. Comput Chem Eng 27:313–326

    Article  Google Scholar 

  15. Venkatasubramanian V, Rengaswamy R, Kavuri SN (2003) A review of process fault detection and diagnosis: Part ii: Qualitative models and search strategies. Comput Chem Eng 27:313–326

    Article  Google Scholar 

  16. Venkatasubramanian V, Rengaswamy R, Kavuri SN, Yin K (2003) A review of process fault detection and diagnosis: part III: process history based methods. Comput Chem Eng 27:327–346

    Article  Google Scholar 

  17. Ducard GJJ. Fault-tolerant flight control and guidance systems –practical methods for small unmanned aerial vehicles

  18. Takahashi M (2003) A self-repairing control system for plants with faulty actuators. In: Proceedings of the 42nd IEEE conference on decision and control, pp. 1473–1475

  19. Ducard GJJ, Geering HP (2008) Efficient nonlinear actuator fault detection and isolation system for unmanned aerial vehicles. J Guid Contr Dyn 31(1):225–237

    Article  Google Scholar 

  20. Niemann H, Poulsen NK (2014) Active fault detection in mimo systems. In: Proceedings of the 2014 American control conference, pp. 1975–1980

  21. Ashari AE, Nikoukhah R, Campbell SL (2012) Effects of feedback on active fault detection. Automatica 48(5):866–872

    Article  MathSciNet  Google Scholar 

  22. Elgersma M, Enns D, Shald S (1998) Parameter identification for systems with redundant actuators, pp. 109–117

  23. Zaccarian L (2009) Dynamic allocation for input redundant control systems. Automatica 45:1431–1438

    Article  MathSciNet  Google Scholar 

  24. Kawaguchi N, Sato T, Araki N, Konishi Y (2015) Experimental study for control allocation method based on strong input redundancy. In: Proceedings of IEEJ international workshop on sensing, actuation, and motion control, Nagoya Japan

  25. Bateman F, Noura H, Ouladsine M (2007) Actuators fault diagnosis and tolerant control for an unmanned aerial vehicle. In: 2007 IEEE international conference on control applications, pp. 1061–1066

  26. Bateman F, Noura H, Ouladsine M (2011) Fault diagnosis and fault-tolerant control strategy for the aerosonde uav. IEEE Trans Aerosp Electron Syst 47:3

    Article  Google Scholar 

  27. Bateman F, Noura H, Ouladsine M (2011) Active fault diagnosis and major actuator failure accommodation: application to a UAV, advances in flight control systems. In: Balint DA, ed. Advances in flight control systems, pp. 137–158.

  28. Boskovic JD, Redding J, Mehra RK (2007) Stable adaptive reconfigurable flight control with self-diagnostics. In: proceedings of the 2007 American control conference, pp. 5765–5770

  29. Kawaguchi N, Araki N, Sato T, Konishi Y (2018) A design of fault-tolerant adaptive control with external signal injection for input-redundant linear plant. Trans Inst Syst Control Inf Eng 30(10):386–394

    Google Scholar 

  30. Huang G-B, Zhu Q-Y, Siew C-K (2006) Extreme learning machine: theory and applications. Neurocomputing 71(16–18):489–501

    Article  Google Scholar 

  31. Huang G-B, Zhou H, Ding X, Zhang R (2012) Extreme learning machine for regression and multiclass classification. IEEE Trans Syst Man Cybernet Part B 42(2):513–529

    Article  Google Scholar 

  32. Ehsani M, Gao Y, Longo S, Ebrahimi K (2018) Modern electric, hybrid electric, and fuel cell vehicles. CRC Press, New York

    Google Scholar 

Download references


Not applicable.


Not applicable.

Author information

Authors and Affiliations



NK performed both the derivation of theoretical result and verification experiment, and was main contributor in writing the manuscript. All authors read and approved the final manuscript.

Corresponding author

Correspondence to Natsuki Kawaguchi.

Ethics declarations

Competing interests

The authors declare that they have no competing interests.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Kawaguchi, N., Araki, N., Sato, T. et al. Active fault-diagnosis method using adaptive allocator and fault-tolerant adaptive control system design. Robomech J 7, 28 (2020).

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: