I. Introduction

Spacecraft formation flying (SFF) has been an active area of research in later years. Due to many inherent advantages such as low cost, flexibility and modularity, SFF is expected to be an potential technology for a lot of space missions including deep space exploration, Earth monitoring, in-orbit servicing and military operations[1]. To accomplish the missions cooperatively, the attitude of each spacecraft in the formation must be coordinated to guarantee the convergence and stability of the system. Since the coordinated control is an important part of the practical system, many scholars have been studying on the significant problems of attitude coordinated control of SFF.

Various approaches such as leader-follower, behavioral and virtual structure have been proposed in many relevant literatures[2-10]. In the leader-follower strategy, one spacecraft is defined as the leader of the formation while the rest are defined as followers. The leader should track any time-varying predefined trajectory, and the followers track the leader to keep a fixed relative attitude with respect to the leader[2-5]. In the behavioral approach, the control action for each spacecraft in the formation is a weighted average of the control corresponding to several basic behaviors for each spacecraft[6-8]. In the virtual structure approach, the whole formation is defined as a virtual rigid body which should track the given trajectory and define the desired attitude for each individual spacecraft in the formation[9-10].

Since the mass properties of the spacecraft may change according to fuel usage and spacecraft usually operates in the presence of various external disturbances, including gravitational torque, aerodynamic torque, radiation torque, and other environmental and non-environmental torques, it is necessary to design an attitude control system which can be able to adapt to the model uncertainties and unexpected external disturbances. However, in the above literatures, the uncertainties of the inertia matrix and external disturbances are not considered simultaneously in studying the attitude coordinated problem.

In this paper, typical leader-follower approach is adopted which can simplify the attitude coordinated control into an attitude tracking control problem of a single spacecraft. Considering the uncertainties of spacecraft inertia matrix and external disturbances, this paper focuses on applying sliding mode control (SMC) in designing the control law for attitude coordinated control in a spacecraft formation, which is an effective control theory to control spacecraft attitude under the uncertainties[11-12]. The employed SMC law is separated into two parts: the equivalent control term and the switching control term. To eliminate the high frequency chattering, double fuzzy systems are used to deal with the switching control law. The adaptive fuzzy control is designed to approach the sign function and the adaptive law is derived. Moreover, a set of fuzzy logic rules are constructed to further attenuate the chattering phenomena of the switching control signal. As a result, the proposed control algorithm can effectively achieve attitude coordinated control of SFF and reduce the high frequency chattering of control signal in the presence of parameter uncertainties and external disturbances.

The rest of this paper is organized as follows. Section II describes the dynamic model of SFF attitude coordinated control system. Section III develops an adaptive fuzzy SMC (AFSMC) scheme and Lyapunov theory is used to proof the convergence and stability of the system. The simulation results demonstrate the performance of the proposed controller in Section IV. In the end, a brief conclusion is given in Section V.

II. Preliminarie

A. Spacecraft Attitude Dynamics

Considering a group of spacecraft consisting of n spacecrafts, the attitude dynamics for the ith (i = 1,2,3...n) rigid spacecraft can be given by the following differential equation

$${J_i}{\dot \omega _i} = \omega _i^ \times (J{\omega _i}) + {u_i} + {d_i}$$
((1))

where J i R 3×3 is the positive definite, symmetric inertia matrix of the ith spacecraft; ω i [ω i1 ω i2 ω i3]TR 3 is the angular velocity vector of the ith spacecraft with respect to the inertial frame and expressed in the body frame; u i = [u i1 u i2 u i3]TR 3 is the control torques of the ith spacecraft; d i = [d i1 d i2 d i3]T is the bounded disturbance torques of the ith spacecraft.

For any vector α = [α 1 α 2 α 3]T, α × stands for the cross-product matrix

