NOMENCLATURE
- J
-
inertia tensor
- qd
-
quaternion of desired attitude
- s
-
sliding surface
- e a
-
reaction wheel’s input voltage
- L a
-
armature inductance
- R a
-
armature resistance
- b
-
viscous friction coefficient
- K b
-
back emf
- K m
-
motor’s torque constant
- J ω
-
moments of inertia of motor load
- K G
-
motor gain
- T m
-
motor time constant
- V
-
Lyapunov function
- ω
-
angular velocity
- ω d
-
desired angular velocity
- θ
-
rotation angle of motor’s shaft
- Ω
-
reaction wheels’ angular velocity
Greek Symbol
1.0 INTRODUCTION
The recent generation of spacecraft require accurate attitude control in spite of various control difficulties. Some of these control difficulties are to overcome inertia uncertainty and variation, external disturbances, and so on. About inertia challenges, on the one hand, it is essential to know exact inertia properties of spacecraft to achieve accurate tracking control; on the other hand, it would be so expensive to obtain highly accurate inertia properties of a spacecraft(Reference Weiss, Kolmanovsky, Bernstein and Sanyal1). In addition, there is a possibility of inertia variation during missions in which variable inertia must be detected online to retain control performance. Also, tracking desired attitude in the presence of disturbances and inheriting high non-linearities in dynamics of the system is one of the important challenges in spacecraft attitude control, especially in non-linear attitude tracking objectives(Reference Wu, Wang and Poh2-Reference Fazlyab, Saberi and Kabganian6). Moreover, in a spacecraft in which reaction wheels are used as the main actuators, it is important to consider the actuators’ dynamics during controller design(Reference Mazinan, Pasand and Soltani7), and the actuator model cannot be ignored in the controller design process(Reference Lu, Xia and Fu8). It can be concluded that the main challenges in the attitude tracking problem are: uncertainties or parameter variations, undesired disturbances, actuator dynamics consideration, and time varying attitude tracking capability. Covering all of these challenges, simultaneously, is so difficult in a mathematical and implementation aspect. Inertia-free attitude tracking is discussed in the literature(Reference Weiss, Kolmanovsky, Bernstein and Sanyal1,Reference Junkins, Akella and Robinett9-Reference Sanyal, Fosbury, Chaturvedi and Bernstein11) , but they either did not consider actuator dynamics(Reference Weiss, Kolmanovsky, Bernstein and Sanyal1) or they considered thrusters as actuators(Reference Junkins, Akella and Robinett9-Reference Sanyal, Fosbury, Chaturvedi and Bernstein11). In addition, to deal with disturbances, it seems necessary to use a robust and variable structure controller like a sliding mode controller and an adaption technique to have adequate robustness and overcome inertia uncertainties, respectively. For industrial purposes, it is worthwhile to develop a controller which is suitable to implement in the practical uses without neglecting significant effects such as non-linearities, uncertainties, higher derivatives of desired attitude (to have perfect tracking), and so on(Reference Lu, Xia and Fu8,Reference Gao and Cai12) . Spacecraft attitude control is investigated in a wide range of the recent researches, but they have not considered some of the significant factors because of complexities which are mentioned above, and besides, they have derived complex control strategies which are difficult to implement in real-time applications. Pukdeboon et al.( 13 ) developed a robust controller for attitude tracking manoeuvres, but during mathematical operations, they supposed that angular velocities of the desired attitude are zero; consequently, they missed full tracking. Yee-Jin Cheon(15) derived a robust sliding mode controller with actuator dynamics, but he omitted time derivatives of the desired quaternions to simplify stability analysis; thus, the designed controller is not applicable for tracking a desired time-varying attitude. Yoonmok Park(16) derived an optimal robust controller for attitude stabilisation and just considered external disturbance. In this paper, in addition to considering complexities such as actuator dynamics, external disturbances, and non-linearities, a novel robust controller is derived in order to overcome the disturbances, uncertainties or unknown inertia effects, while time-varying attitude tracking capability is maintained(Reference Pukdeboon17). To derive the control law, kinematic equations will be represented in quaternion and mathematically treated by quaternion algebra in the general form to deal with perfect equations in which derivative terms will not be neglected because of mathematical complexity. Thus, during the procedure of stability investigation and control effort derivation, some of the quaternion algebra properties are used which will be proved initially. After deriving and proving sliding and sliding-adaptive algorithms, finally, the designed controller performance will be verified by real-time co-simulation and implementation on the AUT 3-DOF attitude simulator(Reference Kabganian, Nabipour and Saberi14) in the presence of external torque disturbances and inertia uncertainties to show tracking capability of the designed controller in contrary with previous works(Reference Wu, Wang and Poh2,Reference Cheon15) . Both simulation and implementation results show a successful tracking of the desired non-linear attitude.
1.1 Mathematical model
The governing dynamic equation of a spacecraft, without considering the actuators dynamics, can be expressed as follows(19):
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqn1.gif?pub-status=live)
where ω shows angular velocity of the spacecraft expressed in the body frame, J is spacecraft inertia tensor, and u is external torque which is included in actuator control torque and disturbances. The [a × ] operator is defined as follows:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqn2.gif?pub-status=live)
1.1.1 Quaternion algebra properties
Before going through the control law derivation, it is necessary to clarify the quaternion algebra properties which will be used in upcoming mathematical calculations.
Proposition 1. In this paper, quaternion is defined as follows:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqn3.gif?pub-status=live)
where the bold letter is used as a vector sign.
Proposition 2. Quaternion multiplication:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqn4.gif?pub-status=live)
where [q 1] M and [q 2] N are called quaternion matrix form.
Proposition 3. The condition in which the quaternion matrix form is negative definite:
if (w < 0) then →
[q] M is Negative Definite Matrix.
Proposition 4. Quaternion inverse that gives the unity property of quaternion.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqn5.gif?pub-status=live)
Proposition 5. Quaternion form of a vector:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqn6.gif?pub-status=live)
where over bar shows quaternion form.
Proposition 6. Quaternion derivative(Reference Park16,Reference Pukdeboon17) :
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqn7.gif?pub-status=live)
Proposition 7. Neutral quaternion in multiplication:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqn8.gif?pub-status=live)
Proposition 8. Quaternion and dot product accompany:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqn9.gif?pub-status=live)
2.0 QUATERNION-BASED KINEMATICS AND ERROR DYNAMICS EQUATIONS
Expressing kinematic equations based on quaternion is useful in some aspects like singularity avoidance or using quaternion algebra to derive control effort, especially while it is necessary to achieve non-linear attitude tracking. To determine error dynamics, it is necessary to express error based on quaternion algebra, it can be shown from the unity property of quaternion algebra that deviation from a desired quaternion (q d ) or error is evaluated as follows(Reference Markley20,Reference Sola21) :
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqn10.gif?pub-status=live)
To derive error dynamics, the time derivative of Equation (10) will be evaluated in a general form as the following equation.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqn11.gif?pub-status=live)
Thus, the control objective is to converge δq to the unit quaternion (±i). This purpose must be satisfied for both constant desired quaternion which is called regulation or time varying and non-linear desired quaternion which is called tracking in literature.
3.0 SLIDING MODE CONTROLLER DESIGN
Sliding mode control is one of the most robust control methods which is convenient for the control procedure dealing with disturbance and uncertainties. Sliding mode controller design inherits two steps, switching surface design and sliding condition design(Reference Crassidis and Markley22). During both of these steps, quaternion algebra is used in mathematical operations.
3.1 Switching surface design
As mentioned in the previous section, the control objective is to converge δq to the unit quaternion (±i). According to this fact, the following change of the variables will be considered:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqn12.gif?pub-status=live)
Therefore, by using this change of variables, q
i
will be used instead of error (δq); therefore, the control objective is to converge q
i
to zero (
${[ {\begin{array}{*{20}{c}}0&0&0&0 \end{array}}]^T}$
).
By considering Equation (12), the error dynamics equation can be rewritten as follows:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqn13.gif?pub-status=live)
where A and B are quaternion.
Now, to stabilise q i around zero, B can be factorised as follows:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqn14.gif?pub-status=live)
By substituting Equation (14) into Equation (13) and using the second property of quaternion algebra, error dynamics in Equation (13) can be expressed in the following form:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqn15.gif?pub-status=live)
Thus, Equation (13) can be represented in a matrix form. The stability of this dynamic around zero would be guaranteed if the [q
A
]
M
matrix is negative definite. According to the third property of quaternion algebra, the matrix form of a quaternion is negative definite if the scalar part of the quaternion (w) is negative. By using this property, to stabilise q
i
about zero, and in other words, to satisfy the control objective, the scalar part of q
A
must be negative (
${\sc {w}_{{{{\bf q}}_A}}} < 0$
).
From Equations (14) and (15), the following equations will be obtained:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqn16.gif?pub-status=live)
According to the last relation of Equation (16), sliding surface will be obtained as follows:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqn17.gif?pub-status=live)
3.2 Stability proof
In this section, the Lyapunov theorem is used to ensure global stability of the sliding surface in Equation (17).
The Lyapunov candidate function will be considered as follows:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqn18.gif?pub-status=live)
According to the Lyapunov theorem, the time derivative of the candidate function must be calculated, which is done in the next equation.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqn19.gif?pub-status=live)
Substituting Equation (17) into Equation (19) leads to the following equations:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqn20.gif?pub-status=live)
As mentioned in Equation (17), the scalar part of q A is negative (w q A < 0), so it can be concluded that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqn21.gif?pub-status=live)
Therefore, according to the Lyapunov stability theorem, the designed sliding surface leads to the global stability of the system. Thus, the control objective will be met by considering the proposed switching surface in Equation (17).
3.3 Sliding condition design
The general form of the sliding surface is as follows:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqn22.gif?pub-status=live)
where, in the present study, the sliding surface is four dimensional.
By calculating the time derivative of the sliding surface to substitute into Equation (22), angular acceleration appears, so there is a need to define the control effort to investigate the sliding condition of Equation (22). Thus, according to the sliding control design procedure(Reference Weiss, Kolmanovsky, Bernstein and Sanyal1), and using the sliding surface of Equation (17), it is obvious that,
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqn23.gif?pub-status=live)
where K and P are diagonal positive definite matrices, and ψ can be obtained as follows:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqn24.gif?pub-status=live)
Substituting Equations (23) and (24) into Equation (23), the control effort will be obtained as follows:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqn25.gif?pub-status=live)
By substituting Equation (24) into Equation (22), it can be concluded that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqn26.gif?pub-status=live)
In the preceding equations, the
${\mathop {\rm sgn}} ( {{w_{{{\bf \delta q}}}}})$
can be replaced with sat(w
δq
) to have smooth control signals.
4.0 ACTUATOR DYNAMICS
In the previous section, due to emphasis on the control effort derivation, the actuator dynamic has not been considered; but as mentioned before, there is an important and significant dynamic for reaction wheels. Thus, in the present section, the control effort derivation method would be applied on overall dynamics of the system (actuator model is considered). As in the present study, actuators are reaction wheels; DC motor dynamics must be studied first. The transfer function between the input voltage (e a ) and motor shaft angle (θ) in the Laplace domain can be given as follows(Reference Cheon15):
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqn27.gif?pub-status=live)
where L a is the armature inductance, R a is armature resistance, b is the viscous friction coefficient, K b and K m are back emf and motor torque constants, respectively, and J w is moment of inertia of motor load.
As armature inductance is small in most cases and can be neglected, this transfer function reduces to the following relation:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqn28.gif?pub-status=live)
where K G and T m are motor gain and time constants, respectively, and these constants are defined as follows(Reference Cheon15):
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqn29.gif?pub-status=live)
The differential equation of a reaction wheel can be expressed as follows(Reference Cheon15):
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqn30.gif?pub-status=live)
Now, by considering the effect of a reaction wheel model, the spacecraft dynamic equation can be obtained as follows:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqn31.gif?pub-status=live)
According to this equation, the applied torque (u) by reaction wheel is given as below:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqn32.gif?pub-status=live)
Thus, the dynamic equation of the overall system (Equation (1)) should be modified as follows:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqn33.gif?pub-status=live)
where u is calculated by using Equation (32).
By using the sliding surface of Equation (17), and the procedure of Equations (23)–(25), control effort (applied torque) is obtained as follows:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqn34.gif?pub-status=live)
Because control effort must be defined as input voltage, by using Equations (33) and (34), control effort as the motor input voltage can be computed as follows:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqn35.gif?pub-status=live)
It is worthwhile to say that stability of the overall system by applying the control effort of Equation (35) is the same as in the previous section.
5.0 ADAPTIVE-SLIDING CONTROLLER DESIGN
Based on the sliding mode controller design, to overcome the inertia variation and uncertainties, and to achieve an inertia-free attitude tracking, in spite of previous advantages, the adaptive-sliding control laws are demonstrated as two theorems. The first one is proved without actuator dynamics and the second control law is derived and proved with actuator dynamics.
Theorem 1.
For the system of Equation (1), by using the sliding surface(s) of Equation (17), the control effort (u) and adaption law for updating unknown inertia (
$\widehat{J}$
) are as follows:
5.0.1 The control law
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqn36.gif?pub-status=live)
5.0.2 The adaption law
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqn37.gif?pub-status=live)
where Γ is a positive definite diagonal matrix, and Y is defined as follows:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqn38.gif?pub-status=live)
5.1 Proof
Consider the system of Equation (1):
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqnU1.gif?pub-status=live)
and the sliding surface of Equation (17):
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqnU2.gif?pub-status=live)
Now, we choose the Lyapunov candidate function as follows:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqnU3.gif?pub-status=live)
Thus, by using the control law of Equation (36), the time derivative of this function is obtained as follows:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqnU4.gif?pub-status=live)
Now, by applying the adaption law of Equation (37), it can be concluded that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqnU5.gif?pub-status=live)
Thus, the stability condition is satisfied and the proof is completed.
Theorem 2. In this theorem, actuators dynamics are considered in the adaptive algorithm. Thus, for the system of Equations (31)–(32), the control effort law and adaption law are obtained as follows:
5.1.1 The control law
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqn39.gif?pub-status=live)
5.1.2 The adaption laws
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqn40.gif?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqn41.gif?pub-status=live)
where Γ and Γ 1 are a 6 × 6 and 4 × 4 positive definite diagonal matrix, respectively, and Y is defined as follows:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqnU6.gif?pub-status=live)
5.1.3 Proof
Consider the system of Equations (31) and (32):
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqnU7.gif?pub-status=live)
and the sliding surface of Equation (17):
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqnU8.gif?pub-status=live)
Now, we choose the Lyapunov candidate function as follows:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqnU9.gif?pub-status=live)
Thus, by using the control law of Equation (39), the time derivative of this function is obtained as follows:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqnU10.gif?pub-status=live)
Now, by applying the adaption law of Equation (40), it can be concluded that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqnU11.gif?pub-status=live)
Thus, the stability condition is satisfied and the proof is completed.
6.0 SIMULATION RESULTS
To verify the controller performance in tracking of a time varying attitude, this controller is applied to a spacecraft with the following initial condition and parameters which are close to a common situation:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqnU12.gif?pub-status=live)
Absolute value of the input voltage is limited to 40 volts, and disturbance is considered as well to investigate the controller robustness. Disturbance is also considered to be as follows:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqnU13.gif?pub-status=live)
In contrary with some of the previous works(Reference Cheon15), the control objective here is not only regulation, and the desired attitude is a non-linear path (trigonometric in simulation) which is defined in the following equation:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqnU14.gif?pub-status=live)
Simulation results of the control procedure with proceeding settings are illustrated in Figs 1–6. The simulation is applied to six different situations to investigate all of the controller capabilities. The differences in these six simulations are: controller type which is separated to pure sliding mode and adaptive-sliding mode, disturbance presence, inertia uncertainty, disturbance adaption-compensation and inertia adaption.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_fig1g.jpeg?pub-status=live)
Figure 1. Simulation results of the pure sliding mode control without disturbance and with known inertia.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_fig2g.jpeg?pub-status=live)
Figure 2. Simulation results of the pure sliding mode control with disturbance and known inertia uncertainty.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_fig3g.jpeg?pub-status=live)
Figure 3. Simulation results of sliding mode control with disturbance adaption and compensation with known inertia.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_fig4g.jpeg?pub-status=live)
Figure 4. Simulation results of pure sliding mode control with unknown inertia and without disturbance.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_fig5g.jpeg?pub-status=live)
Figure 5. Simulation results of adaptive-sliding control with unknown inertia and without disturbance.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_fig6g.jpeg?pub-status=live)
Figure 6. Simulation results of adaptive-sliding control with unknown inertia and with disturbance adaption and compensation.
It can be understood from the simulation results of Fig. 1 that pure sliding mode control law is capable of tracking the desired varying attitude successfully in the absence of disturbance and inertia uncertainties.
Attitude errors and switching surface in Fig. 2 clearly shows the disturbance effects on attitude tracking errors in pure sliding mode control method without disturbance compensation. In Fig. 3, it is illustrated that the undesirable effects of the external disturbances are rejected by disturbance adaption-compensation of the adaption law (Equation (40b)). The inertia-free capability of the adaptive-sliding algorithm is shown in the simulations with results which are depicted in Figs 4 and 5. In Fig. 4, the sliding mode controller is not able to control a system with unknown inertia, while in Fig. 5, the adaptive-sliding controller is successful to satisfy the same objective in the same condition.
Finally, during the last simulation, the functionality of the complete adaptive-sliding controller is investigated to track non-linear attitude in the presence of disturbance and unknown inertia properties. The results are verification of the mathematical proofs of the designed control and adaption laws. As it is obvious in Figs 1–6, the designed controller is capable of tracking a non-linear or time varying attitude in the presence of disturbance and unknown inertia by using control efforts which are applicable to common instruments. It is worthwhile to mention that in all the simulations, control efforts are limited to a reasonable saturation which is common in DC motors.
7.0 VALIDATING BY ADAMS-SIMULINK CO-SIMULATION
In order to validate the designed controller performance, the control plant is modelled and simulated dynamically in ADAMS software which is running in a separate environment from the software in which the designed control law is applied and run simultaneously (Matlab/Simulink). The control plant in the validation procedure is a dumbbell shape simulator which is used to attitude determination and control tests frequently(Reference Kabganian, Nabipour and Saberi14). Since the controlling actuators in control design are reaction wheel, three reaction wheels are modelled on the dumbbell shape attitude determination and control system simulator. The geometry and assembling of the whole model of the simulator is design by CATIA V5 then is imported to the ADAMS software environment. The modelled simulator is shown in Fig. 7 in both software environments. After defining the joints, constrains, sensors and actuators, the dynamic model is exported to use for co-simulating in the Simulink environment. The co-simulation scheme is illustrated in Fig. 7. In addition to simulating the controlling plant in a different software environment, the plant’s physical properties are chosen differently from the previous part’s simulation in order to ensure that the designed controller is applicable for a wide range of physical properties like mass, dimension, mass moment inertia tensor, and so on. Thus, these different properties are considered as follows:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_eqnU15.gif?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_fig7g.jpeg?pub-status=live)
Figure 7. Validation procedure using ADAMS-Simulink Co-simulation.
The desired non-linear attitude and disturbances are also considered the same as the previous simulation, but again, to show applicability of the designed controller, for desired attitude, all three paths are expressed in cosines here in order to have more initial deviation from desired magnitude. After extracting the co-simulation results in either involved software environments, it can be concluded that the control objective is satisfied as well as the previous case. In Fig. 8, it is obvious that after almost 15 seconds, the simulator attitude is approached to the desired attitude. Along with acceptable rise time, settling time, and overshoot, input voltage plot in Fig. 8 shows that the saturated control effort (voltage) is smooth enough without high-frequency sudden changes, which make it more applicable by a simple DC motor driver.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_fig8g.jpeg?pub-status=live)
Figure 8. ADAMS-Simulink co-simulation results.
8.0 IMPLEMENTATION ON THE AUT 3-DOF ATTITUDE SIMULATOR
In this section, the control algorithm performance and accuracy has been investigated by the actual testbed which is the most valid procedure. This testbed here is the AUT 3-DOF attitude simulator which is a dumbbell shape ground attitude simulator around three axes. In order to understand the implementation procedure, it is required to review the AUT simulator features concisely.
8.1 The AUT attitude simulator
The AUT attitude simulator is of the dumbbell shape ground simulators which initially developed in 2010. This attitude simulator has been used for one or two axes manoeuvres in some previous studies(Reference Kabganian, Nabipour and Saberi14) in which simulator components and technical specifications are widely discussed. The AUT simulator performance was not ideal and it was faced with some important defects such as, third axis malfunction, low accuracy for regulation in the other two axes, lack of accurate time varying tracking, torque control (which causes an inner control loop to provide required voltage from calculated control effort), and lack of reaction wheels velocity feedback for use in the control algorithm. Thus, in order to overcome these drawbacks and have a more complete and perfect attitude simulator, some extra instruments and specifications are added to the AUT simulator which are listed in Fig. 9. New drivers are much more accurate relative to previous drivers. The input signal to the drivers is a voltage which is transferred through serial protocols. As is illustrated in Fig. 11, motor drivers and reaction wheels are maintained in the same side, and because each Sabertooth driver is able to drive two separate DC motors, one driving channel is free (to have four actuator simulators in case of use). The performing diagram of the AUT attitude simulator with all components is shown in Fig. 11.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_fig9g.jpeg?pub-status=live)
Figure 9. Complementary features applied to AUT attitude simulator.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_fig10g.jpeg?pub-status=live)
Figure 10. Implementation procedure in AUT 3-DOF attitude simulator.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_fig11g.jpeg?pub-status=live)
Figure 11. AUT attitude 3-DOF simulator.
8.2 Implementation results
Non-linear regulation and tracking is implemented on an actual simulator to investigate algorithm performance, which is the same as in section 7. The desired attitude (Euler angles) and control algorithms are developed in personal computer (the same as in Ref. 14). Sensor data are imported and control effort signals are transferred by using serial ports. The implementation is illustrated in Figs 12 and 13. As it is obvious from the results, the control objective is satisfied by reasonable and applicable control effort (voltage). In addition, the oscillations in Figs 12 and 13 are because of the sat function inherit feature. However, these oscillations are considerably small relative to the sign function, but this property is because of an oscillation about the origin. About undesirable peaks which rarely emerged in results, like a peak around 12 sec in Fig. 13, it should be mentioned that rotary encoders, which are used in the AUT simulator, randomly give a large exaggerated signal. However, this signal is filtered but rarely affects the control effort signal and causes some peaks in the error signal or switching surface magnitude, as shown in Fig. 13.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_fig12g.jpeg?pub-status=live)
Figure 12. Pure SMC implementation on AUT attitude simulator.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_fig13g.jpeg?pub-status=live)
Figure 13. Adaptive-SMC implementation on AUT attitude simulator.
In order to compare the performance of the SMC and adaptive-sliding control algorithms, the Root Mean Square (RMS) values of attitude tracking error for 12 tests of non-linear attitude tracking are listed in Table 1. According to these values, it is clear that simulation error values are almost 10 times smaller than implementation results, which are caused by gimbal disturbance. An important conclusion which can be obtained from this comparison is the better performance of adaptive-sliding algorithms against SMC algorithms in all three axes, in both simulation and implementation results. The RMS values of attitude errors show almost 2 times smaller error for the adaptive-sliding algorithm in simulation and three to five times improvement for the adaptive-sliding algorithm in implementation. According to these results, the adaptive-sliding algorithm performance is successfully improved in comparison with the pure SMC algorithm.
Table 1. Non-linear attitude tracking error (RMS) comparison in the presence of external disturbance and inertia uncertainty
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20171221090506620-0429:S0001924017001221:S0001924017001221_tab1.gif?pub-status=live)
9.0 CONCLUSION
The designing and implementation of a comprehensive control algorithm to track a desired time varying attitude of a satellite, in the presence of external disturbances and unknown inertia properties, in spite of simplicity in order to be more applicable in real-time implementation, is one of the most challenging areas in literature. In this investigation, initially, a novel adaptive-sliding controller was developed using the quaternion approach. This control effort term was obtained and proved using the Lyapunov stability theorem. In order to investigate the performance of a derived controller, a simulation strategy was designed to compare situations in which the adaptive-sliding controller is applied or is not applied. The external torque disturbance in the simulation section is considered to be in order of 0.03 and harmonic. According to the simulation results, the adaptive-sliding controller is significantly able to overcome the inertia uncertainties 10 to 20 times different from actual magnitudes relative to acceptable common controllers. Results show that the average error percentage in four different situations of regulation task, simple non-linear attitude tracking, non-linear attitude tracking with and without disturbance and inertia uncertainties is almost the same and in order of 0.20%, while in common algorithms this error gets worse. The designed adaptive-sliding controller leads to effective consequences in both regulation and tracking control tasks. In addition to effective control results, using a mathematical approach facilitates controller designers a wide range of control problems which suffer from complicated mathematical operations. In the present study, this method was successful to overcome these challenges in the control of non-linear attitude tracking of a spacecraft system, in spite of implementation simplicity.