1 Introduction

Attitude control system (ACS) plays a very important role in the success of space mission. The performance of ACS is measured in terms of the pointing accuracy, the convergence time to achieve desired attitude, the robustness against parametric uncertainty and external disturbances, and the energy consumption. As yet, different control methods have been explored to tackle this highly non-linear behaved problem (Abdelrahman and Park 2013; Chen and Huang 2009; Joshi et al. 1995; Kristiansen and Gravdahi 2009; Show et al. 2003).

Sliding mode control (SMC) is a well-known robust control method, and it has proven its efficiency in weeding out the effects of system parameter uncertainty and external disturbances (Gao and Hung 1993; Utkin 1977). The initial applications of SMC for the attitude control purpose could be seen in (Fuyuto 1998; Jan and Chiou 2003; Lo and Chen 1993; Vadali 1986). In the conventional SMC design, the control law is derived using a linear sliding surface, and hence the asymptotic convergence is the major limitation of this approach.

Recently, a finite-time control method, terminal sliding mode (TSM) has been introduced in (Venkat and Gulati 1991; Yu and Man 1996). The TSM control, in addition to bear the robustness similar to SMC, does promise the finite time convergence and the improved steady precision (Feng and Yu 2013). Since its emergence, the TSM-based control has drawn the extensive attention for solving the different control problems (Man and Yu 1997; Wang et al. 2009; Yu and Man 1996; Yang 2012). Nevertheless, the earlier version of TSM control is handicapped by the two limitations. Firstly, the singularity in control; and secondly, the slower convergence rate, while the system states are starting from the far away point. To ensure the faster convergence speed regardless to the states position, the fast terminal sliding mode (FTSM) control has been presented in (Yu and Man 2002). Then, non-singular terminal sliding mode (NTSM) control has been proposed to overcome the singularity problem, and its efficacy has been validated on robotic manipulator problem (Feng et al. 2002; Yu et al. 2005). More recently, in (Yang and Yang 2011), the concept of non-singular fast terminal sliding mode (NFTSM) is presented; in which, both limitations of the originally proposed TSM have been eliminated together.

TSM-based attitude control design first appeared in (Erdong and Zhaowei 2008). However, singularity, slow convergence rate, and significant chattering can be seen. Then, NTSM-based attitude controls have been proposed in (Ding and Li 2009; Li et al. 2011). For the attitude stabilization, first time FTSM-based control appeared in (Tiwari et al. 2010). However, in all these efforts, both limitations of the originally proposed TSM could not be eliminated together. As a result, NFTSM-based attitude control method has been reported in (Tiwari et al. 2012).

In the above-mentioned finite time attitude control methods, the control design works on the assumption that the upper bounds of external disturbances and inertia matrix uncertainty are known in advance. As a result, the conservative approach has been adopted, and the controller’s gain has been linked with the upper bounds of the external disturbances and the inertia uncertainty. However, in practical situations, the upper bounds are not known in advance, and by the conservative approach may aggravate chattering.

Therefore, in recent years, efforts by combining together the TSM variants and the adaptive control have been tried (Lu and Xia 2013a, b; Xiao et al. 2013; Zhu et al. 2011). In (Xiao et al. 2013; Zhu et al. 2011), FTSM and adaptive control have applied together, but the singularity possibility does persist. In (Lu and Xia 2013a), an adaptive NTSM control has been applied for the rigid spacecraft attitude stabilization. More recently, in (Lu and Xia 2013b), by a new fast terminal sliding surface and adaptive control together, an attitude tracking control law been presented. In conclusion, spacecraft attitude control design using adaptive terminal sliding mode control is not very rich; and to enhance further, the convergence speed and the steady-state precision, scope is available in selection of the sliding surface or in the design of an adaptive law.

Therefore, in the presented work, by the adaptive non-singular fast terminal sliding mode (ANFTSM), an attitude control law has been proposed. The proposed attitude control law has been derived by using a novel non-singular fast terminal sliding surface working together with a reaching law. The applied reaching law serves two purposes; first is to control the convergence speed in reaching phase, and second is to alleviate the chattering. Additionally, to eliminate the need of advance information of the uncertainty and external disturbance upper bounds, the proposed controller gains have been derived by newly formulated adaptive estimate laws. Additionally, adaptive law-derived gain helps in chattering alleviation.

The paper is organized as follows. Section 2 reviews the rigid spacecraft attitude tracking problem using the quaternion representation. In Sect. 3, the proposed ANFTSM control law is derived, and the adaptive estimate law has been formulated. In Sect. 4, the stability concern of the proposed control method is discussed in the Lyapunov sense. Next, to verify the effectiveness of the derived control law, simulations are performed for different initial conditions, and are reported in Sect. 5. Finally, the paper ends with conclusions.

2 System Description

The attitude kinematics of rigid spacecraft is defined as

$$\begin{aligned} \dot{\varvec{q}}_{bv}&= \frac{1}{2}(q_{b0}I+ \varvec{q}^{\times }_{bv})\varvec{\omega }_{b}\nonumber \\ \dot{q}_{b0}&= -\frac{1}{2}\varvec{q}^{T}_{bv}\varvec{\omega }_{b}, \end{aligned}$$
(1)