$${\alpha ^ \times } = \left[ {\begin{array}{*{20}{c}} 0&{ - {\alpha _3}}&{{\alpha _2}}\\ {{\alpha _3}}&0&{ - {\alpha _1}}\\ { - {\alpha _2}}&{{\alpha _1}}&0 \end{array}} \right]$$
((2))

B. Kinematic Equation

To avoid singular points, the Euler parameter is adopted to describe the attitude of the spacecraft. The kinematic equation in terms of the unit quaternion is given by

$$\left\{ \begin{array}{l} {{\dot q}_{i0}} = - \frac{1}{2}q_i^T{\omega _i}\\ {{\dot q}_i} = \frac{1}{2}(q_i^ \times + {q_{i0}}{I_3}){\omega _i} \end{array} \right.$$
((3))

It can be written in compact form

$${Q_i} = \frac{1}{2}E({Q_i}){\omega _i}$$
((4))

where \(E({Q_i})\left[ \begin{array}{l} - q_i^T{\omega _i}\\ q_i^ \times + {q_{i0}}{I_3} \end{array} \right]\), I 3 is the 3×3 identity matrix, the unit quaternion Q i = [q i0 q i1 q i2 q i3]T = [q i0 q i ]T represents the orientation of the ith spacecraft in the body frame with respect to the inertial frame.

The rotation matrix R(Q i) ∈ R 3×3 transforms the inertial frame into the body frame, which is defined as

$$R({Q_i}) = (q_{i0}^2 - q_i^T{q_i}){I_3} - 2({q_{i0}}q_i^ \times - {q_i}q_i^T)$$
((5))

Suppose that there exist the time-varying reference attitude Q d with the desired angular velocity ω d , then the quaternion error Q ei can be given by \({Q_{ei}} = Q_d^* \otimes {Q_i}\), where \(Q_d^*\) denotes the inverse of Q d , which is defined as \(Q_d^* = {({q_{0d}}, - q_d^T)^T}\) and ⊗ denotes quaternion multiplication, for any given two quaternions Q a and Q b , which is defined by

$${Q_a} \otimes {Q_b} = \left( \begin{array}{l} {q_{0a}}{q_{0b}} - q_a^T{q_b}\\ {q_{0a}}{q_b} + {q_{0b}}{q_a} + q_a^ \times {q_b} \end{array} \right)$$
((6))

The quaternion error Q ei satisfy the following error kinematic equation

$${Q_{ei}} = \frac{1}{2}E({Q_{ei}}){\omega _{ei}}$$
((7))

where the angular velocity error ω ei of the ith spacecraft is represented by ω ei = ω i -R(Q ei )ω d .

Therefore, the error dynamic equations of the ith spacecraft can be written as follows

$$\begin{array}{l} J{{\dot \omega }_{ei}} = - {[{\omega _{ei}} + R({Q_{_{ei}}}){\omega _{di}}]^ \times }J[{\omega _{ei}} + R({Q_{ei}} + R({Q_{ei}}){\omega _{di}}]\\ \,\,\,\,\,\,\,\,\,\, + J[\omega _{ei}^ \times R({Q_{ei}}){\omega _{di}} - R({Q_{ei}}){{\dot \omega }_{di}}] + {u_i} + {d_i} \end{array}$$
((8))

where \(\dot R({Q_e}) = - \omega _e^ \times R({Q_e})\).

In the leader-follower approach, the leader tracks a reference attitude, and the followers track the leader according to given schemes, so we define the following terms for use in the tracking scheme to give rotations relative to the inertial system:

Q d :

Desired attitude of the leader.

Q l :

Attitude of the leader.

Q f :

Attitude of the follower.

ω d :

Desired angular velocity of the leader

ω l :

Angular velocity of the leader.

ω f :

Angular velocity of the follower.

The error quaternion and error angular velocity of the leader can be given by

$$\begin{array}{l} Q_e^l = Q_d^* \otimes {Q_l}\\ {\omega _{el}} = {\omega _l} - R(Q_e^l){\omega _d} \end{array}$$
((9))

The error quaternion and error angular velocity of the followers can be given by

$$\begin{array}{l} Q_e^f = Q_l^* \otimes {Q_f}\\ {\omega _{ef}} = {\omega _f} - R(Q_e^f){\omega _l} \end{array}$$
((10))

Equations (9) and (10) both can be put into (7) and (8), then we can get the dynamical equations of tracking scheme for the leader and the followers in the formation, respectively.

C. Problem Statement

Spacecraft usually operates in the presence of various disturbances and also the inertia matrix cannot be known exactly, which both can influence the accuracy of attitude control. According to the mentioned factors, suitable control laws should be found to solve the problems. The control task is to design controllers which can guarantee the closed loop system be asymptotic stable, and satisfy \(\mathop {\lim }\limits_{t \to \infty } (Q_e^f,{\omega _{ef}}) = \mathop {\lim }\limits_{t \to \infty } (Q_e^l,{\omega _{el}}) = 0\)

Since the attitude coordinated control problem can be reduced to an attitude tracking control problem of a single spacecraft in the leader-follower approach, the general expressions without subscript for distinction between leader and followers are used in the followings.

III. Adaptive fuzzy sliding mode controller

In this section, an AFSMC controller based on unit quaternion attitude representation is proposed to solve the problem that has been stated.

A. Sliding Mode Control

Now, a sliding surface is designed as

$$s = {\omega _e} + \lambda {q_e}$$
((11))

where s = [s 1,s 2,s 3]TR 3, λ = diag{λ 1,λ 2,λ 3}, and λ i(i = 1,2,3) > 0

Choose the Lyapunov function candidate as

$$V = \frac{1}{2}{s^T}Js$$
((12))

Thus V > 0 and the external disturbance torques should be ignored temporarily. Then differentiate V with respect to time and inserting (8) result in

$$\begin{array}{l} \dot V = {s^T}J({{\dot \omega }_e} + \lambda {{\dot q}_e})\\ \,\,\,\,\, = {s^T}\left( \begin{array}{l} - {[{\omega _e} + R({Q_e}){\omega _d}]^ \times }J[{\omega _e} + R({Q_e}){\omega _d}]\\ + J\omega _e^ \times R({Q_e}){\omega _d} - R({Q_e}){{\dot \omega }_d}]\\ + u + J\lambda {{\dot q}_e} \end{array} \right) \end{array}$$
((13))

Let \(\dot V = 0\), the equivalent control can be given by

$$\begin{array}{l} {u_{eq}} = {[{\omega _e} + R({Q_e}){\omega _d}]^ \times }J[{\omega _e} + R({Q_e}){\omega _d}]\\ \,\,\,\,\,\,\, - J[\omega _e^ \times R({Q_e}){\omega _d} - R({Q_e}){{\dot \omega }_d}] - J\lambda {{\dot q}_e} \end{array}$$
((14))

which can keep the state stay on sliding surface.

Based on the principle of SMC, the control law consists of the following two parts, one is the equivalent control term u eq which can force the system stable to slide on the sliding surface. Another is switching control term u sw that derives the state toward the sliding surface. The control law can be represented as

$$u = {u_{eq}} + {u_{sw}}$$
((15))

The switching control law can be chosen as

$${u_{sw}} = - gs - {k_s}{\mathop{\rm sgn}} (s)$$
((16))

where \(\min \{ {k_s}\} {\text{>}} \left\| d \right\|\).

Thus , the attitude tracking control law can be defined as

$$\begin{array}{l} u = {u_{eq}} + {u_{sw}}\\ \,\,\,\, = {[{\omega _e} + R({Q_e}){\omega _d}]^ \times }J[{\omega _e} + R({Q_e}){\omega _d}]\\ \,\,\,\, - J[\omega _e^ \times R({Q_e}){\omega _d} - R({Q_e}){{\dot \omega }_d}] - J\lambda {{\dot q}_e}\\ \,\,\,\, - gs - {k_s}{\mathop{\rm sgn}} (s) \end{array}$$
((17))

Substituting (17) into (13) results in the following:

$$\begin{array}{l} \dot V = {s^{\rm{T}}}Js = {s^{\rm{T}}}J({{\dot \omega }_e} + \lambda {{\dot q}_e})\\ \,\,\,\, = {s^{\rm{T}}}(d - gs - {k_s}{\mathop{\rm sgn}} (s))\\ \,\,\,\, = {s^{\rm{T}}}gs - {s^T}(\left| {{k_s}} \right| - d) \end{array}$$
((18))

Thus, \(\dot V < 0\) i.e. the control law can guarantee the stability of the control system.

Since the switching control term can cause high-frequency chattering phenomena which may have a bad effect on the performance of the control system, adaptive fuzzy systems should be designed to approximate the sign function of the switching control law. Moreover, fuzzy logic rules should be employed to smooth the switching control signal based on the sliding surface.

B. Description of Fuzzy Logic System

A basic fuzzy logic system consists of a fuzzier, some fuzzy if-then rules, a fuzzy inference engine and a defuzzier. The fuzzy inference engine uses the fuzzy rules to perform mapping from an input vector x T = [x 1,x 2,...,x 3] ∈ R n to an output \(\hat f \in R\).

The jth fuzzy rule can be written as

R (j): if x 1 is \(A_l^j\) and ... and x n is \(A_j^n\) then \(\hat f\) is f j.

where the set \(A_i^j\) defines the jth linguistic value of input x i , and the set f j denotes the linguistic values for output variable \(\hat f\). The singleton fuzzier, product inference engine, and center-average defuzzifier are applied to figure out the output which can be written as follows

$$\hat f(x) = \frac{{\sum\limits_{j = 1}^m {{f^j}} (\prod\limits_{i = 1}^n {{\mu _{A_i^j}}(x))} }}{{\sum\limits_{j = 1}^m {(\prod\limits_{i = 1}^n {{\mu _{A_i^j}}({x_i}))} } }}$$
((19))

where \({{\mu _{A_i^j}}(x)}\) is the membership function for x i , m is the number of fuzzy rules.

Introducing the vector ξ(x), (19) can be expressed as

$$\hat f(x) = {\theta ^T}\xi (x)$$
((20))

where θ T = [f 1,f 2,...,f m] is the adjustable parameter vector which must be determined by learning algorithms and ξ T = [ξ 1(x),ξ 2(x),...,ξ m(x)], where

$${\xi ^i}(x) = \frac{{(\prod\limits_{i = 1}^n {{\mu _{A_i^j}}({x_i}))} }}{{\sum\limits_{j = 1}^m {(\prod\limits_{i = 1}^n {{\mu _{A_i^j}}({x_i})} )} }}$$
((21))

is the fuzzy basis function.

C. Fuzzy adaptive control design and stability analysis

The singleton fuzzier, product inference engine , and center-average defuzzifier can be used to approximate the sign function h = -k s sgn(s). Therefore, according to the adaptive fuzzy system, the input variables should be s, and the output variables should be \(\hat h(s\left| {{\theta _h}} \right.)\), i.e.

$$\hat h(s\left| {{\theta _h}} \right.) = \theta _{\rm{h}}^{\rm{T}}\xi (s)$$
((22))

where ξ(s) is the fuzzy basis function, θ h is an adjustable parameter vector of the fuzzy system. Define the adaptive law

$${\dot \theta _h} = - \gamma s\xi (s)$$
((23))

where γ > 0.

Proof: The ideal parameter of \(\theta _h^*\) which is artificial constant quantities introduced only for analysis can be defined as

$$\begin{array}{*{20}{c}} {\theta _h^* = \arg \min [\sup \left| {\hat h(s\left| {{\theta _h}) - h\left| ] \right.} \right.} \right.}\\ {{\theta _h} \in \Omega h} \end{array}$$
((24))

where Ω h is the set of θ h . Define the adjustable parameter error as

$${\tilde \theta _h} = {\theta _h} - \theta _h^*$$
((25))

and choose a Lyapunov function candidate as

$$V = \frac{1}{2}{s^{\rm{T}}}Js + \frac{1}{{2\gamma }}\tilde \theta _h^2$$
((26))

Then differentiate V with respect to time, i.e.

$$\begin{array}{l} \dot V = {s^{\rm{T}}}Js + \frac{1}{\gamma }{({{\tilde \theta }_h})^{\rm{T}}}{{\dot \theta }_h}\\ \,\,\,\, = {s^{\rm{T}}}( - {[{\omega _e} + R({Q_e}){\omega _d}]^ \times }J[{\omega _e} + R({Q_e}){\omega _d}]\\ \,\,\,\, + J[\omega _e^ \times R({Q_e}){\omega _d} - R({Q_e}){{\dot \omega }_d}] + u + d) + \frac{1}{\gamma }{({{\tilde \theta }_h})^{\rm{T}}}{{\dot \theta }_h} \end{array}$$
((27))

Substituting (17) and h(s|θ h ) = -k s sgn(s) into (27) results in the following

$$\begin{array}{l} \dot V = {s^{\rm{T}}}(d - gs + h(s\left| {{\theta _h})} \right.) + \frac{1}{\gamma }{({{\tilde \theta }_h})^{\rm{T}}}{{\dot \theta }_h}\\ \,\,\,\,\, = {s^{\rm{T}}}d - {s^{\rm{T}}}gs + {s^{\rm{T}}}h(s\left| {{\theta _h})} \right.) + \frac{1}{\gamma }{({{\tilde \theta }_h})^{\rm{T}}}{{\dot \theta }_h} \end{array}$$
((28))

