1 Introduction

Attitude control of spacecraft is a fundamental problem in aerospace engineering owing to its broad applications in a large range of space missions, such as rendezvous and docking, formation flying, satellite surveillance, and deep space exploration. Nowadays, modern spacecrafts are expected to have the rapid, accurate, and global response capability to various maneuvering command signals. Nonetheless, the attitude kinematics and dynamics of the spacecraft are strongly coupled, highly nonlinear, and inevitably affected by inertia uncertainties, external disturbances, and input saturation. The existence of these issues makes the spacecraft attitude control system design quite complicated and challenging. Consequently, many advanced control techniques have been developed for the spacecraft attitude control, such as proportional-derivative (PD) control [1,2,3,4,5], adaptive control [6,7,8], sliding mode control [9,10,11,12,13], backstepping control [14,15,16], and iterative learning control [17, 18].

For some specific space missions, it is more desirable for the spacecraft to accomplish the attitude tracking task in a given time. For instance, the agile attitude adjustment is highly required for a microsatellite to track a moving space target. With this regard, finite-time control has been widely utilized for spacecraft attitude control during the last decade. Compared with the asymptotic control, the finite-time control can guarantee the attitude and angular velocity tracking errors converge to zero or small region about zero in finite time. More attractively, the finite-time control also has some nice features, such as faster convergence rate, higher control accuracy, and better disturbance rejection property [19, 20]. The finite-time attitude control methods can be roughly classified into three types, i.e., the homogeneous method [21,22,23], the adding a power integrator technique [24,25,26,27], and the terminal sliding mode (TSM) control [28,29,30,31,32,33,34,35,36,37]. Owing to its strong robustness against inertia uncertainties and external disturbances, the TSM control is the most commonly used among these three types of finite-time attitude control methods. In [28], a conventional TSM (CTSM) control technique was designed for spacecraft attitude tracking with finite-time convergence. Nonetheless, the CTSM control has two major disadvantages. The first weakness is the singularity problem that the infinite control effects are required if the system states are expected to be exactly stabilized to the equilibrium points. Fortunately, several improved TSM control methods have been developed to overcome this drawback, such as nonsingular TSM (NTSM) control [29, 30] and fast NTSM (FNTSM) control [31,32,33,34,35,36,37]. The second weakness is the chattering phenomenon due to its discontinuous design. By using the adaptive estimation term to replace the robust switching term in the TSM control, the adaptive control approach can significantly reduce the unexpected chattering phenomenon without increasing the structural complexity of the controller.

To meet the development demands of autonomy and intelligence for future space activities, prescribed performance control has received considerable attention in the field of spacecraft attitude control over recent years. The prescribed performance control was first proposed in [38]. It can guarantee both the transient and steady-state performances of the attitude tracking errors that converge within the predefined performance bounds. The main idea of the prescribed performance control is imposing the performance functions predefined by the users on the attitude tracking errors and then transforming the constrained control system into a constraint-free one through a simple error transformation. Up till now, some relevant results have been reported for the prescribed performance attitude control of spacecraft. In [39, 40], non-adaptive and adaptive observer-based attitude tracking controllers were proposed for fully actuated spacecraft with guaranteed performance bounds on attitude and angular velocity tracking errors. The measurement errors were also considered therein. In [41], an adaptive fault-tolerant attitude controller was designed for spacecraft with transient response performance based on the variable structure control. In [42], an adaptive fault-tolerant attitude tracking controller was developed for spacecraft with prescribed performance guarantees by incorporating the barrier Lyapunov function and Nussbaum gains with backstepping control. In [43], the prescribed performance attitude tracking control and active vibration suppression of flexible spacecraft were addressed through an adaptive sliding mode controller, a modal observer, and an active controller. In [44], a robust fault-tolerant controller was presented for the attitude tracking of spacecraft with a guaranteed prescribed performance by using a low-pass filter and an auxiliary system in conjunction with adaptive backstepping design. In [45], an event-triggered adaptive fault-tolerant attitude control scheme was proposed for spacecraft with prescribed performance within the framework of the backstepping method.

Motivated by the aforementioned discussions, finite-time control, and prescribed performance control are two important research topics in the field of spacecraft attitude control. In this paper, a novel adaptive FNTSM control approach is proposed for the robust adaptive finite-time prescribed performance attitude tracking control of spacecraft subject to inertia uncertainties, external disturbances, and input saturation. To the best of the authors’ knowledge, until recently, there have been really limited existing studies focused on the attitude tracking control of spacecraft with the consideration of finite-time convergence and prescribed performance simultaneously. The contributions of this work are briefly outlined as follows.

  • The first novelty lies in the explicit design of the proposed adaptive FNTSM control approach. First, a simple error transformation is introduced to guarantee the attitude tracking errors always stay within the predefined performance bounds. Then, a FNTSM surface is presented based on the transformed attitude tracking errors. Finally, an adaptive FNTSM controller is designed by using the adaptive updating law to estimate the square of the norm of the lumped uncertain term. Rigorous theoretical analysis for the practical finite-time stability of the resulting closed-loop system is provided.

  • The second novelty lies in the superior control performance of the proposed adaptive FNTSM control approach. The proposed adaptive FNTSM controller can guarantee the attitude tracking errors converge to the arbitrarily small region about zero in finite time within the predefined performance bounds. Benefiting from the adaptive estimation technique, the proposed adaptive FNTSM controller is continuous and the unexpected chattering phenomenon is significantly reduced. Moreover, the prior knowledge on the upper bound of the lumped uncertain term is no longer needed in the control design.

The organization of this article is as follows. In Sect. 2, problem formulation and some preliminaries are presented. In Sect. 3, the adaptive FNTSM controller is designed and a rigorous theoretical analysis is provided. In Sect. 4, simulation experiments are performed to validate the proposed controller. Lastly, the main conclusions and future work are addressed in Sect. 5.

Notations. Throughout this paper, \({\varvec{I}}_{n}\) denotes the \(n \times n\) identity matrix. \({\varvec{0}}_{n}\) denotes the \(n \times 1\) column vector with all elements being 0. \(\ln \left( \cdot \right)\) denotes the natural logarithm of a real number. \({\text{sgn}} \left( \cdot \right)\) denotes the signum function of a real number. \(\left| \cdot \right|\) denotes the absolute value of a real number. \(\left\| \cdot \right\|\) denotes the Euclidean norm of a vector or the induced norm of a matrix. \(\left( \cdot \right)^{ \times }\) denotes the \(3 \times 3\) skew-symmetric matrix of a vector. For given column vectors \({\mathbf{a}} \in {\mathbb{R}}^{3}\) and \({\mathbf{b}} \in {\mathbb{R}}^{3}\), \({\mathbf{a}}^{ \times } {\mathbf{b}} = {\mathbf{a}} \times {\mathbf{b}}\). For given a vector \({\mathbf{x}} = \left[ {x_{1} ,x_{2} , \ldots ,x_{n} } \right]^{{\text{T}}}\) and a scalar \(p\), \({\text{sig}}^{p} \left( {\mathbf{x}} \right) = \left[ {\left| {x_{1} } \right|^{p} {\text{sgn}}\left( {x_{1} } \right),\left| {x_{2} } \right|^{p} {\text{sgn}}\left( {x_{2} } \right), \ldots ,\left| {x_{n} } \right|^{p} {\text{sgn}}\left( {x_{n} } \right)} \right]^{{\text{T}}}\).