where \(\varvec{\omega }_{b}=[\omega _{1}\quad \omega _{2}\quad \omega _{3}]^{T}\in {\mathbb {R}}^{3}\) is the body frame angular velocity with respect to inertial frame, \(I\) is the \(3\times 3\) identity matrix, \(\varvec{q}_{b}=[q_{b0},~ \mathbf {q^{T}_{bv}}]^{T}\in {\mathbb {R}}^{4}\) is the unit quaternion that satisfies the constraint \(\varvec{q}^{T}_{bv}\varvec{q}_{bv}+q^{2}_{b0}=1\), and represents the body frame attitude orientation with respect to the inertial frame, \(\varvec{q}_{bv}=[q_{b1}\quad q_{b2}\quad q_{b3}]^{T}\in {\mathbb {R}}^{3}\) and \(q_{b0}\in {\mathbb {R}}^{1}\) are the vector and scalar components of the unit quaternion, respectively. For any vector \(\varvec{x}=[x_{1}~x_{2}~x_{3}]^{T}, \varvec{x}^{\times }\) is a skew-symmetric matrix, defined as

$$\begin{aligned} \varvec{x}^{\times }= \left[ \begin{array}{lll} 0 &{} \quad -x_{3} &{}\quad x_{2} \\ x_{3} &{} \quad 0 &{} \quad -x_{1} \\ -x_{2} &{} \quad x_{1} &{} \quad 0 \end{array} \right] . \end{aligned}$$

The attitude dynamics equation of the rigid spacecraft is modeled as

$$\begin{aligned} \varvec{J}\dot{\varvec{\omega }}_{b}=\varvec{-\omega }^{\times }_{b}\varvec{J\omega }_{b}\varvec{+u}_{c}\varvec{+u}_{d}, \end{aligned}$$
(2)

where \(\varvec{J}\in {\mathbb {R}}^{3\times 3}\) is the spacecraft inertia matrix with the nominal component \(\varvec{J}_{0}\) and the bounded uncertain component \(\varDelta \varvec{J}, \varvec{u}_{c}=[u_{1},u_{2},u_{3}]^{T}\in {\mathbb {R}}^{3}\) represents the control input, and \(\varvec{u}_{d}\in {\mathbb {R}}^{3}\) is the total external disturbances affecting the spacecraft dynamics.

To define the attitude kinematics and dynamics equations for the tracking control problem, the relative attitude error between reference frame and a desired reference frame is required to be established. The error quaternion \(\varvec{q}_{e}=[q_{e0},~ \varvec{q}^{T}_{ev}]^{T}\in {\mathbb {R}}^{4}\) and angular velocity error \(\varvec{\omega }_{e}\in {\mathbb {R}}^{3}\) are measured from body fixed reference frame to the desired reference frame, and the defining equations are as follows (Lu and Xia 2013b):

$$\begin{aligned} q_{ev}&= q_{d0}\varvec{q}_{bv}-\varvec{q}^{\times }_{dv}\varvec{q}_{bv}-q_{b0} \varvec{q}_{dv}\nonumber \\ {q}_{e0}&= \varvec{q}^{T}_{dv}\varvec{q}_{bv}+q_{b0}\varvec{q}_{dv}\nonumber \\ \varvec{\omega }_{e}&= \varvec{\omega }_{b}-\varvec{C\omega }_{d}, \end{aligned}$$
(3)

where \(\varvec{q}_{ev}=[q_{e1}\quad q_{e2}\quad q_{e3}]^{T}\) and \(q_{e0}\) are the vector and scalar part of the error quaternion, respectively. The desired attitude frame quaternion vector and scalar components are \(\varvec{q}_{dv}=[q_{d1}\quad q_{d2}\quad q_{d3}]^{T}\in {\mathbb {R}}^{3}\) and \(q_{d0}\in {\mathbb {R}}\), respectively; and the desired frame angular velocity is \(\varvec{\omega }_{d}\in {\mathbb {R}}^{3}\). Both \(\varvec{q}_{e}\) and \(\varvec{q}_{d}=[q_{d0},~ \varvec{q}^{T}_{dv}]^{T}\in {\mathbb {R}}^{4}\) satisfy the constraint \(\varvec{q}^{T}_{ev}\varvec{q}_{ev}+q^{2}_{e0}=1\) and \(\varvec{q}^{T}_{dv}\varvec{q}_{dv}+q^{2}_{d0}=1\), respectively. \({\varvec{C}}=({q}^{2}_{e0}-2{q}^{T}_{ev})I+2\varvec{q}_{ev}\varvec{q}^{T}_{ev}-2q_{e0}{\varvec{q}^{\times }_{ev}}\in {\mathbb {R}}^{3\times 3}\) represents the the rotation matrix between body fixed reference frame and desired reference frame.

Then, using (3), the attitude kinematics and the dynamics equation for the tracking problem could be written as

$$\begin{aligned} \dot{\varvec{{q}}}_{ev}&= \frac{1}{2}(q_{0e}I+ \varvec{q}_{ev}^{\times })\varvec{\omega }_{e}\nonumber \\ \dot{q}_{e0}&= -\frac{1}{2}\varvec{q}^{T}_{ev}\varvec{\omega }_{e}\end{aligned}$$
(4)
$$\begin{aligned} \varvec{J}\dot{\varvec{\omega }}_{e}&= -(\varvec{\omega }_{e}+\varvec{C\omega }_{d})^{\times } \varvec{J}(\varvec{\omega }_{e}+C\mathbf {\omega _{d}})+\mathbf {J} (\mathbf {\omega _{e}^{\times }}\mathbf {C\omega _{d}}\nonumber \\&-\,\varvec{C}\dot{\varvec{\omega }}_{d})+\varvec{u}_{c}+\mathbf {u_{d}}. \end{aligned}$$
(5)