Define the output vector of the fuzzy system as

$$\begin{array}{l} h(s\left| {{\theta _h}} \right.) = {[{h_1}({s_1}\left| {{\theta _{h1}}} \right.)\,{h_2}(s\left| {{\theta _{h2}}} \right.)\,{h_3}(s\left| {{\theta _{h3}}} \right.)]^T}\\ \,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, = {[{({\theta _{h1}})^{\rm{T}}}\xi ({s_1})\,{({\theta _{h2}})^{\rm{T}}}\xi ({s_2})\,{({\theta _{h3}})^{\rm{T}}}\xi ({s_3})]^T} \end{array}$$
((29))

and in the presence of the external disturbances, i.e. d = [d 1 d 2 d 3]T, then yield

$$\begin{array}{l} \dot V = - {s^{\rm{T}}}gs + \sum\limits_{i = 1}^3 {{s_i}{d_i}} + \sum\limits_{i = 1}^3 {\left( {{{({{\tilde \theta }_{hi}})}^{\rm{T}}}\xi ({s_i})} \right)} \\ \,\,\,\, + \sum\limits_{i = 1}^3 {{s_i}\left( {{{(\theta _{hi}^*)}^{\rm{T}}}\phi ({s_i})} \right)} + \frac{1}{\gamma }\sum\limits_{i = 1}^3 {{{({{\tilde \theta }_{hi}})}^{\rm{T}}}{{\dot \theta }_{hi}}} \\ \,\,\,\,\, = - {s^{\rm{T}}}gs + \sum\limits_{i = 1}^3 {{{({{\tilde \theta }_{hi}})}^{\rm{T}}}} \left( {{s_i}\xi ({s_i}) + \frac{1}{\gamma }{{\dot \theta }_{hi}}} \right)\\ \,\,\,\,\, + \sum\limits_{i = 1}^3 {{s_i}\left( {{d_i} + {h_i}({s_i}\left| {\theta _{hi}^*)} \right.} \right)} \end{array}$$
((30))