2 Problem Formulation and Preliminaries

2.1 Spacecraft Attitude Kinematics and Dynamics

The spacecraft is modeled as a fully actuated rigid body with inertia uncertainties and external disturbances. Three coordinate frames are adopted to represent the attitude orientation of the spacecraft, i.e., the inertial frame, the body frame, and the desired frame. Then, the attitude kinematics and dynamics of the spacecraft can be expressed as

$$\left\{ \begin{gathered} {\dot{\mathbf{q}}}_{v} = {\mathbf{E}}\left( {\mathbf{q}} \right){{\varvec{\upomega}}}, \hfill \\ \dot{q}_{4} = - \frac{1}{2}{\mathbf{q}}_{v}^{{\text{T}}} {{\varvec{\upomega}}}, \hfill \\ \end{gathered} \right.$$
(1)
$${\mathbf{J\dot{\omega }}} = - {{\varvec{\upomega}}}^{ \times } {\mathbf{J\omega }} + {{\varvec{\uptau}}} + {\mathbf{d}},$$
(2)

where \({\mathbf{q}} = \left[ {{\mathbf{q}}_{v}^{{\text{T}}} ,q_{4} } \right]^{{\text{T}}}\) denotes the orientation of the body frame with respect to the inertial frame, in which \({\mathbf{q}}_{v} \in {\mathbb{R}}^{3}\) and \(q_{4}\) are the vector and scalar components of the unit quaternion with \({\mathbf{q}}_{v}^{{\text{T}}} {\mathbf{q}}_{v} + q_{4}^{2} = 1\). \({{\varvec{\upomega}}} \in {\mathbb{R}}^{3}\) denotes the angular velocity of the spacecraft with respect to the inertial frame and expressed in the body frame. \({\mathbf{E}}\left( {\mathbf{q}} \right) = \frac{1}{2}\left( {q_{4} {\mathbf{I}}_{3} + {\mathbf{q}}_{v}^{ \times } } \right)\) is the Jacobian matrix. \({\mathbf{J}} = {\mathbf{J}}_{0} + \Delta {\mathbf{J}}\) denotes the actual inertia matrix of the spacecraft, in which \({\mathbf{J}}_{{0}} \in {\mathbb{R}}^{3 \times 3}\) denotes the nominal inertia matrix of the spacecraft and \(\Delta {\mathbf{J}} \in {\mathbb{R}}^{3 \times 3}\) is the deviation between the actual and nominal inertia matrices. Note that only \({\mathbf{J}}_{{0}}\) is available for the control design. \({{\varvec{\uptau}}} \in {\mathbb{R}}^{3}\) denotes the control torques produced by the actuators. \({\mathbf{d}} \in {\mathbb{R}}^{3}\) denotes the external disturbances acted on the spacecraft.

Let \({\mathbf{q}}_{d}\) and \({{\varvec{\upomega}}}_{d}\) be the desired attitude and angular velocity of the spacecraft, Then, the attitude and angular velocity tracking errors can be defined as

$$\left\{ \begin{gathered} {\mathbf{q}}_{ev} = q_{d4} {\mathbf{q}}_{v} - {\mathbf{q}}_{dv}^{ \times } - q_{4} {\mathbf{q}}_{dv} , \hfill \\ q_{e4} = {\mathbf{q}}_{dv}^{{\text{T}}} {\mathbf{q}}_{v} + q_{d4} q_{4} , \hfill \\ \end{gathered} \right.$$
(3)
$${{\varvec{\upomega}}}_{e} = {{\varvec{\upomega}}} - {\mathbf{C\omega }}_{d} ,$$
(4)

where \({\mathbf{q}}_{dv}^{{\text{T}}} {\mathbf{q}}_{dv} + q_{d4}^{2} = 1\) and \({\mathbf{q}}_{ev}^{{\text{T}}} {\mathbf{q}}_{ev} + q_{e4}^{2} = 1\). \({\mathbf{C}} = \left( {q_{e4}^{2} - {\mathbf{q}}_{ev}^{{\text{T}}} {\mathbf{q}}_{ev} } \right){\mathbf{I}}_{3} + 2{\mathbf{q}}_{ev} {\mathbf{q}}_{ev}^{{\text{T}}} - 2q_{e4} {\mathbf{q}}_{ev}^{ \times }\) is the rotation matrix from the desired frame to the body frame with the properties \(\left\| {\mathbf{C}} \right\| = {1}\) and \({\dot{\mathbf{C}}} = - {{\varvec{\upomega}}}_{e}^{ \times } {\mathbf{C}}\). Then, the attitude error kinematics and dynamics of the spacecraft can be expressed as

$$\left\{ \begin{gathered} {\dot{\mathbf{q}}}_{ev} = {\mathbf{E}}\left( {{\mathbf{q}}_{e} } \right){{\varvec{\upomega}}}_{e} , \hfill \\ \dot{q}_{e4} = - \frac{1}{2}{\mathbf{q}}_{ev}^{{\text{T}}} {{\varvec{\upomega}}}_{e} , \hfill \\ \end{gathered} \right.$$
(5)
$${\mathbf{J\dot{\omega }}}_{e} = - {{\varvec{\upomega}}}^{ \times } {\mathbf{J\omega }} + {\mathbf{J}}\left( {{{\varvec{\upomega}}}_{e}^{ \times } {\mathbf{C\omega }}_{d} - {\mathbf{C\dot{\omega }}}_{d} } \right) + {{\varvec{\uptau}}} + {\mathbf{d}}.$$
(6)

When considering the input saturation, the control torques acted on the spacecraft can be expressed as

$${{\varvec{\uptau}}} = {\text{sat}}\left( {{{\varvec{\uptau}}}_{c} } \right),$$
(7)

where \({{\varvec{\uptau}}}_{c} \in {\mathbb{R}}^{3}\) denotes the command control inputs of the spacecraft. The saturation function is defined as \({\text{sat}}\left( {{{\varvec{\uptau}}}_{c} } \right) = \left[ {{\text{sat}}\left( {\tau_{c1} } \right),{\text{sat}}\left( {\tau_{c2} } \right),{\text{sat}}\left( {\tau_{c3} } \right)} \right]^{{\text{T}}}\), in which \({\text{sat}}\left( {\tau_{ci} } \right) = {\text{sgn}} \left( {\tau_{ci} } \right) \cdot \min \left\{ {\left| {\tau_{ci} } \right|,\tau_{m} } \right\}\) and \(\tau_{m}\) denotes the maximum allowable value of the control inputs. Then, the saturation function can be rewritten as

$${\text{sat}}\left( {{{\varvec{\uptau}}}_{c} } \right) = {{\varvec{\Theta}}}\left( {{{\varvec{\uptau}}}_{c} } \right){{\varvec{\uptau}}}_{c} ,$$
(8)

where \({{\varvec{\Theta}}}\left( {{{\varvec{\uptau}}}_{c} } \right) = {\text{diag}}\left[ {\Theta \left( {\tau_{c1} } \right),\Theta \left( {\tau_{c2} } \right),\Theta \left( {\tau_{c3} } \right)} \right] \in {\mathbb{R}}^{3 \times 3}\) with its element \(\Theta \left( {\tau_{ci} } \right)\) defined as

$$\Theta \left( {\tau_{ci} } \right) = \left\{ {\begin{array}{*{20}l} {1,\;\;\;\;\left| {\tau_{ci} } \right| \le \tau_{m} ,} \hfill \\ {{\text{sgn}} \left( {\tau_{ci} } \right){{\tau_{m} } \mathord{\left/ {\vphantom {{\tau_{m} } {\tau_{ci} }}} \right. \kern-\nulldelimiterspace} {\tau_{ci} }},\;\;\;\;{\text{otherwise}}.} \hfill \\ \end{array} } \right.$$
(9)

Substituting Eqs. (7) and (8) into Eq. (6) yields

$${\mathbf{J\dot{\omega }}}_{e} = - {{\varvec{\upomega}}}^{ \times } {\mathbf{J\omega }} + {\mathbf{J}}\left( {{{\varvec{\upomega}}}_{e}^{ \times } {\mathbf{C\omega }}_{d} - {\mathbf{C\dot{\omega }}}_{d} } \right) + {{\varvec{\Theta}}}\left( {{{\varvec{\uptau}}}_{c} } \right){{\varvec{\uptau}}}_{c} + {\mathbf{d}}.$$
(10)

2.2 Control Objective

The control objective of this paper is to design a robust adaptive finite-time prescribed performance control law such that the attitude tracking errors can converge to the small region about zero in finite time within the following predefined performance bounds:

$$- \mu_{i} \left( t \right) \le q_{{{\text{evi}}}} \left( t \right) \le \mu_{i} \left( t \right),\;\;\;\;i = 1,2,3,$$
(11)

where \(\mu_{i} \left( t \right) = \left( {q_{{{\text{evi}},0}} - q_{{{\text{evi}},\infty }} } \right)\exp \left( { - \eta_{i} t} \right) + q_{{{\text{evi,}}\infty }}\) is the performance function predefined by the users, \(q_{{{\text{evi}},\infty }}\) is the maximum allowable steady-state tracking error of \(q_{{{\text{evi}}}}\) with \(q_{{{\text{evi}},\infty }} > q_{{{\text{evi}},0}} > 0\), and \(\eta_{i}\) is the convergence rate of \(\mu_{i} \left( t \right)\). The initial attitude tracking errors satisfy the condition \(- \mu_{i} \left( 0 \right) \le q_{{{\text{evi}}}} \left( 0 \right) \le \mu_{i} \left( 0 \right)\), \(i = 1,2,3\).

2.3 Useful Lemma

Furthermore, a technical lemma is presented below in the sequel will be used in the following stability analysis of the proposed control design.

Lemma 1

[46] Consider the nonlinear system:

$${\dot{\mathbf{x}}} = {\mathbf{f}}\left( {\mathbf{x}} \right),\;{\mathbf{x}}\left( 0 \right) = {\varvec{0}},\;{\mathbf{f}}\left( {\varvec{0}} \right) = {\varvec{0}},\;{\mathbf{x}} \in {\mathbb{R}}^{n} ,$$
(12)

where \({\mathbf{x}} = \left[ {x_{1} ,x_{2} , \ldots ,x_{n} } \right]^{{\text{T}}} \in {\mathbb{R}}^{n}\) is the state vector, and \({\mathbf{f}}\left( {\mathbf{x}} \right) = \left[ {f_{1} \left( {\mathbf{x}} \right),f_{2} \left( {\mathbf{x}} \right), \ldots ,f_{n} \left( {\mathbf{x}} \right)} \right]^{{\text{T}}} :\;{\mathbb{R}}^{n} \to {\mathbb{R}}^{n}\) is a continuous vector field. Suppose there exists a positive definite function \(V\left( {\mathbf{x}} \right)\) satisfying \(\dot{V}\left( {\mathbf{x}} \right) + \kappa_{1} V\left( {\mathbf{x}} \right) + \kappa_{2} V^{\gamma } \left( {\mathbf{x}} \right) \le \delta\), where \(\kappa_{1} > 0\), \(\kappa_{2} > 0\), \(0 < \gamma < 1\), and \(\delta > 0\) is bounded, then the system (12) is practically finite-time stable. The system states can converge to the small region about zero \({\mathbf{x}} \in \left( {V\left( {\mathbf{x}} \right) \le \frac{\delta }{{\left( {1 - \varepsilon } \right)\kappa_{1} }}} \right)\) within the finite settling time \(T\) satisfying \(T \le \frac{1}{{\varepsilon \kappa_{1} \left( {1 - \gamma } \right)}}\ln \frac{{\varepsilon \kappa_{1} V^{1 - \gamma } \left( {{\mathbf{x}}\left( 0 \right)} \right) + \kappa_{2} }}{{\kappa_{2} }}\), where \(0 < \varepsilon < 1\).

3 Main Results

The main results of this paper are presented in this section. First, a simple error transformation is introduced to guarantee the attitude tracking errors always stay within the predefined performance bounds. Then, a FNTSM surface is presented based on the transformed attitude tracking errors. Finally, an adaptive FNTSM controller is designed by using the adaptive updating law to estimate the square of the norm of the lumped uncertain term. The practical finite-time stability of the resulting closed-loop system is theoretically proved.

3.1 Simple Error Transformation

Introduce the transformed attitude tracking errors \({\mathbf{e}} = \left[ {e_{1} ,e_{2} ,e_{3} } \right]^{T}\) with its element defined as

$$e_{i} = \ln \frac{{\mu_{i} + q_{{{\text{evi}}}} }}{{\mu_{i} - q_{{{\text{evi}}}} }},\;\;\;\;i = 1,2,3.$$
(13)

Taking the first-order and second-order time derivatives of \(e_{i}\) yields

$$\dot{e}_{i} = \frac{1}{2}\left( {\frac{{\dot{\mu }_{i} + \dot{q}_{{{\text{evi}}}} }}{{\mu_{i} + q_{{{\text{evi}}}} }} - \frac{{\dot{\mu }_{i} - \dot{q}_{{{\text{evi}}}} }}{{\mu_{i} - q_{{{\text{evi}}}} }}} \right),$$
(14)
$$\ddot{e}_{i} = \frac{{\ddot{\mu }_{i} \left( {\mu_{i} + q_{{{\text{evi}}}} } \right) - \left( {\dot{\mu }_{i} + \dot{q}_{{{\text{evi}}}} } \right)^{2} }}{{2\left( {\mu_{i} + q_{{{\text{evi}}}} } \right)^{2} }} - \frac{{\ddot{\mu }_{i} \left( {\mu_{i} - q_{{{\text{evi}}}} } \right) - \left( {\dot{\mu }_{i} - \dot{q}_{{{\text{evi}}}} } \right)^{2} }}{{2\left( {\mu_{i} - q_{{{\text{evi}}}} } \right)^{2} }} + \left( {\frac{1}{{2\left( {\mu_{i} + q_{{{\text{evi}}}} } \right)}} + \frac{1}{{2\left( {\mu_{i} - q_{{{\text{evi}}}} } \right)}}} \right)\ddot{q}_{{{\text{evi}}}} .$$
(15)

Define \({\mathbf{B}}_{1} = \left[ {B_{11} ,B_{12} ,B_{13} } \right]^{{\text{T}}}\), \({\mathbf{B}}_{2} = \left[ {B_{21} ,B_{22} ,B_{23} } \right]^{{\text{T}}}\), and \({\mathbf{B}}_{3} = {\text{diag}}\left[ {B_{31} ,B_{32} ,B_{33} } \right]\) with \(B_{1i} = \frac{{\ddot{\mu }_{i} \left( {\mu_{i} + q_{{{\text{evi}}}} } \right) - \left( {\dot{\mu }_{i} + \dot{q}_{{{\text{evi}}}} } \right)^{2} }}{{2\left( {\mu_{i} + q_{{{\text{evi}}}} } \right)^{2} }}\), \(B_{2i} = - \frac{{\ddot{\mu }_{i} \left( {\mu_{i} - q_{{{\text{evi}}}} } \right) - \left( {\dot{\mu }_{i} - \dot{q}_{{{\text{evi}}}} } \right)^{2} }}{{2\left( {\mu_{i} - q_{{{\text{evi}}}} } \right)^{2} }}\), and \(B_{3i} = \frac{1}{{2\left( {\mu_{i} + q_{{{\text{evi}}}} } \right)}} + \frac{1}{{2\left( {\mu_{i} - q_{{{\text{evi}}}} } \right)}}\). Then, Eq. (15) can be rewritten into the following vector form:

$${\mathbf{\ddot{e}}} = {\mathbf{B}}_{1} + {\mathbf{B}}_{2} + {\mathbf{B}}_{3} {\mathbf{\ddot{q}}}_{ev} .$$
(16)

According to Eq. (10), \({\mathbf{\ddot{q}}}_{ev}\) in Eq. (16) can be expressed as

$$\begin{gathered} {\mathbf{\ddot{q}}}_{ev} = {\dot{\mathbf{E}}}\left( {{\mathbf{q}}_{e} } \right){{\varvec{\upomega}}}_{e} + {\mathbf{E}}\left( {{\mathbf{q}}_{e} } \right){\dot{\mathbf{\omega }}}_{e} \hfill \\ \;\;\;\;\; = {\dot{\mathbf{E}}}\left( {{\mathbf{q}}_{e} } \right){{\varvec{\upomega}}}_{e} + {\mathbf{E}}\left( {{\mathbf{q}}_{e} } \right){\mathbf{J}}^{ - 1} \left( { - {{\varvec{\upomega}}}^{ \times } {\mathbf{J\omega }} + {\mathbf{J}}\left( {{{\varvec{\upomega}}}_{e}^{ \times } {\mathbf{C\omega }}_{d} - {\mathbf{C\dot{\omega }}}_{d} } \right) + {{\varvec{\Theta}}}\left( {{{\varvec{\uptau}}}_{c} } \right){{\varvec{\uptau}}}_{c} + {\mathbf{d}}} \right). \hfill \\ \end{gathered}$$
(17)

Proposition 1

The transformed attitude tracking errors (13) can be used to guarantee the attitude tracking errors \({\mathbf{q}}_{ev}\) converge within the predefined performance bounds (11).

Proof

Consider the following state variable transformation [38]:

$$q_{{{\text{evi}}}} = T\left( {e_{i} } \right),$$
(18)

where the state transformation function \(T\left( {e_{i} } \right)\) is defined as

$$T\left( {e_{i} } \right) = \mu_{i} \frac{{\exp \left( {e_{i} } \right) - \exp \left( { - e_{i} } \right)}}{{\exp \left( {e_{i} } \right) + \exp \left( { - e_{i} } \right)}}.$$
(19)

It can be verified that the state transformation (19) satisfies the following properties. \(T\left( {e_{i} } \right)\) is both lower and upper bounded with \(- \mu_{i} < T\left( {e_{i} } \right) < \mu_{i}\). \(T\left( {e_{i} } \right)\) is monotone increasing with \(\lim_{{e_{i} \to - \infty }} T\left( {e_{i} } \right) = - \mu_{i}\), \(\lim_{{e_{i} \to + \infty }} T\left( {e_{i} } \right) = \mu_{i}\), and \(\lim_{{e_{i} \to 0}} T\left( {e_{i} } \right) = 0\). \(T\left( {e_{i} } \right)\) is differentiable and its time derivative is bounded. From these properties, it follows that \(T\left( {e_{i} } \right)\) is invertible and its inverse \(e_{i} = T^{ - 1} \left( {q_{{{\text{evi}}}} } \right)\) is given by Eq. (13) Thus, Eq. (11) always holds. The proof is completed. \(\square\)

3.2 FNTSM Surface Design

Based on the transformed attitude tracking errors, the FNTSM surface is presented as

$${\mathbf{s}} = {\dot{\mathbf{e}}} + h_{1} {\mathbf{e}} + h_{2} {{\varvec{\upzeta}}}\left( {\mathbf{e}} \right),$$
(20)

where \(h_{{1}} > 0\), \(h_{2} > 0\), and \({{\varvec{\upzeta}}}\left( {\mathbf{e}} \right) = \left[ {\zeta \left( {e_{1} } \right),\zeta \left( {e_{2} } \right),\zeta \left( {e_{3} } \right)} \right]^{{\text{T}}}\) with its element designed as

$$\zeta \left( {e_{i} } \right) = \left\{ \begin{gathered} {\text{sig}}^{\alpha } \left( {e_{i} } \right),\;\;\;\;{\text{if}}\;\overline{s}_{i} = 0\;{\text{or}}\;\overline{s}_{i} \ne 0,\;\left| {e_{i} } \right| > \phi , \hfill \\ r_{1} e_{i} + r_{2} {\text{sig}}^{2} \left( {e_{i} } \right),\;\;\;\;{\text{if}}\;\overline{s}_{i} \ne 0,\;\left| {e_{i} } \right| \le \phi , \hfill \\ \end{gathered} \right.$$
(21)

where \({\overline{\mathbf{s}}} = {\dot{\mathbf{e}}} + h_{1} {\mathbf{e}} + h_{2} {\text{sig}}^{\alpha } \left( {\mathbf{e}} \right)\), \(0 < \alpha < 1\), \(r_{1} = \left( {2 - \alpha } \right)\phi^{\alpha - 1}\), \(r_{2} = \left( {\alpha - 1} \right)\phi^{\alpha - 2}\), and \(\phi\) is a small positive constant. Taking the time derivative of \({\mathbf{s}}\) yields

$${\dot{\mathbf{s}}} = {\mathbf{\ddot{e}}} + h_{1} {\dot{\mathbf{e}}} + h_{2} {\dot{\mathbf{\zeta }}}\left( {\mathbf{e}} \right),$$
(22)

where \({\dot{\mathbf{\zeta }}}\left( {\mathbf{e}} \right) = \left[ {\dot{\zeta }\left( {e_{1} } \right),\dot{\zeta }\left( {e_{2} } \right),\dot{\zeta }\left( {e_{3} } \right)} \right]^{T}\) is the time derivative of \({{\varvec{\upzeta}}}\left( {\mathbf{e}} \right)\) with its element expressed as

$$\dot{\zeta }\left( {e_{i} } \right) = \left\{ \begin{gathered} \alpha \left| {e_{i} } \right|^{\alpha - 1} \dot{e}_{i} ,\;\;\;\;{\text{if}}\;\overline{s}_{i} = 0\;{\text{or}}\;\overline{s}_{i} \ne 0,\;\left| {e_{i} } \right| > \phi , \hfill \\ r_{1} \dot{e}_{i} + 2r_{2} \left| {e_{i} } \right|\dot{e}_{i} ,\;\;\;\;{\text{if}}\;\overline{s}_{i} \ne 0,\;\left| {e_{i} } \right| \le \phi . \hfill \\ \end{gathered} \right.$$
(23)

Substituting Eqs. (16) and (17) into Eq. (22) yields

$$\begin{gathered} {\dot{\mathbf{s}}}\; = {\mathbf{B}}_{1} + {\mathbf{B}}_{2} + {\mathbf{B}}_{3} {\mathbf{\ddot{q}}}_{ev} + h_{1} {\dot{\mathbf{e}}} + h_{2} {\dot{\mathbf{\zeta }}}\left( {\mathbf{e}} \right) \hfill \\ \;\; = {\mathbf{B}}_{1} + {\mathbf{B}}_{2} + {\mathbf{B}}_{3} \left( {{\dot{\mathbf{E}}}\left( {{\mathbf{q}}_{e} } \right){{\varvec{\upomega}}}_{e} + {\mathbf{E}}\left( {{\mathbf{q}}_{e} } \right){\mathbf{J}}^{ - 1} \left( { - {{\varvec{\upomega}}}^{ \times } {\mathbf{J\omega }} + {\mathbf{J}}\left( {{{\varvec{\upomega}}}_{e}^{ \times } {\mathbf{C\omega }}_{d} - {\mathbf{C\dot{\omega }}}_{d} } \right) + {{\varvec{\Theta}}}\left( {{{\varvec{\uptau}}}_{c} } \right){{\varvec{\uptau}}}_{c} + {\mathbf{d}}} \right)} \right) + h_{1} {\dot{\mathbf{e}}} + h_{2} {\dot{\mathbf{\zeta }}}\left( {\mathbf{e}} \right) \hfill \\ \;\; = {\mathbf{B}}_{3} {\mathbf{E}}\left( {{\mathbf{q}}_{e} } \right){\mathbf{J}}_{0}^{ - 1} {{\varvec{\uptau}}}_{c} + {\mathbf{N}} + {\mathbf{L}}, \hfill \\ \end{gathered}$$
(24)

where \({\mathbf{N}}\) denotes the nominal nonlinear term, which can be expressed as

$${\mathbf{N}} = {\mathbf{B}}_{1} + {\mathbf{B}}_{2} + {\mathbf{B}}_{3} \left( {{\dot{\mathbf{E}}}\left( {{\mathbf{q}}_{e} } \right){{\varvec{\upomega}}}_{e} + {\mathbf{E}}\left( {{\mathbf{q}}_{e} } \right){\mathbf{J}}_{{0}}^{ - 1} \left( { - {{\varvec{\upomega}}}^{ \times } {\mathbf{J}}_{0} {{\varvec{\upomega}}} + {\mathbf{J}}_{0} \left( {{{\varvec{\upomega}}}_{e}^{ \times } {\mathbf{C\omega }}_{d} - {\mathbf{C\dot{\omega }}}_{d} } \right)} \right)} \right) + h_{1} {\dot{\mathbf{e}}} + h_{2} {\dot{\mathbf{\zeta }}}\left( {\mathbf{e}} \right).$$
(25)

\({\mathbf{L}}\) denotes the lumped uncertain term, which can be expressed as

$${\mathbf{L}} = {\mathbf{B}}_{3} {\mathbf{E}}\left( {{\mathbf{q}}_{e} } \right){\mathbf{J}}_{{0}}^{ - 1} \left( { - {{\varvec{\upomega}}}^{ \times } \Delta {\mathbf{J\omega }} + \Delta {\mathbf{J}}\left( {{{\varvec{\upomega}}}_{e}^{ \times } {\mathbf{C\omega }}_{d} - {\mathbf{C\dot{\omega }}}_{d} } \right) + \left( {{{\varvec{\Theta}}}\left( {{{\varvec{\uptau}}}_{c} } \right) - {\mathbf{I}}_{3} } \right){{\varvec{\uptau}}}_{c} + {\mathbf{d}} - \Delta {\mathbf{J\dot{\omega }}}_{e} } \right).$$
(26)

Before moving forward, the following assumption is made.

Assumption 1

It is assumed that \(\Delta {\mathbf{J}}\), \({\mathbf{d}}\), \({{\varvec{\upomega}}}\), and \({\dot{\mathbf{\omega }}}\) are all bounded during the practical applications. Accordingly, the lumped uncertain term \({\mathbf{L}}\) is bounded. There exists an unknown positive constant \(b\) such that \(\left\| {\mathbf{L}} \right\|^{2} \le b\).

Proposition 2

Once the FNTSM surface (20) is reached, the transformed attitude tracking errors \({\mathbf{e}}\) and \({\dot{\mathbf{e}}}\) can converge to zero in finite time.

Proof

The detailed proof of Proposition 2 can be found in [31, Lemma 1] and [33, Lemma 3.3] and thus is omitted here. \(\square\)

3.3 Adaptive FNTSM Control Design

Based on the FNTSM surface, the adaptive FNTSM control law is designed as

$${{\varvec{\uptau}}}_{c} = {\mathbf{J}}_{0} {\mathbf{E}}^{ - 1} \left( {{\mathbf{q}}_{e} } \right){\mathbf{B}}_{3}^{ - 1} \left( { - k_{1} {\mathbf{s}} - k_{2} {\text{sig}}^{\gamma } \left( {\mathbf{s}} \right) - {\mathbf{N}} - \frac{{\hat{b}{\mathbf{s}}}}{{2\lambda^{2} }}} \right),$$
(27)

where \(k_{{1}} > 0\), \(k_{2} > 0\), \(0 < \gamma < 1\), \(\lambda\) is a small positive constant, and \(\hat{b}\) denotes the estimation of \(b\), which can be determined by the following adaptive updating law:

$$\dot{\hat{b}} = - l_{1} \hat{b} + l_{2} \frac{{\left\| {\mathbf{s}} \right\|^{{2}} }}{{2\lambda^{2} }},$$
(28)

where \(l_{{1}} > 0\) and \(l_{2} > 0\).

Theorem 1

Consider the spacecraft system ( 1 ) and ( 2 ). If the adaptive FNTSM control law is designed as Eq. ( 27 ) and the adaptive updating law is designed as Eq. ( 28 ), then the resulting closed-loop system is practically finite-time stable, and the attitude tracking errors \({\mathbf{q}}_{ev}\) can converge to the arbitrarily small region about zero in finite time within the predefined performance bounds.

Proof

The proof of Theorem 1 can be divided into two steps. In step 1, we will prove that all closed-loop error signals are bounded. In step 2, we will prove that the resulting closed-loop system is practically finite-time stable.

Step 1 Boundedness of all closed-loop error signals.

In step 1, we will prove that all closed-loop error signals are bounded. Consider the following Lyapunov function:

$$V_{1} = \frac{1}{2}{\mathbf{s}}^{{\text{T}}} {\mathbf{s}} + \frac{1}{{2l_{2} }}\tilde{b}^{2} ,$$
(29)

where \(\tilde{b} = b - \hat{b}\) denotes the estimation error of \(\hat{b}\). Taking the time derivative of \(V_{1}\) and substituting Eq. (24) into it, we have

$$\begin{gathered} \dot{V}_{1} = {\mathbf{s}}^{{\text{T}}} {\dot{\mathbf{s}}} - \frac{1}{{l_{2} }}\tilde{b}\dot{\hat{b}} \hfill \\ \;\;\; = {\mathbf{s}}^{{\text{T}}} \left( {{\mathbf{B}}_{3} {\mathbf{E}}\left( {{\mathbf{q}}_{e} } \right){\mathbf{J}}_{0}^{ - 1} {{\varvec{\uptau}}}_{c} + {\mathbf{N}} + {\mathbf{L}}} \right) - \frac{1}{{l_{2} }}\tilde{b}\dot{\hat{b}}. \hfill \\ \end{gathered}$$
(30)

Substituting the adaptive FNTSM control law (27) and the adaptive updating law (28) into Eq. (30) yields

$$\begin{gathered} \dot{V}_{1} = {\mathbf{s}}^{{\text{T}}} \left( { - k_{1} {\mathbf{s}} - k_{2} {\text{sig}}^{\gamma } \left( {\mathbf{s}} \right) - \frac{{\hat{b}{\mathbf{s}}}}{{2\lambda^{2} }} + {\mathbf{L}}} \right) - \tilde{b}\left( { - \frac{{l_{1} }}{{l_{2} }}\hat{b} + \frac{{\left\| {\mathbf{s}} \right\|^{{2}} }}{{2\lambda^{2} }}} \right) \hfill \\ \;\;\; \le - k_{1} \left\| {\mathbf{s}} \right\|^{2} - k_{2} \left\| {\mathbf{s}} \right\|^{\gamma + 1} + \left\| {\mathbf{L}} \right\|\left\| {\mathbf{s}} \right\| - \frac{{b\left\| {\mathbf{s}} \right\|^{{2}} }}{{2\lambda^{2} }} + \frac{{l_{1} }}{{l_{2} }}\tilde{b}\hat{b}. \hfill \\ \end{gathered}$$
(31)

Note that the following inequalities always hold:

$$\left\| {\mathbf{L}} \right\|\left\| {\mathbf{s}} \right\| \le \frac{{b\left\| {\mathbf{s}} \right\|^{{2}} }}{{2\lambda^{2} }} + \frac{{\lambda^{2} }}{2},$$
(32)
$$\frac{{l_{1} }}{{l_{2} }}\tilde{b}\hat{b} = \frac{{l_{1} }}{{l_{2} }}\tilde{b}b - \frac{{l_{1} }}{{l_{2} }}\tilde{b}^{2} \le \frac{{l_{1} }}{{2l_{2} }}b^{2} - \frac{{l_{1} }}{{2l_{2} }}\tilde{b}^{2} .$$
(33)

Substituting Eqs. (32) and (33) into Eq. (31) gives

$$\begin{gathered} \dot{V}_{1} \le - k_{1} \left\| {\mathbf{s}} \right\|^{2} - k_{2} \left\| {\mathbf{s}} \right\|^{\gamma + 1} + \frac{{\lambda^{2} }}{2} + \frac{{l_{1} }}{{2l_{2} }}b^{2} - \frac{{l_{1} }}{{2l_{2} }}\tilde{b}^{2} \hfill \\ \;\;\; \le - \rho V_{1} + \beta , \hfill \\ \end{gathered}$$
(34)

where \(\rho = \min \left\{ {2k_{1} ,l_{1} } \right\}\) and \(\beta = \frac{{\lambda^{2} }}{2} + \frac{{l_{1} }}{{2l_{2} }}b^{2}\). Multiplying both sides of Eq. (34) by \(e^{\rho t}\) and integrating it over the time interval \(\left[ {0,t} \right]\), we have

$$\begin{gathered} V_{{1}} \left( t \right) \le \left( {V_{{1}} \left( 0 \right) - \frac{\beta }{\rho }} \right)e^{ - \rho t} + \frac{\beta }{\rho } \hfill \\ \;\;\;\;\;\;\; \le V_{{1}} \left( 0 \right) + \frac{\beta }{\rho }. \hfill \\ \end{gathered}$$
(35)

Together with the definition of \(V_{1}\), it follows that the closed-loop error signals \({\mathbf{s}}\) and \(\tilde{b}\) are uniformly ultimately bounded. There exists an unknown positive constant \(\overline{b}\) such that \(\left| {\tilde{b}} \right| \le \overline{b}\).

Step 2 Practical finite-time stability of the resulting closed-loop system.

In step 2, we will prove that the resulting closed-loop system is practically finite-time stable. Consider another Lyapunov function:

$$V_{2} = \frac{1}{2}{\mathbf{s}}^{{\text{T}}} {\mathbf{s}}.$$
(36)

Taking the time derivative of \(V_{2}\), we have

$$\begin{gathered} \dot{V}_{2} = {\mathbf{s}}^{{\text{T}}} \left( { - k_{1} {\mathbf{s}} - k_{2} {\text{sig}}^{\gamma } \left( {\mathbf{s}} \right) - \frac{{\hat{b}{\mathbf{s}}}}{{\left\| {\mathbf{s}} \right\|}} + {\mathbf{L}}} \right) \hfill \\ \;\;\; \le - k_{1} \left\| {\mathbf{s}} \right\|^{2} - k_{2} \left\| {\mathbf{s}} \right\|^{\gamma + 1} + \left\| {\mathbf{L}} \right\|\left\| {\mathbf{s}} \right\| - \frac{{\hat{b}\left\| {\mathbf{s}} \right\|^{{2}} }}{{2\lambda^{2} }} \hfill \\ \;\;\; \le - k_{1} \left\| {\mathbf{s}} \right\|^{2} - k_{2} \left\| {\mathbf{s}} \right\|^{\gamma + 1} + \frac{{\tilde{b}\left\| {\mathbf{s}} \right\|^{{2}} }}{{2\lambda^{2} }} + \frac{{\lambda^{2} }}{2} \hfill \\ \;\;\; \le - k_{1} \left\| {\mathbf{s}} \right\|^{2} - k_{2} \left\| {\mathbf{s}} \right\|^{\gamma + 1} + \frac{{\overline{b}\left\| {\mathbf{s}} \right\|^{{2}} }}{{2\lambda^{2} }} + \frac{{\lambda^{2} }}{2} \hfill \\ \;\;\; = - \kappa_{1} V_{2} - \kappa_{2} V_{2}^{{\frac{\gamma + 1}{2}}} + \delta , \hfill \\ \end{gathered}$$
(37)

where \(\kappa_{1} = 2k_{1} - \frac{{\overline{b}}}{{\lambda^{2} }}\), \(\kappa_{2} = 2^{{\frac{\gamma + 1}{2}}} k_{2}\), and \(\delta = \frac{{\lambda^{2} }}{2}\). To ensure \(\kappa_{1} > 0\), the design parameter \(k_{1}\) should be selected satisfying the following condition:

$$k_{1} > \frac{{\overline{b}}}{{2\lambda^{2} }}.$$
(38)

Thus, by Lemma 1, the resulting closed-loop system is practically finite-time stable and \(\left\| {\mathbf{s}} \right\|\) will converge to the small region about zero which is given as

$$\left\| {\mathbf{s}} \right\| \le \left( {\frac{{\lambda^{2} }}{{{2}k_{2} }}} \right)^{{\frac{{1}}{\gamma + 1}}} .$$
(39)

If the design parameters \(k_{1}\) and \(k_{1}\) are selected large enough, the small region (39) can be adjusted arbitrarily small. Then, by Proposition 2, the transformed attitude tracking errors \({\mathbf{e}}\) and \({\dot{\mathbf{e}}}\) can converge to the small region about zero in finite time. Subsequently, by Proposition 1, the attitude tracking errors \({\mathbf{q}}_{ev}\) can converge to the small region about zero in finite time within the predefined performance bounds (11). The proof is completed. \(\square\)

Remark 1

In the proposed adaptive FNTSM controller, the adaptive updating law is utilized to estimate the square of the norm of the lumped uncertain term. Benefiting from the adaptive estimation technique, the proposed adaptive FNTSM controller is continuous and the unexpected chattering phenomenon is significantly reduced. In addition, the prior knowledge on the upper bound of the lumped uncertain term is not required in the control design.

Remark 2

To provide a guideline for the users, a universal control parameter selection strategy is introduced as follows. Step 1: determine the performance function \(\mu_{i} \left( t \right)\) according to the requirement of the specific space missions. Step 2: choose appropriate \(h_{{1}}\), \(h_{2}\), \(\alpha\), and \(\phi\) in the FNTSM manifold (20) and \(k_{{1}}\), \(k_{2}\), \(\gamma\), and \(\lambda\) in the adaptive FNTSM control law (27). Large \(k_{{1}}\) and \(k_{2}\) can lead to the fast convergence rate, but they can in turn result in relatively large control inputs. Step 3: choose \(l_{{1}}\) and \(l_{2}\) in the adaptive updating law (28). Large \(l_{{1}}\) can lead to the fast estimation of \(b\), but it can also result in the relatively poor updating transient response performance. Therefore, the control parameters of the proposed controller should be carefully selected to achieve satisfactory tracking performance.

Remark 3

To make the readers have a clear understanding of the whole control design procedure, the block diagram of the proposed adaptive FNTSM control approach is introduced in Fig. 1.

Fig. 1
figure 1

Overall structure of the resulting closed-loop system

4 Simulation Experiments

In this section, simulation experiments are performed in MATLAB/Simulink environment to validate the proposed adaptive FNTSM control approach. The sampling time is set as \(T_{s} = 50\;{\text{ms}}\). The nominal inertia matrix of the spacecraft is chosen as

$${\mathbf{J}}_{0} = \left[ {\begin{array}{*{20}c} {10} & 1 & {1.2} \\ 1 & 8 & {0.8} \\ {1.2} & {0.8} & {12} \\ \end{array} } \right]\;{\text{kg}}\;{\text{m}}^{2} .$$

The actual inertia matrix of the spacecraft is chosen as \({\mathbf{J}} = 1.1{\mathbf{J}}_{0}\) with \(\Delta {\mathbf{J}} = 0.1{\mathbf{J}}_{0}\). The initial states of the spacecraft are chosen as \({\mathbf{q}}_{0} = \left[ {0.3, - 0.2, - 0.3,0.8832} \right]^{T}\) and \({{\varvec{\upomega}}}_{0} = \left[ {0.06, - 0.04,0.05} \right]^{T} \;{\text{rad/s}}\). The desired attitude of the spacecraft is chosen as \({\mathbf{q}}_{d} = \left[ {0,0,0,1} \right]^{T}\) and \({{\varvec{\upomega}}}_{0} = \left[ {0,0,0} \right]^{T} \;{\text{rad/s}}\). The external disturbances acted on the spacecraft are chosen as \({\mathbf{d}} = 0.{01}\left[ {\sin \left( {0.6t} \right),2\cos \left( {0.4t} \right),3\sin \left( {0.2t} \right)} \right]^{T} \;{\text{Nm}}\). The maximum allowable value of the control inputs is set as \(\tau_{m} = 3\;{\text{Nm}}\). The performance function is chosen as \(\mu_{i} \left( t \right) = \left( {0.5 - 0.005} \right)\exp \left( { - 0.2t} \right) + 0.001\) with \(q_{{{\text{evi}},0}} = 0.5\), \(q_{{{\text{evi}},\infty }} = 0.001\), and \(\eta_{i} = 0.{2}\), \(i = 1,2,3\).

In addition to the proposed adaptive FNTSM controller, the adaptive FNTSM controller [32, Eq. (35)] are also carried out for competitive studies. The design parameters of the proposed adaptive FNTSM controller (27) are selected as \(h_{{1}} = 0.05\), \(h_{2} = 0.05\), \(\alpha = {3 \mathord{\left/ {\vphantom {3 5}} \right. \kern-\nulldelimiterspace} 5}\), \(\phi = {0}.001\), \(k_{{1}} = 10\), \(k_{2} = 10\), \(\gamma = {3 \mathord{\left/ {\vphantom {3 5}} \right. \kern-\nulldelimiterspace} 5}\), \(\lambda = 0.1\), \(l_{1} = 1\), and \(l_{2} = 1\). Note that the design parameters are selected according to the control parameter selection strategy introduced in Remark 2. Moreover, the design parameters of the compared adaptive FNTSM controller are selected as \(k_{1} = {0}{\text{.2}}\), \(k_{2} = {0}{\text{.2}}\), \(r = {3 \mathord{\left/ {\vphantom {3 5}} \right. \kern-\nulldelimiterspace} 5}\), \(\sigma = 20\), \(\varepsilon_{0} = {0}{\text{.1}}\), \(\varepsilon_{1} = {0}{\text{.1}}\), \(p_{0} = {10}\), and \(p_{1} = {10}\). Note that the design parameters are defined the same meaning as those in [32]. For fair comparisons, the design parameters of both the proposed and compared controllers are carefully determined through trial and error such that the controllers can achieve a similar convergence rate.

The simulation results for the proposed adaptive FNTSM controller are given in Figs. 2, 3, 4 and 5. Figure 2 shows the time response of the attitude tracking errors. Figure 3 shows the time response of the angular velocity tracking errors. Figure 4 shows the time response of the control torques. Figure 5 shows the time response of the adaptive parameter. The simulation results for the compared adaptive FNTSM controller are given in Figs. 6, 7, 8 and 9. Figure 6 shows the time response of the attitude tracking errors. Figure 7 shows the time response of the angular velocity tracking errors. Figure 8 shows the time response of the control torques. Figure 9 shows the time response of the adaptive parameter.

Fig. 2
figure 2

Time response of the attitude tracking errors under the proposed controller

Fig. 3
figure 3

Time response of the angular velocity tracking errors under the proposed controller

Fig. 4
figure 4

Time response of the control torques under the proposed controller

Fig. 5
figure 5

Time response of the adaptive parameter under the proposed controller

Fig. 6
figure 6

Time response of the attitude tracking errors under the compared controller

Fig. 7
figure 7

Time response of the angular velocity tracking errors under the compared controller

Fig. 8
figure 8

Time response of the control torques under the compared controller

Fig. 9
figure 9

Time response of the adaptive parameter under the compared controller

From Figs. 2, 3, 6, and 7, it is clearly seen that the attitude and angular velocity tracking errors of the spacecraft can converge to the small region about zero rapidly and accurately under both the proposed and compared controllers. From Fig. 2, the proposed controller can guarantee the attitude tracking errors always stay within the predefined performance bounds. By contrast, from Fig. 6, the attitude tracking errors under the compared controller exceed the predefined performance bounds during the attitude tracking process. Hence, the required performance constraints cannot be always satisfied under the compared controller. From Figs. 2 and 3, the attitude and angular velocity tracking errors under the proposed controller can converge to the ultimate bounds \(\left| {q_{{{\text{evi}}}} } \right| \le 8 \times 10^{ - 5}\) and \(\left| {\omega_{ei} } \right| \le 1 \times 10^{ - 4} \;{\text{rad/s}}\). However, from Figs. 6 and 7, the attitude and angular velocity tracking errors under the compared controller can converge to the ultimate bounds \(\left| {q_{{{\text{evi}}}} } \right| \le 2 \times 10^{ - 3}\) and \(\left| {\omega_{ei} } \right| \le 1.5 \times 10^{ - 3} \;{\text{rad/s}}\). It is obvious that the steady-state attitude and angular velocity tracking errors under the proposed controller are far less than those under the compared controller. This indicates that the proposed controller can achieve superior control performance than the compared controller in terms of higher tracking accuracy. From Figs. 4 and 8, the control torques under both the proposed and compared controllers are always within the maximum allowable value. Note that the control torques can never be to zero so as to compensate for the inertia uncertainties and external disturbances. From Figs. 5 and 9, the adaptive parameters of both the proposed and compared controllers are varying smoothly with respect to time. In summary, the simulation experiments illustrate the effectiveness and superiority of the proposed controller. It can be concluded from the simulation results that the proposed adaptive FNTSM control approach can realize the fast and exact attitude tracking of spacecraft with finite-time convergence and prescribed performance even in the presence of inertia uncertainties, external disturbances, and input saturation.

5 Conclusions and Future Work

In this paper, the robust adaptive finite-time prescribed performance attitude tracking control of spacecraft is addressed in the presence of inertia uncertainties, external disturbances, and input saturation. A novel adaptive FNTSM control approach is proposed by combining the finite-time control technique, prescribed performance control technique, and adaptive estimation technique. The practical finite-time stability of the resulting closed-loop system is theoretically proved. Simulation experiments and comprehensive comparisons verify and highlight the performance of the proposed control approach.

Future work of this paper includes the following two aspects. On the one hand, the angular velocity and its derivative are assumed to be bounded in the proposed control design. The first future research topic of this work is improving the adaptive control approach to remove this assumption. The adaptive updating law in [37] can provide an effective solution to this problem. On the other hand, the finite settling time of the proposed control design is heavily dependant on the initial states of the spacecraft. Recently, the concept of fixed-time control was proposed with extensive applications to the consensus of multiagent systems [47,48,49,50,51,52]. The second future research topic of this work is extending the proposed controller with the fixed-time convergence capability.