Keywords

1 Introduction

Due to the variety of space exploration missions and complex spacecraft systems, stability is particularly important for spacecraft control systems, where small changes can lead to significant performance degradation or even instability. To improve system reliability and security, the controller should be able to tolerate potential failures and maintain performance. Therefore, the development of spacecraft fault-tolerant control technology has very important practical significance.

The actuator failure affects the accuracy of attitude control and even lead to system collapse. In recent year, the scholars has studied lots of fault tolerant control strategies for actuator failure [1,2,3], such as model reference adaptive control, backstepping control, variable structure control and so on. Ref [4] proposed an adaptive variable structure fault tolerance control method, based on adaptive technology to estimate minimum Fault. In Ref [5], the author combined adaptive control theory and fuzzy control theory to derive an adaptive attitude controller for system uncertainty identification. The passive fault-tolerant control law was derived in Ref [6] based on adaptive technology, which can complete attitude tracking without any fault diagnosis information in the case of actuator failure. Ref [7] studied a discrete adaptive control method to solve the problem of external interference and actuator failure of rigid spacecraft. Taking into account the maximum output capability limitation and external disturbance of actuator in Ref [8], the author derived an adaptive fault tolerant control method based on variable structure control theory.

Most adaptive control methods was studied under the assumption that the actuator failure has an upper bound. These lead to the conservative nature of the controller inevitably. If an observer is designed to observe the spacecraft fault in real time, to compensate and reconstruct the controller, the conservatism of the controller could be weakened. A sliding mode observer was designed to observe spacecraft failure [9], but it is only applied to linear model. Most systems are nonlinear in reality, spacecraft is a complex nonlinear system. Therefore, the paper designs a fault estimation observer to conduct real-time online estimation of the fault for the Lipschitz nonlinear attitude system. Once the actuator fails, the estimated value can be given in time and the controller will be reconstructed to achieve the purpose of fault-tolerant control.

2 Attitude Model and Control Problem Formulation

Consider the rigid spacecraft [10], the attitude dynamics equation is

$${\mathbf{J}}{{\dot{\varvec{\upomega}}}} = - {\varvec{\upomega }}^{{\mathbf{{\rm X}}}} {\mathbf{J\upomega }} + {\mathbf{u}} + {\mathbf{d}}$$
(1)

where \({\mathbf{J}} \in {\mathbf{R}}^{{3{\rm X}3}}\) is the total inertia matrix of the spacecraft, \({\mathbf{u}} = \left[ {\begin{array}{*{20}c} {u_{1} } & {u_{2} } & {u_{3} } \\ \end{array} } \right]^{T} \in {\mathbf{R}}^{3}\) denotes the control torque that the actuator can actually impose, and \({\mathbf{d}} = \left[ {\begin{array}{*{20}c} {d_{1} } & {d_{2} } & {d_{3} } \\ \end{array} } \right]^{T} \in {\mathbf{R}}^{3}\) denotes the external disturbance torque.

Due to the singularity of the Euler angle kinematics equation, the article uses quaternion to describe the attitude motion of the spacecraft, where \({\mathbf{Q}} = \left[ {\begin{array}{*{20}c} {q_{0} } & {q_{1} } & {q_{2} } & {q_{3} } \\ \end{array} } \right]^{T} = \left[ {\begin{array}{*{20}c} {q_{0} } & {{\mathbf{q}}_{{\mathbf{v}}} } \\ \end{array} } \right]^{T}\) and \(q_{0}^{2} + {\mathbf{q}}_{{\mathbf{v}}}^{2} = 1\). Then the attitude kinematics equation of spacecraft can be described as:

$${\dot{\mathbf{Q}}} = \left[ {\begin{array}{*{20}c} {\dot{q}_{0} } \\ {{\dot{\mathbf{q}}}_{{\mathbf{v}}} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {\frac{1}{2}({\mathbf{q}}_{{\mathbf{v}}}^{\rm X} + q_{0} {\mathbf{I}}){{\varvec{\upomega}}}} \\ { - \frac{1}{2}{\mathbf{q}}_{{\mathbf{v}}}^{{\mathbf{T}}} {{\varvec{\upomega}}}} \\ \end{array} } \right]$$
(2)

where \({{\varvec{\upomega}}} = \left[ {\begin{array}{*{20}c} {\upomega_{1} } & {\upomega_{2} } & \upomega \\ \end{array}_{3} } \right]^{T}\), \({\mathbf{I}}\) is the third-order unit matrix, \({\mathbf{q}}_{{\mathbf{v}}}^{{\mathbf{\rm X}}} = \left[ {\begin{array}{*{20}c} 0 & { - q_{3} } & {q_{2} } \\ {q_{3} } & 0 & { - q_{1} } \\ { - q_{2} } & {q_{1} } & 0 \\ \end{array} } \right]\).

Considering the failure of actuator efficiency loss, the failure attitude model is established in the form of a product factor, and the dynamic Eq. (1) can be rewritten as

$${\mathbf{J}\dot{\varvec{\upomega}}} = - {{\varvec{\upomega}}}^{{\mathbf{\rm X}}} {\mathbf{J\upomega }} + {\mathbf{Eu}} + {\mathbf{d}}$$
(3)

where \({\mathbf{E}} = {\text{diag(}}\begin{array}{*{20}c} {e_{1} } & {e{}_{2}} & {e_{3} } \\ \end{array} {)} \in {\mathbf{R}}^{{3{\rm X}3}}\) denotes the validity factor for the actuators with \(0 < e_{i} \le 1 \, (i = 1,2,3)\). The case when \(e_{i} = 1\) means that the \(i\) th actuator works normally, and \(0 < e_{i} < 1\) corresponds to the case in which the \(i\) th actuator partially loses its effectiveness.

To satisfy the design of fault-tolerant controller, some necessary assumptions are introduced.

Assumption 1: The inertia matrix is positive definite;

Assumption 2: The external disturbance torque d is bounded, namely, it satisfies \(\left\| {\mathbf{d}} \right\| \le d_{\rm max}\), where \(d_{\rm max}\) is the upper bound of the disturbance torque;

Assumption 3: The nonlinear term \({{\varvec{\upomega}}}^{{\mathbf{\rm X}}} {\mathbf{J\upomega }}\) in [11] is globally Lipschitz for \(\forall {{\varvec{\upomega}}} \in {\mathbf{R}}^{3}\), there exists a known positive scalar \(\vartheta\), such that the following condition is satisfied:

$$\left\| {{{\varvec{\upomega}}}^{{\mathbf{\rm X}}} {\mathbf{J\upomega }} - {\hat{\varvec{\upomega }}}^{{\mathbf{\rm X}}} {\mathbf{J}\hat{\upomega}}} \right\| \le \vartheta \left\| {{{\varvec{\upomega}}} - {\hat{\varvec{\upomega }}}} \right\| = \vartheta \left\| {{\tilde{\varvec{\upomega }}}} \right\|$$

In order to effectively solve the problem, we developed a fault-tolerant control strategy. The control problem formulation may be summarized as follows: Based on the above Assumptions, considering the cases of the actuator failure and external interference, one can design the control law \({\mathbf{u}}\) which make the systems (2) and (3) meet \({{\varvec{\upomega}}} \to 0,{\mathbf{q}}_{{\mathbf{v}}} \to 0\;and\;q_{0} \to 1\) when \(t \to \infty\).

3 Observer-Based Variable Structure Controller Design

3.1 Design Fault Estimation Observer

In order to design a sliding mode fault estimation observer to realize the estimation of actuator failure, since \({\mathbf{E}}\) is a diagonal matrix, the \({\mathbf{Eu}}\) in Eq. (3) can be rewritten as:

$${\mathbf{Eu}} = {\mathbf{Up}}$$
(4)

where \({\mathbf{U}} = {\rm diag}(\begin{array}{*{20}c} {u_{1} } & {u_{2} } & {u_{3} } \\ \end{array} ); \, {\mathbf{p}} = (\begin{array}{*{20}c} {e_{1} } & {e_{2} } & {e_{3} } \\ \end{array} )^{T}\).

Therefore, the Eq. (3) can be rewritten as

$${\mathbf{J}\dot{\varvec{\upomega }}} = - {{\varvec{\upomega}}}^{{\mathbf{\rm X}}} {\mathbf{J\upomega }} + {\mathbf{Up}} + {\mathbf{d}}$$
(5)

Based on Eq. (5), we design a sliding mode fault estimation observer:

$${\mathbf{J}}\mathop {{\hat{\varvec{\upomega }}}}\limits^{{\mathbf{.}}} = - {\hat{\varvec{\upomega }}}^{{\mathbf{\rm X}}} {\mathbf{J}\hat{\varvec{\upomega }}} + {\mathbf{U}\hat{\mathbf{p}}} + {{\varvec{\Gamma}}}({{\varvec{\upomega}}} - {\hat{\varvec{\upomega }}}) + d_{\rm max} {\text{sign}}({{\varvec{\upomega}}} - {\hat{\varvec{\upomega }}})$$
(6)
$$\mathop {{\hat{\mathbf{p}}}}\limits^{{\mathbf{.}}} = - {\text{k}}_{{1}} {\hat{\mathbf{p}}} + {\text{k}}_{{2}} {\mathbf{U}}^{{\mathbf{T}}} {\varvec{(\upomega }} - {\hat{\varvec{\upomega}})}$$
(7)

where \({\hat{\varvec{\upomega }}}\) and \({\hat{\mathbf{p}}}\) is respectively state observations and fault estimates, \({\tilde{\varvec{\upomega }}} = {{\varvec{\upomega}}} - {\hat{\varvec{\upomega }}}\) is the error variable of the observer, \({\rm k}_{1} > 0\), \({\rm k}_{2} > 0\), \({{\varvec{\Gamma}}} > 0\) is a diagonal matrix.

Establishing a dynamic equation of observation error by subtracting (5)–(6):

$${\mathbf{J}}\mathop {{\tilde{\varvec{\upomega }}}}\limits^{{\mathbf{.}}} = - {\varvec{(\upomega }}^{{\mathbf{\rm X}}} {\mathbf{J}{\upomega }} - {\hat{\varvec{\upomega }}}^{{\mathbf{\rm X}}} {\mathbf{J}{\hat{\upomega })}} + {\mathbf{U}{\tilde{p}}} - {\mathbf{\Gamma} {\tilde{\varvec{\upomega} }}} + {\mathbf{d}} - {\rm d}_{\rm max} {\rm sign}{(\tilde{\varvec{\upomega}})}$$
(8)

where \({\tilde{\varvec{p}}} = {\mathbf{p}} - {\hat{\mathbf{p}}}\).

Theorem 1:

If the estimated observer of the attitude control system (2)–(4) achieves accurately the efficiency loss fault estimated value of the actuator, the observer satisfies \(\lambda_{\min } (\Gamma ) - \vartheta > 0\).

Proof:

Assumed the Lyapunov function is

$$V_{1} = \frac{1}{2}{\tilde{\varvec{\upomega }}}^{{\mathbf{T}}} {\mathbf{J}\tilde{\varvec{\upomega} }} + \frac{1}{{2{\rm k}_{2} }}{\tilde{\varvec{p}}}^{{\mathbf{T}}} {\tilde{\varvec{p}}}$$

The derivation of the V1 is

$$\dot{V}_{1} = {\tilde{\varvec{\upomega }}}^{{\mathbf{T}}} {\mathbf{J}}\mathop {{\tilde{\varvec{\upomega }}}}\limits^{{\mathbf{.}}} + \frac{{\mathbf{1}}}{{{\rm k}_{2} }}{\tilde{\varvec{p}}}^{{\mathbf{T}}} \mathop {{\tilde{\mathbf{p}}}}\limits^{{\mathbf{.}}}$$

Substituting the equation of observation error (7) into the above equation, it can be get

$$\begin{aligned} \dot{V}_{1} = & {\tilde{\varvec{\upomega }}}^{{\mathbf{T}}} {\mathbf{J}}\mathop {{\tilde{\varvec{\upomega }}}}\limits^{{\mathbf{.}}} + \frac{1}{{k_{2} }}{\tilde{\mathbf{p}}}^{{\mathbf{T}}} \mathop {{\tilde{\mathbf{p}}}}\limits^{{\mathbf{.}}} \\ = & {\tilde{\varvec{\upomega }}}^{{\mathbf{T}}} {\mathbf{[}} - {\mathbf{(\upomega }}^{{\mathbf{\rm X}}} {\mathbf{J\upomega }} - {\hat{\varvec{\upomega }}}^{{\mathbf{\rm X}}} {\mathbf{J}{\hat{\upomega })}} + {\mathbf{U}{\tilde{p}}} - {\mathbf{\Gamma \tilde{\upomega }}} + {\mathbf{d}} - d_{\rm max} sign({\tilde{\varvec{\upomega }}})] - \frac{1}{{k_{2} }}{\tilde{\mathbf{p}}}^{{\mathbf{T}}} k_{1} {\hat{\mathbf{p}}} - {\tilde{\mathbf{p}}}^{{\mathbf{T}}} {\mathbf{U}}^{{\mathbf{T}}} {{(\tilde{\upomega })}} \\ \end{aligned}$$

By scaling the above equation, we can obtain:

$$\begin{aligned} \dot{V}_{1} & \le - (\lambda_{\min } ({{\varvec{\Gamma}}}) - \vartheta )\left\| {{\tilde{\varvec{\upomega }}}} \right\|^{2} + {\tilde{\varvec{\upomega }}}^{{\mathbf{T}}} {\mathbf{(d}} - d_{\rm max} sign({\tilde{\varvec{\upomega }}})) - \frac{1}{{k_{2} }}{\tilde{\mathbf{p}}}^{T} k_{1} {\hat{\mathbf{p}}} \\ & \le - (\lambda_{\min } ({{\varvec{\Gamma}}}) - \vartheta )\left\| {{\tilde{\varvec{\upomega }}}} \right\|^{2} - \frac{1}{{k_{2} }}{\tilde{\mathbf{p}}}^{T} k_{1} {\hat{\mathbf{p}}} \\ \end{aligned}$$

Due to \({\tilde{\mathbf{p}}}^{{\mathbf{T}}} {\hat{\mathbf{p}}} = {\tilde{\mathbf{p}}}^{{\mathbf{T}}} {\mathbf{p}} - {\tilde{\mathbf{p}}}^{{\mathbf{T}}} {\tilde{\mathbf{p}}} \le - \frac{{\mathbf{1}}}{{\mathbf{2}}}{\tilde{\mathbf{p}}}^{{\mathbf{T}}} {\tilde{\mathbf{p}}} + \frac{{\mathbf{1}}}{{\mathbf{2}}}{\mathbf{p}}^{{\mathbf{T}}} {\mathbf{p}}\), \(0 < p_{i} \le 1\).

$$\begin{aligned} \dot{V}_{1} & \le - (\lambda_{\min } ({{\varvec{\Gamma}}}) - \vartheta )\left\| {{\tilde{\varvec{\upomega }}}} \right\|^{2} - {\tilde{\mathbf{p}}}^{T} k_{1} {\hat{\mathbf{p}}} \\ & \le - (\lambda_{\min } ({{\varvec{\Gamma}}}) - \vartheta )\left\| {{\tilde{\varvec{\upomega }}}} \right\|^{2} - \frac{{k_{1} }}{{2k_{2} }}({\mathbf{p}}^{{\mathbf{T}}} {\mathbf{p}} - {\tilde{\mathbf{p}}}^{{\mathbf{T}}} {\tilde{\mathbf{p}}}) \\ \end{aligned}$$

Then, \(\dot{V}_{1} \le 0\), if the observer satisfies the condition \(\lambda_{\min } ({{\varvec{\Gamma}}}) - \vartheta > 0\), the designed sliding mode estimation observer can achieve the ultimate uniform boundlessness. Therefore, the estimation fault observer specified in Theorem 1 can estimate the fault information in real time and accurately, and send the fault information to the fault tolerant controller in time.

3.2 Observer-Based Control Law Derivation

The controller is designed using the sliding mode control theory. For the equations of (2) and (3), the sliding surface is designed as follows:

$${\mathbf{s}} = {{\varvec{\upomega}}} + k{\mathbf{q}}_{v}$$

The derivation of the s is

$${\dot{\mathbf{s}}} = - {\mathbf{J}}^{{ - {\mathbf{1}}}} {{\varvec{\upomega}}}^{{\mathbf{\rm X}}} {\mathbf{J\upomega }} + {\mathbf{J}}^{{ - {\mathbf{1}}}} {\mathbf{Eu}} + {\mathbf{J}}^{{ - {\mathbf{1}}}} {\mathbf{d}} + \frac{{\mathbf{k}}}{{\mathbf{2}}}{\mathbf{(q}}_{{\mathbf{v}}}^{{\mathbf{\rm X}}} + q_{0} {\mathbf{I)\upomega }}$$

The fast power sliding mode approach law is chosen in the form:

$${\dot{\mathbf{s}}} = - {\rm k}_{3} {\mathbf{s}} - {\rm k}_{4} \,{\rm diag}\{ \left| {\mathbf{s}} \right|\}^{\alpha } {\rm sign}({\mathbf{s}})$$

where \({\text{k}}_{{3}} > {\text{0, k}}_{{4}} > {0, 0} < \alpha < {1}\).

Based the above, the following forms of control law and adaptive law are designed:

$$\begin{aligned} {\mathbf{u}} = & {\mathbf{E}}^{{ - {\mathbf{1}}}} {\mathbf{J[J}}^{{ - {\mathbf{1}}}} {{\varvec{\upomega}}}^{{\mathbf{\rm X}}} {\mathbf{J\upomega }} - {\mathbf{J}}^{{ - {\mathbf{1}}}} \hat{\rm d}_{\rm max} \frac{{\mathbf{s}}}{{\left\| {\mathbf{s}} \right\|}} - \frac{{\mathbf{k}}}{{\mathbf{2}}}{\mathbf{(q}}_{{\mathbf{v}}}^{{\mathbf{\rm X}}} + q_{0} {\mathbf{I)\upomega }} - {\rm k}_{3} {\mathbf{s}} - {\rm k}_{4} {\rm diag}{\mathbf{\{ }}\left| {\mathbf{s}} \right|{\mathbf{\} }}^{\alpha } {\rm sign}{\mathbf{(s)}}] \\ \dot{\hat{d}}_{\rm max} = & {\rm k}_{5} \left\| {\mathbf{s}} \right\| \\ \end{aligned}$$
(9)

where \(k_{5} > 0\).

Theorem 2:

The fault-tolerant control law (9) ensures that the attitude system can reach a stable state under the condition of loss of actuator performance, that is \(\upomega \to 0,q_{v} \to 0\;and\;q_{0} \to 1\) when \(t \to \infty\).

Proof:

Select the Lyapunov function is

$${\rm V}_{2} = \frac{1}{2}{\mathbf{s}}^{{\mathbf{T}}} {\mathbf{s}} + \frac{1}{{2{\rm k}_{5} }}({\rm d}_{\rm max} - \hat{\rm d}_{\rm max} )^{2}$$

The derivation of the \(V_{2}\)

$$\begin{aligned} \dot{V}_{2} = & {\mathbf{s}}^{{\mathbf{T}}} \mathop {\mathbf{s}}\limits^{{\mathbf{.}}} + \frac{1}{{k_{5} }}\tilde{d}_{\rm max} \mathop {\tilde{d}}\limits^{.}_{\rm max} \\ = & {\mathbf{s}}^{{\mathbf{T}}} {\mathbf{[}} - {\mathbf{J}}^{{ - {\mathbf{1}}}} {{\varvec{\upomega}}}^{{\mathbf{\rm X}}} {\mathbf{J\upomega }} + {\mathbf{J}}^{{ - {\mathbf{1}}}} {\mathbf{Eu}} + {\mathbf{J}}^{{ - {\mathbf{1}}}} {\mathbf{d}} + \frac{{\mathbf{k}}}{{\mathbf{2}}}{\mathbf{(q}}_{{\mathbf{v}}}^{{\mathbf{\rm X}}} + q_{0} {\mathbf{I)\upomega }}] + \frac{1}{{k_{5} }}\tilde{d}_{\rm max} \mathop {\tilde{d}}\limits^{.}_{\rm max} \\ = & s^{{\mathbf{T}}} {\mathbf{[}} - {\mathbf{J}}^{{ - {\mathbf{1}}}} {{\varvec{\upomega}}}^{{\mathbf{\rm X}}} {\mathbf{J\upomega }} + {\mathbf{J}}^{{ - {\mathbf{1}}}} {\mathbf{E(J}}^{{ - {\mathbf{1}}}} {\mathbf{E)}}^{{ - {\mathbf{1}}}} {\mathbf{(J}}^{{ - {\mathbf{1}}}} {{\varvec{\upomega}}}^{{\mathbf{\rm X}}} {\mathbf{J\upomega }} - {\mathbf{J}}^{ - 1} \hat{d}_{\rm max} \frac{{\mathbf{s}}}{{\left\| {\mathbf{s}} \right\|}} - \frac{k}{2}({\mathbf{q}}_{v}^{\rm X} + q_{0} {\mathbf{I)\upomega }} - k_{3} {\mathbf{s}} - k_{4} {\rm diag}\{ \left| {\mathbf{s}} \right|\}^{\alpha } {\rm sign}({\mathbf{s}})) \\ + & J^{{ - {\mathbf{1}}}} {\mathbf{d}} + \frac{{\mathbf{k}}}{{\mathbf{2}}}{\mathbf{(q}}_{v}^{\rm X} + q_{0} {\mathbf{I)\upomega }}] + \frac{1}{{k_{5} }}\tilde{d}_{\rm max} \mathop {\tilde{d}}\limits^{.}_{\rm max} \\ = & {\mathbf{s}}^{{\mathbf{T}}} {\mathbf{[}} - {\mathbf{J}}^{{ - {\mathbf{1}}}} \hat{d}_{\rm max} \frac{{\mathbf{s}}}{{\left\| {\mathbf{s}} \right\|}} + {\mathbf{J}}^{{ - {\mathbf{1}}}} {\mathbf{d}} - k{}_{3}{\mathbf{s}} - k_{4} {\rm diag}{\mathbf{\{ }}\left| {\mathbf{s}} \right|{\mathbf{\} }}^{{{\varvec{\upalpha}}}} {\rm sign}{\mathbf{(s)}}] - \frac{1}{{k_{5} }}\tilde{d}_{\rm max} \mathop {\hat{d}}\limits^{.}_{\rm max} \\ \le & {\mathbf{s}}^{{\mathbf{T}}} {\mathbf{[J}}^{{ - {\mathbf{1}}}} {\mathbf{(d}} - \hat{d}_{\rm max} \frac{{\mathbf{s}}}{{\left\| {\mathbf{s}} \right\|}})] - k{}_{3}\left\| {\mathbf{s}} \right\|^{2} - k_{4} \left\| {\mathbf{s}} \right\|^{\alpha + 1} - \tilde{d}_{\rm max} \left\| {\mathbf{s}} \right\| \\ \le & - k{}_{3}\left\| {\mathbf{s}} \right\|^{2} - k_{4} \left\| {\mathbf{s}} \right\|^{\alpha + 1} \\ \le & 0 \\ \end{aligned}$$

Then, the spacecraft attitude system is asymptotically stable under the designed controller.

Remark1:

To suppress the chattering effect of sliding mode control, let the function \(sat({\mathbf{s}})\) replace the function \(sign({\mathbf{s}})\) and use the function \(\frac{{\mathbf{s}}}{{\left\| {\mathbf{s}} \right\| + \nu }}\) instead of the function \(\frac{{\mathbf{s}}}{{\left\| {\mathbf{s}} \right\|}}\) in the controller, where \(\nu\) is a normal number with a small value.

$$sat(s) = \left\{ {\begin{array}{*{20}c} 1 \\ {ks} \\ { - 1} \\ \end{array} \, \begin{array}{*{20}c} {s > \Delta } \\ {\left| s \right| \le \Delta } \\ {s < \Delta } \\ \end{array} } \right.{ ,}\begin{array}{*{20}c} {} & {k = 1/\Delta } \\ \end{array}$$

4 Numerical Simulation

In this section, numerical simulations are presented to demonstrate the validity of the designed fault-tolerant controller. The rotation inertia matrix of the spacecraft is \({\mathbf{J}} = \left[ {\begin{array}{*{20}c} {20} & 0 & {0.9} \\ 0 & {17} & 0 \\ {0.9} & 0 & {15} \\ \end{array} } \right]\), the external disturbance torque \({\mathbf{d}} = A_{0} \left[ {\begin{array}{*{20}c} {3\cos (w_{0} {\text{t}}) + 1} \\ {1.5\sin (w_{0} {\text{t}}) + 3\cos (w_{0} {\text{t}})} \\ {3\sin (w_{0} {\text{t}}) + 1} \\ \end{array} } \right]\), where \(w_{0}\) is the orbit angular velocity (Table 1).

Table 1. The main simulation parameters.

Under the above initial conditions, numerical simulation is carried out by distinguishing the normal actuator from the loss fault.

Case 1 Normal mode, The actuator is working fine.

Case 2 Failure mode, The actuator has the following form of efficiency loss failure:

$$\left\{ {\begin{array}{*{20}c} {e_{1} (t) = \left\{ {\begin{array}{*{20}c} 1 \\ {0.6} \\ \end{array} \, \begin{array}{*{20}c} {0 \le t < 5s} \\ {t \ge 5s} \\ \end{array} } \right.} \\ {e_{2} (t) = \left\{ {\begin{array}{*{20}c} 1 \\ {0.8} \\ \end{array} \, \begin{array}{*{20}c} {0 \le t < 8s} \\ {t \ge 8s} \\ \end{array} } \right.} \\ \end{array} } \right.$$
(10)

4.1 Normal Mode

In the normally mode, the actuator works well. Using the action of control rate (9), the response of the attitude angle and the angular rate are shown in Fig. 1, the control torque and the estimated upper bound of the external interference is shown in Fig. 2.

Fig. 1.
figure 1

The attitude four elements and the angular velocity

From the simulation results, the attitude system reaches steady state in about 20s and the control precision is better than 10-4.

Fig. 2.
figure 2

The control torque and the last estimate curve of external interference

4.2 Failure Mode

In this section, considering the actuator failure (10), the same controller parameters is simulated to verify the validity of the observer and the fault-tolerant capability of the fault-tolerant controller under the same initial states. The response of the attitude angle and the angular rate are shown in Fig. 3, the attitude system reaches state less than 20 s.

Fig. 3.
figure 3

The attitude four elements and the angular velocity

Fig. 4.
figure 4

The attitude four elements and the angular velocity

Fig. 5.
figure 5

The attitude four elements and the angular velocity

It can be seen from the Figs. 4, 5, the observer can find the fault information of the actuator in time, and the designed controller can realize the effective compensation for the fault within 3 s, and realize the stable control of the attitude system.

In short, the designed observer-based variable structure controller has good capability in both modes, and can meet the requirements of spacecraft control system. Especially in the failure mode, it has good performance of fault tolerance.

5 Conclusion

This paper studies the integrated fault estimation and fault-tolerant control design of rigid spacecraft attitude Lipschitz nonlinear system for external disturbance and partial failure of the actuator. An adaptive sliding mode observer with an upper disturbance limit is designed to obtain an estimate of the effect of unknown actuator failure. Additionally, a fault-tolerant control strategy is proposed using the method of the fast sliding mode reaching law. Furthermore, the Lyapunov method is used to prove the stability of the faulty closed-loop system. Finally, the simulation results demonstrate the feasible of the observer-based variable structure control scheme designed in this paper.

The follow-up work will be to study the fault-tolerant control rate, realize the finite-time control of the attitude system and enhance the robustness of the controller.