Let define \({s_i}\xi ({s_i}) + \frac{1}{\gamma }{\dot \theta _{hi}} = 0\), and the adaptive law can be represented by

$${\dot \theta _{hi}} = - \gamma {s_i}\xi ({s_i})$$
((31))

which can be written in vector form, i.e.

$$\left[ {\begin{array}{*{20}{l}} {{{\dot \theta }_{h1}}}\\ {{{\dot \theta }_{h2}}}\\ {{{\dot \theta }_{h3}}} \end{array}} \right] = - \gamma \left[ {\begin{array}{*{20}{c}} {\xi ({s_1})}&{}&{}\\ {}&{\xi ({s_2})}&{}\\ {}&{}&{\xi ({s_3})} \end{array}} \right]\left[ {\begin{array}{*{20}{l}} {{s_1}}\\ {{s_2}}\\ {{s_3}} \end{array}} \right]$$
((32))

Then

$$\dot V = \sum\limits_{i = 1}^3 {{s_i}[{d_i} + {h_i}({s_i}\left| {\theta _{hi}^*)] - {s^{\rm{T}}}gs} \right.}$$
((33))

Focusing on the control system, in order to keep its stability, the external disturbance torque should be bounded, i.e. |d i | ≤ |d i | bound , where |d i | bound denotes the bound of the disturbance torque. Considering the ideal parameter of \({\theta _h^*}\) can satisfy

