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 StatementConsider 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. β(t-T) 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]T∈Ad 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-δi‖2/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 ObserverBased 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{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
$ \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{\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
$ \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
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
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
$ \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
$ \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{\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=-[(A-LC)TP+P(A-LC)+αγ2I+
$ \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
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.
$ \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≥0→R≥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),
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
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(
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
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
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.
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.
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. 5—7. It can be seen that the proposed fault tolerant controller can recover the system performance.
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).
[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. |