Transactions of Nanjing University of Aeronautics and Astronautics  2018, Vol. 35 Issue (2): 318-325   PDF    
Fault Estimation and Accommodation for a Class of Nonlinear System Based on Neural Network Observer
Wang Ruonan, Jiang Bin, Liu Jianwei     
College of Automation Engineering, Nanjing University of Aeronautics and Astronautics, Nanjing 211106, P. R. China
Abstract: The problem of fault estimation and accommodation of nonlinear systems with disturbances is studied using adaptive observer and neural network techniques. A robust adaptive learning algorithm based on switching βs-modification is developed to realize the accurate and fast estimation of unknown actuator faults or component faults. Then a fault tolerant controller is designed to restore system performance. Dynamic error convergence and system stability can be guaranteed by Lyapunov stability theory. Finally, simulation results of quadrotor helicopter attitude systems are presented to illustrate the efficiency of the proposed techniques.
Key words: actuator fault    component fault    neural network    adaptive observer    fault tolerant controller    
0 Introduction

As engineering systems and industrial processes become more and more complex, the requirements for system reliability and security are continuously growing. Once the system fails, it may lead to performance degradation, sometimes even system break-down. So, this necessity has motivated a significant research in the model-based fault tolerant control (FTC) techniques which need early fault detection (FD) and isolation (FI)[1-4].

The most common approaches for model-based FD are based on the state or parameter estimation schemes, which employ techniques such as the a daptive observer[5], the sliding mode observer[6] and the geome tric approaches[7]. Among these studies, adaptive observer-based approaches have been extensively considered due to their extensive applicability and good fault reconstruction capability[5, 8-14]. An adaptive observer has been employed to diagnose the actuator and sensor faults in the linear time-varying systems in Ref.[8]. This scheme needs certain necessary conditions which limits its application. Zhang et al. presented a fault diagnosis and isolation scheme for a class of Lipschitz, uncertain nonlinear systems with partial state measurements[13], while the fault functions are assumed to be linear in parameters with known functions. Recently, neural networks (NNS) has been applied to the fault diagnosis problem because of its good capabilities in function approximation[15-16]. An adaptive fault diagnosis scheme was developed [15] where neural network was employed to approximate the nonlinearities. Multiplicative actuator fault detection scheme using online neural network lear ning are designed and analyzed, but the faults are not estimated[16].

Fault accommodation is the strategy to achieve desired performance where the controller reacts to the occurrence of faults[17-22]. A fault tolerant con troller was proposed based on adaptive observer[18], but the solution between the fault estimation observer and fault tolerant control was in a certain coupling. In Ref.[21], a new method of fault accommodation scheme was proposed with the neural network to approximate the nonlinear system, while the system state was known before hand.

The motivation of our work is to establish a novel adaptive faul testimation and accommodation scheme for Lipschitz nonlinear systems subject to actuator or component faults. To estimate the fault, an observer based on adapt ive control and neural network techniques is designed. Then, a fault tolerant controller is developed to compensate for the fault effects for the systems.

1 Problem Statement

Consider a fault-free nonlinear system