$$\left| {{h_i}({s_i}\left| {\theta _{hi}^*)} \right.} \right| {\text{>}} {\left| {{d_i}} \right|_{bound}}$$
((34))

If s i > 0, then \({h_i}({s_i}\left| {\theta _{hi}^*} \right.) < 0,\,{d_i} + {h_i}({s_i}\left| {\theta _{hi}^*} \right.) < 0\), so

$${s_i}[{d_i} + {h_i}({s_i}\left| {\theta _{hi}^*} \right.)] < 0$$
((35))

If s i < 0, then \({h_i}({s_i}\left| {\theta _{hi}^*} \right.) < 0,\,{d_i} + {h_i}({s_i}\left| {\theta _{hi}^*} \right.) < 0\), so

$${s_i}[{d_i} + {h_i}({s_i}\left| {\theta _{hi}^*} \right.)] < 0$$
((36))

Thus, the following inequality can always be satisfied, i.e.

$${s_i}[{d_i} + {h_i}({s_i}\left| {\theta _{hi}^*} \right.)] \le 0$$
((37))

where the equality hold up if and only if s i = 0.

Therefore

$$\dot V = \sum\limits_{i = 1}^3 {{s_i}[{d_i} + {h_i}({s_i}\left| {\theta _{hi}^*)] - {s^{\rm{T}}}} \right.gs \le 0}$$
((38))