For the control design purpose, the following assumptions are made.

Assumption 1

In the spacecraft mission, the quaternion \(\varvec{q}_{b}\) and the angular velocity vector \(\varvec{\omega }_{b}\) are measurable and available throughout the space mission for attitude control design.

Assumption 2

The desired attitude frame angular velocity \(\varvec{\omega }_{d}\) and its first time derivative \(\dot{\varvec{\omega }}_{d}\) are bounded, and the bounds are known.

Assumption 3

External disturbances torque \(\varvec{u}_{d}\) is bounded, but the bound limit is not known in advance.

3 Control Design

In this section, first the control objective is given, and then the control design steps are evolved with necessary derivation.

3.1 Control Objective

The aim is to propose a control law to guarantee that tracking error in attitude states achieves to zero in finite time \(t_{f}\) i.e.

$$\begin{aligned} {\left\{ \begin{array}{ll} \lim \limits _{t \rightarrow t_{f}}(\mathbf {q_{b}}-\mathbf {q_{d}})=0\\ \lim \limits _{t \rightarrow t_{f}}(\mathbf {\omega _{b}}-\mathbf {\omega _{d}})=0.\\ \end{array}\right. } \end{aligned}$$
(6)

3.2 Design Steps

Like the SMC design, in finite time sliding mode control, the first step is the selection of proper sliding surface. Therefore, to ensure the faster finite time convergence with the non-singular control, a novel sliding surface with the following structure is proposed

$$\begin{aligned} {\varvec{s}}={\hbox {sig}}^{\rho }\varvec{\omega }_{e}+{\varvec{\alpha }}{\hbox {sig}}^{\rho } {\varvec{q}_{ev}}+\varvec{\beta }\varvec{q}_{ev}, \end{aligned}$$
(7)

where \(\varvec{s}=[s_{1}~ s_{2}~s_{3}]^{T}\in {\mathbb {R}}^{3}, {\varvec{\alpha }}={\hbox {diag}}[\alpha _{1},\alpha _{2},\alpha _{3}]\) with \(\alpha _{i=1,2,3}>0, \varvec{\beta }={\hbox {diag}}[\beta _{1},\beta _{2},\beta _{3}]\) with \(\beta _{i=1,2,3}>0, \rho \in (1,2)\), and for any vector \(\varvec{x}=[x_{1}~x_{2}~x_{3}]^{T}, {\hbox {sig}}^{\rho }x=[|x_{1}|^{\rho }{\hbox {sig}}nx_{1},|x_{2}|^{\rho }{\hbox {sig}}nx_{2}, |x_{3}|^{\rho }{\hbox {sig}}nx_{3}]^{T}\).

In second step, the aim is to design the suitable control that ensures the reaching phase crossing in finite time and subsequently helps to attain zero in finite time. For this, the proposed control structure is

$$\begin{aligned} {\varvec{u}}_{c}={\varvec{u}}_{eq}+{\varvec{u}}_{\mathrm{reach }}, \end{aligned}$$
(8)

here the first component \(\varvec{u}_{eq}\) is the equivalent control (Utkin 1977). It is responsible for steering the attitude states on the sliding surface, and is derived using the invariance principle.

Therefore, using (7)

$$\begin{aligned} \varvec{J}\dot{\varvec{s}}&= \rho ~ {\hbox {diag}}(|\varvec{\omega }_{e}|^{\rho -1})\Big (-(\varvec{\omega }_{e}+ \varvec{C\omega }_{d})^{\times }\varvec{J}_{0}(\varvec{\omega }_{e}\nonumber \\&+ \,\varvec{C\omega }_{d})+\varvec{J}_{0}(\varvec{\omega }_{e}^{\times } \varvec{C\omega }_{d}-\varvec{C}\dot{\varvec{\omega }}_{d})+\varvec{u}_{c}\Big )\nonumber \\&+\,\frac{\varvec{J}_{0}}{2}\Big (\rho \varvec{\alpha } {\hbox {diag}}(|\varvec{q}_{ev}|^{\rho -1}) +\varvec{\beta }\Big )\Big (q_{e0}I\nonumber \\&+\,\varvec{q}_{ev}^{\times }\Big )\varvec{\omega }_{e}+ \varvec{L}^{u}(\varvec{\varDelta J},\varvec{\omega }_{e},\varvec{q}_{e}), \end{aligned}$$
(9)

where

$$\begin{aligned} \varvec{L}^{u}&= \rho ~ {\hbox {diag}}(\varvec{|\omega }_{e}|^{\rho -1})\Big ((\varvec{\omega }_{e}+ \,\varvec{C\omega }_{d})^{\times }\varvec{\varDelta } J(\varvec{\omega }_{e}\nonumber \\&+ \,\varvec{C\omega }_{d}) +\varvec{\varDelta J}(\varvec{\omega }_{e}^{\times }\varvec{C\omega }_{d}-\varvec{C}\dot{\varvec{\omega }}_{d})\nonumber \\&+\frac{\varDelta J}{2\rho }(\rho ~\alpha ~ {\hbox {diag}}|q_{ev}|^{\rho -1}\nonumber \\&+\,\varvec{\beta })\left( q_{e0}I+\varvec{q}_{ev}^{\times }\right) \varvec{\omega }_{e}^{2-\rho }+ \varvec{u}_{d}\Big ), \end{aligned}$$
(10)

represents the lumped uncertainty. For any vector \(\varvec{x}=[x_{1}, x_{2}, x_{3}]^{T}, {\hbox {diag}}(\varvec{|x|})^{\rho -1}\) is defined as \({\hbox {diag}}(|x_{1}|^{\rho -1}, |x_{2}|^{\rho -1},~|x_{3}|^{\rho -1})\in {\mathbb {R}}^{3\times 3}\).

Now, with invariance principle \(\dot{\varvec{s}}\)=0, the equivalent control is

$$\begin{aligned} \varvec{u}_{eq}&= (\varvec{\omega }_{e}+ \varvec{C\omega }_{d})^{\times }\varvec{J}_{0}(\varvec{\omega }_{e}+ \varvec{C\omega }_{d})-\varvec{J}_{0}(\varvec{\omega }_{e}^{\times } \varvec{C\omega }_{d} -\varvec{C}\dot{\varvec{\omega }}_{d}) \nonumber \\&-\,\frac{\varvec{J}_{0}}{2\rho }(\varvec{\alpha }~ {\hbox {diag}}|\varvec{q}_{ev}|^{\rho -1} +\varvec{\beta })\left( q_{e0}I+\varvec{q}_{ev}^{\times }\right) \varvec{\omega }_{e}^{2-\rho }. \end{aligned}$$
(11)

The second component, \(\varvec{u}_{\mathrm{reach }}\), is the control input applied in the reaching phase, and is accountable to bring the attitude states on to the neighborhood of sliding surface in finite time. In addition, it should work also to ensures chattering diminishing.

Therefore, to accomplish the above-mentioned characteristics in the reaching phase, it is proposed here to apply the reaching law-based control (Gao and Hung 1993)

$$\begin{aligned} \varvec{u}_{\mathrm{reach }}=-\tau ~\varvec{s}-k~{\hbox {sig}}^{\gamma }\varvec{s}, \end{aligned}$$
(12)

where \(\tau >0\) and \(k>0\) are the reaching control gains, and \(0<\gamma <1\).

Remark 1

Evidently, in (11), two terms are having with fractional power \(\rho \). Since \(\rho \in (1,2)\), the fractional power will be nonnegative, and so, the control structure would be non-singular.

Remark 2

Both \(\tau \) and \(k\) play an important role in the chattering alleviation and in the convergence speed control. It is seen that in the conventional TSM and in its variants based attitude control design both \(\tau \) and \(k\) are invariable, and are linked also with upper bounds of disturbances and uncertainties. However, in practical cases, advance knowledge of these upper bounds are not available. Therefore, the use of conservative approach may be the another cause of aggravated chattering and poor attitude accuracy.

3.2.1 Adaptive Estimate Law

To address the aforesaid issue, the reaching phase control is designed in adaptive nature. Therefore, to estimate the gains, the proposed adaptive laws are

$$\begin{aligned}&\dot{\hat{k}}= {\left\{ \begin{array}{ll} {\rho }~{\eta }~\varvec{s}^{T}{\hbox {diag}}(|\varvec{\omega }_{e}|^{\rho -1}){\hbox {sig}}^{\gamma } \varvec{(s)},&{} \text {if}~||\varvec{s}||\ge ||\varvec{\sigma }||\\ 0,&{} \text {if}~ ||\varvec{s}||< ||\varvec{\sigma }||, \end{array}\right. } \end{aligned}$$
(13)
$$\begin{aligned}&\dot{\hat{\tau }}= {\left\{ \begin{array}{ll} {\rho }~{\theta }~\varvec{s}^{T}{\hbox {diag}}(|\varvec{\omega }_{e}|^{\rho -1})\varvec{s},&{} \text {if}~||\varvec{s}||\ge ||\varvec{\sigma }||\\ 0,&{} \text {if}~ ||\varvec{s}||< ||\varvec{\sigma }||, \end{array}\right. } \end{aligned}$$
(14)

where \(\hat{k}\in {\mathbb {R}}\) and \(\hat{\tau }\in {\mathbb {R}}\), with \(\hat{k}(0)\ge 0\) and \(\hat{\tau }(0)\ge 0\), are the estimates of \(k\) and \(\tau \), respectively, \(\sigma \) is the design parameter, and \(\eta >0\) and \(\theta >0\) are the adaptation gains used to tune the convergence speed of \(\hat{k}\) and \(\hat{\tau }\), respectively.

Therefore, with the gain estimates (13) and (14), the adaptive nature reaching control is

$$\begin{aligned} u_{\mathrm{ada }}=-\hat{\tau }\varvec{s}-\hat{k}~{\hbox {sig}}^{\gamma }\varvec{s}. \end{aligned}$$
(15)

Consequently, the proposed ANFTSM control structure is

$$\begin{aligned} \varvec{u}_{c}=\varvec{u}_{eq}+\varvec{u}_{\mathrm{ada }}. \end{aligned}$$
(16)

Remark 3

Obviously, adaptive estimate laws (13 and 14) are de-linked from the bounds of disturbances or inertia uncertainty; and, in fact, designed adaptive laws are dependent on attitude states and sliding vector.

Remark 4

With the control law (15) in practical conditions, \(\varvec{s}\) cannot be exactly zero. Therefore, to avoid the unbound growth in \(k\) and \(\tau \) estimates, the dead zone technique has been adopted in (13 and 14).

Remark 5

In the adaptive estimate laws (13 and 14), \(\eta , \theta \), and the initial conditions \(\hat{k}(0)\) and \(\hat{\tau }(0)\) are the parameters to be selected carefully. The higher the selected value for these parameters, the higher the convergence speed in reaching phase. More specifically, the parameters \(\eta \) and \(\hat{k}(0)\) are linked with term \({\hbox {sig}}^{\gamma }\varvec{s}\), and \(\theta \) and \(\hat{\tau }(0)\) are linked with continuous term \(\varvec{s}\). So, if the parameters \(\eta \) and \(\hat{k}(0)\) are very high, then, the discontinuous term control would be dominant, and in result unwanted chattering may appear in the control input. Therefore, in fixing these parameters, best compromise in chattering and speed should be done.

4 Stability Analysis

Before entering into stability analysis, one useful lemma is given here.

Lemma 1

(Yu et al. 2005) For a continuous system \(\dot{\varvec{x}}=\varvec{f(x)}, \varvec{f(0)}=\varvec{0}, \varvec{x}\in R^{n}\), suppose there exists a continuous positive definite function \(V:R^{n}\rightarrow R\), real numbers \(a>0, b>0\), and \(m\in (0,1)\) and an open neighborhood \(U_{0}\subseteq R^{n}\) of the origin such that the following inequality is satisfied

$$\begin{aligned} \dot{V}(\varvec{x})+aV(\varvec{x})+bV^{m}(\varvec{x})\le 0,\quad x\in U_{0}\setminus \{0\} \end{aligned}$$
(17)

Then the origin is a finite time stable equilibrium. If \(U_{0}=R^{n}\), then the origin is a globally finite time stable equilibrium. Further, depending on the initial state \(\varvec{x}(0)=\varvec{x}_{0}\), the origin can be achieved in finite time \(t\) given by

$$\begin{aligned} t\le \frac{1}{a(1-m)}\ln \frac{aV^{1-m}(x_{0})+b}{b} \end{aligned}$$
(18)

Theorem 1

Consider the spacecraft attitude tracking control system (4 and 5). With the sliding surface (7), the adaptive estimate laws (13) and (14), and the controller (16), the attitude error states \((\varvec{q}_{e}, \varvec{\omega }_{e})\) will be reached to the neighborhood of \(\varvec{s}=0\) in finite time.

Proof

Select the Lyapunov energy function

$$\begin{aligned} V_{1}=\frac{1}{2}\varvec{s}^{T}\varvec{J s}+\frac{1}{2\eta }\bar{k}^{2}+\frac{1}{2\theta }\bar{\tau }^{2}, \end{aligned}$$
(19)

where \(\bar{k}=\hat{k}-k\) and \(\bar{\tau }=\hat{\tau }-\tau \). The first time derivative of (19), yields

$$\begin{aligned} \dot{V}_{1}&= \varvec{s}^{T}\varvec{J}\dot{\varvec{s}}+\frac{\bar{k}}{\eta }(\dot{\hat{k}}-\dot{k})+ \frac{\bar{\tau }}{\theta }(\dot{\hat{\tau }}-\dot{\tau })\nonumber \\&= \varvec{s}^{T}\varvec{J}\dot{\varvec{s}}+ \frac{\dot{\hat{k}}}{\eta }(\hat{k}-k)+ \frac{\dot{\hat{\tau }}}{\theta }(\hat{\tau }-\tau )\nonumber \\&= s^{T}\Bigg (\rho ~{\hbox {diag}}(|\varvec{\omega }_{e}|^{\rho -1})\Big (-(\varvec{\omega }_{e}+ \varvec{C\omega }_{d})^{\times }\varvec{J}_{0}\nonumber \\&\times \,(\varvec{\omega }_{e}+\varvec{C\omega }_{d})+\varvec{J}_{0}(\varvec{\omega }^{\times }_{e} \varvec{C\omega }_{d}-\varvec{C}\dot{\varvec{\omega }}_{d})+\varvec{u}_{c}\Big )\nonumber \\&+\,\frac{\varvec{J}_{0}}{2}\Big (\rho \varvec{\alpha }{\hbox {diag}}(|\varvec{q}_{ev}|^{\rho -1}) +\varvec{\beta }\Big )\Big (q_{0e}I+\varvec{q}_{ev}^{\times }\Big )\nonumber \\&\times \,\varvec{\omega }_{e}+ \varvec{L}^{u}\Bigg )+\frac{\dot{\hat{k}}}{\eta } (\hat{k}-k)+\frac{\dot{\hat{\tau }}}{\theta }(\hat{\tau }-\tau ) \end{aligned}$$
(20)

Applying (13), (14) and (16); (20) yields

$$\begin{aligned} \dot{V}_{1}&= \varvec{s}^{T}\rho ~{\hbox {diag}}(|\varvec{\omega }_{e}|^{\rho -1})\Big (\varvec{L}^{u} -\hat{\tau }\varvec{s}-\hat{k}~{\hbox {sig}}^{\gamma }\varvec{s}\Big )\nonumber \\&= -\varvec{s}^{T}\rho ~{\hbox {diag}}(|\varvec{\omega }_{e}|^{\rho -1}) \Big (\hat{\tau }\varvec{s}+(\hat{k}~I-{\hbox {diag}}(\varvec{L}^{u})\nonumber \\&\times \,{\hbox {diag}}^{-1}({\hbox {sig}}^{\gamma }\varvec{s})){\hbox {sig}}^{\gamma }\varvec{s}\Big ) \end{aligned}$$
(21)

and

$$\begin{aligned} \dot{V}_{1}&= -\varvec{s}^{T}\rho ~{\hbox {diag}}(|\varvec{\omega }_{e}|^{\rho -1}) \Big ((\hat{\tau }~I-{\hbox {diag}}(\varvec{L}^{u})\nonumber \\&\times \,{\hbox {diag}}^{-1}\varvec{s})\varvec{s}+\hat{k}~{\hbox {sig}}^{\gamma }\varvec{s}\Big ) \end{aligned}$$
(22)

In accordance to the proof given in (Tiwari et al. 2012), it can be verified that assumption \(\varvec{\omega }_{e}= 0\) in reaching phase will results \(\dot{\varvec{\omega }}_{e}= -\hat{\tau }s-\hat{k}{\hbox {sig}}^{\gamma } s\). Therefore, \(\varvec{\omega }_{e}= 0\) is not an attractor in the reaching phase \((\varvec{s}\ne 0)\). Further, if the positive definiteness of \(\hat{k}I-{\hbox {diag}}(\varvec{L}^{u})\times {\hbox {diag}}^{-1}{\hbox {sig}}^{\gamma }\varvec{s}\) and \(\hat{\tau }~I-{\hbox {diag}}(\varvec{L}^{u})\times {\hbox {diag}}^{-1}\varvec{s}\) is ensured, then in the light of the Lemma 1, (21) and (22) will satisfy the finite time stability condition (17); hence, the finite convergence in the reaching phase is guaranteed. This completes the proof. \(\square \)

Theorem 2

Once, the closed-loop (4 and 5) attitude error states \((\varvec{q}_{ev}, \varvec{\omega }_{e})\) crossed the reaching phase, and reached to the neighborhood of \(\varvec{s}=0\), the control (16) will ensure them to reach zero in finite time.

Proof

Define the another Lyapunov energy function

$$\begin{aligned} V_{2}= \varvec{q}_{ev}^{T}\varvec{q}_{ev}, \end{aligned}$$
(23)

its first time derivative is

$$\begin{aligned} \dot{V}_{2}&= 2\varvec{q}_{ev}^{T}\dot{\varvec{q}}_{ev}\nonumber \\&= \varvec{q}_{ev}^{T}(q_{e0}I+\varvec{q}_{ev}^{\times })\varvec{\omega }_{e}. \end{aligned}$$
(24)

It can be verified that \(||(q_{e0}I+\varvec{q}_{ev})||\le 1\), hence

$$\begin{aligned} \dot{V}_{2}\le \varvec{q}_{ev}^{T}\varvec{\omega }_{e}. \end{aligned}$$
(25)

Now, after the attitude error states crossed the reaching phase, and entered in to the sliding phase with band \(\varvec{s}=\varvec{\sigma }\); using (7), the inequality for \(\omega _{e}\) can be written as

$$\begin{aligned} \varvec{\omega }_{e}\le -\varvec{\alpha }^{\frac{1}{\rho }}\varvec{q}_{ev}- \varvec{\beta }^{\frac{1}{\rho }}{\hbox {sig}}^{\frac{1}{\rho }}\varvec{q}_{ev}+ \varvec{\sigma }^{\frac{1}{\rho }}. \end{aligned}$$
(26)

Substituting (26) into (25), we have

$$\begin{aligned} \dot{V}_{2}&\le \varvec{q}_{ev}^{T}\left( -\varvec{\alpha }^{\frac{1}{\rho }}\varvec{q}_{ev}- \varvec{\beta }^{\frac{1}{\rho }}{\hbox {sig}}^{\frac{1}{\rho }} \varvec{q}_{ev}+\varvec{\sigma }^{\frac{1}{\rho }}\right) \nonumber \\&\le -\varvec{q}^{T}_{ev}\varvec{\alpha }^{\frac{1}{\rho }}\varvec{q}_{ev} -|\varvec{q}_{ev}^{T}|\varvec{\beta }^{\frac{1}{\rho }}|\varvec{q}_{ev}|^{\frac{1}{\rho }}+\varvec{q}_{ev}^{T}\varvec{\sigma }^{\frac{1}{\rho }}\nonumber \\&\le -\lambda _{1}V_{2}-\lambda _{2}V^{\frac{\rho +1}{2\rho }}_{2}+|| \varvec{\sigma }||^{\frac{1}{\rho }}V^{\frac{1}{2}}_{2}, \end{aligned}$$
(27)

where \(\lambda _{1}\) and \(\lambda _{2}\) are the minimum eigenvalues of \(\alpha ^{\frac{1}{\rho }}\) and \(\beta ^{\frac{1}{\rho }}\), respectively. Further, (27) could be rewritten as

$$\begin{aligned} \dot{V}_{2}+\lambda _{1}V_{2}+ \left( \lambda _{2}-\frac{|| \varvec{\sigma }||^{1/\rho }}{{V^{1/2\rho }_{2}}}\right) V^{\frac{\rho +1}{2\rho }}_{2}\le 0 \end{aligned}$$
(28)

and

$$\begin{aligned} \dot{V}_{2}+ \left( \lambda _{1}-\frac{||\varvec{\sigma }||^{1/\rho }}{{V^{1/2}_{2}}}\right) V_{2}+\lambda _{2}V^{\frac{\rho +1}{2\rho }}_{2}\le 0 \end{aligned}$$
(29)

In (28), when \((\lambda _{2}-\frac{||\varvec{\sigma }||^{1/\rho }}{{V^{1/2\rho }_{2}}})>0\), its structure conforms with (17), and the finite time stability is ensured. Thus, the attitude tracking error \(q_{ei}\) converge to the region

$$\begin{aligned} |q_{ei}|\le \frac{||\varvec{\sigma }||}{\lambda ^{\rho }_{2}}\le \frac{||\varvec{\sigma }||}{{\hbox {min}}~(\beta _{i=1,2,3})}\le {\hbox {max}}\left( \frac{||\varvec{\sigma }||}{\beta _{i=1,2,3}}\right) , \end{aligned}$$
(30)

in finite time.

Similarly, in (29), when \((\lambda _{1}-\frac{||\varvec{\sigma }||^{1/\rho }}{{V^{1/2}_{2}}})>0\), its structure conforms with the (17), and the finite time stability is ensured. Thus, the attitude tracking error \(q_{ei}\) converge to the region

$$\begin{aligned} |q_{ei}|&\le \frac{||\varvec{\sigma }||}{\lambda _{1}}\le \left( \frac{||\varvec{\sigma }||}{{\hbox {min}}~(\alpha _{i=1,2,3})}\right) ^{\frac{1}{\rho }}\nonumber \\&\le {\hbox {max}} \left( \frac{||\varvec{\sigma }||}{\alpha _{i=1,2,3}}\right) ^{\frac{1}{\rho }}, \end{aligned}$$
(31)

in finite time.

Furthermore, to complete the proof, a justification is required here to show that the angular velocity tracking error \(\omega _{e}\) reached to zero. Therefore, in the similar to Tiwari et al. (2012), by using both the control input expression (16) and \(\varvec{s}=0\), the angular velocity tracking dynamics could also be written as a finite time convergence expression. This ensure that both the quaternion and angular velocity tracking error converge to zero in finite time. This completes the proof. \(\square \)

Remark 6

In (30) and (31), the parameters \(\alpha \) and \(\beta \) are manipulating the attitude tracking accuracy. Additionally, in the light of (18), it can be seen that these parameters play a significant role also in deciding the convergence speed. So, with the higher selected values of these parameters, both better tracking accuracy and higher convergence speed could be achieved. Nevertheless, \(\alpha \) and \(\beta \) effect is evident also on the control input (11). So, the selection of very high value of these parameters may cause also an undesired oscillation. Therefore, for fixing the \(\alpha \) and the \(\beta \) value, should consider these parameter’s roles in the convergence speed, the tracking accuracy, and the control input, simultaneously.

Remark 7

From (31), we noticed that the parameter \(\rho \) is also affecting the tracking accuracy . Obviously, in (31), if the selected \(\rho \) value is closer to one in its defined range \(\rho \in (1,2)\), the better tracking accuracy would be achieved.

5 Simulations and Discussion

To substantiate the effectiveness of the proposed controller (16), simulations have been conducted and results are illustrated in this section. The entire analysis is presented in two classes, stabilization and tracking. In addition, the proposed controller performance has been compared with the recently reported two finite time controllers. The controller parameters have been mentioned in Table 1.

Table 1 Controller parameters

5.1 Stabilization Response Analysis

The example spacecraft nominal mass inertia matrix is \(\varvec{J}_{0}={\hbox {diag}} (800.027,~ 839.93,~ 289.93)\,{\hbox {kg m}}^{2}\), and \(\varDelta \varvec{J}={\hbox {diag}} (100,~ 60,~ 30)\,{\hbox {kg m}}^{2}\) (Lu and Xia 2013a). The initial conditions of quaternion, body angular velocity, and desired attitude quaternion are mentioned in Table 2. The stabilization investigation is done in two steps named Case 1 and Case 2. In Case 1, the spacecraft initial body angular velocity is \(\varvec{\omega }_{b}(0)=[1,0,-1]^{T}\), and the external disturbance is \(\varvec{u}_{d}(t)=5(||\varvec{\omega }_{b}||^{2}+0.3)[\cos (0.2t), \sin (0.5t), \cos (0.8t)]^{T}\) N-m.

Table 2 Simulation cases

On contrary to Case 1, in Case 2, the initial angular velocity is \(\varvec{\omega }_{b}(0)=[0.06, -0.04, 0.05]^{T}\), the actuator limit is constrained, and the external disturbance is \(\varvec{u}_{d}(t)=5[\sin (0.1t), \sin (0.2t), \sin (0.3t)]^{T}\) N-m.

Case 1 Stabilization performance under inertia uncertainty and external disturbances:

For Case 1, stabilization performance of the proposed controller (16) is presented in Figs. 1, 2. Figure 1 shows that attitude states come to the sliding surface in finite time. Evidently, the equilibrium is also achieved in finite time with faster convergence speed. Figure 1 bottom frame illustrates that the control input is chattering-free. To examine the steady precision, enlarged frames are displayed. These frames demonstrate that the quaternion, the body angular velocity, and the sliding variables are achieving the steady precision in \(\pm 7.72e-6, \pm 1.40e-5, \pm 2.50e-5\), respectively. The time evolution of the adaptive gains estimate are illustrated in Fig.(2).

Case 2 Stabilization performance under inertia uncertainty, external disturbances, and control input constraints:

Fig. 1
figure 1

Control response: stabilization case 1

Fig. 2
figure 2

Control gains estimate: stabilization case 1

In Case 2, the proposed controller stabilization performance has been checked under the constrained control input with external disturbance and inertia uncertainty. The control input constraint is fixed to \(\varvec{u}_{c}\le 20\) N-m.

Simulation responses are shown in Figs. 3, 4. The time evolution of quaternion, body angular velocity, and sliding surface are shown in Fig. 3. The obtained results depicted that in spite of control input constraint inclusion, the robustness is intact, and the desired attitude equilibrium is achieved in finite time. In more specific, it is seen that the proposed controller speedily satisfies \(|q_{i, \mathrm{for }~ i=1,2,3}|\le 2e-2\) and \(|\omega _{i, \mathrm{for }~ i=1,2,3}|\le 1e-2\) in finite time \(15.19\) and \(17.03\) seconds, respectively. The zoomed frames in Fig. 3 shows that steady precision of quaternion, body angular velocity, and sliding variables are maintained in \(\pm 1.76e-4, \pm 1.11e-4, \pm 5.41e-4\), respectively.

Figure 4 illustrates the time history of control input and gains estimate. It is noticed from the top frame that the control input components attain to the actuator maximum limit for short duration only. More specifically, \(u_{1}\) , \(u_{2}\), and \(u_{3}\) are using the actuator maximum limit only for the duration \(7.55, 5.40, 3.09\) seconds, respectively. It is important also to mention that the control input is free from chattering in spite of all odd conditions applied together. The gain estimates are depicted in bottom frame.

Additionally, the proposed controller effectiveness is compared with the recently reported ANTSM controller (11) (Lu and Xia 2013a). For both controllers, the performance summary is given in Table 3. The proposed controller convergence speed is more than four times faster than the ANTSM controller. In terms of steady precision also the proposed controller is better.

5.2 Tracking Response Analysis

Further, the proposed controller (16) performance is evaluated in attitude tracking scenario. The nominal inertia matrix of the example spacecraft is \(\varvec{J}_{0}=[20~ 1.2~ 0.9;~ 1.2~ 17~ 1.4; 0.9~ 1.4~ 15]\,kg.m^{2}\), and the inertia uncertainty is \(\varDelta \varvec{J}={\hbox {diag}} (2,~ 2,~ 3)\,{\hbox {kg m}}^{2}\) (Lu and Xia 2013b). The external disturbances mathematical model is \(\varvec{u}_{d}(t)=[2\sin (1.5t),~2\sin (2t),~2\sin (2t)]^{T}\) N-m.

Simulation is conducted under the initial conditions summarized in Table 2. The time evolution of error quaternion, error in angular velocity, and sliding surface are shown in Fig. 5. The bottom frame illustrates that the proposed controller is able to bring the attitude states to the sliding surface in finite time. The top frame and the bottom leftmost frame illustrates that the error quaternion and the angular velocity error reaches to zero in finite time, respectively. More explicitly, conditions \(|q_{ei}|\le 5e\)\(3\) and \(|\omega _{ei}|\le 2e\)\(2\), for \(i=1,2,3\), are achieved in finite time \(8.56\) and \(8.09\) seconds, respectively. The enlarged frames show that the steady-state precision of error quaternion, error in angular velocity, and sliding surface are \(\pm 6.05e\) \(-\) \(4, \pm 7.63e\)\(4, and \pm 7.16e\)\(4\), respectively. Additionally, Fig. 6 illustrates the body quaternion time response for tracking the desired quaternion. Time response of control input and gains estimate are presented in Fig.(7). From the top frame, it is seen that the control input is chattering-free. The bottom frame shows the gains estimate time evolution.

Fig. 3
figure 3

Control response: stabilization case 2

Fig. 4
figure 4

Control input and control gains estimates: stabilization case 2

Fig. 5
figure 5

Tracking response

Table 3 Stabilization performance comparison
Fig. 6
figure 6

Quaternion tracking pattern

Fig. 7
figure 7

Control input and control gains estimate: tracking

Further, the proposed controller (16) tracking performance has been compared with the ANTSM controller (28) (Lu and Xia 2013b), and is summarized in Table 4. It is noticed that the proposed controller tracking speed is similar to the ANTSM speed. However, steady precision performance is far better for the proposed controller.

Table 4 Tracking performance comparison

6 Conclusion

Finite time attitude tracking control for a rigid spacecraft has been investigated in this paper. An ANFTSM method is used here to design the attitude controller. To derive the proposed control law, a novel fast terminal sliding surface with a reaching law has been used. Further, to circumvent the requirement of upper bounds of uncertainty and external disturbances, novel adaptive estimate laws have been proposed; and are applied to derive the controller gains. The derived control is faster, helps in the chattering removal, and avoids the singularity. The proof for finite time convergence has been given using the Lyapunov theorem. The simulation results have been shown to illustrate the effectiveness of proposed control method. The results show that in spite of unknown bounded disturbances and inertia uncertainties, the proposed control method is efficient to improves the convergence speed and accuracy, and works also to alleviate the chattering. In addition, simulation results have been shown also for constrained input case, and it is found that robustness and quick convergence speed have been ensured.