$ \left\{ \begin{array}{l} \mathit{\boldsymbol{\dot x}}\left( t \right) = \mathit{\boldsymbol{Ax}}\left( t \right) + \mathit{\boldsymbol{Bu}}\left( t \right) + \mathit{\boldsymbol{\phi}} \left( {\mathit{\boldsymbol{x}},\mathit{\boldsymbol{u}},t} \right) + \mathit{\boldsymbol{Dd}}\left( t \right)\\ \mathit{\boldsymbol{y}}\left( t \right) = \mathit{\boldsymbol{Cx}}\left( t \right) \end{array} \right. $ (1)

where x(t)∈Rn represents the unknown state vector, y(t)∈Rp the measurable output vector, and u(t)∈Rm the control input vector. ϕ(x, u, t) and d(t)∈Rq are the smooth vector fields that represent the known dynamics of the nominal model and an external disturbance vector which satisfies ‖d(t)‖≤μ1, respectively, and A, B, C, D the known matrices with proper dimensions.

Suppose there occurs faults which are usually mixed with system states and inputs, then the system can be expressed as

$ \left\{ \begin{array}{l} \mathit{\boldsymbol{\dot x}}\left( t \right) = \mathit{\boldsymbol{Ax}}\left( t \right) + \mathit{\boldsymbol{Bu}}\left( t \right) + \mathit{\boldsymbol{\phi}} \left( {\mathit{\boldsymbol{x}},\mathit{\boldsymbol{u}},t} \right) + \\ \;\;\;\;\;\;\mathit{\boldsymbol{Dd}}\left( t \right) + \mathit{\boldsymbol{E}}\beta \left( {t - T} \right)\mathit{\boldsymbol{f}}\left( {\mathit{\boldsymbol{x}},\mathit{\boldsymbol{u}},t} \right) \\ \mathit{\boldsymbol{y}}\left( t \right) = \mathit{\boldsymbol{Cx}}\left( t \right) \end{array} \right. $ (2)

where f(x, u, t)∈Rr denotes unknown time-varying fault function which can not only represent actuator faults but also system component faults, and E the fault distribution matrix with proper dimension. β(tT) describes the time profile of the fault with the following form

$ \beta \left( {t - T} \right) = \left\{ \begin{array}{l} 0\;\;\;\;t \le T\\ 1\;\;\;\;t > T \end{array} \right. $ (3)

where T≥0 is the unknown fault occurrence time.

Assumption 1  (A, C) is observable and (A, B) is controllable.

Assumption 2  The nonlinear term ϕ(x, u, t) is Lipschitz in x with Lipschitz constant γ, i. e.

$ \left\| {\mathit{\boldsymbol{\phi}} \left( {\mathit{\boldsymbol{x}},\mathit{\boldsymbol{u}},t} \right) - \mathit{\boldsymbol{\phi}} \left( {\mathit{\boldsymbol{\hat x}},\mathit{\boldsymbol{u}},t} \right)} \right\| \le \gamma \left\| {\mathit{\boldsymbol{x}} - \mathit{\boldsymbol{\hat x}}} \right\| $ (4)

Lemma 1  Assume that X and Y are vectors or matrices with appropriate dimensions, then for any positive scalar α, the following inequality holds

$ 2{\mathit{\boldsymbol{X}}^{\rm{T}}}\mathit{\boldsymbol{Y}} \le \frac{1}{\alpha }{\mathit{\boldsymbol{X}}^{\rm{T}}}\mathit{\boldsymbol{X}} + \alpha {\mathit{\boldsymbol{Y}}^{\rm{T}}}\mathit{\boldsymbol{Y}} $ (5)

In this paper, the radial basis function neural network (RBFNN) is used to approximate the unknown fault function f(x, u, t). The RBFNN is a kind of single-hidden-layer neural network which is composed of three layers: The input layer, hidden layer and output layer.

$ \mathit{\boldsymbol{f}}\left( {\mathit{\boldsymbol{x}},\mathit{\boldsymbol{u}},t} \right) = {W^{ * {\rm{T}}}}\mathit{\boldsymbol{\sigma }}\left( {\mathit{\boldsymbol{X}},\mathit{\boldsymbol{\delta }}} \right) + \varepsilon $ (6)

where W* = [W1*, W2*, …, WN*]T is the ideal weight matrix, X=[xT uT]TAd the input vector including the state vector and input vector. σ=[σ1, σ2, …, σN]T is the radial basis function and is usually chosen as σi = exp(-‖X-δi2/di2) with centre vector δi and width di, and N the node number of hidden layer. Suppose

$ \left\{ \begin{array}{l} \mathit{\Omega } = \left\{ {\mathit{\boldsymbol{W}}:{\mathit{\boldsymbol{W}}^2} \le {w_m}} \right\}\\ {\mathit{\boldsymbol{W}}^ * } = \arg \mathop {\min }\limits_{\mathit{\boldsymbol{W}} \in {\mathit{\Omega }_\mathit{\boldsymbol{W}}}} \left[ {\mathop {\sup }\limits_{\mathit{\boldsymbol{X}} \in {A_d}} \left| {\mathit{\boldsymbol{f}}\left( {\mathit{\boldsymbol{x}},\mathit{\boldsymbol{u}},\mathit{\boldsymbol{W}}} \right) - } \right.} \right.\\ \;\;\;\;\;\;\;\left. {\left. {\mathit{\boldsymbol{f}}\left( {\mathit{\boldsymbol{x}},\mathit{\boldsymbol{u}},t} \right)} \right|} \right] \end{array} \right. $ (7)

where W is the real weight vector and wm > 0 the designed parameter.

Assumption 3  ε is the optimal approximation error and is bounded, that is |ε|≤ε0, ε0 can be taken arbitrarily small.

2 Adaptive Fault Diagnosis Observer

Based on system (2), the following fault diagnosis observer is constructed

$ \left\{ \begin{array}{l} \mathit{\boldsymbol{\dot {\hat x}}}\left( t \right) = \mathit{\boldsymbol{Ax}}\left( t \right) + \mathit{\boldsymbol{Bu}}\left( t \right) + \mathit{\boldsymbol{\phi}} \left( {\mathit{\boldsymbol{\hat x}},\mathit{\boldsymbol{u}},t} \right) + \\ \;\;\;\;\;\;\;\;\;\;\mathit{\boldsymbol{E\hat f}}\left( {\mathit{\boldsymbol{\hat x}},\mathit{\boldsymbol{u}},t} \right) + \mathit{\boldsymbol{L}}\left( {\mathit{\boldsymbol{y}}\left( t \right) - \mathit{\boldsymbol{\hat y}}\left( t \right)} \right)\\ \mathit{\boldsymbol{\hat y}}\left( t \right) = \mathit{\boldsymbol{C\hat x}}\left( t \right) \end{array} \right. $ (8)

where $ \mathit{\boldsymbol{\hat x}}\left( t \right), \mathit{\boldsymbol{\hat y}}\left( t \right), \mathit{\boldsymbol{\hat f}}\left( {\mathit{\boldsymbol{\hat x}}, \mathit{\boldsymbol{u}}, t} \right) $ are the estimations of x(t), y(t), f(x, u, t), respectively, L is the observer gain matrix. Then the adaptive fault estimation algorithm is given by

$ \mathit{\boldsymbol{f}}\left( {\mathit{\boldsymbol{\hat x}},\mathit{\boldsymbol{u}},t} \right) = \mathit{\boldsymbol{\hat W\sigma }}\left( {\mathit{\boldsymbol{\hat x}},\mathit{\boldsymbol{u}},\mathit{\boldsymbol{\hat \delta }}} \right) $ (9)

where $ \mathit{\boldsymbol{\hat W}} $ and $ \mathit{\boldsymbol{\hat \delta }} $ are the estimations of ideal weight vector and centre vector, respectively. In the practical applications, the value of weight and center of RBFNN have great impact on the approximation error while the influence of the width vector d is small, so d is designed to be constant.Denote: $ {\mathit{\boldsymbol{e}}_x} = \mathit{\boldsymbol{x}} - \mathit{\boldsymbol{\hat x}}, {\mathit{\boldsymbol{e}}_y} = \mathit{\boldsymbol{C}}{\mathit{\boldsymbol{e}}_x}, {\mathit{\boldsymbol{e}}_f} = \mathit{\boldsymbol{f}} - \mathit{\boldsymbol{\hat f}} $. Then the error dynamic equation can be presented as

$ \begin{array}{l} {{\mathit{\boldsymbol{\dot e}}}_x} = \left( {\mathit{\boldsymbol{A}} - \mathit{\boldsymbol{LC}}} \right){\mathit{\boldsymbol{e}}_x} + \mathit{\boldsymbol{\phi}} \left( {\mathit{\boldsymbol{x}},\mathit{\boldsymbol{u}},t} \right) - \mathit{\boldsymbol{\phi}} \left( {\mathit{\boldsymbol{\hat x}},\mathit{\boldsymbol{u}},t} \right) + \\ \;\;\;\;\;\;\mathit{\boldsymbol{Dd}}\left( t \right) + \mathit{\boldsymbol{E}}\left( {{\mathit{\boldsymbol{W}}^{ * {\rm{T}}}}\mathit{\boldsymbol{\sigma }}\left( {\mathit{\boldsymbol{x}},\mathit{\boldsymbol{u}},\mathit{\boldsymbol{\delta }}} \right) - {\mathit{\boldsymbol{W}}^{ * {\rm{T}}}}\mathit{\boldsymbol{\sigma }}\left( {\mathit{\boldsymbol{\hat x}},\mathit{\boldsymbol{u}},\mathit{\boldsymbol{\delta }}} \right) + } \right.\\ \;\;\;\;\;\;\left. {{\mathit{\boldsymbol{W}}^{ * {\rm{T}}}}\mathit{\boldsymbol{\sigma }}\left( {\mathit{\boldsymbol{\hat x}},\mathit{\boldsymbol{u}},\mathit{\boldsymbol{\delta }}} \right) - {{\mathit{\boldsymbol{\hat W}}}^{\rm{T}}}\mathit{\boldsymbol{\sigma }}\left( {\mathit{\boldsymbol{\hat x}},\mathit{\boldsymbol{u}},\mathit{\boldsymbol{\delta }}} \right) + \varepsilon } \right) \end{array} $ (10)

In order to analyze, the Taylor's series of σ($ \mathit{\boldsymbol{\hat x}} $, u, δ) is expanded at $ \mathit{\boldsymbol{\hat \delta }} $, that is

$ \mathit{\boldsymbol{\sigma }}\left( {\mathit{\boldsymbol{\hat x}},\mathit{\boldsymbol{u}},\mathit{\boldsymbol{\delta }}} \right) = \mathit{\boldsymbol{\sigma }}\left( {\mathit{\boldsymbol{\hat x}},\mathit{\boldsymbol{u}},\mathit{\boldsymbol{\hat \delta }}} \right) + {{\mathit{\boldsymbol{\sigma '}}}_{\mathit{\boldsymbol{\hat \delta }}}}\mathit{\boldsymbol{\tilde \delta }} + \mathit{\boldsymbol{O}}\left( {\mathit{\boldsymbol{\hat x}},\mathit{\boldsymbol{u}},\mathit{\boldsymbol{\tilde \delta }}} \right) $ (11)

where $ {\mathit{\boldsymbol{\sigma '}}_{\mathit{\boldsymbol{\hat \delta }}}} = \partial \mathit{\boldsymbol{\sigma }}\left( {\mathit{\boldsymbol{\hat x}}, \mathit{\boldsymbol{u}}, \mathit{\boldsymbol{\delta }}} \right)/\partial \mathit{\boldsymbol{\hat \delta }}, \mathit{\boldsymbol{\tilde \delta }} = \mathit{\boldsymbol{\delta }} - \mathit{\boldsymbol{\hat \delta }}, \mathit{\boldsymbol{O}}\left( {\mathit{\boldsymbol{x}}, \mathit{\boldsymbol{u}}, \mathit{\boldsymbol{\tilde \delta }}} \right) $ is high-order items and is bounded. Then one has

$ \begin{array}{l} {\mathit{\boldsymbol{W}}^{ * {\rm{T}}}}\mathit{\boldsymbol{\sigma }}\left( {\mathit{\boldsymbol{\hat x}},\mathit{\boldsymbol{u}},\mathit{\boldsymbol{\delta }}} \right) = {\left( {\mathit{\boldsymbol{\hat W}} + \mathit{\boldsymbol{\tilde W}}} \right)^{\rm{T}}}\left( {\mathit{\boldsymbol{\sigma }}\left( {\mathit{\boldsymbol{\hat x}},\mathit{\boldsymbol{u}},\mathit{\boldsymbol{\hat \delta }}} \right) + {{\mathit{\boldsymbol{\sigma '}}}_{\mathit{\boldsymbol{\hat \delta }}}}\mathit{\boldsymbol{\tilde \delta }} + } \right.\\ \;\;\;\;\left. {\mathit{\boldsymbol{O}}\left( {\mathit{\boldsymbol{x}},\mathit{\boldsymbol{u}},\mathit{\boldsymbol{\tilde \delta }}} \right)} \right) = {{\mathit{\boldsymbol{\hat W}}}^{\rm{T}}}\mathit{\boldsymbol{\sigma }}\left( {\mathit{\boldsymbol{\hat x}},\mathit{\boldsymbol{u}},\mathit{\boldsymbol{\hat \delta }}} \right) + {{\mathit{\boldsymbol{\hat W}}}^{\rm{T}}}{{\mathit{\boldsymbol{\sigma '}}}_{\mathit{\boldsymbol{\hat \delta }}}}\mathit{\boldsymbol{\tilde \delta + }}\\ \;\;\;\;{{\mathit{\boldsymbol{\hat W}}}^{\rm{T}}}\mathit{\boldsymbol{O}}\left( {\mathit{\boldsymbol{x}},\mathit{\boldsymbol{u}},\mathit{\boldsymbol{\tilde \delta }}} \right) + {{\mathit{\boldsymbol{\tilde W}}}^{\rm{T}}}\mathit{\boldsymbol{\sigma }}\left( {\mathit{\boldsymbol{\hat x}},\mathit{\boldsymbol{u}},\mathit{\boldsymbol{\hat \delta }}} \right) + {{\mathit{\boldsymbol{\tilde W}}}^{\rm{T}}}{{\mathit{\boldsymbol{\sigma '}}}_{\mathit{\boldsymbol{\hat \delta }}}}\mathit{\boldsymbol{\tilde \delta + }}\\ \;\;\;\;{{\mathit{\boldsymbol{\tilde W}}}^{\rm{T}}}\mathit{\boldsymbol{O}}\left( {\mathit{\boldsymbol{x}},\mathit{\boldsymbol{u}},\mathit{\boldsymbol{\tilde \delta }}} \right) \end{array} $ (12)

Substituting Eq.(12) into Eq.(10), the error dynamic is described by

$ \begin{array}{l} {{\mathit{\boldsymbol{\dot e}}}_x} = \left( {\mathit{\boldsymbol{A}} - \mathit{\boldsymbol{LC}}} \right){\mathit{\boldsymbol{e}}_x} + \mathit{\boldsymbol{\phi}} \left( {\mathit{\boldsymbol{x}},\mathit{\boldsymbol{u}},t} \right) - \mathit{\boldsymbol{\phi}} \left( {\mathit{\boldsymbol{\hat x}},\mathit{\boldsymbol{u}},t} \right) + \\ \;\;\;\;\;\;\;\mathit{\boldsymbol{Dd}}\left( t \right) + \mathit{\boldsymbol{E}}\left( {{{\mathit{\boldsymbol{\tilde W}}}^{\rm{T}}}\mathit{\boldsymbol{\sigma }}\left( {\mathit{\boldsymbol{\hat x}},\mathit{\boldsymbol{u}},\mathit{\boldsymbol{\hat \delta }}} \right) + } \right.\\ \;\;\;\;\;\;\;\left. {{{\mathit{\boldsymbol{\hat W}}}^{\rm{T}}}{{\mathit{\boldsymbol{\sigma '}}}_{\mathit{\boldsymbol{\hat \delta }}}}\mathit{\boldsymbol{\tilde \delta + \boldsymbol{\varDelta} }}} \right) \end{array} $ (13)

where $ \mathit{\boldsymbol{\tilde \sigma }} = \mathit{\boldsymbol{\sigma }}\left( {\mathit{\boldsymbol{x}}, \mathit{\boldsymbol{u}}, \mathit{\boldsymbol{\delta }}} \right) - \mathit{\boldsymbol{\sigma }}\left( {\mathit{\boldsymbol{\hat x}}, \mathit{\boldsymbol{u}}, \mathit{\boldsymbol{\delta }}} \right), \mathit{\boldsymbol{\tilde W}} = {\mathit{\boldsymbol{W}}^ * } - \mathit{\boldsymbol{\hat W}} $, and $ \mathit{\boldsymbol{ \boldsymbol{\varDelta} }} = {\mathit{\boldsymbol{W}}^{ * {\rm{T}}}}\mathit{\boldsymbol{\tilde \sigma }} + {\mathit{\boldsymbol{\tilde W}}^{\rm{T}}}{\mathit{\boldsymbol{\sigma '}}_{\mathit{\boldsymbol{\hat \delta }}}}\mathit{\boldsymbol{\tilde \delta }} + {\mathit{\boldsymbol{W}}^{ * {\rm{T}}}}\mathit{\boldsymbol{O}}\left( {\mathit{\boldsymbol{x}}, \mathit{\boldsymbol{u}}, \mathit{\boldsymbol{\tilde \delta }}} \right) + \varepsilon $ with ‖Δ‖≤μ2.

To guarantee the observer's stability, the following theorem is given.

Theorem 1  Under the nonlinear fault system(2) and Assumption 2, if there exists a positive-definite matrix P, matrixes Y and R satisfying the following conditions

$ \left\{ \begin{array}{l} \mathit{\boldsymbol{PE}} = \mathit{\boldsymbol{RC}}\\ \left[ {\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{A}}^{\rm{T}}}\mathit{\boldsymbol{P}} + \mathit{\boldsymbol{PA}} - \mathit{\boldsymbol{YC}} - {\mathit{\boldsymbol{C}}^{\rm{T}}}{\mathit{\boldsymbol{Y}}^{\rm{T}}} + \alpha {\gamma ^2}\mathit{\boldsymbol{I}}}&{\frac{1}{\alpha }\mathit{\boldsymbol{P}}}\\ \mathit{\boldsymbol{P}}&{ - \mathit{\boldsymbol{I}}} \end{array}} \right] < 0 \end{array} \right. $ (14)

where the gain matrix of the observer is given by L=P-1Y, and the adaptive estimation algorithm are described by

$ \left\{ \begin{array}{l} \mathit{\boldsymbol{\dot {\hat W}}} = {\mathit{\Gamma }_1}\left( {\mathit{\boldsymbol{\sigma }}\left( {\mathit{\boldsymbol{\hat x}},\mathit{\boldsymbol{u}},\mathit{\boldsymbol{\hat \delta }}} \right)\mathit{\boldsymbol{e}}_y^{\rm{T}}{\mathit{\boldsymbol{R}}^{\rm{T}}} - {\rho _s}\mathit{\boldsymbol{\hat W}}} \right)\\ \mathit{\boldsymbol{\dot {\hat \delta} = }}{\mathit{\Gamma }_2}{{\mathit{\boldsymbol{\sigma '}}}_{\mathit{\boldsymbol{\hat \delta }}}}\mathit{\boldsymbol{\hat WR}}{\mathit{\boldsymbol{e}}_y} \end{array} \right. $ (15)

with

$ {\rho _s} = \left\{ \begin{array}{l} 0\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;{\left\| {\mathit{\boldsymbol{\hat W}}} \right\|^2} < {w_m}\\ {\mathit{\Gamma }_3}\left( {1 - \frac{{{w_m}}}{{{{\left\| {\mathit{\boldsymbol{\hat W}}} \right\|}^2}}}} \right)\;\;\;\;\;\;\;\;{w_m} \le {\left\| {\mathit{\boldsymbol{\hat W}}} \right\|^2} \le 2{w_m}\\ {\mathit{\Gamma }_3}\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;{\left\| {\mathit{\boldsymbol{\hat W}}} \right\|^2} \ge 2{w_m} \end{array} \right. $ (16)

where Γ1 > 0, Γ2 > 0, Γ3 > 0, wm > 0 are constants which should be designed later and the size of Γ1 will greatly affect the speed of fault estimation. wm is developed to avoid the parameter drift which limits the weight matrix $ \mathit{\boldsymbol{\hat W}} $ in a convex set, that is $ {\mathit{\Omega }_{\mathit{\boldsymbol{\hat W}}}} = \left\{ {\mathit{\boldsymbol{\hat W}}/{{\left\| {\mathit{\boldsymbol{\hat W}}} \right\|}^2} < {w_m}} \right\} $.

Proof

To study the stability and convergence of the proposed observer(8), the following Lyapunov function candidate is considered

$ \mathit{\boldsymbol{V}} = \mathit{\boldsymbol{e}}_x^{\rm{T}}\mathit{\boldsymbol{P}}{\mathit{\boldsymbol{e}}_x} + tr\left( {{{\mathit{\boldsymbol{\tilde W}}}^{\rm{T}}}\mathit{\Gamma }_1^{ - 1}{{\mathit{\boldsymbol{\tilde W}}}^{\rm{T}}}} \right) + \mathit{\boldsymbol{\tilde \delta }}\mathit{\Gamma }_2^{ - 1}\mathit{\boldsymbol{\tilde \delta }} $ (17)

where $ \mathit{\boldsymbol{\tilde W}} = {\mathit{\boldsymbol{W}}^ * } - \mathit{\boldsymbol{\hat W}} $ and $ \mathit{\boldsymbol{\tilde \delta }} = {\mathit{\boldsymbol{\delta }}^ * } - \mathit{\boldsymbol{\hat \delta }} $ are both parameter estimation errors.The time derivative of V is given by

$ \begin{array}{l} \mathit{\boldsymbol{\dot V}} = \mathit{\boldsymbol{e}}_x^{\rm{T}}\left( {{{\left( {\mathit{\boldsymbol{A}} - \mathit{\boldsymbol{LC}}} \right)}^{\rm{T}}}\mathit{\boldsymbol{P}} + \mathit{\boldsymbol{P}}\left( {\mathit{\boldsymbol{A}} - \mathit{\boldsymbol{LC}}} \right)} \right){\mathit{\boldsymbol{e}}_x} + \\ \;\;\;\;\;\;2\mathit{\boldsymbol{e}}_x^{\rm{T}}\mathit{\boldsymbol{P}}\left( {\phi \left( {\mathit{\boldsymbol{x}},\mathit{\boldsymbol{u}},t} \right) - \phi \left( {\mathit{\boldsymbol{\hat x}},\mathit{\boldsymbol{u}},t} \right)} \right) + 2\mathit{\boldsymbol{e}}_x^{\rm{T}}\mathit{\boldsymbol{PDd}}\left( t \right) + \\ \;\;\;\;\;\;2\mathit{\boldsymbol{e}}_x^{\rm{T}}\mathit{\boldsymbol{PE}}\left( {{{\mathit{\boldsymbol{\tilde W}}}^{\rm{T}}}\mathit{\boldsymbol{\sigma }}\left( {\mathit{\boldsymbol{\hat x}},\mathit{\boldsymbol{u}},\mathit{\boldsymbol{\hat \delta }}} \right) + {{\mathit{\boldsymbol{\hat W}}}^{\rm{T}}}{{\mathit{\boldsymbol{\sigma '}}}_{\mathit{\boldsymbol{\hat \delta }}}}\mathit{\boldsymbol{\tilde \delta }} + \mathit{\boldsymbol{ \boldsymbol{\varDelta} }}} \right) + \\ \;\;\;\;\;\;2tr\left( {{{\mathit{\boldsymbol{\tilde W}}}^{\rm{T}}}\mathit{\Gamma }_1^{ - 1}\mathit{\boldsymbol{\dot {\tilde W}}}} \right) + {{\mathit{\boldsymbol{\tilde \delta }}}^T}\mathit{\Gamma }_2^{ - 1}\mathit{\boldsymbol{\dot {\tilde \delta} }} \end{array} $ (18)

Denote $ \Delta \mathit{\boldsymbol{ϕ}} = \mathit{\boldsymbol{ϕ}}\left( {\mathit{\boldsymbol{x}}, \mathit{\boldsymbol{u}}, t} \right) = - \mathit{\boldsymbol{ϕ}}\left( {\mathit{\boldsymbol{\hat x}}, \mathit{\boldsymbol{u}}, t} \right) $, and according to Lemma 1, the following result is obtained as

$ \begin{array}{l} \mathit{\boldsymbol{e}}_x^{\rm{T}}\mathit{\boldsymbol{P}}\Delta \mathit{\boldsymbol{\phi}} \le \alpha \Delta {\mathit{\boldsymbol{\phi}} ^{\rm{T}}}\Delta \mathit{\boldsymbol{\phi}} + \frac{1}{\alpha }\mathit{\boldsymbol{e}}_x^{\rm{T}}\mathit{\boldsymbol{PP}}{\mathit{\boldsymbol{e}}_x} \le \alpha {\gamma ^2}\mathit{\boldsymbol{e}}_x^{\rm{T}}{\mathit{\boldsymbol{e}}_x} + \\ \;\;\;\;\;\;\;\;\frac{1}{\alpha }\mathit{\boldsymbol{e}}_x^{\rm{T}}\mathit{\boldsymbol{PP}}{\mathit{\boldsymbol{e}}_x} \end{array} $ (19)

Then one has

$ \begin{array}{l} \mathit{\boldsymbol{\dot V}} \le \mathit{\boldsymbol{e}}_x^{\rm{T}}\left[ {{{\left( {\mathit{\boldsymbol{A}} - \mathit{\boldsymbol{LC}}} \right)}^{\rm{T}}}\mathit{\boldsymbol{P}} + \mathit{\boldsymbol{P}}\left( {\mathit{\boldsymbol{A}} - \mathit{\boldsymbol{LC}}} \right) + \alpha {\gamma ^2}\mathit{\boldsymbol{I + }}} \right.\\ \;\;\;\;\;\;\left. {\frac{1}{\alpha }\mathit{\boldsymbol{P}}{\mathit{\boldsymbol{P}}^{\rm{T}}}} \right]{\mathit{\boldsymbol{e}}_x} + 2\mathit{\boldsymbol{e}}_x^{\rm{T}}\mathit{\boldsymbol{P}}\left( {\mathit{\boldsymbol{D}}{\mu _1} + \mathit{\boldsymbol{E}}{\mu _2}} \right) + \\ \;\;\;\;\;\;2{\rho _s}tr\left( {{{\mathit{\boldsymbol{\tilde W}}}^{\rm{T}}}\mathit{\boldsymbol{\hat W}}} \right) \end{array} $ (20)

If ‖$ \mathit{\boldsymbol{\hat W}} $2 < wm, it can be obtained that ρs=0

$ \mathit{\boldsymbol{\dot V}} \le - {\lambda _{\min }}\left( \mathit{\boldsymbol{U}} \right){\left\| {{\mathit{\boldsymbol{e}}_x}} \right\|^2} + 2\eta {\lambda _{\max }}\left( \mathit{\boldsymbol{P}} \right)\left\| {{\mathit{\boldsymbol{e}}_x}} \right\| $ (21)

where U=-[(ALC)TP+P(ALC)+αγ2I+$ \frac{1}{\alpha } $PPT] > 0, λmin and λmax are the minimum eigenvalue and the maximum eigenvalue of matrix, respectively. η=Dμ1+Eμ2 > 0.

$ \begin{array}{l} {\rm{Once}}{\left\| {\mathit{\boldsymbol{\hat W}}} \right\|^2} \ge {w_m},{\rm{that}}\;{\rm{is}}\;\left\| {\mathit{\boldsymbol{\hat W}}} \right\| \ge \left\| {{\mathit{\boldsymbol{W}}^ * }} \right\|\\ \;\;\;\;{\rho _s}tr\left( {{{\mathit{\boldsymbol{\tilde W}}}^{\rm{T}}}\mathit{\boldsymbol{\hat W}}} \right) = {\rho _s}\left( {\left\| {{\mathit{\boldsymbol{W}}^ * }} \right\|\left\| {\mathit{\boldsymbol{\hat W}}} \right\| - } \right.\\ \;\;\;\;\left. {{{\left\| {\mathit{\boldsymbol{\hat W}}} \right\|}^2}} \right) \le 0 \end{array} $ (22)

one can also get

$ \mathit{\boldsymbol{\dot V}} \le - {\lambda _{\min }}\left( \mathit{\boldsymbol{U}} \right){\left\| {{\mathit{\boldsymbol{e}}_x}} \right\|^2} + 2\eta {\lambda _{\max }}\left( \mathit{\boldsymbol{P}} \right)\left\| {{\mathit{\boldsymbol{e}}_x}} \right\| $ (23)

If $ \left\| {{\mathit{\boldsymbol{e}}_x}} \right\| \ge \frac{{2{\lambda _{\max }}\left( \mathit{\boldsymbol{P}} \right)\eta }}{{{\lambda _{\min }}\left( \mathit{\boldsymbol{U}} \right)}}, \mathit{\boldsymbol{\dot V}} < 0 $, therefore, exL, $ \mathit{\boldsymbol{\tilde W}} \in {\mathit{\boldsymbol{L}}_\infty }, \mathit{\boldsymbol{\tilde \delta }} \in {\mathit{\boldsymbol{L}}_\infty} $. These guarantee the stability and convergence of the designed observer by using Barbalat's Lemma.

3 Fault Tolerant Controller

In many applications, especially those involving safety-critical systems, it is important not only to detect and estimate the characteristic and magnitude of any faults but also to accommodate them as soon as possible. The goal of fault-tolerant control is to maintain dynamic performance in case of failure. In this section, a fault tolerant controller is developed according to Ref.[21]. As the state vector x is unavailable, the controller is constructed as

$ \mathit{\boldsymbol{u}} = {\mathit{\boldsymbol{u}}_H} + {\mathit{\boldsymbol{u}}_F} $ (24)

where uH=α(y) represents a controller that leads the normal system to achieve the desired behavior. $ {\mathit{\boldsymbol{u}}_F} = \mathit{\boldsymbol{\psi }}\left( {\mathit{\boldsymbol{y}}, \mathit{\boldsymbol{\hat W}}, \mathit{\boldsymbol{\hat \delta }}} \right) $ is an additional control law which should be designed to set stable the following faulty system

$ \left\{ \begin{array}{l} \mathit{\boldsymbol{\dot x}}\left( t \right) = \mathit{\boldsymbol{Ax}}\left( t \right) + \mathit{\boldsymbol{Bu}}\left( t \right) + \mathit{\boldsymbol{\phi}} \left( {\mathit{\boldsymbol{x}},\mathit{\boldsymbol{u}},t} \right) + \\ \;\;\;\;\;\;\;\;\;\;\mathit{\boldsymbol{Dd}}\left( t \right) + \mathit{\boldsymbol{E}}\beta \left( {t - T} \right)\mathit{\boldsymbol{f}}\left( {\mathit{\boldsymbol{x}},\mathit{\boldsymbol{u}},t} \right)\\ \mathit{\boldsymbol{y}}\left( t \right) = \mathit{\boldsymbol{Cx}}\left( t \right) \end{array} \right. $ (25)

Notation[21]  R≥0:[0, ∞), a function g:R≥0R≥0 is of class κ if it is continuous, strictly increasing, and outputs zero when inputting zero. And it is of class κ if it is unbounded.

Assumption 4  If there exists an normal controller uH=α(y), functions K1(·), K2(·) and Lyapunov function VH satisfy the following conditions

$ 0 \le {\mathit{\boldsymbol{V}}_H} \le {K_1}\left( {\left\| \mathit{\boldsymbol{y}} \right\|} \right) $ (26)
$ \frac{{\partial {\mathit{\boldsymbol{V}}_H}}}{{\partial \mathit{\boldsymbol{y}}}}\left[ {\mathit{\boldsymbol{C}}\left( {\mathit{\boldsymbol{Ax}} + \mathit{\boldsymbol{B}}{\mathit{\boldsymbol{u}}_H} + \mathit{\boldsymbol{\phi}} \left( {\mathit{\boldsymbol{x}},\mathit{\boldsymbol{u}}} \right)} \right)} \right] \le - {K_2}\left( {\left\| \mathit{\boldsymbol{y}} \right\|} \right) $ (27)

where K1, K2 are class κ functions.

Theorem 2  In order to ensure that the faulty system(25) is stable, the following control laws are given

$ \left\{ \begin{array}{l} {\mathit{\boldsymbol{u}}_F} = - {\mathit{\boldsymbol{B}}^ * }\left( {\mathit{\boldsymbol{E}}{{\mathit{\boldsymbol{\hat W}}}^{\rm{T}}}\mathit{\boldsymbol{\sigma }}\left( {\mathit{\boldsymbol{y}},\mathit{\boldsymbol{u}},\mathit{\boldsymbol{\hat \delta }}} \right) + \mathit{\boldsymbol{D}}{\mu _1}} \right)\\ \mathit{\boldsymbol{\hat W}} = {\mathit{\Gamma }_1}\left( {\mathit{\boldsymbol{\sigma }}\left( {\mathit{\boldsymbol{y}},\mathit{\boldsymbol{u}},\mathit{\boldsymbol{\hat \delta }}} \right)\frac{{\partial {\mathit{\boldsymbol{V}}_H}}}{{\partial \mathit{\boldsymbol{y}}}}\mathit{\boldsymbol{CE}} - {\beta _s}\mathit{\boldsymbol{\hat W}}} \right)\\ \mathit{\boldsymbol{\hat \delta }} = {\left( {{\mathit{\Gamma }_2}\frac{{\partial {\mathit{\boldsymbol{V}}_H}}}{{\partial \mathit{\boldsymbol{y}}}}\mathit{\boldsymbol{CE}}{{\mathit{\boldsymbol{\hat W}}}^{\rm{T}}}{{\mathit{\boldsymbol{\sigma '}}}_{\mathit{\boldsymbol{\hat \delta }}}}} \right)^{\rm{T}}} \end{array} \right. $ (28)

where switching βs-modification is designed as the same form in Eq.(16), $ {\mathit{\boldsymbol{\sigma '}}_{\mathit{\boldsymbol{\hat \delta }}}} $ partial differential function of $ \mathit{\boldsymbol{\sigma }}\left( {\mathit{\boldsymbol{y}}, \mathit{\boldsymbol{\hat \delta }}} \right) $ at $ \mathit{\boldsymbol{\hat \delta }} $, and B* the pseudo inverse of B.

Proof

To study the stability of the system(25), the following Lyapunov function candidate is considered

$ \mathit{\boldsymbol{V}} = {\mathit{\boldsymbol{V}}_H} + \frac{1}{2}tr\left( {{{\mathit{\boldsymbol{\tilde W}}}^{\rm{T}}}\mathit{\Gamma }_1^{ - 1}\mathit{\boldsymbol{\tilde W}}} \right) + \frac{1}{2}{{\mathit{\boldsymbol{\tilde \delta }}}^{\rm{T}}}\mathit{\Gamma }_2^{ - 1}\mathit{\boldsymbol{\tilde \delta }} $ (29)

The derivative of V is

$ \begin{array}{l} \mathit{\boldsymbol{\dot V = }}\frac{{\partial {\mathit{\boldsymbol{V}}_H}}}{{\partial \mathit{\boldsymbol{y}}}}\mathit{\boldsymbol{C}}\left[ {\mathit{\boldsymbol{Ax}} + \mathit{\boldsymbol{B}}{\mathit{\boldsymbol{u}}_H} + \mathit{\boldsymbol{\phi}} \left( {\mathit{\boldsymbol{x}},\mathit{\boldsymbol{u}},t} \right) + \mathit{\boldsymbol{Dd + }}} \right.\\ \;\;\;\;\;\;\left. {\mathit{\boldsymbol{Ef}}\left( {\mathit{\boldsymbol{x}},\mathit{\boldsymbol{u}}} \right) + \mathit{\boldsymbol{B}}{\mathit{\boldsymbol{u}}_F}} \right] - tr\left( {{{\mathit{\boldsymbol{\tilde W}}}^{\rm{T}}}\mathit{\Gamma }_1^{ - 1}\mathit{\boldsymbol{\tilde W}}} \right) - \\ \;\;\;\;\;\;{{\mathit{\boldsymbol{\tilde \delta }}}^{\rm{T}}}\mathit{\Gamma }_2^{ - 1}\mathit{\boldsymbol{\tilde \delta }} = \frac{{\partial {\mathit{\boldsymbol{V}}_H}}}{{\partial \mathit{\boldsymbol{y}}}}\mathit{\boldsymbol{C}}\left[ {\mathit{\boldsymbol{Ax}} + \mathit{\boldsymbol{B}}{\mathit{\boldsymbol{u}}_H} + \mathit{\boldsymbol{\phi}} \left( {\mathit{\boldsymbol{x}},\mathit{\boldsymbol{u}},t} \right)} \right] + \\ \;\;\;\;\;\;\frac{{\partial {\mathit{\boldsymbol{V}}_H}}}{{\partial \mathit{\boldsymbol{y}}}}\mathit{\boldsymbol{C}}\left[ {\mathit{\boldsymbol{Dd}} + \mathit{\boldsymbol{E}}\left( {{{\mathit{\boldsymbol{\hat W}}}^{\rm{T}}}\mathit{\boldsymbol{\sigma }}\left( {\mathit{\boldsymbol{y}},\mathit{\boldsymbol{u}},\mathit{\boldsymbol{\hat \delta }}} \right) + {{\mathit{\boldsymbol{\hat W}}}^{\rm{T}}}{{\mathit{\boldsymbol{\sigma '}}}_{\mathit{\boldsymbol{\hat \delta }}}}\mathit{\boldsymbol{\tilde \delta + }}} \right.} \right.\\ \;\;\;\;\;\;\left. {\left. {{\mathit{\boldsymbol{ \boldsymbol{\varDelta} }}_y} + {{\mathit{\boldsymbol{\tilde W}}}^{\rm{T}}}\mathit{\boldsymbol{\sigma }}\left( {\mathit{\boldsymbol{y}},\mathit{\boldsymbol{u}},\mathit{\boldsymbol{\hat \delta }}} \right)} \right) + \mathit{\boldsymbol{B}}{\mathit{\boldsymbol{u}}_F}} \right] - \\ \;\;\;\;\;\;tr\left( {{{\mathit{\boldsymbol{\tilde W}}}^{\rm{T}}}\mathit{\Gamma }_1^{ - 1}\mathit{\boldsymbol{\hat W}}} \right) - {{\mathit{\boldsymbol{\dot {\hat \delta} }}}^T}\mathit{\Gamma }_2^{ - 1}\mathit{\boldsymbol{\tilde \delta }} \end{array} $ (30)

where $ \mathit{\boldsymbol{\tilde W}} = {\mathit{\boldsymbol{W}}^ * }- \mathit{\boldsymbol{\hat W}}, \mathit{\boldsymbol{\tilde \delta }} = {\mathit{\boldsymbol{\delta }}^ * }- \mathit{\boldsymbol{\hat \delta }} $, and $ {\mathit{\boldsymbol{ \boldsymbol{\varDelta} }}_\mathit{\boldsymbol{y}}} = {\mathit{\boldsymbol{\tilde W}}^{\rm{T}}}{\mathit{\boldsymbol{\sigma '}}_{\hat \delta }}\mathit{\boldsymbol{\tilde \delta }} + {\mathit{\boldsymbol{W}}^{ * {\rm{T}}}}\mathit{\boldsymbol{O}}\left( {\mathit{\boldsymbol{y}}, \mathit{\boldsymbol{u}}, \mathit{\boldsymbol{\tilde \delta }}} \right) $ is bound and can approach arbitrary small number such as zero.

Considering control law in Eq.(28), then

$ \begin{array}{l} \mathit{\boldsymbol{\dot V}} \le - {K_1}\left( {\left\| \mathit{\boldsymbol{y}} \right\|} \right) + \frac{{\partial {\mathit{\boldsymbol{V}}_H}}}{{\partial \mathit{\boldsymbol{y}}}}\mathit{\boldsymbol{C}}{\mathit{\boldsymbol{ \boldsymbol{\varDelta} }}_y} + {\rho _s}tr\left( {{{\mathit{\boldsymbol{\tilde W}}}^{\rm{T}}}\mathit{\boldsymbol{\hat W}}} \right) \le \\ \;\;\;\;\;\; - {K_1}\left( {\left\| \mathit{\boldsymbol{y}} \right\|} \right) + \left\| {\frac{{\partial {\mathit{\boldsymbol{V}}_H}}}{{\partial \mathit{\boldsymbol{y}}}}} \right\|\left\| {\mathit{\boldsymbol{C}}{\mathit{\boldsymbol{ \boldsymbol{\varDelta} }}_y}} \right\| \end{array} $ (31)

where the processing of ρstr($ {{\mathit{\boldsymbol{\tilde W}}}^{\rm{T}}}\mathit{\boldsymbol{\hat W}} $) in Eq.(31) is similar to the previous fault diagnosis observer deignd in Eqs.(21)—(22). Note that Δy can be taken arbitrary small such as zero, then we can obtain $ {\mathit{\boldsymbol{\dot V}}} $≤0, such that y, $ {\mathit{\boldsymbol{\tilde W}}} $, $ {\mathit{\boldsymbol{\tilde \delta }}} $ are uniformly bounded.

4 Simulation Results

In this section, the attitude control system for a quadrotor helicopter is considered to verify the efficiency of the proposed algorithm. It is found that actuator of helicopter is very easy to fail, the faults of the four motors will cause the rotor speed to change abruptly or even out of control. The dynamical model of quadrotor attitude systems[23] is

$ \left[ {\begin{array}{*{20}{c}} {{J_\phi }\ddot \phi }\\ {{J_\theta }\ddot \theta }\\ {{J_\psi }\ddot \psi } \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} {\left( {{J_\theta } - {J_\psi }} \right)\dot \theta \dot \psi - {K_{fx}}{{\dot \phi }^2} + l{K_f}\left( {{V_r} - {V_l}} \right)}\\ {\left( {{J_\psi } - {J_\phi }} \right)\dot \psi \dot \phi - {K_{fy}}{{\dot \theta }^2} + l{K_f}\left( {{V_f} - {V_b}} \right)}\\ {\left( {{J_\phi } - {J_\theta }} \right)\dot \phi \dot \theta - {K_{fz}}{{\dot \psi }^2} + {K_{t,c}}\left( {{V_f} + {V_b}} \right) + }\\ {{K_{t,n}}\left( {{V_r} + {V_l}} \right)} \end{array}} \right] $

where Jϕ=0.005 2, Jθ=0.005 2, Jψ=0.11, l=0.197, Kt, c=Kt, n=0.003 6, Kfx=Kfy=0.008, Kfz=0.009 1.ϕ, θ and ψ denote roll angle, pitch angle, yaw angle, respectively; Vf, Vb, Vr, Vl the voltage of the front, the rear, the right and the left motors, respectively; Jϕ, Jθ, Jψ the rotational inertia of roll axis, pitch axis and yaw axis; and Kt, c, Kt, n the counter and the normal rotation propeller torque-thrust constant. Kf represents the propeller force-thrust constant and l the distance between the axis of any rotor and the center of mass.

The aforementioned quadrotor model can be transformed to a common model with faults and disturbances

$ \left\{ \begin{array}{l} \mathit{\boldsymbol{\dot x}}\left( t \right) = \mathit{\boldsymbol{Ax}}\left( t \right) + \mathit{\boldsymbol{Bu}}\left( t \right) + \mathit{\boldsymbol{\phi}} \left( {\mathit{\boldsymbol{x}},\mathit{\boldsymbol{u}}} \right) + \\ \;\;\;\;\;\;\;\;\;\;\mathit{\boldsymbol{Ef}}\left( {\mathit{\boldsymbol{x}},\mathit{\boldsymbol{u}},t} \right) + \mathit{\boldsymbol{Dd}}\left( t \right)\\ \mathit{\boldsymbol{y}}\left( t \right) = \mathit{\boldsymbol{Cx}}\left( t \right) \end{array} \right. $ (32)

where $ \mathit{\boldsymbol{x}}\left( t \right) = {\left[{\begin{array}{*{20}{r}} {\begin{array}{*{20}{r}} \phi &{\dot \phi }&\theta &{\dot \theta }&\psi &{\dot \psi } \end{array}} \end{array}} \right]^{\rm{T}}} $, $ \mathit{\boldsymbol{y}}\left( t \right) = {\left[{\begin{array}{*{20}{r}} {\begin{array}{*{20}{r}} \phi &{\dot \phi }&\theta &{\dot \theta }&\psi &{\dot \psi } \end{array}} \end{array}} \right]^{\rm{T}}} $, $ \mathit{\boldsymbol{u}}\left( t \right) = {\left[{\begin{array}{*{20}{r}} {\begin{array}{*{20}{r}} {{V_f}}&{{V_b}}&{{V_r}}&{{V_l}} \end{array}} \end{array}} \right]^{\rm{T}}} $.

The other parameters are given as follows

$ \mathit{\boldsymbol{A}} = \left[ {\begin{array}{*{20}{c}} 0&1&0&0&0&0\\ 0&0&0&0&0&0\\ 0&0&0&1&0&0\\ 0&0&0&0&0&0\\ 0&0&0&0&0&1\\ 0&0&0&0&0&0 \end{array}} \right] $
$ \mathit{\boldsymbol{\phi}} \left( {\mathit{\boldsymbol{x}},\mathit{\boldsymbol{u}}} \right) = \left[ {\begin{array}{*{20}{c}} 0\\ { - 0.9928{x_4}{x_6} - 0.1449x_2^2}\\ 0\\ {0.9928{x_2}{x_6} - 0.1449x_4^2}\\ 0\\ { - 0.0827x_6^2} \end{array}} \right] $
$ \mathit{\boldsymbol{E}} = \mathit{\boldsymbol{B}} = \left[ {\begin{array}{*{20}{c}} 0&0&0&0\\ 0&0&{0.4239}&{ - 0.4239}\\ 0&0&0&0\\ {0.4239}&{ - 0.4239}&0&0\\ 0&0&0&0\\ { - 0.0327}&{ - 0.0327}&{0.0327}&{0.0327} \end{array}} \right] $
$ \mathit{\boldsymbol{C}} = \left[ {\begin{array}{*{20}{c}} 1&0&0&0&0&0\\ 0&1&0&0&0&0\\ 0&0&1&0&0&0\\ 0&0&0&1&0&0\\ 0&0&0&0&1&0\\ 0&0&0&0&0&1 \end{array}} \right],\mathit{\boldsymbol{D = }}\left[ {\begin{array}{*{20}{c}} {0.3}&1\\ {0.2}&{0.5}\\ {0.2}&0\\ 0&{0.7}\\ {0.5}&1\\ 1&1 \end{array}} \right] $
$ \mathit{\boldsymbol{d}}\left( t \right) = {\left[ {\begin{array}{*{20}{c}} {0.1\sin \left( {100t} \right)}&{0.1\sin \left( {100t} \right)} \end{array}} \right]^{\rm{T}}} $

In this paper, three types of faults are considered. Firstly, assuming voltage failure of the front motor occurs at 10 s in the form of low amplitude which fails the helicopter to achieve the desired posture. The fault function is modeled as f(u, t)=[-0.4 0 0 0]T.

The input of NNS is chosen as the system estimation state $ \mathit{\boldsymbol{\hat x}} $, the number of hidden layer nodes is 11 and Γ1=10, Γ3=0.05I65×1 where I65×1 represents a matrix of 65 rows and 1 column and all elements are 1. wm=0.2, Γ2=-0.01. By contrast, the estimation results under the RBFNN fault estimation method and conventional adaptive fault estimation method[19] are shown in Fig. 1.

Fig. 1 Actuator fault and its estimation

Secondly, assume that the aging of physical structure quadrotor makes voltage of the front motor to be unstable with a continuous jump, and the fault is f(t)=[0.1sint 0 0 0]T. By taking learning rate Γ1=30, wm=0.02, Γ2=0.01, Γ3=0.05I65×1, the estimation results are shown in Figs. 2, 3.

Fig. 2 Actuator fault and its estimation(RBFNN fault estimation method)

Fig. 3 Actuator fault and its estimation(conventional adaptive fault estimation method)

Thirdly, assume a physical component fault appears in the quadrotor which leads to parameter changes in the system state matrix. The fault is with the form of f(x)=[x1+0.05 0 0 0]T. By selecting the learning rate Γ1=15, Γ2=0, Γ3=0.05I65×1, the simulation result is shown in Fig. 4.

Fig. 4 Component fault and its estimation

In view of the above mentioned fault that voltage failure of the front motor occurs at 10 s with f(u, t)=[-0.4 0 0 0]T, the node of RBFNN is 11, taking the fault accommodation algorithm in Eq.(28) with Γ1=0.035, Γ2=0.07, Γ3=0.05I65×1. The results are shown in Figs. 57. It can be seen that the proposed fault tolerant controller can recover the system performance.

Fig. 5 Roll angle with fault accommodation

Fig. 6 Pitch angle with fault accommodation

Fig. 7 Yaw angle with fault accommodation

5 Conclusions

An adaptive fault estimation and accommodation scheme is proposed for Lipschitz nonlinear systems which are subjected to disturbances and faults. Based on adaptive state observer and RBFNN techniques, a robust adaptive learning algorithm based on switching βs-modification is developed to estimate the states of the system and actuator or component faults effectively. Meanwhile, not only the weight, but also the centre vector of RBFNN is updated online. Then, a fault tolerant controller is designed to restore system performance. Finally, the simulation results of quadrotor attitude systems validate the efficiency of the proposed techniques.

Acknowledgements

This work was supported by the National Natural Science Foundation of China (No.61533008), the Fund of National Engineering and Research Center for Commercial Aircraft Manufacturing (No.SAMC14-JS-15-053), and the Fundamental Research Funds for the Central Universities (No.NJ20150011).

References
[1]
GAO Z, CECATI C, DING S X. A survey of fault diagnosis and fault-tolerant techniques-Part Ⅰ:Fault diagnosis with model-based and signal-based approaches[J]. IEEE Transactions on Industrial Electronics, 2015, 62(6): 3757-3767. DOI:10.1109/TIE.2015.2417501
[2]
JIANG B, STAROSWIECKI M, COCQUEMPOT V. Fault estimation in nonlinear uncertain systems using robust/sliding-mode observers[J]. IEE Proceedings-Control Theory and Applications, 2004, 151(1): 29-37. DOI:10.1049/ip-cta:20040074
[3]
JIANG Bin, ZHAO Jing, QI Ruiyun, et al. Survey of fault diagnosis and fault tolerant control of near space vehicle[J]. Journal of Nanjing University of Aeronautics and Astronautics, 2012, 44(5): 603-610.
[4]
YIN S, WANG G, KARIMI H R. Data-driven design of robust fault detection system for wind turbines[J]. Mechatronics, 2014, 24(4): 298-306. DOI:10.1016/j.mechatronics.2013.11.009
[5]
ZHANG K, JIANG B, SHI P. Fast fault estimation and accommodation for dynamical systems[J]. Control Theory & Applications Iet, 2009, 3(2): 189-199.
[6]
ALWI H, EDWARDS C. Robust fault reconstruction for linear parameter varying systems using sliding mode observers[J]. International Journal of Robust & Nonlinear Control, 2015, 24(14): 1947-1968.
[7]
de PERSIS C, ISIDORI A. A geometric approach to nonlinear fault detection and isolation[J]. IEEE Transactions on Automatic Control, 2001, 46(6): 853-865.
[8]
SHAHRIARI-KAHKESHI M, SHEIKHOLESLAM F, ASKARI J. Adaptive fault detection and estimation scheme for a class of uncertain nonlinear systems[J]. Nonlinear Dynamics, 2014, 79(4): 2623-2637.
[9]
GAO Fei, JIANG Guangwen, ZHANG Zebang, et al. An adaptive observer for actuator and sensor fault diagnosis in linear time-varying systems[C]//10th World Congress on Intelligent Control and Automation. Beijing: IEEE, 2012: 3281-3285.
[10]
GAO C, DUAN G. Robust adaptive fault estimation for a class of nonlinear systems subject to multiplicative faults[J]. Circuits, Systems, and Signal Processing, 2012, 31(6): 2035-2046. DOI:10.1007/s00034-012-9434-x
[11]
MICHAEL D, VELUVOLU K C, RATH J J, et al. Adaptive sensor and actuator fault estimation for a class of uncertain Lipschitz nonlinear systems[J]. International Journal of Adaptive Control & Signal Processing, 2015, 30(2): 271-283.
[12]
LI X J, YANG G H. Fault diagnosis for non-linear single output systems based on adaptive high-gain observer[J]. Control Theory & Applications Iet, 2013, 7(16): 1969-1977.
[13]
ZHANG X D, POLYCARPOU M M, PARISINI T. Fault diagnosis of a class of nonlinear uncertain systems with Lipschitz nonlinearities using adaptive estimation[J]. Automatica, 2010, 46(2): 290-299. DOI:10.1016/j.automatica.2009.11.014
[14]
HE S P. Fault estimation for T-S fuzzy Markovian jumping systems based on the adaptive observer[J]. International Journal of Control, Automation and Systems, 2014, 12(5): 977-985. DOI:10.1007/s12555-013-0350-z
[15]
LIU C S, ZHANG S J, HU S S. Adaptive neural-networks-based fault detection and diagnosis using unmeasured states[J]. Control Theory & Applications Iet, 2008, 2(12): 1066-1076.
[16]
TALEBI H A, KHORASANI K. A neural network-based multiplicative actuator fault detection and isolation of nonlinear systems[J]. IEEE Transactions on Control Systems Technology, 2013, 21(21): 842-851.
[17]
PATTON R J. Fault-tolerant control: The 1997 situation[C]//Proceedings of IFAC Sym-posium, Fault Detection, Supervision Safety for Process. New York: North-Holland, 1997: 1033-1055.
[18]
JIANG B, STAROSWIECKI M, COCQUEMPOT V. Fault accommodation for nonlinear dynamic systems[J]. IEEE Transactions on Automatic Control, 2006, 51(9): 1578-1583. DOI:10.1109/TAC.2006.878732
[19]
ZHANG K, JIANG B, SHI P. Observer-based fault estimation and accomodation for dynamic systems[J]. Lecture Notes in Control & Information Sciences, 2013, 436: 1-191.
[20]
YANG Q, CHEN M. Robust fault-tolerant control for longitudinal dynamics of aircraft with input saturation[J]. Transactions of Nanjing University of Aeronautics and Astronautics, 2016, 33(3): 319-328.
[21]
POLYCARPOU M M. Fault accommodation of a class of multivariable nonlinear dynamical systems using a learning approach[J]. IEEE Transactions on Automatic Control, 2001, 46(5): 736-742. DOI:10.1109/9.920792
[22]
HAN J, ZHANG H, WANG Y, et al. Robust fault estimation and accommodation for a class of T-S fuzzy systems with local nonlinear models[J]. Circuits, Systems, and Signal Processing, 2016, 35(10): 3506-3530. DOI:10.1007/s00034-015-0219-x
[23]
YANG Huiliao, JIANG Bin, ZHANG Ke. Direct self-repairing control for four-rotor helicopter attitude systems[J]. Control Theory & Applications, 2014, 31(8): 1053-1060.