where the equality hold up if and only if s i = 0. The above inequality can prove that the adaptive fuzzy sliding mode controller can achieve control objectives and guarantee boundary of all involved signals in the closed loop system.

According to the stated fuzzy system, the input variables s are defined as: negative big (NB), negative middle (NM), negative small (NS), zero (ZO), positive small (PS), positive middle (PM), and positive big (PB), gaussian membership functions are applied. According to (19) and (21), the singleton fuzzier, product inference engine, and center-average defuzzifier are applied to figure out the output which can be written as follows

$${h_i}({s_i}\left| {{\theta _{hi}})} \right. = \frac{{\sum\limits_{i = 1}^M {\theta _{hi}^l{\mu ^l}({s_i})} }}{{\sum\limits_{i = 1}^M {{\mu ^l}({s_i})} }} = {({\theta _{hi}})^{\rm{T}}}{\xi _{hi}}({s_i})$$
((39))

where μ l(s i ) is the membership function for input variable in the lth rule, M is the number of fuzzy rules. (M = 7), \({\theta _{hi}^l}\) denotes the output of the lth rule. ξ hi (s i ) is the fuzzy basis function which can be given by

$${\xi _{hi}}({s_i}) = \frac{{{\mu ^l}({s_i})}}{{\sum\limits_{i = 1}^M {{\mu ^l}({s_i})} }}$$
((40))

D. Fuzzy control system for switching term

The switching control term is the origin of the heavily chattering phenomena, which can also keep robustness of the system. In order to attenuate the high-frequency chattering phenomena as much as possible, a fuzzy control system is designed to minimize the switching term. Conceptually, in sliding mode control, the equivalent control is described when the state trajectory around s = 0, while the switching control is determined in the case s ≠ 0. Therefore, based on the expert knowledge, three fuzzy logic rules are constructed to smooth the control torque.

Rule 1: If s i is N then μ i is P.

Rule 1: If s i is O then μ i is O.

Rule 1: If s i is P then μ i is P.

where the fuzzy sets N, O and P denote negative, zero and positive, respectively. The parameter μ i is the output of the fuzzy system, therefore, the control law can be described as

$$u = {u_{eq}} + \mu \cdot {u_{sw}}$$
((41))

where μ = diag{μ 1 μ 2 μ 3}. Therefore, if the value of s is zero, then the control law is determined by the equivalent control u eq , and if the value of s is nonzero then the switching component u sw is appended to force the state trajectory move toward the sliding surface. Basically, the chattering phenomena are suppressed by regulating the parameter.

IV. Simulation

In this section, simulation studies are carried out to show the effectiveness of the proposed AFSMC which is applied to the attitude coordinated control of the SFF in leader-follower approach. Considering SFF consists of four spacecrafts, one of them is defined as the leader and the other are regarded as the followers. So the parameter values for the spacecrafts are given as follows

Inertia matrix of the leader

$${J_l} = \left[ {\begin{array}{*{20}{c}} {3.8}&{ - 2.1}&{ - 3.2}\\ { - 2.1}&{4.2}&{ - 1.2}\\ { - 3.2}&{ - 1.2}&{4.0} \end{array}} \right]kg \cdot {m^2}$$

Inertia matrix of the followers

$${J_l} = {J_2} = {J_3} = \left[ {\begin{array}{*{20}{c}} {3.8}&{ - 2.1}&{ - 3.2}\\ { - 2.1}&{4.2}&{ - 1.2}\\ { - 3.2}&{ - 1.2}&{4.0} \end{array}} \right]kg \cdot {m^2}$$

External disturbance torques:

$$d = {10^{ - 3}}\left[ \begin{array}{l} 2(1 + \sin (0.01\pi t))\\ 1 + \cos (0.01\pi t)\\ 3(1 + \sin (0.01\pi t) \end{array} \right]N \cdot m$$

The desired angular velocity is of the form

$${\omega _d} = \left[ \begin{array}{l} 0.1\cos \left( {\frac{t}{{40}}} \right)\\ - 0.1\sin \left( {\frac{t}{{50}}} \right)\\ - 0.1\cos \left( {\frac{t}{{60}}} \right) \end{array} \right]rad/s$$

with the initial attitude Q d = [0.2693 0.1214 0.0842 0.9517]T

The initial attitude states of the satellites are chosen to be the following large values

Q l = [0.8 0.256 -0.346 0.418]T

ω l = [0 0 0]T rad/s

Q 1 = [0.63 0.346 0.368 0.589]T

ω 1 = [0 0 0]T rad/s

Q 2 = [0.71 0.222 -0.321 0.586]T

ω 2 = [0 0 0]T rad/s

Q 3 = [0.68 0.145 0.102 0.711]T

ω 3 = [0 0 0]T rad/s

The parameters of designed controllers for the four spacecrafts are chosen as follows

λ l = λ 1 = λ 2 = λ 3 = diag{0.5,0.5,0.5},

g l = g 1 = g 2 = g 3 = diag{20,20,20},

γ l = γ 1 = γ 2 = γ 3 = 8

The attitude error, angular velocity error of the four spacecrafts are shown in Fig. 1~Fig. 8.

Figure 1.
figure 4

Absolute error quaternions of the leader

Figure 2.
figure 5

Absolute error angular velocity of the leader

Figure 3.
figure 6

Relative error quaternions of the follower 1

Figure 4.
figure 7

Relative error angular velocity of the follower 1

Figure 5.
figure 8

Relative error quaternions of the follower 2

Figure 6.
figure 9

Relative error angular velocity of the follower 2

Figure 7.
figure 10

Relative error quaternions of the follower 3

Figure 8.
figure 11

Relative error angular velocity of the follower 3

It can be observed from Fig. 1 and Fig. 2 that the attitude of the leader can converge to the absolutely desired attitude at around 30s. The process of the convergence is very smooth, with vibration and overshoot effectively suppressed. The attitudes of the three followers all can achieve tracking the attitude of the leader in 30s without steady-state relative attitude errors, as can be seen from Fig. 3 ~ Fig. 8. Thus, simulation results validate the effectiveness of the proposed AFSMC for attitude coordinated control of SFF.

To further proof that AFSMC can effectively attenuate the chattering phenomena, The conventional SMC is constituted to make comparison with AFSMC. The control toques of the two controllers for one of the followers are shown in Fig. 9 and Fig. 10 because of space constraint.

Figure 9.
figure 12

Control torques of the follower 1 (SMC)

Figure 10.
figure 13

Conrol torques of the follower 1 (AFSMC)

It is obviously noted that high-frequency chattering phenomena which may derive bad performance of the system appear in the conventional SMC, while can be effectively suppressed by the employed double fuzzy systems.

In order to demonstrate the robust capability of the proposed scheme to the uncertainties of the satellite inertia matrix and the external disturbance which can heavily affect the spacecraft attitude, simulations are carried out when change happens in the inertia matrix and the external disturbance of spacecraft in the formation. The corresponding results are shown in Fig. 11 ~ Fig. 18.

Figure 11.
figure 14

Absolute error quaternions of the leader

Figure 12.
figure 15

Absolute error angular velocity of the leader

Figure 13.
figure 16

Relative error quaternions of the follower 1

Figure 14.
figure 17

Relative error angular velocity of the follower 1

Figure 15.
figure 18

Relative error quaternions of the follower 2

Figure 16.
figure 19

Relative error angular velocity of the follower 2

Figure 17.
figure 20

Relative error quaternions of the follower 3

Figure 18.
figure 21

Relative error angular velocity of the follower 3

As illustrated in Fig. 11~Fig. 18, it can be clearly observed that AFSMC are insensitive to parametric uncertainties and external disturbances of the spacecraft, which means that the control law can still guarantee strong robustness of the system after the chattering phenomena be suppressed by the proposed double fuzzy systems.

V. Conclustion

In this paper, AFSMC is proposed to achieve attitude coordinated control of SFF under the uncertainties of spacecraft inertia matrix and external disturbances. In this scheme, double fuzzy systems are employed to attenuate the high-frequency chattering phenomena caused by the switching control term. Adaptive fuzzy control is utilized to approximate the sign functions of the switching term with adjusting the adaptive learning parameter online. To further reduce the chattering, fuzzy logic rules are constructed to smooth switching control based on sliding surface. Numerical simulations are performed to validate the effectiveness of the proposed control law in the presence of uncertainties and advantages on attenuating chattering phenomena over the conventional SMC. Simulation results of the control performance demonstrate that each individual spacecraft in the formation converges to the desired attitude and angular velocity

In future work, we will explore the attitude coordinated control with considering the relative attitude error between the followers. Further, a control scheme should be developed for the coordinated control of SFF when angular velocity measurements are not available.